一种规则灰度发布方法及装置与流程

文档序号:12182871阅读:289来源:国知局
一种规则灰度发布方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种规则灰度发布方法及装置。



背景技术:

随着网络技术的不断发展,网络服务商(如:网站)在接收用户提供的用户信息后,可以为用户提供各类丰富的网络服务,并将网络信息展示给用户。

目前,网络服务商为了给用户提供更好的网络服务(如:为用户提供搜索的服务),会对网络服务进行更改优化(如:对搜索服务中的搜索方式进行更改优化),也就是变更网络服务的规则。

在现有技术中,对于变更后的规则,可预先设定一定的用户比例,按照用户比例从大量用户中随机抽样出一部分用户,将变更后的规则应用于抽样出的这部分用户,其他用户则仍使用变更前的规则。

但是,由于每个用户被抽到的可能性是相同的,这些被抽中的用户,有可能在下一次不会被抽中,对于多次使用同一个业务的用户来说,其可能会在第一次使用该业务时使用了变更后的规则,在第二次使用该业务时使用了变更前的规则,不仅影响用户的体验,而且网络服务器处理抽取样本数据的计算复杂度也较高。

例如,网络服务商变更了网站上搜索服务的搜索规则,变更之前的搜索规则是根据用户输入的关键词为用户提供搜索结果,变更之后的搜索规则是根据用户输入的关键词和用户个人偏好为用户提供搜索结果,假设预先设定的用户比例是5%,用户总量为1000,则随机抽取到的用户数量为50,某一用户多次使用该网站上的搜索服务,在第一次随机抽取时,该用户被抽中,则该用户在使用该搜索服务时,使用变更规则后的搜索服务,在第二次随机抽取时,该用 户没有被抽中,则该用户在使用该搜索服务时,使用变更规则前的搜索服务。可以看出,对于该用户来说,在第一次和第二次使用该网站上的搜索服务是不同的,网络服务器会进行多次随机抽样,虽然每次都抽取的用户数量都为50,由于每次抽取的用户不一定全部相同,并且每个用户对变更规则后的服务体验不完全一样,因此,网络服务器每次得到的用户反馈的体验数据也不相同,这就造成网络服务器在处理这些体验数据时的计算复杂度较高。



技术实现要素:

本申请实施例提供一种规则灰度发布方法及装置,用以解决网络服务器在处理这些被抽取用户的体验数据时的计算复杂度较高的问题。

本申请实施例提供的一种规则灰度发布方法,包括:

确定用户的属性信息;

根据所述属性信息,以及预设的判定条件,判断所述属性信息是否满足所述判定条件;

若是,则对所述用户使用变更前的规则;

若否,则对所述用户使用变更后的规则。

本申请实施例提供的一种规则灰度发布方法,包括:

终端将访问请求以及用户的属性信息发送给服务器,使所述服务器根据用户的属性信息以及预设的判定条件,确定对用户使用的规则,其中,所述规则包括变更前的规则或变更后的规则;

接收所述服务器根据确定的规则返回的页面和页面内容;

通过所述页面展示所述页面内容。

本申请实施例提供的一种规则灰度发布装置,装置包括:

确定模块,用于确定用户的属性信息;

判断模块,用于根据所述属性信息,以及预设的判定条件,判断所述属性信息是否满足所述判定条件;

发布模块,用于在所述判断模块的判断结果为是时,对所述用户使用变更前的规则,在所述判断模块的判断结果为否时,则对所述用户使用变更后的规则。

本申请实施例提供的一种规则灰度发布装置,装置包括:

发送模块,用于将访问请求以及用户的属性信息发送给服务器,使所述服务器根据用户的属性信息以及预设的判定条件,确定对用户使用的规则,其中,所述规则包括变更前的规则或变更后的规则;

接收模块,用于接收所述服务器根据确定的规则返回的页面和页面内容;

展示模块,用于通过所述页面展示所述页面内容。

本申请实施例提供一种规则灰度发布方法及装置,该方法确定用户的属性信息,根据所述属性信息,以及预设的判定条件,判断所述属性信息是否满足所述判定条件,若是,则对所述用户使用变更前的规则,若否,则对所述用户使用变更后的规则。通过上述方法,使用变更规则后的用户是固定的,无论网络服务器进行多少次随机抽样,抽取的用户都是相同的,由于使用变更规则后的网络服务的用户是固定的,因此,无论网络服务器进行多少次随机抽样,每次得到的用户的体验数据也会相对比较接近,这就会降低网络服务器在处理这些被抽取用户的体验数据时的计算复杂度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的规则灰度发布过程;

图2为本申请实施例提供的变更前的规则对应的客户端页面展示示意图;

图3为本申请实施例提供的变更后的规则对应的客户端页面展示示意图;

图4为本申请实施例提供的一种规则灰度发布装置结构示意图;

图5为本申请实施例提供的另一种规则灰度发布装置结构示意图。

具体实施方式

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

图1为本申请实施例提供的规则灰度发布过程,具体包括以下步骤:

S101:确定用户的属性信息。

在本申请实施例中,网络服务器针对要操作的用户,首先要确定用户的属性信息,所述属性信息是表征用户性质的信息,可以是用户的身份信息,其包括用户姓名、用户邮箱、用户使用的账号等等,通过用户的属性信息可以大致了解该用户的基本情况,可以从用户的众多属性信息中选出至少一个属性信息,并根据该用户的至少一个属性信息进行相应的操作。需要说明的是,本申请实施例中所述的属性信息是固定不变的。

例如,某用户的用户姓名为张三、用户邮箱为c12334214@163.com,网络服务器可以从上述用户的三个属性信息中选出至少一个属性信息,假设选出的属性信息是用户邮箱(当然也可以同时选出用户邮箱和用户姓名),则网络服务器会对用户邮箱进行后续的操作。

S102:根据所述属性信息,以及预设的判定条件,判断所述属性信息是否满足所述判定条件,若是,执行步骤S103,若否,执行步骤S104。

在本申请实施例中,所述预设的判定条件是预先针对属性信息设定的比对标准,如,用户邮箱的前缀中的最后三位为数字字符,即cs565xxx@163.com,其中cs565xxx为邮箱的前缀,“x”表示的数字字符。网络服务器则需要根据选出的用户属性信息,以及预先设定的判定条件,将用户的属性信息与预先设 定的判定条件做比较,以判断选出的用户属性信息是否满足预先设定的判断条件。

延续上例,假设预设的判定条件(即,用户属性的比对标准)为:用户邮箱的前缀中的最后三位为数字字符,如cs565xxx@163.com,其中cs565xxx为邮箱的前缀,“x”表示的数字字符,则如果选出的用户邮箱为c12334214@163.com,那么该用户的用户邮箱满足预先设定的判定标准,则网络服务器会对该用户执行步骤S103,如果选出的用户邮箱为c2131shg@163.com,该用户邮箱前缀中的最后三位是字母字符,而不是数字字符,那么该用户的用户邮箱不满足预先设定的判定标准,则网络服务器会对该用户执行S104。

S103:对所述用户使用变更前的规则。

本申请实施例中所述的规则是用于建立网络服务的,也就是说,网络服务是基于多个规则建立起来的,如,某网站提供的网络服务所基于的一条规则是“选用余额作为默认的支付方式”。而由于在实际应用中,这些规则经常会发生变更,因此,一条规则就包含了两个不同的版本,即,变更前的版本和变更后的版本,也就是变更前的规则和变更后的规则。网络服务器在通过上述步骤S102判定用户的属性信息满足判定条件时,则可将该规则变更前的版本(也就是变更前的规则)提供给用户,使该用户使用变更前的规则获取网络服务。

延续上例,假设该网站对用户提供支付服务,该支付服务所基于的某一支付规则发生了变更,变更前的规则是“选用余额作为默认的支付方式”,变更后的规则是“选用用户上次支付成功的支付方式,作为默认的支付方式”,如果该用户的用户邮箱(属性信息)满足预先设定的判定条件,则网络服务器会将变更前的规则(选用余额作为默认的支付方式)提供给用户,即,该用户在使用该网站的支付服务时,默认支付方式为余额支付。

S104:对所述用户使用变更后的规则。

对于不满足上述判定条件的用户属性的用户,网络服务器会向该用户提供 变更后的规则,使该用户使用变更后的规则获取网络服务。

延续S102中的例子,假设该网站对用户提供支付服务,该支付服务所基于的某一支付规则发生了变更,变更前的规则是“选用余额作为默认的支付方式”,变更后的规则是“选用用户上次支付成功的支付方式,作为默认的支付方式”,如果该用户的用户邮箱(属性信息)不满足预先设定的判定条件,则网络服务器会将变更后的规则(选用用户上次支付成功的支付方式,作为默认的支付方式)提供给用户,即,该用户在使用该网站的支付服务时,默认支付方式为上次支付成功的支付方式。

通过上述步骤,由于用户的属性信息是固定不变的,同时网络服务器中预设的判定条件是固定不变的,因此根据属性信息和预设的判定条件,判断属性信息是否满足判定条件的结果是不变的,从而,使用变更规则后的网络服务的用户是固定的,也就是无论网络服务器进行多少次随机抽样,抽取的用户都是相同的,由于使用变更规则后的网络服务的用户是固定的,因此,无论网络服务器进行多少次随机抽样,每次得到的用户的体验数据也会相对比较接近,这就会降低网络服务器在处理这些被抽取用户的体验数据时的计算复杂度。

在实际应用中,可以选择用户的属性信息中的用户标识,作为网络服务器进行后续与预设的判定条件进行比对的对象。其中,所述用户标识包括用户在网站上注册用户信息时,网络服务器为该用户分配的用户标识。这个用户标识主要是为了便于管理用户信息(查询、更改),而这个用户标识在该网站中是唯一的,这样也就能够在网站中唯一确定一个用户。

例如,用户在某电商网站注册用户信息时,网络服务器为该用户分配一个唯一的随机字符串12324231(用户标识),服务器根据1236判断。

在本申请实施例中,网络服务器通过上述步骤S102判断该用户的属性信息是否满足预设的判定条件的方法具体可以包括:确定所述属性信息的哈希值,根据预先设定的灰度值,判断所述哈希值是否大于所述灰度值,若大于,则确定所述属性信息满足所述判定条件,若不大于,则确定所述属性信息不满 足所述判定条件。

例如,假设用户名为张三的用户在浏览某电商网站的商品后,进入该网站的支付页面,要使用该网站基于支付规则建立起来的支付服务,该电商网站的网络服务器确定出张三的用户标识(属性信息)为2088101139885204,则通过哈希算法得到的用户标识的哈希值为3882,在网络服务器中预先设定的灰度值为500000,显然,用户标识的哈希值不大于灰度值,则该用户标识(属性信息)不满足判定条件。

进一步的,对于在上述进行预先建立判定条件的过程中,需要预先设定灰度值,用于作为与属性信息的哈希值的比对对象,具体的,所述灰度值为预设的灰度比例与指定数值的乘积,其中,所述灰度比例可以根据实际变更规则的情况进行任意设定,如,变更的规则不同,每个规则对应的灰度比例就可以是不同的,当然也可以是相同的,对于同一个规则,灰度比例也是可调的,在当网络服务商变更一个规则后,如果用户量出现了下降时,可以在下一次的随机抽取中将灰度比例缩小,如果用户量出现了增加时,可以在下一次的随机抽取中将灰度比例放大。所述指定数值是可以任意指定的。

延续上例,该电商网站的网络服务器在预先设定灰度值的过程中,预设的灰度比例为5%,指定数值为10000000,得到的灰度值为500000。

在本申请实施例中,根据确定用户的属性信息,在确定属性信息是否满足判定条件之前,需要计算出用户的属性信息的哈希值,计算哈希值的方法具体可以包括:将属性信息进行哈希散列,得到二进制数,将所述二进制数转换成十进制数,将转换的所述十进制数对上述指定数值进行取模,将得到的模值确定为所述属性信息的哈希值。

延续上例,假设用户标识为2088101139885204,将2088101139885204进行哈希散列,得到二进制数B,并将所述的二进制数B转换成十进制数C,将得到的十进制数C对100000000(指定数值)进行取模,得到模值3882,该模值3882为用户标识的哈希值,由于灰度值是500000,显然,得到的模值3882 不大于灰度值500000,则该用户的属性信息不满足预先设定的判断条件,因此,网络服务器对该用户使用变更后的规则。

需要说明的是,在上述确定灰度值的过程中所使用的指定数值和确定属性信息的哈希值时所使用指定数值是相同的,这是为了要将灰度值与哈希值放缩到同一个数量级上再进行比较,即处于同一个量级区间,二者在同一个量级上可以进行比较。如,在上述示例中,两个指定数值都为10000000,将灰度值和哈希值都放缩到了同一个量级上,即(0~10000000之间),保证网络服务器通过比较采集到的用户数量占总用户数量的比例与确定的灰度比例一致,并且不用考虑用户的实际数量。

另外,网络服务商在对某项网络服务所基于的规则进行变更后,采用本申请提供的规则发布方法,则可以只抽取固定的一部分用户来试用变更后的规则,或许变更后的该规则会不一定会产生积极的效果(如,用户反馈的体验数据表征用户对变更后的规则体验较差),网络服务器则可收集被抽取的用户(即,使用变更后的规则的用户)反馈的体验数据。如果这些体验数据表征用户体验较好,则网络服务器可提高上述的灰度比例,用以使更多的用户使用变更后的规则,最后有可能将灰度比例提高到100%,即,使所有的用户都使用变更后的规则。如果这些体验数据表征用户体验较差,则网络服务器可降低灰度比例,减少使用变更后的规则的用户,最后有可能将灰度比例降为0%,即,将变更后的规则回滚到变更前的规则,或者也可对该规则继续进行优化。

在本申请实施例中,网络服务器在确定出对用户所使用的规则(即,变更前的规则或变更后的规则)后,会将所述规则对应的页面和页面内容发送给终端,并使终端通过规则对应的页面展示规则对应的页面内容,具体的,如果对用户使用变更前的规则,则确定变更前的规则对应的页面和页面内容,将所述变更前的规则对应的页面和页面内容发送给所述用户使用的终端,使所述终端通过所述变更前的规则对应的页面展示所述变更前的规则对应的页面内容;如果对用户使用变更后的规则,则确定变更后的规则对应的页面和页面内容,将 所述变更后的规则对应的页面和页面内容发送给所述用户使用的终端,使所述终端通过所述变更后的规则对应的页面展示所述变更后的规则对应的页面内容。

延续上例,假设该电商网站在为用户名为张三的用户提供支付服务时,通过上述规则灰度发布方法,确定对张三使用的是变更前的规则“选用余额作为默认的支付方式”,服务器根据变更前的规则确定出变更前的规则对应的页面为余额支付页面,对应页面内容为余额支付内容,则将确定出的页面和页面内容发送给客户端,使客户端通过页面展示如图2所示的页面。

而该电商网站在为用户名为李四的用户提供支付服务时,通过上述规则灰度发布方法,确定对李四使用的是变更后的规则“选用用户上次支付成功的支付方式”。假设李四上次支付所使用的支付方式为银行卡支付方式,则服务器根据变更后的规则“选用用户上次支付成功的支付方式”,确定出变更后的规则对应的页面为银行卡支付页面,对应的页面内容为银行卡支付内容,将确定出的页面和页面内容发送给客户端,使客户端通过页面展示如图3所示的页面。

以上为本申请实施例提供的规则灰度发布方法,基于同样的思路,本申请实施例还提供一种规则灰度发布装置,如图4、图5所示。

图4为本申请实施例提供的一种规则灰度发布装置结构示意图,包括:

确定模块401,用于确定用户的属性信息;

判断模块402,用于根据所述属性信息,以及预设的判定条件,判断所述属性信息是否满足所述判定条件;

发布模块403,用于在所述判断模块402的判断结果为是时,对所述用户使用变更前的规则,在所述判断模块402的判断结果为否时,则对所述用户使用变更后的规则。

所述属性信息包括用户标识。

所述判断模块402具体用于,确定所述属性信息的哈希值,根据预先设定的灰度值,判断所述哈希值是否大于所述灰度值,若大于,则确定所述属性信 息满足所述判定条件,若不大于,则确定所述属性信息不满足所述判定条件。

所述灰度值为预设的灰度比例与指定数值的乘积。

所述判断模块402具体用于,将属性信息进行哈希散列,得到二进制数,将所述二进制数转换成十进制数,将转换的所述十进制数对所述指定数值进行取模,将得到的模值确定为所述属性信息的哈希值。

所述发布模块403具体用于,确定变更前的规则对应的页面和页面内容,将所述变更前的规则对应的页面和页面内容发送给所述用户使用的终端,使所述终端通过所述变更前的规则对应的页面展示所述变更前的规则对应的页面内容;所述发布模块403具体用于,确定变更后的规则对应的页面和页面内容,将所述变更后的规则对应的页面和页面内容发送给所述用户使用的终端,使所述终端通过所述变更后的规则对应的页面展示所述变更后的规则对应的页面内容。

具体的,如图4所示的装置具体可以位于服务器中。

图5为本申请实施例提供的另一种规则灰度发布装置结构示意图,包括:

发送模块501,用于将访问请求以及用户的属性信息发送给服务器,使所述服务器根据用户的属性信息以及预设的判定条件,确定对用户使用的规则,其中,所述规则包括变更前的规则或变更后的规则;

接收模块502,用于接收所述服务器根据确定的规则返回的页面和页面内容;

展示模块503,用于通过所述页面展示所述页面内容。

具体的,如图5所示的装置具体可以位于终端中。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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