一种分布式缓存数据管理系统、方法及装置与流程

文档序号:11215985阅读:644来源:国知局
一种分布式缓存数据管理系统、方法及装置与流程

本发明涉及分布式存储技术领域,更具体的说,涉及一种分布式缓存数据管理系统、方法及装置。



背景技术:

互联网行业的发展,促进了数据存储的几何倍增长,使得数据存储量越来越大,如何提高数据访问效率成为了互联网发展关键。目前,业界为提高数据访问效率,常用的一个方法是:当客户端需要访问后端存储器中的数据时,开启缓存,从缓存中去访问数据,从而减少整个io栈路径,加快数据访问速度。具体过程为:当开启缓存后,缓存中的数据通常会放进内存中,这样,就相当于直接从内存中读写数据,从而可以提高数据访问速度。尤其是缓存数据变化不频繁的业务场景,数据访问速度会提高很多。

然而,上述方案在提高数据访问速度的同时还存在一定的风险。当客户端从内存读取缓存数据时,如果客户端出现异常情况,如主机断电、服务器宕机、网络瘫痪等,内存中的缓存数据就会丢失,即使客户端恢复正常后,内存中的缓存数据也不会恢复。为保证数据的安全访问,现有又提供了另一种数据访问方案,如图1所示,采用高性能非易失存储器代替内存,作为读写高速缓冲存储器,一个高性能非易失存储器对应一个客户端,每一个高性能非易失存储器都是对外不可见的,如客户端a智能看到高性能非易失存储器a,客户端b智能看到高性能非易失存储器b。当客户端a需要将数据块a写入后端存储器的分布式存储资源池的块存储中时,客户端a首先需要将数据块a缓存在高性能非易失存储器a,然后再通过高性能非易失存储器a写入块存储。当数据块a还未写入块存储,而是缓存在高性能非易失存储器a中时,若客户端b认为客户端a已经将数据块a写入块存储,客户端b就会通过高性能非易失存储器b从块存储中开始执行读取数据块a的操作,一种情况是在块存储中未查找到数据块a,另一种情况是查找到数据块a,但该数据块a并不是最新的数据块。这两种情况,都会导致客户端a写入的数据和客户端b读取的数据不一致。

基于传统方案存在的种种问题,大多数企业厂商采用牺牲存储性能为代价,不开启缓存,直接从客户端到服务器端进行数据访问,这样虽然能够保证数据的安全访问,但是数据访问效率大大降低。



技术实现要素:

有鉴于此,本发明公开一种分布式缓存数据管理系统、方法及装置,以实现在减小整个io栈路径,加快数据访问速度的同时,保证数据的安全访问以及不同客户端同时对后端存储器进行操作时,数据的一致性。

一种分布式缓存数据管理系统,应用于服务器端,包括:

高速资源缓冲池,所述高速资源缓冲池由多个高性能非易失存储器通过集群方式组成,每一个所述高性能非易失存储器对应一个客户端,并作为该客户端的读写高速缓冲存储器;

以及,与所述高速资源缓冲池连接的后端存储器;

所述高速资源缓冲池,用于在客户端写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端对应的高性能非易失存储器中;

所述高速资源缓冲池,还用于在客户端读取数据时,接收数据读取指令,根据所述数据读取指令,从各个高性能非易失存储器中查找是否缓存有所述读写指令中携带的待读取数据,如果是,则读取查找到的待读取数据;如果否,则继续从所述后端服务器读取所述待读取数据。

优选的,所述后端存储器包括:多个机械硬盘。

优选的,所述高性能非易失存储器用于存放距离当前时间预设时间段内访问频率最高的数据。

一种分布式缓存数据管理方法,应用于高速资源缓冲池,所述高速资源缓冲池由多个高性能非易失存储器通过集群方式组成,每一个所述高性能非易失存储器对应一个客户端,并作为该客户端的读写高速缓冲存储器;

所述方法包括:

在客户端写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端对应的高性能非易失存储器中;

在客户端读取数据时,接收数据读取指令;

根据所述数据读取指令,从各个高性能非易失存储器中查找是否缓存有所述读写指令中携带的待读取数据;

如果是,则读取查找到的待读取数据;

如果否,则继续从所述后端服务器读取所述待读取数据。

