CN107133112B - 一种异步处理fsync的方法及移动终端 - Google Patents

一种异步处理fsync的方法及移动终端 Download PDF

Info

Publication number
CN107133112B
CN107133112B CN201710296063.XA CN201710296063A CN107133112B CN 107133112 B CN107133112 B CN 107133112B CN 201710296063 A CN201710296063 A CN 201710296063A CN 107133112 B CN107133112 B CN 107133112B
Authority
CN
China
Prior art keywords
fsync
request
task
upper layer
layer application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710296063.XA
Other languages
English (en)
Other versions
CN107133112A (zh
Inventor
刘亚美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201710296063.XA priority Critical patent/CN107133112B/zh
Publication of CN107133112A publication Critical patent/CN107133112A/zh
Application granted granted Critical
Publication of CN107133112B publication Critical patent/CN107133112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种异步处理fsync的方法及移动终端,该方法通过当接收到fsync请求时,将fsync请求放入任务队列,然后动态调用线程来处理缓存的fsync请求的异步处理方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题。

Description

一种异步处理fsync的方法及移动终端
技术领域
本发明属于计算机技术领域,尤其涉及一种异步处理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请求,并根据所述回调函数将执行结果返回到所述上层应用。
本发明实施例通过当接收到fsync请求时,将fsync放入任务队列,动态调用线程来处理缓存的fsync请求的异步fsync方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种异步处理fsync的方法实施例一的流程图;
图2是本发明的一种异步处理fsync的方法实施例二的流程图;
图3是本发明的一种移动终端的实施例的结构图之一;
图3a是本发明的一种移动终端的实施例的结构图之二;
图4是本发明的一种移动终端的实施例的结构图之三;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例
如图1所示,为本发明的一种异步fsync的方法实施例的流程图。本发明实施例提供的一种异步fsync的方法,应用于移动终端,包括:
步骤101,接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用。
本步骤中,该fsync为Posix标准的接口函数,用于将内存中所有已修改的文件数据同步到存储设备。当系统接收到该fsync请求时,直接将该请求返回给上层来避免fsync对UI可能造成的阻塞,同时进入异步流程处理真正的fsync。
步骤102,将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求。
本步骤中,该回调函数用于通知上层应用该fsync请求的任务处理完毕并接收处理结果的返回。该队列通过线程池实现。
步骤103,根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务。
本步骤中,将每个任务分配给该线程池中的一个线程,并发处理队列中的任务。当线程池线程都繁忙时,但队列中包含挂起的任务,则线程池将在一段时间后创建另一个辅助线程来处理任务。当线程池满时,多余的线程在队列里排队;当线程池空闲时,系统自动调入排队的线程,处理队列中任务。本实施例中的多线程使用互斥锁同步资源,即通过确保一次只有一个线程执行代码的临界段来同步多个线程。
步骤104,根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
本步骤中,根据fsync中的参数信息,执行同步数据的处理,将内存中所有修改的脏页数据同步到存储设备,同时通过一个工作的回调函数work_fun通知该上层应用该任务执行完毕并返回结果,上层应用接收该返回的结果。
本发明实施例提供的一种异步fsync的方法,通过当接收到fsync请求时,将fsync请求放入任务队列,动态调用线程来处理缓存的fsync请求的异步fsync方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题。
第二实施例
如图2所示,为本发明的一种异步fsync的方法实施例的流程图。本发明实施例提供的一种异步fsync的方法,应用于移动终端,包括:
步骤201,接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用。
本步骤中,该fsync为Posix标准的接口函数,用于将内存中所有已修改的文件数据同步到存储设备。当系统接收到该fsync请求时,直接将该请求返回给上层来避免fsync对UI可能造成的阻塞,同时进入异步流程处理真正的fsync。
步骤202,调用fget接口函数对所述fsync请求的file进行引用。
本步骤中,该file为一文件结构体。当接收到上层的一次fsync请求,将该fsync直接返回给上层后,同时调用fget接口函数对file引用一次,避免直接返回fsync给上层后,上层立即释放file,造成file无效的问题。当最后执行完异步的fsync之后,还需要对应的调用fput,对file进行解引用,避免file泄漏,同时上层释放对该file的权利。
步骤203,创建一全局链表。
本步骤中,该全局链表的元素变量为fsync请求。
步骤204,将所述接收到的fsync请求挂入所述链表。
本步骤中,该链表用于跟进挂入的fsync请求的数量。若链表中的fsync请求特别多,表示此时队列积累的较多的fsync请求未能及时处理。
具体的,步骤204包括:
步骤2041,检测所述链表中是否存在相同的fsync请求。
本步骤中,该fsync请求作为链表中的一个元素变量存放。该检测使用遍历链表的方式。
步骤2042,若存在,则将所述相同的fsync请求删除。
本步骤中,将链表中相同的fsync请求删除,提高处理fsync请求的效率。
步骤205,当所述链表中所述fsync请求的数量达到预设阈值时,暂停所述fsync请求的挂入,对所述fsync请求作同步处理。
本步骤中,该预设阈值可以为链表的存储空间已饱和或接近饱和。当链表中的fsync请求的数量达到阈值时,此时暂停fsync请求的挂入,并将后续接收到的fsync请求做同步处理,不将该fsync请求放入队列进行异步处理,而是直接放入主线程进行同步处理,等待处理完后才返回给上层,减缓上层fsync请求的压力。
步骤206,将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求。
本步骤中,该回调函数用于通知上层应用该fsync请求的任务处理完毕并接收处理结果的返回。该队列通过线程池实现。
步骤207,根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务。
本步骤中,将每个任务分配给该线程池中的一个线程,并发处理队列中的任务。当线程池线程都繁忙时,但队列中包含挂起的任务,则线程池将在一段时间后创建另一个辅助线程来处理任务。当线程池满时,多余的线程在队列里排队,当线程池空闲时,系统自动调入排队的线程,处理队列中任务。本实施例中的多线程使用互斥锁同步资源,即通过确保一次只有一个线程执行代码的临界段来同步多个线程。
步骤208,根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
本步骤中,根据fsync中的参数信息,执行同步数据的处理,将内存中所有修改的脏页数据同步到存储设备,同时通过一个工作的回调函数work_fun通知上层应用该任务执行完毕并返回结果,上层应用接收该返回的结果。
步骤209,调用fput对所述fsync请求的file解引用,释放所述file。
本步骤中,当接收到上层的一次fsync请求,将该fsync直接返回给上层后,同时调用fget接口函数对file引用一次,避免直接返回fsync给上层后,上层立即释放file,造成file无效的问题。当最后执行完异步的fsync之后,还需要对应的调用fput,对file进行解引用,避免file泄漏,同时上层释放对该file的权利。
本发明实施例提供的一种异步fsync的方法,通过当接收到fsync请求时,将fsync请求放入任务队列,动态调用线程来处理缓存的fsync请求的异步fsync方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题,进一步的,通过创建链表监控fsync请求的数量,当fsync请求的数量较多时,将异步处理改为同步处理,减缓上层的fsync请求的压力,同时在链表中删除相同的fsync请求,进一步提高处理fsync请求的效率。
第三实施例
参照图3,为本发明实施例提供的一种移动终端的结构图,该移动终端300,包括:
接收模块301,用于接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;
异步处理模块302,用于将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;
任务处理模块303,用于根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;
执行模块304,用于根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
进一步的,如图3a所示,该移动终端300,还包括:
第一调用模块305,用于调用fget接口函数对所述fsync请求的file进行引用;
第二调用模块306,用于调用fput对所述fsync请求的file解引用,释放所述file;
创建模块307,用于创建一全局链表;
挂入模块308,用于将所述接收到的fsync请求挂入所述链表;
同步处理模块309,用于当所述链表中所述fsync请求的数量达到预设阈值时,暂停所述fsync请求的挂入,对所述fsync请求作同步处理。
所述挂入模块308,包括:
检测单元3081,用于检测所述链表中是否存在相同的fsync请求;
删除单元3082,用于若存在,则将所述相同的fsync请求删除。
本发明实施例提供的移动终端,通过上述模块,当接收到fsync请求时,将fsync请求放入任务队列,动态调用线程来处理缓存的fsync请求的异步fsync方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题,进一步的,通过创建链表监控fsync请求的数量,当fsync请求的数量较多时,将异步处理改为同步处理,减缓上层的fsync请求的压力,同时在链表中删除相同的fsync请求,进一步提高处理fsync的效率。
第四实施例
参照图4,是本发明的一种移动终端的实施例的结构图,该移动终端400,包括:
至少一个处理器401、存储器402、至少一个网络接口404和用户接口403。移动终端400中的各个组件通过总线系统405耦合在一起。可以理解,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统405。
其中,用户接口403可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的系统和方法的存储器402旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器402存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统4021和应用程序4022。
其中,操作系统4021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序4022中。
在本发明实施例中,通过调用存储器402存储的程序或指令,具体的,可以是应用程序4022中存储的程序或指令,处理器401用于:接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号处理的能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例所述功能的模块(例如过程、函数等)来实现本发明实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,处理器401用于:在接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用的步骤之后,调用fget接口函数对所述fsync请求的file进行引用;在根据所述回调函数将执行结果返回到所述上层应用的步骤之后,调用fput对所述fsync请求的file解引用,释放所述file。
可选地,处理器401用于:创建一全局链表;将所述接收到的fsync请求挂入所述链表;当所述链表中所述fsync请求的数量达到预设阈值时,暂停所述fsync请求的挂入,对所述fsync请求作同步处理。
可选地,处理器401还用于:检测所述链表中是否存在相同的fsync请求;若存在,则将所述相同的fsync请求删除。
移动终端400能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。
本发明实施例提供的一种移动终端,通过上述模块,当接收到fsync请求时,将fsync请求放入任务队列,动态调用线程来处理缓存的fsync请求的异步fsync方法,提高了fsync请求的执行效率,有效避免的因频繁执行fsync请求,无法即时同步数据并返回而造成的UI卡顿的问题,进一步的,通过创建链表监控fsync请求的数量,当fsync请求的数量较多时,将异步处理改为同步处理,减缓上层的fsync请求的压力,同时在链表中删除相同的fsync请求,进一步提高处理fsync的效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种异步处理fsync的方法,应用于移动终端,其特征在于,包括:
接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;其中,所述fsync为Posix接口函数,用于将内存中所有已修改的文件数据同步到存储设备;
将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;
根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;
根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
2.根据权利要求1所述的方法,其特征在于,所述接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用的步骤之后,以及所述根据所述回调函数将执行结果返回到所述上层应用的步骤之后,还包括:
所述接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用的步骤之后,包括:
调用fget接口函数对所述fsync请求的file进行引用;
所述根据所述回调函数将执行结果返回到所述上层应用的步骤之后,包括:
调用fput对所述fsync请求的file解引用,释放所述file。
3.根据权利要求1所述的方法,其特征在于,所述将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求之前,还包括:
创建一全局链表;
将所述接收到的fsync请求挂入所述链表;
当所述链表中所述fsync请求的数量达到预设阈值时,暂停所述fsync请求的挂入,对所述fsync请求作同步处理。
4.根据权利要求3所述的方法,其特征在于,所述将所述接收到的fsync请求挂入所述链表,包括:
检测所述链表中是否存在相同的fsync请求;
若存在,则将所述相同的fsync请求删除。
5.一种移动终端,其特征在于,包括:
接收模块,用于接收上层应用发送的fsync请求,同时将所述fsync请求直接返回给所述上层应用;其中,所述fsync为Posix接口函数,用于将内存中所有已修改的文件数据同步到存储设备;
异步处理模块,用于将所述接收到的fsync请求的参数信息填充到一个包含回调函数的任务中,并将所述任务放入任务队列,异步处理所述fsync请求;
任务处理模块,用于根据所述任务队列中任务的个数,动态调用线程池中的线程并发处理所述任务;
执行模块,用于根据所述fsync请求的参数信息执行所述任务中的fsync请求,并根据所述回调函数将执行结果返回到所述上层应用。
6.根据权利要求5所述的移动终端,其特征在于,还包括:
第一调用模块,用于调用fget接口函数对所述fsync请求的file进行引用;
第二调用模块,用于调用fput对所述fsync请求的file解引用,释放所述file。
7.根据权利要求5所述的移动终端,其特征在于,还包括:
创建模块,用于创建一全局链表;
挂入模块,用于将所述接收到的fsync请求挂入所述链表;
同步处理模块,用于当所述链表中所述fsync请求的数量达到预设阈值时,暂停所述fsync请求的挂入,对所述fsync请求作同步处理。
8.根据权利要求7所述的移动终端,其特征在于,所述挂入模块包括:
检测单元,用于检测所述链表中是否存在相同的fsync请求;
删除单元,用于若存在,则将所述相同的fsync请求删除。
CN201710296063.XA 2017-04-28 2017-04-28 一种异步处理fsync的方法及移动终端 Active CN107133112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710296063.XA CN107133112B (zh) 2017-04-28 2017-04-28 一种异步处理fsync的方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710296063.XA CN107133112B (zh) 2017-04-28 2017-04-28 一种异步处理fsync的方法及移动终端

Publications (2)

Publication Number Publication Date
CN107133112A CN107133112A (zh) 2017-09-05
CN107133112B true CN107133112B (zh) 2019-12-03

Family

ID=59716399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710296063.XA Active CN107133112B (zh) 2017-04-28 2017-04-28 一种异步处理fsync的方法及移动终端

Country Status (1)

Country Link
CN (1) CN107133112B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770620B (zh) * 2017-09-21 2020-10-30 广州视源电子科技股份有限公司 请求信息响应方法、系统及可读存储介质
CN107577810A (zh) * 2017-09-27 2018-01-12 北京小米移动软件有限公司 数据写入方法、装置及计算机可读存储介质
CN108429783A (zh) * 2018-01-16 2018-08-21 重庆金融资产交易所有限责任公司 电子装置、配置文件推送方法及存储介质
CN108279762A (zh) * 2018-01-22 2018-07-13 北京计算机技术及应用研究所 基于硬件保护的事务处理方法
CN110162415B (zh) * 2019-05-05 2023-09-01 腾讯科技(深圳)有限公司 用于处理数据请求的方法、服务器、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567111A (zh) * 2011-12-23 2012-07-11 深圳市融创天下科技股份有限公司 一种异步过程调用的方法、系统和终端设备
CN104917833A (zh) * 2015-06-08 2015-09-16 北京集奥聚合网络技术有限公司 一种基于nio请求的异步信息处理方法
CN106371900A (zh) * 2015-07-23 2017-02-01 腾讯科技(深圳)有限公司 一种实现异步调用的数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567111A (zh) * 2011-12-23 2012-07-11 深圳市融创天下科技股份有限公司 一种异步过程调用的方法、系统和终端设备
CN104917833A (zh) * 2015-06-08 2015-09-16 北京集奥聚合网络技术有限公司 一种基于nio请求的异步信息处理方法
CN106371900A (zh) * 2015-07-23 2017-02-01 腾讯科技(深圳)有限公司 一种实现异步调用的数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WebServices异步调用模型的研究与实现;陈廷彬;《中国优秀硕士学位论文全文数据库信息科技辑》;20070430;第9-11页第2.1节,图2-3 *

Also Published As

Publication number Publication date
CN107133112A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
CN107133112B (zh) 一种异步处理fsync的方法及移动终端
CN105339908B (zh) 用于支持持久存储器的方法和装置
US10255062B1 (en) Optimized class loading
US20150134912A1 (en) Scheduler, multi-core processor system, and scheduling method
CN111324427B (zh) 一种基于dsp的任务调度方法及装置
KR20110070782A (ko) 웜 캐시를 이용한 버추얼 이미지 배치
CN108549562A (zh) 一种图像加载的方法及装置
TWI460659B (zh) 用於降低競爭之鎖定窗
KR20200135718A (ko) 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체
US11366689B2 (en) Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units
CN103218312A (zh) 文件访问方法及系统
US8954969B2 (en) File system object node management
WO2024119775A1 (zh) 一种raid卡的节点更新方法、系统及相关装置
CN113961346A (zh) 数据缓存的管理与调度方法、装置、电子设备和存储介质
US9606923B2 (en) Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program
CN112698793A (zh) 一种数据存储方法、装置、机器可读介质及设备
US10389697B1 (en) Software container activation and throttling
CN116954492A (zh) 自适应存储器镜像性能加速器
CN111294377B (zh) 一种依赖关系的网络请求发送方法、终端装置及存储介质
CN113448897B (zh) 适用于纯用户态远端直接内存访问的优化方法
US11995350B2 (en) Prefetching container data in a data storage system
US20130036267A1 (en) Placement of data in shards on a storage device
CN109002286A (zh) 基于同步编程的数据异步处理方法及装置
US11080086B1 (en) Reactive transaction management
US10002077B2 (en) Persistent memory controller based atomicity assurance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant