[发明专利]一种资源文件的释放方法、装置和计算机可读存储介质有效
申请号: | 202011064329.6 | 申请日: | 2020-09-30 |
公开(公告)号: | CN112395083B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 宫冰川;王嫒婷;殷科君;徐志宁 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 崔晓岚;张颖玲 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源 文件 释放 方法 装置 计算机 可读 存储 介质 | ||
本申请提供了一种资源文件的释放方法、装置、电子设备及计算机可读存储介质;方法包括:针对磁盘中待释放的每个源资源文件,分别创建一一关联的通道;将多个所述通道注册到同一个选择器中,通过所述选择器查询多个所述通道的状态;通过查询到的处于就绪状态的通道,从关联的所述源资源文件中读取数据块到内存的缓冲区中,将所述内存的缓冲区中的所述数据块写入所述磁盘中对应的目标资源文件;当所述关联的源资源文件中的数据块被全部读取、并被写入对应的所述目标资源文件时,关闭所述处于就绪状态的通道。通过本申请,能够高效的释放资源文件。
技术领域
本申请涉及计算机技术,尤其涉及一种资源文件的释放方法、装置、电子设备及计算机可读存储介质。
背景技术
随着软件行业的飞速发展,用户对应用软件的性能需求越来越高。以释放资源文件为例,相关技术中以阻塞式进行数据流的输入与输出以释放资源文件,这种方式一旦出现阻塞,线程将会被挂起,失去CPU的使用权,一旦丢失了 CPU使用权,何时CPU才能够处理当前要释放的资源文件将无法控制,释放文件的效率被降低;而且对于较大的资源文件来说,释放的速度完全依赖操作系统对用户空间和内核地址空间的切换速度。这种方式在性能上以及可控性上都有极大的缺陷。
因此,相关技术中对于如何高效的释放资源文件尚无有效的方案。
发明内容
本申请实施例提供一种资源文件的释放方法、装置、电子设备及计算机可读存储介质,能够高效的释放资源文件。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种资源文件的释放方法,包括:
针对磁盘中待释放的每个源资源文件,分别创建一一关联的通道;
将多个所述通道注册到同一个选择器中,通过所述选择器查询多个所述通道的状态;
通过查询到的处于就绪状态的通道,从关联的所述源资源文件中读取数据块到内存的缓冲区中,将所述内存的缓冲区中的所述数据块写入所述磁盘中对应的目标资源文件;
当所述关联的源资源文件中的数据块被全部读取、并被写入所述对应的目标资源文件时,关闭所述处于就绪状态的通道。
本申请实施例提供一种资源文件的释放装置,包括:
第一创建模块,用于针对磁盘中待释放的每个源资源文件,分别创建一一关联的通道;
查询模块,用于将多个所述通道注册到同一个选择器中,通过所述选择器查询多个所述通道的状态;
释放模块,用于通过查询到的处于就绪状态的通道,从关联的所述源资源文件中读取数据块到内存的缓冲区中,将所述内存的缓冲区中的所述数据块写入所述磁盘中对应的目标资源文件;
关闭模块,用于当所述关联的源资源文件中的数据块被全部读取、并被写入所述对应的目标资源文件时,关闭所述处于就绪状态的通道。
在上述方案中,本申请实施例提供的一种资源文件的释放装置,还包括:
第二创建模块,用于获取每个所述源资源文件的路径,创建指向所述源资源文件的路径的源资源文件对象;
其中,所述源资源文件对象用于获取所述内存的缓冲区中的数据块的读取来源;
获取每个所述目标资源文件的路径,创建指向所述目标资源文件的路径的目标资源文件对象;
其中,所述目标资源文件对象用于获取所述内存的缓冲区中的数据块的写入地址。
在上述方案中,所述通道的类型包括文件读通道和文件写通道;
所述第一创建模块,还用于针对磁盘中待释放的每个源资源文件,执行以下操作:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011064329.6/2.html,转载请声明来源钻瓜专利网。