CN109726191B - 一种跨集群数据的处理方法和系统、存储介质 - Google Patents
一种跨集群数据的处理方法和系统、存储介质 Download PDFInfo
- Publication number
- CN109726191B CN109726191B CN201811518625.1A CN201811518625A CN109726191B CN 109726191 B CN109726191 B CN 109726191B CN 201811518625 A CN201811518625 A CN 201811518625A CN 109726191 B CN109726191 B CN 109726191B
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- cross
- module
- load
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 10
- 230000005012 migration Effects 0.000 claims abstract description 63
- 238000013508 migration Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000001360 synchronised effect Effects 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及一种跨集群数据的处理方法和系统、存储介质。其中,该方法包括:对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息,判断请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果,若第一判断结果为是时,则从跨集群分布式缓存中读取目标数据,其中,跨集群分布式缓存中包括访问频次大于频次阈值的热数据。通过本实施例提供的技术方案,避免了现有技术中用户通过多集群作业入口对在不同的集群中的数据进行读取,而各个集群建的数据迁移会消耗大量的宽带资源,容易引发数据供应不及时的技术弊端,实现了数据的及时获取,提高了数据处理的效率的技术效果。
Description
技术领域
本发明实施例涉及集群数据处理技术领域,尤其涉及一种跨集群数据的处理方法和系统、存储介质。
背景技术
随着业务和数据规模的发展,大数据能力开放平台的底层集群会越来越多,不同集群所支撑的业务也不尽相同(比如O域互联网日志集群、O域信令集群、B域用户信息和通话详单数据集群、位置数据集群等)。
由于不同合作伙伴租户在基于多业务集群做联合建模时,经常会使用不同业务域的主题数据(比如B域、O域、M域),在通常的日/月数据加工模型需求场景中还时常会联合不同维度(比如地域、账期、渠道、产品等)对应的数据表。这样就不可避免的导致集群间的数据迁移和预处理任务也越来越频繁。
因此,对跨集群数据进行高效快速处理成了亟待解决的技术问题。
发明内容
本发明所要解决的技术问题是针对现有技术中所存在的上述缺陷,提供一种跨集群数据的处理方法和系统、存储介质,用以解决现有技术中存在数据处理效率低的问题。
根据本发明实施例的一个方面,本发明实施例提供了一种跨集群数据的处理方法,所述方法包括:
对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息;
判断所述请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果;
若所述第一判断结果为是时,则从所述跨集群分布式缓存中读取所述目标数据;
其中,所述跨集群分布式缓存中包括访问频次大于频次阈值的热数据。
进一步地,所述方法还包括:
若所述第一判断结果为否时,则判断所述目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果;
若所述第二判断结果为是时,则从包括所述目标数据的集群中读取所述目标数据。
进一步地,所述方法还包括:
若所述第二判断结果为否时,则获取预设的同步排列表,其中,所述同步排列表中包括每个所述集群对应的迁移信息;
分别计算每个包括部分所述目标数据对应的集群的综合负载指数;
将每个所述综合负载指数均与预设的负载阈值进行比较,提取比所述负载阈值大的目标综合负载指数对应的集群;
根据所述目标综合负载指数对应的集群、所述同步排列表和所述跨集群分布式缓存,确定迁移任务。
进一步地,基于式1计算所述综合负载指数F(i),式1:
其中,n为集群总数,Wcpu为集群CPU平均负载权重系数,cpuLoad(i)为集群i的CPU负载,Wmem为集群内存平均负载权重系数,memLoad(i)为集群i的内存负载,Wdisk为集群磁盘存储平均负载权重系数,diskLoad(i)为集群i的磁盘存储负载,Wnet为集群带宽负载权重系数,netLoad(i)为集群节点i的带宽占用负载,Wjob为集群作业平均负载系数,jobLoad为集群执行作业负载,Wpenalty为集群业务优先惩罚项权重系数,Sm为业务优先惩罚项。
进一步地,获取Sm的方法包括:
将每一天的时间按K小时进行切片;
通过式2对第m个切片结束时间段进行表示,式2:Tm=mK(m∈[1,24/K]);
通过式3对第m个切片时间片段进行表示,式3:f(m-1,m)=[Tm-1,Tm];
遍历每个时间片段,得到每个时间片段对应的业务优先惩罚项Sm。
进一步地,所述方法还包括:
基于所述迁移任务中第一集群对应的待迁移的数据容量信息,所述集群对应的宽带信息,以及第二集群对应的负载信息,计算所述迁移任务对应的进度信息,其中,所述迁移任务包括将所述第一集群中的数据迁移至所述第二集群的信息。
进一步地,所述方法还包括:
响应于执行所述迁移任务过程中发生的故障事件,生成告警信息;
其中,所述故障事件包括:所述集群发生网络拥塞和/或所述集群资源发生瓶颈。
进一步地,所述对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息,具体包括:
对所述SQL语句的词法和语法解析,生成AST抽象语法树;
通过遍历递归的方法对所述AST树进行遍历递归处理,生成查询块QueryBlock;
对所述QueryBlock进行分析处理,生成逻辑执行计划信息;
基于所述逻辑执行计划信息,生成所述请求数据信息。
进一步地,所述方法还包括:
响应于访问频次大于频次阈值的热数据,将所述热数据存储至所述跨集群分布式缓存。
根据本发明实施例的另一个方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
根据本发明实施例的另一个方面,本发明实施例还提供了一种跨集群数据的处理系统,所述系统包括:解析模块、判断模块和读取模块,其中,
所述解析模块用于:对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息;
所述判断模块用于:判断所述请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果;
所述读取模块用于:若所述第一判断结果为是时,则从所述跨集群分布式缓存中读取所述目标数据;
其中,所述跨集群分布式缓存中包括访问频次大于频次阈值的热数据。
进一步地,所述判断模块还用于:若所述第一判断结果为否时,则判断所述目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果;
所述读取模块还用于:若所述第二判断结果为是时,则从包括所述目标数据的集群中读取所述目标数据。
进一步地,所述系统包括:获取模块、计算模块、比较模块、匹配模块,其中,所述获取模块用于:若所述第二判断结果为否时,则获取预设的同步排列表,其中,所述同步排列表中包括每个所述集群对应的迁移信息;
所述计算模块用于:分别计算每个包括部分所述目标数据对应的集群的综合负载指数;
所述比较模块用于:将每个所述综合负载指数均与预设的负载阈值进行比较,提取比所述负载阈值大的目标综合负载指数对应的集群;
所述匹配模块用于:根据所述目标综合负载指数对应的集群、所述同步排列表和所述跨集群分布式缓存,确定迁移任务。
进一步地,基于式1计算所述综合负载指数F(i),式1:
其中,n为集群总数,Wcpu为集群CPU平均负载权重系数,cpuLoad(i)为集群i的CPU负载,Wmem为集群内存平均负载权重系数,memLoad(i)为集群i的内存负载,Wdisk为集群磁盘存储平均负载权重系数,diskLoad(i)为集群i的磁盘存储负载,Wnet为集群带宽负载权重系数,netLoad(i)为集群节点i的带宽占用负载,Wjob为集群作业平均负载系数,jobLoad为集群执行作业负载,Wpenalty为集群业务优先惩罚项权重系数,Sm为业务优先惩罚项。
进一步地,所述系统还包括:切片模块、遍历模块,其中,
所述切片模块用于:将每一天的时间按K小时进行切片;通过式2对第m个切片结束时间段进行表示,式2:Tm=mK(m∈[1,24/K]);通过式3对第m个切片时间片段进行表示,式3:f(m-1,m)=[Tm-1,Tm];
所述遍历模块用于:遍历每个时间片段,得到每个时间片段对应的业务优先惩罚项Sm。
进一步地,所述计算模块还用于:基于所述迁移任务中第一集群对应的待迁移的数据容量信息,所述集群对应的宽带信息,以及第二集群对应的负载信息,计算所述迁移任务对应的进度信息,其中,所述迁移任务包括将所述第一集群中的数据迁移至所述第二集群的信息。
进一步地,所述系统还包括:生成模块,其中,所述生成模块用于:响应于执行所述迁移任务过程中发生的故障事件,生成告警信息;
其中,所述故障事件包括:所述集群发生网络拥塞和/或所述集群资源发生瓶颈。
进一步地,所述解析模块具体用于:对所述SQL语句的词法和语法解析,生成AST抽象语法树;通过遍历递归的方法对所述AST树进行遍历递归处理,生成查询块QueryBlock;对所述QueryBlock进行分析处理,生成逻辑执行计划信息;基于所述逻辑执行计划信息,生成所述请求数据信息。
进一步地,所述系统还包括:存储模块,其中,所述存储模块用于:响应于访问频次大于频次阈值的热数据,将所述热数据存储至所述跨集群分布式缓存。
本发明实施例的有益效果在于,由于采用了对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息,判断请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果,若第一判断结果为是时,则从跨集群分布式缓存中读取目标数据,其中,跨集群分布式缓存中包括访问频次大于频次阈值的热数据的技术方案,避免了现有技术中用户通过多集群作业入口对在不同的集群中的数据进行读取,而各个集群建的数据迁移会消耗大量的宽带资源,容易引发数据供应不及时的技术弊端,实现了数据的及时获取,提高了数据处理的效率的技术效果。
附图说明
图1为本发明实施例提供的一种跨集群数据的处理方法的流程示意图;
图2为本实施例提供的一种跨集群数据的处理方法对应的应用场景的系统架构图;
图3为本发明另一实施例提供的一种跨集群数据的处理方法的流程示意图;
图4为本发明另一实施例提供的一种跨集群数据的处理方法的流程示意图;
图5为以YARN资源调度模型为例的跨集群作业扫描方法的示意图;
图6为本发明实施例提供的一种跨集群数据的处理系统的模块示意图;
其中,附图标记:
1、解析模块;2、判断模块;3、读取模块。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明实施例提供了一种跨集群数据的处理方法和系统、存储介质。
根据本发明实施例的一个方面,本发明实施例提供了一种跨集群数据的处理方法。
请参阅图1,图1为本发明实施例提供的一种跨集群数据的处理方法的流程示意图。
如图1所示,该方法包括:
S1:对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息。
当用户需需要从集群中调用数据时,则会通过多集群作业入口向系统发送数据请求,该数据请求由SQL语句构成。
其中,SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。基于SQL语言形成的数据请求语句即为SQL语句。
可在系统中设置统一虚拟化数据表(如图2所示,图2为本实施例对应的应用场景的系统架构图),且具体将统一虚拟化数据表设置在多集群作业入口处,以便数据请求经过多集群作业入口被统一虚拟化数据表获取。
其中,统一虚拟化数据表包含不同机房、不同集群下加工数据的各字段,覆盖用户通用的数据建模需求。即,统一虚拟化数据表中包含用户通用的数据。统一虚拟化数据表与不同的集群存在对应关系。即,基于统一虚拟化数据表,可以获知某数据具体存在与具体的某个集群中。
优选地,S1具体包括:
S1-1:对SQL语句的词法和语法解析,生成AST抽象语法树。
具体地,可基于语言识别的工具(如Antlr)SQL语句进行解析,生成AST抽象语法树。
S1-2:通过遍历递归的方法对AST树进行遍历递归处理,生成查询块QueryBlock。
在S1-1和S1-2之间,还可包括基于AST树,完成语义的分析。使得生成的QueryBlock更精准。
S1-3:对QueryBlock进行分析处理,生成逻辑执行计划信息;
S1-4:基于逻辑执行计划信息,生成请求数据信息。
其中,S1-4可具体包括:结合集群的迁移任务的进度与跨集群分布式缓存的状态,完成逻辑执行计划优化;基于逻辑执行计划,完成物理执行计划的生成;结合集群的迁移任务的进度与跨集群分布式缓存的状态,完成物理执行计划优化,从而得到请求数据信息。
S2:判断请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果。
其中,跨集群分布式缓存中包括访问频次大于频次阈值的热数据。
在该步骤中,通过在系统中预先设置跨集群分布式缓存,该跨集群分布式缓存中存在部分建模数据,且该部分建模数据为用户常用的数据。
优选地,可通过预设时间间隔对使用数据(即用户访问过的时间)进行冷热数据的区分,当访问某数据的频次大于频次阈值时,则说明该数据为经常被用户访问的数据,则将该数据划分为热数据。将访问频次超过频率阈值的热数据主动缓存到跨集群分布式缓存中,可避免产生过多的底层的集群间数据迁移的任务。
优选地,根据多集群作业入口的统计,优先考虑保留一定的高频热点数据(比如是针对某省分特定账期的数据),其次是设定数据表容量缓存阈值,确保超过该阈值的数据,不会写入跨集群分布式缓存。
其中,该步骤也可有系统中的统一虚拟化数据执行。当然,也可在系统中设置跨集群数据迁移协调模块,且由跨集群数据迁移协调模块执行该步骤。
当由统一虚拟化数据表执行该步骤时,具体地:在得到请求数据信息后,可获知用户具体需要的数据,统一虚拟化数据表对跨集群分布式缓存中是否存在与请求数据信息对应的目标数据(即用户需要的数据)。
当由跨集群数据迁移协调模块执行该步骤时,具体地:则由统一虚拟化数据表将分析得到的请求数据信息发送至跨集群数据迁移协调模块,由跨集群数据迁移协调模块对跨集群分布式缓存中是否存在与请求数据信息对应的目标数据(即用户需要的数据)。
S3:若第一判断结果为是时,则从跨集群分布式缓存中读取目标数据。
可以理解的是,在进行判断后,会得到两种判断结果,一种为是,一种为否。当为是,即跨集群分布式缓存中包含目标数据时,则直接将跨集群分布式缓存中的目标数据反馈至用户即可。
基于上述方案和对方案的分析可知,在现有技术中,用户通过多集群作业入口对在不同的集群中的数据进行读取,而各个集群建的数据迁移会消耗大量的宽带资源,容易引发数据供应不及时的问题。而通过本实施例提供的技术方案,通过从预设的跨集群分布式缓存中获取相关数据,实现了数据的及时获取,提高了数据处理的效率的技术效果。
结合图3可知,在一种可能实现的技术方案中,该方法还包括:
S4:若第一判断结果为否时,则判断目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果。
若经过S2的判断后,得到的判断的结果为否。即,跨集群分布式缓存中并没有目标数据时,则继续判断目标数据是分布在一个集群中,还是分别分布在不同的集群中。
S5:若第二判断结果为是时,则从包括目标数据的集群中读取目标数据。
若在经过S4的判断后,确定目标数据仅存在与一个集群中,则直接从包括目标数据的集群中读取目标数据。
结合图4可知,在一种可能实现的技术方案中,该方法还包括:
S6:若第二判断结果为否时,则获取预设的同步排列表,其中,同步排列表中包括每个集群对应的迁移信息。
若经过S4的判断后,确定目标数据分别分布于不同的集群中,则对同步排列表进行获取。
其中,同步排列表的生成与上述任何步骤均无时间冲突,即在执行上述任一步骤时,均可生成或更新同步排列表。如:
在T时刻,根据一段周期内统一虚拟化表的操作请求记录,解析统一虚拟化表的表字段特征,可计算出高频联合查询分析的数据表信息,结合预先配置的业务优先级策略(重点考虑集群上层应用数据分时段加工优先级、特定数据表的存储管理权限、数据安全管理约束等因素),进一步生成各个集群间待同步数据表的排序列表,该列表条目会包含每一张数据表的元信息,如表名、容量、迁移截止时间等,在后续迁移场景中会参考使用:
集群A->集群B([表1,1TB,14:00]、[表2,2TB,14:45]……)
集群C->集群D([表3,3TB,15:00]、[表4,4TB,15:55]……)
集群B->集群D([表5,4TB,17:00]、[表6,5TB,18:30]……)
集群D->集群A([表7,2TB,20:00]、[表8,6TB,22:35]……)
……
可每X分钟执行一次,优选地,X>5,以便更新待同步排序列表。
S7:分别计算每个包括部分目标数据对应的集群的综合负载指数。
优选地,基于式1计算综合负载指数F(i),式1:
其中,n为集群总数,Wcpu为集群CPU平均负载权重系数,cpuLpad(i)为集群i的CPU负载,Wmem为集群内存平均负载权重系数,memLoad(i)为集群i的内存负载,Wdisk为集群磁盘存储平均负载权重系数,diskLoad(i)为集群i的磁盘存储负载,Wnet为集群带宽负载权重系数,netLoad(i)为集群节点i的带宽占用负载,Wjob为集群作业平均负载系数,jobLoad为集群执行作业负载,Wpenalty为集群业务优先惩罚项权重系数,Sm为业务优先惩罚项。
其中,将每一天的时间按K小时进行切片;
通过式2对第m个切片结束时间段进行表示,式2:Tm=mK(m∈[1,24/K]);
通过式3对第m个切片时间片段进行表示,式3:f(m-1,m)=[Tm-1,Tm];
遍历每个时间片段,得到每个时间片段对应的业务优先惩罚项Sm。
具体地,每个切片的业务加工优先惩罚项Sm可预先配置。遍历所有时间片段:
如:当m=2时,若T∈f(m-1,m)即T∈[T1,T2],则惩罚项P值=2。
当m=3时,若T∈f(m-1,m)即T∈[T2,T3],则惩罚项P值=S3。
……
以此类推,根据以上方法计算输出结果,
如:集群D,0.12
集群A,0.23
集群C,0.49
集群B,0.67
……
可每X分钟执行一次,优选地,X>5,以便更新综合负载指数。
S8:将每个综合负载指数均与预设的负载阈值进行比较,提取比负载阈值大的目标综合负载指数对应的集群。
在该步骤中,将每个综合负载指数均与负载阈值(如50%)进行比较,以便过滤掉相对空闲的集群。
S9:根据目标综合负载指数对应的集群、同步排列表和跨集群分布式缓存,确定迁移任务。
具体地:将目标综合负载指数对应的集群分别与同步排列表和跨集群分布式缓存进行匹配,得到迁移任务。
在该步骤中,如果需要将集群A中的数据迁移至集群B中,则先将“将集群A中的数据迁移至集群B”与同步排列表进行匹配,以确定在同步排列中没有发生过将集群A中的数据迁移至集群B中的事件,且在将“将集群A中的数据迁移至集群B”与跨集群分布式缓存进行匹配后,也确定在跨集群分布式缓存并没有发生过将集群A中的数据迁移至集群B中的事件,则将“将集群A中的数据迁移至集群B中”确定为迁移任务。
如果同步排列中没有发生过将集群A中的数据迁移至集群B中的事件,但是,跨集群分布式缓存发生过将集群A中的数据迁移至集群B中的事件。则不需将“将集群A中的数据迁移至集群B中”确认为迁移任务。
同理,如果同步排列中发生过将集群A中的数据迁移至集群B中的事件,但是,跨集群分布式缓存没有发生过将集群A中的数据迁移至集群B中的事件。则也不需将“将集群A中的数据迁移至集群B中”确认为迁移任务。
也就是说,只要同步排列和跨集群分布式缓存中的任意一个确定发生过将集群A中的数据迁移至集群B中的事件,则不需将“将集群A中的数据迁移至集群B中”确认为迁移任务。只有当同步排列和跨集群分布式缓存中均没有发生过将集群A中的数据迁移至集群B中的事件,才将“将集群A中的数据迁移至集群B中”确认为迁移任务。
在一种可能实现的技术方案中,可基于跨集群作业扫描与调度中心启动迁移任务。如:通过调用跨集群作业扫描与调度中心的接口,启动迁移任务,同时将迁移任务的运行状态及时反馈给跨集群数据迁移协调模块。优选的,该步骤每5分钟执行一次。
具体地:由跨集群作业扫描与调度中心执行计算迁移任务的解析和下推,将迁移任务分解到各集群执行,将执行结果汇总后提交上层任务的输出。
跨集群作业扫描方法,以YARN资源调度模型为例,实现方式如图5所示。结合图5可知,该方法主要是基于集群作业job(二进制或json格式)文件的解析,分析出YARN框架运行时和历史完成的job信息。实际可采用多线程方式并行对这些文件信息进行文件读取、事件反序列化、事件解析、作业解析,然后写入存储系统。
在一种可能实现的技术方案中,该方法还包括:
S10:基于迁移任务中第一集群对应的待迁移的数据容量信息,集群对应的宽带信息,以及第二集群对应的负载信息,计算迁移任务对应的进度信息,其中,迁移任务包括将第一集群中的数据迁移至第二集群的信息。
在一种可能实现的技术方案中,该方法还包括:
S11:响应于执行迁移任务过程中发生的故障事件,生成告警信息。其中,故障事件包括:集群发生网络拥塞和/或集群资源发生瓶颈。
当遇到集群大规模网络拥塞、系统资源瓶颈、或其他不可预知的集群运行时故障等情况时(即发生故障事件时),可能会导致本次迁移任务无法在计划时间内完成,此时会参考之前的耗时估算,提前发出相关迁移任务延迟完成的告警,然后结合适当的人工干预策略。
在一种可能实现的技术方案中,该方法还包括:
S12:当第一判断结果为否时,则判断目标数据是仅分布于两个不同的集群,得到第三判断结果。
S13:当第三判断结果为是时,且当第三集群对应的迁移数据量大于第四集群的迁移数据量时,则将第四集群的数据迁移至第三集群中。其中,目标数据中的部分数据分布于第三集群,另一部分数据分布于第四集群。
根据本发明实施例的另一个方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
根据本发明实施例的另一个方面,本发明实施例还提供了一种跨集群数据的处理系统。
请参阅图6,图6为本发明实施例提供的一种跨集群数据的处理系统的模块示意图。
如图6所示,该系统包括:解析模块、判断模块和读取模块,其中,
解析模块用于:对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息。
判断模块用于:判断请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果。
读取模块用于:若第一判断结果为是时,则从跨集群分布式缓存中读取目标数据;
其中,跨集群分布式缓存中包括访问频次大于频次阈值的热数据。
在一种可能实现的技术方案中,
解析模块具体用于:对SQL语句的词法和语法解析,生成AST抽象语法树。通过遍历递归的方法对AST树进行遍历递归处理,生成查询块QueryBlock。对QueryBlock进行分析处理,生成逻辑执行计划信息。基于逻辑执行计划信息,生成请求数据信息。
在一种可能实现的技术方案中,
判断模块还用于:若第一判断结果为否时,则判断目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果。
读取模块还用于:若第二判断结果为是时,则从包括目标数据的集群中读取目标数据。
在一种可能实现的技术方案中,该系统还包括:获取模块、计算模块、比较模块、匹配模块,其中,
获取模块用于:若第二判断结果为否时,则获取预设的同步排列表,其中,同步排列表中包括每个集群对应的迁移信息。
计算模块用于:分别计算每个包括部分目标数据对应的集群的综合负载指数。
比较模块用于:将每个综合负载指数均与预设的负载阈值进行比较,提取比负载阈值大的目标综合负载指数对应的集群。
匹配模块用于:根据目标综合负载指数对应的集群、同步排列表和跨集群分布式缓存,确定迁移任务。具体地:将目标综合负载指数对应的集群分别与同步排列表和跨集群分布式缓存进行匹配,得到迁移任务。
其中,基于式1计算综合负载指数F(i),式1:
其中,n为集群总数,Wcpu为集群CPU平均负载权重系数,cpuLoad(i)为集群i的CPU负载,Wmem为集群内存平均负载权重系数,memLoad(i)为集群i的内存负载,Wdisk为集群磁盘存储平均负载权重系数,diskLoad(i)为集群i的磁盘存储负载,Wnet为集群带宽负载权重系数,netLoad(i)为集群节点i的带宽占用负载,Wjob为集群作业平均负载系数,jobLoad为集群执行作业负载,Wpenalty为集群业务优先惩罚项权重系数,Sm为业务优先惩罚项。
在一种可能实现的技术方案中,该系统还包括:切片模块、遍历模块,其中,切片模块用于:将每一天的时间按K小时进行切片,并通过式2对第m个切片结束时间段进行表示,式2:Tm=mK(m∈[1,24/K]),并通过式3对第m个切片时间片段进行表示,式3:f(m-1,m)=[Tm-1,Tm]。
遍历模块用于:遍历每个时间片段,得到每个时间片段对应的业务优先惩罚项Sm。
在一种可能实现的技术方案中,
计算模块还用于:基于迁移任务中第一集群对应的待迁移的数据容量信息,集群对应的宽带信息,以及第二集群对应的负载信息,计算迁移任务对应的进度信息,其中,迁移任务包括将第一集群中的数据迁移至第二集群的信息。
在一种可能实现的技术方案中,该系统还包括:生成模块,其中,
生成模块用于:响应于执行迁移任务过程中发生的故障事件,生成告警信息。
其中,故障事件包括:集群发生网络拥塞和/或集群资源发生瓶颈。
在一种可能实现的技术方案中,该系统还包括:存储模块,其中,
存储模块用于:响应于访问频次大于频次阈值的热数据,将热数据存储至跨集群分布式缓存。
本发明实施例通过对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息,判断请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果,若第一判断结果为是时,则从跨集群分布式缓存中读取目标数据,其中,跨集群分布式缓存中包括访问频次大于频次阈值的热数据的技术方案,避免了现有技术中用户通过多集群作业入口对在不同的集群中的数据进行读取,而各个集群建的数据迁移会消耗大量的宽带资源,容易引发数据供应不及时的技术弊端,实现了数据的及时获取,提高了数据处理的效率的技术效果。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还应理解,在本发明各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种跨集群数据的处理方法,其特征在于,所述方法包括:
对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息;
判断所述请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果;
若所述第一判断结果为是时,则从所述跨集群分布式缓存中读取所述目标数据;
其中,所述跨集群分布式缓存中包括访问频次大于频次阈值的热数据;
若所述第一判断结果为否时,则判断所述目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果;
若所述第二判断结果为是时,则从包括所述目标数据的集群中读取所述目标数据;
若所述第二判断结果为否时,则获取预设的同步排列表;
分别计算每个包括部分所述目标数据对应的集群的综合负载指数;
将每个所述综合负载指数均与预设的负载阈值进行比较,提取比所述负载阈值大的目标综合负载指数对应的集群;
根据所述目标综合负载指数对应的集群、所述同步排列表和所述跨集群分布式缓存,确定迁移任务。
3.根据权利要求2所述的跨集群数据的处理方法,其特征在于,获取Sm的方法包括:
将每一天的时间按K小时进行切片;
通过式2对第m个切片结束时间段进行表示,式2:Tm=mK(m∈[1,24/K]);
通过式3对第m个切片时间片段进行表示,式3:f(m-1,m)=[Tm-1,Tm];
遍历每个时间片段,得到每个时间片段对应的业务优先惩罚项Sm。
4.根据权利要求1至3中任一项所述的跨集群数据的处理方法,其特征在于,所述方法还包括:
基于所述迁移任务中第一集群对应的待迁移的数据容量信息,所述集群对应的宽带信息,以及第二集群对应的负载信息,计算所述迁移任务对应的进度信息,其中,所述迁移任务包括将所述第一集群中的数据迁移至所述第二集群的信息。
5.根据权利要求1至3中任一项所述的跨集群数据的处理方法,其特征在于,所述对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息,具体包括:
对所述SQL语句的词法和语法解析,生成AST抽象语法树;
通过遍历递归的方法对所述AST树进行遍历递归处理,生成查询块QueryBlock;
对所述QueryBlock进行分析处理,生成逻辑执行计划信息;
基于所述逻辑执行计划信息,生成所述请求数据信息。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
7.一种跨集群数据的处理系统,其特征在于,所述系统包括:解析模块、判断模块和读取模块,其中,
所述解析模块用于:对获取到的数据请求中携带的SQL语句进行解析,得到请求数据信息;
所述判断模块用于:判断所述请求数据信息对应的目标数据是否存储于预设的跨集群分布式缓存中,得到第一判断结果;
所述读取模块用于:若所述第一判断结果为是时,则从所述跨集群分布式缓存中读取所述目标数据;
其中,所述跨集群分布式缓存中包括访问频次大于频次阈值的热数据;
所述判断模块还用于:若所述第一判断结果为否时,则判断所述目标数据是否仅分布于多个预设的集群中的任一集群,得到第二判断结果;
所述读取模块还用于:若所述第二判断结果为是时,则从包括所述目标数据的集群中读取所述目标数据;
所述系统包括:获取模块、计算模块、比较模块、匹配模块,其中,
所述获取模块用于:若所述第二判断结果为否时,则获取预设的同步排列表,其中,所述同步排列表中包括每个所述集群对应的迁移信息;
所述计算模块用于:分别计算每个包括部分所述目标数据对应的集群的综合负载指数;
所述比较模块用于:将每个所述综合负载指数均与预设的负载阈值进行比较,提取比所述负载阈值大的目标综合负载指数对应的集群;
所述匹配模块用于:根据所述目标综合负载指数对应的集群、所述同步排列表和所述跨集群分布式缓存,确定迁移任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518625.1A CN109726191B (zh) | 2018-12-12 | 2018-12-12 | 一种跨集群数据的处理方法和系统、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518625.1A CN109726191B (zh) | 2018-12-12 | 2018-12-12 | 一种跨集群数据的处理方法和系统、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726191A CN109726191A (zh) | 2019-05-07 |
CN109726191B true CN109726191B (zh) | 2021-02-02 |
Family
ID=66295332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811518625.1A Active CN109726191B (zh) | 2018-12-12 | 2018-12-12 | 一种跨集群数据的处理方法和系统、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726191B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297858B (zh) * | 2019-05-27 | 2021-11-09 | 苏宁云计算有限公司 | 执行计划的优化方法、装置、计算机设备和存储介质 |
CN110825694A (zh) * | 2019-11-01 | 2020-02-21 | 北京锐安科技有限公司 | 数据处理方法、装置、设备和存储介质 |
CN111026709B (zh) * | 2019-12-10 | 2024-03-12 | 中盈优创资讯科技有限公司 | 基于集群访问的数据处理方法及装置 |
CN111159219B (zh) * | 2019-12-31 | 2023-05-23 | 湖南亚信软件有限公司 | 一种数据管理方法、装置、服务器及存储介质 |
CN111475506B (zh) * | 2020-03-30 | 2024-03-01 | 广州虎牙科技有限公司 | 数据存储、查询的方法、装置、系统、设备、存储介质 |
CN111813573B (zh) * | 2020-06-29 | 2022-09-20 | 中国平安人寿保险股份有限公司 | 管理平台与机器人软件的通信方法及其相关设备 |
CN112035709A (zh) * | 2020-08-25 | 2020-12-04 | 上海中通吉网络技术有限公司 | 资源目录的编排方法、高速读取方法、装置和设备 |
CN112076464B (zh) * | 2020-09-04 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据请求处理方法、装置、计算机设备及存储介质 |
CN113010514B (zh) * | 2021-03-01 | 2024-02-20 | 中国工商银行股份有限公司 | 热加载方法及装置 |
CN113065848B (zh) * | 2021-04-02 | 2024-06-21 | 东云睿连(武汉)计算技术有限公司 | 一种支持多类集群后端的深度学习调度系统及调度方法 |
CN113342536A (zh) * | 2021-07-01 | 2021-09-03 | 广东电网有限责任公司 | 一种基于数据云统一数据采集工具的应用数据处理系统 |
CN115794837B (zh) * | 2023-02-01 | 2023-06-23 | 天翼云科技有限公司 | 数据表的同步方法、系统和电子设备及存储介质 |
CN115878513B (zh) * | 2023-02-21 | 2023-08-15 | 中移动信息技术有限公司 | 数据存储和数据查询方法、装置、设备及存储介质 |
CN118170737B (zh) * | 2024-05-11 | 2024-10-18 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857577A (zh) * | 2012-09-24 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储自动负载均衡的系统及方法 |
KR20140135125A (ko) * | 2013-05-15 | 2014-11-25 | 국립대학법인 울산과학기술대학교 산학협력단 | 질의 할당 방법 |
CN105868411A (zh) * | 2016-04-27 | 2016-08-17 | 国网上海市电力公司 | 一种非关系型与关系型数据库一体化数据查询方法与系统 |
CN107241444A (zh) * | 2017-07-31 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式缓存数据管理系统、方法及装置 |
-
2018
- 2018-12-12 CN CN201811518625.1A patent/CN109726191B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857577A (zh) * | 2012-09-24 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储自动负载均衡的系统及方法 |
KR20140135125A (ko) * | 2013-05-15 | 2014-11-25 | 국립대학법인 울산과학기술대학교 산학협력단 | 질의 할당 방법 |
CN105868411A (zh) * | 2016-04-27 | 2016-08-17 | 国网上海市电力公司 | 一种非关系型与关系型数据库一体化数据查询方法与系统 |
CN107241444A (zh) * | 2017-07-31 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式缓存数据管理系统、方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109726191A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726191B (zh) | 一种跨集群数据的处理方法和系统、存储介质 | |
US10983963B1 (en) | Automated discovery, profiling, and management of data assets across distributed file systems through machine learning | |
US11100103B2 (en) | Data sharing in multi-tenant database systems | |
JP6560308B2 (ja) | データ記憶サービスを実装するシステム及び方法 | |
US9460185B2 (en) | Storage device selection for database partition replicas | |
US9977815B2 (en) | Generating secured recommendations for business intelligence enterprise systems | |
US8386463B2 (en) | Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table | |
US8082273B2 (en) | Dynamic control and regulation of critical database resources using a virtual memory table interface | |
WO2019246335A1 (en) | Ordering transaction requests in a distributed database according to an independently assigned sequence | |
US11914591B2 (en) | Sharing materialized views in multiple tenant database systems | |
US11182372B1 (en) | Tracking database partition change log dependencies | |
US10866970B1 (en) | Range query capacity allocation | |
US11321302B2 (en) | Computer system and database management method | |
US9292454B2 (en) | Data caching policy in multiple tenant enterprise resource planning system | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
Chen et al. | Bestpeer++: A peer-to-peer based large-scale data processing platform | |
WO2014021874A1 (en) | Supporting multi-tenancy in a federated data management system | |
US11294931B1 (en) | Creating replicas from across storage groups of a time series database | |
DE202020005682U1 (de) | Automatisierte erneute Abfrageversuche in einer Datenbankumgebung | |
US20160274940A1 (en) | Regulating enterprise database warehouse resource usage | |
US20220171792A1 (en) | Ingestion partition auto-scaling in a time-series database | |
CN117321583A (zh) | 用于混合数据处理的存储引擎 | |
US11789922B1 (en) | Admitting for performance ordered operations of atomic transactions across a distributed database | |
KR20170033303A (ko) | 호스팅된 분석계를 위한 동적 n-차원 큐브 | |
US8868485B2 (en) | Data flow cost modeling |
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 |