【技术实现步骤摘要】
私有客户端缓存数据刷新方法及相关组件
本申请涉及分布式存储
,特别涉及一种私有客户端缓存数据刷新方法、装置、设备及一种可读存储介质。
技术介绍
每个文件在内核中都有一个radixtree(基数树结构,用于管理该文件映射的所有的page页(page页为Linux内核内存管理的基本单位,一个page大小为4KB),当page中的数据被修改了,但是尚未被保存到磁盘时,该page就会被标记为脏页。当向私有客户端中写入数据时,实际上是将数据写到了一系列的page页中。然后操作系统的后台刷新线程每隔一定时间会遍历所有的文件,并从文件对应的radixtree中查找待刷新的page页,当找到的page页中待刷新的内容满足一个对象大小(例如4MB)时,会将page页中的数据发送给后端存储系统。而在后端存储系统中在一个刷新周期内刷新哪些文件是由操作系统决定的,私有客户端无法干预,且数据刷新机制固定,这就导致在一段时间内总是刷新同一个文件,而其它文件都在阻塞。反映到上层应用就是有的文件写的快,有的文件写的慢,影响文件刷新效率以及用户 ...
【技术保护点】
1.一种私有客户端缓存数据刷新方法,其特征在于,包括:/n私有客户端监测到数据写入时,确定写入的文件,并在所述文件的radix tree中查找待刷新的page页;/n判断所述page页是否满足一个对象大小;/n若所述page页不满足一个对象大小,确定所述文件的查找次数以及距离上次刷新的时间间隔;/n当所述查找次数低于查找阈值,或,所述时间间隔大于间隔阈值时,将所述page页发送至后端存储,以进行数据刷新,并更新所述文件的查找次数以及刷新时间;/n当所述查找次数低于查找阈值,且,所述时间间隔大于间隔阈值时,更新所述文件的查找次数。/n
【技术特征摘要】
1.一种私有客户端缓存数据刷新方法,其特征在于,包括:
私有客户端监测到数据写入时,确定写入的文件,并在所述文件的radixtree中查找待刷新的page页;
判断所述page页是否满足一个对象大小;
若所述page页不满足一个对象大小,确定所述文件的查找次数以及距离上次刷新的时间间隔;
当所述查找次数低于查找阈值,或,所述时间间隔大于间隔阈值时,将所述page页发送至后端存储,以进行数据刷新,并更新所述文件的查找次数以及刷新时间;
当所述查找次数低于查找阈值,且,所述时间间隔大于间隔阈值时,更新所述文件的查找次数。
2.如权利要求1所述的私有客户端缓存数据刷新方法,其特征在于,还包括:
判断所述page页是否连续;
若所述page页不连续,则跳转至确定所述文件的查找次数以及距离上次刷新的时间间隔的步骤。
3.如权利要求2所述的私有客户端缓存数据刷新方法,其特征在于,还包括:
若所述page页满足一个对象大小,且连续时,则执行将所述page页发送至后端存储的步骤。
4.如权利要求1所述的私有客户端缓存数据刷新方法,其特征在于,还包括:
若系统中调用了fsync接口,则执行将所述page页发送至后端存储的步骤。
5.如权利要求1所述的私有客户端缓存数据刷新方法,其特征在于,还包括:
当接收到cap消息时,则执行将所述page页发送至后端存储的步骤。
6.如权利要求1所述的私有客户端缓存数据刷新方法,其特征在于,还包括:
私有客户端监测到存在数据写入时,将预先设置...
【专利技术属性】
技术研发人员:孔帅,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。