数据存储方法及装置制造方法及图纸

技术编号:17704492 阅读:46 留言:0更新日期:2018-04-14 17:36
本申请提供一种数据存储方法及装置,应用于存储节点,所述方法包括:在存储节点为第一待存储数据的主存储节点时,如果存储节点和第一待存储数据的从存储节点均已完成第一待存储数据对应的日志文件的写入操作,则对第一待存储数据进行数据文件的写入操作,并通知从存储节点对第一待存储数据进行数据文件的写入操作;在存储节点或者存储节点和第一待存储数据的从存储节点中的任意一个存储节点成功写入第一待存储数据时,向第一待存储数据的来源客户端发送第一待存储数据可读通知。如此,既保证了数据存储的可靠性,又提高了数据存储的效率。

【技术实现步骤摘要】
数据存储方法及装置
本申请涉及数据存储
,具体而言,涉及一种数据存储方法及装置。
技术介绍
在分布式数据存储系统中,为了提高数据的可靠性,通常将数据分多个副本存储在不同的存储节点中。在一个存储节点出现异常时,可以从其他存储节点读出数据。具体的,在存储数据时,通常采用先写日志文件再写数据文件的方式来防止掉电等异常情况导致数据被破坏。这种方式,需要保证日志文件间及数据文件间的强一致性(即,存储该数据的各个存储节点上的日志文件及数据文件均是一致的),导致数据存储的效率不高。
技术实现思路
为了克服现有技术中的上述不足,本申请的目的在于提供一种数据存储方法,应用于存储节点,所述方法包括:在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行数据文件的写入操作;在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。可选地,在上述方法中,所述方法还包括:在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。可选地,在上述方法中,所述方法还包括:在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。可选地,在上述方法中,所述方法还包括:在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。可选地,在上述方法中,在所述存储节点为第一待存储数据的主存储节点时,所述方法还包括:若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则所述存储节点通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。本申请的另一目的在于提供一种数据存储装置,应用于存储节点,所述装置包括:写数据模块,用于在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行对应的数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行对应的数据文件的写入操作;发送模块,用于在所述存储节点或者所述存储节点和所述从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,通知所述第一待存储数据的来源客户端所述第一待存储数据可读通知。可选地,在上述装置中,所述写数据模块还用于在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。可选地,在上述装置中,所述写数据模块还用于在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。可选地,在上述装置中,所述写数据模块还用于在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。可选地,在上述装置中,所述装置还包括:通知模块,用于在所述存储节点为第一待存储数据的主存储节点时,若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。相对于现有技术而言,本申请具有以下有益效果:本申请提供的数据存储方法及装置,存储待存储数据的不同存储节点在进行相应的写日志文件的操作时,待这些存储节点均成功完成写日志文件的操作才判断为写日志成功。在写数据文件时,待主存储节点成功完成写数据文件的操作或任一存储节点成功完成写数据文件的操作,即反馈待存储数据的来源客户端数据可读。如此,通过日志文件的强一致性保证数据写入的正确性,通过数据文件的弱一致性减少数据写入的等待时间,既保证了数据存储的可靠性,又提高了数据存储的效率,极大的提升了用户的体验。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为现有技术中数据存储方法流程示意图;图2为本申请实施例提供的存储节点的应用场景示意图之一;图3为本申请实施例提供的存储节点的应用场景示意图之二;图4为本申请实施例提供的数据存储方法流程示意图;图5为本申请实施例提供的数据存储装置的功能模块示意图之一;图6为本申请实施例提供的数据存储装置的功能模块示意图之二。图标:10(20)-分布式数据存储系统;101(102、103、201、202、203)-存储节点;110-数据存储装置;111-写数据模块;112-发送模块;113-通知模块;204-NAS服务设备;300-用户客户终端。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。现有的分布式数据存储系统在进行数据存储时,可以为待存储数据确定一个主存储节点和至少一个从存储节点进行分布式存储,各存储节点可以采用先写日志文件再写数据文件的机制。例如,存储节点在接收到待存储的待存储数据时,先将所述待存储数据写入日志存储区域作为日志文件,之后再将所述待存储数据写入数据存储区域作为数据文件本文档来自技高网...
数据存储方法及装置

【技术保护点】
一种数据存储方法,应用于存储节点,其特征在于,所述方法包括:在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行数据文件的写入操作;在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。

【技术特征摘要】
1.一种数据存储方法,应用于存储节点,其特征在于,所述方法包括:在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行数据文件的写入操作;在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。5.根据权利要求1所述的方法,其特征在于,在所述存储节点为第一待存储数据的主存储节点时,所述方法还包括:若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则所述存储节点通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。6.一种数据存储装...

【专利技术属性】
技术研发人员:王飞
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1