一种分布式缓存数据管理装置,应用于高速资源缓冲池,所述高速资源缓冲池由多个高性能非易失存储器通过集群方式组成,每一个所述高性能非易失存储器对应一个客户端,并作为该客户端的读写高速缓冲存储器;

所述装置包括:

写入单元,用于在客户端写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端对应的高性能非易失存储器中;

接收单元,用于在客户端读取数据时,接收数据读取指令;

查找单元,用于根据所述数据读取指令,从各个高性能非易失存储器中查找是否缓存有所述读写指令中携带的待读取数据;

第一读取单元,用于在所述查找单元查找到所述待读取数据时,读取所述待读取数据;

第二读取单元,用于在所述查找单元未查找到所述待读取数据时,继续从所述后端服务器读取所述待读取数据。

从上述的技术方案可知,本发明公开了一种分布式缓存数据管理系统、方法及装置,管理系统包括:后端存储器和高速资源缓冲池,该高速资源缓冲池由多个高性能非易失存储器通过集群方式组成,每一个所述高性能非易失存储器对应一个客户端,并作为该客户端的读写高速缓冲存储器,当客户端写入数据时,客户端将待写入数据直接写入高速资源缓冲池中对应的高性能非易失存储器,当客户端需要读取数据时,客户端首先会在高速资源缓冲池读取,当高速资源缓冲池未缓存待读取数据时,再从后端服务器读取。由于本发明将各个客户端对应的高性能非易失存储器进行了集群,从而使得各个高性能非易失存储器之间能够资源共享,客户端可以看到所有的被缓存的数据,这样,客户端通过在高速资源缓冲池首先读取待读取数据,即可确定所需读取数据是否缓存在高速资源缓冲池,且仅在确定高速资源缓冲池没有缓存待读取数据时,再从后端服务器读取。因此,本发明不仅减小了整个io栈路径,加快数据访问速度,同时还保证了数据的安全访问以及不同客户端同时对后端存储器进行操作时,数据的一致性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。

图1为传统的cache数据处理框架图;

图2为本发明实施例公开的一种分布式缓存数据管理系统的框架图;

图3为本发明实施例公开的一种高速资源缓冲池和后端服务器的信令交互图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种分布式缓存数据管理系统、方法及装置,以实现在减小整个io栈路径,加快数据访问速度的同时,保证数据的安全访问以及不同客户端同时对后端存储器进行操作时,数据的一致性。

参见图2,本发明一实施例公开的一种分布式缓存数据管理系统的框架图,该系统应用于服务器端,该系统包括:高速资源缓冲池11以及与高速资源缓冲池11连接的后端存储器12;

其中:

高速资源缓冲池11由多个高性能非易失存储器111通过集群方式组成,每一个高性能非易失存储器111对应一个客户端10,并作为该客户端10的读写高速缓冲存储器(cache)。

具体的,高性能非易失存储器111是一种能够在环境出现异常情况,如主机断电、服务器宕机、网络瘫痪时,保证数据不丢失的一种存储器。

本发明中,采用高性能非易失存储器111作为客户端10的读写cache,当客户端10需要访问后端存储器12中的数据时,开启缓存,缓存中的数据被放入高性能非易失存储器111中,这时,客户端10就可以直接从相对应的高性能非易失存储器111中读写数据,从而减少整个io栈路径,提高数据访问速度。当高性能非易失存储器111所处的环境出现异常情况时,高性能非易失存储器111中的缓存数据会暂时保存在高性能非易失存储器111上,当环境恢复正常后,客户端10再继续从高性能非易失存储器111读取数据,相比内存而言,高性能非易失存储器111大大提高了数据访问的安全性。

需要说明的是,一个客户端10对应一个高性能非易失存储器111。

集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信系统。

本实施例中,通过将多个高性能非易失存储器111采用集群方式,来实现对不同客户端10的高性能非易失存储器111的统一管理,形成统一的分布式缓存,由于这些高性能非易失存储器111不再独立于自己主机的缓存,因此使得各个客户端10可以在高速资源缓冲池11看到所有被缓存的数据。

所述高速资源缓冲池11,用于在客户端10写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端10对应的高性能非易失存储器111中。

具体的,本发明采用writeback机制,当客户端10需要写入数据时,客户端10将待写入数据直接写入高速资源缓冲池11中对应的高性能非易失存储器111中,也即,客户端10将待写入数据直接写入分布式缓存后,即返回。

