本技術(shù)涉及動態(tài)任務(wù)執(zhí)行,特別是涉及一種執(zhí)行拉取廣告計劃任務(wù)方法、裝置、計算機設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、目前在執(zhí)行任務(wù)時都是使用定時觸發(fā)的任務(wù)運行器,但是一旦任務(wù)觸發(fā)以后,就只會在某一臺機器上執(zhí)行,具體使用場景是將所有的廣告計劃的報表數(shù)據(jù)從媒體側(cè)拉回,如拉回的頻率是10分鐘一次,一個廣告計劃需要拉取多個不同維度的報表數(shù)據(jù)。
2、這樣,在拉取媒體報表數(shù)據(jù)時會同時出現(xiàn)多個任務(wù)同時運行的情況,如果此時多個任務(wù)正好在同一機器上運行,那么可能會導(dǎo)致機器的負載過高,最終導(dǎo)致機器運行出現(xiàn)異常如內(nèi)存溢出的情況(oom),從而影響任務(wù)的正常執(zhí)行。還有一種做法是增加機器的配置,如增加核數(shù),擴大內(nèi)存等,但是因為任務(wù)的運行不固定在某臺機器上,所以可能會出現(xiàn)某一臺的機器負載很高,但是其他機器沒有負載或者負載很低,這會極大的導(dǎo)致資源的浪費。
3、多個任務(wù)同時運行還會出現(xiàn)一種情況就是,在運行期間會導(dǎo)致帶寬的波峰疊加,出現(xiàn)一個很大的帶寬波峰,這同樣會導(dǎo)致因為這個高波峰而不得不購買較大的帶寬,但是不運行任務(wù)時又會出現(xiàn)浪費。
技術(shù)實現(xiàn)思路
1、基于此,提供一種執(zhí)行拉取廣告計劃任務(wù)方法、裝置、計算機設(shè)備和存儲介質(zhì),用于解決在使用任務(wù)運行器定時觸發(fā)將所有的廣告計劃的報表數(shù)據(jù)從媒體側(cè)拉回時多個任務(wù)同時,多個任務(wù)運行在同一臺機器上會導(dǎo)致機器異常,多個任務(wù)同時運行也會導(dǎo)致出網(wǎng)帶寬的波峰疊加的技術(shù)問題。
2、一方面,提供一種執(zhí)行拉取廣告計劃任務(wù)方法,所述方法包括:
3、響應(yīng)于執(zhí)行拉取廣告計劃任務(wù)從媒體服務(wù)器拉取廣告計劃時,獲取需要拉回的廣告計劃總數(shù),獲取要求拉回廣告計劃的限定總時長;
4、根據(jù)歷史數(shù)據(jù)獲取拉回每個廣告計劃的平均時長,將所述需要拉回的廣告計劃總數(shù)乘以所述拉回每個廣告計劃的平均時長獲得拉取所有廣告計劃的總時長;
5、根據(jù)所述要求拉回廣告計劃的限定總時長以及所述拉取所有廣告計劃的總時長獲取用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù);
6、根據(jù)所述最少任務(wù)主體個數(shù)將所述廣告計劃分為多組,將每一組廣告計劃按序發(fā)送對應(yīng)的任務(wù)主體;
7、所述任務(wù)主體根據(jù)接收到所述廣告計劃的順序執(zhí)行拉取廣告計劃任務(wù)。
8、在其中一個實施例中,所述根據(jù)歷史數(shù)據(jù)獲取拉回每個廣告計劃的平均時長步驟包括:
9、記錄每個執(zhí)行主體每次執(zhí)行拉取廣告計劃任務(wù)的所需時長以及對應(yīng)時段的帶寬負載,形成歷史拉取廣告計劃任務(wù)的所需時長以及歷史每個時段的帶寬負載;
10、根據(jù)所述歷史拉取廣告計劃任務(wù)的所需時長以及所述歷史每個時段的帶寬負載訓(xùn)練形成分時段拉取耗時關(guān)系模型;
11、利用所述分時段拉取耗時關(guān)系模型獲取每個時段拉取所述廣告計劃的所需時長并保存;
12、根據(jù)所有執(zhí)行拉取廣告計劃任務(wù)的分配時間,在所述要求拉回廣告計劃的總時長內(nèi)調(diào)取每個時段的拉取所述廣告計劃的所需時長;
13、根據(jù)在所述要求拉回廣告計劃的總時長內(nèi)每個時段的拉取所述廣告計劃的所需時長計算出各個時段內(nèi)的拉回每個廣告計劃的平均時長。
14、在其中一個實施例中,所述根據(jù)所述歷史拉取廣告計劃任務(wù)的所需時長以及所述歷史每個時段的帶寬負載訓(xùn)練形成分時段拉取耗時關(guān)系模型包括:
15、根據(jù)所述歷史每個時段的帶寬負載獲取對應(yīng)每個時段的網(wǎng)絡(luò)帶寬被占用的比例作為網(wǎng)絡(luò)利用率;
16、定義網(wǎng)絡(luò)原始帶寬為mb1,當(dāng)前網(wǎng)絡(luò)利用率為uf,網(wǎng)絡(luò)實際可用帶寬為mb2,則mb2=mb1*times(1-uf),其中0≤uf≤1,times(1-uf)代表帶寬使用率;
17、構(gòu)建數(shù)據(jù)下載時間td的計算公式為:td=fracxv3r9jzsqg{mb2}=fracxv3r9jzsqg{mb1*times(1-uf)},其中d代表下載的數(shù)據(jù)量,fracxv3r9jzsqg代表實際需要下載的文件大小;
18、根據(jù)所述歷史拉取廣告計劃任務(wù)的所需時長以及所述歷史每個時段的帶寬負載對應(yīng)的數(shù)據(jù)下載時間訓(xùn)練形成分時段拉取耗時關(guān)系模型。
19、在其中一個實施例中,所述根據(jù)所述要求拉回廣告計劃的限定總時長以及所述拉取所有廣告計劃的總時長獲取用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù)包括:
20、定義所述需要拉回的廣告計劃總數(shù)為n,所述拉回每個廣告計劃的平均時長為m+w,其中m為拉取所述廣告計劃的所需時長,w為當(dāng)前網(wǎng)絡(luò)延遲時間,則所述拉取所有廣告計劃的總時長為n(m+w);
21、定義所述要求拉回廣告計劃的限定總時長為t1,則用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù)為n(m+w)/t1。
22、在其中一個實施例中,所述根據(jù)所述最少任務(wù)主體個數(shù)將所述廣告計劃分為多組包括:
23、設(shè)置所述廣告計劃的組數(shù)大于等于所述最少任務(wù)主體個數(shù);
24、將所有廣告計劃按照所述廣告計劃的組數(shù)均分為多組,將每一組廣告計劃關(guān)聯(lián)一個任務(wù)主體。
25、在其中一個實施例中,所述將每一組廣告計劃按序發(fā)送對應(yīng)的任務(wù)主體包括:
26、獲取當(dāng)前時段內(nèi)的拉回每個廣告計劃的平均時長;
27、將每一組廣告計劃按序間隔所述當(dāng)前時段內(nèi)的拉回每個廣告計劃的平均時長依次發(fā)送所述廣告計劃至對應(yīng)的任務(wù)主體;
28、響應(yīng)于所述任務(wù)主體執(zhí)行完所有從媒體服務(wù)器拉取廣告計劃后,判斷對應(yīng)的一組廣告計劃中是否存在剩余的廣告計劃;
29、若所述任務(wù)主體對應(yīng)的一組廣告計劃中存在剩余的廣告計劃,則將下一個廣告計劃發(fā)送至對應(yīng)的任務(wù)主體;若所述任務(wù)主體對應(yīng)的一組廣告計劃中不存在剩余的廣告計劃,則向所述任務(wù)主體反饋執(zhí)行拉取廣告計劃任務(wù)完成。
30、在其中一個實施例中,所述執(zhí)行拉取廣告計劃任務(wù)方法還包括:
31、設(shè)置任務(wù)運行器定時觸發(fā)執(zhí)行拉取廣告計劃任務(wù);
32、在當(dāng)前執(zhí)行拉取廣告計劃任務(wù)時,獲取并記錄每個執(zhí)行主體每次執(zhí)行拉取廣告計劃任務(wù)的實時所需時長,以及每個時段的實時帶寬負載;
33、將獲取的每個執(zhí)行主體每次執(zhí)行拉取廣告計劃任務(wù)的實時所需時長以及每個時段的實時帶寬負載輸入至所述分時段拉取耗時關(guān)系模型中,實時修正所述分時段拉取耗時關(guān)系模型;
34、根據(jù)修正后的分時段拉取耗時關(guān)系模型更新每個時段拉取所述廣告計劃的所需時長。
35、另一方面,提供了一種執(zhí)行拉取廣告計劃任務(wù)裝置,所述裝置包括:
36、任務(wù)量獲取模塊,用于響應(yīng)于執(zhí)行拉取廣告計劃任務(wù)從媒體服務(wù)器拉取廣告計劃時,獲取需要拉回的廣告計劃總數(shù),獲取要求拉回廣告計劃的限定總時長;
37、任務(wù)完成總時長估算模塊,用于根據(jù)歷史數(shù)據(jù)獲取拉回每個廣告計劃的平均時長,將所述需要拉回的廣告計劃總數(shù)乘以所述拉回每個廣告計劃的平均時長獲得拉取所有廣告計劃的總時長;
38、任務(wù)主體個數(shù)計算模塊,用于根據(jù)所述要求拉回廣告計劃的限定總時長以及所述拉取所有廣告計劃的總時長獲取用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù);
39、任務(wù)分配模塊,用于根據(jù)所述最少任務(wù)主體個數(shù)將所述廣告計劃分為多組,將每一組廣告計劃按序發(fā)送對應(yīng)的任務(wù)主體;
40、拉取任務(wù)執(zhí)行模塊,用于所述任務(wù)主體根據(jù)接收到所述廣告計劃的順序執(zhí)行拉取廣告計劃任務(wù)。
41、再一方面,提供了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
42、響應(yīng)于執(zhí)行拉取廣告計劃任務(wù)從媒體服務(wù)器拉取廣告計劃時,獲取需要拉回的廣告計劃總數(shù),獲取要求拉回廣告計劃的限定總時長;
43、根據(jù)歷史數(shù)據(jù)獲取拉回每個廣告計劃的平均時長,將所述需要拉回的廣告計劃總數(shù)乘以所述拉回每個廣告計劃的平均時長獲得拉取所有廣告計劃的總時長;
44、根據(jù)所述要求拉回廣告計劃的限定總時長以及所述拉取所有廣告計劃的總時長獲取用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù);
45、根據(jù)所述最少任務(wù)主體個數(shù)將所述廣告計劃分為多組,將每一組廣告計劃按序發(fā)送對應(yīng)的任務(wù)主體;
46、所述任務(wù)主體根據(jù)接收到所述廣告計劃的順序執(zhí)行拉取廣告計劃任務(wù)。
47、又一方面,提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:
48、響應(yīng)于執(zhí)行拉取廣告計劃任務(wù)從媒體服務(wù)器拉取廣告計劃時,獲取需要拉回的廣告計劃總數(shù),獲取要求拉回廣告計劃的限定總時長;
49、根據(jù)歷史數(shù)據(jù)獲取拉回每個廣告計劃的平均時長,將所述需要拉回的廣告計劃總數(shù)乘以所述拉回每個廣告計劃的平均時長獲得拉取所有廣告計劃的總時長;
50、根據(jù)所述要求拉回廣告計劃的限定總時長以及所述拉取所有廣告計劃的總時長獲取用于執(zhí)行拉取廣告計劃任務(wù)的最少任務(wù)主體個數(shù);
51、根據(jù)所述最少任務(wù)主體個數(shù)將所述廣告計劃分為多組,將每一組廣告計劃按序發(fā)送對應(yīng)的任務(wù)主體;
52、所述任務(wù)主體根據(jù)接收到所述廣告計劃的順序執(zhí)行拉取廣告計劃任務(wù)。
53、上述執(zhí)行拉取廣告計劃任務(wù)方法、裝置、計算機設(shè)備和存儲介質(zhì),通過在執(zhí)行拉取廣告計劃任務(wù)時獲取能夠按時完成任務(wù)的最少任務(wù)主體個數(shù),而任務(wù)主體分散在媒體服務(wù)器中,且每一個任務(wù)主體處理一組廣告計劃,不會出現(xiàn)多個任務(wù)運行在同一臺機器上會導(dǎo)致機器異常,從而使得機器不至于負載過高,并且?guī)捒梢跃鶆蚍植?,不至于出現(xiàn)波峰疊加的情況,減少了配置增加導(dǎo)致的資源浪費。