【技术实现步骤摘要】
基于依赖树拆分提高运算性能的方法及系统
本专利技术涉及解决提升海量公式库执行速度、可靠性的
,尤其涉及基于依赖树拆分实现的分布式公式运算,提高运算性能,解决单体服务器运算崩溃死机方法及其系统。
技术介绍
公式是“规则”的具体描述,任何一个业务系统都会有无数的规则,它就像一个发动机是为了让我们更好的处理工作。假如在一个媒体发布系统里面,设置发布时间为“2019年10月10号上线”,那么这篇新闻必须等到这个时间点才能发布出去,又比如在一个系统里,输1得2,输2得4。这些就是规则的一种,通过它能够可以实现具体功能,系统里规则可能随时会发生变化,如政策法规、营销套路更新了,如果只是由程序员来修改规则,费时、费力,增加了控制成本。这个时候,如果用公式(表达式)来描述规则,事情就好办了,只需在公式编辑器里面修改公式,系统运行的规则就会跟着变化。系统中描述规则的公式有很多,称为“公式库”,公式库需要运行来驱动业务,运行的速度、可靠性直接关系到系统能力,目前公式引擎在设计存在一定的局限性:(1)性能不足:基于单体服务执行公式,受限于单台机器的性能上限,公式的执行速度慢;(2)可靠性低:服务异常崩溃、机器故障都会导致服务不可用,会有较长停机时间。(3)公式关联关系复杂:公式间有引用关系,如在一个新闻网页爬虫的业务中,先分析栏目页面中有哪些新增的新闻链接,再由爬虫去下载这些新闻页,“栏目分析”和“爬虫下载”属于两个公式规则,有依赖关系,执行时有先后顺序,在复杂的系统里面分析公式的依赖引用关系是件困难 ...
【技术保护点】
1.基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:包括/n分析公式依赖关系的步骤,业务系统包含的规则库,其中的规则存在相互依赖的关系,执行时必须是被依赖的公式先执行,对公式的依赖关系进行分析,将公式库解析成由单个公式组成的多颗树,将公式库拆解成森林结构;/n构造带层次拓扑结构的步骤,按照公式库与单个公式之间相互依赖的关系,将单个公式与公式库组成有引用关系组成的有向图,将公式库构造成带层次拓扑结构的公式库;/n大数据框架并行、批量运行公式的步骤,大数据框架由“任务管理”、“协调者”、“agent”、“worker”角色组成:/n任务管理:负责接收任务,任务的分配和调度,没有状态,支持热备部署;/n协调者:存储任务,维护其他角色的心跳,本身是集群形态,集群内部通过gossip或者p2p协议同步状态数据,使用2pc协议同步数据;/nagent:从协调者拉取任务,将任务分配到worker执行;/nwoker:执行任务,它可以是进程或者线程。/n
【技术特征摘要】
1.基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:包括
分析公式依赖关系的步骤,业务系统包含的规则库,其中的规则存在相互依赖的关系,执行时必须是被依赖的公式先执行,对公式的依赖关系进行分析,将公式库解析成由单个公式组成的多颗树,将公式库拆解成森林结构;
构造带层次拓扑结构的步骤,按照公式库与单个公式之间相互依赖的关系,将单个公式与公式库组成有引用关系组成的有向图,将公式库构造成带层次拓扑结构的公式库;
大数据框架并行、批量运行公式的步骤,大数据框架由“任务管理”、“协调者”、“agent”、“worker”角色组成:
任务管理:负责接收任务,任务的分配和调度,没有状态,支持热备部署;
协调者:存储任务,维护其他角色的心跳,本身是集群形态,集群内部通过gossip或者p2p协议同步状态数据,使用2pc协议同步数据;
agent:从协调者拉取任务,将任务分配到worker执行;
woker:执行任务,它可以是进程或者线程。
2.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:
所述其他角色包括管理模块和服务器,心跳是为了在运行阶段检测各个模块的健康,由管理模块、服务器定时发送心跳至协调模块,它可以是tcp、http接口的rpc调用;协调模块用于存储任务和维护其他角色的心跳;
拉取任务是指运行公式的任务,一个任务包含一个或多个公式数据,它是执行公式的最小单元;
任务分配是指管理模块监控工作模块的任务执行情况,包括当前正在运行的任务数、任务积压数、机器资源负载情况,向协调者申请新的任务;
并发执行是指公式的并发执行,同一层级中有很多公式,将公式封装到任务中,提交给大数据框架并发执行。
3.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:所述构造带层次拓扑结构的步骤,将公式依赖关系描述成拓扑图,图中节点为公式,边为公式之间的依赖关系,用有向无环图来表示依赖关系,拓扑排序能根据这些依赖给出公式执行的先后顺序;按排序值来划分层次,同一排序值处在一个层次,一个层次中的公式可以并发执行不存在依赖关系。
4.根据权利要求1所述的基于依赖树拆分实现的分布式公式运算提高运算性能的方法,其特征在于:所述业务库是指实际的业务数据,不限于关系或非...
【专利技术属性】
技术研发人员:范羊羊,章晋,
申请(专利权)人:南京云帐房网络科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。