欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

跨多個輸入數(shù)據(jù)流的樣式匹配的制作方法

文檔序號:10628106閱讀:315來源:國知局
跨多個輸入數(shù)據(jù)流的樣式匹配的制作方法
【專利摘要】公開了用于跨與一個或多個應(yīng)用相關(guān)的多個輸入數(shù)據(jù)流檢測樣式的方法。該方法包括接收多個輸入數(shù)據(jù)流并為輸入數(shù)據(jù)流的一個或多個屬性生成一個或多個動態(tài)數(shù)據(jù)類型。在一些實施例中,該方法可以包括基于動態(tài)數(shù)據(jù)類型組合輸入數(shù)據(jù)流以生成組合輸入數(shù)據(jù)流并且處理對組合數(shù)據(jù)流的連續(xù)查詢以檢測樣式。
【專利說明】跨多個輸入數(shù)據(jù)流的樣式匹配
[0001] 對相關(guān)申請的交叉引用
[0002] 本申請要求于2014年12月3日提交的、標(biāo)題為"PATTERN MATCHING ACROSS MULTIPLE INPUT DATA STREAMS"的美國專利申請14/559,550和于2013年12月5日提交的、 標(biāo)題為"PATT邸N MATCHING ACROSS MULTIPLE INPUT DATA STREAMS"的美國臨時專利申請 No.61/912,344的優(yōu)先權(quán),其全部內(nèi)容通過引用被結(jié)合于此,就好像在本文被完全闡述一 樣。
【背景技術(shù)】
[0003] 在傳統(tǒng)的數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)通常W表的形式存儲在一個或多個數(shù)據(jù)庫中。然后, 所存儲的數(shù)據(jù)利用諸如結(jié)構(gòu)化查詢語言(S化)的數(shù)據(jù)管理語言被查詢和操縱。例如,S化查 詢可被定義并執(zhí)行,W便從存儲在數(shù)據(jù)庫中的數(shù)據(jù)識別相關(guān)的數(shù)據(jù)。因此,S化查詢對存儲 在數(shù)據(jù)庫中的有限數(shù)據(jù)集執(zhí)行。另外,當(dāng)SQL查詢被執(zhí)行時,它對有限數(shù)據(jù)集執(zhí)行一次并且 產(chǎn)生有限的靜態(tài)結(jié)果。因此,數(shù)據(jù)庫最佳配備為在有限存儲的數(shù)據(jù)集上運行。
[0004] 但是,眾多的現(xiàn)代應(yīng)用和系統(tǒng)W連續(xù)數(shù)據(jù)或事件流而不是有限數(shù)據(jù)集的形式生成 數(shù)據(jù)。運種應(yīng)用的例子包括但不限于傳感器數(shù)據(jù)應(yīng)用、金融行情(financial tickers)、網(wǎng) 絡(luò)性能測量工具(例如,網(wǎng)絡(luò)監(jiān)視和流量管理應(yīng)用)、點擊流分析工具、汽車交通監(jiān)視,等等。 運種應(yīng)用已經(jīng)引起了對可W處理數(shù)據(jù)流的新型應(yīng)用的需求。例如,溫度傳感器可被配置為 持續(xù)地發(fā)出溫度讀數(shù)。
[0005] 管理和處理用于運些類型的基于事件流的應(yīng)用的數(shù)據(jù)設(shè)及利用強時間焦點建立 數(shù)據(jù)管理和查詢能力。需要包括對連續(xù)無界限數(shù)據(jù)集進(jìn)行長期運行查詢的不同種類的查詢 機制。雖然一些廠商現(xiàn)在提供針對事件流處理的產(chǎn)品套件,但是運些產(chǎn)品供應(yīng)仍然缺乏處 理如今的事件處理需求所需要的處理靈活性。

【發(fā)明內(nèi)容】

