两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

處理數(shù)據(jù)流的方法及裝置與流程

文檔序號(hào):11802488閱讀:386來(lái)源:國(guó)知局
處理數(shù)據(jù)流的方法及裝置與流程
本發(fā)明涉及信息處理領(lǐng)域,尤其涉及一種處理數(shù)據(jù)流的方法及裝置。

背景技術(shù):
隨著信息處理技術(shù)的發(fā)展,需要處理的數(shù)據(jù)量急劇增多,傳統(tǒng)的靜態(tài)數(shù)據(jù)處理設(shè)備已無(wú)法滿(mǎn)足需求,便產(chǎn)生了基于數(shù)據(jù)流的數(shù)據(jù)處理技術(shù),數(shù)據(jù)流是指一串具有時(shí)序性的,連續(xù)動(dòng)態(tài)生成的數(shù)據(jù),即數(shù)據(jù)流由一系列數(shù)據(jù)組成,且這些數(shù)據(jù)在時(shí)間上是連續(xù)的。CEP(ComplexEventProcessing,復(fù)雜事件處理)技術(shù)就是一種用于處理數(shù)據(jù)流的數(shù)據(jù)處理技術(shù)。CEP系統(tǒng)能夠通過(guò)分析數(shù)據(jù)流中的不同數(shù)據(jù),獲取數(shù)據(jù)之間的關(guān)系,再根據(jù)這些數(shù)據(jù)及數(shù)據(jù)間的關(guān)系獲得更高級(jí)的數(shù)據(jù)及商業(yè)流程。使用CEP系統(tǒng)進(jìn)行數(shù)據(jù)處理時(shí),往往需要定義一個(gè)窗口,該窗口根據(jù)篩選條件對(duì)某一條數(shù)據(jù)流中一段連續(xù)的數(shù)據(jù)進(jìn)行篩選,并對(duì)篩選出的數(shù)據(jù)進(jìn)行處理。例如:Esper是一種數(shù)據(jù)流處理程序引擎。Esper定義的窗口根據(jù)篩選條件篩選出某一條數(shù)據(jù)流中的一段連續(xù)的數(shù)據(jù),并將篩選出的數(shù)據(jù)進(jìn)行保存,同時(shí),窗口中的數(shù)據(jù)被進(jìn)行指定的運(yùn)算(分組、求和、求平均值等)。當(dāng)數(shù)據(jù)流的屬性滿(mǎn)足過(guò)期條件時(shí),則刪除窗口中保存的過(guò)期數(shù)據(jù)。上述的過(guò)期條件可以是窗口的時(shí)間(即超過(guò)指定時(shí)間的數(shù)據(jù)被釋放出窗口)、窗口的長(zhǎng)度(即超過(guò)指定個(gè)數(shù)后,最先進(jìn)來(lái)的事件被釋放出窗口)等。例如:對(duì)于股票價(jià)格的數(shù)據(jù)流,使用一個(gè)窗口篩選出最后一分鐘內(nèi)所有股票的價(jià)格,并根據(jù)篩選出的價(jià)格統(tǒng)計(jì)最后一分鐘內(nèi)所有股票的價(jià)格均值,所求出的價(jià)格均值可以用于其他數(shù)據(jù)處理,當(dāng)時(shí)間超過(guò)了最后一分鐘,刪除窗口儲(chǔ)存的時(shí)間早于一分鐘的股票的價(jià)格。在實(shí)現(xiàn)上述發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:現(xiàn)有技術(shù)所定義的窗口功能較為簡(jiǎn)單,無(wú)法實(shí)現(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種處理數(shù)據(jù)流的方法及裝置,能夠根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:一方面,本發(fā)明的實(shí)施例提供一種處理數(shù)據(jù)流的方法,包括:接收數(shù)據(jù)流組,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流;檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟;若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則判斷指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè);如果所述指定數(shù)據(jù)流的屬性滿(mǎn)足開(kāi)啟該窗口的條件,則開(kāi)啟該窗口,并通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù);如果所述指定數(shù)據(jù)流的屬性不滿(mǎn)足開(kāi)啟該窗口的條件,則接收下一個(gè)數(shù)據(jù)流組。另一方面,本發(fā)明的實(shí)施例提供一種處理數(shù)據(jù)流的裝置,包括:接收模塊,用于接收數(shù)據(jù)流組,如果指定數(shù)據(jù)流的屬性不滿(mǎn)足開(kāi)啟該窗口的條件,則接收下一個(gè)數(shù)據(jù)流組,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流;檢測(cè)模塊,用于檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟;第一判斷模塊,用于若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則判斷所述指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè);第一啟動(dòng)模塊,用于如果所述指定數(shù)據(jù)流的屬性滿(mǎn)足開(kāi)啟該窗口的條件,則開(kāi)啟該窗口,并通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù)。本發(fā)明實(shí)施例提供的方法及裝置,能夠根據(jù)數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟及關(guān)閉條件,實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能,實(shí)現(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)需要開(kāi)啟或關(guān)閉窗口,從而能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)流更為復(fù)雜的處理過(guò)程。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1為本發(fā)明實(shí)施例1提供的處理數(shù)據(jù)流的方法的流程圖;圖2為本發(fā)明實(shí)施例2提供的處理數(shù)據(jù)流的方法的流程圖;圖3為本發(fā)明實(shí)施例2提供的處理數(shù)據(jù)流的方法的具體實(shí)例的流程圖;圖4為本發(fā)明實(shí)施例2提供的處理數(shù)據(jù)流的方法的具體實(shí)例的流程圖;圖5為本發(fā)明實(shí)施例3提供的處理數(shù)據(jù)流的裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例4提供的處理數(shù)據(jù)流的裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為使本發(fā)明技術(shù)方案的優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作 詳細(xì)說(shuō)明。實(shí)施例1本發(fā)明實(shí)施例提供一種處理數(shù)據(jù)流的方法,如圖1所示,該方法包括:步驟101,接收數(shù)據(jù)流組。其中,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流。步驟102,檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟。步驟103,若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則判斷指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件。其中,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè)??蛇x的,該指定數(shù)據(jù)流可以是上述有對(duì)應(yīng)窗口的數(shù)據(jù)流,也可以不是上述有對(duì)應(yīng)窗口的數(shù)據(jù)流。進(jìn)一步的,所述指定數(shù)據(jù)流的屬性具體可以是所述指定數(shù)據(jù)流的時(shí)間屬性、價(jià)格屬性、速度屬性、位置屬性或速度屬性等,數(shù)據(jù)流的屬性的種類(lèi)不限于這些。在實(shí)際應(yīng)用中,指定數(shù)據(jù)流的屬性可以有一項(xiàng)或多項(xiàng),例如,指定數(shù)據(jù)流的屬性可以包括時(shí)間屬性,也可以包括時(shí)間屬性和價(jià)格屬性。更進(jìn)一步的,所述指定數(shù)據(jù)流的屬性可以來(lái)自同一個(gè)數(shù)據(jù)流;或,所述指定數(shù)據(jù)流的屬性分別來(lái)自所述指定數(shù)據(jù)流中的至少二個(gè)不同的數(shù)據(jù)流,例如,如果指定數(shù)據(jù)流的屬性如果包括時(shí)間屬性和價(jià)格屬性,則時(shí)間屬性和所述價(jià)格屬性可以分別來(lái)自所述指定數(shù)據(jù)流中二個(gè)不同的數(shù)據(jù)流。步驟104,如果所述指定數(shù)據(jù)流的屬性滿(mǎn)足開(kāi)啟該窗口的條件,則開(kāi)啟該窗口,并通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù)。步驟105,如果所述指定數(shù)據(jù)流的屬性不滿(mǎn)足開(kāi)啟該窗口的條件,則接收下一個(gè)數(shù)據(jù)流組。本發(fā)明實(shí)施例提供的方法,能夠根據(jù)數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟及關(guān)閉條件,實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能,使窗口能夠?qū)崿F(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)需要開(kāi)啟或關(guān)閉窗口,從而能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)流更為復(fù)雜的處理過(guò)程。實(shí)施例2本發(fā)明實(shí)施例提供一種處理數(shù)據(jù)流的方法,如圖2所示,該方法包括:步驟201,定義可開(kāi)關(guān)窗口。具體的,在本實(shí)施例中,數(shù)據(jù)處理設(shè)備根據(jù)CEP系統(tǒng)中的查詢(xún)語(yǔ)言定義具有開(kāi)關(guān)功能的窗口。其中,經(jīng)過(guò)定義的窗口能夠根據(jù)本數(shù)據(jù)流的屬性,或其他數(shù)據(jù)流的屬性,開(kāi)啟或關(guān)閉窗口。其中,窗口之間不存在有重疊的情況。當(dāng)一個(gè)窗口開(kāi)啟時(shí),在沒(méi)有關(guān)閉的情況下,不會(huì)有下一個(gè)窗口的開(kāi)啟。例如:使用CQL(ContinuousQueryLanguage,連續(xù)查詢(xún)語(yǔ)言)對(duì)一個(gè)窗口進(jìn)行定義。其中,CQL為一種查詢(xún)語(yǔ)言,且已為本領(lǐng)域所熟知,在此不再贅述。具體的定義語(yǔ)句如下:[start_window_condition_expression,end_window_condition_expression]其中,在對(duì)窗口進(jìn)行的條件定義中,start_window_condition_expression指明了窗口開(kāi)啟的條件;end_window_condition_expression指明了窗口關(guān)閉的條件。即通過(guò)以上定義語(yǔ)句對(duì)窗口進(jìn)行定義后,窗口能夠根據(jù)定義語(yǔ)句中所指明的條件開(kāi)啟或關(guān)閉。再例如:如圖3所示,為使用流處理技術(shù)對(duì)通信技術(shù)中的乒乓切換現(xiàn)象進(jìn)行過(guò)濾及提取,所述乒乓切換為:在移動(dòng)通訊設(shè)備的一次通話(huà)過(guò)程中,信號(hào)會(huì)在固定兩個(gè)基站間發(fā)生5次以上切換,且每連續(xù)的兩次切換時(shí)間間隔小于7秒,則判定為乒乓切換。其中,切換的定義為:一個(gè)用戶(hù)由基站A切到基站B,是乒乓切換的單次切換,連續(xù)的A->B、B->A、A->B、B->A...切換稱(chēng)為一次乒乓切換(連續(xù)5次以上切換,即連續(xù)的6次、7次或者更多次仍然是一次乒乓切換)。一次乒乓切換的結(jié)束為:在最后一個(gè)切換的時(shí)間間隔內(nèi)7s內(nèi)沒(méi)有再發(fā)生切換。同時(shí),其他具有類(lèi)似數(shù)據(jù)排列模式的數(shù)據(jù)流也可視為乒乓切換。使用數(shù)據(jù)處理引擎生成的窗口對(duì)具有乒乓切換模式的數(shù)據(jù)流進(jìn)行數(shù)據(jù)處理,可以通過(guò)CQL對(duì)該窗口進(jìn)行定義,定義語(yǔ)句如下:[time-previous(time)<=7second,time-previous(time)>7second]其中,定義語(yǔ)句中的time屬于數(shù)據(jù)流的屬性,表示數(shù)據(jù)流的時(shí)間截,即時(shí)間信息,previous(time)是一個(gè)函數(shù),可以獲得數(shù)據(jù)流中當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,即當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的time屬性值。該定義語(yǔ)句的含義為:判斷當(dāng)前數(shù)據(jù)與前一個(gè)數(shù)據(jù)之間的時(shí)間差是否在7秒之內(nèi),如果是,則窗口開(kāi)啟;當(dāng)窗口開(kāi)啟后,對(duì)于新到達(dá)的數(shù)據(jù),再判斷該數(shù)據(jù)與前一個(gè)數(shù)據(jù)之間的時(shí)間差不是大于7秒,如果是,則窗口關(guān)閉。經(jīng)過(guò)該定義語(yǔ)句定義的窗口,可以將所有滿(mǎn)足一次乒乓切換模式的所有切換記錄放入到同一個(gè)窗口內(nèi),并通過(guò)后續(xù)的計(jì)數(shù)運(yùn)算,獲得每次乒乓切換的記錄數(shù),為后續(xù)的判斷、處理奠定基礎(chǔ)。步驟202,接收數(shù)據(jù)流組。其中,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流。具體的,在本實(shí)施例中,CEP系統(tǒng)中的數(shù)據(jù)處理設(shè)備在同一時(shí)間接收到一個(gè) 以上的數(shù)據(jù)流,并在步驟201中對(duì)需要進(jìn)行處理的數(shù)據(jù)流定義了窗口,經(jīng)過(guò)定義的窗口能夠根據(jù)所對(duì)應(yīng)的數(shù)據(jù)流的屬性開(kāi)啟或關(guān)閉窗口。例如:如圖3所示,數(shù)據(jù)處理設(shè)備在接收到數(shù)據(jù)流組后,確定所述數(shù)據(jù)流組中具有乒乓切換的數(shù)據(jù)流,生成用于處理有乒乓切換模式的數(shù)據(jù)流的窗口,并使用窗口對(duì)有乒乓切換的數(shù)據(jù)流進(jìn)行處理,該窗口能夠根據(jù)定義語(yǔ)句中使用的previous(time)函數(shù),獲取當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,從而得到相鄰兩個(gè)數(shù)據(jù)間的時(shí)間差,因此在窗口保留相鄰兩個(gè)數(shù)據(jù)(即保留當(dāng)前數(shù)據(jù)以及其相鄰的前一個(gè)數(shù)據(jù)),窗口所保留的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)處理設(shè)備的存儲(chǔ)單元中。步驟203,檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟。具體的,在本實(shí)施例中,CEP系統(tǒng)中的數(shù)據(jù)處理設(shè)備檢測(cè)數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已經(jīng)開(kāi)啟,例如:數(shù)據(jù)處理設(shè)備可以通過(guò)窗口管理模塊來(lái)檢測(cè)數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已經(jīng)開(kāi)啟。其中,通過(guò)窗口管理模塊檢測(cè)數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已經(jīng)開(kāi)啟的方法及步驟已為本領(lǐng)域所熟知,在此不再贅述。若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則執(zhí)行步驟204;若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口已經(jīng)開(kāi)啟,則執(zhí)行步驟205。步驟204,若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,判斷指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件。其中,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè)。如果滿(mǎn)足開(kāi)啟該窗口的條件,則執(zhí)行步驟206;如果不滿(mǎn)足開(kāi)啟該窗口的,則接收下一個(gè)數(shù)據(jù)流組。具體的,在本實(shí)施例中,指定數(shù)據(jù)流的屬性是指被用于作為判斷窗口開(kāi)關(guān)與否的條件的數(shù)據(jù)流的屬性,可以是數(shù)據(jù)流的一項(xiàng)屬性,也可以是數(shù)據(jù)流的多 項(xiàng)屬性,數(shù)據(jù)處理設(shè)備通過(guò)經(jīng)過(guò)定義的窗口根據(jù)這些屬性及窗口的定義語(yǔ)句判斷所述指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件。指定數(shù)據(jù)流的屬性可以來(lái)自同一個(gè)數(shù)據(jù)流,進(jìn)一步的,指定數(shù)據(jù)流的屬性可以來(lái)自不同數(shù)據(jù)流,具體的,可以分為以下幾種情況:其一:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且指定數(shù)據(jù)流的屬性只有一項(xiàng)。例如:指定數(shù)據(jù)流的屬性具體為時(shí)間屬性。對(duì)于數(shù)據(jù)流a,窗口b是數(shù)據(jù)流a的窗口,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(time)函數(shù),獲取數(shù)據(jù)流a自身的當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,從而得到數(shù)據(jù)流a中相鄰兩個(gè)數(shù)據(jù)間的時(shí)間差值A(chǔ),并根據(jù)定義語(yǔ)句:[time-previous(time)<=7second,time-previous(time)>7second]得到:如果A不大于7秒,則窗口b開(kāi)啟,并開(kāi)始對(duì)數(shù)據(jù)流a進(jìn)行其他數(shù)據(jù)運(yùn)算處理。如果A大于7秒,則不開(kāi)啟窗口b,繼續(xù)接收下一個(gè)數(shù)據(jù)流組。在這里,指定數(shù)據(jù)流為數(shù)據(jù)流a。進(jìn)一步的,也可以是,對(duì)于數(shù)據(jù)流a,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(time)函數(shù),獲取同一個(gè)數(shù)據(jù)流組中另外一個(gè)數(shù)據(jù)流b當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,即獲取除數(shù)據(jù)流a以外的其他數(shù)據(jù)流的屬性作為指定數(shù)據(jù)流(這里指定數(shù)據(jù)流為數(shù)據(jù)流b)的屬性,來(lái)判斷窗口b是否開(kāi)啟。其二:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且指定數(shù)據(jù)流的屬性有至少兩項(xiàng)。例如:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且具體指定數(shù)據(jù)流的屬性是目標(biāo)地屬性和來(lái)源地屬性。數(shù)據(jù)流a的屬性中有目標(biāo)地屬性target和來(lái)源地屬性origin。窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(target)函數(shù),得到數(shù)據(jù)流a中當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,并根據(jù)定義語(yǔ)句[origin=privious(target),origin<>privious(target)]得到:如果當(dāng)前數(shù)據(jù)的來(lái)源地屬性origin值等于前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,則窗口b開(kāi)啟,并開(kāi)始對(duì)其所對(duì)應(yīng)的數(shù)據(jù)流進(jìn)行數(shù)據(jù)處理。進(jìn)一步的,也可以是,對(duì)于數(shù)據(jù)流a,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(target)函數(shù),獲取數(shù)據(jù)流b中當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,并根據(jù)定義語(yǔ)句[origin=privious(target),origin<>privious(target)]得到:如果當(dāng)前數(shù)據(jù)的來(lái)源地屬性origin值等于前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,則數(shù)據(jù)流a的窗口b開(kāi)啟,并開(kāi)始對(duì)其所對(duì)應(yīng)的數(shù)據(jù)流進(jìn)行數(shù)據(jù)處理。即獲取除數(shù)據(jù)流a以外的其他數(shù)據(jù)流的多個(gè)具體屬性值,來(lái)判斷窗口b是否開(kāi)啟。其三:指定數(shù)據(jù)流的屬性來(lái)自不同數(shù)據(jù)流,指定數(shù)據(jù)流的屬性有至少兩項(xiàng),其中,并且指定數(shù)據(jù)流的屬性可以來(lái)自具有窗口的數(shù)據(jù)流本身和其他不具有窗口的數(shù)據(jù)流,也可以全部來(lái)自其他不具有窗口的數(shù)據(jù)流,在此并不限定。例如:指定數(shù)據(jù)流的屬性有時(shí)間屬性和價(jià)格屬性,并且分別來(lái)自同一數(shù)據(jù)流組中不同的數(shù)據(jù)流。如圖4所示,數(shù)據(jù)流的屬性中的價(jià)格屬性,即price屬性值:[A.price>5,B.price>8],即在當(dāng)前的數(shù)據(jù)流中(可以是數(shù)據(jù)流A,數(shù)據(jù)流B,或者是其他的數(shù)據(jù)流)進(jìn)行窗口操作,當(dāng)在數(shù)據(jù)流A中數(shù)據(jù)的price屬性值>5時(shí),數(shù)據(jù)流W的窗口是窗口w;之后,當(dāng)在數(shù)據(jù)流B中,到達(dá)某數(shù)據(jù)的price屬性值>8時(shí),在當(dāng)前流中關(guān)閉該窗口w。也可以是當(dāng)在A流中數(shù)據(jù)的price屬性值>5時(shí),在當(dāng)前 流中打開(kāi)窗口w;之后,當(dāng)在B流中,到達(dá)某數(shù)據(jù)的time屬性值>8時(shí),在當(dāng)前流中關(guān)閉該窗口w,即用于判斷窗口開(kāi)啟的屬性以及判斷窗口關(guān)閉的屬性可以不一樣。窗口實(shí)現(xiàn)流程與前述類(lèi)似,在本節(jié)不做累述。綜上所述,數(shù)據(jù)處理設(shè)備能夠通過(guò)經(jīng)過(guò)定義的窗口根據(jù)不同數(shù)據(jù)流之間的關(guān)系開(kāi)啟窗口,以滿(mǎn)足更復(fù)雜的業(yè)務(wù)場(chǎng)景。步驟205,判斷指定數(shù)據(jù)流的屬性是否滿(mǎn)足關(guān)閉該窗口的條件。如果指定數(shù)據(jù)流的屬性滿(mǎn)足關(guān)閉該窗口的條件,則執(zhí)行步驟207;如果指定數(shù)據(jù)流的屬性不滿(mǎn)足關(guān)閉該窗口的條件,則執(zhí)行步驟208。具體的,在本實(shí)施例中,指定數(shù)據(jù)流的屬性是指被用于作為判斷窗口開(kāi)關(guān)與否的條件的數(shù)據(jù)流的屬性,可以是數(shù)據(jù)流的一項(xiàng)屬性,也可以是數(shù)據(jù)流的多項(xiàng)屬性,數(shù)據(jù)處理設(shè)備通過(guò)經(jīng)過(guò)定義的窗口根據(jù)這些屬性及窗口的定義語(yǔ)句判斷所述指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件。指定數(shù)據(jù)流的屬性可以來(lái)自同一個(gè)數(shù)據(jù)流,進(jìn)一步的,指定數(shù)據(jù)流的屬性可以來(lái)自不同數(shù)據(jù)流,具體的,可以分為以下幾種情況:其一:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且指定數(shù)據(jù)流的屬性只有一項(xiàng)。例如:指定數(shù)據(jù)流的屬性具體為時(shí)間屬性。對(duì)于數(shù)據(jù)流a,窗口b是數(shù)據(jù)流a的窗口,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(time)函數(shù),獲取數(shù)據(jù)流a自身的當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,從而得到數(shù)據(jù)流a中相鄰兩個(gè)數(shù)據(jù)間的時(shí)間差值A(chǔ),并根據(jù)定義語(yǔ)句:[time-previous(time)<=7second,time-previous(time)>7second]得到:數(shù)據(jù)流a的窗口b開(kāi)啟時(shí),如果A大于7秒,則窗口b關(guān)閉。這個(gè)例子中,指定數(shù)據(jù)流為數(shù)據(jù)流a。進(jìn)一步的,也可以是,對(duì)于數(shù)據(jù)流a,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(time)函數(shù),獲取同一個(gè)數(shù)據(jù)流組中另外一個(gè)數(shù)據(jù)流b當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的時(shí)間截,即獲取除數(shù)據(jù)流a以外的其他數(shù)據(jù)流的屬性作為指定數(shù)據(jù)流(這里指定數(shù)據(jù)流為數(shù)據(jù)流b)的屬性,來(lái)判斷已開(kāi)啟的窗口b是否關(guān)閉。其二:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且指定數(shù)據(jù)流的屬性有至少兩項(xiàng)。例如:指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,并且具體指定數(shù)據(jù)流的屬性是目標(biāo)地屬性和來(lái)源地屬性。數(shù)據(jù)流a的屬性中有目標(biāo)地屬性target和來(lái)源地屬性origin。窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(target)函數(shù),得到數(shù)據(jù)流a中當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,并根據(jù)定義語(yǔ)句[origin=privious(target),origin<>privious(target)]得到:如果窗口b開(kāi)啟后,當(dāng)前數(shù)據(jù)的origin值不等于前一個(gè)數(shù)據(jù)的target值,則關(guān)閉窗口b。進(jìn)一步的,也可以是,對(duì)于數(shù)據(jù)流a,窗口b能夠根據(jù)定義語(yǔ)句中使用的previous(target)函數(shù),獲取數(shù)據(jù)流b中當(dāng)前數(shù)據(jù)的前一個(gè)數(shù)據(jù)的目標(biāo)地屬性target值,并根據(jù)定義語(yǔ)句[origin=privious(target),origin<>privious(target)]得到:如果窗口b開(kāi)啟后,當(dāng)前數(shù)據(jù)的origin值不等于前一個(gè)數(shù)據(jù)的target值,則關(guān)閉數(shù)據(jù)流a的窗口b。即獲取除數(shù)據(jù)流a以外的其他數(shù)據(jù)流的多個(gè)具體屬性值,來(lái)判斷窗口b是否開(kāi)啟。其三:指定數(shù)據(jù)流的屬性來(lái)自不同數(shù)據(jù)流,指定數(shù)據(jù)流的屬性有至少兩項(xiàng),其中,并且指定數(shù)據(jù)流的屬性可以來(lái)自具有窗口的數(shù)據(jù)流本身和其他不具有窗口的數(shù) 據(jù)流,也可以全部來(lái)自其他不具有窗口的數(shù)據(jù)流,在此并不限定。具體實(shí)例如步驟204中的其三所述。綜上所述,數(shù)據(jù)處理設(shè)備能夠通過(guò)經(jīng)過(guò)定義的窗口根據(jù)不同數(shù)據(jù)流之間的關(guān)系開(kāi)啟窗口,以滿(mǎn)足更復(fù)雜的業(yè)務(wù)場(chǎng)景。從而,數(shù)據(jù)處理設(shè)備能夠通過(guò)經(jīng)過(guò)定義的窗口根據(jù)不同數(shù)據(jù)流之間的關(guān)系,對(duì)指定的數(shù)據(jù)流進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)更復(fù)雜的數(shù)據(jù)流處理。步驟206,開(kāi)啟該窗口。通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù)。步驟207,關(guān)閉該窗口。其中,若關(guān)閉的窗口中留有未處理的數(shù)據(jù),則對(duì)這些進(jìn)行處理。步驟208,處理窗口中保留的數(shù)據(jù)。具體的,在本實(shí)施例中,對(duì)窗口中保留的數(shù)據(jù)進(jìn)行處理的方法包括:分組、求和、或求平均值等。對(duì)窗口中保留的數(shù)據(jù)進(jìn)行處理的方法已為本領(lǐng)域所熟知,在此不再贅述。本發(fā)明實(shí)施例提供的方法,能夠根據(jù)數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟及關(guān)閉條件,實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能,使窗口能夠?qū)崿F(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程。還能夠根據(jù)多個(gè)數(shù)據(jù)流中的數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟及關(guān)閉條件,實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能,使窗口能夠根據(jù)不同數(shù)據(jù)流之間的關(guān)系處理數(shù)據(jù)流。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)需要對(duì)開(kāi)啟或關(guān)閉窗口,從而能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)流更為復(fù)雜的處理過(guò)程。實(shí)施例3本發(fā)明實(shí)施例提供一種處理數(shù)據(jù)流的裝置,如圖5所示,該裝置包括:接收模塊501、檢測(cè)模塊502、第一判斷模塊503、第一啟動(dòng)模塊504。接收模塊501,用于接收數(shù)據(jù)流組。其中,如果指定數(shù)據(jù)流的屬性不滿(mǎn)足開(kāi)啟該窗口的條件,則接收下一個(gè)數(shù)據(jù)流組,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流。檢測(cè)模塊502,用于檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟。第一判斷模塊503,用于若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則判斷所述指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè)。第一啟動(dòng)模塊504,用于如果所述指定數(shù)據(jù)流的屬性滿(mǎn)足開(kāi)啟該窗口的條件,則開(kāi)啟該窗口,并通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù)。其中,如果不滿(mǎn)足開(kāi)啟該窗口的,則通過(guò)接收模塊501接收下一個(gè)數(shù)據(jù)流組。本發(fā)明實(shí)施例提供的裝置,能夠通過(guò)接收模塊接受數(shù)據(jù)流,并根據(jù)數(shù)據(jù)流的屬性,通過(guò)檢測(cè)模塊檢測(cè)窗口是否開(kāi)啟,并通過(guò)第一判斷模塊判斷窗口是否滿(mǎn)足開(kāi)啟的條件,再通過(guò)第一啟動(dòng)模塊啟動(dòng)窗口并實(shí)現(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程,從而實(shí)現(xiàn)窗口的開(kāi)啟功能。同時(shí)還能夠根據(jù)其他數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟條件,實(shí)現(xiàn)窗口的開(kāi)啟功能,使窗口能夠根據(jù)不同數(shù)據(jù)流之間的關(guān)系處理數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)需要對(duì)開(kāi)啟窗口,從而能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)流更為復(fù)雜的處理過(guò)程。實(shí)施例4本發(fā)明實(shí)施例提供一種處理數(shù)據(jù)流的裝置,如圖6所示,該裝置包括:接收模塊501、檢測(cè)模塊502、第一判斷模塊503、第一啟動(dòng)模塊504、定義模塊505、第二判斷模塊506、關(guān)閉模塊507、第二啟動(dòng)模塊508、數(shù)據(jù)處理模塊509。定義模塊505,用于定義可開(kāi)關(guān)窗口。接收模塊501,用于接收數(shù)據(jù)流組。其中,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流,所述指定數(shù)據(jù)流的屬性來(lái)自同一個(gè)數(shù)據(jù)流,或所述指定數(shù)據(jù)流的屬性分別來(lái)自所述指定數(shù)據(jù)流中的至少二個(gè)不同的數(shù)據(jù)流。進(jìn)一步的,如果指定數(shù)據(jù)流的屬性不滿(mǎn)足開(kāi)啟該窗口的條件,則接收下一個(gè)數(shù)據(jù)流組,所述數(shù)據(jù)流組中包括至少一個(gè)數(shù)據(jù)流。檢測(cè)模塊502,用于檢測(cè)所述數(shù)據(jù)流所對(duì)應(yīng)的窗口是否已開(kāi)啟。第一判斷模塊503,用于若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口沒(méi)有開(kāi)啟,則判斷所述指定數(shù)據(jù)流的屬性是否滿(mǎn)足開(kāi)啟該窗口的條件。其中,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè)。進(jìn)一步的,所述指定數(shù)據(jù)流的屬性分別來(lái)自所述指定數(shù)據(jù)流中的至少二個(gè)不同的數(shù)據(jù)流,所述第一判斷模塊,具體用于根據(jù)時(shí)間屬性和價(jià)格屬性中的至少一項(xiàng)判斷是否滿(mǎn)足開(kāi)啟該窗口的條件。第二判斷模塊506,用于若所述數(shù)據(jù)流所對(duì)應(yīng)的窗口已經(jīng)開(kāi)啟,則判斷指定數(shù)據(jù)流的屬性是否滿(mǎn)足關(guān)閉該窗口的條件。其中,所述指定數(shù)據(jù)流為所述數(shù)據(jù)流組的所有數(shù)據(jù)流中的至少一個(gè)。進(jìn)一步的,所述指定數(shù)據(jù)流的屬性分別來(lái)自所述指定數(shù)據(jù)流中的至少二個(gè)不同的數(shù)據(jù)流,所述第一判斷模塊,具體用于根據(jù)時(shí)間屬性和價(jià)格屬性中的至少一項(xiàng)判斷是否滿(mǎn)足開(kāi)啟該窗口的條件。第一啟動(dòng)模塊504,用于如果所述指定數(shù)據(jù)流的屬性滿(mǎn)足開(kāi)啟該窗口的條件,則開(kāi)啟該窗口,并通過(guò)該窗口處理所述數(shù)據(jù)流的數(shù)據(jù)。其中,如果不滿(mǎn)足開(kāi)啟該窗口的條件,則通過(guò)接收模塊501接收下一個(gè)數(shù)據(jù)流組。關(guān)閉模塊507,用于如果滿(mǎn)足關(guān)閉該窗口的條件,則關(guān)閉該窗口。其中,若關(guān)閉的窗口中留有未處理的數(shù)據(jù),則通過(guò)數(shù)據(jù)處理模塊509對(duì)這些進(jìn)行處理。第二啟動(dòng)模塊508,用于如果指定數(shù)據(jù)流的屬性不滿(mǎn)足關(guān)閉該窗口的條件,則通過(guò)數(shù)據(jù)處理模塊509處理所述數(shù)據(jù)流的數(shù)據(jù)。數(shù)據(jù)處理模塊509,用于處理窗口中保留的數(shù)據(jù)。具體的,在本實(shí)施例中,對(duì)窗口中保留的數(shù)據(jù)進(jìn)行處理的方法可以是:分組、求和、或求平均值等。對(duì)窗口中保留的數(shù)據(jù)進(jìn)行處理的方法已為本領(lǐng)域所熟知,在此不再贅述。該處理數(shù)據(jù)流的裝置具體的操作方法已在方法實(shí)施例中詳細(xì)描述,這里不做贅述。本發(fā)明實(shí)施例提供的裝置,能夠通過(guò)接收模塊接受數(shù)據(jù)流,并根據(jù)數(shù)據(jù)流的屬性,通過(guò)檢測(cè)模塊檢測(cè)窗口是否開(kāi)啟,并通過(guò)第一判斷模塊判斷窗口是否滿(mǎn)足開(kāi)啟的條件,以及通過(guò)第二判斷模塊判斷窗口是否滿(mǎn)足關(guān)閉的條件,再通過(guò)第一啟動(dòng)模塊啟動(dòng)窗口并實(shí)現(xiàn)根據(jù)需要對(duì)數(shù)據(jù)流進(jìn)行有選擇的處理過(guò)程,或通過(guò)關(guān)閉模塊關(guān)閉滿(mǎn)足關(guān)閉條件的窗口,從而實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能。同時(shí),還能夠根據(jù)其他數(shù)據(jù)流的屬性,定義窗口的開(kāi)啟及關(guān)閉條件,實(shí)現(xiàn)窗口的開(kāi)啟和關(guān)閉功能,使窗口能夠根據(jù)不同數(shù)據(jù)流之間的關(guān)系處理數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例能夠根據(jù)需要對(duì)開(kāi)啟或關(guān)閉窗口,從而能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)流更為復(fù)雜的處理過(guò)程。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例裝置中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各裝置的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-OnlyMemory, ROM)或隨機(jī)存儲(chǔ)記憶體(RandomAccessMemory,RAM)等。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
麻城市| 宝山区| 卢氏县| 池州市| 滕州市| 邢台县| 松潘县| 淮阳县| 科技| 大理市| 马山县| 长白| 康保县| 云龙县| 勃利县| 乌拉特后旗| 临夏县| 汨罗市| 永顺县| 寿宁县| 富蕴县| 饶河县| 岐山县| 井冈山市| 北碚区| 乌海市| 思南县| 胶州市| 富川| 宜黄县| 迁安市| 江陵县| 万源市| 浦县| 岳西县| 叶城县| 措勤县| 桃园县| 韶山市| 苍山县| 蕉岭县|