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

對于事件流數(shù)據(jù)管理的統(tǒng)一的窗口支持的制作方法

文檔序號:6606059閱讀:212來源:國知局
專利名稱:對于事件流數(shù)據(jù)管理的統(tǒng)一的窗口支持的制作方法
技術(shù)領(lǐng)域
本說明書涉及事件流數(shù)據(jù)管理。
背景技術(shù)
在傳統(tǒng)的數(shù)據(jù)庫和數(shù)據(jù)管理系統(tǒng)中,數(shù)據(jù)以基本上靜態(tài)的形式存儲在一個或多個 計算機(jī)存儲器內(nèi)。也就是說,數(shù)據(jù)一般在期望時可以改變,但是在任何給定的時刻,所存儲 的數(shù)據(jù)代表離散的、靜態(tài)的、有限的、永久的、可以對其例如發(fā)出查詢的數(shù)據(jù)集。但是,在許多設(shè)置中,可能不能以這種方式來有效地或有益地管理數(shù)據(jù)。具體來 說,可能發(fā)生數(shù)據(jù)基本上連續(xù)地到達(dá),像與例如真實(shí)世界的事件對應(yīng)的數(shù)據(jù)點(diǎn)流那樣。因 此,已經(jīng)開發(fā)了數(shù)據(jù)流管理系統(tǒng)(DSMS)以有效地利用這樣的數(shù)據(jù)。例如,代表特定股票的價格的數(shù)據(jù)一般會隨著一天的過程而波動,并且數(shù)據(jù)流管 理系統(tǒng)可以例如在相等的時間間隔或隨著價格變化而連續(xù)地接收更新后的股票價格。這樣 的數(shù)據(jù)流的其它示例包括由傳感器收集的溫度或其它環(huán)境數(shù)據(jù)、計算機(jī)網(wǎng)絡(luò)分析、在醫(yī)院 收集的病人健康數(shù)據(jù)、或描述制造過程或其它商業(yè)過程的數(shù)據(jù)。因為這樣的數(shù)據(jù)流可能以快速和/或不可預(yù)測的方式或許從分布的不同種類的 源接收到,并且可能是隨時間變化的和基本上無界限的,所以它們提出了對包含的數(shù)據(jù)的 有效使用和處理的挑戰(zhàn)。這樣的挑戰(zhàn)可能由現(xiàn)有數(shù)據(jù)流管理系統(tǒng)的語法、語義及其它數(shù)據(jù) 處理方面的不一致而加劇。

發(fā)明內(nèi)容
根據(jù)一個一般方面,一種包括記錄在計算機(jī)可讀介質(zhì)上的指令的計算機(jī)系統(tǒng)可 以包括查詢處理器,該查詢處理器被配置為從流應(yīng)用接收要對包括代表事件的多個元組 (tuple)的數(shù)據(jù)流應(yīng)用的查詢。所述系統(tǒng)可以包括流窗口管理器,被配置為以定義包括元 組的子集的窗口的規(guī)范(specification)來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容定義 為具有通過其來指定所述內(nèi)容的范圍屬性的元組的范圍,使用指定窗口隨時間相對于所述 內(nèi)容的移動的同步屬性來定義何時更新所述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi) 容的評估的評估屬性來定義所述評估。所述系統(tǒng)可以包括查詢翻譯器,被配置為翻譯查 詢,包括將范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng)(DSMS)的流處理語言, 從而獲得翻譯后的查詢;和DSMS中介體(mediator),被配置為將翻譯后的查詢提供給DSMS 以用于對其進(jìn)行處理。實(shí)施方式可以具有以下特征中的一個或多個。例如,所述系統(tǒng)可以包括結(jié)果管理 器,被配置為從DSMS接收查詢結(jié)果并且將該結(jié)果提供給所述流應(yīng)用。所述范圍屬性可以包 括元組的數(shù)目的規(guī)范、時間的規(guī)范、數(shù)據(jù)流的一個或多個字段的規(guī)范、和/或檢測到的與所 述元組相關(guān)聯(lián)的模式的規(guī)范。所述同步屬性可以包括元組的數(shù)目的規(guī)范、更新所述窗口的 時間的規(guī)范、和/或檢測到的與所述元組相關(guān)聯(lián)的模式的規(guī)范。所述評估屬性可以包括所 述元組中的一個或多個的規(guī)范、評估所述窗口的時間的規(guī)范、和/或檢測到的與用于觸發(fā)
4所述窗口的評估的元組相關(guān)聯(lián)的模式的規(guī)范。所述查詢翻譯器可以包括編譯器,被配置為解析所述查詢,并且還可以被配置為 選擇與DSMS相關(guān)聯(lián)的查詢語言相關(guān)聯(lián)的映射表并且利用該映射表執(zhí)行經(jīng)解析的查詢的映 射,以提供所述查詢的語法翻譯、語義翻譯和行為翻譯以獲得翻譯后的查詢。數(shù)據(jù)流可以包 括被表達(dá)為關(guān)系數(shù)據(jù)流或XML數(shù)據(jù)流或者它們的組合的一個或多個數(shù)據(jù)流。根據(jù)另一個一般方面,一種計算機(jī)實(shí)現(xiàn)的方法可以包括從流應(yīng)用接收要對包括 代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢,以及以定義包括所述元組的子集的窗口的規(guī)范 來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容定義為具有通過其來指定所述內(nèi)容的范圍屬性 的元組的范圍,使用指定窗口隨時間相對于所述內(nèi)容的移動的同步屬性來定義何時更新所 述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi)容的評估的評估屬性來定義所述評估。所 述方法可以包括翻譯所述查詢,包括將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流 管理系統(tǒng)的流處理語言,從而獲得翻譯后的查詢;以及將翻譯后的查詢提供給所述數(shù)據(jù)流 管理系統(tǒng)以用于對其進(jìn)行處理。實(shí)施方式可以包括以下特征中的一個或多個。例如,所述方法可以包括從DSMS接 收查詢結(jié)果并且將該結(jié)果提供給所述流應(yīng)用。所述翻譯查詢可以包括解析所述查詢,選擇 與DSMS相關(guān)聯(lián)的查詢語言相關(guān)聯(lián)的映射表,并且利用該映射表執(zhí)行解析的查詢的映射,以 提供所述查詢的語法翻譯、語義翻譯和行為翻譯以獲得翻譯后的查詢。根據(jù)另一個一般方面,一種計算機(jī)程序產(chǎn)品可以被有形地包含在計算機(jī)可讀介質(zhì) 上,并且可以包括在執(zhí)行時被配置為使數(shù)據(jù)處理裝置執(zhí)行以下步驟的指令從流應(yīng)用接收 要對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢,以及以定義包括所述元組的子集的窗 口的規(guī)范來表達(dá)所述查詢,所述規(guī)范將所述窗口的內(nèi)容定義為具有通過其來指定所述內(nèi)容 的范圍屬性的元組的范圍,使用指定窗口隨時間相對于所述內(nèi)容的移動的同步屬性來定義 何時更新所述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi)容的評估的評估屬性來定義所 述評估。所述指令在被執(zhí)行時可以被配置為運(yùn)行所述數(shù)據(jù)處理裝置以翻譯所述查詢,包括 將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng)的流處理語言,從而獲得翻 譯后的查詢;以及將翻譯后的查詢提供給所述數(shù)據(jù)流管理系統(tǒng)以用于對其進(jìn)行處理。實(shí)施方式可以包括以下特征中的一個或多個。例如,所述指令還可以使得所述數(shù) 據(jù)處理裝置從DSMS接收查詢結(jié)果并且將該結(jié)果提供給所述流應(yīng)用。所述指令還可以使得 所述數(shù)據(jù)處理裝置翻譯所述查詢,包括解析所述查詢,選擇與所述DSMS相關(guān)聯(lián)的查詢語言 相關(guān)聯(lián)的映射表,并且利用該映射表執(zhí)行解析的查詢的映射,以提供所述查詢的語法翻譯、 語義翻譯和行為翻譯以獲得翻譯后的查詢。在附圖和下面的說明書中闡述一個或多個實(shí)施方式的細(xì)節(jié)。其它特征將從說明書 和附圖以及從權(quán)利要求書中變得清楚。


圖1是對于事件流數(shù)據(jù)管理的統(tǒng)一的窗口支持的系統(tǒng)的框圖。圖2是示出了圖1的系統(tǒng)的示例操作的流程圖。圖3是用于圖1的系統(tǒng)中的數(shù)據(jù)流和相關(guān)窗口定義的時序圖。圖4是圖1的系統(tǒng)的替換實(shí)施方式的框圖。
圖5是圖1的系統(tǒng)的另一個替換實(shí)施方式的框圖。圖6是圖5的翻譯器的框圖。圖7是示出了圖1和圖4-6的系統(tǒng)的示例操作的流程圖。圖8A-8E是示例數(shù)據(jù)流和特定的窗口定義的框圖。圖9是示出了其中可以實(shí)現(xiàn)圖1和圖4-6的系統(tǒng)的示例情形的框圖。
具體實(shí)施例方式圖1是對于事件流數(shù)據(jù)管理的統(tǒng)一的窗口支持的系統(tǒng)100的框圖。在圖1的示例 中,數(shù)據(jù)流查詢中介體102位于數(shù)據(jù)流管理系統(tǒng)(DSMS) 104和流應(yīng)用106之間,并且提供用 于翻譯或調(diào)節(jié)DSMS 104和流應(yīng)用106之間的交互的統(tǒng)一、完整的框架。結(jié)果,數(shù)據(jù)流查詢 中介體102可以用作使得流應(yīng)用106在DSMS 104的不同的示例之間可移植、并且使得流應(yīng) 用106使用單一、統(tǒng)一的語言(例如,語法和語義)來指定與DSMS 104的一個或多個示例 的交互的中間件。用這種方法,流應(yīng)用106的用戶可以以簡單可靠的方式而不用必須學(xué)習(xí) 多個語言來執(zhí)行就體驗到DSMS 104的一個或多個示例的益處。換句話說,數(shù)據(jù)流查詢中介 體102可以用作現(xiàn)有數(shù)據(jù)流管理系統(tǒng)104上的網(wǎng)關(guān)(gateway),并且可以為不同種類的數(shù)據(jù) 輸入、查詢和事件處理提供例如單一標(biāo)準(zhǔn)的API和語言。如下所述,這樣的標(biāo)準(zhǔn)的API和語 言實(shí)際上可以由需要流分析的所有這樣的流應(yīng)用106使用。在圖1中,可以看出,可以在流應(yīng)用106處從用戶或者其它系統(tǒng)/服務(wù)接收諸如連 續(xù)的查詢之類的查詢108,并且可以看出,反過來可以提供例如經(jīng)流化的結(jié)果110和/或存 儲的結(jié)果112??梢韵鄬τ跀?shù)據(jù)流源114的數(shù)據(jù)流而執(zhí)行查詢108,該數(shù)據(jù)流在圖1中被示 出為在DSMS 104處接收。如圖所示,數(shù)據(jù)流中的至少一些數(shù)據(jù)可以被存儲在存儲數(shù)據(jù)的數(shù) 據(jù)庫116中。如圖1所示并且如下所述,也可以在流應(yīng)用106處或在數(shù)據(jù)流查詢中介體102 處接收來自于數(shù)據(jù)流源114的一些或所有數(shù)據(jù)流。DSMS 104可以代表修改的、傳統(tǒng)的、或基本上傳統(tǒng)的DSMS。因而,也可以使用其它 傳統(tǒng)名稱,諸如(BEPS)商業(yè)事件處理系統(tǒng)、SPE(流處理引擎)或CEP(復(fù)雜事件處理)來 指代DSMS 104。在任何情況下,可以將DSMS 104理解為代表接收一個或多個數(shù)據(jù)流源114 的數(shù)據(jù)流或與一個或多個數(shù)據(jù)流源114的數(shù)據(jù)流交互的系統(tǒng)。如上所述,已知這樣的數(shù)據(jù)流存在于各種環(huán)境和設(shè)置中。為了僅僅給出幾個示例, DSMS 104可以接收代表網(wǎng)絡(luò)監(jiān)視、網(wǎng)絡(luò)業(yè)務(wù)工程、電信呼叫記錄、金融應(yīng)用、傳感器網(wǎng)絡(luò)、制 造過程、網(wǎng)絡(luò)日志和點(diǎn)擊流、以及以處理大量數(shù)據(jù)的方式流化的大量數(shù)據(jù)集(發(fā)生在其內(nèi) 或相對于其發(fā)生的事件)或與之相關(guān)聯(lián)的數(shù)據(jù)流。因而,這樣的數(shù)據(jù)流可以出現(xiàn)在企業(yè)(大 型或小型)中、政府部門內(nèi)和跨政府部門間、大型與科學(xué)相關(guān)的協(xié)作單位、圖書館(數(shù)字的 或其它)、戰(zhàn)場或“智能”家庭中。如我們所知,這樣的數(shù)據(jù)流可以是連續(xù)的、無界限的、快速的、有噪聲的和隨時間 變化的。此外,這樣的數(shù)據(jù)流可以例如在它們的形式/格式方面和/或?qū)τ跀?shù)據(jù)流源自的 源而不同。例如,接收到的數(shù)據(jù)可以是關(guān)系116(例如,表示為類似于傳統(tǒng)的關(guān)系數(shù)據(jù)庫的 關(guān)系數(shù)據(jù))或XML 118(例如,表示為可擴(kuò)展標(biāo)記語言(XML)數(shù)據(jù))。因此,處理流化的關(guān)系 和XML數(shù)據(jù)二者、組合他們、并以兩種格式的任一組合公布結(jié)果可能是必需的。例如,可能發(fā)生消費(fèi)者訂單未被正確交付。涉及的應(yīng)用(其中的一個或多個可以代表流應(yīng)用106、數(shù)據(jù)流源114/118/120)可以包括企業(yè)資源規(guī)劃(Enterprise Resource Planning,ERP)應(yīng)用、顧客人際管理(CustomerRelationship Management,CRM)應(yīng)用、商業(yè) 智能(Business Intelligence, Bi)應(yīng)用和 / 或數(shù)據(jù)倉庫(data warhouse, Dff)應(yīng)用。ERP 應(yīng)用可以提供關(guān)系數(shù)據(jù)流而BI應(yīng)用可以提供XML數(shù)據(jù)流。CRM可能需要接收與訂單接收、 訂單裝配、訂單交付或提供訂單的其它方面有關(guān)的事件,以便能夠確定問題的原因并且與 顧客交互以處理顧客對于錯誤的訂單的擔(dān)擾。因而,如這里所述,系統(tǒng)100幫助提供一個集 成平臺,其可以以實(shí)時方式從這樣不同的異類信息資源識別事件和模式。為了能夠獲得期望的數(shù)據(jù)/結(jié)果110/112,流應(yīng)用的用戶必須能夠以容易理解和 便利的方式以及以輸出期望的結(jié)果的方式指定該查詢108。例如,如果用戶期望股票的平均 股票價格,該價格從遵循價格的大于的任意變化的十個后續(xù)價格確定而來,則用戶必須 能夠這樣指定。可以理解,在這種情況下并且在相似的情況下,用戶可能試圖指定這樣的期 望但是可能沒有正確地這樣做。在這種情況下,用戶可能接收不正確的結(jié)果110,然而用戶 可能不知道結(jié)果是不正確的。因此,重要的是,用戶能夠以可預(yù)測的、正確的方式指定查詢 108。在圖1中,流應(yīng)用106被示出為包括圖形用戶界面(⑶I) 122,用戶可以利用⑶I 122提交查詢108。當(dāng)然,⑶I 122僅僅是示例,并且可以理解,可以使用其它的查詢輸入技 術(shù)。⑶I 122可以是與數(shù)據(jù)流查詢中介體102有關(guān)的專門的⑶I,或者可以是與流應(yīng)用106 有關(guān)的另外標(biāo)準(zhǔn)的GUI。查詢108也可以從單獨(dú)的應(yīng)用或源接收到并且從該應(yīng)用或源提供 給流應(yīng)用106??梢允褂媒y(tǒng)一的窗口語義124構(gòu)造查詢108,該統(tǒng)一的窗口語義124在圖1中被 示出為與流應(yīng)用124有關(guān),但是可以另外或可替換地與數(shù)據(jù)流查詢中介體102和/或DSMS 104有關(guān)。在此情況下,下面將詳細(xì)描述的術(shù)語窗口是指接收到的數(shù)據(jù)流的離散的、限定的 節(jié)或部分,用戶期望查詢將通過(針對)所述數(shù)據(jù)流來進(jìn)行評估。因而,窗口指定來自另外 的無界限的數(shù)據(jù)流中的最近事件、項目或其它離散的元素(在這里被稱為“元組(tuple)”) 的有限集合。此有限部分的流隨后用于評估該查詢并且產(chǎn)生與該時刻對應(yīng)的結(jié)果。隨著時 間推進(jìn),新的項可以包括到該窗口中,這以舊的元組停止參與計算為代價(并且或許會被 一起丟棄)。一般說來,可以期望窗口以跟上數(shù)據(jù)項的連續(xù)到達(dá)的規(guī)定模式演化。例如,關(guān) 于接收到的數(shù)據(jù)流的一個簡單窗口可以指定“最近的10個事件”或“最近10秒的所有事 件”或“在類型1事件和類型2事件之間發(fā)生的所有事件”。除了這樣簡單的示例以外,可以理解,存在可以被指定的許多種類的窗口,這樣的 窗口可以隨時間或響應(yīng)于一些事件而變化或更新(例如下面參考圖3和圖8A-8E提供不同 窗口的示例)。如下所述,存在現(xiàn)有DSMS語言,每種DSMS語言提供用于指定數(shù)據(jù)流的窗口 的語義和語法。因此,由于這些語言的語義和語法可能是困難的或使用起來不直觀,并且由 于用戶必須精通與為了與DSMS的不同示例交互可能所需要的這些不同的語言一樣多的語 言,因此用戶指定期望的窗口并獲得期望的結(jié)果可能是困難的。在圖1中,數(shù)據(jù)流查詢中介體102連同UWS 124 一起可以用來為各種異類的事件 信息資源以及標(biāo)準(zhǔn)的查詢/窗口規(guī)范語言提供集成以執(zhí)行各式各樣的查詢。因而,數(shù)據(jù)流 查詢中介體102提供集成至少兩種上述事件流(關(guān)系和XML流)的表示法并且利用一般的 窗口規(guī)范(UWS 124)支持統(tǒng)一的事件處理的框架。UWS 124在語義上是清楚的并且易于理解,并且可以用來表達(dá)所有的傳統(tǒng)窗口類型,并且可以被擴(kuò)展以指定新的或?qū)淼拇翱?。?外,數(shù)據(jù)流查詢中介體102可以將UWS 124中表示的查詢翻譯成許多不同類型的DSMS 104 的其它供貨商專用的流處理語言。因而,數(shù)據(jù)流查詢中介體102可以包括查詢處理器126,其被配置為從要針對數(shù)據(jù) 流(例如,來自于流數(shù)據(jù)源114)應(yīng)用的流應(yīng)用106接收查詢108,其中該數(shù)據(jù)流可以包括代 表事件的多個元組。查詢處理器126可以代表或包括用于與流應(yīng)用106交互的應(yīng)用編程界 面(API)的全部或一部分。因而,可以構(gòu)造不同的流應(yīng)用以與單個查詢處理器126交互,但 是仍然可以與DSMS 104的不同示例交互(或在DSMS 104的不同示例之間可移植)。數(shù)據(jù)流查詢中介體102還可以包括流窗口管理器128,其被配置為以定義包括該 元組的子集的窗口的規(guī)范(例如,UffS 124)表達(dá)該查詢108。內(nèi)容圖控制器130可以用來 定義窗口的內(nèi)容,包括使用范圍屬性來指定元組的范圍的范圍控制器132,其中內(nèi)容通過范 圍屬性來指定;和使用同步屬性來定義何時更新該窗口的演化控制器134,其中同步屬性 指定窗口相對于其內(nèi)容隨時間的移動。然后,評估控制器136可以用來使用指定何時執(zhí)行 對窗口的內(nèi)容的評估的評估屬性來定義該評估。例如,下面參考圖3提供控制器130-136 的特定示例和它們的效果。查詢翻譯器138可以被配置為翻譯該查詢,包括將該范圍屬性、同步屬性和評估 屬性映射為DSMS 104的流處理語言,從而獲得翻譯后的查詢。DSMS中介體140可以被配 置為將翻譯后的查詢提供給DSMS 104以用于對其處理,并且結(jié)果管理器142可以被配置為 從DSMS 104檢索結(jié)果并且將它們提供給流應(yīng)用106。例如,DSMS中介體140和結(jié)果管理器 142可以是API的一部分,其像查詢處理器126 —樣,被配置為與流應(yīng)用106交互并且確保 建立的流應(yīng)用的可移植性,或被配置為在DSMS 104的不同示例之間使用UWS 124。因而,UffS 124和數(shù)據(jù)流查詢中介體102提供便于學(xué)習(xí)和使用并且被廣泛應(yīng)用于 許多不同的數(shù)據(jù)流管理系統(tǒng)之間的流查詢語言。如果這里沒有特別說明的話,這樣的流查 詢語言可以基于、或可以使用現(xiàn)有的語言或語言結(jié)構(gòu)。例如,流查詢語言可以基于用于現(xiàn)有 數(shù)據(jù)流管理系統(tǒng)中的開放SQL,該開放SQL從用于傳統(tǒng)數(shù)據(jù)庫的公共語言擴(kuò)展得來并且用 作該公共語言。由于這樣的語言是已知的,因此這里不再對它們進(jìn)行詳細(xì)的描述。相反,本 說明書一般教導(dǎo)指定有關(guān)數(shù)據(jù)流的操作,并且具體來說,針對窗口規(guī)范(諸如UWS 124中) 的語義和語法。在圖1中,UWS 124基于使用控制器132、134、136的三個參數(shù)(即,基礎(chǔ)元組的范 圍(廣度)、演化(同步)和評估)的窗口規(guī)范。因而,這樣的規(guī)范可以被認(rèn)為是3E策略或 框架(廣度/演化/評估)。在這些語義中,可以使用以下術(shù)語和命名。具體地說,由范圍控制器132支配的廣度策略可以被稱為α策略,并且可以指定 與哪些元組有關(guān)的窗口內(nèi)容的部分包括在該窗口中。演化策略可以由演化控制器134支 配,并且可以被稱為β策略,并且用于指示窗口內(nèi)容的另一個方面,例如窗口諸如隨時間 或響應(yīng)于一些事件演化或更新的方式。最后,評估策略可以由評估控制器136支配并且可 以被稱為χ策略,并且可以指示窗口的評估頻率或窗口的其它評估特征。因而,α策略指示窗口的“范圍”,其可以被表達(dá)為,例如,或者包括在其中的元組 的數(shù)目,或者跨越其內(nèi)容的時間間隔。例如,可以以邏輯單位測量窗口的范圍,諸如以這里 描述的時間戳值。因此,基于時間的窗口可以從跨越它的內(nèi)容的時間間隔導(dǎo)出。也可以使
8用物理單位,指定落入窗口的邊界內(nèi)的元組的數(shù)目。示例變體包括基于元組的和經(jīng)劃分的 窗口,如這里所述的。在其它示例中,更靈活的規(guī)則可以用來檢測更復(fù)雜的事件。例如,模 式識別可以用于α策略中以獲得模式或基于模式的窗口(諸如復(fù)發(fā)事件、交替事件或其它 模式)。β策略根據(jù)時間推進(jìn)、元組到達(dá)或指定的事件發(fā)生來指示模式的調(diào)整。因而,此 特性確定窗口是否隨時間改變它的狀態(tài)以及怎樣改變。窗口一般要么由于新的流元組的到 達(dá),要么由于時間的推進(jìn),漸進(jìn)地改變它的內(nèi)容。因此,可以在不同情形下執(zhí)行窗口的任意 兩個連續(xù)的狀態(tài)之間的轉(zhuǎn)換。例如,在單位步驟中,窗口的邊界平滑地、一次一個元組、或在 每個離散時刻(假定存在全局時鐘)推進(jìn)。在跳躍中,可以跨越多個時刻或特定數(shù)目的元 組。根據(jù)此跳躍大小是小于還是大于窗口大小,可以分別創(chuàng)建重疊或不重疊的窗口廣度。在 事件觸發(fā)器中,可以在指定的事件發(fā)生時更新窗口內(nèi)容。許多使用情況可以使用此窗口來 檢測復(fù)雜的事件模式。例如,可以在股票價格大于某一價格時更新窗口。如圖1所示,分別由范圍控制器132和演化控制器134控制的α策略和β策略 二者都是在任意給定時間窗口的內(nèi)容的控制方面的一部分。另一方面,評估控制器136定 義什么在這里被稱為χ策略,其與引起窗口內(nèi)容的指定的使用或分析的單獨(dú)的時間、事件 或其它觸發(fā)器的規(guī)范有關(guān)??梢院唵蔚貙τ谟裳莼刂破?34引起的窗口更新來定義評估,即每當(dāng)窗口內(nèi)容 變化時就引起窗口內(nèi)容的評估。但是,與演化策略分開來定義評估策略提供了許多益處。 具體地說,例如,這樣的策略定義使得能夠?qū)?shù)據(jù)流進(jìn)行壓縮的(condensative)查詢處理 (例如,諸如減少或壓縮來自于窗口的信息量的SUM(求和)操作)。這樣的策略使得能夠 產(chǎn)生高效連續(xù)的查詢計劃并且可以用于驗證查詢優(yōu)化,特別是在塊查詢操作(諸如JOIN) 中。這樣的策略還以說明性的方式提供了容易的方式來支持諸如混合跳動窗口、采樣窗口 之類的復(fù)雜的窗口類型以及甚至更復(fù)雜的窗口類型,下面將更詳細(xì)地進(jìn)行描述。這里,可以理解,一般說來,用幫助建立流項目之間的順序的窗口屬性來實(shí)現(xiàn)窗口 規(guī)范,窗口屬性可以典型地包括時間戳或其它時間順序?qū)傩?。作為對時間戳的添加或替換, 任意單調(diào)序列的數(shù)字可以用來充當(dāng)對元組排序的手段,例如,元組到達(dá)順序或附著于每一 元組的唯一的序列號。即使使用時間戳,也可能發(fā)生多于一個元組會在相同的時間戳到達(dá), 以使得元組到達(dá)順序(被稱為內(nèi)部等級)還可以用來區(qū)分這些同時的元組之間的順序。然 后,時間戳和內(nèi)部等級可以一起定義流的總順序(這里稱為外部等級)。因此,在下文中,時 間戳和外部等級屬性(分別表示為ts和rank)可以用來獲得對策略P的元組資證。在本說明書中,以下語法和語義用作使用UWS 124實(shí)現(xiàn)圖1的數(shù)據(jù)流查詢中介體 102的示例。具體地說,窗口可以用以下表述來指定WINDOWwindow_identifier(RANGEa_ value[RATTR]{TUPLE(S) |TIME|ON FIELDfield|PATTERN patterns} ; [PARTITION BY fieldlist]SYNC β _value[SATTR]{TUPLE(S) TIME|WHEN conditionl} ; [EVALUATE χ _ value[EATTR]{TUPLE(S)|TIME|WHEN condition〗}])。在前面的表述中,RANGE (范圍)是指由范圍控制器132所定義的窗口的內(nèi)容,如已 經(jīng)在前所述的那樣,其定義一種定義什么數(shù)據(jù)應(yīng)該包括在該窗口中的策略,因此RATTR(范 圍屬性)是通過其來指定RANGE的屬性。這樣的屬性可以包括TUPLE(S)、TIME或ON FIELD, 如前所述。在后一示例中,PARTITION BY標(biāo)識用于將呼入元組分組的字段。亦如上所述,PATTERN(模式)標(biāo)識元組的模式或可以用來定義窗口內(nèi)容的其它事件或發(fā)生的模式。SYNC(同步)是指由演化控制器134控制的窗口的演化,并且定義窗口移動的步 驟,即何時更新該窗口的內(nèi)容。然后,SATTR(同步屬性)是通過其指定SYNC的屬性,并且 可以包括TUPLE⑶、TIME、和/或WHEN(例如,事件的模式指示何時更新該窗口)。EVALUATE是指由評估控制器136控制的、應(yīng)用于窗口的評估和計算頻率。然 后,SATTR(評估屬性)是通過其指定SYNC的屬性,并且可以包括TUPLE(S)、TIME、和/或 WHEN(例如,指示何時評估窗口并提供結(jié)果的模式)。實(shí)際上可以使用圖1的技術(shù)表達(dá)各種窗口,包括已知的窗口類型(例如,下面參考 圖3和圖8A-8E提供其示例)。此外,當(dāng)新創(chuàng)建的窗口類型變得可用時,該方法可以容易地 用來表達(dá)新創(chuàng)建的窗口類型。因而,圖1提供用于指定并執(zhí)行針對數(shù)據(jù)流的查詢的系統(tǒng)和方法。如圖1所示,可 以將數(shù)據(jù)流查詢中介體102實(shí)現(xiàn)在計算設(shè)備144上,該計算設(shè)備144實(shí)際上可以代表具有 該實(shí)施方式所需的相關(guān)硬件(例如,處理器、存儲器或顯示設(shè)備)和軟件的任意傳統(tǒng)的計算 設(shè)備。盡管在圖1中僅僅示出了使用計算設(shè)備144執(zhí)行數(shù)據(jù)流查詢中介體102,但是可以理 解,也可以在其上或者在單獨(dú)的計算設(shè)備上執(zhí)行DSMS 104和/或流應(yīng)用106,圖1中沒有詳 細(xì)示出。在后一種情況下,各種單獨(dú)的計算設(shè)備可以經(jīng)由諸如因特網(wǎng)或特定的(例如,企業(yè) 寬網(wǎng))網(wǎng)絡(luò)之類的網(wǎng)絡(luò)而彼此通信。例如,流應(yīng)用106可以本地運(yùn)行在客戶端計算機(jī)上,而 計算設(shè)備144可以代表執(zhí)行數(shù)據(jù)流查詢中介體102和DSMS 104 二者的遠(yuǎn)程服務(wù)器計算機(jī)。 其它配置對本領(lǐng)域技術(shù)人員應(yīng)是顯而易見的。圖2是示出了圖1的系統(tǒng)的示例操作的流程圖200。在圖2中,以連續(xù)順序示出了 操作。但是,可以理解,這樣的圖示是為了示例,并且如果不特別需要,操作可以實(shí)際上完全 或部分以并行方式或重疊方式或者以與所示的順序不同的順序執(zhí)行。在圖2中,可以接收要針對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢(202)。 例如,查詢處理器126可以從流應(yīng)用106接收使用UWS 124指定的、對于諸如下面參考圖3 描述的數(shù)據(jù)流的查詢108,如圖1所示。具體地說,可以使用定義包括該元組的子集的窗口的規(guī)范表達(dá)該查詢,該規(guī)范將 該窗口的內(nèi)容定義為具有范圍屬性的元組的范圍,所述內(nèi)容通過該范圍屬性指定,使用指 定該窗口隨時間相對于內(nèi)容的移動的同步屬性定義何時更新該窗口,并使用指定何時執(zhí)行 對該窗口的內(nèi)容的評估的評估屬性定義該評估(204)。例如,流窗口管理器128可以用來實(shí) 現(xiàn)范圍控制器132、演化控制器134和評估控制器136以指定所述屬性,如這里所述。查詢可以被翻譯,包括將該范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系 統(tǒng)的流處理語言,從而獲得翻譯后的查詢(206)。例如,查詢翻譯器138可以用來執(zhí)行該翻 譯,下面參考圖5和圖6進(jìn)行詳細(xì)的描述??梢詫⒎g后的查詢提供給數(shù)據(jù)流管理系統(tǒng)用于對其進(jìn)行處理(208)。例如,DSMS 中介體140可以將翻譯后的查詢提供給DSMS 104,如圖1所示并且這里詳細(xì)描述的。圖3是用于圖1的系統(tǒng)中的數(shù)據(jù)流300和相關(guān)窗口定義的時序圖。具體地說,圖 3為了示意提供了一個簡單的示例,其中使用上述的語法和語義將窗口 302(在圖3中被示 出為隨時間演化為窗口 302a-302d)定義為 RANGE5TUPLES、SYNCH 2TUPLES、EVALUATE WHEN EVENT a OR b。也就是說,如圖所示,由范圍控制器132控制的窗口 302a的范圍或廣度是
105個元組長,其是常數(shù)并且貫穿所有窗口 302a-302d都是一致的。但是,包括在各個窗口 302a-302d的每一個中的特定的5個元組隨時間變化,因為該窗口具有每2個元組發(fā)生新的 同步(SYNCH)的演化。然后,當(dāng)事件a304和后面的事件b306發(fā)生時可以發(fā)生評估。例如,如果數(shù)據(jù)流300代表股票價格流,其中每一元組是當(dāng)時的特定價格,則該評 估可以是使用該窗口 302的5個元組的股票價格的平均。每當(dāng)兩個新的股票價格到達(dá)時, 窗口 302就移動(例如,從窗口 302a到窗口 302b)。事件a304可以代表觸發(fā)平均值的計算 的第一股票價格。例如,當(dāng)事件a304指示股票價格已經(jīng)到達(dá)第一觸發(fā)價格時,評估控制器 136可以計算窗口 302b內(nèi)的5個元組的平均值。然后,該窗口可以在更新到窗口 302d和到 達(dá)第二事件b306以前更新到窗口 302c,第二事件b306可以代表用于評估窗口 302d內(nèi)的5 個元組的平均價格的第二觸發(fā)價格。然后可以看到,只有當(dāng)期望時才可以執(zhí)行實(shí)際的計算 (評估),以使得不必在每當(dāng)窗口更新時都執(zhí)行計算。此外,可以以確保僅僅捕獲期望的元 組并且可以靈活地定義期望的元組以及它的評估的、容易、直觀的方式指定窗口 302。圖4是圖1的系統(tǒng)的替換實(shí)施方式的框圖。在圖4中,為了示例,將各種不同種 類的數(shù)據(jù)源示出為包括信息技術(shù)(IT)基礎(chǔ)設(shè)施402、企業(yè)信息系統(tǒng)404、數(shù)據(jù)庫管理系統(tǒng) (DBMS)406、服務(wù)408和網(wǎng)絡(luò)應(yīng)用410。這樣的數(shù)據(jù)源是公知的,并且這里不再詳細(xì)說明,除 了將它們標(biāo)識為可以提供各種格式和方式數(shù)據(jù)的數(shù)據(jù)源,而傳統(tǒng)的系統(tǒng)可能難于以容易和 集成的方式使用這些數(shù)據(jù),但是圖1和圖4的系統(tǒng)可以以綜合、直觀和直接的方式來使用。具體來說,圖4示出了商業(yè)事件集成框架(BEIF) 444。BEIF 444可以代表或與圖 1的數(shù)據(jù)流查詢中介體102的組件以及這里描述的附加或替換組件有關(guān)。因而,各種數(shù)據(jù)源402-410可以如上所述輸出關(guān)系和/或XML數(shù)據(jù),并且可以使用 各種已知的(例如,供貨商專用的)格式、協(xié)議、語法和語義這樣做。因此,可以包括包裝器 412-418作為BEIF 444內(nèi)的公共商業(yè)事件適配器(CBEA)420。因而,CBEA 420提供各種包 裝器(wrapper) 412-418來存取不同種類的事件數(shù)據(jù)源402-410。為了從外部數(shù)據(jù)源存取數(shù) 據(jù)流,CBEA420可以使用包裝器412-418來處理來自于各種外部數(shù)據(jù)源402-418的數(shù)據(jù)流, 其可以包括例如對關(guān)系數(shù)據(jù)庫的基于JDBCCJava數(shù)據(jù)庫連接)的存取、對XML文件、ERP系 統(tǒng)、網(wǎng)絡(luò)服務(wù)或因特網(wǎng)應(yīng)用的訪問,如圖所示。包裝器412-418可以包括具有專門設(shè)備的CBEA 420中的程序模塊,包括對外部數(shù) 據(jù)庫的一個或多個接口以獲得元數(shù)據(jù)(諸如圖式定義)和數(shù)據(jù)二者。一旦包裝器已被定義 用于特定種類的源,CBEA 420就知道如何處理任意流查詢或查看對所有這樣的源的定義。使用事件空間422來高速緩存已格式化的事件數(shù)據(jù)并執(zhí)行一些預(yù)處理計算,諸如 例如有效的事件屬性附加或無序處理。如圖所示,事件空間422可以高速緩存關(guān)系數(shù)據(jù)流 424和/或XML數(shù)據(jù)流426。然后,處理空間428可以包括與事件空間422交互的多個組件。例如,可以使用元 數(shù)據(jù)管理器434來管理存在于BEIF 444中的所有元數(shù)據(jù),包括全局/局部圖式、事件規(guī)范 和流規(guī)范?;诖翱诘牟樵兡P?WBQM)436類似于圖1的UWS124和/或與之有關(guān),因而與 提供標(biāo)準(zhǔn)數(shù)據(jù)流和查詢模型有關(guān)。查詢翻譯器(QT)440可以用來將標(biāo)準(zhǔn)的流語言解析并翻譯成不同的供貨商專用 的流語言,如這里所述。例如,這樣的供貨商專用的流語言可以包括CoralS CCL, Esper EPL、StreamBase, StreamSQL和擴(kuò)展的XQuery。事件處理調(diào)度器(EPS)442為用戶定義的流查詢制訂計劃,并在考慮并行查詢處理的同時執(zhí)行調(diào)度優(yōu)化。然后,EPS 442可以將用 戶查詢和事件流一起發(fā)送到各種DSMS產(chǎn)品,諸如例如StreamBase、Oracle CEP、Coral8或 Truviso0同時,處理知識庫(PKB)438提供對事件處理的必要的了解,包括例如商業(yè)背景、 領(lǐng)域知識、事件相關(guān)信息和翻譯知識。存儲在PKB 438中的知識可以被存儲為可以被BEIF 444的其它組件有效使用的許多規(guī)則。事件查詢圖設(shè)計器(EQGD)432可以用來為用戶或應(yīng)用提供用于定義商業(yè)事件模 式的可視化工作臺。例如,EQGD 432可以與圖1的⑶I 122有關(guān),以使得用戶可以容易地 定義用于定義或評估期望的窗口的期望的字段、事件或模式。商業(yè)事件發(fā)布器(BEP) 430提 供商業(yè)事件輸出適配器以與最終消費(fèi)者446聯(lián)系,最終消費(fèi)者446在顯示的示例中諸如是 商業(yè)用戶和應(yīng)用、代理人、數(shù)據(jù)倉庫、商業(yè)過程或企業(yè)控制板。因而,如上參考圖1-3所述,交互可以發(fā)生在流應(yīng)用(例如,446或106)、BEIF框架 444和流處理系統(tǒng)(例如,圖1的DSMS 104)之間,其中流應(yīng)用和DSMS僅與BEIF 444對話。 具體地說,在第一種情況下,應(yīng)用可以以這里描述的標(biāo)準(zhǔn)的流語言將流查詢建模,并且BEIF 444創(chuàng)建用于提交的查詢的本地元數(shù)據(jù)然后使用必要的語言翻譯方法將它們轉(zhuǎn)發(fā)給目標(biāo)流 處理系統(tǒng)。然后,應(yīng)用可以將數(shù)據(jù)流饋送給BEIF 444(其可以選擇性地使得數(shù)據(jù)持久)然 后將數(shù)據(jù)轉(zhuǎn)發(fā)給下層的流處理系統(tǒng)。當(dāng)該下層的流處理系統(tǒng)檢測到預(yù)定義的事件時,BEIF 444就將該事件翻譯給該應(yīng)用并且使得結(jié)果通過必要的API可用。例如,應(yīng)用可以經(jīng)由標(biāo) 準(zhǔn)的API(諸如,增強(qiáng)的JDBC)提交查詢。因而,可以將流查詢翻譯成供貨商專用的語言, 并且可以將翻譯后的查詢通過適當(dāng)?shù)陌b器412-418發(fā)送給下層的流處理系統(tǒng),該包裝器 412-418通過供貨商專用的API驅(qū)動該下層系統(tǒng)。如上所述,數(shù)據(jù)流查詢中介體102 (例如,BEIF 444)可以用來使得流應(yīng)用可在下 層技術(shù)平臺(諸如事件處理系統(tǒng)、數(shù)據(jù)庫和操作系統(tǒng))之間移植。對于這樣的跨多個關(guān)系 數(shù)據(jù)庫的可移植性,BEIF 444使用Open SQL作為SQL標(biāo)準(zhǔn)語言的變型,其中下層DBI (數(shù) 據(jù)庫接口)層使用供貨商專用的DBSL庫向下層數(shù)據(jù)庫進(jìn)行必要的映射。BEIF框架444定 義SQL的擴(kuò)展用于流處理,在流處理中在解析/翻譯時使用和標(biāo)識可用的流語言的公共特 征子集。如前所述,下面參考例如圖5和圖6提供這樣的翻譯的示例。圖5是圖1的系統(tǒng)的另一個替換實(shí)施方式的框圖。在圖5中,集成框架502提供 圖1的數(shù)據(jù)流查詢中介體102的示例實(shí)施方式,因此與DSMS 504(在圖5中示出為包括復(fù) 雜事件處理(CEP)引擎、Corel 8 DSMS產(chǎn)品、和/或流庫DSMS產(chǎn)品中的一個或多個,所有 這些僅僅作為非限制示例而包括在其中)的一個或多個示例通信。具體地說,流應(yīng)用506 將要針對事件510的數(shù)據(jù)流應(yīng)用的UWS查詢508格式化,并且將該查詢轉(zhuǎn)發(fā)給集成框架502 的查詢界面512。如上所述,查詢界面512可以至少包括API和基于查詢語言的統(tǒng)一窗口規(guī)范(UWS) 這兩個組件或與它們關(guān)聯(lián)。例如,API可以包括JDBC的增強(qiáng)版本,具有一些有利于處理查詢 508的附加特征。例如,這樣的特征可以包括事件饋送(其允許用戶將輸入事件饋送到系統(tǒng) 中)、事件訂閱(其允許用戶得到事件510內(nèi)某些種類的檢測到的復(fù)雜事件的通知)、查詢 提交(其允許用戶提交以基于UWS的查詢語言撰寫的查詢)、和查詢管理(其允許用戶收集 提交的查詢的運(yùn)行時間信息和狀態(tài)以及對該查詢執(zhí)行一些管理操作(例如,暫停、停止、更 新))。
12
例如,可以將諸如這里描述的基于統(tǒng)一窗口語義(UWS)的查詢語言通過一些特定 于基于UWS的事件流處理的附加特征,構(gòu)造并實(shí)現(xiàn)為對標(biāo)準(zhǔn)的SQL的擴(kuò)展。這樣的特征可 以包括例如流聲明和窗口定義二者。在這點(diǎn)上,流聲明可以是指例如輸入事件的源、中間事 件隊列和輸出事件的連接點(diǎn)的說明。也可以在流聲明中定義事件的圖式。前面已經(jīng)描述的窗口定義用來利用統(tǒng)一的窗口語義定義關(guān)于事件流的窗口。關(guān) 于流的窗口可以被看作是隨時間變化的關(guān)系,其中由UWS明確地描述窗口的演化和評估行 為,如這里所述。多個基于SQL的事件流查詢語言存在于現(xiàn)有技術(shù)中并且在流聲明上可以是相似 的。因此,為了清楚簡要,這里不包括流聲明的示例實(shí)施方式的細(xì)節(jié),但是它們對本領(lǐng)域技 術(shù)人員是顯而易見的。相反,大多數(shù)或所有現(xiàn)有事件流查詢語言差異顯著但是常常精細(xì)地依據(jù)窗口定 義。利用這里描述的統(tǒng)一的窗口語義,可以用統(tǒng)一直觀的方式表達(dá)不同產(chǎn)品提供的各種窗 口。此外,這里描述的基于UWS的查詢語言可以被翻譯成供貨商專用的DSMS語言,如這里 所述。因而,在圖5中,在接收、合計、過濾或管理事件的聯(lián)合器(federat0r)514處接 收流事件510。例如,聯(lián)合器514可以負(fù)責(zé)確定一些數(shù)據(jù)是否被存儲在永久數(shù)據(jù)存儲器 (persistent data store) 522中以及多大范圍。這樣的聯(lián)合器的示例在本領(lǐng)域中是已知 的,并且圖5示出了這樣的聯(lián)合器可以被如何擴(kuò)展或以其它方式在這里描述的統(tǒng)一窗口語 義的背景下使用的示例。此外,如這里所述,翻譯器516可以被配置為將UWS查詢508翻譯成DSM特定的查 詢。翻譯后的查詢和/或流事件510的優(yōu)化可以發(fā)生在優(yōu)化器518處,并且由執(zhí)行器520 作為翻譯后的查詢524和事件526轉(zhuǎn)發(fā)。如圖所示,示例DSMS系統(tǒng)504中適當(dāng)?shù)囊粋€可以 接收翻譯后的查詢和事件526,并且返回結(jié)果528,然后該結(jié)果可以由執(zhí)行器520和/或查 詢界面512發(fā)送到流應(yīng)用506作為結(jié)果530。下面將參考圖6詳細(xì)描述翻譯器516。一般說來,可以理解,這樣的翻譯可以包括 語法、語義和/或行為的翻譯。語法翻譯一般是指具有直接對應(yīng)的目標(biāo)方言的語句的UWS 語言/模型的語句的交換。語義翻譯一般是指不具有直接對應(yīng)的語句但是可以用目標(biāo)方言 的某種其他方法表達(dá)的語句。最后,行為翻譯一般是指不同的系統(tǒng)在執(zhí)行相同的語句時可 以具有不同的行為的事實(shí)。例如,用于無效結(jié)果的語句在一種語言中可以輸出實(shí)際的無效 結(jié)果,但是在另一種語言中可以根本沒有返回結(jié)果。翻譯器516也可以包括校驗該翻譯的 功能,例如以執(zhí)行原始的和翻譯后的查詢的至少一部分并比較結(jié)果。舉例來說,60秒持續(xù)時間的基于時間的滾動窗口(下面參考圖8A-8E和相關(guān)說明 定義的)可以用UWS模型表達(dá)為“RANGE 60 second TIME ;SYNC 60 second TIME ;Evaluate 60 second TIME”。在其它的流查詢語言中,可以通過翻譯器516不同地表達(dá)和獲得相 同的窗口。例如,在CCL中,這樣的窗口將被寫為“KEEP EVERY 60SEC0ND ;OUTPUT EVERY 60SEC0ND”。在 StreamBase 流 SQL 中,該窗 口可以被寫為 “SIZE 60ADVANCE 60TIME”。在 Esper EPL中,該窗口可以被寫為“win time_batch (60)。最后,在擴(kuò)展的XQuery中,該窗口 可以被寫為"forseq$w in ext addTStamp ($seq) tumbling_window, start curltem$first when fn:true () ;end curltem $last when ($last/@tstamp-$first/@tstampe)eq‘P60S,。
圖6是圖5的翻譯器516的框圖。一般說來,如上所述,存在流聲明翻譯和窗口 定義翻譯。對于前者,在許多情況下,現(xiàn)有工具可以用于執(zhí)行翻譯。例如,SQL語句可以由 YACC(另一個編譯器的編譯器)解析成SQL解析樹??梢允褂矛F(xiàn)有工具(也諸如YAXX,其 是YACC的XML擴(kuò)展)將XML查詢翻譯成SQL。翻譯器516也能夠執(zhí)行將窗口(具體地說是基于UWS模型的窗口)的窗口定義翻 譯成供貨商專用的窗口定義。翻譯器516可以基于支持生成規(guī)則(例如YACC)的通用編譯 器來使用解析器602。解析器602首先解析以基于UWS的查詢語言撰寫的原始查詢,并構(gòu)造 解析樹。然后,翻譯器516以例如可以由下層CEP引擎接受的供貨商專用語言重寫該查詢 和窗口定義。在下面示例中,使用兩種供貨商專用的語言StreamSQL和CCL。當(dāng)解析器602對于查詢中出現(xiàn)的每個窗口解析原始的查詢時,解析器602創(chuàng)建包 含該窗口的屬性的結(jié)構(gòu)(例如,樹),包括ID 604, RANGE 606, RATTR 608, SYNC 610, SATTR 612、EVAL (UATE) 614、EATTR 616和PAR (TITION) 618。對于每種供貨商專用的語言,映射表 620包含以該特定的語言支持的UWS模式和為該模式產(chǎn)生的語法之間的映射信息。為每個 供貨商專用的語言組成的表格基于這里描述的UWS的語言和語義的特征,以由此獲得供貨 商專用的查詢622。對于要被翻譯的窗口,翻譯器516利用窗口的屬性和目標(biāo)語言探測映射表620。如 果沒有發(fā)現(xiàn)項,則翻譯器516報告指示下層CEP引擎不支持該種窗口的錯誤。如果發(fā)現(xiàn)了 項,則翻譯器516根據(jù)產(chǎn)生的列中的模式以目標(biāo)語言構(gòu)成窗口的定義。以下表格顯示了以UWS和StreamSQL&CCL的一些典型種類的窗口之間的映射。例 如,下面參考圖8A-8E和相關(guān)討論提供窗口類型的示例和定義。在表1和2中,其中顯示的 “ % RANGE %"和“ % SYNC %,,表示原始查詢中的RANGE和SYNC的值。表1 StreamSQL的翻譯示例■具有時間同步的基于時間的滑動窗口
權(quán)利要求
一種計算機(jī)系統(tǒng),包括記錄在計算機(jī)可讀介質(zhì)上的指令,該系統(tǒng)包括查詢處理器,被配置為從流應(yīng)用接收將要對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢;流窗口管理器,被配置為以定義包括所述元組的子集的窗口的規(guī)范來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容定義為具有范圍屬性的元組的范圍,所述內(nèi)容通過該范圍屬性指定,使用指定窗口隨時間相對于所述內(nèi)容的移動的同步屬性來定義何時更新所述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi)容的評估的評估屬性來定義所述評估;查詢翻譯器,被配置為翻譯所述查詢,包括將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng)(DSMS)的流處理語言,從而獲得翻譯后的查詢;以及DSMS中介體,被配置為將該翻譯后的查詢提供給該DSMS,以便利用DSMS對其進(jìn)行處理。
2.如權(quán)利要求1所述的系統(tǒng),包括結(jié)果管理器,被配置為從該DSMS接收查詢結(jié)果并將該結(jié)果提供給該流應(yīng)用。
3.如權(quán)利要求1所述的系統(tǒng),其中所述范圍屬性包括所述元組的數(shù)目的規(guī)范。
4.如權(quán)利要求1所述的系統(tǒng),其中所述范圍屬性包括時間的規(guī)范。
5.如權(quán)利要求1所述的系統(tǒng),其中所述范圍屬性包括所述數(shù)據(jù)流的一個或多個字段的 規(guī)范。
6.如權(quán)利要求1所述的系統(tǒng),其中所述范圍屬性包括檢測到的與所述元組相關(guān)聯(lián)的模 式的規(guī)范。
7.如權(quán)利要求1所述的系統(tǒng),其中所述同步屬性包括所述元組的數(shù)目的規(guī)范。
8.如權(quán)利要求1所述的系統(tǒng),其中所述同步屬性包括更新所述窗口的時間的規(guī)范。
9.如權(quán)利要求1所述的系統(tǒng),其中所述同步屬性包括檢測到的與所述元組相關(guān)聯(lián)的模 式的規(guī)范。
10.如權(quán)利要求1所述的系統(tǒng),其中所述評估屬性包括所述元組中的一個或多個的規(guī)范。
11.如權(quán)利要求1所述的系統(tǒng),其中所述評估屬性包括評估所述窗口的時間的規(guī)范。
12.如權(quán)利要求1所述的系統(tǒng),其中所述評估屬性包括檢測到的與用于觸發(fā)所述窗口 的評估的元組相關(guān)聯(lián)的模式的規(guī)范。
13.如權(quán)利要求1所述的系統(tǒng),其中所述查詢翻譯器包括編譯器,被配置為解析所述查 詢,并且進(jìn)一步被配置為選擇與所述DSMS相關(guān)聯(lián)的查詢語言相關(guān)聯(lián)的映射表并且利用該 映射表執(zhí)行解析的查詢的映射,以提供所述查詢的語法翻譯、語義翻譯和行為翻譯以獲得 翻譯后的查詢。
14.如權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)流包括被表達(dá)為關(guān)系數(shù)據(jù)流或XML數(shù)據(jù)流 或者它們的組合的一個或多個數(shù)據(jù)流。
15.一種計算機(jī)實(shí)現(xiàn)的方法,包括從流應(yīng)用接收將要對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢; 以定義包括所述元組的子集的窗口的規(guī)范來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容 定義為具有范圍屬性的元組的范圍,所述內(nèi)容通過該范圍屬性指定,使用指定窗口隨時間 相對于所述內(nèi)容的移動的同步屬性來定義何時更新所述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi)容的評估的評估屬性來定義所述評估;翻譯所述查詢,包括將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng) (DSMS)的流處理語言,從而獲得翻譯后的查詢;以及將翻譯后的查詢提供給數(shù)據(jù)流管理系統(tǒng),以利用該數(shù)據(jù)流管理系統(tǒng)對其進(jìn)行處理。
16.如權(quán)利要求15所述的方法,包括從所述DSMS接收查詢結(jié)果并將該結(jié)果提供給所述 流應(yīng)用。
17.如權(quán)利要求15所述的方法,其中所述翻譯所述查詢的步驟包括解析所述查詢;選擇與所述DSMS相關(guān)聯(lián)的查詢語言相關(guān)聯(lián)的映射表;以及利用所述映射表執(zhí)行經(jīng)解析的查詢的映射,以提供所述查詢的語法翻譯、語義翻譯和 行為翻譯,以獲得翻譯后的查詢。
18.一種計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品有形地包含在計算機(jī)可讀介質(zhì)上,并且包 括當(dāng)被執(zhí)行時被配置為使得數(shù)據(jù)處理裝置執(zhí)行以下步驟的指令從流應(yīng)用接收將要對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢;以定義包括所述元組的子集的窗口的規(guī)范來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容 定義為具有范圍屬性的元組的范圍,所述內(nèi)容通過該范圍屬性指定,使用指定窗口隨時間 相對于所述內(nèi)容的移動的同步屬性來定義何時更新所述窗口,并且使用指定何時執(zhí)行對所 述窗口的內(nèi)容的評估的評估屬性來定義所述評估;翻譯所述查詢,包括將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng) (DSMS)的流處理語言,從而獲得翻譯后的查詢;以及將翻譯后的查詢提供給數(shù)據(jù)流管理系統(tǒng),以利用該數(shù)據(jù)流管理系統(tǒng)對其進(jìn)行處理。
19.如權(quán)利要求18所述的計算機(jī)程序產(chǎn)品,其中所述指令還使得所述數(shù)據(jù)處理裝置從 所述DSMS接收查詢結(jié)果并且將該結(jié)果提供給所述流應(yīng)用。
20.如權(quán)利要求18所述的計算機(jī)程序產(chǎn)品,其中所述指令還使得所述數(shù)據(jù)處理裝置翻 譯所述查詢,包括解析所述查詢;選擇與所述DSMS相關(guān)聯(lián)的查詢語言相關(guān)聯(lián)的映射表;以及利用所述映射表執(zhí)行經(jīng)解析的查詢的映射,以提供所述查詢的語法翻譯、語義翻譯和 行為翻譯以獲得翻譯后的查詢。
全文摘要
數(shù)據(jù)流查詢中介可以使用查詢處理器,其被配置為從流應(yīng)用接收要對包括代表事件的多個元組的數(shù)據(jù)流應(yīng)用的查詢。流窗口管理器可以被配置為以定義包括所述元組的子集的窗口的規(guī)范來表達(dá)所述查詢,該規(guī)范將所述窗口的內(nèi)容定義為具有范圍屬性的元組的范圍,所述內(nèi)容通過該范圍屬性來指定,使用指定窗口隨時間相對于所述內(nèi)容的移動的同步屬性來定義何時更新所述窗口,并且使用指定何時執(zhí)行對所述窗口的內(nèi)容的評估的評估屬性來定義所述評估。查詢翻譯器可以被配置為翻譯所述查詢,包括將所述范圍屬性、同步屬性和評估屬性映射為數(shù)據(jù)流管理系統(tǒng)(DSMS)的流處理語言,從而獲得翻譯后的查詢。DSMS中介體可以被配置為將所述翻譯后的查詢提供給所述DSMS,用于對其進(jìn)行處理。
文檔編號G06F17/30GK101957832SQ201010227958
公開日2011年1月26日 申請日期2010年7月16日 優(yōu)先權(quán)日2009年7月16日
發(fā)明者單名謙, 張錦, 閆鶯 申請人:Sap股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
澜沧| 贺州市| 章丘市| 磐安县| 太仓市| 绥阳县| 台江县| 凯里市| 错那县| 佛教| 龙里县| 襄汾县| 尼玛县| 武平县| 独山县| 霍州市| 五原县| 曲松县| 方山县| 鹰潭市| 潢川县| 凤冈县| 镇巴县| 武功县| 永登县| 六枝特区| 梧州市| 巧家县| 渝北区| 云林县| 门源| 博白县| 城步| 伊通| 南安市| 广西| 株洲市| 琼结县| 淳安县| 襄汾县| 荆州市|