一种数据读取方法及装置制造方法及图纸

技术编号:12337845 阅读:217 留言:0更新日期:2015-11-18 10:51
本发明专利技术提供一种数据读取方法及装置,其中第一服务器中每个键对应的值的第一有效时间依据第二服务器的情况进行动态调整,例如在第二服务器异常的情况下提高第一服务器中每个键对应的值的存储时长,这样在第二服务器异常时,仍可以从第一服务器中读取每个键对应的值,以降低对第二服务器的依赖,从而降低数据读取异常情况的发生。在第二服务器正常的情况下逐渐将第一有效时间恢复至初始值,使第一服务器中每个键对应的值的存储时长逐渐降低,这样当第二服务器中的某个键对应的值发生变更时,第一服务器中某个键对应的值可以在尽可能短的时间内变更为与第二服务器中相同键对应的值,从而在尽可能短的时间内实现第一服务器和第二服务器内的数据同步。

【技术实现步骤摘要】

本专利技术属于数据库处理
,更具体的说,尤其涉及一种数据读取方法及装置
技术介绍
Couchbase Server简称为Couchbase,其作为一个服务器集群,形成了一个集群化的、基于文档的数据库系统,通常情况下,Couchbase将大部分数据都存储在RAM(Random-Access Memory,随机存取存储器)中,并使用一个缓存层来为电子设备中的各项进程提供较快的数据访问。其中缓存层是服务器集群中的多个服务器或一个服务器的缓存层,这样在使用Couchbase时可以按照实际需求扩大或者紧缩服务器集群,以便于利用更多的RAM来提升系统性能。但是在使用Couchbase时,由于其内存储的键(key)的值(value)比较大,因此会导致Couchbase对网络要求较高,一旦网络异常就会引起数据读取的超时。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据读取方法及装置,用于降低对某一种服务器的依赖,从而降低某一种服务器异常时数据读取异常情况的发生。技术方案如下:本专利技术提供一种数据读取方法,应用于第一服务器中,所述方法包括:接收数据读取请求,其中所述数据读取请求中携带有至少一个键,所述键用于指示所述数据读取请求所要请求的数据;依据所述数据读取请求,判断所述第一服务器中是否命中所述键对应的值,所述值为所述数据读取请求所要请求的数据,且每个键所对应的值分别具有第一有效时间,所述第一服务器具有第二有效时间,所述第一有效时间小于等于所述第二有效时间,所述第一有效时间用于指示所述键所对应的值在所述第一服务器中的存储时长,第二有效时间用于指示所述第一服务器中存储的所述键对应的值的最大存储时长;当所述第一服务器命中所述键对应的值时,返回所述键对应的值;当所述第一服务器未命中所述键对应的值时,向第二服务器转发所述数据读取请求,用于触发所述第二服务器返回所述数据读取请求中携带的所述键对应的值;其中所述第一有效时间依据所述第二服务器的情况动态调整。优选的,所述第一有效时间依据所述第二服务器的情况动态调整包括:在所述第二服务器异常的情况下,依据所述第二服务器查找到所述键对应的值的情况,提高所述第一有效时间,其中调整后的第一有效时间小于等于所述第二有效时间;在所述第二服务器正常的情况下,将所述第一有效时间逐渐恢复至所述第一有效时间的初始值。优选的,所述方法还包括:在所述第二服务器中存储有所述键对应的值的情况下,写入所述第二服务器发送的所述键对应的值,并将写入所述键对应的值的时间确定为所述值的第一有效时间。优选的,所述判断所述第一服务器中是否命中所述键对应的值包括以下任意一种方式:判断所述第一服务器中是否有所述键对应的值;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的第一有效时间与当前时间的差值是否大于预设时间差;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的读取是否异常;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的第一有效时间的类型转换是否正确。优选的,所述第一有效时间记录在所述键对应的值后,且所述第一有效时间和所述键对应的值间间隔一空格。本专利技术还提供一种数据读取装置,应用于第一服务器中,所述装置包括:接收单元,用于接收数据读取请求,其中所述数据读取请求中携带有至少一个键,所述键用于指示所述数据读取请求所要请求的数据;判断单元,用于依据所述数据读取请求,判断所述第一服务器中是否命中所述键对应的值,所述值为所述数据读取请求所要请求的数据,且每个键所对应的值分别具有第一有效时间,所述第一服务器具有第二有效时间,所述第一有效时间小于等于所述第二有效时间,所述第一有效时间用于指示所述键所对应的值在所述第一服务器中的存储时长,第二有效时间用于指示所述第一服务器中存储的所述键对应的值的最大存储时长;返回单元,用于当所述第一服务器命中所述键对应的值时,返回所述键对应的值;转发单元,用于当所述第一服务器未命中所述键对应的值时,向第二服务器转发所述数据读取请求,用于触发所述第二服务器返回所述数据读取请求中携带的所述键对应的值;其中所述第一有效时间依据所述第二服务器的情况动态调整。优选的,所述装置还包括:调整单元,用于在所述第二服务器异常的情况下,依据所述第二服务器查找到所述键对应的值的情况,提高所述第一有效时间,其中调整后的第一有效时间小于等于所述第二有效时间,以及用于在所述第二服务器正常的情况下,将所述第一有效时间逐渐恢复至所述第一有效时间的初始值。优选的,所述装置还包括:写入单元,用于在所述第二服务器中存储有所述键对应的值的情况下,写入所述第二服务器发送的所述键对应的值,并将写入所述键对应的值的时间确定为所述值的第一有效时间。优选的,所述判断单元通过以下任意一种方式判断所述第一服务器中是否命中所述键对应的值:判断所述第一服务器中是否有所述键对应的值;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的第一有效时间与当前时间的差值是否大于预设时间差;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的读取是否异常;当所述第一服务器中有所述键对应的值时,判断所述键对应的值的第一有效时间的类型转换是否正确。优选的,所述第一有效时间记录在所述键对应的值后,且所述第一有效时间和所述键对应的值间间隔一空格。与现有技术相比,本专利技术提供的上述技术方案具有如下优点:本专利技术提供的上述技术方案,第一服务器中每个键对应的值的第一有效时间依据第二服务器的情况进行动态调整,例如可以在第二服务器异常的情况下提高第一有效时间,在第二服务器正常的情况下,将第一有效时间逐渐恢复至初始值。即在第二服务器异常的情况下提高第一服务器中每个键对应的值的存储时长,这样在第二服务器异常的情况下,仍可以从第一服务器中读取每个键对应的值,以降低对第二服务器的依赖,从而降低第二服务器异常时数据读取异常情况的发生。在第二服务器正常的情况下逐渐将第一有效时间恢复至初始值,使第一服务器中每个键对应的值的存储时长逐渐降低,这样当第二服务器中的某个键对应的值发生变更时,第一服务器中某个键对应的值可以在尽可能短的时间内变更为与第二服务器中相同键对应的值,从而在尽可能短的时间内实现第一服务器和第二服务器内的数据同步。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的数据读取方法的一种流程图;图2是本专利技术实施例提供的数据读取方法的另一种流程图;图3是本专利技术实施例提供的数据读取装置的一种结构示意图;图4是本专利技术实施例提供的数据读取装置的另一种结构示意图;图5是本专利技术实施例提供的数据读取装置的再一种结构示意图。【具体实施方式】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例本文档来自技高网...
一种数据读取方法及装置

【技术保护点】
一种数据读取方法,其特征在于,应用于第一服务器中,所述方法包括:接收数据读取请求,其中所述数据读取请求中携带有至少一个键,所述键用于指示所述数据读取请求所要请求的数据;依据所述数据读取请求,判断所述第一服务器中是否命中所述键对应的值,所述值为所述数据读取请求所要请求的数据,且每个键所对应的值分别具有第一有效时间,所述第一服务器具有第二有效时间,所述第一有效时间小于等于所述第二有效时间,所述第一有效时间用于指示所述键所对应的值在所述第一服务器中的存储时长,第二有效时间用于指示所述第一服务器中存储的所述键对应的值的最大存储时长;当所述第一服务器命中所述键对应的值时,返回所述键对应的值;当所述第一服务器未命中所述键对应的值时,向第二服务器转发所述数据读取请求,用于触发所述第二服务器返回所述数据读取请求中携带的所述键对应的值;其中所述第一有效时间依据所述第二服务器的情况动态调整。

【技术特征摘要】

【专利技术属性】
技术研发人员:姚婷邱学忠陈爱云
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1