[发明专利]一种海量图片存储和搜索的方法在审
申请号: | 201710165603.0 | 申请日: | 2017-03-20 |
公开(公告)号: | CN107145502A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 谭洪舟;朱亚星;陈荣军;谢舜道;朱雄泳;曾衍瀚 | 申请(专利权)人: | 中山大学;广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学花都产业科技研究院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州粤高专利商标代理有限公司44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 海量 图片 存储 搜索 方法 | ||
技术领域
本发明涉及图片存储和搜索领域,更具体地,涉及一种个人的海量图片存储和搜索的方法。
背景技术
随着智能手机和各种智能设备的普及,个人的图片总量和类型呈现了爆炸式的增长,用户通常会将图片存储在计算机的硬盘中,图片的大量增加超出了普通用户的管理能力,导致了个人的大量图片的存储和管理的需求,因而在个人图片的存储领域,设计一个针对大量图片的存储和检索系统成为一项待决的问题。
传统的文件系统基本上都是基于单个存储设备,文件元数据结构都较为简单,例如Mac OS的桌面搜索,Linux系统的find搜索等,这些搜索工具都是在文件元数据的基础上建立索引,或者使用遍历来搜索文件。这种搜索方法在文件达到一个量级后,所花费的时间将变得不可接受,而且这些程序都是对文件的系统元数据(比如访问时间、修改时间)建立了索引机制,用户并不对这些属性感兴趣,用户对图片的拍摄内容、拍摄时间更感兴趣,而这些元数据传统文件系统无法添加。
发明内容
本发明为了克服上述问题,设计了一种新的索引算法,目的是为了解决个人的大规模图片快速和便捷存储和查询的问题,缩短图片数据索引时间和提高海量图片数据存取检索效率。
为解决上述技术问题,本发明的技术方案如下:
一种海量图片存储和查询的方法,其架构为两级索引方式,在服务器上建立两级索引机制,由服务器接收来自于客户端的请求;所述索引机制的第一层为哈希桶,第二层为红黑树。
在一种优选的方案中,所述客户端的请求包括两类,第一类是请求将图片存储到服务器中,然后根据本算法建立图片的两级索引;第二类是根据图片的扩展属性在已建立的数据机构中来查找相应的图片。
在一种优选的方案中,所述的图片的扩展属性包括图片的拍摄时间、图片的内容及一切用户添加到图片中的信息。
在一种优选的方案中,用户在客户端上传图片,上传的内容包括图片和图片的扩展属性;所述的图片存入服务器中,返回一个服务器的存储地址作为value值;以图片的扩展属性作为key值,二者组成<key,value>对。
在一种优选的方案中,图片存储的方法具体步骤如下:
S1:使用相关算法对<key,value>对中的key计算哈希值,从而得到其在两级索引机制中第一层哈希桶上的位置;
S2:判断哈希桶中指向下一层红黑树索引结构的指针是否为空值,如果是空值,则以<key,value>建立红黑树根节点并返回插入成功;如果其不为空值,进行S3步骤;
S3:在红黑树中查找关键值为key的节点,如果结果不为空值,证明节点曾经被插入,则在查找到的节点所指向的记录列表中插入value值;如果为空值,进行S4步骤;
S4:以<key,value>建立红黑树的节点并插入其中,返回插入成功。
在一种优选的方案中,用户在客户端上根据图片的扩展属性进行图片的查询,进而通过RMI远程调用机制在服务器上进行查询;图片查询的方法具体步骤如下:
T1:服务器接收这次查询并进行查询条件的解析,提取其中key的值,然后将key值传入到服务器内存索引中;
T2:服务器计算key的哈希值,确定其是否在哈希桶上,如果不在,则直接返回查询失败;如果在哈希桶上,则进行步骤T3;
T3:判断哈希桶中指向下一层红黑树索引结构的指针是否为空,如果为空,返回查询失败;如果不为空,则进行步骤T4;
T4:在红黑树中查询关键值为key的节点,如果为空,则返回查询失败;如果不为空,则进行步骤T5;
T5:返回节点中指向记录链表的首地址。
与现有技术相比,本发明技术方案的有益效果是:本发明提供一种海量图片存储和查询的方法,其架构为两级索引方式,在服务器上建立两级索引机制,由服务器接收来自于客户端的请求;所述索引机制的第一层为哈希桶,第二层为红黑树。本发明旨在解决大规模图片快速和便捷存储和查询的问题,缩短图片数据索引时间,提高海量图片数据存取检索效率,本发明算法稳定性和扩展性良好,使得客户端的用户们可以快速方便地进行图片的存储和查找。
附图说明
图1为本发明实施例1两级索引结构图。
图2为本发明实施例2上传图片并建立索引的流程图。
图3为本发明的算法在内存中具体建立索引的流程图。
图4为本发明实施例2搜索图片的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学;广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学花都产业科技研究院,未经中山大学;广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学花都产业科技研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710165603.0/2.html,转载请声明来源钻瓜专利网。