CN103001995A - 在集群文件系统中改进高速缓存一致性的方法和装置 - Google Patents
在集群文件系统中改进高速缓存一致性的方法和装置 Download PDFInfo
- Publication number
- CN103001995A CN103001995A CN2011102890911A CN201110289091A CN103001995A CN 103001995 A CN103001995 A CN 103001995A CN 2011102890911 A CN2011102890911 A CN 2011102890911A CN 201110289091 A CN201110289091 A CN 201110289091A CN 103001995 A CN103001995 A CN 103001995A
- Authority
- CN
- China
- Prior art keywords
- agency
- node
- file
- behalf
- agent
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式提供了在集群文件系统中改进高速缓存一致性的方法和装置。具体地,在本发明的一个实施方式中,提供了一种在集群文件系统中改进高速缓存一致性的方法,包括:接收获取集群文件系统中文件的代理的代理请求;判断针对文件已经颁发的代理的类型;如果仅向代理节点颁发了读代理,则控制访问节点直接响应于代理请求;如果向代理节点颁发了写代理,则推荐代理节点直接响应于代理请求。在另一实施方式中,还提供了在集群文件系统中改进高速缓存一致性的装置。
Description
技术领域
本发明的各实施方式涉及集群文件系统,并且更具体地,涉及在集群文件系统中改进高速缓存一致性的方法和装置。
背景技术
在集群文件系统中通常包括多个节点,这些节点作为集群文件系统的内部节点操作,所有节点整体对外呈现为一个集群文件系统。为加快集群文件系统的响应速度,通常在集群文件系统中的各个节点处设置高速缓存。当客户端请求访问某文件时,接收该客户端请求的节点将从物理地存储文件的所有者节点处获取被请求的文件,并将该文件在本地的高速缓存中存储,以供客户端读写该文件时使用。
当多个客户端并发地请求访问(包括“读”和“写”操作)同一文件时,由于写操作是排他性操作(例如,当一个文件被重写时,其他客户端不能读取该文件),需要设计复杂的方案来保证高速缓存的一致性。
尽管目前已经设计出多种保持高速缓存一致性的解决方案,然而通常这些方案的基本原理是锁定正在被访问的文件,延迟处理对文件进行访问的下一请求,直到当前的文件访问操作结束为止。这造成了在处理队列中积压了大量文件访问请求,并且等候时间的延长还可能导致某些亟待处理的请求被长时间搁置。
发明内容
因此,在期望尽量重用现有的集群文件系统的前提下,如何基于现有的高速缓存机制来提供一种维护高速缓存一致性的高效处理方法,这已经成为一项亟待解决的问题。此外,还期望该方法能够在确保高速缓存一致性的基础上尽量减少数据访问冲突,并且还能够尽量减少在集群文件系统内部的数据传输,以便快速、准确地向客户端提供数据。
为此,本发明的各实施方式提供了在集群文件系统中改进高速缓存一致性的方法和装置。
在本发明的一个实施方式中,提供了一种在集群文件系统中改进高速缓存一致性的方法,包括:接收获取集群文件系统中文件的代理的代理请求;判断针对文件已经颁发的代理的类型;如果仅向代理节点颁发了读代理,则控制访问节点直接响应于代理请求;如果向代理节点颁发了写代理,则推荐代理节点直接响应于代理请求。
在本发明的另一实施方式中,进一步包括:响应于接收到来自客户端的、用于访问集群文件系统中文件的文件请求,向文件的所有者节点发出代理请求。
在本发明的另一实施方式中,控制访问节点直接响应于代理请求包括:当访问节点不具有文件的代理时,控制访问节点向文件的所有者节点请求读代理。
在本发明的另一实施方式中,仅在文件被重写时,响应于访问节点向文件的所有者节点请求写代理,将访问节点处的读代理升级为写代理。
在本发明的另一实施方式中,提供了一种在集群文件系统中改进高速缓存一致性的装置,包括:用于接收获取集群文件系统中文件的代理的代理请求的装置;用于判断针对文件已经颁发的代理的类型的装置;用于如果仅向代理节点颁发了读代理、则控制访问节点直接响应于代理请求的装置;用于如果向代理节点颁发了写代理、则推荐代理节点直接响应于代理请求的装置。
在本发明的另一实施方式中,进一步包括:用于响应于接收到来自客户端的、用于访问集群文件系统中文件的文件请求、向文件的所有者节点发出代理请求的装置。
在本发明的另一实施方式中,用于如果仅向代理节点颁发了读代理、则控制访问节点直接响应于代理请求的装置包括:当访问节点不具有文件的代理时、控制访问节点向文件的所有者节点请求读代理的装置。
在本发明的另一实施方式中,进一步包括:用于仅在文件被重写时、响应于访问节点向文件的所有者节点请求写代理、将访问节点处的读代理升级为写代理的装置。
采用本发明的各实施方式,可以改进高速缓存的一致性,降低文件访问冲突,并且加快集群文件系统的整体响应速度。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1是示出集群文件系统的架构的示意性图示;
图2是示出根据一种解决方案的用于保证高速缓存一致性的方法的时序图;
图3是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的流程图;
图4是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图;
图5是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图,其中示出了推荐方法的具体时序;
图6是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图,其中示出了代理升级和代理降级方法的具体时序;
图7是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图,其中示出了代理降级方法的异常处理;
图8是示出根据本发明一个实施方式的代理状态机模型;以及
图9是示出根据本发明一个实施方式的用于保证高速缓存一致性的装置的示意图。
具体实施方式
下面参考附图详细描述本发明的各实施方式。附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
参见图1,该图示出了集群文件系统的架构的示意性图示100。集群文件系统130可以包括多个节点,例如节点A 132、节点B 134以及节点C 136等。各个节点在集群文件系统130内部可以彼此通信,还可以通过网络120与多个客户端进行交互。例如,客户端A 112、客户端B 114和客户端C 116中的任一项可以请求读取存储于集群文件系统130中的文件。此时,发出请求的客户端并不需要知晓被请求的文件具体存储在哪个节点上,而是只需要针对集群文件系统130发出文件访问请求并接收返回的数据即可。
图2是示出根据一种解决方案的用于保证高速缓存一致性的方法的时序图200。该图示出了当多个客户端请求访问同一文件时的处理方法。在图2中绘出了客户端A 112和客户端B 114,用于表示请求访问集群文件系统中的文件的客户端。图2还绘出了节点A 132、节点B 134以及节点C 136,这些节点都是集群文件系统中的节点。为简化图示,图2并未示出集群文件系统。
由于读取操作并不改变文件的内容,因而多个客户端可以同时读取同一文件,并且在读文件期间并不存在文件访问冲突。然而,由于写操作会改变文件的内容,对于一个文件而言,在相同时刻仅能有一个客户端执行写操作,否则将会出现针对同一文件存在两份不一致副本的错误。为了更清楚、简便地说明,图2示出了等待一个写操作完成(如步骤S204所示)之后才开始另一个文件访问操作的示例。
在步骤S201中,客户端A 112向集群文件系统中的节点A 132请求对文件1执行写操作。应当注意,基于集群文件系统的规则,客户端A 112可以向不同的节点发送针对特定文件的访问请求,在此节点A 132仅仅是示意性而并非限制性的。在步骤S202,节点A 132向存储该文件1的节点C 136请求代理,该代理表示许可节点A 132对文件1进行访问操作,并且在节点A 132返回代理期间,其他节点不能对文件1进行访问(包括读和写)操作。
接着,在步骤S203中,节点C 136向节点A 132授予代理。基于不同的请求,代理可以是用于对文件执行读取的读代理或者对文件执行写入的写代理。在步骤S204处,节点A 132对已经被复制到本地高速缓存的文件1的副本进行写操作。当写操作完成时,在步骤S205处由节点A 132向客户端A 112返回响应,用于指示写操作完成。
当存在多个客户端并发访问文件1时,例如在节点A 132向节点C 136返回代理之前,如果另外一个客户端B 114向节点B 134发送针对文件1进行读/写操作的请求(步骤S206),则节点B 134向存储该文件1的节点C 136请求代理(步骤S207)。接着,在步骤S208中,节点C 136向节点A 132召回代理。注意,如果此时针对文件1的写操作尚未完成,则必须延迟后续操作直到该写操作结束才能召回代理。在步骤S209处,节点A 132向节点C 136返回代理。应当注意,由于节点A 132对文件1进行了写操作,在返回代理的同时还要将在节点A 132的高速缓存中的重写后的文件1传输回到节点C 136,用于更新文件1。
节点C 136在步骤S210处向节点B 134授予代理,之后节点B 134才能对已经被复制到本地高速缓存中的文件1的副本进行读/写操作(步骤S211)。继而,在步骤S212处,节点B 134向客户端B 114返回响应。
从上文可知,在授予代理的步骤(如S203和S210)处,请求代理的节点需要将文件1从实际存储文件的节点复制到本地高速缓存(例如,在步骤S203处复制到节点A 132,在步骤S210处复制到节点B 134)。而在返回代理的步骤(如步骤S209),节点A 132需要将在本地高速缓存中的已修改的文件传输回到实际存储文件的节点C136。如果不同客户端频繁地请求访问同一文件,则在请求和返回代理的过程中,需要在不同节点间反复传输文件。这将在集群文件系统内部产生大量数据传输,并且各个节点中的高速缓存将不断经历“冷-热-冷”的过程。应当注意,这里的“热”是指高速缓存中存储有当前最新的数据,而“冷”是指高速缓存中存储的并不是当前最新数据,还需要利用最新数据进行更新,才能实现从“冷”到“热”。将高速缓存的这种现象称作高速缓存“颠簸”。高速缓存颠簸导致集群文件系统内部的数据传输占用大量时间,进而降低了集群文件系统对于外部客户端请求的响应速度。
为提高集群文件系统的效率,本发明提供了一种在集群文件系统中改进高速缓存一致性的方法和装置。为便于下文描述,首先给如下定义:
所有者节点:是指在集群文件系统中实际存储某文件的节点。此时,文件物理地存储在所有者节点上,例如图2中实际存储文件1的节点C 136就是所有者节点。
访问节点:是指客户端连接至集群文件系统的入口节点。该访问节点接收来自客户端的请求并且向客户端进行反馈。例如图2中的节点A 132,其接收来自客户端A 112的请求;又如节点B 134,其接收来自客户端B 114的请求。
代理节点:是指从某文件的所有者节点获取其代理的节点。该代理节点在获得代理之后,即可在该节点处执行相应的访问操作。例如,图2中的节点A 132在获得代理之后,即可称为代理节点。
应当注意,在本发明中所述的所有者节点、访问节点和代理节点都是针对某一特定文件而言的。例如在图2的示例中,节点C对于文件1而言是所有者节点。例如,如果文件2实际存储在节点A上,则节点A对于文件2而言是所有者节点。另外,访问节点和代理节点可以是同一个物理节点,也可以是不同的物理节点。例如在图2中,当访问节点A 132获得文件1的代理之后,则可以称为代理节点。同时,由于该节点A 132还是接收来自客户端A 112的文件访问请求的节点,因而该节点A 132还可以称为访问节点。还应当注意,访问节点是针对客户端而言,集群文件系统中的所有节点都可以是访问节点;而代理节点是针对特定文件访问请求而言的,该命名仅在文件访问请求期间有效。
本发明的一个实施方式提供了一种通过代理和推荐改进高速缓存一致性的方法。该方法的原理之一在于,使得持有当前最新文件的节点处理来自客户端的访问请求,以便减少高速缓存的“颠簸”。
图3是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的流程图300。在步骤S302处,接收获取集群文件系统中文件的代理的代理请求。该请求可以标识出本次文件请求的对象(例如,文件名称或者其他标识符)、访问操作的类型(读操作或者写操作)等。
在步骤S304处,判断针对文件已经颁发的代理的类型。这里代理的类型是指读代理或者写代理。如果仅向代理节点颁发了读代理,则操作前进至步骤S306,以便控制访问节点直接响应于代理请求。如果已经向代理节点颁发了写代理,则操作前进至步骤S308,以便推荐代理节点直接响应于代理请求。
在图3所示的情况下,对于已经颁发了写代理的情况,由于写代理将导致文件数据被改写,持有写代理的代理节点处的数据是最新的文件数据。则使得代理节点直接响应请求可以减少现有技术中将最新文件数据从代理节点传输回到所有者节点的步骤,因而提高集群文件系统的整体效率。对于仅颁发了读代理的情况,由于读代理不会导致文件数据被改写,可以由请求节点直接从所有者节点获取文件副本并响应于代理请求。
在本发明的一个实施方式中,响应于接收到来自客户端的、用于访问集群文件系统中文件的文件请求,向文件的所有者节点发出代理请求。由于集群文件系统作为整体而服务于客户端,客户端仅需向集群文件系统中的一个节点发送文件访问请求。在集群文件系统内部,接收到访问文件的文件请求的节点向文件的所有者节点发送代理请求,请求对文件进行读/写操作。
现在将参考图4和图5详细说明本发明的实施方式。图4是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图400。该图示出了当多个客户端并发请求读取同一文件的情况。由于读操作不会改写文件因而各个读操作之间并不互斥,接收到不同文件访问请求(注意,这里的文件访问请求是指针对同一文件进行读操作的请求)的访问节点可以自治地处理各自的读请求。
例如,在步骤S401处,客户端A 112向节点A 132请求对文件1进行读操作。在步骤S402处,节点A 112向所有者节点C 136发送代理请求。在步骤S403处,节点C 136向节点A 132授予读代理。之后,在步骤S404处,节点A 132对文件1执行读操作。最后在步骤S405处向客户端A 112返回响应。由于不同访问节点A 132和访问节点B 134可以自治地操作,因而无需等待其他访问节点返回代理。类似于步骤S401至S405,在步骤S411至S415中示出了由来自客户端B 114的读文件访问请求引发的操作序列。在此不再赘述。
图5是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图500,其中示出了代理和推荐方法的具体时序。根据本发明的一个实施方式,推荐由保持当前最新的文件数据的节点(例如代理节点)处理来自客户端的访问请求,以便减少高速缓存的“颠簸”。
图5中的步骤S501至S505均类似于图2所示方法中的步骤S201至S205,在此不再赘述。不同之处在于,当另一客户端B 114请求读/写文件1时(步骤S506),此时节点A 132正持有写代理并且尚未向所有者节点C 136返回写代理。此时节点A 132保持文件1的最新数据。在步骤S507处,节点B 134向节点C 136请求代理。由于节点C 136已经向节点A 132授予了写代理,则节点C 136向节点B 134推荐节点A(步骤S508),以告知节点B 134此时节点A 132是持有写代理的代理节点。
该推荐代理的方法无需像现有技术那样需要召回节点A 132的写代理。当采用推荐代理方法时,由于由保持最新数据的代理节点A 132来响应代理请求,此时代理节点A 132的高速缓存一直为“热”状态,因而避免了高速缓存“颠簸”,进而加快了集群文件系统的响应速度。
在步骤S509处,节点B 134向节点A 132转发来自客户端B的请求。在步骤S510处针对文件1执行来自客户端B的读/写操作。当该读/写操作完成时,在步骤S511处向节点B 134返回响应。继而在步骤S512处,节点B 134向客户端B 114返回响应。当等待预定时间之后,如果在节点A 132没有接收到写代理请求,则节点A 132可以向所有者节点C 136返回代理。
根据本发明的另一实施方式,当访问节点接收到来自客户端的访问请求时,如果访问节点不具有文件的代理时,则仅向所有者节点请求读代理,并且仅在真正对文件执行写操作期间才向所有者节点请求写代理,以便确保在整个集群文件系统内部将任一代理节点持有写代理的时间最小化。这样,仅在真正写文件的瞬间锁定该文件,可以确保尽量少出现文件访问冲突的情况。
根据本发明的一个实施方式,提出了一种代理升级和代理降级的方法,其中控制访问节点直接响应于代理请求包括:当访问节点不具有文件的代理时,控制访问节点向文件的所有者节点请求读代理。在另一实施方式中,仅在文件被重写时,响应于访问节点向文件的所有者节点请求写代理,将访问节点处的读代理升级为写代理。
代理升级的原理在于:在进行文件写操作期间,通常在大部分时间期间针对文件执行的仅仅是读操作(例如用于准备待写入的数据),而仅在写操作结束之前的瞬间向文件写入已经准备好的数据。通常,真正执行写入文件的瞬间是非常短的,然而现有技术中,整个写操作期间文件是以排他方式打开,这大大提高了出现文件访问冲突的概率。代理升级方法的目的在于,以非排他性方式利用真正写入瞬间以外的其他时间,以便降低文件访问冲突的出现。
现在参见图6的示例来说明本发明的代理升级方法。图6所示场景的上下文为,客户端A 112已经请求读取集群文件系统中的文件1。操作步骤S601至S604类似于前文所述,在此不再赘述。此时客户端B 114在步骤S611处向节点B 124请求针对文件1执行写操作,继而节点B 134向节点C 136请求代理(步骤S612)。在步骤S613处,节点C 136仅向节点B 134授予读代理,因而在节点B 134处以读方式访问文件1(步骤S614)。而当已经准备好待写入数据并且将要进行写入时,请求将该读代理升级为写代理(步骤S615-S619)。
采用代理升级和降级方法可以大大降低文件访问冲突的出现。对于一个写文件的操作,例如实际写入所需时间为1秒,读取原始文件并准备写入数据的时间为9秒。根据本发明的方法,文件被锁定(也即,颁发写代理)的持续时间为1秒,这大大小于原来所需的9+1=10秒。在此示例中,文件访问冲突的概率降低至原来的10%。
根据本发明的一个实施方式,将访问节点处的读代理升级为写代理包括:如果已经向其他代理节点颁发了写代理,则响应于所有者节点收到代理请求,推荐访问节点向代理节点转发代理请求;如果已经向其他代理节点颁发了读代理,则从其他代理节点召回各自的读代理;以及将访问节点处的读代理修改为写代理。应当注意,在此的推荐其他代理节点直接响应于将读代理升级为写代理的代理请求,是指利用前文的代理和推荐的方法进行响应。还应当注意,在此推荐访问节点向代理节点转发代理请求,可以避免代理召回情况的出现,进而提高集群文件系统的响应速度。
在将读代理升级为写代理时,可能存在以下情况:
1)如果当前没有任何其他节点持有文件的任何代理,则可以直接将该读代理升级为写代理。
2)如果已经向其他代理节点颁发了写代理,则推荐代理节点直接响应于将读代理升级为写代理的代理请求。此时代理节点直接响应于将读代理升级为写代理的代理请求的方式与前文参见图5示出的代理和推荐方法类似。
3)如果已经向其他代理节点颁发了读代理,则从其他代理节点召回各自的读代理。现在参见图6详述召回读代理并且进行代理升级的方法的具体步骤。
由于代理升级将会导致节点B 134在获得写代理后重写文件1,为保证集群文件系统中高速缓存的一致性,需要召回其他代理节点处的读代理。在步骤S615之后,如果判断得知已经向节点A 132颁发了读代理,则在步骤S616处向代理节点A 132召回读代理,节点A 132在步骤S617和S618处分别向客户端A 112返回响应,以及向节点C136返回读代理。当召回全部读代理时,节点C 136在步骤S619处将代理升级为写代理。随后在步骤S620处对文件1执行写入。应当注意,这里的“写入”是在已经准备好待写入数据后的真正的写入操作。
根据本发明的一个实施方式,在代理降级期间还可能出现异常情况,参见图7详述异常处理操作。图7是示出根据本发明一个实施方式的用于保证高速缓存一致性的方法的时序图,其中示出了代理降级方法的异常处理。
步骤S701和S702是类似于前文所述的请求代理和授予代理的步骤,不再赘述。在步骤S703处,节点B 134向所有者节点C 136请求代理。由于此时已经向代理节点A 132授予了写代理,则在步骤S704处,节点C 136向节点B 134推荐节点A。图7示出了节点A 132在尚未接到节点B 134转发的客户端请求时,已经在步骤S705向节点C 136返回代理的情况。这时,当步骤S706的请求到达节点A 132时,节点A 132已经不具有代理,则节点A 132将在步骤S707处向节点B 134返回FILE MOVED(文件已被移动)错误。节点B 134通过该错误标识可以得知节点A已经向所有者节点返回了代理,则在步骤S708处向节点C 136请求代理。接着,步骤S709、S710处的操作类似于前文所述,在此不再赘述。
根据本发明的一个实施方式,当具有读代理的节点完成文件读操作时,向所有者节点返回读代理,或者继续保持读代理。根据本发明的方法,在具有读代理的节点完成读操作时,继续持有读代理持续一段时间并不会显著降低集群文件系统的性能。继续持有读代理的后果在于,当仅向代理升级时需要向持有读代理的所有代理节点召回该读代理。然而,召回读代理并不需要占用过多时间,所以具有读代理的节点可以继续持有读代理,或者还可以在适当时间返回该读代理。
根据本发明的一个实施方式,当具有写代理的节点完成文件写操作时,向所有者节点返回写代理,或者将写代理降级为读代理。具有写代理的代理节点可以在完成文件写操作后立刻将写代理降级为读代理、或者直接返回该写代理,以便将文件访问冲突的概率降至最低。
根据本发明的一个实施方式,其中推荐代理节点直接响应于客户端请求包括:当访问节点不具有文件的代理时,控制访问节点向文件的所有者节点请求读代理。根据本发明的一个实施方式,仅在文件被重写时,响应于访问节点向文件的所有者节点请求写代理,将访问节点处的读代理升级为写代理。
应当注意,尽管结合前文所述的代理和推荐方法示出了根据本发明的代理升级和代理降级方法,该代理升级和代理降级的方法还可以单独使用,例如与现有技术中的代理机制直接结合。例如,该方法可以直接应用于如图2所示的用于保持高速缓存一致性的方法。
例如,根据本发明的一个实施方式,提供了一种在集群文件系统中改进高速缓存一致性的方法,包括:接收获取集群文件系统中文件的代理的代理请求;当访问节点不具有文件的代理时,控制访问节点向文件的所有者节点请求读代理。根据本发明的另一实施方式,还包括:仅在文件被重写时,响应于访问节点向文件的所有者节点请求写代理,将访问节点处的读代理升级为写代理。应当注意,在上述实施方式中,由于初始时仅向访问节点颁发读代理,即使已经向某节点颁发了读代理(仅颁发了读代理并未颁发写代理),也无需延迟本次的代理请求。
返回图2,在一个实施方式中,例如在步骤S201处,尽管客户端A 112请求针对文件1执行写操作,在步骤S203处,可以仅向节点A132授予读代理。当节点A 132真正执行写入操作前,再将该读代理升级为写代理。此时,在将读代理升级为写代理之前,其他客户端还可以针对文件1执行读操作,这样大大降低了文件访问冲突的概率。
另外,代理降级方法也可以直接应用于现有技术中的代理机制。例如,在图2中步骤S204处,当已经完成针对文件1的写操作后,可以将写代理降级为读代理或者返回该写代理,以便其他客户端可以访问文件1。
应当注意,每个代理节点自身均具有处理队列,代理节点在接收到代理请求时,该代理请求被置入处理队列以排队等候处理。如果当前代理节点正在针对文件执行写操作,则需要等待该写操作完成后再考虑处理队列中排队的下一代理请求。
根据本发明的一个实施方式,可以针对各个客户端赋予不同的优先级,并使得集群文件系统优先响应于高优先级的客户端。根据本发明的一个实施方式,可以针对集群文件系统中的各节点赋予不同的优先级,并使得集群文件系统优先响应于来自高优先级节点的代理请求。
根据本发明的一个实施方式,代理状态包括以下之一:读代理、写代理、以及无效代理。图8是示出根据本发明一个实施方式的代理状态机模型800。在下文中,将参见图8描述在各个状态之间的转换关系。
首先解释图8中各个状态的含义。无代理状态810表示节点当前与文件访问操作无关,即该节点处没有任何形式的代理。例如图4中的节点B 134,在接收到读文件请求之前即处于无代理状态。读代理状态820表示节点当前具有读代理,例如图4中的节点B 134,在被授予读代理之后即处于读代理状态。写代理状态830表示节点当前具有写代理,例如图5中的节点A 132,在步骤S503处被授予写代理之后即处于写代理状态。无效代理840表示节点曾经具有代理,然而该代理因代理冲突而被召回并变为无效的情况,例如图6中的节点A132在步骤S615处被召回代理之后,即处于无效代理状态。
参考图8,从无代理状态810出发解释如何在各状态之间转移。对于处于无代理状态810的节点,当请求读代理时(如箭头S801所示)则进入读代理状态820。由于本发明采用了代理升级和代理降级机制,不会出现从无代理状态810到写代理状态830之间状态转换。对于处于读代理状态820的节点,当正常返回代理时(如箭头S806所示)则进入无代理状态810。
对于处于读代理状态820的节点,当请求升级代理时(如箭头S802所示)则进入写代理状态830。对于处于写代理状态830处的节点,当请求降级代理时(如箭头S804所示)则进入读代理状态820。对于处于读代理状态820的节点,当检测到代理冲突时(如箭头S803所示)则进入无效代理状态840。对于处于无效代理状态840的节点,当重新获得读代理时(如箭头S805所示)则进入读代理状态820。
根据本发明的一个实施方式,进一步包括:将文件划分为多个片段;以及将多个片段中的一个片段指定部分代理。
为了进一步降低文件访问冲突的概率,可以将集群文件系统中的文件划分为多个片段,并且为每个片段赋予部分代理。可以静态设置片段的大小,或者还可以动态设置片段的大小。提供部分代理的原理在于,当用户对文件进行读写操作时,通常只是针对文件的特定部分进行读写,而很少针对整个文件进行读写。因而将文件划分为较小的片段,可以实现同时针对文件的不同片段进行写操作。
例如,对于128kB的文件,客户端A可能仅需要对文件起始部分的8kB数据进行写操作;而客户端B可能仅需要对文件末端部分的8kB数据进行写操作。此时如果采用现有技术的整体代理的方法,则客户端B需要等待客户端A完成写操作之后,才能开始对文件末端部分的8kB数据进行写操作。如果采用将文件划分为片段并针对每个片段赋予指示对该部分文件进行读写的部分代理,由于文件起始部分的8kB数据和末端部分的8kB数据分别处于不同的片段,则客户端A和客户端B可以完全独立地执行写操作。
如果片段的大小越大,则越可能出现文件访问冲突;片段的大小越小,尽管出现文件访问冲突的可能性降低,然而当客户端需要访问文件中的大段数据时,则同时需要请求访问多个片段造成复杂性提高。在设置片段大小时,需要在片段大小和控制复杂性之间进行权衡。例如,可以将片段大小设置为8kB。此时,对于一个128kB的文件,第0-8kB属于第1段,第8-16kB数据属于第2段,依次类推。
根据本发明的一个实施方式,部分代理包括片段在文件中的范围。例如可以采用偏移值来指示片段在文件中的位置,例如可以采用“8-16”表示该片段为文件中的第8-16kB,还可以采用“(2,8)”的二元组表示该片段是文件中的第2块,每块包括8kB的数据,或者还可以采用本领域技术人员可以想到的其他实施方式。
应当注意,前文所述的提供部分代理的方法还可以直接应用于现有技术中用于维护高速缓存一致性的常规方法。例如,对于图2所示的方法,可以将文件1划分为多个片段并为每个片段设置部分代理。在步骤S201至S212所示的各个步骤中,请求和授予的代理可以是针对不同片段的部分代理。
根据本发明的一个实施方式,进一步包括:将多个文件在集群文件系统中均匀分布。为确保集群文件系统中各个节点的负载均衡,可以将多个文件均匀地分布在集群文件系统中。例如可以基于文件大小均匀分布,或者基于文件的访问频率均匀分布。
根据本发明的一个实施方式,在首次接收到访问一个文件的请求时,可以并不将该文件划分为片段,而是等到其他客户端访问同一文件时,再将该文件划分片段并针对每个片段设置部分代理。
根据本发明的一个实施方式,可以为文件/文件的片段设置版本号。例如对于为文件的片段设置版本号的情况,当片段被更新时则其版本号加1,当一个文件中的不同片段被更新了不同次数时,每个片段可以具有不同的版本号。继续上文的示例,例如一个128kB的文件被划分为16个片段,每个片段大小为8kB。假设版本号从0开始,第1片段被更新2次则最新版本号为2,第4片段被更新1次则最新版本号为1。此时版本号为2的第1片段、版本号为1的第4片段和其他原始片段共同构成整个文件。
在一个实施方式中,进一步包括:在所有者节点处设置针对文件的代理映射,代理映射包括:范围、持有者、模式以及版本。设置代理映射的目的在于,在所有者节点可以知晓文件的全部片段的代理的状态。例如,范围可以表示该片段在整个文件中的范围,例如采用片段编号表示;持有者表示由哪个节点持有部分代理;模式表示代理的状态,例如是读代理还是写代理;而版本表示当前最新的版本号。例如,可以使用如下文表1所示的结构表示代理映射。
表1
范围 | 持有者 | 模式 | 版本 |
1 | 节点A | 读代理 | 3 |
2 | 节点B | 读代理 | 2 |
... | ... | ... | ... |
在本发明的一个实施方式中,在同一时刻至多一个代理节点具有写代理。然而可以存在多个代理节点同时具有读代理的情况。这是由于写代理具有排他性,而读代理不具有排他性。
根据本发明的一个实施方式,代理节点可以在适当的时候向所有者节点返回代理。例如,在等待预定义时间段没有收到代理请求时,代理节点可以返回代理。
根据本发明的一个实施方式,对于特定文件,由于代理节点的高速缓存中存储有文件的副本,当所有者节点出现宕机时,可以利用代理节点处的副本恢复所有者节点中的文件。这增强了集群文件系统的容错能力。
根据本发明的一个实施方式,可以选择在每次对文件执行写操作后向所有者节点同步已更新的文件部分。这有助于改进高速缓存的一致性却有损于整体性能。因而可以在一致性和性能之间进行折中,例如选择周期性地同步。
根据本发明的一个实施方式,设置版本号有助于检查哪个代理节点处的文件是最新的文件或者最新的片段。在代理节点故障并重启的情况下,将对比代理节点和所有者节点处的文件/文件片段的版本号以便确定最新的文件。
根据本发明的一个实施方式,如果已经向某代理节点颁发了写代理,当代理节点重启或者出现网络故障时,所有者节点可以在特定时间段能冻结其他节点的请求,等待代理节点返回该写代理并向所有者节点进行同步。如果超时,则所有者节点可以向其他节点颁发代理。
根据本发明的一个实施方式,如果某访问节点向代理节点转发了客户端请求,并在预定义时间段内没有收到响应。则可以认为代理节点或者网络出现故障,此时访问节点可以向所有者节点请求该文件的代理。
根据本发明的一个实施方式,如果所有者节点重启则将仅会影响请求访问文件的新的节点。由于其他先前的节点均知晓此时最新的文件位于代理节点的高速缓存中,所有者节点的重启不会影响先前的节点的操作。
根据本发明的一个实施方式,如果代理节点期望向所有者节点返回代理、而此时所有者节点或者网络出现故障造成不能联系所有者节点,则代理节点一方面尝试继续联系所有者节点,另一方面继续接收其他节点的代理请求。
根据本发明的各个实施方式提供了一种高效、安全的在集群文件系统中改进高速缓存一致性的方法和装置。这些方法和装置能够提供高速缓存一致性、尽量减少数据访问冲突、并且还能够尽量减少在集群文件系统内部的数据传输,从而实现快速、准确地向客户端提供数据
根据本发明的一个实施方式,提供了一种在集群文件系统中改进高速缓存一致性的装置,包括:用于接收获取集群文件系统中文件的代理的代理请求的装置;用于判断针对文件已经颁发的代理的类型的装置;用于如果仅向代理节点颁发了读代理、则控制访问节点直接响应于代理请求的装置;用于如果向代理节点颁发了写代理、则推荐代理节点直接响应于代理请求的装置。
根据本发明的另一实施方式,进一步包括:用于响应于接收到来自客户端的、用于访问集群文件系统中文件的文件请求、向文件的所有者节点发出代理请求的装置。
根据本发明的另一实施方式,其中用于如果仅向代理节点颁发了读代理、则控制访问节点直接响应于代理请求的装置包括:当访问节点不具有文件的代理时、控制访问节点向文件的所有者节点请求读代理的装置。
根据本发明的另一实施方式,进一步包括:用于仅在文件被重写时、响应于访问节点向文件的所有者节点请求写代理、将访问节点处的读代理升级为写代理的装置。
根据本发明的另一实施方式,其中用于仅在文件被重写时、将访问节点处的读代理升级为写代理的装置包括:用于如果已经向其他代理节点颁发了写代理、则响应于所有者节点收到代理请求,推荐访问节点向代理节点转发所述代理请求的装置;用于如果已经向其他代理节点颁发了读代理、则从其他代理节点召回各自的读代理的装置;以及用于将访问节点处的读代理修改为写代理的装置。
根据本发明的另一实施方式,进一步包括:用于当具有读代理的节点完成文件读操作时、向所有者节点返回读代理或者继续保持读代理的装置。
根据本发明的另一实施方式,进一步包括:用于当具有写代理的节点完成文件写操作时、向所有者节点返回写代理或者将写代理降级为读代理的装置。
根据本发明的另一实施方式,其中用于如果向代理节点颁发了写代理、则推荐代理节点直接响应于代理请求包括:当访问节点不具有文件的代理时、控制访问节点向文件的所有者节点请求读代理的装置。
根据本发明的另一实施方式,进一步包括:用于仅在文件被重写时、响应于访问节点向文件的所有者节点请求写代理、将访问节点处的读代理升级为写代理的装置。
根据本发明的另一实施方式,其中代理的状态包括以下之一:读代理、写代理以及无效代理。
根据本发明的另一实施方式,进一步包括:用于将文件划分为多个片段的装置;以及用于将多个片段中的一个片段指定部分代理的装置。
根据本发明的另一实施方式,其中:部分代理还指示片段在文件中的范围。
根据本发明的另一实施方式,进一步包括:将多个文件在集群文件系统中均匀分布的装置。
根据本发明的另一实施方式,进一步包括:用于在所有者节点处设置针对文件的代理映射的装置,其中代理映射包括:范围、持有者、模式以及版本。
根据本发明的另一实施方式:在同一时刻至多一个代理节点具有写代理。
应当注意,尽管在说明书中在一个或者多个实施方式中描述用于在集群文件系统中改进高速缓存一致性的方法和装置,在前文所述的各种方法(例如,推荐方法、代理升级和代理降级方法、部分代理方法、文件均匀分布方法)可以单独使用,或者还可以相结合地使用。尽管本说明书中并未详细描述各种方法组合的每个实施方式,本领域技术人员基于说明书中的描述可以自行实现各种组合。
应当注意,本发明的各实施方式提供了一种在集群文件系统中改进高速缓存一致性的方法和装置。应当注意,尽管说明书中结合具体的客户端和节点描述了各个实施方式,然而本领域技术人员应当理解,在此并不限制本发明的各实施方式的应用环境。例如,本发明的实施方式可以应用在任何集群文件系统中。
本发明可以采取硬件实施方式、软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合于存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。
Claims (30)
1.一种在集群文件系统中改进高速缓存一致性的方法,包括:
接收获取所述集群文件系统中文件的代理的代理请求;
判断针对所述文件已经颁发的代理的类型;
如果仅向代理节点颁发了读代理,则控制访问节点直接响应于所述代理请求;
如果向代理节点颁发了写代理,则推荐所述代理节点直接响应于所述代理请求。
2.根据权利要求1所述的方法,进一步包括:
响应于接收到来自客户端的、用于访问所述集群文件系统中文件的文件请求,向所述文件的所有者节点发出所述代理请求。
3.根据权利要求1所述的方法,其中控制所述访问节点直接响应于所述代理请求包括:
当所述访问节点不具有所述文件的代理时,控制所述访问节点向所述文件的所有者节点请求读代理。
4.根据权利要求3所述的方法,其中:
仅在所述文件被重写时,响应于所述访问节点向所述文件的所有者节点请求写代理,将所述访问节点处的读代理升级为写代理。
5.根据权利要求4所述的方法,其中将所述访问节点处的读代理升级为写代理包括:
如果已经向其他代理节点颁发了写代理,则响应于所述所有者节点收到所述代理请求,推荐所述访问节点向代理节点转发所述代理请求;
如果已经向其他代理节点颁发了读代理,则从所述其他代理节点召回各自的读代理;以及
将所述访问节点处的读代理修改为写代理。
6.根据权利要求1至5中的任一项所述的方法,进一步包括:
当具有读代理的节点完成文件读操作时,向所述所有者节点返回所述读代理,或者继续保持所述读代理。
7.根据权利要求1至5中的任一项所述的方法,进一步包括:
当具有写代理的节点完成文件写操作时,向所述所有者节点返回所述写代理,或者将所述写代理降级为读代理。
8.根据权利要求1至5中的任一项所述的方法,其中推荐所述代理节点直接响应于所述代理请求包括:
当所述访问节点不具有所述文件的代理时,控制所述访问节点向所述文件的所有者节点请求读代理。
9.根据权利要求8所述的方法,其中仅在所述文件被重写时,响应于所述访问节点向所述文件的所有者节点请求写代理,将所述访问节点处的读代理升级为写代理。
10.根据权利要求1至5中的任一项所述的方法,其中所述代理的状态包括以下之一:读代理、写代理以及无效代理。
11.根据权利要求1至5中的任一项所述的方法,进一步包括:
将所述文件划分为多个片段;以及
将所述多个片段中的一个片段指定部分代理。
12.根据权利要求11所述的方法,其中:
所述部分代理还指示所述片段在所述文件中的范围。
13.根据权利要求1至5中的任一项所述的方法,进一步包括:将多个文件在所述集群文件系统中均匀分布。
14.根据权利要求1至5中的任一项所述的方法,进一步包括:在所述所有者节点处设置针对所述文件的代理映射,所述代理映射包括:范围、持有者、模式以及版本。
15.根据权利要求1至5中的任一项所述的方法,其中:在同一时刻至多一个代理节点具有写代理。
16.一种在集群文件系统中改进高速缓存一致性的装置,包括:
用于接收获取所述集群文件系统中文件的代理的代理请求的装置;
用于判断针对所述文件已经颁发的代理的类型的装置;
用于如果仅向代理节点颁发了读代理、则控制访问节点直接响应于所述代理请求的装置;
用于如果向代理节点颁发了写代理、则推荐所述代理节点直接响应于所述代理请求的装置。
17.根据权利要求16所述的装置,进一步包括:
用于响应于接收到来自客户端的、用于访问所述集群文件系统中文件的文件请求、向所述文件的所有者节点发出所述代理请求的装置。
18.根据权利要求16所述的装置,其中所述用于如果仅向代理节点颁发了读代理、则控制所述访问节点直接响应于所述代理请求的装置包括:
当所述访问节点不具有所述文件的代理时、控制所述访问节点向所述文件的所有者节点请求读代理的装置。
19.根据权利要求18所述的装置,进一步包括:用于仅在所述文件被重写时、响应于所述访问节点向所述文件的所有者节点请求写代理、将所述访问节点处的读代理升级为写代理的装置。
20.根据权利要求19所述的装置,其中所述用于仅在所述文件被重写时、将所述访问节点处的读代理升级为写代理的装置包括:
用于如果已经向其他代理节点颁发了写代理、则响应于所述所有者节点收到所述代理请求、推荐所述访问节点向代理节点转发所述代理请求的装置;
用于如果已经向其他代理节点颁发了读代理、则从所述其他代理节点召回各自的读代理的装置;以及
用于将所述访问节点处的读代理修改为写代理的装置。
21.根据权利要求16至20中的任一项所述的装置,进一步包括:
用于当具有读代理的节点完成文件读操作时、向所述所有者节点返回所述读代理或者继续保持所述读代理的装置。
22.根据权利要求16至20中的任一项所述的装置,进一步包括:
用于当具有写代理的节点完成文件写操作时、向所述所有者节点返回所述写代理或者将所述写代理降级为读代理的装置。
23.根据权利要求16至20中的任一项所述的装置,其中所述用于如果向代理节点颁发了写代理、则推荐所述代理节点直接响应于所述代理请求包括:
当所述访问节点不具有所述文件的代理时、控制所述访问节点向所述文件的所有者节点请求读代理的装置。
24.根据权利要求23所述的装置,进一步包括:用于仅在所述文件被重写时、响应于所述访问节点向所述文件的所有者节点请求写代理、将所述访问节点处的读代理升级为写代理的装置。
25.根据权利要求16至20中的任一项所述的装置,其中所述代理的状态包括以下之一:读代理、写代理以及无效代理。
26.根据权利要求16至20中的任一项所述的装置,进一步包括:
用于将所述文件划分为多个片段的装置;以及
用于将所述多个片段中的一个片段指定部分代理的装置。
27.根据权利要求26所述的装置,其中:
所述部分代理还指示所述片段在所述文件中的范围。
28.根据权利要求16至20中的任一项所述的装置,进一步包括:将多个文件在所述集群文件系统中均匀分布的装置。
29.根据权利要求16至20中的任一项所述的装置,进一步包括:用于在所述所有者节点处设置针对所述文件的代理映射的装置,其中所述代理映射包括:范围、持有者、模式以及版本。
30.根据权利要求16至20中的任一项所述的装置,其中:在同一时刻至多一个代理节点具有写代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110289091.1A CN103001995B (zh) | 2011-09-15 | 2011-09-15 | 在集群文件系统中改进高速缓存一致性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110289091.1A CN103001995B (zh) | 2011-09-15 | 2011-09-15 | 在集群文件系统中改进高速缓存一致性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103001995A true CN103001995A (zh) | 2013-03-27 |
CN103001995B CN103001995B (zh) | 2016-04-13 |
Family
ID=47930132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110289091.1A Active CN103001995B (zh) | 2011-09-15 | 2011-09-15 | 在集群文件系统中改进高速缓存一致性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103001995B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196779A (zh) * | 2016-03-15 | 2017-09-22 | 中国电信股份有限公司 | 用于实现网络自愈的方法、节点和系统 |
CN111049883A (zh) * | 2019-11-15 | 2020-04-21 | 北京金山云网络技术有限公司 | 分布式表格系统的数据读取方法、装置及系统 |
CN113704191A (zh) * | 2021-07-23 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种集群文件系统访问方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
CN101217449A (zh) * | 2008-01-09 | 2008-07-09 | 金蝶软件(中国)有限公司 | 远程调用管理方法 |
-
2011
- 2011-09-15 CN CN201110289091.1A patent/CN103001995B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489052A (zh) * | 2002-10-11 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多节点文件同步系统及方法 |
CN101217449A (zh) * | 2008-01-09 | 2008-07-09 | 金蝶软件(中国)有限公司 | 远程调用管理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196779A (zh) * | 2016-03-15 | 2017-09-22 | 中国电信股份有限公司 | 用于实现网络自愈的方法、节点和系统 |
CN111049883A (zh) * | 2019-11-15 | 2020-04-21 | 北京金山云网络技术有限公司 | 分布式表格系统的数据读取方法、装置及系统 |
CN111049883B (zh) * | 2019-11-15 | 2022-09-06 | 北京金山云网络技术有限公司 | 分布式表格系统的数据读取方法、装置及系统 |
CN113704191A (zh) * | 2021-07-23 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种集群文件系统访问方法、装置、设备及可读存储介质 |
CN113704191B (zh) * | 2021-07-23 | 2023-11-03 | 郑州云海信息技术有限公司 | 一种集群文件系统访问方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103001995B (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836135B1 (en) | Method and system for transparent database query caching | |
CN1273899C (zh) | 在非对称异构多处理器环境中提供原子更新原语的方法 | |
JP5064753B2 (ja) | 方法、コンピュータ・プログラム製品、コンピュータ・プログラム、情報ハンドリング・システム(デフォルト・データ転送コヒーレント・キャッシング・エージェントのシステムおよび方法) | |
US20160253375A1 (en) | Transaction processing system, method and program | |
TWI393005B (zh) | 用於在具有多重一致性定義域之資料處理系統中處置清空操作之資料處理系統、快取系統以及方法 | |
WO2017005191A1 (en) | System and method for data caching in processing nodes of massively parallel processing (mpp) database system | |
CN108363641B (zh) | 一种主备机数据传递方法、控制节点以及数据库系统 | |
US20110066595A1 (en) | Database server, replication server and method for replicating data of a database server by at least one replication server | |
CN107577678A (zh) | 处理数据库事务的方法、客户端和服务器 | |
CN103885895A (zh) | 容错集群存储系统中的写入性能 | |
JP7193547B2 (ja) | キャッシュ・メモリ動作の調整 | |
US11294818B2 (en) | Method, electronic device and computer program product for data storage | |
CN106537364A (zh) | 存储事务 | |
CN115373877A (zh) | 异构多核处理器保证共享缓存一致性的控制方法和装置 | |
CN101751370B (zh) | 在穿过串行接口总线时保持缓存一致性的系统和方法 | |
US7519780B2 (en) | System and method for reducing store latency in symmetrical multiprocessor systems | |
EP4026005B1 (en) | Producer-to-consumer active direct cache transfers | |
EP4124963B1 (en) | System, apparatus and methods for handling consistent memory transactions according to a cxl protocol | |
US9632934B2 (en) | Maintaining coherence when removing nodes from a directory-based shared memory system | |
CN110737392A (zh) | 管理存储系统中的地址的方法、设备和计算机程序产品 | |
CN103001995A (zh) | 在集群文件系统中改进高速缓存一致性的方法和装置 | |
EP4407461A1 (en) | Cache state recording method and apparatus, data access method and apparatus, and device | |
CN102959529A (zh) | 用于缓存的网络的广播协议 | |
CN110196788B (zh) | 一种数据读取方法、装置、系统及存储介质 | |
JP6461101B2 (ja) | データベースシステム、情報処理装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200408 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Massachusetts, USA Patentee before: EMC Corp. |