一种网页数据的实时更新方法

文档序号:7600147阅读:228来源:国知局
专利名称:一种网页数据的实时更新方法
技术领域
本发明涉及网页数据的更新方法,尤指一种网页数据的实时更新方法。
背景技术
随着互联网技术的飞速发展,社会生活各个方面的数据信息都有赖于网络发布和传递。网络上传输的数据内容丰富,有与大众生活密切相关的信息,如网络新闻、股票指数、证券信息或气象信息等,有针对特定职能部门的专用信息,如水库监管部门获取的各地水库水量、电量等数据。网络上传输的数据大多以网页数据的形式提供给用户,对于数据内容本身是随时间持续变化的信息,用户端存在对该网页数据的实时更新需求。
基于数据内容随时间持续变化的特点,以及由此产生的实时数据更新需求,网页数据的实时更新技术逐步发展起来。网页数据的实时更新技术是一种数据自动更新技术,采用该技术能保证数据获取端根据被监控数据的变化自动更新数据获取端的本地数据,从而保证数据获取端在第一时间对被监控数据的变化做出反应。此处,被监控数据指的是由于随时间持续变化而需要实时更新的数据。网页数据的实时更新技术被广泛应用于对数据有实时更新需求的领域,如网络管理、证券管理、水文监控,以及气象监控等。
网页数据的实时更新技术可以基于两种模式客户/服务器(C/S)模式和浏览器/服务器(B/S)模式。对于C/S模式,服务器采用高性能的工作站或小型机,而用户端需要安装专用的用户端程序,对用户端程序的安装、维护和升级等处理的代价都很昂贵。对于B/S模式,用户端基于通用浏览器读取服务器端的实时更新数据。目前,通用的浏览器有微软公司开发的Internet Explorer(产品名),网景公司开发的Netscape Navigator(产品名)等。
随着B/S模式的广泛应用,基于B/S模式的网页数据实时更新技术逐步发展起来。现有技术中的网页数据实时更新技术的系统结构简明示意图如图1所示,当前显示网页103通过浏览器102和后台服务器101联系,其中浏览器102和后台服务器101之间的联系符合超文本传输协议(HTTP)。
目前,基于B/S模式的网页数据实时更新技术包括以下几种其一是网页内嵌控件技术。该技术实际上是C/S模式和B/S模式的组合应用。对于带有控件的网页,网页上的实时更新数据需要类似于C/S模式用户端程序的专用程序解析,该专用程序称为控件程序。用户端浏览器需要下载并安装控件程序,才能打开并阅读该网页。
网页内嵌控件技术在实现网页数据的实时更新时,存在以下缺点(1)由于控件程序需要经过加载、安装和初始化等一系列处理过程,所以带有内嵌控件的网页浏览速度较慢。
(2)在网络安全性上,带内嵌控件的网页可能携带网络病毒,所以在控件安装过程中,如果客户安装了携带有病毒的控件程序,可能损坏用户端计算机,从而造成不可估量的恶果。
(3)在不安装控件程序的情况下,浏览器无法打开带有内嵌控件的网页。比如微软公司宣布IE6.0以后的版本不再支持JAVA技术,用户端在浏览用JAVA方式实现的Applet网页时,必须安装解析Applet网页所必须的JAVA运行环境(JRE),而且需要保证所使用的JDK程序版本与解析Applet网页所需的JRE程序版本一致。
其二是服务器推送(Server Push)技术。该技术采用特殊的HTTP响应格式,由服务器向每个来访的浏览器发送一个没有结束标志的响应数据,永远在服务器和浏览器之间保持HTTP连接,直到服务器不再有数据更新并发送结束信号给浏览器,或者用户端中断连接,该HTTP连接才结束。在该技术中,由于服务器和浏览器之间始终保持连接,服务器可以根据自身数据更新情况主动发送更新数据到用户端。
服务器推送技术在实现网页数据的实时更新时,存在以下缺点(1)由于服务器和用户端始终保持连接,故服务器必须为每个用户的连接分配一个TCP/IP端口。由于服务器的TCP/IP端口数有限,故该网络系统无法支持大量用户的访问请求,而且这种服务器和用户端始终保持连接的状态极大地浪费了服务器端的资源。
(2)采用服务器推送方式实现的实时更新对通讯链路的稳定性要求高,所以采用该方法需要额外的用于防止中断的处理程序,复杂度提高。
(3)并非所有的浏览器都支持服务器推送技术的HTTP响应格式,故该方法的使用范围有很大局限。
(4)现有通信标准规定,浏览器向服务器请求网页采用用户端拖拽(Pull)技术。该技术的工作过程如下浏览器向服务器发送请求;服务器对浏览器的请求进行应答;服务器应答结束后,浏览器与服务器之间建立的通讯连接即行中断。而在服务器推送技术中,系统保持了服务器和浏览器之间的HTTP连接。这种思想违背了协议设计的初衷,故在实际应用中需要针对每个具体问题开发成套相应的应用程序,开发成本昂贵。

发明内容
有鉴于此,本发明的主要目的在于提供一种网页数据的实时更新方法,在用户端自动实现网页数据的实时更新,而且保证该方法的通用性,即使用该方法实现的网页数据实时更新对用户端浏览器不存在特殊要求。
为达到上述目的,本发明的技术方案具体是这样实现的一种网页数据的实时更新方法,该方法包括以下步骤a.用户端向后台服务器发出网页访问请求;b.后台服务器将包含查询数据更新的网页元素的网页发送至用户端,查询数据更新的网页元素启动工作,实时到后台服务器查询并获取更新数据到用户端。
较佳地,所述查询数据更新的网页元素包括定时器,以及数据更新模块;则步骤b中查询数据更新的网页元素启动工作包括b1.浏览器打开网页时,定时器启动工作,开始计时;b2.定时器到达更新时间,触发数据更新模块进行数据更新。
进一步地,步骤b2所述的数据更新模块的数据更新过程包括b21.数据更新模块启动工作,建立浏览器端和后台服务器的连接,并向后台服务器查询网页数据变化情况;b22.后台服务器判断网页数据是否变化,如果网页数据发生变化,则执行步骤b23,如果网页数据没有变化,则数据更新过程结束,浏览器端和后台服务器断开连接;b23.后台服务器将更新后的网页数据送到用户端,数据更新模块更新用户端数据,数据更新过程结束,浏览器端和后台服务器断开连接。
进一步地,步骤b21包括数据更新模块向浏览器发出查询网页数据是否变化请求;浏览器收到该请求,向后台服务器发出查询网页数据是否变化请求。
进一步地,步骤b22所述的判断网页数据是否变化的方法是后台服务器为网页数据设置标识位;通过判断标识位是否变化进而判断网页数据是否变化,如果标识位发生变化,则判断网页数据发生变化,如果标识位没有发生变化,则判断网页数据未发生变化。
较佳地,后台服务器设置网页数据的更新时间作为该网页数据的标识位。
进一步地,步骤b23所述的数据更新模块更新用户端数据包括数据更新模块比较更新后的网页数据和当前显示网页的数据;对于更新数据和当前显示网页数据不同的内容,数据更新模块以覆盖的方式将更新数据写到当前显示网页。
进一步地,步骤b23所述的数据更新模块更新用户端数据包括数据更新模块以全部覆盖的方式将更新数据写到当前显示网页。
较佳地,所述网页元素为帧,或网页元素为域,或网页元素为层。
进一步地,所述网页元素为隐藏帧,或所述网页元素为非隐藏帧。
由上述的技术方案可见,本发明的这种网页数据的实时更新方法在网页中增加了查询数据更新的网页元素,查询数据更新的网页元素可以实时到后台服务器查询并获取更新数据到用户端。因此,对用户端而言,用户只要通过普通浏览器发出访问请求获得所需网页,且通过普通浏览器阅读其获得的网页即可,网页数据的实时更新由网页携带的查询数据更新的网页元素完成。在此过程中,用户不必区分要访问的网页是普通网页还是具有实时更新功能的网页。对于后台服务器而言,该方法只在后台数据发生变化时才传送数据到用户端,所以减少了许多不必要的网页数据传输,能更好的支持网络用户的访问请求。由上述可见,网页数据的实时更新方法给用户端和应用开发人员都带来极大的便利。


图1为现有技术中实现数据实时更新业务的网络系统结构示意图;图2为本发明中实现数据实时更新业务的网络系统结构示意图;图3为本发明一个较佳实施例中触发数据更新流程图;图4为本发明一个较佳实施例的数据更新模块完成数据更新的流程图。
具体实施例方式
本发明的核心思想是用户端向后台服务器发出网页访问请求;后台服务器将包含查询数据更新的网页元素的网页发送至用户端,查询数据更新的网页元素启动工作,实时到后台服务器查询并获取更新数据到用户端。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明一较佳实施例的系统结构简明示意图如图2所示。由图2可以看出,查询数据更新的网页元素204通过浏览器202和后台服务器201联系,其中浏览器202和后台服务器201之间的联系符合HTTP协议;查询数据更新的网页元素204将信息传递给当前显示页面203,其中当前显示页面203的数据以及查询数据更新的网页元素204的数据都要通过浏览器202解析。
上述查询数据更新的网页元素204和当前显示页面203都是由后台服务器下载到用户本地的网页的组成部分,只是二者的作用不同。当前显示页面203是提供给用户阅读的,是用户获取信息的平台;查询数据更新的网页元素204是网页的功能模块,能定时更新当前显示页面203的数据。
本发明中,查询数据更新的网页元素204包括以下模块定时器205,以及数据更新模块206。该网页元素204可以使用但不限于使用以下网页单元实现帧、域,或层。所述帧指的是一种网页框架,框架内又可分为父框和子框。所述域是网页上保存数据的区域,比如网页上的输入框,或者网页上的选择框。所述层是指对网页采用分层实现的方法获得的网页单元。上述帧的属性可以设置为隐藏属性,即用户无法通过浏览器看到该帧;也可以设置为非隐藏属性。
下面结合图2的系统结构简明示意图对网页数据的实时更新过程做详细的描述,下述过程中查询数据更新的网页元素204使用隐藏帧技术实现。
网页数据的实时更新包括两个过程触发更新过程和完成数据更新过程。其中,触发更新过程参见图3,具体实现如下步骤301用户通过浏览器202向后台服务器201发出访问网页请求。
步骤302后台服务器201将网页发送到用户本地,由浏览器202打开该网页。
步骤303隐藏帧中的定时器205启动工作,开始计时。
从后台服务器下载到用户本地的网页包括当前显示页面203和隐藏帧,所以浏览器打开该网页时,一方面将当前显示页面展示给用户阅读,另一方面触发隐藏帧中的定时器205启动工作。
步骤304定时器205到达更新时间,触发隐藏帧中的数据更新模块206执行数据更新功能。
其中,所述定时器的更新时间由系统设置,更新时间可以设置为等间隔的,也可以设置为非等间隔的。定时器每次到达更新时间就对数据更新模块产生一次触发,而不必等待上次更新时间触发的任务完成才发起下一次触发。而且,后台服务器可以根据需要灵活调整定时器的更新时间。
完成数据更新过程由隐藏帧中的数据更新模块206完成,具体步骤参见图4步骤401数据更新模块206向浏览器发出请求,要求查询网页数据是否发生变化;浏览器收到请求,转而向后台服务器发送HTTP请求,与后台服务器建立连接,执行查询操作。
实际应用中,浏览器在收到数据更新模块206发出的请求时,可能因为执行其他任务已经与后台服务器建立了连接,因此浏览器可以利用已经建立的连接向后台服务器发送HTTP请求。
步骤402后台服务器收到请求后,判断网页数据是否发生变化,如果数据发生变化,则执行步骤403;如果数据没有发生变化,则本次数据更新过程结束,浏览器端和后台服务器之间断开连接。
实际应用中,在数据没有变化情况下,浏览器可能因为执行其他任务需要用到已建立的连接,此时浏览器端和后台服务器之间的连接可以不立即断开。
其中,后台服务器可以采用下述方法判断网页数据是否发生变化后台服务器为网页数据设置标识位;然后,服务器通过判断标识位是否变化判断网页数据是否变化。如果标识位发生变化,则判断网页数据发生变化;如果标识位没有发生变化,则判断网页数据未发生变化。
上述数据标识位的设置方法是系统将网页数据在后台服务器的更新时间作为该网页数据的标识,浏览器在查询网页数据是否变化时,后台服务器判断数据的更新时间是否落在浏览器上次查询时间和本次查询时间之间,如果是则判断数据发生变化。例如后台服务器前后两次数据的更新时间分别是8:05am和8:20am,浏览器的上次查询时间是8:04am,如果浏览器的本次查询时间是8:15am,由于后台服务器的数据在8:04am和8:15am之间没有发生变化,所以后台服务器判断数据没有发生变化,即网页数据无需更新;如果浏览器的本次查询时间是8:21am,由于后台服务器的数据在8:20am时发生变化,所以后台服务器判断数据发生变化。
步骤403后台服务器通过网络将更新后的数据送到用户本地,由数据更新模块完成用户本地的数据更新,本次数据更新过程结束,浏览器端和后台服务器之间断开连接。
上述用户本地数据更新的一种实现方法是隐藏帧中的数据更新模块比较当前显示网页数据以及后台服务器发送的更新数据,对于二者不同的数据内容,数据更新模块以覆盖的方式将更新数据写到当前显示网页,让用户阅读到更新的数据。
上述用户本地数据更新的另一种实现方法是隐藏帧中的数据更新模块将后台服务器发送的更新数据以全部覆盖当前显示网页的方式写到当前显示网页,让用户阅读到更新的数据。
由上述的实施例可见,本发明的这种网页数据的实时更新方法使用方便,通用性强。同时,该方法只在后台数据发生变化时才传送数据到用户端,所以减少了许多不必要的网页数据传输,使网页数据传输效率得到提高。
权利要求
1.一种网页数据的实时更新方法,其特征在于,该方法包括以下步骤a.用户端向后台服务器发出网页访问请求;b.后台服务器将包含查询数据更新的网页元素的网页发送至用户端,查询数据更新的网页元素启动工作,实时到后台服务器查询并获取更新数据到用户端。
2.根据权利要求1所述的网页数据实时更新方法,其特征在于,所述查询数据更新的网页元素包括定时器,以及数据更新模块;则步骤b中查询数据更新的网页元素启动工作包括b1.浏览器打开网页时,定时器启动工作,开始计时;b2.定时器到达更新时间,触发数据更新模块进行数据更新。
3.根据权利要求2所述的网页数据实时更新方法,其特征在于,步骤b2所述的数据更新模块的数据更新过程包括b21.数据更新模块启动工作,建立浏览器端和后台服务器的连接,并向后台服务器查询网页数据变化情况;b22.后台服务器判断网页数据是否变化,如果网页数据发生变化,则执行步骤b23,如果网页数据没有变化,则数据更新过程结束,浏览器端和后台服务器断开连接;b23.后台服务器将更新后的网页数据送到用户端,数据更新模块更新用户端数据,数据更新过程结束,浏览器端和后台服务器断开连接。
4.根据权利要求3所述的网页数据实时更新方法,其特征在于,步骤b21包括数据更新模块向浏览器发出查询网页数据是否变化请求;浏览器收到该请求,向后台服务器发出查询网页数据是否变化请求。
5.根据权利要求3所述的网页数据实时更新方法,其特征在于,步骤b22所述的判断网页数据是否变化的方法是后台服务器为网页数据设置标识位;通过判断标识位是否变化进而判断网页数据是否变化,如果标识位发生变化,则判断网页数据发生变化,如果标识位没有发生变化,则判断网页数据未发生变化。
6.根据权利要求5所述的网页数据实时更新方法,其特征在于,后台服务器设置网页数据的更新时间作为该网页数据的标识位。
7.根据权利要求3所述的网页数据实时更新方法,其特征在于,步骤b23所述的数据更新模块更新用户端数据包括数据更新模块比较更新后的网页数据和当前显示网页的数据;对于更新数据和当前显示网页数据不同的内容,数据更新模块以覆盖的方式将更新数据写到当前显示网页。
8.根据权利要求3所述的网页数据实时更新方法,其特征在于,步骤b23所述的数据更新模块更新用户端数据包括数据更新模块以全部覆盖的方式将更新数据写到当前显示网页。
9.根据权利要求1~8中任一项所述的网页数据实时更新方法,其特征在于,所述网页元素为帧,或网页元素为域,或网页元素为层。
10.根据权利要求9所述的网页数据实时更新方法,其特征在于,所述网页元素为隐藏帧,或所述网页元素为非隐藏帧。
全文摘要
本发明公开了一种网页数据的实时更新方法。该方法实现网页数据的实时更新过程包括浏览器端向后台服务器发出网页访问请求;后台服务器将包含查询数据更新的网页元素的网页发送至用户端,查询数据更新的网页元素启动工作,实时到后台服务器查询并获取更新数据到用户端。本发明的这种网页数据的实时更新方法使用方便,通用性强。同时,该方法只在后台数据发生变化时才传送数据到用户端,所以减少了许多不必要的网页数据传输,使网页数据传输效率得到提高。
文档编号H04L12/24GK1783804SQ200410096808
公开日2006年6月7日 申请日期2004年12月1日 优先权日2004年12月1日
发明者谢辉, 白广元 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1