CN104503842B - 基于多层分流实验框架的策略执行方法和装置 - Google Patents
基于多层分流实验框架的策略执行方法和装置 Download PDFInfo
- Publication number
- CN104503842B CN104503842B CN201410811260.7A CN201410811260A CN104503842B CN 104503842 B CN104503842 B CN 104503842B CN 201410811260 A CN201410811260 A CN 201410811260A CN 104503842 B CN104503842 B CN 104503842B
- Authority
- CN
- China
- Prior art keywords
- node
- strategy
- flow
- polices
- module
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于多层分流实验框架的策略执行方法和装置,方法包括以下步骤:1.为策略组合分配一份流量;2.按顺序读取其中策略链中的策略节点;3.判断策略节点是否满足约束条件,是则执行步骤4,否则返回步骤2读取下一策略节点;4.判断策略类型,为流量标签分配策略则执行步骤5,为实验策略则执行步骤6;5.为流量分配该流量标签,返回步骤2读取下一策略节点;6.实现其中的策略逻辑,返回步骤2读取下一个策略节点。针对多个需要进行实验的策略,根据策略之间的相关性分配到多个实验层,通过算法给不同实验层分配相互正交的流量标签,实现流量的复用;通过策略链的方式进行策略配置,使得配置具有较高的可读性和易维护性。
Description
技术领域
本发明涉及数据挖掘分析领域,具体涉及基于多层分流实验框架的策略执行方法和装置。
背景技术
大多数推荐系统或者新功能、新策略开发完毕后,都会有一套默认参数配置。在上线前要通过一套机制对参数进行实验测试、评估,找出效果最好的参数配置以进行调整。目前最常用的评估方法是A-B测试,通过给实验分配独立的流量完成实验测试,通过对流量的隔离,这种方式可以保证实验的独立性,避免了实验之间的相互影响。但是A-B测试评估方法中的实验是单层的流量不可重用,随着实验的增多,每组实验可分配到的流量会减少,因为总的流量是有限的,流量的独占性导致流量不可重用。如果为评估方法中的实验分配多个实验层,在不同的实验层给相应的流量打标签,并且通过随机分配函数保证各层之间流量标签的正交性,则可实现流量的复用。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种基于多层分流实验框架的策略执行方法和装置,针对多个需要进行实验的策略,根据策略之间的相关性分配到多个实验层,通过算法给不同实验层分配相互正交的流量标签,实现流量的复用;流量的分配以及实验的执行都通过策略链的方式进行配置,使得配置具有较高的可读性和易维护性。
为解决上述问题,本发明所采用的技术方案如下:
方案一:
基于多层分流实验框架的策略执行方法,包括以下步骤:
S101:为需要进行实验的策略组合分配一份流量;
S102:读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行S103;
S103:判断当前策略节点是否满足预定义的约束条件,若是,则执行S104,若否,则返回S102读取下一个策略节点;
S104:从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行S105,若为实验策略,则执行S106;
S105:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回S102读取下一个策略节点;
S106:根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回S102读取下一个策略节点。
进一步地,在S105中,标签分配规则具体为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。
进一步地,在S103中,约束条件可以为空,若约束条件为空,则直接执行S104,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。
进一步地,在策略链中,流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。
方案二:
基于多层分流实验框架的策略执行装置,包括以下模块:
模块A:用于为需要进行实验的策略组合分配一份流量;
模块B:用于读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行模块C;
模块C:用于判断当前策略节点是否满足预定义的约束条件,若是,则执行模块D,若否,则返回模块B读取下一个策略节点;
模块D:用于从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行模块E,若为实验策略,则执行模块F;
模块E:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回模块B读取下一个策略节点;
模块F:用于根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回模块B读取下一个策略节点。
进一步地,在模块E中,标签分配规则具体为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。
进一步地,在模块C中,约束条件可以为空,若约束条件为空,则直接执行模块D,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。
进一步地,在策略链中,流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。
相比现有技术,本发明的有益效果在于:针对多个需要进行实验的策略,根据策略之间的相关性分配到多个实验层,通过算法给不同实验层分配相互正交的流量标签,实现流量的复用,其中分配相互正交的流量标签的实现是通过MD5的随机性配合实验层标识、用户标识和求余基准值计算出求余结果,由求余结果对应不同的流量标签,从而使不同实验层的流量标签具有正交性;流量的分配以及实验的执行都通过策略链的方式进行配置,使得配置具有较高的可读性和易维护性。
附图说明
图1为本发明基于多层分流实验框架的策略执行方法的流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
参考图1,基于多层分流实验框架的策略执行方法,包括以下步骤:
S101:为需要进行实验的策略组合分配一份流量。
S102:读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行S103。
将策略组合中所有需要执行的策略以策略链的形式进行组织,从头到尾开始执行策略链上的每一个策略节点的内容。在策略链中包括流量标签分配策略和实验策略,其中流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。即先为流量分配标签再执行实验策略中的逻辑。从策略链的第一个策略节点开始,读取到第一个策略节点时,便执行下面的判断与执行步骤。
S103:判断当前策略节点是否满足预定义的约束条件,若是,则执行S104,若否,则返回S102读取下一个策略节点。
在该步骤中,约束条件可以为空,若约束条件为空,则直接执行S104,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。其中,若当前策略节点为流量标签分配策略,则约束条件一般为空,若当前策略节点为实验策略,则约束条件一般包括一个或多个流量标签。
S104:从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行S105,若为实验策略,则执行S106。
S105:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回S102读取下一个策略节点。
该步骤中的标签分配规则为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。求余结果具体可以使用如下表达式进行描述:MD5(实验层标识+用户标识)%求余基准值。该表达式计算出的结果必然会落在其中一个命中区间,然后根据该命中区间获取对应的流量标签并分配至当前流量中。由于在表达式中有实验层标识,而不同的实验层标识是唯一的,配合MD5的随机性,则分配到不同实验层的流量标签之间具有相互正交的特性,也就满足不同实验层之间必须具有正交性的要求。
S106:根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回S102读取下一个策略节点。
该步骤属于实验策略的执行步骤,不同的实验策略根据其对应的约束条件确定其使用到的实验层,因为约束条件中包括了流量标签,而流量标签中定义有其对应的实验层标识。实现具体的实验逻辑是通过当前策略节点中的配置文件中的类型定义找到相应的执行代码并执行。如果当前策略节点为策略链中的最后一个节点,则表示执行完该策略节点的内容后,整个策略链的内容也将全部执行完,即会返回最终结果,其最终结果根据不同的策略链有不同的表现形式。
下面为上述方案的一个具体例子:
下面为一个策略组合的配置文件:
其中rule_link即为策略链,里面配置有多个策略节点,每个策略节点之间用逗号隔开,每个策略节点都有其相应的配置文件。
下面为其中一个流量标签分配策略对应的策略节点的配置文件:
其中name为实验层标识,split_type为用户标识,split_base为求余基准值,splits为流量标签配置。通过MD5(name+split_type)%split_base可以计算出一个0-99之间的数值,splits中的experiment_flow:100表示experiment_flow的命中区间为0-99,则在该配置文件中,必然会命中experiment_flow这个标签。如果是experiment_flow:50,default_flow:50,则表示experiment_flow的区间是0-49,default_flow的区间为50-99,两个标签的命中概率相同。
下面是其中一个实验策略所对应的策略节点的配置文件:
其中condition_flow为约束条件,在该配置文件中,只有分配的流量中同时包含了experiment_flow标签和seq_update_default标签才满足约束条件。rule_type表示该实验策略的类型,其中的逻辑在其对应的代码中实现。
本发明的有益效果是:针对多个需要进行实验的策略,根据策略之间的相关性分配到多个实验层,通过算法给不同实验层分配相互正交的流量标签,实现流量的复用,其中分配相互正交的流量标签的实现是通过MD5的随机性配合实验层标识、用户标识和求余基准值计算出求余结果,由求余结果对应不同的流量标签,从而使不同实验层的流量标签具有正交性;流量的分配以及实验的执行都通过策略链的方式进行配置,使得配置具有较高的可读性和易维护性。
对应于上述的基于多层分流实验框架的策略执行方法,下面还公开了基于多层分流实验框架的策略执行装置,包括以下模块:
模块A:用于为需要进行实验的策略组合分配一份流量;
模块B:用于读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行模块C;
模块C:用于判断当前策略节点是否满足预定义的约束条件,若是,则执行模块D,若否,则返回模块B读取下一个策略节点;
模块D:用于从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行模块E,若为实验策略,则执行模块F;
模块E:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回模块B读取下一个策略节点;
模块F:用于根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回模块B读取下一个策略节点。
进一步地,在模块E中,标签分配规则具体为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。
进一步地,在模块C中,约束条件可以为空,若约束条件为空,则直接执行模块D,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。
进一步地,在策略链中,流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (6)
1.基于多层分流实验框架的策略执行方法,其特征在于,包括以下步骤:
S101:为需要进行实验的策略组合分配一份流量;
S102:读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行S103;
S103:判断当前策略节点是否满足预定义的约束条件,若是,则执行S104,若否,则返回S102读取下一个策略节点;
S104:从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行S105,若为实验策略,则执行S106;
S105:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回S102读取下一个策略节点;
S106:根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回S102读取下一个策略节点;
在S105中,标签分配规则为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。
2.根据权利要求1所述的基于多层分流实验框架的策略执行方法,其特征在于,在S103中,约束条件可以为空,若约束条件为空,则直接执行S104,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。
3.根据权利要求1所述的基于多层分流实验框架的策略执行方法,其特征在于,在策略链中,流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。
4.基于多层分流实验框架的策略执行装置,其特征在于,包括以下模块:
模块A:用于为需要进行实验的策略组合分配一份流量;
模块B:用于读取策略组合中的策略链,策略链中包含多个策略节点,按先后顺序从第一个策略节点开始读取,将读取到的策略节点记为当前策略节点,并执行模块C;
模块C:用于判断当前策略节点是否满足预定义的约束条件,若是,则执行模块D,若否,则返回模块B读取下一个策略节点;
模块D:用于从当前策略节点的配置文件中获取策略类型,若为流量标签分配策略,则执行模块E,若为实验策略,则执行模块F;
模块E:根据当前策略节点的配置文件中定义的标签分配规则获取流量标签,并为流量分配该流量标签,分配后返回模块B读取下一个策略节点;
模块F:用于根据当前策略节点的配置文件获取对应的执行代码,实现执行代码中的策略逻辑,若当前策略节点为策略链中最后一个策略节点,则输出该策略链的执行结果,否则返回模块B读取下一个策略节点;
在模块E中,标签分配规则具体为:在该策略节点的配置文件中配置多个流量标签,还预定义有实验层标识、用户标识和求余基准值,为每个流量标签分配对应的命中区间,利用MD5算法根据实验层标识和用户标识计算出对应的MD5值,再利用MD5值对求余基准值进行求余运算得出求余结果,根据求余结果所在的命中区间获取对应的流量标签。
5.根据权利要求4所述的基于多层分流实验框架的策略执行装置,其特征在于,在模块C中,约束条件可以为空,若约束条件为空,则直接执行模块D,若约束条件不为空,则约束条件中包括一个或多个流量标签,只有当前流量中包含有该约束条件中的所有流量标签时,才满足该约束条件。
6.根据权利要求4所述的基于多层分流实验框架的策略执行装置,其特征在于,在策略链中,流量标签分配策略所对应的策略节点位于实验策略所对应的策略节点的前面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410811260.7A CN104503842B (zh) | 2014-12-22 | 2014-12-22 | 基于多层分流实验框架的策略执行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410811260.7A CN104503842B (zh) | 2014-12-22 | 2014-12-22 | 基于多层分流实验框架的策略执行方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503842A CN104503842A (zh) | 2015-04-08 |
CN104503842B true CN104503842B (zh) | 2018-05-04 |
Family
ID=52945242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410811260.7A Active CN104503842B (zh) | 2014-12-22 | 2014-12-22 | 基于多层分流实验框架的策略执行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503842B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610654B (zh) * | 2016-03-02 | 2019-12-31 | 优酷网络技术(北京)有限公司 | 一种服务器、策略在线测试的方法及系统 |
CN108510311B (zh) * | 2018-02-28 | 2020-07-17 | 阿里巴巴集团控股有限公司 | 一种确定营销方案的方法、装置及电子设备 |
CN110034953A (zh) * | 2019-03-12 | 2019-07-19 | 平安城市建设科技(深圳)有限公司 | 组间实验中策略链的分析方法、装置、设备及存储介质 |
CN110782276B (zh) * | 2019-10-10 | 2022-04-26 | 微梦创科网络科技(中国)有限公司 | 一种访问分流策略干扰判断方法、装置及电子设备 |
CN111967798B (zh) * | 2020-09-07 | 2023-10-03 | 度小满科技(北京)有限公司 | 实验样本分配的方法及装置、设备及计算机可读存储介质 |
CN112732765B (zh) * | 2021-04-01 | 2021-07-13 | 北京世纪好未来教育科技有限公司 | 一种实验路径的确定方法及装置、电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6484162B1 (en) * | 1999-06-29 | 2002-11-19 | International Business Machines Corporation | Labeling and describing search queries for reuse |
CN1633111B (zh) * | 2005-01-14 | 2010-04-28 | 中国科学院计算技术研究所 | 高速网络业务流分类方法 |
US8670319B2 (en) * | 2005-09-19 | 2014-03-11 | Google, Inc. | Traffic prediction for web sites |
CN101119321B (zh) * | 2007-09-29 | 2010-11-03 | 杭州华三通信技术有限公司 | 网络流量分类处理方法及网络流量分类处理装置 |
CN102508907B (zh) * | 2011-11-11 | 2013-11-20 | 北京航空航天大学 | 一种基于训练集优化的推荐系统的动态推荐方法 |
CN103780449B (zh) * | 2012-10-23 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 一种基于cache存储的流量复用方法和装置 |
-
2014
- 2014-12-22 CN CN201410811260.7A patent/CN104503842B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104503842A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503842B (zh) | 基于多层分流实验框架的策略执行方法和装置 | |
US10243923B2 (en) | Method and system for allocating communication ID of battery management module | |
CN103699440B (zh) | 一种云计算平台系统为任务分配资源的方法和装置 | |
CN105577440B (zh) | 一种网络故障时间定位方法和分析设备 | |
JP5956687B2 (ja) | サービスに基づく通信ネットワーク評価方法及び装置 | |
CN105610654A (zh) | 一种服务器、策略在线测试的方法及系统 | |
EG24390A (en) | A method for managing networks by analyzing connectivity | |
CN105765898B (zh) | 4对以太网供电的检测、分类和相互识别 | |
DE602007009276D1 (de) | Verfahren zum Synchronisieren von Knoten eines Netzwerks sowie System und Vorrichtung dafür | |
CN109416639A (zh) | 用于在虚拟机上拟真网络流量模式的方法、系统以及计算机可读介质 | |
CN107678946A (zh) | 一种基于模型的机载嵌入式软件测试环境构建方法 | |
CN106712992A (zh) | 一种云管理方法和系统 | |
US9407510B2 (en) | Physical layer system with support for multiple active work orders and/or multiple active technicians | |
FI3815315T3 (fi) | Fyysisen kerroksen reititys ja monitorointi | |
CN104392307B (zh) | 一种基于配电网自动化工程的可靠性评估方法 | |
CN106603332A (zh) | 一种待测产品的多个网口同时测试的方法 | |
CN109597744A (zh) | 数据异动分析方法及装置 | |
CN108257014A (zh) | 核保流程创建方法及装置 | |
CN108874676A (zh) | 测试资源的分配方法及装置 | |
CN110113222A (zh) | 一种链路带宽利用率获取方法和装置、及终端 | |
CN107102943B (zh) | 一种智能电能表软件可靠性测试方法及系统 | |
Peng et al. | Testing effort dependent software FDP and FCP models with consideration of imperfect debugging | |
CN104867374B (zh) | 一种从板id学习系统及方法 | |
CN105049278A (zh) | 测试帧的标签域及定义该标签域的方法 | |
CN106649352A (zh) | 数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180416 Address after: 510000 Guangzhou City, Guangzhou, Guangdong, Fangcun Avenue, one of the 314 self compiled Applicant after: Guangzhou Pinwei Software Co., Ltd. Address before: 510370 Guangdong, Guangzhou, Fangcun, No., No. 20 Huahai street, building 1-5 Applicant before: Guangzhou VIPSHOP Information and Technology Co., Ltd. |