Software management system and method

By acquiring service description files from the central node and converting them into service data, determining the mapping table between machine tags and services, and assigning machine tags to edge nodes, this solves the problem that the relationship between services and machines cannot be pre-built in existing technologies, and enables efficient software package management for both offline and online use.

CN115113911BActive Publication Date: 2025-12-19BEIJING BAIDU NETCOM SCI & TECH CO LTD

Patent Information

Application Number
CN202210863522.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-21
Publication Date
2025-12-19
Estimated Expiration
2042-07-21

AI Technical Summary

Technical Problem

Existing package management systems cannot see the relationships between services and software before startup, which prevents services from being built in advance before the machine is ready, and the frequent calls to service ports for registration cause inconvenience and inefficiency.

Method used

The central node obtains the service description file, converts it into service data, determines the mapping table between machine tags and services, and assigns machine tags to edge nodes. The edge nodes then query and download the installation file based on the mapping table, enabling offline management and online use.

Benefits of technology

It enables the management service to be available after the system starts up, eliminating the need for registration and uploading operations after startup, decoupling services from machines, and saving disk space and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115113911B_ABST
    Figure CN115113911B_ABST
Patent Text Reader

Abstract

The disclosure provides a software management system and method, relates to the field of artificial intelligence, in particular to cloud computing, cloud operation, edge computing technology, and can be applied to an intelligent cloud scene. A specific implementation scheme is as follows: a software management system, comprising: a center node configured to obtain a service description file, convert the service description file into service data, and determine a mapping relationship table of machine labels and services based on the service data, and allocate machine labels for accessed edge nodes according to a preset label management table; at least one edge node, each edge node being configured to obtain the machine label allocated to the edge node, the mapping relationship table and the service data from the center node, and query the target service corresponding to the allocated machine label from the mapping relationship table, and download and install the file according to the file package information of the target service in the service data. The embodiment realizes the maintenance and construction of service software in advance before the start of the software management service, and decouples the service and the machine.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of artificial intelligence, in particular to cloud computing, cloud operation, edge computing technology, which can be applied in the intelligent cloud scenario, and specifically to a software management system and method. BACKGROUND

[0002] The existing software package management needs to complete registration through a service interface. When a large number of services and software packages exist, the initialization process each time will frequently call the service port for registration, bringing inconvenience and inefficiency in use. Moreover, the existing software package management system cannot see the relationship between services and software before starting. Users expect to be able to register similar interfaces before the software package management service starts, maintain the ability of services and software packages, and automatically complete the construction after the software package management service starts, as if they have registered through the service interface after starting. In addition, the existing software package management method maintains the relationship between services and machines, which leads to the inability to build services in advance before the machine is ready, so the relationship between services and machines needs to be decoupled. SUMMARY

[0003] The present disclosure provides a software management system, method, device, storage medium and computer program product.

[0004] According to a first aspect of the present disclosure, a software management system is provided, comprising: a center node configured to obtain a service description file, convert the service description file into service data, and determine a mapping relationship table of machine labels and services based on the service data, and assign machine labels to accessed edge nodes according to a preset label management table, wherein the service description file comprises: the name of at least one service, the file package information of at least one service, and the machine label of at least one service; at least one edge node, each edge node being configured to obtain the machine label assigned to the edge node from the center node, the mapping relationship table and the service data, and query the target service corresponding to the assigned machine label from the mapping relationship table, and download and install the file according to the file package information of the target service in the service data.

[0005] According to a second aspect of the present disclosure, a software management method is provided, comprising: obtaining a service description file, wherein the service description file comprises: the name of at least one service, the file package information of at least one service, and the machine label of at least one service; converting the service description file into service data; determining a mapping relationship table of machine labels and services based on the service data; and assigning machine labels to accessed edge nodes according to a preset label management table.

[0006] According to a third aspect of the present disclosure, a software management method is provided, comprising: obtaining an assigned machine label, a mapping relationship table of machine labels and services, and service data from a center node; querying a target service corresponding to the assigned machine label from the mapping relationship table; and downloading an installation file according to file package information of the target service in the service data.

[0007] According to a fourth aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of the second aspect or the third aspect.

[0008] According to a fifth aspect of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to perform the method of the second aspect or the third aspect.

[0009] According to a sixth aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method of the second aspect or the third aspect.

[0010] Embodiments of the present disclosure provide a software management system and method, which describes a software package required by a service and a deployment target machine label in a conventionally agreed file format, and the system can identify and maintain the description file. When the managed service is changed, only the description file needs to be modified, and the system can have the ability to manage the service after being started, without the need for registration and uploading after being started. Meanwhile, a set of machine labels and machine relationships are managed, and the service can be constructed without knowing the machine, the service and the machine are decoupled, and the service-label-machine is not coupled but associated.

[0011] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0012] The accompanying drawings are used to better understand the present scheme and do not limit the present disclosure. Among them:

[0013] Figure 1 is an architecture diagram of a software management system according to the present disclosure;

[0014] Figure 2 is a flowchart of an embodiment of a software management method according to the present disclosure;

[0015] Figure 3is a flow chart of yet another embodiment of a method of software management according to the present disclosure;

[0016] Figure 4 is a schematic diagram of one application scenario of a method of software management according to the present disclosure;

[0017] Figure 5 is a structural schematic diagram of a computer system of an electronic device suitable for implementing embodiments of the present disclosure. DETAILED DESCRIPTION

[0018] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to assist in understanding, which should be considered in their context only. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Also, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0019] Figure 1 A structural diagram of a system to which software management of the present disclosure can be applied is shown.

[0020] As shown in Figure 1 , the software management system can include a center node and at least one edge node. The center node is a cloud center, which can manage configurations of the edge nodes and can schedule the edge nodes to process service data. The edge node refers to a service platform constructed at the network edge close to the user, which provides storage, computing, network, and other resources, and sinks part of the key service applications to the access network edge to reduce the width and latency loss caused by network transmission and multi-level forwarding. The edge node is located between the user and the cloud center, and is closer to the user (data source) than the traditional cloud center edge node. Compared with the cloud data center, the edge node has the characteristics of miniaturization, distribution, and closeness to the user (last mile), and massive data does not need to be uploaded to the cloud for processing, enabling processing of data at the network edge, reducing request response time, improving battery endurance, reducing network bandwidth while ensuring data security and privacy. The user can modify configuration information in the center node through a terminal device, including but not limited to a service description file and a label management table.

[0021] In the present embodiment, the center node is configured to obtain a service description file, convert the service description file into service data, and determine a mapping relationship table of machine labels and services based on the service data, and allocate machine labels to the accessed edge nodes according to a preset label management table, wherein the service description file includes: a name of at least one service, file package information of at least one service, and a machine label of at least one service.

[0022] At least one edge node, each edge node is configured to obtain the machine label assigned to the edge node, the mapping relationship table and the service data from the center node, and query the target service corresponding to the assigned machine label from the mapping relationship table, and download the installation file according to the file package information of the target service in the service data.

[0023] The composition of a service can be visualized through a service description file, and the content of the service description file mainly includes the name of at least one service, the file package information of at least one service, and the machine label of at least one service. One service description file can describe the content of multiple services, and each service includes a service name, file package information, and a machine label. The service name name is a unique identifier for distinguishing services. The file package information can include a file package name, a version number, and a deployment path. The service label labels is the contact between the service and the label, and the service can be indexed according to this relationship. The visualization of the service composition is realized through the content description of the service description file. Each service can have the above-mentioned three parts of content, and the description content of each service can be placed in a service description file.

[0024] The service description file is a text file, does not depend on service startup, can be modified offline, is maintained like code, and is very convenient to modify and publish a service, and has low threshold.

[0025] After the service is started, a module loads to identify the service description file, and automatically converts the description file through a program to build a service similar to the service registered through a service interface, so as to realize the effect of offline management and online use.

[0026] In some optional implementation manners of the embodiment, the file package information includes static package information and dynamic package information, and the same part of the file required by each service of the center node constitutes a static package, and different parts constitute a dynamic package. The content of the service description file mainly includes four parts:

[0027] a) service name name, a unique identifier for distinguishing services

[0028] b) static package name package, including a static package name and a version number, and a deployment path

