CN110366186B - 一种传感器执行器网络应用程序的部署方法及系统 - Google Patents
一种传感器执行器网络应用程序的部署方法及系统 Download PDFInfo
- Publication number
- CN110366186B CN110366186B CN201910491433.4A CN201910491433A CN110366186B CN 110366186 B CN110366186 B CN 110366186B CN 201910491433 A CN201910491433 A CN 201910491433A CN 110366186 B CN110366186 B CN 110366186B
- Authority
- CN
- China
- Prior art keywords
- node
- bytecode
- level
- compiling
- deployment
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种传感器执行器网络应用程序的部署方法及系统,将中间字节码中运行于当前节点的部分编译成本地代码,并将中间字节码中不运行于当前节点的部分传递给传感网络的当前节点的大于或等于所属级别所有下级层次的节点;可以大大降低在分布式传感器‑执行器网络中部署应用程序的难度;应用程序在整个部署过程中以中间字节码表示代表,使得其可以被编译运行于本地,大大提高了灵活性,而无需下发多个版本的二进制;应用程序是递归部署的,这大大降低了云端和路由器的负担,任何一个节点只需要部署中间字节码到它的直接下级节点即可,本发明还可以自动探测新节点子系统的加入,并且自动部署应用程序到新加入的整个节点子系统。
Description
技术领域
本公开涉及传感器执行器网络领域,具体涉及一种传感器执行器网络应用程序的部署方法及系统,适用于复杂的层次化的传感器-执行器网络的应用程序部署。
背景技术
随着工业4.0和物联网的兴起,传感器-执行器网络被用于交通、生活和工业生产的方方面面。由于这些领域的业务逻辑本身非常复杂,因此传感器-执行器网络的规模很快增加。这使得在传感器-执行器网络上运行的应用程序的编码也变得进一步困难。这限制了物联网技术被用于某些垂直领域,无法发挥物联网技术的全部能力。
现有的传感器-执行器网络的编程方法大概有如下几种:
1.传感器和执行器均不联网,并且采取全定制设计,组成私有的传感器-执行器网络。这种技术虽然能够较好地满足一个较为固定的业务逻辑,但在面对新的需求时整个架构都有可能需要重新开发。这大量地浪费了本就昂贵的嵌入式开发人员的工时。此外,这使得传感器和执行器无法被标准化,导致了硬件和通信协议的碎片化,也使得两个在设计时就被决定为独立的传感器-执行器网络在面对未来的整合需求时无法良好整合。
2.传感器和执行器均使用标准化设计,并且直接连接到云端。这种技术能够满足于变化的业务逻辑和新需求,但是又带来了很多新的问题。首先,传感器和执行器的数据必须全部经过云计算中心,这大大浪费了网络流量。某些传感器,如摄像头等,能产生相当大量的数据,因此将其完全上传是不可容忍的。此外,上传需要经过大量的路由器,因此要耗费大量时间。对于延迟敏感的应用,这是不可接受的。最后,上传所有的传感器数据还可以造成隐私问题,如果用户不信任云服务商,那么就不可能使用此种解决方案。
3.传感器和执行器均使用标准化设计,但是计算可能在中间的路由器上进行,而非必须要传递到云端,也即雾计算。此种模型解决了第2种方法中所述的延迟问题和隐私问题,但是由于各个路由器、传感器和执行器采用不同的指令集和计算资源,因此将它们统一编程变得非常困难。统一的二进制程序可能在某些节点上足够执行,但在另外的节点上则不足够执行。此外,在这一流程中添加和减少传感器和执行器以及对传感器和执行器再编程是非常复杂的,通常仍然要依赖于云端进行,这大大增加了用户的负担。
发明内容
为了解决上述问题,本公开提供一种传感器执行器网络应用程序的部署方法及系统,将中间字节码集合为包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码编译成的中间字节码,将中间字节码中运行于当前节点(即当前正在部署的节点)的部分编译成本地代码,并将中间字节码中不运行于当前节点的部分传递给传感网络的当前节点的大于或等于所属级别所有下级层次的节点,实现应用程序的无云端介入的自动部署。
为了实现上述目的,根据本公开的一方面,提供一种传感器执行器网络应用程序的部署方法,所述方法包括以下步骤:
步骤1,部署系统在传感网络部署开始时,预处理模块将源程序编译为中间字节码集合,并将中间字节码集合传输到根节点;
步骤2,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码;
步骤3,对于每一个根节点的邻接节点,根节点将中间字节码集合中大于或等于该邻接节点的所属级别部分的元素构成的中间字节码子集合传递给该邻接节点;
步骤4,当前节点根据中间字节码子集合中的所属节点类型和所属级别与当前节点相匹配的元素作为匹配元素,递归编译匹配元素的中间字节码;
步骤5,对于每一个未传递中间字节码子集合给当前节点的当前节点的邻接节点,当前节点将中间字节码子集合中大于或等于该邻接节点的所属级别部分的元素构成新的中间字节码子集合,并将该子集合传递给该邻接节点;
步骤6,迭代执行步骤4到步骤5,在迭代的过程中根据中间字节码子集合在节点的传播路径的链路中形成多条部署链路;迭代终止条件为当中间字节码子集合为空集,即中间字节码子集合中元素数量为0时,本条部署链路部署完成,即本条部署链路上所有的节点都被部署了应用程序;
步骤7,当传感网络中的所有的部署链路部署完成则传感网络部署完成,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署。
进一步地,在步骤1中,所述传感网络包括但不限于多级路由结构的物联网、传感器网络(有线或无线)、传感器执行器网络(有线或无线),传感器网络(SN)包括根节点和一个或多个传感器节点,传感器执行器网络(SAN)包括根节点和一个或多个传感器节点和一个或多个执行器节点,多级路由结构的物联网包括根节点和一个或多个路由和一个或多个物联网终端;其中,路由器、物联网终端、传感器节点和执行器节点简称节点,节点包括0个或1个编译模块;节点的属性有所属节点类型、所属级别;节点类型包括但不限于根节点、普通节点,例如:所属节点类型为根节点的所属级别为0;所属级别为从距离根节点(所属级别0)的树状传输路径上每层节点的层级。在传感网络中,上级层次的节点表示传感网络中当前节点在路由链路的传输数据的上一跳的一个或多个的节点,下级层次的节点表示传感网络中当前节点在路由链路的传输数据的下一跳的一个或多个的节点,上一跳和下一跳的意义分别为部署的传播路径中的上一个和下一个部署的目标节点。
进一步地,在步骤1中,所述根节点包括但不限于根路由器、传感器节点、执行器节点、云端、开发者端、汇聚节点、基站任意一种,所述根节点部署有编译模块,根节点为部署的源节点。
进一步地,在步骤1中,所述部署系统包括:预处理模块、部署模块、编译模块和运行环境模块;
其中,预处理模块在根节点运行,用于处理用户编写好的应用程序源代码;应用程序源代码包含了从根节点到终端节点之间的所有层次的节点上应当运行的应用程序源代码;预处理模块将每个层次节点应当运行的应用程序源代码都分别编译成中间字节码,中间字节码包括但不限于Java字节码和LLVM的中间字节码等,编译完成后,所有的中间字节码形成中间字节码集合,预处理模块将中间字节码集合打包成一个应用程序包,(在生成中间字节码进行应用程序包打包的时候,各个程序段的中间字节码属于哪个层次节点已经就决定好了)。
其中,部署模块在各个层次的节点运行,每个节点都具备零个、一个或多个部署模块;部署模块用于接收上一个层次的节点传来的应用程序包,并识别应用程序包中的第一部分字节码和第二部分字节码,其中,第一部分字节码为中间字节码集合中对应于当前节点的层次的中间字节码部分(即中间字节码集合中当前节点层次所需部分),第二部分字节码为对应于当前节点以下层次的中间字节码集合中的中间字节码部分(即中间字节码集合中本层次节点的下一级层次节点所需的中间字节码集合的部分);对于第一部分字节码,部署模块将调用编译模块将第一部分字节码表示编译为当前节点的机器码,然后在当前节点执行;对于第二部分字节码,部署模块首先判断其下级层次节点是否也具备编译模块,如果其不具备,则询问下级节点的编译选项,将第二部分字节码编译为下级节点运行环境可运行的二进制代码,并且传递给当前节点的大于或等于所属级别所有下级层次节点,如果其具备编译模块,则将第二部分字节码直接传递给当前节点的大于或等于所属级别所有下级层次节点;所述当前节点为当前正在部署的节点。
其中,编译模块在各个层次的节点中运行,每个节点都具备零个,一个或多个编译模块;该模块负责根据传入的编译选项,编译应用程序的中间字节码到当前节点可运行的二进制代码。编译模块使用的技术为现有技术,如JIT编译等。
其中,运行环境模块在各个层次的节点中运行,每个节点都具备一个或多个运行环境模块,运行环境模块负责提供当前节点可运行的二进制代码运行所需的运行时库,还负责向上一个层次节点的部署模块报告当前节点的接入。此时,上一个层次节点的部署模块会将从其第二部分字节码或其编译得到的机器码传递给当前节点的模块,完成应用程序的无根节点(云端)介入的自动部署。
进一步地,在步骤1中,所述源程序为应用程序源代码,源程序包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码,所述中间字节码集合为包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码编译成的中间字节码构成的集合,中间字节码集合中的元素为一个三元组的数据结构,三元组的每组元素中有3个数据,且3个数据有序,中间字节码集合元素的三元组具体形式为[中间字节码,所属节点类型,所属级别],其中,中间字节码为各个节点上运行的应用程序源代码编译成的中间字节码,中间字节码包括但不限于Java字节码和LLVM形式的中间字节码;所属节点类型为中间字节码对应的节点类型,节点类型包括但不限于根节点、普通节点,所属级别为从根节点开始到终端节点递增的整数编号,初值为0即根节点;在传感网络中,从根节点到终端节点之间的所有层次的节点中都有对应的所属节点类型和所属级别属性,例如传感网络中某个节点的类型为路由器,所属级别为3。由于同一个级别可能有多种不同类型的节点,即匹配相应级别之后还需要匹配节点再进行部署,询问当前节点的下一级节点之后将大于或等于当前节点的下级节点的层级的字节码部分传递到下一级节点。
所述终端节点为没有下级层次的节点,终端节点包括但不限于物联网终端、传感器、执行器,当中间字节码子集合传递给终端节点时中间字节码子集合中只有与当前节点匹配的中间字节码,即中间字节码子集合中元素数量为1。
进一步地,中间字节码集合中大于或等于根节点的所属级别部分的元素构成的中间字节码子集合传递给与根节点邻接的相邻所有节点在传感网络中形成一个或多个树状结构的部署链路,邻接的意义为与节点直接相邻连接的节点。
进一步地,在步骤2中,中间字节码集合中的所属节点类型和所属级别与根节点匹配元素为中间字节码集合中的所属节点类型为根节点且所属级别为0的元素,注:根节点和所属级别为0的节点的所属节点类型和所属级别一致。
进一步地,在步骤2中,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码的方法为:根节点的部署模块的将中间字节码集合中的所属节点类型为根节点,所属级别为0的对应的中间字节码编译成本地代码。
进一步地,在步骤3中,所述中间字节码子集合为中间字节码集合的子集,包括中间字节码集合中大于或等于根节点的所属级别部分的元素。
进一步地,在步骤3和步骤5中,邻接节点为与根节点或当前节点(当前正在部署的节点)直接相邻连接的节点。
进一步地,在步骤4中,递归编译匹配元素的中间字节码的方法为:当节点有编译模块则编译模块将匹配元素的中间字节码编译成本地代码;当节点没有编译模块,则节点执行递归编译查询操作,即如果节点没有编译模块,则从当前节点的层次开始沿部署链路逐层依次向每个层级的上一级层次的节点发送编译查询信号查询上级层次的节点是否有编译模块,直到查询到具有编译模块的节点或具有编译模块的根节点,具有编译模块的节点或具有编译模块的根节点将根据编译查询信号中当前节点的对应的匹配元素找到相对应的中间字节码,并编译成本地代码传递回原节点进行部署;所述编译查询信号,包括编译请求指令和当前节点的对应的匹配元素,由该匹配元素可以在具有编译模块的节点的三元组中查询到运行于当前节点的中间字节码。
进一步地,在步骤4中,当前节点根据中间字节码子集合中的所属节点类型和所属级别与当前节点相匹配的元素作为匹配元素的方法为:当前节点在中间字节码集合中寻找所属节点类型和所属级别和当前节点一致元素的作为匹配元素。
进一步地,在步骤5和步骤6中,部署链路为从根节点开始传递中间字节码集合的各个节点形成的一条或多条传播路径的链路。
进一步地,在步骤5中,所述未传递中间字节码子集合给当前节点的当前节点的邻接节点为:当前节点与邻接节点在形成部署链路之前并不存在已有的部署链路,用于防止逆着部署链路传递方向的逆向中间字节码子集合传递。
进一步地,在步骤5中,所述中间字节码子集合为中间字节码集合的子集,包括中间字节码集合中大于或等于当前节点的所属级别部分的元素。
进一步地,在步骤7中,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署的方法为:实时的监测是否有新的节点被安装,如果有新的节点被安装则由运行环境模块顺着部署链路逐级向上级层次的节点请求部署应用程序,如果发现有节点的中间字节码子集合包含有与新的节点相匹配的元素则从节点的位置开始迭代执行步骤4到步骤5重新部署,如果一直到根节点的中间字节码子集合都没有匹配元素,则并重新执行步骤1到步骤6。
本发明还提供了一种传感器执行器网络应用程序的部署系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在部署系统的预处理模块、部署模块、编译模块和运行环境模块的各自单元中:
其中,预处理模块,包括以下单元:
中间字节码编译单元,用于将每个层次节点的应用程序源代码都分别编译成每个层次节点所对应的中间字节码,中间字节码包括但不限于Java字节码和LLVM的中间字节码等;
中间字节码打包单元,用于将所有中间字节码构成的中间字节码集合打包成一个应用程序包;
其中,部署模块,包括以下单元:
字节码集合接收单元,用于接收上一个层次节点传来的中间字节码集合打包成的应用程序包;
字节码识别单元,用于并识别应用程序包中的第一部分字节码和第二部分字节码,其中,第一部分字节码为中间字节码集合中对应于当前节点的层次的中间字节码部分,对应于当前节点的层次的中间字节码部分即根据中间字节码集合中的所属节点类型和所属级别匹配到中间字节码集合的元素作为匹配元素,第一部分字节码即匹配元素的中间字节码;第二部分字节码为中间字节码集合中大于或等于匹配元素的所属级别的部分元素的中间字节码;
第一部分字节码处理单元,用于将调用编译模块将第一部分字节码编译为当前节点的机器码,然后在当前节点执行;
第二部分字节码处理单元,用于判断其下级层次节点是否也具备编译模块,如果其不具备,则询问下级节点的编译选项,将第二部分字节码编译为下级节点运行环境可运行的二进制代码,并且传递给当前节点的大于或等于所属级别所有下级层次节点,如果其具备编译模块,则将第二部分字节码直接传递给当前节点的大于或等于所属级别所有下级层次节点;
其中,编译模块,包括以下单元:
字节码编译单元,用于编译应用程序的中间字节码到当前节点可运行的二进制代码;
其中,运行环境模块,包括以下单元:
实时监测单元,用于实时的监测是否有新的节点被安装,如果有新的节点被安装则向上级层次的节点请求部署应用程序;
运行时库提供单元,用于提供当前节点可运行的二进制代码运行所需的运行时库。
本公开的有益效果为:本发明提供一种传感器执行器网络应用程序的部署方法及系统,可以大大降低在分布式传感器-执行器网络中部署应用程序的难度。首先,应用程序在整个部署过程中以中间字节码表示代表,使得其可以被编译运行于本地,大大提高了灵活性,而无需下发多个版本的二进制;第二,应用程序是递归部署的,这大大降低了云端和路由器的负担,任何一个节点只需要部署中间字节码到它的直接下级即可。最后,本发明还可以自动探测新节点子系统的加入,并且自动部署应用程序到新加入的整个节点子系统。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种传感器执行器网络应用程序的部署方法的流程图;
图2所示为一种传感器执行器网络应用程序的部署系统结构图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种传感器执行器网络应用程序的部署方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种传感器执行器网络应用程序的部署方法。
本公开提出一种传感器执行器网络应用程序的部署方法,具体包括以下步骤:
步骤1,部署系统在传感网络部署开始时,预处理模块将源程序编译为中间字节码集合,并将中间字节码集合传输到根节点;
步骤2,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码;
步骤3,对于每一个根节点的邻接节点,根节点将中间字节码集合中大于或等于该邻接节点的所属级别部分的元素构成的中间字节码子集合传递给该邻接节点;
步骤4,当前节点根据中间字节码子集合中的所属节点类型和所属级别与当前节点相匹配的元素作为匹配元素,递归编译匹配元素的中间字节码;
步骤5,对于每一个未传递中间字节码子集合给当前节点的当前节点的邻接节点,当前节点将中间字节码子集合中大于或等于该邻接节点的所属级别部分的元素构成新的中间字节码子集合,并将该子集合传递给该邻接节点;
步骤6,迭代执行步骤4到步骤5,在迭代的过程中根据中间字节码子集合在节点的传播路径的链路中形成多条部署链路;迭代终止条件为当中间字节码子集合为空集,即中间字节码子集合中元素数量为0时,本条部署链路部署完成,即本条部署链路上所有的节点都被部署了应用程序;
步骤7,当传感网络中的所有的部署链路部署完成则传感网络部署完成,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署。
进一步地,在步骤1中,所述传感网络包括但不限于多级路由结构的物联网、传感器网络(有线或无线)、传感器执行器网络(有线或无线),传感器网络(SN)包括根节点和一个或多个传感器节点,传感器执行器网络(SAN)包括根节点和一个或多个传感器节点和一个或多个执行器节点,多级路由结构的物联网包括根节点和一个或多个路由和一个或多个物联网终端;其中,路由器、物联网终端、传感器节点和执行器节点简称节点,节点包括0个或1个编译模块;节点的属性有所属节点类型、所属级别;节点类型包括但不限于根节点、普通节点,例如:所属节点类型为根节点的所属级别为0;所属级别为从距离根节点(所属级别0)的树状传输路径上每层节点的层级。在传感网络中,上级层次的节点表示传感网络中当前节点在路由链路的传输数据的上一跳的一个或多个的节点,下级层次的节点表示传感网络中当前节点在路由链路的传输数据的下一跳的一个或多个的节点,上一跳和下一跳的意义分别为部署的传播路径中的上一个和下一个部署的目标节点。
进一步地,在步骤1中,所述根节点包括但不限于根路由器、传感器节点、执行器节点、云端、开发者端、汇聚节点、基站任意一种,所述根节点部署有编译模块,根节点为部署的源节点。
进一步地,在步骤1中,所述部署系统包括:预处理模块、部署模块、编译模块和运行环境模块;
其中,预处理模块在根节点运行,用于处理用户编写好的应用程序源代码;应用程序源代码包含了从根节点到终端节点之间的所有层次的节点上应当运行的应用程序源代码;预处理模块将每个层次节点应当运行的应用程序源代码都分别编译成中间字节码,中间字节码包括但不限于Java字节码和LLVM的中间字节码等,编译完成后,所有的中间字节码形成中间字节码集合,预处理模块将中间字节码集合打包成一个应用程序包,(在生成中间字节码进行应用程序包打包的时候,各个程序段的中间字节码属于哪个层次节点已经就决定好了)。
其中,部署模块在各个层次的节点运行,每个节点都具备零个、一个或多个部署模块;部署模块用于接收上一个层次的节点传来的应用程序包,并识别应用程序包中的第一部分字节码和第二部分字节码,其中,第一部分字节码为中间字节码集合中对应于当前节点的层次的中间字节码部分(即中间字节码集合中当前节点层次所需部分),第二部分字节码为对应于当前节点以下层次的中间字节码集合中的中间字节码部分(即中间字节码集合中本层次节点的下一级层次节点所需的中间字节码集合的部分);对于第一部分字节码,部署模块将调用编译模块将第一部分字节码表示编译为当前节点的机器码,然后在当前节点执行;对于第二部分字节码,部署模块首先判断其下级层次节点是否也具备编译模块,如果其不具备,则询问下级节点的编译选项,将第二部分字节码编译为下级节点运行环境可运行的二进制代码,并且传递给当前节点的大于或等于所属级别所有下级层次节点,如果其具备编译模块,则将第二部分字节码直接传递给当前节点的大于或等于所属级别所有下级层次节点;所述当前节点为当前正在部署的节点。
其中,编译模块在各个层次的节点中运行,每个节点都具备零个,一个或多个编译模块;该模块负责根据传入的编译选项,编译应用程序的中间字节码到当前节点可运行的二进制代码。编译模块使用的技术为现有技术,如JIT编译等。
其中,运行环境模块在各个层次的节点中运行,每个节点都具备一个或多个运行环境模块,运行环境模块负责提供当前节点可运行的二进制代码运行所需的运行时库,还负责向上一个层次节点的部署模块报告当前节点的接入。此时,上一个层次节点的部署模块会将从其第二部分字节码或其编译得到的机器码传递给当前节点的模块,完成应用程序的无根节点(云端)介入的自动部署。
进一步地,在步骤1中,所述源程序为应用程序源代码,源程序包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码,所述中间字节码集合为包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码编译成的中间字节码构成的集合,中间字节码集合中的元素为一个三元组的数据结构,三元组的每组元素中有3个数据,且3个数据有序,中间字节码集合元素的三元组具体形式为[中间字节码,所属节点类型,所属级别],其中,中间字节码为各个节点上运行的应用程序源代码编译成的中间字节码,中间字节码包括但不限于Java字节码和LLVM形式的中间字节码;所属节点类型为中间字节码对应的节点类型,节点类型包括但不限于根节点、普通节点,所属级别为从根节点开始到终端节点递增的整数编号,初值为0即根节点;在传感网络中,从根节点到终端节点之间的所有层次的节点中都有对应的所属节点类型和所属级别属性,例如传感网络中某个节点的类型为路由器,所属级别为3。由于同一个级别可能有多种不同类型的节点,即匹配相应级别之后还需要匹配节点再进行部署,询问当前节点的下一级节点之后将大于或等于当前节点的下级节点的层级的字节码部分传递到下一级节点。
所述终端节点为没有下级层次的节点,终端节点包括但不限于物联网终端、传感器、执行器,当中间字节码子集合传递给终端节点时中间字节码子集合中只有与当前节点匹配的中间字节码,即中间字节码子集合中元素数量为1。
进一步地,中间字节码集合中大于或等于根节点的所属级别部分的元素构成的中间字节码子集合传递给与根节点邻接的相邻所有节点在传感网络中形成一个或多个树状结构的部署链路,邻接的意义为与节点直接相邻连接的节点。
进一步地,在步骤2中,中间字节码集合中的所属节点类型和所属级别与根节点匹配元素为中间字节码集合中的所属节点类型为根节点且所属级别为0的元素,注:根节点和所属级别为0的节点的所属节点类型和所属级别一致。
进一步地,在步骤2中,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码的方法为:根节点的部署模块的将中间字节码集合中的所属节点类型为根节点,所属级别为0的对应的中间字节码编译成本地代码。
进一步地,在步骤3中,所述中间字节码子集合为中间字节码集合的子集,包括中间字节码集合中大于或等于根节点或当前节点的所属级别部分的元素。
进一步地,在步骤3和步骤5中,邻接节点为与根节点或当前节点(当前正在部署的节点)直接相邻连接的节点。
进一步地,在步骤4中,递归编译匹配元素的中间字节码的方法为:当节点有编译模块则编译模块将匹配元素的中间字节码编译成本地代码;当节点没有编译模块,则节点执行递归编译查询操作,即如果节点没有编译模块,则从当前节点的层次开始沿部署链路逐层依次向每个层级的上一级层次的节点发送编译查询信号查询上级层次的节点是否有编译模块,直到查询到具有编译模块的节点或具有编译模块的根节点,具有编译模块的节点或具有编译模块的根节点将根据编译查询信号中当前节点的对应的匹配元素找到相对应的中间字节码,并编译成本地代码传递回原节点进行部署;所述编译查询信号,包括编译请求指令和当前节点的对应的匹配元素,由该匹配元素可以在具有编译模块的节点的三元组中查询到运行于当前节点的中间字节码。
进一步地,在步骤4中,当前节点根据中间字节码子集合中的所属节点类型和所属级别与当前节点相匹配的元素作为匹配元素的方法为:当前节点在中间字节码集合中寻找所属节点类型和所属级别和当前节点一致元素的作为匹配元素。
进一步地,在步骤5和步骤6中,部署链路为从根节点开始传递中间字节码集合的各个节点形成的一条或多条传播路径的链路。
进一步地,在步骤5中,所述未传递中间字节码子集合给当前节点的当前节点的邻接节点为:当前节点与邻接节点在形成部署链路之前并不存在已有的部署链路,用于防止逆着部署链路传递方向的逆向中间字节码子集合传递。
进一步地,在步骤5中,所述中间字节码子集合为中间字节码集合的子集,包括中间字节码集合中大于或等于当前节点的所属级别部分的元素。
进一步地,在步骤7中,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署的方法为:实时的监测是否有新的节点被安装,如果有新的节点被安装则由运行环境模块顺着部署链路逐级向上级层次的节点请求部署应用程序,如果发现有节点的中间字节码子集合包含有与新的节点相匹配的元素则从节点的位置开始迭代执行步骤4到步骤5重新部署,如果一直到根节点的中间字节码子集合都没有匹配元素,则并重新执行步骤1到步骤6。
本实施给出一个简要的具体实施例,阐述该方法如何根据传感网络或物联网进行的部署。某楼宇控制系统包括四个层级,分别为小区级、楼房级、楼层级和住户级,其中住户级为最后一级,具备一个摄像头传感器和一个门执行器。
用户编写应用程序,要求摄像头在探测到有人来的时候开对应的门,并且每一级控制器要逐层上报总计的开门次数。其中,应用程序可以分为五个部分:
1.小区级控制器,即为根路由器或云端,运行的程序(a)为统计各个楼房级控制器的总开门次数;
2.楼房级控制器,为第一级路由器,运行的程序(b)为统计它所在的楼房内的楼层级控制器的总开门次数;
3.楼层级控制器,为第二级路由器,运行的程序(c)为统计它所在的楼层内的住户的总开门次数;
4.住户级控制器,为最后一级路由器,运行的程序(d)为接收摄像头发出的开门信号并传递给门,并且向楼层级控制器上报开门次数。
5.摄像头传感器和门执行器,运行的程序(e)和(f)分别为识别正确的人和开门一段时间后关门。
首先,预处理模块被调用,将本应用程序预处理成六个中间字节码,分别为【(ai),(bi),(ci),(di),(ei),(fi)】,并打包。
然后,该应用程序包将被交给小区级控制器,该控制器的部署模块分离出(ai)并由编译模块编译成本地可运行二进制的(an),并交由自身的运行环境模块运行。小区级控制器询问楼房级控制器是否有编译模块,得到肯定答复后将【(bi),(ci),(di),(ei),(fi)】直接交给楼房级控制器。
之后,楼房级控制器的部署模块分离出(bi)并由编译模块编译成本地可运行二进制的(bn),并交由自身的运行环境模块运行。楼房级控制器询问楼层级控制器是否有编译模块,得到肯定答复后将【(ci),(di),(ei),(fi)】直接交给楼层级控制器。
之后,楼层级控制器的部署模块分离出(ci)并由编译模块编译成本地可运行二进制的(cn),并交由自身的运行环境模块运行。楼层级控制器询问住户级控制器是否有编译模块,得到肯定答复后将【(di),(ei),(fi)】直接交给住户级控制器。
之后,住户级控制器的部署模块分离出(di)并由编译模块编译成本地可运行二进制的(dn),并交由自身的运行环境模块运行。住户级控制器询问摄像头和门是否有编译模块,得到否定答复后将(ei)编译为适合摄像头上运行的本地二进制代码(en),将将(fi)编译为适合门上运行的本地二进制代码(fn),并将(en)和(fn)分别交送给摄像头和门运行。
至此,应用程序的自动部署完成。(实施例1)
(实施例2)假设此小区增加一个住户在某个单元,因此需要额外增添住户级控制器。此时此住户级控制器的运行环境模块将向楼层级控制器发起请求要求部署应用程序,此时楼层级控制器将会询问住户级控制器是否有编译模块,得到肯定答复后将【(di),(ei),(fi)】交给住户级控制器,然后由住户级控制器部署到摄像头和门。
本公开的实施例提供的一种传感器执行器网络应用程序的部署系统,如图2所示为本公开的一种传感器执行器网络应用程序的部署系统结构图,该实施例的一种传感器执行器网络应用程序的部署系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种传感器执行器网络应用程序的部署系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在部署系统的预处理模块、部署模块、编译模块和运行环境模块的各自单元中:
其中,预处理模块,包括以下单元:
中间字节码编译单元,用于将每个层次节点的应用程序源代码都分别编译成每个层次节点所对应的中间字节码,中间字节码包括但不限于Java字节码和LLVM的中间字节码等;
中间字节码打包单元,用于将所有中间字节码构成的中间字节码集合打包成一个应用程序包;
其中,部署模块,包括以下单元:
字节码集合接收单元,用于接收上一个层次节点传来的中间字节码集合打包成的应用程序包;
字节码识别单元,用于并识别应用程序包中的第一部分字节码和第二部分字节码,其中,第一部分字节码为中间字节码集合中对应于当前节点的层次的中间字节码部分,对应于当前节点的层次的中间字节码部分即根据中间字节码集合中的所属节点类型和所属级别匹配到中间字节码集合的元素作为匹配元素,第一部分字节码即匹配元素的中间字节码;第二部分字节码为中间字节码集合中大于或等于匹配元素的所属级别的部分元素的中间字节码;
第一部分字节码处理单元,用于将调用编译模块将第一部分字节码编译为当前节点的机器码,然后在当前节点执行;
第二部分字节码处理单元,用于判断其下级层次节点是否也具备编译模块,如果其不具备,则询问下级节点的编译选项,将第二部分字节码编译为下级节点运行环境可运行的二进制代码,并且传递给当前节点的大于或等于所属级别所有下级层次节点,如果其具备编译模块,则将第二部分字节码直接传递给当前节点的大于或等于所属级别所有下级层次节点;
其中,编译模块,包括以下单元:
字节码编译单元,用于编译应用程序的中间字节码到当前节点可运行的二进制代码;
其中,运行环境模块,包括以下单元:
实时监测单元,用于实时的监测是否有新的节点被安装,如果有新的节点被安装则向上级层次的节点请求部署应用程序;
运行时库提供单元,用于提供当前节点可运行的二进制代码运行所需的运行时库。
所述一种传感器执行器网络应用程序的部署系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种传感器执行器网络应用程序的部署系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种传感器执行器网络应用程序的部署系统的示例,并不构成对一种传感器执行器网络应用程序的部署系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种传感器执行器网络应用程序的部署系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种传感器执行器网络应用程序的部署系统运行系统的控制中心,利用各种接口和线路连接整个一种传感器执行器网络应用程序的部署系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种传感器执行器网络应用程序的部署系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
Claims (7)
1.一种传感器执行器网络应用程序的部署方法,其特征在于,所述方法包括以下步骤:
步骤1,部署系统在传感网络部署开始时,预处理模块将源程序编译为中间字节码集合,并将中间字节码集合传输到根节点;
步骤2,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码;
步骤3,对于每一个根节点的邻接节点,根节点将中间字节码集合中大于或等于该邻接节点的所属级别部分的元素构成的中间字节码子集合传递给该邻接节点;
步骤4,当前节点根据中间字节码子集合中的所属节点类型和所属级别与当前节点相匹配的元素作为匹配元素,递归编译匹配元素的中间字节码;
步骤5,对于每一个未传递中间字节码子集合给当前节点的当前节点的邻接节点,当前节点将中间字节码子集合中大于或等于该邻接节点的所属级别部分的元素构成新的中间字节码子集合,并将该子集合传递给该邻接节点;
步骤6,迭代执行步骤4到步骤5,在迭代的过程中根据中间字节码子集合在节点的传播路径的链路中形成多条部署链路;迭代终止条件为当中间字节码子集合为空集,即中间字节码子集合中元素数量为0时,本条部署链路部署完成,即本条部署链路上所有的节点都被部署了应用程序;
步骤7,当传感网络中的所有的部署链路部署完成则传感网络部署完成,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署;
在步骤4中,递归编译匹配元素的中间字节码的方法为:当节点有编译模块则编译模块将匹配元素的中间字节码编译成本地代码;当节点没有编译模块,则节点执行递归编译查询操作,即如果节点没有编译模块,则从当前节点的层次开始沿部署链路逐层依次向每个层级的上一级层次的节点发送编译查询信号查询上级层次的节点是否有编译模块,直到查询到具有编译模块的节点或具有编译模块的根节点,具有编译模块的节点或具有编译模块的根节点将根据编译查询信号找到相对应的中间字节码,并编译成本地代码传递回原节点进行部署;所述编译查询信号,包括编译请求指令和当前节点的对应的匹配元素,由该匹配元素在具有编译模块的节点的三元组中查询到运行于当前节点的中间字节码,其中,中间字节码为各个节点上运行的应用程序源代码编译成的中间字节码,中间字节码包括Java字节码和LLVM形式的中间字节码。
2.根据权利要求1所述的一种传感器执行器网络应用程序的部署方法,其特征在于,在步骤1中,所述根节点包括根路由器、传感器节点、执行器节点、云端、开发者端、汇聚节点、基站中的任意一种,所述根节点部署有编译模块,根节点为部署的源节点。
3.根据权利要求1所述的一种传感器执行器网络应用程序的部署方法,其特征在于,在步骤1中,所述部署系统包括:预处理模块、部署模块、编译模块和运行环境模块。
4.根据权利要求1所述的一种传感器执行器网络应用程序的部署方法,其特征在于,在步骤1中,所述源程序为应用程序源代码,源程序包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码,所述中间字节码集合为包含了从根节点到终端节点之间的所有层次的节点上运行的应用程序源代码编译成的中间字节码构成的集合,中间字节码集合中的元素为一个三元组的数据结构,三元组的每组元素中有3个数据,且3个数据有序,中间字节码集合元素的三元组具体形式为[中间字节码,所属节点类型,所属级别];所属节点类型为中间字节码对应的节点类型,节点类型包括以下任一:根节点、普通节点,所属级别为从根节点开始到终端节点递增的整数编号;在传感网络中,从根节点到终端节点之间的所有层次的节点中都有对应的所属节点类型和所属级别属性;询问当前节点的下一级节点之后将大于或等于当前节点的下级节点的层级的字节码部分传递到下一级节点。
5.根据权利要求1所述的一种传感器执行器网络应用程序的部署方法,其特征在于,在步骤2中,根节点将中间字节码集合中的所属节点类型和所属级别与根节点匹配元素的中间字节码编译成本地代码的方法为:根节点的部署模块的将中间字节码集合中的所属节点类型为根节点,所属级别为0的对应的中间字节码编译成本地代码。
6.根据权利要求1所述的一种传感器执行器网络应用程序的部署方法,其特征在于,在步骤7中,在部署完成后的传感网络中,实时的监测是否有新的节点被安装,当有新的节点则按照上述步骤重新部署的方法为:实时的监测是否有新的节点被安装,如果有新的节点被安装则由运行环境模块顺着部署链路逐级向上级层次的节点请求部署应用程序,如果发现有节点的中间字节码子集合包含有与新的节点相匹配的元素则从节点的位置开始迭代执行步骤4到步骤5重新部署,如果一直到根节点的中间字节码子集合都没有匹配元素,则并重新执行步骤1到步骤5。
7.一种传感器执行器网络应用程序的部署系统,其特征在于,所述传感器执行器网络应用程序的部署系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1-6中任一项所述传感器执行器网络应用程序的部署方法的步骤;其中,预处理模块,包括以下单元:
中间字节码编译单元,用于将每个层次节点的应用程序源代码都分别编译成每个层次节点所对应的中间字节码,中间字节码包括Java字节码和LLVM的中间字节码;
中间字节码打包单元,用于将所有中间字节码构成的中间字节码集合打包成一个应用程序包;
其中,部署模块,包括以下单元:
字节码集合接收单元,用于接收上一个层次节点传来的中间字节码集合打包成的应用程序包;
字节码识别单元,用于并识别应用程序包中的第一部分字节码和第二部分字节码,其中,第一部分字节码为中间字节码集合中对应于当前节点的层次的中间字节码部分,对应于当前节点的层次的中间字节码部分即根据中间字节码集合中的所属节点类型和所属级别匹配到中间字节码集合的元素作为匹配元素,第一部分字节码即匹配元素的中间字节码;第二部分字节码为中间字节码集合中大于或等于匹配元素的所属级别的部分元素的中间字节码;
第一部分字节码处理单元,用于将调用编译模块将第一部分字节码编译为当前节点的机器码,然后在当前节点执行;
第二部分字节码处理单元,用于判断其下级层次节点是否也具备编译模块,如果其不具备,则询问下级节点的编译选项,将第二部分字节码编译为下级节点运行环境可运行的二进制代码,并且传递给当前节点的大于或等于所属级别所有下级层次节点,如果其具备编译模块,则将第二部分字节码直接传递给当前节点的大于或等于所属级别所有下级层次节点;
其中,编译模块,包括以下单元:
字节码编译单元,用于编译应用程序的中间字节码到当前节点可运行的二进制代码;
其中,运行环境模块,包括以下单元:
实时监测单元,用于实时的监测是否有新的节点被安装,如果有新的节点被安装则向上级层次的节点请求部署应用程序;
运行时库提供单元,用于提供当前节点可运行的二进制代码运行所需的运行时库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491433.4A CN110366186B (zh) | 2019-06-06 | 2019-06-06 | 一种传感器执行器网络应用程序的部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910491433.4A CN110366186B (zh) | 2019-06-06 | 2019-06-06 | 一种传感器执行器网络应用程序的部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110366186A CN110366186A (zh) | 2019-10-22 |
CN110366186B true CN110366186B (zh) | 2022-04-12 |
Family
ID=68215848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910491433.4A Active CN110366186B (zh) | 2019-06-06 | 2019-06-06 | 一种传感器执行器网络应用程序的部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110366186B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941433B (zh) * | 2019-11-13 | 2022-03-22 | 佛山职业技术学院 | 一种边缘辅助部署第三方应用到微控制器方法及系统 |
CN111581075B (zh) * | 2020-03-30 | 2023-06-06 | 佛山职业技术学院 | 嵌入式层次化系统的调试方法、系统、计算机及存储介质 |
CN113837718A (zh) * | 2021-09-14 | 2021-12-24 | 桂林长海发展有限责任公司 | 一种分配审批流程的方法、系统、存储介质和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090132006A (ko) * | 2008-06-19 | 2009-12-30 | 주식회사 맥스포 | 센서 네트워크에서의 원격 리프로그래밍 방법 |
CN103823691A (zh) * | 2013-12-18 | 2014-05-28 | 浙江工商大学 | 基于网络编码的无线传感器网络安全在线重编程方法 |
CN104144466A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 物联网中传感器接入方法、物联网系统和服务器 |
CN104793946A (zh) * | 2015-04-27 | 2015-07-22 | 广州杰赛科技股份有限公司 | 基于云计算平台的应用部署方法和系统 |
CN108809683A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 部署云应用系统的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8397227B2 (en) * | 2007-12-04 | 2013-03-12 | International Business Machines Corporation | Automatic deployment of Java classes using byte code instrumentation |
US9282466B2 (en) * | 2013-04-30 | 2016-03-08 | Honeywell International Inc. | Deploying a network of nodes in an area of interest |
US10691808B2 (en) * | 2015-12-10 | 2020-06-23 | Sap Se | Vulnerability analysis of software components |
-
2019
- 2019-06-06 CN CN201910491433.4A patent/CN110366186B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090132006A (ko) * | 2008-06-19 | 2009-12-30 | 주식회사 맥스포 | 센서 네트워크에서의 원격 리프로그래밍 방법 |
CN104144466A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 物联网中传感器接入方法、物联网系统和服务器 |
CN103823691A (zh) * | 2013-12-18 | 2014-05-28 | 浙江工商大学 | 基于网络编码的无线传感器网络安全在线重编程方法 |
CN104793946A (zh) * | 2015-04-27 | 2015-07-22 | 广州杰赛科技股份有限公司 | 基于云计算平台的应用部署方法和系统 |
CN108809683A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 部署云应用系统的方法及装置 |
Non-Patent Citations (3)
Title |
---|
Policy-Based Reprogramming for Wireless Sensor Networks;Sang Hoon Lee等;《 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops》;20100607;全文 * |
无线传感器网络中任务调度优化方法研究;郭凤;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20181015;全文 * |
面向网格监控的软件传感器的主动部署方法研究;朱全鑫等;《小型微型计算机系统》;20070930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110366186A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110366186B (zh) | 一种传感器执行器网络应用程序的部署方法及系统 | |
US8521359B1 (en) | Application-independent and component-isolated system and system of systems framework | |
Luo et al. | Envirosuite: An environmentally immersive programming framework for sensor networks | |
CN107577475B (zh) | 一种数据中心集群系统的软件包管理方法及系统 | |
CN102103497B (zh) | 有限状态机执行装置和方法、在应用中的建立和使用方法 | |
US6226627B1 (en) | Method and system for constructing adaptive and resilient software | |
CN107615792B (zh) | 用于mtc事件的管理方法与系统 | |
CN104935657A (zh) | 主动推送信息的方法和嵌入式节点操作系统 | |
US7779043B2 (en) | Extensible mechanism for object composition | |
JP2014525640A (ja) | 並列処理開発環境の拡張 | |
CN110392882A (zh) | 在包括虚拟化网络功能的网络中批量创建被管功能 | |
US11562112B2 (en) | Modeling with digital twins | |
CN102024011A (zh) | 自主子系统体系结构 | |
Lin et al. | Building smart m2m applications using the wukong profile framework | |
CN114945028A (zh) | 基于物联网设备的信息处理方法、相关设备及存储介质 | |
CN107222363B (zh) | 一种存储协议一致性测试方法及系统 | |
CN114338738A (zh) | 基于Actor模型的规则引擎及场景联动实现方法 | |
CN112199200A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN113918268A (zh) | 一种多租户管理方法及装置 | |
Prehofer | From the internet of things to trusted apps for things | |
Cui et al. | A mechanism for real-time decision making and system maintenance for resource constrained robotic systems through ReFrESH | |
CN108710504A (zh) | 数据库操作方法及装置 | |
CN112181563A (zh) | 基于云平台的浏览器视图加载方法、装置、系统及服务器 | |
US9203733B2 (en) | Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing that method | |
Cui | Parallel pso in spark |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230303 Address after: No. 1, Geqiao Village, Mache Village, Lishui Town, Nanhai District, Foshan City, Guangdong Province, 528200 Patentee after: Foshan Nanhai Heqi Electronic Technology Co.,Ltd. Address before: 528000 Foshan Polytechnic, No.3, vocational education road, Leping Town, Sanshui District, Foshan City, Guangdong Province Patentee before: FOSHAN POLYTECHNIC |
|
TR01 | Transfer of patent right |