发明名称 一种Linux下的自适应组件间通信方法
摘要 本发明涉及分布式环境下网络通信技术领域,特别是一种Linux下的自适应组件间通信方法。本发明通过通信主机上的服务程序建立两两之间的单向长连接;在分布式组件启动后,形成一个组件的地址列表;通信时,消息被封装成JSON格式,根据地址列表查找到地址,根据位置关系通过Linux的本地socket直接发或建立的单向长连接发送到目标组件;组件停止时,从组件地址列表中删除此组件的信息。本发明解决了在组件通信频繁、通信量大的分布式环境下通信效率低、开销大、实时性低的问题,可应用于分布式应用中各个组件之间的通信上。
申请公布号 CN103699450A 申请公布日期 2014.04.02
申请号 CN201310714380.0 申请日期 2013.12.20
申请人 国云科技股份有限公司 发明人 莫展鹏;杨松;季统凯
分类号 G06F9/54(2006.01)I;G06F9/44(2006.01)I 主分类号 G06F9/54(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤
主权项 一种Linux下的自适应组件间通信方法,其特征在于: 包括如下步骤: 步骤1:在通信主机上开发一个服务程序,此主机上的分布式组件全部调用此服务进行通信; 步骤2:需要通信的主机由服务程序两两之间建立单向长连接; 步骤3:主机上的分布式组件启动以后,向服务程序发送一个启动的消息,服务程序通过所有的单向长连接向其他主机的服务程序发送这个启动的消息,并且接收其他服务程序发送过来的启动消息,从而形成一个组件的地址列表; 步骤4:分布式组件需要向其他组件发送消息时,服务程序先把消息封装成JSON格式,并向服务程序提供目标组件的名称; 步骤5:服务程序从维护的组件地址列表中根据目标组件的名称查找到组件的地址,如果组件是在同一台主机上,则通过Linux的本地socket直接发到目标组件;如果组件是在另外一台主机上,则通过此主机与另外一台主机建立的单向长连接发送到另外一台主机上,再由另外一台主机的服务程序将消息发送到目标组件上; 步骤6:主机上的组件停止时,向服务程序发送一个停止的消息,服务程序通过所有的单向长连接向其他主机上的服务程序发送这个停止消息,并且从组件地址列表中删除此组件的信息,其他主机上的服务程序也从组件地址列表中删除此组件的信息。
地址 523808 广东省东莞市松山湖科技产业园区松科苑14号楼