主备存储节点切换方法和系统的制作方法
【技术领域】
[0001]本发明涉及到网络技术领域,特别涉及到主备存储节点切换方法和系统。
【背景技术】
[0002]随着网络技术的不断发展,网络服务业务越来越多,例如,会员业务、游戏币账户等。为了保证对外提供服务的可持续性,通常会有主存储节点和备存储节点,在主存储节点正常工作时,由主存储节点向用户提供业务服务,在主存储节点宕机或者其它原因不能提供服务的情况下,通常会自动快速的切换到备存储节点。
[0003]但是,目前成型的存储层主备切换方案存在一些缺陷。对于某些写数据高度敏感的服务,需要及时更新数据库中的数据,例如包月业务、充值业务等,在主备切换后,应继续保持写服务功能,以保证用户可以持续的开通包月、为游戏账户充值等,但是这样一来,无法确保备存储节点对外提供服务的数据与主存储节点的数据完全一致,即无法保证“一笔不差”的强一致性,容易导致数据错乱。而对于某些准确性要求很高的数据服务,如果不能保证主备切换后的强一致性,通常切换到备存储节点后,为避免数据错乱,不能开通备存储节点的写服务功能,即为了保证强一致性而牺牲了切换到备存储节点后的写服务,造成服务功能不完整。
【发明内容】
[0004]本发明实施例提供一种主备存储节点切换方法和系统,在主存储节点切换至备存储节点后,既保证了主存储节点和备存储节点之间服务请求数据的强一致性,又保留了备存储节点的写服务功能。
[0005]本发明实施例提出一种主备存储节点切换方法,包括步骤:
[0006]主存储节点将服务请求数据发送至一致性控制中心注册,并在注册成功后,所述主存储节点将服务请求数据同步至备存储节点;
[0007]所述一致性控制中心在判定所述主存储节点的服务请求数据未成功同步至所述备存储节点时,将同步失败的已注册的服务请求数据对应的键值存入黑名单;
[0008]当配置中心将网关路径由主存储节点切换至备存储节点时,所述备存储节点从所述一致性控制中心获取所述黑名单;
[0009]所述备存储节点接收新的服务请求数据,并在所述新的服务请求数据对应的键值与所述黑名单中存储的键值一致时,所述备存储节点拒绝为所述新的服务请求数据提供写服务;否则,所述备存储节点允许为所述新的服务请求数据提供写服务。
[0010]本发明实施例还提出一种主备存储节点切换系统,包括主存储节点、备存储节点、一致性控制中心和配置中心;
[0011]所述主存储节点用于,将服务请求数据发送至一致性控制中心注册,并在注册成功后,将服务请求数据同步至备存储节点;
[0012]所述一致性控制中心用于,在判定所述主存储节点的服务请求数据未成功同步至所述备存储节点时,将同步失败的已注册的服务请求数据对应的键值存入黑名单;
[0013]所述配置中心用于,将网关路径由主存储节点切换至备存储节点;
[0014]所述备存储节点用于,当配置中心将网关路径由主存储节点切换至备存储节点时,从所述一致性控制中心获取所述黑名单;
[0015]所述备存储节点用于,接收新的服务请求数据,并在所述新的服务请求数据对应的键值与所述黑名单中存储的键值一致时,拒绝为所述新的服务请求数据提供写服务;否贝U,允许为所述新的服务请求数据提供写服务。
[0016]本发明实施例通过黑名单机制,来保证主备存储节点切换后服务请求数据的强一致性,并确保在主备存储节点切换后,备存储节点能够为大多数服务请求数据提供写服务,既保证了主存储节点和备存储节点之间服务请求数据的强一致性,又保留了备存储节点的写服务功能。
【附图说明】
[0017]图1为本发明主备存储节点切换方法的第一实施例的流程图;
[0018]图2为本发明主备存储节点切换方法的第二实施例的流程图;
[0019]图3为本发明主备存储节点切换方法的第三实施例的流程图;
[0020]图4为本发明主备存储节点切换方法的第四实施例的流程图;
[0021]图5为本发明主备存储节点切换方法的第五实施例的流程图;
[0022]图6为本发明主备存储节点切换系统实施例的结构示意图;
[0023]图7为本发明实施例中主备切换前的信令图;
[0024]图8为本发明实施例中主备切换判断条件的信令图;
[0025]图9为本发明实施例中实现主备切换的信令图。
[0026]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0027]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0028]本实施例涉及到以下名称:
[0029]主备切换:在主存储节点宕机或者其它原因不能提供服务的情况下,自动快速的切换到备存储节点,从而保证对外提供服务的可持续性。
[0030]强一致性:在主备切换的过程中和切换后,确保备存储节点可以对外提供服务的数据是完全和主存储节点一致的,避免在切换过程中,因为数据同步问题而导致的数据错舌L。
[0031]写服务:类似于操作数据库中的数据更新类操作,对于准确性要求很高的数据,如果不能保证主备切换的强一致性,通常切换到备存储节点后不能立刻提供写服务。
[0032]黑名单:在主备切换的情况下,必然存在一少部分数据无法及时从主存储节点同步到备存储节点,这部分数据将会被记录到一个文件中,这个文件就叫做黑名单。在主备切换后,备存储节点对于一个服务请求数据,会先判断该服务请求数据的键值是否在黑名单中,只有不在黑名单中的服务请求数据,会继续提供服务。
[0033]如图1所示,图1为本发明主备存储节点切换方法的第一实施例的流程图。本实施例提到的主备存储节点切换方法,包括:
[0034]步骤S10,主存储节点将服务请求数据发送至一致性控制中心注册,并在注册成功后,主存储节点将服务请求数据同步至备存储节点;
[0035]本实施例为了保证主备存储节点之间数据的强一致性,需要将主存储节点的服务请求数据同步到备存储节点中,而在此之前,可将需要同步的服务请求数据发送到一致性控制中心进行备案,即注册,一致性控制中心将主存储节点发送的服务请求数据记录下来,用于检测主备存储节点之间数据的一致性。
[0036]步骤S20,一致性控制中心在判定主存储节点的服务请求数据未成功同步至备存储节点时,将同步失败的已注册的服务请求数据对应的键值存入黑名单;
[0037]—致性控制中心将备存储节点获取的服务请求数据与已注册的服务请求数据进行比较,由于在主备存储节点切换后,可能存在一部分服务请求数据无法及时从主存储节点同步到备存储节点,而这部分服务请求数据已经在一致性控制中心注册成功,此时,一致性控制中心会判断出从备存储节点获取的服务请求数据与已注册的服务请求数据不一致,并且这些从备存储节点获取的服务请求数据与主存储节点中的服务请求数据也不一致,表明这部分服务请求数据同步失败,这部分不一致的已注册的服务请求数据对应的键值被确定为黑名单键值,这些黑名单键值将会被一致性控制中心记录到一个文件中,这个文件可以是由黑名单键值生成的位图文件,可简称为黑名单。
[0038]步骤S30,当配置中心将网关路径由主存储节点切换至备存储节点时,备存储节点从一致性控制中心获取黑名单;
[0039]配置中心负责对主备存储节点进行切换。在主备存储节点切换后,一致性控制中心还负责向备存储节点下发黑名单。
[0040]步骤S40,备存储节点接收新的服务请求数据,并在新的服务请求数据对应的键值与黑名单中存储的键值一致时,备存储节点拒绝为新的服务请求数据提供写服务;否则,备存储节点允许为新的服务请求数据提供写服务。
[0041]由于黑名单中的键值所对应的服务请求数据是没有同步到备存储节点中的,为了保证主备存储节点之间的强一致性,此部分服务请求数据所对应的服务不被允许提供服务。只有不在黑名单中的键值所对应的服务请求数据才允许提供服务。
[0042]本实施例通过黑名单机制,来保证主备存储节点切换后服务请求数据的强一致性,由于通常情况下,在主备存储节点同步后,未被同步的数据较少的,因此在黑名单中的服务请求数据相对较少,确保在主备存储节点切换后,备存储节点能够为大多数服务请求数据提供写服务。
[0043]如图2所示,图2为本发明主备存储节点切换方法的第二实施例的流程图。本实施例在图1所示实施例的基础上,对注册与同步的步骤详细描述,其中,步骤S1包括:
[0044]步骤S11,主存储节点将携带有服务请求数据的注册请求发送至一致性控制中心;
[0045]主存储节点经网关接收到一条服务请求数据后,将该服务请求数据发送到一致性控制中