一种服务器、策略在线测试的方法及系统的制作方法

文档序号:9846566阅读:279来源:国知局
一种服务器、策略在线测试的方法及系统的制作方法
【技术领域】
[0001]本发明涉及策略测试的技术领域,涉及一种服务器、策略在线测试的方法及系统。
【背景技术】
[0002]在互联网等技术领域,每一种新的策略都是由技术人员在线下进行实验获得的,而新获得的策略与现有的策略比较是否具有优势无法从线下实验中获取,因为在线下实验中无法模拟出上线后变化万千的真实线上环境,也就无法预知新策略与原策略相比,谁更优。为了比较新策略与原策略的好坏以决定是否替换原策略,一般会通过在线AB测试(ABTest)的方式,使用一定流量来检测比较新策略与原策略的好坏,通过观察检测一段时间后确定更具优势的策略上线有利于始终保证系统策略为最优策略。
[0003]AB测试(ABTest)其实是一种“先验”的实验体系,属于预测型结论,AB测试是在新策略上线时,将一定的线上流量按比例分为多份分别对应新策略及原策略进行线上测试,其中每一份流量被称为一个桶,上述测试进行一段时间后通过线下统计各个桶中的效果数据,进行比较得出最具优势的策略的一种测试方法。
[0004]目前采用的AB测试为单层实验架构,预先设置好各个测试桶的流量比例,按照该比例将系统流量分配到各个测试桶中进行测试,比如,某次实验包括新测试桶A、原策略小流量桶B及原策略大流量桶C,其流量比例为3:3:4,在流量抵达时,有0.3的概率通过A桶、0.3的概率通过B桶、0.4的概率通过C桶,经过一段时间的观察后,通过比较A桶和B桶的效果数据来确定新策略与原策略的优劣,如图1所示。
[0005]单层实验架构AB测试的优点是架构简单,方便测试,但是对于多个新策略进行测试时,首先,各个策略团队之间需要预先协商好各个策略的流量分配比例,流量分配一致的实验可以放在一个测试桶中进行试验,如果流量分配不一致的实验需要进一步地进行流量细分,比如,有1、2两个新策略分为A、B、C、D、E五个测试桶,按照比例2: 2:1:1:4的流量分配比例,其中,桶A和B为策略I的测试桶,同时为策略2的原测试桶;桶C和D为策略2的测试桶,同时为策略I的原测试桶;桶E为策略I和策略2的原测试桶。通过比较A-E桶的效果数据来确定新策略1、新策略2与各自原策略的优劣,如图2所示。
[0006]然而,这种单层构架的AB测试在测试多个新策略时,会造成各个策略团队之间沟通流量分配困难、团队依赖性强,从而提高了测试成本;再者,当需要测试的新策略较多时,需要进行的实验越多,造成流量比例分配越细,而分配的小流量又会降低实验的可信度,最终影响测试的准确性。
[0007]因此,提供一种能实现各个新策略独立进行测试,且保证测试准确性的新策略在线测试方法是本领域亟待解决的问题。

【发明内容】

[0008]有鉴于此,本发明提供了一种策略在线测试的方法及系统,解决了单层构架的AB测试在测试多个新策略时,各个策略团队之间沟通流量分配困难、团队依赖性强,以及测试多个新策略需要进行多次实验,带来的流量比例分配细,从而降低实验的可信度,最终影响测试的准确性的问题。并且,本发明还提出一种设置有该策略在线测试的系统的服务器。
[0009]为了解决上述技术问题,本发明提出一种策略在线测试的方法,该方法包括:
[0010]接收策略在线测试请求;
[0011]按照预先设定的顺序建立各个策略的测试层,并分配各个策略测试层中测试桶的流量比例;
[0012]将测试流量依次通过各个策略测试层,并按照各个策略测试层中测试桶的流量比例分配到相应的测试桶中进行在线测试;
[0013]收集各个策略测试层中测试桶的测试结果进行比较,获取各个策略测试层中最优的策略。
[0014]在一可选实施例中,所述按照预先设定的顺序建立各个策略的测试层,并分配各个策略测试层中测试桶的流量比例,包括:
[0015]当有新的策略需要进行测试时,在已有策略层基础上增加新策略的测试层,并按照预先设定分新增加策略测试层中测试桶的流量比例。
[0016]在一可选实施例中,测试流量依次通过各个策略测试层,并按照各个策略测试层中测试桶的流量比例分配到相应的测试桶中进行在线测试,包括:
[0017]将上一层策略测试层中各个测试桶中测试完的测试流量分别按下一层策略测试层中各个测试桶中的流量比例通过所述下一层策略测试层中的各个测试桶进行在线测试。
[0018]在一可选实施例中,在所述测试流量流经各个策略的测试层之前,计算所述测试流量的哈希值,并根据所述哈希值及该策略测试层的流量比例将所述测试流量分配至该测试层的相应测试桶中进行在线测试。
[0019]在一可选实施例中,计算所述测试流量的哈希值,包括:利用每层的名称标识及流量标识作为计算所述哈希值的种子。
[0020]在一可选实施例中,采用MD5算法计算所述测试流量的哈希值。
[0021]另一方面,为实现上述策略在线测试的方法,本发明还提出了一种策略在线测试的系统,包括:接收模块、测试层建立模块、测试模块及处理模块,其中,
[0022]所述接收模块,用于接收策略在线测试请求;
[0023]所述测试层建立模块,用于按照预先设定的顺序建立各个策略的测试层,并分配各个策略测试层中测试桶的流量比例;
[0024]所述测试模块,用于将测试流量依次通过各个策略测试层,并按照各个策略测试层中测试桶的流量比例分配到相应的测试桶中进行在线测试;
[0025]所述处理模块,用于收集各个策略测试层中测试桶的测试结果进行比较,获取各个策略测试层中最优的策略。
[0026]在一可选实施例中,所述测试层建立模块,包括:测试层建立单元及测试层增加单元,其中,
[0027]所述测试层建立单元,用于按照预先设定的顺序建立各个策略的测试层,并分配各个策略测试层中测试桶的流量比例;
[0028]所述测试层增加单元,用于当有新的策略需要进行测试时,在已有策略层基础上增加新策略的测试层,并按照预先设定分新增加策略测试层中测试桶的流量比例。
[0029]在一可选实施例中,所述测试模块,包括:测试单元,其中,
[0030]所述测试单元,用于将上一层策略测试层中各个测试桶中测试完的测试流量分别按下一层策略测试层中各个测试桶中的流量比例通过所述下一层策略测试层中的各个测试桶进行在线测试。
[0031 ]在一可选实施例中,所述测试模块,还包括:计算单元,其中,
[0032]所述计算单元,用于在所述测试流量流经各个策略的测试层之前,计算所述测试流量的哈希值;
[0033]所述测试单元,还用于根据所述哈希值及该策略测试层的流量比例将所述测试流量分配至该测试层的相应测试桶中进行在线测试。
[0034]在一可选实施例中,所述计算单元,用于利用每层的名称标识及流量标识作为计算所述哈希值的种子。
[0035]在一可选实施例中,所述计算单元,用于采用MD5算法计算所述测试流量的哈希值。
[0036]本发明还提出了一种服务器,该服务器设置有上述的策略在线测试的系统。
[0037]与现有技术相比,本发明所述的服务器、策略在线测试的方法及系统,实现了如下的有益效果:
[0038](I)本发明所述的策略在线测试的方法及系统针对每个需要测试的策略设置一个独立的策略层进行测试,各个策略层之间测试流量的分配按照各自预先设置的比例相互独立,使得各个策略层流量分配无依赖,也就避免了各个策略团队之间沟通流量分配困难、团队依赖性强的问题,降低了多个策略测试的成本。
[0039](2)本发明所述的策略在线测试的方法及系统针对每个需要测试的策略设置一个独立的策略层进行测试,当存在较多待测试策略时,按照分层的形式利用总体流量针对各个策略独立进行测试,避免了因为进行较多的实验引起流量分配过细降低实验可信度的问题,保证了在对各个策略进行测试时的准确性。
[0040](3)本发明的策略在线测试的方法及系统利用同一流量对各个待测试策略分层的方式进行测试,各个策略的测试按照流式进行,使得策略测试整体有序、高效快捷,同时,在测试策略较多时,也不用另行增加测试流量,简化了多个策略的测试过程。
[0041]当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1