用于快速完成定制业务的可移植软件平台、方法和机器人与流程

文档序号:11774099阅读:277来源:国知局
用于快速完成定制业务的可移植软件平台、方法和机器人与流程

本发明实施例涉及计算机技术,尤其涉及一种用于快速完成定制业务的可移植软件平台、方法和机器人。



背景技术:

随着社会的不断发展和进步,智能设备特别是机器人层出不穷并将无处不在。机器人市场前景好、需求量大,国家政策鼓励服务机器人产业发展,但面临业务领域或行业众多、场景多(例如移动的,静止的;家用的,公用的;高端的,低廉的等)以及软硬件组件供应商众多且接口不一等现状。

而当前的机器人系统提供的业务功能通常与操作系统及硬件、智能服务紧密耦合,这使得相关功能调用显式且分散,要迁移到其他的操作系统、或更改硬件供应商、或使用新的服务、或适应业务功能的变化和/或扩展、或迁移到不同行业,都可能会有较多的修改,从而需要投入较多人力和较长时间的开发和测试才能上线,从而导致开发成本高、维护成本高、市场反应慢等挑战。



技术实现要素:

本发明实施例提供一种用于快速完成定制业务的可移植软件平台、方法和机器人,以实现将机器人系统提供的业务功能与操作系统及硬件、智能服务解耦,降低开发和维护成本。

第一方面,本发明实施例提供了一种用于快速完成定制业务的可移植软件平台,包括:

加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述具有统一接口的插件包括模块、回调、驱动、模块链和业务状态机;

业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中相应模块的功能,其中,业务流程中包含多个服务;

服务集成与控制器组件,用于运行并控制所述多个服务,以便隐式而集中地调用所述模块的功能。

第二方面,本发明实施例还提供了一种用于快速完成定制业务的方法,该方法包括:

接收服务开发者通过所述可移植软件平台开发并发布的服务;

接收业务开发者开发并发布的业务状态机,所述业务状态机中引用了所述服务;

所述可移植软件平台运行后,加载并运行所述业务状态机,以便平台消费者通过所述可移植软件平台的api与平台进行通信并获取服务。

第三方面,本发明实施例还提供了一种机器人,具有如上所述的用于快速完成定制业务的可移植软件平台。

本发明实施例通过加载器、业务运行与控制器组件、服务集成与控制器组件来构建可移植软件平台,这使得业务开发者和服务开发者的分工与接口明确,服务开发者只需专注于其要提供的功能及实现的算法和逻辑,无需关心具体业务,业务开发者则无需关注各服务的内部细节,只需根据业务流程和业务功能的实际需要,引用相关服务,编写业务状态机,即可简单快速地迭代开发产品,从而能够快速应对市场需求,降低开发和维护成本。

附图说明

图1是本发明实施例一中的用于快速完成定制业务的可移植软件平台的结构示意图;

图2是本发明实施例一中的用于快速完成定制业务的可移植软件平台中加载器的结构示意图;

图3是本发明实施例二中的用于快速完成定制业务的方法的流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一中的用于快速完成定制业务的可移植软件平台的结构示意图,如图1所示,本发明实施例的可移植软件平台10包括加载器101、业务运行与控制器组件102和服务集成与控制器组件103,其中,

加载器101,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述插件包括模块、回调、驱动、模块链和业务状态机。

具体的,如图2所示,加载器101包括:

配置解析器组件1011,用于解析模块、回调、驱动、模块链、业务状态机的相关配置并验证;

插件加载器组件1012,用于根据所述配置解析器的解析结果,实例化分别具有统一接口的模块、回调、驱动的相关插件;

服务集成和业务加载器组件1013,用于根据所述配置解析器的解析结果,实例化分别具有统一接口的模块链和业务状态机。

其中,所述模块是对与所述多个服务对应的硬件或软件组件的抽象;所述回调用于实现所述模块中的各种数据处理;所述驱动用于包装供应商的产品特性及与操作系统相关的成分,用于管理底层驱动封装实例,或对多个服务的统一控制;所述模块链用于管理相互之间有数据传输处理逻辑关系的模块,描述并固化模块间的数据和控制的传递及调用顺序,将所述模块按照链表的形式串接起来;所述业务状态机用于描述业务、业务状态及业务状态之间的切换条件,并引用相关的多个服务。

所述统一接口对应于模块、回调、驱动和模块链分别为模块接口、回调接口、驱动接口和模块链接口,这些接口是预先定义的,通过预先定义的接口将所述多个服务分别包装实现为对应的模块、模块链、回调和驱动,同时也会生成相应的配置信息,此外,预先通过设计器设计出业务状态机,并导出业务状态机配置信息。可移植软件平台通过加载并解析这些配置信息,根据解析结果创建所述模块、回调、驱动和模块链以及业务状态机的实例,运行所述实例以便实现相应的软件服务。

