一種傳送文件的方法及裝置和下載文件的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種傳送文件的方法及裝置和下載文件的方法及裝置。
【背景技術(shù)】
[0002]目前,大型網(wǎng)絡(luò)設(shè)備一般都采用分布式集群系統(tǒng)。在這種分布式集群硬件架構(gòu)中,一套設(shè)備由多個(gè)機(jī)框組成,每個(gè)機(jī)框最多可能會(huì)設(shè)置有幾十塊單板,每個(gè)單板一個(gè)或多個(gè)CPU,因此整套設(shè)備可能擁有上百、乃至幾百個(gè)CPU。這些CPU從主控CPU獲取版本方式目前主要使用ftp下載方式,采用的是C/S (Client/server,客戶端/服務(wù)端)結(jié)構(gòu),主控CPU啟動(dòng)一個(gè)服務(wù)端,提供版本文件的分發(fā)服務(wù),所有的在線從CPU啟動(dòng)一個(gè)客戶端,通過(guò)客戶端發(fā)送版本請(qǐng)求,服務(wù)端的主CPU作為發(fā)送方收到版本文件請(qǐng)求后,在數(shù)據(jù)庫(kù)中查詢相應(yīng)版本文件,獲取詳細(xì)的版本信息后,應(yīng)答給客戶端的接收方,然后客戶端通過(guò)ftp進(jìn)行版本的下載。
[0003]通過(guò)FTP方式下載版本文件存在的問(wèn)題有:從FTP服務(wù)端檢索一個(gè)文件,包含繁復(fù)的交換握手步驟,傳輸一個(gè)文件,F(xiàn)TP需要往復(fù)10次。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種傳送文件的方法及裝置和下載文件的方法及裝置,能夠提高文件傳送效率,簡(jiǎn)化文件傳送過(guò)程。
[0005]一種傳送文件的方法,用于發(fā)送方向接收方傳輸文件,包括如下步驟:
[0006]接收接收方中的第一接收方發(fā)送的文件請(qǐng)求;
[0007]根據(jù)所述文件請(qǐng)求,確定第一接收方所需要的第一文件;
[0008]向所有接收方組播傳輸所述第一文件。
[0009]可選的,接收接收方中的第一接收方發(fā)送的文件請(qǐng)求之后,還包括:
[0010]接收接收方中的第二接收方發(fā)送的文件請(qǐng)求;
[0011]根據(jù)所述第二接收方發(fā)送的文件請(qǐng)求,確定所述第二接收方所需要的第二文件;
[0012]向所有接收方組播傳輸所述第一文件之后,向所有接收方組播傳輸所述第二文件。
[0013]可選的,根據(jù)所述文件請(qǐng)求、確定第一接收方所需要的第一文件之后,還包括:
[0014]將所述第一文件的信息發(fā)送到第一接收方;并根據(jù)所述第一文件的信息建立組播列表的第一文件表項(xiàng),從而向所有接收方組播傳輸所述第一文件時(shí)能夠根據(jù)所述第一文件表項(xiàng)的順序傳輸所述第一文件;
[0015]接收第一接收方響應(yīng)于所述第一文件的信息所發(fā)送的第一文件下載請(qǐng)求;
[0016]進(jìn)入所述向所有接收方組播傳輸所述第一文件的步驟。
[0017]可選的,根據(jù)所述第二接收方發(fā)送的文件請(qǐng)求、確定所述第二接收方所需要的第二文件之后,還包括:
[0018]將第二文件的信息發(fā)送到所述第二接收方,并根據(jù)第二文件信息更新組播列表的表項(xiàng),從而能夠根據(jù)更新后的組播列表向所有接收方組播第二文件。
[0019]可選的,根據(jù)第二文件信息更新組播列表的表項(xiàng)的步驟具體包括:
[0020]當(dāng)依據(jù)組播列表,發(fā)送方在后續(xù)組播過(guò)程中組播的文件包含全部或部分第二文件時(shí),對(duì)應(yīng)于第二文件中包含的、并且組播列表中尚未組播的表項(xiàng)所未包含的文件的信息,在組播列表中按照順序增加組播表項(xiàng);
[0021]當(dāng)依據(jù)第一組播列表,發(fā)送方在后續(xù)組播過(guò)程組播的文件不包含第二文件時(shí),在組播列表中按照順序增加第二文件信息所對(duì)應(yīng)的第二文件表項(xiàng)。
[0022]同時(shí),本發(fā)明還提供一種下載文件的方法,用于接收方從發(fā)送方下載文件,包括如下步驟:
[0023]接收發(fā)送方響應(yīng)于本接收方或其它任意接收方的文件請(qǐng)求所組播傳送的文件;
[0024]當(dāng)確定所述接收到的文件不是本接收方所請(qǐng)求的文件時(shí),將文件丟棄;
[0025]當(dāng)確定所述接收到的文件時(shí)本接收方所請(qǐng)求的文件時(shí),將文件保留。
[0026]可選的,接收發(fā)送方響應(yīng)于本接收方或其它任意接收方的文件請(qǐng)求所傳送的文件之前,還包括:
[0027]接收發(fā)送方發(fā)送的本接收方所請(qǐng)求的文件信息;
[0028]向發(fā)送方發(fā)送文件下載請(qǐng)求;并根據(jù)所述文件信息,建立接收文件的任務(wù)列表,從而在接收服務(wù)端響應(yīng)于本接收方或其它任意接收方的文件請(qǐng)求所傳送的文件之后能夠根據(jù)所述任務(wù)列表判斷其所接收到的文件是否為本接收方所請(qǐng)求的文件。
[0029]進(jìn)一步,本發(fā)明還提供一種傳送文件的裝置,用于發(fā)送方向接收方傳輸文件,包括:
[0030]第一文件請(qǐng)求接收模塊:用于接收接收方中的第一接收方發(fā)送的文件請(qǐng)求;
[0031]第一文件查詢模塊:用于根據(jù)所述文件請(qǐng)求,確定第一接收方所需要的第一文件;
[0032]第一文件組播模塊:用于向所有接收方組播傳輸所述第一文件。
[0033]可選的,所述裝置還包括:
[0034]第二文件請(qǐng)求接收模塊:用于接收接收方中的第二接收方發(fā)送的文件請(qǐng)求;
[0035]第二文件查詢模塊:用于根據(jù)所述第二接收方發(fā)送的文件請(qǐng)求,確定所述第二接收方所需要的第二文件;
[0036]第二文件組播模塊:用于向所有接收方組播傳輸所述第一文件之后,向所有接收方組播傳輸所述第二文件。
[0037]可選的,所述裝置還包括:
[0038]第一文件信息發(fā)送模塊:用于將所述第一文件的信息發(fā)送到第一接收方;
[0039]第一文件表項(xiàng)建立模塊:用于根據(jù)所述第一文件的信息建立組播列表的第一文件表項(xiàng),從而向所有接收方組播傳輸所述第一文件時(shí)能夠根據(jù)所述第一文件表項(xiàng)的順序傳輸所述第一文件;
[0040]第一文件下載請(qǐng)求接收模塊:用于接收第一接收方響應(yīng)于所述第一文件的信息所發(fā)送的第一文件下載請(qǐng)求。
[0041]可選的,所述裝置還包括:
[0042]第二文件信息發(fā)送模塊:用于將第二文件的信息發(fā)送到所述第二接收方;
[0043]組播列表更新模塊:用于根據(jù)第二文件信息更新組播列表的表項(xiàng),從而能夠根據(jù)更新后的組播列表向所有接收方組播第二文件。
[0044]可選的,所述組播列表更新模塊具體包括:
[0045]第一更新單元:用于當(dāng)依據(jù)組播列表,發(fā)送方在后續(xù)組播過(guò)程中組播的文件包含全部或部分第二文件時(shí),對(duì)應(yīng)于第二文件中包含的、并且組播列表中尚未組播的表項(xiàng)所未包含的文件的信息,在組播列表中按照順序增加組播表項(xiàng);
[0046]第二更新單元:用于當(dāng)依據(jù)第一組播列表,發(fā)送方在后續(xù)組播過(guò)程組播的文件不包含第二文件時(shí),在組播列表中按照順序增加第二文件信息所對(duì)應(yīng)的第二文件表項(xiàng)。
[0047]進(jìn)一步,本發(fā)明還提供一種下載文件的裝置,用于接收方從發(fā)送方下載文件,包括:
[0048]文件接收模塊:用于接收發(fā)送方響應(yīng)于本接收方或其它任意接收方的文件請(qǐng)求所組播傳送的文件;
[0049]第一文件接收處理模塊:用于當(dāng)確定所述接收到的文件不是本接收方所請(qǐng)求的文件時(shí),將文件丟棄;
[0050]第二文件接收處理模塊:用于當(dāng)確定所述接收到的文件時(shí)本接收方所請(qǐng)求的文件時(shí),將文件保留。
[0051]可選的,所述裝置還包括:
[0052]文件信息接收模塊:用于接收發(fā)送方發(fā)送的本接收方所請(qǐng)求的文件信息;
[0053]下載請(qǐng)求發(fā)送模塊:用于向發(fā)送方發(fā)送文件下載請(qǐng)求;
[0054]任