CN113282326B - 灰度升级的方法、装置、电子设备和可读存储介质 - Google Patents
灰度升级的方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113282326B CN113282326B CN202110686015.8A CN202110686015A CN113282326B CN 113282326 B CN113282326 B CN 113282326B CN 202110686015 A CN202110686015 A CN 202110686015A CN 113282326 B CN113282326 B CN 113282326B
- Authority
- CN
- China
- Prior art keywords
- gray scale
- application program
- target
- strategy
- task
- 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
Links
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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种灰度升级的方法、装置、电子设备和可读存储介质,在服务器中预先配置有包含关键字字段和值字段的附加数据表,在目标灰度策略与附加数据表中已存灰度策略不同的情况下,也可将目标灰度策略添加至关键字字段下,将其对应的实际值添加至对应的值字段下即可。并且,可基于目标灰度策略的实际值确定待升级任务的灰度范围,并将待升级任务的目标应用程序存入数据库后与灰度范围进行关联。本方案中,在需要进行灰度策略的新维度的接入时,无需进行字段的扩展,可将其添加至关键字字段下,实现灰度策略新维度的快速接入,且可预先确定灰度范围并保存,后续在接收到用户的请求时,可以快速判断用户是否命中相应内容,实现高效的灰度匹配。
Description
技术领域
本申请涉及计算机网络领域,具体而言,涉及一种灰度升级的方法、装置、电子设备和可读存储介质。
背景技术
随着智能设备的普及,基于互联网的智能设备的升级技术也迅速发展,而其中灰度升级策略在智能设备的升级场景下被广泛应用。灰度升级的核心思想即为通过配置升级规则,进行分批次、分范围的升级实现。在灰度升级的实现过程中,对于不同升级任务或不同时段内的升级,运营人员可能会配置不同的升级规则,通过命中不同的策略来触发客户端的升级。
现有的灰度升级方式中,采用在相应的升级信息表中设置不同的字段来存入不同的灰度策略。然而,在灰度策略多变的情况下,这种方式需要对升级信息表中的字段进行扩展,才能实现灰度策略的新维度的接入。升级信息表的字段扩展将导致灰度策略新维度接入的缓慢实现,在实现上较为复杂。
发明内容
本申请的目的包括,例如,提供了一种灰度升级的方法、装置、电子设备和可读存储介质,其能够实现灰度策略新维度的快速接入且实现高效的灰度匹配。
本申请的实施例可以这样实现:
第一方面,本申请提供一种灰度升级的方法,应用于服务器,所述服务器中预存有灰度策略表和附加数据表,所述附加数据表中包含关键字字段和值字段,所述关键字字段中包含至少一个已存灰度策略,所述方法包括:
获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同;
将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下;
基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围;
获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
在可选的实施方式中,所述方法还包括:
响应于来自用户的请求,获得所述请求中携带的应用程序信息;
确定所述用户是否属于所述目标应用程序关联的灰度范围内;
若属于,则根据所述应用程序信息和所述目标应用程序判断是否需要对所述用户对应的客户端的应用程序进行升级;
若判定需要对所述客户端的应用程序进行升级,则将所述目标应用程序反馈至所述客户端。
在可选的实施方式中,所述基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围的步骤,包括:
获得所述灰度策略表中定义的待升级任务所需的命中策略;
根据所述目标灰度策略对应的实际值查找到对应的命中策略的实际值;
基于得到的命中策略的实际值构成所述待升级任务的灰度范围;
所述确定所述用户是否属于所述目标应用程序关联的灰度范围内的步骤,包括:
获得所述请求中携带的用户信息,并获得所述用户信息中包含的在所述命中策略下的真实值;
查找所述灰度范围内是否具有与所述真实值匹配的实际值,若具有,则确定所述用户属于所述目标应用程序关联的灰度范围内。
在可选的实施方式中,所述目标灰度策略对应的实际值为计数值;
所述确定所述用户是否属于所述目标应用程序关联的灰度范围内的步骤,包括:
统计当前已确定的属于所述灰度范围内的用户的个数;
若统计得到的个数还未达到所述计数值,则确定所述用户属于所述目标应用程序关联的灰度范围内;
若统计得到的个数达到所述计数值,则确定所述用户不属于所述目标应用程序关联的灰度范围内。
在可选的实施方式中,所述待升级任务的目标应用程序包含多个不同版本等级的子应用程序;
所述将所述目标应用程序反馈至所述客户端的步骤,包括:
根据所述应用程序信息和多个不同版本等级的子应用程序,确定所述用户所命中的目标子应用程序;
将所述目标子应用程序反馈至所述客户端。
在可选的实施方式中,所述方法还包括:
统计所述待升级任务下各个子应用程序分别反馈的次数。
第二方面,本申请提供一种灰度升级的装置,应用于服务器,所述服务器中预存有灰度策略表和附加数据表,所述附加数据表中包含关键字字段和值字段,所述关键字字段中包含至少一个已存灰度策略,所述装置包括:
获取模块,用于获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同;
添加模块,用于将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下;
确定模块,用于基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围;
保存模块,用于获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
本申请实施例的有益效果包括,例如:
本申请提供一种灰度升级的方法、装置、电子设备和可读存储介质,在服务器中预先配置有附加数据表,而该附加数据表包含关键字字段和值字段,在获得待升级任务所需的目标灰度策略时,在目标灰度策略与附加数据表中已存灰度策略不同的情况下,也可将目标灰度策略添加至关键字字段下,将其对应的实际值添加至对应的值字段下即可。并且,在此基础上,可基于目标灰度策略的实际值确定待升级任务的灰度范围,并将待升级任务的目标应用程序存入数据库后与灰度范围进行关联。本方案中,建立包含关键字字段和值字段的附加数据表,在需要进行灰度策略的新维度的接入时,无需进行字段的扩展,可将其添加至关键字字段下,实现灰度策略新维度的快速接入,并且,可预先确定灰度范围并保存,后续在接收到用户的请求时,可以快速判断用户是否命中相应内容,实现高效的灰度匹配。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的灰度升级的方法的应用场景示意图;
图2为本申请实施例提供的灰度升级的方法的流程图;
图3为本申请实施例提供的灰度升级的方法中,响应方法的流程图;
图4为图2中步骤S130包含的子步骤的流程图;
图5为图3中步骤S160包含的子步骤的流程图;
图6为图3中步骤S160包含的子步骤的另一流程图;
图7为图3中步骤S180包含的子步骤的流程图;
图8为本申请实施例提供的电子设备的结构框图;
图9为本申请实施例提供的灰度升级的装置的功能模块框图。
图标:100-服务器;110-存储介质;120-处理器;130-灰度升级的装置;131-获取模块;132-添加模块;133-确定模块;134-保存模块;140-通信接口。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
请参阅图1,为本申请实施例提供的灰度升级的方法的应用场景示意图,该场景中包括服务器100以及可与服务器100建立通信的多个客户端。其中,各所述客户端可向服务器100发送相关的请求信息,服务器100可对请求信息进行处理以反馈相应信息。所述客户端可以包括但不限于,智能手机、智能家居、计算机设备等终端设备。所述服务器100可以是单独的服务器100,也可以是多台服务器100构成的服务器集群。
本实施例中,所述服务器100可为运营人员一侧的设备,可用于实现灰度升级的需求。本实施例中,服务器100中预存有灰度策略表gray_rule和附加数据表gray_rule_extra,其中,附加数据表中包含关键字字段和值字段,而关键字字段中包含至少一个已存灰度策略,附加数据表中关键字字段和对应的值字段下的信息可用于进行灰度命中等操作。
下面结合上述图1所示的应用场景中描述的内容,对本申请实施例提供的灰度升级的方法进行详细说明。
参照图2所示,为本申请实施例提供的一种灰度升级的方法的流程示意图,该方法可以由上述服务器100来执行。应当理解,在其它实施例中,本实施例所述的灰度升级的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该灰度升级的方法的详细步骤介绍如下。
步骤S110,获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同。
步骤S120,将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下。
步骤S130,基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围。
步骤S140,获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
本实施例中,由上述可知,将附加数据表设置为包含关键字字段和值字段的信息表。而关键字字段中包含至少一个已存灰度策略。附加数据表中的灰度策略可用于执行灰度命中。但是,针对相同的任务或者不同任务,往往可能具有不同的灰度策略。也即,可能出现需要在附加数据表中接入灰度策略的新维度的情形。
现有的附加数据表通过设置不同的字段以对应不同的灰度策略,也即,需要在附加数据表中接入灰度策略的新维度时,则需要对附加数据表中的字段进行扩展,从而将接入的新维度的信息添加到扩展得到的字段下。这种方式由于涉及到字段的扩展,将导致灰度策略新维度接入的缓慢实现。
而本实施例中,附加数据表的设置方式和现有技术中的设置方式不同。考虑到灰度升级所需的信息可以是一个维度下的某个范围内的信息,不需要在附加数据表中体现出不同维度之间的对应关系。因此,本实施例中将现有方式中的设置不同的字段来对应不同的灰度策略维度的方式,更改为设置关键字字段和值字段,利用关键字字段来对应各个不同的灰度策略维度,并利用值字段来存放对应的值信息。
此外,在实施过程中,针对待升级任务,服务器100一侧的运营人员可以设置待升级任务所需的目标灰度策略,也即,可以设置基于何种策略来实现该次升级任务。其中,定义的目标灰度策略可存入在灰度策略表中,以供后续调取。
服务器100还可构建元数据表gray_mate,该元数据表中可存储一些任务的基本信息,例如任务名称等。
此外,灰度策略表中还可存放其他与任务相关的信息,例如,待执行的任务为应用程序升级的任务,则灰度策略表中可定义该次任务的业务类型busi_type是升级应用程序appUpdate。在此基础上,若目标灰度策略表征基于用户的手机号来触发执行,则灰度策略表中可定义该次任务的灰度策略类型config_type为手机号phoneNumber。若最终需要基于用户ID来进行范围的确定,则灰度策略表中可定义该次任务需要命中的目标match_key是用户ID。
在待执行的任务为应用升级的任务时,灰度策略表中还可定义外部业务键foreign_busi_id为应用程序版本信息对应的ID。
如果定义的待升级任务的目标灰度策略与附加数据表中的已存灰度策略的类型不同,也即,需要进行灰度策略的新维度的接入时,由于本实施例中的附加数据表包含关键字字段和值字段,因此,该新接入的目标灰度策略可以直接添加到关键字字段下,而目标灰度策略对应的实际值可添加至对应的值字段下。
其中,目标灰度策略例如可以是用户的手机号、门店号等,也即,可以基于用户的手机号执行后续的一定用户范围内的灰度升级。
本实施例中,在获得目标灰度策略对应的实际值后,则可确定待升级任务的灰度范围。例如,在目标灰度策略为用户的手机号,则在获得实际手机号后,可以基于获得的实际手机号确定一灰度范围,也即,属于该灰度范围的用户可以为目标用户,以对这些用户执行应用的升级。
在确定灰度范围后,可获得待升级任务的目标应用程序,例如,包含所需升级至的应用程序的版本号、升级数据包下载地址等。可以将目标应用程序存入数据库中,例如Redis中,并将其与确定出的灰度范围进行关联。
如此,通过预先确定目标应用程序并将其与灰度范围关联,后续在接收到用户的请求时,可以快速判断用户是否命中相应内容,进而实现高效的灰度匹配。
并且,本实施例所提供的灰度升级的方案,建立包含关键字字段和值字段的附加数据表,在需要进行灰度处理的新维度的接入时,无需进行字段的扩展,可将其添加至关键字字段下,实现灰度策略新维度的快速接入。
在上述基础上,请参阅图3,本实施例所提供的灰度升级方法还可包括以下步骤:
步骤S150,响应于来自用户的请求,获得所述请求中携带的应用程序信息。
步骤S160,确定所述用户是否属于所述目标应用程序关联的灰度范围内,若属于,则执行以下步骤S170。
步骤S170,根据所述应用程序信息和所述目标应用程序判断是否需要对所述用户对应的客户端的应用程序进行升级,若判断需要对所述客户端的应用程序进行升级,则执行以下步骤S180。
步骤S180,将所述目标应用程序反馈至所述客户端。
本实施例中,用户可以通过客户端发送请求至服务器100,该请求可以是请求进行应用升级的请求,当然,也可以是请求其他信息的请求,具体地不作限制。
服务器100在接收到用户的请求后,可以获得请求中携带的应用程序信息,该应用程序信息可以是客户端当前安装的应用程序信息,如当前安装的应用程序的版本号。
通过上述过程计算出了待升级任务对应的灰度范围,因此,在接收到用户的请求时,可以判断用户是否属于该灰度范围内,也即是否在通过以上过程确定出的需要进行本次应用升级的用户范围内。如果确定用户属于灰度范围内,可继续基于客户端当前的应用程序信息以及本次待升级任务的目标应用程序,判断是否需要对客户端的应用程序进行升级。
例如,若客户端当前的应用程序的版本号低于目标应用程序的版本号,则可判定可以对客户端的应用程序进行升级,而若客户端当前的应用程序的版本号不低于目标应用程序的版本号,则可判定不需要对客户端的应用程序进行升级。
若判断需要对客户端的应用程序进行升级,则可将存储的目标应用程序反馈至客户端,例如,可以反馈目标应用程序的升级数据包,或者是反馈目标应用程序的包下载地址等信息至客户端。
若判定不需要对客户端的应用程序进行升级,则可向客户端反馈不需要进行升级的提示信息,或者是不作响应。
如此,通过提前计算出任务对应的灰度范围,将目标应用程序存储后与灰度范围关联,则在用户的请求到来时,可直接判断用户是否在灰度范围内且获得用户的灰度内容,可以避免在用户的请求到来时,临时计算用户灰度结果造成的长耗时,实现高效的灰度匹配。
本实施例中,灰度升级时可以采用不同的策略,如精准灰度或计数灰度。其中,精准灰度即为最终命中的是以准确信息来表征的一个范围内的用户,即命中到精准的用户信息。而计数灰度即为最终命中的是一个计数范围,不关注该范围内的具体用户,关注的是这样一个大小的范围,如实现对1万个用户的灰度升级。
作为一种可能的实现方式,在灰度升级采用的精准灰度方式时,上述在确定待升级任务的灰度范围时,可以通过以下方式实现,请结合参阅图4:
步骤S131,获得所述灰度策略表中定义的待升级任务所需的命中策略。
步骤S132,根据所述目标灰度策略对应的实际值查找到对应的命中策略的实际值。
步骤S133,基于得到的命中策略的实际值构成所述待升级任务的灰度范围。
本实施例中,考虑到用户在注册时往往会采用广泛的唯一标识用户的信息,例如用户的手机号来进行注册。因此,运营人员在设置目标灰度策略时,可以将用户的手机号设置为目标灰度策略。用户在平台上注册后,平台往往会为用户分配一个在平台上的标识信息,如在平台上的用户ID,该用户ID可以用于在平台上唯一标识用户。在平台上执行灰度升级时,利用用户在平台上的用户ID以作为标识信息,可便于平台上的信息管理。
因此,运营人员还可定义待升级任务所需的命中策略,例如用户ID,定义的命中策略可写入灰度策略表中。而在获得目标灰度策略对应的实际值后,可以基于预先的注册信息查找到对应的命中策略的实际值。
例如,在获得多个实际手机号后,可以基于注册信息,获得各个手机号对应的用户ID,即命中策略的各个实际值。而获得的命中策略的实际值则可构成待升级任务的灰度范围。
在此情形下,请参阅图5,在实现灰度命中时,上述判断用户是否属于目标应用程序关联的灰度范围的步骤,可以通过以下方式实现:
步骤S161A,获得所述请求中携带的用户信息,并获得所述用户信息中包含的在所述命中策略下的真实值。
步骤S162A,查找所述灰度范围内是否具有与所述真实值匹配的实际值,若具有,则执行以下步骤S163A。
步骤S163A,确定所述用户属于所述目标应用程序关联的灰度范围内。
本实施例中,在精准灰度的策略下,在接收到来自用户的请求时,可以获得请求中携带的用户信息。用户信息中包括如用户手机号、用户ID等信息。若定义的命中策略为命中用户ID,则可进一步获得用户信息中的在该命中策略下的真实值,也即,用户的用户ID的真实值。
通过上述灰度范围的确定后,该灰度范围内包含有所确定的多个需要进行灰度升级的用户ID的实际值。如此,则可以查看该灰度范围内是否具有与获得的用户信息中的真实值匹配的实际值,也即是否在多个用户ID中具有与用户信息中的待确认的用户ID匹配的用户ID。
若灰度范围内具有匹配的实际值,则表明该用户为预先已划定的范围之内的用户。因此,则可以判定该用户属于目标应用程序关联的灰度范围内。
由上述可知,灰度策略还可包括计数策略,也即,关注点在于灰度的人数上,在此情形下,上述获得的目标灰度策略对应的实际值为计数值,如一万个。作为一种可能的实现方式,请参阅图6,本实施例中,还可通过以下方式确定用户是否在目标应用程序关联的灰度范围内。
步骤S161B,统计当前已确定的属于所述灰度范围内的用户的个数。
步骤S162B,若统计得到的个数还未达到所述计数值,则确定所述用户属于所述目标应用程序关联的灰度范围内。
步骤S163B,若统计得到的个数达到所述计数值,则确定所述用户不属于所述目标应用程序关联的灰度范围内。
本实施例中,在计数灰度策略下,则可以在获取到用户的请求时,则将该用户纳入到属于上述灰度范围内,并通过灰度计数器进行统计计数,例如,每次进行加1操作。在新接收到某个用户的请求的情况下,则可以首先查看当前已统计的已确定属于灰度范围内的用户的个数。
如果当前已统计的个数未达到计数值,则可以确定用户属于灰度范围内,否则,可以确定用户不属于灰度范围内。
例如,若预先定义需要对一万个用户进行应用程序的升级,则该计数值则为一万。若用户的请求到来时,已统计到的确定属于灰度范围内的用户的个数为五千,则该用户可以确定属于灰度范围内,并且,将统计个数加1。若用户的请求到来时,已统计到的确定属于灰度范围内的用户的个数为一万,表征需要的人数已达到,可确定该用户不属于灰度范围内。
本实施例中,在通过以上任一方式确定用户属于灰度范围内,并确定需要对用户的客户端的应用程序进行升级时,则可以将目标应用程序反馈给客户端,以实现灰度升级。
可选地,待升级任务的目标应用程序可包含多个不同版本等级的子应用程序,也即,在一个待升级任务中可指示将客户端的版本信息升级为A版本等级的子应用程序,或者将客户端的版本信息升级为B版本的子应用程序。在此情形下,请参阅图7,在将目标应用程序反馈给客户端时,则可以通过以下方式实现:
步骤S181,根据所述应用程序信息和多个不同版本等级的子应用程序,确定所述用户所命中的目标子应用程序。
步骤S182,将所述目标子应用程序反馈至所述客户端。
本实施例中,确定用户所命中的目标子应用程序的方式可以是,例如,将多个不同版本等级的子应用程序中,仅比客户端当前已安装的应用程序的等级高一级的子应用程序作为目标子应用程序。
例如,若子应用程序中包含版本等级为B等级、C等级、D等级的三个子应用程序,各个版本等级依次增加。客户端当前已安装的应用程序的版本等级为A等级。则可以将三个子应用程序中的B等级的子应用程序作为目标子应用程序。若客户端当前已安装的应用程序的版本等级为B等级,则上述三个子应用程序中的C等级的子应用程序可作为目标子应用程序。
此外,作为另一种实现方式,也可以基于预先所设置的各个子应用程序的升级优先级来确定出其中的目标子应用程序,例如,可将多个不同版本等级的子应用程序按升级的需求设置不同的升级优先级,在满足其他各项条件的情况下,可以基于升级优先级从高到低的顺序,来确定目标子应用程序并进行反馈。
在上述机制下,针对某个待升级任务,在待升级任务完成之后,则可以统计各个子应用程序分别反馈的次数,也即各个子应用程序被执行灰度升级的次数。得到的结果可以记录在待升级任务的日志信息中,以便将信息提供给运营人员。
本实施例所提供的灰度升级的方案,通过对附加数据表配置,将附加数据表设置为包含关键字字段和值字段,如此,在需要添加灰度策略的新维度时,可直接添加至关键字字段下,无需进行字段的扩展,可以实现快速接入不同的维度的灰度策略的目的。
进一步地,本实施例可以根据配置计算出灰度范围,并将目标应用程序保存后与灰度范围关联。当用户请求到达时,判定用户属于灰度范围的情况下,则可直接返回对应的灰度内容。避免了临时计算用户的灰度内容造成的耗时,实现了高效的灰度匹配的目的。
请参阅图8,为本申请实施例提供的电子设备的示例性组件示意图,该电子设备可为图1中所示的服务器100。该电子设备可包括存储介质110、处理器120、灰度升级的装置130及通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
灰度升级的装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述灰度升级的方法的软件功能模块。
如图9所示,上述灰度升级的装置130可以包括获取模块131、添加模块132、确定模块133和保存模块134。下面分别对该灰度升级的装置130的各个功能模块的功能进行详细阐述。
获取模块131,用于获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同。
可以理解,该获取模块131可以用于执行上述步骤S110,关于该获取模块131的详细实现方式可以参照上述对步骤S110有关的内容。
添加模块132,用于将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下。
可以理解,该添加模块132可以用于执行上述步骤S120,关于该添加模块132的详细实现方式可以参照上述对步骤S120有关的内容。
确定模块133,用于基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围。
可以理解,该确定模块133可以用于执行上述步骤S130,关于该确定模块133的详细实现方式可以参照上述对步骤S130有关的内容。
保存模块134,用于获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
可以理解,该保存模块134可以用于执行上述步骤S140,关于该保存模块134的详细实现方式可以参照上述对步骤S140有关的内容。
在一种可能的实现方式中,所述灰度升级的装置130还包括响应模块,该响应模块具体可以用于:
响应于来自用户的请求,获得所述请求中携带的应用程序信息;
确定所述用户是否属于所述目标应用程序关联的灰度范围内;
若属于,则根据所述应用程序信息和所述目标应用程序判断是否需要对所述用户对应的客户端的应用程序进行升级;
若判定需要对所述客户端的应用程序进行升级,则将所述目标应用程序反馈至所述客户端。
在一种可能的实现方式中,上述确定模块133具体可以用于:
获得所述灰度策略表中定义的待升级任务所需的命中策略;
根据所述目标灰度策略对应的实际值查找到对应的命中策略的实际值;
基于得到的命中策略的实际值构成所述待升级任务的灰度范围;
上述响应模块具体可以用于:
获得所述请求中携带的用户信息,并获得所述用户信息中包含的在所述命中策略下的真实值;
查找所述灰度范围内是否具有与所述真实值匹配的实际值,若具有,则确定所述用户属于所述目标应用程序关联的灰度范围内。
在一种可能的实现方式中,所述目标灰度策略对应的实际值为计数值,上述确定模块133具体可以用于:
统计当前已确定的属于所述灰度范围内的用户的个数;
若统计得到的个数还未达到所述计数值,则确定所述用户属于所述目标应用程序关联的灰度范围内;
若统计得到的个数达到所述计数值,则确定所述用户不属于所述目标应用程序关联的灰度范围内。
在一种可能的实现方式中,所述待升级任务的目标应用程序包含多个不同版本等级的子应用程序,上述响应模块具体可以用于:
根据所述应用程序信息和多个不同版本等级的子应用程序,确定所述用户所命中的目标子应用程序;
将所述目标子应用程序反馈至所述客户端。
在一种可能的实现方式中,所述灰度升级的装置130还可以包括统计模块,该统计模块具体可以用于:
统计所述待升级任务下各个子应用程序分别反馈的次数。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
进一步地,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的灰度升级的方法。
具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述灰度升级的方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
综上所述,本申请实施例提供的灰度升级的方法、装置、电子设备和可读存储介质,在服务器100中预先配置有附加数据表,而该附加数据表包含关键字字段和值字段,在获得待升级任务所需的目标灰度策略时,在目标灰度策略与附加数据表中已存灰度策略不同的情况下,也可将目标灰度策略添加至关键字字段下,将其对应的实际值添加至对应的值字段下即可。并且,在此基础上,可基于目标灰度策略的实际值确定待升级任务的灰度范围,并将待升级任务的目标应用程序存入数据库后与灰度范围进行关联。本方案中,建立包含关键字字段和值字段的附加数据表,在需要进行灰度策略的新维度的接入时,无需进行字段的扩展,可将其添加至关键字字段下,实现灰度策略新维度的快速接入,并且,可预先确定灰度范围并保存,后续在接收到用户的请求时,可以快速判断用户是否命中相应内容,实现高效的灰度匹配。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种灰度升级的方法,其特征在于,应用于服务器,所述服务器中预存有灰度策略表和附加数据表,所述附加数据表中包含关键字字段和值字段,所述关键字字段中包含至少一个已存灰度策略,所述方法包括:
获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同;
将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下;
基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围;
获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
2.根据权利要求1所述的灰度升级的方法,其特征在于,所述方法还包括:
响应于来自用户的请求,获得所述请求中携带的应用程序信息;
确定所述用户是否属于所述目标应用程序关联的灰度范围内;
若属于,则根据所述应用程序信息和所述目标应用程序判断是否需要对所述用户对应的客户端的应用程序进行升级;
若判定需要对所述客户端的应用程序进行升级,则将所述目标应用程序反馈至所述客户端。
3.根据权利要求2所述的灰度升级的方法,其特征在于,所述基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围的步骤,包括:
获得所述灰度策略表中定义的待升级任务所需的命中策略;
根据所述目标灰度策略对应的实际值查找到对应的命中策略的实际值;
基于得到的命中策略的实际值构成所述待升级任务的灰度范围;
所述确定所述用户是否属于所述目标应用程序关联的灰度范围内的步骤,包括:
获得所述请求中携带的用户信息,并获得所述用户信息中包含的在所述命中策略下的真实值;
查找所述灰度范围内是否具有与所述真实值匹配的实际值,若具有,则确定所述用户属于所述目标应用程序关联的灰度范围内。
4.根据权利要求2所述的灰度升级的方法,其特征在于,所述目标灰度策略对应的实际值为计数值;
所述确定所述用户是否属于所述目标应用程序关联的灰度范围内的步骤,包括:
统计当前已确定的属于所述灰度范围内的用户的个数;
若统计得到的个数还未达到所述计数值,则确定所述用户属于所述目标应用程序关联的灰度范围内;
若统计得到的个数达到所述计数值,则确定所述用户不属于所述目标应用程序关联的灰度范围内。
5.根据权利要求2所述的灰度升级的方法,其特征在于,所述待升级任务的目标应用程序包含多个不同版本等级的子应用程序;
所述将所述目标应用程序反馈至所述客户端的步骤,包括:
根据所述应用程序信息和多个不同版本等级的子应用程序,确定所述用户所命中的目标子应用程序;
将所述目标子应用程序反馈至所述客户端。
6.根据权利要求5所述的灰度升级的方法,其特征在于,所述方法还包括:
统计所述待升级任务下各个子应用程序分别反馈的次数。
7.一种灰度升级的装置,其特征在于,应用于服务器,所述服务器中预存有灰度策略表和附加数据表,所述附加数据表中包含关键字字段和值字段,所述关键字字段中包含至少一个已存灰度策略,所述装置包括:
获取模块,用于获取所述灰度策略表中定义的待升级任务所需的目标灰度策略,所述目标灰度策略与所述至少一个已存灰度策略的类型不同;
添加模块,用于将所述目标灰度策略添加至所述关键字字段下,将所述目标灰度策略对应的实际值添加至对应的值字段下;
确定模块,用于基于所述目标灰度策略对应的实际值确定所述待升级任务的灰度范围;
保存模块,用于获得所述待升级任务的目标应用程序,将所述目标应用程序存入数据库并与所述灰度范围进行关联。
8.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-6中任意一项所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-6中任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110686015.8A CN113282326B (zh) | 2021-06-21 | 2021-06-21 | 灰度升级的方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110686015.8A CN113282326B (zh) | 2021-06-21 | 2021-06-21 | 灰度升级的方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282326A CN113282326A (zh) | 2021-08-20 |
CN113282326B true CN113282326B (zh) | 2023-05-16 |
Family
ID=77285272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110686015.8A Active CN113282326B (zh) | 2021-06-21 | 2021-06-21 | 灰度升级的方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282326B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006677A1 (zh) * | 2016-07-06 | 2018-01-11 | 中兴通讯股份有限公司 | 智能升级方法、服务器、终端和*** |
CN110532008A (zh) * | 2019-08-29 | 2019-12-03 | 深圳前海环融联易信息科技服务有限公司 | 一种产品灰度发布方法、装置、计算机设备及存储介质 |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及***和存储装置 |
CN111381845A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 软件灰度升级方法、装置、存储介质、终端和服务器 |
WO2020181684A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、***、设备及存储介质 |
CN111752597A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 业务的灰度发布方法、装置、设备及计算机可读存储介质 |
CN112346738A (zh) * | 2020-11-30 | 2021-02-09 | 深圳市欧瑞博科技股份有限公司 | 智能灰度发布方法、装置、电子设备及存储介质 |
CN112686519A (zh) * | 2020-12-25 | 2021-04-20 | 中国平安人寿保险股份有限公司 | 一种灰度调整方法、装置、电子设备及存储介质 |
CN112783868A (zh) * | 2021-02-10 | 2021-05-11 | 中国工商银行股份有限公司 | 分布式数据库表结构灰度升级方法、装置及*** |
-
2021
- 2021-06-21 CN CN202110686015.8A patent/CN113282326B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006677A1 (zh) * | 2016-07-06 | 2018-01-11 | 中兴通讯股份有限公司 | 智能升级方法、服务器、终端和*** |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及***和存储装置 |
CN111381845A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 软件灰度升级方法、装置、存储介质、终端和服务器 |
WO2020181684A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、***、设备及存储介质 |
CN110532008A (zh) * | 2019-08-29 | 2019-12-03 | 深圳前海环融联易信息科技服务有限公司 | 一种产品灰度发布方法、装置、计算机设备及存储介质 |
CN111752597A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 业务的灰度发布方法、装置、设备及计算机可读存储介质 |
CN112346738A (zh) * | 2020-11-30 | 2021-02-09 | 深圳市欧瑞博科技股份有限公司 | 智能灰度发布方法、装置、电子设备及存储介质 |
CN112686519A (zh) * | 2020-12-25 | 2021-04-20 | 中国平安人寿保险股份有限公司 | 一种灰度调整方法、装置、电子设备及存储介质 |
CN112783868A (zh) * | 2021-02-10 | 2021-05-11 | 中国工商银行股份有限公司 | 分布式数据库表结构灰度升级方法、装置及*** |
Non-Patent Citations (1)
Title |
---|
颜振东.移动应用灰度发布***的设计与实现.中国优秀硕士学位论文全文数据库 信息科技辑.2018,I138-925. * |
Also Published As
Publication number | Publication date |
---|---|
CN113282326A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225145B2 (en) | Method and device for updating client | |
US8701102B2 (en) | Techniques for automatic software provisioning | |
CN111930780A (zh) | 数据查询方法及*** | |
CN103607312B (zh) | 用于服务器***的数据请求处理方法及*** | |
US11310066B2 (en) | Method and apparatus for pushing information | |
CN109495467B (zh) | 拦截规则的更新方法、设备及计算机可读存储介质 | |
US20130283274A1 (en) | Method and system for discovering and activating an application in a computer device | |
US20170289243A1 (en) | Domain name resolution method and electronic device | |
CN110830551A (zh) | 业务请求处理方法、装置及*** | |
US20190223141A1 (en) | Device positioning method and apparatus | |
CN111047434B (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
CN111078424A (zh) | 一种信息交互方法、装置、计算机设备和存储介质 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN111930505B (zh) | 大数据平台的数据资源管理方法及***、服务器及介质 | |
CN113282326B (zh) | 灰度升级的方法、装置、电子设备和可读存储介质 | |
CN110852603B (zh) | 高吞吐量的风控数据处理方法、装置、设备及存储介质 | |
CN111291012A (zh) | 一种规则文件部署***、方法、设备及介质 | |
CN111538672A (zh) | 测试案例分层测试方法、计算机设备及计算机可读存储介质 | |
CN116151631A (zh) | 一种业务决策处理***、一种业务决策处理方法和装置 | |
CN109582680B (zh) | 基于新产品开发的业务处理方法、电子装置及可读存储介质 | |
CN111078379B (zh) | 任务调度方法、***、移动终端及存储介质 | |
CN113032019A (zh) | 基于多因子的安卓设备识别方法、装置及存储介质 | |
CN114372240A (zh) | 数据获取方法、装置、终端及计算机可读存储介质 | |
CN109104499B (zh) | 一种会话建立方法、装置、设备和存储介质 | |
CN115004667A (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 |