面向全文检索的分级存储方法及装置制造方法及图纸

技术编号:21361270 阅读:26 留言:0更新日期:2019-06-15 09:19
本发明专利技术公开了一种面向全文检索的分级存储方法及装置,所述方法包括:获取SQL语句,创建全文检索表,并将所述全文检索表持久化到Zookeeper中;配置ElasticSearch集群中一部分节点使用SSD盘,另一部分节点使用SATA盘,并在每个节点上安装自定义的ElasticSearch插件;数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用预先存储的全文检索表中的元数据进行索引创建;通过所述ElasticSearch插件运行监听策略,监听Zookeeper中表的元数据信息的变化,并应用分级存储策略,执行定时回滚策略,将回滚任务下发给ElasticSearch集群。

Hierarchical Storage Method and Device for Full Text Retrieval

The invention discloses a hierarchical storage method and device for full-text retrieval, which includes: acquiring SQL statements, creating full-text search keys, and persisting the full-text search keys into Zookeeper; configuring some nodes in Elastic Search cluster to use SSD disk, another node to use SATA disk, and installing a custom Elastic Search plug-in on each node; The data loading tool loads the document data into the Elastic Search cluster through the call interface API of the Elastic Search cluster, filters the requests through the Elastic Search plug-in, and creates an index using the metadata in the pre-stored full-text search table; runs a listening strategy through the Elastic Search plug-in to monitor the changes in metadata information of the tables in Zookeeper, and applies it. Hierarchical storage strategy, the implementation of a timed rollback strategy, the rollback task will be sent to the Elastic Search cluster.

【技术实现步骤摘要】
面向全文检索的分级存储方法及装置
本专利技术涉及大数据处理NOSQL领域,尤其涉及一种面向全文检索的分级存储方法及装置。
技术介绍
随着互联网技术的不断发展和信息化程度的不断提高,数据量迅速增长,支持海量数据存储及应用也随之蓬勃发展。其中,在面向文档检索的领域,开源项目Elasticsearch获得了广泛的关注与应用。Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。在互联网,企业应用中,倒排检索应用范围非常广,如日志监控,网页搜索,热点搜索,实体特征标签检索,这些需求对应到全文检索引擎ElasticSearch就是由各类索引提供服务,因硬件性能有限,当数据量级,索引个数较大时,通常产生搜索性能下降的结果。因此,对硬件资源的合理利用是业务需要重点考虑的问题。在很多业务场景,可能存在类似如下需求:1)近期数据检索频率较高,旧数据检索频率低;2)A类业务数据检索频率高,B类业务检索频率低;对于类似的需求,一般可以采取的措施如数据双写,近期数据写入单独集群,定期迁移到旧数据集群;或者将业务拆分成多个集群,对性能要求高的业务使用更多的资源,更高速的资源;以此达到更快的检索速度。由此带来了新的问题如资源利用率低,资源浪费,需要额外的人工维护,使用不便等。
技术实现思路
本专利技术实施例提供一种面向全文检索的分级存储方法及装置,用以解决现有技术中的上述问题。本专利技术实施例提供一种面向全文检索的分级存储方法,包括:获取用户按照规定的语法输入创建或者修改全文检索相关的SQL语句,创建全文检索表,所述全文检索表中包含有分级存储策略的元数据,并将所述全文检索表持久化到Zookeeper中;配置ElasticSearch集群中一部分节点使用SSD盘,另一部分节点使用SATA盘,并在每个节点上安装自定义的ElasticSearch插件;数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用预先存储的全文检索表中的元数据进行索引创建;通过所述ElasticSearch插件运行监听策略,监听Zookeeper中表的元数据信息的变化,并应用分级存储策略,执行定时回滚策略,将回滚任务下发给ElasticSearch集群。优选地,获取用户按照规定的语法输入创建或者修改全文检索相关的SQL语句,创建全文检索表,所述全文检索表中包含有分级存储策略的元数据,并将所述全文检索表持久化到Zookeeper中具体包括:在SQLCLI中设置或者修改分级存储策略,并将分级存储策略的元数据持久化到Zookeeper中。优选地,数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用全文检索表中的元数据来进行索引创建具体包括:步骤1,通过所述ElasticSearch插件拦截加载程序的请求,对于入数据不做任何处理,拦截创建索引的请求;步骤2,通过所述ElasticSearch插件对是否创建索引的请求进行判断,如果判断为是,执行步骤3,否则,不创建索引;步骤3,通过所述ElasticSearch插件启动对元数据进行监听的服务;步骤4,通过所述ElasticSearch插件判断创建该索引所对应的表是否有分级存储策略;如果创建该索引所对应的表有分级存储策略,那么在创建索引的请求中加上指定的标签,继续执行请求过程;如果没有,则确定新索引不存在分级存储策略。优选地,通过所述ElasticSearch插件执行定时回滚策略,将回滚任务下发给ElasticSearch集群具体包括:步骤1,通过所述ElasticSearch插件启动服务,对Zookeeper进行元数据的监听;步骤2,通过所述服务获取Zookeeper中的表,遍历各个表,读取分级存储策略;步骤3,在获取的数据表列表中选择一张表,判断该表是否是周期型存储表,如果判断为是,则确定该表是周期型存储表,获取该表的各个日期的分区索引,判断是否满足分级策略,对不符合分级策略的日期分区进行迁移,遍历完成后,服务进入睡眠时间,等待下一次执行。优选地,所述方法进一步包括:将索引的标签设置为数个机架,将索引分配到相应的数个机架中。本专利技术实施例还提供一种面向全文检索的分级存储装置,包括:SQLCLI模块,用于为用户提供检索SQL语句和创建全文检索表;数据库,用于存放全文检索表的元数据,其中,所述元数据包括分级存储策略;数据加载模块,用于通过使用ElasticSearchAPI进行文档数据加载;定制Elasticsearch集群,用于进行全文数据存储和检索,其中,所述定制的Elasticsearch集群整体上有SSD和SATA两种资源,少数节点直接使用SSD资源,SSD资源用于存储近期的或者检索频率高的数据,所有节点安装有自定义的ElasticSearch插件,通过该ElasticSearch插件进行监听策略、拦截建索引、应用策略、定时回滚。优选地,SQLCLI模块具体用于:设置或者修改分级存储策略,并将分级存储策略的元数据持久化到Zookeeper中。优选地,所述ElasticSearch插件具体用于:拦截加载程序的请求,对于入数据不做任何处理,拦截创建索引的请求;对是否创建索引的请求进行判断,如果判断为是,启动对元数据进行监听的服务,否则,不创建索引;判断创建该索引所对应的表是否有分级存储策略;如果创建该索引所对应的表有分级存储策略,那么在创建索引的请求中加上指定的标签,继续执行请求过程;如果没有,则确定新索引不存在分级存储策略。优选地,所述ElasticSearch插件具体用于:启动服务,对Zookeeper进行元数据的监听;通过所述服务获取Zookeeper中的表,遍历各个表,读取分级存储策略;在获取的数据表列表中选择一张表,判断该表是否是周期型存储表,如果判断为是,则确定该表是周期型存储表,获取该表的各个日期的分区索引,判断是否满足分级策略,对不符合分级策略的日期分区进行迁移,遍历完成后,服务进入睡眠时间,等待下一次执行。优选地,所述ElasticSearch插件进一步用于:将索引的标签设置为数个机架,将索引分配到相应的数个机架中。采用本专利技术实施例,可以有效的对ElasticSearch全文检索集群进行索引存储的管理与分级存储控制,达到优化检索性能,提升综合查询速度的效果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例中ElasticSearch分级存储实现框架示意图;图2是本专利技术实施例中分级策略元数据的设本文档来自技高网...

【技术保护点】
1.一种面向全文检索的分级存储方法,其特征在于,包括:获取用户按照规定的语法输入创建或者修改全文检索相关的SQL语句,创建全文检索表,所述全文检索表中包含有分级存储策略的元数据,并将所述全文检索表持久化到Zookeeper中;配置ElasticSearch集群中一部分节点使用SSD盘,另一部分节点使用SATA盘,并在每个节点上安装自定义的ElasticSearch插件;数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用预先存储的全文检索表中的元数据进行索引创建;通过所述ElasticSearch插件运行监听策略,监听Zookeeper中表的元数据信息的变化,并应用分级存储策略,执行定时回滚策略,将回滚任务下发给ElasticSearch集群。

【技术特征摘要】
1.一种面向全文检索的分级存储方法,其特征在于,包括:获取用户按照规定的语法输入创建或者修改全文检索相关的SQL语句,创建全文检索表,所述全文检索表中包含有分级存储策略的元数据,并将所述全文检索表持久化到Zookeeper中;配置ElasticSearch集群中一部分节点使用SSD盘,另一部分节点使用SATA盘,并在每个节点上安装自定义的ElasticSearch插件;数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用预先存储的全文检索表中的元数据进行索引创建;通过所述ElasticSearch插件运行监听策略,监听Zookeeper中表的元数据信息的变化,并应用分级存储策略,执行定时回滚策略,将回滚任务下发给ElasticSearch集群。2.如权利要求1所述的方法,其特征在于,获取用户按照规定的语法输入创建或者修改全文检索相关的SQL语句,创建全文检索表,所述全文检索表中包含有分级存储策略的元数据,并将所述全文检索表持久化到Zookeeper中具体包括:在SQLCLI中设置或者修改分级存储策略,并将分级存储策略的元数据持久化到Zookeeper中。3.如权利要求1所述的方法,其特征在于,数据加载工具通过ElasticSearch集群的调用接口API将文档数据加载到ElasticSearch集群中,通过所述ElasticSearch插件对请求进行过滤,并使用全文检索表中的元数据来进行索引创建具体包括:步骤1,通过所述ElasticSearch插件拦截加载程序的请求,对于入数据不做任何处理,拦截创建索引的请求;步骤2,通过所述ElasticSearch插件对是否创建索引的请求进行判断,如果判断为是,执行步骤3,否则,不创建索引;步骤3,通过所述ElasticSearch插件启动对元数据进行监听的服务;步骤4,通过所述ElasticSearch插件判断创建该索引所对应的表是否有分级存储策略;如果创建该索引所对应的表有分级存储策略,那么在创建索引的请求中加上指定的标签,继续执行请求过程;如果没有,则确定新索引不存在分级存储策略。4.如权利要求1所述的方法,其特征在于,通过所述ElasticSearch插件执行定时回滚策略,将回滚任务下发给ElasticSearch集群具体包括:步骤1,通过所述ElasticSearch插件启动服务,对Zookeeper进行元数据的监听;步骤2,通过所述服务获取Zookeeper...

【专利技术属性】
技术研发人员:刘欣然张鸿惠榛吕雁飞马秉楠李斌斌王振宇黄航王树鹏
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

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

1