一种面向人机物融合应用的资源服务化与定制化方法

文档序号:26003358发布日期:2021-07-23 21:21阅读:101来源:国知局
一种面向人机物融合应用的资源服务化与定制化方法

本发明涉及软件工程与泛在计算技术领域,尤其是涉及一种面向人机物融合应用的资源服务化与定制化方法。



背景技术:

人们在现实生活中的各种需求通常需要融合来自于社会、信息、物理三方面的资源来满足。随着计算机技术的不断发展与普及,人机物融合应用开始出现,人机物融合应用在“软件定义一切”的基础上将虚拟世界中的软件行为和现实世界中的人和物理设备的行为,连同时间、空间等自然、物理特征融合在一起。

但是,一方面,现实中的资源是独立的实体,资源之间本身不存在相互依赖。另一方面,资源服务的执行通常是消息驱动的,且资源之间的协作一般是松耦合的。现有技术中一般使用集中式的平台来编排、管理异质资源间的协作与交互,这样会降低应用的灵活性,同时使得集中式平台成为瓶颈。



技术实现要素:

相对于集中式平台而言,基于服务的分布式架构风格能够支持人机物融合应用中各类资源以服务的方式进行松耦合协作,并通过轻量级通信机制实现交互,当前,仍然缺少以服务化方式来支撑人机物融合应用执行的相关工作。

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种面向人机物融合应用的资源服务化与定制化方法,依照预先定义的人机物融合应用模型,通过服务化方式包装各类经过软件定义的异构资源,并在此基础上对以这些资源为主体的能力单元间的交互进行定制,从而支撑人机物融合应用的有序执行;可实现自动化的资源服务化封装与交互定制,降低人机物融合应用执行系统的开发难度。

本发明的目的可以通过以下技术方案来实现:

一种面向人机物融合应用的资源服务化与定制化方法,人机物融合应用模型用于刻画特定应用场景需求,以及场景中的人机物资源的融合方式,包括资源部分、资源协作部分和绑定约束部分,所述方法包括以下步骤:

s1、查找能力单元:读取待执行的人机物融合应用模型并抽取其中的资源的服务,在人机物融合应用运行环境中查找与各个服务相对应的能力单元,如果找到所有服务所对应的能力单元,则执行步骤s3,否则,执行步骤s2;

s2、构造和部署能力单元:对于未在人机物融合应用运行环境中找到对应能力单元的服务,以服务化封装的方式分别构造与各个服务相对应的能力单元,将构造的能力单元部署至人机物融合应用运行环境中;能力单元包括资源包装器、能力代理和消息主题,构造能力单元包括封装、生成和关联资源包装器、能力代理与消息主题;

s3、定制能力单元间的交互:读取人机物融合应用模型,基于模型中的资源协作部分对能力单元中资源包装器的路由进行定制,基于模型中的绑定约束部分对能力单元中能力代理的资源绑定策略进行定制。

进一步的,所述人机物融合应用模型中,资源部分即人机物融合应用模型所涉及的资源以及资源提供的服务和发布的事件;资源协作部分即不同资源间的协作,体现为前一资源的事件驱动后一资源服务的执行;绑定约束部分即指定相应资源在运行时的绑定条件。

进一步的,所述能力单元是一个抽象结构,包括资源包装器、能力代理和消息主题;资源包装器是将资源封装为服务的单元,每一个资源包装器对应一个资源,并负责该资源的服务执行和事件发布;能力代理集成服务注册机制,依据资源绑定策略实现对合适的资源包装器所提供服务的调用,所述能力代理包括服务客户端、资源包装器注册机构和资源绑定策略;能力代理订阅消息队列中与该能力代理所对应的能力相关的消息主题,消息队列是事件消息发布和订阅的中间件。

更进一步的,步骤s2中,以服务化封装的方式构造与服务相对应的能力单元包括以下步骤:

s21:读取人机物融合应用模型中的资源部分,获取一个未找到对应能力单元的服务所涉及的资源,按照资源包装器模板将已软件定义的资源进行封装;资源包装器的服务端口与软件定义资源的服务接口进行连接;资源包装器的事件端口与软件定义资源的事件回调进行连接,所述事件端口用于根据路由规则将资源发布的事件发送到指定的消息主题;

s22:新建与服务所指定的能力相关的能力代理,能力代理包括服务客户端、资源包装器注册机构和资源绑定策略,其中,服务客户端用于订阅消息主题,一旦收到服务请求,检索资源包装器注册机构中已注册的资源包装器,根据资源绑定策略确定此次被调用的资源包装器并将服务请求发送给该资源包装器;

s23:在消息中间件中添加与服务所指定的能力相对应的消息主题,得到消息主题地址;

s24:将构造的资源包装器以容器的形式部署至人机物融合应用运行环境,获得分配给资源包装器的ip地址,结合服务的名称,得到该资源包装器特定能力的服务端口地址;

s25:将新建的能力代理以容器的形式部署至人机物融合应用运行环境,然后将与服务所指定的能力相关的资源包装器注册进能力代理,即将资源包装器特定能力的服务端口地址添加进能力代理中的资源包装器注册机构,随后订阅相应的消息中间件的消息主题。

