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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-linux下遠(yuǎn)程考試服務(wù)器端處理系統(tǒng)-文庫(kù)吧資料

2024-09-19 21:05本頁(yè)面
  

【正文】 記 錄 登 錄 時(shí) 間所 剩 時(shí) 間派 生 子 進(jìn) 程失 敗 信 息退 出成 功 ?關(guān) 閉 連 接 是設(shè) 定 時(shí) 鐘否 失 敗 信 息等 待信 號(hào) ?子 進(jìn) 程 信 號(hào)回 收 子 進(jìn) 程時(shí) 鐘 信 號(hào)時(shí) 間 提 示 等 待子 進(jìn) 程 信 號(hào)無 圖 客戶端父進(jìn)程要設(shè)計(jì)的主要模塊有: 一是 登錄驗(yàn)證模塊,先連接服務(wù)然后輸入學(xué)號(hào),口令發(fā)送過去,接收服務(wù)器回送的登錄結(jié)果,然后產(chǎn)生相應(yīng)的成功或者失敗標(biāo)識(shí);二是考試時(shí)間處理模塊 ,讀取服務(wù)器回送的時(shí)間,根據(jù)本客戶端成功登錄時(shí)間,用考試結(jié)束時(shí)間減去成功登錄時(shí)間,返回考試所剩時(shí)間;三是派生子進(jìn)程模塊, 父進(jìn)程成功派生子進(jìn)程時(shí)關(guān)閉數(shù)據(jù)連接,若失敗則退出,然后設(shè)定一個(gè)時(shí)鐘信號(hào)和子進(jìn)程退出信號(hào)和設(shè)定它們的信號(hào)處理函數(shù),開始等待信號(hào)的到來,時(shí)鐘信號(hào)到來時(shí),進(jìn)行考試時(shí)間提示,子進(jìn)程信號(hào)到來時(shí),回收子進(jìn)程,再成功退出。 服務(wù)器子進(jìn)程模塊 服務(wù)器子進(jìn)程處理流程圖: 子 進(jìn) 程數(shù) 據(jù) 結(jié) 束 ?用 戶 登 錄 信 息是登 錄 記 錄否回 應(yīng) 失 敗本 地 信 息解 鎖用 戶 存 在 ?是 否回 應(yīng) 成 功退 出回 應(yīng) 失 敗回 送 試 題超 時(shí) ?是 寫 入 默 認(rèn) 答 案寫 入 答 案否退 出成 功 ?加 鎖是用 戶 存 在 ?否數(shù) 據(jù) 結(jié) 束 ?是否等 待 答 案異 ?;?應(yīng) 成 功斷 開 連 接記 錄 錯(cuò) 誤未 知 錯(cuò) 誤退 出解 鎖記 錄 錯(cuò) 誤寫 入 默 認(rèn) 答 案寫 入 默 認(rèn) 答 案寫 入 記 錄是否 圖 子進(jìn)程關(guān)閉繼承來的監(jiān)聽套接口描述符,使用繼承而來的連接套接口和客戶通信,負(fù)責(zé)驗(yàn)證用戶的合法性,回傳試題和接收對(duì)應(yīng)用戶的答案,返回相關(guān)信息。 在考試后期,還要處理回收退出的子進(jìn)程。 在系統(tǒng)設(shè)計(jì)時(shí),要充分考慮 對(duì) 各種出錯(cuò)情況的處理,包括網(wǎng)絡(luò)錯(cuò)誤,用戶輸入的錯(cuò)誤,系統(tǒng)本身的缺陷等 ,特別是要對(duì)用戶的錯(cuò)誤輸入敏感,能夠很好地處理各種錯(cuò)誤是系統(tǒng)可靠性的必要條件。理論上說,可靠的軟件系統(tǒng)應(yīng) 該是正確、完整、一致和健壯的。 軟件可靠性 (Software Reliability)是軟件系統(tǒng)固有特性之一 ,它表明了一個(gè)軟件系統(tǒng)按照用戶的要求和設(shè)計(jì)的目標(biāo),執(zhí)行其功能的正確程度。 在設(shè)計(jì)并發(fā)性時(shí),采用多進(jìn)程并發(fā)處理的方式,就是為了以后方便程序功能的擴(kuò)展, 模塊化的設(shè)計(jì)思想也使系統(tǒng)有很好的可擴(kuò)展性。 可擴(kuò)展性反映了軟件適應(yīng) “ 變化 ” 的能力。 系統(tǒng)可擴(kuò)展性 設(shè)計(jì)良好的代碼允許更多的功能在必要時(shí)可以被插入到適當(dāng)?shù)奈恢弥小?要提高設(shè)計(jì)的緊湊性,有一個(gè)精妙但強(qiáng)大的方法,就是圍繞 “ 解決一個(gè)定義明確的問題 ” 的強(qiáng)核心算法組織設(shè)計(jì),避免臆斷和捏造。 系統(tǒng)結(jié)構(gòu)緊湊性 緊湊性就是一個(gè)設(shè)計(jì)能否裝進(jìn)人腦中的特性,測(cè)試軟件緊湊性的一個(gè)很實(shí)用的好方法是:有經(jīng)驗(yàn)的用戶通常需要操作手冊(cè) 的輔助 嗎?如果不需要,那么這個(gè)設(shè)計(jì)就是緊湊的 。直接輸入相應(yīng)命令的方式可以很方便快捷地和系統(tǒng)進(jìn)行交互,得到快速的響應(yīng),同時(shí)實(shí)用性表現(xiàn)在系統(tǒng)可以滿足一 個(gè)作為考試服務(wù)器的軟件應(yīng)有的功能需求 ,達(dá)到作為一個(gè)服務(wù)器軟件應(yīng)有的標(biāo)準(zhǔn)。 同時(shí)要設(shè)計(jì)很完善的網(wǎng)絡(luò)出錯(cuò)判斷模塊,系統(tǒng)要根據(jù)不同的原因采取不同的處理辦法,防止因網(wǎng)絡(luò)故障而丟棄客戶端提交的答案或者使合法的用戶無法登錄。同時(shí)要很好地處理這些錯(cuò)誤,防止系統(tǒng)崩潰。故系統(tǒng)的錯(cuò)誤處理需求也是很重要和必要的。最理想 的是本地客戶端也可實(shí)現(xiàn)禁止再登錄。然后,正確刪除本地臨時(shí)文件。 此外,當(dāng)收到服務(wù)器保存答案的消息是不成功時(shí) ,要實(shí)現(xiàn)重建連接,再 次提交,直到提交成功為止,本系統(tǒng)客戶端 未能 很好地 提供此功能, 即客戶端的網(wǎng)絡(luò)故障處理能力,此乃客戶端的不足 。當(dāng)客戶端超過一定時(shí)間不提交答案時(shí),客戶端會(huì)有主動(dòng)提示考試所剩時(shí)間,在客戶超時(shí)沒有提交答案的情況下,會(huì)因設(shè)定的時(shí)鐘信號(hào)而被強(qiáng)制退出。同時(shí),網(wǎng)絡(luò)通信技術(shù)的成熟也為可靠性和實(shí)時(shí)性提供了有力的保障。 更重要的是: 要對(duì)考試時(shí)長(zhǎng)進(jìn)行正確的判斷。對(duì)傳輸中突然斷線的用戶 數(shù)據(jù) 要進(jìn)行相應(yīng)處理 ,即要有對(duì)網(wǎng)絡(luò)出錯(cuò)故障的處理能力;對(duì)用戶回送的答案要進(jìn)行正確的保存,拒絕已提交答案用戶再登錄成功 。 考試 服務(wù)器 端處理系統(tǒng) 與普通 客戶端應(yīng)用系統(tǒng)性能 的主要區(qū)別如下: ① 并發(fā)性(要求 運(yùn)算速度快 ) ; ② 數(shù)據(jù)庫(kù)要求 存儲(chǔ)容量大(包括內(nèi)存容量和硬盤容量); ③ 可靠性和穩(wěn)定性 ; ④安全性 和實(shí)時(shí)性 由于考試服務(wù)器 面對(duì)的客戶數(shù)量是幾十甚至上百千,故對(duì) 服務(wù)器的并發(fā)處理能力要求很高, 運(yùn)算速度快 , 內(nèi)存容量和硬盤容量 大作為服務(wù)器的硬件基礎(chǔ),是滿足多用戶數(shù)據(jù)并發(fā)計(jì)算的前提條件 。 本人正努力學(xué)習(xí)相關(guān)知識(shí),致力于應(yīng)用正規(guī)數(shù)據(jù)庫(kù)開發(fā)考試服務(wù)器, 希望能夠更好地改善系統(tǒng),爭(zhēng)取能取得長(zhǎng)足的進(jìn)步。本系統(tǒng)不夠完善的地方就是沒能提供在服務(wù)器端保存多套試題,同時(shí)發(fā)放或任意抽取一份用于實(shí)際考試 ,此為不足之一; 作為遠(yuǎn)程考試系統(tǒng),系統(tǒng)維護(hù)管理中應(yīng)該提供權(quán)限設(shè)置,題庫(kù)管理,考試管理等功能,其中題庫(kù)管理應(yīng)該包括試題的錄入,刪除,修改,瀏覽等功能。 2 系統(tǒng) 需求分析 服務(wù)器端 功 能需求 基于 Liunx 作為服務(wù)器的穩(wěn)定性,數(shù)據(jù)庫(kù)要實(shí)現(xiàn)保存用戶信息,保存試題,保存用戶提交的答案。或用戶是超級(jí)用戶但進(jìn)程表滿,或者用戶不是超級(jí)用戶但達(dá)到單個(gè) 用戶能執(zhí)行的最大進(jìn)程數(shù)。 fork()函數(shù) pid_t fork(void)。信號(hào)處理句柄可能是用戶指定的函數(shù), SIG_IGN 或 SIG_DFL。失敗返回 SIG_ERR。 handler:新的信號(hào)處理句柄。 signal()函數(shù) typedef void (*sighandler_t)(int)。如果參數(shù) seconds 為 0,則之前設(shè)置的鬧鐘會(huì)被取消,并將剩下的時(shí)間返回。 SEEK_SET、 SEEK_CUR 和 SEEK_END 是 System V 引入的,在這之前使用的是 0、1 和 2。 2. 如果 whence 是 SEEK_CUR,文件偏移量將被設(shè)置為 當(dāng) 前文件偏移量 加上 offset, offset 可以為正也可以為負(fù)。 如果錯(cuò)誤為 EINTR 表示在寫的時(shí)候出現(xiàn)了中斷錯(cuò)誤 , 如果為 EPIPE 表示網(wǎng)絡(luò)連接出現(xiàn)了問題 (對(duì)方已經(jīng)關(guān)閉了連接 。 在網(wǎng)絡(luò)程序中 ,當(dāng)我們向套接字文件描述符寫時(shí)有倆種可能 : 的返回值大于 0,表示寫了部分或者是全部的數(shù)據(jù) 。 失敗時(shí)返回 1。 ssize_t write(int fd,const void *buf,size_t nbytes) write 函數(shù) 將 buf 中的 nbytes 字節(jié)內(nèi)容寫入文件描述符 fd。 E. 從面向記錄( recordoriented)的設(shè)備讀取時(shí),某些面向記錄的設(shè)備(如磁帶)每次最多只能返回一個(gè)記錄。 C. 從網(wǎng)絡(luò)讀取時(shí),網(wǎng)絡(luò)緩存可能導(dǎo)致讀取的字節(jié)數(shù)小于 nbytes 字節(jié)。此時(shí)再使用 read 函數(shù)作用于這個(gè)文件會(huì)導(dǎo)致 read 返回 0 。以下幾種情況會(huì)導(dǎo)致讀取到的字節(jié)數(shù)小于 nbytes : A. 讀取普通文件時(shí),讀到文件末尾還不夠 nbytes 字節(jié)。 第三個(gè)參數(shù)可以使用 sizeof(structsockaddr)而獲得。 connect()函數(shù) int connect(int sockfd,struct sockaddr* serv_addr,int addrlen) 第一個(gè)參數(shù)還是套接口文件描述符,它是由系統(tǒng)調(diào)用 socket()返回的。通過它你可以了解哪個(gè)主機(jī)在哪個(gè)端口呼叫你。 第二個(gè)參數(shù) addr 是指向本地的數(shù)據(jù)結(jié)構(gòu) sockaddr_in 的指針。 系統(tǒng)調(diào)用 socket()只返回一個(gè)套接口描述符,如果出錯(cuò),則返回 1。 第二個(gè)參數(shù)是套接口的類型: SOCK_STREAM 或 SOCK_DGRAM。數(shù)據(jù)包套接字使用者數(shù)據(jù)包協(xié)議 UDP,數(shù)據(jù)只是簡(jiǎn)單地傳送到對(duì)方。流式套接字可用于 Tel 遠(yuǎn)程連接、 WWW 服務(wù)等需要使數(shù)據(jù)順序傳遞的應(yīng)用,它使用 TCP 協(xié)議保證數(shù)據(jù)傳輸?shù)目煽啃?。如果通過流式套接字 發(fā)送了順序的數(shù)據(jù): 2。套接字有 3種類型:流式套接字( SOCK_STREAM)、數(shù)據(jù)包套接字( SOCK_DGRAM)和原始套接字。通過將這 3 個(gè)參數(shù)結(jié)合起來,與一個(gè) “ 插座 ”Socket 綁定,應(yīng)用層就可以和傳輸層通過套接字接口,區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。 區(qū)分不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接,主要有 3個(gè)參數(shù):通信的目的IP 地址、使 用的傳輸層協(xié)議 (TCP 或 UDP)和使用的端口號(hào)。多個(gè) TCP 連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過同一個(gè) TCP 協(xié)議端口傳輸數(shù)據(jù)。 套接字簡(jiǎn)介 套接字,簡(jiǎn)單的說就是通信的兩方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程 。保證程序在指定的條件下停止。 GDB 主要能做四件事 (包括為了完成這些事而附加的功能 ),幫助用戶找出程序中的錯(cuò)誤。代碼優(yōu)化指的是編譯器通過分析源代碼,找出其中尚未達(dá)到最優(yōu)的部分,然后對(duì)其重新進(jìn)行組合,目的是改善程序的執(zhí)行性能,故在 Linux 平臺(tái)下用 C編寫高質(zhì)量的程序, GCC編譯平臺(tái)是一個(gè)很好的選擇。 gcc 是可以在多種硬體平臺(tái)上編譯出可執(zhí)行程序的超級(jí)編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30%。當(dāng)由于某種原因 TCP 通信無法進(jìn)行時(shí),會(huì)通過一定的手段通知應(yīng)用程序 , 但 TCP是一個(gè)面向字節(jié)流的協(xié)議,為了提高傳輸或重轉(zhuǎn)效率, TCP 可能會(huì)把應(yīng)用程序多次 write 的一段段數(shù)據(jù),粘接在一起作為一個(gè)數(shù)據(jù) 包,或者分解成多個(gè)數(shù)據(jù)包傳送, TCP協(xié)議無法為傳輸?shù)臄?shù)據(jù)提供邊界 記錄 ,故應(yīng)用程序應(yīng)設(shè)法利用這個(gè)可靠字節(jié)流傳送設(shè)計(jì)自己的數(shù)據(jù)表示格式以保持記錄邊界。 } struct in_addr{ unit 32_t s_addr。 struct in_addr sin_addr。 socket()的參數(shù)中 domain 的值一般為 AF_INET 族 ,它 的結(jié)構(gòu)體類型是: struct sockaddr_in{ sa_family_t sin_family。常用的 Socket 類型有兩種:流式 Socket— SOCK_STREAM和數(shù)據(jù)報(bào)式 Socket— SOCK_DGRAM。 Linux 網(wǎng)絡(luò)編程中使用的 Socket 數(shù)據(jù)傳輸是一種特殊的 I/O, Socket 也是一種文件描述符。 數(shù)據(jù)庫(kù)要實(shí)現(xiàn) 保存用戶信息,保存試題,保存用戶提交的答案 。在對(duì)大量關(guān)于網(wǎng)上考試系統(tǒng)資料的研究和學(xué)習(xí)后,根據(jù)工作的需要,針對(duì)本校實(shí)際情況特別是教學(xué)的需求,利用 學(xué)校校園網(wǎng)已有的基礎(chǔ)條件,研究開發(fā)適合本校使用的基于 校園網(wǎng) 的網(wǎng)上考試 服務(wù)器端處理 系統(tǒng) ,有助于 加快學(xué)?,F(xiàn)代化的發(fā)展,提高教學(xué)效率。 網(wǎng)絡(luò) 技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了劃時(shí)代的變化,考試從傳統(tǒng)的紙筆考試到計(jì)算機(jī)輔助考試再發(fā)展到基于 互聯(lián)網(wǎng) 的網(wǎng)上考試成為現(xiàn)實(shí)。例如國(guó)外一些著名的考試,如 Microsoft 公司的 MCSE(Microsoft系統(tǒng)工程師認(rèn)證考試 )、 GMAT(工商管理碩士入學(xué)考試 )、托福考試等,都是采用網(wǎng)上考試的形式進(jìn)行的 。在畢業(yè)設(shè)計(jì)的過程中, 多學(xué)習(xí)理論知識(shí)并且盡可能的自己動(dòng)手實(shí)踐,在實(shí)際 的環(huán)境下去鍛煉自己實(shí)際的能力,這就是本次畢業(yè)設(shè)計(jì)的意義與目的所在。利用這次畢業(yè)設(shè)計(jì)的機(jī)會(huì)把課堂上學(xué)來的東西,加以消化加以驗(yàn)證,理論與實(shí)踐相結(jié)合。軟件的實(shí)現(xiàn)并不只是簡(jiǎn)單的編程過程,一個(gè)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)需要用軟件工程的思想,將正確的管理技術(shù)和技術(shù)方法結(jié)合起來,采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)。 考試服務(wù)器 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)需要有 多進(jìn)程并發(fā)管理 ,文件傳輸 讀寫 管理 和 Linux 網(wǎng)絡(luò)編程的相關(guān)背景知識(shí),這樣才能對(duì) 考試服務(wù)器 系統(tǒng)的特性有了解,才能了解 考試服務(wù)器 系統(tǒng)的架構(gòu)和工作原理。使用 Linux 作為 考試 服務(wù)器,可以與 各種開源 開 源軟件共同使用,在滿足用戶需求的基礎(chǔ)上降低了系統(tǒng)價(jià)格,且非常穩(wěn)定。 在諸多支持網(wǎng)絡(luò)的操作系統(tǒng)中, Linux 以其優(yōu)秀的性能越來越引起人們的關(guān)注。不僅浪費(fèi)紙張,而且占用了老師的大量時(shí)間,導(dǎo)致教學(xué)效率低下。 server。 work programming。s working principle and working mechanism, and Linux work programming environment, the file operations, multiprocess (concurrent) management, implements a Linux LAN server system examination. The Design and Implementation of the examination server processing system is available on freeBSD version of redhat linux9 and other Unixoperating system pilation is successful, a specific code with GNU C programming
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1