WO2019179459A1 - Method and system for verifying software version - Google Patents

Method and system for verifying software version Download PDF

Info

Publication number
WO2019179459A1
WO2019179459A1 PCT/CN2019/078856 CN2019078856W WO2019179459A1 WO 2019179459 A1 WO2019179459 A1 WO 2019179459A1 CN 2019078856 W CN2019078856 W CN 2019078856W WO 2019179459 A1 WO2019179459 A1 WO 2019179459A1
Authority
WO
WIPO (PCT)
Prior art keywords
software version
new
test platform
standby
new software
Prior art date
Application number
PCT/CN2019/078856
Other languages
French (fr)
Chinese (zh)
Inventor
吴成文
张钰
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2019179459A1 publication Critical patent/WO2019179459A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers

Definitions

  • the present disclosure relates to the field of communication technologies, for example, to a method and system for verifying a software version.
  • Synstem Testing combines software, computer hardware, peripherals, networks and other elements to perform one or more assembly and validation tests of an information system.
  • System testing is a test conducted on the entire product system. The purpose is to verify whether the final software system meets the product requirements and follows the system design to find out where the requirements are inconsistent or contradictory, thus proposing a more complete solution.
  • the system test process includes: developing test plans, designing test cases, performing system tests, defect management, and correcting errors. Because system testing usually begins with test planning and design test cases after product requirements and system design documentation are completed, the testers responsible for system testing and the developers responsible for software development typically work in parallel. When the tester finds a problem, the developer is usually notified to modify the code for the problem, but the modified code can easily lead to new problems, which leads to instability of the software version.
  • the embodiments of the present disclosure provide a method and system for verifying a software version, which can shorten the time for the system to test and verify the software version, and improve the reliability of the software version.
  • an embodiment of the present disclosure provides a method for verifying a software version, including:
  • the standby device loads and activates the new software version
  • the standby device performs the master/slave service synchronization with the master device, and performs the active/standby switchover after the synchronization is completed.
  • the software version management and test platform After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
  • an embodiment of the present disclosure provides a system for verifying a software version, including:
  • the master device is configured to carry services in the active/standby structure service network including the master device and the standby device.
  • the standby device is configured to load and activate the new software version when a new software version is generated, and synchronize the active and standby services with the master device when the new software version can be successfully started. Perform the active/standby switchover after the synchronization is complete.
  • the software version management and test platform is configured to perform a service test to verify the new software version after the standby device carries the service as a new primary device.
  • FIG. 1 is a flowchart of a method for verifying a software version according to an embodiment of the present disclosure
  • FIG. 2 is a schematic diagram of a system for verifying a software version according to an embodiment of the present disclosure
  • Example 3 is a schematic diagram of a test system for verifying a software version in Example 1 of the embodiment of the present disclosure
  • Example 4 is a schematic diagram of a test system for verifying a software version in Example 2 of the embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of a test system for verifying a software version in Example 3 of the embodiment of the present disclosure.
  • an embodiment of the present disclosure provides a method for verifying a software version, including:
  • Step 110 In the active/standby service network including the primary device and the standby device, in the case that the standby device generates a new software version, the standby device loads and activates the new software version.
  • Step 120 In the case that the standby device can successfully start the new software version, the standby device performs the master/slave service synchronization with the master device, and performs the active/standby switchover after the synchronization is completed.
  • Step 130 After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
  • the master device and the standby device are two independent devices, or the master device and the standby device are two different main control boards (main masters) disposed in one device.
  • the number of the master devices is one, and the number of the standby devices may be one or more; for example, the master device is a master router, and the standby device is a standby router; or The master device is the main control board of the router, and the standby device is the standby main control board of the router.
  • the method further includes:
  • the standby device If the standby device is unable to successfully start the new software version, the standby device re-rolls back to the old software version before the new software version, and sends a new software version to the software version management and test platform. Version start failure notification.
  • the software version management and test platform after receiving the new version startup failure notification, forwards the new version startup failure notification to the relevant personnel.
  • the method prior to generating a new software version, the method further comprises:
  • the software version management and test platform obtains the code from the code server to the local and compiles by running the automated build script according to the set time.
  • the automated compilation script is written according to the requirements of the software and hardware operating environment of the new software version; wherein the hardware environment requirements are: device port, line card type, etc.; software environment requirements such as: protocol type, software function set Wait.
  • the software version management and test platform can automatically compile unattended by automatically obtaining code from the code server.
  • the software version management and test platform after the software version management and test platform acquires the code from the code server to the local and compiles according to the set time, the software version management and test platform further includes:
  • the software version management and test platform sends a notification that the new software version is successfully compiled to the relevant personnel; if the compilation fails, the software version management and test platform sends the new software version to the relevant personnel to compile the error. Notice.
  • the notification of successful completion of the new software version compilation or the notification of the new software version compilation error may be notified to the relevant personnel by means of short message or other communication means.
  • the software version management and test platform performs business testing to verify new software versions, including:
  • the software version management and test platform sends a verification failure notification to the relevant personnel;
  • the software version management and test platform sends a verification pass notification to the relevant personnel.
  • the verification may be notified to the relevant personnel by using a short message or other communication means through the notification or the verification failure notification.
  • the software version management and test platform when the primary device and the standby device are routers, the software version management and test platform performs a service test to verify a new software version, including:
  • the software version management and test platform determines that the new software version is verified
  • the software version management and test platform determines that the new software version verification fails (ie, the verification fails), and sends an error location notification to the relevant personnel.
  • the error location notification may be notified to the relevant personnel by using a short message or other communication manner.
  • an embodiment of the present disclosure provides a system for verifying a software version, including:
  • the master device 201 is configured to carry the service in the active/standby structure service network including the master device and the standby device.
  • the standby device 202 is configured to load and activate the new software version if a new software version is generated. If the new software version can be successfully started, synchronize the active and standby services with the primary device, and synchronize. After the completion of the active/standby switchover;
  • the software version management and test platform 203 is configured to perform a service test to verify the new software version after the new primary device carries the service;
  • the master device and the standby device are two independent devices, or the master device and the standby device are two different main control boards (main masters) disposed in one device.
  • the number of the master devices is one, and the number of the standby devices may be one or more; for example, the master device is a master router, and the standby device is a standby router; or The master device is the main control board of the router, and the standby device is the standby main control board of the router.
  • the software version management and testing platform is further configured to acquire the code from the code server to the local and compile according to the set time by running the automated compilation script;
  • the automated compilation script is written according to the requirements of the software and hardware operating environment of the new software version; wherein the hardware environment requirements are: device port, line card type, etc.; software environment requirements such as: protocol type, software function set Wait.
  • the software version management and test platform can automatically compile unattended by automatically obtaining code from the code server.
  • the software version management and test platform is further configured to send a notification that the new software version is successfully compiled to the relevant personnel if the compilation is successful; and send the relevant personnel to the relevant personnel if the compilation fails.
  • the new software version compiles a notification of the error.
  • the notification of successful completion of the new software version compilation or the notification of the new software version compilation error may be notified to the relevant personnel by means of short message or other communication means.
  • the standby device is further configured to re-roll back to the old software version before the new software version if the new software version cannot be successfully started, and to the software
  • the version management and test platform sends a new version start failure notification
  • the software version management and test platform is further configured to receive the new version startup failure notification, and forward the new version startup failure notification to the relevant personnel;
  • the software version management and test platform is configured to: if the new software version verification fails, send a verification failure notification to the relevant personnel; if the new software version verification passes, send the relevant software to the relevant personnel. Verify by notification.
  • the verification may be notified to the relevant personnel by using a short message or other communication means through the notification or the verification failure notification.
  • the software version management and test platform is configured to: if the traffic forwarding corresponding to the service function of all services is successful, determine the new If the traffic forwarding corresponding to the service function of any one of the services is unsuccessful, it is determined that the new software version verification fails, and the error location notification is sent to the relevant personnel.
  • the error location notification may be notified to the relevant personnel by using a short message or other communication manner.
  • the test system shown in FIG. 3 includes a code server 10, a software version management and test platform (such as a personal computer (PC)) 20, a router 30, and a tester 40.
  • the code server is set to provide the code of the software version to be verified.
  • the PC is set up to get the code from the code server to the local and compile at a set time by running an automated build script.
  • the router is a communication device to be upgraded (software version upgrade), and includes an active board 301 and a backup board 302.
  • the main board is configured to carry a service, which is responsible for forwarding and controlling traffic, and the standby board does not carry services, that is, The standby board can receive traffic but does not forward it.
  • the tester is set to test whether the traffic forwarding is normal, send data packets to the router, and receive data packets forwarded by the router.
  • the PC can acquire the code from the code server according to the set time in an unattended manner, and then compile the code by executing a script, wherein the compiled hardware environment and the software environment are preset, for example, which device is used. , which line card, which software feature set has requirements. If the compilation fails, the compilation failure message is returned and the SMS message notification is triggered to the relevant code personnel and the version manager to resolve the compilation error. If the compilation is successful, a new software version is created and generated according to preset conditions (eg, version name, etc.), and the version manager is notified by SMS or by other means of communication.
  • preset conditions eg, version name, etc.
  • the main board and the standby board of the router adopt the method of superimposing networking.
  • the new software version is generated, the new software version is loaded on the standby board.
  • the service between the standby board and the active board is synchronized.
  • the two are switched between active and standby.
  • the original active board becomes the original board.
  • the new spare board the original spare board becomes the new main board.
  • the test system shown in FIG. 4 includes a code server 10, a software version management and test platform (eg, PC) 20, a router 30, a tester 40, and a switch 50.
  • the code server is set to provide the code of the software version to be verified.
  • the switch is set up to interconnect the code server, PC, and router into a local area network.
  • the PC is set to retrieve code from the code server, compile the code according to a pre-set command, and generate a new software version.
  • the router is a communication device to be upgraded (software version upgrade), and includes an active board 301 and a backup board 302.
  • the main board is responsible for receiving service traffic and forwarding, and the standby board can receive service traffic but does not forward.
  • the tester is set up for traffic testing: sending packets to the router and receiving packets forwarded by the router.
  • the switch can be used to obtain code from a remote code server for version compilation, and software version upgrade for a remote router.
  • the test system of this example verifies that the new software version is the same as the test system in Example 1.
  • the test system shown in FIG. 5 includes: a code server 10, a software version management and test platform (such as a PC) 20, a main router 301, a backup router 302, and a plurality of testers (a first tester 401, a second tester) 402) and switch 50.
  • a code server 10 a software version management and test platform (such as a PC) 20
  • main router 301 a main router 301
  • backup router 302 a plurality of testers (a first tester 401, a second tester) 402) and switch 50.
  • the code server is set to provide the code for the software version to be verified.
  • the switch is set up to interconnect the code server, PC, primary router, and standby router.
  • the PC is set to retrieve code from the code server, compile the code according to a pre-set command, and generate a new software version.
  • the primary router is responsible for receiving traffic and forwarding it.
  • the standby router can receive traffic but does not forward it.
  • the first tester is configured to send data packets to the primary router and receive data packets sent by the primary router.
  • the second tester is configured to send data packets to the standby router and receive data packets sent by the standby router.
  • the PC can use the Git command to obtain code from the remote code server to the local location at an unattended time, and then compile the code by executing a script, wherein the compiled hardware environment and the software environment are preset. For example, which device to use, which line card, which software feature set is required, and so on.
  • the Git instruction is a distributed code version management system instruction. If the compilation fails, the compilation failure message is returned and the SMS message notification is triggered to the relevant code personnel and the version manager to resolve the compilation error. If the compilation is successful, a new software version is created and generated according to preset conditions (eg, version name, etc.), and the version manager is notified by SMS or by other means of communication.
  • the primary router and the standby router adopt the method of overlay networking.
  • the new software version is generated, the new software version is loaded on the standby router.
  • the standby router and the primary router perform service synchronization.
  • the two perform the active/standby switchover.
  • the original primary router becomes the new one.
  • the standby router the original standby router becomes the new primary router.
  • a method and system for verifying a software version provided by an embodiment of the present disclosure, in a service network including a master device and a standby device, in a case where a new software version is generated by the standby device And the standby device loads and activates the new software version; if the standby device can start the new software version, the master device performs synchronization with the master device, and performs active/standby switchover after the synchronization is completed; After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
  • the embodiments of the present disclosure can shorten the time for the system test to verify the software version and improve the reliability of the software version.
  • an embodiment of the present disclosure further provides a computer readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the method of any of the above embodiments.
  • Storage medium any one or more types of memory devices or storage devices.
  • the foregoing storage medium may be a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as a read-only memory.
  • RAM random access memory
  • ROM Read-Only Memory
  • flash memory flash memory
  • HDD Hard Disk Drive
  • SSD Solid-State Drive
  • the storage medium may further include: a compact disc read-only memory (CD-ROM), a floppy disk or a magnetic tape device; a computer system memory or a random access memory such as a dynamic random access memory (Dynamic Random Access Memory, DRAM), (Double Data Rate Random Access Memory, DDR RAM), Static Random Access Memory (SRAM), Extended Data Output Random Access Memory (EDO RAM), Lan A Rambus Random Access Memory (Rambus RAM) or the like; a non-volatile memory such as a flash memory, a magnetic medium such as a hard disk or an optical storage; a register or other similar type of memory element or the like.
  • the storage medium may also include other types of memory or a combination thereof.
  • the processor may be an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), or a Programmable Logic Device (Programmable Logic). Device, PLD), at least one of a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processor
  • DSPD Digital Signal Processing Device
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • CPU Central Processing Unit
  • controller a controller
  • microcontroller a microcontroller
  • the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system, the second computer system being coupled to the first computer system via a network, such as the Internet.
  • the second computer system can provide program instructions to the first computer for execution.
  • the term "storage medium" can include two or more storage media that can reside in different locations (eg, in different computer systems connected through a network).
  • a storage medium may store program instructions (eg, a computer program) that can be executed by one or more processors.

Abstract

Disclosed is a method for verifying a software version. The method comprises: in a master-slave structure service network containing a master device and a slave device, where the slave device generates a new software version, the slave device loading and activating the new software version; if the slave device can successfully start the new software version, the slave device performing master-slave service synchronization with the master device, and performing master-slave switching after the completion of the synchronization; and after the slave device bears a service as a new master device, a software version management and testing platform performing service testing to verify the new software version. Further disclosed is a system for verifying a software version.

Description

验证软件版本的方法及系统Method and system for verifying software version
本申请要求在2018年3月23日提交中国专利局、申请号为201810245253.3的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application, the entire disclosure of which is hereby incorporated by reference.
技术领域Technical field
本公开涉及通信技术领域,例如涉及一种验证软件版本的方法及系统。The present disclosure relates to the field of communication technologies, for example, to a method and system for verifying a software version.
背景技术Background technique
系统测试(Synstem Testing)是将软件、计算机硬件、外设、网络等元素结合在一起,进行信息系统的一种或多种组装测试和确认测试。系统测试是针对整个产品系统进行的测试,目的是验证最终软件系统是否满足产品需求并且遵循系统设计,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。Synstem Testing combines software, computer hardware, peripherals, networks and other elements to perform one or more assembly and validation tests of an information system. System testing is a test conducted on the entire product system. The purpose is to verify whether the final software system meets the product requirements and follows the system design to find out where the requirements are inconsistent or contradictory, thus proposing a more complete solution.
系统测试流程包括:制定测试计划、设计测试用例、执行系统测试、缺陷管理与改错。由于系统测试通常是在产品需求和系统设计文档完成之后,就开始制定测试计划和设计测试用例,所以负责系统测试的测试人员和负责软件开发的开发人员通常并行工作。当测试人员发现一个问题之后,通常会通知开发人员针对该问题修改代码,但是修改后的代码很容易导致新的问题,从而导致软件版本的不稳定。The system test process includes: developing test plans, designing test cases, performing system tests, defect management, and correcting errors. Because system testing usually begins with test planning and design test cases after product requirements and system design documentation are completed, the testers responsible for system testing and the developers responsible for software development typically work in parallel. When the tester finds a problem, the developer is usually notified to modify the code for the problem, but the modified code can easily lead to new problems, which leads to instability of the software version.
随着技术的发展,人们在生活中越来越依赖网络,因此对网络设备上运行的软件版本的可靠性和软件功能的更新速度提出了更高的要求,如何使系统测试更好地服务于软件版本的验证,避免在网络设备上运行不稳定的软件版本,并缩短软件版本的生成周期,是待解决的问题。With the development of technology, people are increasingly relying on the network in their lives. Therefore, the reliability of the software version running on the network device and the update speed of the software function are put forward higher requirements. How to make the system test better serve the software Version verification, to avoid running unstable software versions on network devices, and shortening the software version generation cycle, is a problem to be solved.
发明内容Summary of the invention
本公开实施例提供一种验证软件版本的方法及系统,能够缩短系统测试验证软件版本的时间,提高软件版本的可靠性。The embodiments of the present disclosure provide a method and system for verifying a software version, which can shorten the time for the system to test and verify the software version, and improve the reliability of the software version.
在一实施例中,本公开实施例提供一种验证软件版本的方法,包括:In an embodiment, an embodiment of the present disclosure provides a method for verifying a software version, including:
在包含主设备和备设备的主备结构业务网络中,在所述备设备产生新的软件版本的情况下,所述备设备加载并激活所述新的软件版本;In the active/standby service network including the primary device and the standby device, in the case that the standby device generates a new software version, the standby device loads and activates the new software version;
在所述备设备能够成功启动所述新的软件版本的情况下,所述备设备与所述主设备进行主备业务同步,同步完成后进行主备倒换;In the case that the standby device can successfully start the new software version, the standby device performs the master/slave service synchronization with the master device, and performs the active/standby switchover after the synchronization is completed.
在所述备设备作为新的主设备承载业务后,软件版本管理及测试平台进行业务测试以验证所述新的软件版本。After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
在一实施例中,本公开实施例提供一种验证软件版本的系统,包括:In an embodiment, an embodiment of the present disclosure provides a system for verifying a software version, including:
主设备,设置为在包含主设备和备设备的主备结构业务网络中承载业务;The master device is configured to carry services in the active/standby structure service network including the master device and the standby device.
备设备,设置为在产生新的软件版本的情况下,加载并激活所述新的软件版本,在能够成功启动所述新的软件版本的情况下,与所述主设备进行主备业务同步,同步完成后进行主备倒换;The standby device is configured to load and activate the new software version when a new software version is generated, and synchronize the active and standby services with the master device when the new software version can be successfully started. Perform the active/standby switchover after the synchronization is complete.
软件版本管理及测试平台,设置为在所述备设备作为新的主设备承载业务后,进行业务测试以验证所述新的软件版本。The software version management and test platform is configured to perform a service test to verify the new software version after the standby device carries the service as a new primary device.
附图说明DRAWINGS
图1为本公开实施例提供的一种验证软件版本的方法流程图;FIG. 1 is a flowchart of a method for verifying a software version according to an embodiment of the present disclosure;
图2为本公开实施例提供的一种验证软件版本的系统示意图;2 is a schematic diagram of a system for verifying a software version according to an embodiment of the present disclosure;
图3为本公开实施例的示例1中的一种验证软件版本的测试系统的示意图;3 is a schematic diagram of a test system for verifying a software version in Example 1 of the embodiment of the present disclosure;
图4为本公开实施例的示例2中的一种验证软件版本的测试系统的示意图;4 is a schematic diagram of a test system for verifying a software version in Example 2 of the embodiment of the present disclosure;
图5为本公开实施例的示例3中的一种验证软件版本的测试系统的示意图。FIG. 5 is a schematic diagram of a test system for verifying a software version in Example 3 of the embodiment of the present disclosure.
具体实施方式detailed description
下文中结合附图对本公开的实施例进行说明。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。Embodiments of the present disclosure will be described below with reference to the accompanying drawings. The embodiments in the present application and the features in the embodiments may be arbitrarily combined with each other without conflict.
实施例1Example 1
如图1a所示,本公开实施例提供了一种验证软件版本的方法,包括:As shown in FIG. 1a, an embodiment of the present disclosure provides a method for verifying a software version, including:
步骤110,在包含主设备和备设备的主备结构业务网络中,在所述备设备产生新的软件版本的情况下,所述备设备加载并激活所述新的软件版本。Step 110: In the active/standby service network including the primary device and the standby device, in the case that the standby device generates a new software version, the standby device loads and activates the new software version.
步骤120,在所述备设备能够成功启动所述新的软件版本的情况下,所述备设备与所述主设备进行主备业务同步,同步完成后进行主备倒换。Step 120: In the case that the standby device can successfully start the new software version, the standby device performs the master/slave service synchronization with the master device, and performs the active/standby switchover after the synchronization is completed.
步骤130,在所述备设备作为新的主设备承载业务后,所述软件版本管理及测试平台进行业务测试以验证所述新的软件版本。Step 130: After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
在一种实施方式中,所述主设备和所述备设备是两个独立的设备,或者所述主设备和所述备设备是设置在一个设备中的两个不同的主控板(主主控板和备主控板);所述主设备的数量为一个,所述备设备的数量可以为一个或多个;比如,所述主设备为主路由器,所述备设备为备路由器;或者所述主设备为路由器的主主控板,所述备设备为路由器的备主控板。In an embodiment, the master device and the standby device are two independent devices, or the master device and the standby device are two different main control boards (main masters) disposed in one device. The number of the master devices is one, and the number of the standby devices may be one or more; for example, the master device is a master router, and the standby device is a standby router; or The master device is the main control board of the router, and the standby device is the standby main control board of the router.
在一种实施方式中,在所述备设备加载并激活所述新的软件版本后,所述方法还包括:In an embodiment, after the standby device loads and activates the new software version, the method further includes:
如果所述备设备不能够成功启动所述新的软件版本,则所述备设备重新回退到所述新的软件版本之前的旧的软件版本,并向所述软件版本管理及测试平台发送新版本启动失败通知。If the standby device is unable to successfully start the new software version, the standby device re-rolls back to the old software version before the new software version, and sends a new software version to the software version management and test platform. Version start failure notification.
在一实施例中,所述软件版本管理及测试平台接收到所述新版本启动失败通知后,将所述新版本启动失败通知转发给相关人员。In an embodiment, after receiving the new version startup failure notification, the software version management and test platform forwards the new version startup failure notification to the relevant personnel.
在一种实施方式中,在产生新的软件版本之前,所述方法还包括:In one embodiment, prior to generating a new software version, the method further comprises:
软件版本管理及测试平台通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译。The software version management and test platform obtains the code from the code server to the local and compiles by running the automated build script according to the set time.
其中,所述自动化编译脚本是按新的软件版本的软硬件运行环境要求编写的;其中,所述硬件环境要求比如:设备端口、线卡种类等;软件环境要求比如:协议类型、软件功能集等。The automated compilation script is written according to the requirements of the software and hardware operating environment of the new software version; wherein the hardware environment requirements are: device port, line card type, etc.; software environment requirements such as: protocol type, software function set Wait.
软件版本管理及测试平台通过自动从代码服务器获取代码,可以实现在无人值守的情况下进行自动编译。The software version management and test platform can automatically compile unattended by automatically obtaining code from the code server.
在一种实施方式中,软件版本管理及测试平台通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译后,所述方法还包括:In an embodiment, after the software version management and test platform acquires the code from the code server to the local and compiles according to the set time, the software version management and test platform further includes:
如果编译成功,则软件版本管理及测试平台向相关人员发送所述新的软件版本编译成功的通知;如果编译失败,则软件版本管理及测试平台向相关人员发送所述新的软件版本编译错误的通知。在一实施例中,所述新的软件版本编译成功的通知或新的软件版本编译错误的通知可以采用短信的方式或其他通讯方式通知到相关人员。If the compilation is successful, the software version management and test platform sends a notification that the new software version is successfully compiled to the relevant personnel; if the compilation fails, the software version management and test platform sends the new software version to the relevant personnel to compile the error. Notice. In an embodiment, the notification of successful completion of the new software version compilation or the notification of the new software version compilation error may be notified to the relevant personnel by means of short message or other communication means.
在一种实施方式中,所述软件版本管理及测试平台进行业务测试以验证新的软件版本,包括:In one embodiment, the software version management and test platform performs business testing to verify new software versions, including:
如果新的软件版本验证失败,则所述软件版本管理及测试平台向相关人员发送验证失败通知;If the new software version verification fails, the software version management and test platform sends a verification failure notification to the relevant personnel;
如果新的软件版本验证通过,则所述软件版本管理及测试平台向相关人员发送验证通过通知。If the new software version is verified, the software version management and test platform sends a verification pass notification to the relevant personnel.
其中,所述验证通过通知或验证失败通知可以采用短信的方式或其他通讯方式通知到相关人员。The verification may be notified to the relevant personnel by using a short message or other communication means through the notification or the verification failure notification.
在一种实施方式中,当所述主设备和备设备是路由器时,所述软件版本管理及测试平台进行业务测试以验证新的软件版本,包括:In an embodiment, when the primary device and the standby device are routers, the software version management and test platform performs a service test to verify a new software version, including:
如果所有业务的业务功能对应的流量转发均成功,则所述软件版本管理及测试平台确定所述新的软件版本验证通过;If the traffic forwarding corresponding to the service function of all services is successful, the software version management and test platform determines that the new software version is verified;
如果任意一个业务的业务功能对应的流量转发不成功,则所述软件版本管理及测试平台确定所述新的软件版本验证不通过(即,验证失败),并向相关人员发送错误定位通知。If the traffic forwarding corresponding to the service function of any one of the services is unsuccessful, the software version management and test platform determines that the new software version verification fails (ie, the verification fails), and sends an error location notification to the relevant personnel.
其中,所述错误定位通知可以采用短信的方式或其他通讯方式通知到相关人员。The error location notification may be notified to the relevant personnel by using a short message or other communication manner.
实施例2Example 2
如图2所示,本公开实施例提供了一种验证软件版本的系统,包括:As shown in FIG. 2, an embodiment of the present disclosure provides a system for verifying a software version, including:
主设备201,设置为在包含主设备和备设备的主备结构业务网络中承载业务;The master device 201 is configured to carry the service in the active/standby structure service network including the master device and the standby device.
备设备202,设置为在产生新的软件版本的情况下,加载并激活所述新的软件版本,如果能够成功启动所述新的软件版本,则与所述主设备进行主备业务 同步,同步完成后进行主备倒换;The standby device 202 is configured to load and activate the new software version if a new software version is generated. If the new software version can be successfully started, synchronize the active and standby services with the primary device, and synchronize. After the completion of the active/standby switchover;
软件版本管理及测试平台203,设置为在新的主设备承载业务后,进行业务测试以验证所述新的软件版本;The software version management and test platform 203 is configured to perform a service test to verify the new software version after the new primary device carries the service;
在一种实施方式中,所述主设备和所述备设备是两个独立的设备,或者所述主设备和所述备设备是设置在一个设备中的两个不同的主控板(主主控板和备主控板);所述主设备的数量为一个,所述备设备的数量可以为一个或多个;比如,所述主设备为主路由器,所述备设备为备路由器;或者所述主设备为路由器的主主控板,所述备设备为路由器的备主控板。In an embodiment, the master device and the standby device are two independent devices, or the master device and the standby device are two different main control boards (main masters) disposed in one device. The number of the master devices is one, and the number of the standby devices may be one or more; for example, the master device is a master router, and the standby device is a standby router; or The master device is the main control board of the router, and the standby device is the standby main control board of the router.
在一种实施方式中,软件版本管理及测试平台,还设置为通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译;In an embodiment, the software version management and testing platform is further configured to acquire the code from the code server to the local and compile according to the set time by running the automated compilation script;
其中,所述自动化编译脚本是按新的软件版本的软硬件运行环境要求编写的;其中,所述硬件环境要求比如:设备端口、线卡种类等;软件环境要求比如:协议类型、软件功能集等。The automated compilation script is written according to the requirements of the software and hardware operating environment of the new software version; wherein the hardware environment requirements are: device port, line card type, etc.; software environment requirements such as: protocol type, software function set Wait.
软件版本管理及测试平台通过自动从代码服务器获取代码,可以实现在无人值守的情况下进行自动编译。The software version management and test platform can automatically compile unattended by automatically obtaining code from the code server.
在一种实施方式中,软件版本管理及测试平台,还设置为在编译成功的情况下,向相关人员发送所述新的软件版本编译成功的通知;在编译失败的情况下,向相关人员发送所述新的软件版本编译错误的通知。在一实施例中,所述新的软件版本编译成功的通知或新的软件版本编译错误的通知可以采用短信的方式或其他通讯方式通知到相关人员。In an embodiment, the software version management and test platform is further configured to send a notification that the new software version is successfully compiled to the relevant personnel if the compilation is successful; and send the relevant personnel to the relevant personnel if the compilation fails. The new software version compiles a notification of the error. In an embodiment, the notification of successful completion of the new software version compilation or the notification of the new software version compilation error may be notified to the relevant personnel by means of short message or other communication means.
在一种实施方式中,所述备设备,还设置为如果不能够成功启动所述新的软件版本,则重新回退到所述新的软件版本之前的旧的软件版本,并向所述软件版本管理及测试平台发送新版本启动失败通知;In an embodiment, the standby device is further configured to re-roll back to the old software version before the new software version if the new software version cannot be successfully started, and to the software The version management and test platform sends a new version start failure notification;
所述软件版本管理及测试平台,还设置为接收所述新版本启动失败通知,并将所述新版本启动失败通知转发给相关人员;The software version management and test platform is further configured to receive the new version startup failure notification, and forward the new version startup failure notification to the relevant personnel;
在一种实施方式中,所述软件版本管理及测试平台,是设置为:如果新的软件版本验证失败,则向相关人员发送验证失败通知;如果新的软件版本验证通过,则向相关人员发送验证通过通知。In an embodiment, the software version management and test platform is configured to: if the new software version verification fails, send a verification failure notification to the relevant personnel; if the new software version verification passes, send the relevant software to the relevant personnel. Verify by notification.
其中,所述验证通过通知或验证失败通知可以采用短信的方式或其他通讯方式通知到相关人员。The verification may be notified to the relevant personnel by using a short message or other communication means through the notification or the verification failure notification.
在一种实施方式中,当所述主设备和备设备是路由器时,所述软件版本管理及测试平台,是设置为:如果所有业务的业务功能对应的流量转发均成功,则确定所述新的软件版本验证通过;如果任意一个业务的业务功能对应的流量转发不成功,则确定所述新的软件版本验证不通过,并向相关人员发送错误定位通知。In an embodiment, when the primary device and the standby device are routers, the software version management and test platform is configured to: if the traffic forwarding corresponding to the service function of all services is successful, determine the new If the traffic forwarding corresponding to the service function of any one of the services is unsuccessful, it is determined that the new software version verification fails, and the error location notification is sent to the relevant personnel.
其中,所述错误定位通知可以采用短信的方式或其他通讯方式通知到相关人员。The error location notification may be notified to the relevant personnel by using a short message or other communication manner.
实施例3Example 3
下面通过一些示例说明本公开实施例的技术方案。The technical solutions of the embodiments of the present disclosure are explained below by some examples.
示例1Example 1
如图3所示的测试系统包括:代码服务器10、软件版本管理及测试平台(比如,个人计算机(Personal Computer,PC))20、路由器30和测试仪40。The test system shown in FIG. 3 includes a code server 10, a software version management and test platform (such as a personal computer (PC)) 20, a router 30, and a tester 40.
其中,代码服务器设置为提供待验证的软件版本的代码。PC设置为通过运行自动化编译脚本按设定时间从代码服务器获取代码到本地并进行编译。路由器,是待升级(软件版本升级)的通讯设备,包括主用板301和备用板302,其中,主用板设置为承载业务,负责流量的转发和控制,备用板不承载业务,也即,备用板能够接收到业务流量,但是不进行转发。测试仪,设置为测试流量转发是否正常,向路由器发送数据包以及接收路由器转发的数据包。Wherein, the code server is set to provide the code of the software version to be verified. The PC is set up to get the code from the code server to the local and compile at a set time by running an automated build script. The router is a communication device to be upgraded (software version upgrade), and includes an active board 301 and a backup board 302. The main board is configured to carry a service, which is responsible for forwarding and controlling traffic, and the standby board does not carry services, that is, The standby board can receive traffic but does not forward it. The tester is set to test whether the traffic forwarding is normal, send data packets to the router, and receive data packets forwarded by the router.
PC可以在无人值守的情况下,按设定时间从代码服务器获取代码,然后通过执行脚本对所述代码进行编译,其中,编译的硬件环境和软件环境都预先设置,比如,使用哪种设备,哪种线卡,对哪些软件功能集有需求等。如果编译失败,返回编译失败信息并触发短信消息通知给相关代码人员及版本经理以解决编译错误。如果编译成功,按预设条件(比如,版本名称等信息)制作并生成新的软件版本,并发送短信或通过其他通讯方式通知版本经理。The PC can acquire the code from the code server according to the set time in an unattended manner, and then compile the code by executing a script, wherein the compiled hardware environment and the software environment are preset, for example, which device is used. , which line card, which software feature set has requirements. If the compilation fails, the compilation failure message is returned and the SMS message notification is triggered to the relevant code personnel and the version manager to resolve the compilation error. If the compilation is successful, a new software version is created and generated according to preset conditions (eg, version name, etc.), and the version manager is notified by SMS or by other means of communication.
本测试系统中,路由器的主用板和备用板采用叠加组网的方式。新的软件版本生成后,备用板上加载新的软件版本,激活并重启后,备用板和主用板之 间进行业务同步,同步完成后,二者进行主备倒换,原来的主用板成为新的备用板,原来的备用板成为新的主用板。检查新的主用板上硬件环境是否正常,业务的流量转发是否正常,功能是否都实现正常,如果存在硬件异常或者丢包现象或者其他不正常,则可以触发短信通知或采用其他通讯方式告知相关人员进行错误定位。如果新的主用板一切测试都正常,则可以触发短信通知或通过其他通讯方式告知版本经理进行新的软件版本的发布。In this test system, the main board and the standby board of the router adopt the method of superimposing networking. After the new software version is generated, the new software version is loaded on the standby board. After the activation and restart, the service between the standby board and the active board is synchronized. After the synchronization is completed, the two are switched between active and standby. The original active board becomes the original board. The new spare board, the original spare board becomes the new main board. Check whether the hardware environment of the new main board is normal, whether the traffic forwarding of the service is normal, and whether the functions are normal. If there is hardware abnormality or packet loss or other abnormality, you can trigger SMS notification or use other communication methods to inform the relevant. The person is positioned incorrectly. If the new main board is tested properly, you can trigger SMS notifications or notify the version manager via the other communication methods to release the new software version.
示例2Example 2
如图4所示的测试系统包括:代码服务器10、软件版本管理及测试平台(比如,PC)20、路由器30、测试仪40和交换机50。其中,代码服务器设置为提供待验证的软件版本的代码。交换机设置为将代码服务器、PC和路由器互联组建局域网。PC设置为从代码服务器获取代码,按预先设定的命令对代码进行编译,生成新的软件版本。路由器,是待升级(软件版本升级)的通讯设备,包括主用板301和备用板302,其中,主用板负责接收业务流量并转发,备用板能够接收到业务流量,但是不进行转发。测试仪,设置为进行流量测试:向路由器发送数据包以及接收路由器转发的数据包。本示例的测试系统中,通过交换机可以实现从远程的代码服务器获取代码进行版本编译,以及对远程的路由器进行软件版本升级。本示例的测试系统验证新的软件版本的方法与示例1中的测试系统是相同的。The test system shown in FIG. 4 includes a code server 10, a software version management and test platform (eg, PC) 20, a router 30, a tester 40, and a switch 50. Wherein, the code server is set to provide the code of the software version to be verified. The switch is set up to interconnect the code server, PC, and router into a local area network. The PC is set to retrieve code from the code server, compile the code according to a pre-set command, and generate a new software version. The router is a communication device to be upgraded (software version upgrade), and includes an active board 301 and a backup board 302. The main board is responsible for receiving service traffic and forwarding, and the standby board can receive service traffic but does not forward. The tester is set up for traffic testing: sending packets to the router and receiving packets forwarded by the router. In the test system of this example, the switch can be used to obtain code from a remote code server for version compilation, and software version upgrade for a remote router. The test system of this example verifies that the new software version is the same as the test system in Example 1.
示例3Example 3
如图5所示的测试系统包括:代码服务器10、软件版本管理及测试平台(比如,PC)20、主路由器301、备路由器302和多台测试仪(第一测试仪401,第二测试仪402)和交换机50。The test system shown in FIG. 5 includes: a code server 10, a software version management and test platform (such as a PC) 20, a main router 301, a backup router 302, and a plurality of testers (a first tester 401, a second tester) 402) and switch 50.
代码服务器设置为提供待验证的软件版本的代码。交换机设置为将代码服务器、PC、主路由器和备路由器互联。PC设置为从代码服务器获取代码,按预先设定的命令对代码进行编译,生成新的软件版本。主路由器负责接收业务流量并转发。备路由器能够接收到业务流量,但是不进行转发。第一测试仪设置为向主路由器发送数据包以及接收主路由器发送的数据包。第二测试仪设置为向备路由器发送数据包以及接收备路由器发送的数据包。The code server is set to provide the code for the software version to be verified. The switch is set up to interconnect the code server, PC, primary router, and standby router. The PC is set to retrieve code from the code server, compile the code according to a pre-set command, and generate a new software version. The primary router is responsible for receiving traffic and forwarding it. The standby router can receive traffic but does not forward it. The first tester is configured to send data packets to the primary router and receive data packets sent by the primary router. The second tester is configured to send data packets to the standby router and receive data packets sent by the standby router.
PC可以在无人值守的情况下,按设定时间使用Git指令从远程的代码服务 器获取代码到本地,然后通过执行脚本对所述代码进行编译,其中,编译的硬件环境和软件环境都预先设置,比如,使用哪种设备,哪种线卡,对哪些软件功能集有需求等。Git指令是一种分布式代码版本管理系统指令。如果编译失败,返回编译失败信息并触发短信消息通知给相关代码人员及版本经理以解决编译错误。如果编译成功,按预设条件(比如,版本名称等信息)制作并生成新的软件版本,并发送短信或通过其他通讯方式通知版本经理。The PC can use the Git command to obtain code from the remote code server to the local location at an unattended time, and then compile the code by executing a script, wherein the compiled hardware environment and the software environment are preset. For example, which device to use, which line card, which software feature set is required, and so on. The Git instruction is a distributed code version management system instruction. If the compilation fails, the compilation failure message is returned and the SMS message notification is triggered to the relevant code personnel and the version manager to resolve the compilation error. If the compilation is successful, a new software version is created and generated according to preset conditions (eg, version name, etc.), and the version manager is notified by SMS or by other means of communication.
本测试系统中,主路由器和备路由器采用叠加组网的方式。新的软件版本生成后,备路由器上加载新的软件版本,激活并重启后,备路由器和主路由器之间进行业务同步,同步完成后,二者进行主备倒换,原来的主路由器成为新的备路由器,原来的备路由器成为新的主路由器。检查新的主路由器上硬件环境是否正常,一种或多种业务的流量转发是否正常,有需求的功能是否都实现正常,如果存在硬件异常或者丢包现象或者功能实现不正常,则可以触发短信通知或采用其他通讯方式告知相关人员进行错误定位。如果新的主路由器一切测试都正常,则可以触发短信通知或通过其他通讯方式告知版本经理进行新的软件版本的发布。In this test system, the primary router and the standby router adopt the method of overlay networking. After the new software version is generated, the new software version is loaded on the standby router. After the activation and restart, the standby router and the primary router perform service synchronization. After the synchronization is complete, the two perform the active/standby switchover. The original primary router becomes the new one. The standby router, the original standby router becomes the new primary router. Check whether the hardware environment of the new main router is normal, whether the traffic forwarding of one or more services is normal, and whether the required functions are normal. If there is a hardware exception or packet loss or the function is not normal, the SMS can be triggered. Notify or use other means of communication to inform the person concerned of the wrong location. If the new primary router is all tested properly, you can trigger SMS notifications or notify the version manager via the other communication methods to release the new software version.
与相关技术相比,本公开实施例提供的一种验证软件版本的方法及系统,在包含主设备和备设备的主备结构业务网络中,在所述备设备产生新的软件版本的情况下,所述备设备加载并激活所述新的软件版本;如果所述备设备能够正常启动所述新的软件版本,则与所述主设备进行主备业务同步,同步完成后进行主备倒换;在所述备设备作为新的主设备承载业务后,所述软件版本管理及测试平台进行业务测试以验证新的软件版本。本公开实施例能够缩短系统测试验证软件版本的时间,提高软件版本的可靠性。Compared with the related art, a method and system for verifying a software version provided by an embodiment of the present disclosure, in a service network including a master device and a standby device, in a case where a new software version is generated by the standby device And the standby device loads and activates the new software version; if the standby device can start the new software version, the master device performs synchronization with the master device, and performs active/standby switchover after the synchronization is completed; After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version. The embodiments of the present disclosure can shorten the time for the system test to verify the software version and improve the reliability of the software version.
实施例4Example 4
在一实施例中,本公开实施例还提供一种计算机可读存储介质,该存储介质上存储有计算机指令,该计算机指令被处理器执行时实现上述任一实施例所述的方法。In an embodiment, an embodiment of the present disclosure further provides a computer readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the method of any of the above embodiments.
存储介质——任何的一种或多种类型的存储器设备或存储设备。在实际应用中,上述的存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile  memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。Storage medium - any one or more types of memory devices or storage devices. In practical applications, the foregoing storage medium may be a volatile memory, such as a random access memory (RAM), or a non-volatile memory, such as a read-only memory. Read-Only Memory (ROM), flash memory, Hard Disk Drive (HDD) or Solid-State Drive (SSD); or a combination of the above types of memory, and to the processor Provide instructions and data.
上述存储介质还可以包括:光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、(Double Data Rate Random Access Memory,DDR RAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、扩展数据输出随机存取存储器(Extended Data Output Random Access Memory,EDO RAM),兰巴斯随机存取存储器(Rambus Random Access Memory,Rambus RAM)等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。The storage medium may further include: a compact disc read-only memory (CD-ROM), a floppy disk or a magnetic tape device; a computer system memory or a random access memory such as a dynamic random access memory (Dynamic Random Access Memory, DRAM), (Double Data Rate Random Access Memory, DDR RAM), Static Random Access Memory (SRAM), Extended Data Output Random Access Memory (EDO RAM), Lan A Rambus Random Access Memory (Rambus RAM) or the like; a non-volatile memory such as a flash memory, a magnetic medium such as a hard disk or an optical storage; a register or other similar type of memory element or the like. The storage medium may also include other types of memory or a combination thereof.
上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。The processor may be an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), or a Programmable Logic Device (Programmable Logic). Device, PLD), at least one of a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor.
另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可以由一个或多个处理器执行的程序指令(例如计算机程序)。Additionally, the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system, the second computer system being coupled to the first computer system via a network, such as the Internet. The second computer system can provide program instructions to the first computer for execution. The term "storage medium" can include two or more storage media that can reside in different locations (eg, in different computer systems connected through a network). A storage medium may store program instructions (eg, a computer program) that can be executed by one or more processors.

Claims (14)

  1. 一种验证软件版本的方法,包括:A method of verifying a software version, including:
    在包含主设备和备设备的主备结构业务网络中,在所述备设备产生新的软件版本的情况下,所述备设备加载并激活所述新的软件版本;In the active/standby service network including the primary device and the standby device, in the case that the standby device generates a new software version, the standby device loads and activates the new software version;
    在所述备设备能够成功启动所述新的软件版本情况下,所述备设备与所述主设备进行主备业务同步,同步完成后进行主备倒换;In the case that the standby device can successfully start the new software version, the standby device synchronizes with the master device for the active/standby service, and performs the active/standby switchover after the synchronization is completed.
    在所述备设备作为新的主设备承载业务后,软件版本管理及测试平台进行业务测试以验证所述新的软件版本。After the standby device carries the service as a new primary device, the software version management and test platform performs a service test to verify the new software version.
  2. 如权利要求1所述的方法,在所述备设备产生新的软件版本之前,还包括:The method of claim 1, before the generating device generates a new software version, further comprising:
    所述软件版本管理及测试平台通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译。The software version management and test platform acquires code from the code server to the local and compiles by running the automated compilation script according to the set time.
  3. 如权利要求2所述的方法,在所述软件版本管理及测试平台通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译后,还包括:The method according to claim 2, wherein after the software version management and test platform acquires the code from the code server to the local and compiles according to the set time by running the automatic compilation script, the software version management and test platform further includes:
    在编译成功的情况下,所述软件版本管理及测试平台发送所述新的软件版本编译成功的通知;In the case that the compilation is successful, the software version management and test platform sends a notification that the new software version is successfully compiled;
    在编译失败的情况下,所述软件版本管理及测试平台发送所述新的软件版本编译错误的通知。In case the compilation fails, the software version management and test platform sends a notification of the new software version compilation error.
  4. 如权利要求1所述的方法,在所述备设备加载并激活所述新的软件版本后,还包括:The method of claim 1, after the standby device loads and activates the new software version, further comprising:
    在所述备设备不能够成功启动所述新的软件版本的情况下,所述备设备重新回退到所述新的软件版本之前的旧的软件版本,并向所述软件版本管理及测试平台发送新版本启动失败通知。In the case that the standby device cannot successfully start the new software version, the standby device re-rolls back to the old software version before the new software version, and goes to the software version management and test platform. Send a new version to start a failure notification.
  5. 如权利要求1所述的方法,其中,所述软件版本管理及测试平台进行业务测试以验证所述新的软件版本,包括:The method of claim 1 wherein said software version management and test platform performs a business test to verify said new software version, comprising:
    在所述新的软件版本验证失败的情况下,所述软件版本管理及测试平台发送验证失败通知;In the case that the new software version verification fails, the software version management and test platform sends a verification failure notification;
    在所述新的软件版本验证通过的情况下,所述软件版本管理及测试平台发送验证通过通知。In the case where the new software version verification is passed, the software version management and test platform sends a verification pass notification.
  6. 如权利要求1所述的方法,其中,在所述主设备和所述备设备均是路由器的情况下,所述软件版本管理及测试平台进行业务测试以验证所述新的软件版本,包括:The method of claim 1, wherein, in a case where both the master device and the standby device are routers, the software version management and test platform performs a service test to verify the new software version, including:
    在所有所述业务的业务功能对应的流量转发均转发成功的情况下,所述软件版本管理及测试平台确定所述新的软件版本验证通过;The software version management and test platform determines that the new software version is verified after the traffic forwarding corresponding to the service function of all the services is successfully forwarded;
    在任意一个所述业务的业务功能对应的流量转发没有转发成功的情况下,所述软件版本管理及测试平台确定所述新的软件版本验证失败,并发送错误定位通知。In the case that the traffic forwarding corresponding to the service function of any one of the services is not successfully forwarded, the software version management and test platform determines that the new software version verification fails, and sends an error location notification.
  7. 如权利要求4所述的方法,还包括:所述软件版本管理及测试平台接收新版本启动失败通知,并将所述新版本启动失败通知转发给相关人员。The method of claim 4, further comprising the software version management and test platform receiving a new version start failure notification and forwarding the new version start failure notification to the relevant personnel.
  8. 一种验证软件版本的系统,包括:A system for verifying software versions, including:
    主设备,设置为在包含主设备和备设备的主备结构业务网络中承载业务;The master device is configured to carry services in the active/standby structure service network including the master device and the standby device.
    备设备,设置为在产生新的软件版本的情况下,加载并激活所述新的软件版本,在能够成功启动所述新的软件版本的情况下,与所述主设备进行主备业务同步,同步完成后进行主备倒换;The standby device is configured to load and activate the new software version when a new software version is generated, and synchronize the active and standby services with the master device when the new software version can be successfully started. Perform the active/standby switchover after the synchronization is complete.
    软件版本管理及测试平台,设置为在所述备设备作为新的主设备承载业务后,进行业务测试以验证所述新的软件版本。The software version management and test platform is configured to perform a service test to verify the new software version after the standby device carries the service as a new primary device.
  9. 如权利要求8所述的系统,其中:The system of claim 8 wherein:
    所述软件版本管理及测试平台,还设置为通过运行自动化编译脚本按照设定时间从代码服务器获取代码到本地并进行编译。The software version management and testing platform is further configured to acquire code from the code server to the local and compile according to the set time by running the automated compilation script.
  10. 如权利要求9所述的系统,其中:The system of claim 9 wherein:
    所述软件版本管理及测试平台,还设置为在编译成功的情况下,发送所述 新的软件版本编译成功的通知;在编译失败的情况下,发送所述新的软件版本编译错误的通知。The software version management and test platform is further configured to send a notification that the new software version is successfully compiled if the compilation is successful; and to notify the new software version compilation error when the compilation fails.
  11. 如权利要求8所述的系统,其中:The system of claim 8 wherein:
    所述备设备,还设置为在加载并激活所述新的软件版本后,在不能够成功启动所述新的软件版本的情况下,重新回退到所述新的软件版本之前的旧的软件版本,并向所述软件版本管理及测试平台发送新版本启动失败通知;The standby device is further configured to, after loading and activating the new software version, re-roll back to the old software before the new software version if the new software version cannot be successfully started. Version, and send a new version start failure notification to the software version management and test platform;
    所述软件版本管理及测试平台,还设置为接收所述新版本启动失败通知,并将所述新版本启动失败通知转发给相关人员。The software version management and test platform is further configured to receive the new version startup failure notification, and forward the new version startup failure notification to the relevant personnel.
  12. 如权利要求8所述的系统,其中:The system of claim 8 wherein:
    所述软件版本管理及测试平台,是设置为:在所述新的软件版本验证失败的情况下,发送验证失败通知;在所述新的软件版本验证通过的情况下,发送验证通过通知。The software version management and test platform is configured to: send a verification failure notification if the new software version verification fails; and send a verification approval notification if the new software version verification is passed.
  13. 如权利要求8所述的系统,其中,在所述主设备和所述备设备均是路由器的情况下,所述软件版本管理及测试平台,是设置为:The system of claim 8, wherein in the case that both the master device and the standby device are routers, the software version management and test platform is configured to:
    在所有所述业务的业务功能对应的流量转发均转发成功的情况下,所述软件版本管理及测试平台确定所述新的软件版本验证通过;The software version management and test platform determines that the new software version is verified after the traffic forwarding corresponding to the service function of all the services is successfully forwarded;
    在任意一个所述业务的业务功能对应的流量转发没有转发成功的情况下,所述软件版本管理及测试平台确定所述新的软件版本验证失败,并发送错误定位通知。In the case that the traffic forwarding corresponding to the service function of any one of the services is not successfully forwarded, the software version management and test platform determines that the new software version verification fails, and sends an error location notification.
  14. 一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的方法。A storage medium having stored therein a computer program, wherein the computer program is arranged to perform the method of any one of claims 1 to 7 at runtime.
