具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的应用程序的操作方法可应用于计算机设备。可选地,该计算机设备是智能手机等手持设备,或个人计算机等终端设备,本申请并未特别限定。本申请实施例提供的应用程序的操作方法的执行主体可以是计算机设备,或者,是计算机设备中的功能模块。
图1示出了本申请实施例提供的计算机设备1的一种示意性框架图。
如图1所示,该计算机设备1包括:硬件层10、运行在硬件层10之上的操作系统层20,以及运行在操作系统层20上的应用层30。该硬件层10包括处理器、内存和外存等硬件。该操作系统层20是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或Windows操作系统等。该应用层30包含浏览器、通讯录、文字处理软件、即时通信软件等应用程序。
具体地,操作系统层20包括内核(Kernel)201,其为操作系统层20的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,决定着系统的性能和稳定性。该内核201是连接应用层30和硬件层10的桥梁。
在图1所示实施例的基础上,图2示出了本申请实施例提供的计算机设备1的另一示意性框架图。
如图2所示,应用程序(APP)302为应用层30中的计算机程序,其位于计算机设备1的用户空间(User Space),能够由用户进行使用和设计。在该用户空间中,除了应用程序302以外,还可设置有桌面程序301,该桌面程序301可管理上述多个应用程序302。具体地,该桌面程序301可为上述多个应用程序302生成对应的桌面图标,对应于每个桌面图标,桌面程序301会为计算机设备1中安装过的应用程序生成不同的应用入口。作为示例而非限定,在Android操作系统中,该桌面程序301可以理解为桌面启动器(Launcher)。
相对于用户空间,操作系统层20中的内核201位于计算机设备1的内核空间(Kernel Space)。该内核201独立于用户级的应用程序,该内核201可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核201的安全,操作系统层20一般都强制用户进程不能直接操作该内核201。
可选地,在该内核空间中,内核201可包括:系统调用接口(System CallInterface,SCI)210,内存管理单元(Memory Management Unit,MMU)220,进程管理程序230,虚拟文件系统(Virtual File System,VFS)240,文件系统(File System,FS)250以及设备驱动(Device Driver)程序260等多种功能模块。
可以理解的是,在本申请实施例中,上述操作系统层20中的内核201以及应用层30中的应用程序均为计算机设备1中的软件模块,其具体实现为计算机程序(或者也称计算机代码)。为了实现该程序功能,如图2所示,计算机设备1的硬件层10需包括至少一个处理器110。除处理器110以外,硬件层10还可以包括内存120和外存130等存储器。
具体地,处理器110的功能主要是解释计算机程序的指令以及处理计算机程序中的数据。其中,该计算机程序的指令以及计算机程序中的数据能够保存在计算机设备1的内存120和/或外存130中。
可选地,处理器110可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器110是可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器110是中央处理单元(central processing unit,CPU)。
其中,每个处理器110包括至少一个处理单元。可选地,该处理单元也称为核心(core),是处理器最重要的组成部分。处理器110所有的计算、接受命令、存储命令、处理数据都由核心执行。可选地,每个处理器110还包括缓存,该缓存是数据交换的缓冲区。当处理单元要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助处理单元更快地运行。
内存120也称为主存,其作用是用于暂时存放处理器110中的运算数据,以及与外存130交换的数据。该内存120与处理器110之间具有较快的数据读写速度。另外,该内存120能够为计算机设备1中的进程提供运行空间,例如,内存120中保存用于生成进程的计算机程序。计算机程序被处理器110运行而生成进程后,处理器110在内存120中为该进程分配对应的存储空间。内存120在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
作为示例而非限定,在本申请实施例中,内存120可以是易失性存储器。其中,该易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)等等。
外存130也可称之为辅存,是指除计算机设备1内除了内存120及缓存以外的存储器。可选地,该外存130可以为断电后仍能保存数据的存储器。且该外存130可具有相对较大的容量,能够存储计算机设备1中的图片、视频、文字等文件数据以及应用程序,满足用户的使用需求。
作为示例而非限定,在本申请实施例中,外存130可以为非易失性存储器、磁盘、光盘、U盘(也称USB闪存盘)或者安全数码卡(Secure Digital Memory Card,SD Card)等等。其中,非易失性存储器可以包括以下存储器中的至少一种:只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)和闪存(FLASH)。另外,磁盘可以是硬盘(Hard Disk)或者是软盘(Soft Disk),该硬盘可以包括:固态硬盘(Solid State Drive,SSD)、混合硬盘(Hybrid Hard Drive,HHD)以及机械硬盘(Hard Disk Drive,HDD)等等。
应理解,以上列举的计算机设备1的结构仅为示例性说明,本申请并未限定于此,本申请实施例的计算机设备1包括现有技术中计算机系统中的各种软件模块或者硬件模块,例如,对于硬件模块来讲,计算机设备1还包括:通信装置、传感器装置以及各种功能的外设装置等等。
对于上述计算机设备1,内存120的存储空间主要影响计算机设备1的运行速度,因此,该内存120也可称之为“运存”。而外存130的存储空间主要影响计算机设备1存储数据的能力,该外存130的存储空间可理解为计算机设备1中用于存储数据的存储空间。
作为一种示例,在计算机设备1为手机的情况下,其外存130可以为非易失性存储器,例如FLASH等等。该非易失性存储器设置于计算机设备1的内部,受限于制造成本等多种因素,该非易失性存储器的存储空间具有一定的限制。随着手机使用时间的增长,该非易失性存储器中存储的应用程序等文件数据越来越多,该非易失性存储器的剩余存储空间不足,会造成手机卡顿、应用程序崩溃等现象,从而影响用户对手机的使用体验。
当然,在其它示例中,计算机设备1也可以为其它类型的设备,外存130也可以为其它类型的存储器。不论哪种类型的存储器,随着使用时间的增长,其均会面临存储空间不足的情况,导致用户对计算机设备1的使用体验不佳。
鉴于此,本申请实施例提供一种应用程序的操作方法,能够解决上述计算机设备的存储空间不足且用户使用体验不佳的问题。
图3示出了本申请实施例提供的一种应用程序的操作方法300的示意性流程框图。具体地,该操作方法300应用于计算机设备中的操作装置,可选地,该计算机设备可以为上文图1和图2所示的计算机设备1,该操作装置可以包括位于计算机设备1的用户空间和/或内核空间中的软件模块。
如图3所示,该操作方法300可以包括如下步骤。
S310:确定本地存储模块中待搬迁的第一应用程序。
S320:将第一应用程序由本地存储模块搬迁至云端存储模块。
S330:在桌面程序中记录对应于第一应用程序的第一搬迁标记,该第一搬迁标记应用于桌面程序对第一应用程序的后续操作。
具体地,在本申请实施例中,计算机设备可配置有本地存储模块和云端存储模块,该本地存储模块为计算机设备中用于存储文件数据的硬件模块。可选地,该本地存储模块可以为上文图2所示实施例中的外存130,该本地存储模块包括但不限于是以下各存储模块中的至少一种:非易失性存储器、磁盘、光盘、U盘或者安全数码卡。
云端存储模块为计算机设备能够通过网络连接并访问的网络存储工具。作为示例而非限定,该云端存储模块可以网盘或者云盘(Cloud Disk)。该云端存储模块具有大的存储空间,可以较大程度的扩展计算机设备的存储容量,提升用户对于计算机设备的使用体验。另外,随着目前通信网络的快速发展和5G时代的到来,计算机设备与云端存储模块之间的数据传输速度也会越来越快,计算机设备的本地存储模块与云端存储模块之间的文件搬迁速度也会得到大幅提升,不会影响用户对文件的访问和使用。
在步骤S310中,操作装置可确定本地存储模块中待搬迁的第一应用程序。其中,该待搬迁的第一应用程序可以为本地存储模块中任意的应用程序,或者,也可以为在本地存储模块中多个应用程序中经过筛选确定的特定应用程序。
作为一种示例,该第一应用程序可以为本地存储模块中使用频率低于某预设值的应用程序,例如,该第一应用程序可以为30天以上未被使用的应用程序。在该情况下,即使该第一应用程序被搬迁至云端存储模块,也不会对用户造成较大的影响。
或者,在其它示例中,该第一应用程序可以为本地存储模块中占用空间较大的应用程序,在该情况下,将该第一应用程序搬迁至云端存储模块,可以较大程度节省本地存储模块中的存储空间。
在步骤S320中,操作装置可将该第一应用程序由本地存储模块搬迁至云端存储模块。具体地,操作装置可将本地存储模块中的第一应用程序封装为网络数据包,并将该网络数据包通过网络协议发送至云端存储模块,进一步地,操作装置还将释放本地存储模块中第一应用程序所在的存储空间,从而完成第一应用程序从本地存储模块至云端存储模块的搬迁。
可选地,在一些实施方式中,操作装置可将本地存储模块中该第一应用程序的私有文件搬迁至云端存储模块,而保留本地存储模块中该第一应用程序的系统文件。在该实施方式下,仅将本地存储模块中第一应用程序的私有文件进行搬迁,可以较大程度的节省本地存储模块的存储空间,另外,可以在本地存储模块中保留该第一应用程序的系统文件,能够便于计算机设备中的管理程序,例如桌面程序对于该第一应用程序进行管理,且进一步的能够根据该系统文件对第一应用程序进行操作。
具体地,在该实施方式中,该第一应用程序的私有文件为在计算机设备中安装该第一应用程序后形成的文件,该私有文件的文件名可与第一应用程序的包名(Packagename)相同。例如,若第一应用程序为微信,微信的包名为com.tencent.mm,则第一应用程序的私有文件可以为本地存储模块中文件名为com.tencent.mm的文件。
可选地,该第一应用程序的私有文件中可包括:第一应用程序运行所需的计算机程序,以及用户在对第一应用程序使用过程中产生的其它相关数据,例如,数字或文本数据、照片、音乐、视频等等,本申请实施例对于该私有文件中的具体内容不做限定。
对于第一应用程序的系统文件,具体地,该系统文件可以为第一应用程序安装于计算机设备的过程中形成于系统目录下的文件。在计算机设备安装第一应用程序的过程中,可从第一应用程序的安装包中解析得到该第一应用程序的相关信息,并将其写入例如system/的系统目录下,形成系统文件。可选地,该系统文件可用于记录第一应用程序的以下至少一项信息:包名、权限或安装信息。其中,该安装信息可以为第一应用程序安装于计算机设备的过程中注册于包管理器服务(Package Manager Service,PKMS)中的信息。
如上所述,根据该系统文件中的信息,能够便于计算机设备中的管理程序,例如桌面程序对于该第一应用程序进行管理,且进一步的能够根据该系统文件中的信息对第一应用程序进行操作。
当然,在另一些实施方式中,操作装置也可灵活的将本地存储模块中第一应用程序的相关文件全部或者有选择性的搬迁至云端存储模块,例如,操作装置可仅将本地存储模块中的部分私有文件进行搬迁,或者,操作装置也可将本地存储模块中全部私有文件以及系统文件均进行搬迁。本申请实施例对第一应用程序具体的搬迁文件不做限定。
在步骤S330中,操作装置在桌面程序中记录对应于第一应用程序的第一搬迁标记,该第一搬迁标记可用于指示第一应用程序已被搬迁至云端存储模块。
可选地,在本申请一些实施例中,对于Android操作系统而言,桌面程序可以为桌面启动器(Launcher),该桌面启动器也可以理解为一种应用程序,且其可以用于管理安装于计算机设备中的其它应用程序。或者,在本申请其它实施例中,该桌面程序也可以为针对其它操作系统的桌面应用程序。
操作装置在桌面程序中记录对应于第一应用程序的第一搬迁标记后,该桌面程序可根据该第一搬迁标记判断第一应用程序已被搬迁至云端存储模块。在计算机设备的后续运行过程中,若用户需要对该第一应用程序进行操作,桌面程序会首先检查该第一应用程序对应的第一搬迁标记,并根据该第一搬迁标记的检查结果,对云端存储模块中的第一应用程序进行操作。
通过本申请实施例的技术方案,计算机设备能够实现将本地存储模块中的第一应用程序搬迁至云端存储模块,在提升计算机设备的存储容量的同时,节省本地存储模块中的存储空间,保证本地存储模块具有较为充足的剩余存储空间,不会造成计算机设备的卡顿和应用程序的崩溃,提升用户对计算机设备的使用体验。另外,在将第一应用程序搬迁至云端存储模块之后,计算机设备在桌面程序中记录对应于第一应用程序的第一搬迁标记,使得用户后续在对该第一应用程序的操作中,计算机设备仍然能够根据桌面程序中的第一搬迁标记,对存储于云端存储模块中的第一应用程序进行操作,以进一步提升用户对计算机设备的使用体验。
为了便于理解本申请实施例的技术方案,图4示出了本申请实施例适用的操作装置400的一种示意性结构框图。上文实施例中所提供的操作方法300以及下文实施例中所提供的各操作方法均可以由图4所示的操作装置400中的各功能模块执行。
如图4所示,该操作装置400可包括:控制模块410和执行模块420,其中,控制模块410位于计算机设备的用户空间,执行模块420位于计算机设备的内核空间。
在本申请实施例中,上述方法300中的步骤S310的执行主体可以为控制模块410,即控制模块410确定本地存储模块中待搬迁的第一应用程序。上述方法300中的步骤S320的执行主体可以为执行模块420,具体地,控制模块410调用执行模块420,该执行模块420将本地存储模块401中第一应用程序搬迁至云端存储模块402。上述方法300中的步骤S320的执行主体可以为控制模块410,即控制模块410在桌面程序中记录对应于第一应用程序的第一搬迁标记。
如图4所示,控制模块410与桌面程序均位于用户空间,该控制模块410可以为运行于用户空间的软件模块,例如,其可以为一种守护程序(daemon),实时运行于计算机设备的后台。该控制模块410可以与桌面程序形成信息交互。
可选地,在图4所示实施例中,执行模块420可包括云端文件系统421、设备驱动422以及网络协议层423。其中,相比于相关技术中计算机设备中的本地文件系统,本申请实施例提供的云端文件系统421为在计算机设备的内核空间中新增的文件系统,其能够接收来自用户空间的应用程序、控制模块410等程序模块的相关命令,通过网络协议层423与云端存储模块402进行交互,且通过设备驱动422与本地存储模块401进行交互。
具体地,该设备驱动422可以与上文图2所示实施例中的设备驱动260相同,该网络协议层423为实现于内核中的网络协议模块,其可用于将相关数据封装为基于网络协议的网络数据包,且通过网络将该网络数据包发送至云端存储模块402。作为示例而非限定,该网络协议包括但不限于是超文本传输协议(Hyper Text Transfer Protocol,HTTP)。
相比于在用户空间实现网络协议,用户空间与内核空间具有频繁的切换频率的技术方案,通过该实施方式的技术方案,在计算机设备的内核实现了网络协议,例如HTTP协议,并将计算机设备的本地存储模块中的第一应用程序封装为网络数据包发送至云端存储模块,这样可以减少用户空间到内核空间之间的切换频率,从而提高计算机设备到云端存储模块的访问速度。
综上,通过本申请实施例的技术方案,在计算机设备的用户空间设置能够与桌面程序执行交互的控制模块410,能够提高对桌面程序的操作效率。另外,在计算机设备的内核空间设置能够与云端存储模块交互的执行模块420,可以减少在第一应用程序在搬迁过程中用户空间到内核空间之间的切换频率,从而提高计算机设备到云端存储模块的访问速度。
另外,需要说明的是,图4仅作为示意而非限定,示出了本申请实施例所提供的一种操作装置400的示意性结构框图,该操作装置400所在的计算机设备除了可包括图4中所示的各功能模块以外,还可以包括上文图2所示的各功能模块,本申请实施例对该操作装置400所在的计算机设备的具体结构不做限定。
图5示出了本申请实施例提供的另一应用程序的操作方法500的示意性流程框图。
如图5所示,在本申请实施例中,操作方法500可以包括以下步骤。
S510:确定本地存储模块中待搬迁的第一应用程序。
S520:将第一应用程序由本地存储模块搬迁至云端存储模块。
S530:在桌面程序中记录对应于第一应用程序的第一桌面图标的第一搬迁标记,该第一搬迁标记应用于桌面程序对第一应用程序的后续操作。
具体地,在本申请实施例中,步骤S510至S520的相关技术方案可以参见上文图3中步骤S310至S320的相关描述。步骤S530可以为上文步骤S330的一种实现方式。
在步骤S530中,桌面程序中可包括计算机设备中全部已安装应用程序对应的桌面图标,其中,第一应用程序对应于第一桌面图标。在桌面程序通过显示设备向用户体现的显示界面中,用户可通过点击该桌面图标,打开与该桌面图标对应的应用程序。
具体地,在操作装置将第一应用程序由本地存储模块搬迁至云端存储模块后,该桌面程序中可保留该第一应用程序对应的第一桌面图标。操作装置可在桌面程序中建立第一桌面图标与第一搬迁标记的对应关系,当用户点击该第一桌面图标时,桌面程序可通过第一桌面图标访问到第一搬迁标记,进而根据该第一搬迁标记,执行后续对云端存储模块中第一应用程序的操作。
通过本申请实施例的技术方案,在桌面程序中保留有对应于第一应用程序的第一桌面图标,且在该桌面程序中记录对应于该第一桌面图标的第一搬迁标记,可以使得用户在后续通过第一桌面图标对第一应用程序进行操作时,可以快速的根据对应于该第一桌面图标的第一搬迁标记,对云端存储模块中的第一应用程序执行相关操作。
可选地,在一些实施方式中,第一应用程序的第一桌面图标对应于用于指示第一应用程序的程序信息,在该情况下,上述步骤S530可以包括:在桌面程序中记录对应于第一应用程序的程序信息的第一搬迁标记,以使得该第一搬迁标记对应于第一应用程序的第一桌面图标。其中,该第一应用程序的程序信息包括但不限于是第一应用程序的包名。
可选地,在该实施方式中,用户在点击第一桌面图标时,桌面程序会根据该第一桌面图标,获取与该第一桌面图标对应的第一应用程序的包名和/或其它相关程序信息。该包名是应用程序的唯一标识,即不同的应用程序具有不同的包名,第一应用程序的包名能够唯一对应于该第一应用程序。进一步地,桌面程序中记录有对应于该第一应用程序的包名的第一搬迁标记,在桌面程序获取到第一应用程序的包名后,能够根据该包名确定与其对应的第一搬迁标记,进而使得桌面程序能够根据该第一搬迁标记执行后续对云端存储模块中第一应用程序的操作。
通过本申请实施例的技术方案,在桌面程序中记录对应于第一应用程序的包名的第一搬迁标记,用户在点击桌面程序中对应于第一应用程序的第一桌面图标时,可以准确的通过与第一应用程序唯一对应的包名确定该第一应用程序的第一搬迁标记,该技术方案实现方式简单且可靠性较高。
图6示出了本申请实施例提供的另一应用程序的操作方法600的示意性流程框图。
如图6所示,在本申请实施例中,操作方法600可以包括以下步骤。
S610:确定本地存储模块中待搬迁的第一应用程序。
S620:将第一应用程序由本地存储模块搬迁至云端存储模块。
S630:在桌面程序中记录对应于第一应用程序的第一桌面图标的第一搬迁标记。
S640:在桌面程序获取第一桌面图标的操作命令,且根据第一桌面图标确定第一搬迁标记的情况下,接收桌面程序发送的第一应用程序的操作命令。
S650:根据第一应用程序的操作命令,对云端存储模块中的第一应用程序进行操作。
具体地,在本申请实施例中,步骤S610至S630的相关技术方案可以参见上文图5中步骤S510至S530的相关描述。在上文图5所示实施例的基础上,本申请实施例提供的操作方法600还包括步骤S640至S650。
在步骤S640中,在用户对于第一桌面图标进行操作时,桌面程序可获取对应于该用户操作的第一桌面图标的操作命令。作为示例,在用户点击第一桌面图标时,桌面程序可获取第一桌面图标的点击命令,该点击命令可用于指示打开第一桌面图标对应的第一应用程序。作为另一示例,在用户删除第一桌面图标时,桌面程序可获取该第一桌面图标的删除命令,该删除命令可用于指示删除第一桌面图标对应的第一应用程序。
在桌面程序获取第一桌面图标的操作命令后,其可根据该第一桌面图标确定第一搬迁标记,进而向执行本申请实施例的操作方法600的执行主体操作装置发送对应于第一桌面图标的操作命令。作为一种示例,在桌面程序获取第一桌面图标的点击命令后,其可根据第一搬迁标记向操作装置发送第一应用程序的下载命令。作为另一示例,在桌面程序获取第一桌面图标的删除命令后,其可根据第一搬迁标记向操作装置发送第一应用程序的删除命令。
在步骤S650中,操作装置可接收桌面程序发送的第一应用程序的操作命令,且根据该操作命令,对云端存储模块中的第一应用程序进行相应的操作。
具体地,在该步骤中,操作装置将第一应用程序的操作命令封装为网络数据包,并通过网络协议将该网络数据包发送至云端存储模块,该云端存储模块可根据该网络数据包中的操作命令对第一应用程序执行相应的操作。
通过本申请实施例的技术方案,可以接收桌面程序根据第一桌面图标的操作命令以及第一搬迁标记发送的第一应用程序的操作命令,根据该操作命令,操作装置可针对云端存储模块中的第一应用程序进行操作,从而在用户无感知或者感知影响较小的情况下,完成用户对第一应用程序的操作需求。整个技术方案既能优化计算机设备对于第一应用程序的存储,保证计算机设备的运行性能,也能正常完成用户对于第一应用程序的操作需求,对用户的使用感知影响较小。
在图6所示实施例的基础上,图7示出了本申请实施例提供的另一应用程序的操作方法700的示意性流程框图。
如图7所示,在本申请实施例中,操作方法700可以包括以下步骤。
S710:确定本地存储模块中待搬迁的第一应用程序。
S720:将第一应用程序由本地存储模块搬迁至云端存储模块。
S730:在桌面程序中记录对应于第一应用程序的第一桌面图标的第一搬迁标记。
S740:在桌面程序获取第一桌面图标的点击命令,且根据第一桌面图标确定第一搬迁标记的情况下,接收桌面程序发送的第一应用程序的下载命令。
S750:根据第一应用程序的下载命令,将云端存储模块中第一应用程序下载至本地存储模块。
S770:向桌面程序发送用于指示下载完成的指示信息,以使得桌面程序打开第一应用程序。
具体地,在本申请实施例中,步骤S710至S730的相关技术方案可以参见上文图6中步骤S610至S630的相关描述。步骤S740可以为上文步骤S640的一种实现方式,且步骤S750至S770可以为上文步骤S650的一种实现方式。
在步骤S740中,在用户点击第一桌面图标的情况下,桌面程序可获取该第一桌面图标的点击命令,然后,桌面程序根据该第一桌面图标对应的第一搬迁标记,向操作装置发送第一应用程序的打开命令。
在步骤S750中,操作装置根据桌面程序发送的第一应用程序的打开命令,将该第一应用程序由云端存储模块下载至本地存储模块。对于该步骤S750,在一些可选的实施方式中,操作装置可向云端存储模块发送该第一应用程序的下载命令,该下载命令中包括用于指示第一应用程序的程序信息,云端存储模块用于根据该程序信息在其存储空间中确定第一应用程序,然后,操作装置可接收云端存储模块发送的第一应用程序。其中,用于指示第一应用程序的程序信息包括但不限于是第一应用程序的包名,云端存储模块可根据该第一应用程序的包名,在其存储空间中确定文件名与该包名相同的文件,该文件即作为第一应用程序发送至计算机设备本地。
在步骤S770中,在操作装置将第一应用程序下载完成后,该操作装置可向桌面程序发送用于指示下载完成的指示信息,以使得桌面程序打开该第一应用程序。
可以理解的是,在操作装置将第一应用程序下载至本地存储模块之后,该桌面程序执行第一应用程序的打开流程可以与相关技术中的技术方案相同,此处不做过多赘述。
通过本申请实施例的技术方案,在用户需要打开第一应用程序的情况下,操作装置可从云端存储模块中将该第一应用程序下载至本地存储模块,以使得桌面程序可以根据原生程序代码执行第一应用程序的打开流程。因此,该技术方案可以复用桌面程序的原生程序代码打开第一应用程序,整体实现方式可靠性较高,且能够免去了用户重新安装且重新登录该第一应用程序的过程,从而进一步优化用户对于计算机设备的使用体验。
可选地,如图7所示,在步骤S770之前,本申请实施例提供操作方法700还可以包括步骤S760:向桌面程序发送用于指示等待下载的指示信息,以使得桌面程序向用户显示等待提示标识。
具体地,在本申请实施例中,在操作装置将云端存储模块中的第一应用程序下载至本地存储模块时,由于第一应用程序可能较大,因而会需要一定的下载时间,在该情况下,操作装置可向桌面程序发送等待下载的指示信息,该桌面程序可根据该指示信息,向用户呈现指示等待的提示标识,该提示标识可以为任意类型的提示标识,例如,其可以为在第一应用程序对应的第一桌面图标处显示的提示标识。
需要说明的是,通过桌面程序向用户显示提示标识的具体实施方案可以参见相关技术,本申请实施例对提示标识的类型以及其具体实现方式不做限定。
通过本申请实施例的技术方案,在操作装置将云端存储模块中的第一应用程序下载至本地存储模块时,该操作装置可向桌面程序发送用于指示等待下载的指示信息,以使得桌面程序向用户显示等待提示标识,从而优化用户对于计算机设备的使用体验。
图8示出了本申请实施例提供的另一应用程序的操作方法800的示意性流程框图。
如图8所示,在本申请实施例中,操作方法800可以包括以下步骤。
S810:读取本地存储模块中多个应用程序的使用信息。
S820:根据多个应用程序的使用信息,确定多个应用程序中待搬迁的第一应用程序。
S830:将第一应用程序由本地存储模块搬迁至云端存储模块。
S840:在桌面程序中记录对应于第一应用程序的第一搬迁标记,该第一搬迁标记应用于桌面程序对第一应用程序的后续操作。
具体地,在本申请实施例中,步骤S810至S820可以为上文图3所示实施例中步骤S310的一种实现方式。步骤S830至S840的相关技术方案可以参见上文实施例的相关描述。
在步骤S810中,操作装置可读取本地存储模块中多个应用程序中每个应用程序的使用信息,其中,该使用信息包括但不限于:应用程序的使用时长、使用次数、或者使用频率等等。可选地,操作装置可通过原生的接口程序获取本地存储模块中每个应用程序的使用信息。作为示例,Android操作系统中,提供了UsageStatsManager类用于进行应用使用信息的统计,操作装置可通过该UsageStatsManager中提供的函数接口获取每个应用程序的使用信息。
在步骤S820中,操作装置可根据多个应用程序中每个应用程序的使用信息,确定多个应用程序中待搬迁的第一应用程序。在一些实施方式中,操作装置自身可以包括具有筛选功能的筛选模块,该筛选模块能够根据多个应用程序的使用信息,且根据预设的筛选规则从本地存储模块中的多个应用程序中筛选得到较为适宜搬迁至云端存储模块的应用程序。可选地,该筛选模块可以为人工智能(Artificial Intelligence,AI)模块,该AI模块包括但不限于是神经网络(Neural Networks)模块。
或者,在另一些实施方式中,操作装置也可将其获取到的多个应用程序中每个应用程序的使用信息发送至云端存储模块,以使得该云端存储模块根据该多个应用程序的使用信息,确定多个应用程序中待搬迁的第一应用程序。然后,云端存储模块将该用于指示该第一应用程序的程序信息发送至计算机设备,以使得操作装置接收该第一应用程序的程序信息,并根据该程序信息访问本地存储模块中第一应用程序的存储空间,其中,该第一应用程序的程序信息包括但不限于是第一应用程序的包名。
具体地,在该实施方式中,用于在多个应用程序中筛选得到第一应用程序的筛选模块位于云端存储模块中,操作装置将多个应用程序的使用信息发送至云端存储模块后,筛选模块用于根据预设的筛选规则对多个应用程序进行筛选。因此,在该实施方式中,将筛选模块设置于云端存储模块中,可以进一步的节省本地存储模块的存储空间,且云端存储模块除了能够接收当前计算机设备发送的多个应用程序的使用信息以外,还可以接收用户其它计算机设备发送的应用程序的使用信息,该云端存储模块能够综合用户的多个计算机设备中应用程序的使用情况,确定得到更为适宜搬迁的第一应用程序,从而进一步提高用户对于计算机设备的使用体验。
另外,通过本申请实施例的技术方案,操作装置根据本地存储模块中多个应用程序的使用信息确定待搬迁的第一应用程序,从而使得该第一应用程序的搬迁适配于多个应用程序的使用情况,例如,该第一应用程序可以为使用频率低于某预设阈值的应用程序,在该情况下,即使该第一应用程序被搬迁至云端存储模块,也不会对用户造成较大的影响,从而可进一步提升用户对计算机设备的使用体验。
图9示出了本申请实施例提供的另一应用程序的操作方法900的示意性流程框图。
如图9所示,在本申请实施例中,操作方法900可以包括以下步骤。
S910:确定本地存储模块中待搬迁的第一应用程序。
S920:将本地存储模块中第一应用程序压缩形成第一应用程序的程序压缩包。
S930:将第一应用程序的程序压缩包发送至云端存储模块。
S940:释放本地存储模块中第一应用程序的程序压缩包所在的存储空间。
S950:在桌面程序中记录对应于第一应用程序的第一搬迁标记,该第一搬迁标记应用于桌面程序对第一应用程序的后续操作。
具体地,在本申请实施例中,步骤S920至S940可以为上文图3所示实施例中步骤S320的一种实现方式。步骤S910与S950的相关技术方案可以参见上文实施例的相关描述。
在步骤S920至S930中,操作装置可首先将本地存储模块中的第一应用程序压缩成第一应用程序的程序压缩包,以将容量较大的第一应用程序压缩为容量较小的程序压缩包。可选地,该程序压缩包可覆盖本地存储模块中原始的第一应用程序,从而节省本地存储模块的存储空间。
然后,操作装置可将本地存储模块中第一应用程序的程序压缩包封装为网络数据包,并将其发送至云端存储模块,以实现第一应用程序由本地存储模块至云端存储模块的搬迁。在该过程中,由于程序压缩包的容量较小,可以提升该程序压缩包的传输速度并降低该程序压缩包的传输时间。
可选地,在待搬迁的第一应用程序包括多个文件的情况下,可首先将该多个文件进行打包,使得该多个文件形成一个总文件,然后对该总文件进行压缩以形成程序压缩包。经过打包以及压缩后形成的程序压缩包包含有较为第一应用程序全面的文件内容,其能够较为方便的在本地存储模块以及云端存储模块中进行存储,也能够较为方便的被用户使用。
在步骤S930中,在操作装置将第一应用程序的程序压缩包发送至云端存储模块后,该操作装置还释放本地存储模块中该第一应用程序的程序压缩包所在的存储空间,以进一步节省本地存储模块的存储空间。
如图9所示,在本申请实施例中,操作方法900还可以包括以下步骤。
S960:在桌面程序获取第一桌面图标的点击命令,根据第一桌面图标确定第一搬迁标记的情况下,接收桌面程序发送的第一应用程序的下载命令。
S970:根据第一应用程序的下载命令,将云端存储模块中第一应用程序的程序压缩包下载至本地存储模块。
S980:对第一应用程序的程序压缩包解压形成第一应用程序。
S990:向桌面程序发送用于指示下载完成的指示信息,以使得桌面程序打开第一应用程序。
可选地,在本申请实施例中,步骤S960以及S990可以参见上文图7所示实施例中步骤S740以及S770的相关描述,步骤S970至S980可以为步骤S750的一种实现方式。
具体地,在用户需要打开第一应用程序的情况下,桌面程序可获取第一桌面图标的点击命令,且根据第一桌面图标确定第一搬迁标记向操作装置发送第一应用程序的下载命令。在步骤S970至S980中,操作装置可将该下载命令封装为网络数据包并发送至云端存储模块,云端存储模块根据该网络数据包中携带的下载命令,将其存储的第一应用程序的程序压缩包发送计算机设备,以使得该计算机设备将其存储至本地存储模块。然后,操作装置可将该本地存储模块中的程序压缩包进行解压以还原得到原始的第一应用程序,进而使得桌面程序对该第一应用程序执行打开操作。
通过本申请实施例的技术方案,将待搬迁至云端存储模块的第一应用程序打包为程序压缩包,可以减小该第一应用程序的容量,从而降低该第一应用程序搬迁至云端存储模块所需的搬迁时间。进一步地,在用户需要使用该第一应用程序时,也可以降低该第一应用程序重新下载至本地存储模块的下载时间,从而降低用户的等待时间,优化用户对计算机设备的使用体验。
在上述图3至图9所示实施例中,说明了本申请提供的对于第一应用程序的整体操作方法,例如,针对第一应用程序中的全部私有文件进行了操作。在本申请另一些实施例中,除了实现对第一应用程序的整体操作以外,还可以实现对第一应用程序中的部分应用数据文件进行操作。
图10示出了本申请实施例提供的另一应用程序的操作方法1000的示意性流程框图。
如图10所示,在本申请实施例中,操作方法1000可以包括以下步骤。
S1010:确定本地存储模块中第二应用程序的待搬迁的应用数据文件。
S1020:将应用数据文件由本地存储模块搬迁至云端存储模块。
S1030:在本地存储模块中写入应用数据文件的第二搬迁标记,该第二搬迁标记应用于执行应用数据文件的后续操作。
具体地,在步骤S1010中,操作装置可获取本地存储模块中多个文件的相关信息,例如,文件的大小、访问频率等等,且从该多个文件中筛选得到待搬迁的第二应用程序的应用数据文件。其中,该应用数据文件可以为该第二应用程序的私有文件中的部分文件,例如,该应用数据文件可以为用户在使用第二应用程序过程中产生的私有数据文件,作为示例,在第二应用程序为微信的情况下,该第二应用程序的待搬迁的应用数据文件可以为微信中用户的聊天记录等数据文件。
可选地,如上文实施例所述,在一些实施方式中,操作装置本身可包括筛选模块,例如AI模块等,其用于对本地存储模块中的多个文件进行筛选得到待搬迁的第二应用程序的应用数据文件。或者,在另一些实施方式中,云端存储模块中设置有该筛选模块,操作装置将本地存储模块中多个文件的相关信息发送至云端存储模块,云端存储模块中的筛选模块从多个文件进行筛选得到待搬迁的第二应用程序的应用数据文件后,云端存储模块再将用于指示该应用数据文件的文件信息发送至计算机设备。
作为示例而非限定,该待搬迁的第二应用程序的应用数据文件可以包括:访问频率小于预设频率的应用数据文件,和/或,文件大小小于预设大小的应用数据文件。通过该实施方式,将访问频率小于预设频率的应用数据文件,和/或,文件大小小于预设大小的应用数据文件搬迁至云端存储模块,不会影响用户对本地存储模块中访问频率较高的文件的访问,也能较大程度的提升本地存储模块的剩余存储空间,以进一步提升用户对计算机设备的使用体验。
在步骤S1020中,操作装置访问该应用数据文件在本地存储模块中的存储空间,并将该应用数据文件由本地存储模块搬迁至云端存储模块。
具体地,在本地存储模块中,该应用数据文件所在的存储空间包括:元数据(metadata)所在的存储空间和用户数据(user data)所在的存储空间,其中,应用数据文件的用户数据也即文件的真实数据。可选地,在本申请实施例中,操作装置访问本地存储模块中应用数据文件所在的存储空间具体可理解为访问本地存储模块中应用数据文件的用户数据所在的存储空间。
可选地,在本申请实施例的一些实施方式中,操作装置可用于实现将应用数据文件的用户数据由本地存储模块搬迁至云端存储模块。具体地,在该过程中,应用数据文件的用户数据可封装为网络数据包并发送至云端存储模块,且本地存储模块中存储该应用数据文件的用户数据的存储空间被释放,即原本存储有该应用数据文件的用户数据的存储空间后续可用于存储其它数据,例如存储其它文件的用户数据。
在步骤S1030中,操作装置可在本地存储模块中写入应用数据文件的第二搬迁标记,可选地,该第二搬迁标记可用于标识该应用数据文件的用户数据已被搬迁至云端存储模块。在计算机设备后续运行过程中,若用户需要对该应用数据文件的用户数据进行操作,可首先在本地存储模块中检查该应用数据文件的第二搬迁标记,并根据该第二搬迁标记的检查结果,对云端存储模块中该应用数据文件的用户数据进行操作。
通过本申请实施例的技术方案,不仅能够实现对第一应用程序的整体搬迁操作,还能实现对第二应用程序中部分的应用数据文件的搬迁操作,从而使得本申请实施例的技术方案能够灵活应用于多种不同的场景,针对不同应用程序的情况,灵活的对本地存储模块中的存储空间进行调整,兼顾本地存储模块中的存储空间以及用户的使用体验。
另外,在本申请实施例的技术方案中,在将第二应用程序的应用数据文件搬迁至云端存储模块之后,还在本地存储模块中写入了该应用数据文件的第二搬迁标记,使得用户后续在对该应用数据文件的操作中,计算机设备仍然能够根据用户的操作命令访问本地存储模块,且根据该本地存储模块中的第二搬迁标记,对存储于云端存储模块中的应用数据文件进行正常操作,以进一步提升用户对计算机设备的使用体验。
在本申请一些实施方式中,本地存储模块可包括位图存储空间,文件的索引节点(inode)存储空间和块(block)存储空间。该文件的inode空间用于存储文件的元数据,该文件的block存储空间用于存储文件的用户数据,而位图存储空间用于记录本地存储模块中多个文件的inode存储空间的使用情况和block存储空间的使用情况。
可选地,在上述步骤S1020和步骤S1030中,操作装置在将本地存储模块中应用数据文件的用户数据由本地存储模块搬迁至云端存储模块后,该操作装置可将本地存储模块中应用数据文件的用户数据所在的block存储空间进行释放,且在该应用数据文件的元数据所在的inode存储空间写入该应用数据文件的第二搬迁标记。
具体地,在位图存储空间中,操作装置可将应用数据文件的block存储空间对应的位图标识设置为目标值,该目标值用于指示该block存储空间为空闲空间。另外,在该应用数据文件的inode存储空间中,除了存储有应用数据文件的原始元数据以外,还可以存储有第二搬迁标记。
通过该实施方式的技术方案,应用数据文件的用户数据所在的block存储空间可被释放,且用于标识该应用数据文件已被搬迁至云端存储模块的第二搬迁标记可以存储于该应用数据文件的元数据所在的inode存储空间中。一方面,该技术方案实现较为简单且可靠性较高,既能够释放本地存储模块的原有空间,也不会占用本地存储模块其它的空间。另一方面,计算机设备也易于根据用户的操作命令对存储于inode存储空间中的第二搬迁标记进行检查,有利于用户后续对该文件进行操作。
在图10的基础上,图11示出了本申请实施例提供的另一应用程序的操作方法1100的示意性流程框图。
如图11所示,在本申请实施例中,操作方法1100可以包括以下步骤。
S1110:确定本地存储模块中第二应用程序的待搬迁的应用数据文件。
S1120:将应用数据文件由本地存储模块搬迁至云端存储模块。
S1130:在本地存储模块中写入应用数据文件的第二搬迁标记,该第二搬迁标记应用于执行应用数据文件的后续操作。
S1140:获取应用数据文件的操作命令。
S1150:根据应用数据文件的操作命令,访问本地存储模块。
S1160:在本地存储模块中检查应用数据文件的第二搬迁标记。
S1170:根据该应用数据文件的操作命令,操作云端存储模块中的应用数据文件。
具体地,在本申请实施例中,步骤S1110至S1130的相关技术方案可以参见上文图10中步骤S1010至S1030的相关描述。在上文图10所示实施例的基础上,本申请实施例提供的操作方法1100还包括步骤S1140至S1170。
在步骤S1140中,用户可通过位于计算机设备的用户空间中的应用程序对本地存储模块中的应用数据文件执行操作,操作装置可获取该应用数据文件的操作命令。
作为示例而非限定,该应用数据文件的操作命令可以包括:读(read)命令,写(write)命令,删除(delete)命令,打开(open)命令等等。为了实现对应用数据文件的操作,该应用数据文件的操作命令除了能够指示操作类型以外,还可包括:用于指示应用数据文件的文件信息。作为示例而非限定,该文件信息可以包括:文件名、文件路径等等。
在步骤S1150中,操作装置能够根据该应用数据文件的操作命令中的文件信息,访问计算机设备的本地存储模块。
在一些可能的实施方式中,操作装置根据操作命令中的文件信息,访问本地存储模块中用于存储该应用数据文件的元数据的inode存储空间。
在步骤S1160至步骤S1170中,操作装置可在本地存储模块中检查该应用数据文件的第二搬迁标记,例如,操作装置可在本地存储模块的inode存储空间中检查该第二搬迁标记,并根据该第二搬迁标记的检查结果以及应用数据文件的操作命令操作该应用数据文件。
具体地,根据该第二搬迁标记的检查结果,可以确定应用数据文件的用户数据的实际存储于云端存储模块,在该情况下,可以根据应用数据文件的操作命令,对云端存储模块中应用数据文件的用户数据进行操作。
通过本申请实施例的技术方案,在应用数据文件被搬迁至云端存储模块之后,计算机设备仍能够根据统一的操作命令,在本地存储模块中检查应用数据文件的第二搬迁标记,并进一步实现对云端存储模块中的应用数据文件的操作。整个技术方案能够保持计算机设备原生的用户空间,不涉及用户空间中原生的服务改动,避免了需要在用户空间区分文件的所在位置,从而提升用户对计算机设备的使用体验。
上文结合图3至图11说明了本申请提供的应用程序的操作方法实施例,下面,结合图12和图13,说明本申请提供的应用程序的操作装置实施例。应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
图12示出了本申请实施例提供的一种应用程序的操作装置1200的示意性结构框图。
如图12所示,该操作装置1200可包括:控制模块1210和执行模块1220。其中,控制模块1210用于确定计算机设备的本地存储模块中待搬迁的第一应用程序;执行模块1220用于将第一应用程序由本地存储模块搬迁至云端存储模块;控制模块1210还用于在桌面程序中记录对应于第一应用程序的第一搬迁标记,第一搬迁标记应用于桌面程序对第一应用程序的后续操作。
在一些可能的实施方式中,执行模块1220用于:将第一应用程序的私有文件由本地存储模块搬迁至云端存储模块,其中,本地存储模块中保留有第一应用程序的系统文件。
在一些可能的实施方式中,第一应用程序的系统文件用于记录第一应用程序的以下至少一项信息:包名、权限或安装信息。
在一些可能的实施方式中,控制模块1210用于:在桌面程序中记录对应于第一应用程序的第一桌面图标的第一搬迁标记。
在一些可能的实施方式中,第一应用程序的第一桌面图标对应于第一应用程序的包名;控制模块1210用于:在桌面程序中记录对应于第一应用程序的包名的第一搬迁标记,以使得第一搬迁标记对应于第一应用程序的第一桌面图标。
在一些可能的实施方式中,在控制模块1210用于在桌面程序中记录对应于第一应用程序的第一桌面图标的第一搬迁标记之后,控制模块1210还用于:在桌面程序获取第一桌面图标的操作命令,且根据第一桌面图标确定第一搬迁标记的情况下,接收桌面程序发送的第一应用程序的操作命令;根据第一应用程序的操作命令,对云端存储模块中的第一应用程序进行操作。
在一些可能的实施方式中,第一桌面图标的操作命令包括:第一桌面图标的点击命令;控制模块1210用于:在桌面程序获取第一桌面图标的点击命令,且根据第一桌面图标确定第一搬迁标记的情况下,接收桌面程序发送的第一应用程序的打开命令;执行模块1220用于:根据第一应用程序的打开命令,将云端存储模块中第一应用程序下载至本地存储模块;控制模块1210用于:向桌面程序发送用于指示下载完成的指示信息,以使得桌面程序打开第一应用程序。
在一些可能的实施方式中,执行模块1220用于:向云端存储模块发送第一应用程序的下载命令,下载命令中包括用于指示第一应用程序的程序信息,云端存储模块用于根据程序信息在其存储空间中确定第一应用程序;接收云端存储模块发送的第一应用程序。
在一些可能的实施方式中,在控制模块1210用于向桌面程序发送用于指示下载完成的指示信息之前,控制模块1210还用于:向桌面程序发送用于指示等待下载的指示信息,以使得桌面程序向用户显示等待提示标识。
在一些可能的实施方式中,控制模块1210用于:读取本地存储模块中多个应用程序的使用信息;根据多个应用程序的使用信息,确定多个应用程序中待搬迁的第一应用程序。
在一些可能的实施方式中,执行模块1220用于:将多个应用程序的使用信息发送至云端存储模块,以使得云端存储模块根据多个应用程序的使用信息,确定多个应用程序中待搬迁的第一应用程序;接收云端存储模块发送的用于指示第一应用程序的程序信息。
在一些可能的实施方式中,控制模块1210用于:将本地存储模块中第一应用程序压缩形成第一应用程序的程序压缩包;执行模块1220用于:将第一应用程序的程序压缩包发送至云端存储模块;释放本地存储模块中第一应用程序的程序压缩包所在的存储空间。
在一些可能的实施方式中,执行模块1220还用于:将云端存储模块中第一应用程序的程序压缩包下载至本地存储模块;控制模块1210还用于:对第一应用程序的程序压缩包解压形成第一应用程序。
在一些可能的实施方式中,控制模块1210还用于:确定本地存储模块中第二应用程序的待搬迁的应用数据文件;执行模块1220还用于:将应用数据文件由本地存储模块搬迁至云端存储模块;在本地存储模块中写入应用数据文件的第二搬迁标记,第二搬迁标记应用于执行应用数据文件的后续操作。
在一些可能的实施方式中,执行模块1220用于:将应用数据文件的用户数据由本地存储模块搬迁至云端存储模块;释放本地存储模块中应用数据文件的用户数据所在的块(block)存储空间;在本地存储模块中应用数据文件的元数据所在的索引节点(inode)存储空间写入应用数据文件的第二搬迁标记。
在一些可能的实施方式中,执行模块1220还用于:获取应用数据文件的操作命令;根据应用数据文件的操作命令,访问本地存储模块;在本地存储模块中检查应用数据文件的第二搬迁标记;根据应用数据文件的操作命令,操作云端存储模块中的应用数据文件。
在一些可能的实施方式中,控制模块1210位于计算机设备的用户空间,执行模块1220位于计算机设备的内核空间。
图13示出了本申请实施例提供的另一应用程序的操作装置1300的示意性结构框图。
如图13所示,该操作装置1300包括:至少一个处理器1310和存储器1320,该存储器1320用于存储程序,该至少一个处理器1310用于从存储器1320中调用并运行该程序以执行上述任一实施例所提供的应用程序的操作方法。
图14示出了本申请实施例提供的一种计算机设备1400的示意性结构框图。
如图14所示,该计算机设备1400包括本地存储器,且被配置为连接于云端存储器,该计算机设备1400还包括:上文任一实施例中的应用程序的操作装置1200或操作装置1300。
具体地,在本申请实施例中,云端存储器包括但不限于是云盘或者网盘。本地存储器包括但不限于是非易失性存储器、磁盘、光盘、U盘或者安全数码卡。可选地,该计算机设备1400包括但不限于是终端设备,例如,手机、个人计算机等等。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当该计算机程序在计算机设备上运行时,使得计算机设备执行上述任一实施例所提供的应用程序的操作方法。
本申请实施例还提供一种包含计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述任一实施例所提供的应用程序的操作方法。
本申请实施例还提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过所述数据接口读取存储器上存储的指令,以执行上述任一实施例所提供的应用程序的操作方法。
在具体实现过程中,该芯片可以为中央处理器(CPU)、微控制器(MicroController Unit,MCU)、微处理器(Micro Processing Unit,MPU)、数字信号处理器(DSP)、片上系统(System On Chip,SoC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
可选地,在具体实现中,该处理器的个数不做限制。该处理器是通用处理器,可选地,该通用处理器能够通过硬件来实现或通过软件来实现。当通过硬件实现时,该处理器是逻辑电路、集成电路等;当通过软件来实现时,该处理器是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器集成在处理器中,位于该处理器之外,独立存在。
上述实施例,全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。
可选地,所述计算机为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令能够存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
所述计算机可读存储介质是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质,例如固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示存在三种关系,例如,A和/或B,表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c是单个或者多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员能够意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员能够对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员能够清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,请参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,能够通过其它的方式实现。
例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时能够有另外的划分方式,例如多个模块或组件结合或者集成到另一个系统,或一些特征能够被忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接是通过一些接口,装置或模块的间接耦合或通信连接,是电性,机械或其它的形式。
可选地,在本申请各个实施例中的各功能模块能够集成在一个处理装置中,可选地,是各个模块单独物理存在,或者两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,能够存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分能够以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种能够存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。