Method, device, equipment, storage medium and product for determining resource requirement of algorithm network

By decomposing video analysis tasks into sub-tasks and generating task execution graphs, the total resource requirements of video analysis tasks are determined, thus solving the problem of unreasonable resource requirements in intelligent video analysis and improving resource utilization and task processing capabilities.

CN118214730BActive Publication Date: 2025-11-18INSPUR TIANYUAN COMM INFORMATION SYST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410210205.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-26
Publication Date
2025-11-18
Estimated Expiration
2044-02-26

AI Technical Summary

Technical Problem

In the field of intelligent video analytics, there is no reasonable method for determining computing network resource requirements, which results in video analytics tasks being strongly tied to hardware resources and making it impossible to effectively utilize heterogeneous computing resources.

Method used

The video analytics task is broken down into multiple subtasks, a task execution graph is generated, the computational network resource requirements of each subtask are determined, and the task dependencies and resource requirements are arranged to generate the total resource requirements of the video analytics task.

Benefits of technology

It enables accurate measurement of computing network resource requirements, improves the parallel processing capability of video analysis tasks and the utilization rate of computing network resources, and meets the business needs of intelligent video analysis systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118214730B_ABST
    Figure CN118214730B_ABST
Patent Text Reader

Abstract

The application provides a method and device for determining computing network resource demand, equipment, a storage medium and a product, relates to the technical field of resource scheduling, and comprises the following steps: acquiring a video analysis task; performing decomposition processing on the video analysis task to generate a plurality of video analysis subtasks; determining the computing network resource demand corresponding to each video analysis subtask; performing arrangement processing on all the video analysis subtasks based on the computing network resource demand corresponding to each video analysis subtask to generate a task execution graph corresponding to the video analysis task; and determining the total computing network resource demand corresponding to the video analysis task based on the task execution graph and the computing network resource demand corresponding to each video analysis subtask. Through the above method, the accuracy of the computing network resource demand can be measured, which is beneficial to subsequent allocation of computing network resources for the video analysis task and meets the business demand of the intelligent video analysis system.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of resource scheduling, and in particular to a method and device for determining resource requirements of an algorithm network, equipment, a storage medium and a product. BACKGROUND

[0002] With the popularization of computer vision and multi-modal large models, intelligent video analysis technology has been applied to various fields such as government affairs, industry and finance, and in particular in public security and urban governance scenarios, it is necessary to complete ten million-level video parallel analysis, which brings great challenges to the processing capacity of intelligent video analysis systems.

[0003] With the continuous increase in the number of videos, the number of video analysis tasks is also increasing, and the algorithm center contains a large amount of algorithm network resources that can be used to realize parallel processing of video analysis tasks.

[0004] Before allocating algorithm network resources for video analysis tasks, the algorithm network resource requirements of the video analysis tasks need to be determined. However, in the field of intelligent video analysis, there is no reasonable method for determining algorithm network resource requirements. SUMMARY

[0005] The present application provides a method and device for determining resource requirements of an algorithm network, equipment, a storage medium and a product to solve the problem that there is no reasonable method for determining algorithm network resource requirements in the field of intelligent video analysis.

[0006] The present application provides a method for determining resource requirements of an algorithm network, comprising: obtaining a video analysis task; decomposing and processing the video analysis task to generate a plurality of video analysis subtasks; determining the algorithm network resource requirements corresponding to each video analysis subtask; based on the algorithm network resource requirements corresponding to each video analysis subtask, arranging and processing all video analysis subtasks to generate a task execution graph corresponding to the video analysis task; the task execution graph is used to describe the task dependency relationship of each video analysis subtask; and based on the task execution graph and the algorithm network resource requirements corresponding to each video analysis subtask, determining the total algorithm network resource requirements corresponding to the video analysis task.

[0007] According to the method for determining resource requirements of an algorithm network provided by the present application, based on the algorithm network resource requirements corresponding to each video analysis subtask, all video analysis subtasks are arranged and processed to generate a task execution graph corresponding to the video analysis task, comprising: based on the algorithm network resource requirements corresponding to each video analysis subtask, determining the task dependency relationship information of all video analysis subtasks; the task dependency relationship information is information describing the dependency relationship between different video analysis subtasks, and the dependency relationship includes parallel relationship and serial relationship; based on the task dependency relationship information, all video analysis subtasks are arranged and processed to generate a task execution graph corresponding to the video analysis task.

