CN111580859B - 一种灰度割接方法、系统及电子设备 - Google Patents

一种灰度割接方法、系统及电子设备 Download PDF

Info

Publication number
CN111580859B
CN111580859B CN202010396448.5A CN202010396448A CN111580859B CN 111580859 B CN111580859 B CN 111580859B CN 202010396448 A CN202010396448 A CN 202010396448A CN 111580859 B CN111580859 B CN 111580859B
Authority
CN
China
Prior art keywords
service
service request
process data
program
result
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.)
Active
Application number
CN202010396448.5A
Other languages
English (en)
Other versions
CN111580859A (zh
Inventor
耿培木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202010396448.5A priority Critical patent/CN111580859B/zh
Publication of CN111580859A publication Critical patent/CN111580859A/zh
Application granted granted Critical
Publication of CN111580859B publication Critical patent/CN111580859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • 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/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种灰度割接方法、系统及电子设备,首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。

Description

一种灰度割接方法、系统及电子设备
技术领域
本发明涉及电信行业技术领域,尤其涉及一种灰度割接方法、系统及电子设备。
背景技术
目前,电信行业中有很多应用是利用C语言或C++语言等编写而成的程序,但由于电信行业的需要,需将用C语言或C++语言编写的程序替换为利用JAVA语言所编写的程序,对任一应用而言,以新程序表示为利用C语言或C++语言等编写而成的程序,以旧程序表示利用JAVA语言所编写的程序,在新程序替换旧程序时,假如直接将新程序直接上线,并保留旧程序,则对用户的服务请求进行处理时,会同时调用新程序和旧程序对用户的服务请求进行处理,无法确定出新程序是否正常运行,因此测试困难;若直接使用新程序,将旧程序进行下线,由于不能保证新程序能正常运行,导致运行风险较大。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种灰度割接方法、系统及电子设备。
本发明的一种灰度割接方法的技术方案如下:
S1、遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
S2、对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
S3、重复执行S2,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
S4、当所述判断结果为是时,根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复执行S2至S3,当所述数量占比等于100%时,下线所述旧程序。
本发明的一种灰度割接方法的有益效果如下:
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
在上述方案的基础上,本发明的一种灰度割接方法还可以做如下改进。
进一步,所述将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,包括:
将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。
进一步,所述当所述稽核结果为否时,还包括:
返回所述新程序未完成对所述服务请求的真实响应的提示信息。
采用上述进一步方案的有益效果是:便于运维人员根据提示信息对新程序进行维护和修改。
本发明的一种灰度割接系统的技术方案如下:
包括标记模块、逻辑路由模块、调用判断模块和数据占比模块;
所述标记模块用于遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
所述逻辑路由模块用于:
对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
所述调用判断模块用于重复调用所述逻辑路由模块,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
当所述判断结果为是时,所述数据占比模块用于:根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复调用所述所述逻辑路由模块和所述调用判断模块,当所述数量占比等于100%时,下线所述旧程序。
本发明的一种灰度割接系统的有益效果如下:
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
在上述方案的基础上,本发明的一种灰度割接系统还可以做如下改进。
进一步,所述逻辑路由模块具体用于:
将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。
进一步,还包括返回模块,当所述稽核结果为否时,所述返回模块用于返回所述新程序未完成对所述服务请求的真实响应的提示信息。
采用上述进一步方案的有益效果是:便于运维人员根据提示信息对新程序进行维护和修改。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如上述任一项所述的一种灰度割接方法的步骤。
本发明的一种电子设备的有益效果如下:
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
附图说明
图1为本发明实施例的一种灰度割接方法的流程示意图;
图2为本发明实施例的一种灰度割接系统的结构示意图;
具体实施方式
如图1所示,本发明实施例的一种灰度割接方法,包括如下步骤:
S1、遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
S2、对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
S3、重复执行S2,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
S4、当所述判断结果为是时,根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复执行S2至S3,当所述数量占比等于100%时,下线所述旧程序。
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
其中,遍历应用所提供的所有服务,可随机将每一个服务标记为非灰度服务或灰度服务,假设,当应用为中国移动系统,且假设中国移动系统提供缴费服务、新手机号开通服务、话费查询服务、流量包开通服务、短信包开通服务、流量查询服务等200项服务,可随机将上述每一个服务标记为非灰度服务或灰度服务,例如将流量查询服务等10项服务标记为灰度服务,将缴费服务、新手机号开通服务、话费查询服务、流量包开通服务、短信包开通服务以及剩余的185项服务标记为非灰度服务;
其中,仍以中国移动系统为例进行说明,假设中国移动系统为C语言编写的旧程序,将以JAVA语言编写的新程序来割接旧程序,那么:
当用户的服务请求为缴费的服务请求时,由于缴费的服务请求所对应的服务为缴费服务,由于缴费服务为非灰度服务,则将缴费的服务请求发送至旧程序,使旧程序调用缴费的服务请求所对应的且由C语言编写的缴费服务完成对缴费的服务请求的真实响应;
当用户的服务请求为流量查询的服务请求时,由于流量查询的服务请求所对应的服务为灰度服务,则将流量查询的服务请求分别发送至旧程序和新程序,得到稽核结果,那么:
当所述稽核结果为是时,使新程序完成对所述服务请求的真实响应,即:使新程序调用流量查询的服务请求对应的且由JAVA语言编写的流量查询服务完成对流量查询的服务请求的真实响应;
当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应,即:使旧程序调用流量查询的服务请求对应的且由C语言编写的流量查询服务完成对流量查询的服务请求的真实响应;
其中,真实响应可用如下两个实例进行解释:
1)例如,第一个用户的服务请求为缴费的服务请求,使旧程序调用缴费的服务请求所对应的且由C语言编写的缴费服务真实地对第一个用户的手机号进行充值,并可将缴费的结果向第一个用户进行反馈;
2)例如:第二个用户的服务请求流量查询的服务请求,使新程序调用流量查询的服务请求对应的且由JAVA语言编写的流量查询服务根据第二个用户的手机号进行真实的流量查询,并将流量查询的结果向第二个用户进行反馈。
重复执行S2后,会得到多个稽核结果,如得到100个稽核结果、120个稽核结果等,可将预设条件设置为:稽核结果为是的概率为100%、95%等,以得到100个稽核结果、预设条件为稽核结果为是的概率为100%为例进行说明:当100个稽核结果均为是时,则符合预设条件,即判断结果为是,然后:
根据预设规则增大灰度服务在所述的所有服务的数量占比,其中预设规则可为如下形式:
1)按照1%、2%等的增幅增加灰度服务在所述的所有服务的数量占比,也就是说,将灰度服务的数量从10项增至11项或12项,具体增幅可根据实际情况进行设置;
2)按照3个、5个等的增幅增加灰度服务在所述的所有服务的数量占比,也就是说,将灰度服务的数量从10项增至13项或15项,具体增幅可根据实际情况进行设置。
然后重新执行重复执行S2至S3,也就是说,当灰度服务10项增至11项时,重新执行一遍S2至S3,当灰度服务10项增至12项时,也重新执行一遍S2至S3,直至所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,此时也不存在非灰度服务,于是下线旧程序,完成割接,以保证应用的新程序能稳定运行。
较优地,在上述技术方案中,S2中所述将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,包括:
S20、将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
S21、将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
S22、对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
其中,虚拟响应可用如下两个实例进行解释:
1)例如第三个用户的服务请求为缴费的服务请求,使旧程序调用流量查询的服务请求对应的且由C语言编写的流量查询服务根据第三个用户的手机号进行流量查询,但并不将流量查询的结果向第三个用户进行反馈,并对应生成第一过程数据,第一过程数据包括旧程序在该过程中的具体的执行细节如响应时间、流量查询的结果等;
2)例如:第四个用户的服务请求流量查询的服务请求,使新程序调用流量查询的服务请求对应的且由JAVA语言编写的流量查询服务根据第四个用户的手机号进行流量查询,但并不将流量查询的结果向第四个用户进行反馈,并对应生成第二过程数据,第二过程数据包括新程序在该过程中的具体的执行细节如响应时间、流量查询的结果等;
然后对第一过程数据和第二过程数据的一致性进行稽核得到稽核结果,具体地:
比较第一过程数据和第二过程数据的对应的各项是否一致,即:比较第一过程数据中的响应时间与第二过程数据中的响应时间是否一致,第一过程数据中的流量查询的结果与第二过程数据中的流量查询的结果是否一致,若都一致,则稽核结果为是,若不一致,则稽核结果为否。
较优地,在上述技术方案中,S2所述当所述稽核结果为否时,还包括:
S200、返回所述新程序未完成对所述服务请求的真实响应的提示信息;
其中,可通过弹框或电子邮件等形式将提示信息返回至运维人员,其中提示信息包括客户的服务请求等,也可包括第一过程数据和第二过程数据的对应的各项之间的对比数据等,便于运维人员根据提示信息对新程序进行维护和修改。
如图2所示,本发明实施例的一种灰度割接系统200,包括标记模块210、逻辑路由模块220、调用判断模块230和数据占比模块240;
所述标记模块210用于遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
所述逻辑路由模块220用于:
对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
所述调用判断模块230用于重复调用所述逻辑路由模块220,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
当所述判断结果为是时,所述数据占比模块240用于:根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复调用所述所述逻辑路由模块220和所述调用判断模块230,当所述数量占比等于100%时,下线所述旧程序。
本发明的一种灰度割接系统的有益效果如下:
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
较优地,在上述技术方案中,所述逻辑路由模块220具体用于:
将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。
较优地,在上述技术方案中,还包括返回模块,当所述稽核结果为否时,所述返回模块用于返回所述新程序未完成对所述服务请求的真实响应的提示信息。
上述关于本发明的一种灰度割接系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种灰度割接方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例的一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现上述任一实施的一种灰度割接方法的步骤。
首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时,根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能稳定运行。
其中,电子设备可以选用电脑、手机等,相对应地,其程序为电脑软件或手机APP等,且上述关于本发明的一种电子设备中的各参数和步骤,可参考上文中一种灰度割接方法的实施例中的各参数和步骤,在此不做赘述。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (5)

1.一种灰度割接方法,其特征在于,包括:
S1、遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
S2、对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
S3、重复执行S2,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
S4、当所述判断结果为是时,根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复执行S2至S3,当所述数量占比等于100%时,下线所述旧程序;
所述将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,包括:
将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果,包括:
比较所述第一过程数据和所述第二过程数据的对应的各项是否一致,即:比较第一过程数据中的响应时间与第二过程数据中的响应时间是否一致,第一过程数据中的流量查询的结果与第二过程数据中的流量查询的结果是否一致,若都一致,则稽核结果为是,若不一致,则稽核结果为否。
2.根据权利要求1所述的一种灰度割接方法,其特征在于,所述当所述稽核结果为否时,还包括:
返回所述新程序未完成对所述服务请求的真实响应的提示信息。
3.一种灰度割接系统,其特征在于,包括标记模块、逻辑路由模块、调用判断模块和数据占比模块;
所述标记模块用于遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务;
所述逻辑路由模块用于:
对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的真实响应;
当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实响应;
所述调用判断模块用于重复调用所述逻辑路由模块,判断得到的多个稽核结果是否符合预设条件,得到判断结果;
当所述判断结果为是时,所述数据占比模块用于:根据预设规则增大灰度服务在所述的所有服务的数量占比,当所述数量占比小于100%时,重复调用所述所述逻辑路由模块和所述调用判断模块,当所述数量占比等于100%时,下线所述旧程序;
所述逻辑路由模块具体用于:
将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响应,并对应生成第一过程数据;
将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响应,并对应生成第二过程数据;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果;
对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果,包括:
比较所述第一过程数据和所述第二过程数据的对应的各项是否一致,即:比较第一过程数据中的响应时间与第二过程数据中的响应时间是否一致,第一过程数据中的流量查询的结果与第二过程数据中的流量查询的结果是否一致,若都一致,则稽核结果为是,若不一致,则稽核结果为否。
4.根据权利要求3所述的一种灰度割接系统,其特征在于,还包括返回模块,当所述稽核结果为否时,所述返回模块用于返回所述新程序未完成对所述服务请求的真实响应的提示信息。
5.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或2所述的一种灰度割接方法的步骤。
CN202010396448.5A 2020-05-12 2020-05-12 一种灰度割接方法、系统及电子设备 Active CN111580859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010396448.5A CN111580859B (zh) 2020-05-12 2020-05-12 一种灰度割接方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010396448.5A CN111580859B (zh) 2020-05-12 2020-05-12 一种灰度割接方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN111580859A CN111580859A (zh) 2020-08-25
CN111580859B true CN111580859B (zh) 2023-04-07

