Data processing method and device, electronic equipment and storage medium
By modularizing basic capabilities and loading target computing pipelines in web-based AR applications, the problem of poor scalability of AR applications on web platforms is solved, enabling multi-threaded parallel computing and reducing development costs.
Patent Information
- Application Number
- CN202210471299.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-28
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-04-28
AI Technical Summary
In existing technologies, AR applications, after being ported to web platforms, suffer from poor scalability due to limited computing power and lack of multi-threading support, making it impossible to dynamically load modules and increasing development costs.
By modularizing the application's basic capabilities, loading the target computing pipeline corresponding to the data processing request, processing the request sequentially based on the node object, dynamically loading each module, and supporting multi-threaded parallel computing.
It enhances the scalability of web applications, supports multi-threaded parallel computing, and reduces development costs.
Smart Images

Figure CN114860478B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present disclosure relate to the technical field of data processing, and particularly relate to a data processing method and device, electronic equipment and storage medium. BACKGROUND
[0002] At present, applications under web running environment naturally have the universality of opening and using and cross-platform, therefore, more and more applications are transplanted to run under web running environment, thereby enhancing the fluency and expansibility of the applications.
[0003] However, in the scheme provided by the prior art, the Augmented Reality (AR) application has the characteristics of intensive computation and high real-time requirement, and at the same time, the AR application needs to perform a large amount of computation when processing each frame of image. Therefore, for the web end with limited application computing capability and different client architecture, the AR application will have the problems of not supporting multi-threading and being unable to dynamically load modules after being transplanted to the web platform, and at the same time, the expansibility of the web end AR application is poor, for example, when new requirements arise, the web application also needs to be redesigned, which increases the development cost of the application. SUMMARY
[0004] The present disclosure provides a data processing method and device, electronic equipment and storage medium, by modularizing the basic capabilities of the application, the effect of dynamically loading each module in the web end application is realized, the expansibility of the web end application is enhanced, and the development cost of the application is reduced.
[0005] In a first aspect, the embodiments of the present disclosure provide a data processing method, comprising:
[0006] loading a target computing pipeline corresponding to the data processing request when the data processing request is received;
[0007] processing the data processing request in turn based on each node object in the target computing pipeline to obtain a target processing result;
[0008] wherein the dependency relationship and node processing content of the node object are determined based on business information corresponding to the data processing request.
[0009] In a second aspect, the embodiments of the present disclosure further provide a data processing device, comprising:
[0010] a target computing pipeline loading module configured to load a target computing pipeline corresponding to the data processing request when the data processing request is received;
[0011] The request processing module is configured to sequentially process the data processing request based on each node object in the target computing pipeline to obtain a target processing result, wherein the dependency relationship and the node processing content of the node object are determined based on service information corresponding to the data processing request.
[0012] In a third aspect, the embodiments of the present disclosure further provide an electronic device, which comprises:
[0013] one or more processors;
[0014] a storage device configured to store one or more programs,
[0015] When the one or more programs are executed by the one or more processors, the one or more processors implement the data processing method according to any of the embodiments of the present disclosure.
[0016] In a fourth aspect, the embodiments of the present disclosure further provide a storage medium containing computer executable instructions, which, when executed by a computer processor, are configured to perform the data processing method according to any of the embodiments of the present disclosure.
[0017] The technical solution of the embodiments of the present disclosure loads a target computing pipeline corresponding to a data processing request when the data processing request is received, and further processes the data processing request based on each node object in the target computing pipeline to obtain a target processing result, wherein the dependency relationship and the node processing content of the node object are determined based on service information corresponding to the data processing request. By modularizing the basic capabilities of the application, the effect of dynamically loading each module in the web-side application is achieved, the problem of not supporting multi-thread processing of the application is avoided, and when new requirements arise, the corresponding pipeline can be quickly constructed, the expansibility of the web-side application is enhanced, and multi-thread parallel computing execution is supported, thereby reducing the development cost of the application. BRIEF DESCRIPTION OF DRAWINGS
[0018] The above and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the original and elements are not necessarily drawn according to the scale.
[0019] Figure 1 A data processing method flowchart provided by the embodiments of the present disclosure;
[0020] Figure 2 A schematic diagram of a computing pipeline corresponding to a makeup special effect rendering AR application provided by the embodiments of the present disclosure;
[0021] Figure 3An overall system framework diagram provided by an embodiment of the present disclosure;
[0022] Figure 4 A data processing device structure schematic diagram provided by an embodiment of the present disclosure;
[0023] Figure 5 A structure schematic diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] Embodiments of the present disclosure will be described in more detail with reference to the drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein, but rather the embodiments are provided so that the present disclosure can be more thoroughly and completely understood. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.
[0025] It should be understood that each step described in the method embodiments of the present disclosure can be executed in different orders and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the execution of the steps shown. The scope of the present disclosure is not limited in this respect.
[0026] The term “comprising” and variations thereof as used herein are open-ended, that is, “including but not limited to”. The term “based on” is “based, at least in part, on”. The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; the term “some embodiments” means “at least some embodiments”. Related definitions of other terms will be given in the description below.
[0027] It should be noted that the terms “first”, “second”, and the like mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not intended to limit the order or interdependence of the functions performed by these devices, modules or units. It should be noted that the terms “one”, “multiple” mentioned in the present disclosure are illustrative and not limiting, and those skilled in the art should understand that “one or more” should be understood unless otherwise explicitly stated in the context.
[0028] The names of the messages or information exchanged between the devices in the embodiments of the present disclosure are only used for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0029] Before introducing the technical solution, the application scenario of the embodiments of the present disclosure can be exemplarily described. Exemplarily, the application in the web running environment naturally has the universality of opening and using, cross-platform, such as running in the website, webpage embedded applet, etc. Based on this, after the AR application for realizing the AR interactive special effect, AR virtual try-on and try-wearing special effect and other functions is transplanted to the web end, the expandability of the AR application can be theoretically improved. However, the AR application has the characteristics of intensive computing and high real-time requirement, the web application has limited computing capability, the application loading time and data processing time are relatively long, at the same time, since the webassembly does not support dynamic loading of sub-packages, many web application programming interfaces (Application Programming Interface, API) are different from the multi-threaded mechanism of the AR native program, the web AR application cannot support multi-threaded processing, and cannot support the AR application to load specific modules on demand. Further, in the data processing process, the creation and release of a large number of frequent memory and central processing unit (Central Processing Unit, CPU) texture resources will cause the application to have a long computing time, thereby causing the application to be stuck, and the data processing time is relatively long. At this time, based on the technical solution of the embodiments of the present disclosure, when receiving a data processing request related to the AR application of the web end, that is, the user wants to use the AR application with specific functions corresponding to a specific business, the system can build a target computing pipeline corresponding to the application through a pipeline framework, wherein the pipeline framework is written based on a JavaScript framework, and at least one node object is included in the computing pipeline generated based on the pipeline framework, each node object has a specific data processing function, therefore, based on the computing pipeline, the request corresponding to the business and the data associated with the request can be processed to obtain a target processing result, not only the basic capability of the application is modularized, the effect of dynamically loading each module in the web application is realized, but also the expandability of the web application is enhanced, and the development cost of the application is reduced.
[0030] Figure 1 A data processing method flow diagram provided by the embodiments of the present disclosure, the embodiments of the present disclosure are applicable to the case of automatically building a computing pipeline corresponding to a business based on a JavaScript framework, and processing the related request of the business by using the computing pipeline. The method can be executed by a data processing device, which can be realized by software and / or hardware, and can be realized by an electronic device, which can be a mobile terminal, a PC terminal or a server, etc.
[0031] As shown in Figure 1 , the method comprises:
[0032] S110, load the target computing pipeline corresponding to the data processing request when receiving the data processing request.
[0033] The data processing request can be a request involved in various applications in the AR business field, and is at least used to trigger the operation of loading the target computing pipeline. It can be understood that there are various applications in the AR business field, for example, an AR application providing human body recognition tracking computing function, an AR application providing video rendering processing function, and an AR application providing makeup special effect rendering function, etc. In actual application process, when the AR application is transplanted to the web end, the request sent by the user to the server through the web end application is the data processing request.
[0034] It should be understood by those skilled in the art that in the C++ or native application programming model, the pipeline represents a linear communication model of pipeline segments exchanging data between the external program and its host, and each pipeline can contain a series of nodes (Node) with specific connection relationship. Therefore, in the present embodiment, the loaded target computing pipeline also corresponds to a specific AR application, and it can be understood that as a way of organizing each processing step in the running process of the AR application, the content of each node in the target computing pipeline and the connection relationship between the nodes can clearly reflect the specific data processing process of the business involved in the AR application.
[0035] For example, for the web end AR application providing makeup special effect rendering function, the target computing pipeline can reflect the process of processing the image output by the user and the makeup special effect selected by the user, specifically, the target computing pipeline includes camera video source image node, texture image to bitmap image data node, beautifying processing node, face tracking computing node, makeup rendering processing node, face special effect prop rendering node, and texture image rendering to screen processing node, etc. It can be understood that in the process of loading the target computing pipeline, the above nodes will be connected in a certain order, thereby determining the input and output corresponding to each node. When the data is input to the first node of the computing pipeline, the target computing pipeline can use the internal multiple nodes to process the data step by step, thereby realizing the makeup special effect processing function.
[0036] In the embodiment, there are two ways to load the target computing pipeline. In the first way, the target computing pipeline corresponding to the data processing request is set in advance. Specifically, before receiving the data processing request, the pipeline framework for generating the computing pipeline can be written based on JavaScript in advance, and meanwhile, a plug-in package for providing various pipeline nodes is constructed. Based on this, the corresponding computing pipeline can be generated in advance for various AR applications, and the generated computing pipeline is saved, so that when the data processing request related to an AR application is received, the computing pipeline corresponding to the AR application is directly called as the target computing pipeline.
[0037] For example, for the AR application 1 providing the makeup effect rendering function and the AR application 2 providing the video rendering processing function, the node objects required by the above two applications in the data processing process can be determined by running the pipeline framework written in advance, and meanwhile, according to the data processing procedures of the two applications, it is determined that the two applications process the request by what steps, that is, the connection order of the node objects in the corresponding computing pipeline is determined. Based on this, the corresponding multiple node objects can be determined from the plug-in package and connected to obtain two computing pipelines corresponding to the above two AR applications respectively, and the two computing pipelines are stored with marks. On this basis, when the data processing request is received, according to the makeup effect rendering function identifier carried by the request, it can be determined that the web application corresponding to the request is the AR application 1, so that the computing pipeline corresponding to the AR application 1 is directly loaded as the target computing pipeline.
[0038] The second way is to construct the target computing pipeline corresponding to the data processing request when the data processing request is received. It can be understood that when the data processing request is received, the target computing pipeline of the AR application can be constructed in real time by using this way. Taking the AR application providing the makeup effect rendering function as an example, when the data processing request is received and the makeup effect rendering function identifier carried by the request is determined, it is determined that the AR application providing the makeup effect rendering function needs to process the request. Based on the pipeline framework written in advance, the processing steps of various data in the process of implementing the above function of the AR application are determined, and then the node objects corresponding to the processing steps and the connection relationship between the node objects are determined from the plug-in package. Finally, the node objects are connected according to the connection relationship, and the computing pipeline corresponding to the AR application is obtained. It can be understood that the computing pipeline is the target processing pipeline corresponding to the data processing request.
[0039] In the embodiment, two ways of loading target computing pipeline are pre-deployed, further enhancing the flexibility of the scheme in actual execution. Meanwhile, it should be noted that the above examples only illustrate the case where one data processing request is received. When the system receives multiple data processing requests at the same time, and these requests correspond to multiple AR applications respectively, the system can also construct a target computing pipeline that is adapted to each request in real time. The construction method of each computing pipeline is the same as that in the above examples, and the disclosure embodiments will not be described here.
[0040] In the embodiment, the method for determining the target computing pipeline can first determine the target configuration information data structure or the target configuration file corresponding to the data processing request, and then determine the node object and node processing content on the target computing pipeline according to the target configuration information data structure or the target configuration file.
[0041] The configuration file can be a file that determines which computing pipeline is built by the pipeline framework. In the configuration file, at least the node dependency relationship and the node processing content are included. The node dependency relationship is information reflecting the connection relationship of the node objects in the computing pipeline, and the node processing content is information reflecting the input, output, and how to process the input data of the node. It can be understood that for each AR application on the web side, there is a specific configuration file corresponding to it. Correspondingly, for the data processing request received by the system, only one configuration file corresponding to the request will be determined, which is the target configuration file.
[0042] In the process of determining the target configuration file, the target configuration information data structure or the target configuration file can be determined or set according to the business information corresponding to the data processing request. The business information is information representing the function provided by the AR application corresponding to the data processing request. For example, when a user wants to generate a makeup special effect picture corresponding to his own photo through the web AR application and sends a corresponding data processing request to the server, the system can determine that the business information is a makeup special effect rendering business according to the request. When a user wants to process an existing video through a web AR application to obtain a special effect video and sends a corresponding data processing request to the server, the system can determine that the business information is a special effect video rendering business according to the request.
[0043] In the embodiment, when the system receives a data processing request and analyzes the request to determine that the business information is a makeup special effect rendering business, a corresponding configuration file can also be set according to the requirements of the business, which is the target configuration file. Further, according to the target configuration file, the system can determine the node object and node processing content on the target computing pipeline. The following will be described in combination with Figure 2The processes of determining the two kinds of information are described in detail.
[0044] In this embodiment, after the system obtains the target configuration file corresponding to the specific service information, the system can optionally obtain at least one to-be-configured node object and node processing content of each to-be-configured node object from the plug-in package according to the target configuration information data structure or the target configuration file; for each to-be-configured node object, the system determines the node definition data of the current to-be-configured node object; based on the node definition data and the node processing content of each to-be-configured node object, the system determines the node object; and based on the node dependency relationship of each node object, the system determines the target computing pipeline.
[0045] The node object can be a packaged program package, and the node processing content is information reflecting program input, output, and functions implemented by the program package. Meanwhile, each node object and the corresponding node processing content can be integrated into the plug-in package. Therefore, the plug-in package can include, as shown in Figure 2 It can be understood that in this embodiment, when these node objects are not used to build the computing pipeline, they are to-be-configured node objects.
[0046] In this embodiment, since the target configuration file includes the node dependency relationship and the node processing content, after the system parses the target configuration file, the corresponding to-be-configured node object and the node processing content can be obtained from the plug-in package according to the file content. For example, after the system parses the target configuration file, the system can determine the multiple node objects in the above example, and these node objects are also node objects used to build the makeup special effect rendering AR application computing pipeline.
[0047] Meanwhile, the system can also determine the node definition data of each node object in the above example. The node definition data includes name information, data type, input / output data format, data feedback type, and node dependency relationship. For example, Figure 2As shown, after the system determines the to-be-configured node objects required by the makeup effect rendering AR application, it can further determine that the names of the to-be-configured node objects are respectively a camera video source image node, a texture image to bitmap image data node, a beautifying processing node, a face tracking calculation node, a makeup rendering processing node, a face effect prop rendering node, and a texture image rendering to screen processing node. Meanwhile, the data formats corresponding to the node objects are determined. It can be understood that the data format is a rule for describing the saving of data in a file or record, which can be a character form text format or a binary form compressed format. The embodiments of the present disclosure will not be described again.
[0048] It can be understood that the input data format is the format of the data of the input node object, and correspondingly, the output data format is the format of the data output by the node object. Taking the example of the beautifying effect rendering calculation pipeline, Figure 2 For the beautifying effect rendering calculation pipeline, according to the to-be-configured node objects in the calculation pipeline, it can be determined that after the camera video source image node in the pipeline collects an image in real time, the data format of the output data is a texture format. The data in the texture format is input into the beautifying processing node and the texture image to bitmap image data node, and is processed by the two node objects. The data format of the output data of the beautifying processing node is also a texture format, and the data format of the output data of the texture image to bitmap image data node is an image format. Further, the data in the image format is input into the face tracking calculation node and is processed by the node. The face tracking calculation node respectively obtains data in a camera video picture image related format and data in a face feature related format. The two types of data and the data output by the beautifying processing node are input into the makeup rendering processing node, and are processed by the makeup rendering processing node. The data in the texture format is obtained. The data in the face feature related format is input into the face effect prop rendering node, and is processed by the face effect prop rendering node. The data in the texture format is also obtained. Finally, the two types of data in the texture format are input into the texture image rendering to screen processing node, and are processed by the texture image rendering to screen processing node. The final processing result, i.e., a rendering image obtained after a corresponding beautifying effect is added to the face of the user, is obtained.
[0049] In the embodiment, the data feedback type is information representing how each node object in the computing pipeline feeds back data, including a synchronous feedback type and an asynchronous feedback type. Those skilled in the art should understand that synchronization means that when a process is executing a certain request, if the request needs a period of time to return information, the process will wait until the returned information is received before continuing to execute; correspondingly, asynchronization means that the process does not need to wait, but continues to execute subsequent operations regardless of the state of other processes, and when information is returned, the process is notified to process, thereby improving the execution efficiency, that is, when the system processes a received data processing request, it can still continue other data processing operations.
[0050] In the embodiment, when the system determines the node objects based on the data defined by each node and the node processing content, the multiple node objects can be connected according to the node dependency relationship, thereby obtaining the target computing pipeline. The dependency relationship of the node objects and the node processing content are determined based on the business information corresponding to the data processing request. It can be understood that the system stores a mapping table representing the association between various business information and node object dependency relationships, and based on this, when the system determines the corresponding business information according to the data processing request, the node object dependency relationship corresponding to the business information can be obtained by table lookup, and then the configured node objects are connected according to the node object dependency relationship to obtain the target computing pipeline. It can be understood that the computing pipeline corresponds to a specific web AR application.
[0051] Continuing to refer to Figure 2 When the seven nodes involved in the web makeup special effect rendering AR application, the functions of each node, and the input and output of each node are determined, the multiple nodes can be connected according to the dependency relationship (i.e., the connection relationship) between the nodes, that is, the camera video source image node is connected to the beautification processing node and the texture image to bitmap image data node, the beautification processing node is connected to the makeup rendering processing node, the texture image to bitmap image data node is connected to the face tracking calculation node, the beautification processing node and the face tracking calculation node are connected to the makeup rendering processing node, the face tracking calculation node is connected to the face special effect prop rendering node, and finally, the makeup rendering processing node and the face special effect prop rendering node are connected to the texture image rendering to screen processing node, thereby obtaining the target computing pipeline corresponding to the web makeup special effect rendering AR application.
[0052] S120, sequentially processing the data processing request based on each node object in the target computing pipeline, to obtain a target processing result.
[0053] In this embodiment, once the target computation relationship corresponding to a specific web-based AR application for processing data processing requests is obtained, the system can send the request to that computation relationship. Then, based on the node objects in the pipeline, the request and its associated data are processed sequentially. After the target computation pipeline completes processing of the request and its associated data, the output data is the target processing result. Those skilled in the art should understand that the target processing result will differ depending on the business information. For example, when the business information is beauty effect rendering, the target processing result is an image fused with the user's facial information and the effects; when the business information is video effect processing, the target processing result is a video containing the effects selected by the user.
[0054] Optionally, based on the node dependencies of each node object in the target computing pipeline, the process data corresponding to the data processing request is processed sequentially to obtain the target processing result. It can be understood that during the processing of the data processing request and its associated data based on the target computing pipeline, the specific processing flow within the pipeline still must follow the node dependencies between each node object. Continuing with... Figure 2 For example, when a web-based AR application for beauty effects rendering receives a data processing request sent in real-time from the user's terminal device, along with an image containing the user's facial information associated with that request, the camera video source image node first processes the received image to obtain the corresponding texture, based on the node dependencies between the objects in the AR application's computation pipeline. Further, according to the node dependencies, the texture can be input into the beauty processing node and the texture-to-bitmap image data node, respectively, to obtain the output texture and bitmap image. The output texture is then used as the source image input to the beauty rendering processing node. Simultaneously, the facial... After the camera video image information and facial feature information output by the tracking computing node are input into the beauty rendering processing node, the beauty rendering processing node can process the above three types of data to obtain a texture image corresponding to the user's facial image. After the facial features output by the facial tracking computing node are input into the facial effect prop rendering node, the node processes the data to obtain the texture corresponding to the effect. Finally, corresponding layer 1 and layer 2 are constructed for the two textures respectively, and the two layers are input into the texture image rendering screen processing node for processing to obtain a facial image containing the beauty effect selected by the user, and the image is rendered and displayed on the corresponding display interface.
[0055] In this embodiment, in the process of processing the corresponding data processing request based on the target pipeline, the process data generated in the processing process can also be removed from the memory based on the target computing pipeline, which can be understood as a process of custom recycling of data in the data storage object. Those skilled in the art should understand that after receiving the data processing request and determining the corresponding target computing pipeline, the system will allocate a certain memory to the program to enable the target computing pipeline to effectively process the data processing request and its associated data. After any node object associated with the data processing of the node object is completed, the target computing pipeline will determine the corresponding input and output, for example, whether the current task and the computing pipeline still need the input and output of the node object. When it is determined that part or all of the data no longer needs to be used, the data residing in the memory can be custom recycled, so that the data storage object can be reused in subsequent allocation, thereby improving the utilization of system memory resources and improving the performance of the web AR application. Figure 2 For example, when the data processing process of the target computing pipeline has reached the makeup rendering processing node, the target computing pipeline can determine that the current task no longer needs the input and output of the texture-to-bitmap image data node. Based on this, the texture of the user's real-time collected image and the image output by the texture-to-bitmap image data node can be recycled from the corresponding data storage object.
[0056] It should be noted that in actual application, the data processing request corresponds to the AR effect processing request, and the target processing result corresponds to the AR rendering effect. It can be understood that these AR effect related applications have the characteristics of intensive computation and high real-time requirement. When processing each frame of image or video, a large amount of deep learning computation, video picture graphic image data processing, 2D / 3D graphic rendering, etc. are required. At the same time, there are many types of AR effects, such as AR interactive effects, AR virtual try-on and try-wearing effects, etc., which are not specifically limited in this embodiment of the disclosure.
[0057] In this embodiment, when the data processing request corresponds to the AR effect, the web AR application parses the data processing request to determine the corresponding business information, and then generates a target computing pipeline corresponding to the AR business based on the pipeline framework. The target computing pipeline can process the data processing request to obtain the AR rendering result. For example, when the business information is a makeup effect rendering business, the final processing result is an effect video generated in the AR scene and fusing the user's face with the selected effect.
[0058] In actual application, the scheme of the embodiment of the disclosure can be based on Figure 3The system framework shown is executed. Specifically, the system framework can be composed of a pipeline framework component, a plug-in module component, a computing node, a pipeline system, and a pipeline data management module. The computing node corresponds to a specific processing step in the pipeline process, the pipeline system is used to define AR pipeline execution and execution scheduling of the computing node, and the pipeline data management is used to define the data type of node input and output, and is also used to manage the life cycle of data. The data processing request received by the system can be a request corresponding to various AR services, such as a request corresponding to a human body recognition tracking computing service, a request corresponding to a video rendering processing service, and a request corresponding to a makeup special effect rendering service. When the system receives a data processing request, a general AR pipeline framework written in JavaScript can be run, and each computing node in the computing pipeline can be determined based on the AR pipeline framework, and the connection relationship (i.e., node dependency relationship) between the node objects can also be determined. Further, through pipeline configuration operation and execution scheduling of the pipeline, a target computing pipeline corresponding to a specific service can be generated, and the data processing request and its associated data can be processed based on the target computing pipeline, thereby obtaining a processing result corresponding to a specific AR service. It should be noted that in the process of processing the data processing request based on the target computing pipeline, expired data can also be recycled from the memory, thereby improving the utilization rate of system memory resources and improving the performance of the AR application.
[0059] The technical scheme of the embodiment of the present disclosure loads a target computing pipeline corresponding to a data processing request when the data processing request is received, and further processes the data processing request based on each node object in the target computing pipeline to obtain a target processing result. The dependency relationship of the node object and the node processing content are determined based on service information corresponding to the data processing request. By modularizing the basic capabilities of the application, the effect of dynamically loading each module in the web application is achieved, the problem of not supporting multi-threaded processing of the application is avoided, and when new requirements arise, the corresponding pipeline can be quickly constructed, the extensibility of the web application is enhanced, multi-threaded parallel computing execution is supported, and the development cost of the application is reduced.
[0060] Figure 4 A data processing device structure schematic diagram provided by the embodiment of the present disclosure is shown as follows. Figure 4 The device includes a target computing pipeline loading module 210 and a request processing module 220.
[0061] The target computing pipeline loading module 210 is configured to load a target computing pipeline corresponding to a data processing request when the data processing request is received.
[0062] The request processing module 220 is configured to sequentially process the data processing request based on each node object in the target computing pipeline to obtain a target processing result, wherein the dependency relationship and the node processing content of the node object are determined based on service information corresponding to the data processing request.
[0063] Optionally, the target computing pipeline loading module is further configured to pre-set the target computing pipeline corresponding to the data processing request, or construct the target computing pipeline corresponding to the data processing request when the data processing request is received.
[0064] Based on the above technical solutions, the data processing device further comprises a target computing pipeline determination module.
[0065] The target computing pipeline determination module is configured to determine the target computing pipeline corresponding to the data processing request in the following manner: determining a target configuration information data structure or a target configuration file corresponding to the data processing request, wherein the target configuration information data structure or the target configuration file comprises node dependency relationships and node processing content; and determining the node objects and the node processing content on the target computing pipeline based on the target configuration information data structure or the target configuration file.
[0066] Optionally, the target computing pipeline determination module is further configured to determine the target configuration information data structure or set the target configuration file based on service information corresponding to the data processing request.
[0067] Optionally, the target computing pipeline determination module is further configured to obtain at least one to-be-configured node object and node processing content of each to-be-configured node object from a plug-in package based on the target configuration information data structure or the target configuration file; determine node definition data of a current to-be-configured node object for each to-be-configured node object, wherein the node definition data comprises name information, a data type, an input / output data format, a data feedback type, and a node dependency relationship; determine the node objects based on the node definition data and the node processing content of each to-be-configured node object; and determine the target computing pipeline based on the node dependency relationships of each node object.
[0068] Optionally, the request processing module 220 is further configured to sequentially process process data corresponding to the data processing request based on the node dependency relationships of each node object in the target computing pipeline to obtain the target processing result.
[0069] Based on the above technical solutions, the data processing device further comprises a data removal module.
[0070] The data removal module is configured to remove process data generated in a processing process from a memory based on the target computing pipeline.
[0071] Based on the above technical solutions, the data processing request corresponds to the AR effect processing request, and the target processing result corresponds to the AR rendering effect.
[0072] The technical solution provided in this embodiment loads the target computing pipeline corresponding to the data processing request when a data processing request is received. Furthermore, the data processing request is processed based on the node objects in the target computing pipeline to obtain the target processing result. The dependencies of the node objects and the node processing content are determined based on the business information corresponding to the data processing request. By modularizing the application's basic capabilities, the effect of dynamically loading various modules within the web application is achieved, avoiding the problem of the application not supporting multi-threaded processing. Simultaneously, when new requirements arise, the corresponding pipeline can be quickly constructed, enhancing the scalability of the web application and supporting multi-threaded parallel computing execution, thus reducing the application's development cost.
[0073] The data processing apparatus provided in this disclosure can execute the data processing method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects for executing the method.
[0074] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.
[0075] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of the terminal device or server 300. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0076] like Figure 5As shown, the electronic device 300 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 302 or loaded from a storage device 306 into a random access memory (RAM) 303. Various programs and data required for the operation of the electronic device 300 are also stored in the RAM 303. The processing device 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0077] Generally, the following devices can be connected to the I / O interface 305: an input device 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 308 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 309. The communication device 309 can allow the electronic device 300 to communicate wirelessly or wired with other devices to exchange data. Although Figure 5 The electronic device 300 is shown with various devices, but it should be understood that not all of the shown devices are required to be implemented or present. More or fewer devices can alternatively be implemented or present.
[0078] In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network through the communication device 309, or installed from the storage device 306, or installed from the ROM 302. When the computer program is executed by the processing device 301, the above-mentioned functions defined in the methods of embodiments of the present disclosure are performed.
[0079] The names of the messages or information exchanged between the plurality of devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0080] The electronic device provided by the embodiments of the present disclosure and the data processing method provided by the above-mentioned embodiments belong to the same inventive concept, and the technical details not described in detail in the present embodiments can be referred to the above-mentioned embodiments, and the present embodiments have the same beneficial effects as the above-mentioned embodiments.
[0081] The embodiments of the present disclosure provide a computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the data processing method provided by the above-mentioned embodiments.
[0082] Note that the computer readable medium described above in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium can be, for example and without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus or device. In the present disclosure, a computer readable signal medium can include a computer readable program code carried in a baseband or as a part of a carrier wave, in which the computer readable program code can be used by or in connection with an instruction execution system, apparatus or device. Such a propagated computer readable signal medium can take various forms, including but not limited to electro-magnetic, optical or any suitable combination of the foregoing. The computer readable signal medium can also be any computer readable medium that can be used to carry or transmit a program for use by or in connection with an instruction execution system, apparatus or device, except for the computer readable storage media described above. The program code carried by the computer readable media can be transmitted in any suitable media, including but not limited to wire, cable, fiber optic, RF (radio frequency), or any suitable combination of the foregoing.
[0083] In some embodiments, the client, server, or both can communicate using any current known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any current known or future developed networks.
[0084] The computer readable medium described above can be included in the electronic device described above; or can exist separately from the electronic device, and can be accessed via the electronic device.
[0085] The computer readable medium described above carries one or more programs, which when executed by the electronic device, cause the electronic device to:
[0086] Upon receiving the data processing request, a target computing pipeline corresponding to the data processing request is loaded;
[0087] The data processing request is processed in sequence based on each node object in the target computing pipeline, and a target processing result is obtained;
[0088] The dependency relationship and the node processing content of the node object are determined based on service information corresponding to the data processing request.
[0089] Computer program code for carrying out operations of the present disclosure can be written in one or more programming languages or combinations of languages including object oriented programming languages such as Java, Smalltalk, C++ as well as conventional procedural programming languages such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0090] The flow diagrams and the block diagrams in the drawings are illustrations of architectures, functionalities, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of present disclosure. In this regard, each block in the flow diagrams or block diagrams can represent a module, a procedure, or a part of code, which comprises one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in a different order than that noted in the figures. For example, two blocks noted in succession can in fact be executed substantially concurrently or in the opposite order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flow diagrams, and combinations of blocks in the block diagrams and / or flow diagrams, can be implemented by dedicated hardware-based systems that perform the specified functions or operations, or can be implemented by a combination of dedicated hardware-based systems and computer instructions.
[0091] The units described in the embodiments of the present disclosure can be implemented by software, or by hardware. In some cases, the name of the unit does not constitute a limitation on the unit itself. For example, the first obtaining unit can also be described as a unit for obtaining at least two Internet protocol addresses.
[0092] The functionality described herein above can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
[0093] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0094] According to one or more embodiments of the present disclosure, Example One provides a data processing method, which comprises:
[0095] Upon receiving a data processing request, loading a target computing pipeline corresponding to the data processing request;
[0096] processing the data processing request in sequence based on each node object in the target computing pipeline, to obtain a target processing result;
[0097] wherein the dependency relationship and node processing content of the node object are determined based on service information corresponding to the data processing request.
[0098] According to one or more embodiments of the present disclosure, Example Two provides a data processing method, which further comprises:
[0099] Optionally, a target computing pipeline corresponding to the data processing request is pre-set; or,
[0100] Upon receiving a data processing request, constructing a target computing pipeline corresponding to the data processing request.
[0101] According to one or more embodiments of the present disclosure, Example Three provides a data processing method, which further comprises:
[0102] Optionally, a target configuration information data structure or a target configuration file corresponding to the data processing request is determined, wherein the target configuration information data structure or the target configuration file comprises node dependency relationship and node processing content.
[0103] According to the target configuration information data structure or the target configuration file, a node object on the target computing pipeline and node processing content are determined.
[0104] According to one or more embodiments of the present disclosure, Example Four provides a data processing method, the method further comprising:
[0105] Optionally, the target configuration information data structure or the target configuration file is determined or set according to service information corresponding to the data processing request.
[0106] According to one or more embodiments of the present disclosure, Example Five provides a data processing method, the method further comprising:
[0107] Optionally, at least one node object to be configured and node processing content of each node object to be configured are obtained from a plug-in package according to the target configuration information data structure or the target configuration file.
[0108] For each node object to be configured, node definition data of the current node object to be configured is determined, wherein the node definition data comprises name information, data type, input / output data format, data feedback type, and node dependency relationship.
[0109] Based on the node definition data and the node processing content of each node object to be configured, the node object is determined.
[0110] Based on the node dependency relationship of each node object, the target computing pipeline is determined.
[0111] According to one or more embodiments of the present disclosure, Example Six provides a data processing method, the method further comprising:
[0112] Optionally, based on the node dependency relationship of each node object in the target computing pipeline, process data corresponding to the data processing request is processed in sequence to obtain the target processing result.
[0113] According to one or more embodiments of the present disclosure, Example Seven provides a data processing method, the method further comprising:
[0114] Optionally, process data generated in the process of processing based on the target computing pipeline is removed from the memory.
[0115] According to one or more embodiments of the present disclosure, Example Eight provides a data processing method, the method further comprising:
[0116] Optionally, the data processing request corresponds to an AR special effect processing request, and the target processing result corresponds to an AR rendering effect.
[0117] According to one or more embodiments of the present disclosure, Example Nine provides a data processing apparatus, the apparatus comprising:
[0118] a target computation pipeline loading module, configured to load a target computation pipeline corresponding to the data processing request when the data processing request is received;
[0119] a request processing module, configured to process the data processing request based on each node object in the target computation pipeline in sequence to obtain a target processing result, wherein the dependency relationship and node processing content of the node object are determined based on service information corresponding to the data processing request.
[0120] The above description is merely preferred embodiments of the present disclosure and a description of the principles of the technology applied. Those skilled in the art should understand that the disclosed range of the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the technical solutions formed by replacing the above features with the technical features disclosed in the present disclosure (but not limited to) having similar functions.
[0121] In addition, although each operation is described in a particular order, this should not be understood as requiring the operations to be performed in the particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing can be advantageous. Similarly, although the above discussion contains many specific implementation details, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments can also be combined in a single embodiment. Conversely, various features described in the context of a single embodiment can also be separated and implemented in multiple embodiments.
[0122] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. A data processing method, characterized by, Comprising: Upon receiving a data processing request, loading a target computing pipeline corresponding to the data processing request; wherein the data processing request is related to a data processing request of an AR application on a web side; Processing the data processing request in sequence based on each node object in the target computing pipeline to obtain a target processing result; the node object includes node definition data, which includes name information, data type, input and output data format, data feedback type, and node dependency relationship; the data feedback type includes synchronous feedback type and asynchronous feedback type; Wherein, the dependency relationship and node processing content of the node object are determined based on business information corresponding to the data processing request.
2. The method of claim 1, wherein, The loading of the target computing pipeline corresponding to the data processing request comprises: Pre-setting a target computing pipeline corresponding to the data processing request; or, Upon receiving a data processing request, constructing a target computing pipeline corresponding to the data processing request.
3. The method of claim 2, wherein, The determination method of the target computing pipeline corresponding to the data processing request comprises: Determining a target configuration information data structure or a target configuration file corresponding to the data processing request; wherein the target configuration information data structure or the target configuration file includes node dependency relationship and node processing content; Determining the node object and node processing content on the target computing pipeline according to the target configuration information data structure or the target configuration file.
4. The method of claim 3, wherein, The determination of the target configuration information data structure or the target configuration file corresponding to the data processing request comprises: Determining the target configuration information data structure or setting the target configuration file according to business information corresponding to the data processing request.
5. The method of claim 3, wherein, The determination of the node object and node processing content on the target computing pipeline according to the target configuration information data structure or the target configuration file comprises: According to the target configuration information data structure or the target configuration file, obtaining at least one to-be-configured node object and node processing content of each to-be-configured node object from a plug-in package; For each to-be-configured node object, determining node definition data of the current to-be-configured node object; Determining the node object based on the node definition data and node processing content of each to-be-configured node object; Determining the target computing pipeline based on the node dependency relationship of each node object.
6. The method of claim 1, wherein, The processing of the data processing request in sequence based on each node object in the target computing pipeline to obtain a target processing result comprises: Processing process data corresponding to the data processing request in sequence based on the node dependency relationship of each node object in the target computing pipeline to obtain the target processing result.
7. The method of claim 1, wherein, Further comprising: Removing process data generated in the processing process based on the target computing pipeline from the memory.
8. The method according to any one of claims 1 to 7, characterized in that, The data processing request corresponds to an AR special effect processing request, and the target processing result corresponds to an AR rendering effect.
9. A data processing apparatus, characterized by, Comprising: A target computing pipeline loading module is configured to load a target computing pipeline corresponding to a data processing request when the data processing request is received, wherein the data processing request is related to a data processing request of an AR application on a web side; A request processing module is configured to sequentially process the data processing request based on each node object in the target computing pipeline to obtain a target processing result, wherein the node object includes node definition data, and the node definition data includes name information, data type, input / output data format, data feedback type, and node dependency relationship; and the data feedback type includes synchronous feedback type and asynchronous feedback type. The dependency relationship and node processing content of the node object are determined based on business information corresponding to the data processing request.
10. An electronic device, comprising: The electronic device includes: one or more processors; a storage device configured to store one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the data processing method of any one of claims 1-9.
11. A storage medium containing computer-executable instructions for performing the data processing method of any one of claims 1-9 when executed by a computer processor.
Citation Information
Patent Citations
Method and device for integrating object information, medium and electronic equipment
CN110728490A
Video processing method, device, electronic equipment and storage medium
CN113938750A