CN110134327B - 写数据方法和装置以及系统 - Google Patents

写数据方法和装置以及系统 Download PDF

Info

Publication number
CN110134327B
CN110134327B CN201811620334.3A CN201811620334A CN110134327B CN 110134327 B CN110134327 B CN 110134327B CN 201811620334 A CN201811620334 A CN 201811620334A CN 110134327 B CN110134327 B CN 110134327B
Authority
CN
China
Prior art keywords
lock
storage array
data
written
storage
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.)
Active
Application number
CN201811620334.3A
Other languages
English (en)
Other versions
CN110134327A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811620334.3A priority Critical patent/CN110134327B/zh
Publication of CN110134327A publication Critical patent/CN110134327A/zh
Application granted granted Critical
Publication of CN110134327B publication Critical patent/CN110134327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0614Improving the reliability 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • G06F3/0637Permissions
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Abstract

一种双活系统,如果写锁权限被第二存储阵列占用被占用,则第一存储阵列把待写数据和锁召回请求一起发给锁服务器;锁服务器发送携带待写数据的锁召回请求给第二锁服务器;第二锁服务器存储所述待写数据后,发送锁召回成功消息给锁服务器;锁服务器给予所述写锁权限给第一存储阵列;第一存储阵列获得所述写锁权限存储所述待写数据。通过该方法,用较少的流程实现了待写数据在两个存储阵列的存储。

Description

写数据方法和装置以及系统
技术领域
本发明涉及计算机领域,尤其是涉及存储技术。
背景技术
在存储区域网络(Storage Area Network,SAN)技术中,主机采用光纤通道(FibreChannel,FC)和存储阵列连接,存储系统给主机提供数据存储服务。
为了提高数据的稳定性,存储系统可以采用双存储阵列。参见附图1,存储系统中存在存储阵列121和存储阵列123,两个存储阵列之间通过FC连接。当主机把数据写入存储阵列121,存储阵列121除了在本地存储器中对数据进行存储,还把数据发送给存储阵列123进行存储;同样的,存储阵列123收到的数据也发送给存储阵列121进行存储。这种存储方式下,两个存储阵列都可以对主机提供存储服务,并且两个存储阵列中存储的数据相同,称为双活(Active-Active)存储系统。在双活存储系统中,即使一个存储阵列出现了故障,主机也可以从另外一个存储阵列获得数据,因此提高了数据的安全性。
由于两个存储阵列写入相同的内容,因此他们的逻辑地址段是对应的。为了避免两个存储阵列的数据无法保持一致,在具体实现中,使用全局性的锁来保证写操作的互斥,在同一时间段,只有一个存储阵列可以申请到一个逻辑地址段的写锁,而只有对这个逻辑地址段请到写锁的存储阵列才能写入数据到两个存储阵列中。
假设存储阵列121从锁服务器122中申请到了某个逻辑地址段的写锁,那么存储阵列123将无法获得写锁,因此无法在自己的对应逻辑地址段上写入数据。只有写锁被锁服务器122从存储阵列121召回后,存储阵列123才能获得写锁。
在召回写锁的过程中,这两个存储阵列都需要和锁服务器122通信;召回写锁后,两个存储阵列之间也需要通信,以便把存储阵列121获得的数据写入到存储阵列123。
而存储阵列121和存储阵列123之间往往相距甚远,例如相距100KM-300KM。因此,在图1的拓扑中,存储阵列121和锁服务器122位置相邻,他们之间的 通信时间可以忽略;但是,锁服务器122和存储阵列123之间的通信以及存储阵列121和存储阵列123之间的通信都会占用大量时间,例如每次通信占用几毫秒的时间。如果把锁服务器122的位置靠近存储阵列123,虽然可以减小锁服务器122和存储阵列123之间的通信时间,但存储阵列121和锁服务器122之间的通信时间会相应增加。
因此,在长距离双活系统中,如何尽量缩短锁服务器、两个存储阵列这三者之间的通信总时间是急需解决的问题。
发明内容
本发明第一方面提供一种写数据方法,该方法应用在锁服务器中,所述锁服务器和第一存储阵列、第二存储阵列连接。第一存储阵列、第二存储阵列可以组成双活存储系统。该方法包括:接收第一存储阵列的加锁请求,所述加锁请求携带加锁命令、待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置;如果检测到所述写地址的写锁权限已经被第二存储阵列占用,则所述锁服务器向所述第二存储阵列发送锁召回请求,所述锁召回请求用于召回所述写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,用于指示所述第二存储阵列按照所述写地址存储待写数据;收到所述第二存储阵列发送的锁召回成功消息后,发送锁分配消息给所述第一存储阵列,其中,所述锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,以及还用于描述所述第二存储阵列完成所述待写数据的写入,其中,所述锁分配消息用于给所述第一存储阵列分配其请求的写锁权限,以及还用于描述所述第二存储阵列完成所述待写数据的写入。在双活系统中,该方法提升了在锁冲突的情况下,第一存储阵列往第二存储阵列写入数据的效率。
第一方面的第一种可能实现方式,所述第二存储阵列在收到所述锁召回请求后,按照所述写地址将所述待写数据存储在本地的存储器,然后发送所述锁召回成功消息;所述第一存储阵列在收到所述锁分配消息后,按照所述写地址将所述待写数据存储在本地的存储器。
该方法提升了在锁冲突的情况下,在第一存储阵列和第二存储阵列在相同位置写入相同数据的效率。
结合第一方面的第一种可能实现方式,可选的,所述第二存储阵列,按照所述写地址将所述待写数据存储在本地的存储器,具体包括:所述第二存储阵列,将另外的待写数据和所述待写数据合并,按照所述写地址将合并后的数据存储在本地的存储器。
该方法进一步提升了第二存储阵列写入数据的效率。
可选的,前述合并操作具体包括:如果所述另外的待写数据和所述待写数据有地址重合的部分,则对于地址重合的部分以所述待写数据进行存储。
该方法为进一步提升了第二存储阵列写入数据的效率提供了一种可行的措施。
第一方面的第二种可能实现方式,所述第一存储阵列以及所述第二存储阵列,均包括存储区域网络SAN存储控制器和与所述SAN存储控制器连接的存储器。
第一方面的第三种可能实现方式,所述第一存储阵列以及所述第二存储阵列均是对象存储阵列,对象存储阵列包括对象存储控制器和存储器。
第一方面的第四种可能实现方式,所述写地址是逻辑单元号LUN ID和LUN内的地址范围。
第二方面,基于上述第一方面以及地一方面的各种可能方式,本发明还提供一种对应锁管理装置,具有想对应的效果。
第三方面,提供一种详细系统,包括锁服务器、第一存储阵列以及第二存储阵列。
第一存储阵列,用于接收写数据请求,所述写数据请求携带待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置,然后发送加锁请求给锁服务器,所述加锁请求携带加锁命令、所述待写数据以及所述写地址。所述锁服务器,用于接收所述加锁请求,如果检测到所述写地址的写锁权限已经被第二存储阵列占用,则向所述第二存储阵列发送锁召回请求,所述锁召回请求用于召回被所述第二存储阵列占用的写锁权限,其中,所述锁召回请求中进一步携带有待写数据以及所述写地址。所述第二存储阵列,用于在收到所述锁召回请求后,按照所述写地址将所述待写数据存储在本地的存储器,然后发送锁召回成功消息给所述锁服务器,所述锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,进一步的,所述锁召回成功的信息中携带待写数据写入成功的信息。所述锁服务器,还用于在收到所述锁召回成功消息后,发送锁分配消息给所述第一存储阵列,其中,所述锁分配消息用于给所述第一存储阵列分配其请求的写锁权限,以及还用于描述所述第二存储阵列完成所述待写数据的写入。所述第一存储阵列,还用于在收到所述锁分配消息后,按照所述写地址将所述待写数据存储在本地的存储器。
该方案提供了一种双活系统解决方案,提升了双活系统的效率。换句话说,在锁冲突的情况下,在第一存储阵列和第二存储阵列在相同位置写入相同数据的效率得到提升。
相应的,本发明还另外提供两种写数据方法,分别应用于第一存储阵列的存储控制器、第二存储阵列的存储块存储控制器中,可以执行第一方面以及第一方面各种可能实现方式中,第一存储阵列和第二存储阵列的操作,并具有相应效果。区别在于存储阵列拥有控制器,而对存储控制器而言,存储器可以不在存储控制器的本地。此外,针对这另外提供的两种写数据方法,本发明还提供与之对应的装置。
再者,本发明提供的由第一存储控制器执行的写数据方法以及由第二存储控制器执行的写数据方法可以结合在一起。有两种结合方式,一种是两个方法分别由写数据系统的两个存储控制器执行,以实现对同一个待写数据的在两个存储器的写入。第二种实现方式是,两个方法由同一个存储控制器执行。这个存储控制器在一个待写数据的写入中,扮演第一存储阵列中的控制器的角色,在另外一个待写数据的写入中,扮演第二存储阵列中的控制器的角色。
相应地,本发明还提供了非易失性计算机可读存储介质和计算机程序产品,当本发明提供的存储设备的内存加载非易失性计算机可读存储介质和计算机程序产品中包含的计算机指令,存储设备的中央处理单元(Center Processing Unit,CPU)执行该计算机指令时,分别使存储设备执行本发明第各方面的各种可能实现方案。
附图说明
图1是本发明提供的一种锁管理系统实施例拓扑图。
图2是本发明提供的一种锁管理系统实施例拓扑图。
图3是本发明提供的一种写数据方法实施例结构图。
图4是本发明提供的一种锁管理装置实施例结构图。
图5是本发明提供的一种锁服务器实施例结构图。
图6是本发明提供的一种写数据装置实施例结构图。
图7是本发明提供的一种存储控制器实施例结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
以包括锁服务器、第一存储阵列、第二存储阵列的存储系统为例。现有技术中,第一存储阵列在收到主机的待写数据后,按照待写入的地址,向锁服务器申请锁权限(具体而言,可以是写锁权限)。如果写锁权限此时被第二存储阵列占用(也就是说存在锁冲突),那么锁服务器向第二存储阵列发送锁召回请求,以便在第二存储阵列写完数据后,及时释放占用的写锁权限。
下面的实施例对写数据的过程进行介绍。需要说明的是,对数据进行修改和也属于写数据的一种。
第二存储阵列写完当前数据后,通知锁服务器释放写锁权限,也就是说锁召回成功。锁服务器发送授权消息的方式授权写锁给第一存储阵列,获得写锁后,第一存储阵列在本地写入待写数据,并且通过第一存储控制器与第二存储阵列的存储控制器之间的传输通道,发送待写数据给第二存储阵列,供第二存储阵列写入。在第一存储阵列和第二存储阵列均完成待写数据的写入后,整个数据写入过程完成。
由此可见,如果把第一存储阵列和锁服务器和集成在一起,需要进行以下三次长距离的消息传输:锁服务器发送锁召回请求给第二存储阵列;第二存储阵列释放锁权限给锁服务器;第一存储阵列发送待写数据给第二存储阵列。
简单来说,本发明实施例可以把其中第三个消息,合并到另外两个消息中去。从而减少了数据传输的次数,节约了整个业务的总时间。此外,本发明实施例第二存储控制器可以将从第一存储阵列收到的待写数据与本地缓存中的数据合并后一起存储到非易失性存储介质中,相较于把这两个数据分别存储到非易失性存储介质中,节约了时间。
进一步的,在锁召回的响应流程中,以及锁服务器给第一存储阵列分配锁的流程汇总,同样可以把写数据的响应消息合并进去,从而产生节约时间的效果。锁召回成功消息除了描述第二存储阵列完成所述写锁权限的使用,运行被锁服务器召回,可以携带第二存储阵列完成所述写锁权限的使用的信息;锁服务器发送给第一存储阵列的锁分配消息,除了给所述第一存储阵列分配其请求的写锁权限外,还用于通知第一存储阵列所述第二存储阵列完成所述待写数据的写入。
可以理解,对于消息的合并,合并后的消息只要携带合并前的消息的信息即可。至于消息的命名,以及以何种形式传输相应的信息(例如可以使用报文头传输,也可以使用净荷传输),本申请不做限制。例如,如前所述,锁召回成功消息中携带了两个信息:信息一,所述写锁权允许被召回;信息二:第二存储阵列完成所述写锁权限的使用的信息。虽然该消息的命名是锁召回成功消息,但并不意味着信息一和信息二的主次关系,也不能由此限制二者位于整个消息的哪个位置,也不意味着这是对使用何种字段把二者记录在消息中的限制。
参见附图2,是本发明存储系统20的架构图。如图所示,存储系统20包括第一存储阵列2和第二存储阵列3,主机1和第一存储阵列2的存储控制器21、第二存储阵列3的存储控制器31连接。第一存储阵列2中,还包括第一存储器22和第一存储控制器21连接。第二存储阵列3还包括第二存储器32,第二存储器32和第二存储控制器31连接。此外,锁服务器23和第二存储控制器31连接,例如通过光纤通道连接。可选的,主机1可以和第二存储阵列3的第二存储控制器31连接。第一存储阵列2中还可以进一步包括锁服务器23,和第一存储控制器21连接。
两个存储阵列的数据保持一致性,任一存储阵列写入数据时,另一存储阵列也要写入相同的数据,并且写入的位置相同。例如,所有写入第一存储器22的数据也会被写入第二存储器32,并且写入的地址相同,只有第一存储器22和第二存储器32都写入完成,整个写入过程才结束。
并且第一存储阵列和第二存储阵列对地址空间的划分和使用是一致的。也就说第一存储阵列和第二出存储阵列拥有相同的LUN数量,LUN ID也一一对应, LUN的大小也一一对应。同一个地址范围用于存储相同的数据。因此使用同样的地址可以从两个存储阵列获得相同的数据。任意存储阵列出现故障后,主机可以从另一存储阵列获得需要的数据。
本发明中的存储阵列可以是基于块(block)的存储阵列,例如SAN;还可以是基于对象(object)的存储阵列。为了方便描述,后文以SAN为例进行介绍。
第一存储阵列和第二存储阵列可以是 SAN存储阵列。存储控制器相当于一台计算机,可以接收主机的数据,并发送给存储器进行存储。存储器可以是非易失性的存储介质,例如是硬盘或者固态硬盘,可以持久化的存储数据。
如图2所示,本发明实施例提供一种存储系统20,由第一存储阵列2、第二存储阵列3以及锁服务器23组成,其中锁服务器23可以集成在第一存储阵列2中。在存储系统中,第一存储阵列2和第二存储3之间可以不通信,依靠锁服务器23实现数据的写入,存储系统20中各装置的功能介绍如下。
第一存储阵列2,用于接收写数据请求,所述写数据请求携带待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置,然后发送加锁请求给所述锁服务器23,所述加锁请求携带加锁命令、所述待写数据以及所述写地址。
所述锁服务器23,用于接收所述加锁请求,如果检测到所述写地址的写锁权限已经被第二存储阵列3占用,则向所述第二存储阵列3发送锁召回请求,所述召回请求用于召回被所述第二存储阵列3占用的写锁权限,其中,所述锁召回请求中进一步携带有待写数据以及所述写地址。
所述第二存储阵列3,用于在收到所述锁召回请求后,按照所述写地址将所述待写数据存储在本地的存储器,然后发送锁召回成功消息给所述锁服务器23,所述锁召回成功消息用于描述第二存储阵列3完成所述写锁权限的使用,进一步的,所述锁召回成功的信息中携带待写数据写入成功的信息。
所述锁服务器23,还用于在收到所述锁召回成功消息后,发送锁分配消息给所述第一存储阵列2,其中,所述锁分配消息用于给所述第一存储阵列2分配其请求的写锁权限,以及还用于描述所述第二存储阵列3完成所述待写数据的写入。所述第一存储阵列2,还用于在收到所述锁分配消息后,按照所述写地址将所述待写数据存储在本地的存储器。
下面介绍使用该架构进行数据存储的方法,参见图3。
步骤S31,第一存储控制器接收来自主机的写请求。写请求中携带有待写数据以及写地址。
写请求指示携带的待写数据需要进行存储。待写数据是需要存储到第一存储器和第二存储器的数据。写地址是存储阵列中用于存储待写数据的地址。写地址可以包括LUNID以及地址范围(address range)两部分。LUN ID用于标记是哪一个LUN,而地址范围进一步标记LUN中的具体位置。地址范围例如是一段连续的地址段,地址范围可以有两种描述方式,一种是起始地址和结束地址,例如(0X00001111,0X00011111);另外一种是起始地址和待写数据的长度。
本发明实施例中,以写地址空间作为锁服务器进行权限管理的最小粒度。在其他实施例中,也可以用其他单位作为权限管理的粒度,本实施例不再做详细解释。
步骤S32,第一存储控制器接收到写请求后,向锁服务器发出加锁请求,请求获得对写地址所描述的存储空间的写锁权限。所述加锁请求进一步携带所述待写数据以及所述写地址,所述写地址描述用于存储所述待写数据的位置。加锁请求中还可以携带锁权限信息,用于描述第一存储控制器希望获得的权限,本实施例中锁权限信息描述的是写锁权限。
本实施例中,锁服务器用于管理锁权限,例如执行锁权限的分配、锁冲突检测,以及锁召回等。锁服务器可以是一个独立的服务器;也可以是像图2一样,是位于存储阵列中,和存储控制器通信的硬件或者软件;还可以是集成在存储控制器中的软件或者硬件。和现有技术不同的是,本发明实施例中的锁服务器还用于待写数据的接受和发送,以及相应响应消息的接受和发送。
此外,锁服务器还可以是分布式的架构,也就是由多个锁服务器共同对所有的锁权限进行管理,每个锁服务器管理一部分锁权限。例如,每个存储阵列中拥有一个锁服务器,每个锁服务器拥有一部分地址范围的管理权限。在分布式锁管理的场景下,本发明实施例所说的锁服务器是指拥有所申请地址范围的管理权限的锁服务器。
示例的,如果写请求是对存储阵列中的原数据进行部分更新,那么数据加锁请求可以表示为Lock(LUN ID, range, right, DeltaData)。其中,Lock表示这是一个加锁请求,LUN ID用来标识准备加锁的地址所在的LUN;range用于标识在LUN中用于加锁的地址范围;right描述希望获得的权限(例如可以是写权限);德尔塔数据(DeltaData)是本次申请写权限的待写数据,具体而言,是本次写请求需要更新到存储阵列的数据。加锁请求比写请求多了right这个信息,也就是锁权限信息。
DeltaData可以携带多个数据段,按照包含的数据段的数量,可以把DeltaData划分成多个DeltaItem。每个DeltaItem包括:偏移量(offset)、长度(length)以及内容(content)。其中Content是一段连续的待写数据段,所有content共同组成待写数据;Offset表示Content在Deltadata中的起始位置;长度是DeltaItem中的长度。
可选的,如果待写数据是连续的,加锁请求可以表示为Lock(LUNID, range,right, data)。数据data是一段连续的数据,因此data不用划分成DeltaItem。使用这种加锁请求有两种可能,一种可能是整个待写数据都是新的,在第一存储阵列中没有存储过;第二种可能是部分数据(相当于Dealtadata)是新的,其余部分的数据从存储阵列中读出来,从而组成一个地址连续的数据,地址连续的数据的长度和range描述的长度相同。
步骤S33,锁服务器接收到第一存储控制器的加锁请求后,检查所述写地址是否已经被其他存储控制器加锁。
如果没有,则给第一存储控制器授权,也就是按照加锁请求所请求的地址范围,分配第一存储控制器独占写数据的权限。接着,第一存储控制器在第一存储器写入待写数据;以及把待写数据发送给第二存储控制器,由第二存储控制器存储到第二存储器中。在第一存储阵列在本地写入待写数据成功,以及收到第二存储阵列的待写数据写入成功的响应消息后,整个写入过程完成,结束本流程。
如果有,假设拥有锁权限的是第二存储阵列,则锁服务器向第二存储控制器发送锁召回请求。所述锁召回请求用于召回所述写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,用于指示所述第二存储阵列按照所述写地址存储待写数据。
在本实施例的锁召回请求中,携带有加锁请求中的写地址和待写数据,是一种增强型的锁召回请求。因此召回请求中实际上携带了两个信息,一个是召回写锁权限的请求信息,还有一个是写地址和待写数据。传统的召回请求中,只携带了召回写锁权限的请求这一信息。
步骤S34,第二存储控制器接收到锁召回请求后,对锁召回请求进行处理。
对锁召回请求的处理包括两部分,第一部分是把锁召回请求中携带的待写数据写入本地的第二存储控制器;第二部分是返回锁召回成功消息以及待写数据写入成功的消息给锁服务器。锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,通知所服务器第二存储阵列不再需要使用写锁权限,写锁权限可以被锁服务器收回。
对于第一部分,第二存储控制器按照写地址把待写数据写入第二存储器。
如果在第二存储器中,除了所述待写数据之外,有其他数据需要写入第二存储器,那么这两个数据可以分别写入,先写入另外的数据,再写入所述待写数据。
由步骤S33可知,第一存储阵列和第二存储阵列对同一个写地址存储写入权限的冲突。因此待写数据和其他数据位于同一个地址范围。因此本申请它们可以进行合并,合并后的数据再写入第二存储器,这样可以进一步提升效率。由于待写数据写入存储系统的时间点,比另外的待写数据写入存储系统的时间点跟更晚,因此前者是更加新的数据。因此,在合并时,如果所述另外的待写数据和所述待写数据有地址重合的部分,则对于地址重合的部分,以属于所述待写数据的内容进行存储;换句话说,对于地址重合的部分,放弃属于另外的待写数据的内容。
对于第二部分,在第二存储控制器完成上述写入操作后,生成锁召回成功消息以及待写数据写入成功的消息,并把这两个消息发送给锁服务器。为了节约流程,这两个消息可以合并在一起进行发送,也就是在锁召回成功的信息中携带待写数据写入成功的信息。新的锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,以及还用于描述所述第二存储阵列完成所述待写数据的写入。
对于存储控制器而言,写数据成功有两种判断方式,第一种是,存储控制器把所有需要写入的数据发送完毕;第二种是,存储器把收到的数据存储完毕,存储控制器收到存储器存储完毕的响应消息。
步骤S35,锁服务器把收到锁召回成功消息转发给第一存储控制器。或者是发送第二存储阵列写完成消息给第一存储控制器,以及发送分配写锁权限的消息给第一存储阵列,分配写锁权限的消息用于给第一存储控制器分配写地址的写锁权限。这两个消息可以合并为一个,也就是在分配写锁权限消息中,携带第二存储阵列写完成消息,合并后的新锁分配消息用于给所述第一存储阵列分配其请求的写锁权限,以及还用于描述所述第二存储阵列完成所述待写数据的写入。或者是发送写数据指令给所述第一存储控制器。
步骤S36,第一存储控制器收到步骤S35中锁服务器发送的消息后,按照由LUN ID和range确定的写地址,把待写数据写入第一存储器。然后第一存储控制器向主机发送写入完成的响应消息,以通知主机整个写入待写数据的过程结束,此时,在第一存储阵列的存储器和第二存储阵列的存储器中,都存储了所述待写数据,并且存储位置相同。
需要说明的是,附图2以及上述流程中,锁服务器位于第一存储阵列,在召回请求中额外携带了写地址和待写数据,相当于两个信息一次发送,减少了锁服务器和第二存储阵列的通信次数,相应的响应消息也可以进行了合并;因此节约了时间。此外,也减少了两个存储控制器和锁服务器的通信次数。
由于第一存储阵列和锁服务器之间的消息和响应消息也存在合并。因此,在其他实施例中,如果锁服务器位于两个存储阵列之间,或者锁服务器位于第二存储阵列之间,同样可以节约时间。
参见附图4,本发明实施例还提供一种锁管理装置4,锁管理装置4可以执行上述方法中提及的锁服务器的步骤,可以是锁服务器或者运行在锁服务器中的软件。锁管理装置4和第一存储阵列、第二存储阵列通信。锁管理装置4包括:收发模块41,用于和所述第一存储阵列,第二存储阵列通信;以及锁管理模块42,和所述收发模块41通信,具体用于:在通过所述收发模块41接收到第一存储阵列的加锁请求后,生成锁召回请求并通过所述收发模块41向所述第二存储阵列发送所述锁召回请求,以及在通过所述收发模块41从所述第二存储阵列接收到锁召回成功消息后,生成锁分配消息并通过所述收发模块41发送所述锁分配消息给所述第一存储阵列。
所述加锁请求携带加锁命令、待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置;所述锁召回请求用于召回被所述第二存储阵列占用的写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,所述锁召回请求还用于指示所述第二存储阵列按照所述写地址存储待写数据;所述锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,以及还用于描述所述第二存储阵列完成所述待写数据的写入;所述锁分配消息用于给所述第一存储阵列分配其请求的写锁权限,以及还用于描述所述第二存储阵列完成所述待写数据的写入。
所述写地址是逻辑单元号LUN ID和LUN内的地址范围。
由于锁管理装置4以及其内部模块的功能,在方法实施例中已经有详细介绍,此处不再详述。
参见图5,本发明另一实施例提供一种锁服务器。锁服务器5包括接口51和处理器52,所述接口51和第一存储阵列、第二存储阵列连接。所服务器5可以执行上述方法中提及的锁服务器的功能。
所述处理器52,和所述接口51通信,用于:在通过所述接口51接收到第一存储阵列的加锁请求后,生成第二存储阵列发送锁召回请求并通过所述接口51向所述第二存储阵列发送锁召回请求,以及在通过所述接口51从第二存储阵列接收锁召回成功消息后,生成锁分配消息并通过所述接口51发送所述锁分配消息给所述第一存储阵列。
参见图6,本发明实施例提供一种写数据装置,是存储控制器或者运行在控制器中的软件,用于前述方法实施例中第一存储阵列中的控制器功能。写数据装置6和存储器、锁服务器通信,写数据装置6包括收发模块61以及处理模块62。
收发模块61,用于接收主机的写数据请求,所述写数据请求携带待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置。
处理模块62,和所述收发模块61通信,用于在所述收发模块61收到所述写数据请求后,生成加锁请求并通过所述收发模块61发送给锁服务器,所述加锁请求携带加锁命令、所述待写数据以及所述写地址。
所述处理模块62还用于,在通过所述收发模块61收到所述锁服务器发送的锁分配消息后,指令所述存储器按照所述写地址存储所述待写数据其中,所述锁分配消息用于给所述第一存储阵列分配其请求的写锁权限,以及还用于描述另一存储控制器按照所述写地址完成所述待写数据的写入。
所述处理模块62还用于,在写入所述存储器完成后,通过所述收发模块61向所述主机发送写数据完成消息。
由于具有前述方法实施例中第一存储阵列中的控制器功能,并可以执行相应步骤,因此可以参考前述方法实施例。此处不再详述。
参见图7,本发明还提供一种存储控制器实施例,和存储器的组合,具有前述方法实施例中第一存储阵列中控制器的功能,并可执行相应步骤。其功能和可以执行的操作参见方法实施例。存储控制器7可以和存储器、锁服务器连接。所述存储控制器7包括接口71和处理器72。
接口71,用于接收主机的写数据请求,所述写数据请求携带待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置。
处理器72,和所述收发模块通信,用于在通过所述收发模块收到所述写数据请求后,生成加锁请求并通过所述接口71发送给锁服务器,所述加锁请求携带加锁命令、所述待写数据以及所述写地址。
处理器72还用于,在通过所述接口71收到所述锁服务器发送的锁分配消息后,指令所述存储器按照所述写地址存储所述待写数据其中,所述锁分配消息用于给所述第一存储控制器分配其请求的写锁权限,以及还用于描述另一存储控制器按照所述写地址完成所述待写数据的写入。
处理器72还用于,在写入所述存储器完成后,通过所述接口71向所述主机发送写数据完成消息。
本发明实施例提供另外一种写数据装置,其结构和前一写数据装置的结构相同,因此可以参考附图6。写数据装置6是存储控制器或者运行在控制器中的软件,用于前述方法实施例中第二存储阵列中的控制器功能。实际上,因为在不同的业务中,同一个写数据装置可以既可以作为第一存储控制器的功能,也可以实现第二存储控制器的功能,因此本实施例的写数据装置和前面实施例提到的写数据装置可以是合并形成同一个写数据装置。
本实施例中,写数据装置6占用写锁权限,所述写数据装置和存储器、锁服务器通信,写数据装置6包括:
收发模块61,用于接收锁服务器发送的锁召回请求,所述锁召回请求用于召回所述写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址。处理模块62,用于指令所述存储器按照所述写地址存储所述待写数据,以及生成锁召回成功消息,所述锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,进一步的,所述锁召回成功的信息中携带待写数据写入成功的信息。所述收发模块61,还用于发送所述锁召回成功消息给所述锁服务器。
本发明还提供一种存储控制器实施例,其结构和前一存储控制器实施例的结构相同,因此可以同样可以参考附图7。
本实施例中的存储控制器7,和存储器的组合,相当于前述方法实施例中第二存储阵列中的存储控制器,其功能和可以执行的操作参见方法实施例。
存储控制器7占用写锁权限,所述存储控制器和存储器、锁服务器连接。
接口71,用于接收锁服务器发送的锁召回请求,所述锁召回请求用于召回所述写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址。处理器72,和所述接口71连接,用于指令所述存储器按照所述写地址存储所述待写数据,以及生成锁召回成功消息,所述锁召回成功消息用于描述第二存储阵列完成所述写锁权限的使用,进一步的,所述锁召回成功的信息中携带待写数据写入成功的信息。所述接口71,还用于发送锁召回成功消息给所述锁服务器。
锁服务器由处理器和接口组成,接口和第一存储控制器、第二存储控制器连接。上述锁服务器锁执行的操作,具体处理器执行。还可以包括内存,锁服务器通过由处理器运行内存中的程序,执行上述锁服务器的操作。
本发明上述各实施例中,存储阵列有两种理解。第一种理解是存储控制器和存储器的组合,本地的存储器是由存储控制器管理的存储器;一种是存储控制器而不包括存储器,本地的存储器是由存储控制器管理的存储器。
本发明各实施例还可以用于数据的删除,区别在于不需要发送待写数据,提供删除地址即可。
本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例 (包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、 设备或者装置,或者前述的任意适当组合,如随机存取存储器 (RAM)、只读存储器 (ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种写数据方法,应用在锁服务器中,其特征在于,所述锁服务器和第一存储阵列、第二存储阵列连接,所述第一存储阵列和所述第二存储阵列都向主机提供存储服务,该方法包括:
接收第一存储阵列的加锁请求,所述加锁请求携带加锁命令、待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置;
如果检测到所述写地址的写锁权限已经被第二存储阵列占用,则所述锁服务器向所述第二存储阵列发送锁召回请求,所述锁召回请求用于召回所述写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,用于指示所述第二存储阵列按照所述写地址存储待写数据。
2.根据权利要求1所述的写数据方法,进一步包括:
收到所述第二存储阵列发送的锁召回成功消息后,发送锁分配消息给所述第一存储阵列,其中,所述锁分配消息用于给所述第一存储阵列分配其请求的写锁权限。
3.根据权利要求2所述的写数据方法,其中:
所述锁服务器是软件。
4.根据权利要求1-3任一项所述的写数据方法,其中:
所述锁服务器与所述第一存储阵列集成在一起。
5.根据权利要求1-3任一项所述的写数据方法,其中:
所述锁服务器与所述第二存储阵列集成在一起。
6.根据权利要求2所述的写数据方法,该方法进一步包括:
所述第二存储阵列在收到所述锁召回请求后,按照所述写地址将所述待写数据存储在本地的存储器,然后发送所述锁召回成功消息;
所述第一存储阵列在收到所述锁分配消息后,按照所述写地址将所述待写数据存储在本地的存储器。
7.一种锁管理装置,其特征在于,锁管理装置和第一存储阵列、第二存储阵列通信,所述第一存储 阵列和所述第二存储 阵列都向主机提供存储服务,该装置包括:
收发模块,用于和所述第一存储阵列,第二存储阵列通信;
锁管理模块,和所述收发模块通信,具体用于:在通过所述收发模块接收到第一存储阵列的加锁请求后,生成锁召回请求并通过所述收发模块向所述第二存储阵列发送所述锁召回请求,其中:
所述加锁请求携带加锁命令、待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置;
所述锁召回请求用于召回被所述第二存储阵列占用的写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,所述锁召回请求还用于指示所述第二存储阵列按照所述写地址存储待写数据。
8.根据权利要求7所述的锁管理装置,其中:
所述管理装置是软件。
9.根据权利要求7或8任一项所述的锁管理装置,其中:
所述锁管理装置集成于所述第一存储阵列之中。
10.根据权利要求7或8任一项所述的锁管理装置,其中:
所述锁管理装置与所述第二存储阵列集成在一起。
11.一种存储系统,其特征在于,包括:
第一存储阵列,用于接收主机发送的写数据请求,所述写数据请求携带待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置,然后发送加锁请求给锁服务器,所述加锁请求携带加锁命令、所述待写数据以及所述写地址;
所述锁服务器,用于接收所述加锁请求,如果检测到所述写地址的写锁权限已经被第二存储阵列占用,则向所述第二存储阵列发送锁召回请求,所述锁召回请求用于召回被所述第二存储阵列占用的写锁权限,其中,所述锁召回请求中进一步携带有待写数据以及所述写地址,所述第一存储 阵列和所述第二存储 阵列都向所述主机提供存储服务;
所述第二存储阵列,用于在收到所述锁召回请求后,按照所述写地址将所述待写数据存储在本地的存储器,然后发送锁召回成功消息给所述锁服务器。
12.根据权利要求11所述的存储系统,其中:
所述锁服务器与所述第一存储阵列集成在一起;或者
所述锁服务器与所述第二存储阵列集成在一起。
13.一种锁服务器,锁服务器包括处理器和接口,所述接口和第一存储阵列、第二存储阵列连接,所述第一存储 阵列和所述第二存储 阵列都向主机提供存储服务,其特征在于:
所述处理器,和所述接口通信,用于:在通过所述接口接收到第一存储阵列的加锁请求后,如果写地址的写锁权限已经被第二存储阵列占用,通过所述接口向所述第二存储阵列发送锁召回请求,其中,
所述加锁请求携带加锁命令、待写数据以及写地址,所述写地址描述用于存储所述待写数据的位置;
所述锁召回请求用于召回被所述第二存储阵列占用的写锁权限,其中,所述锁召回请求进一步携带有待写数据以及所述写地址,所述锁召回请求还用于指示所述第二存储阵列按照所述写地址存储待写数据。
CN201811620334.3A 2015-12-31 2015-12-31 写数据方法和装置以及系统 Active CN110134327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811620334.3A CN110134327B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2015/100249 WO2017113351A1 (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统
CN201811620334.3A CN110134327B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统
CN201580004168.2A CN107209733B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580004168.2A Division CN107209733B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统

Publications (2)

Publication Number Publication Date
CN110134327A CN110134327A (zh) 2019-08-16
CN110134327B true CN110134327B (zh) 2022-03-29

Family

ID=59219092

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580004168.2A Active CN107209733B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统
CN201811620334.3A Active CN110134327B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580004168.2A Active CN107209733B (zh) 2015-12-31 2015-12-31 写数据方法和装置以及系统

Country Status (8)

Country Link
US (3) US10776285B2 (zh)
EP (2) EP3217248B1 (zh)
KR (1) KR101903536B1 (zh)
CN (2) CN107209733B (zh)
AU (1) AU2015410318C1 (zh)
BR (1) BR112017006639B1 (zh)
CA (1) CA2963365C (zh)
WO (1) WO2017113351A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102529710B1 (ko) * 2018-02-19 2023-05-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN108958984B (zh) * 2018-08-13 2022-02-11 深圳市证通电子股份有限公司 基于ceph的双活同步在线热备方法
CN110968563B (zh) * 2018-09-29 2023-11-17 华为技术有限公司 一种数据存储方法、元数据服务器及客户端
KR102188052B1 (ko) * 2018-11-15 2020-12-07 오스템임플란트 주식회사 정보 잠금 방법 및 이를 수행하는 치과용 업무 통합관리 장치
CN109815227B (zh) * 2018-12-13 2024-04-16 平安科技(深圳)有限公司 数据锁管理方法、装置、计算机设备及存储介质
CN109739443B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 一种ssd混合读写的方法、装置、设备及存储介质
CN110321357B (zh) * 2019-06-14 2021-06-29 北京奇艺世纪科技有限公司 一种读写控制方法、装置及服务器
US20210073050A1 (en) * 2019-09-11 2021-03-11 International Business Machines Corporation Re-dispatching tasks on associated processors to reduce lock contention
CN110888603B (zh) * 2019-11-27 2024-01-16 深圳前海环融联易信息科技服务有限公司 高并发数据写入方法、装置、计算机设备及存储介质
CN111405015B (zh) * 2020-03-09 2022-09-30 中国建设银行股份有限公司 一种数据处理方法、装置、设备及存储介质
US11334293B1 (en) * 2021-01-28 2022-05-17 EMC IP Holding Company LLC Facilitating the implementation of cluster counters on lock value blocks in distributed file systems
CN113703674B (zh) * 2021-07-30 2023-08-11 苏州浪潮智能科技有限公司 一种存储系统的写数据方法及相关装置
CN113885806A (zh) * 2021-10-21 2022-01-04 郑州云海信息技术有限公司 一种盘阵的写入控制方法、装置以及存储介质
CN115951844B (zh) * 2023-03-13 2023-06-06 浪潮电子信息产业股份有限公司 分布式文件系统的文件锁管理方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103827843A (zh) * 2013-11-28 2014-05-28 华为技术有限公司 一种写数据方法、装置和系统
CN104536834A (zh) * 2014-11-26 2015-04-22 华为技术有限公司 一种授权锁权限的方法和分布式锁管理器
CN104636088A (zh) * 2015-02-17 2015-05-20 华为技术有限公司 一种将数据写入数据服务器的方法及存储系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457098B1 (en) * 1998-12-23 2002-09-24 Lsi Logic Corporation Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6499058B1 (en) 1999-09-09 2002-12-24 Motokazu Hozumi File shared apparatus and its method file processing apparatus and its method recording medium in which file shared program is recorded and recording medium in which file processing program is recorded
JP3944449B2 (ja) * 2002-12-19 2007-07-11 株式会社日立製作所 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US20050155011A1 (en) * 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
US8543781B2 (en) * 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US7096325B2 (en) 2004-03-29 2006-08-22 Hitachi, Ltd. Method and apparatus for multistage volume locking
US7751341B2 (en) * 2004-10-05 2010-07-06 Cisco Technology, Inc. Message distribution across fibre channel fabrics
GB0428108D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
KR100825721B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 객체 기반 스토리지 시스템에서 사용자 파일 관리자 내의시간 기반 캐쉬 일관성 유지 시스템 및 방법
CN101252603B (zh) * 2008-04-11 2011-03-30 清华大学 基于存储区域网络san的集群分布式锁管理方法
US9626859B2 (en) * 2012-04-11 2017-04-18 Digilock Asia Limited Electronic locking systems, methods, and apparatus
US9176902B1 (en) * 2012-06-27 2015-11-03 Emc Corporation Data migration techniques
US10318171B1 (en) * 2012-06-29 2019-06-11 EMC IP Holding Company LLC Accessing fast memory in a data storage array
CN103392167B (zh) * 2012-12-28 2016-08-03 华为技术有限公司 分布式存储系统的缓存方法、节点
CN104954392A (zh) * 2014-03-24 2015-09-30 中国移动通信集团河北有限公司 一种云盘及其实现方法、装置
CN106133676B (zh) * 2014-04-21 2019-05-17 株式会社日立制作所 存储系统
US9805056B2 (en) * 2014-06-24 2017-10-31 Panzura, Inc. Synchronizing file updates between two cloud controllers of a distributed filesystem
US9600949B2 (en) * 2014-07-30 2017-03-21 Master Lock Company Llc Wireless key management for authentication
US9959062B1 (en) * 2016-02-05 2018-05-01 Datadirect Networks, Inc. Low latency and reduced overhead data storage system and method for sharing multiple storage devices by high performance computing architectures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103827843A (zh) * 2013-11-28 2014-05-28 华为技术有限公司 一种写数据方法、装置和系统
CN104536834A (zh) * 2014-11-26 2015-04-22 华为技术有限公司 一种授权锁权限的方法和分布式锁管理器
CN104636088A (zh) * 2015-02-17 2015-05-20 华为技术有限公司 一种将数据写入数据服务器的方法及存储系统

Also Published As

Publication number Publication date
EP3217248A1 (en) 2017-09-13
CN107209733B (zh) 2019-01-18
US20180260340A1 (en) 2018-09-13
EP3217248A4 (en) 2017-12-27
AU2015410318B2 (en) 2018-11-08
KR101903536B1 (ko) 2018-10-02
CA2963365C (en) 2019-02-05
CN107209733A (zh) 2017-09-26
EP3553647B1 (en) 2023-10-25
KR20170095184A (ko) 2017-08-22
EP3553647A1 (en) 2019-10-16
US11366768B2 (en) 2022-06-21
AU2015410318C1 (en) 2019-01-31
AU2015410318A1 (en) 2017-07-20
CA2963365A1 (en) 2017-06-30
WO2017113351A1 (zh) 2017-07-06
US20220309007A1 (en) 2022-09-29
CN110134327A (zh) 2019-08-16
US10776285B2 (en) 2020-09-15
EP3217248B1 (en) 2019-04-03
BR112017006639B1 (pt) 2022-12-13
US20200394142A1 (en) 2020-12-17
BR112017006639A2 (pt) 2017-12-19

Similar Documents

Publication Publication Date Title
CN110134327B (zh) 写数据方法和装置以及系统
CN109542611B (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
US9411685B2 (en) Parity chunk operating method and data server apparatus for supporting the same in distributed raid system
CN106133676B (zh) 存储系统
CN109684414B (zh) 区块数据的同步方法、装置、设备及存储介质
CN103827843B (zh) 一种写数据方法、装置和系统
CN107466456B (zh) 加锁请求的处理方法及服务器
WO2017216887A1 (ja) 情報処理システム
CN108363641B (zh) 一种主备机数据传递方法、控制节点以及数据库系统
CN104731635B (zh) 一种虚拟机访问控制方法,及虚拟机访问控制系统
CN103179053A (zh) 用于提供数据管理服务的系统和方法
CN112527186A (zh) 一种存储系统、存储节点和数据存储方法
CN107329704A (zh) 一种缓存镜像方法及控制器
JPWO2017145272A1 (ja) データ移行方法及び計算機システム
US20120271925A1 (en) Virtual Address for Virtual Port
CN109981767A (zh) Hana数据库访问方法、装置、系统、设备及存储介质
CN112714910B (zh) 分布式存储系统及计算机程序产品
CN105591749A (zh) 一种授权处理方法、装置以及系统
US10678701B2 (en) Direct read control in a data storage system
CN109213621B (zh) 一种数据处理方法及数据处理设备
JP6172294B2 (ja) トランザクション分散処理装置、方法、システム、および、記憶媒体
US11036424B2 (en) Garbage collection in a distributed storage system
CN116405318A (zh) 基于服务网格的设备访问方法及设备
CN117539398A (zh) 一种卷映射的管理方法、装置、设备及介质
CN114741342A (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