Family

ID=72126460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010396448.5A Active CN111580859B (zh) 2020-05-12 2020-05-12 一种灰度割接方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111580859B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235403B (zh) * 2020-10-14 2023-06-16 北京思特奇信息技术股份有限公司 一种新旧系统割接过程灰度管控的方法、装置以及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007078950A (ja) * 2005-09-13 2007-03-29 Kyodo Printing Co Ltd 検版装置及びその検版方法
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103888281B (zh) * 2012-12-21 2018-05-18 腾讯科技(北京)有限公司 服务器灰度升级方法、装置及相应的灰度升级服务器
US9110032B2 (en) * 2013-03-14 2015-08-18 Integro Technologies Corp. System and methods for inspecting tire wheel assemblies
CN104378304B (zh) * 2013-08-14 2019-04-02 腾讯科技(深圳)有限公司 灰度发布的控制方法、装置及系统
CN105099988B (zh) * 2014-04-24 2018-11-27 阿里巴巴集团控股有限公司 用于支持灰度发布的方法、访问方法以及装置和系统
CN105975270A (zh) * 2016-05-04 2016-09-28 北京思特奇信息技术股份有限公司 一种基于http请求转发的灰度发布方法及系统
CN106850746B (zh) * 2016-12-23 2019-11-05 微梦创科网络科技(中国)有限公司 服务平滑升级的方法及装置
CN107145347A (zh) * 2017-04-27 2017-09-08 努比亚技术有限公司 一种应用灰度发布方法、设备及存储介质
CN108874413A (zh) * 2017-10-30 2018-11-23 北京旷视科技有限公司 服务升级方法、装置、系统和存储介质
CN108319656A (zh) * 2017-12-29 2018-07-24 中兴通讯股份有限公司 实现灰度发布的方法、装置及计算节点和系统
CN109634948A (zh) * 2018-12-20 2019-04-16 贵州工程应用技术学院 一种数据稽核方法及任务调度器

Also Published As

Publication number Publication date
CN111580859A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US6904597B2 (en) Inter-thread communications between different components using double buffer
WO2020211378A1 (zh) 请求处理方法、装置、计算机设备和存储介质
US8799907B2 (en) Task management system
CN103064960B (zh) 数据库查询方法及设备
CN111258867B (zh) 一种公有云的拨测方法和装置
CN111580859B (zh) 一种灰度割接方法、系统及电子设备
CN106888277A (zh) 一种域名查询方法及装置
CN111141971A (zh) 一种充电告警系统及方法
CN111835790A (zh) 一种风险识别方法、装置及系统
US20060069783A1 (en) Program, method and device for managing information shared among components, recording medium and communication apparatus
CN111209060A (zh) 能力开发平台处理方法及装置
WO2020259034A1 (zh) 下线源代码的识别方法、装置、设备及存储介质
CN110519080B (zh) 会话监控调整方法、设备、存储介质及装置
CN109219051B (zh) 一种虚假号码确定方法、装置、设备及可读存储介质
CN114827361A (zh) 外呼的处理方法及装置
CN115629743A (zh) 服务组件的编排方法、服务调度方法、装置、电子设备及存储介质
CN112860398A (zh) 基于规则引擎的数据处理方法、装置、设备及介质
CN114153583A (zh) 任务状态管理方法、任务管理系统和任务调用系统
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN107872493A (zh) 一种信息处理方法、终端和服务器
CN112698970A (zh) 用于微服务架构的服务调用方法、装置及计算机存储介质
CN111506507A (zh) 业务服务的状态检测方法及装置、电子设备、存储介质
CN114225384B (zh) 基于可组合gm指令的通讯方法、系统、设备及存储介质
CN114710542B (zh) 一种基于rpc的泛化路由mock方法及装置
CN111833029A (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
GR01 Patent grant
GR01 Patent grant