[0008] The application provides a method for determining algorithm network resource demand, which is based on a task execution graph and algorithm network resource demand corresponding to each video analysis subtask, and determines total algorithm network resource demand corresponding to a video analysis task, and comprises the following steps: classifying all video analysis subtasks based on the task execution graph and the algorithm network resource demand corresponding to each video analysis subtask, to obtain a plurality of same-task groups; wherein each same-task group comprises at least one video analysis subtask; the algorithm network resource demand corresponding to each video analysis subtask in the same-task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship; the group algorithm network resource demand corresponding to each same-task group is determined respectively; and the group algorithm network resource demand corresponding to each same-task group is counted to determine the total algorithm network resource demand corresponding to the video analysis task.

[0009] The application provides a method for determining algorithm network resource demand, which is based on a task execution graph and algorithm network resource demand corresponding to each video analysis subtask, and determines total algorithm network resource demand corresponding to a video analysis task, and comprises the following steps: classifying all video analysis subtasks based on the task execution graph and the algorithm network resource demand corresponding to each video analysis subtask, to obtain a plurality of same-task groups; wherein each same-task group comprises at least one video analysis subtask; the algorithm network resource demand corresponding to each video analysis subtask in the same-task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship; the group algorithm network resource demand corresponding to each same-task group is determined respectively; and the group algorithm network resource demand corresponding to each same-task group is counted to determine the total algorithm network resource demand corresponding to the video analysis task.

[0010] The application provides a method for determining algorithm network resource demand, which is based on a task execution graph and algorithm network resource demand corresponding to each video analysis subtask, and determines total algorithm network resource demand corresponding to a video analysis task, and comprises the following steps: classifying all video analysis subtasks based on the task execution graph and the algorithm network resource demand corresponding to each video analysis subtask, to obtain a plurality of same-task groups; wherein each same-task group comprises at least one video analysis subtask; the algorithm network resource demand corresponding to each video analysis subtask in the same-task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship; the group algorithm network resource demand corresponding to each same-task group is determined respectively; and the group algorithm network resource demand corresponding to each same-task group is counted to determine the total algorithm network resource demand corresponding to the video analysis task.

[0011] The application provides a method for determining algorithm network resource demand, which is based on a task execution graph and algorithm network resource demand corresponding to each video analysis subtask, and determines total algorithm network resource demand corresponding to a video analysis task, and comprises the following steps: classifying all video analysis subtasks based on the task execution graph and the algorithm network resource demand corresponding to each video analysis subtask, to obtain a plurality of same-task groups; wherein each same-task group comprises at least one video analysis subtask; the algorithm network resource demand corresponding to each video analysis subtask in the same-task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship; the group algorithm network resource demand corresponding to each same-task group is determined respectively; and the group algorithm network resource demand corresponding to each same-task group is counted to determine the total algorithm network resource demand corresponding to the video analysis task.

[0012] The application further provides a device for determining network resource requirement, comprising: an obtaining module, configured to obtain a video analysis task; a decomposition module, configured to decompose the video analysis task to generate a plurality of video analysis subtasks; a first determining module, configured to determine network resource requirement corresponding to each video analysis subtask; an arrangement module, configured to arrange all video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask to generate a task execution graph corresponding to the video analysis task; the task execution graph is used to describe task dependency relationship of each video analysis subtask; and a second determining module, configured to determine total network resource requirement corresponding to the video analysis task based on the task execution graph and the network resource requirement corresponding to each video analysis subtask.

[0013] The application further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method for determining network resource requirement according to any one of the above-mentioned methods when executing the program.

[0014] The application further provides a non-transitory computer readable storage medium, which stores a computer program, wherein the computer program is executable on a processor to implement the method for determining network resource requirement according to any one of the above-mentioned methods.

[0015] The application further provides a computer program product, comprising a computer program, wherein the computer program is executable on a processor to implement the method for determining network resource requirement according to any one of the above-mentioned methods.

