A method, device, system and electronic equipment for executing analysis tasks
By determining the subtasks of the analysis task in the analysis device and acquiring and assembling algorithm components, the problem of limited device storage being unable to perform specific analysis tasks is solved, and the device's good adaptability and efficient analysis task execution is achieved.
Patent Information
- Application Number
- CN201810688355.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-06-28
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2038-06-28
AI Technical Summary
Due to limited storage, existing analysis devices cannot store all possible analysis algorithms in advance, resulting in the inability to perform analysis tasks that require specific algorithms, affecting the device's adaptability.
By determining the subtasks in the analysis task to be executed, obtain the corresponding algorithm components, and assemble them into the target analysis algorithm according to the preset orchestration rules to perform the analysis task.
It realizes good adaptability of the analysis device when occupies less storage resources and can perform more types of analysis tasks without storing separate algorithms for each task.
Smart Images

Figure CN110659125B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data analysis technology, and in particular to an analysis task execution method, device, system and electronic equipment. Background Art
[0002] The data collected by the device often needs to be intelligently analyzed to obtain the information required by the user. Specifically, an analysis task may be generated for the collected data, and the analysis device may execute the analysis task to obtain the information required by the user.
[0003] In the related art, the analysis device may use the analysis algorithm pre-written locally to perform the analysis task. Different analysis algorithms may be required to perform different analysis tasks. For example, the analysis algorithm required for the analysis task of recognizing faces in videos is different from the analysis algorithm required for the analysis task of tracking vehicles in videos. Therefore, the analysis tasks that the analysis device can perform are limited to the types of analysis algorithms pre-written locally. If there is no analysis algorithm pre-written locally for performing a certain analysis task, the analysis device cannot perform the analysis task. In order to improve the adaptability of the analysis device, analysis algorithms can be written in advance in the analysis device for various analysis tasks, but this will take up a lot of storage resources. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a method, device, system and electronic device for executing an analysis task, so as to achieve better adaptability of the analysis device while occupying less storage resources. The specific technical solution is as follows:
[0005] In a first aspect of an embodiment of the present application, a method for executing an analysis task is provided, the method comprising:
[0006] Determine the subtasks included in the analysis task to be performed;
[0007] Acquire an algorithm component for executing the subtask as the algorithm component to be assembled;
[0008] Assemble the algorithm components to be assembled according to preset arrangement rules to obtain a target analysis algorithm;
[0009] The target analysis algorithm is used to execute the analysis task to be executed.
[0010] In combination with the first aspect, in a first possible implementation manner, assembling the algorithm components according to a preset arrangement rule to obtain a target analysis algorithm includes:
[0011] According to the preset priorities of the algorithm components to be assembled from high to low, the algorithm components to be assembled are assembled in series from front to back to obtain a target analysis algorithm, wherein the preset priorities of the following three types of algorithm components are from high to low: algorithm components for providing target detection function, algorithm components for providing video tracking function, and algorithm components for providing intelligent application function.
[0012] In combination with the first aspect, in a second possible implementation manner, before determining the subtasks included in the analysis task to be performed, the method further includes:
[0013] Determine whether an analysis algorithm for executing the analysis task to be executed is stored locally;
[0014] If an analysis algorithm for executing the analysis task to be executed is stored locally, executing the analysis task to be executed using the analysis algorithm for executing the analysis task to be executed stored locally;
[0015] If the analysis algorithm for executing the analysis task to be executed is not stored locally, the step of determining the subtasks included in the analysis task to be executed is executed.
[0016] In combination with the first aspect, in a third possible implementation manner, before using the target analysis algorithm to execute the analysis task to be executed, the method further includes:
[0017] The currently used analysis algorithm is hot-switch to the target analysis algorithm.
[0018] In a second aspect of an embodiment of the present application, a device for executing an analysis task is provided, the device comprising:
[0019] A task parsing module, used to determine the subtasks included in the analysis task to be performed;
[0020] A component acquisition module, used to acquire an algorithm component for executing the subtask as the algorithm component to be assembled;
[0021] An algorithm assembly module is used to assemble the assembly algorithm components according to preset arrangement rules to obtain a target analysis algorithm;
[0022] An execution module is used to execute the analysis task to be executed using the target analysis algorithm.
[0023] In combination with the second aspect, in a first possible implementation method, the algorithm assembly module is specifically used to assemble the algorithm components to be assembled in series from front to back in an order from high to low according to the preset priorities of the algorithm components to be assembled to obtain a target analysis algorithm, wherein the preset priorities of the following three types of algorithm components are from high to low: algorithm components for providing target detection functions, algorithm components for providing video tracking functions, and algorithm components for providing intelligent application functions.
[0024] In combination with the second aspect, in a second possible implementation, the task parsing module is further used to determine whether an analysis algorithm for executing the analysis task to be executed is stored locally before determining the subtasks included in the analysis task to be executed;
[0025] If the analysis algorithm for executing the analysis task to be executed is not stored locally, executing the step of determining the subtasks included in the analysis task to be executed;
[0026] The execution module is further configured to execute the analysis task to be executed by using the analysis algorithm for executing the analysis task to be executed stored locally, if the analysis algorithm for executing the analysis task to be executed is stored locally.
[0027] In combination with the second aspect, in a third possible implementation, the execution module is further used to hot-switch the currently used analysis algorithm to the target analysis algorithm before using the target analysis algorithm to execute the analysis task to be executed.
[0028] In a third aspect of an embodiment of the present application, a system for executing an analysis task is provided, the system comprising:
[0029] A management platform, used for acquiring analysis tasks of devices connected to the analysis task execution system as analysis tasks to be executed;
[0030] An analysis server, configured to execute the analysis task to be executed according to any of the above analysis task execution methods;
[0031] A storage server, wherein the storage server stores an algorithm component, and the storage server is used to provide the analysis server with the algorithm component for executing the analysis task to be executed.
[0032] In combination with the third aspect, in a first possible implementation method, the algorithm components stored in the storage server are classified according to at least one of the following classification criteria: supported platform architecture, bit width, processed data type, processed target type, and processed subtask type.
[0033] In a fourth aspect of the embodiments of the present application, an electronic device is provided, including:
[0034] Memory, used to store computer programs;
[0035] The processor is used to implement any of the above-mentioned analysis task execution methods when executing the program stored in the memory.
[0036] In a fifth aspect of an embodiment of the present application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the above-mentioned analysis task execution methods is implemented.
[0037] The analysis task execution method, device, system and electronic device provided in the embodiments of the present application may only need to store algorithm components that provide different functions, and through algorithm arrangement, assemble them into analysis algorithms that can execute the analysis tasks to be executed. It is no longer necessary to store an analysis algorithm for each analysis task, which effectively reduces the consumption of storage resources brought about by achieving better adaptability of the analysis equipment. Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0039] Figure 1 A flowchart of a method for executing an analysis task provided in an embodiment of the present application;
[0040] Figure 2 Another flowchart of the method for executing an analysis task provided in an embodiment of the present application;
[0041] Figure 3 Another flowchart of the method for executing an analysis task provided in an embodiment of the present application;
[0042] Figure 4 A schematic diagram of a structure of an analysis task execution device provided in an embodiment of the present application;
[0043] Figure 5a A schematic diagram of a framework of an analysis task execution system provided in an embodiment of the present application;
[0044] Figure 5b Another schematic diagram of the framework of the analysis task execution system provided in the embodiment of the present application;
[0045] Figure 5c A schematic diagram of a target analysis algorithm switching method provided in an embodiment of the present application;
[0046] Figure 6 A schematic diagram of the structure of an electronic device for performing analysis tasks provided in an embodiment of the present application. DETAILED DESCRIPTION
[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0048] See also Figure 1 , Figure 1 The figure is a flow chart of an analysis task execution algorithm provided in an embodiment of the present application, which may include:
[0049] S101, determining subtasks included in the analysis task to be executed.
[0050] The analysis task to be executed may include only one subtask or multiple subtasks at the same time. Each subtask corresponds to a link in the process of the analysis task to be executed. For example, a task is to analyze human behavior in a video stream. The specific process may be to first identify the human body in the video screen and track the identified human body, and perform human behavior analysis based on the human body information obtained by tracking. That is, the task may include a human body recognition subtask, a human body tracking subtask, and a behavior analysis subtask.
[0051] S102, obtaining algorithm components for executing subtasks as algorithm components to be assembled.
[0052] For each subtask included in the analysis task to be executed, an algorithm component for executing the subtask may be obtained. The algorithm component for executing the subtask refers to an algorithm component having the function of executing the subtask. In this embodiment, the algorithm component cannot be run alone. Only when it is in the assembled analysis algorithm can the algorithm component be used to execute the subtask.
[0053] In an optional embodiment, the algorithm component is stored in an algorithm warehouse, and obtaining the algorithm component for executing the subtask may be obtaining the algorithm component for executing the subtask from the algorithm warehouse. In other embodiments, the algorithm component may also be stored locally, and the embodiment of the present application does not limit this.
[0054] S103, assembling the algorithm components to be assembled according to preset arrangement rules to obtain a target analysis algorithm.
[0055] Among them, the preset arrangement rules can be configured according to the actual needs of the user. In a preferred embodiment, the components to be assembled can be assembled in series from front to back in the order of the preset priorities of the algorithm components to be assembled from high to low to obtain the target analysis algorithm.
[0056] Furthermore, the algorithm components to be assembled can be pre-divided into three categories according to different functions, including: algorithm components for providing target detection functions (for example, algorithm components for providing human body detection functions), algorithm components for providing video tracking functions, and algorithm components for providing intelligent application functions (for example, algorithm components for providing human behavior analysis functions). Among these three categories of algorithm components, the algorithm component for providing target detection functions has the highest preset priority, and the algorithm component for providing intelligent application functions has the lowest preset priority.
[0057] Exemplarily, when assembling the algorithm components to be assembled, if all three types of algorithm components exist, the algorithm component for providing target detection function is installed in the first link, and the algorithm component for providing video tracking function is installed in the second link; if there is only one algorithm component for providing intelligent application function, the algorithm component for providing intelligent application function is installed in the third link; if there are multiple algorithm components for providing intelligent application function, these algorithm components for providing intelligent application function are installed in the third link and links after the third link.
[0058] S104, using the target analysis algorithm to execute the analysis task to be executed.
[0059] Since the target analysis algorithm is assembled from algorithm components used to execute subtasks, the target analysis algorithm can execute each subtask in the analysis task to be executed, and thus the target analysis algorithm can be used to execute the analysis task to be executed.
[0060] By selecting this embodiment, it is only necessary to store algorithm components that provide different functions, and through algorithm arrangement, assemble them into analysis algorithms that can execute the analysis tasks to be executed. It is no longer necessary to store an analysis algorithm for each analysis task, which effectively reduces the consumption of storage resources brought about by achieving better adaptability of the analysis equipment. On the other hand, it can also enable more types of analysis tasks to be executed while occupying limited storage space.
[0061] See also Figure 2 , Figure 2 Another flowchart of the method for executing an analysis task provided in an embodiment of the present application is shown, which may include:
[0062] S201, determine whether the analysis algorithm for executing the analysis task to be executed is stored locally. If the analysis algorithm for executing the analysis task to be executed is stored locally, execute S202; if the analysis algorithm for executing the analysis task to be executed is not stored locally, execute S203.
[0063] This embodiment can be applied to electronic devices with intelligent analysis capabilities, for example, it can be applied to an intelligent analysis server, or it can be applied to an intelligent camera equipped with an intelligent processing chip. Taking the application of this embodiment to an intelligent analysis server as an example, the step can be to determine whether there is an analysis algorithm for executing the analysis task to be executed in the memory of the intelligent server, wherein the memory can include an internal memory and an external memory.
[0064] S202, executing the analysis task to be executed using the analysis algorithm for executing the analysis task to be executed that is stored locally.
[0065] When an analysis algorithm for executing the analysis task to be executed is stored locally, it can be considered unnecessary to reassemble the analysis algorithm using the algorithm components. The analysis task to be executed can be executed directly using the analysis algorithm for executing the analysis task to be executed stored locally. Of course, in other embodiments, due to actual user needs, when an analysis algorithm for executing the analysis task to be executed is stored locally, the analysis algorithm can also be reassembled using the algorithm components, and then the assembled analysis algorithm can be used to execute the analysis task to be executed. This embodiment does not limit this.
[0066] S203: Determine the subtasks included in the analysis task to be executed.
[0067] This step is the same as S101, and reference may be made to the aforementioned description of S101, which will not be repeated here.
[0068] S204: Acquire algorithm components for executing subtasks as algorithm components to be assembled.
[0069] This step is the same as S102, and reference may be made to the aforementioned description of S102, which will not be repeated here.
[0070] S205, assembling the algorithm components to be assembled according to preset arrangement rules to obtain a target analysis algorithm.
[0071] This step is the same as S103, and reference may be made to the aforementioned description of S103, which will not be repeated here.
[0072] S206, using the target analysis algorithm to execute the analysis task to be executed.
[0073] This step is the same as S104, and reference may be made to the aforementioned description of S104, which will not be repeated here.
[0074] By selecting this embodiment, when an analysis algorithm for executing the analysis task to be executed is already stored locally, the analysis task to be executed can be executed directly by using the analysis algorithm for executing the analysis task to be executed stored locally, thereby avoiding unnecessary assembly of algorithm components.
[0075] See also Figure 3 , Figure 3 Another flowchart of the method for executing an analysis task provided in an embodiment of the present application is shown, which may include:
[0076] S301: Determine the subtasks included in the analysis task to be executed.
[0077] This step is the same as S101, and reference may be made to the aforementioned description of S101, which will not be repeated here.
[0078] S302: Acquire algorithm components for executing subtasks as algorithm components to be assembled.
[0079] This step is the same as S102, and reference may be made to the aforementioned description of S102, which will not be repeated here.
[0080] S303, assembling the algorithm components to be assembled according to preset arrangement rules to obtain a target analysis algorithm.
[0081] This step is the same as S103, and reference may be made to the aforementioned description of S103, which will not be repeated here.
[0082] S304, hot-switch the currently used analysis algorithm to the target analysis algorithm.
[0083] Among them, hot switching means that the currently used analysis algorithm can be switched to the target analysis algorithm without restarting the device.
[0084] S305: Utilize the target analysis algorithm to execute the analysis task to be executed.
[0085] This step is the same as S104, and reference may be made to the aforementioned description of S104, which will not be repeated here.
[0086] Since in this embodiment, the target analysis algorithm is assembled from the algorithm components to be assembled, and no global variables need to be modified based on the current analysis algorithm, hot switching can be used to achieve faster analysis algorithm switching. Since hot switching does not require restarting the device, the waiting interval between executing different types of analysis tasks to be executed can be effectively shortened.
[0087] See also Figure 4, Figure 4 The figure is a schematic diagram of a structure of an analysis task execution device provided in an embodiment of the present application, which may include:
[0088] The task analysis module 401 is used to determine the subtasks included in the analysis task to be executed;
[0089] A component acquisition module 402 is used to acquire an algorithm component for executing a subtask as an algorithm component to be assembled;
[0090] The algorithm assembly module 403 is used to assemble the algorithm components according to the preset arrangement rules to obtain the target analysis algorithm;
[0091] The execution module 404 is used to execute the analysis task to be executed using the target analysis algorithm.
[0092] Furthermore, the algorithm assembly module 403 is specifically used to assemble the algorithm components to be assembled in series from front to back in the order of their preset priorities from high to low, so as to obtain a target analysis algorithm, wherein the preset priorities of the following three types of algorithm components are from high to low: algorithm components for providing target detection functions, algorithm components for providing video tracking functions, and algorithm components for providing intelligent application functions.
[0093] Furthermore, the task parsing module 401 is also used to determine whether an analysis algorithm for executing the analysis task to be executed is stored locally before determining the subtasks included in the analysis task to be executed;
[0094] If the analysis algorithm for executing the analysis task to be executed is not stored locally, executing the step of determining the subtasks included in the analysis task to be executed;
[0095] The execution module 404 is further used to execute the analysis task to be executed by using the analysis algorithm for executing the analysis task to be executed stored locally, if the analysis algorithm for executing the analysis task to be executed is stored locally.
[0096] Furthermore, the execution module 404 is also used to hot-switch the currently used analysis algorithm to the target analysis algorithm before using the target analysis algorithm to execute the analysis task to be executed.
[0097] See also Figure 5a , Figure 5a The figure shows a schematic diagram of a framework of an analysis task execution system provided in an embodiment of the present application, which may include:
[0098] The management platform 501 is used to obtain the analysis tasks of the devices connected to the analysis task execution system as the analysis tasks to be executed;
[0099] The analysis server 502 is used to execute the analysis task to be executed according to any of the above analysis task execution methods;
[0100] Storage server 503: Algorithm components are stored in the storage server, and the storage server is used to provide the analysis server with the algorithm components for executing the analysis tasks to be executed.
[0101] The analysis server 502 may be a virtual server or a server implemented by a physical device. The storage server may be a single storage device or a storage cluster composed of multiple storage devices.
[0102] In an optional embodiment, if Figure 5b As shown, the storage server 503 is a storage cluster composed of multiple storage devices 5031. These storage devices can use a load balancer 504 to achieve storage load balancing.
[0103] Further, the algorithm components stored in the storage server are classified according to at least one of the following classification criteria: supported platform architecture, bit width, processed data type, processed target type, processed subtask type. In other embodiments, the algorithm components can also be classified according to the manufacturer, writing standard, etc., and this embodiment does not limit this. It can be understood that classifying the algorithm components is conducive to the storage server to better manage these algorithm components.
[0104] Furthermore, the analysis server 502 may directly obtain the algorithm component from the storage server 503 , or the management platform 501 may obtain the algorithm component from the storage server 503 and then dispatch the obtained algorithm component to the analysis server 502 .
[0105] The following optional embodiment will describe the workflow of the analysis system:
[0106] After acquiring the analysis task of the device connected to the analysis system, the management platform 501 may allocate the analysis task to the analysis server 502 , and register an intelligent analysis service for data interaction with the analysis server 502 to implement management of the analysis server 502 .
[0107] The management platform 501 obtains the algorithm components for executing each subtask included in the analysis task from the storage server 503, and dispatches the obtained algorithm components to the analysis server 502. Furthermore, if the management platform 501 is connected to multiple analysis servers 502, the management platform may obtain the operating performance of the multiple analysis servers 502, and assign the analysis task to the analysis server 502 with the highest analysis performance, so as to improve the execution efficiency of the analysis task. Furthermore, before the management platform 501 dispatches the algorithm components to the analysis server 502, the management platform 501 may configure the parameters of these algorithm components. Exemplarily, the management platform 501 may receive the configuration parameters input by the user for the analysis task, and configure the algorithm components according to these configuration parameters, so that the target analysis algorithm assembled from these algorithm components can better complete the analysis task.
[0108] After acquiring the algorithm components, the analysis server 502 combines these algorithm components according to the preset arrangement rules to obtain the target analysis algorithm, and uses the target analysis algorithm to perform the analysis task. The analysis server 502 may have only one target analysis algorithm or multiple target analysis algorithms. The analysis server 502 with multiple target analysis algorithms can hot-switch the currently used analysis algorithm to the target analysis algorithm corresponding to the analysis task according to different analysis tasks. The switching method can be as follows: Figure 5c As shown, multiple analysis tasks can be completed using one analysis server 502.
[0109] Furthermore, in addition to the above-mentioned scheduling algorithm components, the management platform 501 and the analysis server 502 may also implement one or more of the following functions:
[0110] Algorithm update: The management platform 501 can control the analysis server 502 to update the target analysis algorithm regularly or as needed. It is understandable that after the analysis server 502 assembles the algorithm components into the target analysis algorithm, the developer may optimize the algorithm components to improve the performance of these algorithm components. In this case, updating the target analysis algorithm in the analysis server 502 can improve the performance of the analysis server when performing analysis tasks. The analysis server 502 can regularly or under the control of the management platform 501, feedback the version of the target analysis algorithm to the management platform 501, so that the management platform 501 can better manage the target analysis algorithm in the analysis server 502, wherein the version of the target analysis algorithm can be determined by the version of the algorithm components used to assemble the target analysis algorithm, or can be determined by the date when the target analysis algorithm is assembled.
[0111] Deregistration and keep alive: The management platform 501 will occupy a certain amount of system resources to maintain the intelligent analysis service. When a certain analysis server 502 completes all analysis tasks assigned to the analysis server 502, if the computing power provided by other analysis servers 502 is sufficient to complete the analysis tasks generated by the devices connected to the analysis system, the analysis tasks may not be assigned to the analysis server 502 next. At this time, the management platform 501 can deregister the intelligent analysis service corresponding to the analysis server 502. If the analysis tasks are not assigned to the analysis server 502 for a short period of time, and the analysis tasks may be assigned to the analysis server 502 later, the management platform 501 can set the intelligent analysis service to keep alive to facilitate quick wake-up when it is used again, without the need to re-register a new intelligent analysis service.
[0112] The present application also provides an electronic device, such as Figure 6 Shown, including
[0113] Memory 601, used for storing computer programs;
[0114] The processor 602 is used to execute the program stored in the memory 601 to implement the following steps:
[0115] Determine the subtasks included in the analysis task to be performed;
[0116] Obtaining algorithm components for executing subtasks as algorithm components to be assembled;
[0117] Assemble the algorithm components to be assembled according to the preset arrangement rules to obtain the target analysis algorithm;
[0118] Use the target analysis algorithm to execute the analysis tasks to be performed.
[0119] Furthermore, the algorithm components are assembled according to the preset arrangement rules to obtain the target analysis algorithm, including:
[0120] According to the preset priorities of the algorithm components to be assembled from high to low, the algorithm components to be assembled are assembled in series from front to back to obtain a target analysis algorithm, wherein the preset priorities of the following three types of algorithm components are from high to low: algorithm components for providing target detection function, algorithm components for providing video tracking function, and algorithm components for providing intelligent application function.
[0121] Furthermore, before determining the subtasks included in the analysis task to be performed, the method further includes:
[0122] Determine whether an analysis algorithm for executing the analysis task to be executed is stored locally;
[0123] If an analysis algorithm for executing the analysis task to be executed is stored locally, the analysis task to be executed is executed using the analysis algorithm for executing the analysis task to be executed stored locally;
[0124] If the analysis algorithm for executing the analysis task to be executed is not stored locally, the step of determining the subtasks included in the analysis task to be executed is performed.
[0125] Furthermore, before using the target analysis algorithm to execute the analysis task to be executed, the method further includes:
[0126] Hot-switch the currently used analysis algorithm to the target analysis algorithm.
[0127] The memory mentioned in the above electronic device may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the above processor.
[0128] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0129] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which instructions are stored. When the computer-readable storage medium is run on a computer, the computer executes any one of the analysis task execution methods in the above embodiments.
[0130] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any one of the analysis task execution methods in the above embodiments.
[0131] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.
[0132] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0133] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the embodiments of the device, system, electronic device, computer-readable storage medium, and computer program product, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0134] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.
Claims
1. A method for executing an analysis task, characterized in that: The method comprises: Determine the subtasks included in the analysis task to be performed; Obtaining an algorithm component for executing the subtask from an algorithm warehouse storing algorithm components as the algorithm component to be assembled, wherein the algorithm component for executing the subtask is an algorithm component having a function of executing the subtask, and the algorithm component cannot be run alone, and can only be used to execute the subtask when it is in an assembled analysis algorithm; The algorithm components to be assembled are assembled according to preset arrangement rules to obtain a target analysis algorithm. The preset arrangement rules are to assemble the algorithm components to be assembled in series from front to back in the order of preset priorities of the algorithm components to be assembled from high to low. The algorithm group to be assembled includes three categories, and their preset priorities are from high to low: an algorithm component for providing a target detection function, an algorithm component for providing a video tracking function, and an algorithm component for providing an intelligent application function; Hot-switch the currently used analysis algorithm to the target analysis algorithm; The target analysis algorithm is used to execute the analysis task to be executed.
2. The method according to claim 1, characterized in that Before determining the subtasks included in the analysis task to be performed, the method further includes: Determine whether an analysis algorithm for executing the analysis task to be executed is stored locally; If an analysis algorithm for executing the analysis task to be executed is stored locally, executing the analysis task to be executed using the analysis algorithm for executing the analysis task to be executed stored locally; If the analysis algorithm for executing the analysis task to be executed is not stored locally, the step of determining the subtasks included in the analysis task to be executed is executed.
3. An analysis task execution device, characterized in that: The device comprises: A task parsing module, used to determine the subtasks included in the analysis task to be performed; A component acquisition module, used to acquire an algorithm component for executing the subtask from an algorithm warehouse storing algorithm components as the algorithm component to be assembled, wherein the algorithm component for executing the subtask is an algorithm component having the function of executing the subtask, and the algorithm component cannot be run alone, and can only be used to execute the subtask when it is in an assembled analysis algorithm; An algorithm assembly module is used to assemble the algorithm components to be assembled in series from front to back in the order of the preset priorities of the algorithm components to be assembled from high to low, so as to obtain a target analysis algorithm, wherein the preset priorities of the following three types of algorithm components are from high to low: an algorithm component for providing a target detection function, an algorithm component for providing a video tracking function, and an algorithm component for providing an intelligent application function; The execution module is used to hot-switch the currently used analysis algorithm to the target analysis algorithm, and use the target analysis algorithm to execute the analysis task to be executed.
4. The device according to claim 3, characterized in that The task parsing module is further used to determine whether an analysis algorithm for executing the analysis task to be executed is stored locally before determining the subtasks included in the analysis task to be executed; If the analysis algorithm for executing the analysis task to be executed is not stored locally, executing the step of determining the subtasks included in the analysis task to be executed; The execution module is further configured to execute the analysis task to be executed by using the analysis algorithm for executing the analysis task to be executed stored locally, if the analysis algorithm for executing the analysis task to be executed is stored locally.
5. An analysis task execution system, characterized in that: The system comprises: A management platform, used for acquiring analysis tasks of devices connected to the analysis task execution system as analysis tasks to be executed; An analysis server, configured to execute the analysis task to be executed according to the method steps described in any one of claims 1 to 2; A storage server, wherein the storage server stores an algorithm component, and the storage server is used to provide the analysis server with the algorithm component for executing the analysis task to be executed.
6. The system according to claim 5, characterized in that The algorithm components stored in the storage server are classified according to at least one of the following classification criteria: supported platform architecture, bit width, processed data type, processed target type, and processed subtask type.
Citation Information
Patent Citations
Building method capable of expanding processing function quickly in remote sensing image processing system
CN101814029A
Miniaturized universal platform for preprocessing remote-sensing satellite data
CN102521687A
Resource scheduling method and system
CN105094984A
Universal machine learning data analysis platform
CN106779087A
High performance computing frame method and system for image analysis
CN106815070A