專利名稱:對信息系統(tǒng)的增強數據訪問的制作方法
技術領域:
本發(fā)明涉及信息系統(tǒng),尤其涉及包括多個數據源、數據庫實例和數據消費者的信息系統(tǒng)。
背景技術:
在大型多用戶信息系統(tǒng)中,數據一般是由位于多個地方的多個實體生成和訪問的。為了便于有效地使用信息,數據通常分布到位于網絡中不同地方的若干數據庫實例。 然而,要求是需要信息能夠為要快速并有效地應用該信息的處理和用戶獲得。此外,重要的是,信息簡單地配置成使得可能成本有效地加以實現(xiàn)。
傳統(tǒng)的系統(tǒng)應用許多方法來確保信息的可用性。一個選擇是維護存儲在多個存儲實例中的數據的多個拷貝(稱為副本),而且要使得對副本的訪問與對單個、非復制的實體的訪問一致。在高可用性的簇中,對于每條信息,一般都存在一個或者若干個復制母本 (master) 0復制母本負責獨立的數據庫實例之間數據的一致性。在單個母本的情況下,來自信息源的所有更新都要通過這單個母本,而且它控制數據到其它實例的復制。如果涉及若干個母本(所謂的多母本復制),則需要嚴格的機制來解決同時數據更新之間的沖突。對于沖突的解決,存在不同的方法交易時間戳、原始節(jié)點的層次性,等等。
這些配置一般應用悲觀(pessimistic)復制,其中復制機制確保具有相同數據的所有數據庫實例都以正確的方式更新。悲觀算法在訪問期間同步協(xié)調副本并在更新期間阻擋其它用戶。這些算法滿足最嚴格的單拷貝要求,常常稱為ACID屬性(可分性 (atomicity)、一致性、隔離性、持續(xù)性)。然而,滿足所有復制要求會導致復雜的復制機制。 這尤其適用于具有眾多數據庫實例、若干復制母本和實例之間有不可靠連接的系統(tǒng)。
在樂觀(optimistic)復制中,可以無需預先同步地對數據進行訪問。允許副本有分歧,并且保證當系統(tǒng)空閑時收斂副本。樂觀復制面臨的挑戰(zhàn)是控制分歧副本和并發(fā)操作之間的沖突。因此,這被認為只適用于可以容忍偶然沖突和不一致數據的系統(tǒng) ("Optimistic Replication", YASUSHI SAIT0,惠普實驗室,Palo Alto, CA, USA 禾口 MARC SHAPIRO, Microsoft Research 有限公司,Cambridge,UK)。
在電信業(yè),訂戶數據一般分發(fā)到至少兩個數據庫實例。動態(tài)訂戶數據存儲在一個根據用戶的移動性而改變的數據庫中。靜態(tài)訂戶數據存儲在固定的數據庫中,而且該數據庫還維護指向用于動態(tài)訂戶數據的目前數據庫的指針。然而,在新的先進系統(tǒng)中,有幾個方面朝著其它類型的訂戶數據配置努力。
具有若干地理上分散的數據庫實例的需求是至少部分地被傳輸成本的優(yōu)化、部分地被恢復(resilience)要求而激發(fā)的。
在通信網絡中,可以有若干節(jié)點,這些節(jié)點生成狀態(tài)信息。在蜂窩網絡中,例如,移動電話和基站是狀態(tài)信息的源。而且,照此,許多電信服務生成大量的狀態(tài)信息,這些狀態(tài)信息需要在網絡上分發(fā)。例如,當移動訂戶在蜂窩網絡中從一個基站的區(qū)域移動到另一個基站的區(qū)域時生成位置更新,或者將存在信息的更新發(fā)送到存在服務器。通信系統(tǒng)中這種狀態(tài)信息的壽命是非常短的。所有這些都導致大量的狀態(tài)信息,對其的傳輸需要仔細地進行優(yōu)化。
在廣大區(qū)域性和全國性網絡中,有可能由于傳輸服務的中斷而將網絡分成兩個或者若干個隔離的子網絡。然而,重要的是,即使在這種異常情況下,網絡的隔離部分也能夠以正確的方式提供服務。
發(fā)明內容
因此,本發(fā)明的一個目的是提供用于實現(xiàn)方法的解決方案,從而滿足至少一些以上需求,并因此便于對信息系統(tǒng)中動態(tài)數據的更簡單和更成本有效的提供。本發(fā)明的目的通過信息系統(tǒng)、裝置、方法和計算機程序產品實現(xiàn),它們由獨立權利要求中所聲明的內容來表征。本發(fā)明的優(yōu)選實施方式在從屬權利要求中公開。
本發(fā)明基于如下想法利用用于數據源的較不嚴格的處理,而且,在消費端,應用有效性檢查來從減輕的處理失敗的情況中恢復。與傳統(tǒng)的理解相反,存在眾多應用,尤其是在通信系統(tǒng)領域,其中由有效性檢查導致的處理和流量的增加主要是通過交易數據庫復制的流量和處理的減少來補償的。本發(fā)明的這個優(yōu)點和進一步的優(yōu)點是利用以下本發(fā)明的實施方式更具體地討論的。
以下將參考附圖通過優(yōu)選實施例更具體地描述本發(fā)明,附圖中 圖1提供了對信息系統(tǒng)中角色基本元件的功能性描述; 圖2例示了通信系統(tǒng)的網絡基礎結構; 圖3A例示了應用圖2的通信系統(tǒng)的實施例; 圖;3B例示了應用圖2的通信系統(tǒng)的另一實施例; 圖3C例示了應用圖2的通信系統(tǒng)的另一實施例; 圖4例示了在信息系統(tǒng)的數據源中應用的方法的實施例; 圖5例示了在信息系統(tǒng)的數據消費者中應用的方法的實施例;及 圖6例示了所實施裝置中的參考硬件配置。
具體實施例方式應當認識到,以下實施例是示例性的。此外,盡管該說明書可以能在各個不同地方引用“一”、“一個”或者“一些”實施例,但是不一定是引用相同的實施例,或者所討論的特征不僅應用到單個實施例。不同實施例的單個特征可以組合,以提供進一步的實施例。
本發(fā)明涉及其中從多個源提供的數據在由多個消費者訪問的多個數據庫實例中維護的信息系統(tǒng)。應用多種通信技術的多種裝置和系統(tǒng)配置可以單獨地或者組合使用,來實現(xiàn)本發(fā)明的實施例。信息系統(tǒng)和技術不斷地發(fā)展,而且本發(fā)明的實施例可能需要對本領域技術人員來說基本上很顯然的多個修改。因此,本說明書的所有詞語和表達都應當廣義地去解釋,因為它們僅僅是要例示而非約束所述實施例。
圖1提供了對在根據本發(fā)明的信息系統(tǒng)100中的角色基本元件的功能性描述??偟膩碚f,術語“信息系統(tǒng)”涉及給定組織中的人、數據記錄及自動和手動處理數據與信息的活動的組合。在這種環(huán)境下,信息系統(tǒng)更具體地涉及通用信息系統(tǒng)的信息技術成分,并且因此指可以用在信息的獲取、存儲、操縱、管理、移動、控制、顯示、切換、互換、傳輸或者接收的任何電信和/或計算機相關的設備或者設備的互連系統(tǒng)或子系統(tǒng),而且包括軟件、固件和/ 或硬件。
事件源(ES) 10例示了用以提供在信息系統(tǒng)的處理中所使用的事件數據項(ek)的元件。事件%在這里是指對事件消費者(EC) 12的任務有效的發(fā)生。事件數據項q優(yōu)選地實現(xiàn)為以電子形式編碼的信息塊,以便允許信息系統(tǒng)的計算機設備和計算機軟件在信息系統(tǒng)的處理中轉換、存儲、保護過程、發(fā)送和安全地檢索它。信息系統(tǒng)能夠自動地檢測并處理事件數據項q,其中%—般包括一個或多個可分離的信息元素iek,其中一個元素攜帶關于發(fā)生的實際數據。任務與信息系統(tǒng)中識別出的一個實體關聯(lián),因此事件數據項一般包括識別關聯(lián)到任務的實體的信息元素。例如,如果實體是信息系統(tǒng)的用戶,則事件數據項一般包括指示用戶身份的信息元素。在有些情況下,分發(fā)的數據項可以涉及幾個任務,而且事件數據項一般包括識別發(fā)生對其有效的任務的信息元素。
依賴于實現(xiàn),信息元素的指示可以是明確的或者是隱含的。例如,事件源可以配置成提供只關于一個實體的發(fā)生的數據元素(例如,它們自己),因此數據元素的原點可以從包括數據項的消息的源地址來確定,而不需要獨立的信息元素來識別實體。另一方面,如果數據項僅僅適用于一個任務,例如用戶的位置信息,則任務本身不需要利用信息元素單獨地指示。由不同事件源提供的事件數據項的格式優(yōu)選地是相同的,使得不需要使任務能夠訪問事件數據項中信息的進一步操作。然而,事件源和事件消費者之間信息系統(tǒng)的任何中間元件都可以修改成適于接收各種格式的各種事件源的數據項,并將它們處理成由各個事件消費者應用的各種格式。
由一個或多個事件源提供的事件數據項被傳遞到數據庫(DB) 14。數據庫代表系統(tǒng)地布置的數據集合,該數據庫被結構化成使得其可以被自動地檢索或者操縱。事件數據項的輸入優(yōu)選地與事件數據的輸出分開,使得與事件源的交易可以獨立地執(zhí)行,而不必考慮事件消費者方的操作。事件源可以自發(fā)地和/或獨立于任何其它事件源地發(fā)送信息??蛇x地,數據庫可以提示或者查詢來自事件源的事件數據項。在許多實施例中,一個發(fā)生僅僅由一個事件源通知,因此基本上沒有明顯的需求要檢測并解決關于同一發(fā)生的事件數據項之間的沖突,其中事件數據項是從兩個或者更多個獨立的事件源接收的。然而,這種配置沒有排除在范圍之外,因此,當需要時,為此目的可以采用本領域技術人員已知的任何傳統(tǒng)的或者新的機制,例如來自樂觀復制領域的機制。
事件消費者(EC) 12在這里代表應用事件信息的邏輯元件。EC操作性地連接到數據庫,而且一般包括任務,例如,輸入事件數據并提供具有內容且按照手頭任務格式的輸出的應用程序、服務、過程、處理、函數等。DB可以將事件數據(Ek)發(fā)送到其自發(fā)的EC,或者 EC可以向DB提供查詢q(Ek),DB利用基于一個或多個所存儲的事件數據項(ek)導出的事件數據(Ek)對該查詢進行響應。DB例如可以將事件數據項(ek)以DB接收到這些事件數據項的格式轉發(fā)到EC,或者可以在向EC提供之前將它們處理成另一種格式(ek’)。
在信息系統(tǒng)只包括一個數據庫的情況下,所有數據項都傳遞到該數據庫,而且存儲在該數據庫中的事件數據中的不一致性是由于事件源和數據庫之間不成功的通信導致的。如果事件源的數量增加,則有更多可能的鏈接失敗,而且事件數據的一致性增加。而且,如果系統(tǒng)中有不止一個數據庫,則情況變得更復雜。EC中所維護的任務一般要求,數據庫動作被可靠地處理,而且EC可以應用任何可用的數據庫,使得從它們接收到的事件數據在所有地方都是一致的。為了實現(xiàn)這個目的,傳統(tǒng)上,選擇一個數據庫作為負責管理來自ES的所有數據項的主副本。在主副本更新之后,它同步地將該更新輸入到其它的次副本。對任何副本的訪問都被阻擋,除非可以證明它是最新的。對于有限個數的副本,這種單拷貝確認的機制工作良好。然而,這種方法不允許建立具有頻繁更新的大型系統(tǒng),這是因為當事件源和數據庫實例的個數增加時,其吞吐率和可用性顯著地變差。
本發(fā)明的解決方案應用隨機數據庫復制,其中數據項從多個事件源提供到多個數據庫實例,而且允許使用來自數據庫實例的當前事件數據,而沒有對其一致性的強制要求。 另一方面,事件消費者配置成確定所接收到的(應用的或者可應用的)事件數據的有效性, 而且在無效數據的情況下啟動對事件數據的另一次查詢。該解決方案假定,數據庫實例中的事件數據作為根據起源事件源和接收數據庫實例之間的鏈路中的傳輸概率統(tǒng)計性變化的隨機處理來復制。因此,一個數據庫實例中的事件數據可能偏離另一個數據庫實例中的事件數據以及偏離實際的情況;可以接受的是至少在某些時刻的至少有些事件數據是不正確的。然而,事件消費者能夠檢測無效事件數據,并觸發(fā)適當的過程來檢索來自另一個地方的(例如,來自另一個數據庫實例的,或者來自起源事件源的)有效事件數據。
被觸發(fā)的過程的實現(xiàn)自然地造成信息系統(tǒng)中的附加操作和通信。然而,在各種鏈路中事件數據傳輸成功的概率可能可以相當容易地估計和提高。一般來說,信息系統(tǒng)的通信鏈路中的吞吐率概率是相對好的,因此啟動新查詢的可能性實際上非常小。因此,來自新查詢的流量的增加很好地被信息系統(tǒng)中交換確認消息數量的顯著減少補償。由于減少的流量和與單個事件數據傳遞關聯(lián)的控制操作,事件數據項的分發(fā)和應用更快更簡單。此外,根據本發(fā)明的信息系統(tǒng)很容易縮放到更大的配置和非常動態(tài)的事件數據。這使得實施例甚至能夠用在廣域通信系統(tǒng)中移動管理和呼叫控制的處理和服務中,其中,由于可縮放性和阻塞問題,迄今為止只有傳統(tǒng)的單拷貝確認數據庫布置可以應用。
本發(fā)明可以應用到其中事件數據可以從多個并行的數據庫實例訪問的任何信息系統(tǒng)。以下,描述應用圖2的通信系統(tǒng)的本發(fā)明實施例。
所實施的通信系統(tǒng)提供了對具有用戶終端和訂購的多個用戶的廣范圍訪問。利用用戶終端和訂戶身份的組合,用戶可以訪問通信系統(tǒng)的服務。圖2的網絡基礎結構可以邏輯地分成內核網絡20和無線電訪問網絡21基礎結構。內核網絡20是交換與基本傳輸設備的組合,它們一起提供網絡服務的基礎。無線電訪問網絡21提供對移動和固定原點的多個內核網絡的移動訪問。
圖2所示簡化的無線電訪問網絡配置是蜂窩系統(tǒng),其中大區(qū)域被分成多個稱為單元的子區(qū)域。每個單元22具有其自己的基站23,其中基站能夠為多個同時的用戶終端M 提供無線電鏈接。在圖2中,每個單元對應于一個基站站點。然而,基站站點還可以包括不止一個基站,其中每個基站對應于一個單個的單元。單元在這里代表可單獨識別的位置區(qū)域。
無線電訪問網絡可以包括獨立的控制網絡元件,該元件管理一組一個或多個基站的無線電資源的使用和完整性。然而,無線電網絡控制功能還可以在各個基站中實現(xiàn)。本實施例應用后一種配置。圖2的蜂窩系統(tǒng)代表移動通信系統(tǒng),其中移動用戶終端在移動的過程中也可以訪問網絡服務。然而,應當指出,即使該實施例是在移動通信系統(tǒng)中例示的, 但是它還適用于其中便攜站可以點到點移動但在一個時刻在固定的接入點使用的配置。
無線電訪問網絡中和內核網絡中的網絡元件之間的連接可以是電路切換或者包切換的。電路切換類型的連接是當連接建立時為其分配專用網絡資源并且當連接釋放時釋放該資源的連接。包切換類型的連接運輸成包的用戶信息,使得每個包可以獨立于前一個包地被路由。包切換連接上的發(fā)送可以是有確認的或者不確認的。確認的發(fā)送自動重復, 直到所定址的目的地的實體確認其已經接收到了。確認的發(fā)送使得可以確保計劃的信息是按時交換的,而且基于該信息的動作可以可靠地執(zhí)行。另一方面,確認消息和重復的再次發(fā)送增加了流量并可能造成整體通信的顯著延遲。不確認的發(fā)送很好地適于動態(tài)多用戶包切換通信,其中不從目的地接收確認的事實使得不自動產生再次發(fā)送。
通信系統(tǒng)的內核網絡包括用于靜態(tài)和動態(tài)訂戶數據的若干個訂戶寄存器。靜態(tài)數據是當提供訂戶時創(chuàng)建的,而且很少變化。因此,靜態(tài)數據可以利用傳統(tǒng)的復制機制在訂戶寄存器之間復制。動態(tài)訂戶數據包括可以根據對該訂戶發(fā)生的事件頻繁變化的訂戶數據。 事件可能由于訂戶所采取的行動或者由于對該訂戶造成的或者發(fā)生的行動或者發(fā)生而產生。
圖3A至3C例示了應用圖2中所述的通信系統(tǒng)的實施例。蜂窩網絡的一個基本處理是移動管理。移動管理的目的是跟蹤移動訂戶位于什么地方,以便向他們傳遞呼叫、數據消息和其它服務。移動管理是基于位置更新過程,該過程允許用戶終端通知蜂窩網絡關于其位置的事件,例如,什么時候該終端從一個位置區(qū)域移動到了下一個位置區(qū)域。向網絡提示更新后位置信息的提供有幾個原因。任何時候當用戶終端打開或者關閉時,網絡可能要求其執(zhí)行位置更新過程。而且,用戶終端一般配置成使用周期性的位置更新過程來向網絡定期地報告其位置。任何時候當用戶終端從一個位置區(qū)域移動到下一個位置區(qū)域同時沒有進行呼叫時,一般執(zhí)行隨機位置更新。隨機位置更新還可以由由于信號衰減而從不同位置區(qū)域中的單元重新選擇覆蓋范圍的靜止用戶終端執(zhí)行。位置更新使得用戶終端可以對網絡具有可靠的訪問而且可以進行呼叫,同時享受整個覆蓋區(qū)域中移動的自由。
在本實施例中,參考圖3A,通信系統(tǒng)的網絡包括多個訂戶寄存器SRI、SR2、 SR3、. . . , SRn和多個基站BSl、BS2, ... , BSm,其連接到包數據網絡,該包數據網絡對經該包數據網絡連接的元件提供包切換通信。應當指出,該實施例中所應用的配置僅僅是簡化的例子?;九渲每梢噪S實現(xiàn)而顯著地變化?;緩挠脩艚K端UT1、UT2接收位置更新消息,并通過將位置更新消息作為事件數據項提供給將其作為事件數據存儲的訂戶寄存器來充當事件源。在本實施例中,數據庫是既包括所有用戶終端UT1、UT2的靜態(tài)訂戶數據實例 SSDl、SSD2、· · ·,SSDn又包括動態(tài)訂戶數據實例DSD1、DSD2、· · ·,DSDn的基本上并行數據庫實例。
應當指出,本實施例處理由無線電訪問網絡的用戶終端和/或基站提供的動態(tài)數據。傳統(tǒng)上,通信網絡包括用于基本上靜態(tài)訂戶信息的主(home)位置寄存器和游客位置寄存器,其中只要移動訂戶在由游客位置寄存器控制的位置區(qū)域內,用于呼叫建立的所有訂戶參數就都被存儲在該游客位置寄存器中。除了靜態(tài)訂戶信息,主位置寄存器還維護指向用戶終端當前所在的當前游客位置寄存器的動態(tài)元素。需要這種劃分來最小化對動態(tài)數據的復制,并因此應對在網絡中可用的更新資源。由于減輕的更新過程,本發(fā)明還允許用于靜態(tài)和/或動態(tài)數據的新分布式配置,及由此就加載、地理距離或者其它考慮優(yōu)化的很多新查詢過程。在本說明書中更具體地討論一些新的訂戶寄存器配置。
多個基站BS1、BS2,...,BSm中,一組基站BS1、BS2,BS3在具有用戶終端UTl的訂戶A目前所在的區(qū)域內,而另一組基站BS4、BS5,BSm在具有用戶終端UT2的另一訂戶 B目前所在的區(qū)域內。當基站BS4從用戶終端UT2接收位置更新消息時,它利用所定義的不應用確認發(fā)送的包切換協(xié)議,將消息<lul>作為事件數據項發(fā)送到所有訂戶寄存器SR1、 SR2、SR3、. . .,Sto。根據早先的定義,當基站BS4將關于訂戶B的UT2的位置數據更新的信息發(fā)送到數據庫實例SRl時,到SRl的位置更新的重新發(fā)送不依賴于來自SRl的確認,即, 即使沒有從SRl接收到確認,BS3也不一定需要向SRl重新發(fā)送位置更新。
BS3可以配置成至少向SR2重新發(fā)送一次位置更新,不管其是否接收到了確認。這種布置實際上是優(yōu)選的,因為它可以顯著增加位置更新消息到達目的地的概率,但不會額外增加通信系統(tǒng)中的流量。為了有些其它目的,BS3還可以配置成要求來自一個或者多個數據庫的確認,或者數據庫可以配置成確認發(fā)送,而不管發(fā)送者是否實際要求它。在任何情況下,在BS3中,是否向數據庫實例重新發(fā)送事件數據項的決定不是強制性地依賴于從該數據庫實例接收到確認。
當目前位于BS3單元中的訂戶A希望呼叫訂戶B時,它啟動UTl中的呼叫建立過程。該呼叫建立過程是應用移動管理的事件數據的任務。為了訪問適當的呼叫建立參數, 需要訪問相關的訂戶寄存器。在本實施例中,訂戶A的BS3可以自由地(即,隨機地或者根據任何所定義的唯一或者普遍存在的選擇標準)選擇它要將請求關于訂戶B的目前單元的信息的查詢發(fā)送到的數據庫實例。在本應用中,讓我們假設BS3配置成將查詢<ql>發(fā)送到地理位置上最靠近其的SR2。SR2以包括UTl作為BS4的目前單元的消息<rl>來響應。
有了這個信息,BS3就將呼叫建立通知消息發(fā)送到BS4,而且,如果BS4相應地進行了響應,則呼叫建立繼續(xù)正常進行。訂戶寄存器中位置信息正確的概率尤其依賴于用于傳遞該位置更新消息的傳輸機制。本實施例應用使用用戶數據報協(xié)議(UDP)作為底層協(xié)議的 IP多播技術,而且不提供確保成功數據傳輸的機制。在不偏離所保護的范圍的情況下,也可以應用其它滿足所保護特征的對應包切換協(xié)議。例如,位置更新消息可以被復用并作為單播消息發(fā)送,每個數據庫實例都有一個消息發(fā)送到其。
在UDP中,可靠性基于協(xié)議堆棧較低層(例如,以太網)的屬性。在IP網絡中,包傳遞概率的測量是由包丟失來測量的,即,沒有正確傳遞的包的概率。例如,在良好設計并維護的IP網絡中,可以容易地實現(xiàn)用于包丟失的典型的0.: Pr ( “ IP 包丟失”)=0.1%。
如果假定基站重復位置更新消息到訂戶寄存器的發(fā)送兩次,以確保更新傳遞,而且兩次相繼重復消息的包丟失概率是獨立且相等分布的,則位置更新丟失的概率可以如下計算 Pr (“位置更新消息丟失”)=Pr ("IP包丟失” )2 = (1 * 106)—1。在這種情況下, 來自任何訂戶寄存器的每個第一百萬個位置信息應答將是不正確的。
為了控制由于不正確數據造成的不成功呼叫嘗試的個數,事件消費者(在這里是查詢基站)配置成檢測從數據庫實例查詢的信息是否有效。對本領域技術人員來說,很清楚這種檢查可以按照多種方式實現(xiàn)。在這種實施例中,基站BS3向BS4發(fā)送呼叫建立傳送消息并等待響應達所定義的時段。如果BS4在該時段內肯定地響應了,則呼叫建立過程可以正常地繼續(xù)。如果響應是否定的,例如指示UT2沒有在BS4的單元內,或者在所定義的時段內沒有接收到響應,則BS3確定所接收到的位置信息是無效的并向另一個目的地啟動新的查詢。
讓我們假定,在呼叫建立之前,訂戶已經移動到BS5的單元,但BS5的位置更新消息由于某種原因沒有到達SR2。相應地,查詢如前面所述的那樣前進,但是當BS3向BS4發(fā)送呼叫建立消息時,BS4沒有在其單元中找到UT2并且否定地確認該消息。這造成新的查詢,在所保護的范圍內查詢的格式和目的地可以顯著變化。
圖;3B例示了一種實施例,其中BS3檢測到<rl>中的事件數據是無效的并向網絡中的所有訂戶寄存器SRI、SR2、SR3、. . . , SRn發(fā)送對訂戶B目前位置的新查詢??赡苡幸环N流行的系統(tǒng)定義,其中來自訂戶寄存器的響應<rl>不僅包括訂戶B的目前位置,而且包括指示傳遞對應位置更新消息時間的時間戳。當來自訂戶寄存器的所有響應都到達時,根據時間戳BS3能夠檢測最近的數據并使用對應的單元作為下一次查詢<q2>的目的地。這種方法的優(yōu)點是它很簡單,但仍然可以快速檢測到最近的信息源并因此最小化了重復查詢的量。作為一方面,在檢測到正確的數據(在這里是最近的數據)后,BS3可以將其分發(fā)到所有數據庫,以便改進它們后續(xù)請求中位置信息的有效性。
圖3C例示了另一種方法,其中BS3檢測到<rl>中的事件數據是無效的并且直接向所有其它的基站BS1、BS2,...,BSm發(fā)送對訂戶B目前位置的新查詢。在UT2不在的單元中,基站BS1-BS2、BS4和BS6_BSm不對該查詢作出響應或者否定地響應。在UT2所在的單元內,BS5對該查詢肯定地響應,而且呼叫建立傳送可以繼續(xù)。同樣,該方法是直接的,但非常有可能以最小重復的發(fā)送就獲得成功。
在保護范圍內,用于執(zhí)行新查詢的幾種其它方法是可能的。例如,基站可以具有關于訂戶的可能位置的某種事先了解,并使用這種了解來約束在第二次查詢中發(fā)送的消息的個數。例如,訂戶身份可以與網絡中的特定域關聯(lián),而且查詢基站可以將第二次查詢約束到那些基站,或者最靠近那些基站的訂戶寄存器,并且只有在進行第三次嘗試時才放寬查詢到覆蓋所有基站。
在不偏離保護范圍的情況下,圖3A-3C中所描述的有效性檢測還可以變化。例如, 事件數據可以具備時間信息,然后,該時間信息可以用于估計事件數據的有效性。例如,可以定義事件數據必須定期地刷新;否則它將被歸類為過時的。如果從訂戶寄存器中檢索出這種過時的事件數據,則用戶終端根據時間信息可以確定這條事件數據太舊并因此不太可靠。可選地,訂戶寄存器本身可以檢查所關聯(lián)的時間信息,并通過指示這條事件數據已經過時來應答。根據這種應答,用戶終端啟動新查詢。
在圖3A至3C的實施例中,數據庫是既包括靜態(tài)數據又包括動態(tài)數據的寄存器。很清楚,在有些實現(xiàn)中,不同的數據類型可以分到也不同地進行更新的不同數據庫實例中。例如,極少進行更新和/或其正確性是必需的信息可以存儲在一個或多個獨立的數據庫實例中并且根據最嚴格的交易復制過程來更新,而更多變化的動態(tài)信息存儲在無需強制確認過程而更新的多個其它數據庫實例中,如以上所描述的??梢詰枚嘤趦煞N類型的具有變化更新過程的數據庫實例,例如,一個用于靜態(tài)事件數據,一個用于動態(tài)事件數據,且一個用于半靜態(tài)事件數據。動態(tài)數據的更新過程可以盡可能輕,而半靜態(tài)數據的更新過程可以通過增強事件數據發(fā)送至其目的地的可能性的策略來增強。在本描述中隨后更具體地討論一些這種策略。
還有可能將靜態(tài)和動態(tài)事件數據集成到相同的數據庫實例中,但是根據所考慮的事件數據類型來執(zhí)行更新。例如,在圖3B的實施例中,基站可以如前所述地更新到動態(tài)訂戶數據實例部分DSD1、DSD2.....DSDn的位置數據,但連接到相同包數據網絡的調度站可以利用確認的發(fā)送將它們的訂戶數據更新傳遞到靜態(tài)訂戶數據實例部分SSD1、SSD2.....
SSDn。
本發(fā)明的隨機數據庫復制實施例提供了幾個優(yōu)點。在可以有若干個地理上分散的訂戶寄存器的網絡中,這意味著來自數據庫查詢的發(fā)送成本可以優(yōu)化。在一個寄存器不能提供服務的情況下,若干個基本上并行的訂戶寄存器提供了良好的恢復性。此外,如果大型網絡由于傳輸服務中的中斷而分成若干個子網,則網絡的隔離部分可以按照正確的方式提供服務。在子網再次重新連接之后,訂戶寄存器將自動地朝使關于網絡的正確信息成為整體的狀態(tài)收斂。一些附加的同步機制可以用于在訂戶寄存器之間快速復制位置數據。還應當指出,具有較不嚴格更新過程的數據庫實例可以利用相對適中的硬件和軟件實現(xiàn)來實現(xiàn),不一定需要載體分級和高可用性平臺。這種更簡單的配置是高度成本有效的更便宜而且更容易維護。
當討論本發(fā)明的優(yōu)缺點時,應當指出,補償放松的更新過程的操作依賴于未確認發(fā)送成功的概率。很清楚,本發(fā)明還可以通過增加從事件源到數據庫的成功發(fā)送的可能性的動作來增強。在圖3A至3C的實施例中,該概率是通過在定義的時段后缺省地重新發(fā)送位置更新來增加的。也可以采取一些其它動作來增加概率。例如,有利地,攜帶更新消息的包數據網絡是完全冗余的,即,對于從任何一個點到另一個點的所有連接,不存在任何單點故障(SPOF)。在實踐當中,這需要復制的路由器、交換機和其它傳輸元件及復制的或另選的傳送路徑。有利地,網絡中還有某種機制在傳送設備或者傳送鏈路故障之后恢復服務,例如象開放最短路徑優(yōu)先(OSPF)的路由協(xié)議。
該解決方案還允許根據實現(xiàn)最優(yōu)地調整兩次相繼重復更新消息之間的時間段。這可以例如定義成事件源以之間的短間隔發(fā)送前兩次發(fā)送,然后以顯著更長的間隔重復發(fā)送。例如,在位置更新的情況下,基站可以配置成以幾秒鐘的間隔向所有數據庫實例發(fā)送位置更新消息兩次,然后以增加的間隔(如果使用確認發(fā)送的話)再次發(fā)送該消息。兩次相繼重復更新消息之間的時間段優(yōu)選地比網絡的收斂時間長,例如,對于0SPF,一般是從幾秒到幾十秒。否則,在服務中斷期間,第一次發(fā)送和重新發(fā)送都有可能丟失。如果重新發(fā)送之間的時段足夠長,則可以假定網絡在該時段中從故障中恢復而且至少有一個消息傳遞到了數據庫實例。
在圖3A至3C的實施例中,基站既充當事件源,又充當事件消費者。很清楚,在信息系統(tǒng)中,角色可以根據事件信息的類型和應用其的處理而變化。例如,在通信系統(tǒng)的情況下,事件數據項可以生成、分發(fā)到數據庫實例,并由用戶終端或者任何網絡元件在數據庫實例中進行訪問,其中的網絡元件包括基站、調度工作站、應用服務器、交換器(exchange)、服務節(jié)點、接入節(jié)點、網關等。例如,事件數據項可以包括存儲在XML文件中并由存在服務器應用的存在數據。事件數據項還可以包括由各個證券交易所發(fā)布、在多個證券匯率(stock rate)服務器的數據庫中編譯并由證券匯率服務器的多個客戶端訪問的證券匯率??梢葬槍缣鞖忸A報信息、貨幣匯率等的收集和分發(fā)生成類似的例子。
圖4例示了用于信息系統(tǒng)的事件源中的方法的實施例。相應地,該方法是在圖3A 至3C的系統(tǒng)的基站中實現(xiàn)的,而且這些圖及之后的描述也可以全面地應用到圖4的解決方案。過程在基站連接到網絡并準備好進行正常操作的階段開始。(步驟40)在基站中存儲一組并行訂戶數據庫實例DBi的標識符或者地址,其中基站配置成向這些數據庫實例發(fā)送事件數據項。組可以包括一個數據庫實例、信息系統(tǒng)的所有數據庫實例或者它們的一個子組?;緶蕚浜?步驟41)用于關聯(lián)到數據項的信息(由其自己生成,或者由連接到其的其它實體生成)。在所實施的例子中,基站準備好用于移動通信系統(tǒng)的用戶終端的位置更新。當位置更新到達時,它生成(步驟42)包括位置更新信息的事件數據項q并利用包切換通信協(xié)議將其發(fā)送(步驟4 到所存儲的數據庫實例DBi的組,其中來自數據庫實例的確認的不接收不會自動造成事件數據項到該數據庫實例的重新發(fā)送。在這種實施例中,假定是IP多播。
在傳統(tǒng)的通信系統(tǒng)中,不采用并行的訂戶數據庫實例,而且動態(tài)信息只在一個實體(S卩,游客位置寄存器)中可以獲得。所實施的機制建議了一種改進的機制,該機制使得訂戶數據可以分發(fā)到若干個并行的數據庫實例,其中數據庫實例可以根據例如它們關聯(lián)的傳輸距離、傳輸鏈路的質量或者目前的可用性被選擇作為訪問實體。
該方法還可以通過其中基站至少重新發(fā)送一次(步驟44)信息元素的步驟進一步改進,而不管是否從任何數據庫接收到了確認。這增加了數據庫中信息正確的概率并由此減少了所關聯(lián)的故障情況下新查詢的需求。
該方法還可以通過其中基站檢查(步驟4 是否從有些數據庫實例接收到了至少一個響應的過程進一步改進。如果接收到了至少一個響應,則它認為吞吐率是適當的并繼續(xù)到步驟41,準備好用于進一步的信息。如果沒有,則基站調整(步驟46)到下一次發(fā)送的時段T,并在前進到步驟44以重新發(fā)送數據項之前等待(步驟47)這個時段T。根據應用, 時段T可以是恒定的,或者可以在連續(xù)的重新發(fā)送之間增加或者減小。這允許調整重新發(fā)送的量,以便匹配所應用系統(tǒng)的其它配置。
應當指出,在任何一個流程圖中描述的步驟/點、傳送消息和相關的功能都不是按照絕對的時間順序,而且有些步驟/點可以同時執(zhí)行或者以不同于所給定的次序執(zhí)行。 也可以在步驟/點之間或者在步驟/點之內執(zhí)行其它功能,而且其它傳送消息也可以在所例示的消息之間發(fā)送。一些步驟/點或者部分步驟/點也可以略去或者由對應的步驟/點或者部分的步驟/點來代替。
圖5例示了用在信息系統(tǒng)的事件消費者中的方法的實施例。相應地,該方法是在圖3A至3C的系統(tǒng)的基站中實現(xiàn)的,而且對這些圖及之后的描述也可以全面地應用到圖5 的解決方案。過程在基站連接到網絡并準備好進行正常操作的階段開始。基站配置(步驟 500)成具有應用事件數據的處理,在這里是根據關于接收用戶終端&的目前基站的信息轉發(fā)呼叫建立消息的移動管理處理P?;具€存儲(步驟50 —組并行訂戶數據庫實例DBi 的標識符或者地址,所述數據庫實例中存儲了來自基站的基于位置更新的信息。以這種方式,基站準備好(步驟504)用于處理P對事件數據&的請求。
任何時候當檢測(步驟506)到這種請求時,基站選擇從其查詢用于移動管理過程的事件數據的數據庫DB(Ek)。由于本發(fā)明,這種決定可以根據例如傳輸成本、傳輸鏈路的質量或者并行數據庫的目前可用性自由地作出?;纠盟x的數據庫DB(Ek)形成查詢(步驟510)并檢查(步驟512)響應中信息的有效性。這可以通過例如利用處理P中的事件數據來實現(xiàn),而且,基于結果的成功或者失敗,確定所使用數據的有效性。如果(步驟514)結果是有效的,例如如果呼叫建立消息按時得到了確認,則過程繼續(xù)到步驟504,準備好用于處理P的進一步信息需求。如果(步驟514)結果是無效的,例如呼叫建立消息沒有得到回答,而且還有未查詢的數據庫(步驟516),則選擇(步驟518)新的數據庫,且過程繼續(xù)到步驟510,以在新選擇的數據庫中實現(xiàn)查詢。否則(步驟516)呼叫建立失敗(步驟520)且過程移到步驟504,以準備好用于處理P的進一步信息需求。
圖6中的框圖示出了可用于先前實施例中所公開的用戶終端、基站、數據庫或者其它元件裝置的參考硬件配置。
裝置包括接口單元61,該接口單元具有用于將數據輸入到裝置的內部處理的至少一個輸入單元和用于從裝置的內部處理輸出數據的至少一個輸出單元。在用戶終端裝置中,接口單元一般包括具有用于輸入數據的鍵板、觸摸屏、傳聲器等和用于輸出數據的屏幕、觸摸屏、揚聲器等的用戶接口。在網絡元件裝置中,接口單元一般包括針對用于傳遞到其外部連接點的信息和用于饋送到與其外部連接點相連接的線路的信息充當網關的插件單元。
接口單元61電連接到用于執(zhí)行對數據的操作的系統(tǒng)執(zhí)行的處理器單元62。處理器單元62是基本上包括運算邏輯單元、多個專用寄存器和控制電路的中央元件。作為其中可以存儲計算機可讀數據或程序或者用戶數據的數據介質的存儲器單元63連接到處理器單元62。存儲器單元23 —般包括易失性或者非易失性存儲器,例如EEPROM、ROM、PROM、 RAM、DRAM、SRAM、固件、可編程邏輯,等等。
用戶終端和基站裝置包括無線電收發(fā)器單元64,該無線電收發(fā)器單元64包括發(fā)送器65和接收器66,而且還電連接到處理器單元62。發(fā)送器65從處理器單元62接收位流,并將其轉換成用于由天線67發(fā)送的無線電信號。對應地,由天線67接收到的無線電信號被引導到接收器66,接收器66將該無線電信號轉換成位流,該位流被轉發(fā)到處理器單元 62以進行進一步處理。傳輸中由處理器單元622實現(xiàn)的功能一般包括編碼、重新排序、交織、擾碼、通道復用和突發(fā)脈沖建立。
有些其它網絡元件裝置的參考硬件配置對應于基站的配置,但一般不包括無線電收發(fā)器單元。
處理器單元62、存儲器單元63、接口單元62和無線電收發(fā)器單元64電互連,以便提供用于根據裝置的預定、基本上編程好的處理執(zhí)行對所接收和/或所存儲數據的操作的系統(tǒng)執(zhí)行的功能性實體。在根據本發(fā)明的解決方案中,事件源裝置的功能性實體至少包括 用于存儲關于與通信單元相關聯(lián)的一組數據庫實例的信息的數據庫記錄,其中通信單元包括通信設備和用于識別使用該通信設備的訂戶的模塊;用于生成與通信單元相關聯(lián)的事件數據項的事件管理器;和用于將事件數據項發(fā)送到數據庫記錄中的數據庫實例組的數據庫接口。在根據本發(fā)明的解決方案中,事件消費者裝置的功能性實體至少包括用于存儲關于存儲由處理所用事件數據的一組數據庫實例的信息的數據庫記錄;用于從這組數據庫實例確定一個數據庫實例并從該數據庫實例查詢用于處理的事件數據的事件數據提供者;及用于檢測從數據庫實例查詢的數據是否有效的有效性檢測器。這些操作利用圖2至5更詳細地進行了描述。
本發(fā)明還可以在計算機程序產品中實施,該計算機程序產品可以由計算機讀取并且編碼用于執(zhí)行控制信息系統(tǒng)的裝置中的功能的計算機處理的計算機指令程序。
對本領域技術人員來說,很顯然,隨著技術的發(fā)展,該創(chuàng)造性概念可以按照各種方式實現(xiàn)。本發(fā)明及其實施例不限于以上所述的例子,而是可以在權利要求的范圍內變化。
權利要求
1.一種信息系統(tǒng),在該信息系統(tǒng)中到定址的目的地實體的數據項可以重新發(fā)送,直到所定址的目的地實體確認接收到了該數據項,該信息系統(tǒng)還提供不確認的包切換通信協(xié)議,在該協(xié)議中對到所定址的目的地的數據項的重新發(fā)送獨立于從所定址目的地對所發(fā)送數據項的確認的接收,該信息系統(tǒng)的特征在于包括數據源(ES ;BS4),配置成利用所述不確認的包切換通信協(xié)議將數據項發(fā)送到一組復制數據庫實例;兩個或者更多個復制數據庫實例(DBI ;SRl-Sfoi),其中每一個都配置成從所述數據源接收數據項,將該數據項存儲為當前數據項,并開放對該當前數據項的訪問;數據消費者(EC ;BS3),配置成從一個所述復制數據庫實例查詢關于所述當前數據項的信息所述數據消費者還配置成檢測在來自所述一個復制數據庫實例的對查詢的響應中所包括的信息是否有效;而且響應于該信息無效,啟動從另一目的地的新查詢。
2.一種用于信息系統(tǒng)的裝置(BS4),在該信息系統(tǒng)中到定址的目的地實體的數據項可以重新發(fā)送,直到所定址的目的地實體確認接收到了該數據項,該信息系統(tǒng)還提供不確認的包切換通信協(xié)議,在該協(xié)議中對到所定址的目的地的數據項的重新發(fā)送獨立于從所定址目的地對所發(fā)送數據項的確認的接收,該裝置的特征在于數據庫記錄(63),用于存儲關于與通信單元(UT2)相關聯(lián)的一組復制數據庫實例 (SRl-SRn)的信息,其中通信單元(UD)包括通信設備和用于識別使用該通信設備的訂戶的模塊;事件管理器,用于生成與所述通信單元(UD)相關聯(lián)的數據項;數據庫接口,用于利用所述不確認的包切換通信協(xié)議,將所述數據項發(fā)送到所述數據庫記錄中的所述一組復制數據庫實例(SRl-Sfoi)。
3.如權利要求2所述的裝置,其特征在于,所述數據庫接口配置成根據預先定義的安排重新發(fā)送所述數據項。
4.如權利要求2或者3所述的裝置,其特征在于,所述數據庫接口配置成向所述一組數據庫實例重新發(fā)送所述數據項,直到從至少一個數據庫實例接收到確認。
5.如權利要求2、3或者4所述的裝置,其特征在于,所述數據庫接口配置成在距前一次發(fā)送的預定時段之后重新發(fā)送所述數據項。
6.如權利要求5所述的裝置,其特征在于,所述時段隨發(fā)送而增加。
7.如權利要求5所述的裝置,其特征在于,所述時段比為網絡定義的收斂時間長。
8.如權利要求2至7中任一項所述的裝置,其特征在于,所述數據庫記錄包括并行維護與一個訂戶相關聯(lián)的事件數據的兩個或者更多個數據庫實例。
9.如權利要求8所述的裝置,其特征在于,所述數據項包括以下類型的訂戶數據中的至少一個移動管理數據、存在數據、呼叫控制數據、服務授權數據。
10.一種用于信息系統(tǒng)的裝置(BS3),在該信息系統(tǒng)中到定址的目的地實體的數據項可以重新發(fā)送,直到所定址的目的地實體確認接收到了該數據項,該信息系統(tǒng)還提供不確認的包切換通信協(xié)議,在該協(xié)議中對到所定址的目的地的數據項的重新發(fā)送獨立于從所定址目的地對所發(fā)送數據項的確認的接收,該裝置包括處理器單元,配置成應用事件數據;其特征在于數據庫記錄,用于存儲關于一組兩個或者更多個復制數據庫實例(SRl-Sfoi)的信息, 其中每個復制數據庫實例存儲由所述處理器單元應用的事件數據;事件數據提供器,用于從所述一組復制數據庫實例(SRl-Sfoi)確定一個數據庫實例 (SR2),并從該數據庫實例查詢用于處理的事件數據;有效性檢測器,用于檢測對查詢的響應中所包括的信息是否有效;及事件提供器,配置成響應于信息無效而啟動從另一目的地的新查詢。
11.如權利要求10所述的裝置,其特征在于,所述有效性檢測器配置成檢測應用所查詢的事件數據的處理是否成功,及響應于該處理不成功,啟動新查詢。
12.如權利要求10或者11所述的裝置,其特征在于,所述事件提供器配置成在一組其它數據庫實例中執(zhí)行新查詢;接收包括事件數據和相關聯(lián)的時間戳的響應; 將與最近時間戳相關聯(lián)的事件數據提供給所述處理。
13.如權利要求10或者11所述的裝置,其特征在于,所述事件提供器配置成向一個或多個事件源發(fā)送關于事件的查詢,其中所述事件源將數據項發(fā)送到數據庫實例;從事件源接收包括關于該事件的數據的響應; 將包括在所述響應中的事件數據提供給所述處理。
14.如權利要求13所述的裝置,其特征在于,所述事件提供器配置成向將數據項發(fā)送到所述數據庫記錄中的數據庫實例的所有事件源發(fā)送查詢。
15.如權利要求10至14中任一項所述的裝置,其特征在于,該裝置是通信系統(tǒng)的基站或者用戶終端。
16.如權利要求10至15中任一項所述的裝置,其特征在于,所述處理是以下之一呼叫控制過程、移動管理過程、位置應用的過程和存在服務的過程。
17.一種方法,包括在信息系統(tǒng)中運行,在該信息系統(tǒng)中到定址的目的地實體的數據項可以重新發(fā)送,直到所定址的目的地實體確認接收到了該數據項,該信息系統(tǒng)還提供不確認的包切換通信協(xié)議,在該協(xié)議中對到所定址的目的地的數據項的重新發(fā)送獨立于從所定址目的地對所發(fā)送數據項的確認的接收,該方法的特征在于存儲GO)關于與通信單元相關聯(lián)的一組兩個或者更多個復制數據庫實例的信息,其中通信單元包括通信設備和用于識別使用該通信設備的訂戶的模塊; 生成0 與所述通信單元相關聯(lián)的數據項;利用所述包切換通信協(xié)議,將所述數據項發(fā)送^幻到數據庫記錄中的所述一組復制數據庫實例。
18.一種方法,包括 應用事件數據,其特征在于存儲(502)關于一組兩個或者更多個復制數據庫實例的信息,其中每個復制數據庫實例都存儲由處理應用的事件數據;從所述一組兩個或者更多個復制數據庫實例確定(508) —個復制數據庫實例,并從所述復制數據庫實例查詢(510)用于所述處理的事件數據; 檢測(512)對查詢的響應中所包括的信息是否有效;及響應于所述信息無效,啟動(518)從另一目的地的新查詢。
19. 一種計算機程序產品,其可由計算機讀取并且編碼用于執(zhí)行控制信息系統(tǒng)的裝置中的功能的計算機處理的計算機指令程序,其特征在于所述處理包括權利要求17至18的方法的步驟。
全文摘要
一種信息系統(tǒng),該信息系統(tǒng)包括利用包切換通信協(xié)議將數據項發(fā)送到一組數據庫實例的數據源,在所述協(xié)議中所述數據項到數據庫實例的重新發(fā)送獨立于從所述數據庫實例對所發(fā)送數據項的確認的接收。數據庫實例從所述數據源接收所述數據項、將該數據項存儲為當前數據項,并開放對該當前數據項的訪問。數據消費者從該數據庫實例查詢關于所述當前數據項的信息,并具備檢測對查詢的響應中所包括的信息是否有效的手段。如果所述信息無效,則數據消費者啟動從另一目的地的新查詢。
文檔編號G06F17/30GK102187337SQ200980139522
公開日2011年9月14日 申請日期2009年9月30日 優(yōu)先權日2008年10月7日
發(fā)明者T·薩武寧, H·薩洛沃里, O-P·拉蒂南 申請人:卡斯蒂安芬蘭有限公司