一种数据加载方法、终端和计算集群技术

技术编号:14821256 阅读:92 留言:0更新日期:2017-03-15 19:41
本发明专利技术实施例提供一种数据加载方法、终端和计算集群,涉及通信技术领域,能够降低KeyValue数据库的读写时延,提高KeyValue数据库的查询性能。具体方案为:计算集群接收携带有待加载数据表的分区信息的数据加载请求;根据分区信息确定第一数据分区,分区信息指示的所有分区分别绑定一个第一数据分区;分别获取分区信息指示的每个分区的源数据,对每个分区的源数据分别执行映射任务;根据分区信息指示的分区与第一数据分区的绑定关系,将执行每个映射任务所得的中间数据对应地写入第一数据分区;对每个第一数据分区中的中间数据分别执行归约任务,执行得到每个归约任务的目标文件,目标文件供KeyValue数据库的加载数据表进行数据查询使用。本发明专利技术实施例用于加载数据。

【技术实现步骤摘要】

本专利技术实施例涉及通信
,尤其涉及一种数据加载方法、终端和计算集群
技术介绍
分布式键值KeyValue数据库能有效减少读写磁盘的次数,具有更好的读写性能,能够为用户提供更好的数据查询服务。KeyValue数据库常采用映射归约MapReduce服务组件来批量加载数据。在批量加载数据的过程中,通过执行MapReduce任务,生成与KeyValue数据库的定义的文件存储格式相一致的目标文件,并存储到分布式文件系统中,而后从分布式文件系统加载到KeyValue数据库中。其中,同时布署有MapReduce服务组件和KeyValue数据库的集群的结构示意图可以参见图1。在图1所示的集群中,MapReduce任务执行过程需要读取大量的数据,并且涉及到排序、分区等大量的计算,从而使得整个集群的中央处理器(CentralProcessingUnit,简称CPU)、网络输入/输出(Input/Output,简称I/O)口、磁盘I/O口等资源的使用率非常高。KeyValue数据库对读写时延要求较高,一般在毫秒级;但在使用MapReduce服务组件为KeyValue数据库批量加载数据时,执行MapReduce任务来加载数据的进程会占用较多资源,导致可用于KeyValue数据库的查询服务的进程的资源相对减少,从而影响KeyValue数据库的读写时延,KeyValue数据库的数据查询性能降低,导致无法满足用户的业务需求。
技术实现思路
本专利技术实施例提供一种数据加载方法、终端和计算集群,能够降低KeyValue数据库的读写时延,提高KeyValue数据库的查询性能。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种数据加载方法,应用于计算集群。其中涉及查询集群,计算集群用于数据加载,查询集群用于KeyValue数据库的数据查询,计算集群与查询集群为不同集群。该方法包括:首先,计算集群接收数据加载请求,数据加载请求携带有待加载数据表的分区信息。其次,计算集群根据分区信息确定第一数据分区。其中,分区信息指示的所有分区分别绑定一个第一数据分区。然后,计算集群从分布式文件系统中分别获取分区信息指示的每个分区的源数据,对每个分区的源数据分别执行映射任务。之后,计算集群根据分区信息指示的分区与第一数据分区的绑定关系,将执行每个映射任务所得的中间数据对应地写入第一数据分区。而后,计算集群对每个第一数据分区中的中间数据分别执行归约任务,执行得到每个归约任务的目标文件,该目标文件供KeyValue数据库的加载数据表进行数据查询使用。这样,可以通过计算集群中的资源执行MapReduce任务,生成与KeyValue数据库定义的文件存储格式相同的目标文件,以供在查询集群中KeyValue数据库的加载数据表进行数据查询使用。其中,由于执行MapReduce任务的是计算集群,与为用户提供查询服务的查询集群是相互独立的两个集群,因而即使在执行MapReduce任务的过程中,会占用大量的CPU、I/O口等资源,但这些资源为计算集群中的资源,MapReduce任务的执行不会占用查询集群的相关资源,从而可以使得查询集群的负载较低,因而能够降低查询集群中KeyValue数据库的读写时延,提高KeyValue数据库的查询性能。在第一方面的一种可能的实现方式中,该方法还包括:计算集群将目标文件发送至查询集群。第二方面,本专利技术实施例提供一种数据加载方法,应用于终端。其中涉及计算集群和查询集群,计算集群用于数据加载,查询集群用于KeyValue数据库的数据查询,计算集群与查询集群为不同集群。该包括:终端向计算集群发送数据加载请求,数据加载请求携带有待加载数据表的分区信息。其中,数据加载请求指示计算集群根据分区信息确定第一数据分区。分区信息指示的所有分区分别绑定一个第一数据分区。第一数据分区用于存储对于第一数据分区绑定的分区中的源数据执行映射任务所得的中间数据,以便对第一数据分区中的中间数据执行归约任务来获取目标文件。在第二方面的一种可能的实现方式中,查询集群与计算集群具有各自的分布式文件系统,查询集群与计算集群各自具有的分布式文件系统相互隔离,这种情况下,终端或者查询集群需要请求计算集群将每个第一数据分区对应的目标文件发送至查询集群,以便在KeyValue数据库的待加载数据表进行数据查询时使用目标文件。在第二方面的一种可能的实现方式中,查询集群与计算集群共享分布式文件系统,查询集群从分布式文件系统中获取目标文件。在计算集群生成目标文件后,可以将目标文件保存在与查询集群共享的分布式文件系统中,查询集群可以直接从分布式文件系统中获取目标文件并加载,以便在KeyValue数据库的待加载数据表进行数据查询时使用该目标文件。在第二方面的一种可能的实现方式中,在终端向计算集群发送数据加载请求之前,该方法还包括:终端向查询集群请求待加载数据表的分区信息。从而,终端可以根据从查询集群获取的分区信息确定第一数据分区。在第二方面的一种可能的实现方式中,终端上保存有查询集群的连接配置集和计算集群的连接配置集。在终端向查询集群请求待加载数据表的分区信息之前,该方法还包括:终端根据查询集群的连接配置集向查询集群发送第一建立连接请求。在终端向计算集群发送数据加载请求之前,该方法还包括:终端根据计算集群的连接配置集向所计算集群发送第二建立连接请求。从而,在终端与查询集群/计算集群建立连接后,终端可以与查询集群/计算集群进行消息交互。在第二方面的一种可能的实现方式中,连接配置集包括IP地址、端口和安全访问配置信息中的至少一个。第三方面,本专利技术实施例提供一种数据加载方法,应用于查询集群。其中涉及计算集群,查询集群用于KeyValue数据库的数据查询,计算集群用于数据加载,计算集群与查询集群为不同集群。该方法包括:查询集群接收计算集群发送的每个第一数据分区对应的目标文件。而后,查询集群将每个第一数据分区对应的目标文件加载至KeyValue数据库中,以便在KeyValue数据库的待加载数据表进行数据查询时使用目标文件。这样,在计算集群生成目标文件后,终端或者查询集群可以请求计算集群将目标文件发送至查询集群;查询集群在接收到计算集群发送的目标文件后,可以将目标文件加载至KeyValue数据库中,以便在KeyValue数据库的待加载数据表进行数据查询时使用该目标文件。结合上述任一方面,在一种可能的实现方式中,分区信息指示的每个分区的Key值范围不同;对于具有绑定关系的分区与第一数据分区,分区的源数据与第一数据分区的中间数据具有相同的Key值范围。这样,计算集群在执行映射归约任务时,可以根据Key值范围分别获取每个分区的源数据,并将相同Key范围的中间数据分发至每个分区对应的第一数据分区中。结合上述任一方面,在一种可能的实现方式中,查询集群中具有第二数据分区,所有第二数据分区对应的Key值范围与第一数据分区对应的Key值范围相同,第二数据分区用于存储对应Key值范围的目标文件。这样,在查询集群接收到计算集群发送的目标文件后,或者从与计算集群共享的分布式文件系统中获取目标文件后,可以将与每个第一数据文件对应目标文件,分别存储在一个对应的第二数据分区中,且第二数本文档来自技高网...
一种数据加载方法、终端和计算集群

