CN114969769A - 一种访问控制方法、电子设备及系统 - Google Patents
一种访问控制方法、电子设备及系统 Download PDFInfo
- Publication number
- CN114969769A CN114969769A CN202110730286.9A CN202110730286A CN114969769A CN 114969769 A CN114969769 A CN 114969769A CN 202110730286 A CN202110730286 A CN 202110730286A CN 114969769 A CN114969769 A CN 114969769A
- Authority
- CN
- China
- Prior art keywords
- caller
- instance
- callee
- electronic device
- service
- 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 155
- 230000015654 memory Effects 0.000 claims abstract description 82
- 238000004891 communication Methods 0.000 claims description 79
- 230000006854 communication Effects 0.000 claims description 79
- 230000006870 function Effects 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 34
- 101150053844 APP1 gene Proteins 0.000 description 17
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 17
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 17
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 15
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 15
- 238000002955 isolation Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 6
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 6
- 238000012550 audit Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 201000009032 substance abuse Diseases 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000001824 photoionisation detection Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001976 improved effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009975 flexible effect Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种访问控制方法、电子设备及系统,可以支持被调用方为不同调用方提供服务时,运行不同的实例,不同实例之间的内存数据保持隔离,解决了各调用方的内存数据被滥用、被误用或被泄露的问题,保障了数据安全。
Description
本申请要求于2021年2月24日提交中国专利局、申请号为202110206259.1、申请名称为“一种访问控制方法、电子设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种访问控制方法、电子设备及系统。
背景技术
终端操作系统(operating system,OS)中的应用程序(application,APP)可以以独立主体的形式向用户申请敏感资源的访问授权,并可以在用户授权通过后为用户提供相应的服务。在一个APP调用另一个APP的服务时,被调用的APP可以以第三方库的形式为调用方APP提供服务。在这种情况下,由于第三方库集成在调用方APP中,第三方库可以使用调用方APP所拥有的各项权限,因此存在第三方库滥用调用方APP所拥有的资源的问题,调用方APP的数据安全得不到保障。
发明内容
本申请提供了一种访问控制方法、相关电子设备及系统,可支持被调用方为不同调用方提供服务时,运行不同的实例,不同实例之间的内存数据保持隔离,解决了各调用方的内存数据被滥用、被误用或被泄露的问题,保障了数据安全。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,本申请实施例提供了一种访问控制方法,该方法应用于通信系统,该通信系统包括第一设备、第二设备、第三设备。其中,第一设备中安装有第一调用方,第二设备中安装有被调用方,第三设备中安装有第二调用方。第一调用方、被调用方、第二调用方为应用程序APP或功能组件,应用程序为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
该方法可以包括:第一设备向第二设备发送第一请求,该第一请求携带:第一调用方、被调用方、第一服务的指示信息。响应于第一请求,第二设备运行第一实例,第一实例是被调用方的实例,第一实例用于为第一调用方提供第一服务。
第三设备向第二设备发送第二请求,该第二请求携带:第二调用方、被调用方、第二服务的指示信息。响应于第二请求,第二设备运行第二实例,第二实例是被调用方的实例,第二实例用于为第二调用方提供第二服务,第二实例不同于第一实例。
实施第一方面的方法,被调用方为不同调用方提供服务时,可以运行不同的实例,如,第二设备上的被调用方可以运行第一实例为第一设备上的第一调用方提供第一服务,第二设备上的被调用方可以运行第二实例为第三设备上的第二调用方提供第二服务,不同实例之间的内存数据保持隔离,可以更为有效的降低各调用方的内存数据被滥用、被混淆、被误用或被泄露等风险,保障了数据安全。
结合第一方面,在一些实施例中,该方法还可以包括:第一设备向第二设备发送第三请求,第三请求携带:第一调用方、被调用方、第三服务的指示信息。响应于第三请求,第二设备运行第一实例,第一实例还用于为第一调用方提供第三服务。即第一设备再次向第二设备发送另一个第三请求,第三请求是第一调用方请求被调用方提供第三服务,对于相同设备上的相同调用方,第二设备仍然运行同一个实例,即第一实例提供第三服务。
结合第一方面,在一些实施例中,该方法还包括:第一设备向第二设备发送第四请求,第四请求携带:第三调用方、被调用方、第四服务的指示信息,其中,第三调用方安装在第一设备中,第三调用方为应用程序或功能组件。响应于第四请求,第二设备运行第一实例,第一实例还用于为第三调用方提供第四服务。即同一设备上的不同调用方,可以共用同一个实例。在本实施例中,第一设备上的第三调用方与第一调用方都可以调用第一实例。
结合第一方面,在一些实施例中,该方法还包括:第四设备向第二设备发送第五请求,第五请求携带:第一调用方、被调用方、第五服务的指示信息,其中,第四设备中安装有第一调用方。响应于第五请求,第二设备运行第一实例,第一实例还用于为第四设备的第一调用方提供第五服务。即不同设备上相同调用方,可以共用同一个实例。在本实施例中,第一设备上的第一调用方,及,第四设备上的第一调用方都可以调用第一实例。
结合第一方面,在一些实施例中,第一调用方和第二调用方相同。即不同设备上相同调用方,可以调用不同实例。在本实施例中,第一设备的第一调用方可以调用第一实例,而第二设备的第一调用方可以调用第二实例,第一实例与第二实例不同。
结合第一方面,在一些实施例中,第一设备和第三设备相同。即相同设备上不同调用方,可以调用不同实例。在本实施例中,第一设备的第一调用方可以调用第一实例,而第一设备的第二调用方可以调用第二实例,第一实例与第二实例不同。
结合第一方面,在一些实施例中,在第二设备运行第一实例之前,该方法还包括:第二设备检测是否存在第一实例,如果不存在,则第二设备创建第一实例。
结合第一方面,在一些实施例中,该方法还包括:第二设备为第一实例分配第一进程标识PID,为第二实例分配第二PID,或者,第二设备为第一实例分配第一用户标识UID,为第二实例分配第二UID。
结合第一方面,在一些实施例中,该方法还包括:第二设备记录第一调用关系,第一调用关系包括:第一调用方的信息,第一实例的信息,第一调用关系的标识等。其中,第一调用方的信息包括:第一调用方的应用标识。第一实例的信息包括:被调用方的应用标识,第一PID,第一UID。第一调用方的信息还包括以下一项或多项:第一调用方的用户标识UID,第一调用方的开发者签名,第一调用方所在第一设备的账户标识,第一设备的标识,第一调用方所在通信系统的标识。第一实例的信息还包括以下一项或多项:被调用方的用户标识UID,被调用方的开发者签名,被调用方所在第二设备的账户标识,第二设备的标识,被调用方所在通信系统的标识。
结合第一方面,在一些实施例中,该方法还包括:第一设备记录第一调用关系,第一调用关系包括:第一调用方的信息,被调用方的信息,第一调用关系的标识等。其中,第一调用方的信息包括:第一调用方的应用标识;被调用方的信息包括:被调用方的应用标识。第一调用方的信息还包括以下一项或多项:第一调用方的用户标识UID,第一调用方的开发者签名,第一调用方所在第一设备的账户标识,第一设备的标识,第一调用方所在通信系统的标识。被调用方的信息还包括以下一项或多项:第一PID,第一UID,被调用方的用户标识UID,被调用方的开发者签名,被调用方所在第二设备的账户标识,第二设备的标识,被调用方所在通信系统的标识。
结合第一方面,在一些实施例中,第二设备运行第一实例之后,该方法还包括:第二设备生成第一结果,第二设备将第一结果返回给第一设备,第一设备运行第一调用方处理第一结果。
结合第一方面,在一些实施例中,该方法还包括:第二设备确认第一调用方具有访问被调用方的权限。第二设备确认权限可以发生在第二设备运行实例之前。
结合第一方面,在一些实施例中,该方法还包括:第二设备确认第一调用方具有访问第一服务的权限。第二设备确认权限可以发生在第二设备运行实例之前。
结合第一方面,在一些实施例中,该方法还包括:第一设备确认第一调用方具有访问被调用方的权限。第一设备确认权限可以发生在第一设备向第二设备发送第一请求之前。
结合第一方面,在一些实施例中,该方法还包括:第一设备确认第一调用方具有访问第一服务的权限。第一设备确认权限可以发生在第一设备向第二设备发送第一请求之前。
第二方面,本申请实施例提供了一种访问控制方法,应用于第二设备,该方法可以包括:第二设备接收第一设备的第一请求,其中,第一设备中安装有第一调用方,第二设备中安装有被调用方,第一请求携带:第一调用方、被调用方、第一服务的指示信息。响应于第一请求,第二设备运行第一实例,第一实例是被调用方的实例,第一实例用于为第一调用方提供第一服务。
第二设备接收第三设备的第二请求,其中,第三设备中安装有第二调用方,第二请求携带:第二调用方、被调用方、第二服务的指示信息。响应于第二请求,第二设备运行第二实例,第二实例是被调用方的实例,第二实例用于为第二调用方提供第二服务,第二实例不同于第一实例。其中,第一调用方、被调用方、第二调用方为应用程序或功能组件,应用程序为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
实施第二方面的方法,被调用方为不同调用方提供服务时,可以运行不同的实例,如,第二设备上的被调用方可以运行第一实例为第一设备上的第一调用方提供第一服务,第二设备上的被调用方可以运行第二实例为第三设备上的第二调用方提供第二服务,不同实例之间的内存数据保持隔离,可以更为有效的降低各调用方的内存数据被滥用、被混淆、被误用或被泄露等风险,保障了数据安全。
结合第二方面,在一些实施例中,该方法还包括:第二设备接收第一设备的第三请求,第三请求携带:第一调用方、被调用方、第三服务的指示信息。响应于第三请求,第二设备运行第一实例,第一实例还用于为第一调用方提供第三服务。即第一设备再次向第二设备发送另一个第三请求,第三请求是第一调用方请求被调用方提供第三服务,对于相同设备上的相同调用方,第二设备仍然运行同一个实例,即第一实例提供第三服务。
结合第二方面,在一些实施例中,该方法还包括:第二设备接收第一设备的第四请求,第四请求携带:第三调用方、被调用方、第四服务的指示信息,其中,第三调用方安装在第一设备中,第三调用方为应用程序或功能组件。响应于第四请求,第二设备运行第一实例,第一实例还用于为第三调用方提供第四服务。即同一设备上的不同调用方,可以共用同一个实例。在本实施例中,第一设备上的第三调用方与第一调用方都可以调用第一实例。
结合第二方面,在一些实施例中,该方法还包括:第二设备接收第四设备的第五请求,第五请求携带:第一调用方、被调用方、第五服务的指示信息,其中,第四设备中安装有第一调用方。响应于第五请求,第二设备运行第一实例,第一实例还用于为第四设备的第一调用方提供第五服务。即不同设备上相同调用方,可以共用同一个实例。在本实施例中,第一设备上的第一调用方,及,第四设备上的第一调用方都可以调用第一实例。
结合第二方面,在一些实施例中,第一调用方和第二调用方相同。即不同设备上相同调用方,可以调用不同实例。在本实施例中,第一设备的第一调用方可以调用第一实例,而第二设备的第一调用方可以调用第二实例,第一实例与第二实例不同。
结合第二方面,在一些实施例中,第一设备和第三设备相同。即相同设备上不同调用方,可以调用不同实例。在本实施例中,第一设备的第一调用方可以调用第一实例,而第一设备的第二调用方可以调用第二实例,第一实例与第二实例不同。
结合第二方面,在一些实施例中,在第二设备运行第一实例之前,该方法还包括:第二设备检测是否存在第一实例,如果不存在,则第二设备创建第一实例。
结合第二方面,在一些实施例中,该方法还包括:第二设备为第一实例分配第一进程标识PID,为第二实例分配第二PID,或者,第二设备为第一实例分配第一用户标识UID,为第二实例分配第二UID。
结合第二方面,在一些实施例中,该方法还包括:第二设备记录第一调用关系,第一调用关系可以包括:第一调用方的信息,第一实例的信息,第一调用关系的标识等。其中,第一调用方的信息包括:第一调用方的应用标识。第一实例的信息包括:被调用方的应用标识,第一PID,第一UID。第一调用方的信息还包括以下一项或多项:第一调用方的用户标识UID,第一调用方的开发者签名,第一调用方所在第一设备的账户标识,第一设备的标识,第一调用方所在通信系统的标识。第一实例的信息还包括以下一项或多项:被调用方的用户标识UID,被调用方的开发者签名,被调用方所在第二设备的账户标识,第二设备的标识,被调用方所在通信系统的标识。
结合第二方面,在一些实施例中,第二设备运行第一实例之后,该方法还包括:第二设备生成第一结果,第二设备将第一结果返回给第一设备。
结合第二方面,在一些实施例中,该方法还包括:第二设备确认第一调用方具有访问被调用方的权限。第二设备确认权限可以发生在第二设备运行实例之前。
结合第二方面,在一些实施例中,该方法还包括:第二设备确认第一调用方具有访问第一服务的权限。第二设备确认权限可以发生在第二设备运行实例之前。
第三方面,本申请实施例提供了一种访问控制方法,应用于第一设备,其中,第一设备中安装有第一调用方、被调用方、第二调用方。第一调用方、被调用方、第二调用方为应用程序APP或功能组件,应用程序为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
该方法可以包括:第一设备发起第一调用请求,该第一调用请求携带:第一调用方、被调用方、第一服务的指示信息。响应于第一调用请求,第一设备运行第一实例,第一实例是被调用方的实例,第一实例用于为第一调用方提供第一服务。
第一设备发起第二调用请求,该第二调用请求携带:第二调用方、被调用方、第二服务的指示信息。响应于第二调用请求,第一设备运行第二实例,第二实例是被调用方的实例,第二实例用于为第二调用方提供第二服务,第二实例不同于第一实例。
实施第三方面的方法,同一个设备中的被调用方为不同调用方提供服务时,可以运行不同的实例,如,第一设备上的被调用方可以运行第一实例为第一调用方提供第一服务,被调用方还可以运行第二实例为第二调用方提供第二服务,不同实例之间的内存数据保持隔离,可以更为有效的降低各调用方的内存数据被滥用、被混淆、被误用或被泄露等风险,保障了数据安全。
结合第三方面,在一些实施例中,该方法还可以包括:第一设备发起第三调用请求,第三调用请求携带:第一调用方、被调用方、第三服务的指示信息。响应于第三调用请求,第一设备运行第一实例,第一实例还用于为第一调用方提供第三服务。即第一设备再次发起另一个第三调用请求,第三调用请求是第一调用方请求被调用方提供第三服务,对于相同调用方的不同服务请求,第一设备仍然运行同一个实例,即第一实例提供第三服务。
结合第三方面,在一些实施例中,该方法还包括:第一设备发起第四调用请求,第四调用请求携带:第三调用方、被调用方、第四服务的指示信息,其中,第三调用方安装在第一设备中,第三调用方为应用程序或功能组件。响应于第四调用请求,第一设备运行第一实例,第一实例还用于为第三调用方提供第四服务。即同一设备上的不同调用方,可以共用同一个实例。在本实施例中,第一设备上的第三调用方与第一调用方都可以调用第一实例。
结合第三方面,在一些实施例中,在第一设备运行第一实例之前,该方法还包括:第一设备检测是否存在第一实例,如果不存在,则第一设备创建第一实例。
结合第三方面,在一些实施例中,该方法还包括:第一设备为第一实例分配第一进程标识PID,为第二实例分配第二PID,或者,第一设备为第一实例分配第一用户标识UID,为第二实例分配第二UID。
结合第三方面,在一些实施例中,该方法还包括:第一设备记录第一调用关系,第一调用关系包括:第一调用方的信息,第一实例的信息,第一调用关系的标识等。其中,第一调用方的信息包括:第一调用方的应用标识。第一实例的信息包括:被调用方的应用标识,第一PID,第一UID。第一调用方的信息还包括以下一项或多项:第一调用方的用户标识UID,第一调用方的开发者签名,第一调用方所在第一设备的账户标识,第一设备的标识,第一调用方所在通信系统的标识。第一实例的信息还包括以下一项或多项:被调用方的用户标识UID,被调用方的开发者签名,被调用方所在第一设备的账户标识,第一设备的标识,被调用方所在通信系统的标识。
结合第三方面,在一些实施例中,第一设备运行第一实例之后,该方法还包括:第一设备生成第一结果,第一设备运行第一调用方处理第一结果。
结合第三方面,在一些实施例中,该方法还包括:第一设备确认第一调用方具有访问被调用方的权限。
结合第三方面,在一些实施例中,该方法还包括:第一设备确认第一调用方具有访问第一服务的权限。
第四方面,本申请实施例提供了一种电子设备,该电子设备可以包括:通信装置、存储器以及耦合于存储器的处理器,多个应用程序,以及一个或多个程序。存储器中存储有计算机可执行指令,处理器执行指令时使得电子设备可以实现如第二方面中第二设备所具有的任一功能。
第五方面,本申请实施例提供了一种电子设备,该电子设备可以包括:通信装置、存储器以及耦合于存储器的处理器,多个应用程序,以及一个或多个程序。存储器中存储有计算机可执行指令,处理器执行指令时使得电子设备可以实现如第三方面中第一设备所具有的任一功能。
第六方面,本申请实施例提供了一种通信系统,该通信系统可包括前述各方面中描述的第一设备、第二设备、第三设备等。可理解的,基于同一发明思想,第六方面的通信系统中第一设备、第二设备、第三设备执行的各个步骤可参考第一方面的方法中的第一设备、第二设备、第三设备实现对应功能时所执行的步骤,或,第二设备执行的各个步骤可参考第二方面的方法中的第二设备实现对应功能时所执行的步骤,这里不再赘述。
第七方面,本申请实施例提供了一种计算机存储介质,该存储介质中存储有计算机程序,该计算机程序包括可执行指令,该可执行指令当被处理器执行时使该处理器执行如第二方面,或第三方面所提供的方法对应的操作。
第八方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第二方面中任一可能的实现方式,或如第三方面中任一可能的实现方式。
第九方面,本申请实施例提供了一种芯片系统,该芯片系统可以应用于电子设备,该芯片包括一个或多个处理器,处理器用于调用计算机指令以使得电子设备实现如第二方面中任一可能的实现方式,或如第三方面中任一可能的实现方式。
实施本申请提供的上述方法,同一个被调用方可以启用多个实例,并使用不同的实例来为不同的调用方提供服务。由于实例之间的天然隔离属性,不同实例无法互相访问内存数据,这样可以提供系统级的内存数据安全机制,避免了各调用方的内存数据被滥用、误用及泄露问题,保证了数据安全。
附图说明
图1为本申请实施例提供的一种通信系统的示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3为本申请实施例提供的电子设备的硬件结构示意图;
图4为本申请实施例提供的一种业务场景示意图;
图5为现有技术方案示意图;
图6为本申请实施例提供的软件架构示意图;
图7为本申请实施例提供的一种访问控制的模型的示意图;
图8为本申请实施例提供的一种访问控制方法的流程图;
图9为本申请实施例提供的另一种访问控制方法的流程图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
首先,介绍本申请实施例提供的通信系统。
图1示出了本申请实施例提供的一种通信系统10,也可称为分布式系统10。
分布式系统10可以包括多个智能终端设备,这多个终端设备之间建立有通信连接109。例如,如图1中所示,终端设备可以是智能手机101、笔记本电脑102、台式电脑103、平板电脑104、智能音响105、智能手表106、智能手环107、耳机108或者其他类型的电子设备,比如还可以包括桌面型计算机、膝上型计算机、手持计算机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、智慧屏、车机、游戏机、其他智能穿戴设备等,还可以包括物联网(internet ofthings,IOT)设备或智能家居设备如智能热水器、智能灯具、智能空调等等。本申请对此不作任何限制。在本实施例中,终端设备也可简称为终端,终端设备通常是可以提供用户界面、可以与用户交互、为用户提供业务功能的智能电子设备。
分布式系统10中的多个电子设备均为部署在家庭中的设备时,分布式系统10也可被称为家庭分布式系统。
分布式系统10中的各终端设备上可以搭载系统、系统、 系统、鸿系统(HarmonyOS,HOS)或者其他类型的操作系统,分布式系统10中的各个终端设备的操作系统可以相同也可以不同,本申请对此不作限制。在一些实施例中,分布式系统10中的各个终端均搭载有鸿系统,那么该分布式系统10可以称为鸿超级虚拟终端(super virtual device),亦可称为鸿超级终端,指的是通过分布式技术将多个终端的能力进行整合,存放在一个虚拟的硬件资源池里,根据业务需要统一管理、调度和整合终端能力,来对外提供服务,使得不同终端之间实现快速连接、能力互助、资源共享。
在分布式系统10中,各个终端之间建立有通信连接109,该通信连接109可以为远场通信连接,比如各个终端登录同一个账号从而通过互联网实现连接并通信。分布式系统10中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。例如,电子设备100和电子设备200可以登录不同的账号,电子设备100在设备管理应用中,将电子设备200和本身进行绑定,之后通过该设备管理应用来连接。在本申请以下实施例中,电子设备100可以为分布式系统10中的任意一个电子设备,电子设备200也可以为分布式系统10中的任意一个电子设备。例如,电子设备100为智能手机,电子设备200为智慧屏。
在分布式系统10中,该通信连接109也可以为近场通信连接,比如通过有线连接,如通用串行总线(uniersalserialbus,USB)连接,或者无线连接,如蓝牙(bluetooth,BT)连接、无线保真(wireless fidelity,Wi-Fi)连接等,实现各个终端之间在无账号或异账号情况下通信。本申请实施例对通信连接的类型不作限制。终端设备中可以配置有蓝牙(bluetooth,BT)模块和/或无线局域网络(wireless local area networks,WLAN)模块。其中,蓝牙模块可以提供包括经典蓝牙(蓝牙2.1)或蓝牙低功耗(bluetooth low energy,BLE)中一项或多项蓝牙通信的解决方案,WLAN模块可以提供包括无线保真点对点连接(wireless fidelity peer-to-peer,Wi-Fi P2P)、无线保真局域网(wireless fidelitylocal area networks,Wi-Fi LAN)或无线保真软件接入点(wireless fidelity softwareaccess point,Wi-Fi softAP)中一项或多项WLAN通信的解决方案。在一些实施例中,Wi-FiP2P是指允许无线网络中的设备无需通过无线路由器即可以点对点形式相互连接,在系统中又可称为无线保真直连(wireless fidelity direct,Wi-Fi direct)。建立Wi-FiP2P连接的设备之间可以在不连接网络或热点的情况下,直接通过Wi-Fi(必须处于同一频段)进行数据交换,实现点对点的通信,如传输文件、图片、视频等数据。相对于蓝牙,Wi-FiP2P具有搜索速度和传输速度更快、传输距离更远等优点。各个终端之间可通过通信连接109进行数据的传输和交互。
此外,分布式系统10中的多个电子设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。
在本申请实施例中,分布式系统10中的各个设备可以安装传统APP,例如传统的相机应用、图库应用、设置应用等等。后续实施例中,传统APP可以简称为APP。
此外,本申请实施例提供的分布式系统10可以安装分布式应用(distributedapplication)。该分布式应用可以为系统应用,也可以为第三方应用,这里不做限制。
与包含多种能力的传统应用程序不同,分布式应用支持以单一能力为单位进行部署。APP是指可以实现一项或多项功能的计算机程序,可独立运行,通常具有可视的用户界面,可以与用户进行交互。一个分布式应用包括一个或多个功能组件。
功能组件是电子设备中可独立运行的最小能力单元,是对单一能力进行抽象封装的概念。传统APP将多个功能集合在一起,而功能组件将各个功能作为单独的服务化基础能力,独立存在。即,功能组件是实现单一功能的程序实体。
每个功能组件都可以独立下载、安装并运行。组成同一个分布式应用的多个功能组件,可以部署在分布式系统10中的同一个电子设备中,也可以部署在不同电子设备中。分布式应用可以实现封装远程虚拟化、远程调用、元能力管理、跨平台兼容、安全等功能模块,分布式应用可以调用其他设备有而本设备没有的计算能力,具备将本设备的计算工作拆分到多个设备上协同完成等能力。
分布式系统10可以赋予功能组件更具灵活性的可编排、可迁移等特性,分布式系统10可以通过编排合适的功能组件使其协同完成作业。
可理解的,功能组件只是本实施例中所使用的一个词语,其代表的含义在本实施例中已经记载,其名称并不能对本实施例构成任何限制。另外,在本申请其他一些实施例中,功能组件也可以称为系统组件、系统服务、业务功能、元能力/原子能力(Ability)等其他名词。本申请后续实施例统一以“功能组件”进行描述。
(1)particle ability,PA。
PA是无UI的功能组件,可被描述为原子化服务或者原子化功能模块/单元,是可实现单一功能的程序实体,是可独立执行的程序片段。PA可以为FA提供支持,例如作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。例如,美颜功能、定位功能、音视频编解码功能等,可以封装为PA。在一些实施例中,particle ability(PA)又可称为atomicability(AA)。
PA具有多端部署、分布式执行等特性。PA仅对系统服务有依赖关系,和其他PA之间不存在依赖关系。
PA实际上可以将远程虚拟化、远程调用、PA管理、跨平台兼容、安全等实现做封装,对开发者开放跨设备的使能和唤起的服务,以供其他设备调用本设备的计算能力,以及协同其他设备完成计算工作。PA支持Service Ability,Data Ability等。Service Ability用于提供后台运行任务的能力。Data Ability用于对外部提供统一的数据访问抽象。
在本申请实施例中,PA可以被其他APP或FA或PA调用,PA也可以调用其他PA或FA或APP,以实现更多、更复杂的功能。
(2)feature ability,FA。
FA是包含一组或若干组UI的功能组件,可以提供与用户交互的能力。例如,地图应用中的导航界面、即时通讯应用中的视频通话界面等,可以实现为FA。
在一些实施例中,FA可以基于MVVM(model-view-view-model)模式开发,将视图UI和业务逻辑分离。业务逻辑代码和视图UI代码分开部署,视图UI代码则可以集成到其他APP中。视图UI代码在运行过程中,可以和业务逻辑代码通信,获取到UI展示所需要的数据。
FA支持page模板的能力,例如Empty Ability,Login Ability,Setting Ability等。FA可以采用脚本语言(java script,JS)提供声明式开发模式,采用类HTML和层叠样式表(cascading style sheet,CSS)声明式编程语言作为页面布局和页面样式的开发语言,并支持ECMAScript规范的JS语言提供页面业务逻辑。
FA可以具有免安装、独立运行、跨设备UI迁移、跨设备二进制迁移等能力。FA还具有多端部署、分布执行的特性。
在本申请实施例中,FA可以被其他APP或FA或PA调用,FA也可以调用其他PA或FA或APP,以实现更多、更复杂的功能。
同样的,功能组件PA/FA具有多端部署、分布式执行的特点,即一个分布式应用可以包含多个PA/FA,并且多个PA/FA可以部署在相同或不同的终端设备中。分布式系统10中的每个终端设备都可以安装有APP/PA/FA,分布式系统10中的终端设备可以同步其他终端设备的PA/FA信息,便于调用。比如,部署在一个终端设备中的PA/FA,可以被部署在该终端设备中的应用调用,也可以被部署在分布式系统10中其他终端设备中的应用调用。
可以理解的是,“FA”、“PA”只是本实施例中所使用的一个词语,在本申请其他一些实施例中,其还可以被称为其他名词。例如,“PA”、“FA”也可以被称为例如原子能力、原子应用、元能力、原子化功能模块/单元等其他名词。同样的,“PA”在其他一些实施例中还可被称为元服务、原子化服务、原子服务等其他名词,“FA”在其他一些实施例中也可以被称为特性能力、元程序等其他名词。
组成一个分布式应用的多个功能组件可以由同一个开发者来开发或提供,可以由多个开发者分别开发或提供,这里不做限制。不同开发者共同开发功能组件,可以提高分布式应用的开发效率。
在本申请实施例中,功能组件可以对外提供标准化的调用接口,用于被调用方调用。调用方指的是调用请求的发起方,被调用方指的是调用请求的目标对象。一个普通APP可以调用功能组件,被调用的功能组件还可以再次调用其他的功能组件,这种多级调用的情况可以称为链式调用。
在本申请实施例中,在一个调用关系中,发起调用功能的一方,可以称为调用方或调用者,被调用方调用提供资源的一方可以称为被调用方或被调用者。调用方或被调用方可以为APP、FA或PA。整个调用链的初始发起者,可以称为首调者,首调者例如可以为APP或FA。举例来说,调用链为:APP1调用PA1,PA1调用PA2,PA2调用FA1,则APP1为首调者。再举例来说,调用链为:FA1调用PA1,PA1调用PA2,则FA1为首调者。
在本申请一些实施例中,调用方也可以称为主体应用,被调用方还可以称为客体应用。
在调用链中,各个调用方,以及,被调用方,可以部署在同一个电子设备中,也可以部署在不同的电子设备中。
调用方所在设备可以称为主体设备,被调用方所在设备可以为客体设备。
分布式系统10中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及APP信息等。具体的,各个设备可以将自身安装的功能组件和/或APP的标识、自己的设备信息(例如设备标识)同步到分布式系统10中,对其他设备可见,以方便后续在分布式系统10中各个设备之间互相调用。每个功能组件或APP能够被哪些调用方调用,以及,能够调用哪些其他的功能组件或APP,即调用权限和/或被调用权限,可以预先设置并记录在各个电子设备上,并同步在分布式系统10中。
结合前述描述,为了方便理解,在这里给出一个简单的示例说明。
参考图2,分布式系统10中包括电子设备A和电子设备B,其中,电子设备A中部署有应用程序A、功能组件A和功能组件B,电子设备B中部署有应用程序B、功能组件C和功能组件D。分布式系统10中的每个电子设备可以获知、调用其他电子设备上的功能组件,比如,应用程序A可以通过调用功能组件A、功能组件B以及电子设备B上的功能组件C等实现相应功能,应用程序B可以通过调用功能组件C、功能组件D等实现相应功能。除了应用程序调用功能组件,功能组件之间也可以互相调用,比如,部署在电子设备A上的功能组件B还可以调用部署在电子设备B上的功能组件D。
需要说明的是,图1、图2所示的场景仅用于辅助描述本申请实施例提供的技术方案,并不对本申请实施例构成限制。在实际业务场景中,分布式系统10可以包括更多或更少的终端设备,各个终端设备中可以部署更多或更少的分布式应用和/或PA/FA,各分布式应用中可以包括更多或更少的PA/FA,对各个APP/PA/FA之间的调用关系也不作任何限定等。
下面对本申请实施例中提供的电子设备的结构进行示例性描述。
本申请实施例提供的电子设备可以为图1所示分布式系统10中所描述的任意一个电子设备,也可以是本申请后续实施例中的电子设备100或电子设备200或其他电子设备,这里不做限制。在这里以电子设备100为示例进行说明。
本申请实施例中,电子设备100可以包括但不限于手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备。本申请实施例对电子设备100的具体类型不作任何限制。
图3为本申请实施例提供的电子设备100的硬件结构示意图。
电子设备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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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 data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器具有读取/写入速度快,易失性的特性。易失性指的是一旦断电,RAM中所存储的数据将随之消失。通常情况下,随机存取存储器静态功耗极低,运行功耗相对较大。
非易失性存储器具有非易失性、存储数据稳定的特性。非易失性是指断电后,其所存储的数据不会消失,可以长时间断电保存数据。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5SDRAM)等。
非易失性存储器可以包括磁盘存储器件(magnetic disk storage)、快闪存储器(flash memory)等。
磁盘存储器件是以磁盘为存储介质的存储器,具有存储容量大、数据传输率高、存储数据可长期保存等特点。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
结合上述分布式系统10的说明,参考图4,图4示例性示出了一种可能的分布式的远程教学业务场景。
如图4所示,分布式系统包含智能手机、平板电脑、智慧屏等电子设备。分布式系统中的各个设备两两相互连接。智能手机、平板电脑、智慧屏可以配置不同的软件操作系统(operating system,OS),例如智能手机和平板电脑可以配置系统,智慧屏可以配置系统。
智能手机中安装有“在线课堂”应用。“在线课堂”是一款安装于电子设备中、为老师和学生提供远程上课所需的各项功能的应用程序,本申请实施例对其名称不做限制。“在线课堂”可以包括以下几个功能组件:黑板功能组件、白板功能组件、音视频编解码功能组件、网络连接功能组件。其中,黑板功能组件、白板功能组件属于FA,音视频编解码功能组件、网络连接功能组件属于PA。黑板功能组件提供远程讲解课程的功能。白板功能组件提供远程回答问题的功能。音视频编解码功能组件提供视频音编解码功能。其中,黑板功能组件和白板功能组件还可以通过调用智能手机中的视频通话功能组件来实现视频通信功能。视频通话功能组件属于PA。
在老师侧,老师在智能手机上使用“在线课堂”时,可以将黑板功能组件迁移或切换到智慧屏上,从而在智慧屏上讲解课程。
在学生侧,学生在智能手机上使用“在线课堂”时,可以将白板功能组件迁移或切换到平板电脑上,从而在平板电脑上回答问题。
将功能组件由一个设备A迁移或切换至另一设备B,可以包括以下两种:1,UI迁移。在FA的视图UI和业务逻辑分离时,设备A可以运行业务逻辑代码时,可以触发设备B运行该视图UI的代码,用户看来就好像是将功能组件从设备A迁移到了设备B中。2,整体迁移。整体迁移是指设备B从设备A处或者从网络中下载并安装该功能组件后,运行该功能组件并提供相应的功能。
在该远程教学业务场景中,“在线课堂”为调用方,平板电脑中的白板功能组件、智慧屏中的黑板功能组件为被调用方。
图4还示出了另一种可能的分布式视频通话业务场景。
如图4所示,智能手机还可以安装有其他分布式应用,例如即时通讯应用。即时通讯应用可以提供视频通话、语音通话及其他通信功能。即时通讯应用可以包括以下功能组件:视频通话功能组件、音视频编解码功能组件、网络连接功能组件。
用户在智能手机上使用即时通讯应用时,可以将该应用的视频通话功能组件迁移或者切换到智慧屏或平板电脑上,从而利用智慧屏或平板电脑的摄像头和显示屏来进行视频通话。
在该视频通话业务场景中,即时通讯应用为调用方,视频通话功能组件为被调用方。
需要说明的是,如图4所示的业务场景仅用于辅助描述本申请实施例的技术方案。在实际业务场景中,图4所示的分布式系统可以包括更多的终端设备,各个设备中可以部署更多或更少的功能组件,各分布式应用可以包括更多或更少的功能组件。
通过图1、图2所示的分布式系统10,以及,图4所示的分布式业务场景,可以整合不同设备的软硬件能力,实现智慧化的全场景体验。
在图1、图2所示的分布式系统10以及图4所示的分布式业务场景中,由于功能组件可以被跨设备调用,为了避免各个调用者的内存数据发生混淆、误用或恶意使用等问题,为了保证各个功能组件可以合理地访问设备资源,以及保障分布式系统中设备间安全共享资源、数据等,本申请实施例提供了一种访问控制方法,后面将详细介绍解决提供的具体方案。
这里,分布式系统中设备间共享的资源可包括但不限于:软件资源、硬件资源、设备的外设或者配件资源等。
应用程序或功能组件,在其运行过程中生成的数据可以包括以下两种:
1,内存数据。
电子设备启动或发起应用程序或功能组件的实例,即会产生对应的内存数据。
内存数据即为RAM中的数据,可随时被读取,断电即消失。
实例是运行态的应用程序或功能组件。在本申请实施例中,实例可以指进程,也可以指线程。进程是应用程序或功能组件在计算机上的一次执行活动。线程是应用程序或功能组件执行中一个单一的顺序控制流程。一个进程可以包括多个线程。
也就是说,只要一个应用程序或功能组件开始运行,就会生成对应的实例,并产生内存数据。
2,应用数据。
应用数据是指应用程序或功能组件运行过程中写入的内容,例如拍照类应用获取到的照片或视频、文档类应用中用户编辑的文本等等。应用数据也可称为文件数据。
应用数据为NVM中的数据,可以长时间稳定存储在NVM中。
传统单机场景下,电子设备中的APP以独立主体的形式向用户申请敏感资源的访问授权,授权通过后直接为用户提供各项服务。
参考图5,图5示例性示出了单机系统中,传统APP被调用时提供服务的两种实现方式。
一种实现方式是,被调用方APP可以以三方库的形式为调用方APP提供服务。
如图5中的(1)所示,APP1和APP2为调用方,调用APP3对应的服务。被调用方APP3可以以三方库例如软件开发包(software development kit,SDK)库或动态链接库(.so文件)等形式,集成到宿主APP(即调用方)中,为宿主APP提供共享服务。共享服务是指该APP3同时为多个不同的APP提供服务。由于三方库集成在调用方APP中,可以获取到调用方APP所拥有的各项资源及权限,因此可能存在三方库滥用调用方APP的内存数据等资源的问题,调用方APP的数据安全得不到保障。
另一种实现方式是,被调用方APP可以以独立APP的形式向不同调用方APP提供服务。
如图5中的(2)所示,APP1和APP2为调用方,调用APP3对应的服务。各个APP分别有对应的实例,各个实例之间天然隔离。被调用的APP3可以以单实例的形式为不同调用方(APP1和APP2)提供共享服务。这种方式只能依靠被APP3自己来对APP1和APP2的内存数据做隔离。在APP3出现漏洞或恶意行为时,APP1和APP2各自的内存数据可能被APP3误用。另外,由于被调用方APP3无法区分不同调用方APP(APP1和APP2)的身份,因此还存在无法追溯调用关系,难以记录审计日志等问题。
在分布式系统中,权限的授权与否只针对对用户可见的APP,而对用户不可直接感知的功能组件无法进行权限授权。所以调用方APP在调用功能组件时,也同样存在数据安全隐患。
在分布式业务场景中,调用方APP调用功能组件时,如果使用图5中(1)所示的方式,被调用方功能组件以三方库的形式为调用方APP提供服务,那么在功能组件为调用方APP提供服务时,可能存在三方库滥用调用方APP所拥有的资源的问题。如果使用图5中(2)所示的方式,被调用方功能组件以单实例的形式为不同调用方APP提供共享服务,则该功能组件可以获取到来自不同设备、不同调用方的内存数据,可能会因为自身漏洞或者恶意行为,发生滥用或误用各调用者的内存数据的问题。另外,由于被调用方功能组件不会区分不同调用方APP的身份,因此还存在无法追溯调用关系,难以记录审计日志等问题。例如,在图4所示的分布式业务场景中,智慧屏中的视频通话能力单元可以同时获取到智能手机中的“在线课堂”的数据,和,即时通讯应用的数据,这两种数据可能会发生误用。
本申请实施例提供了一种访问控制方法、电子设备及系统,用于解决在调用事件中,各调用方内存数据被滥用、被混淆、被误用或被泄露等问题。该访问控制方法可以应用于包括多个电子设备的通信系统中。
根据本申请提供的方法,同一个被调用方可以启用多个实例,并使用不同的实例来为不同的调用方提供服务。由于实例之间的天然隔离属性,不同实例无法互相访问内存数据,这样可以提供系统级的内存数据安全机制,避免了各调用方的内存数据被滥用、误用及泄露问题,保证了数据安全。
实施本申请提供的访问控制方法,可以支持被调用方为不同调用方提供服务时,运行不同的实例,不同实例之间的内存数据保持隔离,更为有效的降低了各调用方的内存数据被滥用、被混淆、被误用或被泄露等风险,保障了数据安全。
下面示例性介绍本申请实施例提供的一种电子设备100的软件系统架构。
图6是本申请实施例的提供的电子设备100的软件架构框图。电子设备100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构等。示例性地,电子设备100的软件系统包括但不限于或者其它操作系统。
分层架构将软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口(application programming interface,API)通信。在一些实施例中,如图6所示,电子设备100的软件架构可以包括应用层和内部模块层等。
如图6所示,应用层可以包括一系列APP和功能组件。应用层可以包括系统应用和第三方非系统应用。示例性的,应用程序层可以包括但不限于桌面,相机,图库,通话,导航,WLAN,蓝牙,音乐,多个PA、FA等。
内部模块层可以为应用层的APP及PA/FA提供应用编程接口和功能支持。内部模块层可以包括一些预先定义的函数和/或功能模块/服务。内部模块层的各个模块可以协作,用于管理应用或功能组件的发现、注册、查询、迁移以及管理应用或功能组件实例的创建、调用等,这些模块可以与电子设备中其他模块协作,实现本申请实施例中提供的访问控制方法。
示例性的,内部模块层可以包括但不限于应用信息管理模块、应用启动管理模块、实例管理模块、应用调度模块、权限管理模块、调用关系管理模块、调用关系库等。
应用信息管理模块,用于管理电子设备100所安装的各个APP或功能组件的信息,方便各个APP/PA/FA的发现、注册、安装、卸载等。例如为各个APP或功能组件分配(useridentification,UID)、为各个运行态的实例分配进程标识(process identification,PID)等等。再例如管理各个APP或PA/FA的注册信息,如获取、记录、管理各个APP/PA/FA的标识,以及部署该APP/PA/FA的电子设备的标识等,以方便注册信息的查询等功能。
应用启动管理模块,用于管理各个应用程序或功能组件的启动工作。例如,当电子设备100接收到其他设备调用某个应用程序的请求时,应用启动管理模块可以启动该应用程序。
实例管理模块,负责根据调用方的信息,动态启动或创建实例。具体的,当不同设备和/或不同调用方请求调用电子设备100中的应用或功能组件时,实例管理模块将会为不同设备和/或不同调用方分别启用一个该应用或功能组件的实例,各自为不同设备和/或不同调用方提供服务。实例管理模块还用于管理启用的各个实例的生命周期,例如启动、停止、销毁、重启实例等等。
应用调度模块,可以负责管理APP/PA/FA之间的调用等,比如可用于发起调用方对被调用方的调用请求等。比如,一个APP在用户操作的触发下,向应用调度模块发送对某个PA的调用请求,然后应用调度模块可以对该调用请求进行解析处理,获得该APP的标识、被调用方PA的标识以及相应的请求参数。
权限管理模块,可以用于管理各APP/PA/FA的权限信息,负责控制调用方调用被调用方的权限以及各APP/PA/FA对系统资源的访问权限等。权限管理模块还可以用于负责对同一个分布式系统中的多个终端设备中各自部署的APP/PA/FA的权限信息和/或授权信息进行同步。权限管理模块还可用于生成并提供权限相关的提示信息给用户,在一些实施例中,权限管理模块可以在获取到无权限调用某实例的APP发起对该实例的调用请求时,询问用户是否授予权限、更改权限或者删除恶意APP等。
调用关系管理模块,负责维护多组调用方、被调用方的实例组成的调用关系,并将其存储到调用关系库中。
调用关系库,可以用于存储多组调用方、被调用方组成的调用关系。每组调用关系中可以包括调用关系身份标识(identification,ID)、调用方信息、被调用方信息等。其中,调用方信息可以包括调用方名称、调用方应用标识、所在设备ID、调用方的用户标识(useridentification,UID)、开发者签名等,被调用方信息可以包括被调用方名称、被调用方应用标识、所在设备ID、实例的UID、实例的进程标识(process identification,PID)等信息。
参考下表1,其示例性示出了两组调用关系。
表1
从表1可以看出,这两组调用关系分别是,电子设备100上的APP1、电子设备200上的APP2分别调用了电子设备300中的功能组件3,电子设备300会启用两个功能组件3的实例,分别用于为APP1和APP2提供服务。
表1所示的调用关系不仅可以存储于被调用方所在的电子设备中,还可以存储于调用方所在的电子设备中,这里不做限制。
以上对电子设备100的软件架构的介绍仅为示例,可以理解的是,本发明实施例示意的软件架构并不构成对本申请构成具体限定。在本申请另一些实施例中,电子设备100的软件架构可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的架构布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面介绍本申请实施例提供的一种访问控制的模型。
如图7所示的一个实施例中,分布式系统中可以安装有:调用方APP1、调用方APP2、被调用方功能组件3。APP1、APP2、功能组件3可以安装于分布式系统中的相同设备或不同设备中,在本实施例中不作任何限制。处于同一个分布式系统中的APP和/或功能组件之间可以互相调用。其中,被调用方功能组件3可以为FA或PA。本实施例对调用方、被调用方的类型不作限制。比如在其他的一些实施例中,调用方不限于为APP,也可以实施为其他功能组件,被调用方也可以不限于为功能组件,还可以实施为APP。APP可以调用功能组件,功能组件可以调用其他功能组件,APP也可以调用其他APP,功能组件也可以调用APP。
电子设备会以进程为单位为不同的实例分配RAM中的物理地址,并将物理地址与进程可以访问的虚拟地址相映射。电子设备在需要运行实例时,将根据虚拟地址找到RAM中对应分配给该实例的物理地址空间,并在该物理地址空间中运行该实例。也就是说,实例是通过虚拟地址来实现找到内存数据的实际存储位置的。在这样的机制下,不同的实例之间通过自身的虚拟地址只能访问自身的虚拟地址对应的物理地址,即不能访问对方在RAM中的物理空间,因此实例之间相互隔离。
如图7所示,APP1和APP2分别调用功能组件3,同时,功能组件3自身也在运行。功能组件3所在的电子设备可以创建3个功能组件3的实例,分别为功能组件3实例1、功能组件3实例2、功能组件3实例3。其中,功能组件3实例1可以为调用方APP1实例提供服务,功能组件3实例2可以为调用方APP2实例提供服务,功能组件3实例3可以为功能组件3自身提供服务。这样,依靠实例之间的隔离属性,可以将调用方APP1、调用方APP2以及功能组件3自身的内存数据隔离开来,有效地降低各功能组件内存数据的滥用、混淆及泄露等风险。
此外,在调用方调用被调用方实例的同时,各个电子设备可以将本次调用方调用实例的调用事件记录进入审计日志,并同步到分布式系统中,方便后续追溯调用事件,比如方便在攻击检测后查找原因,或者为可能发生的数据安全事故或安全漏洞查找原因。调用事件中可以包括调用事件发生时间、调用关系ID等信息。
图7中的示例存在两个调用关系:APP1调用功能组件3,以及,APP2调用功能组件3。APP1、APP2及功能组件3所在设备都可以分别记录并维护该调用关系,并且同步到分布式系统中,这样可以在后续出现问题时方便回溯原因,降低安全风险。
下面介绍本申请实施例提供的一种访问控制方法。
实施例一
本实施例以调用方和被调用方均部署在同一电子设备100上为例进行说明。
该电子设备100可以是独立的电子设备(单机),也可以是分布式系统中的一个电子设备。电子设备100又可称为第一设备。
该电子设备100中可以安装有各项APP和功能组件。本实施例提供的示例并不对本申请其他实施例构成任何限制。
图8是本申请实施例提供的访问控制方法的流程图,具体包括步骤如下:
S101,电子设备100发起第一调用请求,该第一调用请求用于第一调用方请求被调用方提供第一服务。
该第一调用请求可以包括第一调用方、被调用方、第一服务的指示信息。
本申请实施例对第一服务的类型、内容等不作任何限制。比如第一调用方可以请求通过被调用方访问电子设备100中的第一资源。该第一资源可以包括电子设备100的软件资源(如美颜算法、定位功能、音视频编解码功能),也可以包括硬件资源(如摄像头、音频设备、显示屏等硬件)。
本实施例对调用方、被调用方的类型不作任何限制。调用方的类型可以包括但不限于APP、PA、FA,被调用方的类型可以包括但不限于APP、PA、FA。比如APP可以调用功能组件PA/FA,功能组件PA/FA也可以调用其他功能组件PA/FA,APP也可以调用其他APP,功能组件PA/FA也可以调用APP。例如,调用方可以是一款聊天APP,被调用方可以是提供定位功能的定位PA,聊天APP在需要获取位置信息的时候,需要定位PA提供定位功能服务,这时,聊天APP可以向定位PA发起调用请求。
电子设备100可以响应于接收到的用户操作发起该第一调用请求,也可以自主地发起该第一调用请求,这里不做限制。在一些实施例中,电子设备100可以显示调用方的用户界面,通过触控传感器等输入设备可以检测到用户在用户界面中输入的用户触摸操作,然后电子设备100可以响应于该用户触摸操作发起调用方对被调用方的第一调用请求。
在一些实施例中,电子设备100中可以提前安装有被调用方。在另一些实施例中,电子设备100可以在获取到第一调用请求之后,如果检测到不存在被调用方,可以从网络中下载并安装被调用方,或者电子设备100如果处于分布式系统中的话,也可以从分布式系统中其他电子设备处获取、下载并安装被调用方,本申请实施例对此不作限制。
在一些实施例中,在电子设备100发起第一调用请求之前,电子设备100需要确认第一调用方具有访问被调用方的权限,以及,第一调用方具有访问第一服务的权限。
S102,电子设备100检测是否存在可为第一调用方提供服务的被调用方的第一实例,如果不存在,则执行步骤S103,如果存在,则执行步骤S104。
在本实施例中,被调用方可以针对不同调用方,提供不同的实例。因此电子设备100在获取到第一调用请求后,可以先检测是否已经存在为第一调用方提供服务的被调用方的第一实例。
具体实现中,电子设备100中可以存储有多组调用关系,多组调用关系中记录了多组调用方启用实例的调用事件,即不同实例为不同调用方提供服务的情况。这些调用关系可以存储在电子设备100中的调用关系库中,方便后续电子设备100查询是否已经存在为调用方提供服务的实例。
每组调用关系可以包括:该调用方信息,该被调用方的实例信息,调用关系标识(identification,ID)等。
在一些实施例中,调用关系可以指示调用权限。即一组调用关系,可以指示该调用方有权限调用该被调用方的实例。
其中,调用关系ID可以用来标识不同的调用关系,方便电子设备100识别。例如在前述表1中所示例的两组调用关系,分配APP1调用功能组件3的调用关系ID为1,分配APP2调用功能组件3的调用关系ID为2,同理,其他每组调用关系都会分配一个唯一的调用关系ID,方便区分及查询,并可以共享给其他电子设备或同步到分布式系统中。
在一些实施例中,在创建被调用方的实例时,被调用方所在电子设备可以记录该调用关系,或,在调用方发送调用请求时,调用方所在电子设备也可以记录该调用关系。本申请实施例对记录调用关系的时间不作任何限制,记录调用关系的事件发生在任何时间点都可。
在一些实施例中,针对同一个调用关系,调用方所在设备和被调用方所在设备可以共享相同的调用关系ID。该调用关系ID可以由主体设备分配,或客体设备分配,并共享给对方设备。
在一些实施例中,在一个电子设备记录了一个调用关系后,可以将该调用关系同步到分布式系统中,分布式系统中的其他设备可以获取到该调用关系。
调用方信息可以包括:调用方的应用标识(APP ID)。
调用方信息还可以包括以下一项或多项:调用方的用户标识(user ID,UID),调用方的开发者签名,调用方所在主体设备的账户标识(account ID),主体设备的设备标识(device ID),所在分布式系统的标识(system ID)等等。
被调用方的实例信息可以包括:实例的进程标识(process ID,PID),实例的UID。PID是实例的身份标识,电子设备运行一个实例即会给该实例分配一个唯一的PID,电子设备中的不同的实例对应不同的PID。在每个实例被创建时,电子设备也会给每个实例分配一个UID。相同被调用方的不同实例的UID可以不同,也可以相同,具体根据电子设备的分配情况确定。
例如电子设备100可以为第一实例分配第一PID和第一UID,为第二实例分配第二PID和第二UID。再比如在另一个示例中,被调用方在响应第二调用方的第二调用请求创建第二实例时,该第二调用请求中指示了第二实例的第二UID与第一实例的第一UID相同,那么电子设备给第二实例分配的第二UID就可以与第一实例的第一UID相同。
被调用方的实例信息还可以包括以下一项或多项:被调用方的应用标识(APPID),被调用方的用户标识(user ID,UID),被调用方的开发者签名,被调用方所在客体设备的账户标识(account ID),客体设备的设备标识(device ID),所在分布式系统的标识(system ID)等等。其中:
APP ID,可以用于标识APP或功能组件。
开发者签名,可以用于标识APP或功能组件的开发者。
UID,可以用于标识APP或功能组件或实例所属用户。通常情况下,电子设备会为安装的不同APP或功能组件或实例分配不同的UID,以作区分。例如,电子设备可以在一个数据区间(例如10000-40000)内为各个APP分配UID,而在另一个数据区间(例如40001-50000)内为各个功能组件的实例分配UID。
在一些实施例中,电子设备可能为同一开发者开发的各个APP或功能组件分配相同的UID。在另一些实施例中,电子设备也可以为同一开发者开发的各个APP或功能组件分配不同的UID。在一个示例中,安装第一APP时,电子设备分配该第一APP的UID为第三UID,第二APP与第一APP的开发者签名相同,当安装第二APP时,第二APP指示了与第一APP使用相同的UID,电子设备可以给第二APP也分配第三UID。同一个APP或功能组件在不同电子设备中,可能拥有不同的UID。关于电子设备给不同APP或功能组件或实例分配UID的方式或规则,本申请实施例不作任何限制。
account ID,可以用于标识当前登录到电子设备的用户,例如可以是华为账号。
device ID,可以用于标识设备。device ID例如可以是设备的名称、序列号、媒体访问控制(media access control,MAC)地址等等。
system ID可以用于标识当前电子设备所处的分布式系统。
在一种实施方案中,实例可以基于UID进行进程隔离。即以UID区分实例,不同实例分配有不同的UID。不同UID的实例为不同调用方提供服务。
在另一种实施方案中,实例可以基于PID进行进程隔离。即以PID区分实例,不同实例分配不同的PID。不同PID的实例为不同调用方提供服务。比如在一些示例中,第一实例与第二实例同为被调用方的不同实例,第一实例与第二实例分配有相同UID,但第一实例与第二实例分配有不同PID,第一实例与第二实例分别为不同调用方提供服务。基于PID进行进程隔离,可以保证比基于UID进行进程隔离方案更加严格、更加安全的数据和/或进程的隔离。
上述实例基于UID进行进程隔离、基于PID进行进程隔离的方案仅为示例,对本申请其他实施例不构成任何限制。
在一些实施例中,可以根据上述调用方信息中的一项或多项区分不同调用方。即依据以下一项或多项来区分不同的调用方:调用方的应用标识(APP ID),调用方的UID,调用方的开发者签名,调用方所在主体设备的账户标识(account ID),主体设备的设备标识(device ID),所在分布式系统的标识(system ID)等。在上述一项或多项不相同时,可以区分为不同的调用方。
在一些实施例中,拥有相同开发者签名的不同调用方,可以向被调用方指示共享使用同一个实例。这样,在保证了隔离数据/进程的情况下,还可以方便同一开发者的应用或功能组件之间进行数据交互,并且可以节省内存的占用、CPU的消耗等。
除了开发者签名,不同调用方也可以根据其他指示信息共享使用同一个实例,如调用方的APP ID、account ID、device ID、system ID等,这里不再一一列举。
在一些实施例中,为了调用关系更严谨、更准确,调用关系的调用方信息和被调用方信息可以包括多项。例如,在一个示例中,第一调用方与被调用方处于分布式系统中,为了更严谨的核实调用关系,该第一调用方与被调用方的调用关系中除了可以记录第一调用方的APP ID,和被调用方的第一实例的UID和/或PID,还可以记录第一调用方所在主体设备ID、被调用方实例所在客体设备ID等信息,这样可以避免分布式系统中其他电子设备上的可能具有相同APP ID的应用或功能组件错误调用或恶意调用第一实例,从而实现更为严格的访问控制。
在本申请实施例中,S101的第一调用请求中可以携带第一调用方信息,以便电子设备100在调用关系库中查找并判断是否存在第一调用方对应的被调用方的第一实例。
如果S102判断为否,则执行S103,如果S102判断为是,则执行S104。
S103,电子设备100创建第一实例。
如果没有检测到可供第一调用方调用的被调用方的第一实例,电子设备100的实例创建模块可以创建一个专属为第一调用方提供服务的第一实例,并且进行权限绑定。
该第一实例是被调用方的一个特定实例,该第一实例与被调用方其他实例提供的功能、服务、数据相同,但是可供调用的权限不同,比如如果该第一实例只授予了第一调用方调用权限,那么其他应用或功能组件就没有权限调用第一实例。
电子设备100创建该第一实例的同时,可以记录并保存该第一调用方调用第一实例的调用关系及调用权限。具体说明可以参考S102中的相关描述。
在一些实施例中,电子设备100需要进行权限的鉴定。电子设备100可以去查询第一调用方、被调用方的权限信息,确定第一调用方是否拥有权限调用被调用方的第一实例,以及,第一调用方是否具有访问第一服务的权限,还可以确认第一实例是否为第一调用方所需要调用的实例等。如果确认第一调用方有权限调用第一实例和/或访问第一服务,则运行第一实例,如果没有权限,则向第一调用方返回没有调用权限的结果。在一些实施例中,调用关系可以指示第一调用方是否具有调用第一实例的权限。
在一些实施例中,确认第一调用方是否具有权限调用第一实例和/或访问第一服务的鉴权步骤,可以在运行第一实例之前,或者在创建第一实例之前,或者还可以在发起第一调用请求之前,本申请实施例对鉴权发生的时间条件不作任何限制,鉴权步骤发生在运行第一实例前任何时间点都可,甚至在运行第一实例时,也可以随时查询权限。
一旦发现第一调用方没有权限调用被调用方的第一实例,电子设备100则向第一调用方返回没有调用权限的结果,结束本次调用事件,不再继续后续步骤。
本步骤中权限的确认是为了避免不具有调用该第一实例权限的应用或功能组件恶意调用或错误调用第一实例并访问其资源,降低安全风险。
S104,电子设备100运行第一实例,并响应S101中接收到的第一调用请求,为第一调用方提供第一服务,同时电子设备100记录本次第一调用方调用第一实例的调用事件。在确认第一调用方有权限调用第一实例,并且确认该第一实例的确是第一调用方所需要的调用的实例之后,电子设备100可以运行第一实例,响应第一调用请求,允许第一调用方访问第一实例对应提供的第一资源,并将访问结果返回给第一调用方。
电子设备100提供的第一资源可包括软件资源、硬件资源等等。
在第一调用方调用第一实例的同时,电子设备100可以将本次第一调用方调用第一实例的调用事件记录进入审计日志,方便后续追溯调用事件,比如方便在攻击检测后查找原因,或者为可能发生的数据安全事故或安全漏洞查找原因。调用事件中可以包括调用事件发生时间、调用关系ID等信息。
在获取到第一调用方结束调用被调用方的指令后,电子设备100可以释放第一实例的服务进程,结束第一实例对第一调用方提供的第一服务。
S105,电子设备100发起第二调用请求,该第二调用请求用于第二调用方请求被调用方提供第二服务。如果电子设备100检测到可为第二调用方提供服务的被调用方的第二实例,则在确认权限后,电子设备100运行第二实例,为第二调用方提供第二服务,同时电子设备100记录本次第二调用方调用第二实例的调用事件。具体过程可以参考步骤S101-S105中第一调用方调用第一实例的描述,这里不再赘述。
在本实施例中,被调用方可以根据不同调用方运行不同对应的实例,提供不同的服务,比如被调用方可以创建有第一实例、第二实例,第一实例为第一调用方提供第一服务,第二实例为第二调用方提供第二服务,这样可以做到不同实例之间的权限、数据保持隔离,数据安全进一步得到提升。
S106,电子设备100发起第三调用请求,该第三调用请求用于第一调用方请求被调用方提供第三服务。如果电子设备100检测到可为第一调用方提供服务的被调用方的第一实例,则在确认权限后,电子设备100运行第一实例,为第一调用方提供第三服务,同时电子设备100记录本次第一调用方调用第一实例的调用事件。具体过程可以参考步骤S101-S105中第一调用方调用第一实例的描述,这里不再赘述。
在本实施例中,当第一调用方向被调用方发起不同的调用请求,请求被调用方提供另外的服务时,电子设备100运行相同的实例提供服务。比如步骤S107中,第一调用方请求被调用方提供第三服务,区别于步骤S101中第一调用方请求被调用方提供第一服务,但是被调用方对于同一个第一调用方,会运行同一个第一实例,第一实例可以响应于第一调用请求或第三调用请求,为第一调用方提供第一服务或第三服务。
电子设备100运行实例时,即会产生该实例对应的内存数据。内存数据即为RAM中的数据。电子设备100运行多个实例,便分别对应多份内存数据,多份内存数据之间相互隔离,不能互相访问。
电子设备100在运行实例时,还可以产生对应的应用数据。应用数据保存在NVM中。电子设备100运行多个实例,便分别对应多份应用数据。
在一些实施例中,同一设备上的不同调用方,可以共用同一个实例。在一个示例中,电子设备100发起第四调用请求,第四调用请求可以携带:第三调用方、被调用方、第四服务的指示信息,其中,第三调用方安装在电子设备100中,第三调用方为应用程序APP或功能组件。响应于第四调用请求,电子设备100运行第一实例,第一实例还用于为第三调用方提供第四服务。在本示例中,第三调用方与第一调用方都可以调用第一实例。
实施本实施例一提供的方法,被调用方为不同调用方提供服务时,分别运行不同的实例,可以保证不同实例之间权限隔离,实例之间无法互相访问内存数据,可以避免被调用方滥用或误用调用方的内存数据的问题,保障了数据安全。
实施例二
可以理解的是,本申请提供的访问控制方法还可以实施在分布式系统中多个电子设备之间,发起调用请求的调用方和被调用方可以部署在不同电子设备上。
分布式系统中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及APP信息等。具体的,各个设备可以将自身安装的功能组件和/或APP的标识、自己的设备信息(例如设备标识)同步到分布式系统中,对其他设备可见,以方便后续在分布式系统中各个设备之间互相调用。每个功能组件或APP能够被哪些调用方调用,以及,能够调用哪些其他的功能组件或APP,即调用权限和/或被调用权限,可以预先设置并记录在各个电子设备上,并同步在分布式系统中。
本实施例以调用方和被调用方部署在同一分布式系统中的不同电子设备上为例进行说明。
在本实施例中,发起调用请求的调用方部署在电子设备100上,被调用方部署在电子设备200上,电子设备100和电子设备200处于同一个分布式系统中。
同样的,本实施例对调用方、被调用方的类型不作任何限制。调用方的类型可以包括但不限于APP、PA、FA,被调用方的类型可以包括但不限于APP、PA、FA。比如APP可以调用功能组件PA/FA,功能组件PA/FA也可以调用其他功能组件PA/FA,APP也可以调用其他APP,功能组件PA/FA也可以调用APP。
同一个分布式系统中的多个终端设备可以同步各自部署的APP、PA、FA的注册信息、权限信息,以及APP、PA、FA之间的调用关系等信息。其中,
注册信息可以用于标识应用或功能组件,可以包括该应用或功能组件的标识(APPID),该应用或功能组件所在电子设备的标识(device ID),该应用或功能组件所在电子设备的账户标识(account ID)等信息。
权限信息可以包括该应用或功能组件的调用/访问权限和被调用/被访问权限等信息。
调用关系的相关描述,可以参考实施例一,这里不再赘述。
本实施例提供的示例并不对本申请其他实施例构成任何限制。
图9是本申请实施例提供的访问控制方法的流程图,具体包括步骤如下:
S201,电子设备100向电子设备200发送第一访问请求,该第一访问请求用于电子设备100向电子设备200请求被调用方给第一调用方提供第一服务。
其中,第一调用方部署在电子设备100上,被调用方部署在电子设备200上。
在电子设备100向电子设备200发送第一访问请求之前,电子设备100可以生成第一调用请求,该第一调用请求是第一调用方通知电子设备100其需要被调用方提供第一服务。
本申请实施例对第一服务的类型、内容等不作任何限制。比如电子设备100的第一调用方请求电子设备200的被调用方提供第一资源。该第一资源可以包括电子设备200的软件资源(如美颜算法、定位功能、音视频编解码功能),也可以包括硬件资源(如摄像头、音频设备、显示屏等硬件)。
电子设备100可以根据第一调用请求获取到被调用方所在的电子设备200的标识。
在一些实施例中,第一调用请求中可以包括电子设备100的标识、第一调用方的标识、电子设备200的标识、被调用方的标识等等。电子设备100可以根据第一调用请求,获取到所需调用的被调用方所在的电子设备200的标识。
在另一些实施例中,第一调用请求中不包括被调用方所在电子设备200的标识,那么电子设备100可以在获取到被调用方的标识后,根据被调用方的标识,查询分布式系统中同步的被调用方的注册信息,从而获取到电子设备200的标识。本实施例对电子设备100获取电子设备200标识的方式不作限制。
在获知被调用方所在电子设备200的标识后,电子设备100可以向电子设备200发起第一访问请求,该第一访问请求中可以携带电子设备100的ID、电子设备200的ID、第一调用方ID、被调用方ID、请求第一服务的指令等。
电子设备100可以响应于接收到的用户操作向电子设备200发起该第一访问请求,也可以自主地向电子设备200发起该第一访问请求,这里不做限制。在一些实施例中,电子设备100可以显示第一调用方的用户界面,通过触控传感器等输入设备可以检测到用户在用户界面中输入的用户操作,然后电子设备100可以响应于用户触摸操作发起对电子设备200的第一访问请求。
在一些实施例中,电子设备200中可以提前安装有被调用方。在另一些实施例中,电子设备200可以在接收到电子设备100发送的第一访问请求之后,从网络中下载并安装被调用方,或者也可以从电子设备100或分布式系统中其他电子设备处获取、下载并安装被调用方,本申请实施例对此不作限制。
在一些实施例中,在电子设备100向电子设备200发送第一访问请求之前,电子设备100需要确认第一调用方具有访问被调用方的权限,以及,第一调用方具有访问第一服务的权限。
S202,获取到电子设备100发送的第一访问请求后,电子设备200检测是否存在可为第一调用方提供服务的被调用方的第一实例,如果不存在,则执行步骤S203,如果存在,则执行步骤S204。
在本实施例中,被调用方可以针对不同调用方,提供不同的实例。因此电子设备200在获取到第一访问请求后,可以先检测是否已经存在为电子设备100的第一调用方提供服务的被调用方的第一实例。
具体实现中,分布式系统中可以存储有多组调用关系,多组调用关系中记录了多组调用方启用实例的调用事件,即不同实例为不同调用方提供服务的情况。这些调用关系可以存储在分布式系统中的调用关系库中,调用关系库可以对分布式系统中所有电子设备可见,方便后续电子设备查询是否已经存在为调用方提供服务的实例。
在一些实施例中,调用关系可以指示调用权限。即一组调用关系,可以指示该调用方有权限调用该被调用方的实例。
关于调用关系、调用方信息、被调用方的实例信息的说明,可以参考步骤S102,这里不再赘述。
同样的,在本实施例中,实例的进程隔离的可以有多种实施方案,可以基于UID进行进程隔离,也可以基于PID进行进程隔离,或者可以基于其他标识进行进程隔离,或者多种标识组合进行进程隔离,本实施对此不作任何限制,具体说明可以参考步骤S102,在此不再赘述。
不同调用方可以根据其他指示信息共享使用同一个实例,例如拥有相同开发者签名的两个调用方共用同一个实例。这里不再赘述。
在本申请实施例中,第一访问请求中可以携带第一调用方信息,以便电子设备200在调用关系中查找并判断是否存在第一调用方对应的被调用方的第一实例。
如果S202判断为否,则执行S203,如果S202判断为是,则执行S204。
S203,电子设备200创建第一实例。
如果没有检测到可供电子设备100的第一调用方调用的被调用方的第一实例,电子设备200的实例创建模块可以创建一个专属为电子设备100的第一调用方提供服务的第一实例,并且进行权限绑定。
该第一实例是被调用方的一个特定实例,该第一实例与被调用方其他实例提供的功能、服务、数据相同,但是可供调用的权限不同,比如如果该第一实例只授予了电子设备100中第一调用方调用权限,那么其他应用或功能组件就没有权限调用第一实例。
电子设备200创建该第一实例的同时,可以记录并保存该电子设备100的第一调用方调用第一实例的调用关系及调用权限。具体说明可以参考S102中的相关描述。
在一些实施例中,在被调用方所在电子设备200创建实例时,电子设备200可以记录该第一调用关系,或,在调用方所在电子设备100发送访问请求时,电子设备100也可以记录该第一调用关系。第一调用关系是指第一调用方与被调用方之间的调用关系。本申请实施例对电子设备100、电子设备200记录调用关系的发生时间不作任何限制,记录调用关系的事件发生在任何时间点都可。
在每个实例被创建时,电子设备也会给每个实例分配一个UID和/或PID。相同被调用方的不同实例的UID可以不同,也可以相同,具体根据电子设备的分配情况确定。
例如电子设备200可以为第一实例分配第一PID和第一UID,为第二实例分配第二PID和第二UID。再比如在另一个示例中,电子设备200在响应电子设备300的第二调用方的第二访问请求创建第二实例时,该第二访问请求中指示了第二实例的第二UID与第一实例的第一UID相同,那么电子设备200给第二实例分配的第二UID就可以与第一实例的第一UID相同。
在一些实施例中,针对同一个调用关系,调用方所在设备和被调用方所在设备可以共享相同的调用关系ID。该调用关系ID可以由主体设备分配,或客体设备分配,并共享给对方设备。
在一些实施例中,在一个电子设备记录了一个调用关系后,可以将该调用关系同步到分布式系统中,分布式系统中的其他设备可以获取到该调用关系。
在一些实施例中,调用方所在设备与被调用方所在设备可以分别记录同一调用关系,并共享同一个调用关系ID。调用方所在设备记录的调用关系与被调用方所在设备记录的调用关系可能有所差异。
比如,在一个示例中,电子设备100可以在向电子设备200发送第一访问请求之后,记录第一调用关系。电子设备100记录的第一调用关系包括:第一调用方的信息,被调用方的信息,第一调用关系的标识。其中,该第一调用方的信息至少包括:第一调用方的应用标识,该被调用方的信息至少包括:被调用方的应用标识。在此之上,该第一调用方的信息还可以包括以下一项或多项:第一调用方的UID,第一调用方的开发者签名,第一调用方所在电子设备100的账户标识,电子设备100的标识,第一调用方所在通信系统的标识等。该被调用方的信息还可以包括以下一项或多项:第一实例的PID,第一实例的UID,被调用方的UID,被调用方的开发者签名,被调用方所在电子设备200的账户标识,电子设备200的标识,被调用方所在通信系统的标识等。
而电子设备200可以在创建第一实例之后,记录第一调用关系。电子设备200记录的第一调用关系包括:第一调用方的信息,第一实例的信息,第一调用关系的标识。其中,该第一调用方的信息至少包括:第一调用方的应用标识,该被调用方的信息至少包括:被调用方的应用标识,第一实例的PID和/或第一实例的UID。在此之上,该第一调用方的信息还可以包括以下一项或多项:第一调用方的UID,第一调用方的开发者签名,第一调用方所在电子设备100的账户标识,电子设备100的标识,第一调用方所在通信系统的标识等。该第一实例的信息还可以包括以下一项或多项:被调用方的UID,被调用方的开发者签名,被调用方所在电子设备200的账户标识,电子设备200的标识,被调用方所在通信系统的标识等。
其中,电子设备100记录的第一调用关系与电子设备200记录的第一调用关系实际为同一调用关系,共用同一个调用关系ID,但是记录的内容会有所差异,该调用关系ID可以由电子设备100分配,或电子设备200分配,并共享给对方设备。比如第一调用关系中,关于被调用方的实例信息,电子设备100可以只记录被调用方的应用标识,而不必记录第一实例的UID和/或PID,但是电子设备200作为第一实例所在设备,可以不仅记录被调用方的应用标识,还会记录第一实例的UID和/或PID。
在一些实施例中,电子设备200需要进行权限的鉴定。电子设备200可以查询第一调用方、被调用方的权限信息,确定电子设备100的第一调用方是否拥有权限调用被调用方的第一实例,以及,第一调用方是否具有访问第一服务的权限,还可以确认第一实例是否为第一调用方所需要调用的实例等。如果确认电子设备100的第一调用方有权限调用第一实例和/或访问第一服务,则运行第一实例,允许电子设备100访问电子设备200对应提供的资源;如果没有权限,则向第一调用方返回没有调用权限的结果。在一些实施例中,调用关系可以指示电子设备100的第一调用方是否具有调用电子设备200的第一实例的权限。
在一些实施例中,电子设备200确认第一调用方是否具有权限调用第一实例和/或访问第一服务的鉴权步骤,可以在运行第一实例之前,或者在创建第一实例之前,或者在接收到第一访问请求之后,本实施例对鉴权发生的时间条件不作任何限制,鉴权步骤发生在运行第一实例前任何时间点都可,甚至在运行第一实例时,也可以随时查询权限。
一旦发现电子设备100的第一调用方没有权限调用第一实例,那么电子设备200可以向电子设备100返回第一调用方没有调用权限的结果,结束本次调用事件,不再继续后续步骤。
同样的,在一些实施例中,电子设备100也需要进行权限的鉴定。比如,在发送第一访问请求之前,电子设备100可以查询第一调用方的权限信息,确定电子设备100的第一调用方是否拥有权限调用电子设备200的被调用方,以及,第一调用方是否具有访问第一服务的权限。如果具有权限,则电子设备100再向电子设备200发送第一访问请求,如果没有权限,则电子设备100终止第一调用请求的发送。本实施例对鉴权发生的时间条件不作任何限制,鉴权步骤不仅可以发生在发送第一访问请求之前,也可以发生在发送第一访问请求之后,或者其他时间点。
本步骤中权限的确认是为了避免不具有调用该第一实例权限的应用或功能组件恶意调用或错误调用第一实例并访问其资源,降低安全风险。
S204,电子设备200运行第一实例,并响应S201中接收到的第一访问请求,为电子设备100中的第一调用方提供第一服务,同时记录本次电子设备100的第一调用方调用电子设备200的第一实例的调用事件。
在确认第一调用方有权限调用第一实例,并且确认该第一实例的确是第一调用方所需要的调用的实例之后,电子设备200可以运行第一实例,响应第一访问请求,允许电子设备100访问电子设备200对应提供的第一资源。
电子设备200提供的第一资源可包括软件资源、硬件资源等等。
在一些实施例中,电子设备200运行第一实例,可以根据第一访问请求生成第一结果,然后将第一结果返回给电子设备100。电子设备100在接收到第一结果后,再运行第一调用方处理该第一结果。
在第一调用方调用第一实例的同时,电子设备200或电子设备100或分布式系统中其他设备可以将本次电子设备100的第一调用方调用电子设备200的第一实例的调用事件记录进入审计日志,并同步到分布式系统中,方便后续追溯调用事件,比如方便在攻击检测后查找原因,或者为可能发生的数据安全事故或安全漏洞查找原因。调用事件中可以包括调用事件发生时间、调用关系ID等信息。
当电子设备100生成第一调用方结束调用被调用方的指令,电子设备100可以向电子设备200发送结束调用的请求,然后电子设备200释放第一实例的服务进程,结束第一实例对第一调用方提供的第一服务。
S205,电子设备300向电子设备200发起第二访问请求,该第二访问请求用于电子设备300向电子设备200请求被调用方给第二调用方提供第二服务。其中,第二调用方部署在电子设备300上,被调用方部署在电子设备200上。如果电子设备200检测到可为第二调用方提供服务的被调用方的第二实例,则在确认权限后,电子设备200运行第二实例,为电子设备300的第二调用方提供第二服务,同时记录本次电子设备300的第二调用方调用电子设备200的第二实例的调用事件。具体过程可以参考步骤S201-S205中电子设备100的第一调用方调用电子设备200的第一实例的描述,这里不再赘述。
在另一些实施例中,第二调用方也可以部署在电子设备100上,或者部署在电子设备200上。
在本实施例中,被调用方可以根据不同调用方运行不同对应的实例,提供不同的服务,比如被调用方可以创建有第一实例、第二实例,第一实例为第一调用方提供第一服务,第二实例为第二调用方提供第二服务,这样可以做到不同实例之间的权限、数据保持隔离,数据安全进一步得到提升。
S206,电子设备100向电子设备200发起第三访问请求,该第三访问请求用于电子设备100向电子设备200请求被调用方给第一调用方提供第三服务。如果电子设备200检测到可为第一调用方提供服务的被调用方的第一实例,则在确认权限后,电子设备200运行第一实例,为电子设备100的第一调用方提供第三服务,同时记录本次电子设备100的第一调用方调用电子设备200的第一实例的调用事件。具体过程可以参考步骤S201-S205中电子设备100的第一调用方调用电子设备200的第一实例的描述,这里不再赘述。
在本实施例中,当电子设备100的第一调用方向电子设备200的被调用方发起不同的调用请求,请求被调用方提供另外的服务时,电子设备200运行相同的实例提供服务。比如步骤S207中,电子设备100的第一调用方请求电子设备200的被调用方提供第三服务,区别于步骤S201中电子设备100的第一调用方请求电子设备200的被调用方提供第一服务,但是被调用方对于同一个第一调用方,会运行同一个第一实例,第一实例可以响应于第一调用请求或第三调用请求,为第一调用方提供第一服务或第三服务。
电子设备200运行实例时,即会产生该实例对应的内存数据。内存数据即为RAM中的数据。电子设备200运行多个实例,便分别对应多份内存数据,多份内存数据之间相互隔离,不能互相访问。
电子设备200在运行实例时,还可以产生对应的应用数据。应用数据保存在NVM中。电子设备200运行多个实例,便分别对应多份应用数据。
电子设备100又可称为第一设备,电子设备200又可称为第二设备,电子设备300又可称为第三设备,第一访问请求又可称为第一请求,第二访问请求又可称为第二请求,第三访问请求又可称为第三请求。
在一些实施例中,同一设备上的不同调用方,可以共用同一个实例。在一个示例中,第一设备向第二设备发送第四请求,第四请求可以携带:第三调用方、被调用方、第四服务的指示信息,其中,第三调用方安装在第一设备中,第三调用方为应用程序APP或功能组件。响应于第四请求,第二设备运行第一实例,第一实例还用于为第三调用方提供第四服务。在本示例中,第一设备上的第三调用方与第一调用方都可以调用第一实例。
在一些实施例中,不同设备上相同调用方,可以共用同一个实例。在一个示例中,第四设备向第二设备发起第五请求,第五请求携带:第一调用方、被调用方、第五服务的指示信息,其中,第四设备中安装有第一调用方。响应于第五请求,第二设备运行第一实例,第一实例还用于为第四设备的第一调用方提供第五服务。在本示例中,第一设备上的第一调用方,及,第四设备上的第一调用方都可以调用第一实例。
在一些实施例中,不同设备上相同调用方,可以调用不同实例。在一个示例中,第一调用方和第二调用方为同一调用方。在本示例中,第一设备的第一调用方可以调用第一实例,而第二设备的第一调用方可以调用第二实例,第一实例与第二实例不同。
在一些实施例中,相同设备上不同调用方,可以调用不同实例。在一个示例中,第一设备和第三设备为同一设备。在本示例中,第一设备的第一调用方可以调用第一实例,而第一设备的第二调用方可以调用第二实例,第一实例与第二实例不同。
实施本实施例二提供的方法,部署在不同电子设备上的被调用方为不同调用方提供服务时,分别运行不同的实例,可以保证不同实例之间权限隔离,实例之间无法互相访问内存数据,可以避免被调用方滥用或误用调用方的内存数据的问题,保障了数据安全。
上述实施例所描述的实现方式仅为示例性说明,并不对本申请其他实施例构成任何限制。具体内部实现方式可能根据电子设备类型不同、所搭载的操作系统的不同、所使用的程序、所调用的接口的不同而不同,本申请实施例不作任何限制,可以实现本申请实施例所描述的特征功能即可。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (34)
1.一种访问控制方法,其特征在于,所述方法应用于通信系统,所述通信系统包括第一设备、第二设备、第三设备,其中,所述第一设备中安装有第一调用方,所述第二设备中安装有被调用方,所述第三设备中安装有第二调用方;所述第一调用方、所述被调用方、所述第二调用方为应用程序或功能组件,所述应用程序为实现多个功能的程序实体,所述功能组件为实现单一功能的程序实体;
所述方法包括:
所述第一设备向所述第二设备发送第一请求,所述第一请求携带:所述第一调用方、所述被调用方、第一服务的指示信息;
响应于所述第一请求,所述第二设备运行第一实例,所述第一实例是所述被调用方的实例,所述第一实例用于为所述第一调用方提供所述第一服务;
所述第三设备向所述第二设备发送第二请求,所述第二请求携带:所述第二调用方、所述被调用方、第二服务的指示信息;
响应于所述第二请求,所述第二设备运行第二实例,所述第二实例是所述被调用方的实例,所述第二实例用于为所述第二调用方提供所述第二服务,所述第二实例不同于所述第一实例。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一设备向所述第二设备发送第三请求,所述第三请求携带:所述第一调用方、所述被调用方、第三服务的指示信息;
响应于所述第三请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第一调用方提供所述第三服务。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一设备向所述第二设备发送第四请求,所述第四请求携带:第三调用方、所述被调用方、第四服务的指示信息,其中,所述第三调用方安装在所述第一设备中,所述第三调用方为应用程序或功能组件;
响应于所述第四请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第三调用方提供所述第四服务。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
第四设备向所述第二设备发送第五请求,所述第五请求携带:所述第一调用方、所述被调用方、第五服务的指示信息,其中,所述第四设备中安装有所述第一调用方;
响应于所述第五请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第四设备的所述第一调用方提供所述第五服务。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一调用方和所述第二调用方相同。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一设备和所述第三设备相同。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述第二设备运行第一实例之前,所述方法还包括:
所述第二设备检测是否存在所述第一实例,如果不存在,则所述第二设备创建所述第一实例。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备为所述第一实例分配第一进程标识PID,为所述第二实例分配第二PID;
或者,
所述第二设备为所述第一实例分配第一用户标识UID,为所述第二实例分配第二UID。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备记录第一调用关系,所述第一调用关系包括:所述第一调用方的信息,所述第一实例的信息,所述第一调用关系的标识;
所述第一调用方的信息包括:所述第一调用方的应用标识;
所述第一实例的信息包括:所述被调用方的应用标识,所述第一PID,所述第一UID。
10.根据权利要求9所述的方法,其特征在于,
所述第一调用方的信息还包括以下一项或多项:所述第一调用方的用户标识UID,所述第一调用方的开发者签名,所述第一调用方所在所述第一设备的账户标识,所述第一设备的标识,所述第一调用方所在所述通信系统的标识;
所述第一实例的信息还包括以下一项或多项:所述被调用方的用户标识UID,所述被调用方的开发者签名,所述被调用方所在所述第二设备的账户标识,所述第二设备的标识,所述被调用方所在所述通信系统的标识。
11.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:所述第一设备记录第一调用关系,所述第一调用关系包括:所述第一调用方的信息,所述被调用方的信息,所述第一调用关系的标识;
所述第一调用方的信息包括:所述第一调用方的应用标识;
所述被调用方的信息包括:所述被调用方的应用标识。
12.根据权利要求11所述的方法,其特征在于,
所述第一调用方的信息还包括以下一项或多项:所述第一调用方的用户标识UID,所述第一调用方的开发者签名,所述第一调用方所在所述第一设备的账户标识,所述第一设备的标识,所述第一调用方所在所述通信系统的标识;
所述被调用方的信息还包括以下一项或多项:所述第一PID,所述第一UID,所述被调用方的用户标识UID,所述被调用方的开发者签名,所述被调用方所在所述第二设备的账户标识,所述第二设备的标识,所述被调用方所在所述通信系统的标识。
13.根据权利要求1-12中任一项所述的方法,其特征在于,所述第二设备运行第一实例之后,所述方法还包括:
所述第二设备生成第一结果;
所述第二设备将所述第一结果返回给所述第一设备;
所述第一设备运行所述第一调用方处理所述第一结果。
14.根据权利要求1-13中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确认所述第一调用方具有访问所述被调用方的权限。
15.根据权利要求1-14中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确认所述第一调用方具有访问所述第一服务的权限。
16.根据权利要求1-15中任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备确认所述第一调用方具有访问所述被调用方的权限。
17.根据权利要求1-16中任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备确认所述第一调用方具有访问所述第一服务的权限。
18.一种访问控制方法,其特征在于,所述方法包括:
所述第二设备接收第一设备的第一请求,所述第一设备中安装有第一调用方,所述第二设备中安装有被调用方,所述第一请求携带:所述第一调用方、所述被调用方、第一服务的指示信息;
响应于所述第一请求,所述第二设备运行第一实例,所述第一实例是所述被调用方的实例,所述第一实例用于为所述第一调用方提供所述第一服务;
所述第二设备接收第三设备的第二请求,所述第三设备中安装有第二调用方,所述第二请求携带:所述第二调用方、所述被调用方、第二服务的指示信息;
响应于所述第二请求,所述第二设备运行第二实例,所述第二实例是所述被调用方的实例,所述第二实例用于为所述第二调用方提供所述第二服务,所述第二实例不同于所述第一实例;
其中,所述第一调用方、所述被调用方、所述第二调用方为应用程序或功能组件,所述应用程序为实现多个功能的程序实体,所述功能组件为实现单一功能的程序实体。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
所述第二设备接收所述第一设备的第三请求,所述第三请求携带:所述第一调用方、所述被调用方、第三服务的指示信息;
响应于所述第三请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第一调用方提供所述第三服务。
20.根据权利要求18或19所述的方法,其特征在于,所述方法还包括:
所述第二设备接收所述第一设备的第四请求,所述第四请求携带:第三调用方、所述被调用方、第四服务的指示信息,其中,所述第三调用方安装在所述第一设备中,所述第三调用方为应用程序或功能组件;
响应于所述第四请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第三调用方提供所述第四服务。
21.根据权利要求18-20中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备接收第四设备的第五请求,所述第五请求携带:所述第一调用方、所述被调用方、第五服务的指示信息,其中,所述第四设备中安装有所述第一调用方;
响应于所述第五请求,所述第二设备运行所述第一实例,所述第一实例还用于为所述第四设备的所述第一调用方提供所述第五服务。
22.根据权利要求18-21中任一项所述的方法,其特征在于,所述第一调用方和所述第二调用方相同。
23.根据权利要求18-22中任一项所述的方法,其特征在于,所述第一设备和所述第三设备相同。
24.根据权利要求18-23中任一项所述的方法,其特征在于,在所述第二设备运行第一实例之前,所述方法还包括:
所述第二设备检测是否存在所述第一实例,如果不存在,则所述第二设备创建所述第一实例。
25.根据权利要求18-24中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备为所述第一实例分配第一进程标识PID,为所述第二实例分配第二PID;
或者,
所述第二设备为所述第一实例分配第一用户标识UID,为所述第二实例分配第二UID。
26.根据权利要求18-25中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备记录第一调用关系,所述第一调用关系包括:所述第一调用方的信息,所述第一实例的信息,所述第一调用关系的标识;
所述第一调用方的信息包括:所述第一调用方的应用标识;
所述第一实例的信息包括:所述被调用方的应用标识,所述第一PID,所述第一UID。
27.根据权利要求26所述的方法,其特征在于,
所述第一调用方的信息还包括以下一项或多项:所述第一调用方的用户标识UID,所述第一调用方的开发者签名,所述第一调用方所在所述第一设备的账户标识,所述第一设备的标识,所述第一调用方所在所述通信系统的标识;
所述第一实例的信息还包括以下一项或多项:所述被调用方的用户标识UID,所述被调用方的开发者签名,所述被调用方所在所述第二设备的账户标识,所述第二设备的标识,所述被调用方所在所述通信系统的标识。
28.根据权利要求18-27中任一项所述的方法,其特征在于,所述第二设备运行第一实例之后,所述方法还包括:
所述第二设备生成第一结果;
所述第二设备将所述第一结果返回给所述第一设备。
29.根据权利要求18-28中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确认所述第一调用方具有访问所述被调用方的权限。
30.根据权利要求18-29中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备确认所述第一调用方具有访问所述第一服务的权限。
31.一种电子设备,其特征在于,所述电子设备包括:通信装置、存储器以及耦合于所述存储器的处理器,多个应用程序,以及一个或多个程序;所述存储器中存储有计算机可执行指令,所述处理器执行所述指令时使得所述电子设备实现如权利要求18至30中任一项所述的方法。
32.一种通信系统,其特征在于,所述通信系统包括:第一设备、第二设备和第三设备,其中,所述第二设备执行如权利要求18至30中任一项所述的方法。
33.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求18至30任一项所述的方法。
34.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求18至30任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22758744.1A EP4270230A1 (en) | 2021-02-24 | 2022-01-27 | Access control method, electronic device and system |
PCT/CN2022/074252 WO2022179379A1 (zh) | 2021-02-24 | 2022-01-27 | 一种访问控制方法、电子设备及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110206259 | 2021-02-24 | ||
CN2021102062591 | 2021-02-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969769A true CN114969769A (zh) | 2022-08-30 |
Family
ID=82973937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110730286.9A Pending CN114969769A (zh) | 2021-02-24 | 2021-06-29 | 一种访问控制方法、电子设备及系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4270230A1 (zh) |
CN (1) | CN114969769A (zh) |
WO (1) | WO2022179379A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116546469A (zh) * | 2023-07-06 | 2023-08-04 | 交通运输部公路科学研究所 | 一种车规级无线短距离通信芯片 |
CN117135268A (zh) * | 2023-02-23 | 2023-11-28 | 荣耀终端有限公司 | 拍摄的方法和电子设备 |
CN117252558A (zh) * | 2023-11-17 | 2023-12-19 | 南京特沃斯清洁设备有限公司 | 基于人脸识别的清洁设备管理方法及系统 |
CN117573380A (zh) * | 2024-01-16 | 2024-02-20 | 北京趋动智能科技有限公司 | 虚拟地址分配方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226488B (zh) * | 2008-01-25 | 2010-06-02 | 中兴通讯股份有限公司 | 多实例应用程序在内核态地址空间冲突的解决方法及系统 |
GB2525596B (en) * | 2014-04-28 | 2021-05-26 | Arm Ip Ltd | Access control and code scheduling |
CN106484501A (zh) * | 2015-08-26 | 2017-03-08 | 北京奇虎科技有限公司 | 一种应用运行方法和装置 |
CN108932427A (zh) * | 2018-05-18 | 2018-12-04 | 华中科技大学 | 一种Android应用多开环境中限制访问的控制方法及系统 |
-
2021
- 2021-06-29 CN CN202110730286.9A patent/CN114969769A/zh active Pending
-
2022
- 2022-01-27 WO PCT/CN2022/074252 patent/WO2022179379A1/zh active Application Filing
- 2022-01-27 EP EP22758744.1A patent/EP4270230A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135268A (zh) * | 2023-02-23 | 2023-11-28 | 荣耀终端有限公司 | 拍摄的方法和电子设备 |
CN116546469A (zh) * | 2023-07-06 | 2023-08-04 | 交通运输部公路科学研究所 | 一种车规级无线短距离通信芯片 |
CN116546469B (zh) * | 2023-07-06 | 2023-09-08 | 交通运输部公路科学研究所 | 一种车规级无线短距离通信芯片 |
CN117252558A (zh) * | 2023-11-17 | 2023-12-19 | 南京特沃斯清洁设备有限公司 | 基于人脸识别的清洁设备管理方法及系统 |
CN117252558B (zh) * | 2023-11-17 | 2024-01-19 | 南京特沃斯清洁设备有限公司 | 基于人脸识别的清洁设备管理方法及系统 |
CN117573380A (zh) * | 2024-01-16 | 2024-02-20 | 北京趋动智能科技有限公司 | 虚拟地址分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4270230A1 (en) | 2023-11-01 |
WO2022179379A1 (zh) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022179379A1 (zh) | 一种访问控制方法、电子设备及系统 | |
CN110276177B (zh) | 智能终端的登录方法及电子设备 | |
CN114741720B (zh) | 一种权限管理方法及终端设备 | |
WO2022199499A1 (zh) | 一种访问控制的方法、电子设备及系统 | |
WO2022111469A1 (zh) | 一种文件共享方法、装置及电子设备 | |
WO2023284555A1 (zh) | 安全调用服务的方法、安全注册服务的方法及装置 | |
WO2022199672A1 (zh) | 精准撤销权限的访问控制方法、相关装置及系统 | |
WO2022188683A1 (zh) | 灵活授权的访问控制方法、相关装置及系统 | |
WO2022111664A1 (zh) | 打补丁的方法、相关设备及系统 | |
CN115238299A (zh) | 基于安全等级的访问控制方法、相关装置及系统 | |
CN113590346B (zh) | 处理业务请求的方法和电子设备 | |
CN115114637A (zh) | 基于权限传递的访问控制方法、相关装置及系统 | |
CN115203731A (zh) | 基于安全敏感度的访问控制方法、相关装置及系统 | |
CN115203716A (zh) | 权限同步方法、相关装置及系统 | |
US20240135033A1 (en) | Access control method, electronic device, and system | |
WO2024061326A1 (zh) | 一种数据保护方法及电子设备 | |
US20240154966A1 (en) | Distributed access control method and related apparatus and system | |
WO2022068578A1 (zh) | 文件共享方法和电子设备 | |
WO2022247626A1 (zh) | 基于应用身份的访问控制方法、相关装置及系统 | |
WO2023179682A1 (zh) | 一种设备协同方法 | |
CN115146305A (zh) | 基于访问策略的访问控制方法、相关装置及系统 | |
CN115426122A (zh) | 基于权限适配的访问控制方法、相关装置及系统 | |
CN114996667A (zh) | 跨设备的访问控制方法、相关装置及系统 | |
CN116992401A (zh) | 账户间应用隔离的方法及电子设备 | |
CN115878252A (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 |