[发明专利]IO数据流处理方法、装置、存储介质和终端在审
申请号: | 201810477918.3 | 申请日: | 2018-05-18 |
公开(公告)号: | CN108664412A | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 张嘉俊 | 申请(专利权)人: | 广州优视网络科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 刘延喜 |
地址: | 510640 广东省广州市天河区黄埔大*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存缓存 数据流处理 数据流封装 数据流 存储介质 数据结构 终端 数据结构存储 操作效率 字节数组 处理器 存储 | ||
本发明提供了一种IO数据流处理方法、装置、存储介质和终端,本发明提供的IO数据流处理方法包括:获取IO内存缓存池中的内存缓存块;接收IO操作对应的数据流;根据所述IO操作的类型把所述数据流封装成数据结构;把所述数据结构存储于所述内存缓存块。本发明通过所述IO内存缓存池提高了IO端口的操作效率,减少了处理器不断生成新的字节数组的损耗;并且,可将IO操作对应的数据流封装为多种类型的数据结构之后再存储,可使后续IO数据流的使用更加便捷高效。
技术领域
本发明涉及信息处理技术,尤其是一种IO数据流处理方法、装置、存储介质和终端。
背景技术
现有的部分计算机语言提供了简单IO操作(Input/Output,输入/输出操作)的API函数(Application Programming Interface,应用程序编程接口),在读写文件或部分网络请求等场景下,可以使用IO数据流进行数据的字节读写;但直接用IO数据流进行读写操作时,处理器需要不断生成字节数组以充当存储数据流的容器,性能消耗较大;而且,生成的字节数组只支持字节的读写,后续还需要对存储的字节进行转换以便调用。基于以上问题,现有的IO操作函数在性能的消耗和使用便捷的方面,存在不足。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是解决现有的IO操作对处理器的性能损耗的问题。
本发明提供了一种IO数据流处理方法,包括:
获取IO内存缓存池中的内存缓存块;
接收IO操作对应的数据流;
根据所述IO操作的类型把所述数据流封装成数据结构;
把所述数据结构存储于所述内存缓存块。
优选地,所述IO内存缓存池从物理内存中划分,通过链表方式存储所述内存缓存块。
优选地,所述获取IO内存缓存池中的内存缓存块,包括:
判断所述IO内存缓存池中是否有可用的内存缓存块;
若是,从所述IO内存缓存池中获取一块内存缓存块;
若否,从物理内存中申请一块内存缓存块作为IO内存缓存池的内存缓存块,获取该内存缓存块。
优选地,所述从物理内存中申请一块内存缓存块作为IO内存缓存池的内存缓存块之后,还包括:
记录所述申请的一块内存缓存块的申请时间点;
确认当前时间点与所述申请时间点之间的距离大于预置时长;
若物理内存的已使用容量大于第一预置值;确认所述申请的一块内存缓存块被释放,将所述申请的一块内存缓存块重新加入物理内存;
若物理内存的已使用容量小于等于第一预置值且大于第二预置值;确认所述申请的一块内存缓存块被释放,获取被释放的持续时间,若持续时间大于预定时长,将所述申请的一块内存缓存块重新加入物理内存。
优选地,所述从内存中申请一块内存缓存块作为IO内存缓存池的内存缓存块之后,还包括:
把申请的一块内存缓存块记录为额外内存缓存块的区域;额外内存缓存块的区域表示从物理内存初始划分给IO内存缓存池外,IO内存缓存池新增的内存缓存块区域;
若物理内存的已使用容量大于第三预置值;确认额外内存缓存块的区域中被释放的内存缓存块,将所述被释放的内存缓存块重新加入物理内存。
优选地,所述获取IO内存缓存池中的内存缓存块之前,还包括:
接收IO操作指令。
优选地,所述接收IO操作指令之后,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州优视网络科技有限公司,未经广州优视网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810477918.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存链表及内存管理的优化方法
- 下一篇:磁盘清理方法和磁盘清理装置