分布式數(shù)據(jù)的處理方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種分布式數(shù)據(jù)的處理方法和裝置。其中,分布式數(shù)據(jù)的處理方法包括:獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn);計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔;判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔;在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為結(jié)果輸出時(shí)間;在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為結(jié)果輸出時(shí)間。通過本發(fā)明,解決了使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題,進(jìn)而達(dá)到了保證StreamInsight下分布式計(jì)算結(jié)果完整性的效果。
【專利說明】分布式數(shù)據(jù)的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種分布式數(shù)據(jù)的處理方法和裝置。
【背景技術(shù)】
[0002]Microsoft StreamInsight 是為開發(fā)和部署復(fù)雜事件處理(Complex EventProcessing,簡(jiǎn)稱CEP)應(yīng)用程序提供的一個(gè)功能強(qiáng)大的平臺(tái)。CEP是一種高吞吐、低滯后處理事件流的技術(shù)。在使用StreamInsight技術(shù)做分布式的實(shí)時(shí)數(shù)據(jù)計(jì)算,由于不同服務(wù)器計(jì)算能力和接收的數(shù)據(jù)量可能不同,那么就會(huì)出現(xiàn)不同計(jì)算服務(wù)器節(jié)點(diǎn)的計(jì)算進(jìn)度不一致,從而影響計(jì)算結(jié)果的數(shù)據(jù)完整性。
[0003]針對(duì)相關(guān)技術(shù)中使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題,目如尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種分布式數(shù)據(jù)的處理方法和裝置,以解決現(xiàn)有技術(shù)中使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題。
[0005]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種分布式數(shù)據(jù)的處理方法,包括:獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,服務(wù)器為分布式服務(wù)器中的服務(wù)器,分布式服務(wù)器為接收并處理分布式數(shù)據(jù)的服務(wù)器;計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔;判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,第一類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔;在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第一時(shí)間間隔為多個(gè)時(shí)間間隔中的最大時(shí)間間隔;以及在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,第二類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)間間隔。
[0006]進(jìn)一步地,通過比較多個(gè)時(shí)間間隔中每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,確定第一類時(shí)間間隔和第二類時(shí)間間隔。
[0007]進(jìn)一步地,通過以下方式確定預(yù)設(shè)時(shí)間:獲取分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值和分布式服務(wù)器的時(shí)間默認(rèn)值;判斷時(shí)間跨度值是否大于時(shí)間默認(rèn)值;在判斷出時(shí)間跨度值大于時(shí)間默認(rèn)值的情況下,確定時(shí)間跨度值為預(yù)設(shè)時(shí)間;以及在判斷出時(shí)間跨度值小于或等于時(shí)間默認(rèn)值的情況下,確定時(shí)間默認(rèn)值為預(yù)設(shè)時(shí)間。
[0008]進(jìn)一步地,在確定出處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間之后,處理方法還包括:獲取分布式服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù);以及整合獲取到的輸出數(shù)據(jù),得到分布式數(shù)據(jù)的處理結(jié)果。
[0009]進(jìn)一步地,獲取分布式服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù)包括:獲取分布式服務(wù)器中目標(biāo)服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),其中,目標(biāo)服務(wù)器為第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。
[0010]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種分布式數(shù)據(jù)的處理裝置,該處理裝置用于執(zhí)行本發(fā)明上述內(nèi)容所提供的任一種分布式數(shù)據(jù)的處理方法。
[0011]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種分布式數(shù)據(jù)的處理裝置,包括:第一獲取單元,用于獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,服務(wù)器為分布式服務(wù)器中的服務(wù)器,分布式服務(wù)器為接收并處理分布式數(shù)據(jù)的服務(wù)器;計(jì)算單元,用于計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔;第一判斷單元,用于判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,第一類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔;第一確定單元,用于在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第一時(shí)間間隔為多個(gè)時(shí)間間隔中的最大時(shí)間間隔;以及第二確定單元,用于在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,第二類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)間間隔。
[0012]進(jìn)一步地,處理裝置還包括:比較單元,用于比較多個(gè)時(shí)間間隔中每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,以確定第一類時(shí)間間隔和第二類時(shí)間間隔。
[0013]進(jìn)一步地,處理裝置還包括:第二獲取單元,用于獲取分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值和分布式服務(wù)器的時(shí)間默認(rèn)值;第二判斷單元,用于判斷時(shí)間跨度值是否大于時(shí)間默認(rèn)值;第三確定單元,用于在判斷出時(shí)間跨度值大于時(shí)間默認(rèn)值的情況下,確定時(shí)間跨度值為預(yù)設(shè)時(shí)間;以及第四確定單元,用于在判斷出時(shí)間跨度值小于或等于時(shí)間默認(rèn)值的情況下,確定時(shí)間默認(rèn)值為預(yù)設(shè)時(shí)間。
[0014]進(jìn)一步地,處理裝置還包括:第三獲取單元,用于獲取分布式服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù);以及整合單元,用于整合獲取到的輸出數(shù)據(jù),得到分布式數(shù)據(jù)的處理結(jié)果O
[0015]進(jìn)一步地,第三獲取單元包括:獲取模塊,用于獲取分布式服務(wù)器中目標(biāo)服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),其中,目標(biāo)服務(wù)器為第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。
[0016]本發(fā)明采用獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,服務(wù)器為分布式服務(wù)器中的服務(wù)器,分布式服務(wù)器為接收并處理分布式數(shù)據(jù)的服務(wù)器;計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔;判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,第一類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔;在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第一時(shí)間間隔為多個(gè)時(shí)間間隔中的最大時(shí)間間隔;以及在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,第二類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)間間隔。通過獲取每個(gè)服務(wù)器最后一次所處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),并計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較大(即,超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)長時(shí)間沒有接收到需要進(jìn)行處理的分布式數(shù)據(jù),也沒有數(shù)據(jù)的處理結(jié)果輸出,反之,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較小(即,未超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)有接收到需要進(jìn)行處理的分布式數(shù)據(jù),因此,通過計(jì)算時(shí)間間隔,并比較時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,實(shí)現(xiàn)了能夠準(zhǔn)確確定各個(gè)服務(wù)器節(jié)點(diǎn)的處理進(jìn)度,并能夠準(zhǔn)確確定出能夠完整輸出分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,解決了使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題,進(jìn)而達(dá)到了保證StreamInsight下分布式計(jì)算結(jié)果完整性的效果。
【專利附圖】
【附圖說明】
[0017]構(gòu)成本申請(qǐng)的一部分的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法的流程圖;
[0019]圖2是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法中多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定出的處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間的示意圖;
[0020]圖3是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法中多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定出的處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間的示意圖;以及
[0021]圖4是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理裝置的示意圖。
【具體實(shí)施方式】
[0022]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0023]本發(fā)明實(shí)施例提供給了一種分布式數(shù)據(jù)的處理方法,以下對(duì)本發(fā)明實(shí)施例所提供的分布式數(shù)據(jù)的處理方法進(jìn)行具體介紹:
[0024]圖1是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法的流程圖,如圖1所示,該方法包括如下的步驟S102至步驟SllO:
[0025]S102:獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,服務(wù)器為分布式服務(wù)器中的服務(wù)器,分布式服務(wù)器為接收并處理分布式數(shù)據(jù)的服務(wù)器,即,對(duì)分布式服務(wù)器中每個(gè)服務(wù)器最后一次所處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn)進(jìn)行獲取,在對(duì)分布式數(shù)據(jù)進(jìn)行處理時(shí),采用分布式計(jì)算處理方式,所謂分布式計(jì)算,是指把一個(gè)需要非常巨大的計(jì)算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多計(jì)算機(jī)進(jìn)行處理,最后把這些計(jì)算結(jié)果綜合起來得到最終的結(jié)果。
[0026]S104:計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔。
[0027]S106:判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,第一類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔,具體地,可以通過比較每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,來確定第一類時(shí)間間隔,若比較出某個(gè)時(shí)間間隔的時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)長,則確定這個(gè)時(shí)間間隔屬于第一類時(shí)間間隔,反之,則不屬于第一類時(shí)間間隔。
[0028]S108:在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第一時(shí)間間隔為多個(gè)時(shí)間間隔中的最大時(shí)間間隔,即,在判斷出多個(gè)時(shí)間間隔均小于或等于預(yù)設(shè)時(shí)間的情況下,確定多個(gè)時(shí)間間隔中最大時(shí)間間隔所對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間。
[0029]SllO:在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,第二類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)間間隔,即,在判斷出多個(gè)時(shí)間間隔中存在時(shí)長大于預(yù)設(shè)時(shí)間的情況下,確定第二類時(shí)間間隔中最大時(shí)間間隔所對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,對(duì)于第二類時(shí)間間隔的確定,同樣可以通過比較每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,來確定第二類時(shí)間間隔,若比較出某個(gè)時(shí)間間隔的時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)長,則確定這個(gè)時(shí)間間隔屬于第二類時(shí)間間隔,反之,則不屬于第二類時(shí)間間隔。即,確定時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的為第一類時(shí)間間隔,時(shí)長小于或等于預(yù)設(shè)時(shí)間的為第二類時(shí)間間隔。
[0030]本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法,通過獲取每個(gè)服務(wù)器最后一次所處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),并計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較大(即,超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)長時(shí)間沒有接收到需要進(jìn)行處理的分布式數(shù)據(jù),也沒有數(shù)據(jù)的處理結(jié)果輸出,反之,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較小(即,未超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)有接收到需要進(jìn)行處理的分布式數(shù)據(jù),因此,通過計(jì)算時(shí)間間隔,并比較時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,實(shí)現(xiàn)了能夠準(zhǔn)確確定各個(gè)服務(wù)器節(jié)點(diǎn)的處理進(jìn)度,并能夠準(zhǔn)確確定出能夠完整輸出分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,解決了使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題,進(jìn)而達(dá)到了保證StreamInsight下分布式計(jì)算結(jié)果完整性和一致性的效果。
[0031]以下以進(jìn)行分布式數(shù)據(jù)處理的分布式服務(wù)器具有3臺(tái)服務(wù)器,預(yù)設(shè)時(shí)間為5分鐘為例,進(jìn)一步說明本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法:
[0032]圖2是多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定出的處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間的示意圖,圖3是多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定出的處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間的示意圖,如圖2所示,假如當(dāng)前時(shí)間為2013-08-0812:04:00,各個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn)如下:
[0033]服務(wù)器S1:2013-08-0812:01:00
[0034]服務(wù)器S2:2013-08-0812:03:00
[0035]服務(wù)器S3:2013-08-0812:04:00
[0036]由于設(shè)定的時(shí)間差距閾值(B卩,預(yù)設(shè)時(shí)間)為5分鐘,相對(duì)于當(dāng)前時(shí)間,服務(wù)器SI,服務(wù)器S2和服務(wù)器S3對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)相對(duì)當(dāng)前時(shí)間的時(shí)間間隔都在閾值以內(nèi),所以,就取當(dāng)前三個(gè)服務(wù)器都有數(shù)據(jù)的最新時(shí)間為整體數(shù)據(jù)計(jì)算完整時(shí)間,也即是最大時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn),結(jié)果為:2013-08-0812:01:00。
[0037]如圖3所示,假如當(dāng)前時(shí)間為2013-08-0812:07:00,各個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn)如下:
[0038]服務(wù)器S1:2013-08-0812:01:00
[0039]服務(wù)器S2:2013-08-0812:03:00
[0040]服務(wù)器S3:2013-08-0812:04:00
[0041]由于設(shè)定的時(shí)間差距閾值卿,預(yù)設(shè)時(shí)間)為5分鐘,相對(duì)于當(dāng)前時(shí)間,服務(wù)器SI對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)相對(duì)當(dāng)前時(shí)間的時(shí)間間隔超出了閾值,則確定服務(wù)器Si無數(shù)據(jù)輸出。服務(wù)器S2和服務(wù)器S3對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)相對(duì)當(dāng)前時(shí)間的時(shí)間間隔都在閾值以內(nèi),所以,就取服務(wù)器S2和服務(wù)器S3都有數(shù)據(jù)的最新時(shí)間為整體數(shù)據(jù)計(jì)算完整時(shí)間,也即是未超出閾值的時(shí)間間隔中最大時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn),結(jié)果為:2013-08-0812:03:00。
[0042]優(yōu)選地,在本發(fā)明實(shí)施例中,對(duì)于預(yù)設(shè)時(shí)間的設(shè)定方式,除了直接根據(jù)實(shí)際情況進(jìn)行預(yù)先設(shè)定外,還可以采用以下方式進(jìn)行具體確定:
[0043]首先,獲取分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值Window (即,時(shí)間跨度窗口)的大小,并獲取分布式服務(wù)器的時(shí)間默認(rèn)值Default的大小。
[0044]其次,判斷時(shí)間跨度值Window是否大于時(shí)間默認(rèn)值Default。
[0045]然后,在判斷出時(shí)間跨度值Window大于時(shí)間默認(rèn)值Default的情況下,確定時(shí)間跨度值Window為預(yù)設(shè)時(shí)間,比如,Default=5分鐘,Window=IO分鐘,則預(yù)設(shè)時(shí)間設(shè)置為10分鐘?;蛘?,在判斷出時(shí)間跨度值小于或等于時(shí)間默認(rèn)值的情況下,確定時(shí)間默認(rèn)值為預(yù)設(shè)時(shí)間,比如,Default=5分鐘,ffindow=3分鐘,則預(yù)設(shè)時(shí)間設(shè)置為5分鐘。
[0046]通過對(duì)比分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值和分布式服務(wù)器的時(shí)間默認(rèn)值的大小,并確定較大的一個(gè)時(shí)間為預(yù)設(shè)時(shí)間,實(shí)現(xiàn)了根據(jù)分布式服務(wù)器的實(shí)際情況來精確地設(shè)定預(yù)設(shè)時(shí)間的大小,以保證能夠準(zhǔn)確確定分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,進(jìn)一步保證分布式計(jì)算結(jié)果完整性,避免影響整體數(shù)據(jù)輸出。
[0047]進(jìn)一步地,在確定出處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間之后,本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理方法還包括:獲取分布式服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),具體地,主要是獲取每個(gè)目標(biāo)服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),所謂目標(biāo)服務(wù)器是指其對(duì)應(yīng)的時(shí)間間隔屬于第二類時(shí)間間隔,也即,目標(biāo)服務(wù)器為第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。然后,整合獲取到的輸出數(shù)據(jù),得到分布式數(shù)據(jù)的處理結(jié)果。
[0048]本發(fā)明實(shí)施例還提供了 一種分布式數(shù)據(jù)的處理裝置,該處理裝置主要用于執(zhí)行本發(fā)明實(shí)施例上述內(nèi)容所提供的任一種分布式數(shù)據(jù)的處理方法,以下對(duì)本發(fā)明實(shí)施例所提供的分布式數(shù)據(jù)的處理裝置進(jìn)行具體介紹:
[0049]圖4是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理裝置的示意圖,如圖4所示,該處理裝置主要包括第一獲取單元10、計(jì)算單元20、第一判斷單元30、第一確定單元40和第二確定單元50,其中:
[0050]第一獲取單元10用于獲取每個(gè)服務(wù)器最后一次處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,服務(wù)器為分布式服務(wù)器中的服務(wù)器,分布式服務(wù)器為接收并處理分布式數(shù)據(jù)的服務(wù)器,即,對(duì)分布式服務(wù)器中每個(gè)服務(wù)器最后一次所處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn)進(jìn)行獲取,在對(duì)分布式數(shù)據(jù)進(jìn)行處理時(shí),采用分布式計(jì)算處理方式,所謂分布式計(jì)算,是指把一個(gè)需要非常巨大的計(jì)算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多計(jì)算機(jī)進(jìn)行處理,最后把這些計(jì)算結(jié)果綜合起來得到最終的結(jié)果。
[0051]計(jì)算單元20用于計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔。
[0052]第一判斷單元30用于判斷多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,第一類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔,具體地,可以通過比較每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,來確定第一類時(shí)間間隔,若比較出某個(gè)時(shí)間間隔的時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)長,則確定這個(gè)時(shí)間間隔屬于第一類時(shí)間間隔,反之,則不屬于第一類時(shí)間間隔。
[0053]第一確定單元40用于在判斷出多個(gè)時(shí)間間隔中不存在第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第一時(shí)間間隔為多個(gè)時(shí)間間隔中的最大時(shí)間間隔,即,在判斷出多個(gè)時(shí)間間隔均小于或等于預(yù)設(shè)時(shí)間的情況下,確定多個(gè)時(shí)間間隔中最大時(shí)間間隔所對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間。
[0054]第二確定單元50用于在判斷出多個(gè)時(shí)間間隔中存在第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,第二類時(shí)間間隔為多個(gè)時(shí)間間隔中時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)間間隔,即,在判斷出多個(gè)時(shí)間間隔中存在時(shí)長大于預(yù)設(shè)時(shí)間的情況下,確定第二類時(shí)間間隔中最大時(shí)間間隔所對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,對(duì)于第二類時(shí)間間隔的確定,同樣可以通過比較每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,來確定第二類時(shí)間間隔,若比較出某個(gè)時(shí)間間隔的時(shí)長小于或等于預(yù)設(shè)時(shí)間的時(shí)長,則確定這個(gè)時(shí)間間隔屬于第二類時(shí)間間隔,反之,則不屬于第二類時(shí)間間隔。即,確定時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的為第一類時(shí)間間隔,時(shí)長小于或等于預(yù)設(shè)時(shí)間的為第二類時(shí)間間隔。
[0055]本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理裝置,通過獲取每個(gè)服務(wù)器最后一次所處理的分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),并計(jì)算每個(gè)時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較大(即,超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)長時(shí)間沒有接收到需要進(jìn)行處理的分布式數(shù)據(jù),也沒有數(shù)據(jù)的處理結(jié)果輸出,反之,若某個(gè)服務(wù)器對(duì)應(yīng)的時(shí)間間隔相對(duì)較小(即,未超出預(yù)設(shè)時(shí)間),則說明這個(gè)服務(wù)器節(jié)點(diǎn)有接收到需要進(jìn)行處理的分布式數(shù)據(jù),因此,通過計(jì)算時(shí)間間隔,并比較時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,實(shí)現(xiàn)了能夠準(zhǔn)確確定各個(gè)服務(wù)器節(jié)點(diǎn)的處理進(jìn)度,并能夠準(zhǔn)確確定出能夠完整輸出分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,解決了使用StreamInsight進(jìn)行分布式數(shù)據(jù)計(jì)算容易出現(xiàn)計(jì)算結(jié)果不完整的問題,進(jìn)而達(dá)到了保證StreamInsight下分布式計(jì)算結(jié)果完整性和一致性的效果。
[0056]進(jìn)一步地,處理裝置還包括比較單元,具體地,可以通過比較單元比較多個(gè)時(shí)間間隔中每個(gè)時(shí)間間隔與預(yù)設(shè)時(shí)間的大小,來確定出上述第一類時(shí)間間隔和第二類時(shí)間間隔。
[0057]優(yōu)選地,本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理裝置還包括第二獲取單元、第二判斷單元、第三確定單元和第四確定單元,在本發(fā)明實(shí)施例中,對(duì)于預(yù)設(shè)時(shí)間的設(shè)定方式,除了直接根據(jù)實(shí)際情況進(jìn)行預(yù)先設(shè)定外,還可以采用以下方式通過第二獲取單元、第二判斷單元、第三確定單元和第四確定單元的協(xié)同作用進(jìn)行具體確定:
[0058]首先,第二獲取單元獲取分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值Window(gp,時(shí)間跨度窗口)的大小,并獲取分布式服務(wù)器的時(shí)間默認(rèn)值Default的大小。
[0059]其次,第二判斷單元判斷時(shí)間跨度值Window是否大于時(shí)間默認(rèn)值Default。
[0060]然后,在判斷出時(shí)間跨度值Window大于時(shí)間默認(rèn)值Default的情況下,第三確定單元確定時(shí)間跨度值Window為預(yù)設(shè)時(shí)間,比如,Default=5分鐘,Window=IO分鐘,則預(yù)設(shè)時(shí)間設(shè)置為10分鐘。或者,在判斷出時(shí)間跨度值小于或等于時(shí)間默認(rèn)值的情況下,第四確定單元確定時(shí)間默認(rèn)值為預(yù)設(shè)時(shí)間,比如,Default=5分鐘,ffindow=3分鐘,則預(yù)設(shè)時(shí)間設(shè)置為5分鐘。
[0061]通過對(duì)比分布式服務(wù)器處理分布式數(shù)據(jù)的時(shí)間跨度值和分布式服務(wù)器的時(shí)間默認(rèn)值的大小,并確定較大的一個(gè)時(shí)間為預(yù)設(shè)時(shí)間,實(shí)現(xiàn)了根據(jù)分布式服務(wù)器的實(shí)際情況來精確地設(shè)定預(yù)設(shè)時(shí)間的大小,以保證能夠準(zhǔn)確確定分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,進(jìn)一步保證分布式計(jì)算結(jié)果完整性,避免影響整體數(shù)據(jù)輸出。[0062]進(jìn)一步地,本發(fā)明實(shí)施例的分布式數(shù)據(jù)的處理裝置還包括第三獲取單元和整合單元,其中,在第一確定單元40或第二確定單元50確定出處理分布式數(shù)據(jù)的結(jié)果輸出時(shí)間之后,第三獲取單元獲取分布式服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),具體地,第三獲取單元主要通過獲取模塊來獲取每個(gè)目標(biāo)服務(wù)器在結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),所謂目標(biāo)服務(wù)器是指其對(duì)應(yīng)的時(shí)間間隔屬于第二類時(shí)間間隔,也即,目標(biāo)服務(wù)器為第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。然后,由整合單元整合獲取到的輸出數(shù)據(jù),得到分布式數(shù)據(jù)的處理結(jié)果。
[0063]從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了準(zhǔn)確確定出能夠完整輸出分布式數(shù)據(jù)整體處理結(jié)果的時(shí)間,達(dá)到了保證StreamInsight下分布式計(jì)算結(jié)果完整性和一致性的效果O
[0064]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0065]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0066]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式數(shù)據(jù)的處理方法,其特征在于,包括: 獲取每個(gè)服務(wù)器最后一次處理的所述分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,所述服務(wù)器為分布式服務(wù)器中的服務(wù)器,所述分布式服務(wù)器為接收并處理所述分布式數(shù)據(jù)的服務(wù)器; 計(jì)算每個(gè)所述時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔; 判斷所述多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其中,所述第一類時(shí)間間隔為所述多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔; 在判斷出所述多個(gè)時(shí)間間隔中不存在所述第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理所述分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,所述第一時(shí)間間隔為所述多個(gè)時(shí)間間隔中的最大時(shí)間間隔;以及 在判斷出所述多個(gè)時(shí)間間隔中存在所述第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理所述分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,所述第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,所述第二類時(shí)間間隔為所述多個(gè)時(shí)間間隔中時(shí)長小于或等于所述預(yù)設(shè)時(shí)間的時(shí)間間隔。
2.根據(jù)權(quán)利要求1所述的處理方法,其特征在于,通過比較所述多個(gè)時(shí)間間隔中每個(gè)所述時(shí)間間隔與所述預(yù)設(shè)時(shí)間的大小,確定所述第一類時(shí)間間隔和所述第二類時(shí)間間隔。
3.根據(jù)權(quán)利要求1 所述的處理方法,其特征在于,通過以下方式確定所述預(yù)設(shè)時(shí)間: 獲取所述分布式服務(wù)器處理所述分布式數(shù)據(jù)的時(shí)間跨度值和所述分布式服務(wù)器的時(shí)間默認(rèn)值; 判斷所述時(shí)間跨度值是否大于所述時(shí)間默認(rèn)值; 在判斷出所述時(shí)間跨度值大于所述時(shí)間默認(rèn)值的情況下,確定所述時(shí)間跨度值為所述預(yù)設(shè)時(shí)間;以及 在判斷出所述時(shí)間跨度值小于或等于所述時(shí)間默認(rèn)值的情況下,確定所述時(shí)間默認(rèn)值為所述預(yù)設(shè)時(shí)間。
4.根據(jù)權(quán)利要求1所述的處理方法,其特征在于,在確定出處理所述分布式數(shù)據(jù)的結(jié)果輸出時(shí)間之后,所述處理方法還包括: 獲取所述分布式服務(wù)器在所述結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù);以及 整合獲取到的所述輸出數(shù)據(jù),得到所述分布式數(shù)據(jù)的處理結(jié)果。
5.根據(jù)權(quán)利要求4所述的處理方法,其特征在于,獲取所述分布式服務(wù)器在所述結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù)包括: 獲取所述分布式服務(wù)器中目標(biāo)服務(wù)器在所述結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),其中,所述目標(biāo)服務(wù)器為所述第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。
6.一種分布式數(shù)據(jù)的處理裝置,其特征在于,包括: 第一獲取單元,用于獲取每個(gè)服務(wù)器最后一次處理的所述分布式數(shù)據(jù)的時(shí)間節(jié)點(diǎn),其中,所述服務(wù)器為分布式服務(wù)器中的服務(wù)器,所述分布式服務(wù)器為接收并處理所述分布式數(shù)據(jù)的服務(wù)器; 計(jì)算單元,用于計(jì)算每個(gè)所述時(shí)間節(jié)點(diǎn)與當(dāng)前時(shí)間的時(shí)間間隔,得到多個(gè)時(shí)間間隔; 第一判斷單元,用于判斷所述多個(gè)時(shí)間間隔中是否存在第一類時(shí)間間隔,其 中,所述第一類時(shí)間間隔為所述多個(gè)時(shí)間間隔中時(shí)長大于預(yù)設(shè)時(shí)間的時(shí)間間隔; 第一確定單元,用于在判斷出所述多個(gè)時(shí)間間隔中不存在所述第一類時(shí)間間隔的情況下,確定第一時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理所述分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,所述第一時(shí)間間隔為所述多個(gè)時(shí)間間隔中的最大時(shí)間間隔;以及 第二確定單元,用于在判斷出所述多個(gè)時(shí)間間隔中存在所述第一類時(shí)間間隔的情況下,確定第二時(shí)間間隔對(duì)應(yīng)的時(shí)間節(jié)點(diǎn)為處理所述分布式數(shù)據(jù)的結(jié)果輸出時(shí)間,其中,所述第二時(shí)間間隔為第二類時(shí)間間隔中的最大時(shí)間間隔,所述第二類時(shí)間間隔為所述多個(gè)時(shí)間間隔中時(shí)長小于或等于所述預(yù)設(shè)時(shí)間的時(shí)間間隔。
7.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述處理裝置還包括: 比較單元,用于比較所述多個(gè)時(shí)間間隔中每個(gè)所述時(shí)間間隔與所述預(yù)設(shè)時(shí)間的大小,以確定所述第一類時(shí)間間隔和所述第二類時(shí)間間隔。
8.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述處理裝置還包括: 第二獲取單元,用于獲取所述分布式服務(wù)器處理所述分布式數(shù)據(jù)的時(shí)間跨度值和所述分布式服務(wù)器的時(shí)間默認(rèn)值; 第二判斷單元,用于判斷所述時(shí)間跨度值是否大于所述時(shí)間默認(rèn)值; 第三確定單元,用于在判斷出所述時(shí)間跨度值大于所述時(shí)間默認(rèn)值的情況下,確定所述時(shí)間跨度值為所述預(yù)設(shè)時(shí)間;以及 第四確定單元,用于在判斷出所述時(shí)間跨度值小于或等于所述時(shí)間默認(rèn)值的情況下,確定所述時(shí)間默認(rèn)值為所述預(yù)設(shè)時(shí)間。
9.根據(jù)權(quán)利要求6所述的處理裝置,其特征在于,所述處理裝置還包括: 第三獲取單元,用于獲取所述分布式服務(wù)器在所述結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù);以及 整合單元,用于整合獲取到的所述輸出數(shù)據(jù),得到所述分布式數(shù)據(jù)的處理結(jié)果。
10.根據(jù)權(quán)利要求9所述的處理裝置,其特征在于,所述第三獲取單元包括: 獲取模塊,用于獲取所述分布式服務(wù)器中目標(biāo)服務(wù)器在所述結(jié)果輸出時(shí)間時(shí)刻的輸出數(shù)據(jù),其中,所述目標(biāo)服務(wù)器為所述第二類時(shí)間間隔對(duì)應(yīng)的服務(wù)器。
【文檔編號(hào)】G06F17/30GK103595795SQ201310575295
【公開日】2014年2月19日 申請(qǐng)日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】王志遠(yuǎn), 林斐, 吳充 申請(qǐng)人:北京國雙科技有限公司