一种数据处理方法、主节点及存储介质技术

技术编号:31310437 阅读:20 留言:0更新日期:2021-12-12 21:40
本申请提供了一种数据处理方法,包括:集群中的主节点接收并写入客户端发送的待写入数据;所述主节点将所述待写入数据发送至所述集群中的至少一个从节点;若所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息,则确认所述待写入数据成功写入至所述集群中;所述第一确认信息用于指示所述第一从节点成功写入所述待写入数据;本申请还提供一种主节点及存储介质,通过本申请提供的数据处理方法、主节点及存储介质,在写入数据时,能够减少数据写入的次数,进而减少由于多次写入操作导致的延迟。作导致的延迟。作导致的延迟。

【技术实现步骤摘要】
一种数据处理方法、主节点及存储介质


[0001]本申请涉及分布式存储
,尤其涉及一种数据处理方法、主节点及存储介质。

技术介绍

[0002]在常规的基于日志的数据模型中,数据写入磁盘的过程需要两个步骤,首先是将数据和操作信息作为一条日志写入日志分区,然后集群复制组内的主节点将此日志发送给集群复制组的其他从节点。其他从节点同样会将这条日志写入日志分区中,并向主节点发送响应信息。待复制组内过半成员确认可以执行此写入操作后,主节点向其他从节点发送写入指令,其他从节点将数据从日志分区移到数据分区。
[0003]上述模型的好处是可以在保证数据强一致性的同时,在系统出现故障时,可以基于日志对数据进行增量恢复;然而,针对一条日志基于上述模型写入数据的情景,会存在写入操作次数多的问题,增加了写入数据延迟。

技术实现思路

[0004]本申请提供一种数据处理方法、主节点及存储介质,以至少解决现有技术中存在的以上技术问题。
[0005]本申请第一方面提供一种数据处理方法,包括:
[0006]所述主节点将所述待写入数据发送至所述集群中的至少一个从节点;
[0007]若所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息,则确认所述待写入数据成功写入至所述集群中;所述第一确认信息用于指示所述第一从节点成功写入所述待写入数据。
[0008]上述方案中,所述主节点和/或所述第一从节点写入所述待写入数据对应的版本标识。
[0009]上述方案中,所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息之后,所述方法还包括:
[0010]所述主节点确认所述待写入数据对应的数据块在所述第一从节点有效;
[0011]和/或,所述主节点确认所述待写入数据对应的数据块在第二从节点失效,所述第二从节点为全部所述从节点中除所述第一从节点以外的从节点。
[0012]上述方案中,所述方法还包括:
[0013]所述主节点获取各所述从节点对应的数据块;
[0014]所述主节点根据各所述从节点对应的数据块的属性信息,确定每个所述数据块的有效性,得到确认结果。
[0015]上述方案中,若所述确认结果表征至少一个所述数据块失效,则所述方法还包括:
[0016]所述主节点确认数据块在所述集群包括的全部节点中分别对应的版本标识;
[0017]确定更新时间最近的版本标识对应的数据块所对应的第一节点;
[0018]若所述第一节点为所述主节点,则所述主节点确定第三从节点,所述第三从节点对应的数据块的版本标识不是更新时间最近的版本标识;
[0019]将所述更新时间最近的版本标识对应的数据发送至所述第三从节点。
[0020]上述方案中,若所述确认结果表征至少一个所述数据块失效,则所述方法还包括:
[0021]所述主节点确认数据块在所述集群包括的全部节点中分别对应的版本标识;
[0022]确定更新时间最近的版本标识对应的数据块所对应的第一节点;
[0023]若所述第一节点不是所述主节点,则所述主节点写入所述更新时间最近的版本标识对应的数据块;
[0024]所述主节点确定第三从节点,所述第三从节点对应的数据块的版本标识不是更新时间最近的版本标识;
[0025]将所述更新时间最近的版本标识对应的数据发送至所述第三从节点。
[0026]上述方案中,所述确认所述待写入数据成功写入至所述集群中之后,所述方法还包括:
[0027]所述主节点向所述客户端发送第二确认信息;所述第二确认信息用于指示所述集群成功写入所述待写入数据。
[0028]本申请第二方面提供一种主节点,包括:
[0029]接收单元,用于接收并写入客户端发送的待写入数据;
[0030]发送单元,用于将所述待写入数据发送至所述集群中的至少一个从节点;
[0031]确认单元,用于若接收到全部所述从节点中的第一从节点发送的第一确认信息,则确认所述待写入数据成功写入至所述集群中;所述第一确认信息用于指示所述第一从节点成功写入所述待写入数据。
[0032]本申请第三方面提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述数据处理方法所述的方法步骤。
[0033]本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法所述的方法步骤。
[0034]通过本申请提供的数据处理方法,集群中的主节点接收并写入客户端发送的待写入数据;所述主节点将所述待写入数据发送至所述集群中的至少一个从节点;若所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息,则确认所述待写入数据成功写入至所述集群中;所述第一确认信息用于指示所述第一从节点成功写入所述待写入数据。如此,在写入数据时,能够减少数据写入的次数,进而减少由于多次写入操作导致的写入数据延迟。
附图说明
[0035]图1示出了相关技术中数据写入磁盘的流程示意图;
[0036]图2示出了本申请实施例提供的数据处理方法的第一种可选流程示意图;
[0037]图3示出了本申请实施例提供的数据处理方法的第二种可选流程示意图;
[0038]图4示出了本申请实施例提供的数据处理方法的第三种可选流程示意图;
[0039]图5示出了本申请实施例提供的数据处理方法的第四种可选流程示意图;
[0040]图6示出了本申请实施例提供的数据处理方法的第五种可选流程示意图;
[0041]图7示出了本申请实施例提供的数据处理方法的第六种可选流程示意图;
[0042]图8示出了本申请实施例提供的主节点的可选结构示意图;
[0043]图9示出了本申请实施例提供的主节点的硬件组成结构示意图。
具体实施方式
[0044]为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0045]在常规的基于日志的数据模型中,在用户修改数据(包括写入新数据和修改已写入数据)时,需要先将数据和操作信息作为一条日志写入到集群中各节点的本地日志分区,然后等待复制组确认可以执行此操作(写入操作),才会将数据写入相应的数据分区。上述的操作通常称为预写式日志(Write Ahead Log,WAL),WAL操作会带来写放大的问题。
[0046]数据写入磁盘的过程需要两个步骤,首先是将数据和操作信息作为一条日志写入日志分区,然后集群复制组内的主节点将此日志发送给集群复制组的其他从节点。其他从节点同样会将这条日志写入日志分区中,并向主节点发送响本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:集群中的主节点接收并写入客户端发送的待写入数据;所述主节点将所述待写入数据发送至所述集群中的至少一个从节点;若所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息,则确认所述待写入数据成功写入至所述集群中;所述第一确认信息用于指示所述第一从节点成功写入所述待写入数据。2.根据权利要求1所述的方法,其特征在于,所述主节点和/或所述第一从节点写入所述待写入数据对应的版本标识。3.根据权利要求1所述的方法,其特征在于,所述主节点接收到全部所述从节点中的第一从节点发送的第一确认信息之后,所述方法还包括:所述主节点确认所述待写入数据对应的数据块在所述第一从节点有效;和/或,所述主节点确认所述待写入数据对应的数据块在第二从节点失效,所述第二从节点为全部所述从节点中除所述第一从节点以外的从节点。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述主节点获取各所述从节点对应的数据块;所述主节点根据各所述从节点对应的数据块的属性信息,确定每个所述数据块的有效性,得到确认结果。5.根据权利要求4所述的方法,其特征在于,若所述确认结果表征至少一个所述数据块失效,则所述方法还包括:所述主节点确认数据块在所述集群包括的全部节点中分别对应的版本标识;确定更新时间最近的版本标识对应的数据块所对应的第一节点;若所述第一节点为所述主节点,则所述主节点确定第三从节点,所述第三从节点对应的数据块的版本标识不是更新时间最近的版本标识;将所述更新时间最近的版本标识对应的数据发送至所述第三从节点。6.根据权...

【专利技术属性】
技术研发人员:孙梓洲刘昌鑫宋文革
申请(专利权)人:联想凌拓科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1