Containerized application program upgrading system and method based on IPC
Patent Information
- Application Number
- CN202411608503.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-01-21
Smart Images

Figure CN119336360A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer technology, and in particular, relates to an IPC-based containerized application upgrade system and method. Background Art
[0002] With the development of video surveillance, the number of surveillance devices is increasing. Most of the business applications of surveillance devices are bundled with the main program. A small change requires updating the entire firmware, and the main process application will be interrupted during the upgrade process, and the main program file will be replaced. After the upgrade is completed, the device needs to be restarted and put back online. Live broadcast, video cloud storage and other services will be interrupted, resulting in interruption of video live broadcast and loss of cloud storage video data, affecting real-time monitoring, cloud storage playback effects, and cloud storage upload success rate. Summary of the invention
[0003] In view of the above shortcomings of the prior art, the purpose of the invention is to provide an IPC-based containerized application upgrade system and method. The system solves the problem of the entire firmware needing to be updated due to business iteration updates, and the device restarting during the upgrade process, resulting in interruption of real-time monitoring images, loss of video and cloud storage data, etc.
[0004] In a first aspect of the present invention, a containerized application upgrade system based on IPC is proposed, comprising: an operation management platform, which is used to create a deployment task and send the deployment task to a convergence gateway so that the convergence gateway sends the deployment task to a capability middle station; the capability middle station, which is used to notify a device to obtain an application upgrade list when receiving the deployment task; the device, which is used to obtain the application upgrade list from the capability middle station and determine the information of the application upgrade list, and when determining to update the application based on the information in the application upgrade list, download and install the application from a resource pool, and report the updated application configuration to the capability middle station, and report the task execution result to the operation management platform.
[0005] Furthermore, the conditions for obtaining the application upgrade list from the capability center include: when the containerized SDK is started, determining whether the containerized SDK is in a reset state; when the containerized SDK is in a reset state, obtaining the application upgrade list from the capability center.
[0006] Furthermore, the capability center is also used to send an installation task request to the device, wherein, when the device receives the installation task request, the application on the device is updated to the target version.
[0007] Furthermore, the application on the device is updated to the target version, including: the core process of the device determines whether to uninstall the first application and download the second application installation package; if it is determined to uninstall the first application and download the second application installation package, the installation package is verified; if the verification is successful, the application online information is sent to the daemon process of the device; when the daemon process receives the application online information, it executes the application online by creating an application process.
[0008] Furthermore, reporting the task execution result to the operation management platform includes: reporting the task execution result to the capability center; when the capability center receives the task execution result, the task execution result is reported to the operation management platform through the convergence gateway.
[0009] The second aspect of the present invention proposes an IPC-based containerized application upgrade method, including: S1, configuring a deployment task on an operation management platform according to the unique identifier of the device or the version number that needs to be upgraded; S2, sending the deployment task to the convergence gateway, and the convergence gateway sends the deployment task to the capability middle station; S3, when the capability middle station receives the deployment task, it notifies the device to obtain an application upgrade list; S4, when the device obtains the application upgrade list and determines the information of the application upgrade list, and determines to update the application based on the information of the application upgrade list, it downloads the application from the resource pool and installs the application.
[0010] According to a third aspect of the present invention, an electronic device is proposed, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any of the methods described in the first aspect of the present invention.
[0011] According to a fourth aspect of the present invention, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute any one of the methods according to the first aspect of the present invention.
[0012] The beneficial effects of the present invention are as follows:
[0013] The containerized application upgrade system and method based on IPC of the present invention comprises: an operation management platform, which is used to create a deployment task and send the deployment task to the convergence gateway so that the convergence gateway sends the deployment task to the capability middle station; the capability middle station is used to notify the device to obtain the application upgrade list when receiving the deployment task; the device is used to obtain the application upgrade list from the capability middle station and determine the information of the application upgrade list, and download and install the application from the resource pool based on the information of the application upgrade list to determine the application to be updated, and report the updated application configuration to the capability middle station, and report the task execution result to the operation management platform. The system is based on the containerized application upgrade system of IPC, which significantly improves the flexibility, response speed, stability and reliability of the system through centralized management, rapid response, flexible adjustment of upgrade strategy, autonomous upgrade, real-time monitoring and management, feedback mechanism optimization deployment and efficient application update process and other technical means, reduces errors and delays in the upgrade process, optimizes the overall performance and user experience of the system, and realizes that in the process of equipment upgrade, the entire firmware needs to be updated due to business iteration update, and the device restarts during the upgrade process, resulting in interruption of real-time monitoring screen, missing video and cloud storage data, and other problems. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings are only used to illustrate specific embodiments and are not considered to limit the present invention. In the entire drawings, the same reference symbols represent the same components. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings.
[0015] Figure 1 is a schematic diagram of an IPC-based containerized application upgrade system according to an embodiment of the present invention;
[0016] Figure 2 is a flowchart of an IPC-based containerized application upgrade method according to an embodiment of the present invention;
[0017] Figure 3 It is a structural block diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0018] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. It should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in the field without making creative work should fall within the scope of protection of the present invention.
[0019] Furthermore, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts disclosed in the present invention.
[0020] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the orientation or position relationship indicated by the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inside", "outside", etc. is based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present invention and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation of the present invention. In addition, the terms "first", "second", and "third" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. The terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be a connection between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0021] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of methods and systems consistent with some aspects of the present invention as detailed in the appended claims.
[0022] The present invention proposes an IPC-based containerized application upgrade system. Figure 1 is a schematic diagram of an IPC-based containerized application upgrade system according to an embodiment of the present invention, such as Figure 1 As shown in the figure, the IPC-based containerized application upgrade system includes:
[0023] The operation management platform 110 is used to create a deployment task and send the deployment task to the convergence gateway 120, so that the convergence gateway 120 sends the deployment task to the capability center 130;
[0024] The capability center 130 is used to notify the device 140 to obtain the application upgrade list when receiving the deployment task;
[0025] Device 140 is used to obtain an application upgrade list from the capability center 130 and determine the information of the application upgrade list, and when determining to update the application based on the information in the application upgrade list, download and install the application from the resource pool 150, and report the updated application configuration to the capability center 130, and report the task execution result to the operation management platform 110.
[0026] That is to say, the operation management platform 110, as the core control point of the system, can centrally create and manage deployment tasks. This centralized management method simplifies the complexity of task scheduling and ensures that tasks are accurately and timely issued; the convergence gateway 120, as an intermediate layer, effectively forwards the instructions of the operation management platform to the capability platform 130, realizing the rapid distribution and response of tasks; after receiving the deployment task, the capability platform 130 can flexibly notify the device 140 to obtain the application upgrade list. This mechanism allows the system to adjust the upgrade strategy according to actual needs, such as batch upgrades, emergency upgrades, etc.; the device 140 can autonomously obtain upgrade information from the capability platform 130, and decide whether to upgrade according to actual conditions, which improves the flexibility and response speed of the system; after determining that the application needs to be updated, the device 140 can automatically download and install new applications from the resource pool 150 without manual intervention. This greatly reduces errors and delays in the upgrade process and improves upgrade efficiency; the updated application configuration can be automatically reported to the capability platform 130, which helps the system monitor and manage the running status of the application in real time to ensure the stability and reliability of the system; after completing the upgrade task, the device 140 can report the task execution results to the operation management platform 110. This feedback mechanism allows the system to monitor the execution of tasks in real time and find and solve problems in a timely manner; the operation management platform 110 can adjust the subsequent deployment strategy based on the feedback results to optimize the overall performance of the system and user experience.
[0027] In an embodiment of the present invention, the device 140 may be a monitoring device.
[0028] In an embodiment of the present invention, the conditions for obtaining an application upgrade list from the capability center 130 include: when the containerized SDK is started, determining whether the containerized SDK is in a reset state; when the containerized SDK is in a reset state, obtaining an application upgrade list from the capability center 130.
[0029] Among them, the implementation method of determining whether the containerized SDK is in a reset state includes but is not limited to checking the container status, monitoring the container health status, checking the configuration files and images, etc. For example, if it is determined that the container has been stopped or the container health status is "unhealthy" or the configuration file / image version has changed, it may indicate that the containerized SDK is in a reset state.
[0030] In an embodiment of the present invention, the capability center 130 is also used to send an installation task request to the device 140, wherein, when the device 140 receives the installation task request, the application on the device 140 is updated to the target version.
[0031] Among them, the core process on the device 140 can determine whether to uninstall the first application and download the second application installation package; if it is determined to uninstall the first application and download the second application installation package, the installation package is verified; if the verification is successful, the application online information is sent to the daemon process of the device 140; when the daemon process receives the application online information, it creates an application process to execute the application online, thereby updating the application on the device 140 to the target version.
[0032] In an embodiment of the present invention, the task execution result can be reported to the capability center 130; when the capability center 130 receives the task execution result, it reports the task execution result to the operation management platform 110 through the aggregation gateway 120, thereby realizing reporting the task execution result to the operation management platform 110.
[0033] In one embodiment of the present invention, the implementation method for device 140 to start obtaining an application is as follows: the containerized SDK is started, and when the containerized SDK is started, it is determined whether the containerized SDK is in a reset state; when the containerized SDK is in a reset state, an application upgrade list is obtained from capability center 130, and capability center 130 sends the application upgrade list to device 140. When receiving the application upgrade list, device 140 determines whether to update the application based on the application upgrade list, and when it is determined to update the application, downloads the application from resource pool 150 and installs the application.
[0034] In one embodiment of the present invention, the implementation method of the application release task process is as follows: the operation and maintenance personnel create a deployment task through the operation management platform 110, and the operation management platform 110 sends the deployment task to the aggregation gateway 120, so that the aggregation gateway 120 sends the deployment task to the capability middle station 130. When the capability middle station 130 receives the deployment task, it notifies the device 140 to obtain the application upgrade list. The device 140 obtains the application upgrade list from the capability middle station 130 and determines the information of the application upgrade list. When it determines to update the application based on the information in the application upgrade list, it downloads and installs the application from the resource pool 150, reports the updated application configuration to the capability middle station 130, and reports the task execution result to the capability middle station 130. The capability middle station 130 reports the task execution result to the operation management platform 110 through the aggregation gateway 120.
[0035] In one embodiment of the present invention, the application upgrade process is implemented as follows: when the device 140 receives the installation task request issued by the capability center 130, the core process on the device 140 determines whether to uninstall the first application and download the second application installation package; when it is determined to uninstall the first application and download the second application installation package, the installation package is verified; when the verification is successful, the application online information is sent to the daemon process of the device 140; when the daemon process receives the application online information, it creates an application process to execute the application online, and the containerized application is put back online, and other services of the core process (live broadcast, cloud storage, recording, etc.) remain unchanged.
[0036] According to the IPC-based containerized application upgrade system of the embodiment of the present invention, the IPC-based containerized application upgrade system significantly improves the flexibility, response speed, stability and reliability of the system through technical means such as centralized management, rapid response, flexible adjustment of upgrade strategies, autonomous upgrades, real-time monitoring and management, feedback mechanism optimization deployment and efficient application update processes, reduces errors and delays in the upgrade process, optimizes the overall performance of the system and user experience, and solves the problems of updating the entire firmware due to business iteration updates and restarting the device during the upgrade process, resulting in interruption of real-time monitoring images, missing video and cloud storage data, etc.
[0037] In one embodiment of the present invention, the present invention also proposes an IPC-based containerized application upgrade method, such as Figure 2 As shown, the IPC-based containerized application upgrade method includes:
[0038] S210: Configure a deployment task on the operation management platform according to the unique identifier of the device or the version number that needs to be upgraded.
[0039] S220, sending the deployment task to the aggregation gateway, and the aggregation gateway sends the deployment task to the capability center.
[0040] That is to say, the operation management platform sends the deployment task to the aggregation gateway, so that the aggregation gateway sends the deployment task to the capability center.
[0041] S230, when the capability center receives the deployment task, it notifies the device to obtain the application upgrade list.
[0042] S240, the device obtains an application upgrade list and determines information of the application upgrade list, and when determining to update the application based on the information of the application upgrade list, downloads the application from the resource pool and installs the application.
[0043] In one embodiment of the present invention, the updated application configuration is reported to the capability center, and the task execution result is reported to the operation management platform.
[0044] In one embodiment of the present invention, when the device receives the installation task request sent by the capability center, the application on the device is updated to the target version.
[0045] Among them, the core process on the device can determine whether to uninstall the first application and download the second application installation package; if it is determined to uninstall the first application and download the second application installation package, the installation package is verified; if the verification is successful, the application online information is sent to the device's daemon process; when the daemon process receives the application online information, it executes the application online by creating an application process.
[0046] In a specific embodiment of the present invention, after the camera manufacturer integrates the containerized SDK, the device has the containerized application upgrade function. The operation and maintenance personnel upload the containerized application compression package that needs to be updated on the operation management platform, including the application name, application version number, application ID, installation package MD5, installation package size, application type, application installation directory and other information entry. The operation and maintenance personnel deploy the containerized application version that needs to be upgraded according to the device UID or version number. The convergence gateway sends the deployment task to the capability center. The capability center notifies the containerized SDK to obtain the application upgrade list. The containerized SDK obtains the application upgrade list information and goes to the resource pool to download the application. The containerized SDK downloads the application and installs the application, and reports the updated application configuration information after the installation is completed. The capability center receives the device task execution progress notification convergence gateway, and the convergence gateway then notifies the operation management platform of the upgrade task results. The upgrade of the containerized application is realized without restarting the camera device and the user being aware of it, which greatly reduces manual intervention and downtime, improves the system availability and user experience, and also reduces the operation and maintenance costs and risks.
[0047] According to the IPC-based containerized application upgrade method of the embodiment of the present invention, the deployment task is configured on the operation management platform according to the unique identifier of the device or the version number that needs to be upgraded; the deployment task is sent to the convergence gateway, and the convergence gateway sends the deployment task to the capability center; the capability center notifies the device to obtain the application upgrade list when receiving the deployment task; the device obtains the application upgrade list and determines the information of the application upgrade list, and downloads and installs the application from the resource pool when the application is updated based on the information of the application upgrade list. This method significantly improves the flexibility, response speed, stability and reliability of the system through centralized management, rapid response, flexible adjustment of upgrade strategies, autonomous upgrades, real-time monitoring and management, feedback mechanism optimization deployment and efficient application update process and other technical means, reduces errors and delays in the upgrade process, optimizes the overall performance of the system and user experience, and solves the problems of updating the entire firmware due to business iteration updates and restarting the device during the upgrade process, resulting in interruption of real-time monitoring screen, missing video and cloud storage data, etc.
[0048] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0049] According to one aspect of an embodiment of the present invention, an electronic device is provided.
[0050] Figure 3 Schematic diagram of the structure of an electronic device according to an embodiment of the present invention. Figure 3 As shown, the electronic device may include one or more ( Figure 3 Only one is shown in the figure) processor 102 (processor 102 may include but is not limited to a microprocessor (Microprocessor Unit, referred to as MPU) or a programmable logic device (Programmable logic device, referred to as PLD)) and a memory 104 for storing data. In an exemplary embodiment, the electronic device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 3The structure shown is for illustration only and does not limit the structure of the above terminal device. Figure 3 More or fewer components as shown, or with Figure 3 Equivalent functions or comparisons shown Figure 3 A different configuration with more features is shown.
[0051] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the IPC-based containerized application upgrade method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the terminal device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0052] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the switching device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0053] The present invention provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute an IPC-based containerized application upgrade method.
[0054] The applicant of the present invention has made a detailed explanation and description of the implementation examples of the present invention in conjunction with the drawings in the specification. However, those skilled in the art should understand that the above implementation examples are only preferred implementation schemes of the present invention, and the detailed description is only to help readers better understand the spirit of the present invention, but not to limit the scope of protection of the present invention. On the contrary, any improvements or modifications based on the inventive spirit of the present invention should fall within the scope of protection of the present invention.
[0055] In addition, each functional unit in each embodiment of the present invention may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0056] The storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limiting the present invention. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present invention.
[0057] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, rather than to limit them. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the above embodiments, or replace some of the technical features therein by equivalents; 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 invention. Any changes or replacements that can be easily thought of by those skilled in the art within the technical scope disclosed in the present invention should be covered within the protection scope of the present invention.
Claims
1. A containerized application upgrade system based on IPC, characterized in that: include: The operation management platform is used to create a deployment task and send the deployment task to the convergence gateway so that the convergence gateway sends the deployment task to the capability middle platform; The capability middle platform is used to notify the device to obtain the application upgrade list when receiving the deployment task; The device is used to obtain the application upgrade list from the capability center and determine the information of the application upgrade list, and when determining to update the application based on the information of the application upgrade list, download and install the application from the resource pool, report the updated application configuration to the capability center, and report the task execution result to the operation management platform.
2. The IPC-based containerized application upgrade system according to claim 1, characterized in that: The conditions for obtaining the application upgrade list from the capability center include: When the containerized SDK is started, determining whether the containerized SDK is in a reset state; When the containerized SDK is in a reset state, the application upgrade list is obtained from the capability center.
3. The IPC-based containerized application upgrade system according to claim 1, characterized in that: The capability center is further used to send an installation task request to the device, wherein when the device receives the installation task request, the application on the device is updated to the target version.
4. The IPC-based containerized application upgrade system according to claim 3, characterized in that: The application on the device is updated to the target version, including: The core process on the device determines whether to uninstall the first application and download the second application installation package; If it is determined to uninstall the first application and download the installation package of the second application, verify the installation package; If the verification is successful, the application online information is sent to the daemon process of the device; When receiving the application online information, the daemon process creates an application process to execute the application online.
5. The IPC-based containerized application upgrade system according to claim 1, characterized in that: Reporting the task execution results to the operation management platform includes: Reporting the task execution result to the capability center; When receiving the task execution result, the capability center reports the task execution result to the operation management platform through the convergence gateway.
6. A containerized application upgrade method based on IPC, characterized in that: include: S1, configure the deployment task on the operation management platform according to the unique identifier of the device or the version number that needs to be upgraded; S2, sending the deployment task to the aggregation gateway, and the aggregation gateway sends the deployment task to the capability center; S3, when the capability center receives the deployment task, it notifies the device to obtain the application upgrade list; S4, the device obtains the application upgrade list and determines the information of the application upgrade list, and when determining to update the application based on the information of the application upgrade list, downloads the application from the resource pool and installs the application.
7. The IPC-based containerized application upgrade method according to claim 6, characterized in that: Also includes: Report the updated application configuration to the capability center, and report the task execution results to the operation management platform.
8. The IPC-based containerized application upgrade method according to claim 6, characterized in that: Also includes: When the device receives the installation task request sent by the capability center, the application on the device is updated to the target version.
9. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 6 to 8.
10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 6 to 8.