一种数据报文的处理方法及系统与流程

文档序号:11263731阅读:315来源:国知局
一种数据报文的处理方法及系统与流程
本发明涉及物联网领域,特别是涉及一种数据报文的处理方法及系统。
背景技术
:物联网应用中描述设备信息的数据类型有很多种,比如描述设备状态的数据类型有:描述设备开关状态的数据类型,通常用1个bit来表示;描述设备温湿度的数据类型,通常是1位小数位的浮点数字;用于表示设备颜色的数据类型,通常用3字节的rgb或者4字节的rgbw来表示;一段图像或者一段音频,字节长度达到上百k字节。描述设备规格的数据类型有:输入输出,用于表示数据的流向;模拟量精度,用于描述ad采样的精度值。目前物联网的设备一般采用mcu做运算逻辑处理,用zigbee/射频或者串口等方式实现数据传输。通常采用tlv(type,length,value)格式来描述这些数据类型。一般来说,type表示为value对应的数据类型,长度为1个字节;length表示value对应的数据长度,其长度为4个字节;value为传输的数据信息,其数据长度为对应的length值。由于射频和串口协议的带宽很小,mcu的ram资源也十分紧张,以及tlv数据在系统数据库中保存和开销也会很重,需要多个字节才能表示一个tlv的数据信息,所以在现有技术方案中tlv数据的处理需要处理能力更强的mcu,同时因为传送数据信息有限。因此,如何解决现有技术中的问题,减少数据报文的开销,是一个普遍关注的问题。技术实现要素:鉴于此,本发明的目的在于提供一种数据报文的处理方法及系统,减少数据报文的开销,提高网络带宽的利用率。根据上述发明目的,本发明提供了一种数据报文的处理方法,所述方法应用于物联网中,所述方法包括:s1,设备发送端确定待传输的目标数据,并生成一数据报文发送至设备设备接收端,所述数据报文包括所述目标数据和用于指示所述目标数据的数据属性的一字节的数据定义字;s2,设备接收端获取所述数据报文,根据所述数据定义字判断所述目标数据的数据属性,并根据所述数据属性解析所述数据报文。优选地,所述数据属性包括数据方向、开关量数据类型、模拟量数据类型、浮点数数据类型、数组数据类型和多媒体数据类型。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第一预设比特段设置第一预设值,所述第一预设值指示所述目标数据的数据方向;步骤s2进一步包括:设备接收端根据所述第一预设值确认所述目标数据的数据方向,并根据所述数据方向,解析所述数据报文。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第二预设比特段设置第二预设值,所述第二预设值用以指示所述目标数据的数据属性为开关量数据类型;步骤s2进一步包括:设备接收端根据所述第二预设值和开关量数据类型确认所述目标数据的数据长度,并根据所述开关量数据类型和数据长度,解析所述数据报文。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第三预设比特段设置第三预设值,所述第三预设值指示所述目标数据的数据属性为模拟量数据类型;步骤s2进一步包括:设备接收端根据所述第三预设值确定目标数据的数据长度,并根据所述模拟量数据类型和数据长度,解析所述数据报文。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第四预设比特段设置第四预设值,所述第四预设值指示所述目标数据的数据属性为数组数据类型;步骤s2进一步包括:设备接收端根据所述第四预设值确定目标数据的数据长度,并根据所述数组数据类型和数据长度,解析所述数据报文。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第五预设比特段设置第五预设值,所述第五预设值指示所述目标数据的数据属性为浮点数数据类型;所述步骤s2进一步包括:设备接收端根据所述第五预设值确定目标数据的浮点数精度,并根据所述浮点数数据类型和浮点数精度,解析所述数据报文。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第六预设比特段设置第六预设值,所述第六预设值指示所述目标数据的数据属性为多媒体数据类型;所述步骤s2进一步包括:设备接收端根据所述第六预设值和一预设算法确定目标数据的数据长度,并根据所述多媒体数据类型和数据长度,解析所述数据报文。优选地,所述数据报文还包括设备id,并将所述数据报文中的设备id、数据定义字和目标数据存储于数据库中,且所述设备id、数据定义字和目标数据一一对应。本发明还提供了一种数据报文处理系统,所述系统包括设备发送端和设备接收端,其中,设备发送端包括:确定模块,用于确定待传输的目标数据;生成模块,用于生成一数据报文,所述数据报文包括所述目标数据和用于指示所述目标数据的数据属性的一字节的数据定义字;发送模块,用于发送所述数据报文至设备接收端;设备接收端包括:接收模块,用于接收来自设备发送端的数据报文;解析模块,用于获取所述数据报文中的数据定义字,根据所述数据定义字判断所述目标数据的数据属性,并根据所述数据属性解析所述目标数据。与现有技术相比,本发明一种数据报文的处理方法及系统,具有以下有益效果:数据报文设置一个字节的数据定义字,该数据定义字就可以表示数据报文中的目标数据的数据属性,比如,目标数据的输入输出方式、开关量信息以及模拟量信息等,相对于现有技术中采用tlv格式生成数据报文的方案,该技术方案数据报文长度减少,减少了数据开销,同时减少了数据传输的时间,提高带宽的利用率,也提高了无线传输的效率,可以让支持更多无线设备;数据报文的逻辑处理简单,对设备mcu的处理能力要求不高,降低了设备成本;该方案更简单灵活;对于非大数据块的数据存储,数据库可以用单一列的数值来进行存储和分析。附图说明图1为本发明一个实施例的一种数据报文处理方法的流程图;图2为本发明一个实施例的一种数据报文处理系统的组成结构图。具体实施方式下面将以明确易懂的方式,结合附图说明优选实施方式,对一种数据报文的处理方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1为本发明一个实施例的一种数据报文的处理方法的流程图。如图1所示,所述方法应用于物联网中,包括:s1,设备发送端确定待传输的目标数据,并生成一数据报文发送至设备设备接收端,所述数据报文包括所述目标数据和用于指示所述目标数据的数据属性的一字节的数据定义字;s2,设备接收端获取所述数据报文,根据所述数据定义字判断所述目标数据的数据属性,并根据所述数据属性解析所述数据报文。本发明的方法应用于物联网中,物联网中的设备之间发送数据报文,通过发送报文来完成设备间的数据信息传输,比如,物联网中的控制中心设备发送控制信息至网络中的智能设备;智能设备发送本身的状态信息至控制中心设备,以使控制中心设备获取网络中的智能设备的状态信息。在物联网中,设备发送端发送报文,确定要发送的目标数据,设备发送端设置一字节的数据定义字,该数据定义字用于指示所述目标数据的数据属性,并生成一数据报文,所述数据报文包括一字节的数据定义字和目标数据。设备接收端接收到所述数据报文,解析所述数据报文,获取数据报文中的数据定义字,并根据所述定义字判断所述目标数据的数据属性,然后根据所述目标数据的数据属性,获取所述数据报文中的目标数据,并对所述目标数据进行相应地处理。比如,在物联网中,所述物联网包括一控制中心设备和智能灯泡,控制中心设备若控制灯泡的颜色,发送控制灯泡颜色的数据报文至智能灯泡,所述报文格式如下:报文头+数据定义字(一字节)+目标数据(设置灯泡颜色数据),其中,一字节的数据定义字是用来设置灯泡颜色这个目标数据对应的数据属性,所述数据定义字包括设置灯泡颜色的数据类型和目标数据的数据长度,比如,表示灯泡颜色的数据类型,常用采用rgb的数据类型或者rgbw的数据类型来表示。设备接收端接收所述数据报文后,对数据报文进行解析,获取所述数据报文中的数据定义字,并根据该数据定义字,获取所述数据报文中的数据属性和数据长度,即目标数据的数据属性为rgb数据类型或者rgbw数据类型,并根据该数据定义字获取目标数据的长度,根据目标数据长度来获取数据报文的设置灯泡颜色的数据信息,从而判断所述数据报文为设置灯泡颜色,智能灯泡设置灯泡颜色。在该技术方案中,物联网中设备间发送的数据报文包含一个字节的数据定义字和目标数据,通过一个字节的数据定义字就可以表示目标数据的多种数据属性,比如,数据属性包括数据的输入输出方式、开关量的数据类型、模拟量的数据类型以及对应的目标数据的数据长度;相对于现有技术中tlv格式,该技术方案数据报文长度减少,减少了数据开销,同时减少了数据传输的时间,提高带宽的利用率,也提高了无线传输的效率,可以让支持更多无线设备;该方案更简单灵活;数据报文的逻辑处理简单,对设备的mcu的处理能力要求不高,从而降低设备成本。下面以本发明的一具体实施例来对本发明的技术方案进行详细说明。设备发送端发送的数据报文格式如下:报文头报文长度命令字设备1type1data1设备2type2data2……其中,报文头包括报文的版本信息和报文长度;命令字表示该报文的类型,比如,该报文是控制报文还是状态报文;设备表示目标数据data所执行的对象,对应地为物联网中的智能设备的唯一id号;type表示目标数据data对应的数据定义字;data表示设备发送端发送的目标数据。其中,数据定义字type的定义如下表1所示:bit7描述输入输出bit6-bit1具体参见表2bit0描述开关状态其中,bit6-bit1的定义描述,如下表2所示:bit6-bit1描述000000开关量的数据类型1xxxxx模拟量的数据类型,xxxxx表示模拟量数据的精度01xxxx数组的数据类型0001xx16位浮点数的数据类型,xx表示精度000010多媒体数据类型下面以具体实施例对上述表1和表2进行详细的说明。优选地,所述数据属性包括数据方向、开关量数据类型、模拟量数据类型、浮点数数据类型、数组数据类型和多媒体数据类型。具体地,所述数据定义字用来指示目标数据的数据属性。物联网应用中常见的描述数据的数据属性很多种,比如,描述设备数据控制方向的数据属性,通常采用输入输出来表示;表述数据的数据类型有描述设备开关量的数据类型,例如,表示设备的开关状态通常采用开关量数据类型;用于表示设备颜色的数据类型通常采用模拟量数据类型;描述设备温湿度的数据类型通常采用浮点数的数据类型;串口通信通常采用数组的数据类型;一段图像或者一段音频的数据类型采用多媒体数据类型。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第一预设比特段设置第一预设值,所述第一预设值指示所述目标数据的数据方向;步骤s2进一步包括:设备接收端根据所述第一预设值确认所述目标数据的数据方向,并根据所述数据方向,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit7表示数据方向,用以表示数据的输入输出,比如设置bit7为1表示数据输入方向,bit7为0表示数据输出方向。比如,物联网中包括控制中心设备和智能灯泡,控制中心设备发送打开智能灯泡的数据报文至智能灯泡时,设置数据定义字为10000001b,发送数据报文格式如下:报文头+报文长度+命令字+{智能灯泡id}+{10000001b};智能灯泡发送数据至控制中心设备时,设置数据定义字的bit7为0。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第二预设比特段设置第二预设值,所述第二预设值用以指示所述目标数据的数据属性为开关量数据类型;步骤s2进一步包括:设备接收端根据所述第二预设值和开关量数据类型确认所述目标数据的数据长度,并根据所述开关量数据类型和数据长度,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit0表示智能设备的开关状态,用于表示物联网中的智能设备的开关状态,bit0为1表示打开,bit0为0表示关闭,数据定义字中设置bit1-bit6为000000b,表示为开关量数据类型,该值用以表示数据报文中的目标数据的数据属性为开关量数据类型,并根据数据定义字的值确认目标数据的数据长度,对开关量数据类型来说,该目标数据的数据长度是0字节,即用bit0来表示开关的状态,通过bit0的值来设置智能设备打开或者关闭,或者根据bit0的值获取智能设备的开关状态。比如,在物联网中,该物联网包括控制中心设备和智能开关,控制中心设备若要打开智能开关,控制中心设备发送打开智能开关的数据报文至智能开关,所述数据报文包括数据定义字和目标数据,其中,设置数据定义字的bit7为1,bit0为1,设置bit1-bit6为000000b,因而数据定义字设置为10000001b,数据报文中的目标数据为0字节,因而发送数据报文格式如下:报文头+报文长度+命令字+{智能开关id}+{10000001b};智能开关接收到该数据报文,对该数据报文进行解析,获取数据定义字的值,根据数据定义字中的bit1-bit6为000000b,判断目标数据为开关量数据类型,并且目标数据的数据长度为0字节,然后根据数据定义字中的bit0为1,判断打开智能开关,bit7为1表示对开关进行设置,因此根据bit0为1、bit7为1和bit1-bit6为000000b,判断该数据报文是打开智能开关,对智能开关执行打开开关的操作。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第三预设比特段设置第三预设值,所述第三预设值指示所述目标数据的数据属性为模拟量数据类型;步骤s2进一步包括:设备接收端根据所述第三预设值确定目标数据的数据长度,并根据所述模拟量数据类型和数据长度,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit1-bit6为1xxxxxb,该值表示为模拟量数据类型,该值用以表示数据报文中的目标数据为模拟量数据类型,其中,xxxxx的值用以表示所述目标数据的数据长度。比如,在物联网中,该物联网包括控制中心设备和智能灯泡,控制中心设备若要设置智能灯泡的颜色并打开智能灯泡,控制中心设备发送设置灯泡颜色和打开智能灯泡的数据报文至智能灯泡,所述数据报文包括数据定义字和目标数据,其中,设置数据定义字的bit7为1,bit0为1,设置bit1-bit6为110111b,因而数据定义字设置为11101111b,数据报文中的目标数据的数据长度为(23+1)bit,目标数据0xff0000设置智能灯泡颜色为红色,发送数据报文的格式如下:报文头+报文长度+命令字+{智能灯泡id}+{11101111b}+0xff0000;智能灯泡接收到该数据报文,解析该数据报文,获取数据定义字的值,根据数据定义字中的bit7为1为对智能灯泡进行设置,bit0为1为打开智能灯泡。根据bit1-bit6值为110111,判断目标数据为模拟量数据类型,并且根据所述10111的值判断目标数据的数据长度,即数据长度是(23+1)bit,获取数据报文中的目标数据,因此根据bit0、bit7和bit1-bit6的值,判断该数据报文是设置灯泡颜色并打开智能灯泡,然后根据目标数据判断为设置灯泡颜色为红色,智能灯泡执行相应的操作。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第四预设比特段设置第四预设值,所述第四预设值指示所述目标数据的数据属性为数组数据类型;步骤s2进一步包括:设备接收端根据所述第四预设值确定目标数据的数据长度,并根据所述数组数据类型和数据长度,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit1-bit6为01xxxxb,该值表示为数组数据类型,该值用以表示数据报文中的目标数据为数组数据类型,其中,xxxxx的值表示所述数据报文中的目标数据的数据长度。比如,在物联网中,该物联网包括控制中心设备和终端设备代理,该代理设备下外接一个第三方设备,两者之间通过串口通信进行互相通信,代理设备负责将串口信息透传给控制中心设备,此时就可以使用数组方式将串口信息的数据传输,设置数据定义字的bit7为1,bit0为0,设置bit1-bit6为010010b,其中,0010的值乘以4表示目标数据的数据长度是8字节,{0x12345678+0x90abcdef}表示数据报文中的目标数据,数据定义字设置为10100100b,因而发送的数据报文格式如下:报文头+报文长度+命令字+{代理终端id}+{10100100b}+{0x12345678+0x90abcdef};代理设备接收到该数据报文,对该数据报文进行解析,获取数据报文中的数据定义字的值,根据数据定义字的bit1-bit6为010010b,判断数据报文中的目标数据为数据组数据类型,然后根据数据定义字中的0010的值,判断目标数据的数据长度是8个字节,获取数据报文中的目标数据,代理设备根据数据长度获取目标数据为{0x12345678+0x90abcdef},从而根据目标数据执行相应的操作。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第五预设比特段设置第五预设值,所述第五预设值指示所述目标数据的数据属性为浮点数数据类型;所述步骤s2进一步包括:设备接收端根据所述第五预设值确定目标数据的浮点数精度,并根据所述浮点数数据类型和浮点数精度,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit1-bit6为0001xxb,表示为16位浮点数数据类型,该值用以表示数据报文中的目标数据为16位浮点数数据类型,16位浮点数的数据类型指示的目标数据长度固定为2个字节,其中,xx的值表示目标数据的浮点数精度或者小数位个数。比如,在物联网中,该物联网包括控制中心设备和温度传感器,控制中心若获取温度传感器的温度数据,温度传感器向控制中心设备上报温度数据,设置数据定义字的bit7为0,bit0为0,设置bit1-bit6为000110b,其中10表示温度数据的小数位为2位,数据定义字设置为00001100b,{0x09c4}为发送的目标数据,表示温度25.00度,温度传感器发送的数据报文格式如下:报文头+报文长度+命令字+{控制中心设备id}+{00001100b}+{0x09c4};控制中心设备接收到该数据报文,解析该数据报文,获取数据定义字的值,根据数据定义字中的bit1-bit6为000110b,判断目标数据为16位浮点数数据类型,然后根据数据定义字中的10值,判断为目标数据{0x09c4}的小数位为2位,根据目标数据和目标数据的小数位,因此控制中心设备获取温度传感器的温度数据是25.00度。优选地,所述步骤s1进一步包括:设备发送端在所述数据定义字的第六预设比特段设置第六预设值,所述第六预设值指示所述目标数据的数据属性为多媒体数据类型;所述步骤s2进一步包括:设备接收端根据所述第六预设值和一预设算法确定目标数据的数据长度,并根据所述多媒体数据类型和数据长度,解析所述数据报文。本发明的一具体实施例,数据定义字中设置bit1-bit6为000010,表示为多媒体数据类型,该值用以表示数据报文中的目标数据为多媒体数据类型。比如,在物联网中,该物联网包括控制中心设备和智能语音播放设备,控制中心设备向语音播放设备发送语音信息。设置数据定义字的bit7为1,bit0为0,设置bit1-bit6为000010,数据定义字设置为10000100b,控制中心设备发送的数据报文格式如下:报文头+报文长度+命令字+{智能语音播放设备id}+{10000100b}+{多媒体数据头部+语音数据};智能语音播放设备接收到该数据报文,解析该数据报文,获取数据定义字的值,根据数据定义字中的bit1-bit6为000010b,判断目标数据为多媒体数据类型,然后根据一预设算法确定数据报文中的目标数据的数据长度,比如,根据多媒体数据头部获取目标数据的数据长度。智能语音设备根据数据长度获取数据报文中的目标数据,进而设置播放的语音数据。根据上述具体实施例,通过一个字节的数据定义字就可以表示目标数据的多种数据属性,相对于现有技术中tlv格式,该技术方案减少数据开销,提高带宽的利用率,比如,控制设备发送数据报文至灯泡,要求设置灯泡颜色为红色并打开灯泡,若采用tlv格式,则发送的数据报文格式为:报文头+报文长度+设置颜色命令字+{智能灯泡id}+0x01(type)+0x03(len)+0xff0000(val)+设置开关命令字+{智能灯泡id}+0x01(type)+0x01(length)+0x01(val);若采用本发明的技术方案,则发送的数据报文格式为:报文头+报文长度+命令字+{智能灯泡id}+{11101111b}+0xff0000;从该具体实施例可以看出,采用本发明的技术方案,数据报文长度减少,减少了数据开销,同时减少了数据传输的时间,提高带宽的利用率;该方案更简单灵活;数据报文的逻辑处理简单,对设备的mcu的处理能力要求不高,从而降低设备成本。本发明一个具体实施例,对本发明中的数据报文的数据存储方法进行说明。在云服务端的数据库中,根据数据报文中的设备id、数据定义字和目标数据进行存储,并且所述设备id、数据定义字和目标数据进行存储一一对应。比如,可以将数据库表设计为如表3所示,智能设备id为唯一的标识智能设备的设备序列号,数据定义字存于一列中,对应的目标数据存于一列中,所述智能设备id、数据定义字和目标数据对应的存储在数据库中。通过该技术方案,即可将所有数据进行保存,达到数据统一化,优化了存储效率,减少开发工作量和维护工作量,不在需要针对不同的设备类型设计不同的表结构。表3:设备id数据定义字目标数据图2为本发明一个实施例的一种数据报文处理系统的组成结构图。如图2所示,所述系统包括设备发送端和设备接收端,其中,设备发送端包括:确定模块20,用于确定待传输的目标数据;生成模块21,用于生成一数据报文,所述数据报文包括所述目标数据和用于指示所述目标数据的数据属性的一字节的数据定义字;发送模块22,用于发送所述数据报文至设备接收端;设备接收端包括:接收模块23,用于接收来自设备发送端的数据报文;解析模块24,用于获取所述数据报文中的数据定义字,根据所述数据定义字判断所述目标数据的数据属性,并根据所述数据属性解析所述目标数据。在具体实施过程中,物联网中的设备之间发送数据报文,通过发送报文来完成设备间的数据信息传输,比如,物联网中的控制中心设备发送控制信息至网络中的智能设备;智能设备发送本身的状态信息至控制中心设备,以使控制中心设备获取网络中的智能设备的状态信息。在物联网中,设备发送端在确定模块20中确定要发送的目标数据,该目标数据用于物联网中设备传输的数据信息,比如传输设置灯泡颜色的数据信息,或者获取温度传感器的温度数据信息。生成模块21中设置一字节的数据定义字,该数据定义字用于指示所述数据报文中的目标数据的数据属性,并生成一数据报文,所述数据报文包括一字节的数据定义字和目标数据。所述数据属性包括数据方向、开关量数据类型、模拟量数据类型、浮点数数据类型、数组数据类型和多媒体数据类型,比如,描述设备数据控制方向的数据属性,通常采用输入输出来表示;表述数据的数据类型有描述设备开关量的数据类型;用于表示设备颜色的数据类型通常采用模拟量数据类型;描述设备温湿度的数据类型通常采用浮点数的数据类型;串口通信通常采用数组的数据类型;一段图像或者一段音频的数据类型采用多媒体数据类型。然后通过发送模块22发送所述数据报文至设备接收端。设备接收端通过接收模块23接收到数据报文。在解析模块24中,对所述数据报文进行解析,获取所述数据报文中的数据定义字,根据所述定义字判断所述目标数据的数据属性,然后根据所述目标数据的数据属性,获取所述数据报文中的目标数据,并对所述目标数据进行相应地处理。通过该技术方案,相对于现有技术中tlv格式,该技术方案数据报文长度减少,同时减少了数据传输的时间,提高带宽的利用率,也提高了无线传输的效率,可以让支持更多无线设备;该方案更简单灵活;数据报文的逻辑处理简单,对设备的mcu的处理能力要求不高,从而降低设备成本。综上所述,本发明一种数据报文的处理方法及系统,在数据报文设置一个字节的数据定义字,该数据定义字就可以表示数据报文中的目标数据的数据属性,比如,目标数据的输入输出方式、开关量信息以及模拟量信息等,相对于现有技术中采用tlv格式生成数据报文的方案,该技术方案减少数据开销,提高带宽的利用率;该方案更简单灵活。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1