一种数据查询、存储、及对存储数据的操作方法及装置制造方法及图纸

技术编号:10886644 阅读:139 留言:0更新日期:2015-01-08 15:49
本发明专利技术提供了一种数据查询、存储、及对存储数据的操作方法及装置,其中数据查询方法包括接收数据查询请求;对数据存储节点配置随机加权值;根据该加权值对数据存储节点的数据进行查询;在接收到数据查询失败的消息后,重新对数据存储节点配置随机加权值进行查询,直至得到查询结果。采用本发明专利技术提供的技术方案,通过配置随机加权值合理优化了应用各个节点的硬件设备,减少了查询热点节点;修改、删除操作限定在同一个切片的范围内,避免了由于误操作对数据造成的安全隐患;自动创建副本,将人工干预操作转化为自动执行,保证了高可用性。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种数据查询、存储、及对存储数据的操作方法及装置,其中数据查询方法包括接收数据查询请求;对数据存储节点配置随机加权值;根据该加权值对数据存储节点的数据进行查询;在接收到数据查询失败的消息后,重新对数据存储节点配置随机加权值进行查询,直至得到查询结果。采用本专利技术提供的技术方案,通过配置随机加权值合理优化了应用各个节点的硬件设备,减少了查询热点节点;修改、删除操作限定在同一个切片的范围内,避免了由于误操作对数据造成的安全隐患;自动创建副本,将人工干预操作转化为自动执行,保证了高可用性。【专利说明】一种数据查询、存储、及对存储数据的操作方法及装置
本专利技术涉及数据处理领域,特别涉及一种数据查询、存储、及对存储数据的操作方法及装置。
技术介绍
Apache Solr是基于Lucene的开源检索引擎。Apache Solr提供了丰富的接口实现了检索引擎的负载均衡、数据隔离以及高可用性等特性。 1、对于负载均衡: Apache Solr使用轮询的方式来确保LoadBalance (负载均衡)以及failover (失效转移)的过程。 用户的查询请求首先会发送至数据存储节点Nodel,Nodel会首先查询自身,若查询成功,就会直接返回; 若Nodel第一次查询失败,就会向Node2转发查询,Node2查询成功,会将数据返回Node I,由Nodel将查询结果发送用户; 若Node2也查询失败,此时Nodel会向Node3转发查询,若Node3能够查询成功,会将数据返回Node I,由Nodel将查询结果发送用户。 2、对于数据隔离策略: Apache Solr按照集合collect1n >切片shard >核心core从大到小来组织同一类型的索引,在写入数据的时候,Apache Solr只提供了两种写入数据隔离策略,例如在利用DIH(Data Import Handler,数据导入处理程序)将数据库向Apache Solr写入数据的时候:(I)Apache Solr能够向collect1n中所有的shard中的所有core插入、修改、删除数据;(2)或者只向某个单独shard的特定的core插入、修改、删除数据。 3、对于高可用性: Apache Solr的高可用性的解决方案提供了高可用性的基本解决框架,即提供副本replica机制来实现可用性,但是并不关心replica自身的灵活性以及容灾问题。 现有技术的不足在于: 采用轮询的方式实现负载均衡会带来数据存储节点负载过高,出现查询热点节点;当Nodel出现崩溃时,则不能接受用户的查询请求,降低用户体验;另外,轮询的方式无法实现将查询请求优先发送至某个数据查询节点。 还有,现有的Apache Solr的数据隔离策略,可能会存在数据安全隐患,即误操作(如误修改、误删除)会在整个collect1n范围内蔓延;以及数据冗余,如插入操作也会在整个collect1n都蔓延,所有shard中的core都保存新插入的数据,会造成数据((Ncore-D+Nrepiica)倍的冗余。 另外,可以通过提供副本replica机制来实现可用性,但是Apache Solr的replica需要使用者手动创建replica,不够灵活;当replica发生异常之后,不能自动重建replica,无容灾操作。
技术实现思路
本专利技术实施例中提供了一种数据查询方法,包括步骤: 接收数据查询请求; 对数据存储节点配置随机加权值; 根据该加权值对数据存储节点的数据进行查询; 在接收到数据查询失败的消息后,重新对数据存储节点配置随机加权值进行查询,直至得到查询结果。 本专利技术实施例中还提供了一种数据查询装置,包括: 第一接收模块,用于接收数据查询请求; 加权模块,用于对数据存储节点配置随机加权值; 查询模块,用于根据该加权值对数据存储节点的数据进行查询; 加权模块,进一步用于在接收到数据查询失败的消息后,重新对数据存储节点配置随机加权值; 查询模块,进一步用于根据重新配置的加权值对数据存储节点的数据进行查询,直至得到查询结果。 有益效果是: 本专利技术实施例提供的技术方案中,通过在接收到数据查询请求或收到数据查询失败的消息后对数据存储节点配置随机加权值,根据该加权值对数据存储节点的数据进行查询,避免了因轮询方式而产生的查询热点节点,在其中一个数据存储节点崩溃时并不影响用户的查询,并且可以通过设置加权值高低来实现将查询请求优先发送至某个数据查询节点。 本专利技术实施例中又提供了一种对存储数据的操作方法,包括步骤: 接收将要存储的数据; 将数据分别发送至集合collect1n下一切片shard下的核心core和副本replica中存储,所述shard是同时包含core和replica,所述collect1n是包含多个shardο 本专利技术实施例中还提供了一种对存储数据的操作装置,包括: 第二接收模块,用于接收将要存储的数据; 第一存储模块,用于将数据分别发送至集合collect1n下一切片shard下的核心core和副本replica中存储,所述shard是同时包含core和replica,所述collect1n是包含多个shard。 有益效果是: 将待存储的数据发送至一个同时包含core和replica的shard中存储,可以实现在同一个shard中的core和replica数据的同步,若发生误操作,仅在该shard中会出现问题,并不会蔓延至整个collect1n ;由于只是将数据发送至某一个shard中的core和replica中存储,因此不会造成数据的冗余。 本专利技术实施例中再提供了一种数据存储方法,包括步骤: 接收将要存储的数据; 将数据分别发送至一个shard下的core和replica中存储,所述replica是创建core时创建的。 本专利技术实施例中还提供了一种数据存储装置,包括: 第三接收模块,用于接收将要存储的数据; 第二存储模块,用于将数据分别发送至一个shard下的core和replica中存储,所述replica是创建core时创建的。 有益效果是: 在创建core时自动创建replica,将人工干预操作转化为自动执行,使得replica的创建更加灵活。 【专利附图】【附图说明】 下面将参照附图描述本专利技术的具体实施例,其中: 图1为本专利技术实施例中采用现有轮询方式进行数据查询的实施示意图; 图2为本专利技术实施例中的数据查询方法的使用流程示意图; 图3为本专利技术实施例中采用加权随机方式进行数据查询的实施示意图; 图4为本专利技术实施例中的数据查询装置的结构示意图; 图5为本专利技术实施例中采用现有技术对存储数据进行操作的实施示意图; 图6为本专利技术实施例中的对存储数据的操作方法的使用流程示意图; 图7为本专利技术实施例中对存储数据进行操作的实施示意图; 图8为本专利技术实施例中的对存储数据的操作装置的结构示意图; 图9为本专利技术实施例中的数据存储方法的使用流程示意图; 图10为本专利技术实施例中的数据存储装置的结构示意图。 【具体实施方式】 为了使本发本文档来自技高网
...

【技术保护点】
一种数据查询方法,其特征在于,所述方法包括步骤:接收数据查询请求;对数据存储节点配置随机加权值;根据该加权值对数据存储节点的数据进行查询;在接收到数据查询失败的消息后,重新对数据存储节点配置随机加权值进行查询,直至得到查询结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙陶然杨有鹏符子文全伟
申请(专利权)人:拉卡拉支付有限公司
类型:发明
国别省市:北京;11

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

1