一种数据分布式缓存方法、系统、设备及计算机存储介质与流程

文档序号:17721811发布日期:2019-05-22 02:13阅读:180来源:国知局
一种数据分布式缓存方法、系统、设备及计算机存储介质与流程

本申请涉及分布式数据缓存技术领域,更具体地说,涉及一种数据分布式缓存方法、系统、设备及计算机存储介质。



背景技术:

随着大数据的到来,系统对大量并发请求的处理能力越来越重要,数据缓存技术能够缓存数据库的查询结果,当下次访问同样数据时,可以直接从缓存中读取,分布式数据缓存系统便是数据缓存技术的代表。然而,在分布式数据缓存系统中,存在分布式数据缓存系统中无法查找到待查找数据的情况,使得分布式数据缓存系统的数据备份能力不足。

综上所述,如何提高分布式数据缓存系统的数据备份能力是目前本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种数据分布缓存方法,其能在一定程度上解决如何提高分布式数据缓存系统的数据备份能力的技术问题。本申请还提供了一种数据分布式缓存系统、设备及计算机可读存储介质。

为了实现上述目的,本申请提供如下技术方案:

一种数据分布式缓存方法,应用于分布式数据缓存系统,包括:

接收查询目标数据的查询请求;

调用一致性哈希算法确定出保存所述目标数据的目标存储节点及目标备份节点;

判断所述目标存储节点和所述目标备份节点中是否存在所述目标数据;

若否,则在本地数据库中读取所述目标数据,并将所述目标数据存储至所述目标存储节点及所述目标备份节点中。

优选的,所述接收查询目标数据的查询请求之前,还包括:

接收待存储的第一数据;

调用所述一致性哈希算法确定出保存所述第一数据的第一存储节点及第一备份节点;

将所述第一数据保存至所述第一存储节点及所述第一备份节点中。

优选的,所述接收查询目标数据的查询请求之前,还包括:

接收待删除的第二数据;

调用所述一致性哈希算法确定出保存所述第二数据的第二存储节点及第二备份节点;

在所述第二存储节点及所述第二备份节点中删除所述第二数据。

优选的,所述接收查询目标数据的查询请求之前,还包括:

接收待更新的第三数据;

调用所述一致性哈希算法确定出保存所述第三数据的第三存储节点及第三备份节点;

在所述第三存储节点及所述第三备份节点中更新所述第三数据。

优选的,还包括:

判断是否有新的存储节点加入所述分布式数据缓存系统;

若是,则调用所述一致性哈希算法,确定所述新的存储节点在所述一致性哈希算法对应的圆上的添加位置;

确定所述新的存储节点为所述添加位置的前一个位置对应的存储节点的备份节点,并确定所述添加位置的后一个位置对应的存储节点为所述新的存储节点的备份节点;

其中,沿着所述圆的顺时针方向的位置为所述添加位置的前一个位置,逆着所述圆的顺时针方向的位置为所述添加位置的后一个位置。

优选的,所述调用所述一致性哈希算法,确定所述新的存储节点在所述一致性哈希算法对应的圆上的添加位置,包括:

将所述新的存储节点的ip地址作为所述一致性哈希算法的键,调用所述一致性哈希算法,确定所述新的存储节点在所述一致性哈希算法对应的圆上的添加位置。

优选的,所述判断所述目标存储节点和所述目标备份节点中是否存在所述目标数据之后,还包括:

若判定所述目标存储节点中存在所述目标数据,则在所述目标存储节点中读取所述目标数据并返回;

若判定所述目标备份节点中存在所述目标数据,则在所述目标备份节点中读取所述目标数据并返回。

一种数据分布式缓存系统,应用于分布式数据缓存系统,包括:

第一接收模块,用于接收查询目标数据的查询请求;

第一调用模块,用于调用一致性哈希算法确定出保存所述目标数据的目标存储节点及目标备份节点;

第一判断模块,用于判断所述目标存储节点和所述目标备份节点中是否存在所述目标数据;若否,则在本地数据库中读取所述目标数据,并将所述目标数据存储至所述目标存储节点及所述目标备份节点中。

一种数据分布式缓存设备,应用于分布式数据缓存系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一所述的数据分布式缓存方法的步骤。

一种计算机可读存储介质,应用于分布式数据缓存系统,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的数据分布式缓存方法的步骤。

本申请提供的一种数据分布式缓存方法,应用于分布式数据缓存系统,接收查询目标数据的查询请求;调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点;判断目标存储节点和目标备份节点中是否存在目标数据;若否,则在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。本申请提供的一种数据分布式缓存方法,分布式数据缓存系统在判定目标存储节点和目标备份节点中不存在目标时,在本地数据库中读取目标数据,并将目标数据存储至目标存储节点和目标备份节点中,避免了目标存储节点和目标备份节点中目标数据的丢失,提高了分布式数据缓存系统的数据备份能力。本申请提供的一种数据分布式缓存系统、设备及计算机可读存储介质也解决了相应技术问题。

附图说明

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

图1为本申请实施例提供的一种数据分布式缓存方法的第一流程图;

图2为本申请实施例提供的一种数据分布式缓存方法的第二流程图;

图3为本申请实施例提供的一种数据分布式缓存系统的结构示意图;

图4为本申请实施例提供的一种数据分布式缓存设备的结构示意图;

图5为本申请实施例提供的一种数据分布式缓存设备的另一结构示意图。

具体实施方式

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

随着大数据的到来,系统对大量并发请求的处理能力越来越重要,数据缓存技术能够缓存数据库的查询结果,当下次访问同样数据时,可以直接从缓存中读取,分布式数据缓存系统便是数据缓存技术的代表。然而,在分布式数据缓存系统中,存在分布式数据缓存系统中无法查找到待查找数据的情况,使得分布式数据缓存系统的数据备份能力不足。本申请提供的一种数据分布式缓存方法可以提高分布式数据缓存系统的数据备份能力。

请参阅图1,图1为本申请实施例提供的一种数据分布式缓存方法的第一流程图。

本申请实施例提供的一种数据分布式缓存方法,应用于分布式数据缓存系统,可以包括以下步骤:

步骤s101:接收查询目标数据的查询请求。

实际应用中,分布式数据缓存系统可以先接收查询目标数据的查询请求,具体的,可以通过自身的传输接口接收查询请求,也可以通过自身的命令行接口、显示界面等接收查询请求。目标数据类型及查询请求的形式可以根据实际情况确定。

步骤s102:调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点。

实际应用中,分布式数据缓存系统接收查询请求后,便可以调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点。本申请所涉及的一致性哈希算法是在1997年由麻省理工学院的karger等人在解决分布式cache中提出的算法。不难理解,目标数据保存在分布式数据缓存系统中的目标存储节点及目标备份节点中。目标存储节点及目标备份节点的类型可以根据实际需要确定,比如可以将相邻的两个节点作为目标数据的目标存储节点和目标备份节点等。本申请实施例提供的数据分布式缓存方法中保存数据的存储节点和备份节点指的是,基于一致性哈希算法,映射在一致性哈希算法对应的圆上的相邻的两个节点。

步骤s103:判断目标存储节点和目标备份节点中是否存在目标数据;若否,则执行步骤s104。

步骤s104:在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。

实际应用中,分布式数据缓存系统在确定出目标存储节点及目标备份节点后,便可以从目标存储节点或目标备份节点中读取目标数据,然而,目标数据可能从目标存储节点和目标备份节点中丢失,此时,分布式数据缓存系统可以先判断目标存储节点和目标备份节点中是否存在目标数据,若否,则在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中,避免目标存储节点和目标备份节点中目标数据的丢失。

实际应用中,分布式数据缓存系统中的数据可以按照一致性哈希算法存入分布式数据缓存系统,则本申请实施例提供的一种数据分布式缓存方法中,在接收查询目标数据的查询请求之前,还可以接收待存储的第一数据;调用一致性哈希算法确定出保存第一数据的第一存储节点及第一备份节点;将第一数据保存至第一存储节点及第一备份节点中。

实际应用中,分布式数据缓存系统中的数据按照一致性哈希算法存入分布式数据缓存系统后,还需按照一致性哈希算法进行删除,则本申请实施例提供的一种数据分布式缓存方法中,在接收查询目标数据的查询请求之前,还可以接收待删除的第二数据;调用一致性哈希算法确定出保存第二数据的第二存储节点及第二备份节点;在第二存储节点及第二备份节点中删除第二数据。

实际应用中,分布式数据缓存系统在按照一致性哈希算法将数据写入自身后,如若对数据进行更新,还需按照一致性哈希算法进行更新,则本申请实施例提供的一种数据分布式缓存方法中,接收查询目标数据的查询请求之前,还可以接收待更新的第三数据;调用一致性哈希算法确定出保存第三数据的第三存储节点及第三备份节点;在第三存储节点及第三备份节点中更新第三数据。

具体应用场景中,当分布式数据缓存系统中新增存储节点后,为了尽可能地降低新增存储节点对分布式数据缓存系统中的数据的影响,可以借助一致性哈希算法确定分布式数据缓存系统中数据的存储方式,则本申请实施例提供的一种数据分布式缓存方法中,还可以包括:判断是否有新的存储节点加入分布式数据缓存系统;若是,则调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置;确定新的存储节点为添加位置的前一个位置对应的存储节点的备份节点,并确定添加位置的后一个位置对应的存储节点为新的存储节点的备份节点;其中,沿着圆的顺时针方向的位置为添加位置的前一个位置,逆着圆的顺时针方向的位置为添加位置的后一个位置。比如一致性哈希算法对应的圆上有三个存储节点,按照圆的顺时针方向,分别为存储节点1、存储节点2和存储节点3,其中,存储节点1的备份节点为存储节点2,存储节点2的备份节点为存储节点3,存储节点3的备份节点为存储节点1,当有新的存储节点4加入分布式数据缓存系统后,假设存储节点4映射在存储节点2和存储节点3之间,则存储节点2的备份节点变更为存储节点4,存储节点4的备份节点变更为存储节点3。

具体的,可以借助存储节点的唯一ip地址来运行一致性哈希算法,保证各个存储节点运行一致性哈希算法的结果唯一,则分布式缓存系统调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置的过程可以具体为:将新的存储节点的ip地址作为一致性哈希算法的键,调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置。

实际应用中,分布式数据缓存系统判断目标存储节点和目标备份节点中是否存在目标数据之后,若判定目标存储节点中存在目标数据,则在目标存储节点中读取目标数据并返回,此时,在目标备份节点中不存在目标数据时,将目标数据存储至目标备份节点;若判定目标备份节点中存在目标数据,则在目标备份节点中读取目标数据并返回,并在目标存储节点中不存在目标数据时,将目标数据存储至目标存储节点中。

本申请提供的一种数据分布式缓存方法,应用于分布式数据缓存系统,接收查询目标数据的查询请求;调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点;判断目标存储节点和目标备份节点中是否存在目标数据;若否,则在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。本申请提供的一种数据分布式缓存方法,分布式数据缓存系统在判定目标存储节点和目标备份节点中不存在目标时,在本地数据库中读取目标数据,并将目标数据存储至目标存储节点和目标备份节点中,避免了目标存储节点和目标备份节点中目标数据的丢失,提高了分布式数据缓存系统的数据备份能力。

请参阅图2,图2为本申请实施例提供的一种数据分布式缓存方法的第二流程图。

实际应用中,本申请实施例提供的一种数据分布式缓存方法,可以包括以下步骤:

步骤s201:接收查询目标数据的查询请求。

步骤s202:调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点。

步骤s203:判断目标存储节点和目标备份节点中是否存在目标数据;若否,则执行步骤s204。

步骤s204:在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。

步骤s205:判断是否有新的存储节点加入分布式数据缓存系统;若是,则执行步骤s206。

步骤s206:将新的存储节点的ip地址作为一致性哈希算法的键,调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置。

步骤s207:确定新的存储节点为添加位置的前一个位置对应的存储节点的备份节点,并确定添加位置的后一个位置对应的存储节点为新的存储节点的备份节点。

本申请还提供了一种数据分布式缓存系统,其具有本申请实施例提供的一种数据分布式缓存方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种数据分布式缓存系统的结构示意图。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,可以包括:

第一接收模块101,用于接收查询目标数据的查询请求;

第一调用模块102,用于调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点;

第一判断模块103,用于判断目标存储节点和目标备份节点中是否存在目标数据;若否,则在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,还可以包括:

第二接收模块,用于第一接收模块接收查询目标数据的查询请求之前,接收待存储的第一数据;

