本发明涉及智能电网领域,尤其涉及一种电力云调度任务的方法。
背景技术:
云计算已进入商业应用阶段,尤其是云存储技术已近成熟。电力系统云平台是解决当前智能电网数据量大,处理要求高的一个切实有效的方案。电力系统私有云可以依靠当前的电网结构,利用电网内部广域网,将电网中闲置的计算资源连接起来,建立一个国家、区、省、市、县等级分明的私有云。
电力云中有大量基于采集数据的分析计算。智能电网需要在采集的设备状态数据基础上进行电力系统计算与应用。云计算为电力系统带来了强大的计算和存储能力,电力私有云整合了系统中各节点和终端,通过这种的整合作用,云平台中数以万计的计算机资源提供了强大的计算能力。电力云以统一的资源调度,集中式管理,大大提高了系统内资源的利用率,对外提供了强大的计算和存储能力。
电力系统结构庞大,并且分布广泛,如果任何一个小节点或者终端的计算要求都提交到整个系统调度中心中分配,这样网络容易阻塞,并且意义不大。因此如何设计合适的调度算法将作业的执行尽量限制在本地执行,使电力云实现分级管理,减少系统内部不必要的资源调配,使电力云的资源使用更为合理,成为亟待解决的问题。
技术实现要素:
为了解决上述问题,本发明提出了一种智能电网中云调度任务的方法,包括以下步骤:
步骤1:接收提交的任务请求;
步骤2:检测当前节点是否有本地任务需要处理,如果有本地任务,则执行本地的任务;如没有本地的任务,则进入下一步;
步骤3:根据所述任务请求检测所述当前节点是否满足性能指标条件,如满足所述条件,便在所述当前节点处理任务请求,如果不满足所述条件,则选择其他满足条件的节点执行所述任务;
步骤4:将执行任务后的信息反馈至请求端。
具体的,在步骤1之后还包括,将接收到任务请求存储到先入先出(FIFO)队列中。
具体的,所述当前节点是否满足性能指标条件为,判断当前节点的负载权值是否小于预设的阈值,如果小于预设的阈值,则将在当前节点处理任务请求;若大于预设的阈值,则将在其他满足条件的节点执行任务。
具体的所述负载权值通过如下步骤进行计算:
获取当前任务节点的性能指标,CPU频率C(f)、内存容量C(m)、磁盘容量C(d)、网络带宽C(v),计算所述当前节点的性能值为:
C(n)=k1*C(f)+k2*C(m)+k3*C(d)+k4*C(v);
其中k1,k2,k3,k4为性能系数,系数越大说明此项指标对性能的影响越大;
获取节点的负载指标,使用率L(s)、内存使用率L(m)、磁盘使用率L(d)、带宽使用率L(v),计算所述当前节点的负载值为:
L(n)= k1*L(s)+k2*L(m)+k3*L(d)+k4*L(v);
其中k1,k2,k3,k4为负载系数,系数越大说明此项指标对负载的影响越大;
当前节点的负载权值为:W(n)=L(n)/C(n)。
优选的,所述预设的阈值为集群中所有节点的平均负载权值。
具体的,在步骤4之后还包括,将分配完成后的任务在先入先出(FIFO)队列中删除。
具体的,所述任务请求可包括:潮流优化、线损网损计算、无功优化、状态评价、风险评估、状态分析检测、检修策略、故障预测评估、检修维护中的一种或多种。
综上所述,与现有技术相比,本发明通过首选本地的节点进行任务的处理,当本地节点存在任务时,再通过判断其他节点的性能和负载能力,从而确定所述其他节点是否能执行任务;当本地节点不存在任务时,还需判断本地节点的性能和负载能力,避免节点性能不足导致任务无法处理的问题。通过本发明的方法,实现减少系统资源不必要的调配,使得电力云的资源使用更为合理。
说明书附图
图1是本发明实施例智能电网中云调度任务的方法流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“发送”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明的核心是,首选本地的节点进行任务的处理,当本地节点存在任务时,再通过判断其他节点的负载能力,从而确定所述其他节点是否能执行任务。实现减少系统资源不必要的调配,使得电力云的资源使用更为合理。
下面将结合附图对本发明实施例作进一步地详细描述。
图1是本发明实施例智能电网中云调度任务的方法流程图,包括以下步骤:
步骤1:接收提交的任务请求。
用户向电力云系统发送任务处理的请求,电力云系统将接收的任务请求放置于先入先出(FIFO)队列中,先进入队列的任务将先被系统选择节点执行,后进入队列的任务将随后被系统安排执行。每次执行完一次任务后,将对此队列进行更新。其中任务可包括潮流优化、线损网损计算、无功优化、状态评价、风险评估、状态分析检测、检修策略、故障预测评估、检修维护等。任务根据难易程度,处理所需要的时间都不一样。
步骤2:检查当前节点是否有本地任务需要处理,如果有本地任务,则执行本地的任务;如没有本地的任务,则进入下一步。
在电力云集群中如果存在多个处理节点时,把任务分配到距离远的节点,则会造成传输过程中的时延,不利于更加快速的处理任务,所以本发明优先选择距离近的节点处理任务。其具体过程为,检测当前节点有本地的任务时,优先处理本地的任务,这样能更大限度的利用集群中每个节点。如果检测到当前节点没有任务处理时,便选择此节点处理接收的任务请求,而不需要把任务传输至距离较远的节点。例如,当用户传输风险评估的任务后,电力云系统首先选择用户所处的区域的处理节点,判断其是否有本地任务需要处理,当判断有本地业务需要处理后再去判断其他区域的节点是否具备处理任务的条件。
步骤3:根据所述任务请求检测所述当前节点是否满足性能指标条件,如满足所述条件,便在所述当前节点处理任务请求,如果不满足所述条件,则选择其他满足条件的节点执行所述任务。
用户提交的任务有难有易,当处理困难任务的时候,比如用户选择的任务是风险评估,此任务需要调用大量历史数据,并且还需要结合当前的各种参数进行计算,任务处理的复杂度和计算度相比故障检修这样的任务要大得多,本地的处理节点的计算和负载能力并不一定满足,如果交由本地节点处理,很可能造成任务无法完成,或者任务完成很慢,不能达到资源调度优化的目的。
在电力云系统中预先设置了负载权重的阈值。优选的,所述阈值为集群中所有节点的平均负载权值。
在此步骤中,所述是否满足性能指标条件为判断当前节点的负载权值是否小于预设的阈值,如果小于预设的阈值,则将在当前节点处理任务请求;若大于预设的阈值,则将在其他满足条件的节点执行任务。
节点的负载权值通过如下步骤进行计算:
检测当前任务节点的性能指标通过CPU频率C(f)、内存容量C(m)、磁盘容量C(d)、网络带宽C(v)几个参数定义。计算此节点的性能值为:
C(n)=k1*C(f)+k2*C(m)+k3*C(d)+k4*C(v);
其中k1,k2,k3,k4为性能系数,系数越大说明此项指标对性能的影响越大。优选的,k1=0.2,k2=0.3,k3=0,k4=0.5。实际应用过程中可根据情况进行相应调整。
节点的负载主要依据节点的使用率L(s)、内存使用率L(m)、磁盘使用率L(d)、带宽使用率L(v),其中负载值为:
L(n)= k1*L(s)+k2*L(m)+k3*L(d)+k4*L(v);
其中k1,k2,k3,k4为负载系数,系数越大说明此项指标对负载的影响越大。实际应用过程中可根据情况进行相应调整。
当前节点的负载权值为:
W(n)=L(n)/C(n);
设置一个负载权重的阈值,判断当前节点的负载权值是否大于所述阈值。当此节点的负载权值W(n)大于此阈值时,则被确定为性能低的节点,说明此节点的负载较重,则不会在此节点中执行任务,会选择其他节点进行判断是否满足条件执行任务;当此节点的负载权值W(n)小于此阈值时,说明此节点的负载轻,确定为性能高的节点,将在此节点执行当前的任务。
步骤4:将执行任务后的信息反馈至请求端。
当任务执行完成后,向请求端反馈处理的结果。并在FIFO队列中删除执行完成的任务,执行下一个任务。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。