WO2021036887A1 - 一种数据处理系统和数据处理方法 - Google Patents

一种数据处理系统和数据处理方法 Download PDF

Info

Publication number
WO2021036887A1
WO2021036887A1 PCT/CN2020/110073 CN2020110073W WO2021036887A1 WO 2021036887 A1 WO2021036887 A1 WO 2021036887A1 CN 2020110073 W CN2020110073 W CN 2020110073W WO 2021036887 A1 WO2021036887 A1 WO 2021036887A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
layer
component
business
module
Prior art date
Application number
PCT/CN2020/110073
Other languages
English (en)
French (fr)
Inventor
宋奔
耿磊
Original Assignee
北京猎户星空科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京猎户星空科技有限公司 filed Critical 北京猎户星空科技有限公司
Publication of WO2021036887A1 publication Critical patent/WO2021036887A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Definitions

  • the present disclosure relates to the field of artificial intelligence technology, and in particular to a data processing system and data processing method.
  • the embodiments of the present disclosure provide a data processing system and a data processing method, so as to solve the problem of complicated and complicated development of business scenarios existing in the prior art.
  • embodiments of the present disclosure provide a data processing system, which includes a business layer, a component layer, and a data scheduling layer, where:
  • the business layer is used to determine the target functional component corresponding to the data processing requirement of the business module when any business module of the intelligent robot is triggered, and send a call request to the component layer, the call request includes Identification information of the target functional component; generating a control instruction according to the execution result returned by the component layer, and controlling the intelligent robot to execute the control instruction;
  • the component layer is configured to determine the target function component according to the identification information in the call request; send a first data acquisition request for obtaining the visual data required by the target function component to the data scheduling layer; Controlling the target function component to perform processing on the visual data returned by the data scheduling layer, and returning the execution result of the target function component to the business layer;
  • the data scheduling layer is used to determine the visual data required by the target functional component from the visual data collected by the vision module according to the identification information of the target functional component in the first data acquisition request, and return to The component layer.
  • the business layer is specifically used for:
  • the call to the target function component corresponding to each data processing requirement is sent to the component layer in turn request.
  • the component layer is specifically used for:
  • the component layer is specifically used for:
  • the instance is directly called to perform processing on the visual data returned by the data scheduling layer.
  • the component layer is also used for:
  • the instance After calling the instance to perform processing on the visual data returned by the data scheduling layer, if the condition for the target functional component to end processing data in the calling request is met or the life cycle of the instance ends, the instance is released.
  • the data scheduling layer is further used for:
  • the business layer is further configured to send a second data acquisition request to the data scheduling layer if there is no target functional component corresponding to the data processing requirement, so as to obtain the Visual data required by the business module; perform processing on the visual data returned by the data scheduling layer, generate control instructions according to the execution results, and control the intelligent robot to execute the control instructions;
  • the data scheduling layer is further configured to determine the visual data required by the business module from the visual data collected by the visual module according to the second data acquisition request, and return the visual data to the business Floor.
  • the business layer is further configured to send a third data acquisition request to the data scheduling layer if there is no target functional component corresponding to the data processing requirement, so as to obtain Data required for the data processing of the business module; generating control instructions according to the execution results returned by the data scheduling layer, and controlling the intelligent robot to execute the control instructions;
  • the data scheduling layer is further configured to determine the visual data required by the business module from the visual data collected by the vision module according to the third data acquisition request, and determine the visual data required by the business module according to the third data acquisition request Data processing requirement information, perform processing on the visual data required by the business module, and return the processing result to the business layer.
  • the data scheduling layer is further used for:
  • the data buffered in the data scheduling layer includes at least one of the following:
  • the face information of each object in the image collected by the vision module The face information of each object in the image collected by the vision module; the human body information of each object; the distance information between each object and the intelligent robot; the distance between each object and the intelligent robot Location information.
  • the data scheduling layer is further used for:
  • the format of the data acquired from the vision module is inconsistent with the format of the data that can be recognized by the business module, the format of the data acquired from the vision module is converted into a format that can be recognized by the business module.
  • a data method provided by an embodiment of the present disclosure includes:
  • the target function component corresponding to the data processing requirement of the business module is determined, and a call request is sent to the component layer.
  • the call request carries the target function component Identification information
  • the data scheduling layer determines the visual data required by the target functional component from the visual data collected by the vision module, and returns to the component layer ;
  • Control the target function component to perform processing on the visual data returned by the data scheduling layer through the component layer, and return the execution result of the target function component to the business layer;
  • the business layer generates a control instruction according to the execution result, and controls the intelligent robot to execute the control instruction.
  • sending a call request to the component layer includes:
  • the business module has at least two data processing requirements, then according to the logical sequence of the various data processing requirements in the business module, the corresponding data processing requirements for each data processing requirement are sent to the component layer in turn.
  • the call request of the target functional component If it is determined through the business layer that the business module has at least two data processing requirements, then according to the logical sequence of the various data processing requirements in the business module, the corresponding data processing requirements for each data processing requirement are sent to the component layer in turn. The call request of the target functional component.
  • controlling the target function component through the component layer to perform processing on the visual data returned by the data scheduling layer includes:
  • the component layer calls the instance to perform processing on the visual data returned by the data scheduling layer to obtain the execution result.
  • invoking the instance through the component layer to perform processing on the visual data returned by the data scheduling layer to obtain the execution result includes:
  • the instance is directly called to perform processing on the visual data returned by the data scheduling layer.
  • the method further includes:
  • the data scheduling layer receives a request sent by the component layer to stop obtaining the visual data required by the target functional component, it stops returning the visual data required by the target functional component to the component layer.
  • the method further includes:
  • the business layer performs processing on the visual data returned by the data scheduling layer, generates a control instruction according to the execution result, and controls the intelligent robot to execute the control instruction.
  • the method further includes:
  • the data scheduling layer determines the visual data required by the business module from the visual data collected by the vision module, and according to the data processing requirements in the third data acquisition request Information, perform processing on the visual data required by the business module, and return the processing result to the business layer;
  • the business layer generates a control instruction according to the execution result returned by the data scheduling layer, and controls the intelligent robot to execute the control instruction.
  • the method further includes:
  • the data scheduling layer receives a request sent by the service layer to stop obtaining the data required by the service module, the data transmission with the service module is stopped.
  • the data buffered in the data scheduling layer includes at least one of the following:
  • the face information of each object in the image collected by the vision module The face information of each object in the image collected by the vision module; the human body information of each object; the distance information between each object and the intelligent robot; the distance between each object and the intelligent robot Location information.
  • the method further includes:
  • the format of the data obtained from the vision module is inconsistent with the format of the data that can be recognized by the business module, the format of the data obtained from the vision module is converted into the format that can be recognized by the business module. Format.
  • an electronic device provided by an embodiment of the present disclosure includes: at least one processor, and a memory communicatively connected with the at least one processor, wherein:
  • the memory stores instructions executable by at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the foregoing data processing method.
  • a computer-readable medium provided by an embodiment of the present disclosure stores computer-executable instructions, and the computer-executable instructions are used to execute the above-mentioned data processing method.
  • the data processing system is provided with a data scheduling layer, a business layer, and a component layer.
  • the business layer determines that the trigger condition of any business module of the intelligent robot is satisfied, it determines the target functional component corresponding to the data processing requirement of the business module , Send a call request to the target functional component to the component layer.
  • the component layer After receiving the call request, the component layer sends the first data acquisition request for obtaining the visual data required by the target functional component to the data dispatching layer, and controls the target function component to data
  • the visual data returned by the scheduling layer is processed, and the execution result is returned to the business layer.
  • the business layer generates control instructions based on the execution results returned by the component layer, and controls the intelligent robot to execute the control instructions.
  • FIG. 1 is a schematic diagram of an application scenario of a data processing system provided by an embodiment of the disclosure
  • FIG. 2 is a schematic diagram of a data processing system provided by an embodiment of the disclosure.
  • FIG. 3 is a flowchart of a data processing method provided by an embodiment of the disclosure.
  • FIG. 4 is a flowchart of yet another data processing method provided by an embodiment of the disclosure.
  • FIG. 5 is a flowchart of still another data processing method provided by an embodiment of the disclosure.
  • FIG. 6 is a schematic structural diagram of a computing device applying a data processing method according to an embodiment of the disclosure.
  • embodiments of the present disclosure provide a data processing system and data processing method.
  • Figure 1 is a schematic diagram of an application scenario of a data processing system provided by an embodiment of the disclosure, including a vision module and a data processing system.
  • the data processing system includes a business layer, a component layer, and a data scheduling layer.
  • the business layer includes N business modules
  • the component layer includes M functional components
  • each business module includes at least one data processing requirement
  • each data processing requirement corresponds to a functional component
  • each business module can call at least one functional component.
  • different business modules can call the same functional component at the same time. See Figure 1.
  • Business module 1 can call functional component 1
  • business module 2 can call functional component 2
  • business module N can call functional component.
  • 2 and functional component M, N and M are all positive integers.
  • the vision module is installed on the intelligent robot to collect images of the surrounding environment of the intelligent robot, and analyze and process the collected images to obtain visual data, such as the face information, human body information, etc. of each object in the image.
  • the distance information and orientation information between each object and the intelligent robot are all visual data.
  • Vision data is very important to the intelligent robot processing business, therefore, the vision module is also very important to the intelligent robot processing business.
  • the data processing system separates the business requirements of the business module from the visual data processing requirements.
  • the business layer only needs to call the functional components in the component layer to meet the corresponding visual data processing requirements. Developers are developing business In order to simplify the development process of the business module and improve the development efficiency of the business module, you can focus on the business needs of the business module instead of paying too much attention to the visual data processing needs of the business module.
  • the specific instructions are as follows.
  • the business layer is used to determine the target functional component corresponding to the data processing requirements of the business module when any business module of the intelligent robot is triggered, and send a call request to the component layer.
  • the call request includes the identification information of the target functional component.
  • the execution result returned by the component layer generates control instructions and controls the intelligent robot to execute the control instructions.
  • the business layer can send to the component layer the information of the target functional component corresponding to each data processing requirement in accordance with the logical sequence of the various data processing requirements in the business module. Call request.
  • the business module has three data processing requirements: data processing demand 1, data processing demand 2 and data processing demand 3, and the logical sequence of these three data processing demands in this business module is data processing demand 1 ⁇ data processing demand 2 ⁇ Data processing requirement 3, where the target functional component corresponding to data processing requirement 1 is functional component 1, the target functional component corresponding to data processing requirement 2 is functional component 2, and the target functional component corresponding to data processing requirement 3 is functional component 3.
  • the business layer is used to determine functional component 1, functional component 2 and functional component 3 when the business module of the intelligent robot is triggered, and then send a call request to functional component 1 to the component layer to call the functional component 1 pair
  • Data processing requirement 1 is processed, and functional component 1 is called to complete the processing of data processing requirement 1, and then a call request to functional component 2 is sent to the component layer to call functional component 2 to process data processing requirement 2, and call functional component 2
  • a call request to the functional component 3 is sent to the component layer to call the functional component 3 to process the data processing requirement 3.
  • the component layer is used to determine the target function component according to the identification information in the call request, and send the first data acquisition request for obtaining the visual data required by the target function component to the data scheduling layer, and then control the return of the target function component to the data scheduling layer Visual data execution processing, the execution result of the target functional component is returned to the business layer.
  • the component layer can perform data processing based on the parameter information required by the target functional component in the call request, such as the face data of the target person, the appearance time and angle that the face needs to be awakened when performing the wake-up task, and when the leading task is performed The distance between the leading object that needs to be met and the intelligent robot, etc., create an instance of the target functional component, and then call the instance to perform processing on the visual data returned by the data scheduling layer, and obtain the execution result.
  • the target functional component in the call request such as the face data of the target person, the appearance time and angle that the face needs to be awakened when performing the wake-up task, and when the leading task is performed
  • the distance between the leading object that needs to be met and the intelligent robot, etc. create an instance of the target functional component, and then call the instance to perform processing on the visual data returned by the data scheduling layer, and obtain the execution result.
  • the target functional component may be called by multiple business modules at the same time. Therefore, the target functional component can create multiple instances for different business modules at the same time.
  • the component layer can call the instance to perform processing on the visual data returned by the data scheduling layer when it is determined that the condition for the target functional component in the call request to start processing data is satisfied. If the call request does not include the condition to start processing the data, the component layer can directly call the instance to perform processing on the visual data returned by the data scheduling layer after the instance is successfully created.
  • the component layer can release the data after the call instance performs processing on the visual data returned by the data scheduling layer, and when it is determined that the target functional component in the call request ends to process the data.
  • An instance of the target functional component If the call request does not include the condition to end processing data, the component layer can release the target functional component instance after the call instance performs processing on the visual data returned by the data scheduling layer, and when the life cycle of the instance is determined to be over, it can be Save the processing resources of the intelligent robot, where the life cycle of the instance refers to the survival time set for the instance.
  • the data scheduling layer is used to determine the visual data required by the target function component from the visual data collected by the vision module according to the identification information of the target function component in the first data acquisition request, and return to the component layer.
  • the data cached in the data scheduling layer includes at least one of the following:
  • the face information of each object in the image collected by the vision module The face information of each object in the image collected by the vision module; the human body information of each object; the distance information between each object and the intelligent robot; the position information between each object and the intelligent robot.
  • the data scheduling layer after receiving the first data acquisition request, the data scheduling layer will continuously return the visual data required by the target functional component to the component layer.
  • the component layer determines that it no longer needs to obtain the visual data required by the target functional component, For example, if the target function component in the call request is satisfied or the life cycle of the instance ends, a request to stop obtaining the visual data required by the target function component can also be sent to the data scheduling layer. Therefore, the data scheduling layer is also used for After receiving the request from the component layer to stop obtaining the visual data required by the target functional component, stop returning the visual data required by the target functional component to the component layer.
  • the functional components in the component layer are gradually expanded, so there may be cases where a certain data processing requirement of the business module does not have a corresponding target functional component.
  • the business layer can directly send data to the data scheduling layer to obtain Requests, and this kind of data processing requirements of the business module can be processed at the business layer or at the data scheduling layer. The two situations are described in detail below.
  • the first way the data processing requirements of the business module are processed at the business layer.
  • the business layer determines that there is no target functional component corresponding to the data processing requirement, it sends a second data acquisition request to the data scheduling layer to obtain the visual data required by the business module; the visual data returned by the data scheduling layer Perform processing, generate control instructions according to the execution results, and control the intelligent robot to execute the control instructions.
  • the data scheduling layer determines the visual data required by the business module from the visual data collected by the visual module according to the second data acquisition request, and returns the visual data to the business layer.
  • the data scheduling layer after receiving the second data acquisition request, the data scheduling layer will continuously return the visual data required by the business module to the business layer.
  • the business layer determines that it no longer needs to obtain the visual data required by the business module, such as business All data processing requirements in the module are met, and a request for stopping obtaining the visual data required by the business module can be sent to the data scheduling layer. Therefore, if the data scheduling layer receives the request from the business layer to stop obtaining the business module If data is requested, the data transmission with the service module is stopped, that is, the visual data required by the service module is stopped to be returned to the service layer.
  • the second way the data processing requirements of the business module are processed at the data scheduling layer.
  • the business layer determines that there is no target functional component corresponding to the data processing requirements, it sends a third data acquisition request to the data scheduling layer to obtain data that meets the data processing requirements of the business module; according to the data returned by the data scheduling layer
  • the execution result generates control instructions, and controls the intelligent robot to execute the control instructions
  • the data scheduling layer determines the visual data required by the business module from the visual data collected by the vision module according to the third data acquisition request, and according to the data processing demand information in the third data acquisition request, it determines the required visual data for the business module.
  • Visual data performs processing and returns the processing results to the business layer.
  • the data scheduling layer after receiving the third data acquisition request, the data scheduling layer will continuously return the visual data required by the business module to the component layer.
  • the business layer determines that it no longer needs to obtain data that meets the data processing requirements of the business module For example, if all the data processing requirements in the business module are met, it can also send a request to the data scheduling layer to stop acquiring the data required by the business module. Therefore, if the data scheduling layer receives the data processing request sent by the business layer to stop acquiring data If the required data is requested, the data transmission with the service module is stopped, that is, the processing of the visual data required by the service module is stopped.
  • the format of the visual data processed by the business module is adapted according to the hardware parameters of the visual module, and the hardware parameters of different visual modules are generally different. Therefore, if the visual module is replaced, the relevant business module needs to be modified.
  • the program is adapted to the new vision module. In this way, the degree of coupling between the business module and the vision module is relatively high.
  • the data scheduling layer in the embodiments of the present disclosure may also have a data format conversion function. Specifically, if the data scheduling layer determines that the format of the data obtained from the vision module is inconsistent with the format of the data that can be recognized by the business module, it converts the format of the data obtained from the vision module into a format that can be recognized by the business module. In this way, When the vision module is replaced, only the format conversion rules in the data scheduling layer need to be updated, and the format of the vision data obtained by the business layer can be kept consistent. There is no need to modify the related functions of the business module, which can reduce the business module and the vision. The degree of coupling between modules also facilitates the migration of business modules.
  • the vision module when it is determined that the business module needs to use vision data, the vision module is opened to obtain the vision data, and the vision module is closed after use.
  • the opening of the vision module takes a certain amount of time, so the speed of obtaining the vision data from the vision module It will be slower and there will be a certain delay in business processing.
  • the data scheduling layer can open the vision module, and can obtain the vision data detected by the vision module in real time. In this way, only the vision data is collected without worrying about which one is.
  • the business module needs visual data, which can realize human-centered data collection. In this case, if a certain business module needs to use visual data, the required visual data can be directly obtained through the component layer, which saves the time to open the visual module. Therefore, the business delay is relatively small.
  • the condition for face wake-up is: the face is within a set distance from the intelligent robot, the angle of the face toward the intelligent robot is within the preset angle range, and the continuous appearance time reaches the expected time. Set the length of time, after the intelligent robot is awakened, it will follow the awakened face. For example, control the head and chassis of the intelligent robot to rotate so that the intelligent robot keeps facing the face. If the awakened face is lost, it can search and follow again.
  • the wake-up business module includes two data processing requirements: face wake-up and face follow.
  • leading the business in the leading business, the condition for face awakening is: the target face is detected. If it is determined that the target face is detected, it can be awakened based on the target face. After the awakening is successful, the subject will be led to the designated location. The designated place can be preset or the intelligent robot can be notified by the leading subject. During the leading process, It is necessary to check whether the distance between the intelligent robot and the leading object exceeds the preset distance in real time. If the speed of the intelligent robot is exceeded to avoid losing the leading object, analysis of the business process shows that the leading business module also includes two data processing requirements: human face Wake up and lead by characters.
  • FIG. 2 a schematic diagram of a data processing system provided for the implementation of the present disclosure, where the business layer includes a wake-up business module and a leading business module, assuming that the face wake-up processing requirements correspond to functional components 1, and the face follow processing requirements correspond to functional components 2.
  • the character leads the processing demand corresponding to functional component 3.
  • the target functional components that can be called by the wake-up business module are functional component 1 and functional component 2
  • the target functional components that can be called by the leading business module are functional component 2 and functional component 3.
  • the vision module can collect images of people or objects around the smart robot every 30 milliseconds (millisecond, abbreviation: ms), and perform image capture once every 3 seconds (second, abbreviation: s) Recognition processing is used to obtain visual data. In this way, image acquisition at a higher frequency and image recognition at a lower frequency can meet business needs and save processing resources of the vision module.
  • the business layer when it determines that the trigger condition for waking up the business module is satisfied, it can send to the component layer a call request for the functional component 1 corresponding to the face wake-up processing requirement.
  • the information carried in the call request includes: the identity of the functional component 1 Information, the parameter information required for data processing of functional component 1, such as the distance between the wake-up face and the intelligent robot when performing the wake-up task, the appearance length and angle that the face needs to be awakened, and the conditions for the functional component 1 to end processing data, such as detection To the face that meets the arousal condition.
  • the component layer After the component layer receives the call request, it can create an instance of the function component 1 in the wake-up service module according to the parameter information required by the function component 1 in the call request for data processing, and send the data to the data scheduling layer according to the identification information of the function component 1.
  • the data acquisition request For the data acquisition request for obtaining the visual data required by the functional component 1, the data acquisition request includes the identification information of the functional component 1.
  • the data scheduling layer determines the visual data required by functional component 1 from the visual data collected by the vision module, such as face information and orientation information between the face and the intelligent robot, and returns Give the component layer.
  • the component layer controls the instance of functional component 1 to perform processing on the visual data returned by the data scheduling layer each time.
  • the instance of functional component 1 in the business module is released, that is, the processing of visual data is stopped.
  • the face information that meets the wake-up condition is returned to the service layer, and a request for stopping obtaining the visual data required by the functional component 1 in the wake-up service module is sent to the data scheduling layer.
  • the data scheduling layer receives the request from the component layer to stop obtaining the visual data required by the functional component 1 in the wake-up service module, it stops returning to the component layer the visual data required by the functional component 1 in the wake-up service module.
  • the business layer generates a wake-up instruction based on the face information returned by the component layer and controls the intelligent robot to wake up.
  • the business layer sends to the component layer a call request for the functional component 2 corresponding to the face following processing requirements.
  • the information carried in the call request includes: the identification information of the functional component 2, and the parameter information required by the functional component 2 for data processing, such as When performing the face following task, follow the distance between the human face and the intelligent robot, and the condition for the functional component 1 to end processing data is that no human face that meets the following condition is detected within a preset time period.
  • the component layer can create an instance of the function component 2 in the wake-up service module according to the parameter information required by the function component 2 in the call request for data processing, and send the data to the data scheduling layer according to the identification information of the function component 2.
  • the data acquisition request For the data acquisition request for obtaining the visual data required by the functional component 2, the data acquisition request includes the identification information of the functional component 2.
  • the data scheduling layer determines the visual data required by the functional component 2 such as face information from the visual data collected by the vision module according to the identification information of the functional component 2 in the acquisition request, and returns it to the component layer.
  • the component layer controls and wakes up the instance of functional component 2 in the business module to perform processing on the visual data returned by the data scheduling layer each time, and returns the obtained position information following the face to the business layer, and releases the wake-up when it is determined that the conditions for ending processing data are met
  • the instance of functional component 2 in the business module is to stop processing the visual data and send a request to the data scheduling layer to stop obtaining the visual data required by the functional component 2 in the wake-up business module.
  • the data scheduling layer receives the request from the component layer to stop acquiring the visual data required by the functional component 2 in the wake-up service module, it stops returning to the component layer the visual data required by the functional component 2 in the wake-up service module.
  • the business layer generates follow instructions according to the orientation information returned by the component layer each time, and controls the intelligent robot to adjust its own orientation so that the intelligent robot faces and follows the human face.
  • the business layer when it determines that the trigger conditions for leading the business module are met, it can send to the component layer a call request for the functional component 1 corresponding to the face wake-up processing demand.
  • the information carried in the call request includes: the identifier of the functional component 1 Information, the parameter information required by the functional component 1 for data processing, such as the face data of a face that wakes up when the wake-up task is executed, and the condition for the functional component 1 to end processing data, such as detecting a face that meets the wake-up condition.
  • the component layer After the component layer receives the call request, it can create an instance of the function component 1 in the function leading business module according to the parameter information required by the function component 1 in the call request for data processing, and send it to the data scheduling layer according to the identification information of the function component 1
  • a data acquisition request used to acquire the visual data required by the functional component 1 includes the identification information of the functional component 1.
  • the data scheduling layer determines the visual data required by the functional component 1, such as face information, from the visual data collected by the vision module, and returns it to the component layer.
  • the component layer controls the instance of functional component 1 to perform processing on the face information returned by the data scheduling layer each time.
  • the instance of functional component 1 is released, that is, the processing of visual data is stopped, and the The face information that satisfies the wake-up condition is returned to the service layer, and a request for stopping obtaining the visual data required by the functional component 1 in the leading service module is sent to the data scheduling layer.
  • the data scheduling layer receives the request from the component layer to stop obtaining the visual data required by the functional component 1 in the leading business module, it stops returning to the component layer the visual data required by the functional component 1 in the leading business module.
  • the business layer generates a wake-up instruction based on the face information returned by the component layer, and controls the intelligent robot to wake up.
  • the business layer sends to the component layer a call request for the functional component 3 corresponding to the character leading processing requirement.
  • the information carried in the call request includes: the identification information of the functional component 3, and the parameter information required by the functional component 3 for data processing such as execution
  • the condition for the functional component 1 to finish processing the data is such as not detecting the lead object or reaching the leading destination within the preset time period.
  • the component layer can create an instance of the function component 3 according to the parameter information required by the function component 3 for data processing in the call request, and send it to the data scheduling layer according to the identification information of the function component 3 to obtain the function component 3 A data acquisition request for the required visual data.
  • the data acquisition request includes the identification information of the functional component 3.
  • the data scheduling layer determines the facial information required by the functional component 3 from the visual data collected by the vision module according to the identification information of the functional component 3 in the acquisition request, and returns it to the component layer.
  • the component layer controls and leads the instance of functional component 3 in the business module to perform processing on the face information returned by the data scheduling layer each time, and returns the distance information of the lead object obtained to the business layer, and releases the lead when it is determined that the conditions for ending processing data are met.
  • the instance of the functional component 3 in the business module is to stop processing the visual data, and send a request for stopping obtaining the visual data required by the functional component 3 in the leading business module to the data scheduling layer.
  • the data scheduling layer After the data scheduling layer receives the request from the component layer to stop obtaining the visual data required by the functional component 3 in the leading business module, it stops returning to the component layer the visual data required by the functional component 3 in the leading business module.
  • the business layer generates follow instructions according to the distance information returned by the component layer each time, and controls the intelligent robot to adjust its own driving speed, so that the distance between the intelligent robot and the leading object is kept within the set distance, so as not to lose the leading object.
  • the leading object can end the guidance by voice or gesture at any time. Therefore, before reaching the destination, if the business layer receives a message to indicate the end of the guidance Instruction, it can also send a request to the component layer to stop processing the visual data returned by the data scheduling layer. After receiving the request, the component layer can release the instance of the functional component 3 in the leading business module to stop processing the visual data, and send to the data scheduling layer to stop obtaining the visual data required by the functional component 3 in the leading business module Request to make the data scheduling layer stop returning to the component layer the visual data needed to lead the functional component 3 in the business module.
  • the functional component 1 corresponding to the face wake-up processing requirement can be separately deployed at the component layer, and the wake-up business module and the leading business module can both call the functional component 1, without having to share the same in the business module as in the prior art. Repeated development of face wake-up processing requirements, therefore, can shorten the development cycle of business modules.
  • FIG. 3 is a flowchart of a data processing method provided by an embodiment of the present disclosure, including the following steps:
  • the component layer determines the target function component according to the identification information in the call request, and sends a first data acquisition request for acquiring the visual data required by the target function component to the data scheduling layer.
  • the data cached in the data scheduling layer includes at least one of the following:
  • the face information of each object in the image collected by the vision module The face information of each object in the image collected by the vision module; the human body information of each object; the distance information between each object and the intelligent robot; the orientation information between each object and the intelligent robot.
  • the data scheduling layer determines the visual data required by the target functional component from the visual data collected by the vision module, and returns it to the component layer.
  • the visual data collected by the vision module includes all kinds of visual data, and the visual data required by the target functional component may be only a few types. Therefore, the visual data collected by the vision module can be selected from the visual data required by the target functional component. The visual data is returned to the component layer.
  • S304 Control the target function component to perform processing on the visual data returned by the data scheduling layer through the component layer, and return the execution result of the target function component to the business layer.
  • the component layer creates an instance of the target functional component according to the parameter information required for the data processing of the target functional component in the call request, and then uses the component layer to call the instance to perform processing on the visual data returned by the data scheduling layer to obtain the execution result .
  • the instance is called to perform processing on the visual data returned by the data scheduling layer, or the component layer is directly called after determining that the instance is created successfully.
  • the instance performs processing on the visual data returned by the data scheduling layer.
  • the instance can also be released.
  • S305 Generate a control instruction according to the execution result through the business layer, and control the intelligent robot to execute the control instruction.
  • S401 Send a second data acquisition request to the data scheduling layer through the business layer to acquire visual data required by the business module.
  • the second data acquisition request may carry type information of visual data required by the service module.
  • S402 Determine the visual data required by the business module from the visual data collected by the visual module according to the second data acquisition request through the data scheduling layer, and return the determined visual data to the business layer.
  • S403 Perform processing on the visual data returned by the data scheduling layer through the business layer, generate a control instruction according to the execution result, and control the intelligent robot to execute the control instruction.
  • the third data acquisition request may carry type information of visual data required by the business module and data processing requirement information of the business module.
  • S502 Determine the visual data required by the business module from the visual data collected by the vision module according to the third data acquisition request through the data scheduling layer, and determine the visual data required by the business module according to the data processing requirement information in the third data acquisition request. Visual data performs processing and returns the processing results to the business layer.
  • S503 Generate a control instruction according to the execution result returned by the data scheduling layer through the business layer, and control the intelligent robot to execute the control instruction.
  • the data format that can be recognized by the business module is determined by the hardware parameters of the vision module, and the hardware parameters of different vision modules are generally different. That is to say, if the vision module is replaced, it needs to be related to the business module. The function is modified, and the coupling between the business module and the vision module is relatively high. In order to reduce the impact of the replacement of the vision module on the business module, it can be predetermined according to the data format recognized by the business module and the data format of the visual data recognized by the vision module Format conversion rules.
  • the data scheduling layer determines that the format of the data obtained from the vision module is inconsistent with the format of the data that can be recognized by the business module, the format of the data obtained from the vision module can be converted into a format that can be recognized by the business module.
  • the format conversion rules in the data scheduling layer need to be updated, and the format of the vision data finally obtained by the business module can be kept consistent, and the coupling between the vision module and the business module is low, which is also convenient for the business module The function of transplantation.
  • FIG. 1 shows a schematic structural diagram of a computing device.
  • the computing device 10 shown in FIG. 1 is only an example, not Bring any limitation to the function and scope of use of the embodiments of the present disclosure.
  • the computing device 60 is represented in the form of a general-purpose computing device.
  • the components of the computing device 60 may include but are not limited to: at least one processing unit 606, at least one storage unit 602, and connection to different system components (including storage unit 602 and Processing unit 606) bus 603.
  • the bus 603 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a processor, or a local bus using any bus structure among multiple bus structures.
  • the storage unit 602 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 6026 and/or a cache memory 6022, and may further include a read-only memory (Read-Only Memory, ROM). ) 6023.
  • RAM random access memory
  • ROM Read-Only Memory
  • the storage unit 602 may also include a program/utility tool 6025 having a set (at least one) program module 6024.
  • program module 6024 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
  • the computing device 60 may also communicate with one or more external devices 604 (such as keyboards, pointing devices, etc.), and may also communicate with one or more devices that enable a user to interact with the computing device 60, and/or communicate with the computing device 60.
  • 60 can communicate with any device (such as a router, modem, etc.) that can communicate with one or more other computing devices. This communication can be performed through an input/output (I/O) interface 605.
  • the computing device 60 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 606.
  • the network adapter 606 communicates with other modules for the computing device 60 through the bus 603.
  • computing device 60 may be used in conjunction with the computing device 60, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, and disk arrays (Redundant Arrays of Independent Disks (RAID) systems, tape drives, and data backup storage systems.
  • RAID Redundant Arrays of Independent Disks
  • FIG. 6 is only an example of a computing device, and does not constitute a limitation on the computing device, and may include more or fewer components than shown in the figure, or a combination of certain components, or different components.
  • the embodiments of the present disclosure also provide a computer-readable storage medium that stores computer-executable instructions required to execute the above-mentioned processor, which contains programs used to execute the above-mentioned processor.
  • various aspects of the data processing method provided in the present disclosure can also be implemented in the form of a program product, which includes program code.
  • program product runs on an electronic device
  • the program code It is used to make the electronic device execute the steps in the data processing method according to various exemplary embodiments of the present disclosure described above in this specification.
  • the program product can use any combination of one or more readable media.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above.
  • readable storage media include: electrical connections with one or more wires, portable disks, hard disks, RAM, ROM, erasable programmable read-only memory (erasable and Programmable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM) or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or the above Any suitable combination.
  • the program product for data processing of the embodiments of the present disclosure may adopt a CD-ROM and include program codes, and may run on a computing device.
  • the program product of the present disclosure is not limited thereto.
  • the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device.
  • the readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
  • the program code contained on the readable medium can be transmitted by any suitable medium, including, but not limited to, wireless, wired, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • suitable medium including, but not limited to, wireless, wired, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • the program code used to perform the operations of the present disclosure can be written in any combination of one or more programming languages.
  • the programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural styles. Programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on.
  • the remote computing device can be connected to the user's computing device through any kind of network-LAN or WAN, or it can be connected to an external computing device (for example, using an Internet service provider to connect via the Internet) .
  • the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

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)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Manipulator (AREA)

Abstract

本公开公开一种数据处理系统和数据处理方法,属于人工智能技术领域,该数据处理系统中,业务层确定满足业务模块的触发条件时,确定业务模块的数据处理需求对应的目标功能组件,向组件层发送调用请求,组件层根据调用请求向数据调度层发送第一数据获取请求,控制目标功能组件对返回的视觉数据执行处理,将执行结果返回给业务层,业务层根据执行结果生成控制指令,控制智能机器人执行控制指令,这样,将业务需求和视觉数据处理需求分离,业务层调用组件层中的功能组件即可满足对应的视觉数据处理需求,开发人员在开发业务模块时可专注于开发业务需求,而不必过多关注业务模块的视觉数据处理需求,故可简化业务模块的开发,提升开发效率。

Description

一种数据处理系统和数据处理方法
相关申请的交叉引用
本公开要求在2019年08月30日提交中国专利局、申请号为201910818879.3、申请名称为“一种数据处理系统和数据处理方法”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及人工智能技术领域,尤其涉及一种数据处理系统和数据处理方法。
背景技术
随着人工智能技术的快速发展,出现了越来越多的智能机器人,由于智能机器人可代替人类做许多服务型工作、具有很好的应用前景,而人工成本又逐年增长,所以对智能机器人的研究也越来越多。
实际应用中,智能机器人在执行业务流程时经常需要使用到视觉数据,且在不同业务场景中对视觉数据的处理需求也不同。目前,是在业务场景的开发过程中实现该业务场景对应的视觉数据处理需求,也就是说,开发人员不仅要关注业务场景中的业务需求、还要关注业务场景中对应的视觉数据处理需求,业务场景开发比较繁琐复杂。
发明内容
本公开实施例提供一种数据处理系统和数据处理方法,用以解决现有技术中存在的业务场景的开发比较繁琐复杂的问题。
第一方面,本公开实施例提供一种数据处理系统,所述系统包括业务层、组件层和数据调度层,其中:
所述业务层,用于在智能机器人的任一业务模块被触发时,确定所述业 务模块的数据处理需求对应的目标功能组件,并向所述组件层发送调用请求,所述调用请求中包括所述目标功能组件的标识信息;根据所述组件层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述组件层,用于根据所述调用请求中的标识信息,确定所述目标功能组件;向所述数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
所述数据调度层,用于根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层。
在一种可能的实施方式下,所述业务层具体用于:
若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
在一种可能的实施方式下,所述组件层具体用于:
根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
在一种可能的实施方式下,所述组件层具体用于:
若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
在一种可能的实施方式下,所述组件层还用于:
在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
在一种可能的实施方式下,所述数据调度层还用于:
若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
在一种可能的实施方式下,所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第二数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层。
在一种可能的实施方式下,所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
所述数据调度层,还用于根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层。
在一种可能的实施方式下,所述数据调度层还用于:
若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
在一种可能的实施方式下,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
在一种可能的实施方式下,所述数据调度层还用于:
若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
第二方面,本公开实施例提供的一种数据方法,包括:
通过业务层在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,所述调用请求中携带所述目标功能组件的标识信息;
通过所述组件层根据所述调用请求中的标识信息,确定所述目标功能组件;以及向数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;
通过数据调度层根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层;
通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
通过所述业务层根据所述执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,向组件层发送调用请求,包括:
通过所述业务层若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
在一种可能的实施方式下,通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,包括:
通过所述组件层根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;
通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处 理,得到所述执行结果。
在一种可能的实施方式下,通过所述组件层调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果,包括:
通过所述组件层若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
通过所述组件层在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视觉数据执行处理。
在一种可能的实施方式下,还包括:
通过所述组件层在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若接收到所述组件层发送的用于停止获取所述目标功能组件所需视觉数据的请求,则停止向所述组件层返回所述目标功能组件所需的视觉数据。
在一种可能的实施方式下,所述方法还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第二数据获取请求,以获取所述业务模块所需的视觉数据;
通过所述数据调度层根据所述第二数据获取,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,将所述视觉数据返回至所述业务层;
通过所述业务层对所述数据调度层返回的视觉数据执行处理,根据执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,所述方法还包括:
通过所述业务层若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据 处理需求的数据;
通过所述数据调度层根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层;
通过所述业务层根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若接收到所述业务层发送的用于停止获取所述业务模块所需数据的请求,则停止与所述业务模块之间的数据传输。
在一种可能的实施方式下,所述数据调度层中缓存的数据包括以下至少一种:
所述视觉模块采集到的图像中各对象的人脸信息;所述各对象的人体信息;所述各对象与所述智能机器人之间的距离信息;所述各对象与所述智能机器人之间的方位信息。
在一种可能的实施方式下,所述方法还包括:
通过所述数据调度层若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
第三方面,本公开实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据处理方法。
第四方面,本公开实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述数据处理方法。
本公开实施例中,数据处理系统中设置有数据调度层、业务层和组件层,业务层在确定满足智能机器人任一业务模块的触发条件时,确定业务模块的 数据处理需求对应的目标功能组件,向组件层发送对目标功能组件的调用请求,组件层接收到调用请求后,向数据调度层发送用于获取目标功能组件所需视觉数据的第一数据获取请求,并控制目标功能组件对数据调度层返回的视觉数据执行处理,将执行结果返回给业务层,业务层根据组件层返回的执行结果生成控制指令,并控制智能机器人执行控制指令,这样,将业务模块的业务需求和视觉数据处理需求进行分离,业务层只需调用组件层中的功能组件即可满足对应的视觉数据处理需求,开发人员在开发业务模块时可专注开发业务模块的业务需求,而不必过多关注业务模块的视觉数据处理需求,因此,可简化业务模块的开发过程,提升业务模块的开发效率。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图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。
实际应用中,智能机器人在开启后,视觉模块可每30毫秒(millisecond,简称:ms)对智能机器人周围的人或物进行一次图像采集,每3秒(second,简称:s)对图像进行一次识别处理以得到视觉数据,这样,以较高频率进行图像采集,以较低频率进行图像识别即可满足业务需求,又可节视觉模块的处理资源。
示例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:通过数据调度层若接收到业务层发送的用于停止获取满足业务模块所需数据的请求,则停止对业务模块所需的视觉数据执行处理,并向业务层返回业务模块所需的视觉数据。
另外,现有技术中,业务模块可识别的数据格式由视觉模块的硬件参数决定,而不同视觉模块的硬件参数一般是不同的,也就是说,如果视觉模块更换,就需要对业务模块的相关功能进行修改,业务模块和视觉模块之间的耦合度比较高,为了降低视觉模块更换对业务模块的影响,可根据业务模块能够识别的数据格式和视觉模块识别得到的视觉数据的数据格式预先确定格式转换规则。
上述流程中,通过数据调度层若确定从视觉模块获取到的数据的格式与业务模块能够识别的数据的格式不一致,可将从视觉模块获取到的数据的格式转换为业务模块能够识别的格式,这样,更换视觉模块后仅需更新数据调度层中的格式转换规则,业务模块最终获取到的视觉数据的格式即可保持一致,视觉模块与业务模块之间的耦合度较低,也便于业务模块的功能移植。
本公开提供的数据处理系统、数据处理方法可以应用到多种计算装置中,图1给出了一种计算装置的结构示意图,这里,图1所示的计算装置10仅仅是一个示例,并不对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算装置60以通用计算设备的形式表现,计算装置60的组件可以包括但不限于:至少一个处理单元606、至少一个存储单元602、连 接不同系统组件(包括存储单元602和处理单元606)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(Random Access Memory,RAM)6026和/或高速缓存存储器6022,还可以进一步包括只读存储器(Read-Only Memory,ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置60也可以与一个或多个外部设备604(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置60交互的设备通信,和/或与使得该计算装置60能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(input/output,I/O)接口605进行。并且,计算装置60还可以通过网络适配器606与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器606通过总线603与用于计算装置60的其它模块通信。应当理解,尽管图6中未示出,可以结合计算装置60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员应当理解,图6仅仅是计算装置的举例,并不构成对计算装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本公开实施例还提供了一种计算机可读存储介质,存储为执行上述处理 器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本公开提供的数据处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本公开各种示例性实施方式的数据处理方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)或闪存)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开的实施方式的用于数据处理的程序产品可以采用CD-ROM并包括程序代码,并可以在计算设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、无线射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括朝向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——LAN或WAN—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (10)

  1. 一种数据处理系统,其特征在于,所述系统包括业务层、组件层和数据调度层,其中:
    所述业务层,用于在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向所述组件层发送调用请求,所述调用请求中包括所述目标功能组件的标识信息;根据所述组件层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
    所述组件层,用于根据所述调用请求中的标识信息,确定所述目标功能组件;向所述数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
    所述数据调度层,用于根据所述第一数据获取请求中所述目标功能组件的标识信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层。
  2. 如权利要求1所述的系统,其特征在于,所述业务层具体用于:
    若确定所述业务模块有至少两种数据处理需求,则按照所述业务模块中各种数据处理需求的逻辑顺序,依次向所述组件层发送对每种数据处理需求对应的目标功能组件的调用请求。
  3. 如权利要求2所述的系统,其特征在于,所述组件层具体用于:
    根据所述调用请求中所述目标功能组件进行数据处理所需的参数信息,创建所述目标功能组件的实例;调用所述实例对所述数据调度层返回的视觉数据执行处理,得到所述执行结果。
  4. 如权利要求3所述的系统,其特征在于,所述组件层具体用于:
    若满足所述调用请求中的所述目标功能组件开始处理数据的条件,调用所述实例对所述数据调度层返回的视觉数据执行处理;或者
    在所述实例创建成功后,直接调用所述实例对所述数据调度层返回的视 觉数据执行处理。
  5. 如权利要求3或4所述的系统,其特征在于,所述组件层还用于:
    在调用所述实例对所述数据调度层返回的视觉数据执行处理之后,若满足所述调用请求中所述目标功能组件结束处理数据的条件或所述实例的生命周期结束,释放所述实例。
  6. 如权利要求1所述的系统,其特征在于,
    所述业务层,还用于若不存在与所述数据处理需求对应的目标功能组件,则向所述数据调度层发送第三数据获取请求,以获取满足所述业务模块的数据处理需求的数据;根据所述数据调度层返回的执行结果生成控制指令,并控制所述智能机器人执行所述控制指令;
    所述数据调度层,还用于根据所述第三数据获取请求,从所述视觉模块采集的视觉数据中,确定所述业务模块所需的视觉数据,根据所述第三数据获取请求中的数据处理需求信息,对所述业务模块所需的视觉数据执行处理,将处理结果返回至所述业务层。
  7. 如权利要求1-4、6任一所述的系统,其特征在于,所述数据调度层还用于:
    若从视觉模块获取到的数据的格式与所述业务模块能够识别的数据的格式不一致,则将从所述视觉模块获取到的数据的格式转换为所述业务模块能够识别的格式。
  8. 一种数据处理方法,其特征在于,包括:
    通过业务层在智能机器人的任一业务模块被触发时,确定所述业务模块的数据处理需求对应的目标功能组件,并向组件层发送调用请求,所述调用请求中携带所述目标功能组件的标识信息;
    通过所述组件层根据所述调用请求中的标识信息,确定所述目标功能组件;以及向数据调度层发送用于获取所述目标功能组件所需视觉数据的第一数据获取请求;
    通过数据调度层根据所述第一数据获取请求中所述目标功能组件的标识 信息,从视觉模块采集的视觉数据中,确定所述目标功能组件所需的视觉数据,并返回至所述组件层;
    通过所述组件层控制所述目标功能组件对所述数据调度层返回的视觉数据执行处理,将所述目标功能组件的执行结果返回至所述业务层;
    通过所述业务层根据所述执行结果生成控制指令,并控制所述智能机器人执行所述控制指令。
  9. 一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求8所述的方法。
  10. 一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求8所述的方法。
PCT/CN2020/110073 2019-08-30 2020-08-19 一种数据处理系统和数据处理方法 WO2021036887A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910818879.3A CN110532033B (zh) 2019-08-30 2019-08-30 一种数据处理系统和数据处理方法
CN201910818879.3 2019-08-30

Publications (1)

Publication Number Publication Date
WO2021036887A1 true WO2021036887A1 (zh) 2021-03-04

Family

ID=68665785

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110073 WO2021036887A1 (zh) 2019-08-30 2020-08-19 一种数据处理系统和数据处理方法

Country Status (2)

Country Link
CN (1) CN110532033B (zh)
WO (1) WO2021036887A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532033B (zh) * 2019-08-30 2021-04-16 北京猎户星空科技有限公司 一种数据处理系统和数据处理方法
CN113448653B (zh) * 2020-03-27 2024-01-26 北京猎户星空科技有限公司 一种业务处理方法、系统、电子设备和计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294061A (zh) * 2013-06-26 2013-09-11 林威 一种基于移动互联网的家庭安防机器人
CN106569794A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 应用程序开发装置
US20170372442A1 (en) * 2016-06-23 2017-12-28 Radicalogic Technologies, Inc. Healthcare workflow system
CN108875567A (zh) * 2018-05-04 2018-11-23 北京旷视科技有限公司 人脸识别终端及系统
CN110532033A (zh) * 2019-08-30 2019-12-03 北京猎户星空科技有限公司 一种数据处理系统和数据处理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281456B (zh) * 2014-10-13 2018-11-09 中国石油大学(北京) 一种基于云计算的油气田开发工程应用软件系统
CN104461495B (zh) * 2014-10-31 2017-10-17 北京思特奇信息技术股份有限公司 一种实现数据持久层分离的方法及系统
KR102501240B1 (ko) * 2016-03-18 2023-02-17 삼성전자주식회사 태스크 스케줄링 방법 및 이를 구현한 전자 장치
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
CN106657367B (zh) * 2016-12-30 2019-09-17 北京三快在线科技有限公司 一种业务数据获取方法、装置及系统
CN109544693A (zh) * 2017-09-22 2019-03-29 江苏智谋科技有限公司 实时三维图形系统和虚拟现实交互技术

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294061A (zh) * 2013-06-26 2013-09-11 林威 一种基于移动互联网的家庭安防机器人
US20170372442A1 (en) * 2016-06-23 2017-12-28 Radicalogic Technologies, Inc. Healthcare workflow system
CN106569794A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 应用程序开发装置
CN108875567A (zh) * 2018-05-04 2018-11-23 北京旷视科技有限公司 人脸识别终端及系统
CN110532033A (zh) * 2019-08-30 2019-12-03 北京猎户星空科技有限公司 一种数据处理系统和数据处理方法

Also Published As

Publication number Publication date
CN110532033A (zh) 2019-12-03
CN110532033B (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN106558310B (zh) 虚拟现实语音控制方法及装置
US20190114202A1 (en) Task scheduling method and apparatus of artificial intelligence heterogeneous hardware, device and readable medium
JP7386878B2 (ja) アシスタントの応答を動的に適応させること
JP7313378B2 (ja) ルーチンの実行中のクライアントデバイス同士の間の自動アシスタントルーチンの転送
WO2021036887A1 (zh) 一种数据处理系统和数据处理方法
CN111869185B (zh) 生成基于IoT的通知并提供命令以致使客户端设备的自动助手客户端自动呈现基于IoT的通知
TWI741406B (zh) 一種智慧設備控制方法、裝置、電腦可讀介質及計算裝置
KR20190101630A (ko) 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
CN110253595B (zh) 一种智能设备控制方法和装置
CN114327041B (zh) 智能座舱的多模态交互方法、系统及具有其的智能座舱
WO2021057925A1 (zh) 智能设备的控制方法、装置以及智能设备、存储介质
CN112158199B (zh) 巡航控制方法、装置、设备、车辆及介质
CN106847285A (zh) 一种机器人及其语音识别方法
US10911910B2 (en) Electronic device and method of executing function of electronic device
US20210081029A1 (en) Gesture control systems
US20230281515A1 (en) Distributed learning model for fog computing
KR20180109465A (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR102369309B1 (ko) 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
EP3939033B1 (en) Automated assistant control of external applications lacking automated assistant application programming interface functionality
CN115113751A (zh) 调整触摸手势的识别参数的数值范围的方法和装置
CN111312243B (zh) 设备交互方法和装置
WO2022188551A1 (zh) 信息处理方法与装置、主控设备和受控设备
CN113498029B (zh) 交互式广播
US20210295206A1 (en) Power awareness systems and processes
CN113033475A (zh) 目标对象追踪方法、相关装置及计算机程序产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20857773

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 010722)

122 Ep: pct application non-entry in european phase

Ref document number: 20857773

Country of ref document: EP

Kind code of ref document: A1