[发明专利]插件间的报文传递方法及装置、代理插件有效
申请号: | 201210504699.6 | 申请日: | 2012-11-30 |
公开(公告)号: | CN103856396B | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 张新平 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/70 | 分类号: | H04L12/70 |
代理公司: | 北京银龙知识产权代理有限公司11243 | 代理人: | 许静,黄灿 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 插件 报文 传递 方法 装置 代理 | ||
技术领域
本发明涉及通信领域,特别是指一种插件间的报文传递方法及装置、代理插件。
背景技术
在大型软件开发中,为了方便对软件进行功能扩展,实现模块内高内聚,模块间低耦合的特性,实现发布软件功能的可定制性,往往采用插件式开发,将一个个功能封装在插件中实现,插件可以通过其id查找,插件对应的二进制实体可能是动态链接库和jar包等,往往这些插件可能会有多种类型,即遵循的插件接口不一样,而为了处理上的方便,这些不同的接口可以派生于同一个基础接口。一个系统往往包括多个进程,每个进程中又含有多个插件,这些插件在进程内可能成树形管理部署,任何两个插件间可能会有报文传递,在传递过程中可能会涉及多个别的中间插件,从调用关系看是一个有向网。一般的报文有报文头和报文体,报文头是含命令的通用信息,如含有命令码(或者命令串)、序列号、类型(区分请求、应答、通知等报文类型)、方向(从客户端到服务器的方向称为下,从服务器到客户端方向称为上)等信息。报文体是命令对应的具体信息。
在综合型的网管中要管理各种专业网产品,而每种专业网产品拥有很多种设备。而各专业网有自己的特性,不同设备之间存在差异。网管往往采用C/S结构,Server侧根据专业网和功能分为多个进程、分布式管理。每个进程内含有功能各异的插件,各插件呈树形方式管理。不同的插件间存在进程内或跨进程的交互。
传统的插件接口如果进程内和进程间是统一的,则由于进程间需要通过socket等形式传递,必须先编码成码流,才能在两个插件间传递,接收插件接收到码流,再解码处理,无法直接传递结构,统一的接口形式要求进程内两个插件报文传递也需要编码和解码过程,从而导致报文传输效率较低。
发明内容
本发明要解决的技术问题是提供一种插件间的报文传递方法及装置、代理插件,能够提高插件间的报文传输效率。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种插件间的报文传递方法,包括:
报文传递装置接收第一插件发送的请求调用第二插件的消息;
所述报文传递装置将所述第二插件信息返回给所述第一插件,以便所述第一插件调用所述第二插件。
进一步地,上述方案中,所述报文传递装置将所述第二插件信息返回给所述第一插件包括:
所述报文传递装置确定所述第二插件对应的代理插件;
所述报文传递装置将所述代理插件返回给所述第一插件,以便所述第一插件通过所述代理插件调用所述第二插件。
进一步地,上述方案中,所述报文传递装置确定对应所述第二插件对应的代理插件包括:
所述报文传递装置判断所述第二插件与所述第一插件是否属于同一进程;
在所述第二插件与所述第一插件属于同一进程时,所述报文传递装置创建一本地代理插件作为所述第二插件的代理插件;
在所述第二插件与所述第一插件不属于同一进程时,所述报文传递装置确定所述第二插件所属的进程,并创建一远程代理插件作为所述第二插件的代理插件。
本发明实施例还提供了一种插件间的报文传递方法,包括:
代理插件接收第一插件发送的请求报文,所述请求报文请求获取第二插件数据;
所述代理插件将所述请求报文发送给所述第二插件,并接收所述第二插件返回的携带有应答数据的响应报文;
所述代理插件将所述响应报文返回给所述第一插件,以便所述第一插件对所述响应报文解析得到应答数据。
进一步地,上述方案中,所述请求报文为采用函数virtual CMsgAny*Get(CMsgAny & anymsg,CMsgHead& headinfo)或virtual void Set(CMsgAny &anymsg,CMsgHead & headinfo),其中参数anymsg为报文体,参数headinfo为报文头信息;
CMsgAny包括两个字段,一为报文码流指针字段anyBuf,另一个为报文结构指针字段value。
进一步地,上述方案中,在所述第二插件与所述第一插件属于同一进程时,所述代理插件将所述请求报文发送给所述第二插件包括:
所述代理插件不对所述请求报文进行编码,直接将所述请求报文发送给所述第二插件;
所述代理插件将所述响应报文返回给所述第一插件包括:
所述代理插件不对所述响应报文进行编码,直接将所述响应报文发送给所述第一插件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210504699.6/2.html,转载请声明来源钻瓜专利网。