一种基于TCP传输的应用层协议的编码和解码方法及系统技术方案

技术编号:38577186 阅读:25 留言:0更新日期:2023-08-26 23:24
本发明专利技术涉及一种基于TCP传输的应用层协议的编码和解码方法及系统,具体步骤包括:根据不同的协议类型构建对应的数据模型,并且以注解的形式指明各数据模型与自定义协议之间的对应关系,储存于应用程序的初始化表中;在数据模型的各属性信息上以注解的形式描述各属性信息及所占字节长度;收发TCP层的字节流数据时,灵活利用当前主流开发语言的反射和代理特性构建上述数据模型,并利用此特性来读取和设置模型中的各个属性值,从而完成二进制流数据的解、编码。编码。编码。

【技术实现步骤摘要】
一种基于TCP传输的应用层协议的编码和解码方法及系统


[0001]本专利技术涉及通过TCP传输的数据处理领域,具体为一种基于TCP传输的应用层协议的编码和解码方法及系统。

技术介绍

[0002]目前,随着物联网技术的发展,电网系统中大量采用边缘终端设备,如智能通道监控摄像头、布控球等设备。这些设备与上层平台之间需要通过信息交互实现整体系统功能。在大量远程过程调用(RPC)的数据交互场景中,信息交互需要直接通过TCP协议以自定义的消息格式来实现,特别是物联网设备和应用平台间之间的信息交互,例如交通部的JT808协议、新能源电车的GB32960协议、国六重型柴油车的GB17691协议,这些都是基于TCP传输的应用层协议。与传统的HTTP传输文本形式的XML或JSON格式不同,基于TCP传输的自定义协议是以二进制流的形式传输,故在消息发送和接收时就必须对待发送或接收的数据进行编、解码转换。在发送时应用层需将待发送的对象模型系列化成二进制流数据(编码),在接收时应用层需将接收到的二进制数据流转换成相应的对象模型(解码)。传统的编、解码方式在面对不同的协本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于TCP传输的应用层协议的编码和解码方法,其特征在于,具体步骤包括:根据不同的协议类型构建对应的数据模型,并且以注解的形式指明各数据模型与自定义协议之间的对应关系,储存于应用程序的初始化表中;在数据模型的各属性信息上以注解的形式描述各属性信息及所占字节长度;接收TCP数据包,拆解出自定义协议类型,从应用程序的初始化表中提取对应的数据模型,利用所述数据模型对接收的TCP数据包进行解码;根据待发送消息对象中的自定义协议类型,从应用程序的初始化表中提取对应的数据模型,利用所述数据模型将待发送数据进行编码。2.根据权利要求1所述的一种基于TCP传输的应用层协议的编码和解码方法,其特征在于,所述步骤利用所述数据模型对接收的TCP数据包进行解码的过程具体为:接收到的TCP数据包后根据包头中的协议类型从缓存中找到对应的数据模型,生成该数据模型的实例,并从数据模型中获取属性信息的描述内容,再根据该描述的内容来分别读取和设置该数据模型的各个属性值,从而完成该TCP数据包的解码过程。3.根据权利要求1所述的一种基于TCP传输的应用层协议的编码和解码方法,其特征在于,所述步骤利用所述数据模型将待发送数据进行编码打包的过程具体为:根据待发送消息对象中的协议类型构建相应的数据模型,从模型中获取属性信息的描述内容,根据所述描述内容调用不同的方法,将该属性值写到内存缓冲区,完成对应的TCP字节流数据包构建,从而完成编码。4.根据权利要求3所述的一种基于TCP传输的应用层协议的编码和解码方法,其特征在于,在编码和解码过程中根据协议类型构建相应的数据模型的步骤中,利用开发语言的反射和代理特性编写通用的程序代码,并在数据模型构建过程中添加属性信息的内容描述及属性值的读取方法。5.一种基于TCP传输的应用层协议的编码和解码系统,其特征在于,包括:数据模型构建模块:根据不同的协议类型构建对应的数据模型,并且以注解的形式指明各数据模型与自定义协议之间的对应关系,储存于应用程序的初始化表中;属性信息注...

【专利技术属性】
技术研发人员:王仁书陈伯建吴文斌张伟豪李哲舟韩腾飞梁曼舒林承华陈梅僖
申请(专利权)人:国网福建省电力有限公司国家电网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1