论文部分内容阅读
随着计算机科学技术的不断发展和云计算技术的逐渐普及,越来越多的企业机构及个人愿意将一些数据例如客户相关信息、个人健康档案等外包存储到云端,这样可以灵活地存取数据,还可以减少本地开销成本。这其中一个重要的步骤就是在人们需要访问某个存储于云服务器中的文件时要在众多文件中找出所需要的那一个。由于云服务器并不是完全可信的,因此我们存于云服务器中的文件都是加密形式的,这便涉及到了密文搜索。因此,如何高效又安全地实现从云端搜索并返回文件便成为了人们关注的重点。现有的云环境下的密文搜索技术大多支持精确关键字搜索,这种搜索技术不允许任何拼写错误或书写格式不一致等情况的发生,也没有考虑数据文件之间的相关性等信息。虽然近些年来一些新的搜索技术的提出可以实现模糊关键字搜索或排序关键字搜索,但并未将二者结合起来,且搜索效率并不十分满意。因此,高效而安全地实现排序的模糊关键字搜索便成为了人们研究的重点。本文首先对云计算及密码学基础知识做了简单地介绍,并对关键字搜索的整体结构流程进行了介绍,接着对目前主流的关键字搜索算法——模糊关键字搜索技术及排序关键字搜索技术的各种重要的算法进行了详细地介绍。在此基础上,本文提出了云环境下排序的模糊关键字搜索方案。该方案将模糊关键字搜索技术与排序关键字搜索技术结合起来,在实现模糊关键字搜索的同时,将搜索到的文件按照一定顺序返回给用户。另一方面,该方案还对模糊关键字搜索算法进行了改进,将哈希函数改为位置敏感的哈希函数(LSH函数),使得搜索的准确率有所提高。最后,为了提高搜索效率,缩短搜索时间,本文将该方案在linux系统多线程下进行了仿真实现,使得搜索过程可以并发执行,提高搜索效率。此外,本方案还将构造索引的过程提出来,使得当文件无增添、删除或修改操作时无需重新构造索引,缩短了整个搜索的时间,进一步提高了搜索效率。从仿真实现结果可以看出,与现有的关键字搜索技术相比,本文提出的方案同时实现了模糊关键字搜索与排序关键字搜索,提高了搜索的准确率,提高了搜索的效率,并保证了搜索的安全性。