基于大数据的跨地域任务调度方法及系统技术方案

技术编号:21224646 阅读:24 留言:0更新日期:2019-05-29 05:23
基于大数据的跨地域任务调度方法及系统,用户下发结构化查询语言,解析结构化查询语言生成语法树,采用跨域调度引擎根据元数据信息对语法树进行拆解,生成并分发在总数据平台或分数据平台执行的多个逻辑执行计划,收到逻辑执行计划的集群,由跨域调度引擎获取相关的本集群存储的元数据,并从元数据中获取所有数据块的位置信息产生最终在本集群执行的逻辑执行计划;跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算,集群汇总计算产生初步汇总结果并根据发送位置信息发送;收到初步汇总结果的集群将数据二次汇总计算产生最终查询结果返回给用户。避免海量数据传输,节约带宽,降低成本。

Cross-regional Task Scheduling Method and System Based on Large Data

The method and system of cross-regional task scheduling based on large data, users send structured query language, parse structured query language to generate grammar tree, use cross-domain scheduling engine to disassemble grammar tree according to metadata information, generate and distribute multiple logical execution plans executed on the master data platform or sub-data platform, and receive cluster of logical execution plans, which are scheduled by cross-domain. The engine obtains the metadata stored in the cluster and gets the location information of all data blocks from the metadata to generate the logical execution plan that will be executed in the cluster. The cross-domain scheduling engine distributes the logical execution plan to the data nodes, and receives the data analysis engine on the data nodes of the logical execution plan to read and calculate the data. The cluster summary calculation generates the preliminary summary. The result is sent according to the location information sent; the cluster that receives the preliminary summary results returns the final query result from the secondary aggregation calculation of the data to the user. Avoid massive data transmission, save bandwidth and reduce costs.

【技术实现步骤摘要】
基于大数据的跨地域任务调度方法及系统
本专利技术实施例涉及数据处理
,具体涉及一种基于大数据的跨地域任务调度方法及系统。
技术介绍
目前,像中国联通、中国电信会在各个省份建立大数据平台,然后每天把存储数据的文件通过网络上传到总部的大数据平台,然后在总部做数据稽核、数据分析等业务,通常使用Hive(基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行)或Spark(专为大规模数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等)等Mpp工具进行。一般需要在总部建立超大规模集群,才能承载全国各省份上传的数据,并且从省份上传数据到总部,需要大量的人工,经常会有漏传数据文件的情况发生。以中国联通为例,当大数据物理集中的方案为:第一、各省准备好数据文件,即把数据导出到文件,通常是CSV格式的,大文件需要拆成多个压缩包;第二、将数据文件上传到各省自己的FTP服务器,对于琐碎的、大量的数据文件,例如:上网的日志、信令等数据文件,各省直接上传到总部的服务器;第三、总部从各省的FTP服务器上下载数据文件;第四、总部开始检查数据文件,如果发现漏传,通知省份补传,然后数据加工;第五、总部开始人工审核,如果发现数据错误,通知省份重传;如果发现疑似错误,开工单记录,然后交由省份确认;第六、数据发布。现有技术存在以下问题:第一、每天将海量数据传到总部,占用大量带宽,vpn的成本相对较高。第二、同样的数据保存多份,浪费磁盘空间。同样的数据,在总部的hadoop集群里存3份,供总部的人员作分析;在省份的hadoop集群里存3份,供省份的人员做分析。第三、无论总部还是省份,做数据分析时,都只能使用自己的大数据平台的计算资源,即使有资源空闲,也不能相互使用对方的计算资源,造成资源浪费。第四、各省的人员做数据分析时,只能看到自己省的数据,看不到对方的数据,不能做横向的、跨省的数据对比分析。第五、需要大量的人员做支撑,人力成本很高。第六、在总部建立超大规模hadoop集群,去承载全国的数据,建设成本非常高。第七、总部访问省份的数据延迟很高,总部只能访问各个省份前一天的数据,不能实时访问省份当天的数据。
技术实现思路
为此,本专利技术实施例提供一种基于大数据的跨地域任务调度方法及系统,采用逻辑集中、物理分散方式,分数据还保存在对应的大数据平台,不需要每天都将分数据传到总的大数据平台,对多地区数据分析时,只需要将用户的计算请求自动跨域调度到分地区的大数据平台,并自动将计算结果返回给总部汇总运算后返回给总部的用户。为了实现上述目的,本专利技术的实施方式提供如下技术方案:基于大数据的跨地域任务调度方法,包括:用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中:通过多表关联生成逻辑执行计划;如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地,如果是跨域分区表,获取每个分区的数据位置信息,如果是跨域复制表,获取该表所有副本的位置信息,并表的类型、数据位置等信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表。作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中,如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理。作为基于大数据的跨地域任务调度方法的优选方案,当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。作为基于大数据的跨地域任务调度方法的优选方案,所述计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。本专利技术实施例还提供一种基于大数据的跨地域任务调度系统,包括:命令下发模本文档来自技高网
...

【技术保护点】
1.基于大数据的跨地域任务调度方法,其特征在于,包括:用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。...

【技术特征摘要】
1.基于大数据的跨地域任务调度方法,其特征在于,包括:用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。2.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中:通过多表关联生成逻辑执行计划;如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地;如果是跨域分区表,获取每个分区的数据位置信息;如果是跨域复制表,获取该表所有副本的位置信息,并将表的类型、数据位置信息保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表。3.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中,如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:a)如果不同,通过跨域调度引擎将当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理。4.根据权利要求3所述的基于大数据的跨地域任务调度方法,其特征在于,当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。5.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。6.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息...

【专利技术属性】
技术研发人员:刘垚田俊何献青谢冬云
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1