Ubiquitous intelligent application management method and device for embedded system

By packaging the directory collection of applications in an embedded system into installation packages and storing them in an application repository, the dependency management complexity of embedded platforms in intelligent application management is solved, and more efficient application management and deployment is achieved.

CN120029635APending Publication Date: 2025-05-23SUZHOU INST FOR ADVANCED STUDY USTC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411875307.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The existing embedded platforms have complex dependency management algorithms in terms of intelligent application management, and are prone to dependency conflicts and errors during installation or upgrade, resulting in inconvenience in management.

Method used

A ubiquitous intelligent application management method for embedded systems is proposed. By packaging the directory collection of applications into installation packages and storing them in the application warehouse, obtaining the target installation package from the warehouse according to application requests and performing corresponding operations, and performing application dependency detection and processing on embedded devices.

Benefits of technology

Improve the accuracy and efficiency of application management of embedded devices or systems, reduce the risk of system failure, improve the success rate of application deployment and system stability, and reduce manual intervention and resource costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120029635A_ABST
    Figure CN120029635A_ABST
Patent Text Reader

Abstract

The invention discloses a ubiquitous intelligent application management method and device oriented to an embedded system, and the method comprises the steps: packaging a directory set corresponding to an application program to obtain a corresponding installation package, and storing the installation package in an application warehouse; when an application program request for the embedded device is obtained, obtaining a target installation package corresponding to the application program request from the application warehouse, and executing an application operation corresponding to the application program request on the embedded device based on the target installation package; and executing application dependency detection on all application programs of each embedded device, and executing corresponding application dependency processing operation when detecting that the application programs of the embedded device have application dependency problems. Therefore, the accuracy and efficiency of application management for different embedded devices or systems can be improved, so that the system fault risk is reduced, the application deployment success rate is improved, the system stability is enhanced, manual intervention can be reduced, and the human resource and time cost can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of embedded application management, and in particular to a ubiquitous intelligent application management method and device for embedded systems. Background Art

[0002] In recent years, with the great success of Internet of Things technology and artificial intelligence technology represented by deep convolutional neural networks in image classification, target detection, semantic segmentation, natural language processing and other fields, the application of artificial intelligence in embedded platforms has shown explosive development. Due to the huge demand for data and computing power of artificial intelligence models, the traditional approach is to upload massive requests and data to the data center, which brings problems such as insufficient real-time performance and privacy leakage. In order to solve these problems, it has become a reasonable choice to directly deploy and run intelligent applications on embedded devices. Compared with transmitting data to the data center, directly calculating artificial intelligence models on embedded devices has the following advantages: directly placing data processing and storage on embedded devices reduces the distance and time of data transmission, and can achieve lower latency and real-time processing; directly processing data on local devices reduces the amount of data that needs to be transmitted to the data center, thereby saving bandwidth resources and costs; processing and storing data on embedded devices reduces the risk of data exposure during transmission and improves data privacy and security; embedded devices can continue to work in the event of network interruption or instability, improving system reliability and availability.

[0003] However, existing embedded platforms often use the package management software installed by the system to manage smart applications, such as the APT package management software of the Ubuntu system, the configuration software of the Buildroot system, and FreeRTOS. These real-time operating systems do not have a dedicated unified package management software like the traditional software field. Take the APT package management software as an example. Since it is responsible for the installation, update, and uninstallation of all software in the entire system, its dependency management algorithm is very complex. When faced with hundreds of thousands of software, handling complex dependencies may lead to installation or upgrade problems, and a large number of dependency conflicts and errors require users to manually resolve conflicts, which is not friendly enough for non-professional users.

[0004] Therefore, it is particularly important to provide a ubiquitous intelligent application management method for embedded systems to improve the accuracy and efficiency of application management for different embedded devices or systems. Summary of the invention

[0005] The technical problem to be solved by the present invention is to provide a ubiquitous intelligent application management method and device for embedded systems, which is conducive to improving the accuracy and efficiency of application management for different embedded devices or systems.

[0006] In order to solve the above technical problems, the first aspect of the present invention discloses a ubiquitous intelligent application management method for embedded systems, the method comprising:

[0007] Packing the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application, and storing the installation package corresponding to the current version of the application in the application warehouse; the application warehouse stores the installation packages corresponding to all versions of the application;

[0008] When an application request for an embedded device is obtained, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application warehouse, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package of the target application of the target version; the application request includes at least an installation request and an update request of the application;

[0009] For each of the embedded devices, application dependency detection is performed on all the applications installed on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

[0010] As an optional implementation, in the first aspect of the present invention, packaging the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application includes:

[0011] The directory set corresponding to the current version of the application is packaged in tar file format to obtain a tar file corresponding to the current version of the application; the directory set includes at least an application configuration directory, an application information directory and an application source file directory; the application configuration directory includes at least the configuration information of the current version of the application when it is installed, the scripts required during the installation and uninstallation process, application meta information, file hash and digital signature; the configuration information includes at least the package name and size of the installation package corresponding to the current version of the application, as well as the version information of the current version of the application, the applicable system, the applicable processor architecture, the dependent package and the required collaborative application; the application information directory includes at least the record information of the installation package corresponding to the current version of the application; the application source file directory includes at least the header file, binary file, link library and artificial intelligence model corresponding to the current version of the application;

[0012] Generate an md5 hash value of the tar file corresponding to the current version of the application, and generate a digital signature of the installation package corresponding to the current version of the application based on the RSA asymmetric encryption algorithm;

[0013] Write the md5sum command and the digital signature of the installation package corresponding to the current version of the application into the application configuration directory of the directory collection of the tar file corresponding to the current version of the application, and use the zstd algorithm to compress the tar file corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application; the md5sum command is used to verify the md5 hash value of the tar file corresponding to the current version of the application.

[0014] As an optional implementation, in the first aspect of the present invention, when an application request for an embedded device is obtained, before obtaining a target installation package of a target application of a target version corresponding to the program application request from the application repository, and performing an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, the method further includes:

[0015] For each embedded device, a device number hash value corresponding to the embedded device is generated according to the hardware information and system information of the embedded device;

[0016] For each of the embedded devices, based on the broadcast information sent by the master device when broadcasting in the local area network, verify whether the device state of the embedded device meets the preset state condition, and obtain the device state verification result of the embedded device; the master device is used to manage all the embedded devices; the broadcast information includes a token for verifying the device state of the embedded device; the devices connected in the local area network include the master device and all the embedded devices;

[0017] For each of the embedded devices, when the device status verification result of the embedded device is used to indicate that the device status of the embedded device satisfies the status condition, feeding back the device number hash value of the embedded device to the main device;

[0018] When the main device receives the device number hash value fed back by the embedded device, a device list corresponding to all embedded devices that have fed back corresponding device number hash values ​​is constructed on the main device based on all the device number hash values;

[0019] Constructing an application database, the application database comprising a device information table, an application information table and a device application information table; the device information table is used to store device information of all the embedded devices; the application information table is used to store application information corresponding to all versions of the application; the device application information table is used to store the current version of the application installed on each of the embedded devices;

[0020] For each of the embedded devices in the device list, based on the application database, the installable applications, updateable applications and uninstallable applications corresponding to the embedded device are determined.

[0021] As an optional implementation, in the first aspect of the present invention, for each of the embedded devices in the device list, determining the installable applications, updateable applications, and uninstallable applications corresponding to the embedded device based on the application database includes:

[0022] For each of the embedded devices in the device list, the application database is parsed to obtain a list of installed applications and a list of installable applications for the embedded device; based on the list of installed applications and the list of installable applications for the embedded device, the installable applications, updateable applications and uninstallable applications for the embedded device are determined.

[0023] As an optional implementation, in the first aspect of the present invention, when an application request for an embedded device is obtained, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package of the target application of the target version, including:

[0024] When an application request for an embedded device is obtained, for an installation request for the application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and the application installation operation corresponding to the application request is performed on the embedded device based on the target installation package; for an update request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and a differential package between the target installation package and the installation package of the current version of the application on the embedded device is generated through a bsdiff algorithm, and the application update operation corresponding to the application request is performed on the embedded device based on the differential package.

[0025] As an optional implementation, in the first aspect of the present invention, the application dependency detection includes system-level dependency detection and application-level dependency detection;

[0026] And, for each of the embedded devices, application dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device, including:

[0027] For each of the embedded devices, based on the application management software on the embedded device, a system-level dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0028] For each of the embedded devices, application-level dependency detection is performed on all the applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

[0029] As an optional implementation, in the first aspect of the present invention, the application-level dependency detection includes circular dependency detection and path dependency detection;

[0030] And, for each of the embedded devices, based on the application dependency manager on the embedded device, application-level dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has the application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device, including:

[0031] For each of the embedded devices, according to all the applications installed on the embedded device, a directed dependency graph corresponding to all the applications installed on the embedded device is constructed based on an application dependency manager on the embedded device; each node of the directed dependency graph corresponds to each of the applications installed on the embedded device;

[0032] Based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all the applications installed on the embedded device, and when it is detected that the dependency directed graph corresponding to all the applications installed on the embedded device has the application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0033] And\or, based on depth-first search, path dependency detection of the embedded device is performed on the directed graph of dependency relationships corresponding to all the applications installed on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

[0034] A second aspect of the present invention discloses a ubiquitous intelligent application management device for embedded systems, the device comprising:

[0035] The packaging module is used to package the directory set corresponding to the current version of the application, obtain the installation package corresponding to the current version of the application, and store the installation package corresponding to the current version of the application in the application warehouse; the application warehouse stores the installation packages corresponding to all versions of the application;

[0036] an execution module, configured to, when an application request for an embedded device is obtained, obtain a target installation package of a target application of a target version corresponding to the program application request from the application repository, and execute an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version; the application request at least includes an installation request and an update request for the application;

[0037] The detection module is used to perform application dependency detection on all the applications installed on each embedded device, and when it is detected that the applications installed on the embedded device have application dependency problems, perform application dependency processing operations corresponding to the application dependency problems on the embedded device.

[0038] As an optional implementation, in the second aspect of the present invention, the packaging module packages the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application, and the specific method includes:

[0039] The directory set corresponding to the current version of the application is packaged in tar file format to obtain a tar file corresponding to the current version of the application; the directory set includes at least an application configuration directory, an application information directory and an application source file directory; the application configuration directory includes at least the configuration information of the current version of the application when it is installed, the scripts required during the installation and uninstallation process, application meta information, file hash and digital signature; the configuration information includes at least the package name and size of the installation package corresponding to the current version of the application, as well as the version information of the current version of the application, the applicable system, the applicable processor architecture, the dependent package and the required collaborative application; the application information directory includes at least the record information of the installation package corresponding to the current version of the application; the application source file directory includes at least the header file, binary file, link library and artificial intelligence model corresponding to the current version of the application;

[0040] Generate an md5 hash value of the tar file corresponding to the current version of the application, and generate a digital signature of the installation package corresponding to the current version of the application based on the RSA asymmetric encryption algorithm;

[0041] Write the md5sum command and the digital signature of the installation package corresponding to the current version of the application into the application configuration directory of the directory collection of the tar file corresponding to the current version of the application, and use the zstd algorithm to compress the tar file corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application; the md5sum command is used to verify the md5 hash value of the tar file corresponding to the current version of the application.

[0042] As an optional implementation, in the second aspect of the present invention, the device further includes:

[0043] a generating module, configured to obtain, from the application repository, a target installation package of a target application of a target version corresponding to the program application request when the executing module obtains an application request for the embedded device, and before executing the application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, for each embedded device, generate a device number hash value corresponding to the embedded device according to the hardware information and system information of the embedded device;

[0044] A verification module, for verifying, for each of the embedded devices, whether the device state of the embedded device meets a preset state condition based on the broadcast information sent by the master device when broadcasting in the local area network, and obtaining a device state verification result of the embedded device; the master device is used to manage all the embedded devices; the broadcast information includes a token for verifying the device state of the embedded device; the devices connected in the local area network include the master device and all the embedded devices;

[0045] A feedback module, for each of the embedded devices, when a device status verification result of the embedded device is used to indicate that the device status of the embedded device satisfies the status condition, feeding back a device number hash value of the embedded device to the main device;

[0046] A construction module is used to construct a device list corresponding to all embedded devices that have fed back corresponding device number hash values ​​on the main device based on all the device number hash values ​​after the main device receives the device number hash value fed back by the embedded device; construct an application database, the application database includes a device information table, an application information table and a device application information table; the device information table is used to store device information of all the embedded devices; the application information table is used to store application information corresponding to all versions of the application; the device application information table is used to store the current version of the application installed on each of the embedded devices;

[0047] The determination module is used to determine, for each embedded device in the device list, the installable applications, the updateable applications and the uninstallable applications corresponding to the embedded device based on the application database.

[0048] As an optional implementation, in the second aspect of the present invention, the determination module determines, for each of the embedded devices in the device list, based on the application database, the installable applications, updateable applications, and uninstallable applications corresponding to the embedded device, specifically in the following manners:

[0049] For each of the embedded devices in the device list, the application database is parsed to obtain a list of installed applications and a list of installable applications for the embedded device; based on the list of installed applications and the list of installable applications for the embedded device, the installable applications, updateable applications and uninstallable applications for the embedded device are determined.

[0050] As an optional implementation, in the second aspect of the present invention, when the execution module obtains an application request for an embedded device, it obtains a target installation package of a target application of a target version corresponding to the program application request from the application repository, and executes the application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, and the specific method includes:

[0051] When an application request for an embedded device is obtained, for an installation request for the application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and the application installation operation corresponding to the application request is performed on the embedded device based on the target installation package; for an update request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and a differential package between the target installation package and the installation package of the current version of the application on the embedded device is generated through a bsdiff algorithm, and the application update operation corresponding to the application request is performed on the embedded device based on the differential package.

[0052] As an optional implementation, in the second aspect of the present invention, the application dependency detection includes system-level dependency detection and application-level dependency detection;

[0053] Furthermore, the detection module performs application dependency detection on all the applications installed on each embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, performs an application dependency processing operation corresponding to the application dependency problem on the embedded device, specifically in the following manners:

[0054] For each of the embedded devices, based on the application management software on the embedded device, a system-level dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0055] For each of the embedded devices, application-level dependency detection is performed on all the applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

[0056] As an optional implementation, in the second aspect of the present invention, the application-level dependency detection includes circular dependency detection and path dependency detection;

[0057] Furthermore, the detection module performs application-level dependency detection on all the applications installed on the embedded device based on the application dependency manager on the embedded device for each of the embedded devices. When it is detected that the application installed on the embedded device has the application dependency problem, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device. The specific method includes:

[0058] For each of the embedded devices, according to all the applications installed on the embedded device, a directed dependency graph corresponding to all the applications installed on the embedded device is constructed based on an application dependency manager on the embedded device; each node of the directed dependency graph corresponds to each of the applications installed on the embedded device;

[0059] Based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all the applications installed on the embedded device, and when it is detected that the dependency directed graph corresponding to all the applications installed on the embedded device has the application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0060] And\or, based on depth-first search, path dependency detection of the embedded device is performed on the directed graph of dependency relationships corresponding to all the applications installed on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

[0061] The third aspect of the present invention discloses another ubiquitous intelligent application management device for embedded systems, the device comprising:

[0062] A memory storing executable program code;

[0063] a processor coupled to the memory;

[0064] The processor calls the executable program code stored in the memory to execute part or all of the steps in the ubiquitous intelligent application management method for embedded systems disclosed in the first aspect of the present invention.

[0065] The fourth aspect of the present invention discloses a computer-storable medium, which stores computer instructions. When the computer instructions are called, they are used to execute some or all of the steps in the ubiquitous intelligent application management method for embedded systems disclosed in the first aspect of the present invention.

[0066] Compared with the prior art, the embodiments of the present invention have the following beneficial effects:

[0067] The present invention packages a directory set corresponding to an application to obtain a corresponding installation package, and stores the installation package in an application warehouse; when an application request for an embedded device is obtained, a target installation package corresponding to the program application request is obtained from the application warehouse, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package; application dependency detection is performed on all applications installed on each embedded device, and when it is detected that an application dependency problem exists in the application installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed. It can be seen that the present invention can package a directory set corresponding to an application to obtain an installation package and store it in an application warehouse, obtain a corresponding target installation package from the application warehouse according to the application request, perform an operation corresponding to the application request, perform application dependency detection on the embedded device and process the application dependency problem, which is beneficial to improving the accuracy and efficiency of application management for different embedded devices or systems, thereby reducing the risk of system failures, improving the success rate of application deployment, and enhancing system stability, while also being able to reduce manual intervention and reduce human resources and time costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0069] Figure 1 It is a flow chart of a ubiquitous intelligent application management method for embedded systems disclosed in an embodiment of the present invention;

[0070] Figure 2 It is a structural diagram of a ubiquitous intelligent application management device for embedded systems disclosed in an embodiment of the present invention;

[0071] Figure 3 It is a structural schematic diagram of another ubiquitous intelligent application management device for embedded systems disclosed in an embodiment of the present invention.

[0072] Figure 4It is a structural schematic diagram of another ubiquitous intelligent application management device for embedded systems disclosed in an embodiment of the present invention. DETAILED DESCRIPTION

[0073] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0074] The terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish different objects rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, device, product or end including a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units inherent to these processes, methods, products or ends.

[0075] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0076] The present invention discloses a ubiquitous intelligent application management method and device for embedded systems, which can improve the accuracy and efficiency of application management for different embedded devices or systems, thereby reducing the risk of system failures, improving the success rate of application deployment, and enhancing system stability, while also reducing manual intervention and reducing human resources and time costs. The following are detailed descriptions.

[0077] Embodiment 1

[0078] See also Figure 1 , Figure 1 1 is a flow chart of a ubiquitous intelligent application management method for embedded systems disclosed in an embodiment of the present invention. Figure 1 The method shown can be applied to the on-orbit update scenario of satellite-borne programs, effectively reducing the size of data packets through more efficient compression and ensuring the stability of satellite-borne applications; Figure 1The method shown can also be applied to the deployment scenario of intelligent applications in the intelligent vehicle system to ensure the deployment efficiency of the intelligent vehicle system; Figure 1 The method shown can also be applied to any scenario requiring intelligent application management, which is not limited in the embodiments of the present invention. Figure 1 As shown, the ubiquitous intelligent application management method for embedded systems may include the following operations:

[0079] 101. Package a directory set corresponding to the current version of the application to obtain an installation package corresponding to the current version of the application, and store the installation package corresponding to the current version of the application in an application warehouse;

