Upgrading method and system for intelligent platform management controller
A technology of intelligent platform management and controller, applied in the field of communication, can solve problems such as application program not running normally, IPMC repairing, etc.
Active Publication Date: 2013-05-15
DATANG MOBILE COMM EQUIP CO LTD
4 Cites 1 Cited by
AI-Extracted Technical Summary
Problems solved by technology
[0005] The technical problem to be solved by the embodiments of the present invention is to provide an upgrade method and system for an intelligent platform management controller, so as to solve the probl...
Method used
As shown in Figure 3, storage area can be divided into: startup program area, two application program areas (such as application program A area and application program B area), application program running sign area, the embodiment of the present invention can also be Independently store software-defined sensor data record (Sensor Data Record, SDR) information (that is, the single-board sensor SDR information storage area can be set in the IPMC program storage area), thereby separating IPMC process implementation and SDR information, and simplifying the operation process. Of course, the storage area described in this embodiment of the present invention may also include other information, which is not limited in this embodiment of the present invention.
The embodiment of the present invention can plan two application programs, and set the sign of public sign and each application program, two application programs are mutual backup, upgrade each other, and startup program only guides applicat...
Abstract
The invention provides an upgrading method and a system for an intelligent platform management controller. The upgrading method and the system for the intelligent platform management controller aim to solve the problems that when the existing upgrading method fails to upgrade, an application program can not be operated normally, a new application program needs to be written again, thus the problem of repair of ionic polymer metal composite (IPMC) is caused. According to the upgrading method and the system for the intelligent platform management controller, two application programs are installed, one application program operates at one time, namely, the operated application program, when an upgrading order is received, the operated application program guides the other application program, namely the upgraded application program, the upgrading is carried out, and therefore, when the upgrading fails, only the upgraded application program can not be operated normally, the operated application program is still in normal operation, namely, the operated application program can be executed again, and therefore the program does not need rewriting.
Application Domain
Program loading/initiating
Technology Topic
Application softwareSoftware engineering +2
Image
Examples
- Experimental program(3)
Example Embodiment
[0069] Example one:
[0070] At present, the IPMC program storage area is mainly divided into two areas, which are used to store the startup program and the application program. The startup program is responsible for guiding the operation of the application program and implementing the upgrade function of the application program, and the application program is responsible for implementing the frame management function . In the upgrade process, the startup program calls the upgrade module therein to upgrade the application program, and then replaces the original application program with the upgraded application program.
[0071] Such as figure 1 Shown is a flowchart of an IPMC upgrade method in the prior art, and the method may include:
[0072] 1. Initialization.
[0073] First, the IPMC is powered on and the program runs from the "Startup Program" area for initialization.
[0074] 2. Determine whether the upgrade command has been received.
[0075] If no, go to step 3; if yes, go to step 4.
[0076] 3. Guide the application to run.
[0077] 4. Start the upgrade.
[0078] 5. Determine whether the upgrade is successfully completed.
[0079] If not, go to step 6; if yes, go to step 7.
[0080] 6. Report the upgrade failure and return to step 2.
[0081] 7. Report successful upgrade.
[0082] 8. IPMC reset and restart.
[0083] However, the above method has the following problems:
[0084] (1) If the upgrade fails, the IPMC program will still jump from the startup program to the application program. Since the upgraded application program has overwritten the original application program, the application program cannot run normally at this time, and the application needs to be re-programmed manually Procedure, leading to IPMC repair.
[0085] (2) Since the startup program implements the function of guiding application running and version upgrade, the frame management operations performed while the application program is running will be interrupted during the upgrade process. Only when the upgrade is successful and the new application version is activated, can it be restored again Shelf management operations.
[0086] In order to solve the above-mentioned problem, the embodiment of the present invention proposes an IPMC upgrade method. The method sets two applications. When the upgrade fails, the original running application (ie, the unupgraded application) can be re-run. And during the upgrade process, the running application can realize normal shelf management operations.
[0087] Reference figure 2 , Shows a flowchart of an upgrade method of an intelligent platform management controller in an embodiment of the present invention, and the method may include;
[0088] Step 200: Pre-set two application programs, a public logo, and a logo for each application program.
[0089] In the embodiment of the present invention, in order not to increase the complexity of the hardware design, a method of re-planning the IPMC program storage area may be used for optimization.
[0090] Such as image 3 As shown, the storage area can be divided into: a startup program area, two application areas (for example, application A area and application B area), and an application running flag area. The embodiment of the present invention can also independently store software-defined sensors. Data record (Sensor Data Record, SDR) information (that is, a single-board sensor SDR information storage area can be set in the IPMC program storage area), thereby separating the implementation of the IPMC process and the SDR information and simplifying the operation process. Of course, the storage area described in the embodiment of the present invention may also include other information, which is not limited in the embodiment of the present invention.
[0091] among them,
[0092] The Leading Area Program is responsible for realizing the integrity check of the applications in Area A and B and guiding the application to run according to the status of the "application running flag area".
[0093] The application program storage area of A area stores the A version application program, realizes the IPMC function, and is responsible for upgrading the application program of the B area.
[0094] The B area application storage area stores the B version application program, realizes the IPMC function, and is responsible for upgrading the area A application program.
[0095] The SDR information storage area of the single-board sensor stores the SDR information of the Field Replaceable Unit (FRU). When the application is running, the relevant sensor information is read from the SDR information area. And update the SDR information according to the command of the Shelf Management Controller (SHMC).
[0096] The application running flag area stores the common flags and the flags of each application. The startup program can choose which application to jump to according to the record of the flag area.
[0097] Wherein, the public mark may include the next start mark, and the mark of each application may include the integrity mark of the application and the start mark of the application, and so on.
[0098] Step 202: The startup program selects an application program from the two applications to run according to the public flag and the flag of each application program, and uses the selected application program as the running application program.
[0099] After the IPMC is powered on, it first enters the startup program. The startup program can detect the public logo and the logo of each application program, and select an application program from the two applications to run based on the detection result. For the running application.
[0100] Step 204: When the running application receives an upgrade command, it upgrades another application other than the running application, and uses the other application as the upgraded application.
[0101] In the embodiment of the present invention, the upgrade process can be guided by the application, and the two applications can be upgraded with each other, that is, during the running process of one of the applications (that is, the running application), the other can be upgraded through the running application. An application (that is, an upgraded application) without having to start the application to complete the application upgrade.
[0102] Therefore, during the running process of the running application, when the IPMC receives the upgrade command, the running application can upgrade another application (ie, the upgraded application), and in the upgrade During the application upgrade process, the running application can still run normally.
[0103] Step 206: If the upgrade fails, rerun the running application.
[0104] In the embodiment of the present invention, since the running application program does not perform the upgrade process, it can still run normally. Therefore, if the upgrade of the upgraded application program fails in step 204, it can be reset after the upgrade fails. , So that the running application can be re-run.
[0105] In addition, because during the upgrade process of the upgraded application program, the running application program can still run normally (that is, the upgrade process does not affect the execution of the running application program), therefore, it is not necessary to proceed after the upgrade fails. Reset, so that the running application program can continue to run, which is not limited in the embodiment of the present invention.
[0106] The specific process of each of the above steps will be discussed in detail in the following embodiments.
[0107] In the embodiment of the present invention, two application programs are set, and one application program (that is, the running application program) is run each time. When an upgrade command is received, the other application program (that is, the upgraded application program) is guided through the running application program. Program) to upgrade, so even if the upgrade fails, only the upgraded application can not run normally, while another application can still run normally, that is, the running application can be re-executed without re-programming the program.
[0108] Secondly, since two application programs are preset in the embodiment of the present invention, the two application programs are mutually backup and mutually upgraded, and the running application program can always run normally. When an upgrade command is received, the other application program is performed upgrade. Therefore, during the upgrade process, the running application can still run various functions of the shelf management normally, without interrupting the shelf management operation during the upgrade process.
Example Embodiment
[0109] Embodiment two:
[0110] Hereinafter, the method for upgrading the intelligent platform management controller will be discussed in detail through the second embodiment.
[0111] Reference Figure 4 , Shows a flowchart of a method for upgrading an intelligent platform management controller according to the second embodiment of the present invention, and the method may include:
[0112] Step 400: Pre-set two application programs, a public logo, and a logo for each application program.
[0113] In the embodiment of the present invention, two applications can be set in advance, and a common flag and a flag of each application can be set. The startup program can select an application to run according to the common flag and the flag of each application. During the running of the program, if an upgrade command is received, another application is upgraded through the running application, so as to ensure that the normal operation of the running application is not affected during the upgrade of the upgraded application.
[0114] With the above example one image 3 Similarly, the embodiment of the present invention may also divide the storage area into: a startup program area, an application program in area A, an application program in area B, an application running flag area, and so on.
[0115] Among them, the application running flag area can include the public flag area, the flag area of area A applications and the flag area of area B applications, such as Figure 5 As shown, it is a schematic diagram of the running flag area of the application program according to the second embodiment of the present invention.
[0116] From Figure 5 It can be seen that in the embodiment of the present invention, the public logo area may include the next startup logo, and the logo area of each application program may include the integrity logo of the application program and the startup logo of the application program, that is, the application area of A The logo area of the program can include the integrity logo of the area A application program and the startup logo of the area A application program, and the logo area of the area B application program can include the integrity logo of the area B application program and the startup logo of the area B application program.
[0117] Of course, the public logo area may also include some reserved addresses, and the logo area of the application program in area A and the logo area of the application program in area B may also include some version information and reserved addresses. This embodiment of the present invention will not be detailed here. Discourse.
[0118] In the embodiment of the present invention, the following characteristics may exist for each of the above-mentioned flag areas:
[0119] i. The storage address of each attribute data in the mark area is fixed, and the program is indexed by a static address.
[0120] ii. Each attribute data in the mark area is a primary index, that is, the program can directly index to a specific value.
[0121] iii. The reserved address of the flag area can be used as byte alignment for the extension of the flag area attribute.
[0122] Regarding the processing of the specific mark area, the embodiment of the present invention will not be discussed in detail here.
[0123] Step 402: The startup program selects one application program from the two applications to run according to the public flag and the flag of each application program, and uses the selected application program as the running application program.
[0124] First, after the IPMC is powered on, the startup program can be run, the public flag and the flag of each application program are detected through the startup program, and then one application program from the two applications is selected to run.
[0125] Specifically, this step 402 may include:
[0126] a1, the startup program detects the next startup flag.
[0127] In the embodiment of the present invention, if the two application programs are respectively an A-zone application and a B-zone application as an example, the next startup flag may include both the A-zone application and the B-zone application.
[0128] a2. When the next startup flag is one of the application programs, the startup program detects the integrity flag of the one application program.
[0129] In the embodiment of the present invention, the integrity flag may include two types: complete and incomplete.
[0130] a3, when the integrity mark of one of the applications is complete, the startup program detects the startup mark of the one of the applications.
[0131] In the embodiment of the present invention, the startup flag may include three types: successful startup, non-startup, and startup failure.
[0132] a4. When the startup flag of one of the application programs is successful startup or not started, the startup program selects the one application program to run.
[0133] a5. When the integrity flag of one of the applications is incomplete, or the startup flag of one of the applications is startup failure, the startup program selects another application to run, and sets the next startup flag Update to the other application.
[0134] In the following, taking the two application programs as the area A application and the area B application respectively as an example, the process of selecting the application program to run by the startup program described in step 402 of the second embodiment of the present invention will be introduced. Image 6 As shown, the process can include:
[0135] Step 600, initialization.
[0136] In the embodiment of the present invention, the IPMC is first powered on and the startup program is run. The initialization process can be completed by the startup program. The initialization process may mainly include settings for different chips, such as memory allocation and register configuration. Discuss in detail.
[0137] In step 602, it is judged whether to start from the A zone or the B zone (that is, it is judged to start from the A/B zone).
[0138] This process is mainly determined by detecting the next startup flag. If the next startup flag is an application in zone A, start from zone A and go to step 604; if the next startup sign is an application in zone B The program is started from area B, and step 614 is executed.
[0139] In step 604, it is judged whether the application program in the area A is complete.
[0140] This process is mainly judged by detecting the integrity mark of the application in zone A. If the judgment result is no (that is, the integrity mark of the application in zone A is incomplete), go to step 606; if the judgment result is If yes (that is, the integrity flag of the application program in the A zone is complete), step 608 is executed.
[0141] In step 606, the application in area B is selected to run, and the next startup flag is set as the application in area B.
[0142] Step 608: Determine whether the area A application program is successfully started or whether the area A application program is not started.
[0143] This process is mainly judged by detecting the startup flag of the application in area A. If the judgment result is no (that is, the startup flag of the application in area A is failed to start), go to step 610; if the judgment result is yes (That is, the start flag of the application program in Zone A is successful start or not started), then step 612 is executed.
[0144] In step 610, the application in area B is selected to run, and the next startup flag is set as the application in area B.
[0145] Step 612, select the application in area A to run.
[0146] After selecting the area A application to run or selecting the area B application to run through the above steps, the following step 404 can be performed.
[0147] In step 614, it is determined whether the application program in the B area is complete.
[0148] After judging from the above step 602 to start from zone B, this step 614 can be executed. This process is mainly judged by detecting the integrity mark of the application in zone B. If the judgment result is no (that is, the integrity mark of the application in zone B is incomplete), go to step 616; if the judgment result is If yes (that is, the integrity flag of the application program in zone B is complete), then step 618 is executed.
[0149] Step 616: Select the area A application to run, and set the next startup flag as the area A application.
[0150] Step 618: It is judged whether the area B application program is successfully started or whether the area B application program is not started.
[0151] This process is mainly judged by detecting the start flag of the application in zone B. If the judgment result is no (that is, the start flag of the application in zone B is failed to start), go to step 620; if the judgment result is yes (That is, the start flag of the application program in zone B is successful start or not started), then step 622 is executed.
[0152] Step 620: Select the area A application to run, and set the next startup flag as the area A application.
[0153] In step 622, the application in zone B is selected to run.
[0154] After selecting the area A application to run or selecting the area B application to run through the above steps, the following step 404 can be performed.
[0155] Step 404: After selecting one of the two applications to run, update the corresponding flag according to the running status of the running application.
[0156] After the startup program selects one application program (that is, the running application program) from the two applications through the above step 402, the corresponding flag can be updated according to the running status of the running application program.
[0157] Step 404 is the running process of the running application program, which may specifically include:
[0158] b1. Update the next startup flag to the upgraded application.
[0159] Wherein, the upgraded application program is another application program other than the running application program among the two preset application programs.
[0160] In the embodiment of the present invention, if one of the application programs (running application program) is selected to run, when the running application program is running, the next startup flag may be updated to the upgraded application program. Because it cannot be determined at this time whether the running application is running normally, the above method of updating the next startup flag can prevent the running application from not running normally, and the next startup still selects the application to run. The error that occurred (that is, the running application still cannot run normally).
[0161] b2: Determine whether the running application program is running normally.
[0162] Regarding whether the specific running application program is running normally, it can be judged by whether the program can enter the circulation process. This embodiment of the present invention will not discuss this in detail. Those skilled in the art can also perform related processing based on actual experience. The embodiment does not limit this.
[0163] b3: When the running application program runs normally, update the startup flag of the running application program to start successfully.
[0164] If the running application is not running normally, the IPMC can be reset and started. At the same time, since the next startup flag is updated to the upgraded application in b1 above, you can select the The upgraded application runs without re-running the above-mentioned running application.
[0165] b4. Update the next startup flag to the running application.
[0166] In the embodiment of the present invention, if the running application program runs normally, the next startup flag may be updated to the running application program.
[0167] Hereinafter, taking the running of the area A application program as an example, the running process of the area A application program described in the second embodiment of the present invention will be introduced, such as Figure 7 As shown, the process can specifically include:
[0168] In step 700, the next startup flag is set to the application in zone B.
[0169] Step 702: It is judged whether the shelf management function of the FRU is running normally (that is, it is judged whether the application in area A is running normally).
[0170] If not, go to step 704; if yes, go to step 706.
[0171] In step 704, the flag area is not processed, and the IPMC resets and restarts.
[0172] Step 706: Set the startup flag of the application program in area A to start successfully.
[0173] In step 708, the next startup flag is set to the A zone application.
[0174] Since the area A application program runs normally, the embodiment of the present invention may preferentially select the area A application program to run when it is started next time.
[0175] Step 710: Report that the application program in area A is running normally.
[0176] The above step 404 mainly introduces the specific running process of the running application program. If an upgrade command is received during the running process, step 406 can be executed to upgrade the upgraded application program.
[0177] Step 406: When the running application receives the upgrade command, it upgrades another application other than the running application, and uses the other application as the upgraded application.
[0178] If an upgrade command is received during the running process of the running application, the running application can upgrade the upgraded application. During the upgrade process, the public logo and the upgrade can also be updated. The logo of the app is updated.
[0179] Specifically, the upgrade process in the embodiment of the present invention may further include:
[0180] c1, before the upgraded application of the running application is upgraded, update the integrity flag of the upgraded application to be incomplete.
[0181] Since the upgraded application program is to be upgraded at this time, and it is currently uncertain whether the upgraded application program is complete after the upgrade, the integrity flag of the upgraded application program may be temporarily updated to be incomplete.
[0182] c2. Update the startup flag of the upgraded application to not started.
[0183] In the embodiment of the present invention, if an application program is upgraded, the startup flag of the application program may be updated to not started.
[0184] After the above-mentioned logo is updated, the upgraded application program can be upgraded. For the specific upgrade process, the embodiments of the present invention will not be discussed in detail here.
[0185] c3, if the upgrade is successful, update the integrity flag of the upgraded application to complete.
[0186] Since the upgrade is successful, it indicates that the upgraded application program is a complete application program after the upgrade. Therefore, the integrity flag of the upgraded application program can be updated to complete.
[0187] c4. Update the next startup flag to the upgraded application.
[0188] In the embodiment of the present invention, if the upgraded application program is successfully upgraded, the upgraded application program may preferably be selected to run at the next startup, thereby ensuring that the latest version of the application program is run.
[0189] In addition, it should be noted that in the embodiment of the present invention, after the upgraded application program is successfully upgraded, the application program after the successful upgrade may be used to replace the running application program, thereby ensuring that the two applications are the latest. Version of the application. Of course, the foregoing is only a preferred embodiment, which is not limited in the embodiment of the present invention.
[0190] c5, if the upgrade fails, re-run the running application.
[0191] In the embodiment of the present invention, if the upgrade of the upgraded application fails, the running application may be rerun. Specifically, after the upgrade fails, a reset may be performed and the running application program may be rerun, or the running application program may continue to be run without resetting, which is not limited in the embodiment of the present invention.
[0192] In the following, the upgrade process of the second embodiment of the present invention will be introduced by taking the application program in area A to upgrade the application program in area B as an example. Figure 8 As shown, the upgrade process may specifically include:
[0193] In step 800, the integrity flag of the application program in zone B is set as incomplete.
[0194] Step 802: Set the start flag of the application in the B area to not start.
[0195] Step 804, start to upgrade.
[0196] For the specific upgrade process, the embodiments of the present invention will not be discussed in detail here.
[0197] Step 806: Determine whether the upgrade is successfully completed.
[0198] If not, go to step 808; if yes, go to step 810.
[0199] In step 808, it is reported that the upgrade failed.
[0200] At this time, as described above, it is possible to reset and start the running application program again, or continue to run the running application program without resetting.
[0201] Step 810: Set the integrity flag of the application program in zone B to complete.
[0202] In step 812, the next startup flag is set to the application in zone B.
[0203] In step 814, it is reported that the upgrade is successful.
[0204] In the embodiment of the present invention, after the successful upgrade is reported, the upgraded application program can be reset and started directly; of course, it is also possible to continue to run the running application program without resetting temporarily, and then run the upgraded application program at the next startup. The application program of the present invention does not limit this.
[0205] Finally, it should be noted that if neither of the two application programs can run normally during the running process, it means that the IPMC may have a fault and needs to be repaired, which will not be discussed in detail in the embodiment of the present invention.
[0206] In the embodiment of the present invention, two application programs can be planned, and a common flag and a flag of each application program are set. The two applications are mutually backup and mutually upgraded. The startup program only guides the application program to run according to the "sign". Two applications are upgraded with each other, the upgrade process does not interrupt the chassis management operation, and when the upgrade fails, the startup program can guide the original application to run, avoiding the situation that the application cannot run normally due to the upgrade failure in the prior art.
Example Embodiment
[0207] Example three:
[0208] Reference Picture 9 , Shows a structural block diagram of an upgrade system of an intelligent platform management controller according to the third embodiment of the present invention. The system may include: a setting module 900, an operation module 901, a first logo update module 902, and an upgrade module 903 , The second logo update module 904, the rerun module 905, the third logo update module 906, the judgment module 907, and the fourth logo update module 908.
[0209] among them,
[0210] The setting module 900 is used to pre-set two application programs, a public logo, and a logo of each application program;
[0211] Wherein, the public mark may include the next start mark; the mark of each application may include the integrity mark of the application and the start mark of the application.
[0212] The running module 901 is configured to select an application from the two applications to run according to the public logo and the logo of each application through the startup program, and use the selected application as the running application;
[0213] The running module 901 may include:
[0214] The next startup detection submodule is used to detect the next startup flag through the startup program;
[0215] The integrity detection sub-module is used to detect the integrity mark of one of the application programs through the startup program when the next startup mark is one of the application programs;
[0216] The startup detection sub-module is used to detect the startup flag of one of the application programs through the startup program when the integrity mark of one of the application programs is complete;
[0217] The first running sub-module is used to select one of the applications to run through the startup program when the startup flag of the one of the applications is successful or not started;
[0218] The second running sub-module is used to select another application program to run through the startup program when the integrity mark of one of the application programs is incomplete, or when the startup mark of one of the application programs is startup failure;
[0219] The logo update submodule is configured to update the next startup logo to the another application after the second running submodule selects another application through the startup program.
[0220] The first logo update module 902 is used to update the integrity logo of the upgraded application to incomplete when the upgrade command is received, before the upgrade module upgrades the upgraded application through the running application , And update the startup flag of the upgraded application to not started;
[0221] The upgrade module 903 is configured to upgrade another application program other than the running application program through the running application program when an upgrade command is received, and use the other application program as the upgraded application program ;
[0222] The second logo update module 904 is configured to update the integrity logo of the upgraded application to complete when the upgrade module is successfully upgraded, and update the next startup logo to the upgraded application;
[0223] The re-run module 905 is used to re-run the running application when the upgrade of the upgrade module fails;
[0224] The third logo update module 906 is configured to update the next startup logo to the upgraded application after the running module selects an application to run through the startup program;
[0225] The judging module 907 is used to judge whether the running application program is running normally;
[0226] The fourth logo update module 908 is configured to update the startup logo of the running application to start successfully when the judgment module determines that the running application is running normally, and update the next startup logo to The running application.
[0227] In the embodiment of the present invention, two applications, a common logo, and a logo of each application can be set in advance, and an application can be selected from the two applications according to the public logo and the logo of each application by starting the program Run and use the selected application as the running application, and when the running application receives the upgrade command, upgrade another application other than the running application, and update the other An application is used as an upgraded application, and if the upgrade fails, the running application is re-run. In the embodiment of the present invention, two application programs are set, and one application program (running application program) is run each time. When an upgrade command is received, the other application program (upgraded application program) is guided through the running application program. Upgrade, so even if the upgrade fails, only the upgraded application can not run normally, and another application can still run normally, that is, the running application can be re-executed without re-programming.
[0228] Secondly, since two application programs are preset in the embodiment of the present invention, the two application programs are mutually backup and mutually upgraded, and the running application program can always run normally. When an upgrade command is received, the other application program is performed upgrade. Therefore, during the upgrade process, the running application can still run various functions of the shelf management normally, without interrupting the shelf management operation during the upgrade process.
PUM


Description & Claims & Application Information
We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.