【技术保护点】
一种数据加载方法,其特征在于,计算集群用于数据加载,查询集群用于KeyValue数据库的数据查询,所述计算集群与所述查询集群为不同集群,所述方法包括:所述计算集群接收数据加载请求,所述数据加载请求携带有待加载数据表的分区信息;所述计算集群根据所述分区信息确定第一数据分区,其中,所述分区信息指示的所有分区分别绑定一个所述第一数据分区;所述计算集群从分布式文件系统中分别获取所述分区信息指示的每个分区的源数据,对每个分区的源数据分别执行映射任务;所述计算集群根据所述分区信息指示的分区与所述第一数据分区的绑定关系,将执行每个映射任务所得的中间数据对应地写入所述第一数据分区;所述计算集群对每个所述第一数据分区中的中间数据分别执行归约任务,执行得到每个归约任务的目标文件,所述目标文件供KeyValue数据库的所述加载数据表进行数据查询使用。

【技术特征摘要】
1.一种数据加载方法,其特征在于,计算集群用于数据加载,查询集群用于KeyValue数据库的数据查询,所述计算集群与所述查询集群为不同集群,所述方法包括:所述计算集群接收数据加载请求,所述数据加载请求携带有待加载数据表的分区信息;所述计算集群根据所述分区信息确定第一数据分区,其中,所述分区信息指示的所有分区分别绑定一个所述第一数据分区;所述计算集群从分布式文件系统中分别获取所述分区信息指示的每个分区的源数据,对每个分区的源数据分别执行映射任务;所述计算集群根据所述分区信息指示的分区与所述第一数据分区的绑定关系,将执行每个映射任务所得的中间数据对应地写入所述第一数据分区;所述计算集群对每个所述第一数据分区中的中间数据分别执行归约任务,执行得到每个归约任务的目标文件,所述目标文件供KeyValue数据库的所述加载数据表进行数据查询使用。2.根据权利要求1所述的方法,其特征在于,所述分区信息指示的每个分区的Key值范围不同;对于具有所述绑定关系的所述分区与所述第一数据分区,所述分区的源数据与所述第一数据分区的中间数据具有相同的Key值范围。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述计算集群将所述目标文件发送至所述查询集群。4.根据权利要求3所述的方法,其特征在于,所述查询集群中具有第二数据分区,所有所述第二数据分区对应的Key值范围与所述第一数据分区对应的Key值范围相同,所述第二数据分区用于存储对应Key值范围的所述目标文件。5.一种数据加载方法,其特征在于,计算集群用于数据加载,查询集群用于KeyValue数据库的数据查询,所述计算集群与所述查询集群为不同集群,所述方法包括:向所述计算集群发送数据加载请求,所述数据加载请求携带有待加载数据表的分区信息,所述数据加载请求指示所述计算集群根据所述分区信息确定第一数据分区,所述分区信息指示的所有分区分别绑定一个所述第一数据分区,所述第一数据分区用于存储对于所述第一数据分区绑定的分区中的源数据执行映射任务所得的中间数据,以便对所述第一数据分区中的中间数据执行归约任务来获取目标文件;请求所述计算集群将每个所述第一数据分区对应的目标文件发送至所述查询集群,以便在KeyValue数据库的所述待加载数据表进行数据查询时使用所述目标文件。6.根据权利要求5所述的方法,其特征在于,所述查询集群中具有第二数据分区,所有所述第二数据分区对应的Key值范围与所述第一数据分区对应的Key值范围相同,所述第二数据分区用于存储对应Key值范围的所述目标文件。7.根据权利要求5或6所述的方法,其特征在于,在向所述计算集群发送数据加...

【专利技术属性】
技术研发人员:房浩毕杰山莫凯郭益君钟超强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1