技术领域
[0001] 本发明涉及数据分析装置,更具体地,涉及基于分析规则树的数据分析装置。
相关背景技术
[0002] 目前,随着信息数据处理需求的日益增长以及不同领域的业务种类的日益丰富,基于预定的分析规则进行数据分析变得越来越重要。
[0003] 在现有的技术方案中,数据分析的基本过程如下:(1)预先设定分析规则;(2)判定接收到的输入参数是否满足该分析规则;(3)如果满足该分析规则,则触发预定的动作。
[0004] 然而,现有的技术方案存在如下问题:由于难于对各个分析规则之间的关联性进行有效的管理,故存在分析规则的冗余,从而导致分析规则的复用率较低,并进而致使系统的维护、扩展以及升级变得困难。
[0005] 因此,存在如下需求:提供能够对分析规则进行有效复用并且易于维护和扩展的基于分析规则树的数据分析装置。
具体实施方式
[0022] 图1是根据本发明的实施例的数据分析装置的示意性结构图。如图1所示,本发明所公开的数据分析装置包括事件处理单元1、数据分析单元2、用户接口3以及存储单元4。其中,所述事件处理单元1接收外部应用(例如业务逻辑)所触发的事件(示例性地,所述事件可以由某个函数的调用或到达业务流程中的某个节点产生),并确定是否存在与该规则事件相关联的分析规则树,如果存在与该规则事件相关联的分析规则树,则将所述事件传送到数据分析单元2,其中,所述事件包含事件参数,并且所述分析规则树定义各个分析规则以及各个分析规则之间的关联关系。数据分析单元2基于与所接收到的事件相关联的分析规则树执行数据分析操作,并将分析结果传送回所述外部应用,其中,该事件的事件参数被用作该分析规则树的输入参数。所述用户接口3用于根据用户指令配置所述分析规则树。所述存储单元4用于存储所述分析规则树。
[0023] 优选地,在本发明所公开的数据分析装置中,所述数据分析单元2进一步用于根据用户预定的修正规则对所述分析结果进行修正,并将经修正的分析结果传送回所述外部应用,其中,用户能够经由所述用户接口3配置所述修正规则。
[0024] 优选地,在本发明所公开的数据分析装置中,所述分析规则树是只有一个根节点的多叉树。
[0025] 优选地,在本发明所公开的数据分析装置中,所述分析规则树中的每个节点定义一个分析规则,并且各个节点之间的父子和/或兄弟关系定义各个分析规则之间的关联关系(例如“与”关系、“或”关系等等)。
[0026] 优选地,在本发明所公开的数据分析装置中,所述分析规则树中的每个节点至少包含下列元素:规则条件和规则动作,所述规则条件定义满足该条分析规则的条件,所述规则动作定义当该条分析规则的条件被满足时所执行的动作。
[0027] 优选地,在本发明所公开的数据分析装置中,所述规则条件进一步包括下列元素:输入参数、输出参数、实现类型以及实现地址,其中所述输入参数是该节点所要分析的数据(即事件的事件参数),所述输出参数是所述输入参数是否满足所述规则条件的判别结果数据(例如True表示满足所述规则条件),所述实现类型指示所述规则条件的实现类型(例如条件表达式),所述实现地址指示实施所述规则条件判别的实体的地址(例如URL)。
[0028] 优选地,在本发明所公开的数据分析装置中,所述规则动作进一步包括下列元素:输入参数、输出参数、实现类型以及实现地址,其中所述输入参数是该节点所要分析的数据(即事件的事件参数),所述输出参数是该规则动作被执行后的结果数据(例如,针对校验类规则,输出参数为校验信息的说明,而针对变更类规则,输出参数为对业务数据变更后的数据),所述实现类型指示所述规则动作的实现类型,所述实现地址指示实施所述规则动作的实体的地址(例如URL)。
[0029] 优选地,在本发明所公开的数据分析装置中,如果所述规则条件被满足,则随之由所述规则动作的实现地址所指向的实体执行预定的动作,并将执行后的结果数据经修正后传送回所述外部应用。
[0030] 优选地,在本发明所公开的数据分析装置中,所述规则动作执行后的结果数据指示告警级别,所述告警级别是下列中的一个:通过级别、提示级别、限制级别以及致命错误级别。
[0031] 优选地,在本发明所公开的数据分析装置中,所述数据分析单元2能够根据用户预定的修正规则对结果数据所指示的告警级别进行修正(例如将提示级别降低到通过级别)。
[0032] 优选地,在本发明所公开的数据分析装置中,所述数据分析单元2以如下方式执行数据分析操作:从分析规则树的根节点开始以前序遍历的方式遍历该分析规则树的节点(即针对每一个遍历到的节点,如果规则条件不被满足,则判断是否有兄弟节点,如果有兄弟节点,则循环之前节点所进行的一系列逻辑,而如果规则条件被满足并且对应的规则动作执行后返回的告警级别经修正后低于“限制级别”(即表示允许执行后续的业务逻辑),则判断是否有儿子节点,如果有则循环之前节点进行的一系列逻辑,否则判断是否有兄弟节点,如果有,同样循环之前节点进行的一系列逻辑,否则继续寻找当前节点的上一层节点的兄弟节点,依次遍历整棵树,直至完成所有节点的遍历),其中,事件的事件参数被用作该分析规则树的输入参数。
[0033] 优选地,在本发明所公开的数据分析装置中,针对每一个遍历到的节点,当规则条件被满足并且对应的规则动作执行后返回的告警级别经修正后低于“限制级别”(即表示允许执行后续的业务逻辑)时,继续进行前序遍历过程。
[0034] 优选地,在本发明所公开的数据分析装置中,针对每一个遍历到的节点,如果规则条件被满足并且对应的规则动作执行后返回的告警级别经修正后高于“限制级别”(即表示拒绝执行后续的业务逻辑),则终止数据分析操作。
[0035] 示例性地,在本发明所公开的数据分析装置中,实施所述规则动作和/或所述规则条件判别的实体由脚本语言(例如JavaScript)实现,并且所述实现地址是所述脚本语言的保存路径。
[0036] 可替代地,在本发明所公开的数据分析装置中,实施所述规则动作和/或所述规则条件判别的实体由静态语言(例如Java、C++等等)实现,并且所述实现地址是所述静态语言形成的可执行文件的路径。
[0037] 可替代地,在本发明所公开的数据分析装置中,实施所述规则动作和/或所述规则条件判别的实体由结构化查询语言(例如PL/SQL、T-SQL等等)实现,并且所述实现地址是所述结构化查询语言形成的存储过程名。
[0038] 由上可见,本发明所公开的数据分析装置具有下列优点:优于使用了分析规则树,并且实现了规则条件和规则动作的分离以及松耦合性(即通过节点将规则条件和规则动作内聚),从而显著地提高了分析规则的复用率以及配置灵活性,并进而使得系统易于维护、扩展以及升级。
[0039] 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。