CN109815254A - 基于大数据的跨地域任务调度方法及系统 - Google Patents
基于大数据的跨地域任务调度方法及系统 Download PDFInfo
- Publication number
- CN109815254A CN109815254A CN201811626158.4A CN201811626158A CN109815254A CN 109815254 A CN109815254 A CN 109815254A CN 201811626158 A CN201811626158 A CN 201811626158A CN 109815254 A CN109815254 A CN 109815254A
- Authority
- CN
- China
- Prior art keywords
- cross
- domain
- location information
- subquery
- cluster
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于大数据的跨地域任务调度方法及系统,用户下发结构化查询语言,解析结构化查询语言生成语法树,采用跨域调度引擎根据元数据信息对语法树进行拆解,生成并分发在总数据平台或分数据平台执行的多个逻辑执行计划,收到逻辑执行计划的集群,由跨域调度引擎获取相关的本集群存储的元数据,并从元数据中获取所有数据块的位置信息产生最终在本集群执行的逻辑执行计划;跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算,集群汇总计算产生初步汇总结果并根据发送位置信息发送;收到初步汇总结果的集群将数据二次汇总计算产生最终查询结果返回给用户。避免海量数据传输,节约带宽,降低成本。
Description
技术领域
本发明实施例涉及数据处理技术领域,具体涉及一种基于大数据的跨地域任务调度方法及系统。
背景技术
目前,像中国联通、中国电信会在各个省份建立大数据平台,然后每天把存储数据的文件通过网络上传到总部的大数据平台,然后在总部做数据稽核、数据分析等业务,通常使用Hive(基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行)或Spark(专为大规模数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等)等Mpp工具进行。一般需要在总部建立超大规模集群,才能承载全国各省份上传的数据,并且从省份上传数据到总部,需要大量的人工,经常会有漏传数据文件的情况发生。
以中国联通为例,当大数据物理集中的方案为:
第一、各省准备好数据文件,即把数据导出到文件,通常是CSV格式的,大文件需要拆成多个压缩包;
第二、将数据文件上传到各省自己的FTP服务器,对于琐碎的、大量的数据文件,例如:上网的日志、信令等数据文件,各省直接上传到总部的服务器;
第三、总部从各省的FTP服务器上下载数据文件;
第四、总部开始检查数据文件,如果发现漏传,通知省份补传,然后数据加工;
第五、总部开始人工审核,如果发现数据错误,通知省份重传;如果发现疑似错误,开工单记录,然后交由省份确认;
第六、数据发布。
现有技术存在以下问题:
第一、每天将海量数据传到总部,占用大量带宽,vpn的成本相对较高。
第二、同样的数据保存多份,浪费磁盘空间。同样的数据,在总部的hadoop集群里存3份,供总部的人员作分析;在省份的hadoop集群里存3份,供省份的人员做分析。
第三、无论总部还是省份,做数据分析时,都只能使用自己的大数据平台的计算资源,即使有资源空闲,也不能相互使用对方的计算资源,造成资源浪费。
第四、各省的人员做数据分析时,只能看到自己省的数据,看不到对方的数据,不能做横向的、跨省的数据对比分析。
第五、需要大量的人员做支撑,人力成本很高。
第六、在总部建立超大规模hadoop集群,去承载全国的数据,建设成本非常高。
第七、总部访问省份的数据延迟很高,总部只能访问各个省份前一天的数据,不能实时访问省份当天的数据。
发明内容
为此,本发明实施例提供一种基于大数据的跨地域任务调度方法及系统,采用逻辑集中、物理分散方式,分数据还保存在对应的大数据平台,不需要每天都将分数据传到总的大数据平台,对多地区数据分析时,只需要将用户的计算请求自动跨域调度到分地区的大数据平台,并自动将计算结果返回给总部汇总运算后返回给总部的用户。
为了实现上述目的,本发明的实施方式提供如下技术方案:基于大数据的跨地域任务调度方法,包括:
用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;
所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;
收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;
集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;
收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中:
通过多表关联生成逻辑执行计划;
如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地,如果是跨域分区表,获取每个分区的数据位置信息,如果是跨域复制表,获取该表所有副本的位置信息,并表的类型、数据位置等信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;
如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表。
作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中,如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理。
作为基于大数据的跨地域任务调度方法的优选方案,当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
作为基于大数据的跨地域任务调度方法的优选方案,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
作为基于大数据的跨地域任务调度方法的优选方案,所述计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
本发明实施例还提供一种基于大数据的跨地域任务调度系统,包括:
命令下发模块,用于用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
拆解模块,用于采用大数据平台的跨域调度引擎对语法树进行拆解,生成分别在总数据平台或分数据平台执行的多个逻辑执行计划;
遍历模块,用于通过跨域调度引擎遍历逻辑执行计划中的所有子查询;
判断模块,用于判断子查询的计算位置信息类型是跨域分区表还是跨域复制表;
第一赋值模块,用于当判断子查询的数据分布信息是跨域分区表时,按照集群标识列表将子查询复制多份并赋值给每份子查询的计算集群信息;
第二赋值模块,用于当判断子查询的数据分布信息是跨域复制表时,将本地集群的集群标识赋值给子查询的计算集群信息;
计划发送模块,用于通过跨域调度引擎根据计算集群信息向每个相应集群发送逻辑执行计划;
元数据信息获取模块,用于收到逻辑执行计划的集群获取逻辑执行计划中相关的本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
第一结果模块,用于对收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算形成初步汇总结果,将初步汇总结果按照发送位置信息进行发送;
第二结果模块,用于收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
基于大数据的跨地域任务调度系统的一个实施例中,所述拆解模块中通过多表关联生成逻辑执行计划;
如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地,如果是跨域分区表,获取每个分区的数据位置信息,如果是跨域复制表,获取该表所有副本的位置信息,并表的类型、数据位置等信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;
如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理;
当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
基于大数据的跨地域任务调度系统的一个实施例中,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
基于大数据的跨地域任务调度系统的一个实施例中,所述判断模块中计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
本发明实施例的技术方案具有以下优点:无需每天将进行海量数据传输,节约带宽,降低vpn的成本;同样的数据无需进行多份保存,节约磁盘空间;大数据平台之间能够相互使用对方的计算资源,节约计算资源;分数据平台进行数据分析时,可以看到本地的数据,也可以看到其他平台的数据,可以进行横向的、跨地区的数据对比分析;无需大量的人员做支撑,节约人力成本;总数据平台访问分数据平台的数据延迟低,能够实时访问分数据平台当天的数据。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明的实施例中提供的基于大数据的跨地域任务调度方法流程图;
图2为本发明的实施例中提供的基于大数据的跨地域任务调度系统示意图;
图3为本发明的实施例中提供的基于大数据的跨地域任务调度架构图;
图中:1、命令下发模块;2、拆解模块;3、遍历模块;4、判断模块;5、第一赋值模块;6、第二赋值模块;7、计划发送模块;8、元数据信息获取模块;9、第一结果模块;10、第二结果模块。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,提供一种基于大数据的跨地域任务调度方法,包括以下步骤:
S1:用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
S2:采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;
S3:所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;
S4:收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
S5:跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;
S6:集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;
S7:收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
具体的,基于大数据的跨地域任务调度方法的一个实施例中,结构化查询语言的实施代码如下:
SELECT SUM(FLUX_DURA)AS FLUX_DURA,b.prov_name AS NAME
FROM DT_D_EVNT_USER_GPRS a join DM_PROV b
on a.PROV_ID=b.PROV_ID
WHERE STATIS_DATE='20170221'
GROUP BY b.prov_name
具体的,跨域调度引擎遍历语法树,如果用户下的SQL中含有子查询,那么先遍历语法树中对应的子查询部分,后遍历父查询,即先从语法树中所有不包含子查询的子查询开始拆解,然后处理已经被处理过的子查询的父查询,再逐层往上处理,直到最顶层。
基于大数据的跨地域任务调度方法的一个实施例中,所述跨域调度引擎对所述语法树进行拆解的过程中:通过多表关联生成逻辑执行计划。如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地,如果是跨域分区表,获取每个分区的数据位置信息,如果是跨域复制表,获取该表所有副本的位置信息,并表的类型、数据位置等信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息。如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表。
具体的,基于大数据的跨地域任务调度方法的一个实施例中,逻辑执行计划实施代码如下:
SELECT SUM(exp@1)as FLUX_DURA,exp@2as NAME
FROM temp_table@network
GROUP BY exp@2
以上代码用于二次汇总,采用换个执行计划接收各个分数据平台中心的结果,并做汇总计算,产生最终结果返回给用户
SELECT SUM(FLUX_DURA)AS exp@1,b.prov_name AS exp@2
FROM DT_D_EVNT_USER_GPRS.P1a join DM_PROV b
on a.PROV_ID=b.PROV_ID
WHERE STATIS_DATE='20170221'
GROUP BY b.prov_name
……
SELECT SUM(FLUX_DURA)AS exp@1,b.prov_name AS exp@2
FROM DT_D_EVNT_USER_GPRS.PN a join DM_PROV b
on a.PROV_ID=b.PROV_ID
WHERE STATIS_DATE='20170221'
GROUP BY b.prov_name
以上代码用于下发给总数据平台或分数据平台的逻辑执行计划。
具体的,如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理。
具体的,当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
具体的,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
具体的,步骤S4中,收到逻辑执行计划的集群,获取逻辑执行计划涉及到的本集群存储的元数据,从元数据中获取逻辑执行计划中的表包含的所有数据块的详细位置信息,即每个Block存储在哪个Data Node上,然后根据这些数据的位置信息进行二级调度,将逻辑执行计划再次进行等价变换,生成在每个DataNode上执行的、最终的逻辑执行计划,再将二级调度产生的最终执行计划,发给每个DataNode上的数据分析引擎。
基于大数据的跨地域任务调度方法的一个实施例中,所述计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
具体的,跨域大数据平台包含三种表:本地表、跨域分区表、跨域复制表。
本地表:是数据意义上的普通的表,元数据和数据都保存在本地;
跨域分区表:一张表被包含多个分区,每个分区的数据保存在不同的地区集群,例如事实表;
跨域复制表:一张表被保存了多份,该大数据平台有多少个集群,就保存多少份,并且每份数据都相同,例如维度表。
参见图2,本发明实施例还提供一种基于大数据的跨地域任务调度系统,包括:
命令下发模块1,用于用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
拆解模块2,用于采用大数据平台的跨域调度引擎对语法树进行拆解,生成分别在总数据平台或分数据平台执行的多个逻辑执行计划;
遍历模块3,用于通过跨域调度引擎遍历逻辑执行计划中的所有子查询;
判断模块4,用于判断子查询的计算位置信息类型是跨域分区表还是跨域复制表;
第一赋值模块5,用于当判断子查询的数据分布信息是跨域分区表时,按照集群标识列表将子查询复制多份并赋值给每份子查询的计算集群信息;
第二赋值模块6,用于当判断子查询的数据分布信息是跨域复制表时,将本地集群的集群标识赋值给子查询的计算集群信息;
计划发送模块7,用于通过跨域调度引擎根据计算集群信息向每个相应集群发送逻辑执行计划;
元数据信息获取模块8,用于收到逻辑执行计划的集群获取逻辑执行计划中相关的本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
第一结果模块9,用于对收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算形成初步汇总结果,将初步汇总结果按照发送位置信息进行发送;
第二结果模块10,用于收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
基于大数据的跨地域任务调度系统的一个实施例中,所述拆解模块中通过多表关联生成逻辑执行计划;
如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地,如果是跨域分区表,获取每个分区的数据位置信息,如果是跨域复制表,获取该表所有副本的位置信息,并表的类型、数据位置等信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;
如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理;
当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
基于大数据的跨地域任务调度系统的一个实施例中,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
基于大数据的跨地域任务调度系统的一个实施例中,所述判断模块中计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
参见图3,本发明实施例的一个实践应用中,跨地域任务调度根据元数据信息来进行任务调度,总部元数据包只含数据位置信息,省级元数据包含数据详细描述信息。把所有省份的数据看成一张逻辑上的大表,比如把31个省的话费详单,看成是一张逻辑上的大表,每个省的话费详单,分别看成是这账逻辑表大表的一个分区。跨域任务调度采用两级调度策略,例如:总部的任务调度引擎根据总部存储的元数据把计算请求调度到保存本次计算请求涉及的数据的多个省份大数据平台,各个省份大数据平台再分别将计算请求调度到存有数据的物理节点,在各个省份大数据平台先将计算结果做初步汇总(这样可以降低网络传出量,节省带宽),然后将初步汇总结果自动返回给总部大数据平台,总部大数据平台再做二次汇总运算。整体采用逻辑集中、物理分散方式,分数据还保存在对应的大数据平台,不需要每天都将分数据传到总的大数据平台,对多地区数据分析时,只需要将用户的计算请求自动跨域调度到分地区的大数据平台,并自动将计算结果返回给总部汇总运算后返回给总部的用户。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.基于大数据的跨地域任务调度方法,其特征在于,包括:
用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
采用所述大数据平台的跨域调度引擎对所述语法树进行拆解,生成分别在所述总数据平台或分数据平台执行的多个逻辑执行计划;
所述跨域调度引擎遍历逻辑执行计划中的所有子查询,将所有标记为拆分的子查询进行如下处理:判断子查询的计算位置信息,如果数据分布信息是跨域分区表,则按照集群标识列表将所述子查询复制多份并赋值给每份子查询的计算集群信息;如果数据分布信息是跨域复制表,则将本地集群的集群标识赋值给所述子查询的计算集群信息,跨域调度引擎根据所述计算集群信息向每个相应集群发送逻辑执行计划;
收到逻辑执行计划的集群,获取逻辑执行计划中关于本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
跨域调度引擎向数据节点分发逻辑执行计划,收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算;
集群将分数据平台结果进行初步汇总,将初步汇总结果按照发送位置信息进行发送;
收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
2.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中:
通过多表关联生成逻辑执行计划;
如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地;如果是跨域分区表,获取每个分区的数据位置信息;如果是跨域复制表,获取该表所有副本的位置信息,并将表的类型、数据位置信息保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;
如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表。
3.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中,如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎将当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理。
4.根据权利要求3所述的基于大数据的跨地域任务调度方法,其特征在于,当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
5.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
6.根据权利要求1所述的基于大数据的跨地域任务调度方法,其特征在于,所述计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
7.基于大数据的跨地域任务调度系统,其特征在于,包括:
命令下发模块,用于用户连接大数据平台并下发结构化查询语言,通过所述大数据平台解析所述结构化查询语言,生成语法树,所述大数据平台包括总数据平台和分数据平台;
拆解模块,用于采用大数据平台的跨域调度引擎对语法树进行拆解,生成分别在总数据平台或分数据平台执行的多个逻辑执行计划;
遍历模块,用于通过跨域调度引擎遍历逻辑执行计划中的所有子查询;
判断模块,用于判断子查询的计算位置信息类型是跨域分区表还是跨域复制表;
第一赋值模块,用于当判断子查询的数据分布信息是跨域分区表时,按照集群标识列表将子查询复制多份并赋值给每份子查询的计算集群信息;
第二赋值模块,用于当判断子查询的数据分布信息是跨域复制表时,将本地集群的集群标识赋值给子查询的计算集群信息;
计划发送模块,用于通过跨域调度引擎根据计算集群信息向每个相应集群发送逻辑执行计划;
元数据信息获取模块,用于收到逻辑执行计划的集群获取逻辑执行计划中相关的本集群存储的元数据,从元数据中获取逻辑执行计划中包含的所有数据块的位置信息,并产生最终在本集群执行的逻辑执行计划;
第一结果模块,用于对收到逻辑执行计划的数据节点上的数据分析引擎进行数据读取和计算形成初步汇总结果,将初步汇总结果按照发送位置信息进行发送;
第二结果模块,用于收到初步汇总结果的集群,将数据进行二次汇总计算,并产生最终查询结果并返回给用户。
8.根据权利要求7所述的基于大数据的跨地域任务调度系统,其特征在于,所述拆解模块中通过多表关联生成逻辑执行计划;
如果当前节点是叶子节点,判断叶子节点的类型,当叶子节点为表时,从元数据中获取该表的类型,如果是本地表,则将该表转换为只有一个分区的跨域分区表,并将该分区的数据位置信息设置为本地;如果是跨域分区表,获取每个分区的数据位置信息;如果是跨域复制表,获取该表所有副本的位置信息,并将表的类型、数据位置信息并保存到该叶子节点中,将所述数据位置信息设置为叶子节点的计算位置信息;
如果当前节点包含子查询,判断表的计算位置信息是否和子查询的计算位置信息相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
如果当前节点是非叶子节点先判断左右孩子节点的计算位置信息是否相同:
a)如果不同,通过跨域调度引擎当前节点的计算位置标记为本地,跨域调度引擎再把左右孩子节点分别拆成一个子查询,并将两个子查询的状态改为拆分,并在子查询上标记计算位置信息和结果发送位置信息;
b)如果相同,判断左右孩子节点的合作模式,当左右孩子节点的合作模式为跨域复制表左连接跨域分区表或者是跨域分区表右连接跨域复制表时,则按a)处理;
当左右孩子节点的合作模式非跨域复制表左连接跨域分区表或者非跨域分区表右连接跨域复制表时,将当前节点的计算位置信息标记为当前节点的左右孩子的计算位置信息的交集;再判断当前节点是否包含子查询,如果有子查询,判断当前节点的计算位置信息是否和子查询的相同,如果相同,不进行拆解处理;如果不同,通过跨域调度引擎标记该子查询的状态为拆解状态,并将子查询的结果发送位置信息设置为叶子节点的计算位置信息中的集群标识列表;
所述交集的判定方法为:跨域分区表与跨域复制表的交集是跨域分区表;跨域分区表与跨域分区表的交集是跨域分区表;跨域复制表与跨域复制表的交集是跨域复制表。
9.根据权利要求7所述的基于大数据的跨地域任务调度系统,其特征在于,所述跨域调度引擎对所述语法树进行拆解的过程中:先将当前子查询的计算位置信息设置为二叉树根节点的计算位置信息;再遍历逻辑执行计划中的子查询,判断子查询和二叉树根节点的计算位置信息是否相同,如果不同,将子查询标记为拆解状态并将结果发送位置信息作为的计算位置信息的计算位置信息;如果相同,不进行拆解处理。
10.根据权利要求7所述的基于大数据的跨地域任务调度系统,其特征在于,所述判断模块中计算位置信息包括集群标识和数据分布信息,判断两个计算位置信息是否相同方法为:
当数据分布信息是跨域分区表和跨域复制表,或者是跨域复制表和跨域复制表时,将两个计算位置信息判断为相同;
当数据分布信息是跨域分区表和跨域分区表时:两个计算位置信息任一个的集群标识列表包含2个及2个以上时,则位置信息不同;当两个计算位置信息都只包含1个集群标识并且相同,则位置信息相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626158.4A CN109815254B (zh) | 2018-12-28 | 2018-12-28 | 基于大数据的跨地域任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626158.4A CN109815254B (zh) | 2018-12-28 | 2018-12-28 | 基于大数据的跨地域任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815254A true CN109815254A (zh) | 2019-05-28 |
CN109815254B CN109815254B (zh) | 2020-12-22 |
Family
ID=66602702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811626158.4A Active CN109815254B (zh) | 2018-12-28 | 2018-12-28 | 基于大数据的跨地域任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815254B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049898A (zh) * | 2019-12-10 | 2020-04-21 | 杭州东方通信软件技术有限公司 | 一种实现计算集群资源跨域架构的方法及系统 |
CN111078728A (zh) * | 2019-12-19 | 2020-04-28 | 山大地纬软件股份有限公司 | 一种数据库归档模式下跨库查询方法和装置 |
CN113535391A (zh) * | 2021-06-28 | 2021-10-22 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及系统 |
WO2022156542A1 (zh) * | 2021-01-21 | 2022-07-28 | 北京沃东天骏信息技术有限公司 | 数据访问方法、系统和存储介质 |
CN116595232A (zh) * | 2023-05-24 | 2023-08-15 | 杭州金智塔科技有限公司 | 跨数据源的数据处理系统、方法及装置 |
WO2024077802A1 (zh) * | 2022-10-10 | 2024-04-18 | 上海商米科技集团股份有限公司 | 跨区域的数据同步方法、系统及计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871976A (zh) * | 2015-11-24 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 数据跨域请求方法、设备及系统 |
CN106682168A (zh) * | 2016-12-27 | 2017-05-17 | 浙江大学 | 一种跨域城市数据可视查询系统的构建方法 |
CN106878408A (zh) * | 2017-02-08 | 2017-06-20 | 福建天泉教育科技有限公司 | 跨域请求数据的方法及系统 |
US20170318099A1 (en) * | 2016-04-29 | 2017-11-02 | Yandex Europe Ag | Method and system for processing tasks in a cloud service |
CN107580013A (zh) * | 2017-07-25 | 2018-01-12 | 阿里巴巴集团控股有限公司 | 跨域请求数据的方法及装置 |
CN107943952A (zh) * | 2017-11-24 | 2018-04-20 | 北京赛思信安技术股份有限公司 | 一种基于Spark框架进行全文检索的实现方法 |
-
2018
- 2018-12-28 CN CN201811626158.4A patent/CN109815254B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871976A (zh) * | 2015-11-24 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 数据跨域请求方法、设备及系统 |
US20170318099A1 (en) * | 2016-04-29 | 2017-11-02 | Yandex Europe Ag | Method and system for processing tasks in a cloud service |
CN106682168A (zh) * | 2016-12-27 | 2017-05-17 | 浙江大学 | 一种跨域城市数据可视查询系统的构建方法 |
CN106878408A (zh) * | 2017-02-08 | 2017-06-20 | 福建天泉教育科技有限公司 | 跨域请求数据的方法及系统 |
CN107580013A (zh) * | 2017-07-25 | 2018-01-12 | 阿里巴巴集团控股有限公司 | 跨域请求数据的方法及装置 |
CN107943952A (zh) * | 2017-11-24 | 2018-04-20 | 北京赛思信安技术股份有限公司 | 一种基于Spark框架进行全文检索的实现方法 |
Non-Patent Citations (2)
Title |
---|
杨萌萌: "《 基于HDFS的结构化数据存储和查询方法研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
邓科峰: "《云数据中心环境下并行应用与并行负载调度算法研究》", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049898A (zh) * | 2019-12-10 | 2020-04-21 | 杭州东方通信软件技术有限公司 | 一种实现计算集群资源跨域架构的方法及系统 |
CN111078728A (zh) * | 2019-12-19 | 2020-04-28 | 山大地纬软件股份有限公司 | 一种数据库归档模式下跨库查询方法和装置 |
WO2022156542A1 (zh) * | 2021-01-21 | 2022-07-28 | 北京沃东天骏信息技术有限公司 | 数据访问方法、系统和存储介质 |
CN113535391A (zh) * | 2021-06-28 | 2021-10-22 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及系统 |
CN113535391B (zh) * | 2021-06-28 | 2024-04-16 | 北京东方国信科技股份有限公司 | 跨域大数据平台的分布式集群状态信息管理方法及系统 |
WO2024077802A1 (zh) * | 2022-10-10 | 2024-04-18 | 上海商米科技集团股份有限公司 | 跨区域的数据同步方法、系统及计算机可读介质 |
CN116595232A (zh) * | 2023-05-24 | 2023-08-15 | 杭州金智塔科技有限公司 | 跨数据源的数据处理系统、方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109815254B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815254A (zh) | 基于大数据的跨地域任务调度方法及系统 | |
CN107122443B (zh) | 一种基于Spark SQL的分布式全文检索系统及方法 | |
CN111435344B (zh) | 一种基于大数据的钻井提速影响因素分析模型 | |
CN103064875B (zh) | 一种服务化空间数据分布式查询方法 | |
Görlitz et al. | Federated data management and query optimization for linked open data | |
CN105005606B (zh) | 基于MapReduce的XML数据查询方法和系统 | |
WO2009033339A1 (fr) | Système de questions/réponses interactif en mode intelligent et procédé de traitement | |
CN104899314A (zh) | 一种数据仓库的血统分析方法和装置 | |
CN107103064A (zh) | 数据统计方法及装置 | |
CN109145168A (zh) | 一种专家服务机器人云平台 | |
US20200334314A1 (en) | Emergency disposal support system | |
CN103778251A (zh) | 面向大规模rdf图数据的sparql并行查询方法 | |
Debattista et al. | Linked'Big'Data: towards a manifold increase in big data value and veracity | |
CN108108466A (zh) | 一种分布式系统日志查询分析方法及装置 | |
CN107025298A (zh) | 一种大数据实时计算处理系统及方法 | |
Shoval et al. | Database reverse engineering: from the relational to the binary relationship model | |
CN107682395A (zh) | 一种大数据云计算运行系统及方法 | |
CN108287889B (zh) | 一种基于弹性表模型的多源异构数据存储方法和系统 | |
CN109739882A (zh) | 一种基于Presto和Elasticsearch的大数据查询优化方法 | |
CN108228787A (zh) | 按照多级类目处理信息的方法和装置 | |
Abdelaziz et al. | Query optimizations over decentralized RDF graphs | |
CN107748748A (zh) | 水利水电技术标准全文检索系统 | |
CN116450908B (zh) | 基于数据湖的自助式数据分析方法、装置和电子设备 | |
CN107180024A (zh) | 一种中心连通子图的多源异构数据实体识别方法及系统 | |
Bahrami et al. | Efficient processing of SPARQL queries over graphframes |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |