CN107273137A - 用于快速完成定制业务的可移植软件平台、方法和机器人 - Google Patents
用于快速完成定制业务的可移植软件平台、方法和机器人 Download PDFInfo
- Publication number
- CN107273137A CN107273137A CN201710527373.8A CN201710527373A CN107273137A CN 107273137 A CN107273137 A CN 107273137A CN 201710527373 A CN201710527373 A CN 201710527373A CN 107273137 A CN107273137 A CN 107273137A
- Authority
- CN
- China
- Prior art keywords
- service
- module
- software platform
- portable software
- service condition
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种用于快速完成定制业务的可移植软件平台、方法和机器人,其中,可移植软件平台包括:加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述具有统一接口的插件包括模块、回调、驱动、模块链和业务状态机;业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中引用的多个服务;服务集成与控制器组件,用于通过调用所述模块、回调、驱动和模块链,实现运行并控制所述多个服务。本发明实施例可简单快速地迭代开发产品,从而能够快速应对市场需求,降低开发和维护成本。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种用于快速完成定制业务的可移植软件平台、方法和机器人。
背景技术
随着社会的不断发展和进步,智能设备特别是机器人层出不穷并将无处不在。机器人市场前景好、需求量大,国家政策鼓励服务机器人产业发展,但面临业务领域或行业众多、场景多(例如移动的,静止的;家用的,公用的;高端的,低廉的等)以及软硬件组件供应商众多且接口不一等现状。
而当前的机器人系统提供的业务功能通常与操作系统及硬件、智能服务紧密耦合,这使得相关功能调用显式且分散,要迁移到其他的操作系统、或更改硬件供应商、或使用新的服务、或适应业务功能的变化和/或扩展、或迁移到不同行业,都可能会有较多的修改,从而需要投入较多人力和较长时间的开发和测试才能上线,从而导致开发成本高、维护成本高、市场反应慢等挑战。
发明内容
本发明实施例提供一种用于快速完成定制业务的可移植软件平台、方法和机器人,以实现将机器人系统提供的业务功能与操作系统及硬件、智能服务解耦,降低开发和维护成本。
第一方面,本发明实施例提供了一种用于快速完成定制业务的可移植软件平台,包括:
加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述具有统一接口的插件包括模块、回调、驱动、模块链和业务状态机;
业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中相应模块的功能,其中,业务流程中包含多个服务;
服务集成与控制器组件,用于运行并控制所述多个服务,以便隐式而集中地调用所述模块的功能。
第二方面,本发明实施例还提供了一种用于快速完成定制业务的方法,该方法包括:
接收服务开发者通过所述可移植软件平台开发并发布的服务;
接收业务开发者开发并发布的业务状态机,所述业务状态机中引用了所述服务;
所述可移植软件平台运行后,加载并运行所述业务状态机,以便平台消费者通过所述可移植软件平台的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(Application Programming Interface,应用程序编程接口)层,而公共帮助层为前述各层提供服务,此外,还提供平台SDK(Software Development Kit,软件开发工具包)服务于开发者。其中,操作系统和硬件抽象层屏蔽操作系统和硬件的差异;框架层包含加载器组件、业务运行与控制器组件、服务集成与控制器组件,加载配置、运行与控制业务状态机和服务;平台API是外部(平台消费者)与平台通信并获取服务的接口;平台SDK提供模块、回调、驱动等接口文档,模块、回调、驱动、模块链、业务状态机配置文件模板,平台插件开发示例等,服务开发者据此可以开发服务。
本发明实施例通过加载器、业务运行与控制器组件、服务集成与控制器组件来构建可移植软件平台,这使得业务开发者和服务开发者的分工与接口明确,服务开发者只需专注于其要提供的功能及实现的算法和逻辑,无需关心具体业务,业务开发者则无需关注各服务的内部细节,只需根据业务流程和业务功能的实际需要,引用相关服务,编写业务状态机,即可简单快速地迭代开发产品。应用中,要迁移到其他操作系统仅需重新实现操作系统和硬件抽象层组件及相关驱动组件;更改硬件供应商仅需实现相关驱动组件;要使用新的服务,若该服务尚未实现则使用该可移植软件平台系统提供的机制实现,由该可移植软件平台系统挂载并由相关业务引用该服务即可;业务功能变化时仅需修改业务状态机;增添业务功能时仅需增添并测试相关业务状态机;删除某业务功能时仅需删除相关业务状态机,从而极大地减少人力和时间,快速应对市场需求,降低成本。
实施例二
图3为本发明实施例二中的用于快速完成定制业务的方法的流程图,该方法应用于用于快速完成定制业务的可移植软件平台。如图3所示,本发明实施例二的方法具体包括:
S301、接收服务开发者通过所述可移植软件平台开发并发布的服务;
S302、接收业务开发者开发并发布的业务状态机,所述业务状态机中引用了所述服务;
S303、所述可移植软件平台运行后,加载并运行所述业务状态机,以便平台消费者通过所述可移植软件平台的API与平台进行通信并获取服务。
本发明实施例利用用于快速完成定制业务的可移植软件平台,由服务开发者和业务开发者分别开发并发布服务和业务状态机,然后由可移植软件平台运行和加载,以便平台消费者获取相关服务,使得业务开发者和服务开发者的分工与接口明确,服务开发者只需专注于其要提供的功能及实现的算法和逻辑,无需关心具体业务,业务开发者则无需关注各服务的内部细节,只需根据业务流程和业务功能的实际需要,引用相关服务,编写业务状态机,即可简单快速地迭代开发产品,从而能够快速应对市场需求,降低开发和维护成本。
实施例三
本发明实施例三还提供了一种机器人,例如可以是服务机器人,具有如上述实施例所述的用于快速完成定制业务的可移植软件平台,该平台包括:
加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述插件包括模块、回调、驱动、模块链和业务状态机;
业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中引用的多个服务;
服务集成与控制器组件,用于通过调用所述模块、回调、驱动和模块链,实现运行并控制所述多个服务。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (6)
1.一种用于快速完成定制业务的可移植软件平台,其特征在于,包括:
加载器,用于解析具有统一接口的插件的配置信息,根据解析结果实例化所述插件,其中,所述插件包括模块、回调、驱动、模块链和业务状态机;
业务运行与控制器组件,用于运行实例化的业务状态机,控制业务状态机中的业务流程,并通过所述统一接口调用所述业务流程中引用的多个服务;
服务集成与控制器组件,用于通过调用所述模块、回调、驱动和模块链,实现运行并控制所述多个服务。
2.根据权利要求1所述的可移植软件平台,其特征在于,所述加载器包括:
配置解析器组件,用于解析模块、回调、驱动、模块链、业务状态机的相关配置并验证;
插件加载器组件,用于根据所述配置解析器的解析结果,实例化分别具有统一接口的模块、回调、驱动的相关插件;
服务集成和业务加载器组件,用于根据所述配置解析器的解析结果,实例化分别具有统一接口的模块链和业务状态机。
3.根据权利要求1所述的可移植软件平台,其特征在于,
所述模块是对与所述多个服务对应的硬件或软件组件的抽象;
所述回调用于实现所述模块中的各种数据处理;
所述驱动用于包装供应商的产品特性及与操作系统相关的成分,用于管理底层驱动封装实例,或对多个服务的统一控制;
所述模块链用于管理相互之间有数据传输处理逻辑关系的模块,描述并固化模块间的数据和控制的传递及调用顺序,将所述模块按照链表的形式串接起来;
所述业务状态机用于描述业务、业务状态及业务状态之间的切换条件,并引用相关的多个服务。
4.根据权利要求1所述的可移植软件平台,其特征在于,所述可移植软件平台还包括:
操作系统和硬件抽象层组件,用于屏蔽操作系统和硬件的差异,以提供软件平台的可移植性。
5.一种用于快速完成定制业务的方法,应用于用于快速完成定制业务的可移植软件平台,其特征在于,包括:
接收服务开发者通过所述可移植软件平台开发并发布的服务;
接收业务开发者开发并发布的业务状态机,所述业务状态机中引用了所述服务;
所述可移植软件平台运行后,加载并运行所述业务状态机,以便平台消费者通过所述可移植软件平台的API与平台进行通信并获取服务。
6.一种机器人,其特征在于,具有如权利要求1-4中任一所述的用于快速完成定制业务的可移植软件平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710527373.8A CN107273137A (zh) | 2017-06-30 | 2017-06-30 | 用于快速完成定制业务的可移植软件平台、方法和机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710527373.8A CN107273137A (zh) | 2017-06-30 | 2017-06-30 | 用于快速完成定制业务的可移植软件平台、方法和机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273137A true CN107273137A (zh) | 2017-10-20 |
Family
ID=60071437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710527373.8A Pending CN107273137A (zh) | 2017-06-30 | 2017-06-30 | 用于快速完成定制业务的可移植软件平台、方法和机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273137A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943458A (zh) * | 2017-11-20 | 2018-04-20 | 上海木爷机器人技术有限公司 | 一种机器人开发系统 |
CN108111344A (zh) * | 2017-12-19 | 2018-06-01 | 电信科学技术第五研究所有限公司 | 一种可链接式流式数据解析动态流程构建模型实现方法 |
CN108845879A (zh) * | 2018-05-21 | 2018-11-20 | 塔米智能科技(北京)有限公司 | 一种机器人资源调用方法、装置、服务器和存储介质 |
CN109079849A (zh) * | 2018-08-07 | 2018-12-25 | 北京云迹科技有限公司 | 开放型机器人系统 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN110286892A (zh) * | 2019-06-26 | 2019-09-27 | 成都九洲电子信息系统股份有限公司 | 一种基于业务流程设计的快速开发引擎系统 |
CN111240741A (zh) * | 2020-01-16 | 2020-06-05 | 南方电网科学研究院有限责任公司 | 一种可移植的电力功能模块 |
CN114167719A (zh) * | 2021-11-30 | 2022-03-11 | 广东亿嘉和科技有限公司 | 一种机器人实时控制系统 |
-
2017
- 2017-06-30 CN CN201710527373.8A patent/CN107273137A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943458A (zh) * | 2017-11-20 | 2018-04-20 | 上海木爷机器人技术有限公司 | 一种机器人开发系统 |
CN108111344A (zh) * | 2017-12-19 | 2018-06-01 | 电信科学技术第五研究所有限公司 | 一种可链接式流式数据解析动态流程构建模型实现方法 |
CN108111344B (zh) * | 2017-12-19 | 2020-08-04 | 电信科学技术第五研究所有限公司 | 一种可链接式流式数据解析动态流程构建模型实现方法 |
CN108845879A (zh) * | 2018-05-21 | 2018-11-20 | 塔米智能科技(北京)有限公司 | 一种机器人资源调用方法、装置、服务器和存储介质 |
CN109079849A (zh) * | 2018-08-07 | 2018-12-25 | 北京云迹科技有限公司 | 开放型机器人系统 |
CN109079849B (zh) * | 2018-08-07 | 2022-04-29 | 北京云迹科技股份有限公司 | 开放型机器人系统 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN110286892A (zh) * | 2019-06-26 | 2019-09-27 | 成都九洲电子信息系统股份有限公司 | 一种基于业务流程设计的快速开发引擎系统 |
CN110286892B (zh) * | 2019-06-26 | 2023-01-13 | 成都九洲电子信息系统股份有限公司 | 一种基于业务流程设计的快速开发引擎系统 |
CN111240741A (zh) * | 2020-01-16 | 2020-06-05 | 南方电网科学研究院有限责任公司 | 一种可移植的电力功能模块 |
CN111240741B (zh) * | 2020-01-16 | 2024-03-22 | 南方电网科学研究院有限责任公司 | 一种可移植的电力功能模块 |
CN114167719A (zh) * | 2021-11-30 | 2022-03-11 | 广东亿嘉和科技有限公司 | 一种机器人实时控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273137A (zh) | 用于快速完成定制业务的可移植软件平台、方法和机器人 | |
US8719839B2 (en) | Two way communication support for heterogenous processors of a computer platform | |
CN106383784A (zh) | 软件自动化测试方法及系统 | |
US11455149B2 (en) | Object configuration utilities | |
EP1391818A2 (en) | Method, system and apparatus for an industrial framework based on integrated applications via adapters | |
CN101788906B (zh) | 资源管理方法和系统 | |
CN105357059A (zh) | 业务事件处理方法和装置 | |
US10853079B2 (en) | Dependency-based streamlined processing | |
CN111352653B (zh) | 基于PaaS云平台服务器的系统开发方法及服务器 | |
CN104679532A (zh) | 内核模块加载方法和装置 | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
CN105867944A (zh) | Web前端数据操作层及其实现方法 | |
CN109976871A (zh) | 智能合约部署方法、装置、电子设备及存储介质 | |
CN110705891A (zh) | 一种基于高可配可变更的数据处理方法 | |
CN102387264B (zh) | 呼叫控制策略的处理方法、装置及呼叫中心 | |
CN104346162A (zh) | 利用集成开发环境的用户界面生成方法 | |
CN110554873A (zh) | 用于实现人机交互界面的系统、计算机设备及存储介质 | |
CN106201490A (zh) | 一种优化应用程序运行的方法及装置 | |
CN110046052A (zh) | 一种服务调用方法及装置 | |
EP2003843B1 (en) | Device for communicating in multiple modes using multi-mode applications | |
CN101536561B (zh) | 通信设备中的策略管理 | |
EP2003832A1 (en) | System and method for creating multi-mode applications | |
US8522198B2 (en) | Model-operative pattern representation harvesting using an automated exemplar-directed approach | |
CN106598551B (zh) | 一种智能卡、智能卡的处理方法和装置 | |
CN113741862A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190625 Address after: Room 109, Room No. 2, Tushan Yilang, East Huancheng Road, Shangcheng District, Hangzhou City, Zhejiang 310000 Applicant after: Zhejiang Fubao Intelligent Technology Co., Ltd. Address before: 201203 14 blocks 22301-1544, 498 Guoshoujing Road, Pudong New Area Free Trade Pilot Area, Shanghai Applicant before: SHANGHAI TANGDI INFORMATION TECHNOLOGY CO., LTD. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |
|
RJ01 | Rejection of invention patent application after publication |