本申請涉及計算機通信領(lǐng)域,尤其涉及一種實時計算技術(shù)。
背景技術(shù):
隨著大數(shù)據(jù)的發(fā)展,適用于離線計算的批處理框架,如mapreduce(一種離線計算框架),已無法滿足人們對大數(shù)據(jù)實時處理的需求。而實時計算平臺提供了豐富的api、基于內(nèi)存的高速執(zhí)行引擎,從而使得結(jié)合流式、批處理和交互試查詢的實時計算平臺在大數(shù)據(jù)的實時計算中得到廣泛地應(yīng)用。
然而,實時計算平臺的所進(jìn)行的實時計算嚴(yán)重依賴于內(nèi)存資源,隨著實時計算平臺處理的業(yè)務(wù)數(shù)據(jù)地不斷增大,所帶來內(nèi)存資源的占用率過高,設(shè)備性能大大降低等問題已成為業(yè)界持續(xù)探討的問題。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N實時計算平臺及基于實時計算平臺的數(shù)據(jù)計算方法,用以實現(xiàn)在計算時,將離線數(shù)據(jù)和實時數(shù)據(jù)分別進(jìn)行獨立計算,在實時可視化展示計算結(jié)果時,將離線數(shù)據(jù)與實時數(shù)據(jù)合并,從而降低了實時計算平臺在進(jìn)行數(shù)據(jù)計算時對內(nèi)存資源的消耗,提高了設(shè)備性能。
具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:
根據(jù)本申請的第一方面,提供一種實時計算平臺,所述實時計算平臺包括實時計算子系統(tǒng)、離線計算子系統(tǒng),以及合并子系統(tǒng),所述方法包括:
所述實時計算子系統(tǒng),用于針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
所述離線計算子系統(tǒng),用于針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
所述合并子系統(tǒng),用于分別將所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
可選的,同一指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id相同;
所述合并子系統(tǒng),具體用于分別在所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中查找主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù);將查找到的所述主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并。
可選的,所述合并子系統(tǒng),進(jìn)一步用于基于合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,在所述第一數(shù)據(jù)庫中查找與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù);如果在所述第一數(shù)據(jù)庫中查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)在該原始業(yè)務(wù)指標(biāo)數(shù)據(jù)的基礎(chǔ)上進(jìn)行累加更新;如果所述第一數(shù)據(jù)庫中未查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)添加至所述第一數(shù)據(jù)庫。
可選的,所述實時計算子系統(tǒng)將得到的所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存;
所述離線計算子系統(tǒng)將得到的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存。
可選的,所述合并子系統(tǒng)具體用于,如果所述第一數(shù)據(jù)庫中存在異常業(yè)務(wù)指標(biāo)數(shù)據(jù)時,接收針對所述第一數(shù)據(jù)庫的異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的消息;查找與該異常業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)的歷史業(yè)務(wù)指標(biāo)數(shù)據(jù);將查找到的所述歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫,以進(jìn)行異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的修正。
根據(jù)本申請的第二方面,一種基于實時計算平臺的數(shù)據(jù)計算方法,所述方法應(yīng)用于實時計算平臺,所述方法包括:
針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);其中,所述實時計算與所述離線計算彼此隔離;
分別將所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
可選的,同一指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id相同;
所述分別將所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,包括:
所述分別在所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中查找主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù);
將查找到的所述主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并。
可選的,所述基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,包括:
基于合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,在所述第一數(shù)據(jù)庫中查找與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù);
如果在所述第一數(shù)據(jù)庫中查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)在該原始業(yè)務(wù)指標(biāo)數(shù)據(jù)的基礎(chǔ)上進(jìn)行累加更新;
如果所述第一數(shù)據(jù)庫中未查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)添加至所述第一數(shù)據(jù)庫。
可選的,所述方法還包括:所述實時計算子系統(tǒng)將得到的所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存;
所述離線計算子系統(tǒng)將得到的所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存。
可選的,所述方法還包括:如果所述第一數(shù)據(jù)庫中存在異常業(yè)務(wù)指標(biāo)數(shù)據(jù)時,接收針對第一業(yè)務(wù)數(shù)據(jù)庫的異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的消息;
查找與該異常業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)的歷史業(yè)務(wù)指標(biāo)數(shù)據(jù);
將查找到的所述歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫,以進(jìn)行異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的修正。
本申請?zhí)岢鲆环N基于實時計算平臺的數(shù)據(jù)計算方法,實時計算子系統(tǒng)可對新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,離線計算子系統(tǒng)可對新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,合并子系統(tǒng)將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于主鍵id,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以進(jìn)行可視化展示。
一方面,實時計算平臺可通過實時計算子系統(tǒng)和離線計算子系統(tǒng)對實時新增業(yè)務(wù)數(shù)據(jù)和離線新增業(yè)務(wù)數(shù)據(jù)分別進(jìn)行獨立的計算,由于將離線業(yè)務(wù)數(shù)據(jù)從實時計算中剝離出來進(jìn)行獨立地離線計算,因此可以有效地節(jié)約內(nèi)存資源,提高設(shè)備的性能。
另一方面,由于相同指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)相同的主鍵id,實時計算平臺的合并子系統(tǒng)可通過主鍵id,將實時計算子系統(tǒng)計算出的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)和離線計算子系統(tǒng)計算出的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并,從而有效地解決了具有關(guān)聯(lián)關(guān)系的新增業(yè)務(wù)數(shù)據(jù)和新增離線業(yè)務(wù)數(shù)據(jù)的銜接問題。
第三方面,由于實時計算平臺不再將原有的和新增的業(yè)務(wù)指標(biāo)數(shù)據(jù)整體寫入第一數(shù)據(jù)庫中,而是僅將新增的合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)存儲至第一數(shù)據(jù)庫,從而有效地減小了數(shù)據(jù)庫的讀寫壓力。
附圖說明
圖1是本申請一示例性實施例示出的一種基于實時計算平臺的實時計算的網(wǎng)絡(luò)架構(gòu)圖;
圖2是本申請一示例性實施例示出的一種基于實時計算平臺的數(shù)據(jù)計算方法的流程圖;
圖3是本申請一示例性實施例示出的一種實時計算平臺所在設(shè)備的硬件結(jié)構(gòu)圖;
圖4是本申請一示例性實施例示出的一種實時計算平臺的系統(tǒng)框圖。
具體實施方式
這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。
隨著大數(shù)據(jù)的發(fā)展,適用于離線計算的批處理框架,如mapreduce,已無法滿足人們對大數(shù)據(jù)實時處理的需求。而實時計算平臺提供了豐富的api、基于內(nèi)存的高速執(zhí)行引擎,從而使得結(jié)合流式、批處理和交互試查詢的實時計算平臺在大數(shù)據(jù)的實時計算中得到廣泛地應(yīng)用。
在相關(guān)的基于實時計算平臺的數(shù)據(jù)計算方法中,離線數(shù)據(jù)庫中提前導(dǎo)入了離線業(yè)務(wù)數(shù)據(jù)(預(yù)存儲的離線業(yè)務(wù)數(shù)據(jù))或者在實時計算的過程中,用戶在第二數(shù)據(jù)庫中錄入了新增離線業(yè)務(wù)數(shù)據(jù),為了將具有關(guān)聯(lián)關(guān)系的離線數(shù)據(jù)和實時數(shù)據(jù)能實時地進(jìn)行可視化展示,實時計算平臺需要調(diào)用離線數(shù)據(jù)庫中的新增離線業(yè)務(wù)數(shù)據(jù)或者預(yù)儲存的離線業(yè)務(wù)數(shù)據(jù),并將調(diào)用的離線業(yè)務(wù)數(shù)據(jù)和實時業(yè)務(wù)數(shù)據(jù)一同進(jìn)行實時計算,然后將計算結(jié)果寫入離線數(shù)據(jù)庫中,作為新的歷史記錄覆蓋原有的歷史記錄。實時計算子系統(tǒng)可將作為新的歷史記錄的計算結(jié)果整體儲存至第一數(shù)據(jù)庫中,并對該計算結(jié)果進(jìn)行可視化展示。
然而,一方面,由于實時計算需要消耗內(nèi)存資源,將離線業(yè)務(wù)數(shù)據(jù)和實時業(yè)務(wù)數(shù)據(jù)一同進(jìn)行實時計算會嚴(yán)重增大內(nèi)存資源的負(fù)荷,大大增加物理資源的開銷,嚴(yán)重影響設(shè)備的性能。
另一方面,由于離線業(yè)務(wù)數(shù)據(jù)相當(dāng)于初始數(shù)據(jù),被接入不斷循環(huán)的實時計算中,如果作為初始數(shù)據(jù)的離線業(yè)務(wù)數(shù)據(jù)出現(xiàn)錯誤,則很難有效地進(jìn)行錯誤的更正。
此外,由于每次實時計算的結(jié)果是整體(即全量的方式)寫入第一數(shù)據(jù)庫,因此大大增加了第一數(shù)據(jù)庫的讀寫壓力。
本申請?zhí)岢鲆环N基于實時計算平臺的數(shù)據(jù)計算方法,實時計算平臺的實時計算子系統(tǒng)可針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng)。實時計算平臺的離線計算子系統(tǒng)可針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行實時的離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);合并子系統(tǒng)可分別將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
一方面,實時計算平臺可通過實時計算子系統(tǒng)和離線計算子系統(tǒng)對實時新增業(yè)務(wù)數(shù)據(jù)和離線新增業(yè)務(wù)數(shù)據(jù)分別進(jìn)行獨立的計算,由于將離線業(yè)務(wù)數(shù)據(jù)從實時計算中剝離出來進(jìn)行獨立地離線計算,因此可以有效地節(jié)約內(nèi)存資源,提高設(shè)備的性能。
另一方面,實時計算平臺的合并子系統(tǒng)通過指標(biāo)類型,將實時計算子系統(tǒng)計算出的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)和離線計算子系統(tǒng)計算出的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并,從而有效地解決了具有關(guān)聯(lián)關(guān)系的新增業(yè)務(wù)數(shù)據(jù)和新增離線業(yè)務(wù)數(shù)據(jù)的銜接問題。
此外,實時計算平臺的合并子系統(tǒng)將合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)儲存至第一數(shù)據(jù)庫,由于該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)是基于新增業(yè)務(wù)數(shù)據(jù)而進(jìn)行計算合并的,所以在將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)儲存至第一數(shù)據(jù)庫時,也是將新增(即以增量的方式)的合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)存儲至第一數(shù)據(jù)庫,從而有效地減小了數(shù)據(jù)庫的讀寫壓力。
參見圖1,圖1是本申請一示例性實施例示出的一種基于實時計算平臺的實時計算的網(wǎng)絡(luò)架構(gòu)圖,在本申請?zhí)岢鼍W(wǎng)絡(luò)架構(gòu)包括實時計算平臺、第一數(shù)據(jù)庫和第二數(shù)據(jù)庫,其中,實時計算平臺可包括實時計算子系統(tǒng)、離線計算子系統(tǒng)、合并子系統(tǒng)。
上述實時計算子系統(tǒng),泛指具有實時計算功能的系統(tǒng),通常該實時計算子系統(tǒng)可基于sparkstreaming(一種實時計算框架)或者strom(一種實時計算框架)架構(gòu)搭建,這里只是對實時計算子系統(tǒng)的搭建所依據(jù)的架構(gòu)進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
上述離線計算子系統(tǒng),泛指具有離線計算功能的系統(tǒng),該離線計算子系統(tǒng)可由mapreduce框架搭建,通過調(diào)用hive作業(yè)將離線數(shù)據(jù)庫中儲存的離線數(shù)據(jù)進(jìn)行處理轉(zhuǎn)換,轉(zhuǎn)化為mapreduce任務(wù),以由mapreduce進(jìn)行離線計算。當(dāng)然,離線計算子系統(tǒng)還可由其他框架進(jìn)行搭建,這里只是對離線計算子系統(tǒng)的搭建框架進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
上述合并子系統(tǒng),在本申請實施例中,可具有基于指標(biāo)類型,對實時計算子系統(tǒng)計算得到的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)和離線計算子系統(tǒng)離線計算得到的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并等功能。在這里,只是對合并子系統(tǒng)功能進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
需要說明的是,實時計算平臺還可包括用于系統(tǒng)間消息傳遞的消息子系統(tǒng)(圖1中未示出),合并子系統(tǒng)可作為一種功能模塊附加在消息子系統(tǒng)上,作為消息子系統(tǒng)的一部分。這里,只是對合并子系統(tǒng)的附加載體進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。其中,所述消息子系統(tǒng)泛指消息中間件,例如可基于kafka,activemq,rabbitmq,zeromq,apollomq,rocketmq等框架搭建。
上述第一數(shù)據(jù)庫,可具有儲存數(shù)據(jù)的功能,還可通過管理該第一數(shù)據(jù)庫的第一數(shù)據(jù)庫管理系統(tǒng)對該數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行可視化展示等管理操作。該第一數(shù)據(jù)庫可為關(guān)系型數(shù)據(jù)庫,上述第一數(shù)據(jù)庫管理系統(tǒng)可為oracle、sqlserver等。這里只是對第一數(shù)據(jù)庫和第一數(shù)據(jù)庫管理系統(tǒng)進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
在上述網(wǎng)絡(luò)框架中,實時計算平臺可將接收到的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行計算,得到業(yè)務(wù)指標(biāo)數(shù)據(jù),然后將業(yè)務(wù)指標(biāo)數(shù)據(jù)寫入第一數(shù)據(jù)庫,以進(jìn)行實時可視化地展示。
參見圖2,圖2是本申請一示例性實施例示出的一種基于實時計算平臺的數(shù)據(jù)計算方法的流程圖。該方法可應(yīng)用于圖1所示出的實時計算平臺。
步驟201:實時計算子系統(tǒng)針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
步驟202:離線計算子系統(tǒng)針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
步驟203:合并子系統(tǒng)分別將所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
其中,上述新增業(yè)務(wù)數(shù)據(jù),泛指一些新增的實時業(yè)務(wù)數(shù)據(jù),即新增的“線上”產(chǎn)生的業(yè)務(wù)數(shù)據(jù)。通常,用戶通過客戶端進(jìn)行相應(yīng)地操作,如注冊會員等,客戶端可將用戶的業(yè)務(wù)數(shù)據(jù)傳輸?shù)綐I(yè)務(wù)系統(tǒng)。業(yè)務(wù)系統(tǒng)可維護針對客戶端傳輸?shù)臉I(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫中業(yè)務(wù)數(shù)據(jù)發(fā)生變化后,業(yè)務(wù)系統(tǒng)中的用于監(jiān)聽數(shù)據(jù)庫數(shù)據(jù)變化的裝置可將數(shù)據(jù)庫中的變化的業(yè)務(wù)數(shù)據(jù)作為新增業(yè)務(wù)數(shù)據(jù)推送給上述實時計算子系統(tǒng)。
例如,用戶可通過“易貨嘀”客戶端注冊會員,當(dāng)會員注冊成功后,客戶端可將該用戶的會員信息數(shù)據(jù)發(fā)送至業(yè)務(wù)系統(tǒng),業(yè)務(wù)系統(tǒng)可將該新增的會員信息數(shù)據(jù)發(fā)送至實時計算子系統(tǒng)進(jìn)行實時計算。
上述新增離線業(yè)務(wù)數(shù)據(jù),泛指通過人工導(dǎo)入的一些新增離線業(yè)務(wù)數(shù)據(jù),以及預(yù)先儲存在離線數(shù)據(jù)庫中的初始離線數(shù)據(jù)。
仍以注冊會員為例,新增離線業(yè)務(wù)數(shù)據(jù)可為“易貨嘀”的管理人員人工導(dǎo)入的會員信息數(shù)據(jù),也可為在實時計算子系統(tǒng)啟動之前,就已經(jīng)存在的初始會員信息數(shù)據(jù)。
上述實時計算,可指實時計算子系統(tǒng)進(jìn)行sql指標(biāo)計算,進(jìn)一步來講可以是指實施計算子系統(tǒng)基于某一維度,對上述新增業(yè)務(wù)數(shù)據(jù)進(jìn)行分類匯總,形成各個指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)。例如可基于會員、車輛進(jìn)出數(shù)量等維度,對上述新增業(yè)務(wù)數(shù)據(jù)進(jìn)行分類匯總。這里只是對實時計算進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
需要說明的是,將上述新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,可得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合。所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合泛指經(jīng)過實時計算所得到數(shù)據(jù)集合。
上述離線計算,可指離線計算子系統(tǒng)進(jìn)行sql指標(biāo)計算,進(jìn)一步來講可以是指離線計算子系統(tǒng)基于某一維度,對上述新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行分類匯總,形成各個業(yè)務(wù)指標(biāo)數(shù)據(jù)。例如可基于會員、車輛進(jìn)出數(shù)量等維度,對上述新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行分類匯總。這里只是對離線計算進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
需要說明的是,將上述新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,可得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合。所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合泛指經(jīng)過離線計算所得到數(shù)據(jù)集合。
另外,下文所提到的業(yè)務(wù)指標(biāo)數(shù)據(jù)可以是指經(jīng)過實時計算平臺計算過的數(shù)據(jù)的統(tǒng)稱。
本申請?zhí)岢鲆环N基于實時計算平臺的數(shù)據(jù)計算方法,實時計算平臺可通過實時計算子系統(tǒng)和離線計算子系統(tǒng)對新增業(yè)務(wù)數(shù)據(jù)和新增離線業(yè)務(wù)數(shù)據(jù)分別進(jìn)行獨立的計算,由于將離線業(yè)務(wù)數(shù)據(jù)從實時計算子體統(tǒng)中剝離出來進(jìn)行獨立地離線計算,因此可以有效地節(jié)約內(nèi)存資源,提高設(shè)備的性能。
在實現(xiàn)時,實時計算子系統(tǒng)可接收業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)。
在一種可選的實現(xiàn)方式中,當(dāng)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)發(fā)生更新時,業(yè)務(wù)系統(tǒng)可將新增業(yè)務(wù)數(shù)據(jù)發(fā)送至上述實時計算平臺的消息子系統(tǒng),消息子系統(tǒng)可將該新增業(yè)務(wù)數(shù)據(jù)進(jìn)行儲存。實時計算子系統(tǒng)可訂閱該消息子系統(tǒng)中儲存的新增業(yè)務(wù)數(shù)據(jù)。例如,消息子系統(tǒng)可采取“推模式”,主動地向?qū)崟r計算子系統(tǒng)推送新增業(yè)務(wù)數(shù)據(jù)。當(dāng)然,消息子系統(tǒng)還可采取“拉模式”當(dāng)實時計算子系統(tǒng)調(diào)用新增業(yè)務(wù)數(shù)據(jù)時,再向?qū)崟r計算子系統(tǒng)推送新增業(yè)務(wù)數(shù)據(jù)。
當(dāng)然,實時計算子系統(tǒng)還可直接接收業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)等。這里只是對實時計算子系統(tǒng)接收新增業(yè)務(wù)數(shù)據(jù)進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
在接收到上述新增業(yè)務(wù)數(shù)據(jù)后,實時計算子系統(tǒng)可針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至合并子系統(tǒng)。
在一種可選的實現(xiàn)方式中,該實時計算平臺還可以包括消息子系統(tǒng),實時計算子系統(tǒng)可將得到的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至消息子系統(tǒng),由消息子系統(tǒng)將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至合并子系統(tǒng)。
當(dāng)然,實時計算子系統(tǒng)也可將第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合直接推送至合并子系統(tǒng)。這里,只是對實時計算子系統(tǒng)向合并子系統(tǒng)發(fā)送第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合的一種示例性說明,不對其進(jìn)行具體地限定。
其中,上述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中包含著大量的業(yè)務(wù)指標(biāo)數(shù)據(jù),每種業(yè)務(wù)指標(biāo)數(shù)據(jù)的指標(biāo)類型均不相同。例如,第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中包含不同類別的業(yè)務(wù)指標(biāo)數(shù)據(jù)可為針對會員信息的業(yè)務(wù)指標(biāo)數(shù)據(jù),針對車輛進(jìn)出數(shù)量的業(yè)務(wù)指標(biāo)數(shù)據(jù),其中會員、車輛進(jìn)出數(shù)量可代表指標(biāo)類型。
在本申請實施例中,離線子系統(tǒng)可針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行實時的離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并可將第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至消息子系統(tǒng)。
在一種可選的實現(xiàn)方式中,該實時計算平臺還可以包括消息子系統(tǒng),離線計算子系統(tǒng)可將得到的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至消息子系統(tǒng),由消息子系統(tǒng)將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合發(fā)送至合并子系統(tǒng)。
當(dāng)然,離線計算子系統(tǒng)也可將第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合直接推送至合并子系統(tǒng)。這里,只是對離線計算子系統(tǒng)向合并子系統(tǒng)發(fā)送第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合的一種示例性說明,不對其進(jìn)行具體地限定。
需要說明的是,離線計算的數(shù)據(jù)計算方式與實時計算的數(shù)據(jù)計算方式相同,只是離線計算采用離線批處理方法進(jìn)行計算,實時計算采用實時地方式進(jìn)行計算,但都是基于某一維度,對數(shù)據(jù)進(jìn)行分類匯總,生成多個不同指標(biāo)類型的數(shù)據(jù)子集。
在完成了將新增離線業(yè)務(wù)數(shù)據(jù)和新增業(yè)務(wù)數(shù)據(jù)的分離獨立計算之后,為了能夠?qū)崟r地在可視化界面上實時地呈現(xiàn)這兩部分?jǐn)?shù)據(jù),以及對這兩部分?jǐn)?shù)據(jù)進(jìn)行備份,實時計算平臺還需要具備將這兩部分?jǐn)?shù)據(jù)進(jìn)行合并的功能。為了滿足這樣的數(shù)據(jù)合并的需求,本申請實施例進(jìn)行了如下處理。
在本申請實施例中,合并子系統(tǒng)可基于上述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中的第一業(yè)務(wù)指標(biāo)數(shù)據(jù),從上述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中篩選出與該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)的指標(biāo)類型相同的第二業(yè)務(wù)指標(biāo)數(shù)據(jù),然后將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)與該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并。
在一種可選的實現(xiàn)方式中,合并子系統(tǒng)可基于第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,從所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中篩選出與該主鍵id相同的第二業(yè)務(wù)指標(biāo)數(shù)據(jù),并可將第一業(yè)務(wù)指標(biāo)數(shù)據(jù)和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并。
需要說明的是,一方面,與常用的主鍵id的配置方式不同的是,在本申請實施例的一種可選的實現(xiàn)方式中,實時計算平臺可維護一張主鍵id和指標(biāo)類型具有唯一對應(yīng)關(guān)系的映射表。不同的指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)配置有不同的主鍵id,相同指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)配置有相同的主鍵id。通過主鍵id來區(qū)分不同指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)。
另一方面,在寫入第一數(shù)據(jù)庫時,與相關(guān)的基于實時計算平臺的數(shù)據(jù)計算方法不同的是,相關(guān)技術(shù)通常采用自增主鍵的方式對實時計算后的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行儲存。例如,在第一數(shù)據(jù)庫接收到實時計算平臺計算的業(yè)務(wù)指標(biāo)數(shù)據(jù)后,主鍵id自動加一。采用這種自增主鍵的方式,使得相關(guān)技術(shù)在將業(yè)務(wù)指標(biāo)數(shù)據(jù)寫入第一數(shù)據(jù)庫時,由于無法區(qū)分出各個指標(biāo)類型的原有業(yè)務(wù)指標(biāo)數(shù)據(jù),所以很難以增量寫入(僅將新增的業(yè)務(wù)指標(biāo)數(shù)據(jù)寫入第一數(shù)據(jù)庫)的方式寫入,只能以全量寫入(即將原有的業(yè)務(wù)指標(biāo)數(shù)據(jù)和新增的業(yè)務(wù)指標(biāo)數(shù)據(jù)都寫入第一數(shù)據(jù)庫)的方式將實時計算平臺計算得到的業(yè)務(wù)指標(biāo)數(shù)據(jù)寫入第一數(shù)據(jù)庫。
而本申請采用的是一致性主鍵進(jìn)行業(yè)務(wù)指標(biāo)數(shù)據(jù)的存儲,所謂一致性主鍵就是指,相同指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)相同的主鍵id,采用這種一致性主鍵的寫入方式,由于可通過主鍵id區(qū)分出各個指標(biāo)類型的第一數(shù)據(jù)庫中原有的業(yè)務(wù)指標(biāo)數(shù)據(jù),因此可實現(xiàn)基于主鍵id,確定出與各個指標(biāo)類型的合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)所對應(yīng)的原有業(yè)務(wù)指標(biāo)數(shù)據(jù),然后將各個指標(biāo)類型的合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至儲存有與第一數(shù)據(jù)庫中的其對應(yīng)的原有業(yè)務(wù)指標(biāo)數(shù)據(jù)的數(shù)據(jù)表,從而實現(xiàn)了將合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)增量寫入第一數(shù)據(jù)庫,因此可有效地減小了數(shù)據(jù)庫的讀寫壓力。
在實現(xiàn)時,上述消息子系統(tǒng)可基于合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的指標(biāo)類型,將合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫,以由第一數(shù)據(jù)庫管理系統(tǒng)對該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
在一種可選的實現(xiàn)方式中,上述合并子系統(tǒng)可以基于合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,在所述第一數(shù)據(jù)庫中查找與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),如果在上述第一數(shù)據(jù)庫中查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)在該原始業(yè)務(wù)指標(biāo)數(shù)據(jù)的基礎(chǔ)上進(jìn)行累加更新。
需要說明的是,與上文所述的相關(guān)技術(shù)中的更新方式不同的是,假設(shè)業(yè)務(wù)指標(biāo)數(shù)據(jù)為注冊會員數(shù),第一數(shù)據(jù)庫中原有的注冊會員數(shù)為1000人,假設(shè)本申請的實時計算平臺的合并子系統(tǒng)合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)也為注冊會員人數(shù),為3000人,將合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)(即3000人)基于主鍵id以累加更新的方式更新至第一數(shù)據(jù)庫后,此時第一數(shù)據(jù)庫中顯示的注冊會員人數(shù)為上述原有的注冊會員人數(shù)與合并的注冊會員人數(shù)之和,即4000人。
而上述相關(guān)技術(shù)方案的更新方式是,仍以上述例子為例,假設(shè)第一數(shù)據(jù)庫中原有的注冊會員數(shù)為1000人,而相關(guān)計算方案中的實時計算平臺計算得到注冊會員人數(shù)為3000人。相關(guān)技術(shù)的更新方式是通過全量覆蓋的方式將該實時計算平臺計算出的注冊會員人數(shù)(即3000人)更新至第一數(shù)據(jù)庫,在更新后,數(shù)據(jù)庫顯示的注冊會員人數(shù)為3000人。
在本申請實施例中,如果所述第一數(shù)據(jù)庫中未查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)添加至所述第一數(shù)據(jù)庫。
采用本申請實施例提供的增量更新的方式進(jìn)行第一數(shù)據(jù)庫數(shù)據(jù)的更新,可有效地減輕數(shù)據(jù)庫的讀寫壓力。
此外,上述第一數(shù)據(jù)庫可配置有管理該第一數(shù)據(jù)庫的第一數(shù)據(jù)庫管理系統(tǒng),第一數(shù)據(jù)庫管理系統(tǒng)可提供一個可視化的操作界面,在將上述合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)寫入至第一數(shù)據(jù)庫后,第一數(shù)據(jù)庫管理系統(tǒng)可通過可視化的操作界面對合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行實時展示。
在本申請實施例中,當(dāng)上述第一數(shù)據(jù)庫中存在異常業(yè)務(wù)指標(biāo)數(shù)據(jù)時,合并子系統(tǒng)可接收針對所述第一數(shù)據(jù)庫的異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的消息,然后查找與該異常業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)的歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)。合并子系統(tǒng)可將查找到的該歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫,以進(jìn)行異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的修正。
在一種可選的實現(xiàn)方式中,當(dāng)上述業(yè)務(wù)數(shù)據(jù)庫中存在異常業(yè)務(wù)指標(biāo)數(shù)據(jù)時,消息子系統(tǒng)可將針對上述第一數(shù)據(jù)庫的異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的消息發(fā)送至合并子系統(tǒng)。合并子系統(tǒng)在查找到該異常業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)的歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)后,將查找到的該歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)通過消息子系統(tǒng)發(fā)送至上述第一數(shù)據(jù)庫,以進(jìn)行異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的修正。
在本申請實施例中,為了增強實時計算平臺計算出的業(yè)務(wù)指標(biāo)數(shù)據(jù)的穩(wěn)定性,實時計算平臺的實時計算子系統(tǒng)和離線計算子系統(tǒng)可分別將計算得到的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合存儲至第二數(shù)據(jù)庫。
在一種可選的實現(xiàn)方式中,實時計算子系統(tǒng)可將計算得到的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至消息子系統(tǒng),由消息子系統(tǒng)將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存。離線子系統(tǒng)可將計算得到的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至消息子系統(tǒng),由消息子系統(tǒng)將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存。
需要說明的是,上述第二數(shù)據(jù)庫,主要作為備份數(shù)據(jù)庫,可對消息子系統(tǒng)合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行備份存儲,可為hdfs分布式文件系統(tǒng)、或者h(yuǎn)ive數(shù)據(jù)庫等。這里只是對第二數(shù)據(jù)庫進(jìn)行示例性地說明,不對其進(jìn)行具體地限定。
本申請?zhí)岢鲆环N基于實時計算平臺的數(shù)據(jù)計算方法,實時計算平臺的實時計算子系統(tǒng)可針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至消息子系統(tǒng)。實時計算平臺的離線計算子系統(tǒng)可針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行實時的離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至消息子系統(tǒng);合并子系統(tǒng)可分別將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
一方面,實時計算平臺可通過實時計算子系統(tǒng)和離線計算子系統(tǒng)對實時新增業(yè)務(wù)數(shù)據(jù)和離線新增業(yè)務(wù)數(shù)據(jù)分別進(jìn)行獨立的計算,由于將離線業(yè)務(wù)數(shù)據(jù)從實時計算中剝離出來進(jìn)行獨立地離線計算,因此可以有效地節(jié)約內(nèi)存資源,提高設(shè)備的性能。
另一方面,由于相同指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)相同的主鍵id,實時計算平臺的合并子系統(tǒng)可通過主鍵id,將實時計算子系統(tǒng)計算出的第一業(yè)務(wù)指標(biāo)數(shù)據(jù)和離線計算子系統(tǒng)計算出的第二業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并,從而有效地解決了具有關(guān)聯(lián)關(guān)系的新增業(yè)務(wù)數(shù)據(jù)和新增離線業(yè)務(wù)數(shù)據(jù)的銜接問題。
此外,實時計算平臺的合并子系統(tǒng)可基于該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,將合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)儲存至第一數(shù)據(jù)庫,由于該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)是基于新增業(yè)務(wù)數(shù)據(jù)而進(jìn)行計算合并的,所以在將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)儲存至第一數(shù)據(jù)庫時,也是將新增的合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)存儲至第一數(shù)據(jù)庫,從而有效地減小了數(shù)據(jù)庫的讀寫壓力。
與前述基于實時計算平臺的數(shù)據(jù)計算方法的實施例相對應(yīng),本申請還提供了基于實時計算平臺的數(shù)據(jù)計算裝置的實施例。
本申請實時計算平臺的實施例可以應(yīng)用在設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖3所示,為本申請實時計算平臺所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)出接口、以及非易失性存儲器之外,實施例中裝置所在的實時計算平臺通常根據(jù)該實時計算平臺的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖4,圖4是本申請一示例性實施例示出的一種基于實時計算平臺的框圖。所述實時計算平臺包括實時計算子系統(tǒng)401、離線計算子系統(tǒng)402,合并子系統(tǒng)403。
其中,所述實時計算子系統(tǒng)401,用于針對業(yè)務(wù)系統(tǒng)推送的新增業(yè)務(wù)數(shù)據(jù)進(jìn)行實時計算,得到第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
所述離線計算子系統(tǒng)402,用于針對用戶導(dǎo)入的新增離線業(yè)務(wù)數(shù)據(jù)進(jìn)行離線計算,得到第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合,并將該第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至合并子系統(tǒng);
所述合并子系統(tǒng)403,用于分別將所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中指標(biāo)類型相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)合并,并基于指標(biāo)類型,將各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)更新至第一數(shù)據(jù)庫,以對所述各合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行可視化展示。
在另一種可選的實現(xiàn)方式中,同一指標(biāo)類型的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id相同;
所述合并子系統(tǒng)403,具體用于分別在所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合和所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合中查找主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù);將查找到的所述主鍵id相同的業(yè)務(wù)指標(biāo)數(shù)據(jù)進(jìn)行合并。
在另一種可選的實現(xiàn)方式中,所述合并子系統(tǒng)403,進(jìn)一步用于基于合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)的主鍵id,在所述第一數(shù)據(jù)庫中查找與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù);如果在所述第一數(shù)據(jù)庫中查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)在該原始業(yè)務(wù)指標(biāo)數(shù)據(jù)的基礎(chǔ)上進(jìn)行累加更新;如果所述第一數(shù)據(jù)庫中未查找到與該主鍵id對應(yīng)的原始業(yè)務(wù)指標(biāo)數(shù)據(jù),則將該合并的業(yè)務(wù)指標(biāo)數(shù)據(jù)添加至所述第一數(shù)據(jù)庫。
在另一種可選的實現(xiàn)方式中,所述實時計算子系統(tǒng)401還用于,將得到的所述第一業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存;
所述離線計算子系統(tǒng)402還用于,將得到的所述第二業(yè)務(wù)指標(biāo)數(shù)據(jù)集合推送至第二數(shù)據(jù)庫進(jìn)行儲存。
在另一種可選的實現(xiàn)方式中,所述合并子系統(tǒng)403,具體用于如果所述第一數(shù)據(jù)庫中存在異常業(yè)務(wù)指標(biāo)數(shù)據(jù)時,接收針對所述第一數(shù)據(jù)庫的異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的消息;查找與該異常業(yè)務(wù)指標(biāo)數(shù)據(jù)對應(yīng)的歷史業(yè)務(wù)指標(biāo)數(shù)據(jù);將查找到的所述歷史業(yè)務(wù)指標(biāo)數(shù)據(jù)發(fā)送至第一數(shù)據(jù)庫,以進(jìn)行異常業(yè)務(wù)指標(biāo)數(shù)據(jù)的修正。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護的范圍之內(nèi)。