[go: up one dir, main page]

CN118984345B - 一种适用于物联网的ip报文解析方法及系统 - Google Patents

一种适用于物联网的ip报文解析方法及系统 Download PDF

Info

Publication number
CN118984345B
CN118984345B CN202411396989.2A CN202411396989A CN118984345B CN 118984345 B CN118984345 B CN 118984345B CN 202411396989 A CN202411396989 A CN 202411396989A CN 118984345 B CN118984345 B CN 118984345B
Authority
CN
China
Prior art keywords
attribute
value
message
analysis
binary
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
Application number
CN202411396989.2A
Other languages
English (en)
Other versions
CN118984345A (zh
Inventor
陈细平
陈卫强
吴君麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Half Cloud Technology Co ltd
Original Assignee
Hangzhou Half Cloud Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Half Cloud Technology Co ltd filed Critical Hangzhou Half Cloud Technology Co ltd
Priority to CN202411396989.2A priority Critical patent/CN118984345B/zh
Publication of CN118984345A publication Critical patent/CN118984345A/zh
Application granted granted Critical
Publication of CN118984345B publication Critical patent/CN118984345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书的多个实施例涉及信息技术领域,具体涉及一种适用于物联网的IP报文解析方法及系统。所述方法包括步骤:尝试从所述IP报文的指定位置查找预先设定的启动符;当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,分别使用所述解析方法解析对应的所述字符,获得属性值;生成所述属性名称及所述属性值的KV值,完成IP报文的解析。

Description

一种适用于物联网的IP报文解析方法及系统
技术领域
本说明书的多个实施例涉及信息技术领域,具体涉及一种适用于物联网的IP报文解析方法及系统。
背景技术
当前物联网行业正在以惊人的速度发展,物联设备已经广泛应用于各个领域,从大型工业物联网系统到家庭智能设备。随着越来越多的智能硬件设备加入网络,数据交换成为了迫切的需求。在这个过程中,网络通信是必不可少的环节,而TCP/UDP协议作为常用的传输协议,支撑着大量的数据包传输。这些数据包通常以16进制形式在网络中传输。然而16进制报文格式的安全、高效解析成为了数据交换中的一个挑战。解析这类数据时,通常需要根据具体的业务需求和对接文档编写定制化的代码,并按照预定义的业务逻辑来进行解析。这种方法缺乏灵活性,每当遇到新的对接文档时,都需要重新编写代码,这不仅增加了对接的成本,还使得整个过程变得复杂且耗时。为了应对这一挑战,业界急需寻找更为灵活和高效的解析方法,以减少重复劳动并提高数据交换的效率。
发明内容
本说明书多个实施例描述了一种适用于物联网的IP报文解析方法及系统。
第一方面,本说明书实施例提供了一种适用于物联网的IP报文解析方法,包括步骤:
尝试从所述IP报文的指定位置查找预先设定的启动符;
当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,
分别使用所述解析方法解析对应的所述字符,获得属性值;
生成所述属性名称及所述属性值的KV值,完成IP报文的解析。
第二方面,本说明书实施例提供了一种适用于物联网的IP报文解析系统,包括:
查找模块,尝试从所述IP报文的指定位置查找预先设定的启动符;
截取模块,当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,
解析模块,分别使用所述解析方法解析对应的所述字符,获得属性值;
生成模块,生成所述属性名称及所述属性值的KV值对,完成IP报文的解析。
第三方面,本说明书实施例提供了电子设备,包括处理器以及存储器;
所述处理器与所述存储器相连;
所述存储器,用于存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行上述任一方面所述的方法。
第四方面,本说明书实施例提供了计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面所述的方法。
第五方面,本说明书实施例提供了计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方面所述的方法。
本说明书一些实施例提供的技术方案带来的有益效果至少包括:
在本说明书多个实施例中,提供的IP报文解析方法能够根据属性表进行跳序式的解析,只解析需要的属性,从而提高IP报文的解析效率。本说明书多个实施例披露的IP报文解析方法能够适配定长IP报文,也能够适配不定长IP报文,而且通过配置属性表既可以自定义解析方式,具有高度灵活的扩展性。使用公有属性表使得属性的相关配置能够复用,节省属性的配置时间,适合物联网中大量的设备进行部署配置。
本说明书多个实施例的其他特点和优点将会在下面的具体实施方式、附图中进一步揭示。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的IP报文解析方法应用场景示意图。
图2为本说明书实施例提供的IP报文解析方法流程示意图。
图3为本说明书实施例提供的重复属性解析方法流程示意图。
图4为本说明书实施例提供的校验和生成方法示意图。
图5为本说明书实施例提供的重复属性解析系统示意图。
图6为本说明书实施例提供的电子设备示意图。
具体实施方式
下面结合本说明书实施例的附图对本说明书实施例的技术方案进行解释和说明,但下述实施例仅为本说明书的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本说明书的保护范围。
本说明书中的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在下文描述中,出现诸如术语“内”、“外”、“上”、“下”、“左”、“右”等指示方位或者位置关系仅是为了方便描述实施例和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本说明书的限制。
本申请所涉及的数据,均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的采集遵守相关国家和地区的相关法律法规和标准。
介绍本说明书记载技术方案前,对应用场景及相关技术作介绍。
IP协议是互联网协议的基础,它定义了数据包在网络中的传输方式,使不同网络设备能够进行通信,实现便捷的组网通信主要依赖于路由器、交换机、网关等网络设备。通信过程大致可以分为以下几个步骤:首先,源设备将数据封装成IP数据包,其中包括目的地址、源地址以及数据包长度等信息;然后,数据包通过网络接口发送给下一跳设备,通常是路由器或网关;路由器根据路由表选择最佳路径,将数据包转发给下一个路由器或直接传送到目的地;在此过程中,路由器可能会进行NAT(网络地址转换),以适应不同网络间的通信;当数据包到达目标网络时,最后由目标网络中的交换机或其他网络设备将数据包送达最终的目的设备,即接收端设备;接收端设备解封数据包,恢复原始数据,并确认接收到的数据包无误。整个过程中,IP协议确保了数据包能够准确高效地从源地址传输到目的地址,即使在网络拓扑复杂多变的情况下也能保证通信的可靠性。
物联网的起因可以追溯到互联网技术的发展和传感器技术的进步。随着各种传感器变得越来越小型化、成本降低并且功耗减少,工程师们开始设想将物理世界的各种物体连接到互联网上,来收集和分析数据。物联网依赖多种关键技术,包括传感器技术、无线通信技术、云计算、大数据分析以及人工智能等。传感器技术用于收集环境或设备的数据,无线通信技术则确保这些数据能够在不同设备间可靠地传输。云计算和大数据技术提供了存储和处理海量数据的能力。物联网的应用非常广泛。例如,在智能家居领域,物联网技术可以让家中的各种设备如灯光、空调、安全系统等实现远程控制和自动化管理。也可以用于交通管理、环境监测、公共安全等方面。
IP报文格式主要包括报头部分和数据部分。其中,报头部分包含版本号、报头长度、服务类型、总长度、标识符、标志、片段偏移、生存时间(TTL)、协议、头部校验和、源IP地址、目的IP地址等字段。数据部分则是实际要传输的数据。报文的解析过程首先是接收设备检查IP报文的头部校验和,确保报文没有损坏。然后根据目的IP地址查找路由表,确定报文的下一跳。接着检查TTL值,防止报文在网络中无限循环。如果TTL值为零,则丢弃报文并发送ICMP超时报文,否则继续处理报文。但目前IP报文仍然存在安全性不足、容易遭受中间人攻击或数据篡改的问题。
更重要的是,由于IP报文头部固定格式限制了扩展性,难以适应未来可能出现的新需求。而物联网中的“万物互联”包括了各式各样的通信形式,统一按照目前的IP报文格式,会限制通信的效率。因此,对通信技术提出了更高的多样性和易扩展性的要求。因此需要研究基于TCP/IP通信的,更为适宜物联网使用的通信技术。本说明书披露一种支持方便添加自定义通信格式、支持跳跃解析的IP报文解析的技术。
请参阅附图1,为本说明书记载技术方案应用场景示意图。在物联网中,多个物联网设备10通过网络连接主机20,主机20具有解析装置21。解析装置21负责解析从网络上收到的物联网设备10发送的IP报文。本说明书记载技术方案应用在主机20上,具体运行在解析装置21上,实现IP报文的解析。其中,物联网设备10可以是打印机、投影仪、传感器、智能终端、智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能音箱、智能电视、智能手表、车载设备、可穿戴设备等。主机20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。物联网设备10与服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和物联网设备10的数量也不做限制。
鉴于本申请会涉及到一些专业术语,因此,下面将对这部分专业术语先进行介绍。
IP报文
IP报文是指在网络中传输的数据包,它由两部分组成,即报头和数据。报头包含了确保数据包正确传输所需的信息,如版本号、报头长度、服务类型、总长度、标识符、标志、片段偏移、生存时间(TTL)、协议、头部校验和、源IP地址、目的IP地址等。数据则是实际要传输的信息。报文在传输过程中通过路由器进行转发,直到到达目的地。报头中的信息帮助路由器确定最佳路径,并确保数据包能够准确高效地送达目的地址。
物联网
物联网是指通过互联网将各种设备和物品连接起来形成的一个网络。这些设备和物品能够互相通信并共享数据,从而实现智能化管理和控制。物联网利用传感器、射频识别(RFID)、全球定位系统(GPS)、红外感应器等多种信息传感设备,将任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理。物联网技术广泛应用在智能家居、智慧城市、工业生产、医疗健康、交通物流等多个领域,提高了生产效率和服务质量,并带来了更加便捷和智能的生活方式。
KV值
KV值是Key-Value的缩写,通常用于配置文件或数据库中,表示键值对的形式,用于存储和检索数据。其中Key是唯一的标识符,Value是与之关联的数据项。这种键值对的形式简化了数据存储和访问的过程,使得数据结构更加清晰易用。在物联网和软件开发等领域中,KV值被广泛应用于缓存、数据库、配置管理等多种应用场景中。
会话业务
TCP/IP通信中的会话业务是指在网络中基于传输控制协议(TCP)和互联网协议(IP)实现的双向或多向数据交换过程。通过TCP协议确保数据包的可靠传输及按序递交,而IP协议则负责将数据包从源地址传输到目的地址。会话业务通常始于发送端向接收端发起连接请求,经过三次握手建立连接后,双方可以进行多次的数据交互。多次数据交互完成后,通过四次挥手断开连接。在整个会话期间,TCP/IP协议栈协同工作,比如每次会话业务新建并维护一个业务流水号,保证了数据的完整性、顺序性和可靠性。适用于网页浏览、电子邮件、文件传输等多种网络应用。
实施例1
本说明书首先提供了一种适用于物联网的IP报文解析方法,请参阅附图2,包括步骤:
步骤S01)尝试从所述IP报文的指定位置查找预先设定的启动符。
作为示例性的,启动符设置为“@@”,占用两字节,字符编码为“4040”。物联网设备10发送IP报文时,在遵循IP报文本身的必要规则的前提下,在IP报文的自定义内容处,以“@@”为开头,使主机20知晓能够以后续步骤进行该IP报文的解析。所述的必要规则指的是能够使IP报文在通信链路中流转,并最终到达主机20的IP报文规则。示例性的,必要规则需在IP报文的头部包括版本号、首部长度、总长度、生存时间、协议、头部校验和、源IP地址、目的IP地址地址。本实施例中,物联网设备10发送的IP报文也符合前述的必要规则,在IP报文的报文头中生成相应的内容,在IP报文的数据部分,以“@@”为开头即可。另一方面,还可以设置一个结束符,示例性的,结束符为“2323”,当读取到结束符时,表示本实施例记载的IP报文解析方法执行完毕。后续的IP报文的解析,按照本领域公开的IP报文解析方法进行。若不设置结束符,则在IP报文的数据部分的结尾完成本实施例披露的IP报文解析方法。
步骤S02)当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符。所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法。示例性的,属性“启动符”,属性名称为“启动符”,开始位为0,占用长度为2字节,解析方法为“默认”。属性“命令字节”,属性名称为“命令字节”,占用长度为1字节,开始位为缺省,解析方法为“转10进制”。
在本实施例中,属性相关的字符,包括属性名称及属性值,是连续的在IP报文中的。因此,前一个属性的开始位,再偏移其占用长度,即可获得下一个属性的开始位。因此本实施例记载的IP报文解析方法,需要读取第一个属性的开始位和占用长度,第一个属性固定为“启动符”,而后向后依次读取每个属性的属性名称及占用长度,根据属性名称判断是否是需要解析的属性,根据占用长度获得属性对应的字符,并同时计算获得下一个属性的开始位。
如表1所示,为示例的属性表,即一条IP报文中,存储了属性表中的部分属性。比如,一条IP报文依次存储了启动符、业务流水号、协议版本号、时间戳、源地址、目标地址、应用数据、信息对象数目、系统类型、系统地址、部件类型、部件地址、部件状态、部件说明、状态发生时间、结束符。其中,源地址、目标地址与源IP地址、目的IP地址不同,源地址、目标地址指物联网应用给物联网设备10及主机20分配的地址。当然,特殊情况下,也可以直接采用物联网设备10所取得的IP地址、主机20的IP地址作为物联网应用所分配的地址。但本实施例中,源地址、目标地址不仅可以使用IP地址表示,还可以使用其他方式表示。
表1 示例的属性表
应用数据表示物联网应用的编号、参量值等,如物联网应用为采集物联网设备10状态,参量值包括表示本次采集为日常自动采集的值。信息对象数目为1,表示本次采集1个物联网设备10的状态。系统类型表示物联网设备10上运行的控制系统的类型编码。系统地址表示物联网设备10上运行的控制系统被分配的识别地址。部件类型表示物联网设备10的设备类型。部件地址表示物联网设备10被分配的识别地址。部件状态表示物联网设备10的运行状态。部件说明表示物联网设备10的运行状态的说明,占据31字节,也就是主要用来记录所需采集数据的属性。状态发生时间表示物联网设备10本次采集的时间。匹配值表示经解析后,该属性的属性值需要与该值匹配,否则会被认定为无效报文。例如,启动符若解析获得的属性值不是“4040”,则该IP报文会被判定为无效报文。而命令字符解析获得的属性值则需要为“02”,若解析获得的属性值不是“02”,则该IP报文会被判定为无效报文。该判定只是站在接收IP报文的主机20角度设置的,因此表1示例的属性表也是特定的主机20内的属性表。物联网中其他角色的设备会有不同的设置。
另一方面,根据预先配置的属性表,多次截取所述IP报文指定位置的字符的方法包括:读取预设的所需属性表及属性表,根据所述属性表记录的所述属性的开始位、占用长度,截取所述IP报文中与所述所需属性表记录属性对应的位置的字符。
示例性的,若仅需要部件状态和部件说明两个属性,即本次IP报文是指定召测获得的,不是日常自动采集,因此系统地址、部件地址等属性均是已知的。此时,按照属性表(记录全部的属性)记录的属性名称和占用长度,依次查找并获得所需属性表(记录部件状态和部件说明)记录的属性的开始位及占用长度。
步骤S03)分别使用所述解析方法解析对应的所述字符,获得属性值。
使用属性表记录的解析方法对字符进行解析即可获得属性值。如表1中记录的时间解析将字符解析为时间,转10进制将字符转换为10进制数值。
步骤S04)生成所述属性名称及所述属性值的KV值,完成IP报文的解析。
示例性的,IP报文的数据部分以十六进制表示为:
44408900010228180F0D08155CA7B774010000000000000000D2A1D4BAB2B2D2A1C26CFBBFBCA8B81C30000002020202020208180F0D0818B72323
通过解析获得启动符=4040、业务流水号=8900、协议版本号=0102、时间标签=28180F0D0815、目标地址=000000000000、源地址=155CA7B77401、命令字节=02、校验和=B7、结束符=2323。其他属性的解析在此略写。使用本领域已公开的技术构建KV值即可完成IP报文的解析。
另一方面,所述属性表还记录所述属性的翻译表,所述翻译表记录属性值的翻译值,生成所述属性值的KV值时,使用所述属性名称及所述翻译值生成所述KV值。
示例性的,属性名称为命令字节的属性,其翻译对照为{"0":"预留","1":"控制命令","2":"发送数据","3":"确认","4":"请求","5":"应答","6":"否认","128":"心跳"},即将其属性值转换为10进制数值后,再根据属性表记录的翻译对照,将数值翻译为文本(或字符串)。以使属性值具有直接的可阅读性,使属性值本身能够起到应有的作用。
又一示例性的,属性的翻译对照集中记录如下:
命令字节:{ "0":"预留","1":"控制命令","2":"发送数据","3":"确认","4":"请求","5":"应答","6":"否认","128":"心跳"},
类型标志:{ "0":"预留","1":"上传建筑消防设施系统状态","2":"上传建筑消防设施部件运行状态","3":"上传建筑消防设施部件模拟量值","4":"上传建筑消防设施操作信息","5":"上传建筑消防设施系统时间","21":"上传物联网信息传输装置运行状态(类型1)","22":"上传物联网信息传输装置运行状态(类型2)","23":"上传物联网信息传输装置运行状态(类型3)","24":"上传物联网信息传输装置运行状态(类型4)","100":"上传物联网信息传输装置运行状态(类型5)","128":"用户自定义"},系统类型:{ "0":"通用","1":"室内消火栓系统","2":"电气火灾监控系统","3":"可燃气体探测报警系统","4":"固定消防炮灭火系统","128":"火灾报警系统"},部件类型:{ "0":"通用","1":"火灾报警控制器","91":"消防水泵","92":"消防水箱"},模拟量类型:{"1":"事件计数","2":"高度","3":"温度","4":"压力兆帕","5":"压力千帕","6":"气体浓度","7":"时间","8":"电压(V)","9":"电流","10":"流量(L/s)","11":"风速","12":"风速"}。
这些属性记录了一个监测建筑消防安全的物联网应用中,主机20存储的用于解析IP报文的属性表包括的翻译对照内容。
所述属性表包括公有属性表及本地属性表,所述公有属性表存储在指定的公用存储空间,所述本地属性表存储在本地,所述公有属性表接受新的属性的设置,当所述公有属性表与所述本地属性表记录的属性重复时,以所述本地属性表为准。
示例性的,公有属性表记录启动符、业务流水号、协议版本号、时间戳、源地址、目标地址、结束符属性,本地属性表记录应用数据、命令字符、类型标志、信息对象数目、系统类型、系统地址、部件类型、部件地址、部件状态、部件说明、状态发生时间、校验和,二者一起构成用于解析IP报文的属性表。
本实施例取得的新的技术效果包括:能够根据属性表进行跳序式的解析,只解析需要的属性,从而提高IP报文的解析效率。本实施例披露的IP报文解析方法能够适配定长IP报文,也能够适配不定长IP报文,而且通过配置属性表既可以自定义解析方式,具有高度灵活的扩展性。使用公有属性表使得属性的相关配置能够复用,节省属性的配置时间,适合物联网中大量的设备进行部署配置。
实施例2
本实施例中,所述属性表记录至少一个属性组、一个信息对象数目,所述属性组记录若干个属性,所述方法还包括步骤:
根据所述信息对象数目的开始位及占用长度从所述IP报文中解析出所述信息对象数目;
当所述信息对象数目非零时,根据所述属性组记录的开始位、占用长度及解析方法,向后解析若干个属性组,生成属性组包括的属性的KV值,解析出的属性组数量由所述信息对象数目确定。其余同实施例1。
仍以表1为例,表1中的信息对象数目之后的属性即为属性组。属性组包括系统类型、系统地址、部件类型、部件地址、部件状态、部件说明、状态发生时间。当信息对象数目为1时,表示不循环。当信息对象数目为大于1的整数时,表示本次IP报文携带了多个属性组的值,按照属性组中记录的属性名称及占用长度循环依次读取整个属性组的属性值。
本实施例相对于实施例1新取得的有益技术效果包括:通过建立属性组,在信息对象数目的控制下实现属性组的循环解析,从而能够将多个物联网设备10的状态上报数据,由其中一个物联网设备10或者集中器进行汇总后,在一条IP报文中上报至主机20,提高数据上报效率,同时也有助于快速完成解析。
实施例3
本实施例中,接收到本次会话业务的首个IP报文时,所述首个IP报文记录本次会话业务中的重复属性名称及重复长度。请参阅附图3,所述方法还包括步骤:
步骤S101)解析所述首个IP报文,获得本次会话业务中的重复属性名称及重复长度;
步骤S102)根据所述重复属性名称及重复长度,解析所述首个IP报文获得重复属性的属性值,生成对应的KV值;
步骤S103)在本次会话结束前,后续的IP报文的解析中,跳过所述重复属性的重复长度的解析,并使用所述KV值作为解析结果。其余同实施例1。
在物联网的通信中,大量物联网设备10具有相同的属性信息。如部署在同一幢大楼的多个监控设备,其系统类型、部件类型、部件地址是相同的,因此没必要每个IP报文中均进行解析。在本实施例中,只需要在首个IP报文中声明重复属性以及这些重复属性的属性值占用的长度(即重复长度),在首个IP报文中对这些重复属性进行解析即可,后续的IP报文中相应的重复属性,则直接进行跳过,不再进行解析。
本实施例相对于实施例1新取得的有益技术效果包括:通过主动在会话业务的首个IP报文中声明重复属性名称及重复长度,并在首个IP报文中进行解析,后续IP报文即可跳过这些属性的解析,提高IP报文解析的效率。
实施例4
本实施例中,所述IP报文还记录每个属性值的校验和,在同一个会话业务中,当IP报文的属性的校验和与在先的IP报文的相同属性的校验和相同时,跳过所述属性的解码,使用所述在先的IP报文中所述相同属性的属性值作为所述属性的属性值。在物联网中,当物联网设备10较多时,会存在大量的IP报文中的多个属性的属性值是相同的。本实施例中,对每个属性值进行校验和的计算,即起到识别传输错误的情况,同时,当同一个属性在本次回话业务中的多个IP报文中的校验和相同,则表明这些IP报文中的该属性的属性值是相同的。从而能够跳过后续校验和相同的IP报文的解析。
其中,请参阅附图4,生成所述校验和的方法包括:
步骤S201)预设倍值和偏移值,所述倍值和偏移值均以二进制数表示;
步骤S202)将属性值截取为若干个预设长度的二进制段;
步骤S203)读取首个二进制段视为二进制数与所述倍值相乘,再与所述偏移值相加获得和,丢弃所述和的高位值使所述和与所述二进制段的长度相同;
步骤S204)读取第二个二进制段,将所述和作为倍值,重复前一步骤,直至获得最后一个二进制段与倍值的相乘后,再与所述偏移值相加获得的最终和,按所述预设长度取所述最终和的末尾作为校验和。其余同实施例1。
将属性值截取为长度为16位的二进制段。将二进制数乘以预设的倍值后再与偏移值相加,获得的结果丢弃高位,仅保留末尾的16位二进制值。而后将保留的16位二进制值视为倍值,与下一个二进制数进行相乘,而后再加上偏移值。如此往复,直至计算完全部二进制段。示例性的,三个二进制段分别记为A1、A2和A3,倍值记为B,偏移值记为C。则首先计算D1=A1*B+C。取D1的末尾16位,记为D11。而后计算D2=A2*D11+C,取D2的末尾16位记为D21。而后计算D3=A3*D21+C,取D3的末尾16位记为D31,如此往复。最后一个二进制段若不足16位,则在末尾补0。经过计算可知,当两个属性值相同时,二者计算获得的校验和相同。当两个属性值不同时,计算获得的校验和相同的概率是1/2^16,约为1/65536,是一个足够低的概率。
本实施例相对于实施例1新取得的有益技术效果包括:通过设置校验和即能够检验出IP报文在传输过程中有没有出现错误,同时也能够快速的发现相同的属性值,从而能够直接采用在前的IP报文相同属性名称的属性值,而不需要对本次IP报文进行解析,在存在大量重复、相同属性值的物联网中,能够适宜适用,提高IP报文的解析效率。
另一方面,本说明书提供了一种适用于物联网的IP报文解析系统,请参阅附图5,包括:
查找模块100,尝试从所述IP报文的指定位置查找预先设定的启动符;
截取模块200,当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,
解析模块300,分别使用所述解析方法解析对应的所述字符,获得属性值;
生成模块400,生成所述属性名称及所述属性值的KV值对,完成IP报文的解析。
请参阅图6示出的本说明书实施例提供的一种电子设备的结构示意图。
如图6所示,该电子设备 1100可以包括:至少一个处理器 1101、至少一个网络接口 1104、用户接口 1103、存储器 1105以及至少一个通信总线 1102。其中,通信总线 1102可用于实现上述各个组件的连接通信。其中,用户接口 1103可以包括按键,可选用户接口还可以包括标准的有线接口、无线接口。其中,网络接口 1104 可以但不局限于包括蓝牙模块、NFC 模块、Wi-Fi 模块等。其中,处理器 1101 可以包括一个或者多个处理核心。处理器1101 利用各种接口和线路连接整个电子设备 1100内的各个部分,通过运行或执行存储在存储器 1105 内的指令、程序、代码集或指令集,以及调用存储在存储器 1105 内的数据,执行路由设备 1100 的各种功能和处理数据。可选的,处理器 1101 可以采用 DSP、FPGA、PLA 中的至少一种硬件形式来实现。处理器 1101 可集成CPU、GPU 和调制解调器等中的一种或几种的组合。其中,CPU 主要处理操作系统、用户界面和应用程序等;GPU 用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。
可以理解的是,上述调制解调器也可以不集成到处理器 1101中,单独通过一块芯片进行实现。
其中,存储器 1105 可以包括 RAM,也可以包括 ROM。可选的,该存储器 1105 包括非瞬时性计算机可读介质。存储器 1105 可用于存储指令、程序、代码、代码集或指令集。存储器 1105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1105 可选的还可以是至少一个位于远离前述处理器 1101 的存储装置。作为一种计算机存储介质的存储器 1105中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。处理器 1101 可以用于调用存储器 1105 中存储的应用程序,并执行上述多个实施例中的方法。
本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述实施例中的多个步骤。上述电子设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
本说明书实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例中的多个步骤。
在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本说明书实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital SubscriberLine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
当通过硬件、固件实现时,将前述的方法流程编程到硬件电路中来得到相应的硬件电路结构,实现相应的功能。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(FieldProgrammable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
以上所述的实施例仅仅是本说明书的优选实施例方式进行描述,并非对本说明书的范围进行限定,在不脱离本说明书的设计精神的前提下,本领域普通技术人员对本说明书的技术方案作出的各种变形及改进,均应落入本说明书的权利要求书确定的保护范围内。

Claims (9)

1.一种适用于物联网的IP报文解析方法,其特征在于,包括步骤:
尝试从所述IP报文的指定位置查找预先设定的启动符;
当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,
分别使用所述解析方法解析对应的所述字符,获得属性值;
生成所述属性名称及所述属性值的KV值,完成IP报文的解析;
所述IP报文还记录每个属性值的校验和,在同一个会话业务中,当IP报文的属性的校验和与在先的IP报文的相同属性的校验和相同时,跳过所述属性的解码,使用所述在先的IP报文中所述相同属性的属性值作为所述属性的属性值;
生成所述校验和的方法包括:
预设倍值和偏移值,所述倍值和偏移值均以二进制数表示;
将属性值截取为若干个预设长度的二进制段;
读取首个二进制段视为二进制数与所述倍值相乘,再与所述偏移值相加获得和,丢弃所述和的高位值使所述和与所述二进制段的长度相同;
读取第二个二进制段,将所述和作为倍值,重复前一步骤,直至获得最后一个二进制段与倍值的相乘后,再与所述偏移值相加获得的最终和,按所述预设长度取所述最终和的末尾作为校验和。
2.根据权利要求1所述的一种适用于物联网的IP报文解析方法,其特征在于,
所述属性表记录至少一个属性组、一个信息对象数目,所述属性组记录若干个属性,所述方法还包括步骤:
根据所述信息对象数目的开始位及占用长度从所述IP报文中解析出所述信息对象数目;
当所述信息对象数目非零时,根据所述属性组记录的开始位、占用长度及解析方法,向后解析若干个属性组,生成属性组包括的属性的KV值,解析出的属性组数量由所述信息对象数目确定。
3.根据权利要求1所述的一种适用于物联网的IP报文解析方法,其特征在于,
所述属性表还记录所述属性的翻译表,所述翻译表记录属性值的翻译值,生成所述属性值的KV值时,使用所述属性名称及所述翻译值生成所述KV值。
4.根据权利要求1所述的一种适用于物联网的IP报文解析方法,其特征在于,
根据预先配置的属性表,多次截取所述IP报文指定位置的字符的方法包括:
读取预设的所需属性表及属性表,根据所述属性表记录的所述属性的开始位、占用长度,截取所述IP报文中与所述所需属性表记录属性对应的位置的字符。
5.根据权利要求1所述的一种适用于物联网的IP报文解析方法,其特征在于,
接收到本次会话业务的首个IP报文时,所述首个IP报文记录本次会话业务中的重复属性名称及重复长度,
所述方法还包括步骤:
解析所述首个IP报文,获得本次会话业务中的重复属性名称及重复长度;
根据所述重复属性名称及重复长度,解析所述首个IP报文获得重复属性的属性值,生成对应的KV值;
在本次会话结束前,后续的IP报文的解析中,跳过所述重复属性的重复长度的解析,并使用所述KV值作为解析结果。
6.一种适用于物联网的IP报文解析系统,其特征在于,包括:
查找模块,尝试从所述IP报文的指定位置查找预先设定的启动符;
截取模块,当存在所述启动符时,根据预先配置的属性表,多次截取所述IP报文指定位置的字符;所述属性表记录若干个属性,所述属性包括属性名称、开始位、占用长度及解析方法,
解析模块,分别使用所述解析方法解析对应的所述字符,获得属性值;
生成模块,生成所述属性名称及所述属性值的KV值对,完成IP报文的解析;
所述IP报文还记录每个属性值的校验和,在同一个会话业务中,当IP报文的属性的校验和与在先的IP报文的相同属性的校验和相同时,跳过所述属性的解码,使用所述在先的IP报文中所述相同属性的属性值作为所述属性的属性值;
生成所述校验和的方法包括:
预设倍值和偏移值,所述倍值和偏移值均以二进制数表示;
将属性值截取为若干个预设长度的二进制段;
读取首个二进制段视为二进制数与所述倍值相乘,再与所述偏移值相加获得和,丢弃所述和的高位值使所述和与所述二进制段的长度相同;
读取第二个二进制段,将所述和作为倍值,重复前一步骤,直至获得最后一个二进制段与倍值的相乘后,再与所述偏移值相加获得的最终和,按所述预设长度取所述最终和的末尾作为校验和。
7.电子设备,其特征在于,包括处理器以及存储器;
所述处理器与所述存储器相连;
所述存储器,用于存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-5任一项所述的方法。
8.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法。
9.计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法。
CN202411396989.2A 2024-10-09 2024-10-09 一种适用于物联网的ip报文解析方法及系统 Active CN118984345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411396989.2A CN118984345B (zh) 2024-10-09 2024-10-09 一种适用于物联网的ip报文解析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411396989.2A CN118984345B (zh) 2024-10-09 2024-10-09 一种适用于物联网的ip报文解析方法及系统

Publications (2)

Publication Number Publication Date
CN118984345A CN118984345A (zh) 2024-11-19
CN118984345B true CN118984345B (zh) 2025-01-14

Family

ID=93453450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411396989.2A Active CN118984345B (zh) 2024-10-09 2024-10-09 一种适用于物联网的ip报文解析方法及系统

Country Status (1)

Country Link
CN (1) CN118984345B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110191095A (zh) * 2019-04-28 2019-08-30 厦门科灿信息技术有限公司 数据处理的方法及终端设备
CN115701088A (zh) * 2021-07-30 2023-02-07 比亚迪股份有限公司 数据包解析方法、系统、存储介质及电子设备
CN116155745A (zh) * 2022-12-21 2023-05-23 三一智矿科技有限公司 报文解析方法、装置、存储介质及计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815880B (zh) * 2015-12-01 2021-07-06 厦门雅基软件有限公司 动画复用方法和系统
CN111404883B (zh) * 2020-03-02 2022-10-14 青岛聚好联科技有限公司 一种物联网设备通用协议的解析方法及装置
CN115695225B (zh) * 2022-10-13 2025-05-09 北京四方继保工程技术有限公司 一种基于数据脚本定义的cms报文通用解码及展示方法和系统
CN116708607A (zh) * 2023-05-24 2023-09-05 中国舰船研究设计中心 一种船舶信息系统网络协议报文通用解析系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110191095A (zh) * 2019-04-28 2019-08-30 厦门科灿信息技术有限公司 数据处理的方法及终端设备
CN115701088A (zh) * 2021-07-30 2023-02-07 比亚迪股份有限公司 数据包解析方法、系统、存储介质及电子设备
CN116155745A (zh) * 2022-12-21 2023-05-23 三一智矿科技有限公司 报文解析方法、装置、存储介质及计算机设备

Also Published As

Publication number Publication date
CN118984345A (zh) 2024-11-19

Similar Documents

Publication Publication Date Title
CN108965484B (zh) 一种物联网数据的传输方法、系统及终端
US9727574B2 (en) System and method for applying an efficient data compression scheme to URL parameters
CN105099960B (zh) 用于实现服务链的方法和装置
CN110381054A (zh) 报文解析方法、装置、设备及计算机可读存储介质
US10594828B2 (en) Delivery of incremental sensor data over optimized channel
EP3208974A1 (en) Power line carrier communication terminal control device, system and method
CN109218261B (zh) 一种数据处理方法及数据处理装置
CN112738791A (zh) 基于5g核心网的用户信息关联回填方法、装置、设备和介质
CN103534988A (zh) 消息发布与订阅的方法及装置
JP2013543189A (ja) Smsを用いて遠隔デバイスを制御する方法及びそのための装置
CN113596017B (zh) 一种协议解析方法、装置、软网关和存储介质
CN105450585A (zh) 一种信息传输方法及装置
EP3226516B1 (en) Unified data networking across heterogeneous networks
EP3226518A1 (en) Content delivery across heterogeneous networks
CN115150207B (zh) 工业网络设备识别方法、装置、终端设备及存储介质
CN118984345B (zh) 一种适用于物联网的ip报文解析方法及系统
CN106878182B (zh) 一种数据传输方法及设备
CN114025027A (zh) 数据传输脚本的运行方法、装置、存储介质和电子装置
CN109032693A (zh) 一种加载展示信息方法、装置、电子设备及可读存储介质
US11160139B2 (en) Method for optimizing per message type data exchange between connected objects
CN110581792A (zh) 一种报文传输方法及装置
CN110855562A (zh) 一种物联网数据分发管理方法及系统、存储介质及管理终端
CN112468600B (zh) 一种基于网络矩阵的应用消息通知方法、系统及存储介质
CN116418865A (zh) 网络数据的控制方法、装置和存储介质及电子设备
CN116437377A (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