一种将客户端应用软件转换为网页软件的方法、装置转让专利

申请号 : CN201610856562.5

文献号 : CN106445530B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 葛山何孟东闫俊林欣然杨涛

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明公开了一种将客户端应用软件转换为网页软件的方法,该方法包括:在IE内核注册插件,并生成插件的唯一标识,该插件具有自定义接口,该插件配置有Gkey参数;所述Gkey参数用于被赋值客户端应用软件的唯一标识码Gkey值;赋予客户端应用软件域名和Gkey值;所述插件基于所述域名和Gkey值调用所述客户端应用软件数据以在网页运行基于所述自定义接口编写的客户端应用软件。本发明实现了只安装一次插件便可加载以预定接口编写的任何客户端应用软件,并且兼容所有的浏览器。同时,本发明还公开了一种将客户端应用软件转换为网页软件的装置。

权利要求 :

1.一种将客户端应用软件转换为网页软件的方法,该方法包括:在IE内核注册插件,并生成插件的唯一标识,该插件具有自定义接口,该插件配置有Gkey参数;所述Gkey参数用于被赋值客户端应用软件的唯一标识码Gkey值;

赋予客户端应用软件域名和Gkey值;

运行所述插件基于所述域名和Gkey值调用基于所述自定义接口编写的客户端应用软件数据以在网页运行所述客户端应用软件。

2.根据权利要求1所述的方法,其特征还在于,该方法还包括判断用户输入的域名是否属于预先配置的域名列表,如果是,则解析域名,生成Gkey值;

判断所述Gkey值是否属于白名单中的Gkey值,如果是,则基于所述Gkey值加载所述插件以在浏览器运行具有所述自定义接口的客户端应用软件。

3.根据权利要求1所述的方法,所述插件基于所述域名和Gkey值调用所述客户端应用软件数据,具体包括:根据唯一标识在系统中查找所述插件,所述插件具有所述唯一标识;

将所述Gkey值赋予查找到的所述插件中的所述Gkey参数;

所述插件基于所述自定义接口调用所述客户端应用软件数据。

4.根据权利要求1-3任一项所述的方法,该方法还包括:在浏览器接入一客户端应用软件前,进行后台配置。

5.根据权利要求4所述的方法,所述后台配置包括:赋予客户端应用软件域名和Gkey值,并对域名列表、白名单进行更新,所述域名列表存储有客户端应用软件的域名,所述白名单存储有客户端应用软件的Gkey值;

配置客户端应用软件数据的获取路径。

6.根据权利要求5所述的方法,所述客户端应用软件数据存储在浏览器服务器、云端或者第三方服务器。

7.根据权利要求4所述的方法,所述插件基于所述自定义接口调用所述客户端应用软件数据,具体包括:接收服务器返回的与客户端应用软件相关的配置信息,所述配置信息包括所述Gkey值和路径信息;

加载所述插件;

根据所述路径信息调取并基于所述自定义接口加载所述客户端应用软件数据。

8.根据权利要求5所述的方法,所述插件基于所述自定义接口调用所述客户端应用软件数据,具体包括:接收服务器返回的与客户端应用软件相关的配置信息,所述配置信息包括所述Gkey值和路径信息;

加载所述插件;

根据所述路径信息调取并基于所述自定义接口加载所述客户端应用软件数据。

9.根据权利要求1-3任一项所述的方法,所述插件基于所述自定义接口调用所述客户端应用软件数据,具体包括:对客户端应用软件进行升级检测;

如果需要升级,则根据返回的配置信息调用升级数据。

10.根据权利要求1-3任一项所述的方法,该方法还包括:在浏览器直接嵌入具有预定签名的客户端应用软件数据。

11.一种基于浏览器加载客户端应用软件的终端,包括:插件注册单元,其用于在IE内核注册插件,并生成插件的唯一标识,该插件配置有自定义接口和Gkey参数;所述Gkey参数用于赋值客户端应用软件的唯一标识;

域名输入单元,用于接收用户输入的域名;

发送接收单元,用于将域名发送至服务器或者云端,并接收返回的信息,所述返回的信息包括Gkey值;

加载单元,用于根据所述Gkey值赋予所述Gkey参数Gkey值并加载所述插件;

调用单元,用于调用并运行所述Gkey值唯一标识的基于所述自定义接口编写的客户端应用软件。

12.根据权利要求11所述的终端,所述加载单元具体包括:查找单元,用于根据所述插件的唯一标识在系统中查找所述插件;

Gkey值赋予单元,用于将所述Gkey值赋予查找到的所述插件中的所述Gkey参数。

13.根据权利要求11所述的终端,所述返回的信息包括客户端应用软件数据的获取路径,所述调用单元根据所述获取路径调用客户端应用软件数据。

14.根据权利要求11-13任一项所述的终端,所述加载单元具体包括升级检测单元,用于对所述客户端应用软件进行升级检测;所述调用单元在需要升级的情况下调用升级数据。

15.一种基于浏览器加载客户端应用软件的服务器,包括赋予客户端应用软件域名和Gkey值,并存储域名列表和保存Gkey值的白名单;

域名判断解析单元,用于判断用户输入的域名是否属于域名列表,如果是,则解析域名列表,生成Gkey值;

加载确定单元,用于判断所述Gkey值是否属于白名单中的Gkey值,如果是,则指示运行插件以在浏览器运行所述客户端应用软件,该插件具有自定义接口,该插件配置有Gkey参数;所述Gkey参数用于被赋值客户端应用软件的唯一标识码Gkey值;所述运行插件以在浏览器运行所述客户端应用软件包括:运行所述插件基于所述域名和Gkey值调用基于所述自定义接口编写的客户端应用软件数据以在网页运行所述客户端应用软件。

16.根据权利要求15所述的服务器,该服务器还包括:配置单元,用于在浏览器接入一客户端应用软件前,进行后台配置。

17.根据权利要求16所述的服务器,所述配置单元包括:域名配置单元,用于赋予客户端应用软件域名,并更新域名列表;

Gkey值配置单元,用于赋予客户端应用软件Gkey值,并对白名单进行更新;

路径配置单元,用于配置客户端应用软件数据的获取路径。

18.根据权利要求15-17任一项所述的服务器,还包括:嵌入单元,用于在浏览器嵌入具有预定签名的客户端应用软件程序。

说明书 :

一种将客户端应用软件转换为网页软件的方法、装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种将客户端应用软件转换为网页软件的方法、装置。

背景技术

[0002] 随着科学技术的不断发展,计算机已经广泛普及,给人们的工作和生活带来了诸多便利。随着计算机游戏的日益风靡,游戏的种类越来越多,数量越来越大。之前大部分的计算机游戏为客户端应用软件,即为客户端游戏,其用户需要下载计算机游戏安装包至计算机并进行安装才能使用。由于网页游戏不需要下载、安装,随时登录网址即可进行,且由于网页游戏的数据都存储在服务器或者云端,利用账号在任何终端设备上都可进行,因而近几年网页游戏日渐盛行。但现有技术中,网页游戏和客户端游戏即使是同一款游戏,由于一个是系统调用,一个是浏览器调用,也需要分别进行编程,作为同一款游戏的网页游戏,即使已经开发出客户端应用软件,再开发网页游戏时,也需要再从头编程实现,费时费力。

发明内容

[0003] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的将客户端应用软件转换为网页软件的方法、装置。
[0004] 本发明的一个方面,提供一种将客户端应用软件转换为网页软件的方法,包括:
[0005] 在IE内核注册插件,并生成插件的唯一标识,该插件具有自定义接口,该插件配置有Gkey参数;所述Gkey参数用于被赋值客户端应用软件的唯一标识码Gkey值;
[0006] 赋予客户端应用软件域名和Gkey值;
[0007] 运行所述插件基于所述域名和Gkey值调用基于所述自定义接口编写的客户端应用软件数据以在网页运行所述客户端应用软件。
[0008] 可选地,该方法还包括
[0009] 判断用户输入的域名是否属于预先配置的域名列表,如果是,则解析域名,生成Gkey值;
[0010] 判断所述Gkey值是否属于白名单中的Gkey值,如果是,则
[0011] 基于所述Gkey值加载所述插件以在浏览器运行具有所述自定义接口的客户端应用软件。
[0012] 可选地,所述插件基于所述域名和Gkey值调用所述客户端应用软件数据,具体包括:
[0013] 根据唯一标识在系统中查找所述插件,所述插件具有所述唯一标识;
[0014] 将所述Gkey值赋予查找到的所述插件中的所述Gkey参数;
[0015] 所述插件基于所述自定义接口调用所述客户端应用软件数据。
[0016] 可选地,该方法还包括:
[0017] 在浏览器接入一客户端应用软件前,进行后台配置。
[0018] 可选地,所述后台配置包括:
[0019] 赋予客户端应用软件域名和Gkey值,并对域名列表、白名单进行更新,所述域名列表存储有所有网页游戏的域名,所述白名单存储有客户端应用软件的Gkey值;
[0020] 配置客户端应用软件数据的获取路径。
[0021] 可选地,所述客户端程序数据存储在浏览器服务器、云端或者第三方服务器。
[0022] 可选地,所述插件基于所述自定义接口调用所述客户端应用软件数据,具体包括:
[0023] 接收服务器返回的与客户端应用软件相关的配置信息,所述配置信息包括所述Gkey值和路径信息;
[0024] 加载所述插件;
[0025] 根据所述路径信息调取并基于所述预定接口加载所述客户端应用软件数据。
[0026] 可选地,所述插件基于所述自定义接口调用所述客户端应用软件数据,具体包括:
[0027] 对所述计算机程序进行升级检测;
[0028] 如果需要升级,则根据返回的配置信息调用升级数据。
[0029] 可选地,该方法还包括:在浏览器直接嵌入具有预定签名的客户端应用软件数据。
[0030] 本发明还提供一种基于浏览器加载客户端应用软件的终端,包括:
[0031] 插件注册单元,其用于在IE内核注册插件,并生成插件的唯一标识,该插件配置有自定义接口和Gkey参数;所述Gkey参数用于赋值客户端应用软件的唯一标识;
[0032] 域名输入单元,用于接收用户输入的域名;
[0033] 发送接收单元,用于将域名发送至服务器或者云端,并接收返回的信息,所述返回的信息包括Gkey值;
[0034] 加载单元,用于根据所述Gkey值赋予所述Gkey参数Gkey值并加载所述插件;
[0035] 调用单元,用于调用并运行所述Gkey值唯一标识的具有所述自定义接口的客户端应用软件。
[0036] 可选地,所述加载单元具体包括:
[0037] 查找单元,用于根据所述唯一标识在系统中查找所述插件;
[0038] Gkey值赋予单元,用于将所述Gkey值赋予查找到的所述插件中的所述Gkey参数。
[0039] 可选地,所述返回的信息包括客户端应用软件数据的获取路径,所述调用单元根据所述获取路径调用客户端应用软件数据。
[0040] 可选地,所述加载单元具体包括升级检测单元,用于对所述客户端应用软件进行升级检测;所述调用单元在需要升级的情况下调用升级数据。
[0041] 本发明还提供一种基于浏览器加载客户端应用软件的服务器,包括[0042] 赋予客户端应用软件域名和Gkey值,并存储域名列表和保存Gkey值的白名单;
[0043] 域名判断解析单元,用于判断用户输入的域名是否属于域名列表,如果是,则解析域名列表,生成Gkey值;
[0044] 加载确定单元,用于判断所述Gkey值是否属于白名单中的Gkey值,如果是,则指示运行所述插件以在浏览器运行所述客户端应用软件。
[0045] 可选地,该服务器还包括:
[0046] 配置单元,用于在浏览器接入一客户端应用软件前,进行后台配置。
[0047] 可选地,所述配置单元包括:
[0048] 域名配置单元,用于赋予客户端应用软件域名,并更新域名列表;
[0049] Gkey值配置单元,用于赋予客户端应用软件Gkey值,并对白名单进行更新;
[0050] 路径配置单元,用于配置客户端应用软件数据的获取路径。
[0051] 可选地,还包括:嵌入单元,用于在浏览器嵌入具有预定签名的客户端应用软件程序。
[0052] 本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
[0053] 本申请能够在几乎所有的浏览器(只要是基于IE内核开发的浏览器,比如IE6-IE11,Webkit等)加载以预定接口编写的客户端应用软件,兼容性很强。
[0054] 本申请能够通过区分利用用户输入域名加载应用程序的方式,以及利用网页内嵌应用软件、通过网页下载客户端应用软件的方式,能够将具有可靠签名的应用程序与其他不好确定安全性的第三方签名的应用程序隔离加载运行,能够一方面保证浏览器的安全,又能够使得浏览器可加载广泛数字签名的应用程序。
[0055] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0056] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0057] 图1示出了根据本发明一个实施例的将客户端应用软件转换为网页软件的方法的流程图;
[0058] 图2示出了在将客户端应用软件转换为网页软件的过程中确实是否调用插件的过程;
[0059] 图3示出了将客户端应用软件转换为网页软件的过程中对插件进行初始化的过程;
[0060] 图4示出了本申请提出的一种客户端的结构框图;
[0061] 图5示出了客户端中加载单元的具体结构图;
[0062] 图6示出了本申请的提出的一种服务器的结构框图;
[0063] 图7示出中设置在服务器端或者云端的客户端应用软件配置单元的具体结构框图。

具体实施方式

[0064] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0065] 本发明的一个方面,提供了一种将客户端应用软件转换为网页软件的方法,如图1所示,包括:
[0066] S1.在IE内核注册插件,并生成插件的唯一标识,该插件具有自定义接口,该插件配置有Gkey参数;所述Gkey参数用于被赋值客户端应用软件的唯一标识码Gkey值;
[0067] S2.赋予客户端应用软件域名和Gkey值;
[0068] S3.运行所述插件基于所述域名和Gkey值调用基于所述自定义接口编写的客户端应用软件数据以在网页运行所述客户端应用软件。
[0069] 插件是一种电脑程序,遵循一定规范的客户端应用软件接口编写出来,通过和网页浏览器的互动来替所述网页浏览器增加特定功能,即网页浏览器能够调用客户端应用软件而在网页上执行。所述插件是基于微软插件机制编写,以兼容所有的浏览器,在编写所述插件时,为该插件配置Gkey参数,以用于被赋值将来在浏览器上执行的客户端应用软件的唯一标识码。安装该插件后,WEB浏览器能够根据注册该插件时生成的唯一标识来直接调用该插件。现有技术中,一般是将插件打入客户端应用软件的安装包内下发,计算机等硬件设备通过运行所述安装包完成客户端应用软件和插件的安装,因此以后每次启动客户端应用软件的时候,自动从本地加载所有已安装的插件,这也就是为什么现在很多浏览器启动较慢的原因之一。所述步骤S3.所述插件基于所述域名和Gkey值调用所述客户端应用软件数据以在网页运行基于所述自定义接口编写的客户端应用软件,如图2所示,具体包括:
[0070] S31.判断用户输入的域名是否属于预先配置的域名列表;
[0071] S32.如果是,则解析域名,生成Gkey值;
[0072] S33.判断所述Gkey值是否属于白名单中的Gkey值;
[0073] S34.如果是,则基于所述Gkey值加载所述插件以在浏览器运行具有所述自定义接口的客户端应用软件。
[0074] 本申请所提出的插件独立于浏览器,通过利用对用户输入域名的解析结果,确定是否调用该插件,在确定需要调用该插件的情况下,再利用该插件在IE内核注册时产生的唯一标识进行该插件的调用和加载,因此该插件并不会拖慢浏览器的启动速度,也不会额外消耗处理资源。在后台管理时,可赋予每个计算机游戏一个唯一识别,统称为Gkey值。由于该插件的设计是为了在网页浏览器调用并运行客户端应用软件,本申请提出为该插件配置Gkey参数,利用该插件调用不同的计算机游戏时,即为该Gkey参数赋予所调用的客户端应用软件的Gkey值以及相应的配置信息,从而只要编程技术上插件和计算机游戏的接口一致,该插件可以加载任何的应用软件,包括客户端应用软件和网页软件,作为优选的实施方式,该插件可以加载任何的计算机游戏,包括客户端游戏和网页游戏。
[0075] 浏览器的后台或者云端维护有和浏览器能够运行的计算机游戏的相关的域名列表和白名单,所述域名列表存储为每个计算机游戏分配的域名;所述白名单存储有为每个计算机游戏分配的Gkey值。优选的,浏览器的后台或者云端还维护有针对每个计算机游戏的配置文件,该配置文件可以是dll文件,也可以是exe文件,以指示计算机游戏原始数据、签名数据的获取路径以及加解密信息。作为一种具体实施方式,配置文件与域名列表、白名单通过Gkey值关联。通过上述后台或者云端的维护,达成插件与浏览器服务器的互动。
[0076] 当用户在终端输入域名时,浏览器接收该域名请求,并解析域名请求,解析域名的过程可以在终端完成,也可以在浏览器的服务器侧完成,如果在终端完成则需要将域名列表和白名单存储在本地,在浏览器进行升级时,自动更新所述域名列表和白名单,这种情况下,客户端浏览器的升级次数可能会多些,如果在浏览器的服务器侧完成,则只需要服务器侧或者云端维护域名列表和白名单,客户端的浏览器不会因为域名列表和白名单的更新需要升级。比如用户输入域名:http:wan.360.sgkey=ly/skey=1000,首先判断所述输入的域名是否属于域名列表,如果属于,则进一步解析域名,根据gkey标识确定Gkey值ly,Gkey值是客户端应用软件的唯一标识,尤其目前在计算机游戏,包括客户端游戏和网页游戏方面,每个游戏都会被赋予唯一标识Gkey值,一般是游戏名称首字母缩写。根据所述Gkey值查询白名单,确定是否属于白名单,由此确定该客户端应用软件是浏览器可推送的产品。即将该Gkey值发送至所述插件,以赋值所述其Gkey参数。
[0077] 如图3所示,赋值的具体过程为:
[0078] S341.根据所述插件在IE内核注册时生成的唯一标识在系统中查找所述插件;
[0079] S342.将所述Gkey值赋予查找到的所述插件中的所述Gkey参数;
[0080] S343在将Gkey值赋予查找到的所述插件中的所述Gkey参数后,调用该插件。
[0081] 通过浏览器提供的API客户端应用软件编程接口访问该插件。插件对应有压缩在一起的插件属性文件,包括一个Manifest文件,一个或多个超文本标记语言HTML文件,可选的一个或多个javascript文件,可选的任何需要的其他文件(例如图片)。其中,Manifest文件一般为json格式,其中包含了插件的基本信息,例如最重要的文件列表,应用(扩展)所需要的权限等。在开发插件时,已将这些文件都放到同一个目录下,发布插件时,这个目录下的文件全部打包到一个.crx的压缩文件中,浏览器内核在渲染浏览器主框架时,可以在插件属性文件中提取针对插件设置的加载位置,在该加载位置显示客户端应用软件的界面。为了使得客户端应用软件能够通过插件一加载就能够运行,在技术上,客户端应用软件需要利用与所述插件一致的编程接口。通过接口,插件直接调用客户端应用软件数据。客户端应用软件数据可存储在第三方服务器(客户端应用软件开发商处服务器)、浏览器服务器或者客户端应用软件专用服务器、云端,在此,对客户端应用软件数据的存储位置不做任何限定。
[0082] 在浏览器接入一客户端应用软件前,需要进行后台配置,所述后台配置包括:赋予客户端应用软件域名和Gkey值,并对域名列表、白名单进行更新;配置客户端应用软件数据的获取路径,客户端应用软件数据至少包括客户端应用软件的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述DLL(Dynamic Link Library)文件或者EXE文件以运行所述客户端应用软件。
[0083] 作为一种具体实施方式,用户需要玩网页游戏,首先登录浏览器,浏览器打开后,用户需要下载插件,并安装所述插件。安装所述插件后,用户输入域名请求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-IE1以及Webkit浏览器均兼容使用。
而且,只要游戏程序的开发与插件开发的编程接口一致,浏览器只需要安装一次插件,即可运行所有的网页游戏。相比较目前,每运行一款网页游戏,几乎都要下载一次插件并安装才能运行网页游戏,本申请在安装一次插件后,只要输入域名即可运行各种不同网页游戏,简化了用户操作以及大大缩短网页游戏启动加载的时间。
[0084] 实际上在现有技术中,由于浏览器本身对系统权限的限制,比如在winsa或者97下因为权限的设置,一般基于中等权限接入浏览器,一些需要获取系统高级权限的客户端应用软件即使在浏览器安装插件也根本无法运行。而本申请的插件是安全的,其签名能够得到浏览器的认可,因此一些需要获取系统高级权限的客户端应用软件也能够通过该插件在浏览器得以运行。在另一方面,由于本申请中插件只是调用客户端应用软件,而不对客户端应用软件的签名文件进行修改,在客户端应用软件通过插件运行时可以获取其签名,从而区分客户端应用软件的签名以及插件的签名,方便于做到网络身份的确认,进一步便于明确网络安全责任。
[0085] 由于插件并不需要改变客户端应用软件数据的数字签名,本申请通过该插件能够将可靠签名的客户端应用软件嵌入在浏览器的预定位置,比如嵌入在标题栏或者浮窗上,而将可靠性不确定的数字签名仅通过域名请求的方式通过插件加载。
[0086] 在加载插件后,由于已经与客户端应用软件建立对应关系,即可对所述客户端应用软件进行升级检测;如果需要升级,则根据后台配置信息调用升级数据,以获取客户端应用软件的最新数据,运行最新版本的客户端应用软件。本申请不需要用户进行任何有关升级的操作,就可保证用户运行的客户端应用软件是最新版本的。
[0087] 本发明还提供一种基于浏览器加载客户端应用软件的终端,如图4所示,包括:
[0088] 插件注册单元10,其用于在IE内核注册插件,并生成插件的唯一标识,该插件配置有预定接口和Gkey参数;所述Gkey参数用于赋值客户端应用软件的唯一标识;
[0089] 输入单元20,用于接收用户输入的域名;
[0090] 发送接收单元30,用于将域名发送至服务器或者云端,并接收返回的信息,所述返回的信息包括Gkey值;
[0091] 加载单元40,用于根据所述Gkey值赋予所述Gkey参数Gkey值并加载所述插件;
[0092] 调用单元50,用于调用并运行所述Gkey值唯一标识的具有所述预定接口的客户端应用软件。
[0093] 所述插件是基于微软插件机制遵循一定规范的客户端应用软件接口编写,以兼容所有的浏览器,在编写所述插件时,为该插件配置Gkey参数,以用于被赋值将来在浏览器上执行的客户端应用软件的唯一标识码。安装该插件时,WEB浏览器调用系统注册表,并对应该插件生成唯一标识。安装插件后,浏览器根据该唯一标识加载该插件。
[0094] 如图5所示,所述加载单元40具体可包括:
[0095] 查找单元401,用于根据所述唯一标识在系统中查找所述插件;
[0096] 配置单元402,将所述Gkey值赋予查找到的所述插件中的所述Gkey参数。
[0097] 浏览器的后台或者云端维护有和浏览器能够运行的客户端应用软件的相关的域名列表和白名单,所述域名列表存储为每个客户端应用软件分配的域名;所述白名单存储有为每个客户端应用软件分配的Gkey值。优选的,浏览器的后台或者云端还维护有针对每个客户端应用软件的配置文件,该配置文件可以是dll文件,也可以是exe文件,以指示客户端应用软件原始数据、签名数据的获取路径以及加解密信息。作为一种具体实施方式,配置文件与域名列表、白名单通过Gkey值关联。通过上述后台或者云端的维护,达成插件与浏览器服务器的互动。所述返回的信息包括客户端应用软件数据的获取路径,所述调用单元根据所述获取路径调用客户端应用软件数据。
[0098] 在浏览器接入一客户端应用软件前,需要进行后台配置,所述后台配置包括:赋予客户端应用软件域名和Gkey值,并对域名列表、白名单进行更新;配置客户端应用软件数据的获取路径,客户端应用软件数据至少包括客户端应用软件的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述利用DLL(Dynamic Link Library)文件或者EXE文件以运行所述客户端应用软件。在客户端应用软件进行了升级时,后台会及时对后台配置数据进行更新;所述加载单元具体还可包括升级检测单元,用于在插件加载后即可对所述客户端应用软件进行升级检测;所述调用单元在需要升级的情况下通过插件直接调用升级数据。
[0099] 本发明还提供一种基于浏览器加载客户端应用软件的服务器,如图6所示,包括[0100] 域名判断解析单元100,用于判断用户输入的域名是否属于域名列表,如果是,则解析域名列表,生成Gkey值;
[0101] 加载确定单元200,用于判断所述Gkey值是否属于白名单中的Gkey值,如果是,则指示运行所述插件以在浏览器运行所述客户端应用软件。该服务器还可包括存储单元,用于存储所述域名列表、白名单、以及客户端应用软件配置信息,所述配置信息至少要提供客户端应用软件数据可执行文件的获取路径。在浏览器接入一客户端应用软件前,进行后台配置。
[0102] 优选的,所述服务器还包括游戏预置单元,如图7所示,游戏预置单元300包括:
[0103] 域名配置单元301,用于赋予客户端应用软件域名,并更新域名列表;
[0104] Gkey值配置单元302,用于赋予客户端应用软件Gkey值,并对白名单进行更新;
[0105] 路径配置单元303,用于配置客户端应用软件数据的获取路径。
[0106] 客户端应用软件数据至少包括客户端应用软件的DLL(Dynamic Link Library)文件或者EXE文件,当然还包括一些实体内容,如图片、文字以及签名文件。在通过域名解析并确定解析出的Gkey值属于白名单后,加载插件,通过对插件的初始化,赋予其Gkey参数Gkey值,并根据应用数据的配置信息对其进行配置。初始化后,插件通过接口基于路径信息直接调用所述利用DLL(Dynamic Link Library)文件或者EXE文件以运行所述客户端应用软件。
[0107] 可选地,该服务器还包括:嵌入单元,用于在浏览器的预定位置嵌入具有预定签名的客户端应用软件,这主要为了向用户推荐具有可靠数字签名的游戏,由于插件并不需要改变客户端应用软件数据的数字签名,本申请通过该插件能够将可靠签名的客户端应用软件嵌入在浏览器的预定位置,比如嵌入在标题栏或者浮窗上,而将可靠性不确定的数字签名仅通过域名请求的方式通过插件加载。
[0108] 所述客户端应用软件具体可为计算机游戏。
[0109] 本发明不仅能够将客户端软件转换为能够在浏览器直接运行的软件,具体到计算机游戏类型的软件,可将客户端游戏转换为能够在浏览器直接运行的网页游戏,而且还提出一种新型的浏览器,即以不同的方式提供客户端游戏,第一种方式是在浏览器网页直接提供下载安装包的链接地址,第二种方式是通过嵌入客户端软件的方式提供计算机游戏,第三种方式是本申请新提出的通过用户输入域名请求运行客户端游戏。
[0110] 本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
[0111] 本申请能够在几乎所有的浏览器(只要是基于IE内核开发的浏览器,比如IE6-IE11,Webkit等)加载以预定接口编写的客户端应用软件,兼容性很强。
[0112] 本申请能够通过区分利用用户输入域名加载客户端应用软件的方式,以及利用内嵌、网页下载客户端应用软件的方式,能够将具有可靠签名的客户端应用软件与其他不好确定安全性的第三方签名的客户端应用软件隔离加载运行,能够一方面保证浏览器的安全,又能够使得浏览器可加载广泛数字签名的客户端应用软件。
[0113] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
[0114] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0115] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0116] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0117] 此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0118] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。