分布式高速存储系统的数据更新方法与流程

文档序号:13164428阅读:508来源:国知局

本发明涉及一种数据更新方法,尤其是涉及一种分布式高速存储系统的数据更新方法。



背景技术:

通常使用高速缓存存储系统提供高性能要求,但价格较高。使用硬盘满足大容量存储,价格低,但是速度慢。企业级开发中,在很多场景下将硬盘中的数据存储在高速缓存中,提高业务吞吐量。但是带来的问题是,目会导致无法满足acid中对数据一致性的要求。

例如《高速缓存一致性分析与实现》(龙岩师专学报,2004年第2卷第三期,9~12页,作者:沈汉鑫)记载了解决一致性问题的几种方式:

(1)硬件控制法———监听总线协议总线型多处理机系统常采用监听总线协议。这种方法的基本思想是:各处理机元素的cache控制器监视总线上其他各处理机和共享主存储器间的联络信号。如果这个联络信号与自己有关,就开始处理。例如,最简单的写直达方式中,某一个处理机要处理数据,就把写命令和地址等发到总线上。

(2)基于目录的协议用于网络连接的处理机系统。当某台处理机采用写无效协议正在更新一个变量并且其他的处理机也试图读该变量时,则会发生读缺失并可能导致总线的流量大大增加。另外,写更新协议可以更新远程高速缓存中的数据,而其他处理机可能永远也不会使用这些数据。

(3)软件解决cache数据一致性问题的方法是以通过编译进行事先分析的办法为主流。最简单的方法是:可写的共享数据都不放在cache中,但这样对很多数据来讲,就失去了cache的意义。

此外,中国专利cn103229152b也公开了一种高速缓存一致性控制方法、系统和程序,实现了高速缓存一致性控制,其中共享存储器类型多处理器系统的可缩放性得到提高,包括高速缓存和tlb的多个处理器共享系统存储器,多个处理器中的每个处理器包括tlb控制单元,该tlb控制单元进一步包括:执行tlb搜索的tlb搜索单元;以及在无命中获得于tlb搜索中并且产生tlb中断时执行tlb注册信息处理的一致性处置器:用于执行对系统存储器的页面表的搜索并且对tlb注册信息执行替换的tlb替换处置器。

以上方式都需要通过监听修改记录或者建立索引的方式确定处于各高速缓存中的数据哪一个是最终需要的,这需要对每一步的数据修改都留有记录,因此在运算的同时,还需要执行额外的记录任务,系统有着更大的开销。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种适用于主存储系统为低速存储系统的分布式高速存储系统的数据更新方法。

本发明的目的可以通过以下技术方案来实现:

一种分布式高速存储系统的数据更新方法,包括:

步骤s1:建立元数据集合,查找所有代码文件中的函数,并保存于元数据集合中;

步骤s2:获取高速缓存中的数据键值,根据数据键值在元数据集合中查找得到对应函数,从低速存储器中获取所述对应函数的数据,并以此修改高速缓存中的对应数据。

所述步骤s2具体包括步骤:

s21:确定需要更新的高速缓存;

s22:获取需所有需要更新的高速缓存中的数据键值;

s23:根据数据键值在元数据集合中查找,若查找得到对应函数,则执行步骤s24;

s24:从低速存储器中获取所述对应函数的数据,并以此修改所有含有该数据的高速缓存中的对应数据。

所述需要更新的高速缓存为所有高速缓存。

所述低速存储器为磁盘。

所述低速存储器为硬盘。

所述步骤s24中,若多条高速缓存中存在同一个函数的数据键值,则以低速存储器中获取的所述对应函数的数据一并更新这些高速缓存中的对应数据。

与现有技术相比,本发明具有以下优点:

1)以键值作为查找依据,利用低速存储中的数据更新高速缓存中的数,不需要对各条高速缓存中的数据进行甄别,免去了数据修改监听等消耗,提升了系统效率。

2)可以有差别的更新指定条的缓存。

附图说明

图1为本发明方法的主要步骤流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

一种分布式高速存储系统的数据更新方法,如图1所示,包括:

步骤s1:首先建立源代码的存储关系,建立元数据集合f(x),查找所有代码文件中的函数,并保存于元数据集合中;

步骤s2:获取高速缓存中的数据键值,根据数据键值在元数据集合中查找得到对应函数,从低速存储器中获取对应函数的数据,并以此修改高速缓存中的对应数据,具体包括步骤:

s21:跟新算法开始后,先确定需要更新的高速缓存,优选的,需要更新的高速缓存为所有高速缓存;

s22:获取需所有需要更新的高速缓存中的数据键值,低速存储器为包含硬盘在内的磁盘;

s23:根据数据键值在元数据集合中查找,若查找得到对应函数,则执行步骤s24;

s24:从低速存储器中获取对应函数的数据,并以此修改所有含有该数据的高速缓存中的对应数据,其中,若多条高速缓存中存在同一个函数的数据键值,则以低速存储器中获取的对应函数的数据一并更新这些高速缓存中的对应数据。

对于主存储系统为低速存储系统的存储系统,业务系统不会将数据写入至高速缓存中,所以低速存储器中存储的数据一般都是需要的数据,以键值作为查找依据,利用低速存储中的数据更新高速缓存中的数,不需要对各条高速缓存中的数据进行甄别,免去了数据修改监听等消耗,提升了系统效率。



技术特征:

技术总结
本发明涉及一种分布式高速存储系统的数据更新方法,包括:步骤S1:建立元数据集合,查找所有代码文件中的函数,并保存于元数据集合中;步骤S2:获取高速缓存中的数据键值,根据数据键值在元数据集合中查找得到对应函数,从低速存储器中获取对应函数的数据,并以此修改高速缓存中的对应数据。与现有技术相比,本发明以键值作为查找依据,利用低速存储中的数据更新高速缓存中的数,不需要对各条高速缓存中的数据进行甄别,免去了数据修改监听等消耗,提升了系统效率。

技术研发人员:魏琮举
受保护的技术使用者:上海高顿教育培训有限公司
技术研发日:2017.06.26
技术公布日:2017.12.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1