CN104572917A - 数据锁定方法、装置及分布式存储系统 - Google Patents
数据锁定方法、装置及分布式存储系统 Download PDFInfo
- Publication number
- CN104572917A CN104572917A CN201410834346.1A CN201410834346A CN104572917A CN 104572917 A CN104572917 A CN 104572917A CN 201410834346 A CN201410834346 A CN 201410834346A CN 104572917 A CN104572917 A CN 104572917A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- request
- target data
- read
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的一种数据锁定方法、装置及一种分布式存储系统,涉及数据存储领域,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,需要写入或者读取的目标数据在缓存中被锁定,进行写入或者读取操作时,提高了缓冲命中率,读写速度更快,由于被锁定的数据无法被修改,可以避免在多数据读写过程中数据的缺漏,保证了系统的安全性、一致性。
Description
技术领域
本发明涉及数据存储领域,具体而言,涉及数据锁定方法、装置及分布式存储系统。
背景技术
目前数据锁定方法常常被用于数据库中,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。而在分布式存储系统中,例如云存储系统,没有对应的数据锁定方法,当多个用户同时存取数据时,可能会出现数据在写入或者读取前后的不一致的情况,降低了系统中数据的安全性、一致性。
发明内容
本发明的目的在于提供一种数据锁定方法、装置及一种分布式存储系统,以改善上述当多个用户同时存取数据时,可能会出现数据在写入或者读取前后的不一致的情况,降低了系统中数据的安全性、一致性的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据锁定方法,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述方法包括:
所述缓存接收所述数据请求端发送的写数据请求;
接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令,
对所述目标数据执行编辑操作;
将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
发送所述写锁定数据到所述存储节点;
将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述对所述目标数据进行编辑操作,包括:
从所述写目标数据中删除数据;和/或
在所述写目标数据的基础上添加数据。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在所述对所述目标数据进行编辑操作之前,所述方法还包括:
对所述目标数据的状态进行检测,如果所述目标数据为可以被编辑的的状态,则执行后续步骤,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:
所述缓存接收所述数据请求端发送的读数据请求;
查找需要读取的目标数据;
将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
发送所述读锁定数据到所述数据请求端;
将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态
第二方面,本发明实施例还提供了一种数据锁定装置,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,所述装置包括:
写请求接收单元,用于接收所述数据请求端发送的写数据请求;
写操作指令接收单元,用于接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令;
写操作单元,用于对所述目标数据进行编辑;
写锁定单元,用于将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
写发送单元,用于发送所述写锁定数据到所述存储节点;
写解锁单元,用于将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述写操作单元具体用于:
从所述写目标数据中删除数据;和/或
在所述写目标数据的基础上添加数据。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括:
数据状态检测单元,用于对所述目标数据的状态进行检测,如果所述目标数据为可以被编辑的的状态,则执行后续步骤,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述装置还包括:
读请求接收单元,用于接收所述数据请求端发送的读数据请求;
读操作单元,用于查找需要读取的目标数据;
读锁定单元,用于将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
读发送单元,用于发送所述读锁定数据到所述数据请求端;
读解锁单元,用于将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态。
第三方面,本发明实施例还提供了一种分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述缓存设置有上述数据锁定装置。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,所述分布式存储系统为云存储系统。
本发明提供的数据锁定方法、装置及分布式存储系统,需要写入或者读取的目标数据在缓存中被锁定,进行写入或者读取操作时,提高了缓冲命中率,其读写速度会更快,由于被锁定的数据无法被修改,可以避免在多数据读写过程中数据的缺漏,保证了系统的安全性、一致性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1示出了本发明实施例提供的一种分布式存储系统的结构框图;
图2示出了本发明实施例提供的一种数据锁定方法的流程图;
图3示出了本发明实施例提供的另一种数据锁定方法的流程图;
图4示出了本发明实施例提供的另一种数据锁定方法的流程图;
图5示出了本发明实施例提供的一种数据锁定装置的结构框图;
图6示出了本发明实施例提供的另一种数据锁定装置的结构框图;
图7示出了本发明实施例提供的另一种数据锁定装置的结构框图;
图8示出了本发明实施例提供的另一种数据锁定装置的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。
目前数据锁定方法常常被用于数据库中,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。而在分布式存储系统中,例如云存储系统,没有对应的数据锁定方法,当多个用户同时存取数据时,可能会出现数据在写入或者读取前后的不一致的情况,降低了系统中数据的安全性、一致性。
参阅图1,本发明实施例提供的一种分布式存储系统,所述分布式存储系统包括数据请求端100、缓存200以及存储有数据的存储节点300,所述缓存200设置有数据锁定装置400。
参阅图2,本发明实施例提供的一种数据锁定方法,应用于分布式存储系统,所述方法包括:
步骤101,所述缓存接收所述数据请求端发送的写数据请求。
所述缓存收到写数据请求,得知数据请求端需要写入数据。
步骤102,所述缓存接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的编辑数据。
所述缓存通过写操作指令得知了其存储空间的哪些数据是需要进行编辑的目标数据,以及对目标数据进行编辑的具体方式。
步骤103,所述缓存对所述目标数据进行编辑。
所述缓存根据写操作指令的内容,对所述目标数据进行编辑。
步骤104,所述缓存将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据。
所述缓存对所述目标数据进行编辑之后,为了防止其他数据请求端发送的写操作指令对该目标数据再次编辑,导致出错,将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据。
步骤105,所述缓存发送所述写锁定数据到所述存储节点;
数据请求端发出写操作指令的目的是对储存单元中的数据进行修改,所述缓存在对目标数据进行编辑后,还要将其发送到储存单元。
步骤106,所述缓存将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
在完成整个写操作之后,将锁定状态的所述写锁定数据解锁,使得其他数据请求端可以继续对目标数据进行编辑。
例如:数据请求端想要执行的写操作为,将数据a的内容由ABC改写为ABD,数据请求端发送写数据请求到缓存,缓存接收到写数据请求后返回一个应答。然后数据请求端发送写操作指令,写操作指令包括有将数据a的内容ABC改写为ABD的操作指令。缓存接收到写操作指令后,确定a为目标数据,然后对a进行编辑,将ABC改写为ABD,完成编辑后,将a锁定为不能进行编辑的写锁定数据。然后缓存将a发送到存储节点,发送完成后,对a进行解锁,使得a恢复可以编辑的状态。
本发明提供的一种数据锁定方法,被写入的目标数据在缓存中被锁定,进行写入操作时,提高了缓冲命中率,写入的速度更快,由于被锁定的目标数据无法被修改,可以避免在多个数据请求端同时进行数据读写过程中出现数据的缺漏,保证了系统的安全性、一致性。
参阅图3,本发明实施例提供的另一种数据锁定方法,应用于分布式存储系统,所述方法包括:
步骤201,所述缓存接收所述数据请求端发送的写数据请求。
所述缓存收到写数据请求,得知数据请求端需要写入数据。
步骤202,所述缓存接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的编辑数据。
所述缓存通过写操作指令得知了其存储空间的哪些数据是需要进行编辑的目标数据,以及对目标数据进行编辑的具体方式。
步骤203,对所述目标数据的状态进行检测。
如果所述目标数据为可以被编辑的的状态,则执行后续步骤,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
写锁定数据是不能被编辑的,因此,在对目标数据进行编辑之前,要检测目标数据的状态,只有没有被锁定的数据才能编辑。
步骤204,如果所述目标数据为可以被编辑的的状态,所述缓存对所述目标数据进行编辑。
在确认目标数据可以编辑之后,所述缓存根据写操作指令的内容,对所述目标数据进行编辑。
进行编辑的过程可以包括从所述写目标数据中删除数据和/或在所述写目标数据的基础上添加数据。
例如:编辑内容为ABC的数据a,可以是将ABC中的C删除;也可以是在ABC的基础上添加D;也可以是将ABC改为ABD,就相当于先删除C,再添加D。
步骤205,所述缓存将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据。
所述缓存对所述目标数据进行编辑之后,为了防止其他数据请求端发送的写操作指令对该目标数据再次编辑,导致出错,将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据。
步骤206,所述缓存发送所述写锁定数据到所述存储节点;
数据请求端发出写操作指令的目的是对储存单元中的数据进行修改,所述缓存在对目标数据进行编辑后,还要将其发送到储存单元。
步骤207,所述缓存将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
在完成整个写操作之后,将锁定状态的所述写锁定数据解锁,使得其他数据请求端可以继续对目标数据进行编辑。
例如:数据请求端想要执行的写操作为,将数据a的内容由ABC改写为ABD,数据请求端发送写数据请求到缓存,缓存接收到写数据请求后返回一个应答。然后数据请求端发送写操作指令,写操作指令包括有将数据a的内容ABC改写为ABD的操作指令。缓存接收到写操作指令后,确定a为目标数据,首先检测数据a的状态。如果a为可以被编辑的状态,就对a进行编辑,将ABC改写为ABD。完成编辑后,将a锁定为不能进行编辑的写锁定数据。然后缓存将a发送到存储节点,发送完成后,对缓存中的a进行解锁,使得a恢复可以编辑的状态。在对a解锁之前,如果缓存接收到其他数据请求端发送的写操作指令,需要对a进行编辑,在检测到a为写锁定状态后,该数据请求端的写操作就无法执行。
本实施例提供的数据锁定方法,被写入的目标数据在缓存中被锁定,进行写入操作时,提高了缓冲命中率,写入的速度更快,由于被锁定的目标数据无法被修改,可以避免在多个数据请求端同时进行数据读写过程中出现数据的缺漏,保证了系统的安全性、一致性。
参阅图4,本发明实施例提供的另一种数据锁定方法,应用于分布式存储系统,所述方法包括:
步骤301,所述缓存接收所述数据请求端发送的读数据请求;
所述数据请求端首先告知所述缓存需要读取数据以及需要读取的目标数据。
步骤302,所述缓存查找需要读取的目标数据;
如果所述缓存有需要读取的目标数据,就直接执行后续的步骤;如果所述缓存没有需要读取的目标数据,就从所述存储节点中读取需要读取的目标数据。
步骤303,所述缓存将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
为了防止在后续的读操作的过程中,其他数据请求端发送的写操作指令对该目标数据进行编辑,导致出错,将所述需要读取的目标数据锁定为不能进行编辑的写锁定数据。
步骤304,所述缓存将发送所述读锁定数据到所述数据请求端
数据请求端发出读操作指令的目的是读取目标数据,所述缓存在查找到需要读取的目标数据后,还要将其返回数据请求端。
步骤305,所述缓存将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态。
在完成整个读操作之后,将锁定状态的所述读锁定数据解锁,使得其他数据请求端可以对目标数据进行编辑。
例如:数据请求端想要执行的读操作为,读取数据a,数据请求端发送读取数据a的请求到缓存,缓存接收到读数据请求后,确定a为需要读取的目标数据,然后查找a,如果缓存中没有a,就从存储节点中读取a。完成查找后,将a锁定为不能进行编辑的读锁定数据,然后缓存将a发送到数据请求端。如果在缓存中查找到a,并发现a已经处于锁定状态时,就直接将a发送到数据请求端。
发送完成后,对缓存中的a进行解锁,使得a恢复可以编辑的状态。在对a解锁之前,如果缓存接收到其他数据请求端发送的写操作指令,需要对a进行编辑,在检测到a为写锁定状态后,该数据请求端的写操作就无法执行。
本实施例提供的数据锁定方法,需要读取的目标数据在缓存中被锁定,进行读取操作时,提高了缓冲命中率,读取的速度更快,由于被锁定的目标数据无法被修改,可以避免在多个数据请求端同时进行数据读写过程中出现数据的缺漏,保证了系统的安全性、一致性。
参阅图5,本发明实施例提供的一种数据锁定装置,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,所述装置包括:
写请求接收单元401,用于接收所述数据请求端发送的写数据请求;
写操作指令接收单元402,用于接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令;
写操作单元403,用于对所述目标数据进行编辑;
写锁定单元404,用于将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
写发送单元405,用于发送所述写锁定数据到所述存储节点;
写解锁单元406,用于将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
本发明实施例所提供的数据读取装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
参阅图6,本发明实施例提供的另一种数据锁定装置,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,所述装置包括:
写请求接收单元601,用于接收所述数据请求端发送的写数据请求;
写操作指令接收单元602,用于接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令;
数据状态检测单元603,用于对所述目标数据的状态进行检测,如果所述目标数据为可以被编辑的的状态,则跳转到写操作单元604,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
写操作单元604,用于对所述目标数据进行编辑;
写锁定单元605,用于将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
写发送单元606,用于发送所述写锁定数据到所述存储节点;
写解锁单元607,用于将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
本发明实施例所提供的数据读取装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
参阅图7,本发明实施例提供的另一种数据锁定装置,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,所述装置包括:
读请求接收单元701,用于接收所述数据请求端发送的读数据请求;
读操作单元702,用于查找需要读取的目标数据;
读锁定单元703,用于将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
读发送单元704,用于发送所述读锁定数据到所述数据请求端;
读解锁单元705,用于将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态。
本发明实施例所提供的数据读取装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
参阅图8,本发明实施例提供的另一种数据锁定装置600,包括:处理器500,存储器501,总线502和通信接口503,所述处理器500、通信接口503和存储器501通过总线502连接;处理器500用于执行存储器501中存储的可执行模块,例如计算机程序。
其中,存储器501可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口503(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线502可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器501用于存储程序,所述处理器500在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的装置所执行的方法可以应用于处理器500中,或者由处理器500实现。
处理器500可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器500中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器500可以是通用处理器,包括中央处理器(Central Processing Unit,简称数据请求端)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器501,处理器500读取存储器501中的信息,结合其硬件完成上述方法的步骤。
另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行一种数据锁定装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种数据锁定方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述方法包括:
所述缓存接收所述数据请求端发送的写数据请求;
接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令,
对所述目标数据执行编辑操作;
将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
发送所述写锁定数据到所述存储节点;
将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标数据进行编辑操作,包括:
从所述写目标数据中删除数据;和/或
在所述写目标数据的基础上添加数据。
3.根据权利要求1所述的方法,其特征在于,在所述对所述目标数据进行编辑操作之前,所述方法还包括:
对所述目标数据的状态进行检测,如果所述目标数据为可以被编辑的的状态,则执行后续步骤,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述缓存接收所述数据请求端发送的读数据请求;
查找需要读取的目标数据;
将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
发送所述读锁定数据到所述数据请求端;
将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态。
5.一种数据锁定装置,其特征在于,应用于分布式存储系统,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述数据锁定装置设置于所述缓存,所述装置包括:
写请求接收单元,用于接收所述数据请求端发送的写数据请求;
写操作指令接收单元,用于接收所述数据请求端发送的写操作指令,所述写操作指令中包括对需所述缓存中的目标数据进行编辑的操作指令;
写操作单元,用于对所述目标数据进行编辑;
写锁定单元,用于将所述编辑后的目标数据锁定为不能进行编辑的写锁定数据;
写发送单元,用于发送所述写锁定数据到所述存储节点;
写解锁单元,用于将所述缓存中发送完成的所述写锁定数据解锁为可以编辑的状态。
6.根据权利要求5所述的装置,其特征在于,所述写操作单元具体用于:
从所述写目标数据中删除数据;和/或
在所述写目标数据的基础上添加数据。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
数据状态检测单元,用于对所述目标数据的状态进行检测,如果所述目标数据为可以被编辑的的状态,则执行后续步骤,如果所述目标数据已经锁定为写锁定数据,则停止执行后续步骤。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
读请求接收单元,用于接收所述数据请求端发送的读数据请求;
读操作单元,用于查找需要读取的目标数据;
读锁定单元,用于将所述需要读取的目标数据锁定为不能进行编辑的读锁定数据;
读发送单元,用于发送所述读锁定数据到所述数据请求端;
读解锁单元,用于将所述缓存中发送完成的读锁定数据解锁为可以编辑的状态。
9.一种分布式存储系统,其特征在于,所述分布式存储系统包括数据请求端、缓存以及存储有数据的存储节点,所述缓存设置有如权利要求5-8任一所述的数据锁定装置。
10.根据权利要求9所述的分布式存储系统,其特征在于,所述分布式存储系统为云存储系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834346.1A CN104572917A (zh) | 2014-12-29 | 2014-12-29 | 数据锁定方法、装置及分布式存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834346.1A CN104572917A (zh) | 2014-12-29 | 2014-12-29 | 数据锁定方法、装置及分布式存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572917A true CN104572917A (zh) | 2015-04-29 |
Family
ID=53088979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410834346.1A Pending CN104572917A (zh) | 2014-12-29 | 2014-12-29 | 数据锁定方法、装置及分布式存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572917A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202485A (zh) * | 2016-07-18 | 2016-12-07 | 乐视控股(北京)有限公司 | 数据操作方法和系统 |
CN106453500A (zh) * | 2016-09-07 | 2017-02-22 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN107046552A (zh) * | 2016-02-05 | 2017-08-15 | 华为技术有限公司 | 基于心跳的数据同步装置、方法及分布式存储系统 |
CN110597646A (zh) * | 2019-09-16 | 2019-12-20 | 五八有限公司 | 一种数据读写方法、系统、电子设备及存储介质 |
CN113722389A (zh) * | 2021-09-02 | 2021-11-30 | 北京百度网讯科技有限公司 | 数据管理方法、装置、电子设备及计算机可读存储介质 |
WO2024026784A1 (zh) * | 2022-08-04 | 2024-02-08 | 华为技术有限公司 | 事务处理方法、装置、节点及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331993A (zh) * | 2011-06-23 | 2012-01-25 | 北京新媒传信科技有限公司 | 分布式数据库的数据迁移方法和分布式数据库迁移系统 |
CN102340537A (zh) * | 2011-06-30 | 2012-02-01 | 北京新媒传信科技有限公司 | 一种分布式事务处理方法和装置 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN103095686A (zh) * | 2012-12-19 | 2013-05-08 | 华为技术有限公司 | 热点元数据访问控制方法和服务器 |
US20130132674A1 (en) * | 2011-11-21 | 2013-05-23 | Lsi Corporation | Method and system for distributing tiered cache processing across multiple processors |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
CN104113587A (zh) * | 2014-06-23 | 2014-10-22 | 华中科技大学 | 一种分布式文件系统客户端元数据缓存优化方法 |
-
2014
- 2014-12-29 CN CN201410834346.1A patent/CN104572917A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331993A (zh) * | 2011-06-23 | 2012-01-25 | 北京新媒传信科技有限公司 | 分布式数据库的数据迁移方法和分布式数据库迁移系统 |
CN102340537A (zh) * | 2011-06-30 | 2012-02-01 | 北京新媒传信科技有限公司 | 一种分布式事务处理方法和装置 |
US20130132674A1 (en) * | 2011-11-21 | 2013-05-23 | Lsi Corporation | Method and system for distributing tiered cache processing across multiple processors |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN103095686A (zh) * | 2012-12-19 | 2013-05-08 | 华为技术有限公司 | 热点元数据访问控制方法和服务器 |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和系统 |
CN104113587A (zh) * | 2014-06-23 | 2014-10-22 | 华中科技大学 | 一种分布式文件系统客户端元数据缓存优化方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107046552A (zh) * | 2016-02-05 | 2017-08-15 | 华为技术有限公司 | 基于心跳的数据同步装置、方法及分布式存储系统 |
CN107046552B (zh) * | 2016-02-05 | 2020-10-23 | 华为技术有限公司 | 基于心跳的数据同步装置、方法及分布式存储系统 |
CN106202485A (zh) * | 2016-07-18 | 2016-12-07 | 乐视控股(北京)有限公司 | 数据操作方法和系统 |
CN106453500A (zh) * | 2016-09-07 | 2017-02-22 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN106453500B (zh) * | 2016-09-07 | 2020-02-11 | 努比亚技术有限公司 | 缓存生成及控制方法、缓存服务器及接口服务器 |
CN110597646A (zh) * | 2019-09-16 | 2019-12-20 | 五八有限公司 | 一种数据读写方法、系统、电子设备及存储介质 |
CN113722389A (zh) * | 2021-09-02 | 2021-11-30 | 北京百度网讯科技有限公司 | 数据管理方法、装置、电子设备及计算机可读存储介质 |
CN113722389B (zh) * | 2021-09-02 | 2024-03-01 | 北京百度网讯科技有限公司 | 数据管理方法、装置、电子设备及计算机可读存储介质 |
WO2024026784A1 (zh) * | 2022-08-04 | 2024-02-08 | 华为技术有限公司 | 事务处理方法、装置、节点及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572917A (zh) | 数据锁定方法、装置及分布式存储系统 | |
CN114416667B (zh) | 快速分享网盘文件的方法、装置、网盘及存储介质 | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
US11762822B2 (en) | Determining when a change set was delivered to a workspace or stream and by whom | |
CN108733312B (zh) | 存储管理方法和设备 | |
CN104461943A (zh) | 数据读取方法、装置以及系统 | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
EP3242227A1 (en) | Page querying method and data processing node in oltp cluster database | |
CN110168532A (zh) | 数据更新方法和存储装置 | |
US9311348B2 (en) | Method and system for implementing an array using different data structures | |
CN104767761A (zh) | 一种云存储平台访问控制方法及装置 | |
US20170075934A1 (en) | Method and system for handling binary large objects | |
US20150324130A1 (en) | Sensitive data file attribute | |
CN104503868A (zh) | 数据同步方法、装置以及系统 | |
JP2014071904A (ja) | コンピュータシステム及びコンピュータシステムのデータ管理方法 | |
US9557918B2 (en) | Storage device data overlay tracking and prevention | |
CN111694992A (zh) | 一种数据处理方法和装置 | |
CN112764662B (zh) | 用于存储管理的方法、设备和计算机程序产品 | |
CN104506636A (zh) | 一种数据同步方法及装置 | |
JP6215631B2 (ja) | コンピュータシステム及びそのデータ管理方法 | |
US9286349B2 (en) | Dynamic search system | |
CN104615941A (zh) | Android用户分区的快速加密方法、装置和终端设备 | |
US8977814B1 (en) | Information lifecycle management for binding content | |
KR101657470B1 (ko) | 블랙박스의 데이터 단편화 방지 방법 및 장치 | |
CN112579605B (zh) | 一种数据存储方法、装置、存储介质及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171129 Address after: 610000 Chengdu City, Sichuan, Chengdu, China (Sichuan) free trade test zone, Chengdu high tech Zone, Tianfu Sanjie No. 219, 2 building Applicant after: Chengdu Chi Chi Technology Co., Ltd. Address before: 610000 Chengdu province high tech Zone, East Street, No. 76, grass layer, layer 4, No. Applicant before: CHENGDU ZHIYUN SCIENCE & TECHNOLOGY CO., LTD. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |
|
RJ01 | Rejection of invention patent application after publication |