<kbd id="ia2e8"><input id="ia2e8"></input></kbd><u id="ia2e8"></u>
  • <blockquote id="ia2e8"></blockquote>
  • <blockquote id="ia2e8"></blockquote>
  • <samp id="ia2e8"><label id="ia2e8"></label></samp>
  • 一種數據加工方法和系統與流程

    文檔序號:26102445發布日期:2021-07-30 18:13
    一種數據加工方法和系統與流程

    本發明涉及大數據技術領域,尤其涉及一種數據加工方法和系統。



    背景技術:

    在現有的數據加工過程中,根據不同的業務場景,數據的處理會分為實時數據(流系統處理增量數據)和離線數據(批系統處理全量數據),分別滿足實時和t+n的數據查看需求。如圖1所示,在這兩種方式下,使用的技術和語言也不同,而且往往環境獨立,中間數據及數據模型也是獨立的。

    在實現本發明過程中,發明人發現實時數據加工和離線數據加工這兩種方式存在如下問題:

    底層數據模型不一致,因此應用層需要做大量的拼接邏輯,導致產出時效低,出錯概率大;兩套系統分別有自己的數據模型及存儲層,均計算和存儲了全量數據,導致成本高,資源利用率低;一個業務邏輯,兩套代碼,邏輯不能復用,數據一致性和質量難以保證;任務執行上,集群無法做到錯峰,資源利用率較低。



    技術實現要素:

    有鑒于此,本發明實施例提供一種數據加工方法和系統,以解決資源利用率低、產出時效低、代碼維護困難和數據一致性差等技術問題。

    為實現上述目的,根據本發明實施例的一個方面,提供了一種數據加工方法,包括:

    通過流處理框架的第一處理模塊實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據;

    通過流處理框架的第二處理模塊實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;

    通過批處理框架接收所述第一處理模塊和/或所述第二處理模塊發送的寬表明細數據,對第二預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第一預設時間窗口小于所述第二預設時間窗口。

    可選地,實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據,包括:

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,以輸出數據模型和寬表明細數據;或者,

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,從維表中獲取維度數據,結合所述維度數據對清洗后的所述業務數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,輸出數據模型和寬表明細數據之后,還包括:

    將所述寬表明細數據發送至所述流處理框架的第二處理模塊和/或所述批處理框架。

    可選地,實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據,包括:

    實時接收數據源推送的業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;和/或,

    接收所述第一處理模塊發送的寬表明細數據,對第一預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,輸出數據模型和寬表明細數據之后,還包括:

    將所述寬表明細數據發送至所述批處理框架。

    可選地,所述流處理框架為apacheflink框架,所述批處理框架為hive框架。

    另外,根據本發明實施例的另一個方面,提供了一種數據加工系統,包括流處理框架和批處理框架,其中,所述流處理框架包括第一處理模塊和第二處理模塊;

    所述第一處理模塊用于實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據;

    所述第二處理模塊用于實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;

    所述批處理框架用于接收所述第一處理模塊和/或所述第二處理模塊發送的寬表明細數據,對第二預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第一預設時間窗口小于所述第二預設時間窗口。

    可選地,所述第一處理模塊還用于:

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,以輸出數據模型和寬表明細數據;或者,

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,從維表中獲取維度數據,結合所述維度數據對清洗后的所述業務數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第一處理模塊還用于:

    輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至所述流處理框架的第二處理模塊和/或所述批處理框架。

    可選地,所述第二處理模塊還用于:

    實時接收數據源推送的業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;和/或,

    接收所述第一處理模塊發送的寬表明細數據,對第一預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第二處理模塊還用于:

    輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至所述批處理框架。

    可選地,所述流處理框架為apacheflink框架,所述批處理框架為hive框架。

    根據本發明實施例的另一個方面,還提供了一種電子設備,包括:

    一個或多個處理器;

    存儲裝置,用于存儲一個或多個程序,

    當所述一個或多個程序被所述一個或多個處理器執行時,所述一個或多個處理器實現上述任一實施例所述的方法。

    根據本發明實施例的另一個方面,還提供了一種計算機可讀介質,其上存儲有計算機程序,所述程序被處理器執行時實現上述任一實施例所述的方法。

    上述發明中的一個實施例具有如下優點或有益效果:因為采用通過流處理框架和批處理框架共同對業務數據進行處理,從而輸出數據模型和寬表明細數據的技術手段,所以克服了現有技術中資源利用率低、產出時效低、代碼維護困難和數據一致性差等技術問題。本發明實施例對數據分階段處理,只需要一份全量數據,而且只需要處理一次,不存在重疊,從而提高了資源利用率和產出時效;而且每個環節代碼統一,最終整體做到代碼統一,數據一致性得到保證,能夠降低代碼維護難度;數據口徑得到統一,無論是后期需求修改、迭代,還是應用落地不用再引用多套模版。因此,本發明實施例能夠解決數據模型不一致,導致應用層落地效率低、易出錯等問題。需要說明的是,在本發明的實施例中,數據分階段處理,從而提高資源利用率和產出時效。

    上述的非慣用的可選方式所具有的進一步效果將在下文中結合具體實施方式加以說明。

    附圖說明

    附圖用于更好地理解本發明,不構成對本發明的不當限定。其中:

    圖1是現有技術中的數據加工方法的主要流程的示意圖;

    圖2是根據本發明實施例的數據加工方法的主要流程的示意圖;

    圖3是根據本發明一個可參考實施例的數據加工方法的主要流程的示意圖;

    圖4是根據本發明另一個可參考實施例的數據加工方法的主要流程的示意圖;

    圖5是根據本發明實施例的數據加工系統的主要模塊的示意圖;

    圖6是本發明實施例可以應用于其中的示例性系統架構圖;

    圖7是適于用來實現本發明實施例的終端設備或服務器的計算機系統的結構示意圖。

    具體實施方式

    以下結合附圖對本發明的示范性實施例做出說明,其中包括本發明實施例的各種細節以助于理解,應當將它們認為僅僅是示范性的。因此,本領域普通技術人員應當認識到,可以對這里描述的實施例做出各種改變和修改,而不會背離本發明的范圍和精神。同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結構的描述。

    圖2是根據本發明實施例的數據加工方法的主要流程的示意圖。作為本發明的一個實施例,如圖2所示,所述數據加工方法可以包括:

    步驟201,通過流處理框架的第一處理模塊實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據。

    流處理框架的第一處理模塊實時接收各個數據源推送的業務數據,這些業務數據均為增量數據,流處理框架的第一處理模塊對所述業務數據進行數據加工處理,從而得到并輸出數據模型和寬表明細數據??蛇x地,數據源可以是業務系統,所述業務系統不斷地產生業務數據,并實時地將產生的業務數據推送至流處理框架的第一處理模塊??蛇x地,數據源也可以是數據倉庫,所述數據倉庫不斷地將新增的業務數據推送至流處理框架的第一處理模塊??蛇x地,所述數據源還可以主題域,所述主題域將相關的增量業務數據推送至流處理框架的第一處理模塊。流處理框架的第一處理模塊對業務數據進行實時流處理,單條數據處理時間為秒級。

    可選地,實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據,包括:實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,以輸出數據模型和寬表明細數據;或者,實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,從維表中獲取維度數據,結合所述維度數據對清洗后的所述業務數據進行處理,以輸出數據模型和寬表明細數據。

    在本發明的一個實施例中,流處理框架的第一處理模塊實時接收數據源推送的增量業務數據,并對所述業務數據進行數據清洗,從而得到并輸出數據模型和寬表明細數據。如圖3所示,假設對某品牌的物品有日常運營監管的需求,那么當增量業務數據入流時,清洗掉其他品牌的業務數據,只保留該品牌的業務數據,在該實施例中數據的流轉過程為:->流。

    在本發明的另一個實施例中,流處理框架的第一處理模塊實時接收數據源推送的增量業務數據,先對所述業務數據進行數據清洗,然后從維表中獲取維度數據,并結合所述維度數據對清洗后的所述業務數據進行處理,從而得到并輸出數據模型和寬表明細數據。如圖3所示,假設對某品牌的物品有日常運營監管的需求,那么當增量業務數據入流時,清洗掉其他品牌的業務數據,只保留該品牌的業務數據,作為訂單流入明細,然后從維表中獲取物品數量、物品金額、發貨地、收貨地等維度數據,結合這些維度數據可以得到訂單明細數據,作為日常監控,在該實施例中數據的流轉過程為:->流->明細。

    可選地,輸出數據模型和寬表明細數據之后,還包括:將所述寬表明細數據發送至流處理框架的第二處理模塊和/或批處理框架。在本發明的一個實施例中,流處理框架的第一處理模塊輸出數據模型和寬表明細數據之后,還可以進一步地將所述寬表明細數據發送至流處理框架的第二處理模塊,由流處理框架的第二處理模塊繼續對寬表明細數據進行加工處理。如圖3所示,明細數據流轉到小批,可實現日報告,在該實施例中數據的流轉過程為:->流->明細->小批。在本發明的另一個實施例中,流處理框架的第一處理模塊輸出數據模型和寬表明細數據之后,還可以進一步地將所述寬表明細數據發送至批處理框架,由批處理框架對寬表明細數據進行加工處理。如圖3所示,月、季、年等周期太大,流或小批的處理效能比太低,轉由批處理,可以提高處理效率,在該實施例中數據的流轉過程為:->流->明細->批。

    例如,通過從維表中獲取的發貨地、收貨地等維度數據,可以分析出流入地排行,從而為選擇哪幾個地區提供參考,如果是日周級別的數據加工,可以發送給流處理框架的第二處理模塊(即小批),如果是其他級別的數據加工,則發送給批處理框架(即批)。

    步驟202,通過流處理框架的第二處理模塊實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據。

    流處理框架的第二處理模塊實時接收增量業務數據,并按照第一預設時間窗口,對該窗口大小內的各個業務數據進行數據加工,從而得到并輸出數據模型和寬表明細數據。流處理框架的第二處理模塊進行輕量級的匯總數據,如10分鐘達成率、每小時出庫量,經由圖3中的“小批”處理,時效為m(分鐘)+n或h(小時)+n。

    可選地,實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據,包括:實時接收數據源推送的業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;和/或,接收所述第一處理模塊發送的寬表明細數據,對第一預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    在本發明的一個實施例中,流處理框架的第二處理模塊實時接收各個數據源推送的業務數據,這些業務數據均為增量數據,流處理框架的第二處理模塊對第一預設時間窗口內的所述業務數據進行數據加工處理,從而得到并輸出數據模型和寬表明細數據??蛇x地,數據源可以是業務系統,所述業務系統不斷地產生業務數據,并實時地將產生的業務數據推送至流處理框架的第二處理模塊??蛇x地,數據源也可以是數據倉庫,所述數據倉庫不斷地將新增的業務數據推送至流處理框架的第二處理模塊??蛇x地,所述數據源還可以主題域,所述主題域將相關的增量業務數據推送至流處理框架的第二處理模塊。

    在本發明的另一個實施例中,流處理框架的第二處理模塊接收第一處理模塊發送的寬表明細數據,然后按照第一預設時間窗口,對該窗口大小內的寬表明細數據進行數據加工,從而得到并輸出數據模型和寬表明細數據。在該實施例中,數據的流轉過程為:->流->明細->小批。例如,假設需求為一天內每小時銷量,那么數據的流轉過程為:->流->明細->小批。

    可選地,所述流處理框架可以是apachestorm,trident,sparkstreaming,samza和apacheflink中的一種。較佳地,所述流處理框架為apacheflink框架,該框架不但可以對業務數據進行實時處理,還可以對業務數據進行批處理。

    可選地,輸出數據模型和寬表明細數據之后,還包括:將所述寬表明細數據發送至所述批處理框架。流處理框架的第二處理模塊輸出數據模型和寬表明細數據之后,還可以進一步將寬表明細數據發送至批處理框架。如圖3所示,月、季、年等周期太大,流或小批的處理效能比太低,轉由批處理,可以提高處理效率,在該實施例中數據的流轉過程為:->流->明細->小批->批。

    步驟203,通過批處理框架接收所述第一處理模塊和/或所述第二處理模塊發送的寬表明細數據,對第二預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    在本發明的實施例中,批處理框架不再接收數據源推送的全量數據,而是接收流處理框架的第一處理模塊發送的寬表明細數據和/或第二處理模塊發送的寬表明細數據,批處理框架對第二預設時間窗口內的寬表明細數據進行數據加工,從而得到并輸出數據模型和寬表明細數據。

    可選地,所述第一預設時間窗口小于所述第二預設時間窗口。為了便于理解,本發明實施例將流處理框架的第二處理模塊處理的數據稱為小批,將批處理框架處理的數據稱為批,小批的時間窗口小于批的時間窗口。

    批處理框架直接匯總出業務結算類數據,如周/月/季/年匯總報表、指標卡,時效為t(天)+n,不再處理拉鏈數據(chain)和維表數據,也不再處理大量數據的整合加工工作。

    可選地,所述流處理框架可以是spring-batch和hive中的一種,較佳地,所述批處理框架為hive框架,該框架可以與流處理框架結合,接收流處理框架發送過來的寬表明細數據,對寬表明細數據進行批處理。

    如圖3所示,如果需求是倉庫基礎信息,比如區域省市地歸屬信息,這類信息變化不是很頻繁,可以直接生成維表,那么數據的流轉過程為:->流->明細->維表或者->流->明細->批->維表。

    步驟201-203中生成數據模型和寬表明細數據可以存儲到數據庫中,所有環節完成后,統一對外提供接口。

    根據上面所述的各種實施例,可以看出本發明實施例通過流處理框架和批處理框架共同對業務數據進行處理,從而輸出數據模型和寬表明細數據的技術手段,解決了現有技術中資源利用率低、產出時效低、代碼維護困難和數據一致性差等技術問題。通過以上流程可看出,在本發明的實施例中,數據分階段處理,只需要一份全量數據,而且只需要處理一次,不存在重疊,從而提高了資源利用率和產出時效;而且每個環節代碼統一,最終整體做到代碼統一,數據一致性得到保證,能夠降低代碼維護難度;數據口徑得到統一,無論是后期需求修改、迭代,還是應用落地不用再引用多套模版。因此,本發明實施例能夠解決數據模型不一致,導致應用層落地效率低、易出錯等問題。需要說明的是,在本發明的實施例中,數據分階段處理,從而提高資源利用率和產出時效。

    圖4是根據本發明另一個可參考實施例的數據加工方法的主要流程的示意圖。作為本發明的另一個實施例,如圖4所示,所述數據加工方法可以包括:

    流處理框架的第一處理模塊實時接收各個數據源推送的業務數據,這些業務數據均為增量數據,流處理框架的第一處理模塊對所述業務數據進行數據加工處理,從而得到并輸出數據模型和寬表明細數據。例如,流處理框架的第一處理模塊實時接收數據源推送的增量業務數據,并對所述業務數據進行數據清洗,從而得到并輸出數據模型和寬表明細數據,該數據的流轉過程為:->流。

    流處理框架的第一處理模塊實時接收數據源推送的增量業務數據,先對所述業務數據進行數據清洗,然后從維表中獲取維度數據,并結合所述維度數據對清洗后的所述業務數據進行處理,從而得到并輸出數據模型和寬表明細數據,該數據的流轉過程為:->流->明細。

    進一步地,流處理框架的第一處理模塊輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至流處理框架的第二處理模塊,由流處理框架的第二處理模塊繼續對寬表明細數據進行加工處理,該數據的流轉過程為:->流->明細->小批。

    進一步地,流處理框架的第一處理模塊輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至批處理框架,由批處理框架繼續對寬表明細數據進行加工處理,該數據的流轉過程為:->流->明細->批。

    流處理框架的第二處理模塊實時接收各個數據源推送的業務數據,這些業務數據均為增量數據,流處理框架的第二處理模塊對第一預設時間窗口內的所述業務數據進行數據加工處理,從而得到并輸出數據模型和寬表明細數據,該數據的流轉過程為:->小批。

    流處理框架的第二處理模塊接收第一處理模塊發送的寬表明細數據,然后按照第一預設時間窗口,對該窗口大小內的寬表明細數據進行數據加工,從而得到并輸出數據模型和寬表明細數據,該數據的流轉過程為:->流->明細->小批。

    進一步地,流處理框架的第二處理模塊輸出數據模型和寬表明細數據之后,還可以進一步將寬表明細數據發送至批處理框架,該數據的流轉過程為:->流->明細->小批->批。

    在本發明的實施例中,批處理框架不再接收數據源推送的全量數據,而是接收流處理框架的第一處理模塊發送的寬表明細數據和/或第二處理模塊發送的寬表明細數據,批處理框架對第二預設時間窗口內的寬表明細數據進行數據加工,從而得到并輸出數據模型和寬表明細數據。

    可選地,所述第一預設時間窗口小于所述第二預設時間窗口。為了便于理解,本發明實施例將流處理框架的第二處理模塊處理的數據稱為小批,將批處理框架處理的數據稱為批,小批的時間窗口小于批的時間窗口。

    需要指出的是,在本發明的實施例中,上述數據流轉過程可以只執行其中的任意一條,可以執行其中的任意多條,還可以執行上述全部數據流轉過程,根據業務需求來決定。復雜的需求執行全部的數據流轉過程,而簡單的需求可能只需要執行一條數據流轉過程。

    生成數據模型和寬表明細數據可以存儲到數據庫中,所有環節完成后,統一對外提供接口,應用調用接口就可以獲得對應的數據模型。

    另外,在本發明另一個可參考實施例中數據加工方法的具體實施內容,在上面所述數據加工方法中已經詳細說明了,故在此重復內容不再說明。

    圖5是根據本發明實施例的數據加工系統的主要模塊的示意圖,如圖5所示,所述數據加工系統500包括流處理框架501和批處理框架502,其中,所述流處理框架501包括第一處理模塊和第二處理模塊;

    所述第一處理模塊用于實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據;

    所述第二處理模塊用于實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;

    所述批處理框架用于接收所述第一處理模塊和/或所述第二處理模塊發送的寬表明細數據,對第二預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第一預設時間窗口小于所述第二預設時間窗口。

    可選地,所述第一處理模塊還用于:

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,以輸出數據模型和寬表明細數據;或者,

    實時接收數據源推送的業務數據,對所述業務數據進行實時清洗,從維表中獲取維度數據,結合所述維度數據對清洗后的所述業務數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第一處理模塊還用于:

    輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至所述流處理框架的第二處理模塊和/或所述批處理框架。

    可選地,所述第二處理模塊還用于:

    實時接收數據源推送的業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;和/或,

    接收所述第一處理模塊發送的寬表明細數據,對第一預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    可選地,所述第二處理模塊還用于:

    輸出數據模型和寬表明細數據之后,將所述寬表明細數據發送至所述批處理框架。

    可選地,所述流處理框架為apacheflink框架,所述批處理框架為hive框架。

    根據上面所述的各種實施例,可以看出本發明實施例通過流處理框架和批處理框架共同對業務數據進行處理,從而輸出數據模型和寬表明細數據的技術手段,解決了現有技術中資源利用率低、產出時效低、代碼維護困難和數據一致性差等技術問題。通過以上流程可看出,在本發明的實施例中,數據分階段處理,只需要一份全量數據,而且只需要處理一次,不存在重疊,從而提高了資源利用率和產出時效;而且每個環節代碼統一,最終整體做到代碼統一,數據一致性得到保證,能夠降低代碼維護難度;數據口徑得到統一,無論是后期需求修改、迭代,還是應用落地不用再引用多套模版。因此,本發明實施例能夠解決數據模型不一致,導致應用層落地效率低、易出錯等問題。需要說明的是,在本發明的實施例中,數據分階段處理,從而提高資源利用率和產出時效。

    需要說明的是,在本發明所述數據加工系統的具體實施內容,在上面所述數據加工方法中已經詳細說明了,故在此重復內容不再說明。

    圖6示出了可以應用本發明實施例的數據加工方法或數據加工系統的示例性系統架構600。

    如圖6所示,系統架構600可以包括終端設備601、602、603,網絡604和服務器605。網絡604用以在終端設備601、602、603和服務器605之間提供通信鏈路的介質。網絡604可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。

    用戶可以使用終端設備601、602、603通過網絡604與服務器605交互,以接收或發送消息等。終端設備601、602、603上可以安裝有各種通訊客戶端應用,例如購物類應用、網頁瀏覽器應用、搜索類應用、即時通信工具、郵箱客戶端、社交平臺軟件等(僅為示例)。

    終端設備601、602、603可以是具有顯示屏并且支持網頁瀏覽的各種電子設備,包括但不限于智能手機、平板電腦、膝上型便攜計算機和臺式計算機等等。

    服務器605可以是提供各種服務的服務器,例如對用戶利用終端設備601、602、603所瀏覽的購物類網站提供支持的后臺管理服務器(僅為示例)。后臺管理服務器可以對接收到的物品信息查詢請求等數據進行分析等處理,并將處理結果(例如目標推送信息、物品信息——僅為示例)反饋給終端設備。

    需要說明的是,本發明實施例所提供的數據加工方法一般由服務器605執行,相應地,所述數據加工系統一般設置在服務器605中。

    應該理解,圖6中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和服務器。

    下面參考圖7,其示出了適于用來實現本發明實施例的終端設備的計算機系統700的結構示意圖。圖7示出的終端設備僅僅是一個示例,不應對本發明實施例的功能和使用范圍帶來任何限制。

    如圖7所示,計算機系統700包括中央處理單元(cpu)701,其可以根據存儲在只讀存儲器(rom)702中的程序或者從存儲部分708加載到隨機訪問存儲器(ram)703中的程序而執行各種適當的動作和處理。在ram703中,還存儲有系統700操作所需的各種程序和數據。cpu701、rom702以及ram703通過總線704彼此相連。輸入/輸出(i/o)接口705也連接至總線704。

    以下部件連接至i/o接口705:包括鍵盤、鼠標等的輸入部分706;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如lan卡、調制解調器等的網絡接口卡的通信部分709。通信部分709經由諸如因特網的網絡執行通信處理。驅動器710也根據需要連接至i/o接口705??刹鹦督橘|711,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器710上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分708。

    特別地,根據本發明公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本發明公開的實施例包括一種計算機程序,其包括承載在計算機可讀介質上的計算機程序,該計算機程序包含用于執行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分709從網絡上被下載和安裝,和/或從可拆卸介質711被安裝。在該計算機程序被中央處理單元(cpu)701執行時,執行本發明的系統中限定的上述功能。

    需要說明的是,本發明所示的計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質或者是上述兩者的任意組合。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本發明中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。而在本發明中,計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。

    附圖中的流程圖和框圖,圖示了按照本發明各種實施例的系統、方法和計算機程序的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,上述模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖或流程圖中的每個方框、以及框圖或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。

    描述于本發明實施例中所涉及到的模塊可以通過軟件的方式實現,也可以通過硬件的方式來實現。所描述的模塊也可以設置在處理器中,例如,可以描述為:一種處理器包括第一處理模塊和第二處理模塊,其中,這些模塊的名稱在某種情況下并不構成對該模塊本身的限定。

    作為另一方面,本發明還提供了一種計算機可讀介質,該計算機可讀介質可以是上述實施例中描述的設備中所包含的;也可以是單獨存在,而未裝配入該設備中。上述計算機可讀介質承載有一個或者多個程序,當上述一個或者多個程序被一個該設備執行時,該設備實現如下方法:通過流處理框架的第一處理模塊實時接收業務數據,對所述業務數據進行實時處理,以輸出數據模型和寬表明細數據;通過流處理框架的第二處理模塊實時接收業務數據,對第一預設時間窗口內的業務數據進行處理,以輸出數據模型和寬表明細數據;通過批處理框架接收所述第一處理模塊和/或所述第二處理模塊發送的寬表明細數據,對第二預設時間窗口內的寬表明細數據進行處理,以輸出數據模型和寬表明細數據。

    根據本發明實施例的技術方案,因為采用通過流處理框架和批處理框架共同對業務數據進行處理,從而輸出數據模型和寬表明細數據的技術手段,所以克服了現有技術中資源利用率低、產出時效低、代碼維護困難和數據一致性差等技術問題。本發明實施例對數據分階段處理,只需要一份全量數據,而且只需要處理一次,不存在重疊,從而提高了資源利用率和產出時效;而且每個環節代碼統一,最終整體做到代碼統一,數據一致性得到保證,能夠降低代碼維護難度;數據口徑得到統一,無論是后期需求修改、迭代,還是應用落地不用再引用多套模版。因此,本發明實施例能夠解決數據模型不一致,導致應用層落地效率低、易出錯等問題。需要說明的是,在本發明的實施例中,數據分階段處理,從而提高資源利用率和產出時效。

    上述具體實施方式,并不構成對本發明保護范圍的限制。本領域技術人員應該明白的是,取決于設計要求和其他因素,可以發生各種各樣的修改、組合、子組合和替代。任何在本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明保護范圍之內。

    再多了解一些
    當前第1頁1 2 
    網友詢問留言 已有0條留言
    • 還沒有人留言評論。精彩留言會獲得點贊!
    1
    中文字幕一区在线观看视频_国产偷v国产偷v_西西人体44rt net毛最多_伊人久久大香线蕉综合网