【技术实现步骤摘要】
日志处理方法、相关设备及系统
本专利技术涉及计算机
,尤其涉及一种日志处理方法、相关设备及系统。
技术介绍
数据库中通常会通过日志log来保存数据的修改记录,日志包括生成和存储两个过程,日志的生成通常由计算节点来实现,日志的存储通常由存储节点来实现。为了保障日志的安全性和稳定性,该计算节点和该存储节点均采用分布式的方式进行部署。如图1所示,图1中多个计算节点构成了一个计算节点集群,该计算节点集群中包括一个计算主节点(primary)和至少一个计算从节点(slave),该计算主节点能够接收客户端发送的针对数据的读操作和写操作,该写操作会产生日志,该计算从节点能够接收客户端发送的针对数据的读操作。图1中多个存储节点构成一个存储节点集群,该存储节点集群包括一个存储主节点(leader)和至少一个存储从节点(follower),该存储主节点、存储从节点和计算主节点对同一日志的记录保持一致性,然而某些场景下该一致性是无法保证的,例如:假设该计算主节点向该存储主节点发送日志序列号(logsequencenumber,LSN)分别为1、2和3的日志;当该存储主节点与该存储节点集群中的大多数存储从节点对LSN为1和2的日志达成一致,但是还未与该存储节点集群中的大多数存储从节点对LSN为3的日志达成一致时,若该计算主节点出现了故障并且该计算节点集群中重新选择了一个计算主节点,那么,该存储主节点会向该新的计算主节点发送日志序列号2,以表明1表示的日志和2表示的日志已经达成一致。后续,计算主节点再有日志发送给存储主节点时,该存储主节点会以LSN等于3开始编号,这样一来,该 ...
【技术保护点】
1.一种日志处理方法,其特征在于,包括:第一节点在初始化时获取存储节点集群的状态消息,所述状态消息标记了所述存储节点集群的存储主节点;所述第一节点为计算节点集群中具有写操作能力和读操作能力的计算主节点;所述第一节点根据所述状态消息向所述存储主节点发送第一写操作请求,以使所述存储主节点与所述存储节点集群中的存储从节点对已接收的日志达成一致后对所述第一写操作达成一致;所述第一节点接收所述存储主节点与所述存储节点集群中的存储从节点对所述第一写操作达成一致后发送的反馈消息,所述反馈消息包括标识信息和针对所述第一写操作请求的响应,所述标识信息用于指示已达成一致的日志。
【技术特征摘要】
1.一种日志处理方法,其特征在于,包括:第一节点在初始化时获取存储节点集群的状态消息,所述状态消息标记了所述存储节点集群的存储主节点;所述第一节点为计算节点集群中具有写操作能力和读操作能力的计算主节点;所述第一节点根据所述状态消息向所述存储主节点发送第一写操作请求,以使所述存储主节点与所述存储节点集群中的存储从节点对已接收的日志达成一致后对所述第一写操作达成一致;所述第一节点接收所述存储主节点与所述存储节点集群中的存储从节点对所述第一写操作达成一致后发送的反馈消息,所述反馈消息包括标识信息和针对所述第一写操作请求的响应,所述标识信息用于指示已达成一致的日志。2.根据权利要求1所述的方法,其特征在于,所述第一节点接收所述存储主节点与所述存储节点集群中的存储从节点对所述第一写操作达成一致后发送的反馈消息之后,还包括:所述第一节点向所述存储主节点发送目标消息,所述目标消息包括当前迭代标识,所述当前迭代标识被所述存储主节点用来判断所述目标消息是否来自最新产生的计算主节点;所述当前迭代标识比上一次产生的计算主节点发送的上一迭代标识大。3.根据权利要求2所述的方法,其特征在于,所述第一节点向所述存储主节点发送目标消息之前,还包括:所述第一节点向预设的配置管理器发送第一请求以请求所述当前迭代标识,所述配置管理器为预先配置的用于维护所述计算主节点所需信息以及所述存储主节点所需信息的节点;所述第一节点接收所述配置管理器发送的所述当前迭代标识。4.根据权利要求2所述的方法,其特征在于,所述第一节点向所述存储主节点发送目标消息之前,还包括:所述第一节点向预设的配置管理器发送第一请求以请求所述上一迭代标识,所述配置管理器为预先配置的用于维护所述计算主节点所需信息以及所述存储主节点所需信息的节点;所述第一节点接收所述配置管理器发送的所述上一迭代标识;所述第一节点根据所述上一迭代标识生成所述当前迭代标识。5.根据权利要求2-4任一项所述的方法,其特征在于,所述目标消息包括至少一条日志;所述第一节点向所述存储主节点发送目标消息,包括:所述第一节点使用N个槽异步向所述存储主节点发送M条目标消息,所述N个槽中每个槽每次以一条目标消息为单位进行发送,包含的日志的生成时间越早的目标消息越早被发送;任意两个发送时间相邻的目标消息中,后一个被发送的目标消息是在前一个被发送的目标消息被所述存储主节点接收到之后才开始被发送的,且所述后一个被发送的目标消息中的任意一个日志的生成时间比所述前一个被发送的目标消息中的任意一个日志的生成时间晚,M和N均为大于或等于2的整数。6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一节点在初始化时获取存储节点集群的状态消息,包括:第一节点在初始化时向配置管理器获取存储节点集群的状态消息,所述配置管理器为预先配置的用于维护所述计算主节点所需信息以及所述存储主节点所需信息的节点。7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一节点为计算节点集群中新产生的具有写操作和读操作能力的计算主节点。8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一写操作包括一个空操作noop。9.一种日志处理方法,其特征在于,包括:存储主节点接收第一节点发送的第一写操作请求,所述第一节点为计算节点集群中具有写操作能力和读操作能力的计算主节点;所述存储主节点根据所述第一写操作请求与所述存储主节点所在的存储节点集群中的存储从节点,对已接收的日志达成一致后对第一写操作达成一致;所述存储主节点与所述存储从节点对所述第一写操作达成一致之后,向所述第一节点发送标识信息和针对所述第一写操作请求的响应,所述标识信息用于指示已达成一致的日志。10.根据权利要求9所述的方法,其特征在于,所述向所述第一节点发送已达成一致的日志的LSN和针对所述第一写操作请求的响应之后,还包括:所述存储主节点接收目标消息,所述目标消息包括当前迭代标识和至少一条日志;若所述当前迭代标识小于所述存储主节点存储的迭代标识,所述存储主节点丢弃当前接收的所述目标消息中的日志;所述存储主节点自身存储的迭代标识为所述存储主节点接收的上一迭代标识。11.根据权利要求10所述的方法,其特征在于,还包括:若所述当前迭代标识不小于所述存储主节点存储的迭代标识,所述存储主节点向所述存储主节点所在的存储节点集群同步当前接收的所述目标消息中的日志;并将自身存储的迭代标识更新为所述当前迭代标识。12.根据权利要求10或11所述的方法,其特征在于,所述存储主节点接收目标消息,包括:所述存储主节点接收所述第一节点通过N个槽异步发送的N条目标消息,所述N个槽中每个槽每次以一条目标消息为单位进行发送,包含的日志的生成时间越早的目标消息越早被发送;任意两个发送时间相邻的目标消息中,后一个被发送的目标消息是在前一个被发送的目标消息被所述存储主节点接收到之后才开始被发送的,且所述后一个被发送的目标消息中的任意一个日志的生成时间比所述前一个被发送的目标消息中的任意一个日志的生成时间晚,M和N均为大于或等于2的整数。13.根据权利要求9-12任一项所述的方法,其特征在于,所述第一节点为计算节点集群中新产生的具有写操作和读操作能力的计算主节点。14.根据权利要求9-13任一项所述的方法,其特征在于,所述第一写操作包括一个空操作noop。15.一种节点,其特征在于,所述节点包括处理器、存储器和通信接口,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行如下操作:在初始化时获取存储节点集群的状态消息,所述状态消息标记了所述存储节点集群的存储主节点;所述节点为计算节点集群中具有写操作能力和读操作能力的计算主节点;根据所述状态消息通过所述通信接口向所述存储主节点发送第一写操作请求,以使所述存储主节点与所述存储节点集群中的存储从节点对已接收的日志达成一致后对第一写操作达成一致;通过所述通信接口接收所述存储主节点与所述存储节点集群中的存储从节点对所述第一写操作达成一致后发送的反馈消息,所述反馈消息包括标识信息和针对所述第一写操作请求的响应,所述标识信息用于指示已达成一致的日志。16.根据权利要求15所述的节点,其特...
【专利技术属性】
技术研发人员:陆元飞,梁锋,刘存伟,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。