CN103019726B - 软件系统业务规则的管理方法和装置 - Google Patents

软件系统业务规则的管理方法和装置 Download PDF

Info

Publication number
CN103019726B
CN103019726B CN201210555715.4A CN201210555715A CN103019726B CN 103019726 B CN103019726 B CN 103019726B CN 201210555715 A CN201210555715 A CN 201210555715A CN 103019726 B CN103019726 B CN 103019726B
Authority
CN
China
Prior art keywords
business
rule
data
business rules
business rule
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.)
Active
Application number
CN201210555715.4A
Other languages
English (en)
Other versions
CN103019726A (zh
Inventor
张艳辉
李淑惠
李振宇
郑扬飞
贾晓霞
何岩
郭红钰
王非
徐超
葛洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN201210555715.4A priority Critical patent/CN103019726B/zh
Publication of CN103019726A publication Critical patent/CN103019726A/zh
Application granted granted Critical
Publication of CN103019726B publication Critical patent/CN103019726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种软件系统业务规则的管理方法和装置。本发明中,对业务系统中所有的业务规则进行归纳和抽象以形成数据字典;接收用户通过数据访问接口将输入的业务规则,并对获取的用户根据所述数据字典输入的业务规则进行校验;根据该映射关系表,将自然语言的业务规则与自动翻译为对应的代码或脚本。规则引擎通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则数据进行测试和比对,以激活符合当前数据的状态的业务规则。规则引擎根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作。本发明可以更为简单地自行定义或修改业务规则,提高用户的工作效率。

Description

软件系统业务规则的管理方法和装置
技术领域
本发明涉及计算机软件系统技术领域,特别涉及一种软件系统业务规则的管理方法和装置。
背景技术
业务规则管理技术是现代业务软件系统的关键技术之一,可以很好的解决业务规则灵活多变、管理不易的难题。随着计算机软件技术的发展,业务规则在软件系统中的角色和作用日趋重要。越来越多的业务规则已经进入软件系统,很好的提高了软件系统的用户的工作效率,减少了工作差错。
现有技术中有些企业的没有信息系统,业务规则大多数存储在程序手册、客户合同、供应商协议等非结构化的文档中,或是完全依靠人工管理。作为描述企业最重要特征的业务逻辑没有被有效地管理和使用,导致好的经验无法积累,差的经验无法总结。
而现有技术中还有些企业的信息系统是将业务规则的逻辑作为一个过程写进了程序代码中,当业务和需求发生变化的时候不能做出相应的响应变化,必须大规模的修改原有的程序代码,修改和维护的成本都相当高,带来极大的不便。
发明内容
本发明要解决的技术问题是提供一种软件系统业务规则的管理方法和装置,能够通过数据编码转换将自然语言映射为计算能可识别的脚本并存储在数据库中,并利用自动翻译后的业务规则以及业务数据的组合,通过规则引擎来进行业务逻辑的控制。
为解决上述技术问题,根据本发明的一个方面,提供了一种软件系统业务规则的管理方法,包括:
对业务系统中所有的业务规则进行归纳和抽象以形成数据字典;
获取业务规则数据与编码的映射关系表;
将所述数据字典以自然语言形式显示给用户;
接收根据所述数据字典的数据访问接口输入的业务规则,并对业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷;
根据该映射关系表,将自然语言的业务规则自动翻译为对应的代码或脚本;
规则引擎通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则进行测试和比对,以激活符合当前数据的状态的业务规则;
规则引擎根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作。
进一步,所述映射关系表为一哈希列表。
进一步,所述方法还包括:
当用户增加了新的业务规则或对现有的业务规则进行了修改,将该新的业务规则和/或修改保存在数据库中。
进一步,所述方法还包括:
当所述应用程序启动时将该规则引擎和映射关系表都加载到内存中。
根据本发明的另一个方面,还提供了一种软件系统业务规则的管理装置,包括:
用户界面,用于对业务系统中所有的业务规则进行归纳和抽象以形成数据字典,将所述数据字典以自然语言形式显示给用户;并将所述数据字典进行编码以获取业务规则数据与编码的映射关系表;
访问接口,用于接收用户通过用户界面的数据字典的数据访问接口将输入的业务规则,和/或对业务规则的修改,并对获取的用户根据所述数据字典输入的业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷;
翻译模块,用于根据映射关系表实现自然语言的业务规则与代码或脚本之间的自动翻译;
规则引擎,用于通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则数据进行测试和比对,以激活符合当前数据的状态的业务规则;还用于根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作;
读写模块,用于存储和读取业务规则,以及业务规则与代码或脚本之间的映射关系表。
进一步,所述映射关系表为一哈希列表。
进一步,所述读写模块还用于当用户增加了新的业务规则或对现有的业务规则进行了修改,将该新的业务规则和/或修改保存在数据库中。
进一步,所述装置还包括:加载模块,用于当所述应用程序启动时将该规则引擎和映射关系表都加载到内存中。
本发明的上述技术方案的有益效果如下:
这样用户可以更为简单地自行定义或修改业务规则,完全对用户屏蔽系统后台的运行和操作,从而能够极大的解放技术人员和用户。由普通用户自行定义业务规则并完成业务规则的校验后保存在数据库中,在软件运行过程中可以动态的修改业务规则而不依赖于程序研发人员。本发明实施例中,普通用户使用自然语言定义的业务规则翻译方法,使用数据字典及正则表达式、字符串处理等方式将自然语言翻译成能够被规则引擎识别的脚本或程序代码方法,在需要的时候启动规则引擎,调用业务数据和业务规则执行相应的业务操作。这样能够让普通用户使用自己熟悉的自然语言定义业务规则并校验、保存,而不必依赖于程序开发人员,并且可以在系统不停机的状态下新增或修改业务规则,不影响系统运行,有利于提高工作效率。
附图说明
图1为本发明实施例的软件系统业务规则的管理方法的流程示意图;
图2为本发明实施例的软件系统业务规则的管理装置的结构示意图;
图3为图2的软件系统业务规则的管理装置的工作方式示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例针对现有的业务规则大多数存储在程序手册、客户合同、供应商协议等非结构化的文档中或是完全依靠人工管理,导致作为描述企业最重要特征的业务逻辑没有被有效地管理和使用的问题,提供了一种软件系统业务规则的管理方法和装置。
基于目前软件开发中流行的MVC架构,用于实现本发明的软件也可以分为View层、Controller层和Model层。由上至下,业务规则管理界面、业务规则控制与翻译和业务规则存储功能分布在不同层级中。普通用户界面位于Model层,普通用户使用该界面编辑业务规则并可以校验定义的业务规则是否合法。Controller是该业务规则管理方法中最核心的部分,业务规则的翻译、校验等功能由Controller层完成,规则引擎启动、按照设定的条件触发业务规则也在该层完成。业务规则由Model层负责存储和读取。
本发明实施例的方法流程如图1所示的,具体包括:
步骤1、对业务系统中所有的业务规则进行归纳和抽象以形成数据字典,将所述数据字典以自然语言形式显示给用户;获取业务规则数据与编码的映射关系表。
由于业务规则是描述和约束业务的语句,用来刻画业务的结构或控制和影响业务的行为,业务规则的理论基础是:设置一个条件集合,当满足这个条件集合时候,触发一个或者多个动作,因此业务规则是可以被归纳和抽象的,归纳和抽象之后的业务规则的条件集合使用数据字典管理。其中,由于该数据字典界面涉及到大量的数据字典的展示和业务规则编辑,因此该界面的复杂性非常高,所以在本发明的一个实施方式中该界面采用AJAX技术设计。
其中,所述映射关系表为一哈希列表。
步骤2、接收根据所述数据字典的数据访问接口输入的业务规则,并对业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷。
步骤3、根据该映射关系表,将自然语言的业务规则自动翻译为对应的代码或脚本。
步骤4、规则引擎通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则数据进行测试和比对,以激活符合当前数据的状态的业务规则。
在步骤4中,可以在该应用程序启动时就将该规则引擎和映射关系表都加载到内存中。
步骤5、规则引擎根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作。
在本发明的上述方法中,如果用户增加了新的业务规则或对现有的业务规则进行了修改,将该新的业务规则和/或修改保存在数据库中。
本发明主要使用规则引擎,并使用由程序自动翻译后并保存在数据库中的业务规则,以及业务数据的组合进行业务逻辑的控制,通过对业务规则的抽象和归纳后,可以有效的减少编码量,解放程序研发人员的劳动,使程序研发人员可以专注于技术的实现而不必拘泥于复杂的业务逻辑。
本发明实施例的装置,其结构如图2所示的,具体包括:view层的用户界面21、访问接口22,controller层的翻译模块23和规则引擎24,Model层的读写模块25。其中,
用户界面21,用于对业务系统中所有的业务规则进行归纳和抽象以形成数据字典,将所述数据字典以自然语言形式显示给用户;并将所述数据字典进行编码以获取业务规则数据与编码的映射关系表。
由于业务规则是描述和约束业务的语句,用来刻画业务的结构或控制和影响业务的行为,业务规则的理论基础是:设置一个条件集合,当满足这个条件集合时候,触发一个或者多个动作,因此业务规则是可以被归纳和抽象的,归纳和抽象之后的业务规则的条件集合使用数据字典管理。其中,由于该数据字典界面涉及到大量的数据字典的展示和业务规则编辑,因此该界面的复杂性非常高,所以在本发明的一个实施方式中该界面采用AJAX技术设计。
其中,所述映射关系表为一哈希列表。
访问接口22,用于接收用户通过用户界面21的数据字典的数据访问接口将输入的业务规则,和/或对业务规则的修改,并对获取的用户根据所述数据字典输入的业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷。
翻译模块23,用于根据映射关系表实现自然语言的业务规则与代码或脚本之间的自动翻译。
规则引擎24,用于通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则数据进行测试和比对,以激活符合当前数据的状态的业务规则。还用于根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作。
读写模块25,用于存储和读取业务规则,以及业务规则与代码或脚本之间的映射关系表。
加载模块(图中未示出),用于当所述应用程序启动时将该规则引擎和映射关系表都加载到内存中。
具体的,本发明实施例的装置,其工作流程可以如图3所示的。view层的用户界面21和访问接口22用来接收用户的规则,并将结果展示给用户。controller层的翻译模块23负责业务规则的翻译,规则引擎24负责激活符合当前数据的状态的业务规则,并根据业务规则对应的执行逻辑触发应用程序进行相应操作。Model层的读写模块25用于存储和读取业务规则,以及业务规则与代码或脚本之间的映射关系表。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种软件系统业务规则的管理方法,其特征在于,包括:
对业务系统中所有的业务规则进行归纳和抽象以形成数据字典;
获取业务规则数据与编码的映射关系表;
将所述数据字典以自然语言形式显示给用户;
接收根据所述数据字典的数据访问接口输入的业务规则,并对业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷;
根据该映射关系表,将自然语言的业务规则自动翻译为对应的代码或脚本;
规则引擎通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则进行测试和比对,以激活符合当前数据的状态的业务规则,其中,当所述应用程序启动时将该规则引擎和映射关系表都加载到内存中;
规则引擎根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作。
2.根据权利要求1所述的软件系统业务规则的管理方法,其特征在于,所述映射关系表为一哈希列表。
3.根据权利要求1所述的软件系统业务规则的管理方法,其特征在于,所述方法还包括:
当用户增加了新的业务规则或对现有的业务规则进行了修改,将该新的业务规则和/或修改保存在数据库中。
4.一种软件系统业务规则的管理装置,其特征在于,包括:
用户界面,用于对业务系统中所有的业务规则进行归纳和抽象以形成数据字典,将所述数据字典以自然语言形式显示给用户;并将所述数据字典进行编码以获取业务规则数据与编码的映射关系表;用于接收用户通过用户界面的数据字典的数据访问接口输入的业务规则,和/或对业务规则的修改,并对获取的用户根据所述数据字典输入的业务规则进行校验;如果校验失败,则提示所述用户输入的业务规则合法性和/或有效性存在缺陷;
翻译模块,用于根据映射关系表实现自然语言的业务规则与代码或脚本之间的自动翻译;
规则引擎,用于通过嵌入应用程序中的组件在应用程序中设置一工作区,并在该工作区中将当前的数据与映射关系表中的业务规则数据进行测试和比对,以激活符合当前数据的状态的业务规则;还用于根据所述业务规则对应的执行逻辑,触发应用程序进行相应操作;
读写模块,用于存储和读取业务规则,以及业务规则与代码或脚本之间的映射关系表;
加载模块,用于当所述应用程序启动时将该规则引擎和映射关系表都加载到内存中。
5.根据权利要求4所述的软件系统业务规则的管理装置,其特征在于,所述映射关系表为一哈希列表。
6.根据权利要求4所述的软件系统业务规则的管理装置,其特征在于,所述读写模块还用于当用户增加了新的业务规则或对现有的业务规则进行了修改,将该新的业务规则和/或修改保存在数据库中。
CN201210555715.4A 2012-12-19 2012-12-19 软件系统业务规则的管理方法和装置 Active CN103019726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210555715.4A CN103019726B (zh) 2012-12-19 2012-12-19 软件系统业务规则的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210555715.4A CN103019726B (zh) 2012-12-19 2012-12-19 软件系统业务规则的管理方法和装置

Publications (2)

Publication Number Publication Date
CN103019726A CN103019726A (zh) 2013-04-03
CN103019726B true CN103019726B (zh) 2016-08-10

Family

ID=47968364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210555715.4A Active CN103019726B (zh) 2012-12-19 2012-12-19 软件系统业务规则的管理方法和装置

Country Status (1)

Country Link
CN (1) CN103019726B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786932B (zh) * 2014-12-26 2020-03-27 北大医疗信息技术有限公司 医疗系统中临床业务的查询方法及查询装置
CN105741010A (zh) * 2016-01-13 2016-07-06 天津中科智能识别产业技术研究院有限公司 一种面向灾害数据处理模型
CN107451846A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 业务规则的管理方法和管理装置
CN106682969A (zh) * 2017-01-10 2017-05-17 广州唯品会信息科技有限公司 订单管理方法及系统
CN107315611A (zh) * 2017-06-26 2017-11-03 郑州云海信息技术有限公司 一种应用系统规则管理方法及装置
CN107357589A (zh) * 2017-07-21 2017-11-17 深圳易嘉恩科技有限公司 展示和编辑财务业务单据票据检查规则的界面系统
CN107797823B (zh) * 2017-09-27 2020-01-17 平安科技(深圳)有限公司 业务规则管理方法、装置、存储介质和计算机设备
CN108279866B (zh) * 2018-01-24 2021-10-22 马上消费金融股份有限公司 一种业务流程的编排执行方法、装置及介质
CN108399066A (zh) * 2018-01-25 2018-08-14 链家网(北京)科技有限公司 一种规则引擎实现方法及装置
CN110309142B (zh) * 2018-03-15 2022-04-12 北京京东尚科信息技术有限公司 规则管理的方法和装置
CN108616392B (zh) * 2018-04-12 2021-04-30 苏州工业园区服务外包职业学院 智能终端业务配置系统和方法
CN109144493A (zh) * 2018-07-18 2019-01-04 平安科技(深圳)有限公司 业务规则的生成方法、电子装置及可读存储介质
CN109284106A (zh) * 2018-07-18 2019-01-29 平安科技(深圳)有限公司 业务规则的发布管理方法、电子装置及可读存储介质
CN109636317B (zh) * 2018-11-23 2023-06-30 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN111239529A (zh) * 2020-03-05 2020-06-05 西南交通大学 一种支持机电设备预测性维护的激励测试方法及系统
CN111932076B (zh) * 2020-07-09 2023-12-12 车智互联(北京)科技有限公司 一种规则配置和发布方法、装置及计算设备
CN111966338A (zh) * 2020-08-05 2020-11-20 合肥森亿智能科技有限公司 可编写规则配置模块、规则生成系统、及规则管理平台
CN115167826B (zh) * 2022-05-27 2023-05-05 唐旸 中文业务规则引擎的实现方法及装置、服务端、存储介质
CN115033606A (zh) * 2022-06-17 2022-09-09 中国平安人寿保险股份有限公司 基于规则引擎的数据核对方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1079320A1 (en) * 1999-07-02 2001-02-28 BRITISH TELECOMMUNICATIONS public limited company Distributed software system visualisation
CN1851737A (zh) * 2005-10-14 2006-10-25 华为技术有限公司 一种用户个性化业务的实现系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1079320A1 (en) * 1999-07-02 2001-02-28 BRITISH TELECOMMUNICATIONS public limited company Distributed software system visualisation
CN1851737A (zh) * 2005-10-14 2006-10-25 华为技术有限公司 一种用户个性化业务的实现系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于受限中文业务规则语言的BRMS的设计与实现;成雅琼;《万方学位论文》;20080801;正文第2.1, 2.2.1-2.1.4, 2.2, 5.1-5.3, 6.1-6.2节,以及图6-1~6-3 *

Also Published As

Publication number Publication date
CN103019726A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103019726B (zh) 软件系统业务规则的管理方法和装置
US10162611B2 (en) Method and apparatus for business rule extraction
CN101339534B (zh) 一种软件测试的方法及装置
CN103092742B (zh) 程序日志记录优化方法和系统
CN104133772A (zh) 一种自动生成测试数据的方法
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
CN117033249B (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
JP2007519104A (ja) 抽象テストケース表現からの自動テストスクリプトのルールベース生成のための方法及びシステム
WO2007099058A2 (en) Software testing automation framework
CN103186467B (zh) 数据正确性验证方法及装置
CN104794048A (zh) 一种ui自动化测试方法和系统
US9104724B2 (en) Dynamic bridging of application and data servers
CN111078279B (zh) 字节码文件的处理方法、装置、设备及存储介质
CN108469953A (zh) 一种页面表单的生成方法、服务器及存储介质
CN104965781A (zh) 一种生成测试用例的方法及装置
CN1976320B (zh) 数据访问控制方法及系统
CN115952758A (zh) 芯片验证方法、装置、电子设备及存储介质
CN108694114A (zh) 用于分离测试用例、测试脚本和测试数据的方法及其系统
CN112231197A (zh) 一种页面测试的方法、装置和存储介质
CN112181951B (zh) 一种异构数据库数据迁移方法、装置及设备
CN113703777A (zh) 基于数据库表的代码生成方法、装置、存储介质和设备
US10929121B2 (en) Method, device and related system for dynamically repairing application
CN104077225A (zh) 基于JavaScript的脚本调试方法和脚本调试装置
KR100922526B1 (ko) 비즈니스 프로세스 수행시 메타데이터 규정을 통한 데이터품질관리 방법 및 시스템
CN104732341A (zh) 模拟业务流程及业务流程运行的控制方法和控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant