器,也可以为虚拟服务器。本发明实施例对此不做限定。
[0119]应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0120]应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0121]应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定Bo但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
[0122]应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0123]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0124]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0125]本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能宄竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0126]结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0127]尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。
【主权项】
1.一种两节点系统分区的处理方法,所述方法用于基于法定人数的两节点系统,所述两节点系统中的节点包括通讯代理和分布式应用,其特征在于,所述方法包括: 当所述两节点系统发生故障时,所述通讯代理确定所述通讯代理所在的节点是否有效; 当所述通讯代理所在的节点有效时,所述通讯代理向所述通讯代理所在的节点的分布式应用发送指示所述分布式应用达到法定人数的正确应答消息。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 当所述通讯代理所在的节点失效时,所述通讯代理向所述分布式应用发送指示所述分布式应用未达到法定人数的错误应答消息或者不再向所述分布式应用发送消息。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括: 所述通讯代理向所述两节点系统中的另一节点的通讯代理发送协调消息; 所述通讯代理向所述另一节点的通讯代理发送协调消息的时刻起第一时长内未收到所述另一节点的通讯代理针对所述协调消息发送的回复消息时,确定所述两节点系统发生故障。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述两节点系统还包括网络设备,所述通讯代理确定所述通讯代理所在的节点是否有效包括: 所述通讯代理向所述网络设备发送测试数据包; 所述通讯代理从向所述网络设备发送所述测试数据包的时刻起第二时长内未收到所述网络设备针对所述测试数据包发送的响应消息时,确定所述节点失效; 所述通讯代理从向所述网络设备发送所述测试数据包的时刻起第二时长内收到所述网络设备针对所述测试数据包发送的响应消息时,确定所述节点有效。
5.如权利要求1至3中任一项所述的方法,其特征在于,所述两节点系统还包括连接所述节点与所述两节点系统中的另一节点的串口,所述通讯代理确定所述通讯代理所在的节点是否有效包括: 所述通讯代理通过所述串口向所述另一节点发送检测消息; 所述通讯代理从向所述另一节点发送所述检测消息的时刻起第三时长内未收到所述另一节点针对所述检测消息发送的反馈消息时,确定所述节点有效; 所述通讯代理从向所述另一节点发送所述检测消息的时刻起第三时长内收到所述另一节点针对所述检测消息发送的反馈消息时,根据节点有效的优先权信息,确定所述节点是否有效。
6.如权利要求1至3中任一项所述的方法,其特征在于,所述两节点系统还包括共享磁盘,所述通讯代理确定所述通讯代理所在的节点是否有效包括: 所述通讯代理向所述两节点系统中的另一节点的通讯代理发送检验数据包; 所述通讯代理从向所述另一节点的通讯代理发送所述检验数据包的时刻起第四时长内未收到针对所述另一节点的通讯代理发送的回复数据包时,确定所述节点有效; 所述通讯代理从向所述另一节点的通讯代理发送所述检验数据包的时刻起第四时长内收到针对所述另一节点的通讯代理发送的回复数据包时,根据节点有效的优先权信息确定所述节点是否有效。
7.如权利要求1至6中任一项所述的方法,其特征在于,所述节点还包括所述两节点系统中的另一节点的分布式应用的影子进程,所述方法还包括: 所述通讯代理在所述节点有效时,启动所述另一节点的分布式应用的影子进程; 所述分布式应用接收客户端发送的用于请求对数据进行处理的请求消息,并通过所述通讯代理向所述另一节点的分布式应用的影子进程发送所述请求消息; 所述另一节点的分布式应用的影子进程接收所述请求消息,并根据所述请求消息对所述数据进行处理。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括: 当所述两节点系统未发生故障时,所述通讯代理接收所述分布式应用发送的第一数据包,并向所述两节点系统中另一节点的通讯代理转发所述第一数据包;或者, 当所述两节点系统未发生故障时,所述通讯代理接收所述两节点系统中另一节点的通讯代理发送的第二数据包,并向所述分布式应用转发所述第二数据包。
9.如权利要求1至8中任一项所述的处理方法,其特征在于,所述节点为物理服务器或虚拟服务器。
10.一种节点,所述节点属于基于法定人数的两节点系统,其特征在于, 所述节点包括分布式应用和通讯代理; 所述通讯代理,用于当所述两节点系统发生故障时确定所述节点是否有效; 所述通讯代理,还用于当所述节点有效时向所述分布式应用发送指示所述分布式应用达到法定人数的正确应答消息。
11.如权利要求10所述的节点,其特征在于, 所述通讯代理,还用于当所述通讯代理所在的节点失效时向所述分布式应用发送指示所述分布式应用未达到法定人数的错误应答消息,或者不再向所述分布式应用发送消息。
12.如权利要求10或11所述的节点,其特征在于, 所述通讯代理,还用于从向所述两节点系统中的另一节点的通讯代理发送协调消息的时刻起第一时长内未收到所述另一节点的通讯代理针对所述协调消息发送的回复消息时,确定所述两节点系统发生故障。
13.如权利要求10至12中任一项所述的节点,其特征在于, 所述两节点系统还包括网络设备; 所述通讯代理,用于从向所述网络设备发送测试数据包的时刻起第二时长内未收到所述网络设备针对所述测试数据包发送的响应消息时,确定所述节点失效; 所述通讯代理,用于从向所述网络设备发送测试数据包的时刻起第二时长内收到所述网络设备针对所述测试数据包发送的响应消息时,确定所述节点有效。
14.如权利要求10至12中任一项所述的节点,其特征在于, 所述两节点系统还包括连接所述节点与所述两节点系统中的另一节点的串口 ; 所述通讯代理,用于通过所述串口向所述另一节点发送检测消息; 所述通讯代理,用于从向所述另一节点发送所述检测消息的时刻起第三时长内未收到所述另一节点针对所述检测消息发送的反馈消息时,确定所述节点有效; 所述通讯代理,用于从向所述另一节点发送所述检测消息的时刻起第三时长内收到所述另一节点针对所述检测消息发送的反馈消息时,根据节点有效的优先权信息,确定所述节点是否有效。
15.如权利要求10至12中任一项所述的节点,其特征在于, 所述两节点系统还包括共享磁盘; 所述通讯代理,用于向所述两节点系统中的另一节点的代理发送检验数据包; 所述通讯代理,用于从向所述另一节点的通讯代理发送所述检验数据包的时刻起第四时长内未收到针对所述另一节点的通讯代理发送的回复数据包时,确定所述节点有效;所述通讯代理,用于从向所述另一节点的通讯代理发送所述检验数据包的时刻起第四时长内收到所述另一节点的通讯代理发送的回复数据包时,根据节点有效的优先权信息确定所述节点是否有效。
16.如权利要求10至15中任一项所述的节点,其特征在于, 所述节点还包括所述两节点系统中的另一节点的分布式应用的影子进程; 所述通讯代理,用于在所述节点有效时,启动所述另一节点的分布式应用的影子进程; 所述分布式应用,用于接收客户端发送的用于请求对数据进行处理的请求消息,并通过所述通讯代理向所述另一节点的分布式应用的影子进程发送所述请求消息; 所述另一节点的分布式应用的影子进程,用于接收所述请求消息,并根据所述请求消息对所述数据进行处理。
17.如权利要求10至16中任一项所述的节点,其特征在于, 所述通讯代理,用于当所述两节点系统未发生故障时,接收所述分布式应用发送的第一数据包,并向所述两节点系统中另一节点的通讯代理转发所述第一数据包;或者, 所述通讯代理,用于当所述两节点系统未发生故障时,接收所述两节点系统中另一节点的通讯代理发送的第二数据包,并向所述分布式应用转发所述第二数据包。
18.如权利要求10至17中任一项所述的节点,其特征在于,所述节点为物理服务器或虚拟服务器。
【专利摘要】本发明实施例提供了一种两节点系统分区的处理方法和节点。两节点系统的节点包括分布式应用和通讯代理,该方法包括:当两节点系统发生故障时确定节点是否有效,当节点有效时向分布式应用发送指示分布式应用达到法定人数的正确应答消息。本发明实施例通过在两节点系统中的节点上增加通讯代理,以在两节点系统故障时通过通讯代理可以使得一个节点的分布式应用达到法定人数,从而使得基于法定人数的分布式系统能够用于两节点系统,并且可以正常工作。
【IPC分类】H04L29-08
【公开号】CN104702693
【申请号】CN201510121396
【发明人】佟强
【申请人】华为技术有限公司
【公开日】2015年6月10日
【申请日】2015年3月19日