Software package updating method, device, system, electronic device, and readable storage medium

CN116301952BActive Publication Date: 2026-09-22TENCENT DIGITAL TIANJIN
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111564599.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-20
Publication Date
2026-09-22
Estimated Expiration
2041-12-20

AI Technical Summary

Technical Problem

[0003]目前,在对物理机或虚拟机变更软件包时主要采用人工操作的方式,但是经研究发现,在采用该方式时,由于是在不同系统记录软件包的变更,并且当人工决策和操作过多时,将会存在效率低、出错率高的问题

Benefits of technology

本申请实施例提供了新的软件包更新方法,基于该方法,被配置有软件包的任一节点设备可以通过向服务器发送配置信息获取请求来获取服务器端的第一软件配置信息,并可以通过比对从服务器获取的第一软件配置信息和该节点设备的第二软件配置信息,来确定是否需要进行软件包更新,节点设备在基于第一软件配置信息和第二软件配置信息确定需要更新软件包时,可以通过向服务器发送软件更新请求获取对应的软件包更新数据,从而方便、快捷的实现软件包的自动化更新,本申请实施例提供的该软件包更新方法可以大大减少了人工参与,从而可以有效的提升更新效率以及降低更新过程中的出错率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116301952B_ABST
    Figure CN116301952B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a software package updating method, device, system, electronic device and readable storage medium, and relate to the technical field of cloud technology, cloud storage and computer technology. The method comprises: in response to a configuration information acquisition request sent by at least one first node device, sending first software configuration information to the at least one node device respectively; receiving a software updating request sent by at least one second node device; determining at least one target node device according to a first identifier and a first mapping relationship; and sending software package updating data corresponding to the first identifier to each target node device, so that each target node device updates the software package according to the software package updating data. In the embodiments of the present application, the node device configured with the software package needing to be updated can be automatically updated, and the updating efficiency can be effectively improved and the error rate in the updating process can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of cloud technology and cloud storage technology. Specifically, this application relates to a software package update method, apparatus, system, electronic device, and readable storage medium. Background Technology

[0002] Large-scale computing clusters have a large number of nodes, such as tens of thousands of physical machines or virtual machines in a large-scale cloud computing cluster. In this case, updating software packages, patching software packages, or fixing software package vulnerabilities are frequent needs in the daily operation and maintenance of physical machine or virtual machine clusters.

[0003] Currently, software changes on physical or virtual machines are mainly done manually. However, research has shown that this method suffers from low efficiency and high error rates because the changes are recorded on different systems and there is a lot of manual decision-making and operation involved. Summary of the Invention

[0004] This application provides a software package update method, apparatus, system, electronic device, and readable storage medium, which can effectively improve the efficiency of software updates and reduce the error rate. The technical solution is as follows: According to one aspect of the embodiments of this application, a software package update method is provided, the method comprising: In response to a configuration information acquisition request sent by at least one first node device, first software configuration information is sent to at least one first node device respectively; Receive a software update request sent by at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different; Based on the first identifier and the first mapping relationship, at least one target node device is determined, wherein the first mapping relationship is the correspondence between at least one software identifier and the node device corresponding to each software identifier, the at least one software identifier includes the first identifier, and the node device corresponding to a software identifier refers to the node device configured with the software package corresponding to the software identifier; Send the software package update data corresponding to the first identifier to each target node device so that each target node device can update the software package according to the software package update data.

[0005] According to another aspect of the embodiments of this application, a software package update method is provided, the method comprising: Send a configuration information retrieval request to the server; The server receives the first software configuration information returned by the request based on the configuration information. The first software configuration information is compared with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes the first identifier of the software package to be updated. The system receives package update data corresponding to the first identifier sent by the server and updates the package according to the package update data, wherein the package update data is the update data of the package corresponding to the first identifier.

[0006] According to another aspect of the embodiments of this application, a software package update method is provided, the method comprising: The server receives configuration information retrieval requests from at least one first node device; Based on the configuration information acquisition request, send the first software configuration information to each first node device respectively; Each first node device receives the first software configuration information and compares it with the local second software configuration information. If the first software configuration information and the second software configuration information are different, it sends a software update request to the server. The software update request includes the first identifier of the software package to be updated. The server receives a software update request from at least one second node device and determines at least one target node based on the first identifier and the first mapping relationship in the software update request. Wherein, at least one second node device is at least one of at least one first node device, and the first mapping relationship is the correspondence between at least a software identifier and each of the node devices, wherein at least one software identifier includes a first identifier; a node device corresponding to a software identifier refers to a node device configured with the software package corresponding to the software identifier; The server sends the software package update data corresponding to the first identifier to each target node device, so that each target node device can update the software package according to the software package update data.

[0007] Optionally, the method further includes: In response to the received software update operation, the server sends an update configuration notification to at least one third node device; the at least one first node device is at least one of at least one third node device. The configuration information retrieval request is sent by the first node device when it detects an update configuration notification.

[0008] Optionally, the first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier.

[0009] Optionally, the above software update operation includes at least one of the following: software package deletion operation, software package addition operation, or software package modification operation; the first software configuration information also includes update indication information corresponding to each second identifier, wherein the update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier; Each of the aforementioned first node devices receives the first software configuration information and compares it with its local second software configuration information. If the first configuration information and the second software configuration information are different, it sends a software update request to the server, including: For each first node device, the first node device compares the first software configuration information with the local second software configuration information. If the software package version information corresponding to at least one second identifier in the first software configuration information and the second software configuration information are different, and the operation type indicated by the update indication information corresponding to the at least one second identifier is a software package addition operation or a software package modification operation, the first node device sends a software update request to the server. For any first node device, the method further includes: If the first software configuration information includes a second identifier whose operation type is deletion, the first node device deletes the data of the software package corresponding to the second identifier.

[0010] Optionally, the method further includes: For any target node device, after updating the software package based on the first software configuration information, the second software configuration information of the target node device is updated locally based on the first software configuration information.

[0011] According to another aspect of the embodiments of this application, a software package update apparatus is provided, the apparatus comprising: The software configuration information sending module is used to respond to a configuration information acquisition request sent by at least one first node device and send first software configuration information to at least one first node device respectively. A software update request receiving module is used to receive a software update request sent by at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different; The target node device determination module is used to determine at least one target node device based on a first identifier and a first mapping relationship, wherein the first mapping relationship is the correspondence between at least one software identifier and the node device corresponding to each software identifier, the at least one software identifier includes the first identifier, and the node device corresponding to a software identifier refers to the node device configured with the software package corresponding to the software identifier; The software package update data sending module is used to send software package update data corresponding to the first identifier to each target node device, so that each target node device can update the software package according to the software package update data.

[0012] Optionally, the device also includes update configuration notification information for: Before sending the first software configuration information to at least one first node device, in response to the obtained software update operation, an update configuration notification message is sent to at least one third node device. Receive configuration information retrieval requests from at least one first node device; In this configuration, at least one first node device is at least one of at least one third node device, and the configuration information acquisition request is sent by the first node device when it detects an update configuration notification.

