WO2020001427A1 - Analysis task execution method, apparatus and system, and electronic device - Google Patents

Analysis task execution method, apparatus and system, and electronic device Download PDF

Info

Publication number
WO2020001427A1
WO2020001427A1 PCT/CN2019/092756 CN2019092756W WO2020001427A1 WO 2020001427 A1 WO2020001427 A1 WO 2020001427A1 CN 2019092756 W CN2019092756 W CN 2019092756W WO 2020001427 A1 WO2020001427 A1 WO 2020001427A1
Authority
WO
WIPO (PCT)
Prior art keywords
analysis
algorithm
task
executed
analysis task
Prior art date
Application number
PCT/CN2019/092756
Other languages
French (fr)
Chinese (zh)
Inventor
冯仁光
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Publication of WO2020001427A1 publication Critical patent/WO2020001427A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless

Definitions

  • the present application relates to the field of data analysis technology, and in particular, to a method, a device, a system, and an electronic device for performing an analysis task.
  • the data collected by the equipment often requires intelligent analysis to obtain the information the user needs.
  • an analysis task may be generated for the collected data, and the analysis device performs the analysis task to obtain information required by the user.
  • the analysis device may use an analysis algorithm written in advance to perform an analysis task.
  • different analysis algorithms may be required to perform, for example, the analysis algorithm required for the analysis task of face recognition in a video is different from the analysis algorithm required for the analysis task of vehicle tracking in the video. Therefore, the analysis tasks that the analysis device can perform are limited to the types of analysis algorithms written in the local area. If the analysis algorithms used to perform certain analysis tasks are not written in the local area, the analysis device may not be able to perform the analysis tasks.
  • analysis algorithms can be written in the analysis device for various analysis tasks in advance, but it will occupy a large amount of storage resources.
  • the purpose of the embodiments of the present application is to provide a method, a device, a system, and an electronic device for performing an analysis task, so as to achieve a better adaptability of the analysis device on the premise that less storage resources are occupied.
  • the specific technical solutions are as follows:
  • a method for performing an analysis task includes:
  • the assembly of the algorithm components according to a preset arrangement rule to obtain a target analysis algorithm includes:
  • the algorithm components to be assembled are assembled in series from front to back to obtain a target analysis algorithm.
  • the preset priorities of the following three types of algorithm components are High to low: Algorithm components used to provide object detection functions, algorithm components used to provide video tracking functions, and algorithm components used to provide intelligent application functions.
  • the method before the determining a subtask included in an analysis task to be performed, the method further includes:
  • the step of determining a sub-task included in the to-be-executed analysis task is performed.
  • the method before using the target analysis algorithm to perform an analysis task to be performed, the method further includes:
  • an analysis task execution device includes:
  • a task analysis module for determining sub-tasks included in the analysis task to be performed
  • a component acquisition module configured to acquire an algorithm component for performing the sub-task as an algorithm component to be assembled
  • An algorithm assembly module is configured to assemble the assembly algorithm components according to a preset arrangement rule to obtain a target analysis algorithm
  • An execution module is configured to use the target analysis algorithm to execute the analysis task to be performed.
  • the algorithm assembly module is specifically configured to move the algorithm component to be assembled from front to bottom according to a preset priority of the algorithm component to be assembled from high to low. It is assembled in series to obtain the target analysis algorithm.
  • 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 intelligence Algorithmic components for application functions.
  • the task analysis module is further configured to determine whether a sub-task included in the analysis task to be executed is stored locally for performing the analysis to be executed before the determination.
  • Task analysis algorithm
  • the execution module is further configured to execute the analysis task to be executed by using the analysis algorithm stored locally to execute the analysis task to be executed if the analysis algorithm used to execute the analysis task to be executed is stored locally.
  • the execution module is further configured to hot-switch the currently used analysis algorithm before performing the analysis task to be performed using the target analysis algorithm.
  • an analysis task execution system includes:
  • a management platform configured to obtain an analysis task of a device connected to the analysis task execution system as a to-be-executed analysis task
  • An analysis server configured to execute the to-be-executed analysis task according to any one of the foregoing analysis task execution methods
  • a storage server storing an algorithm component in the storage server, the storage server being configured to provide the analysis server with an algorithm component for performing the analysis task to be performed.
  • the algorithm components stored in the storage server are classified according to at least one of the following classification basis: supported platform architecture, bit width, The type of data processed, the type of target processed, and the type of subtask processed.
  • an electronic device including:
  • the processor is configured to implement any of the foregoing analysis task execution methods when executing a program stored in the memory.
  • a computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the analysis described in any of the foregoing is implemented. Task execution method.
  • the analysis task execution method, device, system and electronic equipment provided in the embodiments of the present application may only need to store algorithm components that provide different functions, and arrange them into an analysis algorithm capable of performing the analysis task to be performed through algorithm orchestration.
  • This analysis task stores an analysis algorithm, which effectively reduces the consumption of storage resources in order to achieve a better adaptability of the analysis equipment.
  • the implementation of any product or method of this application does not necessarily need to achieve all the advantages described above at the same time.
  • FIG. 1 is a schematic flowchart of an analysis task execution method according to an embodiment of the present application
  • FIG. 2 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application.
  • FIG. 3 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of an analysis task execution device according to an embodiment of the present application.
  • 5a is a schematic diagram of a framework of an analysis task execution system provided by an embodiment of the present application.
  • 5b is another schematic diagram of an analysis task execution system according to an embodiment of the present application.
  • FIG. 5c is a schematic diagram of a switching method of a target analysis algorithm according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of an analysis task execution electronic device according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of an analysis task execution algorithm according to an embodiment of the present application, which may include:
  • the analysis task to be executed may include only one subtask, or may include multiple subtasks at the same time. Each subtask corresponds to a link in the process of the analysis task to be executed.
  • one task is to analyze the human body in the video stream screen.
  • Behavior the specific process may be to first identify the human body in the video picture and track the identified human body, and perform human behavior analysis based on the human body information obtained by the tracking, that is, the task may include a human body identification subtask and a human body tracking subtask. , And behavior analysis subtasks.
  • an algorithm component for performing the sub-task For each sub-task included in the analysis task to be executed, an algorithm component for performing the sub-task may be obtained.
  • the algorithm component used to execute a subtask refers to an algorithm component that has a function of executing the subtask. In this embodiment, the algorithm component cannot run alone. Only in the assembled analysis algorithm, the algorithm component can be used to execute the subtask.
  • the algorithm component is stored in the algorithm warehouse, and the algorithm component used to execute the subtask is obtained.
  • the algorithm component may be obtained from the algorithm warehouse to execute the subtask.
  • the algorithm component may also be stored locally, which is not limited in this embodiment of the present application.
  • the preset orchestration rules can be configured according to the actual needs of the user.
  • the components to be assembled are connected in series from front to back according to the preset priority of the algorithm components to be assembled. Assemble to get the target analysis algorithm.
  • algorithm components to be assembled can be pre-divided into three categories according to different functions, including: algorithm components for providing target detection functions (such as algorithm components for providing human detection functions), and algorithm components for providing video tracking functions.
  • Algorithm components that provide intelligent application functions (such as algorithm components that provide human behavior analysis functions).
  • the preset priority of the algorithm component used to provide the target detection function is higher than the algorithm used to provide the tracking function.
  • the preset priority of the algorithm component used to provide the tracking function is higher than the preset priority of the algorithm component used to provide the intelligent application function.
  • the algorithm component used to provide the target detection function is installed in the first link
  • the algorithm component used to provide the video tracking function is installed Installed in the second link. If there is only one algorithm component for providing intelligent application functions, install the algorithm component for providing intelligent application functions in the third link. If there are multiple algorithms for providing intelligent application functions Components, these algorithm components used to provide intelligent application functions are installed in the third and subsequent links.
  • S104 Use a target analysis algorithm to perform a task to be performed for analysis.
  • the target analysis algorithm is assembled by the algorithm components used to perform the sub-tasks of the task to be analyzed, the target analysis algorithm can perform each sub-task in the analysis task to be performed, and the target analysis algorithm can be used to perform the analysis to be performed task.
  • the algorithm can be assembled into an analysis algorithm that can perform the analysis task to be performed. It is no longer necessary to store an analysis algorithm for each analysis task, which effectively reduces the Realize the better adaptability of analysis equipment, and the consumption of storage resources. On the other hand, it can also enable more types of analysis tasks to be performed with a limited storage space.
  • FIG. 2 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application, which may include:
  • S201 It is determined whether an analysis algorithm for performing an analysis task to be executed is locally stored. If an analysis algorithm for performing an analysis task to be executed is stored locally, S202 is performed. S203.
  • This embodiment can be applied to an electronic device with intelligent analysis capabilities, for example, it can be applied to an intelligent analysis server, or it can be applied to a smart camera equipped with an intelligent processing chip. Taking the application of this embodiment to an intelligent analysis server as an example, this step may be determining whether an analysis algorithm for performing an analysis task to be performed exists in a memory of the intelligent server, where the memory may include an internal memory and an external memory.
  • an analysis algorithm for performing an analysis task to be performed When an analysis algorithm for performing an analysis task to be performed is stored locally, it may be considered that it is not necessary to reassemble the analysis algorithm using an algorithm component. By directly using the analysis algorithm saved locally to perform the analysis task to be performed, the analysis task to be performed can already be performed.
  • the analysis algorithm may be assembled by using the algorithm component, and the analysis algorithm obtained by the assembly is used to perform the analysis to be performed. Task, this embodiment does not limit this.
  • the analysis algorithm for executing an analysis task to be executed when an analysis algorithm for executing an analysis task to be executed is already stored locally, the analysis algorithm for executing an analysis task to be executed locally may be directly used to execute the analysis task to be executed, avoiding problems caused by the algorithm. Resources are wasted due to unnecessary assembly of components.
  • FIG. 3 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application, which may include:
  • hot-swap refers to the fact that it is not necessary to restart the device, and it can switch the currently used analysis algorithm to the target analysis algorithm.
  • the target analysis algorithm is assembled by the algorithm component to be assembled in this embodiment, there is no need to modify any global variables based on the current analysis algorithm, so hot switching can be used to achieve faster analysis algorithm switching. Because hot-swap does not require restarting the device, it can effectively shorten the interval required to perform different types of to-be-analyzed tasks.
  • FIG. 4 is a schematic structural diagram of an analysis task execution apparatus according to an embodiment of the present application, which may include:
  • a task analysis module 401 configured to determine a subtask included in an analysis task to be performed
  • a component acquisition module 402 configured to acquire an algorithm component for performing a sub-task as an algorithm component to be assembled
  • An algorithm assembly module 403 is configured to assemble an algorithm component according to a preset orchestration rule to obtain a target analysis algorithm
  • the execution module 404 is configured to perform an analysis task to be performed by using a target analysis algorithm.
  • the algorithm assembly module 403 is specifically configured to assemble the algorithm components to be assembled in series from front to back according to the preset priority of the algorithm components to be assembled, to obtain a target analysis algorithm.
  • the preset priorities of the components are from high to low: the algorithm component used to provide the target detection function, the algorithm component used to provide the video tracking function, and the algorithm component used to provide the intelligent application function.
  • the task analysis module 401 is further configured to determine, before determining the subtask included in the analysis task to be executed, whether an analysis algorithm for performing the analysis task to be executed is stored locally;
  • the execution module 404 is further configured to execute an analysis task to be executed if the analysis algorithm for executing the analysis task to be executed is stored locally, and use the analysis algorithm stored to execute the analysis task to be executed.
  • execution module 404 is further configured to hot-swap the currently used analysis algorithm to the target analysis algorithm before using the target analysis algorithm to perform the analysis task to be performed.
  • FIG. 5a shows a framework diagram of an analysis task execution system provided by an embodiment of the present application, which may include:
  • a management platform 501 configured to obtain an analysis task of a device connected to the analysis task execution system as a to-be-executed analysis task;
  • An analysis server 502 is configured to execute a to-be-executed analysis task according to any one of the foregoing analysis task execution methods;
  • the storage server 503 stores an algorithm component in the storage server, and the storage server is configured to provide the analysis server with an algorithm component for performing an analysis task to be performed.
  • the analysis server 502 may be a virtual server, or a server as a physical device.
  • the storage server can be a single storage device or a storage cluster composed of multiple storage devices.
  • the storage server 503 is a storage cluster composed of multiple storage devices 5031. These storage devices can utilize a load balancer 504 to achieve storage load balancing.
  • the algorithm components stored in the storage server are classified according to at least one of the following classification basis: supported platform architecture, bit width, type of data processed, type of target processed, processed Subtask type.
  • classification may also be performed according to the manufacturer of the algorithm component, the writing standard, and the like, which is not limited in this embodiment. It is understandable that classifying the algorithm components helps the storage server to better manage these algorithm components.
  • analysis server 502 may obtain the algorithm component directly 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.
  • the management platform 501 may obtain the analysis task of the device accessed by the analysis system, assign the analysis task to the analysis server 502, and register an intelligent analysis service for data interaction with the analysis server 502 to implement the analysis Management of analysis server 502.
  • the management platform 501 obtains, from the storage server 503, an algorithm component for executing each subtask included in the analysis task, and dispatches the obtained algorithm component to the analysis server 502. Further, 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 allocate the analysis task to the analysis server 502 with the highest analysis performance to improve the analysis. Task execution efficiency. Further, before the management platform 501 dispatches algorithm components to the analysis server 502, the management platform 501 may configure parameter settings of these algorithm components. For example, the management platform 501 may receive configuration parameters input by a user for analysis tasks, and according to these The configuration parameters configure the algorithm components, so that the target analysis algorithm assembled by these algorithm components can better complete the analysis task.
  • the analysis server 502 After obtaining the algorithm components, the analysis server 502 composes these algorithm components to obtain a target analysis algorithm according to a preset arrangement rule, and uses the target analysis algorithm to perform an analysis task. There may be only one target analysis algorithm in the analysis server 502, or there may be multiple target analysis algorithms.
  • the analysis server 502 with multiple target analysis algorithms can hot-swap the currently used analysis algorithm to the target analysis algorithm corresponding to the analysis task according to the different analysis tasks.
  • the switching method can be shown in Figure 5c to achieve the use of a
  • the analysis server 502 can complete a variety of analysis tasks.
  • one or more of the following functions may be implemented between the management platform 501 and the analysis server 502:
  • the management platform 501 may update the target analysis algorithm regularly or according to the demand control analysis server 502. It can be understood that after the analysis server 502 composes the algorithm components into a target analysis algorithm, the developer may optimize the algorithm components to improve the performance of these algorithm components. In this case, update the target analysis in the analysis server 502. Algorithms can improve the performance of the analysis server when performing analysis tasks.
  • the analysis server 502 may periodically or be controlled by the management platform 501, and feed back 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.
  • the version may be determined by the version of the algorithm component used to assemble the target analysis algorithm, or may be determined by the date when the target analysis algorithm is assembled.
  • the management platform 501 maintains intelligent analysis services, which consumes a certain amount of system resources. After an 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 After completing the analysis task generated by the device connected to the analysis system, the analysis task may not be assigned to the analysis server 502, and the management platform 501 may cancel the intelligent analysis service corresponding to the analysis server 502. If the analysis task is not assigned to the analysis server 502 for a short period of time, the analysis task may also be assigned to the analysis server 502 in the future. The management platform 501 can set the intelligent analysis service to a keep-alive state to facilitate reuse. Wake up quickly without the need to re-register for a new smart analytics service.
  • An embodiment of the present application further provides an electronic device, as shown in FIG. 6, including:
  • the memory 601 is configured to store a computer program
  • the processor 602 is configured to execute the following steps when executing a program stored in the memory 601:
  • the algorithm components are assembled according to preset orchestration rules to obtain a target analysis algorithm, including:
  • the algorithm components to be assembled are assembled in series from front to back to obtain the target analysis algorithm.
  • 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 method further includes:
  • the analysis algorithm used to execute the analysis task to be executed is stored locally, the analysis algorithm used to execute the analysis task to be executed locally is used to execute the analysis task to be executed;
  • the step of determining a subtask included in the analysis task to be performed is performed.
  • the method further includes:
  • the memory mentioned in the above electronic device may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory.
  • RAM Random Access Memory
  • NVM Non-Volatile Memory
  • the memory may also be at least one storage device located far from the foregoing processor.
  • the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc .; it may also be a digital signal processor (Digital Signal Processing, DSP), special integration Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • NP network processor
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • a computer-readable storage medium stores instructions, and when the computer-readable storage medium is run on a computer, the computer executes any of the foregoing embodiments. Analyze task execution methods.
  • a computer program product containing instructions is also provided.
  • the computer program product is run on a computer, the computer is caused to execute any analysis task execution method in the foregoing embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • 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 from a website site, a computer, a server, or a data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that includes one or more available medium integration.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (Solid State Disk (SSD)), and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

Embodiments of the present application provide an analysis task execution method, apparatus and system, and an electronic device. The method comprises: determining sub-tasks included in an analysis task to be executed; obtaining algorithm components for executing the sub-tasks as algorithm components to be assembled; assembling, according to a preset arrangement rule, the algorithm components to be assembled to obtain a target analysis algorithm; and executing, by using the target analysis algorithm, the analysis task to be executed. Only algorithm components providing different functions need to be stored, and by means of algorithm arrangement, assembled into an analysis algorithm capable of executing the analysis task to be executed, and it is not required to store one analysis algorithm for each analysis task, thereby effectively reducing the consumption of storage resources caused to achieve good adaptability of an analysis device.

Description

一种分析任务执行方法、装置、系统及电子设备Method, device, system and electronic equipment for analyzing task execution
本申请要求于2018年6月28日提交中国专利局、申请号为201810688355.2申请名称为“一种分析任务执行方法、装置、系统及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority from a Chinese patent application filed on June 28, 2018 with the Chinese Patent Office under the application number 201810688355.2 and entitled "A Method, Device, System, and Electronic Equipment for Analyzing Task Execution", the entire contents of which are incorporated by reference. Incorporated in this application.
技术领域Technical field
本申请涉及数据分析技术领域,特别是涉及一种分析任务执行方法、装置、系统及电子设备。The present application relates to the field of data analysis technology, and in particular, to a method, a device, a system, and an electronic device for performing an analysis task.
背景技术Background technique
设备所采集到的数据,往往需要经过智能分析,才能够得到用户需要的信息。具体的,可以是针对采集到的数据,生成分析任务,由分析设备执行该分析任务,以得到用户需要的信息。The data collected by the equipment often requires intelligent analysis to obtain the information the user needs. Specifically, an analysis task may be generated for the collected data, and the analysis device performs the analysis task to obtain information required by the user.
相关技术中,分析设备可以是利用预先写入本地的分析算法,来执行分析任务。对于不同的分析任务,可能需要不同的分析算法来执行,例如对视频中人脸进行识别的分析任务需要的分析算法,和对视频中车辆跟踪的分析任务需要的分析算法不同。因此分析设备所能够执行的分析任务,受限制于预先写入本地的分析算法的种类,如果本地没有预先写入用于执行某个分析任务的分析算法,分析设备可能无法执行该分析任务。为了增加分析设备所能够执行的分析任务的种类,可以在分析设备中预先针对各种分析任务分别写入分析算法,但是会占用大量存储资源。In the related art, the analysis device may use an analysis algorithm written in advance to perform an analysis task. For different analysis tasks, different analysis algorithms may be required to perform, for example, the analysis algorithm required for the analysis task of face recognition in a video is different from the analysis algorithm required for the analysis task of vehicle tracking in the video. Therefore, the analysis tasks that the analysis device can perform are limited to the types of analysis algorithms written in the local area. If the analysis algorithms used to perform certain analysis tasks are not written in the local area, the analysis device may not be able to perform the analysis tasks. In order to increase the types of analysis tasks that can be performed by the analysis device, analysis algorithms can be written in the analysis device for various analysis tasks in advance, but it will occupy a large amount of storage resources.
发明内容Summary of the invention
本申请实施例的目的在于提供一种分析任务执行方法、装置、系统及电子设备,以在占用较少的存储资源的前提下,实现分析设备较好的适应能力。具体技术方案如下:The purpose of the embodiments of the present application is to provide a method, a device, a system, and an electronic device for performing an analysis task, so as to achieve a better adaptability of the analysis device on the premise that less storage resources are occupied. The specific technical solutions are as follows:
在本申请实施例的第一方面,提供了一种分析任务执行方法,所述方法包括:In a first aspect of the embodiments of the present application, a method for performing an analysis task is provided. The method includes:
确定待执行分析任务中所包括的子任务;Determine the subtasks to be included in the analysis task to be performed;
获取用于执行所述子任务的算法组件,作为待组装算法组件;Acquiring an algorithm component for performing the sub-task as an algorithm component to be assembled;
将所述待组装算法组件,按照预设编排规则,组装得到目标分析算法;Assemble the algorithm component to be assembled according to a preset arrangement rule to obtain a target analysis algorithm;
利用所述目标分析算法,执行所述待执行分析任务。And using the target analysis algorithm to perform the analysis task to be performed.
结合第一方面,在第一种可能的实现方式中,所述将所述算法组件,按照预设编排规则,组装得到目标分析算法,包括:With reference to the first aspect, in a first possible implementation manner, the assembly of the algorithm components according to a preset arrangement rule to obtain a target analysis algorithm includes:
按照所述待组装算法组件的预设优先级从高到低的顺序,将所述待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。According to the order of 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. The preset priorities of the following three types of algorithm components are High to low: Algorithm components used to provide object detection functions, algorithm components used to provide video tracking functions, and algorithm components used to provide intelligent application functions.
结合第一方面,在第二种可能的实现方式中,在所述确定待执行分析任务中所包括的子任务之前,所述方法还包括:With reference to the first aspect, in a second possible implementation manner, before the determining a subtask included in an analysis task to be performed, the method further includes:
确定本地是否保存有用于执行待执行分析任务的分析算法;Determining whether an analysis algorithm for performing an analysis task to be performed is stored locally;
如果本地保存有用于执行所述待执行分析任务的分析算法,利用本地所保存的用于执行所述待执行分析任务的分析算法,执行所述待执行分析任务;If an analysis algorithm for executing the to-be-executed analysis task is stored locally, using the analysis algorithm saved for executing the to-be-executed analysis task locally to execute the to-be-executed analysis task;
如果本地没有保存用于执行所述待执行分析任务的分析算法,执行所述确定待执行分析任务中所包括的子任务的步骤。If the analysis algorithm for executing the to-be-executed analysis task is not stored locally, the step of determining a sub-task included in the to-be-executed analysis task is performed.
结合第一方面,在第三种可能的实现方式中,在所述利用所述目标分析算法,执行待执行分析任务之前,所述方法还包括:With reference to the first aspect, in a third possible implementation manner, before using the target analysis algorithm to perform an analysis task to be performed, the method further includes:
将当前所使用的分析算法,热切换为所述目标分析算法。Hot-switch the currently used analysis algorithm to the target analysis algorithm.
在本申请实施例提供的第二方面,提供了一种分析任务执行装置,所述装置包括:In a second aspect provided in the embodiments of the present application, an analysis task execution device is provided, where the device includes:
任务解析模块,用于确定待执行分析任务中所包括的子任务;A task analysis module for determining sub-tasks included in the analysis task to be performed;
组件获取模块,用于获取用于执行所述子任务的算法组件,作为待组装算法组件;A component acquisition module, configured to acquire an algorithm component for performing the sub-task as an algorithm component to be assembled;
算法组装模块,用于将所述组装算法组件,按照预设编排规则,组装得到目标分析算法;An algorithm assembly module is configured to assemble the assembly algorithm components according to a preset arrangement rule to obtain a target analysis algorithm;
执行模块,用于利用所述目标分析算法,执行所述待执行分析任务。An execution module is configured to use the target analysis algorithm to execute the analysis task to be performed.
结合第二方面,在第一种可能的实现方式中,算法组装模块,具体用于按照所述待组装算法组件的预设优先级从高到低的顺序,将所述待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。With reference to the second aspect, in a first possible implementation manner, the algorithm assembly module is specifically configured to move the algorithm component to be assembled from front to bottom according to a preset priority of the algorithm component to be assembled from high to low. It is assembled in series to obtain the target analysis algorithm. Among them, 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 intelligence Algorithmic components for application functions.
结合第二方面,在第二种可能的实现方式中,所述任务解析模块,还用于在所述确定待执行分析任务中所包括的子任务之前,确定本地是否保存有用于执行待执行分析任务的分析算法;With reference to the second aspect, in a second possible implementation manner, the task analysis module is further configured to determine whether a sub-task included in the analysis task to be executed is stored locally for performing the analysis to be executed before the determination. Task analysis algorithm;
如果本地没有保存用于执行所述待执行分析任务的分析算法,执行所述确定待执行分析任务中所包括的子任务的步骤;If the analysis algorithm for executing the to-be-executed analysis task is not stored locally, executing the step of determining a sub-task included in the to-be-executed analysis task;
所述执行模块,还用于如果本地保存有用于执行所述待执行分析任务的分析算法,利用本地所保存的用于执行所述待执行分析任务的分析算法,执行所述待执行分析任务。The execution module is further configured to execute the analysis task to be executed by using the analysis algorithm stored locally to execute the analysis task to be executed if the analysis algorithm used to execute the analysis task to be executed is stored locally.
结合第二方面,在第三种可能的实现方式中,所述执行模块,还用于在所述利用所述目标分析算法,执行待执行分析任务之前,将当前所使用的分析算法,热切换为所述目标分析算法。With reference to the second aspect, in a third possible implementation manner, the execution module is further configured to hot-switch the currently used analysis algorithm before performing the analysis task to be performed using the target analysis algorithm. An algorithm for the target analysis.
在本申请实施例的第三方面,提供了一种分析任务执行系统,所述系统包括:In a third aspect of the embodiments of the present application, an analysis task execution system is provided, and the system includes:
管理平台,用于获取所述分析任务执行系统所接入的设备的分析任务,作为待执行分析任务;A management platform, configured to obtain an analysis task of a device connected to the analysis task execution system as a to-be-executed analysis task;
分析服务器,用于按照上述任一所述的分析任务执行方法,执行所述待执行分析任务;An analysis server, configured to execute the to-be-executed analysis task according to any one of the foregoing analysis task execution methods;
存储服务器,所述存储服务器中保存有算法组件,所述存储服务器用于为所述分析服务器提供用于执行所述待执行分析任务的算法组件。A storage server storing an algorithm component in the storage server, the storage server being configured to provide the analysis server with an algorithm component for performing the analysis task to be performed.
结合第三方面,在第一种可能的实现方式中,所述存储服务器中所保存的算法组件,被按照以下分类依据中的至少一种分类依据进行分类:所支持的平台架构、位宽、所处理的数据类型、所处理的目标类型、所处理的子任 务类型。With reference to the third aspect, in a first possible implementation manner, the algorithm components stored in the storage server are classified according to at least one of the following classification basis: supported platform architecture, bit width, The type of data processed, the type of target processed, and the type of subtask processed.
在本申请实施例的第四方面,提供了一种电子设备,包括:In a fourth aspect of the embodiments of the present application, an electronic device is provided, including:
存储器,用于存放计算机程序;Memory for storing computer programs;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的分析任务执行方法。The processor is configured to implement any of the foregoing analysis task execution methods when executing a program stored in the memory.
在本申请实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的分析任务执行方法。In a fifth aspect of the embodiments of the present application, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the analysis described in any of the foregoing is implemented. Task execution method.
本申请实施例提供的分析任务执行方法、装置、系统及电子设备,可以只需要存储提供不同功能的算法组件,通过算法编排,组装成能够执行待执行分析任务的分析算法,不再需要针对每种分析任务存储一个分析算法,有效地降低了为实现分析设备较好的适应能力,所带来的存储资源的消耗。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。The analysis task execution method, device, system and electronic equipment provided in the embodiments of the present application may only need to store algorithm components that provide different functions, and arrange them into an analysis algorithm capable of performing the analysis task to be performed through algorithm orchestration. This analysis task stores an analysis algorithm, which effectively reduces the consumption of storage resources in order to achieve a better adaptability of the analysis equipment. Of course, the implementation of any product or method of this application does not necessarily need to achieve all the advantages described above at the same time.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings in the following description are only Some embodiments of the application, for those of ordinary skill in the art, can obtain other drawings according to these drawings without paying creative labor.
图1为本申请实施例提供的分析任务执行方法的一种流程示意图;FIG. 1 is a schematic flowchart of an analysis task execution method according to an embodiment of the present application; FIG.
图2为本申请实施例提供的分析任务执行方法的另一种流程示意图;FIG. 2 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application; FIG.
图3为本申请实施例提供的分析任务执行方法的另一种流程示意图;FIG. 3 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application; FIG.
图4为本申请实施例提供的分析任务执行装置的一种结构示意图;FIG. 4 is a schematic structural diagram of an analysis task execution device according to an embodiment of the present application; FIG.
图5a为本申请实施例提供的分析任务执行系统的一种框架示意图;5a is a schematic diagram of a framework of an analysis task execution system provided by an embodiment of the present application;
图5b为本申请实施例提供的分析任务执行系统的另一种框架示意图;5b is another schematic diagram of an analysis task execution system according to an embodiment of the present application;
图5c为本申请实施例提供的目标分析算法切换方式的一种示意图;FIG. 5c is a schematic diagram of a switching method of a target analysis algorithm according to an embodiment of the present application; FIG.
图6为本申请实施例提供的分析任务执行电子设备的一种结构示意图。FIG. 6 is a schematic structural diagram of an analysis task execution electronic device according to an embodiment of the present application.
具体实施方式detailed description
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
参见图1,图1所示为本申请实施例提供的分析任务执行算法的一种流程示意图,可以包括:Referring to FIG. 1, FIG. 1 is a schematic flowchart of an analysis task execution algorithm according to an embodiment of the present application, which may include:
S101,确定待执行分析任务中所包括的子任务。S101. Determine a subtask included in an analysis task to be performed.
待执行分析任务中可以只包括一个子任务,也可以同时包括多个子任务,每个子任务对应于待执行分析任务的流程中的一个环节,示例性的,一个任务为分析视频流画面中的人体行为,具体的流程可以是首先识别出视频画面中的人体,并跟踪识别出来的人体,基于跟踪获取到的人体信息,进行人体行为分析,即该任务可以包括人体识别子任务,人体跟踪子任务、以及行为分析子任务。The analysis task to be executed may include only one subtask, or may include multiple subtasks at the same time. Each subtask corresponds to a link in the process of the analysis task to be executed. For example, one task is to analyze the human body in the video stream screen. Behavior, the specific process may be to first identify the human body in the video picture and track the identified human body, and perform human behavior analysis based on the human body information obtained by the tracking, that is, the task may include a human body identification subtask and a human body tracking subtask. , And behavior analysis subtasks.
S102,获取用于执行子任务的算法组件,作为待组装算法组件。S102. Acquire an algorithm component for executing a subtask as an algorithm component to be assembled.
可以是针对待执行分析任务中所包括的每一个子任务,获取用于执行该子任务的算法组件。其中,用于执行子任务的算法组件,是指具有执行该子任务功能的算法组件。在本实施例中,算法组件不能够单独运行,只有处于组装好的分析算法中,算法组件才能够用于执行子任务。For each sub-task included in the analysis task to be executed, an algorithm component for performing the sub-task may be obtained. The algorithm component used to execute a subtask refers to an algorithm component that has a function of executing the subtask. In this embodiment, the algorithm component cannot run alone. Only in the assembled analysis algorithm, the algorithm component can be used to execute the subtask.
在一种可选的实施例中,算法组件被存储于算法仓库中,获取用于执行子任务的算法组件,可以是从该算法仓库中获取用于执行子任务的算法组件。在其他实施例中,算法组件也可以是存储在本地的,本申请实施例对此不做限制。In an optional embodiment, the algorithm component is stored in the algorithm warehouse, and the algorithm component used to execute the subtask is obtained. The algorithm component may be obtained from the algorithm warehouse to execute the subtask. In other embodiments, the algorithm component may also be stored locally, which is not limited in this embodiment of the present application.
S103,将待组装算法组件,按照预设编排规则,组装得到目标分析算法。S103: Assemble the algorithm component to be assembled according to a preset arrangement rule to obtain a target analysis algorithm.
其中,预设编排规则可以根据用户实际需求进行配置,在一种优选的实施例中,可以是按照待组装算法组件的预设优先级从高到低的顺序,将待组装组件从前到后串联组装,得到目标分析算法。The preset orchestration rules can be configured according to the actual needs of the user. In a preferred embodiment, the components to be assembled are connected in series from front to back according to the preset priority of the algorithm components to be assembled. Assemble to get the target analysis algorithm.
进一步的,待组装算法组件可以根据功能不同被预先划分三类,包括:用于提供目标检测功能的算法组件(例如提供人体检测功能的算法组件)、用于提供视频跟踪功能的算法组件,用于提供智能应用功能的算法组件(例如提供人体行为分析功能的算法组件),这三类算法组件中,用于提供目标检测功能的算法组件的预设优先级高于用于提供跟踪功能的算法组件的预设优先级,用于提供跟踪功能的算法组件的预设优先级高于用于提供智能应用功能的算法组件的预设优先级。Further, 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 (such as algorithm components for providing human detection functions), and algorithm components for providing video tracking functions. Algorithm components that provide intelligent application functions (such as algorithm components that provide human behavior analysis functions). Among these three types of algorithm components, the preset priority of the algorithm component used to provide the target detection function is higher than the algorithm used to provide the tracking function. The preset priority of the component. The preset priority of the algorithm component used to provide the tracking function is higher than the preset priority of the algorithm component used to provide the intelligent application function.
示例性的,在对待组装算法组件进行组装时,如果这三类算法组件均存在,则将其中用于提供目标检测功能的算法组件安装于第一环节,将用于提供视频跟踪功能的算法组件安装于第二环节,如果只存在一个用于提供智能应用功能的算法组件,则将该用于提供智能应用功能的算法组件安装于第三环节,如果存在多个用于提供智能应用功能的算法组件,则将这些用于提供智能应用功能的算法组件安装于第三环节及第三环节以后的环节。Exemplarily, when the algorithm components to be assembled are assembled, if all three types of algorithm components exist, the algorithm component used to provide the target detection function is installed in the first link, and the algorithm component used to provide the video tracking function is installed Installed in the second link. If there is only one algorithm component for providing intelligent application functions, install the algorithm component for providing intelligent application functions in the third link. If there are multiple algorithms for providing intelligent application functions Components, these algorithm components used to provide intelligent application functions are installed in the third and subsequent links.
S104,利用目标分析算法,执行待执行分析任务。S104. Use a target analysis algorithm to perform a task to be performed for analysis.
由于目标分析算法,是由用于执行待分析任务的子任务的算法组件组装得到的,因此目标分析算法能够执行待执行分析任务中的各个子任务,进而目标分析算法可以用于执行待执行分析任务。Because the target analysis algorithm is assembled by the algorithm components used to perform the sub-tasks of the task to be analyzed, the target analysis algorithm can perform each sub-task in the analysis task to be performed, and the target analysis algorithm can be used to perform the analysis to be performed task.
选用该实施例,可以只需要存储提供不同功能的算法组件,通过算法编排,组装成能够执行待执行分析任务的分析算法,不再需要针对每种分析任务存储一个分析算法,有效地降低了为实现分析设备较好的适应能力,所带来的存储资源的消耗。从另一方面来讲,也可以使得在占用有限的存储空间下,能够执行更多种类的待执行分析任务。In this embodiment, only the algorithm components that provide different functions need to be stored, and the algorithm can be assembled into an analysis algorithm that can perform the analysis task to be performed. It is no longer necessary to store an analysis algorithm for each analysis task, which effectively reduces the Realize the better adaptability of analysis equipment, and the consumption of storage resources. On the other hand, it can also enable more types of analysis tasks to be performed with a limited storage space.
参见图2,图2所示为本申请实施例提供的分析任务执行方法的另一种流程示意图,可以包括:Referring to FIG. 2, FIG. 2 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application, which may include:
S201,确定本地是否保存有用于执行待执行分析任务的分析算法,如果 本地保存有用于执行待执行分析任务的分析算法,执行S202,如果本地没有保存用于执行待执行分析任务的分析算法,执行S203。S201. It is determined whether an analysis algorithm for performing an analysis task to be executed is locally stored. If an analysis algorithm for performing an analysis task to be executed is stored locally, S202 is performed. S203.
本实施例可以应用于具有智能分析能力的电子设备上,例如可以是应用于智能分析服务器,也可以是应用于搭载有智能处理芯片的智能相机。以本实施例应用于智能分析服务器为例,该步骤可以是确定该智能服务器的存储器中,是否存在用于执行待执行分析任务的分析算法,其中,存储器可以包括内部存储器以及外部存储器。This embodiment can be applied to an electronic device with intelligent analysis capabilities, for example, it can be applied to an intelligent analysis server, or it can be applied to a smart camera equipped with an intelligent processing chip. Taking the application of this embodiment to an intelligent analysis server as an example, this step may be determining whether an analysis algorithm for performing an analysis task to be performed exists in a memory of the intelligent server, where the memory may include an internal memory and an external memory.
S202,利用本地所保存的用于执行待执行分析任务的分析算法,执行待执行分析任务。S202: Use the analysis algorithm saved locally to perform the analysis task to be executed to execute the analysis task to be executed.
当本地保存有用于执行待执行分析任务的分析算法时,可以认为没有必要利用算法组件重新组装分析算法。直接利用本地所保存的用于执行待执行分析任务的分析算法,已经可以执行待执行分析任务。当然,在其他实施例中,出于用户实际需求,在本地保存有用于执行待执行分析任务的分析算法时,也可以利用算法组件组装分析算法,再利用组装得到的分析算法来执行待执行分析任务,本实施例对此不作限制。When an analysis algorithm for performing an analysis task to be performed is stored locally, it may be considered that it is not necessary to reassemble the analysis algorithm using an algorithm component. By directly using the analysis algorithm saved locally to perform the analysis task to be performed, the analysis task to be performed can already be performed. Of course, in other embodiments, for the actual needs of the user, when the analysis algorithm used to perform the analysis task to be performed is stored locally, the analysis algorithm may be assembled by using the algorithm component, and the analysis algorithm obtained by the assembly is used to perform the analysis to be performed. Task, this embodiment does not limit this.
S203,确定待执行分析任务中所包括的子任务。S203: Determine a subtask included in the analysis task to be performed.
该步骤与S101相同,可以参见前述关于S101的描述,在此不再赘述。This step is the same as S101. For details, refer to the foregoing description of S101, and details are not described herein again.
S204,获取用于执行子任务的算法组件,作为待组装算法组件。S204. Obtain an algorithm component for executing a subtask as an algorithm component to be assembled.
该步骤与S102相同,可以参见前述关于S102的描述,在此不再赘述。This step is the same as S102. For details, refer to the foregoing description of S102, and details are not described herein again.
S205,将待组装算法组件,按照预设编排规则,组装得到目标分析算法。S205: Assemble the algorithm components to be assembled according to a preset orchestration rule to obtain a target analysis algorithm.
该步骤与S103相同,可以参见前述关于S103的描述,在此不再赘述。This step is the same as S103. For details, refer to the foregoing description of S103, and details are not described herein again.
S206,利用目标分析算法,执行待执行分析任务。S206. Use the target analysis algorithm to perform the analysis task to be performed.
该步骤与S104相同,可以参见前述关于S104的描述,在此不再赘述。This step is the same as S104. For details, refer to the foregoing description of S104, and details are not described herein again.
选用该实施例,可以在本地已经保存有用于执行待执行分析任务的分析算法时,直接利用本地已经保存的用于执行待执行分析任务的分析算法,来执行待执行分析任务,避免因对算法组件进行不必要的组装而导致的资源浪 费。In this embodiment, when an analysis algorithm for executing an analysis task to be executed is already stored locally, the analysis algorithm for executing an analysis task to be executed locally may be directly used to execute the analysis task to be executed, avoiding problems caused by the algorithm. Resources are wasted due to unnecessary assembly of components.
参见图3,图3所示为本申请实施例提供的分析任务执行方法的另一种流程示意图,可以包括:Referring to FIG. 3, FIG. 3 is another schematic flowchart of an analysis task execution method according to an embodiment of the present application, which may include:
S301,确定待执行分析任务中所包括的子任务。S301. Determine a subtask included in an analysis task to be performed.
该步骤与S101相同,可以参见前述关于S101的描述,在此不再赘述。This step is the same as S101. For details, refer to the foregoing description of S101, and details are not described herein again.
S302,获取用于执行子任务的算法组件,作为待组装算法组件。S302. Acquire an algorithm component for performing a subtask as an algorithm component to be assembled.
该步骤与S102相同,可以参见前述关于S102的描述,在此不再赘述。This step is the same as S102. For details, refer to the foregoing description of S102, and details are not described herein again.
S303,将待组装算法组件,按照预设编排规则,组装得到目标分析算法。S303: Assemble the algorithm components to be assembled according to a preset arrangement rule to obtain a target analysis algorithm.
该步骤与S103相同,可以参见前述关于S103的描述,在此不再赘述。This step is the same as S103. For details, refer to the foregoing description of S103, and details are not described herein again.
S304,将当前所使用的分析算法,热切换为目标分析算法。S304. Hot-switch the currently used analysis algorithm to the target analysis algorithm.
其中,热切换是指不需要重启设备,既可以实现将当前所使用的分析算法切换为目标分析算法。Among them, hot-swap refers to the fact that it is not necessary to restart the device, and it can switch the currently used analysis algorithm to the target analysis algorithm.
S305,利用目标分析算法,执行待执行分析任务。S305. Use a target analysis algorithm to perform a task to be performed for analysis.
该步骤与S104相同,可以参见前述关于S104的描述,在此不再赘述。This step is the same as S104. For details, refer to the foregoing description of S104, and details are not described herein again.
由于该实施例中,目标分析算法是由待组装算法组件组装得到的,并不需要基于当前的分析算法,修改任何全局变量,因此可以使用热切换,实现更快地分析算法切换。由于热切换不需要重启设备,可以有效地缩短执行不同种类的待执行分析任务之间,所需要等待的间隔。Since the target analysis algorithm is assembled by the algorithm component to be assembled in this embodiment, there is no need to modify any global variables based on the current analysis algorithm, so hot switching can be used to achieve faster analysis algorithm switching. Because hot-swap does not require restarting the device, it can effectively shorten the interval required to perform different types of to-be-analyzed tasks.
参见图4,图4所示为本申请实施例提供的分析任务执行装置的一种结构示意图,可以包括:Referring to FIG. 4, FIG. 4 is a schematic structural diagram of an analysis task execution apparatus according to an embodiment of the present application, which may include:
任务解析模块401,用于确定待执行分析任务中所包括的子任务;A task analysis module 401, configured to determine a subtask included in an analysis task to be performed;
组件获取模块402,用于获取用于执行子任务的算法组件,作为待组装算法组件;A component acquisition module 402, configured to acquire an algorithm component for performing a sub-task as an algorithm component to be assembled;
算法组装模块403,用于将组装算法组件,按照预设编排规则,组装得到目标分析算法;An algorithm assembly module 403 is configured to assemble an algorithm component according to a preset orchestration rule to obtain a target analysis algorithm;
执行模块404,用于利用目标分析算法,执行待执行分析任务。The execution module 404 is configured to perform an analysis task to be performed by using a target analysis algorithm.
进一步的,算法组装模块403,具体用于按照待组装算法组件的预设优先级从高到低的顺序,将待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。Further, the algorithm assembly module 403 is specifically configured to assemble the algorithm components to be assembled in series from front to back according to the preset priority of the algorithm components to be assembled, to obtain a target analysis algorithm. Among them, the following three types of algorithms The preset priorities of the components are from high to low: the algorithm component used to provide the target detection function, the algorithm component used to provide the video tracking function, and the algorithm component used to provide the intelligent application function.
进一步的,任务解析模块401,还用于在确定待执行分析任务中所包括的子任务之前,确定本地是否保存有用于执行待执行分析任务的分析算法;Further, the task analysis module 401 is further configured to determine, before determining the subtask included in the analysis task to be executed, whether an analysis algorithm for performing the analysis task to be executed is stored locally;
如果本地没有保存用于执行待执行分析任务的分析算法,执行确定待执行分析任务中所包括的子任务的步骤;If the analysis algorithm used to perform the analysis task to be performed is not stored locally, perform the step of determining a subtask included in the analysis task to be performed;
执行模块404,还用于如果本地保存有用于执行待执行分析任务的分析算法,利用本地所保存的用于执行待执行分析任务的分析算法,执行待执行分析任务。The execution module 404 is further configured to execute an analysis task to be executed if the analysis algorithm for executing the analysis task to be executed is stored locally, and use the analysis algorithm stored to execute the analysis task to be executed.
进一步的,执行模块404,还用于在利用目标分析算法,执行待执行分析任务之前,将当前所使用的分析算法,热切换为目标分析算法。Further, the execution module 404 is further configured to hot-swap the currently used analysis algorithm to the target analysis algorithm before using the target analysis algorithm to perform the analysis task to be performed.
参见图5a,图5a所示为本申请实施例提供的分析任务执行系统的一种框架示意图,可以包括:Referring to FIG. 5a, FIG. 5a shows a framework diagram of an analysis task execution system provided by an embodiment of the present application, which may include:
管理平台501,用于获取分析任务执行系统所接入的设备的分析任务,作为待执行分析任务;A management platform 501, configured to obtain an analysis task of a device connected to the analysis task execution system as a to-be-executed analysis task;
分析服务器502,用于按照上述任一的分析任务执行方法,执行待执行分析任务;An analysis server 502 is configured to execute a to-be-executed analysis task according to any one of the foregoing analysis task execution methods;
存储服务器503,存储服务器中保存有算法组件,存储服务器用于为分析服务器提供用于执行待执行分析任务的算法组件。The storage server 503 stores an algorithm component in the storage server, and the storage server is configured to provide the analysis server with an algorithm component for performing an analysis task to be performed.
其中,分析服务器502可以为虚拟服务器,也可以是实体设备作为的服务器。存储服务器可以是单个存储设备,也可以是多个存储设备组成的存储集群。The analysis server 502 may be a virtual server, or a server as a physical device. The storage server can be a single storage device or a storage cluster composed of multiple storage devices.
在一种可选的实施例中,如图5b所示,存储服务器503为多个存储设备 5031组成的存储集群。这些存储设备可以利用一负载均衡器504,实现存储负载的均衡。In an optional embodiment, as shown in FIG. 5b, the storage server 503 is a storage cluster composed of multiple storage devices 5031. These storage devices can utilize a load balancer 504 to achieve storage load balancing.
进一步的,存储服务器中所保存的算法组件,被按照以下分类依据中的至少一种分类依据进行分类:所支持的平台架构、位宽、所处理的数据类型、所处理的目标类型、所处理的子任务类型。在其他实施例中,还可以根据算法组件的厂商、编写标准等依据进行分类,本实施例对此不作限制。可以理解的是,对算法组件进行分类,有利于存储服务器更好地对这些算法组件进行管理。Further, the algorithm components stored in the storage server are classified according to at least one of the following classification basis: supported platform architecture, bit width, type of data processed, type of target processed, processed Subtask type. In other embodiments, classification may also be performed according to the manufacturer of the algorithm component, the writing standard, and the like, which is not limited in this embodiment. It is understandable that classifying the algorithm components helps the storage server to better manage these algorithm components.
进一步的,可以是由分析服务器502直接从存储服务器503中获取算法组件,也可以是由管理平台501从存储服务器503中获取算法组件,再将获取到的算法组件调度至分析服务器502。Further, the analysis server 502 may obtain the algorithm component directly 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.
下面的可选实施例将对该分析系统的工作流程进行描述:The following optional embodiments will describe the workflow of the analysis system:
管理平台501可以是获取到分析系统所接入的设备的分析任务后,将该分析任务分配至分析服务器502,并且注册一个智能分析服务用于与该分析服务器502进行数据交互,以实现对该分析服务器502的管理。The management platform 501 may obtain the analysis task of the device accessed by the analysis system, assign the analysis task to the analysis server 502, and register an intelligent analysis service for data interaction with the analysis server 502 to implement the analysis Management of analysis server 502.
管理平台501从存储服务器503中获取用于执行该分析任务所包括的各个子任务的算法组件,并将获取到的算法组件调度至分析服务器502。进一步的,如果管理平台501与多个分析服务器502连接,管理平台可以是获取这多个分析服务器502的运行性能,并将该分析任务分配至分析性能最高的分析服务器502中,以提高该分析任务的执行效率。进一步的,在管理平台501将算法组件调度至分析服务器502之前,管理平台501可以对这些算法组件进行参数配置,示例性的,管理平台501可以是接收用户针对分析任务输入的配置参数,根据这些配置参数对算法组件进行配置,可以使得这些算法组件组装得到的目标分析算法能够更好的完成分析任务。The management platform 501 obtains, from the storage server 503, an algorithm component for executing each subtask included in the analysis task, and dispatches the obtained algorithm component to the analysis server 502. Further, 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 allocate the analysis task to the analysis server 502 with the highest analysis performance to improve the analysis. Task execution efficiency. Further, before the management platform 501 dispatches algorithm components to the analysis server 502, the management platform 501 may configure parameter settings of these algorithm components. For example, the management platform 501 may receive configuration parameters input by a user for analysis tasks, and according to these The configuration parameters configure the algorithm components, so that the target analysis algorithm assembled by these algorithm components can better complete the analysis task.
分析服务器502在获取到算法组件后,按照预设编排规则将这些算法组件组成得到目标分析算法,并利用目标分析算法执行分析任务。分析服务器502中可以只有一种目标分析算法,也可以有多种目标分析算法。具有多种目标分析算法的分析服务器502可以根据分析任务的不同,将当前所使用的分析算 法热切换为与分析任务对应的目标分析算法,切换的方式可以如图5c所示,以实现利用一个分析服务器502就可以完成多种分析任务。After obtaining the algorithm components, the analysis server 502 composes these algorithm components to obtain a target analysis algorithm according to a preset arrangement rule, and uses the target analysis algorithm to perform an analysis task. There may be only one target analysis algorithm in the analysis server 502, or there may be multiple target analysis algorithms. The analysis server 502 with multiple target analysis algorithms can hot-swap the currently used analysis algorithm to the target analysis algorithm corresponding to the analysis task according to the different analysis tasks. The switching method can be shown in Figure 5c to achieve the use of a The analysis server 502 can complete a variety of analysis tasks.
进一步的,除了上述调度算法组件外,管理平台501与分析服务器502之间还可以实现以下功能中的一种或多种:Further, in addition to the above-mentioned scheduling algorithm components, one or more of the following functions may be implemented between the management platform 501 and the analysis server 502:
算法更新:管理平台501可以定期或者根据需求控制分析服务器502更新目标分析算法。可以理解的是,在分析服务器502将算法组件组成成目标分析算法后,开发人员可能对算法组件进行了优化,以提高这些算法组件的性能,在这种情况下更新分析服务器502中的目标分析算法,可以提高分析服务器执行分析任务时的性能。分析服务器502可以定期或者受管理平台501控制,向管理平台501反馈目标分析算法的版本,以使得管理平台501可以更好的对分析服务器502中的目标分析算法进行管理,其中,目标分析算法的版本可以是由组装成该目标分析算法所使用的算法组件的版本确定,也可以是由组装得到该目标分析算法的日期确定。Algorithm update: The management platform 501 may update the target analysis algorithm regularly or according to the demand control analysis server 502. It can be understood that after the analysis server 502 composes the algorithm components into a target analysis algorithm, the developer may optimize the algorithm components to improve the performance of these algorithm components. In this case, update the target analysis in the analysis server 502. Algorithms can improve the performance of the analysis server when performing analysis tasks. The analysis server 502 may periodically or be controlled by the management platform 501, and feed back 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. The version may be determined by the version of the algorithm component used to assemble the target analysis algorithm, or may be determined by the date when the target analysis algorithm is assembled.
注销和保活:管理平台501维护智能分析服务会占用一定量的系统资源,当某个分析服务器502执行完成所有分配至该分析服务器502的分析任务后,如果其他分析服务器502提供的运算能力足以完成分析系统所接入的设备产生的分析任务,接下来可能不会将分析任务分配至该分析服务器502,此时管理平台501可以注销与该分析服务器502对应的智能分析服务。如果只是短时间内不将分析任务分配至该分析服务器502,之后可能还会将分析任务分配至该分析服务器502,管理平台501可以将该智能分析服务设置为保活状态,以方便在再次使用时快速唤醒,而不需要重新注册一个新的智能分析服务。Logout and keep-alive: The management platform 501 maintains intelligent analysis services, which consumes a certain amount of system resources. After an 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 After completing the analysis task generated by the device connected to the analysis system, the analysis task may not be assigned to the analysis server 502, and the management platform 501 may cancel the intelligent analysis service corresponding to the analysis server 502. If the analysis task is not assigned to the analysis server 502 for a short period of time, the analysis task may also be assigned to the analysis server 502 in the future. The management platform 501 can set the intelligent analysis service to a keep-alive state to facilitate reuse. Wake up quickly without the need to re-register for a new smart analytics service.
本申请实施例还提供了一种电子设备,如图6所示,包括An embodiment of the present application further provides an electronic device, as shown in FIG. 6, including:
存储器601,用于存放计算机程序;The memory 601 is configured to store a computer program;
处理器602,用于执行存储器601上所存放的程序时,实现如下步骤:The processor 602 is configured to execute the following steps when executing a program stored in the memory 601:
确定待执行分析任务中所包括的子任务;Determine the subtasks to be included in the analysis task to be performed;
获取用于执行子任务的算法组件,作为待组装算法组件;Obtaining an algorithm component for performing a sub-task as an algorithm component to be assembled;
将待组装算法组件,按照预设编排规则,组装得到目标分析算法;Assemble the algorithm components to be assembled according to preset orchestration rules to assemble the target analysis algorithm;
利用目标分析算法,执行待执行分析任务。Use target analysis algorithms to perform pending analysis tasks.
进一步的,将算法组件,按照预设编排规则,组装得到目标分析算法,包括:Further, the algorithm components are assembled according to preset orchestration rules to obtain a target analysis algorithm, including:
按照待组装算法组件的预设优先级从高到低的顺序,将待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。According to the order of the preset priorities of the algorithm components to be assembled, the algorithm components to be assembled are assembled in series from front to back to obtain the target analysis algorithm. Among them, 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.
进一步的,在确定待执行分析任务中所包括的子任务之前,方法还包括:Further, before determining the subtasks included in the analysis task to be performed, the method further includes:
确定本地是否保存有用于执行待执行分析任务的分析算法;Determining whether an analysis algorithm for performing an analysis task to be performed is stored locally;
如果本地保存有用于执行待执行分析任务的分析算法,利用本地所保存的用于执行待执行分析任务的分析算法,执行待执行分析任务;If the analysis algorithm used to execute the analysis task to be executed is stored locally, the analysis algorithm used to execute the analysis task to be executed locally is used to execute the analysis task to be executed;
如果本地没有保存用于执行待执行分析任务的分析算法,执行确定待执行分析任务中所包括的子任务的步骤。If the analysis algorithm used to perform the analysis task to be performed is not stored locally, the step of determining a subtask included in the analysis task to be performed is performed.
进一步的,在利用目标分析算法,执行待执行分析任务之前,方法还包括:Further, before using the target analysis algorithm to perform the analysis task to be performed, the method further includes:
将当前所使用的分析算法,热切换为目标分析算法。Hot-swap the currently used analysis algorithm to the target analysis algorithm.
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。The memory mentioned in the above electronic device may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located far from the foregoing processor.
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc .; it may also be a digital signal processor (Digital Signal Processing, DSP), special integration Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该 计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一分析任务执行方法。In still another embodiment provided by the present application, a computer-readable storage medium is also provided. The computer-readable storage medium stores instructions, and when the computer-readable storage medium is run on a computer, the computer executes any of the foregoing embodiments. Analyze task execution methods.
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一分析任务执行方法。In still another embodiment provided by the present application, a computer program product containing instructions is also provided. When the computer program product is run on a computer, the computer is caused to execute any analysis task execution method in the foregoing embodiment.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, it may 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 processes or functions according to the embodiments of the present application are wholly or partially generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. 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 from a website site, a computer, a server, or a data center. Transmission via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, or the like that includes one or more available medium integration. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (Solid State Disk (SSD)), and the like.
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that in this article, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that these entities or operations There is any such actual relationship or order among them. Moreover, the terms "including", "comprising", or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or device that includes a series of elements includes not only those elements but also those that are not explicitly listed Or other elements inherent to such a process, method, article, or device. Without more restrictions, the elements defined by the sentence "including a ..." do not exclude the existence of other identical elements in the process, method, article, or equipment that includes the elements.
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同 之处。尤其,对于装置、系统、电子设备、计算机可读存储介质、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a related manner, and the same or similar parts between the various embodiments can be referred to each other. 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 embodiment, the description is relatively simple. For the related parts, see the description of the method embodiment Just fine.
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。The above descriptions are merely preferred embodiments of the present application, and are not intended to limit the protection scope of the present application. Any modification, equivalent replacement, and improvement made within the spirit and principle of this application are included in the protection scope of this application.

Claims (12)

  1. 一种分析任务执行方法,其特征在于,所述方法包括:An analysis task execution method, characterized in that the method includes:
    确定待执行分析任务中所包括的子任务;Determine the subtasks to be included in the analysis task to be performed;
    获取用于执行所述子任务的算法组件,作为待组装算法组件;Acquiring an algorithm component for performing the sub-task as an algorithm component to be assembled;
    将所述待组装算法组件,按照预设编排规则,组装得到目标分析算法;Assemble the algorithm component to be assembled according to a preset arrangement rule to obtain a target analysis algorithm;
    利用所述目标分析算法,执行所述待执行分析任务。And using the target analysis algorithm to perform the analysis task to be performed.
  2. 根据权利要求1所述的方法,其特征在于,所述将所述算法组件,按照预设编排规则,组装得到目标分析算法,包括:The method according to claim 1, wherein the assembly of the algorithm components according to preset orchestration rules to obtain a target analysis algorithm comprises:
    按照所述待组装算法组件的预设优先级从高到低的顺序,将所述待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。According to the order of 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. The preset priorities of the following three types of algorithm components are High to low: Algorithm components used to provide object detection functions, algorithm components used to provide video tracking functions, and algorithm components used to provide intelligent application functions.
  3. 根据权利要求1所述的方法,其特征在于,在所述确定待执行分析任务中所包括的子任务之前,所述方法还包括:The method according to claim 1, wherein before the determining a subtask included in the analysis task to be performed, the method further comprises:
    确定本地是否保存有用于执行待执行分析任务的分析算法;Determining whether an analysis algorithm for performing an analysis task to be performed is stored locally;
    如果本地保存有用于执行所述待执行分析任务的分析算法,利用本地所保存的用于执行所述待执行分析任务的分析算法,执行所述待执行分析任务;If an analysis algorithm for executing the to-be-executed analysis task is stored locally, using the analysis algorithm saved for executing the to-be-executed analysis task locally to execute the to-be-executed analysis task;
    如果本地没有保存用于执行所述待执行分析任务的分析算法,执行所述确定待执行分析任务中所包括的子任务的步骤。If the analysis algorithm for executing the to-be-executed analysis task is not stored locally, the step of determining a sub-task included in the to-be-executed analysis task is performed.
  4. 根据权利要求1所述的方法,其特征在于,在所述利用所述目标分析算法,执行待执行分析任务之前,所述方法还包括:The method according to claim 1, wherein before the using the target analysis algorithm to perform an analysis task to be performed, the method further comprises:
    将当前所使用的分析算法,热切换为所述目标分析算法。Hot-switch the currently used analysis algorithm to the target analysis algorithm.
  5. 一种分析任务执行装置,其特征在于,所述装置包括:An analysis task execution device is characterized in that the device includes:
    任务解析模块,用于确定待执行分析任务中所包括的子任务;A task analysis module for determining sub-tasks included in the analysis task to be performed;
    组件获取模块,用于获取用于执行所述子任务的算法组件,作为待组装 算法组件;A component acquisition module, configured to acquire an algorithm component for performing the sub-task as an algorithm component to be assembled;
    算法组装模块,用于将所述组装算法组件,按照预设编排规则,组装得到目标分析算法;An algorithm assembly module is configured to assemble the assembly algorithm components according to a preset arrangement rule to obtain a target analysis algorithm;
    执行模块,用于利用所述目标分析算法,执行所述待执行分析任务。An execution module is configured to use the target analysis algorithm to execute the analysis task to be performed.
  6. 根据权利要求5所述的装置,其特征在于,算法组装模块,具体用于按照所述待组装算法组件的预设优先级从高到低的顺序,将所述待组装算法组件从前到后串联组装,得到目标分析算法,其中,以下三类算法组件的预设优先级由高到低:用于提供目标检测功能的算法组件、用于提供视频跟踪功能的算法组件、用于提供智能应用功能的算法组件。The device according to claim 5, wherein the algorithm assembly module is specifically configured to serially connect the algorithm components to be assembled from front to back according to a preset priority of the algorithm components to be assembled. Assemble to obtain the target analysis algorithm. Among them, 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 intelligent application functions. Algorithm components.
  7. 根据权利要求5所述的装置,其特征在于,所述任务解析模块,还用于在所述确定待执行分析任务中所包括的子任务之前,确定本地是否保存有用于执行待执行分析任务的分析算法;The apparatus according to claim 5, wherein the task analysis module is further configured to determine whether a sub-task included in the analysis task to be executed is stored locally before the determination of the sub-task included in the analysis task to be executed. Analysis algorithm
    如果本地没有保存用于执行所述待执行分析任务的分析算法,执行所述确定待执行分析任务中所包括的子任务的步骤;If the analysis algorithm for executing the to-be-executed analysis task is not stored locally, executing the step of determining a sub-task included in the to-be-executed analysis task;
    所述执行模块,还用于如果本地保存有用于执行所述待执行分析任务的分析算法,利用本地所保存的用于执行所述待执行分析任务的分析算法,执行所述待执行分析任务。The execution module is further configured to execute the analysis task to be executed by using the analysis algorithm stored locally to execute the analysis task to be executed if the analysis algorithm used to execute the analysis task to be executed is stored locally.
  8. 根据权利要求5所述的装置,其特征在于,所述执行模块,还用于在所述利用所述目标分析算法,执行待执行分析任务之前,将当前所使用的分析算法,热切换为所述目标分析算法。The device according to claim 5, wherein the execution module is further configured to hot-switch the currently used analysis algorithm to all the analysis algorithms before performing the analysis task to be performed using the target analysis algorithm. Describe the target analysis algorithm.
  9. 一种分析任务执行系统,其特征在于,所述系统包括:An analysis task execution system is characterized in that the system includes:
    管理平台,用于获取所述分析任务执行系统所接入的设备的分析任务,作为待执行分析任务;A management platform, configured to obtain an analysis task of a device connected to the analysis task execution system as a to-be-executed analysis task;
    分析服务器,用于按照权利要求1-4中任一所述的方法步骤,执行所述待执行分析任务;An analysis server, configured to execute the analysis task to be performed according to the method steps of any one of claims 1-4;
    存储服务器,所述存储服务器中保存有算法组件,所述存储服务器用于为所述分析服务器提供用于执行所述待执行分析任务的算法组件。A storage server storing an algorithm component in the storage server, the storage server being configured to provide the analysis server with an algorithm component for performing the analysis task to be performed.
  10. 根据权利要求9所述的系统,其特征在于,所述存储服务器中所保存的算法组件,被按照以下分类依据中的至少一种分类依据进行分类:所支持的平台架构、位宽、所处理的数据类型、所处理的目标类型、所处理的子任务类型。The system according to claim 9, wherein the algorithm components stored in the storage server are classified according to at least one of the following classification basis: supported platform architecture, bit width, processed Data type, type of target processed, type of subtask processed.
  11. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    存储器,用于存放计算机程序;Memory for storing computer programs;
    处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。The processor is configured to implement the method steps according to any one of claims 1-4 when executing a program stored in the memory.
  12. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method steps according to any one of claims 1-4 are implemented.
PCT/CN2019/092756 2018-06-28 2019-06-25 Analysis task execution method, apparatus and system, and electronic device WO2020001427A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810688355.2 2018-06-28
CN201810688355.2A CN110659125A (en) 2018-06-28 2018-06-28 Analysis task execution method, device and system and electronic equipment

Publications (1)

Publication Number Publication Date
WO2020001427A1 true WO2020001427A1 (en) 2020-01-02

Family

ID=68986077

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092756 WO2020001427A1 (en) 2018-06-28 2019-06-25 Analysis task execution method, apparatus and system, and electronic device

Country Status (2)

Country Link
CN (1) CN110659125A (en)
WO (1) WO2020001427A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631817B (en) * 2020-12-23 2023-02-07 杭州海康威视系统技术有限公司 Problem diagnosis method and system and electronic equipment
CN113657320A (en) * 2021-08-23 2021-11-16 杭州海康威视数字技术股份有限公司 Service execution method and device
CN114254156A (en) * 2021-12-24 2022-03-29 中电信数智科技有限公司 Video processing method, algorithm bin creating method, device and server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814029A (en) * 2010-04-20 2010-08-25 中国科学院对地观测与数字地球科学中心 Building method capable of expanding processing function quickly in remote sensing image processing system
CN104581423A (en) * 2013-10-12 2015-04-29 北京航天长峰科技工业集团有限公司 Comprehensive scheduling and load balancing method for intelligent massive video analysis system
WO2016063742A1 (en) * 2014-10-20 2016-04-28 クラリオン株式会社 Information presentation device, method, and computer program product
CN107450972A (en) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 A kind of dispatching method, device and electronic equipment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020183984A1 (en) * 2001-06-05 2002-12-05 Yining Deng Modular intelligent multimedia analysis system
CN102521687B (en) * 2011-12-01 2014-12-24 中国资源卫星应用中心 Miniaturized universal platform for preprocessing remote-sensing satellite data
CN105094984A (en) * 2014-11-25 2015-11-25 航天恒星科技有限公司 Resource scheduling method and system
CN106775632B (en) * 2016-11-21 2020-06-12 中国科学院遥感与数字地球研究所 High-performance geographic information processing method and system with flexibly-expandable business process
CN106779087B (en) * 2016-11-30 2019-02-22 福建亿榕信息技术有限公司 A kind of general-purpose machinery learning data analysis platform
CN106815070B (en) * 2016-12-30 2020-06-19 北京哲源科技有限责任公司 High-performance computing framework method and system for image analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814029A (en) * 2010-04-20 2010-08-25 中国科学院对地观测与数字地球科学中心 Building method capable of expanding processing function quickly in remote sensing image processing system
CN104581423A (en) * 2013-10-12 2015-04-29 北京航天长峰科技工业集团有限公司 Comprehensive scheduling and load balancing method for intelligent massive video analysis system
WO2016063742A1 (en) * 2014-10-20 2016-04-28 クラリオン株式会社 Information presentation device, method, and computer program product
CN107450972A (en) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 A kind of dispatching method, device and electronic equipment

Also Published As

Publication number Publication date
CN110659125A (en) 2020-01-07

Similar Documents

Publication Publication Date Title
US11165631B1 (en) Identifying a root cause of alerts within virtualized computing environment monitoring system
US10733019B2 (en) Apparatus and method for data processing
US10067805B2 (en) Technologies for offloading and on-loading data for processor/coprocessor arrangements
US9367803B2 (en) Predictive analytics for information technology systems
US8434087B2 (en) Distributed acceleration devices management for streams processing
US20160246643A1 (en) Method and apparatus for scheduling blocking tasks
JP2020537215A (en) Cloud device joint real-time user use and performance anomaly detection systems and methods
WO2020001427A1 (en) Analysis task execution method, apparatus and system, and electronic device
EP3221789A1 (en) Method and system for code offloading in mobile computing
CN102567109A (en) Interrupt distribution scheme
US11422858B2 (en) Linked workload-processor-resource-schedule/processing-system—operating-parameter workload performance system
US20220413931A1 (en) Intelligent resource management
US11269691B2 (en) Load distribution for integration scenarios
US20220182851A1 (en) Communication Method and Apparatus for Plurality of Administrative Domains
US20220414026A1 (en) Platform framework telemetry
US20220405104A1 (en) Cross platform and platform agnostic accelerator remoting service
US20220414027A1 (en) Platform framework standby operation
US20170286181A1 (en) Deployment and execution of sensing and computational tasks in a network of computing devices
CN113296913A (en) Data processing method, device and equipment based on single cluster and storage medium
US20230418667A1 (en) Computing device for handling tasks in a multi-core processor, and method for operating computing device
US11928516B2 (en) Greener software defined storage stack
US20110251867A1 (en) Method and system for integrated operations and service support
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
US20230222005A1 (en) Shared Resource Interference Detection involving a Virtual Machine Container
US20220413921A1 (en) Platform framework orchestration and discovery

Legal Events

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

Ref document number: 19825532

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19825532

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19825532

Country of ref document: EP

Kind code of ref document: A1

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

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

122 Ep: pct application non-entry in european phase

Ref document number: 19825532

Country of ref document: EP

Kind code of ref document: A1