標準化的數據庫存取系統和方法
【專利說明】標準化的數據庫存取系統和方法發明領域
[0001]本發明總體上涉及一種數據庫管理系統和方法。更具體地說,本發明涉及用于在本地數據庫中管理和存取數據的一種系統和方法。
【背景技術】
[0002]這里并不承認在本節中披露的【背景技術】合法地構成了現有技術。
[0003]現已經存在著很多不同類型和種類的數據庫系統。例如,可以參考美國專利號5,829,006,6, 016,497,6, 119,126,6, 223,227,6, 571,232 和 7,644,066 以及美國專利申請公開號 2003/0105811、2003/0208493、2006/0173873 和 2009/0187344。
[0004]電子數據庫已被了解和使用了很多年。一個既定的本地數據庫(如一個既定的密集型關系數據庫)可能需要變更,如數據庫模式上的改動。在這樣做時,就有必要為數據庫的存取方法提供附加變化和修改,以使得能夠生成相同的或相近的或其他輸出。如果將要改變數據庫結構的類型,則上述情況適用。就這一點而言,為了維護報告和來自系統的其他輸出的一致性,變化和修改也是需要。
[0005]可能令人期望的是具有一個標準化的數據庫存取系統,該系統能夠從一個本地數據庫生成標準化的輸出(如報告),即使是在數據庫的模式或者格式被修改或者被替換之后。
_6] 附圖簡要說明
[0007]通過參閱以下本發明的某些實施例的說明結合附圖,本發明的特點和獲得這些特點的方法將變得清楚,而且也能最佳地理解發明本身;其中:
[0008]圖1是根據本發明的一個實施例構建的一種標準化數據庫存取系統的方框圖;以及
[0009]圖2是根據本發明的一個實施例使用圖1的系統的一種標準化數據庫存取方法的流程圖。
_0] 本發明某些實施例的詳細說明
[0011]將容易理解的是如在此的附圖中概括地說明和展示的這些實施例的組件能夠被布置和設計在多種多樣的不同配置中。因此,以下對于如附圖中所示的本發明的系統、組件和方法的這些實施例中的某些所做的更詳細的說明并非旨在限制如所提出權利要求的本發明的范圍,而僅僅是在展示本發明的這些實施例。
[0012]根據本發明的至少某些實施例,這種標準化的數據庫存取系統和方法使得能夠不依賴于于所使用的基礎數據庫而產生標準化的輸出(如報告、顯示和其他內容)。如此,一個本地數據庫可用于產生所希望的標準化報告和其他這樣的輸出,不依賴于于一個既定數據庫的模式或者數據結構。同樣,即使上述的模式和/或數據庫結構發生了一個變化,相同的標準化報告或者其他輸出能夠被容易地創建。
[0013]在此披露了一種標準化數據庫存取系統和方法。本發明的一個實施例涉及一種用于從數據庫中存取數據的技術。該技術可包括提供一組超對象,每個超對象包含一種不同的規則。一個超對象類似于一個常規對象,但不同之處是它不包含或者存儲數據但僅包含用于從一個獨立的數據庫中存取數據的規則。當使用一個超對象查詢引擎(HOQL)接收一個HOQL查詢時,使用該HOQL引擎以響應于該HOQL查詢選擇至少一個超對象。通過所選擇的超對象來發送一個數據請求以便從數據庫中檢索數據,該數據是有待從該數據庫中接收以便由所選擇的超對象使用。根據與所選擇的超對象相關聯的規則使用所請求的數據,以便提供所希望的輸出。
[0014]因此,根據本發明的某些實施例,該標準化的數據庫存取系統和方法能夠用于不同的本地數據庫響應于和常見的SQL查詢相似的HOQL查詢在不依賴數據庫規劃或者模式的變化的情況下創建標準化的輸出。
[0015]該標準化數據庫存取系統提供管理功能,例如對超對象進行創建、存儲、刪除或者建列表。它還提供了對超對象進行檢索、存儲和更新的多種數據存取功能。這些超對象包括數據對象和上下文對象二者。這些上下文對象為這些數據超對象確定響應于一個查詢所請求的信息的某種環境或者配置。
[0016]由超對象存取的數據可以通過利用一個上下文超對象被解釋。該上下文超對象可以考慮時間、地點和/或者其他事項,這些內容會改變被存取數據的全貌。例如,一劑對成人而言正常的藥物劑量可能會對一個嬰兒產生顯著地變化,這顯示出年齡背景的重要性。
[0017]該上下文超對象可能會導致一個或者多個數據對象的規則的一個上下文部分相應地被變換從而促進搜索。在使用許多本地數據庫/模式組合和標準化的輸出的情況下,這樣的方法可能會特別有用。
[0018]現在參見附圖中的圖1,此處展示的是根據本發明的一個實施例的一個數據庫存取系統并且總體上在10處展示。如圖1所示,這個標準化數據庫存取系統10可以包括一個超對象查詢語言(HOQL)引擎12,用于接收一條HOQL查詢,該查詢要么來自一個HOQL控制臺14要么來自利用一個應用程序接口(API) 18的一個計算機16。該HOQL引擎12可以利用HOQL查詢存儲器21來存儲HOQL查詢。展示單元23以各種形式向用戶展示標準化的輸出,例如打印的報告、顯示以及其他輸出。超對象庫25包含一組超對象,例如超對象27、29和32,用以響應這些HOQL查詢。這些超對象于可以對應地通過適配器34和適配器39存取和處理從一組本地數據庫請求和接收的數據,如本地數據庫36和本地數據庫37。展示單元23以各種形式向用戶展示標準化的輸出,以響應于HOQL引擎12,如以下更為詳細的說明。
[0019]這些超對象里的每個對象都包括不同的用于請求訪問數據庫中的數據的規則和用于處理從數據庫接收的數據的規則。這些超對象可能不會存儲數據。這些超對象中的規則中的每一個規則可包含功能性處理、邏輯判定和上下文變換。
[0020]超對象庫25可包含至少一個上下文超對象(如上下文超對象27)和多個數據超對象(如數據超對象29和32)。該上下文超對象27可包括多個規則,這些規則可用于請求上下文數據和通過適配器34從數據庫36接收所請求的上下文數據。該上下文數據可包括關于搜索查詢中指定的上下文或者環境的信息。當使用其規則接收和處理所請求的上下文數據時,于是上下文超對象27可提供一個變換命令給所選擇的數據超對象中的一個或者多個,如數據超對象29。
[0021]該數據超對象29可接著使用其規則的一個變換部分。這個變換部分可包括關于該搜索查詢中指定的上下文或環境的附加的和/或具體的規則。這些數據超對象如數據超對象29可用來請求超對象數據并且可以通過適配器34從數據庫36接收所請求的超對象數據。當使用其規則接收并處理所請求的超對象數據時,數據超對象29會對HOQL引擎12呈現為一個偽對象,如偽對象38,并且通過引擎12給展示單元23提供一種標準化輸出,如?艮胃。
[0022]上下文變換的一個示例可以是由一個查詢來啟動,如以下情況:“英語的上下文中哪個單詞與數字‘I’相對應? ”該數字“I”依據語境可對應于多個不同的單詞,比如“one”,“un0”,“iChi”,“einS”,等等。在這個示例中,單詞“one”可在數據庫的檢索中使用。
[0023]現在考慮一個上下文年齡示例,假定需要分析一位病人的心率。該分析需要該病人的年齡作為一個分析要素。為了確認一位既定病人的心率是否正常,一個上下文對象例如上下文超對象27響應于來自HOQL引擎12的檢索(RETRIEVE)信號(如關于一個既定病人的醫學分析檢索信號)通過適配器34向本地數據庫36發送一個請求上下文數據(REQUEST CONTEXT DATA)信號。因此,通過適配器34從數據庫36中檢索到一個上下文數據(CONTEXT DATA)信號(如該