CN117131533A - 打开文件的方法和电子设备 - Google Patents
打开文件的方法和电子设备 Download PDFInfo
- Publication number
- CN117131533A CN117131533A CN202210546576.2A CN202210546576A CN117131533A CN 117131533 A CN117131533 A CN 117131533A CN 202210546576 A CN202210546576 A CN 202210546576A CN 117131533 A CN117131533 A CN 117131533A
- Authority
- CN
- China
- Prior art keywords
- file
- sandbox
- application
- electronic device
- authority
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 244000035744 Hura crepitans Species 0.000 claims abstract description 185
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 36
- 230000006854 communication Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 description 75
- 230000006870 function Effects 0.000 description 22
- 238000007639 printing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 210000000988 bone and bone Anatomy 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150053844 APP1 gene Proteins 0.000 description 1
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 1
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种打开文件的方法和电子设备,该方法包括:响应于用户打开第一文件的操作,对所述第一文件进行解密;根据解密后的所述第一文件配置第一沙箱;通过所述第一沙箱打开所述第一文件。基于该方案,不同的应用程序之间可以相互打开权限文件,进而对权限文件进行操作,有利于提升用户体验。
Description
技术领域
本申请涉及电子设备领域,并且更加具体地,涉及一种打开文件的方法和电子设备。
背景技术
文件的权限管理对于使用文件的人员来说十分重要,例如,为了保护文件,文件创建者可以对某个文件添加权限,可以包括被授权访问的用户账号、设置权限的类型如只读、完全控制等。文件访问者可以根据其对应的权限访问该文件。
然而,各个应用程序实现权限管理的方式不同,导致不同的应用程序之间无法相互打开权限文件,进而对该文件进行操作,影响用户体验。
发明内容
本申请实施例提供一种打开文件的方法和电子设备,不同的应用程序之间可以相互打开权限文件,进而对权限文件进行操作,提升用户体验。
第一方面,提供了一种打开文件的方法,该方法包括:响应于用户打开所述第一文件的第一操作,对第一文件进行解密;根据解密后的所述第一文件配置第一沙箱;通过所述第一沙箱打开所述第一文件。
应理解,该方法可以应用于电子设备,也可以应用于电子设备的操作系统,或者还可以应用于电子设备的操作系统的某个模块,本申请实施例不予限定。
应理解,该第一文件为权限文件,该权限文件可以是文档、视频、音频等文件,本申请实施例不予限定。
还应理解,该第一文件在第一沙箱中处于被解密的状态。或者,放置解密后的第一文件到第一沙箱中。
在本申请实施例中,可以在系统层面对第一文件进行解密,根据解密后的第一文件配置沙箱,从而可以通过配置的第一沙箱打开第一文件,从而用户可以通过不同的应用程序打开权限文件,进而对权限文件进行操作,有利于提升用户体验。另外,各个应用程序实现权限管理的方式不同,如果要求不同的应用程序之间可以相互打开权限文件,就需要应用程序适配相应的权限管理方案。基于上述方案,应用程序不需要适配权限管理方案,也可以打开权限文件,可以降低应用程序的开发难度,有利于扩大应用生态。
结合第一方面,在一种可能的实现方式中,所述对第一文件进行解密,包括:获取所述第一文件的明文。
在本申请实施例中,可以在系统层面对第一文件进行解密,以获取第一文件的明文和第一文件的权限,进而可以在第一文件的权限范围内操作第一文件。
结合第一方面,在一种可能的实现方式中,该方法还包括:获取所述第一文件的权限,将所述第一沙箱的权限设置为与所述第一文件的权限相同。
应理解,第一文件的权限为用户对第一文件的权限。
在本申请实施例中,第一沙箱中可以放置多个权限文件,在用户在后续操作第一文件时,可以鉴权第一沙箱的权限,而不是鉴权每一个文件的权限,有利于对沙箱中的权限文件的权限管理。
结合第一方面,在一种可能的实现方式中,该方法还包括:检测所述用户对所述第一文件的第二操作,确定所述第二操作是否在所述第一沙箱的权限的范围内;若所述第二操作在所述第一沙箱的权限的范围内,执行所述第二操作;若所述第二操作不在所述第一沙箱的权限的范围内,拒绝执行所述第二操作。
在本申请实施例中,用户可以在权限范围内访问和操作该第一文件,从而防止用户越权操作第一文件。
结合第一方面,在一种可能的实现方式中,在所述根据解密后的所述第一文件配置第一沙箱之前,该方法还包括:验证所述第一文件的权限。
在本申请实施例中,可以对第一文件的权限进行验证,从而确定用户具有相应的权限打开第一文件,防止用户越权打开第一文件。在另一方面,如果用户不具有相应的权限打开第一文件,电子设备可以不配置第一沙箱,从而可以节省资源。
结合第一方面,在一种可能的实现方式中,在所述响应于用户打开所述第一文件的第一操作,对第一文件进行解密之前,所述方法还包括:检测到所述第一操作;拦截所述第一操作。
应理解,在传统的方案中,由应用程序直接响应第一操作,那么将不能够打开第一文件,可能会显示错误的界面。在本申请实施例中,用户通过应用程序打开第一文件的操作将被拦截,转而重新调用应用程序通过第一沙箱打开第一文件,在整个过程中用户无感知,从而可以提升用户的使用体验。
结合第一方面,在一种可能的实现方式中,拦截第一应用打开所述第一文件的第一进程;调用所述第一应用的第二进程通过所述第一沙箱打开所述第一文件。
在本申请实施例中,可以拦截或者拒绝第一应用打开第一文件的第一进程,转而调用第一应用通过第一沙箱启动打开第一文件的第二进程,从而可以打开第一文件,进而对第一文件进行操作,提升用户的使用体验。
结合第一方面,在一种可能的实现方式中,该方法还包括:检测到用户对所述第一文件的第三操作,调用第二应用通过第一沙箱执行所述第三操作。
应理解,第三操作在所述第一沙箱的权限范围内。
例如,第一文件为文档,第三操作可以是检测到用户点击了第一文件中的视频、音频等多媒体文件,从而需要第二应用的参与来打开第一文件中的多媒体文件。
又例如,当第三操作为打印操作时,第二应用为打印机程序,当检测到打印操作时,调用打印机程序通过第一沙箱执行打印操作。
在本申请实施例中,第一应用可能不能实现用户对第一文件的全部操作,此时,可以调用第二应用执行相应的操作,从而可以提升用户使用体验。
结合第一方面,在一种可能的实现方式中,该方法还包括:响应于所述用户打开所述第二文件的操作,对第二文件进行解密,通过所述第一沙箱打开所述第二文件,所述第二文件的权限与所述第一沙箱的权限相同。
在本申请实施例中,如果用户对第二文件和第一沙箱的权限相同,可以不需要配置新的沙箱打开第二文件,用户可以通过同一个沙箱操作权限相同的文件,即权限相同的文件共享同一个沙箱,从而可以节省资源,提升电子设备的性能。
第二方面,提供了一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:响应于用户打开所述第一文件的第一操作,对第一文件进行解密;根据所述第一文件配置第一沙箱;通过所述第一沙箱打开所述第一文件。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:获取所述第一文件的明文。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:获取所述第一文件的权限,将所述第一沙箱的权限设置为与所述第一文件的权限相同。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:检测所述用户对所述第一文件的第二操作,确定所述第二操作是否在所述第一沙箱的权限的范围内;若所述第二操作在所述第一沙箱的权限的范围内,执行所述第二操作;若所述第二操作不在所述第一沙箱的权限的范围内,拒绝执行所述第二操作。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:验证所述第一文件的权限。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:检测到所述第一操作;拦截所述第一操作。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:拦截第一应用打开所述第一文件的第一进程;调用所述第一应用的第二进程通过所述第一沙箱打开所述第一文件。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:检测到所述用户对所述第一文件的第三操作,调用第二应用通过第一沙箱执行所述第三操作。
结合第二方面,在一种可能的实现方式中,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:响应于所述用户打开所述第二文件的操作,对第二文件进行解密,通过所述第一沙箱打开所述第二文件,所述第二文件的权限与所述第一沙箱的权限相同。
应理解,上述装置或电子设备对应的具体实现方式以及有益效果在上述方法实施例中已经详细说明,具体可参考上述方法实施例,为了简洁,在此不再赘述。
第三方面,提供了一种芯片,该芯片包括处理器和通信接口,该通信接口用于接收信号,并将该信号传输至该处理器,该处理器处理该信号,使得第一方面或第一方面任意一种实现方式的方法该电子设备执行。
第四方面,提供了一种芯片,该芯片与电子设备中的存储器耦合,用于调用存储器中存储的计算机程序并执行本申请实施例第一方面及其第一方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
第五方面,提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行第一方面或第一方面任意一种实现方式的方法。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得该电子设备执行第一方面或第一方面任意一种实现方式的方法。
附图说明
图1是本实施例提供的一种电子设备的结构示意图。
图2是本申请实施例的电子设备的软件结构框图。
图3是本申请实施例提供的一种打开文件的方法的示意图。
图4是本申请实施例提供的一种打开文件的方法的示意性流程图。
图5是本申请实施例提供的一种打开文件的方法的示意性流程图。
图6是本申请实施例提供的一种打开文件的过程的示意图。。
图7是本申请实施例提供的一种打开文件的方法的示意性流程图。
图8是本申请实施例提供的一种装置的硬件结构示意图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下介绍电子设备和用于使用这样的电子设备的实施例。在一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
示例性的,图1示出了本申请实施例提供的一例电子设备100的结构示意图。例如,如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
其中,I2C接口是一种双向同步串行总线,包括一根串行数据线(serial dataline,SDA)和一根串行时钟线(derail clock line,SCL)。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。GPIO接口可以通过软件配置。
GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),也可以采用有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantumdot light emitting diodes,QLED)等材料中的一种所制作的显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。在一些实施例中,显示屏194还可以集成触控功能,也可以称为触摸屏。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。
内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。指纹传感器180H用于采集指纹。触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
图2是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息,APP1,APP2等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
应理解,本申请实施例中的电子设备也可以是安装有Windows、Linux、安卓、鸿蒙或苹果等操作系统的电子设备。
下面对文件的权限管理做简单介绍。文件所有者可以给文件添加权限,包括查看、编辑、保存、导出(另存为)、复制、打印、截屏、重新设置权限、完全控制等权限。对于每一个用户或用户组,其拥有的权限可以是不一样的,也就是说,相对于同一文件,文件的所有者可以授予不同的用户不同的权限。添加了权限的文件可以称为权限文件。
微软的权限管理服务(right management service,RMS)可以实现对文件的权限管理,在应用程序操作受权限保护的文件时,需要调用RMS方案的一系列权限管理接口。这会导致一些没有适配权限管理方案的应用程序无法操作受权限保护的文件,影响用户体验。
在文件所有者设置权限时,RMS客户端创建随机密钥对文件进行加密,那么该文件就变成了加密的权限文件;随后RMS客户端会创建一个证书,其中包括文件的策略,该策略中包括用户对文件的权限;接着RMS客户端使用组织密钥加密策略和随机密钥,并将加密后的策略嵌入到加密的权限文件中。
此后,当用户(文件访问者)希望打开权限文件时,RMS客户端可以向云服务器或预设服务器验证用户对文件的权限。其过程可以为:
(1)用户将文件策略和用户的证书(身份凭据,例如用户名和密码)发送至云服务器或预设服务器,云服务器或预设服务器将解密文件策略,并生成用户对文件的权限列表。
(2)云服务器或预设服务器从解密的策略中提取随机密钥,然后使用组织密钥加密该随机密钥,重新加密的随机密钥将嵌入到具有用户权限列表的加密使用许可证中,然后发送到RMS客户端。
(3)RMS客户端获取加密的使用许可证,并使用用户的私钥进行解密。从而可以打开加密的权限文件正文,并在屏幕上呈现权限文件的内容。
因此,为了能够打开权限文件,并进一步地对权限文件进行操作,开发者在开发应用程序时,需要适配权限管理方案并调用相应的权限管理接口,例如微软RMS方案的软件开发工具包(software development kit,SDK)的一系列接口。在文件访问者访问权限文件时,可以在通过调用应用程序适配的权限管理接口对权限文件进行解密,从而实现权限文件的读取或写入。
在这种情况下,用户不可以通过没有适配权限管理方案的应用程序打开权限文件,限制了用户打开权限文件的方式,影响用户的使用体验。在另一方面,在开发过程中,应用程序需要适配权限管理方案,从而增加了开发人员的工作量,给应用生态的扩大造成较大的影响。
本申请实施例提供了一种打开文件的方法,应用程序不需要适配权限管理接口,也可以打开具有权限的文件,并进一步地,可以对权限文件进行操作。
图3是本申请实施例提供的一种打开文件的方法的示意图。在本实施例中,权限管理模块可以适配权限管理方案,从而可以解密第一文件(权限文件)。权限管理模块可以拦截用户通过应用程序A打开第一文件的操作,然后对第一文件进行解密(完成用户的认证、获取用户对第一文件的权限、获取使用许可证书等),从而可以获取第一文件的明文。配置第一沙箱,设置解密后的第一文件属于第一沙箱,进而应用程序A可以通过第一沙箱打开或读取第一文件的内容。
在一些实施例中,可以设置第一沙箱的权限与第一文件的权限相同,当检测到用户对第一文件的第二操作时,可以确定第二操作是否在第一沙箱的权限范围内,从而确定是否执行第二操作。
示例性的,当检测到用户打印第一文件的操作时,如果打印第一文件的操作在第一沙箱的权限范围内,则允许应用程序A执行打印操作。否则,拒绝执行打印操作。
在一些实施例中,可以检测用户对第一文件的第三操作,如果第三操作需要应用程序B的参与,则权限管理模块可以启动应用程序B到第一沙箱,从而应用程序B可以通过第一沙箱对第一文件进行操作。在第一沙箱中,应用程序A和应用程序B之间的互相通信不受限制,即应用程序A和应用程序B可以互相访问。例如,应用程序A可以联动应用程序B共同对第一文件进行操作。
示例性的,当检测到用户打印第一文件的操作时,如果打印第一文件的操作在第一沙箱的权限范围内,则允许应用程序A调用打印机应用程序执行打印操作。
在一些实施例中,检测到用户打开第二文件的操作后,权限管理模块可以解密第二文件,获取已配置的沙箱列表,如果第二文件的权限与沙箱列表中的任意一个沙箱的权限相同,则通过该权限相同的沙箱打开第二文件。
示例性的,第二文件的权限与第一文件的权限相同,则通过第一文件对应的第一沙箱打开第二文件。
图4是本申请实施例提供的一种打开文件的方法的示意性流程图。如图4所示,所述方法包括:
401,检测到用户通过应用程序A打开第一文件的第一操作。
用户可以通过多种方式打开第一文件。在一个示例中,第一文件为扩展名为docx的文档,且默认打开该文档的应用程序为Microsoft Word,用户使用鼠标双击该文档的图标,或者使用鼠标单击该文档的图标然后按下键盘上的确认键,则通过Microsoft Word打开第一文件。在另一个示例中,第一文件为扩展名为docx的文档,用户在Microsoft Word中通过“文件>打开>桌面>文档”的方式打开该文档。在又一个示例中,用户还可以通过拖拽第一文件到对应的应用程序的图标上的方式打开第一文件。示例性的,检测到用户通过应用程序A打开第一文件的第一操作。
应理解,应用程序A可以是电子设备中的应用程序,例如可以是WPS应用,也可以是Microsoft Word应用,本申请对此不予限定。
第一文件可以是文档、图片、视频、音频等,例如以doc、txt、pdf、jpg、titf、mp4、wmv、mp3、pptx等为扩展名的文件,本申请对此不予限定。
应理解,打开第一文件可以表示为显示包括第一文件的内容的界面,或者电子设备读取第一文件的内容。或者,也可以是检测到用户读取或者写入第一文件的内容的操作,或者其他获取第一文件的明文的操作,例如,打印、导出、分享第一文件的操作。
需要说明的是,第一文件为权限文件,第一文件的权限为用户对第一文件的权限。在受权限保护的情况下,第一文件同时是经过除应用程序A之外的其他应用程序加密保护的。
第一文件的权限可以包括查看、编辑、保存、导出(另存为)、复制、打印、截屏、重新设置权限、完全控制中的任意一种或多种。第一文件的权限可以是由文件所有者或者具有第一文件完全控制权限、重新设置权限的用户添加和修改的。
示例性的,文件所有者先是通过除应用程序A之外的其他应用程序给第一文件添加了权限,并加密进行保护,而文件访问者通过应用程序A打开第一文件。
402,拦截第一操作。
电子设备可以检测到用户对电子设备进行的全部操作,然后可以通过特定的函数或代码拦截其中的第一操作。
示例性的,用户对电子设备进行的操作可以在电子设备中表示为输入事件,权限管理模块检测到第一操作对应的输入事件,然后通过拦截函数拦截该输入事件。
示例性的,权限管理模块检测到应用程序A打开第一文件的第一进程,拦截该第一进程。然后通过403-406对第一操作进行响应。
在本申请实施例中,权限管理模块可以在402中拦截第一操作,然后通过403-406针对第一操作进行响应。
应理解,拦截第一操作后,可以将该第一操作对应的信息传递给权限管理模块,以便于权限管理模块进行响应。
403,解密第一文件。
在本申请实施例中,权限管理模块可以拦截第一操作,然后对第一文件进行解密。例如,将文件策略和用户的证书发送至云服务器或预设服务器,从而可以对用户的身份进行验证,进而获取用户对第一文件的权限,以及获取使用许可证,从而可以获取解密后的第一文件。
示例性的,当拦截到用户读取或者写入第一文件的内容的操作后,电子设备可以先弹出验证用户身份凭据的窗口界面,用户可以根据窗口界面的提示输入用户名以及密码,即用户的身份凭据。然后,权限管理模块功能将文件策略和用户的证书发送至云服务器或预设服务器,从而对用户的身份进行验证,获取用户对第一文件的权限,以及获取使用许可证,从而可以获取解密后的第一文件。上述云服务器和预设服务器例如可以是文件所有者为管理文件权限专门设置的授权、鉴权、验证的服务器。
应理解,对第一文件进行解密后,可以获取第一文件的明文和第一文件的权限,从而后续可以在第一文件的权限范围内对第一文件进行操作。第一文件的明文是相对于加密后的第一文件而言的,即第一文件的真实内容。
可选地,权限管理模块可以是系统级应用,或者也可以是第三方应用程序。权限管理模块也可以称为数据防泄漏(data loss prevension,DLP)权限管理应用,本申请实施例不予限定。
权限管理模块可以在系统层面适配权限管理方案,例如,权限管理模块可以集成微软的SDK。
404,根据解密后的第一文件配置第一沙箱(sandbox)。
在本申请实施例中,权限管理模块可以基于解密后的第一文件配置第一沙箱,放置解密后的第一文件到第一沙箱中,从而可以为应用程序A打开第一文件提供运行环境。第一沙箱可以是创建在内存或者硬盘中的某个临时目录,应用程序A可以访问该临时目录中的第一文件。
应理解,第一文件在第一沙箱中处于被解密的状态,从而应用程序A可以通过第一沙箱打开第一文件。
可选地,设置第一沙箱的权限与第一文件的权限相同。
在本申请实施例中,第一沙箱中可以放置多个权限文件,在用户在后续操作第一文件时,可以鉴权第一沙箱的权限,而不是鉴权每一个文件的权限,有利于对沙箱中的权限文件的权限管理。
在一些实施例中,在配置第一沙箱之前,该技术方案还可以包括:权限管理模块校验第一文件的权限。
示例性的,在403中,权限管理模块可以获取用户对第一文件的权限,当确定用户具有相应的权限时,例如当确定用户至少具有读取权限时,可以执行404以及后续步骤。
应理解,验证第一文件的权限是指验证用户是否可以读取或查看第一文件。也就是说,用户应至少具备读取或查看第一文件的权限,然后可以配置第一沙箱,进而通过第一沙箱打开第一文件。
应理解,如果用户具有写入权限、打印权限、导出权限、另存为权限等,用户也应具备读取权限。具体可以参考现有技术中的权限设置。
在本申请实施例中,电子设备可以基于文件的权限配置对应的沙箱,并通过沙箱打开文件,从而可以避免每个应用程序需要适配权限管理方案,减小应用程序的开发难度,有利于应用生态的扩大。在另一方面,用户可以通过不同的应用程序打开受权限保护的文件,有利于提升用户体验。
405,启动应用程序A到第一沙箱。
406,应用程序A通过第一沙箱打开第一文件。
示例性的,电子设备可以在第一沙箱中启动应用程序A的新进程,通过应用程序A在第一沙箱中的新进程打开第一文件。
应理解,应用程序A打开第一文件的第一进程可以被拦截,然后可以在第一沙箱中启动应用程序A打开第一文件的第二进程。在打开文件的过程中,由于上述动作或步骤几乎是同时进行,用户无法感知与一般打开文件的过程之间的区别。
应理解,电子设备和权限管理模块可以调用应用程序A通过第一沙箱执行打开第一文件的第一操作。
407,检测到用户对第一文件进行的第二操作。
408,拦截用户对第一文件进行的第二操作。
409,确定第二操作是否在第一沙箱的权限的范围内。
在407中,权限管理模块可以检测到用户对第一文件进行的第二操作,例如查看、编辑、保存、导出(另存为)、复制、打印、截屏、重新设置权限等操作。在408中,拦截第二操作,然后在409中确定第二操作是否在第一沙箱的权限的范围内。如果第二操作在第一沙箱的权限的范围内,则执行第二操作;如果第二操作不在第一沙箱的权限的范围内,则拒绝执行第二操作。
示例性的,当用户执行打印第一文件的操作时,电子设备可以确定打印第一文件的操作是否在第一沙箱的权限的范围内,如果第一沙箱的权限不包括打印,则拒绝执行打印操作。也就是说,电子设备通过第一沙箱打开第一文件后,用户对第一文件的操作要在第一沙箱的权限范围内。
在本申请实施例中,权限管理模块可以用于用户的身份认证和权限认证,从而获取第一文件的权限;权限管理模块可以用于沙箱的配置和管理、设置沙箱的权限等;权限管理模块可以用于沙箱内应用程序的管理、沙箱内应用程序的进程的管理、沙箱内文件的管理等;权限管理模块可以用于拦截用户对第一文件进行的操作,然后判断用户对文件的操作是否在沙箱的权限的范围内,如果在则允许用户执行操作,如果不在则拒绝用户执行操作。
应理解,在上述实施例中,电子设备可以不再通过各自的应用程序验证用户的操作是否在文件的权限的范围内,而是通过检查文件所属的沙箱的权限,确定是否执行用户的操作。
基于上述方案,如果通过第一沙箱打开了多个文件,可以不必单独验证每个文件的权限,而是校验第一沙箱的权限即可。
可选地,在配置第一沙箱时,也可以不设置第一沙箱的权限与第一文件的权限相同,而是校验用户对文件的第二操作是否在第一文件的权限的范围内。如果第二操作在第一文件的权限的范围内,则执行第二操作;如果第二操作不在第一文件的权限的范围内,则拒绝执行第二操作。
可选地,检测用户对第一文件的第三操作,启动应用程序B到第一沙箱,应用程序B通过第一沙箱执行第三操作。
在本申请实施例中,可以在第一文件中检测第三操作,如果第三操作需要应用程序B的参与,则权限管理模块可以启动应用程序B到第一沙箱,从而应用程序B也可以对第一文件进行操作。在第一沙箱中,应用程序A和应用程序B之间的互相通信不受限制,即应用程序A和应用程序B可以互相访问。例如,应用程序A可以联动应用程序B对第一文件进行操作。
应理解,第三操作在所述第一沙箱的权限范围内。
还应理解,检测用户对第一文件的第三操作时,电子设备或权限管理模块可以调用应用程序B通过第一沙箱执行第三操作。
例如,第一文件为文档,第三操作可以是检测到用户点击了第一文件中的视频、音频等多媒体文件,从而需要第二应用的参与来打开第一文件中的多媒体文件。
示例性的,第一文件为幻灯片(例如,以ppt为扩展名的文件),且第一文件包括视频,权限管理模块可以在第一沙箱中启动WPS应用打开第一文件,当检测到用户双击打开第一文件内的视频时,则可以启动视频应用到第一沙箱中,从而可以打开第一文件内的视频。
在一个示例中,电子设备的WPS应用通过第一沙箱打开第一文件,当用户想要打印第一文件时,WPS应用可以访问打印机程序,或者调用打印机程序到第一沙箱中,从而打印机程序可以通过第一沙箱打印第一文件。
除了上述方案外,不同的应用程序还可以通过其他方式共享同一个沙箱。
在一个示例中,检测到用户通过应用程序A打开第一文件,电子设备基于第一文件配置第一沙箱,然后当检测到用户通过应用程序B打开或读取第一文件时,或者当检测到用户通过应用程序B打开或读取与第一文件的权限相同的文件时,应用程序A和应用程序B可以共享第一沙箱,均可以通过第一沙箱对第一文件进行操作。这种情况下,不需要再次根据第一文件配置第一沙箱,可以节省资源,提升电子设备的性能。
应用程序A和应用程序B可以共同对第一文件进行操作,应用程序A和应用程序B也可以各自独立对各自逻辑下的第一文件进行操作。例如,第一文件的内容包括文档和视频,应用程序A为WPS应用,应用程序B为视频应用,WPS应用可以对第一文件的文档部分进行编辑,视频应用可以对第一文件的视频部分进行剪辑。又例如,应用程序A为WPS应用,应用程序B为Microsoft Word应用,WPS应用可以对第一文件进行编辑,并将编辑后的第一文件另存为第一文件_1,Microsoft Word应用也可以对第一文件进行编辑,并将编辑后的第一文件另存为第一文件_2。
应理解,基于上述方案,应用程序A和应用程序B都不需要适配权限管理接口即可打开第一文件,进而对第一文件进行操作,可以降低应用程序的开发难度,有利于扩大应用生态。
图5是本申请实施例提供的一种权限管理方法的示意图。图5所示实施例与图3或图4所示实施例类似,具体描述可参考图3或图4所示实施例的描述,在此,仅针对不同之处进行说明或通过示例进行说明。如图5所示,所述方法包括:
501,检测到用户通过应用程序A打开第一文件的第一操作。
502,拦截第一操作。
503,获取用户对第一文件的权限。
504,根据解密后的第一文件配置第一沙箱。
505,启动应用程序A到第一沙箱。
506,应用程序A通过第一沙箱打开第一文件。
上述501-506可以参考图3或图4所述实施例的相关描述,为简洁,在此不再赘述。
507,检测到用户通过应用程序A打开第二文件的操作。
在507之前,基于第一文件的权限配置第一沙箱,并通过第一沙箱打开第一文件,第一沙箱的权限与第一文件的权限相同。
在507中,电子设备可以检测到用户打开第二文件。应理解,用户可以通过不同的应用程序打开或读取文件,用户可以通过应用程序A打开第二文件,也可以通过应用程序B打开第二文件,本申请对此不予限定。
需要说明的是,在本实施例中,只要在507之前配置过沙箱,再次打开文件时,均可执行507-510。
508,拦截打开第二文件的操作。
509,解密第二文件。
上述507-509为电子设备解密第二文件的过程,可以参考图3或图4所述实施例的相关描述,为简洁,在此不再赘述。
510,在用户对第二文件的权限与第一沙箱的权限相同的情况下,通过第一沙箱打开第二文件。
在一个示例中,在解密第二文件后,可以获取用户对第二文件的权限,并获取已配置的沙箱列表,如果第二文件的权限与沙箱列表中的任意一个沙箱的权限相同,则通过该权限相同的沙箱打开第二文件。
在本申请实施例中,多个具有相同权限的文件可以共享同一个沙箱,即电子设备可以通过同一个沙箱打开具有相同权限的文件,从而可以节约资源,有效提升电子设备的性能。
可选地,可以基于每个文件的权限配置不同的沙箱。在第二文件的权限与第一沙箱的权限不同或者第二文件的权限与第一文件的权限不同的情况下,可以基于第二文件的权限配置第二沙箱,从而可以在第二沙箱中打开第二文件,第二沙箱的权限与第二文件的权限相同。
图6是本申请实施例提供的一种打开文件的过程的示意图。
普通空间是指应用程序在真实操作系统中运行的空间,第一沙箱为本申请实施例为第一文件配置的虚拟的运行环境。一般,应用程序A打开第一文件时可能会启动多个进程,例如进程1和进程2,权限管理模块可以拦截或者沙箱上述进程1和进程2,阻止应用程序A打开第一文件。同时,对第一文件进行解密,完成用户的认证,获取第一文件的权限,并基于第一文件的权限配置第一沙箱,然后在第一沙箱中启动应用程序A的新进程,即进程1_1和进程2_1,从而打开第一文件。
值得注意的是,获取第一文件的权限后,如果当前用户对第一文件不具备读取权限,则停止打开第一文件。示例性的,可以在电子设备中显示“用户的权限不足”的提示界面。
图7是本申请实施例提供的一种权限管理方法的示意图。该方法由电子设备执行,如图7所示,该方法包括:
S710,响应于用户打开第一文件的操作,对第一文件进行解密。
应理解,该第一文件为权限文件,该权限文件可以是文档、视频、音频等文件,本申请实施例不予限定。
对第一文件进行解密的过程可以参见前文的相关描述,为简洁,在此不再赘述。
应理解,对第一文件进行解密后,可以获取第一文件的明文和第一文件的权限。第一文件的明文即第一文件的内容,第一文件的权限为用户对第一文件的权限。
S720,根据解密后的第一文件配置第一沙箱。
在对第一文件进行解密后,可以根据第一文件配置第一沙箱,例如放置解密后的第一文件到第一沙箱中。
在一些实施例中,将第一沙箱的权限设置为与第一文件的权限相同。
在本申请实施例中,第一沙箱中可以放置多个权限文件,在用户在后续操作第一文件时,可以鉴权第一沙箱的权限,而不是鉴权每一个文件的权限,有利于对沙箱中的权限文件的权限管理。
S730,通过第一沙箱打开第一文件。
应理解,图7所示方法可以应用于电子设备,也可以应用于电子设备的操作系统,或者还可以应用于电子设备的操作系统的某个模块,本申请实施例不予限定。
在本申请实施例中,可以在系统层面对第一文件进行解密,根据解密后的第一文件配置沙箱,从而可以通过配置的第一沙箱打开第一文件,从而用户可以通过不同的应用程序打开权限文件,进而对权限文件进行操作,有利于提升用户体验。另外,各个应用程序实现权限管理的方式不同,如果要求不同的应用程序之间可以相互打开权限文件,就需要应用程序适配相应的权限管理方案。基于上述方案,应用程序不需要适配权限管理方案,也可以打开权限文件,可以降低应用程序的开发难度,有利于扩大应用生态。
在一些实施例中,该方法还还可以包括:检测用户对第一文件的第二操作,确定第二操作是否在第一沙箱的权限的范围内;若第二操作在第一沙箱的权限的范围内,执行第二操作;若第二操作不在第一沙箱的权限的范围内,拒绝执行第二操作。
示例性的,参见前文中的步骤407-409。在本申请实施例中,用户可以在权限范围内访问和操作该第一文件,从而防止用户越权操作第一文件。
在一些实施例中,根据解密后的第一文件配置第一沙箱之前,该方法还还可以包括:验证第一文件的权限。
应理解,验证第一文件的权限是指验证用户是否可以读取或查看第一文件。也就是说,用户应至少具备读取或查看第一文件的权限,然后可以配置第一沙箱,进而通过第一沙箱打开第一文件。
在本申请实施例中,可以对第一文件的权限进行验证,从而确定用户具有相应的权限打开第一文件,防止用户越权打开第一文件。在另一方面,如果用户不具有相应的权限打开第一文件,电子设备可以不配置第一沙箱,从而可以节省资源。
在一些实施例中,在响应于用户打开第一文件的操作,对第一文件进行解密之前,该方法还包括:检测到第一操作;拦截第一操作。
应理解,在传统的方案中,由应用程序直接响应第一操作,由于应用程序没有适配响应的权限管理方案,那么将不能够打开第一文件,可能会显示错误的界面。在本申请实施例中,用户通过应用程序打开第一文件的操作将被拦截,转而重新调用应用程序通过第一沙箱打开第一文件,在整个过程中用户无感知,从而可以提升用户的使用体验。
在一些实施例中,该方法还包括:拦截第一应用打开第一文件的第一进程;调用第一应用的第二进程通过第一沙箱打开第一文件。
示例性的,第一应用可以是前文实施例中的应用程序A。第一进程可以是图6所示实施例中的进程1和进程2,第二进程可以是图6所示实施例中的进程1_1和进程2_1。
在本申请实施例中,可以拦截或者拒绝第一应用打开第一文件的第一进程,转而调用第一应用通过第一沙箱启动打开第一文件的第二进程,从而可以打开第一文件,进而对第一文件进行操作,在整个过程中用户无感知,从而可以提升用户的使用体验。
在一些实施例中,该方法还包括:在第一文件中检测到第三操作,调用第二应用通过第一沙箱执行第三操作。
示例性的,第二应用可以是前文实施例中的应用程序B。
应理解,第三操作在第一沙箱的权限范围内。
例如,第一文件为文档,第三操作可以是检测到用户点击了第一文件中的视频、音频等多媒体文件,从而需要第二应用的参与来打开第一文件中的多媒体文件。
又例如,当第三操作为打印操作时,第二应用为打印机程序,当检测到打印操作时,调用打印机程序通过第一沙箱执行打印操作。
在本申请实施例中,第一应用可能不能实现用户对第一文件的全部操作,此时,可以调用第二应用执行相应的操作,从而可以提升用户使用体验。
在一些实施例中,该方法还包括:响应于用户打开第二文件的操作,对第二文件进行解密,通过第一沙箱打开第二文件,第二文件的权限与第一沙箱的权限相同。
在本申请实施例中,如果用户对第二文件和第一沙箱的权限相同,可以不需要配置新的沙箱打开第二文件,用户可以通过同一个沙箱操作权限相同的文件,即权限相同的文件共享同一个沙箱,从而可以节省资源,提升电子设备的性能。
上述主要从电子设备的角度对本申请实施例提供的打开文件的方法进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备中的处理器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供了一种电子设备,包括:显示屏(触摸屏)、处理器、电源键、存储器、应用程序以及计算机程序。上述各器件可以通过一个或多个通信总线连接。其中,该一个或多个计算机程序被存储在上述存储器中并被配置为被该一个或多个处理器执行,该一个或多个计算机程序包括指令,上述指令可以用于使电子设备执行上述各实施例中的打开文件的方法的各个步骤。
示例性地,上述处理器具体可以为图1所示的处理器110,上述存储器具体可以为图1所示的内部存储器120和/或与电子设备连接的外部存储器。
图8是本申请实施例提供的装置800的硬件结构示意图。图8所示的装置800(该装置800具体可以是一种电子设备)包括存储器810、处理器820、通信接口830以及总线840。其中,存储器810、处理器820、通信接口830通过总线840实现彼此之间的通信连接。
存储器810可以是ROM,静态存储设备,动态存储设备或者RAM。存储器810可以存储程序,当存储器810中存储的程序被处理器820执行时,处理器820用于执行本申请实施例的打开文件的方法的各个步骤。
处理器820可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的装置800中的单元所需执行的功能,或者执行本申请方法实施例的打开文件的方法。
处理器820还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的打开文件的方法的各个步骤可以通过处理器820中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器820还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器810,处理器820读取存储器810中的信息,结合其硬件完成本申请实施例的装置800中包括的单元所需执行的功能,或者执行本申请方法实施例的打开文件的方法。
通信接口830使用例如但不限于收发器一类的收发装置,来实现装置800与其他设备或通信网络之间的通信。
总线840可包括在装置800各个部件(例如,存储器810、处理器820、通信接口830)之间传送信息的通路。
应注意,尽管图8所示的装置800仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置800还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置800还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置800也可仅仅包括实现本申请实施例所必须的器件,而不必包括图8中所示的全部器件。
本申请实施例还提供一种芯片,该芯片包括处理器和通信接口,该通信接口用于接收信号,并将该信号传输至该处理器,该处理器处理该信号,使得如前文中任一种可能的实现方式中的打开文件的方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的打开文件的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的打开文件的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的权限管理方法。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种打开文件的方法,其特征在于,所述方法包括:
响应于用户打开第一文件的第一操作,对所述第一文件进行解密;
根据解密后的所述第一文件配置第一沙箱;
通过所述第一沙箱打开所述第一文件。
2.根据权利要求1所述的方法,其特征在于,所述对第一文件进行解密,包括:
获取所述第一文件的明文。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一文件配置第一沙箱,包括:
获取所述第一文件的权限,将所述第一沙箱的权限设置为与所述第一文件的权限相同。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测所述用户对所述第一文件的第二操作,确定所述第二操作是否在所述第一沙箱的权限的范围内;
若所述第二操作在所述第一沙箱的权限的范围内,执行所述第二操作;
若所述第二操作不在所述第一沙箱的权限的范围内,拒绝执行所述第二操作。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述根据解密后的所述第一文件配置第一沙箱之前,所述方法还包括:
验证所述第一文件的权限。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述响应于用户打开所述第一文件的第一操作,对第一文件进行解密之前,所述方法还包括:
检测到所述第一操作;
拦截所述第一操作。
7.根据权利要求6所述的方法,其特征在于,所述拦截所述第一操作,包括:
拦截第一应用打开所述第一文件的第一进程;
其中,所述通过所述第一沙箱打开所述第一文件,包括:
调用所述第一应用的第二进程通过所述第一沙箱打开所述第一文件。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
检测到所述用户对所述第一文件的第三操作,调用第二应用通过第一沙箱执行所述第三操作。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
响应于所述用户打开所述第二文件的操作,对第二文件进行解密,通过所述第一沙箱打开所述第二文件,所述第二文件的权限与所述第一沙箱的权限相同。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
响应于用户打开第一文件的第一操作,对所述第一文件进行解密;
根据所述第一文件配置第一沙箱;
通过所述第一沙箱打开所述第一文件。
11.根据权利要求10所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
获取所述第一文件的明文。
12.根据权利要求11所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
获取所述第一文件的权限,将所述第一沙箱的权限设置为与所述第一文件的权限相同。
13.根据权利要求12所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
检测所述用户对所述第一文件的第二操作,确定所述第二操作是否在所述第一沙箱的权限的范围内;
若所述第二操作在所述第一沙箱的权限的范围内,执行所述第二操作;
若所述第二操作不在所述第一沙箱的权限的范围内,拒绝执行所述第二操作。
14.根据权利要求10-13中任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
验证所述第一文件的权限。
15.根据权利要求10-14中任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
检测到所述第一操作;
拦截所述第一操作。
16.根据权利要求15所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
拦截第一应用打开所述第一文件的第一进程;
调用所述第一应用的第二进程通过所述第一沙箱打开所述第一文件。
17.根据权利要求16所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
检测到所述用户对第一文件的第三操作,调用第二应用通过第一沙箱执行所述第三操作。
18.根据权利要求10-17中任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
响应于所述用户打开所述第二文件的操作,对第二文件进行解密,通过所述第一沙箱打开所述第二文件,所述第二文件的权限与所述第一沙箱的权限相同。
19.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如权利要求1至9中任一项所述的方法被执行。
20.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
21.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被运行时,实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546576.2A CN117131533A (zh) | 2022-05-19 | 2022-05-19 | 打开文件的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546576.2A CN117131533A (zh) | 2022-05-19 | 2022-05-19 | 打开文件的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117131533A true CN117131533A (zh) | 2023-11-28 |
Family
ID=88861471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210546576.2A Pending CN117131533A (zh) | 2022-05-19 | 2022-05-19 | 打开文件的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117131533A (zh) |
-
2022
- 2022-05-19 CN CN202210546576.2A patent/CN117131533A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444528B (zh) | 数据安全保护方法、装置及存储介质 | |
WO2020192447A1 (zh) | 一种文件访问权限认证方法及电子设备 | |
US10846696B2 (en) | Apparatus and method for trusted execution environment based secure payment transactions | |
US9891969B2 (en) | Method and apparatus for device state based encryption key | |
US20140258734A1 (en) | Data security method and electronic device implementing the same | |
CN106778295B (zh) | 文件存储、显示方法、装置及终端 | |
KR102180529B1 (ko) | 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치 | |
WO2021057982A1 (zh) | 应用程序的处理方法及相关产品 | |
WO2023051355A1 (zh) | 权限检查的方法和电子设备 | |
CN113032766A (zh) | 应用权限管理的方法和装置 | |
CN110602689B (zh) | 一种设备安全操作的方法和装置 | |
CN112262548B (zh) | 一种文件处理方法及终端设备 | |
CN113468606A (zh) | 一种应用程序的访问方法及电子设备 | |
CN115544586A (zh) | 用户数据的安全存储方法、电子设备及存储介质 | |
US20140259155A1 (en) | Process authentication method and electronic device implementing the same | |
CN112528311B (zh) | 数据管理方法、装置及终端 | |
CN117131533A (zh) | 打开文件的方法和电子设备 | |
CN114692119A (zh) | 校验应用的方法和电子设备 | |
CN114692093B (zh) | 一种应用程序安装方法及电子设备 | |
WO2020133477A1 (zh) | 数据显示方法 | |
KR20210026233A (ko) | 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법 | |
CN116049812B (zh) | 访问硬件资源的方法和电子设备 | |
US20180218132A1 (en) | Application portability via application(s) installed on a portable storage device | |
KR20140110637A (ko) | 데이터 보호 방법 및 이를 구현하는 전자 장치 | |
CN117131519A (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 |