網(wǎng)絡(luò)對(duì)于單機(jī)系統(tǒng)有著明顯的優(yōu)勢(shì),使得應(yīng)用軟件的計(jì)算環(huán)境從單機(jī)向網(wǎng)絡(luò)不斷的發(fā)展,產(chǎn)生了兩層Cfient/Server、三層Client/Server等兩種新型的計(jì)算模式,并迅速成為當(dāng)前主流的應(yīng)用,F(xiàn)代的應(yīng)用也不再停留于計(jì)算能力有限且資源不能共享的單機(jī)式的應(yīng)用,更多的是分布式的網(wǎng)絡(luò)集成應(yīng)用,其主要特點(diǎn)是具有良好的可擴(kuò)展性與資源可共享性。而這種分布式的網(wǎng)絡(luò)集成應(yīng)用需要大規(guī)模的可靠的服務(wù)器作為后臺(tái)支撐。網(wǎng)絡(luò)服務(wù)器的本質(zhì)是一種高性能的計(jì)算機(jī),但其作為網(wǎng)中的關(guān)鍵節(jié)點(diǎn),存儲(chǔ)并處理著網(wǎng)絡(luò)上80%的數(shù)據(jù)與信息。
我們與外界日常的生活、工作中的電話交流,必須經(jīng)過(guò)交換機(jī)才能與目標(biāo)通話。同樣,網(wǎng)絡(luò)中的終端設(shè)備如家庭或企業(yè)中的計(jì)算機(jī)獲取資訊,與外界交流溝通等,也必須經(jīng)過(guò)服務(wù)器,因此可以說(shuō)是網(wǎng)絡(luò)服務(wù)器在組織和領(lǐng)導(dǎo)著網(wǎng)絡(luò)中的設(shè)備。
1、網(wǎng)絡(luò)服務(wù)器的概念及分類(lèi)
1.1 網(wǎng)絡(luò)服務(wù)器概念
網(wǎng)絡(luò)需要管理和開(kāi)展服務(wù),這就需要特定的主機(jī)在網(wǎng)絡(luò)上承擔(dān)相應(yīng)的任務(wù)。管理和承擔(dān)服務(wù)的主機(jī)就叫做服務(wù)器。同樣,網(wǎng)絡(luò)需要通過(guò)軟件來(lái)完成相應(yīng)的通信與信息處理任務(wù)。但是網(wǎng)絡(luò)服務(wù)器與主機(jī)不同,主機(jī)是通過(guò)終端給用戶使用的,而服務(wù)器是通過(guò)網(wǎng)絡(luò)給客戶端用戶使用的。
1.2 網(wǎng)絡(luò)服務(wù)器類(lèi)型分析
在基于服務(wù)器的網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)中的主要設(shè)備,主要是用來(lái)管理網(wǎng)絡(luò)系統(tǒng)中共享的資源,包括大容量磁盤(pán),數(shù)據(jù)文件與高速打印機(jī)等。網(wǎng)絡(luò)服務(wù)器可以位于網(wǎng)絡(luò)中的任意節(jié)點(diǎn),尤其是在局域網(wǎng)中,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都是相互平等的,因此可以使用網(wǎng)絡(luò)中的任一臺(tái)機(jī)器作為服務(wù)器。在實(shí)際的網(wǎng)絡(luò)搭建中,往往將核心設(shè)備服務(wù)器放在中心機(jī)房,由專(zhuān)業(yè)人員進(jìn)行專(zhuān)門(mén)管理與維護(hù)。
服務(wù)器的分類(lèi)可以有很多種,根據(jù)不通的標(biāo)準(zhǔn)可以有不同的劃分,其中根據(jù)應(yīng)用層次的規(guī)模可以劃分為以下幾種:(1)入門(mén)級(jí)別服務(wù)器:屬于最低檔的服務(wù)器,其主要用在辦公室的文件與打印服務(wù)中。(2)工作組級(jí)別服務(wù)器:適于規(guī)模較小的網(wǎng)絡(luò),主要用于為中小企業(yè)提供Web與郵件等服務(wù)。(3)部門(mén)級(jí)別服務(wù)器:屬于中檔服務(wù)器,適合中型企業(yè)的數(shù)據(jù)中心、web網(wǎng)站等應(yīng)用。(4)企業(yè)級(jí)別服務(wù)器:屬于高檔服務(wù)器,具有超強(qiáng)的數(shù)據(jù)處理能力,可作為大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù)服務(wù)器。根據(jù)結(jié)構(gòu)又可劃分為以下幾種:(1)臺(tái)式服務(wù)器:這是最傳統(tǒng)的結(jié)構(gòu),臺(tái)式服務(wù)器具有較好的擴(kuò)展性。(2)機(jī)架式服務(wù)器:機(jī)架式服務(wù)器要安裝在l9英寸機(jī)柜里面,根據(jù)高度一般有l(wèi)U、2U、4U和6U等尺寸規(guī)格 (3)刀片式服務(wù)器:是一種高密度、高可用的服務(wù)器平臺(tái),成本低,該服務(wù)器設(shè)計(jì)主要為特殊應(yīng)用行業(yè)與高密度計(jì)算機(jī)環(huán)境服務(wù)。(4)機(jī)柜式服務(wù)器:它飛的機(jī)箱是機(jī)柜式的,需要在服務(wù)器中安裝很多的模塊式組件。
按服務(wù)器的處理器架構(gòu)劃分又可把服務(wù)器分為復(fù)指令架構(gòu)服務(wù)器、精簡(jiǎn)指令架構(gòu)服務(wù)器和超長(zhǎng)指令架構(gòu)服務(wù)器三種。
網(wǎng)絡(luò)服務(wù)器的類(lèi)型有文件服務(wù)器,打印服務(wù)器和應(yīng)用服務(wù)器。
(1)文件服務(wù)器
文件服務(wù)器是專(zhuān)們用來(lái)為網(wǎng)絡(luò)工作站提供數(shù)據(jù)文件與程序的。專(zhuān)用的文件服務(wù)器并不直接提供可直接運(yùn)行的應(yīng)用程序與數(shù)據(jù)處理的能力給工作站(又稱(chēng)為節(jié)點(diǎn)),而是將服務(wù)器中共享的應(yīng)用程序與數(shù)據(jù)復(fù)制到工作站,交由工作站上的處理器進(jìn)行處理。一臺(tái)普通的計(jì)算機(jī)即可作為文件服務(wù)器,但使用專(zhuān)用服務(wù)器作為文件服務(wù)器的傳輸性能將更好;ヂ(lián)網(wǎng)中能夠提供文件傳輸?shù)木褪且环N服務(wù)器 。
(2)打印服務(wù)器
該類(lèi)服務(wù)器主要用于打印服務(wù)控制。打印服務(wù)器管理著網(wǎng)絡(luò)中的打印請(qǐng)求,例如把接收到的打印請(qǐng)求存儲(chǔ)到打印隊(duì)列,待打印機(jī)空閑時(shí)將隊(duì)列中的打印請(qǐng)求發(fā)送到網(wǎng)絡(luò)打印機(jī)上進(jìn)行打印。局域網(wǎng)中可以沒(méi)有打印服務(wù)器,只需要將打印請(qǐng)求輸出到帶有打印機(jī)的工作站上進(jìn)行處理即可。但對(duì)于打印任務(wù)較繁重的網(wǎng)絡(luò),一般要專(zhuān)門(mén)設(shè)置打印服務(wù)器用于打印服務(wù)器的控制,這樣可以提高網(wǎng)絡(luò)打印的整體效率。
(3)應(yīng)用服務(wù)器
應(yīng)用服務(wù)器的主要任務(wù)是協(xié)助工作站運(yùn)行相關(guān)應(yīng)用程序并將運(yùn)行結(jié)果發(fā)送到相應(yīng)的工作站。在基于C/S架構(gòu)的網(wǎng)絡(luò)中,應(yīng)用服務(wù)器模式下,工作站就是一臺(tái)應(yīng)用服務(wù)器的遠(yuǎn)程終端,控制著網(wǎng)絡(luò)中的計(jì)算機(jī)。由于程序只在服務(wù)器端運(yùn)行,客戶端只負(fù)責(zé)發(fā)送請(qǐng)求與接收響應(yīng)請(qǐng)求,因此,客戶端機(jī)器只需要最基本的配置 這在擁有數(shù)目,眾多的客戶機(jī)的網(wǎng)絡(luò)中,可以大大減少網(wǎng)絡(luò)運(yùn)行成本與負(fù)載。在網(wǎng)絡(luò)中,遠(yuǎn)程登錄服務(wù)器即是一種應(yīng)用型的服務(wù)器。應(yīng)用服務(wù)器可以有很多種類(lèi),因特網(wǎng)中的瀏覽器與電子郵件的通信等都需要通過(guò)建立相關(guān)的服務(wù)器作為后臺(tái)支撐,這類(lèi)服務(wù)器就是應(yīng)用服務(wù)器 。
1.3 基本網(wǎng)絡(luò)服務(wù)器分類(lèi)
服務(wù)器可以使循環(huán)的,也可以是并發(fā)的,可以使用面向連接的或是無(wú)連接的傳輸。因此,服務(wù)器可以劃分以下四種一般的類(lèi)型:循環(huán)面向連接、循環(huán)無(wú)連接、并發(fā)面向連接、并發(fā)無(wú)連接。
(1)循環(huán)無(wú)連接服務(wù)器
循環(huán)無(wú)連接服務(wù)器是最常見(jiàn)的無(wú)連接服務(wù)器的形式,主要應(yīng)用于要求對(duì)每個(gè)請(qǐng)求都進(jìn)行簡(jiǎn)單處理的服務(wù)。循環(huán)無(wú)連接的服務(wù)器是無(wú)狀態(tài)的,易于理解且不易出錯(cuò)。
(2)循環(huán)面向連接的服務(wù)器
這也是一種相對(duì)比較常見(jiàn)的服務(wù)器形式,主要使用于需要可靠傳輸,且要求對(duì)每個(gè)請(qǐng)求都進(jìn)行簡(jiǎn)單處理的服務(wù)。由于創(chuàng)建與終止連接需要很大的開(kāi)銷(xiāo),因此該類(lèi)服務(wù)器響應(yīng)時(shí)間相對(duì)較長(zhǎng)。
(3)并發(fā)無(wú)連接服務(wù)器
并發(fā)無(wú)連接服務(wù)器并不常見(jiàn),服務(wù)器需要為每個(gè)請(qǐng)求任務(wù)創(chuàng)建多個(gè)進(jìn)程或線程。因此系統(tǒng)并發(fā)所獲得的效率是由所創(chuàng)建的進(jìn)程或者線程的開(kāi)銷(xiāo)決定的。為了證明并發(fā)性是可行的,一種方法是創(chuàng)建一個(gè)新的進(jìn)程或線程,且要求時(shí)間必須小于計(jì)算響應(yīng)所需要的時(shí)間,另一種方法是并發(fā)的請(qǐng)求能夠同時(shí)使用多個(gè)輸入輸出設(shè)備。
(4)并發(fā)面向連接的服務(wù)器
最普通的服務(wù)器形式,它不僅提供可靠地傳輸,還有并發(fā)處理多個(gè)請(qǐng)求的能力。服務(wù)有兩個(gè)基本的實(shí)現(xiàn)方式,一種是使用并發(fā)線程或并發(fā)進(jìn)程處理每一個(gè)連接,另一種是依靠單線程與異步I/O進(jìn)行多個(gè)連接的處理。
2、網(wǎng)絡(luò)服務(wù)器工作原理及應(yīng)用范圍比較
2.1 循環(huán)服務(wù)器的工作原理
循環(huán)服務(wù)器在一個(gè)時(shí)刻只能處理一個(gè)請(qǐng)求,服務(wù)的原型可以描述成以下形式:
while(1)
{
new_fd= 服務(wù)器接受客戶端的連接(new fd= accept(1isnfd,XX,XX));
進(jìn)行邏輯處理;
在new_fd上向客戶端發(fā)送消息;
Close new_ fd;
}
此進(jìn)程是逐個(gè)處理每個(gè)客戶端發(fā)送到服務(wù)器端的連接的,若一個(gè)客戶端發(fā)來(lái)一個(gè)連接請(qǐng)求,只要該連接還沒(méi)有完成響應(yīng)的任務(wù),該連接就會(huì)一直占用服務(wù)器的進(jìn)程,直至任務(wù)處理完畢后服務(wù)器才會(huì)關(guān)閉掉這個(gè)連接。
2.2 并發(fā)服務(wù)器的工作原理
并發(fā)服務(wù)器與循環(huán)服務(wù)器不同,它需要能在一定的時(shí)間內(nèi)為多個(gè)客戶端提供服務(wù)。例如,一個(gè)聊天服務(wù)器可能會(huì)為一個(gè)特定的客戶端服務(wù)多個(gè)小時(shí),在停止該客戶端服務(wù)之前服務(wù)器是不能等待的,除非它是在下一個(gè)客戶端請(qǐng)求到來(lái)之前的間隙時(shí)才可以等待。
服務(wù)器將提供的服務(wù)從守護(hù)進(jìn)程移至自己的進(jìn)程。由于每一個(gè)子進(jìn)程都可以繼承所有打開(kāi)的文件,新進(jìn)程不僅需要繼承父進(jìn)程套接字,還要繼承頂級(jí)套接字。“accept()返回的句柄”是指調(diào)用accept函數(shù)返回的套接字,頂級(jí)套接字是指頂級(jí)進(jìn)程初始打開(kāi)時(shí)的套接字。
然而當(dāng)服務(wù)進(jìn)程不需要這個(gè)套接字時(shí)就需要關(guān)閉它。守護(hù)進(jìn)程也不再需要程序返回的套接字,也要關(guān)閉掉它。否則,文件描述符將因此被耗盡。在服務(wù)進(jìn)程完成任務(wù)后,服務(wù)器將會(huì)關(guān)閉accept()返回的套接字socket,最后退出進(jìn)程。
在UNIX上,進(jìn)程的退出并不是真正的退出,而是返回到父進(jìn)程。在特殊情況下,父進(jìn)程會(huì)等待子進(jìn)程,并獲得返回值。但守護(hù)進(jìn)程不是簡(jiǎn)單的等待或者停止,這樣不符合創(chuàng)建進(jìn)程的目的。但若不使用等待,子進(jìn)程就有可能成為“僵尸”,一直徘徊著而不再有任何作用。
基于上述原因,守護(hù)進(jìn)程需要在初始化階段時(shí)就進(jìn)行信號(hào)處理的設(shè)置。信號(hào)SIGCHLD被設(shè)置后,守護(hù)進(jìn)程就可以從系統(tǒng)中清除假死進(jìn)程的返回值所占用的資源。這也是處理流程圖中會(huì)包含一個(gè)進(jìn)程信號(hào)設(shè)置過(guò)程的原因,它并不與其他過(guò)程有聯(lián)系。此外,很多服務(wù)器程序也會(huì)處理SIGHUP,將該信號(hào)作為超級(jí)用戶發(fā)出的要求配置文件重讀的信號(hào)。因此服務(wù)器不需要重啟或終止就能進(jìn)行信號(hào)參數(shù)的設(shè)置。
2.3 類(lèi)型比較
循環(huán)服務(wù)器每次處理時(shí)間短,但性能不高。并發(fā)服務(wù)器開(kāi)銷(xiāo)少,共享存儲(chǔ)器,同時(shí)可以監(jiān)控。但增加了編程的復(fù)雜性,必須使用同步機(jī)制協(xié)調(diào)線程對(duì)全局變量以及一些庫(kù)程序的訪問(wèn),還要注意相關(guān)可能影響整個(gè)進(jìn)程的系統(tǒng)函數(shù)的調(diào)用。
另外一種將循環(huán)與并發(fā)流程結(jié)合的服務(wù)器性能不錯(cuò),但結(jié)構(gòu)通常比單純的并發(fā)服務(wù)器更復(fù)雜。
3、循環(huán)與并發(fā)服務(wù)器算法流程及實(shí)例分析
3.1 循環(huán)服務(wù)器的算法流程
面向連接的循環(huán)服務(wù)器算法流程:(1)創(chuàng)建套接字并將其綁定到服務(wù)器端所提供服務(wù)的熟知端口上;(2)設(shè)置端口為被動(dòng)模式,已備為服務(wù)器所用;(3)從該套接字中接收下一個(gè)服務(wù)請(qǐng)求,并獲得新連接的套接字;(4)重復(fù)接收客戶端的請(qǐng)求,根據(jù)請(qǐng)求內(nèi)容,按照應(yīng)用協(xié)議向客戶端發(fā)出響應(yīng);(5)當(dāng)一個(gè)客戶端完成請(qǐng)求并完全接收響應(yīng)后,須關(guān)閉連接并返回步驟3以接受新的請(qǐng)求連接。無(wú)連接的循環(huán)服務(wù)器算法流程:(1)創(chuàng)建套接字并將其綁定到服務(wù)器端所提供服務(wù)的熟知端口上;(2)重復(fù)接收客戶端的請(qǐng)求,根據(jù)請(qǐng)求內(nèi)容,按照應(yīng)用協(xié)議向客戶端發(fā)出響應(yīng),循環(huán)服務(wù)器的工作流程如圖1所示:
圖1 循環(huán)服務(wù)器流程
3.2 并發(fā)服務(wù)器的并發(fā)流程算法流程
(1)面向連接的比并發(fā)服務(wù)器
主l、創(chuàng)建套接字并將其綁定到服務(wù)器端所提供服務(wù)的熟知端口上。保持該套接字為面向連接;主2、設(shè)置端口為被動(dòng)模式;主3、反復(fù)調(diào)用accept過(guò)程用來(lái)接收來(lái)自客戶端的下一個(gè)連接請(qǐng)求,同時(shí)創(chuàng)建新的進(jìn)程或線程以便處理服務(wù)器響應(yīng),從l、由主線程傳遞來(lái)的連接請(qǐng)求開(kāi)始;從2、使用該連接與客戶端進(jìn)行數(shù)據(jù)傳輸;讀取請(qǐng)求并及時(shí)發(fā)回響應(yīng);從3、關(guān)閉連接并退出。
(2)無(wú)連接的并發(fā)服務(wù)器
主1、創(chuàng)建套接字并將其綁定到服務(wù)器端所提供服務(wù)的熟知端口上,保持該套接字為無(wú)連接狀態(tài);主2、反復(fù)調(diào)用recvfrom過(guò)程以便接收來(lái)自客戶端的下一個(gè)請(qǐng)求,同時(shí)創(chuàng)建一個(gè)新的從線程來(lái)處理響應(yīng);從l、開(kāi)始于來(lái)自主進(jìn)程的特定請(qǐng)求和到該套接字的訪問(wèn);從2、根據(jù)應(yīng)用協(xié)議構(gòu)造響應(yīng)內(nèi)容,使用sendto將響應(yīng)內(nèi)容返回給客戶端;從3、退出。并發(fā)服務(wù)器的工作流程如圖2所示。
圖2 并發(fā)服務(wù)器工程流程
4、總結(jié)
近年來(lái)計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)絡(luò)服務(wù)器的重要性日益凸顯,特別是“云”概念的提出以后,計(jì)算機(jī)網(wǎng)絡(luò)對(duì)服務(wù)器更加依賴(lài)。本文針對(duì)現(xiàn)階段網(wǎng)絡(luò)中的服務(wù)器進(jìn)行了詳細(xì)的分析介紹。重點(diǎn)分析循環(huán)與并發(fā)服務(wù)器的工作原理以及工作流程,加深了對(duì)網(wǎng)絡(luò)服務(wù)器的理解與認(rèn)識(shí)。未來(lái)網(wǎng)絡(luò)服務(wù)器的發(fā)展將更加多樣化、智能化、規(guī);c集成化。隨著服務(wù)器規(guī)模的增加,服務(wù)器性能的提高,網(wǎng)絡(luò)終端的成本將得到很大程度的降低,網(wǎng)絡(luò)通信與維護(hù)也將變得更加便捷。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:網(wǎng)絡(luò)服務(wù)器的類(lèi)型分析和比較
本文網(wǎng)址:http://www.oesoe.com/html/support/11121512220.html