專利名稱:一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種控制網(wǎng)頁更新的系統(tǒng)及其方法,特別是涉及一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng)及其方法。
背景技術(shù):
網(wǎng)絡(luò)的建設(shè)一般都是采用“接口驅(qū)動”的方式進行的。每個接口對應(yīng)著一個用某種語言編寫的接口。請參見圖1,為現(xiàn)有技術(shù)網(wǎng)絡(luò)結(jié)構(gòu)的示意圖。如圖所示,Daemon程序16永遠駐留在服務(wù)器端,隨著服務(wù)器一起啟動,從一個頁面文件12調(diào)度到另一個頁面文件時,先是向Apache服務(wù)器11發(fā)送請求,同時將本頁的數(shù)據(jù)傳輸給Apache服務(wù)器11,下一頁接收數(shù)據(jù)進行分析后,將返回的頁面內(nèi)容發(fā)送給客戶端200,如果需要存儲,該頁面調(diào)用存儲模塊13,在數(shù)據(jù)庫14中存儲數(shù)據(jù)。當需要運行測試程序時,調(diào)度到可以發(fā)送Client請求的頁面,Daemon程序根據(jù)Client請求的不同調(diào)度不同的應(yīng)用程序17。每次客戶端(Client)200向服務(wù)器(Server)100端發(fā)送請求時,根據(jù)HTTP協(xié)議,他必須指定請求的內(nèi)容、地址、用戶要求語言(URL)等信息。Server端根據(jù)請求的信息,返回相應(yīng)的結(jié)果。所以在開發(fā)過程中,通常采用每個接口對應(yīng)著一個JSP,或動態(tài)服務(wù)器主頁(ASP),或公共網(wǎng)關(guān)接口(CGI),或PHP等方式。每次用戶向Server端發(fā)送請求時,需要指明請求的目的頁,Server端接到客戶端的請求后,解析出請求中的URL目的頁、參數(shù),執(zhí)行相應(yīng)的JSP(或CGI等)程序,將返回內(nèi)容發(fā)送到Client端。每次請求,Server端都要開啟一個CGI程序或是Servlets等程序,這樣,不同頁之間的數(shù)據(jù)不能共享。如果下一頁想要知道上一頁的內(nèi)容,可以通過兩個途徑1、上一頁將一些特定的值放入Form中,提交給下一頁,即用傳遞參數(shù)的方式將一些特定的值傳遞給下一頁。
2、將第一頁中的一些特定值,放入一個統(tǒng)一的數(shù)據(jù)庫或文件中,下一頁在取上一頁中的值時,在同一文件或同一數(shù)據(jù)庫中讀取信息。
這些方法都給網(wǎng)頁文件之間的通信帶來不便,同時這兩種方法都需要維護很多個CGI(或ASP,或PHP等)程序,一旦發(fā)生變動,就會牽涉到多個文件,容易出錯。第一種方法每個Form中的內(nèi)容必須提交,如果用戶希望統(tǒng)一提交,如一頁信息填寫完成,又填了下一頁信息,這時,上一頁必須將信息提交給下一頁,下一頁將這些信息儲存在隱藏(Hidden)的控件中,填寫完畢后再一起提交給Server端。這樣在Client端和Server端傳輸?shù)臄?shù)據(jù)量比較多,開發(fā)非常的煩瑣,而且容易出錯。當幾頁內(nèi)容平行,它們之間可以互相切換,最后當用戶選擇提交時如果希望一起提交給Server端,這種方法就無能為力了。第二種方法,對于有數(shù)據(jù)庫(像SQL Server,F(xiàn)oxPro,Access)的網(wǎng)站開發(fā)而言非常適用。但是如果不是針對與數(shù)據(jù)庫的開發(fā),就必須維護文件,非常繁瑣,且容易出錯。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng)及方法,主要的目的在于在網(wǎng)頁程序結(jié)構(gòu)上,對網(wǎng)頁文件進行統(tǒng)一管理,簡化網(wǎng)頁文件之間的通信。
為了實現(xiàn)上述目的,本發(fā)明提供了一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng),根據(jù)定義的網(wǎng)絡(luò)結(jié)構(gòu),通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,其特點在于,該系統(tǒng)包括一客戶端,其發(fā)出服務(wù)器端網(wǎng)頁的訪問請求;及一服務(wù)器端,其用以接收并執(zhí)行該訪問請求,得出執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果返回至該客戶端,包括一網(wǎng)頁數(shù)據(jù)庫,其用以儲存所有該網(wǎng)頁文件;及一中間控制層,該客戶端通過該中間控制層與該數(shù)據(jù)庫服務(wù)器進行交互,根據(jù)該訪問請求對相應(yīng)的該網(wǎng)頁文件進行統(tǒng)一管理,從而根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)對網(wǎng)頁文件的統(tǒng)一調(diào)度。
上述利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特點在于,該中間控制層還包括一頁面調(diào)度模塊,其用以儲存所有訪問請求對應(yīng)的該網(wǎng)絡(luò)結(jié)構(gòu);一數(shù)據(jù)緩存模塊,其根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)提取并儲存對應(yīng)的頁面;及一控制模塊,其用以完成整個中間控制層程序的控制,根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該數(shù)據(jù)緩存模塊中相應(yīng)的頁面文件。
上述利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特點在于,還包括一隱藏框架,與該中間控制層相連,用以儲存需要集體提交給該中間控制層的多個網(wǎng)頁文件。
上述利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特點在于,還包括一Apache服務(wù)器。
本發(fā)明還提供一種利用中間控制層控制網(wǎng)頁更新的方法,通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,其特點在于,該方法包括如下步驟根據(jù)客戶端的訪問請求定義網(wǎng)絡(luò)結(jié)構(gòu),并在該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件;接收客戶端發(fā)出網(wǎng)頁的訪問請求,并根據(jù)該訪問請求確定對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu);根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該中間控制層的網(wǎng)頁文件;及將該執(zhí)行結(jié)果返回至該客戶端。
上述利用中間控制層控制網(wǎng)頁更新的方法,其特點在于,該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件的步驟,為將一網(wǎng)頁文件單獨提交并儲存至該中間控制層。
上述利用中間控制層控制網(wǎng)頁更新的方法,其特點在于,該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件的步驟,為將多個網(wǎng)頁文件儲存至一隱藏框架中,通過該隱藏框架集中提交給該中間控制層。
本發(fā)明的功效,在于解決了不同頁之間的數(shù)據(jù)通信問題,每頁需要的值都可以在中間控制層中獲得,非常方便,同時接口簡單,易于開發(fā),從而使Client與Server之間的通信速度比傳統(tǒng)方式快。
以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為現(xiàn)有技術(shù)的模塊結(jié)構(gòu)圖;圖2為本發(fā)明的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例的中間控制層的結(jié)構(gòu)圖;圖4為本發(fā)明總體流程圖;及圖5為本發(fā)明實施例的流程圖。
其中,附圖標記
100-服務(wù)器端,200-客戶端11-Apache服務(wù)器,12-頁面13-儲存模塊,14-數(shù)據(jù)庫16-Daemon程序,17-應(yīng)用程序20-中間控制層,21-頁面調(diào)度模塊22-數(shù)據(jù)緩存模塊,23-控制模塊步驟410-根據(jù)客戶端的訪問請求定義網(wǎng)絡(luò)結(jié)構(gòu),并在該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件步驟420-接收客戶端發(fā)出網(wǎng)頁的訪問請求,并根據(jù)該訪問請求確定對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)步驟430-根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該中間控制層的網(wǎng)頁文件步驟440-將該執(zhí)行結(jié)果返回至該客戶端步驟510-參數(shù)分析步驟520-有參數(shù)?步驟530-用戶請求分析步驟531-存儲頁面數(shù)據(jù)步驟532-讀取數(shù)據(jù)組織請求內(nèi)容步驟533-控制運行對應(yīng)的程序步驟534-進行其它相關(guān)處理步驟535-組織初始化的內(nèi)容步驟540-將請求信息反饋到客戶端具體實施方式
隨著網(wǎng)站的規(guī)模和復(fù)雜性的增加,網(wǎng)頁程序與結(jié)構(gòu)的選擇成為比數(shù)據(jù)結(jié)構(gòu)和算法的選擇更為重要的因素。網(wǎng)頁實際是一個文件,它存放在作為服務(wù)器的計算機中,而這臺計算機必須是與互聯(lián)網(wǎng)相連的。網(wǎng)頁通過網(wǎng)址(URL)來識別與存取,客戶端通過瀏覽器輸入網(wǎng)址后,經(jīng)過一段復(fù)雜而又快速的程序,網(wǎng)頁文件會被傳送到客戶端的計算機中。
應(yīng)用程序不同于網(wǎng)頁程序的地方是應(yīng)用程序是建立在一定的結(jié)構(gòu)基礎(chǔ)上的,結(jié)構(gòu)統(tǒng)一,而網(wǎng)頁程序一般采用c/s方式,每個頁面都是一個獨立的個體,結(jié)構(gòu)分散。本發(fā)明將應(yīng)用程序特有的結(jié)構(gòu)思想,應(yīng)用到了網(wǎng)頁程序的結(jié)構(gòu)上,從而簡化了頁面與頁面之間通信的代價。使用一個中間控制層,對每個頁面進行統(tǒng)一管理,頁面與頁面之間的數(shù)據(jù)放入這個中間控制層中。當某一頁面需要時,它可以直接到中間控制層中拿到數(shù)據(jù)。
三層客戶/服務(wù)器體系結(jié)構(gòu)為網(wǎng)頁資源規(guī)劃與整合提供了良好的框架。所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個“中間控制層”。三層體系的應(yīng)用將網(wǎng)頁管理的工作放到了中間控制層進行處理。通常情況下,客戶端不直接與服務(wù)器端數(shù)據(jù)庫進行交互,而是通過與中間控制層建立連接,再通過中間控制層與服務(wù)器數(shù)據(jù)庫進行交互。
請參見圖2,為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖。如圖所示,本發(fā)明通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,該系統(tǒng)包括一客戶端200以及一服務(wù)器端100,客戶端200發(fā)出服務(wù)器端網(wǎng)頁的訪問請求,服務(wù)器端100接收并執(zhí)行該訪問請求,得出執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果返回至該客戶端200。該服務(wù)器端100中還包括一網(wǎng)頁數(shù)據(jù)庫14,其用以儲存所有該網(wǎng)頁文件以及一中間控制層控制器20,該客戶端通過該中間控制層控制器與該數(shù)據(jù)庫服務(wù)器進行交互,根據(jù)該訪問請求對相應(yīng)的該網(wǎng)頁文件進行統(tǒng)一管理,從而根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)對網(wǎng)頁文件的統(tǒng)一調(diào)度。包括對數(shù)據(jù)庫14中網(wǎng)頁文件的存取以及應(yīng)用程序17的調(diào)度。
其中該中間控制層的控制過程請參見圖3,如圖所示,中間控制層控制器20中包含有三個模塊頁面調(diào)度模塊21,其用以儲存所有訪問請求對應(yīng)的該網(wǎng)絡(luò)結(jié)構(gòu),數(shù)據(jù)緩存模塊22,其根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)提取并儲存對應(yīng)的頁面,控制模塊23,其用以完成整個中間控制層程序的控制,根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該數(shù)據(jù)緩存模塊中相應(yīng)的頁面文件。
請參見圖4,為本發(fā)明所提的利用中間控制層控制網(wǎng)頁更新的方法的總體流程圖,如圖所示,步驟410,首先根據(jù)客戶端的訪問請求定義網(wǎng)絡(luò)結(jié)構(gòu),并在該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件,步驟420,接收客戶端發(fā)出的網(wǎng)頁訪問請求,并根據(jù)該訪問請求確定對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu),步驟430,根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該中間控制層的網(wǎng)頁文件,步驟440,將該執(zhí)行結(jié)果返回至該客戶端。
下面以客戶端監(jiān)控服務(wù)器端運行硬件測試程序的網(wǎng)站為例,對本發(fā)明進行詳細說明。根據(jù)實際需要,確定整個網(wǎng)站的框架結(jié)構(gòu),作為中間控制層。如果需要集體提交,在這個框架結(jié)構(gòu)中,添加一個Hidden的框架,用于在客戶端存儲一些需要集體提交的變量。當用戶請求Server為其提供服務(wù)時,中間控制層根據(jù)傳遞的參數(shù)不同,為用戶提供不同的服務(wù),返回不同的結(jié)果,從而遞回生成結(jié)果中每個頁面的內(nèi)容。當一些數(shù)據(jù)需要在幾個頁面之間傳遞,或需要存儲時,可以采用兩種方法提交一、集中提交,將中間變量使用腳本語言,存儲在Hidden的框架中的相應(yīng)的位置上,當需要提交時,再集中提交給中間控制層,由中間控制層將其存儲到Server端。二、單獨提交,將需要存儲的內(nèi)容,通過參數(shù)傳遞的方式,提交給中間控制層,由中間控制層將其存儲到Server端。當用戶請求換頁時,下一頁的內(nèi)容都保存在中間控制層,所以它可以直接從中間控制層中獲取參數(shù)。
本實施例的運作流程請參見圖5,步驟510,服務(wù)器端首先進行參數(shù)分析,步驟520,如果有參數(shù),步驟530,則需要對用戶請求進行分析,如果此時的用戶請求為提交數(shù)據(jù),步驟531,則在中間控制層存儲頁面數(shù)據(jù),如果此時的用戶請求為訪問新頁面,步驟532,則根據(jù)該儲存的參數(shù)讀取數(shù)據(jù)組織請求內(nèi)容,步驟533,如果此時的用戶請求為執(zhí)行其它程序,則控制運行該請求內(nèi)容對應(yīng)的程序,步驟534,如果此時的用戶請求為其它請求,則需進行相應(yīng)的其它處理,步驟535,如果沒有參數(shù)則組織初始化的內(nèi)容,步驟540,則將請求信息反饋到客戶端。
本實施例是在Client端選擇硬件的測試內(nèi)容,在Server端運行選中的測試項,并將結(jié)果返回到Client端。即建立一個Client端監(jiān)視Server端硬件測試的網(wǎng)站。
(1)定義接口公用模塊實現(xiàn)提供XML文件的寫WriteLog(),WriteErrorLog()方法,頁面需要實現(xiàn)Show(),Save()方法,測試控制層需要實現(xiàn)Test(),Stop(),Pause()等方法測試模塊需要實現(xiàn)Run()方法。
(2)根據(jù)不同的功能劃分模塊將供用戶選擇測試項的內(nèi)容劃分為一個選擇模塊,實現(xiàn)Show,Save方法;將顯示測試結(jié)果劃分為一個模塊,將測試程序讀寫xml文件劃分為模塊;每個測試項,根據(jù)硬件的不同劃分為不同的模塊;將測試項的控制劃分為一個模塊;
(3)定義中間控制層根據(jù)實際的需求,定義網(wǎng)站的框架結(jié)構(gòu),將框架結(jié)構(gòu)放入中間控制層,每個框架的目的URL為中間控制層的名字,帶有不同的參數(shù)。如果參數(shù)Page=‘某一頁名’,調(diào)用相應(yīng)頁面的Show方法,遞歸地生成Client端供用戶選擇測試項的接口;如果參數(shù)為Action=‘某一行為名’,根據(jù)不同的行為名,運行Test、Stop、Save等方法。
(4)參數(shù)內(nèi)容的傳遞中間控制層通過調(diào)用Save方法,將參數(shù)內(nèi)容存儲在中間控制層的成員變量中,當有需要時,每個頁面通過調(diào)用中間控制層提供的get方法獲得需要的相應(yīng)內(nèi)容。
(5)運行情況介紹用戶選擇欲運行的測試項,然后選擇開始測試,中間控制層接到開始測試的消息后,調(diào)用選擇模塊的Save方法,存儲選中的測試項的ID。然后調(diào)用測試模塊的Test方法運行測試,最后調(diào)用測試狀態(tài)頁模塊的Show方法,將開始運行時的運行狀態(tài)返回到Client端,顯示給用戶。每隔3秒鐘,Client端的Timer向客戶端發(fā)送請求,請求顯示3秒鐘后的測試結(jié)果,Server端接到請求,調(diào)用測試狀態(tài)頁模塊的Show方法,將3秒后的測試結(jié)果,返回到Client端,供用戶監(jiān)視測試運行的情況。當用戶選擇停止測試時,中間控制層接到停止請求,調(diào)用測試模塊的Stop方法,停止測試,將測試狀態(tài)頁內(nèi)容返回給Client。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng),根據(jù)定義的網(wǎng)絡(luò)結(jié)構(gòu),通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,其特征在于,該系統(tǒng)包括一客戶端,其發(fā)出服務(wù)器端網(wǎng)頁的訪問請求;及一服務(wù)器端,其用以接收并執(zhí)行該訪問請求,得出執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果返回至該客戶端,包括一網(wǎng)頁數(shù)據(jù)庫,其用以儲存所有該網(wǎng)頁文件;及一中間控制層,該客戶端通過該中間控制層與該數(shù)據(jù)庫服務(wù)器進行交互,根據(jù)該訪問請求對相應(yīng)的該網(wǎng)頁文件進行統(tǒng)一管理,從而根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)對網(wǎng)頁文件的統(tǒng)一調(diào)度。
2.根據(jù)權(quán)利要求1所述的利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特征在于,該中間控制層還包括一頁面調(diào)度模塊,其用以儲存所有訪問請求對應(yīng)的該網(wǎng)絡(luò)結(jié)構(gòu);一數(shù)據(jù)緩存模塊,其根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)提取并儲存對應(yīng)的頁面;及一控制模塊,其用以完成整個中間控制層程序的控制,根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該數(shù)據(jù)緩存模塊中相應(yīng)的頁面文件。
3.根據(jù)權(quán)利要求1所述的利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特征在于,還包括一隱藏框架,與該中間控制層相連,用以儲存需要集體提交給該中間控制層的多個網(wǎng)頁文件。
4.根據(jù)權(quán)利要求1所述的利用中間控制層控制網(wǎng)頁更新的系統(tǒng),其特征在于,還包括一Apache服務(wù)器。
5.一種利用中間控制層控制網(wǎng)頁更新的方法,通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,其特征在于,該方法包括如下步驟根據(jù)客戶端的訪問請求定義網(wǎng)絡(luò)結(jié)構(gòu),并在該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件;接收客戶端發(fā)出網(wǎng)頁的訪問請求,并根據(jù)該訪問請求確定對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu);根據(jù)該網(wǎng)絡(luò)結(jié)構(gòu)調(diào)用并執(zhí)行該中間控制層的網(wǎng)頁文件;及將該執(zhí)行結(jié)果返回至該客戶端。
6.根據(jù)權(quán)利要求5所述的利用中間控制層控制網(wǎng)頁更新的方法,其特征在于,該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件的步驟,為將一網(wǎng)頁文件單獨提交并儲存至該中間控制層。
7.根據(jù)權(quán)利要求5所述的利用中間控制層控制網(wǎng)頁更新的方法,其特征在于,該中間控制層預(yù)先儲存對應(yīng)的網(wǎng)頁文件的步驟,為將多個網(wǎng)頁文件儲存至一隱藏框架中,通過該隱藏框架集中提交給該中間控制層。
全文摘要
本發(fā)明涉及一種利用中間控制層控制網(wǎng)頁更新的系統(tǒng),根據(jù)定義的網(wǎng)絡(luò)結(jié)構(gòu),通過中間控制層對網(wǎng)頁文件進行統(tǒng)一管理,包括客戶端,其發(fā)出服務(wù)器端網(wǎng)頁的訪問請求;及服務(wù)器端,其用以接收并執(zhí)行該訪問請求,得出執(zhí)行結(jié)果,并將該執(zhí)行結(jié)果返回至該客戶端,包括網(wǎng)頁數(shù)據(jù)庫,其用以儲存所有該網(wǎng)頁文件;及中間控制層,該客戶端通過該中間控制層與該數(shù)據(jù)庫服務(wù)器進行交互,根據(jù)該訪問請求對相應(yīng)的該網(wǎng)頁文件進行統(tǒng)一管理,從而根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)對網(wǎng)頁文件的統(tǒng)一調(diào)度。本發(fā)明解決了不同頁之間的數(shù)據(jù)通信問題,每頁需要的值都可以在中間控制層中獲得,非常方便,同時接口簡單,易于開發(fā),從而使Client與Server之間的通信速度快。
文檔編號H04L29/02GK1773928SQ20041008865
公開日2006年5月17日 申請日期2004年11月10日 優(yōu)先權(quán)日2004年11月10日
發(fā)明者劉文涵, 宋建福, 高鋒, 吳健 申請人:英業(yè)達股份有限公司