一种服务器和终端进行通信的数据传输方法与流程

文档序号:18825753发布日期:2019-10-09 01:32阅读:465来源:国知局

本发明涉及物联网技术领域,尤其涉及一种服务器和终端进行通信的数据传输方法。



背景技术:

随着通信及计算机的发展,物联网也得到了快速的发展,但是,目前在物联网中,服务器和终端进行数据传输时,传输效率比较低,而且安全性得不到保证。



技术实现要素:

本发明提供了一种服务器和终端进行通信的数据传输方法,包括:

报文由包头部分、数据部分、包尾部分组成,包头部分和包尾部分的格式固定,数据部分能够变动,数据部分被包在包头部分和包尾部分之间;

一个报文包含并列多个数据段,每个数据段内容格式在该数据传输方法中已经约定格式;

每一个bit位代表一种状态,一个字节表示8种状态;

包尾部分包括序列号,序列号的字节前3位代表加密状态,并对数据段进行加密。

作为本发明的进一步改进,包头部分包括识别头、数据段数、包长度,包尾部分包括序列号、校验位、和停止位。

作为本发明的进一步改进,数据部分由一个或者多个数据段组成,多个数据段打包在一个报文内传输。

作为本发明的进一步改进,在数据读取过程中,按位读取ascii、无符号8位、有符号8位,或者,按双字节读取ucs2、unicode用来传输中文或者其它非ascii字符。

作为本发明的进一步改进,报文的倒数第二位为校验位,在解包时进行包的正确性验证。

作为本发明的进一步改进,所述多个数据段包括登录包、状态包、位置数据组合包、设备参数及事件通知、在线指令、文件下载、终端上传文件。

作为本发明的进一步改进,所述位置数据组合包内包含gps位置包、lbs位置包、wifi位置包。

本发明的有益效果是:本发明的数据传输方法不但能够提高开发效率,而且提高了传输效率,并且数据传输的安全性得到了保障。

具体实施方式

本发明公开了一种服务器和终端进行通信的数据传输方法,该数据传输方法也是一种传输协议,包括:

报文由包头部分、数据部分、包尾部分组成,包头部分和包尾部分的格式固定,数据部分能够变动,数据部分被包在包头部分和包尾部分之间,采用固定格式和变动内容的方式,利于开发效率。

包头部分包括识别头、数据段数、包长度,这些是报文的基本信息。

包尾部分包括序列号、校验位、和停止位,分别是报文的身份识别、内容错误识别以及报文的结束位置。

数据部分可以由一个或者多个数据段组成,多个数据段打包在一个报文内传输,提高效率。

本发明中所有报文均按照以下方式进行组包:

例如:

本发明在在设计时考虑到高承载性,每一个bit位可以代表一种状态,一个字节可以表示8种状态。而字符协议需要一个字节表示一位,8种状态需要8个字节。在特定情况下,本协议是字符协议的1/8大小。

例如:

本发明还具有高可用性的特点:按字节传输比较灵性,可以按位读取ascii、无符号8位、有符号8位,也可按双字节读取ucs2、unicode用来传输中文或者其它非ascii字符。

与ascii协议对比示例:

ascii协议长度为193字节的位置信息包:

[3g*861358031672967*00a7*ud,090718,220658,c,0.000000,n,0.000000,w,0.000,0.000,0.000,0,21,87,0,0,00000020,5,0,460,00,9771,5023,96,9771,5024,96,9771,4043,102,9771,4041,103,9771,3921,104,0,2000.0],而换成对应二进制协议表示,长度为63,转换为ascii显示长126,实际存储长度比单纯ascii协议少130字节,几乎是ascii长度的1/3:d1d1003ac1018033070460008270382061898600621916071664700d58515f4f5447385f56312e3030032c2c012c03d8010000000014007800000002780d0d。

报文的倒数第二位为校验位,在解包时进行包的正确性验证,通过内置校验位,保证数据传输过程中的准确性。

一个报文内部可以并列多个数据段,每个数据段内容格式在本协议已经约定格式。例如:

登录包oxo1.......................

状态包oxo3.......................

位置数据组合包oxo5.........

设备参数及事件通知oxco..

在线指令oxc1...................

文件下载oxfd...................

终端上传文件oxfb............

一个位置组合包里面,可以包含gps位置包、lbs位置包、wifi位置包。通过一个报文可包含多个数据部分,提高传输效率。

序列号用来标识本包数据是设备开机后发送的第几包数据,可以通过序列号的连续性来分析设置的一般工作状态。一般情况下,设备每24小时重启一次,每20秒上传一次数据,24小时上传4320包数据,双字节的最大值为65535,采用低13位,最大长度表示为8191。此长度远远超过单日发送最大资料。序列号的高字节前3位代表加密状态,本协议支持3-des加密和aes加密,加密只对数据段有进行。

01号协议为登录包,在登录包内包含了设备常用信息,当登录后此信息和网络标识socketid进行绑定,后续包不再上传设备信息,达到减少包长度的目的。

在本发明中,在包长度内增加数据段数表示:通过大量数据研究发现,移动网络的收发数据量单包上限在1300字节左右,而2bytes最大值为65535,远远超过单包长度上限,所以改为低11位来表示数据包长度,最大值为2048。而高5位用来表示数据段部分的数据包数,最大值为31,在使用过程中不会出现如此多数据包。

本发明的数据传输方法不但能够提高开发效率,而且提高了传输效率,并且数据传输的安全性得到了保障。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1