CN114296641B - 增量文件传输方法、装置、电子设备及可读存储介质 - Google Patents
增量文件传输方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114296641B CN114296641B CN202111525968.2A CN202111525968A CN114296641B CN 114296641 B CN114296641 B CN 114296641B CN 202111525968 A CN202111525968 A CN 202111525968A CN 114296641 B CN114296641 B CN 114296641B
- Authority
- CN
- China
- Prior art keywords
- file
- mapping
- address
- disk
- writing
- 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
Links
Abstract
本申请实施例公开了一种增量文件传输方法、装置、电子设备及可读存储介质,该方法可以包括:对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,第一磁盘区间对应常规文件系统,常规文件系统用于管理电子设备中的所有文件;通过系统服务层根据映射空间地址,生成文件写入指令;通过本地服务层根据文件写入指令,得到映射空间地址,并根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间,第二磁盘区间对应增量文件系统,增量文件系统用于管理增量文件。通过实施该方法,可以提高增量文件的传输效率。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种增量文件传输方法、装置、电子设备及可读存储介质。
背景技术
增量文件传输通常指的是文件从内容分发网络(Content Delivery Network,CDN)到电子设备的增量文件系统的过程。实践中发现,现有的增量文件传输大都流程多且复杂,致使增量文件的传输效率较低。
发明内容
本申请实施例提供了一种增量文件传输方法、装置、电子设备及可读存储介质,可以提高增量文件的传输效率。
本申请实施例第一方面提供了一种增量文件传输方法,包括:
对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,所述第一磁盘区间对应常规文件系统,所述常规文件系统用于管理电子设备中的所有文件;
通过系统服务层根据所述映射空间地址,生成文件写入指令;
通过本地服务层根据所述文件写入指令,得到所述映射空间地址,并根据所述映射空间地址,将所述第一文件片段由所述第一磁盘区间写入第二磁盘区间,所述第二磁盘区间对应增量文件系统,所述增量文件系统用于管理增量文件。
本申请实施例第二方面提供了一种增量文件传输装置,包括:
内存映射单元,用于对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,所述第一磁盘区间对应常规文件系统,所述常规文件系统用于管理电子设备中的所有文件;
指令生成单元,用于通过系统服务层根据所述映射空间地址,生成文件写入指令;
第一文件写入单元,用于通过本地服务层根据所述文件写入指令,得到所述映射空间地址,并根据所述映射空间地址,将所述第一文件片段由所述第一磁盘区间写入第二磁盘区间,所述第二磁盘区间对应增量文件系统,所述增量文件系统用于管理增量文件。
本申请实施例第三方面提供了一种电子设备,可以包括:
存储有可执行程序代码的存储器;
以及所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,所述可执行程序代码被所述处理器执行时,使得所述处理器实现如本申请实施例第一方面所述的方法。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有可执行程序代码,所述可执行程序代码被处理器执行时,实现如本申请实施例第一方面所述的方法。
本申请实施例第五方面公开一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行本申请实施例第一方面公开的任意一种所述的方法。
本申请实施例第六方面公开一种应用发布平台,该应用发布平台用于发布计算机程序产品,其中,当该计算机程序产品在计算机上运行时,使得该计算机执行本申请实施例第一方面公开的任意一种所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
在本申请实施例中,对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,第一磁盘区间对应常规文件系统,常规文件系统用于管理电子设备中的所有文件;通过系统服务层根据映射空间地址,生成文件写入指令;通过本地服务层根据文件写入指令,得到映射空间地址,并根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间,第二磁盘区间对应增量文件系统,增量文件系统用于管理增量文件。通过实施该方法,通过对写入第一磁盘区间的第一文件片段进行内存映射的方式,可以减少了第一文件片段从第一磁盘区间到第二磁盘区间这一过程中的读写次数,进而有利于提高增量文件的传输效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。
图1A是本申请实施例公开的一种场景示意图;
图1B是本申请实施例公开的一种增量文件传输方法的流程示意图;
图2A是本申请实施例公开的另一种增量文件传输方法的流程示意图;
图2B是本申请实施例公开的一种apk文件的传输示意图;
图3是本申请实施例公开的一种增量文件传输装置的结构框图;
图4是本申请实施例公开的另一种增量文件传输装置的结构框图;
图5是本申请实施例公开的一种电子设备的结构框图。
具体实施方式
本申请实施例提供了一种增量文件传输方法、装置、电子设备及可读存储介质,能够提高增量文件的传输效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。
可以理解的是,本申请实施例中所涉及的电子设备可以包括一般的手持有屏电子电子设备,诸如手机、智能电话、便携式终端、终端、个人数字助理(Personal DigitalAssistant,PDA)、便携式多媒体播放器(Personal Media Player,PMP)装置、笔记本电脑、笔记本(Note Pad)、无线宽带(Wireless Broadband,Wibro)终端、平板电脑(PersonalComputer,PC)、智能PC、销售终端(Point of Sales,POS)和车载电脑等。
电子设备也可以包括可穿戴设备。可穿戴设备可以直接穿戴在用户身上,或是整合到用户的衣服或配件的一种便携式电子设备。可穿戴设备不仅仅是一种硬件设备,更可以通过软件支持以及数据交互、云服务器交互来实现强大的智能功能,比如:计算功能、定位功能、报警功能,同时还可以连接手机及各类终端。可穿戴设备可以包括但不限于以手腕为支撑的watch类(比如手表、手腕等产品),以脚为支撑的shoes类(比如鞋、袜子或者其他腿上佩戴产品),以头部为支撑的Glass类(比如眼镜、头盔、头带等)以及智能服装,书包、拐杖、配饰等各类非主流产品形态。
下面以实施例的方式,对本申请技术方案做进一步的说明。
请参阅图1A,图1A是本申请实施例公开的一种场景示意图。如图1A所示的场景示意图可以包括文件服务器10和电子设备20。其中,电子设备20可以向文件服务器10发送针对任一文件的分段下载请求。文件服务器10在接收到该分段下载请求时,可以响应于该分段下载请求,从该文件中获取该分段下载请求对应的文件片段,并向电子设备20发送。电子设备20可以接收该文件片段,也即实现了对该文件片段的下载,然后再将该文件片段写入常规文件系统对应的第一磁盘区间中,并通过内存映射的方式,将该文件片段从第一磁盘区间写入到增量文件系统对应的第二磁盘区间。其中,分段下载请求可以包括电子设备20所请求的文件片段对应的字段区间;常规文件系统用于管理电子设备20中的所有文件,增量文件系统用于管理电子设备20中的增量文件。
请参阅图1B,图1B是本申请实施例公开的一种增量文件传输方法的流程示意图。如图1B所示的增量文件传输方法可以包括以下步骤:
101、对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址。
其中,第一磁盘区间对应常规文件系统,映射地址空间可以包括与第一文件片段空间大小匹配的连续逻辑地址,该连续逻辑地址的范围与第一文件片段在第一磁盘区间上的连续磁盘地址的范围相同。需要说明的是,该连续逻辑地址在物理上不是存在的,可以是通过建立并初始化相关数据结构得到的。
在本申请实施例中,常规文件系统可用于缓存安装包文件。示例性的,若电子设备为安卓操作系统,则常规文件系统为安卓文件系统,若电子设备为苹果操作系统,则常规文件系统为苹果文件系统。
对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址,可以包括:调用内存地址映射方法,对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址。
在一些实施例中,内存地址映射方法可以是mmap()。其中,mmap()可以包括但不限于以下参数:映射逻辑起始地址(addr)、待映射文件的文件长度(length)、映射区的保护方式(prot)、映射区的特性(flags)、待映射文件对应的文件描述符(fd)以及待映射文件的实际起始地址(offset)。
102、通过系统服务层根据映射空间地址,生成文件写入指令。
在本申请实施例中,电子设备从文件服务器下载得到文件片段之后,通常先将下载的文件片段写入内存缓冲队列,再从内存缓冲队列中读取下载的文件片段,并写入第一磁盘区间,然后再经过系统服务层和本地服务层的协作,将文件片段由第一磁盘区间写入第二磁盘区间。其中,系统服务层用于提供系统服务,该系统服务层可以是通过Java语言或Swift语言等进行编写的。示例性的,系统服务层可以是Java层或Swift层。本地服务层(native)可通过驱动电子设备的底层硬件来提供本地服务,native层可以是通过C和/或C++语言编写的。
在一些实施例中,通过系统服务层根据映射空间地址,生成文件写入指令可以包括:通过系统服务层,获取映射空间地址在第二磁盘区间上对应的第一磁盘地址,根据映射空间地址和第一磁盘地址生成文件写入指令。其中,第一磁盘地址可以包括第二磁盘上与映射空间地址对应的连续磁盘地址。
103、通过本地服务层根据文件写入指令,得到映射空间地址,并根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间。
在本申请实施例中,本地服务层根据文件写入指令,得到映射空间地址,可以包括:本地服务层根据文件写入指令,得到映射空间地址及该映射空间地址在第二磁盘上对应的第一磁盘地址。
进一步的,在本申请实施例中,本地服务层根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间,可以包括:本地服务层根据映射空间地址对应的映射关系,确定第一文件片段在第一磁盘区间上对应的第二磁盘地址,并根据第二磁盘地址,从第一磁盘区间上读取第一文件片段,以及根据第一磁盘地址,将从第一磁盘区间上读取的第一文件片段写入第二磁盘区间。其中,映射空间地址对应的映射关系表征的是映射空间地址与第一文件片段在第一磁盘区间上的第二磁盘地址之间的映射。
其中,系统服务层可以根据映射空间地址,得到文件写入指令,本地服务层可以根据该文件写入指令,将文件片段由第一磁盘区间写入第二次磁盘区间。可见,这一过程无需将文件片段从第一磁盘区间拷贝进内存区间,可以减少对内存的访问次数。
实施该方法,通过对写入第一磁盘区间的第一文件片段进行内存映射的方式,可以减少了第一文件片段从第一磁盘区间到第二磁盘区间这一过程中的读写次数,进而有利于提高增量文件的传输效率。
请参阅图2A,图2A是本申请实施例公开的另一种增量文件传输方法的流程示意图。如图2A所示的增量文件传输方法可以包括以下步骤:
201、对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址,并将映射空间地址写入目标内存区间。
在一些实施例中,目标内存空间可以是系统服务层和本地服务层共享的,可以理解的是,系统服务层和本地服务层均可向目标内存空间中写数据,也可以从目标内存区间中读数据。
在一些实施例中,对写入第一磁盘区间的第一文件片段进行内存地址映射之前,还可以包括:从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列,以及从内存缓冲队列读取下载的文件片段,并将下载的文件片段写入第一磁盘区间,第一文件片段为写入第一磁盘区间的文件片段。
其中,目标文件可以包括安卓安装包(AndroidPackage,apk)文件或苹果安装包(iPhoneApplication,ipa)文件。
在一些实施例中,从文件服务器中下载目标文件的文件片段,可以包括但不限于以下方式:
方式1、从文件服务器中顺序依次下载目标文件的文件片段。
可以理解的是,在方式1中电子设备依次向文件服务器发送分段下载请求,也即一个文件片段下载完毕之后,再向文件服务器发送另一个文件片段对应的文件分段下载请求,直至目标文件下载完毕。
方式2、通过N个线程,并行从文件服务器中分别下载目标文件的N个文件片段,其中,N≥2且为整数。
可以理解的是,在方式2中电子设备通过N个线程并行向文件服务器发送N个分段下载请求,可以同时下载目标文件对应的N个文件片段。可以提高目标文件的下载效率。
其中,内存缓冲队列可以是存储从文件服务器下载的文件片段的内存队列。在本申请实施例中,将下载的文件片段写入内存缓冲队列,可以包括:从内存缓冲队列的队尾开始,依次将下载的文件片段写入内存缓冲队列。进一步的,从内存缓冲队列读取下载的文件片段,可以包括:从内存缓冲队列的队头开始,依次读取下载的文件片段。
在一些实施例中,将下载的文件片段写入内存缓冲队列,可以包括但不限于:
通过N个线程,并行将N个文件片段写入内存缓冲队列;其中,N≥2且为整数;或者,依次将N个文件片段写入内存缓冲队列。
在一些实施例中,将下载的文件片段写入第一磁盘区间之后,还可以清空内存缓冲队列中存储的下载的文件片段。可以理解的是,可以对内存缓冲队列中已经写入第一磁盘区间的文件片段执行清空操作,这种及时的内存清空操作可以有效降低电子设备的存储压力。
202、通过系统服务层,从目标内存区间中读取映射空间地址,并根据该映射空间地址,生成文件写入指令。
在一些实施例中,通过系统服务层根据该映射空间地址,生成文件写入指令可以包括:通过系统服务层,根据空间阈值将映射空间地址划分为多个映射子空间地址,并确定各个映射子空间地址在第二磁盘区间上对应的第一磁盘地址,以及根据各个映射子空间地址及对应的第一磁盘地址,得到各个映射子空间地址对应的文件写入指令。
其中,空间阈值可以是预先设定的较小空间。示例性的,空间阈值可以是4k(千)字节、6K字节等。
示例性的,映射空间地址指示的空间为256K字节、空间阈值为4k字节,则映射子空间的个数为256/4=64。
在一些实施例中,通过系统服务层,根据空间阈值将映射空间地址划分为多个映射子空间地址,可以包括但不限于以下方式:
通过系统服务层根据空间阈值,按照映射空间地址由高到低的顺序将映射空间地址划分为多个映射子空间地址;
或者,通过系统服务层根据空间阈值,按照映射空间地址由低到高的顺序将映射空间地址划分为多个映射子空间地址。
其中,各个映射子空间地址对应的第一磁盘地址对应的空间大小可以与空间阈值的空间大小相同。
203、通过系统服务层将文件写入指令写入目标内存区间。
基于上述描述,通过系统服务层将文件写入指令写入目标内存区间,可以包括:通过系统服务层,将各个文件写入指令按照对应的映射子空间地址的顺序依次写入到目标内存区间。
204、通过本地服务层,从目标内存区间中读取文件写入指令,并解析文件写入指令,得到映射空间地址。
基于上述描述,通过本地服务层,解析文件写入指令,得到映射空间地址,可以包括:通过本地服务层,解析各个映射子空间地址对应的文件写入指令,以得到各个映射子空间地址以及对应的第一磁盘地址。
205、通过本地服务层,根据映射空间地址将第一文件片段由第一磁盘区间写入第二磁盘区间。
在一些实施例中,通过本地服务层,根据映射空间地址将第一文件片段由第一磁盘区间写入第二磁盘区间,可以包括:通过本地服务层根据各个映射子空间地址对应的映射关系,确定各个映射子空间地址在第一磁盘区间上对应的第二磁盘地址,并根据各个映射子空间地址对应的第二磁盘地址,从第一磁盘区间上读取各个映射子空间地址对应的文件子片段,以及根据各个映射子空间地址对应的第一磁盘地址,将各个映射子空间地址对应的文件子片段写入第二磁盘区间。
在一些实施例中,通过本地服务层,根据映射空间地址将第一文件片段由第一磁盘区间写入第二磁盘区间之后,还可以清空第一磁盘区间中的第一文件片段。
示例性的,下面以apk文件为例,对申请实施例公开的增量文件传输方法作进一步说明。请参阅图2B,图2B是本申请实施例公开的一种apk文件的传输示意图。如图2B所示的示意图,可以包括文件服务器10、内存缓冲队列20、第一磁盘区间30、目标内存区间40以及第二磁盘区间50。
apk文件从文件服务器10到第一磁盘区间30之间的传输过程如下:
其中,文件服务器10用于存储apk文件11,并在接收到电子设备通过N个线程并行发送的N个分段下载请求时,响应于该N个分段下载请求,向电子设备发送该N个分段下载请求对应的N文件片段21(range 0、range 1、range2…range n),电子设备将接收到的N文件片段21写入内存缓冲队列20中,然后再由内存缓冲队列20写入第一磁盘区间30中。
apk文件从第一磁盘区间30到第二磁盘区间的50之间的传输过程如下:
对写入第一磁盘区间30的N文件片段21分别进行内存地址映射,得到N个映射空间地址41(mmp 0、mmp 1、mmp 2…mmp n),每一映射地址空间31唯一对应一个文件片段,即range 0对应mmp 0,range 1对应mmp 1,range 2对应mmp 2…range n对应mmp n;以及将N个映射空间地址41写入目标内存区间40。
通过系统服务层从目标内存区间40中读取N个映射空间地址41,并根据空间阈值,得到每一映射空间地址41对应的M个文件写入指令42(instruction0、instruction 1…instruction m)。以及,将每一映射空间地址41对应的M个文件写入指令写入目标内存区间40。通过native层从目标内存区间40中读取每一映射空间地址41对应的M个文件写入指令42,进而根据每一映射空间地址41对应的M个文件写入指令42,将每一映射空间地址41对应的文件片段,分别写入每一映射空间地址41在第二磁盘区间50上对应的M个第一磁盘地址51(block 0、block 1、…Block m)中。其中,对于一个映射空间地址41来说,一个文件写入指令42可用于将该映射空间地址41对应的文件片段的一个子文件片段,写入对应的一个第一磁盘地址51中,其中,该文件片段的子文件片段的个数与文件写入指令42的个数相同。
通过实施上述方法,通过对写入第一磁盘区间的第一文件片段进行内存映射的方式,可以减少了第一文件片段从第一磁盘区间到第二磁盘区间这一过程中的读写次数,进而有利于提高增量文件的传输效率。进一步的,利用系统服务层及本地服务层可共享的内存区间进行数据的读写,可以减少数据在系统服务层及本地服务层之间的拷贝次数,进一步有利于提高增量文件的传输效率。
请参阅图3,图3是本申请实施例公开的一种增量文件传输装置的结构框图。如图3所示的增量文件传输装置可以包括内存映射单元301、指令生成单元302以及第一文件写入单元303;其中:
内存映射单元301,用于对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,第一磁盘区间对应常规文件系统,常规文件系统用于管理电子设备中的所有文件;
指令生成单元302,用于通过系统服务层根据映射空间地址,生成文件写入指令;
第一文件写入单元303,用于通过本地服务层根据文件写入指令,得到映射空间地址,并根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间,第二磁盘区间对应增量文件系统,增量文件系统用于管理增量文件。
在一些实施例中,内存映射单元301,还用于对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址之后,将映射空间地址写入目标内存区间。
指令生成单元302用于通过系统服务层根据映射空间地址,生成文件写入指令的方式具体可以包括:指令生成单元302,用于通过系统服务层,从目标内存区间中读取映射空间地址,并根据映射空间地址,生成文件写入指令。
在一些实施例中,目标内存区间是由系统服务层和本地服务层共享的,指令生成单元302,还用于通过系统服务层根据映射空间地址,生成文件写入指令之后,通过系统服务层将文件写入指令写入目标内存区间。
进一步的,第一文件写入单元303用于通过本地服务层根据文件写入指令,得到映射空间地址的方式具体可以包括:第一文件写入单元303,用于通过本地服务层,从目标内存区间中读取文件写入指令,并解析文件写入指令,得到映射空间地址。
在一些实施例中,指令生成单元302用于通过系统服务层根据映射空间地址,生成文件写入指令的方式具体可以包括:指令生成单元302,用于通过系统服务层,根据空间阈值将映射空间地址划分为多个映射子空间地址,并确定各个映射子空间地址在第二磁盘区间上对应的第一磁盘地址,以及根据各个映射子空间地址及对应的第一磁盘地址,得到各个映射子空间地址对应的文件写入指令。
进一步的,指令生成单元302用于通过系统服务层将文件写入指令写入目标内存区间的方式具体可以包括:指令生成单元302,用于通过系统服务层,将各个文件写入指令按照对应的映射子空间地址的顺序依次写入到目标内存区间。
在一些实施例中,第一文件写入单元303用于通过本地服务层解析文件写入指令,得到映射空间地址的方式具体可以包括:第一文件写入单元303,用于通过本地服务层,解析各个映射子空间地址对应的文件写入指令,以得到各个映射子空间地址以及对应的第一磁盘地址。
在一些实施例中,请参阅图4,图4是本申请实施例公开的另一种增量文件传输装置的结构框图。如图4所示的增量文件传输装置是对图3所示的增量文件传输装置的优化,如图4所示的增量文件传输装置可包括内存映射单元301、指令生成单元302、第一文件写入单元303、文件下载单元304以及第二文件写入单元305。
其中,关于内存映射单元301、指令生成单元302及第一文件写入单元303的描述,请参照上述关于图3所示的介绍,此处不再赘述。
文件下载单元304,用于内存映射单元301对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址之前,从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列。
第二文件写入单元305,用于从内存缓冲队列读取下载的文件片段,并将下载的文件片段写入第一磁盘区间;其中,第一文件片段为写入第一磁盘区间的文件片段。
在一些实施例中,文件下载单元304用于从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列的方式具体可以包括:文件下载单元304,用于通过N个线程,并行从文件服务器中分别下载目标文件的N个文件片段,以及并行将N个文件片段写入内存缓冲队列;其中,N≥2且为整数。
在一些实施例中,如图4所示的增量文件传输装置还可以包括释放单元,释放单元,用于第一写入单元303通过本地服务层,根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间之后,清空第一磁盘区间中的第一文件片段。
请参阅图5,图5是本申请实施例公开的一种电子设备的结构框图。图5示出的是与本申请实施例提供的电子设备相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路550可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,处理器580还具有以下功能:
对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,第一磁盘区间对应常规文件系统,常规文件系统用于管理电子设备中的所有文件;
通过系统服务层根据映射空间地址,生成文件写入指令;
通过本地服务层根据文件写入指令,得到映射空间地址,并根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间,第二磁盘区间对应增量文件系统,增量文件系统用于管理增量文件。
在本申请实施例中,处理器580还具有以下功能:
将映射空间地址写入目标内存区间;
通过系统服务层,从目标内存区间中读取映射空间地址,并根据映射空间地址,生成文件写入指令。
在本申请实施例中,处理器580还具有以下功能:
通过系统服务层将文件写入指令写入目标内存区间;
通过本地服务层,从目标内存区间中读取文件写入指令,并解析文件写入指令,得到映射空间地址。
在本申请实施例中,处理器580还具有以下功能:
通过系统服务层,根据空间阈值将映射空间地址划分为多个映射子空间地址,并确定各个映射子空间地址在第二磁盘区间上对应的第一磁盘地址,以及根据各个映射子空间地址及对应的第一磁盘地址,得到各个映射子空间地址对应的文件写入指令。
在本申请实施例中,处理器580还具有以下功能:
通过系统服务层,将各个文件写入指令按照对应的映射子空间地址的顺序依次写入到目标内存区间。
在本申请实施例中,处理器580还具有以下功能:
通过本地服务层,解析各个映射子空间地址对应的文件写入指令,以得到各个映射子空间地址以及对应的第一磁盘地址。
在本申请实施例中,处理器580还具有以下功能:
从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列;
从内存缓冲队列读取下载的文件片段,并将下载的文件片段写入第一磁盘区间;其中,第一文件片段为写入第一磁盘区间的文件片段。
在本申请实施例中,处理器580还具有以下功能:
通过N个线程,并行从文件服务器中分别下载目标文件的N个文件片段,以及并行将N个文件片段写入内存缓冲队列;其中,N≥2且为整数。
在本申请实施例中,处理器580还具有以下功能:
通过本地服务层,根据映射空间地址,将第一文件片段由第一磁盘区间写入第二磁盘区间之后,清空第一磁盘区间中的第一文件片段。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。
在本申请所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
在本申请的各种实施例中,应理解,“A和/或B”的含义指的是A和B各自单独存在或者A和B同时存在的情况均包括在内。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本申请实施例公开的一种增量文件传输方法、装置、电子设备及可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种增量文件传输方法,其特征在于,包括:
对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,所述第一磁盘区间对应常规文件系统,所述常规文件系统用于管理电子设备中的所有文件;
通过系统服务层根据所述映射空间地址,生成文件写入指令;
通过本地服务层根据所述文件写入指令,得到所述映射空间地址,并根据所述映射空间地址,将所述第一文件片段由所述第一磁盘区间写入第二磁盘区间,所述第二磁盘区间对应增量文件系统,所述增量文件系统用于管理增量文件;
清空所述第一磁盘区间中的所述第一文件片段。
2.根据权利要求1所述的方法,其特征在于,所述对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址之后,所述方法还包括:
将所述映射空间地址写入目标内存区间;
所述通过系统服务层根据所述映射空间地址,生成文件写入指令,包括:
通过系统服务层,从所述目标内存区间中读取所述映射空间地址,并根据所述映射空间地址,生成文件写入指令。
3.根据权利要求2所述的方法,其特征在于,所述目标内存区间是由所述系统服务层和所述本地服务层共享的,通过系统服务层根据所述映射空间地址,生成文件写入指令之后,所述方法还包括:
通过所述系统服务层将所述文件写入指令写入所述目标内存区间;
所述通过本地服务层根据所述文件写入指令,得到所述映射空间地址,包括:
通过本地服务层,从所述目标内存区间中读取所述文件写入指令,并解析所述文件写入指令,得到所述映射空间地址。
4.根据权利要求3所述的方法,其特征在于,通过系统服务层根据所述映射空间地址,生成文件写入指令,包括:
通过系统服务层,根据空间阈值将所述映射空间地址划分为多个映射子空间地址,并确定各个映射子空间地址在第二磁盘区间上对应的第一磁盘地址,以及根据所述各个映射子空间地址及对应的第一磁盘地址,得到所述各个映射子空间地址对应的文件写入指令;
其中,所述通过所述系统服务层将所述文件写入指令写入所述目标内存区间,包括:
通过所述系统服务层,将各个所述文件写入指令按照对应的映射子空间地址的顺序依次写入到所述目标内存区间。
5.根据权利要求4所述的方法,其特征在于,通过本地服务层,解析所述文件写入指令,得到所述映射空间地址,包括:
通过本地服务层,解析所述各个映射子空间地址对应的文件写入指令,以得到所述各个映射子空间地址以及对应的第一磁盘地址。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址之前,所述方法还包括:
从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列,以及从所述内存缓冲队列读取所述下载的文件片段,并将所述下载的文件片段写入第一磁盘区间;其中,所述第一文件片段为写入所述第一磁盘区间的文件片段。
7.根据权利要求6所述的方法,其特征在于,所述从文件服务器中下载目标文件的文件片段,并将下载的文件片段写入内存缓冲队列,包括:
通过N个线程,并行从文件服务器中分别下载目标文件的N个文件片段,以及并行将所述N个文件片段写入内存缓冲队列;其中,N≥2且为整数。
8.一种增量文件传输装置,其特征在于,包括:
内存映射单元,用于对写入第一磁盘区间的第一文件片段进行内存地址映射,得到映射空间地址;其中,所述第一磁盘区间对应常规文件系统,所述常规文件系统用于管理电子设备中的所有文件;
指令生成单元,用于通过系统服务层根据所述映射空间地址,生成文件写入指令;
第一文件写入单元,用于通过本地服务层根据所述文件写入指令,得到所述映射空间地址,并根据所述映射空间地址,将所述第一文件片段由所述第一磁盘区间写入第二磁盘区间,所述第二磁盘区间对应增量文件系统,所述增量文件系统用于管理增量文件;
释放单元,用于清空所述第一磁盘区间中的所述第一文件片段。
9.一种电子设备,其特征在于,包括:
存储有可执行程序代码的存储器;
以及所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,所述可执行程序代码被所述处理器执行时,使得所述处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525968.2A CN114296641B (zh) | 2021-12-14 | 2021-12-14 | 增量文件传输方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525968.2A CN114296641B (zh) | 2021-12-14 | 2021-12-14 | 增量文件传输方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114296641A CN114296641A (zh) | 2022-04-08 |
CN114296641B true CN114296641B (zh) | 2023-09-19 |
Family
ID=80966665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111525968.2A Active CN114296641B (zh) | 2021-12-14 | 2021-12-14 | 增量文件传输方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296641B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101548256A (zh) * | 2005-04-08 | 2009-09-30 | 微软公司 | 用于生成请求数据并在联网应用程序之间传递该数据的系统和方法 |
CN102375695A (zh) * | 2010-08-23 | 2012-03-14 | 联想(北京)有限公司 | 一种磁盘的访问方法及计算机系统 |
CN104778129A (zh) * | 2014-01-14 | 2015-07-15 | 中兴通讯股份有限公司 | 一种移动终端的虚拟存储的实现方法及装置 |
CN109240617A (zh) * | 2018-09-03 | 2019-01-18 | 郑州云海信息技术有限公司 | 分布式存储系统写请求处理方法、装置、设备及存储介质 |
CN109558386A (zh) * | 2018-11-26 | 2019-04-02 | 北京微播视界科技有限公司 | 一种客户端数据的缓存方法、装置、设备和介质 |
CN109710185A (zh) * | 2018-12-19 | 2019-05-03 | 麒麟合盛网络技术股份有限公司 | 数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190036648A1 (en) * | 2014-05-13 | 2019-01-31 | Datomia Research Labs Ou | Distributed secure data storage and transmission of streaming media content |
-
2021
- 2021-12-14 CN CN202111525968.2A patent/CN114296641B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101548256A (zh) * | 2005-04-08 | 2009-09-30 | 微软公司 | 用于生成请求数据并在联网应用程序之间传递该数据的系统和方法 |
CN102375695A (zh) * | 2010-08-23 | 2012-03-14 | 联想(北京)有限公司 | 一种磁盘的访问方法及计算机系统 |
CN104778129A (zh) * | 2014-01-14 | 2015-07-15 | 中兴通讯股份有限公司 | 一种移动终端的虚拟存储的实现方法及装置 |
CN109240617A (zh) * | 2018-09-03 | 2019-01-18 | 郑州云海信息技术有限公司 | 分布式存储系统写请求处理方法、装置、设备及存储介质 |
CN109558386A (zh) * | 2018-11-26 | 2019-04-02 | 北京微播视界科技有限公司 | 一种客户端数据的缓存方法、装置、设备和介质 |
CN109710185A (zh) * | 2018-12-19 | 2019-05-03 | 麒麟合盛网络技术股份有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114296641A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10959124B2 (en) | Uplink data transmission method, terminal, network side device and system | |
TWI528182B (zh) | 處理程序間通訊的方法及裝置 | |
WO2015058617A1 (zh) | 视频帧存储管理方法、视频服务器及通信系统 | |
US20140115021A1 (en) | Method and Terminal for Accessing a File of a Terminal | |
CN108241703B (zh) | 网页数据传输方法和装置 | |
US11099898B2 (en) | Method for allocating memory resources and terminal device | |
WO2019041280A1 (zh) | 应用资源推荐方法及相关设备 | |
CN110569078B (zh) | 一种网页级程序的预加载方法和装置 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN112559390B (zh) | 一种数据写入控制方法及存储设备 | |
CN109002547B (zh) | 日志文件存储方法、移动终端及计算机可读存储介质 | |
US9990379B2 (en) | Method and apparatus for processing timedly-published data | |
US10992723B2 (en) | Method for processing streaming media data and terminal | |
US10136115B2 (en) | Video shooting method and apparatus | |
CN111880928B (zh) | 选择进程进行释放的方法、终端设备 | |
CN107341032B (zh) | 一种数据加载方法、移动终端及计算机可读存储介质 | |
CN110245017B (zh) | 资源标识的分配方法和设备 | |
WO2020052354A1 (zh) | 游戏加载方法及相关产品 | |
CN114296641B (zh) | 增量文件传输方法、装置、电子设备及可读存储介质 | |
CN110677456A (zh) | 一种资源配置的方法及设备 | |
WO2015067206A1 (zh) | 一种文件查找的方法及终端 | |
CN112261634B (zh) | 一种蓝牙传输控制方法、装置、终端设备和存储介质 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
WO2019140565A1 (zh) | 云存储命令管理方法及系统 | |
CN109308164B (zh) | 一种系统迁移的方法和装置 |
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 |