国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種流數(shù)據(jù)的并發(fā)傳輸方法和裝置與流程

      文檔序號(hào):12494806閱讀:266來(lái)源:國(guó)知局
      一種流數(shù)據(jù)的并發(fā)傳輸方法和裝置與流程

      本發(fā)明涉及流數(shù)據(jù)傳輸技術(shù)領(lǐng)域,具體涉及一種流數(shù)據(jù)的并發(fā)傳輸方法以及一種流數(shù)據(jù)的并發(fā)傳輸裝置。



      背景技術(shù):

      流數(shù)據(jù)為可以采用流式傳輸?shù)姆绞皆诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù),大型網(wǎng)站系統(tǒng)經(jīng)常依賴(lài)于內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)對(duì)流數(shù)據(jù)進(jìn)行傳輸,內(nèi)容分發(fā)網(wǎng)絡(luò)是通過(guò)在現(xiàn)有的網(wǎng)絡(luò)中增加一層新的網(wǎng)絡(luò)結(jié)構(gòu),使用戶(hù)可以將數(shù)據(jù)傳輸?shù)骄徒墓?jié)點(diǎn)上或從就近的節(jié)點(diǎn)獲取所需的數(shù)據(jù)。在內(nèi)容分發(fā)網(wǎng)絡(luò)中,部署有傳輸節(jié)點(diǎn),用于緩沖流數(shù)據(jù),就近給用戶(hù)提供服務(wù)。

      在內(nèi)容分發(fā)網(wǎng)絡(luò)中的傳輸節(jié)點(diǎn)上,如果對(duì)于同一流數(shù)據(jù)存在多個(gè)連接,通常為每個(gè)連接隨機(jī)分配一個(gè)線程,讓其建立連接進(jìn)行流數(shù)據(jù)的傳輸,以此來(lái)實(shí)現(xiàn)并發(fā)傳輸流數(shù)據(jù)。

      然而在多個(gè)連接的情況下,接收流數(shù)據(jù)的線程就需要將流數(shù)據(jù)轉(zhuǎn)發(fā)到多個(gè)連接所在的線程,線程間通信性能消耗大,且響應(yīng)時(shí)間增長(zhǎng)。



      技術(shù)實(shí)現(xiàn)要素:

      鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種流數(shù)據(jù)的并發(fā)傳輸方法和相應(yīng)的裝置。

      依據(jù)本發(fā)明的一個(gè)方面,提供了一種流數(shù)據(jù)的并發(fā)傳輸方法,包括:

      分配第一類(lèi)線程接收流數(shù)據(jù),每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù);

      接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù);

      創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù);

      調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      可選地,在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,所述方法還包括:

      調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      可選地,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      可選地,在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,所述方法還包括:

      識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      可選地,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      可選地,若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      可選地,所述方法還包括:

      若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸包括:

      從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;

      調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      可選地,若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      可選地,所述方法還包括:

      若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述方法還包括:

      若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      可選地,所述方法還包括:

      若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      可選地,所述方法還包括:

      若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述方法還包括:

      若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      可選地,在所述創(chuàng)建所述第一類(lèi)線程分別與各個(gè)傳輸目的端之間的傳輸通道之后,所述方法還包括:

      根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      可選地,所述分配第一類(lèi)線程接收流數(shù)據(jù)包括:

      針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      根據(jù)本發(fā)明的另一方面,提供了一種流數(shù)據(jù)的并發(fā)傳輸裝置,包括:

      線程分配模塊,用于分配第一類(lèi)線程接收流數(shù)據(jù),每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù);

      傳輸任務(wù)確定模塊,用于接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù);

      傳輸通道創(chuàng)建模塊,用于創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù);

      傳輸任務(wù)調(diào)用模塊,用于調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      可選地,所述裝置還包括:

      傳輸請(qǐng)求接收模塊,用于在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      可選地,所述裝置還包括:

      傳輸任務(wù)發(fā)送模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      可選地,所述裝置還包括:

      流數(shù)據(jù)識(shí)別模塊,用于在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      可選地,所述裝置還包括:

      線程判斷模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      可選地,所述裝置還包括:

      第一條件判定模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      可選地,所述裝置還包括:

      第三線程創(chuàng)建模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述第三線程創(chuàng)建模塊包括:

      第三線程選取子模塊,用于從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;

      流數(shù)據(jù)獲取子模塊,用于調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      可選地,所述裝置還包括:

      第一條件滿(mǎn)足模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      可選地,所述裝置還包括:

      第三線程調(diào)用模塊,用于若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述裝置還包括:

      線程隨機(jī)模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      可選地,所述裝置還包括:

      第二條件滿(mǎn)足模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      可選地,所述裝置還包括:

      第三線程調(diào)用模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      可選地,所述裝置還包括:

      第三創(chuàng)建模塊,用于若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      可選地,所述裝置還包括:

      個(gè)數(shù)更新模塊,用于在所述創(chuàng)建所述第一類(lèi)線程分別與各個(gè)傳輸目的端之間的傳輸通道之后,根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      可選地,所述線程分配模塊,具體用于針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      根據(jù)本發(fā)明的一種流數(shù)據(jù)的并發(fā)傳輸方法和裝置通過(guò)分配第一類(lèi)線程接收流數(shù)據(jù),接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù),創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。使得將流數(shù)據(jù)傳輸至傳輸目的端直接是在接收流數(shù)據(jù)的線程上完成,避免了接收流數(shù)據(jù)的線程要向多個(gè)發(fā)送流數(shù)據(jù)的線程轉(zhuǎn)發(fā)流數(shù)據(jù)的問(wèn)題,減少了線程間轉(zhuǎn)發(fā)數(shù)據(jù)帶來(lái)的性能消耗,同時(shí)也減少了響應(yīng)時(shí)間。

      上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

      附圖說(shuō)明

      通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

      圖1示出了根據(jù)本發(fā)明實(shí)施例一的一種流數(shù)據(jù)的并發(fā)傳輸方法的步驟流程圖示意圖;

      圖2示出了根據(jù)本發(fā)明實(shí)施例二的一種流數(shù)據(jù)的并發(fā)傳輸方法的步驟流程圖示意圖;

      圖3示出了根據(jù)本發(fā)明實(shí)施例三的一種流數(shù)據(jù)的并發(fā)傳輸裝置的結(jié)構(gòu)框圖。

      具體實(shí)施方式

      下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

      參見(jiàn)圖1,示出了根據(jù)本發(fā)明實(shí)施例一的一種流數(shù)據(jù)的并發(fā)傳輸方法的步驟流程圖示意圖,具體可以包括如下步驟:

      步驟101,分配第一類(lèi)線程接收流數(shù)據(jù)。

      流數(shù)據(jù)為可以采用流式傳輸?shù)姆绞皆诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù),流數(shù)據(jù)可以在客戶(hù)端或服務(wù)器等網(wǎng)絡(luò)設(shè)備間傳輸。在多線程環(huán)境下,需要分配相同或不同線程來(lái)處理流數(shù)據(jù)的接收、發(fā)送、存儲(chǔ)等任務(wù),來(lái)實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)。

      在本發(fā)明實(shí)施例中,線程根據(jù)執(zhí)行的不同任務(wù)被分為幾類(lèi),其中,在線程池中分配線程來(lái)執(zhí)行接收流數(shù)據(jù)的任務(wù),將這種執(zhí)行接收流數(shù)據(jù)任務(wù)的線程稱(chēng)為第一類(lèi)線程,并且每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù)。

      例如,在視頻直播領(lǐng)域,利用內(nèi)容分發(fā)網(wǎng)絡(luò)來(lái)提供高性能、可擴(kuò)展性及低成本的網(wǎng)絡(luò)內(nèi)容傳遞給用戶(hù)。在內(nèi)容分發(fā)網(wǎng)絡(luò)中的用于傳輸流數(shù)據(jù)的服務(wù)器上,可以同時(shí)有多個(gè)接收流數(shù)據(jù)的任務(wù),當(dāng)有流數(shù)據(jù)接收請(qǐng)求被響應(yīng),分配一個(gè)第一類(lèi)線程用于接收流數(shù)據(jù),具體可以是在分配的第一類(lèi)線程上執(zhí)行與流數(shù)據(jù)發(fā)送端建立連接,并接收傳輸來(lái)的流數(shù)據(jù)。

      步驟102,接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)。

      傳輸請(qǐng)求為對(duì)目標(biāo)流數(shù)據(jù)發(fā)起的傳輸請(qǐng)求,傳輸請(qǐng)求具體包括目標(biāo)流數(shù)據(jù)、傳輸目的端、傳輸方式等信息,其中目標(biāo)流數(shù)據(jù)為被請(qǐng)求傳輸?shù)牧鲾?shù)據(jù),一個(gè)傳輸請(qǐng)求可以請(qǐng)求至少一個(gè)目標(biāo)流數(shù)據(jù),傳輸目的端為傳輸請(qǐng)求中指定的接收流數(shù)據(jù)的一端。傳輸任務(wù)為與傳輸目的端建立連接傳輸目標(biāo)流數(shù)據(jù)的任務(wù)。

      在本發(fā)明實(shí)施例中,接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求是指針對(duì)一個(gè)流數(shù)據(jù)有多個(gè)傳輸請(qǐng)求的情況,具體可以在隨機(jī)的一個(gè)線程上接收傳輸請(qǐng)求,當(dāng)接收到多個(gè)傳輸請(qǐng)求時(shí),根據(jù)傳輸請(qǐng)求中的信息,確定各個(gè)傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端,并且創(chuàng)建各傳輸請(qǐng)求對(duì)應(yīng)的各傳輸任務(wù)。

      步驟103,創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道。

      傳輸通道是指本地與傳輸目的端之間建立的用于執(zhí)行傳輸數(shù)據(jù)的通道,具體可以用于字節(jié)緩沖區(qū)和為了通道另一邊的數(shù)據(jù)實(shí)體執(zhí)行傳輸數(shù)據(jù)。在本發(fā)明實(shí)施例中,傳輸通道可以是指Socket(Socket的英文原義是“孔”或“插座”。作為BSD UNIX的進(jìn)程通信機(jī)制,也稱(chēng)“套接字”)連接,用于描述IP地址和端口,是一個(gè)通信鏈的句柄,可以用來(lái)實(shí)現(xiàn)不同虛擬機(jī)或不同計(jì)算機(jī)之間的通信。

      在本發(fā)明實(shí)施例中,查找到正在接收傳輸任務(wù)的目標(biāo)流數(shù)據(jù)的第一類(lèi)線程,根據(jù)傳輸任務(wù)創(chuàng)建該第一類(lèi)線程與各傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù)。

      步驟104,調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      在本發(fā)明實(shí)施例中,第一類(lèi)線程上可以并發(fā)執(zhí)行多個(gè)傳輸任務(wù),其中每個(gè)傳輸任務(wù)對(duì)應(yīng)將目標(biāo)流數(shù)據(jù)通過(guò)創(chuàng)建的傳輸通道傳輸至各個(gè)傳輸目的端。在一定的硬件條件下,第一類(lèi)線程上可以并發(fā)執(zhí)行的傳輸任務(wù)的個(gè)數(shù)的最大值取決于傳輸任務(wù)消耗的CPU資源,具體可以為任意適用的個(gè)數(shù),本發(fā)明對(duì)此不作限制。

      綜上所述,依據(jù)本發(fā)明實(shí)施例,通過(guò)分配第一類(lèi)線程接收流數(shù)據(jù),接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù),創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。使得將流數(shù)據(jù)傳輸至傳輸目的端直接是在接收流數(shù)據(jù)的線程上完成,避免了接收流數(shù)據(jù)的線程要向多個(gè)發(fā)送流數(shù)據(jù)的線程轉(zhuǎn)發(fā)流數(shù)據(jù)的問(wèn)題,減少了線程間轉(zhuǎn)發(fā)數(shù)據(jù)帶來(lái)的性能消耗,同時(shí)也減少了響應(yīng)時(shí)間。

      在本發(fā)明實(shí)施例中,優(yōu)選地,在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,還可以包括步驟:調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      從線程池中調(diào)用線程,來(lái)接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求,該線程可以稱(chēng)為第二類(lèi)線程。具體可以為各個(gè)流數(shù)據(jù)的各個(gè)傳輸請(qǐng)求分別調(diào)用不同的線程來(lái)執(zhí)行,本發(fā)明實(shí)施例對(duì)此不作限制。

      在本發(fā)明實(shí)施例中,優(yōu)選地,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,還可以包括步驟:調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      第二類(lèi)線程接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù),然后將多個(gè)傳輸任務(wù)發(fā)送至傳輸任務(wù)對(duì)應(yīng)的目標(biāo)流數(shù)據(jù)的第一類(lèi)線程,并且傳輸任務(wù)攜帶有對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí),例如傳輸目的端為服務(wù)器,標(biāo)識(shí)可以包括服務(wù)器的網(wǎng)絡(luò)地址。

      在本發(fā)明實(shí)施例中,優(yōu)選地,在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,還可以包括步驟:識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      傳輸請(qǐng)求攜帶有請(qǐng)求的目標(biāo)流數(shù)據(jù)的標(biāo)識(shí),接收到各傳輸請(qǐng)求后,識(shí)別各傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù),識(shí)別到流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并查找到接收目標(biāo)流數(shù)據(jù)的線程,確定為第一類(lèi)線程。

      參見(jiàn)圖2,示出了根據(jù)本發(fā)明實(shí)施例二的一種流數(shù)據(jù)的并發(fā)傳輸方法的步驟流程圖示意圖,具體可以包括如下步驟:

      步驟201,針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      線程池是一種多線程處理形式,處理過(guò)程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動(dòng)啟動(dòng)這些任務(wù)。線程池線程都是后臺(tái)線程。每個(gè)線程都使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級(jí)運(yùn)行,并處于多線程單元中。如果某個(gè)線程在托管代碼中空閑(如正在等待某個(gè)事件),則線程池中將插入另一個(gè)輔助線程來(lái)使所有處理器保持繁忙。如果所有線程池線程都始終保持繁忙,但隊(duì)列中包含掛起的工作,則線程池中將在一段時(shí)間后創(chuàng)建另一個(gè)輔助線程但線程的數(shù)目永遠(yuǎn)不會(huì)超過(guò)最大值。超過(guò)最大值的線程可以排隊(duì),但他們要等到其他線程完成后才啟動(dòng)。

      在本發(fā)明實(shí)施例中,預(yù)置線程池為預(yù)先設(shè)置的用于處理流數(shù)據(jù)相關(guān)任務(wù)的線程池。從預(yù)置線程池中隨機(jī)選取一個(gè)線程,用來(lái)接收待接收的流數(shù)據(jù),作為第一類(lèi)線程。

      步驟202,調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      從線程池中調(diào)用線程,來(lái)接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求,該線程可以稱(chēng)為第二類(lèi)線程。具體可以為各個(gè)流數(shù)據(jù)的各個(gè)傳輸請(qǐng)求分別調(diào)用不同的線程來(lái)執(zhí)行,本發(fā)明實(shí)施例對(duì)此不作限制。

      步驟203,接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)。

      在本發(fā)明實(shí)施例中,具體方式與其他實(shí)施例中描述一致,此處不做贅述。

      步驟204,判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      在本發(fā)明實(shí)施例中,發(fā)送目標(biāo)流數(shù)據(jù)的線程可以有多個(gè),其中一個(gè)為第一類(lèi)線程,其他發(fā)送目標(biāo)流數(shù)據(jù)的線程可以是在第一類(lèi)線程達(dá)到并發(fā)上限時(shí),創(chuàng)建新的線程用于執(zhí)行目標(biāo)流數(shù)據(jù)的傳輸任務(wù),在創(chuàng)建后將第一類(lèi)線程中接收的流數(shù)據(jù)轉(zhuǎn)發(fā)到新創(chuàng)建的線程上。判斷當(dāng)前用于發(fā)送目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,則執(zhí)行步驟205。

      步驟205,判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件。

      第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。獲取在第一類(lèi)線程上創(chuàng)建的傳輸通道的總個(gè)數(shù),第一設(shè)定條件為總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、或者未超出設(shè)定負(fù)載量。

      在本發(fā)明實(shí)施例中,獲取目標(biāo)流數(shù)據(jù)的第一類(lèi)線程上創(chuàng)建的傳輸通道的總個(gè)數(shù),根據(jù)總個(gè)數(shù)是否超出設(shè)定個(gè)數(shù)、或者超出設(shè)定負(fù)載量,判斷第一類(lèi)線程是否滿(mǎn)足第一設(shè)定條件,且判定第一類(lèi)線程滿(mǎn)足第一設(shè)定條件。設(shè)定個(gè)數(shù)和設(shè)定負(fù)載量可以為任意適用的,本發(fā)明實(shí)施例對(duì)此不作限定。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      如果第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,也就是第一類(lèi)線程上的傳輸通道的總個(gè)數(shù)超出設(shè)定個(gè)數(shù)或設(shè)定負(fù)載量,則創(chuàng)建線程來(lái)用于目標(biāo)流數(shù)據(jù)的傳輸,創(chuàng)建的線程為第三類(lèi)線程,創(chuàng)建第三類(lèi)線程需要第一類(lèi)線程將流數(shù)據(jù)轉(zhuǎn)發(fā)到第三類(lèi)線程上。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸?shù)囊环N實(shí)現(xiàn)方式為:從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程,調(diào)用第三類(lèi)線程從第一類(lèi)線程獲取所需的目標(biāo)流數(shù)據(jù),并將目標(biāo)流數(shù)據(jù)根據(jù)傳輸任務(wù)進(jìn)行傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,還可以包括步驟:在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      如果用于發(fā)送目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,在第一類(lèi)線程和第三類(lèi)線程中查找出滿(mǎn)足第一設(shè)定條件的線程,第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。獲取在第一類(lèi)線程和第三類(lèi)線程上分別創(chuàng)建的傳輸通道的總個(gè)數(shù),第一設(shè)定條件為總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、或者未超出設(shè)定負(fù)載量。并且確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,第三類(lèi)線程都不滿(mǎn)足第一設(shè)定條件。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      具體而言,如果滿(mǎn)足第一設(shè)定條件的線程不是第一類(lèi)線程,那么就調(diào)用第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸,具體將傳輸任務(wù)發(fā)送到第三類(lèi)線程上,在第三類(lèi)線程上建立與傳輸目的端的連接,進(jìn)行流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      如果滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并且在一種情況下,隨機(jī)選的線程為第一類(lèi)線程,則用第一類(lèi)線程來(lái)進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      第二設(shè)定條件為對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、或者對(duì)應(yīng)負(fù)載量最少。

      若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,還可以查找其中滿(mǎn)足第二設(shè)定條件的線程,并且在一種情況下,滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,則用第一類(lèi)線程來(lái)進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      如果第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則查找到滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程來(lái)進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸,又滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程與傳輸目的端建立連接,進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      如果已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程,將目標(biāo)流數(shù)據(jù)又第一類(lèi)線程轉(zhuǎn)發(fā)到新創(chuàng)建的第三類(lèi)線程上,將傳輸任務(wù)發(fā)送到新創(chuàng)建的第三類(lèi)線程上,來(lái)根據(jù)傳輸任務(wù)完成目標(biāo)流數(shù)據(jù)的傳輸。

      步驟206,創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道。

      在本發(fā)明實(shí)施例中,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù)。具體方式與其他實(shí)施例中描述一致,此處不做贅述。

      步驟207,根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      在本發(fā)明實(shí)施例中,根據(jù)建立的傳輸通道的個(gè)數(shù),更新針對(duì)第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù),具體可以是每有一個(gè)傳輸通道建立,就對(duì)第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)增加一。如果有傳輸任務(wù)完成或其他原因?qū)е聜鬏斖ǖ罍p少,則相應(yīng)減少第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      步驟208,調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      在本發(fā)明實(shí)施例中,具體方式與其他實(shí)施例中描述一致,此處不做贅述。

      綜上所述,依據(jù)本發(fā)明實(shí)施例,通過(guò)針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收,調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求,接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù),判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程,判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù),調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。上述方案使得將流數(shù)據(jù)傳輸至傳輸目的端直接在接收流數(shù)據(jù)的線程上完成,避免了接收流數(shù)據(jù)的線程要向多個(gè)發(fā)送流數(shù)據(jù)的線程轉(zhuǎn)發(fā)流數(shù)據(jù)的問(wèn)題,減少了線程間轉(zhuǎn)發(fā)數(shù)據(jù)帶來(lái)的性能消耗,同時(shí)也減少了響應(yīng)時(shí)間。

      參照?qǐng)D3,示出了根據(jù)本發(fā)明實(shí)施例三的一種流數(shù)據(jù)的并發(fā)傳輸裝置的結(jié)構(gòu)框圖,具體可以包括如下模塊:

      線程分配模塊301,用于分配第一類(lèi)線程接收流數(shù)據(jù),每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù);

      傳輸任務(wù)確定模塊302,用于接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù);

      傳輸通道創(chuàng)建模塊303,用于創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù);

      傳輸任務(wù)調(diào)用模塊304,用于調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      傳輸請(qǐng)求接收模塊,用于在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      傳輸任務(wù)發(fā)送模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      流數(shù)據(jù)識(shí)別模塊,用于在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      線程判斷模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第一條件判定模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第三線程創(chuàng)建模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述第三線程創(chuàng)建模塊包括:

      第三線程選取子模塊,用于從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;

      流數(shù)據(jù)獲取子模塊,用于調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第一條件滿(mǎn)足模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第三線程調(diào)用模塊,用于若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      線程隨機(jī)模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第二條件滿(mǎn)足模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第三線程調(diào)用模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      第三創(chuàng)建模塊,用于若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:

      個(gè)數(shù)更新模塊,用于在所述創(chuàng)建所述第一類(lèi)線程分別與各個(gè)傳輸目的端之間的傳輸通道之后,根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      在本發(fā)明實(shí)施例中,優(yōu)選地,所述線程分配模塊,具體用于針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      綜上所述,依據(jù)本發(fā)明實(shí)施例,通過(guò)分配第一類(lèi)線程接收流數(shù)據(jù),接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù),創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。上述方案使得將流數(shù)據(jù)傳輸至傳輸目的端直接在接收流數(shù)據(jù)的線程上完成,避免了接收流數(shù)據(jù)的線程要向多個(gè)發(fā)送流數(shù)據(jù)的線程轉(zhuǎn)發(fā)流數(shù)據(jù)的問(wèn)題,減少了線程間轉(zhuǎn)發(fā)數(shù)據(jù)帶來(lái)的性能消耗,同時(shí)也減少了響應(yīng)時(shí)間。

      在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

      在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。

      類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

      本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。

      此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

      本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一種流數(shù)據(jù)的并發(fā)傳輸方法和裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

      應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。

      本發(fā)明還公開(kāi)了A1、一種流數(shù)據(jù)的并發(fā)傳輸方法,包括:

      分配第一類(lèi)線程接收流數(shù)據(jù),每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù);

      接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù);

      創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù);

      調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      A2、根據(jù)A1所述的方法,其中,在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,所述方法還包括:

      調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      A3、根據(jù)A2所述的方法,其中,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      A4、根據(jù)A3所述的方法,其中,在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,所述方法還包括:

      識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      A5、根據(jù)A1所述的方法,其中,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      A6、根據(jù)A5所述的方法,其中,若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      A7、根據(jù)A6所述的方法,其中,所述方法還包括:

      若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      A8、根據(jù)A7所述的方法,其中,所述創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸包括:

      從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;

      調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      A9、根據(jù)A5所述的方法,其中,若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,所述方法還包括:

      在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      A10、根據(jù)A9所述的方法,其中,所述方法還包括:

      若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      A11、根據(jù)A9所述的方法,其中,所述方法還包括:

      若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      A12、根據(jù)A9所述的方法,其中,所述方法還包括:

      若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      A13、根據(jù)A12所述的方法,其中,所述方法還包括:

      若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      A14、根據(jù)A7所述的方法,其中,所述方法還包括:

      若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      A15、根據(jù)A1或6所述的方法,其中,在所述創(chuàng)建所述第一類(lèi)線程分別與各個(gè)傳輸目的端之間的傳輸通道之后,所述方法還包括:

      根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      A16、根據(jù)A1所述的方法,其中,所述分配第一類(lèi)線程接收流數(shù)據(jù)包括:

      針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      本發(fā)明還公開(kāi)了B17、一種流數(shù)據(jù)的并發(fā)傳輸裝置,包括:

      線程分配模塊,用于分配第一類(lèi)線程接收流數(shù)據(jù),每個(gè)第一類(lèi)線程對(duì)應(yīng)接收一個(gè)流數(shù)據(jù);

      傳輸任務(wù)確定模塊,用于接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù);

      傳輸通道創(chuàng)建模塊,用于創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道,各傳輸通道對(duì)應(yīng)承載一個(gè)傳輸任務(wù);

      傳輸任務(wù)調(diào)用模塊,用于調(diào)用所述第一類(lèi)線程并發(fā)執(zhí)行多個(gè)傳輸任務(wù),將所述目標(biāo)流數(shù)據(jù)通過(guò)對(duì)應(yīng)的傳輸通道傳輸至各個(gè)傳輸目的端。

      B18、根據(jù)B17所述的裝置,其中,所述裝置還包括:

      傳輸請(qǐng)求接收模塊,用于在所述接收到針對(duì)目標(biāo)流數(shù)據(jù)的多個(gè)傳輸請(qǐng)求時(shí),確定各傳輸請(qǐng)求對(duì)應(yīng)的傳輸目的端并創(chuàng)建對(duì)應(yīng)的傳輸任務(wù)之前,調(diào)用第二類(lèi)線程用于接收針對(duì)所有流數(shù)據(jù)的傳輸請(qǐng)求。

      B19、根據(jù)B18所述的裝置,其中,所述裝置還包括:

      傳輸任務(wù)發(fā)送模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程,所述傳輸任務(wù)攜帶對(duì)應(yīng)的傳輸目的端的標(biāo)識(shí)。

      B20、根據(jù)B19所述的裝置,其中,所述裝置還包括:

      流數(shù)據(jù)識(shí)別模塊,用于在所述調(diào)用所述第二類(lèi)線程將多個(gè)傳輸任務(wù)發(fā)送至所述第一類(lèi)線程之前,識(shí)別各個(gè)傳輸請(qǐng)求對(duì)應(yīng)請(qǐng)求的流數(shù)據(jù)為目標(biāo)流數(shù)據(jù),并確定接收所述目標(biāo)流數(shù)據(jù)的線程為第一類(lèi)線程。

      B21、根據(jù)B17所述的裝置,其中,所述裝置還包括:

      線程判斷模塊,用于在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判斷用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程是否僅包括第一類(lèi)線程。

      B22、根據(jù)B21所述的裝置,其中,所述裝置還包括:

      第一條件判定模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程僅包括第一類(lèi)線程,在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,判定所述第一類(lèi)線程滿(mǎn)足第一設(shè)定條件,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      B23、根據(jù)B22所述的裝置,其中,所述裝置還包括:

      第三線程創(chuàng)建模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      B24、根據(jù)B求23所述的裝置,其中,所述第三線程創(chuàng)建模塊包括:

      第三線程選取子模塊,用于從預(yù)置線程池中隨機(jī)選取一個(gè)線程作為第三類(lèi)線程;

      流數(shù)據(jù)獲取子模塊,用于調(diào)用所述第三類(lèi)線程從接收目標(biāo)流數(shù)據(jù)的第一類(lèi)線程獲取目標(biāo)流數(shù)據(jù),并對(duì)目標(biāo)流數(shù)據(jù)進(jìn)行傳輸。

      B25、根據(jù)B21所述的裝置,其中,所述裝置還包括:

      第一條件滿(mǎn)足模塊,用于若用于發(fā)送所述目標(biāo)流數(shù)據(jù)的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則在所述創(chuàng)建接收所述目標(biāo)流數(shù)據(jù)的第一類(lèi)線程與各個(gè)傳輸目的端之間的傳輸通道之前,在所述第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中,選取滿(mǎn)足第一設(shè)定條件的線程,并確定滿(mǎn)足第一設(shè)定條件的線程為第一類(lèi)線程,所述第一設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)未超出設(shè)定個(gè)數(shù)、未超出設(shè)定負(fù)載量。

      B26、根據(jù)B25所述的裝置,其中,所述裝置還包括:

      第三線程調(diào)用模塊,用于若確定滿(mǎn)足第一設(shè)定條件的線程并非第一類(lèi)線程,則調(diào)用滿(mǎn)足第一設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      B27、根據(jù)B25所述的裝置,其中,所述裝置還包括:

      線程隨機(jī)模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則從第一類(lèi)線程和至少一個(gè)第三類(lèi)線程中隨機(jī)選取一個(gè)線程,并確定隨機(jī)選取的線程為第一類(lèi)線程。

      B28、根據(jù)B25所述的裝置,其中,所述裝置還包括:

      第二條件滿(mǎn)足模塊,用于若滿(mǎn)足第一設(shè)定條件的線程包括第一類(lèi)線程和至少一個(gè)第三類(lèi)線程,則進(jìn)一步確定滿(mǎn)足第二設(shè)定條件的線程為第一類(lèi)線程,所述第二設(shè)定條件包括如下至少一種:對(duì)應(yīng)創(chuàng)建的傳輸通道的總個(gè)數(shù)最少、對(duì)應(yīng)負(fù)載量最少。

      B29、根據(jù)B28所述的裝置,其中,所述裝置還包括:

      第三線程調(diào)用模塊,用于若所述第一類(lèi)線程不滿(mǎn)足第二設(shè)定條件,則調(diào)用滿(mǎn)足第二設(shè)定條件的第三類(lèi)線程進(jìn)行目標(biāo)流數(shù)據(jù)的傳輸。

      B30、根據(jù)B23所述的裝置,其中,所述裝置還包括:

      第三創(chuàng)建模塊,用于若已有的第一類(lèi)線程和第三類(lèi)線程均不滿(mǎn)足第一設(shè)定條件,則創(chuàng)建新的第三類(lèi)線程。

      B31、根據(jù)B17或22所述的裝置,其中,所述裝置還包括:

      個(gè)數(shù)更新模塊,用于在所述創(chuàng)建所述第一類(lèi)線程分別與各個(gè)傳輸目的端之間的傳輸通道之后,根據(jù)所建立的傳輸通道的個(gè)數(shù),更新針對(duì)所述第一類(lèi)線程記錄的傳輸通道總個(gè)數(shù)。

      B32、根據(jù)B17所述的裝置,其中,所述線程分配模塊,具體用于針對(duì)待接收的流數(shù)據(jù),從預(yù)置線程池隨機(jī)選取一個(gè)線程作為第一類(lèi)線程進(jìn)行接收。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1