導航:首頁 > 編程語言 > javavfsnfs

javavfsnfs

發布時間:2023-01-21 13:48:37

Ⅰ 職業規劃(java)軟體開發方向的前景如何

很多人剛畢業時充滿活力,然而幾年的摸爬滾打後,沖勁就會慢慢減弱甚至消失。再加上IT大環境的
起伏不定,一旦無法跟上技術或者行業發展的步伐,便會迷茫。王洪超說:"以前晚上睡覺之前想事情,
經常都不知道自己以後做什麼。
這並不奇怪,工作的新鮮感褪程序員首先需要提高系統設計能力。從2000年以後,軟體業的編程思維和模式、方法發生了翻天覆地的轉變,與九十年代、甚至2000年前是完全不同的。但是,很多在企業工作的程序員的知識架構很難跟上。中科天博謝新華老師直率的指出:"現在很多程序員不是按照應該如何設計最好做得,而是按照我會什麼來做的,最終造成設計思想落後。現在做項目需要的是新的、巧的設計思想。我們可以將從無數次失敗中得到的理念告訴他們,包括如何學習,如何思考,技術變化的原因在哪裡,其核心在哪裡。這樣程序員的理解力就會完全不同。現在,對程序員的要求降低了,但對系統設計的要求提高了。所以程序員必須要提高系統設計的能力,否則永遠出不了頭。
而曾經從事過宏觀經濟研究工作的李巨鋒更喜歡從行業走向來談問題。他說:"現在中國純軟體公司
不多,但是,中國的經濟非常好,從整個社會的經濟和行業角度可以得出很多有價值的內容。很多人不了解行業的需求情況,因此做不了判斷。
跟隨一個快速發展的行業,就比較容易取得發展,而在一個發展緩慢的行業中成功就比較困難。當然,有了市場容量有多大和機會,並不代表一定會成功,但沒有這個因素成功的幾率會更低。工作一兩年的人,最關鍵的是要有一個方向感,不要太盲目,這就需要程序員有一定的判斷力。李巨鋒認為,電信行業新增的市場容量每年有1萬億,而且由於是新增市場,人員也比較容易進入。此外,中國的手機市場非常大,由於無線應用的迅速發展,可以預料,基於手機和電信結合的軟體的就業前景就比較好,事實證明,很多人也在向這個方面轉變。達內的成功與行業需求也不無關系,韓少雲說:"從金融和電信行業角度看,對軟體人才的需求每年以30-50%的比例增長。熟悉這兩個行業所需要的IT技術和背景的人才,需求量是最大,缺口也是最大的中國的信息管理軟體市場也是容易就業的市場。現在市場上有數不勝數的小管理軟體公司,這是同中國社會走轉型之路相關的。李巨鋒說,"基於商流、資金流、信息流、物流的行業都有相當的發展前景通過產權交易的商流,帶動資金流和信息流的發展。物流是新興的行業,這些都需要主流的IT技術。中國的物流成本現在是20.9%,美國是9.8%,差距非常很大,這其中有1萬億的市場容量,如果軟體和信息化!服務佔20%的份額,也有幾千億的市場,行業需求很大了。事實也證明供應鏈等類型的軟體市場發展非常迅猛而對於游戲,李巨鋒認為這不能稱之為一個產業,因為它不像電信那樣帶動很大的一個產業鏈,現在取得成功的只有幾個游戲,而且還主要偏重銷售,不是一個上下游的產業。盡管比較熱,但李巨鋒認為相比來說,至少一兩年內可能不會有很大的市場容量,這就需要進行判斷李巨鋒認為,已經工作兩年以上的程序員可以有幾種基本的職業規劃:技術專家、軟體架構師、實施顧問或銷售。其中程序員最主要的發展方向是資深技術專家,無論是Java還是.NET,還是資料庫領域,都要首先成為專家,然後才可能繼續發展為架構師。"盡管架構師的職位可以工作一輩子,待遇也非常好,對於科班出身的程序員最為適合,但這種工作職位非常有限。"一位畢業的學員到IBM軟體開發中心後,過了一年左右,開始請教其未來的發展,結合對方的情況,建議他先深入的技術,因為在中國架構師需要的:條件比較復雜,而且需求量也比較少。實施顧問和銷售就比較偏向市場了,除了一定的技術能力外,需要掌握很多IT以外的知識。這些發展方向對於從其他專業轉入IT的人員更為適合。比如用友就培養了很多實施顧問,這些人加上行業背景,收入也很高。要做行業專家,就要比自己的行業客戶還了解這個產業的發展現狀。李巨鋒說:"比如煙草行業,一定要了解大的趨勢,中國最多的煙民在哪裡,其實是在山西和遼寧,煙草行業的產業政策是什麼,直接導致我的需求是什麼,這些信息對於職業發展很重要。IBM的一些顧問都是行業內的資深專家,他們的發展就非常具有代表性對大多數人來說,首先是要專,在技術上做的比較深入,然後進行工作調整,把自己轉變為某個領域的專家,第三步,根據自己的情況,決定自己做軟體架構師還是高級的顧問銷售,另外一部分人可能就會走向行政管理,這和個人性格有關。要獲得職業成長,培訓也很有幫助。韓少雲說:"在北美,職業培訓是一種高端的培訓,即便是專業的人員也需要職業培訓。一個人在一生中需要經過很多職業培訓才能成為一個資深或者專業的人員。而在國內大家的觀念中,職業培訓還沒有被大家廣泛的認同。
對於更高級的技術人員,他們所關注的就不是解決基本的生活問題了。他們所關注的就是發展和成就感。從現在看,他們更為缺乏的是交流,尤其是和水平差不多或者更高的人進行交流。李巨鋒說:"我建議他們做一些國產的產品,做一些自主產權的技術。比如,我們還有產品開發的部門就在做國產資料庫設計職業規劃帶動更好的成長從中國的軟體開發人員的層次看,工作幾年以內處於初級水平的程序員占據最大的比例,至少在50%之上,高級的人員最多也就10%左右。但無論處在哪個層面,一定要有規劃,按照自己的個性和優勢做一些規劃。一個程序員的成長,學習過程中首先要讀到好書,然後是交到好的學友,找到好的老師,在這三個外圍的條件下,找到適合的工作環境,結合自己的特點,然後在一些重要的環節上遇到適合的人和合適的項目,這樣才能成功。有些職位可能在開始的時候不適合,但工作一段時間後,可能就可以走上更高的職位。最近,IBM軟體學院就開始做一個"軟體人才庫"的項目,為的就是跟蹤技術人員的成長,給他們在合適的時機提供合適的職位。業內人士說:"IT行業良性的人員流動也是很好的。有了一定的職業規劃,就需要補充自己缺乏的經驗,只有經歷過足夠的項目,才有可能不斷積累。對行業的判斷有一定的理解之後,對一般的企業適應起來是沒有問題的,但高級的人才需要長時間的積累。在中國,除了個人的基本技能,還需要具備一定的社會資源,行業資源和資本。學生要學會在提高智商的情況下,提高自己的情商。因為,在人和人交往中情商起很大的作用。技術人員需要慢慢改變自己的一些思維方式。個人成長要有意識的積累社會資源,認識相關的人,了解相關的政策和行業發展的過程和規則,這些東西是非技術的,非智商的,只要你關注就是可以得到的。我覺得最關鍵的就是多認識人,然後有意識的尋找合適的事情來做。情商也就需要有渠道,有多少人能夠幫助你,否則成不了。機遇和經歷對於職業的發展有相當的影響力。某些人或者某些事情都可能會影響到未來的發展。王洪超也認為成為微軟MVP是自己的一個轉折點,由於成為MVP,便有機會接觸更多的技術朋友和微軟人,為自己的發展奠定了基礎。總而言之,每個人至少三年要點評一下自己:是環境的原因,還是自己個人的原因,如果是環境的原因,可以考慮是否需要換地方,如果知道自己,可以調整自己或者設的目標現實一些。從一個普通的程序員做起,3年時間至少能夠做到做獨立需求分析和設計的。之後,就設法需要通過一個目標為自己輸送動力。這便是職業規劃

