[发明专利]一种实现读写共享的方法、系统、设备及介质在审
申请号: | 202110656287.3 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113568881A | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 苏志恒 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
主分类号: | G06F16/176 | 分类号: | G06F16/176;G06F16/172;G06F16/182;G06F9/50 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;陈黎明 |
地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 读写 共享 方法 系统 设备 介质 | ||
本发明公开了一种实现读写共享的方法、系统、设备和存储介质,方法包括:响应于准备以读、写或读写混合的方式打开文件,根据操作的类型给所述文件的句柄中的打开方式字段值设置对应的值并添加读写共享标识;响应于成功打开文件,基于所述打开方式字段值和所述读写共享标识向元数据服务器端发出申请权限的请求并接收申请结果;响应于申请权限成功并对所述文件进行读或写,判断当前权限中是否存在读缓存权限、写缓存权限或读写共享权限;以及响应于当前权限中存在读缓存权限、写缓存权限或读写共享权限,对所述文件进行缓存读或缓存写。本发明通过使用读写共享技术,实现多客户端混合读写共享的支持,提升了分布式系统的易用性和健壮性。
技术领域
本发明涉及分布式系统领域,更具体地,特别是指一种实现读写共享的方法、系统、计算机设备及可读介质。
背景技术
分布式存储系统中,基于多客户端混合读写文件时实现的数据一致性功能,现有做法是:客户端在读写文件前需要向元数据服务器申请相应的读写权限及读写缓存权限(读文件时申请读权限和读缓存权限,写文件时申请写权限和写缓存权限),当有其他客户端写或混合读写该文件向元数据服务器申请权限时,元数据服务器回收其他客户端对该文件读写缓存权限,强制所有客户端对该文件进行同步读写IO(输入输出),即每次读和写操作需要串行执行,在数据写入到存储介质或从存储介质中读取成功前,为确保数据一致性,后续的读/写操作处于阻塞状态。
同步读写IO导致客户端读写性能下降,尤其当多客户端对同一个文件进行混合读写,且块大小较小时,放大了同步读写IO对客户端性能的影响;在科学计算应用的高性能计算场景中,存在多客户端同时读写同一个文件的情况(读写位置不相同),且对性能要求较高,若在多客户端混合读写文件时,读写串行执行,严重影响计算性能和增加存储介质的读写次数,降低了存储介质寿命,未能充分发挥分布式系统的性能优势。
发明内容
有鉴于此,本发明实施例的目的在于提出一种实现读写共享的方法、系统、计算机设备及计算机可读存储介质,本发明提升了同步读写性能。通过对共享读写的文件赋予一个共享标记,多客户端混合读写该文件时,当客户端持有读写缓存权限或持有共享标志时,允许客户端读写缓存,上层应用程序通过调用相应的数据一致性接口函数来保证数据的一致性;通过放开数据一致性要求,大大提升混合读写或多客户端同时读写时的性能,提升客户端响应能力和分布式系统易用性。
基于上述目的,本发明实施例的一方面提供了一种实现读写共享的方法,包括如下步骤:响应于准备以读、写或读写混合的方式打开文件,根据操作的类型给所述文件的句柄中的打开方式字段值设置对应的值并添加读写共享标识;响应于成功打开文件,基于所述打开方式字段值和所述读写共享标识向元数据服务器端发出申请权限的请求并接收申请结果;响应于申请权限成功并对所述文件进行读或写,判断当前权限中是否存在读缓存权限、写缓存权限或读写共享权限;以及响应于当前权限中存在读缓存权限、写缓存权限或读写共享权限,对所述文件进行缓存读或缓存写。
在一些实施方式中,方法还包括:响应于接收到回收读写共享权限或回收写缓存权限请求,将缓存中的数据下刷到存储介质后再释放相应权限。
在一些实施方式中,方法还包括:响应于接收到回收读写共享权限或回收读缓存权限请求,将缓存中的数据无效后再释放相应权限。
在一些实施方式中,所述基于所述打开方式字段值和所述读写共享标识向元数据服务器端发出申请权限的请求并接收申请结果包括:将所述打开方式字段值记录到元数据服务器端文件的元数据字段中,并根据所述元数据字段和所述读写共享标识返回相应的权限。
在一些实施方式中,所述根据所述元数据字段和所述读写共享标识返回相应的权限包括:判断当前是否存在客户端对所述文件进行读操作和/或写操作;以及响应于当前不存在客户端对所述文件进行读操作和/或写操作,根据所述元数据字段返回读缓存权限和/或写缓存权限。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110656287.3/2.html,转载请声明来源钻瓜专利网。