admin管理员组

文章数量:1539761

2024年4月29日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.9

(22)申请日 2012.03.02

(71)申请人 腾讯科技(深圳)有限公司

地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

(72)发明人 徐高骞

(74)专利代理机构 北京德琦知识产权代理有限公司

代理人 谢安昆

(51)

H04L29/08

H04L29/06

(10)申请公布号 CN 103297476 A

(43)申请公布日 2013.09.11

权利要求说明书 说明书 幅图

(54)发明名称

一种网页游戏加载方法及装置

(57)摘要

本发明实施例公开了一种网页游戏

加载方法,该方法包括:通过超文本传输

协议HTTP代理服务接收浏览器对网页游

戏所需文件的请求;若本地预先建立的独

立于浏览器的缓存中包含所述网页游戏所

需的文件,则响应所述请求,从所述缓存

中获取所述网页游戏所需的文件返回浏览

器进行游戏加载;否则,响应所述请求,

代替浏览器从网页游戏服务器下载游戏所

需文件;将下载的所述游戏所需文件存入

所述独立于浏览器的缓存中,并返回浏览

器进行游戏加载。本发明实施例还公开了

一种网页游戏加载装置,该方法和装置可

以避免因浏览器缓存失效而造成的游戏所

需文件再次下载,并提高游戏所需文件的

下载性能。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种网页游戏加载方法,其特征在于,该方法包括:

通过超文本传输协议HTTP代理服务接收浏览器对网页游戏所需文件的请

若本地预先建立的独立于浏览器的缓存中包含所述网页游戏所需的文件,

否则,响应所述请求,代替浏览器从网页游戏服务器下载游戏所需文件;

将下载的所述游戏所需文件存入所述独立于浏览器的缓存中,并返回浏览

2.如权利要求1所述的网页游戏加载方法,其特征在于,该方法进一步包

通过所述HTTP代理服务转发,浏览器与网页游戏服务器之间交互的应用

3.如权利要求1或2所述的网页游戏加载方法,其特征在于,所述通过

HTTP代理服务接收浏览器对网页游戏所需文件的请求,包括:

HTTP协议的游戏内容数据。

括:

器进行游戏加载。

则响应所述请求,从所述缓存中获取所述网页游戏所需的文件返回浏览器进

游戏加载;

求;

将浏览器配置为使用所述HTTP代理服务。

4.如权利要求1或2所述的网页游戏加载方法,其特征在于,所述代替浏

通过P2P,和/或断点续传,和/或分段下载从网页游戏服务器下载游戏所

5.如权利要求1或2所述的网页游戏加载方法,其特征在于,所述代替浏

通过钩子hook截获浏览器下载事件,并通过修改所述下载事件改变浏览器

6.如权利要求1或2所述的网页游戏加载方法,其特征在于,该方法以具

下载行为,从网页游戏服务器下载游戏所需文件。

览器从网页游戏服务器下载游戏所需文件包括:

需文件。

览器从网页游戏服务器下载游戏所需文件包括:

备HTTP代理服务的特定应用程序内嵌浏览器窗

理服务的浏览器方式,或者设置浏

口的方式,或者绑定HTTP代

览器的代理服务器选项方式执行。

7.一种网页游戏加载装置,其特征在于,该装置包括:

下载模块,代替浏览器从网页游戏服务器下载游戏所需文件;

缓存模块,在本地建立的独立于浏览器的缓存,用于缓存所述下载模块下

代理模块,用于通过HTTP代理服务接收浏览器对网页游戏所需文件的请

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中获

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文件,

将所述下载模块下载的所述游戏所需文件存入所述缓存模块中,并返

进行游戏加载。

取所述网页游戏所需的文件返回浏览器进行游戏加载;

求;

载的游戏所需文件;

回浏览器

8.如权利要求7所述的网页游戏加载装置,其特征在于,所述代理模块进

9.如权利要求8所述的网页游戏加载装置,其特征在于,所述代理模块包

括:

一步用于通过HTTP代理服务转发,浏览器与网页游戏服务器之间交互的应

HTTP协议的游戏内容数据。

HTTP代理单元,用于启动HTTP代理服务;并将所述浏览器配置为使用所

述HTTP代理服务;

