CN109447485A - 一种基于规则的实时决策系统及方法 - Google Patents
一种基于规则的实时决策系统及方法 Download PDFInfo
- Publication number
- CN109447485A CN109447485A CN201811294029.XA CN201811294029A CN109447485A CN 109447485 A CN109447485 A CN 109447485A CN 201811294029 A CN201811294029 A CN 201811294029A CN 109447485 A CN109447485 A CN 109447485A
- Authority
- CN
- China
- Prior art keywords
- decision
- user
- node
- data
- database
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于规则的实时决策系统及方法,系统主要包括Kafka平台、kudu数据库、hive数据库、原始数据输入模块、数据解析过滤模块、决策树配置模块、Zookeeper、决策树解析器、决策森林模块、连接池。通过本发明可以实时收集、监控用户的行为日志数据,根据营销场景需求,构建自动化营销场景规则树,连接用户线上和线下的行为,实时判断用户的标签、特征、行为,然后通过短信、邮件、APP推送消息等不同渠道实现对用户的精准触达,与用户的互动沟通,达到树立品牌形象或提升转化率的效果,实现精准营销的营销行为。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种基于规则的实时决策系统及方法。
背景技术
当前,营销人员面对的问题主要是无法真正实现实时地数据驱动营销。这主要是因为通过不同的客户触点和数据源连接所有数据是一件缓慢、昂贵的人工任务,系统繁多但相互割裂产生数据断层,缺少必要统一的数据分析和分析后无有效的行动。而希望对客户进行分析、洞察、到营销的产品闭环,仅仅拥有获得洞察力的能力是不够的,要实现最大价值,除了针对用户的洞察分析,还要有可以落地的行动。目前还缺少一种有效的基于规则的实时决策方法。
发明内容
为了实现上述目的,本发明旨在提供一种基于规则的实时决策系统及方法,可以实时收集、监控用户的行为数据,根据营销场景需求,构建自动化营销场景规则树,连接用户线上和线下的行为,实时判断用户的标签、特征、行为,然后通过短信、邮件、APP推送消息等不同渠道实现对用户的精准触达,与用户的互动沟通,达到树立品牌形象或提升转化率的效果,实现精准营销的营销行为。
为了实现上述目的,本发明采用如下技术方案:
一种基于规则的实时决策系统,包括:
Kafka平台:用于为决策处理提供实时的用户行为日志数据;
kudu数据库:用于存储用户当天的行为日志数据,以及每批次决策处理的决策结果;
hive数据库:和kudu数据库相关联,用于存储用户的历史行为日志数据和所有历史决策结果;kudu数据库定时将数据更新至hive数据库中;
原始数据输入模块:分别与所述Kafka平台和hive数据库相关联,用于从Kafka平台读取实时的用户的行为日志数据,以及从hive数据库中读取用户的历史行为日志数据或历史决策结果;
数据解析过滤模块:与原始数据输入模块相关联,用于对从原始数据输入模块输入的数据进行解析和过滤,得到用于决策处理的行为日志数据;
Kafka平台中的数据格式与hive数据库中的数据格式是不同的,因此需要对原始数据输入模块输入的数据进行格式解析,转换成设定的格式以进行决策处理。
决策树配置模块:用于供用户进行包括新建、修改、启动、暂停在内的决策树配置,完成后将决策树配置解析成通用的json格式保存在Zookeeper中;
Zookeeper:和所述决策树配置模块相关联,用于存储最新的决策树配置的信息;
决策树解析器:和Zookeeper相关联,用于监控Zookeeper中所有决策树配置的变化,并从Zookeeper中读取最新的决策树配置并进行解析;
决策森林模块:由一个或多个决策树组成;所述决策森林模块和决策树解析器相关联,决策树解析器将解析后的最新的决策树配置载入决策森林模块中;所述决策树由一个或多个决策节点组成,决策节点用于判断每一条用户的行为日志数据是否触发自身的条件,判断逻辑全部封装在决策节点中进行处理;
连接池:和所述决策森林模块相关联,包括Redis连接池、ES连接池、kudu连接池,所述Redis连接池、ES连接池、kudu连接池分别和Redis数据库、ES数据库和kudu数据库相关联,Redis连接池用于向Redis数据库写入或读取缓存数据,ES连接池用于从ES数据库中访问用户的标签信息,kudu连接池用于将决策结果写入kudu数据库中;
所述决策节点包括群组节点、行为节点、标签节点、消息节点;
所述群组节点用于判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,只有当前用户属于当前决策树配置的用户群,才会进行其他决策节点的处理;每个决策树配置的用户群成员列表保存在Redis数据库中;
所述行为节点用于根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件;
所述标签节点用于判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;
消息节点用于在当前用户满足各种预设的条件后向该用户发送消息进行触达。
进一步地,所述消息节点包括邮件节点和短信节点;邮件节点用于在当前用户满足各种预设条件后向当前用户发送邮件进行触达;短信节点用于在当前用户满足各种预设条件后向当前用户发送短信进行触达。
进一步地,所述决策节点还包括有并发节点,所述并发节点用于处理由一个动作满足条件时同时触发多个分支的情况。
进一步地,所述决策节点还包括有漏斗节点,所述漏斗节点用于根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
进一步地,所述决策节点还包括统计节点,用于统计每个批次处理的行为日志数据量、解析正确的数据量、过滤后的数据量、触发的数据量、异常的数据量,统计结果输出至hive数据库中。
利用上述基于规则的实时决策系统进行实时决策的方法,包括如下步骤:
S1、原始数据输入模块从kafka平台中读取实时的用户行为日志数据;
S2、数据解析过滤模块对从原始数据输入模块输入的行为日志数据进行格式解析,转换成设定的格式,并根据设定的规则进行过滤;
S3、决策树解析树监控Zookeeper中的决策树配置是否有变化,如果有变化,则从Zookeeper中读取最新的决策树配置并对其进行解析,转成设定的格式,然后载入决策森林模块中,如果没有变化则直接跳转至步骤S4;
S4、决策森林模块遍历整个决策森林,遍历每个决策树,遍历决策树的每个决策节点进行对用户的行为日志数据进行决策判断;每个决策树中的每个决策节点的决策处理过程为:
S4.1、群组节点首先通过Redis连接池从Redis数据库中读取所在决策树配置的用户群成员列表,判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,如果是,则跳转至步骤S4.2,否则停止该行为日志数据在本决策树中的决策处理;
S4.2、行为节点根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件;标签节点通过ES连接池从ES数据库中读取当前用户的标签,判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;判断的结果通过kudu连接池输出至kudu数据库中保存,kudu数据库定时将数据更新至hive数据库中;
S4.3、消息节点在当前用户满足各种预设的条件后向该用户发送消息进行触达。
进一步地,如果需要新建、修改、启动或暂停决策树,通过决策树配置模块对相应的决策树进行配置,完成后决策树配置模块将最新的决策树配置解析成通用的json格式保存在Zookeeper中。
进一步地,步骤S2中,设定的规则包括长度规则和格式规则,数据解析过滤模块根据预设的长度规则和格式规则过滤不符合长度要求和格式要求的数据。
进一步地,步骤S4.3中,所述消息节点包括邮件节点和短信节点;邮件节点在当前用户满足各种预设条件后向当前用户发送邮件进行触达;短信节点在当前用户满足各种预设条件后向当前用户发送短信进行触达。
进一步地,所述决策节点还包括有漏斗节点,当需要进行历史行为日志数据或历史决策结果回溯时,所述漏斗节点根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
本发明的有益效果在于:
通过本发明可以实时收集、监控用户的行为日志数据,根据营销场景需求,构建自动化营销场景规则树,连接用户线上和线下的行为,实时判断用户的标签、特征、行为,然后通过短信、邮件、APP推送消息等不同渠道实现对用户的精准触达,与用户的互动沟通,达到树立品牌形象或提升转化率的效果,实现精准营销的营销行为。
附图说明
图1为本发明实施例1的系统组成示意图;
图2为本发明实施例2的方法流程示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
实施例1
本实施例提供一种基于规则的实时决策系统,如图1所示,包括:
Kafka平台:用于为决策处理提供实时的用户行为日志数据;
kudu数据库:用于存储用户当天的行为日志数据,以及每批次决策处理的决策结果;
hive数据库:和kudu数据库相关联,用于存储用户的历史行为日志数据和所有历史决策结果;kudu数据库定时将数据更新至hive数据库中;
原始数据输入模块:分别与所述Kafka平台和hive数据库相关联,用于从Kafka平台读取实时的用户的行为日志数据,以及从hive数据库中读取用户的历史行为日志数据或历史决策结果;
数据解析过滤模块:与原始数据输入模块相关联,用于对从原始数据输入模块输入的数据进行解析和过滤,得到用于决策处理的行为日志数据;
Kafka平台中的数据格式与hive数据库中的数据格式是不同的,因此需要对原始数据输入模块输入的数据进行格式解析,转换成设定的格式以进行决策处理。
决策树配置模块:用于供用户进行包括新建、修改、启动、暂停在内的决策树配置,完成后将决策树配置解析成通用的json格式保存在Zookeeper中;
Zookeeper:和所述决策树配置模块相关联,用于存储最新的决策树配置的信息;
决策树解析器:和Zookeeper相关联,用于监控Zookeeper中所有决策树配置的变化,并从Zookeeper中读取最新的决策树配置并进行解析;
决策森林模块:由一个或多个决策树组成;所述决策森林模块和决策树解析器相关联,决策树解析器将解析后的最新的决策树配置载入决策森林模块中;所述决策树由一个或多个决策节点组成,决策节点用于判断每一条用户的行为日志数据是否触发自身的条件,判断逻辑全部封装在决策节点中进行处理;
连接池:和所述决策森林模块相关联,包括Redis连接池、ES连接池、kudu连接池,所述Redis连接池、ES连接池、kudu连接池分别和Redis数据库、ES数据库和kudu数据库相关联,Redis连接池用于向Redis数据库写入或读取缓存数据,ES连接池用于从ES数据库中访问用户的标签信息,kudu连接池用于将决策结果写入kudu数据库中;
所述决策节点包括群组节点、行为节点、标签节点、消息节点;
所述群组节点用于判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,只有当前用户属于当前决策树配置的用户群,才会进行其他决策节点的处理;每个决策树配置的用户群成员列表保存在Redis数据库中;
所述行为节点用于根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件(如在多长时间内浏览某个品类的商品多少次等,次数的记录缓存在Redis数据库中);
所述标签节点用于判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;
行为节点和标签节点属于不同的节点,节点的判断顺序依赖于决策树中配置的各个节点的先后顺序。如果决策树中配置的先经过行为节点,满足条件的再判断标签,则判断行为在前。如果决策树中配置的先判断标签,再判断行为是否满足,则判断标签在前。
消息节点用于在当前用户满足各种预设的条件后向该用户发送消息进行触达。
进一步地,在本实施例中,所述消息节点包括邮件节点和短信节点;邮件节点用于在当前用户满足各种预设条件后向当前用户发送邮件进行触达,可以支持立即发送、延迟发送、定时发送;短信节点用于在当前用户满足各种预设条件后向当前用户发送短信进行触达,也可以支持立即发送、延迟发送、定时发送。
在本实施例中,所述决策节点还包括有并发节点,所述并发节点用于处理由一个动作满足条件时同时触发多个分支的情况;
在本实施例中,所述决策节点还包括有漏斗节点,所述漏斗节点用于根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
在本实施例中,所述决策节点还包括统计节点,用于统计每个批次处理的行为日志数据量、解析正确的数据量、过滤后的数据量、触发的数据量、异常的数据量(即决策树各个决策节点在判断过程中产生的异常,如缺少必要的字段,如解析时间字段异常等),统计结果输出至hive数据库中。方便对引擎的运行状态进行监控。
进一步地,系统中所有的决策树(DecisionTree)集合成决策森林(DecisionForest),整个系统只有一个决策森林;在本实施例中,决策森林通过LinkedHashMap数据结构进行存储,如下所示。
Map<String,DecisionTree2>trees=new LinkedHashMap<>();
通过LinkedHashMap进行存储,既能通过决策树的ID对决策树进行检索,又能按照决策树的创建顺序进行决策树的迭代查询。
进一步地,决策树由决策节点组成(DecisionNode),系统中有多个决策树,每个决策树代表一项决策业务。决策树的数据结构如下:
决策树保存决策树标识ID、决策树内容content、决策树版本version以及所有的决策节点。由于决策节点必须保证遍历的顺序,所以决策节点通过LinkedHashMap进行保存。
进一步地,由于决策节点要支持多种业务,所以决策节点有多种类型。在本实施例中,所有类型的决策节点都继承自AbstractNode虚拟基类,所有类型的决策节点都需要实现虚拟基类中的接口。
决策节点抽象基类的数据结构如下:
{
protected String type;
protected String treeid;
protected String nodeid;
protected String parentid;
protected int interval;
protected HashMap<String,String>extraInfo;
protected LinkedHashMap<String,AbstractBranch>branchList;
}
决策节点需要保存当前节点类型type、决策树标识ID、当前决策节点标识ID,当前决策节点的父级节点ID,以及当前决策节点与前一个决策节点的时间间隔interval以及当前决策节点的所有分支。决策树是一个树形结构,由最顶层根节点逐层分支出整个决策树。决策节点之间的父子关系由业务决定,如需要先判断标签再判断行为,则标签节点是父节点,行为节点是子节点。节点的父子关系,通过子节点数据结构中的父级节点ID指出,分支使用LinkedHashMap进行保存;
抽象基类的方法如下:
abstract public boolean initialize(DecisionJsonNode jsonNode):处理节点的初始化操作。
abstract public boolean processTrigger(DecisionData data):处理父级节点触发的数据,如果触发之后需要做初始化工作,则在这里处理(如记录触发的id等)。
abstract public boolean processMonitor(DecisionData data):处理自身节点监控的数据,如果监控之后需要做逻辑判断工作,则在这里处理(即判断后面哪个分支满足条件)。
abstract public boolean processTimeout(DecisionData data):处理自身节点超时的数据,如果超时之后需要触发某超时分支,则在这里处理(如1天内未完成某动作则发邮件)
基于这样的设计,可以保证在增加新的决策节点时,不需要重新修改框架,只需要继承父类,实现上述抽象基类的方法,就可以快速的添加新的决策节点到系统中去。
进一步地,决策分支(DecisionBranch)用来表示决策节点的分支结构,每个决策节点可能有单个分支、多个分支,也可能没有分支,没有分支的节点必须是最后末级节点。
由于决策分支有很多种类型,通过AbstractBranch抽象基类进行表示,所有类型的分支都需要继承AbstractBranch,实现抽象基类的接口。
AbstractBranch只有一个接口,即:
abstract public boolean check(DecisionData data):处理分支的判断逻辑。判断成功返回true,判断失败返回false。
进一步地,决策条件是决策分支判断过程中预设的条件,通过抽象基类AbstractCondition来表示。
决策条件的数据结构如下:
{
protected String condition;
}
AbstractCondition只有一个接口,即:
abstract public boolean check(DecisionData data):判定条件是否满足,满足返回true,不满足返回false。
实施例2
本实施例提供一种利用实施例1中基于规则的实时决策系统进行实时决策的方法,如图2所示,包括如下步骤:
S1、原始数据输入模块从kafka平台中读取实时的用户行为日志数据;
S2、数据解析过滤模块对从原始数据输入模块输入的行为日志数据进行格式解析,转换成设定的格式,并根据设定的规则进行过滤;
S3、决策树解析树监控Zookeeper中的决策树配置是否有变化,如果有变化,则从Zookeeper中读取最新的决策树配置并对其进行解析,转成设定的格式,然后载入决策森林模块中,如果没有变化则直接跳转至步骤S4;
将最新的决策树配置载入决策森林模块中,如果新增的决策树,需要构建后加入到决策森林,删除的决策树,需要从决策森林中清除;修改的决策树,需要重新构建更新到决策森林中。决策树的修改可以包括决策节点的增加、删除、修改、父子节点关系的修改等等。
S4、决策森林模块遍历整个决策森林,遍历每个决策树,遍历决策树的每个决策节点进行对用户的行为日志数据进行决策判断;每个决策树中的每个决策节点的决策处理过程为:
S4.1、群组节点首先通过Redis连接池从Redis数据库中读取所在决策树配置的用户群成员列表,判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,如果是,则跳转至步骤S4.2,否则停止该行为日志数据在本决策树中的决策处理;
S4.2、行为节点根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件;标签节点通过ES连接池从ES数据库中读取当前用户的标签,判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;判断的结果通过kudu连接池输出至kudu数据库中保存,kudu数据库定时将数据更新至hive数据库中;
S4.3、消息节点在当前用户满足各种预设的条件后向该用户发送消息进行触达。
在实际应用中,在开始进行决策处理之前,要先进行必要的设置和函数构建。包括先加载配置文件,程序默认的配置文件是decision.properties,设置spark-streaming运行的任务句柄,并设置必要的配置信息,如每个批次的时间间隔。然后构建处理函数,包括数据源读取函数,日志过滤函数,业务处理函数和数据输出函数。其次设置输入配置,本发明的输入源头是kafka队列中的行为日志,这里设置kafka的servers、topic等必要参数。
在本实施例中,步骤S1中,原始数据输入模块使用Direct的方式,开始读取数据。
在本实施例中,如果需要新建、修改、启动或暂停决策树,通过决策树配置模块对相应的决策树进行配置,完成后决策树配置模块将最新的决策树配置解析成通用的json格式保存在Zookeeper中。
在本实施例中,步骤S2中,设定的规则可以包括长度规则和格式规则,数据解析过滤模块根据预设的长度规则和格式规则过滤不符合长度要求和格式要求的数据。
在本实施例中,步骤S4.3中,所述消息节点包括邮件节点和短信节点;邮件节点在当前用户满足各种预设条件后向当前用户发送邮件进行触达,可以支持立即发送、延迟发送、定时发送;短信节点在当前用户满足各种预设条件后向当前用户发送短信进行触达,也可以支持立即发送、延迟发送、定时发送。
在本实施例中,所述决策节点还包括有漏斗节点,当需要进行历史行为日志数据或历史决策结果回溯时,所述漏斗节点根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于规则的实时决策系统,其特征在于,包括:
Kafka平台:用于为决策处理提供实时的用户行为日志数据;
kudu数据库:用于存储用户当天的行为日志数据,以及每批次决策处理的决策结果;
hive数据库:和kudu数据库相关联,用于存储用户的历史行为日志数据和所有历史决策结果;kudu数据库定时将数据更新至hive数据库中;
原始数据输入模块:分别与所述Kafka平台和hive数据库相关联,用于从Kafka平台读取实时的用户的行为日志数据,以及从hive数据库中读取用户的历史行为日志数据或历史决策结果;
数据解析过滤模块:与原始数据输入模块相关联,用于对从原始数据输入模块输入的数据进行解析和过滤,得到用于决策处理的行为日志数据;
决策树配置模块:用于供用户进行包括新建、修改、启动、暂停在内的决策树配置,完成后将决策树配置解析成json格式保存在Zookeeper中;
Zookeeper:和所述决策树配置模块相关联,用于存储最新的决策树配置的信息;
决策树解析器:和Zookeeper相关联,用于监控Zookeeper中所有决策树配置的变化,并从Zookeeper中读取最新的决策树配置并进行解析;
决策森林模块:由一个或多个决策树组成;所述决策森林模块和决策树解析器相关联,决策树解析器将解析后的最新的决策树配置载入决策森林模块中;所述决策树由一个或多个决策节点组成,决策节点用于判断每一条用户的行为日志数据是否触发自身的条件,判断逻辑全部封装在决策节点中进行处理;
连接池:和所述决策森林模块相关联,包括Redis连接池、ES连接池、kudu连接池,所述Redis连接池、ES连接池、kudu连接池分别和Redis数据库、ES数据库和kudu数据库相关联,Redis连接池用于向Redis数据库写入或读取缓存数据,ES连接池用于从ES数据库中访问用户的标签信息,kudu连接池用于将决策结果写入kudu数据库中;
所述决策节点包括群组节点、行为节点、标签节点、消息节点;
所述群组节点用于判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,只有当前用户属于当前决策树配置的用户群,才会进行其他决策节点的处理;每个决策树配置的用户群成员列表保存在Redis数据库中;
所述行为节点用于根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件;
所述标签节点用于判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;
消息节点用于在当前用户满足各种预设的条件后向该用户发送消息进行触达。
2.根据权利要求1所述的基于规则的实时决策系统,其特征在于,所述消息节点包括邮件节点和短信节点;邮件节点用于在当前用户满足各种预设条件后向当前用户发送邮件进行触达;短信节点用于在当前用户满足各种预设条件后向当前用户发送短信进行触达。
3.根据权利要求1所述的基于规则的实时决策系统,其特征在于,所述决策节点还包括有并发节点,所述并发节点用于处理由一个动作满足条件时同时触发多个分支的情况。
4.根据权利要求1所述的基于规则的实时决策系统,其特征在于,所述决策节点还包括有漏斗节点,所述漏斗节点用于根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
5.根据权利要求1所述的基于规则的实时决策系统,其特征在于,所述决策节点还包括统计节点,用于统计每个批次处理的行为日志数据量、解析正确的数据量、过滤后的数据量、触发的数据量、异常的数据量,统计结果输出至hive数据库中。
6.一种利用上述任一权利要求所述的基于规则的实时决策系统进行实时决策的方法,其特征在于,包括如下步骤:
S1、原始数据输入模块从kafka平台中读取实时的用户行为日志数据;
S2、数据解析过滤模块对从原始数据输入模块输入的行为日志数据进行格式解析,转换成设定的格式,并根据设定的规则进行过滤;
S3、决策树解析树监控Zookeeper中的决策树配置是否有变化,如果有变化,则从Zookeeper中读取最新的决策树配置并对其进行解析,转成设定的格式,然后载入决策森林模块中,如果没有变化则直接跳转至步骤S4;
S4、决策森林模块遍历整个决策森林,遍历每个决策树,遍历决策树的每个决策节点进行对用户的行为日志数据进行决策判断;每个决策树中的每个决策节点的决策处理过程为:
S4.1、群组节点首先通过Redis连接池从Redis数据库中读取所在决策树配置的用户群成员列表,判断当前需要进行决策处理的行为日志数据所对应的当前用户是否属于当前决策树配置的用户群,如果是,则跳转至步骤S4.2,否则停止该行为日志数据在本决策树中的决策处理;
S4.2、行为节点根据当前用户的行为日志数据判断当前用户的行为是否符合预设的条件;标签节点通过ES连接池从ES数据库中读取当前用户的标签,判断当前用户的标签是否符合预设的条件,用户的标签由标签系统根据用户每天的行为日志数据每天离线进行更新并缓存到ES数据库中;判断的结果通过kudu连接池输出至kudu数据库中保存,kudu数据库定时将数据更新至hive数据库中;
S4.3、消息节点在当前用户满足各种预设的条件后向该用户发送消息进行触达。
7.根据权利要求6所述的方法,其特征在于,如果需要新建、修改、启动或暂停决策树,通过决策树配置模块对相应的决策树进行配置,完成后决策树配置模块将最新的决策树配置解析成json格式保存在Zookeeper中。
8.根据权利要求6所述的方法,其特征在于,步骤S2中,设定的规则包括长度规则和格式规则,数据解析过滤模块根据预设的长度规则和格式规则过滤不符合长度要求和格式要求的数据。
9.根据权利要求6所述的方法,其特征在于,步骤S4.3中,所述消息节点包括邮件节点和短信节点;邮件节点在当前用户满足各种预设条件后向当前用户发送邮件进行触达;短信节点在当前用户满足各种预设条件后向当前用户发送短信进行触达。
10.根据权利要求6所述的方法,其特征在于,所述决策节点还包括有漏斗节点,当需要进行历史行为日志数据或历史决策结果回溯时,所述漏斗节点根据回溯条件从hive数据库中回溯历史行为日志数据或历史决策结果,决策结果输出模块将符合条件的数据输出至hive数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294029.XA CN109447485B (zh) | 2018-10-31 | 2018-10-31 | 一种基于规则的实时决策系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294029.XA CN109447485B (zh) | 2018-10-31 | 2018-10-31 | 一种基于规则的实时决策系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109447485A true CN109447485A (zh) | 2019-03-08 |
CN109447485B CN109447485B (zh) | 2020-09-04 |
Family
ID=65549719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811294029.XA Active CN109447485B (zh) | 2018-10-31 | 2018-10-31 | 一种基于规则的实时决策系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109447485B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109660A (zh) * | 2019-05-07 | 2019-08-09 | 杭州艾塔科技有限公司 | 一种监测短信触达效果的系统及方法 |
CN110942338A (zh) * | 2019-11-01 | 2020-03-31 | 支付宝(杭州)信息技术有限公司 | 一种营销赋能策略的推荐方法、装置和电子设备 |
CN111191115A (zh) * | 2019-12-10 | 2020-05-22 | 未鲲(上海)科技服务有限公司 | 基于用户数据的信息推送方法及装置 |
CN112434062A (zh) * | 2020-11-26 | 2021-03-02 | 平安普惠企业管理有限公司 | 准实时数据处理方法、装置、服务器及存储介质 |
CN113627963A (zh) * | 2020-05-08 | 2021-11-09 | 浙江华云信息科技有限公司 | 一种电力精细化运营规则库创建方法 |
CN113657779A (zh) * | 2021-08-20 | 2021-11-16 | 杭州时趣信息技术有限公司 | 一种动态配置化的风控决策方法、系统、设备和存储介质 |
CN114897425A (zh) * | 2022-06-07 | 2022-08-12 | 中国工商银行股份有限公司 | 应急数据处理方法、装置和服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
US20140079297A1 (en) * | 2012-09-17 | 2014-03-20 | Saied Tadayon | Application of Z-Webs and Z-factors to Analytics, Search Engine, Learning, Recognition, Natural Language, and Other Utilities |
CN104767813A (zh) * | 2015-04-08 | 2015-07-08 | 江苏国盾科技实业有限责任公司 | 基于openstack的公众行大数据服务平台 |
WO2015108748A1 (en) * | 2014-01-17 | 2015-07-23 | Fair Isaac Corporation | Cloud-based decision management platform |
CN106649455A (zh) * | 2016-09-24 | 2017-05-10 | 孙燕群 | 一种大数据开发的标准化系统归类、命令集系统 |
-
2018
- 2018-10-31 CN CN201811294029.XA patent/CN109447485B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140079297A1 (en) * | 2012-09-17 | 2014-03-20 | Saied Tadayon | Application of Z-Webs and Z-factors to Analytics, Search Engine, Learning, Recognition, Natural Language, and Other Utilities |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
WO2015108748A1 (en) * | 2014-01-17 | 2015-07-23 | Fair Isaac Corporation | Cloud-based decision management platform |
CN104767813A (zh) * | 2015-04-08 | 2015-07-08 | 江苏国盾科技实业有限责任公司 | 基于openstack的公众行大数据服务平台 |
CN106649455A (zh) * | 2016-09-24 | 2017-05-10 | 孙燕群 | 一种大数据开发的标准化系统归类、命令集系统 |
Non-Patent Citations (1)
Title |
---|
罗海艳: "《移动用户网络行为分析与预测方法研究》", 《中国博士学位论文全文数据库(电子期刊)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109660A (zh) * | 2019-05-07 | 2019-08-09 | 杭州艾塔科技有限公司 | 一种监测短信触达效果的系统及方法 |
CN110942338A (zh) * | 2019-11-01 | 2020-03-31 | 支付宝(杭州)信息技术有限公司 | 一种营销赋能策略的推荐方法、装置和电子设备 |
CN111191115A (zh) * | 2019-12-10 | 2020-05-22 | 未鲲(上海)科技服务有限公司 | 基于用户数据的信息推送方法及装置 |
CN111191115B (zh) * | 2019-12-10 | 2022-10-11 | 未鲲(上海)科技服务有限公司 | 基于用户数据的信息推送方法及装置 |
CN113627963A (zh) * | 2020-05-08 | 2021-11-09 | 浙江华云信息科技有限公司 | 一种电力精细化运营规则库创建方法 |
CN113627963B (zh) * | 2020-05-08 | 2024-02-02 | 浙江华云信息科技有限公司 | 一种电力精细化运营规则库创建方法 |
CN112434062A (zh) * | 2020-11-26 | 2021-03-02 | 平安普惠企业管理有限公司 | 准实时数据处理方法、装置、服务器及存储介质 |
CN113657779A (zh) * | 2021-08-20 | 2021-11-16 | 杭州时趣信息技术有限公司 | 一种动态配置化的风控决策方法、系统、设备和存储介质 |
CN113657779B (zh) * | 2021-08-20 | 2024-01-09 | 杭州时趣信息技术有限公司 | 一种动态配置化的风控决策方法、系统、设备和存储介质 |
CN114897425A (zh) * | 2022-06-07 | 2022-08-12 | 中国工商银行股份有限公司 | 应急数据处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109447485B (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109447485A (zh) | 一种基于规则的实时决策系统及方法 | |
CN111835582B (zh) | 物联网巡检设备的配置方法、装置、计算机设备 | |
CN104506338A (zh) | 一种基于决策树的工业以太网网络故障诊断专家系统 | |
CN105426292A (zh) | 一种游戏日志实时处理系统及方法 | |
CN107608862A (zh) | 监控告警方法、监控告警装置及计算机可读存储介质 | |
CN107808306A (zh) | 基于标签库的业务对象的切分方法、电子装置及存储介质 | |
CN107040608A (zh) | 一种数据处理方法及系统 | |
CN108156141A (zh) | 一种实时数据识别方法、装置及电子设备 | |
CN109726941A (zh) | 一种智能终端的自动营销系统及自动营销方法 | |
CN109145027A (zh) | 数据统计方法、装置、设备及计算机可读存储介质 | |
CN107590016A (zh) | 掉电重启识别方法及装置 | |
CN110135815A (zh) | 差旅订单监控方法、装置、计算机设备和存储介质 | |
CN107153702A (zh) | 一种数据处理方法及装置 | |
Kruger et al. | Evaluation of JADE multi-agent system and Erlang holonic control implementations for a manufacturing cell | |
CN112422661A (zh) | 一种工业物联网数据采集集成的系统 | |
CN105763384A (zh) | 银行卡交换中心的运营保障系统 | |
CN116894539A (zh) | 一种服装生产监测方法、系统及介质 | |
CN113342939B (zh) | 数据质量监控方法、装置及相关设备 | |
CN107526935A (zh) | 一种数据统计方法及装置 | |
CN114157679A (zh) | 基于云原生分布式应用监控方法、装置、设备及介质 | |
CN116136801B (zh) | 云平台的数据处理方法、装置、电子设备及存储介质 | |
Ouyang et al. | An intelligent RFID reader and its application in airport baggage handling system | |
CN106817233A (zh) | 一种云计算管理平台告警方法及计量监控平台 | |
CN109727646A (zh) | 基因样本的处理方法及装置、移动终端 | |
CN108038709A (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 100081 No.101, 1st floor, building 14, 27 Jiancai Chengzhong Road, Haidian District, Beijing Patentee after: Beijing PERCENT Technology Group Co.,Ltd. Address before: 100081 16 / F, block a, Beichen Century Center, building 2, courtyard 8, Beichen West Road, Chaoyang District, Beijing Patentee before: BEIJING BAIFENDIAN INFORMATION SCIENCE & TECHNOLOGY Co.,Ltd. |