[发明专利]一种异步处理fsync的方法及移动终端有效
申请号: | 201710296063.X | 申请日: | 2017-04-28 |
公开(公告)号: | CN107133112B | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 刘亚美 | 申请(专利权)人: | 维沃移动通信有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 11258 北京东方亿思知识产权代理有限责任公司 | 代理人: | 彭琼<国际申请>=<国际公布>=<进入国 |
地址: | 523000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 处理 fsync 方法 移动 终端 | ||
本发明提供了一种异步处理fsync的方法及移动终端,该方法通过当接收到fsync请求时,将fsync请求放入任务队列,然后动态调用线程来处理缓存的fsync请求的异步处理方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题。
技术领域
本发明属于计算机技术领域,尤其涉及一种异步处理fsync的方法及移动终端。
背景技术
随着智能手机的普及,用户对手机的细节优化和体验要求越来越高,比较在意慢卡顿问题,不能容忍应用存在UI(用户界面)卡顿问题。
对于交互型或事务记录型的应用,其大多会采用数据库来管理记录条目。对于提供事务支持的数据库,在事务提交时,都要确保事务日志(包含该事务所有的修改操作以及一个提交记录)完全写到硬件存储设备上,才认定事务提交成功并返回给应用层。为确保数据同步到硬件存储上,应用会调用Posix标准的接口fsync/fdatasync(同步内存数据到存储盘的接口函数,下文简写为“fsync”)来保证。而一些应用每记录一条数据,可能会执行十几次fsync,当系统IO(输入输出)负荷较大时,这些频繁的fsync同步等待需要排队执行,fsync无法及时同步数据并返回,如果有UI操作依赖fsync返回的情况,就存在造成上层UI卡顿的问题。
针对频繁fsync可能造成上层UI卡顿的问题,一般有两种解决方法,描述如下:
1.上层应用依赖数据库的优化来减少频繁fsync
一般数据库都会优化fsync,app(上层应用)不需要了解数据库的细节实现,依赖数据库的优化来改善频繁IO对系统性能的影响。IO的负载情况在kernel(底层内核)层会有记录,app本身无法根据负载做更多针对性的优化。因此仍然存在上层app造成UI卡顿的问题。
2.不再执行fsync或减少fsync执行,来降低IO负载
不再执行同步fsync或减少fsync执行,把fsync直接返回给上层,让上层误以为fsync已经执行完毕,来避免fsync对UI可能的阻塞影响。kernel本身有5S周期性的回写同步数据机制,在系统不断电的情况下,待同步数据能通过kernel的回写机制来进行同步,避免了数据丢失。但是当系统突然断电时,则存在数据丢失的危险,毕竟5S时间对cpu来说太久了。
发明内容
本发明为解决因频繁执行fsync造成UI卡顿的问题,一方面提供一种异步处理fsync的方法,包括:
接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;
将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;
根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;
根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
另一方面,提供一种移动终端,该移动终端包括:
接收模块,用于接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;
异步处理模块,用于将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;
处理模块,用于根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;
执行模块,用于根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于维沃移动通信有限公司,未经维沃移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710296063.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种消息处理装置及方法
- 下一篇:一种通知提醒方法、终端及计算机可读存储介质