发明内容
有鉴于此,本发明的主要目的在于提供一种P2P网络中控制过负荷的方法及系统,能保证电信业务的连续性,进而提升用户体验。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种P2P网络中控制过负荷的方法,该方法包括:
接收消息的节点过负荷后,所述接收消息的节点的备份节点接收发送消息的节点发送的消息。
上述方案中,该方法进一步包括:
所述发送消息的节点感知所述接收消息的节点过负荷后,直接向所述接收消息的节点的备份节点发送消息;或者,
所述接收消息的节点过负荷后,将所述发送消息的节点发送的消息转发给所述备份节点。
上述方案中,该方法进一步包括:
所述备份节点收到消息后,代理所述接收消息的节点处理业务,并在处理完成后,向所述发送消息的节点返回业务请求应答消息。
上述方案中,在代理所述接收消息的节点处理业务之前,该方法进一步包括:
所述备份节点向所述接收消息的节点发送代理征求请求消息,并在收到所述代理征求请求消息应答消息后,代理所述接收消息的节点处理业务;或者,
所述备份节点向所述接收消息的节点发送代理征求请求消息;
在定时器超时,且未收到所述接收消息的节点返回的任何消息后,所述备份节点为即将代理的用户数据设置未同步标识,之后代理所述接收消息的节点处理业务。
上述方案中,在收到所述代理征求请求消息应答消息之前,该方法进一步包括:
所述接收消息的节点收到代理征求请求消息,且允许所述备份节点代理处理业务后,所述接收消息的节点为所述备份节点即将代理的用户数据设置不完整性标识,之后向所述备份节点返回应答消息。
上述方案中,所述不完整性标标识包含所述备份节点的地址信息;
在为所述备份节点即将代理的用户数据设置不完整性标识后,该方法进一步包括:
所述接收消息的节点将所述不完整性标识同步到所述接收消息的节点的所有备份节点。
上述方案中,当所述接收消息的节点过负荷状态取消后,该方法进一步包括:
所述接收消息的节点与所述备份节点进行数据同步。
上述方案中,所述与所述备份节点进行数据同步,为:
所述备份节点将代理所述接收消息的节点处理业务时产生的变更数据同步给所述接收消息的节点。
上述方案中,该方法进一步包括:
所述备份节点收到消息,且感知所述接收消息的节点的所有备份节点均过负荷时,通知所述发送消息的节点;
所述发送消息的节点收到通知后,依据过负荷策略,按比例丢弃或发送消息。
上述方案中,该方法进一步包括:
所述接收消息的节点过负荷,且所述接收消息的节点或所述接收消息的节点的其它备份节点再次收到所述发送消息的节点发送的消息后,将所述消息转发至对应的用户数据区中标记的地址。
本发明还提供了一种P2P网络节点过负荷过程中数据迁移的方法,该方法包括:
新加入节点向负责节点发送加入请求消息;
所述负责节点将新加入节点应负责的数据迁移给所述新加入节点;
所述新加入节点收到迁移数据,且确定收到的迁移数据中存在部分用户的数据不完整后,向所述负责节点的备份节点获取所述部分用户的数据。
上述方案中,所述确定收到的迁移数据中存在部分用户的数据不完整,为:
所述新加入节点根据用户的数据中的不完整性标识,确定所述用户的数据不完整。
上述方案中,所述不完整性标识包含所述备份节点的地址信息;
所述向所述负责节点的备份节点获取所述部分用户的数据,为:
所述新加入节点根据所述备份节点的地址信息,向所述备份节点获取所述部分用户的数据。
上述方案中,所述部分用户的数据包括所述备份节点代理时产生的变更数据。
本发明还提供了一种对等网络中控制过负荷的系统,该系统至少包括:第一节点,为接收消息的节点的备份节点,用于接收消息的节点过负荷后,接收发送消息的节点发送的消息。
上述方案中,第一节点,还用于收到第二节点发送的消息后,代理所述接收消息的节点处理业务,并在处理完成后,向第二节点返回业务请求应答消息;
该系统进一步包括:第二节点,用于接收第二节点返回的业务请求应答消息。
上述方案中,该系统进一步包括:第三节点,用于收到第一节点发送的代理征求请求消息后,为第一节点即将代理的数据设置不完整性标识,之后向第一节点返回应答消息;
在代理第三节点处理业务之前,所述第一节点,还用于向第三节点发送代理征求请求消息,并在收到第三节点返回的应答消息后,代理第三节点处理业务;或者,
在代理第三节点处理业务之前,所述第一节点,还用于向第三节点发送代理征求请求消息,并在定时器超时,且未收到第三节点返回的任何消息后,为即将代理的数据设置未同步标识,并代理第三节点处理业务。
上述方案中,所述第三节点,用于过负荷后,将收到的第二节点发送的消息转发给第一节点;
所述第二节点,还用于向第三节点发送消息;或者,
所述第二节点,还用于感知第三节点过负荷后,直接向第一节点发送消息。
上述方案中,所述第三节点,还用于过负荷状态取消后,与第一节点进行数据同步;
所述第一节点,还用于第三节点过负荷状态取消后,与第三节点进行数据同步。
上述方案中,所述第一节点,还用于收到第二节点发送的消息后,且感知第三节点的所有备份节点均过负荷时,通知第二节点;
所述第二节点,还用于收到第一节点的通知后,依据过负荷策略,按比例丢弃或发送消息。
本发明还提供了一种P2P网络节点过负荷过程中数据迁移的系统,该系统包括:第四节点、第五节点、以及第六节点;其中,
第四节点,用于加入对等网络时,向第五节点发送加入请求消息,并在收到第五节点迁移的迁移数据,且确定收到的迁移数据中存在部分用户的数据不完整后,向第六节点获取所述部分用户的数据;
所述第五节点,还用于收到第四节点发送的加入请求消息后,将第四节点应负责的数据迁移给第四节点;
所述第六节点,用于向第四节点提供所述部分用户的数据。
上述方案中,所述部分用户的数据包括所述第六节点代理时产生的变更数据。
本发明提供的P2P网络中控制过负荷的方法及系统,接收消息的节点过负荷后,所述接收消息的节点的备份节点接收发送消息的节点发送的消息,在接收消息的节点过负荷时,由接收消息的节点的备份节点代理接收消息的节点处理业务,如此,能在引入P2P网络技术的电信网络的节点高负荷时,有效地提高业务接通率,从而保证电信业务的连续性,进而提升用户体验。
本发明提供的P2P节点过负荷过程中数据迁移的方法及系统,新加入节点向负责节点发送加入请求消息;所述负责节点将新加入节点应负责的数据迁移给所述新加入节点;所述新加入节点收到迁移数据,且确定收到的迁移数据中存在部分用户的数据不完整后,向所述负责节点的备份节点获取所述部分用户的数据,如此,能在引入P2P网络技术的电信网络的节点高负荷时,确保迁移数据的完整性,进而保证网络的正常运行,提升用户体验。
具体实施方式
本发明的基本思想是:接收消息的节点过负荷后,所述接收消息的节点的备份节点接收发送消息的节点发送的消息。
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明P2P网络中控制过负荷的方法,如图3所示,包括以下步骤:
步骤301:接收消息的节点过负荷后,所述接收消息的节点的备份节点接收发送消息的节点发送的消息;
这里,在所述接收消息的节点的备份节点接收发送消息的节点发送的消息之前,该方法可以进一步包括:
发送消息的节点通过现有技术感知接收消息的节点过负荷后,直接向所述备份节点发送消息;或者,
接收消息的节点过负荷后,将发送消息的节点发送的消息转发给所述备份节点。
步骤302:所述备份节点收到消息后,代理所述接收消息的节点处理业务,并在处理完成后,向所述发送消息的节点返回业务请求应答消息;
备份节点收到消息并在代理所述接收消息的节点处理业务之前,该方法还可以进一步包括:
所述备份节点向所述接收消息的节点发送代理征求请求消息;
所述接收消息的节点收到请求消息后,为所述备份节点即将代理的用户数据设置不完整性标识,之后向所述备份节点返回应答消息;
所述备份节点收到应答消息后,代理所述接收消息的节点处理业务;或者,
所述备份节点向所述接收消息的节点发送代理征求请求消息;
在定时器超时,且未收到所述接收消息的节点返回的任何消息后,所述备份节点为即将代理的用户数据设置未同步(Non-SYN)标识,之后代理所述接收消息的节点处理业务;
其中,所述不完整性标识,用于标识该用户的数据不完整;所述不完整性标识可以进一步包含所述备份节点的地址信息,比如:所述备份节点的节点(Node)标识(ID,IDentity)信息;在为所述备份节点即将代理的用户数据设置不完整性标识后,该方法还可以进一步包括:所述接收消息的节点将所述不完整性标识同步到所述接收消息的节点的所有备份节点;之后如果所述接收消息的节点或所述接收消息的节点的其它备份节点再次收到的消息为所述备份节点代理的用户的业务时,则将所述消息转发至所述用户数据区中标记的地址,即:所述备份节点的地址;
所述不完整性标识具体可以是半激活(Semi-Active)标识;所述Semi-Active标识用于标识该用户的业务已由备份节点代理处理;Non-SYN标识用于表明该用户的数据未进行同步;
当定时器超时且未收到所述接收消息的节点的消息时,所述备份节点认为所述接收消息的节点为满负荷状态。
本发明还提供了一种P2P网络节点过负荷过程中数据迁移的方法,该方法包括:
新加入节点向负责节点发送加入请求消息;
负责节点收到请求消息后,将新加入节点应负责的数据迁移给新加入节点;
新加入节点收到迁移数据,且确定收到的迁移数据存在部分用户的数据不完整后,向负责节点的备份节点获取所述部分用户的数据;
其中,所述负责节点过负荷,将新加入节点应负责的数据迁移给新加入节点的具体处理过程可采用现有的处理过程;
当迁移数据中存在部分设置有不完整性标识Semi-Active或不可信(Non-Trust)标识的用户的数据时,则新加入节点确定收到的迁移数据中存在部分用户的数据不完整;所述Non-Trust标识用于标识数据不可信任,当所述接收消息的节点在自身的满负荷状态取消后,会为自身维护的所有数据设置Non-Trust标识;
所述不完整性标识还可以进一步包含所述备份节点的地址信息,比如:所述备份节点的节点ID信息;所述新加入节点根据所述备份节点的地址信息,向所述备份节点获取所述部分用户的数据;
所述部分用户的数据包括所述备份节点代理时产生的变更数据。
当所述接收消息的节点过负荷状态取消后,与所述备份节点进行数据同步;具体地,所述备份节点将代理所述接收消息的节点处理业务时产生的变更数据同步给所述接收消息的节点。
当所述备份节点收到消息,且感知所述接收消息的节点的所有备份节点均过负荷时,通知所述发送消息的节点;所述发送消息的节点收到通知后,依据过负荷策略,按比例丢弃或发送消息。
实施例一:
本实施例的应用场景为:节点1为发送消息的节点,节点2为接收消息的节点,且过负荷,节点3为节点2的备份节点,这里,所述过负荷是指节点2的负荷达到过负荷预设的阀门值,本实施例P2P网络中控制过负荷的方法,如图4所示,包括以下步骤:
步骤401:节点1感知节点2过负荷后,节点1根据过负荷策略,选择向节点3发送业务请求消息;
这里,节点1可通过现有技术感知节点2过负荷;节点1可通过DHT算法,获得节点3,进而据此向节点3发送业务请求消息;
可以依据需要设置所述过负荷策略,所述过负荷策略可以包括:过负荷的阀门值、满负荷的阀门值等;比如:可以设置过负荷的阀门值为90%,满负荷的阀门值为96%,等等;
所述业务请求消息包含:用户身份标识或资源ID;
本步骤中,还可以是节点1未感知到节点2过负荷,当节点1向节点2发送业务请求消息后,节点2因过负荷将所述业务请求消息转发给节点3。
步骤402:节点3收到业务请求消息后,向节点2发送代理征求请求消息;
这里,所述代理征求请求消息包含:用户身份标识或资源ID。
步骤403:节点2收到代理征求请求消息,如果允许节点3代理业务,则执行步骤404,否则执行步骤407;
这里,节点2依据需要,确定是否允许节点3代理业务,举个例子来说,节点2过负荷后,节点2的另一个备份节点代理过某个用户的业务,当节点3收到的业务请求信息仍为该用户的业务时,节点2可以不允许节点3代理业务,仍由节点2的另一个备份节点代理该用户的业务。
步骤404:节点2在所述用户身份标识或资源ID对应的数据区中设置Semi-Active标识,之后向节点3返回应答消息;
这里,所述Semi-Active标识可以包含:节点3的地址信息,比如:节点3的节点(Node)标识ID信息;所述Semi-Active标识用于标识该用户的业务已由备份节点代理处理;
节点2可以将设置的Semi-Active标识同步到自身的所有备份节点。
步骤405:节点3收到应答消息后,代替节点2处理业务,并在处理完成后向节点1返回业务请求应答消息,之后执行步骤406;
这里,如果节点1发送的业务请求涉及到数据修改,则需要执行步骤402~404,并在节点3收到节点2的应答消息后,代理节点2处理业务,或者,节点3可以依据与节点2之间的协议,直接代理节点2处理业务;如果节点1发送的业务请求仅涉及读操作业务,节点3可以不需要征求节点2的同意,即:不执行步骤402~404,直接代理节点2处理业务;其中,所述协议可以依据需要进行设置。
步骤406:当节点2过负荷状态取消后,节点3与节点2进行数据同步,节点3将代理节点2处理业务时产生的变更数据同步给节点2,结束当前处理流程;
这里,当节点2过负荷状态取消后,可以通知节点3,节点3收到通知后,与节点2进行数据同步;或者,节点2在过负荷状态取消后,判断自身是否存在Semi-Active标识的用户数据,如果存在,则向节点3获取数据,从而实现数据同步;或者,节点2可以根据Semi-Active标识中的节点3的地址信息,直接向节点3获取数据,从而实现数据同步;或者,节点3定时查询节点2的过负荷状态,发现节点2过负荷状态取消后,向节点2同步数据;其中,节点3可以通过定时向节点2发送消息的方式查询节点2的过负荷状态是否取消,或者,可以定时向过负荷服务器查询节点2的过负荷状态是否取消。
步骤407:节点2向节点3返回拒绝消息。
步骤408:节点3收到拒绝消息后,向节点1返回拒绝消息,之后结束当前处理流程。
实施例二:
本实施例的应用场景为:节点1为发送消息的节点,节点2为接收消息的节点,且满负荷,节点3为节点2的备份节点,这里,所述满负荷是指节点2的负荷达到满负荷预设的阀门值,本实施例P2P网络中控制过负荷的方法,如图5所示,包括以下步骤:
步骤501:节点1感知节点2满负荷后,节点1根据过负荷策略,选择向节点3发送业务请求消息;
这里,节点1可通过现有技术感知节点2过负荷;节点1可通过DHT算法,获得节点3,进而据此向节点3发送业务请求消息;
可以依据需要设置所述过负荷策略,所述过负荷策略可以包括:过负荷的阀门值、满负荷的阀门值等;比如:可以设置过负荷的阀门值为90%,满负荷的阀门值为96%,等等;
所述业务请求消息包含:用户身份标识或资源ID;
本步骤中,还可以是节点1未感知到节点2满负荷,当节点1向节点2发送业务请求消息后,节点2因过负荷将所述业务请求消息转发给节点3。
步骤502:节点3收到业务请求消息后,向节点2发送代理征求请求消息,并启动定时器;
这里,所述代理征求请求消息包含:用户身份标识或资源ID;
所述定时器的时长依据需要进行设置,比如:1s等。
步骤503:定时器超时且未收到节点2的应答消息后,为所述用户身份表示或资源ID对应的数据区中设置Non-SYN标识,之后代理节点2处理业务,并在处理完成后向节点1返回业务请求应答消息,之后执行步骤504;
这里,当定时器超时后且未收到节点2的应答消息时,节点3可以重复多次向节点2发送确认消息,如果仍未收到节点2的确认消息,则代理节点2处理业务;其中,发送确认消息的次数可以依据需要进行设置,比如:3次;
当定时器超时且未收到节点2的应答消息时,节点3会认为节点2为满负荷状态;
所述Non-SYN标识用于表明该用户的数据未进行同步;所述Non-SYN标识可以包含节点3的地址信息,比如:节点3的Node ID信息;
如果节点1发送的业务请求涉及到数据修改,则需要执行步骤502,并在将所述用户身份表示或资源ID对应的数据区中设置Non-SYN标识后,代理节点2处理业务,或者,节点3可以依据与节点2之间的协议,直接代理节点2处理业务;如果节点1发送的业务请求仅涉及读操作业务,节点3可以不向节点2发送代理征求请求消息,直接代理节点2处理业务;其中,所述协议可以依据需要进行设置。
步骤504:当节点2满负荷状态取消后,节点3与节点2进行数据同步,将代理节点2处理业务时产生的变更数据同步给节点2,结束当前处理流程;
这里,当节点2满负荷状态取消后,认为自身维护的所有数据已经不可信任,可以为自身维护的所有数据设置Non-Trust标识,之后向节点3获取变更数据,从而实现数据同步;或者,节点2满负荷状态取消后,向节点3查询数据状态消息,节点3收到查询数据状态消息后,将自身具有Non-SYN标识的所有用户数据列表发送给节点2,节点2收到列表后,为自身所述用户数据列表中的用户数据区设置Semi-Active标识,之后通知节点3满负荷状态取消;节点3收到通知后,与节点2进行数据同步;其中,Semi-Active标识用于标识该用户的业务已由备份节点代理处理。
实施例三:
本实施例的应用场景为:节点1为发送消息的节点,节点2为接收消息的节点,且过负荷,节点3及节点4为节点2的备份节点,且节点3也过负荷,这里,所述过负荷是指节点2及节点3的负荷达到过负荷预设的阀门值,本实施例P2P网络中控制过负荷的方法,如图6所示,包括以下步骤:
步骤601:节点1感知节点2过负荷后,节点1根据过负荷策略,选择向节点3发送业务请求消息;
这里,节点1可通过现有技术感知节点2过负荷;节点1可通过DHT算法,获得节点3,进而据此向节点3发送业务请求消息;
可以依据需要设置所述过负荷策略,所述过负荷策略可以包括:过负荷的阀门值、满负荷的阀门值等;比如:可以设置过负荷的阀门值为90%,满负荷的阀门值为96%,等等;
所述业务请求消息包含:用户身份标识或资源ID;
本步骤中,还可以是节点1未感知到节点2过负荷,当节点1向节点2发送业务请求消息后,节点2因过负荷将所述业务请求消息转发给节点3。
步骤602:节点3收到业务请求消息后,发现自身过负荷,将收到的业务请求消息转发给节点4;
这里,节点3可通过DHT算法,获得节点4,进而据此向节点4转发业务请求消息;
所述业务请求消息包含:用户身份标识或资源ID。
步骤603:节点4收到业务请求消息后,向节点2发送代理征求请求消息;
这里,节点4还可以向节点3发送代理征求请求消息,节点3收到消息后,将消息转发给节点2;
所述代理征求请求消息包含:用户身份标识或资源ID。
步骤604:节点2收到代理征求请求消息,如果允许节点4代理业务,则执行步骤605,否则执行步骤608;
这里,节点2依据需要,确定是否允许节点4代理业务,举个例子来说,节点2过负荷后,节点2的另一个备份节点代理过某个用户的业务,当节点4收到的业务请求信息仍为该用户的业务时,节点2可以不允许节点4代理业务,仍由节点2的另一个备份节点代理该用户的业务。
步骤605:节点2在所述用户身份标识或资源ID对应的数据区中设置Semi-Active标识,之后向节点4返回应答消息;
这里,节点2还可以向节点3返回应答消息,节点3收到消息后,向节点4转发应答消息;
所述Semi-Active标识可以包含:节点4的地址信息,比如:节点4的NodeID信息;所述Semi-Active标识用于标识该用户的业务已由备份节点代理处理;
节点2可以将设置的Semi-Active标识同步到自身的所有备份节点。
步骤606:节点4收到应答消息后,代替节点2处理业务,并在处理完成后向节点1返回业务请求应答消息,之后执行步骤607;
这里,如果节点1发送的业务请求涉及到数据修改,则需要执行步骤603~605,并在节点4收到节点2的应答消息后,代理节点2处理业务,或者,节点4可以依据与节点2之间的协议,直接代理节点2处理业务;如果节点1发送的业务请求仅涉及读操作业务,节点4可以不需要征求节点2的同意,即:不执行步骤603~605,直接代理节点2处理业务;其中,所述协议可以依据需要进行设置。
步骤607:当节点2过负荷状态取消后,节点4与节点2进行数据同步,节点4将代理节点2处理业务时产生的变更数据同步给节点2,结束当前处理流程;
这里,当节点2过负荷状态取消后,可以通知节点4,节点4收到通知后,与节点2进行数据同步;或者,节点2在过负荷状态取消后,判断自身是否存在Semi-Active标识的用户数据,如果存在,则向节点4获取数据,从而实现数据同步;或者,节点2可以根据Semi-Active标识中的节点4的地址信息,直接向节点4获取数据,从而实现数据同步;或者,节点4定时查询节点2的过负荷状态,发现节点2过负荷状态取消后,向节点2同步数据;其中,节点4可以通过定时向节点2发送消息的方式查询节点2的过负荷状态是否取消,或者,可以定时向过负荷服务器查询节点2的过负荷状态是否取消。
步骤608:节点2向节点4返回拒绝消息。
步骤609:节点4收到拒绝消息后,向节点1返回拒绝消息,之后结束当前处理流程。
实施例四:
本实施例的应用场景为:节点1为发送消息的节点,节点2为接收消息的节点,且过负荷,节点3为节点2的第一备份节点,即:当节点2过负荷时首选的备份节点,节点2的所有备份节点均过负荷,这里,所述过负荷是指节点的负荷达到过负荷预设的阀门值,本实施例P2P网络中控制过负荷的方法,如图7所示,包括以下步骤:
步骤701:节点1感知节点2过负荷后,节点1根据过负荷策略,选择向节点3发送业务请求消息;
这里,节点1可通过现有技术感知节点2过负荷;节点1可通过DHT算法,获得节点3,进而据此向节点3发送业务请求消息;
可以依据需要设置所述过负荷策略,所述过负荷策略可以包括:过负荷的阀门值、满负荷的阀门值等;比如:可以设置过负荷的阀门值为90%,满负荷的阀门值为96%,等等;
所述业务请求消息包含:用户身份标识或资源ID;
本步骤中,还可以是节点1未感知到节点2过负荷,当节点1向节点2发送业务请求消息后,节点2因过负荷将所述业务请求消息转发给节点3。
步骤702:节点3收到业务请求消息后,感知节点2的所有备份节点均过负荷,通知节点1;
这里,节点3可采用现有技术感知节点2的所有备份节点均过载。
步骤703:节点1收到通知后,依据过负荷策略,按比例丢弃或发送消息;
这里,节点1按比例丢弃或发送消息的具体处理过程可采用现有的处理过程。
实施例五:
本实施例的应用场景为:当新节点加入P2P网络时,原负责节点过负荷,且原负责节点采用实施例一、实施例二、以及实施例三中的控制过负荷的方式,已由原负责节点的备份节点代理原负责节点处理业务,本实施例实现数据迁移的方法,如图8所示,包括以下步骤:
步骤801:新加入节点向原负责节点发送加入请求消息,获取应负责的数据。
步骤802:原负责节点收到请求消息后,根据P2P网络算法,将新加入节点应负责的数据迁移给新加入节点;
这里,所述根据P2P网络算法,将新加入节点应负责的数据迁移给新加入节点的具体处理过程与现有的处理过程完全相同,这里不再赘述。
步骤803:新加入节点收到迁移数据,并发现迁移数据中存在部分设置有Semi-Active或Non-Trust标识后,向原负责节点的备份节点获取代理时产生的变更数据;
这里,当新加入节点发现移数据中存在部分设置有Semi-Active或Non-Trust标识时,则认为当前设置有Semi-Active或Non-Trust标识的数据为不完整数据,需要从原负责节点的备份节点获取代理时产生的变更数据;
新加入节点可以依据标识中携带的地址信息,向原负责节点的备份节点获取代理时产生的变更数据;或者,可以根据DHT算法,获得原负责节点的备份节点,据此向原负责节点的备份节点获取代理时产生的变更数据。
步骤804:原负责节点的备份节点向新加入节点迁移代理原负责节点处理业务时产生的变更数据。
基于上述P2P网络中控制过负荷的方法,本发明还提供了一种P2P网络中控制过负荷的系统,如图9所示,该系统包括:第一节点91、以及第二节点92;其中,
第一节点91,用于接收消息的节点过负荷后,接收第二节点91发送的消息;
第二节点92,用于感知所述接收消息的节点过负荷后,直接向第一节点91发送消息。
这里,需要说明的是:第一节点91为接收消息的节点的备份节点;第二节点92为发送消息的节点。
其中,所述第一节点91,还用于收到第二节点92发送的消息后,代理所述接收消息的节点处理业务,并在处理完成后,向第二节点92返回业务请求应答消息;
所述第二节点92,还用于接收第一节点91返回的业务请求应答消息。
该系统还可以进一步包括:第三节点93,用于收到第一节点91发送的代理征求请求消息后,为第一节点91即将代理的数据设置不完整性标识,之后向第一节点91返回应答消息;
在代理第三节点93处理业务之前,所述第一节点91,还用于向第三节点93发送代理征求请求消息,并在收到第三节点返回的应答消息后,代理第三节点93处理业务;或者,
在代理第三节点93处理业务之前,所述第一节点91,还用于向第三节点93发送代理征求请求消息,并在定时器超时,且未收到第三节点93返回的任何消息后,为即将代理的数据设置Non-SYN,并代理第三节点93处理业务;
这里,需要说明的是:第三节点93是指接收消息的节点,第一节点91为第三节点93的备份节点。
在第三节点93过负荷后,所述第三节点93,还用于将第二节点92发送的消息转发给第一节点91;
第二节点92,还用于向第三节点93发送消息。
所述第三节点93,还用于过负荷状态取消后,与第一节点91进行数据同步;
所述第一节点91,还用于第三节点93过负荷状态取消后,与第三节点93进行数据同步。
所述第一节点91,还用于收到第二节点92发送的消息后,且感知第三节点93的所有备份节点均过负荷时,通知第二节点92;
所述第二节点92,还用于收到第一节点91的通知后,依据过负荷策略,按比例丢弃或发送消息。
这里,本发明的所述系统中的第一节点、及第三节点的具体处理过程已在上文中详述,不再赘述。
基于上述P2P网络节点过负荷过程中数据迁移的方法,本发明还提供了一种P2P网络节点过负荷过程中数据迁移的系统,该系统包括:第四节点、第五节点、以及第六节点;其中,
第四节点,用于加入对等网络时,向第五节点发送加入请求消息,并在收到第五节点迁移的迁移数据,且确定收到的迁移数据中存在部分用户的数据不完整后,向第六节点获取所述部分用户的数据;
所述第五节点,还用于收到第四节点发送的加入请求消息后,将第四节点应负责的数据迁移给第四节点;
所述第六节点,用于向第四节点提供所述部分用户的数据。
这里,需要说明的是:第五节点过负荷,第六节点为第五节点的备份节点。
其中,所述部分用户的数据包括所述第六节点代理时产生的变更数据。
这里,本发明的所述P2P网络节点过负荷过程中数据迁移的系统中的第四节点、及第六节点的具体处理过程已在上文中详述,不再赘述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。