本申請屬于大數(shù)據(jù),尤其涉及一種時序數(shù)據(jù)的處理方法、裝置、設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品。
背景技術(shù):
1、目前,物聯(lián)網(wǎng)設(shè)備每天會產(chǎn)生或接收到海量帶時間戳的數(shù)據(jù),帶時間戳的數(shù)據(jù)稱之為時序數(shù)據(jù),海量的時序數(shù)據(jù)組成時序流。對于接收時序流的用戶或第三方應(yīng)用來說,在特定工況下需要設(shè)備產(chǎn)生的時序流必須按照一定的規(guī)則,例如按照時序數(shù)據(jù)的時間戳從早到晚的順序,傳輸至用戶或者第三方應(yīng)用使用,以保證準(zhǔn)確業(yè)務(wù)。然而在網(wǎng)絡(luò)波動或者服務(wù)異常的情況下,時序流中時序數(shù)據(jù)的順序可能會發(fā)生混亂,導(dǎo)致時序數(shù)據(jù)不符合業(yè)務(wù)順序的情況發(fā)生,造成業(yè)務(wù)錯誤。
2、現(xiàn)有針對時序流中時序數(shù)據(jù)順序混亂的處理方法,一般是將存在順序混亂時序數(shù)據(jù)的時序流加載至內(nèi)存中進(jìn)行規(guī)則處理。然而,時序流龐大的數(shù)據(jù)量級導(dǎo)致內(nèi)存的消耗空間非常大,同時處理的時長也會指數(shù)級增加,帶來高昂的空間成本和時間成本。
技術(shù)實現(xiàn)思路
1、本申請實施例提供一種時序數(shù)據(jù)的處理方法、裝置、設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品,能夠降低處理順序混亂的時序數(shù)據(jù)的空間成本和時間成本。
2、第一方面,本申請實施例提供一種時序數(shù)據(jù)的處理方法,方法包括:
3、獲取第一時序流,第一時序流包括多個第一時序數(shù)據(jù),第一時序數(shù)據(jù)包括多個屬性;
4、根據(jù)第一時序數(shù)據(jù)的數(shù)量將多個第一時序數(shù)據(jù)分配到至少一個排序處理分區(qū);至少一個排序處理分區(qū)具有預(yù)設(shè)排列順序;
5、針對每個排序處理分區(qū)中的每個第一時序數(shù)據(jù),根據(jù)至少一個目標(biāo)屬性分別對應(yīng)的第一屬性值和權(quán)重系數(shù)計算與第一時序數(shù)據(jù)對應(yīng)的第二屬性值;目標(biāo)屬性表示多個屬性中與業(yè)務(wù)相關(guān)的屬性;
6、針對每個排序處理分區(qū),按照第二屬性值從小到大的順序?qū)Χ鄠€第二屬性值進(jìn)行排序,得到第一子時序流;
7、針對每個排序處理分區(qū),將第一子時序流中的第二屬性值替換為第二屬性值對應(yīng)的第一時序數(shù)據(jù),得到第二子時序流;
8、按照預(yù)設(shè)排列順序,對至少一個排序處理分區(qū)分別對應(yīng)的第二子時序流進(jìn)行排序,得到目標(biāo)時序流。
9、第二方面,本申請實施例提供了一種時序數(shù)據(jù)的處理裝置,裝置包括:
10、獲取模塊,用于獲取第一時序流,第一時序流包括多個第一時序數(shù)據(jù),第一時序數(shù)據(jù)包括多個屬性;
11、分配模塊,用于根據(jù)第一時序數(shù)據(jù)的數(shù)量將多個第一時序數(shù)據(jù)分配到至少一個排序處理分區(qū);至少一個排序處理分區(qū)具有預(yù)設(shè)排列順序;
12、計算模塊,用于針對每個排序處理分區(qū)中的每個第一時序數(shù)據(jù),根據(jù)至少一個目標(biāo)屬性分別對應(yīng)的第一屬性值和權(quán)重系數(shù)計算與第一時序數(shù)據(jù)對應(yīng)的第二屬性值;目標(biāo)屬性表示多個屬性中與業(yè)務(wù)相關(guān)的屬性;
13、排序模塊,用于針對每個排序處理分區(qū),按照第二屬性值從小到大的順序?qū)Χ鄠€第二屬性值進(jìn)行排序,得到第一子時序流;
14、排序模塊,還用于每個排序處理分區(qū),將第一子時序流中的第二屬性值替換為第二屬性值對應(yīng)的第一時序數(shù)據(jù),得到第二子時序流;
15、排序模塊,還用于按照預(yù)設(shè)排列順序,對至少一個排序處理分區(qū)分別對應(yīng)的第二子時序流進(jìn)行排序,得到目標(biāo)時序流。
16、第三方面,本申請實施例提供了一種電子設(shè)備,設(shè)備包括:處理器以及存儲有計算機程序指令的存儲器;處理器執(zhí)行計算機程序指令時實現(xiàn)如第一方面的時序數(shù)據(jù)的處理方法。
17、第四方面,本申請實施例提供了一種計算機存儲介質(zhì),計算機存儲介質(zhì)上存儲有計算機程序指令,計算機程序指令被處理器執(zhí)行時實現(xiàn)如第一方面的時序數(shù)據(jù)的處理方法。
18、第五方面,本申請實施例提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品中的指令由電子設(shè)備的處理器執(zhí)行時,使得電子設(shè)備執(zhí)行如第一方面的時序數(shù)據(jù)的處理方法。
19、本申請實施例的時序數(shù)據(jù)的處理方法、裝置、設(shè)備、存儲介質(zhì)及計算機程序產(chǎn)品,通過將第一時序流中的海量第一時序數(shù)據(jù)分配到至少一個排序處理分區(qū),以分區(qū)為單位將第一時序數(shù)據(jù)劃分為更小粒度的數(shù)據(jù)量來處理,能夠解決時序數(shù)據(jù)排序處理過高的時間復(fù)雜度問題,降低了時間成本。針對每個排序處理分區(qū)中的每個第一時序數(shù)據(jù),根據(jù)至少一個目標(biāo)屬性分別對應(yīng)的第一屬性值和權(quán)重系數(shù)計算與第一時序數(shù)據(jù)對應(yīng)的第二屬性值,由于目標(biāo)屬性是與時序數(shù)據(jù)發(fā)送規(guī)則相關(guān)聯(lián)的屬性,意味著在計算第二屬性值的過程中去除了與時序數(shù)據(jù)發(fā)送規(guī)則無關(guān)的其他屬性,縮小了時序數(shù)據(jù)占用內(nèi)存的容量,能夠減小排序處理分區(qū)中排序處理過程所需的內(nèi)存,降低了時序數(shù)據(jù)排序處理的空間成本。綜上,本申請實施例能夠降低處理順序混亂的時序數(shù)據(jù)的時間成本和空間成本。
1.一種時序數(shù)據(jù)的處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)至少一個目標(biāo)屬性分別對應(yīng)的第一屬性值和權(quán)重系數(shù)計算與所述第一時序數(shù)據(jù)對應(yīng)的第二屬性值之前,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將所述第一子時序流中的所述第二屬性值替換為所述第二屬性值對應(yīng)的所述第一時序數(shù)據(jù)之前,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述獲取所述第一時序數(shù)據(jù)的標(biāo)識數(shù)據(jù),包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)所述第一時序數(shù)據(jù)的數(shù)量將所述多個第一時序數(shù)據(jù)分配到至少一個排序處理分區(qū)之前,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述排序處理分區(qū)為多個,所述根據(jù)所述第一時序數(shù)據(jù)的數(shù)量將所述多個第一時序數(shù)據(jù)分配到至少一個排序處理分區(qū),包括:
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述獲取所述第一時序流,包括:
8.一種時序數(shù)據(jù)的處理裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,其特征在于,所述設(shè)備包括:處理器以及存儲有計算機程序指令的存儲器;
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)上存儲有計算機程序指令,所述計算機程序指令被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-7任意一項所述的時序數(shù)據(jù)的處理方法。
11.一種計算機程序產(chǎn)品,其特征在于,所述計算機程序產(chǎn)品中的指令由電子設(shè)備的處理器執(zhí)行時,使得所述電子設(shè)備執(zhí)行如權(quán)利要求1-7任意一項所述的時序數(shù)據(jù)的處理方法。