[0029] c) dynamic package name config, also including a static package name and a version number, and a deployment path

[0030] d) service label labels, which is the contact between the service and the label, and the service can be indexed according to this relationship.

[0031] The static package and the dynamic package can be a set of one or more files, as a software package in a directory identifiable by the system, and both types of packages have similar description files (static package description file and dynamic package description file), mainly containing three parts:

[0032] a) Software package name package name, a unique identifier of different types of static or dynamic packages, used to build service description, establish the relationship between services and packages.

[0033] b) Software package version package version, used to distinguish different versions of static or dynamic packages, and the service description file can find the dependent package through the identifier combined with the software package name package name.

[0034] c) Software package MD5 information, used to ensure the consistency of static or dynamic packages, and to ensure that the local package and the expected package content are consistent.

[0035] The management problem of different services depending on the same part is solved, each service has similar parts, corresponding to static packages; different parts, corresponding to dynamic packages. Static packages can be saved only once, but can be applied to multiple services. It can solve the demand of different services depending on the public part to maintain only one copy, save disk space. When the public part is adjusted, there is no need to modify multiple different software packages that reference the same part, reducing operation and maintenance cost and maintenance burden.

[0036] In some optional implementations of the embodiment, the center node is further configured to: receive a file package and a file package description file uploaded by a third party, wherein the file package description file includes a software package name, a software package version, and MD5 information; perform MD5 encryption on the received file package to obtain MD5 ciphertext; compare the MD5 ciphertext with the MD5 information to check whether the received file package is modified. If the MD5 of the received file package is the same as the MD5 in the file package description file, it means that the file has not been modified in the process of uploading to the center node and can be used normally. If they are different, it means that the file has been modified and cannot be used. The third party needs to be notified to re-upload. The file can be detected for errors before storage by the MD5 verification method, avoiding the loss caused by the installation of the edge node by the wrong software package.

[0037] In some optional implementations of the embodiment, each edge node is further configured to: download a file package and a file package description file from the center node, wherein the file package description file includes a software package name, a package version, and MD5 information; perform MD5 encryption on the downloaded file package to obtain MD5 ciphertext; and compare the MD5 ciphertext with the MD5 information to check whether the downloaded file package is modified. If the MD5 of the downloaded file package is the same as the MD5 in the file package description file, it indicates that the file is not modified during the downloading process from the center node and can be normally used. If not, it indicates that the file is modified and cannot be used, and needs to be re-downloaded. The MD5 verification file can detect the error software package before installation, avoiding the loss caused by the installation of the error software package.

[0038] In some optional implementations of the embodiment, the center node is further configured to: in response to receiving a request of an edge node corresponding to a modified target service, modify the machine label corresponding to the edge node in the label management table. The service description file establishes the relationship between the service and the machine label, and the label management table maintains the relationship between the machine label and the machine (edge node). The relationship between the service and the machine label has been recorded in the system, and the relationship between the machine label and the machine is only needed to be established, so as to realize the corresponding relationship between the machine and the service. The machine and the machine label can be flexibly modified, and the relationship between the machine and the service is also flexibly corresponding.

[0039] The management of the machine label is simple. When each machine accesses to the center, the label of the machine is set according to the label management table, that is, the management of the machine and the label is completed, and thus the corresponding service of the machine is also completed. After the machine is accessed, the machine can automatically obtain the required service.

[0040] With reference to Figure 2 , a flow 200 of one embodiment of the software management method according to the present disclosure is shown. The software management method includes the following steps:

[0041] Step 201, obtaining a service description file.

[0042] In the embodiment, the execution subject of the software management method (for example, the center node shown in Figure 1 ) can receive the service description file written by the user from the terminal device through a wired connection mode or a wireless connection mode. The service description file includes: the name of at least one service, the file package information of at least one service, and the machine label of at least one service. The user can modify the service description file at any time. The center node can create a service before the edge node is ready.

[0043] The composition of a service can be visualized by a service description file, and the content of the service description file mainly includes the name of at least one service, the file package information of at least one service, and the machine label of at least one service. One service description file can describe the content of multiple services, and each service includes a service name, file package information, and a machine label. The service name name is a unique identifier for distinguishing services. The file package information can include a file package name, a version number, and a deployment path. The service label labels is the connection between the built service and the label, and can be indexed to the service according to the relationship. The visualization of the service composition is realized by the content description of the service description file. Each service can have the above-mentioned three parts of content, and the description content of each service can be placed in a service description file.

[0044] The service description file is a text file, does not depend on service startup, can be modified offline, is maintained like code, and is very convenient to modify and publish a service, and has low threshold.

[0045] Step 202, converting the service description file into service data.

[0046] In the embodiment, after the service is started, a module loads the service description file, and automatically converts the description file through a program to build a service registered through a service interface, so as to realize the effect of offline management and online use.

[0047] Step 203, determining a mapping relationship table of the machine label and the service based on the service data.

[0048] In the embodiment, each service corresponds to a machine label, and the corresponding information of the service and the machine label is summarized into a mapping relationship table. For example, service A corresponds to machine label L1, and service B corresponds to machine label L2. The mapping relationship table is shown in Table 1.

[0049] Machine label Service L1 A L2 B L3 C … ..

[0050] Table 1

[0051] Step 204, assigning a machine label to an accessed edge node according to a preset label management table.

[0052] In the embodiment, the label management table is used to represent the corresponding relationship between the machine label and the edge node, for example, machine label L1 corresponds to edge node N1. The user can change the label management table at will, so as to change the service running on the edge node, so as to realize the decoupling of the machine and the service. After the center node receives the heartbeat information sent by the edge node, it is indicated that the edge node accesses the center node, and the edge node can be assigned a machine label.

[0053] The label management table is shown in Table 2.

[0054] Machine label Edge node L1 N1 L2 N2 L3 N3 … ..

[0055] Table 2

[0056] The method provided by the above embodiments of the present disclosure can complete offline management and online use of a large number of services and software packages by only maintaining three files (a service description file, a static package description file and a dynamic package description file). Through the service description file, the logical relationship between service information and software packages can be viewed offline, and background data visualization and flexible service deployment, upgrade and maintenance can be achieved. The present solution decouples the strong binding of services and machines, and adjusts the required services of machines flexibly by using machine tags.

[0057] In some optional implementation manners of the present embodiment, the file package information includes static package information and dynamic package information, and the same part of the required file of each service of the central node constitutes a static package, and the different part constitutes a dynamic package. The static package and the dynamic package can be a set of one or more files, and as a software package in a directory recognizable by the system, the two types of packages also have similar description files (a static package description file and a dynamic package description file), which mainly include three parts

[0058] a) software package name package name, which is a unique identifier of different types of static or dynamic packages, and is used to build a service description, and establish the relationship between the service and the package.

[0059] b) software package version package version, which is used to distinguish different versions of the static or dynamic package, and the service description file can find the dependent package by the identifier in combination with the software package name package name.

[0060] c) software package MD5 information, which is used to ensure the consistency of the static or dynamic package, and ensure that the local package and the expected package content are consistent.

[0061] The management problem of different services depending on the same part is solved, each service has similar parts, which correspond to static packages, and different parts, which correspond to dynamic packages. The static package can be saved only once, but can be applied to multiple services. The requirement that different services depend on only one public part can be met, and disk space is saved. When the public part is adjusted, there is no need to modify multiple different software packages that refer to the same part, reducing operation and maintenance costs and maintenance burden.

[0062] In some optional implementations of the embodiment, the method further comprises: receiving a file package uploaded by a third party and a file package description file, wherein the file package description file comprises a software package name, a software package version, and MD5 information; performing MD5 encryption on the received file package to obtain MD5 ciphertext; and comparing the MD5 ciphertext with the MD5 information to check whether the received file package is modified. If the MD5 of the received file package is the same as the MD5 in the file package description file, it indicates that the file is not modified in the process of being uploaded to the center node and can be normally used. If not, it indicates that the file is modified and cannot be used. The third party needs to be notified to re-upload. The file is verified by MD5, which can detect an error software package before storage, thereby avoiding loss caused by the installation of the error software package by the edge node.