[0080] In an embodiment of the present invention, an application warehouse stores installation packages corresponding to all versions of an application program; since the number of embedded devices using the application program may be large and often scattered in different places, and the number of applications required to be used on each embedded device is also large, it is not necessary to transmit and deploy applications to each embedded device separately. For this reason, an embodiment of the present invention uses a separate application warehouse to be responsible for the storage and distribution of all applications. The core of the application warehouse is to store the installation packages of all versions of applications that can be installed on embedded devices. Furthermore, the application warehouse can also store a series of related information of these software packages, such as specific version information, corresponding architecture information, etc., to provide efficient and convenient query. For each application program, the application warehouse can create a folder to store the installation packages of different versions of the application program.

[0081] 102. When an application request for the embedded device is obtained, a target installation package of a target application of a target version corresponding to the application request is obtained from the application repository, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package of the target application of the target version;

[0082] In the embodiment of the present invention, the application request at least includes an installation request and an update request of the application;

[0083] 103. For each embedded device, perform application dependency detection on all applications installed on the embedded device. When it is detected that an application installed on the embedded device has an application dependency problem, perform an application dependency processing operation corresponding to the application dependency problem on the embedded device.

[0084] In an embodiment of the present invention, application dependency detection can be automatically executed at any time, or it can be executed after receiving an application dependency detection request from a user; optionally, application dependency detection can be performed based on the application when installing, updating or uninstalling the application on the embedded device. Specifically, when installing the application on the embedded device, application dependency problems with the application installed are detected; when updating the application on the embedded device, application dependency problems after the application is updated are detected; when uninstalling the application on the embedded device, application dependency problems after the application is uninstalled are detected; further, application dependency processing can be to notify the user to manually process it, or it can be to perform corresponding upgrade or downgrade processing on the application with dependency problems, or it can be to stop the installation, update or uninstallation operation, and the present invention is not limited thereto.

[0085] It can be seen that the present invention can package the directory set corresponding to the application to obtain the installation package and store it in the application warehouse, obtain the corresponding target installation package from the application warehouse according to the application request, execute the operation corresponding to the application request, perform application dependency detection on the embedded device and handle application dependency problems, which is beneficial to improve the accuracy and efficiency of application management for different embedded devices or systems, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0086] In an optional embodiment, packaging a directory set corresponding to the current version of the application to obtain an installation package corresponding to the current version of the application may include:

[0087] The directory set corresponding to the current version of the application is packaged in tar file format to obtain a tar file corresponding to the current version of the application; the directory set includes at least an application configuration directory, an application information directory and an application source file directory; the application configuration directory includes at least the configuration information for the installation of the current version of the application, the scripts required during the installation and uninstallation process, application meta information, file hash and digital signature; the configuration information includes at least the package name and size of the installation package corresponding to the current version of the application, as well as the version information of the current version of the application, the applicable system, the applicable processor architecture, the dependency information and the required collaborative application information; the application information directory includes at least the record information of the installation package corresponding to the current version of the application; the application source file directory includes at least the header files, binary files, link libraries and artificial intelligence models corresponding to the current version of the application;

[0088] Generate the md5 hash value of the tar file corresponding to the current version of the application, and generate the digital signature of the installation package corresponding to the current version of the application based on the RSA asymmetric encryption algorithm;

[0089] Write the md5sum command and the digital signature of the installation package corresponding to the current version of the application into the application configuration directory of the directory set of the tar file corresponding to the current version of the application, and use the zstd algorithm to compress the tar file corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application; the md5sum command is used to verify the md5 hash value of the tar file corresponding to the current version of the application.

[0090] In this optional embodiment, the collaborative application information required by the application is used to describe the workflow required for an intelligent task. For an application, it may require other intelligent applications to work together to complete an intelligent task. The collaborative application information required by the application can add other applications required in a workflow. When the current application is deployed, other applications that need to be installed can be automatically parsed for installation, simplifying the application deployment process. Zstd is a fast and efficient lossless data compression algorithm that provides compression ratios and speeds comparable to or even better than traditional compression algorithms such as zip and gzip. At the same time, zstd supports up to 20 levels of compression. When processing artificial intelligence model files, it can achieve a compression ratio several times higher than traditional zip and gzip algorithms, which can greatly compress intelligent application software packages and speed up network transmission.

[0091] It can be seen that this optional embodiment can package the directory set corresponding to the current version of the application in a tar file format to obtain a corresponding tar file; generate an md5 hash value for the corresponding tar file, and generate a digital signature for the corresponding installation package based on the RSA asymmetric encryption algorithm; write the md5sum command and the digital signature of the corresponding installation package into the application configuration directory of the directory set of the corresponding tar file, and use the zstd algorithm to compress the corresponding tar file to obtain the corresponding installation package, which is conducive to improving the packaging accuracy and efficiency of the installation package, and thereby improving the accuracy and efficiency of application management.

[0092] In another optional embodiment, when an application request for an embedded device is obtained, before obtaining a target installation package of a target application of a target version corresponding to the program application request from an application repository, and performing an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, the method further includes:

[0093] For each embedded device, a device number hash value corresponding to the embedded device is generated according to the hardware information and system information of the embedded device;

[0094] For each embedded device, based on the broadcast information sent by the master device when broadcasting in the local area network, verify whether the device state of the embedded device meets the preset state condition, and obtain the device state verification result of the embedded device; the master device is used to manage all embedded devices; the broadcast information includes a token for verifying the device state of the embedded device; the devices connected in the local area network include the master device and all embedded devices;

[0095] For each embedded device, when the device status verification result of the embedded device is used to indicate that the device status of the embedded device meets the status condition, the device number hash value of the embedded device is fed back to the main device;

[0096] When the main device receives the device number hash value fed back by the embedded device, a device list corresponding to all embedded devices that have fed back the corresponding device number hash values ​​is constructed on the main device based on all device number hash values;

[0097] Build an application database, which includes a device information table, an application information table, and a device application information table; the device information table is used to store device information of all embedded devices; the application information table is used to store application information corresponding to all versions of applications; the device application information table is used to store the current version of the application installed on each embedded device;

[0098] For each embedded device in the device list, based on the application database, the installable applications, updateable applications and uninstallable applications corresponding to the embedded device are determined.

[0099] In this optional embodiment, the device information table may include three fields: device system, processor architecture, and serial number, which are used to query the specific version of the application required on the embedded device; the application information table may include five fields: application ID, application name, application version, applicable system, and processor architecture, which are used to query the information of the applications available on the device; the fields of the device application information table are device ID and user ID.

[0100] It can be seen that this optional embodiment can generate a corresponding device number hash value based on the hardware information and system information of each embedded device; verify whether the device status of the embedded device meets the preset status conditions, and when the device status of the embedded device meets the status conditions, feedback the device number hash value of the embedded device to the main device; build a device list corresponding to all embedded devices; determine the installable applications, updateable applications and uninstallable applications corresponding to the embedded devices; it is beneficial to improve the accuracy of determining embedded devices and the accuracy of determining installable applications, updateable applications and uninstallable applications corresponding to the embedded devices, thereby improving the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0101] In yet another optional embodiment, for each embedded device in the device list, determining the installable applications, updateable applications, and uninstallable applications corresponding to the embedded device based on the application database may include:

[0102] For each embedded device in the device list, the application database is parsed to obtain the installed application list and the installable application list of the embedded device; based on the installed application list and the installable application list of the embedded device, the installable applications, updateable applications and uninstallable applications of the embedded device are determined.

[0103] In this optional embodiment, it is understood that the installable applications, updateable applications, and uninstallable applications can be obtained by comparing the installed application list with the installable application list;

[0104] It can be seen that this optional embodiment can parse the application database to obtain a list of installed applications and a list of installable applications for each embedded device; based on the list of installed applications and the list of installable applications of the embedded device, determine the installable applications, updateable applications and uninstallable applications of the embedded device; it is beneficial to improve the accuracy of determining the installable applications, updateable applications and uninstallable applications corresponding to the embedded device, and then improve the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0105] In another optional embodiment, when an application request for an embedded device is obtained, obtaining a target installation package of a target application of a target version corresponding to the program application request from an application repository, and performing an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version may include:

[0106] When an application request for an embedded device is obtained, for an installation request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from an application repository, and the application installation operation corresponding to the application request is performed on the embedded device based on the target installation package; for an update request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and a differential package between the target installation package and the installation package of the current version of the application on the embedded device is generated through a bsdiff algorithm, and the application update operation corresponding to the application request is performed on the embedded device based on the differential package.

[0107] In this optional embodiment, it can be understood that for the update request of the application included in the application request, since in the application, the artificial intelligence model file occupies a considerable size and the changes are often not too large, it is unnecessary and wasteful of network resources to distribute a latest version of the installation package every time. At this time, the application warehouse can distribute differential packages. In this case, the bsdiff algorithm can achieve positive results.

[0108] It can be seen that this optional embodiment can, when an application request for an embedded device is obtained, perform an application installation operation corresponding to the application request on the embedded device based on the target installation package; and perform an application update operation corresponding to the application request on the embedded device based on the differential package; this is conducive to improving the accuracy and efficiency of application installation and application update, and thereby improving the accuracy and efficiency of application management for embedded devices.

[0109] In yet another optional embodiment, the application dependency detection includes system-level dependency detection and application-level dependency detection;

[0110] And, for each embedded device, performing application dependency detection on all applications installed on the embedded device, and when it is detected that an application installed on the embedded device has an application dependency problem, performing an application dependency processing operation corresponding to the application dependency problem on the embedded device, which may include:

[0111] For each embedded device, a system-level dependency detection is performed on all applications installed on the embedded device based on the application management software on the embedded device. When it is detected that an application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0112] For each embedded device, application-level dependency detection is performed on all applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that there is an application dependency problem with the application installed on the embedded device, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device.

[0113] In this optional embodiment, it can be understood that the application dependency detection can be performed based on the dependency information corresponding to the current version of the application included in the configuration information and the required collaborative application information, wherein the system-level dependency detection can be a dependency detection based on the dependency information corresponding to the application, and the dependency information includes openssl, libxss1 and other installation package information that can be directly managed by the system's own package management software. In order to avoid the increased complexity and undetectable conflicts caused by the use of different package management systems, this type of dependency information is directly based on the system's own application management software for system-level dependency detection. Application-level dependency detection is a dependency detection based on the required collaborative application information corresponding to the application, which can be solved by the application dependency manager.

[0114] It can be seen that this optional embodiment can perform system-level dependency detection on all applications installed on the embedded device for each embedded device based on the application management software on the embedded device, and perform application-level dependency detection on all applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that there is an application dependency problem in the application installed on the embedded device, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; this is conducive to improving the detection accuracy of application dependency detection, and then improving the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0115] In yet another optional embodiment, the application-level dependency detection includes circular dependency detection and path dependency detection;

[0116] And, for each embedded device, based on the application dependency manager on the embedded device, application-level dependency detection is performed on all applications installed on the embedded device. When it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device, which may include:

[0117] For each embedded device, according to all the applications installed on the embedded device, a directed dependency graph corresponding to all the applications installed on the embedded device is constructed based on the application dependency manager on the embedded device; each node of the directed dependency graph corresponds to each application installed on the embedded device;

[0118] Based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all the applications installed on the embedded device, and when it is detected that there is an application dependency problem in the dependency directed graph corresponding to all the applications installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0119] And\or, based on depth-first search, path dependency detection of the embedded device is performed on the directed graph of dependency relationships corresponding to all applications installed on the embedded device. When it is detected that an application dependency problem exists in the application installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device.

[0120] In this optional embodiment, each node of the directed graph represents an application, and can store the version information of the application that the current application depends on and the version range that satisfies the dependency. After the dependency directed graph is established, circular dependency detection is implemented based on topological sorting; a depth-first search is performed on the dependency directed graph, starting from the selected application, and searching downward along the dependency path until an application that does not meet the dependency is found. For dependencies that cannot be met, you can select an application that currently has an application dependency problem, update or downgrade it to a version that can meet the dependency requirements, and then use depth-first search again to perform path dependency detection until all nodes meet the dependency. If the application dependency problem cannot be resolved, an error message can be prompted.

[0121] It can be seen that this optional embodiment can build a dependency directed graph corresponding to all applications installed on the embedded device based on the application dependency manager on the embedded device according to all applications installed on the embedded device; each node of the dependency directed graph corresponds to each application installed on the embedded device; based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all applications installed on the embedded device, and based on depth-first search, a path dependency detection of the embedded device is performed on the dependency directed graph corresponding to all applications installed on the embedded device; when it is detected that there is an application dependency problem with the application installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; it is beneficial to improve the detection accuracy of application-level dependency detection, and then improve the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability, while also being able to reduce manual intervention and reduce human resources and time costs.

