CN102236700A - 分布式文件系统复制环境中的乐观锁定 - Google Patents

分布式文件系统复制环境中的乐观锁定 Download PDF

Info

Publication number
CN102236700A
CN102236700A CN2011101252203A CN201110125220A CN102236700A CN 102236700 A CN102236700 A CN 102236700A CN 2011101252203 A CN2011101252203 A CN 2011101252203A CN 201110125220 A CN201110125220 A CN 201110125220A CN 102236700 A CN102236700 A CN 102236700A
Authority
CN
China
Prior art keywords
file
duplicator
locking
optimistically
document
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
Application number
CN2011101252203A
Other languages
English (en)
Inventor
D·E·法萨拉
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102236700A publication Critical patent/CN102236700A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

需要一种分布式文件系统复制环境中的乐观锁定,其中当文件被开启供写入访问时,复制机(例如,复制的文件服务器)向其它复制机发送乐观锁定。其它接收到乐观锁定的复制机防止读-写式打开该文件,直到文件被解锁,由此避免了许多冲突。锁定复制机并不要求确认。在被减少的许多冲突中,那些冲突中的许多是在文件被关闭之前被检测并进而被处理的,而在关闭之后被检测到的冲突可通过传统的冲突解决技术(例如最后作者胜出)来处理。

Description

分布式文件系统复制环境中的乐观锁定
技术领域
本发明涉及分布式文件系统复制系统,更具体地,涉及分布式文件系统复制环境中的乐观锁定。
背景技术
在分布式文件系统复制环境中,不同用户可在多个服务器上修改数据。正因为此,用户可能改写彼此的改动,这会引起冲突问题。
为了避免这类改写/冲突问题,曾尝试使用中介机制和分布式锁定方案。然而,中介机制需要具有完全路由的网络并且不使用多主控(multi-master)复制。分布式锁定机制是非常复杂的,并因此具有许多缺陷。
因此,目前的分布式文件系统复制系统使用较简单的方案,即“最后作者胜出”的冲突算法,在这一算法中,保存(关闭)公共编辑的文件的最后一个用户将保持其改动。失败的文件副本被保持在“ConflictAndDeleted(冲突并删除)”文件夹中。这在许多情形下不是一种想要的方案。
发明内容
提供本发明内容以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简单来说,此处所描述的主题的各方面涉及一种技术,通过该技术多个联网的复制机中的一个复制机能够乐观地锁定文件以防止许多改写冲突。复制机确定将为编辑/写入被打开的文件是否由另一复制机乐观地锁定。如果没有,则该文件被打开供读-写访问,并且向其它复制机发送分布式锁定更新以在每个其它复制机上乐观地锁定该文件。内核模式锁定过滤驱动程序可检测打开请求,而用户模式服务可分布该锁定。不需要从每个其它复制机接收确认来允许编辑。锁定可以通过在编辑期间发送其它锁定更新来周期性地或以其它方式被保持。
如果文件由另一复制机锁定,则该文件可以被打开供只读访问。如果已锁定的文件在通常大于保持时间的时间内没有被解锁或保持,则该已锁定的文件可被强制解锁。
乐观锁定中也可能出现冲突,包括在文件正被打开供写入时接收到来自另一机器的对于该文件的另一锁定更新而检测到的冲突。如果是这样,可以执行至少一种早期冲突解决动作,例如,在文件被关闭之前通知用户。如果在文件被关闭之后检测到冲突,则可以采用另一冲突解决动作,诸如常规的“最后作者胜出”动作。
当编辑完成时,文件被关闭并发送解锁更新。解锁更新可被延迟一定时间,以确保文件不会很快被重新打开,这可能在对于根据保存操作而不是实际的用户所企图的文件关闭操作来关闭文件并自动重新打开该文件的某些程序而发生。
结合附图阅读以下具体实施方式,本发明的其他优点会变得显而易见。
附图说明
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1是表示实现乐观锁定的示例分布式文件系统复制环境的框图。
图2是表示与对于打开文件供编辑的乐观锁定有关的示例概念的流程图。
图3是表示与处理乐观锁定的接收/强制已乐观锁定的文件的解锁有关的示例概念的流程图。
图4示出可以将本发明的各方面并入其中的计算环境的说明性示例。
具体实施方式
此处所描述的技术的各方面普遍涉及乐观锁定方案,其中文件打开(或首次写入)操作产生尝试排他地锁定该文件的分布式锁定更新(通知)。如果在任何其他用户打开文件之前在其它复制机上接收到锁定更新,则该锁定防止其他人打开文件以写入(只读地打开可以被允许)。
虽然这通常在相对大部分时间会成功,但锁定更新仅仅是乐观的,因为具有锁定并不保证不存在当前或未来的冲突;不要求接收确认(尽管这一实现是可行的)。例如,如果锁定更新没有被另一机器及时地接收以防止在该另一机器上的再一次打开,则存在冲突。然而,冲突可以在文件仍然打开时而不是在文件关闭之后被检测。这允许采取早期冲突检测解决动作,诸如通知用户以及向用户提供以不同的文件名保存文件副本的机会。作为另一示例,如果根本未接收到锁定更新,例如由于网络被断开(不是所有节点当前都能与彼此通信),则可使用诸如最后作者胜出之类的冲突解决算法。以此方式,对于相对大部分的文件打开,锁定可防止冲突;而相对小部分的冲突可根据检测来处理,检测包括早期检测或通过当前使用的最后作者胜出方案。
应当理解,此处的任何示例都是非限制性的。事实上,此处所描述的用过滤驱动程序来检测文件打开和关闭仅仅是用于实现乐观锁定的一种机制,并且此处所描述的元数据也仅是适当的文件系统的一个示例。如此,本发明不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,这里所描述的任何一个实施例、方面、概念、结构、功能或示例都是非限制性的,可以以一般而言在计算和文件复制时提供好处和优点的各种方式来使用本发明。
图1示出了用于在诸如文件服务器之类的多个复制机1021-1025中间实现的乐观锁定的一般示例网络。虽然在图1中作为示例示出了五个这样的机器1021-1025,可以理解的是网络可具有任何实用的数量。
为了方便起见,图1仅示出了其中一个机器(即机器1021)的某些内部组件,然而可以理解的是其它机器1022-1025包含相同的组件。如机器1021中所示的,当文件诸如由任何适当的应用程序104所打开供写入时,锁定过滤驱动程序106检测针对文件系统108的写入式打开请求。值得注意的是,可替换地,检测可以在第一次写入时进行。根据检测,创建锁定请求,诸如文件的IDRecord(ID记录)中的一个字段。
锁定更新随后被诸如通过用户模式锁定服务110传播到其它机器。在其它参与的复制机上,文件通常经由适当设置的属性变为只读,并且锁定复制机的标识符(例如,锁定复制机的数据库的GUID)被与文件相关联地保持,例如保持在文件的可替换数据流DB_GUID:$DATA中。每个看到锁定更新的复制文件夹通过例如将文件添加到只读过滤驱动程序(每个其它机器的对于机器1021的过滤驱动程序112的对应物)来防止读-写打开,藉此在该机器上文件只能被只读地打开。其它机制也是可行的,例如,以文件为单位的而不是以文件夹为单位的过滤驱动程序可锁定文件供只读打开,文件访问可被完全拒绝而不是允许只读访问,等等。
需要注意的是,考虑可能发生的冲突,例如当一台机器接收到在该机器上已锁定的文件的分布式锁定更新时,这可以是由缓慢的网络条件以及同时或接近同时在两个或更多复制机上打开造成的。在这种情况下,可采取早期冲突解决动作,诸如向用户通知冲突并让用户将他们的文件副本以不同名称保存或放弃他们的改动。
作为冲突的另一示例,考虑两个子网,其中子网之间的连接变得断开,使得一个文件可在两个子网中都被打开。在这种情况下,为每个子网中的个体锁定请求者锁定文件。当连接被恢复时,诸如常规的“最后作者胜出”冲突解决算法之类的冲突解决算法解决该冲突。由此可见,该技术由此提供了“最大努力”的锁定,这显著地减少了用于可能的冲突的定时窗口,而且处理了确实发生的其余冲突。
在已打开的文件关闭之后,以类似的方式解锁该文件,即通过解锁更新。然而,解锁更新可能不被发送或接收,例如,在锁定机器或与锁定机器的通信失败时。为此,持有锁定的机器通过锁定更新在文件仍然打开时保持该锁定。如果没有及时收到解锁更新,并且锁定该文件的机器没有及时保持该锁定,则强制解锁机制将该文件解锁。以此方式,在经过可由管理员配置的超时值之后,如果在超时窗口内没有接收到更新,则基于各文件的所经过的超时来释放各文件。当服务重新启动时,超时被重置,但是可根据需要按照每个文件来保持超时。
图2以示例步骤的流程图形式示出了示例概念。需要注意的是,图2并不意图显示实际的逻辑,而是显示各个方面;例如,可使用单独的事件定时器等而不是循环中的步骤。步骤开始于接收到意图进行读和写(R/W)的文件打开请求。
步骤202评估文件是否已被锁定。如果是,执行步骤204,其基于例如管理员配置来拒绝访问或允许只读访问。如果没有被锁定,步骤206以读-写访问(或者简单来说,“打开供写入”)打开文件,并且如下所述的,开启保持锁定定时器。
一旦打开供读-写,如步骤210所表示的,允许进行编辑。在编辑期间,可进行许多动作。例如,如步骤212所表示的,可能接收到来自另一机器的锁定更新。例如,由于传输延迟,两台机器可能没有在各自允许文件的相应副本被打开供读/写之前及时接收到彼此的锁定更新。如果是这样,如步骤212所表示的,进行早期冲突检测,藉此步骤214允许采取某些动作,例如,可提醒用户该冲突,该冲突可通过以不同文件名保存或者通过外部手段(例如,如果知道的话,联系另一方)来避免。
如此处所描述的,文件解锁可能需要强制进行,以避免文件由于例如机器或网络故障等被保持在锁定状态。然而,在一般情况下,间或(诸如周期性地)保持锁定,直到通过关闭文件来解锁。这一保持时间可以是可配置的,使得网络不会充满了锁定更新,不过一般来说,保持时间小于强制解锁时间。例如,管理员可规定锁定每隔三十秒被保持,而如果在两次保持周期之后(例如,刚好超过一分钟)没有接收到锁定更新,则进行强制更新。另一管理员可规定以几分钟或者甚至几小时的数量级来进行保持/强制执行,这本质上平衡了通过网络发送更新的次数相对于文件写入可用性。
步骤216表示检验是否达到了保持定时器(保持定时器在步骤208被开启)。如果是,步骤216分支返回到步骤208发送另一锁定更新,并且重启保持定时器。
步骤218表示检测到关闭操作,例如由锁定过滤驱动程序通过适当的事件所通知的关闭操作。如果没有被关闭,则继续编辑(步骤210)。
如果被关闭,则可能需要发送文件解锁(步骤226)。然而,在这样做之前,允许花费一些时间(通过步骤220和224),因为在步骤218检测到的“关闭”可能不是实际的、用户所企图的关闭。具体来说,一些程序在文件被保存时对一个文件句柄执行关闭操作,但是通过另一句柄打开具有相同名称的文件的副本,实质上对一个文件使用了两个文件句柄。对于这样的保存操作的关闭/重打开操作相对是较快的,并且对于用户来说是透明的。因此,准许花费一些时间(诸如几秒的数量级)来看看是否文件被相对快速地关闭和重打开(步骤222),而不是使网络充斥着解锁更新以及不久后紧接着的另一次锁定更新。值得注意的是,如果用户确实碰巧在这一准许的时间段中关闭并重新打开文件,则该用户自然获得了使该文件保持锁定的好处,而这也是用户可能希望发生的。
图3示出了和处理锁定更新的接收(步骤302)有关的一些示例概念。图3(与图2一样)是示例步骤的流程图形式,但并不意图显示实际的逻辑。值得注意的是,图3的一些部分可以由锁定服务110来执行,当也可取而代之地,由网络上的对那些在准许的保持时间内没有被保持锁定的文件进行解锁的一个或多个代理来执行。
步骤304评估文件是否已在另一机器上被打开供读-写,其中可如上所述地应用事件早期冲突检测和解决方案(步骤306)。如果没有,步骤308锁定该文件,并且步骤310开启解锁定时器,如果在文件没有以其它方式被解锁时、在锁定被(如上所述的)保持之前达到了该解锁定时器(步骤312),该解锁定时器会强制执行解锁。
如果由锁定该文件的复制机适当地解锁了,步骤312分支到步骤314以在该复制机处解锁该文件(例如,调整属性/通知只读过滤驱动程序)。如果需要并且可行,用户可被通知该解锁(步骤316),例如,使该文件以只读形式打开的用户可被通知该用户现在可打开该文件供读-写。
步骤318评估解锁定时器。如果尚未到达解锁定时器,步骤320评估该文件锁定是否被保持;如果是,步骤320分支返回到步骤310以重启解锁定时器。如果到达了定时器,步骤318分支到步骤322,在步骤322,在评估锁定与解锁定时的机器上执行强制解锁;该强制解锁可分布到其它复制机。
以此方式,显著减少了冲突的机会。同时,在许多情况下,该技术提供了针对冲突情况的早期冲突检测。只要是存在后期检测的冲突,就可应用“最后作者胜出”或其它冲突解决方案,这绝不会比当前技术所提供的效果差。
示例性操作环境
图4示出了其上可实现图1-3的示例的合适的计算和联网环境400的示例。计算系统环境400只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该将计算环境400解释为对示例性操作环境400中示出的任一组件或其组合有任何依赖性或要求。
本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图4,用于实现本发明的各方面的示例性系统可包括计算机410形式的通用计算设备。计算机410的组件可以包括但不限于:处理单元420、系统存储器430和将包括系统存储器在内的各种系统组件耦合至处理单元420的系统总线421。系统总线421可以是若干类型的总线结构中的任何一种,包括使用各种总线体系结构中的任何一种的存储器总线或存储器控制器、外围总线,以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为夹层(Mezzanine)总线的外围组件互连(PCI)总线。
计算机410通常包括各种计算机可读介质。计算机可读介质可以是能由计算机410访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机410访问的任何其他介质。通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。
系统存储器430包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)431和随机存取存储器(RAM)432。基本输入/输出系统433(BIOS)包括如在启动时帮助在计算机410内的元件之间传输信息的基本例程,它通常储存在ROM431中。RAM 432通常包含处理单元420可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统434、应用程序435、其他程序模块436和程序数据437。
计算机410还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器441,从可移动、非易失性磁盘452中读取或向其写入的磁盘驱动器451,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘456中读取或向其写入的光盘驱动器455。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器441通常由不可移动存储器接口,诸如接口440连接至系统总线421,磁盘驱动器451和光盘驱动器455通常由可移动存储器接口,诸如接口450连接至系统总线421。
以上描述并在图4中示出的驱动器及其相关联的计算机存储介质为计算机410提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图4中,硬盘驱动器441被示为存储操作系统444、应用程序445、其他程序模块446和程序数据447。注意,这些组件可以与操作系统434、应用程序435、其他程序模块436和程序数据437相同,也可以与它们不同。操作系统444、应用程序445、其他程序模块446和程序数据447在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可通过诸如平板或电子数字化仪464、话筒463、键盘462和定点设备461(通常指的是鼠标、跟踪球或触摸垫)等输入设备向计算机410输入命令和信息。图4中未示出的其他输入设备可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常通过耦合至系统总线的用户输入接口460连接至处理单元420,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)来连接。监视器491或其他类型的显示设备也通过接口,诸如视频接口490,连接至系统总线421。监视器491也可以与触摸屏面板等集成。注意,监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备410的外壳,诸如在平板型个人计算机中。此外,诸如计算设备410等计算机还可以包括其他外围输出设备,诸如扬声器495和打印机496,它们可以通过输出外围接口494等连接。
计算机410可以使用到诸如远程计算机480之类的一个或多个远程计算机的逻辑连接在联网环境中操作。远程计算机480可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机410所描述的元件,尽管在图4中仅示出了存储器存储设备481。图4中所示的逻辑连接包括一个或多个局域网(LAN)471和一个或多个广域网(WAN)473,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机410通过网络接口或适配器470连接至LAN471。当在WAN联网环境中使用时,计算机410通常包括调制解调器472或用于通过诸如因特网等WAN473建立通信的其他装置。可为内置或可为外置的调制解调器472可以经由用户输入接口460或其他合适的机制连接至系统总线421。诸如包括接口和天线的无线联网组件可通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在联网环境中,相对于计算机410所描述的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图4示出远程应用程序485驻留在存储器设备481上。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
辅助子系统499(例如,用于内容的辅助显示)可经由用户接口460连接,从而即使计算机系统的主要部分处于低功率状态中,也允许诸如程序内容、系统状态和事件通知等数据被提供给用户。辅助子系统499可连接至调制解调器472和/或网络接口470,从而在主处理单元420处于低功率状态中时,也允许在这些系统之间进行通信。
结论
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (10)

