[发明专利]一种大数据平台下数据库与缓存的数据一致性方法及系统在审
申请号: | 201610056389.0 | 申请日: | 2016-01-27 |
公开(公告)号: | CN105740383A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 董彦汝;孙毓忠;宋莹 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 平台 数据库 缓存 数据一致性 方法 系统 | ||
技术领域
本发明涉及大数据平台下数据一致性领域,特别涉及一种大数据平台下数据库与缓存的数据一致性方法及系统。
背景技术
计算机和通讯技术的发展,使数据量急剧增加,人类进入大数据时代,大数据平台下数据的存储、传输与传统平台下相比有很大的不同,首先,数据量增多,通常为TB级别,其次,在数据查询、检索等领域中应用的大数据平台,对能够及时获得数据有着很高的要求,如何在海量的数据中快速获取常用数据对大数据平台来说是一个挑战,为了解决上述问题,目前大数据平台存储系统的构造分为两部分,一是数据库构件,此部分主要用来存放原始数据;二是缓存系统构件,此部分主要用来存放查询结果,其中结果为数据库构件中的数据副本。
在具有缓存系统构件的大数据平台中,数据的传输方式为,当前端发来请求,请求数据时,系统会先去缓存系统中查询,是否有此请求包含的数据,如果相关数据在缓存系统中存在,则直接从缓存系统中读取数据返回给前端,如果相关数据在缓存系统中不存在,则系统会去查询数据库,从数据库中取出相关数据后,将相关数据返回给前端的同时,也将相关数据写入到缓存中。
由于缓存系统中的数据是原始数据的副本,所以当原始数据发生改变时,缓存中的数据如果没有被同时改变或者置为无效,就会使系统中数据出现不一致,当系统中数据不一致时,如果前端发来请求,恰好缓存系统中存在此请求包含的数据,那么会直接从缓存系统中读取数据返回给前端,导致前端读取的数据不是最新的,这会对需要及时更新和响应的系统产生很大影响,这些系统对数据一致性有着极高的要求,像支付宝这样的交易和账务数据是非常敏感的,通常不能容忍超过秒级的不一致。
随着具有缓存系统构件的大数据平台的广泛应用,对于缓存系统构件与数据库系统构件间数据一致性也显得越来越重要了,因而当数据库中原始数据发生改变时,保持缓存系统与数据库间数据的一致性便显得非常迫切需要了。
目前,大量相关研究开始针对于这种保持数据库构件与缓存系统构件间数据一致性,这其中主要有两大类,一类是通过中间件的周期性更新,达到数据库与缓存间数据的一致,发明(一种实现数据缓存的方法)中应用程序通过数据中间件获取缓存中的数据信息,当应用程序修改数据时,通过数据中间件写入数据库中数据,同时更新缓存中数据,且数据中间件根据更新周期,定时更新缓存中数据,保持缓存中数据和数据库中数据一致,但当程序通过中间件获取缓存中数据时,增加了时间开销,且中间件是根据更新周期定时更新缓存中的数据,这种周期性的更新不能保证原数据被更改后,缓存中数据也是最新的。
发明(一种实现数据一致性的方法及其系统)中提出了通过数据访问组件解决服务器缓存与关系数据库之间的数据一致性问题,其方式为数据访问组件接受用户消息,根据用户消息生成动态SQL,XML数据库配置文件连接关系数据库并获取数据,再将数据传给应用层;根据全局性质的数据访问组件对象名、数据获取对象名查询全局的缓存数据集合,若存在数据则返回数据给数据访问组件,由数据访问组件传递给应用层;若没有数据,则根据数据访问组件对象名、数据获取对象名,创建一个全局的缓存组件,并将获取的数据动态SQL、数据访问组件对象名、数据获取对象名传送给缓存组件,这种解决方式同样需要维护中间件,增加了时间开销,且过程中某些情况下还需要创建全局的缓存组件,更加增加了时间开销,且这种方式只适用于解决服务器缓存与关系数据库间的数据一致性问题,在大数据平台下,组成数据库构件中的数据库还包括IMPALA,MOGODB等非关系型数据库。
上述现有技术实现的功能虽然实现了原数据更新后,数据库构件中数据和缓存系统中数据能够达到一致,但是也存在一些问题,如缓存中数据更新不及时,误删缓存中数据,使请求效率降低,只是实现数据库系统内部数据库与缓存一致性等问题,对于大数据平台数据库构件和缓存系统构件是分离的,大数据平台中数据量庞大,误删会大大降低缓存的效率,且大数据平台中数据多,对某些实时性要求高的大数据系统,通过中间件修改缓存中数据,会浪费很多时间,同时由于中间件的周期性更新,缓存构件中数据和数据库构件中数据也不是实时一致的。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610056389.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种爬虫代理自动切换方法及装置
- 下一篇:车载粮食提升装载机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置