公开/公告号CN102193952A
专利类型发明专利
公开/公告日2011-09-21
原文格式PDF
申请/专利权人 联想(北京)有限公司;
申请/专利号CN201010129886.1
发明设计人 潘勇;
申请日2010-03-19
分类号G06F17/30;H04L29/08;
代理机构北京银龙知识产权代理有限公司;
代理人许静
地址 100085 北京市海淀区上地信息产业基地创业路6号
入库时间 2023-12-18 03:13:16
法律状态公告日
法律状态信息
法律状态
2014-03-12
授权
授权
2011-11-23
实质审查的生效 IPC(主分类):G06F17/30 申请日:20100319
实质审查的生效
2011-09-21
公开
公开
技术领域
本发明主要涉及机群系统领域,特别是指一种元数据服务器、机群系统及机群系统中的文件创建方法。
背景技术
机群(cluster)系统由互相连接的多个独立计算机所组成,该计算机可以是单机或多处理器系统,例如PC(个人计算机)、工作站或SMP(对称多处理系统),每个计算机都有自己的存储器、I/O(输入/输出)设备和操作系统。机群系统对用户来说是一个单一的系统,能够提供低价高效的高性能环境和快速可靠的服务。由于机群系统具有高性价比的优势,其已成为高性能计算机的主流结构。
在机群系统中,通常配备有大容量的存储设备,在机群系统运作时,需要对这些存储设备进行管理。同时,机群系统还需要为不同客户端(计算结点)的用户提供文件共享服务,机群文件系统为机群系统提供了上述服务,它将机群系统中的所有存储设备整合起来,建立一个统一的名字空间(文件和目录的组织结构)。各个客户端看到目录结构一致的文件系统,不同结点(客户端)的用户可以采用透明的方式访问相同的文件。机群文件系统中的数据通常不存储在本客户端的磁盘中,而是存储在存储服务器上,因而通常都会设有专用的存储服务器(输入输出I/O服务器)。以写为例,应用进程通过机群文件系统的客户端写数据时,客户端首先将数据通过网络传送到元数据服务器端,然后将检索到的元数据(如文件的分布信息)返回到客户端;客户端根据文件的分布等信息,将数据直接发送到存储服务器端,存储服务器再将接收到的数据写到存储服务器的存储设备中。
机群文件系统的IO路径比较长,整个操作的执行过程涉及到多个关键组件,比如机群文件系统客户端的缓存、存储服务器端的缓存、存储服务器端IO调度和控制器、处理器以及网络资源。目前,磁盘访问和网络传输性能相对较低,落后于其它组件的发展。因此,对于机群文件系统的I/O密集型应用来说,数据的磁盘访问和网络传输时间占据了整个请求处理时间的绝大部分。
通过以上的描述可知:在机群文件系统中,一般使用三种类型的结点:元数据服务器、I/O服务器和计算结点;元数据服务器负责元数据记录(包括文件目录树组织、属性维护、文件操作日志记录、授权访问等)的创建和管理,管理整个存储系统的命名空间,对外提供单一的系统映像,并负责整个存储集群的管理监控;I/O服务器负责数据文件的创建,数据文件是存储文件系统的文件数据,负责数据的存储和检索;文件的创建分成元数据记录和数据文件两部分,由于数据文件存放在分布式环境下的多个I/O服务器上,而元数据记录存放在专用的元数据服务器中,因此计算结点创建文件时,需要分别与上述二种服务器进行消息通讯,因此在多个I/O服务器上创建数据文件时,所耗费时间占用了整个文件创建的大部分时间。但在机群文件系统的很多应用中,常常在计算过程中需要创建很多的中间文件,这些文件因数据量小造成实际的文件数据只能存放于部分I/O服务器上的数据文件中,从而导致大部分I/O服务器上的数据文件实际为空文件,浪费宝贵的网络通信资源和I/O服务器资源,增加了文件创建的延时。
发明内容
本发明实施例提出一种元数据服务器、机群系统及机群系统中的文件创建方法,通过将小于一定阈值的数据写入元数据服务器中的元数据记录中,减少了机群系统中网络的通信次数,减少了文件创建和访问延时,大大提高了文件的I/O性能。
本发明实施例的技术方案是这样实现的:
一种元数据服务器,应用于机群系统中,包括:
第一接收单元,用于接收所述机群系统中的计算结点的第一文件创建请求包,所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据;
第一创建单元,用于根据所述第一文件创建请求包创建第一元数据记录,所述第一元数据记录包含所述第一文件数据的第一扩展属性;
写入单元,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
优选的,还包括:
第一判断单元,用于判断写入所述第一元数据记录的文件数据是否大于第二预设阈值;
第一交互单元,用于当所述第一判断单元判断写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与机群系统中的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
优选的,还包括:
第二判断单元,用于判断写入所述第一元数据记录的文件数据是否大于第三预设阈值;
迁移单元,用于当所述第二判断单元判断写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的所述第一数据文件中。
一种机群系统,包括元数据服务器、输入输出I/O服务器和计算结点;
所述元数据服务器包括:
第一接收单元,用于接收所述计算结点的第一文件创建请求包,所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据;
第一创建单元,用于根据所述第一文件创建请求包创建第一元数据记录,所述第一元数据记录包含所述第一文件数据的第一扩展属性;
写入单元,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中;
所述计算结点包括:
第三判断单元,用于判断所述第一文件数据的大小是否小于所述第一预设阈值;
第一发送单元,用于当所述第三判断单元判断所述第一文件数据的大小小于所述第一预设阈值时,向所述元数据服务器发送所述第一文件创建包。
优选的,所述元数据服务器还包括:
第一判断单元,用于判断写入所述第一元数据记录的文件数据是否大于第二预设阈值;
第一交互单元,用于当所述第一判断单元判断写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与机群系统中的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
优选的,所述元数据服务器还包括:
第二判断单元,用于判断写入所述第一元数据记录的文件数据是否大于第三预设阈值;
迁移单元,用于当所述第二判断单元判断写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的所述第一数据文件中。
优选的,所述元数据服务器还包括:
第二接收单元,用于接收所述计算结点的第二文件创建请求包;
第二创建单元,用于根据所述第二文件创建请求包创建第二元数据记录,并与所述第二元数据记录所分配的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第二数据文件;
应答单元,用于根据所述第二元数据记录返回应答信息给所述计算结点;
所述计算结点还包括:
第二发送单元,用于当所述第三判断单元判断所述第一文件数据的大小不小于所述第一预设阈值时,向所述元数据服务器发送第二文件创建请求包;
第三发送单元,用于当接收到所述应答单元的应答信息时,向所述输入输出I/O服务器发送不小于所述第一预设阈值的第一文件数据,将不小于所述第一预设阈值的第一文件数据写入所述输入输出I/O服务器的所述第二数据文件中。
一种机群系统中的文件创建方法,应用于由元数据服务器、输入输出I/O服务器和计算结点所组成的机群系统中,包括:
接收所述计算结点的第一文件创建请求包,所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据;
根据所述第一文件创建请求包创建第一元数据记录,所述第一元数据记录包含所述第一文件数据的第一扩展属性;
将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
优选的,所述将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中后还包括:
判断写入所述第一元数据记录的文件数据是否大于第二预设阈值;
当写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与所述输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
优选的,所述与所述输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件后还包括:
判断写入所述第一元数据记录的文件数据是否大于第三预设阈值;
当写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的所述第一数据文件中。
本发明通过将小于一定阈值的数据写入元数据服务器中的元数据记录中,而不用再在I/O服务器中创建数据文件,从而减少了机群系统中网络的通信次数,减少了文件创建和访问延时,大大提高了文件的I/O性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例一种元数据服务器的结构示意图;
图2为本发明第二实施例一种元数据服务器的结构示意图;
图3为本发明第一实施例一种机群系统的结构示意图;
图4为本发明第二实施例一种机群系统的结构示意图;
图5为本发明第一实施例一种机群系统中的文件创建方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明第一实施例一种元数据服务器的结构示意图。所述元数据服务器100应用于机群系统中,所述机群系统由元数据服务器100、输入输出I/O服务器和计算结点组成。所述元数据服务器100包括第一接收单元110、第一创建单元120和写入单元130。
所述第一接收单元110,用于接收所述机群系统中的计算结点的第一文件创建请求包。
所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据。
计算结点想要写入文件数据,需要先向元数据服务器100发送文件创建请求,请求元数据服务器100创建元数据记录。
在本实施例中,所述第一文件创建请求包中除了包括文件创建请求外,还包括小于第一预设阈值的第一文件数据,也就是说,在本实施例中,所述文件创建请求和所述第一文件数据(小于第一预设阈值)打包由所述计算结点发送至所述元数据服务器100。
所述第一创建单元120,用于根据所述第一文件创建请求包创建第一元数据记录。所述第一元数据记录包含所述第一文件数据的第一扩展属性。
所述第一元数据记录除了包括文件目录树组织、属性维护、文件操作日志记录、授权访问等信息外,还包括所述第一文件数据的第一扩展属性,以便于所述第一文件数据写入所述第一元数据记录的第一扩展属性。
所述写入单元130,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
在现在技术中,计算结点的待写入文件数据都写入相应的输入输出I/O服务器中,相应的输入输出I/O服务器由元数据服务器100创建的元数据记录确定。因此,在现有技术中,不论待写入文件数据是大是小,都需要先与元数据服务器100通信,再与输入输出I/O服务器通信,需要耗费较多的网络通信资源和I/O服务器资源。
而在本发明中,如果待写入的文件数据比较小,如小于第一预设阈值,则可以直接将所述待写入文件数据作为所述第一元数据记录的扩展属性写入元数据服务器100创建的元数据记录中,而不需要将较小的文件数据再写入I/O服务器,从而不需要再与I/O服务器进行通信,因此能减少网络通信资源和I/O服务器资源的耗费。
所述第一预设阈值可以根据实际需要进行设置,如可以设置为1.5M、2M其它值,本发明对此不进行任何限定。
本发明通过将小于一定阈值的数据写入元数据服务器中的元数据记录中,而不用再在I/O服务器中创建数据文件,从而减少了机群系统中网络的通信次数,减少了文件创建和访问延时,大大提高了文件的I/O性能。
参照图2,示出了本发明第二实施例一种元数据服务器的结构示意图。所述元数据服务器100应用于机群系统中,所述机群系统由元数据服务器100、输入输出I/O服务器和计算结点组成。所述元数据服务器100包括第一接收单元110、第一创建单元120、写入单元130、第一判断单元210和第一交互单元220。
所述第一接收单元110,用于接收所述机群系统中的计算结点的第一文件创建请求包。
所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据。
计算结点想要写入文件数据,需要先向元数据服务器100发送文件创建请求,请求元数据服务器100创建元数据记录。
在本实施例中,所述第一文件创建请求包中除了包括文件创建请求外,还包括小于第一预设阈值的第一文件数据,也就是说,在本实施例中,所述文件创建请求和所述第一文件数据(小于第一预设阈值)打包由所述计算结点发送至所述元数据服务器100。
所述第一创建单元120,用于根据所述第一文件创建请求包创建第一元数据记录。所述第一元数据记录包含所述第一文件数据的第一扩展属性。
所述第一元数据记录除了包括文件目录树组织、属性维护、文件操作日志记录、授权访问等信息外,还包括所述第一文件数据的第一扩展属性,以便于所述第一文件数据写入所述第一元数据记录的第一扩展属性。
所述写入单元130,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
在现在技术中,计算结点的待写入文件数据都写入相应的输入输出I/O服务器中,相应的输入输出I/O服务器由元数据服务器100创建的元数据记录确定。因此,在现有技术中,不论待写入文件数据是大是小,都需要先与元数据服务器100通信,再与输入输出I/O服务器通信,需要耗费较多的网络通信资源和I/O服务器资源。
而在本发明中,如果待写入的文件数据比较小,如小于第一预设阈值,则可以直接将所述待写入文件数据作为所述第一元数据记录的扩展属性写入元数据服务器100创建的元数据记录中,而不需要将较小的文件数据再写入I/O服务器,从而不需要再与I/O服务器进行通信,因此能减少网络通信资源和I/O服务器资源的耗费。
所述第一预设阈值可以根据实际需要进行设置,如可以设置为1.5M、2M其它值,本发明对此不进行任何限定。
所述第一判断单元210,用于判断写入所述第一元数据记录的文件数据是否大于第二预设阈值。
将所述第一文件数据写入所述第一元数据记录的第一扩展属性后,即成为所写入所述第一元数据记录的文件数据。
所述第一交互单元220,用于当所述第一判断单元210判断写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与机群系统中的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
在本发明的另一实施例中,所述元数据服务器100还包括:
第二判断单元230,用于判断写入所述第一元数据记录的文件数据是否大于第三预设阈值。
迁移单元240,用于当所述第二判断单元230判断写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的第一数据文件中。
由于所述元数据服务器100的存储空间毕竟有限,如果写入所述元数据服务器100的文件数据太多则会影响所述元数据服务器100的性能,并可能造成其它影响,因此,如果写入所述第一元数据记录的文件数据大于第二预设阈值,则需要进行将文件数据迁移到I/O服务器的准备,与输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建数据文件。如果写入所述第一元数据记录的文件数据大于第三预设阈值,则需要将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的数据文件中,从而使所述元数据服务器100的存储空间不会被太多的文件数据所占据。
所述第二预设阈值和第三预设阈值可以根据实际需要进行设置,本发明对此不进行任何的限制,所述第三预设阈值一般大于所述第二预设阈值,当然,所述第三预设阈值也可以与所述第二预设阈值相等,另外所述第三预设阈值一般情况下与所述第一预设阈值相等,如都为1.5M,当然,所述第三预设阈值也可以不与所述第一预设阈值相等。
文件系统在初始创建时,只在元数据服务器上创建元数据记录,同时将文件数据以元数据扩展属性的形式也存储在元数据记录中。根据机群规模和具体应用的情况,可以设置两个与文件大小有关的阈值:文件预迁移阈值(第二预设阈值)和小文件阈值(第三预设阈值)。随着文件的不断写入数据,当文件大小超过预迁移阈值时,在I/O服务器上创建数据文件;当文件大小超过小文件阈值时,则将存储在元数据扩展属性中的文件数据迁移到所创建的I/O服务器中。从而实现I/O服务器创建数据文件以及数据文件写入数据的过程与计算结点的I/O操作相重叠,节省文件创建时延。
采用本发明技术方案后:
1、对于机群系统中文件的创建,无需创建数据文件,最小化文件系统中网络的通信次数,减少文件的创建和访问延时,大大提高文件的I/O性能,特别是在大规模文件的应用中,效果会更加明显;
2、根据机群规模和具体应用的情况,可以合理设定文件数据的迁移阈值,使机群文件系统更有效率,改善整个系统的性能,具有很好的灵活性;
3、充分利用了元数据服务器处理元数据的过程,发挥元数据服务器的能力,全面提高机群文件系统对具体应用的性能。
参照图3,示出了本发明第一实施例一种机群系统的结构示意图。所述机群系统包括元数据服务器100、输入输出I/O服务器300和计算结点200。
其中,所述元数据服务器100包括:
第一接收单元110,用于接收所述机群系统中的计算结点的第一文件创建请求包。
所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据。
计算结点想要写入文件数据,需要先向元数据服务器100发送文件创建请求,请求元数据服务器100创建元数据记录。
在本实施例中,所述第一文件创建请求包中除了包括文件创建请求外,还包括小于第一预设阈值的第一文件数据,也就是说,在本实施例中,所述文件创建请求和所述第一文件数据(小于第一预设阈值)打包由所述计算结点发送至所述元数据服务器100。
第一创建单元120,用于根据所述第一文件创建请求包创建第一元数据记录。所述第一元数据记录包含所述第一文件数据的第一扩展属性。
所述第一元数据记录除了包括文件目录树组织、属性维护、文件操作日志记录、授权访问等信息外,还包括所述第一文件数据的第一扩展属性,以便于所述第一文件数据写入所述第一元数据记录的第一扩展属性。
写入单元130,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
所述计算结点200包括:
第三判断单元320,用于判断所述第一文件数据的大小是否小于所述第一预设阈值。
第一发送单元310,用于当所述第三判断单元320判断所述第一文件数据的大小小于所述第一预设阈值时,向所述元数据服务器100发送所述第一文件创建包。
在本发明的另一实施例中,所述元数据服务器100还包括:
所述第一判断单元210,用于判断写入所述第一元数据记录的文件数据是否大于第二预设阈值。
将所述第一文件数据写入所述第一元数据记录的第一扩展属性后,即成为所写入所述第一元数据记录的文件数据。
所述第一交互单元220,用于当所述第一判断单元210判断写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与机群系统中的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
在本发明的另一实施例中,所述元数据服务器100还包括:
第二判断单元230,用于判断写入所述第一元数据记录的文件数据是否大于第三预设阈值。
迁移单元240,用于当所述第二判断单元230判断写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的第一数据文件中。
由于所述元数据服务器100的存储空间毕竟有限,如果写入所述元数据服务器100的文件数据太多则会影响所述元数据服务器100的性能,并可能造成其它影响,因此,如果写入所述第一元数据记录的文件数据大于第二预设阈值,则需要进行将文件数据迁移到I/O服务器的准备,与输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建数据文件。如果写入所述第一元数据记录的文件数据大于第三预设阈值,则需要将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的数据文件中,从而使所述元数据服务器100的存储空间不会被太多的文件数据所占据。
所述第二预设阈值和第三预设阈值可以根据实际需要进行设置,本发明对此不进行任何的限制,所述第三预设阈值一般大于所述第二预设阈值,当然,所述第三预设阈值也可以与所述第二预设阈值相等,另外所述第三预设阈值一般情况下与所述第一预设阈值相等,如都为1.5M,当然,所述第三预设阈值也可以不与所述第一预设阈值相等。
本发明通过将小于一定阈值的数据写入元数据服务器100中的元数据记录中,而不用再在I/O服务器中创建数据文件,从而减少了机群系统中网络的通信次数,减少了文件创建和访问延时,大大提高了文件的I/O性能。
参照图4,示出了本发明第二实施例一种机群系统的结构示意图。所述机群系统包括元数据服务器100、输入输出I/O服务器300和计算结点200。
其中,所述元数据服务器100包括:
第一接收单元110,用于接收所述机群系统中的计算结点的第一文件创建请求包。
所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据。
第一创建单元120,用于根据所述第一文件创建请求包创建第一元数据记录。所述第一元数据记录包含所述第一文件数据的第一扩展属性。
写入单元130,用于将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
第二接收单元410,用于接收所述计算结点的第二文件创建请求包。
所述第二文件创建请求包与所述第一文件创建请求包的不同之处在于,所述第二文件创建请求包中只包括文件创建请求,而不包括文件数据(如小于第一预设阈值的第一文件数据)。
第二创建单元420,用于根据所述第二文件创建请求包创建第二元数据记录,并与所述第二元数据记录所分配的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第二数据文件。
所述第二元数据记录与所述第一元数据记录的不同之处在于,所述第二元数据记录中必须包括相应的输入输出I/O服务器信息,而所述第一元数据记录中可以没有,并且所述第一元数据记录中必须包括第一扩展属性,以便写入所述文件数据,而所述第二元数据记录中则可以没有所述第一扩展属性。
应答单元430,用于根据所述第二元数据记录返回应答信息给所述计算结点。
所述应答信息中包括相应的输入输出I/O服务器信息,通知计算结点将数据写入相应的输入输出I/O服务器。
所述计算结点200包括:
第三判断单元320,用于判断所述第一文件数据的大小是否小于所述第一预设阈值。
第一发送单元310,用于当所述第三判断单元320判断所述第一文件数据的大小小于所述第一预设阈值时,向所述元数据服务器100发送所述第一文件创建包。
第二发送单元440,用于当所述第三判断单元320判断所述第一文件数据的大小不小于所述第一预设阈值时,向所述元数据服务器100发送第二文件创建请求包。
第三发送单元450,用于当接收到所述应答单元430的应答信息时,向所述输入输出I/O服务器300发送不小于所述第一预设阈值的第一文件数据,将不小于所述第一预设阈值的第一文件数据写入所述输入输出I/O服务器的所述第二数据文件中。
在本发明的另一实施例中,所述元数据服务器100还包括:
所述第一判断单元210,用于判断写入所述第一元数据记录的文件数据是否大于第二预设阈值。
将所述第一文件数据写入所述第一元数据记录的第一扩展属性后,即成为所写入所述第一元数据记录的文件数据。
所述第一交互单元220,用于当所述第一判断单元210判断写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与机群系统中的输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
在本发明的另一实施例中,所述元数据服务器100还包括:
第二判断单元230,用于判断写入所述第一元数据记录的文件数据是否大于第三预设阈值。
迁移单元240,用于当所述第二判断单元230判断写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的第一数据文件中。
由于所述元数据服务器100的存储空间毕竟有限,如果写入所述元数据服务器100的文件数据太多则会影响所述元数据服务器100的性能,并可能造成其它影响,因此,如果写入所述第一元数据记录的文件数据大于第二预设阈值,则需要进行将文件数据迁移到I/O服务器的准备,与输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建数据文件。如果写入所述第一元数据记录的文件数据大于第三预设阈值,则需要将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的数据文件中,从而使所述元数据服务器100的存储空间不会被太多的文件数据所占据。
所述第二预设阈值和第三预设阈值可以根据实际需要进行设置,本发明对此不进行任何的限制,所述第三预设阈值一般大于所述第二预设阈值,当然,所述第三预设阈值也可以与所述第二预设阈值相等,另外所述第三预设阈值一般情况下与所述第一预设阈值相等,如都为1.5M,当然,所述第三预设阈值也可以不与所述第一预设阈值相等。
在本实施例中,如果待写入的数据较大,如大于或等于第一预设阈值,则计算结点先与元数据服务器100通信,由元数据服务器100建立元数据记录,并通知计算结点相应的输入输出I/O服务器300等信息,然后计算结点再与相应的输入输出I/O服务器300通信,将待写入文件数据写入相应的输入输出I/O服务器300通信。
如果待写入的数据较小,如小于第一预设阈值,则按图3所示实施例的方法进行处理,从而减少网络通信资源和I/O服务器资源的耗费。
参照图5,示出了本发明第一实施例一种机群系统中的文件创建方法的流程示意图,所述方法应用于由元数据服务器100、输入输出I/O服务器300和计算结点200所组成的机群系统中。
所述方法包括:
步骤S510、接收所述计算结点的第一文件创建请求包。
所述第一文件创建包中至少包括小于第一预设阈值的第一文件数据。
步骤S520、根据所述第一文件创建请求包创建第一元数据记录。
所述第一元数据记录包含所述第一文件数据的第一扩展属性
步骤S530、将所述第一文件数据写入所述第一元数据记录的所述第一扩展属性中。
本发明通过将小于一定阈值的数据写入元数据服务器中的元数据记录中,而不用再在I/O服务器中创建数据文件,从而减少了机群系统中网络的通信次数,减少了文件创建和访问延时,大大提高了文件的I/O性能。
在本发明的另一实施例中,所述步骤S530后还包括:
步骤S540、判断写入所述第一元数据记录的文件数据是否大于第二预设阈值。
步骤S550、当写入所述第一元数据记录的文件数据大于所述第二预设阈值时,与所述输入输出I/O服务器进行交互,通知所述输入输出I/O服务器创建第一数据文件。
步骤S560、判断写入所述第一元数据记录的文件数据是否大于第三预设阈值。
步骤S570、当写入所述第一元数据记录的文件数据大于所述第三预设阈值时,将写入所述第一元数据记录的文件数据迁移至所述输入输出I/O服务器的第一数据文件中。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 升降机群系统的控制方法,升降机群系统和带有升降机群系统的大规模物体运输方法
机译: 无人机群控制方法及具有该方法的无人机群控制系统
机译: 使用主机群集的网络调度程序的数据传输系统中的路由器监视系统