CN101079896A - 一种并行存储***的多可用性机制共存架构 - Google Patents
一种并行存储***的多可用性机制共存架构 Download PDFInfo
- Publication number
- CN101079896A CN101079896A CN 200710018108 CN200710018108A CN101079896A CN 101079896 A CN101079896 A CN 101079896A CN 200710018108 CN200710018108 CN 200710018108 CN 200710018108 A CN200710018108 A CN 200710018108A CN 101079896 A CN101079896 A CN 101079896A
- Authority
- CN
- China
- Prior art keywords
- data
- framework
- state
- high available
- available mechanism
- 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.)
- Granted
Links
- 230000007246 mechanism Effects 0.000 title claims description 176
- 238000003860 storage Methods 0.000 title abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 84
- 230000001360 synchronised effect Effects 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 53
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 2
- 241001269238 Data Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种并行存储***的多可用性机制共存架构,该架构包括状态检测和控制框架、数据服务框架、元数据服务框架、数据同步框架、客户端框架、***管理框架、高可用机制模块7个部分,支持在线的模块加载和卸载。高可用机制模块以插件形式实现所有框架调用所需的接口函数,框架根据逻辑数据使用的高可用机制类型,调用对应的可用性模块中实现的接口,完成特定的功能。在这种架构的支持下,用户可以根据逻辑数据的可用性要求、读写特性、以及用户对数据的服务质量要求,在***所提供高可用机制中选择最适合的机制以保证逻辑数据的可靠性和数据服务的可用性,以此可避免因为使用单一的高可用机制而造成的不必要的性能损失和磁盘冗余。
Description
技术领域
本发明涉及计算机应用技术领域,是一种并行存储***的多可用性机制共存架构,特别是建立在并行文件***和分布式文件***之上的分布式存储***的多可用性机制共存框架。
背景技术
一个高可用***是指当***中出现软件或硬件故障时不会引起***停止服务,但允许***带故障运行。在并行存储***中,现有技术大多是通过数据冗余来实现。如果一些数据不可用,其备份数据可以替代提供服务。高可用***通常由两个或多个节点组成,这些节点通过互联网络与客户端相连,而每个节点有自己的本地存储空间。
现有的高可用***大多只是提供了一个单一的高可用机制,所有的逻辑数据都使用这一种高可用机制来保证数据的安全性。由于不同的逻辑数据有着不同的高可用需求,使用单一的高可用机制必然会造成***的性能损失和存储空间浪费。有些高可用***虽然可以根据需要动态配置高可用机制,但是不能够根据逻辑数据的需求动态地决定应该使用哪种高可用机制。
在实现并行存储***的高可用时,提供一种能够应用于该***的多可用性机制共存架构以支持多种高可用机制,并使得不同逻辑数据能够使用不同的高可用机制是很有必要的。本专利提出的多可用性机制共存架构就是为了满足逻辑数据的这种需求。在这种架构的支持下,用户可以根据逻辑数据的可用性要求,读写特性,以及用户对逻辑数据的服务质量要求,来决定使用***中提供的适当的可用机制以保证逻辑数据的可靠性和数据服务的可用性。
发明内容
本发明的目的在于克服上述现有技术不足,提供一种并行存储***的多可用性机制共存架构,目的是使得用户可选择逻辑数据的高可用机制,减少了不必要的性能损失和磁盘冗余。
本发明的技术方案是这样实现的:该架构由以下7个部分组成,分别为:状态检测和控制框架、数据服务框架、元数据服务框架、数据同步框架、客户端框架、***管理框架、高可用机制模块,状态检测和控制框架负责检测和控制本节点上所有的实体的状态,数据服务框架负责创建具体的数据服务线程、分发请求到数据服务线程并完成特定高可用机制所需的数据冗余和服务接管功能,元数据服务框架根据逻辑数据的高可用机制的不同调用不同的函数来完成元数据操作,数据同步框架支持多种高可用机制的数据同步线程共存,完成相互冗余的数据之间的数据同步操作,客户端框架提供一整套用户访问并行存储***的函数,支持多种高可用机制模块,根据请求的高可用机制类型调用对应的高可用机制函数,***管理框架提供一个实现***配置、***监测、***控制功能的界面,高可用机制模块作为插件实现其它6个部分的功能接口,
整个架构的工作流程如下:
a.用户发起针对逻辑数据的读写访问时,首先通过客户端框架中的函数发送请求到元数据服务框架,得到该逻辑数据的元数据信息,该元数据信息包含指明该段逻辑数据所使用的高可用机制类型;
b.然后,客户端框架根据逻辑数据的高可用机制类型调用对应高可用机制模块中实现的客户端框架的接口函数,该函数通过向数据节点上的数据服务框架发送访问请求以完成读写操作;
c.数据服务框架根据访问请求中附带的逻辑数据的高可用机制类型,将数据请求分发到对应的数据服务线程中,由数据服务线程处理该请求并返回响应到客户端框架,以完成数据请求的响应操作;
d.若某个数据节点上的数据服务框架或者数据服务线程不能被访问,客户端框架则发送状态确认请求给该数据节点的状态检测和控制框架,确认该数据服务线程的当前状态,状态检测和控制框架收到状态确认请求后,调用对应的状态查询函数确认所查询实体的当前状态,同时,调用相关的状态查询函数与该实体的相关实体所在节点上的状态监控框架通信得到其当前状态,根据得到的所有状态,查询该高可用机制的配置信息中的状态转化表,当状态转化表的某个前项匹配所有当前的状态时,则设置本地实体的状态为该状态转换条目的后项中指明的状态,如果没有可匹配的条目,则不作任何操作,然后向客户端返回转换后的实体状态;
e.当某数据节点发生故障时,在与节点的数据服务线程相关的其它数据节点上的数据服务线程运行正常的情况下,相关数据节点的数据服务框架记录与故障节点数据相关的冗余数据的修改日志;
f.故障发生后,***管理员通过***管理框架可以得知某数据服务线程发生故障,在人工干预后,***管理员通过***管理框架启动数据同步流程,位于原故障节点上的数据同步框架载入高可用机制模块中的同步函数启动数据同步线程,访问其它相关节点的数据同步框架,并根据修改日志同步故障节点数据,数据同步完成后,通知该数据节点上的状态检测和控制框架,调整数据服务线程的状态。
所述的并行存储***是由多个节点组成,节点之间通过网络互联,节点按照功能可划分为四种类型:元数据节点、数据节点、客户端节点、***管理节点,元数据节点存储逻辑数据的描述信息,并响应面向该信息的访问请求,文件数据本身被分割为逻辑数据块并存储在多个数据节点之上,客户端节点是逻辑数据的使用者,管理节点面向***管理员提供***的配置和管理功能。
所述的状态检测和控制框架,在并行存储***的每个数据节点和元数据节点上均有一个状态检测和控制框架,负责检测和控制本节点上所有的实体状态,如果需要得到处于其他节点上的实体状态,则状态检测和控制框架会同其他节点上的状态检测和控制框架通信,通过其他节点上的状态检测和控制框架得到所需实体的状态,实体是所有与高可用机制相关的服务程序,包括每种高可用机制中的数据服务线程、数据同步线程,并行存储***需要实时检测这些实体的运行情况,得到各个实体的状态,实体因高可用机制类型的不同而状态有所不同,但至少包含有表示活动还是停止的两种状态。
所述的数据服务框架,在启动时创建数据服务线程,载入具体的数据服务函数,然后根据客户端所请求的逻辑数据的高可用机制类型,将面向该逻辑数据的访问请求分发到对应的数据服务线程,并由该线程响应请求并返回客户端所需数据,同时,数据服务线程完成特定高可用机制所需的数据冗余和服务接管功能,数据服务框架支持多种高可用机制模块的共存,可动态的加载和卸载各种高可用机制模块。
所述的数据服务线程,每种高可用机制都有一个或者多个对应的数据服务线程,每个数据服务线程对于状态检测和控制框架来说就是一个实体,实体状态包含有活动状态、备份状态、同步状态、停止状态,分别代表不同的运行情况,数据服务线程和数据服务框架提供实体状态的访问接口,只允许同节点的状态检测和控制框架访问,同时实体也可以自主的改变其状态。
所述的元数据服务框架,支持多种高可用机制,根据逻辑数据的高可用机制的不同调用不同的接口函数来完成元数据操作,元数据操作根据高可用机制的不同实现在不同的高可用机制模块中,可动态地加载和卸载。
所述的数据同步框架可支持多种高可用机制的数据同步线程共存,提供高可用机制下故障恢复,相互冗余的数据之间的数据同步操作,数据同步线程分为作为同步数据提供端的数据同步服务端线程和作为同步数据请求端的数据同步客户端线程两种类型,数据同步框架根据数据同步发生的高可用机制类型和同步请求线程类型,将数据同步请求分发到对应的数据同步服务线程。
所述的客户端框架提供一整套用户访问并行存储***的函数接口,用户通过调用这些接口访问并行存储***中的数据,同时,客户端框架支持多种高可用机制共存,提供高可用机制模块加载和卸载操作,根据客户端所访问的逻辑数据的高可用机制类型调用对应函数来完成数据访问,每个高可用机制均提供一套客户端访问函数,与客户端框架所提供的函数接口相对应,客户端在这些函数的支持下,完成每个高可用机制特有的数据冗余、故障切换、故障恢复操作。
所述的***管理框架提供一个友好的管理并行存储***的界面,该界面实现***配置、***监测、***控制功能,***配置中包括面向并行存储***本身的配置,包括***规模,节点类型、节点信息配置,同时还包括面向高可用机制模块的配置,***监测中实现对***的整体信息以及每个节点的运行信息的监测,同时包括对所有高可用机制模块对应的实体信息和实体状态的检测,提供给***管理员完整的***视图,***控制功能中实现对***内所有节点的实时控制、以及对所有高可用机制对应的实体的状态控制,管理员应用这些控制功能可以人工开启和关闭***内的数据服务和数据同步操作。
所述的高可用机制模块被实现为不同的插件,插件实现其它六个框架的功能接口,这些框架根据逻辑数据使用的高可用机制类型,选择调用对应的可用性模块中实现的接口函数,完成数据访问、故障恢复和***管理。
本发明由于采用上述技术方案,可以动态地容纳多种高可用机制同时存在,并根据逻辑数据的高可用需求调用***中提供的适当的高可用机制线程来进行处理。对不同类型逻辑数据使用最为适合的高可用机制,可以避免因为使用单一的高可用机制而造成的不必要的性能损失和存储空间浪费,在满足用户对数据的可用性要求的前提下,服务质量也得到保证。
附图说明
图1是应用该多可用性机制并存架构的并行存储***的结构图。
图2是无故障时的并行文件***文件访问流程图。
图3是数据节点软件构成图。
图4是元数据节点软件构成图。
图5是客户端节点软件构成图。
图6是故障恢复时数据同步流程图。
图7是数据节点发生故障时,客户端访问流程图。
下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
参照图1所示,应用该架构的并行存储***中由多个节点组成,节点之间通过网络互联。节点按照功能可划分为四种类型:元数据节点、数据节点、客户端节点、***管理节点。元数据节点存储逻辑数据的描述信息,并响应面向该信息的访问请求。逻辑数据被分割为数据块并存储在多个数据节点之上。客户端节点是逻辑数据的使用者。管理节点面向***管理员提供***的配置和管理功能。
参照图2所示,无故障时的并行存储***文件访问流程是:首先通过客户端框架中的函数访问元数据服务模块,得到该逻辑数据的元数据信息。客户端框架根据高可用机制类型调用对应高可用机制的函数访问数据节点上的数据服务框架,经过网络通信,数据服务框架得到该请求,根据请求中附带的逻辑数据元数据信息得知该逻辑数据的高可用机制类型,再将数据请求分发到该类型对应的高可用机制的数据服务线程中,由数据服务线程处理该请求并返回响应到客户端,完成数据请求。
参照图3所示,数据服务节点软件构成图包括状态检测和控制框架,数据服务框架,各种高可用机制模块,管理端代理和数据同步框架。状态检测和调入各种高可用机制模块中对应的检测和控制函数接口,负责各种实体的状态检测和设置操作。数据服务框架调入对应的数据服务函数,负责本节点上的数据服务。管理端代理接收管理节点的请求,并执行请求中所要求的操作。数据同步框架调入对应的数据同步函数接口,负责在故障恢复情况下数据的均衡操作。
参照图4所示,元数据节点软件构成图包括状态检测和控制框架,元数据服务框架,各种高可用机制模块和管理端代理,状态检测和控制框架通过调用高可用机制模块的特定函数,获取和设置与该高可用机制相关的实体的状态,元数据框架也需要调用具体高可用机制模块中的函数,完成与该高可用机制相关的元数据操作。
参照图5所示,客户端节点软件构成图包括各种lib函数,客户端框架,各种高可用机制模块和管理端代理。当某个操作调用一个lib函数时,lib函数通过客户端框架调用对应高可用机制模块中的相应函数完成该操作。各个高可用机制模块都应该实现客户端框架需要的接口。
参照图6所示,故障恢复时数据同步流程图是:***管理框架向故障数据节点的状态检测和控制框架发送开始数据同步的请求,该请求被转发到该数据节点的数据同步框架上,数据同步框架根据高可用机制的类型,向状态检测和控制框架请求设置当前高可用机制的服务状态为阻塞状态,并启动所有相关数据同步客户端线程。然后状态检测和控制框架再向其他相关数据节点发送打开数据同步服务端线程的请求,该请求完成的同时也阻塞了当前节点的对应高可用机制的数据服务线程。数据同步服务端线程打开后,分析所记录下的修改日志,重新组织日志,生成同步列表,等待数据同步客户端线程的访问。数据同步客户端线程启动后则直接向相关节点的数据同步服务器端线程请求数据同步项,直到数据同步完成。最后,删除日志信息,数据同步线程的客户端和服务端分别向各自的状态检测与控制框架发送同步完成的通知,由状态检测与控制框架将数据服务程序的状态调整为正常,并终止数据同步线程。
参照图7所示,客户端节点包含用户进程、客户端框架和各个高可用机制模块,数据服务节点包含状态检测和控制模块、数据服务框架、数据同步框架、管理代理和各个高可用机制模块。数据节点产生故障时,客户端访问流程图是:客户端首先连接数据服务框架失败,然后向状态检测和控制模块查询当前高可用机制线程的状态。状态检测和控制框架调用当前高可用机制模块中的状态获取函数获得该实体及其相关实体的状态,并返回给客户端。管理代理向***管理模块报告当前状态变化情况。
构建适用于并行存储***的高可用机制并存架构包括构建该框架的7个部分:状态检测和控制框架、数据服务框架、元数据服务框架、客户端框架、数据同步框架、***管理模块和高可用机制模块。
状态检测和控制框架是节点上实体的状态请求操作的代理,负责检测和控制本节点上所有的实体状态,以满足高可用机制中故障切换和故障恢复部分中对实体状态的请求。在实现中,它是一个常驻程序,在***的每个数据节点和元数据节点上都存在,并在启动时载入所有的高可用机制模块。它的工作包括接收外部对实体状态的请求操作,向监控实体发送状态请求并根据需要控制实体的状态,响应应答。状态检测和控制框架可动态地加载和卸载各种高可用机制模块。
数据服务框架也是一个常驻程序,在每个数据节点上都存在。它在启动时载入所有的高可用机制模块并为每一个模块生成至少一个数据服务线程。数据服务框架根据客户端所请求的逻辑数据的高可用机制类型,将面向该逻辑数据的访问请求分发到对应的数据服务线程,并由该线程响应该请求并返回客户端所需数据,同时,数据服务线程完成特定高可用机制所需的数据冗余和服务接管等功能。数据服务框架支持多种高可用机制模块的共存,可动态的加载和卸载各种高可用机制模块对应的数据服务线程,并根据客户端的请求内容,正确分发客户端请求,同时处理面向所有机制的共有操作,如重启服务等操作。
元数据框架部署在元数据节点上,它也是一个常驻程序。它在启动时载入所有的高可用机制模块并获得各个与高可用机制相关联的处理函数的指针,向外提供元数据服务。它接收其他节点对元数据的请求,并根据高可用机制的不同调用不同的函数来完成与机制相关的操作,返回应答。
客户端提供一整套用户访问并行存储***的函数接口,可以是函数库接口或者通过VFS接口,用户调用该接口即可访问并行存储***中的数据。具体的访问接口随并行存储***不同而不同。为了支持多种高可用机制共存,客户端框架提供高可用机制模块加载和卸载的操作,同时可根据客户端所访问的逻辑数据的高可用机制类型调用对应函数来完成数据访问。在具体操作时,由客户为逻辑数据指定需要的高可用机制,用户的访问函数接口会根据配置信息加载该高可用机制模块并获得与机制相关的具体函数的指针,调用该函数来完成具体操作。每个高可用机制均提供一套客户端访问函数,与客户端框架所提供的接口函数相对应。客户端在这些函数的支持下,完成每个高可用机制特有的数据冗余、故障切换、故障恢复等相关操作。
数据同步框架提供高可用机制下故障恢复阶段,相互冗余的数据之间的数据同步操作,数据同步框架可支持多种高可用机制的数据同步线程共存。在具体实现时,它是一个常驻程序,在每一个数据节点中都存在。在该常驻程序启动时,就根据配置信息载入所有模块,但不生成线程,而是在接收到同步请求时才创建具体线程。数据同步线程有两种类型:作为同步数据提供端的数据同步服务器端线程,以及作为同步数据请求端的数据同步客户端线程。数据同步框架可根据数据同步发生的高可用机制类型和同步线程类型,将数据同步客户端线程的请求分发到对应的数据同步服务器端线程。数据同步线程作为一种状态检测和控制框架的被监控实体,具有多种运行状态。外部对其状态的控制通过其所在节点上的状态检测和监控框架完成。
***管理模块提供一个友好的管理并行存储***的界面,该界面实现***配置、***监测、***控制功能。***配置中包括面向并行存储***本身的配置,包括***规模,节点类型、节点信息配置,同时还包括面向高可用机制模块的配置,这些配置包括:所支持的高可用机制数量、以及对应的高可用机制模块的基本信息、每种高可用机制特有的配置信息。***监测中实现对***的整体信息以及每个节点的运行信息的监测,同时包括对所有高可用机制模块对应的实体信息和实体状态的检测,提供给***管理员完整的***视图。***控制功能中实现对***内所有节点的实时控制、以及对所有高可用机制对应的实体的状态控制。管理员应用这些控制可以人工开启和关闭***内的数据服务和数据同步操作。具体实现时,在所有服务节点,包括元数据服务节点和数据服务节点都有相应的管理端代理模块,***管理模块与这些代理进行通信来获取对应节点上所需要的信息。
不同高可用机制模块被实现为不同的插件,插件实现其它6个部分的功能接口。架构中其它框架根据逻辑数据使用的高可用机制类型,选择调用对应的可用性模块中实现的接口,相互协作完成数据访问、故障恢复和***管理。
用户要访问一段逻辑数据,首先通过客户端框架中的函数访问元数据服务框架,得到该逻辑数据的元数据信息,其中包括,该逻辑数据所使用的高可用机制类型,如果是创建逻辑数据,应在创建的操作中指明该段逻辑数据将要使用的高可用机制类型。取得元数据信息后,保存在客户端程序中,在后续的数据访问中,客户端框架根据高可用机制类型调用对应高可用机制的函数以访问数据节点上的数据服务框架,经过网络通信,数据服务框架得到该请求,根据请求中附带的逻辑数据元数据信息得知该逻辑数据的高可用机制类型,再将数据请求分发到该类型对应的高可用机制的数据服务线程中,由数据服务线程处理该请求并返回响应到客户端,完成数据请求。如若在数据请求对应数据节点的数据服务框架时发生故障,某数据数据节点的数据服务框架或者数据服务线程不能正常被访问,客户端函数则发送状态确认请求访问该节点的状态检测和控制框架,确认该数据服务线程的当前状态,状态检测和控制框架收到状态确认请求后,根据所请求实体的高可用机制类型和实体的标示符,调用该实体的状态查询函数确认该实体的当前状态,同时,对所有该实体的相关实体,调用相关实体的状态查询函数与其他节点上的状态监控框架通讯得到其当前状态,根据得到的所有状态,查询该高可用机制的状态转化表,当状态转化表的某个前项匹配所有当前的状态时,则根据该状态转化条目的后项设置本地实体的状态为后项中指明的状态。如果没有可匹配的条目,则不作任何操作。然后向客户端返回转换后的实体状态。客户端根据根据最新的数据服务线程的状态,判断是否可进行访问,如果该实体不能再被访问,可根据所使用的高可用机制选择其他节点进行访问,重复上述过程,直到得到正确响应或者返回出错。上述的实体状态请求根据请求的发起者作区分,如果是状态监控框架之间交换状态,返回的是状态转换前的实体状态,其他的发起者则返回的是状态转化后的实体状态。在数据的存储过程中,通常的高可用机制都会产生一些数据冗余以保证在发生节点故障时存储***的可用性。产生数据冗余的操作可以实现在数据服务线程中,也可以实现在客户端函数中。数据服务线程在运行正常的情况下,冗余数据被正常的写入数据节点的存储介质中,如果节点发生故障,要写入到故障节点上的数据不能被写入存储介质中,则需要在其他相关数据节点上记录与故障节点数据相关的冗余数据的改变。所以,数据服务框架设置了与逻辑数据相关的修改日志,每个数据服务线程设置一个修改日志文件,记录在其他节点故障阶段的相关数据的修改。以提供在故障节点恢复时数据同步的依据。
当存在故障节点时,存储***自动进入带故障运行阶段,并自动记录修改日志,***管理员通过***管理模块可以得知节点发生故障,在人工干预后,如该节点恢复正常,***发生故障前的数据未丢失,并以初始状态加入到***后,***管理员通过***管理模块中***控制功能,向故障节点的状态检测和控制框架发送开始数据同步的请求,该请求被转发到该节点的数据同步框架上,数据同步框架则根据高可用机制的类型,打开所有相关数据同步客户端线程。然后状态检测和控制框架再向其他相关节点发送打开数据同步服务端线程的请求。数据同步服务器端线程打开后,首先分析所记录下的修改日志,重新组织日志,生成同步列表,等待数据同步客户端线程的访问。数据同步客户端线程启动后则直接向相关节点的数据同步服务器端线程请求数据同步项,并逐个处理请求的同步项,数据同步服务端线程在发现当前日志中需要同步的数量小于一个阀值时,向状态检测和控制框架发送请求阻塞数据服务线程的请求,得到确认后,数据服务线程停止服务,在一个短暂的时间内,数据同步客户端可以快速的同步所有的数据,在数据同步服务端线程中的同步链表为空时,数据同步线程的客户端和服务端分别向各自的状态检测和控制框架发送同步完成的通知,由状态检测和控制框架将数据服务程序的状态调整为正常,并终止数据同步线程。当所有故障节点上的高可用机制都完成了上述的操作后,故障节点的数据同步操作完成。
Claims (10)
1、一种并行存储***的多可用性机制共存架构,其特征在于:该架构由以下7个部分组成,分别为:状态检测和控制框架、数据服务框架、元数据服务框架、数据同步框架、客户端框架、***管理框架、高可用机制模块,状态检测和控制框架负责检测和控制本节点上所有的实体的状态,数据服务框架负责创建具体的数据服务线程、分发请求到数据服务线程并完成特定高可用机制所需的数据冗余和服务接管功能,元数据服务框架根据逻辑数据的高可用机制的不同调用不同的函数来完成元数据操作,数据同步框架支持多种高可用机制的数据同步线程共存,完成相互冗余的数据之间的数据同步操作,客户端框架提供一整套用户访问并行存储***的函数,支持多种高可用机制模块,根据请求的高可用机制类型调用对应的高可用机制函数,***管理框架提供一个实现***配置、***监测、***控制功能的界面,高可用机制模块作为插件实现其它6个部分的功能接口,
整个架构的工作流程如下:
a.用户发起针对逻辑数据的读写访问时,首先通过客户端框架中的函数发送请求到元数据服务框架,得到该逻辑数据的元数据信息,该元数据信息包含指明该段逻辑数据所使用的高可用机制类型;
b.然后,客户端框架根据逻辑数据的高可用机制类型调用对应高可用机制模块中实现的客户端框架的接口函数,该函数通过向数据节点上的数据服务框架发送访问请求以完成读写操作;
c.数据服务框架根据访问请求中附带的逻辑数据的高可用机制类型,将数据请求分发到对应的数据服务线程中,由数据服务线程处理该请求并返回响应到客户端框架,以完成数据请求的响应操作;
d.若某个数据节点上的数据服务框架或者数据服务线程不能被访问,客户端框架则发送状态确认请求给该数据节点的状态检测和控制框架,确认该数据服务线程的当前状态,状态检测和控制框架收到状态确认请求后,调用对应的状态查询函数确认所查询实体的当前状态,同时,调用相关的状态查询函数与该实体的相关实体所在节点上的状态监控框架通信得到其当前状态,根据得到的所有状态,查询该高可用机制的配置信息中的状态转化表,当状态转化表的某个前项匹配所有当前的状态时,则设置本地实体的状态为该状态转换条目的后项中指明的状态,如果没有可匹配的条目,则不作任何操作,然后向客户端返回转换后的实体状态;
e.当某数据节点发生故障时,在与节点的数据服务线程相关的其它数据节点上的数据服务线程运行正常的情况下,相关数据节点的数据服务框架记录与故障节点数据相关的冗余数据的修改日志;
f.故障发生后,***管理员通过***管理框架可以得知某数据服务线程发生故障,在人工干预后,***管理员通过***管理框架启动数据同步流程,位于原故障节点上的数据同步框架载入高可用机制模块中的同步函数启动数据同步线程,访问其它相关节点的数据同步框架,并根据修改日志同步故障节点数据,数据同步完成后,通知该数据节点上的状态检测和控制框架,调整数据服务线程的状态。
2、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的并行存储***是由多个节点组成,节点之间通过网络互联,节点按照功能可划分为四种类型:元数据节点、数据节点、客户端节点、***管理节点,元数据节点存储逻辑数据的描述信息,并响应面向该信息的访问请求,文件数据本身被分割为逻辑数据块并存储在多个数据节点之上,客户端节点是逻辑数据的使用者,管理节点面向***管理员提供***的配置和管理功能。
3、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的状态检测和控制框架,在并行存储***的每个数据节点和元数据节点上均有一个状态检测和控制框架,负责检测和控制本节点上所有的实体状态,如果需要得到处于其他节点上的实体状态,则状态检测和控制框架会同其他节点上的状态检测和控制框架通信,通过其他节点上的状态检测和控制框架得到所需实体的状态,实体是所有与高可用机制相关的服务程序,包括每种高可用机制中的数据服务线程、数据同步线程,并行存储***需要实时检测这些实体的运行情况,得到各个实体的状态,实体因高可用机制类型的不同而状态有所不同,但至少包含有表示活动还是停止的两种状态。
4、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的数据服务框架,在启动时创建数据服务线程,载入具体的数据服务函数,然后根据客户端所请求的逻辑数据的高可用机制类型,将面向该逻辑数据的访问请求分发到对应的数据服务线程,并由该线程响应请求并返回客户端所需数据,同时,数据服务线程完成特定高可用机制所需的数据冗余和服务接管功能,数据服务框架支持多种高可用机制模块的共存,可动态的加载和卸载各种高可用机制模块。
5、根据权利要求1或3所述的并行存储***的多可用性机制共存架构,其特征在于:所述的数据服务线程,每种高可用机制都有一个或者多个对应的数据服务线程,每个数据服务线程对于状态检测和控制框架来说就是一个实体,实体状态包含有活动状态、备份状态、同步状态、停止状态,分别代表不同的运行情况,数据服务线程和数据服务框架提供实体状态的访问接口,只允许同节点的状态检测和控制框架访问,同时实体也可以自主的改变其状态。
6、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的元数据服务框架,支持多种高可用机制,根据逻辑数据的高可用机制的不同调用不同的接口函数来完成元数据操作,元数据操作根据高可用机制的不同实现在不同的高可用机制模块中,可动态地加载和卸载。
7、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的数据同步框架可支持多种高可用机制的数据同步线程共存,提供高可用机制下故障恢复,相互冗余的数据之间的数据同步操作,数据同步线程分为作为同步数据提供端的数据同步服务端线程和作为同步数据请求端的数据同步客户端线程两种类型,数据同步框架根据数据同步发生的高可用机制类型和同步请求线程类型,将数据同步请求分发到对应的数据同步服务线程。
8、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的客户端框架提供一整套用户访问并行存储***的函数接口,用户通过调用这些接口访问并行存储***中的数据,同时,客户端框架支持多种高可用机制共存,提供高可用机制模块加载和卸载操作,根据客户端所访问的逻辑数据的高可用机制类型调用对应函数来完成数据访问,每个高可用机制均提供一套客户端访问函数,与客户端框架所提供的函数接口相对应,客户端在这些函数的支持下,完成每个高可用机制特有的数据冗余、故障切换、故障恢复操作。
9、根据权利要求1所述的并行存储***的多可用性机制共存架构,其特征在于:所述的***管理框架提供一个友好的管理并行存储***的界面,该界面实现***配置、***监测、***控制功能,***配置中包括面向并行存储***本身的配置,包括***规模,节点类型、节点信息配置,同时还包括面向高可用机制模块的配置,***监测中实现对***的整体信息以及每个节点的运行信息的监测,同时包括对所有高可用机制模块对应的实体信息和实体状态的检测,提供给***管理员完整的***视图,***控制功能中实现对***内所有节点的实时控制、以及对所有高可用机制对应的实体的状态控制,管理员应用这些控制功能可以人工开启和关闭***内的数据服务和数据同步操作。
10、根据权利要求1中所述的并行存储***的多可用性机制共存架构,其特征在于:所述的高可用机制模块被实现为不同的插件,插件实现其它六个框架的功能接口,这些框架根据逻辑数据使用的高可用机制类型,选择调用对应的可用性模块中实现的接口函数,完成数据访问、故障恢复和***管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710018108A CN101079896B (zh) | 2007-06-22 | 2007-06-22 | 一种构建并行存储***多可用性机制并存架构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710018108A CN101079896B (zh) | 2007-06-22 | 2007-06-22 | 一种构建并行存储***多可用性机制并存架构的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101079896A true CN101079896A (zh) | 2007-11-28 |
CN101079896B CN101079896B (zh) | 2010-05-19 |
Family
ID=38907123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710018108A Expired - Fee Related CN101079896B (zh) | 2007-06-22 | 2007-06-22 | 一种构建并行存储***多可用性机制并存架构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101079896B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470735B (zh) * | 2007-12-27 | 2011-05-04 | 财团法人工业技术研究院 | 虚拟文件管理***及其***配置建立与文件存取方法 |
CN102291449A (zh) * | 2011-08-08 | 2011-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于同步策略的测试和调整集群存储***性能的方法 |
CN103235753A (zh) * | 2013-04-09 | 2013-08-07 | 国家电网公司 | 一种信息服务器监测方法及装置 |
CN104123300A (zh) * | 2013-04-26 | 2014-10-29 | 上海云人信息科技有限公司 | 数据分布式存储***及方法 |
CN105550094A (zh) * | 2015-12-10 | 2016-05-04 | 国网四川省电力公司信息通信公司 | 一种高可用***状态自动监控方法 |
CN106357646A (zh) * | 2016-09-21 | 2017-01-25 | 郑州云海信息技术有限公司 | 一种用于存储管理软件的代理控制*** |
WO2017187263A1 (en) * | 2016-04-26 | 2017-11-02 | Umbra Technologies Ltd. | Sling-routing logic and load balancing |
CN107710165A (zh) * | 2015-12-15 | 2018-02-16 | 华为技术有限公司 | 用于存储节点同步业务请求的方法和装置 |
CN108388632A (zh) * | 2011-11-15 | 2018-08-10 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
US10574482B2 (en) | 2015-04-07 | 2020-02-25 | Umbra Technologies Ltd. | Multi-perimeter firewall in the cloud |
US10630505B2 (en) | 2015-01-28 | 2020-04-21 | Umbra Technologies Ltd. | System and method for a global virtual network |
US10841360B2 (en) | 2014-12-08 | 2020-11-17 | Umbra Technologies Ltd. | System and method for content retrieval from remote network regions |
CN109120691B (zh) * | 2018-08-15 | 2021-05-14 | 恒生电子股份有限公司 | 业务***的状态检测方法、***、装置及计算机可读介质 |
CN113395358A (zh) * | 2021-08-16 | 2021-09-14 | 贝壳找房(北京)科技有限公司 | 网络请求的执行方法与执行*** |
US11360945B2 (en) | 2015-12-11 | 2022-06-14 | Umbra Technologies Ltd. | System and method for information slingshot over a network tapestry and granularity of a tick |
US11711346B2 (en) | 2015-01-06 | 2023-07-25 | Umbra Technologies Ltd. | System and method for neutral application programming interface |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149918B2 (en) * | 2003-03-19 | 2006-12-12 | Lucent Technologies Inc. | Method and apparatus for high availability distributed processing across independent networked computer fault groups |
US6996502B2 (en) * | 2004-01-20 | 2006-02-07 | International Business Machines Corporation | Remote enterprise management of high availability systems |
-
2007
- 2007-06-22 CN CN200710018108A patent/CN101079896B/zh not_active Expired - Fee Related
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470735B (zh) * | 2007-12-27 | 2011-05-04 | 财团法人工业技术研究院 | 虚拟文件管理***及其***配置建立与文件存取方法 |
CN102291449A (zh) * | 2011-08-08 | 2011-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于同步策略的测试和调整集群存储***性能的方法 |
CN102291449B (zh) * | 2011-08-08 | 2014-04-02 | 浪潮电子信息产业股份有限公司 | 一种基于同步策略的测试和调整集群存储***性能的方法 |
CN108388632A (zh) * | 2011-11-15 | 2018-08-10 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
CN108388632B (zh) * | 2011-11-15 | 2021-11-19 | 起元科技有限公司 | 数据分群、分段、以及并行化 |
CN103235753A (zh) * | 2013-04-09 | 2013-08-07 | 国家电网公司 | 一种信息服务器监测方法及装置 |
CN104123300A (zh) * | 2013-04-26 | 2014-10-29 | 上海云人信息科技有限公司 | 数据分布式存储***及方法 |
CN104123300B (zh) * | 2013-04-26 | 2017-10-13 | 上海云人信息科技有限公司 | 数据分布式存储***及方法 |
US10841360B2 (en) | 2014-12-08 | 2020-11-17 | Umbra Technologies Ltd. | System and method for content retrieval from remote network regions |
US11503105B2 (en) | 2014-12-08 | 2022-11-15 | Umbra Technologies Ltd. | System and method for content retrieval from remote network regions |
US11711346B2 (en) | 2015-01-06 | 2023-07-25 | Umbra Technologies Ltd. | System and method for neutral application programming interface |
US11881964B2 (en) | 2015-01-28 | 2024-01-23 | Umbra Technologies Ltd. | System and method for a global virtual network |
US10630505B2 (en) | 2015-01-28 | 2020-04-21 | Umbra Technologies Ltd. | System and method for a global virtual network |
US11240064B2 (en) | 2015-01-28 | 2022-02-01 | Umbra Technologies Ltd. | System and method for a global virtual network |
US11750419B2 (en) | 2015-04-07 | 2023-09-05 | Umbra Technologies Ltd. | Systems and methods for providing a global virtual network (GVN) |
US11418366B2 (en) | 2015-04-07 | 2022-08-16 | Umbra Technologies Ltd. | Systems and methods for providing a global virtual network (GVN) |
US10574482B2 (en) | 2015-04-07 | 2020-02-25 | Umbra Technologies Ltd. | Multi-perimeter firewall in the cloud |
US10659256B2 (en) | 2015-04-07 | 2020-05-19 | Umbra Technologies Ltd. | System and method for virtual interfaces and advanced smart routing in a global virtual network |
US10756929B2 (en) | 2015-04-07 | 2020-08-25 | Umbra Technologies Ltd. | Systems and methods for providing a global virtual network (GVN) |
US11799687B2 (en) | 2015-04-07 | 2023-10-24 | Umbra Technologies Ltd. | System and method for virtual interfaces and advanced smart routing in a global virtual network |
US11271778B2 (en) | 2015-04-07 | 2022-03-08 | Umbra Technologies Ltd. | Multi-perimeter firewall in the cloud |
CN105550094B (zh) * | 2015-12-10 | 2018-02-06 | 国网四川省电力公司信息通信公司 | 一种高可用***状态自动监控方法 |
CN105550094A (zh) * | 2015-12-10 | 2016-05-04 | 国网四川省电力公司信息通信公司 | 一种高可用***状态自动监控方法 |
US11360945B2 (en) | 2015-12-11 | 2022-06-14 | Umbra Technologies Ltd. | System and method for information slingshot over a network tapestry and granularity of a tick |
US11681665B2 (en) | 2015-12-11 | 2023-06-20 | Umbra Technologies Ltd. | System and method for information slingshot over a network tapestry and granularity of a tick |
CN107710165A (zh) * | 2015-12-15 | 2018-02-16 | 华为技术有限公司 | 用于存储节点同步业务请求的方法和装置 |
CN107710165B (zh) * | 2015-12-15 | 2020-01-03 | 华为技术有限公司 | 用于存储节点同步业务请求的方法和装置 |
US11630811B2 (en) | 2016-04-26 | 2023-04-18 | Umbra Technologies Ltd. | Network Slinghop via tapestry slingshot |
US10922286B2 (en) | 2016-04-26 | 2021-02-16 | UMBRA Technologies Limited | Network Slinghop via tapestry slingshot |
US11146632B2 (en) | 2016-04-26 | 2021-10-12 | Umbra Technologies Ltd. | Data beacon pulser(s) powered by information slingshot |
US11743332B2 (en) | 2016-04-26 | 2023-08-29 | Umbra Technologies Ltd. | Systems and methods for routing data to a parallel file system |
WO2017187263A1 (en) * | 2016-04-26 | 2017-11-02 | Umbra Technologies Ltd. | Sling-routing logic and load balancing |
US11789910B2 (en) | 2016-04-26 | 2023-10-17 | Umbra Technologies Ltd. | Data beacon pulser(s) powered by information slingshot |
CN106357646B (zh) * | 2016-09-21 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种用于存储管理软件的代理控制*** |
CN106357646A (zh) * | 2016-09-21 | 2017-01-25 | 郑州云海信息技术有限公司 | 一种用于存储管理软件的代理控制*** |
CN109120691B (zh) * | 2018-08-15 | 2021-05-14 | 恒生电子股份有限公司 | 业务***的状态检测方法、***、装置及计算机可读介质 |
CN113395358A (zh) * | 2021-08-16 | 2021-09-14 | 贝壳找房(北京)科技有限公司 | 网络请求的执行方法与执行*** |
CN113395358B (zh) * | 2021-08-16 | 2021-11-05 | 贝壳找房(北京)科技有限公司 | 网络请求的执行方法与执行*** |
Also Published As
Publication number | Publication date |
---|---|
CN101079896B (zh) | 2010-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101079896B (zh) | 一种构建并行存储***多可用性机制并存架构的方法 | |
US7340637B2 (en) | Server duplexing method and duplexed server system | |
EP2281240B1 (en) | Maintaining data integrity in data servers across data centers | |
CA2543493C (en) | System and method for failover | |
US6134673A (en) | Method for clustering software applications | |
KR100725066B1 (ko) | 다수의 클라이언트와의 데이터 통신을 위한 시스템 서버 및데이터 처리 방법 | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US20070061379A1 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
CN110807064B (zh) | Rac分布式数据库集群***中的数据恢复装置 | |
US8527454B2 (en) | Data replication using a shared resource | |
CN102411639A (zh) | 元数据的多副本存储管理方法和*** | |
CN107357800A (zh) | 一种数据库高可用零丢失解决方法 | |
CN116055563A (zh) | 基于Raft协议的任务调度方法、***、电子设备和介质 | |
CN106294031B (zh) | 一种业务管理方法和存储控制器 | |
CN116389233B (zh) | 容器云管理平台主备切换***、方法、装置和计算机设备 | |
CN114363350A (zh) | 一种服务治理***及方法 | |
CN107404511A (zh) | 集群中服务器的替换方法及设备 | |
CN112702206A (zh) | 一种主备集群部署方法及*** | |
CN115914241A (zh) | 一种基于opensips的注册中心*** | |
CN117216160A (zh) | 一种数据同步方法、装置、设备及可读存储介质 | |
CN115510155A (zh) | 数据动态同步方法及边缘用户终端 | |
KR100509946B1 (ko) | 이중화 dbms에서의 상태제어 및 일관성 유지 방법 | |
CN117201284A (zh) | 一种网关管理方法、***、装置及介质 | |
CN115632947A (zh) | 一种配置下发方法及装置 | |
CN116455920A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100519 Termination date: 20130622 |