CN109597606A - 使用规则引擎进行业务决策的方法、设备和存储介质 - Google Patents
使用规则引擎进行业务决策的方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109597606A CN109597606A CN201811244561.0A CN201811244561A CN109597606A CN 109597606 A CN109597606 A CN 109597606A CN 201811244561 A CN201811244561 A CN 201811244561A CN 109597606 A CN109597606 A CN 109597606A
- Authority
- CN
- China
- Prior art keywords
- regulation engine
- score
- decision
- scoring model
- business datum
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 19
- 238000001556 precipitation Methods 0.000 claims description 3
- 238000012502 risk assessment Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及使用规则引擎进行业务决策的方法、设备和存储介质。所述方法包括:响应于来自用户的决策请求而获取所述用户的业务数据;根据所述决策请求确定相应的规则引擎和评分模式;对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及根据所述相应的分数基于所述评分模式进行业务决策。通过本公开的各实施例,可以根据评分模式基于执行规则引擎所得到的分数来进行业务决策,使得能够灵活满足各种决策需求,使决策结果更精准,例如使得风险评估的决策结果更能满足网络安全的需要。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种使用规则引擎进行业务决策的方法、装置、计算设备和计算机可读存储介质。
背景技术
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本。大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。
目前JAVA常用的规则引擎为Drools,其相对庞大复杂,执行效率不高,具有一定的入门门槛,且不太易于整合业务。
另外,本申请的发明人意识到,存在对如何使用规则引擎进行业务决策的方法的需要。
发明内容
为解决以上问题中的一个或多个,本发明实施例提供了一种使用规则引擎进行业务决策的方法、装置、计算设备和计算机可读存储介质。
根据本申请的第一方面,提供一种使用规则引擎进行业务决策的方法,其包括:
响应于来自用户的决策请求而获取所述用户的业务数据;
根据所述决策请求确定相应的规则引擎和评分模式;
对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及
根据所述相应的分数基于所述评分模式进行业务决策。
根据一示例性实施例,根据所述相应的分数基于所述评分模式进行业务决策包括:
根据所述评分模式对所述相应的分数进行运算以得到最终评分;以及
根据最终评分确定决策结果。
根据一示例性实施例,所述评分模式为权重评分模式,其中,所述根据所述评分模式对所述相应的分数进行运算以得到最终评分包括:将执行每个规则引擎所得到的分数乘以各自的预设权重并相加,得到的加权和作为最终评分。
根据一示例性实施例,所述评分模式为最高分模式,其中,所述根据所述评分模式对所述相应的分数进行运算以得到最终评分包括:比较执行每个规则引擎所得到的分数的大小,以选择所述分数中最高的一个作为最终评分。
根据一示例性实施例,所述对所述规则引擎进行解析并针对所述业务数据执行解析出的规则包括:
将每个所述规则引擎解析成Java对象;
使用从每个所述规则引擎解析出的Java对象处理所述业务数据,以得到所述相应的分数。
根据一示例性实施例,所述Java对象包括一个或多个表达式和方法,其中,所述方法从所述业务数据中获取相应的值代入所述一个或多个表达式,判断所述一个或多个表达式是否成立,并根据判断结果给出所述相应的分数,所述一个或多个表达式中的每个表达式的形式为:左值的key-比较符-右值,所述一个或多个表达式之间为逻辑与和/或逻辑或的关系。
根据一示例性实施例,使用由每个所述规则引擎解析成的Java对象处理所述业务数据包括:
对于所述一个或多个表达式中的每个表达式:
以该表达式中的左值的key为关键词在所述业务数据中进行检索;
将检索到的字段所对应的值作为左值代入该表达式中的左值的key;
判断所述一个或多个表达式是否成立;
在判定为所述一个或多个表达式成立的情况下,将针对该规则引擎预设的命中分数作为执行该规则引擎得到的所述相应的分数。
根据一示例性实施例,所述对所述规则引擎进行解析并针对所述业务数据执行解析出的规则包括:
根据所述规则引擎的类型确定相应的规则引擎执行器;
使用所述规则引擎执行器解析所述规则引擎并针对所述业务数据执行解析出的规则。
根据本申请的第二方面,提供一种使用规则引擎进行业务决策的装置,其包括:
获取模块,其被配置为:响应于来自用户的决策请求而获取所述用户的业务数据;
确定模块,其被配置为:根据所述决策请求确定相应的规则引擎和评分模式;
解析和执行模块,其被配置为:对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及
决策模块,其被配置为:根据所述相应的分数基于所述评分模式进行业务决策。
根据一示例性实施例,所述决策模块包括:
最终评分计算单元,其被配置为:根据所述评分模式对所述相应的分数进行运算以得到最终评分;以及
决策单元,其被配置为:根据最终评分确定决策结果。
根据一示例性实施例,所述最终评分计算单元包括:
权重评分子单元,其被配置为:在所述评分模式为权重评分模式的情况下,将执行每个规则引擎所得到的分数乘以各自的预设权重并相加,得到的加权和作为最终评分;
最高分子单元,其被配置为:在所述评分模式为最高分模式的情况下,比较执行每个规则引擎所得到的分数的大小,以选择所述分数中最高的一个作为最终评分。
根据一示例性实施例,所述解析和执行模块包括:
解析单元,其被配置为:将每个所述规则引擎解析成Java对象;
处理单元,其被配置为:使用从每个所述规则引擎解析出的Java对象处理所述业务数据,以得到所述相应的分数。
根据一示例性实施例,所述Java对象包括一个或多个表达式和方法,其中,所述方法从所述业务数据中获取相应的值代入所述一个或多个表达式,判断所述一个或多个表达式是否成立,并根据判断结果给出所述相应的分数,所述一个或多个表达式中的每个表达式的形式为:左值的key-比较符-右值,所述一个或多个表达式之间为逻辑与和/或逻辑或的关系。
根据一示例性实施例,所述处理单元包括:
检索子单元,其被配置为:对于所述一个或多个表达式中的每个表达式:
以该表达式中的左值的key为关键词在所述业务数据中进行检索;
将检索到的字段所对应的值作为左值代入该表达式中的左值的key;
判断子单元,其被配置为:判断所述一个或多个表达式是否成立;
打分子单元,其被配置为:在判定为所述一个或多个表达式成立的情况下,将针对该规则引擎预设的命中分数作为执行该规则引擎得到的所述相应的分数。
根据本申请的第三方面,提供一种计算设备,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如上所述的方法实施例中的任一个。
根据本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如上所述的方法实施例中的任一个。
本申请的实施例提供的技术方案可以包括以下有益效果:
通过本申请如上所述以及如下所述的各实施例,可以提供使用规则引擎进行业务决策的方案,其中通过根据评分模式基于执行规则引擎所得到的分数来进行业务决策,使得能够灵活满足各种决策需求,使决策结果更精准。另外,在一些实施例中,通过将规则引擎解析为Java对象,可以通过Java对象对业务数据方便快捷地执行处理,以得到在该规则下的相应分数。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
图1是根据本申请一示例性实施例示出的使用规则引擎进行业务决策的方法的示意流程图。
图2是图1所示的方法实施例中步骤S130的示例具体实现方式的示意流程图。
图3是图2所示的方法实施例中步骤S220的示例具体实现方式的示意流程图。
图4是图1所示的方法实施例中步骤S140的示例具体实现方式的示意流程图。
图5是根据本申请一示例性实施例示出的使用规则引擎进行业务决策的装置的示意组成框图。
图6是根据本申请一示例性实施例示出的计算设备的示意组成框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
图1示出了根据本申请一示例性实施例示出的使用规则引擎进行业务决策的方法的示意流程图。该方法可以由业务决策平台或者部署有业务决策平台的至少一部分的机器设备来执行。如图1的示例性实施例所示,该方法可以包括步骤:
S110,响应于来自用户的决策请求而获取所述用户的业务数据。
在一个示例中,用户通过客户端向业务决策平台(例如,业务风险决策平台)发出决策请求(例如,风控请求),为进行业务决策(例如,风控决策),需要获取该用户的业务数据(例如,用户常用设备、常用IP地址、交易金额、历史交易记录等)来进行处理和判断。在一个示例中,用户是在通过客户端使用某一应用的过程中(例如点击了该应用的“购买”或“加入购物车”按钮)触发了向业务决策平台发送决策请求。
S120,根据所述决策请求确定相应的规则引擎和评分模式。
业务决策平台可以针对用户的业务数据执行一个或多个规则,判断所述一个或多个规则是否被命中,并据此来进行业务决策。规则可以以一定格式的语音被描述出来,形成规则引擎。在一个示例中,规则引擎被预存在业务决策平台的数据库中,当平台被启动时规则引擎被加载到缓存中。
在一个示例中,本申请的发明人创造性地采用Json格式来描述规则以形成轻量级的规则引擎,使得规则的解析变得简单快捷,很容易将Json反序列化为Java对象,通过Java对象来处理规则中的逻辑运算,执行起来非常高效,并且规则解析及执行过程可以全Java实现。
不同的决策请求所需要用到的规则可能是不同的,因此,在一个示例中,根据决策请求确定相应的规则引擎。在一个示例中,可以根据预先设置的决策请求-规则引擎对应关系来确定具体的规则引擎。在另一示例中,可以根据预先设置的对应规则来确定具体的规则引擎。
另外,在一个示例中,针对不同的决策请求,在进行业务决策时可以使用不同的评分模式来计算用户的业务数据的最终评分。使用的评分模式不同,所得到的最终评分可能就不同,决策结果就有可能不同。在一个示例中,可以根据预先设置的决策请求-评分模式对应关系来确定具体的评分模式。在另一示例中,可以根据预先设置的对应规则来确定具体的评分模式。
S130,对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数。
为针对业务数据执行相应的规则,需要先对规则引擎进行解析。在一个示例中,如图2所示,该步骤S130可以包括步骤:
S210,将每个所述规则引擎解析成Java对象;
S220,使用从每个所述规则引擎解析出的Java对象处理所述业务数据,以得到所述相应的分数。
在一个示例中,规则引擎采用的是Json格式,可以方便快捷地将其解析成Java对象。可以使用规则引擎执行器来执行步骤S210和S220。在一个示例中,使用统一的规则引擎执行器来解析和执行每个规则引擎。在另一示例中,针对不同类型(例如,流量规则类型、简单规则类型、名单规则类型、SDK规则类型,等等)的规则引擎使用不同的相应规则引擎执行器,这是因为,不同类型的规则引擎的解析方式和过程有很大区别,而同一类型的规则引擎的解析方式则有相似的地方,因此分别使用对应于不同类型规则引擎的规则引擎执行器会提高解析效率,降低规则引擎执行器开发的难度和复杂性。因此,在一个示例中,步骤S210可以包括:根据所述规则引擎的类型确定相应的规则引擎执行器;以及使用所述规则引擎执行器解析所述规则引擎。
在一个示例中,可以将规则引擎解析成包括一个或多个表达式和方法的Java对象,其中,该方法从用户的业务数据中获取相应的值代入所述一个或多个表达式,判断所述一个或多个表达式是否成立,并根据判断结果给出所述相应的分数,所述一个或多个表达式中的每个表达式的形式为:左值的key-比较符-右值,所述一个或多个表达式之间为逻辑与和/或逻辑或的关系。图3示出了在这样的示例中步骤S220的示例具体实现方式。如图3所示,步骤S220可以包括步骤:
S310,对于所述一个或多个表达式中的每个表达式:
以该表达式中的左值的key为关键词在所述业务数据中进行检索;
将检索到的字段所对应的值作为左值代入该表达式中的左值的key。
例如,一个表达式为“txParameter.mob_sub=131”,其中,“txParameter.mob_sub”为左值的key(或者称为左值字段),“=”为比较符,“131”为右值。在用户的业务数据中用“txParameter.mob_sub”作为关键词进行检索,如果搜索到该字段并且发现相应的值(例如,为132),则将该值代入表达式中的左值字段(例如,在本示例中,将值“132”代入后得到“132=131”)。
S320,判断所述一个或多个表达式是否成立。
例如,在上述示例中,代入后得到“132=131”,显然该表达式不成立。如果在业务数据中检索到该字段的对应值为“131”,则代入后得到“131=131”,可见此时该表达式是成立的。
S330,在判定为所述一个或多个表达式成立的情况下,将针对该规则引擎预设的命中分数作为执行该规则引擎得到的所述相应的分数。
如果表达式成立,则表明其对应的规则被命中,则可以将该规则的命中分数(例如60分)作为业务数据在该规则下得到的相应分数。如此,针对每个规则引擎均得到一个相应的分数。
现在返回参考图1,如图1所示,该方法实施例还包括步骤:
S140,根据所述相应的分数基于所述评分模式进行业务决策。
如上所述,不同的决策请求可能对应不同的评分模式,评分模式决定了如何利用在步骤S130中得到的分数进行业务决策。图4示出了步骤S140的一个示例具体实现方式的示意流程图。如图4所示,步骤S140可以包括步骤:
S410,根据所述评分模式对所述相应的分数进行运算以得到最终评分。
在一个示例中,评分模式可以包括权重评分模式和最高分模式,其中,在每个权重评分模式中还可以为每个相应的得分预设权重。
在评分模式为权重评分模式的情况下,最终评分的计算方式为:将执行每个规则引擎所得到的分数乘以各自的预设权重(预设权重被预先定义和保存在权重评分模式中)并相加,并将得到的加权和作为最终评分。例如,针对三个规则引擎得到三个相应的分数S1、S2和S3,根据权重评分模式得到它们各自的权重分别为a、b和c,则最终评分为S=a·S1+b·S2+c·S3。假设S1为80,S2为70,S3为90,a为40%,b为35%,c为25%,则最终评分S=79。
在评分模式为最高分模式的情况下,最终评分的计算方式为:比较执行每个规则引擎所得到的分数的大小,以选择分数中最高的一个作为最终评分。例如,针对三个规则引擎得到三个相应的分数S1=80、S2=70和S3=90,则最终评分S=90。
S420,根据最终评分确定决策结果。
在一个示例中,预先将最终评分划分为不同的分数段,每个分数段对应不同的决策结果。例如,对于风控请求,可以将0~60分数段的决策结果设置为风控通过,将61~100分数段的决策结果设置为风控拒绝。可以理解的是,针对不同的决策请求,相同分数段对应的决策结果可能不同。
在这样的示例中,判断最终评分所落入的分数段,然后确定该分数段所对应的决策结果。例如,假设最终评分为80分,决策策略是:0~60分数段的决策结果为风控通过,61~100分数段的决策结果为风控拒绝,则判断最终评分80落入后一分数段并且其对应的决策结果为风控拒绝。
根据本申请的另一方面,还公开了使用规则引擎进行业务决策的装置。图5是根据本申请一示例性实施例示出的使用规则引擎进行业务决策的装置的示意组成框图。该装置501用于执行如上所述的各方法实施例。如图5所示,该示例装置501包括:
获取模块510,其被配置为:响应于来自用户的决策请求而获取所述用户的业务数据;
确定模块520,其被配置为:根据决策请求确定相应的规则引擎和评分模式;
解析和执行模块530,其被配置为:对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及
决策模块540,其被配置为:根据所述相应的分数基于所述评分模式进行业务决策。
根据图5所示的实施例,决策模块540可以包括:
最终评分计算单元541,其被配置为:根据所述评分模式对所述相应的分数进行运算以得到最终评分;以及
决策单元542,其被配置为:根据最终评分确定决策结果。
根据图5所示的实施例,最终评分计算单元541可以包括:
权重评分子单元5411,其被配置为:在所述评分模式为权重评分模式的情况下,将执行每个规则引擎所得到的分数乘以各自的预设权重并相加,得到的加权和作为最终评分;
最高分子单元5412,其被配置为:在所述评分模式为最高分模式的情况下,比较执行每个规则引擎所得到的分数的大小,以选择所述分数中最高的一个作为最终评分。
根据图5所示的实施例,解析和执行模块530可以包括:
解析单元531,其被配置为:将每个所述规则引擎解析成Java对象;
处理单元532,其被配置为:使用从每个所述规则引擎解析出的Java对象处理所述业务数据,以得到所述相应的分数。
根据图5所示的实施例,Java对象可以包括一个或多个表达式和方法,其中,所述方法从所述业务数据中获取相应的值代入所述一个或多个表达式,判断所述一个或多个表达式是否成立,并根据判断结果给出所述相应的分数,所述一个或多个表达式中的每个表达式的形式为:左值的key-比较符-右值,所述一个或多个表达式之间为逻辑与和/或逻辑或的关系。在这样的示例中,处理单元532可以包括:
检索子单元5321,其被配置为:对于所述一个或多个表达式中的每个:
以该表达式中的左值的key为关键词在所述业务数据中进行检索;
将检索到的字段所对应的值作为左值代入该表达式中的左值的key;
判断子单元5322,其被配置为:判断所述一个或多个表达式是否成立;
打分子单元5323,其被配置为:在判定为所述一个或多个表达式成立的情况下,将针对该规则引擎预设的命中分数作为执行该规则引擎得到的所述相应的分数。
上述装置中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。
以上各实施例中的装置实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的装置,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成系统。
以上各实施例中组成该装置的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该装置。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。
根据一个示例性实施例,该装置可被实现为一种计算设备,该计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如上所述的各方法实施例中的任一个,或者,所述计算机程序在被所述处理器执行时使得该计算设备实现如上所述的用于多级缓存系统的访问控制装置各实施例的组成单元/模块所实现的功能。
上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元CPU,也可以是包括多个分散的处理单元或处理器的分布式处理器系统。
上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。
图6示出了这样的计算设备601的一个示例性实施例的示意组成框图。如图6所示,计算设备601可以包括:处理器610、通信接口620、存储器630和总线640。存储器630内存储有可被处理器610执行的计算机程序。处理器610执行所述计算机程序时实现上述实施例中的方法及装置的功能。存储器630和处理器610的数量分别可以为一个或多个。通信接口620用于处理器610与外部设备之间的通信。
其中,处理器610可以是中央处理单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的流程步骤、功能单元/模块和/或电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、数字信号处理器等等。
存储器630可以包括易失性存储器和/或非易失性存储器,例如非易失性动态随机存取存储器、相变随机存取存储器、磁阻式随机存取存储器、磁盘存储器、电子可擦除可编程只读存储器、闪存器件、半导体器件(例如固态硬盘)等。存储器630可选地还可以是外部远程存储装置。
总线640可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,如果存储器630、处理器610及通信接口620集成在一块芯片上,则存储器630、处理器610及通信接口620可以通过内部接口完成相互间的通信。
以上各方法和装置实施例还可以被实现为计算机程序的形式,被存储在存储介质上,并且可被分发。因此,根据本公开的另一方面,还提供一种计算机程序产品,该计算机程序产品被存储在计算机可读存储介质上,并且在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。根据本公开的又一方面,还提供一种计算机可读存储介质,其上存储有可供处理器执行的计算机程序,所述计算机程序在被处理器执行时实现如上所述的各方法和装置实施例中的任一个。
该计算机可读存储介质可以是任何可以保持和存储可由指令执行设备使用的指令的有形设备。例如,其可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述各项的任意组合。
这里所描述的计算机程序/计算机指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
本公开中所述的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种使用规则引擎进行业务决策的方法,其特征在于,包括:
响应于来自用户的决策请求而获取所述用户的业务数据;
根据所述决策请求确定相应的规则引擎和评分模式;
对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及
根据所述相应的分数基于所述评分模式进行业务决策。
2.如权利要求1所述的方法,其特征在于,根据所述相应的分数基于所述评分模式进行业务决策包括:
根据所述评分模式对所述相应的分数进行运算以得到最终评分;以及
根据最终评分确定决策结果。
3.如权利要求2所述的方法,其特征在于,所述评分模式为权重评分模式,其中,所述根据所述评分模式对所述相应的分数进行运算以得到最终评分包括:将执行每个规则引擎所得到的分数乘以各自的预设权重并相加,得到的加权和作为最终评分。
4.如权利要求2所述的方法,其特征在于,所述评分模式为最高分模式,其中,所述根据所述评分模式对所述相应的分数进行运算以得到最终评分包括:比较执行每个规则引擎所得到的分数的大小,以选择所述分数中最高的一个作为最终评分。
5.如权利要求1所述的方法,其特征在于,所述对所述规则引擎进行解析并针对所述业务数据执行解析出的规则包括:
将每个所述规则引擎解析成Java对象;
使用从每个所述规则引擎解析出的Java对象处理所述业务数据,以得到所述相应的分数。
6.如权利要求5所述的方法,其特征在于,所述Java对象包括一个或多个表达式和方法,其中,所述方法从所述业务数据中获取相应的值代入所述一个或多个表达式,判断所述一个或多个表达式是否成立,并根据判断结果给出所述相应的分数,所述一个或多个表达式中的每个表达式的形式为:左值的key-比较符-右值,所述一个或多个表达式之间为逻辑与和/或逻辑或的关系。
7.如权利要求6所述的方法,其特征在于,使用由每个所述规则引擎解析成的Java对象处理所述业务数据包括:
对于所述一个或多个表达式中的每个表达式:
以该表达式中的左值的key为关键词在所述业务数据中进行检索;
将检索到的字段所对应的值作为左值代入该表达式中的左值的key;
判断所述一个或多个表达式是否成立;
在判定为所述一个或多个表达式成立的情况下,将针对该规则引擎预设的命中分数作为执行该规则引擎得到的所述相应的分数。
8.一种使用规则引擎进行业务决策的装置,其特征在于,包括:
获取模块,其被配置为:响应于来自用户的决策请求而获取所述用户的业务数据;
确定模块,其被配置为:根据所述决策请求确定相应的规则引擎和评分模式;
解析和执行模块,其被配置为:对所述规则引擎进行解析并针对所述业务数据执行解析出的规则,以得到相应的分数;以及
决策模块,其被配置为:根据所述相应的分数基于所述评分模式进行业务决策。
9.一种计算设备,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被一个或多个处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811244561.0A CN109597606A (zh) | 2018-10-24 | 2018-10-24 | 使用规则引擎进行业务决策的方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811244561.0A CN109597606A (zh) | 2018-10-24 | 2018-10-24 | 使用规则引擎进行业务决策的方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109597606A true CN109597606A (zh) | 2019-04-09 |
Family
ID=65957051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811244561.0A Pending CN109597606A (zh) | 2018-10-24 | 2018-10-24 | 使用规则引擎进行业务决策的方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597606A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389748A (zh) * | 2019-06-17 | 2019-10-29 | 平安银行股份有限公司 | 业务数据处理方法及终端设备 |
CN110443441A (zh) * | 2019-06-20 | 2019-11-12 | 中国平安财产保险股份有限公司 | 规则效能监测方法、装置、计算机设备及存储介质 |
CN110580155A (zh) * | 2019-07-31 | 2019-12-17 | 苏宁云计算有限公司 | 状态机引擎的实现方法、装置、计算机设备及存储介质 |
CN110688316A (zh) * | 2019-09-27 | 2020-01-14 | 国家计算机网络与信息安全管理中心 | 基于规则引擎的移动应用风险等级推理评估方法及装置 |
CN110688400A (zh) * | 2019-09-02 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110888672A (zh) * | 2019-11-26 | 2020-03-17 | 北京仁科互动网络技术有限公司 | 一种基于元数据架构的表达式引擎实现方法及系统 |
CN111475144A (zh) * | 2020-04-13 | 2020-07-31 | 深圳前海微众银行股份有限公司 | 风控决策方法、装置、设备及计算机可读存储介质 |
CN112989763A (zh) * | 2021-03-16 | 2021-06-18 | 平安付科技服务有限公司 | 数据获取方法、装置、计算机设备及存储介质 |
CN113450067A (zh) * | 2021-06-04 | 2021-09-28 | 杭州搜车数据科技有限公司 | 基于决策引擎的风险控制方法、装置、系统和电子装置 |
CN114723303A (zh) * | 2022-04-15 | 2022-07-08 | 中国电信股份有限公司 | 机房节能空间确定方法、装置、设备及存储介质 |
CN116243892A (zh) * | 2023-01-09 | 2023-06-09 | 睿智合创(北京)科技有限公司 | 一种决策引擎规则的动态java实现方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016833A1 (en) * | 2010-07-14 | 2012-01-19 | Sap Ag | Systems and methods for dynamic process model reconfiguration based on process execution context |
CN102968305A (zh) * | 2012-02-24 | 2013-03-13 | 江西省电力公司信息通信中心 | 逻辑处理方法、装置及测评系统 |
US20130305224A1 (en) * | 2012-05-08 | 2013-11-14 | Siemens Industry, Inc. | Rules Engine for Architectural Governance |
CN103593586A (zh) * | 2013-12-03 | 2014-02-19 | 国家电网公司 | 一种对数据质量进行评价的方法 |
CN105956384A (zh) * | 2016-04-26 | 2016-09-21 | 江苏物联网研究发展中心 | 健康评估系统中评估引擎的实现方法 |
CN106845827A (zh) * | 2017-01-17 | 2017-06-13 | 环境保护部卫星环境应用中心 | 支持自定制自动化的综合评分与分级方法及装置 |
CN107785074A (zh) * | 2017-10-27 | 2018-03-09 | 上海利连信息科技有限公司 | 一种基于规则推理引擎的疾病辅助判别方法和系统 |
CN107864174A (zh) * | 2017-07-03 | 2018-03-30 | 华南理工大学 | 一种基于规则的物联网设备联动方法 |
-
2018
- 2018-10-24 CN CN201811244561.0A patent/CN109597606A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016833A1 (en) * | 2010-07-14 | 2012-01-19 | Sap Ag | Systems and methods for dynamic process model reconfiguration based on process execution context |
CN102968305A (zh) * | 2012-02-24 | 2013-03-13 | 江西省电力公司信息通信中心 | 逻辑处理方法、装置及测评系统 |
US20130305224A1 (en) * | 2012-05-08 | 2013-11-14 | Siemens Industry, Inc. | Rules Engine for Architectural Governance |
CN103593586A (zh) * | 2013-12-03 | 2014-02-19 | 国家电网公司 | 一种对数据质量进行评价的方法 |
CN105956384A (zh) * | 2016-04-26 | 2016-09-21 | 江苏物联网研究发展中心 | 健康评估系统中评估引擎的实现方法 |
CN106845827A (zh) * | 2017-01-17 | 2017-06-13 | 环境保护部卫星环境应用中心 | 支持自定制自动化的综合评分与分级方法及装置 |
CN107864174A (zh) * | 2017-07-03 | 2018-03-30 | 华南理工大学 | 一种基于规则的物联网设备联动方法 |
CN107785074A (zh) * | 2017-10-27 | 2018-03-09 | 上海利连信息科技有限公司 | 一种基于规则推理引擎的疾病辅助判别方法和系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389748A (zh) * | 2019-06-17 | 2019-10-29 | 平安银行股份有限公司 | 业务数据处理方法及终端设备 |
CN110443441A (zh) * | 2019-06-20 | 2019-11-12 | 中国平安财产保险股份有限公司 | 规则效能监测方法、装置、计算机设备及存储介质 |
CN110443441B (zh) * | 2019-06-20 | 2023-08-22 | 中国平安财产保险股份有限公司 | 规则效能监测方法、装置、计算机设备及存储介质 |
CN110580155B (zh) * | 2019-07-31 | 2022-11-22 | 南京苏宁加电子商务有限公司 | 状态机引擎的实现方法、装置、计算机设备及存储介质 |
CN110580155A (zh) * | 2019-07-31 | 2019-12-17 | 苏宁云计算有限公司 | 状态机引擎的实现方法、装置、计算机设备及存储介质 |
CN110688400A (zh) * | 2019-09-02 | 2020-01-14 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110688316A (zh) * | 2019-09-27 | 2020-01-14 | 国家计算机网络与信息安全管理中心 | 基于规则引擎的移动应用风险等级推理评估方法及装置 |
CN110888672A (zh) * | 2019-11-26 | 2020-03-17 | 北京仁科互动网络技术有限公司 | 一种基于元数据架构的表达式引擎实现方法及系统 |
CN110888672B (zh) * | 2019-11-26 | 2023-05-02 | 北京仁科互动网络技术有限公司 | 一种基于元数据架构的表达式引擎实现方法及系统 |
CN111475144B (zh) * | 2020-04-13 | 2023-04-18 | 深圳前海微众银行股份有限公司 | 风控决策方法、装置、设备及计算机可读存储介质 |
CN111475144A (zh) * | 2020-04-13 | 2020-07-31 | 深圳前海微众银行股份有限公司 | 风控决策方法、装置、设备及计算机可读存储介质 |
CN112989763A (zh) * | 2021-03-16 | 2021-06-18 | 平安付科技服务有限公司 | 数据获取方法、装置、计算机设备及存储介质 |
CN113450067B (zh) * | 2021-06-04 | 2022-10-04 | 杭州搜车数据科技有限公司 | 基于决策引擎的风险控制方法、装置、系统和电子装置 |
CN113450067A (zh) * | 2021-06-04 | 2021-09-28 | 杭州搜车数据科技有限公司 | 基于决策引擎的风险控制方法、装置、系统和电子装置 |
CN114723303A (zh) * | 2022-04-15 | 2022-07-08 | 中国电信股份有限公司 | 机房节能空间确定方法、装置、设备及存储介质 |
CN114723303B (zh) * | 2022-04-15 | 2023-10-31 | 中国电信股份有限公司 | 机房节能空间确定方法、装置、设备及存储介质 |
CN116243892A (zh) * | 2023-01-09 | 2023-06-09 | 睿智合创(北京)科技有限公司 | 一种决策引擎规则的动态java实现方法 |
CN116243892B (zh) * | 2023-01-09 | 2023-10-20 | 睿智合创(北京)科技有限公司 | 一种决策引擎规则的动态java实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597606A (zh) | 使用规则引擎进行业务决策的方法、设备和存储介质 | |
US11128668B2 (en) | Hybrid network infrastructure management | |
TWI743773B (zh) | 基於隱私資料保護的異常採集行為識別方法和裝置 | |
CN110781299A (zh) | 资产信息识别方法、装置、计算机设备及存储介质 | |
US8661404B2 (en) | Method for improving execution efficiency of a software package customization | |
CN108563768A (zh) | 不同数据模型的数据转换方法、装置、设备及存储介质 | |
US10628465B2 (en) | Generating a ranked list of best fitting place names | |
CN112241506A (zh) | 用户行为的回溯方法、装置、设备及系统 | |
CN1956454B (zh) | 基于加权成本捆绑并发送工作单元到服务器的方法和系统 | |
CN109284321A (zh) | 数据加载方法、装置、计算设备和计算机可读存储介质 | |
CN112686717B (zh) | 一种广告召回的数据处理方法及系统 | |
US20230076923A1 (en) | Semantic search based on a graph database | |
CN110348672A (zh) | 业务决策方法、装置、计算设备和计算机可读存储介质 | |
US10762089B2 (en) | Open ended question identification for investigations | |
US8406384B1 (en) | Universally tagged frequent call-routing user queries as a knowledge base for reuse across applications | |
CN105574031B (zh) | 用于数据库索引的方法和系统 | |
CN113553431B (zh) | 用户标签提取方法、装置、设备及介质 | |
CN105933398A (zh) | 内容分发网络中的访问请求转发方法和系统 | |
CN105933399A (zh) | 基于sdn的内容分发网络的实现方法和系统 | |
CN113408254A (zh) | 一种页面表单信息填写方法、装置、设备和可读介质 | |
CN110209780A (zh) | 一种问题模板生成方法、装置、服务器及存储介质 | |
US11144610B2 (en) | Page content ranking and display | |
US10825254B1 (en) | Augmented reality book selection-assist | |
US11102161B2 (en) | Social networking service content sharing | |
CN109345063B (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 |