基于mysql的实时规则匹配方法及系统与流程

文档序号:21461153发布日期:2020-07-14 16:36阅读:175来源:国知局
基于mysql的实时规则匹配方法及系统与流程
本发明涉及计算机
技术领域
,具体地,涉及基于mysql的实时规则匹配方法及系统。
背景技术
:随着业务不断发展,业务规则不断变更,规则类型不断增加,每次规则变化都需要经历四个步骤:业务规则变更->需求开发->测试需求->版本发布,导致需求开发工作量大,工作重复,版本迭代过快,进一步影响系统稳定性。为了减少开发、测试人员的重复性工作,节省开发成本,维护系统稳定性,推出一种适应业务需求的、高度灵活的规则匹配技术方案。本发明的目的,在于充分利用数据库存储数据的实时性,抽象规则匹配逻辑,存储于mysql数据库中,构建稳定、灵活的规则匹配技术方案。通过接口新增、编辑规则匹配逻辑,业务方调用http接口,查询匹配逻辑,返回匹配成功的业务规则,进而减少每次新增规则,就需要重写规则匹配的代码工作量,减少开发、测试人力,精简版本发布,维护系统稳定。技术实现要素:针对现有技术中的缺陷,本发明的目的是提供一种基于mysql的实时规则匹配方法及系统。根据本发明提供的一种基于mysql的实时规则匹配方法,包括:基本环境配置步骤:安装mysql数据库,并创建spring-boot-web项目;规则匹配表结构创建步骤:创建规则匹配表结构;匹配逻辑新增步骤:抽象规则逻辑,通过接口保存规则匹配逻辑数据至规则匹配表;匹配规则接口调用步骤:外部业务系统调用匹配规则接口,返回匹配到的业务规则。优选地,所述抽象规则逻辑是指根据表结构以及每个字段含义,将业务规则抽象,存储于数据库中;所述规则匹配逻辑数据是指按照规则匹配表结构,存储于数据库的每条规则。优选地,所述调用匹配规则接口包括:规则查询步骤:根据自定义的接口参数规则类型rule_type,查询所有可用的规则;规则循环步骤:循环所有可用规则;规则判断步骤:判断当前规则是否有依赖规则,如果没有则执行当前规则;如果有依赖规则,则执行依赖规则;所述执行当前规则:如果sql语句存在,执行配置的sql语句,查询规则判断需要的前提条件,根据sql执行结果和配置的判断条件,返回是否符合该条件,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;如果sql语句不存在,则执行配置的exe_class类,根据判断条件,判断是否符合,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则。优选地,所述循环所有可用规则:循环是指查询出所有的规则后,匹配每条规则,找出符合条件的规则。优选地,所述当前规则是指在循环流程中,当前执行的规则;所述依赖规则是指当前规则依赖于其他规则的执行结果,用依赖规则的执行结果做下一步的判断。根据本发明提供的一种基于mysql的实时规则匹配系统,包括:基本环境配置系统:安装mysql数据库,并创建spring-boot-web项目;规则匹配表结构创建系统:创建规则匹配表结构;匹配逻辑新增系统:抽象规则逻辑,通过接口保存规则匹配逻辑数据至规则匹配表;匹配规则接口调用系统:外部业务系统调用匹配规则接口,返回匹配到的业务规则。优选地,所述抽象规则逻辑是指根据表结构以及每个字段含义,将业务规则抽象,存储于数据库中;所述规则匹配逻辑数据是指按照规则匹配表结构,存储于数据库的每条规则。优选地,所述调用匹配规则接口包括:规则查询系统:根据自定义的接口参数规则类型rule_type,查询所有可用的规则;规则循环系统:循环所有可用规则;规则判断系统:判断当前规则是否有依赖规则,如果没有则执行当前规则;如果有依赖规则,则执行依赖规则;所述执行当前规则:如果sql语句存在,执行配置的sql语句,查询规则判断需要的前提条件,根据sql执行结果和配置的判断条件,返回是否符合该条件,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;如果sql语句不存在,则执行配置的exe_class类,根据判断条件,判断是否符合,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则。优选地,所述循环所有可用规则:循环是指查询出所有的规则后,匹配每条规则,找出符合条件的规则。优选地,所述当前规则是指在循环流程中,当前执行的规则;所述依赖规则是指当前规则依赖于其他规则的执行结果,用依赖规则的执行结果做下一步的判断。与现有技术相比,本发明具有如下的有益效果:本发明基于spring-boot-web项目+mysql数据库的环境,抽象规则匹配逻辑,创建规则匹配表,并通过http接口写入、读取规则匹配逻辑,实现了匹配所有不同类型规则的统一性和灵活性附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明提供的匹配规则接口业务流程示意图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。根据本发明提供的一种基于mysql的实时规则匹配方法,包括:基本环境配置步骤:安装mysql数据库,并创建spring-boot-web项目;规则匹配表结构创建步骤:创建规则匹配表结构;匹配逻辑新增步骤:抽象规则逻辑,通过接口保存规则匹配逻辑数据至规则匹配表;匹配规则接口调用步骤:外部业务系统调用匹配规则接口,返回匹配到的业务规则。具体地,所述抽象规则逻辑是指根据表结构以及每个字段含义,将业务规则抽象,存储于数据库中;所述规则匹配逻辑数据是指按照规则匹配表结构,存储于数据库的每条规则。具体地,所述调用匹配规则接口包括:规则查询步骤:根据自定义的接口参数规则类型rule_type,查询所有可用的规则;规则循环步骤:循环所有可用规则;规则判断步骤:判断当前规则是否有依赖规则,如果没有则执行当前规则;如果有依赖规则,则执行依赖规则;所述执行当前规则:如果sql语句存在,执行配置的sql语句,查询规则判断需要的前提条件,根据sql执行结果和配置的判断条件,返回是否符合该条件,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;如果sql语句不存在,则执行配置的exe_class类,根据判断条件,判断是否符合,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则。具体地,所述循环所有可用规则:循环是指查询出所有的规则后,匹配每条规则,找出符合条件的规则。具体地,所述当前规则是指在循环流程中,当前执行的规则;所述依赖规则是指当前规则依赖于其他规则的执行结果,用依赖规则的执行结果做下一步的判断。本发明提供的基于mysql的实时规则匹配系统,可以通过本发明给的基于mysql的实时规则匹配方法的步骤流程实现。本领域技术人员可以将所述基于mysql的实时规则匹配方法,理解为所述基于mysql的实时规则匹配系统的一个优选例。根据本发明提供的一种基于mysql的实时规则匹配系统,包括:基本环境配置系统:安装mysql数据库,并创建spring-boot-web项目;规则匹配表结构创建系统:创建规则匹配表结构;匹配逻辑新增系统:抽象规则逻辑,通过接口保存规则匹配逻辑数据至规则匹配表;匹配规则接口调用系统:外部业务系统调用匹配规则接口,返回匹配到的业务规则。具体地,所述抽象规则逻辑是指根据表结构以及每个字段含义,将业务规则抽象,存储于数据库中;所述规则匹配逻辑数据是指按照规则匹配表结构,存储于数据库的每条规则。具体地,所述调用匹配规则接口包括:规则查询系统:根据自定义的接口参数规则类型rule_type,查询所有可用的规则;规则循环系统:循环所有可用规则;规则判断系统:判断当前规则是否有依赖规则,如果没有则执行当前规则;如果有依赖规则,则执行依赖规则;所述执行当前规则:如果sql语句存在,执行配置的sql语句,查询规则判断需要的前提条件,根据sql执行结果和配置的判断条件,返回是否符合该条件,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;如果sql语句不存在,则执行配置的exe_class类,根据判断条件,判断是否符合,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则。具体地,所述循环所有可用规则:循环是指查询出所有的规则后,匹配每条规则,找出符合条件的规则。具体地,所述当前规则是指在循环流程中,当前执行的规则;所述依赖规则是指当前规则依赖于其他规则的执行结果,用依赖规则的执行结果做下一步的判断。下面通过优选例,对本发明进行更为具体地说明。优选例1:本发明基于spring-boot-web项目+mysql数据库的环境,抽象规则匹配逻辑,创建规则匹配表,并通过http接口写入、读取规则匹配逻辑,实现匹配所有不同类型规则的统一性和灵活性。技术方案包括下列步骤:(1)配置基本环境:正确安装mysql数据库,以及创建spring-boot-web项目;spring-boot-web项目可以通过ide创建,比如eclipse,new->project->spring-starter-project。(2)创建规则匹配表结构:规则匹配表主要字段见表3.1;规则匹配表就是用来存储抽象出来的规则的。(3)新增匹配逻辑:抽象规则逻辑,通过接口保存规则匹配逻辑数据;抽象规则逻辑是指根据表结构以及每个字段含义,将业务规则抽象,存储于数据库中;规则匹配逻辑数据其实就是指按照表结构,存储于数据库的每条规则。(4)外部业务系统调用匹配规则接口:返回匹配到的业务规则;匹配规则接口主要流程包括:(1)根据接口参数规则类型rule_type,查询所有可用的规则(优先级排序);(2)循环所有可用规则;循环是指查询出所有的规则后,匹配每条规则,找出符合条件的规则。(3)判断当前规则是否有依赖规则,如果没有则执行当前规则;当前规则是指在循环流程中,当前执行的规则;依赖规则是指当前规则依赖于其他规则的执行结果,用依赖规则的执行结果做下一步的判断。(4)执行当前规则:如果sql语句存在,执行配置的sql语句,查询规则判断需要的前提条件,根据sql执行结果和配置的判断条件,返回是否符合该条件,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;(5)执行当前规则:如果sql语句不存在,则执行配置的exe_class类,根据判断条件,判断是否符合,如果符合,则接口直接返回该规则,如果不是,则继续执行下一规则;(6)如果有依赖规则,则执行依赖规则(依赖规则执行流程与普通规则一致,即步骤5、6),否则执行当前规则;(7)如果依赖规则符合条件,则执行当前规则,否则继续执行下一条规则;表3.1规则匹配表主要字段字段名字段说明rule_no规则idrule_type规则类型content规则说明exe_sql执行的sql语句exe_class执行的java类,与exe_sql二者只填写一项param_namesql语句里的参数名,多个用逗号分隔compar_name结果比较的字段名compar_operator结果比较的运算符compar_value结果比较的目标值is_useful是否可用executor结果比较后的执行方法priority优先级depend_item_no依赖规则id匹配规则接口业务流程图如图1所示。在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1