掌桥专利:专业的专利平台
掌桥专利
首页

一种物联网终端物模型自适应编解码方法及系统

文献发布时间:2023-06-19 19:28:50


一种物联网终端物模型自适应编解码方法及系统

技术领域

本发明涉及物联网技术领域,尤其涉及一种物联网终端物模型自适应编解码方法及系统。

背景技术

通常,数据在设备中按数据类型随机存放在某个内存地址,各个数据互不关联;这样的数据不能在网络上直接传输。数据在网络上传输时,需要按特定的规则把一组数据进行序列化操作,转化成可数据的数据报文。编码是指把一组内存数据经过序列化操作转化成网络上可传输的数据报文的过程;反之,把网络上的数据报文经过解序列化操作转化成一组内存数据的过程称为解码。

对于物联网的上下行数据的编解码,目前常用的方法是根据物模型定义人工编写编解码程序或者根据物模型定义用代码生成工具生成相应的编解码程序,将这部分编解码程序和用户的业务程序集成,编译生成新的可执行程序,再将程序通过特定的烧录工具或者远程升级协议加载到终端上才能适应新的物模型定义;对于已经商用的终端,则要将新的编解码程序和用户程序集成编译成可执行程序后,通过FOTA(FirmwareOver-The-Air,智能空中固件升级)或SOTA(SoftwareOver-The-Air,智能空中软件升级)功能,将终端上的程序进行升级后才能适应新的物模型,如果没有远程升级功能,则无法适应新的物模型。

发明内容

本发明所要解决的技术问题是提供一种物联网终端物模型自适应编解码方法及系统,以无需用户另外人工编写生成终端侧的编解码程序即可实现对新的物模型的编解码。

第一方面,本发明实施例提供了一种物联网终端物模型自适应编解码方法,应用于物联网终端,包括以下步骤:业务初始化:加载物模型定义,从物模型定义中解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表;上行数据编码:对上行数据进行编码;下行指令解码:对下行指令进行解码。

其进一步技术方案为:所述上行数据编码中的所述上行数据包括上报数据及指令应答数据,所述上行数据编码具体包括:上报数据编码:当检测到上报数据时,根据用户提供的数据上报服务ID及解析获得的所述数据上报服务列表和所述数据属性列表进行数据编码;指令应答数据编码:当检测到指令应答数据时,根据用户提供的指令应答服务ID及解析获得的所述指令应答服务列表和所述数据属性列表进行数据编码。

其进一步技术方案为:所述上报数据编码具体包括:当检测到上报数据时,根据用户提供的数据上报服务ID于所述数据上报服务列表中搜寻对应的数据上报服务项;根据搜寻到的数据上报服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性;根据所述数据上报服务ID和搜寻到的数据属性结合对应的数据属性ID依序进行二进制编码,获得上报数据的二进制数据串。

其进一步技术方案为:所述指令应答数据编码具体包括:当检测到指令应答数据时,根据用户提供的指令应答服务ID于所述指令应答服务列表中搜寻对应的指令应答服务项;根据搜寻到的指令应答服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性;获取指令应答数据中的任务ID,根据任务ID、指令应答服务ID及搜寻到的数据属性结合对应的数据属性ID依序进行二进制编码,获得指令应答数据的二进制数据串。

其进一步技术方案为:所述下行指令解码具体包括:当检测到所述下行指令时,获取任务ID及下行指令服务ID;根据获得的所述下行指令服务ID于所述下行指令服务列表中搜寻对应的下行指令服务项;根据搜寻到的下行指令服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性;对所述下行指令的二进制数据串根据搜寻到的数据属性结合对应的数据属性ID的顺序进行解码,获得对应的具体数据内容。

第二方面,本发明实施例提供了一种物联网终端物模型自适应编解码系统,应用于物联网终端,包括业务初始化模块、编码模块及解码模块,所述业务初始化模块用于加载物模型定义,从物模型定义中解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表;所述编码模块与所述业务初始化模块相连,用于对上行数据进行编码;所述解码模块与所述业务初始化模块相连,用于对下行指令进行解码。

其进一步技术方案为:所述物联网终端物模型自适应编解码系统还包括存储模块,所述存储模块与所述业务初始化模块相连,用于存储所述数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表。

其进一步技术方案为:所述上行数据包括上报数据,所述编码模块包括上报数据编码单元,所述上报数据编码单元用于当检测到上报数据时,根据用户提供的数据上报服务ID及解析获得的所述数据上报服务列表和所述数据属性列表进行数据编码。

其进一步技术方案为:所述上行数据包括指令应答数据,所述编码模块包括指令应答数据编码单元,所述指令应答数据编码单元用于当检测到指令应答数据时,根据用户提供的指令应答服务ID及解析获得的所述指令应答服务列表和所述数据属性列表进行数据编码。

本发明的有益技术效果在于:本发明一种物联网终端物模型自适应编解码方法通过于物联网终端加载物模型定义以解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,以在物模型发生变化更新且需要上报数据、对平台的下行指令进行处理或应答时,可根据物模型定义解析出的对应列表直接对数据进行编解码,无需用户另外人工编写生成物联网终端的编解码程序即可实现对新的物模型进行编解码,无需重新加载编解码程序的过程,提高工作效率,且避免因物模型变更而必须在运营设备进行在线升级的问题。本发明一种物联网终端物模型自适应编解码系统也具有上述功能。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的物联网终端物模型自适应编解码方法的流程示意图;

图2为本发明实施例提供的物联网终端物模型自适应编解码方法的具体流程示意图;

图3为本发明实施例提供的物联网终端物模型自适应编解码方法的第一子流程示意图;

图4为本发明实施例提供的物联网终端物模型自适应编解码方法的第二子流程示意图;

图5为本发明实施例提供的物联网终端物模型自适应编解码方法的第三子流程示意图;

图6为本发明实施例提供的物联网终端物模型自适应编解码系统的框架示意图;

图7为本发明实施例提供的物联网终端物模型自适应编解码系统的具体框架示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1为本发明实施例提供的物联网终端物模型自适应编解码方法的流程示意图,所述物联网终端物模型自适应编解码方法包括以下步骤:

步骤S11、业务初始化:于物联网终端加载物模型定义,从物模型定义中解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表。其中,所述数据属性列表中存储的数据项包括通过外部模块采集到的数据。物联网终端可使用TCP协议和CTWING平台进行数据交互,以获取新的物模型定义,以在物模型定义更新变化时,可下载物模型定义进行后续操作。物模型定义是指物模型描述文件。数据报文可包括业务类型标识、对应的服务ID、数据长度及具体数据内容。所述数据属性列表中存储有多个数据属性,每个数据属性包括数据属性ID、数据类型、数据长度、数据上限及数据下限等信息。所述数据上报服务列表中存储有多个数据上报服务项,每个数据上报服务项包括有数据上报服务ID,数据上报服务项还包括其对应的上报服务的具体描述,以便调取应用;所述数据上报服务项包括至少一个数据属性,且所述数据上报服务项的数据属性的数目不大于数据属性列表的长度。所述下行指令服务列表中存储有多个下行指令服务项,每个下行指令服务项包括有下行指令服务ID,下行指令服务项还包括其对应的下行指令服务的具体描述,以便调取应用;所述下行指令服务项可不包括数据属性,也可包括至少一个数据属性,且所述下行指令服务项的数据属性的数目均不大于数据属性列表的长度。所述指令应答服务列表中存储有多个指令应答服务项,每个指令应答服务项包括有指令应答服务ID,指令应答服务项还包括其对应的指令应答服务的具体描述,以便调取应用。所述指令应答服务项可不包括数据属性,也可包括至少一个数据属性,且所述指令应答服务项的数据属性的数目均不大于数据属性列表的长度。所述数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表中存储的信息用于初始化编解码,以便后续根据需求直接获取信息进行编解码操作。

步骤S12、上行数据编码:对上行数据进行编码。

步骤S13、下行指令解码:对下行指令进行解码。

其中,数据在设备中按照数据类型单个随机存储在任一内存地址,编码是值将其中一组内存数据经过序列化操作转化成网络上可传输的数据报文的过程,而解码是指把网络上的数据报文经过解序列化操作转化成一组内存数据的过程。所述物联网终端物模型自适应编解码方法通过于物联网终端加载物模型定义以解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,以在物模型发生变化更新且需要上报数据、对平台的下行指令进行处理或应答时,可根据物模型定义解析出的对应列表直接对数据进行编解码,无需用户另外人工编写生成物联网终端的编解码程序即可实现对新的物模型进行编解码,无需重新加载编解码程序的过程,提高工作效率,且避免因物模型变更而必须在运营设备进行在线升级的问题。

结合图2,具体地,所述上行数据包括上报数据及指令应答数据,所述步骤S12包括:

步骤S121、上报数据编码:当检测到上报数据时,根据用户提供的数据上报服务ID及解析获得的所述数据上报服务列表和所述数据属性列表进行数据编码。其中,在进行数据上报编码时,上报数据可包括业务类型标识、数据上报服务ID、数据长度及具体数据内容,具体数据内容可根据数据上报服务ID所对应的数据上报服务项的数据属性的预设规则以根据对应的数据属性ID的先后顺序进行编码。例如,在需要上报温湿度数据的业务类型中,业务类型标识可用1个字节的无符号整型数据表示,数据上报服务ID可用2个字节的无符号短整型数据表示,数据长度可用2个字节无符号整型数据表示,温度数据和湿度数据均使用float类型表示,且温度在前,湿度在后。

步骤S122、指令应答数据编码:当检测到指令应答数据时,根据用户提供的指令应答服务ID及解析获得的所述指令应答服务列表和所述数据属性列表进行数据编码。

结合图3,所述步骤S121具体包括:

步骤S1211、当检测到上报数据时,根据用户提供的数据上报服务ID于所述数据上报服务列表中搜寻对应的数据上报服务项。

