專利名稱::一種網頁獲取方法、裝置及系統的制作方法
技術領域:
:本發明涉及網絡
技術領域:
,尤其涉及一種網頁獲取方法、裝置及系統。
背景技術:
:用戶通過客戶端訪問網頁時,如果用戶需要訪問的某一內容的信息量較大的話,就需要多個網頁分頁顯示,客戶端如何獲取并顯示每一網頁的網頁數據,目前主要有以下兩種解決方案第一種解決方案客戶端向服務器發送訪問網頁的請求,服務器接收到該請求后,將用戶需要訪問的內容所涉及到的所有數據一次性地從數據庫中查詢出來,然后在自身內存中完成網頁的分頁,依據客戶端每次發送的用戶需要訪問的網頁的頁碼,經客戶端向用戶提供相應頁碼的網頁。第二種解決方案客戶端向服務器發送訪問網頁的請求,服務器接收到該請求后,根據用戶需要訪問的網頁的頁碼,計算出該頁碼的網頁數據在數據庫中的起始位置和終止位置,并從數據庫中,將大于等于該起始位置,小于等于該終止位置的區間內的數據查詢出來,生成用戶需要訪問的網頁,并將該網頁經客戶端輸出給用戶。但是,第一種解決方案,在網頁分頁數據量非常龐大的時候,會占用大量的服務器內存,導致服務器效能低下。而第二種解決方案,隨著用戶每一次的換頁請求,服務器都會執行一次數據庫的查詢操作,在用戶大規模并發請求訪問網頁的情況下,服務器查詢數據庫的次數過于頻繁,容易導致數據庫出現輸入輸出(IO)并瓦頸。綜上所述,現有技術當用戶通過客戶端發送訪問網頁請求時,容易導致服務器查詢數據庫的次數過多,造成數據庫IO瓶頸;或者服務器內存占用較大,從而導致服務器效能下降。
發明內容本發明實施例提供了一種網頁獲取方法、裝置及系統,用以減少服務器查詢數據庫的次數,降低服務器內存占用。本發明實施例提供的一種網頁獲取方法包括客戶端接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;所述客戶端根據所述頁碼,從自身預先緩存的隱藏表單中查找用戶要求訪問的網頁數據,其中,所述隱藏表單中包含多個頁碼的網頁數據;所述客戶端利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。本發明實施例提供的一種網頁數據發送方法包括服務器接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;所述服務器根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁所包含的網頁數據在自身數據庫中的起始位置和終止位置,并根據該起始位置和終止位置從所述數據庫中讀取網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;所述服務器將從所述數據庫讀取到的網頁數據發送給所述客戶端。本發明實施例提供的一種客戶端包括隱藏表單單元,用于將從服務器獲取的多個頁碼的網頁數據存儲在隱藏表單中;用戶指示單元,用于接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;網頁數據查找單元,用于根據用戶要求訪問的網頁的頁碼,從所述隱藏表單中查找用戶要求訪問的網頁數據;網頁生成單元,用于利用從所述隱藏表單中查找到的網頁數據生成用戶要求i^問的網頁。本發明實施例提供的一種服務器包括接收請求單元,用于接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;數據讀取單元,用于根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁數據在自身數據庫中的起始位置和終止位置,并根據該起始位置和終止位置從所述數據庫中讀取用戶要求訪問的網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;數據發送單元,用于將從所述數據庫讀取到的網頁數據發送給所述客戶端。本發明實施例提供的一種網絡系統包括客戶端,用于從服務器獲取多個網頁的網頁數據,并存儲在自身的隱藏表單中;接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;根據所述用戶要求訪問的網頁的頁碼從所述隱藏表單中查找網頁數據;利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁;服務器,用于接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁數據在自身數據庫中的起始位置和終止位置,根據該起始位置和終止位置從所述數據庫中讀取網頁數據;以及,根據所述隱藏表單包含的數據量,從9所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;將從所述數據庫讀取到的網頁數據發送給所述客戶端。本發明實施例,通過客戶端接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;所述客戶端根據所述頁碼,從自身預先緩存的隱藏表單中查找用戶要求訪問的網頁數據,其中,所述隱藏表單中包含多個頁碼的網頁數據;所述客戶端利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁,從務器查詢數據庫的次數過多,造成數據庫IO瓶頸;以及由于服務器內存占用較大,導致服務器效能下降的問題,從而減輕服務器壓力,節約服務器資源,并且,客戶端通過從自身獲取用戶要求訪問的網頁數據,還可以進一步提高向用戶輸出顯示網頁的速度,提高用戶體驗。圖1為本發明實施例提供的一種網頁獲取方法的流程示意圖;圖2為本發明實施例提供的一種網頁發送方法的流程示意圖;圖3為本發明實施例提供的一種在網頁上顯示的供用戶選擇的網頁頁碼的示意圖4為本發明實施例提供的一種客戶端的結構示意圖;圖5為本發明實施例提供的一種服務器的結構示意圖圖6為本發明實施例提供的一種網絡系統的結構示意圖。具體實施例方式本發明實施例提供了一種網頁獲取方法、一種客戶端、一種服務器以及一種包括客戶端和服務器的網絡系統,用以當用戶通it^戶端訪問網頁時,減少服務器查詢數據庫以獲取網頁數據的次數,減少數據庫的10占用,緩解數據庫I/0瓶頸,降低服務器內存占用,從而減輕服務器壓力。并且,還可以進一步提高客戶端向用戶輸出顯示網頁的速度,提高用戶體驗,本發明實施例在客戶端設置了一種網頁數據的隱藏表單,通過可配置的數據緩存規則,將與用戶當前訪問的網頁相關聯的特定頁碼區間的網頁數據緩存在客戶端的隱藏表單中,從而減少服務器查詢數據庫的次數,節省數據庫IO占用,以及降低服務器內存占用。所以,本發明實施例提供的技術方案可以看作是一種客戶端的網頁數據緩存方案,可以極大地緩解服務器壓力。首先介紹一下所述的隱藏表單。所述隱藏表單是一種網頁上用戶不可見的表單,即對于網頁的訪問者來說,隱藏表單是一種看不見的,用于存儲非用戶輸入數據的表單。隱藏表單是由網頁(html)源碼組成的,是客戶端在通過服務器提取到網頁數據后,根據該網頁數據和自身預先設置的配置文件中的配置參數,生成的html源碼。隱藏表單的表現形式是一種特殊的html表單(htmlform),它全部由非可見類型(hidden類型)的表單元素組成,因此,隱藏表單是一種無需接收用戶輸入數據的表單,只是用于存放一些服務器返回的數據,供頁面提交使用,用戶從當前網頁跳到另一網頁時,隱藏表單中緩存的數據也會從當前網頁傳到另一網頁上。隱藏表單中緩存的數據存放在用戶當前訪問的html頁面源碼的隱藏表單部分的hidden類型的表單元素中,例如一個記錄用戶年齡的hidden類型的表單元素<inputtype=,hidden,name=,age,value=,12|15|20|17,/>其中,value部分的,12|15|20|17,就是隱藏表單中緩存的數據,也就是客戶端所緩存的網頁數據。下面結合附圖對本發明實施例提供的技術方案進行說明。參見圖1,本發明實施例提供的一種網頁獲取方法包括步驟5101、客戶端接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼。5102、客戶端根據用戶要求訪問的網頁的頁碼,從自身預先緩存的隱藏表說明書第6/15頁單中查找用戶要求訪問的網頁數據,其中,所述隱藏表單中包含多個頁碼的網頁數據,該網頁數據是預先從服務器獲取的。S103、客戶端利用從隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。較佳地,步驟S102包括客戶端根據用戶要求顯示的網頁的頁碼,以及預先設置的每一網頁包含的數據量,確定用戶要求訪問的網頁所包含的網頁數據在所述隱藏表單中的起始位置和終止位置;才艮據所述起始位置和終止位置,從所述隱藏表單中查找用戶要求訪問的網頁數據。較佳地,步驟S103包括客戶端將從隱藏表單中查找到的網頁數據,與預先設置的網頁數據屬性進行映射,生成用戶要求訪問的網頁。當客戶端根據用戶要求訪問的網頁的頁碼,從自身預先緩存的隱藏表單中沒有查找到用戶要求訪問的網頁數據時,客戶端從服務器獲取用戶要求訪問的網頁數據。較佳地,客戶端從服務器獲取用戶要求訪問的網頁數據的步驟包括步驟一、客戶端向服務器發送獲取網頁數據的請求,其中包括用戶要求訪問的網頁的頁碼、預先設置的每一網頁包含的數據量以及隱藏表單包含的數據量。步驟二、客戶端接收服務器發送的多個網頁的網頁數據,其中包括用戶要求訪問的網頁所包含的網頁數據。步驟三、客戶端利用從服務器獲取的多個網頁的網頁數據更新自身的隱藏表單。步驟四、客戶端根據用戶要求訪問的網頁的頁碼,從更新后的隱藏表單中查找用戶要求訪問的網頁數據。步驟五、客戶端利用從更新后的隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。那么相應地,參見圖2,本發明實施例提供的一種網頁數據的發送方法包括步驟5201、服務器接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶當前要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量。5202、服務器根據用戶當前要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定該頁碼所對應的網頁數據在自身數據庫中的起始位置和終止位置。5203、服務器根據用戶當前要求訪問的網頁數據在數據庫中的起始位置和終止位置從數據庫中讀取網頁數據。5204、服務器根據隱藏表單包含的數據量,從數據庫中讀取用戶當前要求訪問的網頁數據在數據庫中的起始位置之前和/或終止位置之后的網頁數據。5205、服務器將從數據庫讀取到的網頁數據發送給客戶端。也就是說,服務器將用戶當前要求訪問的網頁數據,以及與用戶當前要求訪問的網頁數據相關聯的一定范圍內的網頁數據都發給客戶端緩存。較佳地,步驟S204中,服務器從數據庫中讀取用戶當前要求訪問的網頁數據在數據庫中的起始位置之前和終止位置之后的一定數據量的網頁數據,并且從該起始位置之前讀取的網頁數據的數據量等于從該終止位置之后讀取的網頁數據的數據量。客戶端從服務器獲取了多個網頁的網頁數據后,需要根據用戶請求,向用戶顯示網頁,并且在顯示的網頁上顯示當前網頁的頁碼以及供用戶選擇的與當前頁碼相關聯的一定數量的網頁分頁頁碼,如圖3所示。本發明實施例將客戶端從自身緩存的隱藏表單中查找到用戶要求訪問的網頁數據的情況,稱為緩存命中。本發明實施例為了增加網頁數據的緩存命中率,如圖3所示,在網頁分頁頁碼的顯示上,只顯示當前網頁的頁碼附近特定數量的頁碼,其他的頁碼需要選擇"上一頁(或上一條)"或"下一頁(或下一條)"才有機會顯示出來。"上一頁"按鈕指向上一頁的鏈接,當前頁碼為第113頁時,"上一頁"按鈕隱藏;"下一頁"按鈕指向下一頁的鏈接,當前頁碼為最后一頁時,"下一頁"按鈕隱藏。如圖3所示,在一個網頁上顯示了7個網頁分頁頁碼,即頁碼4、5、6、7、8、9、10,并且,當前顯示的網頁的頁碼是7。本發明實施例將在一個網頁上顯示的供用戶選擇的網頁分頁頁碼稱為頁碼窗口,頁碼窗口始終顯示特定個數的頁碼,這個特定個數稱為窗口大小(windowSize)。例如,本發明實施例在配置文件中,將windowSize設為7,即一個網頁上最多顯示7個網頁分頁頁碼,除非不足7頁,否則顯示的頁碼始終保持7頁。在用戶翻頁的過程中,如果當前頁碼窗口顯示的頁碼有7個,則本發明實施例中始終保持當前網頁的頁碼居于頁碼窗口的中間位置,除非當前頁碼之前或之后的頁碼不存在或不足以顯示,例如,當前網頁是第一頁或最后一頁,或者當windowSize為7時,當前網頁的頁碼是第2頁,所以它前面只能顯示一個頁碼,此時當前網頁的頁碼就無法顯示在頁碼窗口的中間位置。之所以采用這種固定長度的頁碼窗口,一方面是為了網頁頁面的美觀,避免由于網頁上顯示的頁碼過多而導致頁碼顯示混亂,另一方面是為了限制用戶的"跳躍式翻頁,,行為,從而增加緩存命中率。例如,用戶先訪問第7頁的網頁,緊接著又訪問第80頁的網頁,兩個網頁的頁碼相隔太遠,而客戶端不可能緩存從第7頁至第80頁這么多網頁的數據量,所以會導致緩存的隱藏表單失效太快,從而起不到減小服務器壓力的作用。本發明實施例中,在客戶端設置了一個配置文件(文件名為pagenation.xml),用于客戶端從服務器獲取網頁數據、將網頁數據保存到隱藏表單中、利用隱藏表單生成網頁的過程中的參數配置。該配置文件中需要配置的參數例如隱藏表單可以存儲的數據量、每一網頁可以顯示的數據量、windowSize的大小、網頁數據的屬性(即網頁上顯示的數據的屬性,也可以稱為網頁數據的映射字段)、隱藏表單中每個屬性的不同數據對象的分隔符(也稱為隱藏表單域數據分隔符)等等。,H口,所述酉己置文4牛pagenation.xml的才各式^口下面的表一所示<pagenationid=,,user,,><!-數據來源(分為table和object兩種,前者為數據庫表,后者為JAVA數據對象List)—><type>table</type><!一數據庫名或JAVA數據對象名-><name>us6r</rmme><!—映射字段--><fields〉name,age,sex,country</fields><!-緩存數據的條數,最好將cacheSize設成pageSize的倍數。—><cacheSize>50</cacheSize〉<!-每頁顯示的條數-〉<pageSize>10</pageSize><!-顯示頁碼的個數-><windowSize>7<AvindowSize><!—隱藏表單域數據分割符--〉<pagenator>|</pagenator></pagenation〉表一其中,<pagenationicK,user,、表示用戶需要訪問的網頁數據的內容標識(pagenationid)是用戶(user);<type>table〈/type〉表示該內容的數據來源是服務器的數據庫;<name>user</name>表示該數據庫的名稱;<fields>name,age,sex,country々fields〉表示從該數據庫中獲取的網絡數據的屬性分別是name、age、sex和country;<cacheSize>50〈/cacheSize〉表示客戶端中的隱藏表單可以緩存的數據量為50條數據(其中,每條數據包括name、age、sex和country屬性的值(即數據對象));<pageSize>10々pageSize〉表示每個網頁可以顯示10條數據;〈windowSize"々windowSize〉表示每個網頁顯示的頁碼窗口最多包括7個頁碼;〈pagenator叫〈/pagenator〉表示同一屬性的不同值之間分隔符為"「'。本發明實施例在客戶端中還設置有一個自動映射組件(data/formmapping),用于根據配置文件的配置參數,將待緩存數據(即從服務器獲取的網頁數據)自動翻i奪成隱藏表單的網頁(html)源碼,并插入網頁頁面中,得到需要輸出顯示給用戶的網頁。例如,通過自動映射組件從配置文件中取出name(姓名)、age(年齡)、sex(性別)、country(國家)四個字段(即網頁數據的屬性),并與從隱藏表單中取出的4條數據(每條數據都包含姓名、年齡、性別、國家4個屬性的數據對象)映射,生成一個網頁需要顯示的內容,該內容如下面的表二所示AgeSexcountryJack12MUKKate15FUSAJ6肌20MFranc6H肌s17MGerman表二此處為了方便說明,所以只取4條數據,實際應用中往往會取更多條數的數據。所述隱藏表單的html源碼如下面的表三所示<formname=,user,method=,post,><!一以下為緩存數據-><inputtype=,hidden'name=,name,value=,Jack|kate|Jean|Hans,/>〈inputtype=,hidden,name=,age,value=,12|15|20|17,/>〈inputtype=,hidden,name二,sex'value='M|F|M]M7>〈inputtype二,hidden,name=,country'value=,UK|USA|France|German,/><!—以上為緩存數據-><!一以下為緩存起始數據在數據庫中的行號—>〈inputtype='hidden'name="startNo,,value=,30,/><!一以上為緩存起始數據在數據庫中的行號-></form〉16其中,<formname=,user,method-,post,〉表示隱藏表單中存儲的網頁數據的內容才示i只為"user"。由表三可見,每個字段都映射成一個與字段名同名的隱藏表單域,各行數據的同一個字段的值(數據對象)以配置文件中配置的分隔符來進行分隔的,例如"Jack|kate|Jean|Hans",數據對象Jack、kate、Jean、Hans采用"卩,分隔符進行分隔。本發明實施例在隱藏表單中還需要保存從服務器獲得的所有網頁數據在服務器的數據庫中的起始位置,或者稱為起始行號(startNo)。例如,表三中的〈inputtype=,hidden,name=,,startNo,,value=,307>,也就是說,該隱藏表單中緩存的第一條網頁數據在服務器的數據庫中的行號startNo是30。例如,配置文件中的字段為name、age、sex和country,依照分隔符"廣分別對,JacklkateiJeanlHans,、,12|15|20|17,、,M|F|M|M,、,UK|USA|France|German,拆分,得到name[],age[],sex[],country[]4個隱藏表單域的各個值,從而得到表二所示的需要顯示給用戶的網頁內容。本發明實施例中,客戶端根據用戶需要訪問的網頁的頁碼,判斷該網頁的網頁數據是否在隱藏表單中,如果不在,即緩存未命中,則緩存失效,此時需要客戶端請求服務器重新查詢數據庫,并重新生成緩存數據的隱藏表單,即更新隱藏表單。假如,用戶點擊第7頁,假設用戶在分頁配置文件pagenation.xml中,設置cacheSize(即緩存的總容量)為50,pageSize(每頁顯示的數據的條數,即每頁顯示的數據量)為10,而隱藏表單傳中的起始行號startNo為30,則可以計算出結束行號endNo(即隱藏表單傳中緩存的最后一條數據在服務器的數據庫表中的行號)為endNo=startNo+cacheSize=30+50=80。也就是說,此時緩存數據的隱藏表單中緩存了服務器的數據庫表中的第30條至第80條的網頁數據。客戶端根據待顯示的網頁頁碼7,以及每頁需要顯示IO條數據,確定顯示的網頁數據是第61條至第70條的網頁數據,而[61,70]這個位置區間正好在隱藏表單的[30,80]位置區間中,所以此時緩存命中,無需請求服務器查詢數據庫,直接將所需數據從隱藏表單中的相應位置中取出即可。如果用戶要求訪問的網頁的頁碼是第10頁,則該頁的網頁數據是服務器的數據庫中的第91條至第IOO條的數據,此時超出了隱藏表單的[30,80]的緩存區間,也就是說客戶端中沒有緩存用戶需要訪問的網頁數據,所以此時需要調整隱藏表單的緩存區間,客戶端重新請求服務器查詢數據庫,并根據服務器的查詢結果重新生成緩存數據的隱藏表單。較佳地,本發明實施例中,待顯示的網頁數據的區間位于緩存區間的中間。因此,服務器在查詢數據庫時,根據用戶請求訪問的網頁的頁碼,確定該頁碼對應的網頁數據在數據庫中的起始位置和終止位置,讀取該起始位置和終止位置區間內的網頁數據,同時,將該起始位置之前的(cacheSize-pageSize)/2條的網頁數據和將該終止位置之后的(cacheSize-pageSize)/2條的網頁數據取出。配置文件中的cacheSize為50,pageSize為10,所以需要分別在第91條網頁數據之前和第IOO條網頁數據之后取出20條數據,即服務器查詢出數據庫中第71條至第120條的數據發給客戶端,客戶端將這些網頁數據緩存在隱藏表單中,此時新的隱藏表單生成,新的緩存區間調整為[71,120]。下面介紹一下本發明實施例提供的裝置及系統。參見圖4,本發明實施例提供的一種客戶端包括隱藏表單單元41,用于將從服務器40獲取的多個頁碼的網頁數據存儲在隱藏表單中。用戶指示單元42,用于接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼。網頁數據查找單元43,用于根據用戶要求訪問的網頁的頁碼,從隱藏表單中查找網頁數據。18網頁生成單元44,用于利用從隱藏表單中查找到的網頁教:據生成網頁。較佳地,所述網頁數據查找單元43包括確定位置單元431,用于根據用戶要求顯示的網頁的頁碼,以及預先設置的每一網頁的數據量,確定用戶要求訪問的網頁所包含的網頁數據在隱藏表單中的起始位置和終止位置。查找單元432,用于根據確定位置單元431確定的起始位置和終止位置,從隱藏表單中查找用戶要求訪問的網頁所包含的網頁數據。較佳地,所述網頁生成單元44包括設置單元441,用于設置并存儲網頁數據屬性。映射單元442,用于將從隱藏表單中查找到的網頁數據與網頁數據屬性進行映射,生成用戶要求訪問的網頁。較佳地,所述客戶端還包括請求單元45,用于當所述網頁數據查找單元43從自身預先緩存的隱藏表單中沒有查找到相應的網頁數據時,向服務器40發送獲取網頁數據的請求,其中包括用戶要求訪問的網頁的頁碼、預先設置的每一網頁包含的數據量以及隱藏表單包含的數據量。接收單元46,用于接收服務器40發送的多個網頁的網頁數據,其中包括用戶要求訪問的網頁所包含的網頁數據。更新單元47,用于利用從服務器40獲取的多個網頁的網頁數據更新隱藏表單。網頁數據查找單元43,根據用戶要求訪問的網頁的頁碼,從更新后的隱藏表單中查找網頁數據。網頁生成單元44,利用從更新后的隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。參見圖5,本發明實施例提供的一種服務器包括接收請求單元51,用于接收客戶端50發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量。數據讀取單元52,用于根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定該頁碼所對應的網頁數據在數據庫中的起始位置和終止位置,并根據該起始位置和終止位置從數據庫中讀取網頁數據;以及,根據隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據。數據發送單元53,用于將從數據庫讀取到的包含用戶當前要求訪問的網頁在內的多個網頁的網頁數據發送給客戶端50。較佳地,所述數據讀取單元52包括地址確定單元521,用于根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定該頁碼所對應的網頁數據在數據庫中的起始位置和終止位置。讀取單元522,用于根據起始位置和終止位置從數據庫中讀取網頁數據;以及,根據隱藏表單包含的數據量,從數據庫中讀取該起始位置之前和終止位置之后的網頁數據,并且,從起始位置之前讀取的網頁數據的數據量等于從終止位置之后讀取的網頁數據的數據量。參見圖6,本發明實施例提供的一種網絡系統包括客戶端61,用于從服務器62獲取多個網頁的網頁數據,并存儲在自身的隱藏表單中;接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;根據該頁碼從隱藏表單中查找網頁數據;利用從隱藏表單中查找到的網頁數據生成網頁。服務器62,用于接收客戶端61發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包括的數據量;根據用戶要求訪問的網頁的頁碼以及每一網頁的數據量,確定用戶要求訪問的網頁的網頁數據在數據庫中的起始位置和終止位置,根據該起始位置和終20止位置從數據庫中讀取網頁數據;以及,根據隱藏表單包含的數據量,從數據庫中讀取起始位置之前和/或所述終止位置之后的網頁數據;將從數據庫讀取到的網頁數據發送給所述客戶端61。綜上所述,本發明實施例通過客戶端的數據緩存方案,減少了用戶訪問不同網頁時導致的服務器查詢數據庫的次數,降低服務器的數據庫10占用,減輕服務器中數據庫的壓力;并且可以降低服務器的內存占用,節約服務器資源。另夕卜,客戶端對網頁的分頁方案可以由用戶自定義配置,才喿作靈活,易于實現。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。權利要求1、一種網頁獲取方法,其特征在于,該方法包括客戶端接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;所述客戶端根據所述頁碼,從自身預先緩存的隱藏表單中查找用戶要求訪問的網頁數據,其中,所述隱藏表單中包含多個頁碼的網頁數據;所述客戶端利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。2、根據權利要求1所述的方法,其特征在于,所述客戶端根據所述頁碼,從自身預先緩存的隱藏表單中查找用戶要求訪問的網頁數據的步驟包括所述客戶端根據用戶要求顯示的網頁的頁碼,以及預先設置的每一網頁包含的數據量,確定用戶要求訪問的網頁數據在所述隱藏表單中的起始位置和終止位置;所述客戶端根據所述起始位置和終止位置,從所述隱藏表單中查找用戶要求訪問的網頁數據。3、根據權利要求1所述的方法,其特征在于,所述客戶端利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁的步驟包括所述客戶端將從所述隱藏表單中查找到的網頁數據,與預先設置的網頁數據屬性進行映射,生成用戶要求訪問的網頁。4、根據權利要求1所述的方法,其特征在于,當所述客戶端根據所述網頁的頁碼,從自身預先緩存的隱藏表單中沒有查找到用戶要求訪問的網頁數據時,所述客戶端從服務器獲取用戶要求訪問的網頁數據。5、根據權利要求4所述的方法,其特征在于,所述客戶端從服務器獲取用戶要求訪問的網頁數據的步驟包括所述客戶端向所述服務器發送獲取網頁數據的請求,其中包括用戶要求訪問的網頁的頁碼、預先設置的每一網頁包含的數據量以及隱藏表單包含的數椐量;所述客戶端接收服務器發送的多個網頁的網頁數據,其中包括用戶要求訪問的網頁所包含的網頁數據;所述客戶端利用從服務器獲取的多個網頁的網頁數據更新所述隱藏表單;所述客戶端根據用戶要求訪問的網頁的頁碼,從所述更新后的隱藏表單中查找用戶要求訪問的網頁數據;所述客戶端利用從所述更新后的隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。6、一種網頁數據發送方法,其特征在于,該方法包括服務器接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;所述服務器根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁所包含的網頁數據在自身數據庫中的起始位置和終止位置,并根據該起始位置和終止位置從所述數據庫中讀取網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;所述服務器將從所述數據庫讀取到的網頁數據發送給所述客戶端。7、根據權利要求6所述的方法,其特征在于,當所述服務器從所述數據庫中讀取所述起始位置之前和所述終止位置之后的網頁數據時,所述服務器從所述起始位置之前讀取的網頁數據的數據量等于從所述終止位置之后讀取的網頁數據的數據量。8、一種客戶端,其特征在于,該客戶端包括隱藏表單單元,用于將從服務器獲取的多個頁碼的網頁數據存儲在隱藏表單中;用戶指示單元,用于接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;網頁數據查找單元,用于根據用戶要求訪問的網頁的頁碼,從所述隱藏表單中查找用戶要求訪問的網頁數據;網頁生成單元,用于利用從所述隱藏表單中查找到的網頁數據生成用戶要求i方問的網頁。9、根據權利要求8所述的客戶端,其特征在于,所述網頁數據查找單元包括確定位置單元,用于根據用戶要求訪問的網頁的頁碼,以及預先設置的每一網頁包含的數據量,確定用戶要求訪問的網頁數據在所述隱藏表單中的起始位置和終止位置;查找單元,用于根據所述起始位置和終止位置,從所述隱藏表單中查找用戶要求訪問的網頁數據。10、根據權利要求8所述的客戶端,其特征在于,所述網頁生成單元包括設置單元,用于設置并存儲網頁數據屬性;映射單元,用于將從所述隱藏表單中查找到的網頁數據與所述網頁數據屬性進行映射,生成用戶要求訪問的網頁。11、根據權利要求8、9或10所述的客戶端,其特征在于,所述客戶端還包括請求單元,用于當所述網頁數據查找單元根據用戶要求訪問的網頁的頁碼,從自身預先緩存的隱藏表單中沒有查找到用戶要求訪問的網頁數據時,向所述服務器發送獲取網頁數據的請求,其中包括用戶要求訪問的網頁的頁碼、預先設置的每一網頁包含的數據量以及隱藏表單包含的數據量;接收單元,用于接收所述服務器發送的多個網頁的網頁數據,其中包括用戶要求訪問的網頁所包含的網頁數據;更新單元,用于利用從所述服務器獲取的多個網頁的網頁數據更新所述隱藏表單。12、一種服務器,其特征在于,該服務器包括接收請求單元,用于接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;數據讀取單元,用于根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁數據在自身數據庫中的起始位置和終止位置,并根據該起始位置和終止位置從所述數據庫中讀取用戶要求訪問的網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;數據發送單元,用于將從所述數據庫讀取到的網頁數據發送給所述客戶端。13、根據權利要求12所述的服務器,其特征在于,所述數據讀取單元包括地址確定單元,用于根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁數據在自身數據庫中的起始位置和終止位置;讀取單元,用于根據所述起始位置和終止位置從所述數據庫中讀取用戶要求訪問的網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和所述終止位置之后的網頁數據,并且,從所述起始位置之前讀取的網頁數據的數據量等于從所述終止位置之后讀取的網頁數據的數據量。14、一種網絡系統,其特征在于,該系統包括客戶端,用于從服務器獲取多個網頁的網頁數據,并存儲在自身的隱藏表單中;接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;根據所述用戶要求訪問的網頁的頁碼從所述隱藏表單中查找網頁數據;利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁;服務器,用于接收客戶端發送的獲取網頁數據的請求,并從中獲取用戶要求訪問的網頁的頁碼、每一網頁包含的數據量以及隱藏表單包含的數據量;根據用戶要求訪問的網頁的頁碼以及每一網頁包含的數據量,確定用戶要求訪問的網頁數據在自身數據庫中的起始位置和終止位置,根據該起始位置和終止位置從所述數據庫中讀取網頁數據;以及,根據所述隱藏表單包含的數據量,從所述數據庫中讀取所述起始位置之前和/或所述終止位置之后的網頁數據;將從所述數據庫讀耳又到的網頁數據發送給所述客戶端。全文摘要本發明公開了一種網頁獲取方法、裝置及系統,用以當用戶通過客戶端訪問網頁時,減少客戶端通過服務器查詢數據庫中的網頁數據的次數,降低服務器內存占用,從而緩解服務器壓力。本發明提供的一種網頁獲取方法包括客戶端接收用戶指示,并從中獲取用戶要求訪問的網頁的頁碼;所述客戶端根據所述頁碼,從自身預先緩存的隱藏表單中查找用戶要求訪問的網頁數據,其中,所述隱藏表單中包含多個頁碼的網頁數據;所述客戶端利用從所述隱藏表單中查找到的網頁數據生成用戶要求訪問的網頁。文檔編號H04L29/06GK101668004SQ200810215530公開日2010年3月10日申請日期2008年9月4日優先權日2008年9月4日發明者崚何申請人:阿里巴巴集團控股有限公司