【技术实现步骤摘要】
本专利技术涉及缓存数据库技术,尤其涉及一种基于数据缓存的读数据方法。
技术介绍
在当今的信息社会,数据库技术及软件已广泛应用到各企业单位。例如,银行系统、税务系统、售票系统、财务系统、人事系统等,在web时代,管理诸如用户信息、商品信息、社交信息等浩如烟海的技术资料,缓存数据库技术是目前唯一可行的方案。然而,当包含技术资料的数据库中的数据量以T、P为单位计算时,磁盘10,即应用程序访问物理数据源成为数据库访问效率不可逾越的鸿沟。一方面,需要使用数据库来存储大数据量的技术资料;另一方面,低效的磁盘IO操作限制了数据库的高效运行。 为了提高数据库的运行效率,现有技术提出了数据缓存技术。缓存数据介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,由于缓存的介质一般是内存,因而,其读写速度较快,从而提高应用的运行性能。使用缓存不可避免地带来了两个技术问题,一是缓存中的数据与物理数据的一致性;二是缓存数据的时效性(有效期)。特别是目前大型数据库普遍采用集群方式存储数据,并且采用数据库主库以及数据库从库,对数据写操作和数据读操作进行分离,使得缓存数据与物理数据的交互,与单台主机上的内存与磁盘数据交互相比,变得更加复杂和多样,数据同步性和时效性问题也变得更加突出。目前,基于键值(key-value)对的缓存数据库技术有很多,例如,分布式缓存系统(Memcached)、key-value 存储系统(Redis, Remote Dictionary Server)等,实现了缓存数据的高效访问,然而,对于缓存数据的时效性和一致性,全部依赖于数据库运营者预先 ...
【技术保护点】
一种基于数据缓存的读数据方法,该方法包括:接收用户用于获取数据输入的读访问请求信息,抽取读访问请求信息,生成关键词;查询缓存数据库,确定缓存数据库中未缓存生成的关键词对应的数据键值,初始化待获取数据的标志值;或者,确定缓存数据库中缓存有生成的关键词对应的数据键值,但缓存的数据键值中包含的数据失效,设定待获取数据的标志值为获得的数据键值中包含的标志值;读数据库从库,查询得到生成的关键词对应的数据;获取读数据库从库的时间戳信息,根据设置的待获取数据的标志、读数据库从库的时间戳信息以及待获取数据,设置键值对的数据键值信息,并更新缓存数据库;将查询得到的数据输出。
【技术特征摘要】
1.一种基于数据缓存的读数据方法,该方法包括接收用户用于获取数据输入的读访问请求信息,抽取读访问请求信息,生成关键词;查询缓存数据库,确定缓存数据库中未缓存生成的关键词对应的数据键值,初始化待获取数据的标志值;或者,确定缓存数据库中缓存有生成的关键词对应的数据键值,但缓存的数据键值中包含的数据失效,设定待获取数据的标志值为获得的数据键值中包含的标志值; 读数据库从库,查询得到生成的关键词对应的数据; 获取读数据库从库的时间戳信息,根据设置的待获取数据的标志、读数据库从库的时间戳信息以及待获取数据,设置键值对的数据键值信息,并更新缓存数据库; 将查询得到的数据输出。2.根据权利要求I所述的方法,其中,在所述接收用户用于获取数据输入的读访问请求信息之前,进一步包括 获取用户写入的数据信息,抽取用户写入的数据信息,生成对应的关键词; 查询缓存数据库,查找是否存在生成的关键词对应的数据键值,如果存在该数据键值,将缓存数据库中缓存的该数据删除;如果不存在该数据键值,根据生成的关键词以及用户写入的数据信息,生成关键词-数据键值对,并写入数据库主库。3.根据权利要求I或2所述的方法,其中,缓存数据库中,以关键词-数据键值存储数据,所述数据键值包含时间戳、标志以及数据。4.根据权利要求3所述的方法,其中,所述初始化待获取数据的标志值包括 设定待获取数据的标志值为O。5.根据权利要求4所述的方法,其中,所述缓存的数据键值中包含的数据失效包括 解析查询得到的数据键值,获得数据键值中包含的时间戳信息,判断解析时的当前时间戳与获得的时间戳,如果当前时间戳大于获得的时间戳,确定该数据键值中包含的数据失效。6.根据权利要求5所述的方法,其中,进一步包括 如果当前时间戳小于或等于获得的时间戳,将查询得到的数据键值中包含的数据作为待获取数据输出。7.根据权利要求5所述的方法,其中,所述根据设置的待获取数据的标志、读数据库从库的时间戳信息以及待获取数据,设置键值对的数据键值信息包括 将待获取数据作为数据键值信息中的数据; 将设置的待获取数据的标志加1,作为数据键值信息中的标志; 根据数据键值信息中的标志、读数据库从库的时间戳信息以及预先设置的时间戳值计算公式,计算更新的缓存数据有效时间,作为数据键值信息中的时间戳。8.根据权利要求7所述的方法,其中,所述时间戳值计算公式为time=time2+a χ η 38 式中, time为更新的缓存数据有效时间; time2为读数据库从库的时间戳; a为数据基准有效时间;η为基准扩展值; flag'为更新数据的标志;flag' =flag+1 ; flag为待获取数据的标志。9.根据权利要求I或2所述的方法,其中,所述在将缓存数据库中缓存的该数据删除后,或,写入数据库主库后,进一步包括向用户返回写入成功信息。10.根据权利要求I或2所述的方法,其中,进一步包括 如果查询数据库从库,不存在与生成的关键词对应的数据,向用户返回读数据失败信肩、O11.一种基于数据缓存的读数据装置,其特征在于,该装置包括读数据模块、缓存数据库模块以及数据库从库模块,其中, 读数据模块,用于接收用户用于获取数据输入的读访问请求信息,抽取读访问请求信息,生成关键词; 缓存数据库模块,用于根据读数据模...
【专利技术属性】
技术研发人员:全宗峰,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。