实现自定义业务逻辑规则的方法及系统与流程

文档序号:31129674发布日期:2022-08-13 05:06阅读:177来源:国知局
实现自定义业务逻辑规则的方法及系统与流程

1.本发明涉及计算机应用技术领域,具体地说是一种实现自定义业务逻辑规则的方法及系统。


背景技术:

2.随着瞬息万变的市场情况、客户的个性需求或监管环境的变化调整,企业中业务逻辑也是灵活多变的。传统的信息系统,面对复杂、灵活多变的业务需求,只能通过硬编码的方式将业务策略嵌入到应用系统中,若业务逻辑有了调整,需要经过软件更改、实施更改、测试更改等流程才能应用到客户业务环境中,这一过程开发周期长、实施交付难度大。
3.故如何能够满足灵活多变的业务逻辑,同时降低软件交付难度及运维成本是目前亟待解决的技术问题。


技术实现要素:

4.本发明的技术任务是提供一种实现自定义业务逻辑规则的方法及系统,来解决如何能够满足灵活多变的业务逻辑,同时降低软件交付难度及运维成本的问题。
5.本发明的技术任务是按以下方式实现的,一种实现自定义业务逻辑规则的方法,该方法是通过定义在领域层解析的业务规则控制底层的业务逻辑,对应用层和用户接口层进行统一的业务逻辑控制;同时对实体(entity)的增加、删除、修改及查询和对字段的查看、更新及必填通过支持业务规则的条件表达式进行业务逻辑控制;具体如下:
6.定义业务规则:定义全局业务规则或针对不同角色的岗位设置不同的业务规则;
7.配置业务规则:配置对哪些实体、字段及操作进行业务逻辑控制;
8.通过业务规则控制业务逻辑解析接口:根据传入的规则参数,解析当前用户是否满足对应的操作业务逻辑。
9.作为优选,业务规则采用rolebusinessrules表结构进行定义,rolebusinessrules表结构用于记录全局业务规则或岗位业务规则,全局业务规则在业务系统内必须有且唯一,岗位业务规则在同一业务系统内唯一;
10.rolebusinessrules表结构的属性包括规则id、规则编号、规则名称、岗位、是否全局以及规则描述。
11.作为优选,对实体的业务逻辑控制采用实体业务逻辑配置表(entitybusinessrulesconfig),实体业务逻辑配置表的属性包括规则id、实体、实体查询规则、实体新增规则、实体修改规则以及实体删除规则;其中,统一业务规则中实体唯一。
12.更优地,实体查询规则用于控制是否允许查询到数据以及允许查询到哪些数据;实体查询规则设定为0、1或表达式;其中,0表示不允许查询数据;1表示允许查询数据;表示式表示查询符合业务条件的数据;
13.在设定实体查询规则的前提下,用户查询数据时,根据配置的实体查询规则进行数据过滤;
14.实体新增规则用于控制是否允许新增数据以及允许新增哪些数据;实体新增规则设定为0、1或表达式;其中,0表示不允许新增数据;1表示允许新增数据;表达式表示新增符合业务条件的数据;
15.在设定实体新增规则的前提下,用户保存数据时,根据配置的实体新增规则校验待保存数据是否满足实体数据新增业务逻辑;
16.实体修改规则用于控制是否允许修改数据以及允许修改哪些数据;实体修改规则设定为0、1或表达式;0表示不允许修改数据;1表示允许修改数据;表达式表示修改符合业务条件的数据;
17.在设定实体修改规则的前提下,用户保存数据时,根据配置的实体修改规则校验待保存数据是否满足实体数据修改业务逻辑;
18.实体删除规则用于控制是否删除数据以及允许删除哪些数据;实体删除规则设定为0、1或表达式;0表示不允许删除数据;1表示允许删除数据;表达式表示删除符合业务条件的数据;
19.在设定实体删除规则的前提下,用户保存数据时,根据配置的实体删除规则校验待保存数据是否满足实体数据删除业务逻辑。
20.作为优选,对字段的业务逻辑控制采用字段业务规则配置表(fieldbusinessrulesconfig),字段业务规则配置表用于记录实体上哪些字段进行业务逻辑控制;字段业务规则配置表包括实体规则配置id、字段、字段查看规则、字段修改规则及字段必填规则;字段查看规则、字段修改规则及字段必填规则优先级为:字段查看规则》字段修改规则》字段必填规则;
21.同一字段业务规则中,字段唯一。
22.更优地,所述字段查看规则用于控制是否允许查看到字段的值;字段查看规则设定为0、1或表达式;0表示不允许查看到字段的值;1表示允许查看到字段的值;表达式表示满足业务条件规则的前提下查看到字段的值;
23.在设定字段查看规则的前提下,用户打开数据时,根据配置的字段查看规则进行业务逻辑控制;
24.字段修改规则用于控制字段值是否可修改;字段修改规则设定为0、1或表达式;0表示不允许修改字段的值;1表示允许修改字段的值;表达式表示修改符合业务条件的数据;
25.在设定字段修改规则的前提下,用户保存数据时,根据配置的字段修改规则进行业务逻辑控制;
26.字段必填规则用于控制字段是否必填;字段必填规则设定为0、1或表达式;0表示不控制必填;1表示必填;表达式表示符合业务条件时字段必填;
27.在设定字段必填规则的前提下,用户保存数据时,根据配置的字段必填规则进行校验是否满足字段必填的业务逻辑。
28.作为优选,支持业务规则的条件表达式支持对常量信息、关联表字段信息、业务系统参数信息及会话变量信息进行配置。
29.一种实现自定义业务逻辑规则的系统,该系统包括,
30.定义模块,用于定义全局业务规则或针对不同角色的岗位设置不同的业务规则;
31.配置模块,用于配置对哪些实体、字段及操作进行业务逻辑控制;
32.控制模块,用于通过业务规则控制业务逻辑解析接口,即根据传入的规则参数,解析当前用户是否满足对应的操作业务逻辑。
33.一种电子设备,包括:存储器和至少一个处理器;
34.其中,所述存储器上存储有计算机程序;
35.所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的实现自定义业务逻辑规则的方法。
36.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的实现自定义业务逻辑规则的方法。
37.本发明的实现自定义业务逻辑规则的方法及系统具有以下优点:
38.(一)本发明通过灵活可自定义配置的业务规则控制业务逻辑,极大降低软件交付难度及运维成本;
39.(二)本发明提供了方便、易用、灵活的业务规则配置方法,通过一组业务规则可对应用层和用户接口层进行“统一”的业务逻辑控制,在业务系统数据庞大且业务场景复杂、灵活多变时减少二次开发,极大降低软件交付难度及运维成本。
附图说明
40.下面结合附图对本发明进一步说明。
41.附图1为实现自定义业务逻辑规则的方法的流程框图;
42.附图2为查询应用业务逻辑规则的流程框图;
43.附图3为保存应用业务逻辑规则的流程框图。
具体实施方式
44.参照说明书附图和具体实施例对本发明的实现自定义业务逻辑规则的方法及系统作以下详细地说明。
45.实施例1:
46.如附图1所示,本实施例提供了一种实现自定义业务逻辑规则的方法,该方法是通过定义在领域层解析的业务规则控制底层的业务逻辑,对应用层和用户接口层进行统一的业务逻辑控制;同时对实体(entity)的增加、删除、修改及查询和对字段的查看、更新及必填通过支持业务规则的条件表达式进行业务逻辑控制;具体如下:
47.s1、定义业务规则:定义全局业务规则或针对不同角色的岗位设置不同的业务规则;
48.s2、配置业务规则:配置对哪些实体、字段及操作进行业务逻辑控制;
49.s3、通过业务规则控制业务逻辑解析接口:根据传入的规则参数,解析当前用户是否满足对应的操作业务逻辑。
50.本实施例中的业务规则采用rolebusinessrules表结构进行定义,如下表:
51.列名别名数据类型空值id规则idvarchar(36)ncode规则编号varchar(36)n
name规则名称varchar(36)nrole岗位varchar(36)yoverallsituation是否全局char(1)ndescribe规则描述varchar(255)y
52.rolebusinessrules表结构用于记录全局业务规则或岗位业务规则,全局业务规则在业务系统内必须有且唯一,岗位业务规则在同一业务系统内唯一;
53.rolebusinessrules表结构的属性包括规则id、规则编号、规则名称、岗位、是否全局以及规则描述。
54.本实施例中的对实体的业务逻辑控制采用实体业务逻辑配置表(entitybusinessrulesconfig),如下表:
[0055][0056][0057]
实体业务逻辑配置表的属性包括规则id、实体、实体查询规则、实体新增规则、实体修改规则以及实体删除规则;其中,统一业务规则中实体唯一。
[0058]
本实施例中的实体查询规则用于控制是否允许查询到数据以及允许查询到哪些数据;实体查询规则设定为0、1或表达式;其中,0表示不允许查询数据;1表示允许查询数据;表示式表示查询符合业务条件的数据;
[0059]
在设定实体查询规则的前提下,用户查询数据时,根据配置的实体查询规则进行数据过滤,如附图2所示。
[0060]
本实施例中的实体新增规则用于控制是否允许新增数据以及允许新增哪些数据;实体新增规则设定为0、1或表达式;其中,0表示不允许新增数据;1表示允许新增数据;表达式表示新增符合业务条件的数据;
[0061]
在设定实体新增规则的前提下,用户保存数据时,根据配置的实体新增规则校验待保存数据是否满足实体数据新增业务逻辑,如附图3所示。实体新增规则是配置到实体上,实际控制的是数据。
[0062]
本实施例中的实体修改规则用于控制是否允许修改数据以及允许修改哪些数据;实体修改规则设定为0、1或表达式;0表示不允许修改数据;1表示允许修改数据;表达式表示修改符合业务条件的数据;
[0063]
在设定实体修改规则的前提下,用户保存数据时,根据配置的实体修改规则校验待保存数据是否满足实体数据修改业务逻辑。实体修改规则是配置到实体上的,实际控制的是数据。
[0064]
本实施例中的实体删除规则用于控制是否删除数据以及允许删除哪些数据;实体删除规则设定为0、1或表达式;0表示不允许删除数据;1表示允许删除数据;表达式表示删
除符合业务条件的数据;
[0065]
在设定实体删除规则的前提下,用户保存数据时,根据配置的实体删除规则校验待保存数据是否满足实体数据删除业务逻辑,如附图3所示。实体删除规则是配置到实体上的,实际控制的是数据。
[0066]
本实施例对字段的业务逻辑控制采用字段业务规则配置表(fieldbusinessrulesconfig),如下表:
[0067]
列名别名数据类型空值entityruleconfigid实体规则配置idvarchar(36)nfield字段varchar(36)nqueryrule查看规则varchar(2000)nupdaterule修改规则varchar(2000)nrequiredrule必填规则varchar(2000)n
[0068]
字段业务规则配置表用于记录实体上哪些字段进行业务逻辑控制;字段业务规则配置表包括实体规则配置id、字段、字段查看规则、字段修改规则及字段必填规则;字段查看规则、字段修改规则及字段必填规则优先级为:字段查看规则》字段修改规则》字段必填规则;
[0069]
同一字段业务规则中,字段唯一。
[0070]
本实施例中的字段查看规则用于控制是否允许查看到字段的值;字段查看规则设定为0、1或表达式;0表示不允许查看到字段的值;1表示允许查看到字段的值;表达式表示满足业务条件规则的前提下查看到字段的值;
[0071]
在设定字段查看规则的前提下,用户打开数据时,根据配置的字段查看规则进行业务逻辑控制。
[0072]
本实施例中的字段修改规则用于控制字段值是否可修改;字段修改规则设定为0、1或表达式;0表示不允许修改字段的值;1表示允许修改字段的值;表达式表示修改符合业务条件的数据;
[0073]
在设定字段修改规则的前提下,用户保存数据时,根据配置的字段修改规则进行业务逻辑控制。
[0074]
本实施例中的字段必填规则用于控制字段是否必填;字段必填规则设定为0、1或表达式;0表示不控制必填;1表示必填;表达式表示符合业务条件时字段必填;
[0075]
在设定字段必填规则的前提下,用户保存数据时,根据配置的字段必填规则进行校验是否满足字段必填的业务逻辑,如附图3所示。
[0076]
本实施例中的支持业务规则的条件表达式支持对常量信息、关联表字段信息、业务系统参数信息及会话变量信息进行配置。
[0077]
实施例2:
[0078]
crm中需要实现灵活多变的业务逻辑规则,这种业务规则每个客户都不尽相同,导致项目交付难度极大,比如:
[0079]
企业类型为“客户”的企业,业务员必须是负责人才能查看和修改;企业类型为“合作伙伴”的企业,销售区域内的业务员能查看,但不能修改;企业类型为“竞争对手”的企业,可以被所有业务员查看,但不能修改其核心信息,只能补充其情报内容
[0080]
具体实施方式:
[0081]
(1)、为业务员所属岗位定义业务规则,例如为业务员0001所属的销售人员岗位设置业务规则;
[0082]
(2)、为企业实体(例如:enterprise)的操作及字段设置业务规则;
[0083]

、为企业实体(例如:enterprise)的查看操作设置业务规则:
[0084]
(enterprise.类型=’客户’and enterprise.负责人=@当前业务员)or(enterprise.类型=’合作伙伴’and enterprise.所属销售区域=@当前业务员所属销售区域)or(enterprise.类型=’竞争对手’);
[0085]

、为企业实体(例如:enterprise)的修改操作设置业务规则:
[0086]
(enterprise.类型=’客户’and enterprise.负责人=@当前业务员)or(enterprise.类型=’竞争对手’);
[0087]

为企业实体(例如:enterprise)的核心信息字段设置修改业务规则:
[0088]
(enterprise.类型!=’竞争对手’);
[0089]
(3)、业务员0001查询企业数据时,将解析后的业务规则加入查询前的过滤条件中,如附图2所示;
[0090]
(4)、业务员0001修改数据保存时,将解析后的业务规则在保存前校验修改前的数据及修改后的数据是否满足设置的业务逻辑规则,任意一方数据不满足,不允许保存数据,如附图3所示。
[0091]
实施例3:
[0092]
本实施例提供了一种实现自定义业务逻辑规则的系统,该系统包括,
[0093]
定义模块,用于定义全局业务规则或针对不同角色的岗位设置不同的业务规则;
[0094]
配置模块,用于配置对哪些实体、字段及操作进行业务逻辑控制;
[0095]
控制模块,用于通过业务规则控制业务逻辑解析接口,即根据传入的规则参数,解析当前用户是否满足对应的操作业务逻辑。
[0096]
实施例4:
[0097]
本实施例还提供了一种电子设备,包括:存储器和处理器;
[0098]
其中,存储器存储计算机执行指令;
[0099]
处理器执行所述存储器存储的计算机执行指令,使得处理器执行本发明任一实施例中的实现自定义业务逻辑规则的方法。
[0100]
处理器可以是中央处理单元(cpu),还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通过处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0101]
存储器可用于储存计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器还可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,只能存储卡(smc),安全数字(sd)卡,闪存卡、至少一个磁盘存储期间、闪存器件、或其他
易失性固态存储器件。
[0102]
实施例5:
[0103]
本实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的实现自定义业务逻辑规则的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0104]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0105]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-rym、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0106]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0107]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0108]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1