一种查询元数据的方法和装置与流程

文档序号:14037148阅读:160来源:国知局
本发明涉及数据存储
技术领域
:,特别涉及一种查询元数据的方法和装置。
背景技术
::光盘库融合存储系统(可简称为系统)是一种以光盘库存储设备为主的,多种介质共存的混合存储系统,其中,除光介质之外,通常还可以包括磁存储、电存储等其他存储介质。在光盘库融合存储系统中,为支持文件数据的高效访问,需要对系统内文件数据对应的元数据进行有效管理。由于系统中存在着多种具有不同物理特性的存储介质,文件数据会在不同的介质上进行迁移,为此,除了传统的基本元数据(如文件属主、操作权限、访问时间等)外,还需要维护一些在光盘库融合存储系统中特有的扩展元数据(如文件数据在多介质上的位置信息、文件数据的虚实状态、文件数据在介质间的数据流控制信息等)。因此,亟需一种在光盘库融合存储系统中,速度快、效果好、能够有效支持融合存储系统各项数据访问请求的元数据维护方法。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种查询元数据的方法和装置。所述技术方案如下:第一方面,提供了一种查询元数据的方法,所述方法包括:接收数据访问请求,确定待访问数据的元数据类型;如果所述待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问所述数据访问请求对应的基本元数据,其中,所述第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域;如果所述待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问所述数据访问请求对应的扩展元数据,其中,所述第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域;如果所述数据访问请求包含文件数据的操作请求,则根据所述数据访问请求对应的扩展元数据处理所述操作请求。可选的,所述方法还包括:在通用文件系统程序的目录树中构造所述第一元数据区和所述第二元数据区;通过所述通用文件系统程序的posix标准接口访问所述第一元数据区,并创建所述第二元数据区的访问接口。可选的,所述方法还包括:接收目标文件的存储指令;在所述融合存储系统的冷数据库中选取目标存储介质;将所述目标文件的文件数据写入所述目标存储介质,生成所述目标文件的扩展元数据;在所述第一元数据区中存储所述目标文件的基本元数据,并在所述第二元数据区中存储所述目标文件的扩展元数据。可选的,所述如果所述数据访问请求包含文件数据的操作请求,则根据所述数据访问请求对应的扩展元数据处理所述操作请求,包括:如果所述数据访问请求包含目标文件的数据获取请求,则在所述第二元数据区内查找所述目标文件对应的扩展元数据;根据所述目标文件对应的扩展元数据,在所述融合存储系统的冷数据库中确定存储所述目标文件的文件数据的目标存储介质;读取并反馈所述目标存储介质中存储的所述目标文件的文件数据。第二方面,提供了一种查询元数据的装置,所述装置包括:确定模块,用于接收数据访问请求,确定待访问数据的元数据类型;访问模块,用于如果所述待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问所述数据访问请求对应的基本元数据,如果所述待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问所述数据访问请求对应的扩展元数据,其中,所述第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域,所述第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域;处理模块,用于如果所述数据访问请求包含文件数据的操作请求,则根据所述数据访问请求对应的扩展元数据处理所述操作请求。可选的,所述装置还包括:构造模块,用于在通用文件系统程序的目录树中构造所述第一元数据区和所述第二元数据区;访问模块,用于通过所述通用文件系统程序的posix标准接口访问所述第一元数据区,并创建所述第二元数据区的访问接口。可选的,所述装置还包括:接收模块,用于接收目标文件的存储指令;选取模块,用于在所述融合存储系统的冷数据库中选取目标存储介质;生成模块,用于将所述目标文件的文件数据写入所述目标存储介质,生成所述目标文件的扩展元数据;存储模块,用于在所述第一元数据区中存储所述目标文件的基本元数据,并在所述第二元数据区中存储所述目标文件的扩展元数据。所述处理模块,具体用于:如果所述数据访问请求包含目标文件的数据获取请求,则在所述第二元数据区内查找所述目标文件对应的扩展元数据;根据所述目标文件对应的扩展元数据,在所述融合存储系统的冷数据库中确定存储所述目标文件的文件数据的目标存储介质;读取并反馈所述目标存储介质中存储的所述目标文件的文件数据。第三方面,提供了一种管理设备,所述管理设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的查询元数据的方法。第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的查询元数据的方法。本发明实施例提供的技术方案带来的有益效果是:本发明实施例中,接收数据访问请求,确定待访问数据的元数据类型,如果待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问数据访问请求对应的基本元数据,其中,第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域,如果待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问数据访问请求对应的扩展元数据,其中,第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域,如果数据访问请求包含文件数据的操作请求,则根据数据访问请求对应的扩展元数据处理操作请求这样,在融合存储系统中,将文件的基本元数据和扩展元数据分别存储在不同存储区域,可以便捷高效地实现各项元数据的查询处理。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种查询元数据的方法流程图;图2是本发明实施例提供的一种融合存储系统中元数据区的框架示意图;图3是本发明实施例提供的一种存储元数据的方法流程图;图4是本发明实施例提供的一种查询元数据的装置结构示意图;图5是本发明实施例提供的一种管理设备的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例提供了一种查询元数据的方法,该方法的执行主体为融合存储系统的管理设备。其中,融合存储系统可以是以光盘为主要存储介质的光盘库融合存储系统,也可以是以其他存储介质为主要存储介质的融合存储系统,管理设备可以是系统对外提供的交互设备,外界可以通过管理设备实现文件数据的查找、读取、存储、修改等操作。上述管理设备中可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的查询元数据的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。上述设备中还可以包括显示部件和输入部件,显示部件可以用于显示输入内容、显示样式等,可以是屏幕,输入部件可以用于用户向管理设备输入指令,可以是键盘或控制按键等。当然,在某种场景下,本方法的执行主体可以为多个管理设备组成的设备组,上述功能可以由多个管理设备共同实现,本方案以执行主体为单独的管理设备进行说明,设备组的处理情况与之类似。下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:步骤101,接收数据访问请求,确定待访问数据的元数据类型。其中,元数据可以是用于描述文件属性的数据,可以用来指示文件存储位置、历史数据、访问记录等信息。在实施中,融合存储系统(以下可简称为系统)包含光存储、磁存储、电存储、以及未来可能出现的其他存储介质等多种介质对应的存储区域,该存储区域可称为冷数据库,冷数据库中的存储介质包括光盘、机械硬盘、磁带、固态硬盘等。由于单张光盘的存储容量较大,且光盘库相较于常见的存储设备(如磁盘阵列、磁带库等)具有一定的价格和性能优势,融合存储系统则主要是以光存储介质为主的光盘库融合存储系统,本实施例中以光盘库融合存储系统,冷数据库为光盘库,存储介质为光盘为例进行说明,其他情况与之类似。用户可以在融合存储系统中查找已存储文件的任意数据,如用户想要查询某个文件的数据,如文件数据或者文件存储位置或者文件属主等,管理设备则可以接收到用户通过网络设备发送的数据访问请求,该查找请求中可以至少包括文件标识信息(如文件a)和待访问数据的标识信息(如操作权限)。之后,管理设备可以确定待访问数据的元数据类型,具体处理则为查找待访问数据的标识信息所属的元数据类型。步骤102,如果待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问数据访问请求对应的基本元数据。其中,第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域。在实施中,融合存储系统中文件的元数据可以分为基本元数据与扩展元数据两类,其中基本元数据可以包含传统文件属性中所涉及的相关信息,如文件属主、权限信息、访问时间等,此类数据主要保存在融合存储系统中的第一元数据区,即预设的用于存储基本元数据的存储区域,而少量信息如文件大小等可以保存在融合存储系统中的第二元数据区,即预设的用于存储扩展元数据的存储区域。而扩展元数据属于与融合存储相关的数据,包括文件数据的虚实状态、存储位置等,这一类数据则主要存储在上述第二元数据区中。管理设备在接收到数据访问请求后,如果确定出待访问数据的元数据类型包括基本元数据类型,即需要获取基本元数据,则可以在第一元数据区中查找数据访问请求对应的基本元数据,具体可以先由查找请求中携带的文件标识信息,在第一元数据区中获取与该文件相关的所有基本元数据,之后可以在得到的基本元数据中确定相应的元数据;或者,可以先由查找请求中携带的待访问数据的标识信息,在第一元数据区中所有文件对应的该项基本元数据,然后在得到的基本元数据中确定相应的元数据。例如,文件标识信息为a,待访问数据的标识信息为文件属主,则可以先在第一元数据区中获取文件a的所有基本元数据,然后再找到其中标识信息为文件属主的元数据,或者可以先在第一元数据区中获取所有文件的标识信息为文件属主的元数据,然后再找到其中对应的文件标识信息为a的元数据。步骤103,如果待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问数据访问请求对应的扩展元数据。其中,第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域。在实施中,管理设备在接收到数据访问请求后,如果确定出待访问数据的元数据类型包括扩展元数据类型,即需要获取扩展元数据,则可以在第二元数据区中查找数据访问请求对应的扩展元数据,具体可以先由查找请求中携带的文件标识信息,在第二元数据区中获取与该文件相关的所有扩展元数据,之后可以在得到的扩展元数据中确定相应的元数据;或者,可以先由查找请求中携带的待访问数据的元数据的标识信息,在第二元数据区中所有文件对应的该项扩展元数据,然后在得到的扩展元数据中确定相应的元数据。相关处理可参考步骤102。值得一提的是,步骤102和步骤103可以同时发生,即先检测元数据类型,然后根据检测结果选择性地进行102或者103,该种设计可以简化判断处理,可以提高元数据查询的效率,或者步骤102和步骤103可以存在先后顺序,如步骤102先于步骤103,即先判断元数据类型是否为基本元数据类型,如果不是,再判断元数据类型是否为扩展元数据类型,此种设计可以适用于存在除基本元数据类型和扩展元数据类型之外的其它元数据类型的场景,或者基本元数据和扩展元数据可能包括相同元数据的场景。步骤104,如果数据访问请求包含文件数据的操作请求,则根据数据访问请求对应的扩展元数据处理操作请求。在实施中,管理设备在接收到数据访问请求后,如果确定出数据访问请求中包含文件数据的操作请求,即需要对文件数据进行某一项或多项操作,则可以根据数据访问请求对应的扩展元数据对文件数据的操作请求进行处理。此处,对文件数据的操作请求可以包括对文件数据的读取、写入、修改等多种处理。可选的,本实施例还提供了一种在融合存储系统中查找文件数据的方法,即对文件数据的操作请求可以为数据获取请求,具体的,步骤104的处理可以如下:如果数据访问请求包含目标文件的数据获取请求,则在第二元数据区内查找目标文件对应的扩展元数据;根据目标文件对应的扩展元数据,在融合存储系统的冷数据库中确定存储目标文件的文件数据的目标存储介质;读取并反馈目标存储介质中存储的目标文件的文件数据。在实施中,如果用户想要在融合存储系统中查找某个文件(如目标文件)的文件数据,则可以通过网络设备向系统的管理设备发送数据访问请求,该数据访问请求可以包含目标文件的数据获取请求。管理设备获取到目标文件的数据获取请求后,则可以先获取数据获取请求中携带的文件标识信息,并根据文件标识信息在第二元数据区内查找目标文件对应的扩展元数据。之后,管理设备可以根据目标文件对应的扩展元数据,在冷数据库内确定存储目标文件的文件数据的目标存储介质,进而管理设备可以调取目标存储介质,对目标存储介质上存储的目标文件的文件数据进行读取。这样,管理设备则可以将读取到的文件数据反馈给用户。此处,在读取文件数据的过程中,可以先将目标存储介质中的文件数据全部读取完成后,再对读取到的文件数据进行反馈,也可以在从目标存储介质中读取文件数据的同时,反馈已读取完的部分文件数据。可选的,可以采用通用文件系统来存储上述元数据,具体的处理可以如下:在通用文件系统程序的目录树中构造第一元数据区和第二元数据区;通过通用文件系统程序的posix(portableoperatingsysteminterfaceofunix,可移植操作系统接口)标准接口访问第一元数据区,并创建第二元数据区的访问接口。在实施中,管理设备可以在其通用文件系统程序的目录树中构造两类元数据的维护区域:基本元数据区和扩展元数据区(即上述第一元数据区和第二元数据区)。之后,可以将第一元数据区配置在通用文件系统的元数据中,并通过通用文件系统程序的posix标准接口来访问第一元数据区;同时,可以将第二元数据区配置在通用文件系统程序的附加存储区域中,如已存储文件的扩展属性,或已存储文件的指定偏移区域的数据存储空间,又或者与已存储文件相关联的特定数据文件,并创建第二元数据区的访问接口,具体系统框架如图2所示。当然,可以采用传统的数据库、key-value(键-值)数据库或者其他一些非结构化的数据库或者数据管理系统程序来独立保存元数据,即同时保存基本元数据和扩展元数据,也可以和通用文件系统程序结合使用,比如由通用文件系统程序保存基本元数据,由数据库保存扩展元数据。可选的,本实施例还提供了将文件数据写入融合存储系统时,保存元数据的处理,具体流程可参考图3:步骤301,接收目标文件的存储指令。在实施中,当外界想要将目标文件存储至融合存储系统时,系统的管理设备可以接收到目标文件的存储指令,该存储指令可以携带有目标文件的属性信息和文件数据。步骤302,在融合存储系统的冷数据库中选取目标存储介质。在实施中,管理设备在接收到目标文件的存储指令时,可以在融合存储系统的冷数据库中按照预设规则选取存储目标文件的目标存储介质,本发明实施例不对目标光盘的选取规则进行限定,可以是随机选取,也可以是依次选取,也可以是在一定范围内按序选取等等。步骤303,将目标文件的文件数据写入目标存储介质,生成目标文件的扩展元数据。在实施中,管理设备在选取完目标存储介质后,可以将目标文件的文件数据写入目标存储介质,并同时记录目标文件的存储介质、数据流控制信息、数据虚实状态等等,从而生成相应的目标文件的扩展元数据。步骤304,在第一元数据区中存储目标文件的基本元数据,并在第二元数据区中存储目标文件的扩展元数据。在实施中,管理设备可以基于目标文件的属性信息,获取目标文件的基本元数据,然后在第一元数据区中存储该基本元数据,同时,可以将步骤303中生成的目标文件的扩展元数据存储至第二元数据区中。本发明实施例中,接收数据访问请求,确定待访问数据的元数据类型,如果待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问数据访问请求对应的基本元数据,其中,第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域,如果待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问数据访问请求对应的扩展元数据,其中,第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域,如果数据访问请求包含文件数据的操作请求,则根据数据访问请求对应的扩展元数据处理操作请求这样,在融合存储系统中,将文件的基本元数据和扩展元数据分别存储在不同存储区域,可以便捷高效地实现各项元数据的查询处理。基于相同的技术构思,本发明实施例还提供了一种查询元数据的装置,如图4所示,该装置包括:确定模块401,用于接收数据访问请求,确定待访问数据的元数据类型;访问模块402,用于如果所述待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问所述数据访问请求对应的基本元数据,如果所述待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问所述数据访问请求对应的扩展元数据,其中,所述第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域,所述第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域;处理模块403,用于如果所述数据访问请求包含文件数据的操作请求,则根据所述数据访问请求对应的扩展元数据处理所述操作请求。可选的,所述装置还包括:构造模块,用于在通用文件系统程序的目录树中构造所述第一元数据区和所述第二元数据区;访问模块,用于通过所述通用文件系统程序的posix标准接口访问所述第一元数据区,并创建所述第二元数据区的访问接口。可选的,所述装置还包括:接收模块,用于接收目标文件的存储指令;选取模块,用于在所述融合存储系统的冷数据库中选取目标存储介质;生成模块,用于将所述目标文件的文件数据写入所述目标存储介质,生成所述目标文件的扩展元数据;存储模块,用于在所述第一元数据区中存储所述目标文件的基本元数据,并在所述第二元数据区中存储所述目标文件的扩展元数据。所述处理模块,具体用于:如果所述数据访问请求包含目标文件的数据获取请求,则在所述第二元数据区内查找所述目标文件对应的扩展元数据;根据所述目标文件对应的扩展元数据,在所述融合存储系统的冷数据库中确定存储所述目标文件的文件数据的目标存储介质;读取并反馈所述目标存储介质中存储的所述目标文件的文件数据。本发明实施例中,接收数据访问请求,确定待访问数据的元数据类型,如果待访问数据的元数据类型包括基本元数据类型,则在第一元数据区内访问数据访问请求对应的基本元数据,其中,第一元数据区为融合存储系统中预设的用于存储基本元数据的存储区域,如果待访问数据的元数据类型包括扩展元数据类型,则在第二元数据区内访问数据访问请求对应的扩展元数据,其中,第二元数据区为融合存储系统中预设的用于存储扩展元数据的存储区域,如果数据访问请求包含文件数据的操作请求,则根据数据访问请求对应的扩展元数据处理操作请求这样,在融合存储系统中,将文件的基本元数据和扩展元数据分别存储在不同存储区域,可以便捷高效地实现各项元数据的查询处理。需要说明的是:上述实施例提供的查询元数据的装置在读取文件数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的查询元数据的装置与查询元数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图5是本发明实施例提供的管理设备的结构示意图。该管理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对管理设备中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在管理设备500上执行存储介质530中的一系列指令操作。管理设备500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。管理设备500可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述查询元数据的指令。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1