应用权限管理及检查方法、装置、设备及存储介质与流程

专利2022-06-29  41


本发明涉及多操作系统环境中的应用权限管理,特别是涉及一种应用权限管理及检查方法、装置、设备及存储介质。



背景技术:

操作系统为了扩展适用范围,大多会兼容其他操作系统的应用,以使得操作系统能支持更广泛的应用生态圈。对于用户来说,一部设备中应该只体现为一种操作系统,因此需要对其他操作系统的应用管理的兼容,达到一个权限管理器可以管控两个系统中的应用权限。

例如,随着android的兴起,其软件生态越来越完善,而新兴操作系统想要使用android系统的应用生态,就需要去兼容android。目前基于android优化的权限系统中,其实现大多是在androidframework中添加权限检查hook,这种方案需要对androidframework进行大量的修改,若在融合系统中使用该方案,系统中将存在两套权限管理系统,对于权限的管理是极其不便利的。对于android的过多修改,也会造成后期代码维护成本加大。



技术实现要素:

本发明的一个目的在于提供一种能够对多操作系统环境中的应用权限进行兼容管理的应用管理方案。

根据本发明的第一个方面,提供了一种应用权限管理方法,包括:将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式;以及将转换后的应用信息发送给第二操作系统中的应用权限管理服务。

可选地,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务的形式的步骤包括:保留第一应用信息中第二操作系统中的应用权限管理服务需要使用的信息;以及将保留的信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

可选地,保留第一应用信息中第二操作系统中的应用权限管理服务需要使用的信息的步骤包括:将第一应用信息转换为与中间结构对应的中间应用信息,中间应用信息包括第二操作系统中的应用权限管理服务需要使用的应用信息。

可选地,基于预定的转换规则,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

可选地,预定的转换规则包括以下至少一项:对于第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同且代表该含义的字段内容相同的应用信息,将应用信息的格式转换为适于应用权限管理服务处理的形式;对于所述第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同但代表该含义的字段内容不同的应用信息,基于预定的匹配规则,对应用信息进行转换;在第一应用信息中的一项信息与适于在第二操作系统环境中运行的应用的第二应用信息中的多项信息对应的情况下,将一项信息转换为对应的多项信息。

可选地,第一操作系统为兼容操作系统,第二操作系统为主操作系统。

根据本发明的第二个方面,还提供了一种应用权限检查方法,包括:响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务发送应用权限检查请求,以检查应用是否具有权限;以及根据检查结果,确定是否向应用提供服务。

可选地,该方法还包括:由应用权限管理服务基于预先获取的应用信息,判断应用是否具有权限,其中,应用信息是通过对第一操作系统中运行的应用的第一应用信息进行转换得到的、适于第二操作系统中的应用权限管理服务处理的信息。

可选地,该方法还包括:在应用启动后,向第一操作系统中的应用管理服务发送应用权限检查请求;响应于接收到第一操作系统中的应用管理服务返回的应用具有权限的消息,生成服务获取请求,以获取相关服务。

可选地,该方法还包括:响应于在第一操作系统环境中运行的应用的服务获取请求,向第一操作系统中的应用管理服务发送应用权限检查请求,以检查应用是否具有权限。

可选地,响应于应用权限检查请求,第一操作系统中的应用管理服务始终返回应用具有权限。

可选地,第一操作系统为兼容操作系统,第二操作系统为主操作系统。

根据本发明的第三个方面,还提供了一种应用权限管理装置,包括:转换模块,用于将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式;和发送模块,用于将转换后的应用信息发送给第二操作系统中的应用权限管理服务模块。

可选地,转换模块包括:保留模块,用于保留第一应用信息中第二操作系统中的应用权限管理服务模块需要使用的信息;和转换子模块,用于将保留的信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式。

可选地,保留模块将第一应用信息转换为与中间结构对应的中间应用信息,中间应用信息包括第二操作系统中的应用权限管理服务模块需要使用的应用信息。

可选地,转换模块基于预定的转换规则,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式。

