CN112068817B - 物联网终端侧的代码生成方法、系统、装置及介质 - Google Patents
物联网终端侧的代码生成方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN112068817B CN112068817B CN202010835159.0A CN202010835159A CN112068817B CN 112068817 B CN112068817 B CN 112068817B CN 202010835159 A CN202010835159 A CN 202010835159A CN 112068817 B CN112068817 B CN 112068817B
- Authority
- CN
- China
- Prior art keywords
- terminal
- internet
- things
- attribute
- service
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000013499 data model Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了物联网终端侧的代码生成方法、系统、装置及介质,方法包括:配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;获取数据表达格式和所述配置文件,映射得到不同代码模板;通过所述映射得到的代码模板生成所述物联网终端的源代码。本发明通过使用物模型封装终端实体模型,建立了不同终端的标准化、统一数据模型,将多源、异构的物联网数据进行整合,本发明能够为物联网的应用产商提供可扩展标准化的终端数据标准,为终端侧的实现提供统一编程规则以便代码自动生成,可广泛应用于物联网技术领域。
Description
技术领域
本发明涉及物联网技术领域,尤其是物联网终端侧的代码生成方法、系统、装置及介质。
背景技术
物模型指将物理空间中的实体数字化,并在云端构建该实体的数据模型。在物联网平台中,定义物模型即定义产品功能。完成功能定义后,系统将自动生成该产品的物模型。物模型描述产品是什么、能做什么、可以对外提供哪些服务。
物模型TSL(Thing Specification Language)。是一个JSON格式的文件。它是物理空间中的实体,如传感器、车载装置、楼宇、工厂等在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了这三个维度,即完成了产品功能的定义。
物联网是物物相连相通的网络,其基础是无处不在的各式各样的“物”,通过这些物的接入,实现各个领域的智慧应用。近年来,物联网已经在交通、物流、医疗、安防、家居、农业等不同领域取得迅猛的发展,各种各样终端在丰富物联网的接入范围的同时,引入不同传感技术和规范,由此导致终端之间的异构性。对于异构性的终端在开发存在如下问题:首先终端没有统一信息交互数据模型,无法提供可扩展标准化的数据标准,无法实现高效的应用集成和数据共享;其次缺少统一编程规则,不同终端侧代码实现主要靠程序员手工进行,需花费大量人力、时间去实现并且存在大量重复工作,效率低。
发明内容
有鉴于此,本发明实施例提供一种效率较高的物联网终端侧的代码生成方法、系统、装置及介质,以使用物模型封装终端实体模型,建立不同终端的标准化、统一数据模型,将多源、异构的物联网数据进行整合,为物联网的应用产商提供可扩展、标准化的终端数据标准,以及为终端侧实现统一编程规则以便代码自动生成。
本发明的第一方面提供了一种物联网终端侧的代码生成方法,包括:
配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;
确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
获取数据表达格式和所述配置文件,映射得到不同代码模板;
通过所述映射得到的代码模板生成所述物联网终端的源代码。
在一些实施例中,所述配置物联网终端的属性信息,包括以下至少之一:
配置所述物联网终端的属性名称;
配置所述物联网终端的属性标识;
配置所述物联网终端的数据类型;
配置所述物联网终端的数据长度;
配置所述物联网终端的数据最小值;
配置所述物联网终端的数据最大值;
配置所述物联网终端的属性描述;
配置所述物联网终端的属性单位。
在一些实施例中,所述配置物联网终端的服务信息,包括以下至少之一:
配置所述物联网终端的服务类型,所述服务类型包括以下至少之一:数据上报、事件上报、指令下发、指令下发响应;
配置所述物联网终端的服务标识;
配置所述物联网终端的服务名称;
配置所述物联网终端的服务描述;
配置所述物联网终端的服务参数列表。
在一些实施例中,所述确定所述物模型的配置文件,具体为:通过JSON格式对所述配置文件进行描述。
在一些实施例中,所述通过JSON格式对所述配置文件进行描述,包括:
通过productInfo确定所述物联网终端的产品信息;
通过properties确定所述物联网终端的属性列表;
通过services确定所述物联网终端的服务列表;
通过description确定所述物联网终端的服务描述值类型。
在一些实施例中,所述获取数据表达格式和所述配置文件,映射得到不同代码模板的步骤中,所述数据表达格式包括JSON格式和紧凑二进制格式。
在一些实施例中,所述获取数据表达格式和所述配置文件,映射得到不同代码模板,包括:
通过代码生成引擎加载所述物模型的配置文件,并对所述配置文件中的JSON格式内容进行解析,得到JSON格式的配置信息;
根据所述JSON格式的配置信息,解析得到属性列表和服务列表;
将所述属性列表生成对应的第一结构体,将所述服务列表生成对应的第二结构体;
将所述属性列表中每个属性的属性标识确定为所述第一结构体中成员变量名称;
将所述属性列表中每个属性的属性描述确定为所述第一结构体中成员变量的注释说明;
当确定数据表达格式为JSON格式时,调用JSON代码模板;
当确定数据表格式为紧凑二进制格式时,调用紧凑二进制代码模板。
本发明第二方面提供了一种物联网终端侧的代码生成系统,包括:
配置模块,用于配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;
确定模块,用于确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
映射模块,用于获取数据表达格式和所述配置文件,映射得到不同代码模板;
代码生成模块,用于通过所述映射得到的代码模板生成所述物联网终端的源代码。
本发明第三方面提供了一种装置,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如本发明第一方面所述的方法。
本发明第四方面提供了一种存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如本发明第一方面所述的方法。
本发明的实施例首先配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;然后确定所述物模型的配置文件;接着获取数据表达格式和所述配置文件,映射得到不同代码模板;最后通过所述映射得到的代码模板生成所述物联网终端的源代码。本发明通过使用物模型封装终端实体模型,建立了不同终端的标准化、统一数据模型,将多源、异构的物联网数据进行整合,本发明能够为物联网的应用产商提供可扩展标准化的终端数据标准,为终端侧提供统一编程规则以便代码自动生成。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的整体步骤流程图;
图2为本发明实施例的代码生成流程的整体示意图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
针对现有技术的缺点与不足,本发明提供一种基于物模型的物联网终端侧代码生成方法。旨在使用物模型封装终端实体模型,建立不同终端的标准化、统一数据模型,将多源、异构的物联网数据进行整合。为物联网的应用产商提供可扩展标准化的终端数据标准,为终端侧提供统一编程规则以便代码自动生成。如图1所示,本发明的方法包括以下步骤:
S1、配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;
本实施例的步骤S1包括S11和S12:
S11、配置物联网终端的属性信息;
具体地,步骤S11包括:配置所述物联网终端的属性名称;配置所述物联网终端的属性标识;配置所述物联网终端的数据类型;配置所述物联网终端的数据长度;配置所述物联网终端的数据最小值;配置所述物联网终端的数据最大值;配置所述物联网终端的属性描述;配置所述物联网终端的属性单位。
本发明实施例通过系统界面配置物联网终端对应的属性和服务的物模型。在本实施例中,属性需要配置属性名称、属性标识、数据类型、长度、最小值、最大值、属性描述以及单位,数据类型如表1所示:
表1
除了表1中的数据类型之外,在一些实施例中,若数据类型为枚举,则还需要配置枚举值与枚举说明的映射。
S12、配置物联网终端的服务信息;
具体地,步骤S12包括:配置所述物联网终端的服务类型,所述服务类型包括以下至少之一:数据上报、事件上报、指令下发、指令下发响应;配置所述物联网终端的服务标识;配置所述物联网终端的服务名称;配置所述物联网终端的服务描述;配置所述物联网终端的服务参数列表。
服务需要配置服务类型、服务ID、服务名称、服务标识、服务描述以及参数列表。其中服务类型有数据上报、事件上报、指令下发、指令下发响应;其中参数列表对于数据上报类型,参数仅允许从属性列表中选择添加,其他类型服务可由用户选择新建参数或从属性中选择。
S2、确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
具体地,步骤S2是通过JSON格式对所述配置文件进行描述,该步骤具体包括S21-S24:
S21、通过productInfo确定所述物联网终端的产品信息;
S22、通过properties确定所述物联网终端的属性列表;
S23、通过services确定所述物联网终端的服务列表;
S24、通过description确定所述物联网终端的服务描述值类型。
在本实施例中,使用JSON格式描述配置文件,文件格式可参考下列伪代码所示:
本实施例中,productInfo表示终端产品信息,包括:
productId表示终端产品编号(由系统自动分配),编号的值类型为数字;
properties表示属性列表,其中属性内容包括:propertyId表示属性编号值类型为数字、identifier表示属性标识(只支持数字、字母下划线并以字母及下划线开头)值类型为字符串、propertyName表示属性名称值类型为字符串、description表示属性描述值类型为字符串、dataType表示数据类型值类型为字符串(参考上述伪代码)、dataSchema表示对属性值特定约束值类型为字符串,包括:len表示长度、unit表示单位、min表示最小值、max表示最大值、enumDetail表示枚举值。
services为服务列表,其中服务内容包括:serviceId标识表示服务编号(自定义),服务编号的值类型为数字、identifier表示服务标识,值类型为字符串、serviceName表示服务名称,值类型为字符串、serviceType表示服务类型,值类型为字符串、description表示服务描述,值类型为字符串、properties表示本服务包含的属性列表,包含:propertyId表示上面属性列表中属性编号,serial表示该属性在属性列表中的顺序号。
S3、获取数据表达格式和所述配置文件,映射得到不同代码模板;其中,所述数据表达格式包括JSON格式和紧凑二进制格式。
本实施例中,数据表达格式使用JSON和紧凑二进制两种格式,其中JSON格式为{“serviceId”:8001,"taskId":2,“属性1标识”:属性1值,“属性2标识”:属性1值,“属性标识”:属性值};其中serviceId为配置的服务编号,taskId为该条数据的编号,属性标识为属性配置identifier的值,属性值为该属性对应终端采集到的值。
紧凑二进制格式参见表2:
表2
1byte | 2byte | 2byte | 2byte | n byte |
CMDType | ServiceID | Task ID | Payload_length | Payload |
其中,表2中的CMDType为报文类型,ServiceID为服务ID,Task ID为任务ID,Payload_length为数据长度,Payload为二进制格式数据(按照服务中属性列表的顺序号依次填充)。
本实施例的步骤S3包括:
S31、通过代码生成引擎加载所述物模型的配置文件,并对所述配置文件中的JSON格式内容进行解析,得到JSON格式的配置信息;
S32、根据所述JSON格式的配置信息,解析得到属性列表和服务列表;
S33、将所述属性列表生成对应的第一结构体,将所述服务列表生成对应的第二结构体;
S34、将所述属性列表中每个属性的属性标识确定为所述第一结构体中成员变量名称;
S35、将所述属性列表中每个属性的属性描述确定为所述第一结构体中成员变量的注释说明;
S36、当确定数据表达格式为JSON格式时,调用JSON代码模板;
S37、当确定数据表格式为紧凑二进制格式时,调用紧凑二进制代码模板。
S4、通过所述映射得到的代码模板生成所述物联网终端的源代码。
综上所述,本发明实施例的代码生成流程如图2所示,具体为:
1、代码生成引擎加载物模型描述配置文件,并解析JSON的物模型配置文件,加载内存。
2、根据加载JSON的配置信息,解析属性和服务。将属性列表生成对应的结构体;将服务列表中各个服务都生成为对应的结构体。根据属性数据类型映射为C语言的数据类型,把属性标识作为结构体成员变量的名称,把属性描述作为变量的注释说明。
3、判断数据表达格式。
4、如果是JSON数据格式则调用JSON代码模版生成JSON和结构体互转的代码文件。
5、如果是紧凑二进制格式则调用紧凑二进制代码模版生成紧凑二进制和结构体互转的代码文件。
下面进一步详细说明本发明的具体实施方式:
本发明首先通过系统界面配置物联网终端对应的属性和服务的物模型。
接着将配置物模型构造成程序可读取且结构化描述配置文件。
最后调用代码生成引擎,并且输入数据表达格式和物模型描述配置文件,根据不同数据表达格式映射不同代码模版生成终端侧的源代码。
在一些实施例中,通过物模型定义物联网终端的功能,构建终端实体的数据模型,主要包括:属性和服务。其中,属性用于描述终端运行最小功能,用于表示终端运行时的某个状态;服务用于描述终端可被外部调用的能力或方法,封装终端业务逻辑。属性实现了终端在语义规范的统一,统一语义保证终端属性的唯一性、可读性、可扩展性,并在关键字、表述方式、数据描述语言上进行规范和统一。服务按照服务的类型不同分为数据上报、事件上报、指令下发、指令下发响应。数据上报:终端采集数据后通过统一数据表达格式上传到上层应用;事件上报:终端将在运行过程中异常事件通过统一数据表达格式上报到上层应用;指令下发:上层应用统一数据表达格式给终端发送命令,实现对终端的实时控制;指令下发响应:与指令下发类似,不同在于终端需要生成响应向上层应用反馈指令执行结果。
另外,所述物模型描述配置文件中描述语言为能够完全实现物模型所包含的所有内容,直观地能够被电脑识别的数据结构化格式,可读性高并且容易被人类阅读。
在一些实施例中,输入数据表达格式为不同层之间统一的序列化格式,使用简单、易懂的标签对数据进行标记,侧重描述什么是数据,用户可以自定义标记,支持多种应用环境、跨平台、跨空间的,与软、硬件无关的计算机文档的一种标准格式。
本发明实施例生成的引擎包括物模型描述配置文件解析模块和代码生成模块。物模型描述配置文件解析模块将物模型描述配置文件中属性和服务读取出来并转换为程序可处理结构以备给代码生成模块调用;代码生成模块根据不同数据表达格式映射不同代码模版生成出终端侧源代码。
本发明实施例还提供了一种物联网终端侧的代码生成系统,包括:
配置模块,用于配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;
确定模块,用于确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
映射模块,用于获取数据表达格式和所述配置文件,映射得到不同代码模板;
代码生成模块,用于通过所述映射得到的代码模板生成所述物联网终端的源代码。
本发明实施例还提供了一种装置,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如图1所述的方法。
本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如图1所述的方法。
本发明旨在使用物模型封装终端实体模型,建立不同终端的标准化、统一数据模型,将多源、异构的物联网数据进行整合。为物联网的应用产商提供可扩展标准化的终端数据标准,为终端侧的实现提供统一编程规则以便代码自动生成。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种物联网终端侧的代码生成方法,其特征在于,包括:
配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;其中,所述物模型用于定义物联网终端的功能,并构建终端实体的数据模型,所述数据模型包括属性和服务;所述属性用于描述终端运行最小功能,用于实现终端在语义规范的统一;所述服务用于描述终端被外部调用的能力或方法,封装终端业务逻辑;
确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
获取数据表达格式和所述配置文件,映射得到不同代码模板,包括以下步骤:
通过代码生成引擎加载所述物模型的配置文件,并对所述配置文件中的JSON格式内容进行解析,得到JSON格式的配置信息;
根据所述JSON格式的配置信息,解析得到属性列表和服务列表;
将所述属性列表生成对应的第一结构体,将所述服务列表生成对应的第二结构体;
将所述属性列表中每个属性的属性标识确定为所述第一结构体中成员变量名称;
将所述属性列表中每个属性的属性描述确定为所述第一结构体中成员变量的注释说明;
当确定数据表达格式为JSON格式时,调用JSON代码模板;
当确定数据表格式为紧凑二进制格式时,调用紧凑二进制代码模板;
通过所述映射得到的代码模板生成所述物联网终端的源代码。
2.根据权利要求1所述的一种物联网终端侧的代码生成方法,其特征在于,所述配置物联网终端的属性信息,包括以下至少之一:
配置所述物联网终端的属性名称;
配置所述物联网终端的属性标识;
配置所述物联网终端的数据类型;
配置所述物联网终端的数据长度;
配置所述物联网终端的数据最小值;
配置所述物联网终端的数据最大值;
配置所述物联网终端的属性描述;
配置所述物联网终端的属性单位。
3.根据权利要求1所述的一种物联网终端侧的代码生成方法,其特征在于,所述配置物联网终端的服务信息,包括以下至少之一:
配置所述物联网终端的服务类型,所述服务类型包括以下至少之一:数据上报、事件上报、指令下发、指令下发响应;
配置所述物联网终端的服务标识;
配置所述物联网终端的服务名称;
配置所述物联网终端的服务描述;
配置所述物联网终端的服务参数列表。
4.根据权利要求1所述的一种物联网终端侧的代码生成方法,其特征在于,所述确定所述物模型的配置文件,具体为:通过JSON格式对所述配置文件进行描述。
5.根据权利要求4所述的一种物联网终端侧的代码生成方法,其特征在于,所述通过JSON格式对所述配置文件进行描述,包括:
通过productInfo确定所述物联网终端的产品信息;
通过properties确定所述物联网终端的属性列表;
通过services确定所述物联网终端的服务列表;
通过description确定所述物联网终端的服务描述值类型。
6.根据权利要求1所述的一种物联网终端侧的代码生成方法,其特征在于,所述获取数据表达格式和所述配置文件,映射得到不同代码模板的步骤中,所述数据表达格式包括JSON格式和紧凑二进制格式。
7.一种物联网终端侧的代码生成系统,其特征在于,包括:
配置模块,用于配置物联网终端的属性信息和服务信息,并确定所述物联网终端对应的物模型;其中,所述物模型用于定义物联网终端的功能,并构建终端实体的数据模型,所述数据模型包括属性和服务;所述属性用于描述终端运行最小功能,用于实现终端在语义规范的统一;所述服务用于描述终端被外部调用的能力或方法,封装终端业务逻辑;
确定模块,用于确定所述物模型的配置文件,所述配置文件可由程序读取且可进行结构化描述;
映射模块,用于获取数据表达格式和所述配置文件,映射得到不同代码模板;所述映射模板包括:通过代码生成引擎加载所述物模型的配置文件,并对所述配置文件中的JSON格式内容进行解析,得到JSON格式的配置信息;根据所述JSON格式的配置信息,解析得到属性列表和服务列表;将所述属性列表生成对应的第一结构体,将所述服务列表生成对应的第二结构体;将所述属性列表中每个属性的属性标识确定为所述第一结构体中成员变量名称;将所述属性列表中每个属性的属性描述确定为所述第一结构体中成员变量的注释说明;当确定数据表达格式为JSON格式时,调用JSON代码模板;当确定数据表格式为紧凑二进制格式时,调用紧凑二进制代码模板;
代码生成模块,用于通过所述映射得到的代码模板生成所述物联网终端的源代码。
8.一种装置,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1-6中任一项所述的方法。
9.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835159.0A CN112068817B (zh) | 2020-08-19 | 2020-08-19 | 物联网终端侧的代码生成方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835159.0A CN112068817B (zh) | 2020-08-19 | 2020-08-19 | 物联网终端侧的代码生成方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112068817A CN112068817A (zh) | 2020-12-11 |
CN112068817B true CN112068817B (zh) | 2024-03-12 |
Family
ID=73661381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010835159.0A Active CN112068817B (zh) | 2020-08-19 | 2020-08-19 | 物联网终端侧的代码生成方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068817B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733371B (zh) * | 2021-01-14 | 2024-07-05 | 国网上海市电力公司 | 电力物联网终端建模方法、装置、设备及存储介质 |
CN114896751A (zh) * | 2021-05-26 | 2022-08-12 | 广州地铁集团有限公司 | 一种设备的运行管理方法、装置及设备、存储介质 |
CN114371883A (zh) * | 2021-12-29 | 2022-04-19 | 天翼物联科技有限公司 | 物联网复合物模型的构建方法和调用系统 |
CN114979296B (zh) * | 2022-05-20 | 2024-05-10 | 深圳市晨北科技有限公司 | 物联网通信方法及相关终端、存储介质 |
CN115277421B (zh) * | 2022-07-21 | 2023-11-24 | 南京数睿数据科技有限公司 | 配置信息推送方法、装置、电子设备和计算机可读介质 |
CN115333943B (zh) * | 2022-08-10 | 2023-06-20 | 中国联合网络通信集团有限公司 | 确定性网络资源配置系统、方法、设备及存储介质 |
CN115834717B (zh) * | 2022-09-23 | 2024-07-23 | 广州楚秀信息科技有限公司 | 一种用于物联网设备的通讯协议快速开发方法 |
CN117424826A (zh) * | 2023-02-07 | 2024-01-19 | 广东卓维网络有限公司 | 一种组合式物模型构建方法、调用方法和调用系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108377207A (zh) * | 2018-05-19 | 2018-08-07 | 济南浪潮高新科技投资发展有限公司 | 一种物联网平台设备接入和配置方法 |
US10320890B1 (en) * | 2015-02-12 | 2019-06-11 | Amazon Technologies, Inc. | Generating client applications from service model descriptions |
CN110708307A (zh) * | 2019-09-29 | 2020-01-17 | 北京明略软件系统有限公司 | 转码器生成方法和装置、电子设备及存储介质 |
CN111162977A (zh) * | 2019-12-20 | 2020-05-15 | 青岛聚好联科技有限公司 | 一种物联网终端接入云服务的方法及装置 |
CN111459889A (zh) * | 2020-03-08 | 2020-07-28 | 中电海康集团有限公司 | 一种用于物联网平台的设备数据模型生成方法和装置 |
-
2020
- 2020-08-19 CN CN202010835159.0A patent/CN112068817B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10320890B1 (en) * | 2015-02-12 | 2019-06-11 | Amazon Technologies, Inc. | Generating client applications from service model descriptions |
CN108377207A (zh) * | 2018-05-19 | 2018-08-07 | 济南浪潮高新科技投资发展有限公司 | 一种物联网平台设备接入和配置方法 |
CN110708307A (zh) * | 2019-09-29 | 2020-01-17 | 北京明略软件系统有限公司 | 转码器生成方法和装置、电子设备及存储介质 |
CN111162977A (zh) * | 2019-12-20 | 2020-05-15 | 青岛聚好联科技有限公司 | 一种物联网终端接入云服务的方法及装置 |
CN111459889A (zh) * | 2020-03-08 | 2020-07-28 | 中电海康集团有限公司 | 一种用于物联网平台的设备数据模型生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112068817A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112068817B (zh) | 物联网终端侧的代码生成方法、系统、装置及介质 | |
CN110162296A (zh) | 应用程序编程接口文档的生成方法、装置及终端设备 | |
CN111459889B (zh) | 一种用于物联网平台的设备数据模型生成方法和装置 | |
US7941461B2 (en) | System and method for developing and enabling model-driven XML transformation framework for e-business | |
US7779398B2 (en) | Methods and systems for extracting information from computer code | |
US7698694B2 (en) | Methods and systems for transforming an AND/OR command tree into a command data model | |
US10685155B2 (en) | Method and system for designing a distributed heterogeneous computing and control system | |
US11455149B2 (en) | Object configuration utilities | |
CN110609906B (zh) | 知识图谱构建方法及装置、存储介质及电子终端 | |
US7784036B2 (en) | Methods and systems for transforming a parse graph into an and/or command tree | |
US11144307B2 (en) | Service interface creation and modification for object-oriented services | |
CN112363695B (zh) | Pmml文件及其运行时环境与工业软件的集成方法 | |
US9720656B2 (en) | Method and apparatus for enabling agile development of services in cloud computing and traditional environments | |
US10693962B1 (en) | Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN114371858A (zh) | 基于应用组件的代码处理系统、方法、设备及存储介质 | |
US8667466B2 (en) | Parameterized interface identifier techniques | |
US10303144B2 (en) | Object creation in process control systems | |
CN114003220B (zh) | 工作流模型实现方法、系统、可读存储介质及计算机设备 | |
CN115883650A (zh) | 异构虚拟机的调用方法、系统及存储介质 | |
CN110046257B (zh) | 用于基于本体论匹配设备数据模型的方法和设备 | |
CN113221511A (zh) | 组态文件转换为xml文件的方法、装置、设备及存储介质 | |
CN117270956B (zh) | 硬件设备的配置方法、客户端、硬件设备网管系统及介质 | |
CN114785847B (zh) | 网络控制软件开发配置方法、终端及存储介质 | |
CN115729559A (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 |