專利名稱::便攜式跨平臺數(shù)據(jù)庫訪問方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明總體涉及數(shù)據(jù)庫管理方法和系統(tǒng),特別是一種用于遠(yuǎn)程圖形用戶界面數(shù)據(jù)庫化的方法和系統(tǒng)。
背景技術(shù):
:數(shù)據(jù)庫處理已經(jīng)隨著時間在改變。多年以前,基于大型機的數(shù)據(jù)庫處理占主要地位。顯示程序被存儲在大型主機中并被發(fā)送至終端。由終端發(fā)送數(shù)據(jù)庫請求,然后提取出新的一屏。數(shù)據(jù)庫處理非常慢且麻煩。在下一代數(shù)據(jù)庫處理中,顯示程序駐留于個人電腦(PC)中(即客戶或用戶設(shè)備)。數(shù)據(jù)庫請求被發(fā)送至一個遠(yuǎn)程或本地數(shù)據(jù)庫服務(wù)器。該駐留于PC中的程序顯示結(jié)果。數(shù)據(jù)庫處理速度提高了,但是仍然很慢。第三代數(shù)據(jù)庫處理涉及PC與訪問數(shù)據(jù)庫的網(wǎng)絡(luò)服務(wù)器之間HTML(超文本鏈接標(biāo)示語言)形式的重復(fù)性發(fā)送和接收。數(shù)據(jù)庫處理速度又提高了,但還是慢。第四代和目前的數(shù)據(jù)庫處理是JAVA/.NET。javaJCODE被下載至瀏覽器Java機。此JCODE編碼包含數(shù)據(jù)庫訪問編碼。JAVA/.NET的問題包括用于巨大的編碼規(guī)模的巨大的內(nèi)存需求及不能另人滿意的緩慢的處理速度。除了小于期望的處理速度和巨大的內(nèi)存需求之外,當(dāng)前基于網(wǎng)絡(luò)的數(shù)據(jù)庫系統(tǒng)和方法還受制于多種問題,諸如維護(hù)費用、安全侵害、以及適應(yīng)性缺乏。當(dāng)一個升級可行時升級應(yīng)用軟件的所有拷貝的維護(hù)費用。在用戶設(shè)備中儲存應(yīng)用程序引起通過竊用的安全風(fēng)險。這些應(yīng)用程序需要一定數(shù)量的用戶設(shè)備內(nèi)存來永久地儲存應(yīng)用程序或由服務(wù)器設(shè)備提供。升級是一件非常費力且費錢的事情。此外,諸如打印機和路由器這樣的網(wǎng)絡(luò)設(shè)備配置起來很麻煩。因此,需要提供一種低維護(hù)費用、安全、輕量、容易配置且可重復(fù)使用的用于訪問數(shù)據(jù)庫的方法及系統(tǒng)。
發(fā)明內(nèi)容因此,本發(fā)明的目的是提供一種用于遠(yuǎn)程圖形用戶界面數(shù)據(jù)庫化的方法和系統(tǒng)。本發(fā)明代表下一代的數(shù)據(jù)庫處理。顯示(或圖形用戶界面-GUI)由遠(yuǎn)程設(shè)備供應(yīng)。遠(yuǎn)程設(shè)備發(fā)送構(gòu)件定義和構(gòu)件處理的說明至客戶端設(shè)備。構(gòu)件處理的說明描述構(gòu)件與常駐在客戶端設(shè)備中的二進(jìn)制組件對象模型模塊之間的行為??蛻舳嗽O(shè)備由構(gòu)件信息創(chuàng)立一個GUI頁面??蛻舳嗽O(shè)備需要一個數(shù)據(jù)庫,該數(shù)據(jù)庫使用由本地二進(jìn)制組件對象模型模塊調(diào)用的本地數(shù)據(jù)庫。該數(shù)據(jù)庫可以常駐于客戶端設(shè)備、服務(wù)器設(shè)備或其它設(shè)備中。因為顯示是由預(yù)先定義的構(gòu)件產(chǎn)生的,所以顯示圖形用戶界面編碼更小。因為圖形用戶界面在服務(wù)器上,所以本發(fā)明使得維護(hù)費用減少。當(dāng)應(yīng)用軟件升級時,只有服務(wù)器中的編碼升級。這防止在一個系統(tǒng)中軟件的多個版本。當(dāng)升級的應(yīng)用軟件被裝載到客戶端設(shè)備上時,該客戶端設(shè)備具有了該應(yīng)用軟件的升級版本。本發(fā)明提高了安全性。因為應(yīng)用軟件不是永久性地駐留于客戶端設(shè)備中,所以客戶端設(shè)備更難于被黑客入侵。該編碼只在需要知道基礎(chǔ)部分時才是可用的。此外,一個可選擇的安全模塊可以被置于客戶端設(shè)備中以防止黑客入侵,而且所有編碼都是通過數(shù)字化簽名的。本發(fā)明是輕量型的。本地二進(jìn)制模塊可只有30K至100K大小。例如,該數(shù)據(jù)庫查詢語言模塊和安全模塊可以各為50K大小。臨時存儲在客戶端設(shè)備上的非二進(jìn)制GUI可以為10K至50K大小。GUI可以被存儲在高速緩沖存儲器中。高速緩沖存儲器防止直接內(nèi)存存取。如果沒有變化,GUI可由高速緩沖存儲器裝載,或者可以由應(yīng)用程序服務(wù)器裝載。小規(guī)模的本地二進(jìn)制模塊及GUI非常適合于在緩慢鏈接上的嵌入式應(yīng)用程序和遠(yuǎn)程應(yīng)用程序。本發(fā)明允許對象重用,允許許多不同的應(yīng)用程序使用組件對象模型模塊。這些不同的應(yīng)用程序包括銷售端、辦公室管理系統(tǒng)以及學(xué)校管理系統(tǒng)。本發(fā)明允許遠(yuǎn)程配置嵌入設(shè)備,諸如打印機和路由器。配置信息可以被方便地為網(wǎng)絡(luò)上所有的嵌入設(shè)備顯示。應(yīng)當(dāng)理解的是,前面的概述以及隨后的詳細(xì)描述都是示例性和解釋性的,并不對本發(fā)明的權(quán)利要求構(gòu)成限制。作為說明書一部分的附圖舉例說明了本發(fā)明的實施例,并與前面的概述一起用來解釋本發(fā)明的原理。通過參考附圖,本發(fā)明的諸多優(yōu)點可以更好地被本領(lǐng)域的技術(shù)人員理解,其中圖1A和1B表示本發(fā)明的方法的優(yōu)選實施例;圖2表示用于Mozilla環(huán)境的圖1A和1B的優(yōu)選實施例的另一方面;圖3表示本發(fā)明的方法的另一實施例;圖4表示本發(fā)明的一種遠(yuǎn)程配置方法;圖5表示圖4的遠(yuǎn)程配置方法的另一實施例;圖6表示客戶端設(shè)備上本發(fā)明通信框架的三層協(xié)議模型;圖7和8表示用于本發(fā)明的Mozilla執(zhí)行的協(xié)議模型;圖9表示本發(fā)明的一種基本功能模型;圖10表示本發(fā)明客戶端設(shè)備的功能模型的一個實施例;圖11表示XPSQL模塊的層模型;圖12表示本發(fā)明的典型系統(tǒng);圖13表示本發(fā)明的系統(tǒng)的功能方塊圖的第一實施例;圖14表示本發(fā)明的系統(tǒng)的功能方塊圖的第二實施例;圖15表示使用本發(fā)明方法的基于Mozilla的系統(tǒng)的一個典型實施例;圖16和17表示本發(fā)明的嵌入設(shè)備的遠(yuǎn)程配置系統(tǒng)的典型具體實施例方式現(xiàn)在詳細(xì)參考本發(fā)明優(yōu)選的實施例,它們的一些實例在附圖中示出。本發(fā)明涉及一種遠(yuǎn)程圖形用戶界面數(shù)據(jù)庫化的方法和系統(tǒng)。常駐客戶端設(shè)備上的跨平臺組件對象模型(XPCOM)模塊常駐客戶端設(shè)備請求用戶確認(rèn)、配置嵌入設(shè)備、產(chǎn)生顯示屏幕以及通過與外部設(shè)備通信與數(shù)據(jù)庫接口。客戶端設(shè)備使用來自服務(wù)器設(shè)備的構(gòu)件和對象界面數(shù)據(jù)產(chǎn)生操作性連接于常駐二進(jìn)制組件對象模型模塊的顯示屏幕。此二進(jìn)制XPCOM模塊查詢數(shù)據(jù)庫、查詢嵌入設(shè)備、確認(rèn)用戶或者產(chǎn)生報告。圖1A和1B表示本發(fā)明的基本過程5,6的優(yōu)選實施例,其中客戶端設(shè)備在執(zhí)行數(shù)據(jù)庫操作6之前請求授權(quán)5。術(shù)語“數(shù)據(jù)庫”指由數(shù)據(jù)庫管理系統(tǒng)產(chǎn)生和管理的一套相關(guān)文件,其中結(jié)構(gòu)化查詢語言(或等價物)被用于詢問和處理數(shù)據(jù)庫中的數(shù)據(jù)。每一個面向顯示的構(gòu)件可以被作為一個URL訪問。在圖1A中,通過手工輸入用戶名、插入智能卡、生物測定方法或類似方法,客戶端設(shè)備上的授權(quán)模塊20接收用戶登陸信息15。授權(quán)模塊20提交一個授權(quán)請求用于確認(rèn)25。一個授權(quán)服務(wù)器或其它設(shè)備處理此請求并發(fā)送回客戶端設(shè)備一個確認(rèn)決定。該決定可以作為一個標(biāo)志位、一個數(shù)據(jù)字或一個通過安全信道提供的令牌被提供。如果登陸授權(quán)被拒絕30,處理過程返回以等待新的登陸15。如果該客戶端設(shè)備接收一個有效格式的令牌(或者以別的方式確定為有效授權(quán))30,則該客戶端設(shè)備存儲該授權(quán)信息用于以后使用,并且該客戶端設(shè)備的用戶然后可以選擇一個應(yīng)用程序運行35。用戶授權(quán)優(yōu)選地以返回的令牌提供給客戶端設(shè)備。這種令牌被用于通過網(wǎng)絡(luò)來驗證用戶,例如訪問一種服務(wù)(程序)。圖1B表示訪問數(shù)據(jù)庫應(yīng)用程序的過程步驟。在本方法中,應(yīng)用程序駐留在服務(wù)器中,而數(shù)據(jù)庫轉(zhuǎn)換程序駐留在客戶(或用戶)端設(shè)備上。對于一個有效的授權(quán)50,用戶選擇一個應(yīng)用程序執(zhí)行??蛇x擇地,該客戶端設(shè)備可以只運行單個應(yīng)用程序。當(dāng)應(yīng)用程序不常駐在客戶端設(shè)備上時,客戶端設(shè)備發(fā)送應(yīng)用程序請求60至網(wǎng)絡(luò)服務(wù)器65。應(yīng)用程序優(yōu)選地以與網(wǎng)頁相同的方式被訪問。應(yīng)用程序優(yōu)選地被編寫成提供構(gòu)件及構(gòu)件處理和控制信息。應(yīng)用程序可以是文檔對象模型。作為一個例子,這些構(gòu)件被以擴展用戶界面語言(XUL)編寫,而構(gòu)件處理和控制信息可以Java描述語言(JavaScript)編碼進(jìn)行描述。請求可以包括安全信息,諸如令牌,其中網(wǎng)絡(luò)服務(wù)器驗證該令牌并發(fā)送應(yīng)用程序65或其功能部分到客戶端設(shè)備或拒絕訪問客戶端設(shè)備。然后該客戶端設(shè)備通過圖形用戶界面顯示應(yīng)用程序70,該圖形用戶界面通過一對象界面(如Java描述語言對象界面)表示出構(gòu)件的集合。該客戶端設(shè)備詢問相關(guān)的數(shù)據(jù)庫75。該詢問也可以包括諸如令牌的安全信息。該詢問可以是行和項讀取形式,其中數(shù)據(jù)作為字符串被返回。例如,23可以作為ASCII(用于信息交換的美國標(biāo)準(zhǔn)編碼)字符2和ASCII字符3被返回。一排字符串(例如,“字符串0”、“字符串1”、“字符串2”、等等)可以被返回。例如,為了詢問包括年齡、名、姓及性別,包括“23”、“利莎”、“柔思”及“F”的字符串可以被返回。數(shù)據(jù)庫80可以常駐在服務(wù)器設(shè)備、客戶端設(shè)備或其它設(shè)備中。當(dāng)接受到數(shù)據(jù)庫結(jié)果時,數(shù)據(jù)庫結(jié)果被顯示出來85。繼續(xù)處理直到該應(yīng)用程序數(shù)據(jù)庫詢問結(jié)束。圖2表示本發(fā)明的過程200的更深層示圖,其中授權(quán)過程210先于應(yīng)用程序和數(shù)據(jù)庫搜索過程240。當(dāng)在212一個用戶登陸時,該客戶端設(shè)備的內(nèi)部安全模塊顯示214顯示登陸216。在一個有效的用戶鍵入密碼218或其它用戶授權(quán)方法(包括指紋、生物測定方法、按鈕鍵、智能卡等等)之后,安全模塊220詢問服務(wù)器的授權(quán)程序222以確認(rèn)用戶。假設(shè)密碼已經(jīng)被正確輸入,服務(wù)器發(fā)送確認(rèn)回執(zhí),諸如信息包或令牌,至安全模塊224。在本發(fā)明中,授權(quán)是一個可選過程。雖然本發(fā)明不限于特定的瀏覽器環(huán)境,但是為Mozilla瀏覽器已經(jīng)提供了一種具體的實現(xiàn)方法。該具體的實現(xiàn)方法優(yōu)選使用1.0版本或更高版本的Mozilla或者6.0版本或更高版本的Netscape瀏覽器。在該具體的實現(xiàn)方法中,XPAUTH、XPSQL、XPCOM、XPCONF及XPREPORT是二進(jìn)制跨平臺組件對象模型(XPCOM模塊),即常駐于客戶端設(shè)備的動態(tài)裝載和鏈接的庫模塊,其各執(zhí)行其具體功能。XPCOM模塊可以在各種平臺上運行,諸如Windows、VMS、Linux和嵌入式平臺等等。只要瀏覽器在該平臺上運行,XPCOM模塊就可在該平臺上運行。XPAUTH是一個XPCOM模塊,其使用在每一數(shù)據(jù)庫安全系統(tǒng)上的可配置的認(rèn)證方案進(jìn)行用戶授權(quán)??蛇x擇地,XPAUTH可以具有一主模塊和用于處理獨特的安全協(xié)議的模塊。XPAUTH可以訪問一個精細(xì)度訪問控制目錄(ACL)或者可以提供對整個數(shù)據(jù)庫(或網(wǎng)絡(luò)上提供的其它服務(wù))的訪問。ACL返回一個令牌,該令牌被用于驗證對于網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫、文件服務(wù)器、郵件服務(wù)器或其它服務(wù)器,或者需要具有訪問限制的服務(wù)的訪問。XPAUTH可以使用Kerberos協(xié)議,Kerberos協(xié)議是設(shè)計為通過使用密鑰密碼系統(tǒng)為客戶/服務(wù)器應(yīng)用提供強有力認(rèn)證的一種網(wǎng)絡(luò)認(rèn)證協(xié)議。一旦獲得認(rèn)證,XPAUTH保存信息并在需要的地方產(chǎn)生頭信息。XPSQL包含兩部分XPCOM模塊和Java描述語言(JS)數(shù)據(jù)庫類,從而使數(shù)據(jù)庫應(yīng)用程序開發(fā)者容易使用。XPSQLXPCOM模塊通常以C++編寫以便更快地執(zhí)行,但也可以Python編寫以便更快地開發(fā)。XPSQLXPCOM模塊的一個顯要的優(yōu)點是一旦被安裝,任何使用一個數(shù)據(jù)庫的應(yīng)用程序都可以被編寫。雖然數(shù)據(jù)庫應(yīng)用程序常駐在服務(wù)器上并作為一個構(gòu)件顯示被觀察到,一個客戶端設(shè)備上的用戶具有本地地使用整個應(yīng)用程序的印象。根據(jù)所使用的數(shù)據(jù)庫,二進(jìn)制XPSQLXPCOM模塊為20K-40K。而Java描述語言文件為大約5k??蛇x擇地,XPSQLXPCOM模塊可以包括一個主模塊以及一個或多個各處理一個獨特的本地數(shù)據(jù)庫的其它模塊。具體對于一個本地數(shù)據(jù)庫的每一模塊可以具有用于回答通過網(wǎng)絡(luò)詢問的不同協(xié)議。本地數(shù)據(jù)庫的示意性的實施例包括銷售端應(yīng)用程序、醫(yī)師辦公室管理、幫助臺及目錄管理等等。作為一個目錄管理的例子,從一個呼叫的識別信息,諸如呼叫者的電話號碼,可以隨同引出來自該電話號碼的呼叫歷史以及和每一個呼叫相關(guān)的描述性的屬性信息。XPCONF是一個嵌入設(shè)備配置XPCOM模塊,它與遠(yuǎn)程應(yīng)用服務(wù)器通信,并為客戶端設(shè)備上的嵌入系統(tǒng)配置產(chǎn)生圖形用戶界面。嵌入設(shè)備是那些需要遠(yuǎn)程配置的設(shè)備(如路由器)。通常,嵌入設(shè)備缺少顯示器,因此,需要遠(yuǎn)程配置。XPCONF可以被用于一個企業(yè)環(huán)境中的PC,該企業(yè)環(huán)境需要為公司局域網(wǎng)設(shè)定標(biāo)準(zhǔn),該局域網(wǎng)需要一個網(wǎng)管來進(jìn)行配置。可受益于XPCONF的其它環(huán)境的例子包括可配置的計算機處理的金屬片沖壓設(shè)備及可配置的自動化運送生產(chǎn)線。使用一種基于完全的可調(diào)整矢量的圖形擴展標(biāo)記語言(XML)格式的可調(diào)整矢量圖形(SVG),XPREPORT模塊產(chǎn)生包括餅圖和柱狀圖的報告。因為SVG是以XML編寫的,所以腳本化圖形生成很容易且功能強大。圖2表示應(yīng)用和數(shù)據(jù)庫搜索過程240的一個具體實施方案。用戶從客戶端設(shè)備選擇一個應(yīng)用程序242??蛻舳嗽O(shè)備傳送該應(yīng)用程序請求及一個可選擇的令牌至服務(wù)器244。該可選擇的令牌可以提供安全信息。該安全信息可以包括授權(quán)信息。服務(wù)器取回被請求的應(yīng)用程序246。該應(yīng)用程序,優(yōu)選以XUL和JavaScript(JS)編寫,然后被發(fā)送至客戶端設(shè)備248。該應(yīng)用程序可以是一個完整的經(jīng)過加密簽名的編碼或多個加密簽名的編碼,即XUL和JavaScript可以被存儲在一個Java檔案(JavaArchive,JAR)文件中并使用Rivest-Shamir-Adleman(RSA)加密方法密碼簽名。XUL使用界面構(gòu)件(如菜單欄和滾動條),并結(jié)合諸如HTML和層疊樣式表(CSS)這樣的標(biāo)準(zhǔn)來提供功能強大的復(fù)雜的界面。JavaScript提供給XUL界面增強的功能和特征。客戶端設(shè)備裝入并顯示應(yīng)用程序250。數(shù)據(jù)庫查詢和取回過程270可以迭代的。例如,跨平臺結(jié)構(gòu)化查詢語言(XPSQL)模塊252發(fā)送一個查詢至本地數(shù)據(jù)庫驅(qū)動程序254。本地數(shù)據(jù)庫驅(qū)動程序發(fā)送查詢和任何可選擇的安全令牌至數(shù)據(jù)庫256。數(shù)據(jù)庫處理查詢258并把結(jié)果260發(fā)送回至本地數(shù)據(jù)庫驅(qū)動程序262。然后本地數(shù)據(jù)庫驅(qū)動程序把結(jié)果發(fā)送至XPSQL模塊264。如果必要,該過程可以重復(fù)。當(dāng)該數(shù)據(jù)庫事務(wù)處理完成時,客戶端設(shè)備顯示數(shù)據(jù)庫結(jié)果272。以下提供的是基本數(shù)據(jù)庫處理的圖解(XPSQL二進(jìn)制XPCOM模塊位于客戶端設(shè)備上)WebSERVERXPSQL(Mozilla)DATABASE(Web服務(wù)器)(數(shù)據(jù)庫)updateapps<-requestappXUL/JSserverapp->displayappXUL/JSrepeat{appSQLquery->appdisplaysresult<-databasesuppliesresults}在本發(fā)明的方法的另一個實施例中,如圖3所示,客戶端設(shè)備請求一個應(yīng)用程序,而且當(dāng)客戶端設(shè)備接收到該應(yīng)用程序或其有效部分時,該客戶端設(shè)備查詢相關(guān)的數(shù)據(jù)庫。如果客戶端設(shè)備決定一個應(yīng)用程序是需要的320,則一個對于應(yīng)用程序的請求330被傳輸至合適的外部設(shè)備,諸如一個服務(wù)器。直到該應(yīng)用程序或其相關(guān)部分被接收340,客戶端設(shè)備才試圖與和該應(yīng)用程序有關(guān)的數(shù)據(jù)庫通信。在這段時間客戶端設(shè)備可以等待350或執(zhí)行平行處理。當(dāng)客戶端設(shè)備接收到該應(yīng)用程序時,該客戶端設(shè)備裝入并顯示該應(yīng)用程序360。然后,如果客戶端設(shè)備決定一個數(shù)據(jù)庫是否被查詢370,則該客戶端設(shè)備發(fā)送一個查詢至相應(yīng)數(shù)據(jù)庫380。數(shù)據(jù)庫可以是常駐在該客戶端設(shè)備內(nèi)部、應(yīng)用程序服務(wù)器內(nèi)部、或其它設(shè)備內(nèi)部。客戶端設(shè)備決定該數(shù)據(jù)庫結(jié)果是否已被接收390。如果沒有,則該客戶端設(shè)備等待和/或平行處理;否則,該客戶端設(shè)備接收并處理該數(shù)據(jù)庫結(jié)果410。接著可作出兩個決定420、4301)如果每一最近的數(shù)據(jù)庫請求提供更多數(shù)據(jù)和2)如果不是,則讓用戶作出另一個數(shù)據(jù)庫請求。如果兩個決定都是否定的,則處理過程返回至決定是否一個應(yīng)用程序是需要的320。如果任一決定420、430是肯定的,則數(shù)據(jù)庫處理過程繼續(xù)370。通過提供具有一個或多個加密安全索引的數(shù)據(jù)庫,可增強安全性。一個表(或文件)通常把一個索引關(guān)聯(lián)到一個相關(guān)數(shù)據(jù)庫。在本發(fā)明中,每一表可只通過一個加密索引來關(guān)聯(lián)。該索引可通過一種加密算法被加密。密鑰被用于把一個索引轉(zhuǎn)換成一個不同索引或用于在一個記錄或行內(nèi)把一個密鑰轉(zhuǎn)換成一個不同的密鑰。密鑰一般貫穿一個數(shù)據(jù)庫,并且在一個文件或表內(nèi)是一個恒量。索引是具體的記錄和字段(或行和項)。在以下提供的實例中,密鑰pKey和dKey提供表之間的關(guān)聯(lián)。pKey和dKey存儲在一個表內(nèi)以便于存取。如果沒有主密鑰則phoneKey就不能將索引解碼。NowKey=func(masterKey,tableKey)/*對于每一個表*//*idxPisplainindex*//*idxCisencryptedindex*/idxP=func(idxC,nowKey)idxC=func(idxP,nowKey)典型的表假定下列關(guān)聯(lián)pKey=func1(masterKey,phoneKey)idxC=func2(idxP,pKey)dKey=func1(masterKey,dateKey)idxC=func2(idxP,dKey)例如,使用編目流水號11=func2(7865,pKey)7865=func2(1,pKey)1=func2(5678,dKey)5678=func2(1,dKey)圖4表示使用XPCONFXPCOM模塊配置系統(tǒng)的典型方法??膳渲玫脑O(shè)備被相繼訪問405。任何可遠(yuǎn)程配置的設(shè)備(如防火墻)都可以使用本方法。如果確定第一個設(shè)備是可遠(yuǎn)程配置的,則該設(shè)備描述被顯示于客戶端設(shè)備415。如果用戶選擇請求可遠(yuǎn)程配置設(shè)備的狀態(tài)和配置420,則狀態(tài)和配置信息被顯示425。然后用戶可以選擇升級該配置430。如果設(shè)備配置升級435導(dǎo)致一個錯誤440,則該錯誤信息被顯示445,并且用戶可以選擇重試升級450。否則,下一設(shè)備被訪問455。圖5表示遠(yuǎn)程配置方法的另一實施例。一個用戶請求一個配置應(yīng)用程序510(如通過XML請求)。一個配置服務(wù)器提供該請求的配置應(yīng)用程序520至客戶端設(shè)備。該客戶端設(shè)備顯示配置信息530。如果作出需要嵌入設(shè)備的狀態(tài)或配置信息的決定510,則該嵌入設(shè)備被查詢。該嵌入設(shè)備提供該請求的配置和狀態(tài)信息550,然后該信息被顯示在客戶端設(shè)備上560。用戶可以選擇改變嵌入設(shè)備的配置570,在這種情況下,配置被改變580并且新的狀態(tài)或錯誤信息被顯示在客戶端設(shè)備上590。然后用戶可以選擇改變另一嵌入設(shè)備的配置570。顯示不是必須位于客戶端設(shè)備上,但是通常如此。至于XPSQL,授權(quán)是一個對于XPCONF可選擇的過程。圖6表示一個描述本發(fā)明的功能原理的三層協(xié)議模型650。頂層可以是以XUL、JavaScript(JS)、資源描述格式(RDF)、級聯(lián)式樣式表(CSS)和/或其它適當(dāng)語言的一種或多種編寫的應(yīng)用程序,諸如圖形用戶界面。在XUL中,顯示可產(chǎn)生于客戶端。除了JS數(shù)據(jù)庫類之外,該頂層是完全地由開發(fā)者決定。應(yīng)用程序永久地存儲在應(yīng)用程序或網(wǎng)絡(luò)服務(wù)器上并高速緩存于客戶端設(shè)備上。中間層包括駐留于客戶端設(shè)備上的二進(jìn)制XPCOM模塊和XPCONF模塊。XPCOM模塊給JavaScript界面提供本地屬性。底層是本地數(shù)據(jù)庫驅(qū)動程序。本地數(shù)據(jù)庫驅(qū)動程序駐留在客戶端設(shè)備上。該客戶端設(shè)備可以具有與一個常駐的XPCOM模塊接口的幾個本地數(shù)據(jù)庫驅(qū)動程序。因為本地數(shù)據(jù)庫驅(qū)動程序可應(yīng)用于多種平臺,所以該數(shù)據(jù)庫是跨平臺的。圖7和8表示用于Mozilla應(yīng)用程序的協(xié)議模型。圖7表示基于網(wǎng)頁的應(yīng)用服務(wù)器和Mozilla瀏覽器的功能的基礎(chǔ)方塊圖660。該服務(wù)器提供GUI界面。Mozilla顯示該GUI并控制諸如XPSQL、XPAUTH、XPCONF和XPREPORT的XPCOM模塊。圖8表示服務(wù)器、客戶端設(shè)備、Mozilla及數(shù)據(jù)庫之間關(guān)系的另一視圖670。Mozilla瀏覽器的功能在服務(wù)器端設(shè)備和客戶端設(shè)備之間被分開。服務(wù)器端設(shè)備包括為Mozilla寫的應(yīng)用程序??蛻舳嗽O(shè)備具有一個本地數(shù)據(jù)庫驅(qū)動程序。數(shù)據(jù)庫可與客戶端設(shè)備的唯一聯(lián)系是通過網(wǎng)絡(luò)的聯(lián)系。數(shù)據(jù)庫可以駐留在服務(wù)器端設(shè)備、客戶端設(shè)備或別處。圖9和10表示本發(fā)明的基本原理的示例性典型實施例。圖9表示最簡單的系統(tǒng)900,其中服務(wù)器910與客戶端設(shè)備920通信。服務(wù)器910提供一個圖形用戶界面,客戶端設(shè)備存儲一個XPCOM模塊并具有一個顯示屏。圖10表示具有XPSQL模塊930、安全模塊940及報表工具模塊950的客戶端設(shè)備920。用于這些模塊的二進(jìn)制碼可以用閃存、非易失隨機讀寫存儲器或其它合適的存儲設(shè)備存儲在客戶端設(shè)備920上。圖11所示為按層表示的XPSQLXPCOM模塊的功能。層1表示用于與主模塊通信的JavaScript界面。層2表示用于保持本地夾層蹤跡的本地數(shù)據(jù)庫注冊。層3表示本地夾層。層3格式化請求至本地數(shù)據(jù)庫驅(qū)動程序。層4是本地數(shù)據(jù)庫驅(qū)動程序。層4使用本地數(shù)據(jù),但不使用SQL。使用界面定義語言(IDL)數(shù)據(jù)說明,數(shù)據(jù)作為來自二進(jìn)制碼的自變量被傳遞至作為的整型值的JavaScript代碼。因為同時可以打開多個數(shù)據(jù)庫并且可以接受多個數(shù)據(jù)庫搜索結(jié)果(平行處理),所以整型值可被用于識別數(shù)據(jù)庫或搜索結(jié)果。例如,C++二進(jìn)制碼將作為整型值的信息從一個數(shù)據(jù)庫結(jié)構(gòu)傳遞到JavaScript界面,并且JavaScript界面將把數(shù)據(jù)和指令從整型值轉(zhuǎn)換為C++二進(jìn)制碼發(fā)送至一個數(shù)據(jù)庫目標(biāo)。本發(fā)明涉及如圖12所示的系統(tǒng)1100,該系統(tǒng)含有通過總線連接至應(yīng)用服務(wù)器設(shè)備1110的多個客戶端設(shè)備1120、1130和1140。在本發(fā)明中,圖形用戶界面駐留在服務(wù)器設(shè)備1110中,并且XPSQLXPCOM模塊駐留在各自的客戶端設(shè)備1120中。圖13和14舉例說明兩個選擇性的實施例1200、1300,其中數(shù)據(jù)庫駐留在不同設(shè)備中。在圖13中,數(shù)據(jù)庫駐留在服務(wù)器設(shè)備1110中。在圖14中,數(shù)據(jù)庫駐留在第三設(shè)備1130中。數(shù)據(jù)庫也可以駐留在客戶端設(shè)備中。圖15表示一個系統(tǒng)1400,其中客戶端設(shè)備1410包含跨平臺授權(quán)模塊XPAUTH、跨平臺SQL模塊XPSQL、跨平臺配置模塊XPCONF及跨平臺及跨平臺報表工具模塊XPREPORT。GUI服務(wù)器1420為客戶端設(shè)備1410提供對GUI程序的訪問??蛻舳嗽O(shè)備從駐留在GUI服務(wù)器1420中的GUI程序所提供的構(gòu)件定義和關(guān)聯(lián)產(chǎn)生一個頁面??蛻舳嗽O(shè)備可以通過XPCONF服務(wù)器1450配置一個或多個諸如路由器的嵌入設(shè)備??蛻舳嗽O(shè)備1410查詢服務(wù)器1430,驗證用戶登陸碼(id)。然后,客戶端設(shè)備1410向GUI服務(wù)器1420請求一個應(yīng)用程序。當(dāng)客戶端設(shè)備1410接收到來自GUI服務(wù)器1420的應(yīng)用程序時,客戶端設(shè)備1410接著查詢數(shù)據(jù)庫服務(wù)器1440。通過各種服務(wù)器設(shè)備來區(qū)分處理過程只是作為舉例。由本發(fā)明可以預(yù)想到其它變化,如多個XPCOM模塊可以駐留在單個設(shè)備中。圖16和17表示關(guān)于通過客戶端設(shè)備遠(yuǎn)程配置的本發(fā)明的兩個實施例1500、1600。XPCONF的啟用導(dǎo)致基于構(gòu)件的圖形用戶界面的顯示。在圖16中,XPCONF寄存器(或服務(wù)器)1510通過客戶端設(shè)備1520控制對嵌入設(shè)備(或目標(biāo))1530、1540和1550的訪問。在圖17中,為進(jìn)行遠(yuǎn)程配置,客戶端設(shè)備1520直接訪問嵌入設(shè)備1530、1540和1550。由于XPCONF是可升級的,所以嵌入設(shè)備的各種設(shè)布置可以被呈現(xiàn)給用于配置的客戶端設(shè)備。圖18和19表示遠(yuǎn)程配置數(shù)據(jù)的典型格式。配置信息可以被實時顯示。為整個系統(tǒng)顯示配置信息減少了維護(hù)費用。每個XPCONF可配置的嵌入設(shè)備,諸如路由器或打印機,應(yīng)當(dāng)通過一個中央XPCONF配置注冊設(shè)備進(jìn)行注冊,或另外唯一地識別(如通過域名)。其它配置信息可以包括濾除決定哪些信息包被允許穿過防火墻以及為安全管理注冊和密碼。當(dāng)需要或期望時,整個配置可以通過GUI被顯示。圖18表示嵌入設(shè)備的樹形結(jié)構(gòu)。圖19表示嵌入設(shè)備的配置屏面??梢允褂脴湫谓Y(jié)構(gòu)和配置屏面的混合。格式化方案可被做成相似優(yōu)選菜單。每一配置可作為URL被訪問。本發(fā)明可用于各種環(huán)境下的各種數(shù)據(jù)庫管理系統(tǒng)。這些數(shù)據(jù)庫管理系統(tǒng)包括銷售端應(yīng)用程序、圖書館流通文檔、醫(yī)生帳目、學(xué)校管理系統(tǒng)、雇員名冊等等。在一個具體的實施例中,本發(fā)明的方法可以被結(jié)合進(jìn)運行Mozilla1.0或更高版本或Netscape6.0或更高版本的任何設(shè)備中。本發(fā)明可以用于通過電纜或無線通信連接至網(wǎng)絡(luò)的個人電腦,或可用于手持設(shè)備中。例如,本發(fā)明可以在16MFLASH無線PDA、LinuxPC、WindowsPC或IBMS390中使用。處理速度可由XUL的顯示速度決定。對于移動式設(shè)備,XML碼可以被轉(zhuǎn)換成美國國家標(biāo)準(zhǔn)學(xué)會(ANSI)字符集。每一個構(gòu)件具有一個標(biāo)識符(TAG)。對于每一個標(biāo)識符(TAG)都有二進(jìn)制數(shù)碼。該二進(jìn)制數(shù)碼可以代替XML描述應(yīng)用程序,因此XUL變成二進(jìn)制XUL(bXUL)。下表表示一個XML的二進(jìn)制代表。可以相信,通過前面的描述,本發(fā)明及其諸多優(yōu)點將被理解,并且顯然,在不脫離本發(fā)明范圍和精神或不犧牲本發(fā)明的實質(zhì)優(yōu)點的情形下,其部件的形式、構(gòu)造和排列可作各種改變。上文描述只是其解釋性實施例,下列的權(quán)利要求目的是概括和包含此類改變。權(quán)利要求1.一種訪問圖形用戶界面(GUI)系統(tǒng)的數(shù)據(jù)庫,其包括一個用戶端設(shè)備,其具有一個不依賴于平臺的常駐的數(shù)據(jù)庫轉(zhuǎn)換模塊,該常駐的數(shù)據(jù)庫轉(zhuǎn)換模塊包括一個以二進(jìn)制碼編寫的模塊及一個安全模塊;一個服務(wù)器端設(shè)備,其具有一個常駐的圖形用戶界面程序,該服務(wù)器端設(shè)備按請求提供應(yīng)用程序給需要知道基礎(chǔ)的用戶端設(shè)備;及一個安全的數(shù)據(jù)庫,該安全的數(shù)據(jù)庫通過本地二進(jìn)制呼叫由用戶端設(shè)備訪問并通過加密密鑰保護(hù)。2.如權(quán)利要求1所述的訪問圖形用戶界面(GUI)系統(tǒng)的數(shù)據(jù)庫,還包括一個操作性連接至用戶端設(shè)備的嵌入設(shè)備,其中該用戶端設(shè)備請求來自嵌入設(shè)備的配置信息,并升級該嵌入設(shè)備上的配置信息。3.一種通過遠(yuǎn)程圖形用戶界面訪問數(shù)據(jù)庫的方法,其包括以下步驟在一客戶端設(shè)備上顯示一圖形用戶界面;在該客戶端設(shè)備上輸入一授權(quán)請求;在第一個外部設(shè)備上進(jìn)行授權(quán)驗證;如果該授權(quán)被驗證有效,則接著由用戶從客戶端設(shè)備向第二個外部設(shè)備請求一個應(yīng)用程序;在該客戶端設(shè)備上接收該請求的應(yīng)用程序;使用結(jié)構(gòu)化查詢語言(SQL)通過一跨平臺組件對象模型模塊查詢該客戶端設(shè)備外部的一安全的數(shù)據(jù)庫;及由該客戶端設(shè)備從該數(shù)據(jù)庫接收數(shù)據(jù)庫結(jié)果,其中該安全的數(shù)據(jù)庫是通過一密鑰提供安全保護(hù),其中查詢數(shù)據(jù)庫的步驟和接收數(shù)據(jù)庫結(jié)果的步驟通過本地數(shù)據(jù)庫驅(qū)動程序完成,其中驗證用戶步驟包括提供對數(shù)據(jù)庫和網(wǎng)絡(luò)服務(wù)中的至少之一的精細(xì)度(finegrain)訪問。4.如權(quán)利要求3所述的方法,其特征在于所述第一外部設(shè)備是一個跨平臺授權(quán)(XPAUTH)服務(wù)器,所述第二外部設(shè)備是一個應(yīng)用服務(wù)器。5.如權(quán)利要求3所述的方法,其特征在于請求授權(quán)通過用戶名(id)和令牌之一進(jìn)行。6.一種計算機可讀的介質(zhì)設(shè)備,該設(shè)備存儲用于通過圖形用戶界面訪問安全的數(shù)據(jù)庫的可執(zhí)行程序,其包括第一組件對象模型模塊,其用于驗證用戶;及第二組件對象模型模塊,其用于處理和裝入來自外部設(shè)備的應(yīng)用程序,并查詢和處理來自查詢安全數(shù)據(jù)庫的結(jié)果;其中該第一和第二組件對象模型模塊駐留在一個客戶端設(shè)備上,其中該數(shù)據(jù)庫在客戶端設(shè)備的外部,其中該第一和第二組件對象模型模塊與一個授權(quán)服務(wù)器通信,其中該客戶端設(shè)備從由應(yīng)用服務(wù)器提供的構(gòu)件創(chuàng)立一個頁面。7.如權(quán)利要求6所述的計算機可讀介質(zhì),進(jìn)一步還包括用于訪問本地安全的數(shù)據(jù)庫的第三組件對象模型模塊。8.如權(quán)利要求6所述的計算機可讀介質(zhì),所述第二組件對象模型模塊包括一個或多個用于訪問本地安全的數(shù)據(jù)庫的子模塊。9.如權(quán)利要求6所述的計算機可讀介質(zhì),所述第一組件對象模型模塊包括多個子模塊,每一個子模塊處理唯一的安全協(xié)議。10.如權(quán)利要求7和9任一項所述的計算機可讀介質(zhì),進(jìn)一步還包括用于觀察嵌入設(shè)備和遠(yuǎn)程設(shè)備中之一的配置和狀態(tài)信息的第四組件對象模型模塊。11.一種用于數(shù)據(jù)的遠(yuǎn)程圖形用戶界面處理的方法,其包括以下步驟一客戶端設(shè)備從一外部設(shè)備接收構(gòu)件信息;該客戶端設(shè)備從該外部設(shè)備接收擴展標(biāo)記語言(XML)代碼以組裝圖形用戶界面(GUI);從構(gòu)件信息所描述的構(gòu)件在該客戶端設(shè)備上創(chuàng)立一個圖形用戶界面(GUI),其中組裝一個圖形用戶界面(GUI)的編碼定義了所述構(gòu)件和一個駐留在該客戶端設(shè)備上的跨平臺組件對象模型模塊之間的行為;通過創(chuàng)立的GUI,該客戶端設(shè)備從該外部設(shè)備請求一個應(yīng)用程序;在該客戶端設(shè)備上裝入并顯示該應(yīng)用程序;及使用組件對象模型模塊處理數(shù)據(jù),其中,該處理數(shù)據(jù)的步驟包括以下步驟通過跨平臺結(jié)構(gòu)化查詢語言查詢一個安全的數(shù)據(jù)庫;接收安全的數(shù)據(jù)庫結(jié)果,及處理該安全的數(shù)據(jù)庫結(jié)果。12.如權(quán)利要求11所述的方法,其特征在于該外部設(shè)備是一個配置服務(wù)器。13.如權(quán)利要求11所述的方法,其特征在于該外部設(shè)備是一個應(yīng)用服務(wù)器。14.如權(quán)利要求11所述的方法,其特征在于該數(shù)據(jù)庫是一個關(guān)系數(shù)據(jù)庫,并且該安全的數(shù)據(jù)庫的每一錄入具有至少一個存儲在表內(nèi)的加密索引。15.一種用于配置網(wǎng)絡(luò)上嵌入設(shè)備的方法,其包括以下步驟由一客戶端設(shè)備請求一個配置應(yīng)用程序;基于構(gòu)件信息在該客戶端設(shè)備上顯示該配置應(yīng)用程序;通過該配置應(yīng)用程序請求來自嵌入設(shè)備的狀態(tài)和配置信息中至少其中之一;在該客戶端設(shè)備上顯示來自嵌入設(shè)備的狀態(tài)和配置信息中至少其中之一;通過該客戶端設(shè)備升級嵌入設(shè)備上的配置信息;及顯示嵌入設(shè)備的升級配置,其中,對于該嵌入設(shè)備的配置信息的請求、顯示和升級是通過該客戶端設(shè)備上的一個組件對象模型模塊執(zhí)行的。16.一種用于通過圖形用戶界面(GUI)系統(tǒng)進(jìn)行數(shù)據(jù)庫訪問的手持設(shè)備,其包括一個具有不依賴于平臺的常駐的數(shù)據(jù)庫轉(zhuǎn)換模塊的手持設(shè)備,該常駐的數(shù)據(jù)庫轉(zhuǎn)換模塊包括一個以二進(jìn)制碼編寫的模塊和一個安全模塊,根據(jù)該手持設(shè)備的請求,該手持設(shè)備被提供一個來自服務(wù)器設(shè)備的應(yīng)用程序,其中該服務(wù)器設(shè)備具有一個常駐的圖形用戶界面程序,該手持設(shè)備通過本地二進(jìn)制呼叫訪問一個安全的數(shù)據(jù)庫,其中該安全的數(shù)據(jù)庫通過一個加密密鑰保護(hù)。全文摘要本發(fā)明涉及一種用于遠(yuǎn)程圖形用戶界面數(shù)據(jù)庫化的方法和系統(tǒng)。用戶通過客戶端設(shè)備通過服務(wù)器端設(shè)備上的遠(yuǎn)程圖形用戶界面管理數(shù)據(jù)庫或其它應(yīng)用程序。一個跨平臺數(shù)據(jù)庫轉(zhuǎn)換模塊駐留在客戶端設(shè)備上。客戶端設(shè)備也可存儲跨平臺授權(quán)、配置及報表產(chǎn)生模塊,用于驗證用戶名和以期望的形式表示數(shù)據(jù)庫結(jié)果。客戶端設(shè)備上的模塊向服務(wù)器端設(shè)備請求應(yīng)用程序,可以向一個授權(quán)服務(wù)器請求驗證,可以配置嵌入設(shè)備,也可以查詢數(shù)據(jù)庫。數(shù)據(jù)庫可以駐留在一個服務(wù)器、一個客戶端設(shè)備或者其它設(shè)備上。文檔編號G06F9/45GK1497459SQ20031010192公開日2004年5月19日申請日期2003年10月15日優(yōu)先權(quán)日2002年10月16日發(fā)明者肖恩·薩維奇,肖恩薩維奇申請人:肖恩·薩維奇,肖恩薩維奇