CN106354773B - 应用程序存储数据的方法及装置 - Google Patents
应用程序存储数据的方法及装置 Download PDFInfo
- Publication number
- CN106354773B CN106354773B CN201610701258.3A CN201610701258A CN106354773B CN 106354773 B CN106354773 B CN 106354773B CN 201610701258 A CN201610701258 A CN 201610701258A CN 106354773 B CN106354773 B CN 106354773B
- Authority
- CN
- China
- Prior art keywords
- data
- data file
- storage path
- application program
- stored
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000013500 data storage Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 55
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 48
- 244000035744 Hura crepitans Species 0.000 description 26
- 238000012544 monitoring process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了应用程序存储数据的方法及装置,该方法包括:当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件;若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。通过本发明,保证了在不丢失用户历史数据的前提下,同时不影响用户对历史数据的使用;实现了不破坏用户历史数据的同时对用户隐私数据的清理,满足了用户个性化的隐私要求,保证了用户的隐私安全,进一步地,提高了用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种应用程序存储数据的方法,及一种应用程序存储数据的装置。
背景技术
随着时代的发展,各种终端设备已成为人们生活中必不可少的工具,各种功能强大的终端操作系统及终端应用程序不断涌现,为用户带来了更加便捷的体验,同时,用户的使用需求也越来越多样化,用户对隐私保护的安全意识也逐渐增强。例如,用户在使用终端应用程序时,希望灵活地根据意愿自主选择保留或删除应用程序的相关数据,从而保护用户自身的隐私信息。
现有技术中,一方面,例如,用户在使用聊天类应用程序时,用户希望不保存本次聊天记录,往往在用户退出本次应用程序的同时删除用户所有的聊天记录,当用户再次进入该聊天类应用程序时,用户将无法获取到用户在上次登录之前的历史聊天记录,从而降低用户的使用体验;另一方面,例如,用户通过浏览器进行网页浏览时,当用户希望本次浏览的网页地址不被浏览器记录时,通过类似无痕模式的方式进行网页浏览,但是,用户在该模式下无法查看历史浏览记录,从而无法满足用户的个性化使用需求。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种应用程序存储数据的方法,包括:
当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件;
若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;
检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
优选地,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件,包括:
确定与所请求数据对应的第一存储路径,并判断第一存储路径下是否存储第一数据文件;
若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
可选地,该方法还包括:
若判断第一存储路径下未存储第一数据文件时,在第二存储路径中创建第二数据文件。
可选地,该方法还包括:
响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
可选地,该方法还包括:
判断应用程序存储数据的方式是否为预定的存储方式;
若不是,响应于应用程序的数据处理请求,对第一数据文件中的数据进行相应处理。
可选地,检测到应用程序的活动进程结束时,还包括:
删除第二存储路径。
可选地,该方法还包括:
应用程序的活动进程启动时,创建第二存储路径。
本发明的另一实施例提出了一种应用程序存储数据的装置,包括:
挂钩及判断模块,用于当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件;
备份模块,用于若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;
删除模块,用于检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
优选地,挂钩及判断模块,包括:
确定及判断单元,用于确定与所请求数据对应的第一存储路径,并判断第一存储路径下是否存储第一数据文件;
挂钩单元,用于若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
可选地,该装置还包括:
第一创建模块,用于若判断第一存储路径下未存储第一数据文件时,在第二存储路径中创建第二数据文件。
可选地,该装置还包括:
第一处理模块,用于响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
可选地,该装置还包括:
判断模块,用于判断应用程序存储数据的方式是否为预定的存储方式;
第二处理模块,用于若不是,响应于应用程序的数据处理请求,对第一数据文件中的数据进行相应处理。
可选地,删除模块,还包括:
删除单元,用于删除第二存储路径。
可选地,该装置还包括:
第二创建模块,用于应用程序的活动进程启动时,创建第二存储路径。
本发明的实施例中,提出了一种应用程序存储数据的方案,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件,若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;一方面,实现了对应用程序活动进程的监控,为后续及时处理请求数据的操作提供了必要的前提保障,另一方面,通过将第一数据文件进行备份,保证了在不丢失用户历史数据的前提下,同时不影响用户对历史数据的使用;检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件,实现了不破坏用户历史数据的同时对用户隐私数据的清理,满足了用户个性化的隐私要求,保证了用户的隐私安全,进一步地,提高了用户的使用体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明中一个实施例的应用程序存储数据的方法的流程图;
图2为本发明中另一实施例的应用程序存储数据的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图1为本发明中一个实施例的应用程序存储数据的方法的流程图。
需要说明的是,本发明的实施例中的应用程序,均为双开分身的应用程序,因此,应用程序可以运行在沙箱环境中,在沙箱运行环境中可以获取到应用程序在终端设备操作系统中的相应权限及相应的系统资源,以执行相应的数据处理的操作;当然本发明的实施例也可基于非双开分身的应用程序中,但是,首先得获取应用程序在终端设备操作系统中的相应权限及相应的系统资源,本领域人员可以了解到,获取应用程序在终端设备操作系统中的相应权限及相应的系统资源的方式有多种途径,在此不做限定和赘述。
本发明的实施例中,各步骤所执行的内容概述如下:步骤S110:当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件;步骤S120:若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;步骤S130:检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
本发明的实施例中,提出了一种应用程序存储数据的方法,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件,若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;一方面,实现了对应用程序活动进程的监控,为后续及时处理请求数据的操作提供了必要的前提保障,另一方面,通过将第一数据文件进行备份,保证了在不丢失用户历史数据的前提下,同时不影响用户对历史数据的使用;检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件,实现了不破坏用户历史数据的同时对用户隐私数据的清理,满足了用户个性化的隐私要求,保证了用户的隐私安全,进一步地,提高了用户的使用体验。以下针对各个步骤的具体实现做进一步的说明:
步骤S110:当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
需要说明的是,术语“钩子”涵盖了用于通过拦截在软件组件之间传递的函数调用、消息、或事件来改变或增加操作系统、应用程序、或其他软件组件的行为的技术。而处理这种被拦截的函数调用、事件或消息的代码就被称为钩子hook函数。钩子通常用于各种目标,包括对功能进行调试和对功能进行扩展。其示例可以包括在键盘或鼠标事件传递到应用程序之前拦截它们,或者拦截系统调用(system call)、或者系统函数行为、函数执行结果等,以监视或修改应用程序或其他组件的功能等等。本实施例即可采用钩子hook函数接管应用程序运行时请求数据处理的操作。
作为一个沙箱实例,使应用程序运行于沙箱运行环境中,监控应用程序的活动进程是沙箱运行环境的核心实现者,负责实现两方面一下的功能,一方面:通过监控应用程序对资源的访问,使应用程序进程能够实现对应资源的正常调用。另一方面通过监控应用程序对系统资源的访问,例如是否请求发送短信息,来依据安全策略确定是否允许其操作,当不允许这种实施这种行为时,可以向相关调用指令返回自定义数据,例如返回空值,从而确保能杜绝一些非法操作。可将通过钩子函数对应用程序的活动进程进行监控的方式注册为服务进程,以钩子函数关联应用程序活动进程的调用指令以实现对应用程序的活动监控。
具体地,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及存储与所请求数据对应的第一数据文件的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,分身应用App1’运行在沙箱运行环境中,在用户的使用过程中,在沙箱运行环境中,通过钩子函数对App1’的活动进程进行监控,当监测到App1’请求读取数据Data1时,通过相关钩子函数挂钩与所请求数据Data1所在的第一数据文件a.db及存储文件a.db的第一存储路径path1,如“path/data/”,并判断第二存储路径path2,如“path/date/temp”,中是否存在与第一数据文件a.db相同的第二数据文件,如a’.db。
优选地,步骤S110进一步包括步骤S111(图中未示出)和步骤S112(图中未示出);步骤S111:确定与所请求数据对应的第一存储路径,并判断第一存储路径下是否存储第一数据文件;步骤S112:若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,当监测到App1’请求读取数据Data1的时,确定存储所请求读取数据Data1的第一存储路径path1,如“path/data/”,并判断第一存储路径path1下是否存储所请求数据Data1所在的第一数据文件a.db;若path1下存储有文件a.db,则通过相关钩子函数挂钩path1和文件a.db,并判断第二存储路径path2,如“path/date/temp”,中是否存在与文件a.db相同的第二数据文件,如a’.db。
优选地,步骤S110还包括步骤S113(图中未示出);步骤S113:若判断第一存储路径下未存储第一数据文件时,在第二存储路径中创建第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,当监测到App1’请求读取数据Data1的时,确定存储所请求读取数据Data1的第一存储路径path1,如“path/data/”,并判断第一存储路径path1下是否存储所请求数据Data1所在的第一数据文件a.db;若path1未存储有文件a.db,随后,在第二存储路径path2,如“path/date/temp”,中创建第二数据文件,如a’.db。
步骤S120:若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件。
具体地,若第二存储路径中不存在与第一数据文件相同的第二数据文件,将第一数据文件备份存储至第二存储路径,并将第一数据文件的备份文件作为第二数据文件。
例如,若第二存储路径path2,如“path/date/temp”,中不存在与第一数据文件a.db相同的第二数据文件,如a’.db,则将文件a.db通过复制的方式备份存储至第二存储路径path2,备份文件为a’.db,并将文件a’.db作为第二数据文件。
步骤S130:检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
具体地,通过钩子函数检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程结束时,删除第二存储路径“path/date/temp”下的所有文件。
优选地,步骤S130进一步包括步骤S131(图中未示出);步骤S131:删除第二存储路径。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程结束时,删除第二存储路径“path/date/temp”下的所有文件,并删除第二存储路径“path/date/temp”。
在一优选实施例中,该方法还包括步骤S140(图中未示出);步骤S140:应用程序的活动进程启动时,创建第二存储路径。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,基于挂钩到的第一存储路径path1,如“path/data/”,创建第二存储路径path2,如“path/date/temp”。
又例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,首先判断是否存在第二存储路径path2,如“path/date/temp”,若不存在,基于挂钩到的第一存储路径path1,如“path/data/”,创建第二存储路径“path/date/temp”。
在一优选实施例中,该方法还包括步骤S150(图中未示出);步骤S150:响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
例如,响应于应用程序App1’的读取数据Data1的请求,在第二数据文件a’.db中查找数据Data1对应的数据值。
在一优选实施例中,该方法还包括步骤S160(图中未示出)和步骤S170(图中未示出);步骤S160:判断应用程序存储数据的方式是否为预定的存储方式;步骤S170:若不是,响应于应用程序的数据处理请求,对第一数据文件中的数据进行相应处理。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,判断App1’存储数据的方式是否为预定的存储方式,如无痕存储方式,若不是,响应于App1’的读取数据Data1的请求,在第一数据文件a’.db中查找数据Data1对应的数据值。
又例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,判断App1’存储数据的方式是否为预定的存储方式,如无痕存储方式,若不是,在终端设备的人机交互界面中,向用户提供可选择无痕存储方式的选项,随后根据用户的选择,确定App1’存储数据的方式;若用户忽略选择无痕存储方式,可确定App1’存储数据的方式不是预定的无痕存储方式,随后响应于App1’的读取数据Data1的请求,在第一数据文件a’.db中查找数据Data1对应的数据值。
图2为本发明中另一实施例的应用程序存储数据的装置的结构示意图。
需要说明的是,本发明的实施例中的应用程序,均为双开分身的应用程序,因此,应用程序可以运行在沙箱环境中,在沙箱运行环境中可以获取到应用程序在终端设备操作系统中的相应权限及相应的系统资源,以执行相应的数据处理的操作;当然本发明的实施例也可基于非双开分身的应用程序中,但是,首先得获取应用程序在终端设备操作系统中的相应权限及相应的系统资源,本领域人员可以了解到,获取应用程序在终端设备操作系统中的相应权限及相应的系统资源的方式有多种途径,在此不做限定和赘述。
本发明的实施例中,各模块所执行的内容概述如下:挂钩及判断模块210当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件;备份模块220若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;删除模块230检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
本发明的实施例中,提出了一种应用程序存储数据的装置,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件,若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件;一方面,实现了对应用程序活动进程的监控,为后续及时处理请求数据的操作提供了必要的前提保障,另一方面,通过将第一数据文件进行备份,保证了在不丢失用户历史数据的前提下,同时不影响用户对历史数据的使用;检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件,实现了不破坏用户历史数据的同时对用户隐私数据的清理,满足了用户个性化的隐私要求,保证了用户的隐私安全,进一步地,提高了用户的使用体验。以下针对各个模块的具体实现做进一步的说明:
挂钩及判断模块210当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
需要说明的是,术语“钩子”涵盖了用于通过拦截在软件组件之间传递的函数调用、消息、或事件来改变或增加操作系统、应用程序、或其他软件组件的行为的技术。而处理这种被拦截的函数调用、事件或消息的代码就被称为钩子hook函数。钩子通常用于各种目标,包括对功能进行调试和对功能进行扩展。其示例可以包括在键盘或鼠标事件传递到应用程序之前拦截它们,或者拦截系统调用(system call)、或者系统函数行为、函数执行结果等,以监视或修改应用程序或其他组件的功能等等。本实施例即可采用钩子hook函数接管应用程序运行时请求数据处理的操作。
作为一个沙箱实例,使应用程序运行于沙箱运行环境中,监控应用程序的活动进程是沙箱运行环境的核心实现者,负责实现两方面一下的功能,一方面:通过监控应用程序对资源的访问,使应用程序进程能够实现对应资源的正常调用。另一方面通过监控应用程序对系统资源的访问,例如是否请求发送短信息,来依据安全策略确定是否允许其操作,当不允许这种实施这种行为时,可以向相关调用指令返回自定义数据,例如返回空值,从而确保能杜绝一些非法操作。可将通过钩子函数对应用程序的活动进程进行监控的方式注册为服务进程,以钩子函数关联应用程序活动进程的调用指令以实现对应用程序的活动监控。
具体地,当监测到应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及存储与所请求数据对应的第一数据文件的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,分身应用App1’运行在沙箱运行环境中,在用户的使用过程中,在沙箱运行环境中,通过钩子函数对App1’的活动进程进行监控,当监测到App1’请求读取数据Data1时,通过相关钩子函数挂钩与所请求数据Data1所在的第一数据文件a.db及存储文件a.db的第一存储路径path1,如“path/data/”,并判断第二存储路径path2,如“path/date/temp”,中是否存在与第一数据文件a.db相同的第二数据文件,如a’.db。
优选地,挂钩及判断模块210进一步包括确定及判断单元(图中未示出)和挂钩单元(图中未示出);确定及判断单元确定与所请求数据对应的第一存储路径,并判断第一存储路径下是否存储第一数据文件;挂钩单元若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与第一数据文件相同的第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,当监测到App1’请求读取数据Data1的时,确定存储所请求读取数据Data1的第一存储路径path1,如“path/data/”,并判断第一存储路径path1下是否存储所请求数据Data1所在的第一数据文件a.db;若path1下存储有文件a.db,则通过相关钩子函数挂钩path1和文件a.db,并判断第二存储路径path2,如“path/date/temp”,中是否存在与文件a.db相同的第二数据文件,如a’.db。
优选地,该装置还包括第一创建模块(图中未示出);第一创建模块若判断第一存储路径下未存储第一数据文件时,在第二存储路径中创建第二数据文件。
例如,用户在终端设备中使用应用程序App1的分身应用程序App1’,当监测到App1’请求读取数据Data1的时,确定存储所请求读取数据Data1的第一存储路径path1,如“path/data/”,并判断第一存储路径path1下是否存储所请求数据Data1所在的第一数据文件a.db;若path1未存储有文件a.db,随后,在第二存储路径path2,如“path/date/temp”,中创建第二数据文件,如a’.db。
备份模块220若不存在,将第一数据文件备份存储至第二存储路径,并作为第二数据文件。
具体地,若第二存储路径中不存在与第一数据文件相同的第二数据文件,将第一数据文件备份存储至第二存储路径,并将第一数据文件的备份文件作为第二数据文件。
例如,若第二存储路径path2,如“path/date/temp”,中不存在与第一数据文件a.db相同的第二数据文件,如a’.db,则将文件a.db通过复制的方式备份存储至第二存储路径path2,备份文件为a’.db,并将文件a’.db作为第二数据文件。
删除模块230检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
具体地,通过钩子函数检测到应用程序的活动进程结束时,删除第二存储路径下的所有文件。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程结束时,删除第二存储路径“path/date/temp”下的所有文件。
优选地,删除模块230进一步包括删除单元(图中未示出);删除单元删除第二存储路径。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程结束时,删除第二存储路径“path/date/temp”下的所有文件,并删除第二存储路径“path/date/temp”。
在一优选实施例中,该装置还包括第二创建模块(图中未示出);第二创建模块应用程序的活动进程启动时,创建第二存储路径。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,基于挂钩到的第一存储路径path1,如“path/data/”,创建第二存储路径path2,如“path/date/temp”。
又例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,首先判断是否存在第二存储路径path2,如“path/date/temp”,若不存在,基于挂钩到的第一存储路径path1,如“path/data/”,创建第二存储路径“path/date/temp”。
在一优选实施例中,该装置还包括第一处理模块(图中未示出);第一处理模块响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
例如,响应于应用程序App1’的读取数据Data1的请求,在第二数据文件a’.db中查找数据Data1对应的数据值。
在一优选实施例中,该装置还包括判断模块(图中未示出)和第二处理模块(图中未示出);判断模块判断应用程序存储数据的方式是否为预定的存储方式;第二处理模块若不是,响应于应用程序的数据处理请求,对第一数据文件中的数据进行相应处理。
例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,判断App1’存储数据的方式是否为预定的存储方式,如无痕存储方式,若不是,响应于App1’的读取数据Data1的请求,在第一数据文件a’.db中查找数据Data1对应的数据值。
又例如,在沙箱运行环境中,通过相关钩子函数检测到应用程序App1’的活动进程启动时,判断App1’存储数据的方式是否为预定的存储方式,如无痕存储方式,若不是,在终端设备的人机交互界面中,向用户提供可选择无痕存储方式的选项,随后根据用户的选择,确定App1’存储数据的方式;若用户忽略选择无痕存储方式,可确定App1’存储数据的方式不是预定的无痕存储方式,随后响应于App1’的读取数据Data1的请求,在第一数据文件a’.db中查找数据Data1对应的数据值。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种应用程序存储数据的方法,其特征在于,包括:
当监测到所述应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与所述第一数据文件相同的第二数据文件;
若不存在,将所述第一数据文件备份存储至所述第二存储路径,并将所述第一数据文件的备份文件作为第二数据文件;
检测到所述应用程序的活动进程结束时,删除所述第二存储路径下的所有文件。
2.根据权利要求1所述的方法,其特征在于,当监测到所述应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断所述第二存储路径中是否存在与所述第一数据文件相同的第二数据文件,包括:
确定与所请求数据对应的第一存储路径,并判断所述第一存储路径下是否存储第一数据文件;
若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断所述第二存储路径中是否存在与所述第一数据文件相同的第二数据文件。
3.根据权利要求2所述的方法,其特征在于,还包括:
若判断所述第一存储路径下未存储第一数据文件时,在所述第二存储路径中创建第二数据文件。
4.根据权利要求1-3中任一项所述的方法,还包括:
响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
5.根据权利要求1-3任一项所述的方法,还包括:
判断所述应用程序存储数据的方式是否为预定的存储方式;
若不是,响应于应用程序的数据处理请求,对所述第一数据文件中的数据进行相应处理。
6.根据权利要求1-3任一项所述的方法,其特征在于,检测到所述应用程序的活动进程结束时,还包括:
删除所述第二存储路径。
7.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
所述应用程序的活动进程启动时,创建所述第二存储路径。
8.一种应用程序存储数据的装置,其特征在于,包括:
挂钩及判断模块,用于当监测到所述应用程序请求数据处理时,通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断第二存储路径中是否存在与所述第一数据文件相同的第二数据文件;
备份模块,用于若不存在,将所述第一数据文件备份存储至所述第二存储路径,并将所述第一数据文件的备份文件作为第二数据文件;
删除模块,用于检测到所述应用程序的活动进程结束时,删除所述第二存储路径下的所有文件。
9.根据权利要求8所述的装置,其特征在于,所述挂钩及判断模块,包括:
确定及判断单元,用于确定与所请求数据对应的第一存储路径,并判断所述第一存储路径下是否存储第一数据文件;
挂钩单元,用于若已存储,则通过钩子函数挂钩与所请求数据对应第一数据文件及其所存储的第一存储路径,并判断所述第二存储路径中是否存在与所述第一数据文件相同的第二数据文件。
10.根据权利要求9所述的装置,其特征在于,还包括:
第一创建模块,用于若判断所述第一存储路径下未存储第一数据文件时,在所述第二存储路径中创建第二数据文件。
11.根据权利要求8-10中任一项所述的装置,还包括:
第一处理模块,用于响应于应用程序的数据处理请求,对第二数据文件中的数据进行相应处理。
12.根据权利要求8-10任一项所述的装置,还包括:
判断模块,用于判断所述应用程序存储数据的方式是否为预定的存储方式;
第二处理模块,用于若不是,响应于应用程序的数据处理请求,对所述第一数据文件中的数据进行相应处理。
13.根据权利要求8-10任一项所述的装置,其特征在于,所述删除模块,还包括:
删除单元,用于删除所述第二存储路径。
14.根据权利要求8-10任一项所述的装置,其特征在于,还包括:
第二创建模块,用于所述应用程序的活动进程启动时,创建所述第二存储路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610701258.3A CN106354773B (zh) | 2016-08-22 | 2016-08-22 | 应用程序存储数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610701258.3A CN106354773B (zh) | 2016-08-22 | 2016-08-22 | 应用程序存储数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354773A CN106354773A (zh) | 2017-01-25 |
CN106354773B true CN106354773B (zh) | 2020-05-01 |
Family
ID=57844412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610701258.3A Active CN106354773B (zh) | 2016-08-22 | 2016-08-22 | 应用程序存储数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354773B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193558B (zh) * | 2017-05-12 | 2020-12-01 | 北京五八信息技术有限公司 | 一种日志文件的生成方法和装置 |
CN110309105B (zh) * | 2018-03-23 | 2023-08-11 | 阿里巴巴(北京)软件服务有限公司 | 数据处理方法、系统和设备 |
CN109284179B (zh) * | 2018-08-07 | 2020-11-17 | 北京达佳互联信息技术有限公司 | 解决应用程序卡顿的方法、装置、电子设备及存储介质 |
CN112883370B (zh) * | 2019-11-29 | 2022-12-20 | 北京三快在线科技有限公司 | 应用程序状态检测方法和装置、存储介质和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090922A (zh) * | 2014-06-20 | 2014-10-08 | 北京奇虎科技有限公司 | 一种清理隐私数据的方法和装置 |
CN104484240A (zh) * | 2014-12-09 | 2015-04-01 | 青岛海信宽带多媒体技术有限公司 | 一种终端数据存储的方法及装置 |
CN104850599A (zh) * | 2015-04-29 | 2015-08-19 | 百度在线网络技术(北京)有限公司 | 一种用于清理对应移动设备的缓存的方法与设备 |
CN105653582A (zh) * | 2015-12-21 | 2016-06-08 | 联想(北京)有限公司 | 一种电子设备的文件管理方法及电子设备 |
CN105740425A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 一种文件存储的方法及装置 |
-
2016
- 2016-08-22 CN CN201610701258.3A patent/CN106354773B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090922A (zh) * | 2014-06-20 | 2014-10-08 | 北京奇虎科技有限公司 | 一种清理隐私数据的方法和装置 |
CN104484240A (zh) * | 2014-12-09 | 2015-04-01 | 青岛海信宽带多媒体技术有限公司 | 一种终端数据存储的方法及装置 |
CN104850599A (zh) * | 2015-04-29 | 2015-08-19 | 百度在线网络技术(北京)有限公司 | 一种用于清理对应移动设备的缓存的方法与设备 |
CN105653582A (zh) * | 2015-12-21 | 2016-06-08 | 联想(北京)有限公司 | 一种电子设备的文件管理方法及电子设备 |
CN105740425A (zh) * | 2016-01-29 | 2016-07-06 | 宇龙计算机通信科技(深圳)有限公司 | 一种文件存储的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106354773A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354773B (zh) | 应用程序存储数据的方法及装置 | |
US9697375B2 (en) | Fast data protection using dual file systems | |
EP2551786B1 (en) | Efficient securing of data on mobile devices | |
CN106971120B (zh) | 一种实现文件保护的方法、装置和计算设备 | |
CN106991321B (zh) | 多容器系统中无痕运行应用程序的方法及装置 | |
CN107563192B (zh) | 一种勒索软件的防护方法、装置、电子设备及存储介质 | |
CN110661863B (zh) | 一种请求处理方法、装置及电子设备和存储介质 | |
EP3229403B1 (en) | Samba configuration management method for network device and system | |
CN107944292B (zh) | 一种隐私数据保护方法及系统 | |
CN107066298B (zh) | 无痕运行应用程序的方法及装置 | |
EP3080945B1 (en) | Obfuscating in memory encryption keys | |
US20160179624A1 (en) | Expedited Device Backup, Wipe, and Enrollment | |
JP2007213405A (ja) | 割符情報の管理方法および管理装置 | |
CN103218573A (zh) | 一种基于虚拟磁盘保护的无痕访问控制方法及装置 | |
CN104063288A (zh) | 进程管理方法及装置 | |
JP4653150B2 (ja) | ファイル制御システム | |
US9450965B2 (en) | Mobile device, program, and control method | |
CN105511904B (zh) | 一种自动更新快捷窗口的方法及装置 | |
CN103577246A (zh) | 防止虚拟机逃逸的方法和装置 | |
CN111858185B (zh) | 一种计算机信息备份还原系统 | |
US20080253559A1 (en) | Data Security Method, System and Storage Medium for Preventing a Desktop Search Tool from Exposing Encrypted Data | |
US20050033721A1 (en) | Location switch hard drive shim | |
CN109598118A (zh) | 一种子目录访问控制方法及相关装置 | |
CN106295391B (zh) | 一种信息处理方法及电子设备 | |
CN104268485A (zh) | Se中访问控制规则的访问方法和访问装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240118 Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |