本发明专利技术公开了一种基于分布式任务调度的GFS气象数据下载方法,其中,具体包括如下步骤:步骤1、任务配置;步骤2、任务分片;步骤3、任务分发;步骤4、任务执行,本发明专利技术支持多个GFS气象数据文件分片下载,不同文件分发到不同的任务执行器上,实现下载任务隔离,在一定程度上解决了文件下载单点故障问题,且对于在下载过程出现下载失败的任务,任务管理器会将其转移到其他任务执行器上下载,保证了整个下载任务的完整性。的完整性。的完整性。
【技术实现步骤摘要】
一种基于分布式任务调度的GFS气象数据下载方法
[0001]本专利技术属于气象数据文件下载
,具体涉及一种基于分布式任务调度的GFS气象数据下载方法。
技术介绍
[0002]气象数据是进行天气预报、气候预测及各类气象服务、科学研究的基础,是气象业务系统的初始输入。
[0003]气象数据的下载是气象业务工作的一项重要任务,目前中国、美国、日本、欧洲、加拿大等国家每天会定时发布全球气象数据,其中美国国家环境预测中心的全球预报系统(GFS,Global Forecast System)发布的气象数据是使用最为广泛的,该系统每天发布4次全球范围的气象数据,数据更新间隔时间为6小时,分别为世界时00时、06时、12时和18时,共4个时次,分辨率最高可达到0.25
°
x0.25
°
。
[0004]其预报数据可预报未来16天共384个小时的天气,预报数据时间间隔最短为1小时(0至120小时为每小时一个文件,120至384小时为每3小时一个文件),每小时输出一次预报文件存储气象数据信息,每个文件最大达300多MB,全量下载一个时次发布的GFS气象数据高达60GB,一天4个时次即240GB。
[0005]目前GFS气象数据下载的工具大多数都是脚本文件,单机下载存在单点故障问题,下载完整文件速度较慢非常耗时,不具备下载过程程序故障的转移,会导致下载的文件不全,也无法实时跟踪下载进度,自动化程度不高,给气象研究工作带来一定的成本开销。
技术实现思路
[0006]本专利技术的目的在于提供一种基于分布式任务调度的GFS气象数据下载方法,以解决上述的技术问题。
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于分布式任务调度的GFS气象数据下载方法,其中,具体包括如下步骤:步骤1、任务配置:任务配置模块配置待下载的GFS气象数据参数、任务调度周期;步骤2、任务分片:任务管理器根据任务配置信息及可用的任务执行器数量将GFS气象数据下载任务进行分片;步骤3、任务分发:任务管理器通过RPC的方式将任务分发到对应的任务执行器;步骤4、任务执行:任务执行器接收任务配置信息,并行执行具体的下载任务,同时通过RPC的方式实时向任务管理器同步GFS气象数据的下载进度。
[0008]优选的,步骤1中,所述用户通过Web页面进行参数配置。
[0009]优选的,步骤1中任务配置信息包括:GFS气象数据发布时间:指定待下载的GFS气象数据的发布时间和时次;选择要下载数据的变量和层次:包括TMP温度、UGRD VGRD 风速;选择任务执行时间:指定GFS气象数据下载任务的执行时间。
[0010]优选的,所述GFS气象数据是每小时一个数据文件。
[0011]优选的,所述任务管理器将待下载的GFS气象数据按照文件数进行分片,且分片采用基于平均分配算法。
[0012]优选的,所述任务执行器在启动过程向任务管理器中的注册中心注册任务执行器的信息,同时启动心跳检测线程,并周期性的向任务管理器发送心跳信息;所述任务执行器负责执行任务管理器分发的GFS气象数据下载任务,并通过调用任务执行器的线程池中的线程并发执行多个下载任务。
[0013]优选的,所述任务执行器通过RPC的方式向任务管理器同步GFS气象数据的下载进度,若下载过程出现异常,则发出告警信息。
[0014]优选的,所述任务管理器对任务执行器注册信息进行维护。
[0015]优选的,所述任务管理器中的调度器根据任务分片结果,将每个小任务分发给具体的任务执行器,同时对任务执行器发起心跳检测请求;若发现任务执行失败,则执行故障转移,并将执行失败任务分发到其他任务执行器上执行。
[0016]优选的,所述任务管理器收集任务执行进度,并将每个GFS气象数据下载任务进度进行可视化展示。
[0017]本专利技术的技术效果和优点,该基于分布式任务调度的GFS气象数据下载方法:1、支持多个GFS气象数据文件分片下载,不同文件分发到不同的任务执行器上,实现下载任务隔离,在一定程度上解决了文件下载单点故障问题;2、对于在下载过程出现下载失败的任务,任务管理器会将其转移到其他任务执行器上下载,保证了整个下载任务的完整性;3、任务执行器在执行具体的下载任务时实时上报任务下载进度,任务管理器跟踪下载进度使其可视化,使整个下载流程自动化,无需过多的人工干预。
附图说明
[0018]图1为本专利技术的GFS气象数据下载流程图;图2为本专利技术具体结构示意图。
具体实施方式
[0019]下面将结合本专利技术实施例中的附图1-2,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]本专利技术提供了如图1-2中所示的一种基于分布式任务调度的GFS气象数据下载方法,其中,具体包括如下步骤:步骤1、任务配置:在任务配置模块配置待下载的GFS气象数据参数、任务调度周期;步骤2、任务分片:任务管理器根据任务配置的信息、根据可用的任务执行器数量将GFS气象数据下载任务进行分片;步骤3、任务分发:任务管理器通过RPC的方式将任务分发到对应的任务执行器;步骤4、任务执行:任务执行器接收任务配置信息,并行执行具体的下载任务,同时通过RPC的方式实时向任务管理器同步GFS气象数据的下载进度。
[0021]具体的,在步骤1中,用户通过Web页面配置如下参数,包括:GFS气象数据发布时间:指定待下载的GFS气象数据的发布时间和时次,且发布时间和时次为格林尼治时间;选择要下载数据的变量和层次:如TMP温度、UGRD VGRD 风速等;选择任务执行时间:指定GFS气象数据下载任务的执行时间,且下载任务的执行时间为北京时间。
[0022]具体的,所述步骤2中:所述GFS气象数据是每小时一个数据文件,每个GFS气象数据的文件名格式为gfs.t{HH}z.pgrb2.0p25.f{XXX},其中HH表示预报起始时间,XXX表示预报时长。
[0023]具体的,所述步骤2中:所述任务管理器将待下载的GFS气象数据按照文件数进行分片,且分片采用基于平均分配算法,通过任务分片能够把不同的文件分散到不同的任务执行器上执行,实现下载任务隔离既可以解决单机下载所有文件速度慢的问题,也能降低部分下载任务失败对整个下载任务的影响。
[0024]具体的,所述步骤4中:所述任务执行器在启动过程向任务管理器中的注册中心注册任务执行器的信息,同时启动心跳检测线程,并周期性的向任务管理器发送心跳信息;所述任务执行器负责执行任务管理器分发的GFS气象数据下载任务,并通过调用任务执行器的线程池中的线程并发执行多个下载任务。
[0025]具体的,所述步骤4中:所述任务执行器通过RPC的方式向任务管理器同步GFS气象数据的下载进度,若下载过程出现异本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于分布式任务调度的GFS气象数据下载方法,其特征在于,具体包括如下步骤:步骤1、任务配置:任务配置模块配置待下载的GFS气象数据参数、任务调度周期;步骤2、任务分片:任务管理器根据任务配置信息及可用的任务执行器数量将GFS气象数据下载任务进行分片;步骤3、任务分发:任务管理器通过RPC的方式将任务分发到对应的任务执行器;步骤4、任务执行:任务执行器接收任务配置信息,并行执行具体的下载任务,同时通过RPC的方式实时向任务管理器同步GFS气象数据的下载进度。2.根据权利要求1所述的一种基于分布式任务调度的GFS气象数据下载方法,其特征在于,步骤1中:用户通过Web页面进行参数配置。3.根据权利要求1所述的一种基于分布式任务调度的GFS气象数据下载方法,其特征在于,所述步骤1中任务配置信息包括:GFS气象数据发布时间:指定待下载的GFS气象数据的发布时间和时次;选择要下载数据的变量和层次:包括TMP温度、UGRD VGRD 风速;选择任务执行时间:指定GFS气象数据下载任务的执行时间。4.根据权利要求1所述的一种基于分布式任务调度的GFS气象数据下载方法,其特征在于,所述步骤2中:所述GFS气象数据是每小时一个数据文件。5.根据权利要求1所述的一种基于分布式任务调度的GFS气象数据下载方法,其特征在于,所述步骤2中:所述任务管理器将待下载的GFS气象数据按照...
【专利技术属性】
技术研发人员:营米,杨春,张录军,李晓洁,
申请(专利权)人:南京满星数据科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。