Disclosure of Invention
In view of the problems in the prior art, an object of the present invention is to provide a software updating method, which can effectively improve the timeliness of online version confirmation.
The embodiment of the invention provides a software updating method, which comprises the following steps:
receiving a list to be confirmed of online change, wherein the list to be confirmed comprises first change of software to be updated;
sending each change corresponding change confirmation request to a corresponding developer;
acquiring first feedback information of each first change of a developer;
and determining whether to add the corresponding first change into an online change list for software updating according to the first feedback information.
Preferably, after determining whether to add the corresponding first change to the online change list for software update, the method further includes the following steps:
and removing the first change corresponding to the first feedback information from the list to be confirmed.
Preferably, the determining whether to add the corresponding first change to an online change list for software update according to each piece of the first feedback information includes the following steps:
judging the type of the first feedback information;
if the type of the first feedback information is a confirmed change, adding the first change to the online change list;
and if the type of the first feedback information is cancellation change, not adding the first change to the online change list.
Preferably, after the determining the type of the first feedback information, the method further includes the following steps:
and if the type of the first feedback information is conflict, acquiring second conflicting changes, sending a change confirmation request of each second change to a corresponding developer, acquiring second feedback information of the developer for the second changes, and determining whether to add the corresponding second changes and the corresponding first changes into the online change list according to the second feedback information.
Preferably, after the determining the type of the first feedback information, the method further includes the following steps:
if the type of the first feedback information is conflict, establishing a change chain of changing the first feedback information into a first node, wherein a subsequent node in the change chain is a second change which conflicts with the change of the previous node;
acquiring second feedback information corresponding to a newly added second change every time a node of the second change is newly added;
if the second feedback information is a confirmed change, adding changes corresponding to each node in the change chain to the online change list;
if the second feedback information is the change cancellation, the changes corresponding to all the nodes in the change chain are not added to the online change list;
and if the second feedback information is in conflict, continuing to add the next node of the change chain.
Preferably, the sending each change corresponding change confirmation request to the corresponding developer includes the following steps:
searching communication information of developers corresponding to the first changes;
and sending each first change to a corresponding developer according to the communication information.
Preferably, the change confirmation request corresponding to each first change is sent to the corresponding developer, and communication information of the developer corresponding to each first change is obtained through a developer communication information list, where the communication information includes communication tool information, communication identifier, and developer identity information of the developer.
An embodiment of the present invention further provides a software update system, including:
the system comprises a to-be-confirmed list receiving module, a to-be-confirmed list updating module and a to-be-confirmed list updating module, wherein the to-be-confirmed list receiving module is used for receiving an online changed to-be-confirmed list, and the to-be-confirmed list comprises first changes of software to be updated;
a confirmation request sending module, configured to send the change confirmation request of each first change to a corresponding developer;
the feedback information receiving module is used for acquiring first feedback information of each first change of a developer;
and the online list maintenance module is used for determining whether each first change is added into an online change list according to the first feedback information, wherein the change in the online change list is the change performed by software updating.
An embodiment of the present invention further provides a software update apparatus, including:
a processor;
a memory having stored therein executable instructions of the processor;
wherein the processor is configured to perform the steps of the software update method described above via execution of the executable instructions.
Embodiments of the present invention also provide a computer-readable storage medium for storing a program, where the program implements the steps of the software updating method described above when executed.
In summary, the present invention provides a software updating method, system, device and storage medium, which reduces the search time of change attribution in the change list to be online, reduces the possibility of delay confirmation of changes due to neglecting messages for developers, and effectively improves the timeliness of online version confirmation.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Fig. 2 is a flowchart of a software updating method according to an embodiment of the present invention, specifically, the software updating method includes the following steps:
s100: receiving a to-be-confirmed list of online changes, wherein the to-be-confirmed list comprises at least one first change of software to be updated, and specifically, the to-be-confirmed list can comprise a change number and description information of each first change;
before the step S100, the software updating system may establish a change registry, through which each developer may update the required change in real time, and the change registry may adopt a form of a mapping relationship list between a change number and a change description, or may adopt other forms. For example, if the change registry maintains 100 development changes with change numbers C00001, C00002,.. C00100 respectively, and if the currently required online change numbers are four change contents C00005, C00008, C00010, and C00012, the user inputs the change numbers, and the software update system establishes a list to be confirmed of online changes as { C00005, C00008, C00010, and C00012} through a mapping relationship list between the change numbers and the change descriptions.
S200: sending each change corresponding change confirmation request to a corresponding developer;
similarly, the software updating system may pre-store a list of the communication information of each change and the corresponding developer, or the system is provided with a developer registration center, and the developer may update the relevant information of the developer corresponding to each change in real time through the center, where the relevant information at least includes the communication information of the developer, including the identity Information (ID), name, nickname, communication tool information, communication identifier, and the like of the developer, so that the system can quickly and effectively find the developer in charge of the relevant change when the software needs to be updated.
Therefore, the step S200 may include the steps of:
searching communication information of developers corresponding to the first changes;
and sending each first change to a corresponding developer according to the communication information.
In this embodiment, in step S200, communication information of a developer corresponding to each first change is obtained through a developer communication information list, where the communication information includes communication tool information, communication identifier, and developer identity information of the developer.
S300: acquiring first feedback information of each first change of a developer;
s400: and determining whether to add the corresponding first change into an online change list for software updating according to the first feedback information.
Therefore, in the present invention, through step S100 and step S200, the corresponding developer can be automatically searched according to the first change in the list to be confirmed, and the confirmation request of the first change is automatically and actively sent to the developer, so that omission or error which may occur when the developer searches for the change of the developer by himself in the prior art is avoided, and the developer misses the change confirmation without noticing the message and delays the software update process can also be avoided. Further, in the invention, through the steps of S300 and S400, the online change list is automatically generated according to the feedback information of the developer, so that the efficiency and the accuracy of the online change list are improved.
In this embodiment, after determining whether to add the corresponding first change to the online change list for software update in step S400, the method further includes the following steps:
and removing the first change corresponding to the first feedback information from the list to be confirmed, namely removing the first change fed back by the developer from the list to be confirmed, so as to avoid the situation of repeated confirmation for the second time.
As shown in fig. 3, in this embodiment, the step S400 includes the following steps:
s410: judging the type of the first feedback information; typically, changes include changes that can be brought online, changes that cannot be brought online, and changes that have conflicts. And the feedback information of the openers is to confirm the change or directly cancel the change. For changes that have conflicts, further confirmation is needed as to whether other changes with which the conflict may be brought online.
S420: if the type of the first feedback information is a confirmed change, adding the first change to the online change list;
s430: and if the type of the first feedback information is cancellation change, not adding the first change to the online change list.
In this embodiment, the step S410: after the type of the first feedback information is judged, the method further comprises the following steps:
s440: and if the type of the first feedback information is conflict, acquiring second conflicting changes, sending a change confirmation request of each second change to a corresponding developer, acquiring second feedback information of the developer for the second changes, and determining whether to add the corresponding second changes and the corresponding first changes into the online change list according to the second feedback information.
As shown in fig. 3, in this embodiment, the step S440 includes the following steps:
s441: if the type of the first feedback information is conflict, establishing a change chain of changing the first feedback information into a first node, wherein a subsequent node in the change chain is a second change which conflicts with the change of the previous node;
s442: newly adding a second changed node in the change chain;
s443: when a node of a second change is newly added, searching communication information of a developer corresponding to the newly added second change, sending the newly added second change to the corresponding developer, and acquiring second feedback information corresponding to the newly added second change;
s444: judging the type of the second feedback information;
s445: if the second feedback information is a confirmed change, adding changes corresponding to each node in the change chain to the online change list;
s446: if the second feedback information is the change cancellation, the changes corresponding to all the nodes in the change chain are not added to the online change list;
if the second feedback information is a conflict, continuing to step S442: and adding a next second changed node of the change chain.
In the present invention, when the type of the first feedback information is a conflict, step S440 is executed, step S440 is actually a process of establishing a conflict chain and determining whether all changes in the conflict chain can be confirmed, and only when all changes in the conflict chain obtain the feedback information of "confirming changes", all changes in the conflict chain are added into an online change list, that is, the changes can be online, otherwise, the changes cannot be online.
Still take the list to be confirmed as { C00005, C00008, C00010} as an example, assuming that:
if the first feedback information of the C00005 change is a confirmed change, adding the first feedback information into an online change list;
the first feedback information of the C00008 change indicates that a conflict exists, the feedback conflict is a C00020 change, the system searches the communication information of the developer corresponding to the C00020 change, sends the C00020 change to the corresponding developer to confirm according to the communication information, and adds the C00008 and the C00020 changes to the online change list only when the second feedback information of the developer indicates that the change is confirmed; if the conflict exists in the change of C00020, confirming whether the change which conflicts with the change of C00020 can be on-line or not, and repeating the steps;
and if the first feedback information changed by the C00010 is that the change is cancelled, the first change is not added to the online change list.
Fig. 4 is a schematic structural diagram of a software update system according to an embodiment of the present invention, where the system includes:
a to-be-confirmed list receiving module M100, configured to receive a to-be-confirmed list of online changes, where the to-be-confirmed list includes at least a first change to be confirmed for software to be updated;
a confirmation request sending module M200, configured to send the change confirmation request of each first change to a corresponding developer;
a feedback information receiving module M300, configured to obtain first feedback information of each first change by a developer;
and an online list maintenance module M400, configured to determine whether to add each first change to an online change list according to the first feedback information, where a change in the online change list is a change performed by software update.
Therefore, according to the present invention, the to-be-confirmed list receiving module M100 and the confirmation request sending module M200 can automatically search for the corresponding developer according to the first change in the to-be-confirmed list, and automatically and actively send the confirmation request of the first change to the developer, so as to avoid the omission or error that may occur when the developer searches for the own change by himself in the prior art, and also avoid the developer missing the change confirmation without noticing the message and delaying the software update process. Furthermore, according to the invention, the online change list is automatically generated according to the feedback information of the developer through the feedback information receiving module M300 and the online list maintenance module M400, so that the efficiency and the accuracy of the online change list are improved.
Further, in this embodiment, the online list maintenance module M400 is further configured to remove the first change corresponding to the first feedback information from the to-be-confirmed list after determining whether to add the corresponding first change to the online change list for software update, that is, the first change after being fed back by the developer is removed from the to-be-confirmed list, so as to avoid a situation of double confirmation.
Further, in this embodiment, the online list maintenance module M400 may adopt the execution flow as shown in the above steps S410 to S440 and fig. 3 to determine whether to add each of the first changes to the online change list.
Correspondingly, the software updating system may further include a change chain maintenance module, and after the online list maintenance module M400 receives the first feedback information, if the type of the first feedback information is in conflict, the change chain maintenance module establishes a change chain in which the first change is a first node, and a subsequent node in the change chain is a second change in conflict with the change of the previous node.
Each time a node of a second change is newly added to the change chain maintenance module, the confirmation request sending module M200 sends the second change corresponding to the new node to a corresponding developer, and the feedback information receiving module M300 obtains second feedback information corresponding to the newly added second change.
If the second feedback information is a confirmation change, the online list maintenance module M400 adds all changes corresponding to each node in the change chain to the online change list, if the second feedback information is a cancellation change, the online list maintenance module M400 adds all changes corresponding to each node in the change chain to the online change list, and if the second feedback information is a conflict, the change chain maintenance module continues to add the next node of the change chain.
Anelectronic device 600 according to this embodiment of the invention is described below with reference to fig. 5. Theelectronic device 600 shown in fig. 5 is only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 5, theelectronic device 600 is embodied in the form of a general purpose computing device. The components of theelectronic device 600 may include, but are not limited to: at least oneprocessing unit 610, at least onememory unit 620, abus 630 connecting the different platform components (including thememory unit 620 and the processing unit 610), adisplay unit 640, etc.
Wherein the storage unit stores program code executable by theprocessing unit 610 to cause theprocessing unit 610 to perform steps according to various exemplary embodiments of the present invention described in the above-mentioned electronic prescription flow processing method section of the present specification. For example, processingunit 610 may perform the steps as shown in fig. 2.
Thestorage unit 620 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)6201 and/or acache memory unit 6202, and may further include a read-only memory unit (ROM) 6203.
Thememory unit 620 may also include a program/utility 6204 having a set (at least one) ofprogram modules 6205,such program modules 6205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 630 may be one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
Theelectronic device 600 may also communicate with one or more external devices 700 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with theelectronic device 600, and/or with any devices (e.g., router, modem, etc.) that enable theelectronic device 600 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O)interface 650. Also, theelectronic device 600 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) via thenetwork adapter 660. Thenetwork adapter 660 may communicate with other modules of theelectronic device 600 via thebus 630. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with theelectronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage platforms, to name a few.
Embodiments of the present invention further provide a computer-readable storage medium for storing a program, where the program is executed to implement the steps of the method for updating sorting software. In some possible embodiments, the aspects of the present invention may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the present invention described in the above-mentioned electronic prescription flow processing method section of this specification, when the program product is run on the terminal device.
Referring to fig. 6, aprogram product 800 for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
In summary, the present invention provides a software updating method, system, device and storage medium, which reduces the search time of change attribution in the change list to be online, reduces the possibility of delay confirmation of changes due to neglecting messages for developers, and effectively improves the timeliness of online version confirmation.
The foregoing is a more detailed description of the invention in connection with specific preferred embodiments and it is not intended that the invention be limited to these specific details. It will be evident to those skilled in the art that the present application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the apparatus claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.