[发明专利]数据写入方法和装置有效
申请号: | 201510146467.1 | 申请日: | 2015-03-31 |
公开(公告)号: | CN104731533B | 公开(公告)日: | 2018-06-05 |
发明(设计)人: | 覃安;颜世光;李康;徐佩林;谭待 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 写操作请求 写入 方法和装置 语义 接收应用 切换条件 同步操作 写盘操作 写入操作 最大性能 并行性 写操作 读写 吞吐量 发送 保存 返回 应用 | ||
本发明提出一种数据写入方法和装置,该数据写入方法包括:接收应用发送的写操作请求;将所述写操作请求存入第一缓存;当所述写操作请求的类型为写立即返回或写且同步操作时,或者当所述第一缓存已满足缓存切换条件时,将保存接收的写操作请求的缓存由所述第一缓存切换为第二缓存;对所述第一缓存中的写操作请求执行写入操作。本发明可以充分发挥批量读写与写盘操作的并行性,可以在不影响应用写操作语义的前提下最大性能地提高吞吐量。
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据写入方法和装置。
背景技术
在高吞吐的存储系统中,读写的压力往往每秒达到上万个请求量,而且请求的数据量大小不等。特别是在结构化的存储引擎中,往往写请求只是为了修改或者更新有效的几个短属性字段,而且更新后要求立即读可见,以保证会话事务性。
同时,越来越多系统采用基于日志的系统设计(Write Append Logging;以下简称:WAL)设计,尽可能将所有的写变成顺序写,以减少磁头的移动并持久化数据。由于WAL设计需要实时将数据落盘,这需要调用操作系统的同步(sync)接口,将会有大量的小数据请求需要实时执行落盘。
然而,由于磁盘读写磁头的机械调度的缘故,常常需要调度到不同的磁道才能开始进行读写。在目前的串行高级技术附件(Serial Advanced Technology Attachment;以下简称:SATA)盘环境下,由于每次写入的最小单位是一个扇区,如果数据量太小,则扇区中多余的空间将会被浪费掉。而在驱动层或者操作系统层,通常写缓存为一个页面大小(4K或者8K),因此对于小数据量的每次更新或者写入均调用一次写盘操作的话,会增加延时,难以提高吞吐量。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种数据写入方法。该方法可以充分发挥批量读写与写盘操作的并行性,可以在不影响应用写操作语义的前提下最大性能地提高吞吐量。
本发明的第二个目的在于提出一种数据写入装置。
为了实现上述目的,本发明第一方面实施例的数据写入方法,包括:接收应用发送的写操作请求;将所述写操作请求存入第一缓存;当所述写操作请求的类型为写立即返回或写且同步操作时,或者当所述第一缓存已满足缓存切换条件时,将保存接收的写操作请求的缓存由所述第一缓存切换为第二缓存;对所述第一缓存中的写操作请求执行写入操作。
本发明实施例的数据写入方法,接收应用发送的写操作请求之后,先将接收到的写操作请求存入第一缓存,当上述写操作请求的类型为写立即返回或写且同步操作时,或者当上述第一缓存已满足缓存切换条件时,将保存接收的写操作请求的缓存由第一缓存切换为第二缓存,再对上述第一缓存中的写操作请求执行写入操作,从而可以充分发挥批量读写与写盘操作的并行性,进而可以在不影响应用写操作语义的前提下最大性能地提高吞吐量。
为了实现上述目的,本发明第二方面实施例的数据写入装置,包括:接收模块,用于接收应用发送的写操作请求;存入模块,用于将所述接收模块接收的写操作请求存入第一缓存;切换模块,用于当所述写操作请求的类型为写立即返回或写且同步操作时,或者当所述第一缓存已满足缓存切换条件时,将保存接收的写操作请求的缓存由所述第一缓存切换为第二缓存;写入模块,用于对所述第一缓存中的写操作请求执行写入操作。
本发明实施例的数据写入装置,接收模块接收应用发送的写操作请求之后,存入模块先将接收到的写操作请求存入第一缓存,当上述写操作请求的类型为写立即返回或写且同步操作时,或者当上述第一缓存已满足缓存切换条件时,切换模块将保存接收的写操作请求的缓存由第一缓存切换为第二缓存,再由写入模块对上述第一缓存中的写操作请求执行写入操作,从而可以充分发挥批量读写与写盘操作的并行性,进而可以在不影响应用写操作语义的前提下最大性能地提高吞吐量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510146467.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备
- 下一篇:一种移动硬盘文件读取器