[发明专利]一种快速获取有序序列数据的装置有效
申请号: | 201910673180.2 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110377642B | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 罗果 | 申请(专利权)人: | 杭州太尼科技有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27 |
代理公司: | 杭州橙知果专利代理事务所(特殊普通合伙) 33261 | 代理人: | 林伟 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 获取 有序 序列 数据 装置 | ||
一种快速获取有序序列数据的装置,用于从多个分布式计算设备中存储的n个有序序列中获取从某一序列位置起始的若干个有序数据,这些分布式计算设备包括主计算设备和与之通讯的多个从计算设备,所述装置包括:设置在所述从计算设备中的初始化单元,被配置为将这n个有序序列的每一者各设定一初始化位置;以及设置在所述主计算设备中的处理单元,被配置为基于所设定的初始化位置,将每一有序序列中的序列取值位置调整若干次以构成一或多次振荡调整以得到所需查找有序的该某一序列位置的数据在每个序列中的起始位置,其中每次振荡调整的振幅是将前一次振荡调整的振幅幅度缩少。
技术领域
本发明主要是关于在分布式计算和数据库等应用场景中查找所需数据时如何实现更低资源和数据计算占用率或时间/空间复杂度的调用优化装置和方法,尤其是关于在一或多个序列中对分页数据元素快速查找的改进。这其中,包含了将从这些分布式计算和数据库等应用场景中获取的有序数据按照统一排序方式排序的从第x个数据开始的y个数据(x,y均为正整数)按照一致的排序的方式排列后提供给调用设备方,一些需求仅需返回分页数据,在多数情形下,返回的分页数据具有有序性,诸如升序和/或降序排列。
背景技术
通常,序列是指被排列成一列的多个元素,在本发明任何实施例中,元素通常指称计算机可读数据的简化表达,这些元素可通过在一个序列中的序号(或索引)被快速调用而无需每次轮询查找。序列可以是数据索引、列表、数据集、结果集等具有有序、可以按索引号获取的特征元素集合。
可将一个序列中的元素按照统一的比较方式进行相互比较,在该序列中的某一序号对应位置所引用的元素之前的元素小于等于/大于等于它的时候,这个序列被确定为具有序性,例如正序/逆序。在本发明任何实施例中,多个有序序列的元素类型被认为是一致的,并且按相同方式排序,也就是说,统一设定为正序/逆序排列。
在一些实现中,设备调用方仅需获取有序的分页数据。例如,可获取一或多个有序序列中从第x元素开始随后的y个有序的元素。如果将所有获得的有序序列合并为一个序列并且排序方式不变,则形成一个新的序列L,获取该序列L中从第x元素开始随后的y个有序的元素以生成一个有序分页。
在多个有序序列中,如果要取它们合并为一个序列后的从x序号开始的y个元素,调用设备的性能是非常低的,如何快速找到满足要求的元素在实际应用中是非常常见的。在一些数据计算应用系统中,随着获取数据量的增加,查找数据的效率会急剧下降,这个时候常会把海量数据按照某种规则分解为多个数据块,由不同的应用或数据服务器提供服务。例如在数据库领域,是典型的分库分表解决方案,在分布式检索系统中会把多个服务器检索到的结果进行合并。
有时,需要把多个应用程序或数据服务器提供的数据合并为一个完整的结果后返回给调用方,而且并非要求返回所有数据而是仅返回分页数据即可。如果返回的结果是无序的,则简单从第一个序列扫描起,使用例如贪心算法快速定位到需要的索引位置后取其后需要的y个数据即可。但是,许多时候返回的结果是有序的,就出现如何快速从多个有序序列中获取有序分页数据的问题,这是本发明所需解决的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州太尼科技有限公司,未经杭州太尼科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910673180.2/2.html,转载请声明来源钻瓜专利网。