CN110851256A - 一种基于电力大数据的数据计算调度方法 - Google Patents

一种基于电力大数据的数据计算调度方法 Download PDF

Info

Publication number
CN110851256A
CN110851256A CN201911081179.7A CN201911081179A CN110851256A CN 110851256 A CN110851256 A CN 110851256A CN 201911081179 A CN201911081179 A CN 201911081179A CN 110851256 A CN110851256 A CN 110851256A
Authority
CN
China
Prior art keywords
data
airflow
scheduling
calculation
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911081179.7A
Other languages
English (en)
Inventor
肖勇
钱斌
郑楷洪
杨劲锋
周密
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China South Power Grid International Co ltd
Original Assignee
China South Power Grid International Co ltd
Power Grid Technology Research Center of China Southern Power Grid Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China South Power Grid International Co ltd, Power Grid Technology Research Center of China Southern Power Grid Co Ltd filed Critical China South Power Grid International Co ltd
Priority to CN201911081179.7A priority Critical patent/CN110851256A/zh
Publication of CN110851256A publication Critical patent/CN110851256A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于电力大数据的数据计算调度方法,属于电力信息技术应用领域,包括Airflow,Airflow提供1对1、1对多和多对1的依赖关系,并通过trigger_rule来设置上下游节点的运行规则,Airflow生成一个实例,并向所有程序传递统一的调度时间A,且通过数据计算调度方法实现。本发明拥有自己的权限管理系统和强大的依赖关系设计,Airflow可以做到1对1、1对多和多对1的流程依赖关系,Airflow完美契合了业务的需求,可将每个数据或计算作为一个节点并相互依赖起来,代码维护简单易用,部署起来相比于同类的调度程序,不需要复杂的编译过程。

Description

一种基于电力大数据的数据计算调度方法
技术领域
本发明涉及一种计算调度方法,特别是涉及一种基于电力大数据的数据计算调度方法,属于电力信息技术应用领域。
背景技术
电力信息系统都会涉及到相关的计算,不同的计算会存在一定的相关性和依赖性,特别是在电力大数据领域,如何更好的使计算过程可视化、计算依赖配置化,在电力大数据领域方面是至关重要的,基于此引入了Airflow,它是一个调度、监控工作流的平台。用于将一个工作流制定为一组任务的有向无环图DAG,并指派到一组计算节点上,根据相互之间的依赖关系,有序执行,传统的大数据计算调度方法没有正确构建任务依赖关系,无法保障业务数据有效、适时地产出和形成规范化的数据研发场景,同时代码比较复杂,编译过程比较复杂,同时大数据计算调度方法与外界联系起来可视化效果不理想限制了功能的拓展。
发明内容
本发明的主要目的是为了解决现有技术的不足而提供一种基于电力大数据的数据计算调度方法。
本发明的目的可以通过采用如下技术方案达到:
一种基于电力大数据的数据计算调度方法,包括Airflow,Airflow提供1对1、1对多和多对1的依赖关系,并通过trigger_rule来设置上下游节点的运行规则,Airflow生成一个实例,并向所有程序传递统一的调度时间A,且通过数据计算调度方法实现,该方法包括以下步骤:
a、数据导入:日冻结,程序通过参数,导入相应日期的数据分别计算出厂站终端抄表率明细、用户终端抄表率明细、厂站终端抄表率和低压级超终端抄表率;
b、计算:运行电能表,(1)将a中的数据进行计量点电量计算,当数据导入完成,任务被标记为success;
(2)后续计算会根据A找到这批数据并开始计算,计算的结果根据A命名并保存在相应的地方;(3)下一级依赖会在上一级success后根据A找到上一级的结果继续后续的计算;
c、分析对象电量:当多个计算需要用到同一个数据源时,开始执行分析对象电量,当分析对象电量执行完毕后开始计算数据,4个程序都success后,会进入到下一个依赖程序进行数据的汇总并且存储到数据库中。
优选的,trigger_rule对应的参数如下:
(1)All_success:上级依赖全部执行成功,执行下级;
(2)All_failed:上级依赖全部执行失败,执行下级;
(3)One_success:一个上级依赖执行成功,执行下级;
(4)One_failed:一个上级依赖执行失败,执行下级;
(5)All_done:上级依赖全部执行完毕,无论success或failed,执行下级;
(6)None_failed:所有的上级依赖,没有failed及upstream_failed状态,执行下级;
(7)none_skipped:上级处于skipped状态,执行下级;
相互依赖的任务将会根据其上下游关系,按照配置的trigger_rule从上游向下游有序执行。
优选的,Airflow自带web监控服务,web提供一系列可针对节点任务的操作,通过UI直接对每个节点进行重跑,并能同时进行上游或下游的批量操作。
优选的,Airflow结合celery、rabbitmq/redis和mysql/postgres可搭建出稳定的一套调度架构,并能随时横向地拓展架构的资源。
优选的,通过RBAC权限框架集成到web服务中,权限细化到每个按钮的操作,及每个页面的浏览,可通过管理员账号自定义不同的角色。
优选的,调度程序以DSL模板语言实现,可将程序中的各项参数配置在Web和UI中,并通过权限系统管理起来,通过DSL模板语言配置好任务,将任务同步到指定的目录中,执行Airflow提供的指令。
优选的,Airflow可通过配置文件和很多其他的第三方程序进行集成。
优选的,Airflow可对Bash脚本、python程序、spark程序、存储过程、Http请求和Hive进行依赖的编写和定时的调度。
优选的,Airflow在每个实例会通过向程序提供相同的参数,控制各个程序依赖于同一个数据源和同一批数据,并且维持上下级的数据依赖关系。
优选的,第三方程序为RBAC权限框架、Rabbitmq/redis、kerburos、ldap和git。
本发明的有益技术效果:
1、通过节点依赖来满足不同数据计算对数据源的需求,上一级的输出结果可用作下一级的输入结果,拥有自己的调度任务web监控服务,这是很多调度程序都不具备的,如果想二次开发一个web服务将会耗费大量的时间成本和技术成本,而Airflow自带的web监控服务,可直观的监控每一个调度流程中各个节点的任务执行情况,并提供详细的任务日志,并会对任务执行的各方面数据进行统计,并形成报表展现出来,如任务运行时间的曲线图,可很直观的观察出任务执行是否稳定,从而进行运维工作。
2、可实现高可用的搭建,Airflow结合celery,rabbitmq/redis,mysql/postgres可搭建出稳定的一套调度架构,并能随时横向的拓展架构的资源。
3、拥有自己的权限管理系统和强大的依赖关系设计,Airflow可以做到1对1、1对多和多对1的流程依赖关系,这对于很多其他的调度程序是很难做到的,而对于电网中数据的计算,可能会遇到一个计算需要多个原始数据以及多个计算结果来支撑,Airflow完美契合了业务的需求,可将每个数据或计算作为一个节点并相互依赖起来。
4、代码维护简单易用,部署起来相比于同类的调度程序,不需要复杂的编译过程,只需通过DSL模板语言配置好任务,将任务同步到指定的目录中,执行airflow提供的指令即可。
5、拥有强大的集成功能,Airflow可通过配置文件,和很多其他的第三方程序进行集成,这对于功能的拓展提供了便利。
6、提供丰富的任务执行方式,Airflow可对Bash脚本、python程序、spark程序、存储过程、Http请求和Hive等进行依赖的编写和定时的调度。
附图说明
图1为按照本发明的基于电力大数据的数据计算调度方法的一优选实施例的调度方法实现的流程图。
具体实施方式
为使本领域技术人员更加清楚和明确本发明的技术方案,下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,本实施例提供的基于电力大数据的数据计算调度方法,包括Airflow,Airflow提供1对1、1对多和多对1的依赖关系,并通过trigger_rule来设置上下游节点的运行规则,Airflow生成一个实例,并向所有程序传递统一的调度时间A,且通过数据计算调度方法实现,该方法包括以下步骤:
a、数据导入:日冻结,程序通过参数,导入相应日期的数据分别计算出厂站终端抄表率明细、用户终端抄表率明细、厂站终端抄表率和低压级超终端抄表率;
b、计算:运行电能表,(1)将a中的数据进行计量点电量计算,当数据导入完成,任务被标记为success;
(2)后续计算会根据A找到这批数据并开始计算,计算的结果根据A命名并保存在相应的地方;
(3)下一级依赖会在上一级success后根据A找到上一级的结果继续后续的计算;
c、分析对象电量:当多个计算需要用到同一个数据源时,开始执行分析对象电量,当分析对象电量执行完毕后开始计算数据,在4个程序都success后,会进入到下一个依赖程序进行数据的汇总并且存储到数据库中。
在本实施例中,如图1所示,trigger_rule对应的参数如下:
(1)All_success:上级依赖全部执行成功,执行下级;
(2)All_failed:上级依赖全部执行失败,执行下级;
(3)One_success:一个上级依赖执行成功,执行下级;
(4)One_failed:一个上级依赖执行失败,执行下级;
(5)All_done:上级依赖全部执行完毕,无论success或failed,执行下级;
(6)None_failed:所有的上级依赖,没有failed及upstream_failed状态,执行下级;
(7)none_skipped:上级处于skipped状态,执行下级;
相互依赖的任务将会根据其上下游关系,按照配置的trigger_rule从上游向下游有序执行。
在本实施例中,如图1所示,Airflow自带的web监控服务,web提供一系列可对节点任务进行的操作,通过UI直接对每个节点进行重跑,并能同时进行上游或下游的批量操作,Airflow结合celery、rabbitmq/redis和mysql/postgres可搭建出稳定的一套调度架构,并能随时横向的拓展架构的资源,通过RBAC权限框架集成到web服务中,权限细化到每个按钮的操作,及每个页面的浏览,可通过管理员账号自定义不同的角色,调度程序以DSL模板语言实现,可将程序中的各项参数配置在Web和UI中,并通过权限系统管理起来,通过DSL模板语言配置好任务,将任务同步到指定的目录中,执行Airflow提供的指令,Airflow拥有自己的调度任务web监控服务,Airflow结合celery,rabbitmq/redis,mysql/postgres可搭建出稳定的一套调度架构,并能随时横向的拓展架构的资源,代码维护简单易用,部署起来相比于同类的调度程序,不需要复杂的编译过程,只需通过DSL模板语言配置好任务,将任务同步到指定的目录中,执行airflow提供的指令即可。
在本实施例中,如图1所示,Airflow可通过配置文件和很多其他的第三方程序进行集成,Airflow可对Bash脚本、python程序、spark程序、存储过程、Http请求和Hive进行依赖的编写和定时的调度,Airflow在每个实例会通过向程序提供相同的参数,控制各个程序依赖于同一个数据源和同一批数据,并且维持上下级的数据依赖关系,第三方程序为RBAC权限框架、Rabbitmq/redis、kerburos、ldap和git,拥有强大的集成功能,Airflow可通过配置文件,和很多其他的第三方程序进行集成,如:RBAC权限框架,Rabbitmq/redis,kerburos,ldap,git等。
综上所述,在本实施例中,按照本实施例的基于电力大数据的数据计算调度方法,这对于功能的拓展提供了便利,拥有自己的权限管理系统和强大的依赖关系设计,Airflow可以做到1对1、1对多和多对1,的流程依赖关系,这对于很多其他的调度程序是很难做到的,而对于电网中数据的计算,可能会遇到一个计算需要多个原始数据以及多个计算结果来支撑,Airflow完美契合了业务的需求,可将每个数据或计算作为一个节点并相互依赖起来,强大的集成功能,Airflow可通过配置文件,和很多其他的第三方程序进行集成,这对于功能的拓展提供了便利,提供丰富的任务执行方式,Airflow可对Bash脚本、python程序、spark程序、存储过程、Http请求和Hive等进行依赖的编写和定时的调度。
以上所述,仅为本发明进一步的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明所公开的范围内,根据本发明的技术方案及其构思加以等同替换或改变,都属于本发明的保护范围。

Claims (10)

1.一种基于电力大数据的数据计算调度方法,其特征在于,包括Airflow,Airflow提供1对1、1对多和多对1的依赖关系,并通过trigger_rule来设置上下游节点的运行规则,Airflow生成一个实例,并向所有程序传递统一的调度时间A,且通过数据计算调度方法实现,该方法包括以下步骤:
a、数据导入:日冻结,程序通过参数,导入相应日期的数据分别计算出厂站终端抄表率明细、用户终端抄表率明细、厂站终端抄表率和低压级超终端抄表率;
b、计算:运行电能表,(1)将a中的数据进行计量点电量计算,当数据导入完成,任务被标记为success;
(2)后续计算会根据A找到这批数据并开始计算,计算的结果根据A命名保存在相应的地方;
(3)下一级依赖会在上一级success后根据A找到上一级的结果继续后续的计算;
c、分析对象电量:当多个计算需要用到同一个数据源时,开始执行分析对象电量,当分析对象电量执行完毕后开始计算数据,4个程序都success后,会进入到下一个依赖程序进行数据的汇总并且存储到数据库中。
2.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,trigger_rule对应的参数如下:
(1)All_success:上级依赖全部执行成功,执行下级;
(2)All_failed:上级依赖全部执行失败,执行下级;
(3)One_success:一个上级依赖执行成功,执行下级;
(4)One_failed:一个上级依赖执行失败,执行下级;
(5)All_done:上级依赖全部执行完毕,无论success或failed,执行下级;
(6)None_failed:所有的上级依赖,没有failed及upstream_failed状态,执行下级;
(7)none_skipped:上级处于skipped状态,执行下级;
相互依赖的任务将会根据其上下游关系,按照配置的trigger_rule从上游向下游有序执行。
3.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,Airflow自带web监控服务,web提供一系列可针对节点任务的操作,通过UI直接对每个节点进行重跑,并能同时进行上游或下游的批量操作。
4.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,Airflow结合celery、rabbitmq/redis和mysql/postgres可搭建出稳定的一套调度架构,并能随时横向地拓展架构的资源。
5.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,通过RBAC权限框架集成到web服务中,权限细化到每个按钮的操作,及每个页面的浏览,可通过管理员账号自定义不同的角色。
6.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,调度程序以DSL模板语言实现,可将程序中的各项参数配置在Web和UI中,并通过权限系统管理起来,通过DSL模板语言配置好任务,将任务同步到指定的目录中,执行Airflow提供的指令。
7.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,Airflow可通过配置文件和很多其他的第三方程序进行集成。
8.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,Airflow可对Bash脚本、python程序、spark程序、存储过程、Http请求和Hive进行依赖的编写和定时的调度。
9.如权利要求1所述的一种基于电力大数据的数据计算调度方法,其特征在于,Airflow在每个实例会通过向程序提供相同的参数,控制各个程序依赖于同一个数据源和同一批数据,并且维持上下级的数据依赖关系。
10.如权利要求7所述的一种基于电力大数据的数据计算调度方法,其特征在于,第三方程序为RBAC权限框架、Rabbitmq/redis、kerburos、ldap和git。
CN201911081179.7A 2019-11-07 2019-11-07 一种基于电力大数据的数据计算调度方法 Pending CN110851256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911081179.7A CN110851256A (zh) 2019-11-07 2019-11-07 一种基于电力大数据的数据计算调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911081179.7A CN110851256A (zh) 2019-11-07 2019-11-07 一种基于电力大数据的数据计算调度方法

Publications (1)

Publication Number Publication Date
CN110851256A true CN110851256A (zh) 2020-02-28

Family

ID=69598968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911081179.7A Pending CN110851256A (zh) 2019-11-07 2019-11-07 一种基于电力大数据的数据计算调度方法

Country Status (1)

Country Link
CN (1) CN110851256A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680053A (zh) * 2020-06-08 2020-09-18 长沙力合微智能科技有限公司 一种抄表任务实例的抄表任务执行方法
CN112782469A (zh) * 2021-01-13 2021-05-11 公诚管理咨询有限公司 一种基于分布式计算的智能电网计量处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184452A (zh) * 2015-08-14 2015-12-23 山东大学 一种适用于用电信息大数据计算的MapReduce作业依赖控制方法
CN109376015A (zh) * 2018-10-23 2019-02-22 苏州思必驰信息科技有限公司 用于任务调度系统的日志阻塞解决方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184452A (zh) * 2015-08-14 2015-12-23 山东大学 一种适用于用电信息大数据计算的MapReduce作业依赖控制方法
CN109376015A (zh) * 2018-10-23 2019-02-22 苏州思必驰信息科技有限公司 用于任务调度系统的日志阻塞解决方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
堕落门徒: "AirFlow简介", pages 1 - 6, Retrieved from the Internet <URL:https://www.cnblogs.com/cord/p/9450910.html> *
王相伟;史玉良;张建林;梁波;程翠萍;: "基于Hadoop的用电信息大数据计算服务及应用", 电网技术, no. 11, 5 November 2015 (2015-11-05) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680053A (zh) * 2020-06-08 2020-09-18 长沙力合微智能科技有限公司 一种抄表任务实例的抄表任务执行方法
CN111680053B (zh) * 2020-06-08 2023-04-14 长沙力合微智能科技有限公司 一种抄表任务实例的抄表任务执行方法
CN112782469A (zh) * 2021-01-13 2021-05-11 公诚管理咨询有限公司 一种基于分布式计算的智能电网计量处理方法

