CN105760431A - 一种文件块的迁移方法和装置 - Google Patents
一种文件块的迁移方法和装置 Download PDFInfo
- Publication number
- CN105760431A CN105760431A CN201610068737.6A CN201610068737A CN105760431A CN 105760431 A CN105760431 A CN 105760431A CN 201610068737 A CN201610068737 A CN 201610068737A CN 105760431 A CN105760431 A CN 105760431A
- Authority
- CN
- China
- Prior art keywords
- file block
- data node
- file
- node
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012546 transfer Methods 0.000 claims abstract description 3
- 238000013508 migration Methods 0.000 claims description 94
- 230000005012 migration Effects 0.000 claims description 94
- 230000008569 process Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件块的迁移方法和装置,该方法包括:获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。通过本发明的技术方案,减轻原有数据节点的存储压力,进而提高整个HDFS的计算能力和资源利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种文件块的迁移方法和装置。
背景技术
如图1所示,为HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统)的组网示意图,该HDFS中包括管理节点(NameNode)和多个机架,各机架内包括多个数据节点(DataNode)。其中,该管理节点是HDFS中的管理者,主要负责管理命名空间、集群配置信息等。各数据节点是HDFS中的存储单元,主要负责将文件块(Block)存储在本地文件系统中。
目前,当HDFS的存储资源达到瓶颈时,可以通过在HDFS中增加新的数据节点,以增加HDFS的存储资源,并使用新的数据节点来存储文件块。这样,当有存储需求时,则可以优先选择将文件块存储到新的数据节点中。
发明内容
本发明提供一种文件块的迁移方法,所述方法包括以下步骤:
获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
本发明提供一种文件块的迁移装置,所述装置具体包括:获得模块,用于获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;确定模块,用于利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;发送模块,用于通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
基于上述技术方案,本发明实施例中,当增加新数据节点时,可以自动将原有数据节点上的文件块迁移到新数据节点,而不需要手动将原有数据节点上的文件块迁移到新数据节点,从而可以减轻原有数据节点的存储压力,进而提高整个HDFS的计算能力和资源利用率。而且,在动态迁移原有数据节点上的文件块的过程中,不会影响数据业务,不用中断数据业务。
附图说明
图1是HDFS的组网示意图;
图2是本发明一种实施方式中的应用场景示意图;
图3是本发明一种实施方式中的文件块的迁移方法的流程图;
图4是本发明另一种实施方式中的文件块的迁移方法的流程图;
图5是本发明另一种实施方式中的文件块的迁移方法的流程图;
图6是本发明一种实施方式中的关系设备的硬件结构图;
图7是本发明一种实施方式中的文件块的迁移装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
当HDFS的存储资源达到瓶颈时,可以通过在HDFS中增加新的数据节点,以增加HDFS的存储资源,并使用新的数据节点来存储文件块。基于此,当有新的存储需求时,则可以优先选择将文件块存储到新的数据节点中。但是,原有数据节点的文件块无法迁移到新的数据节点中,导致原有数据节点的业务仍然繁忙,新的数据节点在一定时间内并没有起到作用,资源利用不合理。
针对现有技术中存在的问题,本发明实施例中提出了一种文件块的迁移方法,该方法可以应用在HDFS中。以图2为本发明实施例的应用场景示意图,用于实现本发明的装置可以作为一个独立的设备,也可以作为一个功能模块部署在现有设备上,如部署在SDN(SoftwareDefinedNetwork,软件定义网络)控制器或者管理节点上,当用于实现本发明的装置作为一个独立的设备时,将该设备称为关系设备,且本发明实施例中以文件块的迁移方法应用在关系设备上为例。在上述应用场景下,当在网络中增加新数据节点时,此时网络拓扑结构会发生变化,在此情况下,则如图3所示,该方法包括以下步骤:
步骤301,获得文件块与文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含该新数据节点的网络拓扑结构。
其中,在该网络拓扑结构中,除了包含新数据节点,还可以包含其它原有数据节点,如可以包含增加新数据节点之前,HDFS中的所有数据节点。
本发明实施例中,获得文件块与文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含新数据节点的网络拓扑结构的过程,具体可以包括但不限于如下方式:方式一、当网络拓扑结构发生变化时,接收来自SDN控制器的拓扑结构变化信息,并从该SDN控制器获得变化后的网络拓扑结构,并从管理节点获得文件块与文件块所在的数据节点的对应关系。方式二、当网络拓扑结构发生变化时,接收来自管理节点的拓扑结构变化信息,从该管理节点获得变化后的网络拓扑结构,并从该管理节点获得文件块与文件块所在的数据节点的对应关系。
其中,针对方式一,SDN控制器用于当网络拓扑结构发生变化时,收集变化后的网络拓扑结构,并将变化后的网络拓扑结构提供给关系设备。针对方式二,管理节点用于当网络拓扑结构发生变化时,获得变化后的网络拓扑结构,通常为直接配置在管理节点的变化后的网络拓扑结构,并将变化后的网络拓扑结构提供给关系设备。此外,网络拓扑结构发生变化包括增加新的数据节点。
步骤302,利用对应关系和网络拓扑结构,确定需要迁移的第一文件块。
基于文件块与文件块所在的数据节点的对应关系、网络拓扑结构,可以采用Rebalance(再平衡)算法确定需要迁移的第一文件块。对于采用Rebalance算法确定需要迁移的第一文件块,可以采用本领域的现有技术,在此不再赘述。
其中,Rebalance算法在确定需要迁移的第一文件块时,需要参考文件块与文件块所在的数据节点的对应关系、网络拓扑结构进行确定。
步骤303,通知第一文件块所在的源数据节点将第一文件块迁移至新数据节点。
本发明实施例中,通知第一文件块所在的源数据节点将第一文件块迁移至新数据节点的过程,具体可以包括但不限于:直接向第一文件块所在的源数据节点下发迁移第一文件块的命令,并使第一文件块所在的源数据节点将第一文件块迁移至新数据节点;或者,将需要迁移第一文件块的信息通知给管理节点,以使管理节点向第一文件块所在的源数据节点下发迁移第一文件块的命令,并使第一文件块所在的源数据节点将第一文件块迁移至新数据节点。
本发明实施例中,在通知第一文件块所在的源数据节点将第一文件块迁移至新数据节点之后,当第一文件块完成迁移之后,通知第一文件块所在的源数据节点从本地删除第一文件块。
本发明实施例中,针对确定第一文件块迁移是否完成的过程,具体可以包括但不限于如下方式:方式一、接收来自SDN控制器的第一文件块完成迁移的信息,并利用该信息确定第一文件块完成迁移;其中,在第一文件块的迁移过程中,SDN控制器可以生成第一文件块对应的流表,并利用该流表确定第一文件块完成迁移,并发送第一文件块完成迁移的信息。或者,方式二、接收来自新数据节点的第一文件块完成迁移的信息,并利用该信息确定第一文件块完成迁移;其中,新数据节点确定第一文件块已经迁移到本新数据节点时,则发送第一文件块完成迁移的信息。
本发明实施例中,通知第一文件块所在的源数据节点从本地删除第一文件块的过程,具体可以包括但不限于如下方式:直接向源数据节点下发删除第一文件块的命令,并使源数据节点从本地删除第一文件块;或者,将需要删除第一文件块的信息通知给管理节点,以使管理节点向源数据节点下发删除第一文件块的命令,并使源数据节点从本地删除第一文件块。
本发明实施例中,在通知第一文件块所在的源数据节点从本地删除第一文件块之后,还可以从源数据节点上查询第一文件块是否删除成功,并在确认第一文件块从源数据节点上删除成功时,通知数据节点将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使管理节点更新文件块与文件块所在的数据节点的对应关系。
基于上述技术方案,本发明实施例中,当增加新的数据节点时,可以将原有数据节点上的文件块迁移到新的数据节点,从而减轻原有数据节点的存储压力,进而提高整个HDFS的计算能力和资源利用率。而且,在一种实现方式中,当有新的数据节点加入到HDFS时,如果需要将原有数据节点上的文件块迁移到新的数据节点,则需要人工进行干预,手工停止HDFS任务,让管理节点重新计算各文件块所在的数据节点,并根据计算结果,将各文件块重新分配到所有数据节点(包括原有数据节点和新的数据节点)上。上述方式需要停止HDFS任务,这样会导致数据业务的中断,浪费大量的时间以及资源,数据业务的中断还会影响用户使用体验。而本发明实施例中,关系设备可以基于文件块与文件块所在的数据节点的对应关系、以及当前的网络拓扑结构,通知数据节点对文件块进行迁移处理,而不需要手工停止HDFS任务,即在数据业务的处理过程中,就可以完成文件块的迁移,使得动态迁移原有数据节点上的文件块。而且,由于该迁移过程不需要手工停止HDFS任务,因此不会中断正在进行的数据业务,即该迁移过程不会影响数据业务,不用中断数据业务。由于迁移过程不用中断数据业务,因此数据业务始终在进行,从而可以节约时间以及资源,而且由于不会中断数据业务,因此可以提高用户使用体验。
在实际应用中,假设HDFS中包括SDN控制器,即该方法应用在图2所示的应用场景时,如图4所示,该文件块的迁移方法可以包括以下步骤:
步骤401,当网络拓扑结构发生变化(如增加新的数据节点)时,SDN控制器收集变化后的网络拓扑结构,并将拓扑结构变化信息发送给关系设备。
步骤402,关系设备接收来自SDN控制器的拓扑结构变化信息,从SDN控制器获得变化后的包含新数据节点的网络拓扑结构,并从管理节点获得文件块与文件块所在的数据节点的对应关系。
其中,关系设备在接收到拓扑结构变化信息时,确定需要将原有数据节点中的文件块迁移到新数据节点,因此,从SDN控制器获得变化后的网络拓扑结构,并从管理节点获得文件块与文件块所在的数据节点的对应关系。
其中,当网络拓扑结构发生变化时,SDN控制器可以感知到网络拓扑结构发生变化,并收集变化后的网络拓扑结构。基于此,关系设备在接收到拓扑结构变化信息时,可以直接从SDN控制器获取变化后的网络拓扑结构。
其中,针对每个数据节点来说,均会将本数据节点存储的所有文件块与文件块所在的数据节点的对应关系发送给管理节点,例如,数据节点在启动时,对本地磁盘进行扫描,得到所有的文件块,并将所有文件块的信息与本数据节点的信息发送给管理节点。这样,管理节点可以存储所有数据节点上的所有文件块与文件块所在的数据节点的对应关系。基于此,关系设备在接收到来自SDN控制器的拓扑结构变化信息之后,可以直接从该管理节点上获取所有文件块与文件块所在的数据节点的对应关系。
其中,管理节点可以将所有数据节点上的所有文件块与文件块所在的数据节点的对应关系,存储在对应关系表中,并将该对应关系表存储在特定数据结构中。基于此,关系设备可以从管理节点上获取该对应关系表,并从该对应关系表中解析出文件块与文件块所在的数据节点的对应关系。
在一个例子中,假设原有数据节点为数据节点1、数据节点2、数据节点3,新数据节点为数据节点4,则变化后的网络拓扑结构为这4个数据节点,以及这4个数据节点所在的机架标识等,针对SDN控制器获得变化后的网络拓扑结构的方式,在此不再赘述。此外,对应关系表中可以记录文件块1与数据节点1的对应关系、文件块2与数据节点2的对应关系、文件块3与数据节点3的对应关系等,在实际应用中,对应关系表中的对应关系会有很多,此处只是以这3个对应关系为例进行说明。
步骤403,关系设备利用文件块与文件块所在的数据节点的对应关系、以及该网络拓扑结构,确定需要迁移的第一文件块。
基于文件块与文件块所在的数据节点的对应关系、网络拓扑结构,可以采用Rebalance算法确定需要迁移的第一文件块。利用Rebalance算法,确定需要迁移的第一文件块的方式也只是一种可行方式,在实际应用中,还可以利用其它方式确定需要迁移的第一文件块,本发明实施例中对此不再赘述。
在确定需要迁移的第一文件块之后,还可以在迁移列表内写入第一文件块与第一文件块所在的数据节点的对应关系,并在该迁移列表中记录相应的第一标记和第二标记,该第一标记用于表示已经通知进行迁移处理,该第二标记用于表示已经完成迁移。假设确定需要迁移的第一文件块为文件块1、文件块2和文件块3,则迁移列表的一种示例可以如表1所示。
表1
文件块 | 数据节点 | 第一标记 | 第二标记 |
文件块1 | 数据节点1 | ||
文件块2 | 数据节点2 | ||
文件块3 | 数据节点3 |
步骤404,关系设备将需要迁移第一文件块的信息通知给管理节点。
其中,关系设备可以按照表1所示的迁移列表的顺序,依次将迁移列表中的需要迁移第一文件块的信息通知给管理节点,并设置第一标记。例如,关系设备依次将需要迁移文件块1的信息、需要迁移文件块2的信息、需要迁移文件块3的信息通知给管理节点,并设置第一标记,如表2所示。
表2
文件块 | 数据节点 | 第一标记 | 第二标记 |
文件块1 | 数据节点1 | 存在 | |
文件块2 | 数据节点2 | 存在 | |
文件块3 | 数据节点3 | 存在 |
步骤405,管理节点向第一文件块所在的源数据节点下发迁移第一文件块的命令,以使第一文件块所在的源数据节点将第一文件块迁移到新数据节点。
例如,管理节点在接收到需要迁移文件块1的信息后,向数据节点1(管理节点知道文件块1在数据节点1上)下发迁移文件块1的命令,其中,该信息中还携带新数据节点(即数据节点4),且该命令中还携带新数据节点。数据节点1在接收到迁移文件块1的命令后,复制该文件块1,并将该文件块1发送给命令中指定的新数据节点,从而完成文件块1的迁移。针对文件块2和文件块3的处理,与文件块1的处理相同,在此不再赘述。
步骤406,在第一文件块的迁移过程中,SDN控制器生成第一文件块对应的流表,利用该流表确定第一文件块完成迁移,并向关系设备发送第一文件块完成迁移的信息。
其中,由于第一文件块的迁移过程,实质上是对第一文件块中数据进行迁移,而在数据从源数据节点迁移到新数据节点时,SDN控制器上会生成该数据的流表,具体的流表生成过程不再赘述,该流表也就是该第一文件块对应的流表。在生成第一文件块对应的流表之后,就可以确认该第一文件块完成迁移。
步骤407,关系设备接收来自SDN控制器的第一文件块完成迁移的信息,并利用该信息确定第一文件块完成迁移。
例如,SDN控制器在生成文件块1对应的流表之后,确定文件块1完成迁移,并向关系设备发送文件块1完成迁移的信息。关系设备在收到文件块1完成迁移的信息后,确定文件块1是已经迁移完成的第一文件块。关系设备还可以为文件块1设置第二标记,以表示文件块1已经迁移完成,如表3所示。文件块2和文件块3的处理与文件块1的处理相同,在此不再赘述。
表3
文件块 | 数据节点 | 第一标记 | 第二标记 |
文件块1 | 数据节点1 | 存在 | 存在 |
文件块2 | 数据节点2 | 存在 | |
文件块3 | 数据节点3 | 存在 |
步骤408,关系设备将需要删除第一文件块的信息通知给管理节点。
步骤409,管理节点向第一文件块所在的源数据节点下发删除第一文件块的命令,以使第一文件块所在的源数据节点从本地删除第一文件块。
其中,关系设备可以按照表3所示的迁移列表的顺序,依次将迁移列表中的存在第二标记的文件块(即需要删除第一文件块)的信息通知给管理节点,例如,将需要删除文件块1的信息通知给管理节点。管理节点在接收到需要删除文件块1的信息后,向数据节点1(管理节点知道文件块1在数据节点1上)下发删除文件块1的命令。数据节点1在接收到删除文件块1的命令后,从本地删除文件块1,从而完成文件块1的删除。针对文件块2和文件块3的处理过程,与文件块1的处理过程相同,在此不再赘述。
关系设备还可以从数据节点1上查询文件块1是否删除成功,如关系设备通过管理节点向数据节点1发送文件块1是否删除成功的查询命令,如果收到已经删除成功的响应,则确定文件块1已经删除成功,如果收到未删除成功的响应,则确定文件块1没有删除成功,针对文件块1再次执行步骤408和步骤409。同理,关系设备还可以从数据节点2上查询文件块2是否删除成功,从数据节点3上查询文件块3是否删除成功。基于此,在确认文件块(如文件块1、文件块2、文件块3等)从源数据节点上删除成功时,则关系设备通知数据节点(如数据节点1、数据节点2、数据节点3和数据节点4等)将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使管理节点可以更新文件块与文件块所在的数据节点的对应关系。
基于上述过程,可以将源数据节点的文件块迁移到新数据节点上。
在另一种可行的实施方式中,假设HDFS中不包括SDN控制器,则如图5所示,该文件块的迁移方法还可以包括以下步骤:
步骤501,当网络拓扑结构发生变化(如增加新的数据节点)时,管理节点获得变化后的网络拓扑结构,并将拓扑结构变化信息发送给关系设备。
步骤502,关系设备接收来自管理节点的拓扑结构变化信息,从管理节点获得变化后的包含新数据节点的网络拓扑结构,并从管理节点获得文件块与文件块所在的数据节点的对应关系。
其中,关系设备在接收到拓扑结构变化信息时,确定需要将原有数据节点中的文件块迁移到新数据节点,因此,从管理节点获得变化后的网络拓扑结构,并从管理节点获得文件块与文件块所在的数据节点的对应关系。
其中,当网络拓扑结构发生变化时,可以在管理节点上配置变化后的网络拓扑结构,以使管理节点维护变化后的网络拓扑结构。基于此,关系设备在接收到拓扑结构变化信息时,可以从管理节点获取变化后的网络拓扑结构。
其中,针对每个数据节点来说,均会将本数据节点存储的所有文件块与文件块所在的数据节点的对应关系发送给管理节点,例如,数据节点在启动时,对本地磁盘进行扫描,得到所有的文件块,并将所有文件块的信息与本数据节点的信息发送给管理节点。这样,管理节点可以存储所有数据节点上的所有文件块与文件块所在的数据节点的对应关系。基于此,关系设备在接收到来自SDN控制器的拓扑结构变化信息之后,可以直接从该管理节点上获取所有文件块与文件块所在的数据节点的对应关系。
其中,管理节点可以将所有数据节点上的所有文件块与文件块所在的数据节点的对应关系,存储在对应关系表中,并将该对应关系表存储在特定数据结构中。基于此,关系设备可以从管理节点上获取该对应关系表,并从该对应关系表中解析出文件块与文件块所在的数据节点的对应关系。
在一个例子中,假设原有数据节点为数据节点1、数据节点2、数据节点3,新数据节点为数据节点4,则变化后的网络拓扑结构为这4个数据节点,以及这4个数据节点所在的机架标识等,针对SDN控制器获得变化后的网络拓扑结构的方式,在此不再赘述。此外,对应关系表中可以记录文件块1与数据节点1的对应关系、文件块2与数据节点2的对应关系、文件块3与数据节点3的对应关系等,在实际应用中,对应关系表中的对应关系会有很多,此处只是以这3个对应关系为例进行说明。
步骤503,关系设备利用文件块与文件块所在的数据节点的对应关系、以及该网络拓扑结构,确定需要迁移的第一文件块。
基于文件块与文件块所在的数据节点的对应关系、网络拓扑结构,可以采用Rebalance算法确定需要迁移的第一文件块。利用Rebalance算法,确定需要迁移的第一文件块的方式也只是一种可行方式,在实际应用中,还可以利用其它方式确定需要迁移的第一文件块,本发明实施例中对此不再赘述。
本发明实施例中,在确定需要迁移的第一文件块之后,还可以在迁移列表内写入第一文件块与第一文件块所在的数据节点的对应关系,并在该迁移列表中记录相应的第一标记和第二标记。其中,该第一标记用于表示已经通知进行迁移处理,该第二标记用于表示已经完成迁移。
步骤504,关系设备将需要迁移第一文件块的信息通知给管理节点。
本发明实施例中,关系设备可以按照迁移列表的顺序,依次将迁移列表中的需要迁移第一文件块的信息通知给管理节点,并设置第一标记。
步骤505,管理节点向第一文件块所在的源数据节点下发迁移第一文件块的命令,以使第一文件块所在的源数据节点将第一文件块迁移到新数据节点。
例如,管理节点在接收到需要迁移文件块1的信息后,向数据节点1(管理节点知道文件块1在数据节点1上)下发迁移文件块1的命令,其中,该信息中还携带新数据节点(即数据节点4),且该命令中还携带新数据节点。数据节点1在接收到迁移文件块1的命令后,复制该文件块1,并将该文件块1发送给命令中指定的新数据节点,从而完成文件块1的迁移。针对文件块2和文件块3的处理,与文件块1的处理相同,在此不再赘述。
步骤506,在第一文件块的迁移过程中,新数据节点在确定第一文件块已经迁移到本新数据节点时,则向关系设备发送第一文件块完成迁移的信息。
其中,由于第一文件块的迁移过程,实质上是对第一文件块中数据进行迁移,而在数据从源数据节点迁移到新数据节点时,新数据节点可以知道数据已经迁移到本新数据节点,确认该数据对应的第一文件块完成迁移。
步骤507,关系设备接收来自新数据节点的第一文件块完成迁移的信息,并利用该信息确定第一文件块完成迁移。
例如,新数据节点确定文件块1完成迁移之后,向关系设备发送文件块1完成迁移的信息。关系设备收到文件块1完成迁移的信息后,确定文件块1是已经迁移完成的第一文件块,为文件块1设置第二标记,以表示文件块1已经迁移完成。文件块2和文件块3的处理与文件块1的处理相同,在此不再赘述。
步骤508,关系设备将需要删除第一文件块的信息通知给管理节点。
步骤509,管理节点向第一文件块所在的源数据节点下发删除第一文件块的命令,以使第一文件块所在的源数据节点从本地删除第一文件块。
其中,关系设备可以按照迁移列表的顺序,依次将迁移列表中的存在第二标记的文件块(即需要删除第一文件块)的信息通知给管理节点,例如,将需要删除文件块1的信息通知给管理节点。管理节点在接收到需要删除文件块1的信息后,向数据节点1下发删除文件块1的命令。数据节点1在接收到删除文件块1的命令后,从本地删除文件块1,从而完成文件块1的删除。针对文件块2和文件块3的处理与文件块1的处理相同,在此不再赘述。
关系设备还可以从数据节点1上查询文件块1是否删除成功,如关系设备通过管理节点向数据节点1发送文件块1是否删除成功的查询命令,如果收到已经删除成功的响应,则确定文件块1已经删除成功,如果收到未删除成功的响应,则确定文件块1没有删除成功,针对文件块1再次执行步骤508和步骤509。同理,关系设备还可以从数据节点2上查询文件块2是否删除成功,从数据节点3上查询文件块3是否删除成功。基于此,在确认文件块(如文件块1、文件块2、文件块3等)从源数据节点上删除成功时,则关系设备通知数据节点(如数据节点1、数据节点2、数据节点3和数据节点4等)将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使管理节点可以更新文件块与文件块所在的数据节点的对应关系。
基于上述过程,可以将源数据节点的文件块迁移到新数据节点上。
基于与上述方法同样的发明构思,本发明实施例还提供一种文件块的迁移装置,应用在关系设备上。该文件块的迁移装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的关系设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为本发明提出的文件块的迁移装置所在的关系设备的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,关系设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该关系设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图7所示,为本发明提出的文件块的迁移装置的结构图,所述文件块的迁移装置具体包括:获得模块11,用于获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;确定模块12,用于利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;发送模块13,用于通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
所述发送模块13,具体用于将需要迁移第一文件块的信息通知给管理节点,以使管理节点向第一文件块所在的源数据节点下发迁移所述第一文件块的命令,使第一文件块所在的源数据节点将第一文件块迁移至所述新数据节点。
所述发送模块12,还用于在通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点之后,当所述第一文件块完成迁移后,通知所述源数据节点从本地删除所述第一文件块。
所述发送模块12,具体用于在通知所述源数据节点从本地删除所述第一文件块的过程中,将需要删除所述第一文件块的信息通知给管理节点,以使所述管理节点向所述源数据节点下发删除所述第一文件块的命令,并使所述源数据节点从本地删除所述第一文件块。
所述确定模块12,还用于接收来自SDN控制器的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,在第一文件块的迁移过程中,所述SDN控制器生成所述第一文件块对应的流表,并利用所述流表确定所述第一文件块完成迁移,并发送所述第一文件块完成迁移的信息;或者,接收来自所述新数据节点的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,所述新数据节点确定所述第一文件块已经迁移到所述新数据节点时,则发送所述第一文件块完成迁移的信息。
所述发送模块13,还用于在通知所述源数据节点从本地删除所述第一文件块之后,从所述源数据节点上查询所述第一文件块是否删除成功,并在确认所述第一文件块从所述源数据节点上删除成功时,通知数据节点将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使所述管理节点更新文件块与文件块所在的数据节点的对应关系。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种文件块的迁移方法,其特征在于,所述方法包括以下步骤:
获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;
利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;
通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
2.根据权利要求1所述的方法,其特征在于,通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点的过程,具体包括:
将需要迁移所述第一文件块的信息通知给管理节点,以使所述管理节点向所述第一文件块所在的源数据节点下发迁移所述第一文件块的命令,并使所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
3.根据权利要求1所述的方法,其特征在于,在通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点之后,所述方法还包括:
当所述第一文件块完成迁移后,通知所述源数据节点从本地删除所述第一文件块。
4.根据权利要求3所述的方法,其特征在于,通知所述源数据节点从本地删除所述第一文件块的过程,具体包括:
将需要删除所述第一文件块的信息通知给管理节点,以使所述管理节点向所述源数据节点下发删除所述第一文件块的命令,并使所述源数据节点从本地删除所述第一文件块。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收来自SDN控制器的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,在第一文件块的迁移过程中,所述SDN控制器生成所述第一文件块对应的流表,并利用所述流表确定所述第一文件块完成迁移,并发送所述第一文件块完成迁移的信息;或者,
接收来自所述新数据节点的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,所述新数据节点确定所述第一文件块已经迁移到所述新数据节点时,则发送所述第一文件块完成迁移的信息。
6.根据权利要求3所述的方法,其特征在于,在通知所述源数据节点从本地删除所述第一文件块之后,所述方法进一步包括:
从所述源数据节点上查询所述第一文件块是否删除成功,并在确认所述第一文件块从所述源数据节点上删除成功时,通知数据节点将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使所述管理节点更新文件块与文件块所在的数据节点的对应关系。
7.一种文件块的迁移装置,其特征在于,所述装置具体包括:
获得模块,用于获得文件块与所述文件块所在的数据节点的对应关系,以及当启用新数据节点时,获得包含所述新数据节点的网络拓扑结构;
确定模块,用于利用所述对应关系和所述网络拓扑结构,确定需要迁移的第一文件块;
发送模块,用于通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点。
8.根据权利要求7所述的装置,其特征在于,
所述发送模块,具体用于将需要迁移第一文件块的信息通知给管理节点,以使管理节点向第一文件块所在的源数据节点下发迁移所述第一文件块的命令,并使第一文件块所在的源数据节点将第一文件块迁移至所述新数据节点。
9.根据权利要求7所述的装置,其特征在于,
所述发送模块,还用于在通知所述第一文件块所在的源数据节点将所述第一文件块迁移至所述新数据节点之后,当所述第一文件块完成迁移后,通知所述源数据节点从本地删除所述第一文件块。
10.根据权利要求9所述的装置,其特征在于,
所述发送模块,具体用于在通知所述源数据节点从本地删除所述第一文件块的过程中,将需要删除所述第一文件块的信息通知给管理节点,以使所述管理节点向所述源数据节点下发删除所述第一文件块的命令,并使所述源数据节点从本地删除所述第一文件块。
11.根据权利要求9所述的装置,其特征在于,
所述确定模块,还用于接收来自SDN控制器的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,在第一文件块的迁移过程中,所述SDN控制器生成所述第一文件块对应的流表,并利用所述流表确定所述第一文件块完成迁移,并发送所述第一文件块完成迁移的信息;或者,接收来自所述新数据节点的所述第一文件块完成迁移的信息,并利用所述信息确定所述第一文件块完成迁移;其中,所述新数据节点确定所述第一文件块已经迁移到所述新数据节点时,则发送所述第一文件块完成迁移的信息。
12.根据权利要求9所述的装置,其特征在于,
所述发送模块,还用于在通知所述源数据节点从本地删除所述第一文件块之后,从所述源数据节点上查询所述第一文件块是否删除成功,并在确认所述第一文件块从所述源数据节点上删除成功时,通知数据节点将本数据节点上的文件块与文件块所在的数据节点的对应关系发送给管理节点,以使所述管理节点更新文件块与文件块所在的数据节点的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610068737.6A CN105760431A (zh) | 2016-01-29 | 2016-01-29 | 一种文件块的迁移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610068737.6A CN105760431A (zh) | 2016-01-29 | 2016-01-29 | 一种文件块的迁移方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105760431A true CN105760431A (zh) | 2016-07-13 |
Family
ID=56343004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610068737.6A Pending CN105760431A (zh) | 2016-01-29 | 2016-01-29 | 一种文件块的迁移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760431A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
CN107105049A (zh) * | 2017-05-10 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 数据迁移方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103544A (zh) * | 2009-12-16 | 2011-06-22 | 腾讯科技(深圳)有限公司 | 一种分布式缓存的实现方法及装置 |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN103718533A (zh) * | 2013-06-29 | 2014-04-09 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与系统 |
-
2016
- 2016-01-29 CN CN201610068737.6A patent/CN105760431A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103544A (zh) * | 2009-12-16 | 2011-06-22 | 腾讯科技(深圳)有限公司 | 一种分布式缓存的实现方法及装置 |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN103718533A (zh) * | 2013-06-29 | 2014-04-09 | 华为技术有限公司 | 一种分区平衡子任务下发方法、装置与系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
CN107105049A (zh) * | 2017-05-10 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 数据迁移方法和装置 |
CN107105049B (zh) * | 2017-05-10 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 数据迁移方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
CN108259218B (zh) | 一种ip地址分配方法和装置 | |
CN107480205B (zh) | 一种进行数据分区的方法和装置 | |
JP6288596B2 (ja) | データ処理方法および装置 | |
CN104615606A (zh) | 一种Hadoop分布式文件系统及其管理方法 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN103152390A (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
CN111698675B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
US10795579B2 (en) | Methods, apparatuses, system and computer program products for reclaiming storage units | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN112256433B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN111930716A (zh) | 一种数据库扩容方法、装置及系统 | |
CN110399171A (zh) | 一种硬盘管理方法、系统及相关组件 | |
CN103440345A (zh) | 一种基于关系型数据库的分布式数据库扩展方法及系统 | |
CN104035728A (zh) | 一种硬盘热插拔处理方法、装置及节点 | |
CN104102725A (zh) | 一种hdfs中热点数据文件的动态副本创建方法和系统 | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN108132759A (zh) | 一种文件系统中管理数据的方法和装置 | |
CN105760431A (zh) | 一种文件块的迁移方法和装置 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
CN106528876B (zh) | 分布式系统的信息处理方法及分布式信息处理系统 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN110298031B (zh) | 一种词典服务系统及模型版本一致性配送方法 | |
CN107493181B (zh) | 虚拟扩展端口的指示方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |