数据接收方法与流程

文档序号:29857402发布日期:2022-04-30 09:45阅读:来源:国知局

技术特征:
1.数据接收方法,其特征在于,包括如下步骤:步骤1.基于数据类型配置对应的解析模块,并设置包头解析模板;步骤2.接收数据并进行特征提取,并判断提取出的数据特征是否可识别,若可识别,则进入步骤3,否则丢弃当前数据,并结束;步骤3.基于包头解析模板解析包头,并根据已解析的包头内容判断数据是否需要组包,若需要组包,若需要组包,则进入步骤4,否则直接将数据推送至外部;步骤4.根据提取出的数据特征查找对应的解析模块,并基于数据类型调用对应的解析模块解析数据;步骤5.根据数据头部中的数据标识字段将解析的数据分别存储到不同的缓存;步骤6.对缓存中的数据地址进行排序;步骤7.判断是否已完成数据包内容的接收,当完成时对已接收的数据进行组包,并将组包后的数据推送至外部,并销毁缓存。2.根据权利要求1所述的数据接收方法,其特征在于,步骤2中,通过配置的特征字段所在数据的偏移位置和所占字节数进行特征提取。3.根据权利要求1所述的数据接收方法,其特征在于,步骤2中,若提取出的数据特征不可识别,在丢弃当前数据的同时,进行日志报错。4.根据权利要求1所述的数据接收方法,其特征在于,步骤3中,所述基于包头解析模板解析包头具体为:按包头解析模板的参数设置内容的字段字节数和字段所处的偏移位置对数据包包头携带的信息进行解析,获取数据标识、打包数量、包头长度及当前包号的包头内容。5.根据权利要求4所述的数据接收方法,其特征在于,步骤3中,所述根据已解析的包头内容判断数据是否需要组包时,当打包数量和当前包号均等于1时,标识此原始数据包在发送侧未进行拆包处理,并直接将该数据推送至外部。6.根据权利要求1所述的数据接收方法,其特征在于,步骤4中,所述根据提取出的数据特征查找对应的解析模块时,根据判断出的数据特征,查找对应的解析模块,如果没有,则丢弃数据,进行日志报错,并从代码层面增加当前场景下的解析模块。7.根据权利要求1所述的数据接收方法,其特征在于,步骤5中,所述根据数据头部中的数据标识字段将解析的数据分别存储到不同的缓存,具体为:根据数据标识在数据接收缓存队列搜索,确定此包是否是接收的第一包数据,当是第一包时,需重新分配缓存队列,并将接收数据拷贝至已分配的缓存队列;当不是第一包时,寻找对应的缓存队列,并将接收数据拷贝至对应的缓存队列中。8.根据权利要求1所述的数据接收方法,其特征在于,步骤6中,所述对缓存中的数据地址进行排序,具体为:对于接收到的数据,获取头部字段中的数据标识,找到对应数据标识的有序队列;再获取头部字段中的当前序号字段,在有序队列中查找数据,找到比当前序号小的位置,插入数据地址到有序队列;如果没有找到,则说明所有数据都比当前数据要小,则将数据地址插入到有序队列尾部。9.根据权利要求8所述的数据接收方法,其特征在于,步骤7中,所述判断是否已完成数
据包内容的接收时,当对应某一数据标识的有序队列中,当缓存的包数小于打包数量时,表示数据未接收完成,继续等待数据接收;当缓存的包数等于打包数量时,表示数据已接收完成。10.根据权利要求9所述的数据接收方法,其特征在于,步骤7中,所述对已接收的数据进行组包,具体为:基于数据包包头的当前包号字段,将有序队列中的数据依次取出,拼接到缓存中;所述拼接过程为:每次拷贝数据前,记录之前已经拷贝数据的长度,按照长度偏移后拷贝数据,同时更新已经拷贝数据长度。

技术总结
本发明涉及数据接收领域,提出一种数据接收方法,包括:基于数据类型配置对应的解析模块,并设置包头解析模板;接收数据并进行特征提取,并判断提取出的数据特征是否可识别,若不可识别则丢弃当前数据并结束,若可识别,则基于包头解析模板解析包头,并根据已解析的包头内容判断数据是否需要组包,若不需要则直接将数据推送至外部,否则根据提取出的数据特征查找对应的解析模块,并基于数据类型调用对应的解析模块解析数据;根据数据头部中的数据标识字段将解析的数据分别存储到不同的缓存;对缓存中的数据地址进行排序;判断是否已完成数据包内容的接收,当完成时对已接收的数据进行组包,并将组包后的数据推送至外部,并销毁缓存。存。存。


技术研发人员:郭耀川 王圣川 张俊 宋前双 韩晓博 邹泽麟
受保护的技术使用者:电信科学技术第五研究所有限公司
技术研发日:2022.01.25
技术公布日:2022/4/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1