Ⅱ 什麼是虛擬文件系統優點是什麼linux常用的文件系統是什麼

你好
虛擬文件系統(vfs)是由sun
icrosystems公司在定義網路文件系統(nfs)時創造的。它是一種用於網路環專境的分布式屬文件系統,是允許和操作系統使用不同的文件系統實現的介面。
優點是:
vfs使linux同時安裝、支持許多不同類型的文件系統成為可能。vfs擁有關於各種特殊文件系統的公共界面,如超級塊、inode、文件操作函數入口等。實際文件系統的細節,統一由vfs的公共界面來索引,它們對系統核心和用戶進程來說是透明的。
linux
中經常使用
reiserfs
文件系統

Ⅲ 成為一個java的架構師要學習哪些知識

既然java架構師,首先你要是一個高級java攻城屍,熟練使用各種框架,並知道它們實現的原理。jvm虛擬機原理、調優,懂得jvm能讓你寫出性能更好的代碼;池技術,什麼對象池,連接池,線程池...:;java反射技術,寫框架必備的技術,但是有嚴重的性能問題,替代方案java位元組碼技術;nio,沒什麼好說的,值得注意的是"直接內存"的特點,使用場景;java多線程同步非同步;java各種集合對象的實現原理,了解這些可以讓你在解決問題時選擇合適的數據結構,高效的解決問題,比如hashmap的實現原理,好多五年以上經驗的人都弄不清楚,還有為什擴容時有性能問題?不弄清楚這些原理,就寫不出高效的代碼,還會認為自己做的很對;總之一句話越基礎的東西越重要,很多人認為自己會用它們寫代碼了,其實僅僅是知道如何調用api而已,離會用還差的遠。

熟練使用各種數據結構和演算法,數組、哈希、鏈表、排序樹...,一句話要麼是時間換空間要麼是空間換時間,這里展開可以說一大堆,需要有一定的應用經驗,用於解決各種性能或業務上的問題;有時間再補充。
熟練使用linux操作系統,必備,沒什麼好說的 。
熟悉tcp協議,創建連接三次握手和斷開連接四次握手的整個過程,不了解的話,無法對高並發網路應用做優化; 熟悉http協議,尤其是http頭,我發現好多工作五年以上的都弄不清session和cookie的生命周期以及它們之間的關聯。
系統集群、負載均衡、反向代理、動靜分離,網站靜態化 。
分布式存儲系統nfs,fastdfs,tfs,Hadoop了解他們的優缺點,適用場景 。
分布式緩存技術memcached,redis,提高系統性能必備,一句話,把硬碟上的內容放到內存里來提速,順便提個演算法一致性hash 。
工具nginx必備技能超級好用,高性能,基本不會掛掉的伺服器,功能多多,解決各種問題。
資料庫的設計能力,mysql必備,最基礎的資料庫工具,免費好用,對它基本的參數優化,慢查詢日誌分析,主從復制的配置,至少要成為半個mysql dba。其他nosql資料庫如mongodb。
還有隊列中間件。如消息推送,可以先把消息寫入資料庫,推送放隊列伺服器上,由推送伺服器去隊列獲取處理,這樣就可以將消息放資料庫和隊列里後直接給用戶反饋,推送過程則由推送伺服器和隊列伺服器完成,好處非同步處理、緩解伺服器壓力,解藕系統。
以上純粹是常用的技術,還有很多自己慢慢去摸索吧;因為要知道的東西很多,所以要成為一名合格的架構師,必須要有強大的自學能力,沒有人會手把手的教給你所有的東西。
想成為架構師不是懂了一大堆技術就可以了,這些是解決問題的基礎、是工具,不懂這些怎麼去提解決方案呢?這是成為架構師的必要條件。
架構師還要針對業務特點、系統的性能要求提出能解決問題成本最低的設計方案才合格,人家一個幾百人用戶的系統,訪問量不大,數據量小,你給人家上集群、上分布式存儲、上高端伺服器,為了架構而架構,這是最扯淡的,架構師的作用就是第一滿足業務需求,第二最低的硬體網路成本和技術維護成本。
架構師還要根據業務發展階段,提前預見發展到下一個階段系統架構的解決方案,並且設計當前架構時將架構的升級擴展考慮進去,做到易於升級;否則等系統瓶頸來了,出問題了再去出方案,或現有架構無法擴展直接扔掉重做,或擴展麻煩問題一大堆,這會對企業造成損失;
手機手工輸入的,想到哪裡寫到哪裡,很亂..做技術的,表達能力不強,將就著看吧,歡迎大家補充,互相學習交流,有學習有交流才有進步。
剛用知乎發現它的編輯器真難用,發布後段落前面的空格沒有了,存草稿後回車換行沒有了,剛剛重新整理了一下

Ⅳ 分散式檔案系統詳細資料大全

分散式檔案系統(Distributed File System)是指檔案系統管理的物理存儲資源不一定直接連線在本地節點上,而是通過計算機網路與節點相連。分散式檔案系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。例如,用戶可以「發表」一個允許其他客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來說就像使用本地驅動器一樣,下面是三個基本的分散式檔案系統。

基本介紹

簡介,決定因素,系統分類,網路檔案系統,Andrew系統,KASS系統,DFS系統,數據軟體,NFS介紹,NFS定義,NFS設計目標,NFS部分功能,VFS操作,AFS伺服器,KFS 檔案庫,實現價值,功能特點,相關名詞,

簡介

計算機通過檔案系統管理、存儲數據,而信息爆炸時代中人們可以獲取的數據成指數倍的增長,單純通過增加硬碟個數來擴展計算機檔案系統的存儲容量的方式,在容量大小、容量增長速度、數據備份、數據安全等方面的表現都差強人意。分散式檔案系統可以有效解決數據的存儲和管理難題:將固定於某個地點的某個檔案系統,擴展到任意多個地點/多個檔案系統,眾多的節點組成一個檔案系統網路。每個節點可以分布在不同的地點,通過網路進行節點間的通信和數據傳輸。人們在使用分散式檔案系統時,無需關心數據是存儲在哪個節點上、或者是從哪個節點從獲取的,只需要像使用本地檔案系統一樣管理和存儲檔案系統中的數據。

決定因素

檔案系統最初設計時,僅僅是為區域網路內的本地數據服務的。而分散式檔案系統將服務范圍擴展到了整個網路。不僅改變了數據的存儲和管理方式,也擁有了本地檔案系統所無法具備的數據備份、數據安全等優點。判斷一個分散式檔案系統是否優秀,取決於以下三個因素: l 數據的存儲方式,例如有1000萬個數據檔案,可以在一個節點存儲全部數據檔案,在其他N個節點上每個節點存儲1000/N萬個數據檔案作為備份;或者平均分配到N個節點上存儲,每個節點上存儲1000/N萬個數據檔案。無論採取何種存儲方式,目的都是為了保證數據的存儲安全和方便獲取。 l 數據的讀取速率,包括回響用戶讀取數據檔案的請求、定位數據檔案所在的節點、讀取實際硬碟中數據檔案的時間、不同節點間的數據傳輸時間以及一部分處理器的處理時間等。各種因素決定了分散式檔案系統的用戶體驗。即分散式檔案系統中數據的讀取速率不能與本地檔案系統中數據的讀取速率相差太大,否則在本地檔案系統中打開一個檔案需要2秒,而在分散式檔案系統中各種因素的影響下用時超過10秒,就會嚴重影響用戶的使用體驗。 l 數據的安全機制,由於數據分散在各個節點中,必須要採取冗餘、備份、鏡像等方式保證節點出現故障的情況下,能夠進行數據的恢復,確保數據安全。

系統分類

網路檔案系統

(NFS) 最早由Sun微系統公司作為TCP/IP網上的檔案共享系統開發。Sun公司估計大約有超過310萬個系統在運行NFS,大到大型計算機、小至PC機,其中至少有80%的系統是非Sun平台。 飛客數據恢復中心提供

Andrew系統

(AFS) 結構與NFS相似,由卡內基·梅隆大學信息技術中心(ITC)開發、現由前ITC職員組成的Transarc公司負責開發和銷售。AFS較NFS有所增強。

KASS系統

KASS File System(簡稱KFS)是開始軟體自主研發基於JAVA的純分散式檔案系統,功能類似於DFS、GFS、Hadoop,通過HTTP WEB為企業的各種信息系統提供底層檔案存儲及訪問服務,搭建企業私有雲存儲服務平台。

DFS系統

(DFS) 是AFS的一個版本,作為開放軟體基金會(OSF)的分散式計算環境(DCE)中的檔案系統部分。 分散式檔案系統 如果檔案的訪問僅限於一個用戶,那麼分散式檔案系統就很容易實現。可惜的是,在許多網路環境中這種限制是不現實的,必須採取並發控制來實現檔案的多用戶訪問,表現為如下幾個形式: 唯讀共享 任何客戶機只能訪問檔案,而不能修改它,這實現起來很簡單。 受控寫操作 採用這種方法,可有多個用戶打開一個檔案,但只有一個用戶進行寫修改。而該用戶所作的修改並不一定出現在其它已打開此檔案的用戶的螢幕上。 並發寫操作 這種方法允許多個用戶同時讀寫一個檔案。但這需要作業系統作大量的監控工作以防止檔案重寫,並保證用戶能夠看到最新信息。這種方法即使實現得很好,許多環境中的處理要求和網路通信量也可能使它變得不可接受。 NFS和AFS的區別 NFS和AFS的區別在於對並發寫操作的處理方法上。當一個客戶機向伺服器請求一個檔案(或資料庫記錄),檔案被放在客戶工作站的高速快取中,若另一個用戶也請求同一檔案,則它也會被放入那個客戶工作站的高速快取中。當兩個客戶都對檔案進行修改時,從技術上而言就存在著該檔案的三個版本(每個客戶機一個,再加上伺服器上的一個)。有兩種方法可以在這些版本之間保持同步: 無狀態系統 在這個系統中,伺服器並不保存其客戶機正在快取的檔案的信息。因此,客戶機必須協同伺服器定期檢查是否有其他客戶改變了自己正在快取的檔案。這種方法在大的環境中會產生額外的LAN通信開銷,但對小型LAN來說,這是一種令人滿意的方法。NFS就是個無狀態系統。 回呼(Callback)系統 在這種方法中,伺服器記錄它的那些客戶機的所作所為,並保留它們正在快取的檔案信息。伺服器在一個客戶機改變了一個檔案時使用一種叫回叫應答(callbackpromise)的技術通知其它客戶機。這種方法減少了大量網路通信。AFS(及OSFDCE的DFS)就是回叫系統。客戶機改變檔案時,持有這些檔案拷貝的其它客戶機就被回叫並通知這些改變。 無狀態操作在運行性能上有其長處,但AFS通過保證不會被回叫應答充斥也達到了這一點。方法是在一定時間後取消回叫。客戶機檢查回叫應答中的時間期限以保證回叫應答是當前有效的。回叫應答的另一個有趣的特徵是向用戶保證了檔案的當前有效性。換句話說,若一個被快取的檔案有一個回叫應答,則客戶機就認為檔案是當前有效的,除非伺服器呼叫指出伺服器上的該檔案已改變了。

數據軟體

Yonghong Z-Data Mart Yonghong Data Mart是一款數據存儲、數據處理的軟體。 Yonghong Data Mart採用基於ZDFS的分散式列存儲系統,就是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲套用的需要。分散式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。 Yonghong Data Mart的分散式檔案存儲系統 (ZDFS)是在Hadoop HDFS基礎上進行的改造和擴展,將伺服器集群內所有節點上存儲的檔案統一管理和存儲。這些節點包括唯一的一個NamingNode,在 ZDFS 內部提供元數據服務;許多MapNode,提供存儲塊。存儲在 ZDFS 中的檔案被分成塊,然後將這些塊復制到多個計算機中(Map Node)。這與傳統的 RAID 架構大不相同。塊的大小和復制的塊數量在創建檔案時由客戶機決定。Naming Node監控存在伺服器集群內所有節點上的檔案操作,例如檔案創建、刪除、移動、重命名等等。 Neork File System

NFS介紹

NFS定義

(NFS)(Neork File System)是個分散式的客戶機/伺服器檔案系統。NFS的實質在於用戶間計算機的共享。用戶可以聯結到共享計算機並像訪問本地硬碟一樣訪問共享計算機上的檔案。管理員可以建立遠程系統上檔案的訪問,以至於用戶感覺不到他們是在訪問遠程檔案。 NFS是個到處可用和廣泛實現的開放式系統。

NFS設計目標

允許用戶象訪問本地檔案一樣訪問其他系統上的檔案。提供對無盤工作站的支持以降低網路開銷。 簡化應用程式對遠程檔案的訪問使得不需要因訪問這些檔案而調用特殊的過程。 使用一次一個服務請求以使系統能從已崩潰的伺服器或工作站上恢復。 採用安全措施保護檔案免遭偷竊與破壞。 使NFS協定可移植和簡單,以便它們能在許多不同計算機上實現,包括低檔的PC機。 大型計算機、小型計算機和檔案伺服器運行NFS時,都為多個用戶提供了一個檔案存儲區。工作站只需要運行TCP/IP協定來訪問這些系統和位於NFS存儲區內的檔案。工作站上的NFS通常由TCP/IP軟體支持。對DOS用戶,一個遠程NFS檔案存儲區看起來是另一個磁碟驅動器盤符。對Macintosh用戶,遠程NFS檔案存儲區就是一個圖示。

NFS部分功能

伺服器目錄共享 伺服器廣播或通知正在共享的目錄,一個已分享資料夾通常叫做出版或出口目錄。有關已分享資料夾和誰可訪問它們的信息放在一個檔案中,由作業系統啟動時讀取。 客戶機訪問 在已分享資料夾上建立一種連結和訪問檔案的過程叫做裝聯(mounting),用戶將網路用作一條通信鏈路來訪問遠程檔案系統。 NFS的一個重要組成是虛擬檔案系統(VFS),它是應用程式與低層檔案系統間的介面。

VFS操作

close檔案關閉操作 create 檔案生成操作 fsync將改變保存到檔案中 getattr 取檔案屬性 link 用另一個名字訪問一個檔案 lookup 讀目錄項 mkdir建立新目錄 open 檔案打開操作 rdwr 檔案讀寫操作 remove 刪除一個檔案 rename 檔案改名 rmdir刪除一目錄 setattr 設定檔案屬性

AFS伺服器

Andrew File System(AFS)Andrew檔案系統(AFS) AFS是專門為在大型分散式環境中提供可靠的檔案服務而設計的。它通過基於單元的結構生成一種可管理的分散式環境。一個單元是某個獨立區域中檔案伺服器和客戶機系統的集合,這個獨立區域由特定的機構管理。通常代表一個組織的計算資源。用戶可以和同一單元中其他用戶方便地共享信息,他們也可以和其他單元內的用戶共享信息,這取決於那些單元中的機構所授予的訪問許可權。 檔案伺服器進程 這個進程回響客戶工作站對檔案服務的請求,維護目錄結構,監控檔案和目錄狀態信息,檢查用戶的訪問。 基本監察(BOS)伺服器進程 這個進程運行於有BOS設定的伺服器。它監控和管理運行其他服務的進程並可自動重啟伺服器進程,而不需人工幫助。 卷宗伺服器進程 此進程處理與卷宗有關的檔案系統操作,如卷宗生成、移動、復制、備份和恢復。 卷宗定位伺服器進程 該進程提供了對檔案卷宗的位置透明性。即使卷宗被移動了,用戶也能訪問它而不需要知道卷宗移動了。 鑒別伺服器進程 此進程通過授權和相互鑒別提供網路安全性。用一個「鑒別伺服器」維護一個存有口令和加密密鑰的鑒別資料庫,此系統是基於Kerberos的。 保護伺服器進程 此進程基於一個保護資料庫中的訪問信息,使用戶和組獲得對檔案服務的訪問權。 更新伺服器進程 此進程將AFS的更新和任何配置檔案傳播到所有AFS伺服器。 AFS還配有一套用於差錯處理,系統備份和AFS分散式檔案系統管理的實用工具程式。例如,SCOUT定期探查和收集AFS檔案伺服器的信息。信息在給定格式的螢幕上提供給管理員。設定多種閾值向管理者報告一些將發生的問題,如磁碟空間將用完等。另一個工具是USS,可創建基於帶有欄位常量模板的用戶帳戶。Ubik提供資料庫復制和同步服務。一個復制的資料庫是一個其信息放於多個位置的系統以便於本地用戶更方便地訪問這些數據信息。同步機制保證所有資料庫的信息是一致的。

KFS 檔案庫

KFS(KASS File System )

實現價值

1、高性能和高可靠性。支持通過增加伺服器實現高並發、大存儲量、大吞吐量,且有效避免單點故障。 2、可作為多個系統之間的檔案共享存放平台,多個系統均可遠程訪問 KFS 檔案庫,避免檔案孤島。 3、檔案得到有效保護,多副本方式有效防止檔案因單點故障導致無法及時訪問或丟失、損壞的問題。 4、支持廣域網異地分散式存儲,同時控制流與數據流分離的模式,有效解決多網點辦公環境下公司文檔集中管理分散訪問的問題,極大的最佳化文檔管理模式與傳輸速度。

功能特點

1、完全基於 JAVA 實現,支持跨平台部署。 2、可獨立運行,也可內嵌至任何支持 JAVA 的 WEB 容器中運行。 3、不依賴任何第三方程式,也不依賴任何資料庫。 4、 二次開發非常簡單。客戶端只需傳送簡單的 HTTP 請求至 KFS 伺服器的指定 URL 地址,即可完成 KFS 功能的遠程調用。開發人員可以通過 IE 瀏覽器來完成所有的 KFS 功能調用。 5、提供了豐富的功能。與作業系統提供的檔案操作功能比較,我們提供了豐富的高級功能,如版本管理、檔案刪除恢復、檔案副本、檔案日誌、事件驅動等等。 6、系統高可靠性。優異的架構,無單點故障的設計,集群同步的支持,信息流與數據流的分離設計,多副本機制,從多方面保障了整個系統的高可靠性和可用性。 7、系統高可擴展性。系統通過簡單配置即可實現檔案存儲空間的擴展,可通過擴展名稱伺服器集群來提高名稱伺服器的並發性能,可通過增加副本檔案來實現存儲伺服器的 I/O 吞吐量擴展。 8、支持跨廣域網檔案存儲。由於檔案有多項副本存在,支持多項副本存儲在不同城市的數據伺服器,以實現各地快速訪問檔案目的。

相關名詞

相關條目:Distributed Computing分散式計算;Distributed Computing Environment,OSF開放軟體基金會(OSF)的分散式計算環境;Distributed Database分散式資料庫;File Systems in the Neork Environment 網路環境中的檔案系統。

Ⅳ linux操作系統是怎樣一種系統

哥們你主要要的是Linux學習資源吧
格尼介紹幾個網站你自己去下吧 上面資源很多你挑點比較適合你的!
天天更新的Linux文章:http://www.linuxdiyf.com/articlelist.php?id=3

需要Linux電子書籍可以到這下載:http://www.linuxdiyf.com/bbs/forum-6-1.html

需要Linux技術文章可以到這:http://www.linuxdiyf.com/bbs/forum-3-1.html

Linux電子書籍推薦下載:http://www.linux286.com/linux/linuxdzsj.htm

什麼是Linux

相信了解一些IT知識的人都聽過Linux這個名詞。

Linux操作系統(Linux),是一種計算機操作系統。Linux操作系統的內核的名字也是「Linux」。Linux操作系統也是自由軟體和開放源代碼發展中最著名的例子。

Linux內核最初是為英特爾386微處理器設計的。現在Linux內核支持從個人電腦到大型主機甚至包括嵌入式系統在內的各種硬體設備。

在開始的時候,Linux只是個人狂熱愛好的一種產物。但是現在,Linux已經成為了一種受到廣泛關注和支持的一種操作系統。包括IBM和惠普在內的一些計算機業巨頭也開始支持Linux。很多人認為,和其他的商用Unix系統以及微軟 Windows相比,作為自由軟體的Linux具有低成本,安全性高,更加可信賴的優勢。

Linux內核最初只是由芬蘭人林納斯•托瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。最初的設想中,Linux是一種類似Minix這樣的一種操作系統。Linux的第一個版本在1991年9月被發布在Internet上,隨後在10月份第二個版本就發布了。

Linux的歷史是和GNU緊密聯系在一起的。從1983年開始的GNU計劃致力於開發一個自由並且完整的類Unix操作系統,包括軟體開發工具和各種應用程序。到1991年Linux內核發布的時候,GNU已經幾乎完成了除了系統內核之外的各種必備軟體的開發。在Linus Torvalds和其他開發人員的努力下,GNU組件可以運行於Linux內核之上。整個內核是基於GNU通用公共許可,也就是GPL(General Pubic License)的,但是Linux內核並不是GNU 計劃的一部分。

Linux的標志和吉祥物是一隻名字叫做Tux的企鵝,Linux的注冊商標是Linus Torvalds所有的。這是由於在1996年,一個名字叫做William R. Della Croce的律師開始向各個Linux發布商發信,聲明他擁有Linux商標的所有權,並且要求各個發布商支付版稅,這些發行商集體進行上訴,要求將該注冊商標重新分配給Linus Torvalds。

Linux的某些版本是不需要安裝就能使用的版本,他們稱為LiveCD。
Linux商標的故事

講一個關於Linux的小故事:

大家知道Linux的名字屬於眾所周知的操作系統,和它的開發者(Linux Comunity)並不是一個商標或者注冊商標。然而有一個厚顏無恥的美國人(對不起,記不清時間和他的名字了)在美國的商標局注冊了Linux為操縱計算機工作的軟體系統,並且獲得了批准,並從1994年生效。這個人據此向幾個著名的Linux發行者(例如Redhat和Caldera)索要商標使用費。

這下子可捅了馬蜂窩了,Linus Tolvalds和其它的很多人發起了請願活動要求取消這個商標,有知識產權方面很有經驗的律師自願給打官司。(當然誰也不會給那無恥之徒錢的,甚至他的律師在弄清真象後也拒絕代理他了)最近有了結果了,商標局撤銷了那個注冊!正義必將戰勝邪惡!
Linux正確讀音及音標

「Linux」這個單詞根據Linus Torvalds本人的發音應該是「哩吶克斯」