步骤S1212、根据搜寻到的数据上报服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性,以根据搜寻到的数据属性的详细信息获取相应的数据上报服务项所对应的数据上报服务的具体描述。

步骤S1213、根据所述数据上报服务ID和搜寻到的数据属性结合对应的数据属性ID依序进行二进制编码,获得上报数据的二进制数据串。

其中,所述步骤S1211前还可包括:判断是否存在上报数据,若是,执行步骤S1211。

结合图4,所述步骤S122具体包括:

步骤S1221、当检测到指令应答数据时,根据用户提供的指令应答服务ID于所述指令应答服务列表中搜寻对应的指令应答服务项。

步骤S1222、根据搜寻到的指令应答服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性,以根据搜寻到的数据属性的详细信息获取相应的指令应答服务项所对应的指令应答服务的具体描述。

步骤S1223、获取指令应答数据中的任务ID,根据获得的任务ID、指令应答服务ID及搜寻到的数据属性结合对应的数据属性ID依序进行二进制编码,获得指令应答数据的二进制数据串。其中,任务是指指令所对应的任务。

结合图5,具体地,所述步骤S13包括:

步骤S131、当检测到所述下行指令时,获取任务ID及下行指令服务ID。其中,下行指令是指需要平台下发的指令,任务是指指令所对应的任务。

步骤S132、根据获得的所述下行指令服务ID于所述下行指令服务列表中搜寻对应的下行指令服务项。

步骤S133、根据搜寻到的下行指令服务项的数据属性的数据属性ID逐个依序在所述数据属性列表中搜寻对应的数据属性,以根据搜寻到的数据属性的详细信息获取相应的下行指令服务项所对应的下行指令服务的具体描述。

步骤S134、对所述下行指令的二进制数据串根据搜寻到的数据属性结合对应的数据属性ID的顺序进行解码,获得对应的具体数据内容。

其中,所述步骤S131前还可包括:判断是否存在下行指令需要平台进行下发,若是,执行步骤S131。其中,当进行下行指令的解码时,先对数据报文进行预解码,获取1个字节的业务类型标识,当获得的业务类型标识的数据内容所指示的信息中判断该数据内容不是下行指令,则直接丢弃该数据;否则,则该数据内容是下行指令,执行步骤S131。

请参阅图6,图6为本发明实施例提供的物联网终端物模型自适应编解码系统的框架示意图,所述物联网终端物模型自适应编解码系统应用于物联网终端,且可执行上述物联网终端物模型自适应编解码方法,所述物联网终端物模型自适应编解码系统10包括业务初始化模块11、编码模块12及解码模块13,所述业务初始化模块11用于加载物模型定义,从物模型定义中解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,以可通过业务初始化模块11重新初始化编码模块12和解码模块13;所述编码模块12与所述业务初始化模块相连,用于对上行数据进行编码;所述解码模块13与所述业务初始化模块相连,用于对下行指令进行解码。

其中,所述物联网终端物模型自适应编解码系统10通过设置业务初始化模块11以于物联网终端加载物模型定义以解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,配合编码模块12及解码模块13,以重新初始化编码模块12和解码模块13,在物模型发生变化更新且需要上报数据、对平台的下行指令进行处理或应答时,可根据物模型定义解析出的对应列表直接对数据进行编解码,无需用户另外人工编写生成物联网终端的编解码程序即可实现对新的物模型进行编解码,无需重新加载编解码程序的过程,提高工作效率,且避免因物模型变更而必须在运营设备进行在线升级的问题。

结合图7,具体地,在本实施例中,所述物联网终端物模型自适应编解码系统10还包括存储模块14,所述存储模块14与所述业务初始化模块11相连,用于存储所述数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,以便后续编码模块12和解码模块13进行搜寻操作。

具体地,所述上行数据包括上报数据,所述编码模块12包括上报数据编码单元121,所述上报数据编码单元121用于当检测到上报数据时,根据用户提供的数据上报服务ID及解析获得的所述数据上报服务列表和所述数据属性列表进行数据编码。

具体地,所述上行数据包括指令应答数据,所述编码模块12包括指令应答数据编码单元122,所述指令应答数据编码单元122用于当检测到指令应答数据时,根据用户提供的指令应答服务ID及解析获得的所述指令应答服务列表和所述数据属性列表进行数据编码。

综上所述,本发明一种物联网终端物模型自适应编解码方法通过于物联网终端加载物模型定义以解析出数据属性列表、数据上报服务列表、下行指令服务列表及指令应答服务列表,以在物模型发生变化更新且需要上报数据、对平台的下行指令进行处理或应答时,可根据物模型定义解析出的对应列表直接对数据进行编解码,无需用户另外人工编写生成物联网终端的编解码程序即可实现对新的物模型进行编解码,无需重新加载编解码程序的过程,提高工作效率,且避免因物模型变更而必须在运营设备进行在线升级的问题。本发明一种物联网终端物模型自适应编解码系统也具有上述功能。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术分类

06120115926356