[0013] Optionally, the first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier.

[0014] Optionally, software update operations include at least one of package deletion, package addition, or package modification. The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The software update request is sent by the second node device when the following conditions are met: The first software configuration information and the second software configuration information have at least one different software package version information corresponding to the second identifier, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation; The first identifier is at least one second identifier that satisfies the condition.

[0015] Optionally, when sending the software package update data sending module to each target node device, the module is specifically used for: Send software update notifications to each target node device; Upon receiving update confirmation information from at least one target node device, the software package update data corresponding to the first identifier is sent to the target node device corresponding to the update confirmation information.

[0016] According to another aspect of the embodiments of this application, a software package update apparatus is provided, the apparatus comprising: The software configuration information acquisition module is used to send a configuration information acquisition request to the server and receive the first software configuration information returned by the server based on the configuration information acquisition request. The software update request sending module is used to compare the first software configuration information with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes a first identifier of the software package to be updated. The software package update module is used to receive software package update data corresponding to a first identifier sent by the server, and to update the software package according to the software package update data, wherein the software package update data is the update data of the software package corresponding to the first identifier. Optionally, when the software configuration information acquisition module sends a configuration information acquisition request to the server, it is specifically used for: When an update configuration notification is detected from the server, a configuration information retrieval request is sent to the server.

[0017] Optionally, the first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier, and the software update operation includes at least one of the following: software package deletion operation, software package addition operation, or software package modification operation; The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The software update request sending module compares the first software configuration information with the local second software configuration information. If the first and second software configuration information differ, it sends a software update request to the server. Specifically, this is done by: Compare the first software configuration information with the local second software configuration information; If the software package version information corresponding to at least one second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation, then a software update request is sent to the server. The device also includes a deletion module for: When the first software configuration information includes a second identifier indicating that the operation type is a deletion operation, the software package data corresponding to the second identifier is deleted.

[0018] Optionally, the device also includes an information update module for: After updating the software package based on the first software configuration information, the second software configuration information is updated based on the first software configuration information.

[0019] According to another aspect of the embodiments of this application, a software package update system is provided. The update system includes a server and at least one managed node device communicatively connected to the server; wherein the server is configured to perform any one of the software package update methods, and the managed node device is configured to perform any one of the software package update methods.

[0020] According to another aspect of the embodiments of this application, an electronic device is provided, the electronic device including a memory, a processor and a computer program stored in the memory, the processor executing the computer program to implement the steps of any of the methods in the software package update method.

[0021] According to another aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of any of the methods in the software package update method.

[0022] According to one aspect of the embodiments of this application, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of any of the methods in the software package update method.

[0023] The beneficial effects of the technical solutions provided in this application are: This application provides a novel software package update method. Based on this method, any node device configured with a software package can obtain first software configuration information from the server by sending a configuration information retrieval request. It can then determine whether a software package update is needed by comparing the first software configuration information obtained from the server with the node device's second software configuration information. When the node device determines that a software package update is needed based on the first and second software configuration information, it can obtain the corresponding software package update data by sending a software update request to the server. This facilitates and quickly enables automated software package updates. The software package update method provided in this application significantly reduces manual intervention, thereby effectively improving update efficiency and reducing the error rate during the update process.

[0024] Furthermore, the method provided in this application embodiment allows the server to determine all target node devices configured with the corresponding software packages based on the identifier of the software to be updated carried in the request and the aforementioned mapping relationship when receiving a software update request from a node device. The server then sends the corresponding software package update data to each target node device, thereby enabling all node devices with the same software package installed to be updated. This effectively maintains the consistency of software package updates and better meets the needs of practical applications. Attached Figure Description

[0025] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.

[0026] Figure 1a This application provides a schematic diagram of the structure of a software package update system; Figure 1b A schematic diagram illustrating the implementation of the software package update method provided in this application embodiment; Figure 2 A flowchart illustrating a software package update method provided in an embodiment of this application; Figure 3 A flowchart illustrating a software package update method provided in an embodiment of this application; Figure 4 An interactive schematic diagram illustrating an implementation of a software package update method provided in this application embodiment; Figure 5 This is a schematic diagram illustrating an application scenario for implementing a software package update method, as provided in an embodiment of this application. Figure 6 A flowchart illustrating the process of a managed node updating a software package, as provided in this application embodiment; Figure 7 This is a schematic diagram of the structure of a software package update device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of a software package update device provided in an embodiment of this application; Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.

[0028] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” can be implemented as “A,” or as “B,” or as “A and B.”

[0029] Optionally, the solutions provided in this application embodiment can be implemented based on cloud technology. For example, at least one of the server (management terminal / management node) or at least one node device (managed node, i.e., node device configured with software package) in this application embodiment can be a cloud device, such as a cloud server. The data processing involved in this application embodiment can be processed in the form of cloud computing, and the data storage in this application embodiment can be implemented in the form of cloud storage. For example, the mapping relationship between software identifier and each node device corresponding to the software identifier can be stored in a cloud storage device, and software package update data can also be updated using cloud storage.

[0030] Cloud technology is a collective term for network technologies, information technologies, integration technologies, management platform technologies, and application technologies applied to the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will all require robust system support, which can only be achieved through cloud computing.

[0031] Cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computers, enabling various application systems to access computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." From the user's perspective, the resources in the "cloud" are infinitely scalable, readily available, on-demand, expandable, and pay-as-you-go.

[0032] As a provider of fundamental cloud computing capabilities, a cloud resource pool (referred to as a cloud platform, generally called an IaaS (Infrastructure as a Service) platform) is established. Various types of virtual resources are deployed in the resource pool for external customers to choose from. The cloud resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices.

[0033] Cloud storage is a new concept that extends and develops from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as a storage system) refers to a storage system that uses cluster applications, grid technology and distributed storage file systems to bring together a large number of storage devices of various types in the network (storage devices are also called storage nodes) to work together through application software or application interfaces to provide data storage and business access functions to the outside world.

[0034] Currently, the storage method in storage systems is as follows: Logical volumes are created, and during creation, physical storage space is allocated to each logical volume. This physical storage space may consist of a single storage device or the disks of several storage devices. Clients store data on a logical volume, which means storing the data on the file system. The file system divides the data into many parts, each part being an object. Each object contains not only the data but also additional information such as a data identifier (ID, ID entity). The file system writes each object to the physical storage space of that logical volume and records the storage location information of each object. Therefore, when a client requests access to data, the file system can allow the client to access the data based on the storage location information of each object.

[0035] The process by which a storage system allocates physical storage space to a logical volume is as follows: the physical storage space is pre-divided into strips according to the capacity estimate of the objects stored in the logical volume (this estimate often has a large margin relative to the actual capacity of the objects to be stored) and the grouping of Redundant Array of Independent Disks (RAID). A logical volume can be understood as a strip, thus allocating physical storage space to the logical volume.

[0036] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0037] In large-scale cloud computing clusters, there are tens of thousands of managed nodes (such as physical machines or virtual machines). In the daily operation and maintenance of these clusters, updating software packages, patching specific packages, or fixing software vulnerabilities are frequent requirements. Currently, the following two methods are mainly used to update the software packages on the managed nodes in a cloud computing cluster.

[0038] (1) Manually specify the software packages that need to be installed or upgraded on the managed nodes in the configuration file, and perform batch upgrades of the software packages through configuration management tools. However, this method is inefficient, prone to errors, and does not associate cloud products with managed nodes when there is too much manual decision-making and operation.

[0039] (2) When installing the operating system on the managed nodes, all necessary software packages are directly installed and their sources are configured. When a software package needs to be upgraded, the management machine manually triggers a batch upgrade of the node's software packages. In this case, the update logs for software package changes and the software package change operations are implemented on different systems. However, research has shown that this method ignores the relationship between cloud products and managed nodes. Because the update logs for software package changes and the implementation of software package change operations are managed separately, in a large-scale environment, it is difficult to guarantee the consistency of software packages on the same managed nodes, and the software package change records are prone to inconsistencies with the actual operations.

[0040] The software package update method, apparatus, system, electronic device, and readable storage medium provided in the embodiments of this application are intended to solve at least one of the above-mentioned technical problems of the prior art.

[0041] The technical solutions of this application and their effects are described below through several exemplary embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.

[0042] First, let's introduce and explain several terms used in this application: 1. Management Node: The node where the central control center of the management system is located. This node can be a physical machine, a virtual machine, or a container node. That is, the server in this embodiment of the application. Optionally, this server can be a cloud server, such as a cloud server cluster based on a distributed architecture.

[0043] 2. Managed node: can be any device, such as a physical machine or virtual machine in a private cloud that needs to update software packages, which is the node device in the embodiments of this application.

[0044] 3. ZooKeeper (a reliable coordination system for distributed systems): an open-source distributed application coordination service, which is software that provides consistency services for distributed applications, and can provide functions such as configuration maintenance, domain name service, distributed synchronization, and group services. Optionally, the software package update system provided in this application embodiment can be a system implemented based on ZooKeeper.

[0045] To better understand the methods provided in the embodiments of this application, the following description will first be based on a software package update system applicable to the embodiments of this application.

[0046] Figure 1a This is a schematic diagram of the structure of a software package update system provided in an embodiment of this application, as shown below. Figure 1a As shown, the system may include a server 10 (i.e., a management node, which may be a cloud server) and at least one node device (i.e., a managed node) 20, such as... Figure 1a As shown in the diagram, at least one node device 20 includes node device 201, node device 202, and node device 203. The node devices can be any type of electronic device. Each node device communicates with server 10 via a network. Each node device is configured with (can be understood as having installed or running) at least one software package. Server 10 stores the software identifiers of each software package and the mapping relationship between each software identifier and the corresponding node devices. The server can determine the node device identifier corresponding to each software package, i.e., which devices have the software package installed, based on this mapping relationship.

[0047] It should be noted that the granularity of the software package is not limited in this application embodiment. A software package can be an application package, a functional module package, or a plugin package.

[0048] The method provided in this application embodiment can be implemented as a software update program or a functional plugin. The server 10 is the application server of the software update program or plugin, and each node device can be understood as the application client of the software update program or plugin. The application or plugin also has a management client 32. The server 10 communicates with the management device running the management client 32. The management device can be the device of an administrator with corresponding management permissions, such as the terminal device of an administrator (e.g., a technician). The administrator can update the configuration information and data of each software package through the management client 32, that is, initiate a software update operation.

[0049] Figure 1b It shows the basis Figure 1a The diagram shows a flowchart of a software update method for a software update system. The following section will discuss this method in conjunction with... Figure 1a and 1b An optional implementation of the software update method provided in this application will be described.

[0050] Step S101: The administrator triggers a software update operation based on the management client 32 (i.e., step S101 in the figure: triggering a software update operation). Optionally, when a software package needs to be updated, the administrator can trigger a software update operation based on the management client 32. The software update operation may specifically include at least one of a software package deletion operation, a software package addition operation, or a software package modification operation.

[0051] In step S102, in response to the obtained software update operation, the server sends an update configuration notification message to the third node devices (specifically including node device 201, node device 202 and node device 203) (i.e. step S102 in the figure: sending update configuration notification message). Optionally, when the server 10 receives a software update operation, it can modify the version of the software package in the first software configuration information accordingly, and send update configuration notification information to node devices 201, 202 and 203 to inform node devices 201, 202 and 203 that there is a software package that needs to be updated. In step S103, when the first node device (specifically including node device 201, node device 202 and node device 203) detects the updated configuration notification information, it sends a configuration information retrieval request to the server 10 (i.e. step S103 in the figure, sending a configuration information retrieval request). In step S104, in response to the configuration information acquisition request, server 10 sends the first software configuration information to node device 201, node device 202 and node device 203 respectively (i.e. step S104 in the figure, sending the first software configuration information). Optionally, the first software configuration information includes at least one second identifier of a software package and software package version information corresponding to each second identifier. In addition, the first software configuration information also includes update indication information for indicating the operation type of the software package corresponding to the second identifier.

[0052] In step S105, node devices 201, 202 and 203 compare the first software configuration information with the local second software configuration information, and the second node device (i.e. node devices 201 and 202) sends a software update request to server 10 (i.e. step S105 in the figure, sending a software update request). Optionally, when node devices 201, 202, and 203 receive the first software configuration information sent by server 10, they can compare the first software configuration information with their local second software configuration information. In this case, the first software configuration information and the local second software configuration information of node devices 201 and 202 differ in the software package version information corresponding to the second identifier, and the corresponding update indication information indicates an operation type of software package addition or modification. In this case, node devices 201 and 202, as second node devices, can send a software update request to server 10 to update the software package. Specifically, if the first software configuration information and the local second software configuration information of node device 201 differ in the software package version information corresponding to identifier 'a', and the first software configuration information and the local second software configuration information of node device 202 differ in the software package version information corresponding to identifier 'b', then the software update request sent by node device 201 includes identifier 'a', and the software update request sent by node device 202 includes identifier 'b'.

[0053] Step S106: Server 10 determines the target node device based on the received software update request (i.e., step S106 in the figure, determining the target node device). Optionally, the software update request received by server 10 includes identifier a and identifier b. In this case, server 10 can obtain a first mapping relationship that records the correspondence between each software identifier and the node devices configured with the corresponding software packages of each software identifier. Then, based on the first mapping relationship, the node device corresponding to identifier a is identified as node device 201, and the node device corresponding to identifier b is identified as node device 202. At this time, node device 201 and node device 202 are the target node devices. Step S107: Server 10 sends software package update data to each target node device (i.e., step S107 in the figure: sending software package update data). Specifically, server 10 sends the software package update data corresponding to identifier a to node device 201, and sends the software package update data corresponding to identifier b to node device 202. In step S108, each target node device updates the software package according to the software package update data and updates the second software configuration information stored locally accordingly (i.e., step S108 in the figure, software package update).

