CN111506329A - 一种升级方法、系统和电子设备 - Google Patents
一种升级方法、系统和电子设备 Download PDFInfo
- Publication number
- CN111506329A CN111506329A CN202010316776.XA CN202010316776A CN111506329A CN 111506329 A CN111506329 A CN 111506329A CN 202010316776 A CN202010316776 A CN 202010316776A CN 111506329 A CN111506329 A CN 111506329A
- Authority
- CN
- China
- Prior art keywords
- gray
- module
- service request
- users
- sending
- 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 75
- 238000012550 audit Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 53
- 238000012544 monitoring process Methods 0.000 claims description 44
- 230000009286 beneficial effect Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
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)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种升级方法、系统和电子设备,通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
Description
技术领域
本发明涉及升级技术领域,尤其涉及一种升级方法、系统和电子设备。
背景技术
在老模块升级为新模块的过程中,需要在测试环境下对新模块进行测试,待测试通过后,再将新模块进行上线,以保证老模块上的应用能在新模块中稳定运行,目前,由于新模块在测试环境下的测试运行状态与在真实环境下的真实运行状态存在差异,在升级为新模块的过程中容易出现故障,因此,在老模块升级为新模块后,存在应用在新模块不能稳定运行的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种升级方法、系统和电子设备。
本发明的一种升级方法的技术方案如下:
S1、对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和新模块,得到稽核结果;
S2、重复执行S1,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至所述新模块;
S3、通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
S4、根据预设规则增大灰度用户在所述的所有用户中的数量占比,当所述数量占比小于100%时,重复执行S1至S3,当所述数量占比等于100%时,下线所述老模块。
本发明的一种升级方法的有益效果如下:
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
在上述方案的基础上,本发明的一种升级方法还可以做如下改进。
进一步,S4之前,还包括:对执行S3的过程进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续执行S4;若所述多个监测结果不符合预设条件时,则重新执行S1至S3。
采用上述进一步方案的有益效果是:通过对执行S3的过程进行故障监测,进一步保证完成彻底升级后,新模块能稳定运行。
进一步,所述将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果,包括:
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。
本发明的一种升级系统的技术方案如下:
包括发送响应模块、统计发送模块、响应模块和扩展模块;
所述发送响应模块用于:
对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送所述应用的至老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果;
所述统计发送模块用于多次调用所述发送响应模块,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的灰度服务请求发送至所述新模块;
所述响应模块用于通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
所述扩展模块用于根据预设规则增大灰度用户在所述的所有用户中的数量占比,当所述数量占比小于100%时,重调用所述发送响应模块、所述统计发送模块和所述响应模块,当所述数量占比等于100%时,下线所述老模块。
本发明的一种升级系统的有益效果如下:
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
在上述方案的基础上,本发明的一种升级系统还可以做如下改进。
进一步,还包括监测模块,所述监测模块用于:
对所述响应模块进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续调用所述扩展模块,若所述多个监测结果不符合预设条件时,则重新调用所述发送响应模块、所述统计发送模块和所述响应模块。
采用上述进一步方案的有益效果是:通过对响应模块进行故障监测,进一步保证完成彻底升级后,新模块能稳定运行。
进一步,所述发送响应模块具体用于:
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现上述的任一项所述的一种升级方法的步骤。
本发明的一种电子设备的有益效果如下:
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
附图说明
图1为本发明实施例的一种升级方法的流程示意图;
图2为本发明实施例的一种升级系统的结构示意图;
具体实施方式
如图1所示,本发明实施例的一种升级方法,包括如下步骤:
S1、对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果;
S2、重复执行S1,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至所述新模块;
S3、通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
S4、根据预设规则增大灰度用户在所述的所有用户中的数量占比,重复执行S1至S3,当所述数量占比小于100%时,重复执行S1至S3,当所述数量占比等于100%时,下线所述老模块。。
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
其中,对应用的用户可进行人工分类或随机分类,例如应用共有10000个用户,可首先执行1000个用户为灰度用户,灰度用户通过应用发起的服务请求为灰度服务请求,剩余的9000个用户为非灰度用户,非灰度用户通过应用发起的服务请求为非灰度服务请求。
对多个用户执行S1后,会得到多个稽核结果,如得到700个稽核结果、800个稽核结果、900个稽核结果以及更多个稽核结果,可将预设标准设置为所有稽核结果为一致的概率为100%、99%等,得到700个稽核结果,以预设标准为100%为例进行说明,当700个稽核结果均为一致时,则将后续的每个灰度服务请求只发送至所述新模块,使所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;其中需要注意的是:某个灰度用户可发起多个灰度服务请求,以灰度服务请求为准,通过执行S1得到多个稽核结果。
其中,后续的每个灰度服务请求可理解为:例如,当700个稽核结果均为一致时,使新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应,当任一灰度用户通过应用发起后续的每个灰度服务请求例如第701个灰度请求、第701个灰度服气请求等时,新模块开始上线,但此时只对灰度服务请求进行真实响应即对第701个灰度请求、第701个灰度服气请求进行真实响应,而不会将灰度服务请求再发送至老模块;
然后根据预设规则增大灰度用户在所有用户中的数量占比,其中,预设规则可为如下形式:
1)从将后续的每个灰度服务请求只发送至新模块开始计时,每隔5分钟、10分钟等第一间隔时间后,将灰度用户在所有用户中的数量占比增大1%或2%等,也就是将灰度用户从1000人增至1100人或1200%等,具体第一间隔时间和数量占比的增幅可根据实际情况进行设置;
2)从将后续的每个灰度服务请求只发送至新模块开始,新模块完成对1000个、2000个等第一预设数量的灰度服务请求的真实响应后,将灰度用户在所有用户中的数量占比增大1%或2%等,也就是将灰度用户从1000人增至1100人或1200%等,具体第一预设数量和数量占比的增幅可根据实际情况进行设置;
然后重新执行重复执行S1至S3,也就是说,当灰度用户从1000人增至1100人时,重新执行一遍S1至S3,当灰度用户从1100人增至1200人时,也重新执行一遍S1至S3,直至所述数量占比等于100%时,即当每个用户均为灰度用户时,每个灰度用所发起的灰度请求均由新模块进行调用,此时也不存在非灰度用户,于是将老模块进行下线,此时彻底完成老模块到新模块的升级。较优地,在上述技术方案中,S4之前,还包括:
对执行S3的过程进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续执行S4;若所述多个监测结果不符合预设条件时,则重新执行S1至S3。
其中,可在硬件基础、网络等方面通过日志、探针、代理等手段来对新模块是否发生故障来进行故障监测,如发现新模块调用的灰度服务不正确、新模块未对灰度服务请求进行真实响应等故障中的至少一个时,则监测结果为故障,否则为未故障,可将预设条件为所有监测监测为未故障的概率为100%、99%等,以将预设条件为所有监测监测为未故障的概率为100%进行具体说明:
1)从将后续的每个灰度服务请求只发送至新模块开始计时,每隔5分钟、10分钟等第二间隔时间,对多次执行S3的过程进行故障监测,得到所有的监测结果为未故障的概率为100%,则为符合预设条件,此时执行继续执行S4,否则重新执行S1至S3,也就是说,若此时灰度用户已增至1100人,则在灰度用户已为1100人基础上执行重新执行S1至S3,若此时灰度用户已增至1200人,则在灰度用户已为1200人基础上执行重新执行S1至S3,并以此类推,具体第二间隔时间可根据实际情况进行设置;
2)从将后续的每个灰度服务请求只发送至新模块开始,新模块完成对1000个、2000个等预设数量的灰度服务请求的真实响应,对1000次、2000次等执行S3的过程进行故障监测,得到所有的监测结果为未故障的概率为100%,则为符合预设条件,此时执行继续执行S4,否则重新执行S1至S3,也就是说,若此时灰度用户已增至1100人,则在灰度用户已为1100人基础上执行重新执行S1至S3,若此时灰度用户已增至1200人,则在灰度用户已为1200人基础上执行重新执行S1至S3,并以此类推,具体第二预设数量可根据实际情况进行设置。
较优地,在上述技术方案中,S1中将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,,包括:
S10、通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
S11、通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
S12、对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
其中,真实响应可解释为:例如,第一个用户为非灰度用户时,通过应用发起的非灰度服务请求为第一个非灰度服务请求,将第一个非灰度服务请求发送至老模块,使老模块调用第一个非灰度服务请求对应的非灰度服务完成对第一个非灰度服务请求的响应,也就是对第一个非灰度服务请求做出真实的反馈,如第一个非灰度服务请求为调用某一文件,老模块调用第一个非灰度服务请求对应的非灰度服务来调用该文件,并将该文件真实地通过应用反馈给第一个用户。
其中,虚拟响应可解释为:例如,第二个用户为灰度用户时,通过应用发起的灰度服务请求为第二个灰度服务请求,将第二个灰度服务请求分别发送至老模块和新模块,使新模块调用第二个灰度服务请求对应的灰度服务完成对第二个灰度服务请求的假想的响应,也就是对第二个灰度服务请求做出虚拟的反馈,并不是真实的反馈,如第二个灰度服务请求为调用某一文件,新模块调用第二个灰度服务请求对应的灰度服务来调用该文件,但并不将该文件真实地通过应用反馈给第一个用户,在新模块调用第二个灰度服务请求对应的灰度服务完成对第二个灰度服务请求的虚拟响应的过程中,并对应生成第二过程数据,第二过程数据中包括新模块在该过程中具体的执行细节如响应时间、调用对应的灰度服务的路径等;
此时,还是由老模块调用第二个灰度服务请求对应的灰度服务来调用该文件,并将该文件真实地通过应用反馈给第二个用户,也就是说,使老模块调用灰度服务请求对应的灰度服务完成对灰度服务请求的真实响应,并对应生成第一过程数据,其中,第一过程数据包括老模块在该过程中的具体的执行细节如响应时间、调用对应的灰度服务的路径等;
然后对第一过程数据和第二过程数据的一致性进行稽核得到稽核结果,具体地:
比较第一过程数据和第二过程数据的对应的各项是否一致,即:比较第一过程数据中的响应时间与第二过程数据中的响应时间是否一致,第一过程数据中的调用对应的灰度服务的路径与第二过程数据中的调用对应的灰度服务的路径是否一致等,若都一致,则稽核结果为一致,若不一致,则稽核结果为不一致。
下面用另外一个实施例对本申请的一种升级方法进行说明,应用、老模块和新模块均是基于Dubbo服务框架的后端应用,新模块是老模块的升级替代版本,也就是用新模块替代老模块的角色,应用、老模块和新模块之间灰度集成方式即上述S1至S4中的对于各用户的服务请求的分发方式均基于Dubbo服务框架的均衡策略实现,在本实施例中,自定义两种负载策略,并将上述S1至S4分成两个运行阶段,分别为试运行阶段和灰度运行阶段,具体地:
首先进入试运行阶段,具体为:
对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应,
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块;
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果;
其中,第一种负载策略可理解为:当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至老模块,当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和新模块;
试运行阶段中重复执行上述步骤,得到多个稽核结果,若所述多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至所述新模块,则此时自动切换运行阶段,进入灰度运行阶段,具体地:
通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应,根据预设规则增大灰度用户在所有用户中的数量占比,重复进入试运行阶段并执行,当每个用户均为灰度用户时,下线所述老模块。
其中,第二种负载策略可理解为:将后续的每个灰度服务请求只发送至所述新模块;
在灰度运行阶段还包括:对新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应的执行过程进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续根据预设规则增大灰度用户在所有用户中的数量占比,重复进入试运行阶段并执行,当每个用户均为灰度用户时,下线所述老模块;若所述多个监测结果不符合预设条件时,则重新进入试运行阶段。
如图2所示,本发明的一种升级系统200,包括发送响应模块210、统计发送模块220、响应模块230和扩展模块240;
所述发送响应模块210用于:
对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果。
所述统计发送模块220用于多次调用所述发送响应模块210,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的灰度服务请求发送至所述新模块;
所述响应模块230用于通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
所述扩展模块240用于根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比小于100%时,重复调用所述发送响应模块210、所述统计发送模块220和所述响应模块230,当所述数量占比等于100%时,下线所述老模块。
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
较优地,在上述技术方案中,还包括监测模块,所述监测模块用于:
对所述响应模块230进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续调用所述扩展模块240,若所述多个监测结果不符合预设条件时,则重新调用所述发送响应模块210、所述统计发送模块220和所述响应模块230。通过对响应模块230进行故障监测,进一步保证完成彻底升级后,新模块能稳定运行。
较优地,在上述技术方案中,所述发送响应模块210具体用于:
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
上述关于本发明的一种升级系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种升级方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例的一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现上述任一实施例的一种升级方法的步骤。
通过对应用的用户进行判断,对灰度用户所发起的灰度服务请求和非灰度用户所发起的非灰度服务请求分别采用不同的发送方式,当多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至新模块进行响应即完成新模块的上线,且非灰度服务请求通过老模块进行响应,以保证对每个用户的服务请求均能响应,并根据预设规则增大灰度用户在所有用户中的数量占比,当所述数量占比等于100%时,即当每个用户均为灰度用户时,下线老模块完成彻底升级,以保证应用能在新模块下稳定运行。
其中,电子设备可以选用电脑、手机等,相对应地,其程序为电脑软件或手机APP等,且上述关于本发明的一种电子设备中的各参数和步骤,可参考上文中一种升级方法的实施例中的各参数和步骤,在此不做赘述。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种升级方法,其特征在于,包括:
S1、对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果;
S2、重复执行S1,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的每个灰度服务请求只发送至所述新模块;
S3、通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
S4、根据预设规则增大灰度用户在所述的所有用户中的数量占比,当所述数量占比小于100%时,重复执行S1至S3,当所述数量占比等于100%时,下线所述老模块。
2.根据权利要求1所述的一种升级方法,其特征在于,S4之前,还包括:
对执行S3的过程进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续执行S4;若所述多个监测结果不符合预设条件时,则重新执行S1至S3。
3.根据权利要求1或2所述的一种升级方法,其特征在于,所述将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果,包括:
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
4.一种升级系统,其特征在于,包括发送响应模块、统计发送模块、响应模块和扩展模块;
所述发送响应模块用于:
对应用的所有用户进行判断,当用户为非灰度用户时,将所述非灰度用户通过所述应用所发起的非灰度服务请求发送至所述应用的老模块,使所述老模块调用所述非灰度服务请求对应的非灰度服务完成对所述非灰度服务请求的真实响应;
当用户为灰度用户时,将所述灰度用户通过所述应用所发起的灰度服务请求分别发送至所述老模块和所述应用的新模块,得到稽核结果;
所述统计发送模块用于多次调用所述发送响应模块,得到多个稽核结果,且当所述多个稽核结果符合预设标准时,将后续的灰度服务请求发送至所述新模块;
所述响应模块用于通过所述新模块调用所述后续的每个灰度服务请求对应的灰度服务完成对所述后续的每个灰度服务请求的真实响应;
所述扩展模块用于根据预设规则增大灰度用户在所述的所有用户中的数量占比,当所述数量占比小于100%时,重复调用所述发送响应模块、所述统计发送模块和所述响应模块,当所述数量占比等于100%时,下线所述老模块。
5.根据权利要求4所述的一种升级系统,其特征在于,还包括监测模块,所述监测模块用于:
对所述响应模块进行故障监测,得到多个监测结果,若所述多个监测结果符合预设条件时,则继续调用所述扩展模块,若所述多个监测结果不符合预设条件时,则重新调用所述发送响应模块、所述统计发送模块和所述响应模块。
6.根据权利要求4或5所述的一种升级系统,其特征在于,所述发送响应模块具体用于:
通过所述老模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的真实响应,并对应生成第一过程数据;
通过所述新模块调用所述灰度服务请求对应的灰度服务完成对所述灰度服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或3所述的一种升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316776.XA CN111506329A (zh) | 2020-04-21 | 2020-04-21 | 一种升级方法、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316776.XA CN111506329A (zh) | 2020-04-21 | 2020-04-21 | 一种升级方法、系统和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506329A true CN111506329A (zh) | 2020-08-07 |
Family
ID=71876265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010316776.XA Pending CN111506329A (zh) | 2020-04-21 | 2020-04-21 | 一种升级方法、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506329A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888281A (zh) * | 2012-12-21 | 2014-06-25 | 腾讯科技(北京)有限公司 | 服务器灰度升级方法、装置及相应的灰度升级服务器 |
CN104156246A (zh) * | 2014-08-12 | 2014-11-19 | 小米科技有限责任公司 | 灰度升级的方法及装置 |
WO2019047821A1 (zh) * | 2017-09-07 | 2019-03-14 | 华为技术有限公司 | 业务路由的方法、装置及存储介质 |
-
2020
- 2020-04-21 CN CN202010316776.XA patent/CN111506329A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888281A (zh) * | 2012-12-21 | 2014-06-25 | 腾讯科技(北京)有限公司 | 服务器灰度升级方法、装置及相应的灰度升级服务器 |
CN104156246A (zh) * | 2014-08-12 | 2014-11-19 | 小米科技有限责任公司 | 灰度升级的方法及装置 |
WO2019047821A1 (zh) * | 2017-09-07 | 2019-03-14 | 华为技术有限公司 | 业务路由的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162382B (zh) | 基于容器的灰度发布方法、装置、计算机设备及存储介质 | |
US20150082094A1 (en) | Test Execution Spanning Cloud and Local Devices | |
US20040205406A1 (en) | Automatic test system for testing remote target applications on a communication network | |
CN108108296B (zh) | 一种云测试方法、服务器及客户端 | |
CN108255708B (zh) | 测试环境中访问生产文件的方法、装置、存储介质及设备 | |
CN104834602A (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN103678130A (zh) | 自动化性能测试方法及测试平台 | |
WO2023131343A1 (zh) | 压力测试方法、系统、设备及存储介质 | |
CN110162322A (zh) | 一种升级方法及装置 | |
CN104850491A (zh) | 一种软件测试方法、设备及系统 | |
CN108512682B (zh) | 一种确定虚假终端标识的方法和装置 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN113238935A (zh) | 应用测试方法、系统、设备、介质及计算机程序产品 | |
CN111506329A (zh) | 一种升级方法、系统和电子设备 | |
CN102023997B (zh) | 一种数据查询系统及其构建方法与相应的数据查询方法 | |
CN110519080B (zh) | 会话监控调整方法、设备、存储介质及装置 | |
CN111949536A (zh) | 基于字节码技术的java应用程序测试方法及系统 | |
CN109274533B (zh) | 一种基于规则引擎的Web服务故障的定位装置和方法 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112286650A (zh) | 分布式服务的发布方法和装置 | |
CN111464382A (zh) | 一种业务系统的压力智能分配测试方法及装置 | |
CN111679986B (zh) | 一种软件测试方法、装置及电子设备 | |
CN111104331A (zh) | 软件管理方法、终端设备及计算机可读存储介质 | |
CN114650211B (zh) | 故障修复方法、装置、电子设备和计算机可读存储介质 | |
CN105373477B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |