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