一种多级分布式任务处理系统的制作方法

文档序号:6627740阅读:195来源:国知局
一种多级分布式任务处理系统的制作方法
【专利摘要】本发明公开了一种多级分布式任务处理系统,包括多个互相通信连接的计算机节点,所述每个计算机节点均连接同一个节点服务器,所述节点服务器包括任务级调度模块,用于在接收用户任务请求时,采用“先进先出”的方式存储该任务,并以“最近最少使用”的原则将任务分发至对应的计算机节点;子任务级分割模块,用于在接收到处理任务时,将该任务分割为若干个子任务,并调用任务级调度模块将分割后的子任务分发至不同的计算机节点;任务管理模块,用于从不同的计算机节点回收各子任务的计算结果,并将各子任务的计算结果组装成一个完整的任务结果,所述每个计算机节点均包括有OpenMP内核级模块。本发明可提高各任务的并行处理效率。
【专利说明】一种多级分布式任务处理系统

【技术领域】
[0001]本发明涉及配电网领域,特别是一种多级分布式任务处理系统。

【背景技术】
[0002]配电网的高速发展为配电自动化高级应用软件的研究与应用提供了广阔前景。不同于输电网一般只管辖几千个设备,城市配电网是一个更加复杂庞大的网络系统,配电网需要管辖数万甚至数十万的电力设备。因此,配电网调度、运行和管理过程中的很多高级应用功能(如状态估计、潮流计算、网络重构、负荷预测、安全运行分析、经济优化运行等)都涉及海量计算工作。以其中最常用的大规模矩阵计算为例,其中,原始矩阵规模与电力设备数量的平方成正比关系,这就导致同样的高级应用网络分析算法,如状态估计,其在输电网中可能只是一个秒级耗时的算法,移植到配电网中,由于配电网中设备数量更加庞大,则可能需要运行数分钟甚至数十分钟,才可以得出计算结果。
[0003]为此,现有技术采用将一些特定的任务分割或并行计算的方法,从而在一定的程度上提高了配电网络高级应用软件的计算效率,在同等计算机硬件条件下,一些常用配网高级分析模块的运行时间大多已经可以缩短到I分钟以内。但总体来讲,现有技术仍具有计算耗时长、多任务并发冲突多、难以满足高实时的应用需求等突出问题。


【发明内容】

[0004]为解决上述问题,本发明的目的在于提供一种多级分布式任务处理系统,大幅度提升配电网高级应用软件处理计算任务的速度,并减轻相关编码的工作量。
[0005]本发明解决其问题所采用的技术方案是:
一种多级分布式任务处理系统,包括多个互相通信连接的计算机节点,所述每个计算机节点均连接同一个节点服务器,所述节点服务器包括:
任务级调度模块,用于在接收用户任务请求时,采用“先进先出”的方式存储该任务,并以“最近最少使用”的原则将任务分发至对应的计算机节点;
子任务级分割模块,用于在接收到处理任务时,将该任务分割为若干个子任务,并调用任务级调度模块将分割后的子任务分发至不同的计算机节点;
任务管理模块,用于从不同的计算机节点回收各子任务的计算结果,并将各子任务的计算结果组装成一个完整的任务结果。
[0006]进一步,所述每个计算机节点均包括有:
OpenMP内核级模块,用于对该计算机节点所运行的子任务进行相应环节的并行计算。
[0007]进一步,所述任务级调度模块包括:
节点收集单元,用于在接收到用户任务请求时,收集所有计算机节点的使用信息,并按照“最近最少使用”的原则进行排序;
存储单元,用于在接收到用户任务请求时,以“先进先出”的队列方式存储该任务; 分发一单元,用于从存储单元中依次提取队列中的首任务,并分发到节点收集单元排序后的首个计算机节点。
[0008]进一步,所述子任务级分割模块包括:
分割单元,用于在接收到任务时,将该任务分割为若干个子任务;
分发二单元,用于调用分发一单元将各子任务分发至不同的计算机节点。
[0009]进一步,所述分割单元以配电线为单位实施“电气岛分裂”处理,将任务分割为若干个子任务时。
[0010]进一步,所述“电气岛分裂”处理时,即将该大型配电网络按照馈线管辖范围分裂多个“电气子岛“,每个子岛相对独立,对应的,即将一个针对配电网的大型计算任务,分解成为针对若干个“电气子岛”的小型子任务。
[0011]本发明的有益效果是:
本发明采用一种多级分布式任务处理系统,采用了三个层级(任务级、子任务级、OpenMP内核级)的并行计算架构,采用统一的并行计算体系和任务切分方法,增加了并行计算程序的通用性,不用再针对不同功能模块实施特殊的并行处理,极大减轻编码的工作量,同时,提高各任务的并行处理效率,缩短配电网任务处理的运算时间。

【专利附图】

【附图说明】
[0012]下面结合附图和实例对本发明作进一步说明。
[0013]图1是现有配电系统的实际连接示意图;
图2是本发明所述系统的结构示意图;
图3是本发明所述系统的处理流程示意图。

【具体实施方式】
[0014]本发明中,配电自动化系统简称为DAS,配电自动化高级应用软件简称为DPAS,本发明中所述DAS与DPAS均代表上述所述含义。配电自动化高级应用软件是配电自动化系统的一个有机组成部分,参照图1所示,网络数据线上分布有η个不同的工作站、DAS服务器和DPAS服务器,配电自动化系统工作站1、2同时包括DAS与DPAS系统,其它工作站为DAS或DPAS专用工作站。其中,DPAS服务器采用集群化设计,即DPAS服务器可以有一个或多个(标准配置为2个),理想情况下,DPAS服务器集群应同时考虑负载均衡、高可用性、高速分布式计算等三个方面的应用需求。对于负载均衡,当多个DPAS服务器并行运行时,每个DPAS服务器均应承担一部分DPAS服务功能,从而实现高效利用DPAS服务器资源;对于高可用性,当某个DPAS服务器出现故障时,该DPAS服务器的节点任务可以被转移到其他正常的DPAS服务器上;对于高速分布式计算,由于DPAS系统是一个需要进行海量数据处理和大规模计算的系统,因此,DPAS系统需要充分考虑分布式计算以提高运行速度。
[0015]现有技术采用将一些特定的任务分割或并行计算的方法,从而在一定的程度上提高了 DPAS服务器的计算效率,在同等计算机硬件条件下,一些常用配网高级分析模块的运行时间大多已经可以缩短到I分钟以内。但总体来讲,现有技术仍具有计算耗时长、多任务并发冲突多、难以满足高实时的应用需求等突出问题。
[0016]为此,将计算机节点相当于图1中所示的不同的η个工作站,将节点服务器相当于DPAS服务器集群,基于ZeroMQ技术,参照图2所示,本发明提供了一种多级分布式任务处理系统,包括多个互相通信连接的计算机节点,所述每个计算机节点均连接同一个节点服务器,所述节点服务器包括:
任务级调度模块,用于在接收用户任务请求时,采用“先进先出”的方式存储该任务,并以“最近最少使用”的原则将任务分发至对应的计算机节点;
子任务级分割模块,用于在接收到处理任务时,将该任务分割为若干个子任务,并调用任务级调度模块将分割后的子任务分发至不同的计算机节点;
任务管理模块,用于从不同的计算机节点回收各子任务的计算结果,并将各子任务的计算结果组装成一个完整的任务结果。
[0017]除此之外,本发明对每个计算机节点也进行了改进,使所述每个计算机节点均包括有:
OpenMP内核级模块,用于对该计算机节点所运行的子任务进行相应环节的并行计算。
[0018]每个子任务都视作一个原子任务,不能再做任务拆分。但是每个子任务中,一些环节(如矩阵运算)可以通过OpenMP编程实现并行计算,充分发挥现在计算机配置的多核心CPU或多CPU的效率。
[0019]所述任务级调度模块包括:
节点收集单元,用于在接收到用户任务请求时,收集所有计算机节点的使用信息,并按照“最近最少使用”的原则进行排序;
存储单元,用于在接收到用户任务请求时,以“先进先出”的队列方式存储该任务;分发一单元,用于从存储单元中依次提取队列中的首任务,并分发到节点收集单元排序后的首个计算机节点。
[0020]所述子任务级分割模块包括:
分割单元,用于在接收到任务时,将该任务分割为若干个子任务;
分发二单元,用于调用分发一单元将各子任务分发至不同的计算机节点。
[0021]所述分割单元以配电线为单位实施“电气岛分裂”处理,将任务分割为若干个子任务。所述“电气岛分裂”处理时,即将该大型配电网络按照馈线管辖范围分裂多个“电气子岛“,每个子岛相对独立,对应的,即将一个针对配电网的大型计算任务,分解成为针对若干个“电气子岛”的小型子任务。
[0022]本发明所述“先进先出”为队列的处理方式,即先进入队列的任务先进行处理;所述“最近最少使用”为计算机常用的选择约束条件,即采用最近规定时间段使用次数最少的计算机节点;所述“电气岛分裂”处理为配电领域的处理手段,即将一个大型配电网络按照馈线管辖范围分裂成许多个“电气子岛”,从而把一个针对配电网的大型计算任务,分解成为针对若干个“电气子岛”的小型子任务。
[0023]参照图3所示本发明的处理流程示意图,本发明整体上分为三级进行计算,第一级分布式计算为任务级,用于同时向多个计算机节点分配不同的DPAS任务,实现对DPAS节点的管理和任务调度;第二级分布式计算为了任务级,完成对子任务的调度和管理,包括将任务分解为子任务,子任务的结果计算和结果返回,以及最后对子任务的计算结果进行组装;第三级分布式计算为OpenMP内核级,是计算机节点本身在计算子任务时,采用计算机的多核心CPU或多CPU对子任务进行计算,提升运行速度。
[0024]本发明采用了三个层级(任务级、子任务级、OpenMP内核级)的并行计算架构,同等配置条件下测试验证,可以把现有配电网高级应用软件的计算速度提高8 —10倍。另外,因为针对各种DPAS,本发明采用了统一的并行计算体系和任务切分方法,增加了并行计算程序的通用性,不用再针对不同功能模块实施特殊的并行处理,大大减轻了编码的工作量。
[0025]以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
【权利要求】
1.一种多级分布式任务处理系统,其特征在于,包括多个互相通信连接的计算机节点,所述每个计算机节点均连接同一个节点服务器,所述节点服务器包括: 任务级调度模块,用于在接收用户任务请求时,采用“先进先出”的方式存储该任务,并以“最近最少使用”的原则将任务分发至对应的计算机节点; 子任务级分割模块,用于在接收到处理任务时,将该任务分割为若干个子任务,并调用任务级调度模块将分割后的子任务分发至不同的计算机节点; 任务管理模块,用于从不同的计算机节点回收各子任务的计算结果,并将各子任务的计算结果组装成一个完整的任务结果。
2.根据权利要求1所述的多级分布式任务处理系统,其特征在于,所述每个计算机节点均包括有: OpenMP内核级模块,用于对该计算机节点所运行的子任务进行相应环节的并行计算。
3.根据权利要求1所述的多级分布式任务处理系统,其特征在于,所述任务级调度模块包括: 节点收集单元,用于在接收到用户任务请求时,收集所有计算机节点的使用信息,并按照“最近最少使用”的原则进行排序; 存储单元,用于在接收到用户任务请求时,以“先进先出”的队列方式存储该任务; 分发一单元,用于从存储单元中依次提取队列中的首任务,并分发到节点收集单元排序后的首个计算机节点。
4.根据权利要求3所述的多级分布式任务处理系统,其特征在于,所述子任务级分割模块包括: 分割单元,用于在接收到任务时,将该任务分割为若干个子任务; 分发二单元,用于调用分发一单元将各子任务分发至不同的计算机节点。
5.根据权利要求4所述的多级分布式任务处理系统,其特征在于,所述分割单元以配电线为单位实施“电气岛分裂”处理,将任务分割为若干个子任务。
6.根据权利要求5所述的多级分布式任务处理系统,其特征在于,所述“电气岛分裂”处理时,即将该大型配电网络按照馈线管辖范围分裂多个“电气子岛“,每个子岛相对独立,对应的,即将一个针对配电网的大型计算任务,分解成为针对若干个“电气子岛”的小型子任务。
【文档编号】G06F5/00GK104239144SQ201410485759
【公开日】2014年12月24日 申请日期:2014年9月22日 优先权日:2014年9月22日
【发明者】张泽虎, 许光, 宋红艳 申请人:珠海许继芝电网自动化有限公司, 珠海许继电气有限公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1