数据查询的方法及装置制造方法及图纸

技术编号:24456020 阅读:28 留言:0更新日期:2020-06-10 15:34
本申请实施例提供一种数据查询的方法及装置,涉及智能搜索技术领域,具体包括:客户端可以在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个数据分片的分片信息包括:数据分片的标签掩码和数据分片的掩码区间;进而客户端获取查询关键字后;可以计算查询关键字的目标掩码;根据目标掩码以及多个数据分片的分片信息的掩码区间,在多个数据分片中确定目标数据分片,以及利用目标数据分片的标签掩码确定目标机器;向目标机器发送数据访问请求;接收目标机器响应于数据访问请求返回的查询结果,从而不需要在缓存系统中引入复杂的meta信息管理,实现较为简单。

Data query method and device

【技术实现步骤摘要】
数据查询的方法及装置
本申请涉及数据处理的智能检索
,尤其涉及一种数据查询的方法及装置。
技术介绍
随着通信技术的发展,计算机中需要处理的数据的规模越来越大。例如,在数据查询系统中,为处理超大规模的数据查询流量,通常会在数据存储层和查询层之间增加一层缓存系统,缓存系统中会缓存当前符合某种分布规律的热点数据,同时采用数据淘汰算法动态淘汰数据,保证缓存系统中缓存数据量处于一个可控且稳定的状态。现有技术中,缓存系统中可能存在的架构设计有以下两种:第一种,多机单副本。采用哈希算法对数据进行分片处理,机器实例间缓存的数据无重叠、所有机器实例构成完整的数据集,数据分片会相应引入元数据(meta)信息,上游业务访问时需要通过meta服务获取到meta信息,再根据meta信息访问数据分片机器获取数据。第二种,多机分片多副本,对数据进行分片处理后,每个分片的数据存在多个副本,数据查询时也需要meta服务支持。但是,上述两种方式中,缓存系统的架构中需要强依赖meta服务,导致引入复杂的meta信息管理问题。
技术实现思路
本申请实施例提供一种数据查询的方法及装置,以解决现有技术中缓存系统强依赖meta服务,导致引入复杂的meta信息的技术问题。本申请实施例第一方面提供一种数据查询的方法,包括:在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个所述数据分片的分片信息包括:所述数据分片的标签掩码和所述数据分片的掩码区间;获取查询关键字;计算所述查询关键字的目标掩码;根据所述目标掩码以及所述多个数据分片的掩码区间,在所述多个数据分片中确定目标数据分片;利用所述目标数据分片的标签掩码确定目标机器;其中,所述标签掩码与所述目标机器具有关联关系;向所述目标机器发送数据访问请求;接收所述目标机器响应于所述数据访问请求返回的查询结果。相较于现有技术的缓存系统中强依赖meta服务的数据查询方法,本申请实施例通过公共服务系统中的数据分片的分片信息,就可以处理用户的数据查询需求,不需要在缓存系统中引入复杂的meta信息管理,实现较为简单。可选的,还包括:在所述缓存系统中扩分片时,对于新增分片,将所述新增分片挂载到所述多个数据分片中的其中一个第一数据分片,将所述第一数据分片的数据与所述新增分片的数据互相补充,直到补充的第一数据分片的数据与补充后的新增分片的数据一致;重新确定所述第一数据分片的掩码区间,以及确定新增分片的标签掩码和新增分片的掩码区间;根据所述重新确定的第一数据分片的掩码区间、所述新增分片的标签掩码和所述新增分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。本申请实施例中,通过将新增分片挂载在多个数据分片中的其中一个第一数据分片,并将第一数据分片的数据与新增分片的数据互相补充,直到补充的第一数据分片的数据与补充后的新增分片的数据一致,从而可以避免新增分片初始时无缓存数据或缓存数据较少造成的数据穿透。可选的,还包括:在所述缓存系统中缩分片时,对于所述多个数据分片中执行缩分片的第二数据分片和第三数据分片,将所述第二数据分片的数据与所述第三数据分片的数据互相补充,直到补充的第二数据分片的数据与补充后的第三数据分片的数据一致;删除补充的第二数据分片或补充后的第三数据分片的任意一个,重新确定保留的数据分片的掩码区间;根据所述重新确定保留的数据分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。本申请实施例中,在将第二数据分片和第三数据分片缩为一个数据分片时,将第二数据分片和第三数据分片的数据相互补充,直到补充的第二数据分片的数据与补充后的第三数据分片的数据一致,再删除其中一个补充后的数据分片,以及更新系统中多个数据分片的分片信息,从而可以避免直接删除一个分片时,用户无法访问到该数据分片的数据造成的数据穿透。可选的,还包括:利用一致性掩码哈希算法对待分片数据进行分片,得到所述多个数据分片。可选的,所述利用一致性掩码哈希算法对待分片数据进行分片,包括:将所述待分片数据的哈希值与M做模运算,将所述待分片数据划分为M份数据;其中,M为2的m次方,m为正整数,所述M份数据中的每份数据配置一个掩码;将所述M份数据分为多个数据分片;每个数据分片中的数据掩码的集合为所述数据分片的掩码区间;为每个所述数据分片配置一个标签掩码。可选的,所述目标数据分片的标签掩码对应多个机器,所述目标数据分片的标签掩码对应的多个机器上存储的数据相同,所述利用所述目标数据分片的标签掩码确定目标机器,包括:根据负载均衡算法在所述目标数据分片的标签掩码对应的多个机器中确定一个目标机器。从而可以得到资源较为适配的目标机器可选的,所述在公共服务系统中获取缓存系统中多个数据分片的分片信息,包括:在公共服务系统中定期获取缓存系统中多个数据分片的分片信息。这样可以得到实时准确的数据分片的分片信息。可选的,所述公共服务系统包括:域名系统DNS或块堆栈名系统BHS。本申请实施例第二方面提供一种数据查询的装置,包括:获取模块,用于在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个所述数据分片的分片信息包括:所述数据分片的标签掩码和所述数据分片的掩码区间;以及获取查询关键字;处理模块,用于计算所述查询关键字的目标掩码;根据所述目标掩码以及所述多个数据分片的掩码区间,在所述多个数据分片中确定目标数据分片;以及利用所述目标数据分片的标签掩码确定目标机器;其中,所述标签掩码与所述目标机器具有关联关系;发送模块,用于向所述目标机器发送数据访问请求;接收模块,用于接收所述目标机器响应于所述数据访问请求返回的查询结果。可选的,所述处理模块,还用于:在所述缓存系统中扩分片时,对于新增分片,将所述新增分片挂载到所述多个数据分片中的其中一个第一数据分片,将所述第一数据分片的数据与所述新增分片的数据互相补充,直到补充的第一数据分片的数据与补充后的新增分片的数据一致;重新确定所述第一数据分片的掩码区间,以及确定新增分片的标签掩码和新增分片的掩码区间;根据所述重新确定的第一数据分片的掩码区间、所述新增分片的标签掩码和所述新增分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。可选的,所述处理模块,还用于:在所述缓存系统中缩分片时,对于所述多个数据分片中执行缩分片的第二数据分片和第三数据分片,将所述第二数据分片的数据与所述第三数据分片的数据互相补充,直到补充的第二数据分片的数据与补充后的第三数据分片的数据一致;删除补充的第二数据分片或补充后的第三数据分片的任意一个,重新确定保留的数据分片的掩码区间;根据所述重新确定保留的数据分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。可选的,所述处理模块,还用于:利用一致性掩码哈希算法对待分片数据进行分片,得到所述多个数据分片。可选的,所述处理模块,具体用于:将所述待分片数据的哈希值与M做模运算,将所述待分片数据本文档来自技高网...

【技术保护点】
1.一种数据查询的方法,其特征在于,所述方法包括:/n在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个所述数据分片的分片信息包括:所述数据分片的标签掩码和所述数据分片的掩码区间;/n获取查询关键字;/n计算所述查询关键字的目标掩码;/n根据所述目标掩码以及所述多个数据分片的掩码区间,在所述多个数据分片中确定目标数据分片;/n利用所述目标数据分片的标签掩码确定目标机器;其中,所述标签掩码与所述目标机器具有关联关系;/n向所述目标机器发送数据访问请求;/n接收所述目标机器响应于所述数据访问请求返回的查询结果。/n

【技术特征摘要】
1.一种数据查询的方法,其特征在于,所述方法包括:
在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个所述数据分片的分片信息包括:所述数据分片的标签掩码和所述数据分片的掩码区间;
获取查询关键字;
计算所述查询关键字的目标掩码;
根据所述目标掩码以及所述多个数据分片的掩码区间,在所述多个数据分片中确定目标数据分片;
利用所述目标数据分片的标签掩码确定目标机器;其中,所述标签掩码与所述目标机器具有关联关系;
向所述目标机器发送数据访问请求;
接收所述目标机器响应于所述数据访问请求返回的查询结果。


2.根据权利要求1所述的方法,其特征在于,还包括:
在所述缓存系统中扩分片时,对于新增分片,将所述新增分片挂载到所述多个数据分片中的其中一个第一数据分片,将所述第一数据分片的数据与所述新增分片的数据互相补充,直到补充的第一数据分片的数据与补充后的新增分片的数据一致;
重新确定所述第一数据分片的掩码区间,以及确定新增分片的标签掩码和新增分片的掩码区间;
根据所述重新确定的第一数据分片的掩码区间、所述新增分片的标签掩码和所述新增分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。


3.根据权利要求1所述的方法,其特征在于,还包括:
在所述缓存系统中缩分片时,对于所述多个数据分片中执行缩分片的第二数据分片和第三数据分片,将所述第二数据分片的数据与所述第三数据分片的数据互相补充,直到补充的第二数据分片的数据与补充后的第三数据分片的数据一致;
删除补充的第二数据分片或补充后的第三数据分片的任意一个,重新确定保留的数据分片的掩码区间;
根据所述重新确定保留的数据分片的掩码区间,更新所述缓存系统中多个数据分片的分片信息。


4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
利用一致性掩码哈希算法对待分片数据进行分片,得到所述多个数据分片。


5.根据权利要求4所述的方法,其特征在于,所述利用一致性掩码哈希算法对待分片数据进行分片,包括:
将所述待分片数据的哈希值与M做模运算,将所述待分片数据划分为M份数据;其中,M为2的m次方,m为正整数,所述M份数据中的每份数据配置一个掩码;
将所述M份数据分为多个数据分片;每个数据分片中的数据掩码的集合为所述数据分片的掩码区间;
为每个所述数据分片配置一个标签掩码。


6.根据权利要求1-3任一项所述的方法,其特征在于,所述目标数据分片的标签掩码对应多个机器,所述目标数据分片的标签掩码对应的多个机器上存储的数据相同,所述利用所述目标数据分片的标签掩码确定目标机器,包括:
根据负载均衡算法在所述目标数据分片的标签掩码对应的多个机器中确定一个目标机器。


7.根据权利要求1所述的方法,其特征在于,所述在公共服务系统中获取缓存系统中多个数据分片的分片信息,包括:
在公共服务系统中定期获取缓存系统中多个数据分片的分片信息。


8.根据权利要求1或7任一项所述的方法,其特征在于,所述公共服务系统包括:域名系统DNS或块堆栈名系统BHS。


9.一种数据查询的装置,其特征在于,包括:
获取模块,用于在公共服务系统中获取缓存系统中多个数据分片的分片信息,任一个所述数据分片的分片信息包括:所述数据分片的标签掩码和所述数据分片的掩码区间;以及获...

【专利技术属性】
技术研发人员:朱超吴昭陈嘉骏
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1