Nothing Special   »   [go: up one dir, main page]

CN103309898A - 一种离散文件记录索引搜索更新方法 - Google Patents

一种离散文件记录索引搜索更新方法 Download PDF

Info

Publication number
CN103309898A
CN103309898A CN201210069127XA CN201210069127A CN103309898A CN 103309898 A CN103309898 A CN 103309898A CN 201210069127X A CN201210069127X A CN 201210069127XA CN 201210069127 A CN201210069127 A CN 201210069127A CN 103309898 A CN103309898 A CN 103309898A
Authority
CN
China
Prior art keywords
orw
otemp
file
record
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201210069127XA
Other languages
English (en)
Inventor
汪东升
陈宏庆
鞠大鹏
顾永青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SUZHOU INTERNATIONAL TRADE ELECTRONIC SYSTEM ENGINEERING Co Ltd
Tsinghua University
Original Assignee
SUZHOU INTERNATIONAL TRADE ELECTRONIC SYSTEM ENGINEERING Co Ltd
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SUZHOU INTERNATIONAL TRADE ELECTRONIC SYSTEM ENGINEERING Co Ltd, Tsinghua University filed Critical SUZHOU INTERNATIONAL TRADE ELECTRONIC SYSTEM ENGINEERING Co Ltd
Priority to CN201210069127XA priority Critical patent/CN103309898A/zh
Publication of CN103309898A publication Critical patent/CN103309898A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种离散文件记录索引搜索更新方法,包括以下步骤:利用关系数据库建立离散文件记录索引步骤;前端缓存查找记录数据块步骤;依据读写操作的偏移、长度以及查询的结果更新索引步骤。可用于计算机数据搜索及存储技术领域,有效减少索引记录数,同时提高查询效率。

Description

