服务灰度发布方法、装置、介质及电子设备与流程

文档序号:18941800发布日期:2019-10-23 01:13阅读:191来源:国知局
服务灰度发布方法、装置、介质及电子设备与流程

本发明涉及互联网应用程序发布管理技术领域,具体地说,是一种服务灰度发布方法、装置、介质及电子设备。



背景技术:

现有的灰度发布方法大多针对互联网上的各种应用程序的新版本发布,主要方法是“在新版本发布时不直接覆盖旧的版本,而是有一段新旧版本的共存时间,通过逐渐增加新版本承担的负载权重,直到完全替代旧的版本”,这种方式在发布的过程中需要增加相应数量的服务器,以保证新版本与旧版本在共存期间可以同时顺利运行,然而在新版本发布的过程中还需要进行频繁的新服务发布,由于每一次更新发布都需要对服务器部署进行调整,因此会导致新服务发布的机器资源可能被旧版本服务器所占用,在发布过程中,对机器数量要求一般会翻倍,这会提高企业成本,也会影响发布复杂度。

另一方面,现有的灰度发布中所使用的分流策略通常是根据设定灰度百分比,逐步进行发布,逐步发布控制的对象通常为服务器或者访问用户流量:通过控制服务器进行灰度发布,由于访问流量难以预测而具有不可控性,并且会增加设备配置成本;而通过控制访问用户流量来进行灰度发布时,常用的方法为按照用户号段选取某一个百分比内的访问用户,这种方式具有一定的盲目性,不能保证被选择的用户能够完整访问新服务的所有功能,从而难以保证得到相对完整的新服务所有功能的访问反馈信息,不利于及时发现新服务的所有功能在使用中的问题。



技术实现要素:

本发明的目的是针对现有技术中的不足,提供一种服务灰度发布方法、装置、介质及电子设备,不仅适用于一般应用程序的新版本发布,同时也适用于企业内部业务生态中的前端应用程序及其应用服务的发布。本发明一方面通过将新服务全面取代与之相匹配的旧服务的方式,仅需要改变原有服务器中的节点信息,可以减少部署的服务器数量,提高发布效率;另一方面本发明采用用户画像分流策略,通过设置用户画像控制新服务所有功能的访问权限,可以实现用最精确的用户人群在线上验证新服务的所有功能模块(特别是通过基于日志的自动报警机制和人工的合理结合,对新服务中的新模块的多维度验证),能够最大限度的减少对整体用户的影响,及时准确地发现和验证新服务的功能。

为实现上述目的,第一方面,本发明提供了一种服务灰度发布方法,应用于企业内部业务生态中的前端应用程序及其应用服务的发布系统,包括:

获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换;

判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限;

获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

进一步地,所述根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换,包括:

根据新服务上线请求,判断原服务中的所有模块是否包含在所述新服务中,如果原服务中的所有模块均包含在所述新服务中,则用新服务的所有节点替换掉原服务中的所有节点。

进一步地,所述判断请求访问新服务的用户是否满足预设的用户画像的步骤之前,还包括:

获取企业内部业务生态数据库中的用户大数据;

根据所述用户大数据分别设置不同特征维度的用户画像,选取与预设的灰度发布规则匹配度高的用户画像作为判断用户能否访问新服务的标准。

进一步地,所述用户的访问反馈信息,包括:历史访问日志和实时访问日志,所述历史访问日志包括用户访问原服务的过程中实时监控的用户访问行为,所述实时访问日志包括用户访问新服务的过程中实时监控的用户访问行为。

进一步地,所述判断所述反馈信息是否正常,包括:

判断用户的历史访问日志和实时访问日志的对比结果是否触发报警规则,如果对比结果触发报警规则,则发出问题报警,并根据问题报警调整灰度发布规则。

第二方面,本发明提供了一种服务灰度发布装置,包括:

新服务上线模块,用于获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换;

访问权限设定模块,用于判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限;

灰度发布模块,用于获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

进一步地,所述服务灰度发布装置还包括:

用户画像设置模块,用于获取企业内部业务生态数据库中的用户大数据,根据所述用户大数据分别设置不同特征维度的用户画像,选取与预设的灰度发布规则匹配度高的用户画像作为判断用户能否访问新服务的标准。

进一步地,所述灰度发布模块包括:

获取单元,用于获取满足用户画像的用户的历史访问日志和实时访问日志;

问题报警单元,用于判断用户的历史访问日志和实时访问日志的对比结果是否触发报警规则,如果对比结果触发报警规则,则发出问题报警,并根据问题报警调整灰度发布规则。

第三方面,本发明提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储用于电子数据交换的计算机程序,所述计算机程序用于执行如上述第一方面所述的方法。

第四方面,本发明提供了一种电子设备,包括:一个或多个处理器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行如上述第一方面所述的方法。

本发明优点在于:

1、本发明通过将新服务全面取代与之相匹配的旧服务的方式,仅需要改变原有服务器中的节点信息,可以减少部署的服务器数量,提高发布效率;

2、本发明采用用户画像分流策略,通过设置用户画像控制新服务所有功能的访问权限,可以实现用最精确的用户人群在线上验证新服务的所有功能模块(特别是新模块),能够最大限度的减少对整体用户的影响,及时准确地发现和验证新服务的功能,同时可以有效避免新服务的流量爆发性增长导致服务器受损的情况;

3、本发明通过设置报警规则,将用户的历史访问日志和实时访问日志进行结果对比,发现新服务的哪些模块可能有问题,并通过发出报警,使开发人员及时接收到告警后人工介入排查和适当调整灰度规则,从而可以实现灰度规则的动态调整,提高灰度发布的灵活性。

附图说明

为能更清楚理解本发明的目的、特点和优点,以下将结合附图对本发明的较佳实施例进行详细描述,其中:

图1为本发明服务灰度发布方法的实施例一流程图;

图2为本发明服务灰度发布方法的实施例二流程图;

图3为本发明服务灰度发布方法的实施例三框架图;

图4为本发明服务灰度发布装置的实施例一框架图;

图5为本发明服务灰度发布装置的实施例二框架图;

图6为本发明服务灰度发布装置的实施例三框架图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一中的服务灰度发布方法的流程图,该方法可以一般应用程序的新版本发布,同时也适用于企业内部业务生态中的前端应用程序及其应用服务的发布,比如:大前端中前端h5/weex/客户端native的灰度发布,如图1所示,本例中服务灰度发布方法包括如下步骤:

步骤101.获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换。

在一个实施例中,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换可以通过以下方式实现:

根据新服务上线请求,判断原服务中的所有模块是否包含在所述新服务中,如果原服务中的所有模块均包含在所述新服务中,则用新服务的所有节点替换掉原服务中的所有节点。当有新服务请求上线时,该新服务可能是一个新的应用程序、或者一个新的版本、或者某个版本中新增的微服务等,为了确定该上线请求的具体需求,进一步对该请求中的新服务进行预处理,及在已上线的产品中进行功能匹配,如果该新服务的所有模块均没有上线记录,则判定该新服务可能为一个新的应用程序,此时可以根据上线需求选择性的配置适量的服务器。如果在已上线的产品中其所有的服务均包含在该新服务中,则该新服务可能为该产品的一个新版本,根据实际发布需求,可以选择将该新版本全面取代旧版本,也可以选择新增配置服务器发布该新版本。如果已上线的产品中每个服务的模块均包含在新服务中,并且新服务中在旧服务的基础上新增模块,则判断该服务为对旧服务的更新,则用新服务的所有节点替换掉原服务中的所有节点,通过设置访问权限的方式即可实现灰度发布,通常不需要增设服务器。

步骤102.判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限。

在一个可行的实施例中,新服务上线后,通过灰度发布逐步开放所有访问功能,具体地,通过预设用户画像,结合灰度发布规则,逐步增加访问新服务的流量。当用户请求访问服务时,首先判断该用户是否满足预设的用户画像,如果该用户满足预设的用户画像,则允许该用户开放新服务的所有功能,如果该用户不满足预设的用户画像,则仅允许该用户访问该服务的部分功能,及该服务的旧版本或是该服务中除去新增功能以外的原有功能。

步骤103.获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

对于满足用户画像可以访问新服务全部功能的用户,实时监控并获取用户的反馈信息,判断反馈信息是否正常,在实际中可以通过设定监测周期,通过观察一段时间内用户反馈信息是否正常来确定新服务的上线是否顺利,如果用户反馈信息正常,则说明该新服务可以满足当前的访问流量以及当前用户的使用需求,则可以通过调整灰度发布的用户画像规则,进一步增加访问流量。如果发现用户反馈信息出现异常,则修改访问新服务功能的权限,关闭用户访问服务中新增功能模块的权限,使其继续访问原版本中的旧模块,同时对新服务中的新模块进行快速排查及时修改。

