数据处理方法及系统的制作方法

文档序号:9865522阅读:258来源:国知局
数据处理方法及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机领域,尤其涉及一种数据处理方法及系统。
【背景技术】
[0002] 随着电子商务业务的发展,会遇到如下两个问题;(1)业务的规则和分支越来越 复杂,不同类型的规则有不同的执行顺序,多个分支如何选择等问题,靠代码中的if else 指令来维护是一个非常棘手的问题,因为分支越来越多,如何让分支按指定顺序执行,多个 分支如何决策,会使指令if else逻辑非常复杂,对于在嵌套的业务上容易执行出错;(2) 业务发展速度快,业务分支逻辑处理硬编码,稳定的日常需求迭代无法快速响应业务变更, 会影响业务正常运行和发展,频繁变更系统并上线运行成本高,而且影响系统的稳定性,系 统迭代变更无法满足业务需求灵活发展,业务人员对相关的分支逻辑处理是黑盒,不易于 业务维护。
[0003] 现有技术中,是采用规则引擎化ools,是解决应用程序业务逻辑的开发和维护的 框架,对复杂的业务分支逻辑和后续处理一种声明式配置,将java代码直接嵌入到规则文 件中,来满足业务的发展。规则引擎将业务决策也从程序代码中抽离出来,实现规则变化和 配置,每次发布规则都要根据模板重新编译一个规则引擎文件,并加载到内存中。
[0004] 但是随着业务发展,业务中规则越来越多,分支规则逐渐增多,无法根据业务场景 进行分组管理,每次分析数据时,所有的规则都得运行,系统运行效率越来越低,耗时。因此 传统的化ools无法满足不断增长的业务需求,业务发展出现瓶颈,耗费系统资源,成本高。

【发明内容】

