Version management method and device, and computer readable medium
Through the version management method, the network management equipment is used to synchronize the version of heterogeneous hardware and business software, which solves the problem of version mismatch in heterogeneous hardware acceleration scenarios, simplifies the upgrade process and improves efficiency.
Patent Information
- Application Number
- CN202310778290.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
AI Technical Summary
In heterogeneous hardware acceleration scenarios, the versions of business software and heterogeneous hardware are prone to mismatch, resulting in unavailability of services, and the upgrade and fallback process is cumbersome and prone to problems of out-of-sync.
Through the version management method, network management equipment is used to synchronize upgrade or fallback of business software and heterogeneous hardware according to the current version and version correspondence between business software and heterogeneous hardware to ensure version matching, thereby simplifying the upgrade process and avoiding business unavailability.
It realizes synchronous upgrade and fallback of business software and heterogeneous hardware versions, simplifies the upgrade process, improves the upgrade speed, and avoids the situation of unavailability of services.
Smart Images

Figure CN119225788A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of heterogeneous acceleration technology, and in particular to a version management method, software device, hardware device, network management device, and computer-readable medium. Background Art
[0002] Heterogeneous hardware acceleration is a technology that distributes specific data of business software (such as high-traffic messages, image data, etc.) to specific heterogeneous hardware (such as smart network cards, GPUs, FPGAs, DPUs, etc.) for processing.
[0003] However, in the related technologies, the versions of business software and heterogeneous hardware are easily mismatched, resulting in business unavailability. Moreover, the upgrade and rollback processes are also very troublesome. Summary of the invention
[0004] The present disclosure provides a version management method, software device, hardware device, network management device, and computer-readable medium.
[0005] In a first aspect, an embodiment of the present disclosure provides a method for version management, which is executed by a software device running business software, at least part of the data of the business software is processed by heterogeneous hardware in a hardware device, and the software device is connected to the hardware device through a network management device; the method includes:
[0006] According to the current software version of the service software and the version correspondence, version management is performed through the network management device; the version correspondence includes the software version of the service software and the hardware version of the heterogeneous hardware that match each other.
[0007] In a second aspect, an embodiment of the present disclosure provides a method for version management, which is performed by a hardware device having heterogeneous hardware, wherein the hardware device is connected to a software device running business software through a network management device, and at least part of the data of the business software is processed by the heterogeneous hardware; the method comprises:
[0008] Version management is performed through the network management device according to the current hardware version of the heterogeneous hardware and the version correspondence relationship; the version correspondence relationship includes the software version of the business software and the hardware version of the heterogeneous hardware that match each other.
[0009] In a third aspect, an embodiment of the present disclosure provides a version management method, which is executed by a network management device connected between a hardware device having heterogeneous hardware and a software device running business software, wherein at least part of the data of the business software is processed by the heterogeneous hardware; the method comprises:
[0010] Version management is performed according to version correspondences; the version correspondences include software versions of business software that match each other and hardware versions of heterogeneous hardware.
[0011] In a fourth aspect, an embodiment of the present disclosure provides a software device, comprising a memory and a processor; business software runs in the software device, the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements any one of the version management methods of the embodiments of the present disclosure.
[0012] In a fifth aspect, an embodiment of the present disclosure provides a hardware device, which includes a memory, a processor, and heterogeneous hardware; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements any one of the version management methods of the embodiments of the present disclosure.
[0013] In a sixth aspect, an embodiment of the present disclosure provides a network management device, which includes a memory and a processor; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements any version management method of the embodiment of the present disclosure.
[0014] In a seventh aspect, an embodiment of the present disclosure provides a computer-readable medium having a computer program stored thereon, and when the computer program is executed by a processor, any one of the version management methods of the embodiments of the present disclosure is implemented.
[0015] In the embodiments of the present disclosure, the version correspondence is used to determine the target hardware version based on the current software version, or to determine the target software version based on the current hardware version, and the business software or heterogeneous hardware is updated to the target version accordingly; that is, in the embodiments of the present disclosure, the upgrades of the business software and heterogeneous hardware are "related" and "synchronized", which can always ensure that the versions of the business software and heterogeneous hardware match each other, and the heterogeneous hardware can correctly process the data of the business software.
[0016] Therefore, the embodiments of the present disclosure can simplify the upgrade (including rollback) process, increase the upgrade speed, and avoid service unavailability. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In the accompanying drawings of the embodiments of the present disclosure:
[0018] Figure 1 A flowchart of a method for version management of a software device provided by an embodiment of the present disclosure;
[0019] Figure 2 A flowchart of a method for version management of a hardware device provided in an embodiment of the present disclosure;
[0020] Figure 3 A flowchart of a method for version management of a network management device provided by an embodiment of the present disclosure;
[0021] Figure 4A block diagram of a software device provided in an embodiment of the present disclosure;
[0022] Figure 5 A block diagram of a hardware device provided in an embodiment of the present disclosure;
[0023] Figure 6 A block diagram of a network management device provided in an embodiment of the present disclosure;
[0024] Figure 7 A block diagram of a computer-readable medium provided for an embodiment of the present disclosure
[0025] Figure 8 A block diagram of a version management system provided in an embodiment of the present disclosure;
[0026] Fig. 9 A block diagram of another version management system provided by an embodiment of the present disclosure;
[0027] Fig.10 A flowchart of another version management method provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the technical solution of the present disclosure, the version management method, software device, hardware device, network management device, and computer-readable medium provided in the embodiments of the present disclosure are described in detail below in conjunction with the accompanying drawings.
[0029] The present disclosure will be described more fully below with reference to the accompanying drawings, but the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as being limited to the embodiments set forth below. On the contrary, the purpose of providing these embodiments is to make the present disclosure thorough and complete, and will enable those skilled in the art to fully understand the scope of the present disclosure.
[0030] The accompanying drawings of the embodiments of the present disclosure are used to provide a further understanding of the embodiments of the present disclosure, and constitute a part of the specification, and are used together with the detailed embodiments to explain the present disclosure, and do not constitute a limitation of the present disclosure. By describing the detailed embodiments with reference to the accompanying drawings, the above and other features and advantages will become more apparent to those skilled in the art.
[0031] The present disclosure may be described with reference to plan views and / or cross-sectional views by means of ideal schematic views of the present disclosure. Therefore, the exemplary illustrations may be modified according to manufacturing techniques and / or tolerances.
[0032] In the absence of conflict, the various embodiments of the present disclosure and the various features therein may be combined with each other.
[0033] The terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure. The term "and / or" as used in the present disclosure includes any and all combinations of one or more related enumerated items. The singular forms "one" and "the" as used in the present disclosure are also intended to include plural forms, unless the context clearly indicates otherwise. The terms "including", "made of..." as used in the present disclosure specify the presence of the features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof.
[0034] Unless otherwise defined, all terms (including technical and scientific terms) used in this disclosure have the same meaning as commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning unless explicitly defined in this disclosure.
[0035] The present disclosure is not limited to the embodiments shown in the drawings, but includes modifications of the configurations formed based on the manufacturing process. Therefore, the regions illustrated in the drawings have schematic properties, and the shapes of the regions shown in the drawings illustrate the specific shapes of the regions of the elements, but are not intended to be limiting.
[0036] With the development of communication technology, cloud computing technology has been widely used in various fields.
[0037] For example, in the communications industry, with the integration of virtualization and cloud-native technologies, the core network of 5G (fifth-generation mobile communication technology) generally no longer uses proprietary hardware, but instead each network element is hosted on a general-purpose X86 server (such as a virtual machine).
[0038] However, the general architecture of the CPU (central processing unit) in X86 servers is very inefficient in processing certain specific data (such as large-volume messages) and cannot meet the demand. In particular, with the continuous development of 5G, the requirements for high throughput, low latency, high reliability, and high security of messages are getting higher and higher; moreover, in the post-Moore's Law era, the growth rate of CPU processing power is lower than the growth rate of network transmission rate, and the gap is continuously increasing, so it is no longer realistic to improve its processing power by stacking CPU hardware.
[0039] It can be seen that for specific data, specific heterogeneous hardware (non-CPU hardware) may have a much higher processing efficiency than the CPU. For example, if the high-traffic messages sent and / or received by the business software are processed by the smart network card (such as forwarding, encapsulating, decapsulating, etc. according to the protocol), the efficiency is much higher than that of using the CPU for processing.
[0040] To this end, heterogeneous hardware acceleration can be used. That is, the specific data of the business software (such as large-volume messages, image data, etc.) can be divided into specific heterogeneous hardware (such as smart network cards, GPUs, FPGAs, DPUs, etc.) for processing, so as to fully utilize the efficiency advantages of heterogeneous hardware in processing specific data.
[0041] Obviously, the data format of business software with different software versions (such as APP versions, etc.) may be different, and the data processing performed by heterogeneous hardware with different hardware versions (such as driver versions, FPGA logic versions, etc.) may also be different; therefore, to achieve heterogeneous hardware acceleration, the software version of the business software and the hardware version of the heterogeneous hardware should match, otherwise the data of the business software cannot be correctly processed by the heterogeneous hardware.
[0042] In related technologies, in many cases (such as cloud computing scenarios), business software runs on virtual machines or containers virtualized by the CPU in the business layer, while heterogeneous hardware is a physical device located in the physical layer. That is, business software and heterogeneous hardware are located in different layers and isolated from each other, so the changes in their versions (such as upgrades and rollbacks) are also independent of each other, which leads to the following problems:
[0043] (1) Software versions and hardware versions are prone to mismatch (for example, the business software is upgraded automatically, but the heterogeneous hardware has not been upgraded), resulting in business unavailability.
[0044] (2) Business software and heterogeneous hardware need to be upgraded separately, which is a cumbersome and time-consuming process.
[0045] (3) When a problem occurs and a rollback is required, the business software and heterogeneous hardware need to be rolled back separately, which is a cumbersome process and prone to asynchrony.
[0046] In a first aspect, an embodiment of the present disclosure provides a method for version management, which is executed by a software device running business software, at least part of the data of the business software is processed by heterogeneous hardware in the hardware device, and the software device and the hardware device are connected via a network management device.
[0047] The disclosed embodiments are used to control and manage the software version of the business software used (such as APP version, etc.) and the hardware version of the heterogeneous hardware used (such as driver version, FPGA logic version, etc.) in a heterogeneous hardware acceleration scenario, such as upgrading and rolling back.
[0048] Reference Figure 8 The embodiments of the present disclosure are executed by a software device having a general processing device such as a CPU, which may be a virtual machine (VM), a container, etc. virtualized by a CPU, etc. in the business layer of a cloud scenario, or an entity physical machine.
[0049] The above software devices run business software that implements certain functions. The data required or generated by the operation of the business software (such as large-volume messages, image data, etc.) needs to be processed in specific heterogeneous hardware (such as smart network cards, GPUs, FPGAs, DPUs, etc.) that is different from the CPU.
[0050] The above heterogeneous hardware is a physical device located in a hardware device, and the hardware device may be a device where the heterogeneous hardware is located in the physical layer of the cloud scenario, such as a physical node (Host).
[0051] The above software devices (such as the service layer) and hardware devices (such as the physical layer) are interconnected through a network management device, that is, the software devices of the service layer and the hardware devices of the physical layer can transmit information to each other through the network management device. For example, the network management device can be an element management unit (EM).
[0052] It should be understood that reference Fig. 9 ,The CPU of the above software devices and the heterogeneous hardware of ,hardware devices may be physically located in one host, but in the cloud computing ,scenario they belong to different devices at different layers.
[0053] Reference Figure 1 The version management method of the embodiment of the present disclosure includes:
[0054] S101. Perform version management through a network management device according to the current software version of the service software and the version correspondence.
[0055] The version correspondence includes software versions of business software and hardware versions of heterogeneous hardware that match each other.
[0056] Each software version of the business software can be used with one or more hardware versions of heterogeneous hardware, that is, each software version can match some hardware versions, and this matching composition is called "version correspondence".
[0057] Software devices can know the current software version of the business software they run, and network management devices can know the current hardware version of the heterogeneous hardware of hardware devices. Therefore, combined with the above version correspondence, it can be determined whether the current software version matches the current hardware version. If they do not match, the business software or heterogeneous hardware can be upgraded or rolled back to other versions (version management).
[0058] In the embodiments of the present disclosure, the version correspondence is used to determine the target hardware version based on the current software version, or to determine the target software version based on the current hardware version, and the business software or heterogeneous hardware is updated to the target version accordingly; that is, in the embodiments of the present disclosure, the upgrades of the business software and heterogeneous hardware are "related" and "synchronized", which can always ensure that the versions of the business software and heterogeneous hardware match each other, and the heterogeneous hardware can correctly process the data of the business software.
[0059] Therefore, the embodiments of the present disclosure can simplify the upgrade (including rollback) process, increase the upgrade speed, and avoid service unavailability.
[0060] In some embodiments, performing version management (S101) through a network management device according to the current software version of the service software and the version correspondence includes:
[0061] S101A1. Determine the current software version of the business software.
[0062] S101A2: In response to the current hardware version of the heterogeneous hardware being different from the target hardware version, controlling the hardware version of the heterogeneous hardware to be updated to the target hardware version through the network management device.
[0063] The target hardware version is the hardware version that matches the current software version.
[0064] As one method of an embodiment of the present disclosure, after the current software version of the business software is determined, the target hardware version matching the current software version can also be determined.
[0065] The current hardware version of the heterogeneous hardware can also be obtained through the network management device. Therefore, if the current hardware version is different from the target hardware version, it means that the hardware version of the heterogeneous hardware needs to be changed. Therefore, the heterogeneous hardware can be upgraded (including rollback) to the target hardware version.
[0066] Therefore, the embodiment of the present disclosure uses the software version of the business software as a "benchmark" to control the heterogeneous hardware to upgrade to a matching hardware version.
[0067] There are various ways to determine the target hardware version:
[0068] For example, the target hardware version (such as version number) may be embedded in an environment variable or file of the business software of the software device, or the software device may calculate the target hardware version according to the software version using a predetermined algorithm.
[0069] For another example, the above version correspondence may be stored in a network management device, and the software device sends the current software version to the network management device, and the network management device queries the target hardware version.
[0070] For another example, the above version correspondence may be stored in the hardware device, and the software device sends the current software version to the hardware device through the network management device, and the hardware device itself queries the target hardware version.
[0071] There are various ways to change the hardware version:
[0072] For example, the software device may query the current hardware version from the hardware device through the network management device and compare it with the target hardware version obtained by itself. If they are different, the network management device will send an upgrade instruction to the hardware device, instructing the heterogeneous hardware to upgrade to the target hardware version.
[0073] For another example, the network management device may obtain the target hardware version (or current software version) from the software device and the current hardware version from the hardware device. If a difference is found, an upgrade instruction is sent to the hardware device to instruct the heterogeneous hardware to upgrade to the target hardware version.
[0074] For another example, the software device may send the target hardware version (or current software version) to the hardware device through the network management device, and the hardware device compares the target hardware version with its own current hardware version. If they do not match, the heterogeneous hardware is directly upgraded.
[0075] Among them, the specific methods of the embodiments of the present disclosure may also be subject to other changes.
[0076] For example, the above method determines the upgrade of heterogeneous hardware according to the current software version, so it can be executed when the current software version changes (such as upgrading), that is, the method of the embodiment of the present disclosure is executed after the business software is upgraded to ensure that the heterogeneous hardware can be upgraded to the matching hardware version. It should be understood that if the method of the embodiment of the present disclosure is triggered in other ways (such as regular execution), it is also feasible.
[0077] For another example, the above method requires that heterogeneous hardware needs to be upgraded when the current hardware version does not belong to the target hardware version, but does not require that heterogeneous hardware upgrades are not allowed when the current hardware version still belongs to the target hardware version. That is, heterogeneous hardware upgrades can also be performed when the current hardware version still belongs to the target hardware version, indicating that it is necessary to ensure that the upgraded hardware version still belongs to the target hardware version.
[0078] For example, when the above process is triggered after the business software is upgraded, if the upgrade of the heterogeneous hardware is unsuccessful (such as the failure to obtain the current hardware version, or the heterogeneous hardware has not given feedback that the upgrade is successful), it can be an alarm, or the business software itself can roll back to the previous software version (that is, the software version that matches the non-upgraded hardware version), or an alarm and rollback can be performed at the same time.
[0079] In some embodiments, performing version management (S101) through a network management device according to the current software version of the service software and the version correspondence includes:
[0080] S101B1. Determine the current software version of the service software, and determine the target software version matching the current hardware version of the heterogeneous hardware through the network management device.
[0081] S101B2: In response to the current software version being different from the target software version, updating the software version of the service software to the target software version.
[0082] As another method of the embodiment of the present disclosure, the current hardware version of the heterogeneous hardware can also be used as a "benchmark" to control the upgrade of the business software, that is, the matching target software version is determined according to the current hardware version of the heterogeneous hardware, thereby ensuring that the business software can only be upgraded to the target software version when upgrading.
[0083] It should be understood that the specific implementation process of the above method is also diverse.
[0084] For example, the target software version may be determined by a software device, a hardware device, or a network management device.
[0085] For another example, the upgrade of business software can be initiated by hardware device control, can also be initiated by network management equipment control, can also be initiated by software equipment itself, etc.
[0086] For another example, the above process may be initiated when the hardware version of the heterogeneous hardware changes (such as when the heterogeneous hardware is upgraded) so that the business software is upgraded accordingly; or, the above process may also be performed periodically or in other ways.
[0087] For another example, when the current software version does not belong to the target software version, the business software must be upgraded; when the current software version belongs to the target software version, the business software can also be upgraded, but it is necessary to ensure that the software version to be upgraded also belongs to the target software version.
[0088] In a second aspect, an embodiment of the present disclosure provides a version management method, which is executed by a hardware device with heterogeneous hardware. The hardware device is connected to a software device running business software through a network management device, and at least part of the data of the business software is processed by the heterogeneous hardware.
[0089] Reference Figure 8 The version management method of the embodiment of the present disclosure is used to control and manage the software version of the business software and the hardware version of the heterogeneous hardware in a heterogeneous hardware acceleration scenario, and is executed by the above hardware device with heterogeneous hardware.
[0090] Reference Figure 2 The version management method of the embodiment of the present disclosure includes:
[0091] S201. Perform version management through a network management device according to the current hardware version and version correspondence of the heterogeneous hardware.
[0092] The version correspondence includes software versions of business software and hardware versions of heterogeneous hardware that match each other.
[0093] The hardware device can determine the current hardware version of the heterogeneous hardware, and then combine the version correspondence to upgrade and roll back the heterogeneous hardware or business software (version management) through the network management device.
[0094] In some embodiments, performing version management (S201) through a network management device according to the current hardware version and the version correspondence of the heterogeneous hardware includes:
[0095] S201A1. Determine the current hardware version of the heterogeneous hardware, and determine the target hardware version that matches the current software version of the service software through the network management device.
[0096] S201A2: In response to the current hardware version being different from the target hardware version, update the hardware version of the heterogeneous hardware to the target hardware version.
[0097] As one method of an embodiment of the present disclosure, the software version of the available business software is used as a "benchmark", so that the target hardware version can be determined based on the current software version, and the hardware device upgrades the heterogeneous hardware to the target hardware version.
[0098] In some embodiments, performing version management (S201) through a network management device according to the current hardware version and the version correspondence of the heterogeneous hardware includes:
[0099] S201B1. Determine the current hardware version of the heterogeneous hardware.
[0100] S201B2: In response to the current software version of the service software being different from the target software version, the software version of the service software is updated to the target software version through the network management device.
[0101] The target software version is the software version that matches the current hardware version.
[0102] As another method of the embodiment of the present disclosure, the hardware version of heterogeneous hardware can also be used as a "benchmark", and the hardware device determines the current hardware version of the heterogeneous hardware to determine the target software version based on the current hardware version for upgrading the business software.
[0103] As mentioned above, the specific processes of the embodiments of the present disclosure are also diverse and will not be described in detail here.
[0104] In a third aspect, an embodiment of the present disclosure provides a method for version management, which is executed by a network management device connected between a hardware device with heterogeneous hardware and a software device running business software, and at least part of the data of the business software is processed by the heterogeneous hardware.
[0105] Reference Figure 8The version management method of the embodiment of the present disclosure is used to control and manage the software version of the business software and the hardware version of the heterogeneous hardware in a heterogeneous hardware acceleration scenario, and is executed by a network management device connected to the above hardware devices and software devices.
[0106] Reference Figure 3 The version management method of the embodiment of the present disclosure includes:
[0107] S301. Perform version management according to version correspondence.
[0108] The version correspondence includes software versions of business software and hardware versions of heterogeneous hardware that match each other.
[0109] The network management device can receive information about hardware devices and software devices, so that the business software or heterogeneous hardware can be upgraded to the corresponding target version according to the version correspondence.
[0110] In some embodiments, performing version management according to the version correspondence (S301) includes:
[0111] S301A1 : In response to the current hardware version of the heterogeneous hardware being different from the target hardware version, control the hardware version of the heterogeneous hardware to be updated to the target hardware version.
[0112] The target hardware version is the hardware version that matches the current software version of the service software.
[0113] As one method of an embodiment of the present disclosure, the software version of the available business software is used as a "benchmark", so that the target hardware version is determined according to the current software version, and the hardware device upgrades the heterogeneous hardware to the target hardware version.
[0114] In some embodiments, performing version management according to the version correspondence (S301) includes:
[0115] S301B1 . In response to the current software version of the business software being different from the target software version, controlling the software version of the business software to be updated to the target software version.
[0116] The target software version is a software version that matches the current hardware version of the heterogeneous hardware.
[0117] As another method of the embodiment of the present disclosure, the hardware version of heterogeneous hardware can also be used as a "benchmark" to determine the target software version according to the current hardware version, and the software device upgrades the business software to the target software version.
[0118] Fourthly, refer to Figure 4The embodiment of the present disclosure provides a software device, which includes a memory and a processor; business software runs in the software device, and the memory stores a computer program that can be executed by the processor. When the computer program is executed by the processor, any version management method of the embodiment of the present disclosure is implemented.
[0119] Fifth, refer to Figure 5 The embodiment of the present disclosure provides a hardware device, which includes a memory, a processor, and heterogeneous hardware; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, any version management method of the embodiment of the present disclosure is implemented.
[0120] Sixth, refer to Figure 6 The embodiment of the present disclosure provides a network management device, which includes a memory and a processor; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, any version management method of the embodiment of the present disclosure is implemented.
[0121] Seventh, refer to Figure 7 The embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored. When the computer program is executed by a processor, any one of the version management methods of the embodiment of the present disclosure is implemented.
[0122] Among them, the processor is a device with data processing capabilities, including but not limited to the central processing unit (CPU); the memory is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH); the I / O interface (read-write interface) is connected between the processor and the memory, and can realize information exchange between the memory and the processor, including but not limited to the data bus (Bus), etc.
[0123] Example 1:
[0124] The following is an illustrative introduction to a specific process of a version management method according to an embodiment of the present disclosure. The version management method is performed in a version management system.
[0125] Reference Fig. 9The version management system is built based on cloud computing scenarios. The Host (hardware device) has acceleration hardware (heterogeneous hardware) and CPU. The CPU virtually generates VM (software device). Business APP (business software) runs in VM. Business APP includes an acceleration hardware management module for version management. VM also includes a guest operating system (Guest OS). The CPU also runs a virtual machine manager (VMM) and a host operating system (Host OS). The host operating system can connect to the acceleration hardware through the PCI-E interface. The acceleration hardware includes a version loading agent module for version management.
[0126] The acceleration hardware management module of the business APP is connected to the APP communication unit in the acceleration hardware version management module of the EM (network management equipment). The acceleration hardware version management module also includes a version loading unit, which is connected to the version loading agent module of the acceleration hardware.
[0127] Reference Fig.10 The version management method of the embodiment of the present disclosure may include the following steps:
[0128] A101. When the business APP is upgraded to a new version or rolled back to an old version, the acceleration hardware management module uses the embedded data (version correspondence) to obtain the desired acceleration hardware version (target hardware version, such as version B) based on the running APP version (current software version, such as version A).
[0129] A102. The acceleration hardware management module sends a hardware version query message to the APP communication unit.
[0130] Among them, after the acceleration hardware management module sends a hardware version query message, if no reply is received within a certain period of time, it can be resent, an abnormal alarm can be reported to EM, or the APP version can be rolled back to the previous version, etc., which will not be described in detail here.
[0131] A103. The acceleration hardware version management module forwards the hardware version query message to the acceleration hardware version loading agent module through the version loading unit.
[0132] A104. The version loading agent module feeds back a response message to the version loading unit, reports the running acceleration hardware version (current hardware version, such as version C), and is forwarded to the acceleration hardware management module by the APP communication unit.
[0133] A105. The acceleration hardware management module determines that the received acceleration hardware version (version C) is inconsistent with the expected acceleration hardware version (version B), so a hardware version upgrade message is sent to the acceleration hardware version management module.
[0134] The hardware version upgrade message carries information of the desired acceleration hardware version (version B).
[0135] A106. After receiving the hardware version upgrade message, the APP communication unit passes it to the version loading unit.
[0136] A107, the version loading unit obtains the corresponding upgrade file (such as the upgrade file of version B) according to the information of the expected acceleration hardware version (version B), and sends the upgrade file to the version loading agent module of each Host (such as control node, computing node, etc.).
[0137] A108. The version loading agent module receives the upgrade file, calls the corresponding tool, triggers the acceleration hardware to upgrade to the desired acceleration hardware version (version B), and obtains the upgrade information and results and reports them to the version loading unit.
[0138] A108. The version loading unit reports the upgrade information and results to the APP communication unit.
[0139] A109, the APP communication unit sends the upgrade information and results to the business APP.
[0140] Among them, if the upgrade result indicates that the upgrade is successful, the acceleration hardware management module of the business APP can access the acceleration hardware and determine whether the two versions do match: if so, the upgrade is completed, and the subsequent business APP data can be processed normally by the acceleration hardware; if not, the business APP can report an abnormal alarm to EM and / or trigger APP version rollback.
[0141] If the upgrade result indicates that the upgrade has failed, the business APP may report an abnormal alarm to the EM and / or trigger an APP version rollback.
[0142] As mentioned above, the specific embodiments of the present disclosure are various.
[0143] For example, if the version correspondence is stored in EM or Host, it is also feasible.
[0144] For example, it is also feasible to control the upgrade of the APP version according to the running hardware version.
[0145] Those skilled in the art will appreciate that all or some of the steps, systems, and functional modules / units in the apparatus disclosed above may be implemented as software, firmware, hardware, or a suitable combination thereof.
[0146] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation.
[0147] Some physical components or all physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-temporary medium) and a communication medium (or temporary medium). As known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH) or other disk storage; read-only compact disk (CD-ROM), digital versatile disk (DVD) or other optical disk storage; magnetic cassettes, magnetic tapes, disk storage or other magnetic storage; any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0148] The present disclosure has disclosed example embodiments, and although specific terms are employed, they are used and should be interpreted only in a general illustrative sense and not for limiting purposes. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly stated, features, characteristics, and / or elements described in conjunction with a particular embodiment may be used alone or in combination with features, characteristics, and / or elements described in conjunction with other embodiments. Therefore, those skilled in the art will appreciate that various changes in form and detail may be made without departing from the scope of the present disclosure as set forth in the appended claims.
Claims
1. A version management method, executed by a software device running business software, wherein at least part of the data of the business software is processed by heterogeneous hardware in a hardware device, and the software device is connected to the hardware device via a network management device; the method comprises: According to the current software version of the service software and the version correspondence, version management is performed through the network management device; the version correspondence includes the software version of the service software and the hardware version of the heterogeneous hardware that match each other.
2. The method according to claim 1, wherein: The performing version management by the network management device according to the current software version of the service software and the version correspondence includes: Determining the current software version of the business software; In response to the current hardware version of the heterogeneous hardware being different from the target hardware version, the hardware version of the heterogeneous hardware is updated to the target hardware version by controlling the network management device; the target hardware version is a hardware version that matches the current software version.
3. The method according to claim 1, wherein: The performing version management by the network management device according to the current software version of the service software and the version correspondence includes: Determine the current software version of the service software, and determine the target software version matching the current hardware version of the heterogeneous hardware through the network management device; In response to the current software version being different from the target software version, the software version of the business software is updated to the target software version.
4. A version management method, performed by a hardware device having heterogeneous hardware, wherein the hardware device is connected to a software device running service software via a network management device, and at least part of the data of the service software is processed by the heterogeneous hardware; the method comprises: Version management is performed through the network management device according to the current hardware version of the heterogeneous hardware and the version correspondence relationship; the version correspondence relationship includes the software version of the business software and the hardware version of the heterogeneous hardware that match each other.
5. The method according to claim 4, wherein: The performing version management by the network management device according to the current hardware version of the heterogeneous hardware and the version correspondence includes: Determine the current hardware version of the heterogeneous hardware, and determine the target hardware version matching the current software version of the service software through the network management device; In response to the current hardware version being different from the target hardware version, the hardware version of the heterogeneous hardware is updated to the target hardware version.
6. The method according to claim 4, wherein: The performing version management by the network management device according to the current hardware version of the heterogeneous hardware and the version correspondence includes: Determining a current hardware version of the heterogeneous hardware; In response to the current software version of the service software being different from the target software version, the network management device controls the software version of the service software to be updated to the target software version; the target software version is a software version that matches the current hardware version.
7. A version management method, performed by a network management device connected between a hardware device having heterogeneous hardware and a software device running business software, wherein at least part of the data of the business software is processed by the heterogeneous hardware; the method comprising: Version management is performed according to version correspondences; the version correspondences include software versions of business software that match each other and hardware versions of heterogeneous hardware.
8. The method according to claim 7, wherein: The version management according to the version correspondence relationship includes: In response to the current hardware version of the heterogeneous hardware being different from the target hardware version, the hardware version of the heterogeneous hardware is controlled to be updated to the target hardware version; the target hardware version is a hardware version that matches the current software version of the business software.
9. The method according to claim 7, wherein: The version management according to the version correspondence relationship includes: In response to the current software version of the business software being different from the target software version, the software version of the business software is controlled to be updated to the target software version; the target software version is a software version that matches the current hardware version of the heterogeneous hardware.
10. A software device comprising a memory and a processor; business software runs in the software device, the memory stores a computer program that can be executed by the processor, and the computer program, when executed by the processor, implements the version management method described in any one of claims 1 to 3.
11. A hardware device comprising a memory, a processor, and heterogeneous hardware; the memory stores a computer program that can be executed by the processor, and the computer program, when executed by the processor, implements the version management method described in any one of claims 4 to 6.
12. A network management device, comprising a memory and a processor; the memory stores a computer program that can be executed by the processor, and the computer program, when executed by the processor, implements the version management method described in any one of claims 7 to 9.
13. A computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the version management method according to any one of claims 1 to 9.