[0016] The application provides a method, device, equipment, storage medium and product for determining network resource requirement, comprising: obtaining a video analysis task; decomposing the video analysis task to generate a plurality of video analysis subtasks; determining network resource requirement corresponding to each video analysis subtask; arranging all video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask to generate a task execution graph corresponding to the video analysis task; the task execution graph is used to describe task dependency relationship of each video analysis subtask; and determining total network resource requirement corresponding to the video analysis task based on the task execution graph and the network resource requirement corresponding to each video analysis subtask. In this way, the video analysis task is decomposed into a plurality of video analysis subtasks, the task execution graph corresponding to the video analysis task is generated according to the network resource requirement corresponding to each video analysis subtask, and the total network resource requirement corresponding to the video analysis task is determined according to the task execution graph and the network resource requirement corresponding to each video analysis subtask, so that the network resource requirement can be accurately measured, and the network resource can be allocated for the video analysis task in the subsequent process to meet the business requirement of the intelligent video analysis system. BRIEF DESCRIPTION OF DRAWINGS

[0017] In order to make the technical solutions in the present application or prior art clearer, the accompanying drawings needed in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0018] Figure 1 is a flowchart of the method for determining the computing network resource requirement provided by the present application.

[0019] Figure 2 is a structural diagram of the intelligent video analysis system provided by the present application.

[0020] Figure 3 is a flowchart of the method for calculating the total requirement of the computing network resource provided by the present application.

[0021] Figure 4 is a structural diagram of the device for determining the computing network resource requirement provided by the present application.

[0022] Figure 5 is a structural diagram of the electronic device provided by the present application. DETAILED DESCRIPTION

[0023] In order to make the technical solutions in the present application or prior art clearer, the accompanying drawings needed in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0024] Please refer to Figure 1 , Figure 1 is a flowchart of the method for determining the computing network resource requirement provided by the present application. In the embodiment, the method for determining the computing network resource requirement is applied to the intelligent video analysis system, and includes steps S110 to S150, and each step is specifically as follows.

[0025] S110: Obtain a video analysis task.

[0026] Please refer to Figure 2 , Figure 2 is a structural diagram of the intelligent video analysis system provided by the present application, as shown in Figure 2 , the intelligent video analysis system includes three modules, which are a business application module, a task arrangement module and a computing network resource module.

[0027] The business application module is used to receive videos to be analyzed captured by monitoring devices set up in different application scenarios, and generate video analysis tasks corresponding to the videos to be analyzed.

[0028] Optionally, application scenarios include, but are not limited to, construction supervision, transparent kitchen operations, water source protection, community security, traffic management, and passenger flow analysis.

[0029] By intelligently analyzing the video stream data captured by the monitoring equipment, information such as objects and their behaviors in the video can be located, and the object type, object behavior type, and corresponding time and location information can be obtained.

[0030] Optionally, the objects include, but are not limited to, people, vehicles, and various items, and the object behaviors include, but are not limited to, human behaviors (such as fighting, smoking, and running) and other events (such as vehicles driving against traffic, occupying roads for business, and landslides).

[0031] The computing network resource module is used to connect to the computing network resources of the computing power center.

[0032] Optionally, computing network resources include computing power resources, storage resources, network resources, and server resources; among them, network resources include mobile networks such as 4G and 5G and fixed network resources such as video leased lines; server resources include cloud servers and edge servers, which can be used for task execution and resource management through container orchestration systems such as k8s or k3s to form edge computing power clusters K3S, cloud computing power clusters K8S, etc.

[0033] Specifically, the task orchestration module of the intelligent video analytics system can acquire video analytics tasks generated by the business application module.

[0034] Optionally, the number of video analytics tasks can be one or more.

[0035] Optionally, the business application module can also send information such as the type of computing resources required for the video analysis task, the amount of task data, and the expected task completion time to the task orchestration module.

[0036] S120: Decompose the video analysis task into multiple video analysis sub-tasks.

[0037] After acquiring the video analysis task, the task orchestration module decomposes the video analysis task and generates multiple video analysis sub-tasks.

[0038] like Figure 2 As shown, the types of video analysis subtasks include live video streaming, video encoding and decoding, video frame extraction, text recognition, speech recognition, speech synthesis, object detection, and event analysis.

[0039] The algorithm network resources required by the video analysis sub-tasks such as video live streaming and video coding are CPU and video coding special chips; the algorithm network resources required by the video analysis sub-tasks such as text recognition, target detection and event analysis are determined according to the real-time requirements of the tasks, and the required algorithm network resources are mainly cloud GPU computing resources and edge FPGA and AI acceleration card computing resources.

[0040] Specifically, the video analysis task can be decomposed into multiple video analysis sub-tasks of different types by the task scheduling module.

[0041] S130: Determine the algorithm network resource requirement corresponding to each video analysis sub-task.

[0042] Specifically, the business application module can send the required computing resource type information, task data volume information and expected task completion time information corresponding to the video analysis task to the task scheduling module, and determine the algorithm network resource requirement corresponding to each video analysis sub-task according to the information.

[0043] The algorithm network resource requirement includes but is not limited to computing resource requirement, storage resource requirement, network resource requirement, hardware resource requirement, etc.

[0044] Optionally, the computing resource requirement includes computing type resource requirement, the computing type includes floating point computing resource requirement and integer computing resource requirement; the network resource requirement includes uplink and downlink rate performance requirement, time delay performance requirement and packet loss rate, etc.; the storage resource requirement includes video memory, internal memory and disk storage, etc.

[0045] S140: Schedule all video analysis sub-tasks based on the algorithm network resource requirement corresponding to each video analysis sub-task, and generate a task execution graph corresponding to the video analysis task.

[0046] The task execution graph is used to describe the task dependency relationship of each video analysis sub-task.

[0047] Specifically, based on the algorithm network resource requirement corresponding to each video analysis sub-task and the service level agreement (SLA) of the business application module, the task dependency relationship between all video analysis sub-tasks can be determined; according to the task dependency relationship between all video analysis sub-tasks, the all video analysis sub-tasks can be scheduled, and a task execution graph corresponding to the video analysis task can be generated.

[0048] S150: Determine the total algorithm network resource requirement corresponding to the video analysis task based on the task execution graph and the algorithm network resource requirement corresponding to each video analysis sub-task.

[0049] The embodiment provides a method for determining network resource requirement, acquires a video analysis task; decomposes and processes the video analysis task to generate a plurality of video analysis subtasks; determines network resource requirement corresponding to each video analysis subtask; arranges and processes all video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask to generate a task execution graph corresponding to the video analysis task; the task execution graph is used for describing task dependency relationship of each video analysis subtask; and determines total network resource requirement corresponding to the video analysis task based on the task execution graph and the network resource requirement corresponding to each video analysis subtask. Through the above manner, the video analysis task is decomposed into a plurality of video analysis subtasks, the task execution graph corresponding to the video analysis task is generated according to the network resource requirement corresponding to each video analysis subtask, and then the total network resource requirement corresponding to the video analysis task is determined according to the task execution graph and the network resource requirement corresponding to each video analysis subtask, so that the accuracy of network resource requirement can be measured, and the network resource requirement for the video analysis task is allocated subsequently, and the business requirement of the intelligent video analysis system is met.

[0050] In some embodiments, the arranging and processing of all video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask to generate a task execution graph corresponding to the video analysis task comprises: determining task dependency relationship information of all video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask; the task dependency relationship information is information for describing dependency relationship between different video analysis subtasks, and the dependency relationship comprises parallel relationship and serial relationship; and the arranging and processing of all video analysis subtasks based on the task dependency relationship information to generate a task execution graph corresponding to the video analysis task.

[0051] Generally, the video analysis task can be decomposed into a plurality of video analysis subtasks of different types by the task arrangement module, and the dependency relationship between any two video analysis subtasks of different types can be parallel relationship or serial relationship.

[0052] If the dependency relationship between two video analysis subtasks of different types is parallel relationship, the two video analysis subtasks can be executed in parallel.

[0053] If the dependency relationship between two video analysis subtasks of different types is serial relationship, the two video analysis subtasks can be executed in time sequence.

[0054] Specifically, the task dependency relationship information of all video analysis subtasks is determined based on the network resource requirement corresponding to each video analysis subtask.

[0055] The task dependency relationship information is information for describing dependency relationship between different video analysis subtasks, and the dependency relationship comprises parallel relationship and serial relationship.

[0056] Further, based on the task dependency relationship information, all video analysis subtasks are arranged and processed to generate a task execution graph corresponding to the video analysis task.

[0057] In some embodiments, based on the task execution graph and the computing network resource requirement corresponding to each video analysis subtask, the total computing network resource requirement corresponding to the video analysis task is determined, including: based on the task execution graph and the computing network resource requirement corresponding to each video analysis subtask, all video analysis subtasks are classified to obtain a plurality of same task groups; wherein each same task group includes at least one video analysis subtask; the computing network resource requirement corresponding to each video analysis subtask in the same task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship; the group computing network resource requirement corresponding to each same task group is determined respectively; and the group computing network resource requirement corresponding to each same task group is counted to determine the total computing network resource requirement corresponding to the video analysis task.

[0058] Based on the task execution graph, the execution order of each video analysis subtask can be determined, and according to the execution order of each video analysis subtask, the serial-parallel relationship between each video analysis subtask can be determined.

[0059] Specifically, based on the task execution graph, the serial-parallel relationship between each video analysis subtask is determined, and according to the serial-parallel relationship between each video analysis subtask and the computing network resource requirement corresponding to each video analysis subtask, all video analysis subtasks are classified to obtain a plurality of same task groups.

[0060] Each same task group includes at least one video analysis subtask, the computing network resource requirement corresponding to each video analysis subtask in the same task group is the same, and the dependency relationship between all video analysis subtasks is a parallel relationship.

[0061] Since the computing network resource requirements corresponding to different types of video analysis subtasks are different, for a plurality of video analysis subtasks with a parallel dependency relationship, the plurality of video analysis subtasks can be executed in parallel, so as to improve the execution efficiency of the video analysis subtasks, improve the utilization rate of the computing network resources, and further improve the parallel processing capability of the intelligent video analysis system for the video analysis task.

[0062] Further, the group computing network resource requirement corresponding to each same task group is determined respectively; and the group computing network resource requirement corresponding to each same task group is counted to determine the total computing network resource requirement corresponding to the video analysis task.

[0063] Please refer to Figure 3 , Figure 3 is a method for calculating the total computing network resource requirement provided by the application.

[0064] AsFigure 3 As shown, assuming that the video analysis task is decomposed into six different types of video analysis subtasks, denoted as a plurality of subtask 1, a plurality of subtask 2, a plurality of subtask 3, a plurality of subtask 4, a plurality of subtask 5 and a plurality of subtask 6 respectively; the dependency relationship between the same type of tasks is parallel relationship (i.e. the same subtask can be executed in parallel), subtask 1, subtask 2, subtask 3 and subtask 6 can be executed in series, subtask 1, subtask 2, subtask 4, subtask 5 and subtask 6 can be executed in series, subtask 3 and subtask 4, subtask 5 can be executed in parallel; the six different types of video analysis subtasks all only need hardware resources: the algorithm network resource requirements corresponding to subtask 1, subtask 2 and subtask 3 are the same, denoted as hardware resource requirement 1; the algorithm network resource requirements corresponding to subtask 4 and subtask 5 are the same, denoted as hardware resource requirement 2; the algorithm network resource requirement corresponding to subtask 6 is denoted as hardware resource requirement 3.

[0065] It can be understood that the number of subtask 1, subtask 2, subtask 3, subtask 4, subtask 5 and subtask 6 can be different.

[0066] For a plurality of subtask 1, since the algorithm network resource requirements corresponding to each subtask 1 are the same, and the dependency relationship between all subtask 1 is parallel relationship, therefore, by classifying all video analysis subtasks, a same type of task group 1 (denoted as task group 1) can be obtained, wherein the task group 1 contains a plurality of subtask 1.

[0067] Similarly, subtask group 2, subtask group 3, subtask group 4, subtask group 5 and subtask group 6 can be obtained.

[0068] Further, the grouping algorithm network resource requirement corresponding to each same type of task group is determined respectively; the grouping algorithm network resource requirement corresponding to each same type of task group is counted to determine the total algorithm network resource requirement corresponding to the video analysis task.

[0069] In some embodiments, the grouping algorithm network resource requirement corresponding to each same type of task group is determined respectively, including: determining the number of video analysis subtasks corresponding to each same type of task group respectively; based on the algorithm network resource requirement corresponding to any video analysis subtask in each same type of task group and the number of video analysis subtasks corresponding to each same type of task group, the grouping algorithm network resource requirement corresponding to each same type of task group is determined.

[0070] Please continue to refer to FIG. 3, for task group 1, the number of video analysis subtasks corresponding to task group 1 is determined first.

[0071] Assuming that task group 1 contains 2 subtasks 1, the corresponding grouped computing network resource requirement of task group 1 includes the product of the number of subtasks 1 and the corresponding computing network resource requirement of each subtask 1, that is, the corresponding grouped computing network resource requirement of task group 1 is 2 CPUs with a maximum computing power of 10 TOPS, 2 10G memories, and 2 network devices with a network speed of 1.5 Kpbs.