控制单元,用于通过所述HTTP代理服务接收浏览器对网页游戏所需文件

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中获

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文件,

将所述下载模块下载的游戏所需文件存入所述缓存模块中,并返回浏

游戏加载;

取所述网页游戏所需的文件返回浏览器进行游戏加载;

的请求;

览器进行

通过所述HTTP代理服务转发,浏览器与网页游戏服务器之间交互的应用

10.如权利要求7或8所述的网页游戏加载装置,其特征在于,所述下载

指令接收单元,用于接收所述代理模块发送的代替浏览器从网页游戏服务

下载单元,用于通过P2P,和/或断点续传,和/或分段下载从网页游戏服

11.如权利要求7或8所述的网页游戏加载装置,其特征在于,所述下载

模块包括:

务器下载游戏所需文件。

器下载游戏所需文件的指令;

模块包括:

HTTP协议的游戏内容数据。

事件截获单元,用于使用钩子hook截获浏览器下载事件;

事件修改单元,用于通过修改所述事件截获单元截获的下载事件改变浏览

12.如权利要求7或8所述的网页游戏加载装置,其特征在于,所述装置

内嵌浏览器窗口且具备HTTP代理服务的特定应用程序;或者绑定HTTP

器下载行为,从网页游戏服务器下载游戏所需文件。

包括:

代理服务的浏览器,或者设置了代理服务器选项的浏览器。

说 明 书

技术领域

本发明涉及网页游戏技术领域,特别涉及一种网页游戏加载方法及装

背景技术

网页游戏是指运行在浏览器当中的游戏,与普通的客户端游戏不同,不

目前绝大多数的网页游戏,都是将基于富互联网应用(RIA)技术(如 通过

需要特别的下载和安装,直接可以在浏览器中打开并运行。

置。

flash、javascript等第三方插件提供更丰富的图形图像声音等内容表现,

当网页游戏开始运行后,浏览器和游戏服务器之间就开始交换具体的游

其中,步骤1和步骤2是下载游戏RIA程序文件的过程,步骤3和步骤

3是具体游戏的过程。一般一款大型的游戏都是由好几个文件组成,所以浏

览器会不断重复步骤1和步骤2,直到所有必须的文件都加载完成。这个过

程可以由网页来控制,也可以用已下载的部分RIA程序来控制,但是无论

用哪种方式,都是利用HTTP协议,委托给浏览器下载。当游戏运行

的RIA程序文件全部下载完成后,就可以开始步骤3和步骤4

体验。步骤3和步骤4当中可能会用到HTTP协议,也

戏内容数据,这时候就真正开始游戏过程了。其具体时序如图1所示:

从而能够在网页中提供优于普通HTML页面的体验)的富客户端内嵌在网页

当中,当一个用户打开网页的时候,浏览器就会把相关的RIA程序文件下

到本地,并且在浏览器中开始运行。

所必须

来进行游戏的

可能会用到其他的协

议。

其中,大部分网页游戏为了保证用户能够快速进入游戏,大都会利用浏

览器的缓存技术,让自己的RIA程序文件保存在浏览

已经下载的RIA程序文件,在用户下次访问网

能够跳过步骤1、2而直接开始运行游戏。

器的缓存中,这样用户

页的时候就不需要再进行下载,

但是,虽然利用浏览器缓存可以在一定程度上提高网页游戏在第一次加

载以后的加载速度,但由于浏览器缓存存在过期和失效策略,因此完全依赖

浏览器的缓存来保存游戏RIA文件的方式,容易受浏览器的缓存失

响而导致以前下载的RIA文件缓存失效。而目前的浏览器缓

览器控制,游戏本身无法实现对缓存的控制,用户主动

器自己因为空间不够而自动清除缓存,都会导致

使得用户下次再访问游戏页面的时候,还

效策略影

存策略只受到浏

清除缓存,或者浏览

已下载的文件被删除,从而

要再下载一遍,降低加载速度。

另外,由于网页游戏的RIA程序文件是委托浏览器下载的,而浏览器的

下载性能有限,也不具备下载优化的能力,一般最多只能做到从二到三个不

同域名上同时下载文件,即使网页游戏服务器能够提供更多的下载源,

同的RIA程序文件分布到更多的域名中去,浏览器也不能充分利用,

有网页游戏的RIA程序文件下载性能很差,影响游戏第一次

及由于缓存失效以后再次下载文件的速度。

将不

导致现

的加载速度,以

发明内容

有鉴于此,本发明提供了一种网页游戏加载方法及装置,可以避免因浏

览器缓存失效而造成的游戏所需文件再次下载,并提高游戏所需文件的下载

性能。

为达上述目的,本发明的技术方案具体是这样实现的:

一种网页游戏加载方法,该方法包括:

通过超文本传输协议HTTP代理服务接收浏览器对网页游戏所需文件的

若本地预先建立的独立于浏览器的缓存中包含所述网页游戏所需的文

否则,响应所述请求,代替浏览器从网页游戏服务器下载游戏所需文件;

将下载的所述游戏所需文件存入所述独立于浏览器的缓存中,并返回浏

较佳地,该方法进一步包括:

通过所述HTTP代理服务转发,浏览器与网页游戏服务器之间交互的应

较佳地,所述通过HTTP代理服务接收浏览器对网页游戏所需文件的请

将浏览器配置为使用所述HTTP代理服务。

较佳地,所述代替浏览器从网页游戏服务器下载游戏所需文件包括:

求,包括:

用HTTP协议的游戏内容数据。

览器进行游戏加载。

件,则响应所述请求,从所述缓存中获取所述网页游戏所需的文件返回浏览

器进行游戏加载;

请求;

通过P2P,和/或断点续传,和/或分段下载从网页游戏服务器下载游

文件。

较佳地,所述代替浏览器从网页游戏服务器下载游戏所需文件包括:

通过钩子hook截获浏览器下载事件,并通过修改所述下载事件改变浏

较佳地,该方法以具备HTTP代理服务的特定应用程序内嵌浏览器窗口

一种网页游戏加载装置,该装置包括:

下载模块,代替浏览器从网页游戏服务器下载游戏所需文件;

缓存模块,在本地建立的独立于浏览器的缓存,用于缓存所述下载模块

代理模块,用于通过HTTP代理服务接收浏览器对网页游戏所需文件的

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文

件,将所述下载模块下载的所述游戏所需文件存入所述缓存模块中,并返回

浏览器进行游戏加载。

获取所述网页游戏所需的文件返回浏览器进行游戏加载;

请求;

下载的游戏所需文件;

的方式,或者绑定HTTP代理服务的浏览器方式,或者设置浏览器的代理服

务器选项方式执行。

览器下载行为,从网页游戏服务器下载游戏所需文件。

戏所需

较佳地,所述代理模块进一步用于通过HTTP代理服务转发,浏览器与

较佳地,所述代理模块包括:

HTTP代理单元,用于启动HTTP代理服务;并将所述浏览器配置为使

控制单元,用于通过所述HTTP代理服务接收浏览器对网页游戏所需文

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文

通过所述HTTP代理服务转发,浏览器与网页游戏服务器之间交互的应

较佳地,所述下载模块包括:

指令接收单元,用于接收所述代理模块发送的代替浏览器从网页游戏服

下载单元,用于通过P2P,和/或断点续传,和/或分段下载从网页游

器下载游戏所需文件。

戏服务

务器下载游戏所需文件的指令;

用HTTP协议的游戏内容数据。

件,将所述下载模块下载的游戏所需文件存入所述缓存模块中,并返回浏览

器进行游戏加载;

获取所述网页游戏所需的文件返回浏览器进行游戏加载;

件的请求;

用所述HTTP代理服务;

网页游戏服务器之间交互的应用HTTP协议的游戏内容数据。

较佳地,所述下载模块包括:

事件截获单元,用于使用钩子hook截获浏览器下载事件;

事件修改单元,用于通过修改所述事件截获单元截获的下载事件改变浏

较佳地,所述装置为:

内嵌浏览器窗口且具备HTTP代理服务的特定应用程序;或者绑定HTTP

由上述技术方案可见,本发明的这种网页游戏加载方法及装置,通过独立

于浏览器的缓存保存网页游戏所需文件,可以避免浏览器缓存失效策略的影

提供更长期、并且可控的缓存管理,同时通过代替浏览器下载游戏所

可以突破浏览器下载文件的性能限制,达到更高的下载性能。

代理服务的浏览器,或者设置了代理服务器选项的浏览器。

览器下载行为,从网页游戏服务器下载游戏所需文件。

响,

需文件,

附图说明

图1为现有网页游戏加载运行时序图;

图2为本发明实施例的网页游戏加载运行时序图;

图3为本发明实施例的网页游戏加载装置结构示意图;

图4为本发明实施例的代理模块结构示意图;

图5为本发明实施例的下载模块结构示意图;

图6为本发明另一实施例的下载模块结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实

本发明主要是通过具备HTTP代理能力的特定应用程序加载网页游戏,通

过HTTP代理,代理浏览器从网页游戏服务器下载网页游戏所需的文件,并

回给浏览器加载运行。其中,代理浏览器下载程序文件时,可以采用

载方式,从而突破浏览器下载能力的限制;同时,该特定程序

器缓存下载的网页游戏所需文件,使网页游戏的文件缓

存失效策略的影响。

施例,对本发明进一步详细说明。

优化的下

负责独立于浏览

存可控,避免浏览器缓

其中,这个特定应用程序可以是游戏客户端,也可以是特制的绑定了HTTP

代理服务的浏览器;可以通过内嵌浏览器窗口的方式加载和运行网页游戏。

果不在特定的应用程序中通过内嵌浏览器的方式来访问游戏,也可以

的应用程序作为操作系统的服务程

载网页游戏时,通过该服务

让该特定

序或者后台程序启动,在用户使用浏览器加

或后台提供HTTP代理、文件下载及缓存。

通过该特定应用程序,浏览器与网页游戏服务器之间交互的消息流程如图3

步骤1、浏览器向HTTP代理/特定应用程序请求游戏文件;

所示,包括:

为了做到能够兼容目前所有的网页游戏,该特定应用程序启动后,不会改

变游戏加载的方式,游戏还是通过委托浏览器使用HTTP协议来下载游戏所

的RIA程序文件,但是该特定应用程序自身会启动一个HTTP代理

浏览器设置成使用这个HTTP代理,浏览器所有的HTTP协议

这个HTTP代理服务,然后接受HTTP代理服务返回的

服务,并将

请求都会先发给

结果。

当然,具体HTTP代理服务,以及特定应用程序的实现方式很多,例如以

具备HTTP代理服务的特定应用程序内嵌浏览器窗口的方式,或者绑定

代理服务的浏览器方式,或者设置浏览器的代理服务器选项方式实现。

HTTP

步骤2、特定应用程序通过控制HTTP代理服务,来控制游戏所需RIA程

具体优化下载方式任意,现举例如下:

1)通过P2P技术来提升下载速度。

2)通过断点续传、分段下载来提升下载性能。

通过HTTP代理服务获取到浏览器请求下载的游戏所需文件的信息后,可

以代替浏览器本身的HTTP下载方式,通过P2P或者P2SP的方式来查询并

这些文件,具体可以通过BT、电驴或自定义的P2P协议来下载,当

应用P2P或P2SP,也可以通过断点续传、分段下载等提升

序文件的下载,通过优化的下载方式下载网页游戏所需的文件,从而改善浏

器下载性能受限的问题。

下载

然,即使不

HTTP下载的性能。

步骤3、特定应用程序通过HTTP代理服务,接收网页游戏服务器返回的游

网页服务器返回的游戏所需文件,可以是RIA程序文件或者其他任何形式

的文件,由于HTTP代理服务的存在,所有通过HTTP协议传输的数据都将

过HTTP代理服务来转发,所以通过

与浏览器之间的所有交互数据。而

的,浏览器可以完全按照现

返回的游戏所需文件。

戏所需文件。

HTTP代理服务可以获得网页游戏服务器

且,对于浏览器来说,HTTP代理服务是透明

有的获取游戏所需文件的流程获取网页游戏服务器

步骤4,特定应用程序缓存网页游戏服务器返回的游戏所需文件。

该特定应用程序自身将针对游戏所需的RIA程序文件实现独立于浏览器的

缓存,这种缓存只会缓存游戏所需的RIA程序文件,并可以通过配置的方

控制缓存哪些游戏的RIA程序文件。这些RIA程序文件在本地的缓

很长,其是否失效是由该特定应用程序来管理的,可以做到可

浏览器的缓存失效策略的限制。例如设定该缓存永久有

限时提示用户删除已经缓存的文件,或是提示用

缓存上限时,采用先进先出方式控制缓存

式来

存时间可以

控,而不会受到

效,或者在达到缓存上

户提高缓存上限;或者在确定

的文件等等。

步骤5,特定应用程序通过HTTP代理服务,将游戏文件提供给浏览器运行。

浏览器从HTTP代理服务接收游戏所需文件,但是在浏览器看来如同从网

页游戏服务器接收游戏所需文件,因此可以直接加载运行接收到的文件。

步骤6、浏览器与网页游戏服务器之间交互游戏内容数据。

具体浏览器与网页游戏服务器之间交互的游戏内容数据如果不涉及HTTP

另外,如果该特定应用程序的缓存中已经存在步骤1所需要请求的文件,

另外,除了使用HTTP代理方式外,应用程序也可以通过钩子(hook)技

术来获取浏览器的下载事件,并通过改变该下载事件来改变浏览器的下载行

从而改善浏览器的下载性能。

则直接通过步骤5将请求的文件返回给浏览器。步骤2和3只有当该特定应

程序自己的缓存中不存在相应的文件时才会执行。

协议,则不需要通过HTTP代理,否则也会通过HTTP代理来转发。

为,

例如截获到浏览器将从某一个服务器下载文件的事件,那么通过分析浏览

器所要下载的文件的信息,可以修改这个事件为上述步骤2中的优化下载方

从而改善浏览器的下载性能。 式,

本发明还提供了一种网页游戏加载装置,如图3所示,该装置包括:

下载模块301,代替浏览器从网页游戏服务器下载游戏所需文件;

缓存模块302,在本地建立的独立于浏览器的缓存,用于缓存所述下载模块

代理模块303,用于通过HTTP代理服务接收浏览器对网页游戏所需文件的

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中获

取所述网页游戏所需的文件返回浏览器进行游戏加载;

请求;

下载的游戏所需文件;

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文件,

其中,所述代理模块303可以进一步用于通过HTTP代理服务转发浏览器

如图4所示,所述代理模块303包括:

HTTP代理单元401,用于启动HTTP代理服务;并将所述浏览器配置为使

控制单元402,用于通过所述HTTP代理服务接收浏览器对网页游戏所需文

若所述缓存模块中包含所述网页游戏所需的文件,则从所述缓存模块中获

否则,指令所述下载模块代替浏览器从网页游戏服务器下载游戏所需文件,

通过所述HTTP代理服务转发浏览器与网页游戏服务器之间交互的,应用

如图5所示,所述下载模块301包括:

指令接收单元501,用于接收所述代理模块发送的代替浏览器从网页游戏服

HTTP协议的游戏内容数据。

将所述下载模块下载的所述游戏所需文件存入所述缓存模块中,并返回浏览

进行游戏加载;

取所述网页游戏所需的文件返回浏览器进行游戏加载;

件的请求;

用所述HTTP代理服务;

与网页游戏服务器之间,应用HTTP协议的游戏内容数据。

将所述下载模块下载的所述游戏所需文件存入所述缓存模块中,并返回浏览

进行游戏加载。

务器下载游戏所需文件的指令;

下载单元502,用于通过P2P,和/或断点续传,和/或分段下载从网页游

或者,如图6所示,所述下载模块301的另一实施方式包括:

事件截获单元601,用于使用钩子hook截获浏览器下载事件;

事件修改单元602,用于通过修改所述事件截获单元截获的下载事件改变浏

另外,所述网页游戏加载装置可以通过内嵌浏览器窗口且具备HTTP代理

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本

发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在

发明保护的范围之内。

服务的特定应用程序;或者绑定HTTP代理服务的浏览器形式,或者设置了

理服务器选项的浏览器方式实现。

览器下载行为,从网页游戏服务器下载游戏所需文件。

戏服务器下载游戏所需文件。

本文标签: 游戏浏览器网页下载