CN116263802B - 一种基于金融领域的计算引擎系统 - Google Patents
一种基于金融领域的计算引擎系统 Download PDFInfo
- Publication number
- CN116263802B CN116263802B CN202210247015.2A CN202210247015A CN116263802B CN 116263802 B CN116263802 B CN 116263802B CN 202210247015 A CN202210247015 A CN 202210247015A CN 116263802 B CN116263802 B CN 116263802B
- Authority
- CN
- China
- Prior art keywords
- function
- parameter
- calculation
- library
- module
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Finance (AREA)
- Computational Mathematics (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种基于金融领域的计算引擎系统,所述系统包括业务管理模块,任务管理器模块,通用计算引擎模块和数据抽取模块,业务管理模块包括业务管理数据库单元,业务管理数据库单元用于保存业务数据;任务管理器模块,用于创建业务任务,并施加业务任务需要执行的函数;通用计算引擎模块用于从业务管理模块中获取函数中定义为入参的参数对应的业务数据,并管理参数库、决策表库和函数库,通过计算模块实现函数计算;数据抽取模块与业务管理模块和通用计算引擎模块相连,调度业务管理数据库的业务数据到通用计算引擎模块中,并将计算模块的计算结果抽取后保存至业务管理模块中;本系统可快速可视化配置计算规则,实时、批处理计算出结果。
Description
技术领域
本发明涉及计算机技术领域。具体而言,涉及一种基于金融领域的计算引擎系统。
背景技术
代理人佣金计算、渠道商手续费计算、代理人自保件互保件的识别等场景在保险行业的销售管理方面普遍存在,目前,现有的销售管理系统中,计算逻辑、规则均在代码中实现,无法支持业务人员直接在页面上进行规则、公式全中文配置,并且不可追溯计算过程,一旦计算出错,排查问题十分困难,同时,由于业务的快速发展及业务模式灵活多变,经常会涉及到规则的变化,修改某处规则后,需要修改代码,上线周期长,无法快速响应业务的变化。
发明内容
本发明正是基于现有技术的上述需求而提出的,本发明要解决的技术问题是提供一种基于金融领域的计算引擎系统。
为了解决上述问题,本发明是采用如下技术方案实现的:
一种基于金融领域的计算引擎系统,该系统包括:
业务管理模块,包括业务管理数据库单元,所述业务管理数据库单元用于保存业务数据,所述业务数据包括保单交易信息、组织机构信息、佣金管理信息和手续费管理信息;
任务管理器模块,用于创建业务任务,并向所述业务任务施加需要执行的函数;所述业务任务包括佣金管理任务和手续费管理任务;
通用计算引擎模块,包括参数库、决策表库、函数库和计算模块,所述参数库包括计算时所需的参数;所述决策表库包括决策方案,所述决策表库与所述参数库关联以引用所述参数库中的参数,所述参数类型包括入参和出参;所述函数库包括函数信息,所述函数库与所述参数库或所述决策表库关联以引用计算函数所需的参数和/或所述决策方案;
所述计算模块,与所述业务管理模块相关,与任务管理模块相连,所述计算单元包括所述获取单元、函数依赖分析单元和函数计算单元;所述获取单元用于从所述业务管理模块中获取所述函数中定义为入参的参数对应的业务数据;所述函数依赖分析单元用于分析所述任务管理模块施加的需要执行的函数,基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中;所述函数计算单元用于从缓存中调出函数的执行顺序和所述业务数据,进行函数计算,获得计算结果;
数据抽取模块,与所述业务管理模块和所述通用计算引擎模块相连,调度业务管理数据库的业务数据到所述通用计算引擎模块中,并将所述计算模块的计算结果抽取后保存至所述业务管理模块中。
可选地,所述业务管理模块还包括基本法管理单元和协议管理单元,并在所述任务管理器模块中,将所述基本法管理单元或所述协议管理单元与所述业务任务需要执行的函数进行关联。
可选地,所述函数库的函数信息还包括算术函数、条件函数和决策表引用函数的函数类型,根据所定义的函数类型,进行不同类别计算,将计算结果返回至所述数据抽取模块。
可选地,所述参数库定义的参数包括所述基本法管理单元包含的基本法相关的参数,以及所述协议管理单元包含的与渠道商签订的协议相关的参数;其中,所述基本法为业务计算的指导性文件。
可选地,所述任务管理模块包括参数输入单元、基本法单元和函数确定单元;所述参数输入单元用于输入任务参数,所述任务参数包括任务名称、任务类别、计算场景、合伙人、合伙人机构和任务执行时间;所述基本法单元用于基于所述参数输入单元确认基本法,所述函数确定单元用于基于所述参数输入单元和所述基本法单元,确定需要执行的函数;
所述数据抽取模块根据与所述参数库中参数类型为入参的参数相关联的取值表,从所述业务管理模块中调度对应的业务数据;通过与所述参数库中参数类型为出参的参数相关联的取值表,将所述计算模块中的计算结果抽取后保存至所述业务管理模块中。
可选地,基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中,包括:
初始化数据子单元:初始化数据,包括节点名称、入参和出参,其中,每个函数对应一个节点,每个节点都有一个节点名称;
生成双向链表子单元:根据函数间入参与出参的关系,建立节点间的联系,即根据当前节点定义为出参的参数,找到对应参数的参数类型为入参的函数作为下一个节点,形成双向链表,所述双向链表的每个节点包括前驱节点和后继节点;
检测环状结构子单元:判断所述双向链表是否存在环状结构,即依次判断每个节点的各个前驱节点或后继节点,在所述双向链表中是否存在与当前节点名称相同的其他节点,若有,则证明存在环状结构,否则不存在环状结构,为有向无环图;
排列函数子单元:根据有向无环图的图解顺序,即生成的双向链表,将所有节点对应的函数进行排列并存储至缓存中,供计算时使用;排列算法包括:没有前驱节点的节点所代表的函数作为其所在函数库的入口函数,将其后继节点所代表的函数排列后一位。
可选地,所述计算模块还包括当调用函数进行计算时,可指定入口函数开始计算;若未指定入口函数,则以函数库的入口函数开始计算。
与现有技术相比,本发明的有益效果在于:系统模块间松耦合,计算规则变化时,业务代码无需修改,快速支持业务场景灵活变化;通过页面化全中文规则配置设计方式,业务人员可以在页面上对规则进行自行配置及调整,可读性高,学习成本低;在计算引擎中沉淀公共指标库,可快速复用于不同业务场景。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明具体实施方式提供的一种基于金融领域的计算引擎系统的架构示意图;
图2是本发明具体实施方式提供的一种基本法佣金计算场景在计算引擎系统中实施流程示意图;
图3是本发明具体实施方式提供的一种基于金融领域的计算引擎系统的参数库管理模块的页面设计;
图4是本发明具体实施方式提供的一种基于金融领域的计算引擎系统的决策表库管理模块的页面设计;
图5是本发明具体实施方式提供的一种基于金融领域的计算引擎系统的函数库管理模块的页面设计。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
本具体实施方式提供了一种基于金融领域的计算引擎系统,所述系统如图1所示,包括:
业务管理模块,包括业务管理数据库单元,所述业务管理数据库单元用于保存业务数据,所述业务数据包括保单交易信息、组织机构信息、佣金管理信息和手续费管理信息。
任务管理器模块,用于创建业务任务,并向所述业务任务施加需要执行的函数;所述业务任务包括佣金管理任务和手续费管理任务。
通用计算引擎模块,包括参数库、决策表库、函数库和计算模块,所述参数库包括计算时所需的参数;所述决策表库包括决策方案,所述决策表库与所述参数库关联以引用所述参数库中的参数;所述函数库包括函数信息,所述函数库与所述参数库和/或所述决策表库关联以引用计算函数所需的参数或所述决策方案;
所述计算模块,与所述业务管理模块相关,与任务管理模块相连,所述计算单元包括所述获取单元、函数依赖分析单元和函数计算单元;所述获取单元用于从所述业务管理模块中获取所述函数中定义为入参的参数对应的业务数据;所述函数依赖分析单元用于分析所述任务管理模块施加的需要执行的函数,基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中;所述函数计算单元用于从缓存中调出函数的执行顺序和所述业务数据,进行函数计算,获得计算结果。
数据抽取模块,与所述业务管理模块和所述通用计算引擎模块相连,调度业务管理数据库的业务数据到所述通用计算引擎模块中,并将所述计算模块的计算结果抽取后保存至所述业务管理模块中。
所述业务管理模块还包括基本法管理单元和协议管理单元,并在所述任务管理器模块中,将所述基本法管理单元或所述协议管理单元与所述业务任务需要执行的函数进行关联。
所述函数库的函数信息还包括算术函数、条件函数和决策表引用函数的函数类型,根据所定义的函数类型,进行不同类别计算,将计算结果返回至所述数据抽取模块。
所述参数库定义的参数包括所述基本法管理单元包含的基本法相关的参数,以及所述协议管理单元包含的与渠道商签订的协议相关的参数;其中,所述基本法为业务计算的指导性文件。
所述任务管理模块包括参数输入单元、基本法单元和函数确定单元;所述参数输入单元用于输入任务参数,所述任务参数包括任务名称、任务类别、计算场景、合伙人、合伙人机构和任务执行时间;所述基本法单元用于基于所述参数输入单元确认基本法,所述函数确定单元用于基于所述参数输入单元和所述基本法单元,确定需要执行的函数。
所述数据抽取模块根据与所述参数库中参数类型为入参的参数相关联的取值表,从所述业务管理模块中调度对应的业务数据;通过与所述参数库中参数类型为出参的参数相关联的取值表,将所述计算模块中的计算结果抽取后保存至所述业务管理模块中。
通过在参数库中将参数与取值表相关联,与业务管理模块只有数据的交互,当业务管理模块中的代码发生改变时,不影响计算引擎系统,可以动态地定义计算规则。
基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中,包括:
初始化数据子单元:初始化数据,包括节点名称、入参和出参,其中,每个函数对应一个节点,每个节点都有一个节点名称;
生成双向链表子单元:根据函数间入参与出参的关系,建立节点间的联系,即根据当前节点定义为出参的参数,找到对应参数的参数类型为入参的函数作为下一个节点,形成双向链表,所述双向链表的每个节点包括前驱节点和后继节点;
检测环状结构子单元:判断所述双向链表是否存在环状结构,即依次判断每个节点的各个前驱节点或后继节点,在所述双向链表中是否存在与当前节点名称相同的其他节点,若有,则证明存在环状结构,否则不存在环状结构,为有向无环图;
排列函数子单元:根据有向无环图的图解顺序,即生成的双向链表,将所有节点对应的函数进行排列并存储至缓存中,供计算时使用;排列算法包括:没有前驱节点的节点所代表的函数作为其所在函数库的入口函数,将其后继节点所代表的函数排列后一位。
所述计算模块还包括当调用函数进行计算时,可指定入口函数开始计算;若未指定入口函数,则以函数库的入口函数开始计算。
另外,参数库定义的参数与业务任务有关,例如,当执行佣金管理任务时,参数库的参数是基于所述基本法管理单元包含的基本法文件进行定义,当执行手续费管理任务时,参数库的参数是通过所述协议管理单元包含的与渠道商签订的协议进行定义。
在通用计算引擎中,建立参数库管理模块对参数库进行管理。
参数库管理模块,定义计算时所用到的参数,作为数据的载体,负责数据的传递,完成函数库、决策表与业务数据的交互;用于管理计算引擎计算需要的参数,涵盖参数对象、与计算单元的关系、参数名、数据类型,以上几个元素的值可以在页面上进行定义,同时还可以通过EXCEL上传方式维护到系统中,新增后的参数库默认为试算状态。
所述参数库管理模块,包括:
参数对象名称,对应参数对应的业务领域对象名称;
与计算单元关系,业务对象模型与计算单元的关系,计算单元是指要将数据按业务最小粒度提交给计算引擎进行计算的一个计量单位;
参数名,参与计算的数据字段名称,使用中文定义;
数据类型,参数对应的数据类型,目前支持字符串、浮点数、整数、长整数、日期、时间;
参数类型,包含入参、出参,将计算引擎计算所需要的数据定义为参数,将需要计算引擎计算出结果的数据定义为出参。
所述与计算单元关系,包括:一对一,一对多:
一对一:表示一个计算单元,拥有一个的当前领域对象,如当代理人作为计算单元时,代理人对象与计算单元的关系为一对一;
一对多:表示一个计算单元,拥有多个的当前领域对象,如当代理人作为计算单元时,代理人对象与保单对象的关系为一对多,一个代理人可以有多个保单。
在通用计算引擎中,建立决策表库管理模块对决策表库进行管理。
决策表库管理模块,以表格形式表现规则的工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况,包含普通决策表库和交叉决策表库。用于管理1个或多个用表格形式表示的条件表达式及条件表达式对应的取值;决策表库新增时,需选择关联某个参数库,关联成功后,就可以在决策表中引用已关联的参数库中的参数;决策表可以通过excel上传方式维护到系统中,当某个计算场景中需要用到多个决策表时,可以在一个EXCEL中维护多个sheet页,当上传excel文件后,系统可以解析成多个决策表,在页面上可针对某个决策表进行修改,新维护的决策表库默认为试算状态。
所述普通决策表及交叉决策表,包括:
普通决策表,整体可分为左右两部分,左边为条件列部分,右边为出参列部分,左右分隔的依据为单元格内是否为逻辑表达式,条件列可以有多列,出参可以有多个;
交叉决策表,交叉决策表的条件由纵向和横向两个维度决定,交叉决策表中出参部分就是纵向和横向两个维度交叉后的单元格的值,一般来说,交叉决策表的出参列只有一个。
在通用计算引擎中,建立函数库管理模块对函数库进行管理。
函数库管理模块,将所有计算指标定义为一个个的函数,每个函数的核心主要是函数体中所定义的计算公式和规则;在函数库中将每个函数的计算关系定义好之后,计算服务可以通过入口函数开始,逐层递归查找,从最内层到最外层函数分层计算,最终得出总结果,若未定义入口函数,则针对整个函数库解析出最顶层函数开始执行。
具体用于管理某计算场景中需要计算的指标项及对应的计算规则或公式,该模块为计算引擎执行的入口。当新增某个函数库时,需选择关联某个决策表库及参数库,关联成功后,就可以在函数库中引用已关联参数库中的参数及定义决策表引用函数。函数库可通过页面及EXCEL导入的方式进行新增,函数库支持条件函数、决策表引用及算术函数,条件函数的函数体书写规则为:如果条件表达式,返回结果1;否则返回结果2;可以存在多个条件表达式;算术函数的函数体书写规则为算术表达式,可包含“+、-、*、/、()”等;决策表引用函数的函数体书写规则为:决策表名称:{决策表名称}。函数库新增后,默认为试算状态,当真正线上运行时,可将状态由试算变为生效,函数库一旦生效,其关联的参数库和决策表库同步生效。
所述函数库管理,包括:函数类型、出参名称、参数列表、函数体及精度位:
函数类型,包含条件函数、算术函数及决策表引用;
出参名称,定义需要计算引擎进行计算的参数名;
参数列表,计算出参时所用到的参数名,可以包含入参及出参;
函数体,定义出参计算逻辑,规则及公式,不同的函数类型,函数体定义格式不同;
精度位,定义出参计算结果保留位数,默认为4位,可进行修改。
数据抽取服务模块,包括服务器,所述服务器与所述业务管理数据库和通用计算引擎相连,调度业务管理数据库的业务数据到所述通用计算引擎模块中,并将计算结果抽取后保存至业务管理系统数据库中。
在本发明实施例中,所提到的参数库管理模块、决策表库管理模块及函数库管理模块均可以通过页面化实现,所有的信息均可通过全中文完成维护。
参数库页面化维护如图3所示,参数对象列支持文本框输入,参数对象名称长度限制20个中文字符以内;与计算单元关系列支持下拉选择,一对一或者一对多;参数名列支持文本框输入,参数对象名称长度限制20个中文字符以内;数据类型列支持下拉选择,下拉选项包含整数、长整数、日期、时间、浮点数、字符串;参数类型列支持下拉选择,下拉选项包含出参、入参。
决策表库维护如图4所示,以个人所得税预扣率决策表为例,个人所得税预扣率列维护的为条件表达式,税费.预扣率及税费.速算扣除数列分别维护的为固定的值,决策表取值时,可以根据个人所得税预扣率列的条件表达式值,税费.预扣率及税费.速算扣除数列对应的值。
函数库维护如图5所示,函数类型列支持下拉选择,下拉选项包含算术函数、条件函数、决策表引用;出参名称列支持下拉单选,下拉选项为已关联的参数库中的所有出参;参数列表列支持下拉多选,下拉选项取值为所关联参数库的所有参数,以级联的方式展现,第一级为参数对象,点击某个参数对象时,级联展示出该参数对象对应的所有参数名称;函数体列可以通过文本框方式输入;精度位列支持下拉选择,默认展示保留4位,下拉选项包含保留4位、保留8位、保留16位、保留32位;每个函数的计算结果精度均按该列定义的位数进行处理。
本发明实施例以保险公司代理人佣金计算为场景,其流程如图2所示,具体包括:
在执行业务任务之前需要基于基本法文件,对参数库、决策表库和函数库在对应的页面中进行配置;所述基本法文件为业务计算的指导性文件,包括相关业务的配置人员、组织架构和计算逻辑,并在基本法管理模块中对基本法的基本信息进行维护。
具体配置包括:
将计算时需要的参数添加至参数库中。
例如佣金计算,需要将佣金计算中用到的参数添加至参数库中,并在参数库中维护,所述参数包括代理人信息、保单信息、下属保单信息、佣金配置项、加扣款和税费。
将计算时需要的决策方案添加至决策表库中,并且所述决策表库与所述参数库关联以引用所述参数库中的参数。
例如佣金计算,需要将佣金计算中用到的决策方案添加至决策表库中,所述决策方案包括各险种对应的佣金费率、代理人的固定薪资、浮动岗位津贴和个人所得税预扣,并且需要说明的新建决策表库时需要先关联参数库,否则将无法确定引用的参数库,导致保存不成功。
将计算时需要的函数添加至函数库中,并且所述函数库与所述参数库或所述决策表库关联以引用计算函数所需的参数或所述决策方案。
例如佣金计算,需要将佣金计算中用到的函数添加至函数库中,对参数库中参数类型为出参的参数定义为函数库中的函数,并在函数体中填写每个函数执行或计算逻辑。如:佣金项.实发底薪=佣金配置项.固定底薪*出勤信息.出勤率。
函数库保存时,计算引擎的算术表达式分析器会校验数学算式是否符合语法规则;逻辑校验表达式分析器会校验逻辑表达式是否符合语法规则,若不符合将不会保存成功。
在所述任务管理器模块中,将基本法管理模块与所述业务任务需要执行的函数进行关联。
当全部配置完成后,在任务管理模块创建佣金计算的定时任务,定时任务执行时,需要调用计算引擎的计算模块。
创建保险公司代理人佣金计算任务,包括选择合伙人、合伙人机构和团队,选择基本法状态,所述基本法状态包括试算和正式,指定执行时间;当启动定时任务后,调用与佣金计算任务对应的计算模块。
所述计算模块执行包括:
计算模块支持定义具体的入口函数,即直接执行某个函数库的某个具体的函数,若需执行多个入口函数,则函数之间用逗号隔开;若未定义任何的入口函数,则表示执行整个函数库中的所有函数。
由于函数直接存在依赖关系,函数依赖分析单元用于判断函数之间的依赖关系,确认函数的执行顺序,例如:执行“函数佣金项.实发底薪=佣金配置项.固定底薪*出勤信息.出勤率”时,函数依赖分析单元会解析出函数“佣金项.实发底薪”依赖于函数“佣金配置项.固定底薪”及函数“出勤信息.出勤率”,故函数“佣金项.实发底薪”会最后执行。
所述函数计算单元用于从缓存中调出函数的执行顺序和所述业务数据,进行函数计算,获得计算结果。
计算模块逻辑中的条件函数执行器、决策表函数执行器、算术函数执行器分别用于执行条件函数、决策表引用、算术函数三种类型的函数;
当计算引擎对代理人所有佣金项计算完成后,通过数据抽取服务返回到业务系统佣金管理模块,佣金管理模块对计算结果进行保存,并通过页面方式将佣金计算结果进行展示。
所述系统使用基于Java8高性能缓存caffeine管理数据,快速读取并进行数据计算;摒弃Redis的数据存储与读取,减少网络输入/输出(Input/Output,I/O);基于Redis编写消息队列与补偿机制保证数据一致性;运用多种设计(如工厂模式、单例等模式)减少对服务器内存使用压力;尽可能创建较少的应用对象,减少Java虚拟机(Java VirtualMachine,JVM)的垃圾回收(Garbage Collection,GC)时间。综合以上技术及代码实现,较大提长了计算引擎的计算能力。在不考虑网络I/O等因素的情况下,比较复杂计算场景,计算时间能够控制在100ms以内。
本发明基于业务管理模块,任务管理器模块,通用计算引擎模块和数据抽取模块的协同工作,可快速可视化配置计算规则,实时、批处理计算出结果。所述系统模块间松耦合,计算规则变化时,业务代码无需修改,快速支持业务场景灵活变化;通过页面化全中文规则配置设计方式,业务人员可以在页面上对规则进行自行配置及调整,可读性高,学习成本低;在计算引擎中沉淀公共指标库,可快速复用于不同业务场景;给用户带来新颖的用户体验,让用户可以用汉字进行编程,当用户确认入参、出参和数据类型后,就可以通过四则运算以及逻辑表达式进行计算函数编程。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于金融领域的计算引擎系统,其特征在于,所述系统包括:
业务管理模块,包括业务管理数据库单元,所述业务管理数据库单元用于保存业务数据,所述业务数据包括保单交易信息、组织机构信息、佣金管理信息和手续费管理信息;
任务管理器模块,用于创建业务任务,并向所述业务任务施加需要执行的函数;所述业务任务包括佣金管理任务和手续费管理任务;
通用计算引擎模块,包括参数库、决策表库、函数库和计算模块,所述参数库包括计算时所需的参数;所述决策表库包括决策方案,所述决策表库与所述参数库关联以引用所述参数库中的参数,参数类型包括入参和出参;所述函数库包括函数信息,所述函数库与所述参数库或所述决策表库关联以引用计算函数所需的参数和/或所述决策方案;
所述计算模块,与所述业务管理模块相关,与任务管理模块相连,所述计算模块包括获取单元、函数依赖分析单元和函数计算单元;所述获取单元用于从所述业务管理模块中获取所述函数中定义为入参的参数对应的业务数据;所述函数依赖分析单元用于分析所述任务管理模块施加的需要执行的函数,基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中;所述函数计算单元用于从缓存中调出函数的执行顺序和所述业务数据,进行函数计算,获得计算结果;
数据抽取模块,与所述业务管理模块和所述通用计算引擎模块相连,调度业务管理数据库的业务数据到所述通用计算引擎模块中,并将所述计算模块的计算结果抽取后保存至所述业务管理模块中;
基于函数间入参与出参之间的关系,建立节点间的联系,生成双向链表,并判断双向链表是否存在环状结构,当双向链表不存在环状结构时依据所述双向链表的顺序将对应的函数进行排序并存储至缓存中,包括:
初始化数据子单元:初始化数据,包括节点名称、入参和出参,其中,每个函数对应一个节点,每个节点都有一个节点名称;
生成双向链表子单元:根据函数间入参与出参的关系,建立节点间的联系,即根据当前节点定义为出参的参数,找到对应参数的参数类型为入参的函数作为下一个节点,形成双向链表,所述双向链表的每个节点包括前驱节点和后继节点;
检测环状结构子单元:判断所述双向链表是否存在环状结构,即依次判断每个节点的各个前驱节点或后继节点,在所述双向链表中是否存在与当前节点名称相同的其他节点,若有,则证明存在环状结构,否则不存在环状结构,为有向无环图;
排列函数子单元:根据有向无环图的图解顺序,即生成的双向链表,将所有节点对应的函数进行排列并存储至缓存中,供计算时使用;排列算法包括:没有前驱节点的节点所代表的函数作为其所在函数库的入口函数,将其后继节点所代表的函数排列后一位。
2.如权利要求1所述的一种基于金融领域的计算引擎系统,其特征在于,所述业务管理模块还包括基本法管理单元和协议管理单元,并在所述任务管理器模块中,将所述基本法管理单元或所述协议管理单元与所述业务任务需要执行的函数进行关联。
3.如权利要求1所述的一种基于金融领域的计算引擎系统,其特征在于,所述函数库的函数信息还包括算术函数、条件函数和决策表引用函数的函数类型,根据所定义的函数类型,进行不同类别计算,将计算结果返回至所述数据抽取模块。
4.如权利要求2所述的一种基于金融领域的计算引擎系统,其特征在于,包括:所述参数库定义的参数包括所述基本法管理单元包含的基本法相关的参数,以及所述协议管理单元包含的与渠道商签订的协议相关的参数;其中,所述基本法为业务计算的指导性文件。
5.如权利要求1所述的一种基于金融领域的计算引擎系统,其特征在于,所述任务管理模块包括参数输入单元、基本法单元和函数确定单元;所述参数输入单元用于输入任务参数,所述任务参数包括任务名称、任务类别、计算场景、合伙人、合伙人机构和任务执行时间;所述基本法单元用于基于所述参数输入单元确认基本法,所述函数确定单元用于基于所述参数输入单元和所述基本法单元,确定需要执行的函数;
所述数据抽取模块根据与所述参数库中参数类型为入参的参数相关联的取值表,从所述业务管理模块中调度对应的业务数据;通过与所述参数库中参数类型为出参的参数相关联的取值表,将所述计算模块中的计算结果抽取后保存至所述业务管理模块中。
6.如权利要求1所述的一种基于金融领域的计算引擎系统,其特征在于,所述计算模块还包括当调用函数进行计算时,可指定入口函数开始计算;若未指定入口函数,则以函数库的入口函数开始计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210247015.2A CN116263802B (zh) | 2022-03-14 | 2022-03-14 | 一种基于金融领域的计算引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210247015.2A CN116263802B (zh) | 2022-03-14 | 2022-03-14 | 一种基于金融领域的计算引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116263802A CN116263802A (zh) | 2023-06-16 |
CN116263802B true CN116263802B (zh) | 2023-08-29 |
Family
ID=86722801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210247015.2A Active CN116263802B (zh) | 2022-03-14 | 2022-03-14 | 一种基于金融领域的计算引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116263802B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228365A (zh) * | 2017-12-28 | 2018-06-29 | 杭州马猴烧韭科技有限公司 | 一种函数请求发送方法、函数请求调用方法及装置 |
CN109144374A (zh) * | 2018-09-27 | 2019-01-04 | 范若愚 | 基于可视化规则引擎的业务处理方法、系统及相关设备 |
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN112364290A (zh) * | 2020-11-18 | 2021-02-12 | 中睿信数字技术有限公司 | 一种基于流式计算的可视化计算模型构建方法和系统 |
CN112394922A (zh) * | 2020-12-02 | 2021-02-23 | 成都新希望金融信息有限公司 | 决策配置方法、业务决策方法和决策引擎系统 |
CN112585547A (zh) * | 2019-03-13 | 2021-03-30 | 欧姆龙株式会社 | 分析装置、分析方法以及分析程序 |
CN113159618A (zh) * | 2021-05-11 | 2021-07-23 | 中国建设银行股份有限公司 | 一种技术视角分离的规则引擎设计方法和装置 |
CN113254061A (zh) * | 2021-06-02 | 2021-08-13 | 深圳前海大道金融服务有限公司 | 基于规则引擎的业务决策方法、系统及存储介质 |
CN113283706A (zh) * | 2021-04-25 | 2021-08-20 | 青岛海尔科技有限公司 | 计算顺序的确定方法及装置、存储介质及电子装置 |
CN113885961A (zh) * | 2021-10-09 | 2022-01-04 | 上海得帆信息技术有限公司 | 一种aPaaS平台的公式规则可视化实现的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025650A1 (en) * | 2012-07-18 | 2014-01-23 | Microsoft Corporation | Abstract relational model for transforming data into consumable content |
-
2022
- 2022-03-14 CN CN202210247015.2A patent/CN116263802B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228365A (zh) * | 2017-12-28 | 2018-06-29 | 杭州马猴烧韭科技有限公司 | 一种函数请求发送方法、函数请求调用方法及装置 |
CN109144374A (zh) * | 2018-09-27 | 2019-01-04 | 范若愚 | 基于可视化规则引擎的业务处理方法、系统及相关设备 |
CN112585547A (zh) * | 2019-03-13 | 2021-03-30 | 欧姆龙株式会社 | 分析装置、分析方法以及分析程序 |
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN112364290A (zh) * | 2020-11-18 | 2021-02-12 | 中睿信数字技术有限公司 | 一种基于流式计算的可视化计算模型构建方法和系统 |
CN112394922A (zh) * | 2020-12-02 | 2021-02-23 | 成都新希望金融信息有限公司 | 决策配置方法、业务决策方法和决策引擎系统 |
CN113283706A (zh) * | 2021-04-25 | 2021-08-20 | 青岛海尔科技有限公司 | 计算顺序的确定方法及装置、存储介质及电子装置 |
CN113159618A (zh) * | 2021-05-11 | 2021-07-23 | 中国建设银行股份有限公司 | 一种技术视角分离的规则引擎设计方法和装置 |
CN113254061A (zh) * | 2021-06-02 | 2021-08-13 | 深圳前海大道金融服务有限公司 | 基于规则引擎的业务决策方法、系统及存储介质 |
CN113885961A (zh) * | 2021-10-09 | 2022-01-04 | 上海得帆信息技术有限公司 | 一种aPaaS平台的公式规则可视化实现的方法 |
Non-Patent Citations (1)
Title |
---|
规则自动生成技术研究及其在医保审核中的应用;尚尔路;规则自动生成技术研究及其在医保审核中的应用;J161-29 * |
Also Published As
Publication number | Publication date |
---|---|
CN116263802A (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086894B1 (en) | Dynamically updated data sheets using row links | |
US11816100B2 (en) | Dynamically materialized views for sheets based data | |
CN110532536B (zh) | 一种规则配置方法及装置 | |
Schmidt | A model for R&D project selection with combined benefit, outcome and resource interactions | |
US12039462B2 (en) | Computerized system and method of open account processing | |
WO2018209081A1 (en) | Attributing meanings to data concepts used in producing outputs | |
CN110909226A (zh) | 金融类文档信息处理方法、装置、电子设备及存储介质 | |
CN111813680B (zh) | 测试脚本的生成方法、装置、计算机设备和存储介质 | |
US20180285982A1 (en) | Automated field-mapping of account names for form population | |
CN112966482A (zh) | 一种报表生成方法、装置及设备 | |
US11810022B2 (en) | Contact center call volume prediction | |
CN116263802B (zh) | 一种基于金融领域的计算引擎系统 | |
CN117472431A (zh) | 代码注释生成方法、装置、计算机设备、存储介质和产品 | |
CN110377891B (zh) | 事件分析文章的生成方法、装置、设备及计算机可读存储介质 | |
CN116450723A (zh) | 数据提取方法、装置、计算机设备及存储介质 | |
CN115269085A (zh) | 手机银行页面展示方法及装置 | |
CN105630761B (zh) | 公式处理方法及装置 | |
WO2022197707A1 (en) | System and method for serverless modification and execution of machine learning algorithms | |
US20210406228A1 (en) | Method and apparatus for visualizing a process map | |
CN101778110A (zh) | 业务协议挖掘方法及装置 | |
CN112685456A (zh) | 一种用户访问数据的处理方法、装置及计算机系统 | |
CN111639910A (zh) | 一种台账生成方法、装置、设备及存储介质 | |
US12106108B1 (en) | Systems and methods for creating determinations systems | |
US20030236765A1 (en) | Determining a characteristic function from a matrix with enrichment and compression | |
CN114416805B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |