一种基于HBase的海量图片存储方法及其实现系统的制作方法

文档序号:8258929阅读:1602来源:国知局
一种基于HBase的海量图片存储方法及其实现系统的制作方法
【技术领域】
[0001] 本发明涉及一种基于HBase的海量图片存储方法及其实现系统,属于大数据存储 领域。
【背景技术】
[0002] 伴随着计算机网络的发展,海量数据的时代已经到来,视频、图片等非结构化数 据在整个数据集中占有着超过80%的空间,而这所有的数量集都有可能被计算处理。对于 如此大数据集的分析、管理和挖掘,传统技术包括传统关系数据库是无法胜任的,现阶段 主流的数据库工具处理的结构化数据在GB级别,分析大数据集时力不从心,并且目标数 据量的处理需求一直在增长,传统技术无法适应这种扩展性。
[0003] 从拥有数据到预判需求,当务之急是最快最好的分析和理解这些数据。目前,在 已拥有的技术和工具中,最成熟也最成功的一套大数据解决方案为Hadoop文件存储计算 框架及构架于其上的相关组件,例如分布式数据库fffiaseoHBase -Hadoop Database是一个 高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用fffiase技术可在廉价PC Server 上搭建起大规模结构化存储集群。
[0004] 目前HBase针对图片存储的解决方案主要有两种:第一种方案是基于HDFS的 HBase图片存储解决方案,HDFS是Hadoop Distributed File System的简称,是Hadoop分 布式文件系统,此方案通过将非结构化的图片数据保存到HDFS中,而将图片文件的索引存 储在HBase中。仅仅让HBase管理容量较小的图片文件的索引,减少了HBase中对于图片等 大对象数据频繁Split(分裂)和Compaction(合并)的触发,提高HBase的写性能。另外 一种方案是直接将图片数据以字节的形式存储到HBase中。这种方法的优点是实现简单, 也方便对数据进行管理。每个用户保存在HBase中的图片都是私人信息,但是,目前存在的 这两种针对图片存储的解决方案都无法解决图片存储的安全性问题,无法防止其他用户的 随机访问。
[0005] 中国专利文献CN104199899A公开了一种基于Hbase的海量图片存储方法及装置, 包括:读取预设大小的结构化文本信息,并创建一个Mapfile文件;其中,结构化文本信息 为图片的属性信息与图片的原始索引信息;确定读取的预设大小的结构化文本信息所对应 的各个图片,将确定的各个图片以字节流的形式写入到已建立的Mapfile文件中;将读取 的预设大小的结构化文本信息中的各个图片的属性信息以及各个图片所在的Mapfile文 件的索引信息存储至HBase表中。但是,该专利只涉及将图片的结构化文本信息保存到一 个指定的Mapfile文件中,与上述第二种方案类似,未能解决图片存储的安全性问题。

【发明内容】

[0006] 针对现有技术的不足,本发明公开了一种基于HBase的海量图片存储方法;
[0007] 本发明还公开了上述方法的实现系统;
[0008] 本发明通过对用户上传的图片进行加密并且结合Hadoop的分布式计算框架 MapReduce,实现将用户的私人图片安全、高效的上传到HBase数据库。
[0009] 本发明的技术方案如下:
[0010] 一种基于HBase的海量图片存储方法,具体步骤包括:
[0011] ⑴判断每一张要上传的图片是否超过HBase数据库存储数据块HFile的大小,如 果未超过,则进入步骤(2);如果超过,则对图片进行分割,直至未超过HBase数据库存储数 据块HFile的大小;
[0012] (2)提取图片特征值,所述图片特征值包括色彩、饱和度、值,计算图片的颜色直 方图;
[0013] (3)对步骤(2)得到的颜色直方图的特征向量进行加密,利用同态加密算法对图 片特征值进行加密;
[0014] (4)将加密后的数据生成HFile文件,存入HBase数据库。
[0015] 提取图片特征值,计算图片的颜色直方图,方便以后用户检索图片时对上传图片 与HBase数据库中的图片的相似度进行比较。
[0016] 根据本发明优选的,计算图片的颜色直方图,具体是指:
[0017] 颜色量化,即将图片的颜色空间划分成若干个小的颜色区间,每个小的颜色区间 成为颜色直方图的一个bin;计算颜色落在每个小的颜色区间内的像素数量得到颜色直方 图。
[0018] 根据本发明优选的,所述利用同态加密算法对图片特征值进行加密,所述同态加 密算法是指Paillier算法,具体步骤包括:
[0019] a、随机的选取两个素数p和q,且满足pq和(p-l)(q_l)的最大公约数为1;
[0020] b、设 n = pq,计算 n,A = lcm(p_l, q-1),A 为(p-1)与(q-1)的最小公倍数,函 数lcm用来求取两数的最小公倍数;
[0021] c、选取随机数& (是指所有与n2互为素数的整数,计算私钥中的一 个参数y,计算公式如下;
[0022] y = (L (gAmodn2)) _1mod n
[0023] 式中,t mod t'表示t对t'求余数,函数L的定义为L(s) = (s_l)/n,
[0024] 此时,公钥为(n, g),私钥为(A , y );
[0025] cUPaillier加解密:对于明文m,m G Zn,m表示明文,即需要加密的原始数据,也 即步骤(2)所述颜色直方图的特征向量;Zn表示所有与n互为素数的整数,并选择随机数? rr, ^
[0026] 则加密过程为:c = gm ? rnmod n2,
[0027] 其中,c表示加密后的密文;
[0028] 解密过程为:m = L(cxmod n2) ? ymod n。
[0029] 同态加密中,对加密后的数据进行加法或者乘法操作后进行解密,与直接对未加 密的数据进行同样的加法或者乘法操作后得到的结果相同。
[0030] 根据本发明优选的,所述对图片进行分割,具体是指,指将图片分割成大小的均等 的若干个切片,切片的大小与HBase数据库存储数据块HFile的大小的差t满足111 = s, s = 5kb,将分割后的所有切片保存到同样的行健、列族中,HBase数据库按照切片的顺序自 动打上时间戳并保存。
[0031] 上述方法的实现系统,包括图片分割模块、特征提取模块、加密模块、存储模块,所 述图片分割模块用于对超过HBase数据库存储数据块大小的图片进行分割;所述特征提取 模块用于提取图片特征值,计算图片的颜色直方图;所述加密模块用于对颜色直方图的特 征向量进行加密;所述存储模块用于将加密后的数据生成HFile文件,存入HBase数据库。
[0032] 本发明的有益效果为:
[0033] 本发明对对超过HBase数据库存储数据块HFile的大小的图片进行分割,提取出 图片的特征值,并对提取出的图片的颜色直方图的特征向量进行加密存储,实现了快速上 传并安全存储要上传的图片,防止其他非法用户对图片的读取,实现对图片的高效安全存 储。
【附图说明】
[0034] 图1为本发明所述一种基于HBase的海量图片存储方法流程图;
[0035] 图2为本发明所述一种基于HBase的海量图片存储方法的实现系统示意图。
【具体实施方式】
[0036] 下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
[0037] 实施例1
[0038] -种基于HBase的海量图片存储方法,具体步骤包括:
[0039]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1