[发明专利]一种数据传输解析方法与装置在审
申请号: | 201510887897.9 | 申请日: | 2015-12-05 |
公开(公告)号: | CN105549900A | 公开(公告)日: | 2016-05-04 |
发明(设计)人: | 张衡 | 申请(专利权)人: | 中国航空工业集团公司洛阳电光设备研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 郑州睿信知识产权代理有限公司 41119 | 代理人: | 陈浩 |
地址: | 471009 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 解析 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种不限大小端模式的数据传输通用解析方法。
背景技术
在不同的操作平台中,数据最底层存储(二进制方式)的模式并不相同,分为大端模式和小端模式,所谓大端模式是指在一个需要存储的数据中,该数据的低位(即权值较小的后面几位)保存在内存中相应存储位置的高地址中,而数据的高位,则保存在内存中相应存储位置的低地址中。如:一个4字节32位变量的16进制值为0x12345678,在内存中以大端模式存储的方式如表1所示:
表1
所谓小端模式,与大端模式恰恰相反,在一个需要存储的数据中,该数据的低位保存在内存中相应存储位置的低地址中,而数据的高位,则存储在内存中相应存储位置的高地址中。如:一个4字节32位变量的16进制值为0x12345678,在内存中以小端模式存储的方式如表2所示:
表2
数据在跨平台通信时,在传统数据通信领域,由于两个平台中数据最底层存储的大小端模式并不匹配,从发送端到接收端解析数据就造成很大麻烦,需要进行数据大小端匹配调整再经过移位操作进行数据还原,如果传输数据中还存在多包头数据段定义,则需要重复进行多次大小端数据匹配和数据移位操作。比如:
一个以大端模式存储的系统发送4字节数据通过TCP/IP协议到一个以小端模式存储的系统中,则需要如下解析:
Unsignedchar**p;//数据读取内存指针
UnsignedintRecvData;//接收端定义变量
*p=0x4000;
RecvData=*[*p]*0x1000000+*[*p+1]*0x10000+*[*p+2]*0x100+*[*p+3];
如果一个以小端模式存储的系统发送4字节数据通过TCP/IP协议到一个以小端模式存储的系统中,则需要如下解析:
RecvData=*[*p|+3]*0x1000000+*[*p+2]*0x10000+*[*p+1]*0x100+*[*p];
这只是4个字节单变量数据的解析,如果发的是多字节或者不定长字节多变量多包头的二进制数据,这个解析是灾难性的。因此,亟需一种更优的技术方案来解决这一技术问题。
发明内容
本发明的目的是提供一种数据传输解析方法,用以解决现有数据传输解析方法中数据处理复杂、耗费CPU资源多、人工解析出错概率大的问题。
为实现上述目的,本发明的方案包括:
一种数据传输解析方法,包括如下步骤:
步骤1):定义发送端需要发送的数据量并赋值,同时定义和设置发送端的结构体对象;
步骤2):定义接收端的结构体对象;
步骤3):进行数据传输,将发送端结构体对象所发送的每个子项数据解析到接收端结构体对象的每个子项中。
进一步的,所述发送端的数据存储模式是小端存储模式或大端存储模式,所述接收端的数据存储模式是大端存储模式或小端存储模式。
进一步的,所述发送端与接收端的通信采用Socket函数进行通信。
一种数据传输解析装置,其特征在于,包括如下模块:
模块1:用于定义发送端需要发送的数据量并赋值,同时定义和设置发送端的结构体变量;
模块2:用于定义接收端的结构体变量;
模块3:用于进行数据传输,将发送端结构体对象所发送的每个子项数据解析到接收端结构体对象的每个子项中。
进一步的,所述发送端的数据存储模式是小端存储模式或大端存储模式,所述接收端的数据存储模式是大端存储模式或小端存储模式。
进一步的,所述发送端与接收端的通信采用Socket函数进行通信。
本方法通过发送端与接收端利用匹配数据结构体对象指针对接,不用进行大小端模式匹配和移位操作进行数据还原,直接通过结构体对象指针接收,让系统内部定义的结构体子项进行自动对应达到数据自动还原的目的。这样通过结构体对象的子项自动对应达到数据自动还原的方式,能够避免人工解析时出错概率高的问题,同时占用的CPU资源较少,而且不需要对数据进行逐一的解析,有效的减少了数据处理的复杂程度,提高了数据传输时进行数据解析的效率。
具体实施方式
下面对本发明做进一步详细的说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司洛阳电光设备研究所,未经中国航空工业集团公司洛阳电光设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510887897.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:RAID磁盘阵列重新恢复冗余的方法
- 下一篇:操作控制的方法及装置