CN104113390A - 一种移动网络数据序列化方法 - Google Patents
一种移动网络数据序列化方法 Download PDFInfo
- Publication number
- CN104113390A CN104113390A CN201410279907.6A CN201410279907A CN104113390A CN 104113390 A CN104113390 A CN 104113390A CN 201410279907 A CN201410279907 A CN 201410279907A CN 104113390 A CN104113390 A CN 104113390A
- Authority
- CN
- China
- Prior art keywords
- data
- data item
- message
- carried out
- carrying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种移动网络数据序列化方法,其特征在于,包括:对移动网络数据进行定义数据包数据项,定义数据项的数据类型、长度;对数据项进行序列化处理;对数据项进行null bitmap映射操作;对有符号整型数据项进行varint编码;对无符号整型数据项进行zigzag编码;对消息头进行封装处理,对消息记录进行CRC16容错校验操作;把消息记录的CRC16容错校验码、消息记录序列号、消息记录命令字、消息长度数据项进行消息头封装处理;将序列化完成的消息数据传输到网络对端;对数据项进行反序列化操作。通过本方法可以使数据包更小、解析速度更快、兼容性更强、安全性更高。
Description
技术领域
本发明涉及网络数据处理领域,具体是一种移动网络数据序列化方法。
背景技术
序列化是将数据对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为数据对象。这两个过程结合起来,可以轻松地存储和传输数据。
今天,移动互联网迅猛发展,信息交互终端由以前的单一PC终端发展为手机,PAD,PC等多终端载体,各终端的系统标准,终端的硬件及其运算能力差异巨大,再加上复杂的互联网和移动互联网,使情况变得更为复杂。在移动终端上网络数据交互过程中变得吃力缓慢。
为了适应各种复杂情况的网络传输,我们提出一种快速微小的网络数据系列化的方法,针对性解决在移动终端上的数据序列化操作。
不难看出,现有技术还存在一定的缺陷。
发明内容
本发明所要解决的技术问题是提供一种数据包更小、解析速度更快、兼容性更强、安全性更高的移动网络数据序列化方法。
为达到上述目的,本发明提供如下的技术方案:
一种移动网络数据序列化方法,包括:
对移动网络数据进行定义数据包数据项,定义数据项的数据类型、长度;
对数据项进行序列化处理;
对数据项进行null bitmap映射操作;
对有符号整型数据项进行varint编码;对无符号整型数据项进行zigzag编码;
对消息头进行封装处理,对消息记录进行CRC16容错校验操作;
把消息记录的CRC16容错校验码、消息记录序列号、消息记录命令字、消息长度数据项进行消息头封装处理;
将序列化完成的消息数据传输到网络对端;
对数据项进行反序列化操作。
进一步的,所述数据类型包括整型数据和字符数据:
所述整型数据包括:
8位、16位、32位和64位有符号整型类型;8位、16位、32位和64位无符号整型类型;
所述字符数据包括:
字符串类型;以NULL结尾的字符串指针。
进一步的,所述映射操作中,每一条数据项都由一个单独的nullbitmap进行记录,bitmap以位为单位进行记录,数据项的内容为空则记录为1,反之记录为0。
进一步的,所述反序列化操作包括:
提取消息头数据,对消息体进行解析判断;
通过null bitmap的位映射关系,提取非NULL的数据项,一一对应到各消息结构体字段;
提取相应的数据项数据,对整型数据进行zigzag、varint的反向操作,字符数据则直接提取出来。
本发明所提供的一种移动网络数据序列化方法,通过对数据项进行格式化处理,对于每一个数据项采用独立的封装,数据描述采用C语言结构体或者等同的字段描述方法对每一项数据进行字段类型及其字段长度描述。数据以数组方式组织,以最基本最快速的动态数组进行组织,数据字段采用null bitmap记录头标注字段是否为NULL空,整型数据采用VARINT方式压缩处理,无符号整型数据再加以zigzag处理,数据完整性采用crc16进行验证,数据安全采用异或方式快速安全处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种移动网络数据序列化方法的流程图。
图2为本发明实施例提供的一种移动网络数据序列化方法中对数据进行反序列化操作的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参阅图1,本发明提供的一种移动网络数据序列化方法,包括:
对移动网络数据进行定义数据包数据项,定义数据项的数据类型、长度。
作为优选,所述数据类型包括整型数据和字符数据:
所述整型数据包括:8位、16位、32位和64位有符号整型类型;8位、16位、32位和64位无符号整型类型;所述字符数据包括:字符串类型;以NULL结尾的字符串指针。
对数据项进行序列化处理;
对数据项进行null bitmap映射操作;作为优选,所述映射操作中,每一条数据项都由一个单独的null bitmap进行记录,bitmap以位为单位进行记录,数据项的内容为空则记录为1,反之记录为0。
对有符号整型数据项进行varint编码;对无符号整型数据项进行zigzag编码;
对消息头进行封装处理,对消息记录进行CRC16容错校验操作;
把消息记录的CRC16容错校验码、消息记录序列号、消息记录命令字、消息长度数据项进行消息头封装处理;
将序列化完成的消息数据传输到网络对端;
对数据项进行反序列化操作。
如图2所示,作为优选,所述反序列化操作包括:
提取消息头数据,对消息体进行解析判断;
通过null bitmap的位映射关系,提取非NULL的数据项,一一对应到各消息结构体字段;
提取相应的数据项数据,对整型数据进行zigzag、varint的反向操作,字符数据则直接提取出来。
本发明所提供的一种移动网络数据序列化方法,通过对数据项进行格式化处理,对于每一个数据项采用独立的封装,数据描述采用C语言结构体或者等同的字段描述方法对每一项数据进行字段类型及其字段长度描述。数据以数组方式组织,以最基本最快速的动态数组进行组织,数据字段采用null bitmap记录头标注字段是否为NULL空,整型数据采用VARINT方式压缩处理,无符号整型数据再加以zigzag处理,数据完整性采用crc16进行验证,数据安全采用异或方式快速安全处理。
本发明提供的实施例相对于现有的数据序列化方法,有如下特点:在可选数据项上面,我们采用了更为灵活的null bitmap方式,在代码实现过程中可以不用再单独的编写数据项描述文件;数据安全性更高,本发明提供的实施例对数据项进行了crc16校验,消息体仅需要增加2个字节;数据类型进行了精简,只保留了整型和字符型,数据处理更为快速。
以上所述实施例仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (4)
1.一种移动网络数据序列化方法,其特征在于,包括:
对移动网络数据进行定义数据包数据项,定义数据项的数据类型、长度;
对数据项进行序列化处理;
对数据项进行null bitmap映射操作;
对有符号整型数据项进行varint编码;对无符号整型数据项进行zigzag编码;
对消息头进行封装处理,对消息记录进行CRC16容错校验操作;
把消息记录的CRC16容错校验码、消息记录序列号、消息记录命令字、消息长度数据项进行消息头封装处理;
将序列化完成的消息数据传输到网络对端;
对数据项进行反序列化操作。
2.根据权利要求1所述的移动网络数据序列化方法,其特征在于,所述数据类型包括整型数据和字符数据:
所述整型数据包括:
8位、16位、32位和64位有符号整型类型;8位、16位、32位和64位无符号整型类型;
所述字符数据包括:
字符串类型;以NULL结尾的字符串指针。
3.根据权利要求1所述的移动网络数据序列化方法,其特征在于,所述映射操作中,每一条数据项都由一个单独的null bitmap进行记录,bitmap以位为单位进行记录,数据项的内容为空则记录为1,反之记录为0。
4.根据权利要求1所述的移动网络数据序列化方法,其特征在于,所述反序列化操作包括:
提取消息头数据,对消息体进行解析判断;
通过null bitmap的位映射关系,提取非NULL的数据项,一一对应到各消息结构体字段;
提取相应的数据项数据,对整型数据进行zigzag、varint的反向操作,字符数据则直接提取出来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410279907.6A CN104113390A (zh) | 2014-06-20 | 2014-06-20 | 一种移动网络数据序列化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410279907.6A CN104113390A (zh) | 2014-06-20 | 2014-06-20 | 一种移动网络数据序列化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104113390A true CN104113390A (zh) | 2014-10-22 |
Family
ID=51710032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410279907.6A Pending CN104113390A (zh) | 2014-06-20 | 2014-06-20 | 一种移动网络数据序列化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104113390A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486396A (zh) * | 2014-12-10 | 2015-04-01 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN105306063A (zh) * | 2015-10-12 | 2016-02-03 | 浙江大学 | 一种记录型数据存储空间的优化与恢复方法 |
CN106559178A (zh) * | 2016-12-02 | 2017-04-05 | 深圳大学 | 软判决在锯齿解码中的应用方法及系统 |
CN107040539A (zh) * | 2017-04-20 | 2017-08-11 | 广州华多网络科技有限公司 | 一种协议数据包构建方法、装置及计算机系统 |
CN107229670A (zh) * | 2017-04-10 | 2017-10-03 | 中国科学院信息工程研究所 | 基于Avro的通用数据序列化及反序列化方法 |
CN108881124A (zh) * | 2017-05-15 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 在模块间实现高性能通信的方法、系统、存储介质及设备 |
CN109005174A (zh) * | 2018-08-03 | 2018-12-14 | 京信通信系统(中国)有限公司 | 数据通信方法、装置、计算机存储介质及设备 |
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
CN113438226A (zh) * | 2021-06-23 | 2021-09-24 | 上海星融汽车科技有限公司 | 基于混合传输协议的报文生成、解析方法、设备及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159743A (zh) * | 2007-10-22 | 2008-04-09 | 中兴通讯股份有限公司 | Asn.1编解码函数自动生成中的数据类型选择方法 |
CN101437044A (zh) * | 2008-11-28 | 2009-05-20 | 中兴通讯股份有限公司 | 基于切片的点对点网络技术的文件下载方法及系统 |
US7865525B1 (en) * | 2007-08-02 | 2011-01-04 | Amazon Technologies, Inc. | High efficiency binary encoding |
CN102033959A (zh) * | 2010-12-29 | 2011-04-27 | 北京播思软件技术有限公司 | 一种分布式计算系统中对象传递的方法 |
CN102968339A (zh) * | 2012-12-19 | 2013-03-13 | 上海普元信息技术股份有限公司 | 基于云计算架构实现复杂事件处理的系统及其方法 |
CN103092607A (zh) * | 2012-12-26 | 2013-05-08 | 北京思特奇信息技术股份有限公司 | 一种电信话单数据编解码方法 |
CN103699633A (zh) * | 2013-12-23 | 2014-04-02 | Tcl集团股份有限公司 | 一种利用xml实现通用化数据交换的方法和系统 |
-
2014
- 2014-06-20 CN CN201410279907.6A patent/CN104113390A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865525B1 (en) * | 2007-08-02 | 2011-01-04 | Amazon Technologies, Inc. | High efficiency binary encoding |
CN101159743A (zh) * | 2007-10-22 | 2008-04-09 | 中兴通讯股份有限公司 | Asn.1编解码函数自动生成中的数据类型选择方法 |
CN101437044A (zh) * | 2008-11-28 | 2009-05-20 | 中兴通讯股份有限公司 | 基于切片的点对点网络技术的文件下载方法及系统 |
CN102033959A (zh) * | 2010-12-29 | 2011-04-27 | 北京播思软件技术有限公司 | 一种分布式计算系统中对象传递的方法 |
CN102968339A (zh) * | 2012-12-19 | 2013-03-13 | 上海普元信息技术股份有限公司 | 基于云计算架构实现复杂事件处理的系统及其方法 |
CN103092607A (zh) * | 2012-12-26 | 2013-05-08 | 北京思特奇信息技术股份有限公司 | 一种电信话单数据编解码方法 |
CN103699633A (zh) * | 2013-12-23 | 2014-04-02 | Tcl集团股份有限公司 | 一种利用xml实现通用化数据交换的方法和系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486396B (zh) * | 2014-12-10 | 2017-12-26 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN104486396A (zh) * | 2014-12-10 | 2015-04-01 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN105306063A (zh) * | 2015-10-12 | 2016-02-03 | 浙江大学 | 一种记录型数据存储空间的优化与恢复方法 |
CN105306063B (zh) * | 2015-10-12 | 2018-11-02 | 浙江大学 | 一种记录型数据存储空间的优化与恢复方法 |
CN106559178B (zh) * | 2016-12-02 | 2019-10-18 | 深圳大学 | 软判决在锯齿解码中的应用方法及系统 |
CN106559178A (zh) * | 2016-12-02 | 2017-04-05 | 深圳大学 | 软判决在锯齿解码中的应用方法及系统 |
CN107229670A (zh) * | 2017-04-10 | 2017-10-03 | 中国科学院信息工程研究所 | 基于Avro的通用数据序列化及反序列化方法 |
CN107040539A (zh) * | 2017-04-20 | 2017-08-11 | 广州华多网络科技有限公司 | 一种协议数据包构建方法、装置及计算机系统 |
CN108881124A (zh) * | 2017-05-15 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 在模块间实现高性能通信的方法、系统、存储介质及设备 |
CN108881124B (zh) * | 2017-05-15 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 在模块间实现高性能通信的方法、系统、存储介质及设备 |
CN109005174A (zh) * | 2018-08-03 | 2018-12-14 | 京信通信系统(中国)有限公司 | 数据通信方法、装置、计算机存储介质及设备 |
CN111475318A (zh) * | 2020-04-29 | 2020-07-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
CN113438226A (zh) * | 2021-06-23 | 2021-09-24 | 上海星融汽车科技有限公司 | 基于混合传输协议的报文生成、解析方法、设备及系统 |
CN113438226B (zh) * | 2021-06-23 | 2022-08-12 | 上海星融汽车科技有限公司 | 基于混合传输协议的报文生成、解析方法、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113390A (zh) | 一种移动网络数据序列化方法 | |
CN104753540B (zh) | 数据压缩方法、数据解压方法和装置 | |
CN106528786B (zh) | 快速迁移多源异构电网大数据到HBase的方法及系统 | |
US20230186665A1 (en) | Ink file searching method, apparatus, and program | |
CN104123364A (zh) | 一种移动终端发送和接收数据的方法及装置 | |
CN105450232A (zh) | 编码、解码方法以及编码装置和解码装置 | |
CN103534968B (zh) | 一种以太网物理层的编码、解码方法和装置 | |
CN101558405B (zh) | 将主机系统数据库转换为开放系统数据库的转换装置和方法 | |
CN102724122B (zh) | 基于硬件系统的串口可靠传输方法及装置 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN101526963A (zh) | 网页编码识别方法、装置和终端设备 | |
CN107919943A (zh) | 二进制数据的编码、解码方法和装置 | |
CN108280056A (zh) | 一种Excel文件解析方法 | |
CN102137353A (zh) | 基于二维码的手机短信传输方式 | |
CN108108394A (zh) | Apfs文件系统的压缩文件恢复方法及存储介质 | |
CN104081701A (zh) | 光网络系统的通信方法、系统及装置 | |
US20140164574A1 (en) | Method and System for Downloading a Font File | |
CN108228912A (zh) | 一种业务数据的处理方法及相关装置 | |
CN102629235A (zh) | 一种提高ddr存储器读写速率的方法 | |
CN105279123A (zh) | 双冗余1553b总线的串口转换结构及转换方法 | |
CN108366050A (zh) | 一种通用通信协议处理方法 | |
CN102510434A (zh) | 一种图像数据发送、恢复方法、装置及终端 | |
CN106533850A (zh) | 一种基于nfc卡模式的面板场景控制方法 | |
CN113905093A (zh) | 序列化、反序列化方法、装置及电子设备 | |
CN106293862B (zh) | 一种可扩展标记语言xml数据的解析方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141022 |