本發(fā)明涉及移動通訊領(lǐng)域,特別是涉及一種文件分發(fā)系統(tǒng)及其管理方法和裝置。
背景技術(shù):
軟件版本經(jīng)常需要通過升級來以增加新功能,從而滿足不斷變化的用戶需求或者修補軟件的缺陷?;镜能浖姹疽膊焕猓话闱闆r下升級包括以下兩個過程:軟件包下載過程和軟件包激活過程。其中,軟件包下載過程為,基站收到網(wǎng)管發(fā)起下載請求后,向指定的文件服務器請求下載軟件包。
一個網(wǎng)管一般對應一個文件分發(fā)服務器,并且下掛若干個基站。一般情況下,基站的數(shù)量是非常龐大的,由于硬件性能的瓶頸,如果需要同時對許多基站進行升級操作,那么就必須分批次執(zhí)行文件分發(fā)任務,這樣勢必會耗費相當長的時間?,F(xiàn)有的文件分發(fā)系統(tǒng)缺乏擴展性,難以通過簡單的添加硬件設(shè)備完成文件分發(fā)服務器的擴容,很難滿足海量文件分發(fā)的需求。
針對上述問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提出一種文件分發(fā)系統(tǒng)及其管理方法和裝置,用以解決現(xiàn)有技術(shù)中的文件分發(fā)系統(tǒng)難以滿足海量文件分發(fā)的需求的技術(shù)問題。
為解決上述技術(shù)問題,一方面,本發(fā)明提供一種文件分發(fā)系統(tǒng),包括:主控節(jié)點和多個文件分發(fā)服務器,其中,所述主控節(jié)點,與基站和所述多個文件分發(fā)服務器進行通信,用于接收基站下發(fā)的下載請求,并響應于所述下載請求 為所述基站分配文件分發(fā)服務器,所述主控節(jié)點還用于對所述多個文件分發(fā)服務器進行集中控制和管理;所述多個文件分發(fā)服務器,與所述主控節(jié)點進行通信,用于向分配至自身的基站提供下載文件。
進一步,所述多個文件分發(fā)服務器之間通過網(wǎng)絡(luò)互相連接和通信。
進一步,所述多個文件分發(fā)服務器的各個文件分發(fā)服務器都設(shè)置有存儲器,各個文件分發(fā)服務器的存儲器中存儲有相同的下載文件的副本。
另一方面,本發(fā)明提供一種文件分發(fā)系統(tǒng)的管理方法,應用上述的文件分發(fā)系統(tǒng),包括:接收基站下發(fā)的下載請求;響應于所述下載請求,為所述基站分配文件分發(fā)服務器,以提供下載文件。
進一步,為所述基站分配文件分發(fā)服務器包括:采用負載均衡的方式為所述基站分配文件分發(fā)服務器。
又一方面,本發(fā)明提供一種文件分發(fā)系統(tǒng)的管理方法,應用上述的文件分發(fā)系統(tǒng),包括:接收文件分發(fā)服務器上傳的信息;根據(jù)所述信息對所述分發(fā)服務器進行控制和管理。
進一步,根據(jù)所述信息對所述文件分發(fā)服務器進行控制和管理,包括:當所述信息為注冊消息時,將該文件分發(fā)服務器增加至文件分發(fā)服務器集群中,并設(shè)置該文件分發(fā)服務器的狀態(tài)為可用。
進一步,接收文件分發(fā)服務器上傳的信息,包括:向所述文件分發(fā)服務器發(fā)送周期性輪詢請求;接收所述文件分發(fā)服務器返回的輪詢反饋消息。
進一步,根據(jù)所述信息對所述文件分發(fā)服務器進行控制和管理,包括:根據(jù)所述輪詢反饋消息確定文件分發(fā)服務器中存儲的下載文件的副本是否丟失或損壞,如果丟失或損壞,則為所述文件分發(fā)服務器重新同步該下載文件的副本。
進一步,在向所述文件分發(fā)服務器發(fā)送周期性輪詢請求之后,根據(jù)所述信息對所述文件分發(fā)服務器進行控制和管理,包括:當在預定時間或者預定次數(shù)內(nèi)未接收到所述文件分發(fā)服務器返回的輪詢反饋消息,則將該文件分發(fā)服務器 從文件分發(fā)服務器集群中移除。
又一方面,本發(fā)明提供一種文件分發(fā)系統(tǒng)的管理裝置,包括:請求接收模塊,用于接收基站下發(fā)的下載請求;分配模塊,用于響應于所述下載請求,為所述基站分配文件分發(fā)服務器,以提供下載文件。
進一步,所述分配模塊具體用于采用負載均衡的方式為所述基站分配文件分發(fā)服務器。
又一方面,本發(fā)明提供一種文件分發(fā)系統(tǒng)的管理裝置,包括:信息接收模塊,用于接收文件分發(fā)服務器上傳的信息;管理模塊,用于根據(jù)所述信息對所述分發(fā)服務器進行控制和管理。
進一步,所述管理模塊包括:添加單元,用于在所述信息為注冊消息的情況下,將該文件分發(fā)服務器增加至文件分發(fā)服務器集群中,并設(shè)置該文件分發(fā)服務器的狀態(tài)為可用。
進一步,所述信息接收模塊包括:發(fā)送單元,用于向所述文件分發(fā)服務器發(fā)送周期性輪詢請求;接收單元,用于接收所述文件分發(fā)服務器返回的輪詢反饋消息。
進一步,所述管理模塊包括:判斷單元,用于根據(jù)所述輪詢反饋消息確定文件分發(fā)服務器中存儲的下載文件的副本是否丟失或損壞;同步單元,用于在確定文件分發(fā)服務器中存儲的下載文件的副本已丟失或損壞的情況下,為所述文件分發(fā)服務器重新同步該下載文件的副本。
進一步,所述管理模塊包括:移除單元,用于在向所述文件分發(fā)服務器發(fā)送周期性輪詢請求之后,在預定時間或者預定次數(shù)內(nèi)未接收到所述文件分發(fā)服務器返回的輪詢反饋消息的情況下,將該文件分發(fā)服務器從文件分發(fā)服務器集群中移除。
本發(fā)明提供了一種文件分發(fā)系統(tǒng)及其管理方法和裝置,該文件分發(fā)系統(tǒng)中包括有主控節(jié)點和多個文件分發(fā)服務器,因為加入了主控節(jié)點對多個文件分發(fā)服務器進行集中的控制和管理,并在基站有下載請求時,為基站分配文件分發(fā) 服務器,從而使得文件分發(fā)系統(tǒng)的擴展變得簡單,可以通過簡單的添加硬件設(shè)備完成文件分發(fā)服務器的擴容,解決了現(xiàn)有技術(shù)中擴容困難而導致的文件分發(fā)系統(tǒng)難以滿足海量文件分發(fā)的需求的技術(shù)問題,達到了有效滿足海量文件分發(fā)的需求的技術(shù)效果。
附圖說明
圖1是本發(fā)明實施例中文件分發(fā)系統(tǒng)的一種優(yōu)選結(jié)構(gòu)框圖;
圖2是本發(fā)明實施例中對文件分發(fā)系統(tǒng)進行管理的方法的一種優(yōu)選流程圖;
圖3是本發(fā)明實施例中對文件分發(fā)系統(tǒng)進行管理的方法的另一種優(yōu)選流程圖;
圖4是本發(fā)明實施例中文件分發(fā)系統(tǒng)的管理裝置的一種優(yōu)選結(jié)構(gòu)框圖;
圖5是本發(fā)明實施例中文件分發(fā)系統(tǒng)的管理裝置的另一種優(yōu)選結(jié)構(gòu)框圖。
具體實施方式
為了解決現(xiàn)有技術(shù)文件分發(fā)系統(tǒng)難以滿足海量文件分發(fā)的需求的問題,本發(fā)明提供了一種文件分發(fā)系統(tǒng)及其管理方法和裝置,以下結(jié)合附圖以及兩個實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
本發(fā)明提供一種文件分發(fā)系統(tǒng),如圖1所示,包括:主控節(jié)點100和多個文件分發(fā)服務器200,其中:
主控節(jié)點100,與基站300和多個文件分發(fā)服務器200進行通信,用于接收基站300下發(fā)的下載請求,并響應于所述下載請求為基站300分配文件分發(fā)服務器200,主控節(jié)點100還用于對多個文件分發(fā)服務器200進行集中控制和管理;
多個文件分發(fā)服務器200,與主控節(jié)點100進行通信,用于向分配至自身 的基站300提供下載文件。
具體的,圖1所示的文件分發(fā)系統(tǒng)僅是一種示意性描述,在實際情況中,文件分發(fā)系統(tǒng)中可以有一個主控節(jié)點,也可以有多個主控節(jié)點,即,可以通過一個主控節(jié)點對多個文件分發(fā)服務器進行控制和管理,也可以通過兩個或更多個文件分發(fā)服務器進行控制和管理。進一步的,在實際情況下,基站的數(shù)量也是不一個,而是很多個。上述的多個文件分發(fā)服務器中的每個文件分發(fā)服務器可以單獨放在一個地方,每個文件分發(fā)服務器中都存儲有一份完整的下載文件副本,位于不同地點的多個文件分發(fā)服務器可以通過網(wǎng)絡(luò)互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的系統(tǒng)。
在上例中,提供了一種文件分發(fā)系統(tǒng),該文件分發(fā)系統(tǒng)中包括有主控節(jié)點和多個文件分發(fā)服務器,因為加入了主控節(jié)點對多個文件分發(fā)服務器進行集中的控制和管理,并在基站有下載請求時,為基站分配文件分發(fā)服務器,從而使得文件分發(fā)系統(tǒng)的擴展變得簡單,可以通過簡單的添加硬件設(shè)備完成文件分發(fā)服務器的擴容,解決了現(xiàn)有技術(shù)中擴容困難而導致的文件分發(fā)系統(tǒng)難以滿足海量文件分發(fā)的需求的技術(shù)問題,達到了有效滿足海量文件分發(fā)的需求的技術(shù)效果。
對于多個文件分發(fā)服務器200的各個文件分發(fā)服務器中都可以設(shè)置有存儲器,各個文件分發(fā)服務器的存儲器中存儲有相同的下載文件的副本,即,每個文件分發(fā)服務器中都可以存儲有一份完整的下載文件的副本,這樣在主控節(jié)點100,接收到基站300下發(fā)的下載更新請求后就可以按照需要隨意分配一個文件分發(fā)服務器200為該基站提供下載文件。
上述的主控節(jié)點100主要的兩個作用,一個是為基站分配文件分發(fā)服務器,另一個是對文件分發(fā)服務器進行集中管理。
基于上述第一個作用,本例中提供了一種文件分發(fā)系統(tǒng)的管理方法,如圖2所示,可以包括以下步驟202至步驟204:
步驟202:接收基站下發(fā)的下載請求;
步驟204:響應于所述下載請求,為所述基站分配文件分發(fā)服務器,以提供下載文件。
在上述步驟204中,可以采用負載均衡的方式為所述基站分配文件分發(fā)服務器,即如果接收到基站下發(fā)的下載請求,那么選擇當前負荷比較低得文件分發(fā)服務器為該基站提供下載文件。
基于上述第一個作用,本例中提供了一種文件分發(fā)系統(tǒng)的管理方法,如圖3所示,可以包括以下步驟302至步驟304:
步驟302:接收文件分發(fā)服務器上傳的信息;
步驟304:根據(jù)所述信息對所述分發(fā)服務器進行控制和管理。
具體的,在上述步驟304中,當信息為注冊消息時,將該文件分發(fā)服務器增加至文件分發(fā)服務器集群中,并設(shè)置該文件分發(fā)服務器的狀態(tài)為可用。即,可以將新的文件分發(fā)服務器增加至文件分發(fā)服務器集群中,從而使得在有擴容需求的時候,可以簡單地在系統(tǒng)中增加新的文件分發(fā)服務器,以滿足海量文件分發(fā)的需求。
為了保證文件分發(fā)服務器上文件的完整性,且可以及時發(fā)現(xiàn)有問題的文件分發(fā)服務器,可以周期性地向文件分發(fā)服務器發(fā)送周期性輪詢請求,并接收所述文件分發(fā)服務器返回的輪詢反饋消息,根據(jù)接收到的輪詢反饋消息對文件分發(fā)服務器進行集中管理和控制。具體地,可以根據(jù)輪詢反饋消息確定文件分發(fā)服務器中存儲的下載文件的副本是否丟失或損壞,如果丟失或損壞,則為文件分發(fā)服務器重新同步該下載文件的副本。也可以在預定時間或者預定次數(shù)內(nèi)未接收到所述文件分發(fā)服務器返回的輪詢反饋消息的情況下,將該文件分發(fā)服務器從文件分發(fā)服務器集群中移除。也就是說,可以根據(jù)反饋消息確定文件分發(fā)服務器上的文件是否損壞,也可以根據(jù)反饋信息的接收情況確定文件分發(fā)服務器是否失效。
在本實施例中還提供了一種文件分發(fā)系統(tǒng)的管理裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù) 語“單元”或者“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。圖4是根據(jù)本發(fā)明實施例的文件分發(fā)系統(tǒng)的管理裝置的一種優(yōu)選結(jié)構(gòu)框圖,如圖4所示,可以包括:
請求接收模塊401,用于接收基站下發(fā)的下載請求;
分配模塊402,用于響應于下載請求,為基站分配文件分發(fā)服務器,以提供下載文件。
在一個實施方式中,分配模塊402具體可以用于采用負載均衡的方式為所述基站分配文件分發(fā)服務器。
在本實施例中還提供了一種文件分發(fā)系統(tǒng)的管理裝置,如圖5所示,包括:信息接收模塊501,用于接收文件分發(fā)服務器上傳的信息;管理模塊502,用于根據(jù)所述信息對所述分發(fā)服務器進行控制和管理。
在一個實施方式中,管理模塊502可以包括:添加單元,用于在所述信息為注冊消息的情況下,將該文件分發(fā)服務器增加至文件分發(fā)服務器集群中,并設(shè)置該文件分發(fā)服務器的狀態(tài)為可用。
在一個實施方式中,信息接收模塊501可以包括:發(fā)送單元,用于向所述文件分發(fā)服務器發(fā)送周期性輪詢請求;接收單元,用于接收所述文件分發(fā)服務器返回的輪詢反饋消息。
在一個實施方式中,管理模塊502可以包括:判斷單元,用于根據(jù)所述輪詢反饋消息確定文件分發(fā)服務器中存儲的下載文件的副本是否丟失或損壞;同步單元,用于在確定文件分發(fā)服務器中存儲的下載文件的副本已丟失或損壞的情況下,為所述文件分發(fā)服務器重新同步該下載文件的副本。
在一個實施方式中,管理模塊502可以包括:移除單元,用于在向所述文件分發(fā)服務器發(fā)送周期性輪詢請求之后,在預定時間或者預定次數(shù)內(nèi)未接收到所述文件分發(fā)服務器返回的輪詢反饋消息的情況下,將該文件分發(fā)服務器從文件分發(fā)服務器集群中移除。
上述圖4和圖5中的文件分發(fā)系統(tǒng)的管理裝置可以位于主控節(jié)點100中,用于對文件分發(fā)集群進行控制和管理。
優(yōu)選實施例
在本例中提供了一種文件分發(fā)系統(tǒng)及其管理方法和裝置,通過將控制流和數(shù)據(jù)流分開,并提供彈性的、可擴充的文件分發(fā)服務器,利用多臺文件分發(fā)服務器分擔負荷,并且可根據(jù)需要較便捷的加入或移除文件分發(fā)服務器。
該文件分發(fā)系統(tǒng)可以包括一個Manager節(jié)點(對應于上述的主控節(jié)點),多臺真正意義上的Agent(對應于上述的文件分發(fā)服務器)。Manager節(jié)點對文件分發(fā)系統(tǒng)的管理主要可以包括:Agent的加入、Agent的離開、文件在Agent之間的拷貝、Agent上的下載連接數(shù)等。Manager可以周期性地向每個Agent發(fā)送心跳信息與之通信。
每臺Agent可單獨放在一個地方,每臺Agent服務器中都有文件內(nèi)容的一份份完整的拷貝副本,位于不同地點的許多Agent服務器可以通過網(wǎng)絡(luò)互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的系統(tǒng)。為了降低系統(tǒng)的瓶頸效應,保證所有與Manager之間的操作最小化,可以將數(shù)據(jù)流和控制流分開。
Manager節(jié)點會周期性地向Agent發(fā)送信息以輪詢每個Agent的狀況,可以包括Agent所存放的文件信息,與之建立連接的基站信息,下載進度等。Manager節(jié)點上可以保存一份完整的文件列表,包括:文件名、文件大小以及文件校驗值(例如:CRC或MD5等),以及每個Agent上存放的文件信息。具體地,Manager節(jié)點可以完成以下幾種對Agent的控制和管理工作:
1)Agent的加入
當一個Agent加入時,它會向Manager節(jié)點發(fā)送消息進行注冊,消息的內(nèi)容可以包括:硬件配置、Agent上運行的軟件版本等信息。Manager節(jié)點接收到Agent的注冊請求后,將其加入到分布式文件分發(fā)集群中。隨后,通知新注冊的Agent從另一個擁有完整文件副本的Agent上同步文件,為了防止同步文 件副本產(chǎn)生的開銷太大,Manager節(jié)點會按照一定策略限制整個集群中和每個Agent上同時進行同步的數(shù)量。在同步完成后,Manager節(jié)點會將新加入的Agent設(shè)置為可用。
2)Agent的失效
當出現(xiàn)以下情況時,可以定義Agent失效:Agent服務軟件關(guān)閉;Agent一定時間或一定次數(shù)不回應Manager的輪詢請求,當基站向Agent請求下載而失敗一定次數(shù),或者其它Agent主動上報的自身不可用等情況時,可以確定Agent失效。
在確定Agent失效后,Manager節(jié)點會將其從分布式文件分發(fā)集群中移除,當有新的基站請求時,Manager節(jié)點將該基站請求分配給其它Agent。對于移除前已確認完成文件下載或同步的對象,Manager節(jié)點為其重新分配Agent,并通知其重新執(zhí)行文件下載操作。
3)Agent上文件損壞
Agent收到Manager節(jié)點的周期性輪詢時,會向Manager節(jié)點上報其存儲的文件信息,Manager節(jié)點對上報信息進行分析,如果發(fā)現(xiàn)文件丟失或損壞,Manager節(jié)點會重新向Agent發(fā)送文件同步指令。另外,當有基站向Agent發(fā)起請求文件,或其它Agent向其發(fā)起文件同步請求時,被請求文件版本的Agent會對文件進行校驗,如果校驗失敗,Agent會向請求者返回一個錯誤信息,并通知Manager節(jié)點。Manager節(jié)點收到錯誤信息后,會重新分配一個空閑的Agent,并通知其它需要下載或同步文件的設(shè)備從已分配的空閑Agent開始執(zhí)行下載。
4)文件下載
當一個基站向Manager節(jié)點發(fā)起下載請求,Manager節(jié)點在收到該請求后,根據(jù)當前各Agent的負載狀況,分配一個空閑的(此處為相對概念)Agent,并將連接該Agent所需的信息發(fā)送給基站。此后,基站使用該信息與Agent建立連接并開始下載,期間基站不會再與Manager節(jié)點通信,除非連接未能建立 或下載過程出現(xiàn)異常等原因而導致下載失敗。
5)負載均衡
Manager節(jié)點周期性地輪詢所有Agent,收集各個Agent的負載狀況。當有新的基站向其發(fā)起下載請求時,Manager節(jié)點將一個當前負載最小的Agent分配給該基站。
在本例中,設(shè)計了一種彈性伸縮、可擴充的方案,在需要時可便捷地加入或移除文件分發(fā)服務器,以滿足各種場景的需求。采用統(tǒng)一的控制入口,簡化了外部接口,便于部署,進一步的,通過將控制流和數(shù)據(jù)流分開,解決了性能方面的瓶頸問題。
綜上所述,本發(fā)明提供了一種文件分發(fā)系統(tǒng)及其管理方法和裝置,該文件分發(fā)系統(tǒng)中包括有主控節(jié)點和多個文件分發(fā)服務器,因為加入了主控節(jié)點對多個文件分發(fā)服務器進行集中的控制和管理,并在基站有下載請求時,為基站分配文件分發(fā)服務器,從而使得文件分發(fā)系統(tǒng)的擴展變得簡單,可以通過簡單的添加硬件設(shè)備完成文件分發(fā)服務器的擴容,解決了現(xiàn)有技術(shù)中擴容困難而導致的文件分發(fā)系統(tǒng)難以滿足海量文件分發(fā)的需求的技術(shù)問題,達到了有效滿足海量文件分發(fā)的需求的技術(shù)效果。
顯然,本領(lǐng)域的技術(shù)人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實施例,本領(lǐng)域的技術(shù)人員將意識到各種改進、增加和取代也是可能的,因此,本發(fā)明的范圍應當不限于上述實施例。