一种冠军挑战者策略的管理方法、系统、介质和设备与流程

文档序号:29626437发布日期:2022-04-13 14:34阅读:600来源:国知局
一种冠军挑战者策略的管理方法、系统、介质和设备与流程

1.本发明涉及决策引擎技术领域,特别涉及一种冠军挑战者策略的管理方法、系统、介质和设备。


背景技术:

2.互联网金融随着互联网技术的发展而得到了快速的发展,与传统金融业不同,互联网金融的多数操作在线上,传统金融业的风险控制更加依赖于线下的审核和背景调查,线下审核和背景调查会花费比较长的时间,因此传统金融业的风控业务周期较长。此外,传统金融业的背景调查的内容较为固定,对于所有的用户几乎都使用同一套背景调查的项目,但是,评价用户风险的各种要素的维度和权重是处于不断的变化之中,也需要根据实际情况灵活变换和调整对于用户的风险评价的维度和权重。基于此,自动化决策在互联网金融中最有价值之处在于可以迅速的根据业务变化改变底层的决策逻辑,决策引擎的不断优化在很大程度上促进了互联网金融的发展。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术中业务人员操作或管理冠军挑战者策略的便利性较差。


技术实现要素:

4.有鉴于此,本发明实施例的目的在于提供一种冠军挑战者策略的管理方法、系统、介质和设备,以使得业务人员可以很方便地操作管理冠军挑战者策略。
5.第一方面,为达上述目的,提供一种冠军挑战者策略的管理方法,其包括:
6.基于管理页面获取冠军挑战者策略配置信息;
7.响应于第一选中指令,确定被选中的冠军挑战者策略配置信息;
8.响应于第二选中指令,确定待部署的目标服务器;
9.响应于部署发布指令,将所述被选中的冠军挑战者策略配置信息部署发布到所述目标服务器。
10.在一些可能的实施方式中,所述的基于管理页面获取冠军挑战者策略配置信息,具体包括:
11.基于管理页面中的模型库下拉框,获取模型库;
12.基于管理页面中的策略名称下拉框,获取策略名称;
13.基于管理页面中的策略使用对象下拉框,获取策略使用对象,所述策略使用对象包括规则或者决策流;
14.基于管理页面中的策略实现方式下拉框,获取策略实现方式,所述策略实现方式包括:随机选择算法或者权重选择算法;
15.基于管理页面中的策略标识名称输入框,获取策略标识名称;
16.基于管理页面中的策略标识值输入框,获取策略标识值;
17.根据所述策略名称和所述策略使用对象确定目标id集合;
18.根据所述策略实现方式和所述目标id集合,确定目标id。
19.在一些可能的实施方式中,所述策略名称包括:与产品相关联的第一策略名称或者与版本相关联的第二策略名称,所述版本是指规则的版本或者决策流的版本;
20.所述策略配置信息以键值对的形式存储在所述目标服务器的内存中;
21.当所述策略名称是第一策略名称时,所述策略配置信息在内存中的key值是:策略标识名称和策略标识值;
22.当所述策略名称是第二策略名称,并且所述策略使用对象是决策流时,所述策略配置信息在内存中的key值是:决策流id;
23.当所述策略名称是第二策略名称,并且所述策略使用对象是规则时,所述策略配置信息在内存中的key值是:规则集id和规则id。
24.在一些可能的实施方式中,所述的根据所述策略名称和所述策略使用对象确定目标id集合,具体包括:
25.当所述策略名称是所述第一策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由决策流id组成的集合;
26.当所述策略名称是所述第一策略名称,并且所述策略使用对象是规则时,确定目标id集合是由规则id构成的集合;
27.当所述策略名称是所述第二策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由决策流版本id组成的集合;
28.当所述策略名称是所述第二策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由规则版本id组成的集合。
29.在一些可能的实施方式中,所述的方法还包括:
30.在策略配置信息部署成功后,使用api调试工具对冠军挑战者策略进行测试。
31.在一些可能的实施方式中,所述的在策略配置信息部署成功后,使用api调试工具对冠军挑战者策略进行测试,具体包括:
32.接收调用规则或者决策流的请求api;
33.拦截所述调用规则或者决策流的api;
34.当策略名称是第一策略名称时,根据策略标识名称和策略标识值获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是决策流时,根据决策流id获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是规则时,根据规则集id和规则id获取相应的策略配置信息;
35.根据所述策略配置信息确定策略实现方式;
36.根据所述策略实现方式获得最终目标的id;
37.将所述目标id添加至所述api中,形成最终请求地址,并进行转发,以转发到目标接口。
38.在一些可能的实施方式中,所述将所述目标id添加至所述api中,形成最终请求地址,并进行转发,具体包括:
39.当策略名称为所述第一策略名称时,并且所述策略使用对象是决策流时,在所述请求api的请求路径上添加一个请求参数:决策流id;
40.当策略名称为所述第一策略名称时,并且所述策略使用对象是规则时,在所述请
求api的请求路径上添加一个请求参数:规则id;
41.当策略名称为所述第二策略名称,并且所述策略使用对象是决策流时,在所述请求api的请求体中添加一个参数:决策流版本id;
42.当策略名称为所述第二策略名称,并且所述策略使用对象是规则时,在所述请求api的请求体中添加一个参数:规则版本id。
43.第二方面,提供一种冠军挑战者策略的管理系统,其包括:
44.策略配置模块,用于基于管理页面获取冠军挑战者策略配置信息;
45.策略部署发布模块,用于响应于第一选中指令,确定被选中的冠军挑战者策略配置信息;响应于第二选中指令,确定待部署的目标服务器;响应于部署发布指令,将所述被选中的冠军挑战者策略配置信息部署发布到所述目标服务器。
46.第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的任意一种冠军挑战者策略的管理方法。
47.第四方面,提供一种计算机设备,其包括:
48.一个或多个处理器;
49.存储装置,用于存储一个或多个程序;
50.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的任意一种冠军挑战者策略的管理方法。
51.上述技术方案具有如下有益效果:通过基于管理页面获取冠军挑战者策略配置信息;响应于第一选中指令,确定被选中的冠军挑战者策略配置信息;响应于第二选中指令,确定待部署的目标服务器;响应于部署发布指令,将所述被选中的冠军挑战者策略配置信息部署发布到所述目标服务器;从而通过冠军挑战策略管理页面,业务人员可以很方便的操作冠军挑战者策略。冠军策略的实现可以方便操作人员实现对决策流和规则的不同方式调用。
附图说明
52.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1是本发明实施例的一种冠军挑战者策略的管理方法的流程图;
54.图2是本发明实施例的冠军挑战者策略的测试过程工作原理流程图;
55.图3是本发明实施例的冠军挑战者策略的新增页面图;
56.图4是本发明实施例的策略部署管理页面的示例图;
57.图5是本发明实施例的冠军挑战者策略名称为product的请求示例图;
58.图6是本发明实施例的冠军挑战者策略名称为version和使用对象为决策流的请求示例图;
59.图7是本发明实施例的冠军挑战者策略名称为version和使用对象为规则的请求示例图;
60.图8是本发明实施例的监控统计分析示例图;
61.图9是本发明实施例的一种基于冠军挑战者策略的决策引擎的使用流程图;
62.图10a是本发明实施例的一种冠军挑战者策略的管理系统的功能框图;
63.图10b是本发明实施例的另一种冠军挑战者策略的管理系统的功能框图;
64.图11是本发明实施例的一种计算机可读存储介质的功能框图;
65.图12是本发明实施例的一种计算机设备的功能框图。
具体实施方式
66.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.实施例一
68.图1是本发明实施例的一种冠军挑战者策略的管理方法的流程图。如图1所示,其包括如下步骤:
69.s110、基于管理页面获取冠军挑战者策略配置信息。
70.在一些实施例中,步骤s110具体可以包括如下一个或多个步骤:
71.基于管理页面中的策略id输入框,获取输入的策略id;其中,策略id是冠军挑战者策略在数据库中的唯一标识。
72.基于管理页面中的策略名称下拉框,获取策略名称;其中,策略名称是冠军挑战者策略的具体名称,因为冠军挑战者策略可以有多种不同方式的策略,根据策略名称可以很好地分辨策略的用途。通过给定策略名称,用户可以方便地通过下拉框来自己选择策略名称。
73.基于管理页面中的策略使用对象下拉框,获取策略使用对象,策略使用对象包括规则或者决策流;
74.基于管理页面中的策略实现方式下拉框,获取策略实现方式,策略实现方式包括:随机选择算法或者权重选择算法;
75.基于管理页面中的策略标识名称输入框,获取策略标识名称;
76.基于管理页面中的策略标识值输入框,获取策略标识值;其中,策略标识名称+策略标识值是冠军挑战者策略被部署发布之后,存储在内存中的唯一标识,冠军挑战者策略是以键值对的形式存储在内存中,策略标识名称+策略标识值就是键。例如:比如有一条冠军挑战者策略,策略的id为1,这个就是策略在数据库中的唯一标识,不允许重复,策略名称product,策略标识名称+策略标识值分别为“labelname”,“labelval”,则“labelname”+“labelval”为策略在内存中的键(key)。
77.根据策略名称和策略使用对象确定目标id集合。具体地,用户在配置策略配置信息时,如果选中了策略名称和策略的使用对象,就知道如何选择策略的目标id集合,例如,用户选择的策略名称为product、选择的策略使用对象为决策流,则目标id集合是决策流id集合。
78.根据策略实现方式和目标id集合,确定目标id。
79.在进一步的实施例中,步骤s110还可以包括如下步骤:基于管理页面中的模型库
下拉框,获取模型库。由于模型库是针对整个决策引擎例如shuffle系统而设定的,对于冠军挑战者策略没有实际意义,但是对于整个shuffle系统是具有分类的作用。
80.在一些实施例中,策略名称包括:与产品相关联的第一策略名称或者与版本相关联的第二策略名称,版本是指规则的版本或者决策流的版本;
81.策略配置信息以键值对的形式存储在目标服务器的内存中;
82.当策略名称是第一策略名称时,策略配置信息在内存中的key值是:策略标识名称和策略标识值;
83.当策略名称是第二策略名称,并且策略使用对象是决策流时,策略配置信息在内存中的key值是:决策流id;
84.当策略名称是第二策略名称,并且策略使用对象是规则时,策略配置信息在内存中的key值是:规则集id和规则id。
85.在一些实施例中,根据策略名称和策略使用对象确定目标id集合,目标id集合中包括一个或以上的目标id,目标id可以是决策流id、规则id、决策流版本id、或者规则版本id,该步骤具体包括如下子步骤:
86.当策略名称是第一策略名称,并且策略使用对象是决策流时,确定目标id集合是由决策流id组成的集合;
87.当策略名称是第一策略名称,并且策略使用对象是规则时,确定目标id集合是由规则id组成的集合;
88.当策略名称是第二策略名称,并且策略使用对象是决策流时,确定目标id集合是由决策流版本id组成的集合;由于一个决策流可以有多个版本,相应地有多个决策流版本id,所以目标id集合也可以是一个或多个决策流版本id构成的集合;
89.当策略名称是第二策略名称,并且策略使用对象是规则时,确定目标id集合是由规则版本id组成的集合。
90.s120、响应于第一选中指令,确定被选中的冠军挑战者策略配置信息。
91.s130、响应于第二选中指令,确定待部署的目标服务器。
92.s140、响应于部署发布指令,将被选中的冠军挑战者策略配置信息部署发布到目标服务器。
93.在一些可能的实施方式中,的方法还包括:
94.s150、在策略配置信息部署成功后,使用api调试工具对冠军挑战者策略进行测试。
95.在一些实施例中,s150具体可以包括如下步骤:
96.接收调用规则或者决策流的请求api;
97.拦截调用规则或者决策流的api;
98.当策略名称是第一策略名称时,根据策略标识名称和策略标识值获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是决策流时,根据决策流id获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是规则时,根据规则集id和规则id获取相应的策略配置信息;其中,策略标识名称和策略标识值是在配置策略时已经配置好的,只需在页面中找到即可;
99.根据策略配置信息确定策略实现方式;
100.根据策略实现方式获得最终目标的id;具体地,在获取到策略配置信息之后,就可以从中获取策略的实现方式,然后再根据策略的实现方式的具体算法从目标id集合中选出一个目标id;
101.将目标id添加至api中,形成最终请求地址,并进行转发。具体地,形成的最终请求地址,会转发到真正来实现决策流或者规则调用的接口。
102.在一些实施例中,将目标id添加至api中,形成最终请求地址,并进行转发,具体包括:
103.当策略名称为第一策略名称,并且策略使用对象是决策流时,在请求api的请求路径上添加一个请求参数:决策流id;
104.当策略名称为第一策略名称,并且策略使用对象是规则时,在请求api的请求路径上添加一个请求参数:规则id;
105.当策略名称为第二策略名称,并且策略使用对象是决策流时,在请求api的请求体中添加一个参数:决策流版本id;
106.当策略名称为第二策略名称,并且策略使用对象是规则时,在请求api的请求体中添加一个参数:规则版本id。
107.在一些实施例中,上述方法还可以包括如下步骤:应于监控查询请求,通过可视化界面或页面显示冠军挑战者策略的被访问次数;和/或,响应于监控查询请求,通过可视化界面或页面显示同一冠军挑战者策略下的多个不同目标id的被访问次数。
108.以下对本发明实施例的上述技术方案进行更加详细的说明:
109.在本发明实施例中,冠军挑战者策略主要应用于决策引擎中的规则和决策流的调用。本发明实施例的冠军挑战策略的实现所应用的技术主要包括:spring的web拦截器、springbean结合yml配置文件、随机选择算法和权重选择算法。yaml(yaml aint markup language)是一种标记语言,通常以.yml或者.yaml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持yaml库的不同的编程语言程序导入,一种专门用来写配置文件的语言。可用于如:java,c/c++,ruby,python,perl,c#,php等。
110.本发明实施例的一个目的在于,为了实现对规则和决策流的灵活调用,能够使用不同方式来调用规则和决策流,并且也可以根据需求自定义不同的策略。
111.以下描述主要工作原理:
112.冠军挑战者策略的设计初衷是为了随机去调用决策引擎中的规则和决策流的,可以理解为一个从一个黑盒子里随机取一个不同号码的球,而这些球可以理解为规则集合或者决策流集合。
113.在本发明实施例中,冠军挑战者策略中的策略的实现方式包括如下两种方式:随机选择算法random和权重选择算法weight。在本发明实施例中,冠军挑战者策略根据需求也进行了分类,目前已经实现了product和version的冠军挑战者策略,product和version也是策略名称。当然为了满足未来更多的需求,开发人员也可以很方便地去新增策略的实现方式和策略名称。
114.其中,product可以理解为产品的冠军挑战者策略,主要是针对规则或者决策流本身而设定的,而version可以理解为版本的冠军挑战者策略,主要是针对规则或者决策流的
版本而设定的。
115.在本发明实施例中,冠军挑战者策略的另一重要组成部分是web拦截器,拦截要通过冠军策略来实现的请求,拦截器对请求uri进行处理(获取请求体或者请求路径上的参数,根据参数来获取具体的策略,策略是以键值对的形式存储在内存中,这里请求参数可以理解为key),形成新的请求地址并转发到shuffle系统中,外部调用规则和/或决策流的接口,达到最终策略所要实现的目的。
116.图2是本发明实施例的冠军挑战者策略的测试过程工作原理流程图。如图2所示,其包括如下步骤:
117.s1、调用方判断是否开启冠军挑战者策略;如果是,则执行步骤s2,如果否,则流程结束。开启和部署发布不相同,冠军挑战者策略在没有开启时,不能使用冠军挑战者策略。
118.s2、接收调用方发送的调用规则或者决策流的请求api。具体地,本步骤可以为接收调用方使用工具(例如但不限于postman等调试工具)发送的调用规则或者决策流的请求api。
119.s3、web拦截器拦截所述调用规则或者决策流的api。
120.s4、根据策略标识获取具体的策略信息。因为策略在内存中是以键值对的形式存在,策略标识就是键,值就是策略信息,从而通过策略标识就可以获取到具体的策略信息。具体地,策略标识可以从冠军策略配置信息页面中去查看获取。策略信息的具体内容主要包括:策略的实现方式、策略的目标id集合等,这些信息和冠军挑战者策略配置页面上的信息是一致的。
121.s5、根据策略信息确定策略实现方式,该策略实现方式包括随机选择算法和权重选择算法。策略信息中包含了策略的实现方式,从策略信息中可获取到策略的实现方式。
122.s6、根据随机选择算法和权重选择算法选出或得到最终目标id,其包括决策流id、规则id、决策流版本id或者规则版本id。
123.s7、将调用的目标id添加至请求应用编程接口api中,形成最终请求地址,并完成转发。
124.具体地,由于得到最终的目标id是需要添加到请求api中,例如,当为product策略时,添加的目标id是决策流id或者规则id,当为version策略时,添加的目标id是决策流版本id或者规则版本id。两种添加有区别,当为product策略时,是将目标id(规则id或者决策流id)添加到请求路径上,当为version策略时,是将目标id(决策流版本id或者规则版本id)放到请求体中(以json的格式{“version”:“目标id”})。上述的将目标id加到请求api中,包含了上述的两种方式。
125.以下描述冠军挑战者策略管理页面:
126.为了方便业务人员对冠军挑战者策略的使用,本发明实施例提供了冠军挑战策略管理页面,在这里可以实现对策略的配置、发布、修改、删除、查询、监控统计等操作,而发布的策略配置信息最终会存储在对应的策略的map集合中。其中,在java中,map集合用于存储元素对(称作“键”和“值”),其中每个键映射到一个值,键和值是一一对应的关系,键是不允许重复的,而值可以重复。策略测试是在postman等工具上实现的,并不是在冠军挑战者策略页面上。
127.这里主要从新增策略、策略部署发布、策略测试、监控统计这四个功能来介绍:
128.(1)新增策略
129.图3是本发明实施例的冠军挑战者策略名称为product和使用对象为决策流的新增页面,其他新增页面都是类似的。模型库和策略id是需要配置的,模型库是基于下拉选择确定,而策略id是由用户填写,并且策略id是唯一的,不可重复。目标id集合是需要去点击选择或者修改决策流集合去选择才会显示。如图3所示:
130.在策略名称配置项中,可以根据需求,通过例如下拉框选择冠军挑战者策略的名称为product或者version,策略名称是根据冠军挑战者策略需求而设定的,可以理解为不同场景下的冠军挑战者策略。
131.在策略使用对象配置项中,针对于某些(例如shuffle)决策引擎,冠军挑战者策略是为规则或者决策流服务的,策略使用对象从规则和决策流中选择。在决策引擎中需要使用规则和决策流,其中规则可以理解为商业策略的表达式,决策流可以理解为将不同的规则通过连线连接起来,从而将不同表达式连接起来。使用者可以调用规则或者决策流,来满足自己的需求和目的。
132.在策略实现方式配置项中,选择冠军挑战者的策略实现方式是随机选择算法random或者权重选择算法weight,random算法是随机从集合随机取出,weight算法是根据给的权重值,来选择目标,权重值越大的,被选中的几率越高。
133.关于策略标识名称配置项和策略标识配置项解释如下:
134.策略配置信息新增成功后持久化在数据库当中,为了提高策略的访问速度,策略通过部署最终是以键值对的形式存储在内存当中,而且只有部署成功后,才能使用,而策略的key根据策略名称和策略使用对象也不同,具体如表1:
135.表1:
136.策略名称策略使用对象策略在内存中的key值product决策流策略标识名称+策略标识值product规则策略标识名称+策略标识值version决策流决策流idversion规则规则集id+规则id
137.策略的目标id集合在策略被调用时,会从目标id集合中通过random算法或者weight算法的方式从目标id集合中选择(通过计算机程序代码实现)一个最终的目标id。根据策略名称和策略使用对象,所选择的目标id集合也有所不同,要求也不同,具体如表2:
138.表2:
139.140.目标id是在冠军挑战者策略目标id集合中的,目标id是由random算法或者weight算法从目标id集合中挑选出来的,random算法和weight算法是冠军挑战者策略的实现方式。举例如下:假设目标id集合有id1、id2、id3,如果策略的实现方式是random算法,就会随机从目标id集合中选一个得到目标id。如果策略的实现方式是weight算法,目标id集合为id1:0.1,id2:0.4,id3:0.5,其中:前面的是目标id,后面的是目标id的权重值,各权重值的总和为1,weight算法会按目标id的权重来做选择,权重值越大的,目标id被选中的几率也越大,由于id3为0.5的权重值最大,因此其被选中的几率也是最大的。
141.决策流版本id是指:决策流本身会有很多版本,不同的版本会有不同的版本号id。规则版本id是指:规则本身会有很多版本,不同的版本会有不同的版本号id。
142.(2)策略部署发布
143.图4是本发明实施例的策略管理页面的示例图。如图4所示,点击部署发布按钮,即可发布成功。策略部署流程包括如下步骤:选中要部署的策略;选中要部署的服务器;在冠军挑战者策略的部署管理页面中,点击部署发布按钮,策略以键值对的形式存储在要部署的服务器的内存中。
144.(3)策略测试
145.测试一条冠军挑战者策略的前提是策略已经部署发布成功,可以在页面中查看策略是否已经部署。在本次测试中使用的是postman调试工具(别的调试工具也可以),测试策略的请求地址根据策略的使用对象和策略名称而有所区别。
146.在策略测试的准备阶段,请一并结合参阅上述表1:
147.图5是本发明实施例的冠军挑战者策略名称为product的请求示例图。如图5所示,当策略名称为product时,只需在请求体body中添加一个json对象,字符串的格式为:{策略标识名称:策略标识值}。其中,策略标识名称是“label”,策略标识值是“va106”。策略标识名称是用于确定策略在内存中的key值。策略标识名称和策略标识值是组合使用的,策略标识名称+策略标识值就是策略在内存中map的key值。其中,不限于json格式文本,json是一种存储和交换数据的语法,json是通过javascript对象标记法书写的文本。
148.图6是本发明实施例的冠军挑战者策略名称为version和使用对象为决策流的请求示例图。如图6所示,当策略名称为version,并且当策略使用对象是决策流时,需在请求路径上添加一个请求参数:决策流id。在本示例中,在请求地址路径(http://localhost:7070/api/shuffle/invoke/fireflow)后需添加决策流id(flowid-test1)。
149.图7是本发明实施例的冠军挑战者策略名称为version和适用对象为规则的请求示例图。如图7所示,当策略名称为version,并且当策略使用对象是规则时,需在请求路径上添加两个参数:规则集id和规则id。在本示例中,规则集id(rulesetid)和规则id(ruleid)需添加到请求地址路径(http://localhost:7070/api/shuffle/invoke/fireflow)上。
150.为这些请求添加参数,是为了后台能够找到对应的冠军挑战者策略,这些参数也对应着策略存储在内存中的key值。
151.在策略测试的执行阶段,具体包括执行如下步骤:
152.上述将目标id添加至api中,形成最终请求地址,并进行转发,具体包括如下步骤:
153.当策略名称为第一策略名称时,并且策略使用对象是决策流时,在请求api的请求
路径上添加一个请求参数:决策流id;
154.当策略名称为第一策略名称时,并且策略使用对象是规则时,在请求api的请求路径上添加一个请求参数:规则id;
155.当策略名称为第二策略名称,并且策略使用对象是决策流时,在请求api的请求体中添加一个请求参数:决策流版本id;
156.当策略名称为第二策略名称,并且策略使用对象是规则时,在请求api的请求体中添加一个请求参数:规则版本id。
157.(4)监控统计
158.图8是本发明实施例的监控统计分析示例图。如图8所示,监控统计是为了统计策略被访问的次数,同时也可以查看同一策略下的不同目标id的被访问次数,监控统计的实现有利于更直观体现冠军挑战者策略的使用价值。具体地,冠军挑战者策略还可以对策略被访问的次数实施监控统计,同时也可以查看同一策略下的不同目标id的被访问次数,在冠军挑战者管理页面上的监控统计单元可以看到策略id、决策流id、规则集id、规则id、目标id以及被访问次数等信息,有利于更直观体现冠军挑战者策略的使用价值。
159.图9是本发明实施例的一种基于冠军挑战者策略的决策引擎的使用流程图。如图9所示,其包括如下步骤:
160.s310、配置冠军挑战者策略信息。具体地,例如配置如下的冠军挑战者策略信息,其包括:模型库、策略id、策略名称、策略使用对象、策略标识名称、策略标识值、策略使用方式、目标id集合等。
161.s320、选择对应的服务器并部署发布。
162.s330、在部署成功后,使用api调试工具,例如postman,测试策略。
163.本发明实施例的上述技术方案具有如下有益技术效果:
164.通过冠军挑战策略管理页面,业务人员可以很方便的操作冠军挑战者策略。冠军策略的实现可以方便操作人员实现对决策流和规则的不同方式调用。
165.本发明实施例提供了策略的一键部署,实现冠军挑战者策略最大的页面化。
166.业务人员可以通过监控统计来分析冠军挑战者策略被访问情况。
167.本发明实施例的冠军挑战者策略的可扩展性高,可以开发新的策略来满足更多的业务需求。
168.本发明实施例在决策引擎中结合了冠军挑战者策略,通过spring的web拦截器拦截调用规则或者决策流的请求api,后端代码根据策略标识调出具体的策略信息,根据策略信息中的策略实现方式选择随机选择算法或者权重选择算法来选出最终目标id并将其添加至请求应用编程接口api中,形成最终请求地址,并向要部署的服务器一键部署,所以达到了冠军挑战者策略便于业务人员用不同方式调用规则和决策流、策略一键部署、访问统计、可扩展性强的技术效果。
169.实施例二
170.图10a是本发明实施例提供一种冠军挑战者策略的管理系统的功能框图。如图10a所示,其包括:
171.策略配置模块410,用于基于管理页面获取冠军挑战者策略配置信息;
172.策略部署发布模块420,用于响应于第一选中指令,确定被选中的冠军挑战者策略
配置信息;响应于第二选中指令,确定待部署的目标服务器;响应于部署发布指令,将所述被选中的冠军挑战者策略对应的策略配置信息部署发布到所述目标服务器。
173.可选地,该策略配置模块410,具体用于:
174.基于管理页面中的策略名称下拉框,获取策略名称;
175.基于管理页面中的策略使用对象下拉框,获取策略使用对象,所述策略使用对象包括规则或者决策流;
176.基于管理页面中的策略实现方式下拉框,获取策略实现方式,所述策略实现方式包括:随机选择算法或者权重选择算法;
177.基于管理页面中的策略标识名称输入框,获取策略标识名称;
178.基于管理页面中的策略标识值输入框,获取策略标识值;
179.根据所述策略名称和所述策略使用对象确定目标id集合;
180.根据所述策略实现方式和所述目标id集合,确定目标id。
181.在进一步的实施例中,该策略配置模块410,还用于基于管理页面中的策略id输入框,获取输入的策略id。
182.在进一步的实施例中,该策略配置模块410还用于:基于管理页面中的模型库下拉框,获取模型库。由于模型库是针对整个决策引擎例如shuffle系统而设定的,对于冠军挑战者策略没有实际意义,但是对于整个shuffle系统是具有分类的作用。
183.在一些实施例中,所述策略名称包括:与产品相关联的第一策略名称或者与版本相关联的第二策略名称,所述版本是指规则的版本或者决策流的版本;
184.所述策略配置信息以键值对的形式存储在所述目标服务器的内存中;
185.当所述策略名称是第一策略名称时,所述策略配置信息在内存中的key值是:策略标识名称和策略标识值;
186.当所述策略名称是第二策略名称,并且所述策略使用对象是决策流时,所述策略配置信息在内存中的key值是:决策流id;
187.当所述策略名称是第二策略名称,并且所述策略使用对象是规则时,所述策略配置信息在内存中的key值是:规则集id和规则id。
188.在一些实施例中,策略配置模块410,具体用于:
189.当所述策略名称是所述第一策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由决策流id组成的集合;
190.当所述策略名称是所述第一策略名称,并且所述策略使用对象是规则时,确定目标id集合是由规则id组成的集合;
191.当所述策略名称是所述第二策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由决策流版本id组成的集合;
192.当所述策略名称是所述第二策略名称,并且所述策略使用对象是决策流时,确定目标id集合是由规则版本id组成的集合。
193.图10b是本发明实施例提供的一种冠军挑战者策略的管理系统的功能框图。如图10b所示,在一些实施例中,该系统还包括策略测试模块430,用于在策略配置信息部署成功后,使用api调试工具对冠军挑战者策略进行测试。
194.在一些实施例中,策略测试模块430,具体包括:
195.接收子模块,用于接收调用规则或者决策流的请求api;
196.拦截子模块,用于拦截所述调用规则或者决策流的api;
197.处理子模块,用于当策略名称是第一策略名称时,根据策略标识名称和策略标识值获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是决策流时,根据决策流id获取相应的策略配置信息;当策略名称是第二策略名称,并且策略使用对象是规则时,根据规则集id和规则id获取相应的策略配置信息;根据所述策略配置信息确定策略实现方式;根据所述策略实现方式获得最终目标的id;将所述目标id添加至所述api中,形成最终请求地址,并进行转发。具体地,形成的最终请求地址,会转发到真正来实现决策流或者规则调用的接口。
198.在一些实施例中,处理子模块,具体用于:
199.当策略名称为所述第一策略名称时,并且所述策略使用对象是决策流时,在所述请求api的请求路径上添加一个请求参数:决策流id;
200.当策略名称为所述第一策略名称时,并且所述策略使用对象是规则时,在所述请求api的请求路径上添加一个请求参数:规则id;
201.当策略名称为所述第二策略名称,并且所述策略使用对象是决策流时,在所述请求api的请求体中添加一个请求参数:决策流版本id;
202.当策略名称为所述第二策略名称,并且所述策略使用对象是规则时,在所述请求api的请求体中添加一个请求参数:规则版本id。
203.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
204.实施例三
205.图11是本发明实施例的一种计算机可读存储介质的功能框图,计算机可读存储介质500内存储有计算机程序410,计算机程序410被处理器执行时实现上述冠军挑战者策略的管理方法的各步骤。
206.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。当然,还有其他方式
的可读存储介质,例如量子存储器、石墨烯存储器等等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
207.实施例四
208.本发明实施例还提供了一种计算机设备,如图12所示,包括一个或多个处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
209.存储器603,用于存放计算机程序;
210.处理器601,用于执行存储器603上所存放的程序时,实现上述冠军挑战者策略的管理方法的各步骤。
211.处理器601可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
212.存储器603可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器603可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器603可包括可移除或不可移除(或固定)的介质。在特定实施例中,存储器603是非易失性固态存储器。在特定实施例中,存储器603包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
213.通信总线604包括硬件、软件或两者,用于将上述部件彼此耦接在一起。举例来说,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
214.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
215.虽然本技术提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
216.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
217.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
218.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
219.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1