一种资源访问方法、计算设备及可读存储介质技术

技术编号:32649815 阅读:64 留言:0更新日期:2022-03-12 18:39
本发明专利技术公开了一种资源访问方法、计算设备及可读存储介质,方法包括:在插件服务端接收来自前端的插件调用请求,插件调用请求适于请求调用目标插件的相应接口;创建沙箱环境,并在沙箱环境中启动所述目标插件;创建插件服务端和目标插件之间的链接,以便将插件调用请求转发给目标插件的相应接口来执行,以便来获取计算设备中的资源;以及在插件服务端接收作为目标插件相应接口的执行结果而获取的资源,并转发给前端。由上述内容可知,本发明专利技术中为每个插件创建单独的沙箱环境,使得插件运行在单独的沙箱环境中,从而来实现插件与操作系统资源之间的安全隔离,提高本地资源的安全性。提高本地资源的安全性。提高本地资源的安全性。

【技术实现步骤摘要】
一种资源访问方法、计算设备及可读存储介质


[0001]本专利技术涉及计算机领域,尤其涉及一种资源访问方法、计算设备及可读存储介质。

技术介绍

[0002]由于浏览器不支持对本地资源的操作,为了满足业务场景需要,浏览器提供了以插件的形式对本地资源的访问,插件例如NPAPI、ActiveX等,可通过插件的形式对本地资源访问。但是通过NPAPI、ActiveX等插件对本地资源的访问,由于没有进行本地资源隔离,插件运行时可获取用户所有的权限,可操作系统中的所有文件,存在安全隐患。
[0003]为此,亟需一种新的资源访问方法以解决上述问题。

技术实现思路

[0004]为此,本专利技术提供了一种资源访问方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
[0005]根据本专利技术的一个方面,提供一种资源访问方法,适于在计算设备中执行以获取所述计算设备中的资源,计算设备包括适于发布插件调用请求的前端和对所述插件调用请求进行解析的插件服务端,所述方法包括步骤:在插件服务端接收来自前端的插件调用请求,插件调用请求适于请求调用目标插件的相应接口;创建沙箱环境,并在沙箱环境中启动所述目标插件;创建插件服务端和目标插件之间的链接,以便将插件调用请求转发给目标插件的相应接口来执行,以便来获取计算设备中的资源;以及在插件服务端接收作为目标插件相应接口的执行结果而获取的资源,并转发给前端。
[0006]可选地,本专利技术提供的资源访问方法还包括步骤:在创建沙箱环境之前,在插件服务端判断目标插件是否已运行;如果目标插件已运行,则将插件调用请求转发给目标插件的相应接口,以便通过目标插件的相应接口来获取计算设备中的资源。
[0007]本专利技术提供的资源访问方法还包括步骤: 如果目标插件未运行,则判断计算设备中是否存在目标插件;如果目标插件未在计算设备中存在,则下载目标插件,并校验目标插件是否合法;如果目标插件已经在所述计算设备中存在,则校验目标插件是否合法。
[0008]可选地,其中,计算设备中存储有关系表,关系表的任一数据项与一个已运行插件的数据相对应,判断目标插件是否已运行的步骤包括:遍历所述关系表,如果关系表中存在与目标插件的数据相对应的数据项,则确定目标插件已运行,如果不存在,则确定目标插件未运行。
[0009]可选地,在沙箱环境中启动目标插件的步骤包括:在沙箱环境中创建一个插件进程;启动插件进程;将目标插件加载至插件进程;将目标插件的所有接口映射至插件进程中,以实现在沙箱环境中启动目标插件;以及将已启动目标插件的数据作为一个数据项存储至关系表中。
[0010]可选地,本专利技术提供的资源访问方法还包括步骤:将目标插件的本地目录映射至沙箱环境中,作为沙箱环境的目录,以限定目标插件的资源访问权限。
[0011]可选地,创建插件服务端和目标插件之间的链接,以便将插件调用请求转发给所述目标插件的相应接口来执行,以便来获取所述计算设备中的资源的步骤包括:通过gRPC通信方式创建插件服务端和目标插件之间的链接,以使得插件服务端与目标插件进行通信;在插件服务端通过链接向所述目标插件转发插件调用请求;在目标插件端通过调用其相应接口访问沙箱环境的目录,得到执行结果,以获取计算设备中的资源;在目标插件将作为目标插件相应接口的执行结果而获取的资源通过链接发送至插件服务端。
[0012]可选地,关系表的任一数据项对应于一个键值对,键值对的键为由目标插件的标识和版本号组成的唯一标识,键值对的键值为目标插件的信息。
[0013]根据本专利技术的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本专利技术的方法的指令。
[0014]根据本专利技术的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行根据本专利技术的方法。
[0015]根据本专利技术的资源访问方法,在插件服务端接收来自前端的插件调用请求,创建沙箱环境,并在沙箱环境中启动目标插件,创建插件服务端和目标插件之间的链接,以便将插件调用请求转发给目标插件的相应接口来执行,以便来获取计算设备中的资源,以及在插件服务端接收作为目标插件相应接口的执行结果而获取的资源,并转发给前端。
[0016]由上述内容可知,本专利技术中为每个插件创建单独的沙箱环境,使得插件运行在单独的沙箱环境中,从而来实现插件与操作系统资源之间的安全隔离,提高本地资源的安全性。且由于沙箱环境之间是相互隔离的,因此运行在沙箱环境中的插件也是相互隔离的,从而实现了插件之间的隔离,避免插件之间的相互影响。
附图说明
[0017]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0018]图1示出了根据本专利技术一个实施例的宿主机的示意图;图2示出了根据本专利技术一个实施例的计算设备200的结构框图;图3示出了根据本专利技术一个实施例的资源访问方法的流程图。
具体实施方式
[0019]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0020]沙箱环境,是一个虚拟系统程序,它创造了一个独立作业环境,允许在沙箱环境中运行插件等其他程序,实现资源的隔离,在沙箱中运行的程序也不可与外部程序进行通信。
[0021]以Linux操作系统为例,对沙箱环境的工作原理进行说明。通过操作系统的Namespace(命名空间)来实现环境的隔离,Namespace是Linux内核用来隔离内核资源的方式,使得处于不同Namespace 的进程拥有独立的全局系统资源,改变一个Namespace中的系统资源只会影响当前Namespace里的进程,对其他Namespace中的进程没有影响。
[0022]本专利技术中,为每个插件创建单独的沙箱环境,使得插件运行在单独的沙箱环境中,从而实现插件与操作系统资源的隔离。也即,本专利技术利用到沙箱环境隔离资源的功能机制,来实现插件与操作系统资源之间的安全隔离,以及插件之间的环境隔离。
[0023]需要说明的是,由于沙箱环境可以实现进程之间的隔离,因此沙箱环境中的插件无法直接与浏览器进行通信,因此,本专利技术中引入了插件服务端,通过插件服务端实现浏览器与沙箱环境中的插件的通信。
[0024]执行资源访问方法的宿主机的示意图如图1所示。宿主机中包括有前端(例如浏览器的网页)110、插件服务端120,前端110中集成有插件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源访问方法,适于在计算设备中执行以获取所述计算设备中的资源,所述计算设备包括适于发布插件调用请求的前端和对所述插件调用请求进行解析的插件服务端,所述方法包括步骤:在所述插件服务端接收来自所述前端的插件调用请求,所述插件调用请求适于请求调用目标插件的相应接口;创建沙箱环境,并在所述沙箱环境中启动所述目标插件;创建所述插件服务端和所述目标插件之间的链接,以便将所述插件调用请求转发给所述目标插件的相应接口来执行,以便来获取所述计算设备中的资源;以及在所述插件服务端接收作为所述目标插件相应接口的执行结果而获取的资源,并转发给所述前端。2.如权利要求1所述的方法,还包括步骤:在创建沙箱环境之前,在所述插件服务端判断所述目标插件是否已运行;如果所述目标插件已运行,则将所述插件调用请求转发给所述目标插件的相应接口,以便通过所述目标插件的相应接口来获取所述计算设备中的资源。3.如权利要求2所述的方法,还包括步骤:如果所述目标插件未运行,则判断所述计算设备中是否存在所述目标插件;如果所述目标插件未在所述计算设备中存在,则下载所述目标插件,并校验所述目标插件是否合法;如果所述目标插件已经在所述计算设备中存在,则校验所述目标插件是否合法。4.如权利要求2或3所述的方法,其中,所述计算设备中存储有关系表,所述关系表的任一数据项与一个已运行插件的数据相对应,判断所述目标插件是否已运行的步骤包括:遍历所述关系表,若关系表中存在与所述目标插件的数据相对应的数据项,则确定所述目标插件已运行,若不存在,则确定所述目标插件未运行。5.如权利要求4所述的方法,其中,在所述沙箱环境中启动所述目标插件的步骤包括:在所述沙箱环境中创建一个插件进程;启动所述...

【专利技术属性】
技术研发人员:史亚巍
申请(专利权)人:广东统信软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1