国产精品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í)的數(shù)據(jù)傳輸方法與流程

      文檔序號(hào):11524243閱讀:293來(lái)源:國(guó)知局

      本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種能夠減少延時(shí)的數(shù)據(jù)傳輸方法。



      背景技術(shù):

      隨著信息技術(shù)的飛速發(fā)展,基于數(shù)據(jù)處理和數(shù)據(jù)分析的應(yīng)用受到了廣泛的歡迎和關(guān)注。大量信息源帶來(lái)了數(shù)據(jù)規(guī)模的爆發(fā)式增長(zhǎng),因此對(duì)海量數(shù)據(jù)進(jìn)行復(fù)雜計(jì)算已經(jīng)遠(yuǎn)遠(yuǎn)超過單臺(tái)計(jì)算機(jī)的處理能力,由此推動(dòng)了對(duì)分布式系統(tǒng)及其關(guān)鍵技術(shù)的研究。分布式計(jì)算中把需要進(jìn)行復(fù)雜計(jì)算的海量數(shù)據(jù)切分成小塊后分交由多臺(tái)計(jì)算機(jī)并行處理,并將局部計(jì)算結(jié)果整合得出最終結(jié)果。

      在一般意義上的數(shù)據(jù)傳輸模式中,由客戶端向服務(wù)器端發(fā)起資源請(qǐng)求,服務(wù)器端響應(yīng)建立傳輸控制協(xié)議(transmissioncontrolprotocol,簡(jiǎn)稱tcp)連接而后開始向客戶端傳輸數(shù)據(jù);但在分布式計(jì)算系統(tǒng)中,由于數(shù)據(jù)是實(shí)時(shí)傳輸?shù)?,上游?shù)據(jù)流的傳送無(wú)法由下游節(jié)點(diǎn)的請(qǐng)求來(lái)驅(qū)動(dòng),因?yàn)閿?shù)據(jù)流是不間斷、流速波動(dòng)的數(shù)據(jù)集,下游節(jié)點(diǎn)無(wú)法預(yù)知上游數(shù)據(jù)流到來(lái)的時(shí)間點(diǎn),不僅如此,還會(huì)因?yàn)閷?duì)下游節(jié)點(diǎn)請(qǐng)求的確認(rèn)和解析增加系統(tǒng)延時(shí),因此,數(shù)據(jù)的傳輸所需時(shí)間較長(zhǎng)。



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

      本發(fā)明所要解決的技術(shù)問題在于提供一種能夠減少延時(shí)的數(shù)據(jù)傳輸方法,能夠解決因?yàn)閷?duì)下游節(jié)點(diǎn)請(qǐng)求的確認(rèn)和解析增加的系統(tǒng)延時(shí)。

      為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:

      本發(fā)明提供了一種能夠減少延時(shí)的數(shù)據(jù)傳輸方法,該數(shù)據(jù)傳輸方法包括:

      上游節(jié)點(diǎn)向下游節(jié)點(diǎn)發(fā)送數(shù)據(jù)連接請(qǐng)求;

      所述下游節(jié)點(diǎn)獲取所述數(shù)據(jù)連接請(qǐng)求,建立與所述上游節(jié)點(diǎn)的數(shù)據(jù)連接;

      所述下游節(jié)點(diǎn)向所述上游節(jié)點(diǎn)發(fā)送所需數(shù)據(jù)內(nèi)容;

      所述上游節(jié)點(diǎn)調(diào)取并向所述下游節(jié)點(diǎn)發(fā)送所述所需數(shù)據(jù)內(nèi)容。

      優(yōu)選的,該數(shù)據(jù)傳輸方法還包括:

      所述下游節(jié)點(diǎn)在指定端口監(jiān)聽連接請(qǐng)求。

      優(yōu)選的,所述下游節(jié)點(diǎn)獲取所述數(shù)據(jù)連接請(qǐng)求,建立與所述上游節(jié)點(diǎn)的連接包括:

      當(dāng)所述下游節(jié)點(diǎn)從所述指定端口監(jiān)聽到所述連接請(qǐng)求,打開對(duì)應(yīng)的數(shù)據(jù)管道,建立與所述上游節(jié)點(diǎn)的數(shù)據(jù)連接。

      優(yōu)選的,所述下游節(jié)點(diǎn)向所述上游節(jié)點(diǎn)發(fā)送所需數(shù)據(jù)內(nèi)容包括:

      所述下游節(jié)點(diǎn)獲取待處理任務(wù)所訂閱的數(shù)據(jù)流名,向所述上游節(jié)點(diǎn)發(fā)送。

      優(yōu)選的,所述上游節(jié)點(diǎn)調(diào)取并向所述下游節(jié)點(diǎn)發(fā)送所述所需數(shù)據(jù)內(nèi)容包括:

      所述上游節(jié)點(diǎn)獲取來(lái)自所述下游節(jié)點(diǎn)的數(shù)據(jù)流名;

      所述上游節(jié)點(diǎn)根據(jù)所述輸出數(shù)據(jù)流和下游節(jié)點(diǎn)的訂閱關(guān)系,將所述輸出數(shù)據(jù)流發(fā)送到與所述下游節(jié)點(diǎn)一一對(duì)應(yīng)的共享內(nèi)存隊(duì)列上;

      所述上游節(jié)點(diǎn)發(fā)送所述共享內(nèi)存隊(duì)列內(nèi)的數(shù)據(jù)流。

      優(yōu)選的,所述上游節(jié)點(diǎn)調(diào)取并向所述下游節(jié)點(diǎn)發(fā)送所述所需數(shù)據(jù)內(nèi)容之前,還包括:

      所述上游節(jié)點(diǎn)持久化備份所述所需數(shù)據(jù)內(nèi)容。

      優(yōu)選的,所述連接請(qǐng)求為數(shù)據(jù)流名。

      優(yōu)選的,所述下游節(jié)點(diǎn)在指定端口監(jiān)聽連接請(qǐng)求包括:

      所述下游節(jié)點(diǎn)監(jiān)聽指定端口,并將所述指定端口加入到epoll句柄中;

      當(dāng)所述下游節(jié)點(diǎn)接收到來(lái)自所述上游節(jié)點(diǎn)的輸出數(shù)據(jù)流名時(shí),以閱讀標(biāo)志打開有名管道;

      所述下游節(jié)點(diǎn)將所述有名管道的文件描述符加入到epoll循環(huán)中;

      所述下游節(jié)點(diǎn)從所述有名管道中循環(huán)讀取來(lái)自上游節(jié)點(diǎn)的輸出數(shù)據(jù)流。

      優(yōu)選的,所述上游節(jié)點(diǎn)持久化備份所述所需數(shù)據(jù)內(nèi)容包括:

      所述共享內(nèi)存隊(duì)列中的數(shù)據(jù)項(xiàng)以主鍵形式儲(chǔ)存。

      本發(fā)明實(shí)施例提供了一種能夠減少延時(shí)的數(shù)據(jù)傳輸方法,該數(shù)據(jù)傳輸方法是由上游節(jié)點(diǎn)請(qǐng)求向下游節(jié)點(diǎn)發(fā)送數(shù)據(jù),當(dāng)下游節(jié)點(diǎn)接收上游節(jié)點(diǎn)的請(qǐng)求之后,可向上游節(jié)點(diǎn)發(fā)送所需的數(shù)據(jù)內(nèi)容,上游節(jié)點(diǎn)處理之后將對(duì)應(yīng)的數(shù)據(jù)內(nèi)容傳送給下游節(jié)點(diǎn)。這樣的數(shù)據(jù)傳輸方法能夠有效解決因?yàn)閷?duì)下游節(jié)點(diǎn)請(qǐng)求的確認(rèn)和解析增加的系統(tǒng)延時(shí),達(dá)到減少數(shù)據(jù)傳輸延時(shí)的效果。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法的流程示意圖。

      具體實(shí)施方式

      下面將結(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ù)的范圍。

      本發(fā)明提供了一種能夠減少延時(shí)的數(shù)據(jù)傳輸方法,如圖1所示,該數(shù)據(jù)傳輸方法大致包括以下步驟:

      步驟s1、上游節(jié)點(diǎn)向下游節(jié)點(diǎn)發(fā)送數(shù)據(jù)連接請(qǐng)求。

      步驟s2、下游節(jié)點(diǎn)獲取數(shù)據(jù)連接請(qǐng)求,建立與上游節(jié)點(diǎn)的數(shù)據(jù)連接。

      步驟s3、下游節(jié)點(diǎn)向上游節(jié)點(diǎn)發(fā)送所需數(shù)據(jù)內(nèi)容。

      步驟s4、上游節(jié)點(diǎn)調(diào)取并向下游節(jié)點(diǎn)發(fā)送所需數(shù)據(jù)內(nèi)容。

      顯然,對(duì)于本發(fā)明實(shí)施例而言,在分布式機(jī)選系統(tǒng)中,上游數(shù)據(jù)流的傳送并不是由下游節(jié)點(diǎn)的請(qǐng)求來(lái)驅(qū)動(dòng),因?yàn)閿?shù)據(jù)流是不間斷、流速波動(dòng)的數(shù)據(jù)集,下游節(jié)點(diǎn)無(wú)法預(yù)知上游數(shù)據(jù)流到來(lái)的時(shí)間點(diǎn)。不僅如此,還會(huì)因?yàn)閷?duì)下游節(jié)點(diǎn)請(qǐng)求的確認(rèn)和解析增加系統(tǒng)延時(shí),所以本發(fā)明提供的數(shù)據(jù)傳輸?shù)姆绞绞巧嫌喂?jié)點(diǎn)向下游節(jié)點(diǎn)“推送”而不是下游節(jié)點(diǎn)向上游節(jié)點(diǎn)“牽拉”,即客戶端(上游節(jié)點(diǎn))向服務(wù)器(下游節(jié)點(diǎn))請(qǐng)求發(fā)送數(shù)據(jù),雙方通過自定義的協(xié)議確定數(shù)據(jù)的內(nèi)容后,由客戶端主動(dòng)推送數(shù)據(jù),最大程度地減小了延時(shí)。

      對(duì)于分布式計(jì)算系統(tǒng)而言,其通常具有多個(gè)涉及處理、計(jì)算的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)對(duì)于其他節(jié)點(diǎn)而言都可能是輸入/輸出(input/output,簡(jiǎn)稱i/o)數(shù)據(jù)源。因此,在同一個(gè)分布式計(jì)算系統(tǒng)而言,每個(gè)節(jié)點(diǎn)在整個(gè)系統(tǒng)中時(shí)而扮演客戶端(即下游節(jié)點(diǎn))的角色,時(shí)而扮演服務(wù)器端(即上游節(jié)點(diǎn))的角色,但其讀寫都是可以通過epoll事件循環(huán)統(tǒng)一調(diào)度的。

      具體的,在本發(fā)明實(shí)施例中,下游節(jié)點(diǎn)通過長(zhǎng)期監(jiān)聽一個(gè)指定端口并加入到epoll句柄中,當(dāng)接收到上游節(jié)點(diǎn)發(fā)送的輸出數(shù)據(jù)流名(outstreamname)時(shí),以閱讀(read)標(biāo)志打開有名管道(fifo管道),并將管道文件描述符加入到epoll循環(huán)中。

      進(jìn)一步的,很多流式計(jì)算系統(tǒng)不支持?jǐn)帱c(diǎn)續(xù)傳的功能,因?yàn)榧僭O(shè)了數(shù)據(jù)流一次性通過系統(tǒng),當(dāng)節(jié)點(diǎn)故障或者計(jì)算邏輯出錯(cuò)時(shí),只能讓原始的數(shù)據(jù)流重新通過系統(tǒng)再執(zhí)行一次計(jì)算,不僅浪費(fèi)了資源,特別是在數(shù)據(jù)流有唯一性且不可重現(xiàn)時(shí),最后的輸出結(jié)果將不包含這部分?jǐn)?shù)據(jù)流,系統(tǒng)的準(zhǔn)確性大大降低。因此,本發(fā)明實(shí)施例中,針對(duì)這一弊端加入了持久化備份,用以支持?jǐn)帱c(diǎn)續(xù)傳、差錯(cuò)重傳的功能。

      本發(fā)明實(shí)施例中,持久化備份還可提供斷點(diǎn)續(xù)傳和差錯(cuò)重傳的功能。在現(xiàn)有的數(shù)據(jù)流計(jì)算系統(tǒng)中,數(shù)據(jù)流一次性、完全地經(jīng)過系統(tǒng)內(nèi)存,由于數(shù)據(jù)無(wú)法恢復(fù)和重現(xiàn),所以對(duì)故障非常敏感,容錯(cuò)性較差。這就要求參與數(shù)據(jù)傳送的雙方在正式傳送數(shù)據(jù)流前進(jìn)行一次協(xié)議,下游節(jié)點(diǎn)通知上游節(jié)點(diǎn)前一次數(shù)據(jù)流傳送終止的位置。本發(fā)明實(shí)施例中可以通過定位傳輸協(xié)議用以定位數(shù)據(jù)流曾經(jīng)的傳輸位置,并從持久化備份中取出相應(yīng)位置的數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)流的恢復(fù)。

      具體的,在步驟s1的基礎(chǔ)上,從指定管道中持續(xù)讀取上游節(jié)點(diǎn)處理完畢的輸出數(shù)據(jù)流,存入以輸出數(shù)據(jù)流命名的磁盤隊(duì)列中,進(jìn)行持久化備份。磁盤隊(duì)列中的數(shù)據(jù)項(xiàng)以主鍵形式儲(chǔ)存,key值是數(shù)據(jù)項(xiàng)的時(shí)間戳,這樣方便差錯(cuò)重傳時(shí)從硬盤隊(duì)列中快速定位數(shù)據(jù)項(xiàng)。根據(jù)epoll異步讀寫的特點(diǎn),實(shí)現(xiàn)一個(gè)狀態(tài)機(jī),一個(gè)簡(jiǎn)單的類似tcp/ip的數(shù)據(jù)傳輸協(xié)議,為數(shù)據(jù)的斷點(diǎn)續(xù)傳提供支持,保證數(shù)據(jù)的準(zhǔn)確性和真實(shí)性。

      上游節(jié)點(diǎn)通過查詢輸出數(shù)據(jù)流與下游節(jié)點(diǎn)的訂閱關(guān)系,將已經(jīng)在磁盤隊(duì)列中備份好的數(shù)據(jù)發(fā)送到以下游節(jié)點(diǎn)(node)命名的共享內(nèi)存隊(duì)列中,顯然,每個(gè)下游節(jié)點(diǎn)都對(duì)應(yīng)有唯一一個(gè)共享內(nèi)存隊(duì)列。為了保證接收和發(fā)送數(shù)據(jù)時(shí)的一致性,本發(fā)明實(shí)施例中可將下游節(jié)點(diǎn)名封裝成任務(wù)放到上游節(jié)點(diǎn)的任務(wù)隊(duì)列中,通過解析任務(wù)類型為“內(nèi)部”(從上游節(jié)點(diǎn)接收數(shù)據(jù)為“外部”任務(wù),從共享內(nèi)存隊(duì)列取數(shù)據(jù)是“內(nèi)部”任務(wù)),取出任務(wù)中的下游節(jié)點(diǎn)名,從相應(yīng)的共享內(nèi)存隊(duì)列中取出數(shù)據(jù),并根據(jù)zookeeper中對(duì)應(yīng)的下游節(jié)點(diǎn)的配置(ip)發(fā)送數(shù)據(jù)。共享消息隊(duì)列也是類unix系統(tǒng)中進(jìn)程間通信(ipc)的一種方式,多個(gè)進(jìn)程可以讀取或添加隊(duì)列中的消息。消息隊(duì)列是隨內(nèi)核持續(xù)的消息鏈表,其中的消息具有規(guī)定的格式、特定的類型和相應(yīng)的優(yōu)先級(jí)。

      最后,上游節(jié)點(diǎn)找到共享內(nèi)存隊(duì)列內(nèi)的數(shù)據(jù)流分別對(duì)應(yīng)的下游節(jié)點(diǎn)之后,即可將共享內(nèi)存隊(duì)列內(nèi)的數(shù)據(jù)發(fā)送。

      以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

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