CN101753349B - 数据节点的升级方法、升级调度节点及升级系统 - Google Patents

数据节点的升级方法、升级调度节点及升级系统 Download PDF

Info

Publication number
CN101753349B
CN101753349B CN2008102391199A CN200810239119A CN101753349B CN 101753349 B CN101753349 B CN 101753349B CN 2008102391199 A CN2008102391199 A CN 2008102391199A CN 200810239119 A CN200810239119 A CN 200810239119A CN 101753349 B CN101753349 B CN 101753349B
Authority
CN
China
Prior art keywords
upgrade
upgrading
back end
node
data node
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.)
Expired - Fee Related
Application number
CN2008102391199A
Other languages
English (en)
Other versions
CN101753349A (zh
Inventor
薛海强
李刚
欧阳聪星
段晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN2008102391199A priority Critical patent/CN101753349B/zh
Publication of CN101753349A publication Critical patent/CN101753349A/zh
Application granted granted Critical
Publication of CN101753349B publication Critical patent/CN101753349B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种数据节点的升级方法、升级调度节点及升级系统。该方法,包括:当一个或数个数据节点收到升级指令时,满足升级条件的数据节点分别提出升级请求后,将升级请求加入竞争队列;在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;该特定数据节点收到升级确认消息后,执行升级操作,修改该特定数据节点对应的升级状态信息。本发明依靠数据节点自身的每片数据的冗余备份实现自动升级,无需人工干预,在不中断业务的情况下快速进行数据节点的升级。

Description

数据节点的升级方法、升级调度节点及升级系统
技术领域
本发明涉及通信领域中核心网的数据节点,具体地,涉及一种分布式数据存储系统中数据节点的升级方法、升级调度节点及升级系统。
背景技术
目前,在核心网中,将数据节点分为主数据节点和备份数据节点,采用同时升级主数据节点和备份数据节点的主备升级方式进行数据节点升级的,以保证各业务执行的连续性。
图1为现有集中式数据存储系统中数据的存储结构示意图,如图1所示,该存储系统中包括主数据节点N1和备份数据节点N2,在主数据节点N1中,存储数据11~30;在备用数据节点N2中,存储与主数据节点N1中相同的数据11~30。
图2为现有集中式数据存储系统中对数据节点所采用的主备升级的流程示意图,如图2所示,如将主备数据节点从现有版本为v1升级到版本v2,包括:
步骤201:主数据节点N1处于工作状态,接受数据的查询和更新请求,根据数据的查询和更新请求,进行查询和更新数据操作。;
步骤202:主数据节点N1将其更新数据实时同步至备用数据节点N2;
步骤203:备用数据节点N2升级,从版本v1升级到版本v2;
步骤204:备用数据节点N2升级结束时,通知主数据节点N1同步备用数据节点N2升级期间的增量数据;其中,增量数据指,在备用数据节点N2升级期间,主数据节点N1未能同步至备用数据节点N2的更新数据;
步骤205:主数据节点N1根据备用数据节点N2的通知,将步骤204中的增量数据同步至备用数据节点N2;
步骤206:步骤205中的增量数据同步完毕,备用数据节点N2运行在版本v2上,并切换为工作状态的主数据节点N1’;
步骤207:主数据节点N1’通知主数据节点N1切换为备用数据节点N2’;
步骤208:主数据节点N1根据主数据节点N1’的通知,切换为备用数据节点N2’,并进行升级,从版本v1升级到版本v2;
步骤209:主数据节点N1’处于工作状态,进行数据的查询和更新;
步骤210:备用数据节点N2’升级结束时,通知主数据节点N1’同步备用数据节点N2’升级期间的增量数据;其中,增量数据指,在备用数据节点N2’升级期间,主数据节点N1’未能同步至备用数据节点N2’的更新数据;
步骤211:主数据节点N1’将步骤210中的增量数据同步至备用数据节点N2’;
步骤212:步骤211中的增量数据同步完毕,备用数据节点N2’变为工作状态的备用数据节点N2’;
步骤213:主数据节点N1’和备用数据节点N2’都运行在版本V2上,升级完成。
在上述主备升级方式中,当数据节点个数较少、且数据集中存储时,能够方便、快速地完成数据节点升级的。但是,在分布式数据存储系统中,数据节点个数较多,主备数据存储分布化,数据节点既可能承担一部分主数据的存储,也可能承担一部分备份数据的存储。图3为现有分布式数据存储系统中数据的存储结构示意图,如图3所示,该存储系统包括数据节点N1、数据节点N2、数据节点N3、数据节点N4和数据11~30,将数据11~30进行分片,均分为四片,分别为数据11~15,数据16~20,数据21~25,数据26~30,每片数据进行三冗余备份,每个数据节点中存储四片数据,四片数据三冗余备份分布式存储在四个数据节点中。
对于上述系统中数据节点的升级,如果仍采用主备升级方式,则难免存在以下弊端:
一方面,当多个数据节点同时升级时,需要备份相同数量的备份数据节点,以在升级时承担主数据节点的负荷;
另一方面,当多个数据节点依次升级时,可能只需备份少量的备份数据节点,不需要对每个主数据节点单独备份对应的备份数据节点,可以节省备份数据节点的个数,但是,这种情况下,在数据节点升级的过程中,需要人工干预频繁地更改升级配置,数据节点升级速度缓慢,升级效率低。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)资源耗费量大,成本高:同时升级多个数据节点时,需要耗费大量资源、花费较大成本备份用于承担主数据节点的负荷的备份数据节点;
(2)人工干预量大,操作流程复杂:依次升级多个数据节点时,需要人工干预频繁更改升级配置;
(3)升级速度慢,升级效率低:依次升级多个数据节点时,需要频繁地更改升级配置,且需要人工干预,导致升级速度缓慢、升级效率低。
发明内容
本发明的目的是为了解决分布式数据存储系统中数据节点采用现有的主备升级方式而导致的资源耗费量大、成本高、人工干预量大、操作流程复杂、升级速度慢和升级效率低等缺陷,提出一种数据节点升级方法、升级调度节点及升级系统,以实现节省资源、降低成本、减少人工干预量、简化操作流程、提高升级速度和升级效率。
为实现上述目的,根据本发明实施例,提出了一种数据节点的升级方法,包括以下步骤:
当一个或数个数据节点收到升级指令,满足升级条件的数据节点分别向升级调度节点提出升级请求,由升级调度节点将升级请求加入竞争队列;
升级调度节点根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;
该特定数据节点收到升级确认消息后,执行升级操作,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理,其中,相关数据片为该特定数据节点中包括的数据片;
所述特定数据节点根据相关数据片向其他未升级数据节点发起升级更新请求,所述其他未升级数据节点将其所包含的相关数据片的备份数执行减一处理;
所述其他未升级数据节点分别向该特定数据节点返回确认消息;
所述特定数据节点向升级调度节点发起升级确认请求;
升级调度节点根据收到的升级确认请求,将该特定数据节点对应的升级请求从竞争队列中删除;向竞争队列中的其他数据节点发送“升级调度失败”消息;
当竞争队列中的其他数据节点收到“升级调度失败”消息后,所述升级调度节点将不满足升级条件的数据节点对应的升级请求从该竞争队列中删除;
当所述特定数据节点升级操作成功后,所述其他未升级数据节点将其包含的相关数据片的备份数执行加一处理。为实现上述目的,根据本发明实施例,提出了一种升级调度节点,包括:接收模块,用于接收一个或数个满足升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;选择模块,用于在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数,具体包括:该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,处理模块将其他数据节点中所包含的相关数据片的备份数执行减一处理,当该特定数据节点升级操作成功后,处理模块将其他未升级的数据节点的相关数据片的备份数执行加一处理,其中,所述相关数据片为该特定数据节点中包括的数据片。
为实现上述目的,根据本发明实施例,提出了一种数据节点的系统,包括:多个数据节点及升级调度节点;每一数据节点存储一个或数个数据片,用于在满足升级条件时,向升级调度节点发起升级请求;升级调度节点,包括:接收模块,用于接收一个或数个满足升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;选择模块,用于在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数,具体包括:该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,处理模块将其他数据节点中所包含的相关数据片的备份数执行减一处理,当该特定数据节点升级操作成功后,处理模块将其他未升级的数据节点的相关数据片的备份数执行加一处理,其中,所述相关数据片为该特定数据节点中包括的数据片。
本发明克服了采用现有的主备升级方式对分布式存储系统中数据节点进行升级,而导致的资源耗费量大、成本高、人工干预量大、操作流程复杂、升级速度慢和升级效率低等缺陷,依靠数据节点自身的每片数据的冗余备份实现自动升级,无需人工干预,在不中断业务的情况下快速进行数据节点的升级。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为现有集中式数据存储系统中数据的存储结构示意图;
图2为现有集中式数据存储系统中对数据节点所采用的主备升级的流程示意图;
图3为现有分布式数据存储系统中数据的存储结构示意图;
图4为根据本发明数据节点的升级方法实施例一的流程示意图;
图5为根据本发明数据节点的升级方法实施例一的流程示意图;
图6为分布式数据存储系统中数据的存储结构的一示意图;
图6a为图6所示的分布式存储系统中数据节点的升级方法一示意图;
图7为分布式数据存储系统中数据的存储结构的另一示意图;
图8为分布式数据存储系统中数据的存储结构的再一示意图;
图8a为图8中数据节点N1执行升级操作时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图;
图8b为图8a中数据节点N2执行升级操作时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图;
图8c为图8b中数据节点N1执行升级操作成功时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图;
图8d为图8c中数据节点N3执行升级操作时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图;
图8e为图8d中数据节点N2执行升级操作成功时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图;
图8f为图8e中数据节点N4执行升级操作时的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
分布式存储系统中,一般将数据进行分片,按数据片的方式进行存储,并将每片数据按照预定的冗余度在数据节点中进行冗余备份。由于主备数据存储分布化,数据节点存储一个或多个数据片,既可能承担一部分主数据的存储,也可能承担一部分备份数据的存储,如果还是按照主备升级方式对数据节点进行升级,当需要较多的数据节点同时升级时,就会需要相同数量的备份节点来承担主节点的负荷,因此成本较高,造成较大的资源浪费。本发明提出的数据节点的升级方法,不管某数据节点上的数据片是否为主数据片还是备份数据片,而是关心数据片具有多少个实时可用的备份数。分别通过以下数据节点的升级方法的实施例进行详细说明。
图4为根据本发明数据节点的升级方法实施例一的流程示意图。如图4所示,本实施例包括:
步骤401、一个或数个数据节点收到升级指令时;
步骤402、分别判断各数据节点是否满足预定升级条件,如满足,执行步骤403;否则,结束。
步骤403、分别提出升级请求,并将升级请求列入竞争队列;
步骤404、根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;
步骤405、该特定数据节点收到升级确认消息后,执行升级操作,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理;相关数据片为该特定数据节点中包括的数据片;
步骤406、该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,将其他数据节点中所包含的相关数据片的备份数执行减一处理。
图5为根据本发明数据节点的升级方法实施例一的流程示意图。如图5所示,本实施例包括:
步骤501、一个或数个数据节点收到升级指令时;
步骤502、分别判断各数据节点是否满足预定升级条件,如满足,执行步骤503;否则,结束。
步骤503、分别提出升级请求,并将升级请求列入竞争队列;
步骤504、根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;
步骤505、该特定数据节点收到升级确认消息后,执行升级操作,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理;相关数据片为该特定数据节点中包括的数据片;
步骤506、该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,将其他数据节点中所包含的相关数据片的备份数执行减一处理。
步骤507、其他数据节点分别向该特定数据节点返回确认消息。
步骤508、特定数据节点发起升级确认请求。
步骤509、根据收到的升级确认请求,将该特定数据节点队应的升级请求从竞争队列中删除;向竞争队列中的数据节点发送“升级调度失败”消息。
步骤510、当竞争队列中的其他数据节点收到“升级调度失败”消息后,将不满足预定升级条件的数据节点对应的升级请求从该竞争队列中删除。
上述实施例中,修改该特定数据节点对应的升级状态信息为,将该特定数据节点对应的升级状态信息由未升级NO修改为正在升级UPD,所述升级状态信息包括:升级成功YES、未升级NO、正在升级UPD。预定升级条件为数据片的备份数均大于零。根据预定策略在竞争队列中选择一升级请求具体为:在竞争队列中选择最先接收到升级请求。
根据预定策略在竞争队列中选择一升级请求可以为:在竞争队列中选择最先接收到升级请求。竞争队列可以为先进先出FIFO队列。
上述实施例中还包括:当该特定数据节点升级操作成功后,将其他未升级的数据节点的相关数据片的备份数执行加一处理。
假设分布式数据系统中有N个数据节点,共有M份数据,数据冗余度为R,加上节点存储能力相同,则每个节点平均存储(M×R)/N。下面以N=4,M=4,R=3为例。图6为分布式数据存储系统中数据的存储结构的一示意图,如图6所示,该存储系统包括数据节点N1、数据节点N2、数据节点N3、数据节点N4和数据11~30,将数据11~30进行分片,均分为四片,分别为数据11~15,数据16~20,数据21~25,数据26~30,每片数据进行三冗余备份,每个数据节点中存储四片数据,四片数据三冗余备份分布式存储在四个数据节点中。假设有用户数据11~30,分为四片(11~15、16~20、21~25、26~30),每个节点上存储三片数据,每片数据三冗余备份。为简洁起见,用下表1来表示用户的数据片和所在数据节点的关系:
表1用户数据片和存储节点的关系
  数据片   数据节点
  11~15   N1,N2,N3
  16~20   N1,N2,N4
  21~25   N1,N3,N4
  26~30   N2,N3,N4
每个数据节点维持一个升级状态表,升级状态表可以分别存储于对应的数据节点中,升级状态表记录了数据节点的状态信息以及该数据节点中每个数据片实时可用的备份数。数据节点的状态信息分为三种:YES(升级成功),NO(未升级),UPD(正在升级中)。在所有节点未升级以前,所有节点的升级状态表中的状态信息为NO即未升级,且备份数为2。
图6a为图6所示的分布式存储系统中数据节点的升级方法示意图。当数据节点收到软件升级指令时,它会首先判断每片用户数据的备份数是否大于0,如果都大于0,则满足软件升级的前提条件。然后它向升级调度节点提出升级请求。升级调度节点是为了解决多个数据节点同时提出升级请求的冲突问题,如果多个数据节点同时提出升级请求,升级调度节点会把所有的升级请求加入到竞争队列,如FIFO队列中,以先收到的请求先执行。如图6中,数据节点N1和N2收到软件升级指令时,首先判断每片用户数据的备份数是否大于0,通过判断发现数据节点N1和N2中的每个数据片的备份数均为2,显然均大于0,因此判断可以向升级调度节点提出升级请求。如该实施例中,数据节点N1和N2同时向升级调度节点提出升级请求,升级调度节点把数据节点N1和N2的升级请求依次放在FIFO列中,升级调度节点在竞争队列中选择最先接收到的升级请求,该最先接收到的升级请求对应的数据节点为数据节点N1,升级调度节点决策N1的升级命令先执行。升级调度节点向N1返回升级确认消息。如图6a所示,N1收到此消息后,修改自身升级状态表中的状态信息,将状态信息由NO修改为UPD;然后向N1中的每个数据片(数据片11~15、16~20、21~25)所在系统中的其他未升级数据节点N2、N3、N4发起升级更新请求。其他未升级数据节点收到此消息后,相应更新用户数据备份数,具体的,将N2中数据片11~15、16~20的备份数由2变为1,将N3中数据片11~15、21~25的备份数由2变为1,将N4中数据片16~20、21~25的备份数由2变为1,数据节点N2、N3、N4分别向N1返回确认消息。当N1收到所有的确认消息后,向升级调度节点发出升级确认请求。升级调度节点收到N1的升级确认请求后,删除竞争队列中N1的升级请求,然后向剩下的升级请求的数据节点N2(竞争队列中还剩下N2的升级请求)发起“升级调度失败”的消息,然后把竞争队列中所有升级请求清空,等待数据节点下一次的升级请求。
图7为分布式数据存储系统中数据的存储结构的另一示意图,如图7所示,各数据节点的升级状态表由一独立的硬件设备(图7中为升级调度节点)中维护。
图8为分布式数据存储系统中数据的存储结构的再一示意图,如图8所示,相对于图8还包括独立存储于一硬件设备(图8中为升级调度节点)的集中升级状态表。该集中升级状态表集中维护各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数,该集中升级状态表与各数据节点中的升级状态表保持同步更新。
图8a为图8中数据节点N1执行升级操作时的其他未升级数据节点的升级状态信息以及数据片的备份数的示意图。升级调度节点会把所有的请求依次放在一个竞争队列中,先收到的请求先执行。比如图6中,节点N1和N2同时提出升级请求,升级调度节点决策N1的升级命令先执行。当数据节点收到软件升级指令时,它会首先判断每片用户数据的备份数是否大于0,如果都大于0,则满足软件升级的前提条件。然后它向升级调度节点提出升级请求。各数据节点的状态信息及数据片的备份信息表集中存储在升级调度节点上。升级调度节点是为了解决多个数据节点同时提出升级请求的冲突问题,如果多个数据节点同时向提出升级请求(该升级请求中可以携带相应的要升级的数据片信息)。升级调度节点会把所有的升级请求加入到竞争队列,如FIFO队列中,以先收到的请求先执行。如图8中,数据节点N1和N2收到软件升级指令时,首先判断每片用户数据的备份数是否大于0,通过判断发现数据节点N1和N2中的每个数据片的备份数均为2,显然均大于0,因此判断可以向升级调度节点提出升级请求。如该实施例中,数据节点N1和N2同时向升级调度节点提出升级请求,升级调度节点把数据节点N1和N2的升级请求依次放在FIFO列中,升级调度节点在竞争队列中选择最先接收到的升级请求,该最先接收到的升级请求对应的数据节点为数据节点N1,升级调度节点决策N1的升级命令先执行。升级调度节点向N1返回升级确认消息。如图8a所示,N1收到此消息后,执行升级操作,修改自身升级状态表中的状态信息,将状态信息由NO修改为UPD;然后向N1中的每个数据片(数据片11~15、16~20、21~25)所在系统中其他未升级数据节点N2,N3,N4发起升级更新请求。其他未升级数据节点收到此消息后,相应更新用户数据备份数,具体的,将N2中数据片11~15、16~20的备份数由2变为1,将N3中数据片11~15、21~25的备份数由2变为1,将N4中数据片16~20、21~25的备份数由2变为1,数据节点N2、N3、N4分别向N1返回确认消息。当N1收到所有的确认消息后,向升级调度节点发出升级确认请求。
升级调度节点收到N1的升级确认请求后,删除竞争队列中N1的升级请求,然后向剩下的升级请求的数据节点N2(竞争队列中还剩下N2的升级请求)发起“升级调度失败”的消息,判断N2是否满足升级条件,具体的,由于此时N2中的数据片11~15的备份数为1、16~20的备份数为1,数据片26~30的备份数为2,所以符合提出升级请求的条件。因此采用与N1相同的步骤执行升级操作,具体步骤如下:
升级调度节点决策N2执行升级操作。升级调度节点向N2返回升级确认消息。如图8b所示,N2收到此消息后,执行升级操作,修改自身升级状态表中的状态信息,将状态信息由NO修改为UPD;然后向N2中的每个数据片(数据片11~15、16~20、26~30)所在系统中的其他未升级数据节点N3、N4发起升级更新请求。其他未升级数据节点N3、N4收到此消息后,相应更新用户数据备份数,具体的,将N3中数据片11~15的备份数由1变为0,26~30的备份数由2变为1,将N4中数据片16~20的备份数由1变为0,将26~30的备份数由2变为1,数据节点N3、N4分别向N2返回确认消息。当N2收到所有的确认消息后,向升级调度节点发出升级确认请求。升级调度节点收到N2的升级确认请求后,删除竞争队列中N2的升级请求。
如图8c所示,当一定时间过后,数据节点N1升级操作成功,数据节点N1的状态信息由UPD修改为YES,同时向N1中的每个数据片(数据片11~15、16~20、21~25)所在系统中的其他未升级数据节点N3、N4发起数据片的备份数的更新请求。其他未升级数据节点N3、N4收到此更新请求消息后,相应更新用户数据片的备份数,具体的,将N3中数据片11~15的备份数由0变为1,21~25的备份数由1变为2,将N4中数据片16~20的备份数由0变为1,将21~25的备份数由1变为2。此时数据节点N3与N4同时满足升级条件,向升级调度节点发送升级请求,升级调度节点决策N3进行升级操作。如图8d所示,N3执行升级操作,修改自身升级状态表中的状态信息,将状态信息由NO修改为UPD;然后向N3中的每个数据片(数据片11~15、21~25、26~30)所在系统中的其他未升级数据节点N4发起升级更新请求。由于此时其他未升级数据节点N4中的数据片26~30数据备份为0,因此N4不能升级。
如图8e所示,当一定时间过后,数据节点N2升级操作成功,数据节点N2的状态信息由UPD修改为YES,同时向N1中的每个数据片(数据片11~15、16~20、21~25)所在系统中的其他未升级数据节点N4发起数据片的备份数的更新请求。其他未升级数据节点N4收到此更新请求消息后,相应更新用户数据片的备份数,具体的,将N4中数据片16~20的备份数由1变为2,将26~30的备份数由0变为1。
此时数据节点N4满足升级条件,向升级调度节点发送升级请求,N3收到升级调度节点的升级确认消息后,执行升级操作,修改自身升级状态表中的状态信息,将状态信息由NO修改为UPD,如图8f所示。
综上所述,本发明各实施例适用于分布式存储系统,可以在至少一份数据可用情况下完成多个数据节点的同时升级。较为理想的情况,可以假设分布式存储系统中有N个数据节点,共有M份数据,数据冗余度为R,假设各数据节点的存储能力相同,则每个数据节点平均存储(M×R)/N份数据,该分布式存储系统只需要「N/R」个数据节点即可保持每份数据都可以冗余备份,那么,就可以进行(N-「N/R」)个数据节点的升级,这里,“「」”为向上取整符号。
在升级过程中,如果某个数据节点的升级发生故障,则需要更新节点状态和每片数据的备份数;如果某个数据节点的每片数据的备份数长期为0而无法升级,则需要人工检查是否有故障,如果有故障,则需要人工恢复后,继续执行升级流程。
本发明的实施例还提供了一种升级调度节点,包括:接收模块,用于接收一个或数个满足预定升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;存储模块,与所述接收模块连接,用于存储竞争队列;选择模块,用于根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数。
上述升级调度节点还可以包括配置模块:用于配置集中升级状态表,所述集中升级状态表用于集中维护各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数。
本发明的实施例还提供了一种数据节点的升级系统,包括:多个数据节点及升级调度节点。其中每一数据节点存储一个或数个数据片,用于在满足预定升级条件时,向升级调度节点发起升级请求。升级调度节点,包括:接收模块,用于接收一个或数个满足预定升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;存储模块,与所述接收模块连接,用于存储竞争队列;选择模块,用于根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数。
上述数据节点的升级系统中,还可以为每个数据节点设置一个升级状态表,该升级状态表包括该数据节点的状态信息,以及该数据节点中每个数据片实时可用的备份数。
升级状态表分别存储于对应的数据节点中和/或集中存储在升级调度节点中。可以配置各数据节点的节点升级状态表,也可以将各数据节点的节点状态和每片数据的备份数集中配置在升级调度节点中,得到集中节点升级状态表。
本发明提供的数据节点的升级方法、升级调度节点以及升级系统,可以依靠数据节点自身的每片数据的冗余备份实现自动升级,无需人工干预,可以在不中断业务的情况下快速进行数据节点的升级。另外,本实施例也可以用于NGIMS系统中核心数据节点的升级,以解决大量数据节点的升级问题。具体具有以下优点:
(1)解决了多个数据节点同时提出升级时的冲突问题。通过在分布式数据存储系统中,设置升级调度节点,解决了多个数据节点同时提出升级请求的冲突问题,如果多个数据节点同时提出升级请求,升级调度节点会把所有的升级请求加入到竞争队列,如FIFO队列中,以先收到的请求先执行;
(2)降低了成本。通过升级状态表维护各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数,该集中升级状态表与各数据节点中的升级状态表保持同步更新,当数据节点的数据片的备份数均大于1,即满足所有的数据片至少有一份数据可用的情况下,即可完成该数据节点的升级操作,从而实现了利用较少的冗余数据节点即可实现升级操作,提高了资源利用率,降低了成本;
(3)自动化程度高。由于利用升级状态表可以清楚的获得各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数,数据节点可以根据自身的数据冗余备份实现自动升级,无需人工干预,能实现在不中断业务的情况下较快地升级数据节点软件;
(4)升级效率高。依次升级多个数据节点时,无需频繁地更改升级配置,且人工干预度较低,因此升级速度加快,提高了升级效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种数据节点的升级方法,其特征在于,包括以下步骤:
当一个或数个数据节点收到升级指令,满足升级条件的数据节点分别向升级调度节点提出升级请求,由升级调度节点将升级请求加入竞争队列;
升级调度节点根据预定策略在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;
该特定数据节点收到升级确认消息后,执行升级操作,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理,其中,相关数据片为该特定数据节点中包括的数据片;
所述特定数据节点根据相关数据片向其他未升级数据节点发起升级更新请求,所述其他未升级数据节点将其 所包含的相关数据片的备份数执行减一处理;
所述其他未升级数据节点分别向该特定数据节点返回确认消息;
所述特定数据节点向升级调度节点发起升级确认请求;
升级调度节点根据收到的升级确认请求,将该特定数据节点对应的升级请求从竞争队列中删除;向竞争队列中的其他数据节点发送“升级调度失败”消息;
当竞争队列中的其他数据节点收到“升级调度失败”消息后,所述升级调度节点将不满足升级条件的数据节点对应的升级请求从该竞争队列中删除;
当所述特定数据节点升级操作成功后,所述其他未升级数据节点将其包含的相关数据片的备份数执行加一处理。
2.根据权利要求1所述的升级方法,其特征在于,所述修改该特定数据节点对应的升级状态信息为,将该特定数据节点对应的升级状态信息 由未升级NO修改为正在升级UPD,所述升级状态信息包括:升级成功YES、未升级NO、正在升级UPD。
3.根据权利要求1或2所述的升级方法,其特征在于,所述升级条件为数据片的备份数均大于零。
4.根据权利要求1或2所述的升级方法,其特征在于,根据预定策略在竞争队列中选择一升级请求具体为:在竞争队列中选择最先接收到的升级请求。
5.根据权利要求4所述升级方法,其特征在于,所述竞争队列为先进先出FIFO队列。
6.根据权利要求1或2所述的升级方法,其特征在于,所述数据节点中存储一个或多个数据片。
7.根据权利要求1所述的升级方法,其特征在于,还包括:
为每个数据节点设置一个升级状态表,该升级状态表包括该数据节点的状态信息,以及该数据节点中每个数据片实时可用的备份数。
8.根据权利要求7所述的方法,其特征在于,升级状态表分别存储于对应的数据节点中。
9.根据权利要求8所述的方法,其特征在于,还包括独立存储于一硬件设备的集中升级状态表,用于集中维护各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数,该集中升级状态表与各数据节点中的升级状态表保持同步更新。
10.根据权利要求7所述的方法,其特征在于,升级状态表集中存储在一硬件设备中;该特定数据节点收到升级确认消息之后,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理之前还包括:该特定数据节点向该硬件设备发送升级确认请求;
该硬件设备收到所述升级确认请求后,修改该特定数据节点对应的升级状态信息,并将相关数据片的备份数执行减一处理。 
11.一种升级调度节点,其特征在于,包括:
接收模块,用于接收一个或数个满足预定升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;
选择模块,用于在竞争队列中选择一升级请求,向该升级请求对应的特定数据节点发送升级确认消息;
处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数,具体包括:
该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,所述处理模块将其他数据节点中所包含的相关数据片的备份数执行减一处理,当该特定数据节点升级操作成功后,所述处理模块将其他未升级的数据节点的相关数据片的备份数执行加一处理,其中,所述相关数据片为该特定数据节点中包括的数据片。
12.根据权利要求11所述的升级调度节点,其特征在于,还包括:
存储模块,与所述接收模块连接,用于存储竞争队列;
配置模块:用于配置集中升级状态表,所述集中升级状态表用于集中维护各数据节点的状态信息,以及各数据节点中每个数据片实时可用的备份数。
13.一种数据节点的升级系统,其特征在于,包括:多个数据节点及升级调度节点;
每一数据节点存储一个或数个数据片,用于在满足升级条件时,向升级调度节点发起升级请求;
升级调度节点,包括:
接收模块,用于接收一个或数个满足升级条件的数据节点提出的升级请求,并将升级请求加入竞争队列;
选择模块,用于根据预定策略在竞争队列中选择一升级请求,向该升 级请求对应的特定数据节点发送升级确认消息;
处理模块,用于根据所述特定数据节点的升级情况,修改所述特定数据节点的状态信息,以及修改其他未升级数据节点中所包含的相关数据片的备份数,具体包括:该特定数据节点向相关数据片所在的竞争队列中的其他数据节点发起升级更新请求,所述处理模块将其他数据节点中所包含的相关数据片的备份数执行减一处理,当该特定数据节点升级操作成功后,所述处理模块将其他未升级的数据节点的相关数据片的备份数执行加一处理,其中,所述相关数据片为该特定数据节点中包括的数据片。
14.根据权利要求13所述的升级系统,其特征在于,
升级调度节点还包括:存储模块,与所述接收模块连接,用于存储竞争队列;
每个数据节点还包括:一个升级状态表,该升级状态表包括该数据节点的状态信息,以及该数据节点中每个数据片实时可用的备份数。
15.根据权利要求14所述的升级系统,其特征在于,所述升级状态表分别存储于对应的数据节点中和/或集中存储在升级调度节点中。 
CN2008102391199A 2008-12-09 2008-12-09 数据节点的升级方法、升级调度节点及升级系统 Expired - Fee Related CN101753349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102391199A CN101753349B (zh) 2008-12-09 2008-12-09 数据节点的升级方法、升级调度节点及升级系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102391199A CN101753349B (zh) 2008-12-09 2008-12-09 数据节点的升级方法、升级调度节点及升级系统

Publications (2)

Publication Number Publication Date
CN101753349A CN101753349A (zh) 2010-06-23
CN101753349B true CN101753349B (zh) 2012-08-15

Family

ID=42479789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102391199A Expired - Fee Related CN101753349B (zh) 2008-12-09 2008-12-09 数据节点的升级方法、升级调度节点及升级系统

Country Status (1)

Country Link
CN (1) CN101753349B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546309B (zh) * 2012-09-20 2014-10-29 深圳市友讯达科技发展有限公司 网络节点升级的方法、装置及系统
CN103533047B (zh) * 2013-10-12 2017-07-14 华为技术有限公司 用于升级数据离散备份系统的方法和设备
CN104917798A (zh) * 2014-03-13 2015-09-16 北京奇虎科技有限公司 一种数据更新的方法和系统
CN104468793B (zh) * 2014-12-10 2017-11-03 北京奇虎科技有限公司 分布式数据存储方法及分布式数据集群系统
CN105786405B (zh) * 2016-02-25 2018-11-13 华为技术有限公司 一种在线升级方法、装置及系统
CN107644030B (zh) * 2016-07-20 2021-05-18 华为技术有限公司 分布式数据库数据同步方法、相关装置及系统
CN106302702B (zh) * 2016-08-10 2020-03-20 华为技术有限公司 数据的分片存储方法、装置及系统
CN106407320B (zh) * 2016-08-31 2020-07-03 北京小米移动软件有限公司 文件处理方法、装置及系统
CN107508901B (zh) * 2017-09-04 2020-12-22 北京京东尚科信息技术有限公司 分布式数据处理方法、装置、服务器和系统
CN110928481A (zh) * 2018-09-19 2020-03-27 中国银联股份有限公司 分布式深度神经网络及其参数的存储方法
CN111142921A (zh) * 2018-11-02 2020-05-12 成都鼎桥通信技术有限公司 软件升级方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758253A (zh) * 2005-10-24 2006-04-12 中兴通讯股份有限公司 一种文件管理系统及管理方法
CN1870540A (zh) * 2006-06-19 2006-11-29 北京佳讯飞鸿电气有限责任公司 调度台远程升级方法
CN101308513A (zh) * 2008-06-27 2008-11-19 福建星网锐捷网络有限公司 分布式系统中缓存数据的同步配置方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758253A (zh) * 2005-10-24 2006-04-12 中兴通讯股份有限公司 一种文件管理系统及管理方法
CN1870540A (zh) * 2006-06-19 2006-11-29 北京佳讯飞鸿电气有限责任公司 调度台远程升级方法
CN101308513A (zh) * 2008-06-27 2008-11-19 福建星网锐捷网络有限公司 分布式系统中缓存数据的同步配置方法与装置

