CN110442558B - 数据处理方法、分片服务器、存储介质及装置 - Google Patents
数据处理方法、分片服务器、存储介质及装置 Download PDFInfo
- Publication number
- CN110442558B CN110442558B CN201910710884.2A CN201910710884A CN110442558B CN 110442558 B CN110442558 B CN 110442558B CN 201910710884 A CN201910710884 A CN 201910710884A CN 110442558 B CN110442558 B CN 110442558B
- Authority
- CN
- China
- Prior art keywords
- fragment
- operated
- slice
- file
- handle
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 239000012634 fragment Substances 0.000 claims abstract description 298
- 238000005192 partition Methods 0.000 claims abstract description 142
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000007246 mechanism Effects 0.000 abstract description 27
- 238000004904 shortening Methods 0.000 abstract description 2
- 238000002955 isolation Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分片存储技术领域,公开了一种数据处理方法、分片服务器、存储介质及装置。本发明中若接收到文件分片操作指令,根据文件分片操作指令确定目标文件中的待操作分片;判断待操作分片是否为目标文件中的首分片,首分片设置有排它锁;若待操作分片不为首分片,为待操作分片设置排它锁,并按照文件分片操作指令对待操作分片进行处理。明显地,本发明将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
Description
技术领域
本发明涉及分片存储技术领域,尤其涉及数据处理方法、分片服务器、存储介质及装置。
背景技术
在虚拟机场景下,主机A中可启用有虚拟机(Virtual Machine,VM),可将该虚拟机记为VM1,出于对集群高可用性(High Available,HA)的考量,可在另一主机C上拉起一个新的虚拟机,可将新的虚拟机记为VM1'。如此,就会存在着两个虚拟机实例。
在网络环境变更的影响下,比如,可能主机A与主机C两者之间先存在着网络隔离,此刻不会出现冲突;接着,网络隔离可能被恢复,而在此刻两个虚拟机实例可能会出现同时对主机A(或者主机C)内的文件进行数据读写的状况,这种多实例的读写操作易造成数据损坏。
为了防止该种数据损坏,可引入排它锁机制,比如,虚拟机VM1可对主机A内的文件进行排它锁加锁,加锁成功后,将在主机A内的文件中保存一个拥有者(owner)信息,仅拥有者信息中标记的虚拟机可读写该文件,如此可防止多实例的读写操作,从而防止数据损坏。
虽然,该类排它锁机制可防止上述的数据损坏,但是,若再结合到全局分片场景下,考虑到一个文件将被切分为多个分片,对所有分片进行排它锁设置耗时较长。
所以,可认为,当应用排它锁机制来防止数据损坏时存在着应用过程耗时较长的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供数据处理方法、分片服务器、存储介质及装置,旨在解决当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括以下步骤:
若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
优选地,所述判断所述待操作分片是否为所述目标文件中的首分片之后,所述数据处理方法还包括:
若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
优选地,所述若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片之前,所述数据处理方法还包括:
若接收到文件打开指令,根据所述文件打开指令确定目标文件;
对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写;
所述若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理,具体包括:
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
优选地,所述若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理,具体包括:
若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;
若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;
获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;
通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
优选地,所述若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁,具体包括:
若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;
若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
所述若所述首分片设置有排它锁,为所述待操作分片设置排它锁之后,所述数据处理方法还包括:
若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;
若所述首分片中的排它锁处于正常状态,执行所述获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中的步骤。
优选地,所述若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄之后,所述数据处理方法还包括:
若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
优选地,所述若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄,具体包括:
若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;
根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
此外,为实现上述目的,本发明还提出一种分片服务器,所述分片服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如上文所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种数据处理装置,所述数据处理装置包括:
分片确定模块,用于若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
首分片识别模块,用于判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;
第一指令处理模块,用于若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
本发明中若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。明显地,本发明将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的分片服务器结构示意图;
图2为本发明实施例排它锁机制的一类实施场景;
图3为本发明实施例数据处理方法流程示意图;
图4为本发明实施例数据处理方法流程示意图;
图5为本发明实施例数据处理方法流程示意图;
图6为本发明实施例数据处理装置结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的分片服务器结构示意图。
如图1所示,该分片服务器可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口以及无线接口,而用户接口1003的有线接口在本发明中可为通用串行总线(Universal Serial Bus,USB)接口。网络接口1004可选的可以包括标准的有线接口以及无线接口(如WI-FI接口)。存储器1005可以是高速随机存取存储器(Random Access Memory,RAM);也可以是稳定的存储器,比如,非易失存储器(Non-volatile Memory),具体可为,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对分片服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的分片服务器中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接外设;所述分片服务器通过处理器1001调用存储器1005中存储的数据处理程序,并执行以下操作:
若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若接收到文件打开指令,根据所述文件打开指令确定目标文件;
对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写;
相应地,还执行以下操作:
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;
若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;
获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;
通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;
若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
相应地,还执行以下操作:
若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;
若所述首分片中的排它锁处于正常状态,执行所述获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中的步骤。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;
根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
本实施例中若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。明显地,本实施例将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
基于上述硬件结构,提出本发明数据处理方法的实施例。
参照图3,图3为本发明实施例数据处理方法流程示意图。
在本实施例中,所述数据处理方法包括以下步骤:
步骤S10:若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片。
可以理解的是,就应用排它锁机制来防止数据损坏的常规应用方式而言,具体描述可参见图2,主机A中可启用有虚拟机VM1,主机A中的文件可记为rep0;还另外存在着主机B与主机C,主机B中的文件可记为rep1,主机C中的文件可记为rep2。通过部署排它锁机制,所有主机的文件内的owner信息均为虚拟机VM1对应的owner信息,可简记为A,即仅虚拟机VM1有权访问所有主机的文件。当出现网络隔离的状况时,即主机A与其他主机之间存在着网络隔离,基于HA可在主机C上拉起一个新的虚拟机VM1',此时也将部署排它锁机制,网络隔离另一侧的rep1与rep2内的owner信息将被改写为虚拟机VM1'对应的owner信息,可简记为C,即仅虚拟机VM1'有权访问主机B与主机C的文件,而虚拟机VM1仍有权访问主机A的文件。
其中,图2中虚拟机与文件之间连接的实线表示有权访问,虚线表示无法访问。
在网络恢复后,仍保持着网络隔离状况下的owner信息,明显地,不会出现多实例读写同一文件的状况,可防止数据损坏。
应当理解的是,虽然上述常规应用方式可有效防止数据损坏,但是,若再结合到全局分片场景下,对所有分片进行排它锁设置耗时较长,毕竟,一个文件的分片最多可有65536个,该常规应用方式存在着一定的缺陷。
可以理解的是,通过对某个文件进行全局分片可获得多个分片,每个分片可分布在集群的任意一个主机中,从而使得文件可使用整个集群的存储空间,这也是全局分片操作的目的。
在具体实现中,可优化排它锁机制的部署方式来缩短应用过程的耗时,比如,考虑到存在着多个分片,可先仅对首分片部署排它锁,即首分片中将部署有owner信息,不部署文件中的其他分片。
其中,首分片为文件中的一特殊分片,该分片涉及到扩展属性与文件属性的定义等;owner信息由所在主机的主机名与进程标识组成,主机名可记为hostname。
步骤S20:判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁。
在具体实现中,在接收到针对某一分片的文件分片操作指令,可先确定该文件分片操作指令指向的待操作分片。
步骤S30:若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
可以理解的是,若此刻欲操作的待操作分片不是已设置有排它锁的首分片,而是目标文件中的其他分片,将先对该待操作分片设置排它锁,再实施该文件分片操作指令。这是考虑到,仅对首分片加排它锁存在着缺陷,仍无法保证文件内的数据不受损坏,因为非首分片的分片都没有加排它锁,不受排它锁保护,仍可被多侧读取数据,存在着数据损坏的风险性。但是,在应用该文件分片操作指令之前,先实施排它锁的部署操作,可规避该风险性。
其中,文件分片操作指令可为针对分片内数据的读取操作或者写入操作等,文件分片操作指令就是文件IO。
应当理解的是,本实施例将先部署首分片侧的排它锁,当存在操作其他分片的需求时,即需要使用到其他分片中的某一分片时,再实时地为该分片部署排它锁。
本实施例中若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。明显地,本实施例将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
参照图4,图4为本发明实施例数据处理方法流程示意图,基于上述图3所示的一实施例,提出本发明数据处理方法的另一实施例。
在本实施例中,所述步骤S20之后,所述数据处理方法还包括:
若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
可以理解的是,鉴于首分片已设置有排它锁,若仅对首分片内的分片数据进行数据访问,不会存在数据损坏的风险,故而可直接处理该文件分片操作指令。
进一步地,所述步骤S10之前,所述数据处理方法还包括:
步骤S101:若接收到文件打开指令,根据所述文件打开指令确定目标文件。
在具体实现中,文件打开指令特指OPEN操作,若OPEN操作指向X文件,在实施该OPEN操作后,将获取对于该X文件的访问控制权。换言之,在对X文件实施OPEN操作后,才可对X文件进行后续的具体操作,比如,后续的具体操作可为本发明数据处理方法第一实施例中描述的文件分片操作指令。但是,应用到全局分片的场景下,鉴于文件可划分为大量的分片,若在获取到针对X文件的OPEN操作时,对X文件划分后的所有分片实施OPEN操作,将耗时较长。为了缩短耗时,可先仅对首分片实施OPEN操作。
步骤S102:对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写。
应当理解的是,在对首分片实施OPEN操作后,可正常接收并响应对于首分片的文件分片操作指令。
相应地,所述步骤S30,具体包括:
步骤S301:若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
可以理解的是,鉴于除首分片外的其他分片还未实施OPEN操作,在接收到针对其他分片的文件分片操作指令时,可先额外对其他分片实施打开操作,再处理该文件分片操作指令。
本实施例中在处理针对某个文件的文件打开指令时,鉴于首分片的功能特殊性,可先仅打开首分片;在实际应用到其他分片时,再实时地打开其他分片。如此可以大大减少打开操作的耗时,提高运行效率。
参照图5,图5为本发明实施例数据处理方法流程示意图,基于上述图3所示的一实施例,提出本发明数据处理方法的另一实施例。
在本实施例中,所述步骤S30,具体包括:
步骤S302:若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄。
可以理解的是,当应用常规的排它锁机制来防止数据损坏时,不仅会因为对所有分片一次性地进行排它锁加锁而造成耗时较长,也会因为对所有分片一次性地进行打开操作而造成耗时较长。同时,还将一次性地获取所有分片的分片句柄,这大大地增加了内存消耗。
在具体实现中,为了减少该内存消耗,毕竟,部分分片在很长一段时间内都不会被访问到,可不必在一开始就获取所有的分片句柄。
其中,分片句柄是针对分片的文件句柄,将通过使用该文件句柄向对应的分片下发文件分片操作指令,从而在分片处实施该文件分片操作指令描述的行为,比如,读取分片中的数据或者在分片中写入部分数据。
应当理解的是,为了减少该内存消耗,可在用于存储分片句柄的预设句柄缓存中先仅存储首分片对应的分片句柄,或者,待操作分片中的少量分片对应的分片句柄,少量分片对应的分片句柄中包括首分片对应的分片句柄,后续可不断向缓存中添加新的分片句柄。
步骤S303:若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁。
可以理解的是,比如,若预设句柄缓存中先仅存储有首分片对应的分片句柄,待操作分片可记为分片M,可在对分片M部署排它锁后,再将分片M的分片句柄保存至预设句柄缓存中,也就标志着预设句柄缓存内已存储着的分片句柄对应的分片均为已部署排它锁的分片。
步骤S304:获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中。
步骤S305:通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
应当理解的是,在生成分片M的分片句柄,并将分片M的分片句柄保存至预设句柄缓存后,可基于预设句柄缓存内的分片M的分片句柄下发该文件分片操作指令。
进一步地,所述步骤S303,具体包括:
若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;
若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
所述若所述首分片设置有排它锁,为所述待操作分片设置排它锁之后,所述数据处理方法还包括:
若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;
若所述首分片中的排它锁处于正常状态,执行步骤S304。
可以理解的是,若预设句柄缓存内不存在分片M的分片句柄,后续的正式操作流程可为,先检测首分片是否确实设置有排它锁,若设置有排它锁,则为待操作分片设置排它锁。若未设置有排它锁,考虑到首分片的特殊性,为了防止数据冲突,将不执行后续处理。
应当理解的是,在待操作分片设置排它锁失败时,可返回失败结果。在待操作分片设置排它锁成功时,将继续检测首分片中的排它锁是否处于正常状态,如此,是为了判断首分片的排它锁是否仍然有效。具体而言,若首分片内的owner信息发生变化,则可认为首分片的排它锁失效,即首分片中的排它锁不处于正常状态,这意味着首分片内的文件被打开过,继续下发指令会导致数据损坏,可返回失败结果。
需要说明的是,若在待操作分片加锁成功后,首分片的排它锁仍然有效,即仍然处于正常状态,可执行后续操作。
进一步地,所述步骤S302之后,所述数据处理方法还包括:
若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
在具体实现中,若预设句柄缓存中已存在着待操作分片的分片句柄,则表明该待操作分片曾经实施过加锁操作,可直接应用该分片句柄下发文件分片操作指令并实施该文件分片操作指令。
进一步地,所述步骤S302,具体包括:
若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;
根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
在具体实现中,就生成分片句柄的生成方式而言,文件分片操作指令中将记录有文件偏移量,通过预设句柄缓存中已存储的首分片的分片句柄与该文件偏移量可生成欲访问的待操作分片M对应的分片句柄,可记为分片句柄M。接着,可在预设句柄缓存中检测是否已存储有该分片句柄M,若无,将进行待操作分片M的排它锁设置操作。
需要说明的是,步骤S304中获取待操作分片的分片句柄的获取方式,可为,从所述文件分片操作指令中确定文件偏移量,根据所述首分片的分片句柄与所述文件偏移量获取所述待操作分片对应的分片句柄。
此外,目标文件可至多划分出65536个分片,一个分片会有一个shard_fd_entry_t结构,分片句柄将保存至该结构中。而且,为了减少内存消耗,可使用二级索引表进行保存,每个二级索引表保存256个shard_fd_entry_t结构。
本实施例中将减少预设句柄缓存中存储的分片句柄的数量,以减少内存消耗。同时,通过重新设计排它锁的处理流程,可以规避掉数据损坏的风险性,也可以避免处理过程中不必要的冲突。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如下操作:
若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若接收到文件打开指令,根据所述文件打开指令确定目标文件;
对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写;
相应地,还实现如下操作:
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;
若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;
获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;
通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;
若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
相应地,还实现如下操作:
若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;
若所述首分片中的排它锁处于正常状态,执行所述获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中的步骤。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
进一步地,所述数据处理程序被处理器执行时还实现如下操作:
若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;
根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
本实施例中若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。明显地,本实施例将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
此外,参照图6,本发明实施例还提出一种数据处理装置,所述数据处理装置包括:
分片确定模块10,用于若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片。
可以理解的是,就应用排它锁机制来防止数据损坏的常规应用方式而言,具体描述可参见图2,主机A中可启用有虚拟机VM1,主机A中的文件可记为rep0;还另外存在着主机B与主机C,主机B中的文件可记为rep1,主机C中的文件可记为rep2。通过部署排它锁机制,所有主机的文件内的owner信息均为虚拟机VM1对应的owner信息,可简记为A,即仅虚拟机VM1有权访问所有主机的文件。当出现网络隔离的状况时,即主机A与其他主机之间存在着网络隔离,基于HA可在主机C上拉起一个新的虚拟机VM1',此时也将部署排它锁机制,网络隔离另一侧的rep1与rep2内的owner信息将被改写为虚拟机VM1'对应的owner信息,可简记为C,即仅虚拟机VM1'有权访问主机B与主机C的文件,而虚拟机VM1仍有权访问主机A的文件。
其中,图2中虚拟机与文件之间连接的实线表示有权访问,虚线表示无法访问。
在网络恢复后,仍保持着网络隔离状况下的owner信息,明显地,不会出现多实例读写同一文件的状况,可防止数据损坏。
应当理解的是,虽然上述常规应用方式可有效防止数据损坏,但是,若再结合到全局分片场景下,对所有分片进行排它锁设置耗时较长,毕竟,一个文件的分片最多可有65536个,该常规应用方式存在着一定的缺陷。
可以理解的是,通过对某个文件进行全局分片可获得多个分片,每个分片可分布在集群的任意一个主机中,从而使得文件可使用整个集群的存储空间,这也是全局分片操作的目的。
在具体实现中,可优化排它锁机制的部署方式来缩短应用过程的耗时,比如,考虑到存在着多个分片,可先仅对首分片部署排它锁,即首分片中将部署有owner信息,不部署文件中的其他分片。
其中,首分片为文件中的一特殊分片,该分片涉及到扩展属性与文件属性的定义等;owner信息由所在主机的主机名与进程标识组成,主机名可记为hostname。
首分片识别模块20,用于判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁。
在具体实现中,在接收到针对某一分片的文件分片操作指令,可先确定该文件分片操作指令指向的待操作分片。
第一指令处理模块30,用于若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。
可以理解的是,若此刻欲操作的待操作分片不是已设置有排它锁的首分片,而是目标文件中的其他分片,将先对该待操作分片设置排它锁,再实施该文件分片操作指令。这是考虑到,仅对首分片加排它锁存在着缺陷,仍无法保证文件内的数据不受损坏,因为非首分片的分片都没有加排它锁,不受排它锁保护,仍可被多侧读取数据,存在着数据损坏的风险性。但是,在应用该文件分片操作指令之前,先实施排它锁的部署操作,可规避该风险性。
其中,文件分片操作指令可为针对分片内数据的读取操作或者写入操作等,文件分片操作指令就是文件IO。
应当理解的是,本实施例将先部署首分片侧的排它锁,当存在操作其他分片的需求时,即需要使用到其他分片中的某一分片时,再实时地为该分片部署排它锁。
本实施例中若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;判断所述待操作分片是否为所述目标文件中的首分片,所述首分片设置有排它锁;若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理。明显地,本实施例将优化排它锁的部署方式,将预先部署首分片处的排它锁,在接收对于其他分片的操作指令时,再实时地部署其他分片处的排它锁,不仅规避了数据损坏的风险性,也缩短了排它锁机制的应用时长,解决了当应用排它锁机制来防止数据损坏时应用过程耗时较长的技术问题。
在一实施例中,所述数据处理装置还包括:
第二指令处理模块,用于若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
在一实施例中,所述数据处理装置还包括:
首分片打开模块,用于若接收到文件打开指令,根据所述文件打开指令确定目标文件;对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写;
所述第一指令处理模块30,还用于若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
在一实施例中,所述第一指令处理模块30,还用于若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
在一实施例中,所述第一指令处理模块30,还用于若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
所述第一指令处理模块30,还用于若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;若所述首分片中的排它锁处于正常状态,执行所述获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中的步骤。
在一实施例中,所述数据处理装置还包括:
第三指令处理模块,用于若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
在一实施例中,所述第一指令处理模块30,还用于若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
本发明所述数据处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器、RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
判断所述待操作分片是否为所述目标文件中的首分片,所述首分片预先设置有排它锁;
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理;
其中,若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理,具体包括:
若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;
若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;
获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;
通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
2.如权利要求1所述的数据处理方法,其特征在于,所述判断所述待操作分片是否为所述目标文件中的首分片之后,所述数据处理方法还包括:
若所述待操作分片为所述首分片,按照所述文件分片操作指令对所述首分片进行处理。
3.如权利要求1至2中任一项所述的数据处理方法,其特征在于,所述若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片之前,所述数据处理方法还包括:
若接收到文件打开指令,根据所述文件打开指令确定目标文件;
对所述目标文件中的首分片进行打开操作,以对所述首分片内的分片数据进行信息读写;
所述若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理,具体包括:
若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,对所述待操作分片进行打开操作,并按照所述文件分片操作指令对所述待操作分片进行处理。
4.如权利要求1所述的数据处理方法,其特征在于,所述若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁,具体包括:
若未查找到所述待操作分片的分片句柄,判断所述首分片是否设置有排它锁;
若所述首分片设置有排它锁,为所述待操作分片设置排它锁;
所述若所述首分片设置有排它锁,为所述待操作分片设置排它锁之后,所述数据处理方法还包括:
若排它锁设置成功,检测所述首分片中的排它锁是否处于正常状态;
若所述首分片中的排它锁处于正常状态,执行所述获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中的步骤。
5.如权利要求1所述的数据处理方法,其特征在于,所述若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄之后,所述数据处理方法还包括:
若查找到所述待操作分片的分片句柄,通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
6.如权利要求1所述的数据处理方法,其特征在于,所述若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄,具体包括:
若所述待操作分片不为所述首分片,从所述文件分片操作指令中确定文件偏移量;
根据所述首分片的分片句柄与所述文件偏移量确定所述待操作分片对应的分片句柄,并在预设句柄缓存中查找所述待操作分片对应的分片句柄。
7.一种分片服务器,其特征在于,所述分片服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至6中任一项所述的数据处理方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至6中任一项所述的数据处理方法的步骤。
9.一种数据处理装置,其特征在于,所述数据处理装置包括:
分片确定模块,用于若接收到文件分片操作指令,根据所述文件分片操作指令确定目标文件中的待操作分片;
首分片识别模块,用于判断所述待操作分片是否为所述目标文件中的首分片,所述首分片预先设置有排它锁;
第一指令处理模块,用于若所述待操作分片不为所述首分片,为所述待操作分片设置排它锁,并按照所述文件分片操作指令对所述待操作分片进行处理;
所述第一指令处理模块还用于,若所述待操作分片不为所述首分片,在预设句柄缓存中查找所述待操作分片对应的分片句柄;若未查找到所述待操作分片的分片句柄,为所述待操作分片设置排它锁;获取所述待操作分片的分片句柄,并将所述待操作分片的分片句柄保存至所述预设句柄缓存中;通过所述待操作分片的分片句柄将所述文件分片操作指令下发至所述待操作分片,并按照所述文件分片操作指令对所述待操作分片进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710884.2A CN110442558B (zh) | 2019-07-30 | 2019-07-30 | 数据处理方法、分片服务器、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710884.2A CN110442558B (zh) | 2019-07-30 | 2019-07-30 | 数据处理方法、分片服务器、存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442558A CN110442558A (zh) | 2019-11-12 |
CN110442558B true CN110442558B (zh) | 2023-12-29 |
Family
ID=68432915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710884.2A Active CN110442558B (zh) | 2019-07-30 | 2019-07-30 | 数据处理方法、分片服务器、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442558B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752026A (en) * | 1994-04-28 | 1998-05-12 | The United States Of America As Represented By The Secretary Of The Navy | Early commit locking computer database protocol |
CN102801784A (zh) * | 2012-07-03 | 2012-11-28 | 华为技术有限公司 | 一种分布式数据存储方法及设备 |
CN103392167A (zh) * | 2012-12-28 | 2013-11-13 | 华为技术有限公司 | 分布式存储***的缓存方法、节点和计算机可读介质 |
US9229869B1 (en) * | 2012-12-19 | 2016-01-05 | Amazon Technologies, Inc. | Multi-lock caches |
CN105426483A (zh) * | 2015-11-19 | 2016-03-23 | 华为技术有限公司 | 一种基于分布式***的文件读取方法及装置 |
KR20170090594A (ko) * | 2016-01-29 | 2017-08-08 | 한국전자통신연구원 | 분산 파일 시스템을 채용한 스토리지 시스템에서 클라이언트 장치와 함께 파일의 분산 잠금을 관리하도록 구성되는 데이터 서버 장치 |
US9734157B1 (en) * | 2014-12-30 | 2017-08-15 | EMC IP Holding Company LLC | Method for sub-block operations on a journal block using ranged locking |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN109032526A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 用于分布式文件***的数据处理方法及装置 |
CN109976672A (zh) * | 2019-03-22 | 2019-07-05 | 深信服科技股份有限公司 | 一种读写冲突优化方法、装置、电子设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617216B2 (en) * | 2005-09-07 | 2009-11-10 | Emc Corporation | Metadata offload for a file server cluster |
US20080208863A1 (en) * | 2007-02-28 | 2008-08-28 | Microsoft Corporation | Compound Item Locking Technologies |
US9684573B2 (en) * | 2010-04-29 | 2017-06-20 | Veritas Technologies Llc | Dismounting a storage volume |
JP6158361B2 (ja) * | 2014-02-07 | 2017-07-05 | 株式会社東芝 | 情報処理装置及び方法 |
CN108287835B (zh) * | 2017-01-09 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据清理方法及装置 |
-
2019
- 2019-07-30 CN CN201910710884.2A patent/CN110442558B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752026A (en) * | 1994-04-28 | 1998-05-12 | The United States Of America As Represented By The Secretary Of The Navy | Early commit locking computer database protocol |
CN102801784A (zh) * | 2012-07-03 | 2012-11-28 | 华为技术有限公司 | 一种分布式数据存储方法及设备 |
US9229869B1 (en) * | 2012-12-19 | 2016-01-05 | Amazon Technologies, Inc. | Multi-lock caches |
CN103392167A (zh) * | 2012-12-28 | 2013-11-13 | 华为技术有限公司 | 分布式存储***的缓存方法、节点和计算机可读介质 |
US9734157B1 (en) * | 2014-12-30 | 2017-08-15 | EMC IP Holding Company LLC | Method for sub-block operations on a journal block using ranged locking |
CN105426483A (zh) * | 2015-11-19 | 2016-03-23 | 华为技术有限公司 | 一种基于分布式***的文件读取方法及装置 |
KR20170090594A (ko) * | 2016-01-29 | 2017-08-08 | 한국전자통신연구원 | 분산 파일 시스템을 채용한 스토리지 시스템에서 클라이언트 장치와 함께 파일의 분산 잠금을 관리하도록 구성되는 데이터 서버 장치 |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN109032526A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 用于分布式文件***的数据处理方法及装置 |
CN109976672A (zh) * | 2019-03-22 | 2019-07-05 | 深信服科技股份有限公司 | 一种读写冲突优化方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110442558A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130262426A1 (en) | Method and apparatus for accessing database and database application system | |
EP2737395B1 (en) | System and method for virtual partition monitoring | |
US20110213954A1 (en) | Method and apparatus for generating minimum boot image | |
US20120185841A1 (en) | Computer system and program restoring method thereof | |
US11249677B2 (en) | Method and apparatus for erasing or writing flash data | |
CN112612417B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN110941516B (zh) | 操作***还原方法、装置、设备及存储介质 | |
CN110399101B (zh) | 一种磁盘的写操作处理方法、装置、***及存储介质 | |
JP4052265B2 (ja) | 情報処理装置とデバイスドライバのロード方法並びにプログラム | |
CN109189480B (zh) | 文件***启动方法及装置 | |
CN112925606A (zh) | 一种内存管理方法、装置及设备 | |
CN110442558B (zh) | 数据处理方法、分片服务器、存储介质及装置 | |
US10901914B2 (en) | Method for writing multiple copies into storage device, and storage device | |
CN116185571B (zh) | 数据迁移方法、设备、存储介质及装置 | |
JPWO2004081791A1 (ja) | 仮想計算機システム、仮想計算機システムにおけるファームウェアアップデート方法 | |
CN108319470B (zh) | 创建os启动项的方法、装置、设备及可读存储介质 | |
CN116089327A (zh) | 数据保护方法及相关设备 | |
US9418175B2 (en) | Enumeration of a concurrent data structure | |
US20060230190A1 (en) | Method and apparatus for executing application in system having NAND flash memory | |
CN113190244A (zh) | 无线模组升级的方法、装置、计算机设备和存储介质 | |
JPWO2018020630A1 (ja) | 計算機システム、処理方法、およびドライバプログラム | |
CN116795494B (zh) | 内存保护单元信息的处理方法、***以及可读介质 | |
CN113590388B (zh) | 一种基于uboot的spl回滚方法及装置、存储介质、终端 | |
US11886869B2 (en) | Information processing device and information processing method for updating a program by partially relocating the program | |
US6950916B2 (en) | Dynamically setting the optimal base addresses of process components |
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 |