CN113268414A - 实验版本的分配方法、装置、存储介质及计算机设备 - Google Patents
实验版本的分配方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN113268414A CN113268414A CN202110505916.2A CN202110505916A CN113268414A CN 113268414 A CN113268414 A CN 113268414A CN 202110505916 A CN202110505916 A CN 202110505916A CN 113268414 A CN113268414 A CN 113268414A
- Authority
- CN
- China
- Prior art keywords
- version
- experimental
- experiment
- value
- current
- 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.)
- Pending
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000002474 experimental method Methods 0.000 claims abstract description 244
- 238000012360 testing method Methods 0.000 claims abstract description 68
- 230000015654 memory Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 235000009470 Theobroma cacao Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种实验版本的分配方法、装置、存储介质及计算机设备,所述方法包括:接收对测试实验的实验版本的当前访问请求,获取各实验版本的当前版本值,测试实验包括至少两个实验版本,基于各实验版本的权重以及各实验版本的当前版本值,在实验版本中确定待分配的目标实验版本,将目标实验版本分配至发送当前访问请求的用户终端,接着更新各实验版本的版本值,得到各实验版本的当前版本值,然后接收对测试实验的实验版本的下一个访问请求,将下一个访问请求作为当前访问请求,并执行获取各所述实验版本的当前版本值的步骤。采用本申请实施例,为每一条访问请求平滑分配实验版本,可以实现最终分配比例平滑接近预设权重的比例。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种实验版本的分配方法、装置、存储介质及计算机设备。
背景技术
在互联网时代,各种app、网站、服务、系统的更新迭代必然需要建立一套衡量版本效果的实验体系,依据用户对各版本的使用反馈把控更新迭代的方向,才能更好的提升用户体验。其中,ABtest实验体系就是一种最为常见的进行变量控制和优化方向选取的工具,而数据是支撑优化的最有效路径,如何对各实验版本进行准确的分配以获得期望的目标数据,是进行各种版本、设计、算法优化的关键。
现有的分配技术方案,通常是通过获取用户访问请求的访问ID信息(如设备号、用户账号等唯一ID信息),然后根据选择好的Hash算法,计算出访问ID信息对应的数值,将数值对100取模得余数,将余数作为用户访问请求对应的版本号,然后返回对应版本的页面或数据。而用户访问ID具有一定的相似性,若Hash算法选择不当则无法保证计算的Hash值随机均匀分布,进一步的,即便选择了一个十分均匀和随机的Hash算法,如果所请求的流量样本规模太小,同样无法使得分配结果贴近各实验版本的分配比例。
发明内容
本申请实施例提供了一种实验版本的分配方法、装置、存储介质及计算机设备,可以分配参与实验的实验版本到发送访问请求的用户终端,使得最终各实验版本的分配比例平滑贴近预设的实验版本的权重的比例。
所述技术方案如下:
第一方面,本申请实施例提供了一种实验版本的分配方法,所述方法包括:
接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
基于各所述实验版本的权重以及各所述实验版本的当前版本值,在各所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,并执行所述获取各所述实验版本的当前版本值的步骤。
第二方面,本申请实施例提供了一种实验版本分配装置,所述实验版本分配装置包括:
请求接收模块,用于接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
版本分配模块,用于基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
版本值更新模块,用于更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
所述请求接收模块,还用于接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,获取各所述实验版本的当前版本值。
第三方面,本申请实施例提供一种存储介质,所述存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种计算机设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,通过接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,并基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,进而将所述目标实验版本分配至发送所述当前访问请求的用户终端,接着更新各所述实验版本的版本值,得到各所述实验版本的当前版本值,然后再按照相同的方式对接收到的下一个访问请求进行处理。采用本申请实施例,通过参与实验的实验版本的权重以及各实验版本的当前版本值,为接收到的访问请求逐条分配适配的目标实验版本,而不依赖于Hash算法和发送访问请求的流量样本规模,可以使得最终各实验版本的分配比例贴近各实验版本的权重的比例,实现了对各实验版本的平滑分配。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供了一种实验版本的分配方法的流程示意图;
图2为本申请实施例提供了一种实验版本的分配方法的举例示意图;
图3为本申请实施例提供了一种实验版本的分配方法的流程示意图;
图4为本申请实施例提出了一种更新当前版本值的举例示意图;
图5为本申请实施例提出了一种确定目标实验版本的举例示意图;
图6为本申请实施例提供了一种实验版本的分配装置的结构示意图;
图7为本申请实施例提供了一种版本分配模块的结构示意图;
图8为本申请实施例提供了一种版本值更新模块的结构示意图;
图9为本申请实施例提供了一种计算机设备的结构示意图;
图10为本申请实施例提供了一种操作系统和用户空间的结构示意图;
图11是图9中安卓操作系统的架构图;
图12是图9中IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在互联网盛行的今天,各种app、网站、服务、系统为了改善用户体验、吸引更多的用户量需要对自家的产品不断的更新迭代。而随意改动更新现有的产品方案是一件很冒险的事情,因此很多企业或组织通过AB测试的方式来确定针对自家产品的更新和优化方向。常见的是在保证其他条件一致的情况下,针对某一单一的元素进行AB两个版本或多个版本的设计,并进行测试和数据收集,最终选定数据结果更好的版本。在进行AB测试的过程中,会对各实验版本针对版本特点和需要进行分配,按照版本开发人员的设定比例为各实验版本进行正确的流量分配是保证实验测试数据准确性的前提。
在相关技术中,通常是通过获取用户访问请求的唯一特征信息,例如,设备号、账号等唯一ID信息,然后利用选择好的Hash算法计算出所述唯一特征信息对应的Hash值,并对所述Hash值取余作为用户访问请求最终返回对应实验版本的返回数据,所述返回数据落在一定区间内,同时按照各实验版本预先设置的比例划分所述一定区间得到与各实验版本对应的多个小区间,根据所述返回区间在所述小区间的位置为发送所述用户访问请求的用户分配实验版本。例如,针对每个发送用户访问请求的用户,计算其唯一特征信息的Hash值,并将所述Hash值对100取模得到余数,余数位于0~99的区间内,而预设的ABCD四个实验版本的分配比例为1:7:1:1,则,若余数位于0~9区间,为对应用户分配A实验版本,若余数位于10~79区间,为对应用户分配B实验版本,若余数位于80~89区间,为对应用户分配C实验版本,若余数位于90~99区间,为对应用户分配D实验版本。首先,此种分配方法依赖于Hash算法的随机性,若所述Hash算法计算出的Hash值在0~99区间内不能实现随机均匀分布,则无法实现分配结果达到预设的分配比例;进一步的,即便所述Hash算法计算出的Hash值足够均匀分布,在参与分配的实验样本规模较小的情况下也很难使最终的分配结果贴近预设的分配比例。
本申请提出的AB测试流量分配方案,不受限于Hash算法的随机均匀性以及实验样本规模,可以按照预设的实验版本的分配比例平滑分配流量。
请参见图1,为本申请实施例提供了一种实验版本的分配方法的流程示意图。如图1所示,所述实验版本的分配方法可以包括以下步骤S101~S104。
S101,接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
所述测试实验是指AB测试实验,在互联网时代,新产品的发布需要对新版本产品和老版本产品进行测试实验,为新版本产品和老版本产品分配不同的实验用户量,根据实验用户对各版本的使用反馈确定哪一版本产品更加迎合市场的需要,更加受用户青睐,一般把这类测试实验称为AB测试,AB测试实验至少包括两个实验版本。一般的,进行AB测试需要构建AB测试云平台,所述AB测试云平台可以包括各实验版本、实验用户、实验数据等。
所述当前访问请求可以理解为实验用户进入所述测试实验的实验版本访问请求,例如针对一个网页的页面按钮,设计了四种颜色的设计方案,通过AB测试实验测试哪种颜色的按钮设计方案更吸引用户点击,针对此实验,用户进入该网页的请求即所述当前访问请求,AB测试云平台会根据此请求为该用户分配四种颜色设计方案的一种。
所述当前版本值是指用于各实验版本分配的版本标识值,可以作为用户分配实验版本的依据,所述当前版本值在实验开始前可以设定为0。所述当前版本值可以是由实验发起人在实验开始前提前输入至AB测试云平台,并保存在数据库中。
具体的,接收实验用户进入所述测试实验的实验版本访问请求,并从数据库中获取预设的各实验版本的当前版本值。
S102,基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
所述权重是指为各所述实验版本预设的分配比例,例如,实验版本1和实验版本2和实验版本3的预设分配比例为3:2:1,则可以认为实验版本1的权重为3,实验版本2的权重为2,实验版本1的权重为1。
所述目标实验版本是指为用户终端分配的实验版本,例如,用户终端1参与实验版本1和实验版本2和实验版本3这三个实验版本的AB测试实验,AB测试云平台接收到用户终端1发送的当前访问请求,通过设定的分配算法计算出最终分配结果为实验版本1,则实验版本1为目标实验版本,用户终端1会参与实验版本1的测试实验。
具体的,对各所述实验版本的权重以及各所述实验版本的当前版本值按照设定的分配算法进行计算,根据计算出的结果在所述实验版本中确定待分配的目标实验版本,再将所述目标实验版本分配至对应的用户终端,所述用户终端是指发送对应当前访问请求的用户终端。
所述将所述目标实验版本分配至对应的用户终端即为目标实验版本分配流量,使用目标实验版本的用户终端数量即为所述目标实验版本的流量,最终各实验版本的所获得的流量比例应该贴近预设的分配比例,所述分配算法用于实现无限贴近预设分配比例的分配效果。
S103,更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
所述各所述实验版本的版本值是指在步骤S102中对各所述实验版本的当前版本值进行计算后的版本值。
具体的,更新基于步骤S102中对各所述实验版本的当前版本值进行计算后的版本值,将更新后的版本值作为各所述实验版本的当前版本值。
不难理解,将更新后的版本值作为各所述实验版本的当前版本值用于接收下一个实验用户的实验版本访问请求时的计算。
S104,接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求。
所述下一个访问请求是指另一个用户终端进入该测试实验的实验版本访问请求,所述下一个访问请求与本次版本分配的访问请求之间的区别可以是,发送所述访问请求的用户终端的设备ID不同、用户ID不同或终端标识不同。
具体的,在执行完一个用户终端的实验版本分配之后,继续接收另一个用户终端进入该测试实验的实验版本访问请求,将所述实验版本访问请求作为所述当前访问请求,并重复执行步骤S101的操作,为所述另一个用户终端分配实验版本。
不难理解,步骤S104用于循环执行本申请实施例的所有操作,用于实现为所有进入测试实验的所有用户终端分配实验版本。通常,为进入测试实验的所有用户终端分配实验版本有轮次循环效果,所述轮次是指为一个用户终端分配实验版本的过程,每特定数量个轮次为一个轮,为一轮的用户终端分配实验版本后,分配比例达到预设的分配比例,接着进入下一轮为用户终端分配实验版本,只要用户终端的数量为所述特定数量的整数倍,最终的分配比例就会完全符合设定的分配比例。一般来说,用户终端的数量不会很小,远远大于所述特定数量,即便用户终端的数量不为所述特定数量的整数倍,最终的分配比例也会极度贴近设定的分配比例。所述特定数量通常是各实验版本的权重之和。
请参见图2,为本申请实施例提供了一种实验版本的分配方法的举例示意图。
如图2所示,AB测试云平台接收来自用户终端的访问请求,经过计算为每一个用户终端分配对应的实验版本。如图2所示,测试实验一共有三个实验版本,其中实验版本A的权重A为2,实验版本B的权重B为1,实验版本C的权重C为2。用户终端1发送当前访问请求到AB测试云平台,AB测试云平台经过计算为用户终端1分配实验版本A,并依次接收用户终端2的下一次访问请求,为用户终端2分配实验版本C,重复执行接收访问请求并分配实验版本的操作,为用户终端2分配实验版本C,为用户终端3分配实验版本B,为用户终端4分配实验版本A,为用户终端5分配实验版本C,此时一共为5个用户终端分配完实验版本,分配比例正好达到预设的权重比例为2:1:2,即用户终端1~用户终端5为一个轮,同样用户终端6~用户终端10为另一个轮,每轮内部的分配比例均为2:1:2。继续重复执行接收访问请求并分配实验版本的操作,为所有参与AB测试实验的用户终端分配对应的实验版本。
在本申请实施例中,通过接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,并基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,进而将所述目标实验版本分配至发送所述当前访问请求的用户终端,接着更新各所述实验版本的版本值,得到各所述实验版本的当前版本值,然后再接收对所述测试实验的实验版本的下一个访问请求,并按照相同的方式进行分配。采用本申请实施例,通过参与实验的实验版本的权重以及各实验版本的当前版本值,为接收到的访问请求逐条分配适配的目标实验版本,而不依赖于Hash算法和发送访问请求的流量样本规模,可以使得最终各实验版本的分配比例贴近各实验版本的权重的比例,实现了对各实验版本的平滑分配。
请参见图3,为本申请实施例提供了一种实验版本的分配方法的流程示意图。如图3所示,所述实验版本的分配方法可以包括以下步骤S201~S206。
S201,接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
步骤S201请参见另一实施例中的步骤S101中的描述,在此不一一赘述。
S202,基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值;
所述更新版本值是指对所述当前版本值更新之后的当前版本值,所述权重是指对各所述实验版本预设的分配比例,所述权重、所述当前版本值以及对应的实验版本数据可以是由实验发起人在实验开始前提前输入至AB测试云平台,并保存在数据库中,实验过程中通过调用数据库中的权重以及当前版本值数据进行计算,对各所述实验版本进行分配。所述数据库可以为Redis,Redis是一种开源的使用美国国家标准协会(American NationalStandards Institute,ANSI)制定的标准C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序编程接口(ApplicationProgramming Interface,API)。
具体的,获取实验版本的权重以及实验版本的当前版本值,利用所述权重对所述当前版本值进行,得到更新后的所述当前版本值即更新版本值。所述更新可以是数学领域的任意运算法则,包括但不限于加、减、乘、除等基础运算法则。
在一个可行的实施方式中,对各所述实验版本的权重与各所述实验版本的当前版本值进行求和,得到各所述实验版本的更新版本值。
一般的,在实验开始前实验人员会将所述权重、所述当前版本值以及实验版本数据等作为初始值上传至AB测试云平台,所述当前版本值可以为0。
具体的,将各所述实验版本的当前版本值加上对应的各所述实验版本的权重,生成各所述实验版本的更新版本值。
请一并参见图4,为本申请实施例提出了一种更新当前版本值的举例示意图。
如图4所示,一次测试实验有三个实验版本,其中实验版本A的权重A为2,实验版本B的权重B为1,实验版本C的权重C为2,对应的所述实验版本A、实验版本B以及实验版本C的当前版本值均为0,则对当前版本值进行更新后的更新版本值对应为实验版本A的更新版本值A为2,实验版本B的更新版本值B为1,实验版本C的更新版本值C为2。
S203,基于各所述实验版本的更新版本值确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
不难理解,经过步骤S202的操作,每个实验版本都有对应的一个更新版本值,所述基于各所述实验版本的更新版本值确定待分配的目标实验版本是指基于各所述实验版本的各所述更新版本在各实验版本中确定目标实验版本,并将所述目标实验版本分配至发送所述当前访问请求的用户终端。
进一步的,所述目标实验版本可以是在各所述实验版本中所述更新版本值最大的实验版本,即在各所述实验版本的更新版本值中确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本。
具体的,对各所述实验版本的更新版本值进行大小比较,确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本。
可选的,若所述最大更新版本值包括多个,则将所述最大更新版本值中的任一个最大更新版本值对应的实验版本确定为待分配的目标实验版本。
请一并参见图5,为本申请实施例提出了一种确定目标实验版本的举例示意图。
如图5所示,实验版本A的更新版本值A为2,实验版本B的更新版本值B为1,实验版本C的更新版本值C为2,则得到更新版本值A=更新版本值C>更新版本值B,从更新版本值A和更新版本值C选择更新版本值A对应的实验版本A作为待分配的目标实验版本。
S204,获取各所述实验版本的权重的和值;
所述和值可以是各所述实验版本的权重相加生成。
S205,基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值;
具体的,利用所述和值更新所述目标实验版本的更新版本值,并保留在步骤S202中得到的除所述目标实验版本之外的其余实验版本的更新版本值,将除所述目标实验版本之外的其余实验版本的更新版本值以及利用和值更新之后的所述目标实验版本的更新版本值作为接收到下一个实验用户的实验版本访问请求时各所述实验版本的当前版本值。
所述基于所述和值对所述目标实验版本的更新版本值进行更新包括,计算所述目标实验版本的更新版本值与所述和值的差值,基于所述差值对所述目标实验版本的更新版本值进行更新,即将所述差值作为接收到下一个实验用户的实验版本访问请求时所述目标实验版本的当前版本值。
所述保留除所述目标实验版本之外的其余实验版本的更新版本值是指将除所述目标实验版本之外的其余实验版本的更新版本值作为接收到下一个实验用户的实验版本访问请求时对应其余各所述实验版本的当前版本值。
例如,若实验版本A的权重A为2,实验版本B的权重B为1,实验版本C的权重C为2,和值=权重A+权重B+权重C=2+1+2=5,目标实验版本A的更新版本值A为2,实验版本B的更新版本值B为1,实验版本C的更新版本值C为2,则当前版本值A=更新版本值A-和值=-3,当前版本值B=1,当前版本值C=2。
S206,接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求。
具体的,在执行完一个用户终端的实验版本分配之后,继续接收另一个用户终端进入该测试实验的实验版本访问请求,将所述实验版本访问请求作为所述当前访问请求,并重复执行步骤S201的操作,为所述另一个用户终端分配实验版本。以为一个用户终端分配实验版本作为一个轮次,每特定数量个轮次作为一轮,每轮的分配比例为预设的分配比例,请具体参见下表。
其中,表中各集合内各参数对应含义为[实验版本,当前版本值,权重],例如[A,0,2]中的A指实验版本A,0指的是当前版本值为0,2指的是实验版本A的权重为2。如表中所示的测试实验有三个实验版本,其中实验版本A的权重A为2,实验版本B的权重B为1,实验版本C的权重C为2,则权重之和为5,且经过5轮次的实验版本的分配后,在第五轮次中更新完各实验版本的更新版本值后得到的各实验版本的版本值正好与第一轮次的当前版本值相同,即表明五个轮次为一轮。从表中数据不难看出,经过5轮次的实验版本的分配后,从分配结果可以看出分配比例为A:B:C=2:1:2,即每轮内部的分配比例为预设的权重比例,所述预设的权重比例即等于预设的分配比例。
在本申请实施例中,通过接收对测试实验的实验版本的当前分配请求,获取各所述实验版本的当前版本值,然后基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值,再基于各所述实验版本的更新版本值确定待分配的目标实验版本,并将所述目标实验版本分配至发送所述第一分配请求的用户终端,然后通过获取各所述实验版本的权重的和值,基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值,再接收对所述测试实验的实验版本的下一个分配请求。采用本申请实施例,通过利用参与实验的实验版本的权重更新各实验版本的当前版本值,为接收到的访问请求逐条分配适配的目标实验版本,而不依赖于Hash算法和发送访问请求的流量样本规模,可以使得最终各实验版本的分配比例贴近各实验版本的权重的比例,实现了对各实验版本的平滑分配。
下面将结合图6~图8,对本申请实施例提供的实验版本的分配装置进行详细介绍。需要说明的是,图6~图8中的实验版本的分配装置,用于执行本申请图1~图5所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1~图5所示的实施例。
请参见图6,为本申请实施例提供了一种实验版本的分配装置的结构示意图。如图6所示,该实验版本的分配装置1可以通过软件、硬件或者两者的结合实现成为终端设备的全部或一部分。根据一些实施例,该实验版本的分配装置1包括请求接收模块11、版本分配模块12、版本值更新模块13,具体包括:
请求接收模块11,用于接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
版本分配模块12,用于基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
版本值更新模块13,用于更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
所述请求接收模块11,还用于接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,获取各所述实验版本的当前版本值。
可选的,如图7所示,为本申请实施例提供了一种版本分配模块12的结构示意图。
所述版本分配模块12,包括:
更新版本值获取单元121,用于基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值;
目标实验版本确定单元122,用于基于各所述实验版本的更新版本值确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端。
可选的,所述更新版本值获取单元121,具体用于:
对各所述实验版本的权重与各所述实验版本的当前版本值进行求和,得到各所述实验版本的更新版本值。
可选的,所述目标实验版本确定单元122,具体用于:
在各所述实验版本的更新版本值中确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本。
可选的,所述目标实验版本确定单元122,具体用于:
将所述最大更新版本值中的任一个最大更新版本值对应的实验版本确定为待分配的目标实验版本。
可选的,如图8所示,为本申请实施例提供了一种版本值更新模块13的结构示意图。
所述版本值更新模块13,包括:
权重和值获取单元131,用于获取各所述实验版本的权重的和值;
版本值更新单元132,用于基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值。
可选的,版本值更新单元132,具体用于:
计算所述目标实验版本的更新版本值与所述和值的差值;
基于所述差值对所述目标实验版本的更新版本值进行更新。
需要说明的是,上述实施例提供的实验版本的分配装置在执行实验版本的分配方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的实验版本的分配装置与实验版本的分配方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,通过接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,并基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,进而将所述目标实验版本分配至发送所述当前访问请求的用户终端,接着更新各所述实验版本的版本值,得到各所述实验版本的当前版本值,然后再接收对所述测试实验的实验版本的下一个访问请求,并按照相同的方式进行分配。采用本申请实施例,通过参与实验的实验版本的权重以及各实验版本的当前版本值,为接收到的访问请求逐条分配适配的目标实验版本,而不依赖于Hash算法和发送访问请求的流量样本规模,可以使得最终各实验版本的分配比例贴近各实验版本的权重的比例,实现了对各实验版本的平滑分配。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图5所示实施例的所述实验版本的分配方法,具体执行过程可以参见图1~图5所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图5所示实施例的所述实验版本的分配方法,具体执行过程可以参见图1~图5所示实施例的具体说明,在此不进行赘述。
请参考图9,其示出了本申请一个示例性实施例提供的计算机设备的结构方框图。本申请中的计算机设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行计算机设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmablelogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储计算机设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据等。
参见图10所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图11所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为计算机设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、实验版本的分配程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图12所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在计算机设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图12所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在计算机设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的计算机设备的结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,计算机设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的计算机设备。可选地,各步骤的执行主体为计算机设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的计算机设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用计算机设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述计算机设备可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图9所示的计算机设备中,处理器110可以用于调用存储器120中存储的实验版本的分配程序,并具体执行以下操作:
接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,并执行所述获取各所述实验版本的当前版本值的步骤。
在一个实施例中,所述处理器110在执行基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端时,具体执行以下操作:
基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值;
基于各所述实验版本的更新版本值确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端。
在一个实施例中,所述处理器110在执行所述基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值时,具体执行以下操作:
对各所述实验版本的权重与各所述实验版本的当前版本值进行求和,得到各所述实验版本的更新版本值。
在一个实施例中,所述处理器110在执行所述基于各所述实验版本的更新版本值确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端时,具体执行以下操作:
在各所述实验版本的更新版本值中确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本。
在一个实施例中,所述处理器110在执行所述在各所述实验版本的更新版本值中确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本时,若所述最大更新版本值包括多个,具体执行以下操作:
将所述最大更新版本值中的任一个最大更新版本值对应的实验版本确定为待分配的目标实验版本。
在一个实施例中,所述处理器110在执行所述更新各所述实验版本的版本值,得到各所述实验版本的当前版本值时,具体执行以下操作:
获取各所述实验版本的权重的和值;
基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值。
在一个实施例中,所述处理器110在执行所述基于所述和值对所述目标实验版本的更新版本值进行更新时,具体执行以下操作:
计算所述目标实验版本的更新版本值与所述和值的差值;
基于所述差值对所述目标实验版本的更新版本值进行更新。
在本申请实施例中,通过接收对测试实验的实验版本的当前分配请求,获取各所述实验版本的当前版本值,然后基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值,再基于各所述实验版本的更新版本值确定待分配的目标实验版本,并将所述目标实验版本分配至发送所述第一分配请求的用户终端,然后通过获取各所述实验版本的权重的和值,基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值,再接收对所述测试实验的实验版本的下一个分配请求。采用本申请实施例,通过利用参与实验的实验版本的权重更新各实验版本的当前版本值,为接收到的访问请求逐条分配适配的目标实验版本,而不依赖于Hash算法和发送访问请求的流量样本规模,可以使得最终各实验版本的分配比例贴近各实验版本的权重的比例,实现了对各实验版本的平滑分配。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种实验版本的分配方法,其特征在于,所述方法包括:
接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
基于各所述实验版本的权重以及各所述实验版本的当前版本值,在各所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,并执行所述获取各所述实验版本的当前版本值的步骤。
2.根据权利要求1所述的实验版本的分配方法,其特征在于,所述基于各所述实验版本的权重以及各所述实验版本的当前版本值,在各所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端,包括:
基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值;
基于各所述实验版本的更新版本值确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端。
3.根据权利要求2所述的实验版本的分配方法,其特征在于,所述基于各所述实验版本的权重分别对各所述实验版本的当前版本值进行更新,得到各所述实验版本的更新版本值,包括:
对各所述实验版本的权重与各所述实验版本的当前版本值进行求和,得到各所述实验版本的更新版本值。
4.根据权利要求2所述的实验版本的分配方法,其特征在于,所述基于各所述实验版本的更新版本值确定待分配的目标实验版本,包括:
在各所述实验版本的更新版本值中确定最大更新版本值,将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本。
5.根据权利要求4所述的实验版本的分配方法,其特征在于,当所述最大更新版本值包括多个时,所述将所述最大更新版本值对应的实验版本确定为待分配的目标实验版本,包括:
将所述最大更新版本值中的任一个最大更新版本值对应的实验版本确定为待分配的目标实验版本。
6.根据权利要求2所述的实验版本的分配方法,其特征在于,所述更新各所述实验版本的版本值,得到各所述实验版本的当前版本值,包括:
获取各所述实验版本的权重的和值;
基于所述和值对所述目标实验版本的更新版本值进行更新,并保留除所述目标实验版本之外的其余实验版本的更新版本值,得到各所述实验版本的当前版本值。
7.根据权利要求6所述的实验版本的分配方法,其特征在于,所述基于所述和值对所述目标实验版本的更新版本值进行更新,包括:
计算所述目标实验版本的更新版本值与所述和值的差值;
基于所述差值对所述目标实验版本的更新版本值进行更新。
8.一种实验版本的分配装置,其特征在于,包括:
请求接收模块,用于接收对测试实验的实验版本的当前访问请求,获取各所述实验版本的当前版本值,所述测试实验包括至少两个实验版本;
版本分配模块,用于基于各所述实验版本的权重以及各所述实验版本的当前版本值,在所述实验版本中确定待分配的目标实验版本,将所述目标实验版本分配至发送所述当前访问请求的用户终端;
版本值更新模块,用于更新各所述实验版本的版本值,得到各所述实验版本的当前版本值;
所述请求接收模块,还用于接收对所述测试实验的实验版本的下一个访问请求,将所述下一个访问请求作为所述当前访问请求,获取各所述实验版本的当前版本值。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110505916.2A CN113268414A (zh) | 2021-05-10 | 2021-05-10 | 实验版本的分配方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110505916.2A CN113268414A (zh) | 2021-05-10 | 2021-05-10 | 实验版本的分配方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268414A true CN113268414A (zh) | 2021-08-17 |
Family
ID=77230255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110505916.2A Pending CN113268414A (zh) | 2021-05-10 | 2021-05-10 | 实验版本的分配方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509890A (zh) * | 2022-08-11 | 2022-12-23 | 创新奇智(深圳)技术有限公司 | 基于强化学习的测试方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014169139A1 (en) * | 2013-04-12 | 2014-10-16 | Alibaba Group Holding Limited | Method and device for testing multiple versions |
US20170116638A1 (en) * | 2015-10-23 | 2017-04-27 | Microsoft Technology Licensing, Llc | A/b experiment validation |
CN106959925A (zh) * | 2017-04-25 | 2017-07-18 | 北京云测信息技术有限公司 | 一种版本测试方法及装置 |
CN109308255A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 一种用于a/b测试实验的方法和装置 |
-
2021
- 2021-05-10 CN CN202110505916.2A patent/CN113268414A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014169139A1 (en) * | 2013-04-12 | 2014-10-16 | Alibaba Group Holding Limited | Method and device for testing multiple versions |
US20170116638A1 (en) * | 2015-10-23 | 2017-04-27 | Microsoft Technology Licensing, Llc | A/b experiment validation |
CN106959925A (zh) * | 2017-04-25 | 2017-07-18 | 北京云测信息技术有限公司 | 一种版本测试方法及装置 |
CN109308255A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 一种用于a/b测试实验的方法和装置 |
Non-Patent Citations (2)
Title |
---|
AMY GALLO: "A Refresher on A/B Testing", pages 1 - 8, Retrieved from the Internet <URL:https://hbr.org/2017/06/a-refresher-on-ab-testing> * |
珞沫: "数据分析——AB测试", pages 1 - 9, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_45666566/article/details/115180921> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509890A (zh) * | 2022-08-11 | 2022-12-23 | 创新奇智(深圳)技术有限公司 | 基于强化学习的测试方法、装置、电子设备和存储介质 |
CN115509890B (zh) * | 2022-08-11 | 2024-01-26 | 创新奇智(深圳)技术有限公司 | 基于强化学习的测试方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762937B (zh) | 配置信息发送方法、获取方法、装置及终端 | |
WO2021190184A1 (zh) | 远程协助方法、装置、存储介质及终端 | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
CN111767554B (zh) | 屏幕分享方法、装置、存储介质及电子设备 | |
CN112653670A (zh) | 业务逻辑漏洞检测方法、装置、存储介质以及终端 | |
CN112116212B (zh) | 应用评测方法、装置、存储介质及电子设备 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN110572815A (zh) | 网络访问方法、装置、存储介质及终端 | |
CN111857480B (zh) | 图标对齐方法、装置、存储介质及电子设备 | |
CN113268414A (zh) | 实验版本的分配方法、装置、存储介质及计算机设备 | |
CN111913614A (zh) | 多画面显示控制方法、装置、存储介质及显示器 | |
CN111918386A (zh) | 定位方法、装置、存储介质及电子设备 | |
CN110730300A (zh) | 相机控制方法、装置、存储介质和终端 | |
WO2022242419A1 (zh) | 分区创建方法、装置、存储介质及计算机设备 | |
CN113286349B (zh) | 个人热点连接方法、装置、终端及存储介质 | |
CN113972989B (zh) | 数据校验方法及存储介质、电子设备 | |
CN113312257B (zh) | 版本识别方法、装置、存储介质及计算机设备 | |
CN111859999A (zh) | 消息翻译方法、装置、存储介质及电子设备 | |
CN113312572A (zh) | 一种资源处理方法、装置、存储介质及电子设备 | |
CN113692026B (zh) | 网络连接方法、装置、终端及存储介质 | |
CN113778386B (zh) | 组件生成方法、装置、存储介质及电子设备 | |
CN112612633B (zh) | 进程间通信方法、装置、存储介质以及终端 | |
CN113098859B (zh) | 网页页面回退方法、装置、终端及存储介质 | |
CN113068252B (zh) | 定位方法、装置、终端及存储介质 | |
CN113315687B (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 |