一種數(shù)據(jù)處理的方法及裝置的制造方法
【技術領域】
[0001]本申請涉及數(shù)據(jù)計算處理技術領域,特別涉及一種數(shù)據(jù)處理的方法及裝置。
【背景技術】
[0002]目前,很多數(shù)據(jù)平臺可以向第三方APP(AppliCat1n,應用程序)提供數(shù)據(jù)。第三方APP使用數(shù)據(jù)平臺提供的數(shù)據(jù)按需進行加工。在數(shù)據(jù)平臺在為各個應用程序提供數(shù)據(jù)時,通常需要根據(jù)每個APP的需求分別為各個APP提供數(shù)據(jù)。
[0003]圖1為現(xiàn)有技術中數(shù)據(jù)平臺為不同APP提供數(shù)據(jù)的方案示意圖,如圖1所示,現(xiàn)有技術中數(shù)據(jù)平臺為APPI和APP2兩個不同APP提供數(shù)據(jù)時,需要分別對APP1、APP2所需的數(shù)據(jù)分別處理。
[0004]圖2為現(xiàn)有技術中數(shù)據(jù)平臺為不同APP提供數(shù)據(jù)的數(shù)據(jù)處理流程示意圖,如圖2所示,針對APPl和APP2,即便數(shù)據(jù)源相同、數(shù)據(jù)計算單元的類型相同,類型相同的節(jié)點分別將A、B、C三個數(shù)據(jù)計算了兩遍。即,兩個APP從數(shù)據(jù)平臺獲取的源數(shù)據(jù)流相同且處理源數(shù)據(jù)流的節(jié)點類型也相同時,也會采用同類型的節(jié)點把相同的數(shù)據(jù)進行兩次處理的方案。
[0005]綜上,現(xiàn)有技術中的數(shù)據(jù)平臺對于多個不同的APP對應的數(shù)據(jù)的處理會進行多次重復的數(shù)據(jù)處理,造成了數(shù)據(jù)平臺數(shù)據(jù)處理資源的浪費。
[0006]申請內(nèi)容
[0007]本申請實施例提出了一種數(shù)據(jù)處理的方法及裝置,用以解決現(xiàn)有技術中開放數(shù)據(jù)平臺數(shù)據(jù)處理資源浪費的問題。
[0008]本申請實施例提供了一種數(shù)據(jù)處理的方法,包括如下步驟:
[0009]接收到源數(shù)據(jù)流時,確定所述源數(shù)據(jù)流對應的多個應用程序;
[0010]確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡;所述節(jié)點為處理所述源數(shù)據(jù)流得到所述應用程序?qū)臄?shù)據(jù)的節(jié)點;所述有向無環(huán)節(jié)點網(wǎng)絡是根據(jù)所述源數(shù)據(jù)流處理的順序?qū)⒏魉龉?jié)點有向連接形成的;
[0011]根據(jù)所述節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進行去重處理:
[0012]基于去重后的有向無環(huán)節(jié)點網(wǎng)絡進行所述多個應用程序?qū)臄?shù)據(jù)處理。
[0013]本申請實施例提供了一種數(shù)據(jù)處理的裝置,包括:
[0014]確定單元,用于接收到源數(shù)據(jù)流時,確定所述源數(shù)據(jù)流對應的多個應用程序;
[0015]所述確定單元進一步用于確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡;所述節(jié)點為處理所述源數(shù)據(jù)流得到所述應用程序?qū)臄?shù)據(jù)的節(jié)點;所述有向無環(huán)節(jié)點網(wǎng)絡是根據(jù)所述源數(shù)據(jù)流處理的順序?qū)⒏魉龉?jié)點有向連接形成的;
[0016]去重單元,用于根據(jù)所述節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進彳T去重處理;
[0017]處理單元,用于基于去重后的有向無環(huán)節(jié)點網(wǎng)絡進行所述多個應用程序?qū)臄?shù)據(jù)處理。
[0018]本申請有益效果如下:
[0019]本申請實施例提供了一種數(shù)據(jù)處理的方法及裝置,接收到源數(shù)據(jù)流時,確定所述源數(shù)據(jù)流對應的多個應用程序,并確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡;根據(jù)所述節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進行去重處理;基于去重后的有向無環(huán)節(jié)點網(wǎng)絡進行所述多個應用程序?qū)臄?shù)據(jù)處理。而無需如現(xiàn)有技術將多個應用程序需要的經(jīng)過相同類型的節(jié)點將相同源數(shù)據(jù)流進行多次重復的數(shù)據(jù)處理,可以提高平臺的數(shù)據(jù)處理資源利用率,避免不必要的資源浪費。
【附圖說明】
[0020]下面將參照附圖描述本申請的具體實施例。
[0021]圖1為現(xiàn)有技術中數(shù)據(jù)平臺為不同APP提供數(shù)據(jù)的方案示意圖;
[0022]圖2為現(xiàn)有技術中數(shù)據(jù)平臺為不同APP提供數(shù)據(jù)的數(shù)據(jù)處理示意圖;
[0023]圖3為本申請實施例中數(shù)據(jù)處理的方法的流程示意圖;
[0024]圖4為本申請實施例中為兩個不同的APP進行數(shù)據(jù)處理的示意圖;
[0025]圖5為本申請實施例中為四個不同的APP進行數(shù)據(jù)處理的示意圖;
[0026]圖6為本申請實施例中為兩個不同的APP進行數(shù)據(jù)處理過程中的各節(jié)點輸出的數(shù)據(jù)標識確定的示意圖;
[0027]圖7為本申請實施例中為四個不同的APP進行數(shù)據(jù)處理過程中的各節(jié)點輸出的數(shù)據(jù)標識確定的示意圖;
[0028]圖8為本申請實施例中數(shù)據(jù)處理的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0029]為了使本申請的技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本申請的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本申請的一部分實施例,而不是所有實施例的窮舉。并且在不沖突的情況下,本說明書中的實施例及實施例中的特征可以互相結(jié)合。
[0030]圖3為本申請實施例中數(shù)據(jù)處理的方法的流程示意圖,該方法可應用于為APP提供數(shù)據(jù)的數(shù)據(jù)平臺,如圖3所示,該數(shù)據(jù)處理的方法可以包括如下步驟:
[0031]步驟301:接收到源數(shù)據(jù)流時,確定所述源數(shù)據(jù)流對應的多個應用程序;
[0032]步驟302:確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡;所述節(jié)點為處理所述源數(shù)據(jù)流得到所述應用程序?qū)臄?shù)據(jù)的節(jié)點;所述有向無環(huán)節(jié)點網(wǎng)絡是根據(jù)所述源數(shù)據(jù)流處理的順序?qū)⒏魉龉?jié)點有向連接形成的;
[0033]步驟303:根據(jù)所述節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進行去重處理;
[0034]步驟304:基于去重后的有向無環(huán)節(jié)點網(wǎng)絡進行所述多個應用程序?qū)臄?shù)據(jù)處理。
[0035]具體實施中,數(shù)據(jù)平臺可以由源數(shù)據(jù)流驅(qū)動,當接收到輸入的源數(shù)據(jù)流時,數(shù)據(jù)平臺根據(jù)源數(shù)據(jù)流與應用程序之前的對應關系,確定與所述源數(shù)據(jù)流對應的多個應用程序。
[0036]在確定與所述源數(shù)據(jù)流對應的多個應用程序后,根據(jù)預先存儲的應用程序與有向無環(huán)節(jié)點網(wǎng)絡的對應關系,確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡。
[0037]根據(jù)所述多個應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對多個應用程序?qū)南嗤挠邢驘o環(huán)節(jié)點子網(wǎng)絡進行去重處理,以得到一個沒有冗余數(shù)據(jù)處理的有向無環(huán)節(jié)點網(wǎng)絡。
[0038]本申請實施例中的節(jié)點可以對數(shù)據(jù)進行相應處理并產(chǎn)生輸出數(shù)據(jù)。具體的,所述節(jié)點可以是一個運行數(shù)據(jù)處理程序的硬件實體,也可以是一段程序,接收輸入數(shù)據(jù),并產(chǎn)生輸出數(shù)據(jù)。例如,節(jié)點是一個基于Docker的輕量級容器。進一步地,節(jié)點可以分為短運行時的和長運行時兩種類型。短運行時的節(jié)點往往是無狀態(tài)的純計算節(jié)點,大多數(shù)數(shù)據(jù)處理的節(jié)點都是短運行時類型的,以方便進行彈性擴容等計算資源管理;長運行時類型的節(jié)點往往是存儲相關的節(jié)點信息或數(shù)據(jù),如數(shù)據(jù)庫節(jié)點信息或數(shù)據(jù)、內(nèi)存數(shù)據(jù)庫節(jié)點信息或數(shù)據(jù)、文件存儲節(jié)點信息或數(shù)據(jù)等。通常,在數(shù)據(jù)平臺上,長運行時節(jié)點可以是預先定義好的,而不是由第三方APP開發(fā)者自己定義。
[0039]通常,類型相同的節(jié)點對數(shù)據(jù)進行的處理是相同的,也即,相同的數(shù)據(jù)分別輸入至兩個類型相同的節(jié)點處理后輸出的數(shù)據(jù)也是相同的。
[0040]數(shù)據(jù)處理過程中,位于同一數(shù)據(jù)處理流程中的互為上下游節(jié)點的節(jié)點之間存在數(shù)據(jù)連接,通過數(shù)據(jù)連接基于相應的標準化通信協(xié)議(如HTTP(Hyper Text TransferProtocol,超文本傳輸協(xié)議)N TCP (Transmi ss 1n Control Protocol,傳輸控制協(xié)議)等)的數(shù)據(jù)通路進行數(shù)據(jù)傳輸。
[0041]當處理所述源數(shù)據(jù)的各節(jié)點按照各個APP具體需求的數(shù)據(jù)處理流程連接形成一個有向無環(huán)節(jié)點網(wǎng)絡,可以形成一個有向無環(huán)圖,而多個有向無環(huán)圖是可以合并的,合并后的有向無環(huán)圖稱作混合有向無環(huán)圖。
[0042]本申請實施例提供了一種為應用程序提供數(shù)據(jù)的方法,接收到源數(shù)據(jù)流時,確定所述源數(shù)據(jù)流對應的多個應用程序,并確定所述應用程序?qū)墓?jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡;根據(jù)所述節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進行去重處理;基于去重后的有向無環(huán)節(jié)點網(wǎng)絡進行所述多個應用程序?qū)臄?shù)據(jù)處理。而無需如現(xiàn)有技術將多個應用程序需要的相同類型的節(jié)點將相同源數(shù)據(jù)流進行多次重復的數(shù)據(jù)處理,可以提高平臺的數(shù)據(jù)處理資源利用率,避免不必要的資源浪費。
[0043]實施中,根據(jù)節(jié)點類型及有向無環(huán)節(jié)點網(wǎng)絡,對所述有向無環(huán)節(jié)點網(wǎng)絡進行去重處理,可以具體包括:
[0044]根據(jù)所述節(jié)點類型的標識及有向無環(huán)節(jié)點網(wǎng)絡,確定所述節(jié)點輸出的數(shù)據(jù)標識;
[0045]將所述節(jié)點輸出的數(shù)據(jù)標識進行比較;
[0046]若多個應用程序的所述有向無環(huán)節(jié)點網(wǎng)絡中具有標識相同的數(shù)據(jù),合并輸出所述數(shù)據(jù)的多個有向無環(huán)節(jié)點子網(wǎng)絡為一個有向無環(huán)節(jié)點子網(wǎng)絡。
[0047]具體實施中,圖4為本申請實施例中為兩個不同的APP進行數(shù)據(jù)處理的示意圖,對于圖1中APPl和APP2的數(shù)據(jù)請求的處理可以如圖4所示,由于APPl對應的數(shù)據(jù)E和APP2對應的數(shù)據(jù)F有相同源數(shù)據(jù)流Data A和Data B以及M類型節(jié)點輸出的相同的數(shù)據(jù)Data C,所以,可以在將現(xiàn)有技術中兩個輸出Data C的有向無環(huán)節(jié)點網(wǎng)絡合并為一個輸出Data C的有向無環(huán)節(jié)點網(wǎng)絡,現(xiàn)有技術中需要兩個M類型節(jié)點進行數(shù)據(jù)處理,而采用本申請實施例提供的數(shù)據(jù)處理的方法只需一個M類型節(jié)點進行數(shù)據(jù)處理,有效節(jié)約了數(shù)據(jù)處理資源。
[0