CN106657411A - 分布式系统中卷的访问方法和装置 - Google Patents
分布式系统中卷的访问方法和装置 Download PDFInfo
- Publication number
- CN106657411A CN106657411A CN201710110683.XA CN201710110683A CN106657411A CN 106657411 A CN106657411 A CN 106657411A CN 201710110683 A CN201710110683 A CN 201710110683A CN 106657411 A CN106657411 A CN 106657411A
- Authority
- CN
- China
- Prior art keywords
- volume
- node
- visited
- copy
- distributed system
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种分布式系统中卷的访问方法和装置。所述一种分布式系统中卷的访问方法,包括:根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;获取所述客户端当前连接的所述分布式系统中的第一节点;判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种分布式系统中卷的访问方法和装置。
背景技术
传统的基于HDD(Hard Disk Drive,硬盘驱动器)的分布式存储中,采用一致性hash哈希来存放数据,数据卷的副本分散存放在各个分布式节点中。通过数据并发访问来提升系统的IO性能。然而,在NVME(Non-Volatile Memory Express,非易失性存储器)SSD磁盘高速发展的今天,单个节点的SSD硬盘即可提供非常高的IO性能,反而跨节点访问增加了数据访问的延迟,不能完全发挥SSD的性能。
发明内容
本发明的实施例提供了一种分布式系统中卷的访问方法和装置,能够减少客户端访问同一数据卷的时间。
为了实现上述目的,本发明采取了如下技术方案。
一种分布式系统中卷的访问方法,包括:
根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
获取所述客户端当前连接的所述分布式系统中的第一节点;
判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
所述从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本的步骤具体为:
通过所述待访问卷的卷控制器,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本;所述待访问卷的卷控制器用于记录所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息,并且用于控制读取所述待访问卷的副本的chunk数据的数据一致性和控制所述chunk数据的IO顺序。
所述通过所述待访问卷的控制器,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本的步骤之前,所述方法还包括:
判断所述待访问卷的卷控制器是否安装在所述第一节点上,生成第二判断结果;当所述第二判断结果为否时,将所述待访问卷的卷控制器移动到所述第一节点上。
所述根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作的步骤具体为:
通过所述待访问卷的卷控制器,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
所述当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整副本的步骤包括:
当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的任何副本时,从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的第二节点;将所述第二节点中保存的所述待访问卷的完整副本复制到所述第一节点中;
当所述判断结果为所述第一节点上保存有所述待访问卷的部分副本时,在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点;将所述第三节点保存的所述待访问卷的其他副本复制到所述第一节点上。
所述从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的第二节点的步骤之前,所述方法还包括:
将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的一完整副本的总占用空间大小进行比较;当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的一完整部分的总占用空间大小时,执行从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的步骤;否则,结束处理;
所述在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点的步骤之前,所述方法还包括:
将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小进行比较;
当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小时,执行在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点的步骤。
所述将所述第二节点中保存的所述待访问卷的完整的副本复制到所述第一节点中的步骤包括:
步骤一,在所述第二节点中依次获取当前待复制的所述待访问卷的完整副本的第一chunk数据,作为当前待复制chunk数据;
步骤二,禁止对所述当前待复制chunk数据的读取和写入;
步骤三,将所述当前待复制chunk数据复制到所述第一节点中;
步骤四,解除对所述当前待复制chunk数据的读取和写入的限制;
步骤五,获取所述第一chunk数据的下一chunk数据,作为当前待复制chunk数据,然后跳到所述步骤二,直到所述待访问卷的完整的副本中所有chunk数据复制完毕。
所述步骤三和步骤四之间,所述方法还包括:
在所述第二节点中删除所述当前待复制chunk数据。
所述步骤四和步骤五之间,所述方法还包括:
根据所述待访问卷的副本的chunk数据在所述分布式系统中的节点的当前分布情况,更新所述待访问卷的卷控制器记录的所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息。
所述从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本的步骤之后,所述方法还包括:
将所述待访问卷的除所述第一节点保存的完整副本外的其他完整副本,均衡分配在所述分布式系统中的除所述第一节点外的其他节点上。
所述将所述第二节点中保存的所述待访问卷的完整副本复制到所述第一节点中的步骤包括;
当所述第二节点为至少两个时,分别为第四节点和第五节点,所述第四节点保存有所述待访问卷的第一部分副本,所述第五节点保存有所述待访问卷的第二部分副本,所述第一部分副本和第二部分副本组合为所述待访问卷的完整副本;
将所述第四节点的第一部分副本复制到所述第一节点中;将所述第五节点中保存的第二部分副本复制到所述第一节点中。
所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
当所述第四节点为至少两个时,根据所述第四节点的CPU占有率和存储空间占有率,选择一第四节点;
将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
当所述第四节点为至少两个时,选择一第四节点,使得选择的所述第四节点在将所述第一部分副本移动到所述第一节点后并在所述第四节点中删除所述第一部分副本后,选择的所述第四节点当前存储的所述待访问卷的副本的chuck数据的数据量等于阈值;
将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
当所述第四节点为至少两个时,从所述第四节点中,选择存储的所述第一部分副本的chunk数据的数据量大于阈值的节点,作为选择的所述第四节点;
将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
所述阈值根据以下步骤计算:
将所述第一部分副本的chunk数据的数据量与所述待访问卷的副本总数量相乘,生成第一值;
将所述分布式系统的节点总数量与1相减,生成第二值;
将所述第一值作为被除数,所述第二值作为除数,对所述被除数和除数进行除法运算,生成商和余数;
将所述商与余数进行相加运算,生成第三值;
将大于或者等于所述除数,并且小于或者等于所述第三值之间的整数,作为所述阈值。
所述方法还包括:
当所述判断结果为所述第一节点上保存有所述待访问卷的全部副本时,根据客户端的操作请求,对所述第一节点上的所述待访问卷进行操作。
一种分布式系统中卷的访问装置,其特征在于,包括:
第一获取单元,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
第二获取单元,获取所述客户端当前连接的所述分布式系统中的第一节点;
判断单元,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
第三获取单元,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
操作单元,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,当客户端连接分布式系统中的第一节点,则获取客户端的待访问数据卷,将待访问数据卷的一副本数据保存到第一节点中,这样,下次客户端再访问同一数据卷时,能够加快访问时间。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种分布式系统中卷的访问方法的处理流程图;
图2为本发明另一实施例提供的一种分布式系统中卷的访问方法的处理流程图;
图3为本发明另一实施例提供的一种分布式系统中卷的访问方法的处理流程图;
图4为本发明实施例提供的一种分布式系统中卷的访问装置的连接示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
以下描述本发明的应用场景。本发明应用于分布式系统中,分布式系统包含有多个节点,客户端可以通过连接其中的一个节点访问分布式系统。分布式系统中虚拟分布有多个卷,每个卷的副本的chunk数据分布在分布式系统中的各个节点上,每个卷有卷控制器,来维护对数据卷的操作,不同卷的卷控制器也分散设置在分布式系统中。以下描述本发明的设计理念为:当客户端需要访问或者读取分布式系统中的数据时,连接分布式当客户端连接分布式系统中的第一节点,当客户端访问或者读取分布式系统中的待访问数据卷时,首先将待访问数据卷的一完整副本数据保存到第一节点中,这样,下次客户端再访问同一数据卷时,直接连接第一节点,并且通过操作第一节点中的完整副本数据,就可以直接对待访问数据卷进行操作,不需要从分布式系统中的其他节点中查找待访问数据卷的副本,加快了访问时间。也就是说,本发明中,针对一个客户端需要经常访问的数据卷,可以将数据卷复制到客户端连接的第一节点上,通过对数据卷的本地化处理,能够加快访问数据卷的访问时间。
如图1所示,为本发明所示的一种分布式系统中卷的访问方法,包括:
步骤11,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
步骤12,获取所述客户端当前连接的所述分布式系统中的第一节点;
步骤13,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
步骤14,当所述判断结果为所述第一节点上保存有所述待访问卷的全部副本时,根据客户端的操作请求,对所述第一节点上的所述待访问卷进行操作。
步骤15,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
步骤16,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。其中,操作可以为访问、读取、复制、删除等。
本发明实施例中,当客户端连接分布式系统中的第一节点,则获取客户端的待访问数据卷,将待访问数据卷的一副本数据保存到第一节点中,这样,下次客户端再访问同一数据卷时,能够加快访问时间。
可选的,上述实施例中,步骤11和步骤12之间,所述方法还包括:
判断所述待访问卷是否为所述第一终端的经常访问卷;该步骤中,判断标准可以为根据所述第一终端在预定时长内对所述待访问卷的访问次数,当访问次数大于预定次数阈值时,则判断结果为:所述待访问卷为经常访问卷;或者第一终端对所述待访问卷的访问频率,当所述访问频率大于预定频率阈值时,则判断结果为:所述待访问卷为经常访问卷。
当判断结果为是时,则执行步骤12;否则,执行步骤17,根据所述操作请求,对所述分布式系统中的所述待访问卷的副本进行操作。
也就是说,当前的待访问卷为第一终端经常访问的卷时,则对待访问卷进行本地化处理;否则,不进行本地化处理,实现了本地化和容量均衡的相对平衡。
步骤17,将所述待访问卷的除所述第一节点保存的完整副本外的其他完整副本,根据容量均衡原则,均衡分配在所述分布式系统中的除所述第一节点外的其他节点上。
上述实施中,由于本地化的操作处理破坏了分布式系统中的容量均衡,步骤17的处理,使得分布式系统又恢复到容量相对均衡的状态。上述步骤可以在系统比较空闲的状态下执行。步骤17可以应用于下述的各个实施例,本文不再赘述。
如图2所示,为本发明所示的一种分布式系统中卷的访问方法,包括:
步骤21,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
步骤22,获取所述客户端当前连接的所述分布式系统中的第一节点;
步骤23,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
步骤24,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,判断所述待访问卷的卷控制器是否安装在所述第一节点上,生成第二判断结果;当所述第一判断结果为所述第一节点上保存有所述待访问卷的一完整的副本时,则直接执行步骤28。
步骤25,当所述第二判断结果为否时,将所述待访问卷的卷控制器移动到所述第一节点上;当所述第二判断结果为是时,直接执行下一步骤;
步骤26,通过所述待访问卷的卷控制器,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;所述待访问卷的卷控制器用于记录所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息,并且用于控制读取所述待访问卷的副本的chunk数据的数据一致性和控制所述chunk数据的IO顺序;
步骤27,通过所述待访问卷的卷控制器,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
上述实施例中,当所述待访问卷的卷控制器没有设置在第一节点上,则将待访问卷的卷控制器安装在第一节点上,后续第一终端通过所述待访问卷的卷控制器读取待访问卷时,由于待访问卷的卷控制器的本地化,能够加快卷控制器的访问速度。
如图3所示,为本发明所示的一种分布式系统中卷的访问方法,包括:
步骤31,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
步骤32,获取所述客户端当前连接的所述分布式系统中的第一节点;
步骤33,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
步骤341,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的任何副本时,将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的一完整副本的总占用空间大小进行比较;当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的一完整部分的总占用空间大小时,执行步骤342;否则,执行步骤36,根据客户端的操作请求,在所述分布式系统中,对所述待操作数据块的副本进行操作。该步骤中,预订百分值可以为100%,也可以根据实际情况进行设置。
上述实施例中,当第一节点的当前剩余总存储容量能够放得下待访问卷的一完整副本时,才进行本地化操作。
步骤342,从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的第二节点;将所述第二节点中保存的所述待访问卷的完整副本复制到所述第一节点中,使得所述第一节点上保存有所述待访问卷的一完整的副本;然后执行35。
步骤343,当所述判断结果为所述第一节点上保存有所述待访问卷的部分副本时,将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小进行比较;当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小时,执行步骤344。否则,执行步骤37,根据客户端的操作请求,在所述分布式系统中,对所述待操作数据块的副本进行操作。该步骤中,预订百分值可以为100%,也可以根据实际情况进行设置。
上述实施例中,当第一节点的当前剩余总存储容量能够放得下待访问卷的一完整副本时,才对待访问卷进行本地化操作。
步骤344,在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点;将所述第三节点保存的所述待访问卷的其他副本复制到所述第一节点上,使得所述第一节点上保存有所述待访问卷的一完整的副本;
步骤35,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
其中,所述步骤343中的将所述第二节点中保存的所述待访问卷的完整的副本复制到所述第一节点中的步骤包括:
步骤41,在所述第二节点中依次获取当前待复制的所述待访问卷的完整副本的第一chunk数据,作为当前待复制chunk数据;
步骤42,禁止对所述当前待复制chunk数据的读取和写入;
步骤43,将所述当前待复制chunk数据复制到所述第一节点中;
步骤44,在所述第二节点中删除所述当前待复制chunk数据。
步骤45,解除对所述当前待复制chunk数据的读取和写入的限制;该步骤中,当对当前待复制chunk数据进行复制时,对当前待复制chunk数据禁止读取和写入,保证了副本数据的一致性。
步骤46,根据所述待访问卷的副本的chunk数据在所述分布式系统中的节点的当前分布情况,更新所述待访问卷的卷控制器记录的所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息。
步骤47,获取所述第一chunk数据的下一chunk数据,作为当前待复制chunk数据,然后跳到所述步骤42,直到所述待访问卷的完整的副本中所有chunk数据复制完毕。
步骤342中的所述将所述第二节点中保存的所述待访问卷的完整副本复制到所述第一节点中的步骤包括;
步骤51,当所述第二节点为至少两个时,分别为第四节点和第五节点,所述第四节点保存有所述待访问卷的第一部分副本,所述第五节点保存有所述待访问卷的第二部分副本,所述第一部分副本和第二部分副本组合为所述待访问卷的完整副本;
步骤52,将所述第四节点的第一部分副本复制到所述第一节点中;将所述第五节点中保存的第二部分副本复制到所述第一节点中。
其中,步骤52中的所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
步骤521A,当所述第四节点为至少两个时,根据所述第四节点的CPU占有率和存储空间占有率,选择一第四节点;
步骤522A,将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
上述实施例中,根据所述第四节点的CPU占有率和存储空间占有率,选择一第四节点,也就是说,优先选择CPU占有率比较小和存储空间占有率比较大的第四节点,避免移动数据对第四节点性能影响比较大,并且,当当前的存储空间占有率已经比较大时,则移动走一部分数据也可以减轻当前节点的负荷。
在另一实施例中,步骤52中的所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
步骤521B,当所述第四节点为至少两个时,选择一第四节点,使得选择的所述第四节点在将所述第一部分副本移动到所述第一节点后并在所述第四节点中删除所述第一部分副本后,选择的所述第四节点当前存储的所述待访问卷的副本的chuck数据的数据量等于阈值;
步骤522B,将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
上述实施例中,通过上述的选择策略,使得当选择的第四节点在副本移动以后,可以使得分布式系统尽量维持负载平衡。
在另一实施例中,步骤52中的所述将所述第四节点的第一部分副本复制到所述第一节点中的步骤包括;
步骤521C,当所述第四节点为至少两个时,从所述第四节点中,选择存储的所述第一部分副本的chunk数据的数据量大于阈值的节点,作为选择的所述第四节点;
步骤522C,将选择的所述第四节点中保存的所述待访问卷的第一部分副本复制到所述第一节点中。
上述实施例中,通过上述的选择策略,使得当选择的第四节点在副本移动以后,可以使得分布式系统尽量维持负载平衡。
其中,所述阈值根据以下步骤计算:
将所述第一部分副本的chunk数据的数据量与所述待访问卷的副本总数量相乘,生成第一值;
将所述分布式系统的节点总数量与1相减,生成第二值;
将所述第一值作为被除数,所述第二值作为除数,对所述被除数和除数进行除法运算,生成商和余数;
将所述商与余数进行相加运算,生成第三值;
将大于或者等于所述除数,并且小于或者等于所述第三值之间的整数,作为所述阈值。
如图4所示,为本发明的一种分布式系统中卷的访问装置,其特征在于,包括:
第一获取单元61,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
第二获取单元62,获取所述客户端当前连接的所述分布式系统中的第一节点;
判断单元63,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
第三获取单元64,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
操作单元65,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种分布式系统中卷的访问方法,其特征在于,包括:
根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
获取所述客户端当前连接的所述分布式系统中的第一节点;
判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
2.根据权利要求1所述的方法,其特征在于,所述从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本的步骤具体为:
通过所述待访问卷的卷控制器,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本;所述待访问卷的卷控制器用于记录所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息,并且用于控制读取所述待访问卷的副本的chunk数据的数据一致性和控制所述chunk数据的IO顺序。
3.根据权利要求2所述的方法,其特征在于,所述通过所述待访问卷的控制器,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本的步骤之前,所述方法还包括:
判断所述待访问卷的卷控制器是否安装在所述第一节点上,生成第二判断结果;当所述第二判断结果为否时,将所述待访问卷的卷控制器移动到所述第一节点上。
4.根据权利要求2所述的方法,其特征在于,所述根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作的步骤具体为:
通过所述待访问卷的卷控制器,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
5.根据权利要求1所述的方法,其特征在于,所述当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整副本的步骤包括:
当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的任何副本时,从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的第二节点;将所述第二节点中保存的所述待访问卷的完整副本复制到所述第一节点中;
当所述判断结果为所述第一节点上保存有所述待访问卷的部分副本时,在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点;将所述第三节点保存的所述待访问卷的其他副本复制到所述第一节点上。
6.根据权利要求5所述的方法,其特征在于,
所述从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的第二节点的步骤之前,所述方法还包括:
将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的一完整副本的总占用空间大小进行比较;当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的一完整部分的总占用空间大小时,执行从所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的一完整副本的步骤;否则,结束处理;
所述在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点的步骤之前,所述方法还包括:
将所述第一节点的当前剩余总存储容量的预订百分值与所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小进行比较;
当所述第一节点的当前剩余总存储容量的预订百分值大于所述待访问卷的完整副本中除所述部分副本外的其他副本的总占用空间大小时,执行在所述分布式系统中的除所述第一节点外的其他节点上,查找保存有所述待访问卷的完整副本中除所述部分副本外的其他副本的第三节点的步骤。
7.根据权利要求5所述的方法,其特征在于,
所述将所述第二节点中保存的所述待访问卷的完整的副本复制到所述第一节点中的步骤包括:
步骤一,在所述第二节点中依次获取当前待复制的所述待访问卷的完整副本的第一chunk数据,作为当前待复制chunk数据;
步骤二,禁止对所述当前待复制chunk数据的读取和写入;
步骤三,将所述当前待复制chunk数据复制到所述第一节点中;
步骤四,解除对所述当前待复制chunk数据的读取和写入的限制;
步骤五,获取所述第一chunk数据的下一chunk数据,作为当前待复制chunk数据,然后跳到所述步骤二,直到所述待访问卷的完整的副本中所有chunk数据复制完毕。
8.根据权利要求7所述的方法,其特征在于,所述步骤三和步骤四之间,所述方法还包括:
在所述第二节点中删除所述当前待复制chunk数据。
9.根据权利要求7所述的方法,其特征在于,所述步骤四和步骤五之间,所述方法还包括:
根据所述待访问卷的副本的chunk数据在所述分布式系统中的节点的当前分布情况,更新所述待访问卷的卷控制器记录的所述待访问卷的副本的chunk数据在所述分布式系统中的节点的存储地址信息。
10.一种分布式系统中卷的访问装置,其特征在于,包括:
第一获取单元,根据客户端的操作请求,获取所述客户端待访问的分布式系统中的待访问卷;
第二获取单元,获取所述客户端当前连接的所述分布式系统中的第一节点;
判断单元,判断所述第一节点上是否保存有所述待访问卷的一完整的副本,生成第一判断结果;
第三获取单元,当所述第一判断结果为所述第一节点上没有保存有所述待访问卷的一完整的副本时,从所述分布式系统中的除所述第一节点外的其他节点上获取所述待访问卷的副本,使得所述第一节点上保存有所述待访问卷的一完整的副本;
操作单元,根据所述操作请求,对所述第一节点上的所述待访问卷的副本进行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710110683.XA CN106657411A (zh) | 2017-02-28 | 2017-02-28 | 分布式系统中卷的访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710110683.XA CN106657411A (zh) | 2017-02-28 | 2017-02-28 | 分布式系统中卷的访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106657411A true CN106657411A (zh) | 2017-05-10 |
Family
ID=58846629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710110683.XA Pending CN106657411A (zh) | 2017-02-28 | 2017-02-28 | 分布式系统中卷的访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657411A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512927A (zh) * | 2018-04-08 | 2018-09-07 | 珠海格力电器股份有限公司 | 一种商用热水机系统的信息更新方法及装置 |
CN117688104A (zh) * | 2024-02-01 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 请求处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1894672A (zh) * | 2003-12-19 | 2007-01-10 | 维里塔斯管理公司 | 用于对存储区中的选定数据执行操作的方法和设备 |
US20080154904A1 (en) * | 2006-12-20 | 2008-06-26 | International Business Machines Corporation | Deferred Copy Target Pull of Volume Data |
CN102215268A (zh) * | 2011-07-14 | 2011-10-12 | 北京飞杰信息技术有限公司 | 一种迁移文件数据的方法和装置 |
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN105574008A (zh) * | 2014-10-11 | 2016-05-11 | 华为技术有限公司 | 应用于分布式文件系统的任务调度方法和设备 |
CN105760391A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 数据动态重分布的方法、数据节点、名字节点及系统 |
CN105897499A (zh) * | 2015-12-07 | 2016-08-24 | 乐视云计算有限公司 | 分布式存储系统节点状态监控方法、中心节点及系统 |
-
2017
- 2017-02-28 CN CN201710110683.XA patent/CN106657411A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1894672A (zh) * | 2003-12-19 | 2007-01-10 | 维里塔斯管理公司 | 用于对存储区中的选定数据执行操作的方法和设备 |
US20080154904A1 (en) * | 2006-12-20 | 2008-06-26 | International Business Machines Corporation | Deferred Copy Target Pull of Volume Data |
CN102215268A (zh) * | 2011-07-14 | 2011-10-12 | 北京飞杰信息技术有限公司 | 一种迁移文件数据的方法和装置 |
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN105574008A (zh) * | 2014-10-11 | 2016-05-11 | 华为技术有限公司 | 应用于分布式文件系统的任务调度方法和设备 |
CN105760391A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 数据动态重分布的方法、数据节点、名字节点及系统 |
CN105897499A (zh) * | 2015-12-07 | 2016-08-24 | 乐视云计算有限公司 | 分布式存储系统节点状态监控方法、中心节点及系统 |
Non-Patent Citations (1)
Title |
---|
张冬: "《大话存储 存储系统底层架构原理极限剖析 终极版》", 31 January 2015, 清华大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512927A (zh) * | 2018-04-08 | 2018-09-07 | 珠海格力电器股份有限公司 | 一种商用热水机系统的信息更新方法及装置 |
CN117688104A (zh) * | 2024-02-01 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 请求处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589812B (zh) | 磁盘碎片整理方法、装置及主机 | |
JP5594664B2 (ja) | サービス品質に基づくストレージ階層化及び移動技法のためのシステム及び方法 | |
WO2013164878A1 (ja) | 計算機システムの管理装置および管理方法 | |
US20070118695A1 (en) | Decoupling storage controller cache read replacement from write retirement | |
US20130145095A1 (en) | Melthod and system for integrating the functions of a cache system with a storage tiering system | |
EP2784683B1 (en) | Storage control program, storage control method, storage system and hierarchy control apparatus thereof | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
JP4983474B2 (ja) | 仮想ライブラリ装置、仮想ライブラリシステム、仮想ライブラリ装置の論理ボリューム複写方法。 | |
CN109213420A (zh) | 数据存储方法、装置及系统 | |
US9792050B2 (en) | Distributed caching systems and methods | |
US20160065663A1 (en) | Dynamic load-based merging | |
US20030056058A1 (en) | Logical volume data migration | |
CN106657411A (zh) | 分布式系统中卷的访问方法和装置 | |
JP2013196108A (ja) | ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム | |
CN102576294B (zh) | 含有多个存储装置的存储系统和方法 | |
JP2017204101A (ja) | ストレージ制御装置、ストレージシステム及びストレージ装置制御プログラム | |
CN112181870A (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN111708812A (zh) | 一种分布式数据处理方法 | |
CN108334457B (zh) | 一种io处理方法及装置 | |
CN102331953B (zh) | 一种磁盘分区故障修复方法及装置 | |
JP2003006005A (ja) | データ記憶装置 | |
CN112650441B (zh) | 条带缓存分配方法、装置、电子设备及存储介质 | |
CN105528303B (zh) | 用于管理存储系统的方法和装置 | |
KR20180044451A (ko) | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 | |
WO2016032803A1 (en) | Dynamic load-based merging |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170510 |