CN114996366A - 一种面向用户的动态变化策略管理方法 - Google Patents
一种面向用户的动态变化策略管理方法 Download PDFInfo
- Publication number
- CN114996366A CN114996366A CN202210607042.6A CN202210607042A CN114996366A CN 114996366 A CN114996366 A CN 114996366A CN 202210607042 A CN202210607042 A CN 202210607042A CN 114996366 A CN114996366 A CN 114996366A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- rule
- database
- class
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 12
- 238000002955 isolation Methods 0.000 claims abstract description 13
- 230000000875 corresponding effect Effects 0.000 claims description 40
- 238000000034 method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种面向用户的动态变化策略管理方法,包括:步骤一、对用户进行数据隔离,每个租户对应一个数据库,不同租户设置的规则信息分别放在租户所对应的数据库中;步骤二、将drools语法进行拆分为四个维度,每个维度对应一张数据表,并将所述数据表存放在用户所属租户对应的数据库中;步骤三、用户通过用户端填写对象的类信息、规则信息、条件信息、动作信息,分别对应所述数据表;步骤四、用户根据执行规则调用平台输入类信息,平台搜索所述类信息及对应的规则信息,根据自定义加载器加载所述类信息生成对象,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
Description
技术领域
本发明属于数据库数据处理技术领域,涉及一种面向用户的动态变化策略管理方法。
背景技术
Drools是JBoss推出的一款基于Java语言的规则引擎框架,是基于DRL等规则配置文件,通过规则解析器,把规则文件编译成Java的Class代码,在程序运行的时候,虚拟机加载这些规则对应的Class文件并运行,依据工作内存空间的规则和事实是否匹配来判断规则是否应该执行。目前,该工具被用来进行数据库的动态维护,但缺点是无法根据不同的租户进行数据隔离,例如:
公开号为CN110297620A的一种基于Drools的动态规则维护和生成的方法,其技术方案是利用关系型数据库的二维表单对业务规则进行管理,将每一类的Drools的规则文件转换成一张张的二维表;调用统一的的规则生成引擎,把二维表翻译成Drools的规则文件,并存储到Redis缓存中;通过MQ异步消息实时通知规则消费方并发送规则变更的消息;规则消费方监听到规则变更的消息后,从Redis缓存中获取最新的规则文件,并对规则文件进行解析、编译成对应的JAVA CLASS文件,通过加载使得最新的规则生效。可见,该专利无法根据租户自己系统的类信息进行规则判断。
发明内容
基于上述缺点,本发明提供一种面向用户的动态变化策略管理方法,基于租户进行数据库隔离,每个租户对应一个数据库,通过将类信息和规则信息存在其对应的数据库中,实现数据隔离。
本发明通过以下技术方案实现。
一种面向用户的动态变化策略管理方法,包括以下步骤:
步骤一、对用户进行数据隔离,每个租户对应一个数据库,不同租户设置的规则信息分别放在租户所对应的数据库中;
步骤二、将drools语法进行拆分为四个维度,每个维度对应一张数据表,并将所述数据表存放在用户所属租户对应的数据库中;
步骤三、用户通过用户端填写对象的类信息、规则信息、条件信息、动作信息,分别对应所述数据表;
步骤四、用户根据执行规则调用平台,输入类信息,平台搜索所述类信息及对应的规则信息,根据自定义加载器加载所述类信息生成对象,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
本发明的有益效果:
1、本发明采用每个租户对应一个数据库的方式,通过租户中的用户在开放平台填写类信息和规则信息,把类信息和规则信息存在租户对应的数据库中,能够更好的实现数据隔离;
2、本发明采用动态切库的方式,将数据库切换到该用户对应租户的数据库,更好的实现根据租户的数据隔离;
3、本发明将用户信息及动作等分成四个维度,能够根据租户自己系统的类信息进行规则判断。
具体实施方式
下面针对本发明作进一步详细描述。
本实施方式中的一种面向用户的动态变化策略管理方法,具体包括以下步骤:
步骤一、对用户进行数据隔离,每个租户对应一个数据库,不同租户设置的规则信息分别放在租户所对应的数据库中;
具体实施时采用saas平台,所述平台面向多租户开发,一个租户对应多个用户,一个租户对应一个数据库,当租户注册到平台时会分配一个租户标识,根据所述租户标识进行数据库隔离,当用户登录的时候查到对应租户的标识,采用动态切库的方式将数据库切换到该用户对应租户的数据库,实现根据租户的数据隔离。
步骤二、将drools语法进行拆分为四个维度,每个维度对应一张数据表,并将所述数据表存放在用户所属租户对应的数据库中;
本实施例中,所述四个维度分别为对象、规则、条件、动作,则每个维度对应的数据表分别为对象表、规则表、条件表、动作表。
具体实施时,用户使用的详细步骤如下:
1.用户登录到平台中设计规则时,首先根据java的语法编写类信息,设置自定义标识绑定类信息;
2.填写规则信息,包括名称、描述等;
3.填写条件信息关联步骤1中填写的所述类信息,也就是当类的属性值满足什么条件;
4.填写动作信息,即步骤2中的条件满足后对应的动作;
5.将上述填写的规则信息放在所属租户的数据库中。
步骤三、用户通过用户端填写对象的类信息、规则信息、条件信息、动作信息,分别对应所述数据表;具体包括:
1.添加类信息,包含类名、全类名、属性值信息,对应数据库对象表;
2.添加规则信息,包含规则名称、描述,对应数据库规则信息表,选择上述添加的类信息进行关联;
3.填写条件信息对应数据库条件表;
4.添加动作信息对应数据库动作表,选择属性信息,对应数据库属性表。
步骤四、用户根据执行规则调用平台,输入类信息,平台搜索所述类信息及对应的规则信息,根据自定义加载器加载所述类信息生成对象,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
本实施例中,所述自定义加载器为根据Java规范设计的加载器,用于加载数据库保存的类信息生成类对象,并把调用参数赋值到生成的对象中,执行所设置的规则,规则平台判断用户设置的条件是否满足,如果满足则执行对应的动作,并把动作返回的值赋值到生成的对象中,返给用户,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
实施例1:
根据下订单送积分来说,订单order包含金额、积分,租户在平台设计规则:
根据java语法编写order类,包含金额、积分等属性值,自定义标识orderLogo和order类绑定。
设计积分条件:金额满100元,金额100-1000之间,金额1000元以上三种条件。
设计积分满足动作:满100元送10积分,100-1000送金额的15%积分,1000元以上送金额的20%的积分三种动作。
需要执行规则的时候,调用方需要传自定义标识orderLogo和订单金额,平台根据标识自动查出order类信息和三种规则,动态生成order对象并把传来订单金额赋值到order对象的金额属性中,并根据金额属性判断符合哪种规则,选择符合的规则执行,并把生成的积分赋值到order对象中,最终把order对象返还给调用者。
综上所述,以上仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种面向用户的动态变化策略管理方法,其特征在于,包括以下步骤:
步骤一、对用户进行数据隔离,每个租户对应一个数据库,不同租户设置的规则信息分别放在租户所对应的数据库中;
步骤二、将drools语法进行拆分为四个维度,每个维度对应一张数据表,并将所述数据表存放在用户所属租户对应的数据库中;
步骤三、用户通过用户端填写对象的类信息、规则信息、条件信息、动作信息,分别对应所述数据表;
步骤四、用户根据执行规则调用平台,输入类信息,平台搜索所述类信息及对应的规则信息,根据自定义加载器加载所述类信息生成对象,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
2.如权利要求1所述的一种面向用户的动态变化策略管理方法,其特征在于,采用saas平台,所述平台面向多租户开发,一个租户对应多个用户,一个租户对应一个数据库,当租户注册到平台时会分配一个租户标识,根据所述租户标识进行数据库隔离,当用户登录的时候查到对应租户的标识,采用动态切库的方式将数据库切换到该用户对应租户的数据库,实现根据租户的数据隔离。
3.如权利要求1或2所述的一种面向用户的动态变化策略管理方法,其特征在于,所述四个维度分别为对象、规则、条件、动作,则每个维度对应的数据表分别为对象表、规则表、条件表、动作表。
4.如权利要求3所述的一种面向用户的动态变化策略管理方法,其特征在于,步骤三具体包括:
(1).添加类信息,包含类名、全类名、属性值信息,对应数据库对象表;
(2).添加规则信息,包含规则名称、描述,对应数据库规则信息表,选择上述添加的类信息进行关联;
(3).填写条件信息对应数据库条件表;
(4).添加动作信息对应数据库动作表,选择属性信息,对应数据库属性表。
5.如权利要求1或2或3或4所述的一种面向用户的动态变化策略管理方法,其特征在于,所述自定义加载器为根据Java规范设计的加载器,用于加载数据库保存的类信息生成类对象,并把调用参数赋值到生成的对象中,执行所设置的规则,规则平台判断用户设置的条件是否满足,如果满足则执行对应的动作,并把动作返回的值赋值到生成的对象中,返给用户,并将对应的类属性对生成的对象进行赋值,动态加载规则信息生成规则文件,把生成的对象放入所述规则文件中执行,并将执行结果返回用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607042.6A CN114996366A (zh) | 2022-05-31 | 2022-05-31 | 一种面向用户的动态变化策略管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607042.6A CN114996366A (zh) | 2022-05-31 | 2022-05-31 | 一种面向用户的动态变化策略管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114996366A true CN114996366A (zh) | 2022-09-02 |
Family
ID=83031420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210607042.6A Pending CN114996366A (zh) | 2022-05-31 | 2022-05-31 | 一种面向用户的动态变化策略管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996366A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100063959A1 (en) * | 2008-09-11 | 2010-03-11 | salesforce.com, Inc., | Automating sharing data between users of a multi-tenant database service |
CN103164206A (zh) * | 2011-12-16 | 2013-06-19 | 上海博腾信息科技有限公司 | 基于saas的软件定制系统 |
CN106529331A (zh) * | 2016-10-31 | 2017-03-22 | 用友网络科技股份有限公司 | 一种应用于PaaS平台的多租户数据隔离方案 |
CN110297620A (zh) * | 2019-05-17 | 2019-10-01 | 苏宁易购集团股份有限公司 | 一种基于Drools的动态规则维护和生成的方法 |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
-
2022
- 2022-05-31 CN CN202210607042.6A patent/CN114996366A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100063959A1 (en) * | 2008-09-11 | 2010-03-11 | salesforce.com, Inc., | Automating sharing data between users of a multi-tenant database service |
CN103164206A (zh) * | 2011-12-16 | 2013-06-19 | 上海博腾信息科技有限公司 | 基于saas的软件定制系统 |
CN106529331A (zh) * | 2016-10-31 | 2017-03-22 | 用友网络科技股份有限公司 | 一种应用于PaaS平台的多租户数据隔离方案 |
CN110297620A (zh) * | 2019-05-17 | 2019-10-01 | 苏宁易购集团股份有限公司 | 一种基于Drools的动态规则维护和生成的方法 |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402987B (zh) | 一种全文检索的方法和分布式NewSQL数据库系统 | |
CN102542382B (zh) | 业务规则的操作方法和装置 | |
CN107038222B (zh) | 数据库缓存实现方法及其系统 | |
US20060041928A1 (en) | Policy rule management support method and policy rule management support apparatus | |
CN104216912A (zh) | 一种无侵入式的业务表单工作流化的实现方法与装置 | |
CN102214236A (zh) | 一种海量数据处理方法和系统 | |
CN102339298A (zh) | Sql脚本元数据的更新方法、装置及系统 | |
US20160063107A1 (en) | Data retrieval via a telecommunication network | |
CN102915344B (zh) | 一种sql语句处理方法及装置 | |
CN113312113A (zh) | 业务规则信息的动态配置方法、装置、设备及存储介质 | |
CN101576922B (zh) | 接入系统和接入方法 | |
CN110069248A (zh) | 接口数据的调用方法、装置、设备及计算机可读存储介质 | |
CN108874837B (zh) | 数据库分库方法、装置、中间件及存储介质和电子设备 | |
CN1997060A (zh) | 获取指标的方法以及系统 | |
CN114996366A (zh) | 一种面向用户的动态变化策略管理方法 | |
CN111931133B (zh) | 一种基于b/s架构的权限控制方法 | |
CN113254470A (zh) | 一种数据更改方法、装置、计算机设备及存储介质 | |
CN111680275A (zh) | 工控机控制系统的权限管理方法、系统、存储介质及设备 | |
CN110297843B (zh) | 用于b/s系统的数据查询方法及系统、终端 | |
CN112596711A (zh) | 一种基于Web系统的个性化权限管理设置方法及系统 | |
CN112748997A (zh) | 一种工作流的调度方法及系统 | |
CN116301760A (zh) | 用于软件开发的应用设计系统 | |
CN116049193A (zh) | 数据存储方法及装置 | |
KR20170129540A (ko) | 룰 관리 시스템 및 방법 | |
CN105302609A (zh) | 应用于测量仪器的数据资源配置管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |