使用模板棧對(duì)來(lái)自各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行集成的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了使用模板棧對(duì)來(lái)自各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行集成。提供了從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)的模板棧。所述模板棧將接收到的數(shù)據(jù)映射到公共數(shù)據(jù)框架,并且從客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求。模板請(qǐng)求優(yōu)選地包括至少一個(gè)轉(zhuǎn)換功能。響應(yīng)于接收所述模板請(qǐng)求,所述模板棧對(duì)數(shù)據(jù)執(zhí)行至少一個(gè)轉(zhuǎn)換功能以便產(chǎn)生轉(zhuǎn)換數(shù)據(jù)并且向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述轉(zhuǎn)換數(shù)據(jù)。
【專(zhuān)利說(shuō)明】使用模板棧對(duì)來(lái)自各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行集成
[0001] 相關(guān)申請(qǐng)的交叉引用 本申請(qǐng)要求于2013年5月31日遞交的美國(guó)臨時(shí)申請(qǐng)61/829, 587的權(quán)益,以引用方式 將上述臨時(shí)申請(qǐng)的完整內(nèi)容并入本文。
【技術(shù)領(lǐng)域】
[0002] 本公開(kāi)內(nèi)容涉及通信網(wǎng)絡(luò),并且更具體地說(shuō),本公開(kāi)內(nèi)容涉及將各種類(lèi)型的數(shù)據(jù) 集成到公共框架中。
【背景技術(shù)】
[0003] 對(duì)通信網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)之中的分布式應(yīng)用的操作問(wèn)題的診斷在最好的情況下 也證明是困難的。例如,對(duì)操作問(wèn)題進(jìn)行診斷可以包括:訪問(wèn)每個(gè)節(jié)點(diǎn)的各種各樣的性能數(shù) 據(jù)、狀態(tài)數(shù)據(jù)、以及應(yīng)用特定的度量。另外,來(lái)自例如數(shù)據(jù)源的每個(gè)單獨(dú)節(jié)點(diǎn)的數(shù)據(jù)通常只 提供潛在的操作問(wèn)題的局部視圖。盡管努力至今,但由于來(lái)自各個(gè)節(jié)點(diǎn)的本地?cái)?shù)據(jù)固有的 多樣性,試圖提供網(wǎng)絡(luò)問(wèn)題的系統(tǒng)范圍的診斷的常規(guī)技術(shù)被證明是不充分的。
【發(fā)明內(nèi)容】
[0004] 下面描述的所示實(shí)施例的目的和優(yōu)點(diǎn)將在下面的描述中闡述并從下面的描述中 清楚。所示實(shí)施例的另外的優(yōu)點(diǎn)將由在書(shū)面描述和其權(quán)利要求書(shū)中特別指出的以及根據(jù)附 圖的設(shè)備、系統(tǒng)和方法實(shí)現(xiàn)和達(dá)到。
[0005] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,模板棧將來(lái)自各種數(shù)據(jù)源或節(jié)點(diǎn)的數(shù)據(jù)映射到公共框 架。模板棧具體包括模板、轉(zhuǎn)換和驅(qū)動(dòng)器。
[0006] 在操作上,例如模板棧節(jié)點(diǎn)的節(jié)點(diǎn)從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)(例如,數(shù)據(jù)源)接收 數(shù)據(jù),并且將來(lái)自每個(gè)節(jié)點(diǎn)的數(shù)據(jù)(例如,經(jīng)由驅(qū)動(dòng)器)映射到公共數(shù)據(jù)框架。模板棧節(jié)點(diǎn)從 客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求(例如,可執(zhí)行文件),并且響應(yīng)于所述模板請(qǐng)求,對(duì)所述多個(gè)節(jié)點(diǎn) 的數(shù)據(jù)執(zhí)行所述模板請(qǐng)求指定的至少一個(gè)轉(zhuǎn)換功能以產(chǎn)生經(jīng)轉(zhuǎn)換的數(shù)據(jù)。所述模板棧向所 述客戶(hù)端節(jié)點(diǎn)返回或發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)。在一些實(shí)施例中,轉(zhuǎn)換功能包括但不限于諸 如合并、聯(lián)合、添加配置接口、以及派生列的功能。優(yōu)選地,當(dāng)所述模板棧節(jié)點(diǎn)執(zhí)行由所述模 板請(qǐng)求指定的功能時(shí),所述模板棧還捕捉并處理異常和錯(cuò)誤。
[0007] 在某些其它實(shí)施例中,模板請(qǐng)求是可堆疊的,并且可以調(diào)用(例如,額外的模板請(qǐng) 求的)其它或額外轉(zhuǎn)換功能。在這樣的實(shí)施例中,模板棧節(jié)點(diǎn)也執(zhí)行所述額外轉(zhuǎn)換功能。
[0008] 根據(jù)下面結(jié)合附圖進(jìn)行的對(duì)優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明主題的系統(tǒng)和方法的 這些以及其它特征對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將變得更加容易清楚。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0009] 為了使與本發(fā)明主題所屬領(lǐng)域的技術(shù)人員將容易地理解如何在無(wú)需過(guò)度實(shí)驗(yàn)的 情況下制作和使用本發(fā)明主題的設(shè)備和方法,下面將參考某些附圖在本文中對(duì)本發(fā)明主題 的優(yōu)選實(shí)施例進(jìn)行詳細(xì)描述,在附圖中: 圖1是示例通信網(wǎng)絡(luò)的示意性框圖; 圖2是示例網(wǎng)絡(luò)設(shè)備的示意性框圖; 圖3是模板棧架構(gòu)的示意圖; 圖4A和4B是兩個(gè)示例性模板;并且 圖5示出了用于將來(lái)自各個(gè)節(jié)點(diǎn)的數(shù)據(jù)集成到公共框架中的示例簡(jiǎn)化的過(guò)程。
[0010] 一個(gè)以上的圖的公共組件或特征在每一個(gè)圖中用相同的附圖標(biāo)記來(lái)指示。
【具體實(shí)施方式】
[0011] 概沭 根據(jù)本公開(kāi)內(nèi)容的一個(gè)或多個(gè)實(shí)施例,模板棧節(jié)點(diǎn)從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù) 據(jù)。模板棧節(jié)點(diǎn)(或額外的節(jié)點(diǎn))將接收的數(shù)據(jù)映射到公共數(shù)據(jù)框架,并且從客戶(hù)端節(jié)點(diǎn)接 收模板請(qǐng)求(例如,可執(zhí)行文件、對(duì)所存儲(chǔ)的模板的引用等)。模板請(qǐng)求優(yōu)選地包括至少一個(gè) 轉(zhuǎn)換功能。響應(yīng)于接收模板請(qǐng)求,節(jié)點(diǎn)(或額外的節(jié)點(diǎn))對(duì)多個(gè)節(jié)點(diǎn)的數(shù)據(jù)執(zhí)行至少一個(gè)轉(zhuǎn) 換功能以便產(chǎn)生轉(zhuǎn)換數(shù)據(jù)。模板??梢杂糜诨诮?jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)確定分布式應(yīng)用的一個(gè)或 多個(gè)操作問(wèn)題。在一些實(shí)施例中,模板棧結(jié)合告警引擎可以基于經(jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)識(shí)別操作 問(wèn)題、生成告警、并且向客戶(hù)端節(jié)點(diǎn)發(fā)送經(jīng)轉(zhuǎn)換的數(shù)據(jù)以及告警。
[0012] 說(shuō)明 通信網(wǎng)絡(luò)是通過(guò)用于在端節(jié)點(diǎn)之間傳輸數(shù)據(jù)的通信鏈路和分段互連的節(jié)點(diǎn)的地理上 分布的集合,所述端節(jié)點(diǎn)諸如個(gè)人計(jì)算機(jī)和工作站,或者諸如傳感器的其它設(shè)備等等。有許 多類(lèi)型的網(wǎng)絡(luò)可用,其類(lèi)型范圍從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN)。LAN通常通過(guò)位于諸如樓 宇或校園的相同一般物理位置的專(zhuān)用私有通信鏈路來(lái)連接節(jié)點(diǎn)。另一方面,WAN通常通過(guò) 諸如公共載波電話線、光學(xué)光路、同步光網(wǎng)絡(luò)(SONET)、同步數(shù)字系列(SDH)鏈路、或者諸如 IEEE 61334、CPL G3、瓦特脈沖通信(WPC)的電力線通信(PLC)以及其它的長(zhǎng)距離通信鏈路 來(lái)連接地理上分散的節(jié)點(diǎn)。
[0013] 圖1是示例通信網(wǎng)絡(luò)100的示意性框圖,其說(shuō)明性地包括通過(guò)各種通信方法互連 的節(jié)點(diǎn)/設(shè)備201-208(例如,諸如客戶(hù)端設(shè)備、服務(wù)器、路由器、交換機(jī)等的網(wǎng)絡(luò)設(shè)備)。例 如,鏈路105可以是有線鏈路,或者可以包括無(wú)線通信介質(zhì),其中,某些節(jié)點(diǎn)與其它節(jié)點(diǎn)例 如基于距離、信號(hào)強(qiáng)度、當(dāng)前操作狀態(tài)、位置等來(lái)進(jìn)行通信。本領(lǐng)域技術(shù)人員將理解,在計(jì) 算機(jī)網(wǎng)絡(luò)中可以使用任意數(shù)量的節(jié)點(diǎn)、設(shè)備、鏈路等,并且本文中示出的視圖是為了簡(jiǎn)單起 見(jiàn)。另外,雖然實(shí)施例在本文中是參考一般性的網(wǎng)絡(luò)云示出的,但本文的描述不局限于此, 并且可以應(yīng)用于硬連線的網(wǎng)絡(luò)。
[0014] 圖2是例如作為網(wǎng)絡(luò)100中示出的節(jié)點(diǎn)之一的可以與本文中描述的一個(gè)或多個(gè)實(shí) 施例一起使用的示例網(wǎng)絡(luò)設(shè)備200 (例如,網(wǎng)絡(luò)設(shè)備201-208中的一個(gè))的示意性框圖。設(shè) 備200可包括:一個(gè)或多個(gè)網(wǎng)絡(luò)接口 210、至少一個(gè)處理器220、以及通過(guò)系統(tǒng)總線250互連 的存儲(chǔ)器240。
[0015] 網(wǎng)絡(luò)接口 210包含用于通過(guò)耦合到網(wǎng)絡(luò)100的物理和/或無(wú)線鏈路來(lái)傳送數(shù)據(jù)的 機(jī)械、電和信令電路。網(wǎng)絡(luò)接口可以被配置為使用各種不同的通信協(xié)議來(lái)發(fā)送和/或接收 數(shù)據(jù),這些通信協(xié)議除了其它以外包括TCP/IP、UDP、無(wú)線協(xié)議(例如,IEEE標(biāo)準(zhǔn)802. 15. 4、 WiFi、藍(lán)牙?)、以太網(wǎng)等。
[0016] 存儲(chǔ)器240包括:用于存儲(chǔ)與本文中所描述的實(shí)施例相關(guān)聯(lián)的軟件程序和數(shù)據(jù)結(jié) 構(gòu)的、可由處理器220和網(wǎng)絡(luò)接口 210尋址的多個(gè)存儲(chǔ)位置。如上所述,某些設(shè)備可以具有 有限的存儲(chǔ)器或沒(méi)有存儲(chǔ)器(例如,沒(méi)有用于存儲(chǔ)的而不是用于在設(shè)備上操作的程序/進(jìn) 程的存儲(chǔ)器)。處理器220可以包括:適用于執(zhí)行軟件程序和操縱數(shù)據(jù)結(jié)構(gòu)245 (諸如路由 或加前綴(特別是僅在有能力的設(shè)備上))的必要的元件或邏輯。操作系統(tǒng)242尤其還通過(guò) 調(diào)用操作來(lái)支持在設(shè)備上執(zhí)行的軟件進(jìn)程和/或服務(wù)來(lái)在功能上組織該設(shè)備,該操作系統(tǒng) 的部分通常駐留在存儲(chǔ)器240中并且由處理器執(zhí)行。這些軟件進(jìn)程和/或服務(wù)可以包括模 板棧進(jìn)程/服務(wù)244。對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)將清楚的是:包括各種計(jì)算機(jī)可讀介質(zhì)的其 它存儲(chǔ)器和處理器類(lèi)型可以用于存儲(chǔ)和執(zhí)行與本文中描述的技術(shù)有關(guān)的程序指令。另外, 雖然描述說(shuō)明了各種進(jìn)程,但明確地設(shè)想各種進(jìn)程可以體現(xiàn)為被配置為根據(jù)本文中的技術(shù) (例如,根據(jù)類(lèi)似進(jìn)程的功能性)來(lái)進(jìn)行操作的模塊。
[0017] 說(shuō)明性地,本文中描述的技術(shù)可以由硬件、軟件和/或固件諸如根據(jù)模板棧進(jìn)程 244來(lái)執(zhí)行,所述硬件、軟件和/或固件可以包含由處理器220 (或者接口 210的獨(dú)立處理 器)執(zhí)行以便執(zhí)行與本文中描述的技術(shù)有關(guān)的功能的計(jì)算機(jī)可執(zhí)行指令。
[0018] 如上所述,對(duì)通信網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)之中的分布式應(yīng)用的操作問(wèn)題的診斷在最好 的情況下也證明是困難的,當(dāng)試圖將本地且多樣的狀態(tài)數(shù)據(jù)與較寬系統(tǒng)級(jí)的操作進(jìn)行相關(guān) 時(shí)尤其如此。
[0019] 因此,本文中描述的技術(shù)提供了將本地且多樣的數(shù)據(jù)合成到集成且公共的模板棧 平臺(tái)中的模板棧。如本文中所描述的,這些計(jì)算提供了基于時(shí)間、位置、設(shè)備類(lèi)型、接口、應(yīng) 用、協(xié)議、服務(wù)類(lèi)別、應(yīng)用主機(jī)等等的對(duì)來(lái)自相應(yīng)數(shù)據(jù)源(例如,網(wǎng)絡(luò)節(jié)點(diǎn))的數(shù)據(jù)的分析和 相關(guān)。具體而言,在一個(gè)或多個(gè)具體實(shí)施例中,模板棧技術(shù)說(shuō)明性地提供用于將各種類(lèi)型的 數(shù)據(jù)對(duì)接并映射到公共架構(gòu)以用于附加處理的公共框架。一旦被映射,該技術(shù)提供在不需 要硬編碼支持或新軟件構(gòu)建的情況下對(duì)所映射的數(shù)據(jù)中的部分或全部執(zhí)行的轉(zhuǎn)換或功能 (例如,根據(jù)各種模板定義的)。
[0020] 說(shuō)明性地,參考圖3,在架構(gòu)圖300中示出了本文中描述的模板棧技術(shù)。如同上面 所討論的,模板棧架構(gòu)300提供了用于處理來(lái)自數(shù)據(jù)源305的各種各樣的數(shù)據(jù)、總稱(chēng)為模板 棧321的公共且一致的數(shù)據(jù)模型??偟膩?lái)說(shuō),模板棧321包括:驅(qū)動(dòng)器310、轉(zhuǎn)換315和模 板 320。
[0021] 關(guān)于驅(qū)動(dòng)器310,驅(qū)動(dòng)器310提供數(shù)據(jù)源特定的格式化,并且解決各種各樣的數(shù)據(jù) 源305的語(yǔ)法問(wèn)題。以這種方式,模板棧架構(gòu)使用驅(qū)動(dòng)器310來(lái)直接訪問(wèn)外部數(shù)據(jù)源305 (例如,來(lái)自網(wǎng)絡(luò)設(shè)備201-208)或者與外部數(shù)據(jù)源305對(duì)接。另外,驅(qū)動(dòng)器310被配置為: 接收針對(duì)數(shù)據(jù)的請(qǐng)求(該請(qǐng)求優(yōu)選地是根據(jù)模板棧模型定義的);將請(qǐng)求變換成數(shù)據(jù)源要求 的格式和語(yǔ)法;從數(shù)據(jù)源獲取所請(qǐng)求的數(shù)據(jù);將獲取的數(shù)據(jù)轉(zhuǎn)換成與公共模板棧數(shù)據(jù)模型 一致;以及捕捉并處理異常和錯(cuò)誤,并將異常和錯(cuò)誤與模板棧架構(gòu)的其余部分隔離開(kāi)。
[0022] 轉(zhuǎn)換315提供要對(duì)由驅(qū)動(dòng)器315獲取的數(shù)據(jù)執(zhí)行的指令或功能操作。說(shuō)明 性地,一些轉(zhuǎn)換包括:合并、聯(lián)合、添加配置接口(addprovisionedinterface)、派生列 (derivedcolumn)等。具體而言,合并功能或轉(zhuǎn)換基于主要的各個(gè)主鍵將多個(gè)數(shù)據(jù)表合并成 單個(gè)數(shù)據(jù)表。以這種方式,合并轉(zhuǎn)換將數(shù)據(jù)表縫合在一起以便創(chuàng)建單個(gè)或公共的較寬的數(shù) 據(jù)表。聯(lián)合轉(zhuǎn)換基于各個(gè)行將多個(gè)數(shù)據(jù)表聯(lián)合成單個(gè)數(shù)據(jù)表。值得注意的是,每一個(gè)數(shù)據(jù) 表中的模式優(yōu)選是相同的。添加配置接口轉(zhuǎn)換將新的行添加到現(xiàn)有數(shù)據(jù)表,并且派生列轉(zhuǎn) 換將新的列添加到現(xiàn)有數(shù)據(jù)表。通常,轉(zhuǎn)換315經(jīng)由驅(qū)動(dòng)器310接收來(lái)自一個(gè)或多個(gè)數(shù)據(jù) 源的輸入,并返回單個(gè)數(shù)據(jù)集合。優(yōu)選地,轉(zhuǎn)換315捕捉并處理異常和錯(cuò)誤,并且將這些異 常和錯(cuò)誤與模板棧架構(gòu)300的其它組件隔離開(kāi)。
[0023] 模板棧321的模板320定義可以使用模板棧架構(gòu)獲取的數(shù)據(jù)。值得注意的是,如 同本文中討論的,模板320通常包括預(yù)先定義的功能或定義,并且存儲(chǔ)在存儲(chǔ)器(例如,數(shù) 據(jù)結(jié)構(gòu)245)中并被模板請(qǐng)求引用。例如,說(shuō)明性地,每一個(gè)模板具有名稱(chēng),并且描述怎樣使 用轉(zhuǎn)換315和驅(qū)動(dòng)器310來(lái)生成響應(yīng)。在操作上,每一個(gè)模板通常指定一個(gè)或多個(gè)轉(zhuǎn)換(例 如,"合并")以及一個(gè)或多個(gè)數(shù)據(jù)源(例如,〃 NPA"和〃風(fēng)箏〃(Kite))。值得注意的是,從 模板的角度來(lái)看,數(shù)據(jù)源可以包括驅(qū)動(dòng)器310 (其返回來(lái)自數(shù)據(jù)源305的數(shù)據(jù))中的一個(gè), 或者甚至另一個(gè)"子"模板。
[0024] 通常,模板320被定義為元數(shù)據(jù)而不是代碼。例如,圖4A和4B提供了兩個(gè)示例性模 板-即,分別為模板 320a 和 320b。模板 320a 標(biāo)題為" InterfacePerformancePerDevice" (每個(gè)設(shè)備的接口性能),并且使用Fre接口訪問(wèn)來(lái)自驅(qū)動(dòng)器310中的一個(gè)(S卩,NPA)的數(shù)據(jù)。 如所示出的,模板320a不包括任何子模板,因?yàn)槠鋵?duì)NPA做出直接調(diào)用,并且另外,其不包 括對(duì)轉(zhuǎn)換 315 的任何引用。模板 320b 標(biāo)題為 "InterfacePerformancePerDeviceProvisio ned"(每個(gè)配置設(shè)備的接口性能),并且(例如,經(jīng)由驅(qū)動(dòng)器310)獲取來(lái)自數(shù)據(jù)源305的某些 數(shù)據(jù),并且對(duì)所有返回的數(shù)據(jù)應(yīng)用"添加配置接口"轉(zhuǎn)換。
[0025] 再次參照?qǐng)D3,客戶(hù)端應(yīng)用325向模板棧321發(fā)送和接收響應(yīng)/請(qǐng)求322。通常, 請(qǐng)求符合公共應(yīng)用接口(API)。請(qǐng)求的示例如下: DataSet outputData = GetDataSet(MetaDataTemplate requestTemplate, List<NameValuePair> parameters, DataSet inputData) 根據(jù)示例請(qǐng)求,"requestTemplate"(請(qǐng)求模板)調(diào)用模板320中的一個(gè);"parameters" (參數(shù))表示用于請(qǐng)求的參數(shù)的集合;"inputData"(輸入數(shù)據(jù))是包含用于每一個(gè)輸入數(shù)據(jù) 源的數(shù)據(jù)表的空的數(shù)據(jù)集合;并且"outputData"(輸出數(shù)據(jù))是包含按"requestTemplate" 具有共享或公共名稱(chēng)的表的數(shù)據(jù)集合。這樣的表包含或者明確地引用響應(yīng)中提供的數(shù) 據(jù)。另外,這樣的表的模式是完備的,并且并不依賴(lài)于在響應(yīng)于請(qǐng)求中是否識(shí)別了任何 異?;騿?wèn)題。值得注意的是,根據(jù)API,"outputData"還可以包括名稱(chēng)為"錯(cuò)誤消息" (ErrorMessages)的數(shù)據(jù)表來(lái)處理任何錯(cuò)誤/異常(例如,該表可以包括用文檔記錄在響應(yīng) 于請(qǐng)求中識(shí)別的任何異?;騿?wèn)題的行)。另外,"outputData"優(yōu)選地包括:包括相同內(nèi)容的 數(shù)據(jù)表。
[0026] 說(shuō)明性地,本文中描述的技術(shù)可以由硬件、軟件和/或固件諸如根據(jù)模板棧進(jìn)程 244來(lái)執(zhí)行,所述硬件、軟件和/或固件可以分別包括由處理器220執(zhí)行以便執(zhí)行與本文中 描述的技術(shù)有關(guān)的功能的計(jì)算機(jī)可執(zhí)行指令。
[0027] 在操作上,在模板棧進(jìn)程244的說(shuō)明性控制下,模板棧321從客戶(hù)端應(yīng)用325接收 請(qǐng)求322。請(qǐng)求322指定特定的模板,并且提供參數(shù)的集合(例如,指定為名稱(chēng)/值對(duì))。重 要地,經(jīng)由請(qǐng)求傳遞參數(shù)避免對(duì)參數(shù)的不必要的轉(zhuǎn)換、重新格式化、編輯和過(guò)濾。另外,給 定請(qǐng)求的參數(shù)通常貫穿模板棧不變地被傳遞。模板棧321接收請(qǐng)求,并且獲取指定的模板 320,模板320繼而調(diào)用并向(經(jīng)由驅(qū)動(dòng)器310)從指定的模板數(shù)據(jù)源獲取的數(shù)據(jù)執(zhí)行一個(gè)或 多個(gè)指定的轉(zhuǎn)換315。然后經(jīng)由響應(yīng)322向調(diào)用應(yīng)用返回向獲取的數(shù)據(jù)應(yīng)用轉(zhuǎn)換的結(jié)果。 例如,請(qǐng)求可以調(diào)用創(chuàng)建接口性能數(shù)據(jù)網(wǎng)格的模板,其可以指定合并轉(zhuǎn)換并且從NpaFre和 風(fēng)箏(Kite)驅(qū)動(dòng)器獲取數(shù)據(jù)。
[0028] 值得注意的是,如同上面所討論的,除了從驅(qū)動(dòng)器310直接獲取數(shù)據(jù)之外,模板 320還可以調(diào)用其它模板以便允許可堆疊的模板。另外,請(qǐng)求322通常是根據(jù)相應(yīng)模板的模 式定義的。也就是說(shuō),特定的請(qǐng)求涉及在相應(yīng)模板的模式中可用的標(biāo)記和度量。類(lèi)似地,響 應(yīng)中返回的數(shù)據(jù)也是根據(jù)相應(yīng)模板的模式定義的。以這種方式,模板類(lèi)似于針對(duì)具有特定 模式(例如,模板的模式)的虛擬表執(zhí)行查詢(xún)(例如,請(qǐng)求)。
[0029] 因此,本文中討論的技術(shù)允許來(lái)自各個(gè)數(shù)據(jù)源的數(shù)據(jù)經(jīng)由模板棧321的公共框架 進(jìn)行相關(guān)。作為將來(lái)自多樣的數(shù)據(jù)源的針對(duì)特定應(yīng)用的進(jìn)入數(shù)據(jù)進(jìn)行相關(guān)的另一個(gè)說(shuō)明性 示例,考慮聯(lián)網(wǎng)的Oracle應(yīng)用的網(wǎng)際協(xié)議(IP)事務(wù)。Oracle應(yīng)用通常與兩種類(lèi)型的數(shù)據(jù) 的源相關(guān)聯(lián)--一種數(shù)據(jù)源(例如,來(lái)自客戶(hù)端設(shè)備)提供例如關(guān)于Oracle應(yīng)用的響應(yīng)時(shí) 間的數(shù)據(jù),而另一種數(shù)據(jù)源(例如,來(lái)自托管Oracle應(yīng)用的服務(wù)器)提供主機(jī)服務(wù)器的性能 數(shù)據(jù)(例如,緩沖區(qū)高速緩存、查詢(xún)分析器、頁(yè)面出錯(cuò)、I/O性能等)。模板棧321經(jīng)由驅(qū)動(dòng)器 310可以將來(lái)自?xún)蓚€(gè)源的數(shù)據(jù)導(dǎo)入公共框架,并且將這樣的公共數(shù)據(jù)與聯(lián)網(wǎng)的Oracle應(yīng)用 相關(guān)聯(lián)。以這種方式,可以執(zhí)行相關(guān)和分析來(lái)識(shí)別Oracle應(yīng)用的用戶(hù)性能問(wèn)題的根本原 因。(例如,缺乏指派給Oracle服務(wù)器上的緩沖區(qū)高速緩存的存儲(chǔ)器等)。
[0030] 圖5示出了根據(jù)本文中描述的一個(gè)或多個(gè)實(shí)施例的、具體從模板棧節(jié)點(diǎn)的角度來(lái) 看的、用于將來(lái)自各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)集成到公共框架中的示例簡(jiǎn)化的過(guò)程500。過(guò)程500 開(kāi)始于步驟505,并且繼續(xù)進(jìn)行到步驟510,在步驟510中,如同上面更詳細(xì)描述的,模板棧 節(jié)點(diǎn)從通信網(wǎng)絡(luò)中的多個(gè)數(shù)據(jù)源(即,節(jié)點(diǎn))接收數(shù)據(jù)。例如,如同上面所討論的,模板棧節(jié) 點(diǎn)包括與來(lái)自多個(gè)節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的各種數(shù)據(jù)源兼容的各種驅(qū)動(dòng)器。一旦接收到數(shù) 據(jù),模板棧節(jié)點(diǎn)在步驟515中將數(shù)據(jù)映射到公共數(shù)據(jù)框架。接下來(lái),在步驟520中,模板棧 節(jié)點(diǎn)從客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求。模板請(qǐng)求包括至少一個(gè)轉(zhuǎn)換功能。另外,在上面討論的 某些實(shí)施例中,模板請(qǐng)求可以指定或調(diào)用額外的模板(包括相應(yīng)的額外轉(zhuǎn)換功能)。以這種 方式,如同上面所討論的,模板是可堆疊的。響應(yīng)于模板請(qǐng)求,在步驟525中,模板棧節(jié)點(diǎn)對(duì) 多個(gè)節(jié)點(diǎn)的數(shù)據(jù)執(zhí)行轉(zhuǎn)換功能以便產(chǎn)生經(jīng)轉(zhuǎn)換的數(shù)據(jù)。接下來(lái),在步驟530中,模板棧節(jié)點(diǎn) 基于經(jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)確定分布式應(yīng)用的一個(gè)或多個(gè)操作問(wèn)題,并且在步驟535中,模板棧 節(jié)點(diǎn)向客戶(hù)端節(jié)點(diǎn)發(fā)送經(jīng)轉(zhuǎn)換的數(shù)據(jù)和/或告警。值得注意的是,當(dāng)在經(jīng)轉(zhuǎn)換的數(shù)據(jù)中檢 測(cè)到反常時(shí),模板棧節(jié)點(diǎn)可以使用本領(lǐng)域的技術(shù)人員理解的告警引擎來(lái)分析經(jīng)轉(zhuǎn)換的數(shù)據(jù) 并生成告警。例如,這樣的告警指示分布式應(yīng)用的一個(gè)或多個(gè)操作問(wèn)題。過(guò)程可以結(jié)束于 步驟540,或者可替換地,如同步驟520中所描述的,模板棧節(jié)點(diǎn)可以接收額外的模板請(qǐng)求。
[0031] 應(yīng)當(dāng)指出的是,雖然過(guò)程500中的某些步驟可以是如上所述那樣可選的,但圖5中 示出的步驟僅是用于說(shuō)明的示例,并且根據(jù)需要可以包括或排除某些其它步驟。另外,雖然 示出了這些步驟的特定順序,但該排序僅是說(shuō)明性的,并且在不脫離本文中的實(shí)施例的范 圍的情況下,可以使用步驟的任何適當(dāng)?shù)牟贾谩?br>
[0032] 因此,本文中描述的技術(shù)經(jīng)由模板棧提供了公共框架,其對(duì)來(lái)自網(wǎng)絡(luò)節(jié)點(diǎn)的各種 本地?cái)?shù)據(jù)進(jìn)行集成。具體而言,本文中的技術(shù)提供了針對(duì)聯(lián)網(wǎng)應(yīng)用的跨數(shù)據(jù)源的多樣的集 合的數(shù)據(jù)分析和相關(guān)。具體而言,通過(guò)使用公共框架,模板棧能夠?qū)绺鞣N本地?cái)?shù)據(jù)源的數(shù) 據(jù)直接進(jìn)行比較、分析和相關(guān)。
[0033] 雖然,示出并描述了提供模板棧的公共框架的說(shuō)明性的實(shí)施例,但應(yīng)當(dāng)理解的是: 在本文的實(shí)施例的精神和范圍之內(nèi)可以進(jìn)行各種其它的改變和修改。例如,使用特定的模 板、轉(zhuǎn)換和驅(qū)動(dòng)器在本文中示出并描述了實(shí)施例。然而,在其更廣泛的意義上,實(shí)施例并不 局限于此,并且實(shí)際上可以與任何類(lèi)型的模板、轉(zhuǎn)換和驅(qū)動(dòng)器一起使用。
[0034] 前文的描述涉及具體的實(shí)施例。然而,將清楚的是,在實(shí)現(xiàn)它們的一些或全部?jī)?yōu)點(diǎn) 的情況下,可以對(duì)所描述的實(shí)施例做出其它的變型和修改。例如,明確地設(shè)想本文中描述的 組件和/或元件可以實(shí)現(xiàn)為存儲(chǔ)在有形(非暫態(tài))計(jì)算機(jī)可讀介質(zhì)(例如,磁盤(pán)/CD/等等)上 的軟件,其具有在計(jì)算機(jī)、硬件、固件或它們的組合上執(zhí)行的程序指令。因此,本描述應(yīng)僅作 為舉例來(lái)看待,并且不在其他方面限制本文中的實(shí)施例的范圍。因此,所附的權(quán)利要求的目 的是覆蓋落入本文的實(shí)施例的真實(shí)精神和范圍內(nèi)的所有這樣的變型和修改。
【權(quán)利要求】
1. 一種方法,包括: 經(jīng)由模板棧節(jié)點(diǎn)從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù); 將來(lái)自所述多個(gè)節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的數(shù)據(jù)映射到公共數(shù)據(jù)框架; 從客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求,所述模板請(qǐng)求包括至少一個(gè)轉(zhuǎn)換功能; 響應(yīng)于所述模板請(qǐng)求,對(duì)所述多個(gè)節(jié)點(diǎn)的數(shù)據(jù)執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能以便產(chǎn)生經(jīng) 轉(zhuǎn)換的數(shù)據(jù);以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的方法,還包括: 基于所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)確定分布式應(yīng)用的一個(gè)或多個(gè)操作問(wèn)題;以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送指示所述分布式應(yīng)用的所述一個(gè)或多個(gè)操作問(wèn)題的告警。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述至少一個(gè)轉(zhuǎn)換功能是從由以下構(gòu)成的組中 選擇的轉(zhuǎn)換功能:合并、聯(lián)合、添加配置接口以及派生列。
4. 根據(jù)權(quán)利要求1所述的方法,其中,對(duì)數(shù)據(jù)執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能包括:捕捉并 處理異常和錯(cuò)誤。
5. 根據(jù)權(quán)利要求1所述的方法,其中,所述模板請(qǐng)求還包括對(duì)至少一個(gè)額外轉(zhuǎn)換功能 的調(diào)用,其中,執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能包括:獲取所述至少一個(gè)額外轉(zhuǎn)換功能,以及對(duì) 所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)執(zhí)行所述至少一個(gè)額外轉(zhuǎn)換功能以便產(chǎn)生補(bǔ)充的經(jīng)轉(zhuǎn)換的數(shù)據(jù),其中, 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)包括:向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述補(bǔ)充的經(jīng)轉(zhuǎn)換 的數(shù)據(jù)。
6. 根據(jù)權(quán)利要求1所述的方法,其中,所述模板請(qǐng)求是可執(zhí)行文件。
7. 根據(jù)權(quán)利要求1所述的方法,其中,從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)包括:經(jīng)由驅(qū) 動(dòng)器從所述多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)。
8. -種裝置,包括: 模板棧節(jié)點(diǎn)的一個(gè)或多個(gè)網(wǎng)絡(luò)接口,其適用于在通信網(wǎng)絡(luò)中進(jìn)行通信; 處理器,其適用于執(zhí)行一個(gè)或多個(gè)進(jìn)程;以及 存儲(chǔ)器,其被配置為存儲(chǔ)可由所述處理器執(zhí)行的進(jìn)程,所述進(jìn)程當(dāng)被執(zhí)行時(shí)可操作用 于: 從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù); 將來(lái)自所述多個(gè)節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的數(shù)據(jù)映射到公共數(shù)據(jù)框架; 從客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求,所述模板請(qǐng)求包括至少一個(gè)轉(zhuǎn)換功能; 響應(yīng)于所述模板請(qǐng)求,對(duì)所述多個(gè)節(jié)點(diǎn)的數(shù)據(jù)執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能以便產(chǎn)生經(jīng) 轉(zhuǎn)換的數(shù)據(jù);以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)。
9. 根據(jù)權(quán)利要求8所述的裝置,其中,所述進(jìn)程當(dāng)被執(zhí)行時(shí)還可操作用于: 基于所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)確定分布式應(yīng)用的一個(gè)或多個(gè)操作問(wèn)題;以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送指示所述分布式應(yīng)用的所述一個(gè)或多個(gè)操作問(wèn)題的告警。
10. 根據(jù)權(quán)利要求9所述的裝置,其中,所述至少一個(gè)轉(zhuǎn)換功能是從由以下構(gòu)成的組中 選擇的轉(zhuǎn)換功能:合并、聯(lián)合、添加配置接口以及派生列。
11. 根據(jù)權(quán)利要求8所述的裝置,其中,用于對(duì)數(shù)據(jù)執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能的進(jìn)程 還可操作用于:捕捉并處理異常和錯(cuò)誤。
12. 根據(jù)權(quán)利要求8所述的裝置,其中,所述模板請(qǐng)求還包括對(duì)至少一個(gè)額外轉(zhuǎn)換功能 的調(diào)用,其中,用于執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能的進(jìn)程還可操作用于:獲取所述至少一個(gè)額 外轉(zhuǎn)換功能,以及對(duì)所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)執(zhí)行所述至少一個(gè)額外轉(zhuǎn)換功能以便產(chǎn)生補(bǔ)充的經(jīng) 轉(zhuǎn)換的數(shù)據(jù),其中,用于向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)的進(jìn)程還可操作用于:向 所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述補(bǔ)充的經(jīng)轉(zhuǎn)換的數(shù)據(jù)。
13. 根據(jù)權(quán)利要求8所述的裝置,其中,所述模板請(qǐng)求是可執(zhí)行文件。
14. 根據(jù)權(quán)利要求8所述的裝置,其中,用于從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)的進(jìn)程 還可操作用于:經(jīng)由驅(qū)動(dòng)器從所述多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)。
15. -種其上編碼有軟件的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),所述軟件當(dāng)被處理器執(zhí)行時(shí) 可操作用于: 從通信網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)接收數(shù)據(jù); 將來(lái)自所述多個(gè)節(jié)點(diǎn)中的每一個(gè)節(jié)點(diǎn)的數(shù)據(jù)映射到公共數(shù)據(jù)框架; 從客戶(hù)端節(jié)點(diǎn)接收模板請(qǐng)求,所述模板請(qǐng)求包括至少一個(gè)轉(zhuǎn)換功能; 響應(yīng)于所述模板請(qǐng)求,對(duì)所述多個(gè)節(jié)點(diǎn)的數(shù)據(jù)執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能以便產(chǎn)生經(jīng) 轉(zhuǎn)換的數(shù)據(jù);以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)。
16. 根據(jù)權(quán)利要求15所述的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中進(jìn)程當(dāng)被處理器執(zhí)行 時(shí)還可操作用于: 基于所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)來(lái)確定分布式應(yīng)用的一個(gè)或多個(gè)操作問(wèn)題;以及 向所述客戶(hù)端節(jié)點(diǎn)發(fā)送指示所述分布式應(yīng)用的所述一個(gè)或多個(gè)操作問(wèn)題的告警。
17. 根據(jù)權(quán)利要求15所述的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中,用于對(duì)數(shù)據(jù)執(zhí)行所述 至少一個(gè)轉(zhuǎn)換功能的進(jìn)程當(dāng)被所述處理器執(zhí)行時(shí)還可操作用于:捕捉并處理異常和錯(cuò)誤。
18. 根據(jù)權(quán)利要求15所述的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中,所述模板請(qǐng)求還包括 對(duì)至少一個(gè)額外轉(zhuǎn)換功能的調(diào)用,其中,用于執(zhí)行所述至少一個(gè)轉(zhuǎn)換功能的進(jìn)程當(dāng)被所述 處理器執(zhí)行時(shí)還可操作用于:獲取所述至少一個(gè)額外轉(zhuǎn)換功能,以及對(duì)所述經(jīng)轉(zhuǎn)換的數(shù)據(jù) 執(zhí)行所述至少一個(gè)額外轉(zhuǎn)換功能以便產(chǎn)生補(bǔ)充的經(jīng)轉(zhuǎn)換的數(shù)據(jù),其中,用于向所述客戶(hù)端 節(jié)點(diǎn)發(fā)送所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)的進(jìn)程當(dāng)被所述處理器執(zhí)行時(shí)還可操作用于:向所述客戶(hù)端節(jié) 點(diǎn)發(fā)送所述補(bǔ)充的經(jīng)轉(zhuǎn)換的數(shù)據(jù)。
19. 根據(jù)權(quán)利要求15所述的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中,所述模板請(qǐng)求是可執(zhí) 行文件。
20. 根據(jù)權(quán)利要求15所述的有形、非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中,用于從通信網(wǎng)絡(luò)中的 多個(gè)節(jié)點(diǎn)接收數(shù)據(jù)的進(jìn)程當(dāng)被所述處理器執(zhí)行時(shí)還可操作用于:經(jīng)由驅(qū)動(dòng)器從所述多個(gè)節(jié) 點(diǎn)接收數(shù)據(jù)。
【文檔編號(hào)】H04L29/08GK104219278SQ201410236432
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年5月30日 優(yōu)先權(quán)日:2013年5月31日
【發(fā)明者】B.K.拉維, J.蒙克 申請(qǐng)人:弗蘭克公司