CN1728642A - 网络计算机专用协同浏览器及其实现方法 - Google Patents
网络计算机专用协同浏览器及其实现方法 Download PDFInfo
- Publication number
- CN1728642A CN1728642A CN 200410070694 CN200410070694A CN1728642A CN 1728642 A CN1728642 A CN 1728642A CN 200410070694 CN200410070694 CN 200410070694 CN 200410070694 A CN200410070694 A CN 200410070694A CN 1728642 A CN1728642 A CN 1728642A
- Authority
- CN
- China
- Prior art keywords
- client
- module
- server
- plug
- browsers
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络计算机专用协同浏览器,也公开了该浏览器实现客户机与服务器协同工作的方法。该浏览器基于IE内核,包括插件、窗口监视模块、本地对象模块和显示叠加模块、本地对象协议模块,各自分布在网络计算机的服务器端和客户机端;在服务器端的部分包括插件、窗口监视模块;在客户机端的部分包括本地对象模块和显示叠加模块;本地对象协议模块分为客户机端和服务器端两部分,分别分布在客户机和服务器上。本发明可以解决网络计算机运行IE时造成服务器压力过大的问题,特别是对访问含有大量动画GIF、JPEG、FLASH、MPEG等格式的网页时可以明显改善显示效果,避免出现服务器假死机的现象。
Description
技术领域
本发明涉及一种网络计算机中使用的中间件产品,特别涉及一种在网络计算机中实现服务器和客户机之间协同工作的浏览器,同时也涉及该浏览器的实现方法,属于计算机技术领域。
背景技术
网络计算机简称为NC(Network Computer),其概念最早出现在1995年,该概念的内涵随着技术的发展而不断更新。目前,人们比较普遍接受的定义是具备一定计算能力,主要利用网络计算能力和网络资源,便于集中管理的信息处理和信息访问终端设备。网络计算机本身除了人机交互必要的监视器和输入设备外,一般没有外部存储设备如硬盘、软盘驱动器和光盘驱动器等,也很少有扩展端口。它本身具有与PC机相当的计算能力,但一般不具有存储设备,其主要的计算工作和数据存储工作都通过网络在服务器上实现。
与PC机的单一架构不同,网络计算机是一个综合的计算机系统。它包括:客户机;网络;安全门户;应用程序和服务器;Web服务/中间件;数据管理层;操作系统;硬件平台等八个不同的技术层。其中,操作系统与传统PC机上使用的Windows操作系统不同,它普遍使用根据开放源代码的Linux操作系统改编的嵌入式操作系统,因此具有更高的灵活性和安全性。Web服务/中间件用于帮助应用程序和服务与数据管理层、操作系统和硬件平台交换数据。
目前,通常的网络计算机应用模式可以分为C/S(客户机-服务器)和B/S(浏览器-服务器)两种。不论是哪一种模式,作为Web服务/中间件的浏览器都是支持客户机数据访问和提供服务接口的重要工具。目前人们普遍使用的浏览器是美国微软公司免费发布的Internet Explorer,简称IE。网络计算机使用IE进行服务器访问的工作方式符合绝大多数用户的使用习惯,并且IE还可以实现很多扩展功能和用户交互功能,因此在网络计算机中仍然有必要使用基于IE的浏览器。
现有的IE浏览器在网络计算机中直接使用会导致很多问题,其中最主要的是资源保障的问题。由于IE浏览器在程序设计上存在一定的缺陷,它在运行时会占用过多的服务器资源。在多个客户机同时登录同一台服务器的情况下,服务器的负担会很重,很容易出现系统运行不流畅,甚至宕机等问题,将会严重影响网络计算机的正常使用。
发明内容
本发明的目的在于提供一种新型的网络计算机专用协同浏览器。该浏览器基于IE内核,采用插件工具对消耗服务器资源的对象进行过滤,可以实现服务器和客户机的协同工作。
本发明的另一个目的是提供一种实现该网络计算机专用协同浏览器的方法。
为实现上述的发明目的,本发明采用下述的技术方案:
一种网络计算机专用协同浏览器,该浏览器基于IE内核,其特征在于:
所述协同浏览器还包括插件、窗口监视模块、本地对象模块和显示叠加模块、本地对象协议模块,各自分布在网络计算机的服务器端和客户机端;
其中:
在服务器端的部分包括所述插件、窗口监视模块;
在客户机端的部分包括本地对象模块和显示叠加模块;
所述本地对象协议模块分为客户机端和服务器端两部分,分别分布在客户机和服务器上。
所述服务器端和客户机端之间通过本地对象协议实现通信。
所述插件包括Html流分析插件和本地对象处理插件;所述Html流分析插件通过截取IE对Html流分析的相应事件,根据预设的过滤方法分离出需要重新分布计算的对象,传递给所述本地对象处理插件进行处理;所述本地对象处理插件在服务器端创建所获取对象的存根对象,并在对应的客户机端创建关联的本地对象,使它们进行协同工作。
所述过滤方法为所述插件根据所述对象的文件扩展名进行判断,符合过滤条件的对象截留在客户机处,不符合过滤条件的对象传送到服务器处。
所述窗口监视模块通过本地对象协议向客户机传递过滤对象的位置及其暴露区大小等参数。
所述显示叠加模块通过本地对象协议传送过来的图像与本地对象进行叠加,实现在客户机处的显示。
一种上述网络计算机专用协同浏览器实现客户机与服务器协同工作的方法,其特征在于包括如下步骤:
(1)协同浏览器中的插件分析服务器和客户机之间的Html流,按照预定的过滤规则对对象进行过滤;
(2)插件通过本地对象协议在客户机端创建本地对象并格式化传递对象内容;
(3)客户机端本地对象模块对本地对象进行实例化、解码、显示、移动等操作;
(4)窗口监视模块监视数据流的排版结果,并且根据排版结果计算窗口之间的覆盖关系;
(5)窗口监视模块通过本地对象协议向服务器传递计算结果;
(6)客户机端显示叠加模块根据计算结果在客户机处显示合成最终的图像。
本发明所述的网络计算机专用协同浏览器及其实现方法可以为网络计算机的用户提供一种实现服务器和客户机紧密协作的浏览器。使用该浏览器,部分较多消耗服务器资源的对象被分流到具有较强运算能力的客户机上,从而使本地计算能力得到充分利用,可以大大减少服务器的投入,提高整个系统的性价比。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为本发明所述的协同浏览器的组成结构示意图。
图2为本发明所述协同浏览器实现客户机与服务器协同工作的方法流程图。
具体实施方式
本发明的基本思路在于对浏览器中要处理的对象进行分类,对于比较消耗计算资源的那一部分对象,如动画Gif、JPEG、Flash、MPEG等,则不传送给服务器进行处理,而是由具有较强计算能力的客户机进行处理,服务器只处理消耗计算资源不大的那一部分对象。这样做可以充分利用网络计算机中客户机本身所具有的计算能力,减轻服务器的负担,平滑整个系统的计算瓶颈。
为实现上述的技术思路,本发明所述的协同浏览器利用IE浏览器本身具有的特性,在不变动IE内核的前提下,利用IE本身所提供的API(应用程序接口),在IE中嵌入用于过滤对象的插件(Plug-in),并在IE内核的基础上,集成了窗口监视模块、本地对象模块和显示叠加模块。如图1所示,该协同浏览器具体由服务器端和客户端两部分组成。其中在服务器端的部分包括用于过滤对象的IE Plug-in,窗口监视模块,在客户端的部分包括本地对象模块和显示叠加模块。另外,网络计算机的客户机和服务器之间要采用本地对象协议(LOCP)进行网络通信,因此,该协同浏览器中还内嵌有支持LOCP协议的本地对象协议模块,该模块分为客户机端和服务器端两部分,分别分布在客户机和服务器上。
IE Plug-in的作用在于分析Html流并完成Plug-in对象的过滤及处理,通过LOCP协议,管理本地对象在网络计算机端的创建、删除、移动,获取本地对象的内容并传递到网络计算机端,负责与对应的本地对象的交互。IEPlug-in将相对比较消耗服务器资源的对象如动画Gif、JPEG、Flash、MPEG等分离出来,将此类对象的分析和显示工作分流到具有较强计算能力的客户机上,由客户机对该类对象进行解释和显示。这样,需要服务器进行的工作就相应减少,服务器的负荷减轻,可以避免出现因服务器负荷过重,对客户机命令响应不及时的问题出现,使服务器和客户机彼此的工作步调协调一致。这就是本发明所述浏览器被命名为协同浏览器的原因所在。
IE Plug-in是IE的COM插件,包括一个Html流分析插件和本地对象处理插件。前者是IE对Html流分析的一个组成部分,通过截取IE对Html流分析的相应事件,分离出需要重新分布计算的对象,传递给本地对象处理插件进行处理。后者在服务器端创建所获取对象的一个存根对象,并通过本地对象协议,在对应的网络计算机端创建关联的本地对象,使它们进行协同工作。该存根对象根据IE的状态,管理所关联本地对象的生命周期,传送本地对象的内容到客户端,并响应网络计算机端用户的交互事件,这种工作方式对用户而言是透明的。
IE Plug-in在进行对象分离工作时,可以有多种技术实现手段。一般而言,包含有图像、声音内容的对象都是占用过多系统资源的,而此类对象都有确定的文件扩展名,因此,可以让IE Plug-in根据文件的扩展名进行判断,凡是文件后缀是JPEG、GIF、AVI、MPG或者诸如此类的文件对象,一律停止传送给服务器,只由客户机进行处理。这种判断方法简单有效,所需的计算工作少,有利于提高协同工作效率。
窗口监视模块的作用在于根据排版结果,计算窗口覆盖关系;通过本地对象协议传递Plug-in对象的位置及其暴露区大小等参数。该模块是根据使用本协同浏览器的网络计算机系统特有的操作模式而专门设置的。使用本协同浏览器时,对于在同一窗口中出现的不同类型的对象,要分别在服务器和客户机中进行处理,最后得到的结果要同时在同一窗口中进行显示,因此有必要通过窗口监视模块对不同对象占用窗口的情况进行监控,保证最终的显示结果符合排版的要求。
本地对象模块和显示叠加模块都位于客户机处。本地对象模块的作用在于实现本地对象的实例化、解码、显示、移动,并实现通过LOCP协议与对应的IE Plug-in进行交互。显示叠加模块负责管理所有的本地对象,并综合RDP通道传递的图像,与本地对象进行叠加,完成在客户机处最后的显示。
本地对象协议模块在本协同浏览器的实现过程中具有特殊重要的作用。本地对象协议是为完成服务器和网络计算机之间的协同工作而开发的应用层协议。它主要定义协同浏览器服务器端和客户端交互通道的数据格式、工作顺序和语义,定义服务器端和客户端通过IE Plug-in和本地对象进行交互所需要的命令和数据方面的内容。其命令包括对象创建、对象删除、对象数据、对象移动和自定义命令,并定义了服务器端编程接口、本地对象的规格和编程接口等。
对象创建和对象删除命令用于服务器端通知协议模块客户端建立和删除指定的本地对象。当IE Plug-in插件分析到一个新的对象需要本地化处理时,通过本地对象协议生成并向客户端发送对象创建命令,由客户端对象管理器(协议客户端)生成对应的本地对象。该本地对象在其生命周期中负责与服务端存根对象同步,接收从服务端发送的对象数据,解释之并在指定的客户端显示区域按要求的剪裁进行显示。当IE Plug-in插件发现一个本地化对象需要删除时,通过本地对象协议生成并向客户端发送对象删除命令,由客户端对象管理器删除该本地对象。当IE Plug-in插件发现一个本地化对象需要移动时,通过本地对象协议生成并向客户端发送对象移动命令,该本地对象记录新的位置,在合适的刷新周期内,在新的位置和剪裁条件下显示对象。
对象数据命令用于服务器端指示客户端该命令跟随的对象数据内容。当IE Plug-in插件请求的对象数据内容到来后,该插件生成并向客户端发送对象数据命令,并跟随对象数据内容。客户端关联本地对象负责接收该数据内容,用于解释显示。一般情况下对应于一个本地对象的对象数据命令及对象数据内容只发送一次,由客户端本地对象负责保存及重用,从而优化网络传输。自定义命令则供客户端和服务器实现特殊功能使用。
图2是本发明所述的协同浏览器实现客户机与服务器协同工作的过程示意图。该过程包括如下步骤:
(1)协同浏览器中的IE Plug-in分析服务器和客户机之间的Html流,按照预定的过滤规则对对象进行过滤;
(2)IE Plug-in通过本地对象协议在客户机端创建本地对象并格式化传递对象内容;
(3)客户机端本地对象模块对本地对象进行实例化、解码、显示、移动等操作;
(4)窗口监视模块监视Html流的排版结果,并且根据排版结果计算窗口之间的覆盖关系;
(5)窗口监视模块通过本地对象协议向服务器传递计算结果;
(6)客户机端显示叠加模块根据计算结果在客户机处显示合成最终的图像。
通过上述步骤,可以解决网络计算机通过RDP方式在运行IE时造成服务器压力过大的问题,特别是对访问可能大量消耗服务器CPU资源的含有大量动画GIF、JPEG、Flash、MPEG等格式的网页时可以明显改善显示效果,避免出现现在普遍存在的5~8台客户机同时运行时就会出现服务器假死机的现象。因此,本发明所述协同浏览器及其实现方法是非常合适网络计算机环境下使用的一种新技术和设计方法。
Claims (7)
1.一种网络计算机专用协同浏览器,该浏览器基于IE内核,其特征在于:
所述协同浏览器还包括插件、窗口监视模块、本地对象模块和显示叠加模块、本地对象协议模块,各自分布在网络计算机的服务器端和客户机端;
其中:
在服务器端的部分包括所述插件、窗口监视模块;
在客户机端的部分包括本地对象模块和显示叠加模块;
所述本地对象协议模块分为客户机端和服务器端两部分,分别分布在客户机和服务器上。
2.如权利要求1所述的网络计算机专用协同浏览器,其特征在于:
所述服务器端和客户机端之间通过本地对象协议实现通信。
3.如权利要求1或2所述的网络计算机专用协同浏览器,其特征在于:
所述插件包括Html流分析插件和本地对象处理插件;所述Html流分析插件通过截取IE对Html流分析的相应事件,根据预设的过滤方法分离出需要重新分布计算的对象,传递给所述本地对象处理插件进行处理;所述本地对象处理插件在服务器端创建所获取对象的存根对象,并在对应的客户机端创建关联的本地对象,使它们进行协同工作。
4.如权利要求3所述的网络计算机专用协同浏览器,其特征在于:
所述过滤方法为所述插件根据所述对象的文件扩展名进行判断,符合过滤条件的对象截留在客户机处,不符合过滤条件的对象传送到服务器处。
5.如权利要求1所述的网络计算机专用协同浏览器,其特征在于:
所述窗口监视模块通过本地对象协议向客户机传递过滤对象的位置及其暴露区大小等参数。
6.如权利要求1所述的网络计算机专用协同浏览器,其特征在于:
所述显示叠加模块通过本地对象协议传送过来的图像与本地对象进行叠加,实现在客户机处的显示。
7.一种如权利要求1所述网络计算机专用协同浏览器实现客户机与服务器协同工作的方法,其特征在于包括如下步骤:
(1)协同浏览器中的插件分析服务器和客户机之间的Html流,按照预定的过滤规则对对象进行过滤;
(2)插件通过本地对象协议在客户机端创建本地对象并格式化传递对象内容;
(3)客户机端本地对象模块对本地对象进行实例化、解码、显示、移动等操作;
(4)窗口监视模块监视数据流的排版结果,并且根据排版结果计算窗口之间的覆盖关系;
(5)窗口监视模块通过本地对象协议向服务器传递计算结果;
(6)客户机端显示叠加模块根据计算结果在客户机处显示合成最终的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100706942A CN100527670C (zh) | 2004-07-29 | 2004-07-29 | 协同浏览器实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100706942A CN100527670C (zh) | 2004-07-29 | 2004-07-29 | 协同浏览器实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1728642A true CN1728642A (zh) | 2006-02-01 |
CN100527670C CN100527670C (zh) | 2009-08-12 |
Family
ID=35927672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100706942A Expired - Fee Related CN100527670C (zh) | 2004-07-29 | 2004-07-29 | 协同浏览器实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100527670C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246503B (zh) * | 2008-03-17 | 2010-06-09 | 腾讯科技(深圳)有限公司 | 一种降低中央处理器占用率的系统和方法 |
CN101895531A (zh) * | 2010-06-13 | 2010-11-24 | 北京北大众志微系统科技有限责任公司 | 一种客户端设备、多媒体数据卸载系统及卸载方法 |
CN102663081A (zh) * | 2012-04-01 | 2012-09-12 | 杭州格畅科技有限公司 | 在线应用平台内浏览网页的方法及在线浏览器、在线应用平台 |
CN103176977A (zh) * | 2011-12-20 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 加载页面的方法、系统及浏览器 |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
US20210021616A1 (en) * | 2018-03-14 | 2021-01-21 | Intelici - Cyber Defense System Ltd. | Method and system for classifying data objects based on their network footprint |
-
2004
- 2004-07-29 CN CNB2004100706942A patent/CN100527670C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246503B (zh) * | 2008-03-17 | 2010-06-09 | 腾讯科技(深圳)有限公司 | 一种降低中央处理器占用率的系统和方法 |
CN101895531A (zh) * | 2010-06-13 | 2010-11-24 | 北京北大众志微系统科技有限责任公司 | 一种客户端设备、多媒体数据卸载系统及卸载方法 |
CN103176977A (zh) * | 2011-12-20 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 加载页面的方法、系统及浏览器 |
CN103176977B (zh) * | 2011-12-20 | 2016-09-21 | 腾讯科技(深圳)有限公司 | 加载页面的方法、系统及浏览器 |
CN102663081A (zh) * | 2012-04-01 | 2012-09-12 | 杭州格畅科技有限公司 | 在线应用平台内浏览网页的方法及在线浏览器、在线应用平台 |
US20210021616A1 (en) * | 2018-03-14 | 2021-01-21 | Intelici - Cyber Defense System Ltd. | Method and system for classifying data objects based on their network footprint |
US12041064B2 (en) * | 2018-03-14 | 2024-07-16 | Intelici-Cyber Defense System Ltd. | Method and system for classifying data objects based on their network footprint |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN111061976B (zh) * | 2019-12-31 | 2023-08-08 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100527670C (zh) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582425B (zh) | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 | |
US10292044B2 (en) | Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods | |
US10180947B2 (en) | File-agnostic data downloading in a virtual file system for cloud-based shared content | |
CN102281305B (zh) | 用于提供客户端加速技术的系统和方法 | |
EP2108228B1 (en) | Method, apparatus, and computer program for data upload in a computing system | |
US20150127716A1 (en) | Filtering Unnecessary Display Updates for a Networked Client | |
US20170222891A1 (en) | Automatic asynchronous handoff identification | |
CA2601034A1 (en) | A method and apparatus for updating a graphical display in a distributed processing environment using compression | |
KR20090106453A (ko) | 원격 상호작용에 응답한 비디오 콘텐츠의 전송 아키텍처 | |
US10216601B2 (en) | Agent dynamic service | |
AU2021203637B1 (en) | Synchronization of data between local and remote computing environment buffers | |
CN112637304B (zh) | 一种跨云资源处理系统和资源管理方法 | |
CN103207965A (zh) | 一种虚拟环境下License认证的方法及装置 | |
Li et al. | Optimization of Face Recognition System Based on Azure IoT Edge. | |
WO2023226197A1 (zh) | 基于kubernetes的云原生存储方法、装置、设备及介质 | |
CN1728642A (zh) | 网络计算机专用协同浏览器及其实现方法 | |
CN101030135A (zh) | 一种在共享内存中存储c++对象的方法及装置 | |
CN103106277A (zh) | 一种基于云计算的取证方法 | |
CN1410904A (zh) | 一种具有tcp连接容错功能的负载平衡调度器及其调度方法 | |
EP1821490A1 (en) | Method for transmitting graphical data to a thin client | |
CN113923261A (zh) | 一种业务请求响应方法、系统、设备及计算机可读介质 | |
CN1266604C (zh) | 大规模异构机群的管理系统及传递数据和分发命令方法 | |
US20210385281A1 (en) | Intelligently managing resource utilization in desktop virtualization environments | |
CN1199399C (zh) | 基于Java的终端仿真方法 | |
CN100561408C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090812 Termination date: 20130729 |