Also Published As

Publication number Publication date
CN101753349A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN101753349B (zh) 数据节点的升级方法、升级调度节点及升级系统
CN101655813B (zh) 存储系统
CN101741894B (zh) 一种分布式系统的升级方法、升级调度节点及系统
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
CN100557580C (zh) 用于快闪存储器的记入后直写式高速缓存
CN103136074B (zh) 多个磁盘阵列系统的数据储存方法及数据储存系统
US8453009B2 (en) Storage apparatus and control method for storage apparatus
US20060212668A1 (en) Remote copy method and storage system
CN100392611C (zh) 存储控制装置和方法
US5854895A (en) Network distribution information management system
CN103780638A (zh) 数据同步方法及系统
US20050114566A1 (en) Bandwidth utilization in a PPRC system
CN107465735B (zh) 分布式消息系统
CN102577278B (zh) 用于分布式集群存储网络的动态资源分配
JP5374900B2 (ja) コンピュータシステムのバックアップ方法
US20150032981A1 (en) Storage system, storage control device and data transfer method
CN103428288B (zh) 基于分区状态表和协调节点的副本同步方法
CN116009788A (zh) 计算集群的性能优化方法、系统、设备及存储介质
CN102541693A (zh) 数据的多副本存储管理方法和系统
CN102184183A (zh) 一种分布式数据库数据同步方法
US6636940B1 (en) Task control for high level commands in disk drives
CN102982033A (zh) 小文件的存储方法及系统
JP2011159363A (ja) テープライブラリ制御装置、テープライブラリ制御方法及びテープライブラリ制御プログラム
US7617175B1 (en) Method and apparatus for upgrading a database in a redundant environment by release chaining
JP2021099723A (ja) 分散ストレージシステム、データ制御方法及び記憶媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120815

Termination date: 20201209