[0005] 本发明的目的是提供一种数据处理方法及系统,W解决现有技术中存在的无法满 足不断增长的业务需求、耗费资源、效率低和成本高等问题。
[0006] 为实现上述目的,一方面,本发明提供了一种数据处理方法,所述方法包括;接收 客户端发送的事件,所述事件包括数据;将所述数据输入至规则树中进行分析,所述规则树 包括多个节点,所述节点包含有规则集合;将所述规则树的节点输入至队列;判断所述队 列是否存在节点;当所述队列存在节点时,获取队列中的第一节点为当前节点,并将所述当 前节点的规则集合输入至待筛选集合;判断所述当前节点是否包括子节点;当所述当前节 点包括子节点时,获取满足条件的子节点;将所述满足条件的子节点输入至所述队列。
[0007] 另一方面,本发明提供了一种数据处理系统,所述系统包括:接收单元,用于接收 客户端发送的事件,所述事件包括数据;分析单元,用于将所述数据输入至规则树中进行分 析,所述规则树包括多个节点,所述节点包含有规则集合;输入单元,用于将所述规则树的 节点输入至队列;第一判断单元,用于判断所述队列是否存在节点;处理单元,用于当所述 队列存在节点时,获取队列中的第一节点为当前节点,并将所述当前节点的规则集合输入 至待筛选集合;第二判断单元,用于判断所述当前节点是否包括子节点;获取单元,用于当 所述当前节点包括子节点时,获取满足条件的子节点;所述输入单元还用于将所述满足条 件的子节点输入至所述队列。
[0008] 本发明实施例提供的数据处理方法,将数据输入至规则树中进行分析,将规则树 的节点输入至队列,W筛选出满足场景的规则的数据,提高了系统的稳定性和扩展性,避免 受到业务增长带来的影响,有利于业务的发展;当队列存在节点时,将当前节点的规则集合 输入至待筛选集合,当当前节点包括子节点时,获取满足条件的子节点,将满足条件的子节 点输入至队列,缩小了数据规则集合,避免浪费资源,节省成本,提高了系统的运行效率。
【附图说明】
[0009] 图1为本发明实施例一提供的数据处理方法流程图;
[0010] 图2为本发明实施例一提供的规则树示意图;
[0011] 图3为本发明实施例二提供的数据处理方法具体流程图;
[0012] 图4为本发明实施例Η提供的数据处理系统示意图。
【具体实施方式】
[0013] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0014] 本发明实施例中提供的数据处理方法,首先获取客户端发送的事件,然后通过规 则树筛选出要运行的待筛选规则集合,再运行规则引擎时调用待筛选规则集合。该方法是 规则引擎运行前置,在规则引擎运行前,加入规则预筛选优化,缩小规则运行集合,对业务 发展中的规则逐渐增加对系统带来的稳定性影响大大降低,系统运行性能有较大提升。解 决了传统化ools支持大规模规则运行能力有限的问题。通过规则树对规则集合进行建模, 并通过广度优先遍历筛选待运行规则集合,对业务规则管理和规则引擎运行优化,使业务 人员对规则管理更便捷,规则引擎运行更稳定。调用规则引擎指定规则运行,规则引擎可 快速找到规则进行运行,得到规则条件的值,相比化ools加载规则文件逐个遍历的运行流 程,性能有较高程度提升。
[0015] 本发明实施例提供的数据处理方法,通过公共的JAVA规则引擎平台,W JAVA脚本 实现规则逻辑运算,及灵活的配置管理页面,使业务可W灵活配置规则,同时在规则引擎中 引入规则路由来预先筛选规则,W过滤不需要运行的规则W提高规则引擎运行效率,另外 使业务上对整个规则有清晰的概览,方便对整个规则集合的运营把控。通过采用规则树结 构对规则进行分层分类建模,同时对规则树结构进行改进,在规则树的父节点和子节点连 接边上增加条件,W此条件作为广度优先遍历判断节点是否满足边条件,如果满足,则将节 点中的规则集合放入待筛选规则集合,从而对规则树进行广度优先遍历,得到筛选后的规 则集合。
[001引 实施例一
[0017] 下面W图1为例详细说明本发明实施例一提供的数据处理方法,图1为本发明实 施例一提供的数据处理方法流程图,在本发明实施例中实施主体可W为服务器,也可W为 客户端,或执行本发明方法所描述的步骤中的插件或者组件。如图1所示,该方法包括如下 步骤:
[0018] 步骤101、接收客户端发送的事件,所述事件包括数据。
[0019] 送里的客户端可W是支付宝客户端、淘宝客户端或电子邮件客户端等。
[0020] 送里的事件可W是交易事件或登录事件,或者是进行规则监控的操作事件。
[0021] 执行主体除了可W为服务器,还可W为客户端,或者是执行本发明方法所描述的 步骤中的插件或者组件,具体地可W是规则引擎中的组件。组件接收客户端发送的事件,所 述事件包括业务数据。
[0022] 例如;用户在支付宝客户端登录支付宝,产生一个登录事件,规则引擎中的组件接 收客户端发送的登录事件,该登录事件可W包括登录的账号、时间和地点等等数据。
[0023] 步骤102、将所述数据输入至规则树中进行分析。
[0024] 所述规则树包括多个节点,所述节点包含有规则集合。规则树中的节点与节点之 间由边来连接,每个节点之间的边都定义了规则路由的业务边条件,具体参见图2所示的 规则树。
[00巧]规则树是针对业务场景组织的监控树的框架,可W根据不同场景粒度对场景进行 分层管理,便于整个规则集合的维护,方便管理业务的规则集合,对业务规则的监控有整体 的控制。树的结构中各个节点可W按业务场景命名,然后针对整个规则集合N进行划分,将 规则放在场景节点,规则可W放在多个分组中,分组后的各个子集NX组成了规则的全集N, N={N1,N2,N3,M,…},化是规则树的各个节点包含的规则集合,节点如A,B,C,D,…。
[0026] 可选地,节点还包括号码ID,用W查找节点的子节点。
[0027] 每个场景节点中除了有其规则集合,还需要节点ID,父节点到该节点的边条件,ID 用于查找节点的子节点,用于在广度优先遍历规则树时,运行条件判断节点到子节点是否 可达。
[002引下面描述的是规则树的结构,W及规则树中节点的结构:
[0029] (1)规则树结构:
[0030] MonitorTree :
[0031] riskThemeld:场景 ID
[0032] rootNode ;Monito;rTreeNode 类型的根节点
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1