Data processing method and device, electronic equipment and storage medium
By setting the identification code for the image acquisition event and using the central management service module to summarize the task data, the information island problem in the asynchronous concurrent execution process is solved, and the rapid positioning and optimization of the image acquisition process is achieved.
Patent Information
- Application Number
- CN202410192623.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-08-22
AI Technical Summary
During the image acquisition process, multiple asynchronous concurrent execution links are distributed in different threads and processes, resulting in the inability to quickly locate and analyze the problem in the event of exceptions, which affects the image acquisition effect.
By setting a unique identification code for each image acquisition event, the central management service module summarizes and manages task data, breaks the information island, and effectively summarizes and analyzes the task data of multiple execution links.
Quickly locate abnormal execution links and image acquisition events, improve the timeliness and comprehensiveness of abnormal problem analysis, and optimize the image acquisition process.
Smart Images

Figure CN120529063A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the fields of image processing and data processing and analysis, and in particular to a data processing method and device, an electronic device, and a storage medium. Background Art
[0002] With the continuous development of electronic technology, the use of electronic devices for image acquisition is active in various scenarios such as travel, daily life, and information interaction.
[0003] In related technologies, in order to improve the efficiency of image acquisition, multi-threading technology and multi-process technology are used between different execution links of a single image acquisition event and between multiple image acquisition events. That is, for the entire image acquisition process, whether it is image acquisition, image synthesis, image storage, etc., each execution link has asynchronous concurrency.
[0004] However, the task data of each asynchronous and concurrent execution link is distributed in different threads and / or different processes, which makes it impossible to quickly locate and analyze problems when image acquisition anomalies occur during product development and user use. Summary of the Invention
[0005] To overcome the problems existing in related technologies, the present disclosure provides a data processing method and apparatus, electronic device, and storage medium. The disclosed data processing method effectively breaks down information silos between multiple execution links of an image acquisition event, further improving the pertinence and effectiveness of data analysis for task data from image acquisition events.
[0006] According to a first aspect of an embodiment of the present disclosure, there is provided a data processing method, including:
[0007] Acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes;
[0008] Aggregating the task data of a plurality of execution links based on the identification codes of different image acquisition events to obtain aggregated data;
[0009] A data analysis result for the plurality of image acquisition events is obtained based on the summary data.
[0010] In some embodiments, obtaining data analysis results for the plurality of image acquisition events based on the aggregated data includes:
[0011] Performing data analysis on the task data of multiple execution links of the same image acquisition event in the summary data, and determining an abnormal execution link from the multiple execution links corresponding to the same image acquisition event;
[0012] The abnormal cause is determined based on the abnormal execution link, and / or, based on the abnormal execution link, an image processing strategy is formulated for the execution link associated with the abnormal execution link.
[0013] In some embodiments, formulating an image processing strategy for the execution link associated with the abnormal execution link based on the abnormal execution link includes:
[0014] In a case where the same image acquisition event is the image acquisition event being run and there is an execution link that has not been started in the same image acquisition event, formulating the image processing strategy for the execution link that has not been started based on the abnormal execution link;
[0015] In the case where the same image acquisition event is the image acquisition event that has been completed, based on the abnormal execution link, the image processing strategy is formulated for the to-be-executed link that is the same as the abnormal execution link.
[0016] In some embodiments, obtaining data analysis results for the plurality of image acquisition events based on the aggregated data includes:
[0017] Comparing the task data of the same execution link of different image acquisition events in the summary data to obtain a comparison result;
[0018] Based on the comparison result, the execution link to be optimized is determined, and an optimization strategy is formulated for the execution link to be optimized.
[0019] In some embodiments, obtaining data analysis results for the plurality of image acquisition events based on the aggregated data includes:
[0020] Sending the aggregated data to a cloud server;
[0021] Receive the data analysis result returned by the cloud server after analyzing the aggregated data sent by the same electronic device.
[0022] In some embodiments, obtaining data analysis results for the plurality of image acquisition events based on the aggregated data includes:
[0023] Acquire device data of the electronic device, the device data including at least: the model of the electronic device, device batch, image processing application version, and image processing hardware version;
[0024] sending the aggregated data and the device data to a cloud server;
[0025] Receive the data analysis results returned by the cloud server after performing data analysis on the summary data and the device data sent by different electronic devices.
[0026] In some embodiments, the plurality of execution steps include at least:
[0027] The request initiation link and the picture saving link running on the camera application layer of the electronic device;
[0028] A scheduling link running on the camera service layer of the electronic device;
[0029] The image processing link runs on the hardware abstraction layer of the electronic device.
[0030] In some embodiments, the task data includes at least:
[0031] Process data of different execution links of each of the image acquisition events and environmental data associated with the execution links;
[0032] The process data at least includes: the start and end time of the execution link, and the execution status of the execution link;
[0033] The environmental data includes at least: the current temperature, memory information, and CPU utilization of the electronic device.
[0034] In some embodiments, the method further comprises:
[0035] Configuring access permissions for a camera application layer, a camera service layer, and a hardware abstraction layer of the electronic device so that the camera application layer, the camera service layer, and the hardware abstraction layer can all access a central management service module of the electronic device;
[0036] The acquiring of task data of multiple execution links of each of the image acquisition events in the electronic device includes:
[0037] Receiving, through the central management service module, the task data reported by at least one execution link executed by the camera application layer of the electronic device for each of the image acquisition events;
[0038] Receiving, through the central management service module, the task data reported by at least one execution link executed by the camera service layer of the electronic device for each image acquisition event;
[0039] The task data reported by at least one execution link of the hardware abstraction layer for each image acquisition event is received through the central management service module.
[0040] In some embodiments, the method further comprises:
[0041] In response to the configuration instruction for each of the image acquisition events, a corresponding identification code is allocated to each of the image acquisition events.
[0042] According to a second aspect of an embodiment of the present disclosure, there is provided a data processing apparatus, including:
[0043] An acquisition module configured to acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes;
[0044] a summarizing module configured to summarize the task data of a plurality of the execution links based on the identification codes of the different image acquisition events to obtain summary data;
[0045] An analysis module is configured to obtain data analysis results for the plurality of image acquisition events based on the summary data.
[0046] According to a third aspect of an embodiment of the present disclosure, there is provided an electronic device, including:
[0047] processor;
[0048] memory for storing computer programs or instructions;
[0049] The processor executes the computer program or instructions to implement the steps of the data processing method in the first aspect.
[0050] According to the fourth aspect of an embodiment of the present disclosure, a non-temporary computer-readable storage medium is provided, which stores a computer program or instructions. When the computer program or instructions in the storage medium are executed by a processor, the steps of the data processing method in the above-mentioned first aspect are implemented.
[0051] According to a fifth aspect of an embodiment of the present disclosure, a computer program product is provided, comprising a computer program or instructions, which, when executed by a processor, implement the steps of the data processing method in the first aspect.
[0052] The technical solutions provided by the embodiments of the present disclosure may have the following beneficial effects:
[0053] In the embodiment of the present disclosure, different identification codes are set to identify different image acquisition events, and the task data of multiple execution links of different image acquisition events are summarized through the identification codes to obtain summarized data; in this way, the information islands between multiple asynchronous and concurrent execution links in different processes and / or threads are broken, which helps to effectively summarize, organize and manage the task data of multiple execution links of the same image acquisition event, thereby improving the comprehensiveness of data management; and, in the present disclosure, data analysis results are also obtained based on the summarized data. In this way, based on the data analysis results, abnormal image acquisition events and abnormal execution links in image acquisition events can be quickly located, thereby improving the timeliness, comprehensiveness and effectiveness of abnormal problem analysis.
[0054] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0056] Figure 1 It is a system architecture diagram of an asynchronous and concurrent image acquisition event shown in the related art.
[0057] Figure 2 The figure is a flowchart of a data processing method according to an exemplary embodiment.
[0058] Figure 3 This is a schematic diagram of a camera service application framework of an electronic device according to an exemplary embodiment. Figure 1 .
[0059] Figure 4 This is a schematic diagram of a camera service application framework of an electronic device according to an exemplary embodiment. Figure 2 .
[0060] Figure 5 This is a diagram illustrating data flow in response to an image acquisition event according to an exemplary embodiment. Figure 1 .
[0061] Figure 6 This is a diagram illustrating data flow in response to an image acquisition event according to an exemplary embodiment. Figure 2 .
[0062] Figure 7 is a structural block diagram of a data processing device according to an exemplary embodiment.
[0063] Figure 8 It is a structural block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0064] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all possible embodiments consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
[0065] Currently, multiple execution steps of image acquisition events are executed in the application framework of electronic devices. Figure 1 , Figure 1 This is a system architecture diagram of an asynchronous concurrent image acquisition event shown in the related art; Figure 1 In the example, the electronic device's application framework includes at least a system application layer 101, a multimedia framework layer 102, a chip platform and hardware abstraction layer 103, and a hardware driver layer 104. For each image acquisition event, a different process runs based on the system application layer 101, multimedia framework layer 102, chip platform and hardware abstraction layer 103. Each process runs multiple threads, and the execution of these threads is asynchronous and concurrent.
[0066] Here, the system application layer is the layer that responds to user interaction, including user application interface, system applications and third-party applications. These applications are developed based on the functions provided by the system platform and can interact through multiple components. Figure 1 As shown, the system application layer 101 includes a camera application, and the user can start an image acquisition event by triggering the camera application.
[0067] The multimedia framework layer is used to provide various application programming interfaces (APIs) and services for applications to use. Figure 1 As shown, the multimedia framework layer 102 provides an interface for accessing hardware functions and camera services.
[0068] The chip platform and hardware abstraction layer provide various hardware devices and underlying library interfaces, and are responsible for handling the interaction with the hardware modules. Figure 1 The chip platform and hardware abstraction layer 103 are used to collect images based on a physical camera (including hardware modules such as a camera and an image sensor) and perform image post-processing through an image processing chip.
[0069] The hardware driver layer is composed of various driver units and is used to provide a unified interface to the upper layer. The hardware driver layer includes the camera driver for image acquisition events in this disclosure, which is used to drive multiple hardware modules of the physical camera, such as driving the image sensor.
[0070] Combine Figure 1 It can be seen that since different layers run different processes, and each layer's corresponding process is distributed with multiple threads, and there is at least one execution link running in the multiple threads, that is, there are information islands between the execution links running in different processes and / or threads. When there is an abnormality in the image acquisition event, it is impossible to quickly and effectively locate the execution link with the problem, so it is impossible to make timely adjustments to the image acquisition function, which affects the image acquisition effect.
[0071] In order to overcome the above problems, the present disclosure provides a data processing method. Figure 2 , Figure 2 FIG1 is a flow chart of a data processing method according to an exemplary embodiment. The data processing method is applied to an electronic device and mainly includes the following steps:
[0072] Step 201: Acquire task data of multiple execution links of each image acquisition event in the electronic device;
[0073] Among them, different image acquisition events have different identification codes;
[0074] Step 202: Based on the identification codes of different image acquisition events, the task data of multiple execution links are aggregated to obtain aggregated data;
[0075] Step 203: obtaining data analysis results for multiple image acquisition events based on the aggregated data.
[0076] The data processing method proposed in the embodiments of the present disclosure is applied to image acquisition scenarios of electronic devices, such as photo taking, video recording, or video calling scenarios, and the data processing method is executed by the electronic device. Here, the electronic device is a device with image acquisition capabilities, including but not limited to mobile phones, tablet computers, smart watches, and personal computers.
[0077] In step 201, when the electronic device responds to the user's action on the camera application, it generates an image acquisition request, and the image acquisition request carries an identification code allocated by the electronic device to the image acquisition request.
[0078] Here, the multiple image acquisition events can be events of the same type from different camera applications, or events of different types from the same camera application; for example, the multiple image acquisition events can be a photo-taking event and a video-recording event from a first camera application of an electronic device, or photo-taking events from a first camera application and a second camera application. For each image acquisition event, the electronic device configures a unique identification code for it. The code value of the identification code is different from that of other image acquisition events, and the identification code can serve as the identity information (Identity Document, ID) of the image acquisition event; thus, different image acquisition events have different identification codes.
[0079] It should be noted that for each image acquisition event, different layers of the electronic device application framework will initiate corresponding processes, and within these processes, different threads will be launched. Different threads will run different asynchronous and concurrent execution links, and through these execution links, image acquisition and image synthesis will be ultimately completed. Each of these execution links will generate task data, which is used to digitally represent the execution process of each execution link; the disclosed embodiment will instantly obtain the task data of each execution link.
[0080] In step 202, because each image acquisition event carries a unique identification code, the task data of multiple execution links responding to the same image acquisition event all carry the same identification code. In the disclosed embodiment, by using an index function to call the same identification code, the task data containing the same identification code can be aggregated to obtain aggregated data for the same image acquisition event.
[0081] In order to uniformly manage these aggregated data, in the embodiment of the present disclosure, a design based on a Manufacturing Execution System (MES) is proposed, in which a central management service module is added to the application framework of the electronic device.
[0082] Here, the MES system is a production information management system for the execution layer of the workshop of a manufacturing enterprise. The MES system realizes the intelligent and digital production. It can deepen the management of each production system in the workshop with a focus on the allocation and distribution of plans, production monitoring, analysis and tracking, and the control of equipment and process. It collects and processes data from each production link, aggregates and processes it upwards, and solves the information islands between each production link. The embodiment of the present disclosure is based on the design of the MES system, and sets a central management service module as the central control of the image acquisition service. The task data is aggregated through the central management service module, and the aggregated data corresponding to different image acquisition events are managed.
[0083] See also Figure 3 , Figure 3This is a schematic diagram of a camera service application framework of an electronic device according to an exemplary embodiment. Figure 1 ;like Figure 3 As shown, the camera service application framework of the electronic device includes: a camera application layer 301 , a camera service layer 302 , a hardware abstraction layer 303 , a hardware driver layer 304 and a central management service module 305 .
[0084] It should be noted that the camera application layer is the system application layer proposed in the above embodiment of the present disclosure, or a sublayer of the system application layer; the camera service layer 302 is the multimedia framework layer proposed in the above embodiment of the present disclosure, or a sublayer of the multimedia framework layer; the hardware abstraction layer 303 is the chip platform and hardware abstraction layer proposed in the above embodiment of the present disclosure, and the central management service module in the embodiment of the present disclosure can be installed on Figure 3 The camera application layer 301 or the camera service layer 302 of the camera service application framework shown can also be used as an independent layer to obtain different task data transmitted at different layers.
[0085] Here, the multiple execution links are respectively executed in threads started by the camera application layer 301, the camera service layer 302, and the hardware abstraction layer 303, and each execution link generates multiple task data. In the embodiment of the present disclosure, the step of obtaining the task data of the multiple execution links in the above step 101 can be obtained by the central management service module.
[0086] In some embodiments, the data processing method further includes:
[0087] Configuring access permissions for the camera application layer, camera service layer, and hardware abstraction layer of the electronic device so that the camera application layer, camera service layer, and hardware abstraction layer can all access the central management service module of the electronic device;
[0088] Obtain task data for multiple execution steps of each image acquisition event in the electronic device, including:
[0089] receiving, through the central management service module, task data reported by at least one execution link of the camera application layer of the electronic device for each image acquisition event;
[0090] receiving, through the central management service module, task data reported by at least one execution link of the camera service layer of the electronic device for each image acquisition event;
[0091] The central management service module receives task data reported by at least one execution link of the hardware abstraction layer for each image acquisition event.
[0092] Here, after the central management service module is set up in the embodiment of the present disclosure, the camera application layer, camera service layer and hardware abstraction layer of the electronic device are configured with permissions to access the central management service module, and the central management service module is also configured with permissions to access the camera application layer, camera service layer and hardware abstraction layer; in this way, the camera application layer, camera service layer and hardware abstraction layer can all interact with the central management service module for data.
[0093] After establishing the above-mentioned access rights, the camera application layer, the camera service layer, and the hardware abstraction layer in the embodiment of the present disclosure can access the central management service layer after generating task data for the execution link initiated by the image acquisition event, and report these task data to the central management service module; after the central management service module obtains these task data, it parses the identification code carried by the task data, and classifies and summarizes multiple task data of the same image acquisition event based on the index identification code.
[0094] In this way, by configuring access rights to the central management service module for the camera application layer, camera service layer, and hardware abstraction layer, task data reported at different levels can be obtained in a timely and effective manner, thereby effectively breaking down information silos between different levels and different processes / threads.
[0095] In step 203, after the central management service module obtains the summary data, it can analyze the summary data of the same image acquisition event to obtain data analysis results for the same image acquisition event; or it can analyze the summary data of different image acquisition events to obtain data analysis results between different image acquisition events.
[0096] Here, the analysis of aggregated data can be performed using big data algorithms, data analysis models, exception handling models, etc. The data analysis results can be evaluation data for the efficiency of the image acquisition event or the performance and efficiency of a specific execution link. The data analysis results can also be early warning signals for the image acquisition event or for one or more execution links. The data analysis results can also be the cause of an abnormality or image processing strategy for a specific execution link of the image acquisition event.
[0097] For example, when an abnormality occurs in an image acquisition event, such as the image acquisition time exceeds a first preset time threshold, or the final image synthesized by image acquisition lacks image information, the abnormality handling model will analyze and traverse the task data of multiple execution links of the same image acquisition event to determine which execution link's task data has the abnormality.
[0098] For example, if the exception handling model determines that the exposure processing link of image synthesis is accidentally suspended, or the exposure processing link is executed too quickly, it means that the exposure processing link may have missed some image frames, resulting in the final image lacking image information. In this case, the data analysis result can be an exposure processing warning signal; the exposure processing warning signal is used to prompt the electronic device to check whether the exposure processing algorithm needs to be corrected, whether there are any abnormalities in the preview image frame storage, whether there are any abnormalities in the image acquisition of the image sensor, etc. For another example, if the exception handling model determines that the execution time of multiple execution links of the hardware abstraction layer exceeds the second preset time threshold, and the device temperature of multiple execution links of the hardware abstraction layer is greater than the temperature threshold, it means that the high temperature of the device increases power consumption, causing the device to run slowly; in this case, the data analysis result can be to activate a high-temperature strategy for all subsequent image acquisition events, where the high-temperature strategy can abandon some execution links, or abandon some steps in the execution links.
[0099] In the embodiment of the present disclosure, different identification codes are set to identify different image acquisition events, and the task data of multiple execution links of different image acquisition events are summarized through the identification codes to obtain summarized data; in this way, the information islands between multiple asynchronous and concurrent execution links in different processes and / or threads are broken, which helps to effectively summarize, organize and manage the task data of multiple execution links of the same image acquisition event, thereby improving the comprehensiveness of data management; and, in the present disclosure, data analysis results are also obtained based on the summarized data. In this way, based on the data analysis results, abnormal image acquisition events and abnormal execution links in image acquisition events can be quickly located, thereby improving the timeliness, comprehensiveness and effectiveness of abnormal problem analysis.
[0100] In some embodiments, the data processing method further includes:
[0101] In response to the configuration instructions for each image acquisition event, a corresponding identification code is allocated to each image acquisition event.
[0102] Here, the configuration instruction is generated by the camera application layer in response to the user's action on the camera application. Here, the camera application layer initiates an image acquisition event in response to the user's action on the camera application and generates the configuration instruction for the image acquisition event.
[0103] In the embodiment of the present disclosure, the camera application layer can respond to the configuration instruction on its own and configure an identification code for the image acquisition event; the camera application layer can also upload the configuration instruction to the central management service module, and the central management service module configures an identification code and sends the identification code to the camera application layer; at this time, the camera application layer can initiate an image acquisition request for this image acquisition event based on the identification code.
[0104] In this way, the embodiment of the present disclosure configures a unique identification code for each image acquisition event, and based on the identification code, the task data of the same image acquisition event can be timely and effectively classified and summarized.
[0105] In some embodiments, the multiple execution steps in the embodiments of the present disclosure include at least:
[0106] The request initiation and image saving stages running on the camera application layer of the electronic device;
[0107] The scheduling link running on the camera service layer of the electronic device;
[0108] The image processing part runs on the hardware abstraction layer of electronic devices.
[0109] See also Figure 4 and Figure 5 , Figure 4 This is a schematic diagram of a camera service application framework of an electronic device according to an exemplary embodiment. Figure 1 ; Figure 5 This is a diagram illustrating data flow in response to an image acquisition event according to an exemplary embodiment. Figure 1 .like Figure 4 and Figure 5 As shown, the camera application layer 301 initiates a request initiation phase in response to a user action on the camera application. The request initiation phase carries an identification code configured for the image acquisition event. The request initiation phase packages the identification code into an image acquisition request and forwards the image acquisition request to the camera service layer 302.
[0110] The camera service layer 302 parses the image acquisition request and starts the scheduling process. The scheduling process includes one or more steps, for example, Figure 5 Steps 1 and 2 shown are both part of a scheduling phase. Steps 1 and 2 can, respectively, request the operating system, memory, and other resources to allocate process / thread resources, and add the image acquisition event to the execution queue. The scheduling phase can also include other system scheduling steps, which are not detailed in this disclosure. Here, the task data for one or more asynchronous and concurrent scheduling phases also carries an identification code.
[0111] When the image acquisition event is ready to be executed in the execution queue, the hardware abstraction layer 303 obtains the image acquisition request forwarded by the camera service layer 302, and obtains image information based on the image sensor in the hardware driver layer 304, thereby performing the image processing step based on the image information. Here, the image processing step includes an algorithm processing step based on at least one image algorithm, which includes but is not limited to an exposure processing algorithm, a white balance algorithm, a purple edge removal algorithm (e.g., Figure 5(Algorithms 1 to n shown in the figure). Therefore, the image processing steps of the hardware abstraction layer include but are not limited to exposure processing, white balance processing, and image purple edge removal. The hardware abstraction layer synthesizes the final composite image based on multiple image processing steps, and the task data in each execution step and the final composite image all carry identification codes. It should be noted that the above-mentioned final composite image can be a captured picture or a frame of a video file.
[0112] Here, the task scheduling link of the camera service layer 302 also includes receiving the final composite image and forwarding the final composite image to the image forwarding link of the camera application layer 301, for example, Figure 5 Step 3 shown may be a picture forwarding step.
[0113] After receiving the final composite image, the camera application layer 301 starts the image saving process and saves the final composite image in the file management database of the electronic device. At the same time, the task data in the image saving process carries the identification code of this image acquisition event.
[0114] It should be noted that since multiple execution links of the same image acquisition event in an electronic device and multiple execution links of different image acquisition events can be asynchronous and concurrent, the same execution link of different image acquisition events or different links of the same image acquisition event can be executed asynchronously and concurrently in each layer; and each execution link can report task data to the central management service module at any time, and the central management service module can also determine the summary data for the same image acquisition event in real time and continuously update the summary data.
[0115] Here, by setting identification codes, the disclosed embodiment can timely and effectively classify and summarize the task data of multiple execution links of the camera service layer, camera application layer and hardware abstraction layer of the electronic device, thereby realizing efficient classification and management of all task data for the same / different image acquisition events.
[0116] In some embodiments, the task data in the embodiments of the present disclosure includes at least:
[0117] Process data of different execution links of each image acquisition event and environmental data associated with the execution links;
[0118] The process data shall at least include: the start and end time of the execution link, and the execution status of the execution link;
[0119] The environmental data includes at least: the current temperature of the electronic device, memory information, and CPU utilization.
[0120] Here, the task data corresponding to each image acquisition event includes the process data of the request initiation link and the image saving link running in the camera application layer, the process data of the scheduling link running in the camera service layer, the process data of the image processing link running in the hardware abstraction layer, and the environmental data associated with the runtime of all the above execution links.
[0121] Among them, the process data at least includes the start and end time of the execution link and the execution status of the execution link; among them, the start and end time include the start time, end time and execution time (the time difference between the start time and the end time) of the execution link. The execution status includes passed, suspended, and early ended; suspended means that the link is suspended and interrupted waiting for subsequent re-execution, and early ended means that the link is terminated early due to an abnormal situation. The process data also includes: the algorithm enable result in the execution link, the process identity, the thread identity, the power consumption, etc. Here, the process identity is used to identify which process the execution link comes from, that is, which level it comes from, and the thread identity is used to identify which thread the execution link comes from.
[0122] In this disclosure, for each execution phase, the electronic device's environmental data will affect the results of that execution phase. Therefore, the task data acquired by the embodiments of this disclosure also includes environmental data. Here, environmental data includes at least: the electronic device's current temperature, memory information, and central processing unit (CPU) utilization; the memory information includes available memory. Environmental data also includes: camera scene mode, system throughput, graphics processing unit (GPU) status, and digital signal processor (DSP) status.
[0123] Here, the disclosed embodiments obtain environmental data for each execution phase, facilitating timely adjustments to image processing policies for image acquisition events based on this environmental data. For example, when analyzing real-time aggregated data and discovering that the current temperature of a device in two consecutive execution phases exceeds a temperature threshold, a high-temperature policy is promptly issued for the subsequent execution phase. Compared to autonomously querying device status and adjusting image processing in multiple subsequent execution phases, utilizing a central management service module for data analysis and timely feedback can reduce the system overhead of repeated queries and effectively improve the processing efficiency of electronic devices for image acquisition events.
[0124] The disclosed embodiments can collect process data of different execution links and environmental data associated with the execution links, can effectively and comprehensively analyze the abnormal causes of image acquisition events, help to quickly and promptly respond to abnormal situations in image acquisition, and can also provide effective data support when detecting and updating image acquisition performance.
[0125] In the disclosed embodiment, the central management service module can obtain task data reported by each execution link at each level in real time, aggregate the task data using identification codes, and store it in a local database for later problem location and data analysis. The central management service module can also perform real-time data analysis on this aggregated data.
[0126] The central management service module can promptly analyze whether an anomaly has occurred, or what type of anomaly has occurred, within the same or different image acquisition events, and determine appropriate handling strategies. If the user or the monitoring module of the electronic device detects an anomaly in the final composite image, the central management service module can also respond to an anomaly analysis instruction issued by the user or the monitoring module, analyze task data from each link, determine the cause of the anomaly, and quickly locate the anomaly.
[0127] In some embodiments, obtaining data analysis results for multiple image acquisition events based on the aggregated data in the above steps includes:
[0128] Perform data analysis on task data of multiple execution links of the same image acquisition event in the summary data, and determine abnormal execution links from the multiple execution links corresponding to the same image acquisition event;
[0129] The abnormal cause is determined based on the abnormal execution link, and / or, based on the abnormal execution link, an image processing strategy is formulated for the execution link associated with the abnormal execution link.
[0130] Here, the central management service module aggregates the task data of multiple execution links of the same image acquisition event to obtain a first type summary table. Each first type summary table uses an identification code as a key and multiple execution links and their corresponding process data and environmental data as values. Here, the central management service module establishes a first type summary table, and after receiving the task data reported by each execution link, adds a new column or a new row to the first type summary table, thereby updating the table in real time. Moreover, when all execution links of each image acquisition event are completed, the central management service module stores the final first type summary table corresponding to an image acquisition event in the local database of the electronic device.
[0131] In the disclosed embodiment, the central management service module can call a real-time first-type summary table based on the identification code, or call a first-type summary table in a local database, perform data analysis on multiple task data in the first-type summary table, and determine which row or column in the first-type summary table has an anomaly. Here, each row can represent task data for an execution link, or each column can represent task data for an execution link.
[0132] See Table 1, which shows a first type summary table.
[0133] Table 1
[0134]
[0135] In Table 1, each row represents an execution link of an image acquisition event, and each column represents a data type of process data or a data type of environmental data. In Table 1, the data type of process data includes execution time, execution status, and process / thread identity; the data type of environmental data includes CPU utilization, memory information, current temperature of the device, etc. Among them, Table 1 can count all task data of different execution links of an image acquisition event. The embodiment of the present disclosure can determine which row of task data has a problem, that is, determine the abnormal execution link, by analyzing the above-mentioned first type summary table.
[0136] The disclosed embodiments can also accurately locate the cause of the anomaly by analyzing which type of task data in the abnormal execution link has the problem. Exemplary causes of the anomaly may include: the current device temperature is too high, there is insufficient available memory, an algorithm execution anomaly, etc. In this case, the data analysis results will include the cause of the anomaly.
[0137] By determining the cause of the abnormality, the disclosed embodiment can help electronic devices summarize different response measures based on different abnormal causes, thereby effectively performing problem warnings, algorithm optimization, and scheduling adjustments for image acquisition events, etc., and further optimizing the image acquisition service of the electronic device.
[0138] Here, after determining the abnormal execution link, embodiments of the present disclosure can also formulate image processing strategies for execution links associated with the abnormal execution link. In this disclosure, the associated execution link can be the same execution link as the abnormal execution link, or an adjacent execution link, or an execution link at the same level, or an execution link in the same thread, etc., and this disclosure does not impose any further restrictions on this.
[0139] After determining the associated execution link, embodiments of the present disclosure can execute an image processing strategy for the associated execution link based on the abnormal execution link. In this case, the data analysis results include the image processing strategy. The image processing strategy can include a startup strategy for determining whether the execution link should be started, an algorithm optimization strategy for the execution link's algorithm, a patch for the execution link's software algorithm, and so on. This disclosure does not impose any further restrictions on this.
[0140] It should be noted that the process of determining the image processing strategy based on the abnormal execution link disclosed in the present invention can be: determining the corresponding image processing strategy through the cause of the abnormality; or by calling the preset strategy pre-stored in the system and corresponding to the execution link; or by the strategy output in real time by the abnormal analysis model.
[0141] In the embodiment of the present disclosure, the data analysis results determined based on the abnormal execution link may also include: evaluation data for evaluating the performance and efficiency of the abnormal execution link, or early warning signals of the abnormal execution link, etc.
[0142] The disclosed embodiment analyzes task data of multiple execution links of the same image acquisition event in the aggregated data, thereby enabling rapid and effective location of abnormal execution links where abnormalities occur, thereby improving the speed and efficiency of analyzing abnormal problems. Furthermore, data analysis results can be rapidly obtained through the abnormal execution links, providing effective support for improvement and optimization in scenarios such as algorithm testing, product development, and daily use.
[0143] In some embodiments, the above steps of formulating an image processing strategy for an execution link associated with the abnormal execution link based on the abnormal execution link include:
[0144] When the same image acquisition event is a running image acquisition event and there is an execution link that has not yet been started in the same image acquisition event, an image processing strategy is formulated for the execution link that has not yet been started based on the abnormal execution link;
[0145] In the case where the same image acquisition event is a completed image acquisition event, an image processing strategy is formulated for the to-be-executed link that is the same as the abnormal execution link based on the abnormal execution link.
[0146] The central management service module in the embodiment of the present disclosure can analyze the real-time summary data. That is, when the same image acquisition event is a running image acquisition event and there is an execution link that has not yet been started in the same image acquisition event, the present disclosure can formulate an image processing strategy for the execution link that has not yet been started based on the determined abnormal execution link. In this way, when a problem occurs, other unstarted execution links can be promptly controlled not to start or the algorithm steps of the execution link can be adjusted to quickly and timely perform task recovery.
[0147] For example, if it is determined that the abnormal execution link is the image exposure processing link due to insufficient memory, the image purple fringing removal and image ghosting removal links that have not yet been started in the same image acquisition event will not be started, and image synthesis will be performed directly to reduce the memory usage of the final synthesized image. For another example, if it is determined that the abnormal execution link is the image exposure processing link that takes too long to execute due to the current high temperature of the device, the high temperature policy will be enabled for multiple image processing links subsequent to the same image acquisition event, controlling the other unstarted execution links to not start or simplifying the algorithm steps of the execution links, thereby reducing unnecessary power consumption and improving the user experience.
[0148] Here, the central management service module of the embodiment of the present disclosure may also analyze the summary data of completed image acquisition events stored in the local database, and formulate an image processing strategy for the to-be-executed link that is the same as the abnormal execution link based on the abnormal execution link.
[0149] For example, when the subsequent image acquisition event reaches the abnormal execution link, the above image processing strategy is activated. Here, the image processing strategy can be an algorithm optimization strategy for the algorithm of the execution link, or a patch for the software algorithm of the execution link, etc.
[0150] The disclosed embodiment can analyze both real-time summary data and historical summary data, thereby improving the comprehensiveness of data analysis.
[0151] In some embodiments, obtaining data analysis results for multiple image acquisition events based on the aggregated data in the above steps includes:
[0152] Comparing the task data of the same execution link of different image acquisition events in the summary data to obtain a comparison result;
[0153] Based on the comparison results, the execution link to be optimized is determined, and an optimization strategy is formulated for the execution link to be optimized.
[0154] Here, the central management service module can aggregate the task data of the same execution link that occurs in different image acquisition events to form a second-type summary table. Each second-type summary table uses the thread identity of the execution link as a key, the identification code of the corresponding image acquisition event, and the process data and environmental data of the same image acquisition event in that execution link as a value. At the end of each execution link of an image acquisition event, the central management service module can update the second-type summary table corresponding to that execution link and simultaneously update it in the local database.
[0155] See Table 2, which shows a second type summary table.
[0156] Table 2
[0157]
[0158] In Table 2, each row represents an image acquisition event, and each column represents an identification code and a process data / environment data data type. In Table 2, process data types include execution time and execution status; environmental data types include CPU utilization, memory information, and current device temperature. Table 2 can summarize all task data for a single execution phase.
[0159] The embodiment of the present disclosure performs comparative analysis on multiple rows of data of the same execution link in the above-mentioned second type summary table to obtain comparison results, and determines from the comparison results which image acquisition events have abnormalities and which data types have abnormalities, and based on this, determines the link to be optimized.
[0160] Here, the link to be optimized can be the same link in the same execution link, and the optimization strategy can be an algorithm optimization strategy or an algorithm patch; the link to be optimized can be a link associated with the same execution link, and the optimization strategy can be a startup strategy for whether to start the execution link.
[0161] In an embodiment of the present disclosure, if, for the same execution link, multiple image acquisition events at discrete time points all have exceptions at the same data type, then no processing may be required; if multiple image acquisition events corresponding to multiple consecutive time points all have exceptions at the same data type, then an optimization strategy for the execution link may be formulated for the data type; or an optimization strategy for other execution links associated with the execution link may be formulated.
[0162] For example, if the execution time of the image exposure phase of multiple consecutive image acquisition events is found to be very long, it is determined that an abnormality has occurred in the image exposure algorithm. At this time, the algorithm patch can be promptly determined to obtain the corresponding algorithm optimization strategy. For another example, if the available memory for the image saving phase of multiple consecutive image acquisition events is found to be significantly reduced, it is determined that the final composite image is very large. In this case, some image processing phases of subsequent image acquisition events can be omitted, and the startup strategy for other related execution phases can be determined. This can effectively reduce the size of the final composite image of subsequent image acquisition events, thereby reducing memory usage.
[0163] By aggregating and analyzing data for the same execution link, the disclosed embodiment can vertically compare the performance between image acquisition events and the differences in algorithm execution efficiency, thereby performing point-by-point optimization to efficiently repair problems.
[0164] In some embodiments, obtaining data analysis results for multiple image acquisition events based on the aggregated data in the above steps includes:
[0165] Send the aggregated data to the cloud server;
[0166] Receive the data analysis results returned by the cloud server after analyzing the aggregated data sent by the same electronic device.
[0167] Here, in conjunction with the embodiments of the present disclosure, the central management service module of the electronic device can send the summary data to the cloud server and receive the data analysis results of the cloud server performing data analysis on the summary data. In particular, the electronic device can send the above-mentioned multiple first type summary tables and second type summary tables to the cloud server in real time.
[0168] The cloud server saves the aggregated data to a cloud database. The cloud server's big data analysis and processing module then analyzes the aggregated data to identify abnormal execution links within the image acquisition event for the same electronic device and obtain data analysis results. These data analysis results include: evaluation data evaluating the efficiency of the image acquisition event, evaluation data evaluating the performance and efficiency of a specific execution link, early warning signals for the image acquisition event, and early warning signals for a specific execution link. The data analysis results also include the cause of the abnormality or image processing strategy for a specific execution link of the image acquisition event. Image processing strategies may include algorithm optimization strategies, execution link startup strategies, algorithm patches, and so on.
[0169] In this way, the electronic device can receive the data analysis results sent by the cloud server and guide the different execution links of the image acquisition event.
[0170] The disclosed embodiment can send the summary data of the electronic device to a cloud server, and the cloud server performs data analysis, thereby reducing the data processing pressure of the electronic device, improving the efficiency of image acquisition of the electronic device, and reducing the power consumption of the electronic device.
[0171] In some embodiments, obtaining data analysis results for multiple image acquisition events based on the aggregated data in the above steps includes:
[0172] Obtaining device data of the electronic device, the device data including at least: the model of the electronic device, the device batch, the image processing application version, and the image processing hardware version;
[0173] Send aggregated data and device data to the cloud server;
[0174] Receive the data analysis results returned by the cloud server after analyzing the summary data and device data sent by different electronic devices.
[0175] To compare the performance of different electronic devices for image capture events, the central management service module of each electronic device also collects device data and sends it, along with the aggregated data, to the cloud server. This device data includes at least the model, batch, image processing application version, and image processing hardware version of the electronic device.
[0176] Figure 6 This is a diagram illustrating data flow in response to an image acquisition event according to an exemplary embodiment. Figure 2 .here, Figure 6 It is aimed at Figure 4 Further improvement of the process of the data processing method shown. Here, the cloud server 600 receives the device data and summary data uploaded by the electronic device central management service module 305, and saves these device data and summary data together to the cloud database. The big data analysis and processing module 601 of the cloud server 600 analyzes the device data and summary data, compares different devices for the same type of image acquisition events and the same execution links, and outputs a variety of high-level data. These high-level data include: various forms of data reports, data dashboards, historical data, early warning signals (such as algorithm early warning signals, software version early warning signals), etc.
[0177] In the embodiments of the present disclosure, the cloud server can feed back these high-level data as data analysis results to different electronic devices, so that the electronic devices can formulate image processing strategies based on the data analysis results. The cloud server can also formulate image processing strategies based on these high-level data and feed back the image processing strategies as data analysis results to the electronic devices. Here, the data analysis results determined by the cloud server can also be the abnormality reasons, evaluation data, etc. in the above-mentioned embodiments of the present disclosure, which are not further described in this disclosure.
[0178] Since the cloud server in the disclosed embodiment can store aggregated data of multiple electronic devices, the cloud server can not only monitor the image acquisition process of each electronic device in real time, but also provide historical data query; and through historical data query, the cloud server can compare the execution time, process thread scheduling, concurrency number and algorithm efficiency of each execution link algorithm in different models of electronic devices and different batches of electronic devices to obtain high-level data; or the cloud server can compare the execution time, process thread scheduling, concurrency number and algorithm efficiency of each execution link algorithm in different versions of image processing applications and different versions of image processing hardware to obtain the above-mentioned high-level data. Combined with Figure 6 , high-level data can provide data support for camera software R&D optimization, camera algorithm optimization, new product formulation evaluation, camera test problem analysis, product early warning, etc.
[0179] The disclosed embodiments upload aggregated and device data to a cloud server through a central management service module. The cloud server then processes and analyzes big data, breaking down information silos between different devices and projects. This data analysis reveals differences between different electronic devices, differences between different hardware and software configurations, and data discrepancies between pilot and mass production. This provides more accurate and efficient guidance for improving image acquisition processes across multiple electronic devices, evaluating and improving algorithms across different execution stages, and identifying pilot production issues.
[0180] The present disclosure also provides a data processing method for a cloud server, including:
[0181] Obtain aggregated data sent by electronic devices;
[0182] Perform data analysis on the summarized data to obtain data analysis results.
[0183] Here, the data analysis results include: evaluation data for evaluating the efficiency of image acquisition events, evaluation data for evaluating the performance and efficiency of a certain execution link, early warning signals for image acquisition events, and early warning signals for a certain execution link; the data analysis results also include: abnormal causes or image processing strategies for an execution link of the image acquisition event.
[0184] In some embodiments, the data processing method applied to the cloud server further includes:
[0185] Obtain aggregated data and device data about electronic devices;
[0186] Analyze the aggregated data and device data sent by different electronic devices to obtain high-level data. High-level data includes various forms of data reports, data dashboards, historical data, and early warning signals.
[0187] Among them, the cloud server can feed back these high-level data as data analysis results to different electronic devices; the cloud server can also formulate image processing strategies based on these high-level data, and feed back the image processing strategies as data analysis results to the electronic devices.
[0188] Below, combined with the attached Figure 2 To the attached Figure 6 , illustrating an exemplary application of the data processing method proposed in an embodiment of the present disclosure.
[0189] In some embodiments, a design based on an MES system is proposed for the image acquisition function of electronic devices. A central management service module is added to the electronic device's system. Access permissions are configured for the camera application layer, camera service layer, and hardware abstraction layer, ensuring that each layer can access the central management service module. Based on this, the central management service module serves as the central control for the electronic device's image acquisition function. Each image acquisition event is treated as a product and assigned an identification code (ID). Here, each asynchronous and concurrent execution link in different threads / processes is treated as a production link, and task data from each execution link is collected in real time. The task data from each execution link for the same image acquisition event is then aggregated using the identification code to generate aggregated data. The central management service module then analyzes the aggregated data to obtain data analysis results. The data analysis results are used to analyze and locate problems, provide risk warnings, and formulate image processing strategies, thereby efficiently managing and monitoring the image acquisition process of the electronic device.
[0190] Combine Figure 4 and Figure 5 ,An image acquisition event is responded by the camera application layer, which forwards the ,image acquisition request to the hardware abstraction layer through the camera service ,layer. The hardware abstraction layer controls the image sensor for image acquisition. ,Then the acquired image passes through various post-processing algorithms and ,returns to the camera application layer for image storage.
[0191] Here, an image acquisition event goes through at least three processes: the camera application layer, the camera service layer, and the hardware abstraction layer. Each process has multiple multi-threaded, concurrent execution stages. This disclosed embodiment uses identification codes as key values to collect task data. Task data includes process data such as the execution time, execution status, process identity, and thread identity of each execution stage, as well as environmental data such as the device's current temperature, memory information, CPU status, GPU status, DSP status, and algorithm enablement results during each execution stage.
[0192] In the embodiment of the present disclosure, each execution link reports task data to the central management service module. The central management service module aggregates the task data of multiple execution links of the same image acquisition event based on the identification code to form a first type summary table and a second type summary table. The first type summary table and the second type summary table are stored in a local database for later problem location. The central management service module also performs real-time data analysis on the task data in the first type summary table and the second type summary table. The first type summary table and the second type summary table are shown in Tables 1 and 2 as examples above in the present disclosure, and the present disclosure will not further elaborate on them here.
[0193] In the disclosed embodiment, the central management service module analyzes and aggregates data in real time, then formulates an image processing strategy and provides real-time feedback to different execution links. For example, if the current device temperature is detected to be high, the central management service module uniformly notifies each execution link to adopt a high-temperature strategy. This reduces the repetitive and inefficient overhead compared to each execution link independently querying the device status. For another example, if it is found that each image acquisition event has the same problem in the same execution link, the algorithm of the execution link in other threads or processes can be promptly controlled, the execution link that has not yet started can be stopped in a timely manner, and the task can be recycled in a timely manner.
[0194] Here, by analyzing multiple first-type summary tables and second-type summary tables, it is possible to vertically compare the performance differences of different camera applications and the differences in algorithm execution efficiency of the same execution link during the new product trial production process, stress testing process, and user use process, which is helpful to formulate reasonable image processing strategies for fixed-point optimization; and, the present disclosure can accurately locate the execution link where the problem occurs, thereby efficiently repairing the abnormal problem; at the same time, the present disclosure can also analyze whether the algorithm patch can bring positive benefits by comparing the algorithm execution time of the same execution link, thereby better managing the software version of the camera service.
[0195] The disclosed embodiments establish a central management service module within the electronic device system, utilizing the central management service module as the central control for the image acquisition function, thereby improving the comprehensiveness and effectiveness of information management. Furthermore, the disclosed embodiments aggregate data for each asynchronous concurrent execution link initiated based on an image acquisition event based on an identification code, thereby enabling efficient monitoring, analysis, management, and storage of multiple data items related to the same image acquisition event. Furthermore, even if multiple asynchronous concurrent execution links run in different processes and / or threads, the disclosed embodiments can effectively connect multiple execution links of the same image acquisition event, breaking down information silos between different processes / threads and facilitating rapid analysis and location of abnormal issues. Furthermore, by analyzing aggregated data, the central management service module can accurately evaluate the overall performance of image acquisition, algorithm efficiency, image acquisition software patches, and the like, thereby effectively improving the quality of camera software.
[0196] In other embodiments, combined Figure 6The central management service module also remotely reports device data, including the electronic device model, device batch, image processing application version, image processing hardware version, and the aforementioned summary data, to the cloud server. The cloud server then saves the summary data to a cloud database. The cloud server's big data analysis and processing module then analyzes the summary data, comparing different devices for the same type of image acquisition event and the same execution link, and outputs a variety of high-level data. This high-level data includes various forms of data reports, data dashboards, historical data, and early warning signals (such as algorithm warning signals and software version warning signals).
[0197] Here, the cloud server can also provide historical data query; through historical data query, the cloud server can compare the execution time, process thread scheduling, concurrency number and algorithm efficiency of each execution link in different models of electronic devices and different batches of electronic devices to obtain high-level data; high-level data can provide data support for camera software R&D optimization, camera algorithm optimization, new product formulation and evaluation, camera test problem analysis, product warning, etc.
[0198] The disclosed embodiment also breaks the information silos between different electronic devices by sending the summary data and collected device data summarized by the central management service module to the cloud server; the cloud server can analyze these summary data and device data in real time, or provide historical data query analysis, so as to make an accurate evaluation of the overall performance of image acquisition, algorithm efficiency, image acquisition software patches, etc., and further improve the quality of camera software and the speed of analyzing photo problems; and, by performing data analysis on the summary data and device data, the cloud server can also obtain data such as the differences between different electronic devices, the differences between different hardware and software configurations of electronic devices, and the data differences between trial production and mass production, so as to more accurately and efficiently guide the improvement of the image acquisition process of multiple electronic devices, the evaluation and improvement of algorithms in different execution links, the location of trial production problems, etc.
[0199] Figure 7 FIG. 1 is a structural block diagram of a data processing device according to an exemplary embodiment. Figure 7 As shown, the data processing device 700 mainly includes:
[0200] The acquisition module 701 is configured to acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes;
[0201] A summarizing module 702 is configured to summarize the task data of multiple execution links based on the identification codes of different image acquisition events to obtain summary data;
[0202] The analysis module 703 is configured to obtain data analysis results for multiple image acquisition events based on the aggregated data.
[0203] In some embodiments, the analysis module 703 is further configured to perform data analysis on the task data of multiple execution links of the same image acquisition event in the summary data, and determine the abnormal execution link from the multiple execution links corresponding to the same image acquisition event; and determine the cause of the abnormality based on the abnormal execution link, and / or, based on the abnormal execution link, formulate an image processing strategy for the execution link associated with the abnormal execution link.
[0204] In some embodiments, the analysis module 703 is further configured to, when the same image acquisition event is a running image acquisition event and there is an execution link that has not yet been started in the same image acquisition event, formulate an image processing strategy for the execution link that has not yet been started based on the abnormal execution link; when the same image acquisition event is a completed image acquisition event, formulate an image processing strategy for the to-be-executed link that is the same as the abnormal execution link based on the abnormal execution link.
[0205] In some embodiments, the analysis module 703 is further configured to compare the task data of the same execution link of different image acquisition events in the summary data to obtain a comparison result; and based on the comparison result, determine the execution link to be optimized and formulate an optimization strategy for the execution link to be optimized.
[0206] In some embodiments, the analysis module 703 is further configured to send the summary data to a cloud server; and receive data analysis results returned by the cloud server after performing data analysis on the summary data sent by the same electronic device.
[0207] In some embodiments, the acquisition module 701 is further configured to acquire device data of the electronic device, which device data includes at least: the model of the electronic device, the device batch, the image processing application version, and the image processing hardware version; and send the summary data and device data to the cloud server; and receive the data analysis results returned by the cloud server after performing data analysis on the summary data and device data sent by different electronic devices.
[0208] In some embodiments, multiple execution links include at least: a request initiation link and an image saving link running in the camera application layer of the electronic device; a scheduling link running in the camera service layer of the electronic device; and an image processing link running in the hardware abstraction layer of the electronic device.
[0209] In some embodiments, the task data includes at least: process data of different execution links of each image acquisition event and environmental data associated with the execution link; the process data includes at least: the start and end time of the execution link, and the execution status of the execution link; the environmental data includes at least: the current temperature of the electronic device, memory information, and central processing unit utilization.
[0210] In some embodiments, the acquisition module 701 is further configured to configure access permissions for the camera application layer, camera service layer and hardware abstraction layer of the electronic device, so that the camera application layer, camera service layer and hardware abstraction layer can all access the central management service module of the electronic device; and receive task data reported by the camera application layer of the electronic device for at least one execution link running for each image acquisition event through the central management service module; and receive task data reported by the camera service layer of the electronic device for at least one execution link running for each image acquisition event through the central management service module; and receive task data reported by the hardware abstraction layer for at least one execution link running for each image acquisition event through the central management service module.
[0211] In some embodiments, the aggregation module 702 is further configured to allocate a corresponding identification code to each image acquisition event in response to a configuration instruction for each image acquisition event.
[0212] Regarding the data processing device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0213] Figure 8 8 is a block diagram of an electronic device according to an exemplary embodiment. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.
[0214] Reference Figure 8 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .
[0215] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with at least one of display, phone calls, data communications, camera operation, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to perform all or part of the steps of the above-described method. In addition, the processing component 802 may include one or more modules to facilitate interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
[0216] The memory 804 is configured to store various types of data to support operations on the electronic device 800. Examples of such data include at least one of the following: instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, and videos. The memory 804 can be implemented by any type of volatile or non-volatile storage device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.
[0217] The power supply component 806 provides power to various components of the electronic device 800. The power supply component 806 may include at least one of the following: a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.
[0218] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, slides, and gestures on the touch panel. The touch sensor can not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have a focal length and optical zoom capability.
[0219] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), which is configured to receive external audio signals when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.
[0220] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as a keyboard, click wheel, and buttons. These buttons may include, but are not limited to, a home button, volume buttons, a start button, and a lock button.
[0221] The sensor assembly 814 includes one or more sensors for providing various aspects of the status assessment of the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the electronic device 800, the relative positioning of components, such as the display and keypad of the electronic device 800. The sensor assembly 814 can also detect changes in the position of the electronic device 800 or a component thereof, the presence or absence of user contact with the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and changes in the temperature of the electronic device 800. The sensor assembly 814 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 can also include an optical sensor, such as a complementary metal oxide semiconductor (CMOS) or charge coupled device (CCD) image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 can also include, but is not limited to, at least one of the following: an accelerometer, a gyroscope, a magnetic sensor, a pressure sensor, and a temperature sensor.
[0222] The communication component 816 is configured to facilitate communication between the electronic device 800 and other devices in a wired or wireless manner. The electronic device 800 can access a wireless network based on a communication standard, such as Wi-Fi, 4G, 5G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0223] In an exemplary embodiment, the electronic device 800 can be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components.
[0224] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is further provided, such as a memory 804 including executable instructions or a computer program. The instructions or computer program can be executed by the processor XX20 of the electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0225] A non-transitory computer-readable storage medium, when the instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform any of the above-mentioned data processing methods of the embodiments of the present disclosure. For example, the data processing method includes:
[0226] Acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes;
[0227] Based on the identification codes of different image acquisition events, the task data of multiple execution links are aggregated to obtain aggregated data;
[0228] A data analysis result for the multiple image acquisition events is obtained based on the aggregated data.
[0229] The embodiments of the present disclosure provide a computer program product, which includes: a computer program or instructions, which are stored in a computer-readable storage medium. The processor of a computer device reads the computer program or instructions from the computer-readable storage medium, and the processor executes the computer program or instructions, so that the computer device performs any of the above-mentioned data processing methods of the embodiments of the present disclosure. Here, the computer device includes the above-mentioned electronic device. After considering the specification and practicing the invention disclosed herein, those skilled in the art will easily think of other embodiments of the present disclosure. The present disclosure is intended to cover any variations, uses or adaptive changes of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the technical field that are not disclosed in the present disclosure. The description and embodiments are to be regarded as exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.
[0230] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A data processing method, characterized in that: include: Acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes; Aggregating the task data of a plurality of the execution links based on the identification codes of the different image acquisition events to obtain aggregated data; A data analysis result for the plurality of image acquisition events is obtained based on the summary data.
2. The method according to claim 1, characterized in that The obtaining of data analysis results for the plurality of image acquisition events based on the aggregated data includes: Performing data analysis on the task data of multiple execution links of the same image acquisition event in the summary data, and determining an abnormal execution link from the multiple execution links corresponding to the same image acquisition event; The abnormal cause is determined based on the abnormal execution link, and / or, based on the abnormal execution link, an image processing strategy is formulated for the execution link associated with the abnormal execution link.
3. The method according to claim 2, characterized in that Formulating an image processing strategy for the execution link associated with the abnormal execution link based on the abnormal execution link includes: In a case where the same image acquisition event is the image acquisition event being run and there is an execution link that has not been started in the same image acquisition event, formulating the image processing strategy for the execution link that has not been started based on the abnormal execution link; In the case where the same image acquisition event is the image acquisition event that has been completed, based on the abnormal execution link, the image processing strategy is formulated for the to-be-executed link that is the same as the abnormal execution link.
4. The method according to claim 1, wherein The obtaining of data analysis results for the plurality of image acquisition events based on the aggregated data includes: Comparing the task data of the same execution link of different image acquisition events in the summary data to obtain a comparison result; Based on the comparison result, the execution link to be optimized is determined, and an optimization strategy is formulated for the execution link to be optimized.
5. The method according to any one of claims 1 to 4, characterized in that The obtaining of data analysis results for the plurality of image acquisition events based on the aggregated data includes: Sending the aggregated data to a cloud server; Receive the data analysis result returned by the cloud server after analyzing the aggregated data sent by the same electronic device.
6. The method according to any one of claims 1 to 4, characterized in that The obtaining of data analysis results for the plurality of image acquisition events based on the aggregated data includes: Acquire device data of the electronic device, the device data including at least: the model of the electronic device, device batch, image processing application version, and image processing hardware version; sending the aggregated data and the device data to a cloud server; Receive the data analysis results returned by the cloud server after performing data analysis on the summary data and the device data sent by different electronic devices.
7. The method according to any one of claims 1 to 4, characterized in that The plurality of execution steps at least include: The request initiation link and the picture saving link running on the camera application layer of the electronic device; A scheduling link running on the camera service layer of the electronic device; The image processing link runs on the hardware abstraction layer of the electronic device.
8. The method according to any one of claims 1 to 4, characterized in that The task data at least includes: Process data of different execution links of each of the image acquisition events and environmental data associated with the execution links; The process data at least includes: the start and end time of the execution link, and the execution status of the execution link; The environmental data includes at least: the current temperature, memory information, and CPU utilization of the electronic device.
9. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Configuring access permissions for a camera application layer, a camera service layer, and a hardware abstraction layer of the electronic device so that the camera application layer, the camera service layer, and the hardware abstraction layer can all access a central management service module of the electronic device; The acquiring of task data of multiple execution links of each of the image acquisition events in the electronic device includes: Receiving, through the central management service module, the task data reported by at least one execution link executed by the camera application layer of the electronic device for each of the image acquisition events; Receiving, through the central management service module, the task data reported by at least one execution link executed by the camera service layer of the electronic device for each image acquisition event; The task data reported by at least one execution link of the hardware abstraction layer for each image acquisition event is received through the central management service module.
10. The method according to any one of claims 1 to 4, characterized in that The method further comprises: In response to the configuration instruction for each of the image acquisition events, a corresponding identification code is allocated to each of the image acquisition events.
11. A data processing device, characterized in that: include: An acquisition module configured to acquire task data of multiple execution links of each image acquisition event in the electronic device; wherein different image acquisition events have different identification codes; a summarizing module configured to summarize the task data of a plurality of the execution links based on the identification codes of the different image acquisition events to obtain summary data; An analysis module is configured to obtain data analysis results for the plurality of image acquisition events based on the summary data.
12. An electronic device, characterized in that: include: processor; memory for storing computer programs or instructions; The processor executes the computer program or instructions to implement the steps of the data processing method according to any one of claims 1 to 10.
13. A non-transitory computer-readable storage medium storing a computer program or instruction, characterized in that: When the computer program or instructions in the storage medium are executed by a processor, the steps of the data processing method according to any one of claims 1 to 10 are implemented.
14. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the data processing method according to any one of claims 1 to 10 are implemented.