CN113448653A - 一种业务处理方法、系统、电子设备和计算机可读介质 - Google Patents
一种业务处理方法、系统、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN113448653A CN113448653A CN202010231149.6A CN202010231149A CN113448653A CN 113448653 A CN113448653 A CN 113448653A CN 202010231149 A CN202010231149 A CN 202010231149A CN 113448653 A CN113448653 A CN 113448653A
- Authority
- CN
- China
- Prior art keywords
- component
- service
- target function
- layer
- function component
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 170
- 230000006870 function Effects 0.000 claims description 253
- 238000000034 method Methods 0.000 claims description 38
- 238000011161 development Methods 0.000 abstract description 31
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004378 air conditioning Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种业务处理方法、系统、电子设备和计算机可读介质,属于人工智能技术领域,该业务处理系统包括业务层和组件层,其中,业务层用于在确定满足智能设备的任一业务模块的触发条件时,确定业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,组件层用于在接收到调用请求后,根据调用请求中的组件标识确定目标功能组件,控制目标功能组件生成控制命令,向目标功能组件对应的控制对象发送控制命令,以控制控制对象执行相应操作,这样,以功能组件的方式实现业务模块的业务处理需求,便于不同业务模块中相同业务处理需求对应的功能组件之间的复用,因此,可提升业务模块的开发效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种业务处理方法、系统、电子设备和计算机可读介质。
背景技术
随着人工智能技术的快速发展,智能机器人的应用前景越来越广阔,因此,对智能机器人的研究也越来越多。
目前,智能机器人的各业务场景是独立开发的,每种业务场景的开发周期都会比较长,而实际上,不同业务场景中的业务需求会有重复,因此,不同业务场景的开发过程中总会做一些重复性的开发工作,这样,不利于业务场景的快速开发。可见,现有技术中存在着业务场景的开发速度比较慢的问题。
发明内容
本申请实施例提供一种业务处理方法、系统、电子设备和计算机可读介质,用以解决现有技术中存在的业务场景的开发速度比较慢的问题。
第一方面,本申请实施例提供一种业务处理系统,应用于智能设备,所述系统包括业务层和组件层,其中:
业务层,用于在确定满足智能设备的任一业务模块的触发条件时,确定所述业务模块的业务处理需求对应的目标功能组件,向所述组件层发送对所述目标功能组件的调用请求,所述调用请求中携带所述目标功能组件的组件标识;
组件层,用于根据接收到的所述调用请求中的组件标识,确定所述目标功能组件,控制所述目标功能组件生成控制命令,向所述目标功能组件对应的控制对象发送所述控制命令,以控制所述控制对象执行所述控制命令对应的操作。
在一种可能的实施方式中,所述组件层还用于:
在控制所述目标功能组件生成控制命令之前,确定所述目标功能组件对应的控制对象是否能满足所述业务处理需求对应的硬件能力要求;
若确定所述目标功能组件对应的控制对象能满足所述业务处理需求对应的硬件能力要求,则执行控制所述目标功能组件生成控制命令的步骤;或者
若确定所述目标功能组件对应的控制对象不能满足所述业务处理需求对应的硬件能力要求,则拒绝所述调用请求。
在一种可能的实施方式中,所述组件层具体用于:
根据所述调用请求中携带的所述业务处理需求对应的硬件能力要求信息,确定所述目标功能组件对应的控制对象是否能满足所述业务处理需求对应的硬件能力要求。
在一种可能的实施方式中,所述组件层具体用于:
若确定所述调用请求中携带有对所述业务处理需求中子业务需求的选择信息,控制所述目标功能组件根据所述选择信息所选择的子业务需求生成控制命令;或者
若确定所述调用请求中未携带对所述业务处理需求中子业务需求的选择信息,控制所述目标功能组件根据所述业务处理需求中子业务需求的默认配置信息生成控制命令。
在一种可能的实施方式中,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之前,若确定所述控制命令的格式与所述控制对象能够识别的控制命令的格式不一致,将所述控制命令的格式转换为所述控制对象能够识别的格式。
在一种可能的实施方式中,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之后,将所述控制对象的控制结果返回至所述业务层。
在一种可能的实施方式中,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之后,若确定满足所述目标功能组件的设定退出条件或者确定满足所述调用请求中携带的停止发送控制命令的条件,控制所述目标功能组件退出处理。
在一种可能的实施方式中,所述业务层,还用于在向组件层发送对所述目标功能组件的调用请求之后,若接收到表示结束所述业务模块对应的业务流程的指令,向所述组件层发送退出所述目标功能组件的指示消息;
所述组件层,还用于在接收到所述指示消息后,控制所述目标功能组件退出处理。
在一种可能的实施方式中,所述控制对象为所述智能设备的硬件模块或者为与所述智能设备相连的电子设备。
第二方面,本申请实施例提供的一种业务处理方法,包括:
通过业务层在确定满足所述智能设备的任一业务模块的触发条件时,确定所述业务模块的业务处理需求对应的目标功能组件,向组件层发送对所述目标功能组件的调用请求,所述调用请求中携带所述目标功能组件的组件标识;
通过组件层根据接收到的所述调用请求中的组件标识,确定所述目标功能组件,控制所述目标功能组件生成控制命令,向所述目标功能组件对应的控制对象发送所述控制命令,以控制所述控制对象执行所述控制命令对应的操作。
第三方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一业务处理方法。
第四方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一业务处理方法。
本申请实施例中,业务处理系统包括业务层和组件层,业务层在确定满足智能设备的任一业务模块的触发条件时,确定业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,组件层在接收到调用请求后,根据调用请求中的组件标识确定目标功能组件,进而控制目标功能组件生成控制命令,向目标功能组件对应的控制对象发送控制命令,以控制控制对象执行控制命令对应的操作,这样,以功能组件的方式实现业务模块的业务处理需求,便于不同业务模块中相同业务处理需求对应的功能组件之间的复用,因此,可提升业务模块的开发效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种业务处理系统的应用场景示意图;
图2为本申请实施例提供的一种业务处理方法的示意图;
图3为本申请实施例提供的又一种业务处理方法的示意图;
图4为本申请实施例提供的一种业务处理方法的流程图;
图5为本申请实施例提供的一种用于实现业务处理方法的电子设备的结构示意图。
具体实施方式
为了解决现有技术中存在的业务场景的开发速度比较慢的问题,本申请实施例提供了一种业务处理系统和业务处理方法。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请实施例中,业务层是指用于对业务层的多个业务模块进行管控的业务层控制器,组件层是指用于组件层的多个功能组件进行管控的组件层控制器。
图1为本申请实施例提供的一种业务处理系统的示意图,包括业务层和组件层,其中,业务层包括N个业务模块,组件层包括M个功能组件,每个业务模块代表一种业务场景,且每个业务模块对应至少一种业务处理需求,每种业务处理需求对应一种功能组件,每个业务模块可调用至少一种功能组件,当不同业务模块的部分业务处理需求相同时,不同的业务模块可以调用同一功能组件,比如,业务模块1可调用功能组件1,业务模块2可调用功能组件2,业务模块N可调用功能组件2和功能组件M,其中,N、M和K均为正整数。
实际应用中,当任一业务模块调用功能组件时,功能组件创建一个实例,然后,由实例来处理业务模块中相应的业务处理需求,由于功能组件可创建的实例个数一般是不受限制的、且功能组件创建的不同实例之间相互独立,因此,不同的业务模块可同时调用同一种功能组件。实际应用中,当出现不同的业务模块同时调用同一种功能组件时,功能组件可为调用自身的每个业务模块创建一个实例,然后,由该实例来处理该业务模块中相应的业务处理需求。
并且,每种功能组件可控制至少一种控制对象,不同的功能组件可以控制不同的控制对象,也可以控制同一个控制对象。比如,功能组件1可控制控制对象1和控制对象2,功能组件2可控制控制对象1、控制对象2和控制对象K,功能组件M可控制控制对象2和控制对象K。
首先,对业务处理系统中业务层的处理过程进行详细说明。
业务层在确定满足智能设备的任一业务模块的触发条件时,确定业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,该调用请求中至少包括目标功能组件的组件标识。
具体实施时,若确定业务模块有至少两种业务处理需求,则业务层可按照业务模块中各种业务处理需求的逻辑顺序,依次向组件层发送对每种业务处理需求对应的目标功能组件的调用请求。
假设业务模块有三种业务处理需求:业务处理需求1、业务处理需求2和数据处理需3,且在该业务模块中这三种业务处理需求的逻辑顺序为业务处理需求1—>业务处理需求2—>业务处理需求3,其中,业务处理需求1对应功能组件1、业务处理需求2对应功能组件2、业务处理需求3对应功能组件3。
那么,业务层可在该业务模块被触发时,确定功能组件1、功能组件2和功能组件3为目标功能组件,之后,向组件层发送对功能组件1的调用请求,调用功能组件1完成对业务处理需求1的处理后,再向组件层发送对功能组件2的调用请求,调用功能组件2完成对业务处理需求2的处理后,再向组件层发送对功能组件3的调用请求。
下面对业务处理系统中的组件层的处理过程进行详细说明。
组件层根据调用请求中的组件标识,确定目标功能组件,控制目标功能组件生成控制命令,进而向目标功能组件对应的控制对象发送控制命令,以控制该控制对象执行控制命令对应的操作。
其中,控制对象可以为与智能设备相连的硬件模块如视觉模块、头部模块、底盘模块等,控制对象也可以为与智能设备相连的电子设备如智能家居设备(智能空调、智能冰箱、智能照明设备等)。
实际应用中,不同业务模块中的同一种业务处理需求需智能设备具有的控制对象会有所不同,比如,有些业务模块中的业务处理需求N1需要智能设备具有控制对象A和B,有些业务模块中的业务处理需求N1需要智能设备具有控制对象A、B和C。不同业务模块中的同一种业务处理需求对智能设备具有的同一控制对象的硬件能力要求也会有所不同,比如有些业务模块中的业务处理需求N2需要智能设备的头部模块的水平旋转范围为0~360°,有些业务模块中的业务处理需求N2需要智能设备的头部模块的水平旋转范围为0~180°。
在实际的业务开发过程中,开发人员很难预见不同业务模块中的同一种业务处理需求对控制对象的硬件能力要求的差异,也很难预见未来还有会哪些业务模块会使用到该种业务处理需求,所以只能按照当前业务模块中该种业务处理需求对控制对象的硬件能力要求来开发业务模块,这样,当业务模块在不同智能设备之间进行迁移时,业务模块所迁移到的智能设备只能在使用到相关控制对象的时候才能发现控制对象存在的硬件能力不支持的问题。
现有技术中,由业务层直接控制各控制对象,业务层在发现控制对象存在的硬件能力不支持的问题之后,为了能够使智能设备正常工作,还需要对智能设备的工作状态信息进行复位。比如,在智能家居业务场景中,假设需要业务层控制智能设备依次打开照明设备、打开空调设备、打开智能音响,但如果业务层在控制智能设备打开照明设备、打开空调设备之后,发现智能设备没有连接智能音响,则没有办法再执行后续操作,此时,业务层还需要再控制智能设备关闭照明设备、关闭空调设备;再比如,在跳舞业务场景中,业务层需要控制智能设备执行一系列的动作,但如果业务层在控制智能设备执行到中间的某个动作时才发现与智能设备连接的硬件模块存在的不支持问题,则业务层也没有办法再执行后续操作,此时,业务层还需要控制智能设备恢复到设置的初始位置,并控制智能设备将自身的姿态调整到设置的初始姿态。这种事后弥补的方式不利于业务模块的快速复用,同样会拖慢业务开发进度。
为了解决上述问题,本申请实施中,组件层在控制目标功能组件生成控制命令之前,还可确定目标功能组件对应的各控制对象是否能满足业务处理需求对应的硬件能力要求。
在一种可能的实施方式中,若组件层接收到的调用请求中未携带业务模块的业务处理需求对应的硬件能力要求信息,进一步的,组件层在确定目标功能组件之后,可根据保存的当前业务模块中功能组件与控制对象之间的对应关系,确定目标功能组件对应的控制对象(即业务模块的业务处理需求需要智能设备具有的控制对象),若组件层确定目标功能组件对应的控制对象包含在组件层实际可控制的控制对象(即智能设备本身已安装了的硬件模块或智能设备已建立通信连接的电子设备)中,则确定目标功能组件对应的控制对象能满足相应业务处理需求对应的硬件能力要求;若组件层确定目标功能组件对应的控制对象未包含在组件层实际可控制的控制对象中,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求。
在另一种可能的实施方式中,若组件层接收到的调用请求中携带业务模块的业务处理需求对应的硬件能力要求信息,进一步的,组件层在确定目标功能组件之后,可根据保存的当前业务模块中功能组件与控制对象之间的对应关系,确定目标功能组件对应的控制对象,若组件层确定目标功能组件对应的控制对象未包含在组件层实际可控制的控制对象中,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求;若组件层确定目标功能组件对应的控制对象包含在组件层实际可控制的控制对象中,则可将调用请求中携带的业务模块的业务处理需求对应的硬件能力要求信息与预先保存的各目标功能组件对应的控制对象的硬件能力信息进行比对。
若组件层确定业务处理需求对应的硬件能力要求未超出目标功能组件对应的控制对象的硬件能力范围,则确定目标功能组件对应的控制对象能满足业务处理需求对应的硬件能力要求;若组件层确定业务处理需求对应的硬件能力要求超出目标功能组件对应的控制对象的硬件能力范围,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求。
进一步地,组件层若确定目标功能组件对应的控制对象能满足业务模块的业务处理需求对应的硬件能力要求,则可执行控制目标功能组件生成控制命令的步骤;若确定目标功能组件对应的控制对象不能满足业务模块的业务处理需求对应的硬件能力要求,则可拒绝调用请求。例如,组件层可向业务层发送用于表示拒绝调用请求的消息。进一步的,还可以在该消息中携带拒绝调用请求的原因。
这样,可及时发现与智能设备相连的控制对象存在的硬件能力不支持的问题,并可及时通知技术人员进行处理,避免对智能设备的工作状态信息进行复位的操作。
另外,本申请实施例中,对不同业务模块中的业务处理需求整理之后,以业务处理需求为单位开发功能组件,这种开发方式抽离了具体的业务场景,利于业务处理需求对应的功能组件在不同业务模块之间进行复用,而在功能组件的开发过程中考虑相应业务处理需求在不同业务模块中对硬件能力要求的差异,利于业务模块在不同型号、甚至不同厂家生产的智能设备之间进行复用,可进一步提升业务模块的开发进度。
具体实施时,组件层在控制目标功能组件生成控制命令时,可根据调用请求中目标功能组件进行业务处理所需的参数信息,创建目标功能组件的实例,在创建目标功能组件的实例之后,若调用请求中未包含开始进行业务的条件,则组件层可在接收到该调用请求后立即控制目标功能组件的实例生成控制命令;若调用请求中包含开始进行业务处理的条件,则组件层可在确定满足调用请求中目标功能组件开始进行业务处理的条件时,控制目标功能组件的实例生成控制命令。
另外,为了使业务模块能够提供个性化的控制方案,在业务层还可以开放对业务处理需求中子业务需求的选择,比如,在跳舞业务场景中让用户自主选择舞曲,在智能家居业务场景中让用户自主选择想要控制的智能家居设备,并且,这些选择信息可通过调用请求从业务层传递到组件层,也就是说,调用请求中可以携带对业务处理需求中子业务需求的选择信息。
具体实施时,若组件层接收到的调用请求中携带有对业务处理需求中子业务需求的选择信息,则组件层可控制目标功能组件的实例根据选择信息中的子业务需求和子业务需求的选择顺序,依次生成控制命令。另外,若组件层接收到的调用请求中未携带对业务处理需求中子业务需求的选择信息,组件层还可控制目标功能组件的实例根据业务处理需求中子业务需求的默认配置信息生成控制命令。
实际应用中,控制对象可识别的控制命令会因控制对象的硬件参数的不同而有所不同,也就是说,当控制对象更换时可能会出现目标功能组件的控制命令无法对控制对象进行控制的情况,为了解决该问题,本申请实施例中的组件层还可兼具数据格式转换功能。
具体实施时,组件层可以预先存储控制对象能够识别的控制命令的格式信息,后续,在向目标功能组件对应的控制对象发送控制命令之前,若确定控制命令的格式与控制对象能够识别的控制命令的格式不一致,则可将控制命令的格式转换为控制对象能够识别的格式,然后,再向控制对象发送控制命令。
这样,当控制对象更换时,只需更新组件层存储的格式转换规则即可保证更换后的控制对象正常使用,不必再修改业务模块的其他功能,可降低业务模块与控制对象之间的耦合度,也便于业务模块的复用。
基于上述任一实施例,组件层在向目标功能组件对应的控制对象发送控制命令之后,还可以将控制对象的控制结果返回至业务层,以便业务层根据组件层返回的控制结果执行后续流程。举例说明,当控制对象是照明设备时,控制结果可以是照明设备成功打开的消息;当控制对象是空调设备时,控制结果可以是空调设备成功打开的消息,并且,控制对象的控制结果既可以是控制对象发送给组件层的,也可以是组件层自身确定的。
基于上述任一实施例,组件层在向目标功能组件对应的控制对象发送控制命令之后,若调用请求中包含结束业务处理的条件,则组件层可在确定满足调用请求中携带的停止发送控制命令的条件如业务处理流程结束时,控制目标功能组件退出处理(如释放目标功能组件的实例);若调用请求中未包含结束业务处理的条件,则组件层可在确定满足目标功能组件的设定退出条件如目标功能组件的实例的生命周期结束时,控制目标功能组件退出处理,其中,实例的生命周期是指为实例设定的存活时间,这样,可以节省智能设备的处理资源。
上述流程中,是组件层自主控制目标功能组件退出处理,实际应用中,业务层也可具备控制目标功能组件退出处理的功能。
具体实施时,业务层在向组件层发送对目标功能组件的调用请求之后,若接收到表示结束业务模块对应的业务流程的指令,则向组件层发送退出目标功能组件的指示消息。相应地,组件层在接收到指示消息后,控制目标功能组件退出处理,比如,释放目标功能组件的实例。
实际应用中,组件层中的功能组件是逐步扩充的,有可能存在业务模块的某种业务处理需求没有对应的目标功能组件的情况,此时,业务层可以生成控制命令,直接向相应的控制对象发送控制命令,以使控制对象执行控制命令对应的操作。
具体实施时,业务层在确定满足任一业务模块的触发条件时,可判断业务模块的业务处理需求是否对应有目标功能组件,若确定业务模块的业务处理需求对应有目标功能组件,业务层可向组件层发送对目标功能组件的调用请求,由组件层根据调用请求中的组件标识确定目标功能组件,控制目标功能组件生成控制命令,进而向目标功能组件对应的控制对象发送控制命令,以控制目标功能组件对应的控制对象执行控制命令对应的操作;若确定业务模块的业务处理需求没有对应目标功能组件,业务层可根据业务模块的业务处理需求,生成控制命令,进而向业务模块对应的控制对象发送控制命令,以控制业务模块对应的控制对象执行控制命令对应的操作。
并且,当业务模块对应至少两种业务处理需求时,可能会存在部分业务处理需求对应有目标功能组件,而部分业务处理需求没有对应目标功能组件的情况,此时,对对应有目标功能组件的业务处理需求,业务层可确定业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,进而由组件层控制目标功能组件来实现该业务处理需求;对没有对应目标功能组件的业务处理需求,可由业务层来实现该业务处理需求,也就是说,在同一业务模块中,前述两种方式可以组合使用。
下面以智能设备为智能机器人为例对本申请实施例进行说明。
具体实施时,可对智能机器人在多种业务场景中的业务处理需求进行整理,对整理后的每种业务处理需求创建一个功能组件,所有的功能组件可分为两类:一类只需要控制控制对象,比如引领功能,另一类需要操作数据调度层,还需控制控制对象,比如视觉相关的焦点跟随。
其中,引领功能,需要在开始引领时将摄像头切换到后置,开始导航,在导航结束后,再将摄像头切换到前置。
现有技术中,业务层需要执行这里面所有的操作,而接触机器人不久的开发人员很难想到这个业务功能里面的所有细节,遗漏开发细节必然需要补救,反复的补救必然会拖慢开发进度。
而在本申请实施例中,可为开发人员提供一个业务开发闭环,业务层在确定满足引领业务模块的引领开始条件时,确定引领业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,组件层在接收到调用请求后,根据调用请求中的组件标识确定目标功能组件,控制目标功能组件将智能机器人的摄像头切换后置,在引领结束时,再控制目标功能组件将摄像头切换前置。
这样,开发人员只要调用目标功能组件就可以实现引领业务模块中的相应业务处理需求,不必再关注引领业务中的具体开发细节,自然也不会再遗漏开发细节。并且,业务层使用参数传递的方式调用组件层中的目标功能组件,业务层和组件层之间的兼容性也比较好。
其中,视觉相关的焦点跟随,需要在看到人脸之后进行持续的焦点跟随,即原地跟着人脸移动,并在人消失之后进行持续查找,查找一定时间后,显示某些用户界面或语音业务,然而在不同的算法或硬件支持下,获取人脸及持续焦点跟随的接口可能需要变化。
现有技术中,在业务层直接实现焦点跟随中的各种业务处理需求,如果需要修改某个接口就需要将所有业务层中使用到该接口的地方全部进行适应性修改,修改起来比较麻烦,而且容易出现漏改、错改的问题。
而在本申请实施例中,对业务模块中的业务处理需求进行组件化开发,接口都由功能组件进行管理,如果需要修改某个接口,可直接在功能组件中对该接口进行修改或适配。
这样,不用在其他层(如业务层)修改或适配接口,不易出现漏改、错改的问题,开发工作更易进行。而且,即便使用不同的算法或硬件,业务层是通过传递传输的形式调用组件层中的功能组件,所以即便在功能组件中修改接口,组件层对业务层展现的需传入的参数信息是一致的,因此,还可大量减少业务层的参数适配操作。
另外,不同业务场景中对焦点跟随的定义可能也是不同的,比如有的业务场景中进行焦点跟随时需要智能机器人的头部与底盘同时进行跟随焦点转动,有的业务场景中进行焦点跟随时只需要头部跟随焦点转动,甚至有的业务场景中进行焦点跟随时要求只能头部进行水平转动,而不能进行上下转动。
现有技术中,这些差异都需要在业务层进行处理,而不同业务场景中相同业务处理需求在实现上的差异比较大,既不利于业务开发,也不利于业务场景的迁移。
而在本申请实施例中,对不同业务模块中的业务处理需求进行整理以后,对每种业务处理需求形成一个功能组件,功能组件由组件层统一管理,相当于在组件层中实现不同业务模块中焦点跟随的需求。
这样,业务层在确定满足业务模块的触发条件后,仅需确定业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,后续,即可由组件层来实现业务模块的业务处理需求,业务层不必关注每种业务处理需求在不同业务模块中的差异,相当于在业务层屏蔽了相同业务处理需求在不同业务模块中的差异,即便于业务层的开发,也便于业务处理需求后续应用于其它业务模块中。
实际应用中,每个业务模块对应一个或多个接口的调用及适配,有时可能会出现业务模块的部分接口在一种硬件模块上支持,而在另一种硬件模块上不支持的情况。
现有技术中,需要在使用到硬件模块的具体接口时才知道硬件模块是否支持相应接口,如果不支持,通常还需要对智能机器人的运行状态进行恢复处理,这种事后弥补的方式同样不利于业务开发。
为了应对该问题,本申请实施例中,组件层可以在初始化目标功能组件的过程中根据智能设备实际控制的控制对象的硬件能力和传入参数中业务处理需求对应的硬件能力信息,判断是否要继续执行下去。也就是说,本申请实施例中,目标功能组件的初始化既包括与现有技术中初始化类似的操作如分配内存、分配存储空间、分配堆栈等,又包括现有技术中没有的检查智能设备实际控制的控制对象是否支持当前业务处理需求对应的硬件能力要求的操作。
这样,同样是视觉的焦点跟随,对不支持底盘跟随的底盘模块,在目标功能组件初始化的过程中就可发现业务要求底盘转动,并立即返回不支持的消息,而不再是执行过程中才发现,从而避免了恢复复杂的状态信息的操作。
并且,类似的功能组件在项目的开展中不断积累,使得业务的开发可以快速完成,开发人员更少地关心底层中硬件模块的变化,而在项目开发过程中,当底层出现问题时,仅需要在功能组件中进行适配或者在开发文档中增加内容即可,不必像现有技术一样去业务模块中查找使用的所有地方,一一修改,业务模块的稳定性也比较好。
在一个具体实施例中,业务层在使用目标功能组件时,需要向组件层请求加载目标功能组件,并向组件层传入目标功能组件处理业务所需的参数和目标功能组件退出的条件,这些参数中的参数值可以存在预设值,组件层在初始化目标功能组件的过程中可检查业务处理需求对应的硬件能力智能设备的硬件模块是否支持,如果不支持,则停止初始化目标功能组件,直接退出目标功能组件,并通知业务层;如果支持,则在初始化目标功能组件后运行目标功能组件,组件层可将运行过程中的状态信息通知给业务层,在达到结束条件时,组件层可退出目标功能组件并通知到业务层,而业务层也可以在接收到退出目标功能组件的指令时,通知组件层,由组件层控制目标功能组件退出处理。
图2为本申请实施例提供的一种业务处理方法的示意图,其为现有技术中焦点跟随的业务实现。具体实施时,业务层向底层发送获取人脸信息的请求,底层在接收到该请求后,向业务层返回人脸信息,这些人脸信息中既有符合业务层要求的人脸信息,也有不符合业务层要求的人脸信息,业务层对接收到的人脸信息进行分析处理,若确定存在满足焦点跟随条件的人脸,则可向底层发送头部焦点跟随的指令,向底层发送底盘焦点跟随的指令,以控制底层实现焦点跟随,若业务层一定时间没有获取到跟随人的人脸信息,则可向底层发送头部停止焦点跟随的指令和底盘停止焦点跟随的指令,以结束焦点跟随。
图3为本申请实施例提供的一种业务处理方法的示意图,具体实施时,业务层在开始焦点跟随(头部加底盘跟随)时,向组件层发送调用请求,调用请求中携带目标功能组件的组件标识和需目标功能组件具备的能力信息,组件层接收到调用请求后,根据组件标识确定目标功能组件,进而检查目标功能组件是否支持头部和底盘跟随,若否,则拒绝调用请求;若是,则控制目标功能组件生成实例,由实例向底层发送获取人脸信息的请求,底层在接收到该请求后,向组件层返回人脸信息,这些人脸信息中既有符合业务层要求的人脸信息,也有不符合业务层要求的人脸信息,通过目标功能组件的实例分析接收到的人脸信息/人体信息,确定待跟随的目标对象以及目标对象的方位信息,进而通过目标功能组件的实例向底层发送头部焦点跟随的指令,该指令中携带有头部的转动方位和转动角度,向底层发送底盘焦点跟随的指令,该指令中携带有底盘的移动方位和移动距离,以控制头部和底盘转动从而实现焦点跟随,并且,组件层可向业务层发送焦点跟随成功的消息,以便业务层执行后续操作,若组件层确定一定时间没有获取到目标对象的人脸信息/人体信息,则组件层可向底层发送头部停止焦点跟随的指令和底盘停止焦点跟随的指令,并向业务层返回焦点跟随结束的消息,并且,组件层可向业务层发送焦点跟随结束的消息,以便业务层根据该消息执行后续操作,若组件层确定长时间没有人脸信息,则可退出目标功能组件,并向业务层发送目标功能组件的退出消息。
分析图2和图3可知,采用本申请实施提供的方法,业务模块需关注的内容减少很多,既利用业务模块的开发,也利于业务模块的迁移,并且,在不同硬件或场景开发的过程中可以积累更多的功能组件,用于之后其他项目及场景的开发,让后续的开发更高效,类似的开发内容有迹可循,在项目初期很快地支持项目需要的业务需要,并能够提供较成熟的解决方案。
下面以智能机器人为例,并结合具体的业务对本申请实施例进行介绍。
示例1
在智能家居业务场景中,智能机器人在检测到门被打开后,可打开家里的智能家居设备(即电子设备),假设要打开的智能家居设备为照明设备和空调设备。并且,对可进行颜色转换的照明设备,智能机器人还可控制照明设备进行颜色转换,分析该业务流程可知,智能家居业务场景对应一种业务模块Z,业务模块Z的触发条件是:门被打开,业务模块Z对应一种业务处理需求:智能家居设备管理需求。
那么,业务层在确定满足业务模块A的触发条件时,可确定业务模块A的智能家居设备管理需求对应的目标功能组件X,向组件层发送对目标功能组件X的调用请求,调用请求中携带的信息包括:目标功能组件X的组件标识,目标功能组件X进行业务处理所需的参数信息,如需打开的照明设备的标识、对照明设备设置的更换颜色的时间间隔、需打开的空调设备的标识、需将空调设备调节至的温度等中的至少一个信息。
组件层在接收到调用请求后,可根据调用请求中的组件标识确定目标功能组件X,然后,确定目标功能组件X对应的智能家居设备是否能满足智能家居设备管理需求对应的硬件能力要求。
在一种情况下,组件层接收到的调用请求中未携带智能家居设备管理需求对应的硬件能力要求信息,此时,组件层在根据调用请求中的组件标识确定目标功能组件X之后,可根据保存的业务模块A中功能组件与智能家居设备之间的对应关系,确定目标功能组件X对应的智能家居设备,若确定目标功能组件X对应的智能家居设备未包含在智能机器人实际连接的智能家居设备中,则可确定目标功能组件X对应的智能家居设备不能满足智能家居设备管理需求对应的硬件能力要求;若确定目标功能组件X对应的智能家居设备均包含在智能机器人实际连接的智能家居设备中,则可确定目标功能组件X对应的智能家居设备能满足智能家居设备管理需求对应的硬件能力要求。
在另一种情况下,组件层接收到的调用请求中携带有智能家居设备管理需求对应的硬件能力要求信息,此时,组件层在根据调用请求中的组件标识确定目标功能组件X之后,可根据保存的业务模块A中功能组件与智能家居设备之间的对应关系,确定目标功能组件X对应的智能家居设备,若确定目标功能组件X对应的智能家居设备不包含在智能机器人实际连接的智能家居设备中,则可确定目标功能组件X对应的智能家居设备不能满足智能家居设备管理需求对应的硬件能力要求;若确定目标功能组件X对应的智能家居设备均包含在智能机器人实际连接的智能家居设备中,则组件层可将调用请求中携带的智能家居设备管理需求对应的硬件能力要求信息与预先存储的目标功能组件X对应的智能家居设备的硬件能力信息进行比对,以进一步确定目标功能组件X对应的智能家居设备是否能满足智能家居设备管理需求对应的硬件能力要求。
假设调用请求中携带的智能家居设备管理需求对应的硬件能力要求信息为:照明设备可调整颜色、空调设备能制暖。
那么,如果组件层保存的照明设备的硬件能力信息是:支持调整颜色,空调设备的硬件能力信息是:制暖、且制冷,则组件层可确定目标功能组件X对应的智能家居设备能满足智能家居设备管理需求对应的硬件能力要求。而如果组件层保存的照明设备的硬件能力信息是:不支持调整颜色,空调设备的硬件能力信息是:制冷,则组件层可确定目标功能组件X对应的智能家居设备不能满足智能家居设备管理需求对应的硬件能力要求。
无论上述哪种情况,组件层在确定目标功能组件X对应的智能家居设备能满足智能家居设备管理需求对应的硬件能力要求后,可根据调用请求中目标功能组件X进行业务处理所需的参数信息创建目标功能组件X的实例,控制目标功能组件X的实例生成控制指令,进而向目标功能组件X对应的智能家居设备发送控制指令,以控制智能家居设备执行相应操作如打开智能家居设备、调节智能家居设备等。
而组件层在确定目标功能组件X对应的智能家居设备不能满足智能家居设备管理需求对应的硬件能力要求后,可拒绝业务层对目标功能组件X的调用请求。具体实施时,组件层可向业务层发送用于表示拒绝业务层对目标功能组件X的调用请求的消息,消息中可以携带拒绝原因,如智能机器人没有连接智能家居设备管理需求对应的某个智能家居设备,智能机器人连接的某个智能家居设备的硬件能力不能满足智能家居设备管理需求对该智能家居设备的硬件能力要求等。
为了提供个性化服务方案,业务层还可开放对智能家居设备的选择权限,此时,组件层接收到的调用请求中还可携带对智能家居设备管理需求中子业务需求的选择信息,如选择打开照明设备但不控制灯色等,也就是说,组件层接收到的调用请求中会携带有对智能家居设备管理需求中子业务需求的选择信息,此时,组件层可控制目标功能组件根据该选择信息所选择的子业务需求生成控制命令。
当然,如果用户未对智能家居设备管理需求中的子业务需求进行选择,则组件层接收到的调用请求中不会携带对智能家居设备管理需求中子业务需求的选择信息,此时,组件层可控制目标功能组件根据智能家居设备管理需求中子业务需求的默认配置信息生成控制命令。
具体实施时,由于不同智能家居设备厂家制造的智能家居设备的通信接口可能不同,如果更换智能家居设备管理就可能无法正常控制智能家居设备。为了进一步提升业务模块的通用性,组件层在向在向智能家居设备发送控制命令之前,若确定控制命令的格式与智能家居设备能够识别的控制命令的格式不一致,将控制命令的格式转换为智能家居设备能够识别的格式。
可选地,组件层还可获取智能家居设备的控制结果,将控制结果发送给业务层,以便业务层执行后续操作,比如,业务层控制机器人播报“主人,您选择的智能家居设备已打开/调至指定温度等待”的语音消息。
另外,组件层在确定满足目标功能组件X的设定退出条件,如目标功能组件X的实例生成完最后一条控制指令,或者,确定满足调用请求中携带的停止发送控制命令的条件,如目标功能组件X的实例的存活时长到达设定时长,可控制目标功能组件退出处理。当然,也可以通过业务层来控制目标功能组件X的退出,此时,业务层还用于接收表示结束业务模块A对应的业务流程的指令,然后,向组件层发送退出目标功能组件X的指示消息,组件层还用于在接收到该指示消息后,控制目标功能组件X退出处理。
示例2
在跳舞业务场景中,智能机器人在接收到用户的语音指令或触摸指令后开始跳舞,跳舞时长达到设定时长时停止跳舞,分析该业务流程可知,跳舞业务场景对应一个业务模块T,业务模块T的触发条件是:到达设定时间,业务模块T对应一种业务处理需求:跳舞需求。
那么,业务层在确定满足业务模块T的触发条件时,可确定业务模块T的跳舞需求对应的目标功能组件Y,向组件层发送对目标功能组件Y的调用请求,调用请求中携带的信息包括:目标功能组件Y的组件标识。
组件层在接收到调用请求后,可根据调用请求中的组件标识确定目标功能组件Y,然后,确定目标功能组件Y对应的硬件模块是否能满足跳舞需求对应的硬件能力要求。
在一种情况下,组件层接收到的调用请求中未携带跳舞需求对应的硬件能力要求信息,此时,组件层在根据调用请求中的组件标识确定目标功能组件Y之后,可根据保存的业务模块T中功能组件与硬件模块之间的对应关系,确定目标功能组件Y对应的硬件模块,若确定目标功能组件Y对应的任一硬件模块未包含在智能机器人实际连接的硬件模块(如云台、头部模块、底盘模块等)中,则可确定目标功能组件Y对应的硬件模块不能满足跳舞需求对应的硬件能力要求;若确定目标功能组件Y对应的硬件模块均包含在智能机器人实际连接的硬件模块中,则可确定目标功能组件Y对应的硬件模块能满足跳舞需求对应的硬件能力要求。
在另一种情况下,组件层接收到的调用请求中携带有跳舞需求对应的硬件能力要求信息,此时,组件层在根据调用请求中的组件标识确定目标功能组件Y之后,可根据保存的业务模块T中功能组件与硬件模块之间的对应关系,确定目标功能组件Y对应的硬件模块,若确定目标功能组件Y对应的任一硬件模块未包含在智能机器人实际连接的硬件模块中,则可确定目标功能组件Y对应的硬件模块不能满足跳舞需求对应的硬件能力要求;若确定目标功能组件Y对应的硬件模块均包含在智能机器人实际连接的硬件模块中,则组件层可将调用请求中携带的硬件能力要求信息和预先存储的目标功能组件Y对应的硬件模块的硬件能力信息进行比对,以进一步确定目标功能组件Y对应的硬件模块是否能满足跳舞需求对应的硬件能力要求。
假设调用请求中携带的跳舞需求对应的硬件能力要求信息为:头部模块可水平转动、可俯仰调节,底盘模块可转动。
那么,如果组件层保存的头部模块的硬件能力信息是:支持水平转动、支持俯仰调节,底盘模块的能力信息是:可转动,则组件层可确定目标功能组件Y对应的硬件模块能满足跳舞需求对应的硬件能力要求。如果组件层保存的头部模块的硬件能力信息是:支持水平转动、不支持俯仰调节,底盘模块的能力信息是:不可转动,则组件层可确定目标功能组件Y对应的硬件模块不能满足跳舞需求对应的硬件能力要求。
无论上述哪种情况,组件层在确定目标功能组件Y对应的硬件模块能满足跳舞需求对应的硬件能力要求后,可创建目标功能组件Y的实例,控制目标功能组件Y的实例生成控制指令,进而向目标功能组件Y对应的硬件模块发送控制指令,以控制目标功能组件Y对应的硬件模块执行控制指令对应的操作。
而组件层在确定目标功能组件Y对应的硬件模块不能满足跳舞需求对应的硬件能力要求后,可拒绝业务层对目标功能组件Y的调用请求。
具体实施时,组件层可向业务层发送用于表示拒绝业务层对目标功能组件Y的调用请求的消息,消息中可以携带拒绝原因,如智能机器人没有连接跳舞需求所需的某个硬件模块,智能机器人连接的某个硬件模块的硬件能力不能满足跳舞需求对该硬件模块的硬件能力要求等。
为了提供个性化服务方案,业务层还可开放对舞曲的选择权限,此时,组件层接收到的调用请求中还可携带对跳舞需求中子业务需求的选择信息,如选择让智能机器人跳哪一段舞曲等,也就是说,组件层接收到的调用请求中会携带有对跳舞需求中子业务需求的选择信息,此时,组件层可控制目标功能组件根据该选择信息所选择的子业务需求生成控制命令,即生成与用户所选择的舞曲对应的控制指令。
当然,如果用户未对跳舞需求中的子业务需求进行选择,则组件层接收到的调用请求中不会携带对跳舞需求中子业务需求的选择信息,此时,组件层可控制目标功能组件根据跳舞需求中子业务需求的默认配置信息生成控制命令,比如,生成与设定舞曲对应的控制指令。
具体实施时,由于不同硬件模块生产厂家生产的硬件模块的通信接口可能不同,如果更换硬件模块就可能无法正常控制硬件模块,为了进一步提升业务模块的通用性,组件层还用于在向在向硬件模块发送控制命令之前,若确定控制命令的格式与硬件模块能够识别的控制命令的格式不一致,将控制命令的格式转换为硬件模块能够识别的格式。
可选地,组件层还可获取硬件模块的控制结果,将控制结果发送给业务层,以便业务层执行后续操作,比如,组件层将跳舞结束的消息发送给业务层,业务层在接收到该消息后,可控制智能机器人播报“感谢您的观看”的消息。
另外,组件层在确定满足目标功能组件Y的设定退出条件,如目标功能组件Y的实例生成完最后一条控制指令,或者,确定满足调用请求中携带的停止发送控制命令的条件,如目标功能组件Y的实例的存活时长到达设定时长,可控制目标功能组件退出处理。
当然,也可以通过业务层来控制目标功能组件Y的退出,此时,业务层在接收表示结束业务模块T对应的业务流程的指令后,例如,用户通过触控或语音向机器人指示了停止跳舞,向组件层发送退出目标功能组件Y的指示消息,组件层在接收到该指示消息后,控制目标功能组件Y退出处理。
图4为本申请实施例提供的一种业务处理方法的流程图,包括以下步骤:
S401:业务层在确定满足智能设备的任一业务模块的触发条件时,确定业务模块的业务处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,其中,调用请求中携带目标功能组件的组件标识。
实际应用中,业务层可保存每个业务模块和该业务模块的业务处理需求之间的对应关系,并且,可保证每种业务处理需求和该种业务处理需求对应的目标功能组件之间的对应关系,因此,业务层在确定满足智能设备的任一业务模块的触发条件时,可根据这些对应关系确定业务模块的业务处理需求对应的目标功能组件。
具体实施时,业务层若确定业务模块有至少两种业务处理需求,则按照业务模块中各种业务处理需求的逻辑顺序,依次向组件层发送对每种业务处理需求对应的目标功能组件的调用请求。
S402:组件层根据接收到的调用请求中的组件标识,确定目标功能组件。
S403:组件层确定目标功能组件对应的控制对象是否能满足业务处理需求对应的硬件能力要求,若否,则进入S404;若是,则进入S405。
其中,目标功能组件对应的控制对象为智能设备的硬件模块或者为与智能设备相连的电子设备。
在一种可能的实施方式中,组件层接收到的调用请求中未携带业务处理需求对应的硬件能力要求,此时,组件层在根据调用请求中的组件标识确定目标功能组件之后,可根据保存的业务模块和控制对象之间的对应关系,确定目标功能组件对应的控制对象,若组件层确定目标功能组件对应的控制对象包含在组件层实际可控制的控制对象中,则确定目标功能组件对应的控制对象能满足业务处理需求对应的硬件能力要求;若组件层确定目标功能组件对应的控制对象未包含在组件层实际可控制的控制对象中,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求。
在另一种可能的实施方式中,组件层接收到的调用请求中携带业务模块的业务处理需求对应的硬件能力要求,此时,在根据调用请求中的组件标识确定目标功能组件之后,可根据保存的业务模块和控制对象之间的对应关系,确定目标功能组件对应的控制对象,若组件层确定目标功能组件对应的控制对象未包含在组件层实际可控制的控制对象中,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求;若组件层确定目标功能组件对应的控制对象包含在组件层实际可控制的控制对象中,则可将调用请求中携带的业务处理需求对应的能力要求信息与预先保存的目标功能组件对应的控制对象的硬件能力信息进行比对。
若比对结果为业务处理需求对应的硬件能力要求未超出目标功能组件对应的控制对象的硬件能力范围,则确定目标功能组件对应的控制对象能满足业务处理需求对应的硬件能力要求;若比对结果为业务处理需求对应的能力要求超出目标功能组件对应的控制对象的硬件能力范围,则确定目标功能组件对应的控制对象不能满足业务处理需求对应的硬件能力要求。
S404:组件层拒绝对目标功能组件的调用请求。
具体实施时,组件层可向业务层发送用于表示拒绝对目标功能组件的调用请求的消息,且可在该消息中携带拒绝调用请求的原因,以便业务层根据该原因调整调用请求中的相关参数。
S405:组件层控制目标功能组件生成控制命令。
具体实施时,若确定调用请求中携带有对业务处理需求中子业务需求的选择信息,则组件层控制目标功能组件根据该选择信息所选择的子业务需求生成控制命令;若确定调用请求中未携带对业务处理需求中子业务需求的选择信息,则组件层控制目标功能组件根据业务处理需求中子业务需求的默认配置信息生成控制命令。
S406:若确定控制命令的格式与控制对象能够识别的控制命令的格式不一致,则组件层将控制命令的格式转换为控制对象能够识别的格式。
S407:组件层控制目标功能组件向目标功能组件对应的控制对象发送控制命令,以控制控制对象执行相应的操作。
S408:组件层将控制对象的控制结果返回至业务层。
比如,当控制对象是照明设备时,控制结果可以是照明设备成功打开的消息;当控制对象是空调设备时,控制结果可以是空调设备成功打开的消息,并且,控制对象的控制结果既可以是控制对象发送给组件层的,也可以是组件层自身确定的。
S409:若确定满足目标功能组件的设定退出条件或者确定满足调用请求中携带的停止发送控制命令的条件,则组件层控制目标功能组件退出处理。
上述流程中,S409还可以替换为以下步骤:
S410:若业务层接收到表示结束业务模块对应的业务流程的指令,则业务层向组件层发送退出目标功能组件的指示消息。
S411:组件层在接收到指示消息后,控制目标功能组件退出处理。
本申请提供的业务处理系统、业务处理方法可以应用到多种电子设备中,图5给出了一种电子设备的结构示意图,这里,图5所示的电子设备50仅仅是一个示例,并不对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备50以通用计算设备的形式表现,电子设备50的组件可以包括但不限于:至少一个处理单元501、至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。
总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或使用多种总线结构中的任意总线结构的局域总线。
存储单元502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022,还可以进一步包括只读存储器(ROM)5023。存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备50也可以与一个或多个外部设备504(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,电子设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。
如图5所示,网络适配器506通过总线503与用于电子设备50的其它模块通信。应当理解,尽管图5中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员应当理解,图5仅仅是电子设备的举例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令可用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请实施例提供的业务处理方法的各个方面还可以实现为一种程序产品的形式,当程序产品在电子设备上运行时,可使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的业务处理方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括朝向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种业务处理系统,其特征在于,所述系统包括业务层和组件层,其中:
所述业务层,用于在确定满足智能设备的任一业务模块的触发条件时,确定所述业务模块的业务处理需求对应的目标功能组件,向所述组件层发送对所述目标功能组件的调用请求,所述调用请求中携带所述目标功能组件的组件标识;
所述组件层,用于根据接收到的所述调用请求中的组件标识,确定所述目标功能组件,控制所述目标功能组件生成控制命令,向所述目标功能组件对应的控制对象发送所述控制命令,以控制所述控制对象执行所述控制命令对应的操作。
2.如权利要求1所述的系统,其特征在于,所述组件层还用于:
在控制所述目标功能组件生成控制命令之前,确定所述目标功能组件对应的控制对象是否能满足所述业务处理需求对应的硬件能力要求;
若确定所述目标功能组件对应的控制对象能满足所述业务处理需求对应的硬件能力要求,则执行控制所述目标功能组件生成控制命令的步骤;或者
若确定所述目标功能组件对应的控制对象不能满足所述业务处理需求对应的硬件能力要求,则拒绝所述调用请求。
3.如权利要求2所述的系统,其特征在于,所述组件层具体用于:
根据所述调用请求中携带的所述业务处理需求对应的硬件能力要求信息,确定所述目标功能组件对应的控制对象是否能满足所述业务处理需求对应的硬件能力要求。
4.如权利要求1所述的系统,其特征在于,所述组件层具体用于:
若确定所述调用请求中携带有对所述业务处理需求中子业务需求的选择信息,控制所述目标功能组件根据所述选择信息所选择的子业务需求生成控制命令;或者
若确定所述调用请求中未携带对所述业务处理需求中子业务需求的选择信息,控制所述目标功能组件根据所述业务处理需求中子业务需求的默认配置信息生成控制命令。
5.如权利要求1所述的系统,其特征在于,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之前,若确定所述控制命令的格式与所述控制对象能够识别的控制命令的格式不一致,将所述控制命令的格式转换为所述控制对象能够识别的格式。
6.如权利要求1所述的系统,其特征在于,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之后,将所述控制对象的控制结果返回至所述业务层。
7.如权利要求1所述的系统,其特征在于,所述组件层还用于:
在向所述目标功能组件对应的控制对象发送所述控制命令之后,若确定满足所述目标功能组件的设定退出条件或者确定满足所述调用请求中携带的停止发送控制命令的条件,控制所述目标功能组件退出处理。
8.一种业务处理方法,其特征在于,包括:
通过业务层在确定满足智能设备的任一业务模块的触发条件时,确定所述业务模块的业务处理需求对应的目标功能组件,向组件层发送对所述目标功能组件的调用请求,所述调用请求中携带所述目标功能组件的组件标识;
通过所述组件层根据接收到的所述调用请求中的组件标识,确定所述目标功能组件,控制所述目标功能组件生成控制命令,向所述目标功能组件对应的控制对象发送所述控制命令,以控制所述控制对象执行所述控制命令对应的操作。
9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求8所述的方法。
10.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231149.6A CN113448653B (zh) | 2020-03-27 | 2020-03-27 | 一种业务处理方法、系统、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010231149.6A CN113448653B (zh) | 2020-03-27 | 2020-03-27 | 一种业务处理方法、系统、电子设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448653A true CN113448653A (zh) | 2021-09-28 |
CN113448653B CN113448653B (zh) | 2024-01-26 |
Family
ID=77807965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010231149.6A Active CN113448653B (zh) | 2020-03-27 | 2020-03-27 | 一种业务处理方法、系统、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448653B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472903A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539396B1 (en) * | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
CN101706738A (zh) * | 2009-10-29 | 2010-05-12 | 中国联合网络通信集团有限公司 | 流程应用系统 |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN103825964A (zh) * | 2014-03-19 | 2014-05-28 | 北京邮电大学 | 一种基于云计算PaaS平台的SLS调度装置和方法 |
CN107911401A (zh) * | 2017-08-04 | 2018-04-13 | 上海壹账通金融科技有限公司 | 应用插件扩展功能方法及应用服务器 |
CN108600034A (zh) * | 2018-05-28 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 业务压力管理方法、装置、设备、系统及存储介质 |
CN109871244A (zh) * | 2019-02-26 | 2019-06-11 | 深圳和而泰数据资源与云技术有限公司 | 硬件驱动装置、方法、芯片及非暂态计算机可读存储介质 |
CN110070394A (zh) * | 2019-04-15 | 2019-07-30 | 网易无尾熊(杭州)科技有限公司 | 数据处理方法、系统、介质和计算设备 |
CN110083324A (zh) * | 2019-04-30 | 2019-08-02 | 华为技术有限公司 | 图像绘制的方法、装置、电子设备及计算机存储介质 |
CN110532033A (zh) * | 2019-08-30 | 2019-12-03 | 北京猎户星空科技有限公司 | 一种数据处理系统和数据处理方法 |
-
2020
- 2020-03-27 CN CN202010231149.6A patent/CN113448653B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539396B1 (en) * | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
CN101706738A (zh) * | 2009-10-29 | 2010-05-12 | 中国联合网络通信集团有限公司 | 流程应用系统 |
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN103825964A (zh) * | 2014-03-19 | 2014-05-28 | 北京邮电大学 | 一种基于云计算PaaS平台的SLS调度装置和方法 |
CN107911401A (zh) * | 2017-08-04 | 2018-04-13 | 上海壹账通金融科技有限公司 | 应用插件扩展功能方法及应用服务器 |
CN108600034A (zh) * | 2018-05-28 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 业务压力管理方法、装置、设备、系统及存储介质 |
CN109871244A (zh) * | 2019-02-26 | 2019-06-11 | 深圳和而泰数据资源与云技术有限公司 | 硬件驱动装置、方法、芯片及非暂态计算机可读存储介质 |
CN110070394A (zh) * | 2019-04-15 | 2019-07-30 | 网易无尾熊(杭州)科技有限公司 | 数据处理方法、系统、介质和计算设备 |
CN110083324A (zh) * | 2019-04-30 | 2019-08-02 | 华为技术有限公司 | 图像绘制的方法、装置、电子设备及计算机存储介质 |
CN110532033A (zh) * | 2019-08-30 | 2019-12-03 | 北京猎户星空科技有限公司 | 一种数据处理系统和数据处理方法 |
Non-Patent Citations (4)
Title |
---|
NIKOS DIPSIS 等: "A RESTful middleware for AI controlled sensors, actuators and smart devices", 《JOURNAL OF AMBIENT INTELLIGENCE AND HUMANIZED COMPUTING》, pages 2963 * |
侯继强 等: "智能家居系统在远程命令控制下的数据分递及硬件支持", 《无线互联科技》, vol. 16, no. 3, pages 83 - 84 * |
陈晨: "SCADA系统中消息中间件的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 4, pages 138 - 347 * |
风趣幽默小助手: "一条物联网设备控制命令的一生", Retrieved from the Internet <URL:《https://www.cnblogs.com/hwiot/p/12222392.html》> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472903A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113448653B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3145125B1 (en) | Method and apparatus for controlling devices | |
EP3016318B1 (en) | Method and apparatus for customizing scene mode of intelligent device | |
JP6381664B2 (ja) | 機器自動修復方法、装置およびシステム | |
US20180006840A1 (en) | Wearable device and controlling method thereof, and system for controlling smart home | |
CN110545222A (zh) | 一种控制设备的方法、装置、计算设备及存储介质 | |
CN108702313A (zh) | 智能家居语音控制方法、装置、设备和系统 | |
CN105334809B (zh) | 一种自动控制方法及装置 | |
US20220057927A1 (en) | Scene-operation method, electronic device, and non-transitory computer readable medium | |
CN108665897B (zh) | 一种电器控制方法、装置、存储介质及服务器 | |
US20200169427A1 (en) | Smart internet of things menus with cameras | |
CN106406119A (zh) | 基于语音交互、云技术及集成智能家居监控的服务机器人 | |
EP3955582A1 (en) | Display method, display terminal, and readable storage medium | |
CN107196829B (zh) | 智能家居控制方法、节点及节点联动方法和系统 | |
CN105234951A (zh) | 一种智能化引导式机械手视觉系统及其工作方法 | |
CN111399459A (zh) | 智能家居设备控制方法、装置、设备及存储介质 | |
CN113031452B (zh) | 一种批量处理智能家居设备控制指令的方法和系统 | |
CN106369752B (zh) | 空调器的控制方法、控制装置、室外机及空调器 | |
CN113448653A (zh) | 一种业务处理方法、系统、电子设备和计算机可读介质 | |
WO2021189970A1 (zh) | 交通信号灯的智能控制方法及系统、存储介质、计算设备 | |
WO2021036887A1 (zh) | 一种数据处理系统和数据处理方法 | |
CN113986349A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN105611375A (zh) | 基于http协议的智能电视遥控方法及终端 | |
CN104750239A (zh) | 一种基于空间手势访问终端设备中的应用的方法和设备 | |
CN116578422A (zh) | 资源分配方法和电子设备 | |
CN115145690B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |