本发明涉及策略画布,具体涉及一种基于shell脚本的策略画布构建方法及系统。
背景技术:
1、营销活动的规则配置,是通过一系列特定的规则和条件来定义和限制营销活动的各个方面和环节的过程,完整的营销策略规则,包含:客群定义、条件分流、触发事件、指定动作。
2、营销活动规则存在多种不同条件分支流程配置,这些配置的规则流程主要根据不同的营销策略、目标和条件来进行灵活调整。就需要一个直观方便的配置方式以便于营销人员能够轻松地进行规则配置和管理,同时方便地进行规则的修改和维护,并且可以随时查看和了解规则的具体情况。
3、事件实现中针对不同的字段会涉及不同的逻辑,java程序需要将主题表中对应的字段均进行特殊处理用于方便sql的拼接。并且可将对应的连续累计等逻辑实现供前进行选择。
4、现有的营销活动规则使用表单形式进行配置,而由于营销活动规则的多样性以及规则节点之间的关联互动较为复杂,采用表单形式编辑营销活动规则,则无法直观展示规则流程,以及规则节点之间的逻辑与关联性,使得营销团队在理解、编辑和审查规则时需要投入更大工作量以及成本。
5、而且由于营销活动规则的复杂性,特别是存在叠加条件和规则的情况下,使用表单形式编辑更容易出错,导致说配置的活动规则与实际需求不符,造成不必要的损失。
6、由于表单形式往往只能支持固定的表单和规则,难以根据不同的营销活动需求进行灵活的配置和扩展。这使得营销团队在面对多样化的营销需求时需要开发更多的定制化系统,增加了成本和维护难度。
7、并且因为事件内嵌在决策业务配置的一部分,属于定制化处理,当有新的事件时,需要前端和后端,甚至大数据平台进行同步开发,并重走投产流程后,才能获得事件效果,因此事件该更的整个流程冗长且繁琐,需要相当大的工作量,成本过高。
8、而且因为事件实现逻辑复杂,特别是涉及到连续累计等场景时,需要由java拼接大段的sql,导致代码可读性非常差,在调试和测试阶段,更是一个痛苦的过程,也会给员工接手造成非常大的困扰。
技术实现思路
1、针对上述现有技术的不足,本发明旨在提供一种基于shell脚本的策略画布构建方法及系统,以解决活动规则以表单形式配置时,其关联互动较为复杂,直观度较低,调整不灵活,且因事件逻辑复杂,需要根据不同事件逻辑编写不同的代码,造成工作复杂的问题。
2、为了解决上述问题,本发明采用了如下的技术方案:
3、由于java语言属于编译类语言,采用shell脚本化语言可进行快速构建模式进行逻辑处理。针对不同底层数据,均可通过脚本化处理将逻辑进行编辑构建,从而满足如累计交易、连续交易、连续登录、首次办理、首次消费等复杂的逻辑判断,并且免除编译进行投入使用。提供可视化的事件定义,根据设计的逻辑内容进行展现至画布页面,交由业务操作人员快速根据设计模式填写如所需阈值,系统则会按照业务填写内容进行逻辑判断处理,并输出对应所需数据。
4、第一方面,本发明提供一种基于shell脚本的策略画布构建方法,包括:
5、采用shell编程语言编辑脚本,所述脚本中包括用于声明业务属性及渲染样式的规则定义区以及进行逻辑判断的逻辑实现区,通过所述脚本形成综合事件节点模型;
6、在事件节点页面中选择所需的综合事件节点模型,并按照所需事件规则对所述综合事件节点模型的脚本变量进行设定确定其渲染样式,形成所需事件规则对应的事件节点;
7、在节点池中选择节点,通过拖拽的方式添加至画布中,与上和/或下节点进行连接并配置节点属性形成策略画布。
8、进一步,所述规则定义区包括开始标识、脚本变量、结束标识,脚本变量为json格式数据,每条json格式数据中包含变量类型、变量入参顺序、变量英文名、变量中文名、变量数据类型、变量说明、变量枚举值列表和变量是否必填标识;并针对枚举定义下拉框、弹出框或平铺展示的组件类型;其中,变量数据类型包括数值、字符串、自定义枚举、参数绑定枚举值、日期、数据周期类型或连续累计类型;针对变量数据类型提供不同的操作符,操作符包括大于、小于、等于、大于等于、小于等于或不等于的渲染形式;
9、所述脚本中包括逻辑实现区,用于制定判断条件。
10、进一步,所述在事件节点页面中选择所需的综合事件节点模型,并按照所需事件规则对所述综合事件节点模型的脚本变量进行设定,形成所需事件规则对应的事件节点,包括:
11、将综合事件节点模型的脚本上传至事件节点页面中,并保存脚本存储路径,选择综合事件节点模型,指定事件结果储存位置并按照所需事件规则设定脚本变量确定渲染样式;所述按照所需事件规则设定脚本变量确定渲染样式包括按照所需事件规则,确定一组或多组脚本变量及其变量类型、变量入参顺序、变量英文名、变量中文名、变量数据类型、变量说明、变量枚举值列表和此变量是否必填标识,和/或确定多组脚本变量的顺序,形成所需事件规则对应的事件节点;当事件节点添加至画布中,配置节点属性时确定判断条件中涉及的变量的阈值。
12、进一步,所述节点池中储存条件节点、事件节点、动作节点和页面节点;
13、所述条件节点用于根据条件规则实现流程分支;
14、所述事件节点用于根据满足事件规则,执行流程;
15、所述动作节点用于执行特定操作;
16、所述页面节点用于获取策略画布配置中的页面数据。
17、进一步,通过拖拽的方式将同类型的节点进行触碰实现合并,在节点属性中配置各节点之间的顺序以及和/或的关系。
18、进一步,基于形成的策略画布,导入客群,对策略画布进行测试。
19、第二方面,本发明提供一种基于shell脚本的策略画布构建系统,包括综合事件节点模型构建模块、事件节点页面、节点池、节点属性框和画布;
20、所述综合事件节点模型构建模块,用于供用户采用shell编程语言编辑脚本,所述脚本中包括用于声明业务属性及渲染样式的规则定义区以及进行逻辑判断的逻辑实现区,通过所述脚本形成综合事件节点模型;
21、所述事件节点页面用于存储综合事件节点模型,用户在事件节点页面中选择所需的综合事件节点模型,并按照所需事件规则对所述综合事件节点模型的脚本变量进行设定确定其渲染样式,形成所需事件规则对应的事件节点;
22、所述节点池用于储存事件节点;
23、所述画布用于供用户通过拖拽的方式将节点池中的节点添加至画布中,与上和/或下节点进行连接形成策略画布;
24、所述节点属性框用于供用户选择节点配置其节点属性。
25、进一步,所述规则定义区包括开始标识、脚本变量、结束标识,脚本变量为json格式数据,每条json格式数据中包含变量类型、变量入参顺序、变量英文名、变量中文名、变量数据类型、变量说明、变量枚举值列表和变量是否必填标识;并针对枚举定义下拉框、弹出框或平铺展示的组件类型;其中,变量数据类型包括数值、字符串、自定义枚举、参数绑定枚举值、日期、数据周期类型或连续累计类型;针对变量数据类型提供不同的操作符,操作符包括大于、小于、等于、大于等于、小于等于或不等于的渲染形式;
26、所述逻辑实现区,用于制定判断条件。
27、进一步,所述形成所需事件规则对应的事件节点,包括:将综合事件节点模型的脚本上传至事件节点页面中,并保存脚本存储路径,选择综合事件节点模型,指定事件结果储存位置并按照所需事件规则设定脚本变量确定渲染样式;所述按照所需事件规则设定脚本变量确定渲染样式包括按照所需事件规则,确定一组或多组脚本变量及其变量类型、变量入参顺序、变量英文名、变量中文名、变量数据类型、变量说明、变量枚举值列表和变量是否必填标识,形成所需事件规则对应的事件节点;当事件节点添加至画布中,配置节点属性时确定判断条件中涉及的变量的阈值。
28、进一步,所述节点池中储存条件节点、事件节点、动作节点和页面节点;
29、所述条件节点用于根据条件规则实现流程分支;
30、所述事件节点用于根据满足事件规则,执行流程;
31、所述动作节点用于执行特定操作;
32、所述页面节点用于获取策略画布配置中的页面数据。
33、本发明的有益效果在于:用户可以通过配置画布清楚地看到整个活动营销规则体系的流程和每个节点之间的关系、逻辑、以及流程,从而更容易理解和操作;用户可以按照dag图的流程化操作,每个节点都有明确的输入和输出,可以清晰地了解每个节点的功能和作用;在画布中,也可以实现试运行,提供实时验证功能,用户在配置规则时可以及时发现错误并纠正,减少出错率;通过事件逻辑shell脚本化形成综合事件节点模型,对脚本变量进行设定及确定,实现不同事件节点的灵活配置,减少事件节点的开发工作。