CN108804709B - 共享文件系统锁管理消息处理方法、装置及服务器 - Google Patents

共享文件系统锁管理消息处理方法、装置及服务器 Download PDF

Info

Publication number
CN108804709B
CN108804709B CN201810653643.4A CN201810653643A CN108804709B CN 108804709 B CN108804709 B CN 108804709B CN 201810653643 A CN201810653643 A CN 201810653643A CN 108804709 B CN108804709 B CN 108804709B
Authority
CN
China
Prior art keywords
server
mounting
mount
file system
shared file
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.)
Active
Application number
CN201810653643.4A
Other languages
English (en)
Other versions
CN108804709A (zh
Inventor
张端
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.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud Technologies Co Ltd
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 New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201810653643.4A priority Critical patent/CN108804709B/zh
Publication of CN108804709A publication Critical patent/CN108804709A/zh
Application granted granted Critical
Publication of CN108804709B publication Critical patent/CN108804709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种共享文件系统锁管理消息处理方法、装置及服务器。服务器在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将挂载周期标识封装到挂载请求中,并将挂载请求发送给共享文件系统的服务器集群中的服务器。在服务器成功挂载共享文件系统后,当向服务器集群中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送该业务交互消息。如此,可以为接收到业务交互消息的服务器提供判断该业务交互消息是否过期的依据,从而在该业务交互消息过期时不进行处理。

Description

共享文件系统锁管理消息处理方法、装置及服务器
技术领域
本申请涉及通信技术领域,具体而言,涉及一种共享文件系统锁管理消息处理方法、装置及服务器。
背景技术
共享文件系统是可以在服务器集群中的多个服务器上同时挂载(mount)的文件系统,其中挂载该共享文件系统的每个服务器被称作一个节点(Node),任何一个节点进行的文件操作,在其他节点都能看到该文件操作所产生的结果。
目前,共享文件系统通常采用分布式锁管理器(Distributed Lock Manager,DLM)来确保集各个节点访问数据的一致性。对服务器集群中的一个服务器而言,从该服务器挂载共享文件系统到最终卸载(umount)该共享文件系统这段时间,被称为该服务器的一个挂载生命周期。该服务器在一个挂载生命周期中,会接收到服务器集群中的其他服务器的DLM发送的消息,然后直接对接收到的消息进行处理。
然而,在实际应用中,当一个服务器接收到其他服务器发送的消息时,发送该消息的服务器可能已经卸载了共享文件系统,或是已经卸载并再次挂载了共享文件系统,这会导致接收到该消息的服务器无法正确处理该消息或是将该消息识别为严重的错误,从而导致该服务器宕机或共享文件系统异常等问题。
发明内容
有鉴于此,本申请的目的在于提供一种共享文件系统锁管理消息处理方法、装置及服务器,以至少部分地避免对服务器集群中不属于当前挂载生命周期的消息进行处理。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种共享文件系统锁管理消息处理方法,应用于服务器,所述方法包括:
在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统的挂载请求中,并将所述挂载请求发送给所述共享文件系统的服务器集群中的服务器;
在成功挂载所述共享文件系统后,当向所述服务器集群中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
第二方面,本申请实施例还提供一种共享文件系统锁管理消息处理装置,应用于服务器,所述装置包括:
挂载请求模块,用于在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统的挂载请求中,并将所述挂载请求发送给所述共享文件系统的服务器集群中的服务器;
业务交互模块,用于在成功挂载所述共享文件系统后,当向所述服务器集群中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
第三方面,本申请实施例还提供一种服务器,包括处理器及机器可读存储介质,该机器可读存储介质上存储有机器可执行指令,该机器可执行指令被执行时促使所述处理器实现本申请实施例第一方面提供的方法。
相较于现有技术,本申请实施例具有以下有益效果:
本申请实施例提供的一种共享文件系统锁管理消息处理方法、装置及服务器,服务器在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将挂载周期标识封装到挂载请求中,并发送给共享文件系统的服务器集群中的服务器。在成功挂载共享文件系统后,当向共享文件系统的服务器集群中的服务器发送业务交互消息,将当前所在的挂载生命周期所对应的挂载周期标识封装到该业务交互消息中。如此,可以为接收到业务交互消息的服务器提供判断该业务交互消息是否过期的依据,进而在该业务交互消息过期时不进行处理。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种服务器集群与共享文件系统的交互场景示意图;
图2为本申请实施例提供的一种服务器集群中的节点之间的通信示意图;
图3为本申请实施例提供的一种消息处理方法的流程示意图;
图4为本申请实施例提供的又一种服务器集群与共享文件系统的交互场景示意图;
图5为本申请实施例提供的一种共享文件系统锁管理消息装置的功能模块框图;
图6为本申请实施例提供的一种服务器的方框示意图。
图标:10、40-服务器集群;11、12、30、41、42、43-服务器;20-共享文件系统;50-共享文件系统锁管理消息处理装置;51-挂载请求模块;52-业务交互模块;53-第一保存模块;54-第一处理模块;55-第一删除模块;56-第二处理模块;57-第二保存模块;58-第二删除模块;59-第三删除模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,是本申请实施例提供的一种服务器集群10与共享文件系统20的交互场景示意图。其中,服务器集群10包括已挂载共享文件系统20的多个服务器,比如图1示出的服务器11和服务器12。在图1示出的场景中,还包括未挂载共享文件系统20的服务器30。在本申请实施例中,当服务器30挂载共享文件系统20之后,即可成为服务器集群10的成员服务器(节点)。
如图2所示,服务器集群10中的各个节点(图中仅示出两个)在传输层(Application)基于TCP(Transmission Control Protocol,传输控制协议)连接进行通信,每个节点部署有DLM,该DLM基于传输层的TCP连接向其它节点的DLM发送消息,该消息通常被称作DLM消息,也被称作锁管理消息。
针对任意服务器,从该服务器开始挂载共享文件系统20,到成功挂载共享文件系统20并由此成为服务器集群10的节点,直至该服务器又卸载共享文件系统20从而脱离服务器集群10这段时间,被称为一段挂载生命周期。该服务器所执行的挂载操作即用于开始一段挂载生命周期。
在一段挂载生命周期中,通常会涉及到以下几种消息:
第一,用于请求挂载共享文件系统20的消息。以上述服务器30为例,在需要挂载共享文件系统20时,服务器30会向服务器集群10中的各节点(即,服务器11和服务器12)发送挂载请求(Request),以协商对共享文件系统20的访问、操作机制等,当所有节点都同意服务器30挂载所述共享文件系统20时,所述服务器30才能够成功挂载所述共享文件系统20。
如果某个节点(比如服务器12)不同意所述服务器30挂载所述共享文件系统20,则该节点会向所述服务器30发送不同意挂载的消息,当所述服务器30接收到该消息时,通常会重新请求挂载所述共享文件系统20,如果在重新发送多次挂载请求后,服务器集群10中依旧存在不同意所述服务器30挂载所述共享文件系统20的服务器,则所述服务器30会发送取消挂载的通知消息给所述服务器集群10中的各服务器,同时服务器30也不再请求挂载所述共享文件系统20。
在本实施例中,上述的挂载请求、取消挂载的通知消息可以统称为JOIN DLM消息,即用于申请挂载所述共享文件系统20的DLM消息。
第二,业务交互消息,即在服务器30成功挂载所述共享文件系统20成为服务器集群10中的节点之后,可以与服务器集群10中的其他服务器进行业务上的交互,通常包括请求加锁、请求解锁等消息,这类消息通常又被称作DLM锁同步消息。
第三,在卸载共享文件系统20时发送给服务器集群10中的其他服务器的卸载(EXIT DLM)通知消息,用于通知服务器集群10中的其他服务器:本服务器上的共享文件系统20已被卸载,即本服务器已退出服务器集群10。
经发明人研究发现,在一些应用场景中,会存在如下情况:
服务器30可能会多次挂载、卸载共享文件系统20。作为服务器集群10的节点的服务器30在挂载生命周期T1内,向服务器集群10中的服务器(比如服务器12)发送了DLM消息,但由于网络状况不佳、业务逻辑异常或接收队列等待时间较长等原因,导致服务器12在接收到该DLM消息或是感知到该DLM消息时,服务器30已经不再处于挂载生命周期T1内。此时,服务器12将无法处理该DLM消息或是会将该DLM消息识别为严重的异常,从而导致服务器12宕机或是导致共享文件系统20异常。
因而,需要服务器集群10中的服务器能够识别出发送方在不属于当前所处的挂载生命周期内发送的消息,从而避免对该消息进行处理。
然而,尽管传输层所使用的TCP协议是面向连接的,DLM也是基于传输层的TCP连接来实现消息的收发,但共享文件系统20的挂载和卸载与TCP连接的建立和断开并没有直接的关联,因此,上述示例中的服务器12无法通过TCP连接的情况来判断接收到的DLM消息是否是服务器30在挂载生命周期T1内发送的。
针对上述方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中对本申请做出的贡献。
基于上述研究,本申请实施例提出一种共享文件系统锁管理消息处理方法、装置及服务器,下面对该内容进行详细阐述。
如图3所示,是本申请实施例提供的一种共享文件系统锁管理消息处理方法的流程示意图,该方法可以应用于图1所示的每个服务器。下面将以图1中示出的服务器30为例对该方法进行阐述。
步骤S301,在对共享文件系统20执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统20的挂载请求中,并将所述挂载请求发送给所述共享文件系统20的服务器集群10中的服务器。
在本实施例中,服务器30所执行的挂载操作用于开始一段挂载生命周期,该挂载生命周期即为所述挂载操作的挂载生命周期。在实施时,服务器30每次执行挂载操作,都会生成该次执行的挂载操作对应的挂载周期标识,由于挂载操作与其挂载生命周期存在对应关系,因而,该挂载周期标识也与该挂载操作的挂载生命周期相对应。
在实施时,服务器集群10中的服务器接收到服务器30发送的挂载请求时,若同意该挂载请求,则保存该挂载请求中携带的挂载周期标识。
对应地,当服务器30成功挂载共享文件系统20后,也可能会接收到服务器集群10外的其他服务器发送的挂载请求。基于此,本申请实施例提供的共享文件系统锁管理消息处理方法还可以包括步骤S302。
步骤S302,在成功挂载所述共享文件系统后,当接收到其他服务器发送的挂载请求时,若同意该挂载请求,则保存该挂载请求中携带的挂载周期标识。
其中,服务器30在保存该挂载请求中携带的挂载周期标识时,可以记录该挂载周期标识与发送该挂载请求的服务器之间的对应关系。
可选地,在本实施例中,所述方法还可以包括以下步骤:
在生成所述挂载周期标识时,保存所述挂载周期标识;
当所述服务器集群10中的任意服务器不同意所述挂载请求时,删除所保存的所述挂载周期标识,并向所述服务器集群10中的服务器发送取消挂载的通知消息。
在本实施例中,当所述服务器30开始挂载所述共享文件系统20时,会为所述共享文件系统20分配一对应的缓存,该缓存在所述服务器30卸载所述共享文件系统20时会自动被删除。生成的挂载周期标识可以被保存在与共享文件系统20对应的缓存中,那么,在所述服务器30卸载所述共享文件系统20时,该挂载周期标识也会自动被删除。
在本实施例中,针对服务器30发送的所述挂载请求,服务器集群10中可能存在部分服务器同意所述挂载请求、部分服务器不同意所述挂载请求的情况。此时,服务器30会向服务器集群10中的各服务器发送取消挂载的通知消息。其中,服务器集群10中已同意所述挂载请求的服务器在接收到所述取消挂载的通知消息时,可以删除在同意所述挂载请求时所保存的挂载周期标识。
对应地,作为服务器集群10的节点的服务器30也可能接收到其他服务器发送的取消挂载的通知消息。因而,所述方法还可以包括以下步骤:
在成功挂载所述共享文件系统后,当接收到其他服务器发送的取消挂载的通知消息时,删除所保存的所述其他服务器的挂载周期标识。
可选地,在本实施例中,可以通过如下子步骤实现生成与该挂载操作的挂载生命周期对应的挂载周期标识的步骤:
根据至少包括所述当前时间信息的信息生成所述挂载周期标识。
其中,所述当前时间信息可以是服务器30执行所述挂载操作时的时间信息,即服务器30开始挂载所述共享文件系统20时的时间信息。考虑到服务器30所执行的各次挂载操作之间,总是存在先后顺序的,因而,根据服务器30执行挂载操作的时间信息生成的挂载周期标识能够唯一地表示服务器30的一次挂载操作。
在一种具体实施方式中,所述挂载周期标识可以是仅根据所述当前时间信息生成的序列号或随机数。在又一种具体实施方式,除了所述当前时间信息之外,还可以结合服务器30的设备标识、所需加入的服务器集群10的标识等信息生成相应的序列号或随机数作为所述挂载周期标识。
在本实施例中,所述挂载周期标识可以是会话秘钥(Key),当所述服务器12(或服务器11)保存所述服务器30的挂载周期标识之后,可以视作所述服务器12(或服务器11)与所述服务器30之间建立了虚拟会话(如图2所示的session),如此成功挂载共享文件系统20的服务器30可以通过该虚拟会话与服务器12(或服务器11)进行业务交互。
步骤S303,在成功挂载所述共享文件系统20后,当向所述共享文件系统20的服务器集群10中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
其中,当所述服务器30将生成的挂载周期标识保存在与所述共享文件系统20对应的缓存中时,所述服务器30中同一时间只保存有一个挂载周期标识,且该挂载周期标识为与所述服务器30当前所在的挂载生命周期对应的挂载周期标识。因此,当所述服务器30成功挂载所述共享文件系统20后,如果需要发送业务交互消息,可以直接从与所述共享文件系统20对应的缓存中获取当前保存的挂载周期标识封装到该业务交互消息中。
所述服务器集群10中的服务器在接收到该业务交互消息时,判断该业务交互消息中的挂载周期标识和所保存的该业务交互消息的发送方(即,服务器30)的挂载周期标识是否相同,若不同,则丢弃该业务交互消息。
其中,当服务器30成功挂载共享文件系统20之后,服务器30也可能接收到服务器集群10中的其他服务器发送的业务交互消息。基于此,所述方法还可以包括步骤S304。
步骤S304,在成功挂载所述共享文件系统20后,当接收到其他服务器发送的业务交互消息时,判断所述业务交互消息中携带的挂载周期标识与保存的该其他服务器的挂载周期标识是否相同,若不相同,则丢弃该业务交互消息。
请返回参照图1,假设在图1示出的场景中还包括未挂载共享文件系统20的服务器40,当服务器30成功挂载共享文件系统20成为服务器集群10的节点之后,服务器40通过前述的步骤S301-步骤S303加入服务器集群10,则此时服务器30中保存有服务器40的挂载周期标识。若服务器30此时接收到服务器40发送的业务交互消息,则服务器30会执行步骤S304。
在上述情况下,服务器30接收到的业务交互消息中携带的挂载周期标识,是与发送方(服务器40)发送该业务交互消息时所处的挂载生命周期对应的挂载周期标识;而服务器30中保存的所述服务器40的挂载周期标识,是与发送方(服务器40)当前所处的挂载生命周期对应的挂载周期标识。
因此,若所述服务器30判断上述两者不同,则表示所述服务器30接收到的业务交互消息不是所述服务器40在当前所处的挂载生命周期内发出的,则服务器30不能对该业务交互信息进行处理,故丢弃该业务交互消息。若所述服务器30判断上述两者相同,则表示所述业务交互消息是所述服务器40在当前所处的挂载生命周期内发送出的,不属于过期消息,可以按照正常流程进行处理。
在本实施例中,当所述服务器30接收到服务器40发送的业务交互消息时,获取用于与该业务交互消息中的挂载周期标识进行比较的挂载周期标识的方式可以有多种。
在一种具体实施方式中,由于所述服务器40每次对所述共享文件系统20进行挂载操作时,都会发送携带有相应挂载周期标识的挂载请求给所述服务器集群10中的服务器,因此,所述服务器30中保存的与所述服务器40对应的挂载周期标识可能有多个,该多个挂载周期标识与所述服务器40的多个不同的挂载生命周期分别对应。在此情况下,当所述服务器30接收到业务交互消息时,可以直接在与所述服务器40对应的挂载周期标识中查找最新保存的挂载周期标识,并用该最新保存的挂载周期标识与接收到的业务交互消息中的挂载周期标识比对。
在另一种具体实施方式中,考虑到服务器集群10中的服务器在卸载共享文件系统20时会发送卸载通知消息给服务器集群10中的其他服务器,因此,所述方法还可以包括以下步骤:
在成功挂载所述共享文件系统之后,当接收到其他服务器发送的卸载通知消息时,删除所保存的所述其他服务器的挂载周期标识。
通过上述步骤,服务器30中保存的与服务器40对应的挂载周期标识仅有一个,在此情形下,可以直接用该挂载周期标识与服务器40发送的业务交互消息中携带的挂载周期标识进行比对。
在实际应用中,当服务器集群10中的服务器卸载共享文件系统20之后,可能不会立即再次挂载共享文件系统20。比如,当服务器40卸载共享文件系统20之后,如果不立即重新挂载共享文件系统20,则服务器40在卸载共享文件系统20之前发送的业务交互消息,如果在其卸载共享文件系统20之后才被服务器30接收到或感知到,服务器30也有可能对该业务交互消息进行处理。为解决该问题,所述方法还可以包括以下步骤:
当接收到其他服务器发送的业务交互消息时,判断本服务器(服务器30)中是否存在所述其他服务器的挂载周期标识,若不存在,则丢弃该业务交互消息。
通过上述步骤,可以避免服务器30对其他服务器在共享文件系统20从前一次被卸载到下一次被挂载之间发出的消息进行处理。
下面结合图4所示场景给出一具体示例,以对本申请实施例提供的共享文件锁管理消息处理方法做进一步描述,具体描述如下。
在图4所示场景中,服务器集群40包括已挂载共享文件系统20的服务器41和服务器42,该场景中的服务器43为未挂载共享文件系统20的服务器。其中,服务器41、服务器42和服务器43均可以运行上述的共享文件系统锁管理消息处理方法,具体交互过程如下:
第一,服务器43在对共享文件系统20执行挂载操作时,根据当前时间信息生成与该挂载操作的挂载生命周期对应的会话秘钥key1(即上述的挂载周期标识),在服务器43的与共享文件系统20对应的缓存中保存会话秘钥key1,将会话秘钥key1封装到挂载请求R1中,并将该挂载请求发送给服务器41和服务器42。
假设服务器41在接收到挂载请求R1时,裁定同意服务器43挂载共享文件系统20;而服务器42在接收到挂载请求R1时,裁定不同意服务器43挂载共享文件系统20。
第二,服务器41在接收到挂载请求R1时,裁定同意服务器43挂载共享文件系统20,并将会话秘钥key1保存为服务器43的会话密钥,与服务器43当前所处的挂载生命周期对应。
第三,服务器42在接收到挂载请求R1时,裁定不同意服务器43挂载共享文件系统20,并反馈拒绝挂载的通知消息Y1给服务器43。
第四,服务器43在接收到服务器42发送的拒绝挂载的通知消息Y1时,重新发送挂载请求R2给服务器42,如果重新发送多次后,仍接收到拒绝挂载的通知消息,则发送取消挂载的通知消息Y2给服务器41和服务器42。
第五,服务器41在接收到取消挂载的通知消息Y2时,丢弃所保存的会话秘钥key1。
假设服务器42在接收到挂载请求R1时,也裁定同意服务器43挂载共享文件系统20,则此时服务器43能够成功挂载共享文件系统20。并且,服务器42也会将会话key1保存为服务器43的会话密钥。
第六,在成功挂载共享文件系统20之后,当服务器43发送业务交互消息M给服务器41和/或服务器42时,将会话秘钥key1封装到业务交互消息M中,然后再将业务交互消息M发送给服务器41和/或服务器42。
第七,服务器41和/或服务器42在接收到有业务交互消息M时,判定业务交互消息M中携带的会话秘钥key1与所保存的服务器43的会话密钥(key1)相同,因此,按照常规流程对业务交互消息M进行处理。
假定,服务器43在发出业务交互消息M之后卸载了共享文件系统20,则在此情形下,服务器43可以执行如下步骤:
第八,服务器43在卸载共享文件系统20时,向服务器41和服务器42分别发送卸载通知消息Y3,服务器41和服务器42在接收到卸载通知消息Y3时,均将所保存的会话秘钥key1丢弃。
若因为网络原因,服务器41在丢弃会话秘钥key1之后,才接收到服务器43发送的业务交互消息M,则无法在服务器41中查找到服务器43的会话密钥,故丢弃业务交互消息M。
第九,服务器43再次对共享文件系统20执行挂载操作,则根据当前时间信息生成与本次挂载操作的挂载生命周期对应的会话秘钥key2,在服务器43的与共享文件系统20对应的缓存中保存会话秘钥key2,将会话秘钥key2封装到挂载请求R3中,并将挂载请求R3发送给服务器41和服务器42。
第十,服务器41接收挂载请求R3,裁定同意服务器43挂载共享文件系统20,则将会话秘钥key2保存为服务器43的会话密钥;服务器42接收挂载请求R3,裁定同意服务器43挂载共享文件系统20,则将会话秘钥key2保存为服务器43的会话密钥。
若因为网络故障等原因,服务器42在此时才接收到业务交互消息M,则服务器42可以执行如下步骤:
第十一,服务器42判定业务交互消息M中的会话秘钥key1与所保存的服务器43的会话密钥(key2)不同,故丢弃业务交互消息M。
如图5所示,是本申请实施例提供的一种共享文件系统锁管理消息处理装置50的功能模块框图,该装置可以用于图1所示的每个服务器,所述装置包括挂载请求模块51和业务交互模块52。
其中,挂载请求模块51用于在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统20的挂载请求中,并将所述挂载请求发送给所述共享文件系统20的服务器集群10中的服务器。
在本实施例中,关于挂载请求模块51的描述具体可参考对图3所示的步骤S301的详细描述,即步骤S301可以由挂载请求模块51执行。
业务交互模块52用于在成功挂载所述共享文件系统20后,当向所述服务器集群10中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
在本实施例中,关于业务交互模块52的描述具体可以参考对图3所示步骤S303的详细描述。
可选地,所述装置还可以包括第一保存模块53和第一处理模块54。
第一保存模块53用于在成功挂载所述共享文件系统后,当接收到其他服务器发送的挂载请求时,若同意该挂载请求,则保存该挂载请求中携带的挂载周期标识。
在本实施例中,关于第一保存模块53的描述具体可参考对图3所示步骤S302的详细描述,即步骤S302可以由第一保存模块53执行。
第一处理模块54用于当接收到该其他服务器发送的业务交互消息时,判断所述业务交互消息中携带的挂载周期标识与保存的该其他服务器的挂载周期标识是否相同;若不相同,则丢弃所述业务交互消息。
在本实施例中,关于第一处理模块54的描述具体可参考对图3所示步骤S304的详细描述,即步骤S304可以由第一处理模块54执行。
可选地,所述装置还可以保存第一删除模块55和第二处理模块56。
其中,第一删除模块55用于当接收到所述其他服务器发送的卸载通知消息时,删除所保存的所述其他服务器的挂载周期标识。
第二处理模块56用于当接收到所述其他服务器发送的业务交互消息时,判断本服务器中是否存在所述其他服务器的挂载周期标识,若不存在,则丢弃该业务交互消息。
可选地,所述装置还可以包括第二保存模块57、第二删除模块58和第三删除模块59。
其中,第二保存模块57用于在生成所述挂载周期标识时,保存所述挂载周期标识。
第二删除模块58用于当所述服务器集群中的任意服务器不同意所述挂载请求时,删除所保存的所述挂载周期标识,并发送取消挂载的通知消息给所述服务器集群中的服务器。
第三删除模块59用于在成功挂载所述共享文件系统后,当接收到其他服务器发送的取消挂载的通知消息时,删除所保存的所述其他服务器的挂载周期标识。
在本实施例中,关于上述模块的描述具体可参考对前述相关步骤的详细描述。
如图6所示,本申请实施例还提供一种服务器60,该服务器60包括处理器61和机器可读存储介质62,机器可读存储介质62可以通过系统总线实现与处理器61的通信。机器可读存储介质62上存储有能够被处理器61执行的机器可执行指令,所述机器可执行指令被执行时促使所述处理器61实现本申请实施例提供的所述共享文件系统锁管理消息处理方法。
综上所述,本申请实施例提供的共享文件系统锁管理消息处理方法、装置及服务器,服务器在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将挂载周期标识封装到挂载请求中,并发送给服务器集群中的服务器。在成功挂载共享文件系统后,当向服务器集群中的服务器发送业务交互消息时,在该业务交互消息中分钟与本服务器当前所在的挂载生命周期对应的挂载周期标识。如此,可以为接收到业务交互消息的服务器提供判断该业务交互消息是否过期的依据,进而在该业务交互消息过期时不进行处理。
在本申请所提供的实施例中,应当理解到,所揭露的方法、装置和服务器,也可以通过其它方式实现。以上所描述的实施例仅为示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的选定实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种共享文件系统锁管理消息处理方法,其特征在于,应用于服务器,所述方法包括:
在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统的挂载请求中,并将所述挂载请求发送给所述共享文件系统的服务器集群中的服务器;
在成功挂载所述共享文件系统后,当向所述服务器集群中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在成功挂载所述共享文件系统后,当接收到其他服务器发送的挂载请求时,若同意该挂载请求,则保存该挂载请求中携带的挂载周期标识;
当接收到该其他服务器发送的业务交互消息时,判断所述业务交互消息中携带的挂载周期标识与保存的该其他服务器的挂载周期标识是否相同,若不相同,则丢弃所述业务交互消息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当接收到所述其他服务器发送的卸载通知消息时,删除所保存的所述其他服务器的挂载周期标识;
当接收到所述其他服务器发送的业务交互消息时,判断本服务器中是否存在所述其他服务器的挂载周期标识,若不存在,则丢弃该业务交互消息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
在生成所述挂载周期标识时,保存所述挂载周期标识;
当所述服务器集群中的任意服务器不同意所述挂载请求时,删除所保存的所述挂载周期标识,并发送取消挂载的通知消息给所述服务器集群中的服务器。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在成功挂载所述共享文件系统后,当接收到其他服务器发送的取消挂载的通知消息时,删除所保存的该其他服务器的挂载周期标识。
6.根据权利要求1-3中任一项所述的方法,其特征在于,生成与该挂载操作的挂载生命周期对应的挂载周期标识,包括:
根据至少包括当前时间信息的信息生成所述挂载周期标识。
7.一种共享文件系统锁管理消息处理装置,其特征在于,应用于服务器,所述装置包括:
挂载请求模块,用于在对共享文件系统执行挂载操作时,生成与该挂载操作的挂载生命周期对应的挂载周期标识,将所述挂载周期标识封装到用于请求挂载所述共享文件系统的挂载请求中,并将所述挂载请求发送给所述共享文件系统的服务器集群中的服务器;
业务交互模块,用于在成功挂载所述共享文件系统后,当向所述服务器集群中的服务器发送业务交互消息时,在该业务交互消息中封装与本服务器当前所在的挂载生命周期对应的挂载周期标识,再发送所述业务交互消息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一保存模块,用于在成功挂载所述共享文件系统后,当接收到其他服务器发送的挂载请求时,若同意该挂载请求,则保存该挂载请求中携带的挂载周期标识;
第一处理模块,用于当接收到该其他服务器发送的业务交互消息时,判断所述业务交互消息中携带的挂载周期标识与保存的该其他服务器的挂载周期标识是否相同;若不相同,则丢弃所述业务交互消息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一删除模块,用于当接收到所述其他服务器发送的卸载通知消息时,删除所保存的所述其他服务器的挂载周期标识;
第二处理模块,用于当接收到所述其他服务器发送的业务交互消息时,判断本服务器中是否存在所述其他服务器的挂载周期标识,若不存在,则丢弃该业务交互消息。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述装置还包括:
第二保存模块,用于在生成所述挂载周期标识时,保存所述挂载周期标识;
第二删除模块,用于当所述服务器集群中的任意服务器不同意所述挂载请求时,删除所保存的所述挂载周期标识,并发送取消挂载的通知消息给所述服务器集群中的服务器。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第三删除模块,用于在成功挂载所述共享文件系统后,当接收到其他服务器发送的取消挂载的通知消息时,删除所保存的所述其他服务器的挂载周期标识。
12.一种服务器,其特征在于,包括处理器及机器可读存储介质,该机器可读存储介质上存储有机器可执行指令,该机器可执行指令被执行促使所述处理器实现权利要求1-6中任一项所述的方法。
CN201810653643.4A 2018-06-22 2018-06-22 共享文件系统锁管理消息处理方法、装置及服务器 Active CN108804709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810653643.4A CN108804709B (zh) 2018-06-22 2018-06-22 共享文件系统锁管理消息处理方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810653643.4A CN108804709B (zh) 2018-06-22 2018-06-22 共享文件系统锁管理消息处理方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN108804709A CN108804709A (zh) 2018-11-13
CN108804709B true CN108804709B (zh) 2021-01-01

Family

ID=64085119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810653643.4A Active CN108804709B (zh) 2018-06-22 2018-06-22 共享文件系统锁管理消息处理方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN108804709B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344136A (zh) * 2018-12-13 2019-02-15 浪潮(北京)电子信息产业有限公司 一种共享文件系统的访问方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706822A (zh) * 2009-12-18 2010-05-12 杭州迪普科技有限公司 提高挂载日志式文件系统速度的方法及设备
CN101883028A (zh) * 2010-06-30 2010-11-10 中兴通讯股份有限公司 网络文件系统服务器的检测方法及装置
CN105577904A (zh) * 2015-03-27 2016-05-11 酷派软件技术(深圳)有限公司 一种文件共享方法及移动终端
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4490743B2 (ja) * 2004-06-24 2010-06-30 株式会社日立製作所 ファイル共有システム、ファイル共有用管理サーバおよびクライアント装置
US8209307B2 (en) * 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
CN104866779B (zh) * 2015-04-07 2018-05-11 福建师范大学 一种控制电子文件生命周期及安全删除的方法及系统
US10114835B2 (en) * 2015-04-29 2018-10-30 Box, Inc. Virtual file system for cloud-based shared content
CN107783842B (zh) * 2016-08-31 2021-09-03 阿里巴巴集团控股有限公司 一种分布式锁实现方法、设备及存储装置
CN107766001B (zh) * 2017-10-18 2021-05-25 成都索贝数码科技股份有限公司 一种基于用户群组的存储配额方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706822A (zh) * 2009-12-18 2010-05-12 杭州迪普科技有限公司 提高挂载日志式文件系统速度的方法及设备
CN101883028A (zh) * 2010-06-30 2010-11-10 中兴通讯股份有限公司 网络文件系统服务器的检测方法及装置
CN105577904A (zh) * 2015-03-27 2016-05-11 酷派软件技术(深圳)有限公司 一种文件共享方法及移动终端
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件系统

Also Published As

Publication number Publication date
CN108804709A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US7627627B2 (en) Controlling command message flow in a network
US9838297B2 (en) System and method for message routing in a network
US7136645B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US9083622B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US9473925B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
CN103607428B (zh) 一种访问共享内存的方法和装置
US20030120811A1 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US20050243725A1 (en) System for selecting routes for retransmission in a network
WO2002023362A1 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
EP2939401B1 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
EP2597818A1 (en) Cluster management system and method
CN108804709B (zh) 共享文件系统锁管理消息处理方法、装置及服务器
CN105978796A (zh) 基于不稳定移动网络的消息通信方法及系统
CN110209986A (zh) 内存状态数据同步方法及装置
WO2019042032A1 (zh) 一种数据传输方法、rlc实体及pdcp实体
WO2024032450A1 (zh) 一种通信方法及通信模组
US7466699B2 (en) System for communicating between network end-points using a payload offset and buffer pool handle
CN108270876B (zh) 一种信号系统中代理服务器的实现方法
CN113992740B (zh) 一种基于自主可控的中间件及数据传输方法
JP2009515474A (ja) 独立したメッセージストアおよびメッセージトランスポートエージェント
CN107872479B (zh) 云管理平台与控制器集成方法和系统以及相关模块
CN113727138A (zh) 一种hls内网回源方法
CN111490997B (zh) 任务处理方法、代理系统、服务系统和电子设备
CN112769926A (zh) 一种物联网中心、系统和通信方法

Legal Events

Date Code Title Description
PB01 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