[0072] Similarly, the corresponding grouped computing network resource requirement of subtask group 2, subtask group 3, subtask group 4, subtask group 5, and subtask group 6 can be calculated.

[0073] After calculating the corresponding grouped computing network resource requirement of the 6 task groups of the same type, all the grouped computing network resource requirements are accumulated and calculated, and the total computing network resource requirement corresponding to the video analysis task can be obtained.

[0074] The method for determining the computing network resource requirement provided in this embodiment decomposes the video analysis task into a plurality of video analysis subtasks. Since the computing network resource requirements corresponding to different types of video analysis subtasks are different, the video analysis subtasks in parallel relationship can be executed in parallel, improving the execution efficiency of the video analysis subtasks, improving the utilization rate of the computing network resources, and further improving the parallel processing capability of the intelligent video analysis system for the video analysis task. The problem that the heterogeneous computing resource cannot be utilized in parallel due to the strong binding between the video analysis task and the hardware resource in the prior art can be solved.

[0075] In some embodiments, after determining the total computing network resource requirement corresponding to the video analysis task based on the task execution graph and the computing network resource requirement corresponding to each video analysis subtask, the method further includes: allocating the required computing network resources to each task group of the same type based on the grouped computing network resource requirement corresponding to each task group of the same type; and performing parallel analysis and processing on each task group of the same type based on the allocated computing network resources, to obtain the video analysis result corresponding to the video analysis task.

[0076] After determining the total computing network resource requirement corresponding to the video analysis task based on the task execution graph and the computing network resource requirement corresponding to each video analysis subtask, the required computing network resources are allocated to each task group of the same type based on the grouped computing network resource requirement corresponding to each task group of the same type.

[0077] Further, for each task group of the same type, parallel analysis and processing are performed on each video analysis subtask in the task group of the same type based on the allocated computing network resources, to obtain the video analysis result corresponding to the video analysis task.

[0078] In some embodiments, before the video analysis task is acquired, the method further includes: acquiring a video to be analyzed; and generating a video analysis task corresponding to the video to be analyzed based on a type of an application scenario of the video to be analyzed.

[0079] The intelligent video analysis system includes three modules, namely, a business application module, a task arrangement module, and an algorithm network resource module.

[0080] Specifically, before the video analysis task is acquired, the business application module receives a video to be analyzed captured by a monitoring device arranged in a different application scenario, and generates a video analysis task corresponding to the video to be analyzed based on a type of an application scenario of the video to be analyzed.

[0081] Optionally, the application scenario includes, but is not limited to, construction supervision, bright kitchen and bright stove, water source protection, community security, traffic management, and passenger flow analysis.

[0082] By intelligently analyzing the video stream data captured by the monitoring device, information about an object and an object behavior appearing in the video to be analyzed can be located, and an object type, an object behavior type, and corresponding time information and location information can be obtained.

[0083] Optionally, the object includes, but is not limited to, a person, a vehicle, and various articles, and the object behavior includes, but is not limited to, a human behavior (such as fighting, smoking, and running) and other events (such as a vehicle driving in reverse, operating on the road, and a landslide).

[0084] Specifically, before the video analysis task is acquired, the business application module can optionally send information about a required computing resource type, a task data volume, and an expected task completion time corresponding to the video analysis task to the task arrangement module.

[0085] The application further provides a determination device for algorithm network resource demand. Figure 4 , Figure 4 is a structural schematic diagram of the determination device for algorithm network resource demand provided by the application, and in the embodiment, the determination device for algorithm network resource demand includes an acquisition module 410, a decomposition module 420, a first determination module 430, an arrangement module 440, and a second determination module 450.

[0086] The acquisition module 410 is configured to acquire a video analysis task.

[0087] The decomposition module 420 is configured to perform decomposition processing on the video analysis task to generate a plurality of video analysis subtasks.

[0088] The first determination module 430 is configured to determine algorithm network resource demand corresponding to each video analysis subtask.

[0089] The scheduling module 440 is configured to perform scheduling processing on all the video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask, and generate a task execution graph corresponding to the video analysis task.

[0090] The task execution graph is used to describe the task dependency relationship of each video analysis subtask.

[0091] The second determination module 450 is configured to determine the total network resource requirement corresponding to the video analysis task based on the task execution graph and the network resource requirement corresponding to each video analysis subtask.

[0092] In some embodiments, the scheduling module 440 is configured to determine the task dependency relationship information of all the video analysis subtasks based on the network resource requirement corresponding to each video analysis subtask; the task dependency relationship information is information describing the dependency relationship between different video analysis subtasks, and the dependency relationship includes parallel relationship and serial relationship; the scheduling module 440 is configured to perform scheduling processing on all the video analysis subtasks based on the task dependency relationship information, and generate a task execution graph corresponding to the video analysis task.

[0093] In some embodiments, the second determination module 450 is configured to classify all the video analysis subtasks based on the task execution graph and the network resource requirement corresponding to each video analysis subtask, and obtain a plurality of homogeneous task groups; each homogeneous task group includes at least one video analysis subtask; the network resource requirement corresponding to each video analysis subtask in the same homogeneous task group is the same, and the dependency relationship between all the video analysis subtasks is parallel relationship; the second determination module 450 is configured to determine the group network resource requirement corresponding to each homogeneous task group respectively; and the second determination module 450 is configured to determine the total network resource requirement corresponding to the video analysis task by counting the group network resource requirement corresponding to each homogeneous task group.

[0094] In some embodiments, the second determination module 450 is configured to determine the number of video analysis subtasks corresponding to each homogeneous task group respectively; and the second determination module 450 is configured to determine the group network resource requirement corresponding to each homogeneous task group based on the network resource requirement corresponding to any video analysis subtask in each homogeneous task group and the number of video analysis subtasks corresponding to each homogeneous task group.

[0095] In some embodiments, the network resource requirement determination apparatus further includes a network resource allocation module.

[0096] The network resource allocation module is configured to allocate the required network resource to each homogeneous task group respectively based on the group network resource requirement corresponding to each homogeneous task group; and the network resource allocation module is configured to perform parallel analysis processing on each homogeneous task group respectively based on the allocated network resource of each homogeneous task group, and obtain a video analysis result corresponding to the video analysis task.

[0097] In some embodiments, the acquisition module 410 is configured to acquire a video to be analyzed; and generate a video analysis task corresponding to the video to be analyzed based on a type of an application scenario of the video to be analyzed.

[0098] The application further provides an electronic device, Figure 5 is a structural schematic diagram of the electronic device provided by the application, as Figure 5 shown, the electronic device can include: a processor 510, a communications interface 520, a memory 530 and a communications bus 540, wherein the processor 510, the communications interface 520, the memory 530 complete mutual communication through the communications bus 540. The processor 510 can invoke the logic instructions in the memory 530 to execute the determination method of network resource demand.

[0099] In addition, the logic instructions in the memory 530 described above can be implemented in the form of a software functional unit and sold or used as an independent product, which can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the application essentially or the part of the prior art or the part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in the various embodiments of the application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk and various program codes that can be stored in the medium.

[0100] On the other hand, the application further provides a computer program product, the computer program product includes a computer program, the computer program can be stored on a non-transitory computer readable storage medium, when the computer program is executed by a processor, the computer can execute the determination method of network resource demand provided by the above-mentioned method.

[0101] In another aspect, the application further provides a non-transitory computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the determination method of network resource demand provided by the above-mentioned method.

[0102] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separate, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed to multiple network units. Part or all of the modules can be selected to achieve the purposes of the embodiments according to actual needs. Those skilled in the art can understand and implement without creative labor.

[0103] Through the description of the above embodiments, those skilled in the art can clearly understand that the embodiments can be realized by means of software and the necessary general hardware platform, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, which can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.

