首页 / 专利库 / 资料储存系统 / 数据存储库 / 一种小文件对象的存取方法和装置

一种小文件对象的存取方法和装置

阅读:208发布:2020-05-08

专利汇可以提供一种小文件对象的存取方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种小文件对象的存取方法和装置,其步骤为:1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元 数据库 和数据对象存储库的索引文件中;2)当客户端 请求 读取所述小文件对象时,根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象 位置 信息和对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。,下面是一种小文件对象的存取方法和装置专利的具体信息内容。

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、更新存储偏移量Aiki到元数据库;当Aiki小于设定的文件对象存储块阈值K时,保持写活跃数据对象存储块的地址Ai;当Aiki大于或等于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。
6.如权利要求3所述的方法,其特征在于,步骤2)中,读取所述小文件对象的方法为:
21)客户端获取请求读取小文件对象的文件对象信息,生成对应的位置信息键FK;
22)查询缓存数据库中是否存在FK的缓存小文件对象;如果不存在,则从元数据库中查询取出FK对应的小文件对象位置信息以及FK的关联数据获取规则;
23)根据所述关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;
24)根据所请求读取小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中;
25)更新所请求读取小文件对象的最新访问时间到元数据库和数据对象存储库。
7.如权利要求1或6所述的方法,其特征在于,如果所述数据类型为地理数据,则所述关联数据获取规则为对当前所请求读取小文件对象上下左右若干片数据进行预先读取;如果所述数据类型为基因数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一物种数据进行预先读取;如果所述数据类型为物候数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一地点数据进行预先读取。
8.如权利要求1所述的方法,其特征在于,当一数据对象存储块的利用率小于设定阈值j时,则将该数据对象存储块中的小文件对象逐一追加写到当前写活跃数据对象存储块上,并更新元数据库中的信息。
9.一种小文件对象的存取装置,其特征在于,包括数据对象存储库、元数据库和缓存数据库;其中,
所述数据对象存储库中的每个数据对象存储块Ai包括索引文件Ai.idx文件和数据存储文件Ai.bin文件;索引文件Ai.idx文件,用于存储数据存储Ai中所写入小文件对象的索引信息,文件Ai.bin文件用于存储数据存储Ai中所写入小文件对象;
所述元数据库,用于存储写入所述数据对象存储库中的小文件对象的文件对象标识信息和若干关联数据获取规则;所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;
所述缓存数据库,用于存储客户端请求读取过的小文件对象数据及请求读取下文件对象的索引信息。
10.如权利要求9所述的装置,其特征在于,如果所述数据类型为地理数据,则所述关联数据获取规则为对当前所请求读取小文件对象上下左右若干片数据进行预先读取;如果所述数据类型为基因数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一物种数据进行预先读取;如果所述数据类型为物候数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一地点数据进行预先读取。

说明书全文

一种小文件对象的存取方法和装置

技术领域

[0001] 本发明属于应用信息学技术领域,具体涉及一种小文件对象的存取方法和装置,主要应用于科学领域小文件的存取。

背景技术

[0002] 随着仪器发展和大数据技术的进步,科学领域的数据量极具膨胀,在很多的应用领域是以小文件形式进行存储和关联数据的快速使用。如在分子生物数据应用方面,以基本的核酸序列为例,截至2018年4月统计的数字,GenBank超过10亿个序列记录,其中包括2.08亿个传统记录,6.21亿个WGS记录,2.44亿个TSA记录和1500万个TLS记录。在基对中,GenBank继续以每年约40%的速度增长(参考Eric W Sayers,Mark Cavanaugh,Karen Clark,James Ostell,Kim D Pruitt,Ilene Karsch-Mizrachi,GenBank,Nucleic Acids Research,Volume 47,Issue D1,08January 2019,Pages D94–D99);又如在遥感数据的具体应用中,会生成大量的缩略图,也是以一小文件的方式进行使用,并要求能够进行实时存取和web呈现(参考Wang,X.,Zhao,J.,Zhou,Y.and Li,J.,2014.The Geospatial Data Cloud:An Implementation of ApplyingCloud Computing in Geosciences.Data Science Journal,13,pp.254–264.)。再如越来越多的野外物候相机和气象视频观测站等也同样要面对海量图片文件在长时间序列和空间尺度的取用问题(参考Beyond leaf color:Comparing camera-based phenological metrics with leaf biochemical,biophysical,and spectral properties throughout the growing season of a temperate deciduous forest.Yang,Xi,Tang,Jianwu,Mustard,John F.Journal of Geophysical Research.Biogeosciences.2014(3))。
[0003] 由此,针对科学数据小文件的快速取用,需要提供一种科学数据小文件对象的存取方法和装置,从而满足科学数据小文件的快速取用需要。

发明内容

[0004] 本发明的目的在于提供一种科学数据小文件对象的存取方法和装置。本发明经由数据逐级缓存、元数据标识、数据对象分、异步维护的方式,可以通过唯一标识方法进行小文件对象数据的快速取用。
[0005] 本发明的技术方案为:
[0006] 一种小文件对象的存取方法,其步骤包括:
[0007] 1)将待存储的小文件对象以数据流的方式存储到数据对象存储库中,并将所述小文件对象的小文件对象标识信息写入元数据库和数据对象存储库的索引文件中;
[0008] 2)当客户端请求读取所述小文件对象时,根据所请求小文件对象的元数据信息查询缓存数据库,如果存在对应的小文件对象则直接返回该小文件对象;否则根据所请求小文件对象的元数据信息查询元数据库获取所请求小文件对象的文件对象位置信息和数据类型,其中每一数据类型设置一对应的关联数据获取规则,所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;然后根据所请求小文件对象的数据类型获取对应的关联数据获取规则;然后根据关联数据获取规则从元数据库获取与当前所请求小文件对象的关联小文件对象位置信息;然后根据所请求小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中。
[0009] 进一步的,所述小文件对象标识信息为一键值对,其中以小文件对象信息为键,以小文件对象在数据对象存储库中的数据对象存储块地址、起始存储位置、存储长度、访问时刻和小文件对象类型关联规则编号作为值。
[0010] 进一步的,所述元数据库中存储小文件对象的数据类型和所述关联数据获取规则;所述元数据库中设置的参数包括数据对象存储块阈值K、写活跃数据对象存储块地址Ai及其存储偏移量Aiki。
[0011] 进一步的,当在写活跃数据对象存储块上做追加写入时,每写入一个文件对象的元数据信息,更新当前写活跃数据对象存储块的存储偏移量Aiki,当Aiki大于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。
[0012] 进一步的,所述数据对象存储库中的每个数据对象存储Ai包括索引文件Ai.idx文件和数据存储文件Ai.bin文件;将待存储的小文件对象以数据流的方式存储到数据对象存储库中的方法为:
[0013] a)客户端获取待写入小文件对象的信息,生成对应的文件对象键Fk;
[0014] b)从元数据库中获取当前写活跃数据对象存储块Ai、当前Ai的存储偏移量Aiki;
[0015] c)生成校验信息头head和尾tail、计算包裹头尾信息的文件对象存储长度size;
[0016] d)将包裹头尾校验信息的数据“head/file/tail”追加写入Ai.bin文件;file为小文件对象;
[0017] e)将该小文件对象的起始存储起始位置offset、存储长度size、访问时刻atime写入到元数据库中生成该小文件对象的标识信息“FK:Ai/offset/size/atime”;
[0018] f)把小文件对象的小文件对象标识写入Ai.idx;
[0019] g)更新写活跃数据对象存储块Ai、更新存储偏移量Aiki到元数据库;当Aiki小于设定的文件对象存储块阈值K时,保持写活跃数据对象存储块的地址Ai;当Aiki大于或等于K时,将待写入的小文件对象写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1,并赋值Ai+1的存储偏移量Ai+1ki+1为0。
[0020] 进一步的,步骤2)中,读取所述小文件对象的方法为:
[0021] 21)客户端获取请求读取小文件对象的文件对象信息,生成对应的小文件对象信息键FK;
[0022] 22)查询缓存数据库中是否存在FK的缓存小文件对象;如果不存在,则从元数据库中查询取出FK对应的小文件对象位置信息以及FK的关联数据获取规则;
[0023] 23)根据所述关联数据获取规则从元数据库获取与当前所请求小文件对象的关联文件对象位置信息;
[0024] 24)根据所请求读取小文件对象的小文件对象位置信息和关联小文件对象位置信息从数据对象存储库中获取对应数据返回给客户端并存储到缓存数据库中;
[0025] 25)更新所请求读取小文件对象的最新访问时间到元数据库和数据对象存储库。
[0026] 进一步的,如果所述数据类型为地理数据,则所述关联数据获取规则为对当前所请求读取小文件对象上下左右若干片数据进行预先读取;如果所述数据类型为基因数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一物种数据进行预先读取;如果所述数据类型为物候数据,则所述关联数据获取规则为对当前所请求读取小文件对象同一地点数据进行预先读取。
[0027] 进一步的,当一数据对象存储块的利用率小于设定阈值j时,则将该数据对象存储块中的小文件对象逐一追加写到当前写活跃数据对象存储块上,并更新元数据库中的信息。
[0028] 一种小文件对象的存取装置,其特征在于,包括数据对象存储库、元数据库和缓存数据库;其中,
[0029] 所述数据对象存储库中的每个数据对象存储块Ai包括索引文件Ai.idx文件和数据存储文件Ai.bin文件;索引文件Ai.idx文件,用于存储数据存储Ai中所写入小文件对象的索引信息,文件Ai.bin文件用于存储数据存储Ai中所写入小文件对象;
[0030] 所述元数据库,用于存储写入所述数据对象存储库中的小文件对象的文件对象标识信息和若干关联数据获取规则;所述关联数据获取规则中根据数据类型设置所请求读取小文件对象的关联数据读取规则;
[0031] 所述缓存数据库,用于存储客户端请求读取过的小文件对象数据及请求读取下文件对象的索引信息。
[0032] 本装置主要包括数据对象存储库、元数据库和缓存数据库,数据对象存储库是由若干大于或等于固定阈值K(例如K=200M)的文件对象存储块(.bin)及对应的索引文件(.idx)组成;元数据库采用支持持久化存储的Key/Value数据库实现,负责存储小文件对象标识和索引附加信息;缓存数据库是基于lru数据淘汰策略内存缓存,实现高频访问的小文件对象内存驻留。
[0033] 小文件对象的数据内容以数据流的方式存储到数据对象存储库中;小文件对象的标识信息分别写入元数据库和数据对象存储块的索引文件;文件的存储块地址和每个小文件对象的起始读写地址均保存元数据库中,在访问小文件对象数据时定位使用。小文件对象的存取过程是元数据信息和小文件对象实体信息分别从缓存数据库、元数据库和数据对象存储库中的存取,其中:
[0034] A.元数据库中,小文件对象的文件对象标识以小文件对象的键值对形式记录,其中小文件对象信息为键,存储小文件对象在数据对象存储库中的数据对象存储块地址、起始存储位置、存储长度、访问时刻和小文件对象类型关联规则编号作为值。
[0035] a)元数据库中保存小文件对象类型关联规则编号和其关联数据获取规则;
[0036] i.如f1为在地理数据小文件对象类型的应用中,对此小文件对象上下左右8片数据进行预先读取;
[0037] ii.如f2为在基因数据小文件对象类型的应用中,对此小文件对象同一物种数据预先读取;
[0038] iii.如f3为在物候数据小文件对象类型的应用中,对此小文件对象同一地点数据预先读取;
[0039] b)元数据库中保存设置的初始条件:文件对象存储块阈值K、写活跃数据对象存储块地址Ai和其存储偏移量Aiki;
[0040] c)在写活跃数据对象存储块上做追加写入时,
[0041] i.每写一个小文件对象更新当前“写活跃数据对象存储块”的存储偏移量Aiki;
[0042] ii.在Aiki大于K时,写入一个新的数据对象存储块,并在元数据库中更新写活跃数据对象存储块地址Ai+1(Ai+1为新的数据对象存储块的地址),并赋值Ai+1的存储偏移量Ai+1ki+1为0。
[0043] B.数据对象存储库中,每个数据对象存储块由索引.idx文件和.bin组成。
[0044] a)每个写入小文件对象的小文件对象标识追加写入到.idx文件中;
[0045] b)每个写入小文件对象的实体数据在包裹头尾信息后追加写入.bin文件。
[0046] 本发明是通过如下的技术方案进行的:
[0047] 1.小文件对象写步骤是小文件对象写入小文件对象存储装置的过程,具体步骤描述如下:
[0048] a)客户端获取将写入小文件对象的信息,生成对应的小文件对象键Fk;Fk包括文件编号、文件属性等信息;比如在地理小文件对象中:layerid/z/y/x/png,就包含图层编号/高度编号/纵轴编号/横轴编号;在基因小文件对象中:accessin/sicencename/ns,就包含基因文件接受号/物种科学名称/数据来源;
[0049] b)从元数据库中获取当前写活跃数据对象存储块Ai、当前Ai的存储偏移量ki;
[0050] c)应用CRC(循环冗余校验)方法生成校验信息头head和尾tail、计算包裹头尾信息的小文件对象存储长度size;
[0051] d)将包裹头尾校验信息的数据“head/file/tail”追加写入Ai的Ai.bin文件;Ai.bin文件是用来存储包裹了头尾信息的小文件对象实体内容的二进制压缩文件,同一Ai.bin文件中会有多个小文件对象;
[0052] e)将该小文件对象的起始存储起始位置offset、存储长度size、访问时刻atime写入到元数据库中生成该小文件对象的文件对象标识信息“FK:Ai/offset/size/atime”;
[0053] f)把小文件对象的标识信息中的FK写入Ai文件块的Ai.idx;
[0054] g)更新写活跃数据对象存储块Ai、更新存储偏移量Aiki到元数据库,进一步判断是否更新写活跃数据对象存储块的地址Ai;
[0055] i.当Aiki小于设定的数据对象存储块阈值K时,保持写活跃数据对象存储块的地址Ai;
[0056] ii.当Aiki大于或等于K时,小文件对象写入一个新的存储块,并更新元数据库中的写活跃数据对象存储块的地址Ai+1,并记录其存储偏移量Ai+1ki+1的值为0。
[0057] 2.小文件对象删步骤是客户端获取删除小文件对象信息,生成对应的小文件对象信息键值FK,在元数据库中删除相应元数据信息。
[0058] 3.小文件对象获取步骤是从小文件对象存储装置取出小文件对象数据的过程,具体步骤描述如下:
[0059] a)客户端获取请求小文件对象信息,生成对应的小文件对象信息键FK;
[0060] b)去缓存数据库中查询是否存在FK的缓存小文件对象,
[0061] i.如缓存数据库存在FK,直接从缓存数据库中取出FK对应的小文件对象;
[0062] ii.如缓存数据库中不存在FK,
[0063] 1.去元数据库中查询取出FK对应的小文件对象位置信息;
[0064] 2.去元数据库中查询取出:
[0065] a)FK的关联数据获取规则;
[0066] i.如在地理数据的应用中,对此小文件对象上下左右8片数据进行预先读取;
[0067] ii.如在基因数据的应用中,对此小文件对象同一物种数据预先读取;
[0068] iii.如在物候数据的应用中,对此小文件对象同一地点数据预先读取;
[0069] b)根据关联数据获取规则从元数据库中取出相关关联小文件对象键FK及其小文件对象位置信息;
[0070] i.如“地理f1”的规则是把请求小文件对象的上下左右的周围8片的键;
[0071] ii.如请求小文件对象“layerid/z/y/x/地理f1”的关联数据的键为[“layerid/z/y+1/x”、“layerid/z/y-1/x”、“layerid/z/y+1/x+1”、“layerid/z/y/x+1”、“layerid/z/y-1/x+1”、“layerid/z/y+1/x-1”、“layerid/z/y/x-1”、“layerid/z/y-1/x-1”],追加入取数据队列。
[0072] iii.依据小文件对象位置信息从数据对象存储库中取出小文件对象返回客户端,同时存储到缓存数据库中。
[0073] iv.更新小文件对象的最新访问时间到元数据库和数据对象存储库。
[0074] 所述从元数据库中查询取出小文件对象位置信息的方法,是指根据FK去元数据库中查询FK的Value,即得到Ai/offset/size/atime。
[0075] 4.小文件对象维护步骤是指小文件对象存储装置进行定期清理:一是数据对象存储库中的小文件对象清理,即删除过期数据和已更新存储位置的数据;二是数据对象存储库的存储利用率低的存储块的清理。
[0076] a)定时维护的参数包括:定时任务启动时间T、小文件对象过期时间阈值t、存储块有效小文件对象占比阈值j。
[0077] b)判断小文件对象已从数据对象存储库中删除掉的条件:
[0078] i.超出设定阈值的存储时间(当时系统时间-atime)大于t的小文件对象,即已过期小文件对象;
[0079] ii.只在数据对象存储库的.idx中有记录,在元数据中没记录的小文件对象,即已更新小文件对象;
[0080] c)判断存储块从数据对象存储库中清理的条件:
[0081] i.数据对象存储库中的数据对象存储块利用率(现有存储小文件对象总和/K)小于j;
[0082] d)满足上述b)或c)所述条件的数据对象存储块,将该数据对象存储块中的相关小文件对象逐一追加写到当前“写活跃数据对象存储块”上,并更新元数据库中的信息。
[0083] 与现有技术相比,本发明的积极效果为:
[0084] 本发明针对科研数据分析应用中,小文件数量大、关联数据取用多的特点,提供一种科学数据小文件对象的存取方法和装置,科学小文件对象数据的存储采用异步尾部添加写入,支持数据对象生命周期管理;科学小文件对象数据的读取采用关联数据的同步读取(即不仅读取请求的数据,还同时读取与请求数据相关的数据),支持高并发和缓存;科学小文件对象数据的删除采用标记快速删除,数据定期清理维护。经由数据逐级缓存、元数据标识、数据对象分块、异步维护的方式,可以通过唯一标识方法进行小文件对象数据的快速取用。附图说明
[0085] 图1是实施例中一种小文件对象装置组成和主数据流图;
[0086] 图2是实施例中一种小文件对象装置存步骤流程图
[0087] 图3是实施例中一种小文件对象装置取步骤流程图。

具体实施方式

[0088] 下面通过具体实施例,并配合附图、附表与举例数据,对本发明做进一步的说明。
[0089] 本实施例所述的一种小文件对象装置主要由数据对象存储库、元数据库和缓存数据库组成,其系统模块构成和主数据流程如图1所示。
[0090] A.元数据库中,以小文件对象描述信息为键FK,存储小文件对象的在数据对象存储库中的地址Ai、起始存储位置ki、存储长度size、访问时刻atime作为值。
[0091] a)元数据库中保存小文件对象类型和其关联数据获取规则,供在相关数据类型获取时查询使用;
[0092] i.如在地理数据的应用中,对此小文件对象上下左右8片数据进行预先读取;
[0093] ii.如在基因数据的应用中,对此小文件对象同一物种数据预先读取;
[0094] iii.如在物候数据的应用中,对此小文件对象同一地点数据预先读取;
[0095] b)元数据库中保存设置的初始条件,供在存数据时查询使用:数据对象存储块阈值K,如[20M]、写活跃数据对象存储块地址Ai,如[32]和其存储偏移量Aiki,如[2048];
[0096] c)在写活跃数据对象存储块上做追加写入时,每写一个小文件对象更新当前“写活跃数据对象存储块”的存储偏移量Aiki;
[0097] d)在Aiki大于K时,写入一个新的文件块,并在元数据库中更新写活跃数据对象存储块地址Ai。
[0098] B.数据对象存储库中,每个文件块由索引.idx文件和.bin组成。
[0099] a)每个写入小文件对象的小文件对象标识信息追加写入到.idx文件中;
[0100] b)每个写入小文件对象的实体数据在包裹头尾信息后追加写入.bin文件中;
[0101] 本实施例是通过如下的技术方案进行的:
[0102] 1.小文件对象存步骤是小文件对象写入小文件对象存储装置的过程,其流程如图2所示,具体步骤描述如下:
[0103] a)客户端获取将写入小文件对象的信息,生成对应的小文件对象键值Fk,如[26hnzzzk6br9lk90];
[0104] b)从元数据库中获取当前写活跃数据对象存储块Ai,如[2]、存储偏移量ki,如[1024];
[0105] c)生成头检验信息head,如[0x98d220bc],和尾校验信息tail,如[0x1adad47d]、计算包裹头尾信息的小文件对象存储长度size,如[2748];
[0106] d)追加包裹头尾校验新的数据写入Ai的Ai.bin;
[0107] e)返回该小文件对象的起始存储起始位置offset,如[1024]、存储长度size、访问时刻atime写入到元数据库中“FK:Ai/offset/size/atime”,如[26hnzzzk6br9lk90:2/1024/2748/2019-10-11 07:20:01]。
[0108] f)把小文件对象的标识信息FK写入Ai文件块的Ai.idx;
[0109] g)更新写活跃数据对象存储块Ai、更新存储偏移量ki到元数据库。
[0110] i.当Aiki小于K时,更新记录存储偏移量为ki的值,如[3772];
[0111] ii.当Aiki大于等于K时,小文件对象写入一个新的存储块,并更新元数据库中的写活跃文件块的地址Ai+1,并记录其存储偏移量Ai+1ki+1的值为0。
[0112] 2.小文件对象删步骤是客户端获取删除小文件对象信息,生成对应的小文件对象信息键值FK,在元数据库中删除相应元数据信息。
[0113] 3.小文件对象取步骤是从小文件对象存储装置取出小文件对象数据的过程,其流程如图3所示,具体步骤描述如下:
[0114] a)客户端获取请求小文件对象信息,生成对应的位置信息键值FK,以地理信息为例的键值如:[数据集/图层/高/横编号/纵编号/关联数据获取规则(layerid/z/y/x/地理f1)]。
[0115] b)去缓存数据库中查询是否存在FK的缓存小文件对象,
[0116] i.如缓存数据库存在FK,直接从缓存数据库中取出FK对应的小文件对象;
[0117] ii.如缓存数据库中不存在FK,
[0118] 1.去元数据库中查询取出FK小文件对象位置信息;
[0119] 2.去元数据库中查询取出:
[0120] a)FK的关联数据获取规则;
[0121] i.如“地理f1”的规则是把请求小文件对象的上下左右的周围8片的键;
[0122] ii.如请求小文件对象“layerid/z/y/x/地理f1”的关联数据的键为[“layerid/z/y+1/x”、“layerid/z/y-1/x”、“layerid/z/y+1/x+1”、“layerid/z/y/x+1”、“layerid/z/y-1/x+1”、“layerid/z/y+1/x-1”、“layerid/z/y/x-1”、“layerid/z/y-1/x-1”],追加入取数据队列。
[0123] b)根据关联数据获取规则取出关联小文件对象键和小文件对象位置信息;
[0124] iii.依据小文件对象位置信息从数据对象存储库中取出小文件对象返回客户端,同时存储到缓存数据库中。
[0125] iv.更新小文件对象的最新访问时间到元数据库和数据对象存储库。
[0126] 所述从元数据库中查询取出小文件对象位置信息的方法,是指根据FK去元数据库中查询FK的Value,即得到Ai/offset/size/atime。
[0127] 4.小文件对象维护步骤是指小文件对象存储装置进行定期清理:一是数据对象存储库中的小文件对象清理,即删除过期数据和已更新存储位置的数据;二是数据对象存储库的存储利用率低的存储块的清理。
[0128] a)定时维护的参数包括:定时任务启动时间T、小文件对象过期时间阈值t、存储块有效小文件对象占比阈值j。
[0129] b)判断小文件对象已从数据对象存储库中删除掉的条件:
[0130] i.超出设定阈值的存储时间(当前系统时间-atime)大于t的小文件对象,即已过期小文件对象;
[0131] ii.只在数据对象存储库的.idx中有记录,在元数据中没记录的小文件对象,即已更新小文件对象;
[0132] c)判断存储块从数据对象存储库中清理的条件:
[0133] iii.现有存储小文件对象块利用率(现有存储小文件对象总和/K)小于j;
[0134] d)满足以上所说条件,就从所在存储文件块中把相关小文件对象逐一追加写到当前“写活跃存储块”上,并更新元数据库中的相关元数据信息。
[0135] 以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