PCT/CN2019/078856 2018-03-23 2019-03-20 Method and system for verifying software version WO2019179459A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810245253.3A CN110297753A (en) 2018-03-23 2018-03-23 A kind of method and system for verifying software version
CN201810245253.3 2018-03-23

Publications (1)

Publication Number Publication Date
WO2019179459A1 true WO2019179459A1 (en) 2019-09-26

Family

ID=67986706

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/078856 WO2019179459A1 (en) 2018-03-23 2019-03-20 Method and system for verifying software version

Country Status (2)

Country Link
CN (1) CN110297753A (en)
WO (1) WO2019179459A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679981A (en) * 2020-06-05 2020-09-18 广州探途网络技术有限公司 Application software release method and system and electronic equipment
CN115373725A (en) * 2022-10-24 2022-11-22 布谷云软件技术(南京)有限公司 Software development management system and method with requirement as granularity

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786893B (en) * 2020-07-14 2022-08-30 博为科技有限公司 method and device for synchronizing software versions of wireless routers in mesh networking

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179624A (en) * 2007-11-22 2008-05-14 上海华为技术有限公司 Method and device of implementing network element updating
CN101197709A (en) * 2007-12-24 2008-06-11 华为技术有限公司 Method and system for upgrading telecommunication apparatus
CN102148709A (en) * 2011-02-25 2011-08-10 中兴通讯股份有限公司 Method and device for realizing main-standby monolithic board upgrading
CN102136930B (en) * 2010-09-03 2014-02-19 华为技术有限公司 Version upgrading method and routing equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155015A (en) * 2006-09-28 2008-04-02 中兴通讯股份有限公司 Synchronization method for data and condition between host computer and standby computer
CN101997708A (en) * 2009-08-11 2011-03-30 中兴通讯股份有限公司 Method and device for remotely upgrading main board and backup board
CN102238199A (en) * 2010-04-23 2011-11-09 无锡水木信息科技有限公司 Remote automatic registration intelligent device and registration method
CN102185718B (en) * 2011-05-12 2014-06-25 杭州华三通信技术有限公司 System upgrading method and device
US9038053B2 (en) * 2012-08-27 2015-05-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Non-disruptive software updates for servers processing network traffic
CN105094906B (en) * 2015-07-22 2019-11-19 网易(杭州)网络有限公司 A kind of hot update method of game server, device and system
CN107528706A (en) * 2016-06-21 2017-12-29 中兴通讯股份有限公司 A kind of equipment main and standby rearranging method and device based on link protocol
CN107479915A (en) * 2017-08-03 2017-12-15 福建新大陆支付技术有限公司 A kind of method for upgrading POS terminal firmware patch bag by USB flash disk off line

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179624A (en) * 2007-11-22 2008-05-14 上海华为技术有限公司 Method and device of implementing network element updating
CN101197709A (en) * 2007-12-24 2008-06-11 华为技术有限公司 Method and system for upgrading telecommunication apparatus
CN102136930B (en) * 2010-09-03 2014-02-19 华为技术有限公司 Version upgrading method and routing equipment
CN102148709A (en) * 2011-02-25 2011-08-10 中兴通讯股份有限公司 Method and device for realizing main-standby monolithic board upgrading

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679981A (en) * 2020-06-05 2020-09-18 广州探途网络技术有限公司 Application software release method and system and electronic equipment
CN111679981B (en) * 2020-06-05 2023-08-29 广州探途网络技术有限公司 Application software release method and system and electronic equipment
CN115373725A (en) * 2022-10-24 2022-11-22 布谷云软件技术(南京)有限公司 Software development management system and method with requirement as granularity

Also Published As

Publication number Publication date
CN110297753A (en) 2019-10-01

Similar Documents

Publication Publication Date Title
US10853055B2 (en) System and method for supporting patching in a multitenant application server environment
WO2019179459A1 (en) Method and system for verifying software version
CN106716360B (en) System and method for supporting patch patching in a multi-tenant application server environment
US7516361B2 (en) Method for automatic checkpoint of system and application software
US20180146069A1 (en) Efficient application build/deployment for distributed container cloud platform
US6970948B2 (en) Configuring system units using on-board class information
WO2022198972A1 (en) Method, system and apparatus for fault positioning in starting process of server
US6854069B2 (en) Method and system for achieving high availability in a networked computer system
US7958210B2 (en) Update management method and update management unit
US20140130036A1 (en) Methods and Systems for Automated Deployment of Software Applications on Heterogeneous Cloud Environments
US6640203B2 (en) Process monitoring in a computer system
JP2014518425A (en) Deploy test environments by making pre-built environments available instantly
CN110837388B (en) Software upgrading method of robot, upgrading server, robot and storage medium
CN108959045B (en) Method and system for testing fault switching performance of NAS cluster
BRPI0619452A2 (en) automatic multi-boot computer system; memory medium; method of performing automatic multi-boot of a computer system; and a half of computer readable memory
WO2020066552A1 (en) Bmc and method for determining bmc firmware
WO2010135966A1 (en) Upgrade method and device for components in paired redundancy structure
CN116032735A (en) Method, device, equipment and medium for determining abnormal information of switch
JP6911591B2 (en) Information processing device, control device and control method of information processing device
Svensson et al. A new leader election implementation
TWI777259B (en) Boot method
CN117472785B (en) Openstack test method and system under Linux system
WO2024089900A1 (en) System, method, and medium for lifecycle management testing of containerized applications
CN113535238B (en) Compatible method, device, storage medium and equipment for DDR
Ali et al. Reliability Testing for Advanced Networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19771089

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22.01.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19771089

Country of ref document: EP

Kind code of ref document: A1