專利名稱:一個用戶與至少一個數據庫通信的方法
技術領域:
本發明涉及到通過一個網絡使一個用戶與至少一個數據庫通信的一種方法。本發明也涉及到實現此方法的用戶設備和網絡管理方法。
電信領域中的技術進步提高了信息比特率,這本應使在現有的諸如因特網這樣的網絡中訪問數據庫更為容易。
能使高比特率成為可能的一種技術的實例是衛星通信。
然而,人們已經發現高比特率不能必然地保證對數據庫的快速訪問,同時不能避免網絡的擁塞。
數據庫網絡一般是通過使用能夠獲得可靠通信的協議來訪問的。協議限定了在“客戶端”和“服務器端”之間的數據交換,而這些數據的交換可能減少通信。更確切地講,當數據具體講是信元或分組時,從一個發送器被傳送到一個接收器時,接收器返回一個確認信號給發送器以確認已發送的數據被正確地接收。如果數據沒有被正確地接收,發送器會接收到一個表明此狀態的確認信號或根本不會收到任何確認信號。在這兩種情況下,發送器都會重傳此數據。
如果在發送后的一個指定時間期限內,發送器沒有接收到確認信號,那么數據也會被重傳。
網絡及其通信節點(路由器)的性能和網絡擁塞意味著分組到達接收器的時間使得確認信號到達發送器的時間超過了該特定時間期限。因此它們被認為已經丟失,并且被發送器重傳,這導致了不必要的數據傳輸,因此降低了網絡的傳輸能力,很可能使其性能也降低了。
例如,被廣泛使用,尤其是在因特網中得到應用的傳輸控制協議(TCP)就是上述類型中的一種協議。
當使用具有不可忽略的傳輸延遲的高比特率通信系統時,在數據庫網絡中的這種高比特率通信和可靠通信之間的不兼容性就顯得特別明顯。
在被(或將被)用來以高比特率傳輸數據的衛星傳輸系統中,特別是在“多媒體”應用中就會出現這種情況。
然而,可以使用沒有確認的可靠性較低的協議來實現高比特率的快速傳輸。一個實例便是用戶數據報協議(UDP)。然而,此協議的系統應用與數據庫網絡中的傳輸不兼容,因為大部分數據的傳輸,特別是軟件的傳輸要求高的可靠性。
本發明提供了一種通過沒有大的網絡擁塞及具有令人滿意的數據傳輸質量的高比特率通信系統訪問數據庫的方法。
本發明的第一個方面提供了從數據庫到發出請求的客戶機傳輸數據的一種方法,其特征是可為每次呼叫選擇具有確認信號的傳輸協議或沒有確認信號的傳輸協議。
因此,一些數據,特別是大多數的圖片和聲音,并不要求最高級別的傳輸可靠性,因而可以按照速率優先選擇沒有確認信號的協議傳輸,這種傳輸方式的較大好處在于這種數據量通常是很大的。
傳輸軟件要求高的可靠性,因而需要選擇具有確認信號的協議。
在本發明的一個實施例中,對于同一個呼叫,有些部分使用具有確認類型的協議傳輸,這些部分可以是軟件,例如其來源是腳本或人機界面頁(web頁),另一部分例如圖片或圖片的一部分使用沒有確認的協議傳輸。
這里應當指出,圖片和聲音并不總是必須使用沒有確認的協議傳輸。協議的選擇應留給用戶或應用(管理程序)。這是因為一些圖片要求高的可靠性,例如精確定義的圖片,特別是用于醫學應用的圖片。
協議的選擇能夠根據用戶需要或自動地按照所傳輸的數據類型來選取,也可以按照數據量來選取。如果在呼叫期間,能使用相對低水平的可靠性傳輸的數據部分與需使用高水平的可靠性傳輸的數據部分相比很小時,那么對于這部分很小的數據,沒有必要改變傳輸使用的協議,因為在這種情況下,速率上的提高將是很小的。
決定于協議特征的應用位于正在傳輸的數據庫中或客戶機和數據庫之間的中間服務器上。在后面這種情況下,服務器將控制傳輸到客戶機上的呼叫。
本發明的另一方面提供了一種數據庫訪問方法,它可以單獨地使用或與前面部分聯合使用,其特征是使用具有確認信號和可變長度的確認窗口的協議。
確認信號協議的確認窗口的長度為在接收器傳送一個確認信號之前它必須接收的比特數、字節數或信元數。
例如,發送器(數據庫或中間服務器)根據重傳分組的比例來決定改變確認窗口的大小。如果這一比例高,那么確認窗口就被定制為較小,以便每次數據重傳只傳輸較小的數據量,這就增加了在給定時間間隔內正確傳輸的可能性。
接收器也能夠根據所接收到的比特率決定確認窗口的變化。如果接收到低的比特率,接收器向發送器傳輸一個要求較小確認窗口的信號。
按照本發明的方法在衛星傳輸系統情況下應用是特別有益的,在此衛星傳輸系統中,來自系統的用戶或客戶機的所有呼叫通過一個連接站特別是一個地面連接站傳輸。本發明涉及使用在低或中地球軌道上運行的多個衛星的傳輸系統的實例,在這一傳輸系統中,地球被劃分成多個區域,每個區域包含一個連接站。例如,每個區域的直徑都在700千米的數量級上,這樣在任何時刻,上述任一個區域中的客戶都能通過上述多個衛星中的一個與該區域中的連接站相連,而且當這個衛星不再能夠繼續傳輸(中繼)在該用戶和連接站間的呼叫時,另一個衛星就會立即代替它。
在這種情況下,按照本發明的方法就能夠容易地被在連接站和用戶之間使用。在網絡的連接站和用戶之間的這一部分中,傳輸時延是最大的,因而確認機制可以強加給此處最大的處罰。
然而,按照本發明的方法不局限于只包含低或中地球軌道衛星的系統;它同樣能夠應用于地球同步衛星系統中。
用戶通過位于連接站中的一個服務器與數據庫網絡連接或與連接站連接。
如果數據庫網絡是Internet或一個相類似的網絡,那么眾所周知,在該領域中來自客戶機的數據庫查詢被“代理”服務器接收,此接收過程受到兩方面的影響,即從客戶機到數據庫和從數據庫到客戶機。在代理服務器中,由數據庫提出的響應被保留在代理服務器的存儲裝置中一段時間,同時加載到服務器的頁被傳送到客戶機時,不需要與被請求的數據庫建立新的連接。因此,按照本發明的方法能夠由位于連接站或與連接站相連的這種代理服務器控制。
因此,本發明的另一方面提供了一個用來訪問數據庫網絡的服務器,其特征為它包括為傳輸給客戶機的數據選擇有確認信號或無確認信號的數據傳輸協議類型,以及按照所傳輸的數據的特征和/或客戶機提供的信息和/或數據量,在服務器中自動地選擇協議類型。
當使用有確認類型的協議時,服務器最好包括用來調整窗口大小的裝置。本發明包含一個使用確認類型傳輸協議準備與一個或多個客戶機通信的服務器,其特征為它包括用來改變確認窗口大小的裝置,例如按照從該服務器到客戶機的傳輸比特率來調整。
本發明另一部分提供了一個客戶機單元,即數據庫詢問單元。此單元的特征為它包含在具有確認信號的傳輸和沒有確認信號的傳輸之間選擇的裝置,例如,這種選擇可以通過用戶可得的裝置并比如通過用戶選擇可靠傳輸還是快速傳輸來反映出來。
在本發明的一個實施例中,客戶機單元能夠在兩種不同的信道上接收數據,一種信道專門用于確認類型的協議,另一種信道用于沒有確認信號的協議,而且客戶機單元還包含對從兩種信道中接收到的數據進行重新排序的裝置,被重新排序的數據最好在客戶機單元的瀏覽器上顯示。
這些選擇裝置能夠與傳統的計算機結合起來,并且包括例如一個JAVA小應用程序或構成瀏覽器的界面的腳本。
這些選擇裝置也可以自動地在數據庫服務器或中間(“代理”)服務器上執行;在這種情況下,協議之間的選擇是根據將被下載的文件的類型進行的,例如此文件名的后綴,如picture.bmp,picture.ipg或page.html。例如,如果被查詢的數據庫提供高分辨率的圖片,那么所要求的傳輸協議也將是確認類型的協議,而如果被查詢的數據庫提供聲音,如音樂,那么所要求的傳輸協議可以是沒有確認信號的類型。
此選擇方法也可以在客戶機單元自動地執行,協議之間的選擇是基于被提交的查詢或發送給數據庫的請求來進行的。
本發明提供了一種從數據庫到正在請求的客戶機之間傳輸數據的方法。對每次通信而言,需要在有確認信號的TCP傳輸協議和沒有確認信號的UDP傳輸協議之間作出選擇。
在本發明的一個實施例中,對于來自客戶機的給定的請求,一些數據使用有確認信號的傳輸協議傳輸,而另一些數據使用沒有確認信號的協議傳輸。
在本發明的一個實施例中,傳輸協議按照用戶所提出的請求的特征來選取。
在本發明的一個實施例中,傳輸協議按照所傳輸的數據的特征和/或數據量來選取。
在本發明的一個實施例中,當選擇有確認信號的傳輸協議時,對于每次呼叫,需要選取確認窗口的長度。
在本發明的一個實施例中,當所傳輸的數據誤碼率超過預定的數值時,確認窗口被定制得較小。
本發明也提供了一個用于與數據庫連接的包含兩個接收信道的終端,其中一個信道用來接收使用有確認信號的傳輸協議傳輸的數據,另一個信道用來接收使用沒有確認信號的傳輸協議傳輸的數據。
在本發明的一個實施例中,此終端包含一個界面,該界面能夠由用戶激活以便在可靠傳輸和快速傳輸之間進行選擇。
在本發明的一個實施例中,此終端包含按照對數據庫所提出的請求用來自動地選擇可靠傳輸或快速傳輸的裝置。
在本發明的一個實施例中,此終端包含用來在兩種不同的信道中對所接收到的文件重新排序的裝置。
在本發明的一個實施例中,在終端的瀏覽器中處理重新排序的文件。
本發明也提供了一個服務器,該服務器被放置在一個或多個用戶和數據庫之間的網絡中,此服務器的目的是解釋來自用戶的請求和/或存儲從數據庫接收到的數據。它包括用來選擇從服務器到用戶的傳輸數據的協議的裝置,此選擇是在有確認信號的傳輸協議和沒有確認信號的傳輸協議之間選擇。
在本發明的一個實施例中,如果使用有確認信號的協議,那么服務器包括用來改變確認窗口(N)的裝置。
在本發明的一個實施例中,當傳輸誤碼率增加時,需要減少確認窗口的大小。
最后本發明提供了一種將服務器用在衛星傳輸系統的應用,在此衛星傳輸系統中,每個用戶的呼叫由連接站中繼傳輸,在用戶和連接站之間的呼叫通過衛星傳送,服務器位于連接站中或與連接站相連。
本發明的另外一些特征和優點從下列本發明的實施例的描述中會變得清楚,此描述參照附加的圖給出,其中
圖1是按照本發明描述使用此方法的一個系統的圖,圖2是按照本發明描述此方法的一部分的圖,圖3是按照本發明描述系統的不同實施例的圖。
在圖1中,用實例的方式示出的系統中包括一些客戶機設備,但圖中只描繪出了其中一個客戶機設備10。此系統還包括一個位于衛星通信系統的連接站中的代理服務器(鄰近服務器)12和Internet(數據庫網絡)。圖中只描繪出一個服務器14。
客戶機設備10通常包括一個向遠程服務器14發送請求18的瀏覽器16。請求18由服務器12接收,服務器12的功能是解釋由客戶機給出的查詢以限制與遠程服務器14的連接時間。由于網絡是Internet,因此在服務器12和14之間的呼叫20是TCP呼叫,即對每組數據都有確認信號。
從服務器14經由服務器12接收到的數據被重傳給用戶或客戶機設備10。
按照本發明,在服務器12和設備10之間的連接使用兩個不同的信道22和24中的一個或兩個。信道22使用TCP(有確認信號)。信道24使用UDP傳輸(沒有確認信號)。信道22主要被用于要求高可靠性的傳輸,而信道24主要被用于傳輸以速率作為主要判別準則的數據。
用戶設備10的瀏覽器16包括一個界面,例如使用戶能夠決定所要求的傳輸質量即可靠傳輸或快速傳輸的JAVA小應用程序。服務器12解釋用戶的判定信號,并按照對服務器12和用戶10之間的網絡的使用級別以及從服務器12傳輸到用戶10的數據執行操作。因此包含軟件和圖片的混合的多媒體傳輸能夠并行地在信道22和24中被傳輸。信道22使用TCP傳輸軟件,而信道24使用UDP傳輸圖片數據。
服務器12還包含了用來改變由TCP信道22所傳輸數據的確認窗口大小的方法。
圖2是一幅描繪確認窗口原理的圖。當接收器R向發送器E發送一個請求30時,發送器E就向接收器R傳送數據,而當接收器已經接收到特定的N個字節數時,接收器向發送器發送確認信號32。如果發送器E還沒有正確地接收到確認信號,那么發送器再發送N個字節。這種重傳增加了業務量的密度,所增加的比例隨著字節數N的增大而增大。因此,舉例說明如當服務器12知道傳輸質量有問題時,它減少確認窗口的長度N以限制重傳的數據量。這可以降低網絡擁塞的風險。
操作如下作為對請求18的響應,客戶機單元10接收一個html頁,它將對該頁進行分析并存入一個存貯器(箭頭40)諸如計算機的硬盤42。存儲在硬盤42的數據由對象的地址和文件名組成。
然后,(箭頭181,182)每個對象地址和文件名從內存42被傳輸到瀏覽器16(箭頭44)以便小應用程序26給每個對象發送請求181,182等。信道22或24的選擇是由代理服務器12確定的。
在順序地加載完各種對象后,客戶機單元對接收到的文件或對象重新排序,這些文件或對象通常由各種類型的數據例如超媒體或超文本文件構成。被重新排序的數據能夠被在客戶機單元的瀏覽器16上使用或顯示。
在這個實例中,服務器12位于衛星傳輸系統的連接站10中,連接站構成此傳輸系統的一個用戶。
注意,選擇協議或傳輸信道在實際中是有益處的,特別是在從數據庫14或服務器12到客戶機設備10的傳輸方向上,因為在這個方向上被傳輸的數據量比其它方向要大得多。然而,選擇協議的原則能夠被推廣到諸如在兩個用戶之間傳輸數據的情形中。
在圖3所示的本發明的實施例中,客戶機終端101包括一個瀏覽器161和本地代理服務器50。
瀏覽器161通過本地服務器50與代理服務器121通信。
本地服務器50或者使用信道241上的UDP類型的協議或者使用信道221上的TCP類型的協議管理對服務器121的呼叫,具體選用哪種協議則依本發明的方法進行。
瀏覽器161執行常規操作,即傳送請求,處理html頁和顯示接收到的數據。
權利要求
1.一種從數據庫向發出請求的客戶機傳輸數據的方法,其特征在于為每一個呼叫選擇使用有確認的傳輸協議(TCP)或是使用無確認的傳輸協議(UDP)。
2.按照權利要求1的方法,其特征在于對于一個給定的來自某客戶機的請求,有些數據是使用有確認的傳輸協議來傳輸的,而另外的數據則是使用無確認的傳輸協議傳輸的。
3.按照權利要求1或2的方法,其特征在于按照用戶所表達的請求的特征來選擇所使用的傳輸協議。
4.按照權利要求1到3中任意一個的方法,其特征在于按照所傳輸的數據的特征和/或其數據量來選擇協議。
5.按照前面任意一個權利要求的方法,其特征在于當一種有確認的傳輸協議被采用時,還可為每一個呼叫選擇確認窗口的長度(N)。
6.按照權利要求5的方法,其特征在于當發現傳輸的數據的誤碼率超過一個預先設定的值時,就減少確認窗口的長度。
7.一種用于與數據庫連接的終端,其特征在于它包括兩個接收信道(22,24)其中一個(22)用于使用有確認的傳輸協議接收的數據,另一個(24)用于使用無確認的傳輸協議接收的數據。此終端還包括一個用戶操作界面,通過它用戶可以指示是選用可靠傳輸還是選用快速傳輸。
8.一種用于與數據庫連接的終端,其特征在于它包括兩個接收信道(22,24),其中一個(22)用于接收使用有確認的傳輸協議傳輸的數據,而另一個(24)用于接收使用無確認的傳輸協議傳輸的數據。此終端還包括按照發給數據庫的請求自動選擇可靠傳輸或快速傳輸的裝置。
9.按照權利要求7或8的終端,其特征在于包括一個通過一個控制與遠端數據庫通信的流的本地鄰近服務器(50)與兩個接收信道進行通信的瀏覽器(161)。
10.按照權利要求7或8的終端,其特征在于它包括對通過兩個不同的信道接收來的文件進行重排序的裝置。
11.按照權利要求10的終端,其特征在于被重排序的文件被在終端的瀏覽器(16)中使用。
12.一種適于被結合到一個或多個用戶和數據庫間的網絡中的服務器(12),其功能是解釋用戶的請求和/或存貯從數據庫接收到的數據,此服務器的特點在于它包括選擇從服務器到用戶傳輸數據時使用哪種協議的裝置,選擇是在有確認的傳輸協議和無確認的傳輸協議二者間進行的。
13.按照權利要求12的服務器,其特征在于它包括當使用有確認的傳輸協議時改變確認窗口(N)的裝置。
14.按照權利要求13的服務器,其特征在于當傳輸誤碼率增加時減少確認窗口的大小。
15.按照權利要求12到14中任意一項的服務器可用在一個衛星傳輸系統中,在這一系統中,每個用戶的呼叫都被通過一個連接站來中繼,用戶和連接站間的呼叫要經過一顆衛星,本服務器被置于連接站中或與該連接站相連接。
全文摘要
本發明涉及一種從一個數據庫(14)向一個提出請求的客戶機(10)傳輸數據的方法。為每一個呼叫選擇是使用有確認信號的可靠傳輸協議(TCP)還是使用無確認信號的快速傳輸協議(UDP)。一種能實現上述方法的終端,它包括兩個接收信道(22,24),其中一個(22)接收使用有確認信號的傳輸協議傳輸的數據,另一個(24)接收使用無確認信號的傳輸協議傳輸的數據。
文檔編號H04L1/00GK1284809SQ0012274
公開日2001年2月21日 申請日期2000年8月11日 優先權日1999年8月12日
發明者帕特里克·馬赫蒂尼 申請人:阿爾卡塔爾公司