[发明专利]基于有向图处理自定义公式的方法、系统及存储介质在审
| 申请号: | 202111119570.9 | 申请日: | 2021-09-24 |
| 公开(公告)号: | CN113886459A | 公开(公告)日: | 2022-01-04 |
| 发明(设计)人: | 李茂盛;王程华;朱名墙;孙迁 | 申请(专利权)人: | 深圳市云网万店电子商务有限公司 |
| 主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
| 代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 黄玉东 |
| 地址: | 518020 广东省深圳市罗湖区东门街道城*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 处理 自定义 公式 方法 系统 存储 介质 | ||
本发明属于数据处理技术领域,公开了一种基于有向图处理自定义公式的方法、系统及存储介质,该方法包括:加载自定义公式并查找公式所依赖的元素,根据所述元素正向构建有向图;利用环检测算法对所述有向图中的元素进行依赖检测;执行反向依赖处理,对公式进行化简;根据公式ID查询到简化后的自定义公式并代入业务系统完成计算。本发明的方法及系统,能够自动检测自定义公式里死循环依赖问题,对多层嵌套的自定义公式进行快速化简,并根据不同业务需求增加相应的处理逻辑来对公式进行功能增强。此外通过监控Zookeeper节点,公式更新时能自动感知并更新化简公式,使用公式的业务系统对此过程保持透明。
技术领域
本发明属于数据处理技术领域,尤其涉及一种基于有向图处理自定义公式的方法及系统。
背景技术
随着大数据技术的发展,数据处理技术在各类场景中应用越来越广,当计算复杂指标的结果时,由简单指标计算组成的自定义公式因其可灵活组装,业务计算规则清晰的特性,在各类数据处理计算过程中广泛应用。
自定义计算公式因其灵活特性,可由简单指标经过逻辑叠加、四则运算等规则组成,也可由其他自定义计算公式互相嵌套组成。所以自定义公式中天然存在多层嵌套的可能。
相互多层嵌套容易出现死循环,进而导致计算复杂,自定义公式计算前,需要将自定义的公式化简为简单指标表示形式,此时如果公式中存在循环依赖,即公式A中使用了公式B,公式B中又使用了公式A,则会出现死循环。为了避免有循环依赖的公式在计算过程中出现的死循环问题,在化简自定义公式为简单指标表示前,需要检测出公式中的循环依赖问题。此外,自定义公式多层嵌套,计算公式结果时,不能直接用可替换为数据的简单指标,需要先将公式化简,由自定义公式表示形式转换为由简单指标表示形式,然后直接用具体数据替换简单指标,计算出最终的公式结果。
因此,如何提出一种解决自定义公式多重依赖的方法是目前需要解决的技术问题。
发明内容
本发明的目的是,提供一种基于有向图处理自定义公式的方法及系统,以解决现有技术中循环依赖和多层嵌套带来的计算处理较为复杂的问题。
为解决上述技术问题,本发明的第一方面,提供了一种基于有向图处理自定义公式的方法,该方法包括:
从存储区加载自定义公式并查找公式所依赖的元素,根据所述元素正向构建有向图;
利用环检测算法对所述有向图中的元素进行依赖检测;
执行反向依赖处理过程,对公式进行化简;
根据公式ID查询到简化后的自定义公式并代入业务系统完成计算。
进一步地,所述自定义公式存储在Zookeeper节点中并被分配唯一ID,并在MySQL保存备份。
进一步地,所述方法还包括:自动监测各所述Zookeeper节点的数据变化,当所述Zookeeper节点存在自定义公式更新时,重新从所述存储区加载更新后的自定义公式并执行后续处理。
进一步地,在执行反向依赖处理过程中,将自定义处理逻辑抽象化为函数式接口,业务系统根据实际需要进行公式的自定义逻辑处理。
进一步地,所述利用环检测算法对所述有向图中的元素进行依赖检测包括:
构造顶点入度数组,其中,数组下标和顶点索引对应,数组保存对应顶点的入度;
构造辅助队列,入度为0的顶点入队列;
辅助队列中取出入度为0的顶点,对指向的顶点入度减一并更新入度数组,指向顶点入度为0时入队列,否则继续第2步,从队列中取顶点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市云网万店电子商务有限公司,未经深圳市云网万店电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111119570.9/2.html,转载请声明来源钻瓜专利网。





