一种基于高可用架构下的通信方法和节点的制作方法

文档序号:10473771阅读:183来源:国知局
一种基于高可用架构下的通信方法和节点的制作方法
【专利摘要】本发明实施例提供一种基于高可用架构下的通信方法和节点,基于高可用的集群数据库环境,主访问节点仅仅需要与其中一台服务节点进行网络通信,便可以通过该服务节点将所要进行的数据操作转发到集群中的其它服务节点上去,以达到各个服务节点数据同步操作的目的。在无需主访问节点向多个节点进行相同操作,减少重复操作,无需主访问节点向多个节点建立网络连接并发送相同的操作内容,降低通信网络资源利用率的基础上,还存在层次少,路径简单的特点,提高了数据操作的效率,避免了管理复杂的问题。
【专利说明】
一种基于高可用架构下的通信方法和节点
技术领域
[0001]本发明涉及通信、分布式集群领域,尤其涉及一种基于高可用架构下的通信方法和节点。
【背景技术】
[0002]现在的分布式集群数据库普遍采用多节点数据库并行工作模式,如DB2DPF架构等,将海量数据通过一定的算法分散到不同的节点以提高读写操作的并行度。在考虑提高并行执行效率的同时,为了保证数据的高可用性,不同的节点之间也要求能对其它节点的数据进行相应的备份,以便于在某些节点出现异常的情况下,其它节点可以替代该节点继续进行工作,从而使整体系统的对外服务能够照常进行,这也即所谓的分布式集群数据库的尚可用性。
[0003]在高可用的分布式集群数据库环境中,由于同一内容的数据在多个节点都存在备份,当需要进行数据操作时,就要对各个节点上的数据进行一致性操作,以保证各个节点的数据一致,也即在不失分布式并行操作优势的前提下,同时保证数据库的高可用性及数据一致性。
[0004]目前,为了确保数据一致性,基于高可用架构下的通信方法主要是,主访问节点首先通过网络连接到所有具有该数据备份的节点,然后分别对各个节点进行相同的数据操作,以达到各节点数据一致的目的,此时的网络架构图如图1所示。
[0005]但这种通信方式至少存在以下问题:
[0006]1、多点互备存在重复操作
[0007]主访问节点向分布式集群数据库中的多个节点的相同数据进行相同操作时,就会存在相同数据计算重复多次(重复次数视节点数量而定)进行的情况,这会大大提高系统资源消耗量,从而严重降低数据操作的执行效率。
[0008]2、传统一对多通信网络资源利用率低
[0009]主访问节点一般是通过分布式集群数据库外部网络向分布式集群数据库内部多个节点建立网络连接并发送相同的操作内容。相同的数据内容被多次进行网络发送,这会成数倍增加网络数据传送量,大大增加了网络数据传送压力,从而严重降低了分布式集群数据库外部网络使用效率。
[0010]3、存在节点性能木桶原理
[0011]在主访问节点对各节点进行操作结果确认时,需要等待多个节点上的操作全部确认完毕,才能确定本次操作是否完成。由于各个节点的处理性能不尽相同,因此主访问节点不得不等待多个节点中性能最差的节点操作完毕,才能确认完成此次操作。这期间,其它性能较优的节点处于停滞等待状态,分布式集群数据库整体使用效率低下。
[0012]基于高可用架构下的另一种通信方法中,提供了一种分布式数据复制的最佳地权衡复制开销和一致性级别的方法和系统。通过层次方式逐步将数据分发到后续的节点,从而确定最优链路。此时的网络架构图如图2所示,在系统10中,包括多个根据预定层次布置的专用服务器12,多个叶节点D服务器20,多个中间节点D服务器16,一个根节点D服务器14。系统10中还包括多个与特定域或组织关联并被称为O服务器22的资源发现服务器,分布式O服务器跨广域网18与D服务器通信,此外,其他O服务器还可以通过一个或多个局域网24与D服务器通信。
[0013]在这种通过层次分发实现通信的方式下,尽管通信性能相对于第一种实现方式得到了优化,但仍存在着层次过多、路径无规律等问题,层次过多则数据操作的效率仍然存在瓶颈,路径无规律则会造成管理复杂。

【发明内容】

[0014]本发明实施例提供一种基于高可用架构下的通信方法和节点,用于提高数据操作的效率,并降低管理的复杂度。
[0015]—种基于高可用架构下的通信方法,所述方法包括:
[0016]高可用分布式集群数据库中随机选择的一个子集群中的代理节点与主访问节点建立网络连接;
[0017]与主访问节点建立网络连接的代理节点,确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息;
[0018]与主访问节点建立网络连接的代理节点,分别与数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送第二数据操作请求,其中,每个数据操作涉及的子集群中的代理节点根据接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果;
[0019]与主访问节点建立网络连接的代理节点,针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,并将对各代理节点上报的数据操作执行结果进行汇总后发送给主访问节点;
[0020]其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。
[0021 ] 一种节点,所述节点包括:
[0022]网络连接模块,用于与主访问节点建立网络连接;
[0023]确定模块,用于确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;
[0024]集群连接模块,用于分别与确定模块确定出的数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送确定模块确定出的第二数据操作请求,其中,一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点;
[0025]接收模块,用于针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,以及接收第二数据操作请求;
[0026]执行模块,用于根据接收模块接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果,上报给与主访问节点建立网络连接的代理节点;
[0027]发送模块,用于将对接收模块接收到的数据操作执行结果进行汇总后发送给主访问节点。
[0028]一种节点,所述节点包括:
[0029]第一连接模块,用于与主访问节点建立网络连接,并接收主访问节点发送的第一数据操作请求;
[0030]处理模块,用于根据第一连接模块接收到的第一数据操作请求,确定出主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息;
[0031]第二连接模块,用于与高可用分布式集群数据库中随机选择的一个子集群中的代理节点建立网络连接,并将处理模块确定出的子集群信息和第二数据操作请求信息发送给与该代理节点,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。
[0032]根据本发明实施例提供的方案,基于高可用的集群数据库环境,主访问节点仅仅需要与其中一台服务节点进行网络通信,便可以通过该服务节点将所要进行的数据操作转发到集群中的其它服务节点上去,以达到各个服务节点数据同步操作的目的。在无需主访问节点向多个节点进行相同操作,减少重复操作,无需主访问节点向多个节点建立网络连接并发送相同的操作内容,降低通信网络资源利用率的基础上,还存在层次少,路径简单的特点,提高了数据操作的效率,避免了管理复杂的问题。
【附图说明】
[0033]图1为现有技术提供的一种网络架构图;
[0034]图2为现有技术提供的一种网络架构图;
[0035]图3为本发明实施例一提供的通信方法的步骤流程图;
[0036]图4为本发明实施例一提供的网络架构示意图;
[0037]图5为本发明实施例二提供的通信方法的步骤流程图;
[0038]图6为本发明实施例三提供的节点结构示意图;
[0039]图7为本发明实施例四提供的节点结构示意图。
【具体实施方式】
[0040]本发明方案提供了一种基于高可用架构下的分组链式转发通信方案。该方案基于高可用的集群数据库环境。首先在集群数据库内部将全部节点分组,主访问节点仅仅需要与集群内任意组内某服务节点(称为代理节点)进行网络通信,便可以通过该节点将所要进行的数据操作并行分发到其它组内的代理节点用以完成并行读写。依赖于集群内各组节点间的专有高速内部通信网络,主访问节点仅通过与最初的代理节点通信便可实时了解各个组内节点的操作执行情况。
[0041]以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0042]实施例一、
[0043]本发明实施例一提供一种基于高可用架构下的通信方法,该通信方法的步骤流程图可以如图3所示,包括:
[0044]步骤101、代理节点与主访问节点建立网络连接。
[0045]在本步骤中,高可用分布式集群数据库中随机选择的一个子集群中的代理节点与主访问节点建立网络连接。
[0046]具体的,代理节点可以直接与主访问节点建立网络连接,也可以通过预处理节点与主访问节点建立网络连接。
[0047]如果代理节点与主访问节点的网络连接建立失败,则可以向主访问节点回复错误信息以通报异常状况,并结束本流程。
[0048]其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。
[0049]所述第一预设规则可以但不限于为随机划分,或者为根据节点中数据的至少一个指定字段的内容范围进行划分。
[0050]所述第二预设规则可以但不限于为随机选择,或者为根据节点的资源使用情况,选择一个子集群中资源使用最少的节点。
[0051]具体的,在根据节点的资源使用情况,选择代理节点时,可以但不限于通过以下方式实现:
[0052]在每个节点部署监控代理模块,负责监控本节点的资源使用情况,如CPU利用率、1使用率、网络使用率等,同时定时从其他节点同步资源使用情况到本地保存,从而可以实现根据节点的资源使用情况,选择代理节点。
[0053]较优的,一个子集群中的节点可以预先设置优先级,同步顺序可以按照节点优先级进行。每个节点均将自己所保存的资源使用情况向自己的上一优先级节点同步,并以最新时间戳数据覆盖旧的时间戳数据。
[0054]步骤102、代理节点确定数据操作涉及的子集群和第二数据操作请求。
[0055]在本步骤中,与主访问节点建立网络连接的代理节点,确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息。
[0056]如果代理节点直接与主访问节点建立网络连接,则在本步骤中,代理节点接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定数据操作涉及的子集群信息和第二数据操作请求信息。
[0057]如果代理节点通过预处理节点与主访问节点建立网络连接,预处理节点可以用于接收主访问节点发送的初始数据操作请求,并可以将初始数据操作请求进行后续代理分发,相当于接入层。在本步骤中,代理节点可以接收预处理节点发送的主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息是预处理节点接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定出的。
[0058]步骤103、代理节点建立集群内节点连接。
[0059]在本步骤中,与主访问节点建立网络连接的代理节点,分别与数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送第二数据操作请求。
[0060]当然,如果数据操作涉及的子集群包括与主访问节点建立网络连接的代理节点所在的子集群,则可以理解为与主访问节点建立网络连接的代理节点与自身建立了集群内节点连接,并向自身发送第二数据操作请求。
[0061 ] 具体的,在本步骤中,与主访问节点建立网络连接的代理节点,在与数据操作涉及的一个子集群中的代理节点建立集群内节点连接失败时,指示该子集群根据预先设定的第二规则,重新确定代理节点,并与该重新确定出的代理节点建立集群内节点连接。
[0062]每个数据操作涉及的子集群中的代理节点根据接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果。
[0063]步骤104、代理节点将数据操作执行结果发送给主访问节点。
[0064]在本步骤中,与主访问节点建立网络连接的代理节点,针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,并将对各代理节点上报的数据操作执行结果进行汇总后发送给主访问节点。
[0065]在步骤103之后,还可以包括步骤103’,步骤103’的执行不限于如图3所示的在步骤104之前。
[0066]步骤103’、代理节点向主访问节点发送数据操作请求确认接收信息。
[0067]与主访问节点建立网络连接的代理节点,向主访问节点发送数据操作请求确认接收信息,指示主访问节点发送新的数据操作请求。
[0068]需要说明的是,本步骤可以与步骤103中各子集群执行数据操作的过程同时进行。
[0069]该通信方法涉及的网络结构示意图可以如图4所示。以集群数据库分为三个子集群,分别为子集群1、子集群2和子集群3,主访问节点(Client)通过预处理节点与随机选择的子集群I中的代理节点(Nodel-1)建立网络连接为例,假设主访问节点请求的数据操作涉及子集群2和子集群3,Nodel-1可以分别与子集群2中的代理节点Node2-l、子集群3中的代理节点Node3-l建立集群内节点连接。且代理节点可以指示本集群内与数据操作相关的节点执行数据操作,如图4所示,Nodel-l、Node2_l和Node3_l均可以指示本集群内与数据操作相关的节点执行数据操作。
[0070]下面通过一个具体的实例对本发明实施例一提供的方案进行说明。
[0071]实施例二、
[0072]本发明实施例二提供一种基于高可用架构下的通信方法,以代理节点与Client直接建立网络连接为例进行说明,该通信方法的步骤流程图可以如图5所示,包括:
[0073]步骤201、Client与代理节点Nodel-Ι建立网络连接。
[0074]在本步骤中,Client向集群数据库发送网络连接请求,与随机选择的子集群I中的代理节点Nodel-1建立网络连接。
[0075]步骤202、Client发送原始数据操作请求。
[0076]在本步骤中,Client可以向Nodel-1发送原始数据操作请求(第一数据操作请求),Nodel-1根据该请求确定数据操作涉及的子集群,并可以确定出相应的需要向其他子集群转发的数据操作请求(第二数据操作请求)。
[0077]步骤203、Nodel-1建立集群内节点连接。
[0078]假设Nodel-1确定出数据操作涉及的子集群为子集群2和子集群3,则在本步骤中,Nodel-1可以与子集群2中的代理节点Node2_l,以及子集群3中的代理节点Node3_l建立集群内节点高速连接。
[0079]步骤204、Nodel-1确定集群内节点连接是否成功。
[0080]在本步骤中,Nodel-1可以根据建立连接成功与否来判断是否需要在其他子集群内选择新的代理节点。本步骤是集群内操作,对Client透明。
[0081]如果Nodel-1确定集群内节点连接成功,贝Ij可以向连接成功的代理节点发送第二数据操作请求。否则,可以指示连接失败的代理节点所在的子集群重新选择代理节点,直到确定集群内节点连接成功。
[0082]步骤205、Nodel-1向Client发送数据操作请求确认接收信息。
[0083]Nodel-1在确定集群内节点连接成功,并向连接成功的代理节点发送第二数据操作请求后,可以向Client发送数据操作请求确认接收信息。Client在接收到该信息后,可以向集群数据库发送新的数据操作请求。
[0084]Client发送新的数据操作请求之前,可以与重新随机选择出的子集群中的代理节点(可能是Nodel-1之外的代理节点)建立新的网络连接。
[0085]步骤206、各子集群执行数据操作。
[0086]在本步骤中,数据操作被分散到各子集群内分别执行。各节点可以将数据操作执行结果汇总到本子集群的代理节点。
[0087]步骤207、Nodel-1 回报信息给 Client。
[0088]在本步骤中,Nodel-1可以接收各代理节点汇总后上报的本集群内节点的数据操作执行结果,并将汇总得到的各子集群内节点的数据操作执行结果回报给Client。
[0089]本发明实施例一和实施例二提供的方案是在对集群内各个节点并行执行的前提下,提出了一种基于高可用架构下的分组链式转发通信方法来确保数据操作的一致性。通过在集群中设置子集群和代理节点,即先由预先设定的规则选择代理节点,用于子集群内的通信和子集群间的任务传递,解决了当前通信方法中存在的效能低下的问题,从而使集群各个节点一致性数据操作的性能发挥到最优。
[0090]与本发明实施例一、二基于同一发明构思,提供以下的节点。
[0091]实施例三、
[0092]本发明实施例三提供一种节点,该节点的结构示意图可以如图6所示,包括:
[0093]网络连接模块11用于与主访问节点建立网络连接;
[0094]确定模块12用于确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;
[0095]集群连接模块13用于分别与确定模块确定出的数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送确定模块确定出的第二数据操作请求,其中,一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点;
[0096]接收模块14用于针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,以及接收第二数据操作请求;
[0097]执行模块15用于根据接收模块接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果,上报给与主访问节点建立网络连接的代理节点;
[0098]发送模块16用于将对接收模块接收到的数据操作执行结果进行汇总后发送给主访问节点。
[0099]所述确定模块12具体用于接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定数据操作涉及的子集群信息和第二数据操作请求信息。
[0100]所述网络连接模块11具体用于通过预处理节点与主访问节点建立网络连接;
[0101]所述确定模块12具体用于接收预处理节点发送的主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息是预处理节点接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定出的。
[0102]所述发送模块16还用于向主访问节点发送数据操作请求确认接收信息,指示主访问节点发送新的数据操作请求。
[0103]所述集群连接模块13具体用于在与数据操作涉及的一个子集群中的代理节点建立集群内节点连接失败时,指示该子集群根据预先设定的第二规则,重新确定代理节点,并与该重新确定出的代理节点建立集群内节点连接。
[0104]实施例四、
[0105]本发明实施例四提供一种节点,该节点的结构示意图可以如图7所示,包括:
[0106]第一连接模块21用于与主访问节点建立网络连接,并接收主访问节点发送的第一数据操作请求;
[0107]处理模块22用于根据第一连接模块接收到的第一数据操作请求,确定出主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息;
[0108]第二连接模块23用于与高可用分布式集群数据库中随机选择的一个子集群中的代理节点建立网络连接,并将处理模块确定出的子集群信息和第二数据操作请求信息发送给与该代理节点,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。
[0109]本发明各实施例提供的方案相对于现有技术,主要优势至少包括有以下几点:
[0110]1、避免了数据重复计算,节省资源
[0111]本发明方案中Client端无需进行重复计算工作,仅需代理节点(或预处理节点)对数据进行一次性计算后,再由代理节点将计算后的操作请求发送给其它代理节点,保证了 Client端资源的高效利用。
[0112]2、集群外部网络资源利用率高
[0113]本发明方案中,Client仅需向集群环境发送一次操作请求即可。而非传统模式中需要将操作请求发送η次(η个节点),大大节省了集群外部网络资源利用率从而进一步增加Client向集群发送操作请求的吞吐量。
[0114]3、不存在节点性能木桶原理的问题
[0115]本发明方案是通过代理节点Nodel-1向其它代理节点Node2-l、Node3_l进行操作请求转发的方式来进行,各个节点的数据操作相互独立,在发生异常的情况下可以选举出新的代理节点继续执行任务,不会再向Client发送回报数据。这样就构成了各个节点操作进度相互独立的集群环境。因此,即使不同节点的性能有所差异,由于各个节点的操作处理进度相互独立,性能好的节点也不会受到性能差的节点拖累。从而保证了各个节点性能最大限度的发挥。
[0116]4、另外,本发明提供的方案也不存在层次过多,数据操作的效率仍然存在瓶颈,以及,路径复杂造成的管理复杂的问题。
[0117]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0118]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0119]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0120]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0121]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0122]显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
【主权项】
1.一种基于高可用架构下的通信方法,其特征在于,所述方法包括: 高可用分布式集群数据库中随机选择的一个子集群中的代理节点与主访问节点建立网络连接; 与主访问节点建立网络连接的代理节点,确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息; 与主访问节点建立网络连接的代理节点,分别与数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送第二数据操作请求,其中,每个数据操作涉及的子集群中的代理节点根据接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果; 与主访问节点建立网络连接的代理节点,针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,并将对各代理节点上报的数据操作执行结果进行汇总后发送给主访问节点; 其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。2.如权利要求1所述的方法,其特征在于,与主访问节点建立网络连接的代理节点,确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,具体包括: 与主访问节点建立网络连接的代理节点,接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定数据操作涉及的子集群信息和第二数据操作请求信息。3.如权利要求1所述的方法,其特征在于,高可用分布式集群数据库中随机选择的一个子集群中的代理节点与主访问节点建立网络连接,具体包括: 高可用分布式集群数据库中随机选择的一个子集群中的代理节点,通过预处理节点与主访问节点建立网络连接; 与主访问节点建立网络连接的代理节点,确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,具体包括: 与主访问节点建立网络连接的代理节点,接收预处理节点发送的主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息是预处理节点接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定出的。4.如权利要求1所述的方法,其特征在于,与主访问节点建立网络连接的代理节点,分别与数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送第二数据操作请求之后,所述方法还包括: 与主访问节点建立网络连接的代理节点,向主访问节点发送数据操作请求确认接收信息,指示主访问节点发送新的数据操作请求。5.如权利要求1所述的方法,其特征在于,与主访问节点建立网络连接的代理节点,分别与数据操作涉及的每个子集群中的代理节点建立集群内节点连接,具体包括: 与主访问节点建立网络连接的代理节点,在与数据操作涉及的一个子集群中的代理节点建立集群内节点连接失败时,指示该子集群根据预先设定的第二规则,重新确定代理节点,并与该重新确定出的代理节点建立集群内节点连接。6.如权利要求1?5任一所述的方法,其特征在于,所述第一预设规则为随机划分,或者为根据节点中数据的至少一个指定字段的内容范围进行划分。7.如权利要求1?5任一所述的方法,其特征在于,所述第二预设规则为随机选择,或者为根据节点的资源使用情况,选择一个子集群中资源使用最少的节点。8.一种节点,其特征在于,所述节点包括: 网络连接模块,用于与主访问节点建立网络连接; 确定模块,用于确定主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个; 集群连接模块,用于分别与确定模块确定出的数据操作涉及的每个子集群中的代理节点建立集群内节点连接,并发送确定模块确定出的第二数据操作请求,其中,一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点; 接收模块,用于针对每个数据操作涉及的子集群,接收该子集群中的代理节点汇总后上报的数据操作执行结果,以及接收第二数据操作请求; 执行模块,用于根据接收模块接收到的第二数据操作请求,指示本集群内与数据操作相关的节点执行数据操作,并在确定本子集群内节点的数据操作结束时,汇总本子集群内节点的数据操作执行结果,上报给与主访问节点建立网络连接的代理节点; 发送模块,用于将对接收模块接收到的数据操作执行结果进行汇总后发送给主访问节点。9.如权利要求8所述的节点,其特征在于,所述确定模块,具体用于接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定数据操作涉及的子集群信息和第二数据操作请求信息。10.如权利要求8所述的节点,其特征在于, 所述网络连接模块,具体用于通过预处理节点与主访问节点建立网络连接; 所述确定模块,具体用于接收预处理节点发送的主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息,主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息是预处理节点接收主访问节点发送的第一数据操作请求,根据该第一数据操作请求确定出的。11.如权利要求8所述的节点,其特征在于,所述发送模块,还用于向主访问节点发送数据操作请求确认接收信息,指示主访问节点发送新的数据操作请求。12.如权利要求8所述的节点,其特征在于,所述集群连接模块,具体用于在与数据操作涉及的一个子集群中的代理节点建立集群内节点连接失败时,指示该子集群根据预先设定的第二规则,重新确定代理节点,并与该重新确定出的代理节点建立集群内节点连接。13.一种节点,其特征在于,所述节点包括: 第一连接模块,用于与主访问节点建立网络连接,并接收主访问节点发送的第一数据操作请求; 处理模块,用于根据第一连接模块接收到的第一数据操作请求,确定出主访问节点请求的数据操作涉及的子集群信息和第二数据操作请求信息; 第二连接模块,用于与高可用分布式集群数据库中随机选择的一个子集群中的代理节点建立网络连接,并将处理模块确定出的子集群信息和第二数据操作请求信息发送给与该代理节点,其中,所述子集群是按照预先设定的第一规则,对所述高可用分布式集群数据库中的节点进行划分得到的,且划分得到的子集群中,至少一个子集群中节点数量不少于两个;一个子集群中的代理节点是根据预先设定的第二规则,从该子集群的节点中选择的一个节点。
【文档编号】H04L29/08GK105827678SQ201510006672
【公开日】2016年8月3日
【申请日】2015年1月7日
【发明人】朱祥磊, 徐丽娜, 陈刚, 宫钦
【申请人】中国移动通信集团山东有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1