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

正文內(nèi)容

c基于局域網(wǎng)linux環(huán)境下的心跳檢測系統(tǒng)實現(xiàn)(doc畢業(yè)設(shè)計論文)(專業(yè)版)

2025-08-09 07:57上一頁面

下一頁面
  

【正文】 寫論文中,又給我介紹ROSE、VISIO等工具的使用。通常我們用黑盒測試的方法來發(fā)現(xiàn)那些不可預見的問題。}第三節(jié) 本章小節(jié)這一章是介紹了系統(tǒng)的需求分析和詳細設(shè)計。} 定期檢查心跳注冊表線程定期檢查注冊表線程check_hb()負責掃描心跳注冊表,對于一個表項,如果state為BUSY,flag為0就表示該節(jié)點注冊了但沒收到心跳報文;如果state為BUSY,flag為1則表示該節(jié)點正常,這時應(yīng)該將flag設(shè)置為0,等到接收到下一個心跳報文時再設(shè)置為1,代碼如下:void* check_hb(void *p3){ int i=0。 while(1){ int i=recvfrom(sock_udp,(char*)h_b,sizeof(structheart_beat),0,address,amp。=address。 flag=1。主控節(jié)點hb_table結(jié)構(gòu)中的state和flag字段構(gòu)成了一個有限狀態(tài)機,如圖55所示。 檢查hb_table中的各個表項。 struct sockaddr_in addr。響應(yīng)報文:struct respond{ char type。define HEART_BEAT_TABLE_SIZE 64static struct Heart_Beat hb_table[HEART_BEAT_TABLE_SIZE]。主控節(jié)點在接收到外圍節(jié)點的注冊報文后,將回送許可報文。通過以上分析,可以很確定這一系統(tǒng)的可行性,可以放心地開始下一階段的任務(wù)了。首先通信雙方都要利用socket()函數(shù)創(chuàng)建套接字,然后將本機IP地址和端口通過bind()函數(shù)與套接字綁定。 gethostbyaddr()函數(shù)可以實現(xiàn)從32為無符號整數(shù)到主機名稱的轉(zhuǎn)換。Linux操作系統(tǒng)提供了一系列函數(shù)實現(xiàn)這幾種格式之間的轉(zhuǎn)換。如果調(diào)用成功,返回0;否則返回1,并設(shè)置錯誤代碼到errno。下面就是本系統(tǒng)所用到的socket編程函數(shù): 創(chuàng)建套接字:int socket( int domain, int type, int protocol )。   O,對程序進行優(yōu)化編譯、連接,采用這個選項,整個源代碼會在編譯、連接過程中進行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行文件的執(zhí)行效率可以提高,但是,編譯、連接的速度就相應(yīng)地要慢一些。最初,GCC只是一個C語言編譯器,它是GNU C Compiler 的英文縮寫。其中第一條詳細來講就是系統(tǒng)中的所有都歸結(jié)為一個文件,包括命令、硬件和軟件設(shè)備、操作系統(tǒng)、進程等等對于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特性或類型的文件。嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。用于檢測網(wǎng)絡(luò)的異常斷開。s world has the rapid development ,but also produces so many network failure, heartbeat detection technology is a detection technology as a network failure detection , and has much demand in today39。s server market..Heartbeat detection technology is a network connection failure detection technology, server and client need only install on each heartbeat detection software, you can send packets to monitor heart failure, determine whether the various network nodes is in the normal .In this paper, the heartbeat detection technology implementation in the Linux platform, designed a run in LAN heartbeat detection system. The system uses TCP / UDP protocol, to C / S model for development. Server acts as the master node, the client acts as the external nodes, through the heartbeat messages sent by the client to achieve the heartbeat detection methods. System used in local area network node can achieve a high success rate.【Key words】Heartbeat detection Master node Peripheral node Message Linux目 錄ABSTRACT 2前 言 4第一章 系統(tǒng)簡介 6第一節(jié) 心跳檢測機制 6第二節(jié) 本文設(shè)計的心跳檢測系統(tǒng) 6第三節(jié) 本章小結(jié) 7第二章 開發(fā)環(huán)境、工具和技術(shù) 8第一節(jié) Linux的介紹 8第二節(jié) GCC簡介 9一、什么是GCC 9二、GCC的基本規(guī)則 10三、GCC的基本用法 10四、執(zhí)行過程 11第三節(jié) linux下的網(wǎng)絡(luò)編程技術(shù) 11一、socket編程介紹 11二、TCP/UDP開發(fā)簡介 16第四節(jié) 本章小結(jié) 17第三章 系統(tǒng)的分析與設(shè)計 18第一節(jié) 需求分析 18一、問題定義 18二、可行性研究 18三、用戶需求 18四、系統(tǒng)整體用例圖 19第二節(jié) 概要設(shè)計 19一、設(shè)計指導思想 20二、心跳檢測系統(tǒng)的整體結(jié)構(gòu)圖 20三、總體設(shè)計 21第三節(jié) 詳細設(shè)計 22一、心跳表注冊表的設(shè)計 22二、報文格式的設(shè)計 24三、外圍節(jié)點的設(shè)計 26四、主控節(jié)點的設(shè)計 27第四節(jié) 本章小結(jié) 31第四章 心跳檢測系統(tǒng)的實現(xiàn) 32第一節(jié) linux下開發(fā)環(huán)境 32一、編譯環(huán)境 32二、運行環(huán)境 33第二節(jié) 程序的實現(xiàn) 35一、外圍節(jié)點的實現(xiàn) 35二、主控節(jié)點的設(shè)計 37第三節(jié) 本章小節(jié) 40第五章 系統(tǒng)測試 41第一節(jié) 測試環(huán)境 41第二節(jié) 測試方法 41一、黑盒測試 42二、測試步驟 42第三節(jié) 本章小結(jié) 48結(jié) 論 49參考文獻 51附 錄 52一、英文原文 52二、中文翻譯 56前 言網(wǎng)絡(luò)是一個龐大復雜的系統(tǒng),有成千上萬臺設(shè)備節(jié)點,經(jīng)常會出現(xiàn)連接故障,我們不可能用人力去監(jiān)測,這時負責監(jiān)測網(wǎng)絡(luò)故障的心跳檢測軟件由此產(chǎn)生。發(fā)包方可以是客戶端也可以是服務(wù)器端,看哪邊實現(xiàn)方便合理。Linux得名于計算機業(yè)余愛好者Linus Torvalds。至于說Linux是基于Unix的,很大程度上也是因為這兩者的基本思想十分相近。隨著眾多自由開發(fā)者的加入和GCC自身的發(fā)展,如今的GCC已經(jīng)是一個包含眾多語言的編譯器了。   O2,比O更好的優(yōu)化編譯、連接,當然整個編譯、連接過程會更慢。   應(yīng)用程序調(diào)用socket函數(shù)來創(chuàng)建一個能夠進行網(wǎng)絡(luò)通信的套接字。 UDP協(xié)議的發(fā)送數(shù)據(jù)UDP協(xié)議需要通過sendto()函數(shù)實現(xiàn)一個數(shù)據(jù)包的發(fā)送,這是因為UDP協(xié)議提供的是以數(shù)據(jù)包為單位的傳輸,而TCP協(xié)議提供的是以字節(jié)流為單位的傳輸。includearpa/in_addr_t inet_addr(char* cp)。includestruct hostent *gethostbyaddr(const void *addr,socklen_t len,int type)。綁定后,可以直接使用sendto()函數(shù)向?qū)Ψ桨l(fā)送消息。三、用戶需求本系統(tǒng)分為外圍節(jié)點和主控節(jié)點的設(shè)計,它們有各自的功能:外圍節(jié)點功能 外圍節(jié)點所需要完成的功能相對簡單,它只需要先發(fā)送登錄報文進行注冊,收到主控節(jié)點的反饋報文之后,定期(每隔一秒)發(fā)送心跳報文即可,不涉及太多功能。外圍節(jié)點在接收到許可報文后,將進入心跳檢測狀態(tài)。statestate有IDLE和BUSY兩種狀態(tài),各自的定義如下: define IDLE 0define BUSY 1只有設(shè)備正常工作時state才為BUSY,否則為IDLE。 int index。}。 如果發(fā)現(xiàn)有表項的state為BUSY,而且flag為1,則設(shè)置flag為0 如果發(fā)現(xiàn)有表項的state為BUSY,而且flag為0,則設(shè)置此表項的state為IDLE,并向用戶顯示,此外圍節(jié)點連接中斷。因此外圍節(jié)點雖然在功能實現(xiàn)上很簡單,但是由于它要發(fā)送登錄報文和定期心跳報文,所以對它的設(shè)計關(guān)鍵是在各種報文發(fā)送的時間上。 break。int ret=pthread_create(th_accept_login,NULL,accept_login,amp。sock_len)。 while(1){ pthread_mutex_lock(amp。需求分析主要是介紹系統(tǒng)主控節(jié)點和外圍節(jié)點分別完成的功能,然后介紹了系統(tǒng)用例圖。在測試過程中盡力做到測試數(shù)據(jù)的全面,有限的測試數(shù)據(jù)不是很容易發(fā)現(xiàn)系統(tǒng)中存在的致命錯誤。 最后,還要向參加論文審閱、答辯的專家和老師表示感謝!你們辛苦了!向所有關(guān)心我和幫助我的人表示誠摯的謝意! 參考文獻[1]陳虎, 吳濤. 嵌入式系統(tǒng)課程設(shè)計 [M]. 北京: 機械工業(yè)出版社, 2005.[2] 謝長生;胡慶平;譚志虎.“ HeartbeatGear:一種新型的實時心跳檢測技術(shù)[J]”. 計算機工程與科學,2004年 26期 :6265頁.[3]GCC百科 . [4] Neil Matthew,Richard Stones. Beginning Linux Programming [M]. 北京:人民郵電出版社, 2007.[5]TCP檢測 . [6] Peter Baer Galvin, Greg Gagne. Operating System Concepts[M]. 北京: 高等教育出版社2008.[7] Stevens. Unix環(huán)境高級編程(第二版) [M]. 北京: 人民郵電出版社, 2004.[8] 葉樹華, 高志紅. 網(wǎng)絡(luò)編程實用教程 [M]. 北京: 人民郵電出版社, 2006.[9] Alan Wood.Availability Modeling[J].IEEE Circuits and DevicesMagazine,1994。 再次,要感謝林業(yè)貴,章祥,陳龍等同學,他們給我介紹了Linux下的網(wǎng)絡(luò)編程,并幫我調(diào)試程序。二、測試步驟我們首先啟動主控節(jié)點(),此時,主控節(jié)點已經(jīng)阻塞,等待外圍節(jié)點注冊報文的到來,: 主控節(jié)點啟動這時,啟動Ubuntu虛擬機的外圍節(jié)點1(),啟動后主控節(jié)點將槽口號0分配給它,: 外圍節(jié)點1注冊成功外圍節(jié)點得到了主控節(jié)點的反饋信息connect success和register success,隨后又顯示了外圍節(jié)點所分配到的槽口號,而后就是發(fā)送心跳報文,heartbeat package is sended是心跳報文的發(fā)送消息,每隔一秒發(fā)送一次,因此這條發(fā)送消息也會每隔一秒鐘顯示一次: 外圍節(jié)點1得到反饋信息并發(fā)送報文啟動外圍節(jié)點2,并發(fā)送心跳報文,外圍節(jié)點獲得反饋信息,并每隔一秒發(fā)送心跳報文,: 外圍節(jié)點2注冊成功 外圍節(jié)點獲得反饋信息并發(fā)送心跳報文這時,我們斷開外圍節(jié)點1,此時主控節(jié)點將顯示出節(jié)點發(fā)生網(wǎng)絡(luò)故障的信息——this node errors?。?,表示槽口號0對應(yīng)的節(jié)點(外圍節(jié)點1)出現(xiàn)網(wǎng)絡(luò)連接故障,: 外圍節(jié)點1斷開這時,斷開外圍節(jié)點2,主控節(jié)點端也將顯示出相應(yīng)的出錯信息,: 外圍節(jié)點2斷開第三節(jié) 本章小結(jié)在程序?qū)⒁瓿梢院?,對系統(tǒng)作個全面的測試是必須的。 } return NULL。 } } return NULL。 int sock_len=sizeof(struct sockaddr)。=confd。 sleep(1)。經(jīng)過此握手過程后,主控節(jié)點向外圍節(jié)點發(fā)送該設(shè)備在hb_table數(shù)組中的編號(槽口號),外圍節(jié)點在后續(xù)的心跳報文中將提供這個編號供主控節(jié)點快速訪問該設(shè)備的狀態(tài)信息。轉(zhuǎn)至2 接收外圍節(jié)點心跳檢測報文線程程序結(jié)構(gòu)圖3 、定期檢查節(jié)點注冊表線程執(zhí)行如下算法: 睡眠1秒。 unsigned int device_ID。type登錄報文的type為0x01device_ID外圍節(jié)點注冊時提供的設(shè)備號登錄報文是外圍節(jié)點向主控節(jié)點進行注冊信息時,通過TCP連接發(fā)送的,外圍節(jié)點需要提供自己的設(shè)備號即可,主控節(jié)點修改心跳注冊表完成對外圍節(jié)點的注冊。}。心跳檢測過程包括以下幾個步驟:連接的建立 外圍節(jié)點啟動,將首先與事先約定的主控節(jié)點IP地址建立TCP連接,并向主控節(jié)點注冊該外圍節(jié)點的設(shè)備號信息。③ 自身素質(zhì)因素通過大學四年的學習,我打下了堅實
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1