数据块副本数量调整方法及元数据服务器节点的制作方法

文档序号:7669314阅读:191来源:国知局

专利名称::数据块副本数量调整方法及元数据服务器节点的制作方法
技术领域
:本发明涉及一种数据块副本数量的调整技术,尤其涉及分布式文件系统中的数据块副本数量的调整方法及相应的元数据服务器节点。
背景技术
:分布式文件系统是一种基于廉价计算机节点本地存储构建的分布式存储系统。它通过将不同服务器上的共享文件夹组织在一起,构建成一个目录树,使用户只需访问一个共享的根目录即可访问分布在网络上的文件或文件夹,而不必知道这些文件的实际物理位置。与传统的石兹盘阵列和存域网(StorageAreaNetwork,简称SAN)存储系统相比,有存储性Y介比高、可扩展性强等优点。现有的分布式文件系统还可以被互联网业务提供商,如Google、Yahoo等,作为数据处理平台。如图1所示,现有的分布式文件系统通常由元数据服务器节点和多个数据块节点组成。其中,元数据服务器节点用于保存各个文件的数据分块情况、各个数据块所在的数据块节点的名称,以及每个数据块节点上包含的数据块的信息等;数据块节点用于保存实际的数据块,通常每个数据块大小为64MB或128MB。当客户端软件需要对上述分布式文件系统进行数据存取访问时,首先通过元数据服务器节点获取或建立文件的数据块的位置;然后直接与相应数据块所在的数据块节点进行通信,进行读写数据块等操作。现有的分布式文件系统一般采用普通的廉价计算机节点作为硬件平台,由于普通的计算机节点可靠性不高,为了提高系统可靠性和数据可用性,分布式文件系统通常采用固定数量的多副本方式保存数据块,例如对于同一个数据块,可以在不同的数据块节点保存3个副本。元数据服务器节点通过心跳监控各数据块节点的状态,保证系统中各数据块总是具有固定的副本数,以便在某个计算机节点发生宕机时,仍然能够有可用的数据副本,以保证系统的可靠性。现有技术的缺陷在于上述分布式文件系统的多副本方式只考虑了数据的可用性而没有考虑到电信业务中不同数据的响应时间和访问频率的不同。对于不同的数据,其访问频率和响应时间是随着时间的迁移而变化的。当某些数据的访问频率升高时,各个数据块所需的聚合带宽增加。然而,由于现有分布式文件系统中对各个数据块设定的副本数都是固定的,因此难以满足高访问频率的需要,增加了相应数据块的响应时间,影响了系统应用性能的提高。
发明内容本发明要解决的问题是采用固定副本数量的分布式文件系统,无法根据数据块的访问频率或响应时间对副本数量进行调整,从而影响系统性能的提高。为了解决上述问题,本发明的一个实施例是提供了一种数据块副本数量调整方法,包括元数据服务器节点查询一数据块副本的副本调整信息;当所述副本调整信息中设定的副本调整时刻达到时,根据所述副本调整信息中与该副本调整时刻相应的副本调整数对保存在数据块节点中的所述数据块副本的副本数量进行调整。为了解决上述问题,本发明的一个实施例是提供了一种元数据服务器节点,包括元数据处理模块和副本管理模块,其中元数据处理模块包括第一处理子模块,用于查询一数据块副本的副本调整信息,当所述副本调整信息中设定的副本调整时刻达到时,根据所述副本调整信息中与该副本调整时刻相应的副本调整数,向副本管理模块发送副本调整指令;副本管理模块包括第一管理子模块,用于根据来自于第一处理子模块的副本调整指令,选择相应数量的数据块副本的保存位置,并数据块副本保存到相应的数据块节点中。通过本发明,元数据服务器节点可以根据副本调整信息中包含的副本调整时刻和副本调整数对各个数据块的副本数量进行调整。使得可以对响应时间很长或访问频率高的数据块设置更多的副本数量,以提高用户访问这些数据的聚合带宽;并且,当数据块的响应时间变短,或访问频率下降时,减少副本数,以便将存储空间和输入输出带宽留给其他数据块。从而在保证数据块的可用性及可靠性的同时,提高了系统资源的利用效率。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图1为现有的分布式文件系统结构示意图;图2为本发明所述数据块副本数量调整方法实施例1的流程图;图3为本发明所述数据块副本数量调整方法实施例2的流程图;图4本发明所述元数据服务器节点实施例1的结构示意图;图5本发明所述元数据服务器节点实施例2的结构示意图;图6本发明所述元数据服务器节点实施例3的结构示意图。具体实施例方式方法实施例1本实施例提供了一种分布式文件系统数据块副本数量调整方法,如图2所示,包括步骤101,分布式文件系统中的元数据服务器节点接收到来自于用户端的副本调整信息后,将该副本调整信息保存在该元数据服务器节点中。其中,该副本调整信息中包括针对某个数据块副本的副本调整时刻和与该副本调整时刻相应的副本调整数。另外,副本调整信息还可以根据需要包括其他有用信息,如文件偏移量等。具体地,该副本调整信息中可以针对一个数据块副本设定多个副本调整时刻和副本调整数,其中每一个副本调整数均与一个副本调整时刻相对应。例如,如表1所示,数据块Dl在7\0时刻创建,创建时保持副本数为RA该副本数一直保持到1\1时刻;在TJ时刻数据块Dl的副本数被整为IU,在时刻被调整为IU。类似地,数据块D2在T20时刻创建,创建时保持副本数为R20,该副本数一直保持到T21时刻;在T21时刻数据块D2的副本数被整为R21。表l<table>tableseeoriginaldocumentpage8</column></row><table>此处需要特别指出的是,本步骤是由客户端设定某个数据块副本的副本调整信息。另外,可选地,也可以将针对所有保存在数据块节点中数据块副本的副本调整信息预先保存在元数据服务器节点中,在该副本调整信息中也设定有副本调整时刻和与之相应的副本调整数。例如,可以预先设定任何数据块副本在创建时,前Dayl天内具有Rl个数据块副本,在接下来的Day2天内具有R2个数据块副本,依此类推。另外,上述由用户设定副本调整信息和预设副本调整信息的两种方式也可以结合使用。即先预设副本调整信息,当用户针对某个数据块副本设定副本调整信息时,再将设定的副本调整信息代替为针对某个数据块原有预设的副本调整信息。并且,不论采用上述哪种方案生成副本调整信息,用户端都可以随时通过访问分布式文件系统对其中的副本调整信息进行更新。具体地,用户端可以根据需要,对副本调整信息中的副本调整时刻、副本调整数进行相应的更新。从而使得用户端可以根据自己的需要,对数据块副本的副本数量进行调整,提高了系统的可控性,满足了用户的需求。步骤102,元数据服务器节点查询数据块副本的副本调整信息,当该副本调整信息中设定的副本调整时刻达到时,根据副本调整信息中与该副本调整时刻相应的副本调整数对该数据块副本的副本数量进行调整。具体的调整过程包括根据副本调整信息中对应于该副本调整时刻的副本调整数选择相应数量的数据块节点的地址;然后将相应数量的数据块副本保存到对应的数据块节点中。步骤103,当元数据服务器节点根据副本调整信息中的副本调整数对数据块副本的副本数量完成一次调整之后,还可以对保存有上述数据块副本的数据块节点的状态进行心跳监控。具体地,在进行心跳监控过程中,如果监控到其中某个数据块节点不可用时,例如由于宕机等原因使该数据块节点无法进行正常工作,则再次根据上述副本调整信息中的副本调整数对相应数据块副本的副本数量进行调整。此处需要说明的是,如果由于该数据块节点的不可用且影响到某个数据块副本的数据块副本数量,则需要对该数据块副本的副本数量进行调整;否则也可以不对其进行调整,因为副本数量没有受到影响。通过对数据块节点进行心跳监控,可以当有数据块节点不可用时,使数据块副本的副本数量与副本调整信息中设定的副本数保持一致,从而能够进一步提高系统的可靠性。步骤104,如果副本调整信息中针对某个数据块副本设定了多个副本调整时刻和与之相应的副本调整数时,则当下一个副本调整时刻到达时,元数据服务器节点仍然可以依照步骤102所述方法,再次根据副本调整信息中对应于该副本调整时刻的副本调整数,对数据块副本的副本数量进行调整。通过本实施例所述方法,元数据服务器节点可以根据副本调整信息中包含的副本调整时刻和与之相应的副本调整数对各个数据块副本的副本数量进行调整。使得可以对响应时间很长或访问频率高的数据块副本设置更多的副本数量,以提高用户访问这些数据的聚合带宽;并且,当数据块副本的响应时间变短,或访问频率下降时,减少副本数量,以便将存储空间和输入输出带宽留给其他数据块副本。从而在保证数据块副本的可用性及可靠性的同时,提高了系统资源的利用效率。方法实施例2在方法实施例1所述的方法中,当数据块节点中已经创建了数据块副本之后,根据用户端设定的,或者根据在元数据服务器节点中预存的副本调整信息对副本数据进行调整。本实施例提供了一种用户端在创建数据块副本时,设定副本调整信息的副本数量调整方法,如图3所示,包括步骤201,分布式文件系统中的元数据服务器节点接收到来自于用户端的数据块创建指令后,将其中的副本调整信息进行保存。其中,该数据块创建指令中包含有针对待创建的数据块副本的副本调整信息。该副本调整信息中包括副本调整时刻和与该副本调整时刻相应的副本调整数。另外,数据块创建指令中还可以包含文件偏移量。文件偏移量是指与数据块对应的文件中的位置,例如一个文件大小为512MB,若数据块大小为6掘B,那么第一块数据块的文件偏移量为0,第二块数据块的文件偏移量为64,第三块数据块的文件偏移量为128,依此类推。用户访问数据时并不直接以数据块进行访问,而是以文件偏移量和数据长度进行访问,例如用户端访问文件的128MB-256MB部分,即文件偏移量为128的接下来2个数据块。步骤202,元数据服务器节点根据预设的初始副本数选择相应数量的数据块节点的地址发送给该用户端。其中,初始副本数预先保存在元数据服务器节点中,用于为新创建的数据块设定相应的副本数量。另外,在对数据块节点进行选择时,可以根据数据块节点的可用空间、数据块节点的处理性能或数据块节点所在位置等因素进行选择,以达到最佳的系统资源利用效率。另外,为了防止由于交换机故障或机拒电源故障而导致的全部数据块副本不可用,通常,不选择使同一数据块的多个数据块副本位于同一个机拒或与同一交换机直连的数据块节点。步骤203,用户端根据接收到数据块节点的地址将要创建的数据块副本保存到相应的翁:据块节点中。具体地,用户端接收到的数据块节点的地址有多个,分别对应不同将要保存的数据块副本的不同位置。用户端可以将数据块副本直接保存到上述各个数据块节点中;也可以根据上述地址,将一个数据块副本保存到一个数据块节点中,再由该数据块节点将该数据据块副本复制保存到其他相应的数据块节点中。步骤204,元数据服务器节点根据保存的上述副本调整信息调整数据块副本的副本数量。具体地调整方法可以参考方法实施例1中的步骤102~104,此处不再赘述。通过本实施例所述方法,用户端可以在创建数据块副本的同时设定副本调整信息,使用户端无需再次向元数据服务器节点发送副本调整信息,从而方便了用户的操作。本发明所述元数据服务器节点实施例1本实施例提供了一种分布式文件系统中的元数据服务器节点,如图4所示,该元数据服务器节点10包括元数据处理模块11和副本管理模块l2,其工作过程如下元数据处理模块11中的第一处理子模块111查询数据块副本的副本调整信息,具体地,可查找预先存储在该元数据处理模块11中的副本调整信息。当该副本调整信息中设定的副本调整时刻达到时,第一处理子模块111根据该副本调整信息中与该副本调整信息相应的副本调整数,向副本管理;漠块12发送副本调整指令;副本管理模块12中的第一管理子模块121根据来自于元数据处理模块11的副本调整指令选择相应数量的数据块副本的保存位置,并将数据块保存到相应的数据块节点中。具体地,可以根据数据块节点可用空间、数据块节点处理性能、数据块节点所在位置等因素选择数据块副本的保存位置。通过本实施例所述元数据服务器节点,元数据服务器节点可以根据副本调整信息中包含的副本调整时刻和副本调整数对各个数据块副本的副本数量进行调整。使得可以对响应时间很长或访问频率高的数据块设置更多的副本数量,以提高用户访问这些数据的聚合带宽;并且,当数据块副本的响应时间变短,或访问频率下降时,减少副本数量,以便将存储空间和输入输出带宽留给其他数据块副本。从而在保证数据块的可用性及可靠性的同时,提高了系统资源的利用效率。本发明所述元数据服务器节点实施例2本实施例在上述实施例1的基础上提供了另一种元数据服务器节点,如图5所示,该元数据服务器节点10除了包括元数据处理模块11和副本管理模块12以外,还包括接口模块13,其工作过程如下接口模块13接收来自于用户端的数据块创建指令或副本调整信息后,发送给元数据处理模块11。其中,该数据块创建指令中包含有针对要创建的数据块副本的副本调整信息,该副本调整信息中设定了要创建的数据块副本的副本调整时刻、副本调整数。元数据处理模块ll中的第二处理子模块1U将来自于接口模块13的副本调整信息保存在该元数据服务器节点10中;元数据处理模块11中的第三处理子模块113根据来自于接口模块13的数据块创建指令向副本管理模块12发送地址选择指令;副本管理模块12中的第二管理子模块122根据预设的初始副本数选择相应数量的数据块节点的地址通过接口模块13发送给用户端。用户端可以根据接收到的该数据块节点的地址将要创建的数据块保存到相应的数据块节点中。然后,由元数据处理模块11的第一处理子模块111查询数据块副本的副本调整信息,当该副本调整信息中设定的副本调整时刻达到时,根据该副本调整信息中与该副本调整时刻对应的副本调整数,向副本管理模块12发送副本调整指令;副本管理模块12的第一管理子模块121根据该副本调整指令选择相应数量的数据块副本的保存位置,并将数据块副本保存到相应的数据块节点中。通过本实施例所述元数据服务器节点,用户端可以通过接口模块13,在创建数据块时,直接设定该块的副本调整信息。从而使得用户端可以根据自己的需要,对数据块的副本数进行调整,提高了系统的可控性,满足了用户的需求。本发明所述元数据服务器节点实施例3本实施例在上述实施例1或2的基础上提供了另一种元数据服务器节点,如图6所示,该元数据服务器节点10除了包括元数据处理模块11、副本管理模块12和接口模块13以外,还包括心跳监控模块14。心跳监控模块14用于在未进行副本数调整时,对保存有数据块副本的数据块节点的状态进行心跳监控,当监控到某个数据块节点不可用时,根据元数据处理模块11中保存的副本调整信息中的副本调整数向副本管理模块12发送副本调整指令;副本管理模块12的第一管理子模块in根据来自于心跳监控模块14的副本调整指令,选择相应数量的数据块副本的保存位置,并将数据块副本保存到相应的数据块节点中。此处需要说明的是,在本实施例的图6中虽然表示了实施例2所述的接口模块13,但本领域技术人员应该能够理解,是否存在接口模块13并不影响本实施例中的心跳模块14的相关功能。通过本实施例所述元数据服务器节点,由心跳监控^^莫块14对数据块节点进行心跳监控,可以当有数据块节点不可用时,使数据块副本的副本数量与副本调整信息中设定的副本调整数保持一致,从而进一步提高了系统的可靠性。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。权利要求1、一种数据块副本数量调整方法,其特征在于包括元数据服务器节点查询一数据块副本的副本调整信息;当所述副本调整信息中设定的副本调整时刻达到时,根据所述副本调整信息中与该副本调整时刻相应的副本调整数对保存在数据块节点中的所述数据块副本的副本数量进行调整。2、根据权利要求1所述的数据块副本数量调整方法,其特征在还包括元数据服务器节点接收来自于用户端的副本调整信息后,保存所述副本调整信息;所述副本调整信息包括副本调整时刻和与该副本调整时刻相应的副本调整数。3、根据权利要求2所述的数据块副本数量调整方法,其特征在于所述元数据服务器节点接收所述副本调整信息包括接收到来自于用户端的数据块创建指令,所述数据块创建指令中包含有针对待创建的数据块副本的副本调整信息。4、根据权利要求3所述的数据块副本数量调整方法,其特征在于所述元数据服务器节点接收到所述数据块创建指令之后还包括根据预设的初始副本数选择相应数量的数据块节点的地址发送给所述用户端;所述用户端根据接收到的所述地址将要创建的数据块副本保存到相应的数据块节点中。5、根据权利要求3所述的数据块副本数量调整方法,其特征在于所述元数据服务器节点接收到所述数据块创建指令之后还包括选择一个数据块节点的地址发送给所述用户端;所述用户端根据所述地址,将一个所述数据块副本保存到与所述地址相应的数据块节点中;所述数据块节点根据预设的初始副本数将该数据块副本复制保存到其他数据块节点中。6、根据权利要求5所述的数据块副本数量调整方法,其特征在于所述元数据服务器节点查询所述预设的副本调整信息之前还包括所述用户端将所述预设的副本调整信息替换为针对一数据块副本的副本调整信息。7、根据权利要求l-5所述的任一数据块副本数量调整方法,其特征在于所述副本调整信息中针对一个数据块副本设定有多个副本调整时刻和副本调整数,其中每一个副本调整数均与一个副本调整时刻相对应。8、根据权利要求7所述的数据块副本数量调整方法,其特征在于所述元数据服务器节点对所述数据块的副本数量完成一次调整之后还包括当下一个所述副本调整时刻未达到时,对保存有所述数据块副本的数据块节点的状态进行心跳监控;当监控到所述数据块节点不可用时,再次根据所述副本调整信息中的副本调整数对所述数据块副本的副本数量进行调整。9、根据权利要求1所述的数据块副本数量调整方法,其特征在于还包括由用户端对所述副本调整信息进行更新。10、一种元数据服务器节点,其特征在于包括元数据处理模块和副本管理模块,其中元数据处理模块包括第一处理子模块,用于查询一数据块副本的副本调整信息,当所述副本调整信息中设定的副本调整时刻达到时,根据所述副本调整信息中与该副本调整时刻相应的副本调整数,向副本管理模块发送副本调整指令;副本管理模块包括第一管理子模块,用于根据来自于第一处理子模块的副本调整指令,选择相应数量的数据块副本的保存位置,并将数据块副本保存到相应的数据块节点中。11、根据权利要求10所述的元数据服务器节点,其特征在于还包括接口模块,用于接收来自于用户端的副本调整信息或数据块创建指令,发送给所述元数据处理模块;所述数据块创建指令中包含有针对待创建的数据块副本的副本调整信息;所述元数据处理模块还包括第二处理子模块,用于将所迷副本调^f言息保存在该元数据服务器节点中。第三处理子模块,用于根据所述数据块创建指令向所述副本管理模块发送地址选择指令;所述副本管理;漠块还包括第二管理子模块,用于根据预设的初始副本数选择相应数量的数据块节点的地址通过所述接口模块发送给所述用户端。12、根据权利要求10或11所述的元数据服务器节点,其特征在于还包括:心跳监控模块,用于对保存有所述数据块副本的数据块节点的状态进行心跳监控,当监控到所述数据块节点不可用时,根据所述副本调整信息中的副本调整数向所述副本管理模块发送副本调整指令。全文摘要本发明涉及一种数据块副本数量调整方法及元数据服务器节点,其中方法包括元数据服务器节点查询一数据块副本的副本调整信息;当所述副本调整信息中设定的副本调整时刻达到时,根据所述副本调整信息中与该副本调整时刻相应的副本调整数对保存在数据块节点中的所述数据块副本的副本数量进行调整。元数据服务器节点包括元数据处理模块和副本管理模块。通过本发明,可以对响应时间很长或访问频率高的数据块设置更多的副本数量,以提高用户访问这些数据的聚合带宽,从而在保证数据块的可用性及可靠性的同时,提高了系统资源的利用效率。文档编号H04L12/54GK101471845SQ20071030471公开日2009年7月1日申请日期2007年12月27日优先权日2007年12月27日发明者彬周,周文辉,萌徐,罗治国申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1