[0104] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for determining network resource requirements, characterized in that, include: Obtain video analysis tasks; The video analysis task is decomposed into multiple video analysis sub-tasks; Determine the computing network resource requirements for each video analysis subtask; the computing network resource requirements include computing power resource requirements, storage resource requirements, network resource requirements, and hardware resource requirements. Based on the computing network resource requirements corresponding to each video analysis subtask, all video analysis subtasks are orchestrated to generate a task execution graph corresponding to the video analysis task. The task execution graph is used to describe the task dependencies of each video analysis subtask. Based on the task execution graph and the computing network resource requirements corresponding to each video analysis subtask, the total computing network resource requirements corresponding to the video analysis task are determined. The process of orchestrating all video analysis subtasks based on their network resource requirements to generate a task execution graph for each video analysis task includes: Based on the computing network resource requirements corresponding to each video analysis subtask, the task dependency information of all video analysis subtasks is determined; the task dependency information describes the dependency relationship between different video analysis subtasks, and the dependency relationship includes parallel relationship and serial relationship. Based on the task dependency information, all video analysis subtasks are orchestrated to generate a task execution graph corresponding to the video analysis task. The step of determining the total network resource requirement for the video analysis task based on the task execution graph and the network resource requirements corresponding to each video analysis subtask includes: Based on the task execution graph, the serial-parallel relationship between each video analysis subtask is determined. According to the serial-parallel relationship between each video analysis subtask and the computing network resource requirements corresponding to each video analysis subtask, all video analysis subtasks are classified to obtain multiple similar task groups. Each similar task group includes at least one video analysis subtask. Each video analysis subtask in the similar task group has the same computing network resource requirements, and the dependency relationship between all video analysis subtasks is a parallel relationship. Determine the network resource requirements for each group of tasks of the same type. The network resource requirements for each group of similar tasks are statistically analyzed to determine the total network resource requirements for the video analysis task.

2. The method for determining network resource requirements according to claim 1, characterized in that, The step of determining the network resource requirements for each group of tasks of the same type includes: Determine the number of video analysis subtasks corresponding to each task group of the same type; Based on the computing network resource requirements corresponding to any video analysis subtask in each type of task group and the number of video analysis subtasks in each type of task group, the group computing network resource requirements corresponding to each type of task group are determined.

3. The method for determining network resource requirements according to claim 1, characterized in that, After determining the total network resource requirement corresponding to the video analysis task based on the task execution graph and the network resource requirements corresponding to each video analysis subtask, the process further includes: Based on the network resource requirements of each group of tasks of the same type, the required network resources are allocated to each group of tasks of the same type. Based on the computing network resources allocated to each task group of the same type, parallel analysis and processing are performed on each task group of the same type to obtain the video analysis results corresponding to the video analysis task.

4. The method for determining network resource requirements according to claim 3, characterized in that, Before acquiring the video analysis task, the following is also included: Obtain the video to be analyzed; Based on the application scenario type of the video to be analyzed, a video analysis task corresponding to the video to be analyzed is generated.

5. A device for determining network resource requirements, characterized in that, include: The acquisition module is used to acquire video analysis tasks; The decomposition module is used to decompose the video analysis task and generate multiple video analysis sub-tasks. The first determining module is used to determine the computing network resource requirements corresponding to each video analysis subtask; the computing network resource requirements include computing power resource requirements, storage resource requirements, network resource requirements, and hardware resource requirements. The orchestration module is used to orchestrate all video analysis subtasks based on the computing network resource requirements corresponding to each video analysis subtask, and generate the task execution graph corresponding to the video analysis task. The task execution graph is used to describe the task dependencies of each video analysis subtask. The second determining module is used to determine the total computing network resource requirement corresponding to the video analysis task based on the task execution graph and the computing network resource requirement corresponding to each video analysis sub-task. The orchestration module is used to determine the task dependency information of all video analysis subtasks based on the computing network resource requirements corresponding to each video analysis subtask. The task dependency information describes the dependency relationships between different video analysis subtasks, including parallel and serial relationships. Based on the task dependency information, all video analysis subtasks are orchestrated to generate a task execution graph corresponding to the video analysis task. The second determining module is used to determine the serial-parallel relationship between each video analysis subtask based on the task execution graph, and to classify all video analysis subtasks according to the serial-parallel relationship between each video analysis subtask and the computing network resource requirements corresponding to each video analysis subtask to obtain multiple similar task groups; wherein, each similar task group includes at least one video analysis subtask; each video analysis subtask in the similar task group has the same computing network resource requirements, and the dependency relationship between all video analysis subtasks is a parallel relationship; and to determine the group computing network resource requirements corresponding to each similar task group respectively. The network resource requirements for each group of similar tasks are statistically analyzed to determine the total network resource requirements for the video analysis task.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method for determining network resource requirements as described in any one of claims 1 to 4.

7. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for determining network resource requirements as described in any one of claims 1 to 4.

8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the method for determining network resource requirements as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Computing power network configuration method and device, equipment and storage medium

    CN116232878A

  • CPU-GPU (Central Processing Unit-Graphic Processing Unit) cooperative scheduling method and device based on asynchronous operation

    CN117032999A