CN104252320A - 网络附接存储中的高弹性协议服务 - Google Patents
网络附接存储中的高弹性协议服务 Download PDFInfo
- Publication number
- CN104252320A CN104252320A CN201410293258.5A CN201410293258A CN104252320A CN 104252320 A CN104252320 A CN 104252320A CN 201410293258 A CN201410293258 A CN 201410293258A CN 104252320 A CN104252320 A CN 104252320A
- Authority
- CN
- China
- Prior art keywords
- protocol service
- healthy
- protocol
- counter
- service
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/28—Discontinuous transmission [DTX]; Discontinuous reception [DRX]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及在网络附接存储中的高弹性协议服务。提供了在数据处理系统中用于在网络附接存储中提供协议服务的机制。在集群文件系统中的数据处理系统中执行的协议服务建立高优先级恢复线程。高优先级恢复线程监视健康计数器,健康计数器为经协议服务访问网络附接存储设备的客户端计数总的入请求和总的出请求。高优先级恢复线程基于健康计数器来确定协议服务的健康种类。该机制基于协议服务的健康种类来采取纠正动作。
Description
技术领域
本申请通常涉及改进的数据处理装置和方法,更具体地,涉及用于在网络附接存储(network-attached storage)中提供高弹性协议服务的机制。
背景技术
集群文件系统是通过同时安装在多个服务器上来共享的文件系统。集群文件系统能够提供像提高可靠性或减少集群中的其它部分的复杂性的位置无关寻址与冗余之类的特征。并行文件系统是一种类型的集群文件系统,其跨多个存储节点传播数据,通常为了冗余或者性能。
网络附接存储(Network Attached Storage,NAS)同时提供存储和文件系统,如在存储区域网络(SAN)之上的共享盘文件系统。NAS是连接到计算机网络给异质群体的客户端提供数据访问的文件级计算机数据存储。NAS不仅运作为文件服务器,而且还通过其硬件、软件或这些元素的配置来专门用于这个任务。NAS通常制造成计算机设备,它是用于存储及提供文件的彻底的专用计算机,而不是简单地用于该角色的通用计算机。
NAS系统是网络化的设备,其包含一个或多个硬盘驱动器,通常布置成逻辑的、冗余的存储容器或独立磁盘冗余阵列(RAID)。网络附接存储去掉了网络上其它服务器的文件服务义务。它们通常利用诸如网络文件系统(NFS)或服务器消息块/通用互联网文件系统(SMB/CIFS)的网络文件共享协议来提供对文件的访问。
发明内容
在一种说明性实施例中,提供了在数据处理系统中用于在网络附接存储中提供协议服务的方法。该方法包括通过在集群文件系统中的数据处理系统中执行的协议服务来建立高优先级恢复线程。该方法还包括通过该高优先级恢复线程监视健康计数器,健康计数器为经协议服务访问网络附接存储设备的一个或多个客户端计数总的入请求和总的出请求。此外,健康计数器可以监视诸如文件打开、文件锁住等特殊类型的协议操作。该方法还包括通过高优先级恢复线程基于健康计数器来确定协议服务的健康种类。该方法还包括基于协议服务的健康种类采取纠正动作。
在其它说明性实施例中,提供了包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上执行时,计算机可读程序使计算设备执行以上关于方法说明性实施例概述的各种操作及其组合。
在还有的另一种说明性实施例中,提供了系统/装置。该系统/装置可以包括一个或多个处理器及耦合到该一个或多个处理器的存储器。存储器可以包括指令,当这些指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以上关于方法说明性实施例概述的各种操作及其组合。
本发明的这些及其它特征与优点将在以下本发明示例性实施例的具体描述中描述,或者将从这些描述变得对本领域普通技术人员显而易见。
附图说明
当结合附图一起阅读时,通过参考以下说明性实施例的详细描述,将能最好地理解本发明及其优选使用模式和进一步的目标与优点,其中:
图1描绘了其中可以实现说明性实施例各方面的示例性集群文件系统的图形表示;
图2是其中可以实现说明性实施例各方面的示例性数据处理系统的框图;
图3是说明根据说明性实施例的协议服务的框图;及
图4是说明根据说明性实施例的协议服务的操作的流程图。
具体实施方式
说明性实施例提供了用于在网络附接存储(NAS)中提供高弹性协议服务的机制。在当前的方法中,NAS设备监视其协议服务的健康,协议服务通常是NFS和/或CIFS,并且当它们检测到服务降级时采取纠正动作。NAS一般地通过构建最少的协议操作并把该操作发生到设备来执行监视。例如,在NFS中,最少的协议操作可以是空(NULL)操作。如果NAS在特定数量的尝试中没有在特定的时间段内收到响应,那么NAS认为服务是不响应的并且采取纠正动作。纠正动作通常涉及完全地重新启动设备。
当前的方法存在若干个问题,这些问题主要在重协议负载的状态下出现。在这些情形中,即使总的协议处理在以沉重的速率(heavyrate)进行,特定请求(即,NULL健康操作)的网络处理也会延迟。还要注意的是,添加到协议负载的监视器使情况更加恶化。即,监视器本身会促成节点被认为是非健康的。
还要注意的是,无论如何调整监视器等待的时间间隔,总会存在响应延时超过该时间间隔的负载水平。该方法不能调整成完全消除其中监视器错误地断定服务是不响应的情况。
此外,在这些情况下,重新启动服务会引起进一步的问题。当服务重新启动时,所有的客户端都被中断并且对此的反应是重新发送它们未完成的请求。这增加了总的协议负载并且常常使新重启的服务陷入重启/重新发送/重启/重新发送的循环的困境。
说明性实施例的机制把服务监视的任务从发送协议操作的外部源转移到协议服务自身中。在内部,协议记录请求是否被处理,并且如果是,则记录以什么速率、特定类型或来自特定客户端的请求是否停滞等。考虑监视的数据,该服务然后可以对其健康进行归类并且公布其状态。在示例性实施例中,该服务可以把它的健康归类为绿色、黄色或红色。取决于这个状态,该服务可以重新启动、重定位、或保持不变。这些纠正动作可以通过外部源或通过该服务自身来采用。
说明性实施例的机制比起现有技术的当前状态具有几个优势。该机制不依赖于外部网络请求并且不增加到协议负载。如果协议请求正在被处理,则这是明确知道的。该服务永远不会仅仅因为特定请求或特定类型的请求的延时增加而被表证为非响应的。如果进行了合理的向前进展,那么该机制将永远不会在重负载的情况下重新启动服务。该服务可以在内部监视状态,这对于在外部监视来说,将会是困难的或者是不可能的。例子包括,如果特定用户的请求停滞了或者如果特定的操作没有进展。这允许更精确的和细粒度的纠正动作。例如,停滞的客户端可被迁移到另一个节点而不是重新启动全部服务。对于特定类型请求的问题可以在协议中指示实现错误。
说明性实施例可以在许多不同类型的数据处理环境中利用。为了提供用于描述说明性实施例的具体元素和功能的环境,在下文提供了图1和2,作为其中可以实现说明性实施例的各方面的示例环境。应当认识到,图1和2仅仅是例子而不是要断言或暗示关于其中可以实现本发明各方面或实施例的环境的任何限制。在不背离本发明主旨与范围的情况下,可以对所绘出的环境进行许多修改。
图1绘出了其中可以实现说明性实施例各方面的示例集群文件系统的图形表示。集群文件系统100可以包括其中可以实现说明性实施例各方面的计算机网络。集群文件系统100包含至少一个网络102,该网络是用于在集群文件系统100中连接到一起的各种设备与计算机之间提供通信链路的介质。网络102可以包括例如有线、无线通信链路、或光纤电缆等的连接。
在所绘出的例子中,服务器104和服务器106连同存储单元108、109一起连接到网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在所绘出的例子中,服务器104向客户端110、112和114提供数据,诸如引导文件、操作系统映像及应用程序。在所绘出的例子中,客户端110、112和114是服务器104的客户端。集群文件系统100可以包括未示出的附加的服务器、客户端及其它设备。
在一种实施例中,存储单元108、109是网络附接存储(NAS)设备,并且服务器104、106允许客户端110、112、114访问该NAS设备。存储和访问可以合并在一个节点上。协议服务是在服务器和客户端上存在的、其中服务器提供服务并且客户端访问该服务的软件层。在所绘出的例子中,服务器106,106向客户端110、112、114提供协议服务以访问NAS设备。在集群文件系统100的一种说明性实施例中,任何一个服务器104、106都可以服务任何一个客户端110、112、114,以提供对任何一个NAS设备108、109的访问。
在所绘出的例子中,集群文件系统100是具有网络102的互联网,网络102表示使用传输控制协议/互联网协议(TCP/IP)协议包来彼此通信的世界范围内的网络及网关的集合。在互联网的中心是在主要节点或主计算机之间高速数据通信线路的主干,包括数以千计的商业的、政府的、教育的及其它的路由数据和消息的计算机系统。当然,分布式数据处理系统100还可以实现为包括多种不同类型的网络,诸如像内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1是要作为例子,而不是作为对本发明不同实施例的体系结构限制,因此,图1中所示出的特定元素不应当被认为是限制关于其中可以实现本发明说明性实施例的环境。
图2是其中可以实现说明性实施例的各方面的示例数据处理系统的框图。数据处理系统200是计算机的一个例子,例如图1中的客户端110,其中实现用于本发明说明性实施例的过程的计算机可用代码或指令可以位于其中。
在所绘出的例子中,数据处理系统200采用集线器体系结构,包括北桥与存储器控制器集线器(NB/MCH)202和南桥与输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210连接到NB/MCH202。图形处理器210可以通过加速图形端口(AGP)连接到NB/MCH202。
在所绘出的例子中,局域网(LAN)适配器212连接到SB/ICH204。音频适配器216、键盘与鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232以及PCI/PCIe设备234通过总线238和总线240连接到SB/ICH204。PCI/PCIe设备可以包括例如以太网适配器、附件卡和用于笔记本电脑的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪存基本输入/输出系统(BIOS)。
HDD226和CD-ROM驱动器230通过总线240连接到SB/ICH204。HDD226和CD-ROM驱动器230可以使用例如集成式驱动器电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到SB/ICH204。
操作系统在处理单元206上运行。操作系统协调并提供对图2中的数据处理系统200中各种组件的控制。作为客户端,操作系统可以是市场上可买到的操作系统,例如Microsoft Windows7(Microsoft和Windows是微软公司在美国、其它国家或两者的商标)。面向对象的编程系统,诸如Java编程系统,可以与操作系统结合运行并且提供从数据处理系统200上执行的Java程序或应用程序对操作系统的调用(Java是Oracle和/或其附属公司的商标)。
作为服务器,数据处理系统200可以是例如运行高级交互式执行()操作系统或者操作系统的eServerTM System计算机系统(IBM、eServer、System p和AIX是国际商用机器公司在美国、其它国家或两者的商标,及LINUX是Linus Torvalds在美国、其它国家及两者的注册商标)。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。作为替代,也可以采用单处理器系统。
用于操作系统、面向对象的编程系统及应用或程序的指令位于诸如HDD226的存储设备上,并且可以被加载到主存储器208中用于由处理单元206执行。用于本发明说明性实施例的过程可以由处理单元206利用计算机可用程序代码来执行,其中计算机可用程序代码可以位于诸如像主存储器208、ROM224的存储器中,或者位于例如一个或多个外围设备226和230中。
诸如图2中所示的总线238或总线240的总线系统可以由一条或多条总线组成。当然,总线系统可以利用在附连到架构或体系结构的不同组件或设备之间提供数据传输的任意类型的通信架构或体系结构来实现。诸如图2的调制解调器222或网络适配器212的通信单元可以包括用来发送和接收数据的一个或多个设备。存储器可以是例如主存储器208、ROM224或者诸如在图2中的NB/MCH202中可以找到的高速缓存。
本领域普通技术人员将认识到,图1和2中的硬件可以取决于实现而变化。除图1和2中所绘出的硬件之外或者作为其替代,也可以使用其它内部的硬件或外围设备,诸如闪存存储器、等效的非易失性存储器或者光盘驱动器等。同样,在不背离本发明主旨与范围的情况下,除了之前提到的SMP系统,说明性实施例的过程还可以应用到多处理器数据处理系统中。
而且,数据处理系统200可以采取多种不同数据处理系统中任意一种的形式,包括客户端计算设备、服务器计算设备、平板电脑、膝上型电脑、电话或其它通信设备、个人数字助理(PDA),等等。例如,在一些说明性例子中,数据处理系统200可以是配置有闪存存储器的便携式计算设备,其中闪存存储器提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。本质上,数据处理系统200可以是任何已知的或以后开发的数据处理系统,而没有体系结构的限制。
图3是说明根据说明性实施例的协议服务的框图。协议服务310建立高优先级恢复线程311。如果该服务能够进行任何处理,那么高优先级恢复线程311首先执行。协议服务310建立健康计数器312,其计数关于NAS设备320的总的入协议请求和总的出协议请求。协议服务310为每种协议操作类型及每个客户端建立健康计数器312。
恢复线程311定期监视健康计数器312并且记录前进进展及速率。恢复线程311然后使用该数据对协议服务310的健康进行归类。在一种示例性实施例中,恢复线程311可以把服务的健康归类为绿色、黄色或红色。例如,如果健康计数器312指示前进进展正在与协议请求以可接受的速率进行,那么恢复线程311可以把服务的健康归类为绿色。如果健康计数器312指示没有进行总的前进进展,那么恢复线程311可以把服务的健康归类为红色。如果健康计数器312指示前进进展进行了但是是在重协议负载的状况下,或者在某种协议操作上没有进行进展,那么恢复线程311可以把服务的健康归类为黄色。
高优先级恢复线程311把服务的健康种类公布为健康状态315。在一种示例性实施例中,恢复线程311可以通过把健康状态315写到集群文件系统中来公布健康状态315。在备选的实施例中,恢复线程311可以在网络上多播健康状态315或者在协议服务310中内部地处理健康状态315。
如果健康状态315是绿色,那么协议服务310和NAS设备320不采取纠正动作。如果健康状态315是红色,那么协议服务310重新启动。在一种示例性实施例中,只有当没有进行总的前进进展时,即该服务完全是徒劳的(thrashing)时,这才会发生。外部源(未示出)可以发起重新启动或者协议服务310可以发起其自身的重新启动。如果健康状态315是黄色,那么协议服务310可以采取多种动作,诸如转移一些或全部的客户端。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在任何的一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的计算机程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者其任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明说明性实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
图4是说明根据说明性实施例的协议服务的操作的流程图。操作开始(块400),并且协议服务建立高优先级恢复线程(块401)。该高优先级恢复线程初始化健康计数器(块402)。
高优先级恢复线程然后监视进展和速率(块403)并且更新健康计数器(块404)。该高优先级恢复线程然后确定预定的时间段是否到期(块405)。如果时间段没有到期,那么操作返回到块403来继续监视进展和速率。
如果时间段在块405到期,那么高优先级恢复线程对服务的健康进行归类(块406)并且公布服务的健康(块407)。例如,如果健康计数器指示前进进展正在与协议请求以可接受的速率进行,那么恢复线程可以把服务的健康归类为绿色。如果健康计数器指示没有进行总的前进进展,那么恢复线程可以把服务的健康归类为红色。如果健康计数器指示前进进展进行了但是是在重协议负载的状态下,那么恢复线程可以把服务的健康归类为黄色。
因此,在说明性实施例中,协议服务确定服务健康的颜色种类(块408)。如果服务的健康归类为绿色,那么操作返回到块402来初始化健康计数器并且继续监视。
如果服务的健康在块408归类为黄色,那么协议服务把客户端转移到另一个服务器(块409),并且操作返回到块402来初始化健康计数器并且继续监视。
如果服务的健康在块408归类为红色,那么协议服务重新启动(块410)。此后,操作结束(块411)。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
如以上所指出的,应当认识到,说明性实施例可以采取完全硬件实施例、完全软件实施例或者既包含硬件元素又包含软件元素的实施例的形式。在一种示例性实施例中,说明性实施方式的机制是以软件或程序代码实现的,其中软件或程序代码包括但不限于固件、驻留软件、微代码等。
适于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线间接耦合到存储器元件的处理器。存储器元件可以包括在程序代码实际执行期间所采用的本地存储器、大容量存储器和提供至少一些程序代码的临时存储以便减少执行期间必须从大容量存储器中检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接地或者通过中间I/O控制器耦合到系统。网络适配器也可以耦合到系统,使得数据处理系统能够通过中间的私有或公共网络变得耦合到其它数据处理系统或者远端打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是当前可以获得的一些网络适配器的类型。
本发明的描述是为了说明和描述的目的而给出的,而不是详尽的或者要把本发明限定到所公开的形式。对本领域的普通技术人员来说,许多修改和变体都是显然的。实施例的选择与描述是为了最好地解释本发明的原理、实践应用,并且使本领域其他普通技术人员能够理解本发明具有适于预期特定用途的各种修改的各种实施例。
Claims (12)
1.一种在数据处理系统中用于在网络附接存储中提供协议服务的方法,所述方法包括:
通过在集群文件系统中的数据处理系统中执行的协议服务来建立高优先级恢复线程;
通过高优先级恢复线程监视健康计数器,健康计数器为经协议服务访问网络附接存储设备的客户端计数总的入请求和总的出请求;
通过高优先级恢复线程基于健康计数器来确定协议服务的健康种类;及
基于协议服务的健康种类来采取纠正动作。
2.如权利要求1所述的方法,其中采取纠正动作包括:
响应于协议服务的健康种类是第一种类而把至少一个客户端转移到另一个协议服务。
3.如权利要求1所述的方法,其中采取纠正动作包括:
响应于协议服务的健康种类是第二种类而重新启动协议服务。
4.如权利要求3所述的方法,其中网络附接存储设备重新启动协议服务。
5.如权利要求1所述的方法,还包括:
响应于协议服务的健康种类是第三种类而不采取纠正动作。
6.如权利要求1所述的方法,还包括:
公布协议服务的健康种类。
7.如权利要求6所述的方法,其中公布协议服务的健康种类包括:
把协议服务的健康种类写到集群文件系统中。
8.如权利要求6所述的方法,其中公布协议服务的健康种类包括:
多播协议服务的健康种类。
9.如权利要求1所述的方法,其中监视健康计数器包括:
为经协议服务访问网络附接存储设备的每个客户端监视健康计数器。
10.如权利要求1所述的方法,其中监视健康计数器包括:
为每种协议操作类型监视健康计数器。
11.一种计算机系统,包括用于执行如权利要求1-10所述的任一方法的所有步骤的装置。
12.一种设备,包括:
处理器;及
耦合到处理器的存储器,其中存储器包括指令,当指令由处理器执行时,使得处理器:
通过在集群文件系统中的数据处理系统中执行的协议服务来建立高优先级恢复线程;
通过高优先级恢复线程监视健康计数器,健康计数器为经协议服务访问网络附接存储设备的客户端计数总的入请求和总的出请求;
通过高优先级恢复线程基于健康计数器来确定协议服务的健康种类;及
基于协议服务的健康种类来采取纠正动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/927,433 US9369525B2 (en) | 2013-06-26 | 2013-06-26 | Highly resilient protocol servicing in network-attached storage |
US13/927,433 | 2013-06-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252320A true CN104252320A (zh) | 2014-12-31 |
CN104252320B CN104252320B (zh) | 2017-07-14 |
Family
ID=52116759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410293258.5A Active CN104252320B (zh) | 2013-06-26 | 2014-06-26 | 在网络附接存储中提供协议服务的方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9369525B2 (zh) |
CN (1) | CN104252320B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317702A (zh) * | 2017-06-13 | 2017-11-03 | 广东神马搜索科技有限公司 | 在线服务系统的服务级别控制方法与系统 |
CN107343044A (zh) * | 2017-07-04 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种存储区域网络的控制方法及装置 |
CN109416680A (zh) * | 2016-04-26 | 2019-03-01 | 安博科技有限公司 | 吊索路由逻辑与负载均衡 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10560553B2 (en) | 2016-09-14 | 2020-02-11 | International Business Machines Corporation | Assigning IP pools to file access protocols for NAS failover |
US11797570B2 (en) * | 2021-03-19 | 2023-10-24 | International Business Machines Corporation | Asynchronous persistency of replicated data changes in a database accelerator |
US11500733B2 (en) | 2021-03-19 | 2022-11-15 | International Business Machines Corporation | Volatile database caching in a database accelerator |
US12117972B2 (en) | 2021-08-19 | 2024-10-15 | Nutanix, Inc. | File server managers and systems for managing virtualized file servers |
US12072770B2 (en) | 2021-08-19 | 2024-08-27 | Nutanix, Inc. | Share-based file server replication for disaster recovery |
US20230237022A1 (en) * | 2022-01-24 | 2023-07-27 | Nutanix, Inc. | Protocol level connected file share access in a distributed file server environment |
CN115766824A (zh) * | 2022-10-28 | 2023-03-07 | 苏州浪潮智能科技有限公司 | 连接存储控制器的方法、系统、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196148A1 (en) * | 2002-04-12 | 2003-10-16 | Carol Harrisville-Wolff | System and method for peer-to-peer monitoring within a network |
US20060120734A1 (en) * | 2000-11-22 | 2006-06-08 | Takahisa Koike | Information delivering system, information delivering method, and computer product |
US7167912B1 (en) * | 2002-08-09 | 2007-01-23 | Cisco Technology, Inc. | Method and apparatus for detecting failures in network components |
CN101421702A (zh) * | 2006-04-26 | 2009-04-29 | 日本电信电话株式会社 | 负荷控制装置及其方法 |
US20110087899A1 (en) * | 2006-05-17 | 2011-04-14 | Richard Fetik | Firewall plus storage apparatus, method and system |
US20120254443A1 (en) * | 2011-03-30 | 2012-10-04 | International Business Machines Corporation | Information processing system, information processing apparatus, method of scaling, program, and recording medium |
US20120259819A1 (en) * | 2011-04-08 | 2012-10-11 | Symantec Corporation | Method and system for performing a clean file lock recovery during a network filesystem server migration or failover |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625750B1 (en) | 1999-11-16 | 2003-09-23 | Emc Corporation | Hardware and software failover services for a file server |
US7068667B2 (en) * | 2001-04-27 | 2006-06-27 | The Boeing Company | Method and system for path building in a communications network |
US7617292B2 (en) * | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US20030140149A1 (en) | 2002-01-14 | 2003-07-24 | Richard Marejka | Communication protocol for use in controlling communications in a monitoring service system |
JP3964212B2 (ja) | 2002-01-16 | 2007-08-22 | 株式会社日立製作所 | 記憶装置システム |
US7313557B1 (en) | 2002-03-15 | 2007-12-25 | Network Appliance, Inc. | Multi-protocol lock manager |
JP2004234558A (ja) | 2003-01-31 | 2004-08-19 | Hitachi Ltd | 記憶デバイス制御装置、及びプログラム |
US7356531B1 (en) | 2003-07-25 | 2008-04-08 | Symantec Operating Corporation | Network file system record lock recovery in a highly available environment |
US7516181B1 (en) | 2005-02-08 | 2009-04-07 | Microstrategy, Inc. | Technique for project partitioning in a cluster of servers |
US8387052B2 (en) * | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
US7962915B2 (en) | 2005-03-18 | 2011-06-14 | International Business Machines Corporation | System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events |
US7426653B2 (en) | 2005-04-13 | 2008-09-16 | Progress Software Corporation | Fault tolerant distributed lock management |
US8280944B2 (en) | 2005-10-20 | 2012-10-02 | The Trustees Of Columbia University In The City Of New York | Methods, media and systems for managing a distributed application running in a plurality of digital processing devices |
JP4371321B2 (ja) | 2006-03-10 | 2009-11-25 | 富士通株式会社 | Nfsサーバ、nfsサーバ制御プログラム、nfsサーバ制御方法 |
JP2007279890A (ja) | 2006-04-04 | 2007-10-25 | Hitachi Ltd | バックアップシステム及びバックアップ方法 |
US8918490B1 (en) * | 2007-07-12 | 2014-12-23 | Oracle America Inc. | Locality and time based dependency relationships in clusters |
JP4855355B2 (ja) | 2007-07-18 | 2012-01-18 | 株式会社日立製作所 | フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法 |
US7886050B2 (en) | 2007-10-05 | 2011-02-08 | Citrix Systems, Inc. | Systems and methods for monitoring components of a remote access server farm |
US8260926B2 (en) | 2008-11-25 | 2012-09-04 | Citrix Systems, Inc. | Systems and methods for GSLB site persistence |
US8117487B1 (en) * | 2008-12-29 | 2012-02-14 | Symantec Corporation | Method and apparatus for proactively monitoring application health data to achieve workload management and high availability |
US8122284B2 (en) | 2009-06-18 | 2012-02-21 | Taylor Tracy M | N+1 failover and resynchronization of data storage appliances |
US8296599B1 (en) | 2009-06-30 | 2012-10-23 | Symantec Corporation | System and method for implementing clustered network file system lock management |
US8769541B2 (en) * | 2009-12-31 | 2014-07-01 | Facebook, Inc. | Load balancing web service by rejecting connections |
JP5150696B2 (ja) | 2010-09-28 | 2013-02-20 | 株式会社バッファロー | 記憶処理装置及びフェイルオーバ制御方法 |
US8533171B2 (en) | 2011-04-08 | 2013-09-10 | Symantec Corporation | Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover |
US9185006B2 (en) * | 2012-12-17 | 2015-11-10 | Microsoft Technology Licensing, Llc | Exchange of server health and client information through headers for request management |
-
2013
- 2013-06-26 US US13/927,433 patent/US9369525B2/en not_active Expired - Fee Related
-
2014
- 2014-06-26 CN CN201410293258.5A patent/CN104252320B/zh active Active
-
2016
- 2016-06-07 US US15/175,658 patent/US9736279B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120734A1 (en) * | 2000-11-22 | 2006-06-08 | Takahisa Koike | Information delivering system, information delivering method, and computer product |
US20030196148A1 (en) * | 2002-04-12 | 2003-10-16 | Carol Harrisville-Wolff | System and method for peer-to-peer monitoring within a network |
US7167912B1 (en) * | 2002-08-09 | 2007-01-23 | Cisco Technology, Inc. | Method and apparatus for detecting failures in network components |
CN101421702A (zh) * | 2006-04-26 | 2009-04-29 | 日本电信电话株式会社 | 负荷控制装置及其方法 |
US20110087899A1 (en) * | 2006-05-17 | 2011-04-14 | Richard Fetik | Firewall plus storage apparatus, method and system |
US20120254443A1 (en) * | 2011-03-30 | 2012-10-04 | International Business Machines Corporation | Information processing system, information processing apparatus, method of scaling, program, and recording medium |
US20120259819A1 (en) * | 2011-04-08 | 2012-10-11 | Symantec Corporation | Method and system for performing a clean file lock recovery during a network filesystem server migration or failover |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109416680A (zh) * | 2016-04-26 | 2019-03-01 | 安博科技有限公司 | 吊索路由逻辑与负载均衡 |
CN107317702A (zh) * | 2017-06-13 | 2017-11-03 | 广东神马搜索科技有限公司 | 在线服务系统的服务级别控制方法与系统 |
CN107343044A (zh) * | 2017-07-04 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种存储区域网络的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9736279B2 (en) | 2017-08-15 |
US20160294992A1 (en) | 2016-10-06 |
US20150006707A1 (en) | 2015-01-01 |
CN104252320B (zh) | 2017-07-14 |
US9369525B2 (en) | 2016-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252320A (zh) | 网络附接存储中的高弹性协议服务 | |
US20200334125A1 (en) | Managing data from internet of things devices in a vehicle | |
US8332367B2 (en) | Parallel data redundancy removal | |
JP5872731B2 (ja) | クラスタの複数のノードのそれぞれに対してリンクの障害の検出を伝えるためのコンピュータ実装方法、非一時的なコンピュータ可読媒体およびコンピュータシステム | |
CN104205060B (zh) | 提供用于ha集群的管理程序的基于应用的监控及恢复 | |
US9197503B2 (en) | Enhanced remote presence | |
EP3485574A2 (en) | Method and architecture for critical systems utilizing multi-centric orthogonal topology and pervasive rules-driven data and control encoding | |
US10819641B2 (en) | Highly available servers | |
US9342390B2 (en) | Cluster management in a shared nothing cluster | |
US8838691B2 (en) | Data de-duplication in service oriented architecture and web services environment | |
CN104255011B (zh) | 云计算安全数据存储 | |
JP2016508638A (ja) | 階層データ構造のノードにおいて再帰的イベントリスナを用いる方法およびシステム | |
US9798604B2 (en) | Firmware dump collection from primary system dump device adapter | |
US20200034277A1 (en) | Method for performance analysis in a continuous integration pipeline | |
EP4348933A1 (en) | Managing keys across a series of nodes, based on snapshots of logged client key modifications | |
WO2023070025A1 (en) | Declarative provisioning of storage | |
US10404410B2 (en) | Storage unit (SU) report cards | |
US20130091110A1 (en) | Recovery of Inconsistent Data in Databases | |
US11347594B2 (en) | Inter-processor communications fault handling in high performance computing networks | |
US11334446B2 (en) | Backup system for an overlay network | |
US8655845B2 (en) | Reducing duplicate information when reporting system incidents | |
US20170315871A1 (en) | Retrying write operations after failures | |
CN114327563A (zh) | 数据同步方法及装置、系统、存储介质、计算机系统 | |
CN111092758A (zh) | 降低告警及恢复误报的方法、装置及电子设备 | |
US20230069814A9 (en) | Utilizing Metadata Storage Trees in a Vast Storage Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |