CN107908370A - 数据存储方法及装置 - Google Patents

数据存储方法及装置 Download PDF

Info

Publication number
CN107908370A
CN107908370A CN201711239784.3A CN201711239784A CN107908370A CN 107908370 A CN107908370 A CN 107908370A CN 201711239784 A CN201711239784 A CN 201711239784A CN 107908370 A CN107908370 A CN 107908370A
Authority
CN
China
Prior art keywords
data
stored
memory node
file
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711239784.3A
Other languages
English (en)
Other versions
CN107908370B (zh
Inventor
王飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201711239784.3A priority Critical patent/CN107908370B/zh
Publication of CN107908370A publication Critical patent/CN107908370A/zh
Application granted granted Critical
Publication of CN107908370B publication Critical patent/CN107908370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

数据存储方法及装置
技术领域
本申请涉及数据存储技术领域,具体而言,涉及一种数据存储方法及装置。
背景技术
在分布式数据存储系统中,为了提高数据的可靠性,通常将数据分多个副本存储在不同的存储节点中。在一个存储节点出现异常时,可以从其他存储节点读出数据。
具体的,在存储数据时,通常采用先写日志文件再写数据文件的方式来防止掉电等异常情况导致数据被破坏。这种方式,需要保证日志文件间及数据文件间的强一致性(即,存储该数据的各个存储节点上的日志文件及数据文件均是一致的),导致数据存储的效率不高。
发明内容
为了克服现有技术中的上述不足,本申请的目的在于提供一种数据存储方法,应用于存储节点,所述方法包括:
在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行数据文件的写入操作;
在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。
可选地,在上述方法中,所述方法还包括:
在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。
可选地,在上述方法中,所述方法还包括:
在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
可选地,在上述方法中,所述方法还包括:
在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
可选地,在上述方法中,在所述存储节点为第一待存储数据的主存储节点时,所述方法还包括:
若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则所述存储节点通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。
本申请的另一目的在于提供一种数据存储装置,应用于存储节点,所述装置包括:
写数据模块,用于在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行对应的数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行对应的数据文件的写入操作;
发送模块,用于在所述存储节点或者所述存储节点和所述从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,通知所述第一待存储数据的来源客户端所述第一待存储数据可读通知。
可选地,在上述装置中,所述写数据模块还用于在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。
可选地,在上述装置中,所述写数据模块还用于在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
可选地,在上述装置中,所述写数据模块还用于在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
可选地,在上述装置中,所述装置还包括:
通知模块,用于在所述存储节点为第一待存储数据的主存储节点时,若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供的数据存储方法及装置,存储待存储数据的不同存储节点在进行相应的写日志文件的操作时,待这些存储节点均成功完成写日志文件的操作才判断为写日志成功。在写数据文件时,待主存储节点成功完成写数据文件的操作或任一存储节点成功完成写数据文件的操作,即反馈待存储数据的来源客户端数据可读。如此,通过日志文件的强一致性保证数据写入的正确性,通过数据文件的弱一致性减少数据写入的等待时间,既保证了数据存储的可靠性,又提高了数据存储的效率,极大的提升了用户的体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中数据存储方法流程示意图;
图2为本申请实施例提供的存储节点的应用场景示意图之一;
图3为本申请实施例提供的存储节点的应用场景示意图之二;
图4为本申请实施例提供的数据存储方法流程示意图;
图5为本申请实施例提供的数据存储装置的功能模块示意图之一;
图6为本申请实施例提供的数据存储装置的功能模块示意图之二。
图标:10(20)-分布式数据存储系统;101(102、103、201、202、203)-存储节点;110-数据存储装置;111-写数据模块;112-发送模块;113-通知模块;204-NAS服务设备;300-用户客户终端。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
现有的分布式数据存储系统在进行数据存储时,可以为待存储数据确定一个主存储节点和至少一个从存储节点进行分布式存储,各存储节点可以采用先写日志文件再写数据文件的机制。例如,存储节点在接收到待存储的待存储数据时,先将所述待存储数据写入日志存储区域作为日志文件,之后再将所述待存储数据写入数据存储区域作为数据文件,如SQL的预写式日志(Write-Ahead Logging,WAL)机制。利用这类机制可以减少磁盘的I/O操作,并且在出现异常掉电等场景时,数据可以通过存储节点保留的日志文件进行数据恢复。
在采用上述存储机制的数据存储系统中,对同一数据的日志文件和数据文件常都采用强一致性来保证数据的可靠性。例如,请参照图1,现有技术中常用的数据存储方法包括以下步骤。
S110,主存储节点接收待存储的数据,开始执行写日志文件的操作,并通知从存储节点写日志文件。
S120,主存储节点在所有存储节点均成功完成写日志文件的操作后,再开始执行写数据文件的操作,并通知从存储节点写数据文件。如此,保证所述日志文件的强一致性。
S130,所述主存储节点在所有存储节点均成功完成所述写数据文件的操作后,再通知客户端数据可读,如此,保证所述数据文件的强一致性。
经过发明人大量研究发现,由于存储数据的各个存储节点的性能或当前工作负载情况不一,若某一存储节点在写数据文件时的速度较慢,会导致整个系统等待时间过长,严重影响数据存储的效率。
为了解决上述问题,在本实施例中,发明人提出一种数据存储方法及装置,在写日志文件时,采用日志文件的强一致性保证数据的稳定可靠,在写数据文件时,采用数据文件的弱一致性(即,存储数据的各存储节点上的数据文件不要求是一致的)提高数据存储效率。以下在本实施例中对所述数据存储方法及装置进行详细阐述。
可选地,在本实施例一种可能的实施方式中,提供一种如图2所示的分布式数据存储系统10,分布式数据存储系统10包括至少两个相对独立工作的存储节点,如图2所示的存储节点101、存储节点102和存储节点103,这些存储节点均位于不同的存储设备(例如,主机)上。用户客户端200在需要将数据存储到分布式数据存储系统10中时,用户客户端200可以对待存储数据进行拆分;针对拆分后的每条数据,作为拆分后的该条数据的来源客户端为该条数据确定存储该条数据的主存储节点和从存储节点,并将该条数据发送给主存储节点,由主存储节点负责汇报自身和从存储节点完成数据存储的情况。
需要说明的是,在分布式数据存储系统10中,用户客户端200确定拆分后的每条数据的主存储节点和从存储节点的过程为现有技术,在此不再详述。例如,拆分后的数据是数据1和数据2,用户客户端200为数据1确定出的主存储节点是存储节点101,从存储节点是存储节点102和存储节点103;用户客户端200为数据2确定出的主存储节点是存储节点102,从存储节点是存储节点101和存储节点103。
可选地,在本实施例另一种可能实施方式中,提供一种如图3所示的分布式数据存储系统20,所述数据存储系统20包括至少两个相对独立工作的存储节点(如图3所示的存储节点201、存储节点202和存储节点203)及NAS(Network Attached Storage,网络附属存储)服务设备204,这些存储节点均位于不同的存储设备(例如,主机)上。
NAS服务设备204可以接收用户客户端300发送的待存储数据,对待存储数据进行拆分;针对拆分后的每条数据,作为拆分后的该条数据的来源客户端为该条数据确定存储该条数据的主存储节点和从存储节点,并将该条数据发送给主存储节点,由主存储节点负责汇报自身和从存储节点完成数据存储的情况。
需要说明的是,在分布式数据存储系统20中,NAS服务设备204确定拆分后的每条数据的主存储节点和从存储节点的过程为现有技术,在此不再详述。例如,拆分后的数据是数据11和数据12,NAS服务设备204为数据11确定出的主存储节点是存储节点201,从存储节点是存储节点202和存储节点203;NAS服务设备204为数据12确定出的主存储节点是存储节点202,从存储节点是存储节点201和存储节点203。
当然,在另一种分布式数据存储系统20中,NAS服务设备204还可以集成在部分或者全部存储节点所在的存储设备上,在这种情况下,由接收到来自用户客户端的待存储数据的存储设备对待存储数据进行拆分,后续处理过程同上述NAS服务设备的处理过程,在此不再赘述。
基于上述分布式数据存储系统架构,请参照图4,本实施例提供一种数据存储方法,包括以下步骤:步骤S210,在存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行对应的数据文件的写入操作。
以图2所示的分布式数据系统为例,假设所述第一待存储数据(用户客户端200进行数据拆分后的一条数据)的主存储节点是存储节点101,从存储节点是存储节点102和存储节点103,存储节点101接收用户客户端200发送的携带有所述第一待存储数据和从存储节点的身份信息的写请求;之后,存储节点101依据所述第一待存储数据进行相应日志文件的写入操作,同时,依据从存储节点的身份信息通知存储节点102和存储节点103进行所述第一待存储数据的日志文件的写入操作,存储节点102或者存储节点103写日志文件成功后,通知存储节点101日志文件成功写入;最后,存储节点101在确定出自身、存储节点102和存储节点103均已完成所述第一待存储数据对应的日志文件的写入操作后,通知用户客户端200数据写入完成。
接下来,存储节点101开始进行所述第一待存储数据对应的数据文件的写入操作,同时也通知存储节点102和存储节点103进行所述第一待存储数据对应的数据文件的写入操作。
如此,在本实施例中,当所述第一待存储数据的所有存储节点均完成对应日志文件的写入操作时才认为所述第一存储数据写入完成,然后开始执行数据文件的写入操作,通过所述日志文件的强一致性保证存储的数据可靠。
步骤S220,在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。
可选地,在本实施例的一种实施方式中,仍以解释上述步骤S210时的例子为例,存储节点101在成功执行所述写数据文件的操作时,立即向用户客户端200发送所述第一待存储数据的可读通知,后续用户客户端200的处理流程为现有技术,在此不再详述。
如此,所述第一待存储数据的主存储节点不需要等待其他从存储节点反馈的写数据文件的结果,可以防止因为某个从存储节点执行写数据文件的操作的时间过长,而导致存储效率较低的问题,并且降低了慢盘的影响率。
可选地,在本实施例的另一种实施方式中,所述第一待存储数据的主存储节点和从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知,后续用户客户端的处理流程为现有技术,在此不再详述。
在本实施方式中,一旦所述第一待存储数据的某个从存储节点在成功执行所述写数据文件的操作后,该从存储节点向所述第一待存储数据的主存储节点发送写数据文件成功通知,以由主存储节点向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知,进而提高存储效率,降低慢盘的影响率。
可选地,在本实施例中,在所述存储节点作为所述第一待存储数据的主存储节点时,在所述存储节点成功写入数据文件后,删除所述第一待存储数据对应的日志文件;在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
进一步地,在本实施例中,所述存储节点还可以是其他待存储数据的从存储节点。在所述存储节点作为第二待存储数据的从存储节点时,可以根据所述第二待存储数据的主存储节点的通知对所述第二待存储数据进行数据文件的写入操作。如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
请参照图5,本实施例还提供一种应用于图1所示存储节点的数据存储装置110,所述装置包括写数据模块111及发送模块112。
所述写数据模块111,用于在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行对应的数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行对应的数据文件的写入操作。
本实施例中,所述写数据模块111可用于执行图4所示的步骤S210,关于所述写数据模块111的具体描述可参对所述步骤S210的描述。
所述发送模块112,用于在所述存储节点或者所述存储节点和所述从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,通知所述第一待存储数据的来源客户端所述第一待存储数据可读通知。
本实施例中,所述发送模块112可用于执行图4所示的步骤S220,关于所述发送模块112的具体描述可参对所述步骤S220的描述。
可选地,在本实施例中,所述写数据模块111还用于在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。
可选地,在本实施例中,所述写数据模块111还用于在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
可选地,在本实施例中,所述写数据模块111还用于在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
可选地,请参照图6,在本实施例中,所述装置还可以包括通知模块113。
所述通知模块113,用于在所述存储节点为第一待存储数据的主存储节点时,若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。
综上所述,本申请提供的数据存储方法及装置,存储待存储数据的不同存储节点在进行相应的写日志文件的操作时,待这些存储节点均成功完成写日志文件的操作才判断为写日志成功。在写数据文件时,待主存储节点成功完成写数据文件的操作或任一存储节点成功完成写数据文件的操作,即反馈待存储数据的来源客户端数据可读。如此,通过日志文件的强一致性保证数据写入的正确性,通过数据文件的弱一致性减少数据写入的等待时间,既保证了数据存储的可靠性,又提高了数据存储的效率,极大的提升了用户的体验。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据存储方法,应用于存储节点,其特征在于,所述方法包括:
在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行数据文件的写入操作;
在所述存储节点或者所述存储节点和所述第一待存储数据的从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,向所述第一待存储数据的来源客户端发送所述第一待存储数据可读通知。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
5.根据权利要求1所述的方法,其特征在于,在所述存储节点为第一待存储数据的主存储节点时,所述方法还包括:
若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则所述存储节点通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。
6.一种数据存储装置,应用于存储节点,其特征在于,所述装置包括:
写数据模块,用于在所述存储节点为第一待存储数据的主存储节点时,如果所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,则对所述第一待存储数据进行对应的数据文件的写入操作,并通知所述从存储节点对所述第一待存储数据进行对应的数据文件的写入操作;
发送模块,用于在所述存储节点或者所述存储节点和所述从存储节点中的任意一个存储节点成功写入所述第一待存储数据时,通知所述第一待存储数据的来源客户端所述第一待存储数据可读通知。
7.根据权利要求6所述的装置,其特征在于,所述写数据模块还用于在所述存储节点成功写入所述第一待存储数据的数据文件后,删除所述第一待存储数据对应的日志文件。
8.根据权利要求6所述的装置,其特征在于,所述写数据模块还用于在所述存储节点未成功写入所述第一待存储数据的数据文件时,从所述第一待存储数据对应的日志文件中获取所述第一待存储数据并进行数据文件的写入操作。
9.根据权利要求6所述的装置,其特征在于,所述写数据模块还用于在所述存储节点为第二待存储数据的从存储节点时,如果未成功写入所述第二待存储数据的数据文件,则从所述第二待存储数据对应的日志文件中获取所述第二待存储数据并进行数据文件的写入操作;如果成功写入所述第二待存储数据的数据文件,则删除所述第二待存储数据对应的日志文件。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
通知模块,用于在所述存储节点为第一待存储数据的主存储节点时,若所述存储节点和所述第一待存储数据的从存储节点均已完成所述第一待存储数据对应的日志文件的写入操作,通知所述第一待存储数据的来源客户端所述第一待存储数据写入完成。
CN201711239784.3A 2017-11-30 2017-11-30 数据存储方法及装置 Active CN107908370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711239784.3A CN107908370B (zh) 2017-11-30 2017-11-30 数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711239784.3A CN107908370B (zh) 2017-11-30 2017-11-30 数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN107908370A true CN107908370A (zh) 2018-04-13
CN107908370B CN107908370B (zh) 2021-07-06

Family

ID=61849621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711239784.3A Active CN107908370B (zh) 2017-11-30 2017-11-30 数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN107908370B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947733A (zh) * 2019-03-29 2019-06-28 众安信息技术服务有限公司 数据存储装置与方法
WO2021017782A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 分布式存储系统访问方法、客户端及计算机程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011098A1 (en) * 2009-03-19 2012-01-12 Murakumo Corporation Method and system for managing replication of data
CN103268318A (zh) * 2013-04-16 2013-08-28 华中科技大学 一种强一致性的分布式键值数据库系统及其读写方法
US20140317366A1 (en) * 2013-04-22 2014-10-23 Hitachi, Ltd. Method and apparatus for remote storage performance data copy
CN105335098A (zh) * 2015-09-25 2016-02-17 华中科技大学 一种基于存储级内存的日志文件系统性能提高方法
CN105787129A (zh) * 2016-03-29 2016-07-20 联想(北京)有限公司 一种数据存储方法和电子设备
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统
CN106484311A (zh) * 2015-08-31 2017-03-08 华为数字技术(成都)有限公司 一种数据处理方法及装置
CN106899648A (zh) * 2016-06-20 2017-06-27 阿里巴巴集团控股有限公司 一种数据处理方法和设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011098A1 (en) * 2009-03-19 2012-01-12 Murakumo Corporation Method and system for managing replication of data
CN103268318A (zh) * 2013-04-16 2013-08-28 华中科技大学 一种强一致性的分布式键值数据库系统及其读写方法
US20140317366A1 (en) * 2013-04-22 2014-10-23 Hitachi, Ltd. Method and apparatus for remote storage performance data copy
CN106484311A (zh) * 2015-08-31 2017-03-08 华为数字技术(成都)有限公司 一种数据处理方法及装置
CN105335098A (zh) * 2015-09-25 2016-02-17 华中科技大学 一种基于存储级内存的日志文件系统性能提高方法
CN105787129A (zh) * 2016-03-29 2016-07-20 联想(北京)有限公司 一种数据存储方法和电子设备
CN106899648A (zh) * 2016-06-20 2017-06-27 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106406750A (zh) * 2016-08-23 2017-02-15 浪潮(北京)电子信息产业有限公司 一种数据操作方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
潘巍: ""新型非易失存储环境下事务型数据管理技术研究"", 《软件学报》 *
郭贞宏: ""基于虚拟磁盘的分布式存储系统的设计与实现"", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947733A (zh) * 2019-03-29 2019-06-28 众安信息技术服务有限公司 数据存储装置与方法
WO2021017782A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 分布式存储系统访问方法、客户端及计算机程序产品

Also Published As

Publication number Publication date
CN107908370B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
TW522320B (en) Apparatus and method for recovering a failed database data set
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
JP2018503188A (ja) ページ表示方法及びシステム
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
CN105824846B (zh) 数据迁移方法及装置
CN107203541A (zh) 页面加载方法及其页面加载装置
WO2021052502A1 (zh) 一种配置变更的方法及相关装置
CN105677469A (zh) 定时任务执行方法及装置
CN109657007A (zh) 基于异步提交的数据库数据同步并行执行方法及设备
CN109739435B (zh) 文件存储和更新方法及装置
CN106469069B (zh) 一种版本升级方法及系统
DE102009044507A1 (de) Vorrichtung, Anordnung und Verfahren zur Datensynchronisation in einer Mehrfachübertragungsumgebung
CN106685706A (zh) 一种基于Zookeeper的配置更新方法及系统
CN111352943A (zh) 实现数据一致性的方法和装置、服务器和终端
CN107908370A (zh) 数据存储方法及装置
CN105607606B (zh) 一种基于双主板架构的数据采集装置及方法
CN111865632A (zh) 分布式数据存储集群的切换方法及切换指令发送方法和装置
CN104866528A (zh) 多平台数据采集方法及系统
CN110737526A (zh) 一种基于Redis的分布式集群下的定时任务管理方法及装置
CN102325171B (zh) 一种监控系统中数据的存储方法及其系统
CN116185697A (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN100563356C (zh) 分布式管理系统的消息跟踪方法
CN106204031A (zh) 卡应用处理方法及装置
CN110417580A (zh) 一种ib网络拓扑关系的展示方法、设备以及存储介质
CN109144989A (zh) 一种数据清洗的方法及用于数据清洗的装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant