一种数据查询方法及装置的制造方法_3

文档序号:9750944阅读:来源:国知局
为-Co?10;
[0144]数据节点b为10?25;
[0145]数据节点c为25?35;
[0146]数据节点d为40?50;
[0147]数据节点e为50?+Co;
[0148]数据节点f为35?40;
[0149]最终,在重新分区后的数据节点中进行数据查询。
[0150]本申请实施例所提供的技术方案与现有技术相比,在处理数据量较大的情况下,可以极大地减少数据迀移量,尤其对于range分区差别很小(例如:表C的id为0-9、表D的id为0-10)的分区表,节约网络带宽和1资源,提高了集群环境下分区表查询的效率。
[0151]基于同一发明构思,本申请实施例中还提供了一种数据查询装置,由于这些设备解决问题的原理与一种数据查询方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
[0152]图6示出了本申请实施例中数据查询装置的结构示意图,如图所示,所述数据查询装置可以包括:
[0153]接收模块601,用于接收数据查询请求,确定待查询的分区表;
[0154]计算模块602,用于根据所述分区表的分区信息将待查询的分区表取并集,计算并集后区间的移动代价;
[0155]重划分模块603,用于根据所述移动代价为所述区间重新确定数据节点;
[0156]查询模块604,用于在数据节点中进行数据查询。
[0157]实施中,所述重划分模块具体可以包括:
[0158]区间选择单元,用于从并集后的区间中选出预设数量移动代价最大的区间;
[0159]第一重划分单元,用于为所述预设数量的移动代价最大的区间重新确定数据节占.V ,
[0160]第二重划分单元,用于将剩余的区间合并至已确定数据节点的区间。
[0161]实施中,所述第一重划分单元具体可以包括:
[0162]排序子单元,用于将所述并集后的区间按照移动代价从大到小排序;
[0163]状态树构建子单元,用于依次以待确定数据节点的区间作为节点,每个节点以所述区间在分区表中的数据节点作为分枝,构建状态树;
[0164]剪枝子单元,用于如果所述数据节点不可用,执行剪枝操作;
[0165]确定子单元,用于深度优先遍历DFS所述状态树,确定所述预设数量的移动代价最大的区间及其数据节点。
[0166]实施中,所述第二重划分单元具体可以用于将所述剩余的区间合并至与所述区间最近且数据量最小的区间。
[0167]实施中,所述计算模块具体可以用于如果所述区间在分区表中的数据节点不一致且至少一个数据节点可用,所述区间的移动代价cost = max-min ;如果所述区间在分区表中的数据节点不可用,所述区间的移动代价Cost = 2*(max-min);其中,max为所述区间的最大值,min为所述区间的最小值。
[0168]上述实施例中,均可以采用现有的功能元器件模块来实施。例如,接收模块,则是任意一个具备信号传输功能的设备都具备的元器件;计算模块进行的取并集、计算移动代价等可以采用现有技术,本领域技术人员经过相应的设计开发即可实现;至于重划分模块可以采用现有的数据分区元器件,至少,现有分区技术中采用的服务器上便具备实现该功能元器件;同时,查询模块则是任意一个具备数据查询功能的设备都具备的元器件。
[0169]为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
[0170]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0171]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0172]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0173]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0174]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
【主权项】
1.一种数据查询方法,其特征在于,包括如下步骤: 接收数据查询请求,确定待查询的分区表; 根据所述分区表的分区信息将待查询的分区表取并集,计算并集后区间的移动代价; 根据所述移动代价为所述区间重新确定数据节点; 在数据节点中进行数据查询。2.如权利要求1所述的方法,其特征在于,所述根据所述移动代价为所述区间重新确定数据节点,具体为: 从并集后的区间中选出预设数量的移动代价最大的区间; 为所述预设数量的移动代价最大的区间重新确定数据节点; 将剩余的区间合并至已确定数据节点的区间。3.如权利要求2所述的方法,其特征在于,所述从并集后的区间中选出预设数量移动代价最大的区间,为所述预设数量的移动代价最大的区间确定数据节点,具体为: 将所述并集后的区间按照移动代价从大到小排序; 依次以待确定数据节点的区间作为节点,每个节点以所述区间在分区表中的数据节点作为分枝,构建状态树; 如果所述数据节点不可用,执行剪枝操作; 深度优先遍历DFS所述状态树,确定所述预设数量的移动代价最大的区间及其数据节点。4.如权利要求2所述的方法,其特征在于,所述将剩余的区间合并至已确定数据节点的区间,具体为:将所述剩余的区间合并至与所述区间最近且数据量最小的区间。5.如权利要求1所述的方法,其特征在于,所述计算并集后区间的移动代价,具体为: 如果所述区间在分区表中的数据节点不一致且至少一个数据节点可用,所述区间的移动代价 cost =max_min; 如果所述区间在分区表中的数据节点不可用,所述区间的移动代价C0St = 2*(max-min): 其中,max为所述区间的最大值,min为所述区间的最小值。6.一种数据查询装置,其特征在于,包括: 接收模块,用于接收数据查询请求,确定待查询的分区表; 计算模块,用于根据所述分区表的分区信息将待查询的分区表取并集,计算并集后区间的移动代价; 重划分模块,用于根据所述移动代价为所述区间重新确定数据节点; 查询模块,用于在数据节点中进行数据查询。7.如权利要求6所述的装置,其特征在于,所述重划分模块具体包括: 区间选择单元,用于从并集后的区间中选出预设数量的移动代价最大的区间; 第一重划分单元,用于为所述预设数量的移动代价最大的区间重新确定数据节点; 第二重划分单元,用于将剩余的区间合并至已确定数据节点的区间。8.如权利要求7所述的装置,其特征在于,所述第一重划分单元具体包括: 排序子单元,用于将所述并集后的区间按照移动代价从大到小排序; 状态树构建子单元,用于依次以待确定数据节点的区间作为节点,每个节点以所述区间在分区表中的数据节点作为分枝,构建状态树; 剪枝子单元,用于如果所述数据节点不可用,执行剪枝操作; 确定子单元,用于深度优先遍历DFS所述状态树,确定所述预设数量的移动代价最大的区间及其数据节点。9.如权利要求7所述的装置,其特征在于,所述第二重划分单元具体用于将所述剩余的区间合并至与所述区间最近且数据量最小的区间。10.如权利要求6所述的装置,其特征在于,所述计算模块具体用于如果所述区间在分区表中的数据节点不一致且至少一个数据节点可用,所述区间的移动代价cos t = max-min ;如果所述区间在分区表中的数据节点不可用,所述区间的移动代价cost = 2*(max-min);其中,max为所述区间的最大值,min为所述区间的最小值。
【专利摘要】本申请提供了一种数据查询方法及装置,包括:接收数据查询请求,确定待查询的分区表;根据所述分区表的分区信息将待查询的分区表取并集,计算并集后区间的移动代价;根据所述移动代价为所述区间重新确定数据节点;在数据节点中进行数据查询。由于本申请所提供的技术方案,在接收到数据查询请求后,并不是直接在待查询的分区表中进行查询,而是根据分区表的分区信息取并集计算每个区间的移动代价,并根据移动代价为每个区间重新确定数据节点,即重新划分了区间,从而可以极大地减少数据迁移量,节约网络带宽和输入输出IO资源,提高分区表查询效率。
【IPC分类】G06F17/30
【公开号】CN105512268
【申请号】CN201510882085
【发明人】刘泽树
【申请人】曙光信息产业(北京)有限公司
【公开日】2016年4月20日
【申请日】2015年12月3日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1