[0122] Embodiment 2

[0123] See also Figure 2 , Figure 2 This is a flow chart of a ubiquitous intelligent application management device for embedded systems disclosed in an embodiment of the present invention. Figure 2 The device shown can be applied to the on-orbit update scenario of the satellite program, and can also be applied to the intelligent application deployment scenario in the intelligent vehicle system, which is not limited in the embodiment of the present invention. Figure 2 As shown, the ubiquitous intelligent application management device for embedded systems may include:

[0124] The packaging module 201 is used to package the directory set corresponding to the current version of the application, obtain the installation package corresponding to the current version of the application, and store the installation package corresponding to the current version of the application in the application warehouse; the application warehouse stores the installation packages corresponding to all versions of the application;

[0125] The execution module 202 is used to obtain a target installation package of a target application of a target version corresponding to the program application request from the application warehouse when an application request for the embedded device is obtained, and perform an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version; the application request includes at least an installation request and an update request of the application;

[0126] The detection module 203 is used to perform application dependency detection on all applications installed on each embedded device. When it is detected that an application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device.

[0127] It can be seen that the device described in the present invention can package the directory set corresponding to the application to obtain the installation package and store it in the application warehouse, obtain the corresponding target installation package from the application warehouse when the application requests it, execute the operation corresponding to the application request, perform application dependency detection on the embedded device and handle application dependency problems, which is beneficial to improve the accuracy and efficiency of application management for different embedded devices or systems, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0128] In an optional embodiment, the packaging module 201 packages the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application, and the specific method includes:

[0129] The directory set corresponding to the current version of the application is packaged in tar file format to obtain a tar file corresponding to the current version of the application; the directory set includes at least an application configuration directory, an application information directory and an application source file directory; the application configuration directory includes at least the configuration information for the installation of the current version of the application, the scripts required during the installation and uninstallation process, application meta information, file hash and digital signature; the configuration information includes at least the package name and size of the installation package corresponding to the current version of the application, as well as the version information of the current version of the application, the applicable system, the applicable processor architecture, the dependency information and the required collaborative application information; the application information directory includes at least the record information of the installation package corresponding to the current version of the application; the application source file directory includes at least the header files, binary files, link libraries and artificial intelligence models corresponding to the current version of the application;

[0130] Generate the md5 hash value of the tar file corresponding to the current version of the application, and generate the digital signature of the installation package corresponding to the current version of the application based on the RSA asymmetric encryption algorithm;

[0131] Write the md5sum command and the digital signature of the installation package corresponding to the current version of the application into the application configuration directory of the directory set of the tar file corresponding to the current version of the application, and use the zstd algorithm to compress the tar file corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application; the md5sum command is used to verify the md5 hash value of the tar file corresponding to the current version of the application.

[0132] It can be seen that this optional embodiment can package the directory set corresponding to the current version of the application in a tar file format to obtain a corresponding tar file; generate an md5 hash value for the corresponding tar file, and generate a digital signature for the corresponding installation package based on the RSA asymmetric encryption algorithm; write the md5sum command and the digital signature of the corresponding installation package into the application configuration directory of the directory set of the corresponding tar file, and use the zstd algorithm to compress the corresponding tar file to obtain the corresponding installation package, which is conducive to improving the packaging accuracy and efficiency of the installation package, and thereby improving the accuracy and efficiency of application management.

[0133] In another optional embodiment, the device may further include:

[0134] The generating module 204 is used for obtaining a target installation package of a target application of a target version corresponding to the program application request from the application repository when the executing module 202 obtains an application request for the embedded device, and before executing the application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, generating a device number hash value corresponding to the embedded device according to the hardware information and system information of the embedded device for each embedded device;

[0135] Verification module 205, for each embedded device, based on the broadcast information sent by the master device when broadcasting in the local area network, verifies whether the device state of the embedded device meets the preset state condition, and obtains the device state verification result of the embedded device; the master device is used to manage all embedded devices; the broadcast information includes a token for verifying the device state of the embedded device; the devices connected in the local area network include the master device and all embedded devices;

[0136] A feedback module 206 is used for feeding back a hash value of a device number of each embedded device to the main device when a device status verification result of the embedded device indicates that the device status of the embedded device satisfies a status condition;

[0137] A construction module 207 is used to construct a device list corresponding to all embedded devices that have fed back corresponding device number hash values ​​on the main device based on all device number hash values ​​after the main device receives the device number hash value fed back by the embedded device; construct an application database, which includes a device information table, an application information table, and a device application information table; the device information table is used to store device information of all embedded devices; the application information table is used to store application information corresponding to all versions of application programs; the device application information table is used to store the current version of the application program installed on each embedded device;

[0138] The determination module 208 is used to determine, for each embedded device in the device list, the installable applications, updateable applications, and uninstallable applications corresponding to the embedded device based on the application database.

[0139] It can be seen that this optional embodiment can generate a corresponding device number hash value based on the hardware information and system information of each embedded device; verify whether the device status of the embedded device meets the preset status conditions, and when the device status of the embedded device meets the status conditions, feedback the device number hash value of the embedded device to the main device; build a device list corresponding to all embedded devices; determine the installable applications, updateable applications and uninstallable applications corresponding to the embedded devices; it is beneficial to improve the accuracy of determining embedded devices and the accuracy of determining installable applications, updateable applications and uninstallable applications corresponding to the embedded devices, thereby improving the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0140] In another optional embodiment, the determination module 208 determines, for each embedded device in the device list, the installable applications, updateable applications, and uninstallable applications corresponding to the embedded device based on the application database, specifically in the following manners:

[0141] For each embedded device in the device list, the application database is parsed to obtain the installed application list and the installable application list of the embedded device; based on the installed application list and the installable application list of the embedded device, the installable applications, updateable applications and uninstallable applications of the embedded device are determined.

[0142] It can be seen that this optional embodiment can parse the application database to obtain a list of installed applications and a list of installable applications for each embedded device; based on the list of installed applications and the list of installable applications of the embedded device, determine the installable applications, updateable applications and uninstallable applications of the embedded device; it is beneficial to improve the accuracy of determining the installable applications, updateable applications and uninstallable applications corresponding to the embedded device, and then improve the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0143] In another optional embodiment, when the execution module 202 obtains an application request for an embedded device, it obtains a target installation package of a target application of a target version corresponding to the program application request from the application repository, and executes an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, specifically in the following manners:

[0144] When an application request for an embedded device is obtained, for an installation request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from an application repository, and the application installation operation corresponding to the application request is performed on the embedded device based on the target installation package; for an update request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and a differential package between the target installation package and the installation package of the current version of the application on the embedded device is generated through a bsdiff algorithm, and the application update operation corresponding to the application request is performed on the embedded device based on the differential package.

[0145] It can be seen that this optional embodiment can, when an application request for an embedded device is obtained, perform an application installation operation corresponding to the application request on the embedded device based on the target installation package; and perform an application update operation corresponding to the application request on the embedded device based on the differential package; this is conducive to improving the accuracy and efficiency of application installation and application update, and thereby improving the accuracy and efficiency of application management for embedded devices.

[0146] In yet another optional embodiment, the application dependency detection includes system-level dependency detection and application-level dependency detection;

[0147] Furthermore, the detection module 203 performs application dependency detection on all applications installed on each embedded device. When it is detected that an application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device. The specific method includes:

[0148] For each embedded device, a system-level dependency detection is performed on all applications installed on the embedded device based on the application management software on the embedded device. When it is detected that an application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0149] For each embedded device, application-level dependency detection is performed on all applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that there is an application dependency problem with the application installed on the embedded device, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device.

[0150] It can be seen that this optional embodiment can perform system-level dependency detection on all applications installed on the embedded device for each embedded device based on the application management software on the embedded device, and perform application-level dependency detection on all applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that there is an application dependency problem in the application installed on the embedded device, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; this is conducive to improving the detection accuracy of application dependency detection, and then improving the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability. At the same time, it can also reduce manual intervention and reduce human resources and time costs.

[0151] In yet another optional embodiment, the application-level dependency detection includes circular dependency detection and path dependency detection;

[0152] Furthermore, the detection module 203 performs application-level dependency detection on all applications installed on the embedded device based on the application dependency manager on the embedded device for each embedded device. When it is detected that the application installed on the embedded device has an application dependency problem, the application dependency processing operation corresponding to the application dependency problem is performed on the embedded device. The specific method includes:

[0153] For each embedded device, according to all the applications installed on the embedded device, a directed dependency graph corresponding to all the applications installed on the embedded device is constructed based on the application dependency manager on the embedded device; each node of the directed dependency graph corresponds to each application installed on the embedded device;

[0154] Based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all the applications installed on the embedded device, and when it is detected that there is an application dependency problem in the dependency directed graph corresponding to all the applications installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device;

[0155] And\or, based on depth-first search, path dependency detection of the embedded device is performed on the directed graph of dependency relationships corresponding to all applications installed on the embedded device. When it is detected that an application dependency problem exists in the application installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device.

[0156] It can be seen that this optional embodiment can build a dependency directed graph corresponding to all applications installed on the embedded device based on the application dependency manager on the embedded device according to all applications installed on the embedded device; each node of the dependency directed graph corresponds to each application installed on the embedded device; based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all applications installed on the embedded device, and based on depth-first search, a path dependency detection of the embedded device is performed on the dependency directed graph corresponding to all applications installed on the embedded device; when it is detected that there is an application dependency problem with the application installed on the embedded device, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; it is beneficial to improve the detection accuracy of application-level dependency detection, and then improve the management accuracy of embedded application management, thereby reducing the risk of system failure, improving the success rate of application deployment, and enhancing system stability, while also being able to reduce manual intervention and reduce human resources and time costs.

[0157] Embodiment 3

[0158] See also Figure 4 , Figure 4 is a structural diagram of another ubiquitous intelligent application management device for embedded systems disclosed in an embodiment of the present invention. Figure 4 The described device can be applied in an application server. Figure 4 As shown, the device may include:

[0159] A memory 301 storing executable program codes;

[0160] a processor 302 coupled to the memory 301;

[0161] The processor 302 calls the executable program code stored in the memory 301 to execute the steps of the ubiquitous intelligent application management method for embedded systems described in the first embodiment of the present invention.

[0162] Embodiment 4

[0163] An embodiment of the present invention discloses a computer storable medium, which stores computer instructions. When the computer instructions are called, they are used to execute the steps of the ubiquitous intelligent application management method for embedded systems described in the first embodiment of the present invention.

[0164] Embodiment 5

[0165] An embodiment of the present invention discloses a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to enable a computer to execute the steps of the ubiquitous intelligent application management method for embedded systems described in Embodiment 1 of the present invention.

[0166] The device embodiments described above are only illustrative, wherein the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, i.e., they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Those of ordinary skill in the art may understand and implement it without paying creative labor.

[0167] Through the specific description of the above embodiments, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the above technical solution can be essentially or partly contributed to the prior art in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, and the storage medium includes a read-only memory (ROM), a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a one-time programmable read-only memory (OTPROM), an electronically erasable rewritable read-only memory (EEPROM), a compact disc (CD-ROM) or other optical disc storage, magnetic disk storage, magnetic tape storage, or any other computer-readable medium that can be used to carry or store data.

[0168] Finally, it should be noted that the ubiquitous intelligent application management method and device for embedded systems disclosed in the embodiments of the present invention only disclose the preferred embodiments of the present invention, which are only used to illustrate the technical solution of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, it should be understood by those skilled in the art that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features therein can be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A ubiquitous intelligent application management method for embedded systems, characterized in that: The method comprises: Packing the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application, and storing the installation package corresponding to the current version of the application in the application warehouse; the application warehouse stores the installation packages corresponding to all versions of the application; When an application request for an embedded device is obtained, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application warehouse, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package of the target application of the target version; the application request includes at least an installation request and an update request of the application; For each of the embedded devices, application dependency detection is performed on all the applications installed on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

2. The ubiquitous intelligent application management method for embedded systems according to claim 1, characterized in that: The step of packaging the directory set corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application includes: The directory set corresponding to the current version of the application is packaged in tar file format to obtain a tar file corresponding to the current version of the application; the directory set includes at least an application configuration directory, an application information directory and an application source file directory; the application configuration directory includes at least the configuration information of the current version of the application when it is installed, the scripts required during the installation and uninstallation process, application meta information, file hash and digital signature; the configuration information includes at least the package name and size of the installation package corresponding to the current version of the application, as well as the version information of the current version of the application, the applicable system, the applicable processor architecture, the dependent package and the required collaborative application; the application information directory includes at least the record information of the installation package corresponding to the current version of the application; the application source file directory includes at least the header file, binary file, link library and artificial intelligence model corresponding to the current version of the application; Generate an md5 hash value of the tar file corresponding to the current version of the application, and generate a digital signature of the installation package corresponding to the current version of the application based on the RSA asymmetric encryption algorithm; Write the md5sum command and the digital signature of the installation package corresponding to the current version of the application into the application configuration directory of the directory collection of the tar file corresponding to the current version of the application, and use the zstd algorithm to compress the tar file corresponding to the current version of the application to obtain the installation package corresponding to the current version of the application; the md5sum command is used to verify the md5 hash value of the tar file corresponding to the current version of the application.

3. The ubiquitous intelligent application management method for embedded systems according to claim 1, characterized in that: When an application request for an embedded device is obtained, before obtaining a target installation package of a target application of a target version corresponding to the program application request from the application repository, and performing an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version, the method further includes: For each embedded device, a device number hash value corresponding to the embedded device is generated according to the hardware information and system information of the embedded device; For each of the embedded devices, based on the broadcast information sent by the master device when broadcasting in the local area network, verify whether the device state of the embedded device meets the preset state condition, and obtain the device state verification result of the embedded device; the master device is used to manage all the embedded devices; the broadcast information includes a token for verifying the device state of the embedded device; the devices connected in the local area network include the master device and all the embedded devices; For each of the embedded devices, when the device status verification result of the embedded device is used to indicate that the device status of the embedded device satisfies the status condition, feeding back the device number hash value of the embedded device to the main device; When the main device receives the device number hash value fed back by the embedded device, a device list corresponding to all embedded devices that have fed back corresponding device number hash values ​​is constructed on the main device based on all the device number hash values; Constructing an application database, the application database comprising a device information table, an application information table and a device application information table; the device information table is used to store device information of all the embedded devices; the application information table is used to store application information corresponding to all versions of the application; the device application information table is used to store the current version of the application installed on each of the embedded devices; For each of the embedded devices in the device list, based on the application database, the installable applications, updateable applications and uninstallable applications corresponding to the embedded device are determined.

4. The ubiquitous intelligent application management method for embedded systems according to claim 3, characterized in that: For each of the embedded devices in the device list, determining, based on the application database, installable applications, updateable applications, and uninstallable applications corresponding to the embedded device, includes: For each of the embedded devices in the device list, the application database is parsed to obtain a list of installed applications and a list of installable applications for the embedded device; based on the list of installed applications and the list of installable applications for the embedded device, the installable applications, updateable applications and uninstallable applications for the embedded device are determined.

5. The ubiquitous intelligent application management method for embedded systems according to claim 1, characterized in that: When an application request for an embedded device is obtained, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and an application operation corresponding to the application request is performed on the embedded device based on the target installation package of the target application of the target version, including: When an application request for an embedded device is obtained, for an installation request for the application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and the application installation operation corresponding to the application request is performed on the embedded device based on the target installation package; for an update request for an application included in the application request, a target installation package of a target application of a target version corresponding to the program application request is obtained from the application repository, and a differential package between the target installation package and the installation package of the current version of the application on the embedded device is generated through a bsdiff algorithm, and the application update operation corresponding to the application request is performed on the embedded device based on the differential package.

6. The ubiquitous intelligent application management method for embedded systems according to claim 1, characterized in that: The application dependency detection includes system-level dependency detection and application-level dependency detection; And, for each of the embedded devices, application dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device, including: For each of the embedded devices, based on the application management software on the embedded device, a system-level dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has an application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; For each of the embedded devices, application-level dependency detection is performed on all the applications installed on the embedded device based on the application dependency manager on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

7. The ubiquitous intelligent application management method for embedded systems according to claim 6, characterized in that: The application-level dependency detection includes circular dependency detection and path dependency detection; And, for each of the embedded devices, based on the application dependency manager on the embedded device, application-level dependency detection is performed on all the applications installed on the embedded device, and when it is detected that the application installed on the embedded device has the application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device, including: For each of the embedded devices, according to all the applications installed on the embedded device, a directed dependency graph corresponding to all the applications installed on the embedded device is constructed based on an application dependency manager on the embedded device; each node of the directed dependency graph corresponds to each of the applications installed on the embedded device; Based on topological sorting, a circular dependency detection of the embedded device is performed on the dependency directed graph corresponding to all the applications installed on the embedded device, and when it is detected that the dependency directed graph corresponding to all the applications installed on the embedded device has the application dependency problem, an application dependency processing operation corresponding to the application dependency problem is performed on the embedded device; And\or, based on depth-first search, path dependency detection of the embedded device is performed on the directed graph of dependency relationships corresponding to all the applications installed on the embedded device. When it is detected that the applications installed on the embedded device have application dependency problems, application dependency processing operations corresponding to the application dependency problems are performed on the embedded device.

8. A ubiquitous intelligent application management device for embedded systems, characterized in that: The device comprises: The packaging module is used to package the directory set corresponding to the current version of the application, obtain the installation package corresponding to the current version of the application, and store the installation package corresponding to the current version of the application in the application warehouse; the application warehouse stores the installation packages corresponding to all versions of the application; an execution module, configured to, when an application request for an embedded device is obtained, obtain a target installation package of a target application of a target version corresponding to the program application request from the application repository, and execute an application operation corresponding to the application request on the embedded device based on the target installation package of the target application of the target version; the application request at least includes an installation request and an update request for the application; The detection module is used to perform application dependency detection on all the applications installed on each embedded device, and when it is detected that the applications installed on the embedded device have application dependency problems, perform application dependency processing operations corresponding to the application dependency problems on the embedded device.

9. A ubiquitous intelligent application management device for embedded systems, characterized in that: The device comprises: A memory storing executable program code; a processor coupled to the memory; The processor calls the executable program code stored in the memory to execute the ubiquitous intelligent application management method for embedded systems as described in any one of claims 1-7.

10. A computer storable medium, characterized in that: The computer storage medium stores computer instructions, and when the computer instructions are called, they are used to execute the ubiquitous intelligent application management method for embedded systems as described in any one of claims 1-7.