山东威锻机械设备有限公司数控车床官方网站切换城市[全国]-网站地图
推荐产品 :
推荐新闻
技术文章当前位置:行业新闻

一种高可用分布式全文索引方法专利

时间:2026-10-09    作者:admin 点击: ( 0 ) 次

【摘要】 本发明公开了一种高可用分布式全文索引方法,该方法首先启动基础服务系统,然后在各个节点上启动索引集群服务和查询集群服务,再在全文数据上创建、更新和删除索引,最后查询索引;本发明分离查询与索引过程,可以同时支持增量或批量式地建立已有的索引,批量式索引在短时间对大规模数据建立索引,而增量式索引避免重建索引。本发明将索引文件划分为三层结构,包括索引文件、索引分片、索引子分片,以增强索引文件的扩展性和可用性;本发明提供动态索引任务配置服务,通过设置索引任务中的参数,能够动态地满足用户对不同数据建立索引的需求。。 【专利类型】发明授权 【申请人】浙江大学 【申请人类型】学校 【申请人地址】310058 浙江省杭州市西湖区余杭塘路388号 【申请人地区】中国 【申请人城市】杭州市 【申请人区县】西湖区 【申请号】CN201210226357.2 【申请日】2012-06-29 【申请年份】2012 【公开公告号】CN102779185B 【公开公告日】2014-11-12 【公开公告年份】2014 【授权公告号】CN102779185B 【授权公告日】2014-11-12 【授权公告年份】2014.0 【IPC分类号】G06F17/30 【发明人】陈岭; 鲁伟明; 余斌 【主权项内容】微信 一种高可用分布式全文索引方法,其特征在于,该方法包括以下步骤:(1)启动基础服务系统,包括分布式文件系统、分布式列式数据库以及元数据目录服务;所述分布式文件系统用于存储索引节点建立的索引文件,同时为查询集群中的节点提供索引文件;所述分布式列式数据库用于提供操作日志服务,存储执行的各项操作,此外,分布式列式数据库还用于存储原始全文数据文件,分布式列式数据库应支持按列存储,元数据目录服务实现元数据的存储;(2)在各个节点上启动索引集群服务和查询集群服务,其中,索引集群服务包括索引主节点服务和索引节点服务,查询集群服务包括查询主节点服务和查询节点服务;该步骤具体为:首先,索引主节点和主节点分别启动,进入安全模式,并分别扫描并监听元数据目录中索引节点和查询节点目录节点,以分别管理这些目录下的节点;其次,索引节点和查询节点启动,并将自身的信息注册到元数据节点目录之上,此时索引主节点和主节点监听到消息,将新加入的节点纳入自身管理之中;最后,如果在安全模式下,节点不再发生变化,那么退出安全模式;至此完成了整个分布式全文索引系统启动的过程;(3)在全文数据上创建索引、更新索引、删除索引;其中,创建索引包括增量式创建索引和批量式创建索引;该步骤通过以下子步骤来实现:(3.1)所述的增量式创建索引,需要用户在索引任务定义中将创建索引的模式设置为增量式模式;增量式创建索引的过程包括:(3.1.1)当数据插入到存储系统中,触发增量建立索引的任务,索引主节点通过反射机制实例化索引任务定义中的索引分片策略,判定该数据的索引归属于哪一个索引分片,此后从元数据目录中读取索引分片与索引节点的映射关系,找到负责建立该索引分片的索引节点;最后将节点ID写入到消息中;(3.1.2)索引主节点将3.1.1生成的消息通过远程调用的方式将该消息随机塞到任意一个索引节点的本地消息队列中;(3.1.3)索引节点读取对应的消息,如果该消息属于该节点,那么获取消息后的索引节点会根据消息中的数据主键从数据存储系统中读出数据,封装成索引单元,否则此消息不属于该节点,那么通过远程调用以及消息中的节点信息将该消息转发到对应索引节点;(3.1.4)索引节点处理该消息,如果不存在与该消息对应索引处理器,则创建索引处理器,并根据索引任务定义实例化索引器;索引器读入索引单元,根据索引任务中的预定义索引域,对存储于索引单元中的数据进行索引,同时在操作日志1中记录索引分片ID与操作消息,并且在操作日志2中记录数据主键与对应的索引子分片的名字;(3.1.5)如果此时满足索引子分片文件上传的条件且此时该索引处理器中合并线程不在运行,那么停止当前的索引子分片文件上的索引器,新建一个文件目录作为新的索引器的索引目录,转步骤3.1.3,并上传索引文件线程并执行步骤3.1.6;否则依然将索引建在本地的索引子分片目录之下,转步骤3.1.3;(3.1.6)将旧的索引子分片文件重新命名为合并文件,设置索引正在合并的标志,并且在合并文件目录上启动一个索引文件合并线程,将索引文件合并;上传索引文件线程将合并的结果上传到分布式文件系统中的索引子分片文件目录;并且将新增索引子分片的操作消息插入到元数据目录中的Master_queue上;(3.1.7)如果上传成功,那么就删除与该索引分片对应的索引操作日志1,否则跳转至步骤3.1.6重复上传索引分片的过程;(3.2)更新索引的过程包括:(3.2.1)更新数据的操作触发更新索引的任务,索引主节点根据索引分片策略判定该数据归属于哪一个索引分片,并从元数据目录上读取索引分片与索引节点的映射关系,找到对应的索引节点;(3.2.2)索引主节点通过远程调用将生成的更新索引消息传递给任意索引节点的本地消息队列,该索引节点从中读取对应的更新消息,如果该消息不属于当前节点,那么该节点根据消息中的节点信息将消息转发到真正的处理节点;(3.2.3)获取更新消息后的索引节点会根据消息中的信息,根据数据ID在该索引分片的操作日志2中查找对应的索引子分片,将索引子分片ID写入消息中,如果此时索引子分片在本地磁盘上,转步骤3.2.4;否则转步骤3.2.5;(3.2.4)根据该数据的文档主键,如果此时该数据的索引在本地的索引子分片之中,直接更新对应的索引;并在操作日志1中记录索引分片ID和对应的消息,转步骤3.2.2;(3.2.5)判定当前更新缓存队列中的消息数目是否到达阈值,如果没有到达则将该消息存入该队列,返回步骤3.2.2;否则转步骤3.2.6;(3.2.6)将更新缓存队列中的消息全部交给处理队列,启动更新线程,更新线程处理每一个消息,根据每一个数据主键和索引子分片的对应关系,生成索引子分片与索引主键的一对多映射关系,此后,从分布式文件系统中将索引子分片下载本地磁盘,在该分片上实例化出索引处理器以及对应的索引器,根据消息中的数据主键从分布式列式数据库中读取数据,封装成索引单元并执行更新索引操作,成功之后在操作日志1中记录该索引子分片执行的更新操作;(3.2.7)当完成该索引子分片中所有更新操作,关闭在该目录上的索引器,并将更新目录中的索引文件上传至分布式索引子分片的目录;删除操作日志1中与该索引子分片相关的操作记录,同样的操作重复执行直至遍历完映射关系;(3.3)删除索引的过程包括:(3.3.1)删除数据的操作触发删除索引的任务,索引主节点根据索引分片策略判定该数据归属于哪一个索引分片,并从元数据目录上读取索引分片与索引节点的映射关系,找到对应的索引节点;(3.3.2)索引主节点通过远程调用将生成的删除索引消息传递给任意索引节点的本地消息队列,该索引节点从中读取对应的删除消息,如果该消息不属于当前节点,那么该节点根据消息中的节点信息将消息转发到真正的处理节点;(3.3.3)获取删除消息后的索引节点会根据消息中的信息,根据数据ID在该索引分片的操作日志2中查找对应的索引子分片,将索引子分片ID写入消息中,如果此时索引子分片在本地磁盘上,转步骤3.3.4;否则转步骤3.3.5;(3.3.4)根据该数据的文档主键,如果此时该数据的索引在本地的索引子分片之中,直接删除对应的索引;并在操作日志1中记录索引分片ID和对应的消息,转步骤3.3.2;(3.3.5)判定当前删除缓存队列中的消息数目是否到达阈值,如果没有到达则将该消息存入该队列,返回步骤3.3.2;否则转步骤3.3.6;(3.3.6)将删除缓存队列中的消息全部交给处理队列,启动删除线程,删除线程处理每一个消息,根据每一个数据主键和索引子分片的对应关系,生成索引子分片与索引主键的一对多映射关系,此后,从分布式文件系统中将索引子分片下载本地磁盘,在该分片上实例化出索引处理器以及对应的索引器,根据消息中的数据主键从分布式列式数据库中读取数据,封装成索引单元并执行删除索引操作,成功之后在操作日志1中记录该索引子分片执行的删除操作;(3.3.7)当完成该索引子分片中所有删除操作,关闭在该目录上的索引器,并将删除目录中的索引文件上传至分布式索引子分片的目录;删除操作日志1中与该索引子分片相关的操作记录,同样的操作重复执行直至遍历完映射关系;(3.4)所述的批量式索引模式是当用户在索引任务定义中定义了批量式建立索引模式,此时,索引主节点将模式转换为批量式索引模式,批量式索引方法具体包含以下步骤:(3.4.1)调用MapReduce框架,在Map阶段调用索引分片策略,将数据划分为n个数据集合;然后将每个数据集合中的数据随机划分到若干个索引节点上;(3.4.2)每个索引节点对划分的数据根据其所属的索引分片,分别建立索引子分片,每一个索引子分片按照大小划分,当索引子分片大小超过阈值,则创建新的索引子分片;(3.4.3)在Reduce阶段,每个索引节点将自身中索引子分片文件合并到的对应的索引分片文件,将会生成n个索引分片文件;(3.4.4)当完成批量式建索引任务之后,索引主节点在元数据目录下的Master_queue下写入载入索引分片的操作;查询主节点根据此操作通过节点选择策略将索引分片分配给若干个查询节点,并且在元数据目录下的Node_queue中写入载入索引分片的操作,各个对应的查询节点执行此操作,载入对应的索引;(4)查询索引,包括以下子步骤:(4.1)查询客户端根据查询内容生成分布式查询,对该查询进行解析,产生对应的解析结果;(4.2)此后查询客户端利用步骤4.1中产生的结果,调用本地的查询节点选择策略;该策略会远程调用查询主节点上的索引分片选择策略,根据元数据目录保存的查询节点与索引分片的信息,决定该查询属于哪些索引分片,由于一个索引分片有多个索引子分片,因此根据元数据目录中索引子分片与查询节点的映射关系,利用负载均衡技术从这些节点中选择负载最轻的查询节点,生成与该查询相对应的查询节点列表;最后,将该列表返回给查询客户端;(4.3)查询客户端获取该查询节点列表,通过远程调用的方法,并行向这些查询节点发布查询请求;(4.4)查询节点执行该查询请求,通过一个线程池在不同的索引分片之上查询对应的结果,将结果返回给查询客户端;(4.5)客户端获取各个查询节点的查询结果之后,对查询结果进行合并操作,完成整个查询过程。 【当前权利人】浙江大学 【当前专利权人地址】浙江省杭州市西湖区余杭塘路388号 【专利权人类型】公立 【统一社会信用代码】12100000470095016Q 【引证次数】4.0 【被引证次数】4 【他引次数】4.0 【被他引次数】4.0 【家族引证次数】4.0 【家族被引证次数】70

未经允许不得转载:http://www.zhongzhencnc.com/1791560431.html

喜欢就赞一下

    【摘要】本申请提供一种网络设备,用于作为IPsec对等体时探测对端对等体是否正常,所述网络设备通过发送包括探测标志的IPsec SA探测报文发送给对端IPsec对等体。接收并解析对端IPsec对等体返回的IPsec SA响应报文后,确认对端

    发布时间:2026-10-09

    【摘要】本发明实施例提供了一种恒压源,包括:主电路、控制模块、N条采样电路,每条所述采样电路均包括一采样电阻与一开关管,每条所述采样电路中的采样电阻的第一端与该采样电阻所在采样电路的开关管的第一端相连,每条所述采样电路中的开关管的控制端与所

    发布时间:2026-10-09

    【摘要】本发明公开了一种外同步触发信号的生成方法及生成设备,所述外同步触发信号的生成设备包括用于生成周期性方波信号,并将所述周期性方波信号作为生成的外同步触发信号的触发信号生成模块,以及,用于对触发信号生成模块所生成的周期性方波信号的边沿的

    发布时间:2026-10-09

    【摘要】本发明涉及多高层混合结构建筑体系施工技术,旨在提供一种自承式组合钢模板施工方法。是在地面或平台上整体倒置组装自承式组合钢模板,通过张拉装置将倒置的自承式组合钢模板整体提升到指定位置;倒置的自承式组合钢模板通过水平连接杆与中支座连接,

    发布时间:2026-10-09

    【摘要】本发明涉及一种圆锥滚子轴承步进强化试验方法,包括样品准备、试验安装、试验加载参数设定、第一单元试验、后序单元试验、未失效样品的再试验、最后一套未失效轴承的试验、等效试验通过时间的计算和试验判定等步骤。本发明本试验方法规定了不同厂家(

    发布时间:2026-10-09

    【摘要】本发明公开了一种离心式喷雾泵,该述泵体固定连接在支架上,所述转轴活动连接在支架上,所述转轴一端固定在叶轮,另一端位于支架的另一侧,所述泵体呈圆盘状,其上设有一个进水口和一个出水口Ⅰ,所述进水口位于泵体中部位置,所述出水口Ⅰ设置在泵体

    发布时间:2026-10-09
山东威锻机械设备有限公司
全国服务热线:15588247377
电话:15588247377
地址:滕州市经济开发区688号
关键词:数控车床,数控车床厂家,数控车床价格
公司二维码
Copyright 2010-2026 http://www.zhongzhencnc.com/ 版权所有 All rights reserved 鲁ICP备19007456号-7