CN103095686B - 热点元数据访问控制方法和服务器 - Google Patents
热点元数据访问控制方法和服务器 Download PDFInfo
- Publication number
- CN103095686B CN103095686B CN201210553571.9A CN201210553571A CN103095686B CN 103095686 B CN103095686 B CN 103095686B CN 201210553571 A CN201210553571 A CN 201210553571A CN 103095686 B CN103095686 B CN 103095686B
- Authority
- CN
- China
- Prior art keywords
- metadata
- module
- lock
- write
- store
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种热点元数据访问控制方法和服务器,该方法包括:接收客户端发送的元数据写操作请求;向元数据存储锁模块申请元数据存储锁,以锁定对元数据存储模块中元数据的读操作和写操作;从元数据存储模块中读取元数据信息,并将从所述元数据存储模块中读取的所述元数据信息写入元数据缓存模块;根据元数据缓存模块中的元数据信息和写操作请求,生成新的元数据信息,并将新的元数据信息写入元数据存储模块;向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作;将新的元数据信息写入所述元数据缓存模块,并释放所述元数据写锁;释放所述元数据存储锁。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种热点元数据访问控制方法和服务器。
背景技术
元数据访问是基于分布式文件系统的一种功能,通常分布式文件系统包括客户端和服务器,其中,元数据及相关信息可以存放在服务器上。
当客户端需要访问元数据时,客户端可以向服务器发送操作请求,例如读操作请求或者写操作请求。以写操作请求为例来说,首先客户端向服务器的元数据业务模块发送写操作请求,然后元数据业务模块向元数据读写锁模块申请元数据写锁,用以锁定元数据存储模块和元数据缓存模块,并在锁定之后,将新生成的元数据信息写入元数据存储模块,并将上述写入元数据存储模块的元数据信息更新至元数据缓存模块,最后释放元数据写锁,之后服务器即可向客户端发送元数据写操作响应,此时完成一个完整的写操作过程。
但是,现有技术在进行写操作的过程中,由于元数据写锁已经将元数据存储模块和元数据缓存模块锁定,因此在元数据业务模块向元数据读写锁模块申请元数据写锁后直到释放元数据写锁之前,服务器是不能处理读操作的。如果有元数据读操作请求,都将进入等待状态。由于磁盘写入操作时间长,致使读操作的等待时长较长,从而降低了元数据访问效率。
发明内容
本发明实施例提供一种热点元数据访问控制方法和服务器,用以缩短热点元数据读操作的等待时间,提高热点元数据的访问效率。
第一个方面,本发明实施例提供一种热点元数据访问控制方法,包括:
接收客户端发送的元数据写操作请求;
向元数据存储锁模块申请元数据存储锁,以锁定对元数据存储模块中元数据的读操作和写操作;
从元数据存储模块中读取元数据信息,并将从所述元数据存储模块中读取的所述元数据信息写入元数据缓存模块;
根据从所述元数据缓存模块中读取的元数据信息和所述写操作请求,生成新的元数据信息,并将所述新的元数据信息写入所述元数据存储模块;
向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作;
将所述新的元数据信息写入所述元数据缓存模块,并释放所述元数据写锁;
释放所述元数据存储锁。
在第一方面的第一种可能的实现方式中,上述方法还包括:
接收客户端发送的元数据读操作请求;
根据所述元数据读操作请求,确定是否命中所述元数据缓存模块中缓存的元数据;
若命中,则向所述元数据缓存锁模块申请元数据读锁,并从所述元数据缓存模块中读取元数据;
释放所述元数据读锁,并向所述客户端发送包含从所述元数据缓存模块中读取的元数据的读操作响应。
根据第一方面的第一种可能实现的方式,在第二种可能的实现方式中,若不命中,上述方法还包括:
向所述元数据存储锁模块申请元数据存储锁;
从所述元数据存储模块中读取元数据;
向所述元数据缓存锁模块申请元数据写锁;
将从所述元数据存储模块中读取的元数据写入所述元数据缓存模块,并释放所述元数据写锁;
释放所述元数据存储锁,并向所述客户端发送包含从所述元数据存储模块中读取的元数据的读操作响应。
第二方面,本发明实施例提供一种服务器,包括:元数据业务模块、元数据存储锁模块、元数据存储模块、元数据缓存锁模块和元数据缓存模块,其中所述元数据业务模块用于接收客户端发送的元数据写操作请求,向所述元数据存储锁模块申请元数据存储锁,以锁定对所述元数据存储模块中元数据的读操作和写操作,从元数据存储模块中读取元数据信息,并将从所述元数据存储模块中读取的所述元数据信息写入元数据缓存模块,根据从所述元数据缓存模块中读取的元数据信息和所述写操作请求,生成新的元数据信息,并将所述新的元数据信息写入所述元数据存储模块,向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作,将所述新的元数据信息写入所述元数据缓存模块,并释放所述元数据写锁,释放所述元数据存储锁。
在第二方面的第一种可能实现的方式中,所述元数据业务模块,还用于接收客户端发送的元数据读操作请求,根据所述元数据读操作请求,确定是否命中所述元数据缓存模块中缓存的元数据,在缓存命中时,向所述元数据缓存锁模块申请元数据读锁,并从所述元数据缓存模块中读取元数据,释放所述元数据读锁,并向所述客户端发送包含从所述元数据缓存模块中读取的所述元数据的读操作响应。
根据第二方面的第一种可能实现的方式,在第二种可能实现的方式中,所述元数据业务模块,还用于在缓存不命中时向所述元数据存储锁模块申请元数据存储锁,从所述元数据存储模块中读取元数据,向所述元数据缓存锁模块申请元数据写锁,将从所述元数据存储模块中读取的元数据写入所述元数据缓存模块,并释放所述元数据写锁,释放所述元数据存储锁,并向所述客户端发送包含从所述元数据存储模块中读取的元数据的读操作响应。
本发明实施例提供的热点元数据访问控制方法和服务器,在写操作期间,通过元数据存储锁模块锁定元数据存储模块的读操作和写操作,通过元数据缓存锁模块锁定元数据缓存模块的读或写操作,并且元数据存储锁和元数据缓存锁分离,在锁定元数据存储模块时,因为已经将元数据信息更新至元数据缓存模块,并且元数据缓存模块并没有锁定,因此仍可以对元数据缓存模块中的元数据进行读操作,使用元数据存储锁将元数据存储模块的读操作和写操作锁定,但是并不锁定元数据缓存模块的读操作,直到向元数据缓存模块申请元数据写锁时才将元数据缓存模块的读操作和写操作锁定,从而大大缩短了写操作期间读操作的等待时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明热点元数据访问控制方法实施例的流程图;
图2是本发明热点元数据访问控制方法针对读操作中缓存命中时的信令流程图;
图3是本发明热点元数据访问控制方法针对读操作中缓存不命中时的信令流程图;
图4是本发明服务器实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明热点元数据访问控制方法实施例的流程图,如图1所示,在本实施例中,以服务器中的元数据业务模块作为执行主体,本发明实施例提供的热点元数据访问控制方法包括:
步骤101、接收客户端发送的元数据写操作请求;
具体地,客户端向服务器中的元数据业务模块发送元数据写操作请求,在上述元数据写操作请求中包含了要写入元数据存储模块的元数据。
步骤102、向元数据存储锁模块申请元数据存储锁,以锁定对元数据存储模块中元数据的读操作和写操作;
具体地,服务器中的元数据业务模块向元数据存储模块申请元数据存储锁,获取元数据存储锁后执行步骤103,否则等待。获取元数据存储锁后,对元数据存储模块的读操作和写操作进行锁定,使得不允许其他读操作请求或写操作请求对元数据存储模块中元数据进行读操作或写操作,只允许当前此次的写操作请求,但是由于元数据存储锁仅仅用于将元数据存储模块锁定,并未锁定元数据缓存模块,因此在此期间,可以对元数据缓存模块进行读操作。
步骤103、从元数据存储模块中读取元数据信息,并将从元数据存储模块中读取的元数据信息写入元数据缓存模块;
具体地,将元数据信息写入元数据缓存模块,上述元数据信息是元数据存储模块中现有的元数据,当元数据服务器接收到元数据读操作请求时,可以实现对元数据缓存模块中的元数据进行读操作。
步骤104、根据从元数据缓存模块中读取的元数据信息和写操作请求,生成新的元数据信息,并将新的元数据信息写入元数据存储模块;
具体地,根据客户端的元数据操作请求携带的消息,元数据业务模块生成新的元数据信息,并在元数据存储锁模块锁定对元数据存储模块的读操作期间,将新的元数据信息写入元数据存储模块,写入完成后元数据存储模块向元数据业务模块发送一个写入成功的响应消息。
步骤105、向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作;
具体地,在写入元数据存储模块完成后,元数据业务模块向元数据缓存锁模块申请写锁,获取写锁后执行步骤106,否则等待。获取写锁后,则将元数据缓存模块的读操作和写操作锁定,即不允许在此期间对其他写请求或读请求对元数据缓存模块中的元数据进行读操作和写操作,并且只允许当前此次的元数据写操作和元数据读操作,直到元数据业务模块释放写锁。
步骤106、将新的元数据信息写入元数据缓存模块,并释放元数据写锁;
具体地,获取元数据写锁后,元数据业务模块将元数据信息更新至缓存,并在更新元数据缓存模块完毕后释放元数据锁,释放元数据写锁后对元数据缓存模块的读造作锁定解除,由于更新缓存完全是内存操作,因此访问速度快,操作时间短。
步骤107、释放元数据存储锁。
元数据业务模块解除对元数据存储模块的读操作的锁定,锁定解除后,可以对元数据存储模块进行读操作也可以进行写操作。
本发明实施例提供的热点元数据访问控制方法,在写操作期间,通过元数据存储锁模块锁定元数据存储模块的读操作和写操作,通过元数据缓存锁模块锁定元数据缓存模块的读或写操作,并且元数据存储锁和元数据缓存锁分离,在锁定元数据存储模块时,因为已经将元数据信息更新至元数据缓存模块,并且元数据缓存模块并没有锁定,因此仍可以对元数据缓存模块中的元数据进行读操作,使用元数据存储锁将元数据存储模块的读操作和写操作锁定,但是并不锁定元数据缓存模块的读操作,直到向元数据缓存模块申请元数据写锁时才将元数据缓存模块的读操作和写操作锁定,从而大大缩短了写操作期间读操作的等待时间。
客户端还可以向元数据业务模块发送元数据读操作请求,但是客户端所要读取的元数据可以存在于元数据缓存模块或元数据存储模块中,并且针对元数据的存储位置不同,服务器处理读操作的过程也是不一样的。下面将在下面实施例中针对客户端要读取的元数据所在位置的不同情况进行说明。
图2是本发明热点元数据访问控制方法针对读操作中缓存命中时的信令流程图,如图2所示,本发明实施例提供的热点元数据访问控制方法包括:
步骤201、客户端向元数据业务模块发送读操作请求;
具体地,客户端向元数据业务模块发送元数据读操作请求,但是客户端所要读取的元数据可以存在于元数据缓存模块或元数据存储模块中。
步骤202、元数据业务模块向元数据缓存模块确认缓存命中;
在实际应用中,元数据业务模块根据接收到的元数据读操作请求,与元数据缓存模块进行交互,判断客户端要读取的元数据信息是否存在于元数据缓存模块中,如果要读取的元数据信息位于元数据缓存模块中,则称元数据缓存模块命中了要访问的元数据信息。由于热点元数据的读写访问量较大,因此一般情况下热点元数据都位于元数据缓存模块中,便于元数据的读取和写入。
步骤203、元数据业务模块向元数据缓存锁模块申请元数据读锁;
步骤204、元数据业务模块从元数据缓存模块中读取元数据;
具体地,如果确定了要读取的元数据位于元数据缓存模块中,则向元数据缓存锁模块申请元数据读锁,获取元数据读锁后就从元数据缓存模块读取元数据,如果未获取元数据读锁,则等待。获取元数据读锁后,此时锁定元数据缓存模块的写操作,即获取元数据读锁后,不允许写入更新元数据缓存模块,直到将元数据读锁释放,此时解除对元数据缓存模块的写操作的锁定。
步骤205、元数据业务模块释放元数据读锁;
步骤206、向客户端发送包含从元数据缓存模块中读取的元数据的读操作响应。
具体地,在元数据读锁释放后,这个读操作完成,此时服务器中的元数据业务模块向客户端发送读操作响应,并在上述响应中携带有从元数据缓存模块中读取的元数据。
在缓存命中时,在对服务器进行读操作的过程中,通过在缓存命中时,利用向元数据缓存锁模块申请元数据缓存锁,并利用获取到的元数据缓存锁,锁定对元数据缓存模块的写操作,禁止对元数据缓存模块的更新写入,从而保证了读操作的顺利完成,使得对元数据访问控制上具有灵活性。
图3是本发明热点元数据访问控制方法针对读操作中缓存不命中时的信令流程图,如图3所示,在缓存不命中时,即针对的是所要读取的元数据不在元数据缓存模块中,而是位于元数据存储模块中的情形,在缓存不命中时,热点元数据访问控制方法包括:
步骤301、客户端向元数据业务模块发送读操作请求;
步骤302、元数据业务模块向元数据缓存模块确认缓存不命中;
步骤301的作用与上述步骤201的作用和效果相同,在此不再赘述。步骤302中的对于元数据的是否缓存命中还是使用元数据业务模块与元数据缓存模块进行通信,元数据业务模块查询元数据缓存模块中的元数据信息,从而实现确定元数据缓存命中。
在确定缓存不命中后,则执行步骤303、元数据业务模块向元数据存储锁模块申请元数据存储锁;
具体地,在确定客户端要访问的数据不在元数据缓存模块中时,元数据业务模块向元数据存储锁模块申请元数据存储锁,获取元数据存储锁后执行步骤304,否则等待。在获取元数据存储锁后,则锁定元数据存储模块的写操作,即不允许对元数据存储模块进行写操作。
步骤304、元数据业务模块从元数据存储模块中读取元数据;
具体地,在对元数据存储模块锁定写操作后,从元数据存储模块中读取元数据,并在读取元数据完毕后,向元数据业务模块发送读取完成的消息。
步骤305、元数据业务模块向元数据缓存锁模块申请元数据写锁;
具体地,在读取元数据信息完成后向元数据缓存锁模块申请元数据写锁,获取元数据写锁后执行步骤306,否则等待。元数据写锁可以对元数据缓存模块进行锁定,对元数据缓存模块锁定后,只允许当前此次对元数据缓存模块进行读操作和写操作,不允许其他写操作请求和读操作请求对元数据缓存模块进行读操作和写操作。
步骤306、元数据业务模块将从元数据存储模块中读取的元数据写入元数据缓存模块;
写入元数据后,执行步骤307、释放元数据写锁;
在实际应用中,在对元数据缓存模块进行锁定后,将从元数据存储模块中读取的元数据写入元数据缓存模块,写入完成后释放元数据写锁。
步骤308、元数据业务模块释放元数据存储锁;
释放元数据存储锁后,执行步骤309、元数据业务模块向客户端发送读操作响应,上述读操作响应中包含从元数据存储模块中读取的元数据。
具体地,释放元数据写锁后,还需要释放元数据存储锁,解除对元数据存储模块读操作和写操作的锁定,并且元数据业务模块向客户端发送元数据的读操作响应,上述读操作响应中包含有从元数据存储模块中读取的元数据。
综上,本发明上述实施例针对客户端要读取的元数据位于元数据存储模块和元数据缓存模块的详细说明,由于元数据所在位置不同,服务器的处理过程也是不同的,因此使得客户端对元数据的访问更具灵活性,具体地,在缓存命中时只需要向元数据缓存锁模块申请元数据读锁,而无需访问元数据存储锁模块及元数据存储模块;当缓存未命中时,元数据业务模块先申请元数据存储锁,对元数据存储模块中的元数据进行读取,读取完成后,向元数据缓存锁模块申请元数据缓存锁,将在元数据存储模块中读取的元数据更新至元数据缓存模块,便于下一次对元数据的访问,使得针对不同情况下对元数据的读操作具有灵活性。
图4是本发明服务器实施例的结构示意图,如图4所示,本发明实施例提供的服务器包括:元数据业务模块11、元数据存储锁模块12、元数据存储模块13、元数据缓存锁模块14和元数据缓存模块15,其中所述元数据业务模块11用于接收客户端发送的元数据写操作请求,向所述元数据存储锁模块12申请元数据存储锁,以锁定对所述元数据存储模块13中元数据的读操作和写操作,从元数据存储模块13中读取元数据信息,并将从元数据存储模块13中读取的元数据信息写入元数据缓存模块15,根据从所述元数据存储模块13中读取的元数据信息和所述写操作请求,生成新的元数据信息,并将所述新的元数据信息写入所述元数据存储模块13,向元数据缓存锁模块14申请元数据写锁,以锁定对元数据缓存模块15中元数据的读操作和写操作,将所述新的元数据信息写入所述元数据缓存模块15,并释放所述元数据写锁,释放所述元数据存储锁。
本实施例的服务器,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
下面的实施例将对客户端向服务器发送读操作请求时,针对客户端所要访问的数据在元数据存储模块或在元数据缓存模块两种情形进行进一步地说明。在上述服务器实施例的基础上,所述元数据业务模块11,还用于接收客户端发送的元数据读操作请求,根据所述元数据读操作请求,确定是否命中所述元数据缓存模块15中缓存的元数据,在缓存命中时,向所述元数据缓存锁模块14申请元数据读锁,并从所述元数据缓存模块15中读取元数据,释放所述元数据读锁,并向所述客户端发送包含从所述元数据缓存模块中读取的所述元数据的读操作响应。
上述是针对元数据位于元数据缓存模块中,在这种场景下,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,所述元数据业务模块11,还用于在缓存不命中时向所述元数据存储锁模块12申请元数据存储锁,从所述元数据存储模块13中读取元数据,向所述元数据缓存锁模块14申请元数据写锁,将从所述元数据存储模块13中读取的元数据写入所述元数据缓存模块15,并释放所述元数据写锁,释放所述元数据存储锁,并向所述客户端发送包含从所述元数据存储模块13中读取的元数据的读操作响应。
当客户端要访问的元数据位于元数据存储模块中时,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明另一个实施例提供一种服务器,包括接收器和处理器,接收器用于接收客户端发送的元数据写操作请求;处理器用于执行以下操作:向元数据存储锁模块申请元数据存储锁,以锁定对元数据存储模块中元数据的读操作和写操作,在锁定元数据存储模块的读操作和写操作后,将元数据信息写入元数据存储模块,写入元数据完成后,向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作,在锁定上述读操作和写操作后,将元数据信息写入元数据缓存模块,并释放所述元数据写锁,最后释放元数据存储锁。
其中如上所述的服务器,还可以包括发送器,进一步地,接收器还可以用于接收客户端的读操作请求;处理器用于执行以下操作:根据所述元数据读操作请求,确定是否命中所述元数据缓存模块中缓存的元数据,若命中,则向元数据缓存锁模块申请元数据读锁,并从元数据缓存模块中读取元数据,读取元数据完成后,释放元数据读锁;发送器用于在处理器释放元数据读锁后,向客户端发送包含从元数据缓存模块中读取的元数据的读操作响应。
更进一步地,上述服务器中的处理器还可以用于执行以下操作:向元数据存储锁模块申请元数据存储锁,从元数据存储模块中读取元数据,向元数据缓存锁模块申请元数据写锁,将从元数据存储模块中读取的元数据写入元数据缓存模块,并释放元数据写锁,最后释放所述元数据存储锁;发送器具体用于向客户端发送包含从元数据存储模块中读取的元数据的读操作响应。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种热点元数据访问控制方法,其特征在于,包括:
接收客户端发送的元数据写操作请求;
向元数据存储锁模块申请元数据存储锁,以锁定对元数据存储模块中元数据的读操作和写操作;
从元数据存储模块中读取元数据信息,并将从所述元数据存储模块中读取的所述元数据信息写入元数据缓存模块;
根据从所述元数据缓存模块中读取的元数据信息和所述写操作请求,生成新的元数据信息,并将所述新的元数据信息写入所述元数据存储模块;
向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作;
将所述新的元数据信息写入所述元数据缓存模块,并释放所述元数据写锁;
释放所述元数据存储锁。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收客户端发送的元数据读操作请求;
根据所述元数据读操作请求,确定是否命中所述元数据缓存模块中缓存的元数据;
若命中,则向所述元数据缓存锁模块申请元数据读锁,并从所述元数据缓存模块中读取元数据;
释放所述元数据读锁,并向所述客户端发送包含从所述元数据缓存模块中读取的元数据的读操作响应。
3.根据权利要求2所述的方法,其特征在于,若不命中,则所述方法,还包括:
向所述元数据存储锁模块申请元数据存储锁;
从所述元数据存储模块中读取元数据;
向所述元数据缓存锁模块申请元数据写锁;
将从所述元数据存储模块中读取的元数据写入所述元数据缓存模块,并释放所述元数据写锁;
释放所述元数据存储锁,并向所述客户端发送包含从所述元数据存储模块中读取的元数据的读操作响应。
4.一种服务器,其特征在于,包括:元数据业务模块、元数据存储锁模块、元数据存储模块、元数据缓存锁模块和元数据缓存模块,其中所述元数据业务模块用于接收客户端发送的元数据写操作请求,向所述元数据存储锁模块申请元数据存储锁,以锁定对所述元数据存储模块中元数据的读操作和写操作,从元数据存储模块中读取元数据信息,并将从所述元数据存储模块中读取的元数据信息写入数据缓存模块,根据所述元数据存储模块中的元数据信息和所述写操作请求,生成新的元数据信息,并将所述新的元数据信息写入所述元数据存储模块,向元数据缓存锁模块申请元数据写锁,以锁定对元数据缓存模块中元数据的读操作和写操作,将所述新的元数据信息写入所述元数据缓存模块,并释放所述元数据写锁,释放所述元数据存储锁。
5.根据权利要求4所述的服务器,其特征在于,所述元数据业务模块,还用于接收客户端发送的元数据读操作请求,根据所述元数据读操作请求,确定是否命中所述元数据缓存模块中缓存的元数据,在缓存命中时,向所述元数据缓存锁模块申请元数据读锁,并从所述元数据缓存模块中读取元数据,释放所述元数据读锁,并向所述客户端发送包含从所述元数据缓存模块中读取的所述元数据的读操作响应。
6.根据权利要求5所述的服务器,其特征在于,所述元数据业务模块,还用于在缓存不命中时向所述元数据存储锁模块申请元数据存储锁,从所述元数据存储模块中读取元数据,向所述元数据缓存锁模块申请元数据写锁,将从所述元数据存储模块中读取的元数据写入所述元数据缓存模块,并释放所述元数据写锁,释放所述元数据存储锁,并向所述客户端发送包含从所述元数据存储模块中读取的元数据的读操作响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553571.9A CN103095686B (zh) | 2012-12-19 | 2012-12-19 | 热点元数据访问控制方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553571.9A CN103095686B (zh) | 2012-12-19 | 2012-12-19 | 热点元数据访问控制方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103095686A CN103095686A (zh) | 2013-05-08 |
CN103095686B true CN103095686B (zh) | 2016-06-08 |
Family
ID=48207819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210553571.9A Active CN103095686B (zh) | 2012-12-19 | 2012-12-19 | 热点元数据访问控制方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103095686B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750720B (zh) * | 2013-12-30 | 2018-04-27 | 中国银联股份有限公司 | 多线程并发访问环境下高性能数据处理的实现 |
CN104572917A (zh) * | 2014-12-29 | 2015-04-29 | 成都致云科技有限公司 | 数据锁定方法、装置及分布式存储系统 |
CN105095354A (zh) * | 2015-06-19 | 2015-11-25 | 北京奇虎科技有限公司 | 数据更新的方法及装置 |
CN105224255B (zh) * | 2015-10-14 | 2018-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种存储文件管理方法及装置 |
CN107239474B (zh) * | 2016-03-29 | 2021-05-04 | 创新先进技术有限公司 | 一种数据记录方法及装置 |
CN107256235A (zh) * | 2017-05-19 | 2017-10-17 | 武汉璞华大数据技术有限公司 | 一种缓存系统热点数据访问方法 |
CN110399227B (zh) * | 2018-08-24 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 一种数据访问方法、装置和存储介质 |
CN109669632A (zh) * | 2018-12-10 | 2019-04-23 | 浪潮电子信息产业股份有限公司 | 基于分布式对象存储系统的元数据写入方法、装置及介质 |
CN110597646B (zh) * | 2019-09-16 | 2021-09-07 | 五八有限公司 | 一种数据读写方法、系统、电子设备及存储介质 |
CN112860686B (zh) * | 2019-11-28 | 2023-03-10 | 金篆信科有限责任公司 | 数据处理方法、装置、计算机设备和计算机可读介质 |
CN112988062B (zh) * | 2021-01-28 | 2023-02-14 | 腾讯科技(深圳)有限公司 | 一种元数据读取限制方法、装置、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488924A (zh) * | 2009-02-16 | 2009-07-22 | 成都市华为赛门铁克科技有限公司 | 一种元数据的修改方法和元数据服务器 |
CN102088484A (zh) * | 2010-12-20 | 2011-06-08 | 南京中兴新软件有限责任公司 | 一种分布式文件系统的写锁定方法及系统 |
CN102508790A (zh) * | 2011-11-17 | 2012-06-20 | 北京航空航天大学 | 一种应用于内容解析存储的基于内容的缓存方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751467B2 (en) * | 2007-01-18 | 2014-06-10 | Dot Hill Systems Corporation | Method and apparatus for quickly accessing backing store metadata |
-
2012
- 2012-12-19 CN CN201210553571.9A patent/CN103095686B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488924A (zh) * | 2009-02-16 | 2009-07-22 | 成都市华为赛门铁克科技有限公司 | 一种元数据的修改方法和元数据服务器 |
CN102088484A (zh) * | 2010-12-20 | 2011-06-08 | 南京中兴新软件有限责任公司 | 一种分布式文件系统的写锁定方法及系统 |
CN102508790A (zh) * | 2011-11-17 | 2012-06-20 | 北京航空航天大学 | 一种应用于内容解析存储的基于内容的缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103095686A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103095686B (zh) | 热点元数据访问控制方法和服务器 | |
US9798655B2 (en) | Managing a cache on storage devices supporting compression | |
US8521986B2 (en) | Allocating storage memory based on future file size or use estimates | |
US8239648B2 (en) | Reclamation of thin provisioned disk storage | |
CN101763437B (zh) | 高速缓冲存储实现方法及装置 | |
US20140115252A1 (en) | Block storage-based data processing methods, apparatus, and systems | |
US9858160B2 (en) | Restoring distributed shared memory data consistency within a recovery process from a cluster node failure | |
CN106104502B (zh) | 用于存储系统事务的系统、方法和介质 | |
US8838926B2 (en) | Interacting with data in hidden storage | |
CN105549905A (zh) | 一种多虚拟机访问分布式对象存储系统的方法 | |
CN103197899A (zh) | 增强基于闪存的存储的寿命和性能 | |
US20100174864A1 (en) | Performance in a data storage system | |
CN105516230B (zh) | 一种数据处理方法及装置 | |
CN102841854A (zh) | 根据动态分级存储器缓存认知执行数据读取的方法和系统 | |
CN103037004A (zh) | 云存储系统操作的实现方法和装置 | |
CN103399823A (zh) | 业务数据的存储方法、设备和系统 | |
CN102609466A (zh) | 一种共享内存的控制方法及系统 | |
TW201723857A (zh) | 使用多串流的系統、方法以及製品 | |
CN103036948A (zh) | 网络文件处理方法、执行节点、软件即服务SaaS平台 | |
WO2012042724A1 (en) | Systems and methods for managing a virtual tape library domain | |
CN104636088A (zh) | 一种将数据写入数据服务器的方法及存储系统 | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
US10282371B1 (en) | Object storage device with probabilistic data structure | |
CN105574008B (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
US9323476B2 (en) | Hardware based cache scan with divert node 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220901 Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041 Patentee after: Chengdu Huawei Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |