CN110851823A - 数据访问方法、装置、终端及存储介质 - Google Patents
数据访问方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110851823A CN110851823A CN201911098758.2A CN201911098758A CN110851823A CN 110851823 A CN110851823 A CN 110851823A CN 201911098758 A CN201911098758 A CN 201911098758A CN 110851823 A CN110851823 A CN 110851823A
- Authority
- CN
- China
- Prior art keywords
- data
- access
- path
- application program
- terminal
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据访问方法、装置、终端及存储介质,属于互联网技术领域。所述方法包括:接收终端上的第一应用程序发送的数据访问请求,数据访问请求携带用于访问待访问数据的第一访问路径;获取第一访问路径的路径索引;当根据路径索引,确定数据访问请求用于访问第二应用程序的数据时,获取待访问数据的权限信息;当根据权限信息,确定第一应用程序具有访问待访问数据的权限时,屏蔽对第一访问路径的重定向;基于第一访问路径,从第一访问路径对应的存储空间中读取待访问数据,将读取到的数据返回给第一应用程序。当第一应用程序具有访问第二应用程序的数据的权限时,第一应用程序能够访问第二应用程序的数据,提高了数据访问的灵活性。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种数据访问方法、装置、终端及存储介质。
背景技术
随着互联网技术的发展,手机、平板电脑等电子设备中可以同时运行两个相同的应用程序。例如,为了区分工作和生活,人们可以在一个电子设备中同时运行两个相同的应用程序,一个登录工作账号作为工作应用,另一个登录个人账号作为个人应用,通常工作应用和个人应用的数据是隔离的,不能相互访问的。
相关技术中,在安卓***中建立沙箱,该沙箱可以为应用程序提供独立的、隔离的运行环境。将应用程序的安装包复制一份到沙箱中,使应用程序能够在沙箱中运行。在数据访问方面,将沙箱内的应用程序的文件路径重定向至沙箱的指定路径,使沙箱内的应用程序只能访问沙箱的指定路径的文件,从而实现沙箱内的应用程序与沙箱外的应用程序的数据隔离。
相关技术中,沙箱内的应用程序的数据和沙箱外的应用程序的数据是完全隔离的,数据访问的灵活性较弱。
发明内容
本申请实施例提供了一种数据访问方法、装置、终端及存储介质,能够解决数据访问灵活性较弱的问题。所述技术方案如下:
根据本申请实施例的一方面,提供了一种数据访问方法,所述方法包括:
接收终端上的第一应用程序发送的数据访问请求,所述数据访问请求携带用于访问待访问数据的第一访问路径;
获取所述第一访问路径的路径索引;
当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第二应用程序的数据时,获取所述待访问数据的权限信息,所述第一应用程序和所述第二应用程序为同一应用程序,且所述第一应用程序运行在所述终端的沙箱内,所述第二应用程序运行在所述沙箱外;
当根据所述权限信息,确定所述第一应用程序具有访问所述待访问数据的权限时,屏蔽对所述第一访问路径的重定向;
基于所述第一访问路径,从所述第一访问路径对应的存储空间中读取所述待访问数据,将读取到的数据返回给所述第一应用程序。
根据本申请实施例的另一方面,提供了一种数据访问装置,所述装置包括:
接收模块,被配置为接收终端上的第一应用程序发送的数据访问请求,所述数据访问请求携带用于访问待访问数据的第一访问路径;
获取模块,被配置为获取所述第一访问路径的路径索引;当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第二应用程序的数据时,获取所述待访问数据的权限信息,所述第一应用程序和所述第二应用程序为同一应用程序,且所述第一应用程序运行在所述终端的沙箱内,所述第二应用程序运行在所述沙箱外;
屏蔽模块,被配置为当根据所述权限信息,确定所述第一应用程序具有访问所述待访问数据的权限时,屏蔽对所述第一访问路径的重定向;
访问模块,被配置为基于所述第一访问路径,从所述第一访问路径对应的存储空间中读取所述待访问数据,将读取到的数据返回给所述第一应用程序。
在一种可能的实现方式中,所述装置还包括:匹配模块,被配置为将所述路径索引与路径访问工具中的每个索引进行匹配,所述路径访问工具包括第一路径访问工具和第二路径访问工具,所述第一路径访问工具中包括所述第一应用程序的至少一个第一数据的第一存储路径的第一索引,所述第二路径访问工具中包括所述第二应用程序的至少一个第二数据的第二存储路径的第二索引;
确定模块,被配置为当所述路径索引与所述第二路径访问工具中的第二索引匹配时,确定所述数据访问请求用于访问终端上的第二应用程序的数据。
在另一种可能的实现方式中,所述装置还包括:
所述获取模块,还被配置为获取所述第一应用程序的至少一个第一数据的第一存储路径和所述第二应用程序的至少一个第二数据的第二存储路径;
生成模块,被配置为根据每个第一数据的第一存储路径,生成所述每个第一数据的第一存储路径对应的第一索引,以及,根据每个第二数据的第二存储路径,生成所述每个第二数据的第二存储路径对应的第二索引;
封装模块,被配置为将所述每个第一数据的第一存储路径对应的第一索引封装在所述第一路径访问工具中,以及,将所述每个第二数据的第二存储路径对应的第二索引封装在所述第二路径访问工具中;
合并模块,被配置为将所述第一路径访问工具和所述第二路径访问工具合并为所述路径访问工具。
在另一种可能的实现方式中,所述装置还包括:
显示模块,被配置为在所述第二应用程序中,当接收到对所述待访问数据的存储指令时,显示权限信息的设置界面;
设置模块,被配置为当基于所述设置界面接收到允许所述第一应用程序访问所述待访问数据的操作时,将所述待访问数据的权限信息设置为允许访问;
所述设置模块,还被配置为当基于所述设置界面接收到禁止所述第一应用程序访问所述待访问数据的操作时,将所述待访问数据的权限信息设置为禁止访问。
在另一种可能的实现方式中,所述装置还包括:
所述显示模块,还被配置为显示所述第二应用程序对应的权限设置界面;
所述设置模块,还被配置为当基于所述权限设置界面接收到允许所述第一应用程序访问所述第二应用程序的数据的操作时,将所述第二应用程序的数据的权限信息设置为允许访问;
所述设置模块,还被配置为当基于所述权限设置界面接收到禁止所述第一应用程序访问所述第二应用程序的数据的操作时,将所述第二应用程序的数据的权限信息设置为禁止访问。
在另一种可能的实现方式中,所述装置还包括:
转换模块,被配置为当根据所述权限信息,确定所述第一应用程序不具有访问所述待访问数据的权限时,将所述第一访问路径转换为第二访问路径;
所述访问模块,还被配置为基于所述第二访问路径,从所述第二访问路径对应的存储空间中读取所述第二访问路径对应的数据,将读取到的所述第二访问路径对应的数据返回给所述第一应用程序;或者,
所述访问模块,还被配置为当从所述第二访问路径对应的存储空间中读取不到所述第二访问路径对应的数据时,返回提示信息,所述提示信息用于指示所述第一应用程序不具有访问所述待访问数据的权限。
在另一种可能的实现方式中,所述装置还包括:
所述转换模块,还被配置为当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第一应用程序的数据时,将所述第一访问路径转换为第二访问路径;
重定向模块,被配置为将第二访问路径重定向为第三访问路径;
所述访问模块,还被配置为基于所述第三访问路径,从所述第三访问路径对应的存储空间中读取所述第三访问路径对应的数据,将读取到的所述第三访问路径对应的数据返回给所述第一应用程序。
根据本申请实施例的另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一可能实现方式所述的数据访问方法。
根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一可能实现方式所述的数据访问方法。
在本申请实施例中,运行在沙箱内的第一应用程序在访问数据时发送数据访问请求,数据访问请求携带用于访问待访问数据的第一访问路径,当根据第一访问路径的路径索引确定数据访问请求用于访问终端上的第二应用程序的数据,且第一应用程序具有访问待访问数据的权限时,屏蔽对第一访问路径的重定向,基于第一访问路径,从第一访问路径对应的存储空间中读取待访问数据,将读取到的数据返回给第一应用程序。本申请引入路径索引和权限信息,当根据路径索引和权限信息,确定沙箱内的第一应用程序要访问沙箱外的第二应用程序的数据、且具有访问第二应用程序的数据的权限时,屏蔽对第一访问路径的重定向,基于第一访问路径访问待访问数据。当第一应用程序具有访问第二应用程序的数据的权限时,第一应用程序能够访问第二应用程序的数据,提高了数据访问的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种应用程序访问数据的示意图;
图3是本申请实施例提供的一种第一应用程序访问数据的示意图;
图4是本申请实施例提供的一种权限信息检查的示意图;
图5是本申请实施例提供的一种路径的重定向的示意图;
图6是本申请实施例提供的一种数据访问方法的流程图;
图7是本申请实施例提供的一种数据访问方法的流程图;
图8是本申请实施例提供的一种数据访问装置的结构示意图;
图9是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等(如果存在)是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境中包括终端101和服务器102;终端101和服务器102之间通过无线或者有线网络连接。并且,终端101上可以安装有服务器102提供服务的应用程序,终端101对应的用户可以通过应用程序实现例如数据传输、消息交互等功能。
终端101可以为电脑、手机、平板电脑或者其他电子设备。应用程序可以为终端101上安装的任一应用程序;并且,应用程序可以为终端101操作***中的应用程序,还可以为第三方提供的应用程序。例如,应用程序可以为社交应用、音乐应用、视频应用、购物应用或者信息浏览应用等。信息浏览应用可以为新闻应用或者阅读应用等。服务器102可以为应用程序对应的后台服务器102。相应的,服务器102可以为社交应用服务器、音乐服务器、视频服务器、购物服务器或者信息浏览应用服务器等。
在安卓***中,数据的访问主要是通过内容提供者(Content Provider)组件进行的。参见图2,应用程序通过内容提供者组件可以对不同的数据进行访问,具体的,业务层(Business Layer)的应用程序可以基于进程间通信机制(Binder)和匿名共享内存子***(Ashmem,Anonymous Shared Memory),通过数据访问层(Data Access Layer)的内容提供者组件,对数据层(Data Layer)的网络资源(Internet)、轻型数据库(SQLite)、文件(Files)进行读写操作。
在本申请实施例中,终端上能够同时运行两个相同的应用程序。其中,一个应用程序运行在沙箱内,另一个应用程序运行在沙箱外。为区分两个应用程序,将运行在沙箱内的应用程序描述为第一应用程序,将运行在沙箱外的应用程序描述为第二应用程序。第一应用程序和第二应用程序可以基于不同的账号运行,例如,应用程序为社交应用,第一应用程序可以登录用于工作交流的工作账号,第二应用程序可以登录用于个人生活交流的个人账号。应用程序会在外部存储空间中存储一些占用空间较大的数据,例如,一些占用空间较大的图片、视频、音频或者文件等数据会存储在外部存储空间。沙箱内的第一应用程序可以通过沙箱内的虚拟存储空间进行数据的读写操作,该虚拟存储空间的实现是通过对数据路径的重定向实现的,参见图3,第一应用程序发起对数据的读写操作,通过钩子(Hook)技术钩住第一应用程序对数据的读写操作,将该读写操作指定的数据路径重定向到沙箱内的虚拟存储空间中去,通过***调用实现对沙箱内的虚拟存储空间的数据的读写操作。例如,第一应用程序对数据的读写操作指定的数据路径为“/sdcard/tencent/QQ_Images”,将该数据路径重定向为“/sdcard/sandbox/tencent/QQ_Images”,以实现第一应用程序对沙箱内的虚拟存储空间的数据的读写操作。
第一应用程序的数据路径经过重定向,只能访问虚拟存储空间中的数据,实现第一应用程序存储的数据和第二应用程序存储的数据的隔离。在实际应用中,第一应用程序和第二应用程序存储的某些数据不需要隔离,例如,某些可以公开的图片不需要隔离。通过本申请实施例提供的方法,终端能够根据动态设置的数据的权限信息灵活地访问数据。例如,参见图4,当第一应用程序要访问多媒体库时,需要进行权限信息的检查。当权限信息用于指示第一应用程序具有访问第二应用程序的多媒体库的权限时,也即权限信息为允许访问时,第一应用程序能够访问第二应用程序的多媒体库;当权限信息用于指示第一应用程序不具有访问第二应用程序的多媒体库的权限时,第一应用程序访问不到第二应用程序的多媒体库。
第一应用程序在访问数据时,终端会对访问数据的路径进行重定向。终端可以根据重定向规则,对路径进行重定向。重定向规则可以为增加沙箱前缀或者删除沙箱前缀。路径中的沙箱前缀可以为“/sandbox”。例如,参见图5,当第一应用程序访问数据的路径为“/sdcard/app1/Images(/存储卡/第一应用程序/图片)”时,终端将第一应用程序访问数据的路径重定向为“/sdcard/sandbox/app1/Images(/存储卡/沙箱/第一应用程序/图片)”。当第一应用程序访问数据的路径为“/sdcard/sandbox/app1/Images”时,终端将第一应用程序访问数据的路径重定向为“/sdcard/app1/Images”。
图6是本申请实施例提供的一种数据访问方法的流程图。参见图6,该实施例包括:
601、终端接收终端上的第一应用程序发送的数据访问请求,数据访问请求携带用于访问待访问数据的第一访问路径。
数据访问请求用于请求访问待访问数据。第一访问路径为待访问数据在存储空间中存储的路径,用于从存储空间中读取待访问数据。
当终端上显示第一应用程序的界面,且接收到用户执行的用于指示对待访问数据的访问操作时,第一应用程序向终端的操作***发送数据访问请求。操作***接收终端上的第一应用程序发送的数据访问请求,数据访问请求携带用于访问待访问数据的第一访问路径。用户执行的用于指示对待访问数据的访问操作可以为点击操作、手势操作或者语音控制操作等,在此不做具体限定。
例如,第一应用程序为社交应用,当终端上显示第一应用程序的聊天界面时,用户点击界面上分享第二应用程序的图片的控件,第一应用程序向操作***发送数据访问请求,该数据访问请求用于请求访问第二应用程序的图片,且该数据访问请求携带第二应用程序的图片的第一访问路径。
602、终端获取第一访问路径的路径索引。
第一访问路径的路径索引,用于确定第一访问路径是用于访问沙箱内的第一应用程序对应的存储空间的,或者用于确定第一访问路径是用于访问沙箱外的第二应用程序对应的存储空间的。
终端可以从存储第一访问路径和第一访问路径的路径索引的数据库中,获取第一访问路径的路径索引。
终端在获取第一访问路径的路径索引之前,可以生成第一访问路径的路径索引,将第一访问路径和第一访问路径的索引存储在数据库中。在一种可能的实现方式中,终端生成第一访问路径的路径索引的步骤可以为:终端在存储待访问数据时,根据存储待访问数据的应用程序对应的存储空间中存储的数据的个数,确定第一访问路径的路径索引。
例如,终端上的应用程序在存储待访问数据时,该应用程序的存储空间中已经存储的数据的个数为10,则待访问数据为该应用程序要存储的第11个数据,可以生成待访问数据的第一访问路径的路径索引为11。
在另一种可能的实现方式中,终端可以根据第一访问路径的形式,生成第一访问路径的索引。相应的,终端生成第一访问路径的路径索引的步骤还可以为:终端在存储待访问数据时,根据该待访问数据所在的应用程序,该待访问数据的数据类型等信息,生成该待访问数据的第一访问路径;终端根据待访问数据的第一访问路径的形式,生成该待访问数据的路径索引。
例如,用于访问沙箱内的第一应用程序对应的存储空间的路径通常带有“sandbox”,用于访问沙箱外的第二应用程序对应的存储空间的路径通常没有“sandbox”。终端可以根据第一访问路径中是否带有“sandbox”,生成第一访问路径的索引。当第一访问路径中不带有“sandbox”时,生成第一访问路径的索引为“0”;当第一访问路径中带有“sandbox”时,生成第一访问路径的索引为“1”。
603、终端根据路径索引,确定数据访问请求用于访问终端上的第二应用程序的数据。
第一应用程序通过内容提供者组件访问数据时,可以通过内容提供者组件获取路径访问工具,根据路径索引和路径访问工具中的索引的匹配情况,确定数据访问请求用于访问终端上的第二应用程序的数据。相应的,本步骤可以为:终端将路径索引与路径访问工具中的每个索引进行匹配,路径访问工具包括第一路径访问工具和第二路径访问工具,第一路径访问工具中包括第一应用程序的至少一个第一数据的第一存储路径的第一索引,第二路径访问工具中包括第二应用程序的至少一个第二数据的第二存储路径的第二索引;当路径索引与第二路径访问工具中的第二索引匹配时,确定数据访问请求用于访问终端上的第二应用程序的数据。当路径索引与第一路径访问工具中的第一索引匹配时,确定数据访问请求用于访问终端上的第一应用程序的数据。
例如,路径访问工具中的索引为“1”、“2”、“3”、“4”和“5”;第一路径访问工具中的第一索引为“1”、“2”和“4”;第二路径访问工具中的第二索引为“3”和“5”。当第一访问数据的路径索引为“3”时,该路径索引与第二路径访问工具中的第二索引匹配,确定数据访问请求用于访问终端上的第二应用程序的数据;当第一访问数据的路径索引为“2”时,该路径索引与第一路径访问工具中的第一索引匹配,确定数据访问请求用于访问终端上的第一应用程序的数据。
其中,参见图7,第一应用程序通过内容提供者组件访问数据时,可以通过内容提供者组件提供的查询(query)方法,获取路径访问工具。终端获取第一访问路径的路径索引,将该路径索引和路径访问工具中的索引匹配,即可确定数据访问请求用于访问终端上的第一应用程序的数据或者数据访问请求用于访问终端上的第二应用程序的数据。沙箱场景中,对路径的重定向,一般通过在路径中增加“sandbox”实现。第一应用程序的数据的第一存储路径通常带有“sandbox”,可以将第一应用程序的第一存储路径看作“被重定向”的路径,第二应用程序的数据的第二存储路径通常没有“sandbox”,可以将第二应用程序的第二存储路径看作没有“被重定向”的路径。对数据访问请求用于访问终端上的第一应用程序的数据或者数据访问请求用于访问第二应用程序的数据的判断,可以看作“第一访问路径是否被重定向”的判断。当第一访问路径被重定向时,表示数据访问请求用于访问第一应用程序的数据,当第一访问路径没有被重定向时,表示数据访问请求用于访问第二应用程序的数据。
需要说明的一点是,将路径索引与路径访问工具中的每个索引进行匹配之前,还需要根据第一应用程序存储的数据的第一存储路径和第二应用程序存储的数据的第二存储路径,生成路径访问工具。相应的,根据第一应用程序存储的数据的第一存储路径和第二应用程序存储的数据的第二存储路径,生成路径访问工具可以通过以下步骤(1)至(3)实现:
(1)终端获取第一应用程序的至少一个第一数据的第一存储路径和第二应用程序的至少一个第二数据的第二存储路径。
终端在初次应用本申请实施例提供的数据访问方法时,需要初始化路径访问工具。终端需要获取当前第一应用程序在沙箱内的存储空间存储的至少一个第一数据的第一存储路径和当前第二应用程序在沙箱外的存储空间存储的至少一个第二数据的第二存储路径。
例如,终端在初始化路径访问工具时,第一应用程序在沙箱内的存储空间存储有10个第一数据,第二应用程序在沙箱外的存储空间存储有8个第二数据,终端需要分别获取10个第一数据中每个第一数据的第一存储路径和8个第二数据中每个第二数据的第二存储路径。
当有新的第一数据存储在第一应用程序对应的存储空间或有新的第二数据存储在第二应用程序对应的存储空间中时,终端获取该第一数据的第一存储路径或该第二数据的第二存储路径。
(2)终端根据每个第一数据的第一存储路径,生成每个第一数据的第一存储路径对应的第一索引,以及,根据每个第二数据的第二存储路径,生成每个第二数据的第二存储路径对应的第二索引。
本步骤与终端生成第一访问路径的路径索引的步骤相似,在此不再赘述。
(3)终端将每个第一数据的第一存储路径对应的第一索引封装在第一路径访问工具中,以及,将每个第二数据的第二存储路径对应的第二索引封装在第二路径访问工具中;将第一路径访问工具和第二路径访问工具合并为路径访问工具。
终端将每个第一数据的第一存储路径对应的第一索引封装在第一路径访问工具中,当第一访问路径的路径索引与第一路径访问工具中的第一索引匹配时,可以确定第一访问路径对应的数据访问请求用于访问第一应用程序的数据。终端将没个第二数据的第二存储路径对应的第二索引封装在第二路径访问工具中,当第一访问路径的路径索引与第二路径访问工具中的第二索引匹配时,可以确定第一访问路径对应的数据访问请求用于访问第二应用程序的数据。
终端将第一路径访问工具和第二路径访问工具合并为路径访问工具,当第一应用程序通过内容提供者组件访问数据时,可以通过内容提供者组件提供的查询方法,获取路径访问工具,将第一访问路径的路径索引分别与第一路径访问工具中的第一索引和第二路径访问工具中的第二索引匹配,当第一访问路径的路径索引与第一路径访问工具中的第一索引匹配时,确定数据访问请求用于访问第一应用程序的数据,当第一访问路径的路径索引与第二路径访问工具中的第二索引匹配时,确定数据访问请求用于访问第二应用程序的数据。
需要说明的另一点是,终端可以通过步骤602和步骤603,确定数据访问请求用于访问终端上的第二应用程序的数据。终端也可以根据第一访问路径的形式,确定数据访问请求用于访问终端上的第二应用程序的数据。沙箱场景中,第一应用程序的数据的第一存储路径通常带有“sandbox”,第二应用程序的数据的第二存储路径通常没有“sandbox”。可以通过确定第一访问路径中是否带有“sandbox”,确定数据访问请求用于访问终端上的第一应用程序的数据或者数据访问请求用于访问第二应用程序的数据。当第一访问路径中带有“sandbox”时,确定数据访问请求用于访问终端上的第一应用程序的数据,当第一访问路径中没有“sandbox”时,确定数据访问请求用于访问终端上的第二应用程序的数据。
需要说明的一点是,终端根据路径索引,还可能确定数据访问请求用于访问终端上的第一应用程序的数据。当终端根据路径索引,确定数据访问请求用于访问终端上的第一应用程序的数据时,不再执行步骤604和步骤605。
当终端根据路径索引,确定数据访问请求用于访问终端上的第一应用程序的数据时,将第一访问路径转换为第二访问路径;将第二访问路径重定向为第三访问路径;基于第三访问路径,从第三访问路径对应的存储空间中读取第三访问路径对应的数据,将读取到的第三访问路径对应的数据返回给第一应用程序。继续参见图7,当终端确定数据访问请求用于访问终端上的第一应用程序的数据时,也即确定第一访问路径被重定向时,将第一访问路径转换为第二访问路径。
其中,将第一访问路径转换为第二访问路径的步骤可以根据重定向规则实现。例如,第一访问路径为“/sdcard/sandbox/tencent/QQ_Images”,根据重定向规则,转换为的第二访问路径为“/sdcard/tencent/QQ_Images”。
第一应用程序在访问数据时,终端会对访问数据的路径进行重定向。终端会将第二访问路径重定向为第三访问路径。例如,第二访问路径为“/sdcard/tencent/QQ_Images”,重定向后的第三访问路径为“/sdcard/sandbox/tencent/QQ_Images”。该第三访问路径与第一访问路径相同,用于访问第一应用程序的数据。
在本申请实施例中,终端能够将第一访问路径的路径索引和路径访问工具中的索引进行匹配,确定数据访问请求用于访问终端上的第二应用程序的数据或者数据访问请求用于访问终端上的第一应用程序的数据。通过匹配索引的方式确定数据访问请求用于访问哪一个应用程序的数据,效率较高。
604、当根据路径索引,确定数据访问请求用于访问终端上的第二应用程序的数据时,终端获取待访问数据的权限信息。
第一应用程序和第二应用程序为同一应用程序,且第一应用程序运行在终端的沙箱内,第二应用程序运行在沙箱外。
终端可以将待访问数据的权限信息存储在第一应用程序能够访问的存储空间中,当确定数据访问请求用于访问终端上的第二应用程序的数据时,终端从存储权限信息的存储空间中获取待访问数据的权限信息。终端可以将待访问数据的第一访问路径和待访问数据的权限信息关联起来,根据第一访问路径,获取待访问数据的权限信息。终端也可以将待访问数据的第一访问路径的路径索引和待访问数据的权限信息关联起来,根据路径索引,获取待访问数据的权限信息。
终端也可以将待访问数据的权限信息存储在服务器中,当确定数据访问请求用于访问终端上的第二应用程序的数据时,终端从服务器中获取待访问数据的权限信息。
终端还可以通过其他方式获取待访问数据的权限信息,在此对终端获取待访问数据的权限信息的方式不做具体限定。
在本申请实施例中,终端能够获取待访问数据的权限信息,从而能够根据权限信息访问数据,提高数据访问的灵活性。
需要说明的一点是,终端支持用户在存储数据时设置数据的权限信息。在一种可能的实现方式中,终端获取待访问数据的权限信息之前,可以接收通过第二应用程序设置的权限信息。相应的,终端支持用户在存储数据时设置数据的权限信息的步骤可以为:在第二应用程序中,当接收到对待访问数据的存储指令时,终端显示权限信息的设置界面;当基于设置界面接收到允许第一应用程序访问待访问数据的操作时,终端将待访问数据的权限信息设置为允许访问;当基于设置界面接收到禁止第一应用程序访问待访问数据的操作时,终端将待访问数据的权限信息设置为禁止访问。
在终端运行第二应用程序时,当用户触发存储待访问数据的操作时,终端接收到对待访问数据的存储指令,显示权限信息的设置界面。该设置界面用于询问用户沙箱内的第一应用程序是否能够访问该待访问数据。例如,该设置界面可以设置为弹出窗口,当用户触发保存图片的操作时,该设置界面显示在当前界面中,提供“这张图片是否允许第一应用程序访问”的文字信息以及可以点击的“是”和“否”的按钮。当接收到对“是”的点击操作时,终端将该图片的权限信息设置为允许访问,当接收到对“否”的点击操作时,终端将该图片的权限信息设置为禁止访问。
在另一种可能的实现方式中,终端还支持用户为已存储的数据设置权限信息。终端获取待访问数据的权限信息之前,可以通过终端的操作***中的设置界面或者终端上提供沙箱环境的应用程序的设置界面,接收用户设置的权限信息。相应的,终端支持用户为已存储的数据设置权限信息的步骤可以为:终端显示第二应用程序对应的权限设置界面;当基于权限设置界面接收到允许第一应用程序访问第二应用程序的数据的操作时,终端将第二应用程序的数据的权限信息设置为允许访问;当基于权限设置界面接收到禁止第一应用程序访问第二应用程序的数据的操作时,终端将第二应用程序的数据的权限信息设置为禁止访问。
终端可以将第二应用程序对应的权限设置界面设置为终端操作***中的设置界面的子界面。终端也可以将第二应用程序对应的权限设置界面设置为终端上提供沙箱环境的应用程序的设置界面的子界面。终端还可以将第二应用程序对应的权限设置界面设置为第二应用程序一个子界面。
当接收到用户设置第二应用程序可以双开的操作或者接收到用户打开权限设置界面的操作时,显示权限设置界面,用于询问用户第一应用程序是否能够访问第二应用程序的数据。例如,权限设置界面显示在当前界面中,权限设置界面可以提供“第一应用程序是否能够访问第二应用程序的全部数据”的文字信息以及可以点击的“是”和“否”的按钮。当接收到对“是”的点击操作时,终端将第二应用程序的数据的权限信息设置为允许访问,即第一应用程序能够访问第二应用程序存储在外部存储空间的全部数据;当接收到对“否”的点击操作时,终端将第二应用程序的数据的权限信息设置为禁止访问,即第一应用程序没有访问第二应用程序的数据的权限。
权限设置界面还可以用于询问用户第一应用程序能够访问第二应用程序的哪些数据。例如,弹出窗口显示在当前界面中,弹出窗口可以提供“第一应用程序可以访问第二应用程序的哪些数据”的文字信息以及“图片”、“影音”、“文档”和“禁止访问”等选项。当接收到用户选择“图片”选项的操作时,终端将权限信息设置为第一应用程序能够访问第二应用程序存储在外部存储空间的图片;当接收到用户选择“禁止访问”选项的操作时,终端将权限信息设置为第一应用程序没有访问第二应用程序的数据的权限。
在本申请实施例中,终端支持用户设置待访问数据的权限信息,用户能够根据自身需要,设置哪些数据可以共享,哪些数据不能共享,能够提升用户的体验度。
605、当根据权限信息,确定第一应用程序具有访问待访问数据的权限时,终端屏蔽对第一访问路径的重定向;基于第一访问路径,从第一访问路径对应的存储空间中读取待访问数据,将读取到的数据返回给第一应用程序。
第一应用程序在访问数据时,终端会对访问数据的路径进行重定向。当确定第一应用程序具有访问待访问数据的权限时,允许第一应用程序访问第二应用程序的待访问数据,不需要将指向第二应用程序的存储空间的第一访问路径进行重定向。当第一应用程序具有访问第二应用程序的待访问数据的权限时,终端需要屏蔽对第一访问路径的重定向。
当终端确定第一应用程序具有访问待访问数据的权限时,可以标记第一访问路径不需要被重定向。例如,当终端确定第一应用程序具有访问待访问数据的权限时,第一访问路径可以携带标记“1”,标记“1”用于表示第一访问路径不需要被重定向。终端执行对第一访问路径的重定向操作之前,判断第一访问路径是否携带标记“1”。若第一访问路径携带标记“1”,则不执行对第一访问路径的重定向操作,即屏蔽对第一访问路径的重定向;若第一访问路径不携带标记“1”,则执行对第一访问路径的重定向操作。
在本申请实施例中,当第一应用程序具有访问第二应用程序的数据的权限时,终端屏蔽对第一访问路径的重定向,从而第一应用程序能够访问第二应用程序的数据,第一应用程序和第二应用程序的数据不再完全隔离,提高了数据访问的灵活性。
需要说明的一点是,终端根据权限信息,还可能确定第一应用程序不具有访问待访问数据的权限。当第一应用程序不具有访问待访问数据的权限时,第一应用程序不能访问到待访问数据。
在一种可能的实现方式中,当终端确定第一应用程序不具有访问待访问数据的权限时,将第一访问路径重定向为第一应用程序对应的存储空间中,从第一应用程序对应的存储空间中读取数据。相应的,当终端确定第一应用程序不具有访问待访问数据的权限时访问数据的步骤可以为:当终端根据权限信息,确定第一应用程序不具有访问待访问数据的权限时,将第一访问路径转换为第二访问路径;基于第二访问路径,从第二访问路径对应的存储空间中读取第二访问路径对应的数据,将读取到的第二访问路径对应的数据返回给第一应用程序。
在一种可能的实现方式中,第二访问路径可以为第一访问路径根据重定向规则生成的路径。重定向规则可以为在第一访问路径的指定位置增加“sandbox”前缀。例如,第一访问路径为“/sdcard/tencent/QQ_Images/img_1”,则第一访问路径根据重定向规则生成的第二访问路径可以为“/sdcard/sandbox/tencent/QQ_Images/img_1”。
在另一种可能的实现方式中,在第二访问路径对应的存储空间中,第二访问路径没有对应的数据。当从第二访问路径对应的存储空间中读取不到第二访问路径对应的数据时,返回提示信息,提示信息用于指示第一应用程序不具有访问待访问数据的权限。
在另一种可能的实现方式中,当终端确定第一应用程序不具有访问待访问数据的权限时,还可以直接返回提示信息,提示信息用于指示第一应用程序不具有访问待访问数据的权限。不再执行将第一访问路径转换为第二访问路径的步骤。
在另一种可能的实现方式中,当终端确定第一应用程序不具有访问待访问数据的权限时,还可以不返回任何信息或数据,不再执行将第一访问路径转换为第二访问路径的步骤。
需要说明的一点是,继续参见图7,当确定第一应用程序具有访问待访问数据的权限时,也即确定第一访问路径没有被重定向时,终端屏蔽对第一访问路径的重定向。在基于第一访问路径,从第一访问路径对应的存储空间中读取待访问数据,将读取到的数据返回给第一应用程序,也即完成数据操作之后,解除对第一访问路径的重定向的屏蔽,也即恢复对第一访问路径的重定向。
在本申请实施例中,当第一应用程序不具有访问第二应用程序的数据的权限时,第一应用程序访问不到第二应用程序的待访问数据,能够提高数据访问的安全性。
在本申请实施例中,引入了路径索引和权限信息,当根据路径索引和权限信息,确定沙箱内的第一应用程序要访问沙箱外的第二应用程序的数据、且具有访问第二应用程序的数据的权限时,屏蔽对第一访问路径的重定向,基于第一访问路径访问待访问数据。当第一应用程序具有访问第二应用程序的数据的权限时,第一应用程序能够访问第二应用程序的数据,提高了数据访问的灵活性。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图8是本申请实施例提供的一种数据访问装置的结构示意图。参见图8,该装置包括:
接收模块801,被配置为接收终端上的第一应用程序发送的数据访问请求,数据访问请求携带用于访问待访问数据的第一访问路径;
获取模块802,被配置为获取第一访问路径的路径索引;当根据路径索引,确定数据访问请求用于访问终端上的第二应用程序的数据时,获取待访问数据的权限信息,第一应用程序和第二应用程序为同一应用程序,且第一应用程序运行在终端的沙箱内,第二应用程序运行在沙箱外;
屏蔽模块803,被配置为当根据权限信息,确定第一应用程序具有访问待访问数据的权限时,屏蔽对第一访问路径的重定向;
访问模块804,被配置为基于第一访问路径,从第一访问路径对应的存储空间中读取待访问数据,将读取到的数据返回给第一应用程序。
在一种可能的实现方式中,该装置还包括:匹配模块,被配置为将路径索引与路径访问工具中的每个索引进行匹配,路径访问工具包括第一路径访问工具和第二路径访问工具,第一路径访问工具中包括第一应用程序的至少一个第一数据的第一存储路径的第一索引,第二路径访问工具中包括第二应用程序的至少一个第二数据的第二存储路径的第二索引;
确定模块,被配置为当路径索引与第二路径访问工具中的第二索引匹配时,确定数据访问请求用于访问终端上的第二应用程序的数据。
在另一种可能的实现方式中,该装置还包括:
获取模块802,还被配置为获取第一应用程序的至少一个第一数据的第一存储路径和第二应用程序的至少一个第二数据的第二存储路径;
生成模块,被配置为根据每个第一数据的第一存储路径,生成每个第一数据的第一存储路径对应的第一索引,以及,根据每个第二数据的第二存储路径,生成每个第二数据的第二存储路径对应的第二索引;
封装模块,被配置为将每个第一数据的第一存储路径对应的第一索引封装在第一路径访问工具中,以及,将每个第二数据的第二存储路径对应的第二索引封装在第二路径访问工具中;
合并模块,被配置为将第一路径访问工具和第二路径访问工具合并为路径访问工具。
在另一种可能的实现方式中,该装置还包括:
显示模块,被配置为在第二应用程序中,当接收到对待访问数据的存储指令时,显示权限信息的设置界面;
设置模块,被配置为当基于设置界面接收到允许第一应用程序访问待访问数据的操作时,将待访问数据的权限信息设置为允许访问;
设置模块,还被配置为当基于设置界面接收到禁止第一应用程序访问待访问数据的操作时,将待访问数据的权限信息设置为禁止访问。
在另一种可能的实现方式中,该装置还包括:
显示模块,还被配置为显示第二应用程序对应的权限设置界面;
设置模块,还被配置为当基于权限设置界面接收到允许第一应用程序访问第二应用程序的数据的操作时,将第二应用程序的数据的权限信息设置为允许访问;
设置模块,还被配置为当基于权限设置界面接收到禁止第一应用程序访问第二应用程序的数据的操作时,将第二应用程序的数据的权限信息设置为禁止访问。
在另一种可能的实现方式中,该装置还包括:
转换模块,被配置为当根据权限信息,确定第一应用程序不具有访问待访问数据的权限时,将第一访问路径转换为第二访问路径;
访问模块804,还被配置为基于第二访问路径,从第二访问路径对应的存储空间中读取第二访问路径对应的数据,将读取到的第二访问路径对应的数据返回给第一应用程序;或者,
访问模块804,还被配置为当从第二访问路径对应的存储空间中读取不到第二访问路径对应的数据时,返回提示信息,提示信息用于指示第一应用程序不具有访问待访问数据的权限。
在另一种可能的实现方式中,该装置还包括:
转换模块,还被配置为当根据路径索引,确定数据访问请求用于访问终端上的第一应用程序的数据时,将第一访问路径转换为第二访问路径;
重定向模块,被配置为将第二访问路径重定向为第三访问路径;
访问模块804,还被配置为基于第三访问路径,从第三访问路径对应的存储空间中读取第三访问路径对应的数据,将读取到的第三访问路径对应的数据返回给第一应用程序。
在本申请实施例中,引入了路径索引和权限信息,当根据路径索引和权限信息,确定沙箱内的第一应用程序要访问沙箱外的第二应用程序的数据、且具有访问第二应用程序的数据的权限时,屏蔽对第一访问路径的重定向,基于第一访问路径访问待访问数据。当第一应用程序具有访问第二应用程序的数据的权限时,第一应用程序能够访问第二应用程序的数据,提高了数据访问的灵活性。
需要说明的是:上述实施例提供的数据访问装置在数据访问时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据访问装置与数据访问方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器901所执行以实现本申请中方法实施例提供的数据访问方法。
在一些实施例中,终端900还可选包括有:***设备接口903和至少一个***设备。处理器901、存储器902和***设备接口903之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口903相连。具体地,***设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
***设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和***设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和***设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码可由终端中的处理器执行以完成上述实施例中数据访问方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请还提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序,所述计算机程序被处理器执行时,用于实现上述各个方法实施例提供的数据访问方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据访问方法,其特征在于,所述方法包括:
接收终端上的第一应用程序发送的数据访问请求,所述数据访问请求携带用于访问待访问数据的第一访问路径;
获取所述第一访问路径的路径索引;
当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第二应用程序的数据时,获取所述待访问数据的权限信息,所述第一应用程序和所述第二应用程序为同一应用程序,且所述第一应用程序运行在所述终端的沙箱内,所述第二应用程序运行在所述沙箱外;
当根据所述权限信息,确定所述第一应用程序具有访问所述待访问数据的权限时,屏蔽对所述第一访问路径的重定向;
基于所述第一访问路径,从所述第一访问路径对应的存储空间中读取所述待访问数据,将读取到的数据返回给所述第一应用程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述路径索引与路径访问工具中的每个索引进行匹配,所述路径访问工具包括第一路径访问工具和第二路径访问工具,所述第一路径访问工具中包括所述第一应用程序的至少一个第一数据的第一存储路径的第一索引,所述第二路径访问工具中包括所述第二应用程序的至少一个第二数据的第二存储路径的第二索引;
当所述路径索引与所述第二路径访问工具中的第二索引匹配时,确定所述数据访问请求用于访问终端上的第二应用程序的数据。
3.根据权利要求2所述的方法,其特征在于,所述将所述路径索引与路径访问工具中的每个索引进行匹配之前,所述方法还包括:
获取所述第一应用程序的至少一个第一数据的第一存储路径和所述第二应用程序的至少一个第二数据的第二存储路径;
根据每个第一数据的第一存储路径,生成所述每个第一数据的第一存储路径对应的第一索引,以及,根据每个第二数据的第二存储路径,生成所述每个第二数据的第二存储路径对应的第二索引;
将所述每个第一数据的第一存储路径对应的第一索引封装在所述第一路径访问工具中,以及,将所述每个第二数据的第二存储路径对应的第二索引封装在所述第二路径访问工具中;
将所述第一路径访问工具和所述第二路径访问工具合并为所述路径访问工具。
4.根据权利要求1所述的方法,其特征在于,所述获取所述待访问数据的权限信息之前,所述方法还包括:
在所述第二应用程序中,当接收到对所述待访问数据的存储指令时,显示权限信息的设置界面;
当基于所述设置界面接收到允许所述第一应用程序访问所述待访问数据的操作时,将所述待访问数据的权限信息设置为允许访问;
当基于所述设置界面接收到禁止所述第一应用程序访问所述待访问数据的操作时,将所述待访问数据的权限信息设置为禁止访问。
5.根据权利要求1所述的方法,其特征在于,所述获取所述待访问数据的权限信息之前,所述方法还包括:
显示所述第二应用程序对应的权限设置界面;
当基于所述权限设置界面接收到允许所述第一应用程序访问所述第二应用程序的数据的操作时,将所述第二应用程序的数据的权限信息设置为允许访问;
当基于所述权限设置界面接收到禁止所述第一应用程序访问所述第二应用程序的数据的操作时,将所述第二应用程序的数据的权限信息设置为禁止访问。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当根据所述权限信息,确定所述第一应用程序不具有访问所述待访问数据的权限时,将所述第一访问路径转换为第二访问路径;
基于所述第二访问路径,从所述第二访问路径对应的存储空间中读取所述第二访问路径对应的数据,将读取到的所述第二访问路径对应的数据返回给所述第一应用程序;或者,
当从所述第二访问路径对应的存储空间中读取不到所述第二访问路径对应的数据时,返回提示信息,所述提示信息用于指示所述第一应用程序不具有访问所述待访问数据的权限。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第一应用程序的数据时,将所述第一访问路径转换为第二访问路径;
将第二访问路径重定向为第三访问路径;
基于所述第三访问路径,从所述第三访问路径对应的存储空间中读取所述第三访问路径对应的数据,将读取到的所述第三访问路径对应的数据返回给所述第一应用程序。
8.一种数据访问装置,其特征在于,所述装置包括:
接收模块,被配置为接收终端上的第一应用程序发送的数据访问请求,所述数据访问请求携带用于访问待访问数据的第一访问路径;
获取模块,被配置为获取所述第一访问路径的路径索引;当根据所述路径索引,确定所述数据访问请求用于访问所述终端上的第二应用程序的数据时,获取所述待访问数据的权限信息,所述第一应用程序和所述第二应用程序为同一应用程序,且所述第一应用程序运行在所述终端的沙箱内,所述第二应用程序运行在所述沙箱外;
屏蔽模块,被配置为当根据所述权限信息,确定所述第一应用程序具有访问所述待访问数据的权限时,屏蔽对所述第一访问路径的重定向;
访问模块,被配置为基于所述第一访问路径,从所述第一访问路径对应的存储空间中读取所述待访问数据,将读取到的数据返回给所述第一应用程序。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1-7任一项所述的数据访问方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1-7任一项所述的数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911098758.2A CN110851823B (zh) | 2019-11-12 | 2019-11-12 | 数据访问方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911098758.2A CN110851823B (zh) | 2019-11-12 | 2019-11-12 | 数据访问方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851823A true CN110851823A (zh) | 2020-02-28 |
CN110851823B CN110851823B (zh) | 2023-03-10 |
Family
ID=69601586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911098758.2A Active CN110851823B (zh) | 2019-11-12 | 2019-11-12 | 数据访问方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851823B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399790A (zh) * | 2020-02-29 | 2020-07-10 | 惠州华阳通用电子有限公司 | 一种画面共享***及其实现方法 |
CN112199183A (zh) * | 2020-11-02 | 2021-01-08 | Tcl通讯(宁波)有限公司 | 控制应用场景数据的方法、装置、存储介质及移动终端 |
CN112528273A (zh) * | 2020-12-29 | 2021-03-19 | 天津开心生活科技有限公司 | 医疗数据的探测方法、装置、介质及电子设备 |
CN115510429A (zh) * | 2022-11-21 | 2022-12-23 | 统信软件技术有限公司 | 沙箱应用访问权限的管控方法、计算设备及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003104954A2 (en) * | 2002-06-06 | 2003-12-18 | Green Border Technologies | Methods and systems for implementing a secure application execution environment using derived user accounts for internet content |
US20140282501A1 (en) * | 2013-03-12 | 2014-09-18 | Qualcomm Incorporated | Algorithm and Apparatus To Deploy Virtual Machine Monitor on Demand |
EP3048552A1 (en) * | 2015-01-21 | 2016-07-27 | Samsung Electronics Co., Ltd. | Apparatus and method for running multiple instances of a same application in mobile devices |
CN106355100A (zh) * | 2016-11-22 | 2017-01-25 | 北京奇虎科技有限公司 | 一种安全保护***及方法 |
CN106406986A (zh) * | 2016-11-24 | 2017-02-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种资源共享方法及装置 |
CN106503157A (zh) * | 2016-10-24 | 2017-03-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种多开应用***及其数据共享访问方法、*** |
CN106778291A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的隔离方法及隔离装置 |
CN106970978A (zh) * | 2017-03-28 | 2017-07-21 | 联想(北京)有限公司 | 数据共享方法及装置 |
CN109271211A (zh) * | 2017-07-18 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 应用程序的分身方法、装置、设备和介质 |
CN109491725A (zh) * | 2018-11-12 | 2019-03-19 | 火烈鸟网络(广州)股份有限公司 | 应用程序可交互多开方法和***、存储介质、电子设备 |
-
2019
- 2019-11-12 CN CN201911098758.2A patent/CN110851823B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003104954A2 (en) * | 2002-06-06 | 2003-12-18 | Green Border Technologies | Methods and systems for implementing a secure application execution environment using derived user accounts for internet content |
US20140282501A1 (en) * | 2013-03-12 | 2014-09-18 | Qualcomm Incorporated | Algorithm and Apparatus To Deploy Virtual Machine Monitor on Demand |
EP3048552A1 (en) * | 2015-01-21 | 2016-07-27 | Samsung Electronics Co., Ltd. | Apparatus and method for running multiple instances of a same application in mobile devices |
CN106503157A (zh) * | 2016-10-24 | 2017-03-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种多开应用***及其数据共享访问方法、*** |
CN106355100A (zh) * | 2016-11-22 | 2017-01-25 | 北京奇虎科技有限公司 | 一种安全保护***及方法 |
CN106778291A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的隔离方法及隔离装置 |
CN106406986A (zh) * | 2016-11-24 | 2017-02-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种资源共享方法及装置 |
CN106970978A (zh) * | 2017-03-28 | 2017-07-21 | 联想(北京)有限公司 | 数据共享方法及装置 |
CN109271211A (zh) * | 2017-07-18 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 应用程序的分身方法、装置、设备和介质 |
CN109491725A (zh) * | 2018-11-12 | 2019-03-19 | 火烈鸟网络(广州)股份有限公司 | 应用程序可交互多开方法和***、存储介质、电子设备 |
Non-Patent Citations (2)
Title |
---|
P. WRENCH;B. IRWIN: "A Sandbox-Based Approach to the Deobfuscation and Dissection of PHP-Based Malware" * |
崔海娜: "基于虚拟化及重定向技术的Android沙箱的设计与实现" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399790A (zh) * | 2020-02-29 | 2020-07-10 | 惠州华阳通用电子有限公司 | 一种画面共享***及其实现方法 |
CN111399790B (zh) * | 2020-02-29 | 2023-03-28 | 惠州华阳通用电子有限公司 | 一种画面共享***及其实现方法 |
CN112199183A (zh) * | 2020-11-02 | 2021-01-08 | Tcl通讯(宁波)有限公司 | 控制应用场景数据的方法、装置、存储介质及移动终端 |
CN112528273A (zh) * | 2020-12-29 | 2021-03-19 | 天津开心生活科技有限公司 | 医疗数据的探测方法、装置、介质及电子设备 |
CN115510429A (zh) * | 2022-11-21 | 2022-12-23 | 统信软件技术有限公司 | 沙箱应用访问权限的管控方法、计算设备及可读存储介质 |
CN115510429B (zh) * | 2022-11-21 | 2023-04-14 | 统信软件技术有限公司 | 沙箱应用访问权限的管控方法、计算设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110851823B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN110602321B (zh) | 应用程序切换方法、装置、电子装置及存储介质 | |
CN110851823B (zh) | 数据访问方法、装置、终端及存储介质 | |
CN111597008A (zh) | 弹窗管理方法、装置、终端及存储介质 | |
CN109068008B (zh) | 铃声设置方法、装置、终端及存储介质 | |
CN108717365B (zh) | 在应用程序中执行功能的方法和装置 | |
CN111159604A (zh) | 图片资源加载方法及装置 | |
CN113377647B (zh) | 页面处理方法、装置、服务器、终端及可读存储介质 | |
CN113051015B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN107943484B (zh) | 执行业务功能的方法和装置 | |
CN110825465B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111580892B (zh) | 一种业务组件调用的方法、装置、终端和存储介质 | |
CN114816600B (zh) | 会话消息显示方法、装置、终端及存储介质 | |
CN110502708B (zh) | 基于JSBridge进行通信的方法、装置及存储介质 | |
CN111158780B (zh) | 存储应用数据的方法、装置、电子设备及介质 | |
CN109189525B (zh) | 加载子页面的方法、装置、设备及计算机可读存储介质 | |
CN112764824B (zh) | 触发应用程序中身份验证的方法、装置、设备及存储介质 | |
CN111191254B (zh) | 访问校验方法、装置、计算机设备及存储介质 | |
CN113076452A (zh) | 应用分类的方法、装置、设备及计算机可读存储介质 | |
CN111866047B (zh) | 数据解码方法、装置、计算机设备及存储介质 | |
CN113495770A (zh) | 展示应用页面的方法、装置、终端及存储介质 | |
CN110968549A (zh) | 文件存储的方法、装置、电子设备及介质 | |
CN113312249A (zh) | 日志数据生成方法、日志数据显示方法及装置 | |
CN111414563B (zh) | 网页交互的方法、装置、计算机设备和存储介质 | |
CN111275561B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022444 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |