(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 103605750 A
(43)申请公布日 2014.02.26
(21)申请号 CN201310591821.2
(22)申请日 2013.11.22
(71)申请人 厦门雅迅网络股份有限公司
    地址 361009 福建省厦门市软件园产业基地二期观日路46号
(72)发明人 余小峰 程行荣 涂岩恺 刘志芳 吴超民
(74)专利代理机构 厦门市新华专利商标代理有限公司
    代理人 朱凌
(51)Int.CI
      G06F17/30
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种快速的分布式数据分页方法
(57)摘要
      本发明提供一种快速的分布式数据分页方法,包括如下步骤:根据待查询目标页,分解出各分片查询页;通过数据库语言获得各个分片目标页的最大值和最小值,再比较这些所得到的值,获取最终的最大数据和最小数据;查分片介于最大数据和最小数据的数据,得到的数据列表;查询出数据列表的第一个数据在原分片数据中的位置;将获取到的分片数据列表合并获取数据列表L;计算获取的总和C;获取数据列表L的目标页的数据列表,该数据列表即为所查结果。本发明所述的方法能有效的解决海量分布式数据环境下的分页问题,大大减少了不必要的计算开销,避免了重复计算,提高计算机系统的运算速度。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种快速的分布式数据分页方法,其特征在于:包括如下步骤:       
步骤10、根据待查询目标页,分解出各分片查询页;       
步骤20、通过数据库语言获得各个分片目标页的最大值和最小值,再比较这些所得到的值,获取所得到值中的最大数据和最小数据;       
步骤30、查分片中介于最大数据和最小数据的数据,将所述数据存放入数据列表中,即目标页的数据列表;       
步骤40、查询出数据列表的第一个数据在分片中的位置;       
步骤50、将获取到的数据列表两两分成一组,对每组进行排序得到一个有序的数据列表,继续合并,最终只剩下一个数据列表L;       
步骤60、计算获取的总和C;       
步骤70、获取数据列表L的目标页的数据列表,即数据列表L中第n-c位到第m-c位的数据列表,该数据列表即为所查结果。       
2.根据权利要求1所述的一种快速的分布式数据分页方法,其特征在于:所述步骤10中,等于n除以分布式数据的分片个数。       
3.根据权利要求2所述的一种快速的分布式数据分页方法,其特征在于:所述步骤50中的排序为二路归并排序。       
说  明  书
<p>技术领域   
分页预览本发明涉及计算机数据处理领域,特别涉及一种快速的分布式数据分页方法。   
背景技术   
在计算机数据处理领域中,分页技术是一种将所有数据分段展示给用户的技术。用户看到的不是全部数据,而是其中的一部分,如果在其中没有到自己想要的内容,用户可以通过指定页码或是翻页的方式转换内容,直到到自己想要的内容为止,这和我们阅读书籍是类似的。   
近年来随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用普遍建立于计算机网络基础上,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。然而,如何快速的将分布式数据进行聚合排序并根据指定页码获取分页数据已成为数据处理领域的一项重大难题。   
从应用角度来看,一方面分布式数据库导致数据集越来越分散,待排序的数据量越来越大,另一方面对系统的快速响应要求越来越高。在分布式数据库应用的早期,主要产生了两种分布式数据排序及分页方法。第一种方法是通过SQL语句查询出所有分片记录,并对各分片返回的有序记录,进行排序去重合并,主要是编写排序去重合并算法。该种方法虽然实现比较
简单,但是数据量越大,字段越多,去重处理就会越耗时,查询速度也会越慢。第二种方法基于Hadoop+Hive来实现,主要思路是使用分布式系统基础架构(Hadoop)的分布式文件系统(HDFS)来存储数据,通过分布式系统基础架构(Hadoop)的映射(Map)和化简(Reduce)完成数据计算,通过数据仓库工具(Hive)的HQL语言使用部分与关系型数据库管理系统(RDBMS)一样的表格查询特性和分布式存储计算特性。该方法可以解决分布式数据存储问题,具有并发处理能力,可以离线处理。缺点是:实时性不能保证、网络延迟会增加、异常捕获难度增加、Web应用起来比较复杂。其他一些算法均是基于以上两种方法进行演变。