买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种应用灰度发布方法、装置及设备_惠商云服(北京)科技有限公司_201810330589.X 

申请/专利权人:惠商云服(北京)科技有限公司

申请日:2018-04-12

公开(公告)日:2024-03-19

公开(公告)号:CN109726099B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.03.19#授权;2024.03.08#专利申请权的转移;2020.05.19#实质审查的生效;2019.05.07#公开

摘要:本申请公开了一种应用灰度发布方法、装置和设备,涉及应用技术领域,其中方法包括:获取待灰度发布应用;将待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中灰度发布环境为预先根据当前的线上生产环境创建得到的环境;在灰度发布测试的过程中,记录在灰度发布环境中对运行异常服务器的切换调整策略;在待灰度发布应用测试通过后,将待灰度发布应用发送至线上生产环境进行灰度发布,并按照切换调整策略在灰度发布的过程中执行相应的服务器切换调整。本申请采用预发布测试流程,利用灰度发布环境中的切换调整策略指导线上生产环境正式灰度发布过程中的服务器切换调整,无需修改配置和重启服务器应用系统,不会出现应用系统宕机的情况。

主权项:1.一种应用灰度发布方法,其特征在于,所述方法包括:获取待灰度发布应用;将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中所述灰度发布环境为预先根据当前的线上生产环境创建得到的环境;在所述灰度发布测试的过程中,记录在所述灰度发布环境中对运行异常服务器的切换调整策略;在所述待灰度发布应用测试通过后,将所述待灰度发布应用发送至所述线上生产环境进行灰度发布,并按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整;其中,所述将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,具体包括:将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,并根据预置生产验证策略对待发布应用程序对应的新增功能进行生产验证;若所述新增功能生产验证成功,则确定所述待灰度发布应用测试通过;若所述新增功能生产验证失败,则确定所述待灰度发布应用测试未通过,并将所述待灰度发布应用进行回退处理;所述预置生产验证策略包括:验证所述新增功能运行是否正常、验证所述新增功能中是否有病毒和验证所述新增功能执行时间是否在正常执行时间范围;所述按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整的步骤,包括:从所述切换调整策略中,确定在所述灰度发布环境内执行的灰度发布测试中存在的运行异常服务器和对应的切换调整策略,所述切换调整策略包括:切换到的运行正常服务器、切换时间和所述运行正常服务器对应的切换顺序;在所述线上生产环境进行所述待灰度发布应用的灰度发布过程中,参照所述切换调整策略从切换调整时机范围中选择目标切换调整时机,按照所述目标切换调整时机将运行异常服务器切换至所述运行正常服务器,以实现线上生产环境中分别相对应的服务器之间的切换调整;所述按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整的步骤,还包括:根据在所述灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,根据所述运行异常服务器的识别号对所述线上生产环境中相对应的服务器做运行异常标记;在所述线上生产环境中利用不带有运行异常标记的服务器进行所述待灰度发布应用的灰度发布。

全文数据:一种应用灰度发布方法、装置及设备技术领域本申请涉及应用技术领域,特别是涉及一种应用灰度发布方法、装置及设备。背景技术灰度发布是指在软件版本发布过程中,能够平滑过渡的一种发布方式。假设当前软件版本是A,新的软件版本是B,当软件开发公司对某个软件进行版本升级发布时,服务器控制一部分用户继续使用版本A,另一部分用户开始使用版本B;如果用户在使用版本B的过程中没有出现异常,则逐步将所有用户都迁移到版本B。这种逐渐过渡发布的方式可以保证整体系统的稳定。目前,软件开发公司在利用灰度发布方式对软件产品进行发布,在每次进行新旧应用版本切换时,为了保证所使用的服务器都能正常运作,不出现服务器应用系统宕机、处理响应过慢等异常情况,需要人工预先根据各台服务器的运行状态修改配置再重启服务器应用系统,然后再实施应用新版本灰度发布的过程。然而,服务器应用系统重启会产生宕机时间,在此宕机时间内服务器无法处理客户端发送的应用请求,进而就会出现应用请求无法响应的情况,影响了客户端应用的正常使用。发明内容有鉴于此,本申请提供了一种应用灰度发布方法、装置及设备,主要目的在于解决目前应用进行灰度发布时,需要对使用的服务器进行应用系统重启,会产生宕机时间,在此宕机时间内服务器无法处理客户端发送的应用请求,就会出现应用请求无法响应的问题。依据本申请的第一方面,提供了一种应用灰度发布方法,所述方法包括:获取待灰度发布应用;将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中所述灰度发布环境为预先根据当前的线上生产环境创建得到的环境;在所述灰度发布测试的过程中,记录在所述灰度发布环境中对运行异常服务器的切换调整策略;在所述待灰度发布应用测试通过后,将所述待灰度发布应用发送至所述线上生产环境进行灰度发布,并按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整。依据本申请的第二方面,提供了一种应用灰度发布装置,所述装置包括:获取单元,用于获取待灰度发布应用;检测单元,用于将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中所述灰度发布环境为预先根据当前的线上生产环境创建得到的环境;记录单元,用于在所述灰度发布测试的过程中,记录在所述灰度发布环境中对运行异常服务器的切换调整策略;发布单元,用于在所述待灰度发布应用测试通过后,将所述待灰度发布应用发送至所述线上生产环境进行灰度发布,并按照所述切换调整策略在所述灰度发布过程中执行相应的服务器切换调整。依据本申请的第三方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的应用灰度发布方法依据本申请的第四方面,提供了一种应用灰度发布设备,所述设备包括存储介质和处理器,所述存储介质,用于存储计算机程序;所述处理器,用于执行所述计算机程序以实现第一方面所述的应用灰度发布方法。借由上述技术方案,本申请提供的一种应用灰度发布方法、装置及设备,与目前需要人工预先根据各台服务器的运行状态修改配置再重启服务器应用系统相比,本申请采用预发布测试流程,每次在应用新版本发布生产之前,先在预先创建的灰度发布环境中进行灰度发布测试,在灰度发布测试过程中会自动记录运行异常服务器的切换调整策略,由于灰度发布环境是根据当前的线上生产环境创建的环境,因此可以准确模拟得到适用于当前线上生产环境中的自动切换调整情况,在灰度发布测试通过后,将应用新版本发送至线上生产环境中进行灰度发布,并参照该切换调整策略对服务器进行切换,这样无需修改配置和重启服务器应用系统,不会出现应用系统宕机的情况,当客户端向服务器发送应用请求时,服务器能够及时进行处理,即使在进行应用的灰度发布时,也能够有效保证服务器对应用请求的处理质量,以及整个系统的稳定性。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本申请提供的应用灰度发布方法的一个实施例的流程图;图2为本申请提供的应用灰度发布装置的一个实施例的结构框图;图3为本申请提供的应用灰度发布设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本申请实施例提供了一种应用灰度发布方法,预先在灰度发布环境中进行灰度发布测试,并对在灰度发布环境中运行异常服务器形成的切换调整策略进行记录,进而按照该切换调整策略在线上生产环境中进行应用灰度发布,这样服务器应用系统就不会产生宕机时间,能够保证及时有效的处理客户端的应用请求。如图1所示,本申请实施例提供了应用灰度发布方法的步骤包括:步骤101,获取待灰度发布应用。在本实施例中,待灰度发布应用可以为如新开发的应用,或者某个应用的更新版本等需要在线上灰度发布的应用,以便采用这种逐渐过渡发布的方式保证整体系统的稳定性。对于本实施例的执行主体可以为应用灰度发布的装置或设备,用于在不修改配置并重启服务器应用系统的前提下,实现在线上生产环境中对待灰度发布应用进行灰度发布,具体执行步骤102至104所示过程。步骤102,将待灰度发布应用配置在灰度发布环境中进行灰度发布测试。其中,灰度发布环境为预先根据当前的线上生产环境创建得到的环境。例如,根据线上生产环境当前的实际情况包括服务器当前正常运行的个数,每个服务器处理请求的能力如请求响应时间、处理请求数量等,线上生产环境已发布的应用版本等,创建与线上生产环境相同的灰度发布环境,其中该灰度发布环境可以理解为线上生产环境的备份环境,包含多台应用服务器。线上生产环境可以理解为直接面对用户的环境,而灰度是介于在内网环境和线上环境中间的一层服务层,灰度发布环境属于线上生产环境中的测试环境,可以为应用更新代码所提供的服务进行更加有安全性保证的测试;灰度发布环境除代码外,与线上生产环境完全一致,在极大的可能性下,排除对线上用户服务造成影响。在本实施例中,可以将该待灰度发布应用预先在灰度发布环境中进行测试,如果测试过程中出现问题,也能够及时补救。并且本申请的灰度发布环境是预先根据当前的线上生产环境的配置参数建立的,与当前的线上生产环境是相同的,这样能够保证在灰度发布环境中进行测试时,能够更加符合实际情况,使测试的结果更加准确。另外,在灰度发布环境中,建立了跟当前的线上生产环境中数量和配置相同的服务器,在进行灰度发布测试过程中会将待灰度发布应用在每个服务器中测试运行,一旦发现某个服务器在测试过程中出现异常运行,就会转移到另一个服务器中测试。步骤103,在灰度发布测试的过程中,记录在灰度发布环境中对运行异常服务器的切换调整策略。对于本实施例,在灰度发布测试过程中,当某个服务器在测试过程中出现异常运行如服务器宕机、请求响应时长大于一定阈值等,将待灰度发布应用切换到另一个运行正常的服务器时,就会记录该异常服务器的识别号例如,网络协议InternetProtocol,IP地址或者设备编号、该运行正常服务器的识别号以及切换的时间等信息。每次出现运行异常发生服务器切换都会进行相应记录,然后根据记录中服务器切换的时间、切换目标和切换顺序等信息,生成相应的切换调整策略。另外,在每次出现运行异常导致服务器切换调整时,还会将异常服务器对应的错误代码信息记录下来,以供后续根据该错误代码对线上生产环境中相应的服务器进行调整。例如,可以通过向应用服务器发送试请求的方式,检测灰度发布环境中所有的应用服务器是否可以正常访问,如果请求不成功则认为应用服务器运行异常;如现在灰度发布环境中存在8台应用服务器,如果其中一台应用服务器崩溃了,可以通过该测试方式,检测出具体是哪一台应用服务器崩溃了,这台崩溃的应用服务器在正常运行之前都不会接收到应用请求。在此灰度发布测试过程中,记录哪个服务器出现运行异常,然后切换到哪个正常服务器中进行处理,以及记录切换的具体时间,根据记录的这些信息生成相应的切换调整策略。以供在线上生产环境进行灰度发布时,能够根据该切换调整策略对服务器进行切换。需要说明的是,根据实际业务的需要,灰度发布环境可以同时对多个待灰度发布应用进行测试,测试过程中,每个待灰度发布应用与其切换调整策略进行一一对应。步骤104,在待灰度发布应用测试通过后,将待灰度发布应用发送至线上生产环境进行灰度发布,并按照切换调整策略在灰度发布的过程中执行相应的服务器切换调整。对于本实施例,如果待灰度发布应用在灰度发布环境中测试不存在异常,可以将待灰度发布应用发送到线上生产环境进行灰度发布,并按照切换调整策略中记录的每次切换服务器的时间和顺序,执行灰度发布过程中的服务器切换调整,保证所使用的服务器都能正常运作。例如,设置待灰度发布应用发送时间,在当天某一时间发送到线上生产环境进行灰度发布,依据灰度发布环境的预发布测试中记录的切换调整策略执行服务器切换调整,如灰度发布环境中测试时服务器a出现运行异常,将原本需要由服务器a处理的应用请求转给运行正常的服务器b进行处理,那么在线上生产环境中,按照这一策略,也是将线上生产环境中服务器a需要处理的应用请求转给运行正常的服务器b进行处理,并可以后续对服务器a进行请求测试,直至测试正常再转给服务器a进行处理。通过上述技术方案,可以预先在灰度发布环境中生成相应的切换调整策略,这样在线上生产环境中进行灰度发布时直接根据该切换调整策略对服务器进行切换,无需修改配置和重启服务器应用系统,不会出现服务器应用系统宕机的情况,当客户端向服务器发送应用请求时,服务器能够及时进行处理,这样,即使在进行应用的灰度发布时,也能够有效保证服务器对应用请求的处理质量,以及整个系统的稳定性。进一步的,作为上述实施例的细化和扩展,为了具体说明按照切换调整策略执行灰度发布过程中服务器切换调整的实施方式,一种可选方式是可以包括:从切换调整策略中,确定在灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,和对应切换到的运行正常服务器,以及确定相应的切换调整时机范围;然后在线上生产环境进行待灰度发布应用的灰度发布过程中,参照切换调整时机范围,选择目标切换调整时机,按照该目标切换调整时机将运行异常服务器切换至运行正常服务器,进而实现线上生产环境中分别相对应的服务器之间的切换调整。其中,切换调整时机范围可以根据服务器切换时间的实际情况而定。例如,在灰度发布环境中开始灰度发布测试后1小时的时间,服务器A运行出现异常,将原本需要转给服务器A处理的请求转给服务器B进行处理,那么此次切换调整事件对应的切换调整时机范围可以设置为开始灰度发布后1小时左右上下浮动不超过5分钟的时机范围。在本可选方式中,对切换调整策略进行记录时,会记录运行异常服务器和切换到的运行正常服务器的识别号,以及切换时间,然后根据记录信息提取各个服务器识别号的切换顺序。相应的,按照切换调整策略记录的切换顺序,在各个服务器之间进行切换时,从对应切换调整时机范围中选择最适合的目标切换调整时机进行服务器切换。例如,选择切换调整时机范围中的最早时间点作为目标切换调整时机,或者选择切换调整时机范围中的中间时间点作为目标切换调整时机,或者选择切换调整时机范围中的最晚时间点作为目标切换调整时机,具体可根据服务器出现运行异常的时间以及运行异常的错误代码进行选择,以保证在服务器宕机前完成切换。通过上述方案,能够根据每次服务器切换时的切换调整时机范围,选择最合适的目标切换调整时机,保证在服务器宕机前完成切换任务,防止服务器因为宕机的原因出现无法处理客户端发送的应用请求的情况。按照切换调整策略在灰度发布的过程中执行相应的服务器切换调整的具体实施方式,另一种可选方式是根据在灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,对线上生产环境中相对应的服务器做运行异常标记;然后在线上生产环境中利用不带有运行异常标记的服务器进行待灰度发布应用的灰度发布。对待灰度发布应用进行灰度发布测试时,会在切换调整策略中记录每个运行异常服务器的识别号例如,IP地址或者设备编号等。在进行线上生产环境的灰度发布之前,会获取这些运行异常服务器的识别号,并将线上生产环境中对应的服务器进行运行异常标记。将线上生产环境中的被标记的服务器择取出来,利用没有标记的服务器进行灰度发布。通过上述方案,在灰度发布环境中进行测试时,记录每个运行异常服务器的识别号,方便后续进行线上灰度发布时,能够将线上生产环境中相应的服务器剔除,进而保证进行线上灰度发布使用的服务器能够在整个发布过程中不会出现运行异常的情况。另外,上述运行异常标记的时机,可以是在灰度发布环境中进行标记,这样在线上生产环境中,只需将线上生产环境中与标记服务器对应的服务器剔除出去,再利用运行正常的服务器进行灰度发布。也可以对运行正常的服务器进行标记,这样在线上生产环境进行灰度发布前,将运行正常的服务器提取出来,再利用运行正常的服务器进行灰度发布。为了说明灰度发布测试的具体实施过程,在本申请的一个可选实施例中,步骤102具体可以包括:将待灰度发布应用配置在灰度发布环境中进行灰度发布测试,并根据预置生产验证策略对待发布应用程序对应的新增功能进行生产验证,若新增功能生产验证成功,则确定待灰度发布应用测试通过,若新增功能生产验证失败,则确定待灰度发布应用测试未通过,并将待灰度发布应用进行回退处理。在本可选实施例中,待灰度发布应用在灰度发布环境中的灰度发布测试和生产验证过程可以同时进行。对于本可选实施例,如果待灰度发布应用是新开发的应用程序,需要对新开发的应用程序的每个功能都进行生产验证;如果待灰度发布应用是某个应用的更新应用,需要对新版本应用中的新增功能进行生产验证。其中,预置生产验证策略可以预先根据实际业务需求进行配置,生产验证策略具体可以包括:验证功能运行是否正常、验证功能中是否有病毒或木马程序、验证功能执行时间是否在正常执行时间范围内等。上述验证内容中的任意一项出现问题,都表示生产验证失败,需要将待灰度发布应用进行退回,退回时会将生产验证失败的详细信息一起退回。这样,开发者就会根据退回时记录的生产验证失败的详细信息,对待灰度发布应用进行修改、调试等操作,然后再放入灰度发布环境进行再次灰度发布测试,直至生产验证成功后才确定待灰度发布应用测试通过,并在线上生产环境中进行灰度发布。通过这种机制,在线上正式发布之前就可以发现应用的漏洞所在,并可以及时解决相应的漏洞问题,完善应用新增功能,进而可以提高在线上生产环境的正式灰度发布过程的成功率。进一步的,为了说明生产验证过程的具体实施方式,示例性的,若待发布应用程序对应的新增功能为信贷流程自动化,则根据预置生产验证策略对待发布应用程序对应的新增功能进行生产验证的步骤具体可以包括:检测在灰度发布环境中自动化执行整个信贷流程是否出现异常如整个信贷流程是否完整,若不完整则判定出现异常,若自动化执行整个信贷流程没有出现异常,则确定新增功能生产验证成功,若自动化执行整个信贷流程不完整或者出现流程步骤执行出错,则确定新增功能生产验证失败。例如,如果待灰度发布应用为信贷管理应用,在该信贷管理应用中增加了信贷流程自动化的功能。这样在灰度发布环境中进行生产验证过程中,需要验证该信贷流程自动化的执行顺序是否符合预定顺序,例如,先获取信贷者的信息,再计算信贷者的贷款额度,然后再计算该贷款该月的利息。或者验证该信贷流程自动化的功能插件中是否有病毒、木马等。如果生产验证失败,就需要将待灰度发布应用退回,让开发者进行修改和调整。又例如,待发布应用程序对应的新增功能是根据用户的基本信息自动推荐合适的保险服务,就会在灰度发布环境中输入各个用户的基本信息,灰度发布环境就会模拟为各个用户推荐相应保险服务的过程。若在模拟过程中出现操作错误,无法为用户推荐相应的保险服务,或者为用户推荐的保险服务不符合要求,就证明验证失败。再例如,待发布应用程序对应的新增功能是自动为用户制定理财计划,那么会在灰度发布环境中输入各个用户的基本信息,灰度发布环境模拟根据用户的基本信息制定一个或多个理财计划的验证过程,该验证过程中,包括根据用户的资金情况、性格、爱好等信息选择理财产品的种类、金额、期限等信息,如果在验证过程中丢失一个环节,或者各个执行过程顺序发生错误,或者用户的基本信息被泄漏,或者无法得出的理财计划,都会使得整个生产验证的过程失败。对于本实施例中灰度发布环境可以根据实际需要通过多种方式来创建得到,进一步的,为了说明创建灰度发布环境的具体实施过程,在本申请的一个可选实施例中,灰度发布环境预先创建过程,具体包括如下步骤:步骤A,安装Lua可嵌入其它脚本语言中使用的脚本语言解释器。其中,该解释器是即时编辑的脚本解释器Just-In-TimeCompilerofLuaprogramminglanguage,LuaJIT,该脚本解释器实质是采用C语言编写的Lua解释器的代码;步骤B,配置负载均衡服务器安装时所需的环境变量。为后续编译安装负载均衡服务器如Nginx服务器,为高性能的HTTP和反向代理服务器做准备;步骤C,获取负载均衡服务器的测试安装包,并根据环境变量编译安装负载均衡服务器;步骤D,获取并安装Lua脚本使用数据库和Lua脚本本地终端数据库;步骤E,参照当前的线上生产环境的配置信息,在负载均衡服务器中解析并执行脚本解释器的脚本逻辑,利用脚本逻辑将脚本使用数据库与脚本本地终端数据库进行关联,完成灰度发布环境的创建。例如,利用Nginx服务器做负载均衡和反向代理,Nginx服务器内嵌Lua脚本解释器,能够解析并执行Lua语言编写的脚本逻辑,由于Lua脚本使用数据库中存放有一些通过用户访问域名时附带的Cookie值关联的灰度分流的策略,因此可以通过Lua脚本解释器解析该Cookie值得到储存在用户本地终端上的数据以及访问Lua脚本本地终端数据库,来实现灰度发布环境的构建过程。通过上述创建过程,能够创建出一个跟线上生产环境相同的灰度发布环境,以供利用该灰度发布环境对一些新开发的待灰度发布应用进行灰度发布测试,以及生产验证。这样避免了直接将待灰度发布应用放入线上生产环境时,出现运行错误,影响用户的正常使用的问题。在实际操作过程中,为了方便用户使用,灰度发布环境与线上生产环境的域名相同,相应的,步骤102具体实现过程可以包括:通过对与待灰度发布应用对应的HTTP请求HTTPRequest进行解析,得到访问域名时附带的Cookie标记;再检测该Cookie标记是否包含预先配置的灰度标记,若该Cookie标记包含预先配置的灰度标记,则将待灰度发布应用配置在灰度发布环境中进行灰度发布测试,若该Cookie标记不包含预先配置的灰度标记,则将待灰度发布应用直接发送至线上生产环境进行灰度发布。例如,以Nginx反向代理服务器为例,对于m.ph.com.cn这个域名的访问过程,根据相关条件对HTTP请求进行转发,这里可以预先准备两份代码,一份对应线上生产环境,另一份对应灰度发布环境;检测Cookie标记,如果有预先做的灰度标记,就可以认为是需要将应用新版本进入到灰度发布环境中进行发布测试,反之,如果没有预先做的灰度标记,就可以认为是需要将应用新版本直接进入线上生产环境进行发布。通过上述技术方案,用户可以根据实际需要选择进入灰度发布环境或线上生产环境,进而可以满足用户的不同业务需求。当用户想要选择进入灰度发布环境进行灰度测试时,可以在与待灰度发布应用对应的HTTP请求附带的Cookie标记中,添加灰度标记;当用户想要不进行灰度测试直接进行线上生产环境的灰度发布时,就可以在HTTP请求中,将灰度标记去除。这样就可以根据HTTP请求中是否携带灰度标记;来判断是否进入灰度发布环境进行灰度测试。通过应用本实施例中的技术方案,采用预发布测试流程,利用灰度发布环境中的切换调整策略指导线上生产环境正式灰度发布过程中的服务器切换调整,无需修改配置和重启服务器应用系统,不会出现应用系统宕机的情况,当客户端向服务器发送应用请求时,服务器能够及时进行处理,即使在进行应用的灰度发布时,也能够有效保证服务器对应用请求的处理质量,以及整个系统的稳定性。进一步的,作为图1方法的具体实现,本申请实施例提供了一种应用灰度发布装置,如图2所示,该装置包括:获取单元21、检测单元22、记录单元23和发布单元24。获取单元21,用于获取待灰度发布应用;检测单元22,用于将待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中灰度发布环境为预先根据当前的线上生产环境创建得到的环境;记录单元23,用于在灰度发布测试的过程中,记录在灰度发布环境中对运行异常服务器的切换调整策略;发布单元24,用于在待灰度发布应用测试通过后,将待灰度发布应用发送至线上生产环境进行灰度发布,并按照切换调整策略在灰度发布过程中执行相应的服务器切换调整。在具体实施例中,发布单元24具体包括:确定模块和切换模块;确定模块,用于从切换调整策略中,确定在灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,和对应切换到的运行正常服务器,以及确定相应的切换调整时机范围;切换模块,用于在线上生产环境进行待灰度发布应用的灰度发布过程中,参照切换调整时机范围选择目标切换调整时机,按照目标切换调整时机将所述运行异常服务器切换至所述运行正常服务器。在具体实施例中,发布单元24具体包括:标记模块和发布模块;标记模块,根据在灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,对线上生产环境中相对应的服务器做运行异常标记;发布模块,在线上生产环境中利用不带有运行异常标记的服务器进行待灰度发布应用的灰度发布。在具体实施例中,检测单元22具体包括:验证模块,用于将待灰度发布应用配置在灰度发布环境中进行灰度发布测试,并根据预置生产验证策略对待发布应用程序对应的新增功能进行生产验证;若新增功能生产验证成功,则确定待灰度发布应用测试通过;若新增功能生产验证失败,则确定待灰度发布应用测试未通过,并将待灰度发布应用进行回退处理。在具体实施例中,验证模块,还用于若新增功能为信贷流程自动化,检测在灰度发布环境中自动化执行整个信贷流程是否出现异常;若自动化执行整个信贷流程没有出现异常,则确定新增功能生产验证成功;若自动化执行整个信贷流程不完整或者出现流程步骤执行出错,则确定新增功能生产验证失败。在具体实施例中,该装置还包括:安装单元、配置单元、编译单元和创建单元;安装单元,用于安装脚本解释器;配置单元,用于配置负载均衡服务器安装时所需的环境变量;编译单元,用于获取负载均衡服务器的测试安装包,并根据环境变量编译安装负载均衡服务器;获取单元21,还用于获取并安装脚本使用数据库和脚本本地终端数据库;创建单元,用于参照当前的线上生产环境的配置信息,在负载均衡服务器中解析并执行脚本解释器的脚本逻辑,利用脚本逻辑将脚本使用数据库与脚本本地终端数据库进行关联,完成灰度发布环境的创建。在具体实施例中,灰度发布环境与线上生产环境的域名相同,则检测单元22具体还包括:解析模块和检测模块;解析模块,用于通过对与待灰度发布应用对应的HTTP请求进行解析,得到访问域名时附带的Cookie标记;检测模块,用于检测Cookie标记是否包含预先配置的灰度标记;若Cookie标记包含预先配置的灰度标记,则将待灰度发布应用配置在灰度发布环境中进行灰度发布测试;若Cookie标记不包含预先配置的灰度标记,则将待灰度发布应用直接发送至线上生产环境进行灰度发布。需要说明的是,本申请实施例提供的一种应用灰度发布装置所涉及各功能单元的其他相应描述,可以参考图1中的对应描述,在此不再赘述。基于上述如图1所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1所示的应用灰度发布方法。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质可以是CD-ROM,U盘,移动硬盘等中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本申请各个实施场景所述的方法。基于上述图1所示方法和图2所示装置的实施例,为了实现上述目的,本申请实施例还提供了一种应用灰度发布设备,具体可以为个人电脑、网络设备、路由器等智能终端,如图3所示,包括存储介质32和处理器31,其中存储介质32和处理器31均设置在总线33上。存储介质32,用于存储计算机程序;处理器31,用于执行该计算机程序以实现上述如图1所示的应用灰度发布方法。可选地,该应用灰度发布设备还可以包括用户接口、网络接口、摄像头、射频RadioFrequency,RF电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏Display、输入单元比如键盘Keyboard等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口如蓝牙接口、WI-FI接口等。本领域技术人员可以理解,本实施例提供的一种应用灰度发布设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和应用灰度发布设备硬件和软件资源的程序,支持信息处理程序以及其它软件和或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与应用灰度发布设备中其它硬件和软件之间通信。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,可以预先在灰度发布环境中生成相应的切换调整策略,这样在线上生产环境中进行灰度发布时直接根据该切换调整策略对服务器进行切换,无需修改服务器的配置和重启服务器,不会出现服务器宕机的情况,当客户端向服务器发送应用请求时,服务器能够及时进行处理,这样,即使在进行应用的灰度发布时,也能够有效保证服务器对应用请求的处理质量,以及整个系统的稳定性。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

权利要求:1.一种应用灰度发布方法,其特征在于,所述方法包括:获取待灰度发布应用;将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中所述灰度发布环境为预先根据当前的线上生产环境创建得到的环境;在所述灰度发布测试的过程中,记录在所述灰度发布环境中对运行异常服务器的切换调整策略;在所述待灰度发布应用测试通过后,将所述待灰度发布应用发送至所述线上生产环境进行灰度发布,并按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整。2.根据权利要求1所述的方法,其特征在于,按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整,具体包括:从所述切换调整策略中,确定在所述灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,和对应切换到的运行正常服务器,以及确定相应的切换调整时机范围;在所述线上生产环境进行所述待灰度发布应用的灰度发布过程中,参照所述切换调整时机范围选择目标切换调整时机,按照所述目标切换调整时机将所述运行异常服务器切换至所述运行正常服务器。3.根据权利要求1所述的方法,其特征在于,按照所述切换调整策略在所述灰度发布的过程中执行相应的服务器切换调整,具体包括:根据在所述灰度发布环境内执行的灰度发布测试中存在的运行异常服务器,对所述线上生产环境中相对应的服务器做运行异常标记;在所述线上生产环境中利用不带有运行异常标记的服务器进行所述待灰度发布应用的灰度发布。4.根据权利要求1所述的方法,其特征在于,将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,具体包括:将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,并根据预置生产验证策略对所述待发布应用程序对应的新增功能进行生产验证;若所述新增功能生产验证成功,则确定所述待灰度发布应用测试通过;若所述新增功能生产验证失败,则确定所述待灰度发布应用测试未通过,并将所述待灰度发布应用进行回退处理。5.根据权利要求4所述的方法,其特征在于,若所述新增功能为信贷流程自动化,则根据预置生产验证策略对所述待发布应用程序对应的新增功能进行生产验证,具体包括:检测在所述灰度发布环境中自动化执行整个信贷流程是否出现异常;若自动化执行所述整个信贷流程没有出现异常,则确定所述新增功能生产验证成功;若自动化执行所述整个信贷流程不完整或者出现流程步骤执行出错,则确定所述新增功能生产验证失败。6.根据权利要求1所述的方法,其特征在于,所述灰度发布环境预先创建过程,具体包括:安装脚本解释器;配置负载均衡服务器安装时所需的环境变量;获取负载均衡服务器的测试安装包,并根据所述环境变量编译安装所述负载均衡服务器;获取并安装脚本使用数据库和脚本本地终端数据库;参照当前的线上生产环境的配置信息,在所述负载均衡服务器中解析并执行所述脚本解释器的脚本逻辑,利用所述脚本逻辑将所述脚本使用数据库与所述脚本本地终端数据库进行关联,完成所述灰度发布环境的创建。7.根据权利要求1至6任一项所述的方法,其特征在于,所述灰度发布环境与线上生产环境的域名相同,将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,具体包括:通过对与所述待灰度发布应用对应的HTTP请求进行解析,得到访问域名时附带的Cookie标记;检测所述Cookie标记是否包含预先配置的灰度标记;若所述Cookie标记包含所述灰度标记,则将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试;若所述Cookie标记不包含所述灰度标记,则将待灰度发布应用直接发送至线上生产环境进行灰度发布。8.一种应用灰度发布装置,其特征在于,所述装置包括:获取单元,用于获取待灰度发布应用;检测单元,用于将所述待灰度发布应用配置在灰度发布环境中进行灰度发布测试,其中所述灰度发布环境为预先根据当前的线上生产环境创建得到的环境;记录单元,用于在所述灰度发布测试的过程中,记录在所述灰度发布环境中对运行异常服务器的切换调整策略;发布单元,用于在所述待灰度发布应用测试通过后,将所述待灰度发布应用发送至所述线上生产环境进行灰度发布,并按照所述切换调整策略在所述灰度发布过程中执行相应的服务器切换调整。9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7任一项所述的应用灰度发布方法。10.一种应用灰度发布设备,其特征在于,所述设备包括存储介质和处理器,所述存储介质,用于存储计算机程序;所述处理器,用于执行所述计算机程序以实现权利要求1至7任一项所述的应用灰度发布方法。

百度查询: 惠商云服(北京)科技有限公司 一种应用灰度发布方法、装置及设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。