文件推送方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種文件推送方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)規(guī)模越來(lái)越大,生成的數(shù)據(jù)文件越來(lái)越多,當(dāng)生成了新的數(shù)據(jù)文件時(shí),如何快速地將生成的數(shù)據(jù)文件推送至需要應(yīng)用該數(shù)據(jù)文件的目的節(jié)點(diǎn)已成為亟待解決的問(wèn)題。
[0003]目前的網(wǎng)絡(luò)系統(tǒng)中,當(dāng)客戶端獲取到數(shù)據(jù)文件時(shí),將該數(shù)據(jù)文件上傳至文件存儲(chǔ)節(jié)點(diǎn),上傳完成后,向協(xié)調(diào)節(jié)點(diǎn)提交一個(gè)推送任務(wù),協(xié)調(diào)節(jié)點(diǎn)可以根據(jù)該推送任務(wù),確定該推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn),即為該數(shù)據(jù)文件的目的節(jié)點(diǎn)。從推送節(jié)點(diǎn)監(jiān)控協(xié)調(diào)節(jié)點(diǎn)中的任務(wù),當(dāng)檢測(cè)到協(xié)調(diào)節(jié)點(diǎn)中添加了該推送任務(wù)時(shí),確定該數(shù)據(jù)文件的目的節(jié)點(diǎn),并從文件存儲(chǔ)節(jié)點(diǎn)中下載該數(shù)據(jù)文件,下載完成后,進(jìn)入下載就緒狀態(tài),等待主推送節(jié)點(diǎn)的調(diào)度指令。而主推送節(jié)點(diǎn)檢測(cè)到協(xié)調(diào)節(jié)點(diǎn)中添加了該推送任務(wù)時(shí),確定該數(shù)據(jù)文件的目的節(jié)點(diǎn),判斷目的節(jié)點(diǎn)是否處于空閑狀態(tài),當(dāng)主推送節(jié)點(diǎn)確定目的節(jié)點(diǎn)處于空閑狀態(tài),且從推送節(jié)點(diǎn)處于下載就緒狀態(tài)時(shí),向從推送節(jié)點(diǎn)發(fā)送調(diào)度指令,從推送節(jié)點(diǎn)接收到該調(diào)度指令時(shí),向目的節(jié)點(diǎn)推送該數(shù)據(jù)文件。
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]客戶端將該數(shù)據(jù)文件上傳至文件存儲(chǔ)節(jié)點(diǎn)時(shí),需要耗費(fèi)很長(zhǎng)時(shí)間,從推送節(jié)點(diǎn)從文件存儲(chǔ)節(jié)點(diǎn)中下載該數(shù)據(jù)文件時(shí),也需要耗費(fèi)很長(zhǎng)時(shí)間。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種文件推送方法、裝置和系統(tǒng)。所述技術(shù)方案如下:
[0007]第一方面,提供了一種文件推送方法,所述方法包括:
[0008]將待推送的數(shù)據(jù)文件拆分為多個(gè)子文件;
[0009]并行地將所述多個(gè)子文件上傳至文件存儲(chǔ)節(jié)點(diǎn);
[0010]在協(xié)調(diào)節(jié)點(diǎn)中添加與所述多個(gè)子文件對(duì)應(yīng)的推送任務(wù),使得所述協(xié)調(diào)節(jié)點(diǎn)根據(jù)所述推送任務(wù),確定所述數(shù)據(jù)文件的目的節(jié)點(diǎn),當(dāng)所述從推送節(jié)點(diǎn)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了所述推送任務(wù)時(shí),確定所述數(shù)據(jù)文件的目的節(jié)點(diǎn),從所述文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載所述多個(gè)子文件,對(duì)下載到的多個(gè)子文件進(jìn)行合并,在接收到主推送節(jié)點(diǎn)的調(diào)度指令時(shí),向所述目的節(jié)點(diǎn)推送合并得到的數(shù)據(jù)文件。
[0011]第二方面,提供了一種文件推送方法,所述方法包括:
[0012]監(jiān)控協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);
[0013]當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)占.V,
[0014]從文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載所述推送任務(wù)對(duì)應(yīng)的多個(gè)子文件,所述多個(gè)子文件由客戶端對(duì)待推送的數(shù)據(jù)文件進(jìn)行拆分得到;
[0015]對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并;
[0016]當(dāng)接收到主推送節(jié)點(diǎn)的調(diào)度指令時(shí),向所述目的節(jié)點(diǎn)推送當(dāng)前合并得到的數(shù)據(jù)文件。
[0017]第三方面,提供了一種文件推送方法,所述方法包括:
[0018]監(jiān)控協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);
[0019]當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)占.V,
[0020]判斷所述目的節(jié)點(diǎn)是否處于空閑狀態(tài);
[0021 ] 當(dāng)確定所述目的節(jié)點(diǎn)處于空閑狀態(tài)時(shí),在未確定從推送節(jié)點(diǎn)的下載進(jìn)度的前提下,向所述從推送節(jié)點(diǎn)發(fā)送調(diào)度指令,所述從推送節(jié)點(diǎn)用于并行地下載所述推送任務(wù)對(duì)應(yīng)的多個(gè)子文件,對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并,當(dāng)接收到所述調(diào)度指令時(shí),獲取當(dāng)前合并得到的數(shù)據(jù)文件,向所述目的節(jié)點(diǎn)推送當(dāng)前合并得到的數(shù)據(jù)文件。
[0022]第四方面,提供了一種文件推送裝置,所述裝置包括:
[0023]拆分模塊,用于將待推送的數(shù)據(jù)文件拆分為多個(gè)子文件;
[0024]并行上傳模塊,用于并行地將所述多個(gè)子文件上傳至文件存儲(chǔ)節(jié)點(diǎn);
[0025]任務(wù)添加模塊,用于在協(xié)調(diào)節(jié)點(diǎn)中添加與所述多個(gè)子文件對(duì)應(yīng)的推送任務(wù),使得所述協(xié)調(diào)節(jié)點(diǎn)根據(jù)所述推送任務(wù),確定所述數(shù)據(jù)文件的目的節(jié)點(diǎn),當(dāng)所述從推送節(jié)點(diǎn)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了所述推送任務(wù)時(shí),確定所述數(shù)據(jù)文件的目的節(jié)點(diǎn),從所述文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載所述多個(gè)子文件,對(duì)下載到的多個(gè)子文件進(jìn)行合并,在接收到主推送節(jié)點(diǎn)的調(diào)度指令時(shí),向所述目的節(jié)點(diǎn)推送合并得到的數(shù)據(jù)文件。
[0026]第五方面,提供了一種文件推送裝置,所述裝置包括:
[0027]監(jiān)控模塊,用于監(jiān)控協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);
[0028]確定模塊,用于當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn);
[0029]并行下載模塊,用于從文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載所述推送任務(wù)對(duì)應(yīng)的多個(gè)子文件,所述多個(gè)子文件由客戶端對(duì)待推送的數(shù)據(jù)文件進(jìn)行拆分得到;
[0030]合并模塊,用于對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并;
[0031]推送模塊,用于當(dāng)接收到主推送節(jié)點(diǎn)的調(diào)度指令時(shí),向所述目的節(jié)點(diǎn)推送當(dāng)前合并得到的數(shù)據(jù)文件。
[0032]第六方面,提供了一種文件推送裝置,所述裝置包括:
[0033]監(jiān)控模塊,用于監(jiān)控協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);
[0034]確定模塊,用于當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn);
[0035]判斷模塊,用于判斷所述目的節(jié)點(diǎn)是否處于空閑狀態(tài);
[0036]發(fā)送模塊,用于當(dāng)確定所述目的節(jié)點(diǎn)處于空閑狀態(tài)時(shí),在未確定從推送節(jié)點(diǎn)的下載進(jìn)度的前提下,向所述從推送節(jié)點(diǎn)發(fā)送調(diào)度指令,所述從推送節(jié)點(diǎn)用于并行地下載所述推送任務(wù)對(duì)應(yīng)的多個(gè)子文件,對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并,當(dāng)接收到所述調(diào)度指令時(shí),獲取當(dāng)前合并得到的數(shù)據(jù)文件,向所述目的節(jié)點(diǎn)推送當(dāng)前合并得到的數(shù)據(jù)文件。
[0037]第七方面,提供了一種文件推送系統(tǒng),所述系統(tǒng)包括:客戶端、主推送節(jié)點(diǎn)、從推送節(jié)點(diǎn)、文件存儲(chǔ)節(jié)點(diǎn)、協(xié)調(diào)節(jié)點(diǎn)和目的節(jié)點(diǎn);
[0038]所述客戶端用于將待推送的數(shù)據(jù)文件拆分為多個(gè)子文件;并行地將所述多個(gè)子文件上傳至所述文件存儲(chǔ)節(jié)點(diǎn);在協(xié)調(diào)節(jié)點(diǎn)中添加與所述多個(gè)子文件對(duì)應(yīng)的推送任務(wù);
[0039]所述從推送節(jié)點(diǎn)用于監(jiān)控所述協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn);從所述文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載所述多個(gè)子文件,對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并;
[0040]所述主推送節(jié)點(diǎn)用于監(jiān)控所述協(xié)調(diào)節(jié)點(diǎn)中的任務(wù);當(dāng)檢測(cè)到所述協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)時(shí),確定所述推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn);判斷所述目的節(jié)點(diǎn)是否處于空閑狀態(tài);當(dāng)確定所述目的節(jié)點(diǎn)處于空閑狀態(tài)時(shí),在未確定所述從推送節(jié)點(diǎn)的下載進(jìn)度的前提下,向所述從推送節(jié)點(diǎn)發(fā)送調(diào)度指令;
[0041]所述從推送節(jié)點(diǎn)還用于當(dāng)接收到所述調(diào)度指令時(shí),向所述目的節(jié)點(diǎn)推送當(dāng)前合并得到的數(shù)據(jù)文件。
[0042]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0043]本發(fā)明實(shí)施例提供的方法、裝置和系統(tǒng),通過(guò)客戶端要將數(shù)據(jù)文件推送至目的節(jié)點(diǎn)時(shí),先將數(shù)據(jù)文件拆分為多個(gè)子文件,并行地將該多個(gè)子文件上傳至文件存儲(chǔ)節(jié)點(diǎn),縮短了上傳該數(shù)據(jù)文件所耗費(fèi)的時(shí)間,且在協(xié)調(diào)節(jié)點(diǎn)中添加推送任務(wù),使得從推送節(jié)點(diǎn)能夠根據(jù)該推送任務(wù),從文件存儲(chǔ)節(jié)點(diǎn)中,并行地下載多個(gè)子文件,也縮短了下載該數(shù)據(jù)文件所耗費(fèi)的時(shí)間,提高了推送效率。
【附圖說(shuō)明】
[0044]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0045]圖1是本發(fā)明實(shí)施例提供的一種文件推送系統(tǒng)的結(jié)構(gòu)示意圖;
[0046]圖2是本發(fā)明實(shí)施例提供的一種文件推送方法的流程圖;
[0047]圖3是本發(fā)明實(shí)施例提供的一種文件推送方法的流程圖;
[0048]圖4是本發(fā)明實(shí)施例提供的一種文件推送方法的流程圖;
[0049]圖5是本發(fā)明實(shí)施例提供的一種文件推送方法的流程圖;
[0050]圖6A是本發(fā)明實(shí)施例提供的客戶端的處理流程示意圖;
[0051]圖6B是本發(fā)明實(shí)施例提供的從推送節(jié)點(diǎn)的處理流程示意圖;
[0052]圖6C是本發(fā)明實(shí)施例提供的交互時(shí)序示意圖;
[0053]圖7是本發(fā)明實(shí)施例提供的一種文件推送裝置結(jié)構(gòu)示意圖;
[0054]圖8是本發(fā)明實(shí)施例提供的一種文件推送裝置結(jié)構(gòu)示意圖;
[0055]圖9是本發(fā)明實(shí)施例提供的一種文件推送裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0056]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0057]圖1是本發(fā)明實(shí)施例提供的一種文件推送系統(tǒng)的結(jié)構(gòu)示意圖,參見圖1,該文件系統(tǒng)包括:客戶端101、主推送節(jié)點(diǎn)102、從推送節(jié)點(diǎn)103、文件存儲(chǔ)節(jié)點(diǎn)104、協(xié)調(diào)節(jié)點(diǎn)105和目的節(jié)點(diǎn)106。該客戶端101分別與該文件存儲(chǔ)節(jié)點(diǎn)104和該協(xié)調(diào)節(jié)點(diǎn)105連接,且該協(xié)調(diào)節(jié)點(diǎn)105分別與該主推送節(jié)點(diǎn)102和該從推送節(jié)點(diǎn)103連接,該主推送節(jié)點(diǎn)102與該從推送節(jié)點(diǎn)103連接,且該主推送節(jié)點(diǎn)102和該從推送節(jié)點(diǎn)103均與該目的節(jié)點(diǎn)106連接。
[0058]對(duì)于一個(gè)數(shù)據(jù)文件來(lái)說(shuō),該客戶端101用于將數(shù)據(jù)文件上傳至該文件存儲(chǔ)節(jié)點(diǎn)104,并在協(xié)調(diào)節(jié)點(diǎn)105提交與該數(shù)據(jù)文件對(duì)應(yīng)的推送任務(wù),該主推送節(jié)點(diǎn)102和該從推送節(jié)點(diǎn)103用于監(jiān)控該協(xié)調(diào)節(jié)點(diǎn)105中的任務(wù),該主推送節(jié)點(diǎn)102還用于監(jiān)控目的節(jié)點(diǎn)106的運(yùn)行狀態(tài),當(dāng)該主推送節(jié)點(diǎn)102檢測(cè)到該協(xié)調(diào)節(jié)點(diǎn)中添加了推送任務(wù)且該目的節(jié)點(diǎn)106處于空閑狀態(tài)時(shí),對(duì)該從推送節(jié)點(diǎn)103進(jìn)行調(diào)度。該從推送節(jié)點(diǎn)103用于檢測(cè)到協(xié)調(diào)節(jié)點(diǎn)中添加了該推送任務(wù)時(shí),從該文件存儲(chǔ)節(jié)點(diǎn)104下載該數(shù)據(jù)文件,根據(jù)該主推送節(jié)點(diǎn)102的調(diào)度,向目的節(jié)點(diǎn)106推送該數(shù)據(jù)文件。
[0059]本發(fā)明實(shí)施例中,該客戶端101用于將待推送的數(shù)據(jù)文件拆分為多個(gè)子文件,并行地將該多個(gè)子文件上傳至該文件存儲(chǔ)節(jié)點(diǎn)104 ;在協(xié)調(diào)節(jié)點(diǎn)105中添加與該多個(gè)子文件對(duì)應(yīng)的推送任務(wù);
[0060]該從推送節(jié)點(diǎn)103用于監(jiān)控該協(xié)調(diào)節(jié)點(diǎn)105中的任務(wù);當(dāng)檢測(cè)到該協(xié)調(diào)節(jié)點(diǎn)105中添加了推送任務(wù)時(shí),確定該推送任務(wù)對(duì)應(yīng)的目的節(jié)點(diǎn)106 ;從該文件存儲(chǔ)節(jié)點(diǎn)104中,并行地下載該推送任務(wù)對(duì)應(yīng)的多個(gè)子文件,對(duì)當(dāng)前下載到的多個(gè)子文件進(jìn)行合并;
[0061]該主推送節(jié)點(diǎn)102用于監(jiān)控