專利名稱:數(shù)據(jù)傳輸方法及數(shù)據(jù)傳輸系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)路通信技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法及數(shù)據(jù)傳輸系統(tǒng)。
背景技術(shù):
在現(xiàn)今的網(wǎng)絡(luò)時代,人們的生活與網(wǎng)絡(luò)之間的關(guān)系越來越密切,人們可以通過網(wǎng) 絡(luò)滿意地找到所需要的各種信息,例如文字、圖片、視頻等等。而一副圖片的數(shù)字信息量是 很大的,以一副清晰的圖片為例,每幀有2Mbit,若要在網(wǎng)絡(luò)上以25 30幀/秒的傳輸速度 來傳輸,則需要50 60M的網(wǎng)絡(luò)帶寬,對于視頻傳輸來說,其信息量更大,若要快速地對視 頻信號進(jìn)行傳輸,所占用的網(wǎng)絡(luò)帶寬更多,而網(wǎng)絡(luò)總帶寬是有一定限制的,通過無限制地擴(kuò) 大網(wǎng)絡(luò)帶寬的方式無法從根本上解決視頻等高容量信息傳輸?shù)膯栴},如果能夠在不擴(kuò)大網(wǎng) 絡(luò)帶寬的情況下發(fā)展出高效的數(shù)據(jù)傳輸方法,不僅能節(jié)省費(fèi)用,而且能極大地適應(yīng)現(xiàn)有的 通信網(wǎng)絡(luò)。以傳輸網(wǎng)絡(luò)監(jiān)控視頻數(shù)據(jù)為例,利用網(wǎng)絡(luò)資源傳輸視頻,可以將視頻圖像傳輸?shù)?很遠(yuǎn)的地方,不受距離限制;網(wǎng)絡(luò)的應(yīng)用也給視頻監(jiān)控帶來了更多新穎的功能,完全可以 達(dá)到各種用戶專業(yè)化監(jiān)控的要求,在現(xiàn)有網(wǎng)絡(luò)視頻監(jiān)控的應(yīng)用中,在有多個用戶需要訪問 或者得到某份視頻監(jiān)控數(shù)據(jù)的情況下,是將這份視頻監(jiān)控數(shù)據(jù)同時向這些用戶所在的客戶 端發(fā)送,但在當(dāng)前的網(wǎng)絡(luò)條件下,這多路視頻信號在網(wǎng)絡(luò)中進(jìn)行傳輸,會經(jīng)常遇到帶寬過低 或者帶寬不穩(wěn)的問題,導(dǎo)致無法正常地傳輸連續(xù)的視頻圖像,使得畫面停頓、滯后感比較強(qiáng) 烈,無法達(dá)到實(shí)時觀看或者監(jiān)控的要求。另外一種情況則可能是,在遠(yuǎn)程監(jiān)控的情況下,需 要通過網(wǎng)絡(luò)直接訪問某個異地的視頻監(jiān)控數(shù)據(jù),由于距離過長,異地之間的網(wǎng)絡(luò)帶寬無法 滿足傳輸多路視頻數(shù)據(jù)的同時傳輸,影響實(shí)時監(jiān)控效果。此外,對于攝像頭等服務(wù)器端,需 要把多路信號同時向多個用戶請求端發(fā)送,在用戶請求端數(shù)目較多的情況下,服務(wù)器端的 處理量會急劇增大,從而影響到整個監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸性能。類似地,可以預(yù)見,在其他 的需要多個客戶端訪問同一個服務(wù)器端來獲得相同信息的情況下,也會存在網(wǎng)絡(luò)帶寬不 夠、服務(wù)器端處理量大的問題,對正常的數(shù)據(jù)傳輸帶來不利影響。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種數(shù)據(jù)傳輸方法及數(shù) 據(jù)傳輸系統(tǒng),其可以自動調(diào)整傳輸策略,提高數(shù)據(jù)傳輸效率。為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案一種數(shù)據(jù)傳輸方法,包括步驟服務(wù)器端接收請求客戶端的第一數(shù)據(jù)請求信息,判斷自身狀態(tài),在處于忙碌狀態(tài) 時,從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并將該空閑客戶端 的地址信息向所述請求客戶端發(fā)送;所述請求客戶端接收該空閑客戶端的地址信息,向該空閑客戶端發(fā)送第二數(shù)據(jù)請 求信息;
所述空閑客戶端接收該第二數(shù)據(jù)請求信息,將從所述服務(wù)器端接收的信息數(shù)據(jù)向 所述請求客戶端發(fā)送。一種數(shù)據(jù)傳輸系統(tǒng),包括服務(wù)器端以及兩個以上的客戶端所述服務(wù)器端,用于接收客戶端的第一數(shù)據(jù)請求信息,判斷自身狀態(tài),在處于忙碌 狀態(tài)時,從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并將該空閑客 戶端的地址信息向所述客戶端發(fā)送;所述客戶端,用于向所述服務(wù)器端發(fā)送所述第一數(shù)據(jù)請求信息,接收所述空閑客 戶端的地址信息,向該空閑客戶端發(fā)送第二數(shù)據(jù)請求信息,從所述空閑客戶端獲取該空閑 客戶端從服務(wù)器端接收的信息數(shù)據(jù)。根據(jù)上述本發(fā)明的方案,是服務(wù)器端在接收到客戶端的第一數(shù)據(jù)請求信息時,根 據(jù)自身當(dāng)前的運(yùn)行狀態(tài),在處于忙碌狀態(tài)的情況下,將與其連接的最空閑的空閑客戶端的 地址信息發(fā)送給客戶端,讓客戶端向該空閑客戶端請求數(shù)據(jù),由該空閑客戶端提供數(shù)據(jù)轉(zhuǎn) 發(fā)服務(wù),將空閑客戶端從服務(wù)器端接收到的信息數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端,自動調(diào)整輸出策略,減 少了服務(wù)器端的處理量,滿足了及時獲得信息數(shù)據(jù)的需求,提高了數(shù)據(jù)傳輸效率。
圖1是本發(fā)明的數(shù)據(jù)傳輸方法實(shí)施例的流程示意圖;圖2是在現(xiàn)有方式中將視頻信號傳給兩個客戶端的傳輸方式示意圖;圖3是本發(fā)明中將視頻信號傳給兩個客戶端的傳輸方式示意圖;圖4是本發(fā)明的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的根本思想,是在服務(wù)器端處于忙碌狀態(tài)時,可以藉由連接至該服務(wù)器端 的客戶端來實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)功能,自動調(diào)整輸出策略,減少服務(wù)器端的處理量,以滿足及時獲 得信息數(shù)據(jù)的需求,提高數(shù)據(jù)傳輸效率。參見圖1所示,是本發(fā)明的數(shù)據(jù)傳輸方法實(shí)施例的流程示意圖,其包括步驟步驟SlOl 服務(wù)器端接收到客戶端的第一數(shù)據(jù)請求信息,進(jìn)入步驟S102 ;步驟S102 服務(wù)器端對自身狀態(tài)進(jìn)行判斷,判斷自己是否處于空閑狀態(tài),如果不 是,則進(jìn)入步驟S103;步驟S103 從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并 將該空閑客戶端的地址信息向請求客戶端發(fā)送,進(jìn)入步驟S104 ;步驟S104:請求客戶端端接收該空閑客戶端的地址信息,并向該空閑客戶端發(fā)送 第二數(shù)據(jù)請求信息,進(jìn)入步驟S105 ;步驟S105 空閑客戶端接收該第二數(shù)據(jù)請求信息,將從服務(wù)器端接收的信息數(shù)據(jù) 向請求客戶端發(fā)送。依據(jù)本發(fā)明方案,服務(wù)器端可根據(jù)自身的空閑與忙碌狀態(tài)來自動調(diào)整傳輸策略, 不至于使服務(wù)器端的處理量多大,保證數(shù)據(jù)傳輸工作的正常進(jìn)行。針對上述本發(fā)明的方法,以下針對其中幾個具體的實(shí)現(xiàn)方式進(jìn)行詳細(xì)說明。實(shí)施例一
在本實(shí)施例中,假設(shè)有兩個客戶端需要向服務(wù)器端S請求信息數(shù)據(jù),分別記為第 一客戶端A、第二客戶端B,它們與服務(wù)器端S之間的數(shù)據(jù)傳輸過程可以是第一客戶端A向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S將 相應(yīng)的信息數(shù)據(jù)傳輸給第一客戶端A ;第二客戶端B向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己當(dāng)前的運(yùn)行狀態(tài)如果處于空閑狀態(tài),則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第二客戶端B,以傳輸 攝像頭采集的視頻信號為例,其傳輸狀態(tài)如圖2所示;如果處于忙碌狀態(tài),則服務(wù)器端S將第一客戶端A的地址信息發(fā)送給第二客戶端 B ;第二客戶端B接收到第一客戶端A的地址信息后,向該第一客戶端A發(fā)送數(shù)據(jù)請 求信息,第一客戶端A接收到該數(shù)據(jù)請求信息后,將接收到的服務(wù)器端S傳輸過來的信息數(shù) 據(jù)發(fā)送給第二客戶端B,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第一客戶端A向第二客戶端B 傳輸?shù)男畔?shù)據(jù)可以僅僅是在接收到第二客戶端B的數(shù)據(jù)請求信息之后、由服務(wù)器端傳輸 過來的信息數(shù)據(jù),以傳輸攝像頭采集的視頻信號為例,其傳輸狀態(tài)如圖3所示。其中,服務(wù)器端在判斷自己的運(yùn)行狀態(tài)時,可以通過下述方式來判定利用下述公式計算服務(wù)器端的運(yùn)行狀態(tài)值 式中,V表示運(yùn)行狀態(tài)值,是運(yùn)行狀況的量化值,bandwidth表示網(wǎng)絡(luò)帶寬的占用 率(當(dāng)前網(wǎng)絡(luò)延時時間與可接受的延時時間之比),delay表示網(wǎng)絡(luò)延時率,CPU表示CPU占 用率,memory 表示內(nèi)存占用率,wl、w2> w3> w4 分另Ij表示 bandwidth、delay> CPU、memory 對 運(yùn)行狀況的影響的占重比,表示對運(yùn)行狀況的影響的程度值,值越大說明影響也越大;在V大于或者等于該服務(wù)器端的預(yù)設(shè)參考值時,判定服務(wù)器端處于忙碌狀態(tài),在V 小于所述預(yù)設(shè)參考值時,判定服務(wù)器端處于空閑狀態(tài),且V值越小越空閑。實(shí)施例二 在本實(shí)施例中,以有三個客戶端需要向服務(wù)器端S請求信息數(shù)據(jù)、并由客戶端主 動向服務(wù)器端報告自己的運(yùn)行狀況進(jìn)行說明,將這三個客戶端分別記為第一客戶端A、第二 客戶端B、第三客戶端C,它們與服務(wù)器端S之間的數(shù)據(jù)傳輸過程可以是第一客戶端A向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S將 相應(yīng)的信息數(shù)據(jù)傳輸給第一客戶端A,第一客戶端A將自己的狀態(tài)信息發(fā)送給服務(wù)器端,以 報告自己的運(yùn)行狀況,且可以定時進(jìn)行更新;第二客戶端B向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己當(dāng)前的運(yùn)行狀態(tài)如果處于空閑狀態(tài),則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第二客戶端B ;如果處于忙碌狀態(tài),則服務(wù)器端S將第一客戶端A的地址信息發(fā)送給第二客戶端 B,第二客戶端B接收到第一客戶端A的地址信息后,向第一客戶端A發(fā)送數(shù)據(jù)請求信息,第 一客戶端A接收到該數(shù)據(jù)請求信息后,將接收到的服務(wù)器端S傳輸過來的信息數(shù)據(jù)發(fā)送給 第二客戶端B,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第一客戶端A向第二客戶端B傳輸?shù)臄?shù)
7據(jù)可以僅僅是在接收到第二客戶端B的數(shù)據(jù)請求信息之后、由服務(wù)器端傳輸過來的信息數(shù) 據(jù),第二客戶端B將自己的狀態(tài)信息發(fā)送給服務(wù)器端,以報告自己的運(yùn)行狀況,且可以定時 進(jìn)行更新;第三客戶端C向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己當(dāng)前的運(yùn)行狀態(tài)如果處于空閑狀態(tài),則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第三客戶端C ;如果處于忙碌狀態(tài),則服務(wù)器端S根據(jù)第一客戶端A、第二客戶端B的運(yùn)行狀態(tài),從 中選擇出最空閑的空閑客戶端,假設(shè)為第二客戶端B,則服務(wù)器端S將該第二客戶端B的地 址信息發(fā)送給第三客戶端C,第三客戶端C接收到第二客戶端B的地址信息后,向該第二客 戶端B發(fā)送數(shù)據(jù)請求信息,第二客戶端B接收到該數(shù)據(jù)請求信息后,將接收到的由第一客戶 端S轉(zhuǎn)發(fā)過來的信息數(shù)據(jù)發(fā)送給第三客戶端C,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第二客 戶端B向第三客戶端C傳輸?shù)男畔?shù)據(jù)可以僅僅是在接收到第三客戶端C的數(shù)據(jù)請求信息 之后、由第一客戶端A傳輸過來的信息數(shù)據(jù)。其中,服務(wù)器端判斷自己的運(yùn)行狀態(tài)的方式可以與上述實(shí)施例一中的相同。此外,在判斷各客戶端的運(yùn)行狀態(tài)時,可以采用與判斷服務(wù)器端的運(yùn)行狀態(tài)時相 同的方式,即可以通過下述方式來判定利用下述公式計算客戶端的運(yùn)行狀態(tài)值 式中,V表示運(yùn)行狀態(tài)值,是運(yùn)行狀況的量化值,bandwidth表示網(wǎng)絡(luò)帶寬的占用 率(當(dāng)前網(wǎng)絡(luò)延時時間與可接受的延時時間之比),delay表示網(wǎng)絡(luò)延時率,CPU表示CPU占 用率,memory 表示內(nèi)存占用率,wl> w2> w3> w4 分另Ij表示 bandwidth、delay> CPU、memory 對 運(yùn)行狀況的影響的占重比,表示對運(yùn)行狀況的影響的程度值,值越大說明影響也越大;在V大于或者等于該客戶端的預(yù)設(shè)參考閾值時,判定客戶端處于忙碌狀態(tài),在V小 于該預(yù)設(shè)參考閾值時,判定該客戶端處于空閑狀態(tài),且V值越小越空閑。其中,服務(wù)器端的預(yù)設(shè)參考值、客戶端的預(yù)設(shè)參考閾值可以設(shè)定為相同值,也可以 分別進(jìn)行設(shè)定。在計算得到各客戶端的運(yùn)行狀態(tài)值V之后,將V值最小的客戶端確定為空閑客戶 端,由其提供數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)。另外,客戶端(例如上述第一客戶端A、第二客戶端B)向服務(wù)器端S發(fā)送的狀態(tài) 信息,可以是其自身當(dāng)前的運(yùn)行狀況,包括但不限于網(wǎng)絡(luò)流量所占用帶寬的比例、數(shù)據(jù)包的 延時時間、CPU的占有率、內(nèi)存的占有率,此時,可以由服務(wù)器端S在接收到這些信息之后, 再分別計算出各客戶端的運(yùn)行狀態(tài)值并進(jìn)行比較。此外,也可以是由各客戶端分別計算出 自己的運(yùn)行狀態(tài)值,然后將計算得出的運(yùn)行狀態(tài)值發(fā)送給服務(wù)器端,此時,其向服務(wù)器端S 發(fā)送的狀態(tài)信息則是其計算出來的自身的運(yùn)行狀態(tài)值,服務(wù)器端S接收后直接進(jìn)行比較即 可。由服務(wù)器端S統(tǒng)一計算的方式可以實(shí)現(xiàn)同步化操作,便于統(tǒng)一管理,出于管理便利的需 要,通??梢圆捎梅?wù)器端S統(tǒng)一計算的方式來進(jìn)行。實(shí)施例三與上述實(shí)施例二的不同之處在于,本實(shí)施例中以有三個客戶端需要向服務(wù)器端S請求信息數(shù)據(jù)、并服務(wù)器端向客戶端發(fā)送狀態(tài)查詢信息、客戶端再向服務(wù)器端返回自己的 狀態(tài)信息進(jìn)行說明,將這三個客戶端分別記為第一客戶端A、第二客戶端B、第三客戶端C, 它們與服務(wù)器端S之間的數(shù)據(jù)傳輸過程可以是第一客戶端A向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S將 相應(yīng)的信息數(shù)據(jù)傳輸給第一客戶端A ;第二客戶端B向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己當(dāng)前的運(yùn)行狀態(tài)如果處于空閑狀態(tài),則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第二客戶端B ;如果處于忙碌狀態(tài),則服務(wù)器端S將第一客戶端A的地址信息發(fā)送給第二客戶端 B,第二客戶端B接收到第一客戶端A的地址信息后,向該第一客戶端A發(fā)送數(shù)據(jù)請求信息, 第一客戶端A接收到該數(shù)據(jù)請求信息后,將接收到的服務(wù)器端S傳輸過來的信息數(shù)據(jù)發(fā)送 給第二客戶端B,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第一客戶端A向第二客戶端B傳輸?shù)?信息數(shù)據(jù)可以僅僅是在接收到第二客戶端B的數(shù)據(jù)請求信息之后、由服務(wù)器端傳輸過來的 信息數(shù)據(jù);第三客戶端C向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S接 收到該數(shù)據(jù)請求信息后,判斷自己當(dāng)前的運(yùn)行狀態(tài)如果處于空閑狀態(tài),則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第三客戶端C ;如果處于忙碌狀態(tài),則服務(wù)器端S向第一客戶端A、第二客戶端B發(fā)送狀態(tài)查詢信 息,第一客戶端A、第二客戶端B接收到該狀態(tài)查詢信息后,分別向該服務(wù)器端S返回自己的 狀態(tài)信息,服務(wù)器端S根據(jù)第一客戶端A、第二客戶端B的狀態(tài)信息,從中選擇出最空閑的空 閑客戶端,假設(shè)為第二客戶端B,則服務(wù)器端S將該第二客戶端B的地址信息發(fā)送給第三客 戶端C;第三客戶端C接收到第二客戶端B的地址信息后,向該第二客戶端B發(fā)送數(shù)據(jù)請 求信息,第二客戶端B接收到該數(shù)據(jù)請求信息后,將接收到的由第一客戶端S轉(zhuǎn)發(fā)過來的信 息數(shù)據(jù)發(fā)送給第三客戶端C,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第二客戶端B向第三客戶 端C傳輸?shù)臄?shù)據(jù)可以僅僅是在接收到第三客戶端C的數(shù)據(jù)請求信息之后、由第一客戶端A 傳輸過來的信息數(shù)據(jù)。本實(shí)施例中的其他技術(shù)特征與上述實(shí)施例二中的相同,在此不予贅述。在上述各實(shí)施例的說明中,均是以在服務(wù)器端S處于忙碌狀態(tài)的情況下從已連接 的客戶端中選擇一個最空閑的空閑客戶端來進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)、以及在服務(wù)器端S處于空閑狀 態(tài)下直接由服務(wù)器端S傳輸數(shù)據(jù)來進(jìn)行說明。出于對數(shù)據(jù)的高效傳輸?shù)目紤],也可以是綜 合服務(wù)器端S與各客戶端的運(yùn)行狀態(tài)來確定由誰來給新加入的客戶端來傳輸數(shù)據(jù),即對服 務(wù)器端S以及各客戶端的運(yùn)行狀態(tài)值均進(jìn)行大小的比較,如果服務(wù)器端S的運(yùn)行狀態(tài)值最 小,則由服務(wù)器端S直接給該新加入的客戶端傳輸數(shù)據(jù),如果某個客戶端的運(yùn)行狀態(tài)值最 小,則將該客戶端確定為空閑客戶端,并由該空閑客戶端為該新加入的客戶端提供數(shù)據(jù)轉(zhuǎn) 發(fā)服務(wù)。實(shí)施例四在本實(shí)施例中,以有三個客戶端需要向服務(wù)器端S請求信息數(shù)據(jù)、各客戶端主動 向服務(wù)器端報告自己的運(yùn)行狀態(tài)、并從服務(wù)器端和各已接入的客戶端中選擇最空閑的個體來傳輸數(shù)據(jù)來進(jìn)行說明,將這三個客戶端分別記為第一客戶端A、第二客戶端B、第三客戶 端C,它們與服務(wù)器端S之間的數(shù)據(jù)傳輸過程可以是第一客戶端A向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S將 相應(yīng)的信息數(shù)據(jù)傳輸給第一客戶端A,第一客戶端A將自己的狀態(tài)信息發(fā)送給服務(wù)器端,以 報告自己的運(yùn)行狀況,且可以定時進(jìn)行更新;第二客戶端B向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己以及第一客戶端A的空閑狀態(tài)如果服務(wù)器端S比第一客戶端A空閑,則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第 二客戶端B;如果第一客戶端A比服務(wù)器端S空閑,則服務(wù)器端S將第一客戶端A的地址信息 發(fā)送給第二客戶端B,第二客戶端B接收到第一客戶端A的地址信息后,向該第一客戶端A 發(fā)送數(shù)據(jù)請求信息,第一客戶端A接收到該數(shù)據(jù)請求信息后,將接收到的服務(wù)器端S傳輸過 來的信息數(shù)據(jù)發(fā)送給第二客戶端B,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第一客戶端A向第 二客戶端B傳輸?shù)臄?shù)據(jù)可以僅僅是在接收到第二客戶端B的數(shù)據(jù)請求信息之后、由服務(wù)器 端S傳輸過來的信息數(shù)據(jù);第二客戶端B將自己的狀態(tài)信息發(fā)送給服務(wù)器端S,以報告自己的運(yùn)行狀況,且可 以定時進(jìn)行更新;第三客戶端C向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,判斷自己、第一客戶端A以及第二客戶端B的運(yùn)行狀態(tài)如果服務(wù)器端S最空閑,則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第三客戶端C ;如果其中的某個客戶端最空閑,假設(shè)第二客戶端B最空閑,則服務(wù)器端S將該第二 客戶端B的地址信息發(fā)送給第三客戶端C,第三客戶端C接收到第二客戶端B的地址信息 后,向該第二客戶端B發(fā)送數(shù)據(jù)請求信息,第二客戶端B接收到該數(shù)據(jù)請求信息后,將接收 到的由服務(wù)器端S傳輸過來的信息數(shù)據(jù)、或者由第一客戶端S轉(zhuǎn)發(fā)過來的信息數(shù)據(jù)發(fā)送給 第三客戶端C,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第二客戶端B向第三客戶端C傳輸?shù)臄?shù) 據(jù)可以僅僅是在接收到第三客戶端C的數(shù)據(jù)請求信息之后、由服務(wù)器端S或者第一客戶端 A傳輸過來的信息數(shù)據(jù)。其中,服務(wù)器端判斷自己的運(yùn)行狀態(tài)的方式、以及判斷客戶端的運(yùn)行狀態(tài)、判定誰 最空閑的方式等其他技術(shù)特征可以與上述實(shí)施例三中的相同,在此不予贅述。實(shí)施例五 本實(shí)施例與上述實(shí)施例四的不同之處在于,本實(shí)施例中是以有三個客戶端需要向 服務(wù)器端S請求信息數(shù)據(jù)、服務(wù)器端向客戶端發(fā)送狀態(tài)查詢信息后客戶端再向服務(wù)器端返 回自己的運(yùn)行狀況、并從服務(wù)器端和各已接入的客戶端中選擇最空閑的個體來傳輸數(shù)據(jù)來 進(jìn)行說明,將這三個客戶端分別記為第一客戶端A、第二客戶端B、第三客戶端C,它們與服 務(wù)器端S之間的數(shù)據(jù)傳輸過程可以是第一客戶端A向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端S將 相應(yīng)的信息數(shù)據(jù)傳輸給第一客戶端A ;第二客戶端B向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,向第一客戶端A發(fā)送狀態(tài)查詢信息,第一客戶端A接收到該狀態(tài)查詢信息后,向服務(wù)器端S返回自己的狀態(tài)信息,服務(wù)器端S根據(jù)自身的運(yùn)行狀況、以及第一客 戶端A的狀態(tài)信息,判斷自己以及第一客戶端A的空閑狀態(tài)如果服務(wù)器端S比第一客戶端A空閑,則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第 二客戶端B;如果第一客戶端A比服務(wù)器端S空閑,則服務(wù)器端S將第一客戶端A的地址信息 發(fā)送給第二客戶端B,第二客戶端B接收到第一客戶端A的地址信息后,向該第一客戶端A 發(fā)送數(shù)據(jù)請求信息,第一客戶端A接收到該數(shù)據(jù)請求信息后,將接收到的服務(wù)器端S傳輸過 來的信息數(shù)據(jù)發(fā)送給第二客戶端B,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第一客戶端A向第 二客戶端B傳輸?shù)男畔?shù)據(jù)可以僅僅是在接收到第二客戶端B的數(shù)據(jù)請求信息之后、由服 務(wù)器端S傳輸過來的信息數(shù)據(jù);第三客戶端C向服務(wù)器端S發(fā)送數(shù)據(jù)請求信息,請求獲得信息數(shù)據(jù),服務(wù)器端接收 到該數(shù)據(jù)請求信息后,向第一客戶端A、第二客戶端B發(fā)送狀態(tài)查詢信息,第一客戶端A、第 二客戶端B接收到該狀態(tài)查詢信息后,分別向該服務(wù)器端S返回自己的狀態(tài)信息,服務(wù)器端 S根據(jù)自身的運(yùn)行狀況、以及第一客戶端A、第二客戶端B的狀態(tài)信息,判斷自己、第一客戶 端A以及第二客戶端B的運(yùn)行狀態(tài)如果服務(wù)器端S最空閑,則服務(wù)器端S將相應(yīng)的信息數(shù)據(jù)傳輸給第三客戶端C ;如果其中的某個客戶端最空閑,假設(shè)第二客戶端B最空閑,則服務(wù)器端S將該第二 客戶端B的地址信息發(fā)送給第三客戶端C,第三客戶端C接收到第二客戶端B的地址信息 后,向該第二客戶端B發(fā)送數(shù)據(jù)請求信息,第二客戶端B接收到該數(shù)據(jù)請求信息后,將接收 到的由服務(wù)器端傳輸過來的信息數(shù)據(jù)、或者由第一客戶端S轉(zhuǎn)發(fā)過來的信息數(shù)據(jù)發(fā)送給第 三客戶端C,在實(shí)時獲得信息數(shù)據(jù)的應(yīng)用狀態(tài)下,第二客戶端B向第三客戶端C傳輸?shù)臄?shù)據(jù) 可以僅僅是在接收到第三客戶端C的數(shù)據(jù)請求信息之后、由服務(wù)器端或者第一客戶端A傳 輸過來的信息數(shù)據(jù)。本實(shí)施例中的其他技術(shù)特征與上述實(shí)施例四中的相同,在此不予贅述。在上述各實(shí)施例對本發(fā)明的數(shù)據(jù)傳輸方法的說明中,僅僅是以存在兩個客戶端、 三個客戶端的情況進(jìn)行了說明,在存在更多數(shù)目的情況下,依據(jù)相同的處理方式,服務(wù)器端 S會根據(jù)自身狀態(tài)、以及已經(jīng)連接和接收數(shù)據(jù)的各客戶端的運(yùn)行狀況,對新加入的客戶端進(jìn) 行資源分配,以使得每個新加入的客戶端都能夠流暢、高效的接收信息數(shù)據(jù),實(shí)現(xiàn)高效率的 數(shù)據(jù)傳輸。此外,無論采用上述何種傳輸策略,在數(shù)據(jù)傳輸?shù)倪^程中,也可以根據(jù)各客戶端以 及服務(wù)器端S的運(yùn)行狀態(tài),實(shí)時調(diào)整服務(wù)器端S以及各客戶端之間的數(shù)據(jù)傳輸關(guān)系,具體的 調(diào)整方式在此不予多加敘述。根據(jù)上述本發(fā)明的數(shù)據(jù)傳輸方法,本發(fā)明還提供一種數(shù)據(jù)傳輸系統(tǒng),本發(fā)明的數(shù) 據(jù)傳輸系統(tǒng),其包括服務(wù)器端以及兩個以上的客戶端,其中該服務(wù)器端,用于接收客戶端的第一數(shù)據(jù)請求信息,判斷自身狀態(tài),在處于忙碌狀 態(tài)時,從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并將該空閑客戶 端的地址信息向所述客戶端發(fā)送;客戶端,用于向服務(wù)器端發(fā)送所述第一數(shù)據(jù)請求信息,接收所述空閑客戶端的地 址信息,向該空閑客戶端發(fā)送第二數(shù)據(jù)請求信息,從所述空閑客戶端獲取該空閑客戶端從服務(wù)器端接收的信息數(shù)據(jù)。依據(jù)本發(fā)明方案,服務(wù)器端可根據(jù)自身的空閑與忙碌狀態(tài)來自動調(diào)整傳輸策略, 不至于使服務(wù)器端的處理量多大,保證數(shù)據(jù)傳輸工作的正常進(jìn)行。參見圖4所示,是本發(fā)明的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖,在本示例中,是以 具有兩個客戶端進(jìn)行說明,所述服務(wù)器端具體包括服務(wù)器接收單元,用于接收各客戶端發(fā)送的所述第一數(shù)據(jù)請求;狀態(tài)判斷單元,用于判斷自身狀態(tài),并在處于忙碌狀態(tài)時,從連接至該服務(wù)器端的 各客戶端中選擇一個最空閑的空閑客戶端;服務(wù)器發(fā)送單元,用于將信息數(shù)據(jù)向客戶端發(fā)送,還用于將所述空閑客戶端的地 址信息向所述客戶端發(fā)送;所述客戶端具體包括客戶端發(fā)送單元,用于向所述服務(wù)器端發(fā)送所述第一數(shù)據(jù)請求信息,向所述空閑 客戶端發(fā)送第二數(shù)據(jù)請求信息,還用于將該客戶端的狀態(tài)信息向所述服務(wù)器端發(fā)送,還用 于將接收單元接收的信息數(shù)據(jù)向連接至該客戶端的客戶端轉(zhuǎn)發(fā);客戶端接收單元,用于接收所述服務(wù)器端發(fā)送的信息數(shù)據(jù),還用于接收所述服務(wù) 器端發(fā)送的所述空閑客戶端的地址信息,接收所述空閑客戶端發(fā)送的信息數(shù)據(jù)。此外,在服務(wù)器端處于空閑狀態(tài)時,服務(wù)器端可將信息數(shù)據(jù)直接向所述客戶端發(fā) 送。在另外一種實(shí)施情況下,還可以是由服務(wù)器端還可以比較服務(wù)器端以及連接至該 服務(wù)器端的各客戶端的空閑狀態(tài),當(dāng)服務(wù)器端最空閑時,將信息數(shù)據(jù)向所述請求客戶端發(fā) 送;當(dāng)連接至該服務(wù)器端的空閑客戶端最空閑時,將該空閑客戶端的地址信息向所述客戶 端發(fā)送。另外,客戶端還可以定期向所述服務(wù)器端報告自身的狀態(tài)信息;所述服務(wù)器端根 據(jù)各客戶端的狀態(tài)信息選擇空閑客戶端?;蛘咭部梢允窃诜?wù)器端向連接至該服務(wù)器端的 各客戶端發(fā)送狀態(tài)查詢信息后,各客戶端再向服務(wù)器端返回自己的狀態(tài)信息,服務(wù)器端再 根據(jù)各客戶端的狀態(tài)信息選擇空閑客戶端。其中,本發(fā)明的數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)傳輸策略的調(diào)整方式、以及判斷服務(wù)器端是 否空閑、以及確定空閑服務(wù)器的方式等等的具體實(shí)現(xiàn)方式可參考上述本發(fā)明的數(shù)據(jù)傳輸方 法所述,在此不予贅述。上述本發(fā)明的數(shù)據(jù)傳輸系統(tǒng),可以較佳地適用于各客戶端需要訪問相同數(shù)據(jù)內(nèi)容 的領(lǐng)域,例如視頻監(jiān)控領(lǐng)域,此時,本發(fā)明的數(shù)據(jù)傳輸系統(tǒng)為視頻監(jiān)控系統(tǒng)。以上所述的本發(fā)明實(shí)施方式,僅僅是對本發(fā)明的具體實(shí)施方式
的詳細(xì)說明,并不 構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和 改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
權(quán)利要求
一種數(shù)據(jù)傳輸方法,其特征在于,包括步驟服務(wù)器端接收請求客戶端的第一數(shù)據(jù)請求信息,判斷自身狀態(tài),在處于忙碌狀態(tài)時,從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并將該空閑客戶端的地址信息向所述請求客戶端發(fā)送;所述請求客戶端接收該空閑客戶端的地址信息,向該空閑客戶端發(fā)送第二數(shù)據(jù)請求信息;所述空閑客戶端接收該第二數(shù)據(jù)請求信息,將從所述服務(wù)器端接收的信息數(shù)據(jù)向所述請求客戶端發(fā)送。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于在所述服務(wù)器端處于空閑狀態(tài)時,所述服務(wù)器端將信息數(shù)據(jù)向所述請求客戶端發(fā)送; 或者在所述服務(wù)器端處于空閑狀態(tài)時,所述服務(wù)器端比較服務(wù)器端以及連接至該服務(wù)器端 的各客戶端的空閑狀態(tài)當(dāng)服務(wù)器端最空閑時,所述服務(wù)器端將信息數(shù)據(jù)向所述請求客戶端發(fā)送; 當(dāng)連接至該服務(wù)器端的客戶端最空閑時,將該客戶端確定為空閑客戶端,并將該空閑 客戶端的地址信息向所述請求客戶端發(fā)送;所述請求客戶端接收該空閑客戶端的地址信 息,向該空閑客戶端發(fā)送第三數(shù)據(jù)請求信息;所述空閑客戶端接收該第三數(shù)據(jù)請求信息,將 從所述服務(wù)器端接收的信息數(shù)據(jù)向所述請求客戶端發(fā)送。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)傳輸方法,其特征在于連接至所述服務(wù)器的各客戶端定期向所述服務(wù)器端報告自身的狀態(tài)信息,所述服務(wù)器 端根據(jù)各客戶端的狀態(tài)信息選擇空閑客戶端; 或者在所述服務(wù)器端判斷得出處于忙碌狀態(tài)時,向連接至該服務(wù)器端的各客戶端發(fā)送狀態(tài) 查詢信息,各客戶端分別向該服務(wù)器端發(fā)送狀態(tài)信息,所述服務(wù)器端根據(jù)各客戶端的狀態(tài) 信息選擇空閑客戶端。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于所述狀態(tài)信息包括網(wǎng)絡(luò)帶寬的占用率、網(wǎng)絡(luò)延時率、CPU占用率、內(nèi)存占用率,所述服務(wù) 器端選擇空閑客戶端的方式包括采用下述公式計算各客戶端的運(yùn)行狀態(tài) 式中,V表示運(yùn)行狀態(tài)值,bandwidth表示網(wǎng)絡(luò)帶寬的占用率,delay表示網(wǎng)絡(luò)延時率, CPU表示CPU占用率,memory表示內(nèi)存占用率,wl、w2、w3、w4分別表示bandwidth、delay、 CPU、memory對運(yùn)行狀況的影響的占重比;在V大于或者等于該客戶端對應(yīng)的預(yù)設(shè)參考閾值時,判定該客戶端處于忙碌狀態(tài),在V 小于所述預(yù)設(shè)參考閾值時,判定該客戶端處于空閑狀態(tài); 將處于空閑狀態(tài)、且V值最小的客戶端作為空閑客戶端; 或者所述狀態(tài)信息包括該客戶端的運(yùn)行狀態(tài)值,所述服務(wù)器端根據(jù)各客戶端的運(yùn)行狀態(tài)值,判斷各客戶端的運(yùn)行狀態(tài),并將處于空閑狀態(tài)、且運(yùn)行狀態(tài)值最小的客戶端確定為空閑 客戶端;各所述客戶端采用下述公式計算運(yùn)行狀態(tài)值 式中,V表示運(yùn)行狀態(tài)值,bandwidth表示網(wǎng)絡(luò)帶寬的占用率,delay表示網(wǎng)絡(luò)延時率, CPU表示CPU占用率,memory表示內(nèi)存占用率,wl、w2、w3、w4分另Ij表示bandwidth、delay、 CPU、memory對運(yùn)行狀況的影響的占重比;在V大于或者等于該客戶端對應(yīng)的預(yù)設(shè)參考閾值時,判定該客戶端處于忙碌狀態(tài),在V 小于所述預(yù)設(shè)參考閾值時,判定該客戶端處于空閑狀態(tài)。
5.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)傳輸方法,其特征在于,所述服務(wù)器端判斷自身狀態(tài) 的方式包括采用下述公式計算自身的運(yùn)行狀態(tài)值 式中,V表示運(yùn)行狀態(tài)值,bandwidth表示網(wǎng)絡(luò)帶寬的占用率,delay表示網(wǎng)絡(luò)延時率, CPU表示CPU占用率,memory表示內(nèi)存占用率,wl、w2、w3、w4分另Ij表示bandwidth、delay、 CPU、memory對運(yùn)行狀況的影響的占重比;在V大于或者等于該服務(wù)器端的預(yù)設(shè)參考值時,判定服務(wù)器端處于忙碌狀態(tài),在V小于 所述預(yù)設(shè)參考值時,判定服務(wù)器端處于空閑狀態(tài)。
6.一種數(shù)據(jù)傳輸系統(tǒng),包括服務(wù)器端以及兩個以上的客戶端,其特征在于所述服務(wù)器端,用于接收客戶端的第一數(shù)據(jù)請求信息,判斷自身狀態(tài),在處于忙碌狀態(tài) 時,從連接至該服務(wù)器端的各客戶端中選擇一個最空閑的空閑客戶端,并將該空閑客戶端 的地址信息向所述客戶端發(fā)送;所述客戶端,用于向所述服務(wù)器端發(fā)送所述第一數(shù)據(jù)請求信息,接收所述空閑客戶端 的地址信息,向該空閑客戶端發(fā)送第二數(shù)據(jù)請求信息,從所述空閑客戶端獲取該空閑客戶 端從服務(wù)器端接收的信息數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述服務(wù)器端,還用于在處于空閑狀態(tài)時,將信息數(shù)據(jù)直接向所述客戶端發(fā)送。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述服務(wù)器端,還用于在處于空閑狀態(tài)時,比較服務(wù)器端以及連接至該服務(wù)器端的各 客戶端的空閑狀態(tài),當(dāng)服務(wù)器端最空閑時,將信息數(shù)據(jù)向所述請求客戶端發(fā)送;當(dāng)連接至該 服務(wù)器端的空閑客戶端最空閑時,將該空閑客戶端的地址信息向所述客戶端發(fā)送。
9.根據(jù)權(quán)利要求6或7或8所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述客戶端,還用于定期向所述服務(wù)器端報告自身的狀態(tài)信息;所述服務(wù)器端根據(jù)各 客戶端的狀態(tài)信息選擇空閑客戶端;或者所述服務(wù)器端,還用于在判斷得出處于忙碌狀態(tài)時,向連接至該服務(wù)器端的各客戶端 發(fā)送狀態(tài)查詢信息;各所述客戶端,還用于在接收到所述狀態(tài)查詢信息時,向所述服務(wù)器端發(fā)送狀態(tài)信息;所述服務(wù)器端根據(jù)各客戶端的狀態(tài)信息選擇空閑客戶端。
10.根據(jù)權(quán)利要求6或7或8所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸系統(tǒng)為 視頻監(jiān)控系統(tǒng)。
全文摘要
一種數(shù)據(jù)傳輸方法以及數(shù)據(jù)傳輸系統(tǒng),其是服務(wù)器端在接收到客戶端的數(shù)據(jù)請求信息時,根據(jù)自身當(dāng)前的運(yùn)行狀態(tài),在處于忙碌狀態(tài)的情況下,將與其連接的最空閑的空閑客戶端的地址信息發(fā)送給客戶端,讓客戶端向該空閑客戶端請求數(shù)據(jù),由該空閑客戶端提供數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù),將空閑客戶端從服務(wù)器端接收到的信息數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端,自動調(diào)整輸出策略,減少了服務(wù)器端的處理量,滿足了及時獲得信息數(shù)據(jù)的需求,提高了數(shù)據(jù)傳輸效率。
文檔編號H04N7/18GK101917406SQ20101023412
公開日2010年12月15日 申請日期2010年7月22日 優(yōu)先權(quán)日2010年7月22日
發(fā)明者馮海勇, 曾昭興, 白昀斌, 董友球 申請人:廣東威創(chuàng)視訊科技股份有限公司