[发明专利]一种离散文件记录索引搜索更新方法有效
申请号: | 201210069127.X | 申请日: | 2012-03-15 |
公开(公告)号: | CN103309898A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 汪东升;陈宏庆;鞠大鹏;顾永青 | 申请(专利权)人: | 苏州市国贸电子系统工程有限公司;清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215004 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离散 文件 记录 索引 搜索 更新 方法 | ||
技术领域
本发明涉及计算机数据搜索及存储技术领域,尤其涉及一种离散文件记录索引搜索更新方法。
背景技术
在云存储环境下,用户端(前端)系统读写文件时要经网络与存储服务器端(后端)通讯传输数据,传统的方式是以文件为基本单位,从后端将数据取回到前端系统缓存,但受限于文件大小、网络带宽等诸多情况,用户与后端的数据交互体验往往差强人意:一方面用户操作文件时即使有很小的修改也需要在前端存有文件的完整副本。如果没有则需从后端取,文件较大时不仅耗时而且占用大量带宽及服务器资源,用户等候时间延长,对于某些实时性较强的场景更亟需提高效率。另一方面前端也未必有足够的存储空间存放所有的数据,尤其针对移动设备的前端系统。
另一种存取数据方式是以读写操作为单位设计前端系统,每次操作数据量小,高效、节省缓存空间,会有较好的用户体验。利用用户态文件系统来实现对系统调用的重定向,以捕获前端系统的读写操作。对数据的操作以一次系统调用为单位而不是以文件为单位,这些调用的数据不能构成一个完整连续的文件,而是很多离散的文件片段,如果还是用普通的文件作为内容缓存,那么就会浪费很多存储空间,所以利用离散文件记录这些数据来尽量减少浪费的存储空间。
由于操作系统在读取离散文件时,并不会区分没有数据的空洞和实际存储的全零数据,在返回读取到的数据时都会以零数据表示,所以需要建立这些文件内容的索引来获取前端实际存储的数据。操作系统在对文件进行读写操作时,向用户态文件系统提供偏移O以及长度L等参数,然后用离散文件的索引进行搜索查找。如果根据离散文件内容的索引查找记录失败了,那么需要从后端获取数据,存入前端的离散文件,同时更新其内容索引。
由于缓存数据的逐步增多,索引记录也随之膨大,传统索引记录数据查询效率低,占用存储空间大。
发明内容
本发明解决的技术问题在于如何提高数据查询效率,节省存储空间。
为了解决以上问题,本发明提供一种离散文件记录索引搜索更新方法,包括以下步骤:
利用关系数据库建立离散文件记录索引步骤;
前端缓存查找记录数据块步骤;
依据读写操作的偏移、长度以及查询的结果更新索引步骤。
进一步,作为优选方案,所述利用关系数据库建立离散文件记录索引步骤具体构成如下:每一条记录都对应了离散文件中一段存有数据的段,记录中的文件标示用于判定内容隶属于哪个文件;块标示用于避免块冲突;块偏移O记录了一段实际内容的起始地址;内容长度L记录了一段实际内容的长度。
进一步,作为优选方案,所述前端缓存查找记录数据块步骤和依据读写操作的偏移、长度以及查询的结果更新索引步骤具体如下:
将读写请求数据块记为Rrw(Orw,Lrw),
3.1没有≤Orw块的记录,MF=-1,意味着读写请求数据块偏移之前没有同一文件的其他记录,获取新数据,记为R’(O’,L’),更新索引;
3.2有≤Orw块的记录,取块偏移最大者,记为R(O,L),比较三种情况:
3.2.1 O+L<Orw,说明R与Rrw不相交,MF=O,意味着读写请求数据块偏移之前有同一文件的其他记录,但并不与之相交,获取新数据,记为R’(O’,L’),更新索引;
3.2.2 Orw≤O+L<Orw+Lrw,说明R与Rrw相交但未覆盖,MF=1,意味着读写请求数据块偏移之前有同一文件的其他记录,并且与之相交,但并未覆盖读写请求数据块,获取新数据,记为R’(O’,L’),更新索引;
3.2.3 O+L≥Orw+Lrw,说明R与Rrw相交且覆盖,包含了需要的数据,不必再读取新数据并更新索引。
进一步,作为优选方案,所述3.2.1和3.2.2中获取新数据,更新索引步骤如下:
4.1没有(Orw,Orw+Lrw]之间的块,依据MF值更新R’(O’,L’):
4.1.1 MF=-1,R’(O’,L’)不变;
4.1.2 MF=O,R’(O’,L’)不变;
4.1.3 MF=1,R’(O’,L’)更新为R’(O,O’+L’-O),删除R(O,L)记录;
4.2有(Orw,Orw+Lrw]之间的块,取块偏移最大者,记为Rtemp(Otemp,Ltemp),比较两种情况:
4.2.1 Otemp+Ltemp≤Orw+Lrw,依据MF值更新R’(O’,L’):
4.2.1.1 MF=-1,R’(O’,L’)不变,删除所有≤Otemp的同一文件记录;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州市国贸电子系统工程有限公司;清华大学,未经苏州市国贸电子系统工程有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210069127.X/2.html,转载请声明来源钻瓜专利网。