可选地,预定的转换规则包括以下至少一项:对于第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同且代表该含义的字段内容相同的应用信息,将应用信息的格式转换为适于应用权限管理服务处理的形式;对于第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同但代表含义的字段内容不同的应用信息,基于预定的匹配规则,对应用信息进行转换;在第一应用信息中的一项信息与适于在第二操作系统环境中运行的应用的第二应用信息中的多项信息对应的情况下,将一项信息转换为对应的多项信息。

可选地,第一操作系统为兼容操作系统,第二操作系统为主操作系统。

根据本发明的第四个方面,还提供了一种应用权限检查装置,包括:权限检查请求发送模块,用于响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务模块发送应用权限检查请求,以检查应用是否具有权限;和服务提供模块,用于根据检查结果,确定是否向应用提供服务。

可选地,该装置还包括:应用权限管理服务模块,用于基于预先获取的应用信息,判断应用是否具有权限,其中,应用信息是通过对第一操作系统中运行的应用的第一应用信息进行转换得到的、适于第二操作系统中的应用权限管理服务模块处理的信息。

可选地,权限检查请求发送模块还用于在应用启动后,向第一操作系统中的应用管理服务发送应用权限检查请求,该装置还包括:服务获取请求生成模块,用于响应于接收到第一操作系统中的应用管理服务返回的应用具有权限的消息,生成服务获取请求,以获取相关服务。

可选地,权限检查请求发送模块还用于响应于在第一操作系统环境中运行的应用的服务获取请求,向第一操作系统中的应用管理服务模块发送应用权限检查请求,以检查应用是否具有权限。

可选地,响应于应用权限检查请求,第一操作系统中的应用管理服务模块始终返回应用具有权限。

可选地,第一操作系统为兼容操作系统,第二操作系统为主操作系统。

根据本发明的第五个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本发明第一个方面或第二个方面述及的方法。

根据本发明的第六个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本发明第一个方面或第二个方面述及的方法。

本发明通过第一操作系统应用的应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式,使得后续在需要对第一操作系统应用进行权限检查时,就可以由第二操作系统中的应用权限管理服务取代第一操作系统中的应用权限管理服务,来进行权限检查,从而可以实现由一个应用权限管理服务管控两个操作系统中的应用权限。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1是示出了根据本发明一实施例的应用权限管理方法的示意性流程图。

图2是示出了根据本发明一实施例的应用权限检查方法的示意性流程图。

图3示出了应用安装流程中的应用信息同步以及应用权限检查流程。

图4是示出了根据本发明一实施例的应用权限管理装置的结构的示意性方框图。

图5是示出了根据本发明一实施例的应用权限检查装置的结构的示意性方框图。

图6示出了根据本发明一实施例可用于实现上述应用权限管理方法或应用权限检查方法的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

【术语解释】

host:主操作系统,如alios。

guest:host中兼容的操作系统,如android。在利用容器(container)技术隔离兼容操作系统的情况下,host中兼容的操作系统也可以称为container。

bridgeservice:host与guest(或container)通信的服务。

packagemanagerservice:简称pms,android中用于进行应用管理的服务,主要负责应用的安装,卸载,优化和查询。

appops:applicationoperations,android中应用程序的操作(权限)管理。

permd:alios中用于进行应用权限管理的服务。

【方案概述】

本发明是针对运行在同一电子设备(优选地为手机、ipad等移动设备)中的两个不同的操作系统(operatingsystem,简称os)提出的。为了便于区分,两个不同的操作系统可以分别称为第一操作系统和第二操作系统。可选地,第一操作系统可以是兼容操作系统(guest),第二操作系统可以是主操作系统(host)。

第一操作系统可以是基于第二操作系统创建的虚拟操作环境,例如虚拟机,除去第一操作系统之外的部分可以视为第二操作系统。也就是说,第二操作系统可以提供兼容操作系统的虚拟机支持平台,基于该平台可以动态地创建能够兼容运行第一操作系统应用的虚拟机,该虚拟机即可视为是第一操作系统。另外,也可以通过容器(container)技术隔离兼容操作系统(如android)和主操作系统(如alios),其中,container环境中的操作系统可以视为兼容操作系统。

第一操作系统和第二操作系统也可以不分主次,而是能够共同独立在同一电子设备中运行的两个操作系统。关于第一操作系统和第二操作系统的具体类型,以及两个操作系统运行在同一电子设备中的具体实现方式,本发明不做限定。

第一操作系统和第二操作系统属于不同的操作系统,不同操作系统中应用的应用信息的结构及内容不尽相同,本发明述及的应用信息主要是指与应用的权限相关的信息。为了便于对不同操作系统应用的应用权限进行统一管理,本发明提出,可以将适于在第一操作系统中运行的应用的应用信息(为了便于区分,可以称为“第一应用信息”)转换为适于第二操作系统中的应用权限管理服务处理的形式,以使得可以统一由第二操作系统中的应用权限管理服务来管理应用权限。例如,可以由第二操作系统中的应用管理服务查询第一操作系统应用的权限是否合法。

下面就本发明涉及的各方面做进一步详细说明。

【应用信息转换】

在本发明中,应用信息转换是指将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。也即对第一应用信息进行转换,将其转换为第二操作系统中的应用权限管理服务可以管理的信息。

下面结合图1就应用信息转换的实现过程进行说明。图1是示出了根据本发明一实施例的应用权限管理方法的示意性流程图。

参见图1,在步骤s110,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

适于在第一操作系统环境中运行的应用可以称为第一操作系统应用。可以响应于第一操作系统应用的安装,将第一操作系统应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。例如,可以由第一操作系统中的应用管理服务完成对第一操作系统应用的安装,在第一操作系统应用安装过程中或安装完毕后,可以执行步骤s210,将第一操作系统应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

在对第一应用信息进行转换的过程中,可以首先保留第一应用信息中第二操作系统中的应用权限管理服务需要使用的信息,然后再将保留的信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

为了方便第一操作系统应用的第一应用信息与第二操作系统中的应用权限管理服务适于处理的应用信息之间的转换,可以设定一种中间结构,可以首先将第一操作系统应用的第一应用信息转换为与中间结构对应的中间应用信息,中间应用信息可以包括第二操作系统中的应用权限管理服务需要使用的应用信息,然后再将中间应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

作为示例,可以基于预定的转换规则,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。例如,预定的转换规则可以包括但不限于以下至少一项:对于第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同且代表该含义的字段内容相同的应用信息,将应用信息的格式转换为适于应用权限管理服务处理的形式;对于第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同但代表含义的字段内容不同的应用信息,基于预定的匹配规则,对应用信息进行转换;在第一应应用信息中的一项信息与适于在第二操作系统环境中运行的应用的第二应用信息中的多项信息对应的情况下,将一项信息转换为对应的多项信息。其中,具体的转换规则与第一操作系统和第二操作系统各自支持的应用信息的结构及信息表现形式相关,此处不再赘述。

在步骤s120,将转换后的应用信息发送给第二操作系统中的应用权限管理服务。

作为示例,可以通过第一操作系统与第二操作系统之间进行通信的服务(bridgeservice)来将转换后的应用信息发送给第二操作系统中的应用权限管理服务。由此,第一操作系统应用的第一应用信息就可以以可被第二操作系统中的应用权限管理服务处理的形式保存,如此可以使得后续在需要对第一操作系统应用进行权限检查时,就可以由第二操作系统中的应用权限管理服务取代第一操作系统中的应用权限管理服务,来进行权限检查,从而可以实现由一个应用权限管理服务管控两个操作系统中的应用权限。

【应用权限检查】

在第一操作系统应用启动后,需要进行权限检查时,可以通过第二操作系统应用中的应用权限管理服务实现权限检查。

图2是示出了根据本发明一实施例的应用权限检查方法的示意性流程图。

参见图2,在步骤s210,响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务发送应用权限检查请求,以检查应用是否具有权限。

这里可以由应用权限管理服务基于预先获取的应用信息,判断应用是否具有权限。此处述及的预先获取的应用信息是指通过对第一操作系统中应用的第一应用信息进行转换得到的、适于第二操作系统中的应用权限管理服务处理的应用信息。

在步骤s220,根据检查结果,确定是否向应用提供服务。

此处主要是根据第二操作系统中的应用权限管理服务的检测结果,来确定是否向应用提供服务。例如,在检测结果表明应用具有权限的情况下,可以向应用提供服务,在检测结果表明应用不具有权限的情况下,不向应用提供服务。

在需要对第一操作系统环境中运行的应用的权限进行检测的情况下,可以将第二操作系统中应用权限管理服务替代第一操作系统中原有的应用权限管理服务,对于权限检测的其他流程可以维持不变,以较少地改变第一操作系统的框架系统,降低成本。

作为本发明的一个示例,在适于在第一操作系统环境中运行的应用启动后,可以向第一操作系统中的应用管理服务发送应用权限检查请求。响应于应用权限检查请求,第一操作系统中的应用管理服务可以始终返回应用具有权限。响应于接收到第一操作系统中的应用管理服务返回的应用具有权限的消息,可以生成服务获取请求,以获取相关服务,然后可以执行步骤s210,由第二操作系统中的应用权限管理服务对第一操作系统应用的权限进行检测。

可选地,响应于在第一操作系统环境中运行的应用的服务获取请求,除了执行步骤s210之外,还可以向第一操作系统中的应用管理服务发送应用权限检查请求,以检查应用是否具有权限。其中,响应于应用权限检查请求,第一操作系统中的应用管理服务可以始终返回应用具有权限。由此,可以在对第一操作系统中的应用权限检测机制进行较少改动的情况下,由第二操作系统中的应用管理服务来对应用是否具有权限进行检测。

应用例

下面结合具体实施例就应用信息转换及应用权限检查流程进行示例性说明。

图3示出了应用安装流程中的应用信息同步以及应用权限检查流程。其中,图中横向虚线划分的上半部分为应用安装流程中的应用信息同步,图中横向虚线划分的下半部分为应用权限检查流程。

【应用安装流程】

对于适于在第一操作系统环境中运行的应用,可以由第一操作系统环境中的应用管理服务pms完成对应用安装并将应用的应用信息(即上文述及的第一应用信息)同步给bridgeservice,由bridgeservice将应用信息同步给第二操作系统中的应用权限管理服务permd。此处述及的应用信息同步是指,将应用信息转换为permd能够处理的形式。

在本实施例中,第一操作系统可以是android,第二操作系统可以是alios,可以基于container技术在alios中兼容android,因此android的应用结构可以称为container应用结构(containerpackageinfo),alios的应用结构可以称为host应用结构(hostpackageinfo)。

host应用结构大致包括muri(域名或页面uri)、mflag(域名的flag,所有用户共享该flag)、mdefinestr(权限定义)、musestr(许可使用)等等。其中,关于host应用结构的具体数据结构此处不再赘述。

container应用结构大致包括packagename(包名)、codepath(代码路径)、basecodepath(基准代码路径)等等。其中,关于container应用结构的具体数据结构此处不再赘述。

在将应用信息同步转换为适于第二操作系统中的应用权限管理服务(permd)处理的应用信息的过程中,可以设定一种中间结构,以方便第一操作系统中的应用信息与第二操作系统中的应用信息互相同步,该中间结构可以称为bridgepackageinfo,即为上文述及的中间应用信息。作为示例,bridgepackageinfo的结构大致可以包括pkgname(包名)、uid(用户id)、hostpermissions(权限)、hostsignatures(签名)、hostpermdefinearray(权限定义数组)等等。

由此,container应用信息转换过程中,其流程可以表示为,containerpackageinfo->bridgepackageinfo->hostpackageinfo。

在将containerpackageinfo转换为bridgepackageinfo的过程中,主要是处理container与host信息一致的问题。因为container与host的结构不同,导致其应用信息结构的数量不同。例如,container在应用信息中存在activity的结构,但是host是不存在该结构的,因此在此过程的转换中,需要去掉对host权限管理没有用的应用信息。最终bridgepackageinfo中存储的为host需要使用的container应用信息。

在将bridgepackageinfo转换为hostpackageinfo的过程中,主要是处理container应用信息在host侧使用的问题。bridgepackageinfo中存储的是host需要的container应用信息,但是这个信息是没有办法直接在host侧使用的,因此本过程主要解决的就是这个问题。例如,在container中表示一个应用的名称是通过应用名表示的;而在host侧,表示一个应用名称是通过url来表示的。在这种转换中,可以使用字符串匹配的方式进行转换。其中,各个结构中的信息必须为一一对应的关系。

在应用信息转换中,由于应用信息中的权限信息及权限字段存在重大差异,并且本发明是以host系统中的权限管理器为融合系统的权限管理器,因此需要将container应用的权限字段信息转换为host可用的权限信息。

以对应用信息中的权限信息的转换为例,转换规则如下:

1.对于第一操作系统中的应用信息中与第二操作系统中的应用信息的权限含义相同且代表该权限含义的字段内容相同的权限

对于此类权限,send_sms表示该权限的实际意义,其他内容为权限信息的前缀或者后缀,其代表权限意义的字段内容相同,前缀后缀不同。因此直接进行字符串匹配的方式进行转换,将其中“android.permission”替换为“permission.yunos.com”。

例如,host权限:send_sms.permission.yunos.com;container权限:android.permission.send_sms

2.对于container一个权限对应多个host权限

由于host对于权限的控制更细,因此存在container应用在开发时添加一种权限就可以使用全部功能,而host可能会对不同的功能采用不同的权限。为了减少对containersdk的修改以兼容已有的container应用,因此上层sdk代码无需修改,只在权限信息同步到host之后,host权限管理对其进行拆分合并,即在权限转换时,如下container权限会被转换为多个host权限。在权限检查时,对相关container应用的检查不受影响。

例如,host权限:camera.permission.yunos.com

access_camera_device.permission.yunos.com

container权限:android.permission.camera。

3.对于第一操作系统中的应用信息中与第二操作系统中的应用信息的含义相同但字段内容不同的权限

这种权限为host和container权限字段完全没有共同特征。需要在编译期将权限的对应关系预置在权限数据库中,权限在同步的过程中,对其进行规则匹配来完成权限的转换。例如:

host权限:create_overlay_window.permission.yunos.com

container权限:android.permnission.system_alert_window

【应用权限检查流程】

图3中示出的应用权限检查流程是指针对第一操作系统环境中运行的应用(app)的权限检查,对于第二操作系统环境中运行的应用的权限检查,可以参考第二操作系统本身的权限检查机制,此处不再赘述。

app启动后可以调用android提供接口去pms中检查自身权限(pms返回应用始终有权限),然后app请求相关server,以获取相关服务。server可以分别请求pms检查app是否具有权限、请求host侧的应用权限管理服务permd检查app是否具有权限。其中,pms可以返回应用始终有权限。server可以最终根据permd返回的结果,判断app是否具有权限,从而决定是否对app提供服务。

在本发明的另一个实施例中,对于应用权限检查流程还可以替换pms中检查点的过程,具体流程如下。

应用启动后调用android提供接口去pms中检查自身权限(pms返回应用始终有权限),然后app请求相关server,以获取相关服务。server请求的应用权限管理服务permd检查app是否具有权限。server可以最终根据permd返回的结果,判断app是否具有权限,从而决定是否对app提供服务。

综上,可以利用第二操作系统中的应用权限管理服务管控第一操作系统中的应用权限,达到两套操作系统一套权限管理系统,并且无需针对于第一操作系统具体的某个或者某些服务做修改,只需使用第二操作系统中的应用权限管理服务替换掉第一操作系统中的应用权限管理服务,原服务中针对于权限的检查点均不用做改动。

例如,旧方案为:1.服务a需要检查权限,调用第一操作系统原生权限检查接口2.如需添加权限检查,需要修改服务a,将其调用第一操作系统原生权限检查接口替换为调用新开发的权限接口如出现服务b,就需要继续修改服务b,因此在服务很多的情况下,需要修改所有的服务本方案中只需要修改权限服务即可,只需将第一操作系统中的应用权限管理服务替换为第二操作系统中的应用权限管理服务即可,在第二操作系统中的应用权限管理服务中实现第一操作系统中的应用权限管理服务原有功能。

【应用权限管理装置】

图4是示出了根据本发明一实施例的应用权限管理装置的结构的示意性方框图。其中,应用权限管理装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。

应用权限管理装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文描述,这里不再赘述。

参见图4,应用权限管理装置400包括转换模块410和发送模块420。转换模块410用于将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式,发送模420用于将转换后的应用信息发送给第二操作系统中的应用权限管理服务模块。

可选地,转换模块410可以包括保留模块和转换子模块(图中未示出)。保留模块用于保留第一应用信息中第二操作系统中的应用权限管理服务模块需要使用的信息,转换子模块用于将保留的信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式。

作为示例,保留模块可以将第一应用信息转换为与中间结构对应的中间应用信息,中间应用信息包括第二操作系统中的应用权限管理服务模块需要使用的应用信息。转换子模块可以将中间应用信息换为适于第二操作系统中的应用权限管理服务模块处理的形式。

可选地,转换模块410可以基于预定的转换规则,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务模块处理的形式。关于预定的转换规则可以参见上文描述,此处不再赘述。

【应用权限检查装置】

图5是示出了根据本发明一实施例的应用权限检查装置的结构的示意性方框图。其中,应用权限检查装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图5所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。

应用权限检查装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文描述,这里不再赘述。

参见图5,应用权限检查装置500包括权限检查请求发送模块510和服务提供模块520。权限检查请求发送模块510用于响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务发送应用权限检查请求,以检查应用是否具有权限。服务提供模块520用于根据检查结果,确定是否向应用提供服务。

应用权限检查装置500还可以可选地包括图中虚线框所示的应用权限管理服务模块530。应用权限管理服务模块530用于基于预先获取的应用信息,判断应用是否具有权限,其中,应用信息是通过对第一操作系统中运行的应用的第一应用信息进行转换得到的、适于第二操作系统中的应用权限管理服务模块530处理的信息。

可选地,权限检查请求发送模块510还用于在应用启动后,向第一操作系统中的应用管理服务发送应用权限检查请求,应用权限检查装置500还可以可选地包括图中虚线框所示的服务获取请求生成模块540,用于响应于接收到第一操作系统中的应用管理服务返回的应用具有权限的消息,生成服务获取请求,以获取相关服务。

可选地,权限检查请求发送模块510还用于响应于在第一操作系统环境中运行的应用的服务获取请求,向第一操作系统中的应用管理服务模块发送应用权限检查请求,以检查应用是否具有权限。其中,响应于应用权限检查请求,第一操作系统中的应用管理服务模块始终返回应用具有权限。

【计算设备】

图6示出了根据本发明一实施例可用于实现上述应用权限管理方法或应用权限检查方法的计算设备的结构示意图。

参见图6,计算设备600包括存储器610和处理器620。

处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(asic,applicationspecificintegratedcircuit)或者现场可编程逻辑门阵列(fpga,fieldprogrammablegatearrays)。

存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的应用权限管理方法或应用权限检查方法。

上文中已经参考附图详细描述了根据本发明的应用权限管理及检查方法、装置、计算设备。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。


技术特征:

1.一种应用权限管理方法,其特征在于,包括:

将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式;以及

将转换后的应用信息发送给所述第二操作系统中的应用权限管理服务。

2.根据权利要求1所述的应用权限管理方法,其特征在于,所述将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务的形式的步骤包括:

保留所述第一应用信息中所述第二操作系统中的应用权限管理服务需要使用的信息;以及

将保留的信息转换为适于所述第二操作系统中的应用权限管理服务处理的形式。

3.根据权利要求2所述的应用权限管理方法,其特征在于,所述保留所述第一应用信息中所述第二操作系统中的应用权限管理服务需要使用的信息的步骤包括:

将所述第一应用信息转换为与中间结构对应的中间应用信息,所述中间应用信息包括所述第二操作系统中的应用权限管理服务需要使用的应用信息。

4.根据权利要求1所述的应用权限管理方法,其特征在于,

基于预定的转换规则,将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式。

5.根据权利要求4所述的应用权限管理方法,其特征在于,所述预定的转换规则包括以下至少一项:

对于所述第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同且代表该含义的字段内容相同的应用信息,将所述应用信息的格式转换为适于所述应用权限管理服务处理的形式;

对于所述第一应用信息中与适于在第二操作系统环境中运行的应用的第二应用信息的含义相同但代表该含义的字段内容不同的应用信息,基于预定的匹配规则,对所述应用信息进行转换;

在所述第一应用信息中的一项信息与适于在第二操作系统环境中运行的应用的第二应用信息中的多项信息对应的情况下,将所述一项信息转换为对应的多项信息。

6.根据权利要求1所述的应用权限管理方法,其特征在于,

所述第一操作系统为兼容操作系统,所述第二操作系统为主操作系统。

7.一种应用权限检查方法,其特征在于,包括:

响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务发送应用权限检查请求,以由所述应用权限管理服务检查所述应用是否具有权限;以及

根据检查结果,确定是否向所述应用提供服务。

8.根据权利要求7所述的应用权限检查方法,其特征在于,还包括:

所述应用权限管理服务基于预先获取的应用信息,判断所述应用是否具有权限,其中,所述应用信息是通过对所述第一操作系统中运行的应用的第一应用信息进行转换得到的、适于第二操作系统中的应用权限管理服务处理的信息。

9.根据权利要求7所述的应用权限检查方法,其特征在于,还包括:

在所述应用启动后,向第一操作系统中的应用管理服务发送应用权限检查请求;

响应于接收到所述第一操作系统中的应用管理服务返回的应用具有权限的消息,生成服务获取请求,以获取相关服务。

10.根据权利要求7所述的应用权限检查方法,其特征在于,还包括:

响应于在第一操作系统环境中运行的应用的服务获取请求,向第一操作系统中的应用管理服务发送应用权限检查请求,以检查应用是否具有权限。

11.根据权利要求9或10所述的应用权限检查方法,其特征在于,

响应于应用权限检查请求,所述第一操作系统中的应用管理服务始终返回所述应用具有权限。

12.根据权利要求6所述的应用权限检查方法,其特征在于,

所述第一操作系统为兼容操作系统,所述第二操作系统为主操作系统。

13.一种应用权限管理装置,其特征在于,包括:

转换模块,用于将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式;和

发送模块,用于将转换后的应用信息发送给所述第二操作系统中的应用权限管理服务。

14.一种应用权限检查装置,其特征在于,包括:

权限检查请求发送模块,用于响应于在第一操作系统环境中运行的应用的服务获取请求,向第二操作系统中的应用权限管理服务发送应用权限检查请求,以检查所述应用是否具有权限;和

服务提供模块,用于根据检查结果,确定是否向所述应用提供服务。

15.一种计算设备,包括:

处理器;以及

存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至12中任何一项所述的方法。

16.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至12中任一项所述的方法。

技术总结
本发明提供了一种应用权限管理及检查方法、装置、设备及存储介质。将适于在第一操作系统环境中运行的应用的第一应用信息转换为适于第二操作系统中的应用权限管理服务处理的形式;以及将转换后的应用信息发送给所述第二操作系统中的应用权限管理服务。由此,在需要对第一操作系统应用进行权限检查时,就可以由第二操作系统中的应用权限管理服务取代第一操作系统中的应用权限管理服务,来进行权限检查,从而可以实现由一个应用权限管理服务管控两个操作系统中的应用权限。

技术研发人员:王佳琦;裘绍翔;李耀;史涛
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2018.12.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21953.html

最新回复(0)