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