[发明专利]一种分布式环境下网络数据通信的数据包分拣方法在审
申请号: | 201310337617.8 | 申请日: | 2013-08-05 |
公开(公告)号: | CN103414538A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 熊梦;唐皓;杨松;莫展鹏;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L12/701 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 环境 网络 数据通信 数据包 分拣 方法 | ||
技术领域
本发明涉及网络数据通信技术领域,特别是一种分布式环境下网络数据通信的数据包分拣方法。
背景技术
分布式环境下尤其是云计算体系架构中,节点之间的网络数据通信非常频繁,并且通信的数据上也有一定的字典性(即一个关键字对应一个值,如“instanceId:i-AD3486EF”),如何在保证数据完整的同时提供高效的数据包分拣方法已变得越来越重要。而如今越来越多的开源云计算解决方案中各个节点的网络数据通信机制封装透明的提供给用户使用,这种方式使用简单,但同时会带来以下问题:
一是可控性差,不能满足于商业云平台通信需求。商业云平台如果采用开源的透明的网络数据通信方式实现节点间通信已满足不了自主可控的要求;
二是通信数据包量大、质低,现有云平台采用的开源云计算解决方案的网络数据通信形式,节点之间每一次功能需求都必须创建一个到多个数据包,而无法实现将多个功能的相关参数信息共用到一个通信数据包中;
三是数据包分拣不够高效;
四是数据完整性不能保证,采用开源的云计算解决方案网络通信方式不能自己控制数据包的完整性。
为了实现商业云平台充分自主可控,同时满足各个节点之间频繁而快速的网络数据通信需求,需要一种高效的数据包分拣方法。
发明内容
本发明解决的技术问题在于提供了一种分布式环境下网络数据通信的数据包分拣方法,解决云计算解决方案中为了实现节点之间频繁的功能要求需要发送大量单一功能数据包且在数据包分拣过程中存在的高消耗低效率的问题。
本发明解决上述技术问题的技术方案是:包括如下步骤:
步骤1:通信数据发送端利用“Json写对象”将通信数据表示成Json数据格式的通信字符串,即包体;
步骤2:在包体的开始部分和结尾部分分别添加上自定义的包头信息和包尾信息;
步骤3:在包头信息后面添加一个固定字节大小的包体长度信息字段形成最终的通信数据包;
步骤4:将通信数据包通过网络控制进行传递转发,最终到达目的节点;
步骤5:在进行数据包解析过程中,首先利用自定义的包头信息和包尾信息判断数据包是否完整;
步骤6:对于完整的数据包,接着读取包头信息后面的包体数据长度信息;
步骤7:使用得到的包体长度值直接读取该大小的通信字符串;
步骤8:最后采用“Json读对象”将读取到的通信字符串解析成具体的业务逻辑数据,并进行相关的业务逻辑处理。
在所述的步骤5进行数据包完整性判断后,直接读取包头包尾中间的包体部分,以便进行数据包中包体部分的完整性校验。
所述的“Json写对象”是指在在具体代码实现上采用了C++版Json的Json::FastWriter对象,利用该对象将通信数据快速高效的表示成Json格式的字符串;所述的“Json读对象”是指在具体代码实现上采用了C++版Json的Json::Reader对象,利用该对象将包体Json格式的数据字符串快速高效的读取出来。
所述的包头信息和包尾信息是两个特定的自定义字符串,包头信息为“GTSTART”,包尾为“GTEND”;利用自定义的包头包尾信息判断数据包是否完整是指对于获取到的数据包,判断包头是否为自定义标识“GTSTART”,包尾是否为“GTEND”。
所述的包体长度信息字段是指使用4个字节来确定封包过程中包体的数据量大小;
所述包体长度信息是指从固定4个字节里读取到的发包方设置的包体大小值,所述发包方是指在网络数据通信中发送数据包的一方;
所述的包体完整性校验是指直接读取包头,然后计算包体得大小与设定的4字节包头大小值进行比较,用以验证数据包包体是否完整。
所述的网络控制是指在特定环境下通信数据包根据网络socket文件描述符进行路由选择的过程;所述网络socket文件描述符是指网络通信中节点间建立连接后用于数据传送的一种网络标识。
本发明采用Json格式字符串,充分利用Json在数据处理方面的优势,达到云计算解决方案环境下的高效分拣。本发明采用自定义数据包格式,实现数据包和包体两重完整性的保障,尤其是4个字节包体大小的字段来充分保证了数据包的完整性。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的一个具体实例示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310337617.8/2.html,转载请声明来源钻瓜专利网。