一种索引查询方法及装置的制造方法

文档序号:9471444阅读:244来源:国知局
一种索引查询方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种索引查询方法及装置。
【背景技术】
[0002]随着互联网的快速发展,信息量的不断增加,每天产生的数据以TB (太字节,TeraByte)级的规模增长。为支持容量的高速拓展,数据将以多区域分布式存储。随着数据的不断增长,单一的查询索引或缓存已不能满足快速变化的用户请求,而需要针对复杂的业务提供优化的组合索引技术,以提高数据查询性能。
[0003]目前,查询海量数据时,可对活跃数据和非活跃数据分别建立索引,每个或每部分服务器分别保存活跃数据对应的活跃数据索引和非活跃数据对应的非活跃数据索引。
[0004]但是,对于活跃度不高的平台或工具,大部分数据可能为非活跃数据,造成两种索引规模相差较大,性能也相差较大。对于同一用户来说,可能需要查询不同类型或活跃度的数据,此时则需要跨越不同的服务器进行查询,响应时间长,查询时间较长。

【发明内容】

[0005]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种索引查询方法,该方法能够解决在查询时如何快速地获取请求数据,提高查询效率的问题。
[0006]本发明的第二个目的在于提出一种索引查询装置。
[0007]本发明的第三个目的在于提出一种移动终端。
[0008]本发明的第四个目的在于提出一种存储介质。
[0009]本发明的第五个目的在于提出一种应用程序。
[0010]为实现上述目的,本发明第一方面实施例提出了一种索引查询方法,包括以下步骤:接收用户的查询请求,所述查询请求包括所述用户的用户信息和请求数据的请求数据信息,所述用户信息包括所述用户的地址属性信息和所述用户属性信息,所述请求数据信息包括数据属性信息;根据所述地址属性信息确定所述用户对应的区域索引表;根据所述用户属性信息和所述数据属性信息查询所述区域索引表对应的区域节点列表,并确定所述查询请求对应的二级索引节点,以及将所述查询请求路由至所述二级索引节点,其中,所述二级索引节点包括三级索引节点列表;根据所述查询请求获取所述请求数据的活跃度;根据所述活跃度和所述三级索引节点列表将所述查询请求路由至所述三级索引节点的数据库进行查询。
[0011]可选的,当所述用户为新注册用户时,将所述新注册用户的地址属性信息保存至与其距离最近的区域索引表中,以及同步至其他所述区域索引表中。
[0012]可选的,所述三级索引节点的数据库包括Redis缓存索引表、Mysql索引表和Mongodb索引表,所述根据活跃度和所述三级索引节点列表将所述查询请求路由至所述三级索引节点的数据库进行查询,包括:判断所述活跃度是否大于预设阈值;如果大于所述预设阈值,则将所述查询请求路由至Redis缓存索引表进行查询;如果小于等于所述预设阈值,则将所述查询请求路由至Mysql索引表或Mongodb索引表进行查询。
[0013]可选的,将所述查询请求路由至Redis缓存索引表进行查询,包括:获取所述查询请求中的所述请求数据的数据类型;对所述用户的用户属性信息和所述请求数据的数据类型进行哈希验证,并生成所述请求数据对应的索引值;判断所述索引值是否存在于所述Redis缓存索引表中;若存在,则查询所述Redis缓存索引表,并获取所述请求数据的位置?目息O
[0014]可选的,所述将所述查询请求路由至Mysql索引表或Mongodb索引表进行查询,包括:获取所述查询请求中的所述请求数据的数据结构类型;当所述请求数据的数据结构类型为关系型数据时,查询所述Mongodb索引表,并获取所述请求数据的位置信息;当所述请求数据的数据结构类型为文档型数据时,查询所述Mysql索引表,并获取所述请求数据的位置信息。
[0015]可选的,索引查询方法还包括:获取所述请求数据的描述信息;根据所述描述信息判断所述请求数据是否为元数据;当所述请求数据为元数据时,根据所述位置信息下载所述请求数据;或者根据所述描述信息判断所述请求数据是否包含大数据,当所述请求数据包含大数据时,根据所述位置信息生成下载链接,并将所述下载链接提供至所述用户。
[0016]为实现上述目的,本发明第二方面实施例提出了一种索引查询装置,包括:接收模块,用于接收用户的查询请求,所述查询请求包括所述用户的用户信息和请求数据的请求数据信息,所述用户信息包括所述用户的地址属性信息和所述用户属性信息,所述请求数据信息包括数据属性信息;确定模块,用于根据所述地址属性信息确定所述用户对应的区域索引表;路由模块,用于根据所述用户属性信息和所述数据属性信息查询所述区域索引表对应的区域节点列表,并确定所述查询请求对应的二级索引节点,以及将所述查询请求路由至所述二级索引节点,其中,所述二级索引节点包括三级索引节点列表;获取模块,用于根据所述查询请求获取所述请求数据的活跃度;查询模块,用于根据所述活跃度和所述三级索引节点列表将所述查询请求路由至所述三级索引节点的数据库进行查询。
[0017]可选的,所述装置还包括:保存模块,用于当所述用户为新注册用户时,将所述新注册用户的地址属性信息保存至与其距离最近的区域索引表中,以及同步至其他所述区域索引表中。
[0018]可选的,所述三级索引节点的数据库包括Redis缓存索引表、Mysql索引表和Mongodb索引表,所述查询模块,用于:判断所述活跃度是否大于预设阈值,如果大于所述预设阈值,则将所述查询请求路由至Redis缓存索引表进行查询,如果小于等于所述预设阈值,则将所述查询请求路由至Mysql索引表或Mongodb索引表进行查询。
[0019]可选的,所述查询模块用于:获取所述查询请求中的所述请求数据的数据类型,对所述用户的用户属性信息和所述请求数据的数据类型进行哈希验证,并生成所述请求数据对应的索引值,判断所述索引值是否存在于所述Redis缓存索引表中,若存在,则查询所述Redis缓存索引表,并获取所述请求数据的位置信息。
[0020]可选的,所述查询模块用于:获取所述查询请求中的所述请求数据的数据结构类型,当所述请求数据的数据结构类型为关系型数据时,查询所述Mongodb索引表,并获取所述请求数据的位置信息,当所述请求数据的数据结构类型为文档型数据时,查询所述Mysql索引表,并获取所述请求数据的位置信息。
[0021]可选的,所述装置还包括:下载模块,用于获取所述请求数据的描述信息,并根据所述描述信息判断所述请求数据是否为元数据,当所述请求数据为元数据时,根据所述位置信息下载所述请求数据;或者根据所述描述信息判断所述请求数据是否包含大数据,当所述请求数据包含大数据时,根据所述位置信息生成下载链接,并将所述下载链接提供至所述用户。
[0022]为实现上述目的,本发明第三方面实施例提出了一种移动终端,该移动终端包括处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
[0023]接收用户的查询请求,所述查询请求包括所述用户的用户信息和请求数据的请求数据信息,所述用户信息包括所述用户的地址属性信息和所述用户属性信息,所述请求数据信息包括数据属性信息;根据所述地址属性信息确定所述用户对应的区域索引表;根据所述用户属性信息和所述数据属性信息查询所述区域索引表对应的区域节点列表,并确定所述查询请求对应的二级索引节点,以及将所述查询请求路由至所述二级索引节点,其中,所述二级索引节点包括三级索引节点列表;根据所述查询请求获取所述请求数据的活跃度;根据所述活跃度和所述三级索引节点列表将所述查询请求路由至所述三级索引节点的数据库进行查询。
[0024]为实现上述目的,本发明第四方面实施例提出了一种存储介质,其中,所述存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明所述的一种索引查询方法。
[0025]为实现上述目的,本发明第五方面实施例提出了一种应用程序,其中,所述应用程序用于在运行时执行本发明所述的一种索引查询方法。
[0026]在本发明中,通过获取用户的查询请求中的地址属性信息,并根据地址属性信息确定用户对应的区域索引表,再根据用户属性信息和数据属性信息将查询请求路由至二级索引节点,然后根据请求数据的活跃度将查询请求路由至三级索引节点,选择三级索引节点中保存的数据库进行查询,实现了在复杂组合查询时,能够快速地获取请求数据,从而提高了查询效率。
[0027]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0028]图1是根
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1