本实施例中,通过将新服务全面取代与之相匹配的旧服务的方式,仅需要改变原有服务器中的节点信息,可以减少部署的服务器数量,提高发布效率;进一步地,通过采用用户画像分流策略,设置用户画像控制用户对新服务所有功能的访问权限,可以实现用最精确的用户人群在线上验证新服务的所有功能模块(特别是对新服务中的新模块的验证),在灰度发布规则的基础上增加了用户画像这一维度,避免灰度发布过程过于盲目。

图2为本发明实施例二中的服务灰度发布方法的流程图,本实施例中,在上述步骤s102判断请求访问新服务的用户是否满足预设的用户画像的步骤之前,新增了用户画像设置的实现过程,具体地,可以通过以下方式实现:

步骤s201.获取企业内部业务生态数据库中的用户大数据。

新服务上线后,在灰度发布过程中,需要通过用户画像来确定访问新服务的用户对象,本实施例中,通过大数据技术采集用户画像,大数据中的数据信息包括企业内部业务生态大数据,其中包括了用户对已发布服务的所有访问记录以及用户的属性信息。

步骤202.根据所述用户大数据分别设置不同特征维度的用户画像,选取与预设的灰度发布规则匹配度高的用户画像作为判断用户能否访问新服务的标准。

举例说明,将用户大数据按照人口属性、行为属性、金融属性、消费属性、借贷属性、账号属性等不同特征维度进行分类,设定不同的用户画像,根据实际所要发布的新服务中所包含的新模块最匹配的属性,则选择符合该属性的用户群体来访问新模块。比如要发布的新服务或者其包含的新模块与理财服务相关,因此可以将符合理财属性的用户群体作为判断用户能否访问新服务的标准,如果满足该用户画像的用户群体数量超出了灰度发布规则中的发布百分比(比如一开始设置5%的用户流量进入新服务模块,而符合理财属性的用户数量超出该流量限定),则可以增加或修改预设用户画像的特征维度,如从符合理财属性的用户群体中选择20-40岁男性用户,符合该用户画像的用户允许访问新服务的全部功能。

本实施例中,通过预设用户画像,设置发布分流策略,可以实现用最精确的用户人群在线上验证新服务的新模块,能够最大限度的减少对整体用户的影响,及时发现和验证新服务的功能被用户欢迎程度;可以及时发现新服务的功能是否被用户欢迎是有帮助的,可以帮助预测新服务上线的访问流量同时可以帮助避免新服务的流量爆发性增长导致服务器受损。

图3为本发明实施例三中的服务灰度发布方法的流程图,本实施例中,在上述实施例一的步骤s103中所述用户的访问反馈信息,包括:历史访问日志和实时访问日志,所述历史访问日志包括用户访问原服务的过程中实时监控的用户访问行为,所述实时访问日志包括用户访问新服务的过程中实时监控的用户访问行为。具体地,如图3所示,步骤s103中,判断所述反馈信息是否正常的具体过程,可以通过以下方式实现:

判断用户的历史访问日志和实时访问日志的对比结果是否触发报警规则,如果对比结果触发报警规则,则发出问题报警,并根据问题报警调整灰度发布规则。调整发布规则主要是修改发布百分比,调整访问流量。具体的,可以是针对灰度发布设置的业务核心指标的实时监控,比如灰度发布比例是50%的时候,满足预设用户画像可以访问新服务所有功能模块的访问人群,这些人群对应的业务核心指标值是x;其他人群(即没有权限访问新服务所有功能模块的人群)对应的业务核心指标值是y,当x<(y+n)时(n为可按实际运营需求配置的常数),说明新服务的模块可能有问题,此时会发出报警,开发人员接收到告警后人工介入排查和适当调整灰度规则,关闭所有人群对新服务新增功能模块的访问权限,或者减少相应的访问流量。

本实施例中,服务恢复发布方法通过设置报警规则,将用户的历史访问日志和实时访问日志进行结果对比,发现新服务的哪些模块可能有问题,并通过发出报警,使开发人员及时接收到告警后人工介入排查和适当调整灰度规则,从而可以实现灰度规则的动态调整,提高灰度发布的灵活性。

以下将详细描述本发明的一个或多个实施例的一种服务灰度发布装置。本领域技术人员可以理解,这些服务灰度发布装置均可以使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图4为本实施例一中的服务灰度发布装置的框架示意图,如图4所示,该装置包括:新服务上线模块401、访问权限设定模块402和灰度发布模块403。具体地,

新服务上线模块401,用于实现实施例一中步骤s101.获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换;访问权限设定模块402,用于实现实施例一中步骤s102.判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限;灰度发布模块403,用于实现实施例一中步骤s103.获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

图4所示装置可以执行图1所示实施例一的方法,本实施例中未详细描述的部分,可参考对图1所示实施例一的相关说明。该技术方案的执行过程和技术效果参见图1所示的实施例一中的描述,在此不再赘述。

图5为本实施例二中的服务灰度发布装置的框架示意图,如图5所示,该装置包括:新服务上线模块501、用户画像设置模块502、访问权限设定模块503和灰度发布模块504。具体地,

新服务上线模块501,用于获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换;用户画像设置模块502,用于获取企业内部业务生态数据库中的用户大数据,根据所述用户大数据分别设置不同特征维度的用户画像,选取与预设的灰度发布规则匹配度高的用户画像作为判断用户能否访问新服务的标准;访问权限设定模块503,用于判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限;灰度发布模块504,用于获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

图5所示装置可以执行图2所示实施例二的方法,本实施例中未详细描述的部分,可参考对图2所示实施例二的相关说明。该技术方案的执行过程和技术效果参见图2所示的实施例中二的描述,在此不再赘述。

图6为本实施例三中的服务灰度发布装置的框架示意图,如图6所示,该装置包括:新服务上线模块601、用户画像设置模块602、访问权限设定模块603和灰度发布模块604。具体地,

新服务上线模块601,用于获取新服务上线请求,根据新服务上线请求匹配原服务,并对匹配到的原服务节点进行全部替换;用户画像设置模块602,用于获取企业内部业务生态数据库中的用户大数据,根据所述用户大数据分别设置不同特征维度的用户画像,选取与预设的灰度发布规则匹配度高的用户画像作为判断用户能否访问新服务的标准;访问权限设定模块603,用于判断请求访问新服务的用户是否满足预设的用户画像,如果所述用户满足预设的用户画像,则对该用户开放访问新服务所有功能的权限,如果所述用户不满足预设的用户画像,则对该用户开放访问新服务部分功能的权限;灰度发布模块604,用于获取满足用户画像的用户的访问反馈信息,判断所述反馈信息是否正常,如果反馈信息正常,则对所有用户开放访问新服务所有功能的权限,如果反馈信息异常,则修改访问新服务功能的权限。

在一个可行的实施例中,灰度发布模块604包括获取单元641和问题报警单元642,具体地,获取单元641,用于获取满足用户画像的用户的历史访问日志和实时访问日志;问题报警单元642,用于判断用户的历史访问日志和实时访问日志的对比结果是否触发报警规则,如果对比结果触发报警规则,则发出问题报警,并根据问题报警调整灰度发布规则。

图6所示装置可以执行图3所示实施例三的方法,本实施例中未详细描述的部分,可参考对图3所示实施例三的相关说明。该技术方案的执行过程和技术效果参见图3所示的实施例中三的描述,在此不再赘述。

以上所描述的服务灰度发布方法可以通过计算机程序来执行,该计算机程序用于进行电子数据交换,并被存储于一计算机可读存储介质中。

以上所描述的服务灰度发布装置仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,可以根据实际的需要选择其中的部分或者全部的模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上描述了服务灰度发布装置的内部功能和机构,在一个可能的设计中,上述服务灰度发布装置的结构可实现为一电子设备,该电子设备比如服务器,可以包括:处理器和存储器。其中,存储器用于存储支持服务灰度发布装置分别执行上述任一实施例中提供的服务灰度发布方法的程序,上述处理器被配置为用于执行上述存储器中存储的程序。

所述程序包括一条或多条计算机指令,其中所述一条或多条计算机指令被所述处理器执行能够实现如图1-3所示的任一实施例中描述的服务灰度发布方法的步骤。

最后需要说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1