一种数据查询操作的实现方法、装置及系统制造方法及图纸

技术编号:8682766 阅读:160 留言:0更新日期:2013-05-09 02:43
本发明专利技术公开了一种数据查询操作的实现方法、装置及系统,对外部数据系统的数据表执行查询操作后,将查询到的数据缓存到临时表中;对临时表中缓存的数据增加索引后,将临时表中的所有数据均匀分配给各数据交换节点,确定其对应的索引范围。本发明专利技术通过建立临时表缓存查询到的数据,各个数据交换节点就可以直接并行地对缓存表中的部分数据进行读取操作,避免了每个数据交换节点都需要并行地在外部系统中进行复杂的查询操作,减轻了在处理大量数据时外部数据系统服务器的负担,并且,由于分配给各数据交换节点的临时表中的索引范围对应的数据行数相对平均,保证了各个数据交换节点在并行处理时运行时间能够基本相同,从而提高了整体的查询效率。

【技术实现步骤摘要】

本专利技术涉及数据查询
,尤其涉及ー种数据查询操作的实现方法、装置及系统
技术介绍
目前,在数据存储系统中导入诸如关系型数据库、分布式数据库、以及其他提供数据查询接ロ的外部数据系统中的数据表或对数据表的查询结果的方法为:将外部数据系统中待查询的数据按照某种分配规则,分配给数据存储系统中的多个数据交换节点;每个数据交换节点并行地对外部数据系统的数据表中的数据执行查询请求,得到各自的查询结果;将每个数据交换节点的查询结果合并后,得到完整的查询結果。其中,按照分配规则具体可以分为两种:一种为基于偏移量和最大记录行数的分配规则:首先获得外部数据系统中待查询的数据的总记录行数,然后根据总记录行数和数据交换节点的个数,对各数据交换节点分配对应的查询范围,最后各个数据交換节点并行地在外部数据系统中对分配到的范围进行查询,并返回查询結果。另ー种为基于记录标识范围的分配规则:首先计算外部数据系统中待查询数据的记录标识的取值范围,然后根据记录标识的取值范围和数据交换节点的个数,对各数据交换节点分配对应的记录标识的查询范围,最后各个数据交換节点并行地在外部数据系统中对分配到的记录标识的查询范围进行查询,并返回查询結果。对于第一种分配规则,由于每个数据交换节点都需要在外部数据系统中并行地进行复杂的查询操作,并需要对查询结果进行排序才能保证总的查询结果的正确性,因此在处理大数据量时性能较差,处理效率较低;并且,由于每个数据交换节点都会并行地向外部数据系统的数据表提交查询请求,因此当存在大量数据交换节点时会对系统造成巨大负担。对于第二种分配规则,由于采用记录标识来分割外部数据系统中的数据,不能保证分配到每个数据交换节点的查询数据量均匀,因此会导致在并行查询时,一些数据交換节点的运行时间相对较长使得整体查询效率低;并且,此种方式只能处理有记录标识且记录标识为数字型(int或long类型)的数据,会带来使用的局限性。
技术实现思路
本专利技术实施例提供了ー种数据查询操作的实现方法、装置及系统,用以解决现有的数据查询操作在实现时服务器负担较重、查询效率较低的问题。本专利技术实施例提供的ー种数据查询操作的实现方法,包括:对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;对所述临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据;根据所述临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将所述临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从所述临时表中读取数据至所述数据存储系统。本专利技术实施例提供的ー种数据查询操作的实现装置,包括:查询模块,用于对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;索引建立模块,用于对所述临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据;索引分配模块,用于根据所述临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将所述临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;发送模块,用于向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从所述临时表中读取数据至所述数据存储系统。本专利技术实施例提供的ー种数据查询操作的实现系统,包括:外部数据系统和数据存储系统,还包括:数据查询操作的实现装置;其中,所述数据查询操作的实现装置,用于对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;对所述临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据;根据所述临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;向各数据交换节点下发为其分配的索引范围;所述数据存储系统包括多个数据交换节点,每个数据交换节点用于根据接收到的所述数据查询操作的实现装置发送的索引范围,从所述临时表中读取数据至所述数据存储系统。本专利技术实施例的有益效果包括:本专利技术实施例提供的ー种数据查询操作的实现方法、装置及系统,对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;对临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据;根据临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从临时表中读取数据至数据存储系统。本专利技术通过建立临时表缓存查询到的数据,各个数据交换节点就可以直接并行地对缓存表中的部分数据进行读取操作,避免了每个数据交换节点都需要并行地在外部系统中进行复杂的查询操作,减轻了在处理大量数据时外部数据系统服务器的负担,并且,由于分配给各数据交换节点的临时表中的索引范围对应的数据行数相对平均,保证了各个数据交换节点在并行处理时运行时间能够基本相同,从而提高了整体的查询效率。附图说明图1为本专利技术实施例提供的数据查询操作的实现方法的流程图之ー;图2为本专利技术实施例提供的数据查询操作的实现方法的流程图之ニ ;图3为本专利技术实施例提供的数据查询操作的实现装置的结构示意图;图4为本专利技术实施例提供的数据查询操作的实现系统的结构示意图。具体实施例方式下面结合附图,对本专利技术实施例提供的数据查询操作的实现方法、装置及系统的具体实施方式进行详细地说明。本专利技术实施例提供的ー种数据查询操作的实现方法,如图1所示,具体包括以下步骤:S101、对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;S102、对临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据;S103、根据临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;S104、向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从临时表中读取数据至数据存储系统。其中,本专利技术实施例提供的上述方法中,外部数据系统可以为关系型数据库、分布式数据库或其他能够提供数据查询接ロ的系统;数据存储系统可以为关系型数据库、分布式数据库或分布式文件系统等,在具体实施时,上述数据存储系统例如可以部署于云计算平台中,在此不作限定。其中,相对于现有技术中的第一种分配规则,本专利技术实施例提供的上述方法,建立临时表缓存查询到的数据后,各个数据交换节点就可以直接对缓存表中的部分数据并行地执行读取操作,可以避免每个数据交换节点都需要并行地在外部系统中进行复杂的查询操作,导致在处理大量数据时性能较差的问题,同时当存在大量数据交换节点时也不会对系统造成过大的负担。下面对上述各步骤的具体实现方式进行详细的说明。具体地,本专利技术实施例提供的上述方法中步骤S102可以通过下述方式实现:对临时表中缓存的每设定行数的数据,増加ー个从I开始自增固定步长的数字型(int或long型)索引,直至最后一行数据。具体地,上述步骤本文档来自技高网
...

【技术保护点】
一种数据查询操作的实现方法,其特征在于,包括:对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中;对所述临时表中缓存的每设定行数的数据增加一个索引,直至最后一行数据;根据所述临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将所述临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围;向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从所述临时表中读取数据至所述数据存储系统。

【技术特征摘要】
1.一种数据查询操作的实现方法,其特征在于,包括: 对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中; 对所述临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据; 根据所述临时表中所有数据的总记录行数和数据存储系统中的数据交换节点的个数,将所述临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围; 向各数据交换节点下发为其分配的索引范围,以便各数据交换节点按照所分配的索引范围并行地从所述临时表中读取数据至所述数据存储系统。2.按权利要求1所述的方法,其特征在于,对所述临时表中缓存的每设定行数的数据増加ー个索引,直至最后一行数据,具体包括: 对所述临时表中缓存的每设定行数的数据,増加ー个从I开始自增固定步长的数字型索引,直至最后一行数据。3.按权利要求1所述的方法,其特征在于,对所述临时表中缓存的每设定行数的数据増加ー个索引,直至最后一行数据,具体包括: 对所述临时表中缓存的每设定行数的数据,増加一个字符型或字符串型索引,直至最后一行数据。4.按权利要求1-3任一项所述的方法,其特征在于,根据所述临时表中所有数据的总记录行数和数据存储系统中的数 据交换节点的个数,将所述临时表中的所有数据均匀分配给各数据交换节点,确定各数据交换节点对应的索引范围,具体包括: 计算所述临时表中缓存的数据的总记录行数; 将所述总记录行数除以数据交换节点的数量,得到每个数据交换节点应处理的数据的行数,并根据临时表中增加的索引,确定为各数据交换节点分配的包含对应行数的索引范围。5.一种数据查询操作的实现装置,其特征在于,包括: 查询模块,用于对外部数据系统的数据表执行查询操作,将查询到的数据缓存到预先建立的临时表中; 索引建立模块,用于对所述临时表中缓存的每设定行数的数据增加ー个索引,直至最后一行数据; 索引分配模块,用于根据所述临时表中所有数据的总记录...

【专利技术属性】
技术研发人员:高丹邓超徐萌江志雄钱岭罗治国孙少陵
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:

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

1