[0054] Specifically, node device 201 updates the software package corresponding to identifier a according to the received software package update data, and updates the version information corresponding to identifier a in the locally stored second software configuration information accordingly; at the same time, node device 202 updates the software package corresponding to identifier b according to the received software package update data, and updates the version information corresponding to identifier b in the locally stored second software configuration information accordingly.

[0055] like Figure 2 As shown in the embodiments of this application, a software package update method is provided. This method can be executed by any electronic device, such as a management server (i.e., a management node) in a cloud computer cluster. The method may include: Step S201: In response to a configuration information acquisition request sent by at least one first node device, first software configuration information is sent to at least one first node device respectively.

[0056] In this application, the node device can be any type of electronic device, such as a server, terminal device, physical machine or virtual machine in cloud service, etc. This application does not limit the type of node device.

[0057] In an optional embodiment of this application, the first software configuration information includes a second identifier of at least one software package and software package version information corresponding to each second identifier.

[0058] The first software configuration information may include a software package identifier (i.e., a second identifier) ​​to identify which specific software package it is, and each software package has corresponding software package version information. When the version of a software package changes, the version information corresponding to the software package identifier in the first software configuration information will also change accordingly. For example, for software package A, the first software configuration information includes the software package identifier 'a' and the software package version information (e.g., version 1.0). When software package A is upgraded from version 1.0 to 2.0, the version information corresponding to identifier 'a' in the first software configuration information will also change from 1.0 to 2.0, at which point software package A becomes the software package to be updated.

[0059] Furthermore, in practical applications, the server can record the relationships between each software package. When a software package to be updated is identified, the relationships between each software package recorded by the server will also be modified accordingly. At this time, the software packages to be updated can be managed based on the software package list update planning file. For example, for a cloud computing cluster, a customer's cloud can be divided into region-level, zone-level, and data center-level deployments. A region-level deployment can be further divided into multiple zone-level deployments, and a zone-level deployment can be further divided into multiple data center-level deployments. A cloud product can be divided into multiple functional modules, each supported by at least one software package. When a software package to be updated is identified, the data structure of the software package list update planning file can be as follows: { "cloud_id": "<cloud_id> ",#cloud "regions": [ {"region_id": "<region_id> #Multi-region "zones": [{ #Multiple regions "idcs": [{"idc_id": "<idc_id> #Multi-datacenter "products": [{# Various cloud products] "product_1": [{#Cloud Product 1 "module_id": "<module>", # Cloud product functional modules "packages": [ # Packages that need to be upgraded] "package1","package2",…]}…]}…]}…]}…]}…]} Among them, cloud_id is the cloud identifier, used to identify which cloud the customer belongs to; region_id is used to identify which specific region under the cloud; zones represents the geographical areas included in a region; idc_id is the data center identifier; products represents the cloud products included in the data center; module_id is the module identifier, used to identify which functional module under the cloud product; and packages are the software packages to be updated under the functional module.

[0060] Optionally, in practical applications, at least one first node device can be configured to periodically send configuration information retrieval requests to the server, so that when the server responds to the configuration information retrieval requests sent by at least one first node device, it can send first software configuration information to at least one first node device respectively. Thus, the first node device can know the current version information of each software package in a timely manner, and when the version information of the software package changes, it can update the changed software package in a timely manner. In an optional embodiment of this application, before sending the first software configuration information to at least one first node device, the method further includes: In response to the received software update operation, send an update configuration notification message to at least one third-node device; Receive configuration information retrieval requests from at least one first node device; In this configuration, at least one first node device is at least one of at least one third node device, and the configuration information acquisition request is sent by the first node device when it detects an update configuration notification.

[0061] Optionally, when modifications to the software package are required, administrators can trigger a software update operation. In response, the server can cache the latest data for the software package targeted by the update and change the version information corresponding to the package identifier in the first software configuration information. Simultaneously, to ensure that node devices with the software package installed can update it promptly, the server, upon receiving a software update operation, can send an update configuration notification to at least one third node device, informing them that a software package has changed. Correspondingly, when a third node device detects an update configuration notification, if it wants to determine whether the change is to its cached software package, it can send a configuration information retrieval request to the server. In this case, the third node device is the first node device mentioned above.

[0062] Step S202: Receive a software update request sent by at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different.

[0063] Optionally, each node device locally caches second software configuration information, which includes the identifier and version information of the software packages currently cached by the node device. Correspondingly, when a first node device receives the first software configuration information sent by the server, it can compare the first software configuration information with its local second software configuration information. For any first node device, if the version information corresponding to the identifier of the same software package differs between the first software configuration information and the local second software configuration information, it can be determined that the software package corresponding to that identifier needs to be updated. This software package is the one to be updated, and the first node device can be considered a second node device and sends a software update request carrying the identifier of the software package to be updated (i.e., the first identifier) ​​to the server.

[0064] Step S203: Determine at least one target node device based on the first identifier and the first mapping relationship, wherein the first mapping relationship is the correspondence between at least one software identifier and the node device corresponding to each software identifier, the at least one software identifier includes the first identifier, and the node device corresponding to a software identifier refers to the node device configured with the software package corresponding to the software identifier.

[0065] Optionally, a mapping relationship (i.e., a first mapping relationship) between software identifiers and nodes can be configured. The node device corresponding to a software identifier is the node device configured with the software package corresponding to that software identifier. Accordingly, when a software identifier is known, the specific node devices configured with the software package corresponding to that software identifier can be determined based on this first mapping relationship. For example, for a cloud computing cluster, this first mapping relationship can refer to the mapping relationship between a cloud product and the physical machine or virtual machine used, where the node devices of each functional module of a cloud product need to install the same software package. In this case, the data structure of this mapping relationship can be represented as: { "cloud_id": "<cloud_id> ",#cloud "regions": [ {"region_id": "<region_id> #Multi-region "zones": [{ #Multiple regions "idcs": [{"idc_id": "<idc_id> #Multi-datacenter "products": [{# Various cloud products] "product_1": [{#Cloud Product 1 "module_id": "<module>", # Cloud product functional modules "servers": [ # Node devices (i.e., physical machines or virtual machines)] "server1","server2",……]}…]}…]}…]}…]}…]} #First node device, second node device……] Accordingly, when the server receives the first identifier, it can determine the target node device based on the first mapping relationship. The server can pre-cache the first mapping relationship or cache it in other electronic devices, retrieving the first mapping relationship from those devices when it needs to determine the target node device.

[0066] If multiple second node devices send software update requests, the first identifiers in the multiple software update requests received may be the same or different. For each first identifier, the server can determine the corresponding target node device. The target node devices corresponding to different first identifiers may be the same or different.

[0067] Step S204: Send the software package update data corresponding to the first identifier to each target node device so that the target node device can update the software package according to the software package update data.

[0068] Optionally, after receiving a software update request, the server can identify the node device (i.e., the target node device) configured with the software package corresponding to the first identifier, and then send the software package update data corresponding to the first identifier to each target node device. Correspondingly, after receiving the software package update data sent by the server, the target node device can update the software package to be updated according to the received software package update data.

[0069] This application provides a novel software package update method. Based on this method, any node device configured with a software package can obtain first software configuration information from the server by sending a configuration information retrieval request. It can then determine whether a software package update is needed by comparing the first software configuration information obtained from the server with the node device's second software configuration information. When the node device determines that a software package update is needed based on the first and second software configuration information, it can obtain the corresponding software package update data by sending a software update request to the server. This facilitates and quickly enables automated software package updates. The software package update method provided in this application significantly reduces manual intervention, thereby effectively improving update efficiency and reducing the error rate during the update process.

[0070] Furthermore, the method provided in this application embodiment allows the server to determine all target node devices configured with the corresponding software packages based on the identifier of the software to be updated carried in the request and the aforementioned mapping relationship when receiving a software update request from a node device. The server then sends the corresponding software package update data to each target node device, thereby enabling all node devices with the same software package installed to be updated. This effectively maintains the consistency of software package updates and better meets the needs of practical applications.

[0071] In an optional embodiment of this application, sending software package update data corresponding to the first identifier to each target node device includes: Send software update notifications to each target node device; Upon receiving update confirmation information from at least one target node device, the software package update data corresponding to the first identifier is sent to the target node device corresponding to the received update confirmation information.

[0072] Optionally, before sending the software package update data corresponding to the first identifier to each target node device, the server may first send a software update notification to each target node device to inform them that software package update data needs to be sent to them. When each target node device receives the software update notification sent by the server, it can determine whether it needs to update the software package. If it needs to update, it returns update confirmation information to the server. Accordingly, when the server receives the update confirmation information sent by the target node device, it knows that the target node device needs to update the software package, and then sends the software package update data corresponding to the first identifier to the target node device.

[0073] Conversely, if the target node device determines that it does not need to update the software package, such as when the software package update has already been completed or the current operating environment is not suitable for the software package update, it can choose not to return update confirmation information to the server. In this case, since the server has not received the returned update confirmation information, it will no longer send the software package update data corresponding to the first identifier to the target node device.

[0074] In this embodiment, the server sends software package update data to the target node device only after receiving update confirmation information returned by the target node device based on the software update notification. This allows for more accurate updates to the software packages of the target node device, and the server stops sending software package update data when the target node device does not need to be updated, effectively improving resource utilization and avoiding resource waste.

[0075] In optional embodiments of this application, the software update operation includes at least one of a software package deletion operation, a software package addition operation, or a software package modification operation; The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The software update request is sent by the second node device when the following conditions are met: The first software configuration information and the second software configuration information have at least one different software package version information corresponding to the second identifier, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation; The first identifier is at least one second identifier that satisfies the condition.

[0076] Optionally, when administrators make changes to software packages, they may include deleting, modifying, or adding software packages. In this case, each second identifier in the first software configuration information may also include corresponding update instruction information. Based on the update instruction information, the operation type of the software package corresponding to the second identifier can be known, such as whether the administrator's current modification is to modify the software package, or whether it is a newly added software package, or whether the administrator is deleting the software package.

[0077] The specific form of the update instruction information can be pre-configured, and this application embodiment does not limit this. For example, different indicator icons can be used to represent different operation types. For instance, if the administrator upgrades the version of software package A, the version number of software package A can be upgraded from 1.0 to 2.0. Or, if software package A is a newly added software package, the second identifier of the software package can be added with the corresponding indicator icon "+". When the node device recognizes that the second identifier has been added with the corresponding indicator icon "+", it can know that the software package A corresponding to the second identifier is a newly added software package. Or, if software package A is a deleted software package, the second identifier of the software package can be added with the corresponding indicator icon "-". When the node device recognizes that the second identifier has been added with the corresponding indicator icon "-", it can know that the software package A corresponding to the second identifier is a software package that needs to be deleted.

[0078] Optionally, when the first node device identifies that the software package version information corresponding to the second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the corresponding update instruction information is a software package addition operation or a software package modification operation, it indicates that the software package corresponding to the second identifier needs to be updated. In this case, a software update request carrying the second identifier (i.e., the first identifier mentioned above) can be sent to the server to inform the server that the software package corresponding to the second identifier needs to be updated. When the software package version information corresponding to the second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the corresponding update instruction information is a software package deletion operation, the first node device can delete the software package corresponding to the second identifier.

[0079] like Figure 3 As shown in the embodiments of this application, a software package update method is provided. This method can be executed by any node device, wherein the node device can be any electronic device, such as a server, terminal device, physical machine or virtual machine in cloud service, etc. This application does not limit the type of node device. The method may include: Step S301: Send a configuration information retrieval request to the server.

[0080] Step S302: Receive the first software configuration information returned by the server based on the configuration information acquisition request.

[0081] The detailed description of the first software configuration information can be found in the preceding text and will not be repeated here. Optionally, in practical applications, at least one node device (i.e., the first node device mentioned above) can be configured to periodically send configuration information retrieval requests to the server. This allows the server to send the first software configuration information to each of the at least one node device in response to the configuration information retrieval request. As a result, the first node device can promptly know the current version information of each software package, and when the version information of the software package changes, it can update the changed software package in a timely manner.

[0082] In an optional embodiment of this application, sending a configuration information retrieval request to the server includes: When an update configuration notification is detected from the server, a configuration information retrieval request is sent to the server.

[0083] Optionally, when modifications to the software package are required, administrators can trigger a software update operation. In response, the server can cache the latest resources for the software package targeted by the update and change the version information corresponding to the package identifier in the first software configuration information. Simultaneously, to ensure that node devices with the software package installed can update it promptly, the server, upon receiving a software update operation, can send an update configuration notification to at least one node device (i.e., the third node device mentioned earlier) to inform each node device that a software package has changed. Correspondingly, when a node device detects an update configuration notification, if it wants to determine whether the change is to its cached software package, it can send a configuration information retrieval request to the server to obtain the first software configuration information. In this case, the third node device is the first node device mentioned above.

[0084] Step S303: Compare the first software configuration information with the local second software configuration information. If the first software configuration information and the second software configuration information are different, send a software update request to the server. The software update request includes the first identifier of the software package to be updated.

[0085] Optionally, each node device locally caches second software configuration information, which includes the identifier and version information of the software packages currently cached by the node device. Accordingly, when a node device receives the first software configuration information sent by the server, it can compare the first software configuration information with its local second software configuration information. For any node device, if the version information corresponding to the identifier of the same software package differs between the first software configuration information and the local second software configuration information, it can be determined that the software package corresponding to that identifier needs to be updated. This software package is the one to be updated, and the node device (in this case, the second node device mentioned earlier) can send a software update request to the server carrying the identifier of the software package to be updated (i.e., the first identifier).

[0086] Step S304: Receive the software package update data corresponding to the first identifier sent by the server, and update the software package according to the software package update data, wherein the software package update data is the update data of the software package corresponding to the first identifier.

[0087] Optionally, after receiving a software update request, the server can identify the node device (i.e., the target node device) configured with the software package corresponding to the first identifier, and then send the software package update data corresponding to the first identifier to each target node device. Correspondingly, after receiving the software package update data sent by the server, the target node device can update the software package to be updated according to the received software package update data.

[0088] In this embodiment, when the software package changes, the server can send the first software configuration information to the node device. When the node device determines that the software package needs to be updated based on the received first software configuration information and the local second software configuration information, it can send a software update request to the server. At this time, the server can automatically update the node device configured with the software package that needs to be updated. This process reduces manual intervention, thereby effectively improving update efficiency and avoiding errors caused by manual updates.

[0089] In optional embodiments of this application, the first software configuration information includes at least one second identifier of a software package and software package version information corresponding to each second identifier, and the software update operation includes at least one of a software package deletion operation, a software package addition operation, or a software package modification operation; The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The first software configuration information is compared with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server, including: Compare the first software configuration information with the local second software configuration information; If the software package version information corresponding to at least one second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation, then a software update request is sent to the server. The method also includes: If the first software configuration information includes a second identifier whose operation type is deletion, as indicated by the corresponding update instruction information, then the software package data corresponding to the second identifier is deleted.

[0090] The first software configuration information may include a software package identifier (i.e., a second identifier) ​​to identify which specific software package it is, and each software package has corresponding software package version information. When the version of a software package changes, the version information corresponding to the software package identifier in the first software configuration information will also change accordingly.

[0091] Optionally, when administrators modify software packages, this may include deleting, modifying, or adding software packages. In this case, each second identifier in the first software configuration information may also include corresponding update instruction information. Based on this update instruction information, the operation type of the software package corresponding to the second identifier can be determined, such as whether the administrator modified the software package, whether the software package was newly added, or whether the administrator deleted the software package. The specific form of the update instruction information can be pre-configured, and this embodiment does not limit this; for example, different indicator identifiers can be used to represent different operation types.

[0092] Optionally, when a node device identifies that the software package version information corresponding to the second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the corresponding update instruction information is a software package addition operation or a software package modification operation, it indicates that the software package corresponding to the second identifier needs to be updated. In this case, a software update request carrying the second identifier (i.e., the first identifier mentioned above) can be sent to the server to inform the server that the software package corresponding to the second identifier needs to be updated. When the software package version information corresponding to the second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the corresponding update instruction information is a software package deletion operation, the node device can delete the software package corresponding to the second identifier.

[0093] It is understood that for a software package that needs to be deleted, the first software configuration information may or may not include the version information of the software package, and this application embodiment does not limit this.

[0094] In optional embodiments of this application, the method further includes: After updating the software package based on the first software configuration information, the second software configuration information is updated based on the first software configuration information.

[0095] Optionally, after the node device updates the software package based on the first software configuration information, it can update the version information corresponding to the updated software package identifier in the locally cached second software configuration information to the updated software package version information. This ensures the consistency between the software package change record and the actual operation on the same node device. For example, if the version of software package S is upgraded from 1.0 to 2.0, the version information of software package S in the second software configuration information can be changed from 1.0 to 2.0; or, for a newly added software package S, the version information of software package S added in the second software configuration information can be changed from 1.0 to 2.0.

[0096] Correspondingly, when a node device deletes the package corresponding to the second identifier of the operation type "package deletion operation", it indicates that the package configured in the node device has also changed. In order to ensure the consistency between the package change record of the node device and the actual operation, the second software configuration information of the node device can also be updated accordingly, that is, the identifier of the deleted package is removed from the second software configuration information.

[0097] Understandably, when the software packages configured on a node device change (such as when a software package is upgraded, added, or deleted), the server can also modify the stored mapping relationship between node devices and software packages accordingly. For example, if node device A deletes software package S, then software package S will be removed from the mapping relationship between node device A and software packages.

[0098] like Figure 4 As shown in the diagram, this application provides an interactive schematic diagram for implementing a software package update method, which may specifically include: Step S410: The server receives a configuration information retrieval request sent by at least one first node device; Step S420: Based on the configuration information acquisition request, send the first software configuration information to each first node device respectively; In step S430, each first node device receives the first software configuration information and compares the first software configuration information with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes the first identifier of the software package to be updated. Step S440: The server receives a software update request sent by at least one second node device, and determines at least one target node based on the first identifier and the first mapping relationship in the software update request. The at least one second node device is at least one of at least one first node device, and the first mapping relationship is the correspondence between at least one software identifier and each node device. The at least one software identifier includes the first identifier. The node device corresponding to a software identifier refers to the node device configured with the software package corresponding to the software identifier. In step S450, the server sends the software package update data corresponding to the first identifier to each target node device, so that each target node device can update the software package according to the software package update data.

[0099] like Figure 5 As shown, in order to better understand the method provided in the embodiments of this application, the method will be described in detail below in conjunction with the application scenario of cloud computer clusters. It should be understood that the application scenario applicable to the embodiments of this application is not limited to cloud computing clusters, and is applicable to any scenario involving updating software packages of node devices.

[0100] In this example, the server is the management node in a cloud computing cluster. The management node runs a system management terminal, which encapsulates the logic for viewing and modifying ZooKeeper files, enabling unified management of software packages installed on various physical machines or virtual machines in the cloud environment. Specifically, the system management terminal may include a software source management module, a cloud product software package update planning module, a cloud product-physical machine mapping module, and a software package automatic update module. The software source management module manages and stores software package data for each operating system's software source. The cloud product software package update planning module encapsulates the logic for viewing and modifying ZooKeeper files (such as supporting adding, viewing, modifying, and deleting software packages) and provides unified management of the software package list installed on each physical machine or virtual machine. The cloud product-device mapping module records the physical machine or virtual machine information used by each cloud product. The software package automatic update module encapsulates configuration management tools; when the cloud product software package update planning module publishes a software package list update configuration (i.e., the first software configuration information), it performs software package update operations on the target physical machine or virtual machine (i.e., the target node device).

[0101] Optionally, the node device in this example is a managed node (i.e., a virtual machine or a physical machine) in a cloud computing cluster. The managed node runs a system client to support caching of the managed node's package list file (i.e., the second software configuration information). By listening to the update event of the cloud product package update planning module on the system management terminal, the update operation of the package in the operating system of this physical machine is triggered.

[0102] Specifically, when it is necessary to modify the software packages in the managed node, modifications may include: Step S510: The administrator modifies the package list through the cloud product package update planning module in the system management terminal and notifies the system client of the update event (i.e., the update event notification in the figure). In step S520, the system client pulls the package list update configuration (i.e., the first software configuration information), compares it with the cached package list file, and feeds back the comparison result to the system management terminal (i.e., pulling the new configuration in the figure). Step S530: The cloud product software package update planning module notifies the software automatic update module of the update event (i.e., the update notification in the figure). Step S540: The software automatic update module obtains the first mapping relationship from the cloud product and device mapping module, and determines the managed node of the software package that needs to be updated based on the comparison result (i.e., obtains the first mapping relationship). Step S550: The software automatic update module sends an update notification to the managed node that needs to update the software package (i.e., sending a software update notification in the figure). Step S560: The managed node that needs to update the software package obtains the software package update data from the software source management module and updates it (i.e., pull the software package for updating as shown in the figure). Step S570: The update result is fed back to the system client to update the package list (i.e., the synchronous update result in the figure).

[0103] In addition, to better understand the workflow of managed nodes during package updates, the following section combines... Figure 6 A detailed explanation will follow. In this example, it is assumed that there are two managed nodes. Since the workflow for updating packages is the same for both managed nodes, the following explanation will focus on the workflow of updating packages for only one managed node.

[0104] Optionally, the managed node's system client caches its own configured package list. When it listens for the update package event of the cloud product package update planning module in the system management terminal, it triggers the package update operation of the target change and returns the update result to the system client so that the system client can update its own cached package list accordingly.

[0105] Here, the target of the change refers to the specific name of the software package to be modified. For example, if you need to change the name of a software package ipmitool-1.1.rpm in CentOS to ipmitool-1.2.rpm, the target is the package name ipmitool. The result of the change can be either successful or failed, as shown below: a. Success Status: Package Name: {Change ID: 123, Result: success, Current Version: 1.2, Original Version: 1.1, Number of Changes: 3, Change Time:} <time>}

[0106] b. Failure details: Package name: {Change ID: 123, Result: fail, Current version: null, Original version: 1.1, Number of changes: 3, Change time:} <time>}

[0107] This application provides a software package update device, such as... Figure 7 As shown, the software package update device 70 may include: a software configuration information sending module 701, a software update request receiving module 702, a target node device determining module 703, and a software package update data sending module 704, wherein, The software configuration information sending module 701 is used to send first software configuration information to at least one first node device in response to a configuration information acquisition request sent by at least one first node device. The software update request receiving module 702 is used to receive a software update request sent by at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different; The target node device determination module 703 is used to determine at least one target node device based on a first identifier and a first mapping relationship, wherein at least one second node device is at least one of at least one first node device, the first mapping relationship is the correspondence between at least one software identifier and each node device, the at least one software identifier includes the first identifier; the node device corresponding to a software identifier refers to the node device configured with the software package corresponding to the software identifier; The software package update data sending module 704 is used to send software package update data corresponding to the first identifier to each target node device, so that each target node device can update the software package according to the software package update data.

[0108] Optionally, the device also includes an update configuration notification information module for: Before sending the first software configuration information to at least one first node device, in response to the obtained software update operation, an update configuration notification message is sent to at least one third node device. Receive configuration information retrieval requests from at least one first node device; In this configuration, at least one first node device is at least one of at least one third node device, and the configuration information acquisition request is sent by the first node device when it detects an update configuration notification.

[0109] Optionally, the first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier.

[0110] Optionally, software update operations include at least one of package deletion, package addition, or package modification. The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The software update request is sent by the second node device when the following conditions are met: The first software configuration information and the second software configuration information have at least one different software package version information corresponding to the second identifier, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation; The first identifier is at least one second identifier that satisfies the condition.

[0111] Optionally, when sending the software package update data sending module to each target node device, the module is specifically used for: Send software update notifications to each target node device; Upon receiving update confirmation information from at least one target node device, the software package update data corresponding to the first identifier is sent to the target node device corresponding to the update confirmation information.

[0112] The software package update device in this embodiment can execute the steps of the software package update method shown in the foregoing embodiments of this application. The implementation principle is similar and will not be described again here.

[0113] Figure 8 This is a schematic diagram of a software package update device provided in an embodiment of this application, as shown below. Figure 8 As shown, the apparatus of this embodiment may include: The software configuration information acquisition module 801 is used to send a configuration information acquisition request to the server and receive the first software configuration information returned by the server based on the configuration information acquisition request. The software update request sending module 802 is used to compare the first software configuration information with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes a first identifier of the software package to be updated. The software package update module 803 is used to receive software package update data corresponding to the first identifier sent by the server, and to update the software package according to the software package update data, wherein the software package update data is the update data of the software package corresponding to the first identifier. Optionally, when the software configuration information acquisition module sends a configuration information acquisition request to the server, it is specifically used for: When an update configuration notification is detected from the server, a configuration information retrieval request is sent to the server.

[0114] Optionally, the first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier, and the software update operation includes at least one of the following: software package deletion operation, software package addition operation, or software package modification operation; The first software configuration information also includes update indication information corresponding to each second identifier. The update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier. The software update request sending module compares the first software configuration information with the local second software configuration information. If the first and second software configuration information differ, it sends a software update request to the server. Specifically, this is done by: Compare the first software configuration information with the local second software configuration information; If the software package version information corresponding to at least one second identifier differs between the first software configuration information and the second software configuration information, and the operation type indicated by the update indication information corresponding to at least one second identifier is a software package addition operation or a software package modification operation, then a software update request is sent to the server. The device also includes a deletion module for: When the first software configuration information includes a second identifier indicating that the operation type is a deletion operation, the software package data corresponding to the second identifier is deleted.

[0115] Optionally, the device also includes an information update module for: After updating the software package based on the first software configuration information, the second software configuration information is updated based on the first software configuration information.

[0116] The apparatus in this application embodiment can execute the method provided in this application embodiment, and the implementation principle is similar. The actions performed by each module in the apparatus of each embodiment of this application correspond to the steps in the method of each embodiment of this application. For detailed functional descriptions of each module of the apparatus, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.

[0117] This application provides a software package update system, which includes a server and at least one managed node device communicatively connected to the server; wherein the server is configured to perform... Figure 2 The method described above, wherein the managed node device is configured to execute Figure 3 The method in the middle. This application provides an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the software package update method. In one alternative embodiment, an electronic device is provided, such as Figure 9 As shown, Figure 9 The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of this application.

[0118] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0119] Bus 4002 may include a pathway for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0120] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.

[0121] The memory 4003 stores computer programs that execute embodiments of this application, and its execution is controlled by the processor 4001. The processor 4001 executes the computer programs stored in the memory 4003 to implement the steps shown in the foregoing method embodiments.

[0122] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the steps and corresponding content of the aforementioned method embodiments.

[0123] This application also provides a computer program product, including a computer program that, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.

[0124] The terms "first," "second," "third," "fourth," "1," "2," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown in the figures or text.

[0125] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart, based on the actual implementation scenario, may include multiple sub-steps or multiple stages. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.

[0126] The above description is only an optional implementation method for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application without departing from the technical concept of this application also fall within the protection scope of the embodiments of this application.< / time> < / time>

Claims

1. A software package update method, characterized in that, include: In response to the received software update operation, send an update configuration notification message to at least one third-node device; In response to a configuration information retrieval request sent by at least one first node device, first software configuration information is sent to each of the at least one first node device, wherein the at least one first node device is at least one of the at least one third node device, and the configuration information retrieval request is sent by the first node device when it detects the update configuration notification information; The system receives a software update request from at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of the at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different; Based on the first identifier and the first mapping relationship, at least one target node device is determined, wherein the first mapping relationship is the correspondence between at least one software identifier and the node device corresponding to each software identifier, the at least one software identifier includes the first identifier, and a node device corresponding to a software identifier refers to a node device configured with the software package corresponding to the software identifier; The software package update data corresponding to the first identifier is sent to each of the target node devices so that each of the target node devices can update the software package according to the software package update data.

2. The method according to claim 1, characterized in that, The first software configuration information includes at least one second identifier of a software package and the software package version information corresponding to each second identifier.

3. The method according to claim 2, characterized in that, The software update operation includes at least one of the following: software package deletion operation, software package addition operation, or software package modification operation; The first software configuration information also includes update indication information corresponding to each of the second identifiers, and an update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier; The software update request is sent by the second node device when the following conditions are met: The software configuration information in the first software configuration information and the software configuration information in the second software configuration information have at least one different software package version information corresponding to the second identifier, and the operation type indicated by the update indication information corresponding to the at least one second identifier is a software package addition operation or a software package modification operation; The first identifier is at least one second identifier that satisfies the condition.

4. The method according to claim 1, characterized in that, Sending the software package update data corresponding to the first identifier to each of the target node devices includes: Send software update notifications to each of the target node devices; Upon receiving update confirmation information from at least one of the target node devices, the software package update data corresponding to the first identifier is sent to the target node device corresponding to the update confirmation information.

5. A software package update method, characterized in that, include: The server receives an update configuration notification in response to a software update operation, and sends a configuration information retrieval request to the server. Receive the first software configuration information returned by the server based on the configuration information acquisition request; The first software configuration information is compared with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes a first identifier of the software package to be updated. The server receives software package update data corresponding to the first identifier sent by the server, and updates the software package according to the software package update data. The software package update data corresponding to the first identifier is sent by the server according to the first mapping relationship and the first identifier in the received software update request. The first mapping relationship is the correspondence between at least one software identifier and the node device corresponding to each software identifier. The at least one software identifier includes the first identifier. A node device corresponding to a software identifier refers to a node device configured with the software package corresponding to the software identifier.

6. The method according to claim 5, characterized in that, Send a configuration information retrieval request to the server, including: Upon detecting an update configuration notification from the server, a request to obtain the configuration information is sent to the server.

7. The method according to claim 5, characterized in that, The first software configuration information includes at least one second identifier of a software package and software package version information corresponding to each second identifier. The software update operation includes at least one of a software package deletion operation, a software package addition operation, or a software package modification operation. The first software configuration information also includes update indication information corresponding to each of the second identifiers, and an update indication information corresponding to a second identifier is used to indicate the operation type of the software package corresponding to the second identifier; The step of comparing the first software configuration information with the local second software configuration information, and if the first software configuration information and the second software configuration information are different, sending a software update request to the server includes: Compare the first software configuration information with the local second software configuration information; If at least one second identifier in the first software configuration information and the second software configuration information are different in terms of software package version information, and the operation type indicated by the update indication information corresponding to the at least one second identifier is a software package addition operation or a software package modification operation, a software update request is sent to the server. The method further includes: If the first software configuration information includes a second identifier whose operation type is deletion, as indicated by the corresponding update instruction information, then the data of the software package corresponding to the second identifier is deleted.

8. A software package update apparatus, characterized in that, include: The software configuration information sending module is used to send update configuration notification information to at least one third-node device in response to the obtained software update operation. In response to a configuration information retrieval request sent by at least one first node device, first software configuration information is sent to each of the at least one first node device, wherein the at least one first node device is at least one of the at least one third node device, and the configuration information retrieval request is sent by the first node device when it detects the update configuration notification information; A software update request receiving module is configured to receive a software update request sent by at least one second node device, wherein the software update request includes a first identifier of the software package to be updated, the at least one second node device is at least one of the at least one first node device, and the software update request is sent by the second node device when the first software configuration information and the second software configuration information local to the second node device are different; The target node device determination module is used to determine at least one target node device based on the first identifier and the first mapping relationship, wherein the first mapping relationship is a correspondence between at least one software identifier and a node device corresponding to each software identifier, the at least one software identifier includes the first identifier, and a node device corresponding to a software identifier refers to a node device configured with a software package corresponding to the software identifier. The software package update data sending module is used to send software package update data corresponding to the first identifier to each of the target node devices, so that each of the target node devices can perform software package update according to the software package update data.

9. A software package update apparatus, characterized in that, include: The software configuration information acquisition module is used to receive update configuration notification information sent by the server in response to the acquired software update operation, send a configuration information acquisition request to the server, and receive the first software configuration information returned by the server based on the configuration information acquisition request. A software update request sending module is used to compare the first software configuration information with the local second software configuration information. If the first software configuration information and the second software configuration information are different, a software update request is sent to the server. The software update request includes a first identifier of the software package to be updated. The software package update module is configured to receive software package update data corresponding to the first identifier sent by the server, and perform software package update according to the software package update data. The software package update data is update data of the software package corresponding to the first identifier. The software package update data corresponding to the first identifier is sent by the server according to the first identifier and a first mapping relationship. The first mapping relationship is the correspondence between at least one software identifier and a node device corresponding to each software identifier. The at least one software identifier includes the first identifier. A node device corresponding to a software identifier refers to a node device configured with the software package corresponding to the software identifier.

10. A software package update system, characterized in that, The update system includes a server and at least one managed node device communicatively connected to the server; wherein the server is configured to perform the method of any one of claims 1-4, and the managed node device is configured to perform the method of any one of claims 5-7.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1-4 and 5-7.

12. A computer-readable storage medium storing a computer program thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-4 or 5-7.

13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-4 or 5-7.

Citation Information

Patent Citations

  • Software version monitoring method and system, computer and readable storage medium

    CN113656065A

  • Data processing for upgrading medical equipment

    US20160188318A1