Distributed system software upgrading method
By dividing regions in a distributed system and selecting regional virtual servers, the problem of high server-side concurrency and bandwidth requirements of traditional upgrade methods is solved, efficient and stable software upgrades are achieved, and the risk of system upgrade failure caused by server abnormalities is reduced.
Patent Information
- Application Number
- CN202510724677.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2045-06-03
AI Technical Summary
The traditional server-side synchronization upgrade method has high requirements for server-side concurrency and bandwidth, and once a server-side failure or abnormality occurs, it may cause the entire system to be upgraded smoothly.
The distributed system software upgrade method is adopted to classify multiple client nodes into different regions, and the regional multicast address is allocated through the operation and maintenance server. A client node is selected in each region as the regional virtual server, and the upgrade process is monitored and managed in real time, and the regional multicast address is used to disseminate upgrade information, alleviate the pressure on the server side and improve the system's fault tolerance capabilities.
It improves the upgrade efficiency, enhances the stability and fault tolerance of the system, optimizes resource utilization, and ensures that the distributed system can operate stably and efficiently under dynamic changes in nodes.
Smart Images

Figure CN120255934A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of software upgrade, and particularly to a software upgrade method for a distributed system. Background Art
[0002] Software upgrade, as a key measure to ensure the continuous and effective operation of software, meet the diverse needs of users, and enhance security and performance, plays an important role in improving the robustness of the system. In a large-scale system environment, tens of thousands of devices operate in coordination. To ensure the consistency and stability of the overall system functions, these devices usually need to be equipped with software of a unified functional version. Therefore, simultaneous upgrade of multiple devices becomes an important scenario that cannot be avoided in the maintenance and update process of large-scale systems.
[0003] In the traditional server-side synchronous upgrade mode, the software upgrade process follows specific steps. First, the client needs to actively obtain the running environment parameters required for the software to be upgraded from the server. Then, the client embeds the obtained running environment parameters into the upgrade request and sends it to the server. After receiving the upgrade request, the server matches and sends the corresponding client software upgrade package according to the running environment parameters carried in the request. Finally, the client completes the software upgrade operation using the received upgrade package.
[0004] However, in scenarios such as computer rooms where a large number of devices need to be upgraded synchronously, the traditional server-side synchronous upgrade method exposes significant problems. On the one hand, this method places high requirements on the concurrency and bandwidth of the server. Because numerous clients initiate upgrade requests simultaneously, the server needs to have strong concurrent processing capabilities to ensure timely response to each request; at the same time, the transmission of a large number of upgrade packages also requires sufficient bandwidth support. On the other hand, once a failure or anomaly occurs on the server, it is very likely to have a negative impact on the upgrade process of the client, and may even cause the upgrade work of the entire system to fail to proceed smoothly. This high dependence on the server undoubtedly increases the risks and instabilities in the system upgrade process. Summary of the Invention
[0005] This application provides a software upgrade method for a distributed system, aiming to solve the problems that the traditional server-side synchronous upgrade method places high requirements on the concurrency and bandwidth of the server; and once a failure or anomaly occurs on the server, it is very likely to have a negative impact on the upgrade process of the client, and may even cause the upgrade work of the entire system to fail to proceed smoothly.
[0006] In a first aspect, a method for software upgrade of a distributed system is provided. The distributed system includes an operation and maintenance server and multiple client nodes; the multiple client nodes are respectively assigned to different regions, and the operation and maintenance server allocates corresponding regional multicast addresses for each region in an address pool; each client node in each region selects one of the client nodes as the regional virtual server through internal request interaction according to the device resources and network status within the current cycle, and monitors the running status of the regional virtual server in real time within one cycle. When the regional virtual server is abnormal, a new regional virtual server node is re-elected in the current region.
[0007] The method for software upgrade of the distributed system, which is applied to the regional virtual server, includes the following steps A1 - step A3.
[0008] Step A1, receive the upgrade request from the operation and maintenance server, parse the request content, and obtain the upgrade package information from it; at the same time, based on the software version information of all other client nodes stored in itself, determine whether all other client nodes in the current region need to be software-upgraded; if no upgrade is required, feedback to the operation and maintenance server, informing it that the current region is already the latest version and no upgrade operation is needed; if an upgrade is required, initiate a download request to the server according to the server address specified in the upgrade package information to obtain the corresponding upgrade package; wherein, the upgrade package information includes the version number of the upgrade package, the applicable software version range, the summary of the upgrade content, and the download path.
[0009] Step A2, after successfully downloading the upgrade package, verify the integrity of the current upgrade package; if the upgrade package is abnormal, notify the operation and maintenance server, informing it that the upgrade package is abnormal; if the upgrade package is complete and error-free, store the upgrade package in the specified storage location locally, and at the same time update the software version information carried in its own periodic broadcast message to ensure that the software version information transmitted to other client nodes in the current region is the latest state.
[0010] Step A3, after completing the storage of the upgrade package and the update of the software version information, continuously send the latest software version information according to the established cycle through the regional multicast address.
[0011] In the above solution, optionally, the multiple client nodes are respectively assigned to different regions, which specifically includes the following content.
[0012] Preset the number of nodes T of the current distributed system and the maximum number of nodes M in each region; based on the number of nodes T and the maximum number of nodes M, the operation and maintenance server calculates the total number of regions ; at the same time, the operation and maintenance server allocates a unique multicast address for each region in the address pool.
[0013] When the operation and maintenance server receives the online request of any client node, the number of online nodes S will automatically increase, which is used to calculate the partition index value of the client node subsequently; when S is less than N, the operation and maintenance server will partition it in turn according to the online order of the client nodes and notify the current node multicast address to generate an array of optimal nodes in the region , and this array is used to store the comprehensive scores of each node and the corresponding multicast addresses.
[0014] When S is greater than or equal to N, the operation and maintenance server calculates the index value a of the initial assigned region corresponding to the current client node through the formula ; then, for the newly online client node, compare its comprehensive score with the existing nodes in the array R; if the new node has a lower comprehensive score than all the nodes in R, then notify the new node to use the multicast address of region a; if has a higher comprehensive score than some nodes in the array R, then select the node with the lowest score from these nodes , and notify the new node to use 's multicast address, replace the comprehensive score of the node in the array R with , and exchange the elements in the array and and , to ensure that the array R can always reflect the optimal node situation in the current region, thus effectively avoiding the problem of too large performance gap within each region.
[0015] In the above solution, optionally, the comprehensive scoring rule is to comprehensively score by combining the current device load, remaining network bandwidth, packet loss rate, remaining disk capacity, and past election times, calculate the corresponding scores for each node device, and select the node with the highest score as the regional virtual server node; specifically, it includes the following content.
[0016] The evaluation factor set is: .
[0017] The factor weight set: , where represents the weight of factor , and .
[0018] Use the operator: , calculate the average value of in one cycle, where k represents a constant, indicating the number of statistical times in a statistical cycle.
[0019] Use the operator: , calculate the result value of the number of elections in the past statistical cycle.
[0020] Calculate the comprehensive scoring result: Among them, m represents the critical value of the remaining disk capacity.
[0021] In the above solution, optionally, each of the regions selects one client node as the regional virtual server within the current cycle, specifically including the following steps S1 - S6.
[0022] Step S1: Denote any two client nodes in this region as the first client node and the second client node. After the first client node and the second client node complete the region allocation, each obtains the operating system version and software version of its own client node, calculates the comprehensive score of its own client node, and broadcasts it within the regional multicast address according to a predetermined cycle.
[0023] Step S2: After the second client node receives the node information of the first client node, it stores the operating system version and software version number of the first client node, and compares the comprehensive scores of the first client node and its own client node; the second client node determines whether its own client node is eligible to be the regional server of the current region based on the comprehensive score; if eligible, this client acts as the regional server and proceeds to the next step; otherwise, it does not perform other operations and continues to maintain the listening state for the broadcast data of other client nodes.
[0024] Step S3: When the second client acts as the regional server, reorganize the synchronization message of the regional multicast address and add the regional server side identifier.
[0025] Step S4: After the first client node receives the multicast message carried by the second client node with the regional virtual server side identifier, it compares its own client node with the second client node to determine whether its own client node is more suitable to act as the regional virtual server side; if its own client node is more suitable, that is, it disagrees with the identity recognition of the second client node, it sends a notice of failure in the application for the regional virtual server side to the second client; at the same time, update the regional multicast message and designate the regional virtual server side as its own client node; if the second client node is suitable to act as the regional virtual server side, no operation is performed.
[0026] Step S5: When the second client node receives the message of failure in the application for the regional virtual server side sent by the first client node, the second client immediately stops sending the regional server side identifier in the regional multicast address and turns to the receiving state, waiting for subsequent relevant information.
[0027] Step S6: When the second client node is in the receiving state and receives the area server request broadcast from the first client node, it starts the timed link detection function. During the detection process, if the first client node is detected to be offline, the process of steps S2 - S5 is repeated to re - determine the area server; if the second client node is not detected to be offline, it continues to listen for the broadcast information of the area multicast address.
[0028] In the above solution, optionally, within an election cycle, unless the node serving as the area server changes, no new node will be re - elected as the area server.
[0029] In the above solution, optionally, the area virtual server further includes: receiving the upgrade results reported by each client node in real - time, regularly summarizing and sorting them, and reporting to the operation and maintenance server at a predetermined time interval.
[0030] In the above solution, optionally, the operation and maintenance server monitors and analyzes the upgrade results of each node reported by the area server in real - time. After an anomaly occurs, the operation and maintenance server notifies the operation and maintenance personnel for manual intervention.
[0031] In the above solution, optionally, the verification of the integrity of the current upgrade package includes: verifying the integrity of the current upgrade package using the crc verification method: by calculating the cyclic redundancy check code of the upgrade package data and comparing it with the preset verification value to determine whether there is an abnormal situation of data loss or damage during the transmission of the upgrade package.
[0032] In a second aspect, a method for software upgrade of a distributed system is provided. The distributed system includes an operation and maintenance server and multiple client nodes; the multiple client nodes are respectively assigned to different areas, and the operation and maintenance server assigns corresponding area multicast addresses to each area in the address pool; each client node in each area jointly elects one of the client nodes as the area virtual server according to the device resources and network status within the current cycle, and monitors the running status of the area virtual server in real - time within a cycle. When the area virtual server is abnormal, a new area virtual server node is re - elected in the current area.
[0033] The method for software upgrade of the distributed system, applied to any other client node except the one serving as the area virtual server, includes the following steps B1 - B3.
[0034] Step B1: The area virtual server continuously broadcasts the upgrade package information on the area broadcast address according to a preset cycle.
[0035] In step B2, the client node receives an upgrade request from the regional virtual server, compares its current software version with the version requirement specified in the upgrade package information, and determines whether it needs to be upgraded. If no upgrade is required, a feedback message is sent to the regional virtual server to inform it that no upgrade is required. If an update is required, a download request is initiated to the server based on the specified server address provided in the upgrade package information to obtain the corresponding upgrade package.
[0036] Step B3, after successfully downloading the upgrade package, verify the integrity of the upgrade package; if there is an abnormality in the upgrade package, send a notification to the regional virtual server to inform it that the upgrade package has an abnormality; if the upgrade package is complete and correct, start the software upgrade operation according to the established upgrade process; after the software upgrade is completed, report the upgrade result to the regional virtual server.
[0037] In the above scheme, further optionally, the regional virtual server continuously broadcasts the upgrade package information on the regional broadcast address according to a preset period, and the broadcast information includes detailed information of the upgrade package, status information of the regional virtual server and an upgrade request; the client node receives the broadcast information from the regional virtual server, parses the broadcast information, and extracts detailed information of the upgrade package and the upgrade request; the client node determines whether it needs to perform an upgrade operation based on the upgrade request.
[0038] Compared with the prior art, the present application has at least the following beneficial effects.
[0039] Based on further analysis and research on existing technical problems, this application recognizes that the traditional server-side synchronous upgrade method places high demands on the concurrency and bandwidth of the server; and once a failure or abnormality occurs on the server, it is very likely to have a negative impact on the upgrade process of the client, and may even cause the upgrade of the entire system to be unable to proceed smoothly. Through regional division and multicast address allocation by the operation and maintenance server, the client recommends the regional server according to the comprehensive scoring rules, the regional server receives the upgrade request and manages the upgrade package, and monitors the upgrade process through a real-time feedback mechanism. This application significantly improves the upgrade efficiency, enhances the system's fault tolerance, and optimizes resource utilization, thereby achieving efficient, stable and reliable distributed system software upgrade effects.
[0040] The present application also provides a method for recommending regional servers of a distributed system, which realizes technical effects such as efficient recommendation of regional servers, dynamic adjustment and fault tolerance, real-time monitoring and feedback, and optimization of resource utilization through technical means such as clients joining regions and broadcasting their own information, receiving and comparing node information, dynamically recommending regional servers, and performing timed link detection and re-election, thereby ensuring that the distributed system can operate stably and efficiently when nodes change dynamically.
[0041] In the election decision-making dimension, this solution breaks through the limitations of traditional single indicators or weighted averages and innovatively constructs a four-dimensional evaluation model. On the basis of incorporating real-time performance parameters such as equipment idle rate, remaining bandwidth, and transmission success rate, "the number of elected times within a statistical period" is introduced as a historical stability indicator. Through the time-series data smoothing algorithm, weighted processing is performed on instantaneous resource fluctuations, effectively avoiding election biases caused by sudden network traffic and temporary equipment failures, and significantly improving the scientificity and sustainability of election results.
[0042] This application also has the following advantages.
[0043] 1. Using the regional division mechanism, reasonable partitioning can be achieved according to various factors.
[0044] 2. The cluster head election algorithm that comprehensively considers multiple factors ensures the selection of a suitable cluster head, and the upgrade pressure is shared by the regional servers instead of the traditional central server.
[0045] 3. The regional server can be elected in real time. When the original server is abnormal, a new server can be quickly elected to avoid other devices in the system being unable to be upgraded due to server abnormalities.
[0046] 4. Each upgrade client reports the upgrade results in real time. Compared with the traditional upgrade method, it can accurately locate abnormal devices and reduce labor and time costs.
[0047] 5. Adopting a dynamic adaptive election strategy, through periodic monitoring of the activity indicators and pressure parameters of the cluster head nodes, real-time health assessment of the cluster head nodes is achieved. When it is detected that the node performance deteriorates or the load is overloaded, the system automatically triggers the re-election process to ensure that the cluster head role is always borne by the optimal node. Brief Description of the Drawings
[0048] Figure 1 It is a flowchart of a method for software upgrade of a distributed system provided by an embodiment of this application.
[0049] Figure 2 It is a software upgrade deployment diagram provided by an embodiment of this application.
[0050] Figure 3 It is a flowchart of the election area server side provided by an embodiment of this application.
[0051] Figure 4 It is a flowchart of the regional server upgrade provided by an embodiment of this application.
[0052] Figure 5 It is a regional client upgrade process provided by an embodiment of this application. Detailed Embodiments
[0053] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0054] In the description of the present application: Unless otherwise specified, "a plurality of" means two or more. Terms such as "first", "second", "third", etc. in the present application are intended to distinguish the objects being referred to and do not have special significance in terms of technical connotations (for example, it should not be understood as emphasizing the importance level or order, etc.). Expressions such as "including", "comprising", "having", etc. also mean "not limited to" (certain units, components, materials, steps, etc.).
[0055] In view of the problems existing in the traditional server-side synchronous upgrade method as described in the background art, the present application proposes a high-efficiency software upgrade method applicable to a distributed system. This method aims to solve the problem of dependence on high concurrency and high bandwidth on the server side. Through an innovative upgrade architecture, the pressure on the server side during the synchronous upgrade of a large number of devices is reduced. At the same time, the present application also aims to avoid the problem of client upgrade failure caused by server-side exceptions, enhance the stability and reliability of system upgrades, and ensure that the client can successfully complete software upgrades under various circumstances.
[0056] In one embodiment, a method for software upgrade of a distributed system is provided. The distributed system includes an operation and maintenance server and a plurality of client nodes; the plurality of client nodes are respectively assigned to different regions, and the operation and maintenance server will allocate corresponding regional multicast addresses for each region in the address pool; each client node in each region, according to the device resources and network status during the current cycle, jointly elects one of the client nodes as the regional virtual server through internal request interaction, and monitors the running status of the regional virtual server in real time within one cycle. When the regional virtual server is abnormal, a new regional virtual server node is re-elected in the current region.
[0057] The method for software upgrade of a distributed system, applied to a regional virtual server, includes the following steps A1 - step A3.
[0058] Step A1: Receive an upgrade request from the operation and maintenance server, parse the request content, and obtain the upgrade package information therefrom. At the same time, based on the software version information of all other client nodes stored locally, determine whether all other client nodes in the current area need to be software-upgraded. If no upgrade is required, feedback to the operation and maintenance server, informing it that the current area is already the latest version and no upgrade operation is needed. If an upgrade is required, initiate a download request to the server at the server address specified in the upgrade package information to obtain the corresponding upgrade package. The upgrade package information includes the version number of the upgrade package, the applicable software version range, a summary of the upgrade content, and the download path.
[0059] Step A2: After successfully downloading the upgrade package, verify the integrity of the current upgrade package. If there is an abnormality in the upgrade package, notify the operation and maintenance server, informing it that there is an abnormality in the upgrade package. If the upgrade package is intact, store the upgrade package in the specified storage location locally, and at the same time update the software version information carried in its periodic broadcast message to ensure that the software version information transmitted to other client nodes in the current area is in the latest state.
[0060] Step A3: After completing the storage of the upgrade package and the update of the software version information, continuously send the latest software version information at a fixed period through the regional multicast address.
[0061] In this embodiment, the present application proposes a new method for software upgrading of a distributed system. By introducing the concept of "regional virtual server", the upgrade tasks are dispersed to each area, reducing the pressure on the operation and maintenance server. Using the regional multicast address for the dissemination of upgrade information improves the efficiency of information transmission and reduces the occupancy of network bandwidth. Through the local storage and verification mechanism, the integrity and reliability of the upgrade package are ensured, avoiding upgrade failures caused by server-side abnormalities.
[0062] The present application proposes a method for software upgrading of a distributed system. By introducing regional virtual servers and multicast technology, the problems existing in traditional upgrading methods are solved, improving the upgrade efficiency and stability, and being applicable to the software upgrade scenarios of large-scale distributed systems.
[0063] In one embodiment, multiple client nodes are respectively assigned to different areas, specifically including the following content.
[0064] Preset the number of nodes T in the current distributed system and the maximum number of nodes M in each area. Based on the number of nodes T and the maximum number of nodes M, the operation and maintenance server calculates the total number of areas ; At the same time, the operation and maintenance server assigns a unique multicast address to each area from the address pool.
[0065] When the operation and maintenance server receives the online request of any client node, the number of online nodes S will automatically increase, which is used to calculate the partition index value of the client node subsequently; when S is less than N, the operation and maintenance server will partition it in turn according to the online order of the client nodes and notify the current node multicast address to generate an array of the optimal nodes in the region This array is used to store the comprehensive scores of each node and the corresponding multicast addresses.
[0066] When S is greater than or equal to N, the operation and maintenance server calculates the index value a of the initial assigned region corresponding to the current client node through the formula Then, for the newly online client node, compare its comprehensive score with the existing nodes in the array R; if the new node has a comprehensive score lower than all the nodes in R, the new node will be notified to use the multicast address of region a; if has a comprehensive score higher than some nodes in the array R, select the node with the lowest score from these nodes , and notify the new node to use the multicast address, replace the comprehensive score of the node in the array R with , and exchange the elements in the array and and to ensure that the array R can always reflect the optimal node situation in the current region, thus effectively avoiding the problem of too large performance gap in each region.
[0067] In this embodiment, assume that there are the following parameters in the system: the total number of nodes T = 10, the maximum number of nodes in each region M = 3; then the total number of regions . The operation and maintenance server will perform region partitioning according to the following steps.
[0068] Client 1 goes online: S = 1. Since S < N (1 < 4), the operation and maintenance server assigns Client 1 to region 1 and notifies Client 1 to use the multicast address of region 1.
[0069] Client 4 goes online: S = 4. Since S = N (4 = 4), the operation and maintenance server calculates the partition index value a = 4 % 4 = 4 ÷ 4 = 1 remainder 0, assigns Client 4 to region 4, and notifies Client 4 to use the multicast address of region 4.
[0070] When the 5th client goes online: the number of online nodes S = 5.
[0071] Calculate the index value a of the current region: a = 5 % 4 = 5 ÷ 4 = 1 remainder 1; % is an arithmetic symbol, usually representing the "modulo" operation. The result of the modulo operation is the remainder after two numbers are divided.
[0072] Therefore, the index value a of the current area is 1, that is, the 5th client is initially assigned to area 1.
[0073] If the 6th client goes online: the number of online nodes S = 6.
[0074] Calculate the index value a of the current area: a = 6 % 4 = 6 ÷ 4 = 1 remainder 2.
[0075] Therefore, the index value a of the current area is 2, that is, the 6th client is initially assigned to area 2.
[0076] Suppose the comprehensive scores of the nodes in array R are as follows: Node 1: 80; Node 2: 75; Node 3: 90; Node 4: 85.
[0077] The new Node 5 goes online, and its comprehensive score is 95. The system performs the following operations.
[0078] Compare the comprehensive scores: The comprehensive score of Node 5 (95) is higher than the comprehensive scores of some nodes in array R (80, 75, 85).
[0079] Select the node with the lowest score: Select the node with the lowest comprehensive score from these nodes (Node 2, comprehensive score 75).
[0080] Notify the new node: Notify Node 5 to use the multicast address of the current area.
[0081] Update array R: Replace the comprehensive score of Node 2 in array R with the comprehensive score of Node 5 (95), and update the elements in array R.
[0082] The updated array R: Node 1: 80; Node 5: 95; Node 3: 90; Node 4: 85.
[0083] In this embodiment, the area division not only considers the device online order, but also combines the comprehensive scores of multiple factors such as the current load of the device, network bandwidth, packet loss rate, and disk capacity to ensure that the node performance in each area is relatively balanced. The area division is dynamic. As new devices go online or existing devices go offline, the system will recalculate and adjust the area division to ensure the stability and efficiency of the system. By reasonably allocating nodes to different areas, it avoids overloading some areas while underloading other areas, and optimizes the resource utilization efficiency of the entire system.
[0084] The area division method in this application realizes load balancing and performance optimization by combining the comprehensive scores of multiple factors and the dynamic adjustment mechanism. This division method not only considers the device online order, but also combines the current performance status of the device to ensure that the node performance in each area is relatively balanced, thereby improving the efficiency and stability of the entire distributed software upgrade system.
[0085] In one embodiment, a comprehensive score is calculated by combining the current device load, remaining network bandwidth, packet loss rate, remaining disk capacity, and past election times, and the corresponding scores are calculated for each node device, and the node with the highest score is selected as the regional virtual server node; the specific content is as follows.
[0086] The evaluation factor set is: .
[0087] Factor weight set: Among them, represents the weight of factor , and .
[0088] Use the operator: , calculate the average value of within one period, where k represents a constant and represents the number of statistical times within a statistical period.
[0089] Use the operator: , calculate the result value of the number of election times in the past one statistical period.
[0090] Calculate the comprehensive score result: where m represents the critical value of the remaining disk capacity.
[0091] In one embodiment, each region selects one of the client nodes as the regional virtual server in the current period, specifically including the following steps S1 - step S6.
[0092] Step S1, mark any two client nodes in this region as the first client node and the second client node. After the first client node and the second client node complete the region allocation, they respectively obtain the operating system version and software version of this client node, calculate the comprehensive score of this client node, and broadcast it within the region multicast address according to a predetermined period.
[0093] Step S2, after the second client node receives the node information of the first client node, it stores the operating system version and software version number of the first client node, and compares the comprehensive scores of the first client node and this client node; the second client node determines whether this client node is eligible to be the regional server of the current region according to the comprehensive score; if eligible, this client serves as the regional server and proceeds to the next operation; otherwise, no other operation is performed, and the listening state for broadcasting data from other client nodes is continued.
[0094] Step S3, when the second client serves as the regional server, reorganize the synchronization message of the region multicast address and add the regional server side identifier.
[0095] Step S4, after the first client node receives the multicast message carried with the regional virtual server identifier sent by the second client node, it compares the local client node with the second client node to determine whether the local client node is more suitable than the second client node to act as the regional virtual server. If the local client node is more suitable, that is, it does not agree with the identity determination of the second client node, it will send a notice of failure in applying for the regional virtual server to the second client. At the same time, it updates the regional multicast message and designates the regional virtual server as the local client node. If the second client node is suitable to act as the regional virtual server, no operation is performed.
[0096] Step S5, when the second client node receives the message of failure in applying for the regional virtual server sent by the first client node, the second client immediately stops sending the regional server identifier at the regional multicast address and instead enters the receiving state, waiting for subsequent relevant information.
[0097] Step S6, in the receiving state, after the second client node receives the broadcast of the regional server request sent by the first client node, it starts the timed link detection function. During the detection process, if it detects that the first client node is offline, it repeats the process of Step S2 - Step S5 to re-determine the regional server. If it does not detect that the second client node is offline, it continues to listen for the broadcast information of the regional multicast address.
[0098] In this embodiment, the upgrade and election are controlled by two processes. If during the upgrade process, it happens to cross the time node for re-electing the regional server, the original regional server can be used without affecting the election. After the upgrade is completed, the newly elected regional server is used.
[0099] The version information is sent down by multicast. After the election, non-regional servers will exit the listening address of the operation and maintenance server and instead listen to the multicast address after the election, that is, the regional server receives the multicast message of the operation and maintenance server, and the regional client receives the multicast message of the regional server. What is sent down by multicast is all upgrade package information, and the upgrade package is downloaded through an ftp server.
[0100] The regional server verifies and stores the upgrade package and then performs the upgrade. The upgrade software is independent of the system software, so the upgrade of the system software will not affect the information synchronization of this software.
[0101] In this embodiment, the "first client node" and the "second client node" are only exemplary terms used to describe the functions and tasks of different client nodes in the process of electing a regional virtual server. They do not limit the specific number of client nodes, nor do they mean that the identities or roles of the client nodes are fixed. In fact, any client node can undertake the functions of the "first client node" or the "second client node", and these functions can be dynamically switched between different client nodes.
[0102] In one embodiment, within an election cycle, unless the node serving as the regional server changes, no node will be re-elected as the regional server.
[0103] In one embodiment, the regional virtual server further includes: receiving the upgrade results reported by each client node in real time, periodically summarizing and organizing them, and reporting them to the operation and maintenance server at a predetermined time interval.
[0104] In one embodiment, the operation and maintenance server monitors and comprehensively analyzes the upgrade results of each node reported by the regional server in real time. After an anomaly occurs, the operation and maintenance server notifies the operation and maintenance personnel for manual intervention.
[0105] In one embodiment, verifying the integrity of the current upgrade package includes: verifying the integrity of the current upgrade package using the CRC verification method: by calculating the cyclic redundancy check code of the upgrade package data and comparing it with a preset verification value to determine whether anomalies such as data loss or damage occurred during the transmission of the upgrade package.
[0106] In this embodiment, the CRC verification method is only an exemplary description and not a specific limitation on the verification scheme. The user can select any suitable verification method according to actual needs, such as MD5, SHA-1, SHA-256, SHA-512, HMAC, or any other verification algorithm that can ensure data integrity. This application does not limit the specific verification method, and all methods that can achieve data integrity verification are within the protection scope of this application.
[0107] In one embodiment, the distributed system includes an operation and maintenance server and multiple client nodes; characterized in that the multiple client nodes are respectively assigned to different regions, and the operation and maintenance server assigns a corresponding regional multicast address to each region in the address pool; each client node in each region jointly elects one of the client nodes as the regional virtual server according to the device resources and network status within the current cycle, and monitors the running status of the regional virtual server in real time within one cycle. When the regional virtual server is abnormal, a new regional virtual server node is re-elected in the current region.
[0108] A method for software upgrade of a distributed system, which is applied to any other client node except for being used as a regional virtual server, includes the following steps B1 to B3.
[0109] Step B1, the regional virtual server continuously broadcasts upgrade package information on the regional broadcast address at a preset period.
[0110] Step B2, the client node receives an upgrade request from the regional virtual server, compares its current software version with the version requirements specified in the upgrade package information to determine whether it needs to perform an upgrade operation; if no upgrade is required, it sends a feedback message to the regional virtual server to inform it that no upgrade operation is needed; if an update is required, it initiates a download request to the specified server according to the specified server address provided in the upgrade package information to obtain the corresponding upgrade package.
[0111] Step B3, after successfully downloading the upgrade package, verify the integrity of the upgrade package; if there is an abnormality in the upgrade package, send a notice to the regional virtual server to inform it that there is an abnormality in the upgrade package; if the upgrade package is intact, start the software upgrade operation according to the established upgrade process; after the software upgrade is completed, report the upgrade result to the regional virtual server.
[0112] In one embodiment, the regional virtual server continuously broadcasts upgrade package information on the regional broadcast address at a preset period, and the broadcast information includes the detailed information of the upgrade package, the status information of the regional virtual server, and the upgrade request; the client node receives the broadcast information from the regional virtual server, parses the broadcast information, and extracts the detailed information of the upgrade package and the upgrade request; the client node determines whether it needs to perform an upgrade operation according to the upgrade request.
[0113] The solution of the present application is described in detail from another perspective below.
[0114] In the prior art, the upgrade of the client seriously depends on the status of the central server. Once the server runs abnormally, the entire system cannot complete the upgrade. In the present invention, each client is assigned to different regions by the operation and maintenance center, and a virtual server is elected in each region to achieve distributed software upgrade.
[0115] The software upgrade deployment diagram is as Figure 2 shown.
[0116] First, the operation and maintenance personnel configure the current system scale on the operation and maintenance server and preset the maximum capacity tolerable in the upgrade area.
[0117] After each client device node is powered on, the upgrade module sends an online request to the operation and maintenance server, and then waits for the server to return the corresponding multicast address, which is used for communication between devices in the region.
[0118] The client upgrade module recommends server - side nodes in each region according to specific recommendation rules. For example, in Region 1, Node 3 is recommended as the server - side, and in Region 2, Node 8 is recommended as the server - side.
[0119] On the operation and maintenance server side, the operation and maintenance personnel upload the upgrade package to the central upgrade module through manual operations. At the same time, with the help of the operation and maintenance interface, the operation and maintenance personnel can detect the system upgrade progress and whether there are any abnormal situations in real - time.
[0120] The region - division algorithm is divided into two stages, as follows.
[0121] Stage 1 (prepare): The operation and maintenance personnel, with the help of the operation and maintenance server, set the current number of system nodes T and the maximum number of nodes M in each region. Based on the set parameters, the operation and maintenance server then calculates the total number of regions . At the same time, the server assigns a unique multicast address to each region in the address pool.
[0122] Stage 2 (distribute): When a device online request is received, the number of online nodes S will automatically increase, which is used for subsequent calculation of the partition index value of the device. When S is less than N, the system will partition the devices in sequence according to the device online order, notify the current node of the multicast address, and generate an array of optimal nodes for the region , which is used to store the comprehensive score of each node and the corresponding multicast address.
[0123] When S is greater than or equal to N, the system calculates the index value a of the current region through the formula . At this time, for newly - online nodes, the system will compare their comprehensive scores with the comprehensive scores of the existing nodes in the array R. If the new node has a comprehensive score lower than all the nodes in R, it will be notified to use the multicast address of region a; if has a comprehensive score better than some of the nodes in the array R, the node with the lowest score will be selected from these nodes , and the new node will be notified to use 's multicast address, and at the same time, the comprehensive score of the node in the array R will be replaced with , and the elements in the array will be exchanged and to ensure that the array R can always reflect the optimal nodes in the current region, thus effectively avoiding the problem of excessive performance gaps within each region and maintaining the efficient and stable operation of the overall system.
[0124] Regional Server Election Algorithm: Comprehensive scoring is carried out by combining several factors such as the current device load, remaining network bandwidth, packet loss rate, remaining disk capacity, and past election times. Specifically, by considering these factors, corresponding scores are calculated for each node device, and then the node with the highest score is selected as the server node. And within an election cycle, unless the network nodes change, the election will not be re-conducted. This election mechanism ensures the stability of the regional server within a certain period of time, and can also be flexibly adjusted according to the actual network situation to ensure that the system upgrade tasks can be carried out efficiently and stably. The specific algorithm implementation is as follows.
[0125] Evaluation Factor Set: 。
[0126] Given that the server node undertakes the important tasks of storing the node information and software upgrade packages in the current region, in order to effectively avoid a large number of memory operations caused by frequent node replacements, and prevent unnecessary repeated downloads of software upgrade packages, when evaluating the nodes, the number of times a node has been elected in the past cycle has become one of the key and indispensable evaluation factors.
[0127] Factor Weight Set Among them, represents the weight of factor and 。
[0128] Use the operator to calculate the average value of within one cycle, where k is a constant representing the number of statistical times within a statistical cycle.
[0129] Use the operator to calculate the result value of the number of times elected in the past statistical cycle.
[0130] Calculate the comprehensive scoring result where m is the critical value of the remaining disk capacity.
[0131] The flowchart of the election on the regional server side is as Figure 3 shown.
[0132] Step 101, after the area allocation of Client 1 and Client 2 is completed, each obtains the operating system version and software version of its own node, and at the same time calculates the comprehensive score of its own node, and then broadcasts according to the established cycle using the area multicast address allocated during the area division. In this process, only the nodes within the range of the area multicast address can receive the broadcast node information.
[0133] Step 102, after Client 2 receives the node information of Client 1, it stores the operating system version and software version number of Client 1. Immediately afterwards, it compares the comprehensive scores of the remote node and its own node to determine whether its own node is eligible to be the regional server in the current area. If the judgment result is yes, it proceeds to the next operation; if the judgment result is no, it does not perform any other additional operations and continues to maintain the listening state for the broadcast data of other nodes.
[0134] Step 103, Client 2 reorganizes the synchronization message of the regional multicast address. During the reorganization process, it adds the regional server identifier to indicate its special role in this area.
[0135] Step 104, after Client 1 receives the multicast message carried by Client 2 with the regional server identifier, it compares itself with Client 2 to determine whether it is more suitable than Client 2 to serve as the regional server. If Client 1 believes that it is more suitable, that is, it does not agree with the identity recognition of Client 2, it sends a notice of failure in the application for the regional server to Client 2. At the same time, it updates the regional multicast message and designates the regional server as Client 1; if Client 1 believes that Client 2 is suitable to serve as the regional server, it does not perform any operations.
[0136] Step 105, after Client 2 receives the failure response message sent by Client 1, it immediately stops sending the regional server identifier in the regional multicast address and turns to the receiving state, waiting for subsequent relevant information.
[0137] Step 106, in the receiving state, after Client 2 receives the broadcast of the regional server request from Client 1, it starts the timed link detection function. During the detection process, if it detects that Client 1 is offline, then it repeats the processes of Step 104 and Step 105 to re-determine the regional server; if it does not detect that Client 1 is offline, it continues to execute Step 102 and continuously monitors the broadcast information of the regional multicast address.
[0138] The regional server upgrade process is as Figure 4 shown.
[0139] Step 201, the operation and maintenance personnel log in to the operation and maintenance server through the browser and upload the upgrade package to the specified location. After the upload is completed, in the central upgrade module, the key information of the upgrade package is configured in detail, including the upgrade package version, the applicable operating system type, and the upgrade package download address, etc.
[0140] Step 202, after the central upgrade module completes the configuration of the upgrade package information, it uses the default multicast address as the transmission channel and continuously and stably sends the upgrade package information to each node in the network at a preset cycle. Through this periodic broadcast method, it ensures that all potential receiving nodes have the opportunity to obtain the latest upgrade package information and timely know the upgrade dynamics of the system.
[0141] Step 203, the regional server side generated by specific recommendation rules before, after receiving the upgrade request from the central upgrade module, quickly parses the request content to obtain the detailed information of the upgrade package. At the same time, the regional server side judges whether there are nodes in the current area that need to upgrade the software version based on the software version information of all neighbor nodes stored by itself. If it is judged that the software versions of all nodes in the current area are the latest and do not need to be upgraded, the regional server side immediately feedbacks to the central upgrade module, informing it that this area is already the latest version and no upgrade operation is required; if it is judged that there are nodes that need to be upgraded, the regional server side initiates a download request to the server according to the server address specified in the upgrade package information to obtain the corresponding upgrade package.
[0142] Step 204, after the regional server side successfully downloads the upgrade package, it immediately uses the crc check method to check the integrity of the current upgrade package. The crc check calculates the cyclic redundancy check code of the upgrade package data and compares it with the preset check value to judge whether there are abnormal situations such as data loss or damage during the transmission of the upgrade package. If the check result shows that the upgrade package is abnormal, the regional server side will immediately notify the central upgrade module, informing it of the abnormal situation of the upgrade package. After receiving the notice, the central upgrade module is responsible for summarizing all relevant abnormal information and reporting this information to the operation and maintenance center so that the operation and maintenance personnel can timely understand the situation and take corresponding solutions; if the check result indicates that the upgrade package is intact, the regional server side stores the upgrade package in the specified storage location locally and at the same time updates the software version information carried in its own periodic broadcast message to ensure that the software version information transmitted to other nodes is the latest state.
[0143] Step 205, after the regional server side completes the storage of the upgrade package and the update of the software version information, it continuously sends the latest software version information at a fixed cycle through the regional multicast address. Other node clients in the area, after receiving this broadcast message, judge whether their software versions need to be updated based on the message content, and then officially enter the client upgrade process to start their respective software upgrade operations.
[0144] The regional client upgrade process is as Figure 5 shown.
[0145] Step 301, the regional server continuously broadcasts upgrade package information on the regional multicast address according to the system - set period. This information covers key data such as the version number of the upgrade package, the applicable software version range, the summary of the upgrade content, and the download path.
[0146] Step 302, after receiving the upgrade request from the regional server, the client compares its current software version with the version requirements specified in the upgrade package information to determine whether an update is needed. If it is confirmed through comparison that the client's current version is the latest and no upgrade is required, the client sends a feedback message to the regional server, informing it that no upgrade operation is needed; if it is determined that the current version needs to be updated, the client initiates a download request to the specified server address provided in the upgrade package information to obtain the corresponding upgrade package.
[0147] Step 303, after the client successfully downloads the upgrade package, it immediately uses the crc verification method to verify the integrity of the upgrade package. If the verification result shows that the upgrade package is abnormal, the client will immediately send a notice to the regional server, informing it that the upgrade package is abnormal; if the verification result indicates that the upgrade package is intact, the client starts the software upgrade operation according to the established upgrade process. After the software upgrade is completed, the client reports the upgrade result to the regional server.
[0148] Step 304, after receiving the upgrade results reported by each client, the regional server will regularly summarize and collate these results and report them to the operation and maintenance server at a predetermined time interval.
[0149] Step 305, the operation and maintenance server monitors and summarizes and analyzes the upgrade results of each node reported by the regional server in real - time. After an abnormality occurs, the operation and maintenance server will notify the operation and maintenance personnel for manual intervention. The operation and maintenance personnel can take targeted measures according to the specific situation to remotely diagnose and repair the problematic client to ensure that the entire software upgrade process can be completed smoothly and guarantee the stable operation of the system.
[0150] This application can be applied to fields such as distributed system software upgrade and resource synchronization.
[0151] This application has the following advantages.
[0152] 1. Using the regional division mechanism, reasonable partitioning can be achieved according to multiple factors.
[0153] 2. The cluster - head election algorithm that comprehensively considers multiple factors ensures the selection of a suitable cluster - head, and the upgrade pressure is shared from the traditional central server to each regional server.
[0154] 3. The regional server can be recommended in real time. When the original server is abnormal, a new server can be quickly recommended to avoid the situation that other devices in the system cannot be upgraded due to the server abnormality.
[0155] 4. Each upgrade client reports the upgrade result in real time. Compared with the traditional upgrade method, it can accurately locate abnormal devices and reduce labor and time costs.
[0156] 5. Adopt a dynamic adaptive election strategy. By periodically monitoring the activity index and pressure parameters of the cluster head node, the real-time health assessment of the cluster head node is realized. When it is detected that the node performance deteriorates or the load is overloaded, the system automatically triggers the re-election process to ensure that the cluster head role is always borne by the optimal node.
[0157] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.
Claims
1. A method for software upgrade of a distributed system, the distributed system including an operation and maintenance server and a plurality of client nodes; characterized in that, The multiple client nodes are respectively assigned to different regions, and the operation and maintenance server will assign corresponding regional multicast addresses to each region in the address pool; each client node in each region, according to the device resources and network status within the current cycle, jointly elects one of the client nodes as the regional virtual server through internal request interaction, and monitors the running status of the regional virtual server in real time within one cycle. When the regional virtual server is abnormal, a new regional virtual server node is re-elected in the current region; The distributed system software upgrade method, applied to the regional virtual server, includes: Receiving an upgrade request from the operation and maintenance server, parsing the request content, and obtaining the upgrade package information therefrom; at the same time, based on the software version information of all other client nodes stored by itself, determining whether all other client nodes in the current region need to be software-upgraded; if no upgrade is required, feedback to the operation and maintenance server, informing it that the current region is already the latest version and no upgrade operation is needed; if an upgrade is required, initiate a download request to the server according to the server address specified in the upgrade package information to obtain the corresponding upgrade package; wherein, the upgrade package information includes the version number of the upgrade package, the applicable software version range, the summary of the upgrade content, and the download path; After successfully downloading the upgrade package, verify the integrity of the current upgrade package; if the upgrade package is abnormal, notify the operation and maintenance server, informing it that the upgrade package is abnormal; if the upgrade package is complete and error-free, store the upgrade package in the specified storage location locally, and at the same time update the software version information carried in its own periodic broadcast message to ensure that the software version information transmitted to other client nodes in the current region is the latest status; After completing the storage of the upgrade package and the update of the software version information, continuously send the latest software version information according to the established period through the regional multicast address.
2. The distributed system software upgrade method according to claim 1, characterized in that The multiple client nodes are respectively assigned to different regions, specifically including: Preset the number of nodes T in the current distributed system and the maximum number of nodes M in each area; based on the number of nodes T and the maximum number of nodes M, the operation and maintenance server calculates the total number of areas ; at the same time, the operation and maintenance server assigns a unique multicast address to each area in the address pool; When the operation and maintenance server receives the online request of any client node, the number of online nodes S will automatically increase, which is used to calculate the partition index value of the client node subsequently; when S is less than N, the operation and maintenance server will partition it in sequence according to the online order of the client nodes and notify the current node multicast address to generate an array of the optimal nodes in the region , this array is used to store the comprehensive score of each node and the corresponding multicast address; When S is greater than or equal to N, the operation and maintenance server calculates the index value a of the initial assigned area corresponding to the current client node through the formula ; then, for the newly online client node, compare its comprehensive score with the existing nodes in the array R; if the comprehensive score of the new node is lower than all the nodes in R, notify the new node to use the multicast address of area a; if 's comprehensive score is higher than some nodes in the array R, select the node with the lowest score from these nodes , and notify the new node to use the multicast address of , replace the comprehensive score of the node in the array R with , and exchange the elements in the array and and , so as to ensure that the array R can always reflect the optimal node situation of the current area, thus effectively avoiding the problem of too large performance gap within each area.
3. The distributed system software upgrade method according to claim 1, wherein Combining the current device load, remaining network bandwidth, packet loss rate, remaining disk capacity, and past election times for comprehensive scoring, calculating corresponding scores for each node device, and selecting the node with the highest score as the regional virtual server node; specifically including: The evaluation factor set is: ; The factor weight set: ; Among them, represents the weight of factor , and ; Using operator: ; Calculation The average value within one period, where k represents a constant and represents the number of statistical times within a statistical period; Using operator: ; Calculating the result value of the election times within the past statistical cycle; Calculating the comprehensive scoring result: ; Where m represents the critical value of the remaining disk capacity.
4. The distributed system software upgrade method according to claim 3, wherein Each region elects one of the client nodes as the regional virtual server within the current cycle, specifically including: S1, Denote any two client nodes in the current region as the first client node and the second client node. After the first client node and the second client node complete the regional assignment, each obtains the operating system version and software version of its own client node, calculates the comprehensive score of its own client node, and broadcasts it within the regional multicast address according to the established period; S2. After the second client node receives the node information of the first client node, it stores the operating system version and software version number of the first client node, and compares the comprehensive scores of the first client node and its own client node. The second client node determines whether its own client node is eligible to be the regional server in the current area based on the comprehensive score. If eligible, the client acts as the regional server and proceeds to the next step. Otherwise, it does not perform other operations and continues to maintain the listening state for the broadcast data of other client nodes. S3. When the second client acts as the regional server, it reorganizes the synchronization message of the regional multicast address and adds the regional server-side identifier. S4. After the first client node receives the multicast message carried by the second client node with the regional virtual server-side identifier, it compares its own client node with the second client node to determine whether its own client node is more suitable to act as the regional virtual server-side. If its own client node is more suitable, that is, it disagrees with the identity determination of the second client node, it sends a notice of failure in the application for the regional virtual server-side to the second client. At the same time, it updates the regional multicast message and designates its own client node as the regional virtual server-side. If the second client node is suitable to act as the regional virtual server-side, it does not perform any operations. S5. When the second client node receives the message of failure in the application for the regional virtual server-side sent by the first client node, the second client immediately stops sending the regional server-side identifier at the regional multicast address and turns to the receiving state, waiting for subsequent relevant information. S6. In the receiving state, when the second client node receives the broadcast of the regional server-side request from the first client node, it starts the timed link detection function. During the detection process, if it detects that the first client node is offline, it repeats the process from step S2 to step S5 to re-determine the regional server-side. If it does not detect that the second client node is offline, it continues to listen to the broadcast information of the regional multicast address.
5. The distributed system software upgrade method according to claim 1, characterized in that Within an election cycle, unless the node acting as the regional server changes, no node will be re-elected as the regional server.
6. The distributed system software upgrade method according to claim 1, wherein The regional virtual server further includes: receiving the upgrade results reported by each client node in real time, summarizing and organizing them regularly, and reporting them to the operation and maintenance server at a predetermined time interval.
7. The distributed system software upgrade method according to claim 6, characterized in that, The operation and maintenance server monitors and summarizes and analyzes the upgrade results of each node reported by the regional server in real time. After an anomaly occurs, the operation and maintenance server notifies the operation and maintenance personnel for manual intervention.
8. The distributed system software upgrade method according to claim 1, characterized in that The verification of the integrity of the current upgrade package includes: Verifying the integrity of the current upgrade package using the crc verification method: By calculating the cyclic redundancy check code of the upgrade package data and comparing it with the preset verification value, it is determined whether there are abnormal situations such as data loss or damage during the transmission of the upgrade package.
9. A method for software upgrade of a distributed system, the distributed system including an operation and maintenance server and a plurality of client nodes; characterized in that, The multiple client nodes are respectively assigned to different regions, and the operation and maintenance server allocates a corresponding regional multicast address to each region in the address pool; the client nodes in each region jointly elect one of the client nodes as the regional virtual server through internal request interaction according to the device resources and network status in the current cycle, and monitor the operating status of the regional virtual server in real time within a cycle, and re-elect a new regional virtual server node in the current region when the regional virtual server is abnormal; The distributed system software upgrade method is applied to any other client node except the regional virtual server, and includes: The regional virtual server continuously broadcasts the upgrade package information on the regional broadcast address according to a preset period; The client node receives the upgrade request from the regional virtual server, compares its current software version with the version requirement specified in the upgrade package information, and determines whether it needs to be upgraded; if not, it sends a feedback message to the regional virtual server to inform it that no upgrade is required; if an update is required, it initiates a download request to the server based on the specified server address provided in the upgrade package information to obtain the corresponding upgrade package; After the upgrade package is successfully downloaded, the integrity of the upgrade package is verified; if there is an abnormality in the upgrade package, a notification is sent to the regional virtual server to inform it of the abnormality in the upgrade package; if the upgrade package is complete and correct, the software upgrade operation is started according to the established upgrade process; after the software upgrade is completed, the upgrade result is reported to the regional virtual server.
10. The distributed system software upgrade method according to claim 9, characterized in that, The regional virtual server continuously broadcasts the upgrade package information on the regional broadcast address according to a preset period, and the broadcast information includes detailed information of the upgrade package, status information of the regional virtual server and the upgrade request; The client node receives the broadcast information from the regional virtual server, parses the broadcast information, and extracts the detailed information of the upgrade package and the upgrade request; The client node determines whether it needs to perform an upgrade operation according to the upgrade request.
Citation Information
Patent Citations
Method, device and system for confirming download link of software version upgrade file
CN103888523A
Method of upgrading equipment software in cloud network management system and device
CN105049502A
Subnet master node election method and device and host detection system
CN116346624A
Traffic signal virtual host election method
CN117201285A
Software edition updating system in distributed service system and its method
CN1758607A