CN111198677A - 一种设备对象生成方法、装置及设备 - Google Patents
一种设备对象生成方法、装置及设备 Download PDFInfo
- Publication number
- CN111198677A CN111198677A CN201811280515.6A CN201811280515A CN111198677A CN 111198677 A CN111198677 A CN 111198677A CN 201811280515 A CN201811280515 A CN 201811280515A CN 111198677 A CN111198677 A CN 111198677A
- Authority
- CN
- China
- Prior art keywords
- target
- configuration file
- target device
- equipment
- class
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种设备对象生成方法、装置及设备。该方法包括:获取设备生产商或第三方提供的标准数据格式的目标设备对应的配置文件,以供确定目标设备的所有能力,并基于配置文件生成目标设备的类;进而,基于目标设备的类和唯一标识符,生成目标设备的设备对象。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种设备对象生成方法、装置及设备。
背景技术
设备对象是指物联网领域中代表设备的对象,描述了设备的属性、方法以及提供的事件。
目前的设备调用方案一般是先按需生成一设备对象以将设备接入物联网,并为各设备分别写驱动,其驱动格式协议各式各样;然后,按需不断迭代更改设备能力,并对外暴露设备的接口以供调用。
因此,需要更加可靠的设备对象生成方案。
发明内容
本说明书实施例提供一种设备对象生成方法,用以提供标准化的设备对象生成方案,以降低设备的编程难度。
本说明书实施例还提供一种设备对象生成方法,包括:
确定目标设备的唯一标识符;
确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
本说明书实施例还提供一种设备对象生成方法,包括:
获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
本说明书实施例还提供一种设备对象生成装置,包括:
第一确定模块,用于确定目标设备的唯一标识符;
第二确定模块,用于确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
生成模块,用于基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
本说明书实施例还提供一种设备对象生成装置,包括:
获取模块,用于获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
提供模块,用于将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
本说明书实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述的设备对象生成方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的设备对象生成方法的步骤。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过标准化地描述目标设备能力的配置文件,生成目标设备对应的类,并基于目标设备对应的类和目标设备的唯一标识符,生成目标设备的设备对象。与现有技术中使用杂乱无章的设备调用编程方案相比,通过设备生产商或第三方提供的目标设备的标准化地配置文件,高效生成目标设备的设备对象,使得相关用户能清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书提供的一种应用场景的示意图;
图2为本说明书一实施例提供的一种设备对象生成方法的流程示意图;
图3为本说明书一实施例提供的设备对象调用步骤一种实现方式的示意图;
图4为本说明书一实施例提供的设备对象调用步骤的另一种实现方式的示意图;
图5为本说明书另一实施例提供的一种设备对象生成方法的流程示意图;
图6为本说明书又一实施例提供的一种设备对象生成方法的流程示意图;
图7为本说明书一实施例提供的一种设备对象生成装置的结构示意图;
图8为本说明书另一实施例提供的一种设备对象生成装置的结构示意图;
图9为本说明书一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术部分陈述的,当需要将目标设备接入物联网时,传统的方法是先接入该目标设备,然后,由开发人员编写驱动,并对外暴露开发应用程序编程接口(Application Programming Interface,API)。
但由于不同开发人员编写的驱动以及驱动格式协议可能是各种各样的,对于同一设备描述的设备能力可能也是不尽相同的,导致设备迭代成本非常高。而且,由于开发API接口无法实现标准化,其他用户若想调用目标设备,则需要了解目标设备的能力、驱动协议、接口协议等各种细节,导致编程难度非常高。
其中,物联网是指物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。
基于此,本发明提供一种设备对象生成方法,首先要求目标设备的生产商或第三方提供一套标准数据格式的目标设备对应的配置文件,以描述目标设备的所有能力;然后,基于该配置文件生成目标设备的类,并基于类和目标设备的唯一标识符,生成目标设备的设备对象,供相关用户调用该设备对象以控制目标设备。使得相关用户清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
其中,设备对象可以是动态代码,其是用代码动态生成的代码,而且生成过程均由代码自动完成,而无需手工编写;唯一标识符是指对设备进行标识的工具,用于与其他设备构成区分,以确保设备的唯一性。一般是指生成过程中为设备配置的编号;配置文件用于描述设备能力,包括:属性、服务和事件。类是面向对象程序设计(Object-OrientedProgramming,OOP)实现信息封装的基础,是一种用户定义类型,也称类类型,每个类包含数据说明和一组操作数据或传递消息的函数。
下面参见图1对本发明的应用场景进行示例性说明。
该应用场景中包括:服务器110、设备对象请求方120和配置文件提供方130,其中:
配置文件提供方130,是指设备生产商的终端设备或者生产商授权的第三方的终端设备,用于基于生产的各设备类型的设备的产品设计说明,构建出各设备类型对应的标准数据格式的配置文件,并提供给服务器110;
其中,产品设计说明是指以文体的方式对设备进行相对的详细表述,用于全面、明确地介绍设备名称、用途、性质、性能、原理、构造、规格、使用方法、保养维护、注意事项等内容;标准数据格式是指由生产商或第三方向服务器提供的一套标准化的设备配置文件格式,例如:JS对象简谱(JavaScript Object Notation,Json)文件格式;配置文件是指基于标准数据格式的用于描述设备能力的协议文件。
设备对象请求方120,是指设备拥有者的终端设备或者拥有者授权的其他用户的终端设备,用于向服务器发起将目标设备接入物联网的请求,请求包括目标设备的唯一标识符;
服务器110,可以是配置文件提供方130的服务器,也可以是其他用户的服务器,用于将来自配置文件提供方130的各设备类型对应的配置文件转化抽象成对应的类并进行保存;响应设备对象请求方120的请求查找出目标设备所属的设备类型对应的类,并基于类和目标设备的唯一标识符,生成目标设备的设备对象。
其中,服务器110可以为网关、云端服务器等等;设备对象请求方120和配置文件提供方130可以为PC端,也可以为移动终端;移动终端或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括手机、笔记本、平板电脑、POS机甚至包括车载电脑。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书一实施例提供的一种设备对象生成方法的流程示意图,该方法可由图1中的服务器110执行,参见图2,该方法具体可以包括如下步骤:
步骤220、确定目标设备的唯一标识符;具体可以为:
接收用于请求将目标设备接入物联网的接入请求,所述接入请求包括目标设备的唯一标识符;所述接入请求可以来自于设备对象请求方,也可以为来自其他用户。
其中,唯一标识符可以为出厂前配置的设备编号,也可以为出厂后与外界连接时使用的唯一性的标识符,例如:物理地址、IP地址等;唯一标识符可以是字、编号、字母、符号,也可能是由上述元素所组成。
步骤240、确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
需要说明的是,步骤240的一种实现方式可以为:
步骤S1、基于所述唯一标识符,确定所述目标设备对应的配置文件;
需要说明的是,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件。
若是前者,则可基于唯一标识符,从数据库中查找出目标设备的配置文件;若是后者,则可先基于唯一标识符确定目标设备所述的设备类型,进而,从数据库中查找出该设备类型对应的配置文件。
其中,数据库中存有配置文件提供方提供的标准数据格式的各设备或各设备类型的配置文件;优选地,由配置文件提供方以设备类型的维度提供配置文件,由于同一类型的设备的配置是相同或近乎相同的,因此,一个设备类型提供一个配置文件不会影响设备对象的构建精度,而且可以有效降低配置文件提供方提供的设备的配置文件的量。
步骤S2、基于所述配置文件,生成所述目标设备对应的类。
其中,配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应。
相应地,步骤S2的实现方式可以为:
基于目标设备的属性和服务,分别生成类的成员变量和方法;基于目标设备的事件,生成设备的消息监听接口;基于所述类的成员变量、方法和消息监听接口,生成类。
需要说明的是,步骤240的另一种实现方式可以为:
在步骤240之前,获取各设备类型对应的配置文件,并基于所述配置文件,生成各设备类型对应的类。
基于此,可基于所述唯一标识符,确定所述目标设备所属的设备类型,并将该设备类型对应的类作为所述设备对应的类。
步骤240、基于所述类和所述唯一标识符,生成所述目标设备的设备对象。具体可以为:
将所述唯一标识符写入所述类中,得到所述目标设备的设备对象。
即,对于通过上述步骤得到的目标设备所属设备类型的设备对象,由于其适用于该设备类型的所有设备,因此,为避免调用错误的情况,需要将目标设备的唯一标识符写入类中,以确保设备对象的唯一性。
可选的,完成设备对象的构建后,可将构建结果返回给设备对象请求方,以供调用设备对象控制相关设备,参见图3,设备对象调用步骤的一种实现方式可以为:
步骤320、获取所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对应的设备参数;
其中,脚本文件一般是由应用程序提供的编程语言,类似于DOS操作系统中的批处理文件,可以将不同的命令组合起来,并按确定的顺序自动连续地执行。
脚本文件可以为设备对象请求方发送的,也可以为其他预授权的用户发送的,即本实施例允许以‘开源’的形式调用某设备对象,但为了避免恶意程序,对于来自其他用户的脚本文件,本实施例还会进一步地对脚本文件进行代码漏洞检测。
步骤340、将所述设备参数替换为所述目标设备的设备对象;具体可以示例为:
假设脚本文件包括:module.exports=function(door,light);
其中,暴露出的设备参数包括door,light,而为了确定door,light分别代表哪个具体的门和灯,因此,需要将设备参数替换为具体的唯一性的设备对象,即,基于上述步骤220至步骤260生成的门和灯的设备对象,以实现设备对象的调用。
步骤360、执行所述脚本文件,以控制所述目标设备。具体可以示例为:
假设脚本文件为:
则,可运行脚本文件,以调用目标设备的curtain和hue相关的驱动程序,实现回家场景的curtain和hue的控制。
参见图4,设备对象调用步骤的另一种实现方式可以为:
步骤420、服务器响应调用请求方发送的接入请求,向所述目标设备的设备对象;
其中,接入请求包括目标设备的唯一标识符,以供服务器基于上述步骤220至步骤260生成目标设备的设备对象,或查找已生成的目标设备的设备对象;调用请求方可以为设备对象请求方,也可以为其他用户;对于后者,在响应接入请求之前,还进一步地对接入请求进行身份验证和代码漏洞检测,以避免出现恶意调用。
步骤440、调用请求方将目标设备对应的脚本文件中的设备参数替换为所述目标设备的设备对象;
其中,目标设备对应的脚本文件用于调用目标设备的设备对象,以针对目标设备执行一系列的程序。由于步骤440与步骤340的实现方式相似,故,此处不再赘述。
步骤460、调用请求方执行所述脚本文件,以控制所述目标设备。
由于步骤460和步骤360的实现方式较为相似,故,此处不再对步骤460展开说明。
对于图3和图4对应的设备对象调用步骤,两者的区别在于,图3中的脚本是在服务器执行,图4中的脚本文件是在调用请求方执行。
可见,本实施例通过标准化地描述目标设备能力的配置文件,生成目标设备对应的类,并基于目标设备对应的类和目标设备的唯一标识符,生成目标设备的设备对象。与现有技术中使用杂乱无章的设备调用编程方案相比,通过设备生产商或第三方提供的目标设备的标准化地配置文件,高效生成目标设备的设备对象,使得相关用户能清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
图5为本说明书另一实施例提供的一种设备对象生成方法的流程示意图,该方法可由图1中的设备对象请求方120或配置文件提供方130执行,参见图5,该方法具体可以包括如下步骤:
步骤520、获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
其中,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件;所述配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应。
步骤540、将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
可选的,方法还包括调用设备对象步骤,具体可以为:
向所述服务器发送所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对象的设备参数,以使所述服务器将所述设备参数替换为所述目标设备的设备对象,并执行所述脚本文件。
由于本实施例中的相关步骤,已在图2对应的实施例中进行了详细说明,故,此处不再赘述。
可见,本实施例通过构建标准数据格式的设备配置文件,以描述每个设备类型的设备的所有能力,并为每个设备配置唯一标识符以供确定设备所属的设备类型,进而可基于配置文件生成设备类型对应的类,进而可基于类和设备的唯一标识符生成设备的设备对象,供调用。与现有技术中使用杂乱无章的设备调用编程方案相比,本实施例能使得相关用户能清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
图6为本说明书又一实施例提供的一种设备对象生成方法的流程示意图,参见图6,该方法具体可以包括如下步骤:
步骤602、接收用户发起的调用请求,并生成一调度任务;
其中,该调用请求包括:需要调用的目标对象的属性文件和脚本文件,所述属性文件包括key和value,key表示脚本文件的一个参数代表一个设备(例如:door,light),value为设备的唯一标识符ID。
步骤604、加载多个调度任务,并解析属性文件,得到value;
其中,每个调度任务对应一个value,每个value对应一个设备。
步骤606、接收配置文件提供方提供的统一标准化的各设备类型的设备配置文件的Json文件格式;
其中,设备配置Json文件格式包括:属性、服务、事件,用于描述每个设备的所有能力。
步骤608、将Json文件格式转化抽象成为每个设备类型的类Class;具体可以为:
根据get Profile动态将Json文件格式通过不同的语言语法转化抽象成为每个设备Class,Class包括:属性、服务、事件。
其中,每个属性可以动态转成Class的成员变量,服务动态转成Class的方法,事件可以转化成设备的消息监听接口。
具体转化抽象逻辑可以示例为:
获取属性:设备object.属性
设置属性:设备object.属性=某值
调用服务:设备object.方法(参数1,参数2...)
监听事件:设备object.on(″事件名″,函数)
基于此,可以对上暴露统一的编程方式,设备开发者代码改变细节不影响上层用户的使用。
进一步地,基于使用的开发语言不同,其实现的样式也可稍微不同,例如:
获取属性也可以用设备object.get(值)
属性设置用object.set(key,value)来封装获取或设置设备所有的属性
步骤610、根据生成的Class以及value生成每一个设备唯一的设备对象;
步骤612、加载设备对象,以将脚本文件中的入参设备参数(例如:door,light)替换为生成的设备对象,并执行该脚本文件。
基于此,执行脚本文件后initDevice即可任意调用,进而一键实现设备随意的联动以及开发应用、实现发挥设备的各种计算能力。
可见,本实施例这个方法主要是克服了传统的编程模式造成的胶水代码问题,可能做很多杂乱无章并且碎片化过程衔接工作,在设备互联的时候要把所有的设备都统一接入一个控制中心就是无法完成的工作量事情,并且在面对没有标准化的设备编程时候更是不知道每个设备要怎么调用接入的问题,相当于让淘宝店家每个人都开一家淘宝网站,会非常繁琐复杂且没有统一,工作量是永远做不完的。但是有了本实施例的动态生成设备Class模型的方法,就相当于自动化,可以针对配置文件编程,让卖家商家客户只需要提供驱动以及设备的配置文件格式过来,就可以做到轻轻松松所有设备接入的模型,统一所有的即便非标准协议的设备。
而且,本实施例提供了一种全新的边缘计算编程的框架,用户不需要关注设备细节,只要根据设备的Json配置就可以上手写面向设备的编程方式,屏蔽了设备本身驱动等实现细节的差异性;还提供了一种全新的从云端控制台到边缘计算一体化编程交互流程,可以做到一体化无差异在边缘与云端,创建设备对象模型,初始化用户代码,加载执行用户代码的机制,提供serverless服务,上层用户不用关心代码何时加载,怎么运行,在哪里运行,以及设备怎么驱动,设备怎么加载,设备怎么控制的一系列问题。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图7为本说明书一实施例提供的一种设备对象生成装置的结构示意图,参见图7,该装置具体可以包括:第一确定模块71、第二确定模块72和生成模块73,其中:
第一确定模块71,用于确定目标设备的唯一标识符;
第二确定模块72,用于确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
生成模块73,用于基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
可选的,第二确定模块72,具体用于:
基于所述唯一标识符,确定所述目标设备对应的配置文件;基于所述配置文件,生成所述目标设备对应的类。
可选的,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件。
可选的,所述配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应;
其中,第二确定模块72,具体用于:
基于目标设备的属性和服务,分别生成类的成员变量和方法;基于目标设备的事件,生成设备的消息监听接口;基于所述类的成员变量、方法和消息监听接口,生成类。
可选的,所述装置还包括:
预处理模块,用于获取各设备类型对应的配置文件,并基于所述配置文件,生成各设备类型对应的类;
其中,第二确定模块72,具体用于:
基于所述唯一标识符,确定所述目标设备所属的设备类型,并将该设备类型对应的类作为所述设备对应的类。
可选的,所述配置文件为所述目标设备的生产商或第三方提供的标准数据格式的文件。
可选的,生成模块73,具体用于:
将所述唯一标识符写入所述类中,得到所述目标设备的设备对象。
可选的,装置还包括:
调用模块,用于获取所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对应的设备参数;将所述设备参数替换为所述目标设备的设备对象,并执行所述脚本文件。
可见,本实施例通过标准化地描述目标设备能力的配置文件,生成目标设备对应的类,并基于目标设备对应的类和目标设备的唯一标识符,生成目标设备的设备对象。与现有技术中使用杂乱无章的设备调用编程方案相比,通过设备生产商或第三方提供的目标设备的标准化地配置文件,高效生成目标设备的设备对象,使得相关用户能清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
图8为本说明书另一实施例提供的一种设备对象生成装置的结构示意图,参见图8,该装置具体可以包括:获取模块81和提供模块82,其中:
获取模块81,用于获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
提供模块82,用于将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
可选的,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件。
可选的,所述配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应。
可选的,还包括:
发送模块,用于向所述服务器发送所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对象的设备参数,以使所述服务器将所述设备参数替换为所述目标设备的设备对象,并执行所述脚本文件。
可见,本实施例通过构建标准数据格式的设备配置文件,以描述每个设备类型的设备的所有能力,并为每个设备配置唯一标识符以供确定设备所属的设备类型,进而可基于配置文件生成设备类型对应的类,进而可基于类和设备的唯一标识符生成设备的设备对象,供调用。与现有技术中使用杂乱无章的设备调用编程方案相比,本实施例能使得相关用户能清楚得知目标设备的所有能力的基础上,无需得知目标设备的具体的加载、驱动等过程,即可轻松实现目标设备的设备对象调用。
另外,对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且,应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
图9为本说明书一实施例提供的一种电子设备的结构示意图,参见图9,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成设备对象生成装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
确定目标设备的唯一标识符;
确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
或者,
获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
上述如本申请图7-8所示实施例揭示的设备对象生成装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
设备对象生成装置还可执行图2-6的方法,并实现管理者节点执行的方法。
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图2-6对应的实施例提供的设备对象生成方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种设备对象生成方法,其特征在于,包括:
确定目标设备的唯一标识符;
确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
2.根据权利要求1所述的方法,其特征在于,确定所述目标设备对应的类包括:
基于所述唯一标识符,确定所述目标设备对应的配置文件;
基于所述配置文件,生成所述目标设备对应的类。
3.根据权利要求2所述的方法,其特征在于,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件。
4.根据权利要求2所述的方法,其特征在于,所述配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应;
其中,基于所述配置文件,生成所述目标设备对应的类包括:
基于目标设备的属性和服务,分别生成类的成员变量和方法;基于目标设备的事件,生成设备的消息监听接口;
基于所述类的成员变量、方法和消息监听接口,生成类。
5.根据权利要求1所述的方法,其特征在于,在确定所述目标设备对应的类之前,还包括:
获取各设备类型对应的配置文件,并基于所述配置文件,生成各设备类型对应的类;
其中,确定所述目标设备对应的类包括:
基于所述唯一标识符,确定所述目标设备所属的设备类型,并将该设备类型对应的类作为所述设备对应的类。
6.根据权利要求1所述的方法,其特征在于,
所述配置文件为所述目标设备的生产商或第三方提供的标准数据格式的文件。
7.根据权利要求1所述的方法,其特征在于,基于所述类和所述唯一标识符,生成所述目标设备的设备对象包括:
将所述唯一标识符写入所述类中,得到所述目标设备的设备对象。
8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:
获取所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对应的设备参数;
将所述设备参数替换为所述目标设备的设备对象,并执行所述脚本文件。
9.一种设备对象生成方法,其特征在于,包括:
获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
10.根据权利要求9所述的方法,其特征在于,所述目标设备对应的配置文件为所述目标设备的配置文件或者所述目标设备所属设备类型对应的配置文件。
11.根据权利要求9所述的方法,其特征在于,所述配置文件包括:属性、服务和事件,所述属性为目标设备具有的特性,服务为目标设备所做的动作,事件为目标设备的响应。
12.根据权利要求9至11中任一项所述的方法,其特征在于,还包括:
向所述服务器发送所述目标设备对应的脚本文件,所述脚本文件包括所述目标设备对象的设备参数,以使所述服务器将所述设备参数替换为所述目标设备的设备对象,并执行所述脚本文件。
13.一种设备对象生成装置,其特征在于,包括:
第一确定模块,用于确定目标设备的唯一标识符;
第二确定模块,用于确定所述目标设备对应的类,所述类基于描述所述目标设备能力的配置文件生成;
生成模块,用于基于所述类和所述唯一标识符,生成所述目标设备的设备对象。
14.一种设备对象生成装置,其特征在于,包括:
获取模块,用于获取目标设备对应的配置文件,所述配置文件用于描述所述目标设备的能力;
提供模块,用于将所述配置文件提供给服务器,以供所述服务器基于所述配置文件生成所述目标设备对应的类,并基于所述目标设备的唯一标识符和所述类生成所述目标设备的设备对象。
15.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至12中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280515.6A CN111198677A (zh) | 2018-10-30 | 2018-10-30 | 一种设备对象生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811280515.6A CN111198677A (zh) | 2018-10-30 | 2018-10-30 | 一种设备对象生成方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111198677A true CN111198677A (zh) | 2020-05-26 |
Family
ID=70745894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811280515.6A Pending CN111198677A (zh) | 2018-10-30 | 2018-10-30 | 一种设备对象生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198677A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914519A (zh) * | 2020-07-27 | 2020-11-10 | 平安证券股份有限公司 | 目标对象生成方法及装置、电子设备、存储介质 |
CN114398086A (zh) * | 2020-08-29 | 2022-04-26 | 华为技术有限公司 | 驱动配置管理方法、装置、介质、设备及系统 |
CN115794213A (zh) * | 2023-02-07 | 2023-03-14 | 湖南高至科技有限公司 | 基于嵌入式系统的可配置对象管理方法、装置和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425462A (zh) * | 2012-05-14 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种工作流数据持久化的方法和装置 |
CN107239416A (zh) * | 2016-06-27 | 2017-10-10 | 陈淼波 | 为智能设备提供统一抽象表示的计算机系统及实现方法 |
-
2018
- 2018-10-30 CN CN201811280515.6A patent/CN111198677A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425462A (zh) * | 2012-05-14 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种工作流数据持久化的方法和装置 |
CN107239416A (zh) * | 2016-06-27 | 2017-10-10 | 陈淼波 | 为智能设备提供统一抽象表示的计算机系统及实现方法 |
CN107247597A (zh) * | 2016-06-27 | 2017-10-13 | 陈淼波 | 一种为智能设备提供统一抽象表示的设备对象 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914519A (zh) * | 2020-07-27 | 2020-11-10 | 平安证券股份有限公司 | 目标对象生成方法及装置、电子设备、存储介质 |
CN111914519B (zh) * | 2020-07-27 | 2023-10-03 | 平安证券股份有限公司 | 目标对象生成方法及装置、电子设备、存储介质 |
CN114398086A (zh) * | 2020-08-29 | 2022-04-26 | 华为技术有限公司 | 驱动配置管理方法、装置、介质、设备及系统 |
CN114398086B (zh) * | 2020-08-29 | 2022-11-25 | 华为技术有限公司 | 驱动配置管理方法、装置、介质、设备及系统 |
EP4198720A4 (en) * | 2020-08-29 | 2024-01-24 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR MANAGING A DRIVER CONFIGURATION, MEDIUM, DEVICE AND SYSTEM |
CN115794213A (zh) * | 2023-02-07 | 2023-03-14 | 湖南高至科技有限公司 | 基于嵌入式系统的可配置对象管理方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156022B (zh) | 一种服务调用方法、装置及电子设备 | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN111741035A (zh) | 电子合同的签署方法、装置及设备 | |
CN109308263B (zh) | 一种小程序测试方法、装置及设备 | |
CN112200585B (zh) | 业务处理方法、装置、设备及系统 | |
CN111198677A (zh) | 一种设备对象生成方法、装置及设备 | |
CN111858727B (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
CN110780870A (zh) | 一种业务执行方法、装置、设备及存储介质 | |
CN111651467A (zh) | 一种区块链节点接口发布调用方法和装置 | |
CN112954073A (zh) | 服务提供方法、装置、设备及系统 | |
CN111414369A (zh) | 一种数据处理方法、装置及设备 | |
CN113495797A (zh) | 一种消息队列及消费者动态创建方法及系统 | |
CN116233164A (zh) | 用于采集设备数据的方法、装置、存储介质及处理器 | |
CN114138877A (zh) | 基于微服务架构的主题数据服务实现方法、装置及设备 | |
CN113157754B (zh) | 流程表单数据展示方法、装置、设备及存储介质 | |
CN114581241A (zh) | 智能合约的处理方法和装置、处理器及电子设备 | |
CN111652580B (zh) | 一种对节点的数据处理方法及装置 | |
CN110688430B (zh) | 一种获得数据旁路的方法、装置及电子设备 | |
CN112231377A (zh) | 数据映射方法、系统、装置、服务器和存储介质 | |
US11100077B2 (en) | Event table management using type-dependent portions | |
CN112597105A (zh) | 文件关联对象的处理方法、服务端设备及存储介质 | |
CN110874305A (zh) | 用户操作的记录方法、装置及服务器 | |
CN111177660A (zh) | 一种开放平台脚本代码的权限校验方法 | |
CN111258873A (zh) | 测试方法及装置 | |
CN114666418B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030623 Country of ref document: HK |