CN109710185B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN109710185B CN109710185B CN201811556992.0A CN201811556992A CN109710185B CN 109710185 B CN109710185 B CN 109710185B CN 201811556992 A CN201811556992 A CN 201811556992A CN 109710185 B CN109710185 B CN 109710185B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- data
- address space
- mapping
- 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
Images
Abstract
本申请实施例提供了一种数据处理方法及装置,涉及计算机技术领域。该方法包括:获取与目标应用程序对应的目标映射文件的文件标识符;基于该文件标识符建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系;基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存;若在该内存缓存上监测到目标应用程序生成的与目标映射文件对应的增量数据,则基于该映射关系将增量数据同步到目标映射文件。本申请实施例能够保证应用程序的用户数据的完整性,并且显著提高文件读写效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法及数据处理装置。
背景技术
随着互联网技术的发展,计算机上装载的应用程序也越来越多。在用户使用计算机例如智能手机上的应用程序时,需要将用户使用应用程序过程中的一些数据进行持久化处理,以便在用户重新启动应用程序时恢复到之前的状态。
在一种技术方案中,将需要保存的应用程序的数据写到内存中,然后将内存中写入的应用程序的数据同步到磁盘的文件系统中。然而,在这种技术方案中,一方面,如果在将内存中写入的数据同步到文件系统之前强行关闭应用程序的进程,那么内存中写入的数据就会丢失,无法保证应用程序的用户数据的完整性;另一方面,将内存中的应用程序的数据写入文件系统是传统的输入输出操作,需要在用户空间与内核空间之间进行切换,文件读写效率较低。
发明内容
本申请实施例的目的是提供一种数据处理方法及数据处理装置,以解决无法保证应用程序的用户数据的完整性以及文件读写效率较低的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种数据处理方法,包括:
获取与目标应用程序对应的目标映射文件的文件标识符;
基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;
基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;
若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。第二方面,本申请实施例提供了一种数据处理装置,包括:
文件标识获取单元,用于获取与目标应用程序对应的目标映射文件的文件标识符;
映射关系建立单元,用于基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;
内存缓存生成单元,用于基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;
数据同步单元,用于若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
第三方面,本申请实施例提供了一种数据处理设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的数据处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的数据处理方法的步骤。
在本申请实施例中,一方面,建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,不需要在用户空间中对文件内容进行缓冲,能够减少物理内存的复制,从而能够节省一半的物理内存空间;另一方面,基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存,能够直接通过目标映射文件的内存缓存操作目标映射文件的数据,不需要在用户空间与内核空间之间进行切换,能够减少读写文件的次数,显著提高文件读写效率;再一方面,在内存缓存上监测到与目标映射文件对应的增量数据时,基于该映射关系将增量数据同步到目标映射文件,能够通过操作系统实时高效地将目标应用程序产生的增量数据同步到目标映射文件,即使目标应用程序被强行关闭,也能够对目标应用程序关闭之前生成的数据进行自动化保存,从而能够保证应用程序的用户数据的完整性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请的一些实施例提供的数据处理方法的应用场景的示意图;
图2示出了根据本申请的一些实施例提供的数据处理方法的第一种流程示意图;
图3示出了根据本申请的一些实施例将目标映射文件的全部与目标应用程序的进程地址空间建立映射关系的示意图;
图4示出了根据本申请的一些实施例将目标映射文件的一部分与目标应用程序的进程地址空间建立映射关系的示意图;
图5示出了本申请的一些实施例提供的将增量数据添加到内存缓存的流程示意图;
图6示出了根据本申请的一些实施例提供的数据单元组织协议的结构示意图;
图7示出了根据本申请的一些实施例提供的文件增长的数据结构图;
图8示出了根据本申请的另一些实施例提供的数据处理方法的第二种流程示意图;
图9示出了根据本申请的一些实施例提供的数据处理装置的第一种模块示意图;
图10示出了根据本申请的另一些实施例提供的数据处理装置的第二种模块示意图;以及
图11示出了根据本申请的一些实施例提供的数据处理设备的模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出了根据本申请的一些实施例提供的数据处理方法的应用场景的示意图,该数据处理方法可以应用于终端设备例如客户端或服务器,客户端可以为手机、平板电脑、台式计算机、便携笔记本式计算机或车载计算机等,服务器端可以为包含独立主机的物理服务器,或者为主机集群承载的虚拟服务器,或者为云服务器。
参照图1所示,该应用场景包括:在终端上运行一个或多个应用程序110、虚拟存储器120、磁盘130,其中,虚拟存储器120包括用户空间和内核空间,用户空间供一个或多个应用程序110的进程使用,磁盘130上包括供一个或多个应用程序110使用的一个或多个目标映射文件,虚拟存储器120上建立有与磁盘130上的目标映射文件对应的内存映射缓存。根据本申请实施例提供的方法,能够在客户端或服务器上运行的应用程序的进程地址空间与目标映射文件的文件地址空间之间建立映射关系,基于该映射关系通过操作系统将应用程序产生的增量数据实时同步到文件系统中,从而能够保证应用程序的用户数据的完整性并且提高文件读写效率。
下面结合图1的应用场景,参考图2来描述根据本申请的示例性实施例的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施例在此方面不受任何限制。相反,本发明的实施例可以应用于适用的任何场景。
图2示出了本申请的一些实施例提供的数据处理方法的第一种流程示意图。参照图2所示,该数据处理方法包括步骤S210至步骤S240。下面对图2的示例实施例中的数据处理方法进行详细的说明。
参照图2所示,在步骤S210中,获取与目标应用程序对应的目标映射文件的文件标识符。
在示例实施例中,以安卓手机客户端为例,在客户端的目标应用程序例如购物应用程序启动之后,通过Zygote进程为该目标应用程序创建对应的进程,并在虚拟内存中为目标应用程序的进程分配进程地址空间。通过目标应用程序的进程读取目标应用程序运行所需要的目标映射文件例如目标应用程序的用户UGC(User Generated Content,用户生成内容)文件,获取目标映射文件的文件标识符,目标映射文件的标识符可以为指向目标映射文件的文件指针或文件句柄。例如,可以基于目标映射文件的文件名通过目标应用程序的进程调用CreateFile()函数创建或打开目标映射文件,该CreateFile()函数返回目标映射文件的文件句柄或文件指针。
需要说明的是,在示例实施例中,目标映射文件可以为目标应用程序的用户UGC文件、用户操作轨迹记录文件,但是本申请的示例实施例不限于此,例如目标应用程序的映射文件也可以为目标应用程序的其他适当的文件例如目标应用程序的配置文件、缓存文件或用户操作目标应用程序产生的关键数据,本申请对此不进行特殊限定。
在步骤S220中,基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
在示例实施例中,以安卓操作系统为例,基于目标映射文件的文件标识符调用内存映射函数例如mmap()函数建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系。例如,基于目标映射文件的文件标识符确定目标映射文件的文件起始地址以及文件长度信息,通过mmap()函数建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系。内存映射函数mmap()的内容格式如下:void*mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize),其中,参数start:指向映射的内存起始地址,通常设为NULL,表示自动选定地址,映射成功后返回该地址。参数length:映射区的长度。参数prot:映射区的保护方式,例如PROT_EXEC表示映射区可被执行;PROT_READ映射区可被读取;PROT_WRITE表示映射区可被写入;PROT_NONE表示映射区不能存取。参数flags:指定映射对象的类型,映射选项和映射页是否可以共享。参数fd:要映射到内存的目标映射文件的文件标识符。参数offset:文件映射的偏移量,通常设置为0,代表从文件最前方开始对应,offset必须是分页大小的整数倍。返回值:若映射成功则返回映射区的内存起始地址。
在示例实施例中,可以将目标映射文件的全部映射到目标应用程序的进程地址空间,也可以将目标映射文件的一部分映射到目标应用程序的进程地址空间,下面结合图3和图4对这两种情况进行详细的说明。
图3示出了根据本申请的一些实施例将目标映射文件的全部与目标应用程序的进程地址空间建立映射关系的示意图。参照图3所示,设目标映射文件的大小是10000个字节,通过调用mmap()函数从该目标映射文件的起始位置开始,将5000字节的该目标映射文件映射到虚拟内存中对应的进程地址空间,因此,在mmap()函数中,参数length的值为10000,参数offset的值为0。因为单位物理页面的大小是4096字节,虽然被映射的文件只有10000字节,但是对应到目标应用程序的进程地址空间的大小需要满足整页大小,因此通过执行mmap()函数将目标映射文件映射到对应的进程地址空间后,实际映射到虚拟内存的进程地址空间的区域为3页即页1至页3共12288个字节,页3中未映射到的部分即10000~12287的字节部分用零填充。此时:(1)读/写页1和页2即前10000个字节(0~9999),会返回操作的目标映射文件的内容。(2)读页3中未映射到的部分即字节10000~12287时,结果全为0;写字节10000~12287时时,进程不会报错,但是所写的内容不会写入原文件中。(3)读/写页3以外即12288个字节以外的磁盘部分,会收到内核发出的SIGBUS错误信号,表示访问了一个不合法的地址。
图4示出了根据本申请的一些实施例将目标映射文件的一部分与目标应用程序的进程地址空间建立映射关系的示意图。参照图4所示,设目标映射文件的大小是15000个字节,通过调用mmap()函数从该目标映射文件的第5000个字节的位置开始,将目标映射文件的5000至15000个字节部分映射到虚拟内存中对应的进程地址空间,因此,在mmap()函数中,参数length的值为10000,参数offset的值为5000,图4示例实施例中的映射原理以及过程与图3示例实施例中的相同,在此不再赘述。
需要说明的是,在本申请的示例实施例中,目标映射文件的文件地址空间可以为磁盘上的文件地址空间,还可以为其他适当形式的存储器例如固态硬盘或闪存上的文件地址空间,本申请对此不进行特殊限度。
在步骤S130中,基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
在示例实施例中,在建立了目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系之后,基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存。例如,可以基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系读取目标映射文件中的数据,通过预设数据结构例如哈希表结构对获取的目标映射文件的数据进行重构,基于重构后的数据在目标应用程序的进程地址空间生成目标映射文件的内存缓存。通过对获取的目标映射文件的数据进行重构,能够进一步提高数据处理效率,便于对目标映射文件的数据进行有效数据重排处理。
需要说明的是,本申请的示例实施例中的预设数据结构可以为图6中所示的数据单元组织结构,也可以为其他类型的数据结构例如数组、散列表、链表等数据结构,这同样在本申请的保护范围内。
在另一些示例实施例中,在目标应用程序需要读取目标映射文件时,基于该映射关系从目标应用程序对应的进程地址空间读取目标映射文件的数据,若检测到对应的进程地址空间没有数据,则基于该映射关系从目标映射文件的原始地址例如磁盘上的文件地址读取目标映射文件,通过预设数据结构对获取的目标映射文件的数据进行重构,基于重构后的数据在目标应用程序的进程地址空间生成目标映射文件的内存缓存。
在步骤S140中,若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
在示例实施例中,在目标应用程序启动之后,在目标映射文件的内存缓存上监测是否产生与目标映射文件对应的增量数据,若产生与目标映射文件对应的增量数据,则基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系将该增量数据同步到目标映射文件。例如,在目标映射文件中包含目标应用程序的背景颜色时,若用户更改目标应用程序的背景颜色,则监测到在目标映射文件的内存缓存生成与目标应用程序的背景颜色对应的新数据即增量数据,基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系将该增量数据同步到目标映射文件。
在示例实施例中,可以在目标映射文件的内存缓存上监测到产生与目标映射文件对应的增量数据时,基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系立即将该增量数据同步到目标映射文件,也可以周期性地将该增量数据同步到目标映射文件。
根据图2的示例实施例中的数据处理方法,一方面,建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,不需要在用户空间中对文件内容进行缓冲,能够减少物理内存的复制,从而能够节省一半的物理内存空间;另一方面,基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存,能够直接通过目标映射文件的内存缓存操作目标映射文件的数据,不需要在用户空间与内核空间之间进行切换,能够减少读写文件的次数,显著提高文件读写效率;再一方面,在内存缓存上监测到与目标映射文件对应的增量数据时,基于该映射关系将增量数据同步到目标映射文件,能够通过操作系统实时高效地将目标应用程序产生的增量数据同步到目标映射文件,即使目标应用程序被强行关闭,也能够对目标应用程序关闭之前生成的数据进行自动化保存,从而能够保证应用程序的用户数据的完整性。
进一步地,由于文件系统和操作系统都有一定的不稳定性,需要对目标应用程序生成的增量数据增加循环冗余校验,以保证数据的准确性和完整性。在示例实施例中,在基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系将生成的增量数据同步到目标映射文件之前,对生成的增量数据进行循环冗余校验。循环冗余检查是一种数据传输检错功能,对生成的增量数据进行多项式计算,将得到的计算结果附在数据单元的帧后面,在接收到该增量数据时进行类似的多项式计算,以保证数据传输的准确性和完整性。
此外,为了使目标应用程序重启时快速恢复到关闭之前的状态,在示例实施例中,在目标应用程序重启时,获取与目标应用程序生成的增量数据对应的关键字即键key,基于该关键在获取与该增量数据对应的最新的数据,通过获取到的最新的数据替换内存缓存中对应的数据,从而能够使目标应用程序快速恢复到关闭之前的状态。
图5示出了本申请的一些实施例提供的将增量数据添加到内存缓存的流程示意图。
参照图5所示,在步骤S510中,在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元。
在示例实施例中,在目标应用程序启动之后,在目标映射文件的内存缓存上监测是否产生与目标映射文件对应的增量数据,在监测到目标应用程序生成与目标映射文件对应的增量数据例如增加、删除、更改数据时,通过与内存缓存对应的数据单元结构组织对应的增量数据,生成新的数据单元。通过与内存缓存对应的数据结构对目标应用程序生成的增量数据进行重构,能够进一步提高数据处理效率,便于对目标映射文件的数据进行有效数据重排处理。
在示例实施例中,可以预先定义内存缓存的数据结构,也可以使用其他数据结构例如哈希数据结构组织内存缓存上的数据,下面对预定义的内存缓存的数据结构进行详细的说明。图6示出了根据本申请的一些实施例提供的数据单元组织协议的结构示意图。参照图6所示,该数据单元组织协议或数据单元组织结构包括3个部分:协议头、协议体、协议校验。其中,协议头包括值类型、名称长度、值长度,这部分的长度是固定的192位,值类型即VALUE TYPE:表示数据的类型,包括基本类型如bool、Int8、UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、Int、UInt、Float、Double、String、Data等;名称长度即NAMELENGTH:表示Name的长度;值长度即VALUE LENGTH:Value的长度。协议体包括名称以及与名称对应的值。协议校验包括数据的CRC(Cyclic Redundancy Check,循环冗余校验)码例如CRC-32码,用于后期的数据校验。通过在内存即内存缓存与外存即文件系统中定义一套数据结构,在应用内存映射文件编写数据存储程序的时候,能够直接将内存映射区域中的数据看作程序中定义的数据结构类型对应的对象,能够便于对数据进行处理,提高数据处理效率。
需要说明的是,本申请的示例实施例中的数据单元组织结构不限于图6中所示的数据单元组织结构,也可以为其他类型的数据单元组织结构例如数组、散列表、链表等数据结构,这同样在本申请的保护范围内。
在步骤S520中,将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
在示例实施例中,在将重构后生成的数据单元追加到内存缓存所处的进程地址空间的末尾时,判断是否超出与目标映射文件的文件地址空间对应的进程地址空间;若判定超出与目标映射文件的文件地址空间对应的进程地址空间,则对内存缓存的数据进行有效数据重排;或者在与目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页;若判定未超出与目标映射文件的文件地址空间对应的进程地址空间时,直接将重构后的数据单元追加到该进程地址空间的末尾。通过本示例实施例的在内存缓存上追加数据的方法,能够保证追加之后的文件缓存的大小为物理页数的整数倍,从而能够准确地控制文件增长。
图7示出了根据本申请的一些实施例提供的文件增长的数据结构图。参照
图7所示,在将重构后的数据单元追加到页3时,对于文件增长(1),目标映射文件映射到目标应用程序的进程地址空间的页3的前半部分即追加时不会超出目标映射文件的文件地址空间对应的进程地址空间,直接将重构后的数据单元追加到该进程地址空间的末尾;对应文件增长(2),增长后的目标映射文件映射到目标应用程序的进程地址空间的页3的末尾即追加时会超出目标映射文件的文件地址空间对应的进程地址空间,在与目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页4;对于文件增长(3),增长后的目标映射文件映射到目标应用程序的进程地址空间的页4的末尾即追加时会超出目标映射文件的文件地址空间对应的进程地址空间,在与目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页5。
图8示出了根据本申请的另一些实施例提供的数据处理方法的第二种流程示意图。
参照图8所示,在步骤S1中,启动目标应用程序,为目标应用程序分配进程地址空间。
在步骤S2中,读取与目标应用程序对应的数据文件即目标映射文件,例如,可以基于目标映射文件的文件名通过目标应用程序的进程调用CreateFile()函数创建或打开目标映射文件例如SnapShot.log文件。
在步骤S3中,返回目标映射文件的文件标识符fd,例如,通过CreateFile()函数创建或打开目标映射文件之后,该函数返回目标映射文件的文件句柄或文件指针。
在步骤S4中,基于目标映射文件的文件标识符建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,例如,通过内存映射函数mmap()创建目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系即内存映射文件。通过建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,不需要在用户空间中对文件内容进行缓存,能够减少物理内存的复制,从而能够节省一半的物理内存空间。
在步骤S5中,在创建了目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系即内存映射文件之后,返回映射区域的内存起始地址即mmap标识符。
在步骤S6中,基于目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系读取目标映射文件的数据,基于预定数据结构例如图6所示的数据结构或哈希数据结构创建并重构目标映射文件的内存缓存。
在步骤S7中,向目标应用程序的进程返回需要的目标映射文件的内存缓存中的数据。
在步骤S8中,基于目标映射文件的内存缓存重建该内存缓存中的数据快照,例如在目标映射文件的数据为应用程序的背景颜色数据时,基于目标映射文件的内存缓存数据重建对应的数据快照backgroundColor,目标映射文件在内存缓存中的数据快照可以供应用程序的数据使用者即各种业务逻辑例如页面布局使用。通过建立内存缓存的数据快照,能够保证内存缓存数据的一致性。
在步骤S9中,监测目标应用程序是否生成与目标映射文件对应的新的数据例如增加、删除或更改目标映射文件对应的数据。
在步骤S10中,在监测到目标应用程序生成与目标映射文件对应的新数据时,在数据单元生成模块,通过与内存缓存对应的数据结构重构生成的新数据,生成新的数据单元。例如在监测到应用程序生成与应用程序的背景颜色对应的新数据例如currentColor字符串,根据图6中所示的数据组织结构重构该新数据,生成新的数据单元例如键值对{“ValueTyple”:STRING,“key”:“backgroundColor”,“value”:“#FFFFFF”}。
在步骤S11中,将数据单元生成模块生成的新的数据单元返回至目标应用程序的进程地址空间。
在步骤S12中,将生成的新的数据单元追加到内存缓存所处的进程地址空间的末尾,例如,追加到目标映射文件SnapShot.log的内存缓存所处的进程地址空间的末尾。
在步骤S13中,在将重构后生成的数据单元追加到内存缓存所处的进程地址空间的末尾时,判断是否超出与目标映射文件例如SnapShot.log的文件地址空间对应的进程地址空间。
在步骤S14中,若判定超出与目标映射文件的文件地址空间对应的进程地址空间,则对内存缓存的数据进行有效数据重排例如使用内存缓存的字典进行数据排查,去除重复数据;或者在与目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页,保证之后文件的大小是物理页面的倍数;若判定未超出与目标映射文件的文件地址空间对应的进程地址空间时,直接将重构后的数据单元追加到该进程地址空间的末尾。
在步骤S15中,监测是否接收到清除内存映射文件的指令例如用户关闭目标应用程序的指令。
在步骤S16中,若监测到接收到清除内存映射文件的指令,解除目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系。
在步骤S17中,清除目标应用程序的进程地址空间上的目标映射文件的内存缓存。
根据图8中的数据处理方法,通过与目标应用程序对应的目标映射文件的内存映射文件,能够提供一段可供目标应用程序随时写入的内存块,目标应用程序往该内存块中写数据,由操作系统负责将该内存块中的数据回写到目标映射文件,从而能够避免目标应用程序崩溃时导致数据丢失。
进一步,根据本申请的示例实施例中的数据处理方法,能够利用内存映射文件中磁盘文件地址和进程地址空间的一一对映关系,由操作系统根据该对应关系自动回写脏页面到对应的文件中,达到高效实时的数据同步和保存的效果。
图9示出了根据本申请的一些实施例提供的数据处理装置的第一种模块示意图。参照图9所示,该数据处理装置900可以包括:文件标识获取单元910、映射关系建立单元920、内存缓存生成单元930以及数据同步单元940。其中,文件标识获取单元910用于获取与目标应用程序对应的目标映射文件的文件标识符;映射关系建立单元920用于基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;内存缓存生成单元930用于基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;数据同步单元940用于若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
在本申请的一些示例性实施例中,基于前述方案,参照图10所示,所述数据处理装置还包括:数据单元生成单元950,用于在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元;数据追加单元960,用于将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
在本申请的一些示例性实施例中,基于前述方案,所述数据处理装置还包括:溢出判断单元,用于在将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾时,判断是否超出与所述目标映射文件的文件地址空间对应的进程地址空间;数据重排单元,用于若判定超出与所述目标映射文件的文件地址空间对应的进程地址空间,则对所述内存缓存的数据进行有效数据重排;或者内存页增加单元,用于在与所述目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页。
在本申请的一些示例性实施例中,基于前述方案,映射关系建立单元920包括:文件信息确定单元,用于基于所述文件标识符确定所述目标映射文件的文件起始地址以及文件长度信息;映射建立单元,用于基于所述文件起始地址以及文件长度信息,通过内存映射函数建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
在本申请的一些示例性实施例中,基于前述方案,内存缓存生成单元930包括:数据获取单元,用于在所述目标应用程序访问所述目标映射文件时,基于所述映射关系获取所述目标映射文件的数据;缓存生成单元,用于基于获取的所述目标映射文件的数据在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
在本申请的一些示例性实施例中,基于前述方案,所述数据处理装置900还包括:验证单元,用于在基于所述映射关系将所述增量数据同步到所述目标映射文件时,基于循环冗余检查确定所述增量数据是否为无效数据。
在本申请的一些示例性实施例中,基于前述方案,所述数据处理装置900还包括:键获取单元,用于在所述目标应用程序重启时,获取与所述增量数据对应的关键字;替换单元,用于基于所述关键字通过所述增量数据替换所述内存缓存中对应的数据,以使所述目标应用程序恢复到关闭之前的状态。
在本申请的一些示例性实施例中,基于前述方案,所述数据处理装置900还包括:映射关系解除单元,用于在所述目标应用程序关闭时,解除所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;内存缓存清除单元,用于清除所述目标应用程序的所述进程地址空间上的所述目标映射文件的所述内存缓存。
本申请实施例提供的数据处理装置能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种数据处理设备,图11为本申请一实施例提供的数据处理设备的结构示意图,如图11所示,该设备包括:存储器1101、处理器1102、总线1103和通信接口1104。存储器1101、处理器1102和通信接口1104通过总线1103进行通信,通信接口1104可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图11中,所述存储器1101上存储有可在所述处理器1102上运行的计算机可执行指令,所述计算机可执行指令被所述处理器1102执行时实现以下流程:获取与目标应用程序对应的目标映射文件的文件标识符;基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元;将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾时,判断是否超出与所述目标映射文件的文件地址空间对应的进程地址空间;若判定超出与所述目标映射文件的文件地址空间对应的进程地址空间,则对所述内存缓存的数据进行有效数据重排;或者在与所述目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页。
可选地,所述计算机可执行指令被所述处理器执行时,基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系,包括:基于所述文件标识符确定所述目标映射文件的文件起始地址以及文件长度信息;基于所述文件起始地址以及文件长度信息,通过内存映射函数建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
可选地,所述计算机可执行指令被所述处理器执行时,基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存,包括:在所述目标应用程序访问所述目标映射文件时,基于所述映射关系获取所述目标映射文件的数据;通过预设数据结构对获取的所述目标映射文件的数据进程重构;基于重构后的数据在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在基于所述映射关系将所述增量数据同步到所述目标映射文件时,基于循环冗余检查确定所述增量数据是否为无效数据。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在所述目标应用程序重启时,获取与所述增量数据对应的关键字;基于所述关键字通过所述增量数据替换所述内存缓存中对应的数据,以使所述目标应用程序恢复到关闭之前的状态。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在所述目标应用程序关闭时,解除所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;清除所述目标应用程序的所述进程地址空间上的所述目标映射文件的所述内存缓存。
根据本申请的示例实施例的数据处理设备,一方面,建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,不需要在用户空间中对文件内容进行缓冲,能够减少物理内存的复制,从而能够节省一半的物理内存空间;另一方面,基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存,能够直接通过目标映射文件的内存缓存操作目标映射文件的数据,不需要在用户空间与内核空间之间进行切换,能够减少读写文件的次数,显著提高文件读写效率;再一方面,在内存缓存上监测到与目标映射文件对应的增量数据时,基于该映射关系将增量数据同步到目标映射文件,能够通过操作系统实时高效地将目标应用程序产生的增量数据同步到目标映射文件,即使目标应用程序被强行关闭,也能够对目标应用程序关闭之前生成的数据进行自动化保存,从而能够保证应用程序的用户数据的完整性。
本申请实施例提供的数据处理设备能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:获取与目标应用程序对应的目标映射文件的文件标识符;基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元;将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾时,判断是否超出与所述目标映射文件的文件地址空间对应的进程地址空间;若判定超出与所述目标映射文件的文件地址空间对应的进程地址空间,则对所述内存缓存的数据进行有效数据重排;或者在与所述目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页。
可选地,所述计算机可执行指令被所述处理器执行时,基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系,包括:基于所述文件标识符确定所述目标映射文件的文件起始地址以及文件长度信息;基于所述文件起始地址以及文件长度信息,通过内存映射函数建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
可选地,所述计算机可执行指令被所述处理器执行时,基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存,包括:在所述目标应用程序访问所述目标映射文件时,基于所述映射关系获取所述目标映射文件的数据;通过预设数据结构对获取的所述目标映射文件的数据进程重构;基于重构后的数据在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在基于所述映射关系将所述增量数据同步到所述目标映射文件时,基于循环冗余检查确定所述增量数据是否为无效数据。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在所述目标应用程序重启时,获取与所述增量数据对应的关键字;基于所述关键字通过所述增量数据替换所述内存缓存中对应的数据,以使所述目标应用程序恢复到关闭之前的状态。
可选地,所述计算机可执行指令被所述处理器执行时,所述数据处理方法还包括:在所述目标应用程序关闭时,解除所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;清除所述目标应用程序的所述进程地址空间上的所述目标映射文件的所述内存缓存。
根据本申请示例实施例的计算机可读存储介质,一方面,建立目标映射文件的文件地址空间与目标应用程序的进程地址空间之间的映射关系,不需要在用户空间中对文件内容进行缓冲,能够减少物理内存的复制,从而能够节省一半的物理内存空间;另一方面,基于该映射关系在目标应用程序的进程地址空间生成目标映射文件的内存缓存,能够直接通过目标映射文件的内存缓存操作目标映射文件的数据,不需要在用户空间与内核空间之间进行切换,能够减少读写文件的次数,显著提高文件读写效率;再一方面,在内存缓存上监测到与目标映射文件对应的增量数据时,基于该映射关系将增量数据同步到目标映射文件,能够通过操作系统实时高效地将目标应用程序产生的增量数据同步到目标映射文件,即使目标应用程序被强行关闭,也能够对目标应用程序关闭之前生成的数据进行自动化保存,从而能够保证应用程序的用户数据的完整性。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本申请实施例提供的计算机可读存储介质能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
获取与目标应用程序对应的目标映射文件的文件标识符;所述目标映射文件包括所述目标应用程序的用户生成内容UGC文件、所述目标应用程序的用户操作轨迹记录文件、所述目标应用程序的配置文件、所述目标应用程序的缓存文件和用户操作所述目标应用程序产生的关键数据中的至少一种;
基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;
基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;
若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元;
将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
3.根据权利要求2所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾时,判断是否超出与所述目标映射文件的文件地址空间对应的进程地址空间;
若判定超出与所述目标映射文件的文件地址空间对应的进程地址空间,则对所述内存缓存的数据进行有效数据重排;或者
在与所述目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页。
4.根据权利要求1所述的数据处理方法,其特征在于,基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系,包括:
基于所述文件标识符确定所述目标映射文件的文件起始地址以及文件长度信息;
基于所述文件起始地址以及文件长度信息,通过内存映射函数建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
5.根据权利要求1所述的数据处理方法,其特征在于,基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存,包括:
在所述目标应用程序访问所述目标映射文件时,基于所述映射关系获取所述目标映射文件的数据;
通过预设数据结构对获取的所述目标映射文件的数据进程重构;
基于重构后的数据在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
6.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在基于所述映射关系将所述增量数据同步到所述目标映射文件时,基于循环冗余检查确定所述增量数据是否为无效数据。
7.根据权利要求1至6中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在所述目标应用程序重启时,获取与所述增量数据对应的关键字;
基于所述关键字通过所述增量数据替换所述内存缓存中对应的数据,以使所述目标应用程序恢复到关闭之前的状态。
8.根据权利要求7所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在所述目标应用程序关闭时,解除所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;
清除所述目标应用程序的所述进程地址空间上的所述目标映射文件的所述内存缓存。
9.一种数据处理装置,其特征在于,包括:
文件标识获取单元,用于获取与目标应用程序对应的目标映射文件的文件标识符;所述目标映射文件包括所述目标应用程序的用户生成内容UGC文件、所述目标应用程序的用户操作轨迹记录文件、所述目标应用程序的配置文件、所述目标应用程序的缓存文件和用户操作所述目标应用程序产生的关键数据中的至少一种;
映射关系建立单元,用于基于所述文件标识符建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系;
内存缓存生成单元,用于基于所述映射关系在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存;
数据同步单元,用于若在所述内存缓存上监测到所述目标应用程序生成的与所述目标映射文件对应的增量数据,则基于所述映射关系将所述增量数据同步到所述目标映射文件。
10.根据权利要求9所述的数据处理装置,其特征在于,所述数据处理装置还包括:
数据单元生成单元,用于在监测到所述目标应用程序生成与所述目标映射文件对应的增量数据时,通过与所述内存缓存对应的数据结构组织所述增量数据,生成新的数据单元;
数据追加单元,用于将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾。
11.根据权利要求10所述的数据处理装置,其特征在于,所述数据处理装置还包括:
溢出判断单元,用于在将所述数据单元追加到所述内存缓存所处的所述进程地址空间的末尾时,判断是否超出与所述目标映射文件的文件地址空间对应的进程地址空间;
数据重排单元,用于若判定超出与所述目标映射文件的文件地址空间对应的进程地址空间,则对所述内存缓存的数据进行有效数据重排;或者
内存页增加单元,用于在与所述目标映射文件的文件地址空间对应的进程地址空间的末尾增加新的内存页。
12.根据权利要求9所述的数据处理装置,其特征在于,映射关系建立单元包括:
文件信息确定单元,用于基于所述文件标识符确定所述目标映射文件的文件起始地址以及文件长度信息;
映射建立单元,用于基于所述文件起始地址以及文件长度信息,通过内存映射函数建立所述目标映射文件的文件地址空间与所述目标应用程序的进程地址空间之间的映射关系。
13.根据权利要求9所述的数据处理装置,其特征在于,内存缓存生成单元包括:
数据获取单元,用于在所述目标应用程序访问所述目标映射文件时,基于所述映射关系获取所述目标映射文件的数据;
缓存生成单元,用于基于获取的所述目标映射文件的数据在所述目标应用程序的所述进程地址空间生成所述目标映射文件的内存缓存。
14.根据权利要求9所述的数据处理装置,其特征在于,所述数据处理装置还包括:
验证单元,用于在基于所述映射关系将所述增量数据同步到所述目标映射文件时,基于循环冗余检查确定所述增量数据是否为无效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556992.0A CN109710185B (zh) | 2018-12-19 | 2018-12-19 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556992.0A CN109710185B (zh) | 2018-12-19 | 2018-12-19 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710185A CN109710185A (zh) | 2019-05-03 |
CN109710185B true CN109710185B (zh) | 2021-12-21 |
Family
ID=66255933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811556992.0A Active CN109710185B (zh) | 2018-12-19 | 2018-12-19 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710185B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111025127B (zh) * | 2019-12-05 | 2022-09-23 | 上海御渡半导体科技有限公司 | 一种Pattern静态编译链接的方法 |
CN111124554A (zh) * | 2019-12-23 | 2020-05-08 | 深圳市元征科技股份有限公司 | 一种数据处理方法及相关产品 |
CN113849339B (zh) * | 2020-06-28 | 2023-07-11 | 华为技术有限公司 | 恢复应用程序的运行状态的方法、装置及存储介质 |
CN111881211B (zh) * | 2020-07-24 | 2022-06-10 | 北京浪潮数据技术有限公司 | 一种存储数据同步方法、系统、设备及计算机存储介质 |
CN112269655B (zh) * | 2020-10-15 | 2023-01-13 | 北京百度网讯科技有限公司 | 内存映射文件清理方法、装置、电子设备及存储介质 |
CN112925672B (zh) * | 2021-02-08 | 2022-11-22 | 重庆紫光华山智安科技有限公司 | 数据恢复方法、装置、设备及存储介质 |
CN114296641B (zh) * | 2021-12-14 | 2023-09-19 | 北京欧珀通信有限公司 | 增量文件传输方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833557A (zh) * | 2009-05-25 | 2010-09-15 | 深圳市朗科科技股份有限公司 | 基于应用程序的文件缓存方法和装置 |
CN103309621A (zh) * | 2012-12-12 | 2013-09-18 | 珠海金山网络游戏科技有限公司 | 读取分段压缩包中数据的方法 |
CN105580010A (zh) * | 2014-09-01 | 2016-05-11 | 华为技术有限公司 | 访问文件的方法、装置和存储系统 |
CN107357739A (zh) * | 2017-07-21 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种数据内排序的方法与装置 |
CN108829720A (zh) * | 2018-05-07 | 2018-11-16 | 麒麟合盛网络技术股份有限公司 | 数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140118B2 (en) * | 2014-03-19 | 2018-11-27 | Huawei Device (Dongguan) Co., Ltd. | Application data synchronization method and apparatus |
-
2018
- 2018-12-19 CN CN201811556992.0A patent/CN109710185B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833557A (zh) * | 2009-05-25 | 2010-09-15 | 深圳市朗科科技股份有限公司 | 基于应用程序的文件缓存方法和装置 |
CN103309621A (zh) * | 2012-12-12 | 2013-09-18 | 珠海金山网络游戏科技有限公司 | 读取分段压缩包中数据的方法 |
CN105580010A (zh) * | 2014-09-01 | 2016-05-11 | 华为技术有限公司 | 访问文件的方法、装置和存储系统 |
CN107357739A (zh) * | 2017-07-21 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种数据内排序的方法与装置 |
CN108829720A (zh) * | 2018-05-07 | 2018-11-16 | 麒麟合盛网络技术股份有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109710185A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710185B (zh) | 数据处理方法及装置 | |
US8078802B2 (en) | Method and system for file-system based caching | |
US11403262B2 (en) | Local networked storage linked to remote networked storage system | |
WO2017059798A1 (zh) | 序列化与反序列化的方法、装置、系统以及电子设备 | |
US11836112B2 (en) | Path resolver for client access to distributed file systems | |
US11074225B2 (en) | Synchronization of index copies in an LSM tree file system | |
CN105049486A (zh) | 静态文件的版本管理、文件拉取控制方法、装置及系统 | |
US9292520B1 (en) | Advanced virtual synthetic full backup synthesized from previous full-backups | |
JP2016517066A (ja) | 記憶されたデータユニットに対する操作の管理 | |
CN110362547B (zh) | 日志文件的编码、解析、存储方法和装置 | |
CN110362338B (zh) | 一种在移动平台下的游戏资源打包和资源快速访问方法 | |
CN107783770B (zh) | 页面配置更新方法、装置、服务器和介质 | |
US6542884B1 (en) | Methods and systems for updating an inheritance tree with minimal increase in memory usage | |
KR102275240B1 (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN113157487A (zh) | 数据恢复方法及其设备 | |
US20040006565A1 (en) | Method, apparatus and computer program product for mapping file handles | |
JP2003150424A (ja) | ファイルシステム、制御方法及びプログラム | |
US9471244B2 (en) | Data sharing using difference-on-write | |
CN103139298A (zh) | 一种传输网络数据的方法和装置 | |
CN115586872A (zh) | 一种容器镜像管理方法、装置、设备及存储介质 | |
US9639547B2 (en) | Method and system for file-system based caching | |
CN113282325B (zh) | 升级文件系统的方法及装置、存储介质、计算设备 | |
CN112988905B (zh) | 用于集群部署的节点内存同步方法及装置 | |
CN112052234A (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN113296699A (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 |