一种无痕浏览方法及装置转让专利

申请号 : CN201710030353.X

文献号 : CN106845270B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王春雷刘刚

申请人 : 北京奇虎科技有限公司

摘要 :

本发明公开了一种无痕浏览方法及装置,构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行,当监测到终端应用程序从普通浏览模式切换为无痕浏览模式时,从第一浏览数据中获取和在无痕浏览模式下产生的第二浏览数据相关联的关联浏览数据,将关联浏览数据拷贝到和存储普通浏览模式下的第一浏览数据的第二存储目录,并将无痕浏览模式下产生的第二浏览数据也存储在第二存储目录中,由此解决了无痕浏览模式无法保存历史数据的问题。而当所述终端应用程序退出所述无痕浏览模式时,只是删除第二存储目录中的所有浏览数据,用以保护用户隐私,而第一存储目录中的关联浏览数据还在,故而又不会破坏作为历史数据的关联浏览数据。

权利要求 :

1.一种无痕浏览方法,其特征在于,包括:

构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;

当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;

当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;

从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;

构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中;

当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。

2.如权利要求1所述的方法,其特征在于,所述获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据之前,所述方法还包括:当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;

若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录。

3.如权利要求1所述的方法,其特征在于,

所述获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据,包括:获取用于生成所述第二浏览数据的操作指令,其中,所述操作指令中携带有操作数据对象;

所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,包括:从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。

4.如权利要求3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据,包括:确定所述操作数据对象的数据类型;

将具有和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。

5.如权利要求3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据,包括:确定出首次产生所述操作指令的首次时间点;

将距离所述首次时间点一预设时间范围内的普通浏览模式下产生的第一浏览数据作为所述关联浏览数据。

6.如权利要求3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据之后,包括:将所述关联浏览数据拷贝到第二存储目录之后,基于所述操作指令获得所述第二浏览数据,并将所述第二浏览数据存储在所述第二存储目录中。

7.如权利要求1所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据之后,所述方法还包括:判断所述关联浏览数据是否为可读可执行的数据文件;

若不是,则将所述关联浏览数据拷贝到所述第二存储目录。

8.一种无痕浏览装置,其特征在于,包括:

构建模块,用于构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;

第一存储模块,用于当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;

第一获取模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;

第二获取模块,用于从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;

第二存储模块,用于构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中;

删除模块,用于当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。

9.如权利要求8所述的装置,其特征在于,所述装置还包括:第一判断模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;

调用模块,用于若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录。

10.如权利要求8所述的装置,其特征在于,

所述第一获取模块,具体用于获取用于生成所述第二浏览数据的操作指令,其中,所述操作指令中携带有操作数据对象;

所述第二获取模块,具体用于从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。

11.如权利要求10所述的装置,其特征在于,所述第二获取模块,具体包括:第一确定模块,用于确定所述操作数据对象的数据类型;

第二确定模块,用于将具有和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。

12.如权利要求10所述的装置,其特征在于,所述第二获取模块,具体包括:第三确定模块,用于确定出首次产生所述操作指令的首次时间点;

第四确定模块,用于将距离所述首次时间点一预设时间范围内的普通浏览模式下产生的第一浏览数据作为所述关联浏览数据。

13.如权利要求10所述的装置,其特征在于,所述存储模块,具体用于将所述关联浏览数据拷贝到第二存储目录之后,基于所述操作指令获得所述第二浏览数据,并将所述第二浏览数据存储在所述第二存储目录中。

14.如权利要求8所述的装置,其特征在于,所述装置还包括:第二判断模块,用于判断所述关联浏览数据是否为可读可执行的数据文件;拷贝模块,用于若不是,则将所述关联浏览数据拷贝到所述第二存储目录。

说明书 :

一种无痕浏览方法及装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种无痕浏览方法及装置。

背景技术

[0002] 随着时代的发展,各种终端设备已成为人们生活中必不可少的工具,各种功能强大的终端操作系统及终端应用程序不断涌现,为用户带来了更加便捷的体验,与此同时,用户的使用需求也越来越多样化,用户对隐私保护的安全意识也逐渐增强。例如,用户在使用终端应用程序时,希望灵活地根据意愿自主选择保留或删除应用程序的相关数据,从而保护用户自身的隐私。
[0003] 在这一需求下,目前的终端应用程序开发出了无痕浏览模式。
[0004] 目前的无痕浏览模式的技术,是在开启无痕浏览模式之后,终端应用程序会重新建立目录,用以存储用户在无痕浏览模式下的浏览数据,而在用户退出时,则直接删除该目录中的数据,进而实现终端应用程序的无痕浏览。
[0005] 但是,对于目前的无痕浏览模式来说,开启无痕浏览模式就相当于应用程序重新安装,即便在无痕浏览模式之前已经存储有用户产生的浏览数据,也不会将该浏览数据拷贝到新建立的目录中。故而终端应用程序之前的任何数据都不能够为无痕浏览模式所用。例如,终端应用程序之前已保存了用户登录时的登陆账户和登录密码,若切换到无痕浏览模式下,那么终端应用程序即便保存有登录账号和登录密码,也会重新跳转到登录界面,要求用户重新输入登陆账号和登陆密码进行登录,只有在用户登录之后才能够开放无痕浏览模式下的操作权限,并且登录之后并无之前用户浏览的任何历史数据,导致用户体验极低。

发明内容

[0006] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种无痕浏览方法的及装置,用以解决目前的无痕浏览模式无法保存历史数据的问题。
[0007] 本发明的一个方面,提供了一种无痕浏览方法,包括:
[0008] 构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;
[0009] 当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;
[0010] 当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;
[0011] 从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;
[0012] 将所述关联浏览数据拷贝到第二存储目录之后,将所述第二浏览数据存储在所述第二存储目录中;
[0013] 当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0014] 本发明的另一个方面,提供一种无痕浏览装置,包括:
[0015] 构建模块,用于构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;
[0016] 第一存储模块,用于当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;
[0017] 第一获取模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;
[0018] 第二获取模块,用于从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;
[0019] 第二存储模块,用于将所述关联浏览数据拷贝到第二存储目录之后,将所述第二浏览数据存储在所述第二存储目录中;
[0020] 删除模块,用于当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0021] 本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
[0022] 本发明公开了一种无痕浏览方法及装置,先构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行,然后将终端应用程序在普通浏览模式下产生的第一浏览数据存储在第一存储目录中;而当监测到终端应用程序从普通浏览模式切换为无痕浏览模式时,获取终端应用程序在无痕浏览模式下产生的第二浏览数据;再从第一浏览数据中获取和第二浏览数据相关联的关联浏览数据,再将关联浏览数据拷贝到第二存储目录。可见,本发明将关联浏览数据作为历史数据保存在第二存储目录中,解决了无痕浏览模式无法保存历史数据的问题。另外本发明还将第二浏览数据存储在第二存储目录中;当所述终端应用程序退出所述无痕浏览模式时,只是删除第二存储目录中的所有浏览数据,用以保护用户隐私,而第一存储目录中的关联浏览数据还在,故而又不会破坏作为历史数据的关联浏览数据。
[0023] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0024] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0025] 图1示出了根据本发明一个实施例的一种无痕浏览方法的实施过程图;
[0026] 图2示出了根据本发明一个实施例的沙箱监控终端应用程序的架构图;
[0027] 图3示出了根据本发明一个实施例的一种无痕浏览装置的架构图。

具体实施方式

[0028] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0030] 本发明实施例提供了一种无痕浏览方法的及装置,用以解决目前的无痕浏览模式无法保存历史数据的问题。
[0031] 作为一种可选的实施例,图1公开了本发明的无痕浏览方法的流程图。
[0032] 本发明的实施例中,各步骤所执行的内容概述如下:
[0033] 步骤11,构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行。
[0034] 步骤12,当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据。
[0035] 步骤13,当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据。
[0036] 步骤14,从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据。
[0037] 步骤15,构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中。
[0038] 步骤16,当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0039] 由于在现有技术中的无痕浏览模式,是在开启无痕浏览模式之后,终端应用程序会重新建立目录,用以存储用户在无痕浏览模式下的浏览数据,而在用户退出时,则直接删除该目录中的数据,进而实现终端应用程序的无痕浏览。
[0040] 但是,对于目前的无痕浏览模式来说,开启无痕浏览模式就相当于应用程序重新安装,即便在无痕浏览模式之前已经存储有用户产生的浏览数据,也不会将该浏览数据拷贝到新建立的目录中。故而终端应用程序之前的任何数据都不能够为无痕浏览模式所用。故而,针对上述不足,在本发明的实施例中,提出了一种无痕浏览方法,首先构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中。
再将终端应用程序在所述普通浏览模式下产生的第一浏览数据存储在第一存储目录中;而当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;再从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,再将所述关联浏览数据拷贝到第二存储目录。由此可见,本发明将关联浏览数据作为历史数据保存在第二存储目录中,解决了目前的无痕浏览模式无法保存历史数据的问题,另外,本发明还将所述第二浏览数据存储在所述第二存储目录中;当所述终端应用程序退出无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。实现了不破坏用户历史数据的同时可对用户隐私数据的清理,提高了用户的使用体验。
[0041] 进一步的,由于保存的关联浏览数据是基于第二浏览数据获取的,故而保存的都是终端应用程序需要的历史数据,而不用将所有的第一浏览数据进行拷贝。进一步的,由于只是拷贝关联浏览数据,故而在和拷贝所有第一浏览数据进行对比时,本发明的拷贝数据量更小并且占用的存储空间也少。
[0042] 以下针对各个步骤的具体实现做进一步的说明:
[0043] 在步骤11中,构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行。
[0044] 在具体的实施过程中,本发明会先构造沙箱,将终端应用程序放在沙箱中运行。
[0045] 在本发明中,终端应用程序是在沙箱中运行的,而终端应用程序的模式切换也在沙箱中进行。本发明将终端应用程序中的运行模式分为两类:普通浏览模式和无痕浏览模式。两种浏览模式下产生的浏览数据分别存储在不同的目录中。本发明将普通浏览模式下产生的浏览数据命名为第一浏览数据,存储在第一存储目录中,将无痕浏览模式下产生的浏览数据命名为第二浏览数据,存储在第二存储目录中。终端应用程序的普通浏览模式和无痕浏览模式可以相互在沙箱中来回切换,只是在无痕浏览模式退出时,沙箱会删除存储在第二存储目录中的数据,以保护用户的隐私。
[0046] 而本发明的终端应用程序,包括但不限于是第三方应用程序,例如微信、QQ、浏览器等等应用程序。
[0047] 在实际情况中,沙箱可同时运行多个终端应用程序,而对于每个终端应用程序的不同的浏览模式,沙箱都会建立不同的目录进行存储。
[0048] 故而本发明可针对单个终端应用程序进行介绍,而其他终端应用程序的实施过程类似。
[0049] 当然,除了上述‘将终端应用程序放在沙箱中运行’的情况之外,本发明还可以将安卓系统中的一个或多个终端应用程序的分身应用放入沙箱中,使得每个终端应用程序的分身应用可以与相应的终端应用程序并行运行。
[0050] 其中,终端应用程序指的是能够在安卓系统中正常运行的,类似于QQ聊天、UC浏览器等的应用软件。而终端应用程序的分身应用作为终端应用程序的复制体,可以看做是终端应用程序的分身。现有技术中,每个终端应用程序的分身应用可以与相应的终端应用程序是不可以并行运行的,其原因是安卓系统无法认可两个相同的应用所声明的相同的注册信息,因此,在终端应用程序已安装的情况下,终端应用程序的分身应用是无法成功注册到安卓系统中的,对于安卓系统来说,终端应用程序的分身应用是未知的,安卓系统无法与其进行正常交互。而在本发明中,终端应用程序的分身应用是可以在沙箱中运行的,故而可使得每个终端应用程序的分身应用可以与相应的终端应用程序并行运行。
[0051] 将安卓系统中的一个或多个终端应用程序的分身应用放入沙箱中运行,使得每个终端应用程序的分身应用可以与相应的终端应用程序并行运行,实现了终端应用程序自身与终端应用程序分身的并行运行,对于在沙箱中运行的终端应用程序的分身应用,由于这些沙箱中运行的终端应用程序的分身应用对于安卓系统来说是未知的,为了使得终端应用程序的分身应用能够正常地接收广播消息并执行相应操作,本方案代理终端应用程序的分身应用接收广播消息后,按一定的方式进行分析处理,并选择性的将符合条件的广播消息传送给终端应用程序的分身应用的广播接收器。保证了终端应用程序的分身应用与其对应的终端应用程序一样能够正常的运行以及和系统正常的交互。
[0052] 进一步的,本发明使用钩子函数来监听终端应用程序的应用分身在沙箱中的运行。
[0053] 具体来说,将钩子函数挂载在沙箱中注册广播接收器的接口上,当拦截到所述注册广播接收器的接口发送的注册请求时,确定监听到沙箱中的终端应用程序的分身向安卓系统注册广播接收器的事件;所述当监听到该事件时,禁止该事件继续执行;上述该事件对应的广播接收器的相关信息并保存至所述配置管理表中的动态注册表包括:当监听到所述注册请求时,强制结束所述注册请求的继续传播;从所述注册请求中提取对应的广播接收器的相关信息并保存至所述动态注册表中。
[0054] 例如,用户在安卓系统中运行一个QQ聊天应用,同时在沙箱中运行该QQ聊天应用的分身应用。此时,该分身应用向安卓系统发送事件A,该事件A的内容为:向安卓系统注册广播接收器。该事件A以注册请求的方式发送,并且该注册请求中包含了与广播接收器相关的信息。
[0055] 在上述建立动态注册表和静态注册表的基础上,所述静态注册表和所述动态注册表中的每个广播接收器的相关信息包括:该广播接收器的属性数据。
[0056] 故而可以从所述广播消息对应的Intent参数中提取指示目标广播接收器的属性数据,判断所提取的属性数据是否匹配于所述静态注册表和所述动态注册表中的广播接收器的属性数据;如果所提取的属性数据匹配于所述静态注册表中的广播接收器的属性数据,确定所述广播消息的目标广播接收器命中所述静态注册表;如果所提取的属性数据匹配于所述动态注册表中的广播接收器的属性数据,确定所述广播消息的目标广播接收器命中所述动态注册表。其中,Intent参数用来描述广播消息的特征,这些参数中也包含目标广播接收器的某些参数。
[0057] 在本发明的一个实施例中,可通过沙箱中的常驻服务代理终端应用程序的分身应用接收广播消息,安卓预设策略将所述广播消息转发至相应终端应用程序的复件应该的广播接收器。其中,该常驻服务存在于该构建的沙箱中。
[0058] 以上便是终端沙箱的监控终端应用程序或者终端应用程序的应用分身运行的过程。
[0059] 在步骤11中,当终端应用程序处于普通浏览模式时,则会将终端应用程序在所述普通浏览模式下产生的第一浏览数据存储在第一存储目录中。
[0060] 第一浏览数据,包括但不限于是文字数据、语音数据、视频数据、图片数据、网页数据等等。所有终端应用程序产生的浏览数据都应当包含在第一浏览数据中。举例来说,本机的微信应用程序A在处于普通浏览模式时,可能会产生聊天的文字数据、图片数据、语音聊天数据、视频数据等等聊天数据,这些聊天数据会存储在data\data\com.tencent.mm\目录中。
[0061] 由于在现有的无痕模式中,开启无痕浏览模式就相当于应用程序重新安装,登录方式(包含登录账号、登录密码等等)都会抹去,需要用户重新手动输入登录账号、登录密码等等进行登录。为了解决这一问题,在步骤12之前的一种可能的实施例中,当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,通常情况下,终端应用程序都会跳转到登录界面让用户登录,而本发明此时会先判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录,而不用用户再进行手动输入,为用户浏览终端应用程序提供了便利。作为一种优选的方式,在终端应用程序跳转到登录页面时,可不用将登录页面显示给用户,而直接在后台调用第一浏览数据中的登录账号和登录密码对直接进行登录,故而展示给用户的是登录成功之后的终端应用程序的展示界面,便于用户直接对该终端应用程序进行操作,提高用户体验。
[0062] 在登录成功之后,此时终端应用程序处于无痕浏览模式下,故而此时会新建一个存储目录,本发明将其命名为第二存储目录,此时用户操作产生第二浏览数据则会存储在该第二存储目录中。
[0063] 第二浏览数据和第一浏览数据类似,也是包括但不限于是文字数据、语音数据、视频数据、图片数据、网页数据等等。
[0064] 其中,在步骤12的具体实施过程中,实际上第二浏览数据是基于用户的操作而产生的数据。例如,在无痕浏览模式下,用户的操作包括但不限于是:文字输入操作、搜索视频、图片、网页等等的搜索操作、图片、视频、网页等等的浏览操作。
[0065] 故而用户产生的第二浏览数据是用户操作所产生的对应数据。例如,用户的操作是文字输入操作,故而产生的第二浏览数据则是文字数据。再例如,用户的操作是浏览图片操作,故而产生的第二浏览数据是图片数据。
[0066] 而在获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据之后,则执行步骤13:从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据。
[0067] 而在具体的实施过程中,第一浏览数据和第二浏览数据相关联的含义,可以是两者的产生时间的关联,也可以是两者的数据类型的关联等等,下面举例进行说明。
[0068] 作为一种可选的实施例,
[0069] 所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,包括:确定出所述第二浏览数据的首次产生时刻,将距离所述首次产生时刻一预设时间范围的所述第一浏览数据作为所述关联浏览数据。可选的,此时虽然获得了第二浏览数据,但是并未进行存储。需要在确定出关联浏览数据并且将关联浏览数据存储到第二存储目录之后,再在关联浏览数据之后的存储位置写入第二浏览数据进行存储。而在具体的实施过程中,第二浏览数据实际上并不仅仅只有一种数据,而是有很多种且有很多类型的数据。而为了便于用户在无痕浏览模式之前查找历史数据,故而在第二浏览数据的首次产生时刻,可以将距离所述首次产生时刻一预设时间范围的所述第一浏览数据进行关联,并作为历史数据拷贝到第二存储目录中。举例来说,第二浏览数据首次产生的时刻是早上8点(AM 8),预设时间范围是0-1小时之间,按此推论,则可以将AM 7-AM 8这一时间段产生的第一浏览数据作为关联浏览数据拷贝到第二存储目录中,成为历史数据,便于用户查看在无痕模式之前用户的浏览记录。这种方式有很强的时效性,而预设时间范围之前的第一浏览数据可以看做是无用数据进行忽略。
[0070] 作为一种可选的实施例,
[0071] 所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,包括:确定所述第二浏览数据的数据类型;将具有和所述第二浏览数据相同数据类型的所述第一浏览数据作为所述关联浏览数据。可选的,此时虽然获得了第二浏览数据,但是并未进行存储。需要在确定出关联浏览数据并且将关联浏览数据存储到第二存储目录之后,再在关联浏览数据之后的存储位置写入第二浏览数据进行存储。举例来说,微信应用程序中用于生成第二浏览数据的数据类型为文字类型,故而在关联时,只需将第一浏览数据中的聊天文字数据(因为其数据类型也是文字类型)作为关联数据拷贝到第二存储目录中,而不用拷贝图片数据、语音数据等等。这种关联方式具有很强的针对性,能够满足用户的需求。
[0072] 当然,上述两种实施例还可以合并,例如将某一预设时间段之内的和第二浏览数据的操作类型相同的第一浏览数据作为关联浏览数据拷贝到第二存储目录中,这种关联方式及有针对性又有时效性,能够获得关联性极强的关联浏览数据。
[0073] 而在另一种可选的实施例中,在获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据时,实际上是先获取所述无痕浏览模式下用户的操作指令,所述操作指令用于生成第二浏览数据。
[0074] 进一步的,在从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据时,则基于所述操作指令中携带的操作数据对象,从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。
[0075] 在上述列出的一种实施例中,实际上并未获得真正的第二浏览数据,而是获得了用于生成第二浏览数据的操作指令,该操作指令中携带有操作数据对象,然后基于该操作数据对象确定出关联浏览数据,并将关联浏览数据保存在第二存储目录中,然后基于操作指令获取第二浏览数据,并在关联浏览数据的存储位置后面,写入获得的第二浏览数据进行存储。
[0076] 而在具体的实施过程中,操作数据对象携带有自身的数据类型,故而在从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据时,可基于操作数据对象的数据类型进行关联。具体来说,先确定所述操作数据对象的数据类型;然后再将和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。举例来说,微信应用程序中用于生成第二浏览数据的操作指令,其携带的操作数据对象为文字,数据类型为文字类型,故而在关联时,只需将第一浏览数据中的聊天文字数据作为关联数据拷贝到第二存储目录中,而不用拷贝图片数据、语音数据等等。这种关联方式具有很强的针对性,能够满足用户的需求。
[0077] 当然,在另一种可选的实施例中,在获得操作指令的同时,可以先确定出首次产生操作指令的首次时间点,然后以该首次时间点为准,获得距离该首次时间点一预设时间范围内的第一浏览数据,并将第一浏览数据作为关联浏览数据。举例来说,在无痕浏览模式下,终端应用程序中用于生成第二浏览数据的操作指令产生的时间点是早上8点(AM 8),预设时间范围是0-1小时之间,按此推论,则可以将AM 7-AM 8这一时间段产生的第一浏览数据作为关联浏览数据拷贝到第二存储目录中,成为历史数据,便于用户查看在无痕模式之前用户的浏览记录。这种方式有很强的时效性,在关联时,预设时间范围之前的第一浏览数据可以看做是无用数据进行忽略。
[0078] 当然,上述两种实施例还可以合并,例如将某一预设时间段之内的和操作对象数据的操作类型相同的第一浏览数据作为关联浏览数据拷贝到第二存储目录中,这种关联方式及有针对性又有时效性,能够获得关联性极强的关联浏览数据。
[0079] 上述介绍的是如何在第一浏览数据中通过钩子函数挂钩关联浏览数据及其所存储的第一存储目录。
[0080] 需要说明的是,术语“钩子”涵盖了用于通过拦截在软件组件之间传递的函数调用、消息、或事件来改变或增加操作系统、应用程序、或其他软件组件的行为的技术。而处理这种被拦截的函数调用、事件或消息的代码就被称为钩子hook函数。钩子通常用于各种目标,包括对功能进行调试和对功能进行扩展。其示例可以包括在键盘或鼠标事件传递到应用程序之前拦截它们,或者拦截系统调用(system call)、或者系统函数行为、函数执行结果等,以监视或修改应用程序或其他组件的功能等等。本实施例即可采用钩子hook函数接管应用程序运行时请求数据处理的操作。
[0081] 作为一个沙箱实例,使终端应用程序运行于沙箱运行环境中,监控终端应用程序的活动进程是沙箱运行环境的核心实现者,负责实现两方面一下的功能,一方面:通过监控终端应用程序对资源的访问,使终端应用程序进程能够实现对应资源的正常调用。另一方面通过监控终端应用程序对系统资源的访问,例如是否请求发送信息,来依据安全策略确定是否允许其操作,当不允许这种实施这种行为时,可以向相关调用指令返回自定义数据,例如返回空值,从而确保能杜绝一些非法操作。可将通过钩子函数对终端应用程序的活动进程进行监控的方式注册为服务进程,以钩子函数关联终端应用程序活动进程的调用指令以实现对终端应用程序的活动监控。
[0082] 具体地,当监测到终端应用程序已经确定出关联浏览数据之后,通过钩子函数挂钩与所述关联浏览数据及第一存储目录。
[0083] 例如图2,沙箱中运行了多个终端应用程序(例如APP1,APP2……APPn),沙箱通过钩子函数对终端应用程序的活动进程进行监控。
[0084] 本发明终端描述终端应用程序APP1的实施过程,其他终端应用程序类似,故而在此不再详述。
[0085] 当APP1处于普通浏览模式时,通过钩子函数监测到终端应用程序产生第一浏览数据时,则建立第一存储目录path1,如“path/data/”来存储第一浏览数据。
[0086] 当钩子函数监测到终端应用程序从普通浏览模式切换到无痕浏览模式,并具有请求读取关联浏览数据时,通过相关钩子函数挂钩与关联浏览数据所在的第一存储目录path1,如“path/data/”,然后将关联浏览数据拷贝到第二存储目录path2中,并将在无痕浏览模式下产生的第二浏览数据也存储到第二存储目录path2中。
[0087] 而在本发明中,并不是所有的关联浏览数据都可以进行拷贝,某些可读可执行的数据文件是共用文件,则不需要进行拷贝,直接调用即可。故而所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据之后,所述方法还包括:
[0088] 判断所述关联浏览数据所对应的数据文件的是否为可读可执行的数据文件;
[0089] 若不是,则将所述关联浏览数据拷贝到所述第二存储目录。
[0090] 在具体的实施过程中,可执行的数据文件包括但不限于是:
[0091] 共用的可读文件,如so库(可读so文件是unix的动态连接库,是二进制文件,作用相当于windows下的.dll文件),dex文件(dex文件是Android平台上可执行文件的类型)等全局文件,可以不用拷贝到第二存储目录,在使用时可以直接调用即可。
[0092] 资源环境文件,即终端应用程序所使用的资源环境,不用拷贝。
[0093] 基于统一发明构思,本发明还提供了一种无痕浏览装置。
[0094] 参看图3,是一种无痕浏览装置的结构示意图。
[0095] 下面介绍一种无痕浏览装置的架构,包括:构建模块31,第一存储模块32,第一获取模块33,第二获取模块34,第二存储模块35,删除模块36。
[0096] 具体来说,构建模块21主要用来构建沙箱,以运行终端应用程序。而当终端应用程序在沙箱中运行时,通过第一存储模块32来构建第一存储目录来存储第一浏览数据。而当第一获取模块33监测到模式切换时,则获取无痕浏览模式下的第二浏览数据。然后第二获取模块34获取到关联浏览数据。并通过第二存储模块35构建第二存储目录,存储关联浏览数据和第二浏览数据,当浏览结束,则利用删除模块36删除第二存储目录中所有的浏览数据。
[0097] 在具体的实施过程中,下面参看具体的介绍。
[0098] 构建模块31,用于构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;
[0099] 第一存储模块32,用于当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;
[0100] 第一获取模块33,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;
[0101] 第二获取模块34,用于从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;
[0102] 第二存储模块35,用于构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中;
[0103] 删除模块36,用于当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0104] 由于在现有技术中的无痕浏览模式,不能够保存终端应用程序在无痕浏览模式之前产生的数据。故而,针对上述不足,在本发明的实施例中,提出了一种无痕浏览装置,第一存储模块32,用于将终端应用程序在所述普通浏览模式下产生的第一浏览数据存储在第一存储目录中;第一获取模块33,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;第二获取模块34,用于从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,再利用第二存储模块35,用于将所述关联浏览数据拷贝到第二存储目录。由此可见,本发明将关联浏览数据作为历史数据保存在第二存储目录中,解决了目前的无痕浏览模式无法保存历史数据的问题,另外,本发明还将所述第二浏览数据存储在所述第二存储目录中;当所述终端应用程序结束浏览时,利用删除模块36,用于删除所述第二存储目录中的所有浏览数据。实现了不破坏用户历史数据的同时可对用户隐私数据的清理,提高了用户的使用体验。
[0105] 进一步的,由于保存的关联浏览数据是基于第二浏览数据获取的,故而保存的都是终端应用程序需要的历史数据,而不用将所有的第一浏览数据进行拷贝。进一步的,由于只是拷贝关联浏览数据,故而在和拷贝所有第一浏览数据进行对比时,本发明的拷贝数据量更小并且占用的存储空间也少。
[0106] 作为一种可选的实施例,所述方法还包括:
[0107] 第一判断模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;
[0108] 调用模块,用于若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录。
[0109] 作为一种可选的实施例,所述第一获取模块33,具体用于获取用于生成所述第二浏览数据的操作指令,其中,所述操作指令中携带有操作数据对象;
[0110] 所述第二获取模块34,具体用于从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。
[0111] 作为一种可选的实施例,所述第二获取模块34,具体包括:
[0112] 第一确定模块,用于确定所述操作数据对象的数据类型;
[0113] 第二确定模块,用于将具有和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。
[0114] 作为一种可选的实施例,所述第二获取模块34,具体包括:
[0115] 第三确定模块,用于确定出首次产生所述操作指令的首次时间点;
[0116] 第四确定模块,用于将距离所述首次时间点一预设时间范围内的普通浏览模式下产生的第一浏览数据作为所述关联浏览数据。
[0117] 作为一种可选的实施例,所述存储模块,具体用于将所述关联浏览数据拷贝到第二存储目录之后,基于所述操作指令获得所述第二浏览数据,并将所述第二浏览数据存储在所述第二存储目录中。
[0118] 作为一种可选的实施例,所述装置还包括:
[0119] 第二判断模块,用于判断所述关联浏览数据是否为可读可执行的数据文件;
[0120] 拷贝模块,用于若不是,则将所述关联浏览数据拷贝到所述第二存储目录。
[0121] 本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
[0122] 本发明公开了一种无痕浏览方法及装置,先构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行,再将终端应用程序在普通浏览模式下产生的第一浏览数据存储在第一存储目录中;而当监测到终端应用程序从普通浏览模式切换为无痕浏览模式时,获取终端应用程序在无痕浏览模式下产生的第二浏览数据;再从第一浏览数据中获取和第二浏览数据相关联的关联浏览数据,再将关联浏览数据拷贝到第二存储目录。可见,本发明将关联浏览数据作为历史数据保存在第二存储目录中,解决了无痕浏览模式无法保存历史数据的问题。另外本发明还将第二浏览数据存储在第二存储目录中;当所述终端应用程序退出所述无痕浏览模式时,只是删除第二存储目录中的所有浏览数据,用以保护用户隐私,而第一存储目录中的关联浏览数据还在,故而又不会破坏作为历史数据的关联浏览数据。
[0123] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0124] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0125] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0126] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0127] 此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0128] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0129] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0130] 本发明的另一个方面,提供了:
[0131] A1、一种无痕浏览方法,其特征在于,包括:
[0132] 构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;
[0133] 当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;
[0134] 当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;
[0135] 从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;
[0136] 构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中;
[0137] 当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0138] A2、如权利要求A1所述的方法,其特征在于,所述获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据之前,所述方法还包括:
[0139] 当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;
[0140] 若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录。
[0141] A3、如权利要求A1所述的方法,其特征在于,
[0142] 所述获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据,包括:
[0143] 获取用于生成所述第二浏览数据的操作指令,其中,所述操作指令中携带有操作数据对象;
[0144] 所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据,包括:
[0145] 从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。
[0146] A4、如权利要求A3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据,包括:
[0147] 确定所述操作数据对象的数据类型;
[0148] 将具有和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。
[0149] A5、如权利要求A3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据,包括:
[0150] 确定出首次产生所述操作指令的首次时间点;
[0151] 将距离所述首次时间点一预设时间范围内的普通浏览模式下产生的第一浏览数据作为所述关联浏览数据。
[0152] A6、如权利要求A3所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据之后,包括:
[0153] 将所述关联浏览数据拷贝到第二存储目录之后,基于所述操作指令获得所述第二浏览数据,并将所述第二浏览数据存储在所述第二存储目录中。
[0154] A7、如权利要求A1所述的方法,其特征在于,所述从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据之后,所述方法还包括:
[0155] 判断所述关联浏览数据是否为可读可执行的数据文件;
[0156] 若不是,则将所述关联浏览数据拷贝到所述第二存储目录。
[0157] B8、一种无痕浏览装置,其特征在于,包括:
[0158] 构建模块,用于构建运行终端应用程序所需要的沙箱,使得所述终端应用程序在所述沙箱中运行;
[0159] 第一存储模块,用于当监测到所述终端应用程序运行在普通浏览模式下时,构建第一存储目录存储所述终端应用程序在所述普通浏览模式下产生的第一浏览数据;
[0160] 第一获取模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,获取所述终端应用程序在所述无痕浏览模式下产生的第二浏览数据;
[0161] 第二获取模块,用于从所述第一浏览数据中获取和所述第二浏览数据相关联的关联浏览数据;
[0162] 第二存储模块,用于构建第二存储目录存储所述关联浏览数据之后,将所述第二浏览数据一并存储在所述第二存储目录中;
[0163] 删除模块,用于当所述终端应用程序退出所述无痕浏览模式时,删除所述第二存储目录中的所有浏览数据。
[0164] B9、如权利要求B8所述的装置,其特征在于,所述装置还包括:
[0165] 第一判断模块,用于当监测到所述终端应用程序从所述普通浏览模式切换为无痕浏览模式时,判断所述第一浏览数据中是否存储有所述终端应用程序的登陆账号和登陆密码;
[0166] 调用模块,用于若是,调用所述登陆账号和所述登陆密码对所述终端应用程序进行登录。
[0167] B10、如权利要求B8所述的装置,其特征在于,
[0168] 所述第一获取模块,具体用于获取用于生成所述第二浏览数据的操作指令,其中,所述操作指令中携带有操作数据对象;
[0169] 所述第二获取模块,具体用于从所述第一浏览数据中获取和所述操作数据对象相关联的关联浏览数据。
[0170] B11、如权利要求B10所述的装置,其特征在于,所述第二获取模块,具体包括:
[0171] 第一确定模块,用于确定所述操作数据对象的数据类型;
[0172] 第二确定模块,用于将具有和所述操作数据对象相同数据类型的所述第一浏览数据作为所述关联浏览数据。
[0173] B12、如权利要求B10所述的装置,其特征在于,所述第二获取模块,具体包括:
[0174] 第三确定模块,用于确定出首次产生所述操作指令的首次时间点;
[0175] 第四确定模块,用于将距离所述首次时间点一预设时间范围内的普通浏览模式下产生的第一浏览数据作为所述关联浏览数据。
[0176] B13、如权利要求B10所述的装置,其特征在于,所述存储模块,具体用于将所述关联浏览数据拷贝到第二存储目录之后,基于所述操作指令获得所述第二浏览数据,并将所述第二浏览数据存储在所述第二存储目录中。
[0177] B14、如权利要求B8所述的装置,其特征在于,所述装置还包括:
[0178] 第二判断模块,用于判断所述关联浏览数据是否为可读可执行的数据文件;
[0179] 拷贝模块,用于若不是,则将所述关联浏览数据拷贝到所述第二存储目录。