业务运行与控制器组件102,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中引用的多个服务。

如前所述,业务状态机是预先利用设计器根据具体的业务流程设计的,业务具有一定的业务流程或业务状态,实现相应的业务要引用多个相关软\硬件服务,实例化的业务状态机表示某一个具体的业务,通过业务运行与控制器组件102运行该实例化的业务状态机,实现对其中业务流程的控制,并通过所述统一接口调用所述业务流程中引用的多个服务,从而实现具体的服务和业务。

服务集成与控制器组件103,用于通过调用所述模块、回调、驱动和模块链,实现运行并控制所述多个服务。

具体的,由于模块是对与所述多个服务对应的硬件或软件组件的抽象,模块链是将模块按照链表的形式串接起来,而且其中,回调用于实现所述模块中的各种数据处理,驱动用于管理底层驱动封装实例,或对多个服务的统一控制。因此,实现某一服务或多个服务,是通过调用所述模块、回调、驱动和模块链来实现运行与控制的。

优选的,可移植软件平台还包括操作系统和硬件抽象层组件,用于屏蔽操作系统和硬件的差异,以提供软件平台的可移植性。具体的,操作系统和硬件抽象层组件通过标准c++及boost等开源库实现操作系统和硬件抽象,提供高性能的、支持linux/windows/android等主流操作系统平台。

在一种具体的实施方式中,可移植软件平台自底向上划分为操作系统和硬件抽象层、框架层和平台api(applicationprogramminginterface,应用程序编程接口)层,而公共帮助层为前述各层提供服务,此外,还提供平台sdk(softwaredevelopmentkit,软件开发工具包)服务于开发者。其中,操作系统和硬件抽象层屏蔽操作系统和硬件的差异;框架层包含加载器组件、业务运行与控制器组件、服务集成与控制器组件,加载配置、运行与控制业务状态机和服务;平台api是外部(平台消费者)与平台通信并获取服务的接口;平台sdk提供模块、回调、驱动等接口文档,模块、回调、驱动、模块链、业务状态机配置文件模板,平台插件开发示例等,服务开发者据此可以开发服务。

本发明实施例通过加载器、业务运行与控制器组件、服务集成与控制器组件来构建可移植软件平台,这使得业务开发者和服务开发者的分工与接口明确,服务开发者只需专注于其要提供的功能及实现的算法和逻辑,无需关心具体业务,业务开发者则无需关注各服务的内部细节,只需根据业务流程和业务功能的实际需要,引用相关服务,编写业务状态机,即可简单快速地迭代开发产品。应用中,要迁移到其他操作系统仅需重新实现操作系统和硬件抽象层组件及相关驱动组件;更改硬件供应商仅需实现相关驱动组件;要使用新的服务,若该服务尚未实现则使用该可移植软件平台系统提供的机制实现,由该可移植软件平台系统挂载并由相关业务引用该服务即可;业务功能变化时仅需修改业务状态机;增添业务功能时仅需增添并测试相关业务状态机;删除某业务功能时仅需删除相关业务状态机,从而极大地减少人力和时间,快速应对市场需求,降低成本。

实施例二

图3为本发明实施例二中的用于快速完成定制业务的方法的流程图,该方法应用于用于快速完成定制业务的可移植软件平台。如图3所示,本发明实施例二的方法具体包括:

s301、接收服务开发者通过所述可移植软件平台开发并发布的服务;

s302、接收业务开发者开发并发布的业务状态机,所述业务状态机中引用了所述服务;

s303、所述可移植软件平台运行后,加载并运行所述业务状态机,以便平台消费者通过所述可移植软件平台的api与平台进行通信并获取服务。

本发明实施例利用用于快速完成定制业务的可移植软件平台,由服务开发者和业务开发者分别开发并发布服务和业务状态机,然后由可移植软件平台运行和加载,以便平台消费者获取相关服务,使得业务开发者和服务开发者的分工与接口明确,服务开发者只需专注于其要提供的功能及实现的算法和逻辑,无需关心具体业务,业务开发者则无需关注各服务的内部细节,只需根据业务流程和业务功能的实际需要,引用相关服务,编写业务状态机,即可简单快速地迭代开发产品,从而能够快速应对市场需求,降低开发和维护成本。

实施例三

本发明实施例三还提供了一种机器人,例如可以是服务机器人,具有如上述实施例所述的用于快速完成定制业务的可移植软件平台,该平台包括:

加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述插件包括模块、回调、驱动、模块链和业务状态机;

业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中引用的多个服务;

服务集成与控制器组件,用于通过调用所述模块、回调、驱动和模块链,实现运行并控制所述多个服务。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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