基于依赖树拆分提高运算性能的方法及系统技术方案

技术编号:24331100 阅读:88 留言:0更新日期:2020-05-29 19:38
本发明专利技术提供基于依赖树拆分实现的分布式公式运算提高运算性能的方法,包括公式库,所述公式库包含存在依赖关系的公式;依赖分析模块,所述依赖分析模块用于分析公式库中的公式间存在的依赖关系;业务库,大数据框架,所述大数据框架用于联合依赖分析模块和业务库数据运行公式,本发明专利技术通过公式依赖分析+大数据框架实现公式库的快速执行,通过公式的依赖分析后,得到可以并发的拓扑结构,将拓扑结构提交到大数据框架,通过该方案的实施,提升了公式库的执行速度,保证了正确结果,可以满足海量的公式库的执行速度的需求。

Method and system of improving operation performance based on dependency tree splitting

【技术实现步骤摘要】
基于依赖树拆分提高运算性能的方法及系统
本专利技术涉及解决提升海量公式库执行速度、可靠性的
,尤其涉及基于依赖树拆分实现的分布式公式运算,提高运算性能,解决单体服务器运算崩溃死机方法及其系统。
技术介绍
公式是“规则”的具体描述,任何一个业务系统都会有无数的规则,它就像一个发动机是为了让我们更好的处理工作。假如在一个媒体发布系统里面,设置发布时间为“2019年10月10号上线”,那么这篇新闻必须等到这个时间点才能发布出去,又比如在一个系统里,输1得2,输2得4。这些就是规则的一种,通过它能够可以实现具体功能,系统里规则可能随时会发生变化,如政策法规、营销套路更新了,如果只是由程序员来修改规则,费时、费力,增加了控制成本。这个时候,如果用公式(表达式)来描述规则,事情就好办了,只需在公式编辑器里面修改公式,系统运行的规则就会跟着变化。系统中描述规则的公式有很多,称为“公式库”,公式库需要运行来驱动业务,运行的速度、可靠性直接关系到系统能力,目前公式引擎在设计存在一定的局限性:(1)性能不足:基于单体服务执行公式,受限于单台机本文档来自技高网...

【技术保护点】
1.基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:包括/n分析公式依赖关系的步骤,业务系统包含的规则库,其中的规则存在相互依赖的关系,执行时必须是被依赖的公式先执行,对公式的依赖关系进行分析,将公式库解析成由单个公式组成的多颗树,将公式库拆解成森林结构;/n构造带层次拓扑结构的步骤,按照公式库与单个公式之间相互依赖的关系,将单个公式与公式库组成有引用关系组成的有向图,将公式库构造成带层次拓扑结构的公式库;/n大数据框架并行、批量运行公式的步骤,大数据框架由“任务管理”、“协调者”、“agent”、“worker”角色组成:/n任务管理:负责接收任务,任务的分配和调度,没有状...

【技术特征摘要】
1.基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:包括
分析公式依赖关系的步骤,业务系统包含的规则库,其中的规则存在相互依赖的关系,执行时必须是被依赖的公式先执行,对公式的依赖关系进行分析,将公式库解析成由单个公式组成的多颗树,将公式库拆解成森林结构;
构造带层次拓扑结构的步骤,按照公式库与单个公式之间相互依赖的关系,将单个公式与公式库组成有引用关系组成的有向图,将公式库构造成带层次拓扑结构的公式库;
大数据框架并行、批量运行公式的步骤,大数据框架由“任务管理”、“协调者”、“agent”、“worker”角色组成:
任务管理:负责接收任务,任务的分配和调度,没有状态,支持热备部署;
协调者:存储任务,维护其他角色的心跳,本身是集群形态,集群内部通过gossip或者p2p协议同步状态数据,使用2pc协议同步数据;
agent:从协调者拉取任务,将任务分配到worker执行;
woker:执行任务,它可以是进程或者线程。


2.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:
所述其他角色包括管理模块和服务器,心跳是为了在运行阶段检测各个模块的健康,由管理模块、服务器定时发送心跳至协调模块,它可以是tcp、http接口的rpc调用;协调模块用于存储任务和维护其他角色的心跳;
拉取任务是指运行公式的任务,一个任务包含一个或多个公式数据,它是执行公式的最小单元;
任务分配是指管理模块监控工作模块的任务执行情况,包括当前正在运行的任务数、任务积压数、机器资源负载情况,向协调者申请新的任务;
并发执行是指公式的并发执行,同一层级中有很多公式,将公式封装到任务中,提交给大数据框架并发执行。


3.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:所述构造带层次拓扑结构的步骤,将公式依赖关系描述成拓扑图,图中节点为公式,边为公式之间的依赖关系,用有向无环图来表示依赖关系,拓扑排序能根据这些依赖给出公式执行的先后顺序;按排序值来划分层次,同一排序值处在一个层次,一个层次中的公式可以并发执行不存在依赖关系。


4.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:所述业务库是指实际的业务数据,不限于关系或非...

【专利技术属性】
技术研发人员:范羊羊章晋
申请(专利权)人:南京云帐房网络科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1