一种离散文件记录索引搜索更新方法
技术领域
本发明涉及计算机数据搜索及存储技术领域,尤其涉及一种离散文件记录索引搜索更新方法。
背景技术
在云存储环境下,用户端(前端)系统读写文件时要经网络与存储服务器端(后端)通讯传输数据,传统的方式是以文件为基本单位,从后端将数据取回到前端系统缓存,但受限于文件大小、网络带宽等诸多情况,用户与后端的数据交互体验往往差强人意:一方面用户操作文件时即使有很小的修改也需要在前端存有文件的完整副本。如果没有则需从后端取,文件较大时不仅耗时而且占用大量带宽及服务器资源,用户等候时间延长,对于某些实时性较强的场景更亟需提高效率。另一方面前端也未必有足够的存储空间存放所有的数据,尤其针对移动设备的前端系统。
另一种存取数据方式是以读写操作为单位设计前端系统,每次操作数据量小,高效、节省缓存空间,会有较好的用户体验。利用用户态文件系统来实现对系统调用的重定向,以捕获前端系统的读写操作。对数据的操作以一次系统调用为单位而不是以文件为单位,这些调用的数据不能构成一个完整连续的文件,而是很多离散的文件片段,如果还是用普通的文件作为内容缓存,那么就会浪费很多存储空间,所以利用离散文件记录这些数据来尽量减少浪费的存储空间。
由于操作系统在读取离散文件时,并不会区分没有数据的空洞和实际存储的全零数据,在返回读取到的数据时都会以零数据表示,所以需要建立这些文件内容的索引来获取前端实际存储的数据。操作系统在对文件进行读写操作时,向用户态文件系统提供偏移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的同一文件记录;
4.2.1.2 MF=O,R’(O’,L’)不变,删除所有≤Otemp且>O的同一文件记录;
4.2.1.3 MF=1,R’(O’,L’)更新为R’(O,O’+L’-O),删除所有≤Otemp且≥O的同一文件记录;
4.2.2 Otemp+Ltemp>Orw+Lrw,依据MF值更新R’(O’,L’):
4.2.2.1 MF=-1,R’(O’,L’)更新为R’(O’,Otemp+Ltemp-O’),删除所有≤Otemp的同一文件记录;
4.2.2.2 MF=O,R’(O’,L’)更新为R’(O’,Otemp+Ltemp-O’),删除所有≤Otemp且>O的同一文件记录;
4.2.2.3 MF=1,R’(O’,L’)更新为R’(O,Otemp+Ltemp-O),删除所有≤Otemp且≥O的同一文件记录。
由于采用“水滴融合”式离散文件记录索引搜索更新机制,提高了数据查询效率,节省存储空间。
附图说明
当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:
图1为本发明实施例流程图。
具体实施方式
以下参照图对本发明的实施例进行说明。
本发明实施例提出一种“水滴融合”式离散文件记录索引搜索更新机制:当离散文件中的内容产生交叠时,离散的数据块连成连续的数据块,索引也会进行相应修改,将连续的记录合并为一条记录,可以形象地比喻成多个水滴接触后融合成一个大的水滴,减少索引记录数,同时提高查询效率。最终的结果是:对于同一个文件,其中所有索引表示的内容都是互相不重叠的。该机制初始时每次读写的是离散的小数据块,通过长时间运行后,小块会汇聚成连续的大块。理想情况下,文件中所有内容都有意义,即不存在空洞,那么对该文件的内容索引最终像“水滴融合”一样变成一条,其偏移是O,长度是文件的内容长度。
实施例1
如图1所示,一种离散文件记录索引搜索更新方法,包括以下步骤:
S1、利用关系数据库建立离散文件记录索引步骤;
S2、前端缓存查找记录数据块步骤;
S3、依据读写操作的偏移、长度以及查询的结果更新索引步骤。
实施例2
一种离散文件记录索引搜索更新方法,具体实施步骤如下:
(1-1)首先利用关系数据库建立这一索引,构成如下:每一条记录都对应了离散文件中一段存有数据的段,记录中的文件唯一标示是为判定内容隶属于哪个文件;块唯一标示是为避免块冲突;块偏移(Offset,简称O)记录了一段实际内容的起始地址;内容长度(Length,简称L)则记录了它的长度。
(1-2)由于更新之前必然做过查询操作,所以利用读写操作的偏移、长度以及查询的结果帮助更新索引。
(1-3)引入合并标志MF(Merge Flag)概念,定义如下:
(2-1)MF=-1,意味着读写请求数据块偏移之前没有同一文件的其他记录。
(2-2)MF=O,意味着读写请求数据块偏移之前有同一文件的其他记录,但并不与之相交。
(2-3)MF=1,意味着读写请求数据块偏移之前有同一文件的其他记录,并且与之相交,但并未覆盖读写请求数据块。
(1-4)具体的搜索查找、索引更新方法如下(前提是根据文件唯一标示确定需要的文件):
(1-5)首先将读写请求数据块记为Rrw(Orw,Lrw)。
(1-6)前端缓存查找记录数据块过程如下:
(3-1)没有≤Orw块的记录,MF=-1,获取新数据,记为R’(O‘,L’),更新索引。
(3-2)有≤Orw块的记录,取块偏移最大者,记为R(O,L),比较三种情况:
(4-1)O+L <Orw,说明R与Rrw不相交,MF=O,获取新数据,记为R’(O‘,L’),更新索引。
(4-2)Orw≤O+L<Orw+Lrw,说明R与Rrw相交但未覆盖,MF=1,获取新数据,记为R’(O‘,L’),更新索引。
(4-3)O+L≥Orw+Lrw,说明R与Rrw相交且覆盖,包含了需要的数据,不必再读取新数据并更新索引。
(1-7)从以上叙述中可以看到,R’(O‘,L’)实际上就是Rrw(Orw,Lrw)。
(1-8)后端取新数据后索引更新过程如下:
(5-1)没有(Orw,Orw+Lrw]之间的块,依据MF值更新R’(O‘,L’):
(6-1)MF=-1,R’(O‘,L’)不变。
(6-2)MF=O,R’(O‘,L’)不变。
(6-3)MF=1,R’(O‘,L’)更新为R’(O,O‘+L’-O),删除R(O,L)记录。
(5-2)有(Orw,Orw+Lrw]之间的块,取块偏移最大者,记为Rtemp(Otemp,Ltemp),比较两种情况:
(7-1)Otemp+Ltemp≤Orw+Lrw,依据MF值更新R’(O‘,L’):
(8-1)MF=-1,R’(O‘,L’)不变,删除所有≤Otemp的同一文件记录。
(8-2)MF=O,R’(O‘,L’)不变,删除所有≤Otemp且>O的同一文件记录。
(8-3)MF=1,R’(O‘,L’)更新为R’(O,O‘+L’-O),删除所有≤Otemp且≥O的同一文件记录。
(7-2)Otemp+Ltemp>Orw+Lrw,依据MF值更新R’(O‘,L’):
(9-1)MF=-1,R’(O‘,L’)更新为R’(O‘,Otemp+Ltemp-O’),删除所有≤Otemp的同一文件记录。
(9-2)MF=O,R’(O‘,L’)更新为R’(O‘,Otemp+Ltemp-O’),删除所有≤Otemp且>O的同一文件记录。
(9-3)MF=1,R’(O‘,L’)更新为R’(O,Otemp+Ltemp-O),删除所有≤Otemp且≥O的同一文件记录。
如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。

