專利名稱:智能網(wǎng)框架裝置的制作方法
技術領域:
本發(fā)明涉及互聯(lián)網(wǎng)技術,特別涉及一種智能網(wǎng)框架裝置。
背景技術:
互聯(lián)網(wǎng)技術的發(fā)展已經(jīng)使越來越多的用戶依賴于上網(wǎng)進行信息搜索、閱讀新聞、收發(fā)郵件、娛樂聊天和書寫日志等活動。然而,傳統(tǒng)意義上的導航網(wǎng)站,如265上網(wǎng)導航或Yahoo分類目錄,收錄的網(wǎng)址包羅萬象,是為成千上萬的用戶而設計的,針對個人而言,大量的過剩信息將使很多人將時間浪費在內容的搜索和篩選之上。
針對上述問題,現(xiàn)有技術中的解決方案有多種,其中市場上流行的客戶端應用程序大致可以分為C/S(客戶端/服務器模型)、B/S(瀏覽器/服務器模型)兩類。客戶端程序通過傳輸網(wǎng)絡與遠程服務器連接,如圖1所示。
其中,客戶端/服務器模型的應用程序又稱為胖客戶端軟件,例如QQ、Outlook、FoxMail、FlashGet、ACDsee、ICQ等??蛻舳送ㄟ^胖客戶端軟件與遠程服務器通信。胖客戶端軟件的一個明顯特點是大部分程序都駐留在客戶端,隨著客戶端軟件功能的不斷增加和完善,這類軟件就會被做得越來越大,易用性也降的越來越低;胖客戶端軟件的另一個明顯特點是由于胖客戶端軟件將大部分程序都駐留在客戶端,大量的運算由客戶端完成,對客戶機的性能要求很高,配置和維護起來也異常復雜,大都需要專業(yè)人士的協(xié)助。另外,當客戶端的應用程序需要升級時,新版本的應用程序通常通過重新部署整個應用程序來實現(xiàn),使得一個新的應用程序完全覆蓋原有的應用程序,因此,如果客戶端部署了不兼容的共享組件或軟件庫,則一個應用程序可以很容易地破壞另一個應用程序。
瀏覽器/服務器模型類的應用程序又稱為瘦客戶端軟件,通常使用瀏覽器作為核心部件和遠程服務器通信,相對于胖客戶端軟件,瘦客戶端軟件在客戶端的配置基本為零,對客戶端計算機的性能要求較低,不需要客戶機承擔多少運算負載,大量的運算任務都由遠程服務器來承擔。然而,瘦客戶端軟件一般都要求客戶在線操作,當用戶在斷開連接時將無法訪問應用程序。而且,在離線時,常用的應用程序功能(如拖放、撤消-重復以及上下文相關幫助)可能不可用,降低了應用程序的可用性。另外,由于應用程序的大部分邏輯和狀態(tài)位于服務器上,所以瘦客戶端會頻繁地向服務器發(fā)回數(shù)據(jù)和處理請求,瀏覽器必須等待響應到達,然后用戶才能繼續(xù)使用該應用程序,因此,該應用程序的響應速度將會降低,使得對遠程服務器的帶寬壓力及運算壓力的要求都是非常之高的。
發(fā)明內容
本發(fā)明要解決的問題是提供一種智能網(wǎng)框架裝置,以克服現(xiàn)有技術部署復雜、不能長期離線操作的缺陷。
本發(fā)明提供了一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括用于發(fā)送操作請求和顯示操作結果的顯示操作單元,所述客戶端還包括交互層單元和核心處理單元;所述交互層單元,用于接收所述顯示操作單元的操作請求,并將所述操作請求發(fā)送給所述核心處理單元,以及,接收所述核心處理單元的數(shù)據(jù)操作請求,根據(jù)所述數(shù)據(jù)操作請求將所述核心處理單元數(shù)據(jù)操作結果發(fā)送到所述顯示操作單元;所述核心處理單元,根據(jù)所述交互層單元發(fā)送的操作請求進行相應的數(shù)據(jù)操作,以及,保證本地數(shù)據(jù)與遠程服務器同步更新。
所述交互層單元包括網(wǎng)絡服務器子單元和腳本引擎子單元;所述網(wǎng)絡服務器子單元,用于根據(jù)所述顯示操作單元的靜態(tài)請求信息,從所述核心處理單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;以及,將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元;所述腳本引擎子單元,用于對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并調用所述核心處理單元的相應模塊完成相應操作。
所述核心處理單元包括客戶端文件子單元和信息更新子單元;客戶端文件子單元,用于在客戶端存儲靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù);信息更新子單元,用于實現(xiàn)客戶端文件子單元的數(shù)據(jù)與遠程服務器數(shù)據(jù)的同步更新;所述核心處理單元包括數(shù)據(jù)存儲子單元,所述網(wǎng)絡服務器子單元根據(jù)所述顯示操作單元的靜態(tài)請求信息,從客戶端數(shù)據(jù)存儲子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;所述網(wǎng)絡服務器子單元將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端數(shù)據(jù)存儲子單元中讀取對應的信息。
客戶端利用XML Web Services技術實現(xiàn)客戶端與遠程服務器的同步。
核心處理單元還包括事務處理子單元,根據(jù)任務請求定時或不定時觸發(fā)對應工作流程。
核心處理單元還包括插件管理子單元,所述插件管理子單元進一步包括插件配置信息庫和擴展接口庫,所述插件配置信息庫保存插件注冊信息、系統(tǒng)信息和更新信息;所述擴展接口庫為對外程序接口,實現(xiàn)插件的接入。
核心處理單元還包括網(wǎng)絡傳輸子單元,使客戶端和遠程服務器連接,實現(xiàn)客戶端與遠程服務器數(shù)據(jù)通信,支持HTTP、HTTPS、FTP、SOAP、POP3、SMTP及IMAP協(xié)議。
核心處理單元還包括信息配置子單元,保存客戶端配置信息。
智能網(wǎng)框架裝置啟動后,所述網(wǎng)絡服務器子單元在后臺工作,通過任意入口啟動所述顯示操作單元,并訪問智能網(wǎng)框架裝置的客戶端主機及端口,網(wǎng)絡服務器子單元接收到請求后,調用相關插件實現(xiàn)該插件相應的功能。
關閉瀏覽器后,網(wǎng)絡服務器子單元繼續(xù)工作,使預先設定的插件仍在后臺運行。
所述網(wǎng)絡服務器子單元支持HTTP、HTTPS標準協(xié)議,通過指定IP地址及端口進行監(jiān)聽服務,接受客戶端主機直接訪問及遠程IP認證機制。
所述網(wǎng)絡服務器子單元通過顯示操作單元、對話框窗口或氣泡窗口形式報告連接情況及服務器自身運行狀態(tài)。
對HTML頁面的訪問,所述網(wǎng)絡服務器子單元支持GET、HEAD及POST方法,分析并提取由這些方法傳遞的數(shù)據(jù)及頁面連接信息。
所述客戶端文件子單元為二級文件系統(tǒng)。
所述腳本引擎子單元包括ASP解釋器、PERL解釋器、PHP解釋器、RUBY解釋器、PYTHON解釋器或LUA解釋器。
本發(fā)明還提供了一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元;所述核心處理單元包括客戶端文件子單元或數(shù)據(jù)存儲子單元;所述網(wǎng)絡服務器子單元根據(jù)所述顯示操作單元的靜態(tài)請求信息,從客戶端文件子單元或數(shù)據(jù)存儲子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元。
本發(fā)明還提供了一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元和腳本引擎子單元;所述核心處理單元包括客戶端文件子單元或數(shù)據(jù)存儲子單元;所述網(wǎng)絡服務器子單元將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端文件子單元或數(shù)據(jù)存儲子單元中讀取對應的信息。
本發(fā)明還提供了一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元、腳本引擎子單元和分析子單元;所述核心處理單元包括數(shù)據(jù)存儲子單元或客戶端文件子單元;所述分析子單元用于判斷顯示操作單元發(fā)送的請求信息是靜態(tài)請求信息還是動態(tài)請求信息;所述網(wǎng)絡服務器子單元根據(jù)所述分析子單元發(fā)來的靜態(tài)請求信息,從客戶端文件子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;所述網(wǎng)絡服務器子單元將從分析子單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端文件子單元或數(shù)據(jù)存儲子單元中讀取對應的信息。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點本發(fā)明提供的智能網(wǎng)框架裝置是一種集客戶端、服務器、Web應用于一身的體系結構應用程序;融合了基于Web界面的易用性、Windows客戶端的友好性、Web Server端的穩(wěn)定性以及對XML Web Services標準的兼容性;是一個可擴展的能集成不同Internet應用的客戶端應用程序框架。
進一步,本發(fā)明的智能網(wǎng)框架裝置可以跨平臺使用,且易于安裝,對客戶機沒有附加的要求智能網(wǎng)框架裝置框架應用程序和客戶機的操作平臺無關,并且由于多數(shù)計算機已經(jīng)默認安裝有瀏覽器軟件以及所需要的相關基礎軟件,實際上對客戶機的附加要求為零。
進一步,客戶端軟件支持自動更新,只需將新版本的應用程序發(fā)布在遠程服務器上,客戶端就會自動發(fā)現(xiàn)最新版本的程序和應用組件,完成自動下載和更新。
進一步,客戶端進行應用程序更新時,會根據(jù)實際情況設定需要更新的部分,使得新版本的應用程序不必要完全覆蓋舊的應用程序,減小了應用程序被破壞的可能性,也減小了數(shù)據(jù)傳輸量。
進一步,在與Web結合的各種應用上,無論從擴展性(動態(tài)加載插件)、易于交互以及表現(xiàn)形式上說,智能網(wǎng)框架裝置都表現(xiàn)了其健壯性,尤其在靜態(tài)界面的表現(xiàn)能力上,例如在電子商務、經(jīng)常需要和Internet交互的應用。
進一步,智能網(wǎng)框架裝置支持用戶離線操作,數(shù)據(jù)信息可安全的存儲在客戶端文件系統(tǒng)當你的個人計算機完整的安裝了智能網(wǎng)框架裝置,信息被安全的保存在智能網(wǎng)框架裝置自身設計的安全的二級文件系統(tǒng)中。而且由于智能網(wǎng)框架裝置將Web Server集成到個人計算機,并對其功能進行了擴展。因此,智能網(wǎng)框架裝置的Web Server既能起到遠程Web Server的作用,又具備很多遠程Web Server不具備的功能。無論是在線還是離線,幾乎感覺不到任何區(qū)別,用戶信息依然可以用人們習慣使用的Web界面形式展現(xiàn)。
進一步,DWS的數(shù)據(jù)同步能力保證了客戶端與服務器端數(shù)據(jù)一致,兩端各保存一份相同的數(shù)據(jù)。用戶一旦上網(wǎng),用戶離線操作保存在客戶端文件系統(tǒng)中的那些希望共享的郵件、日志等信息將自動的同步到遠程服務器。
進一步,定期的與遠程服務器保持同步更新。DWS這樣的設計方式既減輕了對遠程服務器的帶寬和運算壓力,又保證了客戶端高速反饋信息的能力,因為大量的信息是保存在客戶端文件系統(tǒng)中的。
總體上,DWS克服了傳統(tǒng)胖客戶端軟件、瘦客戶端軟件存在的缺點,是首個具備Web服務器特性,并綜合了客戶端對客戶端資源訪問和處理能力的應用程序。不僅能減輕遠程服務器的帶寬及運算壓力,還能提高客戶端的服務效率。
圖1是現(xiàn)有技術客戶端和遠端服務器的網(wǎng)絡結構圖;圖2是本發(fā)明智能網(wǎng)框架裝置中的客戶端的結構圖;圖3是本發(fā)明中插件管理子單元的結構圖;圖4是本發(fā)明插件管理子單元實現(xiàn)加載及卸載的流程圖;圖5是本發(fā)明事務處理子單元完成插件調度的流程圖;圖6是本發(fā)明信息更新子單元進行更新的流程圖;圖7是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖;
圖8是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖;圖9是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖;圖10是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖;圖11是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖;圖12是本發(fā)明智能網(wǎng)框架裝置中的客戶端的又一實施例結構圖。
具體實施例方式
下面我們將結合附圖,對本發(fā)明的最佳實施方案進行詳細描述。首先要指出的是,本發(fā)明中用到的術語、字詞及權利要求的含義不能僅僅限于其字面和普通的含義去理解,還包括進而與本發(fā)明的技術相符的含義和概念,這是因為我們作為發(fā)明者,要適當?shù)亟o出術語的定義,以便對我們的發(fā)明進行最恰當?shù)拿枋?。因此,本說明和附圖中給出的配置,只是本發(fā)明的首選實施方案,而不是要列舉本發(fā)明的所有技術特性。我們要認識到,還有各種各樣的可以取代我們方案的同等方案或修改方案。
本發(fā)明智能網(wǎng)框架裝置中的客戶端(DWS,Desktop Web System)的一個具體實例的結構如圖2所示,包括顯示操作單元100,交互層單元200,核心處理單元300;其中,交互層單元200包括網(wǎng)絡服務器(Web Server)子單元210和腳本引擎子單元220;核心處理單元300包括事務處理子單元310、插件管理子單元320、客戶端文件子單元330、網(wǎng)絡傳輸子單元340、信息更新子單元350和信息配置子單元360。
顯示操作單元100通常為Web瀏覽器,包括IE(Microsoft InternetExplorer)、FF(FireFox)、NN(Netscape Navigator)、Opera等瀏覽器,包括文本、圖像、聲音、html文件、腳本等大量數(shù)據(jù)集中于此,并采用Web界面的形式展現(xiàn)給用戶。另外,DWS除了通過Web瀏覽器顯示外,部分信息也可以通過其它方式,例如對話框,氣泡窗口等形式展現(xiàn)給用戶。
交互層單元200以多線程的方式接受用戶請求,協(xié)調各插件單元完成輸入、輸出工作,DWS90%以上的界面交互都要有交互層的參與才能完成。交互層單元200接收的請求信息可以來自瀏覽器100或核心處理單元300。例如,當用戶在瀏覽器100中點擊某一新聞鏈接或者點擊收、發(fā)郵件的按鈕時,這種請求是來自于瀏覽器100;當DWS保存在本地的數(shù)據(jù)和遠程數(shù)據(jù)同步更新時,如需要刷新某一鏈接,或者某一頁面時,這種請求來自于核心處理單元300。
客戶端文件子單元330采用DFS(DWS File System,DWS自帶的二級文件系統(tǒng))進行數(shù)據(jù)存儲,當DWS啟動后,網(wǎng)絡服務器子單元210在后臺工作,可通過任意入口啟動瀏覽器100并訪問DWS的本地主機及端口,網(wǎng)絡服務器子單元210接收到請求后,調用相關插件實現(xiàn)各種功能。關閉瀏覽器100后,網(wǎng)絡服務器子單元210將繼續(xù)工作,設定好的插件仍在后臺運行。例如當用戶關閉瀏覽器100后,安裝在本地的郵件服務器仍然工作,自動接收郵件,并智能給出“你有一封信新郵件”的提示;關閉瀏覽器100后,保存在本地的數(shù)據(jù)依然定時與遠程數(shù)據(jù)同步更新。
網(wǎng)絡服務器子單元210支持HTTP、HTTPS等標準協(xié)議,可指定IP地址及端口進行監(jiān)聽服務,默認接受本地主機直接訪問及遠程IP認證機制。換句話說,保存在本地的資料,既可以通過本機IP及Port訪問到,亦可通過遠程服務器訪問。例如如果從本機通過8080端口訪問,可以在URL中輸入http//localhost8080/或http//127.0.0.18080/來對本地信息進行訪問。如果這臺機器的IP是219.148.157.222,那么也可以通過在URL中輸入http//219.148.157.2228080/遠程訪問本地資料,比如訪問保存在本機的郵件、網(wǎng)絡日志等。
網(wǎng)絡服務器子單元210對HTML頁面的訪問,支持GET,HEAD及POST等方法,分析并提取由這些方法傳遞的數(shù)據(jù)及頁面連接信息;網(wǎng)絡服務器子單元210實時顯示與遠程服務器的連接情況及本地主機的運行情況,并將運行時間、出錯記錄、與遠程WEB服務器的交互和版本狀態(tài)等等內容寫入日志文件;另外,網(wǎng)絡服務器子單元210可以配置WEB根目錄,使不同的連接對應不同的目錄,并設置默認的起始頁面,以及對主頁面的自動刷新等功能;網(wǎng)絡服務器子單元210還可以實際情況處理接收到的錯誤信息和正常反饋信息,比如200 OK、400 Bad Request、404 Not Found、405 Method Not Allowed、500SERVER ERROR、501 Not Implemented等。當運行在裝有IIS的系統(tǒng)上時自動改用其他端口,默認時則用80端口。
腳本引擎子單元220是一個接口模型,可以調用ASP、PERL、PHP、RUBY、PYTHON、LUA等經(jīng)過優(yōu)化和修改的解釋器。針對由網(wǎng)絡服務器子單元210傳遞過來的不同的腳本程序請求,腳本引擎子單元220分別調用不同的腳本解釋器對其進行編譯和處理,把結果返回到網(wǎng)絡服務器子單元210。例如,由ASP腳本寫成的代碼(.ASP文件)需要有ASP腳本引擎來編譯和執(zhí)行;由PHP腳本寫成的代碼(.PHP文件)由PHP腳本引擎來編譯和執(zhí)行。
核心處理單元300是本發(fā)明的核心部分,本發(fā)明的基本功能和擴展功能都需要通過該部分提供。
其中,插件管理子單元320主要功能還包括保存插件配置信息;裝載或卸載插件;定時或不定時觸發(fā)插件工作事件,實現(xiàn)各插件的正常運轉和數(shù)據(jù)更新;提供統(tǒng)一的插件調用配置接口,動態(tài)加載第三方插件。并且,不同插件的數(shù)據(jù)存儲相對獨立,便于主程序和插件之間高效率的數(shù)據(jù)交互。
插件管理子單元320的結構如圖3所示,進一步包括有插件配置信息庫和DWS平臺擴展接口類庫兩部分組成。配置信息庫的主要功能是保存插件各種注冊信息,例如插件名稱、插件ID以及插件的存儲位置、插件版本、插件類型(例如是自啟動后臺運行,還是用戶點擊觸發(fā)工作)、插件的認證信息等。除此之外,還保存一些有關插件更新的日志和系統(tǒng)信息。DWS平臺擴展接口類庫是插件管理器的重要部分,它是DWS主程序提供的一套統(tǒng)一的對外程序接口。有了此接口類庫,DWS就可以完成插件的加載、卸載配置;并且第三方也可以根據(jù)此套統(tǒng)一接口開發(fā)各種各樣的插件進行動態(tài)加載。
插件管理子單元320在實現(xiàn)加載及卸載具體插件的流程如圖4所示,DWS啟動階段,DWS完成相應基礎組件的安裝后,對插件的配置信息進行檢查,例如插件注冊的名字、ID、版本信息等是否符合相應規(guī)則,插件文件存放位置以及插件應該在哪個文件里添加怎樣的信息等。這一點保證了主程序在加載插件的過程中能夠成功地找到插件程序,如果某個插件沒有按照規(guī)定去做,主程序將不會發(fā)現(xiàn)它的存在,更不可能去加載它。
找到插件后,如果插件提供的主接口符合DWS主程序預留的設計規(guī)則,則初始化該插件,否則認為此插件沒有遵循協(xié)議,不是一個正確的插件,放棄對它的加載。插件加載成功后,主程序和插件之間按照某種規(guī)定進行數(shù)據(jù)交互,完成特定的功能。當用戶在配置頁面選擇加載或卸載某插件,或用戶確認了加載第三方插件的提示,配置信息庫中和此插件相對應的配置信息被更改。當下次DWS啟動時,按照配置信息加載或卸載某插件。
事務處理子單元310是DWS用來處理定時或不定時的有關各插件模塊的任務請求,觸發(fā)相應工作事件來完成插件調度的重要模塊,其工作流程如圖5所示當請求來自人機交互界面(瀏覽器)時,用戶操作人機界面向主程序發(fā)送任務請求,主程序接收到該請求后進行處理;主程序啟動一個工作線程來處理該任務;當任務處理完成,線程正常結束;如果中途異常退出,線程異常結束;如果線程工作超時,主程序強行結束該線程;最終返回給主程序一個處理結果;主程序根據(jù)處理結果反饋給用戶,人機界面上顯示相應的消息。
當請求由定時器觸發(fā)時,用戶通過主程序的設置界面設置定時條件;當定時條件滿足,觸發(fā)相應任務工作事件;主程序啟動一個工作線程來處理該任務;當任務處理完成,線程正常結束;如果中途異常退出,線程異常結束;如果線程工作超時,主程序強行結束該線程;最終返回給主程序一個處理結果;主程序根據(jù)處理結果反饋給用戶,人機界面上顯示相應的消息。
在主程序的啟動、運行及結束的整個生命周期中,以及工作線程從開始到結束的整個運行過程中,為了讓用戶知道運行的情況和結果,DWS都會以消息對話框或消息浮動提示框的形式反饋給用戶一些適當?shù)奶崾?。消息的類型可以分為普通消息、錯誤日志消息和互動消息三大類。
事務處理子單元310的主要功能是保證本地數(shù)據(jù)和遠程服務器同步一種情況是本地信息(包括各種插件數(shù)據(jù)和用戶離線操作的數(shù)據(jù))同步到遠程服務器(DWS自己的服務器);另一種情況是遠程服務器(泛指網(wǎng)絡中的服務器)中的信息同步到本地,此項操作保證了各插件中的數(shù)據(jù)定期和遠程服務器中的數(shù)據(jù)同步更新。
DWS采用SyncML協(xié)議,使用XML Web Services的技術實現(xiàn)本地和遠程數(shù)據(jù)的同步。SyncML的同步過程是由同步雙方相互發(fā)送一系列消息來完成,SyncML的消息都是以XML格式的文檔定義的,消息的格式在SyncML表示協(xié)議中做了具體定義。有了SyncML,用戶的個人信息(如電子郵件、通訊錄等)能夠在用戶的不同設備上同時得到更新,并保持一致。比如,用戶在掌上電腦上閱讀了一封新收到的郵件,那么在他的臺式機中,也會自動地將這封郵件顯示為已讀郵件。
XML Web Services為一種應用Web Services技術,實現(xiàn)上傳、下傳、同步等交換數(shù)據(jù)的行為。應用XML Web Services除了可以與遠程服務器進行數(shù)據(jù)交換及同步之外,更主要的是可以方便的擴展各種應用,包括第三方的插件支持等。從表面上看,Web Services就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API(Application Programming Interface,應用程序接口),也就是說,能夠用編程的方法通過Web調用來實現(xiàn)某個功能的應用程序;從深層次上看,Web Services是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網(wǎng)絡(通常為Web)中被描述、發(fā)布、查找以及調用。
下面以一個雙向同步操作的同步操作為例進行說明同步操作由客戶端發(fā)起;客戶端發(fā)送自己的更新信息;服務器接收到客戶端的信息進行分析,并返回處理的狀態(tài)和更新信息;客戶端接收到服務器返回的更新信息并根據(jù)此信息更新自己的信息;客戶端返回自己的更新信息,在更新信息中包括記錄的ID映射信息;服務器應答客戶端的映射信息,客戶端收到服務器的應答后,把同步結果通知用戶。
網(wǎng)絡傳輸子單元340使用Socket實現(xiàn)本地和遠程服務器的連接,完成本地和遠程之間的數(shù)據(jù)通信,其中,連接支持HTTP、HTTPS、FTP、SOAP、POP3、SMTP和IMAP等協(xié)議。
信息更新子單元350的主要功能是支持DWS本身自動更新。DWS自身的自動更新涉及到DWS核心和DWS插件的更新兩部分;自動更新可以發(fā)生在首次DWS啟動完成后或者是在DWS的運行階段兩個時期。具體更新流程如圖6所示,客戶端發(fā)出版本更新請求,遠程更新服務器接收到請求;通過WebServices技術從遠程更新服務器下載得到服務器端主程序和插件最新版本號;通過本地API獲取當前正使用的主程序和插件的版本號;將從服務器下載得到的版本號與本地得到的版本號相比較;如果服務器上的版本號較新,并且用戶接收了更新版本的提示,則通過網(wǎng)絡從更新服務器下載新版本的主程序或插件,更新本地的主程序或插件;相反如果服務器上的版本號不是較新的版本,或者客戶拒絕了更新版本的提示,則不作下載處理。
信息配置子單元360是客戶端信息的保存地。主要用于記錄DWS客戶端運行時所必需的公共參數(shù)、環(huán)境變量等;記錄DWS運行過程中所出現(xiàn)的錯誤細節(jié),包括Web Server的錯誤、文件系統(tǒng)存儲錯誤和受控插件錯誤;記錄客戶端有關代理服務器的各種信息。
DWS支持用戶離線操作,數(shù)據(jù)被安全的保存在客戶端文件子單元370。該實施例中采用DFS(DWS File System,DWS自帶的二級文件系統(tǒng))進行數(shù)據(jù)存儲,由于DWS涉及到要對大量類似郵件、通訊錄、圖片等占用硬盤空間比較小的文件進行存儲和管理,因此,DWS的文件系統(tǒng)對小文件的訪問和保存一定要是高效率的,所以DWS文件系統(tǒng)要能做到對小文件的支持;并且由于用戶初始的數(shù)據(jù)文件可能占用的空間相當小,但隨著用戶數(shù)據(jù)的增多,數(shù)據(jù)存儲文件會越來越大,占用的空間也會越來越大,為了合理、高效的為用戶分配存儲空間,DWS的文件系統(tǒng)應該是可伸縮的。所以DFS采用應用數(shù)據(jù)庫進行存儲,又兼具文件訪問特性相結合的設計模式。另外,本發(fā)明同時支持使用ODBC、ADO、DAO、DBI等接口規(guī)范訪問各種各樣的數(shù)據(jù)庫。
DWS文件系統(tǒng)支持常規(guī)的I/O操作,如打開、關閉、新建、讀、寫等操作,對外提供一套統(tǒng)一的接口;DWS的權限控制DWS在驅動層(虛擬設備)加入判斷訪問程序的認證,也就是說,當外部程序訪問本地文件系統(tǒng)時,DWS首先判斷訪問程序是否是來自DWS核心,或者判斷訪問程序是否經(jīng)過特殊授權,或者判斷目錄文件是否完全開放。對于來自于DWS核心程序或經(jīng)過特殊授權的訪問,DWS文件系統(tǒng)是完全開放的。對于其他程序而言,他是半透明的,有只讀、讀寫、執(zhí)行、禁止等各種權限控制。使用文件系統(tǒng)日志,對文件系統(tǒng)的輸入輸出等操作進行紀錄,即使意外斷電或者出現(xiàn)內容泄露也可以根據(jù)日志信息進行修正或對各個插件進行跟蹤。
另外,在Windows操作系統(tǒng)下,我們使用VxD(Virtual Something Driver,是一個管理硬件設備或者已安裝軟件等系統(tǒng)資源的32位可執(zhí)行程序,使得幾個應用程序可以同時使用這些資源,Windows通過使用VxD允許基于Windows的應用程序實現(xiàn)多任務,VxD在與Windows的連接工作中處理中斷,并在不影響其它應用程序的執(zhí)行的情況下為特定的應用程序執(zhí)行I/O操作。)把DWS的本地文件系統(tǒng)掛接上來。在Linux系統(tǒng)下,使用VFS(Virtual FileSystem虛擬文件系統(tǒng),可以使Linux同時支持十多個檔案系統(tǒng))把本地文件系統(tǒng)掛接上來。掛接上來的DFS的存儲使用DWS設計的FAT(File AllocationTable文件分配表,是文件管理系統(tǒng)用來給每個文件分配磁盤物理空間的表格,它告訴操作系統(tǒng),文件存放在磁盤的什么地方)格式將文件存儲在本地硬盤。為了使用戶使用搜索功能,很快的查找所保存的文件,DFS使用BDB(Berkerly Database,一種占用存儲空間相當小的數(shù)據(jù)庫)數(shù)據(jù)庫保存文件索引。掛接上來的DFS的接口參考EXT2的模式,也就是說DFS使用標準的EXT2接口規(guī)范訪問DFS和BDB數(shù)據(jù)庫。DFS對外提供標準的輸入輸出接口。DFS這樣設計的最大好處是第三方軟件開發(fā)人員的學習成本低,易于軟件的開發(fā)和維護。
上述實施例只是智能網(wǎng)框架裝置中的客戶端一種結構,然而,對于不同的應用環(huán)境,本發(fā)明的智能網(wǎng)框架裝置中的客戶端可以靈活改變。
下面通過具體實施方式
對本發(fā)明進行詳細描述,該實施例結構如圖7所示,包括顯示操作單元為瀏覽器100,交互層單元200包括網(wǎng)絡服務器子單元210和腳本引擎子單元220,核心處理單元300包括客戶端文件子單元370,用于在客戶端本地存儲靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)。
網(wǎng)絡服務器子單元210的HTTP監(jiān)聽端口監(jiān)聽到請求后,網(wǎng)絡服務器子單元210首先分析出該請求是HTML頁面請求、本地文件請求或插件的腳本程序。
如果請求為HTML頁面或本地文件(靜態(tài)數(shù)據(jù)),網(wǎng)絡服務器子單元210則分析出請求的具體的文件名和路徑,調用相關接口函數(shù)從DWS客戶端文件子單元370讀出數(shù)據(jù);智能網(wǎng)框架裝置中的客戶端獲得反應后,如果是HTML頁面請求,由HTTP連接返回數(shù)據(jù)到瀏覽器100;如果是本地文件請求,則彈出提示用戶接收數(shù)據(jù)的對話框,用戶確認后,數(shù)據(jù)開始接收。例如,用戶訪問RSS中的一個新聞頁面(*.html),網(wǎng)絡服務器子單元210的HTTP監(jiān)聽端口監(jiān)聽到此請求后,因為請求是一個HTML頁面,則分析出此HTML頁面的文件名和保存路徑,然后從本地文件系統(tǒng)讀出此頁面,把響應傳遞到瀏覽器100。
如果HTTP監(jiān)聽端口監(jiān)聽到的請求為腳本程序(動態(tài)數(shù)據(jù)),請求首先由網(wǎng)絡服務器子單元210傳遞給腳本引擎子單元220,腳本引擎子單元220根據(jù)請求腳本的不同,調用相應的腳本解釋器對腳本進行解釋,如果需要從核心處理單元300中的客戶端文件子單元370提取信息,則調用相應的接口函數(shù)把信息提取出來,把解釋后的結果返回到網(wǎng)絡服務器子單元210,網(wǎng)絡服務器子單元210再把結果傳遞給瀏覽器100,或以其它形式如對話框的形式和用戶發(fā)生交互。
例如用戶在頁面中輸入姓名和密碼,請求進入自己的郵箱察看郵件,當網(wǎng)絡服務器子單元210的HTTP監(jiān)聽端口監(jiān)聽到這個請求后,分析到此請求是一個ASP腳本,就把此請求傳遞給ASP腳本解釋器,由ASP腳本解釋器對其進行編譯和處理。ASP腳本解釋器對腳本進行解釋后,從ASP腳本中提取傳遞過來的姓名和密碼,然后到數(shù)據(jù)庫中去找是否有一用戶的姓名和密碼正好和傳遞過來的姓名和密碼相符,如果相符,傳遞注冊成功的信息到瀏覽器,如果不相符,輸出錯誤信息到瀏覽器。
對于請求中包含了復雜邏輯,例如,用戶除了簡單的瀏覽圖片外,對圖片的旋轉、放大等操作,用戶對郵件進行的收發(fā)操作等都是有關復雜邏輯的請求,如果利用常規(guī)的網(wǎng)絡服務器子單元210和腳本引擎完成這些復雜的邏輯,響應速度將會大大降低。為了克服上述缺點,可以在核心處理單元300中增加事務處理子單元310和插件管理子單元320,具體結構如圖8所示,腳本引擎子單元220會把請求傳遞給事務處理子單元310,由事務處理子單元310啟動相應事務處理線程,調用相應插件管理子單元320的相應的函數(shù)或系統(tǒng)提供的接口來完成這些復雜的運算,把處理后的結果返回到瀏覽器100或以其他形式展現(xiàn)給用戶。該實施例中的客戶端文件子單元370可以用現(xiàn)有技術中的存儲設備(如計算機硬盤C、D或E)或數(shù)據(jù)庫代替。
上述操作都是在離線方式下進行的操作,但是在實際應用中,多數(shù)客戶端需要與遠端服務器進行同步更新,因此,在核心處理單元300中增加信息更新子單元350和網(wǎng)絡傳輸子單元340,另外,可以利用現(xiàn)有技術中的存儲設備實現(xiàn)客戶端文件子單元的存儲功能(如計算機硬盤C、D或E),如圖9所示。當客戶端文件子單元370或數(shù)據(jù)存儲子單元330中保存本地數(shù)據(jù)和遠程服務器同步更新時,信息更新子單元350在定時條件滿足時,觸發(fā)相應的事務處理線程,調用相應插件的接口或函數(shù),通過網(wǎng)絡傳輸子單元340與遠程服務器同步,把同步后的結果傳遞到瀏覽器100或以其他形式展示給用戶進行交互操作,這種請求來自于DWS核心。
例如,用戶郵件的同步,當定時條件滿足時,事務處理模塊觸發(fā)相應線程,調用郵件插件的相應接口或函數(shù),完成本地郵件和遠程服務器中的郵件的同步,如果有新郵件存在,新郵件首先保存在本地文件系統(tǒng),然后把反應傳遞到瀏覽器。并彈出氣泡窗口,智能給出相應提示。
下面通過另一實施例對本發(fā)明進行詳細描述,該實施例結構如圖10所示,包括遠程服務器和客戶端,所述客戶端包括瀏覽器100,所述客戶端還包括交互層單元200和核心處理單元300;所述交互層單元包括網(wǎng)絡服務器子單元210,所述核心處理單元300包括客戶端文件子單元370(或者用現(xiàn)有技術中的存儲設備,如計算機硬盤C、D或E)。所述網(wǎng)絡服務器子單元210根據(jù)所述瀏覽器100的靜態(tài)請求信息,從客戶端文件子單元(或數(shù)據(jù)存儲子單元)370讀出數(shù)據(jù),并發(fā)送到瀏覽器100。
下面通過另一實施例對本發(fā)明進行詳細描述,該實施例結構如圖11所示,包括遠程服務器和客戶端,所述客戶端包括瀏覽器100,所述客戶端還包括交互層單元200和核心處理單元300,所述交互層單元200包括網(wǎng)絡服務器子單元210和腳本引擎子單元220;所述核心處理單元300包括數(shù)據(jù)存儲子單元330(現(xiàn)有技術中的存儲設備,如計算機硬盤C、D或E,與本發(fā)明中的本地文件存儲子單元的作用相同);所述網(wǎng)絡服務器子單元210將從瀏覽器100得到的動態(tài)請求信息發(fā)送給腳本引擎子單元220,所述腳本引擎子單元220對網(wǎng)絡服務器子單元210傳送的不同腳本程序請求進行編譯和處理,并從數(shù)據(jù)存儲子單元(或客戶端文件子單元)330中讀取對應的信息。
下面通過另一實施例對本發(fā)明進行詳細描述,該實施例結構如圖12所示,包括遠程服務器和客戶端,所述客戶端包括瀏覽器100,所述客戶端還包括交互層單元200和核心處理單元300,所述交互層單元200包括網(wǎng)絡服務器子單元210、腳本引擎子單元220和分析子單元230;所述核心處理單元300包括數(shù)據(jù)存儲子單元330和客戶端文件子單元370;所述分析子單元230用于判斷瀏覽器100發(fā)送的請求信息是靜態(tài)請求信息還是動態(tài)請求信息;所述網(wǎng)絡服務器子單元210根據(jù)所述分析子單元230發(fā)來的靜態(tài)請求信息,從客戶端文件子單元370或者數(shù)據(jù)存儲子單元330讀出數(shù)據(jù),并發(fā)送到瀏覽器100;所述網(wǎng)絡服務器子單元210將從分析子單元230得到的動態(tài)請求信息發(fā)送給腳本引擎子單元220,所述腳本引擎子單元220對網(wǎng)絡服務器子單元210傳送的不同腳本程序請求進行編譯和處理,并從客戶端文件子單元370或者數(shù)據(jù)存儲子單元330中讀取對應的信息。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
權利要求
1.一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括用于發(fā)送操作請求和顯示操作結果的顯示操作單元,其特征在于,所述客戶端還包括交互層單元和核心處理單元;所述交互層單元,用于接收所述顯示操作單元的操作請求,并將所述操作請求發(fā)送給所述核心處理單元,以及,接收所述核心處理單元的數(shù)據(jù)操作請求,根據(jù)所述數(shù)據(jù)操作請求將所述核心處理單元數(shù)據(jù)操作結果發(fā)送到所述顯示操作單元;所述核心處理單元,根據(jù)所述交互層單元發(fā)送的操作請求進行相應的數(shù)據(jù)操作,以及,保證本地數(shù)據(jù)與遠程服務器同步更新。
2.如權利要求1所述的智能網(wǎng)框架裝置,其特征在于,所述交互層單元包括網(wǎng)絡服務器子單元和腳本引擎子單元;所述網(wǎng)絡服務器子單元,用于根據(jù)所述顯示操作單元的靜態(tài)請求信息,從所述核心處理單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;以及,將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元;所述腳本引擎子單元,用于對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并調用所述核心處理單元的相應模塊完成相應操作。
3.如權利要求1所述的智能網(wǎng)框架裝置,其特征在于,所述核心處理單元包括客戶端文件子單元和信息更新子單元;客戶端文件子單元,用于在客戶端存儲靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù);信息更新子單元,用于實現(xiàn)客戶端文件子單元的數(shù)據(jù)與遠程服務器數(shù)據(jù)的同步更新;
4.如權利要求2或3所述的智能網(wǎng)框架裝置,其特征在于,所述核心處理單元包括數(shù)據(jù)存儲子單元,所述網(wǎng)絡服務器子單元根據(jù)所述顯示操作單元的靜態(tài)請求信息,從客戶端數(shù)據(jù)存儲子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;所述網(wǎng)絡服務器子單元將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端數(shù)據(jù)存儲子單元中讀取對應的信息。
5.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,客戶端利用XML WebServices技術實現(xiàn)客戶端與遠程服務器的同步。
6.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,核心處理單元還包括事務處理子單元,根據(jù)任務請求定時或不定時觸發(fā)對應工作流程。
7.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,核心處理單元還包括插件管理子單元,所述插件管理子單元進一步包括插件配置信息庫和擴展接口庫,所述插件配置信息庫保存插件注冊信息、系統(tǒng)信息和更新信息;所述擴展接口庫為對外程序接口,實現(xiàn)插件的接入。
8.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,核心處理單元還包括網(wǎng)絡傳輸子單元,使客戶端和遠程服務器連接,實現(xiàn)客戶端與遠程服務器數(shù)據(jù)通信,支持HTTP、HTTPS、FTP、SOAP、POP3、SMTP及IMAP協(xié)議。
9.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,核心處理單元還包括信息配置子單元,保存客戶端配置信息。
10.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,智能網(wǎng)框架裝置啟動后,所述網(wǎng)絡服務器子單元在后臺工作,通過任意入口啟動所述顯示操作單元,并訪問智能網(wǎng)框架裝置的客戶端主機及端口,網(wǎng)絡服務器子單元接收到請求后,調用相關插件實現(xiàn)該插件相應的功能。
11.如權利要求10所述智能網(wǎng)框架裝置,其特征在于,關閉瀏覽器后,網(wǎng)絡服務器子單元繼續(xù)工作,使預先設定的插件仍在后臺運行。
12.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,所述網(wǎng)絡服務器子單元支持HTTP、HTTPS標準協(xié)議,通過指定IP地址及端口進行監(jiān)聽服務接受客戶端主機直接訪問及遠程IP認證機制。
13.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,所述網(wǎng)絡服務器子單元通過顯示操作單元、對話框窗口或氣泡窗口形式報告連接情況及服務器自身運行狀態(tài)。
14.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,對HTML頁面的訪問,所述網(wǎng)絡服務器子單元支持GET、HEAD及POST方法,分析并提取由這些方法傳遞的數(shù)據(jù)及頁面連接信息。
15.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,所述客戶端文件子單元為二級文件系統(tǒng)。
16.如權利要求1所述智能網(wǎng)框架裝置,其特征在于,所述腳本引擎子單元包括ASP解釋器、PERL解釋器、PHP解釋器、RUBY解釋器、PYTHON解釋器或LUA解釋器。
17.一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,其特征在于,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元;所述核心處理單元包括客戶端文件子單元或數(shù)據(jù)存儲子單元;所述網(wǎng)絡服務器子單元根據(jù)所述顯示操作單元的靜態(tài)請求信息,從客戶端文件子單元或數(shù)據(jù)存儲子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元。
18.一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,其特征在于,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元和腳本引擎子單元;所述核心處理單元包括客戶端文件子單元或數(shù)據(jù)存儲子單元;所述網(wǎng)絡服務器子單元將從顯示操作單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端文件子單元或數(shù)據(jù)存儲子單元中讀取對應的信息。
19.一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,所述客戶端包括顯示操作單元,其特征在于,所述客戶端還包括交互層單元和核心處理單元,所述交互層單元包括網(wǎng)絡服務器子單元、腳本引擎子單元和分析子單元;所述核心處理單元包括數(shù)據(jù)存儲子單元或客戶端文件子單元;所述分析子單元用于判斷顯示操作單元發(fā)送的請求信息是靜態(tài)請求信息還是動態(tài)請求信息;所述網(wǎng)絡服務器子單元根據(jù)所述分析子單元發(fā)來的靜態(tài)請求信息,從客戶端文件子單元讀出數(shù)據(jù),并發(fā)送到顯示操作單元;所述網(wǎng)絡服務器子單元將從分析子單元得到的動態(tài)請求信息發(fā)送給腳本引擎子單元,所述腳本引擎子單元對網(wǎng)絡服務器子單元傳送的不同腳本程序請求進行編譯和處理,并從客戶端文件子單元或數(shù)據(jù)存儲子單元中讀取對應的信息。
全文摘要
本發(fā)明公開了一種智能網(wǎng)框架裝置,包括遠程服務器和客戶端,客戶端還包括交互層單元和核心處理單元;交互層單元接收顯示操作單元的操作請求,并將操作請求發(fā)送給核心處理單元,并接收核心處理單元的數(shù)據(jù)操作請求,根據(jù)數(shù)據(jù)操作請求將核心處理單元數(shù)據(jù)操作結果發(fā)送到顯示操作單元;核心處理單元根據(jù)交互層單元發(fā)送的操作請求進行相應的數(shù)據(jù)操作,并保證本地數(shù)據(jù)與遠程服務器同步更新。本發(fā)明是一種集客戶端、服務器、Web應用于一身的體系結構應用程序;融合了基于Web界面的易用性、Windows客戶端的友好性、Web Server端的穩(wěn)定性以及對XML Web Services標準的兼容性;是可擴展的能集成不同網(wǎng)絡應用的客戶端應用程序框架。
文檔編號H04L29/06GK1741532SQ20051010256
公開日2006年3月1日 申請日期2005年9月12日 優(yōu)先權日2005年9月12日
發(fā)明者林興陸 申請人:林興陸, 蔡文勝