[发明专利]一种磁盘读写的方法、设备以及计算机可读存储介质有效
| 申请号: | 201711069977.9 | 申请日: | 2017-11-03 |
| 公开(公告)号: | CN108021339B | 公开(公告)日: | 2021-05-04 |
| 发明(设计)人: | 庄益强 | 申请(专利权)人: | 网宿科技股份有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/52 |
| 代理公司: | 上海晨皓知识产权代理事务所(普通合伙) 31260 | 代理人: | 成丽杰 |
| 地址: | 200030 上海市徐汇区*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 磁盘 读写 方法 设备 以及 计算机 可读 存储 介质 | ||
1.一种磁盘读写的方法,其特征在于,包括:
通过进程确定资源访问请求对应的待访问资源所在的存储位置,其中,多个进程共享同一个所述待访问资源所在的存储位置,每一个所述待访问资源所在的存储位置为预先创建的树状文件夹结构中叶子节点对应的文件夹,每一个所述文件夹设置有对应的读写锁;
通过所述进程对所述待访问资源所在的存储位置对应的读写锁进行操作,获取相应权限,完成磁盘读写;
其中,所述权限包括写操作权限和读访问权限;
对于写操作权限,一次只允许一个进程占有;对于读访问权限,一次允许多个进程同时占有;
其中,构建所述树状文件夹结构的方法包含:根据散列函数计算结果的取值范围,以及树状文件夹结构中预设的文件夹命名规则和预设的树状文件夹结构的层数,创建所述树状文件夹结构;
所述通过进程确定资源访问请求对应的待访问资源所在的存储位置包含:通过所述进程采用所述散列函数对所述资源访问请求中的URL进行散列计算,确定所述资源访问请求的散列结果;通过所述进程确定所述资源访问请求的散列结果对应的所述树状文件夹结构中的叶子节点对应的文件夹。
2.根据权利要求1所述的磁盘读写的方法,其特征在于,所述通过所述进程对所述待访问资源所在的存储位置对应的读写锁进行操作,获取相应权限,完成磁盘读写,具体包括:
通过所述进程对所述叶子节点对应的文件夹的读写锁进行读锁操作,并获取所述叶子节点对应的文件夹的读访问权限;
通过所述进程判断所述叶子节点对应的文件夹下是否存在所述待访问资源对应的文件;
若是,则通过所述进程读取所述待访问资源对应的文件后释放所述叶子节点处的文件夹的读访问权限;
若否,则通过所述进程直接释放所述叶子节点对应的文件夹的读访问权限,从存储有所述待访问资源的设备获取所述待访问资源,对所述叶子节点对应的文件夹的读写锁进行写锁操作,获取所述叶子节点对应的文件夹的写操作权限,在所述叶子节点对应的文件夹创建与待访问资源对应的资源文件,并将所述待访问资源写入创建的资源文件,释放所述叶子节点对应的文件夹的写操作权限。
3.根据权利要求1所述的磁盘读写的方法,其特征在于,所述待访问资源所在的存储位置位于内存中,所述内存与所述磁盘通信连接;
所述内存包括:锁内存和资源内存,其中,所述锁内存用于存储读写锁,所述资源内存用于存储所有待访问资源。
4.根据权利要求3所述的磁盘读写的方法,其特征在于,所述通过进程确定资源访问请求对应的待访问资源所在的存储位置,具体包括:
通过所述进程采用所述散列函数对所述资源访问请求进行散列计算,确定所述资源访问请求的散列结果;
通过所述进程确定所述资源访问请求的散列结果对应的树状文件夹结构中的路径,根据所述路径上每一级节点所对应的文件夹的名称,确定所述待访问资源在资源内存中的存储位置。
5.根据权利要求4所述的磁盘读写的方法,其特征在于,所述通过所述进程对所述待访问资源所在的存储位置对应的读写锁进行操作,获取相应权限,完成磁盘读写,具体包括:
通过所述进程对所述待访问资源所在的存储位置的读写锁进行读锁操作,并获取所述待访问资源所在的存储位置的读访问权限;
判断所述确定的待访问资源所在的存储位置下是否存在所述待访问资源对应的资源文件;
若是,则通过所述进程读取所述待访问资源对应的文件后释放所述存储位置的读访问权限;
若否,则通过所述进程直接释放所述待访问资源所在的存储位置的读访问权限,从存储有所述待访问资源的设备获取所述待访问资源,对所述待访问资源所在的存储位置的读写锁进行写锁操作,获取所述待访问资源所在的存储位置的写操作权限,在所述待访问资源所在的存储位置创建与待访问资源对应的资源文件,并将所述待访问资源写入创建的资源文件,释放所述待访问资源所在的存储位置的写操作权限;
将所述内存存储的资源文件同步至对应的所述叶子节点对应的文件夹,完成磁盘读写。
6.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的磁盘读写的方法。
7.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5任一所述的磁盘读写的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711069977.9/1.html,转载请声明来源钻瓜专利网。





