首页> 中国专利> 在文件系统中提供透明故障切换

在文件系统中提供透明故障切换

摘要

本发明涉及在文件系统中提供透明故障切换。此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可包括诸如机会锁、授予客户机的租约、和对文件句柄的进行中的操作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许多个文件访问协议能够使用该过滤器。在诸如服务器停机或丢失到客户机的连接等故障切换事件之后,系统可以提出另一个服务器或同一服务器并使用恢复键过滤器重新建立由各个客户机所持有的文件句柄的状态。

著录项

  • 公开/公告号CN102624542A

    专利类型发明专利

  • 公开/公告日2012-08-01

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201110462797.3

  • 申请日2011-12-09

  • 分类号H04L12/24(20060101);H04L29/08(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人杨洁

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 06:11:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-19

    专利权的转移 IPC(主分类):H04L12/24 变更前: 变更后: 登记生效日:20150728 申请日:20111209

    专利申请权、专利权的转移

  • 2015-06-17

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20111209

    实质审查的生效

  • 2012-08-01

    公开

    公开

说明书

技术领域

本发明涉及提供透明故障切换,尤其是在文件系统中提供透明故障切换。

背景技术

存在用于在网络上的两台计算机之间共享文件、打印机及其他资源的各种 技术。例如,服务器消息块(SMB)和网络文件系统(NFS)是用于共享资 源的两个应用层网络协议。微软WINDOWSTM和其他操作系统使用SMB来 允许两台计算机或其他资源进行通信、请求访问资源、指定对资源的预期访问 (例如读、写等)、锁定资源等。微软WINDOWSTMVista引入了简化SMB 1.0 的命令集并添加很多其他增强的SMB 2.0。微软WINDOWSTM7和Server 2008  R2引入了添加机会锁定(oplock)及其他增强的SMB 2.1。

用于远程共享资源的大多数协议假定连接和会话之间的一对一关系。会话 表示访问资源的任何单个请求以及对该资源的后续访问直到连接被终止为 止的生存期。会话还可以与特定的安全主体和已确认的安全凭证相关联,已确 认的安全凭证确定在会话期间被授权的动作。连接可包括传输控制协议 (TCP)、用户数据报协议(UDP)、或像SMB和NFS的更高层协议可以借 助来通信以执行命令的其他类型的连接。SMB或NFS会话通常涉及在请求源 和请求目标之间打开TCP或UDP连接,发送一个或多个SMB或NFS命令以 访问目标资源,以及随后关闭该会话。有时在会话期间连接丢失(例如,由于 网络故障),破坏在连接期间建立的任何客户机和服务器状态。为了重新建立 连接,客户机和服务器通常必须再一次重复用于最初建立连接的所有步骤。

SMB2协议提供恢复键,该恢复键允许在某一客户机与服务器断开连接后 客户机快速地重新建立到服务器的文件句柄,使得在一客户机重新连接时客户 机能够减少到服务器的网络往返并减少服务器上的负载。然而,如今恢复键在 服务器故障切换事件中不提供对状态的还原,在服务器故障切换事件中SMB2 服务器在服务器重启或机群的故障切换期间丢失易失性状态。与现有的打开 (open)相关联的状态信息丢失并且必须被重新建立。另外,恢复键是仅可在 应用的边界内被创建和使用但不被共享的应用级概念。

发明内容

此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户 机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务 器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可 包括诸如机会锁(oplock)、授予客户机的租约、和对文件句柄的进行中的 (in-flight)操作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许 多个文件访问协议能够使用该过滤器,并且许可该过滤器跨多个文件系统提供 此功能。该系统向协议提供状态信息而与实际协议无关。在诸如服务器停机或 丢失到客户机的连接等故障切换事件之后,系统可以提出另一个服务器或同一 服务器并使用恢复键过滤器重新建立由各个客户机所持有的文件句柄的状态。 过滤器于故障切换之后在活动文件上实施管制窗口(blackout window),该管 制窗口保证活动文件状态可被一致地还原以及其他客户机不会在此期间介入 以访问文件。在恢复阶段,恢复键用于将现有的故障切换前(pre-failover)文 件句柄映射到恢复键过滤器存储的故障切换后(post-failover)保存的文件状态。 由此,连接状态系统允许同一或另一个服务器在故障切换事件后用对客户机尽 可能少的干扰来恢复与客户机的先前会话的状态。

提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步 描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要 特征,也不旨在用于限制所要求保护主题的范围。

附图说明

图1是示出在一个实施例中的连接状态系统的组件的框图。

图2是示出一个实施例中的连接状态系统捕捉文件系统状态信息的处理 的流程图。

图3是示出一个实施例中的连接状态系统在故障切换之后恢复连接的处 理的流程图。

图4是示出在一个实施例中的连接状态系统的操作环境的框图。

具体实施方式

此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户 机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务 器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可 包括诸如机会锁(oplock)、授予客户机的租约、和对文件句柄的进行中的操 作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许多个文件访问 协议能够使用该过滤器,并且许可该过滤器跨多个文件系统提供此功能。该系 统向协议提供状态信息而与实际协议无关。在诸如服务器停机或丢失到客户机 的连接等故障切换事件之后,系统可以(例如,经由诸如冗余以太网连接等不 同连接)提出另一个服务器或同一服务器并使用恢复键过滤器重新建立由各个 客户机所持有的文件句柄的状态。

系统提供在服务器丢失其到客户机的连接之后可用于透明故障切换的恢 复键过滤器。恢复键过滤器位于文件系统之上,并且因此独立于用于访问文件 系统的协议。恢复键过滤器记录活动文件状态,并且在故障切换之后随后还原 活动文件状态。恢复键过滤器可捕捉各种状态信息。例如,过滤器记录包括(恢 复键静态地引用的)打开句柄、未提交的(uncommitted)文件状态(诸如关闭 时删除、删除待决、和锁定状态)、以及特定的进行中的/被中断的文件操作的 活动文件系统状态。滤波器在故障切换之后还原活动文件系统状态,使得打开 句柄被恢复为与故障切换之前的那些句柄相匹配,以及进行中的操作可被一致 地重放。过滤器为多个远程文件系统(RFS)提供存储并检索与通过恢复键引 用的打开文件句柄相关联的私有不透明数据的手段。过滤器于故障切换之后在 活动文件上实施管制窗口(blackout window),该管制窗口保证活动文件状态 可被一致地还原以及其他客户机不会在此期间介入访问文件。过滤器还允许当 前活动文件被“挂起”,并且随后无需故障切换而被恢复,以便在节点发生故障 切换的机群场景中支持SMB。

远程文件系统(RFS)向恢复键提供每个文件创建操作作为创建期间的额 外参数。键对RFS是唯一的。恢复键过滤器使用恢复键和RFS识别键共同作 为文件句柄的全局唯一标识符(GUID)。在恢复阶段,恢复键用于将现有的 故障切换前(pre-failover)文件句柄映射到恢复键过滤器存储的故障后切换 (post-failover)保存的文件状态。由此,连接状态系统允许同一或另一个服务 器在故障切换事件后用对客户机尽可能少的干扰来恢复与客户机的先前会话 的状态。

图1是示出在一个实施例中的连接状态系统的组件的框图。系统100包括 状态收集组件110、状态存储组件120、状态数据存储130、恢复检测组件140、 状态检索组件150、状态还原组件160、管制(blackout)实施组件170、和资 源挂起组件180。这些组件中的每一个都在此处进一步详细讨论。

状态收集组件110为每个文件句柄创建状态记录,并且在客户机使用文件 句柄请求操作时收集状态信息。组件110可以在服务器运行并在服务器外部存 储状态信息,使得如果服务器不可用也可访问状态信息。例如,组件110可以 在此处进一步描述的状态数据存储130中存储状态信息。状态收集组件110可 在客户机连接到服务器时从客户机接收恢复键,并且组件110在状态数据存储 130中将收集的状态信息与该恢复键相关联。如果客户机在故障切换事件之后 重新连接,那么客户机将提供用于打开最初连接的同一恢复键,并且当前的服 务器可查找先前的服务器所存储的状态信息并从该状态信息重新创建服务器 状态。

状态存储组件120与客户机所提供的恢复键相关联地存储收集的状态信 息。组件120将状态信息存储在状态数据存储130中,并且保持与该恢复键有 关的、在故障切换事件发生的情况下将被还原的操作的记录。状态信息可包括 打开文件句柄、授予的机会锁、租约和租约信息、进行中的文件操作、字节范 围锁、以及无需客户机重新建立全部先前状态的情况下另一个服务器用来执行 客户机的请求的任何其他信息。

状态数据存储130持久地存储文件系统状态信息,进行恢复的服务器使用 该文件系统状态信息来重新创建发生故障的服务器所存储的状态信息。在某些 情形中,进行恢复的服务器与发生故障的服务器可以是使用到客户机的不同连 接或在短暂中断之后回来的同一服务器。在其他情形中,进行恢复的服务器与 发生故障的服务器是不同的服务器,并且在两个服务器都可以访问的位置提供 状态数据存储130以供共享状态信息。状态数据存储130可包括一个或多个文 件、文件系统、硬盘驱动器、数据库、存储区域网络(SAN)、基于云的存储 服务、或用于持久存储数据并可由发生故障的服务器和进行恢复的服务器二者 访问以交换信息的其他存储设施。发生故障的服务器在执行操作时,它将关于 操作进度的状态信息存储到状态数据存储130中。在故障之后,发生故障的服 务器将被中断,并且进行恢复的服务器访问该状态信息以恢复状态并继续执行 未完成的任何操作。

恢复检测组件140检测使发生故障的服务器不可用并且通知进行恢复的 服务器替代发生故障的服务器的条件。该检测可以是客户机驱动的,使得系统 不执行任何恢复步骤直到客户机重新连接到系统并提供先前使用的恢复键。系 统标识该键以及与该键相关联地存储的任何状态信息,并且还原该状态信息作 为设置连接的一部分。进行恢复的服务器可以是与发生故障的服务器相同或不 同的服务器,恢复检测组件140确保进行恢复的服务器变为活动的以处理客户 机的请求。在其他实施例中,检测可以是服务器驱动的,并且系统可以在检测 到发生故障的服务器已经停机之后先行地提出进行恢复的服务器。即使在客户 机请求连接到服务器之前,系统也可以使用存储的状态信息来预先填充进行恢 复的服务器。

状态检索组件150从进行恢复的服务器可以访问的位置检索存储的状态 信息,其中该状态信息允许进行恢复的服务器恢复被检测到的故障条件中断的 任何先前请求的文件系统操作。状态检索组件150从状态数据存储130检索状 态信息并调用状态还原组件160来将信息加载到进行恢复的服务器,使得进行 恢复的服务器能够继续客户机所请求的操作。

状态还原组件160将检索到的状态信息加载到进行恢复的服务器,使得进 行恢复的服务器可以继续客户机先前请求的操作。还原还可包括刷新任何机会 锁和/或客户机所持有的租约以确保其他客户机遵守先前所请求的访问级别和/ 或授予客户机的独占性。状态还原组件160允许新的服务器或节点代替发生故 障的服务器或节点,而不会通过重复过去的操作将较重的负荷置于客户机以还 原状态信息。使用像SMB 2.0的协议的客户机已经知道如何使用恢复键来还原 到同一服务器的连接,并且连接状态系统允许替换服务器对客户机透明地代替 发生故障的服务器。恢复键也可与NFS一同使用。在NFS的情形中,恢复键 的概念对客户机是完全不透明的。客户机不明确地涉及或参与恢复键的生成、 管理和关联。相反,恢复键是服务器侧概念。

管制实施组件170在对一个或多个文件或其他资源的访问上实施管制时 间段,管制时间段阻止第二客户机以将与恢复与进行恢复的服务器的连接的第 一客户机相冲突的方式干扰资源。组件170可以自动地选择被视为足够长以避 免大多数冲突操作的时间段(例如,15或30秒),但不足以在第一客户机不 恢复连接的情况下阻止其他客户机访问资源。该时间段在第一客户机选择的情 况下给予第一客户机恢复连接的时间。在某些实施例中,系统允许管理员或其 他用户配置管制时间段的持续时间以出于应用专用的目的调谐系统。系统还可 允许各个客户机请求管制时间段作为创建/打开请求或其他应用编程接口 (API)的参数。响应于访问受管制的资源的企图,组件170可以提供在特定 时间段之后再次尝试的指示或简单地使请求失败。管制时间段之后,如果没有 客户机恢复了连接,则管制结束并且访问资源的请求将照常成功。

资源挂起组件180允许当前活动的资源被挂起并在没有故障切换事件的 情况下被恢复,以允许机群能够以计划的方式故障切换到另一个节点。一个示 例是负载平衡。挂起允许状态的子集被转换到新节点的情形。例如,如果机群 中的一个节点过载,则管理员可能希望将该节点的客户机的一半迁移到新节 点。挂起允许捕捉正被迁移的打开(open)的状态,并且允许客户机连接到新 节点作为相同打开的延续(例如,不用重新建立服务器状态)。作为另一个示 例,SMB支持通用节点被带入机群并可用于可交换地服务客户机请求的群集 场景。有时有理由使特定的节点停用,诸如为了维护,并且期望干净地挂起当 前节点,激活新节点,停用旧节点,随后在已停用的节点上执行任何维护操作。 这可能对客户机产生不期望的影响,但是使用此处描述的技术,系统100可以 以有组织的方式挂起节点,并且允许客户机高效地恢复与新节点的操作。

在其上实现连接状态系统的计算设备可包括中央处理单元、存储器、输入 设备(例如,键盘和定点设备)、输出设备(例如,显示设备),以及存储设 备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以 用实现或启用该系统的计算机可执行指令(例如,软件)来编码的计算机可读 存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号 等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、 点对点拨号连接、蜂窝电话网络等。

该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算 机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系 统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、 包括任何上述系统或设备、机顶盒、片上系统(SOC)等中任一种的分布式计 算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算 机、可编程消费电子设备、数码相机等。

该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计 算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务 或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常, 程序模块的功能可以在各个实施例中按需进行组合或分布。

图2是示出一个实施例中的连接状态系统捕捉文件系统状态信息的处理 的流程图。始于框210,系统从客户机接收访问存储在服务器上的远程资源的 请求。访问请求可包括一个或多个参数,包括用于在某一连接失败的情况下跨 多个潜在的连接标识会话的恢复键。资源访问请求可以是从客户机发送的一系 列访问请求中的第一个,并且如果客户机曾经与服务器断开连接,则客户机可 在接下来的打开请求中向同一或新的服务器提供相同的恢复键以恢复连接。恢 复键通过在看起来是独立的客户机连接之间将由服务器(或跨服务器)维护的 状态信息相关来帮助服务器更快地响应客户机。

继续至框220,系统确定标识与请求有关的客户机会话的标识符。在某些 情形中,标识符是客户机提供给耐久句柄的恢复键,耐久句柄允许恢复由于各 种原因断开连接的会话。访问请求可在协议中明确定义的位置处包括一个或多 个参数,使得系统可以通过读取请求中的适合位置来提取键。另选地或另外地, 服务器可包括用于确定不包括客户机明确地提供的信息的标识符的自动化过 程。例如,服务器可以根据网际协议(IP)地址或向服务器指示客户机连接与 先前的会话相关的其他推断数据来标识客户机。

继续至框230,系统创建由所提取的标识符可搜索的恢复记录,该恢复记 录将由客户机所请求的操作创建的状态信息与所提取的标识符相关联。恢复记 录可被存储到处理当前访问请求的服务器外部的位置,使得如果该服务器失 败,则另一个服务器将能够读取该记录以恢复操作并取代原始服务器。恢复记 录可包括文件、数据库记录、或存储的其他形式。记录可包括打开文件句柄的 列表、客户机获得的机会锁、租约、或其他文件系统状态信息。

继续至框240,系统从客户机接收文件操作,该文件操作请求访问通过服 务器可以访问的文件。文件操作可以是对打开文件、关闭文件、读文件、写文 件、打印到共享打印机、或其他文件系统操作的请求。已接收的操作涉及在服 务器上被创建的一定量的状态信息。例如,如果客户机打开到文件的句柄,那 么服务器跟踪该句柄以管理与该文件有关的其他客户机请求,并且管理生存期 和/或清除对该句柄的处理。

继续至框250,系统将恢复状态信息存储在创建的恢复记录中,如果客户 机丢失其与服务器的连接,则该恢复记录提供信息以恢复接收到的文件操作。 如果客户机连接失败,则客户机将通过再次打开远程资源并指定相同的恢复键 或其他会话标识符来尝试恢复连接。这将允许服务器或另一个服务器访问存储 的恢复记录,并重新建立先前的状态信息。

继续至框260,系统执行所请求的文件操作。操作可以打开文件,读文件 的内容,向文件写数据,改变对文件的访问权限,或任何其他文件系统操作。 操作的结果可以改变服务器所存储的状态。例如,如果客户机尝试关闭句柄并 且服务器成功地关闭该句柄,那么服务器状态将被更新以将句柄从服务器所跟 踪的句柄列表中移除。

继续至框270,系统基于已执行的文件操作的结果更新在已创建的恢复记 录中已存储的恢复状态信息。系统无法提前得知导致故障切换的失败将何时发 生,因此系统在恢复记录中保持对服务器状态的最新视图,允许服务器重新建 立尽可能与先前服务器的状态接近的状态。未被完成的操作可被重放以完成操 作,而完成的操作将无需被重复(但服务器可以向客户机重新发送结果)。由 此,在改变服务器状态信息的各种文件系统操作期间或之后,系统按需更新状 态。

继续至框280,系统向客户机发送指示所请求的文件操作的结果的响应。 如果客户机和服务器仍然连接,那么操作如其被客户机所请求的那样继续,并 且服务器继续跟踪更新的状态信息。如果连接在任意时间丢失,则另一个服务 器可被提出或现有的服务器被修复,并且可从状态存储加载状态信息以重新建 立先前的服务器状态。在从客户机接收恢复会话的新请求之后,客户机无需知 道故障切换已经发生以及客户机正潜在地与不是原始服务器的不同的服务器 进行交互。在框280之后,这些步骤结束。

图3是示出一个实施例中的连接状态系统在故障切换之后恢复连接的处 理的流程图。始于框310,系统从客户机接收打开存储在服务器上的远程资源 的请求。访问请求可包括一个或多个参数,包括用于在某一连接失败的情况下 跨多个潜在连接标识会话的恢复键。与参考图2所讨论的资源访问请求不同, 该请求是重新连接到先前连接的会话的请求。客户机提供与原始提供的相同的 恢复键,使得服务器可将当前会话请求与先前的会话相关。

继续至框320,系统确定标识与请求有关的客户机会话的会话标识符。在 某些情形中,标识符是客户机提供给耐久句柄的SMB 2恢复键,耐久句柄允 许恢复由于各种原因断开连接的会话。访问请求可在协议中明确定义的位置处 包括一个或多个参数,使得系统可以通过读取请求中的适合位置来提取键。在 其他情形中,服务器可以基于关于客户机的信息自动地确定标识符。

继续至框330,系统在状态存储中查找接收的会话标识符以标识与该会话 标识符相关联的恢复记录。使用可恢复的会话与客户机交互的任何先前的服务 器以进行中的方式在与客户机的整个交互过程中存储状态信息。客户机尝试重 新建立连接时,状态信息对代替原始服务器的故障切换服务器是可用的。状态 信息可以被存储在原始服务器的外部,使得该信息在原始服务器故障之后是可 以被访问的。

继续至框340,系统从状态存储接收与恢复记录相关联的先前的状态信 息。状态信息标识诸如打开文件句柄、已获得的租约、已获得的机会锁等静态 状态,以及诸如可能尚未完成的进行中的操作的动态状态。存储的状态信息允 许故障切换服务器无需客户机的专门处理而代替原始服务器。客户机理解可恢 复的句柄并且执行步骤以使连接是可恢复的,但可能不知道在任何特定时间哪 个服务器结束处理该连接。客户机可以经由可解析若干服务器中任一个的地址 的域名或网络文件共享来访问服务器,包括故障切换服务器。

继续至框350,系统通过将信息加载到跟踪文件系统状态的文件系统组件 来还原已接收的先前的状态信息。加载状态之后,故障切换服务器的本地状态 类似于在全部先前的操作已经发生在故障切换服务器的情况下状态看起来如 何的情况。由此,对于客户机继续该系列操作来说,故障切换服务器像在连接 没有失败的情况下原始服务器那样有用。

继续至框360,系统响应客户机访问请求,指示服务器发现了恢复记录并 且准备接收与先前的会话有关的客户机操作。基于服务器的响应,客户机可以 确定会话是否被恢复或者客户机是否需要采取步骤以重复先前的操作。如果会 话被成功地恢复,那么客户机可继续了解先前的操作已完成或被重放以在服务 器恢复之后完成。在某些情形中,系统可将具有与故障切换前文件句柄相同状 态的新文件句柄交给客户机。在框360之后,这些步骤结束。

图4是示出在一个实施例中的连接状态系统的操作环境的框图。环境包括 与文件系统交互的一个或多个操作系统服务或应用。例如,微软WINDOWSTM包括被称为SRV的服务器服务420,以及被称为NFS的网络文件系统服务410。 网络文件系统服务410和服务器服务420提供计算机系统之间对诸如文件和打 印机等共享资源的访问。服务器服务420使用WINDOWSTM网络常用的SMB 协议,而网络文件系统服务410提供对更常使用NFS的基于Unix的系统的访 问。无论协议如何,恢复键过滤器430捕捉文件操作,并且将用于恢复操作的 状态信息存储到远程数据存储中。操作穿过文件系统层440(例如,NTFS或 其他文件系统)并且影响一个或多个用户数据文件450。同时,恢复键过滤器 430将状态信息写入另一个服务器可以访问以检索状态信息并恢复到客户机的 连接的日志文件460或其他数据存储。系统可以独立于所涉及的特定协议或文 件系统而操作,并且各个组件可被更新以将它们自身的特定状态信息保存到状 态数据存储中。

在某些实施例中,连接状态系统存储代表文件系统组件的不透明的数据团 块以允许系统在不具备组件专用知识的情况下恢复连接。例如,此处描述的恢 复键过滤器可以向服务器服务要求服务器服务重新创建其当前状态所需的任 何数据。过滤器随后可将任何接收到的数据作为不透明团块(即过滤器无需知 道团块中有什么或其语义含义)存储到状态存储中。故障切换条件下,在新的 服务器上运行的恢复键过滤器可以访问存储的状态信息,检索存储的团块,并 且将该团块提供给服务器服务,使得服务器服务可还原其自身的状态。以此方 式,可使系统与很多类型的协议一起工作,而不需要对为服务器实现每个协议 的组件的内部操作的具体知识。

在某些实施例中,连接状态系统以某一时间量(即管制时间段)阻止其他 客户机访问文件或与可恢复的句柄有关的其他资源。如果原始客户机在管制时 间段期间重新连接,那么原始客户机找回带有全部先前状态的其连接,并且可 恢复操作。如果另一个客户机尝试连接,则服务器可提供指示等待一时间量并 重试的消息。意识到恢复的客户机可以使用该信息来延迟重试直到管制时间段 之后,而更早的客户机可以简单地使连接失效并应用户的请求手动地重试。如 果原始客户机在管制时间段内没有返回,则服务器清除恢复状态信息并允许新 的客户机照常访问资源。

在某些实施例中,连接状态系统可以使用用于加速恢复的各种存储设备或 策略。例如,系统可以使用用于存储恢复状态信息的快速非易失性存储设备(例 如固态盘(SSD)),使得恢复更快地访问数据以避免进一步延迟已被故障中 断的操作。作为另一个示例,系统可以向一组服务器广播每个服务器作出的全 部改变,使得每个服务器可以维护状态信息的其自身的副本,并且可在发生原 始服务器的故障时被选为故障切换服务器。

从前面的描述,可以理解的是,此处描述的连接状态系统的特定实施例只 是出于说明的目的,但是,在不偏离本发明的精神和范围的情况下,可以进行 各种修改。因此,本发明只受所附权利要求限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号