1.在计算环境中,一种在至少一个处理器上执行的方法,该方法包括,在多个联网的复制机中的一个复制机中,确定(202)被请求读-写式打开的文件是否被另一复制机乐观地锁定,如果没有,则打开文件供读-写(206),并将分布式锁定更新发送(208)到一个或多个其它复制机以在每个其它复制机上乐观地锁定该文件。
2.如权利要求1所述的方法,其特征在于,打开文件供写入包括不等待来自任何其它复制机的指示文件被乐观锁定的任何确认。
3.如权利要求1所述的方法,其特征在于,还包括通过在保持时间发送至少一个其他锁定更新来保持乐观锁定。
4.如权利要求1所述的方法,其特征在于,还包括当文件被打开供写入时接收来自另一机器的对该文件的另一锁定更新,以及执行至少一个早期冲突解决动作,或在文件被关闭后检测冲突,并执行冲突解决动作。
5.如权利要求1所述的方法,其特征在于,还包括关闭文件并发送解锁更新。
6.如权利要求1所述的方法,其特征在于,还包括确定文件被另一复制机乐观地锁定,以只读方式打开文件,确定在强制解锁时间内被乐观锁定的文件是否未被保持,如果未被保持,则解锁该文件。
7.在计算环境中,一种系统包括,多个复制机(1021-1025),每个复制机具有机制(106,110),所述机制在文件尚未被乐观地锁定时根据文件打开或首次文件写入请求乐观地锁定该文件,机制包括通过通信以向任何其它通信的复制机发送乐观锁定,每个复制机在文件已由另一复制机乐观锁定时防止文件的读写式打开。
8.如权利要求7所述的系统,其特征在于,所述机制包括内核模式锁定过滤驱动程序,其检测文件打开请求,其中锁定过滤驱动程序与发送所述乐观锁定的用户模式服务进行通信,并且其中每个复制机防止在文件已经通过在内核模式只读过滤驱动程序处阻止打开供写入访问而被乐观地锁定时、读写式打开该文件。
9.一个或多个具有计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时执行以下步骤,包括:
在多个联网的复制机中的一个复制机(1021)处接收对文件的读写式打开请求;
确定(202)文件是否已由另一复制机乐观地锁定,并且如果是:
(i)防止(204)打开文件或允许文件被打开供只读访问,
并且如果没有被乐观地锁定:
(ii)打开(206)该文件供读-写访问,向一个或多个其它复制机发送(208)分布式锁定更新以在每个其它复制机上乐观地锁定该文件,通过发送至少一个其他锁定更新而在保持时间到达时保持(216,208)乐观锁定,并且基于关闭文件发送(226)解锁更新。
10.如权利要求9所述的一个或多个计算机可读介质,其特征在于,还具有计算机可执行指令,包括确定文件是否已由另一复制机乐观地锁定,并且当文件在强制解锁时间内没有被解锁或保持时解锁该文件。
CN2011101252203A 2010-05-04 2011-05-03 分布式文件系统复制环境中的乐观锁定 Pending CN102236700A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/773,113 US20110276549A1 (en) 2010-05-04 2010-05-04 Optimistic locking in a distributed file system replication environment
US12/773,113 2010-05-04

Publications (1)

Publication Number Publication Date
CN102236700A true CN102236700A (zh) 2011-11-09

Family

ID=44887349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101252203A Pending CN102236700A (zh) 2010-05-04 2011-05-03 分布式文件系统复制环境中的乐观锁定

Country Status (2)

Country Link
US (1) US20110276549A1 (zh)
CN (1) CN102236700A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795813A (zh) * 2014-03-10 2014-05-14 上海亦存网络科技有限公司 文件锁定、解锁方法及系统
CN104424080A (zh) * 2013-08-30 2015-03-18 联想(北京)有限公司 一种监控方法及电子设备
CN105979018A (zh) * 2016-07-29 2016-09-28 上海爱数信息技术股份有限公司 一种文件锁的状态维护方法及系统
CN108885622A (zh) * 2016-04-06 2018-11-23 华为技术有限公司 多主同步复制优化的系统和方法
CN111274208A (zh) * 2018-12-05 2020-06-12 杭州海康威视系统技术有限公司 锁定文件的方法和装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374655B1 (ko) * 2010-09-29 2014-03-24 네이버비즈니스플랫폼 주식회사 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법
US9924002B1 (en) 2012-06-21 2018-03-20 EMC IP Holding Company LLC Managing stateless processes
US9535926B2 (en) * 2013-06-26 2017-01-03 Red Hat, Inc. Reducing transaction operations using deferred operations
US10248314B2 (en) * 2015-06-04 2019-04-02 Quest Software Inc. Migrate nickname cache for email systems and devices
US11226985B2 (en) * 2015-12-15 2022-01-18 Microsoft Technology Licensing, Llc Replication of structured data records among partitioned data storage spaces
CN107423403A (zh) * 2017-07-27 2017-12-01 郑州云海信息技术有限公司 一种基于分布式文件系统的融合锁管理方法和系统
US10521223B1 (en) 2017-08-22 2019-12-31 Wells Fargo Bank, N.A. Systems and methods of a metadata orchestrator augmenting application development
US20240248771A1 (en) * 2023-01-19 2024-07-25 Dell Products L.P. Lock release management in a distributed system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011962A1 (en) * 2004-06-28 2006-02-02 Intel Corporation (A Delaware Coprporation) Thread synchronization with lock inflation methods and apparatus for managed run-time environments
CN1961292A (zh) * 2004-06-03 2007-05-09 英特尔公司 用于受管运行时环境的线程同步方法和装置
US20070143477A1 (en) * 2001-08-01 2007-06-21 Cisco Technology, Inc. Reducing round trips across a wide area network for resource locking by extended locking and delayed unlocking

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910212B2 (en) * 2000-12-04 2005-06-21 International Business Machines Corporation System and method for improved complex storage locks
US20080077628A1 (en) * 2006-09-22 2008-03-27 International Business Machines Corporation Conflict resolution for distributed processing systems
US8056093B1 (en) * 2006-12-07 2011-11-08 Nvidia Corporation Asynchronous kernel processing for a graphics processing system
US8489566B2 (en) * 2008-04-08 2013-07-16 International Business Machines Corporation Optimistic locking in online and offline environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143477A1 (en) * 2001-08-01 2007-06-21 Cisco Technology, Inc. Reducing round trips across a wide area network for resource locking by extended locking and delayed unlocking
CN1961292A (zh) * 2004-06-03 2007-05-09 英特尔公司 用于受管运行时环境的线程同步方法和装置
WO2006011962A1 (en) * 2004-06-28 2006-02-02 Intel Corporation (A Delaware Coprporation) Thread synchronization with lock inflation methods and apparatus for managed run-time environments

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OKUBO T, ET AL.: "An optimistic method for updating information in distributed collaborative work", 《PROCEEDINGS - INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE》, 21 August 1998 (1998-08-21) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424080A (zh) * 2013-08-30 2015-03-18 联想(北京)有限公司 一种监控方法及电子设备
CN104424080B (zh) * 2013-08-30 2018-06-01 联想(北京)有限公司 一种监控方法及电子设备
CN103795813A (zh) * 2014-03-10 2014-05-14 上海亦存网络科技有限公司 文件锁定、解锁方法及系统
CN103795813B (zh) * 2014-03-10 2021-05-07 上海亦存网络科技有限公司 文件锁定、解锁方法及系统
CN108885622A (zh) * 2016-04-06 2018-11-23 华为技术有限公司 多主同步复制优化的系统和方法
CN105979018A (zh) * 2016-07-29 2016-09-28 上海爱数信息技术股份有限公司 一种文件锁的状态维护方法及系统
CN111274208A (zh) * 2018-12-05 2020-06-12 杭州海康威视系统技术有限公司 锁定文件的方法和装置
CN111274208B (zh) * 2018-12-05 2023-06-30 杭州海康威视系统技术有限公司 锁定文件的方法和装置

Also Published As

Publication number Publication date
US20110276549A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
CN102236700A (zh) 分布式文件系统复制环境中的乐观锁定
CN101305358B (zh) 在参与复制组的从属成员上维护复制资源的装置和方法
CN102473089B (zh) 用于双操作系统的文件系统
US7676503B2 (en) Hybrid computer restore using network service
US20020092008A1 (en) Method and apparatus for updating new versions of firmware in the background
CN102332078B (zh) 用于控制对象的复制处理的方法及装置
CN101322116A (zh) 资源新鲜度和复制
CN103765406A (zh) 用于远程更新执行进程的方法和设备
CN103929465A (zh) 用于远程环境的数据存储
EP2909774B1 (en) Storing and accessing licensing information in operating system-independent storage
CN103853595A (zh) 用于替换虚拟机盘的方法和系统
CN113220398A (zh) 一种智能的多架构融合型安全桌面云系统
CN103930879A (zh) 投影存储网关
CN101090356A (zh) 使能对远程存储装置的访问的方法和系统
CN101611391A (zh) 保护跨平台审核
US9075678B2 (en) Client and server for installation of files embedded within a client profile
CN102323930B (zh) 对数据库系统中的数据变更进行镜像
US10331427B2 (en) Capturing and deploying an operation system in a computer environment
US20230140209A1 (en) System and method for secure access to a distributed virtual firmware network drive
US11995188B2 (en) Method for faster and safe data backup using GPT remote access boot signatures to securely expose GPT partitions to cloud during OS crash
US6865629B2 (en) RSM-resident program pair initiation sequence
CN107533495A (zh) 用于数据备份和恢复的技术
US20100325738A1 (en) Dynamic dual permissions-based data capturing and logging
CN110705712A (zh) 面向第三方社会服务的人工智能基础资源与技术开放平台
US20160371804A1 (en) Digital rights management system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111109