CN110532033B - 一种数据处理系统和数据处理方法 - Google Patents
一种数据处理系统和数据处理方法 Download PDFInfo
- Publication number
- CN110532033B CN110532033B CN201910818879.3A CN201910818879A CN110532033B CN 110532033 B CN110532033 B CN 110532033B CN 201910818879 A CN201910818879 A CN 201910818879A CN 110532033 B CN110532033 B CN 110532033B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- component
- visual
- service
- 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
-
- 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/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Manipulator (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开一种数据处理系统和数据处理方法,属于人工智能技术领域,该数据处理系统中,业务层确定满足业务模块的触发条件时,确定业务模块的数据处理需求对应的目标功能组件,向组件层发送调用请求,组件层根据调用请求向数据调度层发送第一数据获取请求,控制目标功能组件对返回的视觉数据执行处理,将执行结果返回给业务层,业务层根据执行结果生成控制指令,控制智能机器人执行控制指令,这样,将业务需求和视觉数据处理需求分离,业务层调用组件层中的功能组件即可满足对应的视觉数据处理需求,开发人员在开发业务模块时可专注于开发业务需求,而不必过多关注业务模块的视觉数据处理需求,故可简化业务模块的开发,提升开发效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种数据处理系统和数据处理方法。
背景技术
随着人工智能技术的快速发展,出现了越来越多的智能机器人,由于智能机器人可代替人类做许多服务型工作、具有很好的应用前景,而人工成本又逐年增长,所以对智能机器人的研究也越来越多。
实际应用中,智能机器人在执行业务流程时经常需要使用到视觉数据,且在不同业务场景中对视觉数据的处理需求也不同。目前,是在业务场景的开发过程中实现该业务场景对应的视觉数据处理需求,也就是说,开发人员不仅要关注业务场景中的业务需求、还要关注业务场景中对应的视觉数据处理需求,业务场景开发比较繁琐复杂。
可见,现有技术中存在着业务场景的开发比较繁琐复杂的问题。
发明内容
本申请实施例提供一种数据处理系统和数据处理方法,用以解决现有技术中存在的业务场景的开发比较繁琐复杂的问题。
第一方面,本申请实施例提供一种数据处理系统,所述系统包括业务层、组件层和数据调度层,其中:
所述业务层,用于在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向所述组件层发送调用请求,所述调用请求中包括所述目标功能组件的标识信息;根据所述组件层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述组件层,用于根据所述调用请求中的标识信息,确定所述目标功能组件;向所述数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
所述数据调度层,用于根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层。
在一种可能的实施方式下,所述业务层具体用于:
若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
在一种可能的实施方式下,所述组件层具体用于:
根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
在一种可能的实施方式下,所述组件层具体用于:
若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
在一种可能的实施方式下,所述组件层还用于:
在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
在一种可能的实施方式下,所述数据调度层还用于:
若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
在一种可能的实施方式下,所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第二数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层。
在一种可能的实施方式下,所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层。
在一种可能的实施方式下,所述数据调度层还用于:
若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
在一种可能的实施方式下,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
在一种可能的实施方式下,所述数据调度层还用于:
若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
第二方面,本申请实施例提供的一种数据方法,包括:
通过业务层在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,所述调用请求中携带所述目标功能组件的标识信息;
通过所述组件层根据所述调用请求中的标识信息,确定所述目标功能组件;以及向数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;
通过数据调度层根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层;
通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
通过所述业务层根据所述执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,向组件层发送调用请求,包括:
通过所述业务层若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
在一种可能的实施方式下,通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,包括:
通过所述组件层根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;
通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
在一种可能的实施方式下,通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果,包括:
通过所述组件层若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
通过所述组件层在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
在一种可能的实施方式下,还包括:
通过所述组件层在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
在一种可能的实施方式下,所述方法还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;
通过所述数据调度层根据所述第二数据获取,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层;
通过所述业务层对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,所述方法还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;
通过所述数据调度层根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层;
通过所述业务层根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
在一种可能的实施方式下,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
第三方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据处理方法。
第四方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述数据处理方法。
本申请实施例中,数据处理系统中设置有数据调度层、业务层和组件层,业务层在确定满足智能机器人任一业务模块的触发条件时,确定业务模块的数据处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,组件层接收到调用请求后,向数据调度层发送用于获取目标功能组件所需视觉数据的第一数据获取请求,并控制目标功能组件对数据调度层返回的视觉数据执行处理,将执行结果返回给业务层,业务层根据组件层返回的执行结果生成控制指令,并控制智能机器人执行控制指令,这样,将业务模块的业务需求和视觉数据处理需求进行分离,业务层只需调用组件层中的功能组件即可满足对应的视觉数据处理需求,开发人员在开发业务模块时可专注开发业务模块的业务需求,而不必过多关注业务模块的视觉数据处理需求,因此,可简化业务模块的开发过程,提升业务模块的开发效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种数据处理系统的应用场景示意图;
图2为本申请实施例提供的一种数据处理系统的示意图;
图3为本申请实施例提供的一种数据处理方法的流程图;
图4为本申请实施例提供的又一种数据处理方法的流程图;
图5为本申请实施例提供的再一种数据处理方法的流程图;
图6为本申请实施例提供的一种应用数据处理方法的计算装置的结构示意图。
具体实施方式
为了解决现有技术中存在的业务场景的开发比较繁琐复杂的问题,本申请实施例提供了一种数据处理系统和数据处理方法。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参见图1,图1为本申请实施例提供的一种数据处理系统的应用场景示意图,包括视觉模块和数据处理系统,其中,数据处理系统包括业务层、组件层和数据调度层,业务层包括N个业务模块,组件层包括M个功能组件,每个业务模块包括至少一种数据处理需求,每种数据处理需求对应一种功能组件,每个业务模块可调用至少一种功能组件,当不同业务模块的部分数据处理需求相同时,不同的业务模块可以同时调用同一功能组件,参见图1,业务模块1可调用功能组件1,业务模块2可调用功能组件2,业务模块N可调用功能组件2和功能组件M,N和M均为正整数。
实际应用中,视觉模块安装于智能机器人上,用于对智能机器人的周围环境进行图像采集,并对采集到的图像进行分析处理得到视觉数据,如图像中各对象的人脸信息、人体信息、各对象与智能机器人之间的距离信息、方位信息等均属于视觉数据。视觉数据对智能机器人处理业务而言十分重要,因此,视觉模块对智能机器人处理业务而言也十分重要。
本申请实施例提供的数据处理系统,将业务模块的业务需求和视觉数据处理需求进行分离,业务层只需调用组件层中的功能组件即可满足对应的视觉数据处理需求,开发人员在开发业务模块时可专注开发业务模块的业务需求,而不必过多关注业务模块的视觉数据处理需求,以求简化业务模块的开发过程,提升业务模块的开发效率,具体说明如下。
首先,对数据处理系统中的业务层的处理过程进行详细说明。
业务层用于在智能机器人的任一业务模块被触发时,确定业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,该调用请求中包括目标功能组件的标识信息,根据组件层返回的执行结果生成控制指令,并控制智能机器人执行控制指令。
具体实施时,若确定业务模块有至少两种数据处理需求,则业务层可按照业务模块中各种数据处理需求的逻辑顺序,依次向组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
假设业务模块有三种数据处理需求:数据处理需求1、数据处理需求2和数据处理需3,且在该业务模块中这三种数据处理需求的逻辑顺序为数据处理需求1—>数据处理需求2—>数据处理需3,其中,数据处理需求1对应的目标功能组件为功能组件1、数据处理需求2对应的目标功能组件为功能组件2、数据处理需求3对应的目标功能组件为功能组件3。
那么,业务层用于在智能机器人的该业务模块被触发时,确定功能组件1、功能组件2和功能组件3,之后,向组件层发送对功能组件1的调用请求,以调用功能组件1对数据处理需求1进行处理,调用功能组件1完成对数据处理需求1的处理后,再向组件层发送对功能组件2的调用请求,以调用功能组件2对数据处理需求2进行处理,调用功能组件2完成对数据处理需求2的处理后,再向组件层发送对功能组件3的调用请求,以调用功能组件3对数据处理需求3进行处理。
然后,对数据处理系统中的组件层的处理过程进行详细说明。
组件层用于根据调用请求中的标识信息,确定目标功能组件,向数据调度层发送用于获取目标功能组件所需视觉数据的第一数据获取请求,进而控制目标功能组件对数据调度层返回的视觉数据执行处理,将目标功能组件的执行结果返回给业务层。
具体实施时,组件层可根据调用请求中目标功能组件进行数据处理所需的参数信息,比如目标人物的人脸数据、执行唤醒任务时唤醒人脸需满足的出现时长和角度、执行引领任务时需满足的引领对象和智能机器人之间的距离等,创建目标功能组件的实例,进而调用实例对数据调度层返回的视觉数据执行处理,得到执行结果。
并且,目标功能组件可能同时被多个业务模块调用,因此,目标功能组件可同时创建出多个供不同业务模块使用的实例。
具体实施时,若调用请求中包含开始处理数据的条件,则组件层可在确定满足调用请求中目标功能组件开始处理数据的条件时,调用实例对数据调度层返回的视觉数据执行处理。若调用请求中未包含开始处理数据的条件,则组件层可在实例创建成功后,直接调用实例对数据调度层返回的视觉数据执行处理。
另外,若调用请求中包含结束处理数据的条件,则组件层在调用实例对数据调度层返回的视觉数据执行处理之后,还可在确定满足调用请求中目标功能组件结束处理数据的条件时,释放目标功能组件的实例。若调用请求中未包含结束处理数据的条件,则组件层在调用实例对数据调度层返回的视觉数据执行处理之后,可在确定实例的生命周期结束时,释放目标功能组件的实例,这样,可以节省智能机器人的处理资源,其中,实例的生命周期是指为实例设定的存活时间。
最后,对数据处理系统中的数据调度层的处理过程进行详细说明。
数据调度层,用于根据第一数据获取请求中目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定目标功能组件所需的视觉数据,并返回至组件层。
可选地,数据调度层中缓存的数据包括以下至少一种:
视觉模块采集到的图像中各对象的人脸信息;各对象的人体信息;各对象与智能机器人之间的距离信息;各对象与所述智能机器人之间的方位信息。
具体实施时,数据调度层在接收到第一数据获取请求后,会持续地向组件层返回目标功能组件所需的视觉数据,当组件层确定不再需要获取目标功能组件所需视觉数据时,比如满足调用请求中目标功能组件结束处理数据的条件或实例的生命周期结束,还可向数据调度层发送用于停止获取目标功能组件所需视觉数据的请求,因此,数据调度层还用于若接收到组件层发送的用于停止获取目标功能组件所需视觉数据的请求,则停止向组件层返回目标功能组件所需的视觉数据。
实际应用中,组件层中的功能组件是逐步扩充的,所以有可能存在业务模块的某种数据处理需求没有对应的目标功能组件的情况,此时,业务层可直接向数据调度层发送数据获取请求,并且,业务模块的该种数据处理需求可在业务层进行处理,也可在数据调度层进行处理,下面对这两种情况进行具体介绍。
第一种方式:业务模块的该种数据处理需求在业务层进行处理。
该方式中,若业务层确定不存在与数据处理需求对应的目标功能组件,则向数据调度层发送第二数据获取请求,以获取业务模块所需的视觉数据;对数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制智能机器人执行控制指令。
相应地,数据调度层根据第二数据获取请求,从视觉模块采集的视觉数据中,确定业务模块所需的视觉数据,将视觉数据返回给业务层。
具体实施时,数据调度层在接收到第二数据获取请求后,会持续地向业务层返回业务模块所需的视觉数据,当业务层确定不再需要获取业务模块所需视觉数据时,比如业务模块中所有的数据处理需求得到满足,还可向数据调度层发送用于停止获取业务模块所需视觉数据的请求,因此,数据调度层若接收到业务层发送的用于停止获取业务模块所需数据的请求,则停止与所述业务模块之间的数据传输,即停止向业务层返回所述业务模块所需的视觉数据。
第二种方式:业务模块的该种数据处理需求在数据调度层进行处理。
该方式中,若业务层确定不存在与数据处理需求对应的目标功能组件,则向数据调度层发送第三数据获取请求,以获取满足业务模块的数据处理需求的数据;根据数据调度层返回的执行结果生成控制指令,并控制智能机器人执行控制指令;
相应地,数据调度层根据第三数据获取请求,从视觉模块采集的视觉数据中,确定业务模块所需的视觉数据,根据第三数据获取请求中的数据处理需求信息,对业务模块所需的视觉数据执行处理,将处理结果返回给业务层。
具体实施时,数据调度层在接收到第三数据获取请求后,会持续地向组件层返回业务模块所需的视觉数据,当业务层确定不再需要获取满足业务模块的数据处理需求的数据时,比如业务模块中所有的数据处理需求得到满足,还可向数据调度层发送用于停止获取业务模块所需数据的请求,因此,数据调度层若接收到业务层发送的用于停止获取数据处理需求的数据的请求,则停止与所述业务模块之间的数据传输,即停止对业务模块所需的视觉数据执行处理。
现有技术中,业务模块处理的视觉数据的格式是根据视觉模块的硬件参数进行适配的,而不同视觉模块的硬件参数一般是不同的,所以如果视觉模块更换,就需要修改业务模块的相关程序以适配新的视觉模块,这样,业务模块与视觉模块之间的耦合程度比较高,在业务模块开发完成之后,如果想要将业务模块的功能迁移到视觉模块不同的智能机器人上,还需要对业务模块的相关功能进行修改,业务模块的迁移性并不好。
为了解决该问题,本申请实施例中的数据调度层还可兼具数据格式转换功能。具体地,若数据调度层确定从视觉模块获取到的数据的格式与业务模块能够识别的数据的格式不一致,则将从视觉模块获取到的数据的格式转换为业务模块能够识别的格式,这样,当视觉模块更换时,只需更新数据调度层中的格式转换规则,业务层获取到的视觉数据的格式就可保持一致,不必再修改业务模块的相关功能,可很好地降低业务模块与视觉模块之间的耦合度,也便于业务模块的迁移。
另外,现有技术中,当确定业务模块需要使用视觉数据时,打开视觉模块获取视觉数据,使用完毕之后再关闭视觉模块,而视觉模块开启需要一定时间,所以从视觉模块获取到视觉数据的速度会比较慢,业务处理会有一定延时。
为了解决该问题,本申请实施例中,在智能机器人在开机后,数据调度层即可打开视觉模块,并可实时获取视觉模块检测到的视觉数据,这样,仅搜集视觉数据而不必关心是哪个业务模块需要视觉数据,可实现以人为中心的数据收集。在此情况下,如果某个业务模块需要使用视觉数据,则可通过组件层直接获取所需视觉数据,省去了打开视觉模块的时间,因此,业务延时也比较小。
下面结合具体的业务对本申请实施例进行说明。
以唤醒业务为例,在唤醒业务中,人脸唤醒的条件是:人脸距离智能机器人在设定距离范围内、人脸朝向智能机器人的角度在预设角度范围内、且持续出现时长达到预设时长,智能机器人被唤醒之后,对唤醒的人脸进行跟随,比如,控制智能机器人的头部与底盘转动,使智能机器人保持朝向该人脸,如果唤醒人脸丢失,还可重新搜寻进行跟随的人脸,分析该业务流程可知,唤醒业务模块包括两种数据处理需求:人脸唤醒和人脸跟随。
再比如,引领业务,在引领业务中,人脸唤醒的条件是:检测到目标人脸。若确定检测到目标人脸,则可基于目标人脸进行唤醒,唤醒成功后,引领对象到指定地点,指定地点可以是预先设置的,也可以是引领对象告知智能机器人的,在引领过程中,需要实时检查智能机器人与引领对象之间距离是否超过预设距离,若超过要调整智能机器人的速度,以免丢失引领对象,分析该业务流程可知,引领业务模块也包括两种数据处理需求:人脸唤醒和人物引领。
参照图2,为本申请实施提供的一种数据处理系统的示意图,其中,业务层包括唤醒业务模块和引领业务模块,假设人脸唤醒处理需求对应功能组件1、人脸跟随处理需求对应功能组件2、人物引领处理需求对应功能组件3,则唤醒业务模块可调用的目标功能组件为功能组件1和功能组件2,引领业务模块可调用的目标功能组件为功能组件2和功能组件3。
实际应用中,智能机器人在开启后,视觉模块可每30ms对智能机器人周围的人或物进行一次图像采集,每3s对图像进行一次识别处理以得到视觉数据,这样,以较高频率进行图像采集,以较低频率进行图像识别即可满足业务需求,又可节视觉模块的处理资源。
示例1
具体实施时,当业务层确定满足唤醒业务模块的触发条件时,可向组件层发送对人脸唤醒处理需求对应的功能组件1的调用请求,调用请求中携带的信息包括:功能组件1的标识信息,功能组件1进行数据处理所需的参数信息如执行唤醒任务时唤醒人脸与智能机器人之间的距离、唤醒人脸需满足的出现时长和角度,功能组件1结束处理数据的条件如检测到满足唤醒条件的人脸。组件层在接收到调用请求后,可根据调用请求中功能组件1进行数据处理所需的参数信息创建唤醒业务模块中功能组件1的实例,并根据功能组件1的标识信息向数据调度层发送用于获取功能组件1所需视觉数据的数据获取请求,数据获取请求中包括功能组件1的标识信息。数据调度层根据数据获取请求中功能组件1的标识信息,从视觉模块采集的视觉数据中,确定功能组件1所需的视觉数据如人脸信息和人脸与智能机器人之间的方位信息,返回给组件层。组件层控制功能组件1的实例对数据调度层每次返回的视觉数据执行处理,确定得到满足唤醒条件的人脸信息时,释放业务模块中功能组件1的实例,即停止对视觉数据进行处理,并将得到满足唤醒条件的人脸信息返回给业务层,以及向数据调度层发送用于停止获取唤醒业务模块中功能组件1所需视觉数据的请求。数据调度层接收到组件层发送的用于停止获取唤醒业务模块中功能组件1所需视觉数据的请求后,停止向组件层返回唤醒业务模块中功能组件1所需的视觉数据。业务层根据组件层返回的人脸信息生成唤醒指令,并控制智能机器人唤醒。
之后,业务层向组件层发送对人脸跟随处理需求对应的功能组件2的调用请求,调用请求中携带的信息包括:功能组件2的标识信息,功能组件2进行数据处理所需的参数信息如执行人脸跟随任务时跟随人脸与智能机器人之间的距离,功能组件1结束处理数据的条件如在预设时长内检测不到满足跟随条件的人脸。组件层在接收到调用请求后,可根据调用请求中功能组件2进行数据处理所需的参数信息创建唤醒业务模块中功能组件2的实例,并根据功能组件2的标识信息向数据调度层发送用于获取功能组件2所需视觉数据的数据获取请求,数据获取请求中包括功能组件2的标识信息。数据调度层根据获取请求中功能组件2的标识信息,从视觉模块采集的视觉数据中,确定功能组件2所需的视觉数据如人脸信息,返回给组件层。组件层控制唤醒业务模块中功能组件2的实例对数据调度层每次返回的视觉数据执行处理,将得到的跟随人脸的方位信息返回给业务层,确定满足结束处理数据的条件时,释放唤醒业务模块中功能组件2的实例,即停止对视觉数据的处理,并向数据调度层发送用于停止获取唤醒业务模块中功能组件2所需视觉数据的请求。数据调度层接收到组件层发送的用于停止获取唤醒业务模块中功能组件2所需视觉数据的请求后,停止向组件层返回唤醒业务模块中功能组件2所需的视觉数据。业务层根据组件层每次返回的方位信息生成跟随指令,并控制智能机器人调整自身的方位,以使智能机器人朝向跟随人脸。
示例2
具体实施时,当业务层确定满足引领业务模块的触发条件时,可向组件层发送对人脸唤醒处理需求对应的功能组件1的调用请求,调用请求中携带的信息包括:功能组件1的标识信息,功能组件1进行数据处理所需的参数信息如执行唤醒任务时唤醒人脸的人脸数据,功能组件1结束处理数据的条件如检测到满足唤醒条件的人脸。组件层在接收到调用请求后,可根据调用请求中功能组件1进行数据处理所需的参数信息创建功引领业务模块中能组件1的实例,并根据功能组件1的标识信息向数据调度层发送用于获取功能组件1所需视觉数据的数据获取请求,数据获取请求中包括功能组件1的标识信息。数据调度层根据获取请求中功能组件1的标识信息,从视觉模块采集的视觉数据中,确定功能组件1所需的视觉数据如人脸信息,返回给组件层。组件层控制功能组件1的实例对数据调度层每次返回的人脸信息执行处理,确定得到满足唤醒条件的人脸信息时,释放功能组件1的实例,即停止对视觉数据进行处理,并将得到满足唤醒条件的人脸信息返回给业务层,以及向数据调度层发送用于停止获取引领业务模块中功能组件1所需视觉数据的请求。数据调度层接收到组件层发送的用于停止获取引领业务模块中功能组件1所需视觉数据的请求后,停止向组件层返回引领业务模块中功能组件1所需的视觉数据。业务层根据组件层返回的人脸信息生成唤醒指令,并控制智能机器人唤醒。
之后,业务层向组件层发送对人物引领处理需求对应的功能组件3的调用请求,调用请求中携带的信息包括:功能组件3的标识信息,功能组件3进行数据处理所需的参数信息如执行任务引领任务时引领对象与智能机器人之间的距离,功能组件1结束处理数据的条件如在预设时长内检测不到引领对象或到达引领目的地。组件层在接收到调用请求后,可根据调用请求中功能组件3进行数据处理所需的参数信息创建功能组件3的实例,并根据功能组件3的标识信息向数据调度层发送用于获取功能组件3所需视觉数据的数据获取请求,数据获取请求中包括功能组件3的标识信息。数据调度层根据获取请求中功能组件3的标识信息,从视觉模块采集的视觉数据中,确定功能组件3所需的人脸信息,返回给组件层。组件层控制引领业务模块中功能组件3的实例对数据调度层每次返回的人脸信息执行处理,将得到的引领对象的距离信息返回给业务层,确定满足结束处理数据的条件时,释放引领业务模块中功能组件3的实例,即停止对视觉数据的处理,并向数据调度层发送用于停止获取引领业务模块中功能组件3所需视觉数据的请求。数据调度层接收到组件层发送的用于停止获取引领业务模块中功能组件3所需视觉数据的请求后,停止向组件层返回引领业务模块中功能组件3所需的视觉数据。业务层根据组件层每次返回的距离信息生成跟随指令,并控制智能机器人调整自身的行驶速度,使智能机器人与引领对象之间的距离保持在设定距离内,以免丢失引领对象。
另外,实际应用中,智能机器人在引领对象到达目的地的过程中,引领对象可随时用语音或者手势等方式结束引领,因此,在到达目的地之前,如果业务层接收到用于表示结束引领的指令,还可向组件层发送用于表示停止对数据调度层返回的视觉数据执行处理的请求。组件层在接收到该请求后,可释放引领业务模块中功能组件3的实例,以停止对视觉数据的处理,并向数据调度层发送用于停止获取引领业务模块中功能组件3所需视觉数据的请求,以使数据调度层停止向组件层返回引领业务模块中功能组件3所需的视觉数据。
上述数据处理系统中,可将人脸唤醒处理需求对应的功能组件1在组件层单独部署,唤醒业务模块和引领业务模块均可调用功能组件1,而不必像现有技术一样在业务模块中均重复开发人脸唤醒处理需求,因此,可缩短业务模块的开发周期。
参见图3,图3为本申请实施例提供的一种数据处理方法的流程图,包括以下步骤:
S301:通过业务层在智能机器人的任一业务模块被触发时,确定业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,该调用请求中携带目标功能组件的标识信息。
具体实施时,通过业务层若确定业务模块有至少两种数据处理需求,则按照业务模块中各种数据处理需求的逻辑顺序,依次向组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
S302:通过组件层根据调用请求中的标识信息,确定目标功能组件,向数据调度层发送用于获取目标功能组件所需视觉数据的第一数据获取请求。
其中,数据调度层中缓存的数据包括以下至少一种:
视觉模块采集到的图像中各对象的人脸信息;各对象的人体信息;各对象与智能机器人之间的距离信息;各对象与智能机器人之间的方位信息。
S303:通过数据调度层根据第一数据获取请求中目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定目标功能组件所需的视觉数据,并返回给组件层。
具体实施时,视觉模块采集的视觉数据中包括所有种类的视觉数据,而目标功能组件所需的视觉数据可能只有几种,因此,可从视觉模块采集的视觉数据中筛选目标功能组件所需的视觉数据返回给组件层。
S304:通过组件层控制目标功能组件对数据调度层返回的视觉数据执行处理,将目标功能组件的执行结果返回给业务层。
具体实施时,通过组件层根据调用请求中目标功能组件进行数据处理所需的参数信息,创建目标功能组件的实例,进而通过组件层调用实例对数据调度层返回的视觉数据执行处理,得到执行结果。
具体地,通过组件层若确定满足调用请求中的目标功能组件开始处理数据的条件,则调用实例对数据调度层返回的视觉数据执行处理,或者,通过组件层在确定实例创建成功后,直接调用实例对数据调度层返回的视觉数据执行处理。
并且,通过组件层若确定满足调用请求中目标功能组件结束处理数据的条件或实例的生命周期结束,还可释放实例。
S305:通过业务层根据执行结果生成控制指令,并控制智能机器人执行控制指令。
S306:通过数据调度层若接收到组件层发送的用于指示停止发送目标功能组件所需视觉数据的消息,则停止发送目标功能组件所需的视觉数据。
上述流程中,对业务模块的每种数据处理需求,通过业务层若确定不存在与数据处理需求对应的目标功能组件时,还可以包括如图4所示的以下流程:
S401:通过业务层向数据调度层发送第二数据获取请求,以获取业务模块所需的视觉数据。
其中,第二数据获取请求中可携带业务模块所需的视觉数据的种类信息。
S402:通过数据调度层根据第二数据获取,从视觉模块采集的视觉数据中,确定业务模块所需的视觉数据,将视觉数据返回至业务层。
S403:通过业务层对数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制智能机器人执行控制指令。
S404:通过数据调度层若接收到业务层发送的用于停止获取业务模块所需数据的请求,则停止向业务层返回业务模块所需的视觉数据。
或者,通过业务层若确定不存在与数据处理需求对应的目标功能组件时,包括如图5所示的以下流程:
S501:通过业务层若确定不存在与数据处理需求对应的目标功能组件,则向数据调度层发送第三数据获取请求,以获取满足业务模块的数据处理需求的数据。
其中,第三数据获取请求中可携带业务模块所需的视觉数据的种类信息和业务模块的数据处理需求信息。
S502:通过数据调度层根据第三数据获取请求,从视觉模块采集的视觉数据中,确定业务模块所需的视觉数据,根据第三数据获取请求中的数据处理需求信息,对业务模块所需的视觉数据执行处理,将处理结果返回给业务层。
S503:通过业务层根据数据调度层返回的执行结果生成控制指令,并控制智能机器人执行控制指令。
S504:通过数据调度层若接收到业务层发送的用于停止获取满足业务模块所需数据的请求,则停止对业务模块所需的视觉数据执行处理。
另外,现有技术中,业务模块可识别的数据格式由视觉模块的硬件参数决定,而不同视觉模块的硬件参数一般是不同的,也就是说,如果视觉模块更换,就需要对业务模块的相关功能进行修改,业务模块和视觉模块之间的耦合度比较高,为了降低视觉模块更换对业务模块的影响,可根据业务模块能够识别的数据格式和视觉模块识别得到的视觉数据的数据格式预先确定格式转换规则。
上述流程中,通过数据调度层若确定从视觉模块获取到的数据的格式与业务模块能够识别的数据的格式不一致,可将从视觉模块获取到的数据的格式转换为业务模块能够识别的格式,这样,更换视觉模块后仅需更新数据调度层中的格式转换规则,业务模块最终获取到的视觉数据的格式即可保持一致,视觉模块与业务模块之间的耦合度较低,也便于业务模块的功能移植。
本申请提供的数据处理系统、数据处理方法可以应用到多种计算装置中,图6给出了一种计算装置的结构示意图,这里,图6所示的计算装置60仅仅是一个示例,并不对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算装置60以通用计算设备的形式表现,计算装置60的组件可以包括但不限于:至少一个处理单元601、至少一个存储单元602、连接不同系统组件(包括存储单元602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置60也可以与一个或多个外部设备604(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置60交互的设备通信,和/或与使得该计算装置60能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算装置60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器606通过总线603与用于计算装置60的其它模块通信。应当理解,尽管图6中未示出,可以结合计算装置60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员应当理解,图6仅仅是计算装置的举例,并不构成对计算装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请提供的数据处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据处理方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于数据处理的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括朝向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (24)
1.一种数据处理系统,其特征在于,所述系统包括业务层、组件层和数据调度层,其中:
所述业务层,用于在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向所述组件层发送调用请求,所述调用请求中包括所述目标功能组件的标识信息;根据所述组件层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述组件层,用于根据所述调用请求中的标识信息,确定所述目标功能组件;向所述数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
所述数据调度层,用于根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层。
2.如权利要求1所述的系统,其特征在于,所述业务层具体用于:
若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
3.如权利要求2所述的系统,其特征在于,所述组件层具体用于:
根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
4.如权利要求3所述的系统,其特征在于,所述组件层具体用于:
若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
5.如权利要求3或4所述的系统,其特征在于,所述组件层还用于:
在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
6.如权利要求1所述的系统,其特征在于,所述数据调度层还用于:
若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
7.如权利要求1所述的系统,其特征在于,
所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第二数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层。
8.如权利要求1所述的系统,其特征在于,
所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层。
9.如权利要求7或8所述的系统,其特征在于,所述数据调度层还用于:
若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
10.如权利要求1-4、6-8任一所述的系统,其特征在于,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
11.如权利要求1-4、6-8任一所述的系统,其特征在于,所述数据调度层还用于:
若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
12.一种数据处理方法,其特征在于,包括:
通过业务层在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,所述调用请求中携带所述目标功能组件的标识信息;
通过所述组件层根据所述调用请求中的标识信息,确定所述目标功能组件;以及向数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;
通过数据调度层根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层;
通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
通过所述业务层根据所述执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
13.如权利要求12所述的方法,其特征在于,向组件层发送调用请求,包括:
通过所述业务层若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
14.如权利要求13所述的方法,其特征在于,通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,包括:
通过所述组件层根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;
通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
15.如权利要求14所述的方法,其特征在于,通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果,包括:
通过所述组件层若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
通过所述组件层在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
16.如权利要求14或15所述的方法,其特征在于,还包括:
通过所述组件层在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
17.如权利要求16所述的方法,其特征在于,还包括:
通过所述数据调度层若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
18.如权利要求12所述的方法,其特征在于,还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;
通过所述数据调度层根据所述第二数据获取,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层;
通过所述业务层对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
19.如权利要求12所述的方法,其特征在于,还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;
通过所述数据调度层根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层;
通过所述业务层根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
20.如权利要求18或19所述的方法,其特征在于,还包括:
通过所述数据调度层若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
21.如权利要求12-15、17-19任一项所述的方法,其特征在于,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
22.如权利要求12-15、17-19任一项所述的方法,其特征在于,还包括:
通过所述数据调度层若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
23.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求12-22任一项权利要求所述的方法。
24.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求12-22任一项权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818879.3A CN110532033B (zh) | 2019-08-30 | 2019-08-30 | 一种数据处理系统和数据处理方法 |
PCT/CN2020/110073 WO2021036887A1 (zh) | 2019-08-30 | 2020-08-19 | 一种数据处理系统和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910818879.3A CN110532033B (zh) | 2019-08-30 | 2019-08-30 | 一种数据处理系统和数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532033A CN110532033A (zh) | 2019-12-03 |
CN110532033B true CN110532033B (zh) | 2021-04-16 |
Family
ID=68665785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910818879.3A Active CN110532033B (zh) | 2019-08-30 | 2019-08-30 | 一种数据处理系统和数据处理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110532033B (zh) |
WO (1) | WO2021036887A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532033B (zh) * | 2019-08-30 | 2021-04-16 | 北京猎户星空科技有限公司 | 一种数据处理系统和数据处理方法 |
CN113448653B (zh) * | 2020-03-27 | 2024-01-26 | 北京猎户星空科技有限公司 | 一种业务处理方法、系统、电子设备和计算机可读介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294061A (zh) * | 2013-06-26 | 2013-09-11 | 林威 | 一种基于移动互联网的家庭安防机器人 |
CN104281456B (zh) * | 2014-10-13 | 2018-11-09 | 中国石油大学(北京) | 一种基于云计算的油气田开发工程应用软件系统 |
CN104461495B (zh) * | 2014-10-31 | 2017-10-17 | 北京思特奇信息技术股份有限公司 | 一种实现数据持久层分离的方法及系统 |
KR102501240B1 (ko) * | 2016-03-18 | 2023-02-17 | 삼성전자주식회사 | 태스크 스케줄링 방법 및 이를 구현한 전자 장치 |
CA2971784A1 (en) * | 2016-06-23 | 2017-12-23 | Radicalogic Technologies, Inc. | Healthcare workflow system |
US11024085B2 (en) * | 2016-07-09 | 2021-06-01 | Doubleme, Inc. | Electronic system and method for three-dimensional mixed-reality space and experience construction and sharing |
CN106569794B (zh) * | 2016-09-23 | 2020-03-24 | 北京五八信息技术有限公司 | 应用程序开发装置 |
CN106657367B (zh) * | 2016-12-30 | 2019-09-17 | 北京三快在线科技有限公司 | 一种业务数据获取方法、装置及系统 |
CN109544693A (zh) * | 2017-09-22 | 2019-03-29 | 江苏智谋科技有限公司 | 实时三维图形系统和虚拟现实交互技术 |
CN108875567A (zh) * | 2018-05-04 | 2018-11-23 | 北京旷视科技有限公司 | 人脸识别终端及系统 |
CN110532033B (zh) * | 2019-08-30 | 2021-04-16 | 北京猎户星空科技有限公司 | 一种数据处理系统和数据处理方法 |
-
2019
- 2019-08-30 CN CN201910818879.3A patent/CN110532033B/zh active Active
-
2020
- 2020-08-19 WO PCT/CN2020/110073 patent/WO2021036887A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021036887A1 (zh) | 2021-03-04 |
CN110532033A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10706308B2 (en) | Image processing for automated object identification | |
CA3033966C (en) | Utilizing a machine learning model and natural language processing to manage and allocate tasks | |
CN106558310B (zh) | 虚拟现实语音控制方法及装置 | |
US20190114202A1 (en) | Task scheduling method and apparatus of artificial intelligence heterogeneous hardware, device and readable medium | |
CN110532033B (zh) | 一种数据处理系统和数据处理方法 | |
JP7012689B2 (ja) | コマンド実行方法及び装置 | |
WO2021057925A1 (zh) | 智能设备的控制方法、装置以及智能设备、存储介质 | |
CN108255585B (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
CN110442402A (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2019056947A1 (zh) | 一种用于移动机器人的定时任务的方法及系统 | |
KR20190056502A (ko) | 모니터링, 분석 및 제어 플랫폼, 이를 탑재한 포그 서버 및 이를 포함하는 포그 컴퓨팅 시스템 | |
Paunicka et al. | A CORBA-based middleware solution for UAVs | |
Moazzami et al. | Orbit: A platform for smartphone-based data-intensive sensing applications | |
CN111312243B (zh) | 设备交互方法和装置 | |
KR102246079B1 (ko) | 클라우드 중심 IoT를 위한 멀티 모달 센서 데이터 획득 및 동기화 시스템과 이의 실행 방법 | |
CN112382292A (zh) | 基于语音的控制方法和装置 | |
CN111061259A (zh) | 行走机器人的事件化驱动方法、系统、设备及存储介质 | |
CN107283429B (zh) | 基于人工智能的控制方法、装置、系统以及终端 | |
WO2023103379A1 (zh) | 任务执行方法、装置、设备和存储介质 | |
WO2023071643A1 (zh) | 用于处理任务的方法、装置、电子设备和介质 | |
JP2007157166A (ja) | モバイルホームサービスロボットを制御するサーバのxml基盤のサービス提供方法及びその装置 | |
CN101256531B (zh) | 一种分析嵌入式设备实时性的方法 | |
CN112732591B (zh) | 一种缓存深度学习的边缘计算架构 | |
CN112581961A (zh) | 一种语音信息处理方法及装置 | |
KR102302029B1 (ko) | 인공지능 기반 복합 입력 인지 시스템 |
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 |