A data processing method, device and computer readable storage medium
By allocating work nodes between multiple servers and processing the data processing flow in the data flow computing platform in steps, the problems of low efficiency, insufficient resource utilization and poor scalability in the existing technology are solved, and the data flow computing platform is realized. Efficient processing of real-time data flows and flexible business process customization.
Patent Information
- Application Number
- CN202110656764.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-11
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-06-11
AI Technical Summary
When processing real-time data flow computing platforms, the existing data flow computing platform is low in efficiency, insufficient resource utilization, and poor scalability, making it difficult to meet the needs of efficient processing.
By allocating work nodes between multiple servers, the process of data processing flow is realized step by step. The specific steps include: obtaining the data processing request, calling the work node of the first server to process the data, obtaining the intermediate processing results, and sending it to the second server for the next process until all business processes are completed.
It realizes efficient processing of real-time data flow, improves data processing efficiency and resource utilization, enhances the scalability of the system, and enables flexibly customizes business processes to meet the needs of different scenarios.
Smart Images

Figure CN115550354B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, device and computer-readable storage medium. Background Art
[0002] The data flow processing process in the distributed parallel computing system of artificial intelligence (AI) business is usually a typical computationally intensive process, which has always been difficult to understand and implement, and has high requirements for developers. At present, it is generally controlled by complex external control, management and monitoring frameworks, such as Spark and Storm in the field of big data processing, to control the entire data flow computing process. Specifically, it can be to build a complex data flow computing and processing management platform, and implement a computing process for each business, and host the implemented tasks into the system. The system records and monitors each process of data processing, and optimizes according to the data processing results.
[0003] However, both Spark and Storm have high requirements for programmers. Since each business is a new data processing process, customized development is required for each new business. The existing data flow computing platform needs to spend a lot of resources and time on adjusting and optimizing system parameters. The data processing capacity is limited, the efficiency is low, and there are many component dependencies and environment dependencies, and the scalability is poor. It can be seen that how to enhance the scalability of the data flow computing platform and meet the efficient processing of real-time data streams has become an urgent problem to be solved. Summary of the invention
[0004] The embodiments of the present application provide a data processing method, device and computer-readable storage medium, which can realize efficient processing of real-time data streams, and the business process can be highly customized and highly scalable.
[0005] In a first aspect, an embodiment of the present application provides a data processing method, the method comprising:
[0006] A data processing request of a target service is obtained, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0007] Call the first working node of the first server to perform a processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is a working node on the first server used to process the first business process.
[0008] According to the next business process of the first business process among the multiple business processes included in the target business, the intermediate processing result is sent to a second server among the multiple servers, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
[0009] In a second aspect, an embodiment of the present application provides a data processing device, the device comprising:
[0010] The acquisition module is used to acquire a data processing request of a target service, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0011] A processing module is used to call the first working node of the first server to perform a processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is a working node on the first server used to process the first business process.
[0012] A sending module is used to send the intermediate processing result to a second server among multiple servers according to the next business process of the first business process among multiple business processes included in the target business, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server used to process the next business process.
[0013] In a third aspect, an embodiment of the present application provides a server, comprising a processor, a network interface and a storage device, wherein the processor, the network interface and the storage device are interconnected, wherein the network interface is controlled by the processor for sending and receiving data, the storage device is used to store a computer program, the computer program comprises program instructions, and the processor is configured to call the program instructions to execute the data processing method described in the first aspect.
[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer storage medium stores a computer program, wherein the computer program includes program instructions, and the program instructions are executed by a processor to execute the data processing method described in the first aspect.
[0015] In a fifth aspect, the present application discloses a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data processing method described in the first aspect above.
[0016] In an embodiment of the present application, one or more working nodes can be run on each server, and each working node is used to process a business process of the target business. The first server obtains a data processing request for the target business, and the data processing request carries data to be processed. The data to be processed includes streaming signal data generated in real time. The first working node of the first business process that processes the target business can be called to perform the processing operation corresponding to the first business process on the data to be processed to obtain an intermediate processing result, and according to the next business process of the first business process, the intermediate processing result is sent to the second server, so that the second server calls the second working node that processes the next business process, and performs the processing operation corresponding to the next business process on the intermediate processing result, so that the various business processes of the target business can be efficiently completed by calling the computing resources of each server to obtain the final processing result, and the specific business process of the business can be highly customized and highly scalable. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0019] Figure 1 It is a schematic diagram of the architecture of a business processing system provided in an embodiment of the present application;
[0020] Figure 2 It is a schematic diagram of an overall system design framework provided by an embodiment of the present application;
[0021] Figure 3 It is a flowchart of a data processing method provided in an embodiment of the present application;
[0022] Figure 4 It is a flowchart of another data processing method provided in an embodiment of the present application;
[0023] Figure 5a This is a schematic diagram of the overall process of a business process provided by an embodiment of the present application;
[0024] Figure 5b This is a schematic diagram of implementing a work node registration service provided by an embodiment of the present application;
[0025] Figure 5c It is a schematic diagram of a data processing process within a working node provided in an embodiment of the present application;
[0026] Figure 5d It is a schematic diagram of a single business processing flow provided by an embodiment of the present application;
[0027] Figure 6 is a structural schematic diagram of a data processing device provided in an embodiment of the present application;
[0028] Figure 7 It is a structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0030] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on cloud computing applications. It can form a resource pool that can be used on demand and is flexible and convenient. The background services of the network system require a large amount of computing and storage resources, such as video websites, image websites and more portal websites. With the rapid development and application of the Internet industry, each item may have its own identification mark in the future, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which all need to be realized through cloud computing.
[0031] Cloud computing refers to the delivery and use model of IT infrastructure, which means obtaining required resources through the network in an on-demand and easily scalable manner; in a broad sense, cloud computing refers to the delivery and use model of services, which means obtaining required services through the network in an on-demand and easily scalable manner. This service can be related to IT and software, the Internet, or other services such as blockchain. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing.
[0032] With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the demand for search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Different from the previous parallel distributed computing, the emergence of cloud computing will promote revolutionary changes in the entire Internet model and enterprise management model from a conceptual perspective.
[0033] Big data refers to a collection of data that cannot be captured, managed, and processed by conventional software tools within a certain time frame. It is a massive, high-growth, and diverse information asset that requires new processing models to have stronger decision-making power, insight discovery, and process optimization capabilities. With the advent of the cloud era, big data has also attracted more and more attention. Big data requires special technologies to effectively process large amounts of data within a tolerable time frame. Technologies applicable to big data include large-scale parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the Internet, and scalable storage systems.
[0034] The embodiments of the present application mainly relate to cloud computing and big data technologies in the field of cloud technology, which can be used for efficient processing of real-time signal streams (such as voice signals, video signals, etc.). The specific implementation methods of the present application are described in detail below.
[0035] See also Figure 1 , is a schematic diagram of the architecture of a business processing system provided in an embodiment of the present application. The business processing system 10 may be a distributed data processing system, and may specifically include one or more servers 101. Among them:
[0036] One or more servers 101 in the business processing system 10 can interact with the terminal device 20 for data. For example, the terminal device 20 can submit data to be processed to the business processing system 10. The data to be processed can be streaming signal data generated in real time and dynamically, such as voice stream data, video stream data, etc. The business processing system 10 can perform data processing on the data to be processed to implement related services, such as performing a voice recognition service on voice stream data, or performing an image recognition service (such as face recognition) on video stream data.
[0037] Among them, the specific process of data processing may be related to the business. For example, the speech recognition business may include three business processes: speech recognition (Automatic Speech Recognition, ASR), natural language processing (Natural Language Processing, NLP), and speech synthesis (Text-To-Speech, TTS).
[0038] Specifically, one or more work nodes (referred to as workers or jobs) may run on each server 101, and each worker is an abstract description of the actual business operation of a single function, and is used to process a process in the business. For example, the speech recognition business includes three business processes: ASR, NLP, and TTS. Each of the three business processes, ASR, NLP, and TTS, can be abstracted into a type of worker, such as ASR worker, NLP worker, and TTS worker, where ASR worker refers to a worker responsible for processing the ASR business process, NLP worker refers to a worker responsible for processing the NLP business process, and TTS worker refers to a worker responsible for processing the TTS business process.
[0039] like Figure 2 As shown, it is a system overall design framework provided by the embodiment of the present application. It mainly includes: engine service management component 30 (which can be recorded as Muduo+Server), business process processing pipeline (pipeline) configured for each business, Figure 2The services 1, 2, and 3 in the example can be regarded as different businesses respectively, and the business process of each business can be a free combination of different workers, that is, different services correspond to different worker groups, and the business corresponding to service 1 is processed by each worker included in worker group 40, the business corresponding to service 2 is processed by each worker included in worker group 50, and the business corresponding to service 3 is processed by each worker included in worker group 60. It can be seen that the combined workers jointly implement the corresponding business, wherein the order, type, number, etc. of the workers can be flexibly customized. For example, the processing of the business corresponding to service 2 is completed by worker group 50 including three workers, namely worker 1, worker 2, and worker 4, and the execution order is first worker 1, then worker 2, and finally worker 4. Worker 1, worker 2, and worker 4 can be workers of the same type, that is, they implement the same business process; of course, they can also be workers of different types, that is, they each implement different business processes. The running location of each worker can be flexibly allocated. For example, each worker used to implement a certain business can be configured on the same server 101, or configured on different servers 101, which is not limited in the embodiment of the present invention.
[0040] Taking the configuration on different servers 101 as an example, assuming that the service 2 corresponds to the speech recognition service, and the processing flow includes worker 1, worker 2, and worker 4, which are ASR worker, NLP worker, and TTS worker, respectively, then you can choose to configure worker 1, worker 2, and worker 4 on different servers 101, that is, one server 101 is responsible for processing one of the business processes of the speech recognition service. According to the processing order of the business process of the speech recognition service, after the server where worker 1 is located completes ASR processing of the data, it sends the first processing result to the server where worker 2 is located. The server where worker 2 is located performs NLP processing on the received first processing result. After the processing is completed, the second processing result is sent to the server where worker 4 is located. The server where worker 4 is located performs TTS processing on the received second processing result. After the processing is completed, the final result of the speech recognition service is obtained.
[0041] Of course, Service 1, Service 2, and Service 3 can also correspond to the same business, that is, the same business has multiple working modes, and Service 1, Service 2, and Service 3 each represent a working mode. The processing flow of the business is different under different working modes, and the different working modes can be switched freely according to user needs.
[0042] Among them, the server 101 can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal device 20 can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, a car-mounted smart terminal, etc., but is not limited to this. The terminal device 20 and the server 101 can be directly or indirectly connected via wired or wireless communication, and this application does not limit this.
[0043] It can be seen that through the business processing system and the overall system design framework provided in the embodiments of the present application, the actual business operation of a single function can be abstractly described as a working node worker. One or more workers configured on the same server can be of the same type or of different types. In accordance with the business logic, the number of workers required for a business and the execution order between workers can be freely designed. In this way, the working nodes (workers) for each business process of processing the business can be flexibly configured on the server, and the workers can be freely combined, so that the specific business process of the business can be highly customized, and the system can be easily adapted to adapt to new business scenarios, with strong scalability.
[0044] See also Figure 3 , is the embodiment of this application based on Figure 1 The business processing system shown is a flow chart of a data processing method provided by the business processing system. The business processing system includes multiple servers, and the data processing method can be applied to the first server among the multiple servers. The method specifically includes the following steps:
[0045] 301. Obtain a data processing request of a target service, where the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0046] Specifically, the first server may receive a data processing request for a target service sent by a terminal device, or receive a data processing request for a target service sent by another server. The first server is any one of the multiple servers included in the service processing system.
[0047] 302. Call a first working node of a first server to execute a processing operation corresponding to a first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is a working node on the first server for processing the first business process.
[0048] Among them, one or more working nodes (ie, the above-mentioned workers) are running on the first server, and each working node is used to process a business process of the target business.
[0049] Specifically, after the first server obtains the data processing request of the target business, it can obtain the data to be processed carried in the data processing request. The data to be processed can specifically be the data to be processed by the first business process of the target business. The first business process is the business process that currently needs to be executed among the multiple business processes included in the target business. If the first business process is the first business process of the target business, the data to be processed can be the data to be processed uploaded by the terminal device in real time, such as streaming signal data generated dynamically in real time, including voice stream data or video stream data uploaded by the terminal device in real time, etc.; if the first business process is not the first business process of the target business, the data to be processed can be the intermediate processing result obtained by data processing of the previous business process of the first business process. The first server determines the working node (referred to as the first working node) for processing the first business process of the target business from one or more working nodes running on itself, and then calls the first working node to perform the processing operation corresponding to the first business process on the data to be processed, so as to obtain the intermediate processing result corresponding to the first business process.
[0050] In some feasible implementations, the target service may include a speech recognition service, and the service process of the speech recognition service may include one or more of speech recognition ASR, natural language processing NLP, and speech synthesis TTS.
[0051] In some feasible implementations, there is a running thread pool on the first working node, and the thread pool includes multiple working threads. The first server can specifically call the multiple working threads on the first working node to execute the processing operations corresponding to the first business process of the target business in parallel on the data to be processed, so as to obtain an intermediate processing result. The intermediate processing result refers to the result obtained after the data is processed by the current business process, and is handed over to the next business process as input data for further processing. If the current business process is the last business process, then the intermediate processing result is the final processing result of the business. For example, the target business is speech recognition business, which specifically includes three business processes: speech recognition ASR, natural language processing NLP, and speech synthesis TTS, and the execution order is ASR—>NLP—>TTS. The first business process is ASR, and the thread pool running on the first working node includes three working threads 1, 2, and 3. The working threads 1, 2, and 3 of the first working node can respectively perform speech recognition processing on different parts of the data to be processed. Assuming that the data to be processed is speech data with a length of 300ms, the 300ms speech data can be divided into three parts, each part is 100ms of speech data, and the working threads 1, 2, and 3 can respectively perform speech recognition processing on the 100ms speech data concurrently to obtain their own recognition results, and combine their own recognition results as the processing result corresponding to the speech recognition process (that is, the intermediate processing result), and transmit the intermediate processing result as input data to the working node corresponding to the next business process (that is, natural language processing NLP) for data processing. By introducing a thread pool inside the worker, computing and communication can be performed in parallel in concurrent scenarios, which can fully utilize computing resources, improve the effective utilization of resources, and ensure the system's high efficiency in business processing.
[0052] 303. According to the next business process of the first business process among the multiple business processes included in the target business, the intermediate processing result is sent to a second server among the multiple servers, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
[0053] Specifically, the first server can obtain the next business process of the first business process, and send the intermediate processing result to the second server among the multiple servers according to the next business process, so that the second server calls the second working node for processing the next business process to process the intermediate processing result. Each server uses the same method to process data and transmit the processing results, so that all business processes of the target business can be completed efficiently and the final processing result can be obtained. After receiving the intermediate processing result corresponding to the first business process sent by the first server, the second server can determine the working node type according to the next business process of the first business process, and then determine the second working node that matches the working node type from one or more working nodes running on itself, and then call the second working node to perform corresponding processing operations on the intermediate processing result. For example, the first business process is ASR, and the next business process of the first business process is NLP. After receiving the intermediate processing result corresponding to ASR, the second server finds the second working node for processing the NLP business process running on itself, and uses the second working node to perform NLP processing on the intermediate processing result.
[0054] In some feasible implementations, after obtaining the intermediate processing result, the first server can first determine whether the first business process is the last business process of the target business. If it is not the last business process, the intermediate processing result will be sent to the second server; if it is the last business process, the intermediate processing result will no longer be sent to the second server, and the intermediate processing result can be used as the final processing result.
[0055] In an embodiment of the present application, one or more working nodes may run on each server, and each working node is used to process a business process of the target business. After obtaining the data processing request of the target business, the first server may obtain the data to be processed carried in the data processing request, call the first working node of the first business process that processes the target business to process the data to be processed, and obtain an intermediate processing result. According to the next business process of the first business process, the intermediate processing result is sent to the second server, so that the second server calls the second working node that processes the next business process to process the intermediate processing result, thereby efficiently completing each business process of the target business by calling the computing resources of each server to obtain the processing result, and the specific business process of the business can be highly customized and highly scalable.
[0056] See also Figure 4 , is the embodiment of this application based on Figure 1 The flowchart of another data processing method provided by the business processing system shown is shown. The data processing method can be applied to the server, and the method specifically includes the following steps:
[0057] 401. Obtain service configuration data of a first server.
[0058] Among them, an engine service management component (or called the engine framework main program) is also running on each server.
[0059] Specifically, for each business process of the target business, the user can freely customize the design and flexibly allocate the work nodes for processing each business process, for example, they can be concentrated on one server or distributed on multiple servers. The first server can obtain service configuration data for the first server, and the service configuration data can be used to configure the number of work nodes started on the first server and the business processes processed by each work node.
[0060] 402. Call the engine service management component to start one or more working nodes according to the service configuration data, and configure the business process processed by each working node, where the business process processed by each working node is one of the multiple business processes included in the target business.
[0061] Specifically, the first server can start the engine service management component and call the engine service management component to parse the service configuration data to determine key data such as the number of working nodes started and the business processes processed by each working node. Based on the key data, one or more working nodes of the corresponding number are started, and the business processes processed by each working node are configured.
[0062] Among them, a template file for configuring the functions of the working node (i.e., the corresponding business process to be processed) can be provided to the user. The user adds the program code developed with the data processing function of the corresponding business process to the template file, and carries the template file with the added program code in the service configuration data. The first server starts and configures the working node with the corresponding business process processing capability by calling the engine service management component according to the program code added in the template file. Each working node realizes the corresponding business processing capability by running the program code corresponding to the corresponding business process carried in the template file. For the speech recognition business, the user can develop three types of program codes with speech recognition ASR, natural language processing NLP, and speech synthesis TTS processing capabilities respectively, add different types of program codes to the template file, and distribute them to the corresponding servers as configuration data. Each server starts and configures the working node with the corresponding business process processing capability by calling the engine service management component according to the program code added in the template file. Taking the example of configuring various types of workers for implementing speech recognition services on different servers, server 1 can start an ASR type work node according to a program code with speech recognition ASR processing capability, server 2 can start an NLP type work node according to a program code with natural language processing NLP processing capability, and server 3 can start a TTS type work node according to a program code with speech synthesis TTS processing capability, so as to realize the distributed configuration of different types of work nodes.
[0063] In some feasible implementations, after the working node of the first server is configured, if the user wants to make modifications, the first server can obtain service update data, and can call the engine service management component to parse the service update data, and adjust the working node of the first server according to the parsing results. The adjustment operation includes one or more of adding a working node, deleting a working node, and adjusting the business process processed by the working node. It can be seen that the user is allowed to flexibly adjust the number and functions of the working nodes to improve versatility.
[0064] In some feasible implementations, if the target business has too many concurrent data processing requests in a short period of time, the number of working nodes on the server can be automatically expanded horizontally. Specifically, it can include: the number of data processing requests obtained within a preset time reaches a quantity threshold, for example, the number of data processing requests obtained within 1 second reaches a quantity threshold, the quantity threshold can be 10, of course, it can also be other values, then the engine service management component can be called to start at least one new working node (recorded as the third working node) according to the service configuration data obtained previously, and configure the business process processed by each third working node. For example, if an ASR type working node is running on the server, the service configuration data related to the ASR type obtained in the configuration phase can be automatically obtained, and at least one ASR type working node can be started according to the service configuration data, so that the working nodes can be dynamically expanded through automatic expansion of the working nodes to meet the real-time business data processing needs.
[0065] In some feasible implementations, if there are idle working nodes or the number of idle working nodes is large, the number of working nodes on the server can be automatically compressed, for example, such working nodes can be closed. Specifically, it can include: if the idle time of a certain working node is long, for example, the idle time reaches the duration threshold, the duration threshold can be 1 minute, and it can also be other values at present, then the working node can be closed; or, if the number of idle working nodes in the same type of working nodes reaches a preset ratio, for example, the preset ratio can be 50%, of course, it can also be other values, there are a total of 5 ASR-type working nodes on the server, and there are 3 ASR-type working nodes in an idle state, then the number of idle working nodes in the ASR-type working nodes accounts for 60%, reaching the preset ratio of 50%, then the 3 idle working nodes can be completely or partially closed, so that the unnecessary occupation of the server's software and hardware resources can be saved by automatically compressing the working nodes, so as to ensure the resource allocation of the working nodes in the working state, and also help to reduce power consumption.
[0066] In some feasible implementations, the service configuration data may also carry configuration data for the thread pool of each working node. Specifically, the characteristic data of the thread pool of each working node can be determined based on the service configuration data. The characteristic data include the number of working threads and the amount of resources occupied. By calling the engine service management component, the corresponding thread pool is started on each working node based on the characteristic data of the thread pool of each working node. The thread pool may include one or more working threads. The working threads included in the thread pool are used to process the corresponding business processes, which is convenient for optimizing the performance of the system and can fully utilize the computing power of the server's CPU and other hardware resources according to the operating environment.
[0067] In some possible implementations, such as Figure 5a As shown, the business process of a certain business is processed by worker node 1 (i.e., worker 1) 501 and worker node 2 (i.e., worker 2) 502. After worker 1 and worker 2 are started, they can first register the service. The data can be in the form of a request queue to enqueue data waiting for processing. The thread pools inside worker 1 and worker 2 respectively include a main thread 503 (i.e., main thread) and multiple worker threads 504 (i.e., Thread 1, Thread 2, ..., Thread n). Specifically, each worker adds the data in the data queue 505 to its own task queue 506, and uses the worker thread 504 to process the data in the task queue 506 in parallel.
[0068] 403. Call the engine service management component to send the first node registration information of the first server to other servers in the multiple servers.
[0069] 404. Receive second node registration information sent by the other server.
[0070] Specifically, a service registration center (such as zookeeper) is also running on each server. After each working node is started, it needs to register with the service registration center. For the first server, the registration data of each working node on the first server can be obtained by calling the service registration center. The registration data includes the business process processed by each working node and the node identifier. The node registration information of the first server (recorded as the first node registration information) is generated according to the registration data of each working node. The node registration information is used to indicate the number of working nodes started on the first server and the corresponding business process processed by each working node. The first server can call the engine service management component to send its own first node registration information to other servers.
[0071] In some feasible implementations, the implementation of the registration service of the working node can be found in Figure 5b. With the help of zookeeper, the working nodes are registered and dynamically discovered. Zookeeper exists as the service registration center 70. Each service provider 90 (i.e., the working node worker) registers the service to zookeeper and regularly reports heartbeat information to the service registration center to prove its survival. For example, the path registered by the asr worker of the speech recognition service is / iworker / asr, and the path registered by tts is / iworker / tts. The service consumer 80, also known as the engine service management component, obtains the service registration information at startup and subscribes to the data and working node changes under a certain zk path. Once the service provider (i.e., the worker) changes, zookeeper will inform the service consumer (engine service management component), and the service consumer will update the locally cached downstream service address information to obtain the network address (such as IP address) of the server where the changed worker is located.
[0072] The first node registration information includes the business process processed by each working node, the node identifier, and the network address of the first server.
[0073] Correspondingly, the first server will also receive node registration information (recorded as second node registration information) sent by other servers calling the engine service management component. The second node registration information includes the business process processed by each working node on the other servers, the node identifier and the network address of the other server. Through service registration and sharing of registration information, the engine service management component can accurately and comprehensively understand the distribution of each working node and its capabilities (that is, the corresponding processed business process).
[0074] 405. Obtain a data processing request for the target service, where the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0075] 406. Call the first working node of the first server to perform a processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is a working node on the first server for processing the first business process of the target business.
[0076] It should be noted that the specific implementation of steps 405 to 406 can refer to the relevant description of steps 201 to 202 in the above embodiment, which will not be repeated here.
[0077] In some feasible implementations, the specific internal implementation of calling the first working node to process the data to be processed can be found in Figure 5cAs shown, the engine service management component can call the thread pool manager 507 of each worker in sequence, and the thread pool manager 507 adds requests to the request queue 508 (Request Queue). The worker thread 504 (work thread) in the thread pool reads the request queue 508 for processing in a first-in-first-out order. After processing, the result is placed in the result queue 509 (Result Queue), and the thread pool manager 507 can obtain the data processing result of the first business process from the result queue 509 (Result Queue).
[0078] In some feasible implementations, each business (such as a target business) may include one or more working modes, and each working mode includes a corresponding plurality of business processes and an execution order between the plurality of business processes.
[0079] In some feasible implementations, during the process of the server performing business processing, the user can freely switch the working mode so that the server performs data processing according to the business processing flow corresponding to the switched working mode. Specifically, it can include: the first server obtains the mode switching instruction of the target business, and the mode switching instruction carries the target working mode that the user expects to switch to. For example, it can receive the mode switching instruction input by the user sent by the terminal device, switch the current working mode of the target business to the target working mode, and can obtain multiple business processes included in the target working mode and the execution order between multiple business processes. When receiving the data processing request of the target business, it performs data processing according to the business processes and execution order included in the target working mode, thereby realizing rapid switching of working modes and meeting the personalized needs of users for different data processing flows of the same business.
[0080] In some feasible implementations, the data transmitted in the embodiments of the present invention (including the above-mentioned data processing request, mode switching instruction, etc.) may be structured data obtained by data encapsulation, such as data encapsulated in JSON format, and two data types may be defined, one is business data and the other is control data; examples of structured data may be as follows:
[0081]
[0082]
[0083] Specifically, the first server can distinguish whether the acquired data is a data processing request or a mode switching instruction based on the type identifier (such as message_type) in the structured data. If the data type indicated by the type identifier is business data, it can be determined that the acquired data is a data processing request; if the data type indicated by the type identifier is control data, it can be determined that the acquired data is a mode switching instruction. The type identifier in the structured data can accurately and effectively indicate different data types, thereby facilitating the server to distinguish data.
[0084] 407 . Obtain a next business process of the first business process among multiple business processes included in the target business.
[0085] Specifically, the first server can obtain the current working mode of the target business, and obtain multiple business processes included in the current working mode and the execution order between the multiple business processes. According to the multiple business processes included in the current working mode and the execution order between the multiple business processes, the next business process of the first business process is obtained. For example, the business processes and the execution order included in the target business are: ASR—>NLP—>TTS. If the first business process is NLP, the next business process is TTS.
[0086] In some feasible implementations, users may be allowed to flexibly configure the working mode of each service. Specifically, for any service (such as a target service), the working mode configuration data of the target service may be obtained, and one or more working modes of the target service may be generated according to the working mode configuration data. Each working mode includes a corresponding plurality of service processes and the execution order between the plurality of service processes. For example, if the target service is a speech recognition service, two working modes may be set, one working mode being: ASR—>NLP—>TTS, and the other working mode being: ASR—>NLP.
[0087] 408. Obtain a server set consisting of servers where working nodes for processing the next business process are located from the multiple servers, and determine a second server from the servers included in the server set according to a preset scheduling strategy.
[0088] Specifically, the first server can determine a server set consisting of servers where the working nodes for processing the next business process are located based on the node registration information of each server, and can determine a second server from the servers included in the server set based on a preset scheduling strategy, and send the intermediate processing results to the second server.
[0089] In some feasible implementations, the preset scheduling strategy may be: the first server may determine the server identifier based on the signature of the data to be processed and the number of servers included in the server set. For example, the signature of the data to be processed is converted to an integer value int, and then the number of servers included in the server set is modulo to randomly obtain a numerical value, which is used as the server identifier. Each server included in the server set may be numbered, and a second server may be randomly determined based on the randomly obtained numerical value. This can effectively achieve load balancing in distributed scenarios and support multiple load balancing strategies.
[0090] Among them, the preset scheduling strategy may include stateless polling scheduling and stateful scheduling. Stateless polling scheduling refers to determining a second server based on a randomly obtained value, and supporting retry upon failure. When the value is less than the retry upper limit, data is sent to the corresponding server. If the sending is successful, there is no need to update the scheduling basis list, and the scheduling result is returned successfully; if the sending is unsuccessful, the scheduling basis list is updated, for example, the signature of the data to be processed is converted to an integer value int and incremented, such as +1.
[0091] Stateful scheduling means: when processing data for the first time, a second server is determined based on a randomly obtained value, and the scheduling basis list is updated to record the correspondence between the signature of the data to be processed and the selected second server; when processing data subsequently, if it is less than the retry upper limit, the scheduling basis list is queried and the data is sent to the corresponding server; if the retry upper limit is reached but the transmission still fails, the scheduling error information is returned to the user for processing.
[0092] 409. Send the intermediate processing result to the second server, so that the second server calls the second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
[0093] In some possible implementations, such as Figure 5d As shown, in each working node (worker 1, worker 2, ..., worker n) used to process the business process of a certain business, each worker performs corresponding business process processing on the data in its own thread pool, and passes the processing result to the next worker, thereby efficiently completing each business process of the business and obtaining the final processing result.
[0094] In an embodiment of the present application, work nodes (workers) for processing various business processes of the business can be flexibly configured on the server, and the workers can be freely combined, wherein free combination means that the work nodes on different servers can be freely selected and combined to jointly implement the specified business, and the combination order between the work nodes can be specified, that is, the order of the work nodes during execution. Multiple working modes can be formulated for the same business, and the working modes can be flexibly switched, so that the specific business processes of the business can be highly customized, and the system can be easily adapted to adapt to new business scenarios. It has strong scalability and can get rid of dependence on complex components and operating environments, fully meeting the needs of efficient processing of real-time data streams in various business scenarios.
[0095] See also Figure 6 , is a schematic diagram of the structure of a data processing device according to an embodiment of the present application. The device comprises:
[0096] The acquisition module 601 is used to acquire a data processing request of a target service, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0097] Processing module 602 is used to call the first working node of the first server to perform the processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is the working node on the first server used to process the first business process.
[0098] The sending module 603 is used to send the intermediate processing result to a second server among multiple servers according to the next business process of the first business process among multiple business processes included in the target business, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server used to process the next business process.
[0099] Optionally, an engine service management component is also running on each server, and the device further includes a receiving module 604, wherein:
[0100] The acquisition module 601 is further used to acquire the service configuration data of the first server. The processing module 602 is further used to call the engine service management component to start one or more working nodes according to the service configuration data, and configure the business process processed by each working node, wherein the business process processed by each working node is one of the multiple business processes included in the target business.
[0101] The sending module 603 is further configured to call the engine service management component to send the first node registration information of the first server to other servers among the multiple servers.
[0102] The receiving module 604 is configured to receive the second node registration information sent by the other server.
[0103] Optionally, the first node registration information includes the business process processed by each working node, the node identifier and the network address of the first server; the second node registration information includes the business process processed by each working node on the other servers, the node identifier and the network address of the other servers.
[0104] Optionally, a service registration center is also running on each server, and the acquisition module 601 is also used to call the service registration center to obtain registration data of each working node on the first server, and the registration data includes the business process processed by each working node and the node identifier.
[0105] The processing module 602 is further configured to generate first node registration information of the first server according to the registration data of each working node.
[0106] Optionally, the acquisition module 601 is further used to acquire service update data of the first server.
[0107] The processing module 602 is also used to call the engine service management component to adjust the working node of the first server according to the service update data, and the adjustment operation includes one or more of adding a working node, deleting a working node and adjusting the business process processed by the working node.
[0108] Optionally, the processing module 602 is also used to call the engine service management component to start at least one third working node according to the service configuration data if the number of the data processing requests obtained within a preset time period reaches a quantity threshold, and configure the business process processed by each third working node.
[0109] Optionally, the processing module 602 is further configured to:
[0110] Determine characteristic data of the thread pool of each working node according to the service configuration data, wherein the characteristic data includes the number of working threads and the amount of resources occupied.
[0111] The engine service management component is called to start a thread pool on each working node according to the characteristic data of the thread pool of each working node, and the working threads included in the thread pool are used to process the corresponding business process.
[0112] Optionally, the sending module 603 is specifically configured to:
[0113] Obtain a next business process of the first business process among multiple business processes included in the target business.
[0114] A server set consisting of servers where working nodes for processing the next business process are located is obtained from the multiple servers.
[0115] A second server is determined from the servers included in the server set according to a preset scheduling strategy, and the intermediate processing result is sent to the second server.
[0116] Optionally, the sending module 603 is specifically configured to:
[0117] Get the current working mode of the target service.
[0118] Acquire multiple business processes included in the current working mode and the execution order between the multiple business processes.
[0119] According to the multiple business processes included in the current working mode and the execution order between the multiple business processes, the next business process of the first business process is obtained.
[0120] Optionally, the sending module 603 is specifically configured to:
[0121] The server identifier is determined according to the signature of the data to be processed and the number of servers included in the server set.
[0122] A second server corresponding to the server identifier is obtained from servers included in the server set.
[0123] Optionally, the acquisition module 601 is further configured to acquire a mode switching instruction of the target service, wherein the mode switching instruction carries a target working mode.
[0124] The processing module 602 is further configured to switch the current working mode of the target service to the target working mode.
[0125] The acquisition module 601 is further used to acquire multiple business processes included in the target working mode and the execution order between the multiple business processes.
[0126] Optionally, the acquisition module 601 is further used to acquire the working mode configuration data of the target service.
[0127] The processing module 602 is further configured to generate one or more working modes of the target business according to the working mode configuration data, each working mode including multiple business processes and an execution order between the multiple business processes.
[0128] Optionally, the thread pool running on the first working node includes multiple working threads, and the processing module 602 is specifically used to:
[0129] The multiple working threads of the first working node are called to execute processing operations corresponding to the first business process of the target business in parallel on the data to be processed to obtain an intermediate processing result.
[0130] It should be noted that the functions of each functional module of the data processing device in the embodiment of the present application can be specifically implemented according to the method in the above method embodiment. The specific implementation process can refer to the relevant description of the above method embodiment, which will not be repeated here.
[0131] See also Figure 7 , is a schematic diagram of the structure of a server in an embodiment of the present application, wherein the server in the embodiment of the present application includes a power supply module and other structures, and includes a processor 701, a storage device 702, and a network interface 703. The processor 701, the storage device 702, and the network interface 703 can exchange data.
[0132] The storage device 702 may include a volatile memory, such as a random-access memory (RAM); the storage device 702 may also include a non-volatile memory, such as a flash memory, a solid-state drive (SSD), etc.; the storage device 702 may also include a combination of the above-mentioned types of memory.
[0133] The processor 701 may be a central processing unit (CPU) 701. In one embodiment, the processor 701 may also be a graphics processing unit (GPU) 801. The processor 701 may also be a combination of a CPU and a GPU. In one embodiment, the storage device 702 is used to store program instructions. The processor 701 may call the program instructions to perform the following operations:
[0134] A data processing request of a target service is obtained, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time.
[0135] Call the first working node of the first server to perform a processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, wherein the first working node is a working node on the first server used to process the first business process.
[0136] According to the next business process of the first business process among the multiple business processes included in the target business, the intermediate processing result is sent to a second server among the multiple servers, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
[0137] Optionally, an engine service management component is also running on each server, and the processor 701 is further used for:
[0138] Obtain service configuration data of the first server.
[0139] The engine service management component is called to start one or more working nodes according to the service configuration data, and the business process processed by each working node is configured, and the business process processed by each working node is one of the multiple business processes included in the target business.
[0140] The engine service management component is called to send the first node registration information of the first server to other servers in the plurality of servers.
[0141] Receive the second node registration information sent by the other server.
[0142] Optionally, the first node registration information includes the business process processed by each working node, the node identifier and the network address of the first server; the second node registration information includes the business process processed by each working node on the other servers, the node identifier and the network address of the other servers.
[0143] Optionally, a service registration center is also running on each server, and the processor 701 is further used to:
[0144] The service registration center is called to obtain registration data of each working node on the first server, where the registration data includes a business process processed by each working node and a node identifier.
[0145] The first node registration information of the first server is generated according to the registration data of each working node.
[0146] Optionally, the processor 701 is further configured to:
[0147] Obtain service update data of the first server.
[0148] The engine service management component is called to perform an adjustment operation on the working node of the first server according to the service update data, wherein the adjustment operation includes one or more of adding a working node, deleting a working node, and adjusting a business process processed by a working node.
[0149] Optionally, the processor 701 is further configured to:
[0150] If the number of the data processing requests obtained within a preset time reaches a quantity threshold, the engine service management component is called to start at least one third working node according to the service configuration data, and configure the business process processed by each third working node.
[0151] Optionally, the processor 701 is further configured to:
[0152] Determine characteristic data of the thread pool of each working node according to the service configuration data, wherein the characteristic data includes the number of working threads and the amount of resources occupied.
[0153] The engine service management component is called to start a thread pool on each working node according to the characteristic data of the thread pool of each working node, and the working threads included in the thread pool are used to process the corresponding business process.
[0154] Optionally, the processor 701 is specifically configured to:
[0155] Obtain a next business process of the first business process among multiple business processes included in the target business.
[0156] A server set consisting of servers where working nodes for processing the next business process are located is obtained from the multiple servers.
[0157] A second server is determined from the servers included in the server set according to a preset scheduling strategy, and the intermediate processing result is sent to the second server.
[0158] Optionally, the processor 701 is specifically configured to:
[0159] Get the current working mode of the target service.
[0160] Acquire multiple business processes included in the current working mode and the execution order between the multiple business processes.
[0161] According to the multiple business processes included in the current working mode and the execution order between the multiple business processes, the next business process of the first business process is obtained.
[0162] Optionally, the processor 701 is specifically configured to:
[0163] The server identifier is determined according to the signature of the data to be processed and the number of servers included in the server set.
[0164] A second server corresponding to the server identifier is obtained from servers included in the server set.
[0165] Optionally, the processor 701 is further configured to:
[0166] A mode switching instruction of the target service is obtained, where the mode switching instruction carries a target working mode.
[0167] The current working mode of the target service is switched to the target working mode.
[0168] Acquire multiple business processes included in the target working mode and the execution order between the multiple business processes.
[0169] Optionally, the processor 701 is further used to obtain working mode configuration data of the target business, and generate one or more working modes of the target business according to the working mode configuration data, each working mode including multiple business processes and the execution order between the multiple business processes.
[0170] Optionally, the thread pool running on the first working node includes multiple working threads, and the processor 701 is specifically used to:
[0171] The multiple working threads of the first working node are called to execute processing operations corresponding to the first business process of the target business in parallel on the data to be processed to obtain an intermediate processing result.
[0172] In a specific implementation, the processor 701, the storage device 702, and the network interface 703 described in the embodiments of the present application can execute the embodiments of the present application. Figure 3 or Figure 4 The implementation method described in the relevant embodiments of the data processing method provided can also be implemented in the embodiments of the present application Figure 6 The implementation methods described in the relevant embodiments of the provided data processing device will not be repeated here.
[0173] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The above-mentioned program includes one or more instructions and can be stored in a computer storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The above-mentioned storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM).
[0174] The embodiment of the present application also provides a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the steps performed in the embodiments of the above-mentioned methods.
[0175] The above disclosure is only part of the embodiments of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A data processing method, characterized in that: Applied to a first server among a plurality of servers included in a business processing system, each server having one or more working nodes running thereon, the method comprising: Obtaining a data processing request of a target service, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time; Calling a first working node of the first server to perform a processing operation corresponding to a first business process of the target business on the data to be processed, to obtain an intermediate processing result, wherein the first working node is a working node on the first server for processing the first business process; When receiving a mode switching instruction of the target service, obtaining a target working mode carried in the mode switching instruction; Switching the working mode of the target service to the target working mode; Acquire a next business process of the first business process from among multiple business processes included in the current working mode of the target business; Acquire a server set consisting of servers where working nodes for processing the next business process are located from the multiple servers; According to a preset scheduling strategy, a second server is determined from the servers included in the server set, and the intermediate processing result is sent to the second server, so that the second server calls a second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
2. The method according to claim 1, characterized in that Each server also runs an engine service management component. Before obtaining the data processing request of the target business, the method further includes: Obtaining service configuration data of the first server; Calling the engine service management component to start one or more working nodes according to the service configuration data, and configuring the business process processed by each working node, wherein the business process processed by each working node is one of the multiple business processes included in the target business; Calling the engine service management component to send first node registration information of the first server to other servers among the multiple servers; Receive the second node registration information sent by the other server.
3. The method according to claim 2, characterized in that The first node registration information includes the business process processed by each working node, the node identifier and the network address of the first server; the second node registration information includes the business process processed by each working node on the other servers, the node identifier and the network address of the other servers.
4. The method according to claim 2 or 3, characterized in that: A service registration center is also running on each server. Before calling the engine service management component to send the first node registration information of the first server to other servers among the multiple servers, the method further includes: Calling the service registration center to obtain registration data of each working node on the first server, the registration data including a business process processed by each working node and a node identifier; The first node registration information of the first server is generated according to the registration data of each working node.
5. The method according to claim 2 or 3, characterized in that: After calling the engine service management component to start one or more working nodes according to the service configuration data and configuring the business process processed by each working node, the method further includes: Obtaining service update data of the first server; The engine service management component is called to perform an adjustment operation on the working node of the first server according to the service update data, wherein the adjustment operation includes one or more of adding a working node, deleting a working node, and adjusting a business process processed by a working node.
6. The method according to claim 2 or 3, characterized in that: After calling the engine service management component to start one or more working nodes according to the service configuration data and configuring the business process processed by each working node, the method further includes: If the number of the data processing requests obtained within a preset time reaches a quantity threshold, calling the engine service management component to start at least one third working node according to the service configuration data; Configure the business process processed by each third working node.
7. The method according to claim 2 or 3, characterized in that: The method further comprises: Determining characteristic data of the thread pool of each working node according to the service configuration data, the characteristic data including the number of working threads and the amount of resources occupied; The engine service management component is called to start a thread pool on each working node according to the characteristic data of the thread pool of each working node, and the working threads included in the thread pool are used to process the corresponding business process.
8. The method according to claim 1, characterized in that The step of obtaining the next business process of the first business process among the multiple business processes included in the current working mode of the target business includes: Obtaining the current working mode of the target service; Acquire multiple business processes included in the current working mode and the execution order between the multiple business processes; According to the multiple business processes included in the current working mode and the execution order between the multiple business processes, the next business process of the first business process is obtained.
9. The method according to claim 1, characterized in that: The determining the second server from the servers included in the server set according to the preset scheduling strategy includes: Determine a server identifier according to the signature of the data to be processed and the number of servers included in the server set; A second server corresponding to the server identifier is obtained from servers included in the server set.
10. The method according to any one of claims 1, 8 and 9, characterized in that: The method further comprises: Obtaining the working mode configuration data of the target service; One or more working modes of the target business are generated according to the working mode configuration data, each working mode includes multiple business processes and an execution order between the multiple business processes.
11. The method according to claim 1, characterized in that: The thread pool running on the first working node includes a plurality of working threads, and the first working node calling the first server performs a processing operation corresponding to the first business process of the target business on the data to be processed to obtain an intermediate processing result, including: The multiple working threads of the first working node are called to execute processing operations corresponding to the first business process of the target business in parallel on the data to be processed to obtain an intermediate processing result.
12. A data processing device, characterized in that: The device comprises: An acquisition module, used for acquiring a data processing request of a target service, wherein the data processing request carries data to be processed, and the data to be processed includes streaming signal data generated in real time; A processing module, used for calling a first working node of a first server to execute a processing operation corresponding to a first business process of the target business on the data to be processed, to obtain an intermediate processing result, wherein the first working node is a working node on the first server for processing the first business process; The acquisition module is further configured to, when receiving a mode switching instruction of the target service, acquire the target working mode carried in the mode switching instruction; The processing module is further used to switch the working mode of the target service to the target working mode; A sending module is used to obtain the next business process of the first business process from multiple business processes included in the current working mode of the target business; obtain a server set consisting of servers where working nodes for processing the next business process are located from the multiple servers; determine a second server from the servers included in the server set according to a preset scheduling strategy; and send the intermediate processing result to the second server, so that the second server calls the second working node to perform the processing operation corresponding to the next business process on the intermediate processing result, wherein the second working node is a working node on the second server for processing the next business process.
13. A computer-readable storage medium, characterized in that: The computer storage medium stores a computer program, wherein the computer program includes program instructions, and the program instructions are executed by a processor to perform the data processing method according to any one of claims 1 to 11.
14. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the data processing method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Resource control system and method
CN108846630A