发明内容
有鉴于此,本发明的目的在于提供一种面向对象的存取方法,该方法能够对不同类别的数据进行统一管理,节省系统的资源,并能够使关键数据获得较优的读写性能。
本发明的目的在于提供一种面向对象的存取系统,该系统能够对不同类别的数据进行统一管理,节省系统的资源,并能够使关键数据获得较优的读写性能。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种面向对象的存取方法,该方法包括:
A、根据数据管理指令和待处理数据对象的全局名字空间GNS信息,获得所述待处理数据对象的类别标识符CID,查找与所述CID对应的分类数据存储区;
B、按照与所述CID对应的分类数据存储区上保存的优化性能参数和空间配额参数,对待处理数据对象进行数据管理;
所述优化性能参数至少包含数据管理指令的优先级及数据管理参数;所述空间配额参数包含可用空间参数和已用空间参数。
较佳地,步骤A之前进一步包括:
A’、根据存储区创建指令及数据对象的CID,在介质池包含的至少一个数据介质上创建对应于所述CID的分类数据存储区,在分类数据存储区上保存该分类数据存储区的优化性能参数和空间配额参数。
较佳地,步骤A’所述在介质池包含的至少一个数据介质上创建对应于所述CID的分类数据存储区之前,进一步包括:
A”、判断介质池属性中的可用空间是否小于待创建的分类数据存储区所需存储空间,如果是,则对介质池进行扩展,并更新介质池属性中的可用空间。
上述方法中,所述步骤A’包括:
A1’、根据数据对象的CID,判断所述介质池的任一数据介质上是否存在与所述数据对象的CID对应的分类数据存储区,如果是,则忽略存储区创建指令,否则,执行步骤A2’;
A2’、判断所述介质池是否存在一个数据介质的介质属性的可用空间大于或等于待创建的分类数据存储区所需存储空间,如果是,则在所述一个数据介质上创建对应于所述CID的分类数据存储区,否则在所述介质池的多个数据介质上创建对应于所述CID的分类数据存储区;
A3’、在所述对应于CID的分类数据存储区覆盖的第一个数据介质上保存预设的该分类数据存储区的优化性能参数和空间配额参数。
上述方法中,步骤A所述数据管理指令为创建数据对象指令时,所述数据管理指令的优先级为第一位,所述数据管理参数为待处理数据对象所需存储空间,所述可用空间参数为存储区的可用空间,所述已用空间参数为存储区的已用空间;
所述步骤B包括:
B1、根据所述优化性能参数及优先级插入算法,将创建数据对象指令插入指令队列的第一位;
B2、在按照优先级由高至低的顺序,从指令队列中读取创建数据对象指令时,判定存储区的可用空间大于或等于待处理数据对象所需存储空间,在与所述CID对应的分类数据存储区内创建待处理数据对象,生成待处理数据对象的名称。
上述方法中,步骤A所述数据管理指令为删除数据对象指令时,所述数据管理指令的优先级为第一位,所述数据管理参数为待处理数据对象的名称,所述可用空间参数为存储区的可用空间,所述已用空间参数为存储区的已用空间;
所述步骤B包括:
B3、根据所述优化性能参数及优先级插入算法,将删除数据对象指令插入指令队列的第一位;
B4、在按照优先级由高至低的顺序,从指令队列中读取删除数据对象指令时,根据待处理数据对象的名称,删除与所述CID对应的分类数据存储区中的待处理数据对象。
上述方法中,步骤A所述数据管理指令为浏览数据对象指令时,所述数据管理指令的优先级为第二位,所述数据管理参数为待处理数据对象的名称;
所述步骤B包括:
B5、根据所述优化性能参数及优先级插入算法,将浏览数据对象指令插入指令队列的第二位;
B6、在按照优先级由高至低的顺序,从指令队列中读取浏览数据对象指令时,根据待处理数据对象的名称,读取或打开与所述CID对应的分类数据存储区中的待处理数据对象。
上述方法中,步骤A所述数据管理指令为写数据对象指令时,所述数据管理指令的优先级为第三位,所述数据管理参数为待处理数据对象名称、写数据缓存区大小及连续写数据块个数,
所述可用空间参数为存储区的可用空间和数据对象可用空间,所述已用空间参数为存储区的已用空间和数据对象已用空间;
所述步骤B包括:
B7、根据写数据对象指令及写数据缓存区大小,判断写数据缓存区是否已满,如果是,释放写数据缓存区,执行步骤B8,否则直接执行步骤B8;
B8、按照所述优化性能参数及优先级插入算法,将写数据对象指令插入指令队列的第三位;
B9、在按照优先级由高至低的顺序,从指令队列中读取写数据对象指令时,根据待处理对象的名称,判断存储区的可用空间和数据对象可用空间是否都大于或等于待处理数据对象所需存储空间,如果是,执行步骤B10,否则,返回写入失败响应;
B10、根据连续写数据块个数,将待处理数据对象包含的数据块存入写数据缓存区中,并在写数据缓存区被写满时,将写数据缓存区中暂存的待处理数据对象包含的数据块写入已创建的分类数据存储区中,更新所述可用空间参数和所述已用空间参数。
上述方法中,步骤A所述数据管理指令为读数据对象指令时,所述数据管理指令的优先级为第三位,所述数据管理参数为待处理数据对象名称、读数据缓存区大小及连续读数据块个数;
所述步骤B包括:
B11、根据所述优化性能参数及优先级插入算法,将读数据对象指令插入指令队列的第三位;
B12、在按照优先级由高至低的顺序,从指令队列中读取写数据对象指令后,执行步骤B13;
B13、判断是否从读数据缓存区中读取待处理数据对象,如果是,则根据连续读数据块个数,从待处理数据对象所属的分类数据存储区中,读取待处理数据对象包含的数据块至读数据缓存区中,否则,执行步骤B14;
B14、判断读数据缓存区是否已满,如果是,则根据连续读数据块个数,从读数据缓存区中读取数据块,否则,产生从读数据缓存区中读取待处理数据对象的指令,并执行B13。
上述方法中,所述GNS的格式为gns://CID/objectName,所述objectName是数据对象的名称。
一种面向对象的存取系统,该系统包括:包含多个数据介质的介质池及管理模块;
所述管理模块根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的类别标识符CID,查找与所述CID对应的分类数据存储区,按照与所述CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行数据管理;
所述优化性能参数至少包含数据管理指令的优先级及数据管理参数;所述空间配额参数包含可用空间参数和已用空间参数。
较佳地,所述管理模块进一步根据存储区创建指令及数据对象的类别标识符CID,在介质池包含的至少一个数据介质上创建对应于所述CID的分类数据存储区,在分类数据存储区上保存该分类数据存储区的优化性能参数和空间配额参数。
较佳地,所述管理模块进一步用于判断介质池属性中的可用空间是否大于或等于待创建的分类数据存储区所需存储空间,如果是,则在介质池包含的至少一个数据介质上创建对应于所述CID的分类数据存储区,否则,对介质池进行扩展,并更新介质池属性中的可用空间。
上述系统中,所述管理模块包括:
数据管理单元,根据存储区创建指令及数据对象的CID,判断所述介质池的任一数据介质上是否存在与所述数据对象的CID对应的分类数据存储区,如果是,则忽略存储区创建指令,否则,输入容量查询指令至容量管理单元;根据容量管理单元反馈的信息,在介质池的一个或多个数据介质上创建对应于所述CID的分类数据存储区,在所述对应于CID的分类数据存储区覆盖的第一个数据介质上保存预设的该分类数据存储区的优化性能参数和空间配额参数;将所述CID作为查找所述分类数据存储区的第一级子目录名称,生成所述数据对象的GNS信息;
所述数据管理单元根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的CID,查找与所述CID对应的分类数据存储区,按照与所述CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行数据管理;
容量管理单元,根据容量查询指令,判断所述介质池是否存在一个数据介质的介质属性中的可用空间大于或等于待创建的分类数据存储区所需存储空间,如果是,则将所述一个数据介质的信息反馈给数据管理单元,否则,将所述介质池的多个数据介质的信息反馈给数据管理单元。
上述系统中,所述数据管理单元包括:
存储区创建子单元,根据数据对象的CID,判断所述介质池的任一数据介质上是否存在与所述数据对象的CID对应的分类数据存储区,如果是,则忽略存储区创建指令,否则,输入容量查询指令至容量管理单元;根据容量管理单元反馈的信息,在介质池的一个或多个数据介质上创建对应于所述CID的分类数据存储区,在所述对应于CID的分类数据存储区覆盖的第一个数据介质上保存预设的该分类数据存储区的优化性能参数和空间配额参数;将所述CID作为查找所述分类数据存储区的第一级子目录名称,生成所述数据对象的GNS信息;
数据管理子单元,根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的CID,查找与所述CID对应的分类数据存储区,按照与所述CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行数据管理。
上述系统中,所述数据管理子单元包括:
命令队列,用于保存数据管理指令及优化性能参数的队列;所述数据管理指令为创建数据对象指令、删除数据对象指令、浏览数据对象指令、写数据对象指令或读数据对象指令;
结果队列,用于保存数据管理指令的执行结果的队列;
对象存取线程,用于根据优化性能参数包含的数据管理指令的优先级,按照优先级的高低,将输入的数据管理指令及优化性能参数插入命令队列中;用于按照优先级的高低,从结果队列中读取数据管理指令的执行结果并输出;
数据管理线程,根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的CID,查找与所述CID对应的分类数据存储区;按照优先级的高低,从命令队列中读取数据管理指令及其优化性能参数,并从容量管理单元获取空间配额参数,根据数据管理指令,创建数据对象、删除数据对象、浏览数据对象、写数据对象或读数据对象,对待处理数据对象进行数据管理;按照优先级的高低,将数据管理指令的执行结果写入结果队列。
由上述的技术方案可见,本发明提供了一种面向对象的存取方法及系统,在介质池的至少一个数据介质上创建用以保存不同类别数据的分类数据存储区,并采用GNS信息来标识分类数据存储区,采用CID来对数据对象所属数据类别进行标识,实现了对不同类别数据对象的统一管理,节省了资源;按照包含数据管理指令的优先级的优化性能参数及数据管理指令,对待处理数据对象进行数据管理,能够使关键数据获得较优的读写性能。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种面向对象的存储方法及系统,该系统在介质池的至少一个数据介质上创建用以保存不同类别数据的分类数据存储区,并采用全局名字空间(Global Namespace,GNS)信息来标识分类数据存储区,采用类别标识符(Class Identifier,CID)来对数据对象所属数据类别进行标识,实现了对不同类别数据的统一管理;该系统对于不同的数据管理指令设置了不同的优先级,并对同一数据管理指令下的不同类别的数据设置了不同的优先级,使得关键数据能够获得较优的读写性能。
本发明的数据对象为基本存储单元,它可以为文件、数据库或邮件等;在本发明中,每一个数据对象都包含若干个数据块和用以标识数据对象的属性信息的元数据。其中,数据块为对本发明的数据对象进行数据管理的操作粒度,即进行数据管理的操作对象;元数据的格式和内容可根据数据对象进行预先定义,在本发明的下述实施例中,不再对元数据的具体含义进行说明。
图1为本发明一种面向对象的存取方法的流程图。现结合图1,对本发明一种面向对象的存取方法进行说明,具体如下:
步骤101:根据CID创建分类数据存储区,并生成GNS信息;
该步骤包括:步骤1011,根据存储区创建指令,判断介质池属性中的可用空间是否小于待创建的分类数据存储区所需存储空间,如果是,则对介质池进行扩展并更新介质池属性,执行步骤1012,否则直接执行步骤1012;步骤1012,根据数据对象的CID,判断介质池的任一数据介质上是否存在与CID对应的分类数据存储区,如果是则忽略存储区创建指令,否则执行步骤1013;步骤1013,判断介质池是否存在一个数据介质的介质属性中的可用空间大于或等于待创建的分类数据存储区所需存储空间,如果是,则在一个数据介质上创建对应于CID的分类数据存储区,否则,根据待创建的分类数据存储区所需存储空间,选择介质池中的多个数据介质来创建对应于CID的分类数据存储区;步骤1014,在对应于CID的分类数据存储区所覆盖的第一个数据介质上保存预设的该分类数据存储区的性能优化参数和空间配额参数;步骤1015,将CID作为查找分类数据存储区的第一级子目录名称,生成数据对象的GNS信息。
其中,优化性能参数至少包含数据管理指令的优先级及数据管理参数;空间配额参数包含可用空间参数和已用空间参数。本发明中的优化性能参数和空间配额参数包含的参数是与具体的数据管理指令相关的,需要根据不同的数据管理指令预先设置。
步骤1011中,对介质池进行扩展的方法为增加介质池所包含的用以创建分类数据存储区的数据介质,这里可以增加数据介质的个数,也可以扩展介质池已包含的多个数据介质的存储空间。
步骤1013中,根据待创建的分类数据存储区所需存储空间,选择介质池中的多个数据介质来创建对应于CID的分类数据存储区,在选择多个数据介质时,按照介质池中各个数据介质的添加先后顺序进行选择,在添加在先的数据介质的可用空间为0时,选择添加于该数据介质之后的一个数据介质进行可用空间的判断。
步骤1014中,对应于CID的分类数据存储区所覆盖的第一个数据介质为最早添加至介质池的数据介质。
本发明中的GNS可采用的格式为gns://CID/extensionName/objectName;CID为该数据对象所属的类别ID;extensionName是该数据对象的扩展名称,可省略;objectName是该数据对象本身的名称。其中,CID可采用GUID算法,其值可由一个32字符的十六进制数值组成。
步骤102:根据数据管理指令和待处理数据的GNS信息,查找与CID对应的分类数据存储区;
该步骤包括:步骤1021,根据数据管理指令,从待处理数据的GNS信息中获取待处理对象的CID;步骤1022,根据待处理对象的CID,判断介质池包含的数据介质上是否存在与CID对应的分类数据存储区,如果是,则寻址至与CID对应的分类数据存储区,否则,忽略本次的数据管理指令,并输出CID查找失败消息,以提示用户尚未建立与CID对应的分类数据存储区。
其中,数据管理指令为创建数据对象指令、删除数据对象指令、浏览数据对象指令、写数据对象指令或读数据对象指令。
步骤103:按照优化性能参数和空间配合参数,对待处理数据对象进行数据管理。
在数据管理指令为创建数据对象指令时,优化性能参数包含的数据管理指令的优先级为第一位,数据管理参数为待处理数据对象所需存储空间,空间配额参数包含的可用空间参数为存储区的可用空间,已用空间参数为存储区的已用空间,步骤103包括:
步骤1031,根据优化性能参数及优先级插入算法,将创建数据对象指令插入指令队列的第一位;步骤1032,在按照优先级由高至低的顺序,从指令队列中读取创建数据对象指令时,判定存储区的可用空间大于或等于待处理数据对象所需存储空间,在与CID对应的分类数据存储区内创建待处理数据对象,生成待处理数据对象的名称。
在步骤1032之后,还可进一步包括:将待处理数据对象的名称作为CID的下一级目录名称,更新待处理数据对象的GNS信息。
步骤1031中的优先级插入算法包括:步骤10311,判断当前的数据管理指令的优先级是否小于待插入的数据管理指令的优先级,如果是,则将待插入的数据管理指令向优先级高的方向,移动一个指令,执行步骤10311,否则执行步骤10312,将带插入的数据管理指令插入当前的数据管理指令之后。
在数据管理指令为除创建数据对象指令之外的其他指令时,也需要执行优先级插入算法,在下述说明中,不再对优先级插入算法进行说明。
数据管理指令为删除数据对象指令时,优化性能参数包含的数据管理指令的优先级为第一位,数据管理参数为待处理数据对象的名称,空间配额参数包含的可用空间参数为存储区的可用空间,已用空间参数为存储区的已用空间。步骤103包括:
步骤1033,根据优化性能参数及优先级插入算法,将删除数据对象指令插入指令队列的第一位;步骤1034,在按照优先级由高至低的顺序,从指令队列中读取删除数据对象指令时,根据待处理数据对象的名称,删除与CID对应的分类数据存储区中的待处理数据对象。
在步骤1034之后,还可进一步包括:删除CID的下一级目录名称中的待处理数据对象的名称,更新待处理数据对象的GNS信息、存储区的可用空间和存储区的已用空间。
数据管理指令为浏览数据对象指令时,优化性能参数包含的数据管理指令的优先级为第二位,数据管理参数为待处理数据对象的名称。步骤103包括:
步骤1035,根据优化性能参数及优先级插入算法,将浏览数据对象指令插入指令队列的第二位;步骤1036,在按照优先级由高至低的顺序,从指令队列中读取浏览数据对象指令时,根据待处理数据对象的名称,读取或打开与CID对应的分类数据存储区中的待处理数据对象。
数据管理指令为写数据对象指令时,优化性能参数包含的数据管理指令的优先级为第三位,数据管理参数为待处理数据对象名称、写数据缓存区大小及连续写数据块个数;可用空间参数为存储区的可用空间和数据对象可用空间,已用空间参数为存储区的已用空间和数据对象已用空间。
图2为本发明写数据对象的方法流程图。现结合图2,对本发明步骤103中写数据对象的具体方法进行说明,具体如下:
本实施例中的写数据缓存区进一步包括内存数据缓存区和缓存介质。
2031,根据写数据对象指令,判断与待处理数据对象对应的内存数据缓存区是否已满,如果是,执行步骤2032,否则执行步骤2034;
步骤2032,判断与待处理数据对象对应的缓存介质是否已满,如果是,执行步骤2033,否则执行步骤2034;
步骤2033,清空内存数据缓存区和缓存介质;
步骤2034,按照优化性能参数及优先级插入算法,将写数据对象指令插入指令队列的第三位;
步骤2035,按照优先级由高至低的顺序,从指令队列中读取写数据对象指令;
步骤2036,根据待处理对象的名称,判断存储区的可用空间和数据对象可用空间是否都大于或等于待处理数据对象所需存储空间,如果是,执行步骤2037,否则,执行步骤2039;
步骤2037,根据连续写数据块个数,将待处理数据对象包含的数据块存入未被写满的内存数据缓存区或未被写满的缓存介质中;
步骤2038,在写数据缓存区或缓存介质被写满时,将写数据缓存区或缓存介质中暂存的待处理数据对象包含的数据块写入已创建的分类数据存储区中,更新可用空间参数和已用空间参数;
步骤2039,返回写入失败响应。
其中,步骤2037中,在完成对待处理数据对象包含的一个数据块的写入后,就可更新可用空间参数中数据对象的可用空间及已用空间参数中数据对象的已用空间;在完成对待处理数据对象包含的所有数据块的写入后,就可更新可用空间参数中存储区的可用空间及已用空间参数中存储区的已用空间。
数据管理指令为读数据对象指令时,数据管理指令的优先级为第三位,数据管理参数为待处理数据对象名称、读数据缓存区大小及连续读数据块个数。
图3为本发明读数据对象的方法流程图。现结合图3,对本发明步骤103中读数据对象的方法进行说明,具体如下:
本实施例的读数据缓存区包含内存数据缓存区和缓存介质。
步骤3031,根据优化性能参数及优先级插入算法,将读数据对象指令插入指令队列的第三位;
步骤3032,按照优先级由高至低的顺序,从指令队列中读取写数据对象指令;
步骤3033,判断是否从读数据缓存区中读取待处理数据对象,如果是,则执行3037,否则执行步骤3034;
步骤3034,判断读数据缓存区是否已满,如果是,则执行步骤3035,否则执行步骤3036;
步骤3035,根据连续读数据块个数,从读数据缓存区中读取数据块;
步骤3036,产生从读数据缓存区中读取待处理数据对象的指令,并执行步骤3033;
步骤3037,根据连续读数据块个数,从待处理数据对象所属的分类数据存储区中,读取待处理数据对象包含的数据块至读数据缓存区中。
其中,步骤3033中判断是否从读数据缓存区中读取待处理数据对象的依据是接收到的读取写数据对象指令的属性,接收到的读区写数据对象指令可能是外部输入的数据管理指令的一种,也可能是步骤3036中产生的从读数据缓存区中读取待处理数据对象的指令。
由于多个数据管理指令可能具有相同的优先级,在利用优先级插入算法进行指令排队时,可进一步根据预设的待处理数据对象的优先级进行指令排队,比如,具有较高优先级的待处理数据对象的创建数据对象指令排列在具有较低优先级的待处理数据对象的删除数据对象指令之前;在对同一优先级的多个待处理数据对象执行同一优先级的数据管理指令时,可按照先入先出算法进行指令排队,比如,先加入指令队列的数据管理指令被先执行。
图4为本发明一种面向对象的存取系统的结构示意图。现结合图4,对本发明一种面向对象的存取系统的结构进行说明,具体如下:
本发明一种面向对象的存储系统包括:介质池40和管理模块41。其中,介质池40包含多个数据介质401。
管理模块41根据存储区创建指令及数据对象的CID,在介质池40包含的至少一个数据介质401上创建对应于CID的分类数据存储区,在分类数据存储区上保存该分类数据存储区的优化性能参数和空间配额参数,并根据CID生成数据对象的GNS信息。
管理模块41根据数据管理指令和待处理数据对象的GNS信息,获得待处理数据对象的CID,查找与CID对应的分类数据存储区,按照与CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行管理。
管理模块41进一步用于判断介质池40的属性中记录的介质池的可用空间是否大于或等于待创建的分类数据存储区所需存储空间,如果是,则在介质池40包含的至少一个数据介质401上创建对应于CID的分类数据存储区,否则,对介质池40进行扩展,并更新介质池40的属性中记录的介质池的可用空间。其中,管理模块41可将已有的介质作为介质池40的数据介质401,添加至本发明的存取系统中,以对介质池40的可用空间进行扩展。
其中,管理模块41包含数据管理单元411和容量管理单元412。
数据管理单元411根据存储区创建指令及数据对象的CID,判断介质池40的任一数据介质401上是否存在与数据对象的CID对应的分类数据存储区,如果是,则忽略存储区创建指令,否则,输入容量查询指令至容量管理单元412;根据容量管理单元412反馈的信息,在介质池40的一个或多个数据介质401上创建对应于所述CID的分类数据存储区,在对应于CID的分类数据存储区覆盖的第一个数据介质401上保存预设的该分类数据存储区的优化性能参数和空间配额参数;将CID作为查找分类数据存储区的第一级子目录名称,生成数据对象的GNS信息。
数据管理单元411根据数据管理指令和待处理数据对象的GNS信息,获得待处理数据对象的CID,查找与CID对应的分类数据存储区,按照与CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行数据管理。
容量管理单元412用于根据数据管理单元411输出的容量查询指令,判断介质池40是否存在一个数据介质401的可用空间大于或等于创建分类数据存储区所需存储空间,如果是,则将该数据介质401的信息反馈给数据管理单元411,否则,将介质池40的多个数据介质401的信息反馈给数据管理单元411。容量管理单元412可从介质池40、数据介质401或分类数据存储区上保存的用以记载属性的文件中,获得其可用空间和已用空间,进而根据数据管理单元411输出的容量查询指令,判断介质池40、数据介质401或分类数据存储区的可用空间是否满足需求;容量管理单元412可在数据管理单元411完成对介质池40的任何操作,对介质池40、数据介质401或分类数据存储区的属性中的可用空间和已用空间进行更新,实现对上述存储介质的有效管理。
其中,数据管理单元411包括存储区创建子单元4111和数据管理子单元4112。
存储区创建子单元4111根据数据对象的CID,判断介质池40的任一数据介质401上是否存在与数据对象的CID对应的分类数据存储区,如果是,则忽略存储区创建指令,否则,输入容量查询指令至容量管理单元412;根据容量管理单元412反馈的信息,在介质池40的一个或多个数据介质401上创建对应于CID的分类数据存储区,在对应于CID的分类数据存储区覆盖的第一个数据介质401上保存预设的该分类数据存储区的优化性能参数和空间配额参数;将CID作为查找分类数据存储区的第一级子目录名称,生成数据对象的GNS信息。
数据管理子单元4112根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的CID,查找与所述CID对应的分类数据存储区,按照与所述CID对应的分类数据存储区的优化性能参数和空间配额参数,对待处理数据对象进行数据管理。
图5为本发明数据管理子单元的结构示意图。现结合图5,对本发明数据管理子单元的结构进行说明,具体如下:
本发明的数据管理子单元4112包含:命令队列501、结果队列502、对象存取线程503和数据管理线程504。
命令队列501用于保存数据管理指令及优化性能参数的队列;数据管理指令为创建数据对象指令、删除数据对象指令、浏览数据对象指令、写数据对象指令或读数据对象指令。
结果队列502用于保存数据管理指令的执行结果的队列。其中,数据管理指令的执行结果包含:创建数据对象成功、创建数据对象失败、删除数据对象成功、删除数据对象失败、待浏览数据对象包含的数据块、写数据对象成功、写数据对象失败、待读取的数据对象包含的数据块或读数据对象失败等结果。
对象存取线程503用于根据优化性能参数包含的数据管理指令的优先级,按照优先级的高低,将输入的数据管理指令及优化性能参数插入命令队列501中;用于按照优先级的高低,从结果队列502中读取数据管理指令的执行结果并输出。
数据管理线程504根据数据管理指令和待处理数据对象的GNS信息,获得所述待处理数据对象的CID,查找与所述CID对应的分类数据存储区;按照优先级的高低,从命令队列501中读取数据管理指令及其优化性能参数,并从容量管理单元412获取空间配额参数,根据数据管理指令,创建数据对象、删除数据对象、浏览数据对象、写数据对象或读数据对象,对待处理数据对象进行数据管理;按照优先级的高低,将数据管理指令的执行结果写入结果队列502。
其中,数据管理线程504再根据具体的数据管理指令,对待处理数据对象进行数据管理的过程中,可按照图1中的步骤103的方法,对命令队列501、结果队列502、数据介质401、介质池40包含的缓存介质(图4中未示出)及内存数据缓存区(图4中未示出)进行具体的操作,实现对待处理数据对象执行具体的数据管理,在此不再赘述。
本发明的上述较佳实施例中,使用GNS和CID对数据对象进行标识,而可以将不同平台、不同协议、不同类型的数据对象命名同一,并且保证了在全局范围内进行唯一标识;通过GNS,可以对多个数据对象进行有效的管理和访问,且多个数据对象可以属于不同类别的数据,节约了系统资源。本发明中每一类数据对象的CID是不同的,且相同的CID所对应的分类数据存储区具有不同的性能优化参数,在使用本发明的方法及系统进行数据对象的存取时,用于保存关键数据的分类数据存储区的性能优化参数的优先级可以设置地高一些,从而使该分类数据存储区上保存的关键数据获得较优的读写性能,换句话说,本发明的系统和方法对于不同的数据管理指令设置了不同的优先级,并对同一数据管理指令下的不同类别的数据设置了不同的优先级,使得关键数据能够获得较优的读写性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。