freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于字符串的ipc網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-06-30 14:50本頁(yè)面

【導(dǎo)讀】操作系統(tǒng)和應(yīng)用程序集成在一起的IPC。通過(guò)網(wǎng)絡(luò)連接IPC,控制設(shè)備一般與IPC串行方式通訊。本協(xié)議的代碼部分采用source. 級(jí)文件,將可執(zhí)行文件掛載到IPC或者BLOCK365開(kāi)發(fā)板上就可以運(yùn)行可執(zhí)行文件,系統(tǒng)最終實(shí)現(xiàn)了視頻編碼,音頻功能,網(wǎng)絡(luò)功能,云臺(tái)、鏡頭控制功能,緩存功能,

  

【正文】 據(jù)發(fā)送及時(shí)就不會(huì)出現(xiàn)聲音卡頓問(wèn)題。 經(jīng)過(guò)一連串的排查,花了我兩天多的時(shí)間最終發(fā)現(xiàn) 問(wèn)題可能在網(wǎng)絡(luò)休眠時(shí)間那塊。第 5 章 IPC 的系統(tǒng)功能測(cè)試 19 圖像是每秒鐘發(fā)送 25 幀,聲音跟圖像一樣,所以每 40ms 發(fā)一次是最佳狀態(tài),超過(guò)40ms 會(huì)卡,低于 40ms 客戶端可能會(huì)存在存儲(chǔ)問(wèn)題,所以 40ms 是最佳的。 代碼里采用的休眠時(shí)間只是一個(gè)估計(jì)值,用的是默認(rèn)的 20ms,再加上兩次調(diào)用函數(shù)的時(shí)間差值,差不多是 40ms,當(dāng)時(shí)間差高于 20ms 時(shí)就會(huì)出現(xiàn)卡頓,因?yàn)榭倳r(shí)間超過(guò)了 40ms,所以我就試著修改了這部分的代碼。我把每次發(fā)送的間隔時(shí)間固定在 40ms,休眠時(shí)間設(shè)置成 40ms 減去兩次兩次調(diào)用函數(shù)的時(shí)間差。至此,讀者可能會(huì)問(wèn)如果兩次調(diào)用函數(shù)的時(shí)間 超過(guò) 40ms 出現(xiàn)了負(fù)值怎么辦,不是還會(huì)卡嗎?這點(diǎn)我也考慮過(guò),但是我們的開(kāi)發(fā)板采用的是高性能的 DSP芯片,而可執(zhí)行文件的運(yùn)行環(huán)境是 Linux操作系統(tǒng),他的處理速度是相當(dāng)快的,而我們的函數(shù)執(zhí)行速度也是很快的,所以不會(huì)出現(xiàn)兩次調(diào)用的時(shí)間差超過(guò) 40ms 的情況。 修改完后再測(cè)試發(fā)現(xiàn)效果很好,測(cè)試部的詳細(xì)測(cè)試后也沒(méi)再反映問(wèn)題。所以這一次的修改 BUG 過(guò)程算是完成了,也是自己的一次初次嘗試,通過(guò)這次的修改 BUG 過(guò)程我大致有了修改 BUG 的方向,這為之后修改 BUG 的時(shí)候提供了經(jīng)驗(yàn)也節(jié)省了時(shí)間。但是由于才改了幾次 BUG,所以還是 不太熟練,等以后熟練了我會(huì)把經(jīng)驗(yàn)總結(jié)一下以供之后的人參考。 屬性修改問(wèn)題 登錄 IPC 之后新增用戶改變部分屬性后不能重啟設(shè)備。 這個(gè) BUG 同樣是由測(cè)試部反饋給我們的,為此,我特意申請(qǐng)了一個(gè) IPC,在 IE 端的新增用戶組里添加了新的用戶,并用新用戶重新登錄,登陸之后改變了 IPC 的部分屬性,我選擇的是改變制式,一般情況下,系統(tǒng)默認(rèn)的用戶 admin 在改變屬性后有一個(gè)重啟提示,確認(rèn)后 IPC 將重新啟動(dòng),但是新增用戶在改變屬性后卻無(wú)法重啟,而且就連用戶在剛建立時(shí)屬性都選擇不了,全是系統(tǒng)默認(rèn)的屬性,這樣明顯是無(wú)法適應(yīng) 用戶的使用的,所以我就開(kāi)始找相應(yīng)部分的代碼。 在這我要聲明一下,這次的畢業(yè)設(shè)計(jì)中我用到了很多在大學(xué)里面從來(lái)沒(méi)接觸過(guò)的函數(shù),很多功能也只是了解一些卻無(wú)法熟練使用,比如 memset()、 memcpy()、 Json()之類(lèi),所以我是邊學(xué)習(xí)這些函數(shù)的使用方法邊寫(xiě)代碼的,而且很多頭文件以及接口函數(shù)都是公司庫(kù)里面的,這么說(shuō)吧,有些函數(shù)我只看得懂名字,知道它是干嘛的,但它是怎么實(shí)行的卻不在我的掌握范圍之內(nèi),這就是面向?qū)ο蟮乃枷氚?,還有一些函數(shù)接口是我這部分的,這些接口我必須實(shí)現(xiàn)它們的功能,也就是說(shuō)它們是如何實(shí)現(xiàn)的,過(guò)程是 什么必第 5 章 IPC 的系統(tǒng)功能測(cè)試 20 須一步步的安排好。 還有就是我在寫(xiě)代碼之前看了好多別人寫(xiě)的代碼,自己也參考了一下格式,總之學(xué)到了很多經(jīng)驗(yàn),但是還是由于自己以前代碼寫(xiě)得少的緣故,檢查代碼時(shí)特別費(fèi)勁,更加不可思議的是我的限選課選的方向是嵌入式和軟件,關(guān)于網(wǎng)絡(luò)的課程一門(mén)都沒(méi)選,而我的工作又是更網(wǎng)絡(luò)密不可分的,所以我還要一邊看書(shū)一邊了解網(wǎng)絡(luò)協(xié)議,要不然根本無(wú)法理解 i_ntoa[9]()與 htonl(), TCP 與 UDP 的含義還有區(qū)別。 回到正題,其實(shí)這個(gè) BUG 的原因很好找,只是由于我對(duì)代碼的結(jié)構(gòu)不是太熟悉所以找了很久,這就是個(gè)權(quán)限問(wèn)題 , admin用戶類(lèi)似與 windows 系統(tǒng)里的 Administrator 以及 Linux 系統(tǒng)里的 root,所以他可以擁有一切該有的權(quán)限,而 IPC 里分為 admin, guest還有其他用戶這三種類(lèi)別,只需在建立新用戶組時(shí)把其他用戶歸入 guest 組里就可以擁有所有不威脅到系統(tǒng)安全的權(quán)限,這也是我從代碼里總結(jié)出的結(jié)論,這一次的 BUG 其實(shí)嚴(yán)格意義上來(lái)說(shuō)不算 BUG,但是正是通過(guò)查閱代碼才找到了解決的方法,所以從代碼中尋找是正確的途徑。 視頻顯示不同步問(wèn)題 視頻源連接到 BLK5016TS 系列開(kāi)發(fā)板上,當(dāng) 16 路視頻接 的同一視頻源時(shí) IE 端 16路畫(huà)面顯示之間不同步。 這一問(wèn)題是由客戶反饋給我們的銷(xiāo)售人員,再由銷(xiāo)售人員和我反映的,在和銷(xiāo)售人員的交流中我明顯感覺(jué)到有必要與客戶直接交流一下才能具體的知道用戶究竟反映的是什么樣的問(wèn)題,但是從銷(xiāo)售人員口中得知客戶是美洲那邊的,也不是說(shuō)英語(yǔ)國(guó)家的,所以我只能看他們的聊天記錄,我這四級(jí)水平勉強(qiáng)能看懂,不過(guò)幸好我要求看了一下,因?yàn)殇N(xiāo)售人員提供給我們的問(wèn)題里漏了一句關(guān)鍵的話,那就是用戶說(shuō)的不一致是由于丟幀引起的,就是說(shuō)畫(huà)面一卡一卡的,有些沒(méi)及時(shí)發(fā)送過(guò)來(lái),而我們的理解是畫(huà)面與畫(huà)面之間有幾到幾十 毫秒的延時(shí),客戶反映的是我們的新產(chǎn)品有問(wèn)題,去年 11 月份的是正常的,這在后面會(huì)詳細(xì)講到。 經(jīng)過(guò)這次經(jīng)驗(yàn)我充分了解到直接交流的重要性,因?yàn)閭鬟f口信的人有事可能沒(méi)完全理解傳達(dá)者的本意,所以傳達(dá)消息時(shí)可能會(huì)出現(xiàn)偏差,這對(duì)解決問(wèn)題的總方向的把握會(huì)有絕對(duì)的影響的。 為了檢驗(yàn)接受畫(huà)面時(shí)是否就已經(jīng)產(chǎn)生 16 畫(huà)面不一致我采取了拍照的方式,多次取樣后發(fā)現(xiàn)實(shí)時(shí)畫(huà)面是一致的,這說(shuō)明問(wèn)題確實(shí)出在網(wǎng)絡(luò)這一塊,也就是我們部分負(fù)責(zé)的。第 5 章 IPC 的系統(tǒng)功能測(cè)試 21 IE 端的畫(huà)面通過(guò)截圖后發(fā)現(xiàn)果然存在偏差,這是肉眼看不出來(lái)的,因?yàn)楫?huà)面之間誤差只有不到 ,而人的視 覺(jué)暫留時(shí)間在 到 之間,所以一般是看不出來(lái)的。 如圖 ( 1)所示 圖 ( 1) 16 路畫(huà)面不一致 這是我手在不停的來(lái)回晃動(dòng)時(shí) IE 端截下的圖,細(xì)看就會(huì)發(fā)現(xiàn)圖與圖之間存在一些誤差,這個(gè)問(wèn)題出在了代碼部分的 transport 庫(kù)里面的 TransportServer()里,這部分代碼采用的是多線程處理技術(shù) [10]。這是發(fā)送圖像的函數(shù),整個(gè)圖像的發(fā)送是由 Heartbeat線程從 Send 隊(duì)列中取數(shù)據(jù)然后進(jìn)行發(fā)送的,最多支持 16 路畫(huà)面,所以有 16 個(gè)隊(duì)列,另外還申請(qǐng)了一塊節(jié)點(diǎn)空間, Send 隊(duì)列不斷地取節(jié)點(diǎn) 到各個(gè)隊(duì)列中,用完的節(jié)點(diǎn)再釋放回節(jié)點(diǎn)池,這一過(guò)程中 Send 的效率是足夠高的,問(wèn)題最終出現(xiàn)在 Heartbeat 線程這一塊,因?yàn)樵?Linux終端打印消息時(shí)出現(xiàn)了 Heartbeat 線程所調(diào)用的一個(gè)函數(shù)里的失敗的消息,是由于 Heartbeat 線程沒(méi)能及時(shí)把 Send 線程里的數(shù)據(jù)發(fā)送出去造成的,所以最終把問(wèn)題鎖定了。 在我反復(fù)查看代碼以及參考之前出的產(chǎn)品的效果我發(fā)現(xiàn)這是由于兩個(gè)線程競(jìng)爭(zhēng)鎖第 5 章 IPC 的系統(tǒng)功能測(cè)試 22 的關(guān)系,我在 Heartbeat_TCP、 Heartbeat_UDP 以及 Heartbeat_VVNAT 這三個(gè)線程都添加了互斥鎖,而在畫(huà) 面?zhèn)鬏斶@方面我們采用的是 TCP 傳輸,所以和 UDP 之間的鎖不會(huì)發(fā)生競(jìng)爭(zhēng),在經(jīng)過(guò)一個(gè)多星期的反復(fù)修改加測(cè)試后我發(fā)現(xiàn) TCP 這一塊的鎖去掉后畫(huà)面效果變得更好,比以前更一致了,而且也沒(méi)發(fā)現(xiàn)丟幀畫(huà)面也沒(méi)出現(xiàn)發(fā)不出去的情況。 我分析了一下,這是由于在 TCP 中加了一些不必要的鎖,這些鎖雖然沒(méi)和 Send 線程發(fā)生競(jìng)爭(zhēng),但是進(jìn)入以及退出鎖時(shí)會(huì)花費(fèi)時(shí)間,這對(duì)畫(huà)面的發(fā)送是有影響的,即便如此,在去掉這些鎖之后,畫(huà)面仍然沒(méi)達(dá)到完全一致的地步,這是因?yàn)楹瘮?shù)調(diào)用進(jìn)入隊(duì)列會(huì)有一定的時(shí)間誤差,而且 Send 線程里也有一些互斥鎖,需要花費(fèi)一定時(shí)間, 所以這個(gè)問(wèn)題沒(méi)有最終解決,不過(guò)客戶那邊接受了修改之后的產(chǎn)品 . 如圖 ( 2)所示 圖 ( 2) 16 路畫(huà)面一致 第 6 章 總結(jié) 23 第 6章 總結(jié) 本課題采用 C++語(yǔ)言,應(yīng)用 source insight 編輯器,在 Linux環(huán)境下使用 ARM 平臺(tái)交叉編譯生成可執(zhí)行文件,最后將該文件移植入 DSP 芯片,通過(guò)設(shè)定芯片所在設(shè)備的IP 地址以及 MAC 地址(公司內(nèi)部的 MAC 地址是無(wú)法連外網(wǎng)的)在 IE端或者指定的軟件上執(zhí)行程序,使設(shè)備運(yùn)行。系統(tǒng)最終實(shí)現(xiàn)了視頻編碼,音頻功能,網(wǎng)絡(luò)功能,云臺(tái)、鏡頭控制功能,緩存功能,報(bào)警輸入輸出,移動(dòng)檢測(cè)報(bào)警視 頻分析,視覺(jué)參數(shù)調(diào)節(jié),編碼參數(shù)調(diào)節(jié),系統(tǒng)集成等一系列的功能。 該課題運(yùn)用嵌入式網(wǎng)絡(luò)編程技術(shù),根據(jù)設(shè)備要求處理網(wǎng)絡(luò)數(shù)據(jù),提供網(wǎng)絡(luò)協(xié)議,應(yīng)用程序不斷地調(diào)用內(nèi)核函數(shù)使運(yùn)行速度加快了, Linux 中網(wǎng)絡(luò)編程是通過(guò) socket 套接字接口來(lái)進(jìn)行的,這一抽象的概念方便了聯(lián)網(wǎng)應(yīng)用程序的編程。 本課題全名叫基于字符串的 IPC 網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與實(shí)現(xiàn),字符串的解析是通過(guò)我們公司內(nèi)部的庫(kù)函數(shù)里的 TExchangeAL 進(jìn)行解析的,它負(fù)責(zé)把字符串、結(jié)構(gòu)體與配置結(jié)構(gòu)進(jìn)行相互轉(zhuǎn)換,還可以對(duì) Json 表格和結(jié)構(gòu)體進(jìn)行互相轉(zhuǎn)換,再通過(guò) web 生成本地 請(qǐng)求與響應(yīng),這一步過(guò)程是不用我完成的,我只需在提供給我的網(wǎng)絡(luò)協(xié)議上實(shí)現(xiàn)一系列的功能,比如用戶登錄,視頻監(jiān)控,視頻回放,語(yǔ)音對(duì)講等等。這些過(guò)程與網(wǎng)絡(luò)協(xié)議是密不可分的,畫(huà)面的傳輸應(yīng)用的是 TCP 協(xié)議,聲音的傳輸應(yīng)用的是 UDP 協(xié)議,另外還有一種我們公司自己設(shè)置的云平臺(tái)( VVNAT),由于時(shí)間原因我還未充分理解這樣的云平臺(tái),暫且引用過(guò)來(lái)。 需要注意的是,在開(kāi)發(fā)階段,生成的可執(zhí)行文件中的升級(jí)文件不能直接升級(jí)到設(shè)備,那是因?yàn)樵O(shè)備里面的原程序里的部分線程還未釋放系統(tǒng)鎖,升級(jí)文件在這個(gè)時(shí)候升級(jí)進(jìn)去會(huì)燒壞內(nèi)部程序,想要修復(fù)的話 必須重新往芯片內(nèi)燒程序,但是在應(yīng)用階段,我們?cè)谛酒瑑?nèi)部植入了解鎖的命令,所以客戶可以任意升級(jí)設(shè)備程序。我在測(cè)試是階段就因?yàn)檫@個(gè)原因燒壞了好多程序,后來(lái)運(yùn)用了掛載技術(shù),將可升級(jí)程序掛載到設(shè)備上,這才避免了內(nèi)部程序遭到破壞的危險(xiǎn)。 畢業(yè)設(shè)計(jì)做完了,論文也快些好了,從起初的不知從何做起到現(xiàn)在的可以自信的參加答辯的過(guò)程中我體會(huì)到了不管做什么事,開(kāi)頭都不會(huì)簡(jiǎn)單,而逃避只會(huì)使自己變得更膽怯更懦弱,只有自己去面對(duì),慢慢的把不會(huì)的變成自己會(huì)的,一步一步的解決難題,第 6 章 總結(jié) 24 這樣才能克服難題,是自己得到提升,同時(shí)也是自己擁有面對(duì)困難 的勇氣。 選課題之前很多人會(huì)去詢問(wèn)別人的意見(jiàn),尤其是上一屆的,這是必要的,因?yàn)樗麄冎滥男┫鄬?duì)簡(jiǎn)單一些,但是這些其實(shí)是不準(zhǔn)確的,因?yàn)槊總€(gè)人的實(shí)力不一樣智商也不一樣,所以面對(duì)問(wèn)題所表現(xiàn)出來(lái)的感覺(jué)也不一樣,所以不能只聽(tīng)別人怎么說(shuō)我們就怎么做,但是我們長(zhǎng)期接受的教育使我們習(xí)慣于去接受,很少有思考并得到新的看法的。人要有自己獨(dú)立的思想,不依附于任何組織,以自己獨(dú)立思考后得出的結(jié)論發(fā)表有責(zé)任的言論,這才是獨(dú)立的精神,這對(duì)以后的工作是非常有用的,一個(gè)人想和別人不一樣那首先要擁有和別人不一樣的思想,因?yàn)樗枷胧且粋€(gè)人最重要 的武器。 中國(guó)石油大學(xué)(華 東)本科畢業(yè)設(shè)計(jì) (論文 ) 25 致 謝 大學(xué)的生活即將結(jié)束,雖然我學(xué)到了一些知識(shí),可是感覺(jué)大學(xué)里更重要的是培養(yǎng)一個(gè)人獨(dú)立的思想,就像上面的結(jié)論中說(shuō)的,只有一個(gè)人的思想解開(kāi)后他的創(chuàng)造力才能得到釋放,為什么我們國(guó)家現(xiàn)在只能模仿別人,錢(qián)學(xué)森也說(shuō)了,中國(guó)從 1949 年之后就沒(méi)有一所大學(xué)能夠按培養(yǎng)科學(xué)創(chuàng)新模式人才的道路辦學(xué),最主要的是沒(méi)有解放思想。 不管怎么說(shuō),還得感謝老師對(duì)我的關(guān)心,我是做的校外畢業(yè)設(shè)計(jì),不過(guò)仍然可以從老師這兒得到最新的消息,還要感謝大學(xué)四年來(lái)教過(guò)我的所有老師,是他們教會(huì)了我很多計(jì)算機(jī)領(lǐng)域的知識(shí),沒(méi)有他 們就沒(méi)有我的今天,還要感謝我單位的主管,也就是我的畢業(yè)設(shè)計(jì)指導(dǎo)老師,是他提供給我的設(shè)計(jì)思路以及幫我解答設(shè)計(jì)中的難題。最后,感謝在大學(xué)里使我擁有獨(dú)立思想的網(wǎng)絡(luò)紅人許四多,你們教給我的思想上的、文化和知識(shí)上的寶貴財(cái)富將影響我的一生。中國(guó)石油大學(xué)(華 東)本科畢業(yè)設(shè)計(jì) (論文 ) 26 參考文獻(xiàn) [1] 陳海燕,王文文 .機(jī)械工程師 —家用網(wǎng)絡(luò)攝像頭的設(shè)計(jì)與實(shí)現(xiàn) [J].哈爾濱:哈爾濱理工大學(xué)自動(dòng)化學(xué)院, . [2] 劉衛(wèi)宏 , 王金健 , 周薦 , 房汝明 , 趙麗君 .電子設(shè)計(jì)應(yīng)用 —HWBDVR 數(shù)字視頻錄像機(jī)設(shè)計(jì) [J].北京: 中廣電廣播電影電視設(shè)計(jì)研究院 , 北京華通為爾廣視科技有限公司 ,. [3] 未知 .DVR與 IPC 的軟件構(gòu)架 [J].臺(tái)灣 : 中華日?qǐng)?bào) , . [4] Json 維 基 百 科 . ,20xx0410. [5] 魏洪興,周亦敏 .嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開(kāi)發(fā)實(shí)驗(yàn)教材 I—基于 ARM 微處理器與μC/OSII 實(shí)時(shí)操作系統(tǒng) [M].北京:清華大學(xué)出版社, . [6] 豈興明,胡小冬, 周火金 .DSP 嵌入式開(kāi)發(fā)入門(mén)與典型實(shí)例 [M].北京:人民郵電出版社, . [7]王剛 .Linux命令、編輯器與 Shell 編程 [M].北京:清華大學(xué)出版社, . [8] Jan Axelson,Embedded Ether and Inter Complete[M].北京:北京航空航天大學(xué)出版社, . [9]胡成華 .嵌入式網(wǎng)絡(luò)編程 [M].北京:電子工業(yè)出版社, . [10]周偉明 .多核計(jì)算與程序設(shè)計(jì) [M].武漢:華中科技大學(xué)出版社, .
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1