一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

将逻辑资源写入SMR盘的方法、装置、电子设备及存储介质与流程

2022-03-26 02:24:44 来源:中国专利 TAG:

将逻辑资源写入smr盘的方法、装置、电子设备及存储介质
技术领域
1.本发明涉及存储技术领域,尤其涉及一种将逻辑资源写入smr盘的方法、 装置、电子设备及存储介质。


背景技术:

2.叠瓦式磁记录(shingled magnetic recording,简称smr)盘的盘片上的各 磁道就像屋顶上的瓦片一样部分重叠,和传统磁盘相比,smr盘可以在盘片上 容纳更多的磁道,因此,smr盘的存储密度更高,单个磁盘的存储容量也更大, 因此,smr盘被越来越多地应用于数据存储。
3.smr盘包括smr区,smr区包括多个被物理隔开、互不影响的存储区域, 各存储区域用于供客户端创建的逻辑资源写入,各个存储区域的磁道分布方式 为叠瓦式,smr区的同一个存储区域内只支持顺序写入。现有技术中,当不同 客户端将逻辑资源写入同一个存储区域时,各个客户端需要按顺序依次将逻辑 资源写入smr盘。
4.然而,若各个客户端按顺序依次将逻辑资源写入smr盘,客户端常常需 要进行等待,即前一个客户端完成写入后,后一个客户端才可以开始写入,若 前一个客户端还未完成写入,后一个客户端就开始写入,会导致第二个客户端 写入失败,这样,各个客户端可能无法及时将逻辑资源写入smr盘。


技术实现要素:

5.本技术的目的是提供一种将逻辑资源写入smr盘的方法、装置、电子设 备及存储介质,以使得当不同客户端将逻辑资源写入smr区的同一个存储区 域时,各个客户端能够同时将逻辑资源写入smr盘,从而使各个客户端更及 时地将逻辑资源存储在smr盘上。本技术采用如下技术方案实现:
6.第一方面,本技术实施例提供了一种将逻辑资源写入smr盘的方法,所 述smr盘包括smr区,所述smr区包括第一存储区域,其中,所述第一存 储区域用于供多个逻辑资源写入,所述多个逻辑资源包括第一逻辑资源和第二 逻辑资源,且所述第一逻辑资源是写入顺序位于所述第二逻辑资源之前的至少 一个逻辑资源中的任意一个,所述方法包括:
7.确定所述第一逻辑资源正在写入所述第一存储区域;
8.将待存储的所述第二逻辑资源写入第二存储区域,其中,所述第二存储区 域为:所述smr盘中除所述第一存储区域以外的区域。
9.使用本技术提供的方案,第二客户端向第一存储区域写入第二逻辑资源时, 若第一客户端正在向第一存储区域写入第一逻辑资源,可以将第二客户端创建 的第二逻辑资源先写入第二存储区域,这样,第二客户端可以在无需等待的情 况下及时将逻辑资源写入smr盘,使得当不同客户端在将逻辑资源存储在同 一个存储区域时,各个客户端可以同时向smr盘写入逻辑资源。
10.可选的,所述方法还包括:
11.确定所述第一存储区域的待写入位置与为所述第二逻辑资源分配的存储空 间的起始位置相同;
12.将所述第二逻辑资源存储至所述第一存储区域。
13.确定了第一存储区域的待写入位置与分配给第一客户端创建的第一逻辑资 源的存储空间的起始位置相同,说明此时轮到第一逻辑资源写入第一存储区域, 此时,再将第二存储区域内存储的第一逻辑资源存储至第一存储区域,使得第 一逻辑资源最终能够写入到为其分配的存储空间。
14.可选的,所述确定所述第一存储区域的待写入位置与为所述第二逻辑资源 分配的存储空间的起始位置相同,包括:
15.确定最后的逻辑资源完成写入所述第一存储区域,其中,为所述最后的逻 辑资源分配的存储空间的终止位置与为所述第二逻辑资源分配的存储空间的起 始位置相同;
16.确定所述第一存储区域的待写入位置与为所述第二逻辑资源分配的存储空 间的起始位置相同。
17.通过确定最后的逻辑资源完成写入第一存储区域,可以快速、方便地确定 出第一存储区域的待写入位置与为第二逻辑资源分配的存储空间的起始位置相 同。
18.可选的,在所述将所述第二逻辑资源存储至所述第一存储区域之前,所述 方法还包括:
19.确定所述第二逻辑资源完成写入所述第二存储区域。
20.当第二逻辑资源完成写入第二存储区域后再存储至第一存储区域,可以减 少第二逻辑资源写入第一存储区域时的数据丢失、中断等现象。
21.可选的,所述方法还包括:
22.建立映射关系,所述映射关系用于指示所述第二逻辑资源在所述第二存储 区域的存储位置以及为所述第二逻辑资源分配的存储空间;
23.所述将所述第二逻辑资源存储至所述第一存储区域,包括:
24.根据所述映射关系,将所述存储位置处存储的逻辑资源存储至所述存储空 间。
25.本实施方式建立上述映射关系后,可以根据建立的映射关系进行逻辑资源 的准确回迁。
26.可选的,所述确定所述第一逻辑资源正在写入所述第一存储区域,包括:
27.确定为所述第二逻辑资源分配的存储空间的起始位置与所述第一存储区域 的待写入位置不同;
28.确定待存储的所述第二逻辑资源写入所述第一存储区域失败;
29.确定所述第一逻辑资源正在写入所述第一存储区域。
30.若第二逻辑资源写入第一存储区域失败,说明有其他逻辑资源正在写入第 一存储区域,通过确定待存储的第二逻辑资源写入第一存储区域失败的方式, 可以快速、方便地确定出第一逻辑资源正在写入第一存储区域。
31.可选的,所述smr盘还包括:传统磁记录cmr区,所述第二存储区域包 括:所述cmr区中用于暂时存储待存储的逻辑资源的区域。
32.由于cmr区支持随机写,所以待存储的逻辑资源可以随机写入cmr区中 的用于暂时存储待存储的逻辑资源的区域,将各个待存储的逻辑资源写入cmr 区中也可以有效利用
cmr的空间,减少空间浪费。
33.可选的,所述smr区还包括至少一个暂存区域,所述暂存区域为:所述 smr区中用于暂时存储待存储的逻辑资源的存储区域,所述第二存储区域还包 括:各所述暂存区域。
34.将smr区中的部分存储区域也作为第二存储区域来暂时存储待存储的逻 辑资源,可以增加第二存储区域的容量,从而可以增加第二存储区域能够暂时 存储的待存储的逻辑资源的数量,进一步减少了待存储的逻辑资源在客户端滞 留的现象。
35.可选的,所述将待存储的所述第二逻辑资源写入第二存储区域,包括:
36.判断所述cmr区中用于暂时存储待存储的逻辑资源的区域中空闲区域的 大小是否不小于所述第二逻辑资源的大小;
37.若不小于,将所述第二逻辑资源写入所述cmr区中用于暂时存储待存储 的逻辑资源的区域;
38.若小于,判断各所述暂存区域中是否存在空闲的存储区域;
39.若存在空闲的存储区域,将所述第二逻辑资源写入各所述暂存区域中空闲 的存储区域。
40.由于cmr区支持随机写,空间利用率高,所以优先将第二逻辑资源写入 cmr区中,当cmr区中用于暂时存储待存储的逻辑资源的区域的空闲区域不 足以存放第二逻辑资源时,再将第二逻辑资源写入暂存区域中空闲的存储区域, 这样,既可以有效利用cmr区的空间,又可以将第二逻辑资源及时写入smr 盘。
41.第二方面,本技术实施例提供了一种将逻辑资源写入smr盘的装置,所 述smr盘包括smr区,所述smr区包括第一存储区域,其中,所述第一存 储区域用于供多个逻辑资源写入,所述多个逻辑资源包括第一逻辑资源和第二 逻辑资源,且所述第一逻辑资源是写入顺序位于所述第二逻辑资源之前的至少 一个逻辑资源中的任意一个,所述装置包括:
42.写入确定单元,用于确定所述第一逻辑资源正在写入所述第一存储区域;
43.数据写入单元,用于将待存储的所述第二逻辑资源写入第二存储区域,其 中,所述第二存储区域为:所述smr盘中除所述第一存储区域以外的区域。
44.可选的,所述装置还包括:
45.位置确定单元,用于确定所述第一存储区域的待写入位置与为所述第二逻 辑资源分配的存储空间的起始位置相同;
46.数据回迁单元,用于将所述第二逻辑资源存储至所述第一存储区域。
47.可选的,为所述第一逻辑资源分配的存储空间的终止位置与为所述第二逻 辑资源分配的存储空间的起始位置相同;
48.所述位置确定单元,具体用于:确定所述第一逻辑资源完成写入所述第一 存储区域,确定所述第一存储区域的待写入位置与为所述第二逻辑资源分配的 存储空间的起始位置相同。
49.可选的,所述装置还包括:
50.完成写入确定单元,用于确定所述第二逻辑资源完成写入所述第二存储区 域。
51.可选的,所述装置还包括:
52.映射建立单元,用于建立映射关系,所述映射关系用于指示所述第二逻辑 资源在所述第二存储区域的存储位置以及为所述第二逻辑资源分配的存储空间;
53.数据回迁单元,具体用于:根据所述映射关系,将所述存储位置处存储的 逻辑资源存储至所述存储空间。
54.可选的,所述写入确定单元,具体用于:确定为所述第二逻辑资源分配的 存储空间的起始位置与所述第一存储区域的待写入位置不同,确定待存储的所 述第二逻辑资源写入所述第一存储区域失败,确定所述第一逻辑资源正在写入 所述第一存储区域。
55.可选的,所述smr盘还包括:传统磁记录cmr区,所述第二存储区域包 括:所述cmr区中用于暂时存储待存储的逻辑资源的区域。
56.可选的,所述smr区还包括至少一个暂存区域,所述暂存区域为:所述 smr区中用于暂时存储待存储的逻辑资源的存储区域,所述第二存储区域还包 括:各所述暂存区域。
57.可选的,所述数据写入单元,包括:
58.第一区域判断子单元,判断所述cmr区中用于暂时存储待存储的逻辑资 源的区域中空闲区域的大小是否不小于所述第二逻辑资源的大小;
59.第一数据写入子单元,用于当所述第一区域判断子单元的判断结果为是时, 将所述第二逻辑资源写入所述cmr区中用于暂时存储待存储的逻辑资源的区 域;
60.第二存储区域判断子单元,用于当所述第一区域判断子单元的判断结果为 否时,判断各所述暂存区域中是否存在空闲的存储区域;
61.第二数据写入子单元,用于当所述第二存储区域判断子单元的判断结果为 是时,将所述第二逻辑资源写入各所述暂存区域中空闲的存储区域。
62.第三方面,本技术实施例还提供了一种电子设备,包括处理器、通信接口、 存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述 通信总线完成相互间的通信;
63.所述存储器,用于存放计算机程序;
64.所述处理器,用于执行所述存储器上所存放的程序时,实现第一方面任一 所述的方法步骤。
65.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机 可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一 方面任一所述的方法步骤。
附图说明
66.图1为cmr盘磁记录方式示意图;
67.图2为smr盘磁记录方式示意图;
68.图3为本技术实施例中smr盘在逻辑上进行区域划分的示意图;
69.图4为本技术实施例中提供的将逻辑资源写入smr盘的方法的第一种流 程示意图;
70.图5为本技术实施例中将第二逻辑资源写入第二存储区域的流程示意图;
71.图6为本技术实施例中提供的将逻辑资源写入smr盘的方法的第二种流 程示意图;
72.图7为本技术实施例中提供的确定第一存储区域的待写入位置与为第二逻 辑资源分配的存储空间的起始位置相同的方法流程示意图;
73.图8为本技术实施例中提供的将逻辑资源写入smr盘的方法的第五种流 程示意图;
74.图9为本技术实施例中各待存储的逻辑资源在smr盘存储状态的一种示 意图;
75.图10为本技术实施例中各待存储的逻辑资源在smr盘回迁方式的一种示 意图;
76.图11为本技术实施例中各待存储的逻辑资源在smr盘回迁方式的另一种 示意图;
77.图12为本技术实施例中提供的将逻辑资源写入smr盘的装置的一种结构 示意图;
78.图13为本技术实施例中提供的电子设备的一种结构示意图。
具体实施方式
79.下面将结合附图,对本技术中的技术方案进行描述。显然,所描述的实施 例仅仅是本技术一部分实施例,而不是全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
80.以下,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或 暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、
ꢀ“
第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
81.smr盘是一种采用新型磁存储技术的高容量磁盘。smr盘使用了叠瓦式 磁记录技术,盘片上的磁道就像屋顶上的瓦片一样部分重叠。叠瓦式磁记录技 术使得smr盘在制造工艺方面的变动非常微小,但却可以大幅提高相同的面 积内容纳的磁道数量,从而提高了磁盘存储密度。在数据量飞速增长的当今世 界,smr技术可以有效降低单位容量的磁盘存储成本,是未来高密度磁盘存储 技术的发展潮流。
82.图1是传统磁记录(conventional magnetic recording,简称cmr)盘磁记 录方式示意图,图2是smr盘磁记录方式示意图。
83.如图1、2所示,cmr盘的各个磁道垂直分布,各磁道之间存在间隔,cmr 盘写磁头的宽度大于读磁头的宽度。smr盘利用了磁盘读磁头宽度小于写磁头 的宽度这一特性,使后一条磁道部分覆盖前一条磁道,磁道中未被后一条磁道 覆盖的部分的宽度不小于读磁头的宽度,smr盘能够留给宽度较小的读磁头足 够的读取空间,便于随机读取。由于smr盘的后一条磁道覆盖了部分前一条 磁道,使得写磁头在写入数据时只能按照磁道顺序依次写入,因此,smr盘只 支持顺序写,不支持随机写,若进行随机写,所写磁道的数据会将下一磁道的 已写数据覆盖,造成已存数据的丢失。
84.smr盘通常包括cmr区和smr区。cmr区的磁道分布方式是传统的非 重叠磁道分布方式,创建cmr区的目的是使smr盘的cmr区具有随机写入 的能力,以便于对smr盘的属性信息、磁盘中所存储数据的属性信息等信息 进行记录,为了尽可能减小对smr盘存储密度的影响,cmr区在smr盘总 容量的占比较小,例如,cmr区在smr盘总容量的占比通常为1%。smr区 是smr盘中用于存储待存储的外部数据的区域,smr区在smr盘总容量的占 比较大,例如,smr区在smr盘总容量的占比通常为99%,以存储更多的待 存储的外部数据,smr区包括多个存储区域,各个存储区域被物理隔开、互不 影响,各个存储区域的磁道的分布方式为叠瓦式,每个存储区域的容量通常为 256兆,同一个存储区域内只支持数据的顺序写入,不支持随机写入,每个存 储区域内通常都有一个写指针,该写指针用于指示存储区域内当前待写入的位 置。
85.当客户端向smr区写入逻辑资源时,若客户端创建的逻辑资源不是存储 区域的容量的整数倍,为了使smr区被有效利用,可以使不同的客户端向同 一存储区域内写入逻辑资源,例如,存储区域的容量为256兆,客户端为摄像 机,摄像机拍摄的一段视频的大小为100兆,那么,该存储区域内在存储了摄 像机拍摄的100兆的视频数据后,还剩余156兆,这种情况下,还可以将其他 摄像机拍摄的视频存储到同一存储区域中。由于smr区的同一个存储区域内 只支持顺序写,所以,向同一存储区域存储逻辑资源的各个客户端需要按所分 配空间的顺序依次向smr盘写入逻辑资源,这样,客户端在向smr盘内写入 逻辑资源时常常需要进行等待,使得各个客户端无法及时将所创建的逻辑资源 存储在smr盘上。
86.因此,本技术实施例提供了一种逻辑资源写入smr盘的方法及装置,以 使得当不同客户端将逻辑资源写入smr区的同一个存储区域时,各个客户端 能够同时将逻辑资源写入smr盘,从而使各个客户端更及时地将逻辑资源存 储在smr盘上。
87.下面,首先对本技术实施例中的smr盘进行介绍。
88.本技术实施例中,smr盘包括smr区,smr区包括第一存储区域,第一 存储区域用于供多个逻辑资源写入,多个逻辑资源包括第一逻辑资源和第二逻 辑资源,且第一逻辑资源是写入顺序位于第二逻辑资源之前的至少一个逻辑资 源中的任意一个。
89.例如,第一逻辑资源可以是写入顺序位于第二逻辑资源之前、且与第二逻 辑资源相邻的逻辑资源,也可以是写入顺序位于第二逻辑资源之前、不与第二 逻辑资源相邻的逻辑资源。
90.上述第一逻辑资源、第二逻辑资源可以分别是第一客户端、第二客户端创 建的资源。在一种实施方式中,smr区包含的各存储区域可以全部用于供各个 客户端创建的逻辑资源写入,这种情况下,第一存储区域可以是smr区中的 任一存储区域。在另一种实施方式中,smr区包含的各存储区域也可以部分用 于供各个客户端创建的逻辑资源写入,这种情况下,第一存储区域可以是smr 区中的用于供各个客户端创建的逻辑资源写入的存储区域中的任一存储区域。
91.本技术中,可以对smr盘在逻辑上进行区域划分,还可以给所划分的各 个区域添加标识信息,例如,如图3所示,可以将smr区中不用于供各个客 户端创建的逻辑资源写入的存储区域组成的区域标记为c区,将smr区中用 于供各个客户端创建的逻辑资源写入的存储区域组成的区域标记为d区,可以 将cmr区进行逻辑分区,以在不同分区内存储不同类型的数据,例如,如图3 所示,可以将cmr区划分为用于记录磁盘信息的磁盘数据类型(disk dataformat,简称ddf)区、用于存储各个逻辑资源的元数据的b区、以及用于存 储其他信息的a区。在对smr区进行区域划分时,所划分的区域以存储区域 为单位,即smr区在逻辑上划分的每一区域包含至少一个存储区域。
92.由于smr盘主要是用于供各个客户端创建的逻辑资源写入的,因此,d区 的容量占整个smr盘总容量的比例最高,例如,d区的容量可以占整个smr 盘总容量的96%~98%,具体例如,d区的容量可以占整个smr盘总容量的98%, d区在整个smr盘总容量的占比也可以是其他比较大的比例,此次不具体限定。 本领域技术人员也可以根据实际需要按其他方式对smr盘进行逻辑上的区域 划分,本技术不限定具体的区域划分方式。
93.本技术中,当待存储的逻辑资源需要存储在smr盘中时,用于管理smr 盘的设备会根据smr盘的使用情况和空间分配情况给待存储的逻辑资源分配 存储空间,分配了存储空
间后,待存储的逻辑资源可以存储在所分配的存储空 间内。
94.本技术实施例中的smr盘,可以是主机管理(host managed,简称hm) smr盘、主机感知(host aware,简称ha)smr盘、驱动管理(drive managed, 简称dm)smr盘中的任一种smr盘。其中,hm smr盘允许上层软件来完 全管理smr盘的顺序写入约束,其写入行为完全受软件控制,因而其性能是 可控的,能最大化发挥smr盘的优势,所以,在一种实施方式中,为了使逻 辑资源在smr盘中存储的更稳定,本技术中的smr盘为hm smr盘。
95.下面对本技术实施例提供的将逻辑资源写入叠瓦式磁记录smr盘的方法 进行介绍。
96.本技术实施例中提供的逻辑资源写入smr盘的方法的执行主体可以是管 理smr盘写入顺序的电子设备,该电子设备可以是计算机、服务器、笔记本 电脑、处理器等具有计算功能的设备,也可以是其他电子设备,本技术不具体 限定。
97.如图4所示,本技术实施例提供的将逻辑资源写入smr盘的方法包括以 下步骤s110~s120。
98.s110:确定第一逻辑资源正在写入第一存储区域。
99.s120:将待存储的所述第二逻辑资源写入第二存储区域。
100.其中,上述第二存储区域为:smr盘中除第一存储区域以外的区域。
101.当确定了第一逻辑资源正在写入第一存储区域时,由于smr区只允许顺 序写,所以第二逻辑资源是无法写入第一存储区域的,为了使客户端可以将创 建的逻辑资源及时写入smr盘,减少逻辑资源在客户端上的滞留情况,本申 请实施例将第二逻辑资源写入除第一存储区域以外的第二存储区域。
102.在一种实施方式中,步骤s110可以按以下方式实现:确定为第二逻辑资源 分配的存储空间的起始位置与第一存储区域的待写入位置不同,确定待存储的 第二逻辑资源写入第一存储区域失败,确定第一逻辑资源正在写入第一存储区 域。本实施方式中,可以将第一存储区域的写指针位置确定为第一存储区域的 待写入位置。
103.具体的,若为第二逻辑资源分配的存储空间的起始位置与第一存储区域的 待写入位置不同,smr盘可以向电子设备发送写入位置不同的信息,电子设备 接收到该写入写入位置不同的信息后,可以确定为第二逻辑资源分配的存储空 间的起始位置与第一存储区域的待写入位置不同,并确定第二逻辑资源写入第 一存储区域失败,从而确定第一逻辑资源正在写入第一存储区域。
104.在另一种实施方式中,步骤s110还可以按以下方式实现:确定正在写入第 一存储区域的逻辑资源不是第二逻辑资源,确定第一逻辑资源正在写入第一存 储区域。本实施方式中,可以通过软件实施查看哪个逻辑资源正在写入第一存 储区域,从而确定正在写入第一存储区域的逻辑资源不是第二逻辑资。
105.可选的,上述方法还可以包括以下步骤:确定待存储的第二逻辑资源写入 第一存储区域失败,确定第一存储区域的待写入位置与为第二逻辑资源分配的 存储空间的起始位置相同,判定磁盘错误,向创建第二逻辑资源的第二客户端 发送磁盘出错的消息。可以理解的是,在第二逻辑资源写入第一存储区域失败 的情况下,为第二逻辑资源分配的存储空间的起始位置与第一存储区域的待写 入位置应该是不同的,若相同,说明磁盘硬件出错、损坏,此时可以判定磁盘 错误。
106.在另一种实施方式中,步骤s110也可以按以下方式实现:确定第一存储区 域的待写入位置与为第二逻辑资源分配的存储空间的起始位置不同,确定第一 逻辑资源正在写入第一存储区域。具体的,电子设备可以将第一存储区域的写 指针位置确定为第一存储区域的待写入位置。本技术中,在第二逻辑资源写入 第一存储区域之前,电子设备可以接收smr盘发送的第一存储区域的写指针 位置。
107.上述第二逻辑资源可以是第二客户端创建的资源,第一逻辑资源可以是第 一客户端创建的资源。第一客户端、第二客户端具体可以是视频监控系统的两 个不同的视频采集设备对应的客户端,也可以是网盘存储系统的两个网盘客户 端。本技术提供的将逻辑资源写入smr盘的方法的应用场景不同,客户端的 类型也不同,逻辑资源的类型也不同。
108.在一种实施方式中,在步骤s110之前,还可以包括以下步骤:获取第二逻 辑资源的数据大小,查询smr区的各个用于供逻辑资源写入的存储区域中存 在空闲存储空间的第一存储区域,从第一存储区域的空闲存储空间中选择空间 大小不小于第二逻辑资源的数据大小的存储空间供第二逻辑资源写入。具体的, 为了使smr盘的使用率更高,电子设备可以从空闲存储空间中选择与第二逻 辑资源的大小相同、位置最靠前的存储空间供第二逻辑资源写入。上述空闲存 储空间未用于供其他待存储的逻辑资源写入。
109.本技术实施例中,客户端在创建了资源后可以将所创建的逻辑资源的大小 发送给上述电子设备,电子设备在接收到逻辑资源的大小后,可以根据资源的 大小为逻辑资源分配存储空间。例如,摄像机在拍摄了一段视频后,可以将所 拍摄视频的大小发送给电子设备,电子设备可以根据该视频的大小为该视频分 配存储空间。
110.本技术实施例中,电子设备为各个待存储的逻辑资源分配的存储空间为连 续的存储空间,例如,为逻辑资源2分配的存储空间的起始位置与为逻辑资源 1分配的存储空间的终止位置相同,为逻辑资源3分配的存储空间的起始位置 与为逻辑资源2分配的存储空间的终止位置相同。
111.使用本技术提供的方案,第二客户端向第一存储区域写入第二逻辑资源时, 若第一客户端正在向第一存储区域写入第一逻辑资源,可以将第二客户端创建 的第二逻辑资源先写入第二存储区域,这样,第二客户端可以在无需等待的情 况下及时将逻辑资源写入smr盘,使得当不同客户端在将逻辑资源存储在同 一个存储区域时,各个客户端可以同时向smr盘写入逻辑资源。
112.在一种实施方式中,smr盘还可以包括:cmr区,上述第二存储区域可 以包括:cmr区中用于暂时存储待存储的逻辑资源的区域。
113.具体的,第二存储区域可以包括上述a区。本领域技术人员可以根据实际 情况对cmr区进行逻辑划分,并根据实际需要在所划分的不同的逻辑分区内 存放不同类型的数据,cmr区中用于暂时存储待存储的逻辑资源的区域可以是 cmr区中所划分的逻辑分区中的任一分区,或者任意多个分区,本技术不具体 限定。本实施方式中第二存储区域包括cmr区中的用于暂时存储待存储的逻 辑资源的区域,由于cmr区支持随机写,所以第二逻辑资源可以随机写入cmr 区中的用于暂时存储待存储的逻辑资源的区域,将各个待存储的逻辑资源写入 cmr区中也可以有效利用cmr的空间,减少空间浪费。
114.在另一种实施方式中,所述smr区还包括至少一个暂存区域,暂存区域 为:smr区中用于暂时存储待存储的逻辑资源的存储区域,第二存储区域还包 括:各暂存区域。
115.由于cmr区的总容量通常占smr盘总容量的比例较小,所以cmr区的 总容量也较小,并且cmr区中的部分区域还需要用于存储磁盘信息、待存储 的逻辑资源的元数据等信息,所以cmr区中用于暂时存储待存储的逻辑资源 的区域的容量通常较小,使得第二存储区域能够暂时存储的待存储的逻辑资源 也较少。所以,本实施方式将smr区中的部分存储区域也作为第二存储区域 来暂时存储待存储的逻辑资源,可以增加第二存储区域的容量,从而可以增加 第二存储区域能够暂时存储的待存储的逻辑资源的数量,进一步减少了待存储 的逻辑资源在客户端滞留的现象。
116.在一种实施方式中,如图5所示,步骤s120可以按以下步骤s121~s124 实现:
117.s121:判断上述cmr区中用于暂时存储待存储的逻辑资源的区域中空闲 区域的大小是否不小于第二逻辑资源的大小。
118.s122:若步骤s121的判读结果为是,将第二逻辑资源写入上述cmr区中 用于暂时存储待存储的逻辑资源的区域。
119.s123:若步骤s121的判读结果为否,判断各暂存区域中是否存在空闲的 存储区域。
120.s124:若步骤s123的判读结果为是,将上述第二逻辑资源写入各暂存区 域中空闲的存储区域。
121.若步骤s123的判读结果为否,向发送第二逻辑资源的第二客户端发送写入 失败的信息。
122.由于cmr区支持随机写,空间利用率高,所以优先将第二逻辑资源写入 cmr区中,当cmr区中用于暂时存储待存储的逻辑资源的区域的空闲区域不 足以存放第二逻辑资源时,再将第二逻辑资源写入暂存区域中空闲的存储区域, 这样,既可以有效利用cmr区的空间,又可以更大概率地将第二逻辑资源及 时写入smr盘。
123.在一种实施方式中,电子设备在将第二逻辑资源写入cmr区中用于暂时 存储待存储的逻辑资源的区域后,可以统计cmr区中用于暂时存储待存储的 逻辑资源的区域的已使用空间大小,并将表示该已使用空间大小的信息存储在 cmr区的ddf区中,在将第二逻辑资源写入暂存区域中空闲的存储区域后, 可以统计各暂存区域中已使用存储区域,并将表示该已使用存储区域的信息存 储在cmr区的ddf区中。这些数据被统计后,电子设备可以查询到cmr区 中用于暂时存储待存储的逻辑资源的区域、各暂存区域的使用情况,这些数据 被存储在ddf区中后,可以防止这些数据掉电丢失。
124.在一种实施方式中,如图6所示,上述方法还可以包括以下步骤s130~s140:
125.s130:确定第一存储区域的待写入位置与为第二逻辑资源分配的存储空间 的起始位置相同。
126.s140:将第二逻辑资源存储至第一存储区域。
127.在确定了第一存储区域的待写入位置与为第二逻辑资源分配的存储空间的 起始位置相同后,说明当前时刻已经轮到了将第二逻辑资源写入第一存储区域 中,此时将第二存储区域内存储的第二逻辑资源存储至第一存储区域内,可以 实现将第二逻辑资源写入到为其所分配的存储空间中。
128.在一种可选的实施方式中,步骤s130之前,还可以包括以下步骤:监测为 第二逻辑资源分配的存储空间的起始位置与第一存储区域的写指针所处的位置 是否相同,若相
同,则确定第一存储区域的待写入位置与为第二逻辑资源分配 的存储空间的起始位置相同。
129.步骤s140中将第二逻辑资源存储至第一存储区域,可以是将第二逻辑资源 存储至第一存储区域,并将第二存储区域内存储的第二逻辑资源删除,即将第 二存储区域内存储的第二逻辑资源回迁至第一存储区域,这样,可以将第二存 储区域中被第二逻辑资源占用的空间清空,以暂时存储其他的逻辑资源。
130.本实施方式中,确定了第一存储区域的待写入位置与分配给第一客户端创 建的第一逻辑资源的存储空间的起始位置相同,说明此时轮到第一逻辑资源写 入第一存储区域,此时,再将第二存储区域内存储的第一逻辑资源存储至第一 存储区域,使得第一逻辑资源最终能够写入到为其分配的存储空间。
131.在一种实施方式中,如图7所示,步骤s130可以按以下步骤s131~s132 实现:
132.s131:确定最后的逻辑资源完成写入所述第一存储区域,其中,为所述最 后的逻辑资源分配的存储空间的终止位置与为所述第二逻辑资源分配的存储空 间的起始位置相同;
133.s132:确定第一存储区域的待写入位置与为第二逻辑资源分配的存储空间 的起始位置相同。
134.本技术实施例由于为各个待存储的逻辑资源分配的存储空间是连续的存 储空间,那么,当确定了最后的逻辑资源在第一存储区域完成写入后,即可以 确定第一存储区域的待写入位置与为第二逻辑资源分配的存储空间的起始位置 相同。
135.在一种具体的实施例中,第二逻辑资源存储至第一存储区域后可以生成完 成写入消息,这样,可以及时获知第二逻辑资源是否存储至第一存储区域,从 而可以及时将所分配的存储空间位于第二逻辑资源后的待存储的逻辑资源写入 第一存储区域。
136.本实施方式通过确定最后的逻辑资源在第一存储区域的完成写入情况,可 以更简便地确定出为第二逻辑资源分配的存储空间的起始位置与第一存储区域 的待写入位置是否相同。
137.在一种实施方式中,步骤s110之前,上述方法还可以包括以下步骤:根据 为第二逻辑资源所分配存储空间的起始位置或终止位置,确定第二逻辑资源在 各待存储的逻辑资源中的排序位置,为各待存储的逻辑资源分配的存储空间均 在第一存储区域;确定排序位置位于第二逻辑资源的排序位置之前、且排序位 置与第二逻辑资源的排序位置相邻的待存储的逻辑资源为最后的逻辑资源。本 实施方式通过为第二逻辑资源排序,更便于确定最后的逻辑资源。
138.在一种实施方式中,上述方法还可以包括以下步骤:记录第二逻辑资源在 第二存储区域内是否完成写入的第一状态、第二逻辑资源在第一存储区域是否 完成写入的第二状态。
139.步骤s130,可以按以下步骤实现:确定第二逻辑资源的第一状态为完成写 入、第二逻辑资源的第二状态为未完成写入、最后的逻辑资源的第二状态为完 成写入,将第二逻辑资源存储至第一存储区域。
140.可选的,还可以记录为第二逻辑资源分配的存储空间的起始位置和终止位 置,以根据记录的位置确定最后的逻辑资源。
141.本实施方式记录了第二逻辑资源的第一状态、第二状态,更便于确定将第 二逻辑资源存储至第一存储区域的时机。
142.在一种实施方式中,上述方法还可以包括以下步骤:以预设时间间隔监测 所记录的各待存储的逻辑资源的状态。预设时间间隔具体可以是1分钟~5分钟 中的任一时间间隔,也可以是其他的具体时间间隔。当预设时间间隔较短时, 可以及时将第二逻辑资源存储至第一存储区域,从而及时将第二逻辑资源占用 的第二存储区域释放。
143.在一种可选的实施方式中,可以将所记录的第二逻辑资源的第一状态、第 二状态以及为第二逻辑资源分配的存储空间的起始位置和终止位置存储在 smr盘的除第一存储区域以外的区域内,以防止电子设备在断电时丢失这些信 息。具体的,可以将所记录上述第一状态、第二状态、起始位置和终止位置等 信息存储在cmr区中,例如,存储在cmr区的ddf区中、a区中或者b区 中,当将所记录的上述信息记录在cmr区中时,这些信息可以随机写入,从 而可以将这些信息及时地写入smr盘。
144.可选的,当第二逻辑资源存储至第一存储区域后,可以将存储的第二逻辑 资源的第一状态、第二状态以及为第二逻辑资源分配的存储空间的起始位置和 终止位置删除。以减少对smr盘的占用。
145.在一种实施方式中,步骤s140之前,还可以包括以下步骤:确定第二逻辑 资源完成写入第二存储区域。
146.本实施方式确定了第二逻辑资源完成写入第二存储区域后再将第二逻辑资 源存储至第一存储区域,可以减少第二逻辑资源存储至第一存储区域时的数据 丢失、中断等现象。
147.可选的,上述方法还可以包括以下步骤:确定第二逻辑资源在第二存储区 域完成写入,生成第二逻辑资源在第二存储区域完成写入的完成写入消息。这 样,可以及时获知第二逻辑资源是否在第二存储区域完成写入。
148.在一种实施方式中,还可以包括以下步骤:确定第二逻辑资源从cmr区 中用于暂时存储待存储的逻辑资源的区域回迁至第一存储区域,统计cmr区 中用于暂时存储待存储的逻辑资源的区域的已使用空间大小,确定第二逻辑资 源从暂存区域中回迁至第一存储区域,统计各暂存区域中已使用的存储区域, 将统计的信息存储在ddf区中。
149.在一种实施方式中,步骤s140之前,上述方法还可以包括以下步骤:建立 映射关系,上述映射关系用于指示所述第二逻辑资源在所述第二存储区域的存 储位置以及为所述第二逻辑资源分配的存储空间;步骤s140,可以按以下步骤 实现:根据所述映射关系,将所述存储位置处存储的逻辑资源存储至所述存储 空间。
150.具体的,电子设备可以从上述映射关系中查找第二逻辑资源对应的存储位 置和存储空间,将查找到的存储位置处存储的逻辑资源存储至查找到的存储空 间。
151.本实施方式建立上述映射关系后,可以根据建立的映射关系进将第二逻辑 资源的准确、快速回迁。
152.在一种实施方式中,当建立上述映射关系后,可以将该映射关系存储在上 述ddf区中,以防止所建立的映射关系在掉电时丢失,当电子设备重新开机后, 可以将ddf中的映射关系加载到内存中,以快速读取。
153.本技术实施例中,当第二逻辑资源回迁至第一存储区域后,可以将第二逻 辑资源
对应的映射关系从ddf区中删除,以减少对ddf区的占用率。
154.下面,通过具体的实施例对本技术提供的方案进行介绍。
155.本实施例中,smr盘包括cmr区和smr区,cmr区既支持顺序写,也 支持随机写,smr区只支持顺序写。cmr区包含ddf区、a区和b区;其中, cmr区的区头为容量为1g的用于存放磁盘元数据的ddf区,ddf区包含共 享空间管理区、坏块映射数据区和共享空间数据区等区段,各个区段用来记录 不同类型的磁盘相关信息;a区是用于暂时存储待存储的逻辑资源的区域;b 区是用于记录逻辑资源元数据的区域,b区大小为2g,cmr区容量占整个smr 盘容量的1%;smr区包含c区和d区,c区也是用于暂时存储待存储的逻辑 资源的区域,c区容量为整个smr硬盘总容量的1%,d区是smr硬盘中用 于供各待存储的逻辑资源写入的区域,d区容量为整个smr硬盘总容量的98%, smr区包括多个物理隔开、互不影响的存储区域,每个存储区域的容量均为 256兆。
156.本实施例中,如图8所示,逻辑资源写入叠瓦式磁记录smr盘的方法包 括以下步骤s1~s21:
157.s1:第二逻辑资源开始向smr盘写入。
158.s2:判断第二逻辑资源是否向smr盘写入成功。
159.s3:若s2的判断结果为是,则判定无需进行逻辑资源暂时存储。
160.s4:若s2的判断结果为否,则获取为第二逻辑资源分配的存储空间的起 始位置以及第一存储区域的写指针位置。
161.s5:判断写指针位置与上述起始位置是否一致。
162.s6:若s5的判断结果为是,则向客户端发送写入失败的信息。
163.第二逻辑资源向smr盘未写入成功,但写指针位置与上述起始位置一致, 说明smr盘的硬盘错误,向客户端发送写入失败的信息。
164.s7:若s5的判断结果为否,判定有不同的逻辑资源需要同时写入第一存 储区域。
165.s8:判断cmr区的a区中空闲区域的大小是否不小于第二逻辑资源的大 小。
166.具体的,本实施例中,若smr盘总容量为x(m),则smr盘cmr区 容量为0.01x(m),cmr区的ddf区容量为1
×
1024(m),cmr区b区 容量为2
×
1024(m),cmr区a区容量为:cmr区容量-b区容量-ddf区 容量=[0.01x-(2 1)
×
1024](m),假设cmr区a区已使用容量为y(m), 第二逻辑资源的大小(第二逻辑资源暂时存储所需空间的大小)为z(m), 则当z=《0.01x-(2 1)
×
1024-y时,判定cmr区的a区有足够的容量暂时 存储第二逻辑资源。上述(m)即容量的单位(兆)。
[0167]
s9:若s8的判断结果为否,则判断smr区的c区中是否存在空闲的存储 区域。
[0168]
若步骤s9的判断结果为否,则执行步骤s6所执行的操作。
[0169]
s10:若步骤s9的判断结果为是或者s8的判断结果为是,则将第二逻辑 资源写入c区或者a区,并建立映射关系。
[0170]
上述映射关系用于指示第二逻辑资源在第二存储区域的存储位置以及为第 二逻辑资源分配的存储空间。
[0171]
第二存储区域为a区或者c区。
[0172]
例如,如图9所示,若当前时刻逻辑资源1正在写入第一存储区域,此时, 若逻辑资源2和逻辑资源3也想写入第一存储区域,则可以将逻辑资源2先写 入a区的空闲区域,将逻
辑资源2写入a区中后,a区已无空闲区域,可以将 逻辑资源3写入c区中空闲的存储区域。其中,“1”、“2”、“3”分别为: 逻辑资源1、逻辑资源2和逻辑资源3的标识信息。再建立标识信息为“2”、 逻辑资源2在a区的存储位置以及为逻辑资源2分配的存储空间之间的映射关 系,再建立标识信息为“3”、逻辑资源3在c区的存储位置以及为逻辑资源3 分配的存储空间之间的映射关系。逻辑资源1、逻辑资源2和逻辑资源3即3 个客户端分别创建的3个待存储的逻辑资源。
[0173]
s11:将建立的映射关系存储在ddf区中。
[0174]
s12:将a区已使用空间大小的信息和c区已使用存储区域的信息存储在 ddf区中。
[0175]
s13:接收第二逻辑资源在a区或c区完成写入后smr盘发送的第一完成 写入消息。
[0176]
s14:判断是否接收到第一完成写入消息。
[0177]
s15:若s14判断结果为是,则将第二逻辑资源在第二存储区域内完成写 入的第一状态记录为完成写入,并记录为第二逻辑资源分配的存储空间的起始 位置和终止位置,将记录的信息存储在ddf区,根据起始位置或终止位置确定 第二逻辑资源在各待存储的逻辑资源中的排序位置。
[0178]
若s14判断结果为否,则执行s13。
[0179]
s16:接收第二逻辑资源在第一存储域完成写入后smr盘发送的第二完成 写入消息。
[0180]
s17:判断是否接收到第二完成写入消息。
[0181]
s18:若s17判断结果为是,则将第二逻辑资源在第一存储区域内完成写 入的第二状态记录为完成写入。
[0182]
若s17判断结果为否,则执行s16。
[0183]
s19:根据第二逻辑资源的第一状态、第二逻辑资源的第二状态、最后的逻 辑资源的第二状态确定是否符合数据回迁条件。
[0184]
具体的,可以当第二逻辑资源的第一状态为完成写入、第二逻辑资源的第 二状态为未完成写入、最后的逻辑资源的第二状态为完成写入时,判定符合数 据回迁条件。
[0185]
s20:若s19判断结果为是,则将第二存储区域内的第二逻辑资源回迁至 第一存储区域。
[0186]
例如,如图10所示,可以当逻辑资源1在第一存储区域完成写入、且逻辑 资源2在a区完成写入后,将a区中的逻辑资源2回迁至第一存储区域,清除 a区中的逻辑资源2。如图11所示,当逻辑资源2在第一存储区域完成写入、 且逻辑资源3在c区完成写入后,将c区中的逻辑资源3回迁至第一存储区域。
[0187]
若s19判断结果为否,则执行步骤s13、s16。
[0188]
s21:删除ddf区中的上述映射关系,删除ddf区中的在步骤s15记录 的信息,更新ddf区中记录的a区已使用空间大小的信息和c区已使用存储 区域的信息。
[0189]
本技术实施例还提供了一种将逻辑资源写入smr盘的装置,如图12所示, 所述smr盘包括smr区,所述smr区包括第一存储区域,其中,所述第一 存储区域用于供多个逻辑资源写入,所述多个逻辑资源包括第一逻辑资源和第 二逻辑资源,且所述第一逻辑资源是写入顺序位于所述第二逻辑资源之前的至 少一个逻辑资源中的任意一个,所述装置包括:
[0190]
写入确定单元1310,用于确定所述第一逻辑资源正在写入所述第一存储区 域;
[0191]
数据写入单元1320,用于将待存储的所述第二逻辑资源写入第二存储区域, 其中,所述第二存储区域为:所述smr盘中除所述第一存储区域以外的区域。
[0192]
在一种可选的实施方式中,所述装置还包括:
[0193]
位置确定单元,用于确定所述第一存储区域的待写入位置与为所述第二逻 辑资源分配的存储空间的起始位置相同;
[0194]
数据回迁单元,用于将所述第二逻辑资源存储至所述第一存储区域。
[0195]
在一种可选的实施方式中,为所述第一逻辑资源分配的存储空间的终止位 置与为所述第二逻辑资源分配的存储空间的起始位置相同;
[0196]
所述位置确定单元,具体用于:确定所述第一逻辑资源完成写入所述第一 存储区域,确定所述第一存储区域的待写入位置与为所述第二逻辑资源分配的 存储空间的起始位置相同。
[0197]
在一种可选的实施方式中,所述装置还包括:
[0198]
完成写入确定单元,用于确定所述第二逻辑资源完成写入所述第二存储区 域。
[0199]
在一种可选的实施方式中,所述装置还包括:
[0200]
映射建立单元,用于建立映射关系,所述映射关系用于指示所述第二逻辑 资源在所述第二存储区域的存储位置以及为所述第二逻辑资源分配的存储空间;
[0201]
数据回迁单元,具体用于:根据所述映射关系,将所述存储位置处存储的 逻辑资源存储至所述存储空间。
[0202]
在一种可选的实施方式中,所述写入确定单元,具体用于:确定为第二逻 辑资源分配的存储空间的起始位置与第一存储区域的待写入位置不同,确定待 存储的所述第二逻辑资源写入所述第一存储区域失败,确定所述第一逻辑资源 正在写入所述第一存储区域。
[0203]
在一种可选的实施方式中,所述smr盘还包括:传统磁记录cmr区,所 述第二存储区域包括:所述cmr区中用于暂时存储待存储的逻辑资源的区域。
[0204]
在一种可选的实施方式中,所述smr区还包括至少一个暂存区域,所述 暂存区域为:所述smr区中用于暂时存储待存储的逻辑资源的存储区域,所 述第二存储区域还包括:各所述暂存区域。
[0205]
在一种可选的实施方式中,所述数据写入单元,包括:
[0206]
第一区域判断子单元,判断所述cmr区中用于暂时存储待存储的逻辑资 源的区域中空闲区域的大小是否不小于所述第二逻辑资源的大小;
[0207]
第一数据写入子单元,用于当所述第一区域判断子单元的判断结果为是时, 将所述第二逻辑资源写入所述cmr区中用于暂时存储待存储的逻辑资源的区 域;
[0208]
第二存储区域判断子单元,用于当所述第一区域判断子单元的判断结果为 否时,判断各所述暂存区域中是否存在空闲的存储区域;
[0209]
第二数据写入子单元,用于当所述第二存储区域判断子单元的判断结果为 是时,将所述第二逻辑资源写入各所述暂存区域中空闲的存储区域。
[0210]
相应于上述将逻辑资源写入smr盘的方法,本技术实施例还提供了一种 电子设备,如图13所示,所述电子设备包括,包括处理器1401、通信接口1402、 存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403 通过通信总线1104完成相互间的
通信,
[0211]
存储器1403,用于存放计算机程序;
[0212]
处理器1401,用于执行存储器1403上所存放的程序时,实现上述实施例 中任一项所述的将逻辑资源写入smr盘的方法。
[0213]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponent interconnect,p c i)总线或扩展工业标准结构(extended industrysandard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总 线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根 总线或一种类型的总线。
[0214]
通信接口用于上述电子设备与其他设备之间的通信。
[0215]
存储器可以包括随机存取存储器(random access memory,ram),也可以 包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。
[0216]
可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0217]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit, cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digitalsignal processing,dsp)、专用集成电路(application specific integrated circuit, asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可 编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0218]
相应于上述将逻辑资源写入smr盘的方法,本发明实施例还提供了一种 计算机可读存储介质,该计算机程序被处理器执行时实现上述实施例中任一项 所述的将逻辑资源写入smr盘的方法。
[0219]
相应于上述将逻辑资源写入smr盘的方法,本发明实施例还提供了一种 包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实 施例中任一项所述的将逻辑资源写入smr盘的方法。
[0220]
应理解,上述只是为了帮助本领域技术人员更好地理解本技术实施例,而 非要限制本技术实施例的范围。本领域技术人员根据所给出的上述示例,显然 可以进行各种等价的修改或变化,或者上述任意两种或者任意多种实施例的组 合。这样的修改、变化或者组合后的方案也落入本技术实施例的范围内。
[0221]
还应理解,上文对本技术实施例的描述着重于强调各个实施例之间的不同 之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
[0222]
还应理解,本技术实施例中的方式、情况、类别以及实施例的划分仅是为 了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的 特征在不矛盾的情况下可以相结合。
[0223]
还应理解,在本技术的各个实施例中,如果没有特殊说明以及逻辑冲突, 不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施 例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
[0224]
以上该,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化 或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以该 权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献