[发明专利]一种基于分布式的公式计算方法在审
申请号: | 202010019355.0 | 申请日: | 2020-01-08 |
公开(公告)号: | CN111325008A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 李博;赵成龙;马海明 | 申请(专利权)人: | 中联财联网科技有限公司 |
主分类号: | G06F40/18 | 分类号: | G06F40/18;G06F40/186;H04L29/08;G06Q10/06 |
代理公司: | 北京劲创知识产权代理事务所(普通合伙) 11589 | 代理人: | 徐家升 |
地址: | 100032 北京市西城区复兴*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 公式 计算方法 | ||
1.一种基于分布式的公式计算方法,其特征在于,包括:
定义通用公式库并持久化;
初始化公式交叉引用关系;
系统自动评估计算量并将计算任务发送到节点服务器;
解析公式计算结果;
查询被影响的公式并解析公式计算结果。
2.根据权利要求1所述的基于分布式的公式计算方法,其特征在于,所述定义通用公式库并持久化,包括:
首先要定义通用公式中所需要使用的变量:它是公式引擎中的最小因子,其特点是基于坐标形式,如:P(X,Y),x代表数据行,y则代表数据列;对应的变量名称分别则表示为X1或者Y1;
其次,要定义普通公式,每个公式由普通变量组成,如:(A1+B1)-C2*D3;
另外,还有一些特殊公式的定义,其特点是其中的变量与普通变量不一致,它不适用于坐标形式,而是一个全局唯一的值,它代表特殊的含义,在公式引擎解析时,遇到特殊变量则进行特殊处理;包含特殊变量的公式则定义为特殊公式,如:(A10001+B10006)-C1/D5,其中“A100001“,不代表A列100001行;
在实际应用公式的场景中,通常会出现公式中包含另外一个公式的情况,针对这样的使用场景,系统支持公式的交叉引用,只要满足公式之间的交叉引用不是无限循环即可,公式之间的相互引用关系,需要系统初始化配置在关系数据库中并通过特定字段标识两个公式之间的引用关系。
3.根据权利要求2所述的方法,其特征在于,所述通用公式引擎解析并计算结果,包括:
A、获取需要计算的公式数量,并根据平均分配算法,荣枯算法将待计算的公式发送到指定节点服务器;
B、节点服务器收到计算任务,将解析公式中所包含的变量并预加载到内存中;
C、根据变量的类型(普通变量,特殊变量),通过搜索算法,将变量对应的值提取出来,并预加载到内存中;
D、公式中包含的函数,则调用JEP计算结果并将结果替换到对应的公式中;
E、根据A-D的执行步骤,将搜索的值替换公式中的变量,调用JEP引擎将公式带入计算出结果;
F、根据以上步骤递归处理受当前公式影响的其他公式。
4.根据权利要求3所述的方法,其特征在于,所述使用递归算法处理被影响的公式,包括:
A、把当前公式作为条件,去关系数据库查询被影响的公式;
B、根据权利3所述的步骤,计算对应的公式结果;
C、递归处理A-B步骤;
D、用户更新某一公式的某个值表达式时,会自动计算当公式所影响的结果并存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中联财联网科技有限公司,未经中联财联网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010019355.0/1.html,转载请声明来源钻瓜专利网。