本发明涉及财务指标智能计算技术领域,具体为一种基于公式财务指标智能计算的方法及系统。
背景技术:
为了减少低效重复开发,节约项目成本,提高作业效率,使开发人员专注于业务,不需要考虑具体的指标计算过程。旨在建设一套功能完整、性能稳定,满足在不改动程序代码的情况下,经过灵活简单调整后满足大部分指标计算需求的指标(公式)计算程序,使开发人员专注于具体计算业务,提供需要计算的数据和计算公式,而不需要考虑如何计算,且业务变化时只需要修改相应的公式即可,避免投入研发成本。
因此,我们提出一种基于公式财务指标智能计算的方法用于解决上述问题。
技术实现要素:
本发明的目的在于提供一种基于公式财务指标智能计算的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于公式财务指标智能计算的方法,包括以下步骤:
s1:通过reader接口将数据和公式导入到内存模块,完成读取;
s2:计算引擎模块根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性;
s3:随机生成唯一字母标识代替s2中的定位属性,并将所述唯一字母标识与s2中的所述定位属性组合成键值对;
s4:编历键值对,根据定位属性从读取的数据集中找到参与计算的数据,调用spel对公式进行计算;
s5:通过forkjoin工作窃取算法,对计算任务进行切割,根据cpu核心数,动态决定每个任务切片含有的计算公式数量;
s6:每个任务切片分别调用writer接口将计算结果保存到存储介质模块中。
一种基于公式财务指标智能计算的系统,包括:
计算公式读取模块:通过reader接口实现公式和数据读取和加载;
参与计算的基本数据读取模块;
计算结果的保存模块:保存系统中随机生成的定位属性组合成键值对;
计算核心引擎模块:根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性,随机生成唯一字母标识代替定位属性,并将所述唯一字母标识与所述定位属性组合成键值对。
优选的,所述系统基于springboot框架环境,并遵循springboot规范,提供indexcalculationautoconfiguration。
与现有技术相比,本发明的有益效果是:本发明公开了一种财务指标计算技术。涉及数据计算技术领域。包括计算公式的读取、参与计算的基本数据读取、计算结果的保存以及计算核心引擎四个模块组成,程序提供计算公式的读取、参与计算的基本数据读取、计算结果的保存的接口、默认实现以及插拔式集成,方便使用者根据接口二次开发。本程序会根据计算公式自动从使用者只需要关注数据来源以及计算结果保存,不需要考虑如何计算。当公式变化时,只需要更改公式,不需要修改程序代码,提高开发效率,降低运维成本。
附图说明
图1为本发明中系统示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种基于公式财务指标智能计算的方法,包括以下步骤:
s1:通过reader接口将数据和公式导入到内存模块,完成读取;
s2:计算引擎模块根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性;
s3:随机生成唯一字母标识代替s2中的定位属性,并将所述唯一字母标识与s2中的所述定位属性组合成键值对;
例如:公式(#{141600101}-#{141600101_100})/#{141600101_100})中每一个计算因子的定位属性,由于spel只能以字母作为计算变量,因此系统随机生成唯一字母标识代替原本的定位属性(如:#a-#b)/#c),并将唯一字母标识与定位属性组合成键值对。
公式中每一个计算因子的定位属性使用数据的唯一维度组合。
s4:编历键值对,根据定位属性从读取的数据集中找到参与计算的数据,调用spel对公式进行计算;
s5:通过forkjoin工作窃取算法,对计算任务进行切割,根据cpu核心数,动态决定每个任务切片含有的计算公式数量,重复压榨cpu性能,提高程序计算性能;
s6:每个任务切片分别调用writer接口将计算结果保存到存储介质模块中。
一种基于公式财务指标智能计算的系统,包括:
计算公式读取模块:通过reader接口实现公式和数据读取和加载;
参与计算的基本数据读取模块;
计算核心引擎模块:根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性,随机生成唯一字母标识代替定位属性,并将所述唯一字母标识与所述定位属性组合成键值对;
计算结果的保存模块:保存系统中随机生成的定位属性组合成键值对。
优选的,所述系统基于springboot框架环境,并遵循springboot规范,提供indexcalculationautoconfiguration,将程序包导入springboot系统后,系统相关组件会自动初始化加载,用户可直接调用,无需任何配置。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
1.一种基于公式财务指标智能计算的方法,其特征在于,包括以下步骤:
s1:通过reader接口将数据和公式导入到内存模块,完成读取;
s2:计算引擎模块根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性;
s3:随机生成唯一字母标识代替s2中的定位属性,并将所述唯一字母标识与s2中的所述定位属性组合成键值对;
s4:编历键值对,根据定位属性从读取的数据集中找到参与计算的数据,调用spel对公式进行计算;
s5:通过forkjoin工作窃取算法,对计算任务进行切割,根据cpu核心数,动态决定每个任务切片含有的计算公式数量;
s6:每个任务切片分别调用writer接口将计算结果保存到存储介质模块中。
2.一种基于公式财务指标智能计算的系统,其特征在于,包括:
计算公式读取模块:通过reader接口实现公式和数据读取和加载;
参与计算的基本数据读取模块;
计算核心引擎模块:根据所述公式中的标识“#{}”进行解析公式,确定公式中每个计算因子的定位属性,随机生成唯一字母标识代替定位属性,并将所述唯一字母标识与所述定位属性组合成键值对;
计算结果的保存模块:保存系统中随机生成的定位属性组合成键值对。
3.根据权利要求2所述的一种基于公式财务指标智能计算的系统,其特征在于:所述系统基于springboot框架环境,并遵循springboot规范,提供indexcalculationautoconfiguration。
技术总结