欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng)的制作方法

文檔序號:10473683閱讀:424來源:國知局
一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其包括有應(yīng)用管理模塊、指令發(fā)送模塊、指令接收模塊和數(shù)據(jù)分發(fā)模塊,所述應(yīng)用管理模塊用于與外部應(yīng)用交互,將外部需求解析后通過調(diào)用指令發(fā)送模塊將動作需求傳送到系統(tǒng)內(nèi)核;所述指令發(fā)送模塊預(yù)設(shè)有配置接口供應(yīng)用管理模塊調(diào)用;所述指令接收模塊初始化時將指令接收函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)指令鏈表中;所述數(shù)據(jù)分發(fā)模塊初始化時將數(shù)據(jù)包處理函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)NAT接口,以令系統(tǒng)接收到網(wǎng)絡(luò)數(shù)據(jù)時調(diào)用該函數(shù),并根據(jù)指令接收模塊設(shè)置的分發(fā)表來進(jìn)行數(shù)據(jù)分發(fā)。本發(fā)明具有轉(zhuǎn)發(fā)效率高、轉(zhuǎn)發(fā)延時小、對服務(wù)器性能要求低、適合小型化、能夠在互聯(lián)網(wǎng)上傳輸、數(shù)據(jù)安全性強等特點。
【專利說明】
一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及應(yīng)用層流媒體分發(fā)系統(tǒng),尤其涉及一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng)。
【背景技術(shù)】
[0002]目前,主流的流媒體服務(wù)器都是基于應(yīng)用層網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)來實現(xiàn)的,實現(xiàn)技術(shù)相對簡單,但數(shù)據(jù)轉(zhuǎn)發(fā)效率低、轉(zhuǎn)發(fā)延時較大,對服務(wù)器性能的要求較高,不利于流媒體技術(shù)的推廣。
[0003]現(xiàn)有的應(yīng)用層流媒體網(wǎng)絡(luò)數(shù)據(jù)分發(fā)過程如圖3所示,鏈路層、網(wǎng)絡(luò)層和傳送層的工作由操作系統(tǒng)完成,并不需要開發(fā),因此開發(fā)工作完全在應(yīng)用層由應(yīng)用程序完成。網(wǎng)絡(luò)數(shù)據(jù)包在整個過程中至少被復(fù)制了四次:第一次是鏈路層的網(wǎng)卡驅(qū)動程序從網(wǎng)絡(luò)傳輸媒介接收數(shù)據(jù)時;第二次是傳送層復(fù)制數(shù)據(jù)到應(yīng)用層;第三次是傳送層從應(yīng)用層復(fù)制數(shù)據(jù)到內(nèi)核層;第四次是鏈路層復(fù)制數(shù)據(jù)到網(wǎng)卡進(jìn)行發(fā)送。如果是一對多分發(fā)則在應(yīng)用層還要進(jìn)行復(fù)制工作。其中:鏈路層:接收數(shù)據(jù)時通過網(wǎng)卡接收從網(wǎng)絡(luò)傳輸媒介傳送過來的原始網(wǎng)絡(luò)數(shù)據(jù),識別數(shù)據(jù)幀,并檢測錯誤;發(fā)送數(shù)據(jù)時將網(wǎng)絡(luò)層傳送過來IP數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)幀封裝,并通過網(wǎng)卡發(fā)送到網(wǎng)絡(luò)傳輸媒介上。網(wǎng)絡(luò)層:接收數(shù)據(jù)時負(fù)責(zé)解析IP數(shù)據(jù)包,將IP包分解成種網(wǎng)絡(luò)協(xié)議包,并傳送到傳送層;發(fā)送數(shù)據(jù)時將傳送層傳過來的網(wǎng)絡(luò)協(xié)議包封裝成IP包,并傳送到鏈路層。傳送層:接收數(shù)據(jù)時負(fù)責(zé)將網(wǎng)絡(luò)協(xié)議包的用戶數(shù)據(jù)部分復(fù)制到對應(yīng)的應(yīng)用層接收進(jìn)程;發(fā)送數(shù)據(jù)時將應(yīng)用層數(shù)據(jù)封裝為網(wǎng)絡(luò)協(xié)議包并傳送到網(wǎng)絡(luò)層。應(yīng)用層:應(yīng)用程序根據(jù)配置好的分發(fā)策略將接收到的UDP數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)、復(fù)制等工作,而要發(fā)送的數(shù)據(jù)包進(jìn)入傳送層進(jìn)行發(fā)送。然而上述應(yīng)用層流媒體分發(fā)過程存在轉(zhuǎn)發(fā)效率低、轉(zhuǎn)發(fā)延時大、服務(wù)器性能要求尚、難以小型化等缺陷。
[0004]現(xiàn)有的UDP組播數(shù)據(jù)分發(fā)過程如圖4所示,管理系統(tǒng)需要給每路流媒體數(shù)據(jù)確定一個唯一的組播IP地址,當(dāng)流媒體客戶端需要接收該路流媒體數(shù)據(jù)時需要向組播交換機發(fā)起數(shù)據(jù)申請,組播包的分發(fā)管理工作由組播交換機完成。因此,這種方式對網(wǎng)絡(luò)交換機的性能要求比較高;同時,出于網(wǎng)絡(luò)風(fēng)暴的考慮,互聯(lián)網(wǎng)路由器截斷了組播包的傳發(fā),在互聯(lián)網(wǎng)上組播包不能正常收發(fā)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足,提供一種轉(zhuǎn)發(fā)效率高、轉(zhuǎn)發(fā)延時小、對服務(wù)器性能要求低、適合小型化、能夠在互聯(lián)網(wǎng)上傳輸、數(shù)據(jù)安全性強的流媒體數(shù)據(jù)分發(fā)系統(tǒng)。
[0006]為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。
[0007]—種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其包括有應(yīng)用管理模塊、指令發(fā)送模塊、指令接收模塊和數(shù)據(jù)分發(fā)模塊,其中:所述應(yīng)用管理模塊用于與外部應(yīng)用交互,將外部需求解析后通過調(diào)用指令發(fā)送模塊將動作需求傳送到系統(tǒng)內(nèi)核;所述指令發(fā)送模塊預(yù)設(shè)有配置接口供應(yīng)用管理模塊調(diào)用,所述指令發(fā)送模塊通過調(diào)用setsockopt系統(tǒng)接口與指令接收模塊交互;所述指令接收模塊初始化時將指令接收函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)指令鏈表中,以令應(yīng)用層調(diào)用setsockopt或getsockopt接口時,指令接收函數(shù)能夠收到該指令以及對該指令進(jìn)行處理;所述數(shù)據(jù)分發(fā)模塊初始化時將數(shù)據(jù)包處理函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)NAT接口,以令系統(tǒng)接收到網(wǎng)絡(luò)數(shù)據(jù)時調(diào)用該函數(shù),并根據(jù)指令接收模塊設(shè)置的分發(fā)表來進(jìn)行數(shù)據(jù)分發(fā)。
[0008]優(yōu)選地,所述應(yīng)用管理模塊針對不同的外部應(yīng)用,預(yù)設(shè)有不同的解析模塊。
[0009]優(yōu)選地,所述指令發(fā)送模塊包括有如下指令:分發(fā)模塊初始化、分發(fā)模塊釋放、添加攝像頭、刪除攝像頭、添加轉(zhuǎn)發(fā)路由、刪除轉(zhuǎn)發(fā)路由和查詢路由。
[0010]優(yōu)選地,所述指令發(fā)送模塊在執(zhí)行過程中,首先建立Socket,之后設(shè)置數(shù)據(jù)調(diào)用setsockopt接口,獲取數(shù)據(jù)調(diào)用getsockopt接口。
[0011 ]優(yōu)選地,所述數(shù)據(jù)分發(fā)模塊進(jìn)行數(shù)據(jù)分發(fā)時,首先判斷數(shù)據(jù)包是否從輸入網(wǎng)口進(jìn)入,再判斷數(shù)據(jù)包是否為UDP包,之后計算HASH值以獲取源數(shù)據(jù)對象表,最后根據(jù)源數(shù)據(jù)對象表中的分發(fā)列表進(jìn)行數(shù)據(jù)分發(fā)。
[0012]本發(fā)明公開的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),由四個模塊組成,即應(yīng)用管理模塊、指令發(fā)送模塊、指令接收模塊和數(shù)據(jù)分發(fā)模塊,其中,指令模塊通過系統(tǒng)內(nèi)核的網(wǎng)絡(luò)接口來交互數(shù)據(jù),響應(yīng)應(yīng)用管理模塊傳過來的數(shù)據(jù)分發(fā)和查詢等指令,數(shù)據(jù)分發(fā)模塊由網(wǎng)絡(luò)驅(qū)動程序?qū)崿F(xiàn),依據(jù)數(shù)據(jù)分發(fā)策略對相應(yīng)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分發(fā)、修改、刪除等,網(wǎng)絡(luò)驅(qū)動模塊在網(wǎng)絡(luò)層接管了流媒體數(shù)據(jù)并直接進(jìn)行分發(fā),減少了數(shù)據(jù)從網(wǎng)絡(luò)層到傳送層再到應(yīng)用層然后再逐層返回的過程,同一個數(shù)據(jù)包的轉(zhuǎn)發(fā)減少了四次傳遞和兩次數(shù)據(jù)拷貝,將網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā)效率提高了一個數(shù)量級。通過以上所述可以看出,本發(fā)明不僅實現(xiàn)了流媒體數(shù)據(jù)的大數(shù)據(jù)量分發(fā),還具有轉(zhuǎn)發(fā)效率高、轉(zhuǎn)發(fā)延時小、對服務(wù)器性能要求低、適合小型化、能夠在互聯(lián)網(wǎng)上傳輸、數(shù)據(jù)安全性強等特點。
【附圖說明】
[0013]圖1為本發(fā)明基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng)的組成框圖。
[0014]圖2為本發(fā)明在網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)過程的流程圖。
[0015]圖3為現(xiàn)有的應(yīng)用層流媒體網(wǎng)絡(luò)數(shù)據(jù)分發(fā)過程的流程圖。
[0016]圖4為現(xiàn)有的UDP組播數(shù)據(jù)分發(fā)過程的流程圖。
【具體實施方式】
[0017]下面結(jié)合附圖和實施例對本發(fā)明作更加詳細(xì)的描述。
[0018]本發(fā)明公開了一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),如圖1所示,其包括有應(yīng)用管理模塊1、指令發(fā)送模塊2、指令接收模塊3和數(shù)據(jù)分發(fā)模塊4,其中:
[0019]所述應(yīng)用管理模塊I用于與外部應(yīng)用交互,將外部需求解析后通過調(diào)用指令發(fā)送模塊2將動作需求傳送到系統(tǒng)內(nèi)核;
[0020]所述指令發(fā)送模塊2預(yù)設(shè)有配置接口供應(yīng)用管理模塊I調(diào)用,所述指令發(fā)送模塊2通過調(diào)用setsockopt系統(tǒng)接口與指令接收模塊3交互;
[0021]所述指令接收模塊3初始化時將指令接收函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)指令鏈表中,以令應(yīng)用層調(diào)用setsockopt或getsockopt接口時,指令接收函數(shù)能夠收到該指令以及對該指令進(jìn)行處理;
[0022]所述數(shù)據(jù)分發(fā)模塊4初始化時將數(shù)據(jù)包處理函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)NAT接口,以令系統(tǒng)接收到網(wǎng)絡(luò)數(shù)據(jù)時調(diào)用該函數(shù),并根據(jù)指令接收模塊3設(shè)置的分發(fā)表來進(jìn)行數(shù)據(jù)分發(fā)。
[0023]進(jìn)一步地,所述應(yīng)用管理模塊I針對不同的外部應(yīng)用,預(yù)設(shè)有不同的解析模塊。
[0024]作為一種優(yōu)選方式,所述指令發(fā)送模塊2包括有如下指令:分發(fā)模塊初始化、分發(fā)模塊釋放、添加攝像頭、刪除攝像頭、添加轉(zhuǎn)發(fā)路由、刪除轉(zhuǎn)發(fā)路由和查詢路由。
[0025]本實施例中,所述指令發(fā)送模塊2在執(zhí)行過程中,首先建立Socket,即:
[0026]sd=socket(AF_INET,S0CK_RAW,IPPR0T0_IGMP);
[0027]之后設(shè)置數(shù)據(jù)調(diào)用setsockopt接口,獲取數(shù)據(jù)調(diào)用getsockopt接口。
[0028]本實施例中,所述數(shù)據(jù)分發(fā)模塊4進(jìn)行數(shù)據(jù)分發(fā)時,首先判斷數(shù)據(jù)包是否從輸入網(wǎng)口進(jìn)入,再判斷數(shù)據(jù)包是否為UDP包,之后計算HASH值以獲取源數(shù)據(jù)對象表,最后根據(jù)源數(shù)據(jù)對象表中的分發(fā)列表進(jìn)行數(shù)據(jù)分發(fā)。
[0029]本發(fā)明公開的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),由四個模塊組成,即應(yīng)用管理模塊1、指令發(fā)送模塊2、指令接收模塊3和數(shù)據(jù)分發(fā)模塊4,其中,指令模塊通過系統(tǒng)內(nèi)核的網(wǎng)絡(luò)接口來交互數(shù)據(jù),響應(yīng)應(yīng)用管理模塊傳過來的數(shù)據(jù)分發(fā)和查詢等指令,數(shù)據(jù)分發(fā)模塊由網(wǎng)絡(luò)驅(qū)動程序?qū)崿F(xiàn),依據(jù)數(shù)據(jù)分發(fā)策略對相應(yīng)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分發(fā)、修改、刪除等,網(wǎng)絡(luò)驅(qū)動模塊在網(wǎng)絡(luò)層接管了流媒體數(shù)據(jù)并直接進(jìn)行分發(fā),減少了數(shù)據(jù)從網(wǎng)絡(luò)層到傳送層再到應(yīng)用層然后再逐層返回的過程,同一個數(shù)據(jù)包的轉(zhuǎn)發(fā)減少了四次傳遞和兩次數(shù)據(jù)拷貝,將網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā)效率提高了一個數(shù)量級。通過以上所述可以看出,本發(fā)明不僅實現(xiàn)了流媒體數(shù)據(jù)的大數(shù)據(jù)量分發(fā),還具有轉(zhuǎn)發(fā)效率高、轉(zhuǎn)發(fā)延時小、對服務(wù)器性能要求低、適合小型化、能夠在互聯(lián)網(wǎng)上傳輸、數(shù)據(jù)安全性強等特點。
[0030]本發(fā)明提供基于LINUX操作系統(tǒng)的UDP數(shù)據(jù)包的轉(zhuǎn)發(fā)解決方案,分發(fā)模塊采用NAT網(wǎng)絡(luò)驅(qū)動程序模式實現(xiàn),內(nèi)核啟動時加載到系統(tǒng)內(nèi)核中,而模塊的工作由應(yīng)用層程序進(jìn)行控制。當(dāng)基于Windows操作系統(tǒng)實現(xiàn)時,也是采用相同的原理,分發(fā)模塊由Windows網(wǎng)絡(luò)驅(qū)動程序?qū)崿F(xiàn),然后在系統(tǒng)配置中添加到網(wǎng)口驅(qū)動中。
[0031]關(guān)于本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)流程如圖2所示,分發(fā)模塊接收到數(shù)據(jù)包時,如何快速從分發(fā)表中拿到對應(yīng)的分發(fā)目的鏈表是系統(tǒng)高效率的難點之一,本系統(tǒng)采用快速HASH計算定位法來實現(xiàn),具體包括如下步驟:
[0032]步驟SI,定義高達(dá)16位長度的分發(fā)表指針數(shù)組,以減小HASH值的重復(fù)量,即:
[0033]PPACKETIN_STRUCT g_pPacketIn[0xFFFF];
[0034]步驟S2,HASH計算,S卩:HASH=
[0035](源IP低16位)異或(源IP高16位)異或(源端口)異或(目的端口);
[0036]步驟S3,添加攝像頭時,依據(jù)步驟S2來計算HASH,然后在g_LanIn數(shù)組插入新的源對象,有相同HASH的掛到已有對象的pNext后面;
[0037]步驟S4,接收到數(shù)據(jù)包時,依據(jù)步驟S2計算HASH,找到對應(yīng)源對象,從源對象的PDst指針獲取分發(fā)目的對象,從而進(jìn)行分發(fā)。
[0038]本發(fā)明公開的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其相比應(yīng)用層轉(zhuǎn)發(fā),底層轉(zhuǎn)發(fā)可將數(shù)據(jù)分發(fā)效率提高一個數(shù)量級,其次,系統(tǒng)底層即時分發(fā),減少系統(tǒng)緩沖,降低數(shù)據(jù)分發(fā)延時,增強系統(tǒng)實時性,此外,本發(fā)明降低系統(tǒng)性能要求,可實現(xiàn)流媒體服務(wù)器的嵌入式化,提尚可靠性。
[0039]以上所述只是本發(fā)明較佳的實施例,并不用于限制本發(fā)明,凡在本發(fā)明的技術(shù)范圍內(nèi)所做的修改、等同替換或者改進(jìn)等,均應(yīng)包含在本發(fā)明所保護(hù)的范圍內(nèi)。
【主權(quán)項】
1.一種基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其特征在于,包括有應(yīng)用管理模塊(1)、指令發(fā)送模塊(2)、指令接收模塊(3)和數(shù)據(jù)分發(fā)模塊(4),其中: 所述應(yīng)用管理模塊(I)用于與外部應(yīng)用交互,將外部需求解析后通過調(diào)用指令發(fā)送模塊(2)將動作需求傳送到系統(tǒng)內(nèi)核; 所述指令發(fā)送模塊(2)預(yù)設(shè)有配置接口供應(yīng)用管理模塊(I)調(diào)用,所述指令發(fā)送模塊(2)通過調(diào)用setsockopt系統(tǒng)接口與指令接收模塊(3)交互; 所述指令接收模塊(3)初始化時將指令接收函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)指令鏈表中,以令應(yīng)用層調(diào)用setsockopt或getsockopt接口時,指令接收函數(shù)能夠收到該指令以及對該指令進(jìn)行處理; 所述數(shù)據(jù)分發(fā)模塊(4)初始化時將數(shù)據(jù)包處理函數(shù)掛接到系統(tǒng)的網(wǎng)絡(luò)NAT接口,以令系統(tǒng)接收到網(wǎng)絡(luò)數(shù)據(jù)時調(diào)用該函數(shù),并根據(jù)指令接收模塊(3)設(shè)置的分發(fā)表來進(jìn)行數(shù)據(jù)分發(fā)。2.如權(quán)利要求1所述的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其特征在于,所述應(yīng)用管理模塊(I)針對不同的外部應(yīng)用,預(yù)設(shè)有不同的解析模塊。3.如權(quán)利要求1所述的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其特征在于,所述指令發(fā)送模塊(2)包括有如下指令:分發(fā)模塊初始化、分發(fā)模塊釋放、添加攝像頭、刪除攝像頭、添加轉(zhuǎn)發(fā)路由、刪除轉(zhuǎn)發(fā)路由和查詢路由。4.如權(quán)利要求1所述的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其特征在于,所述指令發(fā)送模塊(2)在執(zhí)行過程中,首先建立Socket,之后設(shè)置數(shù)據(jù)調(diào)用setsockopt接口,獲取數(shù)據(jù)調(diào)用getsockopt接口。5.如權(quán)利要求1所述的基于網(wǎng)絡(luò)驅(qū)動層的流媒體數(shù)據(jù)分發(fā)系統(tǒng),其特征在于,所述數(shù)據(jù)分發(fā)模塊(4)進(jìn)行數(shù)據(jù)分發(fā)時,首先判斷數(shù)據(jù)包是否從輸入網(wǎng)口進(jìn)入,再判斷數(shù)據(jù)包是否為UDP包,之后計算HASH值以獲取源數(shù)據(jù)對象表,最后根據(jù)源數(shù)據(jù)對象表中的分發(fā)列表進(jìn)行數(shù)據(jù)分發(fā)O
【文檔編號】H04L29/06GK105827588SQ201510988936
【公開日】2016年8月3日
【申請日】2015年12月23日
【發(fā)明人】鄭灼, 劉莉, 劉躍, 張華俊, 歐陽建輝
【申請人】廣東億迅科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐至县| 绥宁县| 车致| 喀什市| 乌恰县| 孟州市| 宁海县| 湖州市| 刚察县| 安岳县| 浦县| 育儿| 奉化市| 乐亭县| 鹿邑县| 平和县| 星子县| 无棣县| 荥阳市| 内黄县| 枣强县| 遵义市| 福清市| 洛南县| 巢湖市| 长宁县| 拉萨市| 阿坝| 榆社县| 射阳县| 绥中县| 浙江省| 交城县| 兴安盟| 淄博市| 东乌珠穆沁旗| 三台县| 镇赉县| 山东省| 德钦县| 沙田区|