CN113326498B - 权限复用方法、基于权限复用的资源访问方法及相关设备 - Google Patents

权限复用方法、基于权限复用的资源访问方法及相关设备 Download PDF

Info

Publication number
CN113326498B
CN113326498B CN202010131670.2A CN202010131670A CN113326498B CN 113326498 B CN113326498 B CN 113326498B CN 202010131670 A CN202010131670 A CN 202010131670A CN 113326498 B CN113326498 B CN 113326498B
Authority
CN
China
Prior art keywords
application
virtual
identity
applications
control information
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
Application number
CN202010131670.2A
Other languages
English (en)
Other versions
CN113326498A (zh
Inventor
周冲
毛哲文
袁中举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010131670.2A priority Critical patent/CN113326498B/zh
Priority to PCT/CN2020/125970 priority patent/WO2021169379A1/zh
Priority to EP20922437.7A priority patent/EP4095723B1/en
Priority to US17/802,748 priority patent/US20230082375A1/en
Publication of CN113326498A publication Critical patent/CN113326498A/zh
Application granted granted Critical
Publication of CN113326498B publication Critical patent/CN113326498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例涉及计算机系统及计算机网络领域,尤其涉及一种权限复用方法、基于权限复用的资源访问方法及相关设备。以解决分布式系统中跨设备调用客体时,应用权限的同步问题。该权限复用方法可以应用于分布式系统,该系统包括第一设备和第二设备,第一设备中包括多个应用。所述方法包括:第一设备向第二设备发送控制信息,控制信息包括第一设备的设备标识、多个应用的用户标识和多个应用的权限信息;第二设备接收控制信息,并根据控制信息创建第一虚拟身份标识,第一虚拟身份标识包括第一设备标识和多个应用的用户标识;第二设备保存第一虚拟身份标识、多个应用的权限信息,以及第一虚拟身份标识与多个应用的权限信息的对应关系。

Description

权限复用方法、基于权限复用的资源访问方法及相关设备
技术领域
本申请实施例涉及计算机系统及计算机网络领域,尤其涉及一种权限复用方法、基于权限复用的资源访问方法及相关设备。
背景技术
分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。也就是说,在分布式数据库系统中,用户不必知道数据存储于哪个数据库分布节点,以及应用在哪个数据库分布节点上运行等。
当前安卓(Android)操作系统中的应用权限管理模型是基于单设备的。例如,安装有安卓系统的电子设备在安装应用时,仅在该电子设备上设置该应用的权限。其中,即使不同电子设备上安装相同的应用,但是不同电子设备上设置的该应用的权限也可以是不同的。具体来说,Android系统在安装应用时,需要在该应用的Manifest文件中定义好该应用的用户标识(User Identification,UID)和权限(如,拨打电话的权限或发送短信的权限)。当电子设备运行应用,访问某个客体(如电子设备中的软件或硬件资源)时,一般都是通过检查权限(check Permission)实现访问控制。具体的,应用访问客体时,可通过电子设备的UID,获取该应用在该电子设备上被设置的权限,从而决策该客体是否允许被访问。
一个分布式系统中的多个计算机展现给用户的是一个统一的整体,就好像是一个系统似的。这个系统拥有多种通用的物理和逻辑资源,这些物理和逻辑资源可以分布在不同的计算机中,可以通过上述多个计算机之间的计算机网络实现信息交换。如此,该系统可以为上述多个计算机动态的分配任务,使上述多个计算机可以通过上述计算机网络实现信息交换,共同完成上述任务。
如果安卓系统的电子设备被应用于分布式系统中,由于每个电子设备上的应用的权限管理是针对单个设备而言的;因此分布式系统中不能实现跨设备的远程服务上应用权限的控制。其中,代表应用主体的UID只在本地的电子设备上有效,标准的检查权限(checkPermission)是根据UID检查该应用的权限。
在安卓设备的分布式系统中,跨设备调用应用时,一个应用安装在分布式系统中不同的电子设备上,该应用在访问客体时,即使是同样的UID,该应用可能被设置不同的权限,导致该应用不能被远程调用。
发明内容
本申请提供一种权限复用方法、基于权限复用的资源访问方法及相关设备,以解决分布式系统中跨设备调用客体时,应用权限的同步问题。
为实现上述技术目的,本申请采用如下技术方案:
第一方面,本申请提供一种权限复用方法,该方法可以应用于分布式系统,分布式系统包括第一设备和第二设备,第一设备中包括多个应用。其中,分布式系统中第一设备中的应用可以调用第二设备中的客体,则第一设备也就是主体设备,第二设备也就是客体设备。该权限复用方法可以包括:主体设备向客体设备发送控制信息,其中,控制信息中包括主体设备的第一设备标识,主体设备上多个应用的用户标识和多个应用的权限信息。一个应用的权限信息用于指示一个应用具备访问主体设备中哪些客体的权限,主体设备中的客体包括主体设备中的软件或硬件资源,同理,客体设备上的客体是客体设备中的软件或硬件资源。客体设备接收到主体设备发送的控制信息,并根据控制信息创建第一虚拟身份标识,第一虚拟身份标识对应于主体设备中的第一设备标识和多个应用的UID。客体设备保存第一虚拟身份标识、多个应用的权限信息,以及第一虚拟身份标识与多个应用的权限信息的对应关系。
可以理解的,客体设备接收到控制信息,并根据控制信息创建第一虚拟身份标识。第一虚拟身份标识对应于主体设备中的第一设备标识和多个应用的UID,而且第一虚拟身份标识对应于主体设备中多个应用的权限信息。也就是说,客体设备保存有主体设备上的权限信息,且客体设备上的第一虚拟身份标识对应于主体设备上的权限信息,从而实现了主体设备上的权限复用至客体设备。这样,当主体设备上的应用访问客体设备上的客体,使得主体设备上的应用访问至客体设备上的第一虚拟身份标识,客体设备上的检查权限可以使用第一虚拟身份标识确认该应用在客体设备上的权限,以确定客体设备上的客体是否被主体设备上的应用调用。从而解决了分布式系统中跨设备调用客体时,应用权限的同步问题。
在一种可能的实施方式中,主体设备上包括第一应用。主体设备运行第一应用时,可以向客体设备发送访问请求。其中,访问请求用于请求由第一应用访问客体设备中的第一客体,第一客体是客体设备中的软件或硬件资源。由于访问请求是主体设备上的应用发出的,访问请求中包括主体设备的第一设备标识和第一应用的UID。客体设备接收上述的访问请求,客体设备响应于访问请求,客体设备确定出与主体设备对应的第一虚拟身份标识。客体设备从保存的权限信息中,查询出第一虚拟身份标识对应的第一权限信息。客体设备根据第一权限信息所指示的权限,为第一应用提供第一客体的访问服务。
其中,上述第一权限信息是主体设备中的全部的应用权限的信息,客体设备可以根据第一权限信息确定出主体设备上的第一应用是否有权限访问客体设备的第一客体。以便客体资源为主体设备上的第一应用提供第一客体的访问服务。
另一种可能的实施方式中,主体设备还包括第二设备标识,第一设备标识与第二设备标识均用于标识第一设备,但第一设备标识与第二设备标识可以不同。
其中,第一设备标识和第二设备标识均用于指示主体设备。也就是说,即使第一设备标识与主体设备真正的设备标识不同,只要第一设备标识与主体设备之间存在对应关系,第一设备标识就可以映射到主体设备。这种方式既满足了客体设备上的虚拟UID映射到主体设备,实现主体设备的权限复用,也避免了主体设备的设备标识被泄露,保护主体设备的设备安全。
另一种可能的实施方式中,主体设备向客体设备发送控制信息之前,主体设备与客体设备建立连接。
另一种可能的实施方式中,如果主体设备与客体设备断开连接,客体设备删除第一虚拟身份标识和第一虚拟身份标识对应的多个应用的权限信息。
可以理解的,客体设备与主体设备断开连接之后,客体设备就删除第一虚拟身份标识,则可以提高客体设备的使用效率。
另一种可能的实施方式中,客体设备接收到控制信息之后,客体设备可以判断是否保存有第二虚拟身份标识,第二虚拟身份标识中的设备标识对应于控制信息中的第一设备标识。根据控制信息创建第一虚拟身份标识,包括:若客体设备中未保存第二虚拟身份标识,客体设备根据控制信息创建第一虚拟身份标识;若客体设备中保运有第二虚拟身份标识,客体设备根据控制信息中的多个应用的权限信息,更新第二虚拟身份标识对应的多个应用的权限信息。
另一种可能的实施方式中,主体设备和客体设备中使用的操作系统都是基于Linux内核开发的。
另一种可能的实施方式中,客体设备根据控制信息创建第一虚拟身份标识,包括:客体设备根据控制信息创建虚拟机,虚拟机对应于主体设备。其中,虚拟机的设备标识为主体设备的第一设备标识虚拟机的UID为主体设备中多个用户的UID。
第二方面,本申请还提供一种权限复用方法,应用于分布式系统中的客体设备,该方法可以包括:客体设备接收到来自主体设备的控制信息,其中,控制信息中包括主体设备的第一设备标识,主体设备上多个应用的用户标识和多个应用的权限信息。一个应用的权限信息用于指示一个应用具备访问主体设备中哪些客体的权限,主体设备中的客体包括主体设备中的软件或硬件资源,同理,客体设备上的客体是客体设备中的软件或硬件资源。客体设备根据控制信息创建第一虚拟身份标识,第一虚拟身份标识对应于主体设备中的第一设备标识和多个应用的UID。客体设备保存第一虚拟身份标识、多个应用的权限信息,以及第一虚拟身份标识与多个应用的权限信息的对应关系。
可以理解的,该方法是应用于分布式系统中客体设备的,与上述第一方面中的权限复用方法对应。因此,第一方面及其任一种可能的实施方式中的效果对应于本方面提供的权限复用方法,此处不与赘述。
在一种可能的实施方式中,客体设备接收到来自主体设备的访问请求。其中,访问请求用于请求由第一应用访问客体设备中的第一客体,第一客体是客体设备中的软件或硬件资源。由于访问请求是主体设备上的应用发出的,访问请求中包括主体设备的第一设备标识和第一应用的UID。客体设备响应于访问请求,客体设备确定出与主体设备对应的第一虚拟身份标识。客体设备从保存的权限信息中,查询出第一虚拟身份标识对应的第一权限信息。客体设备根据第一权限信息所指示的权限,为第一应用提供第一客体的访问服务。
另一种可能的实施方式中,主体设备向客体设备发送控制信息之前,主体设备与客体设备建立连接。
另一种可能的实施方式中,如果主体设备与客体设备断开连接,客体设备删除第一虚拟身份标识和第一虚拟身份标识对应的多个应用的权限信息。
另一种可能的实施方式中,客体设备接收到控制信息之后,客体设备可以判断是否保存有第二虚拟身份标识,第二虚拟身份标识中的设备标识对应于控制信息中的第一设备标识。根据控制信息创建第一虚拟身份标识,包括:若客体设备中未保存第二虚拟身份标识,客体设备根据控制信息创建第一虚拟身份标识;若客体设备中保运有第二虚拟身份标识,客体设备根据控制信息中的多个应用的权限信息,更新第二虚拟身份标识对应的多个应用的权限信息。
另一种可能的实施方式中,客体设备中使用的操作系统是基于Linux内核开发的。
另一种可能的实施方式中,客体设备根据控制信息创建第一虚拟身份标识,包括:客体设备根据控制信息创建虚拟机,虚拟机对应于主体设备。其中,虚拟机的设备标识为主体设备的第一设备标识虚拟机的UID为主体设备中多个用户的UID。
第三方面,本申请还提供一种基于权限复用的资源访问方法,该方法应用于分布式系统,该分布式系统中包括主体设备和客体设备。主体设备中可以包括多个应用,该方法可以包括:客体设备接收来自主体设备的访问请求,其中,访问请求用于请求由第一应用访问客体设备中的第一客体,第一客体是客体设备中的软件或硬件资源,访问请求中包括主体设备的主体设备标识和第一应用的UID。客体设备响应于访问请求,从客体设备保存的虚拟身份标识中,查询第一虚拟身份标识,第一虚拟身份标识与访问请求中包括的主体设备标识和第一应用的用户标识对应。客体设备从客体设备保存的权限信息中,查询与第一虚拟身份标识对应的第一权限信息;客体设备根据第一权限信息所指示的权限,为第一应用提供第一客体的访问服务。
其中,客体设备中保存有基于多个设备创建的虚拟身份标识和每个设备中各个应用的权限信息,多个设备包括主体设备,基于主体设备创建的虚拟身份标识包括主体设备标识和多个应用的用户标识,主体设备中一个应用的权限信息用于指示一个应用具备访问主体设备中哪些客体的权限。
可以理解的,在分布式系统中,主体设备上应用的权限复用至客体设备上之后,当主体设备上的应用运行。如果主体设备上的应用需要调用客体设备上的客体资源,检查权限可以根据客体设备上的虚拟UID以及虚拟UID对应的应用权限,确定该应用是否可以调用客体设备上的客体资源。实现了在分布式系统中跨设备调用客体的目的。
第四方面,本申请还提供一种电子设备,电子设备是主体设备,主体设备包括:存储器和一个或多个处理器;存储器和处理器耦合;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使电子设备执行如第一方面、第二方面及其任一种可能的实施方式中的方法。
第五方面,本申请还提供一种电子设备,电子设备是客体设备,客体设备包括:存储器和一个或多个处理器;存储器和处理器耦合;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行所述计算机指令时,使电子设备执行如第一方面、第二方面及其任一种可能的实施方式中的方法。
第六方面,本申请还提供一种分布式系统,包括上述第四方面中的主体设备和上述第五方面中的客体设备。
第七方面,本申请还提供一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一种可能的实施方式、第二方面及其任一种可能的实施方式、第三方面中的方法。
附图说明
图1为本申请实施例提供的电子设备上的应用权限框图;
图2为本申请实施例提供的一种Android系统的电子设备的应用权限管理框图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种电子设备的软件结构框图;
图5为本申请实施例提供的一种权限复用方法流程图;
图6为本申请实施例提供的一种客体设备通过映射形成虚拟UID示意图;
图7A为本申请实施例提供的一种权限复用方法流程图;
图7B为本申请实施例提供的一种客体设备同步APP权限的示意框图;
图7C为本申请实施例提供的一种权限复用方法的示意框图;
图8为本申请实施例提供的一种基于权限复用的资源访问方法流程图;
图9为本申请实施例提供的一种主体设备上的第一应用访问客体设备的访问示意框图;
图10为本申请实施例提供的最红分布式系统示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
以下将对本申请提到的术语进行解释。
Linux:是一个基于可移植操作系统接口(Portable OperatingSystemInterface,POSIX)和Unix(一个操作系统的名称)的多用户、多任务、支持多线程和多中央处理器(central processing unit,CPU)的操作系统。
Linux内核:是Linux操作系统最基本的部分。可以为应用程序提供对计算机硬件资源的安全访问的软件支持。
安全增强型Linux(SELinux):一种强制访问控制的安全系统。其中,在该系统的中的应用都是强制访问控制的应用,即应用具有访问客体的权限才可以访问对应的客体。
客体:电子设备上的软件或硬件资源,其中,软件资源可以为应用、驱动等,硬件资源可以为摄像头、传感器等。
强制访问控制(Mandatory Access Control,MAC):电子设备中安装的应用程序在系统(如SELinux系统)中运行时,都必须在该应用的安全策略配置文件(即应用权限管理文件)中配置对应权限。也就是说,在应用权限管理文件中配置了对应的权限,则该应用程序运行时拥有对应的访问权限;否则应用程序运行时不具有对应的访问权限。
自主访问控制(Discretionary Access Control,DAC):电子设备中安装的应用程序的权限与控制应用程序运行的用户拥有的权限相同。例如,以root用户启动一个应用程序,该应用程序在电子设备中运行,那么这个应用程序就有root用户的权限。也就是说,该应用程序拥有root权限(根权限,即一种系统权限),则应用在Linux系统上能干任何事情。
沙箱(Sandboxie):是一个虚拟系统程序。在沙箱中可以运行浏览器或其他应用程序,并且在浏览器或应用程序运行完成后,沙箱可以删除因为浏览器或应用程序运行产生的变化。也就是说,沙箱创造了一个独立的作业环境,可供应用程序运行。在沙箱内部运行的程序并不能对硬盘产生永久性的影响。
进程:电子设备中的应用程序关于某数据集合的一次运行活动。是系统进行资源分配和调度的基本单位,是操作系统结构的基础。其中,电子设备上的程序可以是指令、数据及其组织形式的描述,进程是程序的实体。
安全上下文:也可以称为安全标签。在Selinux中,是附件在对象上的标签。安全上下文可以标明Selinux的用户标识,SELinux角色,类型和安全级别等。
Android是一种基于Linux的操作系统。Android可以应用于电子设备上,该电子设备可以是手机、平板电脑和计算机等。其中,Android的安全模型是一部分应用程序(或称为应用)可以运行在沙箱中,即每个应用程序都运行在对应的沙箱中。Android可以使用SELinux中的MAC管理电子设备中所有的应用程序的运行。应用自己的沙箱中运行时,SELinux中的DAC和MAC定义了沙箱的界限,也就是说,应用在沙箱运行时DAC和MAC共同确定了应用可以穿透沙箱访问的客体资源。
可以理解的,SEAndroid是一种基于安全策略的MAC安全系统。安全策略是建立在对象的安全上下文(安全标签)的,对象包括主体和客体。
一般而言,应用权限管理如图1所示,包括主体、客体、操作和权限控制。其中,主体可以是进程,也可以是应用。以主体是应用为例,主体的属性可以包括:UID(该应用的用户标识),包名(应用的名字),签名(如果应用是系统安装的应用,该应用的签名即为系统应用),声明的权限和申请的权限。客体就是主体要访问的资源,客体可以包括:公共文件(如:相册、音视频文件等),系统资源(通信录、位置、相机、麦克风等),应用(如业务之间的资源共享等)以及私有文件(如聊天记录文件等)。操作是主体调用客体的过程。权限策略是主体可以调用客体的权限。
如图1中,主体中可以包括应用A、应用B、服务A和进程A。应用A属于主体分类A,应用B属于主体分类C,服务A和进程A属于主体分类B。
示例一:当应用A想要调用客体中的资源A时,应用A运行后执行操作A。权限策略查询应用A的权限,并确定应用A可以调用客体中的资源A。则操作A被执行,应用A调用客体中的资源A。
示例二:当应用B想要调用客体中的资源D,应用B运行后执行操作C。权限策略查询应用B的权限,并确定应用B可以调用客体中的资源D。则操作C被执行,应用B调用客体中的资源D。
电子设备如果是Android系统,其应用权限管理如图2所示。该访问控制模型包括主体、客体和安卓架构。如图2中,电子设备接收到用户的操作,主体想要调用客体中的资源。安卓框架中包括访问控制、权限管理以及UID和权限对应表。电子设备在执行主体调用客体中的资源时,访问控制向权限管理查询该用户的UID是否具有调用客体资源的权限。权限管理调用UID和权限对应表以确定该UID的权限,如果该用户对应的UID具有该权限,则主体可以调用客体的资源。
上述图1和图2所示的为现有的Android系统中的应用权限管理,都是应用于单设备的。以图2中Android系统的应用权限管理为例,这种应用权限管理中的检查权限(checkPermission)是通过UID进行检查的。即上述的,查询主体对应的UID是否具有调用客体的权限。
可以理解的,分布式系统可以由一组独立的电子设备组成一个整体,这组独立的电子设备组成的像是一个完整的系统。而且,系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对于用户而言,在分布式系统中只有一个模型(或称为范型)。有多个电子设备组成的系统中有一层软件中间件(middleware)负责实现这个模型。例如,万维网(World Wide Web,WWW)就是分布式系统,在万维网中,所有的一切看起来就好像是一个文档(或网页页面)一样。
如果多个电子设备组成分布式系统,分布式系统中可以跨设备调用客体。也就是说,第一设备上的应用可以调用第二设备上的客体。在这种跨设备调用的过程中,调用第二设备上的客体的应用是来自第一设备的。其中,第一设备上的用户标识与第二设备上的用户标识可能相同也可能不同;假设两个设备上的用户标识相同,第一设备和第二设备上该应用的权限设置也可能是不同的。由于应用没有安装在第二设备上,第二设备上的检查权限不能确定该应用在第二设备上的权限,会使得第一设备的应用无法直接调用第二设备上的客体。在这种情况下,为了避免这种无法调用的情况出现,可以修改分布式系统中检查权限的使用方法。但是,这种修改涉及整个分布式系统上大量的应用和服务都要修改,不易实现。
本申请实施例提供一种权限复用方法,可以解决分布式系统中跨设备调用客体时,应用权限的同步问题。本申请实施例中,在分布式系统中,第一设备与第二设备建立连接之后,第一设备可以向第二设备发送控制信息。第二控制信息中可以包括第一设备的设备标识、多个应用的UID和多个应用的权限信息。第二设备响应于该控制信息,创建一个虚拟机。这个虚拟机包括设备标识和多个应用的UID,第二设备中保存虚拟机与第一设备中多个应用的权限信息的对应关系。如此,当第一设备上的应用访问第二设备上的客体时,第一设备的应用访问第二设备的虚拟机,通过虚拟机执行检查权限以确定第一设备上的应用是否可以调用第二设备的客体。由此一来,就不需要调整每个设备上的检查权限的方法,也不需要对分布式系统上的大量服务进行修改。
其中,上述权限复用的方法可以应用于Linux内核开发出的操作系统建立的分布式系统。本申请实施例中,以电子设备上的操作系统是Android系统为例。也就是说,该电子设备上安装的系统可以是Android系统也可以是非Android系统。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等,本申请实施例对该电子设备的具体形态不作特殊限制。
需要说明的,本申请实施例以电子设备中安装Android系统为例,对本申请实施例中的技术方案进行说明。以下将结合附图,对本申请实施例中的技术方案进行说明。
请参考图3,为本申请实施例提供的一种电子设备200的结构示意图。如图3所示,该电子设备200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,传感器模块280,摄像头293和显示屏294等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,无线通信模块260和音频模块270等供电。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。其中,无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备200可以包括1个或N个显示屏294,N为大于1的正整数。
摄像头293用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备200可以包括1个或N个摄像头293,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备200在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备200可以支持一种或多种视频编解码器。这样,电子设备200可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
电子设备200可以通过音频模块270,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。
以下实施例中的方法均可以在具备上述硬件结构的电子设备中实现。
本申请实施例中的电子设备可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,请参考图4,为Android系统的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
在一些实施例中,应用程序包中的应用运行时,可以调用电子设备上的客体资源。例如,应用程序中可以包括相机应用,当相机应用运行时,可以调用电子设备上的摄像头以获取图像信息。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。
视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于为电子设备提供通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
在本申请实施例中,应用程序框架层还可以包括通信管理器。电子设备可以通过通信管理器与其他设备建立连接。例如,第一设备通过通信模块与第二设备建立连接,第一设备通过通信模块向第二设备发送控制信息。控制信息可以包括第一设备的设备标识,多个应用的UID和多个应用的权限信息。
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绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
请参考图5,为本申请实施例提供的一种权限复用的方法的流程图。该方法应用于分布式系统,本申请实施例以分布式系统中第一设备和第二设备实现权限复用方法为例。如图5所示,该方法包括步骤501-步骤504。
其中,分布式系统中,主体设备可以访问客体设备的客体。本申请实施例中以第一设备是主体设备,第二设备是客体设备为例说明上述权限复用的方法。
步骤501:主体设备与客体设备建立连接。
可以理解的,在该分布式系统中可以包括不止这两个设备,且分布式系统中的多个设备是互相连接的。
步骤502:主体设备向客体设备发送控制信息。
控制信息包括主体设备的第一设备标识,主体设备中多个应用的UID以及多个应用的权限信息。其中,一个应用的权限信息用于指示一个应用具备访问主体设备中哪些客体的权限。例如,主体设备中的应用包括相机,相机的权限信息包括访问主体设备中的摄像头的权限,访问主体设备中相册的权限。
本申请实施例中,主体设备的控制信息中第一设备标识与主体设备之间存在对应关系。也就是说,主体设备访问客体设备时,主体设备可以根据第一设备识别出与主体设备对应的设备标识。为了保护主体设备的信息,第一设备标识可以不是主体设备真正的设备标识。示例性的,主体设备中有第一设备标识和第二设备标识,第一设备标识和第二设备标识均用于标识主体设备。也就是说,主体设备可以识别出第一设备标识和第二设备标识都用于标识自身,但第一设备标识与第二设备标识不同。
在一些实施例中,主体设备可以预先保留一部分的设备标识用于生成控制信息。假如主体设备向第一客体设备和第二客体设备发送控制信息,其中,主体设备向第一客体设备发送第一控制信息,主体设备向第二客体设备发送第二控制信息。第一控制信息包括主体设备的第一设备标识,第二控制信息包括主体设备的第二设备标识。第一设备标识和第二设备标识都用于标识主体设备,但第一设备标识和第二设备标识不同。
另一些实施例中,主体设备与客体设备建立连接之后,主体设备与客体设备形成分布式系统。主体设备向分布式系统中的映射模块申请保留一些设备标识,以便主体设备向客体设备发送控制信息时申请使用这些设备标识。
步骤503:客体设备接收该控制信息,并根据该控制信息创建虚拟UID,虚拟UID对应于主体设备的第一设备标识和主体设备的UID。
需要说明的是,客体设备接收到控制信息之后,并不是直接使用控制信息中的多个应用额UID,客体设备可以向系统申请一个UID与主体设备的第一设备标识形成虚拟UID。其中,客体设备虚拟UID对应于主体设备的第一设备标识和主体设备的UID。
可以理解的,主体设备与客体设备建立连接之后,主体设备向客体设备发送控制信息,客体设备根据该控制信息生成虚拟UID。这样一来,当主体设备上的应用想要访问客体设备上的客体,可以通过虚拟UID进行检查权限。也就是说,通过虚拟UID可以实现将主体设备上应用的权限同步到客体设备。
在一些实施例中,主体设备的控制信息中包括的主体设备的设备标识仅用于做远程访问的权限映射。即客体设备接收到控制信息之后根据设备标识和UID创建的虚拟UID,仅用于主体设备的远程访问。如图6所示,为客体设备通过映射形成虚拟UID示意图,主体设备将控制信息发送到客体设备,客体设备根据控制信息映射后生成本地虚拟UID。并且,在客体设备中虚拟UID和应用的权限信息存在对应关系。图示6中,以客体设备的映射表中包括UID和应用的权限信息对应关系。可以理解的,本地虚拟UID中包括主体设备标识和多个应用的UID。
如图7A所示,为客体设备根据控制信息建立虚拟UID的实施流程图。包括步骤503a-步骤503d。
步骤503a:客体设备接收到来自主体设备的控制信息。
示例性的,系统的UID映射模块为主体设备预留UID,当为主体设备预留的UID被其他客体设备申请后,客体设备申请到的UID对应于主体设备的第一设备标识和UID。
步骤503b:当客体设备接收到主体设备的控制信息之后,判断是否有第二虚拟UID对应于主体设备的设备标识和UID。若为是,执行步骤503c;若为否,执行步骤503d-步骤503e。
可以理解的,第二虚拟UID是客体设备之前为主体设备申请的UID。如果客体设备之前为主体设备申请过虚拟UID,则客体设备申请的虚拟UID对应于主体设备第一设备标识和UID。如果客体设备之前没有为主体设备申请过虚拟UID,则系统的UID映射模块为主体设备分配一个UID,以便客体设备的虚拟UID对应于主体设备的第一设备标识和UID。
步骤503c:客体设备更新第二虚拟UID对应的多个应用的权限信息。
其中,由于第二虚拟UID是之前申请的,为了保证主体设备权限信息与第二虚拟UID对应的权限信息一致,则需要更新第二虚拟UID对应的权限信息。
值得一提的是,客体设备如果与主体设备断开连接,则客体设备可以删除第二虚拟UID,以及删除该虚拟UID对应的应用权限。
步骤503d:客体设备向系统中的UID映射模块申请一个UID,将该UID作为第一虚拟UID。
其中,第一虚拟UID就是客体设备创建的虚拟UID。
可以理解的,客体设备中不存在第二虚拟UID,也就是说,客体设备之前没有向系统的UID映射模块为主体设备申请过UID。则客体设备为客体设备申请一个UID,客体设备将申请的UID对应于主体设备的设备标识和UID。
请参考图7B,为虚拟UID的映射框图示意。如图7B中,包括步骤701-步骤707。其中,步骤705-步骤706是分布式系统创建之后就可以执行的。步骤701-步骤702是客体设备创建虚拟UID的过程,在客体设备接收到控制信息之后执行的。
其中,步骤701-步骤702对应于上述步骤503b,上述步骤705和步骤706对应于上述步骤503a,步骤703对应于步骤503c,步骤707对应于步骤503d。为了避免重复,不予赘述。
步骤504:客体设备保存控制信息中多个应用的权限信息,以及虚拟UID对应于多个应用的权限信息。
其中,客体设备创建虚拟UID,并同步保存主体设备中应用的权限信息。这样,当主体设备中的应用运行,访问客体设备中的客体,客体设备可以根据同步的权限信息进行检查权限,以便确定该应用是否可以访问对应客体。
其中,第一虚拟UID对应于主体设备的设备标识和UID。由此一来,当主体设备中的应用想要访问客体设备中的客体时,可以通过第一虚拟UID访问客体设备,从而实现主体设备的检查权限复用至客体设备的目的。而且,客体设备不需要改变检查权限的方法。
在一些实施例中,主体设备在于客体设备建立连接之后,每当主体设备上安装了应用,都可以将该应用的权限信息同步至客体设备。示例性的,当分布式系统的一个设备安装应用时,可以将该应用的权限信息同步至分布式系统中其他设备上,以便分布式系统中的设备可以跨设备调用客体设备上的资源。
请参考图7C,为主体设备安装应用(application,APP)同步APP权限的示意框图。其中,主体设备中包括策略库,策略库中可以包括主体设备上安装的全部应用的权限信息。客体设备中也可以包括策略库,策略库中包括有客体设备上安装的应用的权限信息,以及与虚拟UID对应的权限信息。如图7C所示,客体设备中还可以包括UID映射模块,客体设备上创建的虚拟UID对应于主体设备。其中,主体设备的第一设备标识表示为DeviceID。
如果主体设备上的应用要访问主体设备上的客体,检查权限查询该应用对一个的UID是否具有访问该课题的权限。检查权限确定该应用可以访问该客体,则应用可以访问该客体。通过上述权限复用方法,客体设备为主体设备建立虚拟UID,虚拟UID对应于主体设备的设备标识和主体设备中的UID。当主体设备上的应用访问客体设备上的客体时,检查权限查询虚拟UID对应的应用权限,以确定虚拟UID对应的应用权限可以访问该资源,则主体设备上的应用可以访问客体设备上的客体。也就是说,在分布式系统中,实现了跨设备调用客体。主体设备可以直接访问客体设备上的客体,并且不需要修改检查权限的方法,实现了分布式系统中的权限同步。
请参考图8,为本申请实施例提供的基于权限复用的资源访问方法流程图,该方法应用于分布式系统。其中,以分布式系统中主体设备上的应用调用客体设备上的客体为例。该方法包括步骤801-步骤805。
步骤801:主体设备向客体设备发送访问请求。
其中,该访问请求用于请求由主体设备中的应用访问客体设备中的第一客体,访问请求中包括主体设备的第一设备标识和第一应用的UID。也就是说,第一客体是客体设备中的软件或硬件资源。
步骤802:客体设备接收到来自主体设备的访问请求。
可以理解的,客体设备在与主体设备建立连接之后,客体设备中创建虚拟UID。虚拟UID对应于主体设备的第一设备标识和多个应用的UID,则主体设备上的检查权限方法可以直接应用于客体设备。实现主体设备权限复用在客体设备。
步骤803:客体设备响应于访问请求,从保存的虚拟身份标识中查询第一虚拟身份标识,第一虚拟身份标识对应于主体设备的第一设备标识和第一应用的UID。
可以理解的,客体设备中的检查权限根据应用的访问的客体,以及该应用的UID查询该应用的权限。则在分布式系统中,不需要大量改变设备和服务的检查权限的方法就可以实现跨设备调用客体。
步骤804:客体设备从权限信息中查询该第一虚拟身份标识对应的第一权限信息。
客体设备查询第一虚拟身份标识,使得主体设备中的应用调用客体设备中的客体时,可以通过检查权限实现。
步骤805:客体设备根据第一权限信息所指示第一应用的权限,为第一应用提供第一客体的访问服务。
具体地说,客体设备的检查权限在查询第一应用的权限之后,如果第一应用的权限指示第一应用可以访问第一客体,则为主体设备提供访问第一客体的访问服务。如果第一应用的权限指示第一应用不可以访问第一客体,则客体设备拒绝第一应用访问第一客体的访问服务。
请参考图9,为主体设备上的第一应用访问客体设备的访问示意框图。如图9中,主体设备中的第一应用运行时发起访问,即主体设备运行第一进程。客体响应于主体设备的访问请求,即客体设备执行第二进程。客体设备为第二进程提供服务,将主体设备中的设备标识和该应用的UID发送至客体设备。客体设备执行第二进程,使得客体设备执行检查权限,以查询第一应用在客体设备的权限信息。
本申请实施例提供一种分布式系统,如图10所示。如图10中,分布式平台包括多个电子设备,如主体设备101和客体设备102。可以理解的,分布式系统中可以包括多个主体设备101和多个客体设备102。此处不做限定。
主体设备包括:存储器和处理器。主体设备中可以包括多个处理器,存储器和处理器耦合。存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行主体设备中的计算机指令时,使主体设备可以执行图所示的方法。
客体设备包括:存储器和处理器。客体设备中可以包括多个处理器,存储器和处理器耦合。存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行客体设备中的计算机指令时,使客体设备可以执行图所示的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,电子设备执行图5、图7A或图8中任一附图中的相关方法步骤实现上述实施例中的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行图5、图7A或图8中任一附图中的相关方法步骤实现上述实施例中的方法。
其中,本申请实施例提供的电子设备、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例可以根据上述方法示例对上述设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种权限复用方法,其特征在于,应用于分布式系统,所述分布式系统包括第一设备和第二设备,所述第一设备中包括多个应用,所述方法包括:
所述第一设备向所述第二设备发送控制信息;其中,所述控制信息包括所述第一设备的第一设备标识、所述多个应用的用户标识和所述多个应用的权限信息;一个应用的权限信息用于指示所述一个应用具备访问所述第一设备中哪些客体的权限,所述第一设备中的客体包括所述第一设备中的软件或硬件资源;
所述第二设备接收所述控制信息,并根据所述控制信息创建第一虚拟身份标识,所述第一虚拟身份标识包括所述第一设备的第一设备标识和所述多个应用的用户标识;
所述第二设备保存所述第一虚拟身份标识、所述多个应用的权限信息,以及所述第一虚拟身份标识与所述多个应用的权限信息的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述多个应用包括第一应用;所述方法还包括:
所述第一设备运行所述第一应用时,向所述第二设备发送访问请求;其中,所述访问请求用于请求由所述第一应用访问所述第二设备中的第一客体,所述第一客体是所述第二设备中的软件或硬件资源;所述访问请求中包括所述第一设备的第一设备标识和所述第一应用的用户标识;
所述第二设备接收所述访问请求;
响应于所述访问请求,所述第二设备从所述第二设备保存的虚拟身份标识中,查询第一虚拟身份标识,所述第一虚拟身份标识与所述访问请求中包括的所述第一设备的第一设备标识和所述第一应用的用户标识对应;
所述第二设备从所述第二设备保存的权限信息中,查询与所述第一虚拟身份标识对应的第一权限信息;
所述第二设备根据所述第一权限信息所指示的权限,为所述第一应用提供第一资源的访问服务。
3.根据权利要求1或2所述的方法,其特征在于,所述第一设备还包括第二设备标识,所述第一设备标识与所述第二设备标识均用于标识所述第一设备,但所述第一设备标识与所述第二设备标识不同。
4.根据权利要求1或2所述的方法,其特征在于,在所述第一设备向所述第二设备发送控制信息之前,所述方法还包括:
所述第一设备与所述第二设备建立连接。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述第一设备与所述第二设备断开连接,所述第二设备删除所述第一虚拟身份标识和所述第一虚拟身份标识对应的所述多个应用的权限信息。
6.根据权利要求1、2、5中任一项所述的方法,其特征在于,在所述第二设备接收所述控制信息之后,所述根据所述控制信息创建所述第一虚拟身份标识之前,所述方法还包括:
所述第二设备判断所述第二设备中是否保存有第二虚拟身份标识,所述第二虚拟身份标识中的设备标识与所述控制信息包括的所述第一设备标识对应;
其中,所述根据所述控制信息创建所述第一虚拟身份标识,包括:
若所述第二设备中未保存所述第二虚拟身份标识,所述第二设备根据所述控制信息创建所述第一虚拟身份标识;
若所述第二设备中保存所述第二虚拟身份标识,所述第二设备根据所述控制信息中的多个应用的权限信息,更新所述第二虚拟身份标识对应的所述多个应用的权限信息。
7.根据权利要求1、2、5中任一项所述的方法,其特征在于,所述第一设备和所述第二设备的操作系统是基于Linux内核开发的。
8.根据权利要求1、2、5中任一项所述的方法,其特征在于,所述第二设备根据所述控制信息创建所述第一虚拟身份标识,包括:
所述第二设备根据所述控制信息创建虚拟机,所述虚拟机对应于所述第一设备,其中,所述虚拟机的设备标识为所述第一设备的设备标识,所述虚拟机的用户标识为所述第一设备中多个应用的用户标识。
9.一种权限复用方法,其特征在于,应用于分布式系统,所述方法包括:
第二设备接收来自第一设备的控制信息,其中,所述控制信息中包括第一设备的第一设备标识、多个应用的用户设备和多个应用的权限信息;一个应用的权限信息用于指示一个应用具备访问第一设备中哪些客体的权限,所述第一设备中的客体包括所述第一设备中的软件或硬件资源;
所述第二设备根据所述控制信息创建第一虚拟身份标识,所述第一虚拟身份标识包括第一设备的第一设备标识和所述多个应用的用户标识;
所述第二设备保存所述第一虚拟身份标识、所述多个应用的权限信息,以及所述第一虚拟身份标识与所述多个应用的权限信息的对应关系。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第二设备接收来自第一设备的访问请求,其中,所述访问请求用于请求由第一应用访问所述第二设备中的第一客体,所述第一客体是所述第二设备中的软件或硬件资源;所述访问请求中包括第一设备的第一设备标识和所述第一应用的用户标识;
响应于所述访问请求,所述第二设备从所述第二设备保存的所述虚拟身份标识中,查询第一虚拟身份标识,所述第一虚拟身份标识与所述访问请求中包括所述第一设备的第一设备标识和所述第一应用的用户标识对应;
所述第二设备从所述第二设备保存的权限信息中,查询与所述第一虚拟身份标识对应的第一权限信息;
所述第二设备根据所述第一权限信息所指示的权限,为所述第一应用提供第一资源的访问服务。
11.根据权利要求9或10所述的方法,其特征在于,所述第二设备接收来自第一设备的控制信息之前,所述方法还包括:
所述第二设备和所述第一设备建立连接。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
如果所述第一设备与所述第二设备断开连接,所述第二设备删除所述第一虚拟身份标识和所述第一虚拟身份标识对应的所述多个应用的权限信息。
13.根据权利要求9、10、12中任一项所述的方法,其特征在于,所述第二设备接收来自第一设备的控制信息之后,所述第二设备根据所述控制信息创建所述第一虚拟身份标识之前,所述方法还包括:
所述第二设备判断所述第二设备中是否保存有第二虚拟身份标识,所述第二虚拟身份标识中的设备标识与所述控制信息包括的第一设备标识对应;
其中,所述根据所述控制信息创建所述第一虚拟身份标识,包括:
若所述第二设备中未保存所述第二虚拟身份标识,所述第二设备根据所述控制信息创建所述第一虚拟身份标识;
若所述第二设备中保存所述第二虚拟身份标识,所述第二设备根据所述控制信息中的多个应用的权限信息,更新所述第二虚拟身份标识对应的所述多个应用的权限信息。
14.根据权利要求9、10、12中任一项所述的方法,其特征在于,所述第二设备根据所述控制信息创建所述第一虚拟身份标识,包括:
所述第二设备根据所述控制信息创建虚拟机,所述虚拟机对应于所述第一设备,其中,所述虚拟机的设备标识为所述第一设备的设备标识,所述虚拟机的用户标识为所述第一设备中多个应用的用户标识。
15.根据权利要求9、10、12中任一项所述的方法,其特征在于,所述第二设备的操作系统是基于Linux内核开发的。
16.一种基于权限复用的资源访问方法,其特征在于,应用于分布式系统,所述分布式系统包括第一设备和第二设备,所述第一设备中包括多个应用,所述多个应用包括第一应用所述方法包括:
所述第二设备接收来自第一设备的访问请求;其中,所述访问请求用于请求由所述第一应用访问所述第二设备中的第一客体,所述第一客体是所述第二设备中的软件或硬件资源;所述访问请求中包括所述第一设备的第一设备标识和所述第一应用的用户标识;
响应于所述访问请求,所述第二设备从所述第二设备保存的虚拟身份标识中,查询第一虚拟身份标识,所述第一虚拟身份标识与所述访问请求中包括的所述第一设备标识和所述第一应用的用户标识对应;
所述第二设备从所述第二设备保存的权限信息中,查询与所述第一虚拟身份标识对应的第一权限信息;
所述第二设备根据所述第一权限信息所指示的权限,为所述第一应用提供第一资源的访问服务;
其中,所述第二设备中保存有基于多个设备创建的虚拟身份标识和每个设备中各个应用的权限信息,所述多个设备包括所述第一设备,基于所述第一设备创建的虚拟身份标识包括所述第一设备标识和所述多个应用的用户标识,所述第一设备中一个应用的权限信息用于指示所述一个应用具备访问所述第一设备中哪些客体的权限。
17.一种电子设备,其特征在于,所述电子设备是第一设备,所述第一设备包括:存储器和一个或多个处理器;所述存储器和所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述电子设备执行如权利要求1-8中任一项所述的方法。
18.一种电子设备,其特征在于,所述电子设备是第二设备,所述第二设备包括:存储器和一个或多个处理器;所述存储器和所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述电子设备执行如权利要求9-15中任一项所述的方法。
19.一种分布式系统,其特征在于,包括:如权利要求17所述的第一设备,以及和如权利要求18所述的第二设备。
20.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-16任一项所述的方法。
CN202010131670.2A 2020-02-28 2020-02-28 权限复用方法、基于权限复用的资源访问方法及相关设备 Active CN113326498B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010131670.2A CN113326498B (zh) 2020-02-28 2020-02-28 权限复用方法、基于权限复用的资源访问方法及相关设备
PCT/CN2020/125970 WO2021169379A1 (zh) 2020-02-28 2020-11-02 权限复用方法、基于权限复用的资源访问方法及相关设备
EP20922437.7A EP4095723B1 (en) 2020-02-28 2020-11-02 Permission reuse method, permission reuse-based resource access method, and related device
US17/802,748 US20230082375A1 (en) 2020-02-28 2020-11-02 Permission Reuse Method, Permission Reuse-Based Resource Access Method, and Related Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010131670.2A CN113326498B (zh) 2020-02-28 2020-02-28 权限复用方法、基于权限复用的资源访问方法及相关设备

Publications (2)

Publication Number Publication Date
CN113326498A CN113326498A (zh) 2021-08-31
CN113326498B true CN113326498B (zh) 2023-11-17

Family

ID=77412891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010131670.2A Active CN113326498B (zh) 2020-02-28 2020-02-28 权限复用方法、基于权限复用的资源访问方法及相关设备

Country Status (4)

Country Link
US (1) US20230082375A1 (zh)
EP (1) EP4095723B1 (zh)
CN (1) CN113326498B (zh)
WO (1) WO2021169379A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578937B (zh) * 2022-05-05 2022-08-02 北京远特科技股份有限公司 电源管理方法、嵌入式系统及电子设备
CN116049911B (zh) * 2023-04-03 2023-06-30 上海钐昆网络科技有限公司 设备标识的生成方法、装置、设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022128A (zh) * 2016-05-13 2016-10-12 北京奇虎科技有限公司 用于检测进程访问权限的方法、装置及移动终端
CN106156605A (zh) * 2016-06-14 2016-11-23 百度在线网络技术(北京)有限公司 应用权限的处理方法及装置
CN108319496A (zh) * 2017-01-18 2018-07-24 阿里巴巴集团控股有限公司 资源访问方法、业务服务器、分布式系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051459B2 (en) * 2007-01-26 2011-11-01 Samsung Electronics Co. Ltd. Method and system for extending SELinux policy models and their enforcement
CN103001982B (zh) * 2011-09-09 2017-04-26 华为技术有限公司 一种实时共享方法、装置及系统
US8885827B2 (en) * 2012-10-16 2014-11-11 Cambridge Silicon Radio Limited System and method for enabling a host device to securely connect to a peripheral device
US10601900B2 (en) * 2017-05-24 2020-03-24 Red Hat, Inc. Supporting distributed ledgers in a micro-services environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022128A (zh) * 2016-05-13 2016-10-12 北京奇虎科技有限公司 用于检测进程访问权限的方法、装置及移动终端
CN106156605A (zh) * 2016-06-14 2016-11-23 百度在线网络技术(北京)有限公司 应用权限的处理方法及装置
CN108319496A (zh) * 2017-01-18 2018-07-24 阿里巴巴集团控股有限公司 资源访问方法、业务服务器、分布式系统及存储介质

Also Published As

Publication number Publication date
EP4095723B1 (en) 2024-04-24
CN113326498A (zh) 2021-08-31
WO2021169379A1 (zh) 2021-09-02
EP4095723A1 (en) 2022-11-30
EP4095723A4 (en) 2023-07-19
US20230082375A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
US11947974B2 (en) Application start method and electronic device
WO2022262530A1 (zh) 内存管理的方法及电子设备
CN113032766B (zh) 应用权限管理的方法和装置
CN113326498B (zh) 权限复用方法、基于权限复用的资源访问方法及相关设备
WO2023051355A1 (zh) 权限检查的方法和电子设备
CN114116246A (zh) 一种功能调用方法和装置
CN116257262A (zh) 内核升级方法、芯片、电子设备及计算机可读存储介质
WO2022121445A1 (zh) 添加widget的方法、装置及计算机可读存储介质
CN116048771B (zh) 一种资源调度方法及相关设备
CN115481444B (zh) 文件保护方法及电子设备
US20230350738A1 (en) Method for Reusing Shared Library and Electronic Device
WO2020062192A1 (zh) 一种操作控制方法及电子设备
CN116136826A (zh) 内存访问方法、芯片、电子设备及计算机可读存储介质
WO2021238376A1 (zh) 功能包的加载方法、装置、服务器和电子设备
CN115981576B (zh) 共享数据的方法、电子设备及存储介质
CN116662270B (zh) 文件解析方法及相关装置
CN117135263B (zh) 日志信息获取方法、电子设备及计算机可读存储介质
WO2024001808A1 (zh) 信息处理方法、芯片、电子设备及计算机可读存储介质
CN116991532A (zh) 一种虚拟机窗口的显示方法、电子设备及系统
CN117950677A (zh) 一种软件分发方法、电子设备及系统
CN114154180A (zh) 数据共享方法和终端设备
CN117931384A (zh) 一种业务访问的方法、系统、电子设备及存储介质
CN117851338A (zh) 应用数据管理方法、设备、产品及介质
CN118113289A (zh) 代码编译方法、代码运行方法及相关设备
CN117640717A (zh) 一种设备连接方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant