CN105897804B - 用于控制资源在多个节点之间的共享的方法和装置 - Google Patents

用于控制资源在多个节点之间的共享的方法和装置 Download PDF

Info

Publication number
CN105897804B
CN105897804B CN201510004780.1A CN201510004780A CN105897804B CN 105897804 B CN105897804 B CN 105897804B CN 201510004780 A CN201510004780 A CN 201510004780A CN 105897804 B CN105897804 B CN 105897804B
Authority
CN
China
Prior art keywords
node
resource
destination
locked
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
CN201510004780.1A
Other languages
English (en)
Other versions
CN105897804A (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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Priority to CN201510004780.1A priority Critical patent/CN105897804B/zh
Priority to US14/968,434 priority patent/US10616326B2/en
Publication of CN105897804A publication Critical patent/CN105897804A/zh
Application granted granted Critical
Publication of CN105897804B publication Critical patent/CN105897804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例公开了用于控制资源在多个节点之间的共享的方法和装置。在一个实施例中,提供一种用于控制资源在多个节点之间的共享的方法。该方法包括:响应于多个节点中的目标节点处将要发起使用该资源的服务,在目标节点处锁定与该资源的使用相关的目标文件;响应于目标文件被成功锁定,在目标节点处确定多个节点中的其他节点处的、与该资源的使用相关的其他文件是否已被锁定;以及响应于确定其他文件未被锁定,在目标节点处使用该资源发起服务。还公开了相应地用于控制资源在多个节点之间的共享的装置。

Description

用于控制资源在多个节点之间的共享的方法和装置
技术领域
本发明的实施例总体上涉及计算机技术领域,并且更具体地,涉及用于控制资源在多个节点之间的共享的方法和装置。
背景技术
在包括多个节点的集群系统中,可以在多个节点之间提供共享服务。本文所使用的术语“节点”是指任意计算设备,包括但不限于,服务器、个人计算机(PC)、膝上型计算机、平板式计算机、个人数字助理(PDA)、移动电话、智能手机等。
这种共享服务使用的资源通常跨集群系统中的多个节点而分布,并且各节点对该服务以及相应资源的使用往往是独占的。例如,在一个时间只能有一个节点或者一个节点中的一个进程发起该服务,使用相应资源。文本所使用的术语“资源”是指服务启用后所占用的任意资源,包括但不限于,计算资源,例如中央处理单元(CPU)等;存储资源,例如存储器、磁盘等;输入/输出(I/O)资源,例如可用图形处理单元(GPU)能力等;网络资源,例如网络带宽等等。
在当前的集群系统中,一种传统的控制共享服务所使用的资源在多个节点之间共享的方式是使用一个专门的控制节点来控制该共享。集群中所有节点要使用服务和相应资源以及服务结束后释放资源都需要与控制节点交互。
例如,当集群中一个节点、例如节点A想要发起共享服务时,首先向控制节点询问当前是否有其他节点正在使用该服务。如果没有其他节点正在使用该服务,节点A则发起该服务。在节点A使用该服务期间,如果另一节点、例如节点B想要使用该服务,节点B也向控制节点发出询问。因为节点A正在使用该服务,所以控制节点告知节点B该服务正在使用,这样节点B就不能发起该服务了。直到该服务在节点A处结束,集群中的其他节点才能再次发起该服务。当服务结束后,节点A也需要告知控制节点该服务已经结束并且相应的资源已被释放。这样,控制节点就可以服务在节点A处结束的消息通知给集群中的其他节点。
这种使用控制节点来集中控制集群中多个节点之间的资源共享的方式需要在节点之间频繁进行通信交互,造成很大的消息开销。而且,集中控制的方式还容易出现单点故障的问题。即,如果控制节点出现故障,则集群中的各节点将无法使用该服务。因此,需要一种能够有效控制共享服务以及相应资源在多个节点之间的共享的解决方案。
发明内容
一般地,本发明的实施例提出用于控制资源在多个节点之间的共享的方法和装置。
根据本发明的第一方面,提供了一种用于控制资源在多个节点之间的共享的方法。该方法包括:响应于多个节点中的目标节点处将要发起使用该资源的服务,在目标节点处锁定与该资源的使用相关的目标文件;响应于目标文件被成功锁定,在目标节点处确定多个节点中的其他节点处的、与该资源的使用相关的其他文件是否已被锁定;以及响应于确定其他文件未被锁定,在目标节点处使用该资源发起服务。
这方面的实施例还包括一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器执行根据本发明的第二方面的方法的步骤。
根据本发明的第二方面,提供了一种用于控制资源在多个节点之间的共享的装置。该装置包括:锁定单元,被配置为响应于多个节点中的目标节点处将要发起使用该资源的服务,在目标节点处锁定与该资源的使用相关的目标文件;确定单元,被配置为响应于目标文件被成功锁定,在目标节点处确定多个节点中的其他节点处的、与该资源的使用相关的其他文件是否未被锁定;以及服务发起单元,被配置为响应于确定其他文件未被锁定,在目标节点处使用该资源发起服务。
通过下文描述将会理解,根据本发明的实施例,可以在多个节点之间以分布式方式高效地控制资源的共享。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本发明的实施例可以实施于其中的示例集群系统;
图2示出了根据本发明的一个实施例的用于控制资源在多个节点之间的共享的方法的流程图;
图3示出了根据本发明的一个实施例的用于锁定与资源的使用相关的文件的方法的流程图;
图4示出了根据本发明的一个实施例的用于锁定与资源的使用相关的文件的方法的流程图;
图5示出了根据本发明的一个实施例的用于控制资源在多个节点之间的共享的装置的框图;以及
图6示出了适于实现本发明的示例实施例的计算机系统的框图。
具体实施例
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
首先参考图1,其示出了本发明的实施例可以实施于其中的示例集群系统100。如图所示,一般而言,系统100可以包括多个节点110、120和130。节点110、120和130之间可以通过有线或者无线通信链路彼此通信。应当理解,图1所示的节点110的数目仅仅是出于说明之目的而无意于限制。
如上所述,节点110的示例包括但不限于以下一个或多个:服务器、个人计算机(PC)、膝上型计算机、平板式计算机、个人数字助理(PDA)、移动电话、智能手机,等等。
应当理解,虽然图1未示出,但是节点110、120和130可以包括:一个或者多个处理器或者处理单元、存储器以及连接不同系统组件(包括处理器或者处理单元以及存储器)的总线。
如上所述,在系统100中可以提供能够在节点110、120和130之间共享的服务,该服务所使用的资源跨节点110、120和130而分布。节点110、120和130对该服务的使用是独占性的,即一个时间只能有一个节点使用该服务。
如上所述,在传统方式中,由专门的控制节点(未示出)来集中控制共享服务使用的资源在多个节点之间的共享。这种集中式控制的方式一方面需要节点之间进行频繁的通信,造成很大的消息开销;另一方面,容易产生单点故障的问题。
根据本发明的实施例,在多个节点之间分布式地控制资源的共享,其具体过程将在以下例如参考图2详细描述。这种分布式方式直接在多个节点之间进行通信交互,不需要额外的节点进行专门的控制。
图2示出了根据本发明的一个实施例的用于控制资源在多个节点之间的共享的方法200的流程图。方法200可以通过图1中所示的节点110、120和130来执行。
方法200开始于步骤210,在此响应于多个节点中的目标节点处将要发起服务,在该目标节点处锁定与该服务所使用的资源的使用相关的目标文件。以下为描述方便,以图1中所示的节点110作为多个节点中的目标节点,节点120和130作为多个节点中的其他节点。
根据本发明的实施例,可以预定义资源与文件之间的映射关系。例如,在一个实施例中,可以预定义与服务所使用的资源相对应的文件的文件名和访问路径。在此示例中,在节点110想要发起服务时,首先根据该服务所使用的资源与文件、例如文件名和路径的映射关系,在本地查找与该资源的使用相关的文件,继而锁定该文件。应当理解,可以以任意适当方式预定义资源与文件的映射关系,本发明的范围在此方面不受限制。
根据本发明的实施例,资源与文件之间的映射关系可以以使节点可获知该映射关系的任意适当形式存储于节点之中。例如,在一个实施例中,可以在配置文件中存储该映射关系。相应地,节点110可以通过读取该配置文件来获知资源与文件之间的映射关系。在另一实施例中,可以将该映射关系以表的形式存储,节点110通过查表来获知该映射关系。为了防止资源与文件的映射关系被篡改以增强安全性,在又一实施例中,可以以数据结构的形式存储该映射关系。例如,可以在与服务有关的软件的数据结构中,以源代码的形式描述资源与文件的对应关系。
根据本发明的实施例,节点110锁定与资源的使用相关的本地文件的具体方式可以采用本领域中已知的或将来开发的任何适当方式,本发明的范围在此方面不受限制。例如,可以通过修改文件属性的方式来锁定文件。具体地,可以将文件属性修改为不可读写,以此来标识该文件已被锁定。备选地,还可以使用标志位来指示文件已被锁定。
在节点110锁定本地文件时,可能由于误操作等原因,在该节点处不存在与要发起的服务所使用的资源相对应的文件。图3示出了在此情况下根据本发明的一个实施例的用于锁定与资源的使用相关的文件的方法300的流程图。如图所示,在方法300中,节点110首先在步骤310确定该文件是否存在。如果该文件不存在,则节点110在步骤320根据已经获知的资源与文件的映射关系创建该文件,继而在步骤330锁定所创建的文件。具体的文件锁定方式与上面描述的类似,在此不再赘述。
另外,在节点此次发起服务之前,可能已经使用过该服务。为了避免由于之前使用该服务的进程失效而造成死锁,在一个实施例中,如果确定相关文件已经锁定,则执行确定锁定该文件的进程是否存在的步骤。下面参考图4讨论一个具体示例。如图所示,在方法400中,节点110首先在步骤410确定本地文件是否已被锁定。如果确定该文件已被锁定,则节点110在步骤420确定锁定该文件的进程是否存在。如果该进程不存在,则节点110可以确定该进程已经失效,于是在步骤430执行文件锁定操作。如果在步骤420确定锁定该文件的进程仍然存在,则节点110可以确定该服务正在本地使用,于是放弃发起该服务。
接下来,继续参考图2,节点110在步骤210成功锁定与将要发起的服务所使用的资源的使用相关的文件之后,节点110在步骤220确定在多个节点中的其他节点120和130处的、与该资源的使用相关的其他文件是否已被锁定。根据本发明的实施例,节点110可以自己确定在其他节点120和130处的其他文件是否已被锁定。备选地,节点110还可以请求节点120和130确定相应的文件是否已被锁定。
具体地,在一个实施例中,在步骤220,节点110首先尝试锁定节点120处的相应文件。例如,节点110通过有线或者无线通信链路访问节点120后,启用节点120中的一个进程,以尝试锁定节点120处与资源相对应的文件。根据本发明的实施例,各节点110、120和130处与服务所使用的资源相关的文件可以是不同文件,也可以是相同的文件的不同实例,本发明的范围在此方面不受限制。找到相关文件以及锁定该文件的具体方式与上面参考步骤210所描述的节点110的本地处理类似,在此不再赘述。
在该示例中,如果节点120处的相关文件被成功锁定,则节点110可以确定节点120处的相应文件未被锁定。继而,节点110可以按照同样的过程确定节点130处的相应文件是否已被锁定。如果没有某个节点处的相应文件已被锁定,则节点110可以确定其他节点处的相应文件未被锁定,继而可以发起服务。
只要其他节点处的文件未被锁定,节点110的上述确定过程就一直继续。如果节点110确定了某个节点处的相应文件已被锁定,则可以由此确定有其他节点正在使用该服务,于是节点110可以停止上述确定过程,并且放弃发起该服务。当然,节点110也可以不考虑是否已经确定了某个节点处的相应文件已被锁定,而一直持续上述确定过程,直到针对所有其他节点处执行了上述确定为止。
为了避免其他节点处的与资源的使用相关的文件被不适当的锁定,在一个实施例中,节点110在成功锁定节点120处的相应文件后立即解除该锁定。否则,节点110在服务结束后需要再次访问节点120或者请求节点120解除对该文件的锁定。
备选地或附加地,节点110除了可以自己尝试锁定其他节点120和130处的、与资源的使用相关的文件,在另一实施例中,节点110还可以请求其他节点120和130确定相应文件是否已被锁定。例如,节点110可以向节点120和130询问该节点处的、与资源的使用相关的相应文件是否已被锁定。如果接收到否定应答,则节点110可以确定该节点处的相应文件未被锁定。根据本发明的实施例,系统中的其他节点可以在接收到节点110的询问后,尝试锁定本地文件,具体过程与上面参考步骤210所描述的节点110锁定本地文件的处理类似,在此不再赘述。同样,其他节点在成功锁定本地文件后,可以立即解除该锁定。
继而,方法200进行到步骤230,在此节点110响应于在步骤220确定其他节点处的、与资源的使用相关的其他文件未被锁定,使用该资源发起服务。以此方式,要发起服务的节点可以通过直接与其他节点通信来确定其他节点是否在使用该服务,从而相应地确定是否发起服务。如上所述,在传统方式中,需要专门的控制节点来集中控制资源在多个节点之间的共享。根据本发明的实施例,可以分布式地控制该共享,一方面可以节省消息开销,另一方面有效避免了单点故障的发生,从而提高了控制资源共享的效率。
图5示出了根据本发明的一个实施例的用于控制资源在多个节点之间的共享的装置500的框图。装置500可以通过图1中所示的节点110、120和130来实现。
如图所示,装置500包括锁定单元510,被配置为响应于将要在多个节点中的目标节点处发起使用该资源的服务,在目标节点处锁定与该资源的使用相关的目标文件;确定单元520,被配置为响应于目标文件被成功锁定,在目标节点处确定多个节点中的其他节点处的、与该资源的使用相关的其他文件是否未被锁定;以及服务发起单元530,被配置为响应于确定其他文件未被锁定,在目标节点处使用该资源发起服务。
在一个实施例中,锁定单元510可以包括:文件确定单元,被配置为确定目标文件是否存在;文件创建单元,被配置为响应于目标文件不存在,创建目标文件;以及第一锁定单元,被配置为锁定所创建的目标文件。
在一个实施例中,锁定单元510可以包括:锁定确定单元,被配置为确定目标文件是否已被锁定;进程确定单元,被配置为响应于目标文件已被锁定,确定锁定目标文件的进程是否存在;以及第一锁定单元,被配置为响应于确定该进程不存在,锁定目标文件。
在一个实施例中,确定单元520可以包括:尝试锁定单元,被配置为在目标节点处尝试锁定所述多个节点中的另一节点处的、与该资源的使用相关的相应文件;以及第一确定单元,被配置为响应于相应文件能够被成功锁定,确定多个节点中的另一节点处的相应文件未被锁定。
在一个实施例中,确定单元520还可以包括:锁定解除单元,被配置为在成功锁定多个节点中的另一节点处的相应文件之后立即解除对相应文件的锁定。
在一个实施例中,确定单元520还可以包括:询问单元,被配置为向多个节点中的另一节点询问与资源的使用相关的相应文件是否已被锁定;以及第一确定单元,被配置为响应于接收到否定应答,确定多个节点中的另一节点处的相应文件未被锁定。
在一个实施例中,装置500还可以包括解除单元540,被配置为响应于服务结束,在目标节点处解除对目标文件的锁定。
应当注意,为清晰起见,在图5中没有示出装置500所包括的可选单元或子单元。应当理解,上文结合图1到图4所描述的所有特征和操作分别适用于装置500,故在此不再赘述。而且,装置500中的单元或子单元的划分不是限制性的而是示例性的,旨在从逻辑上描述其主要功能或操作。一个单元的功能可以由多个单元来实现;反之,多个单元亦可由一个单元来实现。本发明的范围在此方面不受限制。
而且,装置500所包含的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,装置500可以利用软件和/或固件来实现。备选地或附加地,装置500可以部分地或者完全地基于硬件来实现。例如,装置500中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA),等等。本发明的范围在此方面不受限制。
本发明可以是方法、装置和/或计算机程序产品。下面参考图6,其示出了适于用来实现本发明实施例的计算机系统600的示意性框图。如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,文参考图1至图3描述的过程可以被实现为计算机程序产品,其可以被有形地存储在非瞬态计算机可读存储介质上,并且包括机器可执行指令,该指令在被执行时使得机器实现根据本发明的各个方面。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读存储介质可以是可以存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的、非穷举的例子包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Java、Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的设备、方法和计算机程序产品的框图和/或流程图描述了本发明的各个方面。应当理解,框图和/或流程图的每个方框以及框图和/或流程图中各方框的组合,都可以由计算机可读程序指令实现。
已经出于示例的目的描述了本发明的各个实施例,但是本发明并不意图限于所公开的这些实施例。在不脱离本发明实质的前提下,所有修改和变型均落入由权利要求所限定的本发明的保护范围之内。

Claims (15)

1.一种用于控制资源在多个节点之间的共享的方法,包括:
响应于所述多个节点中的目标节点处将要发起使用所述资源的服务,在所述目标节点处锁定与所述资源的使用相关的目标文件;
响应于所述目标文件被成功锁定,在所述目标节点处确定所述多个节点中的其他节点处的、与所述资源的使用相关的其他文件是否已被锁定;以及
响应于确定所述其他文件未被锁定,在所述目标节点处使用所述资源发起所述服务。
2.根据权利要求1所述的方法,其中在所述目标节点处确定所述多个节点中的其他节点处的所述其他文件是否已被锁定包括:
在所述目标节点处尝试锁定所述多个节点中的另一节点处的、与所述资源的使用相关的相应文件;以及
响应于所述相应文件能够被成功锁定,确定所述多个节点中的另一节点处的所述相应文件未被锁定。
3.根据权利要求2所述的方法,还包括:
在成功锁定所述多个节点中的另一节点处的所述相应文件之后立即解除对所述相应文件的锁定。
4.根据权利要求1所述的方法,其中在所述目标节点处确定所述多个节点中的其他节点处的所述其他文件是否已被锁定包括:
向所述多个节点中的另一节点询问所述另一节点处的、与所述资源的使用相关的相应文件是否已被锁定;以及
响应于接收到否定应答,确定所述多个节点中的另一节点处的所述相应文件未被锁定。
5.根据权利要求1所述的方法,还包括:
响应于所述服务结束,在所述目标节点处解除对所述目标文件的锁定。
6.根据权利要求1所述的方法,其中在所述目标节点处锁定与所述资源的使用相关的所述目标文件包括:
确定所述目标文件是否存在;
响应于所述目标文件不存在,创建所述目标文件;以及
锁定创建的所述目标文件。
7.根据权利要求1所述的方法,其中在所述目标节点处锁定与所述资源的使用相关的所述目标文件包括:
确定所述目标文件是否已被锁定;
响应于所述目标文件已锁定,确定锁定所述目标文件的进程是否存在;以及
响应于确定所述进程不存在,锁定所述目标文件。
8.一种用于控制资源在多个节点之间的共享的装置,包括:
锁定单元,被配置为响应于所述多个节点中的目标节点处将要发起使用所述资源的服务,在所述目标节点处锁定与所述资源的使用相关的目标文件;
确定单元,被配置为响应于所述目标文件被成功锁定,在所述目标节点处确定所述多个节点中的其他节点处的、与所述资源的使用相关的其他文件是否未被锁定;以及
服务发起单元,被配置为响应于确定所述其他文件未被锁定,在所述目标节点处使用所述资源发起所述服务。
9.根据权利要求8所述的装置,其中所述确定单元包括:
尝试锁定单元,被配置为在所述目标节点处尝试锁定所述多个节点中的另一节点处的、与所述资源的使用相关的相应文件;以及
第一确定单元,被配置为响应于所述相应文件能够被成功锁定,确定所述多个节点中的另一节点处的所述相应文件未被锁定。
10.根据权利要求9所述的装置,所述确定单元还包括:
锁定解除单元,被配置为在成功锁定所述多个节点中的另一节点处的所述相应文件之后立即解除对所述相应文件的锁定。
11.根据权利要求8所述的装置,其中所述确定单元还包括:
询问单元,被配置为向所述多个节点中的另一节点询问与所述资源的使用相关的相应文件是否已被锁定;以及
第一确定单元,被配置为响应于接收到否定应答,确定在所述多个节点中的另一节点处的所述相应文件未被锁定。
12.根据权利要求8所述的装置,还包括:
解除单元,被配置为响应于所述服务结束,在所述目标节点处解除对所述目标文件的锁定。
13.根据权利要求8所述的装置,其中所述锁定单元包括:
文件确定单元,被配置为确定所述目标文件是否存在;
文件创建单元,被配置为响应于所述目标文件不存在,创建所述目标文件;以及
第一锁定单元,被配置为锁定创建的所述目标文件。
14.根据权利要求8所述的装置,其中所述锁定单元包括:
锁定确定单元,被配置为确定所述目标文件是否已被锁定;
进程确定单元,被配置为响应于所述目标文件已被锁定,确定锁定所述目标文件的进程是否存在;以及
第一锁定单元,被配置为响应于确定所述进程不存在,锁定所述目标文件。
15.一种非瞬态计算机可读存储介质,其上有形地存储计算机程序,所述计算机程序包括机器可执行指令,所述指令当在机器上被执行时使得所述机器执行根据权利要求1到7任一项所述的方法的步骤。
CN201510004780.1A 2015-01-04 2015-01-04 用于控制资源在多个节点之间的共享的方法和装置 Active CN105897804B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510004780.1A CN105897804B (zh) 2015-01-04 2015-01-04 用于控制资源在多个节点之间的共享的方法和装置
US14/968,434 US10616326B2 (en) 2015-01-04 2015-12-14 Controlling sharing of resource among a plurality of nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510004780.1A CN105897804B (zh) 2015-01-04 2015-01-04 用于控制资源在多个节点之间的共享的方法和装置

Publications (2)

Publication Number Publication Date
CN105897804A CN105897804A (zh) 2016-08-24
CN105897804B true CN105897804B (zh) 2019-03-19

Family

ID=56287157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510004780.1A Active CN105897804B (zh) 2015-01-04 2015-01-04 用于控制资源在多个节点之间的共享的方法和装置

Country Status (2)

Country Link
US (1) US10616326B2 (zh)
CN (1) CN105897804B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721837A (zh) 2021-01-06 2022-07-08 伊姆西Ip控股有限责任公司 用于管理线程的方法、设备和计算机程序产品
CN113641365B (zh) * 2021-07-22 2022-06-17 深圳市华力宇电子科技有限公司 芯片烧写管控方法、终端及存储介质
CN114116200B (zh) * 2021-10-27 2024-04-05 北京百度网讯科技有限公司 资源共享方法、服务创建方法、装置和电子设备
CN115242775A (zh) * 2022-07-04 2022-10-25 中国银联股份有限公司 资源文件获取方法、装置、设备、介质及产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959337B2 (en) * 2001-04-23 2005-10-25 Hewlett-Packard Development Company, L.P. Networked system for assuring synchronous access to critical facilities
CN101291245A (zh) * 2007-04-16 2008-10-22 阿里巴巴集团控股有限公司 一种分布式处理方法、系统及其装置
CN101375250A (zh) * 2006-02-03 2009-02-25 甲骨文国际公司 自适应区域锁定
CN103544189A (zh) * 2012-07-17 2014-01-29 珠海金山办公软件有限公司 锁定正在编辑文件的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376744B2 (en) * 2003-05-09 2008-05-20 Oracle International Corporation Using local locks for global synchronization in multi-node systems
US20110179082A1 (en) * 2004-02-06 2011-07-21 Vmware, Inc. Managing concurrent file system accesses by multiple servers using locks
US8037169B2 (en) * 2005-05-18 2011-10-11 Oracle International Corporation Determining affinity in a cluster
US7493400B2 (en) * 2005-05-18 2009-02-17 Oracle International Corporation Creating and dissolving affinity relationships in a cluster
US7730258B1 (en) * 2005-11-01 2010-06-01 Netapp, Inc. System and method for managing hard and soft lock state information in a distributed storage system environment
US8719432B1 (en) * 2010-04-30 2014-05-06 Amazon Technologies, Inc. System and method for determining staleness of data received from a distributed lock manager
US8930333B1 (en) * 2011-05-03 2015-01-06 Symantec Corporation Lockahead for simultaneous readers and writers in a clustered file system
EP2686805A4 (en) * 2011-10-31 2016-02-24 Hewlett Packard Development Co Maintaining a File Capture
JP6473141B2 (ja) * 2013-05-31 2019-02-20 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 睡眠検査データのようなデータを自動的にアップロード、ダウンロード及び更新するためのシステム及び方法
US9525735B2 (en) * 2013-10-30 2016-12-20 Futurewei Technologies, Inc. Lock elevation in a distributed file storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959337B2 (en) * 2001-04-23 2005-10-25 Hewlett-Packard Development Company, L.P. Networked system for assuring synchronous access to critical facilities
CN101375250A (zh) * 2006-02-03 2009-02-25 甲骨文国际公司 自适应区域锁定
CN101291245A (zh) * 2007-04-16 2008-10-22 阿里巴巴集团控股有限公司 一种分布式处理方法、系统及其装置
CN103544189A (zh) * 2012-07-17 2014-01-29 珠海金山办公软件有限公司 锁定正在编辑文件的方法及系统

Also Published As

Publication number Publication date
CN105897804A (zh) 2016-08-24
US10616326B2 (en) 2020-04-07
US20160197990A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
CN107507005B (zh) 一种基于联盟链的链外数据访问方法和系统
EP3380937B1 (en) Techniques for analytics-driven hybrid concurrency control in clouds
US9665398B2 (en) Method and apparatus for activity based execution scheduling
CN102299915B (zh) 基于网络层声明的访问控制
CN105897804B (zh) 用于控制资源在多个节点之间的共享的方法和装置
US8543903B2 (en) System and method of integrating a plurality of form related workflow tools
US20070124365A1 (en) Method, apparatus and program storage device that provides a user mode device interface
JP2015505392A (ja) 分散型バーチャル・マシンにおけるネイティブ・インタフェースのための隠された自動化データ・ミラーリングのためのシステム、方法、およびコンピュータ・プログラム(分散型バーチャル・マシンにおけるネイティブ・インタフェースのための隠された自動化データ・ミラーリング)
CN101673275B (zh) 一种保证数据库内事务一致的方法及装置
US20070033640A1 (en) Generic context service in a distributed object environment
US20080091679A1 (en) Generic sequencing service for business integration
CN115373822A (zh) 任务调度方法、任务处理方法、装置、电子设备和介质
WO2023064180A1 (en) Assignment and dynamic application of a permission rule to a group of entities
US20070143447A1 (en) Methods and systems for providing a structured application
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
US8812678B2 (en) Integration of an application server and data grid
US20190370489A1 (en) Processing requests at a remote service to implement local data classification
US20200387496A1 (en) Application driven data change conflict handling system
CN106295267B (zh) 一种访问电子设备的物理内存中私密数据的方法和装置
US20090007157A1 (en) Mapping Data Sources to a Procedural API
US20220237197A1 (en) System and method for supporting rollback of changes made to target systems via an integration platform
WO2019070343A1 (en) IDENTIFICATION AND GRANTING OF AUTHORIZATIONS FOR THE EXECUTION OF A WORKFLOW AND A CODE
CN111325456B (zh) 资产数据处理方法和装置、计算机系统和存储介质
US20130318209A1 (en) Distributed decision service
US20230385128A1 (en) Cross service lock handling

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
TR01 Transfer of patent right

Effective date of registration: 20200416

Address after: Massachusetts, USA

Patentee after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Patentee before: EMC Corp.

TR01 Transfer of patent right