CN112433751B - 灰度发布方法、装置、电子设备和存储介质 - Google Patents

灰度发布方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112433751B
CN112433751B CN202011505802.XA CN202011505802A CN112433751B CN 112433751 B CN112433751 B CN 112433751B CN 202011505802 A CN202011505802 A CN 202011505802A CN 112433751 B CN112433751 B CN 112433751B
Authority
CN
China
Prior art keywords
result
dimension
client
configuration data
gray scale
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
CN202011505802.XA
Other languages
English (en)
Other versions
CN112433751A (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.)
Jiangsu Yunmanman Information Technology Co ltd
Original Assignee
Jiangsu Manyun Logistics Information 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 Jiangsu Manyun Logistics Information Co ltd filed Critical Jiangsu Manyun Logistics Information Co ltd
Priority to CN202011505802.XA priority Critical patent/CN112433751B/zh
Publication of CN112433751A publication Critical patent/CN112433751A/zh
Application granted granted Critical
Publication of CN112433751B publication Critical patent/CN112433751B/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及计算机技术领域,提供一种灰度发布方法、装置、电子设备和存储介质。所述灰度发布方法包括:响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;对所述ASCII码进行第一取模运算,获得第一结果,并对所述用户标识进行第二取模运算,获得第二结果;基于一随机生成的二维数组,根据所述第一结果和所述第二结果确定一变量值;以及,根据所述变量值和预设灰度条件,向所述客户端返回对应的配置数据。本发明能够解决传统灰度方案中每次灰度发布时都是同一批用户被选为灰度用户的问题,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。

Description

灰度发布方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,具体地说,涉及一种灰度发布方法、装置、电子设备和存储介质。
背景技术
软件产品有新版本需要上线时,常通过灰度方案,抽取一部分用户下发新版本的配置数据,剩余用户仍使用旧版本的配置数据。进而,可根据两类用户对新旧版本的反馈数据,确定全部投放新版本、改进新版本、回滚旧版本等应对策略,保证新版本上线时的稳定。
但是,目前的灰度方案,是根据用户ID进行取模运算,根据计算结果与设定的灰度百分比,判断用户是否命中灰度,若命中灰度则下发新版本的配置数据。
目前的灰度方案的缺陷在于,每个用户的用户ID固定不变,采用根据用户ID取模运算获得的计算结果也固定不变,导致每次灰度发布时,都是同一批用户被选为灰度用户。在新版本可能存在缺陷的情况下,同一批用户多次中招,导致用户满意度降低,甚至造成用户流失。
另外,如果该批用户中有很大比例的非活跃用户,很容易造成无法收集到足够的对新版本的反馈数据,延误新版本的上线。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种灰度发布方法、装置、电子设备和存储介质,解决传统灰度方案中每次灰度发布时都是同一批用户被选为灰度用户的问题,能够实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
本发明的一个方面提供一种灰度发布方法,包括:响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;对所述ASCII码进行第一取模运算,获得第一结果,并对所述用户标识进行第二取模运算,获得第二结果;基于一随机生成的二维数组,根据所述第一结果和所述第二结果确定一变量值;以及,根据所述变量值和预设灰度条件,向所述客户端返回对应的配置数据。
在一些实施例中,所述第一结果位于所述二维数组的第一维度的维度范围内,所述第二结果位于每一所述第一维度的元素范围内;所述根据所述第一结果和所述第二结果确定一变量值,包括:根据所述第一结果,获得所述二维数组中的一目标第一维度;根据所述第二结果,获得所述目标第一维度中的一目标元素;以及,将所述目标元素对应的第二维度确定为所述变量值。
在一些实施例中,所述二维数组中,每一所述第一维度中的各元素互不相同,分别自所述第二结果的最小值取至最大值,且各所述第一维度的元素排列顺序互不相同。
在一些实施例中,所述第一取模运算为对10取模,所述第一结果的取值范围为0~9,所述第一维度的维度范围为0~9;所述第二取模运算为对100取模,所述第二结果的取值范围为0~99,每一所述第一维度的元素范围为0~99,所述第二维度的维度范围为0~99。
在一些实施例中,所述根据所述变量值和预设灰度条件,向所述客户端返回配置数据,包括:判断所述变量值是否命中所述预设灰度条件;若是,向所述客户端返回更新版本的配置数据;若否,向所述客户端返回初始版本的配置数据。
在一些实施例中,所述预设灰度条件为大于目标百分比的一初始百分比,所述灰度发布方法还包括:获得所有用户标识基于预设访问内容的反馈数据量;将所有用户标识按反馈数据量从多到少进行排序,获得排序表;所述响应于客户端的访问请求时,对所述客户端基于所述预设访问内容的访问请求进行响应,并获得所述用户标识在所述排序表中的排序位;当判断所述变量值命中所述预设灰度条件时,继续判断所述排序位在所述排序表中是否超过预设比例,所述预设比例与所述初始百分比的乘积大于等于所述目标百分比;若是,向所述客户端返回所述更新版本的配置数据;若否,向所述客户端返回所述初始版本的配置数据。
在一些实施例中,所述反馈数据量包括使用数据量和评价数据量。
本发明的另一个方面提供一种灰度发布装置,用于实现上述任意实施例描述的灰度发布方法,所述灰度发布装置包括:请求响应模块,配置为响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;取模计算模块,配置为对所述ASCII码进行第一取模运算,获得第一结果,并对所述用户标识进行第二取模运算,获得第二结果;变量值确定模块,配置为基于一随机生成的二维数组,根据所述第一结果和所述第二结果确定一变量值;以及配置反馈模块,配置为根据所述变量值和预设灰度条件,向所述客户端返回对应的配置数据。
本发明的又一个方面提供一种电子设备,包括:一处理器;一存储器,所述存储器中存储有可执行指令;其中,所述可执行指令被所述处理器执行时,实现上述任意实施例描述的灰度发布方法。
本发明的再一个方面提供一种计算机可读的存储介质,用于存储程序,所述程序被执行时实现上述任意实施例描述的灰度发布方法。
本发明与现有技术相比的有益效果至少包括:
针对不同配置的访问请求,其KEY字段的ASCII码不同;从而,采用根据ASCII码和用户标识,结合随机生成的二维数组确定变量值,并根据变量值返回对应的配置数据的方式,能够实现针对不同配置,选取不同用户进行灰度发布,确保同一用户不会每次都被选为灰度用户;
从而,本发明能够解决传统灰度方案中每次灰度发布时都是同一批用户被选为灰度用户的问题,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明实施例中灰度发布方法的步骤示意图;
图2示出本发明实施例中基于二维数组确定变量值的步骤示意图;
图3示出本发明实施例中基于二维数组确定变量值的场景示意图;
图4示出本发明另一实施例中灰度发布方法的步骤示意图;
图5示出本发明实施例中灰度发布装置的模块示意图;
图6示出本发明实施例中电子设备的结构示意图;以及
图7示出本发明实施例中计算机可读的存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使本发明全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面实施例中的步骤序号仅用于表示不同的执行内容,并不严格限定步骤之间的执行顺序。具体描述时使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。需要说明的是,在不冲突的情况下,本发明的实施例及不同实施例中的特征可以相互组合。
图1示出实施例中灰度发布方法的主要步骤,参照图1所示,本实施例中灰度发布方法包括:在步骤S110中,响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;在步骤S120中,对ASCII码进行第一取模运算,获得第一结果,并对用户标识进行第二取模运算,获得第二结果;在步骤S130中,基于一随机生成的二维数组,根据第一结果和第二结果确定一变量值;以及在步骤S140中,根据变量值和预设灰度条件,向客户端返回对应的配置数据。
访问请求的KEY字段位于访问请求的请求头中,ASCII码即美国信息交换标准代码。针对不同配置的访问请求,其KEY字段的ASCII码不同。从而,上述实施例采用根据ASCII码和用户标识,结合随机生成的二维数组确定变量值,并根据变量值返回对应的配置数据的方式,能够实现针对不同配置,选取不同用户进行灰度发布,确保同一用户不会每次都被选为灰度用户。采用上述实施例的灰度发布方法,能够解决传统灰度方案中每次灰度发布时都是同一批用户被选为灰度用户的问题,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
下面结合具体示例,对灰度发布方法的各个步骤进行详细说明。
步骤S110中,访问请求具体指客户端想要获取某服务(某访问内容)的配置数据,而向服务端发起的请求。服务端通过解析访问请求,即可获取其KEY字段,进而计算出ASCII码;并且可以获得访问请求携带的用户标识(UID)。
步骤S120中,对ASCII码和用户标识进行取模运算时,需考虑ASCII码和用户标识的具体数值,使计算结果方便后续使用。本实施例中,第一取模运算为对10取模,即将ASCII码对10进行取模,能获得计算结果为0~9的第一结果;第二取模运算为对100取模,即将用户标识对100进行取模,能获得计算结果为0~99的第二结果。在其他实施例中,可以根据计算结果的实际需要,对ASCII码和用户标识进行基于其他除数的取模运算。
步骤S130中,二维数组是一个随机生成的数组,其包括第一维度和第二维度,下面以第一维度为行,第二维度为列进行说明。
上述计算获得的第一结果,位于二维数组的第一维度的维度范围内,也即位于二维数组的行数范围内;第二结果位于每一第一维度的元素范围内,也即第二结果可对应至二维数组的任一行的一元素值。
在生成二维数组/对ASCII码和用户标识进行取模运算时,需结合考虑,使基于二维数组,能够根据第一结果和第二结果确定变量值。
在一个实施例中,参照图2所示,根据第一结果和第二结果确定一变量值的过程具体包括:S130-10,根据第一结果,获得二维数组中的一目标第一维度;S130-20,根据第二结果,获得目标第一维度中的一目标元素;以及S130-30,将目标元素对应的第二维度确定为变量值。本实施例的二维数组中,每一第一维度中的各元素互不相同,分别自第二结果的最小值取至最大值,且各第一维度的元素排列顺序互不相同。从而,通过本实施例的二维数组,确保接收到针对不同配置的访问请求时,基于ASCII码的第一结果落至二维数组的不同行;而不同行的元素排列顺序互不相同,因此基于用户标识的第二结果在不同灰度发布时能够对应到不同的第二维度坐标,确保同个用户不会每次都被选为灰度用户。
结合图3所示的具体场景,本实施例中,对应于上述ASCII码对10进行取模,用户标识对100进行取模的计算结果,二维数组300的第一维度的维度范围为0~9,每一第一维度的元素范围为0~99,第二维度的维度范围为0~99。也即本实施例中随机生成的二维数组300,是一个10行100列的数组,其每行/每列的元素值都不重复,每行的元素值都是0~99的整数,且各行的元素排列顺序不一样。
图3中,二维数组300的行标示为L0~L9,列标示为R0~R99,具体元素未详细标示。将ASCII码对10进行取模,获得的第一结果例如为2,则可确定目标第一维度为第3行,图3中加粗标示。将用户标识对100进行取模,获得的第二结果例如为85,则在二维数组300的第3行中查找85对应的具体元素,例如查找到图3中所标示的元素“85”。进一步地,获得第3行的元素“85”所对应的第二维度R2,确定变量值3。也即,本实施例中通过对ASCII码进行取模运算,确定出二维数组中的某一行,通过对用户标识进行取模运算,确定出二维数组中该行的某一元素;再根据该元素确定二维数组的某一列,将该列的具体坐标确定为变量值。
通过上述方式,利用ASCII码和用户标识,结合二维数组计算出变量值,既能确保同个用户不会每次都被选为灰度用户,同时又简单高效。
步骤S140中,将获得的变量值与预设灰度条件比对,确定是否向客户端返回新版本的配置数据。具体来说,根据变量值和预设灰度条件,向客户端返回配置数据的过程包括:判断变量值是否命中预设灰度条件,例如变量值是否小于灰度百分比;若是,判断用户命中灰度,向客户端返回更新版本的配置数据;若否,则向客户端返回初始版本的配置数据。
综上,上述的灰度发布方法,引入二维数组,通过对访问请求的KEY字段和用户标识进行计算,对应至二维数组中的一维度坐标,再通过获得的维度坐标判断是否命中灰度,能够确保每次灰度发布时不会下发给同一批用户。在真实生产环境中,经测试上述的灰度发布方法能够稳定运行,稳定服务数以百万的用户,未出现过故障。
进一步地,在一个实施例中,在实现每次灰度发布时不会下发给同一批用户的基础上,为确保每次灰度发布时均能选取到活跃用户,帮助收集全面足够的反馈数据,促进新版本的上线,在选取用户时,还考虑用户历史对于本次灰度发布的配置数据的反馈数据量,以选取活跃用户。
具体来说,可将预设灰度条件设为大于目标百分比的一初始百分比,在判断变量值命中预设灰度条件后,进一步根据用户历史对于本次灰度发布的配置数据的反馈数据量,判断是否向用户下发更新版本的配置数据。
结合图4所示,本实施例的灰度发布方法具体包括:
S410,获得所有用户标识基于预设访问内容的反馈数据量。其中,预设访问内容即对应本次灰度发布的配置数据,反馈数据量可在开发完本次灰度发布的配置数据后,获取截止至本次灰度发布前的一历史时间段,例如前三个月的反馈数据量。反馈数据量包括使用数据量和评价数据量,反馈数据量越大,则表明用户越活越。
S420,将所有用户标识按反馈数据量从多到少进行排序,获得排序表。例如,本次灰度发布的配置数据是对货源发布界面进行改进的配置数据。在前三个月,有100万个用户使用了货源发布界面,其中部分用户对货源发布界面进行了评价。则获取到该100万个用户的反馈数据量,根据数据量大小排序,获得100万个用户标识的排序表。
S430,对客户端基于预设访问内容的访问请求进行响应,并获得用户标识在排序表中的排序位。同时,本步骤中还会获得访问请求的KEY字段的ASCII码和访问请求的用户标识,具体可参见上述实施例的描述。
S440,基于对ASCII码和用户标识的计算,结合二维数组获得变量值,具体可参见上述实施例的描述。
S450,判断变量值是否命中预设灰度条件,若是则执行S460,继续判断排序位在排序表中是否超过预设比例,其中预设比例与初始百分比的乘积大于等于目标百分比;若S460判断为是,则向客户端返回更新版本的配置数据;若S450或S460判断为否,则向客户端返回初始版本的配置数据。
上述实施例在根据ASCII码和用户标识,结合二维数组选取用户后,进一步根据用户历史对于本次灰度发布的配置数据的反馈数据量,进行活跃用户筛选,以筛选出对于本次灰度发布的配置数据对应的服务感兴趣的用户。筛选出的用户接收到新版本的配置数据时,更有可能产生足够的使用数据,并反馈用户评价,从而获得全面足够的反馈数据,帮助对新版本进行改进,促进新版本上线。
本发明实施例还提供一种灰度发布装置,可用于实现上述任意实施例描述的灰度发布方法。图5示出实施例中灰度发布装置的主要模块,参照图5所示,本实施例中灰度发布装置500包括:请求响应模块510,配置为响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;取模计算模块520,配置为对ASCII码进行第一取模运算,获得第一结果,并对用户标识进行第二取模运算,获得第二结果;变量值确定模块530,配置为基于一随机生成的二维数组,根据第一结果和第二结果确定一变量值;以及配置反馈模块540,配置为根据变量值和预设灰度条件,向客户端返回对应的配置数据。
进一步地,灰度发布装置500还可包括实现上述各灰度发布方法实施例的其他流程步骤的模块,各个模块的具体原理可参照上述各灰度发布方法实施例的描述,此处不再重复说明。
如上所述,本发明的灰度发布装置,根据ASCII码和用户标识,结合随机生成的二维数组确定变量值,并根据变量值返回对应的配置数据,能够实现针对不同配置,选取不同用户进行灰度发布,确保同一用户不会每次都被选为灰度用户,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
本发明实施例还提供一种电子设备,包括处理器和存储器,存储器中存储有可执行指令,可执行指令被处理器执行时,实现上述任意实施例描述的灰度发布方法。
如上所述,本发明的电子设备根据ASCII码和用户标识,结合随机生成的二维数组确定变量值,并根据变量值返回对应的配置数据,能够实现针对不同配置,选取不同用户进行灰度发布,确保同一用户不会每次都被选为灰度用户,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
图6是本发明实施例中电子设备的结构示意图,应当理解的是,图6仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行上述任意实施例描述的灰度发布方法的步骤。例如,处理单元610可以执行如图1、图2和图4所示的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一个或多个程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700通信,外部设备700可以是键盘、指向设备、蓝牙设备等设备中的一种或多种。这些外部设备700使得用户能与该电子设备600进行交互通信。电子设备600也能与一个或多个其它计算设备进行通信,所示计算机设备包括路由器、调制解调器。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读的存储介质,用于存储程序,程序被执行时实现上述任意实施例描述的灰度发布方法。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行上述任意实施例描述的灰度发布方法。
如上所述,本发明的计算机可读的存储介质根据ASCII码和用户标识,结合随机生成的二维数组确定变量值,并根据变量值返回对应的配置数据,能够实现针对不同配置,选取不同用户进行灰度发布,确保同一用户不会每次都被选为灰度用户,实现每次将新版本的配置数据下发给不同用户,以提升用户体验,同时也能帮助收集到不同用户的全面足够的反馈数据,促进新版本的上线。
图7是本发明的计算机可读的存储介质的结构示意图。参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读的存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (5)

1.一种灰度发布方法,其特征在于,包括:
响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;
对所述ASCII码进行第一取模运算,获得第一结果,并对所述用户标识进行第二取模运算,获得第二结果;
基于一随机生成的二维数组,根据所述第一结果和所述第二结果确定一变量值,包括:根据所述第一结果,获得所述二维数组中的一目标第一维度;根据所述第二结果,获得所述目标第一维度中的一目标元素;将所述目标元素对应的第二维度确定为所述变量值;
其中,所述第一结果位于所述二维数组的第一维度的维度范围内,所述第二结果位于每一所述第一维度的元素范围内;所述第一取模运算为对10取模,所述第一结果的取值范围为0~9,所述第一维度的维度范围为0~9;所述第二取模运算为对100取模,所述第二结果的取值范围为0~99,每一所述第一维度的元素范围为0~99,所述第二维度的维度范围为0~99;所述二维数组中,每一所述第一维度中的各元素互不相同,分别自所述第二结果的最小值取至最大值,且各所述第一维度的元素排列顺序互不相同;
根据所述变量值和预设灰度条件,向所述客户端返回对应的配置数据,包括:判断所述变量值是否命中所述预设灰度条件;若是,向所述客户端返回更新版本的配置数据;若否,向所述客户端返回初始版本的配置数据;
其中,所述预设灰度条件为大于目标百分比的一初始百分比,所述灰度发布方法还包括:获得所有用户标识基于预设访问内容的反馈数据量;将所有用户标识按反馈数据量从多到少进行排序,获得排序表;所述响应于客户端的访问请求时,对所述客户端基于所述预设访问内容的访问请求进行响应,并获得所述用户标识在所述排序表中的排序位;当判断所述变量值命中所述预设灰度条件时,继续判断所述排序位在所述排序表中是否超过预设比例,所述预设比例与所述初始百分比的乘积大于等于所述目标百分比;若是,向所述客户端返回所述更新版本的配置数据;若否,向所述客户端返回所述初始版本的配置数据。
2.如权利要求1所述的灰度发布方法,其特征在于,所述反馈数据量包括使用数据量和评价数据量。
3.一种灰度发布装置,其特征在于,用于实现权利要求1或2所述的灰度发布方法,所述灰度发布装置包括:
请求响应模块,配置为响应于客户端的访问请求,获得KEY字段的ASCII码和用户标识;
取模计算模块,配置为对所述ASCII码进行第一取模运算,获得第一结果,并对所述用户标识进行第二取模运算,获得第二结果;
变量值确定模块,配置为基于一随机生成的二维数组,根据所述第一结果和所述第二结果确定一变量值,包括:根据所述第一结果,获得所述二维数组中的一目标第一维度;根据所述第二结果,获得所述目标第一维度中的一目标元素;将所述目标元素对应的第二维度确定为所述变量值;
其中,所述第一结果位于所述二维数组的第一维度的维度范围内,所述第二结果位于每一所述第一维度的元素范围内;所述第一取模运算为对10取模,所述第一结果的取值范围为0~9,所述第一维度的维度范围为0~9;所述第二取模运算为对100取模,所述第二结果的取值范围为0~99,每一所述第一维度的元素范围为0~99,所述第二维度的维度范围为0~99;所述二维数组中,每一所述第一维度中的各元素互不相同,分别自所述第二结果的最小值取至最大值,且各所述第一维度的元素排列顺序互不相同;
配置反馈模块,配置为根据所述变量值和预设灰度条件,向所述客户端返回对应的配置数据,包括:判断所述变量值是否命中所述预设灰度条件;若是,向所述客户端返回更新版本的配置数据;若否,向所述客户端返回初始版本的配置数据;
其中,所述预设灰度条件为大于目标百分比的一初始百分比,所述配置反馈模块还用于:获得所有用户标识基于预设访问内容的反馈数据量;将所有用户标识按反馈数据量从多到少进行排序,获得排序表;所述请求响应模块还用于:对所述客户端基于所述预设访问内容的访问请求进行响应,并获得所述用户标识在所述排序表中的排序位;所述配置反馈模块还用于:当判断所述变量值命中所述预设灰度条件时,继续判断所述排序位在所述排序表中是否超过预设比例,所述预设比例与所述初始百分比的乘积大于等于所述目标百分比;若是,向所述客户端返回所述更新版本的配置数据;若否,向所述客户端返回所述初始版本的配置数据。
4.一种电子设备,其特征在于,包括:
一处理器;
一存储器,所述存储器中存储有可执行指令;
其中,所述可执行指令被所述处理器执行时,实现权利要求1或2所述的灰度发布方法。
5.一种计算机可读的存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1或2所述的灰度发布方法。
CN202011505802.XA 2020-12-18 2020-12-18 灰度发布方法、装置、电子设备和存储介质 Active CN112433751B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011505802.XA CN112433751B (zh) 2020-12-18 2020-12-18 灰度发布方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011505802.XA CN112433751B (zh) 2020-12-18 2020-12-18 灰度发布方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112433751A CN112433751A (zh) 2021-03-02
CN112433751B true CN112433751B (zh) 2022-07-08

Family

ID=74696763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011505802.XA Active CN112433751B (zh) 2020-12-18 2020-12-18 灰度发布方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112433751B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918237A (zh) * 2021-09-23 2022-01-11 广州品唯软件有限公司 灰度发布方法、装置、设备及计算机可读介质
CN114039866A (zh) * 2021-10-08 2022-02-11 中移(杭州)信息技术有限公司 灰度发布方法、设备、存储介质及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487824A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 一种规则灰度发布方法及装置
CN108376118A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 服务发布系统、方法、设备及存储介质
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
CN110569057A (zh) * 2019-09-12 2019-12-13 北京字节跳动网络技术有限公司 灰度发布方法、装置、电子设备及计算机可读介质
CN110750278A (zh) * 2019-09-24 2020-02-04 苏宁云计算有限公司 灰度发布方法、装置、路由设备和存储介质
CN111736853A (zh) * 2020-06-24 2020-10-02 中国平安财产保险股份有限公司 灰度发布方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487824A (zh) * 2015-08-25 2017-03-08 阿里巴巴集团控股有限公司 一种规则灰度发布方法及装置
CN108376118A (zh) * 2018-02-09 2018-08-07 腾讯科技(深圳)有限公司 服务发布系统、方法、设备及存储介质
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
CN110569057A (zh) * 2019-09-12 2019-12-13 北京字节跳动网络技术有限公司 灰度发布方法、装置、电子设备及计算机可读介质
CN110750278A (zh) * 2019-09-24 2020-02-04 苏宁云计算有限公司 灰度发布方法、装置、路由设备和存储介质
CN111736853A (zh) * 2020-06-24 2020-10-02 中国平安财产保险股份有限公司 灰度发布方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112433751A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN103843004B (zh) 装置定制白名单
CN112433751B (zh) 灰度发布方法、装置、电子设备和存储介质
CN109885452B (zh) 性能监控方法、装置及终端设备
US20080271032A1 (en) Data Processing Network
CN102300009B (zh) 用于无队列呼叫中心的视图及衡量标准
CN106943747B (zh) 虚拟角色名称推荐方法、装置、电子设备和存储介质
CN109033342B (zh) 应用于服务系统的服务提供方法、装置和服务模型
CN111161804B (zh) 一种用于物种基因组学数据库的查询方法及系统
CN109947408B (zh) 消息推送方法及装置、存储介质和电子设备
CN111414389A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN111400600A (zh) 一种消息推送方法、装置、设备和存储介质
JP7369229B2 (ja) ミニプログラムページのスキン切り替え方法、装置及び電子機器
CN112529400B (zh) 一种数据处理方法、装置、终端和可读存储介质
CN111192080A (zh) 一种页面展示的方法、装置和电子设备
CN116126684A (zh) 一种审批流程的在线测试方法、装置及可读存储介质
CN114723239A (zh) 一种多方协同建模方法、装置、设备、介质及程序产品
CN114201729A (zh) 一种矩阵运算方式的选择方法、装置、设备以及存储介质
CN114693116A (zh) 代码评审有效性的检测方法及装置、电子设备
CN112214497A (zh) 一种标签的处理方法、装置及计算机系统
CN114764472A (zh) 一种内容推送方法及装置
CN104283974A (zh) 数据拉取方法和相关设备及通信系统
CN113434432B (zh) 一种推荐平台的性能测试方法、装置、设备、及介质
CN111615124B (zh) 一种服务探测方法、装置、电子设备及存储介质
CN113012797B (zh) 体检科室推荐方法、装置、设备及存储介质
CN109800981B (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu manyun Logistics Information Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210302

Assignee: Nanjing Manyun Cold Chain Technology Co.,Ltd.

Assignor: Jiangsu Yunmanman Information Technology Co.,Ltd.

Contract record no.: X2023980040393

Denomination of invention: Grayscale publishing methods, devices, electronic devices, and storage media

Granted publication date: 20220708

License type: Common License

Record date: 20230824

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 210012 3rd floor, building a, Wanbo Science Park, 66 Huashen Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu Yunmanman Information Technology Co.,Ltd.