音標是 ['li:nэks] 重音在「哩」上

以上結論來自紅旗Linux技術支持部及一個從事網路安全工作多年的網友

上面是原話,他們答案是一致的當然也是權威的

主要是因為看見幾位大俠級別的兄弟把「Linux」讀錯了

並且把錯誤的讀音教給了新來的朋友

所以就想著去問問正確讀音

「哩吶克斯」只是根據發音翻譯的

請大家按照['li:nэks]這個音標讀
Linux系統特徵

Linux系統有文本編輯界面和圖形用戶界面(GUI)。其特徵包括:多用戶、多任務、多平台、可編程SHELL、提供源代碼、模擬終端、支持多種文件系統及強大的網路功能等。

多用戶:多個用戶(六個)能同時從相同或不同的終端(終端號:tty1~tty6)上用同一個應用程序的副本進行工作。在控制台,切換終端的命令是:ALT+F1~F6;在模擬終端窗口(ps/0~n)是:SHIFT+ALT+F1~F6。

多任務:可同時執行多個程序,程序之間互不妨礙。與WINDOWS的多任務不同,Linux將系統沒有用到的剩餘物理內存全部用來做硬碟的高速緩存。筆者曾經打開三個xterm,分別用於查找文件、調試程序、發郵件。而且還可以指定某一個程序在後台運行,指定某一些程序在特定的時間內運行(at命令)。

多平台:Linux能在X86平台上運行,也能移植到其他平台。

可編程SHELL:SHELL是解釋並執行命令的系統外殼程序。通過編寫SHELL程序,使得系統更加個性化;而且在一些程序中具有C語言的功能。

提供源代碼:Linux是自由軟體,源代碼完全公開,可以自行編譯內核,修改和擴充操作系統,進行二次開發。

Linux支持的文件系統很多,例如:EXT3、NFS、VFS、ISO9660、MSDOS等等。

網路功能:較全面的實現了TCP/IP、SLIP、PPP、PLIP協議,功能強大。
Linux與其它系統比較

Linux可以和PC機上的其他操作系統共存,但還是有差別的。

Linux與MSDOS

DOS在PC機上普及最廣,價格低。Linux是免費軟體,不用考慮價格。Linux有些命令與M S- DOS相同或相似,如cp----、cd(..)---cd(..)、telnet---telnet等;要在Linux下用DOS命令,要在命令前加m;Linux還可以充分發揮微處理器的功能,其多用戶、多任務、網路等功能是MSDOS所不能比的。常見的是,Linux和DOS裝在同機器上。

Linux與WINDOWS

兩者都是多任務的操作系統,都支持同樣的用戶介面、網路和安全性。但是,WINDOWS是專用系統,由開發的公司控制介面和設計,並建立了嚴格的標准,而且購買的價格高。而Linux是自由軟體,其開發採用開放和協作的模式,因而有利於充分程序人員的集體智慧,大量減少不必要的重復勞動,並使得自由軟體的弱點能及時發現和得到克服,具有強大的生命力。Linux正在競爭UNIX和WINDOWS NT的市場份額。它是目前唯一可以與MICROSOFT WINDOWS抗衡的操作系統;蓋茨也承認Linux是微軟的競爭對手。

Linux與UNIX

實質上,Linux是UNIX的一種版本。UNIX支持的硬體要多一些,Linux支持的硬體也在不斷擴大。很突出的一點是,Linux至少和商用UNIX一樣穩定。對於許多用戶來說,最重要的因素是價格;顯然,在這一點上Linux要佔優勢。Linux使得用戶在PC機上運行完整的UNIX。所以,Linux為筆者們學習UNIX提供了廉價的機會。

Linux到底用它有何好處

如果你是個人用的,如果你受得了windows下的惡意軟體,病毒,木馬太狠的話我不推薦你用linux,雖然我很想推廣linux,我也在用linux,但linux並不是長期使用的系統,我覺得現在的linux就像windows98那樣,不過windows98可以做好多事,也不用那麼麻煩,如果有可能我會建議你去選擇98,有些人總是說用windows要陶銀子,其實個人用的實際有多少個人陶多少,很多人都是三塊銀子一張盤搞定。

不過對於企業來說,是不能這樣的,受權費聽說很高,最重要的是有一些不安全因素,企業級們要控製成本,又要穩定,而linux如果滿足他們的要求時,有技術員又懂linux的他們很可能就用linux。

老實的說,我覺得xp下很好,但是xp下弄不好有好多麻煩事。系統壞了我最多重裝,但實在受不了中了病毒把系統施得半死不活的,有一些病還很硬,連殺軟都打不開,厲害。要是重裝一二次我還可以,但是一個月要我重裝幾次,感覺是真的煩了,好多記錄要重新開始。郁悶,我每次重裝都會格式化系統盤。所以決定用linux,這下好了,沒過幾天還真後悔想換回xp。很多人都這樣。其實我又不是做系統的哪個用得爽我用哪個。這是沒辦法的事。

但是,linux的前景還是很好的,首先會有高校中普及,企業中應用。linux再努力過不了幾年肯定要走進個人桌面了。它本身就是開源的東西,進步會很快。有一些特有的東西又很好玩。所以很多計算機愛好者都喜歡玩它,為了能學多些東西而學linux,很好的想法,繼續努力。

還有,現在linux人才都很缺少,走在最前面肯定有好事。呵呵。

Linux下的一些真實

1,Linux下能幹什麼?

答:能完成基本的應用,如辦公,打字,列印文件,能瀏覽網頁,能上qq,能打一些在線小游戲與在線聽歌,系統工具盤中自帶的軟體通常都是較常用到的,這些軟體能基本滿足你的使用.

不過我得指出的是,如果你打字速度很快的話,那在linux下你可要氣死了,我常打字系統的速度跟不上,打了n個字稍候再慢慢顯示出來,這點很不爽.還有在線聽歌,mp3的話要小心,佔用資源很大的,有時網速慢還可能會使瀏覽器假死.還有就是外國的linux版本大多中文化效果都不太好,看多了郁悶.不過我必需承認,linux下有時還是挺有意思的,雖然軟體不太成熟,不過感覺自己在用linux,覺得自豪些,與其他人的系統不太一樣,呵呵.有時碰到個人會問你這個是什麼系統呀,有時還會說怎麼那麼難用呀,哈哈.

2,Linux適合大多數人用?

答:我可以告訴你,我的計算機水平很低,但我在linux下玩,不過我安裝linux時因為看安裝說明用了幾次,本亞第一次已經安裝成功了,可是我不知道怎麼進入系統,以為是裝錯了,結果重裝,老樣,問了人才知道要root,密碼,回車,再輸入startx.

如果你在安裝linux,請認真閱讀安裝說明吧,免得提一些人人都會問的問題.

3,硬體要小心,特別是集成的?

答:我永遠都回答是的,因為有相當部分人都有這個問題,就是因為這樣他們才放棄了linux,我也有過這樣的問題,半年前我用的是集成顯卡,整天問一些安裝驅動的問題,不過沒人回答得上,也沒有兼容的linux驅動可裝,針對於我的集成顯卡,結果在linux下解析度要很高,看著很不爽,不過由於工作需要我購了獨立顯卡,還真別說,真的給解決了,在linux下看多久眼睛都不會覺得不舒服.

不過你不用擔心,linux還是能認大多數硬體的,喜歡就安裝試試.不過最好用最新的版本.

4,安裝軟體難?

答:如果我說不是,你可能要打我了,那我只好說是吧.很多軟體都不是直接點擊執行文件就安裝的,不過你安裝了工具盤好象工具都差不多夠用了,不過你用的是紅旗5的話,那你打五筆,呵呵,這個有,qq,這個也有自帶的,下載工具,呵呵,這也有自帶的,辦公軟體,哎,建議安裝永中吧,很容易的,他直接點擊就安裝了,呵呵.

5,linux只能做伺服器?

答:可能吧,要不很多人都不要他當桌面應用的,不過你得明白,其實linux下的圖形界面操作與windows下是很多類擬的,別看到整個屏幕是文本命令行就認為linux是那樣的,不要這樣認為,在google里搜索下linux的桌面圖看看,其實都是那個樣的.

6,linux有無前途?

答:這個我不太敢回答,因為我也不知道,不過很多人都關注,那我說說我的觀點吧,整體上是有的,看國內的確很缺少linux人才,管理員方面的,開發方面等呀.linux在國外算是個熱門的了,薪水也很高,可見他的發展是很潛力的,不久將會把這種潮流帶到我們這邊來,像手機一開始大得像頭牛,不過現在很多人都有了,而且很小現在.可見linux要的是時間就能有大發展,根據是開源軟體會是軟體業的趨勢.

7,如何學好linux?

答:我答了不權威,我不精通linux,給你指路別人會笑的,不過很多大哥大姐,叔叔姨媽們都各自發表自己的心得,有時間多看看,相信會有幫助的.

8,喜歡用就用,不喜歡用就別用?

答:我也是這么認為的,用哪個操作系統都行,只要用得開心,滿足自己需求就行.
Linux的成功得益於如下因素

(1) 具有良好的開放性。Linux及其生成工具的源代碼均可通過Internet免費獲取,linux愛好者能非常容易地建立一個Linux開發平台。

(2) Internet的普及使熱心於Linux的開發者們能進行高效、快捷的交流,從而為Linux創造了一個優良的分布式開發環境。

(3) Linux具有很強的適應性,能適應各種不同的硬體平台。

Linux的版本更新很快。在短短的十幾年時間里,其版本已升至2.6.x。這里之所以用"x"表示,是因為 x的值變化太快,很難准確地定位它的值。這也從側面反映了從事Linux的研究者之多。
Linux有多少個發行版

老實的說,我也不清楚,因為這個數目肯定是幾百個了。目前至少有386個以上的Linux版本可用,這個數字表明有多少人想建立自己的版本,把Linux同其他開放源代碼軟體結合在一起形成一個完整的操作系統產品。除了Red Hat、Suse和Debian之外的Linux版本,還有Ubuntu、Fedora、紅旗Linux、Gentoo Linux等等,這都是比較優秀的Linux版本了。

Ubuntu是Debian的副產品。它強調的是PC易用性,但也有伺服器版本。現在很多人都在玩這個版本,當然我國開發的紅旗Linux以人性化,中文顯示效果,實用工具等等也是很受歡迎的。

列舉一些linux下軟體

在linux下已經有越來越多的客戶端和伺服器端的應用軟體。

語言及編程環境:c、c++、java、perl和fortan等。

圖形環境:gnome、kde、gimp、windowmaker和icewm等。

編輯器:xemacs、vim、gedit和pico等。

shells:bash、tcsh、ash和csh等。

文字處理軟體:openoffices、kword和abiword等。

資料庫:mysql、postgresql和oracle等。

Ⅵ 怎樣實現java系統的可配置性

一個小型的網站,比如個人網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、性能的要求都很簡單,隨著互聯網業務的不斷豐富,網站相關的技術經過這些年的發展,已經細分到很細的方方面面,尤其對於大型網站來說,所採用的技術更是涉及面非常廣,從硬體到軟體、編程語言、資料庫、WebServer、防火牆等各個領域都有了很高的要求,已經不是原來簡單的html靜態網站所能比擬的。
大型網站,比如門戶網站。在面對大量用戶訪問、高並發請求方面,基本的解決方案集中在這樣幾個環節:使用高性能的伺服器、高性能的資料庫、高效率的編程語言、還有高性能的Web容器。但是除了這幾個方面,還沒法根本解決大型網站面臨的高負載和高並發問題。
上面提供的幾個解決思路在一定程度上也意味著更大的投入,並且這樣的解決思路具備瓶頸,沒有很好的擴展性,下面我從低成本、高性能和高擴張性的角度來說說我的一些經驗。
1、HTML靜態化
其實大家都知道,效率最高、消耗最小的就是純靜態化的html頁面,所以我們盡可能使我們的網站上的頁面採用靜態頁面來實現,這個最簡單的方法其實也是最有效的方法。但是對於大量內容並且頻繁更新的網站,我們無法全部手動去挨個實現,於是出現了我們常見的信息發布系統CMS,像我們常訪問的各個門戶站點的新聞頻道,甚至他們的其他頻道,都是通過信息發布系統來管理和實現的,信息發布系統可以實現最簡單的信息錄入自動生成靜態頁面,還能具備頻道管理、許可權管理、自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的CMS是必不可少的。
除了門戶和信息發布類型的網站,對於交互性要求很高的社區類型網站來說,盡可能的靜態化也是提高性能的必要手段,將社區內的帖子、文章進行實時的靜態化,有更新的時候再重新靜態化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網易社區等也是如此。
同時,html靜態化也是某些緩存策略使用的手段,對於系統中頻繁使用資料庫查詢但是內容更新很小的應用,可以考慮使用html靜態化來實現,比如論壇中論壇的公用設置信息,這些信息目前的主流論壇都可以進行後台管理並且存儲再資料庫中,這些信息其實大量被前台程序調用,但是更新頻率很小,可以考慮將這部分內容進行後台更新的時候進行靜態化,這樣避免了大量的資料庫訪問請求。
2、圖片伺服器分離
大家知道,對於Web伺服器來說,不管是Apache、IIS還是其他容器,圖片是最消耗資源的,於是我們有必要將圖片與頁面進行分離,這是基本上大型網站都會採用的策略,他們都有獨立的圖片伺服器,甚至很多台圖片伺服器。這樣的架構可以降低提供頁面訪問請求的伺服器系統壓力,並且可以保證系統不會因為圖片問題而崩潰,在應用伺服器和圖片伺服器上,可以進行不同的配置優化,比如apache在配置ContentType的時候可以盡量少支持,盡可能少的LoadMole,保證更高的系統消耗和執行效率。
3、資料庫集群和庫表散列
大型網站都有復雜的應用,這些應用必須使用資料庫,那麼在面對大量訪問的時候,資料庫的瓶頸很快就能顯現出來,這時一台資料庫將很快無法滿足應用,於是我們需要使用資料庫集群或者庫表散列。
在資料庫集群方面,很多資料庫都有自己的解決方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是類似的方案,您使用了什麼樣的DB,就參考相應的解決方案來實施即可。
上面提到的資料庫集群由於在架構、成本、擴張性方面都會受到所採用DB類型的限制,於是我們需要從應用程序的角度來考慮改善系統架構,庫表散列是常用並且最有效的解決方案。我們在應用程序中安裝業務和應用或者功能模塊將資料庫進行分離,不同的模塊對應不同的資料庫或者表,再按照一定的策略對某個頁面或者功能進行更小的資料庫散列,比如用戶表,按照用戶ID進行表散列,這樣就能夠低成本的提升系統的性能並且有很好的擴展性。sohu的論壇就是採用了這樣的架構,將論壇的用戶、設置、帖子等信息進行資料庫分離,然後對帖子、用戶按照板塊和ID進行散列資料庫和表,最終可以在配置文件中進行簡單的配置便能讓系統隨時增加一台低成本的資料庫進來補充系統性能。
4、緩存
緩存一詞搞技術的都接觸過,很多地方用到緩存。網站架構和網站開發中的緩存也是非常重要。這里先講述最基本的兩種緩存。高級和分布式的緩存在後面講述。
架構方面的緩存,對Apache比較熟悉的人都能知道Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進行緩存,這兩種方式均可以有效的提高Apache的訪問響應能力。
網站程序開發方面的緩存,Linux上提供的Memory Cache是常用的緩存介面,可以在web開發中使用,比如用Java開發的時候就可以調用MemoryCache對一些數據進行緩存和通訊共享,一些大型社區使用了這樣的架構。另外,在使用web語言開發的時候,各種語言基本都有自己的緩存模塊和方法,PHP有Pear的Cache模塊,Java就更多了,.net不是很熟悉,相信也肯定有。
5、鏡像
鏡像是大型網站常採用的提高性能和數據安全性的方式,鏡像的技術可以解決不同網路接入商和地域帶來的用戶訪問速度差異,比如ChinaNet和ENet之間的差異就促使了很多網站在教育網內搭建鏡像站點,數據進行定時更新或者實時更新。在鏡像的細節技術方面,這里不闡述太深,有很多專業的現成的解決架構和產品可選。也有廉價的通過軟體實現的思路,比如Linux上的rsync等工具。
6、負載均衡
負載均衡將是大型網站解決高負荷訪問和大量並發請求採用的終極解決辦法。
負載均衡技術發展了多年,有很多專業的服務提供商和產品可以選擇,我個人接觸過一些解決方法,其中有兩個架構可以給大家做參考。
1)硬體四層交換
第四層交換使用第三層和第四層信息包的報頭信息,根據應用區間識別業務流,將整個區間段的業務流分配到合適的應用伺服器進行處理。 第四層交換功能就象是虛IP,指向物理伺服器。它傳輸的業務服從的協議多種多樣,有HTTP、FTP、NFS、Telnet或其他協議。這些業務在物理伺服器基礎上,需要復雜的載量平衡演算法。在IP世界,業務類型由終端TCP或UDP埠地址來決定,在第四層交換中的應用區間則由源端和終端IP地址、TCP和UDP埠共同決定。
在硬體四層交換產品領域,有一些知名的產品可以選擇,比如Alteon、F5等,這些產品很昂貴,但是物有所值,能夠提供非常優秀的性能和很靈活的管理能力。Yahoo中國當初接近2000台伺服器使用了三四台Alteon就搞定了。
2)軟體四層交換
大家知道了硬體四層交換機的原理後,基於OSI模型來實現的軟體四層交換也就應運而生,這樣的解決方案實現的原理一致,不過性能稍差。但是滿足一定量的壓力還是游刃有餘的,有人說軟體實現方式其實更靈活,處理能力完全看你配置的熟悉能力。
軟體四層交換我們可以使用Linux上常用的LVS來解決,LVS就是Linux Virtual Server,他提供了基於心跳線heartbeat的實時災難應對解決方案,提高系統的魯棒性,同時可供了靈活的虛擬VIP配置和管理功能,可以同時滿足多種應用需求,這對於分布式的系統來說必不可少。
一個典型的使用負載均衡的策略就是,在軟體或者硬體四層交換的基礎上搭建squid集群,這種思路在很多大型網站包括搜索引擎上被採用,這樣的架構低成本、高性能還有很強的擴張性,隨時往架構裡面增減節點都非常容易。這樣的架構我准備空了專門詳細整理一下和大家探討。

