一种小文件对象的存取方法和装置制造方法及图纸

技术编号:23851910 阅读:26 留言:0更新日期:2020-04-18 09:05
本发明专利技术公开了一种小文件对象的存取方法和装置,其步骤为:1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元数据库和数据对象存储库的索引文件中;2)当客户端请求读取所述小文件对象时,根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象位置信息和对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。

Access method and device of small file object

【技术实现步骤摘要】
一种小文件对象的存取方法和装置
本专利技术属于应用信息学
,具体涉及一种小文件对象的存取方法和装置,主要应用于科学领域小文件的存取。
技术介绍
随着仪器发展和大数据技术的进步,科学领域的数据量极具膨胀,在很多的应用领域是以小文件形式进行存储和关联数据的快速使用。如在分子生物数据应用方面,以基本的核酸序列为例,截至2018年4月统计的数字,GenBank超过10亿个序列记录,其中包括2.08亿个传统记录,6.21亿个WGS记录,2.44亿个TSA记录和1500万个TLS记录。在碱基对中,GenBank继续以每年约40%的速度增长(参考EricWSayers,MarkCavanaugh,KarenClark,JamesOstell,KimDPruitt,IleneKarsch-Mizrachi,GenBank,NucleicAcidsResearch,Volume47,IssueD1,08January2019,PagesD94–D99);又如在遥感数据的具体应用中,会生成大量的缩略图,也是以一小文件的方式进行使用,并要求能够进行实时存取和web呈现(参考Wang,X.,Zhao,J.,Zhou,Y.andLi,J.,2014.TheGeospatialDataCloud:AnImplementationofApplyingCloudComputinginGeosciences.DataScienceJournal,13,pp.254–264.)。再如越来越多的野外物候相机和气象视频观测站等也同样要面对海量图片文件在长时间序列和空间尺度的取用问题(参考Beyondleafcolor:Comparingcamera-basedphenologicalmetricswithleafbiochemical,biophysical,andspectralpropertiesthroughoutthegrowingseasonofatemperatedeciduousforest.Yang,Xi,Tang,Jianwu,Mustard,JohnF.JournalofGeophysicalResearch.Biogeosciences.2014(3))。由此,针对科学数据小文件的快速取用,需要提供一种科学数据小文件对象的存取方法和装置,从而满足科学数据小文件的快速取用需要。
技术实现思路
本专利技术的目的在于提供一种科学数据小文件对象的存取方法和装置。本专利技术经由数据逐级缓存、元数据标识、数据对象分块、异步维护的方式,可以通过唯一标识方法进行小文件对象数据的快速取用。本专利技术的技术方案为:一种小文件对象的存取方法,其步骤包括:1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元数据库和数据对象存储库的索引文件中;2)当客户端请求读取所述小文件对象时,根据所请求小文件对象的元数据信息查询缓存数据库,如果存在对应的小文件对象则直接返回该小文件对象;否则根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象位置信息和数据类型,其中每一数据类型设置一对应的关联数据获取规则,所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;然后根据所请求小文件对象的数据类型获取对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。进一步的,所述小文件对象标识信息为一键值对,其中以小文件对象信息为键,以小文件对象在数据对象存储库中的数据对象存储块地址、起始存储位置、存储长度、访问时刻和小文件对象类型关联规则编号作为值。进一步的,所述元数据库中存储小文件对象的数据类型和所述关联数据获取规则;所述元数据库中设置的参数包括数据对象存储块阈值K、写活跃数据对象存储块地址Ai及其存储偏移量Aiki。进一步的,当在写活跃数据对象存储块上做追加写入时,每写入一个文件对象的元数据信息,更新当前写活跃数据对象存储块的存储偏移量Aiki,当Aiki大于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。进一步的,所述数据对象存储库中的每个数据对象存储Ai包括索引文件Ai.idx文件和数据存储文件Ai.bin文件;将待存储的小文件对象以数据流的方式存储到数据对象存储库中的方法为:a)客户端获取待写入小文件对象的信息,生成对应的文件对象键Fk;b)从元数据库中获取当前写活跃数据对象存储块Ai、当前Ai的存储偏移量Aiki;c)生成校验信息头head和尾tail、计算包裹头尾信息的文件对象存储长度size;d)将包裹头尾校验信息的数据“head/file/tail”追加写入Ai.bin文件;file为小文件对象;e)将该小文件对象的起始存储起始位置offset、存储长度size、访问时刻atime写入到元数据库中生成该小文件对象的标识信息“FK:Ai/offset/size/atime”;f)把小文件对象的小文件对象标识写入Ai.idx;g)更新写活跃数据对象存储块Ai、更新存储偏移量Aiki到元数据库;当Aiki小于设定的文件对象存储块阈值K时,保持写活跃数据对象存储块的地址Ai;当Aiki大于或等于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。进一步的,步骤2)中,读取所述小文件对象的方法为:21)客户端获取请求读取小文件对象的文件对象信息,生成对应的小文件对象信息键FK;22)查询缓存数据库中是否存在FK的缓存小文件对象;如果不存在,则从元数据库中查询取出FK对应的小文件对象位置信息以及FK的关联数据获取规则;23)根据所述关联数据获取规则从元数据库获取与当前所请求小文件对象的关联文件对象位置信息;24)根据所请求读取小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中;25)更新所请求读取小文件对象的最新访问时间到元数据库和数据对象存储库。进一步的,如果所述数据类型为地理数据,则所述关联数据获取规则为对当前所请求读取小文件对象上下左右若干片数据进行预先读取;如果所述数据类型为基因数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一物种数据进行预先读取;如果所述数据类型为物候数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一地点数据进行预先读取。进一步的,当一数据对象存储块的利用率小于设定阈值j时,则将该数据对象存储块中的小文件对象逐一追本文档来自技高网
...

【技术保护点】
1.一种小文件对象的存取方法,其步骤包括:/n1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元数据库和数据对象存储库的索引文件中;/n2)当客户端请求读取所述小文件对象时,根据所请求小文件对象的元数据信息查询缓存数据库,如果存在对应的小文件对象则直接返回该小文件对象;否则根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象位置信息和数据类型,其中每一数据类型设置一对应的关联数据获取规则,所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;然后根据所请求小文件对象的数据类型获取对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。/n

【技术特征摘要】
1.一种小文件对象的存取方法,其步骤包括:
1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元数据库和数据对象存储库的索引文件中;
2)当客户端请求读取所述小文件对象时,根据所请求小文件对象的元数据信息查询缓存数据库,如果存在对应的小文件对象则直接返回该小文件对象;否则根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象位置信息和数据类型,其中每一数据类型设置一对应的关联数据获取规则,所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;然后根据所请求小文件对象的数据类型获取对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。


2.如权利要求1所述的方法,其特征在于,所述小文件对象标识信息为一键值对,其中以小文件对象信息为键,以小文件对象在数据对象存储库中的数据对象存储块地址、起始存储位置、存储长度、访问时刻和小文件对象类型关联规则编号作为值。


3.如权利要求1或2所述的方法,其特征在于,所述元数据库中存储小文件对象的数据类型和所述关联数据获取规则;所述元数据库中设置的参数包括文件存储块阈值K、写活跃数据对象存储块地址Ai及其存储偏移量Aiki。


4.如权利要求3所述的方法,其特征在于,当在写活跃数据对象存储块上做追加写入时,每写入一个文件对象的元数据信息,更新当前写活跃数据对象存储块的存储偏移量Aiki,当Aiki大于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。


5.如权利要求3所述的方法,其特征在于,所述数据对象存储库中的每个数据对象存储块Ai包括索引文件Ai.idx文件和数据存储文件Ai.bin文件;将待存储的小文件以数据流的方式存储到数据对象存储库中的方法为:
a)客户端获取待写入小文件对象的信息,生成对应的文件对象键Fk;
b)从元数据库中获取当前写活跃数据对象存储块Ai、当前Ai的存储偏移量ki;
c)生成校验信息头head和尾tail、计算包裹头尾信息的文件对象存储长度size;
d)将包裹头尾校验信息的数据“head/file/tail”追加写入Ai.bin文件;file为小文件对象;
e)将该小文件对象的起始存储起始位置offset、存储长度size、访问时刻atime写入到元数据库中生成该小文件对象的标识信息“FK:Ai/offset/size/atime”;
f)把小文件对象的小文件对象标识信息写入Ai.idx;
g)更新写活跃数据对象存储块Ai、更新存储偏移...

【专利技术属性】
技术研发人员:孟珍王学志周小华周园春
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1