Claims (4)

1.一种离散文件记录索引搜索更新方法,其特征在于,包括以下步骤:
利用关系数据库建立离散文件记录索引步骤;
前端缓存查找记录数据块步骤;
依据读写操作的偏移、长度以及查询的结果更新索引步骤。
2.如权利要求1所述一种离散文件记录索引搜索更新方法,其特征在于,所述利用关系数据库建立离散文件记录索引步骤具体构成如下:每一条记录都对应了离散文件中一段存有数据的段,记录中的文件标示用于判定内容隶属于哪个文件;块标示用于避免块冲突;块偏移O记录了一段实际内容的起始地址;内容长度L记录了一段实际内容的长度。
3.如权利要求2所述一种离散文件记录索引搜索更新方法,其特征在于,所述前端缓存查找记录数据块步骤和依据读写操作的偏移、长度以及查询的结果更新索引步骤具体如下:
将读写请求数据块记为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相交且覆盖,包含了需要的数据,不必再读取新数据并更新索引。
4.如权利要求3所述一种离散文件记录索引搜索更新方法,其特征在于,所述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的同一文件记录;
4.2.1.2 MF=O,R’(O’,L’)不变,删除所有≤Otemp且>O的同一文件记录;
4.2.1.3 MF=1,R’(O’,L’)更新为R’(O,O’+L’-O),删除所有≤Otemp且≥O的同一文件记录;
4.2.2 Otemp+Ltemp>Orw+Lrw,依据MF值更新R’(O’,L’):
4.2.2.1 MF=-1,R’(O’,L’)更新为R’(O’,Otemp+Ltemp-O’),删除所有≤Otemp的同一文件记录;
4.2.2.2 MF=O,R’(O’,L’)更新为R’(O’,Otemp+Ltemp-O’),删除所有≤Otemp且>O的同一文件记录;
4.2.2.3 MF=1,R’(O’,L’)更新为R’(O,Otemp+Ltemp-O),删除所有≤Otemp且≥O的同一文件记录。
CN201210069127XA 2012-03-15 2012-03-15 一种离散文件记录索引搜索更新方法 Pending CN103309898A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210069127XA CN103309898A (zh) 2012-03-15 2012-03-15 一种离散文件记录索引搜索更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210069127XA CN103309898A (zh) 2012-03-15 2012-03-15 一种离散文件记录索引搜索更新方法

Publications (1)

Publication Number Publication Date
CN103309898A true CN103309898A (zh) 2013-09-18

Family

ID=49135135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210069127XA Pending CN103309898A (zh) 2012-03-15 2012-03-15 一种离散文件记录索引搜索更新方法

Country Status (1)

Country Link
CN (1) CN103309898A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160102988A1 (en) * 2010-12-07 2016-04-14 Google Inc. Method and apparatus of route guidance
CN110196871A (zh) * 2019-03-07 2019-09-03 腾讯科技(深圳)有限公司 数据入库方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192376B1 (en) * 1998-11-13 2001-02-20 International Business Machines Corporation Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
CN101358851A (zh) * 2007-08-03 2009-02-04 北京灵图软件技术有限公司 一种在本地缓存导航数据的方法、系统及客户端装置
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法
CN101917396A (zh) * 2010-06-25 2010-12-15 清华大学 一种网络文件系统中数据的实时去重和传输方法
CN102014158A (zh) * 2010-11-29 2011-04-13 北京兴宇中科科技开发股份有限公司 一种云存储服务客户端高效细粒度数据缓存系统与方法
US8131691B1 (en) * 2002-12-30 2012-03-06 Symantec Operating Corporation System and method for updating a search engine index based on which files are identified in a file change log

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192376B1 (en) * 1998-11-13 2001-02-20 International Business Machines Corporation Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
US8131691B1 (en) * 2002-12-30 2012-03-06 Symantec Operating Corporation System and method for updating a search engine index based on which files are identified in a file change log
CN101358851A (zh) * 2007-08-03 2009-02-04 北京灵图软件技术有限公司 一种在本地缓存导航数据的方法、系统及客户端装置
CN101917396A (zh) * 2010-06-25 2010-12-15 清华大学 一种网络文件系统中数据的实时去重和传输方法
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法
CN102014158A (zh) * 2010-11-29 2011-04-13 北京兴宇中科科技开发股份有限公司 一种云存储服务客户端高效细粒度数据缓存系统与方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160102988A1 (en) * 2010-12-07 2016-04-14 Google Inc. Method and apparatus of route guidance
US9404759B2 (en) * 2010-12-07 2016-08-02 Google Inc. Method and apparatus of route guidance
CN110196871A (zh) * 2019-03-07 2019-09-03 腾讯科技(深圳)有限公司 数据入库方法和系统
CN110196871B (zh) * 2019-03-07 2024-05-17 腾讯科技(深圳)有限公司 数据入库方法和系统

Similar Documents

Publication Publication Date Title
CN108133008B (zh) 数据库中业务数据的处理方法、装置、设备和存储介质
CN101350030B (zh) 用于缓存数据的方法及装置
US8447742B2 (en) Storage apparatus which eliminates duplicated data in cooperation with host apparatus, storage system with the storage apparatus, and deduplication method for the system
US9195611B2 (en) Efficiently updating and deleting data in a data storage system
CN106649349B (zh) 用于游戏应用的数据缓存方法、装置和系统
CN103548003B (zh) 用于提高去重复系统备份性能的客户端侧指纹缓存的方法和系统
CN102629247B (zh) 一种数据处理方法、装置和系统
CN104699423B (zh) Linux系统中绑定盘符的方法和装置
CN108363641B (zh) 一种主备机数据传递方法、控制节点以及数据库系统
CN103885990B (zh) 搜索方法及系统
CN105989076A (zh) 一种数据统计方法以及装置
CN102693388B (zh) 数据安全防护处理系统及方法及存储介质
CN102307234A (zh) 基于移动终端的资源检索方法
CN109471843B (zh) 一种元数据缓存方法、系统及相关装置
CN103916465A (zh) 一种基于分布式文件系统的数据预读装置及其方法
CN104516974A (zh) 一种文件系统目录项的管理方法及装置
CN104331428A (zh) 一种小文件和大文件的存储及访问方法
CN102148870A (zh) 一种云存储系统及其实现方法
US11249946B2 (en) Path name cache for notifications of file changes
CN102609466A (zh) 一种共享内存的控制方法及系统
CN104854582A (zh) 存储高效、更新优化的事务型全文索引视图维护的方法和系统
CN104092726A (zh) 同名文件的自动替换方法及其装置
US10628305B2 (en) Determining a data layout in a log structured storage system
US20220083507A1 (en) Trust chain for official data and documents
CN103501339A (zh) 元数据处理方法及元数据服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Suzhou City, Jiangsu province 215004 Suzhou Industrial Park Weiting Wei Road 5

Applicant after: JIANGSU GM-WINLEAD INTELLIGENT TECHNOLOGY CO., LTD.

Applicant after: Tsinghua University

Address before: Suzhou City, Jiangsu province 215004 Suzhou Industrial Park Weiting Wei Road 5

Applicant before: Suzhou International Trade Electronic System Engineering Co., Ltd.

Applicant before: Tsinghua University

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SUZHOU GUOMAO ELECTRONIC SYSTEM ENGINEERING CO., LTD. TO: JIANGSU GUOMAO YUNLING INTELLIGENT TECHNOLOGY CO., LTD.

RJ01 Rejection of invention patent application after publication

Application publication date: 20130918

RJ01 Rejection of invention patent application after publication