一:高並發高負載類網站關注點之資料庫
沒錯,首先是資料庫,這是大多數應用所面臨的首個SPOF。尤其是Web2.0的應用,資料庫的響應是首先要解決的。
一般來說MySQL是最常用的,可能最初是一個mysql主機,當數據增加到100萬以上,那麼,MySQL的效能急劇下降。常用的優化措施是M-S(主-從)方式進行同步復制,將查詢和操作和分別在不同的伺服器上進行操作。我推薦的是M-M-Slaves方式,2個主Mysql,多個Slaves,需要注意的是,雖然有2個Master,但是同時只有1個是Active,我們可以在一定時候切換。之所以用2個M,是保證M不會又成為系統的SPOF。
Slaves可以進一步負載均衡,可以結合LVS,從而將select操作適當的平衡到不同的slaves上。
以上架構可以抗衡到一定量的負載,但是隨著用戶進一步增加,你的用戶表數據超過1千萬,這時那個M變成了SPOF。你不能任意擴充Slaves,否則復制同步的開銷將直線上升,怎麼辦?我的方法是表分區,從業務層面上進行分區。最簡單的,以用戶數據為例。根據一定的切分方式,比如id,切分到不同的資料庫集群去。
全局資料庫用於meta數據的查詢。缺點是每次查詢,會增加一次,比如你要查一個用戶nightsailer,你首先要到全局資料庫群找到nightsailer對應的cluster id,然後再到指定的cluster找到nightsailer的實際數據。
每個cluster可以用m-m方式,或者m-m-slaves方式。這是一個可以擴展的結構,隨著負載的增加,你可以簡單的增加新的mysql cluster進去。
需要注意的是:
1、禁用全部auto_increment的欄位
2、id需要採用通用的演算法集中分配
3、要具有比較好的方法來監控mysql主機的負載和服務的運行狀態。如果你有30台以上的mysql資料庫在跑就明白我的意思了。
4、不要使用持久性鏈接(不要用pconnect),相反,使用sqlrelay這種第三方的資料庫鏈接池,或者乾脆自己做,因為php4中mysql的鏈接池經常出問題。

二:高並發高負載網站的系統架構之HTML靜態化
其實大家都知道,效率最高、消耗最小的就是純靜態化 http://www.ablanxue.com/shtml/201207/776.shtml的html頁面,所以我們盡可能使我們的網站上的頁面採用靜態頁面來實現,這個最簡單的方法其實也是 最有效的方法。但是對於大量內容並且頻繁更新的網站,我們無法全部手動去挨個實現,於是出現了我們常見的信息發布系統CMS,像我們常訪問的各個門戶站點 的新聞頻道,甚至他們的其他頻道,都是通過信息發布系統來管理和實現的,信息發布系統可以實現最簡單的信息錄入自動生成靜態頁面,還能具備頻道管理、許可權 管理、自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的CMS是必不可少的。

除了門戶和信息發布類型的網站,對於交互性要求很高的社區類型網站來說,盡可能的靜態化也是提高性能的必要手段,將社區內的帖子、文章進行實時的靜態化,有更新的時候再重新靜態化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網易社區等也是如此。

同時,html靜態化也是某些緩存策略使用的手段,對於系統中頻繁使用資料庫查詢但是內容更新很小的應用,可以考慮使用html靜態化來實現,比如論壇 中論壇的公用設置信息,這些信息目前的主流論壇都可以進行後台管理並且存儲再資料庫中,這些信息其實大量被前台程序調用,但是更新頻率很小,可以考慮將這 部分內容進行後台更新的時候進行靜態化,這樣避免了大量的資料庫訪問請求高並發。

網站HTML靜態化解決方案
當一個Servlet資源請求到達WEB伺服器之後我們會填充指定的jsP頁面來響應請求:
HTTP請求---Web伺服器---Servlet--業務邏輯處理--訪問數據--填充JSP--響應請求
HTML靜態化之後:
HTTP請求---Web伺服器---Servlet--HTML--響應請求
靜態訪求如下
Servlet:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getParameter("chapterId") != null){
String chapterFileName = "bookChapterRead_"+request.getParameter("chapterId")+".html";
String chapterFilePath = getServletContext().getRealPath("/") + chapterFileName;
File chapterFile = new File(chapterFilePath);
if(chapterFile.exists()){response.sendRedirect(chapterFileName);return;}//如果有這個文件就告訴瀏覽器轉向
INovelChapterBiz novelChapterBiz = new NovelChapterBizImpl();
NovelChapter novelChapter = novelChapterBiz.searchNovelChapterById(Integer.parseInt(request.getParameter("chapterId")));//章節信息
int lastPageId = novelChapterBiz.searchLastCHapterId(novelChapter.getNovelId().getId(), novelChapter.getId());
int nextPageId = novelChapterBiz.searchNextChapterId(novelChapter.getNovelId().getId(), novelChapter.getId());
request.setAttribute("novelChapter", novelChapter);
request.setAttribute("lastPageId", lastPageId);
request.setAttribute("nextPageId", nextPageId);
new CreateStaticHTMLPage().createStaticHTMLPage(request, response, getServletContext(),
chapterFileName, chapterFilePath, "/bookRead.jsp");
}
}
生成HTML靜態頁面的類:
package com.jb.y2t034.thefifth.web.servlet;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
/**
* 創建HTML靜態頁面
* 功能:創建HTML靜態頁面
* 時間:2009年1011日
* 地點:home
* @author mavk
*
*/
public class CreateStaticHTMLPage {
/**
* 生成靜態HTML頁面的方法
* @param request 請求對象
* @param response 響應對象
* @param servletContext Servlet上下文
* @param fileName 文件名稱
* @param fileFullPath 文件完整路徑
* @param jspPath 需要生成靜態文件的JSP路徑(相對即可)
* @throws IOException
* @throws ServletException
*/
public void createStaticHTMLPage(HttpServletRequest request, HttpServletResponse response,ServletContext servletContext,String fileName,String fileFullPath,String jspPath) throws ServletException, IOException{
response.setContentType("text/html;charset=gb2312");//設置HTML結果流編碼(即HTML文件編碼)
RequestDispatcher rd = servletContext.getRequestDispatcher(jspPath);//得到JSP資源
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();//用於從ServletOutputStream中接收資源
final ServletOutputStream servletOuputStream = new ServletOutputStream(){//用於從HttpServletResponse中接收資源
public void write(byte[] b, int off,int len){
byteArrayOutputStream.write(b, off, len);
}
public void write(int b){
byteArrayOutputStream.write(b);
}
};
final PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(byteArrayOutputStream));//把轉換位元組流轉換成字元流
HttpServletResponse httpServletResponse = new HttpServletResponseWrapper(response){//用於從response獲取結果流資源(重寫了兩個方法)
public ServletOutputStream getOutputStream(){
return servletOuputStream;
}
public PrintWriter getWriter(){
return printWriter;
}
};
rd.include(request, httpServletResponse);//發送結果流
printWriter.flush();//刷新緩沖區,把緩沖區的數據輸出
FileOutputStream fileOutputStream = new FileOutputStream(fileFullPath);
byteArrayOutputStream.writeTo(fileOutputStream);//把byteArrayOuputStream中的資源全部寫入到fileOuputStream中
fileOutputStream.close();//關閉輸出流,並釋放相關資源
response.sendRedirect(fileName);//發送指定文件流到客戶端
}
}

Ⅶ Java網路編程基本概念是什麼

1、Java網路編程基本概念——主機的網路層


主機網路層定義特定網路介面(如乙太網或WiFi天線)如何通過物理連接將IP數據報發送到本地網路或世界其他地方。在主機網路層中,連接不同計算機的硬體部分(電纜、光纖、無線電波或煙霧信號)有時被稱為網路的物理層。Java程序員不需要擔心這一層,除非出現錯誤,例如計算機後面的插頭脫落或有人切斷了您與外部世界之間的T-1線。換句話說,Java將永遠看不到物理層。


2、Java網路編程基本概念——網路層


Internet層的下一層是主機網路層,這是Java程序員需要考慮的第一層。網際網路層協議定義了數據位和位元組如何組織成更大的組,稱為包,也定義了不同計算機互相查找的定址機制。Internet Protocol (IP)是世界上使用最廣泛的Internet層協議,也是Java唯一了解的Internet層協議。


網際網路協議基本上是兩種協議:IPV4使用32位地址,IPV6使用128位地址,並增加了技術特性來幫助路由。這是兩種完全不同的網路協議,如果沒有特殊的網關/隧道協議,它們甚至不能在同一網路上互操作,但是Java向您隱藏了幾乎所有這些差異。


除了路由和定址之外,網際網路層的第二個作用是使不同類型的主機網路層能夠彼此對話。網際網路路由器在WiFi和乙太網、乙太網和DSL、DSL和光纖往返協議之間進行交換。沒有網際網路層或類似的分層,每台計算機只能與同一類型網路上的其他計算機通信。網際網路層負責使用適當的協議將異類網路彼此連接起來。


3、Java網路編程基本概念——傳輸層


原始數據報有一些缺點。最明顯的缺點是無法保證可靠的傳輸,即使可以保證,也可能在傳輸過程中被損壞。頭檢查只能檢測頭中的損壞,而不能檢測數據報的數據部分。最後,即使數據報沒有損壞地到達了它的目的地,它也可能不能按照發送的順序到達。


傳輸層負責確保按發送的順序接收數據包,確保沒有數據丟失或銷毀。如果數據包丟失,傳輸層要求發送方重新傳輸該數據包。為此,IP網路向每個數據報添加了一個額外的頭,其中包含更多信息。


這個級別有兩個主要協議。第一個是傳輸控制協議(TCP),這是一個昂貴的協議,允許丟失或損壞的數據按照發送順序重新傳輸。第二個協議是用戶數據報協議(User Datagram Protocol, UDP),它允許接收方檢測損壞的數據包,而不保證它們按照正確的順序發送(或者根本不發送)。然而,UDP通常比TCP快。TCP被稱為可靠協議。UDP是不可靠的。


4、Java網路編程基本概念——應用程序層


向用戶交付數據的層稱為應用層。以下三個層定義如何將數據從一台計算機傳輸到另一台計算機。應用層決定數據傳輸後的操作。有HTTP為用戶Web, SMTP, POP, IMAP為用戶電子郵件;FSP, TFTP用於文件傳輸,NFS用於文件訪問;文件共享使用Gnutella和BitTorrent;會話發起協議(SIP)和Skype用於語音通信。此外,您的程序可以在必要時定義自己的應用程序級協議。(頁面)


5、Java網路編程基本概念——IP、TCP、UDP


IP被設計成允許任意兩點之間有多條路由,繞過損壞的路由器來路由數據包。由於兩點之間有多條路由,而且由於網路流量或其他因素,它們之間的最短路徑可能會隨著時間而變化,因此構成特定數據流的數據包可能不會走同一條路由。即使它們全部到達,也可能不是按照它們被發送的順序到達的。為了改進這一基本機制,TCP被放置在IP上,以便連接的兩端可以確認收到的IP數據包,並請求重傳丟失或損壞的數據包。此外,TCP允許接收端上的數據包按照發送的順序重新分組。


然而,TCP有很多開銷。因此,如果單個數據包的丟失不會完全破壞數據,那麼可以使用UDP發送數據包,而不需要TCP提供的保證。UDP是一種不可靠的協議。它不能保證信息包將到達它們的目的地,或者它們將以它們被發送的相同順序到達。


6、Java網路編程基本概念——IP地址和域名


IPv4網路上的每台計算機都有一個4位元組的數字ID。通常在一個點上以四段格式寫,比如192.1.32.90,每個數字是一個無符號位元組,范圍從0到255。IPv4網路上的每台計算機都有一個唯一的四段地址。當數據通過網路傳輸時,包的報頭包括要發送到的機器的地址(目的地址)和要發送到的機器的地址(源地址)。路由上的路由器通過檢查目的地址來選擇發送包的最佳路徑。包含源地址是為了讓收件人知道該對誰進行回復。


雖然計算機可以很容易地處理數字,但人類並不擅長記住它們。因此,域名系統(DNS)被開發出來,用來將容易記住的主機名(如www.12345.com)轉換成數字互聯網地址(如208.201.243.99)。當Java程序訪問網路時,它們需要同時處理數字地址和相應的主機名。這些方法由java.net.InetAddress類提供。


7、Java網路編程基本概念——港口


如果每台計算機一次只做一件事,地址就足夠了。但是現代計算機同時做許多不同的事情。電子郵件需要與FTP請求分開,而FTP請求也需要與Web通信分開。這是通過埠完成的。具有IP地址的每台計算機有數千個邏輯埠(確切地說,每個傳輸層協議有65,535個埠)。這些只是計算機內存中的抽象,不代表任何物理對象,不像USB埠。每個埠在1到65535之間進行數字標識。每個埠可以分配給一個特定的服務。


8、Java網路編程基本概念——一個防火牆


在互聯網上有一些頑皮的人。要排除它們,通常需要在本地網路上設置一個接入點,並檢查進出該接入點的所有流量。位於網際網路和本地網路之間的一些硬體和軟體會檢查所有輸入和輸出的數據,以確保它是防火牆。防火牆通常是路由器的一部分,它將本地網路連接到更大的網際網路,並可以執行其他任務,如網路地址轉換。另外,防火牆可以是單獨的機器。防火牆仍然主要負責檢查進出其網路介面的數據包,根據一組規則接收或拒絕數據包。


本篇《什麼是Java網路編程基本概念?看完這篇文章你一定可以明白》到這里就已經結束了,小編一直認為,某一個編程軟體受歡迎是有一定原因的,首先吸引人的一定是其功能,環球網校的小編祝您java學習之路順利,如果你還想知道更多java知識,也可以點擊本站的其他文章進行學習。

Ⅷ 如何使用java讀寫nfs文件系統中的文件

用NFS方式掛載根文件系統 由於原來的內核是用ATBOOT的方式下載的,不知道怎麼版傳遞參數(好像不能,權網上查的nfs方式都是用U-boot的方式掛載的),因此決定用u-boot重新下載內核。 1.下載u-boot和內核 1.1編譯內核 1.1.1由於板子光碟自帶的內核觸...

Ⅸ java保存nfs

搭建NFS伺服器。java保存nfs需要搭建NFS伺服器,NFS就是Network File System的縮寫,最大的功能就是可以通過網路,讓不同的機器、不同的操作系統可以共享彼此的文件。

閱讀全文

與javavfsnfs相關的資料

熱點內容
如何修改數據上年結轉 瀏覽:6
win7一直配置文件重啟 瀏覽:124
佳能ir2525i網路掃描 瀏覽:283
win10指紋無法識別 瀏覽:646
jsp中怎麼引入js文件 瀏覽:925
文件名構成部分 瀏覽:484
興國互聯網app有哪些 瀏覽:475
北京時間票房多少票房統計數據 瀏覽:750
探探文件夾是哪個 瀏覽:429
如何分類微信文件 瀏覽:446
城市天際線win10 瀏覽:813
運動APP跑步如何抓作弊 瀏覽:57
微信中秋節動態祝福語 瀏覽:703
練英語的網站哪個好 瀏覽:894
科來網路分析系統報價 瀏覽:437
哪裡可以上傳自己的php網站 瀏覽:373
安卓手機如何打開zx文件 瀏覽:531
app攻擊是什麼 瀏覽:888
app上有把鎖是什麼意思 瀏覽:611
如何用c語言編程五角星 瀏覽:183

友情鏈接