Similar Documents

Publication Publication Date Title
Huang et al. A history-based cost-cognizant test case prioritization technique in regression testing
CN107450972A (zh) 一种调度方法、装置以及电子设备
CN111984390A (zh) 任务调度方法、装置、设备及存储介质
CN105719126B (zh) 一种基于生命周期模型的互联网大数据任务调度的系统及方法
CN110764747B (zh) 基于Airflow的数据计算调度方法
CN110851256A (zh) 一种基于电力大数据的数据计算调度方法
Chen et al. Spark on entropy: A reliable & efficient scheduler for low-latency parallel jobs in heterogeneous cloud
CN110019144A (zh) 一种大数据平台数据运维的方法和系统
CN114924858A (zh) 任务调度方法及装置、存储介质及电子设备
CN113094406A (zh) 一种电力营销数据治理方法以及系统
CN111158800A (zh) 基于映射关系构建任务dag的方法及装置
Jagannadharao et al. Timeshifting strategies for carbon-efficient long-running large language model training
Wang et al. Test case prioritization for service-oriented workflow applications: A perspective of modification impact analysis
Hangan et al. RTMultiSim: A versatile simulator for multiprocessor real-time systems
US20090327020A1 (en) Intelligent task Deactivation In Project Scheduling Application
Baresi et al. A simulation-based comparison between industrial autoscaling solutions and cocos for cloud applications
CN109240757A (zh) 一种大数据组件集中配置管理系统和方法
CN108121605A (zh) 一种基于yarn的cgroup内存控制优化方法及系统
Kraemer et al. Reducing the number of response time service level objective violations by a cloud‐HPC convergence scheduler
Nabona et al. Long-term thermal power planning at VEW ENERGIE using a multi-interval Bloom and Gallant method
Hu et al. Application of OMAT in HTCONDOR resource management
Nisar et al. Resource-Dependent Critical Path Method for Identifying the Critical Path and the “Real Floats” in Resource-Constrained Project Scheduling
Anand et al. Characterizing the complexity of code changes in open source software
Sebestyen et al. Simulation-based schedulability tests for multiprocessor real-time systems
Rivas Concepción et al. GEN4MAST: a tool for the evaluation of real-time techniques using a supercomputer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210729

Address after: 510700 3rd, 4th and 5th floors of building J1 and 3rd floor of building J3, No.11 Kexiang Road, Science City, Luogang District, Guangzhou City, Guangdong Province

Applicant after: China South Power Grid International Co.,Ltd.

Address before: 510670 No.11 Kexiang Road, Science City, Luogang District, Guangzhou City, Guangdong Province

Applicant before: China South Power Grid International Co.,Ltd.

Applicant before: POWER GRID TECHNOLOGY RESEARCH CENTER. CHINA SOUTHERN POWER GRID

TA01 Transfer of patent application right