[发明专利]文件读取方法、装置、计算设备及存储介质有效
申请号: | 201911401308.6 | 申请日: | 2019-12-31 |
公开(公告)号: | CN110784756B | 公开(公告)日: | 2020-05-29 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 珠海亿智电子科技有限公司 |
主分类号: | H04N21/433 | 分类号: | H04N21/433;H04N21/845 |
代理公司: | 深圳青年人专利商标代理有限公司 44350 | 代理人: | 吴桂华 |
地址: | 519000 广东省珠海市高新区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 读取 方法 装置 计算 设备 存储 介质 | ||
本发明适用于计算机技术领域,提供了一种文件读取方法、装置、计算设备及存储介质,该方法包括:判断第一数据量是否小于第二数据量,该第一数据量为数据读取请求对应的数据量,该第二数据量为当前内存中未读取的数据对应的数据量,若不小于则将内存中未读取的数据作为第一返回数据返回,判断未返回的数据量是否为预定数据量的整数倍,否则从文件中读取第三数据量的数据,将读取到的第三数据量的数据作为第二返回数据返回,并从文件中读取预定数据量的数据存储至内存中,从内存中读取第四数据量的数据作为第三返回数据返回,从而通过优先从内存中读取数据,并根据数据读取请求对应的数据量来更新内存中的缓存数据,提高了文件的读取效率。
技术领域
本发明属于计算机技术领域,尤其涉及一种文件读取方法、装置、计算设备及存储介质。
背景技术
在文件读取过程中,特别是在视频播放时对文件读取的过程中,通常是从文件中直接读取数据,但直接从文件中读取数据是一个比较耗时的过程。
在视频播放过程中,用户想跳过中间的片段,直接从某个时间点开始播放视频,该时间点对应的位置为视频的开始播放位置,而这一操作过程称为seek,直接从文件中的某个位置seek到另外一个位置是一个比较耗时的过程。
在视频播放过程中,我们需要将视频文件分流出单独的音频数据和视频数据。期间,将会频繁seek到文件中不同的位置去读取数据。这将影响音视频的分流速度,从而降低视频播放的流畅度,给人一种卡顿的感觉。
发明内容
本发明的目的在于提供一种文件读取方法、装置、计算设备及存储介质,旨在解决由于现有技术中从文件中直接读取数据导致的数据读取效率低的问题。
一方面,本发明提供一种文件读取方法,所述方法包括下述步骤:
判断第一数据量是否小于第二数据量,所述第一数据量为数据读取请求对应的数据量,所述第二数据量为当前预设内存中未读取的数据对应的数据量;
若不小于,则将所述预设内存中未读取的数据作为第一返回数据返回,更新当前文件偏移;
判断未返回的数据量是否为预定数据量的整数倍;
若不为整数倍,则根据当前文件偏移从所述文件中读取第三数据量的数据,将读取到的所述第三数据量的数据作为第二返回数据返回,并从所述文件中读取所述预定数据量的数据存储至所述预设内存中,更新当前文件偏移,所述第三数据量为所述未返回的数据量除以所述预定数据量后向下取整后与所述预定数据量的积;
从所述预设内存中读取第四数据量的数据作为第三返回数据返回,更新当前文件偏移以及所述第二数据量,所述第四数据量为所述未返回的数据量与所述第三数据量之差。
优选地,所述判断第一数据量是否小于第二数据量的步骤之后,包括:
若小于,则从所述预设内存中读取所述第一数据量的数据作为返回数据返回,更新当前文件偏移以及所述第二数据量;
所述判断未返回的数据量是否为预定数据量的整数倍的步骤之后,包括:
若为整数倍,则根据当前文件偏移从所述文件中读取所述未返回的数据量的数据,将读取到的所述未返回的数据量的数据作为第二返回数据返回,并从所述文件中读取所述预定数据量的数据存储至所述预设内存中,更新当前文件偏移以及所述第二数据量。
优选地,所述从所述文件中读取所述预定数据量的数据存储至所述预设内存中的步骤之后,包括:
更新当前最小文件偏移和当前最大文件偏移,所述当前最小文件偏移与当前最大文件偏移对应所述预设内存中存储的数据在所述文件中的初始位置和终止位置,所述当前最大文件偏移与当前最小文件偏移之差为所述预定数据量。
优选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海亿智电子科技有限公司,未经珠海亿智电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911401308.6/2.html,转载请声明来源钻瓜专利网。