CN116301978A - 一种系统升级方法、装置、设备及存储介质 - Google Patents
一种系统升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116301978A CN116301978A CN202310197972.3A CN202310197972A CN116301978A CN 116301978 A CN116301978 A CN 116301978A CN 202310197972 A CN202310197972 A CN 202310197972A CN 116301978 A CN116301978 A CN 116301978A
- Authority
- CN
- China
- Prior art keywords
- request
- return result
- application server
- server
- network request
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000012360 testing method Methods 0.000 claims description 52
- 238000004519 manufacturing process Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007547 defect Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种系统升级方法、装置、设备及存储介质,所述方法包括:通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。保证了新旧系统业务逻辑的一致性,提高了系统升级的安全性。
Description
技术领域
本发明涉及系统重构升级技术领域,尤其涉及一种系统升级方法、装置、设备及存储介质。
背景技术
随着系统运行时间变长,系统的架构会变得老旧,运行效率变低,安全风险变高,维护难度变大,以此必须对老旧的系统进行架构升级。
传统的系统升级方法,在系统升级过程中由于系统语言和框架等发生变化,容易导致新系统(即升级后的系统)的业务逻辑出现异常,进而使新系统(即升级后的系统)的业务逻辑与旧系统(即待升级的系统)的业务逻辑不一致。
发明内容
本发明提供了一种系统升级方法、装置、设备及存储介质,以保证新旧系统业务逻辑的一致性,避免新系统引入新的缺陷,提高系统升级的安全性。
根据本发明的一方面,提供了一种系统升级方法,包括:
通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;
分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;
从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。
根据本发明的另一方面,提供了一种系统升级装置,包括:
网络请求确定模块,用于通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;
返回结果确定模块,用于分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;
结果比对模块,用于从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的系统升级方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的系统升级方法。
本发明实施例的技术方案,通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。上述技术方案,通过代理服务器对生产环境中所有的第一网络请求进行处理,得到第二网络请求;在线上回归测试环境中分别使用第一应用服务器(即升级后的应用服务器)和第二应用服务器(即待升级的应用服务器)对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,线上回归测试环境通过生产环境中所有的第一网络请求对新系统(即升级后的系统)中的第一应用服务器进行回归测试,降低了系统升级对生产环境的影响,实现了对新系统(即升级后的系统)更加充分和全面地验证;同时,可以实现第一应用服务器和第二应用服务器对第二网络请求处理结果的对比,便于后续验证第一应用服务器和第二应用服务器业务逻辑的一致性,保证了新旧系统业务逻辑的一致性,避免了新系统(即升级后的系统)引入新的缺陷,提高了系统升级的安全性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种系统升级方法的流程图;
图2A是根据本发明实施例二提供的一种系统升级方法的流程图;
图2B是根据本发明实施例二提供的一种线上回归测试总体功能的框架图;
图3是根据本发明实施例三提供的一种系统升级装置的结构示意图;
图4是实现本发明实施例的系统升级方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
此外,还需要说明的是,本发明的技术方案中,所涉及的第一网络请求等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
实施例一
图1为本发明实施例一提供的一种系统升级方法的流程图,本实施例可适用于对系统进行重构升级的情况,该方法可以由系统升级装置来执行,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中,该电子设备可以是手机、笔记本电脑和台式计算机等中的一种。如图1所示,该方法包括:
S101、通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求。
其中,代理服务器部署在系统客户端和系统应用服务器之间,用于对系统客户端发送的第一网络请求进行负载、修改和复制等处理。代理服务器可以是Nginx。Nginx是一个高性能的HTTP(超文本传输协议,Hyper Text Transfer Protocol)和反向代理web服务器。所述系统可以包括客户端、代理服务器和应用服务器等。应用服务器用于处理系统代理服务器中的第一网络请求,以提供相应的服务。需要说明的是,系统中的服务器以集群的方式进行部署,以加大系统的负载能力,加强系统的稳定性。第一网络请求可以是指生产环境中系统客户端发送来的网络请求,比如HTTP请求。生产环境可以是指系统未升级之前提供服务的环境,即旧系统提供服务的环境。第二网络请求可以是指对第一网络请求进行处理得到的网络请求。
具体的,使用代理服务器截取生产环境中所有的第一网络请求,并对第一网络请求进行处理,得到第二网络请求。代理服务器通过对生产环境中真实的第一网络请求进行处理得到第二网络请求,为后续在线上回归测试环境中对新系统(即升级后的系统)进行回归测试提供了充足的测试用例,解决系统测试用例覆盖率不足的问题。
S102、分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器。
其中,第一应用服务器为升级后的应用服务器,即新系统(即升级后的系统)中的应用服务器;第二应用服务器为待升级的应用服务器,是对旧系统(即待升级的系统)中应用服务器的模拟;第一应用服务器和第二应用服务器均部署在线上回归测试环境中,以避免线上回归测试对生产环境的影响,保证生产环境的正常运行。线上回归测试环境可以是指对生产环境进行模拟得到的环境。第一请求返回结果可以是指第一应用服务器对第二网络请求处理后得到的请求返回结果。相应的,第二请求返回结果可以是指第二应用服务器对第二网络请求处理后得到的请求返回结果。缓存服务器部署在线上回归测试环境中,用于保存应用服务器(即第一应用服务器和第二应用服务器)中第二网络请求的请求标识、处理第二网络请求的应用服务器标识(即第一应用服务器标识和第二应用服务器标识)以及请求返回结果(即第一请求返回结果和第二请求返回结果)等数据。其中,一个第二网络请求的请求标识用于唯一标识一个第二网络请求,一个应用服务器标识用于唯一标识一个应用服务器。
具体的,基于预设的请求处理规则,使用第一应用服务器对第二网络请求进行处理,得到第一请求返回结果;基于预设的请求处理规则,使用第二应用服务器对第二网络请求进行处理,得到第二请求返回结果;并将第一请求返回结果和第二请求返回结果存入缓存服务器中。其中,预设的请求处理规则可以根据实际业务需求预先设置,比如预设的请求处理规则为加法计算规则。预设的请求处理规则分别部署在第一应用服务器和第二应用服务器中。
S103、从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。
其中,预设的对比程序可以是指预先部署在对比服务器中的对比程序。其中,对比服务器部署在线上回归测试环境中,用于对缓存服务器取出的第一请求返回结果和第二请求返回结果进行比对,以判断不同应用服务器对第二网络请求的处理结果是否相同。比对结果可以包括比对结果一致和比对结果不一致。
具体的,从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对;在比对结果一致的情况下,对旧系统(即待升级的系统)的应用服务器群进行升级;在比对结果不一致的情况下,对线上回归测试环境中的第一应用服务器进行检修,以对第一应用服务器中存在的缺陷进行处理,比如,在第一应用服务器中的缺陷为代码逻辑问题时,可以直接根据人工经验进行修改,又比如,在第一应用服务器中的缺陷为架构问题时,根据第一应用服务器中缺陷对旧系统(即待升级的系统)现有业务的影响,进行有针对性的处理。
本发明实施例的技术方案,通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。上述技术方案,通过代理服务器对生产环境中所有的第一网络请求进行处理,得到第二网络请求;在线上回归测试环境中分别使用第一应用服务器(即升级后的应用服务器)和第二应用服务器(即待升级的应用服务器)对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,线上回归测试环境通过生产环境中所有的第一网络请求对新系统(即升级后的系统)中的第一应用服务器进行回归测试,降低了系统升级对生产环境的影响,实现了对新系统(即升级后的系统)更加充分和全面的验证;同时,可以实现第一应用服务器和第二应用服务器对第二网络请求处理结果的对比,便于后续验证第一应用服务器和第二应用服务器业务逻辑的一致性,保证了新旧系统业务逻辑的一致性,避免了新系统(即升级后的系统)引入新的缺陷,提高了系统升级的安全性。
实施例二
图2A为本发明实施例二提供的一种系统升级方法的流程图,图2B为本发明实施例二提供的一种线上回归测试总体功能的框架图,本实施例在上述实施例的基础上,将“代理服务器”进一步优化为“代理服务器包括一级代理服务器和二级代理服务器”,并对“通过代理服务器对第一网络请求进行处理,得到第二网络请求”做了进一步优化,提供一种可选实施方案。需要说明的是,在本发明实施例中未详述部分,可参照其他实施例的相关表述。
如图2A和图2B所示,该方法包括:
S201、通过一级代理服务器对第一网络请求进行复制得到第三网络请求,并将第三网络请求改写到线上回归测试环境中,作为第四网络请求;其中,一级代理服务器位于生产环境中。
其中,一级代理服务器位于生产环境中(参见图2B),用于将第一网络请求传送到线上回归测试环境中。需要说明的是,图2B中生产环境和线上测回归测试环境中涉及的服务器均是以集群的方式进行部署的,图2B中生产环境包括客户端、一级代理服务器和应用服务器;线上回归测试环境包括二级代理服务器、第一应用服务器、第二应用服务器、缓存服务器和对比服务器。需要说明的是,图2B线上回归测试环境中的第二应用服务器是对生产环境中应用服务器的模拟。第三网络请求可以是指对第一网络请求进行复制得到的网络请求,第三网络请求与第一网络请求完全一样。第四网络请求可以是指对第三网络请求进行改写得到的网络请求,第四网络请求与第三网络请求除了请求地址不一样外,其他内容都一样。
具体的,通过一级代理服务器对第一网络请求进行复制得到第三网络请求,并通过改写第三网络请求的请求地址,将第三网络请求改写到线上回归测试环境中,作为第四网络请求。实现了生产环境和线上回归测试环境的隔离,避免了线上回归测试对生产环境的影响,同时为线上回归测试提供了充足的测试用例。
S202、通过二级代理服务器为第四网络请求随机生成请求编号,并将请求编号存入第四网络请求,得到第二网络请求;其中,二级代理服务器位于线上回归测试环境中。
其中,二级代理服务器位于线上回归测试环境中(参见图2B),用于为第四网络请求添加请求编号。一个请求编号用于唯一标识一个网络请求。第二网络请求可以是指对第一网络请求进行处理得到的网络请求,具体的,第二网络请求可以是指对第四网络请求添加请求编号得到的网络请求。其中,第四网络请求通过对第一网络请求进行复制,得到第三网络请求,并通过将第三网络请求改写到线上回归测试环境中得到。
具体的,基于二级代理服务器中预设的随机网络请求编号规则,随机生成第四网络请求的请求编号,并将该请求编号存入第四网络请求,得到第二网络请求。
S203、分别通过第一应用服务器和第二应用服务器对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将所第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器。
其中,第一应用服务器为升级后的应用服务器,即新系统(即升级后的系统)中的应用服务器;第二应用服务器为待升级的应用服务器,是对旧系统(即待升级的系统)中应用服务器的模拟;第一应用服务器和第二应用服务器均部署在线上回归测试环境中,以避免线上回归测试对生产环境的影响,保证生产环境的正常运行。缓存服务器部署在线上回归测试环境中(参见图2B),用于保存应用服务器(即第一应用服务器和第二应用服务器)中第二网络请求的请求标识、处理第二网络请求的应用服务器标识(即第一应用服务器标识和第二应用服务器标识)以及请求返回结果(即第一请求返回结果和第二请求返回结果)等数据。
可选的,所述将第一请求返回结果和第二请求返回结果存入缓存服务器中,可以是:通过拦截器获取第一请求返回结果,并将第二网络请求的请求编号、第一应用服务器标识和第一请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中;通过拦截器获取第二请求返回结果,并将第二网络请求的请求编号、第二应用服务器标识和第二请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中。提供了一种将第一请求返回结果和第二请求返回结果存入缓存服务器中的具体方法,使得同一个第二网络请求的请求编号对应的第一请求返回结果和第二请求返回结果以相同的报文格式进行存放,便于后续比较同一个第二网络请求的请求编号对应的第一请求返回结果和第二请求返回结果,进而便于快速判断系统是否可以安全升级,以保证系统升级的安全性。
其中,拦截器用于拦截第一应用服务器生成的第一请求返回结果,拦截第二应用服务器生成的第二请求返回结果,以将第一请求返回结果和第二请求返回结果存入缓存服务器中,便于后续追溯第一应用服务器和第二应用服务器对第二网络请求的处理结果。一个第二网络请求的请求编号用于唯一标识一个第二网络请求。一个第一应用服务器标识用于唯一标识一个第一应用服务器,比如第一应用服务器标识为第一应用服务器的ip地址(互联网协议地址,Internet Protocol Address)。相应的,一个第二应用服务器标识用于唯一标识一个第二应用服务器,比如第二应用服务器标识为第二应用服务器的ip地址。
示例性的,若第二网络请求的请求编号为Num,第一应用服务器标识为AS1,第二应用服务器标识为AS2,第一请求返回结果为A,第二请求返回结果为B;通过拦截器获取第一请求返回结果A,并将第二网络请求的请求编号Num、第一应用服务器标识AS1、第一请求返回结果A作为键值对,即(Num,AS1,A),按照JSON的报文格式保存到缓存服务器中;通过拦截器获取第二请求返回结果B,并将第二网络请求的请求编号Num、第二应用服务器标识AS2、第二请求返回结果B作为键值对,即(Num,AS2,B),按照JSON的报文格式保存到缓存服务器中。
S204、从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。
其中,预设的对比程序可以是指预先部署在对比服务器中的对比程序。其中,对比服务器部署在线上回归测试环境中(参见图2B),用于对缓存服务器取出的第一请求返回结果和第二请求返回结果进行比对,以判断不同应用服务器对第二网络请求的处理结果是否相同。比对结果可以包括比对结果一致和比对结果不一致。
可选的,根据第二网络请求的请求编号,将同一请求编号对应的第一请求返回结果和第二请求返回结果进行比对,在比对结果一致的情况下,对系统进行升级;在比对结果不一致的情况下,对第一应用服务器进行检修。
需要说明的是,每个第二网络请求的请求编号都对应两个请求返回结果,一个请求返回结果为第一请求返回结果,另一个请求返回结果为第二请求返回结果。
具体的,从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将同一个第二网络请求的请求编号对应的第一请求返回结果和第二请求返回结果进行比对,在比对结果一致的情况下,对旧系统(即待升级的系统)的应用服务器群进行升级;在比对结果不一致的情况下,对线上回归测试环境中的第一应用服务器进行检修,以对第一应用服务器中存在的缺陷进行处理,比如,在第一应用服务器中的缺陷为代码逻辑问题时,可以直接根据人工经验进行修改,又比如,在第一应用服务器中的缺陷为架构问题时,根据第一应用服务器中缺陷对旧系统(即待升级的系统)现有业务的影响,进行有针对性的处理。
可以理解的是,将同一个第二网络请求的请求编号对应的第一请求返回结果和第二请求返回结果进行比对,可以保证比对结果的准确性,便于验证第一应用服务器和第二应用服务器针对同一个第二网络请求的处理结果是否一致;且可以在对比结果不一致的情况下,快速定位第一应用服务器中的缺陷,并进行有针对性的处理,进而提高了系统升级的安全性。
本发明实施例的技术方案,采用两级代理服务器对第一网络请求进行处理,得到第二网络请求。通过一级代理服务器将第一网络请求的请求地址改写到线性回归测试环境中,得到第四网络请求,实现了生产环境与线上回归测试环境的隔离,避免了线上回归测试对生产环境的影响,同时为线上回归测试提供了充足的测试用例,便于后续对中的第一应用服务器进行全面测试;通过二级代理服务器为第四网络请求随机生成请求编号,并将请求编号存入第四网络请求,得到第二网络请求,实现了对网络请求的编号,便于区分各网络请求,同时将第二网络请求分别复制到线上回归测试环境中的第一应用服务器和第二应用服务器中,使得线上回归测试环境中的第一应用服务器和第二应用服务器拥有相同的输入,进而可以提高后续第一请求返回结果和第二请求返回结果比对结果的准确性,快速定位第一应用服务器中的缺陷,进而快速发现新系统(即升级后的系统)中存在的缺陷。
实施例三
图3为本发明实施例三提供的一种系统升级装置的结构示意图,本实施例可适用于对系统进行重构升级的情况,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中,该电子设备可以是手机、笔记本电脑和台式计算机等中的一种。如图3所示,该装置包括:
网络请求确定模块301,用于通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;
返回结果确定模块302,用于分别通过第一应用服务器和第二应用服务器对所述第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;其中,第一应用服务器为升级后的应用服务器,第二应用服务器为待升级的应用服务器;
结果比对模块303,用于从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。
本发明实施例的技术方案,通过网络请求确定模块,通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;通过返回结果确定模块确定第一请求返回结果和第二请求返回结果,并将第一请求返回结果和第二请求返回结果存入缓存服务器中;通过结果比对模块,从缓存服务器中获取第一请求返回结果和第二请求返回结果,基于预设的对比程序,将第一请求返回结果和第二请求返回结果进行比对,并根据比对结果进行系统升级。上述技术方案,通过代理服务器对生产环境中所有的第一网络请求进行处理,得到第二网络请求;在线上回归测试环境中分别使用第一应用服务器(即升级后的应用服务器)和第二应用服务器(即待升级的应用服务器)对第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,线上回归测试环境通过生产环境中所有的第一网络请求对新系统(即升级后的系统)中的第一应用服务器进行回归测试,降低了系统升级对生产环境的影响,实现了对新系统(即升级后的系统)更加充分和全面的验证;同时,可以实现第一应用服务器和第二应用服务器对第二网络请求处理结果的对比,便于后续验证第一应用服务器和第二应用服务器业务逻辑的一致性,保证了新旧系统业务逻辑的一致性,避免了新系统(即升级后的系统)引入新的缺陷,提高了系统升级的安全性。
可选的,所述代理服务器包括一级代理服务器和二级代理服务器;
相应的,所述网络请求确定模块301,包括:
第四网络请求确定单元,用于通过一级代理服务器对第一网络请求进行复制得到第三网络请求,并将第三网络请求改写到线上回归测试环境中,作为第四网络请求;其中,一级代理服务器位于生产环境中;
第二网络请求确定单元,用于通过二级代理服务器为第四网络请求随机生成请求编号,并将请求编号存入第四网络请求,得到第二网络请求;其中,二级代理服务器位于线上回归测试环境中。
可选的,所述返回结果确定模块302,包括:
第一存储单元,用于通过拦截器获取第一请求返回结果,并将第二网络请求的请求编号、第一应用服务器标识和第一请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中;
第二存储单元,用于通过拦截器获取第二请求返回结果,并将第二网络请求的请求编号、第二应用服务器标识和第二请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中。
可选的,所述结果比对模块303,包括:
结果比对单元,用于根据第二网络请求的请求编号,将同一请求编号对应的第一请求返回结果和第二请求返回结果进行比对,在比对结果一致的情况下,对系统进行升级;在比对结果不一致的情况下,对第一应用服务器进行检修。
本发明实施例所提供的系统升级装置可执行本发明任意实施例所提供的系统升级方法,具备执行各系统升级方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM12以及RAM13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如系统升级方法。
在一些实施例中,系统升级方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的系统升级方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行系统升级方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种系统升级方法,其特征在于,所述方法包括:
通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;
分别通过第一应用服务器和第二应用服务器对所述第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将所述第一请求返回结果和所述第二请求返回结果存入缓存服务器中;其中,所述第一应用服务器为升级后的应用服务器,所述第二应用服务器为待升级的应用服务器;
从缓存服务器中获取所述第一请求返回结果和所述第二请求返回结果,基于预设的对比程序,将所述第一请求返回结果和所述第二请求返回结果进行比对,并根据比对结果进行系统升级。
2.根据权利要求1所述的方法,其特征在于,所述代理服务器包括一级代理服务器和二级代理服务器;
相应的,所述通过代理服务器对所述第一网络请求进行处理,得到第二网络请求,包括:
通过所述一级代理服务器对所述第一网络请求进行复制得到第三网络请求,并将所述第三网络请求改写到线上回归测试环境中,作为第四网络请求;其中,所述一级代理服务器位于生产环境中;
通过所述二级代理服务器为所述第四网络请求随机生成请求编号,并将所述请求编号存入所述第四网络请求,得到第二网络请求;其中,所述二级代理服务器位于线上回归测试环境中。
3.根据权利要求2所述的方法,其特征在于,所述分别通过第一应用服务器和第二应用服务器对所述第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将所述第一请求返回结果和所述第二请求返回结果存入缓存服务器中,包括:
通过拦截器获取所述第一请求返回结果,并将所述第二网络请求的请求编号、所述第一应用服务器标识和所述第一请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中;
通过拦截器获取所述第二请求返回结果,并将所述第二网络请求的请求编号、所述第二应用服务器标识和所述第二请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中。
4.根据权利要求2所述的方法,其特征在于,所述从缓存服务器中获取所述第一请求返回结果和所述第二请求返回结果,基于预设的对比程序,将所述第一请求返回结果和所述第二请求返回结果进行比对,根据比对结果进行系统升级,包括:
根据所述第二网络请求的请求编号,将同一请求编号对应的所述第一请求返回结果和所述第二请求返回结果进行比对,在比对结果一致的情况下,对系统进行升级;在比对结果不一致的情况下,对所述第一应用服务器进行检修。
5.一种系统升级装置,其特征在于,包括:
网络请求确定模块,用于通过代理服务器对获取的第一网络请求进行处理,得到第二网络请求;
返回结果确定模块,用于分别通过第一应用服务器和第二应用服务器对所述第二网络请求进行处理,得到第一请求返回结果和第二请求返回结果,并将所述第一请求返回结果和所述第二请求返回结果存入缓存服务器中;其中,所述第一应用服务器为升级后的应用服务器,所述第二应用服务器为待升级的应用服务器;
结果比对模块,用于从缓存服务器中获取所述第一请求返回结果和所述第二请求返回结果,基于预设的对比程序,将所述第一请求返回结果和所述第二请求返回结果进行比对,并根据比对结果进行系统升级。
6.根据权利要求5所述的装置,其特征在于,所述代理服务器包括一级代理服务器和二级代理服务器;
相应的,所述网络请求确定模块,包括:
第四网络请求确定单元,用于通过所述一级代理服务器对所述第一网络请求进行复制得到第三网络请求,并将所述第三网络请求改写到线上回归测试环境中,作为第四网络请求;其中,所述一级代理服务器位于生产环境中;
第二网络请求确定单元,用于通过所述二级代理服务器为所述第四网络请求随机生成请求编号,并将所述请求编号存入所述第四网络请求,得到第二网络请求;其中,所述二级代理服务器位于线上回归测试环境中。
7.根据权利要求6所述的装置,其特征在于,所述返回结果确定模块,包括:
第一存储单元,用于通过拦截器获取所述第一请求返回结果,并将所述第二网络请求的请求编号、所述第一应用服务器标识和所述第一请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中;
第二存储单元,用于通过拦截器获取所述第二请求返回结果,并将所述第二网络请求的请求编号、所述第二应用服务器标识和所述第二请求返回结果作为键值对,按照JSON的报文格式保存到缓存服务器中。
8.根据权利要求6所述的装置,其特征在于,所述结果比对模块,包括:
结果比对单元,用于根据所述第二网络请求的请求编号,将同一请求编号对应的所述第一请求返回结果和所述第二请求返回结果进行比对,在比对结果一致的情况下,对系统进行升级;在比对结果不一致的情况下,对所述第一应用服务器进行检修。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的系统升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-4中任一项所述的系统升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310197972.3A CN116301978A (zh) | 2023-03-01 | 2023-03-01 | 一种系统升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310197972.3A CN116301978A (zh) | 2023-03-01 | 2023-03-01 | 一种系统升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116301978A true CN116301978A (zh) | 2023-06-23 |
Family
ID=86829944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310197972.3A Pending CN116301978A (zh) | 2023-03-01 | 2023-03-01 | 一种系统升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301978A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591418A (zh) * | 2023-11-29 | 2024-02-23 | 中国东方航空股份有限公司 | 用于软件发布的数据测试方法、装置和存储介质 |
-
2023
- 2023-03-01 CN CN202310197972.3A patent/CN116301978A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591418A (zh) * | 2023-11-29 | 2024-02-23 | 中国东方航空股份有限公司 | 用于软件发布的数据测试方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829581B (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN113127357B (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
CN116301978A (zh) | 一种系统升级方法、装置、设备及存储介质 | |
CN113434384A (zh) | 一种压力测试方法和装置 | |
CN114693116A (zh) | 代码评审有效性的检测方法及装置、电子设备 | |
CN113064777B (zh) | 数据采集服务的测试方法和装置 | |
CN114841267A (zh) | 实时预测方法、装置、电子设备及计算机程序产品 | |
CN114003497A (zh) | 业务系统的测试方法、装置、设备及存储介质 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN113360689A (zh) | 图像检索系统、方法、相关装置及计算机程序产品 | |
CN115859349B (zh) | 一种数据脱敏方法、装置、电子设备及存储介质 | |
CN113595870B (zh) | 推送消息的处理方法、装置、电子设备及存储介质 | |
CN114968491B (zh) | 虚拟资源测试方法、装置、电子设备及存储介质 | |
CN113239296B (zh) | 小程序的展示方法、装置、设备和介质 | |
CN115080205B (zh) | 任务执行方法、装置、电子设备和可读存储介质 | |
CN116303071A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN117081939A (zh) | 一种流量数据处理方法、装置、设备及存储介质 | |
CN115600819A (zh) | 风险评估方法、装置、电子设备及存储介质 | |
CN117492769A (zh) | 一种基于申请单与部署流水线的应用程序自动部署方法、装置、设备和存储介质 | |
CN114693115A (zh) | 代码评审有效性的检测方法及装置、电子设备 | |
CN117668114A (zh) | 一种数据同步方法、装置、设备及介质 | |
CN116382852A (zh) | 微服务部署方法、装置、电子设备及介质 | |
CN116302086A (zh) | 应用程序的处理方法、装置、电子设备与可读存储介质 | |
CN113779098A (zh) | 数据处理方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |