CN113741997A - 浏览器插件的隔离交互方法、系统、电子装置和存储介质 - Google Patents
浏览器插件的隔离交互方法、系统、电子装置和存储介质 Download PDFInfo
- Publication number
- CN113741997A CN113741997A CN202110927532.XA CN202110927532A CN113741997A CN 113741997 A CN113741997 A CN 113741997A CN 202110927532 A CN202110927532 A CN 202110927532A CN 113741997 A CN113741997 A CN 113741997A
- Authority
- CN
- China
- Prior art keywords
- plug
- browser
- service
- interaction
- isolated
- 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 199
- 230000003993 interaction Effects 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 114
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 14
- 238000002955 isolation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种浏览器插件的隔离交互方法、系统、电子装置和存储介质,其中方法包括:响应于开启的标签页,加载相应的插件,并生成相应的调用方法;创建与插件对应的具有相对隔离的内存空间的插件对象,并将插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;创建与插件对象对应的传输通道;并基于传输通道,根据插件对象开启对应的业务进程,以在业务进程中执行插件中与调用方法对应的目标业务。通过本申请,解决了相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题,采用一个插件对象使用一个业务进程,目标业务都在单一进程内部完成,提高进程资源的使用限制,有效降低进程崩溃的发生概率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及浏览器插件的隔离交互方法、系统、电子装置和存储介质。
背景技术
浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML格式,并由多媒体文件格式MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。大部分的浏览器本身都支持除了HTML之外的其它广泛的格式,例如:JPEG、PNG、GIF等图像格式,并且能够扩展支持众多的插件。
传统插件,如IE浏览器支持的OCX插件或者ATL插件,低版本chrome浏览器支持的NPAPI插件。受浏览器的进程资源限制,插件使用的内存资源有限(32位独立进程可访问的最大内存空间4G,实际使用3G多,但是IE插件受限访问的只有1个多G)。在浏览器开启多个标签页的情况下,假设多个标签页均需访问同一个插件,则不同的标签页的插件是在同一个进程中;因浏览器的进程资源有限,会出现内存使用不足的情况,进而导致进程的崩溃。
针对相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种浏览器插件的隔离交互方法、系统、电子装置和存储介质,以解决相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题。
第一个方面,在本实施例中提供了一种浏览器插件的隔离交互方法,包括:
响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
在其中的一些实施例中,所述创建与所述插件对应的具有相对隔离的内存空间的插件对象,包括:
利用object技术创建与所述插件对应的具有相对隔离的内存空间的插件对象。
在其中的一些实施例中,所述创建与所述插件对象对应的传输通道,包括:
创建与所述插件对象对应的有名管道。
在其中的一些实施例中,本申请实施例提供的所述的浏览器插件的隔离交互方法,还包括:
在创建与所述插件对象对应的有名管道之后,将所述调用方法通过所述插件对象写入所述有名管道。
在其中的一些实施例中,本申请实施例提供的所述的浏览器插件的隔离交互方法,还包括:
在执行所述插件中与所述调用方法对应的目标业务之后,读取所述有名管道的管道数据,将所述管道数据进行解析,得到事件数据,将所述事件数据发送给浏览器。
第二个方面,在本实施例中提供了一种浏览器插件的隔离交互系统,包括浏览器、插件以及业务进程通信模块;
所述浏览器,用于响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
所述插件,与所述浏览器通信连接,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
所述业务进程通信模块,与所述插件通信连接;用于创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
在其中的一些实施例中,所述插件包括插件框架层和插件业务层;
所述插件框架层,与所述浏览器和所述业务进程通信模块进行数据交互,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
所述插件业务层,与所述业务进程通信模块进行数据交互,用于执行与所述调用方法对应的目标业务。
在其中的一些实施例中,本申请实施例提供的所述的浏览器插件的隔离交互系统,还包括业务库;
所述业务库,分别与所述业务进程通信模块和所述插件通信连接,用于存储目标业务。
第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的浏览器插件的隔离交互方法。
第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的浏览器插件的隔离交互方法。
与相关技术相比,在本实施例中提供的浏览器插件的隔离交互方法、系统、电子装置和存储介质,通过响应于开启的标签页,加载相应的插件,并生成相应的调用方法;创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。解决了相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题,实现了一个标签页创建一个对应的插件对象,并采用一个插件对象使用一个业务进程,目标业务都在单一进程内部完成,从而提高进程资源的使用限制,有效降低进程崩溃的发生概率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例提供的浏览器插件的隔离交互系统的结构示意图;
图2是本申请一实施例提供的浏览器插件的隔离交互方法的计算机设备的硬件结构框图;
图3是本申请一实施例提供的浏览器插件的隔离交互方法的流程图;
图4是本申请一实施例提供的插件对象的运行流程示意图;
图5是本申请一实施例提供的浏览器插件的隔离交互装置的结构框图。
图中:210、浏览器;220、插件;221、插件框架层;222、插件业务层;230、业务进程通信模块;510、响应模块;520、创建绑定模块;530、创建执行模块。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“通信连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械通信连接,而可以包括电气通信连接,无论是直接通信连接还是间接通信连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
本申请一实施例提供的一种浏览器插件的隔离交互系统,如图1所示,包括浏览器210、插件220以及业务进程通信模块230;所述浏览器210,用于响应于开启的标签页,加载相应的插件220,并生成相应的调用方法;所述插件220,与所述浏览器210通信连接,用于创建与所述插件220对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;所述业务进程通信模块230,与所述插件220通信连接;用于创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件220中与所述调用方法对应的目标业务。
具体的,插件220包括插件框架层221和插件业务层222。
其中,所述插件框架层221,与所述浏览器210和所述业务进程通信模块230进行数据交互,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定。在插件框架层221中,以实例的形式保存着与标签页对应的插件对象;插件对象之间的内存空间是隔离的,也就是说不同的标签页有不同的插件对象实例。
其中,所述插件业务层222,与所述业务进程通信模块230进行数据交互,用于执行与所述调用方法对应的目标业务。插件业务层222的内存空间对于不同的插件对象实例也是隔离的。插件业务层222执行各类目标业务,比如,目标业务能够用于音视频的解码播放、翻译、批量下载等。这些目标业务存储于业务库中,业务库分别与所述业务进程通信模块230和所述插件通信连接。本申请的隔离交互系统,仅在浏览器210和插件的交互上采用业务进程通信模块230进行进程间的通信手段(该交互通常的数据量是极小的),在对性能要求极高的解码处理和渲染均在业务进程内部完成,在提升内存使用量的同时,不影响原有的插件效率。
为了解决了相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题,目前也有采用web socket进行web和本地应用程序通信的方案。这种方案需要应用在支持web socket的浏览器210上。虽然这种方案脱离了浏览器210进程的限制,访问内存可达4G。但是ie9及以下浏览器210不支持web socket,web socket方案的不能实现浏览器210全面覆盖。本申请相对于Web socket方案适用范围更广。
在本实施例中提供的方法实施例基于上述系统可以在终端、计算机或者类似的运算装置中执行。比如在计算器上运行,图2是本实施例的浏览器插件的隔离交互方法的计算器的硬件结构框图。如图2所示,计算器可以包括一个或多个(图2中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述计算器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述计算器的结构造成限制。例如,计算器还可包括比图2中所示更多或者更少的组件,或者具有与图2所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的浏览器插件的隔离交互方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络通信连接至计算器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括计算器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种浏览器插件的隔离交互方法,图3是本实施例的浏览器插件的隔离交互方法的流程图,如图3所示,该流程包括如下步骤:
步骤S210,响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
步骤S220,创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
步骤S230,创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
需要说明的是,上述实施例提供的方法是基于浏览器插件的隔离交互系统实现,比如,响应于开启的标签页,加载相应的插件,并生成相应的调用方法在浏览器中实现。标签页(Tab)可以通过结合一些data属性来创建,并使用java script来启用标签页,可以激活标签页元素和内容容器。标签页需要用一个data-target或者一个指向DOM中容器节点的href来启用,并加载相应的插件。调用方法是Web方法,表示web和插件的交互数据。比如:Web方法为登录指令、请求设备参数信息;请求用户名,密码等。
创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定在插件中实现。也就是说,在插件中实例的每个插件对象具有相对隔离的内存空间,插件对象和标签页存在对应关系。一般情况下,一个标签页对应一个插件对象;一个插件对象和一个业务进程绑定,即一个插件对象使用一个业务进程。再通过创建的传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
通过上述步骤,实现了一个标签页创建一个对应的插件对象,并采用一个插件对象使用一个业务进程,目标业务都在单一进程内部完成,从而提高进程资源的使用限制,有效降低进程崩溃的发生概率。从而解决了相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题。
在其中的一些实施例中,所述创建与所述插件对应的具有相对隔离的内存空间的插件对象,包括:
利用object技术创建与所述插件对应的具有相对隔离的内存空间的插件对象。
具体的,基于浏览器元素利用object技术创建与所述插件对应的具有相对隔离的内存空间的插件对象,能够快速完成插件对象的创建。在其他实施例中,也可以采用HTML技术来实现,对此并不进行限制。
由于交互数据量小,业务数据的处理均在业务进程中进行。因此,创建与所述插件对象对应的传输通道,其具体为:创建与所述插件对象对应的有名管道。
在创建与所述插件对象对应的有名管道之后,将所述调用方法通过所述插件对象写入所述有名管道。通过所述插件对象可以将调用方法组装成json数据,写入到有名管道。在使用时,业务进程通信模块读取json数据,解析成业务方法,并根据业务方法执行目标业务。业务方法和调用方法只是在传输过程中,受传输协议的限制而变化,其本质都是用于寻找目标业务将其执行。
在其中的一些实施例中,在执行所述插件中与所述调用方法对应的目标业务之后,还包括以下步骤:
读取所述有名管道的管道数据,将所述管道数据进行解析,得到事件数据,将所述事件数据发送给浏览器。这里的管道数据也为json数据,一般情况下含有event字段为事件。也就是说,管道数据为含有event字段的json数据,将其进行解析,得到事件数据。插件主动将事件数据发送给浏览器。
如图4所示,基于隔离交互系统,以单个插件对象的运行流程示意图为例进行说明,具体流程如下:
步骤S410、浏览器,响应于开启的标签页,加载相应的插件。
步骤S420、插件框架层,创建插件对象。
步骤S430、插件框架层,启动业务进程通信模块,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定。
步骤S440、业务进程通信模块,创建有名管道,用于插件对象和目标业务之间交互。
步骤S450、业务进程通信模块,启动插件业务层。
步骤S460、浏览器,生成调用方法;
步骤S470、通过插件对象写入到有名管道中。
步骤S480、业务进程通信模块,读取管道数据(json数据),解析成业务方法,执行目标业务。
步骤S490、业务方法执行结果返回(或者业务主动触发事件)写入到有名管道中。
步骤S500、插件框架层,读取管道数据(json数据,含有event字段为事件);
步骤S510、解析成事件数据(插件主动发送给浏览器的数据,如设备断开的状态),发送给浏览器。
上述过程是一个插件对象的运行流程。如果是多个标签页加载多个插件对象这种情况的话,那么就是多个插件对象的运行流程。每个插件对象会创建对应的业务进程,也均会创建一个对应的以插件对象id作为唯一标识创建的有名管道。每个插件对象运行流程和上述单个插件对象的运行流程一致,在此并不一一展开阐述。
本申请适用于所有插件,包括ocx,atl,npapi插件以及web socket方案。同时,由于是在插件对象和目标业务之间加上一层业务进程通信模块,只需要加一层进程交互层(业务进程通信模块),则可以实现,无需重新开发业务,影响较小。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中还提供了一种基于浏览器插件的隔离交互装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本实施例的基于浏览器插件的隔离交互装置的结构框图,如图5所示,该装置包括响应模块510、创建绑定模块520以及创建执行模块530;
响应模块510,用于响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
创建绑定模块520,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
创建执行模块530,用于创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
通过上述装置,解决了相关技术中存在多个标签页的插件在同一个进程中,由于进程资源限制,会导致进程崩溃的问题,实现了一个标签页创建一个对应的插件对象,并采用一个插件对象使用一个业务进程,目标业务都在单一进程内部完成,从而提高进程资源的使用限制,有效降低进程崩溃的发生概率。
在其中的一些实施例中,在图5的基础上,本申请实施例提供的基于浏览器插件的隔离交互装置还包括写入模块;
写入模块,用于在创建与所述插件对象对应的有名管道之后,将所述调用方法通过所述插件对象写入所述有名管道。
在其中的一些实施例中,在图5的基础上,本申请实施例提供的基于浏览器插件的隔离交互装置还包括反馈模块;
反馈模块,用于在执行所述插件中与所述调用方法对应的目标业务之后,读取所述有名管道的管道数据,将所述管道数据进行解析,得到事件数据,将所述事件数据发送给浏览器。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器通信连接,该输入输出设备和上述处理器通信连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
S2,创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
S3,创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
此外,结合上述实施例中提供的浏览器插件的隔离交互方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种浏览器插件的隔离交互方法。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种浏览器插件的隔离交互方法,其特征在于,包括:
响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
2.根据权利要求1所述的浏览器插件的隔离交互方法,其特征在于,所述创建与所述插件对应的具有相对隔离的内存空间的插件对象,包括:
利用object技术创建与所述插件对应的具有相对隔离的内存空间的插件对象。
3.根据权利要求1所述的浏览器插件的隔离交互方法,其特征在于,所述创建与所述插件对象对应的传输通道,包括:
创建与所述插件对象对应的有名管道。
4.根据权利要求3所述的浏览器插件的隔离交互方法,其特征在于,还包括:
在创建与所述插件对象对应的有名管道之后,将所述调用方法通过所述插件对象写入所述有名管道。
5.根据权利要求3所述的浏览器插件的隔离交互方法,其特征在于,还包括:
在执行所述插件中与所述调用方法对应的目标业务之后,读取所述有名管道的管道数据,将所述管道数据进行解析,得到事件数据,将所述事件数据发送给浏览器。
6.一种浏览器插件的隔离交互系统,其特征在于,包括浏览器、插件以及业务进程通信模块;
所述浏览器,用于响应于开启的标签页,加载相应的插件,并生成相应的调用方法;
所述插件,与所述浏览器通信连接,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
所述业务进程通信模块,与所述插件通信连接;用于创建与所述插件对象对应的传输通道;并基于所述传输通道,根据所述插件对象开启对应的业务进程,以在所述业务进程中执行所述插件中与所述调用方法对应的目标业务。
7.根据权利要求6所述的浏览器插件的隔离交互系统,其特征在于,所述插件包括插件框架层和插件业务层;
所述插件框架层,与所述浏览器和所述业务进程通信模块进行数据交互,用于创建与所述插件对应的具有相对隔离的内存空间的插件对象,并将所述插件对象的身份信息作为唯一标识与对应的业务进程进行绑定;
所述插件业务层,与所述业务进程通信模块进行数据交互,用于执行与所述调用方法对应的目标业务。
8.根据权利要求6所述的浏览器插件的隔离交互系统,其特征在于,还包括业务库;
所述业务库,分别与所述业务进程通信模块和所述插件通信连接,用于存储目标业务。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的浏览器插件的隔离交互方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的浏览器插件的隔离交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110927532.XA CN113741997A (zh) | 2021-08-11 | 2021-08-11 | 浏览器插件的隔离交互方法、系统、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110927532.XA CN113741997A (zh) | 2021-08-11 | 2021-08-11 | 浏览器插件的隔离交互方法、系统、电子装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113741997A true CN113741997A (zh) | 2021-12-03 |
Family
ID=78730975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110927532.XA Pending CN113741997A (zh) | 2021-08-11 | 2021-08-11 | 浏览器插件的隔离交互方法、系统、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741997A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288098A1 (en) * | 2008-05-13 | 2009-11-19 | Google Inc. | Separate Plug-In Processes In Browsers and Applications Thereof |
CN102622439A (zh) * | 2012-03-06 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种在浏览器中展示文档的方法及装置 |
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN103019735A (zh) * | 2012-12-25 | 2013-04-03 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
CN103064709A (zh) * | 2012-12-25 | 2013-04-24 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
CN113204385A (zh) * | 2021-05-17 | 2021-08-03 | 南京统信软件技术有限公司 | 一种插件加载方法、装置、计算设备及可读存储介质 |
-
2021
- 2021-08-11 CN CN202110927532.XA patent/CN113741997A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288098A1 (en) * | 2008-05-13 | 2009-11-19 | Google Inc. | Separate Plug-In Processes In Browsers and Applications Thereof |
CN102622439A (zh) * | 2012-03-06 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种在浏览器中展示文档的方法及装置 |
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN103019735A (zh) * | 2012-12-25 | 2013-04-03 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
CN103064709A (zh) * | 2012-12-25 | 2013-04-24 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
CN113204385A (zh) * | 2021-05-17 | 2021-08-03 | 南京统信软件技术有限公司 | 一种插件加载方法、装置、计算设备及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
REIS C等: "Site isolation: process separation for web sites within the browser", USENIX SECURITY SYMPOSIUM.2019, 31 August 2019 (2019-08-31), pages 1661 * |
云吉;杨铸;姚严峰;: "视频监控系统跨浏览器插件的研究与实现", 电子设计工程, no. 16, 20 August 2015 (2015-08-20), pages 71 - 73 * |
肖伟民;邓浩江;胡琳琳;郭志川;: "基于Chromium的渲染进程轻量化隔离方法", 计算机工程, no. 08, 15 August 2017 (2017-08-15), pages 101 - 106 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417766B (zh) | 一种协议解析的方法和装置 | |
US20140258891A1 (en) | Electronic device, storage medium and method for processing information | |
US11909812B2 (en) | Application control method and apparatus, electronic device, and storage medium | |
CN102081633A (zh) | 一种JavaScript文件的管理方法、装置和系统 | |
CN104965848A (zh) | 一种前端资源加载方法及装置 | |
CN105897888B (zh) | 一种客户端连接方法及系统 | |
US20110264819A1 (en) | Binary data serialization system using machine dependant data alignement | |
CN112954717B (zh) | 基于h5页面的家电配网方法和装置 | |
CN104834649B (zh) | 能够实现多设备协同的智能设备与多设备协同工作方法 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN109213533A (zh) | 一种广告sdk动态加载方法、装置及终端 | |
CN111934940A (zh) | 配置化的服务请求方法及装置、电子设备和存储介质 | |
CN111367690A (zh) | 一种支持组合api服务调用方法及装置 | |
US9154973B1 (en) | Testing mobile phone maintenance channel | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN106357591A (zh) | 跨应用数据访问方法及装置 | |
CN111475230B (zh) | 应用的功能配置方法、装置和电子设备 | |
CN103917951B (zh) | 应用调用的方法及操作系统、浏览器 | |
CN102158542A (zh) | 一种cbae平台 | |
CN113741997A (zh) | 浏览器插件的隔离交互方法、系统、电子装置和存储介质 | |
CN109005163B (zh) | 一种http动态请求服务调用方法 | |
CN116150513A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114244758A (zh) | 安卓平台的网络诊断方法、存储介质、电子设备及系统 | |
CN113377563A (zh) | 一种网页监控方法及计算设备 | |
CN112148501A (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 |