CN110932916B - 一种改进的oma dm协议数据编码方法 - Google Patents
一种改进的oma dm协议数据编码方法 Download PDFInfo
- Publication number
- CN110932916B CN110932916B CN201911327361.6A CN201911327361A CN110932916B CN 110932916 B CN110932916 B CN 110932916B CN 201911327361 A CN201911327361 A CN 201911327361A CN 110932916 B CN110932916 B CN 110932916B
- Authority
- CN
- China
- Prior art keywords
- value
- control data
- storage
- data
- oma
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及数据编码技术领域,特别涉及一种改进的OMA DM协议数据编码方法,包括步骤S1,将待发送的控制数据按照flatbuffer的方式进行序列化;S2,将序列化完成的所述控制数据存储于分配的内存空间中,并进行传输;S3,接收端接收所述序列化完成的控制数据,并根据所述序列化完成的控制数据的内部结构体类型,采用对应方式进行反序列化,并获取所述控制数据。本发明的提出解决了现有的远程管理控制中采用OMA DM协议进行数据编码,导致的传输控制指令需要消耗较多的流量,同时还拉长通讯耗时,影响管理控制过程的问题。
Description
技术领域
本发明涉及数据编码技术领域,特别涉及一种改进的OMA DM协议数据编码方法。
背景技术
通信协议,是指通过通信信道和设备互联起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流过程中都必须遵循某种互相都能接受的规则,这个规则就是通信协议。
其中,包括有OMA DM协议。OMA DM也称为Client Provision,是一种通过远程服务器对网络内终端进行管理的协议。通过OMA DM,服务器可以对终端设备进行固件更新、参数配置、数据采集、动态组件及应用管理等各种管理功能。OMA协议提供的是一种与系统无关的、开放的,使各种应用和业务能够在全球范围内的各种终端上实现互联互通的标准,其具有广泛的通用性和安全可靠性。具体地,Oma1.0版协议采用的xml格式来组织消息,oma2.x采用json格式来组织消息。
现有采用OMA DM协议进行数据编码时,由于标签字段占比过大,导致远程管理控制中控制指令的传输需要消耗较多的流量,同时还拉长通讯耗时,影响管理控制过程的问题。
发明内容
本发明的发明内容在于提供一种改进的OMA DM协议数据编码方法,主要解决了现有的远程管理控制中采用OMA DM协议进行数据编码,导致的传输控制指令需要消耗较多的流量,同时还拉长通讯耗时,影响管理控制过程的问题。
本发明提出了一种改进的OMA DM协议数据编码方法,包括以下步骤:
S1,将待发送的控制数据按照flatbuffer的方式进行序列化;
S2,将序列化完成的所述控制数据存储于分配的内存空间中,并进行传输;
S3,接收端接收所述序列化完成的控制数据,并根据所述序列化完成的控制数据的内部结构体类型,采用对应方式进行反序列化,并获取所述控制数据。
优选地,所述步骤S1具体包括:
S11,获取所述控制数据的报文标识开头数据、报文总长与校验码,并顺序排列后形成第一存储值;
S12,获取所述控制数据的第一变量值与第二变量值,并形成第二存储值。
优选地,在所述步骤S12后,步骤S1还包括:
S13,按先后顺序排列所述第一存储值与第二存储值;
S14,在所述第一存储值与第二存储值间设置中心点;
S15,以所述中心点为基点,获取所述第二存储值的偏移量;
S16,将所述第二存储值的偏移量以第一索引值的方式存储于所述第一存储值与中心点之间;
S17,顺序排列的所述第一存储值、第一索引值、中心点与第二存储值形成所述序列化完成的控制数据。
优选地,所述步骤S12具体包括:
S121,获取所述控制数据的第一变量值与第二变量值,并判断所述第一变量值与第二变量值是否为结构体,若是,则执行下一步,若否则直接形成所述第二存储值;
S122,获取所述第一变量值与第二变量值内的数值,在所述数值前设定第一基准点,并以所述第一基准点为基点获取所述数值的偏移量;
S123,将所述数值的偏移量以第一索引值的方式存储,并顺序排列所述第一索引值、第一基准点与数值后形成所述第二存储值。
优选地,所述步骤S3具体包括:
S31,判断所述第二存储值是否为结构体,若是则执行下一步,若否则直接获取所述控制数据;
S32,递归调用所述第二存储值对应的反序列化函数,并获取所述控制数据。
优选地,在所述步骤S2之前,设置有步骤:
SX,计算所述序列化完成的控制数据的存储所需的内存空间,并为所述序列化完成的控制数据分配所需的内存空间。
优选地,所述第一存储值的长度固定。
优选地,在所述步骤S11中,所述报文标识开头数据占用两个字节,所述报文总长占用两个字节,所述校验码占用十六个字节。
优选地,所述步骤S11中的所述校验码为MD5。
由上可知,应用本发明提供的技术方案可以得到以下有益效果:
本发明提出的技术方案中将控制数据以flatbuffer的方式进行序列化编码,由于flatbuffer序列化后的数据性质,令控制数据可直接访问,因此缩短了传输耗时,提高远程管理中控制指令的传输效率,进而缩短通讯耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据编码方法的序列化后控制数据的存储结构图;
图2为本发明实施例中数据编码方法的序列化流程图;
图3为本发明实施例中数据编码方法中的序列化具体流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的远程管理控制中采用OMA DM协议进行数据编码,导致的传输控制指令需要消耗较多的流量,同时还拉长通讯耗时,影响管理控制过程的问题。
为了解决上述问题,本实施例提出了一种改进的OMA DM协议数据编码方法,其主要包括以下步骤:
S1,将待发送的控制数据按照flatbuffer的方式进行序列化;
S2,将序列化完成的控制数据存储于分配的内存空间中,并进行传输;
S3,接收端接收序列化完成的控制数据,并根据序列化完成的控制数据的内部结构体类型,采用对应方式进行反序列化,并获取控制数据。
优选但不限定的是,步骤S1中的待发送控制数据,具体指OMA DM协议的交互包,若OMA DM协议的双方分别为控制端与接收端,则该交互包在控制端内序列化,且传输的数据为序列化完成的控制数据。
在本实施例中,以flatbuffer序列化后的控制数据,与现有的OMA标准中采用的xml或json小资格式相比,能平均减少60%的占用空间,因此可大大减少信息交换所需的时间,提高本实施例中控制数据以及控制指令传输的效率。
更具体的,步骤S1具体包括:
S11,获取控制数据的报文标识开头数据、报文总长与校验码,并顺序排列后形成第一存储值;
S12,获取控制数据的第一变量值与第二变量值,并形成第二存储值。
优选但不限定的是,本实施例根据OMA中的DTD文件可知控制数据采用SyncML格式,该数据主要包括SyncHdr和SyncBody两部分,参照flatbuffer的数据格式可知,在本实施例中主要将SyncML数据看成包括SyncHdr和SyncBody两结构体的结构体。
在本实施例中,依照flatbuffer的数据存储思想以及递归思想,可得出最终存储结构类似如图1所示,因此在步骤S11与步骤S12中,具体得出存储时存储结构内各字节所需存放的具体内容。其中,步骤S11中的报文标识开头数据、报文总长与校验码分别对应图1中的0xaabb、len与MD5,步骤S12中的第一变量值与第二变量值分别对应前述的SyncHdr和SyncBody,且在序列化后作为图1中hdr(index)~body(content)内的值。
更具体的,在步骤S12后,步骤S1还包括:
S13,按先后顺序排列第一存储值与第二存储值;
S14,在第一存储值与第二存储值间设置中心点;
S15,以中心点为基点,获取第二存储值的偏移量;
S16,将第二存储值的偏移量以第一索引值的方式存储于第一存储值与中心点之间;
S17,顺序排列的第一存储值、第一索引值、中心点与第二存储值形成序列化完成的控制数据。
在本实施例中,第一索引值具体对应图1中的hdr(index)与body(index),而上述中心值指的是hdr(index)与body(index)后的mid,同时步骤S17中限定了本实施例中,控制数据采用flatbuffer格式存储的具体顺序,与图1中的各具体数据的排列方式一致,令本实施例中采用OMA DM协议编码的数据可与flatbuffer的存储结构对应。
更具体的,步骤S12具体包括:
S121,获取控制数据的第一变量值与第二变量值,并判断第一变量值与第二变量值是否为结构体,若是,则执行下一步,若否则直接形成第二存储值;
S122,获取第一变量值与第二变量值内的竖直,在数值前设定第一基准点,并以第一季准点为基点获取数值的偏移量;
S123,将数值的偏移量以第一索引值的方式存储,并顺序排列第一索引值、第一基准点与数值后,形成第二存储值。
优选但不限定的是,在步骤S12还可进一步判断第一变量值与第二变量值是否均为结构体,若第一变量值为结构体,第二变量值为基本类型,则按照步骤S122与S123中的内容存储第一变量值,再顺序直接存储第二变量值后形成第二存储值,若第一变量值为基本类型,第二变量值为结构体,则与前述内容相反,但仍然以第一变量值与第二变量值的存储顺序形成第二存储值,与前述第一索引值的设置顺序对应。同样的,若前述第一索引值的设置顺序相反,则在本实施例中,后续的第二存储值内第一变量值与第二变量值的设置顺序也许对应相反设置。
在上述内容中,若第一变量值或第二变量值为基本类型,则字符串存储时必须存储字符‘\0’。同样的,对应第一变量值或第二变量值为结构体类型时,序列化的粗略过程请参照图2,对应的详细流程请参照图3,在此并不对图3内容做进一步解释。
在本实施例中,当第一变量值与第二变量值为结构体时,其各自对应的存储方式为变量索引+基准点+变量值,也即第一变量值对应图1中的中心点后的mid、index(1~N)、mid与hdr(content),第二变量值对应相连设置的index(1~N)、mid与body(content),也即在中心点mid后的所有数值均属于第二存储值的内容。
更具体的,步骤S3具体包括:
S31,判断第二存储值是否为结构体,若是则执行下一步,若否则直接获取控制数据;
S32,递归调用第二存储值对应的反序列化函数,并获取控制数据。
在本实施例中进行反序列化,从给定的内存空间反序列化syncML对象,其方案与序列化类似,依据syncml对象结构和flatbuffer存储格式依次反序列化syncml结构体内的变量,如为基本变量则直接得到该变量值,如变量也是结构体,则递归调用该结构体对应的反序列化函数,如syncMl结构体内包含两个结构体变量syncHdr和syncBody,syncMl的反序列化函数会分别调用syncHdr结构体的反序列化函数以及syncBody的反序列化函数,syncHdr和syncBody的反序列化函数也会再次调用其结构体的子结构体所对应的反序列化函数来完成整个对象的反序列化。
更具体的,在步骤S2之前,设置有步骤SX,计算序列化完成的控制数据存储所需的内存空间,并为序列化完成的控制数据分配所需的内存空间。
在本实施例中,步骤SX的设置,有助于内存空间的精确计算,并分配合适的内存空间,保证多个控制数据的存储可最大程度地发挥当前内存空间的存储量。
在本实施例中,第一存储值的长度固定,其中报文标识开头数据占用两个字节,报文总长占用两个字节,校验码占用十六个字节。
优选但不限定的是,校验码采用十六个字节长度的MD5,为后面所有字节数据的md5值,用于校验控制数据的正确性和完整性。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (7)
1.一种改进的OMA DM协议数据编码方法,其特征在于,包括以下步骤:
S1,将待发送的控制数据按照flatbuffer的方式进行序列化;
S2,将序列化完成的所述控制数据存储于分配的内存空间中,并进行传输;
S3,接收端接收所述序列化完成的控制数据,并根据所述序列化完成的控制数据的内部结构体类型,采用对应方式进行反序列化,并获取所述控制数据;
其中,所述步骤S1包括,
S11,获取所述控制数据的报文标识开头数据、报文总长与校验码,并顺序排列后形成第一存储值;
S12,获取所述控制数据的第一变量值与第二变量值,并形成第二存储值;
S13,按先后顺序排列所述第一存储值与第二存储值;
S14,在所述第一存储值与第二存储值间设置中心点;
S15,以所述中心点为基点,获取所述第二存储值的偏移量;
S16,将所述第二存储值的偏移量以第一索引值的方式存储于所述第一存储值与中心点之间;
S17,顺序排列的所述第一存储值、第一索引值、中心点与第二存储值形成所述序列化完成的控制数据。
2.根据权利要求1所述的一种改进的OMA DM协议数据编码方法,其特征在于,所述步骤S12具体包括:
S121,获取所述控制数据的第一变量值与第二变量值,并判断所述第一变量值与第二变量值是否为结构体,若是,则执行下一步,若否则直接形成所述第二存储值;
S122,获取所述第一变量值与第二变量值内的数值,在所述数值前设定第一基准点,并以所述第一基准点为基点获取所述数值的偏移量;
S123,将所述数值的偏移量以第一索引值的方式存储,并顺序排列所述第一索引值、第一基准点与数值后形成所述第二存储值。
3.根据权利要求2所述的一种改进的OMA DM协议数据编码方法,其特征在于,所述步骤S3具体包括:
S31,判断所述第二存储值是否为结构体,若是则执行下一步,若否则直接获取所述控制数据;
S32,递归调用所述第二存储值对应的反序列化函数,并获取所述控制数据。
4.根据权利要求3所述的一种改进的OMA DM协议数据编码方法,其特征在于,在所述步骤S2之前,设置有步骤:
SX,计算所述序列化完成的控制数据的存储所需的内存空间,并为所述序列化完成的控制数据分配所需的内存空间。
5.根据权利要求1所述的一种改进的OMA DM协议数据编码方法,其特征在于:所述第一存储值的长度固定。
6.根据权利要求5所述的一种改进的OMA DM协议数据编码方法,其特征在于:
在所述步骤S11中,所述报文标识开头数据占用两个字节,所述报文总长占用两个字节,所述校验码占用十六个字节。
7.根据权利要求6所述的一种改进的OMA DM协议数据编码方法,其特征在于:所述步骤S11中的所述校验码为MD5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911327361.6A CN110932916B (zh) | 2019-12-20 | 2019-12-20 | 一种改进的oma dm协议数据编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911327361.6A CN110932916B (zh) | 2019-12-20 | 2019-12-20 | 一种改进的oma dm协议数据编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110932916A CN110932916A (zh) | 2020-03-27 |
CN110932916B true CN110932916B (zh) | 2022-11-15 |
Family
ID=69863424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911327361.6A Active CN110932916B (zh) | 2019-12-20 | 2019-12-20 | 一种改进的oma dm协议数据编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110932916B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867660A (zh) * | 2021-08-24 | 2021-12-31 | 深圳市宝泽科技有限公司 | 一种多设备协同远程同步批注的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981884A (zh) * | 2012-11-22 | 2013-03-20 | 用友软件股份有限公司 | 序列化装置和序列化方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和系统 |
CN105183380A (zh) * | 2015-09-08 | 2015-12-23 | 浙江风向标科技有限公司 | 一种序列化的物联网设备数据存储方法 |
CN108876628A (zh) * | 2018-06-28 | 2018-11-23 | 深圳数字动能信息技术有限公司 | 金融量化分析数据传输方法 |
CN109117209A (zh) * | 2018-07-23 | 2019-01-01 | 广州多益网络股份有限公司 | 序列化和反序列化方法及装置 |
-
2019
- 2019-12-20 CN CN201911327361.6A patent/CN110932916B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981884A (zh) * | 2012-11-22 | 2013-03-20 | 用友软件股份有限公司 | 序列化装置和序列化方法 |
CN104077335A (zh) * | 2013-05-07 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 一种结构化数据的序列化、反序列化方法、装置和系统 |
WO2014180143A1 (en) * | 2013-05-07 | 2014-11-13 | Tencent Technology (Shenzhen) Company Limited | Methods and systems for data serialization and deserialization |
CN105183380A (zh) * | 2015-09-08 | 2015-12-23 | 浙江风向标科技有限公司 | 一种序列化的物联网设备数据存储方法 |
CN108876628A (zh) * | 2018-06-28 | 2018-11-23 | 深圳数字动能信息技术有限公司 | 金融量化分析数据传输方法 |
CN109117209A (zh) * | 2018-07-23 | 2019-01-01 | 广州多益网络股份有限公司 | 序列化和反序列化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110932916A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106712893B (zh) | 用于数据传输的方法和设备 | |
CN111552838A (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
KR102460889B1 (ko) | 정보 전송 방법, 단말 및 기지국 | |
CN110932916B (zh) | 一种改进的oma dm协议数据编码方法 | |
CN112133074A (zh) | 多计量传感器的数据采集方法、设备、服务器和系统 | |
CN111245965B (zh) | 一种数据同步方法及系统 | |
CN109217986A (zh) | 一种基于物联网的数据传输方法及系统 | |
CN112714146B (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
US11758017B2 (en) | Data acquisition method, service provider, service consumer and network functional entity | |
CN111770558A (zh) | 一种切片接入方法、终端及网络设备 | |
CN114143374B (zh) | 一种采集网关多监测点数据聚合上报方法 | |
CN116389454A (zh) | 数据下载系统 | |
CN115529310B (zh) | 通信方法、装置、相关设备及存储介质 | |
EP4057715A1 (en) | Device and method for supporting tsc in wireless communication network | |
CN112738823B (zh) | 接口数据的交互方法、分布式单元以及中心单元 | |
CN110008033B (zh) | 一种和客户端进行通信的方法及电子设备 | |
CN106991129B (zh) | 基于soa构架电力调度系统的实时数据库系统及实现方法 | |
CN111163100A (zh) | 数据结构、通信方法、装置、存储介质及设备 | |
CN109962802A (zh) | 带宽调整方法、装置、系统、传送平面节点及存储介质 | |
CN111416695A (zh) | 一种数据传输方法、终端和网络侧设备 | |
CN115277595B (zh) | 数据发送方法及相关装置 | |
CN118337846B (zh) | 分布式网络的代理通信方法、装置、系统、设备及介质 | |
CN118210635B (zh) | 一种基于can总线的嵌入式内存共享实现方法及系统 | |
CN117499989B (zh) | 一种基于大模型的智能化生产管理方法及系统 | |
CN213877028U (zh) | 多计量传感器的数据采集系统 |
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 |