編譯分布式存儲上限
Ⅰ 比特幣是什麼貨幣
比特幣是電子貨幣/網路虛擬貨幣的一種。
比特幣:又稱「比特金」,是一種網路虛擬貨幣,網民可以使用比特幣購買一些虛擬物品,比如網路游戲當中的衣服、帽子、裝備等,網民之間也有用來購買現實物品的情況。
西維吉尼亞州民主黨參議員喬·曼欽(Joe Manchin)2014年2月26日向美國聯邦政府多個監管部門發出公開信,希望有關機構能夠就比特幣鼓勵非法活動和擾亂金融秩序的現狀予以重視,並要求能盡快採取行動,以全面封殺該電子貨幣。
2017年1月24日中午12:00起,中國三大比特幣平台正式開始收取交易費。
貨幣特徵:
1,去中心化:比特幣是第一種分布式的虛擬貨幣,整個網路由用戶構成,沒有中央銀行。去中心化是比特幣安全與自由的保證 。
2,全世界流通:比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。
3,專屬所有權:操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。
4,低交易費用:可以免費匯出比特幣,但最終對每筆交易將收取約1比特分的交易費以確保交易更快執行。
5,無隱藏成本:作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制。知道對方比特幣地址就可以進行支付。
6,跨平台挖掘:用戶可以在眾多平台上發掘不同硬體的計算能力。
比特幣優點:
1,完全去處中心化,沒有發行機構,也就不可能操縱發行數量。其發行與流通,是通過開源的p2p演算法實現。
2,匿名、免稅、免監管。
3,健壯性。比特幣完全依賴p2p網路,無發行中心,所以外部無法關閉它。比特幣價格可能波動、崩盤,多國政府可能宣布它非法,但比特幣和比特幣龐大的p2p網路不會消失。
4,無國界、跨境。跨國匯款,會經過層層外匯管制機構,而且交易記錄會被多方記錄在案。但如果用比特幣交易,直接輸入數字地址,點一下滑鼠,等待p2p網路確認交易後,大量資金就過去了。不經過任何管控機構,也不會留下任何跨境交易記錄。
5,山寨者難於生存。由於比特幣演算法是完全開源的,誰都可以下載到源碼,修改些參數,重新編譯下,就能創造一種新的p2p貨幣。
但這些山寨貨幣很脆弱,極易遭到51%攻擊。任何個人或組織,只要控制一種p2p貨幣網路51%的運算能力,就可以隨意操縱交易、幣值,這會對p2p貨幣構成毀滅性打擊。
很多山寨幣,就是死在了這一環節上。而比特幣網路已經足夠健壯,想要控制比特幣網路51%的運算力,所需要的cpu/gpu數量將是一個天文數字。
比特幣缺點
1,交易平台的脆弱性。比特幣網路很健壯,但比特幣交易平台很脆弱。交易平台通常是一個網站,而網站會遭到黑客攻擊,或者遭到主管部門的關閉。
2,交易確認時間長。比特幣錢包初次安裝時,會消耗大量時間下載歷史交易數據塊。而比特幣交易時,為了確認數據准確性,會消耗一些時間,與p2p網路進行交互,得到全網確認後,交易才算完成。
3,價格波動極大。由於大量炒家介入,導致比特幣兌換現金的價格如過山車一般起伏。使得比特幣更適合投機,而不是匿名交易。
4,大眾對原理不理解,以及傳統金融從業人員的抵制。活躍網民了解p2p網路的原理,知道比特幣無法人為操縱和控制。
但大眾並不理解,很多人甚至無法分清比特幣和Q幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。
Ⅱ 璁$畻鏈虹郴緇熶腑錛岀郴緇熻蔣浠剁殑鏍稿績鏄浠涔
緋葷粺杞浠剁殑鏍稿績鏄鎿嶄綔緋葷粺銆傝$畻鏈鴻蔣浠墮兘鏄瑕佷互鎿嶄綔緋葷粺涓哄鉤鍙般
杞浠剁郴緇熸槸鎸囩敱緋葷粺杞浠躲佹敮鎾戣蔣浠跺拰搴旂敤杞浠剁粍鎴愮殑璁$畻鏈鴻蔣浠剁郴緇燂紝瀹冩槸璁$畻鏈虹郴緇熶腑鐢辮蔣浠剁粍鎴愮殑閮ㄥ垎銆傚畠鍖呮嫭鎿嶄綔緋葷粺銆佽璦澶勭悊緋葷粺銆佹暟鎹搴撶郴緇熴佸垎甯冨紡杞浠剁郴緇熷拰浜烘満浜や簰緋葷粺絳夈
鎿嶄綔緋葷粺鐢ㄤ簬綆$悊璁$畻鏈虹殑璧勬簮鍜屾帶鍒剁▼搴忕殑榪愯屻傝璦澶勭悊緋葷粺鏄鐢ㄤ簬澶勭悊杞浠惰璦絳夌殑杞浠訛紝濡傜紪璇戠▼搴忕瓑銆傛暟鎹搴撶郴緇熸槸鐢ㄤ簬鏀鎸佹暟鎹綆$悊鍜屽瓨鍙栫殑杞浠訛紝瀹冨寘鎷鏁版嵁搴撱佹暟鎹搴撶$悊緋葷粺絳夈
鏁版嵁搴撴槸甯擱┗鍦ㄨ$畻鏈虹郴緇熷唴鐨勪竴緇勬暟鎹錛屽畠浠涔嬮棿鐨勫叧緋葷敤鏁版嵁妯″紡鏉ュ畾涔夛紝騫剁敤鏁版嵁瀹氫箟璇璦鏉ユ弿榪幫紱鏁版嵁搴撶$悊緋葷粺鏄浣跨敤鎴峰彲浠ユ妸鏁版嵁浣滀負杞磋薄欏硅繘琛屽瓨鍙栥佷嬌鐢ㄥ拰淇鏀圭殑杞浠躲傚垎甯冨紡杞浠剁郴緇熷寘鎷鍒嗗竷寮忔搷浣滅郴緇熴佸垎甯冨紡紼嬪簭璁捐$郴緇熴佸垎甯冨紡鏂囦歡緋葷粺銆佸垎甯冨紡鏁版嵁搴撶郴緇熺瓑銆
浜烘満浜や簰緋葷粺鏄鎻愪緵鐢ㄦ埛涓庤$畻鏈虹郴緇熶箣闂存寜鐓т竴瀹氱殑綰﹀畾榪涜屼俊鎮浜や簰鐨勮蔣浠剁郴緇燂紝鍙涓虹敤鎴鋒彁渚涗竴涓鍙嬪杽鐨勪漢鏈虹晫闈銆傛搷浣滅郴緇熺殑鍔熻兘鍖呮嫭澶勭悊鍣ㄧ$悊銆佸瓨鍌ㄧ$悊銆佹枃浠剁$悊銆佽懼囩$悊鍜屼綔涓氱$悊銆
鍏朵富瑕佺爺絀跺唴瀹瑰寘鎷鎿嶄綔緋葷粺鐨勭粨鏋勩佽繘紼(浠誨姟)璋冨害銆佸悓姝ユ満鍒躲佹婚攣闃叉銆佸唴瀛樺垎閰嶃佽懼囧垎閰嶃佸苟琛屾満鍒躲佸歸敊鍜屾仮澶嶆満鍒剁瓑銆
鎵╁睍璧勬枡錛
鎿嶄綔緋葷粺鐨勫垎綾伙細
鎿嶄綔緋葷粺鐨勫垎綾繪病鏈変竴涓鍗曚竴鐨勬爣鍑嗭紝鍙浠ユ牴鎹宸ヤ綔鏂瑰紡鍒嗕負鎵瑰勭悊鎿嶄綔緋葷粺銆佸垎鏃舵搷浣滅郴緇熴佸疄鏃舵搷浣滅郴緇熴佺綉緇滄搷浣滅郴緇熷拰鍒嗗竷寮忔搷浣滅郴緇熺瓑銆
鏍規嵁鏋舵瀯鍙浠ュ垎涓哄崟鍐呮牳鎿嶄綔緋葷粺絳夛紱鏍規嵁榪愯岀殑鐜澧冿紝鍙浠ュ垎涓烘岄潰鎿嶄綔緋葷粺錛屽祵鍏ュ紡鎿嶄綔緋葷粺絳夛紱鏍規嵁鎸囦護鐨勯暱搴﹀垎涓8bit,錛16bit錛 32bit錛64bit鐨勬搷浣滅郴緇熴
1銆佸唴鏍哥粨鏋
涓繪潯鐩錛氬唴鏍
鍐呮牳鏄鎿嶄綔緋葷粺鏈鍐呮牳鏈鍩虹鐨勬瀯浠訛紝鍏剁粨鏋勫線寰瀵規搷浣滅郴緇熺殑澶栭儴鐗規т互鍙婂簲鐢ㄩ嗗煙鏈夌潃涓瀹氱▼搴︾殑褰卞搷銆傚敖綆¢殢鐫鐞嗚哄拰瀹炶返鐨勪笉鏂婕旇繘錛屾搷浣滅郴緇熼珮灞傜壒鎬т笌鍐呮牳緇撴瀯涔嬮棿鐨勮﹀悎鏈夋棩瓚嬬緝灝忎箣鍔匡紝浣嗕範鎯涓婏紝鍐呮牳緇撴瀯浠嶇劧鏄鎿嶄綔緋葷粺鍒嗙被涔嬪父鐢ㄦ爣鍑嗐
鍐呮牳鐨勭粨鏋勫彲浠ュ垎涓哄崟鍐呮牳銆佸井鍐呮牳銆佽秴寰鍐呮牳銆佷互鍙婂栨牳絳夈
鍗曞唴鏍哥粨鏋勬槸鎿嶄綔緋葷粺涓鍚勫唴鏍擱儴浠舵潅鐒舵販灞呯殑褰㈡侊紝璇ョ粨鏋勪駭鐢熶簬1960騫翠唬錛堜害鏈1950騫翠唬鍒濅箣璇達紝灝氬瓨浜夎錛夛紝鍘嗗彶鏈闀匡紝鏄鎿嶄綔緋葷粺鍐呮牳涓庡栧洿鍒嗙繪椂鐨勬渶鍒濆艦鎬併
寰鍐呮牳緇撴瀯鏄1980騫翠唬浜х敓鍑烘潵鐨勮緝鏂扮殑鍐呮牳緇撴瀯錛屽己璋冪粨鏋勬ч儴浠朵笌鍔熻兘鎬ч儴浠剁殑鍒嗙匯20涓栫邯鏈錛屽熀浜庡井鍐呮牳緇撴瀯錛岀悊璁虹晫涓鍙堝彂灞曞嚭浜嗚秴寰鍐呮牳涓庡栧唴鏍哥瓑澶氱嶇粨鏋勩
灝界¤嚜1980騫翠唬璧鳳紝澶ч儴鍒嗙悊璁虹爺絀墮兘闆嗕腑鍦ㄤ互寰鍐呮牳涓洪栫殑鈥滄柊鍏粹濈粨鏋勪箣涓婏紝鐒惰岋紝鍦ㄥ簲鐢ㄩ嗗煙涔嬩腑錛屼互鍗曞唴鏍哥粨鏋勪負鍩虹鐨勬搷浣滅郴緇熷嵈涓鐩村崰鎹鐫涓誨煎湴浣嶃
鍦ㄤ紬澶氬父鐢ㄦ搷浣滅郴緇熶箣涓錛岄櫎浜哘NX鍜屽熀浜嶮ach鐨刄NIX絳変釜鍒緋葷粺澶栵紝鍑犱箮鍏ㄩ儴閲囩敤鍗曞唴鏍哥粨鏋勩
渚嬪傚ぇ閮ㄥ垎鐨刄nix銆丩inux錛屼互鍙奧indows錛堝井杞澹扮ОWindows NT鏄鍩轟簬鏀硅壇鐨勫井鍐呮牳鏋舵瀯鐨勶紝灝界$悊璁虹晫瀵規ゅ瓨鏈夊紓璁錛夈 寰鍐呮牳鍜岃秴寰鍐呮牳緇撴瀯涓昏佺敤浜庣爺絀舵ф搷浣滅郴緇燂紝榪樻湁涓浜涘祵鍏ュ紡緋葷粺浣跨敤澶栨牳銆
鍩轟簬鍗曞唴鏍哥殑鎿嶄綔緋葷粺閫氬父鏈夌潃杈冮暱鐨勫巻鍙叉笂婧愩備緥濡傦紝緇濆ぇ閮ㄥ垎UNIX鐨勫舵棌鍙查兘鍙涓婃函鑷1960騫翠唬銆傝ョ被鎿嶄綔緋葷粺澶氭暟鏈夌潃鐩稿瑰彜鑰佺殑璁捐″拰瀹炵幇錛堜緥濡傛煇浜沀NIX涓瀛樺湪鐫澶ч噺1970騫翠唬銆1980騫翠唬鐨勪唬鐮侊級銆
鍙﹀栵紝寰寰鍦ㄦц兘鏂歸潰鐣ヤ紭浜庡悓涓搴旂敤棰嗗煙涓閲囩敤鍏朵粬鍐呮牳緇撴瀯鐨勬搷浣滅郴緇燂紙浣嗛氬父璁や負姝ょ嶆ц兘浼樺娍涓嶈兘瀹屽叏褰掑姛浜庡崟鍐呮牳緇撴瀯錛夈
2銆侀氱敤涓庝笓鐢ㄣ佸祵鍏ュ紡
閫氱敤鎿嶄綔緋葷粺鏄闈㈠悜涓鑸娌℃湁鐗瑰畾搴旂敤闇奼傜殑鎿嶄綔緋葷粺銆傜敱浜庢病鏈夌壒瀹氱殑搴旂敤闇奼傦紝閫氱敤鎿嶄綔緋葷粺涓轟簡閫傚簲鏇村箍娉涚殑搴旂敤錛岄渶瑕佹敮鎸佹洿澶氱殑紜浠朵笌杞浠訛紝闇瑕侀拡瀵規墍鏈夌殑鐢ㄦ埛浣撻獙錛屽圭郴緇熻繘琛屾洿鏂般傞氱敤鎿嶄綔緋葷粺鏄涓涓宸ョ▼閲忕箒閲嶇殑鎿嶄綔緋葷粺銆
3銆佸疄鏃朵笌闈炲疄鏃
鈥滃疄鏃舵搷浣滅郴緇熲濓紙Real Time OS錛夋硾鎸囨墍鏈夋嵁鏈変竴瀹氬疄鏃惰祫婧愯皟搴︿互鍙婇氳鑳藉姏鐨勬搷浣滅郴緇熴傝屾墍璋撯滃疄鏃垛濓紝涓嶅悓璇澧冧腑寰寰鏈夌潃闈炲父涓嶅悓鐨勬剰涔夈傛煇浜涙椂鍊欎粎浠呯敤浣溾滈珮鎬ц兘鈥濈殑鍚屼箟璇嶃
浣嗗湪鎿嶄綔緋葷粺鐞嗚轟腑鈥滃疄鏃舵р濇墍鎸囩殑閫氬父鏄鐗瑰畾鎿嶄綔鎵娑堣楃殑鏃墮棿錛堜互鍙婄┖闂達級鐨勪笂闄愭槸鍙棰勭煡鐨勩傛瘮濡傦紝濡傛灉璇存煇涓鎿嶄綔緋葷粺鎻愪緵瀹炴椂鍐呭瓨鍒嗛厤鎿嶄綔錛岄偅涔熷氨鏄璇翠竴涓鍐呭瓨鍒嗛厤鎿嶄綔鎵鐢ㄦ椂闂達紙鍙婄┖闂達級鏃犺哄備綍涔熶笉浼氳秴鍑烘搷浣滅郴緇熸墍鎵胯虹殑涓婇檺銆
瀹炴椂鎬у湪鏌愪簺棰嗗煙闈炲父閲嶈侊紝姣斿傚湪宸ヤ笟鎺у埗銆佸尰鐤楀櫒鏉愩佸獎闊抽戝悎鎴愩佷互鍙婂啗浜嬮嗗煙錛屽疄鏃舵ч兘鏄鏃犲彲鎴栫己鐨勭壒鎬с
甯哥敤瀹炴椂鎿嶄綔緋葷粺鏈塓NX銆乂xWorks銆丷TLinux絳夌瓑錛岃孡inux銆佸氭暟UNIX銆佷互鍙婂氭暟Windows瀹舵棌鎴愬憳絳夐兘灞炰簬闈炲疄鏃舵搷浣滅郴緇熴
鎿嶄綔緋葷粺鏁翠綋鐨勫疄鏃舵ч氬父渚濅粭鍐呮牳鐨勫疄鏃惰兘鍔涳紝浣嗘湁鏃朵篃鍙鍦ㄩ潪瀹炴椂鍐呮牳涓婂壋寤哄疄鏃舵搷浣滅郴緇燂紝寰堝氬湪Windows涓婂壋寤虹殑瀹炴椂鎿嶄綔緋葷粺灝卞睘浜庢ょ被銆
鍦≒OSIX鏍囧噯涓涓撴湁涓緋葷敤浜庤勮寖瀹炴椂鎿嶄綔緋葷粺鐨凙PI錛屽叾涓鍖呮嫭POSIX.4銆丳OSIX.4a銆丳OSIX.4b錛堝悎縐癙OSIX.4錛変互鍙奝OSIX.13絳夌瓑銆傚尮閰峆OSIX.4鐨勬搷浣滅郴緇熼氬父琚璁ゅ彲涓哄疄鏃舵搷浣滅郴緇燂紙浣嗗疄鏃舵搷浣滅郴緇熷苟涓嶉渶瑕佸尮閰峆OSIX.4鏍囧噯錛夈
4銆8浣嶃16浣嶃32浣嶃64浣嶃128浣
鎵璋8浣嶃16浣嶃32浣嶃64浣嶃128浣嶇瓑鏈璇鏈夋椂鎸囨葷嚎瀹藉害錛屾湁鏃舵寚鎸囦護瀹藉害錛堝湪瀹氶暱鎸囦護闆嗕腑錛夛紝鑰屽湪鎿嶄綔緋葷粺鐞嗚轟腑涓昏佹槸鎸囧瓨鍌ㄥ櫒瀹氬潃鐨勫藉害銆傚傛灉瀛樺偍鍣ㄧ殑瀹氬潃瀹藉害鏄16浣嶏紝閭d箞姣忎竴涓瀛樺偍鍣ㄥ湴鍧鍙浠ョ敤16涓浜岃繘鍒朵綅鏉ヨ〃紺猴紝涔熷氨鏄璇村彲浠ュ湪64KB鐨勮寖鍥村唴瀹氬潃銆
鍚屾牱閬撶悊32浣嶇殑瀹藉害瀵瑰簲4GB鐨勫畾鍧鑼冨洿錛64浣嶇殑瀹藉害瀵瑰簲16 Exabyte鐨勫畾鍧鑼冨洿銆傚瓨鍌ㄥ櫒瀹氬潃鑼冨洿騫墮潪浠呬粎鏄瀵規搷浣滅郴緇熻岃█鐨勶紝鍏朵粬綾誨瀷鐨勮蔣浠剁殑璁捐℃湁鏃朵篃浼氳瀹氬潃鑼冨洿鑰屽獎鍝嶃備絾鏄鍦ㄦ搷浣滅郴緇熺殑璁捐′笌瀹炵幇涓錛屽畾鍧鑼冨洿鍗存湁鐫鏇翠負閲嶈佺殑鎰忎箟銆
鍦ㄦ棭鏈熺殑16浣嶆搷浣滅郴緇熶腑錛岀敱浜64KB鐨勫畾鍧鑼冨洿澶灝忥紝澶ч兘閮介噰鐢ㄢ滄碘濆姞鈥滅嚎鎬у湴鍧鈥濈殑浜岀淮騫抽潰鍦板潃絀洪棿鐨勮捐°傚垎閰嶅瓨鍌ㄥ櫒鏃墮氬父闇瑕佽冭檻鈥滄電疆鎹⑩濈殑闂棰橈紝鍚屾椂錛屽簲鐢ㄧ▼搴忔墍鑳藉熶嬌鐢ㄧ殑鍦板潃絀洪棿涔熷線寰鏈夋瘮杈冨皬鐨勪笂闄愩
鍦32浣嶆搷浣滅郴緇熶腑錛4GB鐨勫畾鍧鑼冨洿瀵逛簬涓鑸搴旂敤紼嬪簭鏉ヨ存槸緇扮話鏈変綑鐨勶紝鍥犺岋紝閫氬父浣跨敤涓緇寸殑綰挎у湴鍧絀洪棿錛岃屼笉浣跨敤鈥滄碘濄
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-鎿嶄綔緋葷粺
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-杞浠剁郴緇
Ⅲ 基於mogileFS搭建分布式文件系統--海量小文件的存儲利器
1.簡介
分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網路與節點相連。分布式文件系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。例如,用戶可以「發表」一個允許其他客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來說就像使用本地驅動器一樣。
當下我們處在一個互聯網飛速發展的信息 社會 ,在海量並發連接的驅動下每天所產生的數據量必然以幾何方式增長,隨著信息連接方式日益多樣化,數據存儲的結構也隨著發生了變化。在這樣的壓力下使得人們不得不重新審視大量數據的存儲所帶來的挑戰,例如:數據採集、數據存儲、數據搜索、數據共享、數據傳輸、數據分析、數據可視化等一系列問題。
傳統存儲在面對海量數據存儲表現出的力不從心已經是不爭的事實,例如:縱向擴展受陣列空間限制、橫向擴展受交換設備限制、節點受文件系統限制。
然而分布式存儲的出現在一定程度上有效的緩解了這一問題,之所以稱之為緩解是因為分布式存儲在面對海量數據存儲時也並非十全十美毫無壓力,依然存在的難點與挑戰例如:節點間通信、數據存儲、數據空間平衡、容錯、文件系統支持等一系列問題仍處在不斷摸索和完善中。
2.分布式文件系統的一些解決方案
Google Filesystem適合存儲海量大個文件,元數據存儲與內存中
HDFS(Hadoop Filesystem)GFS的山寨版,適合存儲大量大個文件
TFS(Taobao Filesystem)淘寶的文件系統,在名稱節點上將元數據存儲與關系資料庫中,文件數量不在受限於名稱節點的內容空間,可以存儲海量小文件LustreOracle開發的企業級分布式系統,較重量級MooseFS基於FUSE的格式,可以進行掛載使用MogileFS
擅長存儲海量的小數據,元數據存儲與關系型資料庫中
1.簡介
MogileFS是一個開源的分布式文件系統,用於組建分布式文件集群,由LiveJournal旗下DangaInteractive公司開發,Danga團隊開發了包括 Memcached、MogileFS、Perlbal等不錯的開源項目:(註:Perlbal是一個強大的Perl寫的反向代理伺服器)。MogileFS是一個開源的分布式文件系統。
目前使用 MogileFS 的公司非常多,比如國外的一些公司,日本前幾名的公司基本都在使用這個.
國內所知道的使用 MogileFS 的公司有圖片託管網站 yupoo又拍,digg, 土豆, 豆瓣,1 號店, 大眾點評,搜狗,安居客等等網站.基本很多網站容量,圖片都超過 30T 以上。
2.MogileFS特性
1) 應用層提供服務,不需要使用核心組件
2)無單點失敗,主要有三個組件組成,分為tracker(跟蹤節點)、mogstore(存儲節點)、database(資料庫節點)
3)自動復制文件,復制文件的最小單位不是文件,而是class
4)傳輸中立,無特殊協議,可以通過NFS或HTTP實現通信
5)簡單的命名空間:沒有目錄,直接存在與存儲空間上,通過域來實現
6)不用共享任何數據
3.MogileFS的組成
1)Tracker--跟蹤器,調度器
MogileFS的核心,是一個調度器,mogilefsd進程就是trackers進程程序,trackers的主要職責有:刪除數據、復制數據、監控、查詢等等.這個是基於事件的( event-based ) 父進程/消息匯流排來管理所有來之於客戶端應用的交互(requesting operations to be performed), 包括將請求負載平衡到多個"query workers"中,然後讓 mogilefs的子進程去處理.
mogadm,mogtool的所有操作都要跟trackers打交道,Client的一些操作也需要定義好trackers,因此最好同時運行多個trackers來做負載均衡.trackers也可以只運行在一台機器上,使用負載均衡時可以使用搞一些簡單的負載均衡解決方案,如haproxy,lvs,nginx等,
tarcker的配置文件為/etc/mogilefs/mogilefsd.conf,監聽在TCP的7001埠
2)Database--資料庫部分
主要用來存儲mogilefs的元數據,所有的元數據都存儲在資料庫中,因此,這個數據相當重要,如果資料庫掛掉,所有的數據都不能用於訪問,因此,建議應該對資料庫做高可用
3)mogstored--存儲節點
數據存儲的位置,通常是一個HTTP(webDAV)伺服器,用來做數據的創建、刪除、獲取,任何 WebDAV 伺服器都可以, 不過推薦使用 mogstored . mogilefsd可以配置到兩個機器上使用不同埠… mogstored 來進行所有的 DAV 操作和流量,IO監測, 並且你自己選擇的HTTP伺服器(默認為 perlbal)用來做 GET 操作給客戶端提供文件.
典型的應用是一個掛載點有一個大容量的SATA磁碟. 只要配置完配置文件後mogstored程序的啟動將會使本機成為一個存儲節點.當然還需要mogadm這個工具增加這台機器到Cluster中.
配置文件為/etc/mogilefs/mogstored.conf,監聽在TCP的7500埠
4.基本工作流程
應用程序請求打開一個文件 (通過RPC 通知到 tracker, 找到一個可用的機器). 做一個 「create_open」 請求.
tracker 做一些負載均衡(load balancing)處理,決定應該去哪兒,然後給應用程序一些可能用的位置。
應用程序寫到其中的一個位置去 (如果寫失敗,他會重新嘗試並寫到另外一個位置去).
應用程序 (client) 通過」create_close」 告訴tracker文件寫到哪裡去了.
tracker 將該名稱和域命的名空間關聯 (通過資料庫來做的)
tracker, 在後台, 開始復制文件,知道他滿足該文件類別設定的復制規則
然後,應用程序通過 「get_paths」 請求 domain+key (key == 「filename」) 文件, tracker基於每一位置的I/O繁忙情況回復(在內部經過 database/memcache/etc 等的一些抉擇處理), 該文件可用的完整 URLs地址列表.
應用程序然後按順序嘗試這些URL地址. (tracker』持續監測主機和設備的狀態,因此不會返回死連接,默認情況下他對返回列表中的第一個元素做雙重檢查,除非你不要他這么做..)
1.拓撲圖
說明:1.用戶通過URL訪問前端的nginx
2.nginx根據特定的挑選演算法,挑選出後端一台tracker來響應nginx請求
3.tracker通過查找database資料庫,獲取到要訪問的URL的值,並返回給nginx
4.nginx通過返回的值及某種挑選演算法挑選一台mogstored發起請求
5.mogstored將結果返回給nginx
6.nginx構建響應報文返回給客戶端
2.ip規劃
角色運行軟體ip地址反向代理nginx192.168.1.201存儲節點與調度節點1
mogilefs192.168.1.202存儲節點與調度節點2
mogilefs192.168.1.203資料庫節點
MariaDB192.168.1.204
3.資料庫的安裝操作並為授權
關於資料庫的編譯安裝,請參照本人相關博文http://wangfeng7399.blog.51cto.com/3518031/1393146,本處將不再累贅,本處使用的為yum源的安裝方式安裝mysql
4.安裝mogilefs. 安裝mogilefs,可以使用yum安裝,也可以使用編譯安裝,本處通過yum安裝
5.初始化資料庫
可以看到在資料庫中創建了一些表
6.修改配置文件,啟動服務
7.配置mogilefs
添加存儲主機
添加存儲設備
添加域
添加class
8.配置192.168.1.203的mogilefs 。切記不要初始化資料庫,配置應該與192.168.1.202一樣
9.嘗試上傳數據,獲取數據,客戶端讀取數據
上傳數據,在任何一個節點上傳都可以
獲取數據
客戶端查看數據
我們可以通過任何一個節點查看到數據
要想nginx能夠實現對後端trucker的反向代理,必須結合第三方模塊來實現
1.編譯安裝nginx
2.准備啟動腳本
3.nginx與mofilefs互聯
查看效果
5.配置後端truckers的集群
查看效果
大功告成了,後續思路,前段的nginx和資料庫都存在單點故障,可以實現高可用集群
Ⅳ rust可以開發分布式系統嗎
rust是可以開發分布式系統的。
引子
構建一個分布式系統 並不是一件容易的事情,我們需要考慮很多的問題,首先就是我們的系統到底需要提供什麼樣的功能,譬如:
一致性:我們是否需要保證整個系統的線性一致性,還是能容忍短時間的數據不一致,只支持最終一致性。
穩定性:我們能否保證系統 7 x 24 小時穩定運行。系統的可用性是 4 個 9,還有 5 個 9?如果出現了機器損壞等災難情況,系統能否做的自動恢復。
擴展性:當數據持續增多,能否通過添加機器就自動做到數據再次平衡,並且不影響外部服務。
分布式事務:是否需要提供分布式事務支持,事務隔離等級需要支持到什麼程度。
Go,Go 是我們團隊最擅長的一門語言,而且 Go 提供的 goroutine,channel 這些機制,天生的適合大規模分布式系統的開發,但靈活方便的同時也有一些甜蜜的負擔,首先就是 GC,雖然現在 Go 的 GC 越來越完善,但總歸會有短暫的卡頓,另外 goroutine 的調度也會有切換開銷,這些都可能會造成請求的延遲增高。
Java,現在世面上面有太多基於 Java 做的分布式系統了,但 Java 一樣有 GC 等開銷問題,同時我們團隊在 Java 上面沒有任何開發經驗,所以沒有採用。
C++,C++ 可以認為是開發高性能系統的代名詞,但我們團隊沒有特別多的同學能熟練掌握 C++,所以開發大型 C++ 項目並不是一件非常容易的事情。雖然使用現代 C++ 的編程方式能大量減少 data race,dangling pointer 等風險,我們仍然可能犯錯。
靜態語言,這樣才能最大限度的保證運行性能。
無 GC,完全手動控制內存。
Memory safe,盡量避免 dangling pointer,memory leak 等問題。
Thread safe,不會遇到 data race 等問題。
包管理,我們可以非常方便的使用第三方庫。
高效的 C 綁定,因為我們還可能使用一些 C library,所以跟 C 交互不能有開銷。
我們團隊沒有任何 Rust 開發經驗,全部都需要花時間學習 Rust,而偏偏 Rust 有一個非常陡峭的學習曲線。
基礎網路庫的缺失,雖然那個時候 Rust 已經出了 1.0,但我們發現很多基礎庫都沒有,譬如在網路庫上面只有 mio,沒有好用的 RPC 框架,HTTP 也不成熟。
TrueTime,TrueTime 是 Google Spanner 使用的方式,不過它需要硬體 GPS + 原子鍾支持,而且 Spanner 並沒有在論文裡面詳細說明硬體環境是如何搭建的,外面要自己實現難度比較大。
HLC,HLC 是一種混合邏輯時鍾,它使用 Physical Time 和 Logical Clock 來確定事件的先後順序,HLC 已經在一些應用中使用,但 HLC 依賴 NTP,如果 NTP 精度誤差比較大,很可能會影響 commit wait time。
TSO,TSO 是一個全局授時器,它直接使用一個單點服務來分配時間。TSO 的方式很簡單,但會有單點故障問題,單點也可能會有性能問題。
Lock,就是要修改數據的實際 lock,在一個 Percolator 事務裡面,有一個 primary key,還有其它 secondary keys, 只有 primary key 先加鎖成功,我們才會再去嘗試加鎖後續的 secondary keys。
Write,保存的是數據實際提交寫入的 commit timestamp,當一個事務提交成功之後,我們就會將對應的修改行的 commit timestamp 寫入到 Write 上面。
Data,保存實際行的數據。
Prewrite:先嘗試給 primary key 加鎖,然後嘗試給 second keys 加鎖。如果對應 key 上面已經有 Lock,或者在 start timestamp 之後,Write 上面已經有新的寫入,Prewrite 就會失敗,我們就會終止這次事務。在加鎖的時候,我們也會順帶將數據寫入到 Data 上面。
Commit:當所有涉及的數據都加鎖成功之後,我們就可以提交 primay key,這時候會先判斷之前加的 Lock 是否還在,如果還在,則刪掉 Lock,將 commit timestamp 寫入到 Write。當 primary key 提交成功之後,我們就可以非同步提交 second keys,我們不用在乎 primary keys 是否能提交成功,即使失敗了,也有機制能保證數據被正常提交。
上面的問題在系統設計之初,就需要考慮好,作為整個系統的設計目標。為了實現這些特性,我們就需要考慮到底採用哪一種實現方案,取捨各個方面的利弊等。
後面,我將以我們開發的分布式 Key-Value TiKV 作為實際例子,來說明下我們是如何取捨並實現的。
TiKV
TiKV 是一個分布式 Key-Value store,它使用 Rust 開發,採用 Raft 一致性協議保證數據的強一致性,以及穩定性,同時通過 Raft 的 Configuration Change 機制實現了系統的可擴展性。
TiKV 提供了基本的 KV API 支持,也就是通常的 Get,Set,Delete,Scan 這樣的 API。TiKV 也提供了支持 ACID 事務的 Transaction API,我們可以使用 Begin 開啟一個事務,在事務裡面對 Key 進行操作,最後再用 Commit 提交一個事務,TiKV 支持 SI 以及 SSI 事務隔離級別,用來滿足用戶的不同業務場景。
Rust
在規劃好 TiKV 的特性之後,我們就要開始進行 TiKV 的開發。這時候,我們面臨的第一個問題就是採用什麼樣的語言進行開發。當時,擺在我們眼前的有幾個選擇:
當我們排除了上面幾種主流語言之後,我們發現,為了開發 TiKV,我們需要這門語言具有如下特性:
綜上,我們決定使用 Rust,Rust 是一門系統編程語言,它提供了我們上面想要的語言特性,但選擇 Rust 對我們來說也是很有風險的,主要有兩點:
但我們還是決定使用 Rust,對於第一點,我們團隊花了將近一個月的時間來學習 Rust,跟 Rust 編譯器作斗爭,而對於第二點,我們就完全開始自己寫。
幸運的,當我們越過 Rust 那段陣痛期之後,發現用 Rust 開發 TiKV 異常的高效,這也就是為啥我們能在短時間開發出 TiKV 並在生產環境中上線的原因。
一致性協議
對於分布式系統來說,CAP 是一個不得不考慮的問題,因為 P 也就是 Partition Tolerance 是一定存在的,所以我們就要考慮到底是選擇 C - Consistency 還是 A - Availability。
我們在設計 TiKV 的時候就決定 - 完全保證數據安全性,所以自然就會選擇 C,但其實我們並沒有完全放棄 A,因為多數時候,畢竟斷網,機器停電不會特別頻繁,我們只需要保證 HA - High Availability,也就是 4 個 9 或者 5 個 9 的可用性就可以了。
既然選擇了 C,我們下一個就考慮的是選用哪一種分布式一致性演算法,現在流行的無非就是 Paxos 或者 Raft,而 Raft 因為簡單,容易理解,以及有很多現成的開源庫可以參考,自然就成了我們的首要選擇。
在 Raft 的實現上,我們直接參考的 etcd 的 Raft。etcd 已經被大量的公司在生產環境中使用,所以它的 Raft 庫質量是很有保障的。雖然 etcd 是用 Go 實現的,但它的 Raft library 是類似 C 的實現,所以非常便於我們用 Rust 直接翻譯。在翻譯的過程中,我們也給 etcd 的 Raft fix 了一些 bug,添加了一些功能,讓其變得更加健壯和易用。
現在 Raft 的代碼仍然在 TiKV 工程裡面,但我們很快會將獨立出去,變成獨立的 library,這樣大家就能在自己的 Rust 項目中使用 Raft 了。
使用 Raft 不光能保證數據的一致性,也可以藉助 Raft 的 Configuration Change 機制實現系統的水平擴展,這個我們會在後面的文章中詳細的說明。
存儲引擎
選擇了分布式一致性協議,下一個就要考慮數據存儲的問題了。在 TiKV 裡面,我們會存儲 Raft log,然後也會將 Raft log 裡面實際的客戶請求應用到狀態機裡面。
首先來看狀態機,因為它會存放用戶的實際數據,而這些數據完全可能是隨機的 key - value,為了高效的處理隨機的數據插入,自然我們就考慮使用現在通用的 LSM Tree 模型。而在這種模型下,RocksDB 可以認為是現階段最優的一個選擇。
RocksDB 是 Facebook 團隊在 LevelDB 的基礎上面做的高性能 Key-Value Storage,它提供了很多配置選項,能讓大家根據不同的硬體環境去調優。這里有一個梗,說的是因為 RocksDB 配置太多,以至於連 RocksDB team 的同學都不清楚所有配置的意義。
關於我們在 TiKV 中如何使用,優化 RocksDB,以及給 RocksDB 添加功能,fix bug 這些,我們會在後面文章中詳細說明。
而對於 Raft Log,因為任意 Log 的 index 是完全單調遞增的,譬如 Log 1,那麼下一個 Log 一定是 Log 2,所以 Log 的插入可以認為是順序插入。這種的,最通常的做法就是自己寫一個 Segment File,但現在我們仍然使用的是 RocksDB,因為 RocksDB 對於順序寫入也有非常高的性能,也能滿足我們的需求。但我們不排除後面使用自己的引擎。
因為 RocksDB 提供了 C API,所以可以直接在 Rust 裡面使用,大家也可以在自己的 Rust 項目裡面通過 rust-rocksdb 這個庫來使用 RocksDB。
分布式事務
要支持分布式事務,首先要解決的就是分布式系統時間的問題,也就是我們用什麼來標識不同事務的順序。通常有幾種做法:
TiKV 採用了 TSO 的方式進行全局授時,主要是為了簡單。至於單點故障問題,我們通過 Raft 做到了自動 fallover 處理。而對於單點性能問題,TiKV 主要針對的是 PB 以及 PB 以下級別的中小規模集群,所以在性能上面只要能保證每秒百萬級別的時間分配就可以了,而網路延遲上面,TiKV 並沒有全球跨 IDC 的需求,在單 IDC 或者同城 IDC 情況下,網路速度都很快,即使是異地 IDC,也因為有專線不會有太大的延遲。
解決了時間問題,下一個問題就是我們採用何種的分布式事務演算法,最通常的就是使用 2 PC,但通常的 2 PC 演算法在一些極端情況下面會有問題,所以業界要不通過 Paxos,要不就是使用 3 PC 等演算法。在這里,TiKV 參考 Percolator,使用了另一種增強版的 2 PC 演算法。
這里先簡單介紹下 Percolator 的分布式事務演算法,Percolator 使用了樂觀鎖,也就是會先緩存事務要修改的數據,然後在 Commit 提交的時候,對要更改的數據進行加鎖處理,然後再更新。採用樂觀鎖的好處在於對於很多場景能提高整個系統的並發處理能力,但在沖突嚴重的情況下反而沒有悲觀鎖高效。
對於要修改的一行數據,Percolator 會有三個欄位與之對應,Lock,Write 和 Data:
當事務開始的時候,我們會首先得到一個 start timestamp,然後再去獲取要修改行的數據,在 Get 的時候,如果這行數據上面已經有 Lock 了,那麼就可能終止當前事務,或者嘗試清理 Lock。
當我們要提交事務的時候,先得到 commit timestamp,會有兩個階段:
Ⅳ 比特幣到底是什麼
比特幣(Bitcoin)是一種基於去中心化,採用點對點網路與共識主動性,開放源代碼,以區塊鏈作為底層技術的虛擬加密貨幣,由中本聰在2008年提出,2009年誕生。 比特幣沒有一個集中的發行方,由網路節點的計算生成,可以在任意一台接入互聯網的電腦上買賣,並且具有極強的稀缺性。
從比特幣的本質說起,比特幣的本質其實就是一堆復雜演算法所生成的特解。特解是指方程組所能得到有限個解中的一組。而每一個特解都能解開方程並且是唯一的。以鈔票來比喻的話,比特幣就是鈔票的冠字型大小碼,你知道了某張鈔票上的冠字型大小碼,你就擁有了這張鈔票。而挖礦的過程就是通過龐大的計算量不斷的去尋求這個方程組的特解,這個方程組被設計成了只有 2100 萬個特解,所以比特幣的上限就是 2100 萬個。
要挖掘比特幣可以下載專用的比特幣運算工具,然後注冊各種合作網站,把注冊來的用戶名和密碼填入計算程序中,再點擊運算就正式開始。完成Bitcoin客戶端安裝後,可以直接獲得一個Bitcoin地址,當別人付錢的時候,只需要自己把地址貼給別人,就能通過同樣的客戶端進行付款。在安裝好比特幣客戶端後,它將會分配一個私鑰和一個公鑰。需要備份你包含私鑰的錢包數據,才能保證財產不丟失。如果不幸完全格式化硬碟,個人的比特幣將會完全丟失。
貨幣特徵
去中心化:比特幣是第一種分布式的虛擬貨幣,整個網路由用戶構成,沒有中央銀行。去中心化是比特幣安全與自由的保證 。
全世界流通:比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。
專屬所有權:操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。
低交易費用:可以免費匯出比特幣,但最終對每筆交易將收取約1比特分的交易費以確保交易更快執行。
無隱藏成本:作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制。知道對方比特幣地址就可以進行支付。
跨平台挖掘:用戶可以在眾多平台上發掘不同硬體的計算能力。
優點
完全去處中心化,沒有發行機構,也就不可能操縱發行數量。其發行與流通,是通過開源的p2p演算法實現。
匿名、免稅、免監管。
健壯性。比特幣完全依賴p2p網路,無發行中心,所以外部無法關閉它。比特幣價格可能波動、崩盤,多國政府可能宣布它非法,但比特幣和比特幣龐大的p2p網路不會消失。
無國界、跨境。跨國匯款,會經過層層外匯管制機構,而且交易記錄會被多方記錄在案。但如果用比特幣交易,直接輸入數字地址,點一下滑鼠,等待p2p網路確認交易後,大量資金就過去了。不經過任何管控機構,也不會留下任何跨境交易記錄。
山寨者難於生存。由於比特幣演算法是完全開源的,誰都可以下載到源碼,修改些參數,重新編譯下,就能創造一種新的p2p貨幣。但這些山寨貨幣很脆弱,極易遭到51%攻擊。任何個人或組織,只要控制一種p2p貨幣網路51%的運算能力,就可以隨意操縱交易、幣值,這會對p2p貨幣構成毀滅性打擊。很多山寨幣,就是死在了這一環節上。而比特幣網路已經足夠健壯,想要控制比特幣網路51%的運算力,所需要的CPU/GPU數量將是一個天文數字。
缺點
交易平台的脆弱性。比特幣網路很健壯,但比特幣交易平台很脆弱。交易平台通常是一個網站,而網站會遭到黑客攻擊,或者遭到主管部門的關閉。
交易確認時間長。比特幣錢包初次安裝時,會消耗大量時間下載歷史交易數據塊。而比特幣交易時,為了確認數據准確性,會消耗一些時間,與p2p網路進行交互,得到全網確認後,交易才算完成。
價格波動極大。由於大量炒家介入,導致比特幣兌換現金的價格如過山車一般起伏。使得比特幣更適合投機,而不是匿名交易。
大眾對原理不理解,以及傳統金融從業人員的抵制。活躍網民了解p2p網路的原理,知道比特幣無法人為操縱和控制。但大眾並不理解,很多人甚至無法分清比特幣和Q幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。
Ⅵ 什麼是DFS(分布式文件系統)以及DFS的優點
通過 DFS(分布式文件系統),一台伺服器上的某個共享點能夠作為駐留在其他伺服器上的共享資源的宿主。DFS 以透明方式鏈接文件伺服器和共享文件夾,然後將其映射到單個層次結構,以便可以從一個位置對其進行訪問,而實際上數據卻分布在不同的位置。用戶不必再轉至網路上的多個位置以查找所需的信息,而只需連接到:
\\DfsServer\Dfsroot
用戶在訪問此共享中的文件夾時將被重定向到包含共享資源的網路位置。這樣,用戶只需知道 DFS 根目錄共享即可訪問整個企業的共享資源。
DFS 拓撲從 DFS 樹的根目錄開始。位於邏輯層次結構頂部的 DFS 根目錄映射到一個物理共享。DFS 鏈接將域名系統 (DNS) 名稱映射到目標共享文件夾或目標 DFS 根目錄的 UNC 名稱。當 DFS 客戶端訪問 DFS 共享文件夾時,DFS 伺服器將 DNS 名稱映射到 UNC 名稱並將引用返回給該客戶端,以使它能夠找到共享文件夾。將 DNS 名稱映射到 UNC 名稱使數據的物理位置對用戶是透明的,這樣用戶便無須記住存儲文件夾的伺服器。當 DFS 客戶端請求 DFS 共享的引用時,DFS 伺服器將使用分區情況表 (PKT) 將 DFS 客戶端定向到物理共享。對於基於域的 DFS,PKT 存儲在 Active Directory 中;對於獨立的 DFS,PKT 存儲在注冊表中。在網路環境中,PKT 維護有關 DFS 拓撲的所有信息,包括其到基礎物理共享的映射。DFS 伺服器將 DFS 客戶端定向到與請求的 DFS 鏈接相對應的副本共享列表後,DFS 客戶端使用 Active Directory 站點拓撲連接到同一站點中的一個副本,如果該站點中沒有提供副本,則連接到該站點以外的一個副本。
分布式軟體系統(Distributed Software Systems)是支持分布式處理的軟體系統,是在由通信網路互聯的多處理機體系結構上執行任務的系統。它包括分布式操作系統、分布式程序設計語言及其編譯(解釋)系統、分布式文件系統和分布式資料庫系統等。
分布式操作系統負責管理分布式處理系統資源和控
分布式系統的類型,大致可以歸為三類:
1、分布式數據,但只有一個總? 據庫,沒有局部資料庫。
2、分層式處理,每一層都有自己的資料庫。
3、充分分散的分布式網路,沒有中央控制部分,各節點之間的聯接方式又可以有多種,如鬆散的聯接,緊密的聯接,動態的聯接,廣播通知式聯接等。
Ⅶ 楦胯挋緋葷粺瀵瑰唴瀛樻湁浠涔堣佹眰鍚楋紵
灝嗗崕涓烘墜鏈虹殑瀛樺偍浠128GB鍗囩駭鍒256GB鐨勪紭鐐規湁鏇村ぇ鐨勫瓨鍌ㄥ歸噺銆佹洿濂界殑澶氫換鍔″勭悊鑳藉姏錛岀己鐐規湁鍙鑳戒細褰卞搷鎵嬫満鎬ц兘銆佷笉閫傜敤浜庢墍鏈夌敤鎴楓
1銆佷紭鐐
鏇村ぇ鐨勫瓨鍌ㄥ歸噺錛256GB鐨勫瓨鍌ㄥ歸噺姣128GB鐨勫瓨鍌ㄥ歸噺澶т竴鍊嶏紝鍙浠ュ瓨鍌ㄦ洿澶氱殑鏂囦歡銆佸簲鐢ㄧ▼搴忋佺収鐗囥佽嗛戠瓑銆
鏇村ソ鐨勫氫換鍔″勭悊鑳藉姏錛氭墜鏈虹殑瀛樺偍瀹歸噺瓚婂ぇ錛屽叾澶氫換鍔″勭悊鑳藉姏涔熻秺濂姐傚崌綰у埌256GB鐨勫瓨鍌錛屽彲浠ヨ╂偍鏇磋交鏉懼湴榪愯屽氫釜搴旂敤紼嬪簭錛屾垨鍚屾椂榪涜屽氶」浠誨姟銆
鍗庝負楦胯挋緋葷粺鐨勭壒鐐
鍗庝負楦胯挋緋葷粺鏄鍗庝負鑷涓葷爺鍙戠殑鎿嶄綔緋葷粺錛屽叾鍦ㄦ祦鐣呭害鏂歸潰鏈夌潃寰堝ソ鐨勮〃鐜般傛牴鎹鍗庝負瀹樻柟浠嬬粛錛岄縛钂欑郴緇熷叿鏈夊垎甯冨紡鏋舵瀯銆佸井鍐呮牳銆佸姩鎬佺紪璇戠瓑鎶鏈錛屽彲浠ュ疄鐜板氳懼囨棤緙濆崗鍚屻佸搷搴旀洿蹇銆佸畨鍏ㄦ洿鍙闈犵瓑鐗圭偣銆
鍦ㄥ疄闄呬嬌鐢ㄤ腑錛屽緢澶氱敤鎴峰弽棣堥縛钂欑郴緇熺殑鎿嶄綔浣撻獙闈炲父嫻佺晠銆傛嵁鍗庝負浠嬬粛錛岄縛钂欑郴緇熶嬌鐢ㄧ殑鍒嗗竷寮忔妧鏈鍙浠ュ厖鍒嗗埄鐢ㄨ懼囩殑璁$畻鍜屽瓨鍌ㄨ祫婧愶紝浣垮緱緋葷粺榪愯屾洿鍔犳祦鐣呭拰楂樻晥銆傛ゅ栵紝楦胯挋緋葷粺榪樺叿澶囧揩閫熷姩鎬佺紪璇戞妧鏈錛屽彲浠ュ笰PP榪涜屽姩鎬佺紪璇戝拰浼樺寲錛屾彁楂樿繍琛岄熷害銆