一种基于大数据的检索方法_3

文档序号:9396968阅读:来源:国知局
页定位到实际存储位置进行数据读取,否则将按各版本更替时间点进行查询范围分 害J,各分割区间内使用最新版本的数据进行拟合,从而完成本地数据查询流程。
[0062] 根据上述分布式文件数据库的存储方式,本发明进一步采用分布式文件来存储图 像的索引数据,所有索引数据写入文件中,然后将索引数据文件分布存储到各节点,在各节 点将索引数据加载到内存中进行处理,极大地减轻了主节点的压力。
[0063] 在写入阶段,图像数据和索引数据并不是同步写入,而是采用I/O通道分离的方 式:图像数据直接写入分布式文件系统,索引数据采用缓冲机制,等缓冲队列满或计时器时 间到,再统一写入索引数据文件,并实现分布式存储。
[0064] 在主节点内存中建立索引数据缓冲区,索引数据记录项以顺序写方式写入缓冲 区。缓冲区中以索引数据记录为单位,索引数据缓冲机制为,缓冲区头结构中存在唯一标识 此次缓冲的信息。索引数据以追加的方式写入缓冲,当缓冲区中的索引数据记录达到某一 阈值或者计时器时间到,存储系统以缓冲区为单位进行分布式位置分配,将整个缓冲区的 索引数据记录通过对缓冲区头结构中的标识信息作Hash找到索引数据文件在分布式文件 系统中的对应存储节点,并将索引数据文件存储到相应的节点上。索引数据存储单元索引 数据缓冲区。
[0065] 为加快分布式文件系统中的索引数据检索,采用并行程序来检索索引数据。并行 检索程序将检索空间划分成多个子空间,然后通过任务调度在各子空间进行并行检索,最 后通过汇总形成最终结果。本发明采用Hadoop框架中的分布式文件系统HDFS为小文件索 引数据提供大量可扩展的存储空间,并采用MapReduce并行编程模型对小文件索引数据的 并行检索进行了实现。通过在多属性上建立分布式局部叶节点索引可以对并行检索进行优 化。
[0066] 考虑在索引数据的数值属性A2、…、An* η个属性上进行排序,属性值必须是 数值型或能转化为数值形式(连续或离散的数值属性值均可以采用区间划分,非数值型属 性值转化为数值型)。首先指定属性A1Q e [1…η])的顺序,并将数值属性~值域划分为 D1个子域,接下来建立多属性的排序层次树:
[0067] 第1层为根节点;第2层为属性A1的所有子域,按照从左到右由小到大排序;第3 层对第2层的每一个节点均按属性A2的子域从左到右由小到大排序;第(η+1)层对第η层 的每一个节点按属性总的子域从左到右由小到大排序,则第(η+1)层共有B个叶子节点,B 值计算公式为
[0068] 对所有叶子节点按照从左到右的顺序分别进行编号,对任意元组t在属性ΑρΑ2、、 总上的取值都可以映射到图中的一个叶子节点,将该叶子节点的编号记作元组的排序值 Re [1…B],且任何包含属性六^^、…、An的检索条件也具有唯一的排序值W。
[0069] 确定元组的排序之后,需要在数据节点建立局部叶节点索引,在每一个数据节点 建立一个长度为B的叶节点索引,叶节点索引只与本地元组的情况有关,只采用局部指示 索引来对本地元组的存在情况进行指示。检查本地所有的元组,若至少存在一个排序值为 Re [1…B]的元组,则将叶节点索引的第R位设置为1,否则设为0。这样仅通过一个长度 为B的叶节点就可以实现对本地所有元组在属性A2、…、An上的指示。
[0070] 建立叶节点索引后,利用其进行检索必须是输入的检索条件包含建立了叶节点索 引的数值属性上的取值。检索进行时,首先根据检索条件在指定属性上的取值,生成检索条 件的排序值R',检索在数据节点进行时,通过指示叶节点索引来判断该数据节点有没有满 足检索条件的元组记录,查找指示叶节点的第R'位,若为1,表示该节点可能存在满足条 件的元组,继续在该节点检索;若为0,表示该节点不存在满足条件的元组,直接返回空值, 不进行该节点的检索任务。通过以上叶节点索引机制,可以有效避免大量返回空集的检索 任务,在节约了检索资源的同时,提高了检索效率。
[0071] 综上所述,本发明提出了一种基于大数据的检索方法,通过分布式系统对图像数 据的存储和检索过程进行了优化,提高了检索效率,克服了性能瓶颈。
[0072] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用 的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储 在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0073] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种基于大数据的检索方法,其特征在于,包括: 采用分布式文件来存储图像的索引数据,将所有索引数据写入索引数据文件中,然后 将索引数据文件分布存储到分布式文件系统的各个节点; 采用MapReduce并行编程模型实现索引数据的检索,将检索空间划分成多个子空间, 然后通过任务调度在各子空间进行并行检索,最后汇总形成最终检索结果。2. 根据权利要求1所述的方法,其特征在于,在图像写入阶段,将图像数据直接写入分 布式文件系统,而索引数据采用缓冲机制,当缓冲队列满或计时器时间到达时统一写入索 引数据文件,并实现分布式存储;在主节点内存中建立索引数据缓冲区,索引数据记录项以 顺序写方式写入,缓冲区中以索引数据记录为单位,索引数据以追加的方式写入缓冲,当缓 冲队列满或计时器时间到达时,以缓冲区为单位进行分布式位置分配,将整个缓冲区的索 引数据记录通过对缓冲区头结构中的标识信息作散列运算,找到索引数据文件在分布式文 件系统中的对应存储节点,并将索引数据文件存储到相应的节点上。3. 根据权利要求2所述的方法,其特征在于,所述通过任务调度在各子空间进行并行 检索,还包括: 指定索引数据的n个数值属性&的顺序,其中i G [ 1…n],并将数值属性A ^直域划分 为Di个子域,建立多属性的排序层次树; 第1层为根节点;第2层为属性&的所有子域,按照从左到右由小到大排序;第3层对 第2层的每一个节点均按属性A2的子域从左到右由小到大排序;第(n+1)层对第n层的每 一个节点按属性总的子域从左到右由小到大排序,则第(n+1)层共有B个叶子节点,B值计 算公式为对所有叶子节点按照从左到右的顺序分别进行编号,对任意元组t在属性ApA2、…、A n 上的取值均映射到图中的一个叶子节点,将该叶子节点的编号记作元组的排序值R e [1~ B],且任何包含属性六^^、…、An的检索条件也具有唯一的排序值R'; 确定元组的排序之后,在每一个数据节点建立一个长度为B的叶节点索引,对本地元 组的存在情况进行指示,检查本地所有的元组,若至少存在一个排序值为RG [1…B]的元 组,则将叶节点索引的第R位设置为1,否则设为0 ; 检索进行时,首先根据检索条件在指定属性上的取值,生成检索条件的排序值R',检 索在数据节点进行时,通过指示叶节点索引来判断该数据节点是否满足检索条件的元组记 录,查找指示叶节点的第R'位,若为1,继续在该节点检索;若为〇,直接返回空值。
【专利摘要】本发明提供了一种基于大数据的检索方法,该方法包括:采用分布式文件来存储图像的索引数据,将所有索引数据写入索引数据文件中,然后将索引数据文件分布存储到分布式文件系统的各个节点;采用MapReduce并行编程模型实现索引数据的检索,将检索空间划分成多个子空间,然后通过任务调度在各子空间进行并行检索,最后汇总形成最终检索结果。本发明提出了一种基于大数据的检索方法,通过分布式系统对图像数据的存储和检索过程进行了优化,提高了检索效率,克服了性能瓶颈。
【IPC分类】G06F17/30
【公开号】CN105117502
【申请号】CN201510658014
【发明人】郭亮, 惠孛
【申请人】四川中科腾信科技有限公司
【公开日】2015年12月2日
【申请日】2015年10月13日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1