CN110895464B - Application deployment method, device and system - Google Patents

Application deployment method, device and system Download PDF

Info

Publication number
CN110895464B
CN110895464B CN201811068606.3A CN201811068606A CN110895464B CN 110895464 B CN110895464 B CN 110895464B CN 201811068606 A CN201811068606 A CN 201811068606A CN 110895464 B CN110895464 B CN 110895464B
Authority
CN
China
Prior art keywords
hardware
application
running
deployed
intelligent analysis
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201811068606.3A
Other languages
Chinese (zh)
Other versions
CN110895464A (en
Inventor
王震宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811068606.3A priority Critical patent/CN110895464B/en
Publication of CN110895464A publication Critical patent/CN110895464A/en
Application granted granted Critical
Publication of CN110895464B publication Critical patent/CN110895464B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the application provides an application deployment method, device and system. The application deployment method comprises the following steps: the method comprises the steps of obtaining hardware information of at least one piece of hardware of the intelligent analysis equipment, determining the running version of the application to be deployed on the intelligent analysis equipment according to the resource use state of each piece of hardware and the resources needed by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types, and deploying the determined running version of the application to be deployed to the intelligent analysis equipment. According to the embodiment of the application, the situation that a plurality of applications are deployed on the same hardware can be avoided, so that part of hardware in the intelligent analysis equipment is overloaded, and part of hardware resources are wasted, and therefore hardware balance in the intelligent analysis equipment can be achieved.

Description

Application deployment method, device and system
Technical Field
The present application relates to the field of cameras, and in particular, to a method, device, and system for deploying an application.
Background
Conventional cameras typically have only basic image acquisition capabilities. In a monitoring system, traditional cameras distributed at different places are usually connected with a control center, the control center receives shooting data of the traditional cameras, and workers in the control center check the shooting data to realize functions such as face recognition and the like, so that the traditional monitoring system has extremely low working efficiency. The intelligent camera with the intelligent recognition function improves the working efficiency and the stability of the monitoring system, so that the monitoring system is widely applied to various fields such as public safety, transportation, industrial production and the like.
The intelligent camera is provided with an image processing chip for realizing the intellectualization of the camera. With the development of integrated circuit technology, image Processing chips may be different hardware types such as Graphics Processing Unit (GPU) and Digital Signal Processing (DSP). Chips of multiple hardware types can be deployed in the same intelligent camera at the same time. The chips with different hardware types have different hardware resources, namely different computing capabilities, different storage capabilities and the like, and the chips with strong hardware resources have better effect on the image processing speed. By deploying different applications such as face recognition and license plate recognition in the chip, the intelligent camera can realize different functions.
When an application is deployed in an existing intelligent camera, a worker deploys the application in hardware of a specific hardware type in the intelligent camera according to the complexity of the application, so that the situations that part of hardware is overloaded and part of hardware resources are wasted may occur. The existing application deployment method is poor in balance.
Disclosure of Invention
The application provides an application deployment method, device and system, which are used for solving the problem that the existing application deployment method is poor in balance.
In a first aspect, the present application provides an application deployment method, including:
acquiring hardware information of at least one piece of hardware of intelligent analysis equipment, wherein the hardware information comprises: resource usage status and hardware type of the hardware;
determining the running version of the application to be deployed, which is deployed on the intelligent analysis equipment, according to the resource use state of each piece of hardware and the resources required by the application to be deployed when running on the corresponding piece of hardware aiming at the running versions of different hardware types;
and deploying the determined running version of the application to be deployed to the intelligent analysis equipment.
The hardware which can be deployed on the intelligent analysis equipment is determined based on the resources required by the application to be deployed on different hardware and the hardware information of the different hardware on the intelligent analysis equipment, so that the situation that a plurality of applications are deployed on the same hardware, part of hardware in the intelligent analysis equipment is overloaded, and part of hardware resources are wasted can be avoided, and the hardware balance in the intelligent analysis equipment can be realized.
In a possible implementation manner, the determining, according to the resource usage state of each piece of hardware and resources required by the application to be deployed when running on the corresponding piece of hardware for running versions of different hardware types, a running version of the application to be deployed that is deployed on the intelligent analysis device includes:
according to the resource use state of each piece of hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed when running on each piece of hardware, determining a first piece of hardware which meets the requirements of the resources required by the application to be deployed when running and has the highest priority from at least one piece of hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis device.
Whether each hardware can be used as the first hardware for deploying the application to be deployed is determined in sequence according to the priority order, and therefore rationality of application deployment can be improved.
In a possible implementation manner, the application deployment method further includes:
sending a redeployment instruction to the intelligent analysis equipment;
the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is the hardware of the hardware type corresponding to the determined running version of the application to be deployed; the redeployment instruction is used for instructing the intelligent analysis equipment to redeploy at least one application running on the running hardware to hardware except the running hardware in the at least one hardware.
By redeploying deployed applications on hardware in the intelligent analysis device, the deployment success rate of the applications can be improved.
In one possible implementation, the intelligent analysis device is a camera.
In one possible implementation, the hardware type is one or more of the following:
GPU、NPU、CPU、DSP、ARM。
in one possible implementation, the application to be deployed is one or more of the following:
face recognition application and license plate recognition application.
In a second aspect, the present application further provides an application deployment method, including:
the method comprises the following steps that intelligent analysis equipment sends hardware information of at least one piece of hardware of the intelligent analysis equipment to application deployment equipment, wherein the hardware information comprises: resource usage status and hardware type of the hardware;
the intelligent analysis equipment receives the running version of the application to be deployed, which is sent by the application deployment equipment;
and the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the running version.
In a possible implementation manner, before the intelligent analysis device runs the application deployment to be deployed on the hardware of the hardware type corresponding to the running version, the method further includes:
the intelligent analysis equipment receives a redeployment instruction sent by the application deployment equipment, wherein the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the application to be deployed;
and the intelligent analysis equipment redeploys at least one application running on the running hardware to the hardware except the running hardware in the at least one hardware according to the redeployment instruction.
In a third aspect, the present application further provides an application deployment device, configured to execute the application deployment method in any feasible implementation manner of the first aspect, where the application deployment device has the same or similar technical features.
In one possible implementation, an application deployment device includes:
a receiver configured to obtain hardware information of at least one hardware of an intelligent analysis device, the hardware information including: resource usage status and hardware type of the hardware;
the processor is used for determining the running version of the application to be deployed, which is deployed on the intelligent analysis equipment, according to the resource use state of each piece of hardware and the resources required by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types;
the sender is used for sending the determined running version of the application to be deployed to the intelligent analysis equipment so that the intelligent analysis equipment deploys the application to be deployed.
In one possible implementation, the processor is specifically configured to,
according to the resource use state of each piece of hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed when running on each piece of hardware, determining a first piece of hardware which meets the requirements of the resources required by the application to be deployed when running and has the highest priority from at least one piece of hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis device.
In a possible implementation manner, the transmitter is further configured to transmit a redeployment instruction to the intelligent analysis device;
the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is the hardware of the hardware type corresponding to the determined running version of the application to be deployed; the redeployment instruction is used for instructing the intelligent analysis equipment to redeploy at least one application running on the running hardware to hardware except the running hardware in the at least one hardware.
In a fourth aspect, the present application further provides an intelligent analysis device, configured to execute the application deployment method in any feasible implementation manner of the second aspect, where the intelligent analysis device has the same or similar technical features.
In one possible implementation, the intelligent analysis device includes:
a transmitter, configured to transmit hardware information of at least one hardware of the intelligent analysis device to an application deployment device, where the hardware information includes: resource usage status and hardware type of the hardware;
the receiver is used for receiving the running version of the application to be deployed, which is sent by the application deployment equipment;
and the processor is used for running the application to be deployed on the hardware of the hardware type corresponding to the running version.
In a possible implementation manner, the receiver is further configured to receive a redeployment instruction sent by the application deployment device, where the redeployment instruction includes a hardware type of running hardware and a resource required by the application to be deployed when running on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the application to be deployed;
the processor is further configured to, according to the redeployment instruction, redeploy at least one application running on the running hardware to a hardware other than the running hardware in the at least one hardware.
In a fifth aspect, the present application further provides an application deployment system, including the application deployment device in any feasible implementation manner of the third aspect and at least one intelligent analysis device in any feasible implementation manner of the fourth aspect.
In a sixth aspect, the present application further provides an electronic device, including: a memory, a processor, and a computer program, the computer program being stored in the memory, the processor running the computer program to perform the application deployment method in any of the possible implementations of the first aspect or the second aspect as described above.
In a seventh aspect, the present application further provides a computer storage medium, where the storage medium includes a computer program, and the computer program is used to implement the application deployment method in any feasible implementation manner of the first aspect or the second aspect.
In an eighth aspect, the present application further provides a computer program product, which includes computer program code, when the computer program code runs on a computer, causes the computer to execute the application deployment method in any feasible implementation manner as described in the first aspect or the second aspect.
In a ninth aspect, the present application further provides a chip, including a memory and a processor, where the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that an electronic device installed with the chip executes the application deployment method in any feasible implementation manner of the first aspect or the second aspect.
The present application may be further combined to provide further implementations on the basis of the implementations provided by the above-mentioned aspects.
The embodiment of the application provides an application deployment method, device and system, and the application deployment method provided by the embodiment of the application comprises the following steps: the method comprises the steps of obtaining hardware information of at least one piece of hardware of the intelligent analysis equipment, determining the running version of the application to be deployed on the intelligent analysis equipment according to the resource use state of each piece of hardware and the resources needed by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types, and deploying the determined running version of the application to be deployed to the intelligent analysis equipment. In this embodiment, hardware information of hardware in the intelligent analysis device is first obtained, and then according to resources required by running of the application to be deployed on different hardware and resource usage states of the hardware, an operation version for deployment of the application to be deployed can be determined, so that the operation version of the application to be deployed is deployed on the intelligent analysis device, and it is possible to avoid that multiple applications are deployed on the same hardware, so that part of hardware in the intelligent analysis device is overloaded, and part of hardware resources are wasted, thereby achieving hardware balance in the intelligent analysis device.
Drawings
Fig. 1 is a schematic structural diagram of an application deployment system provided in an embodiment of the present application;
fig. 2 is a schematic flowchart of an application deployment method according to an embodiment of the present application;
fig. 3 is a schematic flowchart of an application deployment method provided in the second embodiment of the present application;
fig. 4 is a schematic flowchart of an application deployment method provided in the third embodiment of the present application;
fig. 5 is a schematic structural diagram of an application deployment apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an application deployment apparatus according to a second embodiment of the present application;
fig. 7 is a schematic structural diagram of an application deployment device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an intelligent analysis device according to an embodiment of the present application.
Detailed Description
The technical solution in the embodiments of the present application is described below with reference to the drawings in the embodiments of the present application.
Fig. 1 is a schematic structural diagram of an application deployment system provided in an embodiment of the present application. As shown in fig. 1, the application deployment system may include: an application management center 100 and at least one smart camera 200. In fig. 1, two smart cameras 200, a first camera and a second camera, are illustrated as an example. Each smart camera 200 is communicatively connected to the application management center 100.
The smart camera 200 is configured to collect an image, process the collected image by using an application deployed in the smart camera 200, and implement a function corresponding to the application. The smart camera 200 is further configured to send the acquired image and/or the result of the application execution to the control center. For example, when the application is a face recognition application, the smart camera 200 may perform face recognition on the acquired image by using the deployed face recognition application, and may also be configured to send a face recognition result to the control center. The smart cameras 200 are deployed at different locations. The control center may include an application management center 100.
The hardware type of the hardware included in the smart camera 200 may be one or more of the following: GPU, Neural-Network Processing Unit (NPU), CPU, DSP and ARM. As shown in fig. 1, the hardware included in different smart cameras 200 may be different, specifically, the number of the hardware may be different, and the type of the hardware may be different. When an application is deployed on a smart camera, the application has different running versions due to different types of hardware used to deploy the application.
The application management center 100 is used for managing the deployment of the applications on the smart cameras 200, and the application management center 100 is used for counting, storing, deleting, adding or updating the applications on the smart cameras 200. Optionally, the application may be a face recognition application, a license plate recognition application, an intrusion detection application, and the like.
Optionally, as shown in fig. 1, the application deployment system further includes: an application database 300. Different versions of different applications are stored in the application database 300. For example, for the face recognition application, the application database 300 stores a face recognition application suitable for the GPU, a face recognition application suitable for the CPU, a face recognition application suitable for the NPU, a face recognition application suitable for the ARM, and the like. Alternatively, the application database 300 may be deployed on the same physical machine as the application management center 100, or may be separately located on different physical machines.
The application management center 100 is used to obtain the hardware version of the application to be deployed from the application database 300.
In the traditional application deployment method, a worker can determine a hardware type suitable for the application from a plurality of hardware types according to the complexity of the application, and then deploy the application in the hardware of the suitable hardware type in the smart camera. Therefore, when the application management center 100 deploys a plurality of applications to the smart camera, the plurality of applications may be deployed on the same hardware, and thus a part of hardware in the smart camera is overloaded and a part of hardware resources are wasted. The traditional application deployment method is poor in balance.
In order to solve the above problem, an aspect of the present application provides an application deployment method. Fig. 2 is a schematic flowchart of an application deployment method according to an embodiment of the present application. In the application deployment method provided in this embodiment, the hardware that can be deployed on the intelligent analysis device is determined according to the resource information that is needed by the application to be deployed on different hardware and the resource information of different hardware on the intelligent analysis device. The execution subject of this embodiment may be an application deployment device, and the application deployment device may be the application management center 100 in the embodiment shown in fig. 1. As shown in fig. 2, the application deployment method includes:
s201, the intelligent analysis device sends hardware information of at least one piece of hardware of the intelligent analysis device to the application deployment device.
Wherein the hardware information includes: resource usage status of hardware and hardware type.
Illustratively, the intelligent analysis device may be an intelligent camera in the embodiment shown in fig. 1. For any intelligent analysis device in the application deployment system, the application deployment device obtains hardware resources of the intelligent analysis device, that is, hardware contained in the intelligent analysis device, and hardware information of each hardware. Illustratively, the application deployment device sends hardware resource request information to the intelligent analysis device, and the intelligent analysis device sends hardware information of hardware in the intelligent analysis device to the application deployment device when receiving the hardware resource request information.
Optionally, the application deployment device may obtain hardware information of all hardware in the intelligent analysis device. Optionally, the hardware in the intelligent analysis device may divide the attribute of the hardware into schedulable hardware and non-schedulable hardware according to whether the scheduling of the application deployment device is supported. Correspondingly, the application deployment equipment can acquire hardware information of the schedulable hardware of the application deployment equipment according to the attribute of each hardware in the intelligent analysis equipment.
For example, the intelligent analysis device may be a smart camera as shown in fig. 1, and may also be a smart television, a smart band, a mobile phone, a tablet, a base station, or the like. In the field of video monitoring, intelligent analysis equipment is usually an intelligent camera which can be used for monitoring video analysis, and the intelligent analysis equipment is usually used for video processing such as face recognition, license plate recognition, traffic violation recognition and the like.
Optionally, the hardware information of the hardware includes a resource usage state of the hardware and a hardware type. Optionally, the hardware type is any of: GPU, NPU, CPU, DSP, ARM. The resource usage status of the hardware may be information of the number of occupied resources in the hardware, or the occupied resources account for the total resources of the hardware, and the remaining hardware resources in the hardware are only available for deploying the application. The resource usage status may be an occupancy of a computational load of the hardware. Optionally, the resource usage status may further include an occupancy rate of the memory.
For example, if the intelligent analysis device includes two pieces of hardware, which are referred to as hardware 1 and hardware 2, hardware information of the two pieces of hardware needs to be determined, for example, the hardware type of the hardware 1 is GPU, and the resource usage state of the hardware 1 is: calculated amount is 60%, and memory is 50%; the hardware type of the hardware 2 is NPU, and the resource use state of the hardware 2 is as follows: calculated amount is 50%, and memory is 40%.
S202, the application deployment device determines the running version of the application to be deployed, which is deployed on the intelligent analysis device, according to the resource use state of each hardware and the resources required by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types.
For example, for an application to be deployed, the application deployment device may first obtain resources required when the application to be deployed runs when the application to be deployed is deployed on hardware of a different hardware type. The required resources may include memory occupancy and computational occupancy. For example, when the application to be deployed is a face recognition application, the resources required for the face recognition application to run on different hardware may be determined according to historical data or experimental data. For example, when the face recognition application is deployed on the GPU, the computation amount required by the application is 50% of the total computation amount of the GPU, and the memory is 30%, when the face recognition application is deployed on the ARM, the computation amount required by the application is 70% of the total computation amount of the ARM, and the memory is 60%, when the face recognition application is deployed on the NPU, the computation amount required by the application is 20% of the total computation amount of the NPU, and the memory is 30%. Optionally, the application deployment device may further obtain storage address information of different hardware versions of the face recognition application.
Illustratively, among a plurality of pieces of hardware included in the intelligent analysis device, the piece of hardware used for deploying the application to be deployed is screened out, and is referred to as first hardware. Specifically, the hardware capable of deploying the application is determined according to hardware information of a plurality of pieces of hardware included in the intelligent analysis device and resources required by the application to be deployed when the application runs on each piece of hardware. By referring to the use conditions of a plurality of pieces of hardware included in the intelligent analysis equipment and screening the hardware for the application to be deployed, the situation that the plurality of applications are deployed on the same hardware can be avoided, so that part of hardware in the intelligent analysis equipment is overloaded and part of hardware resources are wasted, and the hardware balance in the intelligent analysis equipment can be realized.
For example, in combination with the above example, when the application to be deployed is a face recognition application and the intelligent analysis device includes hardware 1 and hardware 2, since the resource usage state of the hardware 1GPU is: the calculated amount is 60%, the memory is 50%, and when the face recognition application is deployed on the GPU, the calculated amount required by the face recognition application is 50% of the total calculated amount of the GPU, and the memory is 30%, wherein 50% of the calculated amount required by the face recognition application exceeds 40% of the remaining calculated amount of the GPU of the hardware 1 (obtained by 1-60% calculation), so that the face recognition application cannot be deployed on the hardware 1 of the intelligent analysis device. Since the resource usage status of the hardware 2NPU is: the calculated amount is 50%, and the memory is 40%, and when the face recognition application is deployed on the NPU, the calculated amount required by the face recognition application is 20% of the total calculated amount of the NPU, and the memory is 30%, so that the face recognition application can be deployed on the hardware 2 of the intelligent analysis device.
S203, the application deployment device sends the determined running version of the application to be deployed to the intelligent analysis device.
For example, after the first hardware is determined, a corresponding version of the first hardware of the application to be deployed, that is, a version corresponding to the hardware type of the first hardware, may be determined first, and then the version of the application to be deployed is sent to the first hardware of the intelligent analysis device.
And S204, the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the determined running version.
Illustratively, when receiving an application to be deployed sent by an application deployment device, an intelligent analysis device may determine, according to an operation version of the application to be deployed, hardware on which the application to be deployed runs on the intelligent analysis device, deploy the operation version of the application to be deployed on the hardware, and control the application to be deployed to run on the hardware.
An embodiment of the present application provides an application deployment method, including: the method comprises the steps of obtaining hardware information of at least one piece of hardware of the intelligent analysis equipment, determining the running version of the application to be deployed on the intelligent analysis equipment according to the resource use state of each piece of hardware and the resources needed by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types, and deploying the determined running version of the application to be deployed to the intelligent analysis equipment. In this embodiment, hardware information of hardware in the intelligent analysis device is first obtained, and then according to resources required by running of the application to be deployed on different hardware and resource usage states of the hardware, an operation version for deployment of the application to be deployed can be determined, so that the operation version of the application to be deployed is deployed on the intelligent analysis device, and it is possible to avoid that multiple applications are deployed on the same hardware, so that part of hardware in the intelligent analysis device is overloaded, and part of hardware resources are wasted, thereby achieving hardware balance in the intelligent analysis device.
On the basis of the embodiment shown in fig. 2, an application deployment method is further provided in the embodiment of the present application. Fig. 3 is a flowchart illustrating an application deployment method according to a second embodiment of the present application. In this embodiment, when determining the hardware for deploying the application to be deployed among the plurality of pieces of hardware included in the intelligent analysis device, priorities of the application to be deployed on different pieces of hardware are also considered. As shown in fig. 3, the application deployment method includes:
s301, the intelligent analysis device sends hardware information of at least one piece of hardware of the intelligent analysis device to the application deployment device.
For example, S301 in this embodiment is the same as S201 in the embodiment shown in fig. 2, and is not described again in this application.
S302, the application deployment equipment determines the first hardware which meets the requirements of the resources required by the operation of the application to be deployed and has the highest priority from at least one piece of hardware according to the resource use state of each piece of hardware, the resources required by the application to be deployed when the application to be deployed operates on the corresponding hardware aiming at the operation versions of different hardware types, and the priority of the application to be deployed when the application to be deployed operates on each piece of hardware.
And S303, the application deployment device determines that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis device.
For example, when selecting a hardware deployment from multiple hardware for an application to be deployed, the deployment priority of the application on hardware of different hardware types needs to be considered. For example, the deployment priority of the applications on hardware of different hardware types may be determined according to the complexity of the unused applications, for example, applications with higher complexity preferentially deploy on hardware with higher processing power. Optionally, the deployment priority of the application on hardware of different hardware types may also be determined according to the usage frequency of the application, for example, the application with a higher usage frequency is preferentially deployed on hardware with a strong processing capability.
For example, the priority of each hardware running the application to be deployed may be stored in the application database 300.
Illustratively, the intelligent analysis device includes hardware of a plurality of different hardware types, e.g., the intelligent analysis device includes hardware 1, hardware 2, and hardware 3. When determining the hardware for deployment for the application to be deployed, first, the priority of the application to be deployed on hardware 1, hardware 2 and hardware 3 is obtained. For example, the application to be deployed is preferentially deployed on hardware 1, then hardware 2, and finally hardware 3.
Illustratively, according to the priority, firstly, whether the application to be deployed can be deployed on the hardware 1 is determined according to the resource required by the application to be deployed when running on the hardware 1 and the resource use state of the hardware 1, and if yes, the hardware 1 is determined to be the first hardware; if not, determining whether the application to be deployed can be deployed on the hardware 2 or not according to the resources required by the application to be deployed when running on the hardware 2 and the resource use state of the hardware 2, and if so, determining that the hardware 2 is the first hardware; if not, determining whether the application to be deployed can be deployed on the hardware 3 or not according to the resources required by the application to be deployed when running on the hardware 3 and the resource use state of the hardware 3, and if so, determining that the hardware 3 is the first hardware; if not, determining that the application to be deployed cannot be deployed on the intelligent analysis device. Whether each hardware can be used as the first hardware for deploying the application to be deployed is determined in sequence according to the priority order, and therefore rationality of application deployment can be improved.
S304, the application deployment device sends the determined running version of the application to be deployed to the intelligent analysis device.
S305, the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the determined running version.
For example, S304 and S305 in this embodiment are the same as S203 and S204 in the embodiment shown in fig. 2, and are not described again in this application.
The application deployment method provided by the embodiment of the application comprises the following steps: the method comprises the steps that the intelligent analysis equipment sends hardware information of at least one piece of hardware of the intelligent analysis equipment to the application deployment equipment, the application deployment equipment selects the priority level of running on each piece of hardware according to the resource use state of each piece of hardware, the resources needed by running of the application to be deployed on the corresponding hardware according to running versions of different hardware types, the application to be deployed selects the running priority level of each piece of hardware, the first piece of hardware which meets the requirements of the resource needed by the running of the application to be deployed and is the highest in priority level is determined from the at least one piece of hardware, the running version of the application to be deployed corresponding to the first piece of hardware is determined to be the running version of the application to be deployed and deployed on the intelligent analysis equipment, the running version of the application to be deployed is sent to the intelligent analysis equipment, and the intelligent analysis equipment deploys the application to be deployed to the hardware of the hardware type corresponding to the running version. In the embodiment, whether each hardware can be used as the first hardware for deploying the application to be deployed is determined in sequence according to the priority order, so that the rationality of application deployment can be improved.
On the basis of the embodiment shown in fig. 2 or fig. 3, an application deployment method is further provided in the embodiment of the present application. Fig. 4 is a flowchart illustrating an application deployment method provided in the third embodiment of the present application. In this embodiment, when it is detected that there is no first hardware capable of deploying applications in the hardware of the intelligent analysis device, the deployed applications in the hardware of the intelligent analysis device are adjusted, so that there is second hardware capable of deploying applications in the hardware of the intelligent analysis device. As shown in fig. 4, the application deployment method includes:
s401, the intelligent analysis device sends hardware information of at least one piece of hardware of the intelligent analysis device to the application deployment device.
S402, the application deployment device determines the running version of the application to be deployed, which is deployed on the intelligent analysis device, according to the resource use state of each hardware and the resources required by the application to be deployed when running on the corresponding hardware aiming at the running versions of different hardware types.
For example, S401 and S402 in this embodiment are the same as S201 and S202 in the embodiment shown in fig. 2, and are not described again in this application.
And S403, the application deployment device sends a redeployment instruction to the intelligent analysis device.
The redeployment instruction comprises a hardware type of the running hardware and resources required by the running application to be deployed when the running application runs on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the determined application to be deployed; the redeployment instruction is used for instructing the intelligent analysis device to redeploy at least one application running on the running hardware to hardware except the running hardware in the at least one hardware.
For example, in S402, when the application deployment device determines to run hardware for the application to be deployed in the multiple pieces of hardware, it may be determined that all pieces of hardware on the intelligent analysis device do not support running the application to be deployed according to a resource usage state of each piece of hardware and a resource required by the application to be deployed when running on each piece of hardware.
For example, when the application to be deployed is a license plate detection application and the intelligent analysis device includes hardware 1 and hardware 2, it is assumed that the resource usage state of the hardware 1GPU is: the calculated amount is 60%, the memory is 50%, and the resource use state of the hardware 2NPU is as follows: the calculated amount is 50%, the memory is 40%, while the calculated amount required for the license plate detection application to be deployed on the hardware 1 is 70%, and the calculated amount required for the license plate detection application to be deployed on the hardware 2 is 60%, at this time, it can be found that the license plate detection application cannot be deployed on any hardware.
To solve the technical problem, the application running on the existing hardware can be redeployed. For example, part of applications in the hardware 1 are deleted, and the deleted part of applications are redeployed to other applications on the intelligent analysis device, which may also be referred to as migration, so that the resource usage state of the hardware 1GPU after migration is: the calculated amount is 20%, and the memory is 20%, at which time the vehicle-to-batch detection application may run on the hardware 1.
For example, when the application deployment device determines to run hardware for an application to be deployed in a plurality of pieces of hardware, it is considered whether spare resources of the hardware can meet resources required by the application to be deployed when running on the hardware after the migratable application in each piece of hardware migrates; if so, the hardware may be determined to be operational hardware. Optionally, the application deployment device may obtain, according to a previous application deployment process, the application that has run on each hardware, and related information such as whether each application can be migrated.
Optionally, the application deployment device may randomly select one hardware from the multiple pieces of hardware of the intelligent analysis device, migrate the application on the hardware, and use the migrated hardware as running hardware for running the application to be deployed.
Optionally, the application deployment device may further select, according to the priority of the application to be deployed in the intelligent analysis device, the hardware with the highest priority as the running hardware.
S404, the intelligent analysis equipment redeploys at least one application running on the running hardware to the hardware except the running hardware in the at least one hardware according to the redeployment instruction, so that the idle resources of the running hardware meet the resources required by the running of the application to be deployed.
For example, after receiving the running hardware specified by the application deployment device, the intelligent analysis device determines all applications running in the running hardware, determines at least one application among all applications running in the running hardware, and redeployes the at least one application to other hardware of the intelligent analysis device except the running hardware. For example, two applications running in the running hardware are respectively migrated to two different pieces of hardware of the intelligent analysis device.
For example, the application with the largest resource occupancy rate in the running hardware can be migrated. And the importance levels of all applications running in the running hardware can be acquired, and the applications with lower importance levels in the running hardware are migrated. For example, before the migration, it may further compare whether the importance level of the application to be deployed is higher than the importance level of the application running in the running hardware, and migrate the application with the importance level lower than the importance level of the application to be deployed in the running hardware. Optionally, whether to migrate the application may also be determined according to whether there is hardware capable of receiving after the application is migrated. Optionally, for an application running in running hardware, if it is detected that the application is not used for a long time, the application may be directly deleted.
The migration process is exemplarily described below by taking an example that the application deployment device deploys the first application and the second application to the intelligent analysis device in sequence.
Suppose that the intelligent analysis device comprises hardware 1 and hardware 2, wherein the resource usage state of the hardware 1GPU is: 10% of calculated amount and 10% of memory; the resource use state of the hardware 2DSP is as follows: 5% of calculated amount and 5% of memory. Considering that the calculation amount required by the first application to be deployed on the hardware 1GPU is 40% of the total calculation amount of the GPU and 30% of the total memory, and the calculation amount required by the first application to be deployed on the hardware 2DSP is 70% of the total calculation amount of the DSP and the memory is 60%, the first application may be deployed on the hardware 1 of the intelligent analysis device or may be deployed on the hardware 2. After the first application is deployed on the hardware 1, the resource usage state of the hardware 1GPU is: calculated amount is 50%, and memory is 40%.
When the application deployment device deploys the second application, the second application may be deployed on the hardware with the hardware type of NPU and the hardware 1GPU, or the intelligent analysis device does not have the hardware with the hardware type of NPU, and at this time, the second application may only be deployed on the hardware 1 GPU. Because the calculated amount required by the second application on the hardware 1GPU is 70% of the total calculated amount of the GPU and 60% of the total memory, and the remaining resources of the hardware 1GPU cannot meet the requirements of the second application, the application running on the hardware 1GPU needs to be migrated, and considering that the remaining resources of the hardware 1GPU cannot meet the requirements of the second application after the application deployed before the hardware 1GPU is deployed is migrated, the requirements of the second application can be met after the first application is migrated, and the hardware 2DSP meeting the requirements of the first application exists on the intelligent analysis device, the first application can be selectively migrated to the hardware 2DSP, the first application on the hardware 1GPU is deleted, and then the second application is deployed on the hardware 1 GPU.
Illustratively, if it is found that, when the intelligent analysis device migrates according to the migration instruction, no application that can be migrated exists in the running hardware, or the running hardware after the application is migrated still cannot meet the resource occupancy rate requirement of the application to be deployed, the intelligent analysis device sends a migration failure message to the application deployment device, where the migration failure message is to reacquire the running hardware from the remaining hardware of the intelligent analysis device except the running hardware by the application deployment device and instruct the intelligent analysis device to migrate the reacquired running hardware until obtaining a running hardware, and idle resources of the running hardware meet the resource required by the running of the application to be deployed.
S405, the application deployment device sends the determined running version of the application to be deployed to the intelligent analysis device.
For example, the application deployment device may further send the determined running version of the application to be deployed to the intelligent analysis device while sending the migration instruction to the intelligent analysis device, and deploy the application to be deployed after the intelligent analysis device completes the application migration according to the migration instruction.
S406, the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the determined running version.
For example, S405 and S406 in this embodiment are the same as S203 and S204 in the embodiment shown in fig. 2, and are not described again in this application.
According to the application deployment method provided by the embodiment of the application deployment method, when the running hardware cannot meet the resource requirement of the application to be deployed according to the hardware information of each hardware and the resource required by the application to be deployed when running on each hardware, a redeployment instruction can be sent to the intelligent analysis equipment, and the application running in the running hardware is migrated. By migrating the deployed application on the hardware in the intelligent analysis device, the deployment success rate of the application can be improved.
Another aspect of the embodiments of the present application further provides an application deployment apparatus, configured to execute the application deployment method on the application deployment device side in any embodiment of fig. 2 to fig. 4, where the application deployment apparatus has the same or similar technical features and technical effects.
Fig. 5 is a schematic structural diagram of an application deployment apparatus according to an embodiment of the present application. In this embodiment, the application deployment apparatus may be implemented by software, hardware, or a combination of software and hardware. As shown in fig. 5, the application deployment apparatus includes:
a hardware information obtaining module 501, configured to obtain hardware information of at least one piece of hardware of the intelligent analysis device, where the hardware information includes: resource usage status and hardware type of the hardware;
the running version acquiring module 502 is configured to determine a running version of an application to be deployed, which is deployed on the intelligent analysis device, according to a resource usage state of each hardware and resources required by the application to be deployed when running on corresponding hardware for running versions of different hardware types;
the deployment module 503 is configured to deploy the determined running version of the application to be deployed to the intelligent analysis device.
Optionally, the run version obtaining module 502 is specifically configured to,
according to the resource use state of each hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed when running on each hardware, determining the first hardware which meets the requirements of the resources required by the application to be deployed when running and has the highest priority from at least one hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis equipment.
Optionally, as shown in fig. 5, the application deployment apparatus further includes: a redeployment instruction sending module 504, configured to send a redeployment instruction to the intelligent analysis device;
the redeployment instruction comprises a hardware type of the running hardware and resources required by the running application to be deployed when the running application runs on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the determined application to be deployed; the redeployment instruction is used for instructing the intelligent analysis device to redeploy at least one application running on the running hardware to hardware except the running hardware in the at least one hardware.
Another aspect of the embodiments of the present application further provides an application deployment apparatus, configured to execute the application deployment method on the intelligent analysis device side in any one of the embodiments of fig. 2 to fig. 4, where the application deployment apparatus has the same or similar technical features and technical effects.
Fig. 6 is a schematic structural diagram of an application deployment apparatus according to a second embodiment of the present application. As shown in fig. 6, the application deployment apparatus includes:
a sending module 601, configured to send hardware information of at least one hardware of the intelligent analysis device to the application deployment device, where the hardware information includes: resource usage status and hardware type of the hardware;
a receiving module 602, configured to receive a running version of an application to be deployed, where the running version is sent by an application deployment device;
the running module 603 is configured to run the application to be deployed on the hardware of the hardware type corresponding to the running version.
Optionally, as shown in fig. 6, the application deployment apparatus further includes: a redeployment module 604;
the receiving module 602 is further configured to receive a redeployment instruction sent by the application deployment device, where the redeployment instruction includes a hardware type of the running hardware and a resource required by the application to be deployed when running on the running hardware; the running hardware is hardware of a hardware type corresponding to a running version of the application to be deployed;
the redeployment module 604 redeploys the at least one application running on the running hardware to hardware other than the running hardware in the at least one hardware according to the redeployment instruction.
Another aspect of the embodiments of the present application further provides an application deployment device, configured to execute the application deployment method in any one of the embodiments of fig. 2 to fig. 4, and have the same or similar technical features and technical effects.
Fig. 7 is a schematic structural diagram of an application deployment device according to an embodiment of the present application. As shown in fig. 7, the application deployment apparatus includes: a transceiver 701, a memory 702, a processor 703 and at least one communication bus 704. A communication bus 704 is used to enable communication connections between the elements. The memory 702 may comprise high speed random access memory, and may also include non-volatile memory, such as at least one disk memory, where the memory 702 may store various programs for performing various processing functions and implementing the method steps of the present embodiment. The processor 703 is used to execute programs stored in the memory 702. Wherein the content of the first and second substances,
a transceiver 701, configured to acquire hardware information of at least one hardware of an intelligent analysis device, where the hardware information includes: resource usage status and hardware type of the hardware;
the processor 703 determines the running version of the application to be deployed, which is deployed on the intelligent analysis device, according to the resource usage state of each hardware and the resources required by the application to be deployed when running on the corresponding hardware according to the running versions of different hardware types;
the transceiver 701 is further configured to send the determined running version of the application to be deployed to the intelligent analysis device, so that the intelligent analysis device deploys the application to be deployed.
Optionally, the processor 703 is specifically configured to,
according to the resource use state of each hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed when running on each hardware, determining the first hardware which meets the requirements of the resources required by the application to be deployed when running and has the highest priority from at least one hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis equipment.
Optionally, the transceiver 701 is further configured to send a redeployment instruction to the intelligent analysis device;
the redeployment instruction comprises a hardware type of the running hardware and resources required by the running application to be deployed when the running application runs on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the determined application to be deployed; the redeployment instruction is used for instructing the intelligent analysis device to redeploy at least one application running on the running hardware to hardware except the running hardware in the at least one hardware.
Another aspect of the embodiments of the present application further provides an intelligent analysis device, configured to execute the application deployment method on the intelligent analysis device side in any one of the embodiments of fig. 2 to fig. 4, and have the same or similar technical features and technical effects.
Fig. 8 is a schematic structural diagram of an intelligent analysis device according to an embodiment of the present application. As shown in fig. 8, the application deployment apparatus includes: a transceiver 801, a memory 802, a processor 803, and at least one communication bus 804. The communication bus 804 is used to enable communication connections between the elements. The memory 802 may comprise a high speed random access memory, and may also include a non-volatile memory, such as at least one disk memory, where various programs may be stored in the memory 802 for performing various processing functions and implementing the method steps of the present embodiment. The processor 803 is used to execute programs stored in the memory 802. Wherein the content of the first and second substances,
a transceiver 801, configured to send hardware information of at least one hardware of the intelligent analysis device to the application deployment device, where the hardware information includes: resource usage status and hardware type of the hardware;
the transceiver 801 is further configured to receive a running version of the application to be deployed, which is sent by the application deployment device;
and the processor 803 is configured to run the application to be deployed on hardware of the hardware type corresponding to the running version.
Optionally, the transceiver 801 is further configured to receive a redeployment instruction sent by the application deployment device, where the redeployment instruction includes a hardware type of the running hardware and a resource required by the application to be deployed when running on the running hardware; the running hardware is hardware of a hardware type corresponding to a running version of the application to be deployed;
the processor 803 is further configured to, according to the redeployment instruction, redeploye at least one application running on the running hardware to hardware other than the running hardware in the at least one hardware.
Another aspect of the embodiments of the present application further provides an application deployment system, as shown in fig. 1, including an application deployment device and at least one intelligent analysis device in any of the above embodiments.
Illustratively, the application deployment device may be the application management center in fig. 1, and the intelligent analysis device may be the intelligent camera in fig. 1.
An embodiment of the present application further provides an electronic device, including: a memory, a processor, and a computer program, the computer program being stored in the memory, the processor running the computer program to perform the application deployment method in any of the embodiments of fig. 2-4 described above.
An embodiment of the present application further provides a computer storage medium, where the storage medium includes a computer program, and the computer program is configured to implement the application deployment method in any embodiment of fig. 2 to 4.
An embodiment of the present application further provides a computer program product, where the computer program product includes computer program code, and when the computer program code runs on a computer, the computer is caused to execute the application deployment method in any of the above-mentioned fig. 2 to fig. 4.
An embodiment of the present application further provides a chip, which includes a memory and a processor, where the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that an electronic device in which the chip is installed executes the application deployment method in any of the above embodiments in fig. 2 to fig. 4.
In this embodiment of the present application, an execution subject for executing the method on the network device side may be a network device, or may be a device in the network device (it should be noted that, in the embodiment provided in the present application, description is given by taking the network device as an example). For example, the apparatus in the network device may be a chip system, a circuit or a module, and the like, and the application is not limited thereto.
In the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
The processors referred to in the embodiments of the present application may be general purpose processors, digital signal processors, application specific integrated circuits, field programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like that implement or perform the methods, steps, and logic blocks disclosed in the embodiments of the present application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in a processor.
The memory related to the embodiment of the present application may be a nonvolatile memory, such as a Hard Disk Drive (HDD) or a solid-state drive (SSD), and may also be a volatile memory (RAM), for example, a random-access memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
It should be understood by those of ordinary skill in the art that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of the processes should be determined by their functions and inherent logic, and should not limit the implementation process of the embodiments of the present application.
In the above embodiments, all or part of the implementation may be realized by software, hardware, firmware or any combination thereof. When implemented in software, 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 loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.

Claims (13)

1. An application deployment method, comprising:
the application management center receives hardware information sent by the intelligent analysis equipment;
the hardware information includes: resource usage status and hardware type of the hardware; the hardware is an image processing chip; the intelligent analysis equipment is an intelligent camera;
determining the running version of the application to be deployed, which is deployed on the intelligent analysis equipment, according to the resource use state of each piece of hardware and the resource of the piece of hardware, which is needed by the application to be deployed when running on the corresponding piece of hardware aiming at the running versions of different hardware types, wherein the application to be deployed has different running versions according to different hardware types;
and the application management center sends the determined running version of the application to be deployed to the intelligent analysis equipment so that the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the running version.
2. The method according to claim 1, wherein the determining, according to the resource usage state of each hardware and the resource of the hardware required by the application to be deployed to run on the corresponding hardware for the running versions of different hardware types, the running version of the application to be deployed on the intelligent analysis device includes:
according to the resource use state of each hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed running on each hardware, determining a first hardware which meets the requirements of the resources required by the application to be deployed when running and has the highest priority from at least one hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis device.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
sending a redeployment instruction to the intelligent analysis equipment;
the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is the hardware of the hardware type corresponding to the determined running version of the application to be deployed; the redeployment instruction is used for instructing the intelligent analysis equipment to redeploy at least one application running on the running hardware to hardware except the running hardware.
4. An application deployment method, comprising:
the method comprises the steps that an intelligent analysis device sends hardware information of a plurality of pieces of hardware of the intelligent analysis device to an application deployment device, wherein the hardware information comprises: resource usage status and hardware type of the hardware; the hardware is an image processing chip; the intelligent analysis equipment is an intelligent camera;
the intelligent analysis equipment receives the running version of the application to be deployed, which is sent by the application deployment equipment; the running version of the application to be deployed is determined by the application deployment equipment according to the resource use state of each hardware and the resource of the hardware required by the running of the running version of the application to be deployed on the corresponding hardware according to different hardware types;
and the intelligent analysis equipment runs the application to be deployed on the hardware of the hardware type corresponding to the running version.
5. The method according to claim 4, wherein before the intelligent analysis device runs the application deployment to be deployed on hardware of a hardware type corresponding to the running version, the method further comprises:
the intelligent analysis equipment receives a redeployment instruction sent by the application deployment equipment, wherein the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the application to be deployed;
the intelligent analysis equipment redeploys at least one application running on the running hardware to hardware except the running hardware in at least one piece of hardware according to the redeployment instruction, so that idle resources of the running hardware meet the resources required by the application to be deployed when running.
6. An application deployment device, comprising:
a receiver, configured to receive hardware information of a plurality of pieces of hardware sent by an intelligent analysis device, where the hardware information includes: resource usage status and hardware type of the hardware; the hardware is an image processing chip;
the processor is used for determining the running version of the application to be deployed, which is deployed on the intelligent analysis equipment, according to the resource use state of each piece of hardware and the resource of the piece of hardware, which is needed by the application to be deployed when running on the corresponding piece of hardware aiming at the running versions of different hardware types, wherein the application to be deployed has different running versions according to different hardware types;
the sender is configured to send the determined running version of the application to be deployed to the intelligent analysis device, so that the intelligent analysis device runs the application to be deployed on hardware of a hardware type corresponding to the running version.
7. The apparatus of claim 6, wherein the processor is specifically configured to,
according to the resource use state of each hardware, resources required by the application to be deployed when running on corresponding hardware aiming at running versions of different hardware types, and the priority of the application to be deployed running on each hardware, determining a first hardware which meets the requirements of the hardware required by the application to be deployed when running and has the highest priority from at least one hardware;
determining that the running version of the application to be deployed corresponding to the first hardware is the running version of the application to be deployed on the intelligent analysis device.
8. The apparatus of claim 6 or 7, wherein the transmitter is further configured to transmit a redeployment instruction to the intelligent analysis apparatus;
the redeployment instruction comprises a hardware type of running hardware and resources required by the application to be deployed when the application to be deployed runs on the running hardware; the running hardware is the hardware of the hardware type corresponding to the determined running version of the application to be deployed; the redeployment instruction is used for instructing the intelligent analysis equipment to redeploy at least one application running on the running hardware to hardware except the running hardware.
9. An intelligent analysis device, the intelligent analysis device being a smart camera, comprising:
a transmitter, configured to transmit hardware information of a plurality of pieces of hardware of the intelligent analysis device to an application deployment device, where the hardware information includes: resource usage status and hardware type of the hardware; the hardware is an image processing chip;
the receiver is used for receiving the running version of the application to be deployed, which is sent by the application deployment equipment; the running version of the application to be deployed is determined by the application deployment equipment according to the resource use state of each hardware and the resource of the hardware required by the running of the running version of the application to be deployed on the corresponding hardware according to different hardware types; and the processor is used for running the application to be deployed on the hardware of the hardware type corresponding to the running version.
10. The device according to claim 9, wherein the receiver is further configured to receive a redeployment instruction sent by the application deployment device, where the redeployment instruction includes a hardware type of running hardware and a resource of the hardware required by the application to be deployed when running on the running hardware; the running hardware is hardware of a hardware type corresponding to the running version of the application to be deployed;
the processor is further configured to, according to the redeployment instruction, redeploy at least one application running on the running hardware to hardware other than the running hardware in the at least one hardware, so that idle resources of the running hardware meet resources required by the application to be deployed when running.
11. An application deployment system, comprising: an application deployment device according to any one of claims 6 to 8 and at least one intelligent analysis device according to claim 9 or 10.
12. An electronic device, comprising: memory, a processor and a computer program, the computer program being stored in the memory, the processor running the computer program to perform the application deployment method of any of claims 1 to 5.
13. A computer storage medium, characterized in that the storage medium comprises a computer program for implementing the application deployment method of any one of claims 1 to 5.
CN201811068606.3A 2018-09-13 2018-09-13 Application deployment method, device and system Active CN110895464B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811068606.3A CN110895464B (en) 2018-09-13 2018-09-13 Application deployment method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811068606.3A CN110895464B (en) 2018-09-13 2018-09-13 Application deployment method, device and system

Publications (2)

Publication Number Publication Date
CN110895464A CN110895464A (en) 2020-03-20
CN110895464B true CN110895464B (en) 2021-12-14

Family

ID=69785278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811068606.3A Active CN110895464B (en) 2018-09-13 2018-09-13 Application deployment method, device and system

Country Status (1)

Country Link
CN (1) CN110895464B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915248A (en) * 2012-09-28 2013-02-06 用友软件股份有限公司 Automatic deploying system and automatic deploying method of application system
CN104618693A (en) * 2015-02-09 2015-05-13 北京邮电大学 Cloud computing based online processing task management method and system for monitoring video
CN106959886A (en) * 2017-05-15 2017-07-18 河南科技学院 A kind of deploying virtual machine control platform and application method based on cloud computing
CN107122235A (en) * 2017-04-19 2017-09-01 中国舰船研究设计中心 Public infrastructure resource regulating method based on application priority

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253831B (en) * 2013-06-26 2018-05-11 国际商业机器公司 A kind of method and system for being used for the application deployment in cloud computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915248A (en) * 2012-09-28 2013-02-06 用友软件股份有限公司 Automatic deploying system and automatic deploying method of application system
CN104618693A (en) * 2015-02-09 2015-05-13 北京邮电大学 Cloud computing based online processing task management method and system for monitoring video
CN107122235A (en) * 2017-04-19 2017-09-01 中国舰船研究设计中心 Public infrastructure resource regulating method based on application priority
CN106959886A (en) * 2017-05-15 2017-07-18 河南科技学院 A kind of deploying virtual machine control platform and application method based on cloud computing

Also Published As

Publication number Publication date
CN110895464A (en) 2020-03-20

Similar Documents

Publication Publication Date Title
CN107241281B (en) Data processing method and device
CN109213600B (en) GPU resource scheduling method and device based on AI cloud
CN115328663B (en) Method, device, equipment and storage medium for scheduling resources based on PaaS platform
EP3200393B1 (en) Method and device for virtual network function management
CN110489213B (en) Task processing method and processing device and computer system
CN109960575B (en) Computing capacity sharing method, system and related equipment
CN111045810B (en) Task scheduling processing method and device
CN105373429A (en) Task scheduling method, device and system
CN109033814B (en) Intelligent contract triggering method, device, equipment and storage medium
CN109688191B (en) Traffic scheduling method and communication device
CN104182282A (en) Overload protection system and method for server
CN104580194A (en) Virtual resource management method and device oriented to video applications
CN113886069A (en) Resource allocation method and device, electronic equipment and storage medium
CN114625533A (en) Distributed task scheduling method and device, electronic equipment and storage medium
CN112965817B (en) Resource management method and device and electronic equipment
CN112260962B (en) Bandwidth control method and device
CN110795202A (en) Resource allocation method and device of virtualized cluster resource management system
CN111143033B (en) Operation execution method and device based on scalable operation system
CN110895464B (en) Application deployment method, device and system
CN111831408A (en) Asynchronous task processing method and device, electronic equipment and medium
CN116483546A (en) Distributed training task scheduling method, device, equipment and storage medium
CN107276853B (en) Flow processing method, electronic device and computer system
CN113660353B (en) Method, device, equipment and medium for managing Provisioner address based on Bluetooth Mesh
CN111475277A (en) Resource allocation method, system, equipment and machine readable storage medium
CN116841720A (en) Resource allocation method, apparatus, computer device, storage medium and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant