System software synchronization method and device, equipment and storage medium

By obtaining and traversing the software information set of the two systems, updating and calculating the difference set to achieve system software synchronization, the problem of high time and labor costs required for manual synchronization is solved, and synchronization efficiency is improved and errors are reduced.

CN119668647APending Publication Date: 2025-03-21AGRICULTURAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411749389.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

In the prior art, manually synchronizing two system software requires a lot of time and labor costs, and the process is complicated and errors are prone to occur.

Method used

By obtaining the software information set in the two systems, traversing the software information to be synchronized, updating the software information set in the first system, calculating the difference set and removing the software information in the difference set, the synchronization of the target software information set is achieved.

Benefits of technology

It effectively improves the efficiency of system software synchronization, reduces manual intervention, avoids errors caused by human operations, and can quickly respond to new software changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119668647A_ABST
    Figure CN119668647A_ABST
Patent Text Reader

Abstract

The invention discloses a system software synchronization method and device, equipment and a storage medium, and the method comprises the steps: obtaining a software information set synchronized from a second system to a first system in the first system, and obtaining a first software information set; obtaining a to-be-synchronized software information set in a second system, and obtaining a second software information set; traversing each piece of second software information in the second software information set, and updating the first software information set according to the traversed second software information until the second software information in the second software information set is traversed; obtaining a difference set of the updated first software information set and the second software information set, and removing software information in the difference set from the updated first software information set to obtain a target first software information set; the system software synchronization efficiency is effectively improved, manual intervention is reduced, and errors caused by manual operation are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer software technology, and in particular to a system software synchronization method, device, equipment and storage medium. Background Art

[0002] With the development of information technology, the amount of software has reached an unprecedented scale, showing the characteristics of diversity, rapid growth and complexity. Organizations or teams may use different software management systems on multiple platforms or environments. The most commonly used method is for administrators to manually manage the synchronization of software in two systems.

[0003] However, since manually managing the software in two systems often requires a lot of time and manpower costs, manually obtaining software information one by one through the management page, downloading software installation packages, and then editing, updating or deleting in the other system, these processes are very cumbersome, and manual synchronization of software is prone to errors, such as missing certain versions, synchronizing the wrong versions, editing incorrect software information, etc. Summary of the invention

[0004] The present invention provides a system software synchronization method, device, equipment and storage medium to solve the problem in the prior art that manual synchronization of two system software requires a lot of time and manpower costs, and the process is cumbersome and prone to errors.

[0005] In a first aspect, an embodiment of the present invention provides a system software synchronization method, comprising:

[0006] Acquire a software information set in a first system that is synchronized from a second system to the first system, to obtain a first software information set;

[0007] Acquire the software information set to be synchronized in the second system to obtain a second software information set;

[0008] Traversing each second software information in the second software information set, and updating the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed;

[0009] A difference set between the updated first software information set and the second software information set is obtained, and the software information in the difference set is removed from the updated first software information set to obtain a target first software information set.

[0010] Optionally, updating the first software information set according to the traversed second software information includes:

[0011] Determine whether there is first software information matching the traversed second software information in the first software information set;

[0012] If there is no first software information matching the traversed second software information in the first software information set, the traversed second software information is newly created in the first software information set, and a software installation package corresponding to the traversed second software information is obtained, so as to install the second software into the first system according to the software installation package.

[0013] Optionally, after determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes:

[0014] If there is first software information matching the traversed second software information in the first software information set, determining whether the update time of the traversed second software information has changed;

[0015] If the update time of the traversed second software information changes, the first software information in the first software information set that matches the traversed second software information is updated based on the traversed second software information, and the software installation package corresponding to the traversed second software information is obtained to update the second software in the first system according to the software installation package.

[0016] Optionally, before determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes:

[0017] Determine whether the traversed second software information is in the software synchronization blacklist;

[0018] If the traversed second software information is in the software synchronization blacklist, continue to traverse the next second software information;

[0019] If the traversed second software information is not in the software synchronization blacklist, the operation of determining whether there is first software information matching the traversed second software information in the first software information set is continued.

[0020] Optionally, installing the second software into the first system according to the software installation package includes:

[0021] Verifying the software installation package;

[0022] If the software installation package passes the verification, installing the second software into the first system according to the software installation package;

[0023] If the software installation package fails the verification, the software installation package is discarded.

[0024] Optionally, updating the second software in the first system according to the software installation package includes:

[0025] Verifying the software installation package;

[0026] If the software installation package passes the verification, updating the second software in the first system according to the software installation package;

[0027] If the software installation package fails the verification, the software installation package is discarded.

[0028] Optionally, the obtaining of a difference between the updated first software information set and the second software information set, removing software information corresponding to the software in the difference from the updated first software information set, and obtaining the target first software information set comprises:

[0029] Counting the first software information that is added, updated, deleted, or fails to be verified in the first system;

[0030] A software synchronization log is generated based on the statistical first software information.

[0031] In a second aspect, an embodiment of the present invention provides a system software synchronization device, including:

[0032] A first acquisition module, used to acquire a software information set in a first system synchronized from a second system to the first system, to obtain a first software information set;

[0033] A second acquisition module, used to acquire the software information set to be synchronized in the second system to obtain a second software information set;

[0034] An updating module, configured to traverse each second software information in the second software information set, and update the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed;

[0035] The synchronization module is used to obtain a difference between the updated first software information set and the second software information set, remove the software information in the difference from the updated first software information set, and obtain a target first software information set.

[0036] In a third aspect, an embodiment of the present invention provides an electronic device, the electronic device comprising:

[0037] at least one processor; and

[0038] a memory communicatively connected to the at least one processor; wherein,

[0039] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the system software synchronization method described in any embodiment of the present invention.

[0040] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the system software synchronization method described in any embodiment of the present invention when executed.

[0041] The technical solution of the embodiment of the present invention obtains the first software information set by obtaining the software information set synchronized from the second system to the first system in the first system; obtains the software information set to be synchronized in the second system to obtain the second software information set; traverses each second software information in the second software information set, and updates the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed; obtains the difference set between the updated first software information set and the second software information set, removes the software information in the difference set from the updated first software information set, and obtains the target first software information set, which solves the problem in the prior art that manual synchronization of two system software requires a lot of time and labor costs, and the process is cumbersome and prone to errors, effectively improves the system software synchronization efficiency, reduces manual intervention, and avoids errors caused by human operations; further, the present invention can also respond quickly, and when there are new software changes, these changes can be synchronized to other systems immediately.

[0042] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0044] Figure 1 A flowchart of a system software synchronization method provided in Embodiment 1 of the present invention;

[0045] Figure 2 A flowchart of a system software synchronization method provided in Embodiment 2 of the present invention;

[0046] Figure 3 A schematic diagram of a different software management system provided in Embodiment 2 of the present invention;

[0047] Figure 4 A specific flow chart of a system software synchronization method provided in Embodiment 2 of the present invention

[0048] Figure 5 A schematic diagram of the structure of a system software synchronization device provided in Embodiment 3 of the present invention;

[0049] Figure 6 A schematic diagram of the structure of an electronic device that can be used to implement an embodiment of the present invention is shown. DETAILED DESCRIPTION

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

[0051] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0052] Embodiment 1

[0053] Figure 1 This is a flowchart of a system software synchronization method provided in the first embodiment of the present invention. This embodiment is applicable to the case of performing system software synchronization. The method can be executed by a system software synchronization device. The system software synchronization device can be implemented in the form of hardware and / or software. The system software synchronization device can be configured in an electronic device. Figure 1 As shown, the method includes:

[0054] S110: Acquire a software information set in the first system that is synchronized from the second system to the first system, and obtain a first software information set.

[0055] Among them, the first system may refer to a software management system; the second system may refer to another software management system; the first system and the second system are different software management systems; a software management system is a tool or platform for managing and maintaining software, usually used to organize, track and update various aspects of software. Software information may refer to the information corresponding to the software in the software management system. The software information set may refer to the set of software information corresponding to all software in the software management system; the first software information set may refer to the software information set whose software source field in the first system is the second system, which can be specifically understood as the software information that the first system has synchronized from the second system before this software synchronization.

[0056] Specifically, software information may include software name, software version, software function, supported platforms, installation package storage location, creation time, update time, software source, etc. Software synchronization refers to the process of synchronizing software data, versions, or other related information between two or more systems. The software source field refers to a field in a database or software system that is used to describe and record information such as the source, collection time, and collection method of data or software.

[0057] In this embodiment, the software information that has been synchronized from the second system before the current software synchronization can be obtained from the first system as the first software information set.

[0058] S120: Acquire the software information set to be synchronized in the second system to obtain a second software information set.

[0059] The software information to be synchronized may refer to software information in JSON format. The software information set to be synchronized may refer to a set of software information in JSON format. The second software information set may refer to a set of software information in JSON format in the second system.

[0060] Specifically, the software information in the JSON format may be understood as software information that needs to be synchronized between the first system and the second system.

[0061] In this embodiment, a set of software information in JSON format may be obtained from the second system as the second software information set.

[0062] S130: traverse each second software information in the second software information set, and update the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed.

[0063] The second software information may refer to the software information in the second software information set, that is, the software information in the JSON format to be synchronized in the second system.

[0064] Specifically, each second software information in the second software information set can be traversed in order, and each second software information can be judged by multiple judgment conditions to obtain a judgment result. The judgment result can be that the traversed second software information does not exist in the first software information set, the traversed second software information exists in the first software information set, but the update time of the second software information has changed, etc. The software information in the first software information set is updated based on the judgment result, which can specifically include creating new software information in the first software information set, updating the software information in the first software information set, etc. until all the second software information in the second software information set are traversed.

[0065] In this embodiment, each second software information in the second software information set can be traversed in sequence, each second software information can be judged by multiple judgment conditions, and the software information in the first software information set can be updated based on the judgment result until all the second software information in the second software information set are traversed.

[0066] S140: Obtain a difference between the updated first software information set and the second software information set, remove the software information in the difference from the updated first software information set, and obtain a target first software information set.

[0067] The difference set may refer to a set of software information corresponding to the software that has been deleted in the second system. Specifically, it may be obtained by subtracting the second software information set from the updated first software information set. The target first software information set may refer to a software information set in the first system that is completely synchronized with the second software information set.

[0068] Specifically, after the updated first software information set is subtracted from the second software information set to obtain a difference set, software information identical to the software information in the difference set may be removed from the updated first software information set to obtain the target first software information set.

[0069] In this embodiment, a first software information set is obtained by obtaining a software information set synchronized from a second system to the first system in a first system; a software information set to be synchronized in the second system is obtained to obtain a second software information set; each second software information in the second software information set is traversed, and the first software information set is updated according to the traversed second software information until the traversal of the second software information in the second software information set is completed; a difference set between the updated first software information set and the second software information set is obtained, and the software information in the difference set is removed from the updated first software information set to obtain a target first software information set, thereby solving the problem in the prior art that manual synchronization of two system software requires a lot of time and labor costs, and the process is cumbersome and prone to errors, effectively improving the system software synchronization efficiency, reducing manual intervention, and avoiding errors caused by human operations; further, the present invention can also respond quickly, and when there are new software changes, these changes can be immediately synchronized to other systems.

[0070] Optionally, updating the first software information set according to the traversed second software information includes:

[0071] Determine whether there is first software information matching the traversed second software information in the first software information set;

[0072] The first software information may refer to the software information in the first software information set.

[0073] Specifically, it may be determined whether there is software information in the first software information set that is the same as the traversed second software information.

[0074] If there is no first software information matching the traversed second software information in the first software information set, the traversed second software information is newly created in the first software information set, and a software installation package corresponding to the traversed second software information is obtained, so as to install the second software into the first system according to the software installation package.

[0075] A software installation package refers to a file or set used to install a software program into a computer system. The installation package usually contains all necessary files, configuration information, dependencies, and installation programs of the software program so that users can easily install, configure, and use the software.

[0076] Specifically, if there is no software information identical to the traversed second software information in the first software information set, then a new software information is created in the first software information set, and the newly created software information is the traversed second software information. The server can directly call the software installation package download interface through Https asynchronously to download the software installation package corresponding to the traversed second software information, and install the second software corresponding to the traversed second software information into the first system according to the downloaded software installation package.

[0077] In this embodiment, it can be determined whether there is first software information matching the traversed second software information in the first software information set; if there is first software information matching the traversed second software information in the first software information set, the traversed second software information is newly created in the first software information set, and the software installation package corresponding to the traversed second software information is obtained, so that the second software can be installed in the first system according to the software installation package, thereby realizing synchronization of the two system software, effectively improving the system software synchronization efficiency, reducing manual intervention, and avoiding errors caused by human operation; it can also respond quickly, and when there are new software changes, these changes can be immediately synchronized to other systems.

[0078] Optionally, after determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes:

[0079] If there is first software information matching the traversed second software information in the first software information set, determining whether the update time of the traversed second software information has changed;

[0080] The update time may refer to the most recent update time.

[0081] Specifically, if there is first software information in the first software information set that is identical to the traversed second software information, it is determined whether the most recent update time of the traversed second software information is the same as the most recent update time of the first software information that is identical to the second software information; if they are the same, it is determined that the update time of the traversed second software information has not changed; if they are different, it is determined that the update time of the traversed second software information has changed.

[0082] If the update time of the traversed second software information changes, the first software information in the first software information set that matches the traversed second software information is updated based on the traversed second software information. The server can directly call the software installation package download interface through Https asynchronously to download the software installation package corresponding to the traversed second software information, and update the second software in the first system according to the downloaded software installation package.

[0083] Specifically, if the update time of the traversed second software information changes, the first software information in the first software information set that is the same as the traversed second software information is updated based on the traversed second software information, and the software installation package corresponding to the traversed second software information is obtained, so as to update the second software information corresponding to the traversed second software information in the first system according to the software installation package.

[0084] In this embodiment, if there is first software information in the first software information set that matches the traversed second software information, it is determined whether the update time of the traversed second software information has changed; if the update time of the traversed second software information has changed, the first software information in the first software information set that matches the traversed second software information is updated based on the traversed second software information, and the software installation package corresponding to the traversed second software information is obtained to update the second software in the first system according to the software installation package; the synchronization of the two system software is achieved, the system software synchronization efficiency is effectively improved, manual intervention is reduced, and errors caused by human operation are avoided; it can also respond quickly, and when there are new software changes, these changes can be immediately synchronized to other systems.

[0085] Optionally, before determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes:

[0086] Determine whether the traversed second software information is in the software synchronization blacklist;

[0087] The software synchronization blacklist may refer to a list of specific software or software versions that are excluded or restricted from synchronization during the software synchronization process. This blacklist is usually maintained by an administrator or system maintainer to block or restrict the synchronization of certain software to ensure the security, stability or compliance of the system.

[0088] If the traversed second software information is in the software synchronization blacklist, continue to traverse the next second software information;

[0089] If the traversed second software information is not in the software synchronization blacklist, the operation of determining whether there is first software information matching the traversed second software information in the first software information set is continued.

[0090] Specifically, if the traversed second software information is in the software synchronization blacklist, then continue to traverse the next second software information in the second software information set, and continue to determine whether the next traversed second software information is in the software synchronization blacklist; if all the second software information in the traversed second software information set are in the software synchronization blacklist, then directly end this software synchronization. If the traversed second software information is not in the software synchronization blacklist, then continue to perform the operation of determining whether there is a first software information in the first software information set that is the same as the traversed second software information.

[0091] In this embodiment, by determining whether the traversed second software information is in the software synchronization blacklist; if the traversed second software information is in the software synchronization blacklist, continuing to traverse the next second software information; if the traversed second software information is not in the software synchronization blacklist, continuing to execute the operation of determining whether there is first software information matching the traversed second software information in the first software information set; the synchronization of certain software can be blocked or restricted to ensure the security, stability or compliance of the system.

[0092] Optionally, installing the second software into the first system according to the software installation package includes:

[0093] Verifying the software installation package;

[0094] If the software installation package passes the verification, installing the second software into the first system according to the software installation package;

[0095] If the software installation package fails the verification, the software installation package is discarded.

[0096] Specifically, the downloaded software installation package can be verified by md5. If the software installation package passes the md5 verification, the second software corresponding to the traversed second software information can be installed into the first system according to the software installation package. If the software installation package fails the md5 verification, the software installation package can be discarded.

[0097] In this embodiment, the software installation package is verified; if the software installation package passes the verification, the second software is installed in the first system according to the software installation package; if the software installation package fails the verification, the software installation package is discarded; thereby ensuring the security of system synchronization.

[0098] Optionally, updating the second software in the first system according to the software installation package includes:

[0099] Verifying the software installation package;

[0100] If the software installation package passes the verification, updating the second software in the first system according to the software installation package;

[0101] If the software installation package fails the verification, the software installation package is discarded.

[0102] Specifically, the downloaded software installation package can be verified by md5. If the software installation package passes the md5 verification, the second software corresponding to the traversed second software information in the first system can be updated according to the software installation package; if the software installation package fails the md5 verification, the software installation package can be discarded.

[0103] In this embodiment, the software installation package is verified; if the software installation package passes the verification, the second software in the first system is updated according to the software installation package; if the software installation package fails the verification, the software installation package is discarded; thereby ensuring the security of system synchronization.

[0104] Optionally, after the verification is completed, it can be further determined whether each second software information in the second software information set is completely traversed. If the second software information in the second software information set is not completely traversed, continue to traverse the next second software information and continue to determine whether the next traversed second software information is in the software synchronization blacklist.

[0105] Embodiment 2

[0106] Figure 2 This is a flowchart of a system software synchronization method provided by Embodiment 2 of the present invention. The technical solution of this embodiment is further refined on the basis of the above embodiment. Figure 2 As shown, the method includes:

[0107] S210: Acquire a software information set in the first system that is synchronized from the second system to the first system, and obtain a first software information set.

[0108] S220: Acquire the software information set to be synchronized in the second system to obtain a second software information set.

[0109] S230: traverse each second software information in the second software information set, and update the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed.

[0110] S240: Obtain a difference between the updated first software information set and the second software information set, remove the software information in the difference from the updated first software information set, and obtain a target first software information set.

[0111] S250, counting first software information that is newly added, updated, deleted, or fails to be verified in the first system.

[0112] Specifically, the first software information that is newly added, updated, deleted, or fails to be verified in the first system is determined according to the difference in first software information between the target first software information set and the first software information set.

[0113] S260: Generate a software synchronization log based on the statistical first software information.

[0114] The software synchronization log may refer to a detailed log recording all events and operations during the software synchronization process.

[0115] Specifically, the software synchronization log may be generated according to the newly added software information, updated software information, deleted software information, and software information of which the installation package verification fails in the first system.

[0116] In this embodiment, by counting the first software information that is added, updated, deleted, or fails to be verified in the first system; a software synchronization log is generated based on the counted first software information; and the user can regularly view and analyze the synchronization log to ensure the security and integrity of the synchronized software.

[0117] In a specific embodiment, Figure 3 A schematic diagram of a different software management system provided in Embodiment 2 of the present invention, such as Figure 3 As shown, the software management system A may be the first system, and the software management system B may be the second system; or, the software management system B may be the first system, and the software management system A may be the second system.

[0118] Specifically, the software management system can adopt the traditional B / S and C / S architecture. Figure 3 Only the deployment of the software management system server is shown. The database can store software-related information, software synchronization blacklist, software installation package fragmentation information, etc. The file management platform can refer to a basic technology platform that provides public and standard electronic file storage and management services. NAS is a network attached storage. Software information in JSON format can refer to software information that needs to be synchronized between software management systems A and B. Software installation package downloading can refer to the server directly downloading the software installation package asynchronously through Https.

[0119] Furthermore, Figure 3Management system A uses a file management platform to store software installation packages, and the file management platform does not support large file storage. Therefore, when the software installation package is too large, the server will slice it, store the slice information in the database, and then upload it to the file management platform separately. Management system B directly uses NAS storage, and there is no storage limit on the size of the software installation package. Software management systems A and B use different file storage methods, which reflects the diversity and differences between systems. The present invention can be well applied to different software management systems.

[0120] For example, it is assumed that software management system A can be the first system and software management system B can be the second system. Figure 4 A specific flow chart of a system software synchronization method provided in Embodiment 2 of the present invention, such as Figure 4 As shown, the specific steps for software management system A to synchronize software management system B are:

[0121] First, software management system A (i.e., the first system) requests the JSON software information of system B (i.e., the second system), that is, the software information to be synchronized, which is set as set B (i.e., the second software information set). System A obtains the software information whose software source field is B from the database, that is, the software information that has been synchronized from system B before, which is set as set A (i.e., the first software information set).

[0122] Secondly, traverse a piece of software information (i.e., the second software information) in set B in sequence, and determine whether the software is in the blacklist (i.e., the software synchronization blacklist). If it is in the blacklist, continue to traverse the next piece of software information in set B; otherwise, determine whether the software has been synchronized, that is, whether it is in set A (i.e., determine whether there is a first software information matching the traversed second software information in the first software information set). If the software has not been synchronized, create new software information. If the software has been synchronized, continue to determine whether the update time of the software has changed. If not, determine whether the software information in set B has been completely traversed. If not, continue to traverse the software information in set B; if there is a change, update the software information.

[0123] Then, after the software information is synchronized, the software installation package download interface is called asynchronously. After the download is complete, the downloaded software installation package can be verified by md5. If the verification passes, the installation package is segmented, and the segment information is stored in the database of system A, and then uploaded to the file management platform separately. Determine whether set B is completely traversed. If the software has been completely traversed, obtain the difference between set A and set B, which is the software information that has been deleted by system B, and remove this software information from the database of system A.

[0124] Finally, the software information that is newly added, updated, deleted, or fails the md5 verification is counted to form a software synchronization log.

[0125] On the other hand, if software management system B is taken as the first system and software management system A is taken as the second system, the software management system B synchronizing the software of system A is basically the same as the above process. The only difference is that after the software installation package passes the md5 verification, there is no need to perform sharding operation, and the software installation package can be directly stored in NAS.

[0126] In this embodiment, the first software information set is obtained by obtaining the software information set synchronized from the second system to the first system in the first system; the software information set to be synchronized in the second system is obtained to obtain the second software information set; each second software information in the second software information set is traversed, and the first software information set is updated according to the traversed second software information until the traversal of the second software information in the second software information set is completed; the difference set between the updated first software information set and the second software information set is obtained, and the software information in the difference set is removed from the updated first software information set to obtain the target first software information set, and a software synchronization log is generated. This not only effectively solves the problem in the prior art that manual synchronization of two system software requires a lot of time and labor costs, and the process is cumbersome and prone to errors, but also improves the system software synchronization efficiency, reduces manual intervention, and avoids errors caused by human operations; it can also respond quickly, and when there are new software changes, these changes can be immediately synchronized to other systems; further, it also has scalability and flexibility, and can be extended to software synchronization between multiple different systems and data file synchronization between heterogeneous systems.

[0127] Embodiment 3

[0128] Figure 5 This is a schematic diagram of the structure of a system software synchronization device provided by Embodiment 3 of the present invention. Figure 5 As shown, the device comprises:

[0129] A first acquisition module 310 is used to acquire a software information set in a first system that is synchronized from a second system to the first system, to obtain a first software information set;

[0130] A second acquisition module 320 is used to acquire the software information set to be synchronized in the second system to obtain a second software information set;

[0131] An updating module 330, configured to traverse each second software information in the second software information set, and update the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed;

[0132] The synchronization module 340 is configured to obtain a difference between the updated first software information set and the second software information set, remove the software information in the difference from the updated first software information set, and obtain a target first software information set.

[0133] Optionally, the updating module 330 is specifically configured to:

[0134] Determine whether there is first software information matching the traversed second software information in the first software information set;

[0135] If there is no first software information matching the traversed second software information in the first software information set, the traversed second software information is newly created in the first software information set, and a software installation package corresponding to the traversed second software information is obtained, so as to install the second software into the first system according to the software installation package.

[0136] Optionally, the update module 330 is further configured to:

[0137] If there is first software information matching the traversed second software information in the first software information set, determining whether the update time of the traversed second software information has changed;

[0138] If the update time of the traversed second software information changes, the first software information in the first software information set that matches the traversed second software information is updated based on the traversed second software information, and the software installation package corresponding to the traversed second software information is obtained to update the second software in the first system according to the software installation package.

[0139] Optionally, the update module 330 is further configured to:

[0140] Determine whether the traversed second software information is in the software synchronization blacklist;

[0141] If the traversed second software information is in the software synchronization blacklist, continue to traverse the next second software information;

[0142] If the traversed second software information is not in the software synchronization blacklist, the operation of determining whether there is first software information matching the traversed second software information in the first software information set is continued.

[0143] Optionally, the update module 330 is further configured to:

[0144] Verifying the software installation package;

[0145] If the software installation package passes the verification, installing the second software into the first system according to the software installation package;

[0146] If the software installation package fails the verification, the software installation package is discarded.

[0147] Optionally, the update module 330 is further configured to:

[0148] Verifying the software installation package;

[0149] If the software installation package passes the verification, updating the second software in the first system according to the software installation package;

[0150] If the software installation package fails the verification, the software installation package is discarded.

[0151] Optionally, the system software synchronization device further includes:

[0152] A statistics module, used for counting the first software information that is added, updated, deleted, or fails to be verified in the first system;

[0153] A generating module is used to generate a software synchronization log based on the statistical first software information.

[0154] The system software synchronization device provided in the embodiment of the present invention can execute the system software synchronization method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0155] Embodiment 4

[0156] Figure 6 A schematic diagram of an electronic device that can be used to implement an embodiment of the present invention is shown. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0157] like Figure 6As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by the at least one processor 11, and the computer program is executed by the at least one processor 11 so that the at least one processor 11 can execute the method provided by the present invention.

[0158] The processor 11 can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 12 or a computer program loaded from a storage unit 18 into a random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0159] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0160] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a system software synchronization method.

[0161] In some embodiments, the system software synchronization method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the system software synchronization method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the system software synchronization method in any other appropriate manner (e.g., by means of firmware).

[0162] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard parts (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0163] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0164] In the context of the present invention, a computer-readable storage medium stores computer instructions, which are used to implement the system software synchronization method provided by the present invention when the processor is executed. A computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the above. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0165] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display (LCD monitor)) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball), through which the user may provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0166] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by digital data communication (e.g., a communication network) in any form or medium. Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WAN), blockchain network, and the Internet.

[0167] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.

[0168] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0169] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A system software synchronization method, characterized in that: include: Acquire a software information set in a first system that is synchronized from a second system to the first system, to obtain a first software information set; Acquire the software information set to be synchronized in the second system to obtain a second software information set; Traversing each second software information in the second software information set, and updating the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed; A difference set between the updated first software information set and the second software information set is obtained, and the software information in the difference set is removed from the updated first software information set to obtain a target first software information set.

2. The method according to claim 1, characterized in that Updating the first software information set according to the traversed second software information includes: Determine whether there is first software information matching the traversed second software information in the first software information set; If there is no first software information matching the traversed second software information in the first software information set, the traversed second software information is newly created in the first software information set, and a software installation package corresponding to the traversed second software information is obtained, so as to install the second software into the first system according to the software installation package.

3. The method according to claim 2, characterized in that After determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes: If there is first software information matching the traversed second software information in the first software information set, determining whether the update time of the traversed second software information has changed; If the update time of the traversed second software information changes, the first software information in the first software information set that matches the traversed second software information is updated based on the traversed second software information, and the software installation package corresponding to the traversed second software information is obtained to update the second software in the first system according to the software installation package.

4. The method according to claim 2, characterized in that: Before determining whether there is first software information matching the traversed second software information in the first software information set, the method further includes: Determine whether the traversed second software information is in the software synchronization blacklist; If the traversed second software information is in the software synchronization blacklist, continue to traverse the next second software information; If the traversed second software information is not in the software synchronization blacklist, the operation of determining whether there is first software information matching the traversed second software information in the first software information set is continued.

5. The method according to claim 2, characterized in that: Installing the second software into the first system according to the software installation package includes: Verifying the software installation package; If the software installation package passes the verification, installing the second software into the first system according to the software installation package; If the software installation package fails the verification, the software installation package is discarded.

6. The method according to claim 3, characterized in that Updating the second software in the first system according to the software installation package includes: Verifying the software installation package; If the software installation package passes the verification, updating the second software in the first system according to the software installation package; If the software installation package fails the verification, the software installation package is discarded.

7. The method according to any one of claims 1 to 6, characterized in that: The step of obtaining the difference between the updated first software information set and the second software information set, removing the software information corresponding to the software in the difference from the updated first software information set, and obtaining the target first software information set includes: Counting the first software information that is added, updated, deleted, or fails to be verified in the first system; A software synchronization log is generated based on the statistical first software information.

8. A system software synchronization device, characterized in that: include: A first acquisition module, used to acquire a software information set in a first system synchronized from a second system to the first system, to obtain a first software information set; A second acquisition module, used to acquire the software information set to be synchronized in the second system to obtain a second software information set; An updating module, configured to traverse each second software information in the second software information set, and update the first software information set according to the traversed second software information until the traversal of the second software information in the second software information set is completed; The synchronization module is used to obtain a difference between the updated first software information set and the second software information set, remove the software information in the difference from the updated first software information set, and obtain a target first software information set.

9. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the system software synchronization method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the system software synchronization method according to any one of claims 1 to 7 when executed.