基于上下文的圖形數據庫和計算機系統的制作方法
【專利摘要】本公開涉及基于上下文的圖形數據庫和計算機系統。用于保存數據結構的基于上下文的圖形數據庫系統包括保存實體的標識符的實體節點。數據節點保存關于實體的非上下文實體數據。至少一個上下文節點被鏈接到數據節點。該至少一個上下文節點提供數據節點中的非上下文實體數據的上下文,以便創建上下文實體數據。從實體節點到數據節點的指針向實體節點返回數據節點標識符,以將上下文實體數據與實體相鏈接。
【專利說明】基于上下文的圖形數據庫和計算機系統
【技術領域】
[0001 ] 本公開涉及計算機領域,具體地,涉及計算機中的數據庫的使用。更具體地,本公開涉及基于上下文的圖形數據庫及其使用。
【背景技術】
[0002]數據庫是數據的集合。各種類型的數據庫包括關系數據庫、圖形數據庫、網絡數據庫和面向對象的數據庫。每種類型的數據庫非動態地呈現數據,其中數據被靜態保存而無上下文意義。
【發明內容】
[0003]在一個實施例中,一種用于保存數據結構的基于上下文的圖形數據庫系統包括保存實體的標識符的實體節點。數據節點保存關于所述實體的非上下文實體數據。至少一個上下文節點被鏈接到數據節點。所述至少一個上下文節點提供數據節點中的非上下文實體數據的上下文,從而創建上下文實體數據。從實體節點到數據節點的指針向實體節點返回數據節點標識符,以使上下文實體數據和所述實體相互關聯。
[0004]在一個實施例中,一種計算機程序產品和/或計算機系統創建基于上下文的圖形數據庫系統。所述計算機程序產品包括計算機可讀存儲介質。保存在計算機可讀存儲介質上的有:建立實體節點的第一程序指令,其中實體節點保存實體的標識符;建立數據節點的第二程序指令,其中數據節點保存關于所述實體的非上下文實體數據,其中非上下文實體數據是無意義的數據,其中無意義的數據不具有標識出所述無意義的數據描述什么的上下文;建立鏈接到數據節點的至少一個上下文節點的第三程序指令,其中所述至少一個上下文節點提供數據節點中的非上下文實體數據的上下文,以創建上下文實體數據,其中上下文實體數據是按照上下文地描述所述實體的有意義的數據;和建立從實體節點到數據節點的指針的第四程序指令,其中所述指針向實體節點返回數據節點標識符,以使上下文實體數據和所述實體相互關聯。
【專利附圖】
【附圖說明】
[0005]圖1描繪其中可實現本公開的示例性的系統和網絡;
[0006]圖2圖解說明新穎的基于上下文的圖形數據庫;
[0007]圖3描繪圖2中所示的基于上下文的圖形數據庫的示例性的醫學應用情況;
[0008]圖4描繪圖2中所示的基于上下文的圖形數據庫的示例性的汽車應用情況;
[0009]圖5描繪圖2中所示的基于上下文的圖形數據庫的示例性的信息技術(IT)應用情況;
[0010]圖6是由計算機處理器執行來創建圖2中所示的基于上下文的圖形數據庫的一個或多個步驟的高級流程圖;以及
[0011]圖7是由計算機處理器執行的、用于運用圖2中所示的基于上下文的圖形數據庫的一個或多個步驟的高級流程圖。
【具體實施方式】
[0012]所屬【技術領域】的技術人員知道,本發明的各個方面可以實現為系統、方法或計算機程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統稱為“電路”、“模塊”或“系統”。此外,在一些實施例中,本發明的各個方面還可以實現為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0013]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者以上的任意適當組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意適當組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0014]計算機可讀信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括一但不限于——電磁信號、光信號或上述的任意適當組合。計算機可讀信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0015]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意適當組合。
[0016]可以以一種或多種程序設計語言的任意組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++等,還包括常規的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0017]下面將參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。
[0018]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的指令的制造品(article of manufacture)0
[0019]計算機程序指令也可被加載到計算機、其它可編程數據處理裝置或其它設備上,使得在所述計算機、其它可編程裝置或其它設備上執行一系列的操作步驟,從而產生計算機實現的處理,以致在所述計算機或其它可編程裝置上執行的指令提供用于實現在流程圖和/或方框圖的一個或多個方框中指定的功能/動作的處理。
[0020]現在參考附圖,尤其是圖1,圖中描繪了本發明可以利用,以及在本發明的實現方式中可以利用的示例性的系統和網絡的方框圖。注意軟件部署服務器150可以利用在計算機102內以及針對計算機102所示的一些或所有的示例性體系結構,包括所描繪的硬件和軟件兩者。
[0021]示例性的計算機102包括耦接到系統總線106的處理器104。處理器104可以利用一個或多個處理器,每個處理器具有一個或多個處理器核。驅動/支持顯示器110的視頻適配器108也耦接到系統總線106。系統總線106經總線橋112,耦接到輸入/輸出(I/O)總線114。I/O接口 116耦接到I/O總線114。I/O接口 116提供與各種I/O裝置的通信,所述各種I/O裝置包括鍵盤118、鼠標120、介質托盤122 (它可包括諸如CD-ROM驅動器、多媒體接口之類的存儲裝置)、打印機124和(一個或多個)外部USB端口 126。盡管連接到I/O接口 116的端口的格式可以是計算機體系結構領域的技術人員已知的任意格式,不過在一個實施例中,一些或者所有的這些端口都是通用串行總線(USB)端口。
[0022]如上所述,計算機102能夠利用網絡接口 130,與軟件部署服務器150通信。網絡接口 130是諸如網絡接口卡(NIC)之類的硬件網絡接口。網絡128可以是諸如因特網之類的外部網絡,或者諸如以太網或虛擬專用網(VPN)之類的內部網絡。
[0023]硬盤驅動器接口 132也耦接到系統總線106。硬盤驅動器接口 132與硬盤驅動器134接口連接。在一個實施例中,硬盤驅動器134填充系統存儲器136,系統存儲器136也耦接到系統總線106。系統存儲器被定義成計算機102中的最低級別的易失性存儲器。該易失性存儲器包括另外的更高級別的易失性存儲器(未示出),包括但不限于高速緩沖存儲器、寄存器和緩沖器。填充系統存儲器136的數據包括計算機102的操作系統(OS) 138和應用程序144。
[0024]0S138包括外殼140,用于提供對諸如應用程序144之類的資源的透明用戶訪問。通常,外殼140是提供用戶和操作系統之間的解釋器和接口的程序。更具體地,外殼140執行輸入到命令行用戶接口中的或者來自文件的命令。從而,也稱為命令處理器的外殼140通常是操作系統軟件層次的最高層,并用作命令解釋器。外殼提供系統提示,解釋利用鍵盤、鼠標或其它用戶輸入媒介輸入的命令,并把解釋后的(一個或多個)命令發送給操作系統的適當較低級(例如,內核142),以供處理。注意,盡管外殼140是基于文本的面向行的用戶接口,但是本發明同樣良好地支持其它用戶接口模式,比如圖形、語音、姿勢等。
[0025]如所述那樣,0S138還包括內核142,內核142包括0S138的較低級功能,包括提供0S138的其它部分和應用程序144所需的基本服務,所述基本服務包括存儲管理、進程和任務管理、盤管理以及鼠標和鍵盤管理。
[0026]應用程序144包括示例性地被示出為瀏覽器146的呈現器。瀏覽器146包括如下這樣的模塊和指令,所述模塊和指令使萬維網(WWW)客戶端(即,計算機102)能夠利用超文本傳輸協議(HTTP)消息接發技術,相對于因特網發送和接收網絡消息,從而能夠實現與軟件部署服務器150和其它計算機系統的通信。
[0027]計算機102的系統存儲器(以及軟件部署服務器150的系統存儲器)中的應用程序144還包括基于上下文的圖形數據庫管理器(CB⑶BM) 148。CB⑶BM148包括用于實現下面說明的處理(包括在圖2-7中說明的那些處理)的代碼。在一個實施例中,計算機102能夠從軟件部署服務器150下載CBGDBM148,包括按需下載,其中直到需要執行時才下載CBGDBM148中的代碼。此外注意,在本發明的一個實施例中,軟件部署服務器150執行與本發明相關聯的所有功能(包括CBGDBM148的執行),從而使計算機102不必利用它自己的內部計算資源來執行CB⑶BM148。
[0028]注意,在計算機102中描繪的硬件元件并不意圖是窮盡的,而是用于突顯本發明所需的必要組件的代表。例如,計算機102可包括備選的存儲器件,比如磁帶、數字通用盤(DVD)、Bernoulli盒式磁盤等。這些和其它變體都在本發明的精神和范圍之內。
[0029]注意,CB⑶BM148能夠生成和/或利用在圖3_5中所描繪的基于上下文的圖形數據庫。
[0030]另外注意,這里使用的術語“數據”(data)和“數據”(datum)是可互換使用的,用于描述單數數據和復數數據。
[0031]現在參考圖2,圖中呈現了按照本發明的一個實施例的基于上下文的圖形數據庫200。實體節點202保存實體的標識符。這個標識符可以是名稱、唯一標識號、社會保險號、批號等。實體可以是人、機器、藥品、信息技術(IT)系統,等等。指針204指向數據節點206。數據節點206保存與實體節點202所標識的實體有關的非上下文(即,“無意義的”)實體數據。即,該非上下文實體數據是描述實體的某個特征、屬性、特性、能力、位置等的數據。然而,由于數據沒有上下文(即,它僅僅是數字、一組字符、單詞等),因而該數據實際上不描述關于該實體的任何事。為了使該“無意義的”實體數據成為“有意義的”實體數據,必須提供上下文。按照本發明,所述上下文由上下文節點和子上下文節點提供。在一個實施例中,上下文節點和子上下文節點提供的上下文描述適用于保存在數據節點206中的非上下文實體數據的情況或環境。
[0032]從而,在示例性的基于上下文的圖形數據庫200中,上下文節點通過弧線,比如弧線208a-208b,鏈接到數據節點和/或彼此鏈接。弧線被定義成在兩個節點之間交換保存在這兩個節點中的信息的鏈路。例如,弧線208a把保存在數據節點206內的實體數據傳送給上下文節點210。上下文節點210隨后利用保存在上下文節點210中的上下文信息,經弧線208b把上下文實體數據返回給數據節點206。如這里所述,該上下文實體數據隨后從數據節點206被轉發給其它節點。
[0033]在一個實施例中,來自上下文節點210的上下文實體數據從數據節點206被轉發給另一個上下文節點212。在一個實施例中,上下文節點210和上下文節點212提供彼此無關的上下文。即,上下文節點210提供與保存在數據節點206中的實體數據的一個特征/屬性/等相關的上下文,而上下文節點212提供與保存在數據節點206中的實體數據的不同特征/屬性/等相關的上下文。
[0034]在圖2中所示的例子中,上下文節點向上下文實體數據添加額外的上下文,從而創建增強的上下文實體數據,所述增強的上下文實體數據被轉發給子上下文節點214。在該實施例中,上下文節點212和子上下文節點214中的上下文相關。即,子上下文節點214中的上下文提供與保存在上下文節點212中的上下文相關的額外信息。子上下文節點214添加保存在子上下文節點214中的子上下文,從而創建進一步增強的上下文實體數據,該進一步增強的上下文實體數據被返回給上下文節點212。上下文節點212隨后把該進一步增強的上下文實體數據返回給數據節點206,該進一步增強的上下文實體數據被保存/緩存在所述數據節點206。
[0035]數據節點206把數據節點標識符216返回給實體節點202,優選地在所有上下文都被添加到針對實體節點202所標識的實體最初保存在數據節點206中的數據之后。實體節點202隨后把該數據節點標識符216傳送給查詢節點218。查詢節點包含利用輸入數據和已知值作為輸入參數來執行(或者優選地,在諸如下面描述的評估節點220和/或計算節點224之類的一個或多個其他節點中調用)算法的邏輯。為了獲得輸入值,查詢節點218利用數據節點標識符216,從數據節點206取回上下文實體數據228 (即,上述的“進一步增強的上下文實體數據”)。這個上下文實體數據228既包括無意義的數據(最初保存在數據節點206中),又包括該無意義的數據的上下文(由上下文/子上下文節點210、212、214提供)。
[0036]在一個實施例中,查詢節點218被編程為把上下文實體數據228傳送給評估節點220,評估節點220檢查上下文實體數據228,以便提供對于評估節點220內的某個預編程的評估算法的回答222。如果評估需要特定計算,那么上下文實體數據228被發送給計算節點224。在一個實施例中,假定計算節點224提供的計算是概率比較,其中比較上下文實體數據228和已由評估節點220預先確定的某個上下文基線數據。在此實施例中,可由計算節點224針對上下文數據(比如上下文實體數據228的上下文所描述的上下文數據)計算概率分布曲線。計算節點224隨后比較上下文實體數據228和上下文基線數據(兩者都在上下文實體數據和上下文基線數據226中),以便確定上下文實體數據228正常(例如,是所述實體的某個描述符的標稱值)或者異常(例如,指示所述實體中的疾病、故障等)的概率。這個概率作為回答222被返回,所述回答222最終被返回給實體節點202。
[0037]注意在一個實施例中,不從查詢節點218向評估節點220傳送上下文實體數據228。相反,在該實施例中,從查詢節點218向評估節點220發送數據節點標識符216。該數據節點標識符216使評估節點220能夠從數據節點206取回實體數據,以及由上下文/子上下文節點210、212和214提供的上下文。即,評估節點220能夠從數據節點206取回無意義的實體數據,然后把(來自上下文節點210、上下文節點212和/或子上下文節點214的)上下文應用于實體數據,以便創建在分別由評估節點220和/或計算節點224提供的評估/計算中使用的有意義的實體數據。
[0038]注意,除了圖2中所示的那些上下文/子上下文節點以外,在基于上下文的圖形數據庫200中還可能存在其它的上下文/子上下文節點。不過,這些上下文/子上下文節點不被考慮,因為不存在從實體節點202指向這些上下文/子上下文節點的指針。不過,所述系統是動態的。即,可以添加/移除上下文/子上下文節點,從而,改變實體數據的上下文和意義,以及查詢節點218進行的查詢。例如,如果原始的上下文針對第一上下文,那么把第一上下文改變成第二上下文使查詢節點218可以進行實質不同的查詢,因為實體的意義已被實質改變。從而,與原始實體數據一樣,上下文決定了查詢節點218將進行什么類型的查詢。在一個實施例中,將上下文/子上下文的這些組合預先確定為“綜合上下文”。綜合上下文因此被定義成提供值的上下文意義的一組上下文/子上下文,所述值可以是整數、符號、單詞等,并且在無上下文的情況下沒有意義。
[0039]現在參考圖3,圖中以基于上下文的圖形數據庫300的形式,呈現了圖2中所描繪的基于上下文的圖形數據庫的示例性的醫學應用情況。實體節點302保存“患者A”的標識符,以及指向數據節點306的指針304,數據節點306保存無意義的數字“38”。然而,鏈接到數據節點306的有上下文節點310 (它提供所述數字是攝氏溫標的溫度值的上下文),以及上下文節點312 (它提供所述溫度量取自人體的上下文)。鏈接到上下文節點312的有子上下文節點314,子上下文節點314標識出所述溫度是從口腔量取的。鏈接到子上下文節點314的子上下文節點315提供所述口腔溫度量取自成年人(即,“患者A”是成年人)的額外上下文。來自上下文/子上下文節點的上下文數據隨后被應用于最初保存在數據節點306中的無意義的實體數據(“38”),以便創建有意義的上下文實體數據(“38、C°、人類、口腔、成年人”)。
[0040]如圖2中一樣,在有意義的上下文實體數據(38、C°、人類、口腔、成年人)被創建之后,數據節點306把數據節點標識符316發送給實體節點302。數據節點標識符316隨后被發送給查詢節點318,查詢節點318用于確定就成年人而論,38°C的口腔溫度為正常的概率是多少。保存在評估節點320內的是值“37”,將對照該值評估實體數據“38”。注意盡管就成年人而論,37°C通常被認為“正常”,不過取決于環境溫度(即,量取患者的溫度的“房間溫度”)、患者的運動強度(即,在劇烈運動的情況下,患者的溫度臨時升高是正常的),等等,38°C的口腔溫度實際上也可能是正常的。從而,查詢節點318將把有意義的數據(38、C0、人類、口腔、成年人)或者數據節點標識符316發送給評估節點320。注意,如果數據節點標識符316被發送,那么評估節點320將從上下文節點310和312以及子上下文節點314和315獲得上下文。
[0041]評估節點320隨后把有意義的基于上下文的實體數據(38、C0、人類、口腔、成年人),以及上下文基線數據(37、C。、人類、口腔、成年人)發送給計算節點324,計算節點324確定“38、C°、人類、口腔、成年人”為異常(即,指示出患者A的疾病、感染或者其它醫學狀況)的概率。該概率(例如,15%)隨后通過評估節點320和查詢節點318,被返回給實體節點302。
[0042]現在參考圖4,圖中以基于上下文的圖形數據庫400的形式,呈現了圖2中所描繪的基于上下文的圖形數據庫的示例性的汽車應用情況。實體節點402保存“機器A”的標識符,以及指向數據節點406的指針404,數據節點406保存無意義的數字“280”。然而,鏈接到數據節點406的有上下文節點410 (它提供所述數字是華氏溫標的溫度值的上下文),以及上下文節點412 (它提供所述溫度量取自汽車的上下文)。鏈接到上下文節點412的有子上下文節點414,子上下文節點414標識出所述溫度是在汽車的引擎排氣管量取的。上下文/子上下文數據隨后被應用于最初保存在數據節點406中的無意義的實體數據(“280”),以便創建有意義的上下文實體數據(“280、F°、汽車、引擎排氣管”)。
[0043]如圖2中一樣,在有意義的上下文實體數據(“280、F0、汽車、引擎排氣管”)被創建之后,數據節點406把數據節點標識符416發送給實體節點402。該數據節點標識符416隨后被發送給查詢節點418,查詢節點418用于確定就汽車而論,280° F的引擎排氣管溫度為正常的概率是多少。保存在評估節點420內的是值“250” (即,汽車引擎的最高“正常”排氣管溫度),將對照該值評估實體數據“280”。注意盡管通常認為250° F是排氣管的最高“正常”溫度,不過取決于環境溫度(即,沙漠中的氣溫)、引擎的運轉水平(即,與普通車相比,賽車的引擎在比賽期間運轉得更熱是正常的),等等,280° F的排氣管溫度實際上也可能是正常的。從而,查詢節點418將把有意義的數據(“280、F°、汽車、引擎排氣管)”或者數據節點標識符416發送給評估節點420。注意,如果數據節點標識符416被發送,那么評估節點420可從上下文節點410和412以及子上下文節點414獲得上下文。
[0044]評估節點420隨后把有意義的基于上下文的實體數據(“280、F0,汽車、引擎排氣管”)以及上下文基線數據(“250、F。、汽車、引擎排氣管”)發送給計算節點424,計算節點424確定“280、F。、汽車、引擎排氣管”為異常(即,指示出汽車引擎的冷卻系統中的故障,引擎中的有缺陷的軸承,等等)的概率。該概率(例如,95%)隨后通過評估節點420和查詢節點418,被返回給實體節點402。
[0045]現在參考圖5,圖中以基于上下文的圖形數據庫500的形式,呈現了圖2中所描繪的基于上下文的圖形數據庫的示例性的信息技術(IT)系統應用情況。實體節點502保存“IT系統A”的標識符,以及指向數據節點506的指針504,數據節點506保存無意義的數字“50”。然而,鏈接到數據節點506的有上下文節點510 (它提供所述數字是在星期一產生的上下文),以及上下文節點512 (它提供所述數字由CPU X輸出的上下文)。鏈接到上下文節點512的有子上下文節點514,子上下文節點514標識出來自CPU X的輸出“50”是軟件程序Z的運行結果。上下文/子上下文數據隨后被應用于最初保存在數據節點506中的無意義的實體數據(“50”),以便創建有意義的上下文實體數據(“50、星期一、CPU X、程序Z”)。
[0046]如圖2中一樣,在有意義的上下文實體數據(“50、星期一、CPUX、程序Z”)被創建之后,數據節點506把數據節點標識符516發送給實體節點502。該數據節點標識符516隨后被發送給查詢節點518,查詢節點518用于確定在星期一、在CPU X上運行程序Z的輸出“50”為正常(例如,程序Z中沒有漏洞,CPU X在無任何缺陷組件的情況下運行)的概率是多少。保存在評估節點520中的是值“40”( S卩,當在星期一、在CPU X上運行時,程序Z輸出的“典型”值),將對照該值評估實體數據“50”。注意盡管40通常被認為是當在星期一、在CPU X上運行時,由程序Z產生的正常(即,“預期”)值,但是取決于與程序Z交互(例如,調用)的其它程序,生成值“50”的星期一是否是假日,等等,“50”的輸出值實際上也可能是正常的。從而,查詢節點518將把有意義的數據(“50、星期一、CPU X、程序Z”)或者數據節點標識符516發送給評估節點520。注意,如果數據節點標識符516被發送,那么評估節點520可從上下文節點510和512以及子上下文節點514獲得上下文。
[0047]評估節點520隨后把有意義的基于上下文的實體數據(“50、星期一、CPU X、程序Z”)以及上下文基線數據(“40、星期一、CPU X、程序Z”)發送給計算節點524,計算節點524確定“50、星期一、CPU X、程序Z”為異常(即,指示出程序Z中的漏洞,CPU X中的有缺陷的硬件,等等)的概率。該概率(例如,95%)隨后通過評估節點520和查詢節點518,被返回給實體節點502。
[0048]現在參考圖6,圖中呈現了由計算機處理器執行來創建圖2中所描繪的基于上下文的圖形數據庫的一個或多個示例性步驟的高級流程圖。在開始方框602之后,建立實體節點(方框604)。如上所述,實體節點保存實體的標識符,所述實體可以是人(例如,醫療患者)、物(例如,汽車)、系統(例如,IT系統)、處理(例如,軟件執行)、地點(例如,城市)等。例如,城市可被鏈接到具有值“50”的數據節點。在上下文節點沒有告訴數據節點該值是在I月中旬的華氏溫度的情況下,沒有任何辦法判定該值是否正常、異常、有效、無效等。
[0049]參考方框606,建立數據節點。如上所述,該數據節點保存關于實體的非上下文實體數據(即,“無意義的數據”),所述非上下文實體數據沒有上下文來標識出無意義的數據描述的是什么。如在方框608中所述,建立至少一個上下文節點,并將其鏈接到數據節點。所述至少一個上下文節點向數據節點中的非上下文實體數據提供上下文,以創建上下文實體數據,所述上下文實體數據具有標識出實體數據描述什么的上下文。例如,實體數據可以是“38”,(一個或多個)上下文節點提供。C、人類、口腔、成年人的上下文,以便生成具有38°C的口腔溫度的成年人的有意義的上下文數據。如在方框610中所述,上下文節點中的一個或多個可具有子上下文節點,子上下文節點向由該子上下文節點鏈接到的上下文節點所提供的上下文提供額外的顆粒度(granularity) /清晰度。
[0050]參考方框612,建立從實體節點到數據節點的指針。該指針向實體節點返回數據節點標識符,從而使上下文實體數據鏈接(即,關聯)到所述實體。
[0051]如在方框614中所述,建立查詢節點,并將其鏈接到實體節點。注意在一個實施例中,查詢節點從實體節點接收數據節點標識符,從而使查詢節點能夠定位上下文實體數據。該上下文實體數據可被保存在數據節點中(在如上所述,數據節點從上下文/子上下文節點收到上下文實體數據之后),或者上下文實體數據可由查詢節點通過把來自上下文/子上下文節點的上下文數據應用于最初保存在數據節點中的實體數據而動態生成。從而在一個實施例中,查詢節點從實體節點接收數據節點標識符,以便I)構成上下文實體數據,或者2)接收已由數據節點預先構成,并保存在數據節點中的上下文實體數據。
[0052]如在方框616中所述,建立評估節點,并將其鏈接到查詢節點。在一個實施例中,評估節點保存基線數據,評估節點被鏈接到在方框608和610中建立的(一個或多個)上下文節點,從而創建上下文基線數據。如在方框618中所述,建立評估節點,并將其鏈接到查詢節點。評估節點保存基線數據,并被鏈接到(一個或多個)上下文節點和/或(一個或多個)子上下文節點中的至少一個,從而創建上下文基線數據。
[0053]如在方框618中所述,建立計算節點,并將其鏈接到評估節點。計算節點比較上下文實體數據和上下文基線數據,以便確定上下文實體數據是正常或異常的概率。如果上下文實體數據異常,這指示實體中的故障/問題/錯誤。如上所述,在一個實施例中,計算節點利用歷史數據的概率分布,確定上下文實體數據是正常或異常的概率。
[0054]在一個實施例中,實體是內科患者。在該實施例中,上下文實體數據描述該內科患者的醫學狀況(例如,白血病)。在該實施例中,上下文實體數據(例如,實驗室結果)來自醫療診斷設備,比如自動化的全血細胞計數(CBC)機器。
[0055]在一個實施例中,實體是機器,比如汽車、工業機械(例如,泵、反應器等),等等。在該實施例中,上下文實體數據由機器上的傳感器,比如溫度計、氣體檢測器、振動傳感器、輻射檢測器等生成。[0056]在一個實施例中,實體是信息技術(IT)系統,其中,上下文實體數據描述來自IT系統的組件(例如,來自一塊硬件或者一個軟件單元)的輸出。在該實施例中,數據節點直接從IT系統的組件接收所述上下文實體數據。
[0057]現在參考圖7,圖中呈現了由計算機處理器執行的、用于運用圖2中所描繪的基于上下文的圖形數據庫的一個或多個步驟的高級流程圖。在開始方框702之后,在圖形數據庫中,從數據節點向查詢節點傳輸非上下文實體數據(方框704)。如上所述,該非上下文實體數據(即,因為缺少描述所述實體數據意味什么的上下文而“無意義的”數據)可經過實體節點從數據節點被發送給查詢節點,或者如果查詢節點已被提供以指向數據節點的指針,該非上下文實體數據可直接從數據節點被發送給查詢節點。
[0058]如在方框706中所述,查詢節點隨后從鏈接到圖形數據庫中的數據節點的至少一個上下文節點(和/或子上下文節點)檢索非上下文實體數據的上下文。這使查詢節點能夠通過把來自(一個或多個)上下文/子上下文節點的上下文應用于原始的非上下文實體數據,創建/構建有意義的上下文實體數據(方框708)。
[0059]如在方框710中所述,該上下文實體數據隨后被傳輸給查詢節點和/或評估節點,如上所述。查詢節點和/或評估節點隨后能夠生成上下文數據評估(方框712)。所述評估根據過去的歷史記錄/評估并且在所提供的上下文內,確定上下文實體數據是正常還是異常等等。上下文數據評估然后從(一個或多個)查詢/評估節點被傳輸給實體節點(方框714)。該處理在終止方框716結束。
[0060]如上所述,對當前的上下文實體數據的評估是通過比較當前的上下文實體數據和過去的歷史記錄/評估進行的。不過在其它實施例中,這種比較是通過比較當前的上下文實體數據和從仿真程序、優化程序等接收的上下文數據執行的。例如,仿真程序可以仿真被評估的那種類型實體的功能/活動。這種仿真程序從而提供為執行上面描述的評估而需要的數據點。
[0061]附圖中的流程圖和方框圖圖解說明根據本公開的各種實施例的系統、方法和計算機程序產品的各種可能實現方式的體系結構、功能和操作。為此,流程圖或方框圖中的每個方框可代表模塊、片段或代碼部分,代碼包含實現(一個或多個)指定邏輯功能的一個或多個可執行指令。還應注意,在一些替換實現方式中,在方框中表示的功能可不按照附圖中所示的順序發生。例如,取決于所涉及的功能,接連示出的兩個方框事實上可以基本同時地執行,或者各個塊有時可按照相反的順序執行。還要注意,方框圖和/或流程圖中的每個方框,以及方框圖和/或流程圖中的各個方框的組合可由執行指定功能或動作的基于專用硬件的系統,或者專用硬件和計算機指令的組合來實現。
[0062]這里使用的術語只是用于描述具體的實施例,并不意圖限制本發明。這里使用的單數形式“一”、“一個”和“該”意圖還包括復數形式,除非上下文明確地另有所示。另外還要明白,當用在本說明書中時,術語“包括”指定所陳述的特征、整數、步驟、操作、元件和/或組件的存在,不過并不排除一個或多個其它特征、整數、步驟、操作、元件、組件和/或它們的群組的存在或增加。
[0063]以下權利要求中的所有裝置或步驟加功能要素的對應結構、材料、動作和等同物意圖包括與明確主張的其它要求保護的要素結合地執行功能的任何結構、材料或動作。本發明的各個實施例的描述是出于舉例說明的目的給出的,而不是窮盡的,也不意圖把本發明局限于公開的形式。對本領域的普通技術人員來說,許多修改和變化是顯而易見的,而不脫離本發明的范圍和精神。選擇和描述實施例是為了更好地解釋本發明的原理和實際應用,和使本領域的其他普通技術人員能夠理解本發明的各個實施例具有適合于預期的特定應用的各種修改。
[0064]此外注意,在本公開中描述的任意方法可通過利用VHDL (VHSIC硬件描述語言)程序和VHDL芯片來實現。VHDL是用于現場可編程門陣列(FPGA)、專用集成電路(ASIC)和其它類似的電子器件的示例性設計入口語言。從而,這里描述的任何軟件實現的方法可以利用基于硬件的VHDL程序仿真,所述基于硬件的VHDL程序隨后被應用于VHDL芯片,比如FPGA。
[0065]在參考本發明的示例性實施例,這樣詳細描述了本申請的發明的實施例的情況下,顯然各種修改和變化都是可能的,而不脫離在所附權利要求中限定的本發明的范圍。
【權利要求】
1.一種用于保存數據結構的基于上下文的圖形數據庫系統,所述數據庫系統包括: 實體節點,其中所述實體節點保存實體的標識符; 數據節點,其中所述數據節點保存關于所述實體的非上下文實體數據,其中所述非上下文實體數據是無意義的數據,并且其中所述無意義的數據不具有標識出該無意義的數據描述什么的上下文; 鏈接到所述數據節點的至少一個上下文節點,其中所述至少一個上下文節點提供所述數據節點中的非上下文實體數據的上下文,以創建上下文實體數據,并且其中所述上下文實體數據是按照上下文地描述所述實體的有意義的數據;和 從所述實體節點到所述數據節點的指針,其中所述指針向所述實體節點返回數據節點標識符,以使所述上下文實體數據和所述實體相互關聯。
2.按照權利要求1所述的基于上下文的圖形數據庫系統,還包括: 鏈接到所述實體節點的查詢節點,其中所述查詢節點從所述實體節點接收所述數據節點標識符,以定位所述上下文實體數據; 鏈接到所述查詢節點的評估節點,其中所述評估節點保存基線數據,并且其中所述評估節點被鏈接到所述至少一個上下文節點,以創建上下文基線數據;和 鏈接到所述評估節點的計算節點,其中所述計算節點比較所述上下文實體數據和所述上下文基線數據,以確定所述上下文實體數據異常的概率,其中上下文實體數據異常指示實體中的故障。
3.按照權利要求2所述的基于上下文的圖形數據庫系統,其中所述計算節點利用歷史數據的概率分布來確定所述上下文實體數據異常的概率。
4.按照權利要求2所述的基于上下文的圖形數據庫系統,其中所述計算節點針對所述實體的實體類型,利用仿真數據的概率分布來確定所述上下文實體數據異常的概率。
5.按照權利要求1所述的基于上下文的圖形數據庫系統,還包括: 鏈接到所述至少一個上下文節點的子上下文節點,其中所述子上下文節點提供所述上下文實體數據的額外上下文。
6.按照權利要求1所述的基于上下文的圖形數據庫系統,其中所述實體是醫療患者,其中所述上下文實體數據描述該內科患者的醫學狀況,并且其中所述上下文實體數據是在所述數據節點處從醫療監測設備接收的。
7.按照權利要求1所述的基于上下文的圖形數據庫系統,其中所述實體是機器,其中所述上下文實體數據描述來自所述機器的傳感器輸出,并且其中所述上下文實體數據是在所述數據節點處從所述機器上的傳感器接收的。
8.按照權利要求1所述的基于上下文的圖形數據庫系統,其中所述實體是信息技術(IT)系統,其中所述上下文實體數據描述來自IT系統的組件的輸出,并且其中所述上下文實體數據是在所述數據節點處直接從IT系統的所述組件接收的。
9.一種計算機系統,包括: 中央處理器(CPU)、計算機可讀存儲器和計算機可讀存儲介質; 建立實體節點的第一程序指令,其中所述實體節點保存實體的標識符; 建立數據節點的第二程序指令,其中所述數據節點保存關于所述實體的非上下文實體數據,其中所述非上下文實體數據是無意義的數據,并且其中所述無意義的數據不具有標識出該無意義的數據描述什么的上下文; 建立鏈接到所述數據節點的至少一個上下文節點的第三程序指令,其中所述至少一個上下文節點提供所述數據節點中的非上下文實體數據的上下文,以創建上下文實體數據,并且其中所述上下文實體數據是按照上下文地描述所述實體的有意義的數據;和 建立從所述實體節點到所述數據節點的指針的第四程序指令,其中所述指針向所述實體節點返回數據節點標識符,以使所述上下文實體數據和所述實體相互關聯;并且其中第一、第二、第三和第四程序指令保存在所述計算機可讀存儲介質上,以供由CPU借助所述計算機可讀存儲器執行。
10.按照權利要求9所述的計算機系統,還包括: 建立鏈接到所述實體節點 的查詢節點的第五程序指令,其中所述查詢節點從所述實體節點接收所述數據節點標識符,以定位所述上下文實體數據;建立鏈接到所述查詢節點的評估節點的第六程序指令,其中所述評估節點保存基線數據,并且其中所述評估節點被鏈接到所述至少一個上下文節點,以創建上下文基線數據;和建立鏈接到所述評估節點的計算節點的第七程序指令,其中所述計算節點比較所述上下文實體數據和所述上下文基線數據,以確定所述上下文實體數據異常的概率,其中上下文實體數據異常指示實體中的故障;并且其中 第五、第六和第七程序指令保存在所述計算機可讀存儲介質上,以供由CPU借助所述計算機可讀存儲器執行。
11.按照權利要求10所述的計算機系統,其中所述計算節點利用歷史數據的概率分布來確定所述上下文實體數據異常的概率。
12.按照權利要求10所述的計算機系統,其中所述計算節點針對所述實體的實體類型,利用仿真數據的概率分布來確定所述上下文實體數據異常的概率。
13.按照權利要求9所述的計算機系統,還包括: 建立鏈接到所述至少一個上下文節點的子上下文節點的第五程序指令,其中所述子上下文節點提供所述上下文實體數據的額外上下文;并且其中 第五程序指令保存在所述計算機可讀存儲介質上,以供由CPU借助所述計算機可讀存儲器執行。
14.按照權利要求9所述的計算機系統,其中所述實體是信息技術(IT)系統,其中所述上下文實體數據描述來自IT系統的組件的輸出,并且其中所述上下文實體數據是在所述數據節點處直接從IT系統的所述組件接收的。
【文檔編號】G06F17/30GK103577529SQ201310342597
【公開日】2014年2月12日 申請日期:2013年8月8日 優先權日:2012年8月8日
【發明者】S·S·亞當斯, R·R·弗萊德朗得, 約翰·K·杰爾肯三世, J·R·可里默 申請人:國際商業機器公司