更进一步的,步骤s21中,路由规则包括应用标识符、事件标识符、条件和路由地址。

更进一步的,事件端口根据路由规则将资源发布的事件发送到指定的消息主题具体为:当事件端口触发特定资源的事件回调时,将检索并计算与当前应用标识符和事件标识符匹配的非空条件;如果条件满足或条件为空,则消息将转发到路由地址所指定的消息队列的消息主题,否则,该消息将被忽略。

更进一步的,所述资源包装器注册机构用于存储资源包装器的服务端口地址,包括资源包装器标识符和服务端口地址。

更进一步的,步骤s3中,基于模型中的资源协作部分对能力单元中资源包装器的路由进行定制具体为:

读取人机物融合应用模型中的资源协作部分,每一个资源协作体现为前一资源的事件与后一资源的服务之间的关联;针对每一个资源协作,查找与前一资源的事件相关的资源包装器,在路由规则表中添加一条路由规则,该路由规则的应用标识符、事件标识符和条件来自于应用模型,路由地址是与后一资源的服务对应的能力单元中消息主题的地址。

更进一步的,步骤s3中,基于模型中的绑定约束部分对能力单元中能力代理的资源绑定策略进行定制具体为:

读取人机物融合应用模型中的绑定约束部分,针对每一个具有绑定约束的资源,查找与该资源相关的能力单元的能力代理,在能力代理的资源绑定策略中加入相应约束条件。

与现有技术相比,本发明具有以下有益效果:

(1)先在人机物融合应用运行环境中查找服务所对应的能力单元,对于未找到能力单元的服务则构造并部署其能力单元,对以资源为主体的能力单元间的交互进行定制,从而支撑人机物融合应用的有序执行。

(2)对于未找到能力单元的服务,通过服务化封装的方式构造能力单元,可以包装各类经过软件定义的异构资源。

(3)实现自动化的资源服务化封装与交互定制,降低了人机物融合应用执行系统的开发难度。

附图说明

图1为资源服务化与定制化方法的流程示意图;

图2为本发明所涉及的资源包装器的结构示意图;

图3为本发明所涉及的能力代理的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1:

人机物融合应用模型用于刻画特定应用场景需求,以及场景中的人机物资源的融合方式,包括资源部分、资源协作部分和绑定约束部分,资源部分即人机物融合应用所涉及的资源以及资源提供的服务和发布的事件;资源协作部分即不同资源间的协作,体现为前一资源的事件驱动后一资源服务的执行;绑定约束部分即指定相应资源在运行时的绑定条件。

一种面向人机物融合应用的资源服务化与定制化方法,如图1所示,包括以下步骤:

s1、查找能力单元;

s2、构造和部署能力单元;

s3、定制能力单元间的交互。

步骤s2中,对于未查找到能力单元的服务,通过服务化封装的方式构造能力单元,可以包装各类经过软件定义的异构资源;步骤s3中,对以资源为主体的能力单元间的交互进行定制,从而支撑人机物融合应用的有序执行;

能力单元是一个抽象结构,包括资源包装器、能力代理和消息主题。其中,资源包装器是将资源封装为服务的单元,每一个资源包装器对应一个资源,并负责该资源的服务执行和事件发布;能力代理集成服务注册机制,依据资源绑定策略实现对合适的资源包装器所提供服务的调用,能力代理包括服务客户端、资源包装器注册机构和资源绑定策略;能力代理订阅消息队列中与该能力代理所对应的能力相关的消息主题,消息队列是事件消息发布和订阅的中间件。

各个步骤的具体流程如下:

s1、查找能力单元:读取待执行的人机物融合应用模型并抽取其中的资源的服务,根据服务的名称,在人机物融合应用运行环境中查找与各个服务相对应的能力单元,如果找到所有服务所对应的能力单元,则执行步骤s3,否则,执行步骤s2;

s2、构造和部署能力单元:对于未在人机物融合应用运行环境中找到对应能力单元的服务,以服务化封装的方式分别构造与各个服务相对应的能力单元,将构造的能力单元部署至人机物融合应用运行环境中;能力单元包括资源包装器、能力代理和消息主题,构造能力单元包括封装、生成和关联资源包装器、能力代理与消息主题,具体为封装提供指定能力的资源包装器、新建能力代理、添加消息主题,然后依照能力单元的组织结构关联资源包装器、能力代理与消息主题。

具体的,步骤s2中,以服务化封装的方式构造与服务相对应的能力单元包括以下步骤:

s21:读取人机物融合应用模型中的资源部分,获取一个未找到对应能力单元的服务所涉及的资源,按照资源包装器模板将已软件定义的资源进行封装;资源包装器的服务端口与软件定义资源的服务接口进行连接;资源包装器的事件端口与软件定义资源的事件回调进行连接,所述事件端口用于根据路由规则将资源发布的事件发送到指定的消息主题;

路由规则包括应用标识符、事件标识符、条件和路由地址。事件端口根据路由规则将资源发布的事件发送到指定的消息主题具体为:当事件端口触发特定资源的事件回调时,将检索并计算与当前应用标识符和事件标识符匹配的非空条件;如果条件满足或条件为空,则消息将转发到路由地址所指定的消息队列的消息主题,否则,该消息将被忽略。

s22:新建与服务所指定的能力相关的能力代理,能力代理包括服务客户端、资源包装器注册机构和资源绑定策略,其中,服务客户端用于订阅消息主题,一旦收到服务请求,检索资源包装器注册机构中已注册的资源包装器,根据资源绑定策略确定此次被调用的资源包装器并将服务请求发送给该资源包装器;能力代理的结构及其执行过程如图3所示。

资源包装器注册机构用于存储资源包装器的服务端口地址,包括资源包装器标识符和服务端口地址。

s23:在消息中间件中添加与服务所指定的能力相对应的消息主题,得到消息主题地址;

s24:将构造的资源包装器以容器的形式部署至人机物融合应用运行环境,获得分配给资源包装器的ip地址,结合服务的名称,得到该资源包装器特定能力的服务端口地址;

s25:将新建的能力代理以容器的形式部署至人机物融合应用运行环境,然后将与服务所指定的能力相关的资源包装器注册进能力代理,即将资源包装器特定能力的服务端口地址添加进能力代理中的资源包装器注册机构,随后订阅相应的消息中间件的消息主题。

s3、定制能力单元间的交互:读取人机物融合应用模型,基于模型中的资源协作部分对能力单元中资源包装器的路由进行定制,基于模型中的绑定约束部分对能力单元中能力代理的资源绑定策略进行定制。

基于模型中的资源协作部分对能力单元中资源包装器的路由进行定制具体为:读取人机物融合应用模型中的资源协作部分,每一个资源协作体现为前一资源的事件与后一资源的服务之间的关联;针对每一个资源协作,查找与前一资源的事件相关的资源包装器,在路由规则表中添加一条路由规则,该路由规则的应用标识符、事件标识符和条件来自于应用模型,路由地址是与后一资源的服务对应的能力单元中消息主题的地址。

基于模型中的绑定约束部分对能力单元中能力代理的资源绑定策略进行定制具体为:读取人机物融合应用模型中的绑定约束部分,针对每一个具有绑定约束的资源,查找与该资源相关的能力单元的能力代理,在能力代理的资源绑定策略中加入相应约束条件。

本实施例以人机物执行系统的设计与开发为实施背景,介绍面向人机物融合应用的资源服务化封装与交互定制方法在人机物执行系统的设计与开发中的具体实施方法,具体如下:

s1、查找能力单元。设计人机物执行系统中的能力单元查询模块,首先读取待运行的人机物融合应用模型,抽取其中所涉及的资源的服务;然后针对每一个服务,在人机物融合应用运行环境中根据服务的名称查找与该服务相对应的能力单元。如果没有找到对应的能力单元,则调用后续的构造与部署模块(即构造能力单元并将其部署至人机物融合应用运行环境中);如果找到对应的能力单元,则记录该能力单元,直接应用后续的定制模块(即定制能力单元间交互)。

s2、以服务化封装的方式构造能力单元,部署能力单元。

设计并实现基于flask框架的资源包装器模板,包括服务端口与事件端口。针对一个特定资源,使用资源包装器模板构造其相应的资源包装器,将服务端口映射至软件定义资源的服务接口,将事件端口实现软件定义资源的事件回调。路由规则表提供路由规则配置接口。

设计并实现基于flask框架的能力代理模板,包括服务客户端、资源包装器注册机构和资源绑定策略。服务客户端实现能力代理执行过程的逻辑,并提供消息的订阅配置接口。资源包装器注册机构提供注册接口。资源绑定策略提供资源策略配置接口。

在消息中间件中添加与指定的能力相对应的消息主题。

使用docker容器构建资源包装器的flask服务的镜像并推送至docker仓库。在运行环境所在主机上,从docker仓库中拉取镜像至人机物融合应用运行环境。启动docker容器,将资源包装器特定能力的服务端口地址映射到docker容器外部,并记录该地址。

使用docker容器构建能力代理的flask服务的镜像并推送至docker仓库。在运行环境所在主机上,从docker仓库中拉取镜像至人机物融合应用运行环境。启动docker容器,将服务的端口地址映射到容器外部。调用订阅配置接口实现对相应消息主题地址的订阅;调用注册接口注册资源包装器的服务端口地址。

s3、定制能力单元间的交互。

读取人机物融合应用模型中的资源协作部分,针对每一个资源协作,查找与前一资源事件相关的资源包装器,调用路由规则配置接口在路由规则表中添加相关路由规则,该路由规则的应用标识符、事件标识符、条件来自于应用模型,路由地址是与后一资源服务对应的能力单元中消息主题的地址。

读取人机物融合应用模型中的绑定约束部分,针对每一个具有绑定约束的资源,查找与该资源相关的能力单元的能力代理,调用绑定策略配置接口在能力代理中的资源绑定策略中加入相应约束条件。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1