第二调用模块,用于调用一致性哈希算法确定出保存第一数据的第一存储节点及第一备份节点;

第一保存模块,用于将第一数据保存至第一存储节点及第一备份节点中。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,还可以包括:

第三接收模块,用于第一接收模块接收查询目标数据的查询请求之前,接收待删除的第二数据;

第三调用模块,用于调用一致性哈希算法确定出保存第二数据的第二存储节点及第二备份节点;

第一删除模块,用于在第二存储节点及第二备份节点中删除第二数据。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,还可以包括:

第四接收模块,用于第一接收模块接收查询目标数据的查询请求之前,接收待更新的第三数据;

第四调用模块,用于调用一致性哈希算法确定出保存第三数据的第三存储节点及第三备份节点;

第一更新模块,用于在第三存储节点及第三备份节点中更新第三数据。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,还可以包括:

第二判断模块,用于判断是否有新的存储节点加入分布式数据缓存系统;若是,则调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置;

第一确定模块,用于确定新的存储节点为添加位置的前一个位置对应的存储节点的备份节点,并确定添加位置的后一个位置对应的存储节点为新的存储节点的备份节点;

其中,沿着圆的顺时针方向的位置为添加位置的前一个位置,逆着圆的顺时针方向的位置为添加位置的后一个位置。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,第二判断模块可以包括:

第一确定单元,用于将新的存储节点的ip地址作为一致性哈希算法的键,调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置。

本申请实施例提供的一种数据分布式缓存系统,应用于分布式数据缓存系统,还可以包括:

第一执行模块,用于第一判断模块判断目标存储节点和目标备份节点中是否存在目标数据之后,若判定目标存储节点中存在目标数据,则在目标存储节点中读取目标数据并返回;

第二执行模块,用于若判定目标备份节点中存在目标数据,则在目标备份节点中读取目标数据并返回。

本申请还提供了一种数据分布式缓存设备及计算机可读存储介质,其均具有本申请实施例提供的一种数据分布式缓存方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种数据分布式缓存设备的结构示意图。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行存储器201中存储的计算机程序时实现如下步骤:

接收查询目标数据的查询请求;

调用一致性哈希算法确定出保存目标数据的目标存储节点及目标备份节点;

判断目标存储节点和目标备份节点中是否存在目标数据;

若否,则在本地数据库中读取目标数据,并将目标数据存储至目标存储节点及目标备份节点中。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:接收查询目标数据的查询请求之前,接收待存储的第一数据;调用一致性哈希算法确定出保存第一数据的第一存储节点及第一备份节点;将第一数据保存至第一存储节点及第一备份节点中。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:接收查询目标数据的查询请求之前,接收待删除的第二数据;调用一致性哈希算法确定出保存第二数据的第二存储节点及第二备份节点;在第二存储节点及第二备份节点中删除第二数据。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:接收查询目标数据的查询请求之前,接收待更新的第三数据;调用一致性哈希算法确定出保存第三数据的第三存储节点及第三备份节点;在第三存储节点及第三备份节点中更新第三数据。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:判断是否有新的存储节点加入分布式数据缓存系统;若是,则调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置;确定新的存储节点为添加位置的前一个位置对应的存储节点的备份节点,并确定添加位置的后一个位置对应的存储节点为新的存储节点的备份节点;其中,沿着圆的顺时针方向的位置为添加位置的前一个位置,逆着圆的顺时针方向的位置为添加位置的后一个位置。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:将新的存储节点的ip地址作为一致性哈希算法的键,调用一致性哈希算法,确定新的存储节点在一致性哈希算法对应的圆上的添加位置。

本申请实施例提供的一种数据分布式缓存设备,应用于分布式数据缓存系统,保存存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:判断目标存储节点和目标备份节点中是否存在目标数据之后,若判定目标存储节点中存在目标数据,则在目标存储节点中读取目标数据并返回;若判定目标备份节点中存在目标数据,则在目标备份节点中读取目标数据并返回。

请参阅图5,本申请实施例提供的另一种数据分布式缓存设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现数据分布式缓存设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。

本申请实施例提供的一种计算机可读存储介质,应用于分布式数据缓存系统,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的数据分布式缓存方法的步骤。

本申请所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

本申请实施例提供的一种数据分布式缓存系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种数据分布式缓存方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

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

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

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