一种基于大数据的查询方法_3

文档序号:8943119阅读:来源:国知局
数据库的存储方式,本发明进一步采用分布式文件来存储图 像的索引数据,所有索引数据写入文件中,然后将索引数据文件分布存储到各节点,在各节 点将索引数据加载到内存中进行处理,极大地减轻了主节点的压力。
[0068] 在写入阶段,图像数据和索引数据并不是同步写入,而是采用I/O通道分离的方 式:图像数据直接写入分布式文件系统,索引数据采用缓冲机制,等缓冲队列满或计时器时 间到,再统一写入索引数据文件,并实现分布式存储。
[0069] 在主节点内存中建立索引数据缓冲区,索引数据记录项以顺序写方式写入缓冲 区。缓冲区中以索引数据记录为单位,索引数据缓冲机制为,缓冲区头结构中存在唯一标识 此次缓冲的信息。索引数据以追加的方式写入缓冲,当缓冲区中的索引数据记录达到某一 阈值或者计时器时间到,存储系统以缓冲区为单位进行分布式位置分配,将整个缓冲区的 索引数据记录通过对缓冲区头结构中的标识信息作Hash找到索引数据文件在分布式文件 系统中的对应存储节点,并将索引数据文件存储到相应的节点上。索引数据存储单元索引 数据缓冲区。
[0070] 为加快分布式文件系统中的索引数据检索,采用并行程序来检索索引数据。并行 检索程序将检索空间划分成多个子空间,然后通过任务调度在各子空间进行并行检索,最 后通过汇总形成最终结果。本发明采用Hadoop框架中的分布式文件系统HDFS为小文件索 引数据提供大量可扩展的存储空间,并采用MapReduce并行编程模型对小文件索引数据的 并行检索进行了实现。通过在多属性上建立分布式局部叶节点索引可以对并行检索进行优 化。
[0071] 考虑在索引数据的数值属性4、A2、…、总共η个属性上进行排序,属性值必须是 数值型或能转化为数值形式(连续或离散的数值属性值均可以采用区间划分,非数值型属 性值转化为数值型)。首先指定属性A 1Q e [1…η])的顺序,并将数值属性~值域划分为 D1个子域,接下来建立多属性的排序层次树:
[0072] 第1层为根节点;第2层为属性A1的所有子域,按照从左到右由小到大排序;第3 层对第2层的每一个节点均按属性A 2的子域从左到右由小到大排序;第(η+1)层对第η层 的每一个节点按属性总的子域从左到右由小到大排序,则第(η+1)层共有B个叶子节点,B 值计算公式为
[0073] 对所有叶子节点按照从左到右的顺序分别进行编号,对任意元组t在属性H、 总上的取值都可以映射到图中的一个叶子节点,将该叶子节点的编号记作元组的排序值 Re [1…B],且任何包含属性六^^、…、An的检索条件也具有唯一的排序值W。
[0074] 确定元组的排序之后,需要在数据节点建立局部叶节点索引,在每一个数据节点 建立一个长度为B的叶节点索引,叶节点索引只与本地元组的情况有关,只采用局部指示 索引来对本地元组的存在情况进行指示。检查本地所有的元组,若至少存在一个排序值为 Re [1…B]的元组,则将叶节点索引的第R位设置为1,否则设为0。这样仅通过一个长度 为B的叶节点就可以实现对本地所有元组在属性A 2、…、An上的指示。
[0075] 建立叶节点索引后,利用其进行检索必须是输入的检索条件包含建立了叶节点索 引的数值属性上的取值。检索进行时,首先根据检索条件在指定属性上的取值,生成检索条 件的排序值R',检索在数据节点进行时,通过指示叶节点索引来判断该数据节点有没有满 足检索条件的元组记录,查找指示叶节点的第R'位,若为1,表示该节点可能存在满足条 件的元组,继续在该节点检索;若为0,表示该节点不存在满足条件的元组,直接返回空值, 不进行该节点的检索任务。通过以上叶节点索引机制,可以有效避免大量返回空集的检索 任务,在节约了检索资源的同时,提高了检索效率。
[0076] 综上所述,本发明提出了一种基于大数据的查询方法,通过分布式系统对图像数 据的存储和检索过程进行了优化,提高了检索效率,克服了性能瓶颈。
[0077] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用 的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储 在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0078] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种基于大数据的查询方法,其特征在于,包括: 将图像文件存储在分布式文件系统的图像库中;对图像文件进行预处理,然后提取图 像特征;对所提取的特征建立特征索引,将索引文件和图像文件存储在分布式文件数据库 上;当用户向系统提交查询请求时,用户接口对提交的实例或图像特征进行特征提取,与特 征索引库中的图像特征进行相似度比较后将匹配结果发送给用户。2. 根据权利要求1所述的方法,其特征在于,所述在将图像文件存储在分布式文件系 统的图像库中之前,还包括: 采用主从式结构搭建Hadoop集群,主节点用于集群中所有的任务调度和任务分配,从 节点对主节点分配的任务进行计算和数据存储,并周期性地向主节点报告心跳信息; 数据存储层利用分布式文件数据库对海量图像数据进行分布式存储和建立分布式访 问索引,采用MapReduce编程模型将图像数据进行分块,在Hadoop集群中的节点上进行处 理,提取图像特征、进行图像匹配等计算,Web服务器接收用户输入的实例或图像特征,将其 提交给Hadoop集群进行计算,然后通过Web服务器返回检索结果。3. 根据权利要求2所述的方法,其特征在于,所述在将图像文件存储在分布式文件系 统的图像库中,进一步包括: (1) ,在将采集的图像文件上传到分布式文件系统上时,为每个图像文件会生成唯一的 图像ID,作为图像标识; (2) 检测图像文件是否被损坏,若被损坏,将该图像的ID标记为无效ID,并将无效ID 输出到分布式文件系统中,若没被损坏,则允许正常上传; (3) 提取分布式文件系统中的图像的颜色、纹理、尺寸特征,并为每个图像生成图像快 昭. (4) 将图像ID、图像快照、颜色特征、纹理特征、尺寸特征索引写入到分布式文件数据 库中。4. 根据权利要求3所述的方法,其特征在于,所述提取图像特征进一步包括: 首先进行图像结构分析,对图像进行分割,通过突变检测和渐变检测分离出元素从元 素中提取出图像的位置特征;然后通过计算元素中所有像素的平均值,根据预定的规则从 分离出的元素里提取关键像素点,从关键像素点的集合中来提取颜色特征、形状特征、纹理 特征,共同构成描述图像内容的特征空间;在提取关键像素点后对图像进行聚类,计算图像 之间的相似度,根据相关性关系将元素重新进行组合; 其中图像之间的相似度根据以下过程来计算: 用P1Q G {1,2,???《)来表示库中的图像,N为图像数量,C1, G1, S1, 别表示第i 个图像的颜色、纹理、形状、位置特征,用Pc表示用户提交的待检索的图像实例,其颜色、纹 理、形状、位置特征分别用C。,G。,S。,M。来表示,待检索图像与第i个图像的相似度用D(P。, Pi)表示: D(P。,P1)=w1Dc(C。,C 1)+W2D(;(G。,G1)+W3D s(S。,S1)+W4DM(M。,M1)其中,D c,D(;,Ds,DM分另lJ 为P〇, P1W个图像在颜色、纹理、形状、位置上的相似度,w i,w2, w3, W4S各特征的权重,满足 W1+W2+W3+W4- Io
【专利摘要】本发明提供了一种基于大数据的查询方法,该方法包括:将图像文件存储在分布式文件系统的图像库中;对图像文件进行预处理,然后提取图像特征;对所提取的特征建立特征索引,将索引文件和图像文件存储在分布式文件数据库上;当用户向系统提交查询请求时,用户接口对提交的实例或图像特征进行特征提取,与特征索引库中的图像特征进行相似度比较后将匹配结果发送给用户。本发明提出了一种基于大数据的查询方法,通过分布式系统对图像数据的存储和检索过程进行了优化,提高了检索效率,克服了性能瓶颈。
【IPC分类】G06F17/30
【公开号】CN105160039
【申请号】CN201510657701
【发明人】时翔, 冉欢欢, 张悍裴
【申请人】四川携创信息技术服务有限公司
【公开日】2015年12月16日
【申请日】2015年10月13日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1