[发明专利]一种Linux下的自适应组件间通信方法有效
申请号: | 201310714380.0 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103699450B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 莫展鹏;杨松;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/44 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙)11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 自适应 组件 通信 方法 | ||
技术领域
本发明涉及分布式环境下网络通信技术领域,特别是一种Linux下的自适应组件间通信方法。
背景技术
在分布式环境下,特别是在云计算的环境下,由于网络上需要通信的组件非常多,通信数据量大,因此如何减少网络开销,增强通信的实时性就显得尤为重要。由于Web Service协议具有使用方便的优势,http协议具有可以穿透防火墙优势,因此,分布式通信中经常采用Web Service on http的模式进行组件间的通信,然而,在通信频繁、通信数据量大的情况下,使用这种方式会带来以下的问题:
一是消息的冗余大,Web Service采用的XML消息格式,通信时消息的真实载荷比较小,这就表示,传递同样信息量,Web Service承载信息的所需要消息量比较大,在带宽一定的条件下,通信的实时性会打折扣;
二是系统开销大,http的“请求里响应”模式每次都会新建和销毁连接,给操作系统带来较大的开销,在组件间通信比较频繁的情况下,这会严重影响操作系统的性能,进而影响整个分布式应用的性能,降低通信的实时性;
三是使用方式不够灵活,由于http协议规定只能由客户端向服务器发起连接进行通信,不能反过来,因此如果需要双方都能发起通信,需要在通信的双 方都拥有服务器和客户端的程序。
发明内容
本发明解决的技术问题在于提供一种Linux下的自适应组件间通信方法,解决了在组件通信频繁、通信量大的分布式环境下通信效率低、开销大、实时性低的问题。
本发明解决上述技术问题的技术方案是:
包括如下步骤:
步骤1:在通信主机上开发一个服务程序,此主机上的分布式组件全部调用此服务进行通信;
步骤2:需要通信的主机由服务程序两两之间建立单向长连接;
步骤3:主机上的分布式组件启动以后,向服务程序发送一个启动的消息,服务程序通过所有的单向长连接向其他主机的服务程序发送这个启动的消息,并且接收其他服务程序发送过来的启动消息,从而形成一个组件的地址列表;
步骤4:分布式组件需要向其他组件发送消息时,服务程序先把消息封装成JSON格式,并向服务程序提供目标组件的名称;
步骤5:服务程序从维护的组件地址列表中根据目标组件的名称查找到组件的地址,如果组件是在同一台主机上,则通过Linux的本地socket直接发到目标组件;如果组件是在另外一台主机上,则通过此主机与另外一台主机建立的单向长连接发送到另外一台主机上,再由另外一台主机的服务程序将消息发送到目标组件上;
步骤6:主机上的组件停止时,向服务程序发送一个停止的消息,服务程序通过所有的单向长连接向其他主机上的服务程序发送这个停止消息,并且从组 件地址列表中删除此组件的信息,其他主机上的服务程序也从组件地址列表中删除此组件的信息。
所述的分布式组件是一个独立运行的进程,通过与其他分布式组件交换消息来获取输入并将输出发送到其他分布式组件上;
所述的服务程序是Linux的一个自启动的服务进程;
所述的分布式组件和服务程序都在同一台主机上,分布式组件与服务程序之间使用Linux的管道方式进行通信。
所述的组件的地址列表中的项目包括组件的名称和组件所在主机的地址。
所述的自适应表示的是服务程序的自适应,会根据目标组件的地址自动选择是从本地socket还是从单向长连接发送消息。
所述的JSON消息格式如下:
采用本发明的方法进行Linux下的自适应组件间通信,组件通信次数少、通信量小,从而有效提高了通信效率、降低了开销、提升了实时性。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的一个具体的部署图。
具体实施方式
如图所示,本发明Linux下的自适应组件间通信方法包括如下步骤:
步骤1:在通信主机上开发一个服务程序,此主机上的分布式组件全部调用此服务进行通信;
步骤2:需要通信的主机由服务程序两两之间建立单向长连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310714380.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于移动的美腿机
- 下一篇:一种电热敷理疗袋