[0063] In some optional implementations of the embodiment, the method further comprises: in response to receiving a request of an edge node corresponding to a target service, modifying the machine tag corresponding to the edge node in the label management table. The service description file establishes the relationship between the service and the machine tag, and the label management table maintains the relationship between the machine tag and the machine (edge node). The relationship between the service and the machine tag has been recorded in the system, and the relationship between the machine tag and the machine is only needed to be established. The corresponding relationship between the machine and the service can be realized. The machine and the machine tag can be flexibly modified, and the relationship between the machine and the service is also flexibly corresponding.

[0064] With reference to Figure 3 , another embodiment of a software management method according to the present disclosure is shown as flow 300. The software management method comprises the following steps:

[0065] Step 301, obtaining the assigned machine tag, the mapping relationship table of the machine tag and the service, and the service data from the center node.

[0066] In the embodiment, the execution subject of the software management method (for example, the edge node shown in Figure 1 ) can obtain the assigned machine tag, the mapping relationship table of the machine tag and the service, and the service data from the center node in a wired connection mode or a wireless connection mode. The obtained data all come from the center node, and the generation process of the data is described with reference to flow 200, which is not described herein again.

[0067] Step 302, querying the target service corresponding to the assigned machine tag from the mapping relationship table.

[0068] In the embodiment, the machine tag is used as an index to query the corresponding service in the mapping relationship table, and the queried service is used as the target service. As shown in Table 1 and Table 2, the corresponding relationship between the edge node and the service can be determined according to the machine tag. For example, the edge node N1 corresponds to the service A.

[0069] Step 303, downloading the installation file according to the file package information of the target service in the service data.

[0070] In the embodiment, the file package information corresponding to the service has been configured in the service description file, and the file package information can include the storage path and the deployment path of the file package. The file package can be downloaded from the storage path, and then the file obtained by decompression is installed on the deployment path, that is, the service is deployed.

[0071] Optionally, the newly-added edge node can add a new machine tag in the tag management table. The deleted edge node can delete the machine tag corresponding to the edge node in the tag management table.

[0072] The method provided by the above embodiments of the present disclosure realizes decoupling of the machine and the service, realizes online use through offline description of the service file, realizes background data visualization, and facilitates modification of the tag management table.

[0073] In some optional implementation manners of the embodiment, the method further includes: downloading a file package and a file package description file from the center node, wherein the file package description file includes a software package name, a package version, and MD5 information; performing MD5 encryption on the downloaded file package to obtain MD5 ciphertext; and comparing the MD5 ciphertext with the MD5 information to check whether the downloaded file package is modified. If the MD5 of the downloaded file package is the same as the MD5 in the file package description file, it is indicated that the file has not been modified in the downloading process from the center node, and the file can be normally used. If the MD5 is different, it is indicated that the file is modified and cannot be used, and needs to be downloaded again. The file is verified through MD5, which can detect the error software package before installation, and avoid loss caused by installation of the error software package.

[0074] Continuing to refer to Figure 4 , Figure 4 is a schematic diagram of an application scenario of the software management method according to the embodiment. In the application scenario of Figure 4 , a software management system is deployed on a machine, and the software management system includes a center node and an edge node. The center node and the edge node can be on the same machine or on different machines. The center node maintains a service description file, and the edge node installs a static package and a dynamic package of a service on the machine to complete deployment of the service.

[0075] (1) The central node of the software management system starts, reads out the content of the service description file, and converts and constructs the service data (compared to the content in the service description file, the content is still the same, only the format is converted) through the program, which is similar to the service obtained through the service interface registration. Through the static execution of the bin file description and the dynamic configuration of the conf file description, a complete application service is formed. Version consistency check can also be performed to ensure the correct version of the static package and the dynamic package.

[0076] (2) The central node of the software management system determines the mapping relationship between the machine label and the service based on the service data. The edge obtains its own machine label information from the machine label management table of the central node through the relationship between the machine label and the machine. The edge node determines the corresponding service based on the machine label and the mapping relationship between the machine label and the service, and determines the service that needs to be installed on the machine. In this way, the relationship between the machine and the service does not need to be maintained, and the two are decoupled.

[0077] (3) The edge node determines the static package and the dynamic package required for the service installation according to the service data. The static package file and the dynamic package file are installed and deployed through the deployment management module of the edge node, and the service deployment is completed.

[0078] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0079] An electronic device comprises at least one processor and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in flow 200 or 300.

[0080] A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the method described in flow 200 or 300.

[0081] A computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the method described in flow 200 or 300.

[0082] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present disclosure described and / or claimed in this document.

[0083] As shown in Figure 5 The device 500 includes a computing unit 501 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 502 or a computer program loaded into a random access memory (RAM) 503 from a storage unit 508. Various programs and data required for the operation of the device 500 can also be stored in the RAM 503. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0084] Various components in the device 500 are connected to the I / O interface 505, including an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; the storage unit 508, such as a magnetic disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0085] The computing unit 501 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 501 performs various methods and processes described above, such as the software management method. For example, in some embodiments, the software management method can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded onto the RAM 503 and executed by the computing unit 501, one or more steps of the software management method described above can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform the software management method by any other appropriate means, such as by means of firmware.

[0086] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0087] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0088] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0089] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0090] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0091] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0092] It should be understood that the various forms of flow shown above can be used to reorder, add, or remove steps. For example, the steps described in the present disclosure can be performed in parallel, in series, or in a different order, without limitation herein, so long as the desired results of the technology described in the present disclosure are achieved.

[0093] The specific implementation described above does not constitute a limitation on the protection scope of the present disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A software management system, comprising: a center node configured to obtain a service description file, convert the service description file into service data, and determine a mapping table of machine labels and services based on the service data, and assign a machine label to an accessed edge node according to a preset label management table, wherein the service description file comprises a name of at least one service, file package information of at least one service, and a machine label of at least one service, the label management table is used to represent a corresponding relationship between a machine label and an edge node, and in response to receiving a request for modifying an edge node corresponding to a target service, a machine label corresponding to the edge node in the label management table is modified, a service running on the edge node is changed by changing the label management table, and decoupling of a machine and a service is realized, and the service description file is independent of service starting and can be modified offline; at least one edge node, each of which is configured to obtain a machine label assigned to the edge node, the mapping table, and the service data from the center node, and query a target service corresponding to the assigned machine label from the mapping table, and download an installation file according to file package information of the target service in the service data.

2. The system of claim 1, wherein, The file package information comprises static package information and dynamic package information, and the same part of files required by each service of the center node constitutes a static package, and different parts constitute dynamic packages.

3. The system of claim 1, wherein, The center node is further configured to: receive a file package and a file package description file uploaded by a third party, wherein the file package description file comprises a software package name, a software package version, and MD5 information; perform MD5 encryption on the received file package to obtain MD5 ciphertext; compare the MD5 ciphertext with the MD5 information to verify whether the received file package is modified.

4. The system of claim 1, wherein, Each edge node is further configured to: download a file package and a file package description file from the center node, wherein the file package description file comprises a software package name, a software package version, and MD5 information; perform MD5 encryption on the downloaded file package to obtain MD5 ciphertext; compare the MD5 ciphertext with the MD5 information to verify whether the downloaded file package is modified. 5.A software management method applied to the software management system of any one of claims 1-4, comprising: obtaining a service description file, wherein the service description file comprises a name of at least one service, file package information of at least one service, and a machine label of at least one service, and the service description file is independent of service starting and can be modified offline; converting the service description file into service data; determining a mapping table of machine labels and services based on the service data; assigning a machine label to an accessed edge node according to a preset label management table, and changing a service running on the edge node by changing the label management table to realize decoupling of a machine and a service. 6.A software management method, comprising: obtaining a machine label assigned by the method of claim 5, a mapping table of machine labels and services, and service data from a center node; querying a target service corresponding to the assigned machine label from the mapping table; According to the file package information of the target service in the service data, an installation file is downloaded. 7.An electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of claim 5 or 6.

8. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, the computer instructions are for causing the computer to perform the method of claim 5 or 6. 9.A computer program product comprising a computer program which, when executed by a processor, implements the method of claim 5 or 6.

Citation Information

Patent Citations

  • Medical software installation system and method

    CN114675852A

  • Data processing method and device

    CN114721827A

Cited By

  • Edge node decoupling access method and system based on protocol automatic analysis

    CN122640494A