[0006] 在某些實施例中,提供了用于跨與一個或多個應(yīng)用相關(guān)的多個輸入數(shù)據(jù)流檢測樣 式(pattern)的技術(shù)(例如,方法、系統(tǒng)、存儲可由一個或多個處理器執(zhí)行的代碼或指令的非 暫態(tài)計算機可讀介質(zhì))。
[0007] 根據(jù)一種實施例,公開了用于跨與一個或多個應(yīng)用相關(guān)的多個輸入數(shù)據(jù)流檢測樣 式的方法。該方法包括接收包括第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的多個輸入數(shù)據(jù)流。該 方法還包括生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型并生成用于第二輸入數(shù)據(jù)流的 第二動態(tài)數(shù)據(jù)類型。在一些實施例中,第一動態(tài)數(shù)據(jù)類型可W通過識別第一輸入數(shù)據(jù)流的 第一屬性不存在于第二數(shù)據(jù)流中而生成。于是,第一動態(tài)數(shù)據(jù)類型是為第一屬性生成的。第 二動態(tài)數(shù)據(jù)類型可W通過識別第二輸入數(shù)據(jù)流的第二屬性不存在于第一數(shù)據(jù)流中而生成。 于是,第二動態(tài)數(shù)據(jù)類型是為第二屬性生成的。在實施例中,第一動態(tài)數(shù)據(jù)類型可被配置為 存儲對應(yīng)于第一輸入數(shù)據(jù)流的第一屬性的第一數(shù)據(jù)值,并且第二動態(tài)數(shù)據(jù)類型可被配置為 存儲對應(yīng)于第二輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。
[0008] 在一些實施例中,該方法可W包括基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組 合第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流,W生成組合數(shù)據(jù)流。在實施例中,該方法然后可W包 括處理對組合數(shù)據(jù)流的連續(xù)查詢,W檢測樣式。在一些實施例中,"樣式"可W構(gòu)成第一數(shù)據(jù) 流中第一事件的發(fā)生,然后是第二數(shù)據(jù)流中另一事件的發(fā)生。
[0009] 根據(jù)另一實施例,公開了用于跨與一個或多個應(yīng)用相關(guān)的多個輸入數(shù)據(jù)流檢測樣 式的系統(tǒng)。該系統(tǒng)包括用于存儲多條指令的存儲器和被配置為訪問該存儲器的處理器。在 實施例中,處理器被配置為執(zhí)行接收識別第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的連續(xù)查詢的 指令。處理器還被配置為執(zhí)行識別用于第一輸入數(shù)據(jù)流的第一屬性的第一動態(tài)數(shù)據(jù)類型和 用于第二輸入數(shù)據(jù)流的第二屬性的第二動態(tài)數(shù)據(jù)類型的指令。在一些實施例中,處理器被 配置為基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型生成組合數(shù)據(jù)流并執(zhí)行對組合數(shù)據(jù)流 的連續(xù)查詢W檢測樣式。
[0010] 根據(jù)一些實施例,公開了存儲可由一個或多個處理器執(zhí)行的計算機可執(zhí)行指令的 非暫態(tài)計算機可讀介質(zhì)。計算機可執(zhí)行指令包括使一個或多個處理器接收包括至少第一輸 入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的多個輸入數(shù)據(jù)流的指令。計算機可執(zhí)行指令還包括使一個或 多個處理器生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型和用于第二輸入數(shù)據(jù)流的第二 動態(tài)數(shù)據(jù)類型的指令。在一些實施例中,計算機可執(zhí)行指令包括基于第一動態(tài)數(shù)據(jù)類型和 第二動態(tài)數(shù)據(jù)類型組合第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流W生成組合數(shù)據(jù)流并且處理對 組合數(shù)據(jù)流的連續(xù)查詢W檢測樣式的指令。
[0011] 根據(jù)一些實施例,公開了一種方法,包括:接收包括至少第一輸入數(shù)據(jù)流和第二輸 入數(shù)據(jù)流的多個輸入數(shù)據(jù)流;生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型;生成用于第 二輸入數(shù)據(jù)流的第二動態(tài)數(shù)據(jù)類型;至少部分地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類 型組合第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流W生成組合數(shù)據(jù)流;W及處理對組合數(shù)據(jù)流的連 續(xù)查詢,W檢測樣式。
[0012] 在一些實施例中,生成第一動態(tài)數(shù)據(jù)類型的步驟還包括識別第一輸入數(shù)據(jù)流的第 一屬性不存在于第二數(shù)據(jù)流中;并且生成用于第一屬性的第一動態(tài)數(shù)據(jù)類型,第一動態(tài)數(shù) 據(jù)類型被配置為存儲對應(yīng)于第一輸入數(shù)據(jù)流的第一屬性的第一數(shù)據(jù)值。
[0013] 在一些實施例中,生成第二動態(tài)數(shù)據(jù)類型的步驟還包括識別第二輸入數(shù)據(jù)流的第 二屬性不存在于第一數(shù)據(jù)流中;并且生成用于第二屬性的第二動態(tài)數(shù)據(jù)類型,第二動態(tài)數(shù) 據(jù)類型被配置為存儲對應(yīng)于第二輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。
[0014] 在一些實施例中,該方法還包括識別共同屬性,該共同屬性被識別為在第一輸入 數(shù)據(jù)流中存在并在第二輸入數(shù)據(jù)流中存在;生成同質(zhì)模式(schema),該同質(zhì)模式包括第一 輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的一個或多個屬性的表示,該表示包括至少共同屬性、第一 動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型;W及至少部分地基于同質(zhì)模式生成組合數(shù)據(jù)流。
[0015] 在一些實施例中,該方法還包括至少部分地基于分析組合數(shù)據(jù)流來檢測樣式,其 中樣式識別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第二輸入數(shù)據(jù)流中的第二事件。
[0016] 根據(jù)一些實施例,提供了服務(wù)提供商設(shè)備。該服務(wù)提供商設(shè)備可包括輸入數(shù)據(jù)流 接收單元,被配置為接收包括至少第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的多個輸入數(shù)據(jù)流; 第一動態(tài)數(shù)據(jù)類型生成單元,被配置為生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型;第 二動態(tài)數(shù)據(jù)類型生成單元,被配置為生成用于第二輸入數(shù)據(jù)流的第二動態(tài)數(shù)據(jù)類型;組合 數(shù)據(jù)流生成單元,被配置為至少部分地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組合第 一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流,W生成組合數(shù)據(jù)流;W及樣式檢測單元,被配置為處理對 組合數(shù)據(jù)流的連續(xù)查詢,W檢測樣式。
[0017] 在一些實施例中,第一動態(tài)數(shù)據(jù)類型生成單元還被配置為:識別第一輸入數(shù)據(jù)流 的第一屬性不存在于第二數(shù)據(jù)流中;W及生成用于第一屬性的第一動態(tài)數(shù)據(jù)類型。
[0018] 在一些實施例中,第一動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng)于第一輸入數(shù)據(jù)流的第一 屬性的第一數(shù)據(jù)值。
[0019] 在一些實施例中,第二動態(tài)數(shù)據(jù)類型生成單元還被配置為識別第二輸入數(shù)據(jù)流的 第二屬性不在第一數(shù)據(jù)流中存在;W及生成用于第二屬性的第二動態(tài)數(shù)據(jù)類型,第二動態(tài) 數(shù)據(jù)類型被配置為存儲對應(yīng)于第二輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。
[0020] 在一些實施例中,服務(wù)提供商設(shè)備還可W包括共同屬性識別單元,被配置為識別 共同屬性,該共同屬性被識別為在第一輸入數(shù)據(jù)流中存在并在第二輸入數(shù)據(jù)流中存在;W 及同質(zhì)模式生成單元,被配置為生成同質(zhì)模式,該同質(zhì)模式包括第一輸入數(shù)據(jù)流和第二輸 入數(shù)據(jù)流的一個或多個屬性的表示,該表示包括至少公共屬性、第一動態(tài)數(shù)據(jù)類型和第二 動態(tài)數(shù)據(jù)類型。
[0021] 在一些實施例中,同質(zhì)模式包括流名稱標(biāo)識符屬性、與第一輸入數(shù)據(jù)流關(guān)聯(lián)的第 一時間戳屬性或者與第二輸入數(shù)據(jù)流關(guān)聯(lián)的第二時間戳屬性當(dāng)中至少一個。
[0022] 在一些實施例中,組合數(shù)據(jù)流生成單元還可被配置為從第一輸入數(shù)據(jù)流選擇第一 組元組,第一輸入數(shù)據(jù)流由同質(zhì)模式識別;從第二輸入數(shù)據(jù)流選擇第二組元組,第二輸入數(shù) 據(jù)流由同質(zhì)模式識別;W及處理對第一組元組和第二組元組的子查詢,W生成組合數(shù)據(jù)流。
[0023] 在一些實施例中,樣式可W至少部分地基于分析述組合數(shù)據(jù)流來檢測,其中樣式 識別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第二輸入數(shù)據(jù)流中的第二事件。
【附圖說明】
[0024] 詳細(xì)描述參考附圖進(jìn)行闡述。在圖中,標(biāo)號最左邊的(一個或多個)數(shù)字識別其中 該標(biāo)號首先出現(xiàn)的圖。在不同的圖中使用相同的標(biāo)號指示相似或完全相同的條目。
[0025] 圖1繪出了用于跨多個輸入數(shù)據(jù)流識別樣式的技術(shù)可W在其中實現(xiàn)的簡化示例系 統(tǒng)或體系模式。
[0026] 圖2示出了可W利用其描述用于跨多個輸入數(shù)據(jù)流的樣式檢測的特征的簡化框 圖。
[0027] 圖3是根據(jù)本公開內(nèi)容的一種實施例、利用識別多個輸入數(shù)據(jù)流的CQL查詢執(zhí)行樣 式識別的示例性說明。
[0028] 圖4是根據(jù)本公開內(nèi)容的另一種實施例、利用識別多個輸入數(shù)據(jù)流的C化查詢執(zhí)行 樣式識別的示例性說明。
[0029] 圖5是繪出根據(jù)本公開內(nèi)容的一種實施例、用于跨多個輸入數(shù)據(jù)流檢測樣式的過 程的高級流程圖。
[0030] 圖6是繪出根據(jù)本公開內(nèi)容的一種實施例、用于生成同質(zhì)模式的過程的高級流程 圖。
[0031] 圖7繪出了可W結(jié)合本公開內(nèi)容的實施例的事件處理系統(tǒng)的簡化高級圖。
[0032] 圖8繪出了用于實現(xiàn)其中一種實施例的分布式系統(tǒng)的簡化圖。
[0033] 圖9是根據(jù)本公開內(nèi)容的實施例、由實施例系統(tǒng)的一個或多個組件提供的服務(wù)可 W通過其作為云服務(wù)被提供的系統(tǒng)環(huán)境的一個或多個組件的簡化框圖。
[0034] 圖10示出了本發(fā)明的各種實施例可W在其中實現(xiàn)的示例性計算機系統(tǒng)。
[0035] 圖11示出了本發(fā)明的各種實施例可W在其中實現(xiàn)的示例性服務(wù)提供商設(shè)備的簡 化框圖。
【具體實施方式】
[0036] 在W下描述中,將描述各種實施例。出于解釋的目的,闡述了特定的配置和細(xì)節(jié), W便提供對實施例的透徹理解。但是,對于本領(lǐng)域技術(shù)人員來說,將很顯然,運些實施例可 W在沒有特定細(xì)節(jié)的情況下進(jìn)行實踐。此外,眾所周知的特征可被省略或簡化,W避免模糊 所描述的實施例。
[0037] 在一些應(yīng)用中,數(shù)據(jù)可W采取連續(xù)、無界的數(shù)據(jù)流的形式,而不是有限存儲的數(shù)據(jù) 集。運種數(shù)據(jù)流的例子可W包括金融應(yīng)用中的股票行情、網(wǎng)絡(luò)監(jiān)視和交通管理中的性能測 量、web跟蹤和個性化中的日志記錄或點擊流、來自傳感器應(yīng)用的數(shù)據(jù)饋送、基于防火墻的 安全性中的網(wǎng)絡(luò)報文和消息、電信中的呼叫詳細(xì)記錄,等等。由于它們的連續(xù)性質(zhì),運些數(shù) 據(jù)流通??蒞利用連續(xù)查詢而不是傳統(tǒng)的一次性S化查詢來查詢。
[0038] -般而言,連續(xù)數(shù)據(jù)流(也被稱為事件流)可W包括其本質(zhì)可W是沒有顯式結(jié)束標(biāo) 志的連續(xù)的或無界的數(shù)據(jù)或事件的流。邏輯上,事件或數(shù)據(jù)流可W是一系列數(shù)據(jù)元素(也被 稱為事件),每個數(shù)據(jù)元素具有相關(guān)聯(lián)的時間戳。連續(xù)事件流可W在邏輯上表示為一包或一 組元素(s,T),其中V'表示數(shù)據(jù)部分,并且?'是在時間域中。V'部分一般被稱為元組或事 件。因此,事件流可W是一系列具有時間戳的元組或事件。
[0039] 在一些方面,與流中的事件關(guān)聯(lián)的時間戳可W等同于時鐘時間。但是,在其它例子 中,與事件流中的事件相關(guān)聯(lián)的時間可W由應(yīng)用領(lǐng)域定義并且可W不對應(yīng)于時鐘時間,但 是可W,例如,代替地通過數(shù)字序列來表示。因此,與事件流中的事件關(guān)聯(lián)的時間信息可W 由表示時間概念的數(shù)字、時間戳或任何其它信息來表示。對于接收輸入事件流的系統(tǒng),事件 W遞增的時間戳的順序到達(dá)系統(tǒng)??赡艽嬖诙嘤谝粋€的事件具有相同的時間戳。
[0040] 在一些例子中,事件流中的事件可W表示一些世間事件的發(fā)生(例如,當(dāng)溫度傳感 器將值改變到新的值時、當(dāng)股票符號的價格改變時)并且與事件關(guān)聯(lián)的時間信息可W指示 由數(shù)據(jù)流事件表示的世間事件何時發(fā)生。
[0041] 對于經(jīng)由事件流接收到的事件,可W使用與事件關(guān)聯(lián)的時間信息來確保事件流中 的事件W遞增的時間戳值的順序到達(dá)。運可W使得在事件流中接收到的事件基于它們關(guān)聯(lián) 的時間信息進(jìn)行排序。為了啟用運種排序,時間戳可非遞減的方式與事件流中的事件 關(guān)聯(lián),使得后生成的事件具有比早生成的事件更晚的時間戳。作為另一個例子,如果序列號 被用作時間信息,則與后生成的事件關(guān)聯(lián)的序列號可W大于與較早生成的事件關(guān)聯(lián)的序列 號。在一些例子中,多個事件可W與相同的時間戳或序列號關(guān)聯(lián),例如,當(dāng)由數(shù)據(jù)流事件表 示的世間事件在同一時間發(fā)生時。屬于同一事件流的事件可W通常W由關(guān)聯(lián)的時間信息施 加在事件上的順序進(jìn)行處理,其中較早的事件在較晚的事件之前被處理。
[0042] 與事件流中的事件相關(guān)聯(lián)的時間信息(例如,時間戳)可W由流的源設(shè)置或者,可 替代地,可w由接收流的系統(tǒng)設(shè)置。例如,在某些實施例中,可w在接收事件流的系統(tǒng)上保 持屯、跳,并且與事件關(guān)聯(lián)的時間可W基于如通過屯、跳測得的事件到達(dá)系統(tǒng)的時間。事件流 中的兩個事件有可能具有相同的時間信息。應(yīng)當(dāng)注意,雖然時間戳排序要求特定于一個事 件流,但是不同流的事件可W任意交錯。
[0043] 事件流可W具有關(guān)聯(lián)的模式"S",該模式包括時間信息和一組一個或多個命名的 屬性。屬于特定事件流的所有事件符合與那個特定事件流關(guān)聯(lián)的模式。因此,對于事件流 (S,T),事件流可 W具有如(<time_stamp〉,〈attribute(S)〉)的模式"S",其中〈attributes〉 表示模式的數(shù)據(jù)部分并且可W包括一個或多個屬性。例如,用于股票報價機事件流的模式 可W包括屬性< 股票標(biāo)志〉和< 股票價格〉。經(jīng)由運種流接收到的每個事件將具有時間戳W及 兩個屬性。例如,股票報價機事件流可W接收W下事件及關(guān)聯(lián)的時間戳:
[0044] ...
[0045] (<timestamp_N>,<NVDA,4>)
[0046] (<timestamp_N+l〉,<0RCL,62〉)
[0047] (<timestamp_N+2>,<PCAR,38〉)
[004引(<timestamp_N+3>,〈SPOT,53〉)
[0049] (<timestamp_N+4>,<PDC0,44>)
[0050] (〈timestamp-化於,<PTEN,50〉)
[0化1] ·..
[0052] 在w上的流中,對于流元素(<timestamp_N+l〉,<OR化,62〉),事件是具有屬性 "stock_symb〇r'和"stock_value"的<0R化,62〉。與流元素關(guān)聯(lián)的時間戳是"timestamp_N+ Γ。因此,連續(xù)事件流是事件的流,每個事件具有相同系列的屬性。
[0053] 如所指出的,流可W是CQL查詢可W作用于其的數(shù)據(jù)的主要來源。流S可W是元素 的包(也被稱為"multi-set(多集)")(3,1'),其中"3"在5的模式中并且叩'在時間域中。此 夕h流元素可W是元組-時間戳對,其可被表示為一系列具有時間戳的元組插入。換句話說, 流可W是一系列具有時間戳的元組。在一些情況下,可能有多于一個具有相同時間戳的元 組。并且,輸入數(shù)據(jù)流的元組可被要求按遞增時間戳的順序到達(dá)系統(tǒng)。作為替代,關(guān)系(也被 稱為"隨時間變化的關(guān)聚',并且不與"關(guān)系數(shù)據(jù)"混淆,"關(guān)系數(shù)據(jù)"可W包括來自關(guān)系數(shù)據(jù) 庫的數(shù)據(jù))可W是從時域到模式R的無界元組袋(bag)的映射。在一些例子中,關(guān)系可W是無 序、隨時間變化的元組袋(即,瞬時關(guān)系)。在一些情況下,在每個時刻,關(guān)系可W是有界集。 它也可被表示為一系列具有時間戳的元組,其可W包括插入、刪除和/或更新,W捕獲關(guān)系 的改變的狀態(tài)。類似于流,關(guān)系可W具有關(guān)系的每個元組可W符合的固定模式。另外,如本 文所使用的,連續(xù)查詢一般可W能夠處理流和/或關(guān)系的(即,針對其查詢的)數(shù)據(jù)。此外,關(guān) 系可W引用流的數(shù)據(jù)。
[0054] 在一些例子中,商業(yè)智能(BI)可W幫助W特定的間隔(例如,在一些情況下,每天) 驅(qū)動和優(yōu)化業(yè)務(wù)操作。運種類型的BI通常被稱為運營商業(yè)智能、實時商業(yè)智能或者運營智 能(01)。在一些例子中,運營智能模糊了BI與業(yè)務(wù)活動監(jiān)視(BAM)之間的界線。例如,BI可W 專注于對歷史數(shù)據(jù)的周期性查詢。照此,它可W具有向后看的焦點。但是,BI也可被放到業(yè) 務(wù)應(yīng)用中,并且因此它可W從單純的戰(zhàn)略分析工具擴(kuò)展到企業(yè)運營的前線中。照此,BI系統(tǒng) 也可被配置為實時地分析事件流并計算聚集。
[0055] 在一些例子中,連續(xù)查詢語言服務(wù)(CQ服務(wù))可被配置為延伸BI分析服務(wù)器,W處 理連續(xù)查詢并啟用實時警報。在一些方面中,CQ服務(wù)可W提供BI分析服務(wù)器和CQL引擎的集 成。僅僅作為例子,BI分析服務(wù)器可W將連續(xù)查詢委托給CQ服務(wù)并且CQ服務(wù)也可W充當(dāng)用 于CQL引擎的邏輯數(shù)據(jù)庫(DB)網(wǎng)關(guān)。W運種方式,C化引擎可W能夠充分利用BI分析服務(wù)器 的分析能力和語義建模。
[0056] 在一些例子中,除其它的之外,CQ服務(wù)還可W提供W下功能:
[0057] .遠(yuǎn)程化用于BI分析服務(wù)器的服務(wù),作為C化引擎網(wǎng)關(guān);
[005引.事件源/接收器適配器;
[0059] ?從邏輯S化加上C化擴(kuò)展生成數(shù)據(jù)定義語言(孤L);
[0060] ?為所有類型的連續(xù)查詢和實現(xiàn)選擇提供統(tǒng)一的模型;
[0061 ] ?維持元數(shù)據(jù)并支持重啟;W及
[0062] ?高可用性和可擴(kuò)展性支持。
[0063] 此外,在一些例子中,01是實時動態(tài)業(yè)務(wù)分析的形式,其可W提供對業(yè)務(wù)運營可視 性和桐察。就二者都有助于使大量信息有意義而言,01常常關(guān)聯(lián)到BI或?qū)崟rBI或者與其進(jìn) 行比較。但也有一些基本的差別:〇1可W主要W活動為中屯、,而BI可W主要W數(shù)據(jù)為中屯、。 此外,01可W更適合檢測并響應(yīng)于發(fā)展的狀況(例如,趨勢和樣式),不像可能傳統(tǒng)上被用作 識別樣式的事實后和基于報告的方法的BI。
[0064] 在一些例子中,業(yè)務(wù)事件分析和監(jiān)視(邸AM)系統(tǒng)可W包括CQL引擎,W處理和/或 接收動態(tài)數(shù)據(jù)(in-flight da化)。例如,C化引擎可W是被配置為查詢或W其它方式處理進(jìn) 入的實時信息的存儲器內(nèi)實時事件處理引擎(例如,BI或0I)XQL引擎可W利用或理解時序 語義并且被配置為允許處理數(shù)據(jù)窗口的定義。在一些情況下,利用C化引擎可W設(shè)及總是對 進(jìn)入的數(shù)據(jù)運行查詢。
[0065] 在一些方面,C化引擎可W包括完全成熟的查詢語言。因而,用戶可W就查詢而言 指定計算。此外,C化引擎可被設(shè)計為利用查詢語言特征、運算符共享、豐富的樣式匹配、豐 富的語言結(jié)構(gòu)等等優(yōu)化存儲器。此外,在一些例子中,C化引擎可W同時處理歷史數(shù)據(jù)和流 化數(shù)據(jù)。例如,用戶可W設(shè)置查詢,W便在加州銷售額高于某一目標(biāo)時發(fā)送警報。因此,在一 些例子中,警報可W至少部分地基于歷史銷售數(shù)據(jù)W及傳入的活(即,實時)銷售數(shù)據(jù)。
[0066] 在一些例子中,C化引擎或下面描述的概念的其它特征可被配置為W實時的方式 組合歷史上下文(即,倉庫數(shù)據(jù))與傳入的數(shù)據(jù)。因此,在一些情況下,本公開內(nèi)容可W描述 數(shù)據(jù)庫存儲的信息與動態(tài)信息的邊界。數(shù)據(jù)庫存儲的信息和動態(tài)信息都可W包括BI數(shù)據(jù)。 因而,在一些例子中,數(shù)據(jù)庫可W是BI服務(wù)器或者它可W是任何類型的數(shù)據(jù)庫。另外,在一 些例子中,本公開內(nèi)容的特征可W啟用W上特征的實現(xiàn),而無需用戶知道如何編程或W其 它方式編寫代碼。換句話說,特征可W在特征豐富的用戶界面化I)中或者W其它方式提供, W允許非開發(fā)人員實現(xiàn)歷史數(shù)據(jù)與實時數(shù)據(jù)的組合。
[0067] 在某些實施例中,在連續(xù)數(shù)據(jù)流中被接收的事件可W在運行時被處理,W檢測數(shù) 據(jù)流中指定樣式的發(fā)生。"樣式"可W在連續(xù)的數(shù)據(jù)流中構(gòu)成一系列連續(xù)的事件或元組,每 個事件或元組滿足某些條件。作為例子,諸如股票交易量的變化的一個事件的發(fā)生導(dǎo)致諸 如股票價值定價的變化的另一個事件的發(fā)生,并且可W在連續(xù)的數(shù)據(jù)流中構(gòu)成接收與金融 應(yīng)用相關(guān)的"股票計價"事件的"樣式"。
[0068] 在多個連續(xù)數(shù)據(jù)流的上下文中,"樣式"可W構(gòu)成第一數(shù)據(jù)流中第一事件的發(fā)生, 后面跟著第二數(shù)據(jù)流中另一事件的發(fā)生,等等。作為例子,考慮被第一事件序列驅(qū)動的第一 業(yè)務(wù)過程,其中事件與汽車租賃預(yù)訂應(yīng)用相關(guān)。類似地,考慮被第二事件序列驅(qū)動的第二業(yè) 務(wù)過程,其中事件與航班預(yù)訂應(yīng)用相關(guān)。此外,假設(shè)第一事件序列經(jīng)由第一連續(xù)輸入數(shù)據(jù)流 被接收并且第二事件序列經(jīng)由第二連續(xù)輸入數(shù)據(jù)流被接收。在運種情況下,可能期望當(dāng)?shù)?一連續(xù)輸入數(shù)據(jù)流中事件(例如,用戶對汽車的預(yù)訂)的到達(dá)后面跟著第二連續(xù)輸入數(shù)據(jù)流 中另一事件(例如,機票發(fā)給用戶)的到達(dá)時輸出樣式匹配。
[0069] 在一種實施例中,跨多個連續(xù)輸入數(shù)據(jù)流的樣式匹配可W通過對傳入的輸入數(shù)據(jù) 流應(yīng)用連續(xù)查詢(例如,C化查詢)來執(zhí)行。在一種方法中,跨多個連續(xù)輸入數(shù)據(jù)流的樣式匹 配可W通過首先執(zhí)行要對其執(zhí)行樣式匹配的所有相關(guān)輸入數(shù)據(jù)流的全部或子集的UNION來 執(zhí)行,其結(jié)果是定義對應(yīng)于中間流的視圖。然后,要匹配的樣式可W經(jīng)運單個中間流來指 定。在一種實施例中,C化語言結(jié)構(gòu)MATCH_RECOGNIZE子句可被用于在識別多個輸入數(shù)據(jù)流 的C化查詢中執(zhí)行樣式識別。然后,樣式可被匹配到包括在視圖中的所有流。
[0070] 作為例子,考慮W下CQL查詢,Q1,其中Q1是指定要跨第一輸入數(shù)據(jù)流S1和第二輸 入數(shù)據(jù)流S2匹配的樣式的連續(xù)查詢。
[0071] Q1:
[0072]
[0073] 此外,假設(shè)流S1由第一模式定義:Sl(int pl,int clientid)并且流S2由第二模式 定義:S2(int p2, int clientid),其中pi、p2和。116]11:1(1對應(yīng)于流51和52的一個或多個屬 性。
[0074] 查詢Q1包括指定流S1和S2的UNION的FROM子句。為了使UNION A化查詢組合流S1和 S2的結(jié)果集,WL UNION A化查詢中的每個CQL SELECT語句通常需要在結(jié)果集中具有相同 數(shù)量的具有類似數(shù)據(jù)類型的字段。在上面所示的查詢Q1的例子中,流SI的模式與流S2的模 式不同。在一種方法中,流S1和S2可W通過規(guī)格化流S1和S2的模式來組合。
[0075] 在一個例子中,模式的規(guī)格化可W通過向流S1和S2的每個模式添加附加的列來執(zhí) 行。在上面所示的查詢Q1的例子中,列被添加到流S1和S2的每個模式并且利用諸如"-1L"的 硬編碼值來填充,W規(guī)格化模式。但是,將硬編碼數(shù)據(jù)值引入每個流是容易出錯的手動過 程,因為硬編碼值必須在每次識別具有不同模式的多個輸入數(shù)據(jù)流的CQL查詢被處理時輸 入。
[0076] 在本公開內(nèi)容的一種實施例中,生成表示一個或多個參與的輸入數(shù)據(jù)流的同質(zhì)模 式。在一些實施例中,同質(zhì)模式可W通過為參與的輸入數(shù)據(jù)流的一個或多個屬性創(chuàng)建一個 或多個動態(tài)數(shù)據(jù)類型而生成。動態(tài)數(shù)據(jù)類型和同質(zhì)模式的生成使UNION A化子查詢中的每 個SELECT語句能夠包括相同數(shù)量的字段和類似的數(shù)據(jù)類型,使得流S1和S2的結(jié)果集可W利 用SELECT語句來組合。此外,用于參與的輸入數(shù)據(jù)流的屬性的動態(tài)數(shù)據(jù)類型的生成是實時 地執(zhí)行的,并且硬編碼值不需要在每次C化查詢被處理時被引入?yún)⑴c的輸入數(shù)據(jù)流。在一個 例子中,并且如下面將詳細(xì)討論的,動態(tài)數(shù)據(jù)類型可W指為輸入數(shù)據(jù)流的一個或多個屬性 識別的復(fù)合數(shù)據(jù)類型。
[0077] 在某些實施例中,輸入數(shù)據(jù)流然后可W基于同質(zhì)模式被組合,W生成組合數(shù)據(jù)流。 然后,連續(xù)查詢可W對組合數(shù)據(jù)流處理,W便跨輸入數(shù)據(jù)流檢測樣式。在一種實施例中,C化 語言結(jié)構(gòu)MATCH_RECOGNIZE子句可被用于在識別多個輸入數(shù)據(jù)流的CQL查詢中執(zhí)行樣式識 另IJ。同質(zhì)模式和動態(tài)數(shù)據(jù)類型可被生成并用于在識別多個輸入數(shù)據(jù)流的CQL查詢中執(zhí)行樣 式識別的方式的附加細(xì)節(jié)在下面圖1-4中詳細(xì)討論。
[007引利用MATCH_RECOGNIZE子句,用戶可W對傳入的事件的屬性定義條件并且通過使 用被稱為相關(guān)變量的標(biāo)識符識別用于樣式匹配的條件。如W上所討論的,輸入數(shù)據(jù)流中的 一系列連續(xù)事件或元組構(gòu)成樣式,其中每個事件或元組滿足某些條件。樣式識別功能允許 用戶對傳入的事件或元組的屬性定義條件并且通過使用被稱為相關(guān)變量的串名稱來識別 運些條件。
[0079] 在上面所示的查詢Q1中,"A"和"B"是相關(guān)變量。要匹配的樣式被指定為對運些相 關(guān)變量的正則表達(dá)式并且它確定條件應(yīng)當(dāng)被不同的傳入事件滿足的順序或次序被識別為 有效匹配。輸入事件流中滿足運些條件的連續(xù)事件的序列構(gòu)成樣式。在一種實施例中, MATCH_REC0GNI ZE查詢的輸出是流。在上面所示的查詢Q1中,MATCH_REC0GNI ZE子句還包括 幾個子子句。
[0080] DEFI肥子子句指定用于每個相關(guān)變量的布爾條件。運可被指定為任何邏輯或算術(shù) 表達(dá)式并且可W對匹配條件的事件的屬性應(yīng)用任何單行或聚合函數(shù)。在經(jīng)由輸入數(shù)據(jù)流接 收新的事件時,在那個時間點相關(guān)的相關(guān)變量的條件被評估。如果事件滿足其定義條件,貝U 該事件已經(jīng)匹配相關(guān)變量。特定的輸入可W匹配零個、一個或多個相關(guān)變量。在接收輸入事 件時要評估的相關(guān)條件是通過由PATTERN子句正則表達(dá)式支配的處理邏輯W及在處理更早 的輸入之后已經(jīng)到達(dá)的樣式識別過程的狀態(tài)確定的。條件可W指對其應(yīng)用MATCH_ REC0GNI ZE子句的流進(jìn)行評估的流或視圖的模式的任何屬性。PATTERN子句中的相關(guān)變量不 需要在DEFI肥子句中指定:對于運種相關(guān)變量的缺省值是總是為真的謂詞。運種相關(guān)變量 匹配每個事件。
[0081 ] PARTITION BY子子句指定MATCH_RECOGNIZE子句應(yīng)當(dāng)通過其劃分其結(jié)果的流屬 性。如果沒有PARTITION BY子句,則所有的流屬性屬于同一個分區(qū)。當(dāng)PARTITION BY子句與 樣式匹配一起存在時,輸入數(shù)據(jù)流基于分區(qū)列表中提到的屬性被邏輯劃分并且樣式匹配在 分區(qū)內(nèi)進(jìn)行。在上面所示的查詢Q1中/'clientlcT屬性(該屬性是流S1和S2的共同屬性)在 PARTITION BY子句中指定,通過其,MTCH_RECOGNIZE子句可W劃分其結(jié)果。
[0082] MEASURES子子句導(dǎo)出(例如,使得可用于包括在沈LECT子句中)成功地匹配指定的 樣式的事件的一個或多個屬性值并且還使得表達(dá)式能夠?qū)δ切傩灾抵付ā_\個子句可被 用來對事件流中匹配DEFI肥子句中條件(相關(guān)變量)的事件的屬性定義表達(dá)式并且給運些 表達(dá)式起別名,使得它們可W適合用在運個MATCH_RECOGNIZE條件是其一部分的主查詢的 SELECT子句中。事件流的屬性可W直接地或經(jīng)由相關(guān)變量被引用。
[0083] PATTERN子子句指定要作為對一個或多個相關(guān)變量的正則表達(dá)式被匹配的樣式。 傳入的事件必須按給定的次序(由左到右)匹配運些條件。正則表達(dá)式可W由相關(guān)變量和諸 如W下的樣式限定符組成:
[0084] *:〇或多次
[0085] +:1或多次
[00化]?:0或1次,等等
[0087]在某些實施例中,上面所示的單字符樣式限定符是最大的或"貪婪的";它們將嘗 試匹配它們對其應(yīng)用的正則表達(dá)式的盡可能多的實例。樣式限定符也可W是兩個字符,運 是最小的或者"難得的",它們將嘗試匹配它們對其應(yīng)用的正則表達(dá)式的盡可能少的實例。 兩字符限定符的實例包括但不限于:
[008引 *?:0或多次
[0089] W:1或多次
[0090] ??:0或 1 次
[0091] 作為樣式匹配的例子,考慮下面的樣式:
[0092] PATTERN(AB*C)
[0093] 運個樣式子句意味著,當(dāng)W下條件被連續(xù)傳入的輸入事件滿足時,樣式匹配將被 識別出:
[0094] 狀態(tài)1:確切地一個事件元組匹配定義相關(guān)變量A的條件,后面跟著 [00M]狀態(tài)2:匹配相關(guān)變量B的零或多個元組,后面跟著
[0096] 狀態(tài)3:匹配相關(guān)變量C的確切地一個元組。
[0097] 運些狀態(tài)狀態(tài)1、狀態(tài)2和狀態(tài)3可W表示用于樣式(AB*C)的各種狀態(tài),其中狀態(tài)3 是用于樣式的最終狀態(tài)。當(dāng)樣式匹配處于特定狀態(tài)并且可W保留在相同的特定狀態(tài)或者可 W由于下一個事件而從該特定狀態(tài)過渡到下一個狀態(tài)時,運可W暗示綁定能增長。如果綁 定是在最后的狀態(tài),則樣式可被認(rèn)為匹配。而在狀態(tài)2中,如果匹配相關(guān)變量B和C二者(由于 它滿足兩者的定義條件)的元組或事件到達(dá),則由于用于B的限定符*是貪婪的,因此那個元 組會被認(rèn)為匹配B而不是C。相應(yīng)地,由于貪婪屬性B會比C得到優(yōu)先,因此更大數(shù)量的B可被 匹配。如果樣式表達(dá)式是A B*?C,對B使用懶惰或難得的限定符的表達(dá)式,則匹配B和C二者 的元組會被認(rèn)為僅匹配C。因此,在那個例子中,C會比B得到優(yōu)先并且更少數(shù)量的B可被匹 配。
[0098] 在上面所示的查詢Q1中,當(dāng)W下情況發(fā)生時,樣式(AB)被匹配:
[0099] 狀態(tài)1:確切地一個事件元組匹配定義相關(guān)變量A的條件,后面跟著
[0100] 狀態(tài)2(最終狀態(tài)):匹配相關(guān)變量B的確切地一個元組。
[0101] 狀態(tài)狀態(tài)1和狀態(tài)2表示用于樣式(AB)的各種可能狀態(tài),其中狀態(tài)2是用于該樣式 的最終狀態(tài)。
[0102] W上和W下描述的技術(shù)可多種方式并在多種上下文中實現(xiàn)。參考W下附圖提 供幾個示例實現(xiàn)和上下文,如在下面更詳細(xì)描述的。但是,W下實現(xiàn)和上下文僅僅是很多當(dāng) 中的一些。
[0103] 圖1繪出了用于跨多個輸入數(shù)據(jù)流執(zhí)行樣式匹配的技術(shù)可W在其中實現(xiàn)的簡化示 例系統(tǒng)或體系架構(gòu)100。在體系架構(gòu)100中,一個或多個用戶1〇2(例如,帳號持有人)可W利 用用戶計算設(shè)備l〇4(l)-(N)(統(tǒng)稱為"用戶設(shè)備104")經(jīng)一個或多個網(wǎng)絡(luò)108訪問一個或多 個服務(wù)提供商計算機106。在一些方面,服務(wù)提供商計算機106還可W經(jīng)網(wǎng)絡(luò)108與一個或多 個流數(shù)據(jù)源計算機110和/或一個或多個數(shù)據(jù)庫112通信。例如,用戶102可W利用服務(wù)提供 商計算機106訪問或W別的方式管理流數(shù)據(jù)源計算機110和/或數(shù)據(jù)庫112的數(shù)據(jù)(例如,查 詢可W對照11〇、112當(dāng)中任何一個或二者運行)。數(shù)據(jù)庫112可W是關(guān)系數(shù)據(jù)庫、S化服務(wù)器 等等并且,在一些例子中,可W代表用戶102管理歷史數(shù)據(jù)、事件數(shù)據(jù)、關(guān)系、歸檔的關(guān)系等 等。此外,數(shù)據(jù)庫112可W接收或W別的方式存儲由流數(shù)據(jù)源計算機110提供的數(shù)據(jù)。在一些 例子中,通過提供對數(shù)據(jù)(例如,歷史事件數(shù)據(jù)、流事件數(shù)據(jù)等等)的查詢(也被稱為"查詢語 句")或其它請求,用戶102可W利用用戶設(shè)備104與服務(wù)提供商計算機106交互。然后,運種 查詢或請求可被服務(wù)提供商計算機106執(zhí)行,W處理數(shù)據(jù)庫112的數(shù)據(jù)和/或從流數(shù)據(jù)源計 算機110進(jìn)入的數(shù)據(jù)。另外,在一些例子中,流數(shù)據(jù)源計算機110和/或數(shù)據(jù)庫112可W是與服 務(wù)提供商計算機106關(guān)聯(lián)的集成式、分布式環(huán)境的部分。
[0104] 在一些例子中,網(wǎng)絡(luò)108可W包括多種不同類型網(wǎng)絡(luò)當(dāng)中任何一個或者其組合,諸 如有線網(wǎng)絡(luò)、互聯(lián)網(wǎng)、無線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)系統(tǒng)和/或其它專用和/或公共網(wǎng)絡(luò)。雖然 所說明的例子代表用戶102經(jīng)網(wǎng)絡(luò)108訪問服務(wù)提供商計算機106,但是所描述的技術(shù)可W 同等地應(yīng)用在用戶102通過固定電話經(jīng)一個或多個用戶設(shè)備104、經(jīng)信息站或者W任何其它 方式與一個或多個服務(wù)提供商計算機106交互的情況中。還應(yīng)當(dāng)指出,所描述的技術(shù)可W應(yīng) 用在其它客戶端/服務(wù)器布置(例如,機頂盒等等)當(dāng)中,W及非客戶端/服務(wù)器布置(例如, 本地存儲的應(yīng)用等等)當(dāng)中。
[0105] 用戶設(shè)備104可W是任何類型的計算設(shè)備,諸如但不限于,移動電話、智能電話、個 人數(shù)字助理(PDA)、膝上型計算機、臺式計算機、瘦客戶端設(shè)備、平板PC等等。在一些例子中, 用戶設(shè)備104可W經(jīng)網(wǎng)絡(luò)108或者經(jīng)其它網(wǎng)絡(luò)連接與服務(wù)提供商計算機106通信。另外,用戶 設(shè)備104還可被配置為提供一個或多個用于請求要處理的數(shù)據(jù)庫112(或者其它數(shù)據(jù)存儲) 的數(shù)據(jù)的查詢或查詢語句。
[0106] 在一些方面,服務(wù)提供商計算機106也可W是任何類型的計算設(shè)備,諸如但不限 于,移動、臺式、瘦客戶端和/或云計算設(shè)備,諸如服務(wù)器。在一些例子中,服務(wù)提供商計算機 106可W經(jīng)網(wǎng)絡(luò)108或者經(jīng)其它網(wǎng)絡(luò)連接與用戶設(shè)備104通信。服務(wù)提供商計算機106可W包 括一個或多個服務(wù)器,有可能布置在集群中、作為服務(wù)器群或者作為彼此不關(guān)聯(lián)的單獨服 務(wù)器。運些服務(wù)器可被配置為執(zhí)行或W別的方式托管本文所述的特征,包括但不限于,本文 所述的CQL關(guān)系的管理、輸入關(guān)系的生成、與輸入關(guān)系關(guān)聯(lián)的可配置窗口運算符,和輸出關(guān) 系的生成。此外,在一些方面,服務(wù)提供商計算機106可被配置為包括流數(shù)據(jù)源計算機110 和/或數(shù)據(jù)庫112的集成式、分布式計算環(huán)境的部分。
[0107] 在一種說明性配置中,服務(wù)提供商計算機106可W包括至少一個存儲器114和一個 或多個處理單元(或(一個或多個)處理器)134。處理器134可W適當(dāng)?shù)卦谟布?、計算機可執(zhí) 行指令、固件或者其組合中實現(xiàn)。(一個或多個)處理器138的計算機可執(zhí)行指令或固件實現(xiàn) 可W包括W任何合適的編程語言書寫的計算機可執(zhí)行或機器可執(zhí)行指令,W執(zhí)行所描述的 各種功能。
[0108] 存儲器114可W存儲可在(一個或多個)處理器134上加載并執(zhí)行的程序指令,W及 在運些程序執(zhí)行過程中生成的數(shù)據(jù)。取決于服務(wù)提供商計算機106的配置和類型,存儲器 114可W是易失性的(諸如隨機存取存儲器(RAM))和/或非易失性的(諸如只讀存儲器 (ROM)、閃存存儲器等等)。服務(wù)提供商計算機106或服務(wù)器還可W包括附加的儲存器136,它 可W包括可移除的儲存器和/或不可移除的儲存器。附加的儲存器136可W包括,但不限于, 磁儲存器、光盤和/或帶儲存器。盤驅(qū)動器及其關(guān)聯(lián)的計算機可讀介質(zhì)可W提供用于計算設(shè) 備的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。在一些實現(xiàn)中,存 儲器114可W包括多種不同類型的存儲器,諸如靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取 存儲器(DRAM)或ROM。
[0109] 都是可移除和不可移除的存儲器114、附加的儲存器136全是計算機可讀存儲介質(zhì) 的例子。例如,計算機可讀存儲介質(zhì)可W包括W任何方法或技術(shù)實現(xiàn)的易失性或非易失性、 可移除或不可移除的介質(zhì),用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù) 的信息。存儲器114和附加的儲存器136都是計算機存儲介質(zhì)的例子。
[0110] 服務(wù)提供商計算機106還可W包含允許服務(wù)提供商計算機106與所存儲的數(shù)據(jù)庫、 另一計算設(shè)備或服務(wù)器、用戶終端和/或其它設(shè)備在網(wǎng)絡(luò)108上通信的(一個或多個)通信連 接138。服務(wù)提供商計算機106還可W包括(一個或多個)輸入/輸出(I/O)設(shè)備140,諸如鍵 盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備、顯示器、一個或多個揚聲器、打印機等等。
[0111] 更具體地轉(zhuǎn)向存儲器114的內(nèi)容,存儲器114可W包括操作系統(tǒng)124和用于實現(xiàn)本 文所公開的特征的一個或多個應(yīng)用程序或服務(wù),包括至少輸入數(shù)據(jù)流模塊116、動態(tài)數(shù)據(jù)類 型生成模塊118、組合數(shù)據(jù)流生成模塊120和樣式檢測模塊122。如本文所使用的,模塊可W 指由服務(wù)器或服務(wù)器集群執(zhí)行的作為服務(wù)的一部分的編程模塊。在運種特定的語境下,模 塊可被作為服務(wù)提供商計算機106的一部分的服務(wù)器或服務(wù)器集群執(zhí)行。在其它實施例中, 模塊可W由WL引擎和/或CQ服務(wù)200執(zhí)行(在圖2中示出),其可W是服務(wù)供應(yīng)商的計算機 106的一部分。在各種實施例中,并且如下面將詳細(xì)討論的,模塊116、118、120和122可被配 置為執(zhí)行使得能夠跨多個輸入數(shù)據(jù)流檢測樣式的功能。運些模塊可W在硬件或軟件或其組 合中實現(xiàn)。圖1中繪出的各種模塊為了說明的目的而不是意在限制本發(fā)明的實施例的范圍。 備選實施例可W包括比圖1中所示的那些更多或更少的模塊。
[0112] 在一種實施例中,輸入數(shù)據(jù)流模塊116可被配置為接收、識別、生成或W其它方式 提供一個或多個輸入數(shù)據(jù)流126。在一個例子中,(一個或多個)輸入數(shù)據(jù)流126可W包括與 一個或多個應(yīng)用相關(guān)的數(shù)據(jù)或事件的傳入的連續(xù)數(shù)據(jù)流。在一些實施例中,輸入數(shù)據(jù)流126 可W從數(shù)據(jù)源計算機110和/或數(shù)據(jù)庫112接收。
[0113] 在一些例子中,(一個或多個)輸入數(shù)據(jù)流126可W包括與一個或多個應(yīng)用相關(guān)的 一系列加時間戳的元組或數(shù)據(jù)記錄。例如,(一個或多個)輸入數(shù)據(jù)流126中的每個數(shù)據(jù)記錄 可W包括可由W下模式表示的事件流條目:(<time_s tamp〉,〈attribute (S)〉),其中< attributes〉表示模式的數(shù)據(jù)部分并且可W包括一個或多個屬性。
[0114] 作為例子,考慮(一個或多個)輸入數(shù)據(jù)流126包括第一數(shù)據(jù)流和第二數(shù)據(jù)流。為了 運個例子,進(jìn)一步考慮第一輸入數(shù)據(jù)流包括與第一應(yīng)用(例如,汽車租賃預(yù)訂應(yīng)用)相關(guān)的 第一組事件并且第二輸入數(shù)據(jù)流包括與第二應(yīng)用(例如,航班預(yù)訂應(yīng)用)相關(guān)的第二組事 件。此外,考慮第一輸入數(shù)據(jù)流由第一模式S1定義:(cl,intege;r,c2intege;r)并且第二輸入 數(shù)據(jù)流由第二模式S2定義:(cl,integer,cSinteger)。
[0115] 在一種實施例中,第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流可被分析,W檢測樣式,其 中,"樣式"可W構(gòu)成第一數(shù)據(jù)流中一個事件的發(fā)生,后面跟著第二數(shù)據(jù)流中另一個事件的 發(fā)生。在一個例子中,樣式匹配可通過對傳入的連續(xù)數(shù)據(jù)流應(yīng)用連續(xù)查詢(例如,C化查詢) 來執(zhí)行。圖2描述了用于通過對多個輸入數(shù)據(jù)流應(yīng)用C化查詢來執(zhí)行樣式匹配的CQL引擎和/ 或CQ服務(wù)200的至少一種實現(xiàn)。雖然上面的討論設(shè)及跨第一數(shù)據(jù)流和第二數(shù)據(jù)流檢測樣式 的檢測,但應(yīng)當(dāng)認(rèn)識到,在至少一些實施例中,所公開的技術(shù)可W應(yīng)用于跨多個連續(xù)的輸入 數(shù)據(jù)流檢測樣式。
[0116] 在一些實施例中,輸入數(shù)據(jù)流的分析最初可W由動態(tài)數(shù)據(jù)類型生成模塊118執(zhí)行。 在一種實施例中,動態(tài)數(shù)據(jù)類型生成模塊118可被配置為從輸入數(shù)據(jù)流模塊116接收第一輸 入數(shù)據(jù)流和第二輸入數(shù)據(jù)流并且識別輸入數(shù)據(jù)流中的一個或多個屬性。在一些例子中,動 態(tài)數(shù)據(jù)類型生成模塊118可被配置為識別第一數(shù)據(jù)流的第一屬性和第二數(shù)據(jù)流的第二屬 性。在一個例子中,第一屬性可被識別為不在第二數(shù)據(jù)流中存在的屬性并且第二屬性可被 識別為不在第一數(shù)據(jù)流中存在的屬性。
[0117] 經(jīng)由上面討論的流S1和S2的例子,在一種實施例中,動態(tài)數(shù)據(jù)類型生成模塊118可 W將第一屬性"c2"識別為第一數(shù)據(jù)流S1中不在第二數(shù)據(jù)流S2中存在的屬性。類似地,動態(tài) 數(shù)據(jù)類型生成模塊118可W將第二屬性"c3"識別為第二數(shù)據(jù)流S2中不在第一數(shù)據(jù)流S1中存 在的屬性。雖然上面的討論設(shè)及在流S1和S2中識別出的第一屬性和第二屬性,但是應(yīng)當(dāng)認(rèn) 識到,在其它實施例中,動態(tài)數(shù)據(jù)類型生成模塊118可被配置為從流S1和S2識別附加屬性。
[0118] 在一些實施例中,動態(tài)數(shù)據(jù)類型生成模塊118可被配置為生成用于第一屬性的第 一動態(tài)數(shù)據(jù)類型和用于第二屬性的第二動態(tài)數(shù)據(jù)類型。在一個例子中,第一動態(tài)數(shù)據(jù)類型 被配置為存儲對應(yīng)于第一數(shù)據(jù)流的第一屬性的第一數(shù)據(jù)值并且第二動態(tài)數(shù)據(jù)類型被配置 為存儲對應(yīng)于第二數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。
[0119] 在一些實施例中,動態(tài)數(shù)據(jù)類型可被實現(xiàn)為包括一個或多個在本文中被稱為"字 段"成員類型的復(fù)合數(shù)據(jù)類型。在一個例子中,成員字段可W包括名稱和關(guān)聯(lián)的類型。字段 類型可W是任何C化原生類型,諸如像CQL可擴(kuò)展類型。在一些例子中,服務(wù)(例如,圖2中所 示的CQL引擎和/或CQ服務(wù)200)可被配置為通過提供一個或多個應(yīng)用編程接口(API)實現(xiàn)用 于動態(tài)數(shù)據(jù)類型的CQL可擴(kuò)展類型,通過運些API,動態(tài)數(shù)據(jù)類型可W通過指定其公開字段 (例如,字段名、字段的數(shù)據(jù)類型)被創(chuàng)建和定義。
[0120] 在某些實施例中,動態(tài)數(shù)據(jù)類型生成模塊118可被配置為識別共同屬性,共同屬性 可被識別為是在第一數(shù)據(jù)流和第二數(shù)據(jù)流中都存在的屬性。在一種實施例中,動態(tài)數(shù)據(jù)類 型生成模塊118然后可被配置為生成表示第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的同質(zhì)模式 128。在一個例子中,同質(zhì)模式128可W包括第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的一個或多 個屬性的表示,包括共同屬性和第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型。
[0121] 經(jīng)由上面所示的第一輸入數(shù)據(jù)流S1和第二輸入數(shù)據(jù)S2的例子,在一種實施例中, 可W如下生成用于流S1和S2的同質(zhì)模式:
[0122] 同質(zhì)模式:($s1:reamName char, clint, SlTypliDynamicType(^i;rt;ridge , S2Typ2@ DynamicTypeC曰rtridge)
[0123] 在運里,"$streamName"指同質(zhì)模式中具有數(shù)據(jù)類型char的屬性。"$streamNam"屬 性從輸入數(shù)據(jù)流中識別接收到的輸入元組(事件)的輸入數(shù)據(jù)流源。對于事件"e","$ S treamNam"屬性可W存儲其中"e"是事件的流別名的名稱。因此,"$ S treamName"屬性使得 能夠識別當(dāng)前輸入事件(元組)所屬的特定輸入數(shù)據(jù)流。"cl"指同質(zhì)模式中的共同屬性,其 中共同屬性被識別為在每個參與的輸入數(shù)據(jù)流中具有相同數(shù)據(jù)類型和的相同名稱的屬性。 例如,共同屬性"cl"可W指識別訪問與輸入數(shù)據(jù)流S1和S2相關(guān)的第一應(yīng)用和第二應(yīng)用的用 戶的用戶屬性。在一些例子中,包括共同屬性的同質(zhì)模式可W使PARTITION by子句的規(guī)范 能夠創(chuàng)建本身可W包含來自不同輸入數(shù)據(jù)流的事件的子流。
[0124] 此外,"Typl@DynamicTypeCa;rt;ridge"指被配置為存儲對應(yīng)于第一數(shù)據(jù)流的第一 屬性的第一數(shù)據(jù)值的第一動態(tài)數(shù)據(jù)類型。在一個例子中,"Typl@DynamicTypeCa;rt;ridge"可 被用來存儲對應(yīng)于第一輸入數(shù)據(jù)流S1中的第一屬性"c2"的數(shù)據(jù)值。作為例子,第一輸入數(shù) 據(jù)流S1中的第一屬性"c2"可W指存儲來自訪問第一應(yīng)用(例如,汽車租賃預(yù)訂應(yīng)用)的用戶 的汽車預(yù)訂標(biāo)識號的車預(yù)訂屬性。
[0125] 類似地,叮yp2@DynamicTypeCadridge"指被配置為存儲對應(yīng)于第二數(shù)據(jù)流的第 二屬性的第二數(shù)據(jù)值的第二動態(tài)數(shù)據(jù)類型。在一個例子中,叮yp2@DynamicType&d;ridge" 可被用來存儲對應(yīng)于第二輸入數(shù)據(jù)流S2中的第二屬性"c3"的數(shù)據(jù)值。作為例子,第二輸入 數(shù)據(jù)流S2的第二屬性"c3"可W指存儲用于訪問第二應(yīng)用(例如,航班預(yù)訂應(yīng)用)的用戶的航 班預(yù)訂標(biāo)識號的航班預(yù)訂屬性。
[01%] 對于上面的例子,可W觀察到,有一個用于類型S1的屬性(例如,"c2")"Typl@ DynamicTypeCartridge"和一個用于類型 S2 的屬性(例如,"c3" ) "Typ2@ DynamicType&;rt;ridge"。叮ypl@DynamicType(^i;rt;ridge"可 W包括用于相同數(shù)據(jù)類型的流 S1的每個屬性的一個公共字段。類似地,叮yp2咖ynamicTypehdridge"可W包括用于流S2 的每個屬性的一個公共字段。可W指出,Typl和Typ2是內(nèi)部類型并且可W是最終用戶不可 見的。對于所考慮的例子,Typl可W包括公共字段"cl"和"c2",而Typ2可W包括公共字段 "cl"和"c3"。
[0127]基于運樣生成的同質(zhì)模式,在一種實施例中,組合數(shù)據(jù)流生成模塊120可被配置為 生成組合數(shù)據(jù)流。在一個例子中,組合數(shù)據(jù)流可W通過執(zhí)行第一輸入數(shù)據(jù)流和第二輸入數(shù) 據(jù)流的UNION來生成,其中第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流由同質(zhì)模式S表示。在一個例 子中,WL UNION A化子查詢可W基于同質(zhì)模式S被應(yīng)用到第一數(shù)據(jù)流S1和第二數(shù)據(jù)流S2, W組合流S1和S2的結(jié)果集。同質(zhì)模式的生成使UNION A化子查詢中的每個CQL SELECT語句 能夠在結(jié)果集中具有相同數(shù)量的字段和類似的數(shù)據(jù)類型。相應(yīng)地,流S1和S2的結(jié)果集可W 基于同質(zhì)模式利用UNION A化子查詢中的SELECT語句來組合。在圖4中討論可W利用UNION A化子查詢組合第一數(shù)據(jù)流和第二數(shù)據(jù)流W生成組合數(shù)據(jù)流的方式。
[0128] 在一些實施例中,樣式檢測模塊122然后可被配置為基于組合數(shù)據(jù)流檢測樣式 132。在一種實施例中,樣式檢測模塊可被配置為通過對組合數(shù)據(jù)流應(yīng)用MATCH_RECOGNIZE 子句來輸出樣式匹配。作為例子,檢測到的樣式可W包括第一輸入數(shù)據(jù)流S1中第一事件的 (例如,用戶對汽車的預(yù)訂巧Ij達(dá),后面跟著第二輸入數(shù)據(jù)流S2中第二事件(例如,機票發(fā)給 用戶)的到達(dá)。樣式檢測模塊可被配置為在識別多個輸入數(shù)據(jù)流的C化查詢中執(zhí)行樣式識別 的方式在圖3中討論。
[0129] 圖2示出了可W描述用于跨多個輸入數(shù)據(jù)流的樣式檢測的特征的簡化框圖。如圖 所示,圖2描述了用于管理多個輸入數(shù)據(jù)流的CQL引擎和/或CQ服務(wù)200的至少一種實現(xiàn)。在 一些實施例中,圖1中所示的模塊116、118、120和122可W由CQL引擎和/或CQ服務(wù)200執(zhí)行。 C化引擎和/或CQ服務(wù)200最初可W從輸入源204接收信息。在一個例子中,輸入源204可W包 括接收傳入的連續(xù)輸入數(shù)據(jù)流的數(shù)據(jù)源計算機110,傳入的連續(xù)輸入數(shù)據(jù)流包括與一個或 多個應(yīng)用相關(guān)的數(shù)據(jù)或事件。在某些實施例中,當(dāng)包括第一輸入數(shù)據(jù)流S1206和第二輸入數(shù) 據(jù)流S2 208的查詢(例如,C化查詢)被識別或接收到時,C化引擎200可W解析該查詢,W便 跨流S1和S2檢測樣式。在一種實施例中,C化引擎和/或CQ服務(wù)200可W通過首先執(zhí)行第一輸 入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的UNION來執(zhí)行C化查詢,其中第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù) 流由同質(zhì)模式S表示。在一種實施例中,同質(zhì)模式S可W由如在圖1中所討論的動態(tài)數(shù)據(jù)類型 生成模塊118生成。
[0130] 然后,輸入數(shù)據(jù)流S1和S2可W基于同質(zhì)模式被組合,W生成組合數(shù)據(jù)流。在一種實 施例中,組合數(shù)據(jù)流可W由組合數(shù)據(jù)流模塊120生成。然后,樣式檢測模塊122可W處理對組 合數(shù)據(jù)流的連續(xù)查詢(例如,C化查詢),W便跨輸入數(shù)據(jù)流檢測樣式。在一種實施例中,樣式 檢測模塊可被配置為通過對組合數(shù)據(jù)流應(yīng)用MATCH_RECOGNIZE子句來輸出樣式匹配。在一 些例子中,然后,CQL引擎和/或CQ服務(wù)200可W將檢測到的樣式存儲在輸出目的地212中,諸 如像圖1中所示的數(shù)據(jù)庫112中。
[0131] 圖3是根據(jù)本公開內(nèi)容的一種實施例、利用識別多個輸入數(shù)據(jù)流的CQL查詢執(zhí)行樣 式識別的示例性說明。在一個例子中,查詢300是指定要跨第一輸入數(shù)據(jù)流S1和第二輸入數(shù) 據(jù)流S2匹配的樣式的連續(xù)(例如,C化)查詢。在圖3所示的例子中,流S1和S2在用括號包圍的 W逗號隔開的列表中指定并且作為輸入提供給MATCH_RECOGNIZE子句。其結(jié)果是,查詢300 的FROM子句可W方便地利用下式表示:(S1,S2)MTCH_RECOGNIZE。在一些例子中,列表中的 每個流可被識別為基本流或者對流的視圖評估或者對流的子查詢評估。
[0132] 當(dāng)流S1和S2如W上所討論的那樣利用逗號隔開的列表指定時,每個參與的流可能 需要利用獨特的別名來識別。因此,例如,如果MATCH_RECOGNIZE子句對{S,引應(yīng)用,則FROM 子句可能需要被指定為(S,S AS S1)MATCH_REC0GNIZE。即,可選的AS子句可能需要被引入, W便給第二個流S取別名,W確保獨特的別名??蒞指出,在其它例子中,如果未指定明確的 AS子句,則流名稱可被認(rèn)為是別名。
[0133] 在一些實施例中,流S1和S2表達(dá)為逗號隔開的列表可W對輸入數(shù)據(jù)流S1和S2的 UNION進(jìn)行評估,其中流S1和S2由同質(zhì)模式定義。在一種實施例中,并且如在圖4中詳細(xì)討論 的,組合數(shù)據(jù)流可W基于UNION A化子查詢的執(zhí)行而生成并且組合數(shù)據(jù)流可W作為輸入被 提供給MATCH_REC0GNIZE子句。然后,MTCH_REC0GNIZE可被用來檢測組合數(shù)據(jù)流中的樣式。
[0134] 如上面所討論的,利用MATCH_RECOGNIZE子句,用戶可W對傳入的事件的屬性定義 條件并且通過利用被稱為相關(guān)變量的標(biāo)識符識別用于樣式匹配的條件。樣式識別功能允許 用戶對傳入的事件或元組的屬性定義條件并且通過利用被稱為相關(guān)變量的串名稱識別運 些條件。
[0135] 在查詢300中,"A"是相關(guān)變量。要匹配的樣式被指定為對運個相關(guān)變量的正則表 達(dá)式并且確定條件應(yīng)當(dāng)被要被識別為有效匹配的不同的傳入事件滿足的順序或次序。在一 個例子中,輸入數(shù)據(jù)流S1和S2中滿足運些條件的連續(xù)事件序列構(gòu)成樣式。在一種實施例中, MATCH_RECOGNIZE查詢的輸出是流。
[0136] 圖4是根據(jù)本公開內(nèi)容的另一實施例、利用識別多個輸入數(shù)據(jù)流的CQL查詢執(zhí)行樣 式識別的示例性說明。在一種實施例中,圖4中所示的查詢400繪出了查詢300的FROM子句的 內(nèi)部表示。在一個例子中,F(xiàn)ROM子句可被表示為流S1和S2的UNION A化子查詢,其中流S1和 S2由同質(zhì)模式表示。
[0137] 對于圖4中所示的例子,表示流S1和S2的同質(zhì)模式可W如下生成:
[013 引 同質(zhì)模式 S:($streamName char, Clint, ELEMENT_TIME int,SlTypl@ DynamicTypeC曰rtridge,S2
[0139] Typ2@DynamicType&;rt;ridge(^i;rt;ridge)
[0140] 在運里,叮7口1@〇711曰111;[(3了7口6化1'付1(1旨6"表示為不在流52中存在的流51的屬性生 成的第一動態(tài)數(shù)據(jù)類型。類似地,叮yp2@DynamicType^d;ridge"表示為不在流SI中存在的 流S 2的屬性生成的第二動態(tài)數(shù)據(jù)類型。對于圖4中所示的例子,"T y P 1 @ DynamicTypeCa;rt;ridge"表示用于不在流S2中存在的流S1中的第一屬性"c2"的第一動態(tài)數(shù) 據(jù)類型,并且"Typ2@DynamicTypeCa;rt;ridge"表示用于不在流S1中存在的流S2中的第二屬 性"c3"的第二動態(tài)數(shù)據(jù)類型。
[0141] 在一種實施例中,W上討論的動態(tài)數(shù)據(jù)類型和同質(zhì)模式的生成可W使得流S1和S2 的各個特定于流的屬性能夠如下被訪問。在運行時,對于從流S1接收到的事件,"Typl@ DynamicTypeCartridge"動態(tài)數(shù)據(jù)類型可被配置為利用表達(dá)式"Typl@ DynamicTypeCa;rt;ridge(cl, c2)AS S1"表示不在S2中的來自流S1 的第一屬性"c2",而 "Typ2@DynamicTypeCa;rt;ridge"動態(tài)數(shù)據(jù)類型可被配置為利用表達(dá)式"Typ2@ DynamicTypeCa;rt;ridge( )AS S2"表示不在S1中的來自流S2的第二屬性"c3"。在一個例子 中,"Typ2@DynamicTypeCa;rt;ridge"可W對接收到的事件對流S2的第二屬性"c3"存儲N1XL 值。
[0142] 類似地,對于從流S2接收到的事件,叮791@〇711曰1]1;[(3了796化的1'1(1旨6"動態(tài)數(shù)據(jù)類型 可被配置為將不在S2中的來自流S1的第一屬性("c2")表示為"Typl@ DynamicTypeCartridge( )AS Sr 并且為屬性 "c2"存儲NULL值。此外,"Typ2@ 0711日111;[。了796化1'化1(1旨6"可被配置為利用表達(dá)式'叮792@07]1日111;[。了796化1'化1(1旨6(。1,。3)八5 S2"表示不在S1中的來自流S2的第二屬性"c3"。在一種實施例中,利用上面討論的動態(tài)數(shù)據(jù) 類型表示,屬性"c2"可W在CQL查詢中作為S1.C2被訪問并且屬性"c3"可W在C化查詢中作 為S2.C3被訪問。
[01創(chuàng)此外,在圖4中所示的例子中,屬性"cr和巧LEMENT_TIM護(hù)(時間戳值)可被識別為 共同屬性。在一些例子中,共同屬性"cl"可W利用同質(zhì)模式或者作為A.cl或者作為A.S1.cl 被訪問。在一些例子中,PARTITION BY子句也可被用來訪問共同屬性。
[0144] 可W認(rèn)識到,上面討論的同質(zhì)模式和動態(tài)數(shù)據(jù)類型的生成使得UNION A化查詢中 的每個CQL SELECT語句在結(jié)果集中具有相同數(shù)量的字段和類似的數(shù)據(jù)類型。此外,動態(tài)數(shù) 據(jù)類型使"WJLL"值被分配給不屬于特定流的屬性。在一種實施例中,然后,通過應(yīng)用CQL UNION A化子查詢W組合流S1和S2的結(jié)果集,數(shù)據(jù)流S1和S2的結(jié)果集可W基于同質(zhì)模式被 組合,W生成組合數(shù)據(jù)流。組合數(shù)據(jù)流可被生成的方式可W利用下面的非限制性例子來解 釋。
[0145] 作為例子,考慮第一輸入數(shù)據(jù)流S1接收下面的事件和關(guān)聯(lián)的時間戳:
[0146] ...
[0147] (〈timestamp 1000〉,<C1 1,C2 5〉)
[014引(〈timestamp 2000〉,<C1 1,C2 10〉)
[0149] (〈timestamp 3000〉,<C1 1C2 15〉)
[0150] ...
[0151] 類似地,考慮第二輸入數(shù)據(jù)流S2接收下面的事件和關(guān)聯(lián)的時間戳:
[0152] ...
[0153] (〈timestamp 1000〉,<C1 1,C3 5〉)
[0154] (〈timestamp 2000〉,<C1 1,C3 10〉)
[01 巧](〈timestamp 3000〉,<C1 1C3 15〉)
[0156] ...
[0157] 上面所示的流SI和S2的結(jié)果集可被組合,W生成如下所示的組合數(shù)據(jù)流。在一個 例子中,組合數(shù)據(jù)流包括可W基于如上討論的同質(zhì)模式利用UNION A化子查詢中的SELECT 語句組合的流S1和S2的結(jié)果集。在一個例子中,組合數(shù)據(jù)流可W由W下同質(zhì)模式($ streamName, cl, S1. c2, S2, c3)識別并且可W包括W下事件和關(guān)聯(lián)的時間戳:
[015引...
[0159] (〈timestamp 1000〉,<S1,C1 1,C2 5,N化L〉)
[0160] (〈timestamp 1000〉,<S2,Cl 1,C2NU化,C3 5〉)
[0161] (〈timestamp 2000〉,<S1,Cl 1,C2 10,C3NU化〉)
[0162] (〈timestamp 2000〉,<S2,Cl 1,C2NU化,C3 10〉)
[0163] (〈timestamp 3000〉,<S1,Cl 1,C2 1,C3NU化〉)
[0164] (〈timestamp 3000〉,<S2,Cl 1,C2NU化,C3 15〉)
[01 化]...
[0166] 圖5和6示出了示出用于實現(xiàn)本文所述跨多個輸入數(shù)據(jù)流的樣式檢測的相應(yīng)過程 500和600的示例流程圖。運些過程500和600被示為邏輯流程圖,其每個操作代表可W在硬 件、計算機指令或者其組合中實現(xiàn)的一系列操作。在計算機指令的語境下,操作代表存儲在 一個或多個計算機可讀存儲介質(zhì)上的計算機可執(zhí)行指令,當(dāng)指令被一個或多個處理器執(zhí)行 時,執(zhí)行所述操作。一般而言,計算機可執(zhí)行指令包括執(zhí)行特定功能或?qū)崿F(xiàn)特定數(shù)據(jù)類型的 例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。操作被描述的次序并不是要被解釋為限制,并且任何 數(shù)量的所描述操作都可任何次序和/或并行地被組合,W實現(xiàn)過程。
[0167] 此外,一些、任何或全部過程可W在利用可執(zhí)行指令配置的一個或多個計算機系 統(tǒng)的控制下執(zhí)行并且可w實現(xiàn)為在一個或多個處理器上共同執(zhí)行的代碼(例如,可執(zhí)行指 令、一個或多個計算機程序,或者一個或多個應(yīng)用)、硬件或者其組合。如W上所指出的,代 碼可W存儲在計算機可讀存儲介質(zhì)上,例如,W包括可由一個或多個處理器執(zhí)行的多條指 令的計算機程序的形式。計算機可讀存儲介質(zhì)可W是非暫態(tài)的。
[0168] 圖5是繪出根據(jù)本公開內(nèi)容的一種實施例、用于跨多個輸入數(shù)據(jù)流檢測樣式的過 程的高級流程圖。在一些例子中,在至少圖1(及其它圖)中所示的一個或多個服務(wù)提供商計 算機1〇6(例如,利用至少輸入數(shù)據(jù)流模塊116、動態(tài)數(shù)據(jù)類型生成模塊118、組合數(shù)據(jù)流生成 模塊120或樣式檢測模塊122)可W執(zhí)行圖5的過程500。過程500可W在502通過包括識別和/ 或接收第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流開始。
[0169] 在504,過程500可W包括生成表示第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的同質(zhì)模 式。同質(zhì)模式可W通過其生成的過程在圖6中詳細(xì)討論。
[0170] 在506,過程500可W包括基于同質(zhì)模式組合第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流, W生成組合數(shù)據(jù)流。在一種實施例中,生成組合數(shù)據(jù)流可W包括從第一輸入數(shù)據(jù)流選擇第 一組元組(經(jīng)由第一CQL SELECT語句)、從第二輸入數(shù)據(jù)流選擇第二組元組(經(jīng)由第一CQL 沈LECT語句)并且對第一組元組和第二組元組處理子查詢(例如,UNION A化子查詢),W生 成組合數(shù)據(jù)流。如上面所討論的,同質(zhì)模式的生成使UNION A化子查詢中的每個CQL SELECT 語句能夠在結(jié)果集中具有相同數(shù)量的字段和類似的數(shù)據(jù)類型。相應(yīng)地,流S1和S2的結(jié)果集 可W基于同質(zhì)模式利用UNION A化子查詢中的SELECT語句被組合,W生成組合數(shù)據(jù)流。
[0171] 在508,過程500可W包括處理對組合數(shù)據(jù)流的連續(xù)查詢(例如,C化查詢),W識別 樣式。在一種實施例中,基于UNION A化子查詢的執(zhí)行所生成的組合數(shù)據(jù)流可W作為輸入被 提供給MATCH_REC0GNI ZE子句。如在圖3中所討論的,MATCH_REC0GNI ZE子句可被用來對組合 數(shù)據(jù)流處理C化查詢,W檢測組合數(shù)據(jù)流中的樣式。
[0172] 圖6是繪出根據(jù)本公開內(nèi)容的一種實施例、用于生成同質(zhì)模式的過程的高級流程 圖。在一種實施例中,過程600描述執(zhí)行在圖5中討論的過程504的更多細(xì)節(jié)。
[0173] 在602,過程600可W包括識別第一輸入數(shù)據(jù)流的第一屬性。
[0174] 在604,該過程可W包括識別第二輸入數(shù)據(jù)流的第二屬性。在一種實施例中,第一 屬性可被識別為不在第二輸入數(shù)據(jù)流中存在的屬性并且第二屬性可被識別為不在第一輸 入數(shù)據(jù)流中存在的屬性。
[0175] 在606,過程600可W包括生成表示第一輸入數(shù)據(jù)流的第一屬性的第一動態(tài)數(shù)據(jù)類 型。在608,過程600可W包括生成表示第二輸入數(shù)據(jù)流的第二屬性的第二動態(tài)數(shù)據(jù)類型。
[0176] 在610,過程600可W包括識別共同屬性。在一種實施例中,共同屬性可被識別為在 第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流中都存在的屬性。
[0177] 在612,過程600可W包括生成同質(zhì)模式。在一種實施例中,并且如在圖2中詳細(xì)描 述的,同質(zhì)模式可W包括第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的一個或多個屬性的表示,該 表示包括包括至少共同屬性、第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型。
[0178] 圖7繪出了可W結(jié)合本公開內(nèi)容的實施例的事件處理系統(tǒng)700的簡化高層示圖。事 件處理系統(tǒng)700可W包括一個或多個事件源704、706、708、配置為提供用于處理事件流的環(huán) 境的事件處理服務(wù)器化PS)702、W及一個或多個事件接收器(710、712)。事件源生成由EPS 702接收的事件流。EPS 702可W從一個或多個事件源704、706、708接收一個或多個事件流。 例如,如在圖7中所示出的,EPS 702從事件源704接收輸入事件流714、從事件源706接收第 二輸入事件流716、W及從事件源708接收第Ξ事件流718。一個或多個事件處理應(yīng)用(720、 722和724)可W部署在EPS 702上并且被其執(zhí)行。由EPS 702執(zhí)行的事件處理應(yīng)用可被配置 為監(jiān)聽一個或多個輸入事件流、基于從輸入事件流選擇一個或多個事件作為顯著事件的處 理邏輯處理經(jīng)所述一個或多個事件流接收到的事件。顯著事件然后可-個或多個輸出 事件流的形式被發(fā)送到一個或多個事件接收器710、712。例如,在圖7中,EPS 702將輸出事 件流726輸出到事件接收器710,并且將第二輸出事件流728輸出到事件接收器712。在某些 實施例中,事件源、事件處理應(yīng)用和事件接收器彼此分離,使得在不對其它組件造成變化的 情況下,可W添加或去除運些組件中的任何組件。
[0179] 在一種實施例中,EPS 702可被實現(xiàn)為包括輕量級化va應(yīng)用容器的化va服務(wù)器,諸 如基于Equinox OSGi、具有共享服務(wù)的服務(wù)器。在一些實施例中,EPS 702可W例如通過利 用JRockit Real Time支持處理事件的超高吞吐量和微秒級延遲。EPS 702也可W提供包括 用于開發(fā)事件處理應(yīng)用的工具(例如,Oracle CEP Visualize!·和Oracle CEP IDE)的開發(fā) 平臺(例如,完全實時的端對端化va事件驅(qū)動體系架構(gòu)化DA)開發(fā)平臺)。
[0180] 事件處理應(yīng)用被配置為監(jiān)聽一個或多個輸入事件流、執(zhí)行用于從運一個或多個輸 入事件流選擇一個或多個顯著事件的邏輯(例如,查詢)、W及經(jīng)一個或多個輸出事件流將 選定的顯著事件輸出到一個或多個事件源。圖7提供了用于一個運種事件處理應(yīng)用720的展 開圖。如在圖7中所示出的,事件處理應(yīng)用720被配置為監(jiān)聽輸入事件流718、經(jīng)由包括用于 從輸入事件流718選擇一個或多個顯著事件的邏輯的CQL引擎/CQ服務(wù)200執(zhí)行查詢、W及經(jīng) 輸出事件流728將選定的顯著事件輸出到事件接收器712。事件源的例子包括,但不限于,適 配器(例如,JMS、HTTP和文件)、信道、處理器、表、高速緩存,等等。事件接收器的例子包括, 但不限于,適配器(例如,JMS、HTT巧日文件)、信道、處理器、高速緩存,等等。
[0181] 雖然圖7中的事件處理應(yīng)用720被示為監(jiān)聽一個輸入流并且經(jīng)一個輸出流輸出選 定的事件,但運不是要進(jìn)行限制。在可替代的實施例中,事件處理應(yīng)用可被配置為監(jiān)聽從一 個或多個事件源接收到的多個輸入流、從被監(jiān)視的流中選擇事件、并且經(jīng)一個或多個輸出 事件流將選定的事件輸出到一個或多個事件接收器。同一查詢可W與多于一個的事件接收 器和與不同類型的事件接收器相關(guān)聯(lián)。
[0182] 由于其無界的性質(zhì),經(jīng)事件流接收到的數(shù)據(jù)的量通常非常大。因此,為了查詢目的 存儲或歸檔所有數(shù)據(jù)通常是不切實際的并且不是所期望的。事件流的處理需要隨著事件被 EPS 702接收實時地進(jìn)行事件處理,而不必存儲所有接收到的事件數(shù)據(jù)。因此,EPS 702提供 特殊的查詢機制,其使得事件的處理隨著事件被EPS 702接收來執(zhí)行,而不必存儲所有接收 到的事件。
[0183] 事件驅(qū)動的應(yīng)用是規(guī)則驅(qū)動的并且運些規(guī)則可用來處理輸入流的連續(xù)查詢 的形式來表達(dá)。連續(xù)查詢可W包括識別要為接收到的事件執(zhí)行的、包括哪些事件要被選擇 作為顯著事件的處理并且輸出作為查詢處理的結(jié)果的指令(例如,業(yè)務(wù)邏輯)。連續(xù)查詢可 被持久保存到數(shù)據(jù)存儲庫并且用于處理輸入事件流和生成輸出事件流。連續(xù)查詢通常執(zhí)行 過濾和聚合功能,W從輸入事件流中發(fā)現(xiàn)和提取顯著事件。因此,輸出事件流中的出站事件 的數(shù)量通常比從中選擇事件的輸入事件流中的事件的數(shù)量少得多。
[0184] 不像在有限數(shù)據(jù)集運行一次的S化查詢,已由應(yīng)用向EPS 702注冊用于特定事件流 的連續(xù)查詢可W在每次那個事件流中接收到事件時被執(zhí)行。作為連續(xù)查詢執(zhí)行的部分,EPS 702基于由連續(xù)查詢指定的指令評估接收到的事件,W確定一個或多個事件是否要被選擇 作為顯著事件,并且作為連續(xù)查詢執(zhí)行的結(jié)果輸出。
[0185] 連續(xù)查詢可W利用不同的語言來編程。在某些實施例中,連續(xù)查詢可W利用由 Oracle公司提供的并且被Oracle的復(fù)雜事件處理(Complex Exents Processing,CEP)產(chǎn)品 系列使用的CQL進(jìn)行配置。Oracle的CQL是可W用來編程可針對事件流執(zhí)行的查詢(被稱為 C化查詢)的聲明性語言。在某些實施例中,C化基于SQL,其中添加了支持流事件數(shù)據(jù)的處理 的構(gòu)造。
[0186] 在一種實施例中,事件處理應(yīng)用可W由W下組件類型構(gòu)成:
[0187] (1)直接接口到輸入和輸出流W及關(guān)系源和接收器的一個或多個適配器。適配器 被配置為理解輸入和輸出流協(xié)議,并且負(fù)責(zé)將事件數(shù)據(jù)轉(zhuǎn)換為可被應(yīng)用處理器查詢的規(guī)格 化的形式。適配器可W將規(guī)格化的事件數(shù)據(jù)轉(zhuǎn)發(fā)到信道或者輸出流和關(guān)系接收器??蒞為 各種數(shù)據(jù)源和接收器定義事件適配器。
[0188] (2)充當(dāng)事件處理端點的一個或多個信道。除其它之外,信道還負(fù)責(zé)將事件數(shù)據(jù)排 隊,直到事件處理代理可W對其操作。
[0189] (3) -個或多個應(yīng)用處理器(或事件處理代理)被配置為消費來自信道的規(guī)格化事 件數(shù)據(jù)、利用查詢處理它W選擇顯著事件、并且將選定的顯著事件轉(zhuǎn)發(fā)(或者復(fù)制)到輸出 信道。
[0190] (4) 一個或多個bean被配置為監(jiān)聽輸出信道,并且由于新事件插入到輸出信道中 而被觸發(fā)。在一些實施例中,運種用戶代碼是簡單的老化va對象(plain-old-Java-object, P0J0)。用戶應(yīng)用可W利用一組外部服務(wù),諸如JMS、Web服務(wù)和文件書寫器,把生成的事件轉(zhuǎn) 發(fā)到外部事件接收器。
[0191] (5)事件bean可被注冊,W監(jiān)聽輸出信道,并且由于新事件插入到輸出信道中而被 觸發(fā)。在一些實施例中,運種用戶代碼可W使用化acle CEP事件bean API,使得bean可被 Oracle CEP管理。
[0192] 在一種實施例中,事件適配器向輸入信道提供事件數(shù)據(jù)。輸入信道連接到與一個 或多個CQL查詢相關(guān)聯(lián)的C化處理器,其中CQL查詢對由輸入信道提供的事件操作。C化處理 器連接到查詢結(jié)果要寫到其的輸出信道。
[0193] 在一些實施例中,組裝文件可W提供給事件處理應(yīng)用,該文件描述事件處理應(yīng)用 的各種組件、組件如何被連接到一起、被應(yīng)用處理的事件類型??蒞提供單獨的文件,用于 為事件的選擇指定連續(xù)查詢或業(yè)務(wù)邏輯。
[0194] 應(yīng)當(dāng)認(rèn)識到,圖7中所繪出的系統(tǒng)700可W具有除圖7中所繪出的之外的其它組件。 另外,圖7中所示的實施例僅僅是可W結(jié)合本公開內(nèi)容實施例的系統(tǒng)的一個例子。在一些其 它實施例中,系統(tǒng)700可W具有比圖7中所示更多或更少的組件、可W組合兩個或更多個組 件、或者可W具有組件的不同配置或布置。系統(tǒng)700可W是各種類型,包括個人計算機、便攜 式設(shè)備(例如,移動電話或設(shè)備)、工作站、網(wǎng)絡(luò)計算機、大型機、信息站、服務(wù)器,或者任何其 它數(shù)據(jù)處理系統(tǒng)。在一些其它實施例中,系統(tǒng)700可被配置為分布式系統(tǒng),其中系統(tǒng)700的一 個或多個組件跨云中的一個或多個網(wǎng)絡(luò)分布。
[01%]圖7中所繪出組件中的一個或多個組件可W用軟件、用硬件或者其組合來實現(xiàn)。在 一些實施例中,軟件可w存儲在存儲器(例如,非暫態(tài)計算機可讀介質(zhì))、存儲器設(shè)備或某種 其它物理存儲器上,并且可W由一個或多個處理單元(例如,一個或多個處理器、一個或多 個處理器核屯、、一個或多個GPU,等等)執(zhí)行。
[0196] 在一些圖中繪出的系統(tǒng)可W在各種配置中提供。在一些實施例中,系統(tǒng)可被配置 為分布式系統(tǒng),其中系統(tǒng)的一個或多個組件在云計算系統(tǒng)中跨一個或多個網(wǎng)絡(luò)分布。
[0197] 圖8繪出了用于實現(xiàn)其中一種實施例的分布式系統(tǒng)800的簡化圖。在所示出的實施 例中,分布式系統(tǒng)800包括一個或多個客戶端計算設(shè)備802、804、806和808,其被配置為經(jīng)一 個或多個網(wǎng)絡(luò)810執(zhí)行和操作客戶端應(yīng)用,諸如web瀏覽器、專有客戶端(例如,Oracle 化rms)等。服務(wù)器812可W經(jīng)由網(wǎng)絡(luò)810與遠(yuǎn)程客戶端計算設(shè)備802、804、806和808通信地禪 厶 1=1 〇
[0198] 在各種實施例中,服務(wù)器812可W適于運行由系統(tǒng)的組件中的一個或多個組件提 供的一個或多個服務(wù)或軟件應(yīng)用。服務(wù)器或軟件應(yīng)用可W包括非虛擬和虛擬環(huán)境。虛擬環(huán) 境可W包括用于虛擬事件、展覽會、模擬器、教室、購物交易和企業(yè)的那些環(huán)境,無論是二維 或Ξ維(3D)表示、基于頁面的邏輯環(huán)境、還是W其它方式。在一些實施例中,運些服務(wù)可W 作為基于web或云的服務(wù)提供或者根據(jù)軟件即服務(wù)(Software as a Service,SaaS)模型提 供給客戶端計算設(shè)備802、804、806和/或808的用戶。操作客戶端計算設(shè)備802、804、806和/ 或808的用戶又可W利用一個或多個客戶端應(yīng)用與服務(wù)器812交互,W利用由運些組件提供 的服務(wù)。
[0199] 在該圖繪出的配置中,系統(tǒng)800的軟件組件818、820和822被示為在服務(wù)器812上實 現(xiàn)。在其它實施例中,系統(tǒng)800的組件中的一個或多個組件和/或由運些組件提供的服務(wù)也 可W由客戶端計算設(shè)備802、804、806和/或808中的一個或多個來實現(xiàn)。操作客戶端計算設(shè) 備的用戶然后可W利用一個或多個客戶端應(yīng)用來使用由運些組件提供的服務(wù)。運些組件可 W用硬件、固件、軟件或其組合來實現(xiàn)。應(yīng)當(dāng)理解,各種不同的系統(tǒng)配置是可能的,運些配置 可W與分布式系統(tǒng)800不同。在該圖中示出的實施例因此是用于實現(xiàn)實施例系統(tǒng)的分布式 系統(tǒng)的一個例子并且不是要作為限制。
[0200] 客戶端計算設(shè)備802、804、806和/或808可W是運行諸如Microsoft Windows Mobile?和/或諸如i〇S、Windows Phone、And;roid、BlackBe;r;ry 10、Palm OS等各種移動操 作系統(tǒng)的軟件并且啟用互聯(lián)網(wǎng)、電子郵件、短消息服務(wù)(SMS)、Blackbeiry?或其它通信 協(xié)議的便攜式手持設(shè)備(例如,iPh(me@、蜂窩電話、iPad?、計算平板電腦、個人數(shù)字助 理(PDA))或可穿戴設(shè)備(例如,GoogleG:laSS@頭戴式顯示器)??蛻舳擞嬎阍O(shè)備可W是通 用個人計算機,作為例子,包括,運行各種版本的Mic;rosoft\VindoWsW%Apple Maeintosh?和/或Linux操作系統(tǒng)的個人計算機和/或筆記本計算機??蛻舳擞嬎阍O(shè)備可 W是運行任何各種商用UNIX:?或類UNIX操作系統(tǒng),包括但不限于各種GNU/Linux操作系 統(tǒng),諸如像,Google化rome 0S的工作站計算機??商娲鼗蚋郊拥?,客戶端計算設(shè)備802、 804、806和808可W是能夠通過(一個或多個)網(wǎng)絡(luò)810通信的任何其它電子設(shè)備,諸如瘦客 戶端計算機、啟用互聯(lián)網(wǎng)的游戲系統(tǒng)(例如,具有或不具有Kineet?手勢輸入設(shè)備的 Microsoft甜0X游戲控制臺)和/或個人消息傳送設(shè)備。
[0201] 雖然示例性分布式系統(tǒng)800被示為具有四個客戶端計算設(shè)備,但是任何數(shù)量的客 戶端計算設(shè)備都可被支持。諸如具有傳感器的設(shè)備等的其它設(shè)備可W與服務(wù)器812交互。
[0202] 在分布式系統(tǒng)800中的(一個或多個)網(wǎng)絡(luò)810可W是對本領(lǐng)域技術(shù)人員熟悉的、可 W支持利用包括但不限于TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)、SNA(系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu))、 IPX(互聯(lián)網(wǎng)數(shù)據(jù)包交換)、AppleTalk等任何各種商用協(xié)議的數(shù)據(jù)通信的任何類型的網(wǎng)絡(luò)。 僅僅作為例子,(一個或多個)網(wǎng)絡(luò)810可W是局域網(wǎng)(LAN),諸如基于W太網(wǎng)、令牌環(huán)等的網(wǎng) 絡(luò)。(一個或多個)網(wǎng)絡(luò)810可W是廣域網(wǎng)和互聯(lián)網(wǎng)。它可W包括虛擬網(wǎng)絡(luò),包括但不限于,虛 擬專用網(wǎng)(VPN)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、公共交換電話網(wǎng)(PSTN)、紅外網(wǎng)絡(luò)、無線網(wǎng)絡(luò)(例如,在任 何電氣和電子協(xié)會(IEEE)802.11協(xié)議套件、藍(lán)牙和/或任何其它無線協(xié)議下操作的網(wǎng)絡(luò)); 和/或運些和/或其它網(wǎng)絡(luò)的任意組合。
[0203] 服務(wù)器812可W由一個或多個通用計算機、專用服務(wù)器計算機(作為例子,包括PC (個人電腦)服務(wù)器、UNIX?服務(wù)器、中檔服務(wù)器、大型計算機、機架式服務(wù)器等)、服務(wù)器 農(nóng)場、服務(wù)器集群或者任何其它適當(dāng)?shù)牟贾煤?或組合組成。服務(wù)器812可W包括運行虛擬 操作系統(tǒng)的一個或多個虛擬機,或設(shè)及虛擬化的其它計算體系架構(gòu)。邏輯存儲設(shè)備的一個 或多個靈活池可被虛擬化,W維護(hù)用于服務(wù)器的虛擬存儲設(shè)備。虛擬網(wǎng)絡(luò)可W由服務(wù)器812 利用軟件定義的網(wǎng)絡(luò)來控制。在各種實施例中,服務(wù)器812可W適于運行在上述公開內(nèi)容中 描述的一個或多個服務(wù)或軟件應(yīng)用。例如,服務(wù)器812可W對應(yīng)于用于執(zhí)行上述根據(jù)本公開 內(nèi)容的實施例的處理的服務(wù)器。
[0204] 服務(wù)器812可W運行操作系統(tǒng),包括任何W上討論的操作系統(tǒng),
[0205] W及任何商用的服務(wù)器操作系統(tǒng)。服務(wù)器812也可W運行任何各種附加的服務(wù)器 應(yīng)用和/或中間層應(yīng)用,包括HTTP(超文本傳輸協(xié)議)服務(wù)器、FTP(文件傳輸協(xié)議)服務(wù)器、 CGI (公共網(wǎng)關(guān)接口)服務(wù)器、JAVA?服務(wù)器、數(shù)據(jù)庫服務(wù)器等。示例性數(shù)據(jù)庫服務(wù)器包括 但不限于來自O(shè)racle、Mic;rosoft、Sybase、IBM(國際商業(yè)機器公司)等的那些商用數(shù)據(jù)庫服 務(wù)器。
[0206] 在一些實現(xiàn)中,服務(wù)器812可W包括一個或多個應(yīng)用,W分析和整合從客戶端計算 設(shè)備802、804、806和808的用戶接收到的數(shù)據(jù)饋送和/或事件更新。作為例子,數(shù)據(jù)饋送和/ 或事件更新可W包括,但不限于,Twit化r?饋送、Faeebook?要新或者從一個或多個第 Ξ方信息源和連續(xù)數(shù)據(jù)流接收到的實時更新,其可W包括與傳感器數(shù)據(jù)應(yīng)用、金融報價機、 網(wǎng)絡(luò)性能測量工具(例如,網(wǎng)絡(luò)監(jiān)視和流量管理應(yīng)用)、點擊流分析工具、汽車交通監(jiān)視等相 關(guān)的實時事件。服務(wù)器812也可W包括一個或多個應(yīng)用,W經(jīng)由客戶端計算設(shè)備802、804、 806和808中的一個或多個顯示設(shè)備顯示數(shù)據(jù)饋送和/或?qū)崟r事件。
[0207] 分布式系統(tǒng)800也可W包括一個或多個數(shù)據(jù)庫814和816。數(shù)據(jù)庫814和816可W駐 留在各種位置。作為例子,數(shù)據(jù)庫814和816中的一個或多個數(shù)據(jù)庫可W駐留在服務(wù)器812本 地的非暫態(tài)存儲介質(zhì)上(和/或駐留在服務(wù)器812中)??商娲?,數(shù)據(jù)庫814和816可W遠(yuǎn)離 服務(wù)器812,并且經(jīng)由基于網(wǎng)絡(luò)的或?qū)S玫倪B接與服務(wù)器812通信。在一組實施例中,數(shù)據(jù)庫 814和816可W駐留在存儲區(qū)域網(wǎng)絡(luò)(SAN)中。類似地,用于執(zhí)行屬于服務(wù)器812的功能的任 何必要的文件可W按照需要本地存儲在服務(wù)器812上和/或遠(yuǎn)程地存儲。在一組實施例,數(shù) 據(jù)庫814和816可W包括適于響應(yīng)于S化格式的命令而存儲、更新和檢索數(shù)據(jù)的關(guān)系數(shù)據(jù)庫, 諸如由化acle提供的數(shù)據(jù)庫。
[0208] 圖9是根據(jù)本公開內(nèi)容實施例的、通過其由實施例系統(tǒng)的一個或多個組件提供的 服務(wù)可被提供為云服務(wù)的系統(tǒng)環(huán)境900的一個或多個組件的簡化框圖。在所示出的實施例 中,系統(tǒng)環(huán)境900包括可被用戶使用W與提供云服務(wù)的云基礎(chǔ)設(shè)施系統(tǒng)902交互的一個或多 個客戶端計算設(shè)備904、906和908??蛻舳擞嬎阍O(shè)備可被配置為操作可被客戶端計算設(shè)備的 用戶使用來與云基礎(chǔ)設(shè)施系統(tǒng)902交互,W使用由云基礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)的客戶端 應(yīng)用,諸如web瀏覽器、私有客戶端應(yīng)用(例如,Oracle化rms)或一些其它應(yīng)用。
[0209] 應(yīng)當(dāng)認(rèn)識到,在該圖中繪出的云基礎(chǔ)設(shè)施系統(tǒng)902可W具有除了所繪出的那些之 外的其它組件。此外,在該圖中示出的實施例只是可W結(jié)合本發(fā)明的實施例的云基礎(chǔ)設(shè)施 系統(tǒng)的一個例子。在一些其它實施例中,云基礎(chǔ)設(shè)施系統(tǒng)902可W具有比在該圖中示出的組 件更多或更少的組件、可W合并兩個或更多個組件、或者可W具有不同的組件配置或布置。
[0210] 客戶端計算設(shè)備904、906和908可W是類似于上述用于802、804、806和808的那些 設(shè)備。
[0211] 雖然示例性系統(tǒng)環(huán)境900被示為具有Ξ個客戶端計算設(shè)備,但是任何數(shù)量的客戶 端計算設(shè)備都可被支持。諸如具有傳感器的設(shè)備等的其它設(shè)備可W與云基礎(chǔ)設(shè)施系統(tǒng)902 交互。
[0212] (-個或多個)網(wǎng)絡(luò)910可W促進(jìn)客戶端904、906和908與云基礎(chǔ)設(shè)施系統(tǒng)902之間 的通信和數(shù)據(jù)交換。每個網(wǎng)絡(luò)可W是對本領(lǐng)域技術(shù)人員熟悉的、可W支持利用任何各種商 業(yè)協(xié)議的任何類型的網(wǎng)絡(luò),包括上述用于(一個或多個)網(wǎng)絡(luò)810的那些網(wǎng)絡(luò)。
[0213] 云基礎(chǔ)設(shè)施系統(tǒng)902可W包括一個或多個計算機和/或服務(wù)器,運可W包括上述用 于服務(wù)器812的那些服務(wù)器。
[0214] 在某些實施例中,由云基礎(chǔ)設(shè)施系統(tǒng)提供的服務(wù)可W包括可W讓云基礎(chǔ)設(shè)施系統(tǒng) 的用戶按需使用的托管的服務(wù),諸如在線數(shù)據(jù)存儲和備份解決方案、基于web的電子郵件服 務(wù)、托管的辦公套件和文檔協(xié)作服務(wù)、數(shù)據(jù)庫處理、管理的技術(shù)支持服務(wù)等。由云基礎(chǔ)設(shè)施 系統(tǒng)提供的服務(wù)可W動態(tài)地擴(kuò)展,W滿足其用戶的需求。由云基礎(chǔ)設(shè)施系統(tǒng)提供的服務(wù)的 具體實例在本文中稱作為"服務(wù)實例"。一般地,來自云服務(wù)提供商系統(tǒng)的、經(jīng)由諸如互聯(lián)網(wǎng) 的通信網(wǎng)絡(luò)對用戶可用的任何服務(wù)被稱為"云服務(wù)"。通常,在公共云環(huán)境中,構(gòu)成云服務(wù)提 供商的系統(tǒng)的服務(wù)器和系統(tǒng)與客戶自己的辦公場所服務(wù)器和系統(tǒng)不同。例如,云服務(wù)提供 商的系統(tǒng)可W托管應(yīng)用,并且用戶可W經(jīng)由諸如互聯(lián)網(wǎng)的通信網(wǎng)絡(luò)按需訂購和使用應(yīng)用。
[0215] 在一些例子中,在計算機網(wǎng)絡(luò)云基礎(chǔ)設(shè)施中的服務(wù)可W包括對由云供應(yīng)商提供給 用戶的存儲、托管數(shù)據(jù)庫、托管web服務(wù)器、軟件應(yīng)用或其它服務(wù)的受保護(hù)的計算機網(wǎng)絡(luò)訪 問,或者如W其它方式在本領(lǐng)域中已知的。例如,服務(wù)可W包括通過互聯(lián)網(wǎng)對云上遠(yuǎn)程存儲 的密碼保護(hù)的訪問。作為另一個例子,服務(wù)可W包括用于被聯(lián)網(wǎng)開發(fā)人員私人使用的基于 web服務(wù)的托管關(guān)系數(shù)據(jù)庫和腳本語言中間件引擎。作為另一個例子,服務(wù)可W包括對在云 供應(yīng)商的網(wǎng)站上托管的電子郵件軟件應(yīng)用的訪問。
[0216] 在某些實施例中,云基礎(chǔ)設(shè)施系統(tǒng)902可W包括W自助服務(wù)、基于訂購、彈性可擴(kuò) 展、可靠、高可用性并且安全的方式交付給客戶的一套應(yīng)用、中間件和數(shù)據(jù)庫服務(wù)產(chǎn)品。運 種云基礎(chǔ)設(shè)施系統(tǒng)的例子是由本受讓人提供的化acle化blic Cloud。
[0217] "大數(shù)據(jù)"可W由基礎(chǔ)設(shè)施系統(tǒng)在許多級別上和W不同規(guī)模被托管和/或操縱。非 常大的數(shù)據(jù)集可w由分析師和研究人員存儲并操縱,w可視化大量數(shù)據(jù)、檢測趨勢,和/或 W其它方式與數(shù)據(jù)進(jìn)行交互。數(shù)十、數(shù)百或數(shù)千并行連接的處理器可W作用于運種數(shù)據(jù),W 便呈現(xiàn)它或者模擬對數(shù)據(jù)或它所代表的內(nèi)容的外力。運些數(shù)據(jù)集可W設(shè)及結(jié)構(gòu)化的數(shù)據(jù), 諸如在數(shù)據(jù)庫中或W其它方式根據(jù)結(jié)構(gòu)化模型組織的數(shù)據(jù),和/或非結(jié)構(gòu)化的數(shù)據(jù)(例如, 電子郵件、圖像、數(shù)據(jù)blob(二進(jìn)制大對象)、網(wǎng)頁、復(fù)雜事件處理)。通過充分利用相對迅速 地將更多(或更少)計算資源聚焦到目標(biāo)的實施例的能力,云基礎(chǔ)設(shè)施系統(tǒng)可W更好地可用 于基于來自企業(yè)、政府機構(gòu)、研究機構(gòu)、私營個體、志同道合的個人或組織的組或者其它實 體的需求對大數(shù)據(jù)集執(zhí)行任務(wù)。
[0218] 在各種實施例中,云基礎(chǔ)設(shè)施系統(tǒng)902可W適于自動供給、管理和跟蹤客戶對由云 基礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)的訂購。云基礎(chǔ)設(shè)施系統(tǒng)902可W經(jīng)由不同的部署模型提供云 服務(wù)。例如,服務(wù)可W根據(jù)公共云模型來提供,其中云基礎(chǔ)設(shè)施系統(tǒng)902由銷售云服務(wù)的組 織擁有(例如,被化acle擁有)并且使得服務(wù)對一般公眾和不同行業(yè)的企業(yè)可用。作為另一 個例子,服務(wù)可W根據(jù)私有云模型來提供,其中云基礎(chǔ)設(shè)施系統(tǒng)902只為單個組織運營并且 可W為該組織內(nèi)的一個或多個實體提供服務(wù)。云服務(wù)也可W根據(jù)社區(qū)云模型來提供,其中 云基礎(chǔ)設(shè)施系統(tǒng)902和由云基礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)被相關(guān)社區(qū)中的若干個組織共享。 云服務(wù)也可W根據(jù)混合云模型來提供,它是兩種或更多種不同模型的組合。
[0219] 在一些實施例中,由云基礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)可W包括根據(jù)軟件即服務(wù) (SaaS)類別、平臺即服務(wù)(PaaS)類別、基礎(chǔ)設(shè)施即服務(wù)(laaS)類別、或包括混合服務(wù)的其它 服務(wù)類別提供的一個或多個服務(wù)??蛻艚?jīng)由訂購訂單可W訂購由云基礎(chǔ)設(shè)施系統(tǒng)902提供 的一個或多個服務(wù)。云基礎(chǔ)設(shè)施系統(tǒng)902然后執(zhí)行處理,W提供在客戶的訂購訂單中的服 務(wù)。
[0220] 在一些實施例中,由云基礎(chǔ)設(shè)施系統(tǒng)802提供的服務(wù)可W包括但不限于,應(yīng)用服 務(wù)、平臺服務(wù)和基礎(chǔ)設(shè)施服務(wù)。在一些實例中,應(yīng)用服務(wù)可W經(jīng)由SaaS平臺由云基礎(chǔ)設(shè)施系 統(tǒng)提供。SaaS平臺可被配置為提供屬于SaaS類別的云服務(wù)。例如,SaaS平臺可W提供在集成 開發(fā)和部署平臺上構(gòu)建和交付一套按需應(yīng)用的能力。SaaS平臺可W管理和控制用于提供 SaaS服務(wù)的底層軟件和基礎(chǔ)設(shè)施。通過利用由SaaS平臺提供的服務(wù),客戶可W利用在云基 礎(chǔ)設(shè)施系統(tǒng)上執(zhí)行的應(yīng)用。客戶可W獲取應(yīng)用服務(wù),而無需客戶購買單獨的許可和支持???W提供各種不同的SaaS服務(wù)。例子包括但不限于,提供用于大型企業(yè)的銷售績效管理、企業(yè) 整合和業(yè)務(wù)靈活性的解決方案的服務(wù)。
[0221] 在一些實施例中,平臺服務(wù)可W經(jīng)由化aS平臺由云基礎(chǔ)設(shè)施系統(tǒng)提供。PaaS平臺 可被配置為提供屬于PaaS類別的云服務(wù)。平臺服務(wù)的例子可W包括但不限于,使組織(諸如 Oracle)能夠在共享、公共的體系架構(gòu)上整合現(xiàn)有應(yīng)用,W及利用由平臺提供的共享服務(wù)構(gòu) 建新應(yīng)用的能力的服務(wù)。PaaS平臺可W管理和控制用于提供PaaS服務(wù)的底層軟件和基礎(chǔ)設(shè) 施??蛻艨蒞獲得由云基礎(chǔ)設(shè)施系統(tǒng)提供的化aS服務(wù),而無需客戶購買單獨的許可和支持。 平臺服務(wù)的例子包括但不限于,Oracle Java云服務(wù)(Oracle Java Cloud Service,JCS)、 Oracle數(shù)據(jù)庫云服務(wù)(Oracle Database Cloud Service,DBCS)W及其它服務(wù)。
[0222] 通過利用由化aS平臺提供的服務(wù),客戶可W采用由云基礎(chǔ)設(shè)施系統(tǒng)支持的編程語 言和工具并且也可W控制所部署的服務(wù)。在一些實施例中,由云基礎(chǔ)設(shè)施系統(tǒng)提供的平臺 服務(wù)可W包括數(shù)據(jù)庫云服務(wù)、中間件云服務(wù)(例如,Oracle Fusion Middleware服務(wù))和 化va云服務(wù)。在一種實施例中,數(shù)據(jù)庫云服務(wù)可W支持使組織能夠集中數(shù)據(jù)庫資源并且W 數(shù)據(jù)庫云的形式為客戶提供數(shù)據(jù)庫即服務(wù)的共享服務(wù)部署模型。中間件云服務(wù)可W為客戶 提供平臺來開發(fā)和部署各種商業(yè)應(yīng)用,并且化va云服務(wù)可W為客戶提供在云基礎(chǔ)設(shè)施系統(tǒng) 中部署化va應(yīng)用的平臺。
[0223] 各種不同的基礎(chǔ)設(shè)施服務(wù)可W由云基礎(chǔ)設(shè)施系統(tǒng)中的laaS平臺提供。基礎(chǔ)設(shè)施服 務(wù)促進(jìn)對諸如存儲、網(wǎng)絡(luò)和其它基本計算資源的底層計算資源的管理和控制,W便讓客戶 利用由SaaS平臺和化aS平臺提供的服務(wù)。
[0224] 在某些實施例中,云基礎(chǔ)設(shè)施系統(tǒng)902也可W包括用于提供用來向云基礎(chǔ)設(shè)施系 統(tǒng)的客戶提供各種服務(wù)的資源的基礎(chǔ)設(shè)施資源930。在一種實施例中,基礎(chǔ)設(shè)施資源930可 W包括諸如服務(wù)器、存儲和網(wǎng)絡(luò)資源的硬件的預(yù)先集成和優(yōu)化組合,W便執(zhí)行由PaaS平臺 和SaaS平臺提供的服務(wù)。
[0225] 在一些實施例中,在云基礎(chǔ)設(shè)施系統(tǒng)902中的資源可被多個用戶共享并且動態(tài)地 按需重新分配。此外,資源可被分配給在不同時區(qū)的用戶。例如,云基礎(chǔ)設(shè)施系統(tǒng)930可W使 在第一時區(qū)的第一組用戶能夠利用云基礎(chǔ)設(shè)施系統(tǒng)的資源指定的小時數(shù),并且然后使相同 資源重新分配給位于不同時區(qū)的另一組用戶,從而最大化資源的利用率。
[0。6]在某些實施例中,可W提供由云基礎(chǔ)設(shè)施系統(tǒng)902的不同組件或模塊W及由云基 礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)共享的多個內(nèi)部共享服務(wù)932。運些內(nèi)部共享服務(wù)可W包括,但 不限于,安全和身份服務(wù)、集成服務(wù)、企業(yè)信息庫服務(wù)、企業(yè)管理服務(wù)、病毒掃描和白名單服 務(wù)、高可用性、備份和恢復(fù)服務(wù)、用于啟用云支持的服務(wù)、電子郵件服務(wù)、通知服務(wù)、文件傳 輸服務(wù),等等。
[0227] 在某些實施例中,云基礎(chǔ)設(shè)施系統(tǒng)902可W提供在云基礎(chǔ)設(shè)施系統(tǒng)中云服務(wù)(例 如,SaaS JaaS和laaS服務(wù))的綜合管理。在一種實施例中,云管理功能可W包括用于供給、 管理和跟蹤由云基礎(chǔ)設(shè)施系統(tǒng)902接收到客戶的訂購等能力。
[0228] 在一種實施例中,如在該圖中所繪出的,云管理功能可W由一個或多個模塊提供, 諸如訂單管理模塊920、訂單編制模塊922、訂單供給模塊924、訂單管理和監(jiān)視模塊926、W 及身份管理模塊928。運些模塊可W包括一個或多個計算機和/或服務(wù)器或者利用一個或多 個計算機和/或服務(wù)器來提供,該一個或多個計算機和/或服務(wù)器可W是通用計算機、專用 服務(wù)器計算機、服務(wù)器農(nóng)場、服務(wù)器集群、或任何其它適當(dāng)?shù)牟贾煤?或組合。
[0229] 在示例性操作934中,利用客戶端設(shè)備,諸如客戶端設(shè)備904、906或908的客戶可W 通過請求由云基礎(chǔ)設(shè)施系統(tǒng)902提供的一個或多個服務(wù)和為由云基礎(chǔ)設(shè)施系統(tǒng)902提供的 一個或多個服務(wù)下訂購單來與云基礎(chǔ)設(shè)施系統(tǒng)902交互。在某些實施例中,客戶可W訪問云 用戶界面(UI)、云UI 912、云UI 914和/或云UI 916并且經(jīng)由運些UI下訂購單。響應(yīng)于客戶 下訂單而被云基礎(chǔ)設(shè)施系統(tǒng)902接收到的訂單信息可W包括識別客戶和客戶想要訂購的由 云基礎(chǔ)設(shè)施系統(tǒng)902提供的一個或多個服務(wù)的信息。
[0230] 在客戶下訂單之后,訂單信息經(jīng)由云UI 912、914和/或916被接收。
[0231] 在操作936,訂單被存儲在訂單數(shù)據(jù)庫918中。訂單數(shù)據(jù)庫918可W是由云基礎(chǔ)設(shè)施 系統(tǒng)918操作并且結(jié)合其它系統(tǒng)元素一起操作的若干個數(shù)據(jù)庫之一。
[0232] 在操作938,訂單信息被轉(zhuǎn)發(fā)到訂單管理模塊920。在一些情況下,訂單管理模塊 920可被配置為執(zhí)行與訂單相關(guān)的計費和記帳功能,諸如驗證訂單,W及在驗證后預(yù)訂訂 單。
[0233] 在操作940,關(guān)于訂單的信息被傳送到訂單編制模塊922。訂單編制模塊922可W利 用訂單信息來編制用于由客戶所下訂單的服務(wù)和資源的供給。在一些情況下,訂單編制模 塊922可W編制資源的供給,W利用訂單供給模塊924的服務(wù)支持訂購的服務(wù)。
[0234] 在某些實施例中,訂單編制模塊922使得能夠管理與每個訂單相關(guān)聯(lián)的業(yè)務(wù)流程 并且應(yīng)用業(yè)務(wù)邏輯,W確定訂單是否應(yīng)該繼續(xù)供給。在操作942,當(dāng)接收到新訂購的訂單時, 訂單編制模塊922發(fā)送請求到訂單供給模塊924, W分配資源和配置履行訂購訂單所需的那 些資源。訂單供給模塊924使得能夠分配用于客戶訂購的服務(wù)的資源。訂單供給模塊924在 由云基礎(chǔ)設(shè)施系統(tǒng)900提供的云服務(wù)和用于為了提供所請求的服務(wù)供給資源的物理實現(xiàn)層 之間提供一層抽象。訂單編制模塊922可W因此與實現(xiàn)細(xì)節(jié)隔離,諸如服務(wù)和資源是實際上 在運行中被供給還是預(yù)先被供給并且只在請求時被分配/指定。
[0235] 在操作944,一旦服務(wù)和資源被供給,所提供的服務(wù)的通知就可W通過云基礎(chǔ)設(shè)施 系統(tǒng)902的訂單供給模塊924發(fā)送給在客戶端設(shè)備904、906和/或908的客戶。
[0236] 在操作946,客戶的訂購訂單可被訂單管理和監(jiān)視模塊926管理和跟蹤。在一些情 況下,訂單管理和監(jiān)視模塊926可被配置為收集訂購訂單中的服務(wù)的使用統(tǒng)計數(shù)據(jù),諸如使 用的存儲量、傳送的數(shù)據(jù)量、用戶的數(shù)量、W及系統(tǒng)上線時間和系統(tǒng)停機時間的量。
[0237] 在某些實施例中,云基礎(chǔ)設(shè)施系統(tǒng)900可W包括身份管理模塊928。身份管理模塊 928可被配置為提供身份服務(wù),諸如在云基礎(chǔ)設(shè)施系統(tǒng)900中的訪問管理和授權(quán)服務(wù)。在一 些實施例中,身份管理模塊928可W控制關(guān)于希望利用由云基礎(chǔ)設(shè)施系統(tǒng)902提供的服務(wù)的 客戶的信息。運種信息可W包括驗證運種客戶的身份的信息和描述運些客戶被授權(quán)哪些行 為來相對于各種系統(tǒng)資源(例如,文件、目錄、應(yīng)用、通信端口、存儲器段、等等)執(zhí)行的信息。 身份管理模塊928也可W包括關(guān)于每個客戶的描述性信息和關(guān)于描述性信息可W如何W及 由誰來訪問和修改的管理。
[0238] 圖10示出了示例性計算機系統(tǒng)1000,本發(fā)明的各種實施例可W在其中被實現(xiàn)。如 在該圖中所示出的,計算機系統(tǒng)1000包括經(jīng)由總線子系統(tǒng)1002與多個外圍子系統(tǒng)通信的處 理單元1004。運些外圍子系統(tǒng)可W包括處理加速單元1006、I/O子系統(tǒng)1008、存儲子系統(tǒng) 1018和通信子系統(tǒng)1024。存儲子系統(tǒng)1018包括有形計算機可讀存儲介質(zhì)1022和系統(tǒng)存儲器 1010。
[0239] 總線子系統(tǒng)1002提供了用于讓計算機系統(tǒng)1000的各種組件和子系統(tǒng)按意圖彼此 通信的機制。雖然總線子系統(tǒng)1002被示意性地示為單條總線,但是總線子系統(tǒng)的備選實施 例可W利用多條總線??偩€子系統(tǒng)1002可W是若干種類型的總線結(jié)構(gòu)中的任何一種,包括 存儲器總線或存儲器控制器、外圍總線、W及利用任何各種總線體系結(jié)構(gòu)的局部總線。例 如,運種體系結(jié)構(gòu)可W包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強 型ISA化ISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線和外圍組件互連(PCI)總線,其可被 實現(xiàn)為按IE邸P1386.1標(biāo)準(zhǔn)制造的Mezzanine總線。
[0240] 可被實現(xiàn)為一個或多個集成電路(例如,常規(guī)微處理器或微控制器)的處理單元 1004控制計算機系統(tǒng)1000的操作。一個或多個處理器可被包括在處理單元1004中。運些處 理器可W包括單核或多核處理器。在某些實施例中,處理單元1004可被實現(xiàn)為一個或多個 獨立的處理單元1032和/或1034,其中在每個處理單元中包括單核或多核處理器。在其它實 施例中,處理單元1004也可被實現(xiàn)為通過將兩個雙核處理器集成到單個忍片中形成的四核 處理單元。
[0241] 在各種實施例,處理單元1004可W響應(yīng)于程序代碼執(zhí)行各種程序并且可W維護(hù)多 個并發(fā)執(zhí)行的程序或進(jìn)程。在任何給定時間,要被執(zhí)行的程序代碼中的一些或全部代碼可 W駐留在(一個或多個)處理器1004中和/或存儲子系統(tǒng)1018中。通過適當(dāng)?shù)木幊?,(一個或 多個)處理器1004可W提供上述各種功能。計算機系統(tǒng)1000可W附加地包括處理加速單元 1006,其可W包括數(shù)字信號處理器(DSP)、專用處理器,等等。
[0242] I/O子系統(tǒng)1008可W包括用戶界面輸入設(shè)備和用戶界面輸出設(shè)備。用戶界面輸入 設(shè)備可W包括鍵盤、諸如鼠標(biāo)或軌跡球的定點設(shè)備、結(jié)合到顯示器中的觸摸板或觸摸屏、滾 動輪、點擊輪、撥盤、按鈕、開關(guān)、鍵盤、具有語音命令識別系統(tǒng)的音頻輸入設(shè)備、麥克風(fēng)W及 其它類型的輸入設(shè)備。用戶界面輸入設(shè)備可W包括,例如,運動感測和/或手勢識別設(shè)備,諸 如的Microsoft Kineet?運動傳感器,其使得用戶能夠通過利用手勢和語音命令的自然用 戶界面控制諸如的MicrosoftXb:〇X?360游戲控制器的輸入設(shè)備并與之交互。用戶界面輸 入設(shè)備也可W包括眼睛姿勢識別設(shè)備,諸如從用戶檢測眼睛活動(例如,當(dāng)拍拍攝照片和/ 或做出菜單選擇時的"巧眼")并且將眼睛姿勢轉(zhuǎn)換為到輸入設(shè)備(例如,GoogleGlaSS?) 中的輸入的GoogleClasS?巧眼檢測器。此外,用戶界面輸入設(shè)備可W包括使用戶能夠通過 語音命令與語音識別系統(tǒng)(例如,Sirf導(dǎo)航器)交互的語音識別感測設(shè)備。
[0243] 用戶接口輸入設(shè)備也可W包括,但不限于,Ξ維(3D)鼠標(biāo)、操縱桿或指向棒、游戲 面板和繪圖板,W及音頻/視頻設(shè)備,諸如揚聲器、數(shù)碼相機、數(shù)碼攝像機、便攜式媒體播放 器、網(wǎng)絡(luò)攝像頭、圖像掃描儀、指紋掃描儀、條形碼閱讀器3D掃描儀、3D打印機、激光測距儀 和視線跟蹤設(shè)備。此外,用戶接口輸入設(shè)備可W包括,例如,醫(yī)學(xué)成像輸入設(shè)備,諸如計算機 斷層掃描、磁共振成像、正電子發(fā)射斷層攝影術(shù)、醫(yī)療超聲設(shè)備。用戶接口輸入設(shè)備也可W 包括,例如,諸如MIDI鍵盤、數(shù)字樂器等的音頻輸入設(shè)備。
[0244] 用戶接口輸出設(shè)備可W包括顯示子系統(tǒng)、指示燈,或者諸如音頻輸出設(shè)備的非視 覺顯示器,等等。顯示子系統(tǒng)可W是陰極射線管(CRT)、諸如利用液晶顯示器化CD)或等離子 顯示器的平板設(shè)備、投影設(shè)備、觸摸屏,等等。一般而言,術(shù)語"輸出設(shè)備"的使用意在包括用 于從計算機系統(tǒng)1000向用戶或其它計算機輸出信息的所有可能類型的設(shè)備和機制。例如, 用戶接口輸出設(shè)備可W包括,但不限于,在視覺上傳達(dá)文字、圖形和音頻/視頻信息的各種 顯示設(shè)備,諸如監(jiān)視器、打印機、揚聲器、耳機、汽車導(dǎo)航系統(tǒng)、繪圖儀、語音輸出設(shè)備,W及 調(diào)制解調(diào)器。
[0245] 計算機系統(tǒng)1000可W包括包含軟件元素、被示為當(dāng)前位于系統(tǒng)存儲器1010中的存 儲子系統(tǒng)1018。系統(tǒng)存儲器1010可W存儲可加載并且可在處理單元1004上執(zhí)行的程序指 令,W及在運些程序執(zhí)行期間所產(chǎn)生的數(shù)據(jù)。
[0246] 取決于計算機系統(tǒng)1000的配置和類型,系統(tǒng)存儲器1010可W是易失性的(諸如隨 機存取存儲器(RAM))和/或非易失性的(諸如只讀存儲器(ROM)、閃存存儲器,等等)dRAM通 常包含可被處理單元100位即訪問和/或目前正被處理單元1004操作和執(zhí)行的數(shù)據(jù)和/或 程序模塊。在一些實現(xiàn)中,系統(tǒng)存儲器1010可W包括多種不同類型的存儲器,例如靜態(tài)隨機 存取存儲器(SRAM)或動態(tài)隨機存取存儲器(DRAM)。在一些實現(xiàn)中,諸如在啟動期間,包含有 助于在計算機系統(tǒng)1000的元件之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS),通 常可被存儲在ROM中。作為例子,但不是限制,系統(tǒng)存儲器1010也示出了可W包括客戶端應(yīng) 用、web瀏覽器、中間層應(yīng)用、關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)等的應(yīng)用程序1012,程序數(shù)據(jù) 1014, W及操作系統(tǒng)1016。作為例子,操作系統(tǒng)1016可W包括各種版本的Micro soft Windows?\AwleMadn化811@和/或Linux操作系統(tǒng)、各種商用UNIX?或類UNIX操 作系統(tǒng)(包括但不限于各種GNU/Linux操作系統(tǒng)、GoogleChrome?操作系統(tǒng),等等)和/或 諸如 iOS、Windows? 化 one、Aiidroid?〇s、BlackBerry? 100S 和 Palmas 0S 操作系統(tǒng) 的移動操作系統(tǒng)。
[0247] 存儲子系統(tǒng)1018也可W提供用于存儲提供一些實施例的功能的基本編程和數(shù)據(jù) 結(jié)構(gòu)的有形計算機可讀存儲介質(zhì)。當(dāng)被處理器執(zhí)行時提供上述功能的軟件(程序、代碼模 塊、指令)可被存儲在存儲子系統(tǒng)1018中。運些軟件模塊或指令可被處理單元1004執(zhí)行。存 儲子系統(tǒng)1018也可W提供用于存儲根據(jù)本發(fā)明被使用的數(shù)據(jù)的儲存庫。
[0248] 存儲子系統(tǒng)1018也可W包括可被進(jìn)一步連接到計算機可讀存儲介質(zhì)1022的計算 機可讀存儲介質(zhì)讀取器1020。與系統(tǒng)存儲器1010-起并且,可選地,與其相結(jié)合,計算機可 讀存儲介質(zhì)1022可W全面地表示用于臨時和/或更持久地包含、存儲、發(fā)送和檢索計算機可 讀信息的遠(yuǎn)程、本地、固定和/或可移除存儲設(shè)備加存儲介質(zhì)。
[0249] 包含代碼或代碼的部分的計算機可讀存儲介質(zhì)1022也可W包括本領(lǐng)域已知或使 用的任何適當(dāng)?shù)慕橘|(zhì),包括存儲介質(zhì)和通信介質(zhì),諸如但不限于,W用于信息的存儲和/或 傳輸?shù)娜魏畏椒ɑ蚣夹g(shù)實現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。運可W包括有 形的、非暫態(tài)計算機可讀存儲介質(zhì),諸如RAM、R0M、電可擦除可編程ROM化EPROM)、閃存存儲 器或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光學(xué)儲存器、磁帶盒、磁帶、磁盤 儲存器或其它磁存儲設(shè)備,或者其它有形的計算機可讀介質(zhì)。當(dāng)被指定時,運也可W包括非 有形的、臨時計算機可讀介質(zhì),諸如數(shù)據(jù)信號、數(shù)據(jù)傳輸,或者可被用來發(fā)送期望信息并且 可被計算系統(tǒng)1000訪問的任何其它介質(zhì)。
[0250] 作為例子,計算機可讀存儲介質(zhì)1022可W包括從不可移除的非易失性磁介質(zhì)讀取 或?qū)懙狡涞挠脖P驅(qū)動器、從可移除的非易失性磁盤讀取或?qū)懙狡涞拇疟P驅(qū)動器、W及從可 移除的非易失性光盤,諸如CD R〇M、DVD和Blu-Ray?盤或其它光學(xué)介質(zhì),讀取或?qū)懙狡涞?光盤驅(qū)動器。計算機可讀存儲介質(zhì)1022可W包括,但不限于,Zip'^驅(qū)動器、閃存卡、通用串 行總線化SB)閃存驅(qū)動器、安全數(shù)字(SD)卡、DVD盤、數(shù)字音頻帶,等等。計算機可讀存儲介質(zhì) 1022也可W包括基于非易失性存儲器的固態(tài)驅(qū)動器(SSD),諸如基于閃存存儲器的SSD、企 業(yè)閃存驅(qū)動器、固態(tài)ROM等,基于易失性存儲器的SSD,諸如固態(tài)RAM、動態(tài)RAM、靜態(tài)RAM,基于 DRAM的SSD,磁阻RAM(MRAM)SSD,W及使用基于DRAM和閃存存儲器的SSD的組合的混合SSD。 盤驅(qū)動器及其相關(guān)聯(lián)的計算機可讀介質(zhì)可W為計算機系統(tǒng)1000提供計算機可讀指令、數(shù)據(jù) 結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的非易失性存儲。
[0251] 通信子系統(tǒng)1024提供到其它計算機系統(tǒng)和網(wǎng)絡(luò)的接口。通信子系統(tǒng)1024用作用于 從其它系統(tǒng)接收數(shù)據(jù)和從計算機系統(tǒng)1000向其它系統(tǒng)發(fā)送數(shù)據(jù)的接口。例如,通信子系統(tǒng) 1024可W使計算機系統(tǒng)1000能夠經(jīng)由互聯(lián)網(wǎng)連接到一個或多個設(shè)備。在一些實施例中,通 信子系統(tǒng)1024可W包括用于訪問無線語音和/或數(shù)據(jù)網(wǎng)絡(luò)的射頻(RF)收發(fā)器組件(例如,利 用蜂窩電話技術(shù),諸如3G、4G或抓GE(用于全球演進(jìn)的增強型數(shù)據(jù)速率)的先進(jìn)數(shù)據(jù)網(wǎng)絡(luò)技 術(shù),Wi-Fi (I趾E 802.11系列標(biāo)準(zhǔn)),或其它移動通信技術(shù),或其任意組合)、全球定位系統(tǒng) (GPS)接收器組件和/或其它組件。在一些實施例中,作為無線接口的附加或者替代,通信子 系統(tǒng)1024可W提供有線網(wǎng)絡(luò)連接(例如,W太網(wǎng))。
[0252] 在一些實施例中,通信子系統(tǒng)1024也可W代表可W使用計算機系統(tǒng)1000的一個或 多個用戶接收結(jié)構(gòu)化和/或非結(jié)構(gòu)化數(shù)據(jù)饋送1026、事件流1028、事件更新1030等形式的輸 入通信。
[0253] 作為例子,通信子系統(tǒng)1024可被配置為實時地從社交媒體網(wǎng)絡(luò)和/或其它通信服 務(wù)的用戶接收數(shù)據(jù)饋送1026,諸如Twitter?饋送、Facebook?更新、諸如豐富站點摘要 (RSS)饋送的web饋送和/或來自一個或多個第Ξ方信息源的實時更新。
[0254] 此外,通信子系統(tǒng)1024也可被配置為接收連續(xù)數(shù)據(jù)流形式的數(shù)據(jù),運可W包括本 質(zhì)上可W是連續(xù)的或無界的沒有明確終止的實時事件的事件流1028和/或事件更新1030。 產(chǎn)生連續(xù)數(shù)據(jù)的應(yīng)用的例子可W包括,例如,傳感器數(shù)據(jù)應(yīng)用、金融報價機、網(wǎng)絡(luò)性能測量 工具(例如,網(wǎng)絡(luò)監(jiān)視和流量管理應(yīng)用)、點擊流分析工具、汽車流量監(jiān)視,等等。
[0255] 通信子系統(tǒng)1024也可被配置為向一個或多個數(shù)據(jù)庫輸出結(jié)構(gòu)化和/或非結(jié)構(gòu)化數(shù) 據(jù)饋送1026、事件流1028、事件更新1030,等等,運一個或多個數(shù)據(jù)庫可W與禪合到計算機 系統(tǒng)1000的一個或多個流式數(shù)據(jù)源計算機通信。
[0256] 計算機系統(tǒng)1000可W是各種類型之一,包括手持便攜式設(shè)備(例如,iPhone?蜂 窩電話、iPad?計算平板、PDA)、可穿戴設(shè)備(例如,GoogleGlass?頭戴式顯示器)、PC、工 作站、大型機、信息站,服務(wù)器機架,或任何其它數(shù)據(jù)處理系統(tǒng)。
[0257] 由于計算機和網(wǎng)絡(luò)的不斷變化的本質(zhì),在該圖中繪出的計算機系統(tǒng)1000的描述僅 僅要作為具體的例子。具有比該圖中繪出的系統(tǒng)更多或更少組件的許多其它配置是可能 的。例如,定制的硬件也可被使用和/或特定的元素可W用硬件、固件、軟件(包括applets) 或它們的組合來實現(xiàn)。另外,也可W采用到諸如網(wǎng)絡(luò)輸入/輸出設(shè)備之類的其它計算設(shè)備的 連接?;诒疚奶峁┑墓_內(nèi)容和示教,本領(lǐng)域普通技術(shù)人員將認(rèn)識到實現(xiàn)各種實施例的 其它方式和/或方法。換句話說,在一些實施例中,作為整體,計算機系統(tǒng)1000的配置可W包 括:用于接收包括至少第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的多個輸入數(shù)據(jù)流的裝置;用于 生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型的裝置;用于生成用于第二輸入數(shù)據(jù)流的第 二動態(tài)數(shù)據(jù)類型的裝置;用于至少部分地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組合 第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流W生成組合數(shù)據(jù)流的裝置;W及用于由計算機系統(tǒng)處理 對組合數(shù)據(jù)流的連續(xù)查詢W檢測樣式的裝置。
[0258] 圖11示出了本發(fā)明的各種實施例可W在其中實現(xiàn)的示例性服務(wù)提供商設(shè)備的簡 化框圖。服務(wù)提供商設(shè)備1100的模塊可W由硬件、軟件或硬件和軟件的組合實現(xiàn),W執(zhí)行本 發(fā)明的原理。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖11中所描述的模塊可被組合或分離為子模塊,W 實現(xiàn)如上所述的本發(fā)明的原理。因此,本文的描述可W支持本文所述的功能模塊的任何可 能的組合或分離或進(jìn)一步定義。
[0259] 如圖11中所示,服務(wù)提供商設(shè)備1100可W包括輸入數(shù)據(jù)流接收單元1101、第一動 態(tài)數(shù)據(jù)類型生成單元1103、第二動態(tài)數(shù)據(jù)類型生成單元1105、組合數(shù)據(jù)流生成單元1107W 及樣式檢測單元1109。輸入數(shù)據(jù)流接收單元1101可被配置為接收包括至少第一輸入數(shù)據(jù)流 和第二輸入數(shù)據(jù)流的多個輸入數(shù)據(jù)流。第一動態(tài)數(shù)據(jù)類型生成單元1103可被配置為生成用 于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型。第二動態(tài)數(shù)據(jù)類型生成單元1105可被配置為成生 用于第二輸入數(shù)據(jù)流的第二動態(tài)數(shù)據(jù)類型。組合數(shù)據(jù)流生成單元1107可被配置為至少部分 地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組合第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流,W 生成組合數(shù)據(jù)流。樣式檢測單元1109可被配置為處理對組合數(shù)據(jù)流的連續(xù)查詢,W檢測樣 式。在一種實施例中,每個單元可被實現(xiàn)為通過讀取計算機程序指令來執(zhí)行對應(yīng)處理的處 理器。
[0260] 在一種實施例中,第一動態(tài)數(shù)據(jù)類型生成單元1103還可被配置為識別第一輸入數(shù) 據(jù)流的第一屬性不存在于第二數(shù)據(jù)流中;W及生成用于第一屬性的第一動態(tài)數(shù)據(jù)類型。
[0261] 在一種實施例中,第一動態(tài)數(shù)據(jù)類型可被配置為存儲對應(yīng)于第一輸入數(shù)據(jù)流的第 一屬性的第一數(shù)據(jù)值。
[0262] 在一種實施例中,第二動態(tài)數(shù)據(jù)類型生成單元1105還可被配置為識別第二輸入數(shù) 據(jù)流的第二屬性不存在于第一數(shù)據(jù)流中;W及生成用于第二屬性的第二動態(tài)數(shù)據(jù)類型,第 二動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng)于第二輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。
[0263] 在一種實施例中,服務(wù)提供商設(shè)備1100還可W包括共同屬性識別單元1111和同質(zhì) 模式生成單元1113。共同屬性識別單元1111可被配置為識別共同屬性,該共同屬性被識別 為在第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流中存在。同質(zhì)模式生成單元1113可被配置為生成同 質(zhì)模式,該同質(zhì)模式包括第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的一個或多個屬性的表示,該 表示包括至少共同屬性、第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型。
[0264] 在一種實施例中,同質(zhì)模式可W包括流名稱標(biāo)識符屬性、與第一輸入數(shù)據(jù)流關(guān)聯(lián) 的第一時間戳屬性或與第二輸入數(shù)據(jù)流關(guān)聯(lián)的第二時間戳屬性當(dāng)中至少一個。
[0265] 在一種實施例中,組合數(shù)據(jù)流生成單元1107還可被配置為從第一輸入數(shù)據(jù)流選擇 第一組元組,第一輸入數(shù)據(jù)流由同質(zhì)模式識別,從第二輸入數(shù)據(jù)流選擇第二組元組,第二輸 入數(shù)據(jù)流由同質(zhì)模式識別,并且對第一組元組和第二組元組處理子查詢,W生成組合數(shù)據(jù) 流。
[0266] 在一種實施例中,樣式可W至少部分地基于分析組合數(shù)據(jù)流來檢測,其中樣式識 別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第二輸入數(shù)據(jù)流中的第二事件。
[0267] 圖11中所描述的模塊可被組合或分離成子模塊,W實現(xiàn)如上所述本發(fā)明的原理。 例如,第一動態(tài)數(shù)據(jù)類型生成單元1103和第二動態(tài)數(shù)據(jù)類型生成單元1105可被集成為動態(tài) 數(shù)據(jù)類型生成單元。集成的動態(tài)數(shù)據(jù)類型生成單元還可W結(jié)合共同屬性識別單元1111和同 質(zhì)模式生成單元1113。
[0268] 本領(lǐng)域技術(shù)人員可W理解,服務(wù)提供商設(shè)備1100可W是在前面的示例性實施例中 描述的服務(wù)提供商計算機106的示例性實現(xiàn)。本領(lǐng)域技術(shù)人員還可W理解,服務(wù)提供商設(shè)備 1100可W根據(jù)期望被修改,W執(zhí)行根據(jù)本發(fā)明的原理的任何操作或它們的組合。
[0269] 在前述的說明書中,本發(fā)明的各方面參照其具體實施例進(jìn)行了描述,但本領(lǐng)域技 術(shù)人員將認(rèn)識到,本發(fā)明不限于此。上述發(fā)明的各個特征和各方面可被單獨或聯(lián)合使用。另 夕h在不背離本說明書的更廣泛精神和范圍的情況下,實施例可W在除本文所述的那些之 外的任何數(shù)目的環(huán)境和應(yīng)用中被使用。因此,本說明書和附圖應(yīng)當(dāng)被認(rèn)為是說明性而不是 限制性的。
【主權(quán)項】
1. 一種計算機實現(xiàn)的方法,包括: 由利用計算機可執(zhí)行指令配置的計算機系統(tǒng),接收包括至少第一輸入數(shù)據(jù)流和第二輸 入數(shù)據(jù)流的多個輸入數(shù)據(jù)流; 由該計算機系統(tǒng),生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型; 由該計算機系統(tǒng),生成用于第二輸入數(shù)據(jù)流的第二動態(tài)數(shù)據(jù)類型; 由該計算機系統(tǒng),至少部分地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組合第一輸 入數(shù)據(jù)流和第二輸入數(shù)據(jù)流,以生成組合數(shù)據(jù)流;及 由該計算機系統(tǒng),處理對組合數(shù)據(jù)流的連續(xù)查詢,以檢測樣式。2. 如權(quán)利要求1所述的計算機實現(xiàn)的方法,其中生成第一動態(tài)數(shù)據(jù)類型包括: 識別第一輸入數(shù)據(jù)流的第一屬性不存在于第二數(shù)據(jù)流中;及 生成用于第一屬性的第一動態(tài)數(shù)據(jù)類型。3. 如權(quán)利要求2所述的計算機實現(xiàn)的方法,其中第一動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng) 于第一輸入數(shù)據(jù)流的第一屬性的第一數(shù)據(jù)值。4. 如權(quán)利要求1-3中任何一項所述的計算機實現(xiàn)的方法,其中生成第二動態(tài)數(shù)據(jù)類型 包括: 識別第二輸入數(shù)據(jù)流的第二屬性不存在于第一數(shù)據(jù)流中;及 生成用于第二屬性的第二動態(tài)數(shù)據(jù)類型,第二動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng)于第二 輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。5. 如權(quán)利要求1-4中任何一項所述的計算機實現(xiàn)的方法,還包括: 識別共同屬性,該共同屬性被識別為在第一輸入數(shù)據(jù)流中存在并在第二輸入數(shù)據(jù)流中 存在;及 生成同質(zhì)模式,該同質(zhì)模式包括第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的一個或多個屬性 的表示,該表示包括至少共同屬性、第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型。6. 如權(quán)利要求5所述的計算機實現(xiàn)的方法,其中同質(zhì)模式包括流名稱標(biāo)識符屬性、與第 一輸入數(shù)據(jù)流關(guān)聯(lián)的第一時間戳屬性或者與第二輸入數(shù)據(jù)流關(guān)聯(lián)的第二時間戳屬性當(dāng)中 至少一個。7. 如權(quán)利要求5或6所述的計算機實現(xiàn)的方法,其中組合第一輸入數(shù)據(jù)流和第二輸入數(shù) 據(jù)流還包括: 從第一數(shù)據(jù)流選擇第一組元組,第一輸入數(shù)據(jù)流由同質(zhì)模式識別; 從第二輸入數(shù)據(jù)流選擇第二組元組,第二輸入數(shù)據(jù)流由同質(zhì)模式識別;及 處理對第一組元組和第二組元組的子查詢,以生成組合數(shù)據(jù)流。8. 如權(quán)利要求1-7中任何一項所述的計算機實現(xiàn)的方法,其中樣式是至少部分地基于 分析所述組合數(shù)據(jù)流來檢測的,其中樣式識別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第 二輸入數(shù)據(jù)流中的第二事件。9. 一種系統(tǒng),包括: 存儲多條指令的存儲器;及 被配置為訪問該存儲器的處理器,其中處理器還被配置為執(zhí)行所述多條指令,以便至 少: 接收識別第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的連續(xù)查詢; 識別用于第一輸入數(shù)據(jù)流的第一屬性的第一動態(tài)數(shù)據(jù)類型; 識別用于第二輸入數(shù)據(jù)流的第二屬性的第二動態(tài)數(shù)據(jù)類型; 至少部分地基于在第一輸入數(shù)據(jù)流中識別出的第一動態(tài)數(shù)據(jù)類型和在第二輸入數(shù)據(jù) 流中識別出的第二動態(tài)數(shù)據(jù)類型生成組合數(shù)據(jù)流;及 執(zhí)行對組合數(shù)據(jù)流的連續(xù)查詢,以檢測樣式。10. 如權(quán)利要求9所述的系統(tǒng),其中至少一個處理器被配置為執(zhí)行識別第一輸入數(shù)據(jù)流 的第一屬性不存在于第二數(shù)據(jù)流中的計算機可執(zhí)行指令。11. 如權(quán)利要求9或10所述的系統(tǒng),其中至少一個處理器被配置為執(zhí)行識別第二輸入數(shù) 據(jù)流的第二屬性不存在于第一數(shù)據(jù)流中的計算機可執(zhí)行指令。12. 如權(quán)利要求9-11中任何一項所述的系統(tǒng),其中至少一個處理器還被配置為執(zhí)行計 算機可執(zhí)行指令,以便: 識別共同屬性,該共同屬性被識別為存在于第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流中;及 生成同質(zhì)模式,該同質(zhì)模式包括至少共同屬性、第一屬性、第一動態(tài)數(shù)據(jù)類型、第二屬 性和第二動態(tài)數(shù)據(jù)類型的表示。13. 如權(quán)利要求12所述的系統(tǒng),其中同質(zhì)模式還包括流名稱標(biāo)識符屬性、與第一輸入數(shù) 據(jù)流關(guān)聯(lián)的第一時間戳屬性或者與第二輸入數(shù)據(jù)流關(guān)聯(lián)的第二時間戳屬性當(dāng)中至少一個。14. 如權(quán)利要求13所述的系統(tǒng),其中至少一個處理器還被配置為執(zhí)行計算機可執(zhí)行指 令,以通過執(zhí)行用于執(zhí)行以下動作的指令來生成組合數(shù)據(jù)流: 從第一數(shù)據(jù)流選擇第一組元組,第一輸入數(shù)據(jù)流由同質(zhì)模式識別; 從第二輸入數(shù)據(jù)流選擇第二組元組,第二輸入數(shù)據(jù)流由同質(zhì)模式識別;及 處理對第一組元組和第二組元組的子查詢,以生成組合數(shù)據(jù)流。15. 如權(quán)利要求9-14中任何一項所述的系統(tǒng),其中樣式是至少部分地基于分析述組合 數(shù)據(jù)流來檢測的,其中樣式識別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第二輸入數(shù)據(jù)流 中的第二事件。16. -種或多種存儲可由一個或多個處理器執(zhí)行的計算機可執(zhí)行指令的非暫態(tài)計算機 可讀介質(zhì),計算機可執(zhí)行指令包括: 使一個或多個處理器接收包括至少第一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流的多個輸入數(shù) 據(jù)流的指令; 使一個或多個處理器生成用于第一輸入數(shù)據(jù)流的第一動態(tài)數(shù)據(jù)類型的指令; 使一個或多個處理器生成用于第二輸入數(shù)據(jù)流的第二動態(tài)數(shù)據(jù)類型的指令; 使一個或多個處理器至少部分地基于第一動態(tài)數(shù)據(jù)類型和第二動態(tài)數(shù)據(jù)類型組合第 一輸入數(shù)據(jù)流和第二輸入數(shù)據(jù)流以生成組合數(shù)據(jù)流的指令;及 使一個或多個處理器處理對組合數(shù)據(jù)流的連續(xù)查詢以檢測樣式的指令。17. 如權(quán)利要求16所述的計算機可讀介質(zhì),其中生成第一動態(tài)數(shù)據(jù)類型的指令還包括 用于執(zhí)行以下動作的指令: 識別第一輸入數(shù)據(jù)流的第一屬性不存在于第二數(shù)據(jù)流中;及 生成用于第一屬性的第一動態(tài)數(shù)據(jù)類型,第一動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng)于第一 輸入數(shù)據(jù)流的第一屬性的第一數(shù)據(jù)值。18. 如權(quán)利要求16或17所述的計算機可讀介質(zhì),其中生成第二動態(tài)數(shù)據(jù)類型的指令還 包括使一個或多個處理器執(zhí)行以下動作的指令: 識別第二輸入數(shù)據(jù)流的第二屬性不存在于第一數(shù)據(jù)流中;及 生成用于第二屬性的第二動態(tài)數(shù)據(jù)類型,第二動態(tài)數(shù)據(jù)類型被配置為存儲對應(yīng)于第二 輸入數(shù)據(jù)流的第二屬性的第二數(shù)據(jù)值。19. 如權(quán)利要求16-18中任何一項所述的計算機可讀介質(zhì),其中計算機可執(zhí)行指令還包 括: 使一個或多個處理器識別共同屬性的指令,該共同屬性被識別為在第一輸入數(shù)據(jù)流中 存在并在第二輸入數(shù)據(jù)流中存在; 使一個或多個處理器生成同質(zhì)模式的指令,該同質(zhì)模式包括第一輸入數(shù)據(jù)流和第二輸 入數(shù)據(jù)流的一個或多個屬性的表示,該表示包括至少共同屬性、第一動態(tài)數(shù)據(jù)類型和第二 動態(tài)數(shù)據(jù)類型;及 使一個或多個處理器至少部分地基于同質(zhì)模式生成組合數(shù)據(jù)流的指令。20. 如權(quán)利要求16-19中任何一項所述的計算機可讀介質(zhì),其中計算機可執(zhí)行指令還包 括使一個或多個處理器至少部分地基于分析所述組合數(shù)據(jù)流來檢測樣式的指令,其中樣式 識別第一輸入數(shù)據(jù)流中的第一事件,后面跟著第二輸入數(shù)據(jù)流中的第二事件。
【文檔編號】G06F17/30GK105993011SQ201480065473
【公開日】2016年10月5日
【申請日】2014年12月4日
【發(fā)明人】P·卡里, A·斯里尼瓦桑, S·比施諾伊
【申請人】甲骨文國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
荃湾区| 神木县| 五常市| 德化县| 奉新县| 郧西县| 上栗县| 南溪县| 云和县| 花莲市| 陈巴尔虎旗| 历史| 乌拉特后旗| 罗源县| 华阴市| 望江县| 满洲里市| 鄂托克旗| 溧阳市| 静宁县| 成都市| 洞口县| 宁波市| 广饶县| 错那县| 凭祥市| 营山县| 湘潭市| 西平县| 武乡县| 迁西县| 无极县| 察雅县| 双峰县| 阳西县| 洪江市| 扶风县| 南开区| 炉霍县| 双桥区| 攀枝花市|