高速资源缓冲池11,还用于在客户端10读取数据时,接收数据读取指令,根据所述数据读取指令,从各个高性能非易失存储器111中查找是否缓存有所述读写指令中携带的待读取数据,如果是,则读取查找到的待读取数据;如果否,则继续从所述后端服务器12读取所述待读取数据。

具体的,当客户端10需要读取数据时,客户端10首先会在高速资源缓冲池11读取,由于将各个客户端10对应的高性能非易失存储器111进行了集群,从而使得各个高性能非易失存储器111之间能够资源共享,客户端10可以看到所有的被缓存的数据,这样,客户端通过在高速资源缓冲池首先读取待读取数据,即可确定所需读取数据是否缓存在高速资源缓冲池10,当高速资源缓冲池11未缓存待读取数据时,再从后端服务器12中读取。因此,当不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免了传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

综上,本发明公开的分布式缓存数据管理系统,因在分布式存储上采用高性能非易失存储器111作为客户端10的读写cache,保证了环境异常时,缓存数据可以暂时保存在高性能非易失存储器111上,当环境恢复正常后,客户端10再继续从高性能非易失存储器111读取数据,相比内存而言,高性能非易失存储器111大大提高了数据访问的安全性。

本发明采用的分布式缓存,通过把不同客户端10的高性能非易失存储器111集群同一管理,形成同一的高速资源缓冲池,使得不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

本发明采用writeback机制,当客户端10写入数据时,直接将数据写入分布式缓存,即返回;当客户端10读取数据时,若发现所需读取数据位于分布式缓存(也即高速资源缓冲池11)中,就直接从分布式缓存中进行读取,从而有效减短了整个io栈的路径,提高了整体性能。

需要说明的是,上述实施例中,高速资源缓冲池11中的高性能非易失存储器111主要用于存放距离当前时间预设时间段内访问频率最高的数据,也即热数据。

较优的,后端存储器12包括:多个机械硬盘。

在实际应用中,后端存储器12一般由大容量的机械硬盘组成,将这些机械硬盘统一起来建立资源池,从资源池中划分不同大小的卷,可应用于各种不同的场景。比如,将资源池划分为10t、100t大小不一的卷,在交警项目中,在100t的大小空间存放视频,在10t的空间存放图片。

与上述系统实施例相对应,本发明还公开了一种分布式缓存数据管理方法,该方法应用于高速资源缓冲池11,所述高速资源缓冲池11由多个高性能非易失存储器111通过集群方式组成,每一个所述高性能非易失存储器111对应一个客户端10,并作为该客户端10的读写高速缓冲存储器。

其中,高速资源缓冲池11和后端服务器12的信令交互过程参见图3。

如图3所示,信令交互过程包括:

步骤s101、在客户端10写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端10对应的高性能非易失存储器111中;

具体的,本发明采用writeback机制,当客户端10需要写入数据时,客户端10将待写入数据直接写入高速资源缓冲池11中对应的高性能非易失存储器111中,也即,客户端10将待写入数据直接写入分布式缓存后,即返回。

步骤s102、在客户端10读取数据时,接收数据读取指令;

步骤s103、根据所述数据读取指令,从各个高性能非易失存储器111中查找是否缓存有所述读写指令中携带的待读取数据;

步骤s104、如果是,则读取查找到的待读取数据;

步骤s105、如果否,则继续从所述后端服务器12读取所述待读取数据。

具体的,当客户端10需要读取数据时,客户端10首先会在高速资源缓冲池11读取,由于将各个客户端10对应的高性能非易失存储器111进行了集群,从而使得各个高性能非易失存储器111之间能够资源共享,客户端10可以看到所有的被缓存的数据,这样,客户端通过在高速资源缓冲池首先读取待读取数据,即可确定所需读取数据是否缓存在高速资源缓冲池10,当高速资源缓冲池11未缓存待读取数据时,再从后端服务器12中读取。因此,当不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免了传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

本发明中,采用高性能非易失存储器111作为客户端10的读写cache,当客户端10需要访问后端存储器12中的数据时,开启缓存,缓存中的数据被放入高性能非易失存储器111中,这时,客户端10就可以直接从相对应的高性能非易失存储器111中读写数据,从而减少整个io栈路径,提高数据访问速度。当高性能非易失存储器111所处的环境出现异常情况时,高性能非易失存储器111中的缓存数据会暂时保存在高性能非易失存储器111上,当环境恢复正常后,客户端10再继续从高性能非易失存储器111读取数据,相比内存而言,高性能非易失存储器111大大提高了数据访问的安全性。

本实施例中,通过将多个高性能非易失存储器111采用集群方式,来实现对不同客户端10的高性能非易失存储器111的统一管理,形成统一的分布式缓存,由于这些高性能非易失存储器111不再独立于自己主机的缓存,因此使得各个客户端10可以在高速资源缓冲池11看到所有被缓存的数据。

综上,本发明公开的分布式缓存数据管理方法,因在分布式存储上采用高性能非易失存储器111作为客户端10的读写cache,保证了环境异常时,缓存数据可以暂时保存在高性能非易失存储器111上,当环境恢复正常后,客户端10再继续从高性能非易失存储器111读取数据,相比内存而言,高性能非易失存储器111大大提高了数据访问的安全性。

本发明采用的分布式缓存,通过把不同客户端10的高性能非易失存储器111集群同一管理,形成同一的高速资源缓冲池,使得不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

本发明采用writeback机制,当客户端10写入数据时,直接将数据写入分布式缓存,即返回;当客户端10读取数据时,若发现所需读取数据位于分布式缓存(也即高速资源缓冲池11)中,就直接从分布式缓存中进行读取,从而有效减短了整个io栈的路径,提高了整体性能。

本发明还公开一种分布式缓存数据管理装置,该装置应用于高速资源缓冲池11,所述高速资源缓冲池11由多个高性能非易失存储器111通过集群方式组成,每一个所述高性能非易失存储器111对应一个客户端10,并作为该客户端10的读写高速缓冲存储器。

该装置包括:

写入单元,用于在客户端10写入数据时,接收待写入数据,并将所述待写入数据直接写入与该客户端10对应的高性能非易失存储器111中;

具体的,本发明采用writeback机制,当客户端10需要写入数据时,客户端10将待写入数据直接写入高速资源缓冲池11中对应的高性能非易失存储器111中,也即,客户端10将待写入数据直接写入分布式缓存后,即返回。

接收单元,用于在客户端10读取数据时,接收数据读取指令;

查找单元,用于根据所述数据读取指令,从各个高性能非易失存储器111中查找是否缓存有所述读写指令中携带的待读取数据;

第一读取单元,用于在所述查找单元查找到所述待读取数据时,读取所述待读取数据;

第二读取单元,用于在所述查找单元未查找到所述待读取数据时,继续从所述后端服务器12读取所述待读取数据。

具体的,当客户端10需要读取数据时,客户端10首先会在高速资源缓冲池11读取,由于将各个客户端10对应的高性能非易失存储器111进行了集群,从而使得各个高性能非易失存储器111之间能够资源共享,客户端10可以看到所有的被缓存的数据,这样,客户端通过在高速资源缓冲池首先读取待读取数据,即可确定所需读取数据是否缓存在高速资源缓冲池10,当高速资源缓冲池11未缓存待读取数据时,再从后端服务器12中读取。因此,当不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免了传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

综上,本发明公开的分布式缓存数据管理装置,因在分布式存储上采用高性能非易失存储器111作为客户端10的读写cache,保证了环境异常时,缓存数据可以暂时保存在高性能非易失存储器111上,当环境恢复正常后,客户端10再继续从高性能非易失存储器111读取数据,相比内存而言,高性能非易失存储器111大大提高了数据访问的安全性。

本发明采用的分布式缓存,通过把不同客户端10的高性能非易失存储器111集群同一管理,形成同一的高速资源缓冲池,使得不同客户端10同时对后端存储器12进行操作时,可以保证数据的一致性,有效避免传统方案中,因客户端a的数据没有存储到后端服务器12,客户端b就从后端服务器12进行读取操作造成的数据不一致的问题。

本发明采用writeback机制,当客户端10写入数据时,直接将数据写入分布式缓存,即返回;当客户端10读取数据时,若发现所需读取数据位于分布式缓存(也即高速资源缓冲池11)中,就直接从分布式缓存中进行读取,从而有效减短了整个io栈的路径,提高了整体性能。

需要说明的是,装置实施例中,各组成部分的工作原理请参见方法实施例和系统实施例对应部分,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1