专利名称:服务器的数据快取系统及其数据更新方法
技术领域:
本发明涉及一种电脑互联网络的服务器,特别是一种服务器的数据快取系统及其数据更新方法,其功能在于将用户端下载过的数据储存在服务器的快取存储器中,以减少再次下载的时间。
随着网络通信技术的快速发展,各种网络应用软硬件已广为各行各业运用,如LAN(Local Area Network)、WAN(Wide AreaNetwork)、Intranet以及Internet等,已成为人们日常生活的重要部分。
网络按统一的传输协定,使网络中的某一节点可以将声音、影像以及文字等信息传送至另一节点或自另一节点下载数据或网页,如Internet是使用超文本传输协定(Hyper Text Transfer Protocol-HTTP),无线通信网络则使用无线应用协定(Wireless ApplicationProtocol-WAP)。换言之,只要两节点位于同一网络中,使用者将可在任何时间及任何地点自一节点与另一节点进行信息传输,达到信息快速流通与共用的目的。利用各种不同的通信网络连接,以增加网络的节点数,不但扩大了可共用资源的利用率,更可延伸通信的距离至各个角落,造就了今日无所不及的网络世界。
通信网络通常是采用主从放射状配置,即一个服务器连接数个用户端,数个服务器连接至主服务器,主服务器再连接至网络,其主从的层级多寡不一。因此,用户端需通过服务器才可与网络上其他节点进行通信传输。一般而言,可供下载的数据储存在服务器中,当一使用者欲下载一个远端服务器所存有的数据时,通常需通过一至多个服务器。首先,其下载要求将先传送至本地端的服务器,经由本地端的服务器通过其他层级的服务器将下载要求传送至存有所欲下载数据的远端服务器。在接收到下载要求后,该远端服务器随即将所欲下载的数据通过其他服务器传送至本地端的服务器。最后,本地端的服务器接收到数据,即将该数据传给用户端,可供使用者浏览。
在上述传输过程中,若有一个服务器因作业量过大或网络拥塞而延迟处理速度时,自使用者下达下载要求至接收到下载数据所经过的时间会延长,其所造成的时间浪费与不便是网络使用上的一大问题。为克服网络传输的延迟现象。现已发展出网络快取(cache)机制,以使网络系统的数据传输效率更高,就现行的网络快取系统而言,其通常是在本地端的服务器上规划出一个存储器区块,将使用者先前曾经自远端服务器下载过的数据预留一个快取备份档,在此存储器区块中,待使用者欲再次下载该数据时,本地端服务器即不需再次连线自远端服务器重复下载,可自此存储器区块中将该快取数据取给使用者,这样,便可节省数据传送所耗费的时间,使系统使用效益提高。
一般而言,本地端服务器将快取备份数据保存一段特定时间,以待使用者再次要求该数据时得以快速下载。若该数据内容本身为一变动信息,即随时间持续更动的数据,如网络新闻或股票指数等,则极可能发生如下情况,即本地端服务器所储存的快取数据与远端服务器所有的原始数据不一致。其原因即在该特定时间之内,储存于远端服务器的原始数据已经更新,而本地端服务器所储存的快取数据仍为先前未更新的原始数据的备份。此时,在没有察觉到数据已更动的情况下,使用者所浏览的数据将为过时的数据,而非已更新后的数据。
根据上述,可知,当本地端服务器不提供网络快取功能时,用户端的读取要求均将传送至储存原始数据的远端服务器。此时,使用者所取得的数据将为原始数据。反之,当本地端服务器提供网络快取的功能时,在该保存时间之内,用户端对同一笔数据的读取要求将只传送至储存快取数据的本地端服务器,而不储存原始数据的远端服务器。此时,使用者所取得的数据将为快取数据,而不是原始数据。
本发明的目的在于提供一种服务器的数据快取系统及其数据更新方法,使快取数据与原始数据尽可能保持一致。
为达到上述目的,本发明采取如下技术措施在本发明中,用户端首先通过快取服务器下载储存于数据库服务端的原始数据。数据库服务端接收到用户端的下载要求,即将原始数据通过快取服务端传送予用户端。在此过程中,快取服务端将原始数据储存至快取服务端的快取存储器,形成原始数据的快取数据。待原始数据的快取数据已储存至快取服务端的快取存储器,对以后用户端对原始数据的再次下载要求,快取服务端即回传快取数据。
当储存于数据库服务端的原始数据发生变动,即产生新原始数据时,此时,快取数据与新原始数据不一致。
本发明的一实施例中,快取服务端管理人根据一特定准则,于一特定时间重新下载数据库服务端的新原始数据至快取服务端,对快取数据进行更新,产生新的快取数据时,新的快取数据与新原始数据一致。
本发明的另一实施例中,数据库服务端在原始数据发生变动,即产生新原始数据后,发出一更新信号予快取服务端。快取服务端内建一常驻程序,检测自数据库服务端传来的更新信号。在接收到更新信号,得知储存在数据库服务端的原始数据已发生变动,常驻程序即刻重新下载数据库服务端的新原始数据至快取服务端,对快取数据进行更新产生新的快取数据。此时,新的快取数据与新原始数据一致。
本发明的又一实施例中,常驻程序接收数据库服务端传来的更新信号后,并不即时执行新原始数据的下载动作,而是待原始数据的变动规模到达一定程度后,才下载,以避免不必要的系统资源浪费。
本发明包括下列要点(1)提供一个网络服务端数据传输结构,使一个服务端的数据更新动作可即时反应出另一个服务端的快取数据更新。
(2)提供一个网络快取数据更新的方法,是通过快取服务端与数据库服务端间的相互配合运作,以使快取数据与原始数据保持一致。
(3)提供一个网络快取服务端,具有储存用户端先前已下载网络数据的功能,并可依不同情况重新下载原始数据,以更新其所储存的快取数据。
(4)提供一个数据库服务端,以在数据更动后发出一个信号通知快取服务端,以便将快取数据更新。
(5)在快取服务端提供一个常驻程序,根据数据库传来的信号启动快取数据的更新程序。
(6)提供一个频率计数器,记录原始数据的变动情形,并据以启动快取数据的更新程序。
本发明的快取系统及方法具体叙述如下本发明的一种服务器的数据快取系统的数据更新方法,原始数据储存在一个数据库服务端,快取数据储存在一个快取服务端,数据库服务端与快取服务端通过网络连接;包括下列步骤(a)在原始数据变更后,由数据库服务端发出一个信号给快取服务端,该信号包括已变更的原始数据的相关信息;(b)在快取服务端接收该信号后,快取服务端自数据库服务端下载变更后的原始数据;(c)在变更后的原始数据下载完成后,快取服务端将所下载的变更后的原始数据取代快取数据。
本发明的服务器的数据快取系统,包括一个用户端、一个快取服务端及一个数据库服务端;
快取服务端包括一个用于储存快取数据的快取存储器,快取数据是对应于储存在数据库服务端的原始数据,数据库服务端与快取服务端系统通过网络连接;其中快取服务端还包括一个快取更新程序,该更新程序具有下列功能a、接收自数据库服务端发出的信号,该信号包括原始数据变动的相关信息;b、根据该信号的内容计算出一条件,待该条件满足后,自该数据库服务端下载该变更的原始数据;c、将所下载的变更的原始数据取代快取数据。
与现有技术相比,本发明具有如下效果本发明可免除不必要的网络传输,节省资源。
本发明的功能在于将用户端下载过的数据储存在服务器的快取存储器中,以减少再次下载的时间。
结合附图及实施例对本发明的结构特征及方法特征详细说明如下附图简要说明
图1为本发明的服务端快取系统的结构示意图;图2A至图2C为本发明服务端快取系统的运作流程示意图;图3为快取服务端中快取更新程序的流程图。
本发明的快取数据的结构与方法,可使快取数据在原始数据变更后能即时更新,一方面用以减少数据库服务端与快取服务端间的传输次数,另一方面亦可缩短数据的拾取时间。
如图1所示,其为本发明的服务端快取系统的结构示意图,本发明的服务端快取系统包括用户端130、快取服务端150及数据库服务端170,三者通过有线或无线网络彼此沟通。除用户130之外,快取服务端150可同时对其他用户端提供快取服务。此外,除数据库服务端170的数据外,快取服务端150亦可同时快取其他数据服务端的数据。
数据库服务端170包括数据库177及数据服务器175。数据库177为一个可读写存储器,提供下载数据的储存空间。数据库服务器175为一个服务器软件,一经执行即可接受自快取服务端150传入的数据下载要求,而将数据自数据库177取出并下载。此外,数据库服务端170还包括一个数据处理软件179,用以更改数据库177所储存的数据,而数据库管理师是通过操作输出装置171与输入装置172,执行数据库服务端170的各项操作。
快取服务端150包括快取存储器157及快取服务器155。快取存储器157是用以快取自数据库服务端170下载的数据,以便快速下载至用户端130。快取服务器155为一个服务器软件,一经执行即可根据自用户端传入的数据读取要求,向数据库服务端170提出数据下载要求,并于取得数据后传输给用户端,同时在快取存储器157中储存一备份的快取数据。如同数据库管理师一般,快取服务端管理师通过输出装置151与输入装置152对快取服务端150进行操作与管理。
本发明的一实施例中,快取服务端150依不同用户端的特性,通过正在运行服务页(Active Server Page-ASP)的机制产生各种不同的动态网页,据以产生执行结果的动态数据组合,即以正在运行服务页数据的形式储存在快取存储器157中。此动态数据组合包括数据库177所储存的数据以及其它数据库服务端所储存的数据。为简化说明,以下所述仅包括数据库177的一笔原始数据111。
如图2A所示,当用户130欲通过快取服务端150执行一正在运行服务页(ASP)档,自数据库服务端170读取原始数据111时(步骤1),快取服务端150即连线至数据库服务端170(步骤2),并下载数据库177中所储存的原始数据111(步骤3)。之后,快服务端150通过ASP档的执行,将下载数据翻译成标准的网络超文本标记语言(Hyper Text Markup Language-HTML)格式文件,再传送到用户端130(步骤4),并将此ASP数据储存在快取存储器157中,成为原始数据的快取数据112。当用户端130欲再次通过快取服务端150要求该数据时(步骤5),快取服务端150便可将储存在快取存储器157中的快取数据112翻译并上载给用户端130(步骤6),不必再次自数据库服务端170中下载原始数据111。这样,即可达到快取机制的效果。
当原始数据111发生变动时,由于快取数据112并不随之更新,使得快取数据112与更动的原始数据111不一致。此时,在未察觉原始数据111已变动的情况下,用户端将可能读取到过时的快取数据112。
本发明的特点在于提供一种快取更新程序159,以消除原始数据111变更后,快取数据112与更新的原始数据111不一致的问题。快取更新程序159启动后,其储存在快取服务端150中,其功能在于接受更新指令,以执行将新更动的原始数据111下载及取代过时的快取数据112的操作。
根据本发明,快取更新程序159在接收快取数据112的更新指令时,首先通过快取服务器155向数据库服务端170发出一个下载已更新的原始数据111的下载要求。待更新的原始数据111下载完成,快取更新程序159即使更新的原始数据111改写到过时的快取数据112处而取代之。此时,过时的快取数据112即被更新,与更新的原始数据111不一致的问题即可消除。
在本发明的一实施例中,快取服务端管理师可根据特定准则,通过输出装置151与输入装置152发出更新快取数据112的指令给快取更新程序159。据以更新数据的准则可依不同的使用与数据状况而定。例如,若原始数据111具有一个固定的变动周期,如每日新闻或一周大事计要,则更新快取数据112的频率可跟随该周期变动实施,以期使原始数据111与快取数据112两者不一致的时间降至最低。另一方面,若原始数据111不具有一固定的变动周期,快取服务端管理师仍可依对原始数据111的变动期望进行快取数据112的更新程序,使原始数据111与快取数据112两者尽可能保持一致。
如图2B所示,其为由快取服务端150初始化快取数据112更新的运作示意图。在步骤1中,快取服务端150向数据库服务端170发出已更新的原始数据111的下载要求。步骤2中,数据库服务端170上载已更新的原始数据111至快取服务端150,快取数据112立即被更新。之后,在步骤3中,用户端130欲通过快取服务端150下载原始数据111。最后,在步骤4中,快取服务端150将上载更新的快取数据112予用户端130。
在本发明的另一实施例中,更新快取数据112的更新指令是由数据库服务端170发出。当原始数据111更动后,数据库服务端170即通过网络发出一个代表更新指令的信号给快取服务端150。在本发明的实施例中,此信号包括原始数据111的名称、统一资源(UniformResource Locator-URL)地址及更动时间,以告知快取服务端150储存在数据库177的原始数据111已更动。此信号由快取更新程序159接收后,随即执行快取数据112的更新程序。待快取数据112完成更新,快取数据112立即与原始数据111一致。
根据此实施例,由于更新指令的信号是在原始数据111更动后,即刻由数据库服务端170发出,且快取更新程序159于接收此信号后,随即执行快取数据112的更新程序,因此原始数据111与快取数据112两者不一致的时间,扣除数据库服务端170与快取服务端150两者间网络传输所耗费的时间后,几乎近于零。另一方面,由于该信号所包括的数据量较小,其由数据库服务端170传输至快取服务端150所耗费的时间极少。此外,上述快取数据112与原始数据111的同步过程,均通过数据库服务端170与快取服务端150两系统间,软硬件的配合运作,使数据库管理师与快取服务端管理师两者的管理负荷可大大减轻。
如图2C所示,其为由数据库服务端170触发快取数据112更新的运作示意图。在步骤1中,数据库服务端170发出原始数据111已更新的信号予快取服务端150。步骤2中,快取服务端150向数据库服务端170发出已更新的原始数据111的下载要求。步骤3中,数据库服务端170上载已更新的原始数据111至快取服务端150,快取数据112立即被更新。随后,步骤4中,用户端130欲通过快取服务端150下载原始数据111。步骤5中,快取服务端150上载更新的快取数据112予用户端130。
在本发明的另一实施例中,快取更新程序159还包括一个频率计数器,用以记录原始数据111的变动的次数与时间。当原始数据111发生变动时,快取更新程序159接收数据库服务端170所传达的信号后,并不即时执行快取数据112的更新程序,而是通过频率计数器将此次更动的时间记录下来。直待到一预定的更新临界时间时,快取更新程序159才进行快取数据112的更新程序。在本发明的实施例中,更新临界时间为前十次原始数据111更动间隔时间的平均值。
上述实施例的好处如下,当原始数据111的变动周期不固定时,通过其先前的变动记录可以得出对原始数据111概略的变动期望,据以作为适时进行快取数据112更新程序的准则。
在上述的实施例中,若欲使快取更新程序159在接收数据库服务端170所传达的信号后,即时执行快取数据112的更新程序,则仅需将临界时间设为零即可。
此外,在上述实施例中,快取服务端管理师可根据快取更新程序159中的频率计数器的变动记录,追踪原始数据111的变动情形,以作为系统管理参考。
如图3所示,其为快取更新程序159的运作流程图。其中,步骤301中,程序检测原始数据111已变动的信号。若接收到该信号,表示原始数据111已变动,则进入步骤302,频率计数器记录此次变动的时间,并根据先前的变动记录计算出更新临界时间。接着在步骤303中,程序判断自前次变动之后所经过的时间,是否超出频率计数器所计算出的更新临界时间。若否,则跳回步骤301,并重复上述步骤。若是,便进入步骤305,执行快取数据112的更新程序。待更新完成后,即返回步骤301,并重复上述步骤。
在步骤301中,若未检测出原始数据111已变动的信号,则进入步骤304。此时,若管理师尚未下达更新快取数据112的指令,即进入步骤303由程序判断自前次变动之后所经过的时间,是否超出频率计数器所计算出的更新临界时间。若尚未超出,则跳回步骤301,并重复上述步骤。若已超出,便进入步骤305,执行快取数据112的更新程序。待更新完成后,才返回步骤301。另一方面,当管理师下达更新快取数据112的指令,快取更新程序159即在步骤304接收该指令,并随即进入步骤305,执行快取数据112的更新程序。待更新完成后,再返回步骤301。
上述内容是利用实施例说明本发明的技术特征,并非用于限制本发明的保护范围,即使有人在本发明构思的基础上稍作变动,仍应属于本发明的保护范围内。
例如前例中,虽以单一笔原始数据与单一笔快取数据作说明,实则对储存于数个数据库服务器的数笔原始数据,本发明均可产生相对应的快取数据,以达到数据快取的目的。又例如由数据库服务端所发出,用以快取服务端150的原始数据的变动信号,除包括原始数据的名称、地址及更动时间外,尚可包括储存原始数据的服务端信息或其他相关数据的变动情形,以便于快取服务端利用。
举例来说,若原始数据为一个随时间变动内容的最新新间,则变动信号可包括该数据库的其他相关新闻的名称、地址以及更动时间,以使快取服务端可在将原始数据下载时,也可同时选择性地将其相关数据下载(例如仅选择三笔相关数据下载),在用户端得知原始数据已更新后,通常即欲知其相关数据的最新变动。故而在用户端要求该相关数据之前,即先行更新其快取数据,以供快速下载,这样,便可减少快取服务端回应用户端的时间。
此外,该信号也可仅包括更新原始数据的地址,以减少该信号的长度及网络传输所需的时间,增加原始数据与快取数据的同步与一致性。这些,均在本发明的保护范围之内。
权利要求
1.一种服务器的数据快取系统的数据更新方法,原始数据储存在一个数据库服务端,快取数据储存在一个快取服务端,数据库服务端与快取服务端通过网络连接;包括下列步骤(a)在原始数据变更后,由数据库服务端发出一个信号给快取服务端,该信号包括已变更的原始数据的相关信息;(b)在快取服务端接收该信号后,快取服务端自数据库服务端下载变更后的原始数据;(c)在变更后的原始数据下载完成后,快取服务端将所下载的变更后的原始数据取代快取数据。
2.根据权利要求1所述的方法,其特征在于,在所述步骤(a)中,所述信号包括原始数据的统一资源地址。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤(a)中所述信号还包括原始数据的名称。
4.根据权利要求1所述的方法,其特征在于,在所述步骤(a)中信号还包括原始数据的变更时间。
5.根据权利要求1所述的方法,其特征在于,还包括如下步骤所述快取服务端记录所述信号的内容。
6.根据权利要求1所述的方法,其特征在于,在所述步骤(a)中,所述条件包括一个临界时间值,当自最近一次快取数据更新后所经过的时间大于该临界时间值时,所述条件才能满足。
7.根据权利要求6所述的方法,其特征在于,所述临界时间值为前数次原始数据变更时间间隔的平均值。
8.根据权利要求6所述的方法,其特征在于,所述临界时间值设为零。
9.根据权利要求1所述的方法,其特征在于,所述信号还包括位于数据库服务端,与所述变更的原始数据相关的数笔数据的相关的信息。
10.根据权利要求9所述的方法,其特征在于,所述信号包括相关数笔数据的统一资源地址。
11.根据权利要求9所述的方法,其特征在于,所述信号还包括相关数笔数据的名称。
12.根据权利要求1所述的方法,其特征在于,所述信号还包括相关数笔数据的变更时间。
13.根据权利要求9所述的方法,其特征在于,还包括下列步骤由所述快取服务端接收所述信号后,依据信号的内容选择性地自所述数据库服务端下载与所述变更的原始数据相关的相关数据。
14.一种服务器的数据快取系统,包括一个用户端、一个快取服务端及一个数据库服务端;快取服务端包括一个用于储存快取数据的快取存储器,快取数据是对应于储存在数据库服务端的原始数据,数据库服务端与快取服务端系统通过网络连接;其特征在于,快取服务端还包括一个快取更新程序,该更新程序具有下列功能a.接收自数据库服务端发出的信号,该信号包括原始数据变动的相关信息;b.根据该信号的内容计算出一条件,待该条件满足后,自该数据库服务端下载该变更的原始数据;c.将所下载的变更的原始数据取代快取数据。
15.根据权利要求14所述的数据快取系统,其特征在于,所述信号包括原始数据的统一资源地址。
16.根据权利要求14所述的数据快取系统,其特征在于,所述信号包括原始数据的名称。
17.根据权利要求14所述的数据快取系统,其特征在于,所述信号包括原始数据的变更时间。
18.根据权利要求14所述的数据快取系统,其特征在于,所述快取更新程序包括记录所述信号内容的步骤。
19.根据权利要求14所述的数据快取系统,其特征在于,所述条件包括一临界时间值,当自最近一次快取数据更新后所经过的时间大于该临界时间值时,该条件才能满足。
20.根据权利要求19所述的数据快取系统,其特征在于,所述临界时间值为所述数次原始数据变更时间间隔的平均值。
21.根据权利要求19所述的数据快取系统,其特征在于,所述临界时间值设为零。
22.根据权利要求14所述的数据快取系统,其特征在于,所述信号还包括位于所述数据库服务端,与所述变更的原始数据相关的数笔数据的相关信息。URL位址。
23.根据权利要求22所述的数据快取系统,其特征在于,所述相关信息为所述数笔数据的统一资源地址。
24.根据权利要求22所述的数据快取系统,其特征在于,所述相关信息为所述数笔数据的名称。
25.根据权利要求22所述的数据快取系统,其特征在于,所述相关信息为所述数笔数据的变更时间。
26.根据权利要求22所述的数据快取系统,其特征在于,还包括由所述快取服务端在接收所述信号后,依据信号的内容选择性地自所述数据库服务端下载与所述变更的原始数据的相关数据。
27.根据权利要求14所述的数据快取系统,其特征在于,所述快取更新软件还包括还包括接收通过所述快取服务端的输入装置发出的输入信号,据以自所述数据库服务端下载所述变更后的原始数据。
28.一种服务器的数据快取系统的数据更新方法,包括如下步骤接收自数据库服务端传入的信号,该信号包括原始数据变动的相关信息记录该信号;根据记录信号得出更新快取数据的条件;在该条件满足时,执行更新快取数据的程序。
29.根据权利要求28所述的方法,其特征在于,还包括如下步骤根据所述记录信号选择性地自数据库服务端拾取与所述原始数据相关的数据。
30.根据权利要求28所述的方法,其特征在于,还包括如下步骤接收服务端由输入装置发出的指令;根据该指令执行更新快取数据的程序。
全文摘要
一种服务器的数据快取系统及其数据更新方法,本方法包括下列步骤:a.在原始数据变更后,由数据库服务端发出一信号给快取服务端,该信号包括己变更的原始数据相关信息;b.在快取服务端接收该信号后,其自数据库服务端下载变更后的原始数据;c.快取服务端将下载的数据取代快取数据。本系统包括一用户端、通过网络连接的一快取服务端及一数据库服务端;快取服务端包括快取存储器及快取更新程序。本发明可免除不必要的网络传输,节省资源。
文档编号H04L12/00GK1375774SQ0110987
公开日2002年10月23日 申请日期2001年3月20日 优先权日2001年3月20日
发明者陈柏旭 申请人:宏碁股份有限公司, 纬创资通股份有限公司