当前位置: 首页 > 专利查询>CG奥尔里德专利>正文

目录机会锁制造技术

技术编号:7083871 阅读:210 留言:0更新日期:2012-04-11 18:40
当前文件系统可实现在文件上的机会锁,其允许客户端本地高速缓存文件数据,同时在多个客户端读/写同一文件时提升数据一致性。不幸的是,当客户端本地高速缓存目录的目录内容时,文件系统可能缺乏向客户端通知将会导致高速缓存的目录内容变“旧”的目录改变的机制。因此,这里公开了用于管理目录机会锁的一种或多种系统和/或技术。可基于包括第一目标关键字和第一父关键字的机会锁请求生成目录机会锁。访问目录及其中的对象的后续访问请求可与该目录机会锁进行比较以确定是否解锁该目录机会锁,并通知客户端(例如,如果提交访问请求的客户端不同于拥有目录机会锁的客户端,则目录机会锁被解锁)。

【技术实现步骤摘要】
目录机会锁
技术介绍
机会锁(“oplock”)由文件系统使用来向诸如本地和/或远程应用的客户端提供高速缓存文件数据的能力,同时提供在多客户端读/写同一文件时提升数据一致性的机制。此外,机会锁向应用提供从访问文件时“回退”(back off)的能力,以便该应用不会干扰其他应用对该文件的访问。在一个例子中,第一应用可针对在文件系统上存储的文本文件协商机会锁。第一应用可在本地高速缓存对应于文本文件的数据,以降低在访问这样的数据时的网络流量和/或访问请求(例如,可在本地对高速缓存的数据执行多次写)。如果第二应用试图访问文件系统上的该文本文件,则文件系统可通过向第一应用发送通知来解锁机会锁,以将文本文件的改变更新回到文件系统。以此方式,文本文件可在第一应用、第二应用和文件系统之间保持一致。不幸的是,目前机会锁可用于文件,但不用于目录 (directory)。因此,如果第一应用在本地高速缓存来自文件系统的目录内容,并且第二应用改变该文件系统上的目录,则第一应用本地高速缓存的目录内容可能是旧的(stale),这是因为未向第一应用通知第二应用对于目录的改变。
技术实现思路
提供了本
技术实现思路
以按照简化形式介绍下面将在具体实施方式中进一步描述的一组概念。本
技术实现思路
不意图标识所要求保护主题的关键因素或必要特征,也不意图用来限制所要求保护主题的范围。这里公开了用于管理目录机会锁的一个或多个系统和/或技术等。目录机会锁可被解释为目录上的机会锁(例如,文件夹、映射的盘驱动器、位于远程服务器上的目录等)。 可从客户端(例如,文件管理应用、“另存为”对话框、搜索索引器服务、病毒扫描器和/或其他客户端)接收对在目录上的目录机会锁的机会锁请求。可理解,在一个例子中,客户端可被解释为包括与目录相关地在本地(例如,在同一设备上,如膝上型计算机、桌上型计算机等)或远程(例如,在不同/分开的设备上,如服务器等)执行的一个或多个应用(例如,目录驻留的设备)。机会锁请求可包括第一目标关键字和第一父关键字。第一目标关键字可指定对应于目录和请求目录机会锁的客户端的唯一标识符。第一父关键字可指定对应于包括该目录的父目录和请求该目录机会锁的客户端的唯一标识符。可基于机会锁请求生成目录机会锁关键字。请求和被授予目录机会锁的客户端可在本地高速缓存目录的目录内容(例如,目录元数据、该目录中的文件和子目录列表等)。可理解,例如,因为客户端可在本地高速缓存的目录内容上执行I/O操作而无需直接通过网络访问目录,所以可降低网络流量。类似地, 通过允许客户端(如本地应用)高速缓存其自己的目录副本,可减少访问请求的数目。以此方式,客户端可假设本地高速缓存的目录内容是最新的。另外,客户端可被通知有关访问该目录和/或目录内的对象的尝试,这种尝试可能使得本地高速缓存的目录内容变“旧”(例如,高速缓存的目录内容可包括目录内的5个文件的列表,然而,另一客户端可能向该目录再增加3个文件,这不会体现在高速缓存的目录内容中)。具体地,可接收访问目录内的对象的访问请求(例如,第二客户端可能正试图修改目录内的文件对象;对应于目录机会锁的客户端可能正试图删除目录内的文件对象等)。可理解,访问请求可包括在目录上执行操作的请求(例如,重命名或删除目录)。访问请求可包括第二目标关键字和第二父关键字。第二目标关键字可指定对应于目录内的对象和提出访问请求的客户端的唯一标识符。第二父关键字可指定对应于目录(例如,该目录是目标对象的父目录)和提出访问请求的客户端的唯一标识符。对应于目录的第二父关键字可与对应于目录的第一目标关键字进行比较,以确定第二父关键字和第一目标关键字是否匹配。即,因为各自的关键字基于同一客户端,所以如果拥有目录机会锁的客户端与试图访问目录内的对象的客户端是同一客户端,则第二父关键字可与第一目标关键字相匹配。否则,因为各自的关键字基于不同客户端,所以如果尝试访问目录内的对象的客户端不同于拥有目录机会锁的客户端,则第二父关键字与第一目标关键字可能不匹配。如果第二父关键字匹配第一目标关键字,则因为拥有目录机会锁的客户端与试图访问目录内的对象的客户端是同一客户端,所以目录机会锁不解锁。这样的客户端可知晓要利用其自己的改变来更新其本地高速缓存的目录内容。相反,如果第二父关键字不匹配第一目标关键字,则因为拥有目录机会锁的客户端不同于试图访问目录内的对象的客户端,所以目录机会锁被解锁。当访问目录内的对象的客户端作出影响目录数据的改变时,拥有目录机会锁的客户端可能已经在本地高速缓存了变“旧”的目录内容。因此,拥有目录机会锁的客户端将被通知解锁,从而客户端可采取适当行动以提升其自身、其他客户端和原始目录数据之间的数据一致性。为了实现上文和相关目的,以下说明和附图阐述了特定示例方面和实现方式。这些仅仅指示了其中可采用一个或多个方面的各种方式中的一些。,根据以下结合附图考虑的详细说明,本公开的其他方面、优点和新颖特征将变得清楚。附图说明图1是当第二客户端删除实际目录内的文件时第一客户端本地高速缓存的目录内容变旧的例子的说明。图2是说明管理目录机会锁的示例方法的流程图。图3是说明生成目录机会锁的示例方法的流程图。图4是说明管理目录机会锁的示例系统的部件框图。图5是在其上请求目录机会锁的目录例子的说明,。图6是目录例子的说明,其中不同于拥有该目录上的目录机会锁的第一客户端的第二客户端在该目录上请求访问。图7是目录例子的说明,其中拥有该目录上的目录机会锁的第一客户端在该目录上请求访问°图8是示例计算机可读介质的说明,其中可包括被配置为实施这里阐述的一个或多个规定(provision)的处理器可执行指令。图9说明了示例计算环境,其中可实现这里阐述的一个或多个规定。具体实施例方式现在参照附图描述所要求保护的主题,附图中始终使用相同的附图标记表示相同的元素。在以下描述中,为了解释的目的,阐述了多个具体细节以便提供对所要求保护的主题的透彻理解。然而,很明显的是可以实践所要求保护的主题而不用这些具体细节。在其他实例中,以框图的形式说明了结构和设备以便有助于描述所要求保护的主题。由于网络计算和多任务的出现,常常在多个客户端(如计算环境内的应用或网络环境内的计算机)之间共享目录和文件。在一个例子中,文件服务器系统可向网络设备提供对共享目录和文件的访问。在另一例子中,本地客户端应用可试图访问本地目录以便高速缓存本地目录的内容。然而,当多客户端(无论网络上或单个计算环境内)访问相同的数据时,出现了网络带宽、资源利用(例如,CPU使用、系统总线、存储设备等)和/或数据一致性问题。因此,可实现机会锁(“oplock”)以允许客户端本地高速缓存文件数据。S卩,客户端可请求在文件数据上的机会锁,从而客户端可假设只要机会锁没有被试图访问和/或改动实际文件数据的另一客户端尝试解锁,该文件数据就不会改变。客户端可对本地高速缓存的文件数据进行读/写,而不会产生访问例如被通过网络存储的实际文件数据的网络流量。 当完成时,客户端可通过单次更新,利用本地高速缓存的文件数据来更新实际文件数据。如果第二客户端试图访问文件数据,则可解锁机会锁,并且第二客户端等待,同时拥有机会锁的客户端被通知该解锁。以此方式,客户端可利用本地高速缓存的文件数据来更新实际文本文档来自技高网...

【技术保护点】
1.一种用于管理目录机会锁的方法200,包括:接收204对于目录上的目录机会锁的机会锁请求,所述机会锁请求包括第一目标关键字和第一父关键字;基于所述机会锁请求生成206所述目录机会锁;接收208对于访问所述目录内的对象的访问请求,所述访问请求包括第二目标关键字和第二父关键字;如果所述第二父关键字不匹配所述第一目标关键字,则解锁210所述目录机会锁;以及如果所述第二父关键字匹配所述第一目标关键字,则不解锁212所述目录机会锁。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:CG奥尔里德SC哈夫瓦拉NR克里斯蒂安森DM克鲁斯M乔治MS加森DE罗文格
申请(专利权)人:CG奥尔里德SC哈夫瓦拉NR克里斯蒂安森DM克鲁斯M乔治MS加森DE罗文格
类型:发明
国别省市:US

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1