CN106406961B - 一种基于浏览器加载、提供应用程序的方法、装置 - Google Patents
一种基于浏览器加载、提供应用程序的方法、装置 Download PDFInfo
- Publication number
- CN106406961B CN106406961B CN201610857602.8A CN201610857602A CN106406961B CN 106406961 B CN106406961 B CN 106406961B CN 201610857602 A CN201610857602 A CN 201610857602A CN 106406961 B CN106406961 B CN 106406961B
- Authority
- CN
- China
- Prior art keywords
- plug
- application program
- domain name
- configuration information
- gkey
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000009434 installation Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008901 benefit Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000002699 waste material Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于浏览器加载应用程序的方法,包括:将域名请求发送至服务器或者云端,并接收响应信息,所述响应信息包括与所述域名相对应的配置信息,所述域名与一应用程序相对应,基于所述响应信息在系统内查找所述插件,该插件设置有参数,所述参数是可变的;根据所述配置信息对所述参数进行赋值,并加载赋值后的插件;利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。本申请能够在几乎所有的浏览器(只要是基于IE内核开发的浏览器,比如IE6‑IE11,Webkit等)加载以预定接口编写的应用程序,兼容性很强。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于浏览器加载、提供应用程序的方法和装置。
背景技术
随着科学技术的不断发展,计算机已经广泛普及,给人们的工作和生活带来了诸多便利。随着计算机游戏的日益风靡,游戏的种类越来越多,数量越来越大,人们需要统一的提供游戏的平台。现在有一些客户端或者搜索引擎能够充当这样的平台,但是仅限于提供计算机游戏安装包,用户需要下载计算机游戏安装包至计算机并进行安装才能使用。由于网页游戏不需要下载、安装,随时登录网址即可进行,且由于网页游戏的数据都存储在服务器或者云端,利用账号在任何终端设备上都可进行,因而近几年网页游戏日渐盛行。网页游戏需要浏览器支持,目前网页游戏的提供商需要自己开发插件,以使得浏览器能够调用到网页游戏并加载。在终端,插件运行,启动ES,在具有权限限制的系统下当用户主动利用高等权限接入浏览器或者在没有权限限制的系统下接入浏览器时,插件能够操作终端内硬盘上的所有数据,导致浏览器爆出安全漏洞。目前迫切需要一种插件,能够调用加载众多网页游戏,又不使浏览器爆出安全漏洞。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于浏览器加载应用程序的方法及电子设备。
本发明的一个方面,提供了一种基于浏览器加载应用程序的方法,包括:
将域名请求发送至服务器或者云端,并接收响应信息,所述响应信息包括与所述域名相对应的配置信息,所述域名与一应用程序相对应;
基于所述响应信息在系统内查找所述插件,该插件设置有参数,所述参数是可变的;
根据所述配置信息对所述参数进行赋值,并加载赋值后的插件;
利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。
可选的,所述参数包括Gkey参数,根据所述配置信息对所述参数进行赋值,包括:将计算机程序的唯一标识Gkey值赋予查找到的所述插件中的所述Gkey参数。
可选的,所述插件和所述应用程序基于相同的接口开发。
可选的,如果没有查找到该插件,则从服务器获取插件安装包;
利用所获取的插件安装包进行注册。
可选的,基于所述响应信息在系统内查找所述插件,具体包括:
基于响应信息判断是否需要加载插件,如果需要则在系统内查找所述插件否则直接加载应用程序数据。
可选的,所述应用程序为计算机游戏,
本发明还提供一种提供应用程序数据的方法,该方法包括:
预先设置白名单,所述白名单包括域名列表;
在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息。
接收域名请求,根据所述域名请求获取所请求的应用程序的配置信息,将所述配置信息发送给终端;
接收来自终端的调用请求,将应用程序数据发送给终端,以在终端浏览器上运行所述应用程序。
可选的,所述步骤:接收域名请求,根据所述域名请求获取所请求的应用程序的配置信息,具体包括:
解析所述域名请求,并确定所请求的域名是否属于白名单;
如果属于,则根据所述域名获取所请求的应用程序的配置信息,否则向客户端返回请求失败的信息。
可选的,所述应用程序数据存储在浏览器服务器、或者第三方服务器。
本发明提供一种基于浏览器加载应用程序的终端,其包括:
输入单元,用于接收用户输入的域名;
发送接收单元,用于将域名发送至服务器或者云端,并接收响应信息,所述响应信息包括与所述域名相对应的配置信息,所述域名与一应用程序相对应;
插件查找单元,基于所述响应信息在系统内查找所述插件,该插件配置有参数,所述参数是可变的;
插件加载单元,用于根据所述配置信息对所述参数进行赋值,并加载赋值后的插件;
数据调用单元,利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。
可选的,所述参数包括Gkey参数,所述插件加载单元包括赋值子单元,用于将计算机程序的唯一标识Gkey值赋予查找到的所述插件中的所述Gkey参数。
可选的,所述终端还包括安装包获取单元,用于在没有查找到该插件时,从服务器获取插件安装包。
可选的,插件加载单元具体包括:
判断子单元,用于基于响应信息判断是否需要加载插件;
查找子单元,用于在需要加载插件的情况下在系统内查找所述插件;
应用程序加载单元,用于在不需要加载插件的情况下直接加载应用程序数据。
可选的,所述应用程序为计算机游戏,
本发明还提供一种提供应用程序数据的装置,该装置包括:
预置单元,用于预先设置白名单,所述白名单包括域名列表;
配置单元,用于在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名、Gkey值对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息。
第二发送接收单元,用于接收域名请求;
配置信息获取单元,用于根据所述域名请求获取所请求的应用程序的配置信息;
所述第二发送接收单元将所述配置信息发送给终端,接收来自终端的调用请求,将应用程序数据发送给终端,以在终端浏览器上运行所述应用程序。
可选的,所述配置信息获取单元具体包括:
解析所述域名请求,并确定所请求的域名是否属于白名单;
如果属于,则根据所述域名获取所请求的应用程序的配置信息,否则指示所述第二发送接收单元向客户端返回请求失败的信息。
可选的,所述应用程序数据存储在浏览器服务器、或者第三方服务器。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请能够在几乎所有的浏览器(只要是基于IE内核开发的浏览器,比如IE6-IE11,Webkit等)加载以预定接口编写的应用程序,兼容性很强。
本申请能够通过区分利用用户输入域名加载应用程序的方式,以及利用内嵌、网页下载应用程序的方式,能够将具有可靠签名的应用程序与其他不好确定安全性的第三方签名的应用程序隔离加载运行,能够一方面保证浏览器的安全,又能够使得浏览器可加载广泛数字签名的应用程序。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的基于浏览器加载应用程序的方法的流程图;
图2示出了本发明提出的一种提供应用程序的终端的结构框图;
图3示出了本发明提出的一种提供应用程序数据的方法的流程图;
图4示出了本发明提出的一种提供应用程序数据的装置的结构框图;
图5示出了一种实施方式中配置信息获取单元的具体结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的一个方面,提供了一种基于浏览器加载应用程序的方法,如图1所示,包括:
10.将域名请求发送至服务器或者云端,并接收响应信息,所述响应信息包括与所述域名相对应的配置信息,所述域名与一应用程序相对应;
20.基于所述响应信息在系统内查找所述插件,该插件设置有参数,所述参数是可变的;
30.根据所述配置信息对所述参数进行赋值,并加载赋值后的插件;
40.利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。
插件是一种电脑程序,遵循一定规范的应用程序接口编写出来,通过和网页浏览器的互动来替所述网页浏览器增加特定功能,即网页浏览器能够调用应用程序而在网页上执行。所述插件是基于微软插件机制编写,以兼容所有的浏览器,在编写所述插件时,为该插件配置Gkey参数,以用于被赋值将来在浏览器上执行的应用程序的唯一标识码。安装该插件后,WEB浏览器能够根据注册该插件时生成的唯一标识来直接调用该插件。现有技术中,一般是将插件打入应用程序的安装包内下发,计算机等硬件设备通过运行所述安装包完成应用程序和插件的安装,因此以后每次启动应用程序的时候,自动从本地加载所有已安装的插件,这也就是为什么现在很多浏览器启动较慢的原因之一。本申请所提出的插件独立于浏览器,通过利用对用户输入域名的解析结果,确定是否调用该插件,在确定需要调用该插件的情况下,再利用该插件在IE内核注册时产生的唯一标识进行该插件的调用和加载,因此该插件并不会拖慢浏览器的启动速度,也不会额外消耗处理资源。在后台管理时,可赋予每个应用程序一个唯一标识码,统称为Gkey值。由于该插件的设计是为了在网页浏览器调用并运行应用程序,本申请提出为该插件配置Gkey参数,利用该插件调用不同的应用程序序时,即为该Gkey参数赋予所调用的应用程序的Gkey值以及相应的配置信息,从而只要编程技术上插件和应用程序的接口一致,该插件可以加载任何的应用程序。
浏览器的后台或者云端维护有和浏览器能够运行的应用程序的相关的域名列表和白名单,所述域名列表存储为每个应用程序分配的域名;所述白名单存储有为每个应用程序分配的Gkey值。优选的,浏览器的后台或者云端还维护有针对每个应用程序的配置文件,该配置文件可以是dll文件,也可以是exe文件,以指示应用程序原始数据、签名数据的获取路径以及加解密信息。作为一种具体实施方式,配置文件与域名列表、白名单通过Gkey值关联。通过上述后台或者云端的维护,达成插件与浏览器服务器的互动。
当用户在终端输入域名时,浏览器接收该域名请求,并解析域名请求,解析域名的过程可以在终端完成,也可以在浏览器的服务器侧完成,如果在终端完成则需要将域名列表和白名单存储在本地,在浏览器进行升级时,自动更新所述域名列表和白名单,这种情况下,客户端浏览器的升级次数可能会多些,如果在浏览器的服务器侧完成,则只需要服务器侧或者云端维护域名列表和白名单,客户端的浏览器不会因为域名列表和白名单的更新需要升级。比如用户输入域名:http:wan.360.sgkey=ly/skey=1000,首先判断所述输入的域名是否属于域名列表,如果属于,则进一步解析域名,根据gkey标识确定Gkey值ly,Gkey值是应用程序的唯一标识,尤其目前在计算机游戏,包括客户端游戏和网页游戏方面,每个游戏都会被赋予唯一标识Gkey值,一般是游戏名称首字母缩写。根据所述Gkey值查询白名单,确定是否属于白名单,由此确定该应用程序是浏览器可推送的产品。即将该Gkey值发送至所述插件,以赋值所述其Gkey参数,赋值的具体过程为:根据所述插件在IE内核注册时生成的唯一标识在系统中查找所述插件,将所述Gkey值赋予查找到的所述插件中的所述Gkey参数。在将Gkey值赋予查找到的所述插件中的所述Gkey参数后,调用该插件。通过浏览器提供的API应用程序编程接口访问该插件。插件对应有压缩在一起的插件属性文件,包括一个Manifest文件,一个或多个超文本标记语言HTML文件,可选的一个或多个javascript文件,可选的任何需要的其他文件(例如图片)。其中,Manifest文件一般为json格式,其中包含了插件的基本信息,例如最重要的文件列表,应用(扩展)所需要的权限等。在开发插件时,已将这些文件都放到同一个目录下,发布插件时,这个目录下的文件全部打包到一个.crx的压缩文件中,浏览器内核在渲染浏览器主框架时,可以在插件属性文件中提取针对插件设置的加载位置,在该加载位置显示应用程序的界面。为了使得应用程序能够通过插件一加载就能够运行,在技术上,应用程序需要利用与所述插件一致的编程接口。通过接口,插件直接调用应用程序数据。应用程序数据可存储在第三方服务器(应用程序开发商处服务器)、浏览器服务器或者应用程序专用服务器、云端,在此,对应用程序数据的存储位置不做任何限定。
在浏览器接入一应用程序前,需要进行后台配置,所述后台配置包括:赋予应用程序域名和Gkey值,并对白名单进行更新;配置应用程序数据的获取路径,应用程序数据至少包括应用程序的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述利用DLL(DynamicLinkLibrary)文件或者EXE文件以运行所述应用程序。
本申请还提出一种提供应用程序数据的方法,如图3所示,该方法包括:
S10.预先设置白名单,所述白名单包括域名列表;
S20.在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息。
S30.接收域名请求,根据所述域名请求获取所请求的应用程序的配置信息,将所述配置信息发送给终端;
S40.接收来自终端的调用请求,将应用程序数据发送给终端,以在终端浏览器上运行所述应用程序。
通过在服务器维护应用程序(尤其是计算机游戏)的配置信息,包括该应用程序的标识码、域名、应用程序数据存储路径等,能够在用户通过浏览器网页请求加载应用程序时,将配置信息发送给用户终端,从而指示用户终端通过系统应用利用该配置信息初始化一设置有可变参数的插件,从而使该插件适应于该应用程序,达到利用该插件调用该应用程序进程数据从而在网页上运行该应用程序的目的。
作为一种具体实施方式,在接收域名请求后,解析所述域名请求,并确定所请求的域名是否属于白名单,如果属于,则根据所述域名获取所请求的应用程序的配置信息,否则向客户端返回请求失败的信息。通过该技术手段,能够保障用户终端的浏览器插件只加载浏览器服务器授权的应用程序,同时避免服务器解析无关域名的情形,从而避免服务器处理资源的浪费。
所述应用程序数据可存储在浏览器服务器,也可存储在第三方服务器。在浏览器终端通过插件调用应用程序数据时,由于是根据所赋予的参数进行调用,因此只要服务器维护好应用程序具体数据,比如及时存储升级数据,并更新配置信息,因为调用机制是自动适配的,在加载插件后,由于已经与应用程序建立对应关系,即可对所述应用程序进行升级检测;如果需要升级,则根据后台配置信息调用升级数据,以获取应用程序的最新数据,运行最新版本的应用程序。本申请不需要用户进行任何有关升级的操作,就可保证用户运行的应用程序是最新版本的。这比现有的任何应用程序供应商提供的网页版应用程序、客户端应用程序都具有极大优势。
作为一种具体实施方式,用户需要玩网页游戏,首先登录浏览器,浏览器打开后,用户需要下载插件,并安装所述插件。安装所述插件后,用户输入域名请求http:wan.360.sgkey=ly1/skey=1000,浏览器首先接收该域名请求,并将该域名请求发送至服务器,服务器将该域名与预先存储的域名列表进行匹配,确定该域名是否属于域名列表(域名列表中存储有浏览器运营商为所有需要通过网页展示的应用程序已经分配的域名),如果是,则服务器会继续对该域名进行解析,否则服务器不对域名进行任何处理,仅返回终端域名无效的提示信息。根据域名编制规则解析所述域名,确定所请求的游戏为ly1(Gkey值),根据Gkey值ly1查询与其对应的后台配置信息,并将该配置信息发送至终端浏览器,终端浏览器基于所述配置信息初始化插件,然后加载所述插件,插件即可根据所述配置信息直接调用应用程序数据以运行ly1游戏。在用户下一次想玩ly2游戏时,用户不需要再下载插件,而是直接输入域名http:wan.360.sgkey=ly2/skey=1000;那么浏览器直接接收该域名请求,并将该域名请求发送至服务器,服务器将该域名与预先存储的域名列表进行匹配,确定该域名是否属于域名列表(域名列表中存储有浏览器运营商为所有需要通过网页展示的应用程序已经分配的域名),如果是,则服务器会继续对该域名进行解析,否则服务器不对域名进行任何处理,仅返回终端域名无效的提示信息。根据域名编制规则解析所述域名,确定所请求的游戏为ly2(Gkey值),根据Gkey值ly2查询与其对应的后台配置信息,并将该配置信息发送至终端浏览器,终端浏览器基于所述配置信息初始化插件,然后加载所述插件,插件即可根据所述配置信息直接调用应用程序数据以运行ly2游戏。用户只需要安装一次插件,浏览器所有的网页游戏都可进行。由于该插件基于IE内核,其几乎可兼容国内所有的浏览器,如IE浏览器IE6-IE11以及Webkit浏览器均兼容使用。而且,只要游戏程序的开发与插件开发的编程接口一致,浏览器只需要安装一次插件,即可运行所有的网页游戏。相比较目前,每运行一款网页游戏,几乎都要下载一次插件并安装才能运行网页游戏,本申请在安装一次插件后,只要输入域名即可运行各种不同网页游戏,简化了用户操作以及大大缩短网页游戏启动加载的时间。
实际上在现有技术中,由于浏览器本身对系统权限的限制,比如在winsa或者97下因为权限的设置,一般基于中等权限接入浏览器,一些需要获取系统高级权限的应用程序即使在浏览器安装插件也根本无法运行。而本申请的插件是安全的,其签名能够得到浏览器的认可,因此一些需要获取系统高级权限的应用程序也能够通过该插件在浏览器得以运行。在另一方面,由于本申请中插件只是调用应用程序,而不对应用程序的签名文件进行修改,在应用程序通过插件运行时可以获取其签名,从而区分应用程序的签名以及插件的签名,方便于做到网络身份的确认,进一步便于明确网络安全责任。
由于插件并不需要改变应用程序数据的数字签名,本申请通过该插件能够将可靠签名的应用程序嵌入在浏览器的预定位置,比如嵌入在标题栏或者浮窗上,而将可靠性不确定的数字签名仅通过域名请求的方式通过插件加载。
本发明还提供一种基于浏览器加载应用程序的装置,该装置可体现为用户终端,如手机,平板电脑,PC机等,如图2所示,包括:
输入单元10,用于接收用户输入的域名;
发送接收单元20,用于将域名发送至服务器或者云端,并接收响应信息,所述响应信息包括与所述域名相对应的配置信息,所述域名与一应用程序相对应;
插件查找单元30,基于所述响应信息在系统内查找所述插件,该插件配置有参数,所述参数是可变的,用于适应不同的应用成序。
插件加载单元40,用于根据所述配置信息对所述参数进行赋值,并加载赋值后的插件,根据将要加载的应用程序而适应性地被赋值,比如加载美人鱼游戏,这个游戏的唯一标识G-key值为ly,那么将ly赋值给插件的一可变参数,将表达这个游戏具体运行数据的存储地址的数据获取路径赋值给一可变参数。从而使得该插件能够适应几乎所有的应用程序,包括计算机游戏,因为该插件具有极高的容纳力,因此作为浏览器插件,即可在浏览器上以网页形式推送应用程序,很大程度上提高了浏览器作为平台的功能。
数据调用单元50,利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。该插件与应用程序采用相同的接口编写,因此插件可调取到应用程序的任何进程数据,从而能够使得应用程序实时地运行在网页上。
输入单元10接收用户在输入框输入的域名,或者点击图标进行的输入;通过请求生成单元60生成用户请求,然后利用所述发送接收单元20将所生成的用户请求发送至浏览器服务器。所述请求生成单元60可通过一般浏览器应用程序实现,而数据调用单元在调用应用程序运行数据时,是通过在浏览器应用程序基础上执行本申请所提出的插件完成。本申请利用插件机制能够加载几乎所有的应用程序,尤其现在广为欢迎的计算机游戏,而且由于插件能够通过被配置能够适应各种不同的应用程序,插件不需要重复安装,仅需安装一次,就可运行几乎所有的应用程序(包括网页游戏,客户端游戏),大大改善了用户频繁安装插件的情形,而且大大节省了处理资源,提供浏览器反应速度。
所述终端还包括安装包获取单元,用于在没有查找到该插件时,从服务器获取插件安装包,从而顺利保证插件能够成功注册到系统中。
所述插件加载单元具体可包括:
判断子单元,用于基于响应信息判断是否需要加载插件;
查找子单元,用于在需要加载插件的情况下在系统内查找所述插件;
应用程序加载单元,用于在不需要加载插件的情况下直接加载应用程序数据。
而且由于根据所需要运行的应用程序的配置信息来控制启动插件,而不是开机启动,也不是浏览器一启动就自动启动,从而该插件并不会额外占用处理资源,不会拖累浏览器的速度,尤其在浏览器不需要加载插件的情况下直接加载应用程序数据的情况下,插件不会为处理器增加丝毫负担。
本发明还提供一种基于浏览器加载应用程序的服务器,如图4所示,包括预置单元100,用于预先设置白名单,所述白名单包括域名列表;
配置单元200,用于在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名、Gkey值对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息。
第二发送接收单元300,用于接收域名请求;
配置信息获取单元400,用于根据所述域名请求获取所请求的应用程序的配置信息;
所述第二发送接收单元用于将所述配置信息发送给终端,接收来自终端的调用请求,将应用程序数据发送给终端,以在终端浏览器上运行所述应用程序。
如图4、5所示,所述配置信息获取单元400具体包括:
域名判断解析子单元401,用于判断用户输入的域名是否属于域名列表,如果是,则解析域名列表,生成Gkey值;
配置信息获取子单元402,用于判断所述Gkey值是否属于白名单中的Gkey值,如果是,则指示运行所述插件以在浏览器运行所述应用程序。该服务器还可包括后台配置信息存储单元500,用于存储所述白名单以及应用程序配置信息,所述配置信息至少要提供应用程序数据可执行文件的获取路径。可利用应用程序数据存储单元600用来存储具体的应用程序进程数据,供插件调用。
浏览器的后台或者云端维护有和浏览器能够运行的应用程序的相关的域名列表(白名单),所述域名列表存储有为每个应用程序分配的域名。优选的,浏览器的后台或者云端还维护有针对每个应用程序的配置文件,该配置文件可以是dll文件,也可以是exe文件,以指示应用程序原始数据、签名数据的获取路径以及加解密信息,至少存储有为每个应用程序分配的Gkey值。作为一种具体实施方式,配置文件与白名单通过Gkey值关联。通过上述服务器后台或者云端对配置数据和白名单的维护,达成插件与浏览器服务器能够进行互动的数据基础。所述返回的信息包括应用程序数据的获取路径,所述调用单元根据所述获取路径调用应用程序数据。
在浏览器接入一应用程序前,需要进行后台配置,所述后台配置包括:赋予应用程序域名和Gkey值,并对域名列表、白名单进行更新;配置应用程序数据的获取路径,应用程序数据至少包括应用程序的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述利用DLL(DynamicLink Library)文件或者EXE文件以运行所述应用程序。在应用程序进行了升级时,后台会及时对后台配置数据进行更新;所述加载单元具体还可包括升级检测单元,用于在插件加载后即可对所述应用程序进行升级检测;所述调用单元在需要升级的情况下通过插件直接调用升级数据。
优选的,所述配置单元200,具体包括:
域名配置单元,用于赋予应用程序域名,并更新域名列表;
Gkey值配置单元,用于赋予应用程序Gkey值;
路径配置单元,用于配置应用程序数据的获取路径。
应用程序数据至少包括应用程序的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述利用DLL(Dynamic Link Library)文件或者EXE文件以运行所述应用程序。
可选地,该服务器还包括:嵌入单元,用于在浏览器的预定位置嵌入具有预定签名的应用程序,这主要为了向用户推荐具有可靠数字签名的游戏,由于插件并不需要改变应用程序数据的数字签名,本申请通过该插件能够将可靠签名的应用程序嵌入在浏览器的预定位置,比如嵌入在标题栏或者浮窗上,而将可靠性不确定或者需要体现其本身数字签名的应用程序仅通过域名请求的方式通过插件加载。
作为本申请在计算机游戏上的应用,所述应用程序具体可为计算机游戏。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请能够在几乎所有的浏览器(只要是基于IE内核开发的浏览器,比如IE6-IE11,Webkit等)加载以预定接口编写的应用程序,兼容性很强。
本申请能够通过区分利用用户输入域名加载应用程序的方式,以及利用内嵌、网页下载应用程序的方式,能够将具有可靠签名的应用程序与其他不好确定安全性的第三方签名的应用程序隔离加载运行,能够一方面保证浏览器的安全,又能够使得浏览器可加载广泛数字签名的应用程序。
实际上本发明还提供了利用多种方式以区分地提供应用程序的方法和浏览器,第一种方式是通过为应用程序分配域名从而以响应用户域名请求的方式加载应用程序,这种方式适用于数字签名不十分可靠的应用程序,比如第三方提供的应用程序,尤其是网页游戏、客户端游戏;第二种方式是以应用程序直接嵌入浏览器的预定位置的方式,通过用户点击浏览器网页预定位置直接加载应用程序,第二种方式适应于具有浏览器信赖的数字签名的应用程序,从而本申请还提出了通过浏览器以不同方式向提供不同安全等级的应用程序。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (17)
1.一种基于浏览器加载应用程序的方法,其特征在于,包括:
将域名请求发送至服务器或者云端,并接收响应信息,所述响应信息包括与域名相对应的配置信息,所述域名与一应用程序相对应;
基于所述响应信息根据插件在IE内核注册时生成的唯一标识在系统内查找一插件,该插件设置有参数,所述参数是可变的,利用所述插件调用不同的应用程序时,用于被赋值将来在浏览器上执行的应用程序的唯一标识Gkey值;
根据所述配置信息对所述参数进行赋值,将所述唯一标识Gkey值赋予查找到的所述插件中的所述参数,并加载赋值后的插件;
利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。
2.根据权利要求1所述的方法,其特征还在于,所述参数包括Gkey参数,根据所述配置信息对所述参数进行赋值,包括:将计算机程序的唯一标识Gkey值赋予查找到的所述插件中的所述Gkey参数。
3.根据权利要求1或2所述的方法,其特征还在于,所述插件和所述应用程序基于相同的接口开发。
4.根据权利要求1或2所述的方法,其特征还在于,如果没有查找到该插件,则从服务器获取插件安装包;
利用所获取的插件安装包进行注册。
5.根据权利要求1或2所述的方法,其特征还在于,基于所述响应信息在系统内查找所述插件,具体包括:
基于响应信息判断是否需要加载插件,如果需要则在系统内查找所述插件否则直接加载应用程序数据。
6.根据权利要求1或2所述的方法,其特征还在于,所述应用程序为计算机游戏。
7.一种提供应用程序数据的方法,该方法包括:
预先设置白名单,所述白名单包括域名列表;
在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息;
接收域名请求,根据所述域名请求获取所请求的应用程序的配置信息,将所述配置信息发送给终端;
接收来自终端的调用请求,将应用程序数据发送给终端,终端基于所述配置信息根据插件在IE内核注册时生成的唯一标识在系统内查找一插件,该插件设置有参数,所述参数是可变的,利用所述插件调用不同的应用程序时,用于被赋值将来在浏览器上执行的应用程序的唯一标识Gkey值;根据所述配置信息对所述参数进行赋值,将所述唯一标识Gkey值赋予查找到的所述插件中的所述参数,并加载赋值后的插件;利用所述插件调用存储在服务器或者云端的应用程序以在终端浏览器上运行所述应用程序。
8.根据权利要求7所述的方法,所述步骤:接收域名请求,根据所述域名请求获取所请求的应用程序的配置信息,具体包括:
解析所述域名请求,并确定所请求的域名是否属于白名单;
如果属于,则根据所述域名获取所请求的应用程序的配置信息,否则向客户端返回请求失败的信息。
9.根据权利要求7所述的方法,所述应用程序数据存储在浏览器服务器、或者第三方服务器。
10.一种基于浏览器加载应用程序的装置,其特征在于,包括:
输入单元,用于接收用户输入的域名;
发送接收单元,用于将域名发送至服务器或者云端,并接收响应信息,所述响应信息包括与域名相对应的配置信息,所述域名与一应用程序相对应;
插件查找单元,基于所述响应信息根据插件在IE内核注册时生成的唯一标识在系统内查找一插件,该插件配置有参数,所述参数是可变的,利用所述插件调用不同的应用程序时,用于被赋值将来在浏览器上执行的应用程序的唯一标识Gkey值;
插件加载单元,用于根据所述配置信息对所述参数进行赋值,将所述唯一标识Gkey值赋予查找到的所述插件中的所述参数,并加载赋值后的插件;
数据调用单元,利用所述插件调用存储在服务器或者云端的应用程序以在网页运行所述应用程序。
11.根据权利要求10所述的装置,其特征还在于,所述参数包括Gkey参数,所述插件加载单元包括赋值子单元,用于将计算机程序的唯一标识Gkey值赋予查找到的所述插件中的所述Gkey参数。
12.根据权利要求10或11所述的装置,所述装置还包括安装包获取单元,用于在没有查找到该插件时,从服务器获取插件安装包。
13.根据权利要求10或11所述的装置,其特征还在于,插件加载单元具体包括:
判断子单元,用于基于响应信息判断是否需要加载插件;
查找子单元,用于在需要加载插件的情况下在系统内查找所述插件;
应用程序加载单元,用于在不需要加载插件的情况下直接加载应用程序数据。
14.根据权利要求10或11所述的装置,其特征还在于,所述应用程序为计算机游戏。
15.一种提供应用程序数据的装置,该装置包括:
预置单元,用于预先设置白名单,所述白名单包括域名列表;
配置单元,用于在接入一款应用程序时,赋予其域名和Gkey值,根据所赋予的域名、Gkey值对所述白名单进行更新,存储应用程序数据的配置信息,所述配置信息包括Gkey值、存储路径信息;
第二发送接收单元,用于接收域名请求;
配置信息获取单元,用于根据所述域名请求获取所请求的应用程序的配置信息;
所述第二发送接收单元将所述配置信息发送给终端,接收来自终端的调用请求,将应用程序数据发送给终端,终端基于所述配置信息根据插件在IE内核注册时生成的唯一标识在系统内查找一插件,该插件设置有参数,所述参数是可变的,利用所述插件调用不同的应用程序时,用于被赋值将来在浏览器上执行的应用程序的唯一标识Gkey值;根据所述配置信息对所述参数进行赋值,将所述唯一标识Gkey值赋予查找到的所述插件中的所述参数,并加载赋值后的插件;利用所述插件调用存储在服务器或者云端的应用程序以在终端浏览器上运行所述应用程序。
16.根据权利要求15所述的装置,所述配置信息获取单元具体包括:
域名判断解析子单元,用于解析所述域名请求,并确定所请求的域名是否属于白名单;
如果属于,则根据所述域名获取所请求的应用程序的配置信息,否则指示所述第二发送接收单元向客户端返回请求失败的信息。
17.根据权利要求15或16所述的装置,所述应用程序数据存储在浏览器服务器、或者第三方服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857602.8A CN106406961B (zh) | 2016-09-27 | 2016-09-27 | 一种基于浏览器加载、提供应用程序的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610857602.8A CN106406961B (zh) | 2016-09-27 | 2016-09-27 | 一种基于浏览器加载、提供应用程序的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406961A CN106406961A (zh) | 2017-02-15 |
CN106406961B true CN106406961B (zh) | 2021-01-15 |
Family
ID=57997683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610857602.8A Active CN106406961B (zh) | 2016-09-27 | 2016-09-27 | 一种基于浏览器加载、提供应用程序的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406961B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239308B (zh) * | 2017-06-05 | 2021-02-26 | 广东西奥物联网科技股份有限公司 | 一种浏览器的调用功能实现方法及系统 |
CN107257372B (zh) * | 2017-06-14 | 2020-04-17 | 广东省电子商务认证有限公司 | 一种支持多种浏览器与本地应用程序进行通信的方法 |
CN107463833A (zh) * | 2017-07-27 | 2017-12-12 | 北京小米移动软件有限公司 | Web应用的校验方法及装置 |
CN107613312B (zh) * | 2017-10-09 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种直播的方法和装置 |
CN108415735B (zh) * | 2018-02-01 | 2022-04-05 | 麒麟软件有限公司 | 一种Web浏览器快速启动方法 |
CN108762823A (zh) * | 2018-04-03 | 2018-11-06 | 四川九阵科技股份有限公司 | 一种医疗信息融合系统及方法 |
CN108804089B (zh) * | 2018-05-03 | 2021-10-08 | 福建天泉教育科技有限公司 | 可拼装模块的应用业务能力插件化方法及其系统 |
CN110569078B (zh) * | 2018-05-18 | 2023-08-08 | 广州腾讯科技有限公司 | 一种网页级程序的预加载方法和装置 |
CN109614562B (zh) * | 2018-11-27 | 2024-05-14 | 平安科技(深圳)有限公司 | 邮件显示方法、装置、计算机设备以及存储介质 |
CN109901881B (zh) * | 2018-11-27 | 2022-07-12 | 创新先进技术有限公司 | 应用程序的插件加载方法、装置、计算机设备及存储介质 |
CN109670279A (zh) * | 2018-11-30 | 2019-04-23 | 成都知道创宇信息技术有限公司 | 一种网站灵活配置网页嵌入权限的方法 |
CN110297671A (zh) * | 2019-05-22 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 客户端插件化实现方法、装置、计算机设备及存储介质 |
CN112637106B (zh) * | 2019-09-24 | 2023-01-31 | 成都鼎桥通信技术有限公司 | 终端访问网站的方法及装置 |
CN110837397A (zh) * | 2019-09-27 | 2020-02-25 | 云深互联(北京)科技有限公司 | 浏览器插件的配置方法、装置和设备 |
CN112800303B (zh) * | 2019-11-13 | 2023-05-05 | 马上消费金融股份有限公司 | 一种浏览器数据的存储、读取方法及相关装置 |
CN112925965A (zh) * | 2019-12-05 | 2021-06-08 | 贵州白山云科技股份有限公司 | 一种识别网站插件的方法、装置、设备及介质 |
CN112099998B (zh) * | 2020-09-24 | 2024-07-30 | 百度在线网络技术(北京)有限公司 | 小程序加载失败的处理方法、装置、电子设备和存储介质 |
CN113204336A (zh) * | 2021-05-21 | 2021-08-03 | 珠海金山网络游戏科技有限公司 | 一种游戏平台创建方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937353A (zh) * | 2010-09-20 | 2011-01-05 | 中兴通讯股份有限公司 | 一种插件部署和加载的方法及装置 |
CN102647398A (zh) * | 2011-02-16 | 2012-08-22 | 腾讯科技(深圳)有限公司 | 基于移动终端实现游戏的方法及装置 |
CN102682014A (zh) * | 2011-03-14 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 在浏览器上实现的开放式插件管理平台及插件管理方法 |
CN102708290A (zh) * | 2012-05-10 | 2012-10-03 | 北京像素软件科技股份有限公司 | 一种实现动态处理游戏行为的方法和系统 |
CN103577229A (zh) * | 2013-10-28 | 2014-02-12 | 北京奇虎科技有限公司 | 一种网页游戏的加载方法及网页浏览器 |
CN105955833A (zh) * | 2016-06-06 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 引擎调用方法和装置 |
-
2016
- 2016-09-27 CN CN201610857602.8A patent/CN106406961B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937353A (zh) * | 2010-09-20 | 2011-01-05 | 中兴通讯股份有限公司 | 一种插件部署和加载的方法及装置 |
CN102647398A (zh) * | 2011-02-16 | 2012-08-22 | 腾讯科技(深圳)有限公司 | 基于移动终端实现游戏的方法及装置 |
CN102682014A (zh) * | 2011-03-14 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 在浏览器上实现的开放式插件管理平台及插件管理方法 |
CN102708290A (zh) * | 2012-05-10 | 2012-10-03 | 北京像素软件科技股份有限公司 | 一种实现动态处理游戏行为的方法和系统 |
CN103577229A (zh) * | 2013-10-28 | 2014-02-12 | 北京奇虎科技有限公司 | 一种网页游戏的加载方法及网页浏览器 |
CN105955833A (zh) * | 2016-06-06 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 引擎调用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106406961A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106406961B (zh) | 一种基于浏览器加载、提供应用程序的方法、装置 | |
CN107203555B (zh) | 页面加载处理方法及装置 | |
JP5459743B2 (ja) | ストリームベースのソフトウェアアプリケーション配信及び起動システム | |
US10795652B2 (en) | Generating native code from intermediate language code for an application | |
CN107302604B (zh) | 基于Kubernetes的PaaS平台域名配置方法及装置和电子设备 | |
WO2017050094A1 (zh) | 加载应用程序的方法及装置 | |
TWI671677B (zh) | 交互處理方法及裝置 | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US9075637B1 (en) | Installer-free applications using native code modules and persistent local storage | |
CN104317599B (zh) | 检测安装包是否被二次打包的方法和装置 | |
KR101557211B1 (ko) | 소프트웨어 애플리케이션 전달 및 개시 시스템 | |
US9858094B2 (en) | Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention | |
CN110780930B (zh) | 启动Android系统的方法、装置、电子设备及存储介质 | |
CN110231941B (zh) | 用于提供随需应变的移动应用程序的系统和方法 | |
KR20180038482A (ko) | 스마트 카드 판독/기입 방법 및 디바이스 | |
Adetunji et al. | Dawning of Progressive Web Applications (PWA): Edging Out the Pitfalls of Traditional Mobile Development | |
JPWO2021118962A5 (zh) | ||
CN104036019A (zh) | 网页链接的开启方法及装置 | |
WO2014082491A1 (zh) | 一种进行网上银行登录的方法和浏览器 | |
CN103500114A (zh) | 一种应用程序的安装方法及装置 | |
CN110045998B (zh) | 加载动态库的方法及装置 | |
KR101992698B1 (ko) | 치팅 어플리케이션 식별 방법 및 시스템 | |
CN112099802B (zh) | 应用程序的组件识别方法及装置 | |
CN112380469A (zh) | 一种页面显示方法、装置、系统、电子设备及存储介质 | |
CN106445530B (zh) | 一种将客户端应用软件转换为网页软件的方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220715 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |