文件处理方法、装置、存储介质及电子设备与流程

文档序号:13512857阅读:197来源:国知局
文件处理方法、装置、存储介质及电子设备与流程

本申请实施例涉及计算机技术领域,尤其涉及一种文件处理方法、装置、存储介质及电子设备。



背景技术:

随着移动互联网的飞速发展,电子设备的普及越来越广。电子设备和其他外部存储设备之间的文件的操作处理过程默认使用mtp(mediatransferprotocol,媒体传输协议)作为主要的传输模式。mtp是一个基于图片传输协议(ptp,picturetransferprotocol)的自定义扩展协议,属于windowsmedia框架的一部分。但是基于mtp的规则,在电子设备中进行文件处理操作,特别是对多个文件进行处理时,其处理速度较慢,所以需要一种更优化的文件处理方法。



技术实现要素:

本申请实施例提供一种文件处理方法、装置、存储介质及电子设备,可以提高文件处理的速度。

第一方面,本申请实施例提供了一种文件处理方法,包括:

在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;

将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;

在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。

第二方面,本申请实施例提供了一种文件处理装置,包括:

启动调整模块,用于在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;

运行调整模块,用于将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;

结束调整模块,在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的文件处理方法。

第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如本申请实施例所述的文件处理方法。

本申请实施例中提供的一种文件处理方法,通过在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。通过采用上述技术方案,可以提高文件处理操作的速度。

附图说明

图1为本申请实施例提供的一种文件处理方法的流程示意图;

图2为本申请实施例提供的基于mtp的文件处理任务的场景示意图;

图3为本申请实施例提供的另一种文件处理方法的流程示意图;

图4为本申请实施例提供的另一种文件处理方法的流程示意图;

图5为本申请实施例提供的一种文件处理装置的结构框图;

图6为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

电子设备和其他外部的终端设备之间的文件操作处理过程默认使用的是mtp作为主要的传输模式,基于mtp的文件处理操作每次只能处理一个文件或一个文件夹,所以在处理多个文件时,将多个文件都进行处理整个进程的耗时比较大,所以在运行基于mtp的文件处理任务时,通过根据电子设备的cpu(centralprocessingunit,中央处理器)的运行状况来对文件处理任务的运行状况进行优化,可以使用户的文件处理进程速度变快。

图1为本申请实施例提供的一种文件处理方法的流程示意图,该方法可以由文件处理装置执行,其中该装置可以由软件和/或硬件实现,一般可以集成在终端设备中。如图1所示,该方法包括:

步骤110、在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出。

示例性地,如图2所示,基于mtp的文件处理任务是电子设备和外部的终端设备之间的文件处理任务,包括文件复制任务、文件剪切任务、文件粘贴任务、文件删除任务和文件重命名任务中的至少一个。电子设备可以是智能手机、平板电脑或其他安卓系统运行设备,外部的终端设备可以是pc机或其他可操作设备。基于mtp的文件处理任务的执行过程中涉及两个角色,包括启动者(initiator)和响应者(responder);外部的终端设备作为启动者,电子设备作为响应者,启动者和响应者之间配合通讯以完成文件处理任务。例如,智能手机和外部的电脑建立连接,通过电脑操作将智能手机中的文件或文件夹复制到电脑的硬盘中,或通过电脑对智能手机中的文件或文件夹进行删除,或通过电脑对智能手机中的文件或文件夹进行重命名等。

示例性地,在mtpserver检测到基于mtp的文件处理任务的启动指令时,通过ioctl命令调用mtp驱动,mtp驱动进行cpu调度,包括:开启cpu多核以及提升cpu的性能输出。提升cpu的性能输出可包括提升cpu的频率,可以是将cpu的频率调整至最高。cpu的频率即cpu的时钟频率,即cpu运算时的工作频率,将cpu的工作频率调整至该cpu的设计最高频率,以使cpu的工作性能达到最大。其中,mtp驱动位于内核,ioctl命令是设备驱动程序中对装置设备的i/o通道进行管理的函数,提供了一种获得装置设备信息和向装置设备发送控制参数的方式。mtpserver会不断检测是否有文件处理任务的启动指令,并对相应的指令进行相关处理,在检测到有启动指令时,通过ioctl命令调用mtp驱动,以使mtp驱动执行cpu的调度。

可选地,根据文件处理任务中的任务数量和/或任务数据大小对应调整cpu的频率,其中,任务数量为文件处理任务中任务的总数量,任务数据大小为文件处理任务中处理的文件的数据大小的总和。任务数量越多,对应提升cpu的频率越高,任务数据大小越大,对应提升cpu的频率越高。例如,文件处理任务包括一个文件复制任务和两个文件删除任务,其中文件复制任务的任务数据大小为10mbyte(兆字节),一个文件删除任务的任务数据大小为5mbyte,另一个文件删除任务的任务数据大小为13mbyte,则该文件处理任务的任务数量为三个,文件处理任务的任务数据大小为28mbyte。

如果在文件处理任务数量较少和/或任务数据大小较小的情况下直接将cpu的频率调到最大,会导致浪费cpu资源,加快电子设备的电量消耗。而根据文件处理任务重的任务数量和/或任务数据大小对应调整cpu的频率,可以提升较适合的cpu频率,加快文件处理任务的操作速度的同时也不会造成多余的资源浪费。

步骤120、将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务。

所述cpu为多核cpu,即一个cpu中集成多个完整的内核,多核cpu可以是四核cpu,也可以是八核cpu。多核cpu上设有多个内核,其中包括若干个大核和若干个小核,大核的运行性能较高,小核的运行性能较低。在大核上运行文件处理任务,可以使文件处理任务的速度加快。

所述mtp驱动持续检测所述文件处理任务,即不断在检测所述文件处理任务的进程。因为文件处理任务的数量和大小不可预知,也无法知道文件处理任务的运行时间。如果长时间将cpu的性能输出调整至最高,在文件处理任务结束后会造成cpu的资源浪费,以及造成电量损耗。如果将提升cpu的性能输出设定一个时间区间,可能会发生时间区间结束但是文件处理任务仍在运行情况,如此则会导致文件处理任务的后段的处理速度变慢。所以通过mtp驱动持续检测文件处理任务,可以精准判断文件处理任务的操作时机,在检测到文件处理任务结束时,降低cpu的性能输出。如此,不仅可以实现提高文件处理任务的运行速度,也可以降低cpu资源浪费,以及降低功耗。

步骤130、在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。

在mtp驱动检测到文件处理任务结束时,mtp驱动再次进行cpu调度,包括:降低cpu的性能输出。降低cpu的性能输出可以是将cpu的频率降低,可选地,将cpu的频率降低至调用mtp驱动开启cpu多核以及提升cpu的性能输出操作之前的频率。

在提升cpu的性能输出操作之前的cpu的频率是符合当时cpu的运行状况的频率,将cpu性能输出降低至该频率,可以使文件处理任务结束后,恢复到一个符合cpu的运行状况的性能输出。

可选地,降低cpu的性能输出之后还包括:根据当前系统负载确定是否关闭cpu多核,以及调整cpu的频率。

其中,根据当前的系统负载确定是否关闭cpu多核,以及调整cpu的频率,可以使cpu的性能输出更符合其当前运行状态。因为在文件处理任务的运行过程中,用户可能使用电子设备启动运行了新的应用程序,相应的cpu在文件处理任务的运行期间运行了新的任务进程,导致系统负载发生了变化。所以根据系统负载重新调整cpu的性能输出,以及是否关闭多核;可以使cpu在处理完文件处理任务之后的运行状况更稳定,且不会造成多余的资源浪费。

因为系统会在文件操作结束后,根据实际的系统负载决定是否关闭cpu多核,所以首先将cpu的频率降低至调用mtp驱动开启cpu多核以及提升cpu的性能输出操作之前的频率。再在系统根据文件操作结束后的实际的系统负载决定是否关闭cpu多核时,同时根据实际的系统负载对cpu的频率进行调整。先把cpu的频率降下来,再根据系统实际的负载调整频率,可以降低电子设备的功耗。

可选地,如图3所示,将文件处理任务在cpu的大核上运行可以通过下述方式实施:

步骤121、判断cpu上是否有空闲的大核,如果是,则执行步骤1210,如果否,则执行步骤122。

步骤122、持续检测所述cpu的大核的任务运行状态,在检测到所述cpu的大核上当前运行的任务结束时,执行步骤1210;

步骤1210、将文件处理任务在所述cpu的大核上运行。

其中,如果cpu上运行的任务进程比较多,所有大核上均有运行任务,没有空闲的大核时,则持续检测cpu上的大核上的任务运行状态,在检测到有任意一个大核上的当前运行的任务结束时,将文件处理任务在该大核上运行。以使文件处理任务的进程可以尽快在大核上运行。可选的,如果cpu没有空闲的大核,也没有空闲的小核,则持续检测cpu的大核和小核的任务运行状态,直到出现空闲的大核或小核,将文件处理任务在该空闲的大核或小核上运行。可选地,在cpu的大核上当前运行的任务结束之前,将文件处理任务在空闲的小核上运行;在检测到任意一个大核上当前运行的任务结束时,将文件处理任务从小核转移到大核上运行。根据cpu的任务运行状态,将文件处理任务的运行进行调整,尽量将文件处理任务置于cpu的大核上运行。

在另一个实施例中,如图4所示,将文件处理任务在cpu的大核上运行还可以通过下述方式实施:

步骤121、判断cpu上是否有空闲的大核,如果是,则执行步骤1210,如果否,则执行步骤123。

步骤123、持续检测所述cpu的大核的任务运行状态,在检测到所述cpu的大核上当前运行的任务结束时,判断所述大核上是否有排队的任务,如果否,则执行步骤1210,如果是,则执行步骤124。

步骤124、判断所述排队的任务是否为前台运行的目标应用,如果是,则执行步骤125,如果否,则执行步骤1210。

步骤125、将所述排队的任务在所述cpu的大核上运行,并返回执行步骤123。

步骤1210、将文件处理任务在所述cpu的大核上运行。

其中,cpu上运行的任务进程除了当前运行的任务进程,还会有在排队的任务,内核会根据系统负载进行cpu的任务调度。正常情况时,在cpu的大核上的当前运行的任务结束时,内核会将排队的任务在大核上运行。而在有文件处理任务时,将文件处理任务进行插队占用大核运行,即将文件处理任务在排队的任务之前占用大核,直到文件处理任务进程结束时,再将排队的任务在大核上运行。但是如果排队的任务是前台运行的目标应用时,将文件处理任务进行插队占用大核,会导致前台运行的目标应用的运行状况变差,给用户的使用直接造成不便。

所述目标应用包括对运行环境要求较高的应用、即时类应用或交互呈现具有时间连贯性的应用。对运行环境要求较高的应用包括占用cpu比例高于设定比例的应用,如3d游戏应用,建模仿真应用或图片处理应用,这类应用对cpu的运行条件要求较高,需要在大核上运行才能正常运行,不然很容易出现卡死或崩溃的情况,可能会丢失用户的操作数据。

即时类应用包括即时通讯应用或网络游戏,这类应用对时效性的要求较高,即时通讯应用如facetime,在进行视频通话时,如果即时通讯应用被插队导致运行环境无法满足其需求,将会对视频通话的质量造成影响,给用户的操作带来不便。

交互呈现具有时间连贯性的应用包括视频应用或音乐应用,即用户使用应用的过程中需要在时间上有连贯性的交互呈现。例如,视频应用在播放视频的时候,需要连续稳定的播放条件,如果视频应用的运行环境不能被保证导致视频播放发生卡顿或画面速度不均匀的问题,也会对用户的使用造成较大影响。

所以在cpu的大核上排队的任务是前台操作的目标应用时,则不执行将文件处理任务进行插队占用大核的操作,而是将排队的任务在大核上运行,以及继续检测cpu的大核的任务运行状态。直到出现下一个空闲的大核,且该空闲的大核上没有排队的任务,或该空闲的大核上的排队的任务不是前台操作的目标应用,则将文件处理任务在该空闲的大核上运行。如此,可以在加快文件处理任务的速度的同时,保证用户在前台的使用操作不被影响。

图5为本申请实施例提供的一种文件处理装置的结构框图,该装置可以执行文件处理方法。如图5所示,该装置包括:

启动调整模块210,用于在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;

运行调整模块220,用于将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;

结束调整模块230,在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。

本申请实施例提供的文件处理装置在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。通过采用上述技术方案,可以提高文件处理操作的速度。

可选地,所述文件处理任务包括文件复制任务、文件剪切任务、文件粘贴任务、文件删除任务和文件重命名任务中的至少一个;

所述启动调整模块具体用于:

调用mtp驱动开启cpu多核,以及根据文件处理任务中的任务数量和/或任务数据大小对应调整cpu的频率。

可选地,所述运行调整模块具体包括:

运行判断单元,用于判断cpu上是否有空闲的大核,如果是,则将文件处理任务在所述cpu的大核上执行,如果否,则执行运行插队单元;

运行插队单元,用于持续检测所述cpu的大核的任务运行状态,在检测到所述cpu的大核上当前运行的任务结束时,将文件处理任务在所述cpu的大核上运行。

可选地,所述运行插队单元具体用于:

在检测到所述cpu的大核上当前运行的任务结束时,判断所述大核上是否有排队的任务,如果否,则将文件处理任务在所述cpu的大核上运行,如果是,则判断所述排队的任务是否为前台运行的目标应用;

当所述排队的任务为前台运行的目标应用时,将所述排队的任务在所述cpu的大核上运行,并返回执行持续检测所述cpu的大核的任务运行状态的操作;

当所述排队的任务不是前台运行的目标应用时,将文件处理任务在所述cpu的大核上运行。

可选地,所述目标应用包括占用cpu比例高于设定比例的应用、即时通讯应用、视频应用和网络游戏应用中的至少一种。

可选地,所述结束调整模块具体用于:

将cpu的频率降低至调用mtp驱动开启cpu多核以及提升cpu的性能输出操作之前的频率;

相应地,文件处理装置还包括:

负载调整模块,用于根据当前系统负载确定是否关闭cpu多核,以及调整cpu的频率。

本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的文件处理操作,还可以执行本申请任意实施例所提供的文件处理方法中的相关操作。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的文件处理装置。图6为本申请实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备可以包括:壳体(图中未示出)、触摸屏(图中未示出)、触摸按键(图中未示出)、存储器301、中央处理器(centralprocessingunit,cpu)302(又称处理器,以下简称cpu)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述cpu302和所述存储器301设置在所述电路板上;所述电源电路,用于为所述电子设备的各个电路或器件供电;所述存储器301,用于存储可执行程序代码;所述cpu302通过读取所述存储器301中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:

在检测到基于mtp的文件处理任务的启动指令时,调用mtp驱动开启cpu多核以及提升cpu的性能输出;

将文件处理任务在cpu的大核上运行,其中,所述mtp驱动持续检测所述文件处理任务;

在所述mtp驱动检测到所述文件处理任务结束时,降低cpu的性能输出。

所述电子设备还包括:外设接口303、rf(radiofrequency,射频)电路305、音频电路306、扬声器311、电源管理芯片308、输入/输出(i/o)子系统309、触摸屏312、其他输入/控制设备310以及外部端口304,这些部件通过一个或多个通信总线或信号线307来通信。

应该理解的是,图示电子设备300仅仅是电子设备的一个范例,并且电子设备300可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的用于执行文件处理方法的电子设备进行详细的描述,该电子设备以手机为例。

存储器301,所述存储器301可以被cpu302、外设接口303等访问,所述存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

外设接口303,所述外设接口303可以将设备的输入和输出外设连接到cpu302和存储器301。

i/o子系统309,所述i/o子系统309可以将设备上的输入输出外设,例如触摸屏312和其他输入/控制设备310,连接到外设接口303。i/o子系统309可以包括显示控制器3091和用于控制其他输入/控制设备310的一个或多个输入控制器3092。其中,一个或多个输入控制器3092从其他输入/控制设备310接收电信号或者向其他输入/控制设备310发送电信号,其他输入/控制设备310可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器3092可以与以下任一个连接:键盘、红外端口、usb接口以及诸如鼠标的指示设备。

触摸屏312,所述触摸屏312是用户电子设备与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

i/o子系统309中的显示控制器3091从触摸屏312接收电信号或者向触摸屏312发送电信号。触摸屏312检测触摸屏上的接触,显示控制器3091将检测到的接触转换为与显示在触摸屏312上的用户界面对象的交互,即实现人机交互,显示在触摸屏312上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

rf电路305,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,rf电路305接收并发送rf信号,rf信号也称为电磁信号,rf电路305将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。rf电路305可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、rf收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec(coder-decoder,编译码器)芯片组、用户标识模块(subscriberidentitymodule,sim)等等。

音频电路306,主要用于从外设接口303接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器311。

扬声器311,用于将手机通过rf电路305从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片308,用于为cpu302、i/o子系统及外设接口所连接的硬件进行供电及电源管理。

本申请实施例提供的电子设备,可以提高文件处理操作的速度。

上述实施例中提供的文件处理装置、存储介质及电子设备可执行本申请任意实施例所提供的文件处理方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的文件处理方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1