CN111343612B - 一种物联网数据方法及系统 - Google Patents
一种物联网数据方法及系统 Download PDFInfo
- Publication number
- CN111343612B CN111343612B CN202010104029.XA CN202010104029A CN111343612B CN 111343612 B CN111343612 B CN 111343612B CN 202010104029 A CN202010104029 A CN 202010104029A CN 111343612 B CN111343612 B CN 111343612B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- text
- total
- elements
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种物联网数据方法,包括:数据发送端序列化数据成文本;传输所述文本;数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据;其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。与现有技术相比,本申请具有如下有益效果:能够序列化、反序列化多样化的数据格式能够在上面简单的实现自己的特有协议提供一套简单易用的api函数。该序列化和反序列化原理简单,有效转化率高,能够满足音视频数据的要求。
Description
技术领域
本申请涉及物联网领域,具体而言,涉及一种物联网数据方法。
背景技术
目前物联网数据传输常用的seriallization(序列化)和deserallization(反序列化)的机制是用json,把数据转化成文本的形式传输,接受方再通过json提供的api反序列化后还原成原来的数据,使用json的缺点是:api使用复杂,容易导致内存泄漏,且转化成文本的形式有效转化率低,不太能满足对容量大、实时性要求高的音视频数据的要求。
发明内容
本申请的主要目的在于提供一种物联网数据方法,包括:
数据发送端序列化数据成文本;
传输所述文本;
数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
可选地,所述包头包括:版本号、报文识别标志、字节序及总的报文字节数。
可选地,包元素包括:整形数据、64位整型数据、浮点数据、双精度数据、字符串数据及二进制数据中的任意一类或几类。
可选地,所述包标志符表示的是用户各个包元素写入时的顺序和包元素的类型,用字符类型表示,‘i’表示int32,‘f’表示float,‘l’表示int64,‘d’表示double,‘B’表示binary,‘S’表示string。
可选地,数据发送端序列化数据成文本:
用户将对应的元素写入到元素链表;
记录下所述元素的类型、同类型的原始个数、该元素的字节数及总的写入字节数;
序列化时遍历所述元素链表,根据各个元素的元素类型、元素总数、元素字节数和数据包总字节数,确定各个不同类型的元素起始位置;
把各个不同类型的元素写到对应位置;
改变该元素的存储位置,并把元素总个数写在包的尾部;
将元素类型反向依次写在包标志符的位置。
可选地,数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据包括:
读取所述数据包总的元素个数;
遍历包标志符确定不同类型的元素个数;
根据包元素和各元素的存储空间大小确定包的的存储位置;
根据不同的元素类型到对应的元素位置顺序读取;
改变相应的元素位置和元数位置。
根据本申请的另一个方面,还提供了一种物联网数据系统,包括:
数据发送端,用于序列化数据成文本;
传输模块,用于传输所述文本;
数据接收端,用于接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
本申请还公开了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
本申请还公开了一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
本申请还公开了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
与现有技术相比,本申请具有如下有益效果:
能够序列化、反序列化多样化的数据格式
能够在上面简单的实现自己的特有协议
提供一套简单易用的api函数。
该序列化和反序列化原理简单,有效转化率高,能够满足音视频数据的要求。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和有益效果变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请一个实施例的物联网数据方法的数据包的流程示意图;
图2是根据本申请一个实施例的物联网数据方法的数据包的结构示意图;
图3是根据本申请一个实施例的计算机设备的示意图;以及
图4是根据本申请一个实施例的计算机可读存储介质的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参照图1-图2,本申请一实施例提供了一种物联网数据方法,包括:
S2:数据发送端序列化数据成文本;
S4:传输所述文本;
S6:数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
本申请一实施例中,所述包头包括:版本号、报文识别标志、字节序及总的报文字节数。
本申请一实施例中,包元素包括:整形数据、64位整型数据、浮点数据、双精度数据、字符串数据及二进制数据中的任意一类或几类。
本申请一实施例中,所述包标志符表示的是用户各个包元素写入时的顺序和包元素的类型,用字符类型表示,‘i’表示int32,‘f’表示float,‘l’表示int64,‘d’表示double,‘B’表示binary,‘S’表示string。
本申请一实施例中,数据发送端序列化数据成文本:
用户将对应的元素写入到元素链表;
记录下所述元素的类型、同类型的原始个数、该元素的字节数及总的写入字节数;
序列化时遍历所述元素链表,根据各个元素的元素类型、元素总数、元素字节数和数据包总字节数,确定各个不同类型的元素起始位置;
把各个不同类型的元素写到对应位置;
改变该元素的存储位置,并把元素总个数写在包的尾部;
将元素类型反向依次写在包标志符的位置。
本申请一实施例中,数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据包括:
读取所述数据包总的元素个数;
遍历包标志符确定不同类型的元素个数;
根据包元素和各元素的存储空间大小确定包的的存储位置;
根据不同的元素类型到对应的元素位置顺序读取;
改变相应的元素位置和元数位置。
例如,序列化的数据包有包头、包元素、包标志符、包总标志符数(元素个数)组成。
序列化的数据包头包括版本号、报文识别标志、字节序(网络字节序和CPU本身的字节序)和总的报文字节数几个部分。
序列化的包元素是序列化数据的主体,也是数据转化的有效数据,里面可以包括:int32(整形数据)、int64(64位整型数据)、float(浮点数据)、double(双精度数据)、string(字符串数据)、binary(二进制数据)的任意类型的任意个数。
序列化的包总标志符是指包标志符的个数也是指包元素的总个数。
包标志符表示的是用户各个包元素写入时的顺序和包元素的类型,用字符类型表示,‘i’表示int32,‘f’表示float,‘l’表示int64,‘d’表示double,‘B’表示binary,‘S’表示string。
用户写入对应元素时,是写入到一个元素链表,并记录下该元素的类型和同类型的原始个数和该元素的字节数和总的写入字节数,序列化时遍历该元素链表,根据各个元素的元素类型、元素总数、元素字节数和数据包总字节数,确定各个不同类型的元素起始位置,并把各个不同类型的元素写到对应位置,改变该元素的存储位置,并把元素总个数写在包的尾部(包总的标志符数),元素类型反向依次写在包标志符的位置。
包的反序列化是通过读取序列化数据的包头来判断包的有效性和总字节数,读区包总的元素个数(包标志符总数),遍历包标志符确定不同类型的元素个数,从而根据包元素和各元素的存储空间大小,来确定包的的存储位置。用户读取时,根据不同的元素类型到对应的元素位置顺序读取,并改变相应的元素位置和元数位置。
本申请还提供了一种物联网数据系统,包括:
数据发送端,用于序列化数据成文本;
传输模块,用于传输所述文本;
数据接收端,用于接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
请参照图3,本申请还提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
请参照图4,一种计算机可读存储介质,非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种物联网数据方法,其特征在于,包括:
数据发送端序列化数据成文本:
用户将对应的元素写入到元素链表;
记录下所述元素的类型、同类型的原始个数、该元素的字节数及总的写入字节数;
序列化时遍历所述元素链表,根据各个元素的元素类型、元素总数、元素字节数和数据包总字节数,确定各个不同类型的元素起始位置;
把各个不同类型的元素写到对应位置;
改变该元素的存储位置,并把元素总个数写在包的尾部;
将元素类型反向依次写在包标志符的位置;
传输所述文本;
数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
2.根据权利要求1所述的物联网数据方法,其特征在于,所述包头包括:版本号、报文识别标志、字节序及总的报文字节数。
3.根据权利要求2所述的物联网数据方法,其特征在于,包元素包括:整形数据、64位整型数据、浮点数据、双精度数据、字符串数据及二进制数据中的任意一类或几类。
4.根据权利要求3所述的物联网数据方法,其特征在于,所述包标志符表示的是用户各个包元素写入时的顺序和包元素的类型,用字符类型表示,‘i’表示int32,‘f’表示float,‘l’表示int64,‘d’表示double,‘B’表示binary,‘S’表示string。
5.根据权利要求1所述的物联网数据方法,其特征在于,数据接收端接收所述文本,并反序列化所述文本,以还原成所述数据包括:
读取所述数据包总的元素个数;
遍历包标志符确定不同类型的元素个数;
根据包元素和各元素的存储空间大小确定包的的存储位置;
根据不同的元素类型到对应的元素位置顺序读取;
改变相应的元素位置和元数位置。
6.一种物联网数据系统,其特征在于,包括:
数据发送端,用于序列化数据成文本:
用户将对应的元素写入到元素链表;
记录下所述元素的类型、同类型的原始个数、该元素的字节数及总的写入字节数;
序列化时遍历所述元素链表,根据各个元素的元素类型、元素总数、元素字节数和数据包总字节数,确定各个不同类型的元素起始位置;
把各个不同类型的元素写到对应位置;
改变该元素的存储位置,并把元素总个数写在包的尾部;
将元素类型反向依次写在包标志符的位置;
传输模块,用于传输所述文本;
数据接收端,用于接收所述文本,并反序列化所述文本,以还原成所述数据;
其中,所述文本的数据包包括:包头、包元素、包标志符、包总标志符数。
7.一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104029.XA CN111343612B (zh) | 2020-02-20 | 2020-02-20 | 一种物联网数据方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104029.XA CN111343612B (zh) | 2020-02-20 | 2020-02-20 | 一种物联网数据方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343612A CN111343612A (zh) | 2020-06-26 |
CN111343612B true CN111343612B (zh) | 2023-09-22 |
Family
ID=71187852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010104029.XA Active CN111343612B (zh) | 2020-02-20 | 2020-02-20 | 一种物联网数据方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343612B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487353A (zh) * | 2010-12-02 | 2012-06-06 | 卓望数码技术(深圳)有限公司 | 一种数据传输方法 |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
CN107040539A (zh) * | 2017-04-20 | 2017-08-11 | 广州华多网络科技有限公司 | 一种协议数据包构建方法、装置及计算机系统 |
CN107256206A (zh) * | 2017-05-24 | 2017-10-17 | 北京京东尚科信息技术有限公司 | 字符流格式转换的方法和装置 |
CN108322443A (zh) * | 2017-12-30 | 2018-07-24 | 京信通信系统(中国)有限公司 | 设备交互通信方法、装置、存储介质及计算机设备 |
CN108876628A (zh) * | 2018-06-28 | 2018-11-23 | 深圳数字动能信息技术有限公司 | 金融量化分析数据传输方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631041B2 (en) * | 2006-10-20 | 2014-01-14 | Adobe Systems Incorporated | Secondary lazy-accessible serialization of electronic content |
US20100083269A1 (en) * | 2008-09-29 | 2010-04-01 | International Business Machines Corporation | Algorithm for fast list allocation and free |
CN107818118B (zh) * | 2016-09-14 | 2019-04-30 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
US20190180753A1 (en) * | 2017-12-12 | 2019-06-13 | Ca, Inc. | Analysis of collaborative dialog data structures from speech processing computer system |
-
2020
- 2020-02-20 CN CN202010104029.XA patent/CN111343612B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487353A (zh) * | 2010-12-02 | 2012-06-06 | 卓望数码技术(深圳)有限公司 | 一种数据传输方法 |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
CN107040539A (zh) * | 2017-04-20 | 2017-08-11 | 广州华多网络科技有限公司 | 一种协议数据包构建方法、装置及计算机系统 |
CN107256206A (zh) * | 2017-05-24 | 2017-10-17 | 北京京东尚科信息技术有限公司 | 字符流格式转换的方法和装置 |
CN108322443A (zh) * | 2017-12-30 | 2018-07-24 | 京信通信系统(中国)有限公司 | 设备交互通信方法、装置、存储介质及计算机设备 |
CN108876628A (zh) * | 2018-06-28 | 2018-11-23 | 深圳数字动能信息技术有限公司 | 金融量化分析数据传输方法 |
Non-Patent Citations (3)
Title |
---|
Yunho Park.Area-efficient and high-speed binary divider architecture for bit-serial interfaces.2016 International SoC Design Conference (ISOCC).2016,全文. * |
胡晨光 ; 严捷丰 ; 高正东 ; 胡斌 ; 胥锐 ; .一种类的序列化与反序列化框架.电脑知识与技术.2009,(24),全文. * |
鲁云灿 ; 胡珊 ; 杨春 ; 谭良 ; .化学虚拟实验中序列化技术的应用与研究.计算机与应用化学.2008,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111343612A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102249267B1 (ko) | 2진 데이터를 인코딩 및 디코딩하기 위한 방법 및 디바이스 | |
CN111818060B (zh) | 一种支持混合及离散数据传输的通讯协议、方法及系统 | |
US11599708B2 (en) | Encoding of data formatted in human readable text according to schema into binary | |
CN110191156B (zh) | 一种基于区块链的数据处理方法及装置 | |
CN112463700B (zh) | 一种控制axi总线带宽的方法和装置 | |
CN107451237B (zh) | 序列化与反序列化方法、装置及设备 | |
CN111131403A (zh) | 一种物联网设备的消息编解码方法及装置 | |
JP2020529166A (ja) | パケット処理 | |
CN112000589A (zh) | 一种数据写入方法、数据读取方法、装置及电子设备 | |
CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
CN111343612B (zh) | 一种物联网数据方法及系统 | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN113905093A (zh) | 序列化、反序列化方法、装置及电子设备 | |
CN109189505B (zh) | 一种减少对象序列化占用存储空间的方法及系统 | |
CN101656708A (zh) | 数据发送和接收方法及装置、数据传输方法和系统 | |
CN107483399B (zh) | 一种在远程过程调用中的信息封装方法及装置 | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
CN107797956B (zh) | 双沿触发环形缓冲器及通信系统 | |
CN109213710A (zh) | 高速串行接口装置与其数据传输方法 | |
CN109756550B (zh) | 一种智能网联驾驶车云通信方法、装置以及系统 | |
CN116095184B (zh) | 一种结构化网络数据传输编码方法、设备及介质 | |
CN116016296B (zh) | 一种基于json的二进制数据处理方法、系统及设备 | |
CN110278177B (zh) | 一种ip包包头检测方法及装置 | |
CN114598669B (zh) | 一种报文的存储方法、装置及设备 | |
US11895043B2 (en) | Method for accessing system memory and associated processing circuit within a network card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |