CN113315672B - 流量分配方法及装置、电子设备及计算机可读存储介质 - Google Patents
流量分配方法及装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113315672B CN113315672B CN202010123035.XA CN202010123035A CN113315672B CN 113315672 B CN113315672 B CN 113315672B CN 202010123035 A CN202010123035 A CN 202010123035A CN 113315672 B CN113315672 B CN 113315672B
- Authority
- CN
- China
- Prior art keywords
- user
- flow
- orthogonal table
- test
- experiment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000002474 experimental method Methods 0.000 claims abstract description 287
- 238000012360 testing method Methods 0.000 claims abstract description 220
- 238000006243 chemical reaction Methods 0.000 claims abstract description 37
- 238000010276 construction Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 239000010410 layer Substances 0.000 abstract description 64
- 230000000694 effects Effects 0.000 abstract description 20
- 239000011229 interlayer Substances 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 167
- 238000004422 calculation algorithm Methods 0.000 description 61
- 230000006870 function Effects 0.000 description 40
- 238000011156 evaluation Methods 0.000 description 27
- 238000004364 calculation method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 6
- 238000007619 statistical method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种流量分配方法及装置、电子设备及计算机可读存储介质,该方法在需要进行流量实验时,首先获取用户流量对应的用户标识,并根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识,然后获取流量实验对应的目标正交表,并根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容,最后将用户流量分配至匹配的实验内容;这样本申请基于正交表的层间正交性,多层用户流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响,保证了流量实验结果的准确性。
Description
技术领域
本申请涉及测试技术领域,具体涉及一种流量分配方法及装置、电子设备及计算机可读存储介质。
背景技术
随着互联网更新需求的增长,新功能或者是新策略开发完毕之后,在全流量上线之前需要对新功能或新策略进行流量实验。
流量实验是指按需将用户流量分配至新功能(或者新策略)或者旧功能(或者旧策略)对应的对照实验或者AB实验,例如对用户流量进行分配,使得部分用户流量使用具有新功能或新策略的新网站,部分用户流量仍然使用旧网站(使用旧功能或者旧策略),最后根据用户流量反馈的数据对新功能或新策略的性能、效果进行测试评估,以根据评估结果决定最终是否全流量上线新功能或新策略,或者确定最终全流量上线的新功能或新策略。
当前流量实验中,往往按照用户流量对应的用户标识进行用户流量的分配,这样会将相邻或者相似字段的用户标识分配到相同的实验内容,不能实现用户流量的真正随机分配。
发明内容
本申请实施例提供一种流量分配方法及装置、电子设备及计算机可读存储介质,以提高用户流量分配的随机性。
为解决上述技术问题,本申请实施例提供以下技术方案:
一方面,本申请实施例提供了一种流量分配方法,其包括:
获取用户流量对应的用户标识;
根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
获取流量实验对应的目标正交表;目标正交表与测试业务的数量匹配;
根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容;
将用户流量分配至匹配的实验内容。
一方面,本申请实施例提供了一种流量分配装置,其包括:
获取模块,用于获取用户流量对应的用户标识;
转换模块,用于根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
正交模块,用于获取流量实验对应的目标正交表;目标正交表与测试业务的数量匹配;
匹配模块,用于根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容;
分配模块,用于将用户流量分配至匹配的实验内容。
一方面,本申请实施例提供了一种电子设备,其包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述方法中的步骤。
本申请实施例提供了一种流量分配方法及装置、电子设备及计算机可读存储介质,该方法在需要进行流量实验时,首先获取用户流量对应的用户标识,并根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识,然后获取流量实验对应的目标正交表,并根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容,最后将用户流量分配至匹配的实验内容;这样本申请先使用各测试业务对应的标识转换方式,对用户流量对应的用户标识进行转换得到分配标识,避免了直接基于用户标识进行流量分配导致的相邻或者相似字段的用户标识被分配到相同的实验内容,提高了用户流量分配的随机性,保证了流量实验的准确性;同时,流量实验中各测试业务对应的标识转换方式相互独立,保证了不同测试业务之间相互独立,测试结果互不影响,进一步的,基于正交表的层间正交性,多层用户流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响,保证了流量实验结果的准确性,并且可以将实验流量通过层级的倍数进行扩展,可同时进行大量实验而不会对效果数据产生影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的流量实验系统的组网示意图。
图2是本申请实施例提供的流量分配方法的第一种流程示意图。
图3是本申请实施例提供的流量分配方法的第二种流程示意图。
图4是本申请实施例提供的流量分配方法的第三种流程示意图。
图5是本申请实施例提供的流量分配装置的结构示意图。
图6是本申请实施例提供的电子设备的结构示意图。
图7a至图7e是本申请实施例提供的正交表示意图。
图8a至图8c是本申请实施例提供的界面示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种用于流量实验的流量分配方法及装置、电子设备和计算机可读存储介质。其中,该流量分配装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
在本申请中,用户流量是指对流量实验所针对的业务进行网络访问的网络访问用户。业务是指网站或软件中具有不同功能的模块,比如,在浏览器中,业务包括新功能拉新业务(浏览器门户页面内提供的功能)、大资讯业务、搜索业务、广告业务等,业务又被细分为多个子业务,比如,大资讯业务又被划分为图文子业务、图集子业务、视频秀子业务等。测试业务可以是指大的功能模块业务,也可以是子业务,当流量实验的测试业务为浏览器中新功能拉新业务时,则用户流量是指访问浏览器门户页面的网络访问用户,当流量实验的测试业务为某子业务时,则用户流量是指访问该子业务的网络访问用户。
在本申请中,用户标识是指可用于表示用户的唯一变量,比如用户账号标识、cookie、手机号、用户所使用终端在测试业务中的唯一标识(这个标识是流量实验系统为用户手机等终端分配的)等。用户的属性是指访问用户所具备的特征,包括但不限于:性别、年龄、所在地区、学历等,在本实施例中,用户的属性为该流量实验中进行流量配置时所配置的用户的属性。
在本申请中,流量实验设置有多个流量层,每一流量层对应正交表中的1行,共享相同的用户流量,一个流量层针对一个实验目的设置有一个对照实验组或者AB实验。一个对照实验组中包括一个关于旧功能(或者旧策略)的对照实验和至少一个关于新功能(或者新策略)的对照实验,不同的对照实验可能包括相同或者不同的实验内容。AB实验是指对同一个目标制定两个方案(比如两种排序模型),让一部分用户使用A模型,另一部分用户使用B模型,记录下相关日志,看哪个方案在相关指标上效果更好的实验方式。试验内容是指服务器为某用户流量匹配的对照实验或者AB实验的实验内容。
在本申请中,正交性是指保证多层流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响的特性。正交表是一个n行、n*n列的矩阵,每一行有n*n个不重复的自然数1~n*n,每一行平均分成n个区间,每个区间有n个数,不同行的任意两个区间有且仅有一个相同的数,这样就可以保证多层流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响,实现用户流量的正交性,n可以为任意的自然数。
如图7a所示,在n=4的正交表中,该正交表是一个4行、4*4列的矩阵,包括4行数据,每一行有16个不重复的自然数1~16,每一行平均分为4个区间,每个区间有4个数,不同行的任意两个区间有且仅有一个相同的数,例如第1行的区间1和第3行的区间3之间仅有一个相同的数3。
如图7b所示,在n=3的正交表中,该正交表是一个3行、3*3列的矩阵,包括3行数据,每一行有9个不重复的自然数1~9,每一行平均分为3个区间,每个区间有3个数,不同行的任意两个区间有且仅有一个相同的数,例如第1行的区间1和第3行的区间3之间仅有一个相同的数1。
为了得到本申请需要的正交表,本申请还提供了一种正交表生成方法,如图7c所示,该方法包括:
1、确定构建参数n,并构建生成n行n*n的阵列,得到如图7c中(1)所示的空白的正交表,正交表中每一个填充数字的区域称为桶,桶区域填充的数字称为桶标识。
2、在第1行顺序的填入1~n*n,得到如图7c中(2)所示的正交表。
3、如图7c中(3)所示,以区间为单位,以第1行为起点,对于第i1行中的区间i2中的第i3个数a,在第i1+1行中,它所在的区间编号为第i1行所在区间编号i2+a值,位置保持不变为i3。循环执行本步骤,直至正交表构建完成。i1,i2,i3均属于1~n这n个连续自然数中的任意一个,a属于1~n*n这n*n个连续自然数中的任意一个,若i2+a大于n,将(i2+a)对n取余数c,将c作为区间编号。
例如,针对第1(i1)行中的区间1(i2)中的第1(i3)个数1(a),在第2(i1+1)行中,区间编号为1(i2)+1(a)=2,位置为1(i3);针对第2(i1)行中的区间2(i2)中的第1(i3)个数1(a),在第3(i1+1)行中,区间编号为2(i2)+1(a)=3,位置为1(i3)。
例如,针对第1(i1)行中的区间1(i2)中的第2(i3)个数2(a),在第2(i1+1)行中,区间编号为1(i2)+2(a)=3,位置为2(i3);针对第2(i1)行中的区间3(i2)中的第2(i3)个数2(a),在第3(i1+1)行中,区间编号为3(i2)+2(a)=5,位置为2(i3)。
以图7b为例,在n=3的正交表内,对于区间1,区间2,区间3,数字1为第1行中区间1中的第1个数,所在的区间编号依次为1、2、3,每次增加1;数字2为第1行中区间1中的第2个数,所在的区间编号依次为1、3、2,每次增加2(模意义下);数字3为区间1中的第3个数,所在的区间编号依次为1、1、1,每次增加3(模意义下)。
现说明正交表中桶标识满足正交性的理由,即需要证明正交表内不同行任意两个区间的交集为1:
对于任意一行中一个区间中任取两个数,假设它们是区间编号x1中的第y1和y2个数,往下a行所在的区间编号为z1和z2,那么有:
x1 + a * y1 = z1 (mod p) ①
x1 + a * y2 = z2 (mod p) ②
反证法:假设它们所在区间编号相同,则有①=②,移项可得:
a*(y1–y2)=0(mod p);
但是a≠0且y1≠y2,故假设不成立。
由此可证得不同行任意两个区间的交集为1,也即正交表中桶标识满足正交性。
在本申请中,在正交表同一行的一个区间内,可以仅设置一个测试业务,此时该区间内的多个桶标识对应的用户流量进行相同的实验,也可以设置多个不同的测试业务,此时该区间内的多个桶标识对应的用户流量进行不同的实验,下文将结合实施例进行说明。
在本申请中,测试业务包括但不局限于:针对某个按钮的位置、文字、尺寸、颜色等构建的不同测试业务,针对表单的长度、类型、文字等构建的不同测试业务,针对文案的标题、描述等构建的不同测试业务,针对版面的页面长短、位置等构建的不同测试业务,针对注册、适用指引等流程的不同实现方式构建的不同测试业务,针对搜索算法,推荐算法,AI算法等算法的不同实现步骤构建的不同测试业务。例如某测试业务是针对某个按钮的位置进行的,该测试业务包括该按钮位于某行的左端(对照实验1)、该按钮位于某行的右端(对照实验2)、该按钮位于某行的中间(对照实验3),若某用户流量在该测试业务中匹配到的对照实验为对照实验1,则该用户流量对应的实验内容为“该按钮位于某行的左端”;同样的,例如某测试业务是AB实验,其中A实验为使用推荐算法A为用户推荐内容,B实验为使用推荐算法B为用户推荐内容,若某用户流量在该测试业务中匹配到的对照实验为A实验,则该用户流量对应的实验内容为“使用推荐算法A为用户推荐内容”。
在本申请中,标识转换方式可以是任意的具备标识转换功能的算法、程序等,例如下文中的哈希(Hash)算法等,Hash算法用于分别根据流量实验中各流量层对应测试业务匹配的哈希算法,对用户标识进行哈希运算,得到用户流量对应的哈希值,以便进行实验内容的命中。不同测试业务对应的标识转换方式相互独立是指不同测试业务对应的哈希算法等转换方式不存在引用关系,不同测试业务对应的标识转换方式可以相同也可以不同。
图1为本申请一个实施例中在流量实验中进行流量分配的方法的应用环境图。请参照图1,该在流量实验中进行流量分配的方法应用于流量实验系统。该流量实验系统包括请求终端110和流量实验管理平台120。请求终端110和流量实验管理平台120通过网络连接。
请求终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种,用于发送访问请求,根据流量实验管理平台120响应访问请求反馈的业务参数进行页面展示,并在实验内容进行曝光、点击时向流量实验管理平台120上报实验标识和目标参数。
流量实验管理平台120包括前端交互的交互终端121和服务器122,服务器122可以用独立的服务器或者是多个服务器组成的服务器集群来实现。交互终端121用于进行流量实验的配置,服务器122用于执行在流量实验中进行流量分配的方法。
需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
图2是本申请实施例提供的流量分配方法的第一种流程示意图,该方法应用于服务器中,请参阅图2,该应用于服务器122的流量分配方法包括以下步骤:
201:获取用户流量对应的用户标识。
在一种实施例中,服务器122在接收到用户流量时,对用户流量所携带的关联信息进行分析,得到用户流量对应的用户标识和用户的属性。其中,关联信息可以为访问请求所携带的信息,也可以是请求终端在发送访问请求时同时上报的信息。
202:根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识。
在一种实施例中,以标识转换方式为哈希算法为例进行说明,哈希算法是指把任意长度的输入数据通过一个函数变换成固定长度的数据串,是一个唯一映射算法。可以理解,针对同一个哈希算法,输入数据和转换得到的数据串二者唯一对应。在本实施例中,每一测试业务配置有一个哈希算法,各测试业务对应的哈希算法相互独立,利用哈希算法对用户标识进行哈希运算,以使得用户流量能够均匀的、随机的分配至不同对照实验或者AB实验。
在一种实施例中,当一个大的测试业务包括多个相互独立的子业务时,这些子业务可以共用一个相同的标识转换方式,即针对一个大的测试业务所包含的子业务,不用每个子业务都进行一次用户标识的转换,以降低算法开支等成本。
203:获取流量实验对应的目标正交表。
在一种实施例中,目标正交表与测试业务的数量匹配,目标正交表是由完整正交表的部分行组成,目标正交表的行数量需要与测试业务的数量匹配,例如两者相等以及其他各种方式。
流量实验为了复用用户流量,其测试业务的数量一般大于一个,此时为了避免测试业务直接相互干扰,需要考虑不同测试业务之间的正交性,而本申请基于正交表可以保证不同测试业务之间的正交性,这样就不需要去寻找满足正交性的哈希算法等。
在一种实施例中,可以在服务器内预设正交表,例如在服务器的高速缓存中预先设置一个预设正交表,该预设正交表的构建参数n可以是任意的数值,例如可以是100左右的素数,例如89、97、101、103、107、109等素数,也可以是任意的自然数。此时,本步骤包括:根据流量实验中测试业务的数量,确定流量实验所需的流量层数量;根据流量层数量从预设正交表中选择满足测试需求的正交表作为目标正交表。例如测试业务(大业务或者子业务)的数量为100个,那么流量实验所需的流量层数量就是100个,此时可以从预设正交表中选择满足测试需求的正交表作为目标正交表,例如选择构建参数n大于100的预设正交表处理后作为目标正交表,或者选择构建参数n等于100的预设正交表直接作为目标正交表。
在一种实施例中,根据流量层数量从预设正交表中选择满足测试需求的正交表作为目标正交表的步骤,包括:根据流量层数量,从预设正交表中选择对应数量行数的正交表作为目标正交表。例如测试业务(大业务或者子业务)的数量为100个,那么流量实验所需的流量层数量就是100个,此时可以从预设正交表中选择满足测试需求的正交表作为目标正交表,例如选择构建参数n大于100的预设正交表处理后作为目标正交表,比如先选择n=103的正交表,然后选择这个正交表中的任意100行作为目标正交表。
在一种实施例中,可以根据流量实验的需求实时的生成正交表,此时本步骤包括:根据流量实验中测试业务的数量以及测试业务所需要的用户流量占比,确定正交表的构建参数;根据构建参数,构建测试正交表;对测试正交表进行处理,得到目标正交表。测试业务的数量是指大业务或者子业务的数量,在流量实验中,大业务和子业务的地位是相同的,每个业务都占用一个流量层,在确定流量实时后,测试业务的数量也即确定,例如为9;用户流量占比是指需要参与流量测试的用户流量与总用户流量之间的比值,例如需要百分之二十的用户流量进行流量实验,即百分之十的用户流量进行实验A,百分之十的用户流量进行实验B。正交表的构建参数n需要满足可以进行所有的测试业务,也需要满足可以均衡的进行用户流量分配,可以设置构建参数n为10、11或者100等。
在一种实施例中,确定正交表的构建参数的步骤包括:根据测试业务的数量确定目标正交表的行数;根据用户流量占比,确定目标正交表的最小区间数;根据目标正交表的行数以及最小区间数,确定构建参数。由于一些测试业务可以共用一个流量层,一些测试业务不能共用,为了简化运算步骤,在本实施例,通过直接配置为每个测试业务独立使用一个流量层,那就可以直接将测试业务的数量作为目标正交表的行数;正交表的区间数和构建参数n相同,每一个流量层可以把用户流量进行n*n等分,每个桶内的用户流量占比为n*n分之一,每个区间的用户流量占比为n分之一;若每个区间设置一个测试业务(AB实验需要占用2个区间),那么每个区间的用户流量占比n分之一应该近似等于每个测试业务对应的用户流量占比;若每个桶设置一个测试业务(AB实验需要占用2个桶),那么每个桶内的用户流量占比n*n分之一应该近似等于每个测试业务对应的用户流量占比,例如需要百分之十的用户流量进行实验A,百分之十的用户流量进行实验B,若实验A和实验B分别占用一个区间,那么n应该大于或者等于10,若实验A和实验B分别占用一个桶,那么n*n应该大于或者等于10,即n大于或者等于3或者4等。例如测试业务的数量为8,用户流量占比为百分之二十,实验A和实验B分别占用一个区间,那么构建参数n需要大于或者等于8,并且n应该大于或者等于10,可以选择10、11等作为构建参数n。
在一种实施例中,根据目标正交表的行数以及最小区间数,确定构建参数的步骤包括:根据目标正交表的行数以及最小区间数,确定目标素数,目标素数大于目标正交表的行数以及最小区间数;将目标素数,作为构建参数。例如测试业务的数量为8,用户流量占比为百分之二十,实验A和实验B分别占用一个区间,那么构建参数n需要大于或者等于8,并且n应该大于或者等于10,可以选择11、13等素数作为构建参数n,构建多个正交表。
在一种实施例中,对测试正交表进行处理,得到目标正交表的步骤包括:根据流量实验中测试业务的数量,确定流量实验所需的流量层数量;根据流量层数量从测试正交表中选择满足测试需求的正交表作为目标正交表。例如测试业务的数量为7个,那么流量实验所需的流量层数量就是7个,此时可以从新建的测试正交表中选择满足测试需求的正交表作为目标正交表,例如选择构建参数n为11的测试正交表处理后作为目标正交表,或者选择构建参数n为7的预设正交表直接作为目标正交表。
在一种实施例中,根据流量层数量从测试正交表中选择满足测试需求的正交表作为目标正交表的步骤包括:根据流量层数量,从测试正交表中选择对应数量行数的正交表作为目标正交表。例如测试业务的数量为7个,那么流量实验所需的流量层数量就是7个,此时可以从新建的测试正交表中选择满足测试需求的正交表作为目标正交表,例如选择构建参数n为11的测试正交表,从11行中任意选择7行作为目标正交表。
204:根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容。
在一种实施例中,正交表的一个区间对应一个测试业务的一个实验内容,那么此时本步骤包括:将分配标识对目标正交表的区间数n进行取模,得到分配标识对应的区间标识;根据各测试业务内实验内容与区间标识的对应关系,确定用户流量在各测试业务内匹配的实验内容。下文将集合具体场景对本实施例进行说明。
在一种实施例中,正交表的一个桶对应一个测试业务的一个实验内容,那么此时本步骤包括:将分配标识对目标正交表的桶数n*n进行取模,得到分配标识对应的桶标识;根据各测试业务内实验内容与桶标识的对应关系,确定用户流量在各测试业务内匹配的实验内容。
在一种实施例中,可以基于用户的属性对实验内容进行匹配,此时,步骤201还包括:获取用户流量对应的用户的属性。本步骤包括:根据分配标识以及用户的属性,基于目标正交表确定用户流量在各测试业务内匹配的实验内容。
在一种实施例中,根据分配标识以及用户的属性,基于目标正交表确定用户流量在各测试业务内匹配的实验内容的步骤包括:根据分配标识,基于目标正交表确定用户流量在各测试业务内对应的第一实验内容;获取第一实验内容对应的用户流量筛选信息;根据用户的属性以及用户流量筛选信息,确定用户流量在各测试业务内对应的第二实验内容,作为用户流量在各测试业务内匹配的实验内容。本实施例基于用户的属性进行实验内容的匹配,可以支持更多维度且更精细化的实验。
在一种实施例中,根据哈希值和用户的属性,分别与对应流量层的对照实验进行匹配,当该用户流量满足对照实验的匹配条件时,确定用户流量匹配的对照实验的实验标识,根据实验标识确定匹配的实验内容。其中,实验标识是指用于区分表示各对照实验的记号。实验标识与对照实验一一对应,不同对照实验被配置有不同的实验标识。具体地,实验标识可以是实验名称、实验编号等,只要能够唯一表示对照实验即可。
由于对于同一哈希算法,用户标识与哈希值具有一一对应,因此,在流量实验期间,同一用户流量每次匹配的实验内容均为相同的实验内容,不会出现本次匹配实验内容A、下一次访问时又匹配实验内容B的情况,保证同一用户对流量实验结果的影响具有一致性。
在一种实施例中,正交表的每一行包括n个区间以及n*n个桶,分别将通过不同哈希算法得到的哈希值对区间数n或者桶数n*n进行取模,将取模得到的数值作为该用户流量在对应流量层的区间标识或者桶标识,实现将用户流量映射至各流量层中。然后根据用户流量对应的用户的属性和在不同流量层的区间标识或者桶标识,对各流量层实验内容进行匹配,确定所匹配的实验内容,例如获取各流量层中各对照实验的配置信息,将区间标识或者桶标识和用户的属性,与配置信息进行匹配,确定匹配的实验内容。配置信息是指用户流量命中对照实验所需要匹配的信息,至少包括但不限于区间标识或者桶标识和用户的属性。具体的,获取各流量层中各对照实验的配置信息,将区间标识或者桶标识和用户的属性,与配置信息进行匹配,当区间标识或者桶标识属于其中一个对照实验对应的区间标识或者桶标识,且该用户流量的用户的属性与该对照实验所配置的用户的属性相同时,则确定该用户流量命中该对照实验,也即该用户流量命与该对照实验的实验内容匹配。
在一种实施例中,配置信息还可包括用户白名单和/或用户黑名单。其中,用户白名单包括确定命中该对照实验的用户标识,用户黑名单包括不允许命中该对照实验的用户标识。只要用户标识被记录在某一对照实验的用户白名单中,则不管该用户流量是否满足该对照实验的其他配置信息,都会命中该对照实验;只要用户标识对记录在某一对照实验的用户黑名单中,则该用户流量一定不会命中该对照实验。当配置信息还包括用户白名单和/或用户黑名单时,将区间标识或者桶标识和用户的属性,与配置信息进行匹配,确定匹配的实验内容的步骤,包括;将用户标识、区间标识或者桶标识和用户的属性,与配置信息进行匹配,确定匹配的实验内容。例如,判断用户标识是否为对照实验的用户白名单中记录的用户标识,若是,则命中该对照实验,根据命中的对照实验的实验标识确定匹配的实验内容;和/或,判断用户标识是否为各对照实验的用户黑名单中记录的用户标识,并将区间标识或者桶标识和用户的属性,与各对照实验的配置信息进行匹配,当区间标识或者桶标识属于其中一个对照实验对应的区间或者桶、用户的属性与该对照实验所配置的用户的属性相同,且用户标识不属于用户黑名单时,则确定该用户流量命中该对照实验,根据命中的对照实验的实验标识确定匹配的实验内容。
在一种实施例中,在进行流量实验之前,还包括进行初始化,初始化数据中包括流量的配置信息。例如,首先设置测试业务的实验标识、哈希算法,实验标识包括模块编号(即实验编号)和模块名称(即实验名称),哈希算法可以选用BKDRHash算法,此外,还可配置相关的备注信息。进一步地,对各测试业务的配置信息、实验内容、开始时间、结束时间、业务类型、子业务类型、评价指标、目标参数等进行配置。
在一种实施例中,获取用户流量对应的用户标识和用户的属性之前,还包括:接收请求终端发送的访问请求,当访问请求对应的访问业务属于流量实验的业务范围时,获取访问业务对应的流量实验。访问请求是指由请求终端发起的访问某一网站或软件的请求。具体可以是通过输入网址,向服务器发起访问该网址对应网站的请求。接收请求终端发送的访问请求,对访问请求进行分析,得到该访问请求对应的访问业务,并将该访问业务与己配置流量实验的测试业务进行匹配,当已配置流量实验的测试业务包括该访问业务时,将访问业务与所匹配的测试业务进行匹配,获取与该访问业务匹配的测试业务对应的各对照实验的初始化数据,根据各对照实验的初始化数据组成访问业务的流量实验。
205:将用户流量分配至匹配的实验内容。
在确定了用户流量所匹配的实验内容后,将该用户流量分配至匹配的实验内容,基于匹配的实验内容获得反馈给用户流量对应请求终端的相关数据,并通过请求终端进行展示。
在一种实施例中,当访问请求对应的访问业务不属于流量实验的业务范围时,执行该访问业务对应的默认策略。
在一种实施例中,获取用户流量对应的用户标识和用户的属性的步骤,包括:解析访问请求;根据解析结果得到访问请求对应的用户流量的用户标识和用户的属性。访问请求中携带有用户标识和用户的属性。当访问请求对应的访问业务属于流量实验的业务范围时,进一步对访问请求进行解析,得到该用户流量对应的用户标识和用户的属性。根据得到的用户标识和用户的属性确定所匹配的实验内容。
在一种实施例中,本步骤包括:获取实验内容对应的实验标识和业务参数;将实验标识和业务参数发送至用户流量对应的请求终端。业务参数是指根据访问请求对应的访问业务获取的、且包括匹配的实验内容的业务相关数据。比如,当访问请求为门户网站时,匹配的实验内容包括增加拉新功能按钮,则业务参数是指包括拉新功能按钮、搜索按钮位置在内的门户网站页面展示数据。具体地,获取匹配的实验内容以及除实验内容之外、响应访问请求的其他业务相关数据,并组装成业务参数,将业务参数以及实验标识返回至该用户流量对应的请求终端,以使请求终端根据接收到业务参数进行页面展示。
在一种实施例中,该方法还包括:接收请求终端根据业务参数进行页面展示后反馈的实验标识和目标参数。目标参数是指通过流量实验进行实验结果评估时所需要的数据,不同业务的目标参数可能不同。比如,目标参数可以包括但不限于:用户标识、手机系统、浏览器版本号、性别、年龄,和/或订单价格等。
请求终端根据业务参数进行页面展示后,当曝光和点击实验内容时,均会主动反馈实验标识和目标参数至流量实验管理平台,流量实验管理平台接收请求终端反馈的实验标识和目标参数,以根据实验标识和目标参数进行统计分析,用于对各对照实验进行效果评估。
在一种实施例中,该方法还包括:当流量实验达到结束条件时,分别对各实验标识对应的目标参数进行统计分析,得到各实验标识对应的评价指标值;评价指标值用于确定待发布的实验内容。结束条件是指用于指示流量实验失效的条件。可以是预先配置的结束时间,也可以是访问请求或者用户流量的数量达到预设值。评价指标值是指用于对各对照实验的性能、效果进行评估的相关数值。同一对照实验组的评价指标相同,不同对照实验组的评价指标可能相同或者不同。具体地,评价指标包括但不限于曝光率、点击率、转换率等中的一种或多种。比如,在新功能测试业务中,往往最关注新功能的转换率,可将转换率作为对照实验组的评价指标。具体地,按照各实验标识对应的评价指标值运算方法,对对应的目标参数进行统计分析,得到各实验标识对应的评价指标值。通常,评价指标值越符合期望发展,则说明该评价指标值对应的对照实验相比于同一组内的其他对照实验的效果更好。比如,针对拉新功能设置的对照实验中,新功能的转换率增加,表示将新功能展示在门户网站可以获得较好的效果,因此,可将在门户网站内增加新功能确定为待发布的实验内容,并全流量上线。
由于用户流量是按照用户的属性分配至匹配的实验内容,因此,结合用户的属性对应的评价指标值进行对比分析,还可以确定具有不同用户的属性的用户所关注的实验内容,进而确定全流量上线的实验内容或者按用户的属性进行部分流量上线的实验内容。也就是说,结合用户的属性进行流量分配,提高了评价指标值对各实验内容是否上线或者上线的流量范围的可指导价值。
本实施例提供了一种流量分配方法,该方法使用各测试业务对应的标识转换方式,对用户流量对应的用户标识进行转换得到分配标识,避免了直接基于用户标识进行流量分配导致的相邻或者相似字段的用户标识被分配到相同的实验内容,提高了用户流量分配的随机性,保证了流量实验的准确性;同时,流量实验中各测试业务对应的标识转换方式相互独立,保证了不同测试业务之间相互独立,测试结果互不影响,进一步的,基于正交表的层间正交性,多层用户流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响,由此可以将实验流量通过层级的倍数进行扩展,可同时进行大量实验而不会对效果数据产生影响。
图3是本申请实施例提供的流量分配方法的第二种流程示意图,该方法应用于服务器内,本实施例以正交表预先生成、且正交表的一个区间对应一个实验内容为例对本申请进行详细描述;请参阅图3,该流量分配方法包括以下步骤:
301:流量实验初始化。
以某浏览器的门户网站W为例,该门户网站可以使用不同的推荐算法为用户推荐不同内容,并且可以为用户提供某快报的拉新功能测试。
在命中推荐算法1并且没有命中快报拉新功能时,门户网站如图8a所示,在命中推荐算法2并且命中快报拉新功能时,门户网站如图8b所示,用户点击快报按钮进入图8c所示的快报界面,以实现快报拉新功能。
本次流量实验包括测试业务1(推荐算法测试业务)和测试业务2(快报拉新测试业务);测试业务1包括10%的用户流量进行推荐算法1测试(实验内容a1),10%的用户流量进行推荐算法2测试(实验内容a2),剩余80%的用户流量采用默认策略,对应的哈希算法为f1(),实验内容分配计算公式为g1();测试业务2包括20%的用户流量不展示快报按钮(实验内容b1),20%的用户流量展示快报按钮(实验内容b2),剩余60%的用户流量采用默认策略,对应的哈希算法为f2(),实验内容分配计算公式为g2()。其中,哈希算法f1()和哈希算法f2()相互独立,计算公式g1()和计算公式g2()与测试业务对应的用户流量占比相关。
302:关联流量实验与正交表。
流量实验的测试业务数量为2个,选择服务器的快速缓存中预选存储的构建参数n=10的正交表,任选2行作为流量实验对应的目标正交表,并与流量实现进行关联;如图7d所示,在第1行,区间1对应实验内容a1,区间2对应实验内容a2,其他对应默认策略,在第2行,区间1和区间3对应实验内容b1,区间2和区间4对应实验内容b2,其他对应默认策略。
303:接收请求终端发送的访问请求。
访问请求是指由请求终端发起的访问某一网站或软件的请求。具体可以是通过输入网址,向服务器发起访问该网址对应网站的请求。假设本实施例中,访问请求为向服务器发起的、对网站W的搜索业务进行访问的请求。
304:当访问请求对应的访问业务属于流量实验的业务范围时,获取访问业务对应的流量实验。
对访问请求进行分析,得到该访问请求对应的访问业务,并将该访问业务与己配置流量实验的测试业务进行匹配,当已配置流量实验的测试业务中包括该访问业务时,获取与该访问业务匹配的测试业务对应的初始化数据,根据初始化数据组成访问业务的流量实验。
在本实施例中,流量实验包括网站W的门户网站,获取该搜索业务对应的各测试业务(包括测试业务1和测试业务2)的配置信息,根据各测试业务的配置信息组成访问业务的流量实验。
305:获取用户流量的用户标识。
解析访问请求,根据解析结果得到访问请求对应的用户流量的用户标识和用户的属性。当访问请求对应的访问业务属于流量实验的测试业务范围时,进一步对访问请求进行解析,得到该用户流量对应的用户标识。例如,通过对所接收到的多个访问请求进行解析,得到对应的用户标识00001至99999。
306:分别根据流量实验中各测试业务对应的哈希算法,对用户标识进行哈希运算,得到用户流量对应的哈希值。
任意两个测试业务对应的哈希算法相互独立。具体地,获取每个测试业务的哈希算法,通过每个哈希算法对用户标识进行哈希运算,得到哈希值,每一用户流量对应的哈希值数量与正交表的行数相同。例如,针对用户标识00001至99999,分别使用哈希算法f1()和哈希算法f2()计算得到对应的哈希值(即上文中的分配标识)。
307:将哈希值对桶数进行取模,得到用户流量对应的桶标识。
分别将通过不同哈希算法得到的哈希值对桶数n*n进行取模,将取模得到的数值作为该用户流量在对应行的桶标识,将用户流量映射至正交表的各行中。
在本实施例中,桶数n*n为100,将各用户标识对应的哈希值分别对100进行取模,确定用户流量在正交表中各行对应的桶标识,进而将用户流量映射至正交表的桶内。比如,通过哈希和取模运算,得到用户标识10001在第1行的桶标识为1,在第2行的桶标识为1,用户标识10002在第1行的桶标识为11,在第2行的桶标识为20等。
308:将桶标识与配置信息进行匹配,确定匹配的实验内容。
根据测试业务对应的计算公式g1(),确定用户在正交表的第1行命中的实验内容,计算公式g1()为桶标识1至10命中实验内容a1“使用推荐算法1进行页面内容推荐”,桶标识11至20命中实验内容a2“使用推荐算法2进行页面内容推荐”;根据测试业务对应的计算公式g2(),确定用户在正交表的第2行命中的实验内容,计算公式g2()为桶标识1等(图7d所示正交表中第2行区间1和区间3内所有的桶标识)命中实验内容b1“不展示快报按钮”,桶标识11及20等(图7d所示正交表中第2行区间2和区间4内所有的桶标识)命中实验内容b2“展示快报按钮”。
309:将实验内容返回至用户流量对应的请求终端。
获取实验内容对应的实验标识和业务参数,将实验标识和业务参数发送至用户流量对应的请求终端。获取匹配的实验内容以及除实验内容之外、响应访问请求的其他业务相关数据,并组装成业务参数,将业务参数以及实验标识返回至该用户流量对应的请求终端,以使请求终端根据接收到业务参数进行页面展示。比如,针对用户10001,其命中了实验内容a1“使用推荐算法1进行页面内容推荐”和实验内容b1“不展示快报按钮”,则获取实验内容a1和实验内容b1、以及实验内容a1的业务参数(例如推荐算法1具体的实现方式等)和实验内容b1的业务参数(例如不展示快报按钮的页面框架等),并将实验内容a1和实验内容b1、以及实验内容a1和实验内容b1对应的业务参数返回至该用户10001对应的请求终端,该请求终端根据接收的业务参数进行页面展示,具体的,展示如图8a所示的界面;针对用户10002,其命中了实验内容a2“使用推荐算法2进行页面内容推荐”和实验内容b2“展示快报按钮”,则获取实验内容a2和实验内容b2、以及实验内容a2的业务参数(例如推荐算法2具体的实现方式等)和实验内容b2的业务参数(例如展示快报按钮的页面框架等),并将实验内容a2和实验内容b2、以及实验内容a2和实验内容b2对应的业务参数返回至该用户10002对应的请求终端,该请求终端根据接收的业务参数进行页面展示,具体的,展示如图8b所示的界面。
310:根据实验结果进行评估。
接收请求终端根据页面参数进行页面展示后反馈的实验标识和目标参数,当流量实验达到结束条件时,分别对各实验标识对应的目标参数进行统计分析,得到各实验标识对应的评价指标值。
请求终端根据业务参数进行页面展示后,当曝光和点击实验内容时,均会主动反馈实验标识和目标参数至流量实验管理平台,流量实验管理平台接收请求终端反馈的实验标识和目标参数,以根据实验标识和目标参数进行统计分析,用于对各对照实验进行效果评估。
评价指标值用于确定待发布的实验内容。结束条件是指用于指示流量实验失效的条件。可以是预先配置的结束时间,也可以是访问请求或者用户流量的数量达到预设值。评价指标值是指用于对对照实验进行效果评估的评价指标的数值。同一组对照实验的评价指标相同,不同组对照实验的评价指标可能不同。具体地,评价指标包括但不限于曝光率、点击率、转换率等。
具体地,按照各实验标识对应的评价指标值运算方法,对对应的目标参数进行统计分析,得到各实验标识对应的评价指标值。通常,评价指标值越符合期望发展,则说明该评价指标值对应的实验内容相比于同一测试业务内的其他实验内容的效果更好,可将符合期望发展的实验内容作为待发布的实验内容,例如将实验内容a1和实验内容b2作为待发布的实验内容。
在本实施例中,正交表支持无限扩充层级,且在加入新的层级时无需寻找具有雪崩效应正交性良好的特定hash算法,而使用正交表的流量划分方法可以直接使用空余正交空间构建新的层级,无需进行其余操作,极大地提升了实验系统的灵活性和稳定性,无需进行hash方法正交性验证,节省大量机器与人力资源消耗,减少因为多层hash算法之间因为不具有完备的正交性而带来的用户命中实验误差,同时也极大的降低了实验数据和效果的波动,使得数据准确率得到了相应的提升。正交表存储在高速缓存中,机器的要求大幅下降,同时也提高了命中操作的效率,在qps不变的情况下有效降低了机器开销。保障了层间正交性,多层流量之间任意某层或多层的任一子区间可以随机、均匀的对其余任意某层或多层的任一子区间实验效果进行均衡影响,由此将实验流量通过层级的倍数进行扩展,可同时在同一产品中进行大量实验而不会对效果数据产生影响。
图4是本申请实施例提供的流量分配方法的第三种流程示意图,该方法应用于服务器中,本实施例以实时生成正交表、且正交表的一个桶对应一个实验内容为例对本申请进行详细描述;请参阅图4,该流量分配方法包括以下步骤:
401:流量实验初始化。
以某浏览器的门户网站W为例,该门户网站可以使用不同的推荐算法为用户推荐不同内容,并且可以为用户提供某快报的拉新功能测试。
在命中推荐算法1并且没有命中快报拉新功能时,门户网站如图8a所示,在命中推荐算法2并且命中快报拉新功能时,门户网站如图8b所示,用户点击快报按钮进入图8c所示的快报界面,以实现快报拉新功能。
本次流量实验包括测试业务1(推荐算法测试业务)和测试业务2(快报拉新测试业务);测试业务1包括10%的用户流量进行推荐算法1测试(实验内容a1),10%的用户流量进行推荐算法2测试(实验内容a2),剩余80%的用户流量采用默认策略,对应的哈希算法为f1(),实验内容分配计算公式为g1();测试业务2包括20%的用户流量不展示快报按钮(实验内容b1),20%的用户流量展示快报按钮(实验内容b2),剩余60%的用户流量采用默认策略,对应的哈希算法为f2(),实验内容分配计算公式为g2()。其中,哈希算法f1()和哈希算法f2()相互独立,计算公式g1()和计算公式g2()与测试业务对应的用户流量占比相关。
402:构建流量实验对应的正交表。
流量实验的测试业务数量为2个,构建参数n大于或者等于2,用户流量占比分别为10%和20%,由于九等份比十六等份靠近十等分,那么最小区间数为3,构建参数n大于或者等于3,因此确定构建参数n为3,采用json、xml等方式实时构建n=3的正交表,并任选2行,如图7e所示,作为流量实验对应的正交表。
403:关联流量实验与正交表。
如图7d所示,在第1行,桶1对应实验内容a1,区间2对应实验内容a2,其他对应默认策略,在第2行,桶7和桶5对应实验内容b1,桶3和桶1对应实验内容b2,其他对应默认策略。
404:接收请求终端发送的访问请求。
405:当访问请求对应的访问业务属于流量实验的业务范围时,获取访问业务对应的流量实验。
406:获取用户流量的用户标识。
407:分别根据流量实验中各测试业务对应的哈希算法,对用户标识进行哈希运算,得到用户流量对应的哈希值。
参见上文中的步骤303至306。
408:将哈希值对桶数进行取模,得到用户流量对应的桶标识。
分别将通过不同哈希算法得到的哈希值对桶数n*n进行取模,将取模得到的数值作为该用户流量在对应行的桶标识,将用户流量映射至正交表的各行中。
在本实施例中,桶数n*n为9,将各用户标识对应的哈希值分别对9进行取模,确定用户流量在正交表中各行对应的桶标识,进而将用户流量映射至正交表的桶内。比如,通过哈希和取模运算,得到用户标识10001在第1行的桶标识为1,在第2行的桶标识为5,用户标识10002在第1行的桶标识为2,在第2行的桶标识为3等。
409:将桶标识与配置信息进行匹配,确定匹配的实验内容。
根据测试业务对应的计算公式g1(),确定用户在正交表的第1行命中的实验内容,计算公式g1()为桶标识1命中实验内容a1,桶标识2命中实验内容a2;根据测试业务对应的计算公式g2(),确定用户在正交表的第2行命中的实验内容,计算公式g2()为桶标识7和桶标识5命中实验内容b1,桶标识3及1命中实验内容b2。
410:将实验内容返回至用户流量对应的请求终端。
获取实验内容对应的实验标识和业务参数,将实验标识和业务参数发送至用户流量对应的请求终端。获取匹配的实验内容以及除实验内容之外、响应访问请求的其他业务相关数据,并组装成业务参数,将业务参数以及实验标识返回至该用户流量对应的请求终端,以使请求终端根据接收到业务参数进行页面展示。比如,针对用户10001,其命中了实验内容a1和实验内容b1,则获取实验内容a1和实验内容b1、以及实验内容a1和实验内容b1对应的业务参数,并将实验内容a1和实验内容b1、以及实验内容a1和实验内容b1对应的业务参数返回至该用户10001对应的请求终端,该请求终端根据接收的业务参数进行页面展示,具体的,展示如图8a所示的界面;针对用户10002,其命中了实验内容a2和实验内容b2,则获取实验内容a2和实验内容b2、以及实验内容a2和实验内容b2对应的业务参数,并将实验内容a2和实验内容b2、以及实验内容a2和实验内容b2对应的业务参数返回至该用户10002对应的请求终端,该请求终端根据接收的业务参数进行页面展示,具体的,展示如图8b所示的界面。
411:根据实验结果进行评估。
参见步骤310。
相应的,图5是本申请实施例提供的流量分配装置的结构示意图,设置于电子设备中,请参阅图5,该流量分配装置包括以下模块:
获取模块501,用于获取用户流量对应的用户标识;
转换模块502,用于根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
正交模块503,用于获取流量实验对应的目标正交表;目标正交表与测试业务的数量匹配;
匹配模块504,用于根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容;
分配模块505,用于将用户流量分配至匹配的实验内容。
在一种实施例中,正交模块503用于根据流量实验中测试业务的数量,确定流量实验所需的流量层数量;根据流量层数量从预设正交表中选择满足测试需求的正交表作为目标正交表。
在一种实施例中,正交模块503用于根据流量层数量,从预设正交表中选择对应数量行数的正交表作为目标正交表。
在一种实施例中,正交模块503用于根据流量实验中测试业务的数量以及测试业务所需要的用户流量占比,确定正交表的构建参数;根据构建参数,构建测试正交表;对测试正交表进行处理,得到目标正交表。
在一种实施例中,正交模块503用于根据测试业务的数量确定目标正交表的行数;根据用户流量占比,确定目标正交表的最小区间数;根据目标正交表的行数以及最小区间数,确定构建参数。
在一种实施例中,正交模块503用于根据目标正交表的行数以及最小区间数,确定目标素数,目标素数大于目标正交表的行数以及最小区间数;将目标素数,作为构建参数。
在一种实施例中,正交模块503用于根据流量实验中测试业务的数量,确定流量实验所需的流量层数量;根据流量层数量从测试正交表中选择满足测试需求的正交表作为目标正交表。
在一种实施例中,正交模块503用于根据流量层数量,从测试正交表中选择对应数量行数的正交表作为目标正交表。
在一种实施例中,获取模块501还用于获取用户流量对应的用户的属性;匹配模块504用于根据分配标识以及用户的属性,基于目标正交表确定用户流量在各测试业务内匹配的实验内容。
在一种实施例中,匹配模块504用于根据分配标识,基于目标正交表确定用户流量在各测试业务内对应的第一实验内容;获取第一实验内容对应的用户流量筛选信息;根据用户的属性以及用户流量筛选信息,确定用户流量在各测试业务内对应的第二实验内容,作为用户流量在各测试业务内匹配的实验内容。
在一种实施例中,匹配模块504用于将分配标识对目标正交表的区间数进行取模,得到分配标识对应的区间标识;根据各测试业务内实验内容与区间标识的对应关系,确定用户流量在各测试业务内匹配的实验内容。
在一种实施例中,匹配模块504用于将分配标识对目标正交表的桶数进行取模,得到分配标识对应的桶标识;根据各测试业务内实验内容与桶标识的对应关系,确定用户流量在各测试业务内匹配的实验内容。
相应的,本申请实施例还提供一种电子设备,如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体检测。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
获取用户流量对应的用户标识;
根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
获取流量实验对应的目标正交表;目标正交表与测试业务的数量匹配;
根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容;
将用户流量分配至匹配的实验内容。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
获取用户流量对应的用户标识;
根据流量实验中各测试业务对应的标识转换方式,对用户标识进行转换得到用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
获取流量实验对应的目标正交表;目标正交表与测试业务的数量匹配;
根据分配标识,基于目标正交表确定用户流量在各测试业务内匹配的实验内容;
将用户流量分配至匹配的实验内容。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种流量分配方法及装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种流量分配方法,其特征在于,包括:
获取用户流量对应的用户标识;
根据流量实验中各测试业务对应的标识转换方式,对所述用户标识进行转换得到所述用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
获取所述流量实验对应的目标正交表;所述目标正交表与测试业务的数量匹配;所述获取所述流量实验对应的目标正交表,包括:根据所述流量实验中测试业务的数量以及测试业务所需要的用户流量占比,确定正交表的构建参数;根据所述构建参数,构建测试正交表;对所述测试正交表进行处理,得到所述目标正交表;
所述确定正交表的构建参数的步骤,包括:根据所述测试业务的数量确定目标正交表的行数;根据所述用户流量占比,确定目标正交表的最小区间数;根据所述目标正交表的行数以及所述最小区间数,确定所述构建参数;
根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容;
将所述用户流量分配至匹配的实验内容。
2.根据权利要求1所述的流量分配方法,其特征在于,所述根据所述目标正交表的行数以及所述最小区间数,确定所述构建参数的步骤,包括:
根据所述目标正交表的行数以及所述最小区间数,确定目标素数,所述目标素数大于所述目标正交表的行数以及所述最小区间数;
将所述目标素数,作为所述构建参数。
3.根据权利要求1所述的流量分配方法,其特征在于,所述对所述测试正交表进行处理,得到所述目标正交表的步骤,包括:
根据所述流量实验中测试业务的数量,确定所述流量实验所需的流量层数量;
根据所述流量层数量从所述测试正交表中选择满足测试需求的正交表作为所述目标正交表。
4.根据权利要求3所述的流量分配方法,其特征在于,所述根据所述流量层数量从所述测试正交表中选择满足测试需求的正交表作为所述目标正交表的步骤,包括:
根据所述流量层数量,从所述测试正交表中选择对应数量行数的正交表作为所述目标正交表。
5.根据权利要求1所述的流量分配方法,其特征在于,还包括:
获取所述用户流量对应的用户的属性;
所述根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容的步骤包括:根据所述分配标识以及所述用户的属性,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容。
6.根据权利要求5所述的流量分配方法,其特征在于,所述根据所述分配标识以及所述用户的属性,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容的步骤,包括:
根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内对应的第一实验内容;
获取所述第一实验内容对应的用户流量筛选信息;
根据所述用户的属性以及所述用户流量筛选信息,确定所述用户流量在各测试业务内对应的第二实验内容,作为所述用户流量在各测试业务内匹配的实验内容。
7.根据权利要求1至6任一项所述的流量分配方法,其特征在于,所述根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容的步骤,包括:
将所述分配标识对所述目标正交表的区间数进行取模,得到所述分配标识对应的区间标识;
根据各测试业务内实验内容与区间标识的对应关系,确定所述用户流量在各测试业务内匹配的实验内容。
8.根据权利要求1至6任一项所述的流量分配方法,其特征在于,所述根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容的步骤,包括:
将所述分配标识对所述目标正交表的桶数进行取模,得到所述分配标识对应的桶标识;
根据各测试业务内实验内容与桶标识的对应关系,确定所述用户流量在各测试业务内匹配的实验内容。
9.一种流量分配装置,其特征在于,包括:
获取模块,用于获取用户流量对应的用户标识;
转换模块,用于根据流量实验中各测试业务对应的标识转换方式,对所述用户标识进行转换得到所述用户流量对应的分配标识;各测试业务对应的标识转换方式相互独立;
正交模块,用于获取所述流量实验对应的目标正交表;所述目标正交表与测试业务的数量匹配;其中,所述正交模块具体用于:根据所述流量实验中测试业务的数量以及测试业务所需要的用户流量占比,确定正交表的构建参数;根据所述构建参数,构建测试正交表;对所述测试正交表进行处理,得到所述目标正交表;
所述确定正交表的构建参数,包括:根据所述测试业务的数量确定目标正交表的行数;根据所述用户流量占比,确定目标正交表的最小区间数;根据所述目标正交表的行数以及所述最小区间数,确定所述构建参数;
匹配模块,用于根据所述分配标识,基于所述目标正交表确定所述用户流量在各测试业务内匹配的实验内容;
分配模块,用于将所述用户流量分配至匹配的实验内容。
10.一种电子设备,其包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行程序时实现如权利要求1至8任一项所述的流量分配方法中的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的流量分配方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123035.XA CN113315672B (zh) | 2020-02-27 | 2020-02-27 | 流量分配方法及装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123035.XA CN113315672B (zh) | 2020-02-27 | 2020-02-27 | 流量分配方法及装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315672A CN113315672A (zh) | 2021-08-27 |
CN113315672B true CN113315672B (zh) | 2024-05-14 |
Family
ID=77370113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123035.XA Active CN113315672B (zh) | 2020-02-27 | 2020-02-27 | 流量分配方法及装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315672B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836024B (zh) * | 2021-09-27 | 2024-02-06 | 中南大学 | 基于配置驱动的流量复用ab测试方法及系统 |
CN114462890B (zh) * | 2022-04-07 | 2022-07-26 | 第四范式(北京)技术有限公司 | 一种评估辅助方法及装置、电子设备、存储介质 |
CN117118874B (zh) * | 2023-10-23 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 流量调整方法、装置、计算机设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176893A (zh) * | 2011-12-21 | 2013-06-26 | 方正国际软件(北京)有限公司 | 正交表扩展装置、软件测试系统和正交表扩展方法 |
CN104408119A (zh) * | 2014-11-26 | 2015-03-11 | 北京国双科技有限公司 | 网页的数据处理方法和装置 |
CN106532772A (zh) * | 2016-12-01 | 2017-03-22 | 三峡大学 | 一种基于改进正交优化群智能算法的分布式电源规划方法 |
CN107783895A (zh) * | 2016-08-31 | 2018-03-09 | 上海华虹集成电路有限责任公司 | 基于正交表的多条件参数测试用例设计方法 |
CN108054781A (zh) * | 2018-01-06 | 2018-05-18 | 东北电力大学 | 一种基于db6离散小波变换的风电集群功率汇聚效应的时频分析方法 |
CN108604971A (zh) * | 2016-02-05 | 2018-09-28 | 瑞典爱立信有限公司 | 窄带通信系统中的无线资源分配 |
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429616B2 (en) * | 2010-03-19 | 2013-04-23 | Ebay Inc. | Orthogonal experimentation in a computing environment |
-
2020
- 2020-02-27 CN CN202010123035.XA patent/CN113315672B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176893A (zh) * | 2011-12-21 | 2013-06-26 | 方正国际软件(北京)有限公司 | 正交表扩展装置、软件测试系统和正交表扩展方法 |
CN104408119A (zh) * | 2014-11-26 | 2015-03-11 | 北京国双科技有限公司 | 网页的数据处理方法和装置 |
CN108604971A (zh) * | 2016-02-05 | 2018-09-28 | 瑞典爱立信有限公司 | 窄带通信系统中的无线资源分配 |
CN107783895A (zh) * | 2016-08-31 | 2018-03-09 | 上海华虹集成电路有限责任公司 | 基于正交表的多条件参数测试用例设计方法 |
CN106532772A (zh) * | 2016-12-01 | 2017-03-22 | 三峡大学 | 一种基于改进正交优化群智能算法的分布式电源规划方法 |
CN108054781A (zh) * | 2018-01-06 | 2018-05-18 | 东北电力大学 | 一种基于db6离散小波变换的风电集群功率汇聚效应的时频分析方法 |
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
Non-Patent Citations (2)
Title |
---|
分析测试中的试验设计和优化方法 一、正交试验设计;秦建侯, 邓勃, 王小芹;分析试验室(第10期);47-57 * |
基于正交法的软件测试用例生成;汤红霞;方木云;刘明;秦飞;;计算机工程与设计(14);129-132 * |
Also Published As
Publication number | Publication date |
---|---|
CN113315672A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113315672B (zh) | 流量分配方法及装置、电子设备及计算机可读存储介质 | |
US20230036089A1 (en) | Testing systems and methods | |
CN105103506B (zh) | 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统 | |
CN109039800A (zh) | 在流量实验中进行流量分配的方法、装置和计算机设备 | |
KR101858715B1 (ko) | 서비스자원 관리시스템 및 그 방법 | |
KR101411321B1 (ko) | 액티브 노드와 유사한 특성을 가지는 이웃 노드의 관리방법, 장치 및 그 방법을 구현하기 위한 프로그램이 기록된기록매체 | |
CN110830234A (zh) | 一种用户流量分配方法及装置 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN110457128A (zh) | 任务分配方法、装置和系统 | |
US7853671B2 (en) | System and method for performing a comprehensive comparison of system designs | |
Cao et al. | Mapping strategy for virtual networks in one stage | |
CN110035128A (zh) | 一种直播调度方法、装置、直播系统及存储介质 | |
CN109075987A (zh) | 优化数字组件分析系统 | |
CN111669267B (zh) | 区块链的共识机制配置及背书策略配置方法 | |
CN104850306B (zh) | 一种智能终端完全图标排列方法及装置 | |
CN105991571A (zh) | 一种信息处理方法及装置 | |
CN104778088A (zh) | 一种基于减少进程间通信开销的并行i/o优化方法与系统 | |
CN102737044B (zh) | 一种投放网页信息的方法及装置 | |
CN111008873A (zh) | 一种用户确定方法、装置、电子设备及存储介质 | |
US20050204290A1 (en) | System and method for generating distributed application and distributed system topologies with management information in a networked environment | |
CN108347465A (zh) | 一种选择网络数据中心的方法及装置 | |
CN113730921B (zh) | 虚拟组织的推荐方法和装置、存储介质及电子设备 | |
Ma et al. | Dynamic pricing in the presence of participation-dependent social learning | |
JP2008171234A (ja) | システム構成候補導出装置、方法およびプログラム | |
CN107066314A (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 |