CN106534227A - 用于扩展分布式一致性服务的方法和设备 - Google Patents
用于扩展分布式一致性服务的方法和设备 Download PDFInfo
- Publication number
- CN106534227A CN106534227A CN201510570429.9A CN201510570429A CN106534227A CN 106534227 A CN106534227 A CN 106534227A CN 201510570429 A CN201510570429 A CN 201510570429A CN 106534227 A CN106534227 A CN 106534227A
- Authority
- CN
- China
- Prior art keywords
- migration
- service
- data resource
- resource
- partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000005012 migration Effects 0.000 claims abstract description 203
- 238000013508 migration Methods 0.000 claims abstract description 203
- 230000008569 process Effects 0.000 claims abstract description 41
- 238000005192 partition Methods 0.000 claims description 131
- 230000008859 change Effects 0.000 claims description 17
- 238000011282 treatment Methods 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 239000004744 fabric Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003362 replicative effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了用于扩展分布式一致性服务的方法和设备,通过配置装置配置若干具有一致性服务的服务分区,并设定每一服务分区所服务的数据资源的分布规则,从而将数据资源分散到多个服务分区中,每个服务分区处理一部分访问请求并存储部分相应数据资源;同时,当访问请求增多或数据资源增大时,造成某个或某几个服务分区的处理负载过大时,则通过迁移装置动态配置迁移服务分区,然后将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求,从而平衡多个服务分区之间的负载压力,保证服务稳定性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于扩展分布式一致性服务的方法和设备。
背景技术
在分布式系统中,通常由多个服务组件共同接受访问请求并提供服务,以保持稳定性,同时使用分布式一致性服务(例如分布式锁)来协调多个服务组件之间的关系和操作。当前主流分布式锁都会基于quorum(多数派机制,例如chubby、zookeeper)来保证一致性和可用性。现有基于quorum实现的分布式锁,一般会面临下面几个严重的问题:
每次更新操作,需要经过半数以上服务组件同意,才可以认为一次更新操作成功。当更新操作非常频繁时,没有固有的办法能够简单有效地提高系统的服务能力。典型的,简单的添加服务组件的方法,一方面不能提高服务的处理能力,同时还会影响更新操作的响应时间。此外,分布式锁对自身服务的失效时间(Failover)有着异常苛刻的要求,当服务的数据规模逐渐增大时,访问请求越来越多,存储的数据资源越来越大,失效时间会随之同步增长,服务的可用性会受到非常大的挑战。
发明内容
本申请要解决的技术问题是:提供一种基于服务分区的扩展分布式一致性服务的方法和设备。
根据本申请一方面提供的一种用于扩展分布式一致性服务的方法,其中,所述方法包括:
配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
进一步地,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区包括:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;
将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。
进一步地,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态。
进一步地,在迁移完成后由所述迁移服务分区处理与所迁移的数据资源相应的所述访问请求包括:
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。
进一步地,所述标识文件包括分布式锁文件。
进一步地,所述服务分区的服务组件采用多数派机制维持一致性。
进一步地,所述迁移服务分区为已有空闲的服务分区或新配置的服务分区。
根据本申请一方面提供的一种用于扩展分布式一致性服务的设备,其中,所述设备包括:
配置装置,用于配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
迁移装置,用于将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
进一步地,所述迁移装置用于:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;
将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。
进一步地,所述迁移装置还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态。
进一步地,所述迁移装置用于:在迁移完成后,
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。
进一步地,所述标识文件包括分布式锁文件。
进一步地,所述迁移装置用于:
重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态后超出超时时间时,删除所述迁移前数据资源。
进一步地,所述服务分区的服务组件采用多数派机制维持一致性。
进一步地,所述迁移服务分区为已有空闲的服务分区或新配置的服务分区。
与现有技术相比,在本申请一方面提供的所述用于扩展分布式一致性服务的方法及另一方面提供的设备,通过部署多组包括分布式锁服务组件的服务分区、每组服务分区存储部分数据资源,并提供相应访问请求,并在运行时动态调整每个分区服务的数据资源来平衡各组服务分区之间的处理负载压力,以此提高了分布式一致性服务的扩展能力。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的提供的一种用于扩展分布式一致性服务的方法流程图;
图2~图4示出本申请一个优选实施例提供的一种用于扩展分布式一致性服务的迁移过程示意图;
图5示出根据本申请一个方面的提供的一种用于扩展分布式一致性服务的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在分布式系统中,分布式一致性服务一般基于C/S架构(客户/服务架构)来实现,服务一般由多个服务组件形成的多个节点提供服务,以保证一致性和可用性;客户端提供接口给用户或应用方用来访问分布式一致性服务。分布式一致性服务包括分布式锁,分布式锁是控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组服务组件的数据资源,那么请求访问这些数据资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。
基于以上,本申请一方面提供了一种基于服务分区的分布式一致性服务的方法,通过配置若干具有一致性服务的服务分区,并设定每一服务分区所服务的数据资源的分布规则,从而将数据资源分散到多个服务分区中,每个服务分区处理一部分访问请求并存储部分相应数据资源;同时,当访问请求增多或数据资源增大时,造成某个或某几个服务分区的处理负载过大时,则动态配置迁移服务分区,迁移服务分区可以是已有空闲的服务分区或新配置的服务分区,然后将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求,从而平衡多个服务分区之间的负载压力,保证服务稳定性。
图1示出根据本申请一个方面的提供的一种用于扩展分布式一致性服务的方法流程图,其中,所述方法包括:
步骤S11:配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
步骤S12:将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
在所述步骤S11中,所述服务分区的服务组件采用多数派机制维持一致性,相同所述服务分区中的服务组件存储相同的数据资源。在配置完成后,当访问请求到达分布式一致性服务前端时,会基于访问请求的内容,并根据数据资源分布规则,将访问请求路由到相应能够处理该访问请求的服务分区中,由该服务分区完成对用户的访问申请的处理、释放分布式锁,设置分布式锁的拥有者信息等操作。
在所述步骤S12中,在分布式一致性服务工作一段时间后,某个或某些服务分区上会出现访问请求过多或存储数据资源过大,导致处理负载过大,此时可以根据系统的运行情况,动态将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
进一步地,在所述步骤S12中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区包括:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;具体地,选定方式并不被限制,可根据数据资源的数据量及所对应的访问请求对服务分区进行具体划分;将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。以复制的方式能够保证在迁移过程中,不影响迁移前已拥有标识文件(分布式锁文件)的用户继续提供数据服务。
进一步地,在所述步骤S12中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;设置为无效状态用以防止系统认为迁移后数据资源超时时间内未获得访问请求而删除所述迁移后数据资源。
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;此时,用户已经持有的标识文件并不受影响,即可以继续利用所述标识文件读取迁移前数据资源,
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态,为数据资源resource-x开始提供服务做准备。
进一步地,在所述步骤S12中,在迁移完成后由所述迁移服务分区处理与所迁移的数据资源相应的所述访问请求包括:
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;具体地,若收到来自拥有迁移前数据资源的标识文件的用户的拥有者变更操作请求后,会把对应迁移后数据资源中的标识文件设置为有效、且将拥有者信息更改为该原拥有者用户,若作为拥有迁移前数据资源的标识文件的用户在收到通知后未向服务分区发起拥有者请求操作,在等待超出预设时间后,则删除相应标识文件,可以根据其他用户的访问请求重新释放分布式锁。
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。其中,优选地,所述标识文件包括分布式锁文件。
此外,当重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态后超出超时时间时,删除所述迁移前数据资源。,最终完成数据迁移。
图2~图4示出本申请一个优选实施例提供的一种扩展分布式一致性服务的迁移过程示意图,在具体的场景中,以服务分区quorum-n为例,来说明用于扩展分布式一致性服务的方法中动态迁移数据的过程:
如图2所示,初始配置后,例如,在提供服务的服务分区包括服务分区quorum-1至服务分区quorum-n,其中,服务分区quorum-n上有数据资源resource-n和数据资源resouce-x,都由服务分区quorum-n服务,在quorum-n服务为用户分配关于数据资源resource-n的锁文件lock://resource-n/foo,为用户分配关于数据资源resource-x的锁文件lock://resource-x/foo,作为拥有者的用户可以持所述锁文件lock://resource-n/foo获取数据资源resource-n的相关服务,持所述锁文件lock://resource-x/foo获取数据资源resource-x的相关服务。
如图3所示,当服务分区quorum-n的处理负载压力过大,决定把数据资源resource-x迁移到较空闲的服务分区quorum-x上。
首先,启动一个迁移操作(migration操作),实时地将服务分区quorum-n上和数据资源resource-x相关的数据动态以复制的方式迁移到迁移服务分区quorum-x上。Migration操作利用分布式锁原生的同步协议,可以实时的同步所有数据及更新操作到新的分区,整个过程对原有服务不会产生任何影响。此时,迁移到迁移服务分区quorum-x上的迁移后数据资源resource-x’设置为无效状态(invalid),设置为无效状态用以防止系统认为迁移后数据资源resource-x’超时时间内未获得访问请求而删除所述迁移后数据资源resource-x’。
当迁移即将完成时,服务分区quorum-n的数据资源resource-x和服务分区quorum-x上数据资源resource-x’的相关数据的状态基本一致时,例如需要迁移的数据资源一共有1024M,还剩8M需要迁移的数据需要传送,剩余需要迁移的数据资源所需传递的时间远小于一次访问请求的处理时间时,在服务分区quorum-n上对数据资源resource-x设置只读状态(read-only)。此时,用户已经持有的锁文件lock://resource-x/foo并不受影响,即可以继续利用所述锁文件读取数据资源resource-x。
当迁移完成时,待服务分区quorum-n的数据资源resource-x和服务分区quorum-x上数据资源resource-x’的相关数据的完全一致后,则在服务分区quorum-n上禁止所有对数据资源resource-x的操作,同时在服务分区quorum-x上设置数据资源resource-x’为只读状态(read-only),即为数据资源resource-x’开始提供服务做准备。
更新所有服务分区路由规则:数据资源resource-x’由服务分区quorum-x服务,数据资源resource-x’与数据资源resource-x完全一致。
通过系统前端通知所有用户作拥有者变更操作(chown操作)。作为原拥有者的用户在收到通知后会向服务分区quorum-x发起一个chown操作。则服务分区quorum-x收到来自原拥有者的用户的chown操作后,会把对应的锁文件(lock://resource-x/foo)设置为有效、且拥有者信息更改为该原拥有者用户,若作为原拥有者的用户在收到通知后未向服务分区quorum-x发起chown操作,在等待超出预设时间后,则删除服务分区quorum-x上未被chown操作的锁文件lock://resource-x/foo,可以根据其他用户的访问请求重新释放分布式锁,同时,在超出预设时间后,取消数据资源resource-x和数据资源resource-x’的状态限制,即均为可读可写状态,在超出超时时间内数据资源resource-x未收到访问请求的心跳报文,则系统会清除数据资源resource-x,最终完成数据迁移,如图4所示。
当然,本领域技术人员应能理解上述分布式一致性服务的动态迁移的具体场景及其中锁文件、服务分区、数据资源、chown操作,migration操作的描述仅为举例,其他现有的或今后可能出现的其他描述如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图5示出根据本申请一个方面的提供的一种用于扩展分布式一致性服务的设备示意图,其中,所述设备1包括:
配置装置11,配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
迁移装置12,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
在此,所述设备1包括但不限于用户设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、或用户设备与网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,直至所述设备1停止工作。
所述配置装置11对所述服务分区的服务组件采用多数派机制维持一致性,相同所述服务分区中的服务组件存储相同的数据资源。在配置完成后,当访问请求到达分布式一致性服务的前端时,会基于访问请求的内容,并根据数据资源分布规则,将访问请求路由到相应能够处理该访问请求的服务分区中,由该服务分区完成对用户的访问申请的处理、释放分布式锁,设置分布式锁的拥有者信息等操作。
在所述迁移装置12中,在分布式一致性服务在工作一段时间中,某个或某些服务分区上会出现访问请求过多或存储数据资源过大,导致处理负载过大,此时可以根据系统的运行情况,动态将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
进一步地,在所述迁移装置12中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区包括:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;具体地,选定方式并不被限制,可根据数据资源的数据量及所对应的访问请求对服务分区进行具体划分;将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。以复制的方式能够保证在迁移过程中,不影响迁移前已拥有标识文件(分布式锁文件)的用户继续提供数据服务。
进一步地,在所述迁移装置12中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;设置为无效状态用以防止系统认为迁移后数据资源超时时间内未获得访问请求而删除所述迁移后数据资源。
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;此时,用户已经持有的标识文件并不受影响,即可以继续利用所述标识文件读取迁移前数据资源,
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态,为数据资源resource-x开始提供服务做准备。
进一步地,在所述迁移装置12中,在迁移完成后由所述迁移服务分区处理与所迁移的数据资源相应的所述访问请求包括:
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;具体地,若收到来自拥有迁移前数据资源的标识文件的用户的拥有者变更操作请求后,会把对应迁移后数据资源中的标识文件设置为有效、且将拥有者信息更改为该原拥有者用户,若作为拥有迁移前数据资源的标识文件的用户在收到通知后未向服务分区发起拥有者请求操作,在等待超出预设时间后,则删除相应标识文件,可以根据其他用户的访问请求重新释放分布式锁。
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。其中,优选地,所述标识文件包括分布式锁文件。
图2~图4示出本申请一个优选实施例提供的一种扩展分布式一致性服务的迁移过程示意图,在具体的场景中,以服务分区quorum-n为例,来说明用于扩展分布式一致性服务的设备1进行动态迁移数据的过程:
如图2所示,初始配置后,例如,在服务分区quorum-n上有数据资源resource-n和数据资源resouce-x,都由服务分区quorum-n服务,在quorum-n服务为用户分配关于数据资源resource-n的锁文件lock://resource-n/foo,为用户分配关于数据资源resource-x的锁文件lock://resource-x/foo,作为拥有者的用户可以持所述锁文件lock://resource-n/foo获取数据资源resource-n的相关服务,持所述锁文件lock://resource-x/foo获取数据资源resource-x的相关服务。
如图3所示,当服务分区quorum-n的处理负载压力过大,决定把数据资源resource-x迁移到较空闲的服务分区quorum-x上。
首先,启动一个迁移操作(migration操作),实时地将服务分区quorum-n上和数据资源resource-x相关的数据动态以复制的方式迁移到迁移服务分区quorum-x上。Migration操作利用分布式锁原生的同步协议,可以实时的同步所有数据及更新操作到新的分区,整个过程对原有服务不会产生任何影响。此时,迁移到迁移服务分区quorum-x上的迁移后数据资源resource-x’设置为无效状态(invalid),设置为无效状态用以防止系统认为迁移后数据资源resource-x’超时时间内未获得访问请求而删除所述迁移后数据资源resource-x’。
当迁移即将完成时,服务分区quorum-n的数据资源resource-x和服务分区quorum-x上数据资源resource-x’的相关数据的状态基本一致时,例如需要迁移的数据资源一共有1024M,还剩8M需要迁移的数据需要传送,剩余需要迁移的数据资源所需传递的时间远小于一次访问请求的处理时间时,在服务分区quorum-n上对数据资源resource-x设置只读状态(read-only)。此时,用户已经持有的锁文件lock://resource-x/foo并不受影响,即可以继续利用所述锁文件读取数据资源resource-x。
当迁移完成时,待服务分区quorum-n的数据资源resource-x和服务分区quorum-x上数据资源resource-x’的相关数据的完全一致后,则在服务分区quorum-n上禁止所有对数据资源resource-x的操作,同时在服务分区quorum-x上设置数据资源resource-x’为只读状态(read-only),即为数据资源resource-x’开始提供服务做准备。
更新所有服务分区路由规则:数据资源resource-x’由服务分区quorum-x服务,数据资源resource-x’与数据资源resource-x完全一致。
通过系统前端通知所有用户作拥有者变更操作(chown操作)。作为原拥有者的用户在收到通知后会向服务分区quorum-x发起一个chown操作。则服务分区quorum-x收到来自原拥有者的用户的chown操作后,会把对应的锁文件(lock://resource-x/foo)设置为有效、且拥有者信息更改为该原拥有者用户,若作为原拥有者的用户在收到通知后未向服务分区quorum-x发起chown操作,在等待超出预设时间后,则删除服务分区quorum-x上未被chown操作的锁文件lock://resource-x/foo,可以根据其他用户的访问请求重新释放分布式锁,同时,在超出预设时间后,取消数据资源resource-x和数据资源resource-x’的状态限制,即均为可读可写状态,在超出超时时间内数据资源resource-x未收到访问请求的心跳报文,则系统会清除数据资源resource-x,最终完成数据迁移,如图4所示。
当然,本领域技术人员应能理解上述扩展分布式一致性服务的动态迁移的具体场景及其中锁文件、服务分区、数据资源、chown操作,migration操作的描述仅为举例,其他现有的或今后可能出现的其他描述如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
与现有技术相比,根据本申请的实施例提供的基于服务分区的扩展分布式一致性服务的设备,通过配置装置配置若干具有一致性服务的服务分区,并设定每一服务分区所服务的数据资源的分布规则,从而将数据资源分散到多个服务分区中,每个服务分区处理一部分访问请求并存储部分相应数据资源;同时,当访问请求增多或数据资源增大时,造成某个或某几个服务分区的处理负载过大时,则通过迁移装置动态配置迁移服务分区,然后将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求,从而平衡多个服务分区之间的负载压力,保证服务稳定性。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种用于扩展分布式一致性服务的方法,其中,所述方法包括:
配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
2.根据权利要求1所述的方法,其中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区包括:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;
将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。
3.根据权利要求2所述的方法,其中,将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态。
4.根据权利要求3所述的方法,其中,在迁移完成后由所述迁移服务分区处理与所迁移的数据资源相应的所述访问请求包括:
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。
5.根据权利要求4所述的方法,其中,所述标识文件包括分布式锁文件。
6.根据权利要求1至5中任一项所述的方法,其中,所述服务分区的服务组件采用多数派机制维持一致性。
7.根据权利要去1至6中任一项所述的方法,其中,所述迁移服务分区为已有空闲的服务分区或新配置的服务分区。
8.一种用于扩展分布式一致性服务的设备,其中,所述设备包括:
配置装置,用于配置若干服务分区,并基于所述服务分区的数据资源分布规则,由所述服务分区处理相应访问请求,其中,每一所述服务分区具有若干一致的服务组件;
迁移装置,用于将处理负载过大的所述服务分区所存储的部分数据资源迁移至迁移服务分区,并在迁移完成后,由所述迁移服务分区处理所迁移的数据资源对应的所述访问请求。
9.根据权利要求8所述的设备,其中,所述迁移装置用于:
将处理负载过大的所述服务分区所存储的部分数据资源选定为迁移前数据资源;
将所述迁移前数据资源以复制方式迁移到所述迁移服务分区,形成迁移后数据资源。
10.根据权利要求9所述的设备,其中,所述迁移装置还包括:
在迁移过程中,将所述迁移后数据资源设置为无效状态;
在即将完成迁移时,将所述迁移前数据资源设置为只读状态;
在完成迁移后,将所述迁移前数据资源设置为不可读不可写状态,并将所述迁移后数据设置为只读状态。
11.根据权利要求10所述的设备,其中,所述迁移装置用于:在迁移完成后,
更新所述数据资源分布规则;
向所有用户发起服务分区变更通知,并基于所述用户的拥有者变更操作请求,将迁移后数据资源中的标识文件设置为有效,且拥有者信息设置为相应的请求用户;
在完成迁移超出预设时间后,重置所述迁移前数据资源和所述迁移后数据资源的状态为可读可写状态,并删除迁移数据中未获得更改用户者操作请求的相应标识文件。
12.根据权利要求11所述的设备,其中,所述标识文件包括分布式锁文件。
13.根据权利要求8至12中任一项所述的方法,其中,所述服务分区的服务组件采用多数派机制维持一致性。
14.根据权利要去8至13中任一项所述的方法,其中,所述迁移服务分区为已有空闲的服务分区或新配置的服务分区。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510570429.9A CN106534227B (zh) | 2015-09-09 | 2015-09-09 | 用于扩展分布式一致性服务的方法和设备 |
PCT/CN2016/097494 WO2017041650A1 (zh) | 2015-09-09 | 2016-08-31 | 用于扩展分布式一致性服务的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510570429.9A CN106534227B (zh) | 2015-09-09 | 2015-09-09 | 用于扩展分布式一致性服务的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106534227A true CN106534227A (zh) | 2017-03-22 |
CN106534227B CN106534227B (zh) | 2020-02-18 |
Family
ID=58240667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510570429.9A Active CN106534227B (zh) | 2015-09-09 | 2015-09-09 | 用于扩展分布式一致性服务的方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106534227B (zh) |
WO (1) | WO2017041650A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947375A (zh) * | 2019-04-04 | 2019-06-28 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN111858079A (zh) * | 2020-07-27 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 分布式锁迁移方法、装置及电子设备、存储介质 |
CN113076187A (zh) * | 2020-01-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 分布式锁管理方法及装置 |
CN116382576A (zh) * | 2023-03-17 | 2023-07-04 | 平头哥(上海)半导体技术有限公司 | 存储控制芯片、固态硬盘和相关方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326546A1 (en) * | 2012-05-29 | 2013-12-05 | International Business Machines Corporation | Application-controlled sub-lun level data migration |
CN104468674A (zh) * | 2013-09-25 | 2015-03-25 | 南京中兴新软件有限责任公司 | 数据迁移方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187949B (zh) * | 2007-12-26 | 2011-09-21 | 腾讯科技(深圳)有限公司 | 一种大容量访问数据的统计方法及系统 |
CN101909068A (zh) * | 2009-06-02 | 2010-12-08 | 华为技术有限公司 | 一种文件副本管理方法及装置、系统 |
CN101710339B (zh) * | 2009-11-20 | 2012-02-01 | 中国科学院计算技术研究所 | 控制机群文件系统中数据存储方法和系统及创建文件方法 |
CN103036994B (zh) * | 2012-12-18 | 2015-08-19 | 曙光信息产业(北京)有限公司 | 实现负载均衡的云存储系统 |
CN103327094A (zh) * | 2013-06-19 | 2013-09-25 | 成都市欧冠信息技术有限责任公司 | 数据分布式存储方法与系统 |
-
2015
- 2015-09-09 CN CN201510570429.9A patent/CN106534227B/zh active Active
-
2016
- 2016-08-31 WO PCT/CN2016/097494 patent/WO2017041650A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326546A1 (en) * | 2012-05-29 | 2013-12-05 | International Business Machines Corporation | Application-controlled sub-lun level data migration |
CN104468674A (zh) * | 2013-09-25 | 2015-03-25 | 南京中兴新软件有限责任公司 | 数据迁移方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947375A (zh) * | 2019-04-04 | 2019-06-28 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN109947375B (zh) * | 2019-04-04 | 2021-05-14 | 江南大学 | 一种基于分区处理共识算法的分布式存储系统优化方法 |
CN113076187A (zh) * | 2020-01-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 分布式锁管理方法及装置 |
CN113076187B (zh) * | 2020-01-03 | 2024-01-09 | 阿里巴巴集团控股有限公司 | 分布式锁管理方法及装置 |
CN111858079A (zh) * | 2020-07-27 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 分布式锁迁移方法、装置及电子设备、存储介质 |
CN111858079B (zh) * | 2020-07-27 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 分布式锁迁移方法、装置及电子设备、存储介质 |
CN116382576A (zh) * | 2023-03-17 | 2023-07-04 | 平头哥(上海)半导体技术有限公司 | 存储控制芯片、固态硬盘和相关方法 |
CN116382576B (zh) * | 2023-03-17 | 2024-02-27 | 平头哥(上海)半导体技术有限公司 | 存储控制芯片、固态硬盘和相关方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106534227B (zh) | 2020-02-18 |
WO2017041650A1 (zh) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016165470A1 (zh) | Vnf实例的处理方法、装置及vnfm | |
CN109783757B (zh) | 渲染网页的方法及装置、系统、存储介质、电子装置 | |
CN108614726A (zh) | 虚拟机创建方法及装置 | |
CN109525658A (zh) | 一种产号方法、服务器、设备、存储介质和业务系统 | |
CN106534227A (zh) | 用于扩展分布式一致性服务的方法和设备 | |
JP2017529585A (ja) | マルチテナント・システムにおける処理変更 | |
US11232066B2 (en) | Method for data migration and terminal | |
CN107211003B (zh) | 分布式存储系统及管理元数据的方法 | |
JP2016537705A (ja) | 仮想マシンマイグレーション管理の方法、装置およびシステム | |
CN114675965B (zh) | 联邦学习方法、装置、设备和介质 | |
CN103559055A (zh) | 一种应用于Android平台的启动活动的方法和装置 | |
CN102937912B (zh) | 虚拟机调度方法和设备 | |
CN105786399B (zh) | 一种数据转存方法、装置及系统 | |
CN104468759A (zh) | PaaS平台中实现应用迁移的方法和装置 | |
CN110262893A (zh) | 配置镜像内存的方法、装置及计算机存储介质 | |
CN110928397B (zh) | 用户界面刷新方法、装置、存储介质及电子装置 | |
CN104503868B (zh) | 数据同步方法、装置以及系统 | |
CN110795202A (zh) | 一种虚拟化集群资源管理系统的资源分配方法以及装置 | |
CN113641640B (zh) | 用于流式计算系统的数据处理方法、装置、设备和介质 | |
CN111130834B (zh) | 一种网络弹性策略的处理方法及装置 | |
CN106775889B (zh) | 利用对象池实现Flash播放器资源加载的方法及系统 | |
CN105472628B (zh) | 扩展wlan id个数的方法及装置 | |
CN106462421B (zh) | 电信设备以及用于更新电信设备中的软件的方法 | |
CN104869531B (zh) | 一种群组成员更新方法和装置 | |
EP3280091A1 (en) | Method, apparatus and system for establishing interface between vnfms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210401 Address after: Room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Ltd. |
|
TR01 | Transfer of patent right |