专利名称:一种客户端设备、多媒体数据卸载系统及卸载方法
技术领域:
本发明涉及网络领域,尤其涉及一种客户端设备、多媒体数据卸载系统及卸载方 法。
背景技术:
近年来,资源受限的嵌入式设备非常流行,它给人们带来了无处不在的计算环境。 实时查看网络信息以及使用网络应用这些功能是人们使用这些设备的基础需求,而这些功 能通常是以安装浏览器的方式来实现。在网络应用逐渐流行的同时,各种各样的多媒体数据也被嵌入到网页中以提供更 多的信息以及更友好的用户界面。但是这些复杂的网页在那些没有足够功能和资源受限的 设备上不能被很好地分析解码并且播放。比如,有些多媒体类型对很多设备不可用,或者处 理某些多媒体数据的硬件物理需求远远超出了现有设备的能力。传统的胖客户端模型如图1(a)所示,多媒体插件由于能扩展浏览器的功能而非 常出名。但同样的问题是多媒体插件也不是在所有的硬件设备上都可以使用,而且有些硬 件设备的性能不足以运行这些插件。有研究者提出如图1 (b)所示的瘦客户端方案来解决这个问题。这种结构中,逻辑 处理工作都是交给功能强大的服务器去做,客户端是负责显示工作与用户界面的控制。和 传统的胖客户端相比,瘦客户端结构不需要在客户端安装复杂的浏览器以及多媒体插件, 所以客户端的硬件可以非常简单。在各种网络环境下,瘦客户端方法在静态网页显示方明 已被证明能够提供很好的性能。但是不稳定的瘦客户端模型需要大量的服务器工作量来保持稳定性,否则高质量 的网络浏览就不能被保证了。由于不能充分利用客户端的资源,服务器的能力是个瓶颈。一 种可替代的方法如图1(c)所示,是将那些以前用复杂控件处理的多媒体数据从资源受限 的客户端卸载到资源丰富的代理服务器上进行处理,与此同时,浏览会话仍然存储在客户 端。这种方法既可以扩展那些不能在客户端实现的功能,也不会增加服务器端的工作压力。
发明内容
本发明要解决的技术问题是提供一种客户端设备、多媒体数据卸载系统及卸载方 法,可以丰富资源受限的客户端设备的浏览器功能,减少资源受限的客户端设备的本地资 源消耗,并能提高其处理多媒体数据的能力。为了解决上述问题,本发明提供了一种客户端设备,包括服务发现模块;一个或多个插件代理模块,各与一种类型的多媒体数据对应;浏览器,用于向服务器发送一个请求,接收服务器返回的所请求的网页;控制模块,用于判断所接收的网页中是否存在需卸载的多媒体数据,如果存在,则 调用所述服务发现模块,并根据所述多媒体数据的类型,调用对应的插件代理模块;服务发现模块,用于选择能够对需卸载的多媒体数据解码的代理服务器;并通知所述插件代理模块,为该插件代理模块对应类型的多媒体数据所选择的代理服务器;各所述插件代理模块当被调用时,与所选择的代理服务器建立连接,将所接收的 网页中对应类型的多媒体数据发送给所选择的代理服务器,接收该代理服务器处理后得到 的远程显示数据。进一步地,所述的客户端设备还包括图形模块,用于在所述网页中,将所述插件代理模块接收的远程显示数据绘制在 该插件代理模块对应的显示区域里。进一步地,所述插件代理模块还用于将本插件代理模块对应的所控范围内的用户 事件发送到所选择的代理服务器去处理。进一步地,所述控制模块还用于从网页中提取需卸载的多媒体数据的URL,发送给 插件代理模块;所述插件代理模块将多媒体数据发送给代理服务器时,是发送该多媒体数据的 URL,或是拦截该URL的多媒体数据后转发给代理服务器。本发明还提供了一种多媒体数据卸载系统,包括上述的客户端设备、代理服务器;所述代理服务器包括一个或多个远程插件模块,用于从所述插件代理模块接收本远程插件模块能够处 理的多媒体数据,处理后得到客户端可以识别的格式的所述远程显示数据,并返回给所述 插件代理模块。进一步地,所述的系统还包括服务登记模块,与所述客户端设备的服务发现模块 相连,用于向所述服务发现模块提供本代理服务器所能处理的多媒体数据的类型和版本。本发明还提供了一种多媒体数据卸载方法,包括客户端当从服务器收到所请求的网页时,如果网页中存在需卸载的多媒体数据, 则调用该多媒体数据的类型对应的插件代理模块;选择能对需卸载的多媒体数据解码的代理服务器,并通知所述插件代理模块,为 该插件代理模块对应类型的多媒体数据所选择的代理服务器;所述插件代理模块被调用后,与所选择的代理服务器建立连接,将对应类型的多 媒体数据发送给所选代理服务器,接收代理服务器处理后得到的远程显示数据。进一步地,所述接收代理服务器处理后得到的远程显示数据的步骤后还包括在所述网页中,将所述插件代理模块接收的远程显示数据绘制在该插件代理模块 对应的显示区域里。进一步地,所述的方法还包括所述插件代理模块将本插件代理模块对应的所控范围内的用户事件发送到所选 择的代理服务器去处理。进一步地,所述调用该多媒体数据的类型对应的插件代理模块的步骤中还包括从网页中提取需卸载的多媒体数据的URL,发送给插件代理模块;所述插件代理模块将对应类型的多媒体数据发送给所选代理服务器的步骤中,是 发送该多媒体数据的URL,或是拦截该URL的多媒体数据后转发给代理服务器。本发明的技术方案能够丰富受限的客户端设备的浏览器的功能,将多媒体数据卸载到代理服务器上完成逻辑处理,减少了客户端对资源的消耗,并能提高系统处理多媒体 数据的能力;本发明在现有的浏览器模型中提出了插件代理的概念,借助于插件代理来实 现自动透明地多媒体卸载工作以及远程显示的无缝连接;插件代理可以方便、直接地和现 有浏览器结合使用,不需要修改、重编译或是重链接等操作,支持多种不同媒体类型,包括 动态和静态的;可通过远程显示将多媒体数据的显示更新传回到客户端以实现无差别的用 户体验;本发明支持服务发现,能自动发现可以运行远程插件的服务器;支持控制远程插 件的行为。
图1 (a)为传统胖客户端模式的web浏览器模型;图1 (b)为瘦客户端模式的web浏览器模型;图1 (c)为多媒体自动卸载模式的web浏览器模型;图2为实施例二的多媒体数据卸载系统的结构示意图。
具体实施例方式下面将结合附图及实施例对本发明的技术方案进行更详细的说明。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结 合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机 可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明在已有的胖客户端和瘦客户端浏览器模型的基础上提出了基于多媒体自 动卸载框架的客户端设备、多媒体数据卸载系统及卸载方法,该框架独立于具体的硬件平 台、操作系统、浏览器以及远程显示协议;该框架中包含一种能够将复杂网页中的、客户端 不能处理或处理性能不好的多媒体处理工作自动透明地移到了混合型代理服务器上的插 件代理。这种插件代理可以方便、直接地和现有浏览器结合使用,不需要修改、重编译或是 重链接等操作。本发明所提供的多媒体数据卸载系统中,资源受限设备上的本地浏览器使 用多个插件代理将多媒体数据卸载到代理服务器上完成逻辑处理,然后再将多媒体数据的 显示更新传回到客户端以实现无差别的用户体验。实施例一,一种客户端设备,包括服务发现模块;—个或多个插件代理模块,各与一种类型的多媒体数据对应;浏览器,用于向服务器发送一个请求,接收服务器返回的所请求的网页;控制模块,用于判断所接收的网页中是否存在需卸载的多媒体数据,如果存在,则 调用所述服务发现模块,并根据所述多媒体数据的类型,调用对应的插件代理模块;对于无 需卸载的多媒体数据可直接按现有方式调用插件;服务发现模块,用于选择能够对需卸载的多媒体数据解码的代理服务器;并通知 所述插件代理模块,为该插件代理模块对应类型的多媒体数据所选择的代理服务器;各所述插件代理模块当被调用时,与所选择的代理服务器建立连接,将所接收的 网页中对应类型的多媒体数据发送给所选择的代理服务器,接收该代理服务器处理后得到 的远程显示数据。
本实施例中,所述浏览器和插件代理模块可以属于客户端设备中的应用层,所述 服务发现模块和控制模块可以属于客户端设备中的控制层。本实施例中,如果需卸载的多媒体数据有多种类型时,则调用多个插件代理模块, 服务发现模块也将为不同类型多媒体数据分别选择代理服务器(但有为可能不同类型多 媒体数据选择的代理服务器是同一个),分别发送给该类型对应的插件代理模块;所调用 的多个插件代理模块分别与所选代理服务器建立连接。通常,插件需要在网页中占用一定显示区域绘制其显示内容,一般网页中已经指 定了该插件的大小,并且浏览器可以计算出该插件占用的显示区域的位置,这个大小和位 置指定的范围就是插件的所控范围;发生在这个所控范围的用户事件都由插件自己处理, 不用交给浏览器。本实施例中,所述客户端设备还可以包括一图形模块,用于在所述网页中,将所述 插件代理模块接收的远程显示数据绘制在该插件代理模块对应的显示区域里。这里的远程显示数据是由安装在代理服务器上的远程插件处理多媒体数据后得 到的。本实施例中,所述浏览器可以但不限于为web浏览器,所请求的网页为web网页, 相应地,所述服务器为web服务器,所发送的请求为HTTP请求。本实施例中,所述插件代理模块还需帮助处理所述web浏览器与远程插件之间的 双向互动。在代理服务器上可以有很多个网页访问实例像平常一样调用远程插件来处理所 述插件代理模块发送的多媒体数据。本实施例中,所述控制模块还用于从网页中提取需卸载的多媒体数据的URL,发送 给插件代理模块;所述插件代理模块将多媒体数据发送给代理服务器时,可以是发送该多媒体数据 的URL,让代理服务器自行获取(需要代理服务器有该能力),也可以是拦截该URL的多媒 体数据后转发给代理服务器。本实施例中,所述服务发现模块不仅用于根据需卸载的多媒体数据的类型和版本 实现服务发现(选择能对需卸载的多媒体数据解码的代理服务器),还可以实现本地与远 程的无缝连接;如果有多个代理服务器能够解码,则可以但不限于根据当时的网络情况和 代理服务器的负载情况选择一个,也可以根据其它的策略选择其一,比如选择路径最短的、 优先级最高的等。本实施例中,所述插件代理模块还可以用于将本插件代理模块对应的所控范围内 的用户事件发送到所选的代理服务器去处理;可以但不限于利用远程JavaScript调用代 理服务器上的远程插件。所述插件代理子模块就像普通的插件一样,遵循标准的插件接口,但是并不完成 真正的解码和显示工作。插件代理子模块必须遵从插件开发的规则,实现MIME类型(MIME 类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型)注册等工作,以便遇 到相应的多媒体数据时能够自动装载插件,并且需要截获多媒体的URL或数据并转发给代 理服务器处理。浏览器不能识别插件代理子模块和插件之间的差别。本实施例中,所述控制模块所述网页中是否存在需卸载的多媒体数据时,可以通 过两种方法判断
1)如果多媒体数据的MIME类型已经和某插件代理模块对应,则由插件代理模块 负责解析多媒体数据,因此会发生数据卸载;2)如果本地插件能解析某类型的数据,但可能需要消耗大量资源,这类情况也可 以使用数据卸载的方法。可以先在所述控制模块中保存会消耗大量资源的多媒体数据的类 型,当一多媒体数据属于所保存的类型时,判断该多媒体数据需要消耗大量资源。所述控制模块也可以直接在所述控制模块保存需卸载的多媒体数据的类型,当一 多媒体数据属于所保存的类型时,判断该多媒体数据需卸载。实施例二,一种多媒体数据卸载系统,如图2所示,包括实施例一中的客户端设备、代理服务器;所述代理服务器包括一个或多个远程插件模块,用于从所述插件代理模块接收本远程插件模块能够处 理的多媒体数据,处理后得到客户端可以识别的格式的所述远程显示数据,并返回给所述 插件代理模块。所述远程插件模块可以属于代理服务器中的应用层,所述服务登记模块可以属于 代理服务器中的控制层。本实施例中,所述远程插件模块还可以用于从所述插件代理模块接收用户事件, 处理后将结果返回给所述插件代理模块。本实施例中,所述代理服务器还包括服务登记模块,与所述客户端设备的服务发现模块相连,用于向所述服务发现模 块提供本代理服务器所能处理的多媒体数据的类型和版本;还可以进一步用于向所述服务 发现模块提供本代理服务器的负载情况等信息。本实施例中,所述代理服务器还可以包括相当于客户端设备的图形模块、控制模 块的功能模块;所述远程插件模块可以包含在一虚拟的容器中。本实施例中,所述代理服务器还可以包括一浏览器,用于根据接收的多媒体数据 调用相应的远程插件模块。本实施例中,所述多媒体数据卸载系统的每个模块都可以从多个候选者中选择或 者通过多种途径去实现。可以根据当时的计算环境、系统的性能、复杂性和扩展性需求来构 建一个特殊的系统。实施例三,一种多媒体数据卸载系统的卸载方法,包括客户端当从服务器收到所请求的网页时,如果网页中存在需卸载的多媒体数据, 则调用该多媒体数据的类型对应的插件代理模块;选择能对需卸载的多媒体数据解码的代理服务器,并通知所述插件代理模块,为 该插件代理模块对应类型的多媒体数据所选择的代理服务器;所述插件代理模块被调用后,与所选择的代理服务器建立连接,将对应类型的多 媒体数据发送给所选代理服务器,接收代理服务器处理后得到的远程显示数据。本实施例中,所述接收代理服务器处理后得到的远程显示数据的步骤后还可以包 括在所述网页中,将所述插件代理模块接收的远程显示数据绘制在该插件代理模块对应 的显示区域里。本实施例中,所述方法还可以包括
所述插件代理模块将本插件代理模块对应的所控范围内的用户事件发送到所选 择的代理服务器去处理;可以但不限于利用远程JavaScript调用代理服务器上的远程插 件。本实施例中,所述调用该多媒体数据的类型对应的插件代理模块的步骤中还可以 包括从网页中提取需卸载的多媒体数据的URL,发送给插件代理模块;所述插件代理模块将对应类型的多媒体数据发送给所选代理服务器的步骤中,是 发送该多媒体数据的URL (需要代理服务器有该能力),或是拦截该URL的多媒体数据后转 发给代理服务器。本实施例中,可以根据需卸载的多媒体数据的类型和版本选择能处理需卸载的多 媒体数据的代理服务器;如果有多个代理服务器能够解码,则可以但不限于根据当时的网 络情况和代理服务器的负载情况选择,也可以根据其它的策略选择,比如选择路径最短的、 优先级最高的等。其它实现细节可同前两个实施例。下面用一个具体的例子进行说明,具体步骤包括(1)客户端向web服务器发送一个HTTP请求后,web服务器便将所请求的web网 页内容返回来。(2)如果客户端发现网页中嵌有一些需卸载的多媒体数据,那么相应的插件代理 模块就会被调用。(3)系统将自动找到合适的代理服务器,插件代理模块将相应的骨架网页传给代 理服务器让它处理,这里骨架网页是指只包含需处理多媒体数据参数(如URL)的网页。(4)代理服务器调用Internet网络浏览器打开骨架网页。(5)相应的远程插件被自动加载并启用。(6)代理服务器直接通过网络从web服务器上获取多媒体数据。(7)远程插件模块绘制多媒体数据的显示输出,即得到远程显示数据,并返回给所 述插件代理模块。(8)在插件代理模块所控范围内的用户事件被插件代理模块截取并发送到代理服 务器端处理。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明的权利要求的保护范围。
权利要求
一种客户端设备,其特征在于,包括服务发现模块;一个或多个插件代理模块,各与一种类型的多媒体数据对应;浏览器,用于向服务器发送一个请求,接收服务器返回的所请求的网页;控制模块,用于判断所接收的网页中是否存在需卸载的多媒体数据,如果存在,则调用所述服务发现模块,并根据所述多媒体数据的类型,调用对应的插件代理模块;服务发现模块,用于选择能够对需卸载的多媒体数据解码的代理服务器;并通知所述插件代理模块,为该插件代理模块对应类型的多媒体数据所选择的代理服务器;各所述插件代理模块当被调用时,与所选择的代理服务器建立连接,将所接收的网页中对应类型的多媒体数据发送给所选择的代理服务器,接收该代理服务器处理后得到的远程显示数据。
2.如权利要求1所述的客户端设备,其特征在于,还包括图形模块,用于在所述网页中,将所述插件代理模块接收的远程显示数据绘制在该插 件代理模块对应的显示区域里。
3.如权利要求1所述的客户端设备,其特征在于所述插件代理模块还用于将本插件代理模块对应的所控范围内的用户事件发送到所 选择的代理服务器去处理。
4.如权利要求1所述的客户端设备,其特征在于所述控制模块还用于从网页中提取需卸载的多媒体数据的URL,发送给插件代理模块;所述插件代理模块将多媒体数据发送给代理服务器时,是发送该多媒体数据的URL,或 是拦截该URL的多媒体数据后转发给代理服务器。
5.一种多媒体数据卸载系统,其特征在于,包括权利要求1到4中任一项所述的客户端设备、代理服务器; 所述代理服务器包括一个或多个远程插件模块,用于从所述插件代理模块接收本远程插件模块能够处理的 多媒体数据,处理后得到客户端可以识别的格式的所述远程显示数据,并返回给所述插件 代理模块。
6.如权利要求5所述的系统,其特征在于,还包括服务登记模块,与所述客户端设备的服务发现模块相连,用于向所述服务发现模块提 供本代理服务器所能处理的多媒体数据的类型和版本。
7.一种多媒体数据卸载方法,包括客户端当从服务器收到所请求的网页时,如果网页中存在需卸载的多媒体数据,则调 用该多媒体数据的类型对应的插件代理模块;选择能对需卸载的多媒体数据解码的代理服务器,并通知所述插件代理模块,为该插 件代理模块对应类型的多媒体数据所选择的代理服务器;所述插件代理模块被调用后,与所选择的代理服务器建立连接,将对应类型的多媒体 数据发送给所选代理服务器,接收代理服务器处理后得到的远程显示数据。
8.如权利要求7所述的方法,其特征在于,所述接收代理服务器处理后得到的远程显 示数据的步骤后还包括在所述网页中,将所述插件代理模块接收的远程显示数据绘制在该插件代理模块对应 的显示区域里。
9.如权利要求7所述的方法,其特征在于,还包括所述插件代理模块将本插件代理模块对应的所控范围内的用户事件发送到所选择的 代理服务器去处理。
10.如权利要求7所述的方法,其特征在于,所述调用该多媒体数据的类型对应的插件 代理模块的步骤中还包括从网页中提取需卸载的多媒体数据的URL,发送给插件代理模块; 所述插件代理模块将对应类型的多媒体数据发送给所选代理服务器的步骤中,是发送 该多媒体数据的URL,或是拦截该URL的多媒体数据后转发给代理服务器。全文摘要
本发明提供了一种客户端设备、多媒体数据卸载系统及卸载方法;方法包括客户端当从服务器收到所请求的网页时,如果网页中存在需卸载的多媒体数据,则调用该多媒体数据的类型对应的插件代理模块;选择能对需卸载的多媒体数据解码的代理服务器,并通知所述插件代理模块,为该插件代理模块对应类型的多媒体数据所选择的代理服务器;所述插件代理模块被调用后,与所选择的代理服务器建立连接,将对应类型的多媒体数据发送给所选代理服务器,接收代理服务器处理后得到的远程显示数据。本发明可以丰富资源受限的客户端设备的浏览器功能,减少资源受限的客户端设备的本地资源消耗,并能提高其处理多媒体数据的能力。
文档编号H04L29/08GK101895531SQ201010201180
公开日2010年11月24日 申请日期2010年6月13日 优先权日2010年6月13日
发明者吴栋霞, 张杨, 程旭, 管雪涛 申请人:北京北大众志微系统科技有限责任公司