WEB开发网      濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻锝夊箣閿濆棭妫勯梺鍝勵儎缁舵岸寮诲☉妯锋婵鐗婇弫楣冩⒑閸涘﹦鎳冪紒缁橈耿瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顖涒拺闁告繂瀚烽崕搴g磼閼搁潧鍝虹€殿喛顕ч埥澶娢熼柨瀣垫綌婵犳鍠楅〃鍛存偋閸℃ɑ鍙忔繛鎴炴皑绾捐棄霉閿濆懏鎯堥柍璇茬墢缁辨帡鎮╁畷鍥р拰閻庢鍠涢褔顢樻總绋块唶妞ゆ劧缍嗛埀顒€娲缁樻媴閸涘﹤鏆堥梺瑙勭摃椤曆囷綖濠靛惟闁宠桨鑳堕澶愭⒑闂堟稓绠冲┑顕呭幖鍗遍柛顐ゅ枔缁犻箖鏌涢埄鍏狀亝鎱ㄩ崶銊d簻閹兼番鍨哄畷灞炬叏婵犲啯銇濈€规洏鍔嶇换婵嬪磼濮樺吋缍嬮梺璇插椤旀牠宕伴弽顓熷亯濠靛倸鎽滃畵渚€鏌″搴″箹缂佺姵绋掗妵鍕籍閸屾矮澹曢梺鎸庣☉缁绘ê顫忓ú顏勫窛濠电姴鍟惁鐑芥⒑閸涘﹥澶勯柛瀣嚇閹箖顢楅崟顑芥嫽婵炶揪绲介幗婊堝几閸愨斂浜滄い鎰╁焺濡偓閻庤娲栫紞濠傜暦缁嬭鏃堝焵椤掑倻涓嶉柡宥庡幗閻撳啴鏌涘┑鍡楊仼闁哄棗锕弻娑氣偓锝庡亝瀹曞瞼鈧娲滈崗姗€銆佸鈧幃娆撳箛閳轰胶浠鹃梺闈涙搐鐎氱増淇婇悜鑺ユ櫆闁告挆鍛緰濠电姵顔栭崰鏍晝閵堝绠规い鎰剁稻濞呭繘姊绘担瑙勫仩闁稿孩绮撻崺鈧い鎺戝绾惧鏌熼悙顒傜獮闁哄啫鐗嗗婵囥亜閹捐泛顎撶紒閬嶄憾濮婄粯鎷呯粵瀣秷閻庤娲橀敃銏ゃ€佸鎰佹Ъ濡炪們鍨归敃顏勵潖缂佹ɑ濯撮柛娑橈工閺嗗牆鈹戦悙棰濆殝缂佺姵鎸搁悾鐤亹閹烘垹顓煎銈嗘煥瑜扮偟绮径濞炬斀闁绘劖娼欓悘鐔兼煕閵婏附銇濋柟顕嗙節瀵挳鎮㈢紙鐘电泿闂備浇顫夊妯绘櫠鎼达絿鐭欓柤濮愬€楃壕濂告煃瑜滈崜鐔风暦濮椻偓閸╃偞寰勯崫銉ф晨闂備胶顢婃竟鍫ュ箵椤忓棙顫曢柡鍥╁枑濞呭繐鈹戦悩鎰佸晱闁哥姵鐗犻弫鍐Ω閵夈垺鐎洪梺鎸庣箓濞层倝宕瑰┑鍥╃闁糕剝顨堢粻姘舵煛鐎n亪鍙勯柡宀€鍠栭、娑㈠幢濡も偓閺嗘瑦銇勯妷锕€濮嶆慨濠傤煼瀹曟帒鈻庨幋顓熜滈梻浣侯攰婵倗鍒掑澶婄疄闁靛ň鏅滈崑銊х磼鐎n厽纭舵い锔诲枛閳规垿鎮欓崣澶樻!闂佸憡姊圭敮鐐哄箲閵忋倕骞㈡繛鎴炵懅閸樹粙姊洪棃娑氱畾闁硅櫕宀稿畷鐑筋敇閻樼數鍔堕梺璇插嚱缂嶅棝宕戞担鍦洸婵犲﹤鐗婇悡娑氣偓骞垮劚閸燁偅鎱ㄩ埀顒佺節閵忥綆娼愰柨鏇樺灲瀵鈽夐姀鈥斥偓閿嬨亜韫囨挸顏╂い顐㈡搐閳规垿顢欑涵閿嬫暰濠碉紕鍋犲Λ鍕亱闂佸憡鍔﹂悡浣姐亹閹烘嚦褔鏌涢埄鍐喛濠殿喖娲娲偡閺夋寧些闂佺娅曢敃銏ゆ偘椤曗偓楠炴ḿ鎷犻懠顒夊敽闁诲骸绠嶉崕閬嶅箯鐎n€稑饪伴崼鐔叉嫽闂佺ǹ鏈悷褔藝閿旂晫绡€闁逞屽墴閺屽棗顓奸崨顖ょ吹闂備線娼ч悧鍡浰囬銏犵劦妞ゆ巻鍋撻柛鐔告綑閻g兘宕¢悙鈺傤潔濠碘槅鍨抽崢褔鐛崼銉︹拻濞达絽鎲$拹锟犳煕鎼存稑鈧繈濡撮崘顔煎耿婵炴垶鐟ユ禍妤呮⒑閸濆嫭鍌ㄩ柛銊︽そ閹€斥槈閵忥紕鍘遍梺闈涱檧缁蹭粙宕濆顑芥斀闁挎稑瀚敮鍫曟婢跺绡€濠电姴鍊搁顐︽煟椤撶儐鍎旈柡灞炬礋瀹曟儼顦叉い蹇e墰缁辨帡鎮╁畷鍥ㄥ垱闂佽桨鐒﹂崝娆忕暦閵娾晩鏁囬柣妯虹仛缂嶄線姊婚崒姘偓椋庣矆娓氣偓楠炴牠顢曢敐鍛獮闂佹悶鍎洪崜娆撴倿閸偁浜滈柟鍝勬娴滃墽绱掗崜褑妾搁柛娆忓暙椤曪綁骞庨挊澶婅€垮┑鐐村灦閻熴儵鍩€椤掑倹鏆柡灞诲妼閳规垿宕卞☉鎵佸亾濡も偓椤儻顦遍柛妤佸▕瀵鏁撻悩鎻掕€垮┑鐐叉缁诲棝寮搁崨瀛樷拺闁告繂瀚ḿ銈夋煕閺囥劌浜介柛銈冨€曢埞鎴︽倷閸欏妫¢梺鎼炲妿閺佽鐣烽崫鍕殕闁告洦鍏橀幏娲⒒閸屾氨澧涚紒瀣浮钘熼柣鎰劋閸嬨劍銇勯弽銊р槈婵炴惌鍣i弻銊モ攽閸繀绮堕梺瀹狀潐閸ㄥ綊鍩€椤掑﹦绉甸柛瀣缁傚秴螖閸涱喚鍘甸梺鐓庢贡婢ф銇愯缁辨帡骞撻幒瀣划闂佽鍠曠划娆撳箠閿熺姴围闁搞儮鏅槐鍐测攽閻愯埖褰х紓宥佸亾濡炪倖娲橀悧鏇㈠煝閹捐鍗抽柕蹇ョ磿閸橀亶姊洪棃娴ㄥ綊宕曢搹顐ゎ浄闁靛緵棰佺盎濡炪倖鍔戦崹鑽ょ不瀹曞洨纾奸弶鍫涘妼缁楁帡鎽堕敐澶嬪仯闁搞儜鍕ㄦ灆闂侀€炲苯澧柟绋垮⒔濡叉劙骞樼€涙ê顎撻梺闈╁瘜閸樼ǹ危閸繍娓婚柕鍫濇閻忋儵鏌熼崘鏌ュ弰闁糕斂鍨介獮妯好虹紒妯绘珝闂備胶绮崝蹇涘疾濠婂牆妫橀柍褜鍓氭穱濠囨倷椤忓嫧鍋撻弽褜娼栫憸鐗堝笒閸戠姴鈹戦悩瀹犲缂佲偓閸屾稏浜滈柟鐑樺灥閳ь剝宕垫竟鏇熺附閸涘﹦鍘藉┑鈽嗗灡鐎笛囨偟椤忓棌鍋撶憴鍕闁活厼鍊垮濠氬即閵忕姴鑰块梺鍝勬川婵厼危椤旂⒈娓婚柕鍫濋娴滄繄绱掔拠鑼ⅵ闁绘侗鍣e畷鍫曞Ω閿曗偓椤庢捇姊虹粙璺ㄧ妞わ缚鍗抽幃妤呭川婵犲嫮鐦堥梺姹囧灲濞佳冩毄闂備浇妗ㄧ粈渚€骞夐敓鐘茬疄闁靛ň鏅╅弫鍥煏韫囨洖啸闁挎稒鐩铏规喆閸曨偆顦ㄧ紓浣割樈閸犳盯濡甸幇鏉跨闁规儳鐡ㄩ悵鎶芥⒒娴h鍋犻柛搴櫍瀵剟宕掗悙鑼姦濡炪倖宸婚崑鎾绘煥閺囥劋閭€殿喖顭烽弫鎾绘偐閼碱剙濮︽俊鐐€栫敮濠囨嚄閸洏鈧懘鎮滈懞銉モ偓鐢告煥濠靛棝顎楀ù婊呭仱閺屾稑螣閹稿寒妫勯梺瀹狀潐閸ㄥ潡宕洪妷鈺佸耿婵°倕鍟╅悽缁樹繆閻愵亜鈧牠宕归崼鏇熷仭闁宠桨鑳堕弳锕傛煟閵忋埄鏆柛瀣崌閺佹劖鎯旈垾鍐茬闂備胶枪椤戝棝骞愭ィ鍐ㄧ疅闁圭虎鍠栫粈瀣亜閹哄棗浜炬繛瀵稿Л閺呯姴顫忛搹鍦煓闁圭ǹ楠搁弨顓犵磽娓氬洤娅嶇紒鐘崇墵楠炲啫顫滈埀顒€鐣峰鈧、娆戞喆閿濆棗顏圭紓鍌氬€搁崐鐑芥倿閿曞倸鐓熼柕鍫濐樈閺佸倿鏌涢弴銏℃锭婵炲牄鍔戝娲礈閹绘帊绨煎┑鐐插级閻楃娀骞冮崸妤婃晪闁逞屽墴瀵鏁愭径濠勭杸濡炪倖妫佹慨銈呅掗崟顓犵<闁绘劦鍓欓崝銈夋煏閸喐鍊愮€殿喛顕ч埥澶婎潩椤愶絽濯伴梻浣虹帛閸旓箓宕滃☉妯锋灁闁靛牆顦伴悡娑樏归敐鍛喐濠⒀嶇畵閺岀喖顢欑粵瀣暭闂佺懓寮堕幐鍐茬暦閻旂⒈鏁嗛柛灞诲€栬ⅷ缂傚倸鍊搁崐椋庢閿熺姴绐楅柡宥庡亝瀹曞弶淇婇娑橆嚋妞ゃ儯鍊濆铏规嫚閺屻儱寮板┑鐐板尃閸パ咁啈濠电姴锕ら崥妯衡槈閵忊晜鏅梺缁樺姇椤曨參宕㈤棃娑辨富闁靛牆妫涙晶顏呬繆椤愶絾鈷掔紒顔肩墛閹峰懘宕烽褎绁俊鐐€栧ú宥夊磻閹剧粯鐓欐い鏃傜摂濞堟棃鏌嶇紒妯诲磳鐎规洖缍婇、娆撴偩鐏炲ジ鍋楅梻鍌氬€烽懗鍓佸垝椤栫偞鍋嬫繝濠傜墕閸屻劎鎲搁弮鍫濈畺濡わ絽鍟崐濠氭煠閹帒鍔氬ù婊勵殜閺岀喖鎮℃惔锝嗘喖闁藉啳椴搁妵鍕敃閵忊懣銏ゆ煃鐟欏嫬鐏撮柛鈹垮劦瀹曞崬螖閸愌勫煕闂備浇宕垫慨顓㈠磻閹剧粯鐓ラ柡鍥╁仜閳ь剙缍婂畷鎰版偨绾版ê浜鹃悷娆忓缁€鈧┑鐐茬湴閸斿孩绔熼弴鐔侯浄閻庯綆鍋嗛崢閬嶆煟韫囨洖浠滃褌绮欓獮濠囧川鐎涙ḿ鍘遍梺鍝勫€藉▔鏇熺墡闂備線娼уú銈団偓姘卞娣囧﹪骞栨担鑲濄劑鏌ㄩ弮鍌滃笡妞ゃ儻缍佸缁樻媴妞嬪簼瑕嗙紓浣瑰絻婢т粙骞戦姀銈呴唶闁靛/鍐偊闂備礁鎼粔鏌ュ礉瀹ュ棗鍨旈悗娑櫳戦崣蹇旂節闂堟稒顥炴繝鈧导瀛樼厵闂婎偒鍘煎畵鍡樻叏婵犲嫮甯涢柟宄版嚇閹煎綊鎮烽幍顕呭仹濠电姷顣藉Σ鍛村磻閸曨垰鐤痪鎯ь儐閿涘倿姊绘担绛嬫綈鐎规洘锕㈤、姘愁槻閺佸牓鏌$仦璇插姕闁稿﹦鏁婚弻銊モ攽閸℃侗鈧鏌$€n剙鏋涢柡宀嬬秮楠炴ḿ鎹勯悜妯尖偓鐐箾閿濆懏鎼愰柨鏇ㄤ簼娣囧﹪宕奸弴鐐碉紲濠殿喗锕╅崑鍕夊鑸碘拻闁稿本鐟ㄩ崗宀€绱掗鍛仸闁靛棗鍟村畷銊╊敇閸ャ劎鈽夐摶鏍煕濞戝崬骞橀柛妯绘そ濮婃椽宕烽鐐板缂備礁澧庨崑銈咁嚕椤曗偓瀹曠厧鈹戦崱娆戝春濠碉紕鍋戦崐鏍涙笟鈧敐鐐村緞鐏炵ǹ浜炬慨姗嗗厵閸嬨垺鎱ㄦ繝鍐┿仢闁圭绻濇俊鍫曞川閸涱偄鐏紒缁樼洴閹崇娀顢楅埀顒勫煝閸儲鐓曢柍瑙勫劤娴滅偓淇婇悙顏勨偓鏍暜閹烘鐤い鏍仦閸嬬喐銇勮箛鎾跺闁绘挾鍠栭悡顐﹀炊瑜濆銉ッ瑰⿰鍫㈢暫婵﹤顭峰畷鎺戭潩椤戣棄浜惧瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫇闁逞屽墰缁鎮╃紒妯煎幍闂備緡鍙忕粻鎴︾嵁濡ゅ懏鐓曟繛鍡楃箳缁犲鏌″畝鈧崰鎾舵閹烘顫呴柣妯虹-娴滃爼姊绘担鍛靛綊顢栭崒鐐茬柧闁绘ǹ顕ч拑鐔兼煥濠靛棭妲搁崶鎾煙閼圭増褰х紒杈ㄦ礃缁傛帒饪伴崟顓狀啎闁诲孩绋掑玻鍧楁儗婵犲嫮纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯闁绘挸绨堕崑鎾剁磼濡湱绠氬銈嗙墬缁诲倹绂嶈ぐ鎺撶厽闁挎繂妫欓妵婵囨叏婵犲啯銇濈€规洦鍋婂畷鐔碱敆閳ь剙鈻嶉妶鍥╃=濞达絿鐡旈崵娆撴煟濡も偓濡繈鏁愰悙鍓佺杸闁瑰彞鐒﹀浠嬨€侀弮鍫濇そ濞达綀顕栧Λ鍐ㄢ攽閻樺灚鏆╅柛瀣仱瀹曞綊宕奸弴鐔锋疄婵°倧绲介崯銊╁焵椤掆偓閸婂灝鐣烽锕€绀嬮柕濠忛檮閺夋悂姊绘担鍝ユ瀮婵☆偄瀚灋婵°倓鑳堕々鍙夌節闂堟侗鍎愰柣鎾跺枛閺岋綁寮崹顔鹃獓濠电偛鎳庨敃顏堝蓟閺囥垹骞㈤柡鍥╁濡差噣姊虹€圭媭鍤欓梺甯秮閻涱噣骞掑Δ鈧猾宥夋煕鐏炲墽鈯曠紒棰濆亰濮婂宕掑▎鎴М闂佸湱鈷堥崑濠傜暦椤栫儐鏁冮柨鏇楀亾缁惧墽鎳撻埞鎴︽偐瀹曞浂鏆¢梺绋块閿曨亪寮诲☉銏╂晝闁绘ɑ褰冩慨鏇㈡⒑閹惰姤鏁遍柛銊ョ埣楠炲牓濡搁埡鍌氫画闂佺粯顨呴悧濠囧箖濞嗘挻鈷戦悹鍥皺缁犳壆鈧鍠栨晶搴ㄥ箲閵忕姭妲堟繛鍡樺姇椤庢捇姊洪崨濠傚鐟滄澘鍟撮、鏃堫敃閿濆啩绨婚梺鍐叉惈閸燁偊宕㈤幘顔界厸閻忕偠顕ф慨鍌溾偓娈垮枟閹告娊骞冨▎寰濆湱鈧綆浜欐竟鏇㈡偡濠婂懎顣奸悽顖涱殜瀹曟垿宕掗悙瀵稿幐闂佹悶鍎崕閬嶆倶椤忓牊鐓熼柟鎯х-缁犱即鏌嶇憴鍕伌闁诡喗鐟╅幊鐘活敄閼愁垱顎楅梻鍌欑閹诧繝寮婚敐澶婄9婵犻潧顑呴拑鐔哥箾閹存瑥鐏╅柣鎾寸洴閹鏁愭惔鈥愁潾闁藉啳椴告穱濠囨倷椤忓嫧鍋撻幋锕€绀夊┑鐘叉搐绾惧潡鏌i姀鈶跺湱绮婚弽銊х闁糕剝蓱鐏忣厾绱掗悪娆忔处閻撴瑩鎮楀☉娆嬬細缂佺姰鍎茬换娑㈠礂閼测晩鏆℃繛锝呮搐閿曨亝淇婇崼鏇炵倞妞ゎ剦鍠撻崕鐢稿蓟濞戞埃鍋撻敐搴″濞寸娀浜堕弻鈩冩媴缁嬫寧娈绘繝娈垮枓閸嬫捇姊洪棃娑氬闁哥喓濞€瀹曟垿骞樼€涙ê顎撶紓渚囧灡濞叉﹢鎮楁繝姘拺闁革富鍘兼禍鐐箾閸忚偐鎳冮柍缁樻崌楠炲洭鎮ч崼姘闂備礁鎲¢崝鏇烆嚕閸洖绠氶柛顐ゅ枂娴滄粓鏌熺€涙ḿ绠栭柛鐘筹耿閺岋絽鈽夐崡鐐寸彎婵犳鍠掗崑鎾绘⒑闂堟稓澧曟俊顐㈢焸楠炲繑绻濆顓涙嫼缂備礁顑嗙€笛冿耿娴煎瓨鐓熼柣鏇炲€搁々顒傜磼椤旂》韬柟顔ㄥ洤閱囨繛鎴烆殘閻╁孩淇婇悙顏勨偓鏍礉閹达箑鏄ラ柛鏇ㄥ€犻敐澶婄濞达絽婀遍崢浠嬫⒑閹稿海绠撻柟鍐查鍗卞┑鐘崇閹虫岸鏌ㄥ┑鍡╂Ч闁绘挾濮电换娑㈠级閹搭厼鍓卞┑鐐叉噹濞差參寮婚敐澶婄闁归绀侀崜鏉款渻閵堝簼绨婚柛鐔风摠娣囧﹪宕奸弴鐐茶€垮┑顔筋殔濡瑩鍩涢弽顓熲拻濞达綀濮ょ涵鍫曟煕閻樺弶顥㈢€规洘娲熼幊鐘活敆閸屾粎鍔归柣搴$畭閸庨亶鎮ч崟顒傤洸鐟滅増甯楅悡娆撴煟閹寸倖鎴犱焊閻㈠憡鐓曟俊顖氬悑閺嗩剚鎱ㄦ繝鍛仩缂佽鲸甯掕灒闁惧繘鈧稒顢橀梻浣芥閸熷瓨绂嶉崼鏇炵畺婵☆垵娉曢悿鈧梺鎸庣箓閹冲海绮昏ぐ鎺撯拻闁搞儜灞拘х紓浣虹帛缁诲啰鎹㈠┑瀣<婵﹩鍘介宥囩磽閸屾瑧顦︽い锕備憾瀹曟洟濡舵径濠勭杽闂侀潧饪垫俊鍥╁姬閳ь剟姊洪崨濠佺繁闁革綆鍠楃粋鎺楀煛閸愵亞锛濇繛杈剧导缁瑩宕ú顏呭仺妞ゆ牗绋戠粭鈺呮煟韫囨柨娴慨濠冩そ楠炲棜顦寸紒鐘差煼閺屽秷顧侀柛鎾存皑缁瑩骞掑灏栧亾娴e壊娼ㄩ柍褜鍓欓~蹇旂節濮橆剛锛滃┑鐐叉閸ㄥ灚淇婃禒瀣厽閹艰揪绲块幊妤呮煕韫囨洖孝闁圭⒈鍋婇、姗€宕楅悡搴g獮婵犵數濮寸€氼參鎮¢敐鍡欑瘈闁汇垽娼ф禒锕傛煕閵娿儱顣抽柛鎺撳笚閹棃濮€閵忊晜閿ら梻鍌欑贰閸撴瑧绮旈悽绋跨厱闁圭儤鍤氳ぐ鎺撴櫜闁告侗鍠栭弳鍫ユ⒑閸濄儱鏋旈柛瀣仧閹广垹鈽夊顓炵彴閻熸粌绻橀幃楣冩偨绾版ê浜鹃悷娆忓缁€鈧紓鍌氱Т閿曨亜顕f繝姘耿婵°倕锕ら幃鎴︽⒑閸涘﹣绶遍柛銊ゅ嵆閻涱噣宕奸妷锔规嫽婵炶揪绲肩拃锕傚绩娴煎瓨鐓欐繛鑼额唺闁垱鎱ㄦ繝浣虹煓鐎规洜鍠栭、娑樷槈濡湱鏆楀┑鐘垫暩閸嬫稑螞濞嗘挸绠板┑鐘崇閸嬪倿鏌eΟ铏癸紞缂佺娀绠栭弻鈩冨緞鐎n亞鍔搁梺绋垮閸旀牜鎹㈠☉銏犲窛妞ゆ挾鍠庡▍锝夋⒒閸パ屾█闁哄矉绲借灒闁惧繒娅㈢槐鐐烘⒑濞茶骞栭柨鏇ㄤ邯瀵顓奸崶銊ユ瀭闂佸憡娲﹂崑鍡樺瀹€鍕拺闁硅偐鍋涙慨鍌滅磼閻樺磭澧垫鐐插暙閳诲酣骞橀弶鎴犳濠电姰鍨煎▔娑⑺囬鐐插瀭婵犻潧顑嗛埛鎺楁煕鐏炲墽鎳勭紒浣哄閵囧嫰寮撮悢鍝勨拰閻庤娲樺妯跨亙闂佸憡渚楅崑鈧柛瀣崌瀹曟﹢顢欓悡搴g崺闂備礁鎼ˇ浼村垂瑜版帒鐭楅柍褜鍓欓埞鎴︽偐椤旇偐浼囬梺绯曟櫆閻楃姴鐣峰┑瀣嵆闁绘ê鍚€缁楀姊虹憴鍕姸濠殿喓鍊濋幃鈥斥枎閹惧鍘靛銈嗙墪濡鎳熼姘f灁闁割偅娲橀崑鈩冪節婵犲倸顏紒璺哄级缁绘稓浠﹂崒姘瀷濠碘€冲级閸旀瑩鐛Ο鍏煎珰闁肩⒈鍓ㄧ槐鍙夌節閻㈤潧浠滄俊顐g懇瀹曞綊鎳栭埡鍐箵濠德板€曢幊蹇涘煕閹达附鐓曟繝闈涘閸旀岸寮介敓鐘斥拺缂備焦锕╁▓妯衡攽閻愨晛浜鹃梻渚€娼уΛ鏃傛濮橆剦鍤曞ù鐘差儛閺佸洭鏌i幇顖氱毢闁绘稈鏅犲缁樻媴閸涘﹨纭€闂佸啿鍢查悧鎾崇暦閵忥紕顩烽悗锝庝簽閺屟囨⒑閹稿海绠撴い锔垮嵆閸╂盯骞嬮悩鐢碉紲闁诲函缍嗛崢鐣屾兜閸撲胶纾奸柣妯哄暱閳绘洟鏌$仦鍓р槈閾伙綁鏌eΟ鍝勭骇闁革絿鍎ら妵鍕箛椤忓棛鐓撻梺鍝勭焿缂嶄線鐛崶顒夋晩闁告挆鍛潓缂傚倸鍊峰ù鍥敋瑜嶈灋婵炲棙鎸告闂佸憡娲﹂崹浼村礃閳ь剟姊洪棃娴ゆ盯宕ㄩ姘瑩闂傚倷鐒﹂惇褰掑春閸曨垰鍨傞弶鍫氭櫇閻瑩鏌熼悜妯烩拹鐎规洖寮剁换娑㈠箣濞嗗繒浠奸悗鐟版啞缁诲啴濡甸崟顖氱閻犺櫣鍎ら悗濠氭⒑閸濆嫷鍎戝┑顔芥尦閸╃偤骞嬮敂缁樻櫓缂佺虎鍘奸崲鍙夋叏濞戞氨纾藉〒姘搐濞呮﹢鏌涢妸銉у煟闁绘侗鍠涚粻娑樷槈濡櫣鐛╅梺璇插缁嬫帡鏁嬫繛瀵稿閸欏啫顫忕紒妯肩懝闁搞儜鍐х礋缂傚倷鑳舵慨鐢稿垂閻㈢ǹ鐓濋柟鐐灱閺€浠嬫煕椤愮姴鐏柨娑欑箞濮婅櫣绮欓幐搴㈡嫳闂佽崵鍣︽俊鍥╁垝婵犲洦鍋嬮柛顐g◥缁ㄥ姊洪崫鍕悙婵☆偅顨呯叅闁靛牆娲らˉ姘辨喐閻楀牆绗氶柣鎾存礃閵囧嫰顢橀悢椋庝淮濠电偛鎳忛敃銏ゅ蓟濞戙垹围闁糕剝岣块ˇ顓犵磽娴d粙鍝洪柟绋款煼楠炲繘宕ㄩ娑橆伕濡炪倖鐗楃划搴g玻濡ゅ啰纾介柛灞剧懆椤斿淇婇悪娆忔搐绾惧鏌熼崜褏甯涢柍閿嬪笒闇夐柨婵嗙墱濞兼劙鏌涚€n剙鈻堥柡灞剧⊕閹棃顢欓懖鈺€妗撻柣搴ゎ潐濞叉ḿ鎹㈤崒鐑嗘晣濠靛倻枪瀹告繃銇勮箛鎾村櫧闁逞屽墯濡炶棄顫忓ú顏勭闁绘劖褰冩慨鍫曟⒑閸涘﹥灏扮€光偓閹间礁鏄ユ繛鎴欏灩缁狅綁鏌eΟ鍏兼毄闁挎稒绮撻弻锝嗘償椤栨粎校闂佺ǹ顑呯€氫即銆佸顑藉牚闁告洦鍘鹃惁鍫ユ⒑闁偛鑻晶瀛橆殽閻愯尙效妞ゃ垺鐟╁畷婊嗩檪缂佽鲸鐓″铏规嫚閹绘帒姣愮紓鍌氱Т濡繂鐣烽幋锕€宸濇い鎾跺У濞堥箖鎮楅崗澶婁壕闂侀€炲苯澧撮柛鈹惧亾濡炪倖甯掗崰姘缚閹邦厾绠鹃柟缁樺笧缁犺崵鈧娲濋~澶岀矉閹烘柡鍋撻敐搴濈敖闁伙絿鍎ょ换娑氣偓鐢登瑰瓭濡炪倖鍨甸幊搴敊韫囨挴鏀介柛鈥崇箲閺傗偓闂備胶绮摫鐟滄澘鍟撮、鏃堝煛閸屻倖顔旈梺缁樺姈閹苯鈻撳⿰鍕弿濠电姴鍟妵婵嬫煙椤旀儳鍘寸€殿喖鐖奸獮鎰償閳锯偓閸嬫捇顢涢悙绮规嫼婵炴潙鍚嬮悷褏绮旈棃娴㈢懓饪版惔婵堢泿闂佷紮缍侀ˉ鎾诲箟閹绢喖绀嬫い鎾跺Х濡插洦绻濆▓鍨灍闁挎洍鏅犲畷婊冣槈閵忕姴鍋嶉梺瑙勫婢ф鍩涢幋锔界厱婵犻潧妫楅顏堟煕鐏炶濮傞柡灞剧洴婵℃悂鏁傛慨鎰檸闂備浇顕栭崳顖滄崲濠靛洣绻嗛柣鎴eГ閺呮粓鏌﹀Ο渚Ц濞寸厧瀛╃换婵堝枈濡椿娼戦梺鎼炲妺閸楁娊骞冨Ο琛℃斀閻庯綆鍋勬禍妤呮⒑鐟欏嫬顥嬪褎顨婇幃锟犳偄閸忚偐鍘甸梺纭咁潐閸旀牜娑垫ィ鍐╃厸閻庯綆鍋嗗ú鎾煛瀹€瀣М妤犵偞鐟╁畷姗€濡搁妶鍛€抽梺璇叉唉椤煤閺嶎厽鍋夐柛蹇涙?缁诲棝鏌i幋锝嗩棄閸烆垶姊洪棃娑辨Ф闁稿孩鐩獮瀣偐閻㈢绱抽梻浣呵归張顒勬偡瑜旇棟闁挎柨顫曟禍婊堟煙鐎涙ḿ绠樺褎娲熼弻锝夋晲閸パ冨箣闂佽鍠曠划娆忕暦瑜版帩鏁冩い鎰剁悼缁嬫劙姊婚崒娆戭槮婵犫偓闁秴纾块柕鍫濇媼濞兼牠鏌ゆ慨鎰偓鏇⑺夊鑸电厱闊洦绋掗敍鐔虹磼鐠囧弶顥為柕鍥у瀵粙濡歌閻e灚绻涚€涙ḿ鐭婄紓宥咃躬瀵鏁愭径瀣珳闂佸壊鍋嗛崳銉︾閳哄啰纾藉ù锝勭矙閸濇椽鏌熺粙娆剧吋妤犵偛绻樺畷銊р偓娑櫳戦崕顏堟⒑閼姐倕鏋戝鐟版椤㈡洟鎳栭埡鍐紳闂佺ǹ鏈悷锔剧矈閻楀牄浜滈柡鍥ф濞诧箓宕戠€n喗鐓曢柍鈺佸暟閳洟鏌涚€Q勬珖闁逞屽墰閹虫挾鈧矮鍗冲畷鎴炵節閸屾牜绱伴梺闈浥堥弲婊堟偂閸愵亝鍠愭繝濠傜墕缁€鍫熸叏濮楀棗骞橀柍鐟扮Т閳规垿鎮╅幓鎺嶇敖濠电偛鍚嬫竟鍡涘焵椤掆偓閸樻粓宕戦幘鏂ユ斀闁绘ɑ褰冮弫顏堟煏婵炑冩噽閿涙繈姊虹粙鎸庢拱闁荤噦濡囩划濠囧级濞嗙偓瀵岄梺鍝勵槹閸ㄥ爼骞夐幖浣圭厵妤犵偛鐏濋悘鑼偓瑙勬礈閸樠囧煘閹达箑绠涙い鎾跺Х閳诲绱撻崒姘偓鎼佸磹閻戣姤鍊块柨鏇氱劍閹冲苯鈹戦悩鎰佸晱闁搞劋鍗抽、姘额敇閻樻剚娼熼梺鍦劋閸ㄧ喎危閸喐鍙忔俊銈傚亾婵☆偅顨婂畷婊堝级鎼存挻鏂€闂佺粯鍔樼亸娆愭櫠濞戙垺鐓曢柡鍐e亾闁荤喆鍎甸敐鐐剁疀閹句焦妞介、鏃堝礋椤撗冩櫍闂傚倷鑳剁划顖炲礉閺嶎兙浜归柛鎰靛枓閳ь剚鐗犲畷鍗炩槈濞嗗本瀚奸梻浣告啞缁嬫垿銈弶鎴旀灁闁哄啫鐗婇悡鏇㈡煟閺冨牊鏁遍柛瀣ㄥ劦閺岀喖顢氶埀顒傜不閺嶎厼绠栨繝濠傛噽妞规娊鎮楅敐搴′簼婵炲懏鐗犲缁樻媴閾忕懓绗¢梺鍛婃⒐宀f寧绂嶇粙搴撴瀻闁规澘鐏氶鏃堟⒑閹肩偛鍔撮柛鎾村哺閸╂盯骞嬮敂鐣屽幗闂佺粯姊婚崢褎绂嶆导瀛樼厱闁靛牆娲ら弸搴ㄦ煃鐟欏嫬鐏存い銏″哺閸┾偓妞ゆ巻鍋撳畝锝堝劵椤﹀綊鏌涢埞鍨伈妤犵偞锚鑿愭い鎺嗗亾濞存粍绻堝娲川婵犲倸顫呴梺鍝勫€风欢姘剁嵁韫囨稒鎯為柛锔诲幘閿涙繈姊虹粙鎸庢拱闁荤啙鍥х鐎广儱顦扮€氬懘姊洪鈧粔鐢告偂閸愵喗鈷戦柛顭戝櫘閸庡繑绻涢幖顓炴珝闁哄矉绱曟禒锕傛偩鐏炴縿鍨介弻锝夋晲韫囨洜鐦堝Δ鐘靛仜缁夊綊銆佸▎鎴滅剨闁哄诞鍐榾闂傚倷娴囬褏鈧稈鏅犻、娆撳冀椤撶偤妫峰銈嗘磵閸嬫挾鈧娲橀崹鍓佹崲濠靛纾兼繝濠傚椤旀洟姊绘担鍛婅础闁稿簺鍊濋妴鍐幢濞戞ḿ锛欓梺缁樺灱婵倝宕愰悽鍛婄厽闁靛繈鍨洪銏㈡喐閻楀牆绗х€规挷绶氶弻娑㈩敃閻樻彃濮曢梺鎶芥敱鐢帡婀侀梺鎸庣箓濞诧箓宕甸埀顒勬⒑瀹曞洨甯涙繛鑼枛瀵鍩勯崘顏嗘嚌闂佹悶鍎滈崟顓炵秵闂佽姘﹂~澶娒哄鈧畷褰掑锤濡ゅ啫绁﹀┑鈽嗗灥閸嬫劗澹曢崗闂寸箚妞ゆ牗绮岀敮鑸殿殽閻愭潙濮嶆慨濠勭帛閹峰懘宕ㄦ繝鍌涙畼濠电偞鎸荤喊宥夈€冩繝鍌滄殾闁哄顑欏ḿ鈺呮偣妤︽寧顏犻柣銈呮喘濮婃椽宕ㄦ繝浣虹箒闂佸摜濮靛ú婊堝箲閵忋倕骞㈡繛鎴炵懅閸樺崬鈹戦悙鍙夘棞婵炲瓨鑹惧嵄缂佸绨遍弨鑺ャ亜閺傚灝鎮戦柛鐘筹耿閺岀喖鎸婃径灞界厽闂佽桨鐒﹂崝鏍ь嚗閸曨厸鍋撻敐搴濈胺闁告繃顨嗙换婵嬫偨闂堟稐娌梺鎼炲妼婢у酣寮鈧獮鎺楀箻鐎涙ḿ褰块梻浣告惈鐞氼偊宕曢弻銉﹀亗婵炴垯鍨洪悡鏇㈡倶閻愪絻妾告繛鍫熸煥闇夋繝濠傜墢閻g儤鎱ㄦ繝鍌ょ吋鐎规洘甯掗~婵嬵敄閽樺澹曢梺缁樺灱婵倝宕甸崟顖涚厱闁规崘灏欓ˇ锕傛煕閵婏妇绠栭柕鍥у瀵粙顢曢~顓犳崟缂傚倷璁查崑鎾愁熆閼搁潧濮堥柣鎾寸洴閺屾盯濡烽姀鈩冪彅闂侀€炲苯澧剧紓宥勭窔楠炲啴濮€閵堝懍绱堕梺闈涳紡閸涱噮娼撻梻鍌氬€烽悞锕傚箖閸洖纾挎繝濠傜墕缁€鍐煃鏉炴壆顦﹀┑顔煎暣濮婂宕掑顑藉亾閻戣姤鍤勯柛鎾茬閸ㄦ繃銇勯弽顐粶闁藉啰鍠栭弻鏇熺箾閻愵剚鐝曢梺绋块缁夌數鎹㈠┑瀣棃婵炴垵宕崜鎵磽閸屾瑨顔夐柡鍛█瀵濡舵径濠勭暢闂佸湱鍎ら崹鍨叏鐏炲墽绠鹃悗娑欋缚閻绱掗鑺ュ磳鐎殿喖顭烽弫鎾绘偐閼碱剦妲伴梻渚€娼чオ鐢电不閹次诲洭鍩℃笟鍥ㄥ瘜闂侀潧鐗嗛崯顐﹀礉濮橆厹浜滈柨鏃傚亾閺嗩剛鈧鍠涢褔鍩ユ径鎰潊闁绘ɑ鍓氬Λ鐔兼⒑閼姐倕孝婵炶濡囩划濠囧箻椤旇偐锛涢梺鍦亾閺嬪ジ寮ㄦ禒瀣€甸柨婵嗙凹缁ㄨ姤銇勯弮鈧崹鍨潖濞差亜绀堥柟缁樺笂缁ㄧ厧鈹戦悙鎻掔骇闁挎洏鍨归悾鐑藉箛閻楀牆鈧鏌ら幁鎺戝姢闁告ü绮欏娲偡闁箑娈堕梺绋款儏缁夊墎妲愰幘鎰佹僵闁煎摜鏁搁崢鍗炩攽椤斿浠滈柛瀣尭闇夋繝濠傛绾偓銇勯銏㈢閻撱倖銇勮箛鎾愁仹缂佸崬鐖煎娲川婵犲啫顦╅梺鍛婃尰閻熲晛鐣烽幋婵愬悑濠㈣泛顑傞幏娲⒑閸涘﹦鈽夐柨鏇樺劦閹繝濡烽埡鍌滃幐闂佸壊鍋掗崑鍕櫠鐎电硶鍋撳▓鍨灍闁绘挴鈧磭鏆﹀┑鍌溓归崡鎶芥煏婵犲繘妾繛鍛墵濮婄粯鎷呴搹鐟扮闂佸憡姊瑰ú鐔笺€佸棰濇晣闁靛繒濮撮崑宥夋⒑閸涘⿴娈橀柛瀣姍瀵劍绂掔€n偆鍘介梺褰掑亰閸撴瑧鐥閵囧嫰濡烽敂鍓х厒缂備浇椴哥敮鐐垫閹烘嚦鐔兼惞鐠団€冲壃缂傚倸鍊风欢锟犲窗濮樺崬鍨濇い鏍ㄧ矋瀹曞弶绻濋棃娑欙紞婵炲皷鏅滈妵鍕箻鐠虹洅銏☆殽閻愭潙濮嶆慨濠呮閹风娀鎳犻鍌ゅ敽闂備胶枪椤戝洭宕伴弽褜鍤曢柡灞诲労閺佸啴鏌ㄥ┑鍡橆棡闁绘繐绻濆缁樻媴缁涘娈┑顔斤公缁犳捇鏁愰悙鏉戠窞濠电偞甯楀浠嬪极閸愵喖纾兼慨妯诲敾缁卞崬鈹戦悩鍨毄濠殿喗鎸冲畷鎰節濮橆剚杈堥梺鎸庢礀閸婂綊鎮¢悢鍏肩厸闁告劑鍔岄埀顒傛暬楠炲繘鏁撻悩宕囧幐婵炶揪绲介幉锟犓夐姀銈嗙厸閻忕偟鏅暩濡炪伇鍌滅獢闁哄本鐩獮妯尖偓闈涙啞閸d即姊虹化鏇熸澓闁搞劌缍婇、姗€宕楅悡搴g獮闁诲函缍嗛崑鍛存偟閹惰姤鈷掑ù锝堫潐閸嬬娀鏌涙惔顔兼珝鐎殿喗褰冮埞鎴犫偓锝庡亝濞呮牕鈹戦悩缁樻锭婵炲眰鍔庣划缁樸偅閸愩劎楠囬梺鍓插亝缁诲倿鍩涢弮鍌滅<閻庯綆鍘奸崥褰掓煙閸欏鍊愮€殿喖鐖煎畷褰掝敊閼恒儺鍞圭紓鍌氬€风粈渚€宕愰崫銉х煋鐟滅増甯掔粻鏍ㄧ箾閸℃ɑ鎯勯柡浣告閺屾稓浠﹂崜褏鐓傚┑鈩冨絻濞差厼顫忕紒妯肩懝闁逞屽墮宀h儻顦虫い銊e劥缁犳盯寮撮悙鐢电摌闂備礁鎲¢幐鍡涘礋椤愩垹绠查梻鍌欒兌缁垶宕濋敃鍌氱婵炲棙鍔楅々鍙夌節婵犲倻澧涢柣鎾寸懇閹鈽夊▎瀣窗缂備胶濮甸悧婊堝焵椤掑倹鍤€闁硅绱曢幑銏ゅ礋椤撶噥娼熼梺鍦劋椤ㄥ繘寮繝鍥ㄧ厱闁圭偓顨呴崯浼搭敃婵傚憡鈷掑〒姘e亾婵炰匠鍥ㄥ亱闁绘劗鏁哥粈濠偯归敐鍛喐闁哄棴闄勯幈銊ヮ渻鐠囪弓澹曢梻浣虹《閺咁亞鎹㈠┑鍡欐殾婵せ鍋撳┑鈩冩倐婵$柉顧侀柛姘儔濮婂宕掑顑藉亾瀹勬噴褰掑炊椤掑鏅悷婊冪箻閸┾偓妞ゆ帊鑳堕埢鎾绘煛閸涱喚绠橀柛鎺撳笒閳诲酣骞樺畷鍥跺敽闂備胶鎳撻顓熸叏鐎靛摜涓嶉柣銏犳啞閻撶喖鏌eΟ鍝勫笭闁煎壊浜弻娑㈠棘閸噮鍔夌紓浣割儏椤︻垶顢樻總绋垮耿婵☆垰鎼导搴㈢節绾板纾块柛瀣█椤㈡俺顦崇紒鍌氱У閵堬綁宕橀埞鐐闂備礁鎲$换鍌溾偓姘煎灦閿濈偤鏁冮崒娑氬幈闂佸搫鍊藉▔鏇㈡倿閹间焦鐓曢柍鐟扮仢閸旀粎鈧灚婢樼€氼厾鎹㈠☉銏狀潊闁靛繒濮甸悗楣冩倵閸偅绶查悗姘嵆楠炲棝宕掗悙韫炊闂侀潧顦介悘鏍箣閿旇В鎷洪梻鍌氱墛缁嬫帡骞栭幇鐗堝€垫慨妯哄船椤g厧菐閸パ嶈含妤犵偞鐗楅幏鍛喆閸曨剛褰搁梻鍌欑閹测剝绗熷Δ鍛偍闁煎綊鍋婇弶娲⒒閸屾艾鈧悂宕愬畡鎳婂綊宕堕澶嬫櫔闂佸搫绋侀崢鑲╃玻濡や椒绻嗛柕鍫濇噺閸f椽鏌涚€e墎绡€闁哄苯绉瑰畷顐﹀礋椤掆偓濞咃繝姊洪柅鐐茶嫰閸樺摜绱掗懜浣冨妞ゆ洩缍侀、姘跺焵椤掆偓閻g兘鎮℃惔妯绘杸闂佸壊鍋掗崑鍛櫏濠电姷顣槐鏇㈠磻閹达箑纾归柡宥庡幖缁犱即鏌ゆ慨鎰偓鏍х暦閺屻儲鐓曢柡鍥ュ妼楠炴﹢鏌i鐐搭棦闁哄本鐩鎾Ω閵壯傜敾闂備焦濞婇弨杈╂暜閿熺姴钃熸繛鎴炵煯濞岊亪鏌涢幘妤€瀚▍妤冪磽閸屾瑦顦烽柤瀹犲煐閺呰泛螖閸涱厙锕傛煕閺囥劌鐏犻柛妤佸▕閺岋綁寮幐搴㈠創闂佸啿鍢查惌鍌炲箖濡ゅ啯鍠嗛柛鏇ㄥ墰閿涙盯姊洪崨濠庢當闁哥喎娼¢、姘舵晲閸℃瑯娴勯柣搴到閻忔岸寮插┑瀣拺闂傚牊绋撴晶鏇熺箾閺夋垵鈧ǹ宓勭紓浣割儏缁ㄩ亶寮ㄦ禒瀣厽婵☆垵娅f禒娑㈡煛閸″繑娅呴柍瑙勫灴椤㈡瑩鎳為妷銉ユ敪闁诲氦顫夊ú姗€宕濋弽顐e床婵犻潧妫ḿ鈺傘亜閹哄秵绁扮紒韬插灲濮婄粯鎷呴悷閭﹀殝濠电偛寮堕悧鐘茬暦閹邦垬浜归柟鐑樻尭娴滄鈹戦悙鍙夘棡闁告梹鍨剁粋宥呪堪閸喓鍘搁悗骞垮劚妤犲憡绂嶅⿰鍏犲綊鎮╁畷鍥╃厐闂傚洤顦扮换婵囩節閸屾稑娅e銈忕悼閸樠嗗絹闂佹悶鍎滃鍫濇儓闂備胶鎳撶壕顓熸叏閻㈠憡鏅柟閭﹀厴閺€浠嬫煕閳╁喛渚涢柛鐐寸叀濮婂宕掑▎鎴М闂佹眹鍊曞ú顓㈡晲閻愭潙绶為柟閭﹀墮閻庮參姊虹粔鍡楀濞堟棃鏌¢崟鈺佸姦闁哄本鐩鎾Ω閵壯傚摋缂傚倷璁查崑鎾绘煕閹伴潧鏋熼柣鎾崇箰閳规垿鎮欓幋婵嗘殲闁革絿鍏橀弻娑氣偓锛扁偓閸嬫捇寮妷锔芥澑闂備焦瀵х粙鎴犫偓姘煎墯缁傚秵绺介崨濠勫幈婵犵數鍋涢悘婵嬪焵椤掍胶绠撻柣锝囧厴婵偓閹烘娊宕戦崨瀛樼厱闁规壋鏅涙俊鎸庛亜锜婚崘锝嗘杸闂佸疇妫勫Λ妤呮倶閻斿吋鍋i柍褜鍓熼弫鍐磼濮橆剚鍎梻浣告惈濞层垽宕瑰ú顏勭;闁挎繂顦伴悡鏇㈡煏婢舵稓鍒板┑鈥虫健閺屾洟宕煎┑鍫熸喖婵烇絽娲ら敃顏堢嵁閹捐绠抽柡鍌氱氨閸欐椽姊绘担鍛婃儓闁哄牜鍓欑叅婵犻潧鐗忔稉宥嗙箾閹存瑥鐏╅柛妤佸▕閺岋綁骞嬪┑鍥舵!缂傚倸绉撮惌鍌氼潖缂佹ɑ濯寸紒瀣濮f劙姊洪崷顓涙嫛闁稿锕悰顔界節閸涱垳鏉稿┑鐐村灦閻熴儲绂嶅Δ鍛棅妞ゆ劑鍨烘径鍕煙鐏忔牗娅婇柟顔哄灲瀹曞崬鈽夊▎蹇庡寲濠德板€ч梽鍕偓绗涘浂鏁傞柣妯烘▕閻斿棛鎲告惔鈭舵椽鎮㈤悡搴ゆ憰濠电偞鍨崹鍦尵瀹ュ鐓冪憸婊堝礈閻旇偐宓侀柟鐗堟緲缁狀噣鏌﹀Ο渚Ъ闁硅姤娲栭埞鎴︽倷閺夋垹浠ч梺鎼炲妿閹虫捁鐏嬪┑鈽嗗灥瀹曠數绮绘ィ鍐╃厱闁斥晛鍟伴幊鍐瑰⿰鍕姢閾绘牠鏌¢崘銊モ偓鑽ゅ娴犲鐓曢悘鐐插⒔閹冲嫮绱掓担瑙勭凡妞ゎ亜鍟伴埀顒佺⊕钃遍柛濠冨姈椤ㄣ儵鎮欓弶鎴濐潔缂備胶绮换鍌烇綖濠靛鏁嗛柛灞诲€曢弫鎼佹⒒閸屾瑧顦﹂柟娴嬪墲缁楃喎螖閸涱厼鐎梺瑙勫劶婵倝宕曞Δ浣虹闁糕剝蓱鐏忣厾绱掗悩鑼Ш闁诡喗顨呴埥澶娾枍閾忣偄鐏╁ù婊勬倐椤㈡﹢鎮橀懡銈嗗殌妤楊亙鍗冲畷濂稿閵忊剝鐦掗梻鍌欑閹碱偊寮甸鍌滅煓闁硅揪绠戦悡姗€鏌熸潏鍓х暠缂佲偓鐎n偁浜滈柟鎵虫櫅閻忊晝鎮鈧濠氬磼濞嗘垵濡藉┑锛勫仜濞尖€崇暦閵忥紕顩烽悗锝庝簽椤斿洦淇婇妶蹇曞埌闁哥噥鍋嗙划濠氭偄閸忚偐鍘甸梻鍌氬€搁顓㈠礉瀹ュ鐓曢悗锝庝憾閸庢棃鏌$仦鍓ф创妞ゃ垺娲熼弫鎰板炊閳哄啯姣夐梻鍌欐祰瀹曠敻宕伴崱娑樼闁瑰瓨绻嶅ḿ鏍ㄧ箾瀹割喕绨诲ù鑲╁█閺屾盯寮撮姀鈩冮敪闂佸憡鎼╅崰姘辨閹惧瓨濯撮柦妯侯槺閸橆偊鎮楅崗澶婁壕缂備礁顑嗛娆撳吹閺囩偐鏀介柣妯虹-椤f煡鏌涚€n亜顏柡宀嬬秮楠炴﹢鎼归锝呴棷婵$偑鍊х€靛矂宕i崘顔肩畺鐎瑰嫭澹嬮崼顏堟煕閹板吀绨芥い鏂匡躬濮婄儤娼幍顔跨獥闂佸摜濮甸悧鐘诲春閵夛箑绶為柟閭﹀墻濞煎﹪姊洪幐搴b槈閻庢凹鍓熼悰顕€骞囬悧鍫氭嫽婵炶揪绲介幉锟犲疮閻愬眰鈧帒顫濋褎鐤侀悗瑙勬礃濠㈡ǹ鐏冮梺鍛婁緱閸橀箖鏁嶅▎鎾粹拺閻熸瑥瀚ˉ瀣熆瑜庨〃濠囧箖閳ユ枼妲堥柕蹇娾偓鏂ュ亾閸洘鐓熼柟浼村亰閺夋椽鏌涢妶鍡欐噧闁宠鍨块、娆撴偂鎼存ê浜鹃柛褎顨呴拑鐔兼煟閺冨倵鎷¢柡浣革躬閺屾稑鈹戦崱妤婁槐闂佺ǹ顑嗛幐鎼佸煘閹达箑骞㈡繛鍡樺姈椤旀洟姊绘担鍛婅础闁稿簺鍊濆畷褰掓偄閼茬尨缍佸畷濂告偄缁嬪灝浼庢繝寰锋澘鈧劙宕戦幘缈犵箚妞ゆ劧绲鹃埛鎺撲繆閸欏濮嶉柡浣规崌閺佹捇鏁撻敓锟� ---闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽弫鎰緞婵犲嫷鍚呴梻浣瑰缁诲倿骞夊☉銏犵缂備焦岣块崢杈ㄧ節閻㈤潧孝闁稿﹤缍婂畷鎴﹀Ψ閳哄倻鍘搁柣蹇曞仩椤曆勬叏閸屾壕鍋撳▓鍨珮闁革綇绲介悾閿嬬附閸涘﹤浜滈梺鍛婄☉楗挳宕崼鏇熲拻闁稿本鐟ㄩ崗宀勫几椤忓懌浜滈柟瀛樼箖椤ャ垺顨ラ悙鏉戝鐎规洘绮忛ˇ鏌ユ煕閵婏妇绠栭柕鍥у楠炴ḿ鎹勬潪鐗堢潖婵犵鍓濊ぐ鍐偋婵犲啰鈹嶅┑鐘叉祩閺佸秵鎱ㄥ鍡楀箺闁稿孩鎸剧槐鎾存媴閸濆嫅顒併亜閺囧棗娲ら悡姗€鏌熸潏楣冩闁稿﹦鍏橀弻娑樷枎韫囷絾孝闂佸搫顑嗛悷锔炬崲濞戞埃鍋撳☉娆嬬細闁活厼顑囩槐鎺楊敊閼恒儱纾冲Δ鐘靛仜閸熸挳宕规ィ鍐ㄦ闁靛瀵屽ḿ鏃堟⒒娓氣偓濞佳勵殽韫囨洘顫曢柡鍥ュ灩閸屻劑鏌涘Δ鍐ㄤ汗闁衡偓娴犲鐓熼柟閭﹀幗缂嶆垿鏌h箛瀣姢闁逞屽墲椤煤閿曞倸绀堥柣鏂垮悑閸嬫ɑ銇勯弬鎸庮潔闁绘梹鍝鸿瀹曞爼鏁傞崜褎鏅ㄩ梻鍌氬€风粈渚€骞栭锕€纾归柛锔诲幐閸嬫挾绮☉妯荤〗濠㈣埖鍔曢~鍛存煃閳轰礁鏆欑€殿喗瀵х换婵嬫偨闂堟刀銏ゆ煙閸愯尙绠绘い銏℃閹晝绱掑Ο鐓庡箥闂備浇宕甸崰鎰熆濮椻偓椤㈡棃顢橀悙鈺傛杸闂佹枼鏅涢崯顖炲磹閹邦兘鏀介柨娑樺閸樻挳鏌℃担绋库偓鍧楃嵁閸℃凹妲剧紓浣割儏閻楁挸顫忔繝姘<婵﹩鍏橀崑鎾绘倻閼恒儱娈戦梺鍓插亝濞叉牜绮婚悩缁樼厵闁硅鍔﹂崵娆撴煕濮橆剛绉洪柡灞糕偓鎰佸悑閹肩补鈧磭顔愮紓鍌欒兌婵參宕归崼鏇炶摕闁靛ň鏅滈崑鍡涙煕鐏炲墽鈽夋い蹇ユ嫹
开发学院操作系统Linux/Unix 使用 WebSphere Process Server 修复流程 阅读

使用 WebSphere Process Server 修复流程

 2010-09-27 08:32:39 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙稑鈹戦悙鏉戠亶闁瑰磭鍋ゅ畷鍫曨敆娴i晲缂撶紓鍌欑椤戝棛鈧瑳鍥ㄥ€垫い鎺戝閳锋垿鏌i悢鍛婄凡闁抽攱姊荤槐鎺楊敋閸涱厾浠搁悗瑙勬礃閸ㄥ潡鐛崶顒佸亱闁割偁鍨归獮宥囩磽閸屾艾鈧兘鎮為敃鍌涙櫔缂傚倷鐒﹂妵鍡涘炊閵娧冨笚闁荤喐绮嶇划鎾崇暦濠婂牊鏅濋柛灞炬皑閻撴垿姊洪崨濠傚Е闁绘挸鐗嗗玻鍧楀冀椤撶喓鍘卞┑鐘绘涧濡鎮甸弮鍌涘枑闁哄倽娉曢弳锕傛煙椤栫偛浜版俊鑼亾缁绘稓鈧數枪瀛濋梺闈涚墢鏋い顐㈢箻閹煎湱鎲撮崟顐ゅ酱闂備浇鍋愰埛鍫ュ礈濞戙埄鏁婂鑸靛姈閳锋垿鏌i幘铏崳缂佸娅g槐鎺楁偐瀹曞洤鈷屽Δ鐘靛仜閸燁垶濡堕敐澶婄闁宠桨璁查崑鎾寸節濮橆厾鍙冨┑鈽嗗灟鐠€锕€危婵傚憡鐓欓柤鎭掑劜缁€瀣叏婵犲啯銇濇俊顐㈠暙閳藉娼忛…鎴斿亾閸℃ḿ绡€缁剧増菤閸嬫捇鎼归銏$亷闁诲氦顫夊ú蹇涘垂娴犲绠栧ù鐘差儏瀹告繂鈹戦悙闈涗壕閻庢艾銈稿娲嚒閵堝懏鐎鹃梺鑽ゅ枂閸庢娊鍩€椤掍焦鐨戦柛蹇斆悾鐑筋敍濠靛牏鏉稿┑鐐村灦閻熝囧储闁秵鈷戠紓浣光棨椤忓棗顥氭い鎾跺枑濞呯娀鏌i姀鐘冲暈闁绘挸绻橀弻娑㈠焺閸愮偓鐣堕梺閫炲苯澧繝鈧潏鈺冪=闁规儳顕々鐑芥倵閿濆簼绨荤紒鎰⊕缁绘繈鎮介棃娴躲垽鎮楀鐓庡⒋闁绘侗鍣e畷濂稿Ψ閿旇瀚肩紓浣鸿檸閸樺ジ骞婃惔銊嬪顓兼径瀣幍濠电偠灏濠勮姳閼恒儰绻嗛柛娆忣槸婵秶鈧鍠楅幐鎶藉箖閵忋倕浼犻柛鏇樺妼瑜板繘姊婚崒姘偓鎼佸磹閹间礁纾瑰瀣椤愯姤鎱ㄥ鍡楀幊缂傚倹姘ㄩ幉绋款吋閸パ冪柧闂傚倷绶氬ḿ褔鎮ч崱妞曟椽鎮╃拠鑼紱闂佸湱鍋撻崜姘缚閳哄倶浜滈柟鎵虫櫅閻忊晝绱掓笟鍥ф珝婵﹨娅g槐鎺懳熼崷顓犵畳闂備線娼荤紞鍥╃礊娓氣偓閹即顢氶埀顒勭嵁閹烘绠犻柧蹇e亝椤ュ牓鏌涢埞鎯т壕婵$偑鍊栫敮鎺楀磹缂佹ḿ鈻旂€广儱顦伴悡銉︾節闂堟稒顥炴い銉уХ缁辨帡鍩﹂埀顒勫磻閹剧粯鈷掗柛灞捐壘閳ь剚鎮傞幃褎绻濋崟顓犵厯闂佺鎻粻鎴澬ч崣澶岀闁糕剝顨堢拹鈺呮煟閻旂ǹ顥愰柛顐邯閺屾盯顢曢悩鑼紕闂佸搫妫崑濠傤潖濞差亜浼犻柛鏇ㄥ幘閸斿湱绱撻崒姘毙¢柣鎺炵畵楠炲牓濡搁埡浣哄姦濡炪倖甯掔€氼參鎮¢崘顔界厵妞ゆ牗绮岄。鑲╃棯椤撶姴浜剧紒缁樼箞閸┾偓妞ゆ帊鐒︾紞鍥煏婵炑冩噹妤犲嫰姊绘担鍛婃儓婵炲眰鍔戝畷浼村箻鐠哄搫袣闂侀€炲苯澧柍瑙勫灴椤㈡瑩寮妶鍕繑闂備礁鎲¢敃銏㈢不閺嵮呮殾闁靛繈鍊栭崑銊╂煕濞戞☉鍫ュ箯閾忓湱纾介柛灞剧懅閸斿秹鏌ㄥ顑芥斀妞ゆ洖妫涢悾鐢告煛鐏炲墽娲存鐐达耿瀵爼骞嬪┑鍥ㄥ殘闂傚倷娴囬鏍窗濡ゅ嫭鎳屾繝鐢靛仧閸樠呮崲濡绻嗛柟闂寸鍥撮梺鎼炲劗閺呮繈寮虫导瀛樷拻闁稿本鐟чˇ锔界節閳ь剚娼忛埡浣哥亰濡炪倖鐗楃划宥夊汲濠婂牊鐓熼柟閭﹀墰閹界姵绻涢崨顖毿g紒缁樼洴楠炲鎮欑€靛憡顓荤紓浣哄亾瀹曟﹢宕戦幇顔筋潟闁规儳鐡ㄦ刊鎾偣閹伴潧鐏g紒杈ㄦ緲閳规垿鎮欓弶鎴犵シ濡炪倖娲﹂崣鍐春閳ь剚銇勯幒鎴濇灓婵炲吋鍔栫换娑㈠矗婢跺苯鈪归梺浼欑悼閸忔﹢銆佸Δ鍛妞ゅ繐鍟伴懗娲⒒閸屾艾鈧绮堟笟鈧獮澶愭晸閻樿尙顦梺鍝勬储閸ㄥ綊鎮块鈧弻锝呂熷▎鎯ф缂備讲鍋撻柛顐ゅ枔缁♀偓闂傚倸鐗婄粙鎾存櫠濞戞埃鍋撶憴鍕鐎殿喖澧庨幑銏犫槈閵忕姷顓洪梺缁樺姂閸斿海妲愭导瀛樷拺闁告繂瀚ˉ婊勪繆椤愶綆娈滈柛鈺冨仱楠炲鏁傞挊澶夋睏闂佸搫顦悧婊堝磻閸曨垰鍌ㄩ柨鐔哄У閳锋垿寮堕悙鏉戭棆闁告柨绉归弻锝呂旀担铏圭厒濠碘€冲级閸旀瑩鐛Ο灏栧亾濞戞顏堫敁閹惧绠鹃悗鐢登瑰瓭濡炪倖鍨甸幊姗€鐛Δ鍛仺闁告稑艌閹锋椽姊洪棃鈺佺槣闁告ü绮欏畷鐢稿焵椤掆偓閳规垿鎮欓懠顒佸嬀闂佺ǹ锕ョ换鍫ョ嵁閸愨斂鍋呴柛鎰ㄦ櫅閳ь剙顭烽弻锕€螣娓氼垱楔濡炪倖鏌ㄩ敃顏勵潖閾忚鍠嗛柛鏇ㄥ墮閸撳綊姊洪崨濞掕偐鍒掑▎蹇曟殾闁瑰墽绮崑銊╂煕濞戞☉鍫ュ箯濞差亝鈷戦柤濮愬€曢弸鎴炵節閵忊槄鑰挎鐐插暞缁楃喖鍩€椤掑嫬钃熼柨婵嗩槸缁犳娊鏌i幇顔芥毄闁哄棎鍊濆铏规嫚閳ヨ櫕鐏嶅銈冨妼閿曨亪鎮伴鈧浠嬪Ω閿曗偓椤庢捇姊虹粙璺ㄧ妞わ附澹嗛埀顒佷亢濡嫰鍩為幋锔藉€烽柤鎼佹涧濞懷呯磽娴g懓绲绘繛灏栤偓宕囨殾闁哄洢鍨瑰洿婵犮垼娉涢敃銈夊箚閻愮儤鈷戦梺顐ゅ仜閼活垱鏅剁€涙ɑ鍙忓┑鐘插暞閵囨繃顨ラ悙瀵稿⒌闁诡喗鐟ラ湁閻庯綆浜欐竟鏇㈡⒑閸濆嫮鈻夐柛妯圭矙瀹曟垹鈧綆鍠楅悡鐔镐繆椤栨氨浠㈤柛姘贡閳ь剝顫夐幐椋庢濮樿埖鍋傛い鎰剁畱閻愬﹪鏌曟繛褉鍋撳┑顔兼喘濮婃椽宕崟顒€娅ら梺璇″枛閸婂灝顕f繝姘╅柍鍝勫€告禍鐐烘⒑缁嬫寧婀扮紒瀣灴椤㈡棃鏁撻敓锟�濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻锝夊箣閿濆棭妫勯梺鍝勵儎缁舵岸寮诲☉妯锋婵鐗婇弫楣冩⒑閸涘﹦鎳冪紒缁橈耿瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顖涒拺闁告繂瀚烽崕搴g磼閼搁潧鍝虹€殿喛顕ч埥澶娢熼柨瀣垫綌婵犳鍠楅〃鍛存偋婵犲洤鏋佸Δ锝呭暞閳锋垿鏌涘☉姗堝姛闁瑰啿鍟扮槐鎺旂磼濡櫣浼屾繝纰夌磿閺佽鐣烽悢纰辨晬婵﹢纭搁崯瀣⒒娴e憡鍟炴い銊ョ墦瀹曟垿鎮㈤崫銉祫闂佸吋绁撮弲婵堝閽樺褰掓晲閸涱喗鍎撳銈呴閻倿寮诲☉銏犖╅柕澹啰鍘介柣搴㈩問閸犳盯顢氳閸┿儲寰勯幇顒夋綂闂佺粯岣块弫鎼佸级閹间焦鈷掗柛灞捐壘閳ь剚鎮傞幃褎绻濋崟顓犵厯闂佸湱鍎ら〃鍡涘磹閸洘鐓曟い鎰Т閸旀粓鏌涙繝鍕毈闁哄矉缍侀幃銏ゅ传閸曞灚姣夐梻浣告憸閸犳捇宕戦悢鐑橆潟闁圭儤姊圭€氭岸鏌熺紒妯虹瑲婵炲牏绮换婵堝枈婢跺瞼锛熼梺杞版祰椤曆囨偩閻戣姤鍋勭痪鎷岄哺閺咁剙鈹戦鏂よ€跨痪顓熸倐瀹曨垳鈧綆鍠楅埛鎴︽偣閸ャ劎鍙€闁告瑥瀚换娑欐媴閸愬弶鎼愮紒鐘靛劋缁绘繃绻濋崒婊冾杸闂佺ǹ顑傞弲娑㈠煘閹达箑纾兼慨姗嗗幖閺嗗牓姊洪幎鑺ユ暠闁搞劌缍婇幆鈧い蹇撶墱閺佸洭鏌i幇顓熺稇妞ゅ孩绋戦埞鎴︽倷閹绘帗鍊梺鍛婃⒐閻楁粓骞戦姀鐘闁靛繆鈧櫕顓绘俊鐐€栧濠氬磻閹剧粯鐓涢悗锝庝簻椤掋垽鏌曢崶褍顏い銏℃礋婵偓闁靛繈鍩勯崬铏圭磽閸屾瑦绁板鏉戞憸閺侇噣骞掗弴鐘辫埅闂傚倷绀侀崥瀣矈閹绢喖鐤炬繝濠傜墕閸氬湱鈧厜鍋撻柛鏇ㄥ厴閹风粯绻涢幘鏉戠劰闁稿鎹囬弻宥堫檨闁告挻鐩畷鎴濃槈閵忊€虫濡炪倖鐗楃粙鎺戔枍閻樼偨浜滈柡鍐ㄦ搐娴滃綊鏌¢崱妤侇棦闁哄被鍔岄埞鎴﹀幢濞嗗浚鏆梻浣告啞閺屻劑鎮樺璺何﹂柛鏇ㄥ灡閺呮粓鏌i敐鍛板鐎殿喓鍔戝铏规嫚閳ヨ櫕鐝紓浣虹帛缁诲啯绌辨繝鍥ㄥ殝闂傚牊绋撶粣鐐烘煟鎼搭垳绉甸柛鎾寸懅閺侇喗銈i崘鈹炬嫽婵炶揪绲挎灙妞ゃ儱绻橀弻娑氣偓锝庝簼閸d粙鏌熼獮鍨伈鐎规洘锕㈤、娆撴嚃閳哄骞㈠┑锛勫亼閸婃洜鎹㈤幇鏉跨疇闁归偊鍠氭稉宥夋煕閹炬せ鍋撻柛瀣崌閹兘寮跺▎鐐棏闂備礁鎽滄慨闈浢哄⿰鍫熷殟閺夊牄鍔庣弧鈧┑顔斤供閸撴盯鎮炬ィ鍐┾拺缂備焦蓱閻撱儵鏌涘顒夊剶闁糕晜鐩獮瀣晜閽樺鍋撻悽鍛婄厱闁挎棁顕ч獮鏍冀閿熺姵鈷戦梻鍫熺⊕椤ユ粓鏌涢悢鍛婂唉鐎殿喖顭锋俊鑸靛緞婵犲嫷妲伴梻浣藉亹閳峰牓宕滃▎鎾村亗闁绘柨鍚嬮崐鐢告偡濞嗗繐顏紒鈧崘顏嗙<閻犲洩灏欐晶锔锯偓娈垮櫘閸嬪﹤鐣峰鈧、娆撴嚃閳轰礁袝濠碉紕鍋戦崐鏍暜閹烘柡鍋撳鈧崶褏鍔﹀銈嗗笂閻掞箓藟閸懇鍋撶憴鍕闁挎洏鍨介妴浣糕枎閹惧啿绨ユ繝銏n嚃閸ㄦ澘煤閿曞倹鍋傞柡鍥ュ灪閻撳啴鏌嶆潪鎵槮闁哄鍊栫换娑㈠醇閻曞倽鈧潡鏌″畝瀣М闁诡喓鍨荤划娆撳垂椤曞懏缍掑┑鐘愁問閸犳牠鏁冮妷銉富濞寸姴顑呯粻鏍煃閳轰礁鏆為柛搴e枛閺屽秹鍩℃担鍛婃闂佷紮璁g紞浣割潖缂佹ɑ濯撮柧蹇曟嚀缁楋繝姊虹紒姗嗘畷婵炶尙鍠愭穱濠囧礈娴h櫣鐓撻柣鐘充航閸斿秴鈻撴ィ鍐┾拺缂備焦锚閻忥箑鐣濋敐鍫熺《鐎殿啫鍥х劦妞ゆ帒瀚埛鎴︽煙閼测晛浠滈柛鏂哄亾闂備礁鎲¢崝鎴﹀礉鎼淬劌围妞ゆ洍鍋撴慨濠傤煼瀹曟帒鈻庨幋鐘靛床婵犵數鍋橀崠鐘诲礋閸偒鍟嶉梻濠庡亜濞诧箑煤濮椻偓閿濈偤寮撮姀锛勫幐闂佹悶鍎崕閬嶆倶閳哄懏鐓曢悘鐐额嚙婵′粙鏌曢崶褍顏紒鐘崇洴楠炴ḿ鎹勬笟顖涙緫闂傚倷鐒︽繛濠囧绩闁秴鍨傞柛褎顨呴拑鐔兼煟閺傚灝鎮戦柛銈呭暣閺屽秵娼悧鍫▊缂備緡鍠栭悥鐓庮潖濞差亜宸濆┑鐘插暊閹风懓顪冮妶鍐ㄥ闁挎洦浜滈锝嗙節濮橆厽娅㈤梺缁樕戣ぐ鍐玻濞戞﹩娓婚柕鍫濇椤ュ牓鏌℃笟鍥ф灍闁逛究鍔戝畷鍫曞煛閸愵亷绱冲┑鐐舵彧缁叉寧鐏欓梺閫炲苯澧繝鈧柆宥呮瀬妞ゆ洍鍋撻柟顔哄灪娣囧﹪骞橀搹顐㈢獩闂侀€炲苯澧存繛浣冲洤绠烘繝濠傛噹椤ユ艾鈹戦崒婧撳湱鐥閺屾盯顢曢敐鍥f婵犲痉銈呬汗缂佽鲸甯掕灃濞达絼璀﹂弳锛勭磽娴h櫣甯涢柣鈺婂灦楠炲啴鍩勯崘鈺佸妳闂佹寧绻傚ù鍌炲疮鐎n喗鈷掑ù锝堟閵嗗﹪鏌¢崒娆戠獢鐎规洘绮岄埞鎴犫偓锝庝簽椤斿棝姊洪崨濠勨槈闁宦板姂閹繝濡烽埡鍌氣偓鐢告煥濠靛棙鍣藉ù鐘崇〒缁辨挸顓奸崱鈺傜杹濠殿喖锕ら…宄扮暦閹烘埈娼╂い鎴f娴滃墽鈧懓瀚崳纾嬨亹閹烘垹鍊為悷婊勭矊闇夐柡宥庡幗閻撳繐鈹戦悙闈涗壕婵炲懎妫濋弻娑欑節閸屾稑浠撮梺鍝勮閸旀垵顕i幘顔藉€锋繛鏉戭儏娴滈箖鏌涘┑鍕姢濞戞挸绉归弻锛勪沪鐠囨彃濮曢梺缁樻尰濞茬喖寮婚弴鐔风窞婵☆垳鍎ら悘鍫熺節閳封偓鐏炶姤鐝濋梺鍝勭焿缁辨洟鍩€椤掑﹦宀涢柡鍛箘缁綁寮崼鐔哄幐閻庡厜鍋撻柍褜鍓熷畷浼村冀瑜忛弳锔界節婵犲倹锛嶆俊鏌ョ畺閺岋綁濮€閳轰胶浠梺鐑╂櫓閸ㄨ泛顕f繝姘櫢闁绘ɑ褰冪粣娑橆渻閵堝棙顥嗘俊顐㈠閸┾偓妞ゆ帊绀佹慨宥夋煛瀹€瀣?濞寸媴濡囬幏鐘诲箵閹烘繃缍嗛梻鍌欐祰椤曟牠宕伴幘璇茬9婵犻潧妫涢弳锕傛煙閻戞ê鐏嶆俊鎻掔墛閹便劌螖閳ь剙螞閺冨倹顫曢柨鐕傛嫹闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹  闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽弫鎰緞婵犲嫷鍚呴梻浣瑰缁诲倿骞夊☉銏犵缂備焦岣块崢閬嶆⒑闂堟稓澧曢柟鍐查叄椤㈡棃顢橀姀锛勫幐闁诲繒鍋犻褔鍩€椤掍胶绠撻柣锝囧厴椤㈡洟鏁冮埀顒€鏁梻浣瑰濡焦鎱ㄩ妶澶嬪剨閹肩补妾ч弨浠嬫煟閹邦剚鈻曢柛銈囧枎閳规垿顢氶埀顒€岣胯閿濈偛鈹戠€n€晝鎲告惔顭掔稏闁哄洢鍨洪悡娆撴煙鐟欏嫬濮﹂柛銈嗙懅閻ヮ亪骞嗚閹垹绱掔紒妯兼创鐎规洖宕灒闁惧繐婀遍幊鍡涙⒒娴e憡鍟為柨鏇ㄥ亞濡叉劙寮撮悩鎰佹綗闂佽鍎抽顓㈡偡瑜版帗鐓曢柕澶嬪灥鐎氼喛銇愰鐐粹拻濞达綀顫夐崑鐘绘煕閺傝法鐒搁柟顔哄劦瀹曟姊荤€靛摜鐣鹃梻浣告贡閾忓酣宕伴弽顐ょ焼闁告劏鏂傛禍婊堟煛閸愩劌鈧摜鏁崜浣虹<闁归偊鍘惧ú瀛樻叏婵犲啯銇濈€规洦鍋婂畷鐔煎垂椤愬诞鍥ㄢ拺闁硅偐鍋涙俊鑲╃磽瀹ュ拑宸ラ柣锝囧厴婵偓闁绘ê妫欏浠嬨€侀弮鍫濆窛妞ゆ挻绋戞禍楣冩煕椤垵浜芥繛鍫滅矙閺岋綁骞囬姘辨婵炲濮伴崹浠嬪蓟濞戙垹绫嶉柍褜鍓涢崰濠傤吋婢跺á锕傛煕閺囥劌鐏¢柡鍛矒閹綊宕堕鍕婵炲濮甸幃鍌炲箖濡ゅ啯鍠嗛柛鏇ㄥ墰閳规稓绱撴担铏瑰笡缂佽鐗撻幃浼搭敊閼恒儱鍔呴梺闈涒康缁犳垵鈻撻悢鍏尖拺闂傚牊鍐荤槐锟犳煕閹扳晛濡兼い鈺婂墴濮婂宕掑顑藉亾閹间降鍋戦柟缁㈠枛绾惧鏌涢弴銊モ偓瀣洪鍛珖闂侀€炲苯澧伴柛娆忔嚇濮婃椽宕崟顓夌娀鏌涢弬鍨劉闁哄懎鐖奸弫鎾绘偐閺傘儲瀚介梻浣呵归張顒勬偡閿斿墽鐭堥柣妤€鐗勬禍婊堟煛閸パ勵棞闁瑰啿顦靛畷鎴﹀箻鐠囨彃鐎銈嗗姂閸ㄨ櫣鎷犻悙鐑樺€甸悷娆忓缁€鍐磼椤旇姤宕屾鐐插暣婵偓闁挎稑瀚板顔界節閵忥絾纭炬い鎴濇川缁瑦绗熼埀顒€顫忕紒妯诲闁荤喐婢樻慨銏㈢磽娴h櫣甯涢柛鏃€娲熼弫鍐閳╁啰绉堕梺瀹犳〃缁垛€澄涘⿰鍫熲拺缂佸娉曠粻缁樹繆椤愩儲纭堕柟骞垮灲瀹曞崬螣闂€鎰泿闂備礁鎼粔鏌ュ礉鎼淬劊鈧倿寮婚妷锔惧幍濡炪倖鐗楀銊︽櫠濞戙垺鐓忛柛銉戝喚浼冨銈冨灪濞茬喐鎱ㄩ埀顒勬煃閹府楠忛柛銊︽そ婵$敻宕熼锝嗘櫆闂佸憡娲﹂崑鍛枔缂佹ḿ绡€缁剧増菤閸嬫挸鐣烽崶褏鍘介柣搴ゎ潐濞叉牕鐣烽鍐簷闂備線鈧偛鑻晶鎾煥濠靛牆浠﹂柟顖涙婵℃悂鏁傜憴鍕伖闂傚倷绀侀幉锛勭矙閹达负鍋戦柟缁㈠枟閸婂灝鈹戦崒姘暈闁绘挻娲熼弻鏇熷緞鐎n亞浠撮梺鐟板暱妤犳悂顢氶敐澶娢╅柕澶堝灪閺傗偓闂備胶绮敃鈺呭窗閺嶎厽鍊堕弶鍫涘妿缁犳儳顭跨捄渚剳妞ゎ剙銈搁弻锝堫槻闁活厼鍊搁~蹇涙惞閸︻厾锛滃┑鈽嗗灥瀹曠敻宕i崱娑欌拺闁告稑锕ㄦ竟妯汇亜閹存繍妯€妤犵偛鍟撮弫鎾绘偐閸欏倶鍔戦弻宥夊传閸曨偀鍋撻幖浣哥劦妞ゆ帒鍊归弳顒勬煛鐏炶濡奸柍瑙勫灴瀹曞崬鈽夐幍浣镐壕婵°倕鎳忛悡鏇熶繆椤栨粎甯涢悘蹇ョ畵閺岋紕浠﹂崜褋鈧帡鏌嶈閸撱劎绱為崱娑樼;闁告侗鍨悞濠囨煙濞堝灝鏋ょ痪鎹愬亹缁辨挻鎷呯拹顖滅窗缂備胶濮甸幐濠氬Φ閸曨垼鏁冮柨婵嗘川閻ゅ嫬顪冮妶鍐ㄧ仾闁挎岸鏌嶉挊澶樻Ц闁宠姘︾粻娑㈡晲閸曨厽銇濋梻鍌氬€搁崐宄懊归崶褏鏆﹂柣銏⑶圭粣妤呮煙闁箑鏋涢柛銊︾箞楠炴牕菐椤掆偓閻忣亝绻涢崨顖毿eǎ鍥э躬婵″爼宕ㄩ鐔割唹闂備礁鎼Λ娆戝垝閹捐钃熼柣鏂垮悑閸婄粯淇婇婵愬殭闁哄棙顨呴—鍐Χ閸屾稒鐝曢悷婊勬緲閸熸潙锕㈡笟鈧铏圭磼濡纰嶅┑鐐差嚟閸忔﹢鐛Δ鍛亹缂備焦岣块崢浠嬫⒑鐟欏嫬鍔ら柣掳鍔庣划鍫⑩偓锝庡枟閻撴稓鈧厜鍋撻柍褜鍓熷畷浼村冀椤撶姴绁﹂梺绯曞墲閸戠懓顬婇妸鈺傗拺闁硅偐鍋涢埀顒侇殜瀹曚即寮介鐐舵憰閻庡箍鍎遍ˇ鎵偓鐢靛Т椤潡鎳滈惉顏呭灴閸┿垽宕奸妷锔规嫼闂佸憡绻傜€氼垳鈧碍澹嗙槐鎺撳緞婵犲偆鏆㈠┑鈥冲级閸旀瑩鐛幒妤€绠犵€规洖娲ら弸娑㈡煙缁涘湱绡€濠碘€崇埣瀹曘劑顢橀悢鑽ゅ彂婵犵數濮烽。顔炬閺囥垹纾婚柟杈剧畱绾惧綊鏌曢崼婵愭Ц缁炬儳顭烽弻娑樷槈閸楃偟浠悗瑙勬礃閻擄繝寮诲☉銏╂晝闁绘ɑ褰冩慨搴g磽娴e搫啸濠殿喚鏁搁幑銏犫攽閸モ晝鐦堥梺绋挎湰缁嬫垵鈻嶉敐澶嬧拺闁告繂瀚烽崕蹇涙煟濡も偓閿曘儳绮氭潏銊х瘈闁搞儴鍩栭弲顒€鈹戦悩鑼粵闁告梹娲栭埢鎾活敇閻戝棙瀵岄梺闈涚墕閹虫劗绮婚幍顔剧=鐎广儱鎷戝銉︺亜椤愩垻绠茬紒缁樼箓椤繈顢楅崒锔惧簥濠电姷鏁搁崑娑樜涘▎鎾虫槬闁割偅鎯婇敐澶樻晪闁逞屽墮椤繘鎼圭憴鍕幑闂佸憡绮堢粈浣糕枔濠靛牏纾藉ù锝勭矙閸濈儤绻涢崣澶岀煉鐎规洘宀搁獮鎺楀箣閺冣偓閻庡姊虹憴鍕姢缁剧虎鍙冮、妯好洪鍛嫼闂佸湱枪鐎涒晠鎮¢妷鈺傜厵缁炬澘宕禍婵堢磼閸屾氨校缂佽桨绮欏畷銊︾箾閻愵剙顏归梻鍌欑閹诧紕鎹㈤崒婧惧亾濮橆剙妲婚崡杈╂喐閻楀牆绗氶柣鎾存礋閺屾洘绻涜閸燁垶鎮橀崼銉﹀€垫繛鍫濈仢閺嬬喖鏌熼鐓庘偓鎼侇敋閿濆鏁嬮柍褜鍓欓悾閿嬬附閸涘﹤浜滈梺鍛婄箓鐎氼剛绮绘导瀛樷拻闁稿本鐟чˇ锕傛煙鐠囇呯瘈鐎规洘绻嗛ˇ瀵糕偓鍨緲閿曨亪骞婇悙鍝勎ㄧ憸婊兠洪幖浣光拺闁告稑锕ョ€垫瑩鏌涘☉鍗炵伈缂佸崬鍟块埞鎴︽倷閼搁潧娑х紓鍌氱М閸嬫挸鈹戦悙鍙夊珔缂佹彃娼″顐︻敊鐏忔牗顫嶅┑顔角规禍顒勬晬濠婂牊鐓熼幖鎼灣缁夌敻鏌涚€n亝鍣藉ù婊勬倐楠炲秹顢欓崜褝绱查梻浣呵归張顒傜矙閹存緷褰掝敋閳ь剟寮婚埄鍐╁缂佸瀵у▓濠氭倵鐟欏嫭绀冮悽顖涘浮閿濈偛鈹戠€n亞鐤呴柣搴秵閸撴瑧鑺遍妷锔剧瘈闁汇垽娼ф牎濡炪倖姊归悧鐘茬暦閺夎鏃堝川椤旇姤鐝栭梻浣稿暱閹碱偊骞婃惔锝囩焼闁割偁鍎查悡銉╂煛閸モ晛浠滈柍褜鍓欑紞濠傜暦閹扮増鍋ㄩ柛娑橈功閸樼敻姊虹拠鈥崇仭婵犮垺枪椤e潡姊绘担鐟扳枙闁衡偓鏉堚晜鏆滈柟鐑橆殕缁犳帡姊绘担鐟邦嚋缂佽鍊块獮濠呯疀濞戞ḿ鐤呴梺褰掓?閻掞箓鎮¢妷锔剧闁瑰鍋嶇紓姘舵嚃閺嶎偆纾藉ù锝勭矙閸濇椽鎮介銈囩瘈闁靛棔绀侀~婵堟崉閸濆嫮鐛╂俊鐐€栭幐鐐叏閸愬樊娴栭柟鍓х節缁诲棝鏌曢崼婵囨悙閸熸悂姊虹粙娆惧剳闁稿鍊曢悾鐤亹閹烘垵鐎銈嗘⒒閸嬫挸鈻撴ィ鍐┾拺闁告挻褰冩禍婵囩箾鐠囇呯暤鐎殿噮鍋婂畷鍗炩槈濞嗘垵骞堥梺璇茬箳閸嬬喖宕戦幘缁樺剭闁硅揪闄勯悡蹇涙煕椤愵偄澧伴柣锝呯仛閹便劍绻濋崨顕呬哗闂佸綊顥撴繛鈧鐐存崌楠炴帡骞嬮悙鍨樼紓鍌氬€搁崐鎼佸磹閸濄儳鐭撻柡澶嬪殾濞戞ǚ鏋庨柟瀵稿Х閻掑潡鎮楅獮鍨姎妞わ富鍨跺畷姗€鍩€椤掆偓椤啴濡堕崱妯烘殫闂佺ǹ顑囬崰鏍х暦椤愨懡鏃€鎷呴搹璇″晭闂佽娴烽弫鍛婄仚閻庢稒绻傞—鍐Χ閸℃浠村┑鈽嗗亝缁诲牓鐛崘顔肩伋闁哄倶鍎查悗濠氭⒑閻熸澘鈷旈悶娑栧劦楠炲繘宕崟鍨瘜闂侀潧鐗嗗Λ娆戜焊椤忓牊鐓曢柡鍌氭健閸欏嫰鏌熼鈧粻鏍х暦閿熺姵鍊婚柛鈩冪懃閺佹悂鏌i悢鍝ョ煁缂侇喗鎸搁悾鐤亹閹烘挾鍔堕悗骞垮劚閹叉﹢鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樺厖绻嗘い鎰剁秶閼板潡鏌$仦鍓ф创闁炽儻绠撻獮瀣攽閸モ晙绨梻鍌欒兌鏋い鎴濇楠炴劖銈i崘銊х枀闂佸湱铏庨崰鏍矆鐎n偁浜滈柟鎯ь嚟閳洟鏌℃笟鈧ḿ褔鍩為幋锔藉亹闁割煈鍋呭В鍕節濞堝灝鏋熸繛鍏肩懅閸欏懘姊洪幐搴㈢闁稿﹤鎽滄竟鏇°亹閹烘挴鎷洪梺鍓茬厛閸n噣宕曞鍚ょ懓饪伴崟顓犵厜闂佺粯鎼╅崑濠傜暦閸洖惟闁挎洍鍋撶痪鏉跨Т椤啴濡堕崨顖滅杽闂佺ǹ锕ョ换鍫濐嚕鐠囨祴妲堟慨姗堢到娴滈箖鏌ㄥ┑鍡涱€楀ù婊勭箘閳ь剝顫夊ú鏍儔婵傜ǹ鐒垫い鎺嶇贰閸熷繘鏌涢悩宕囧⒌闁糕斁鍋撳銈嗗笒閸婄ǹ鈻嶈箛鏂剧箚濞e洤宕俊濂告煃鐟欏嫬鐏撮柟顔界懇楠炴捇骞掗幘鏂ュ亾椤栫偞鈷戠紓浣癸供濞堟洘绻涢懠顒€鏋涚€规洘妞介幃娆撳传閸曨収鍚呴梻浣瑰濡礁螞閸曨剛顩茬憸鐗堝笚閻撶喖骞栫划鐟板⒉閻犳劏鈧枼鏀芥い鏃囧Г鐏忥箓鎸婇悢鍝ョ瘈闂傚牊渚楅崕鎰版煃闁垮鐏╃紒杈ㄥ笧閳ь剨缍嗛崢濂稿礉閸偁浜滄い鎰靛墰閻g敻鏌$仦鍓ф创鐎殿噮鍓熷畷绋课旈埀顒€顕i弶璇炬棃鎮╅棃娑楃捕濡炪倧瀵岄崹鍫曟晲閻愬搫顫呴柣妯虹仛濞堟洟姊洪柅鐐茶嫰婢ф挳鏌熼鍏煎仴闁糕斁鍋撳銈嗗坊閸嬫捇鏌嶇憴鍕伌闁诡喗鐟╁鍫曞箣閻樿鲸顢橀柣搴″帨閸嬫捇鏌ㄥ┑鍡樺櫤闁稿鍎甸弻鐔碱敊閸忕厧浠撮悗瑙勬磸閸斿酣鍩€椤掍胶鈯曢懣銈夋煙闁垮銇濇慨濠冩そ濡啴鍩℃担鐑樞掗梻浣告啞閻熴垽宕戦幘鏂ユ斀闁挎稑瀚禍楣冩煙椤旂厧鈧灝顕g拠娴嬫闁靛繆鈧厖姹楅梻浣哥秺椤o箓鎮為敃鍌涘仾濞撴埃鍋撻柟顔筋殔閳绘捇宕归鐣屼憾闂備胶绮幖顐ゆ崲濠靛鍋樻い鏇楀亾鐎殿喕绮欐俊鎼佹晝閳ь剟顢撻幘缁樷拺闂傚牃鏅涢惁婊堟煕濡厧甯舵い鏇秮楠炲酣鎳為妷銏″濠电偠鎻紞鈧繛鍜冪悼閺侇喖鈽夊▎鎴狀啎闂佸憡鐟ラˇ杈ㄦ櫠閻㈢鍋撶憴鍕闁告梹鐟ラ悾鐑芥倻缁涘鏅e┑鐐村灦鐪夊瑙勬礀閳规垿顢欑紒鎾剁窗闂佺ǹ顑嗛幐楣冨焵椤掍胶鍟查柟鍑ゆ嫹
核心提示:WebSphere Process Server V6.1.2 支持控制流逻辑的手动修复和更改,本文描述这些修复功能,使用 WebSphere Process Server 修复流程,提供一些有用的技巧,并确定在应用它们时的一些潜在缺陷,但允许的跳转目标从应用程序角度而言可能是无效的,您需要通过研究流程模型及其意图来检

WebSphere Process Server V6.1.2 支持控制流逻辑的手动修复和更改。本文描述这些修复功能,提供一些有用的技巧,并确定在应用它们时的一些潜在缺陷。您将学习如何修复流程和动态响应建模错误处理和自动恢复机制无法解决的情况。

引言

在建模业务流程时,需要特别注意错误和异常处理。Web 服务业务流程执行语言(Web Services Business Process Execution Language,WS-BPEL)标准提供了错误处理程序和补偿处理程序,用于在您的业务流程逻辑中建模故障和异常路径。IBM® WebSphere® Integration Developer 利用了此概念,使您能够在业务流程中建模错误和补偿处理路径。即使特别小心地采取了此步骤,但在运行时仍然会出现创作时无法预见的故障情况。而且,还存在需要涉及手动修复的异常情况,例如,管理员分析并解决异常情况。WebSphere Process Server V6.1.2 支持控制流逻辑的手动修复和更改。它附带了手动修改流程实例的状态的新功能。可以使用这些新功能克服异常情况,从而修复该流程实例。

与这些强大功能相适应的是,您需要有远见和进行细心地处理。本文描述这些新的修复功能,提供一些有用的技巧,并确定在应用它们时的一些潜在缺陷。

您应很好地了解如何使用 WebSphere Integration Developer 建模业务流程,以及如何使用 WebSphere Process Server 运行和管理这些流程。您还应具备如何在 WebSphere Process Server 中执行 BPEL 流程的基础知识。

本文向您介绍如何修复流程,并专门为您动态响应建模错误处理和自动恢复机制无法解决的异常情况做准备。此类情况的示例包括:

某个单独的软件组件提供的服务在某个时段内不可用,并且服务实现必须通过手动交互接管。尽管此情况在某种程度上是可预见的,即流程建模程序可能已经实现了适当地处理该错误的错误处理程序(例如,通过向错误处理程序添加人工任务活动),但是,错误处理中这种级别的准确性和完整性无法在每种情况中正确假定。

在实际场景中,可能会发生无法正确执行少量流程实例。一般情况下,新的业务流程经过广泛的测试后才能部署到生产系统。遗憾的是,当业务流程非常庞大和复杂时,或者需要一组输入数据集时,该过程可能会失败。

本文的第一分部描述,对于新模型而言,为了从新修复功能中获得最大好处,在建模期间可以考虑哪些情况。后续部分讨论如何使长时间运行的流程在发生始料不及的错误时避免出现大的损害。最后一部分概述 WebSphere Process Server V6.1.2 中的新功能,即跳过和跳转功能,您可以通过该功能修改长时间运行流程的缺省执行行为。

本文未涵盖一般意义上的如何建模错误和补偿处理。本文还未介绍如何使用 WebSphere Process Server 的自动恢复机制,如失败事件管理器 (Failed Event Manager)、保存和保持队列处理等。要详细了解这些主题,请参阅“参考资料”部分。

示例流程

所有这些方面都通过一个处理订购请求的示例流程来说明。其总体结构如图 1 所示。

图 1. 订购流程的结构

使用 WebSphere Process Server 修复流程

该流程包含三个主要步骤,每个步骤都与另一个服务通信:

校准客户数据

在此第一步中,选中客户数据。因此,该流程与一个名为 Customer Registration Service 的外部服务通信。该流程检查请求者是否为已知客户。如果是,则将从注册服务中检索客户的数据。如果是新客户,则需要将客户数据输入到人工任务活动中,并将其添加到注册服务中。最后,计算客户的当前红利利率。

库存管理

订购流程现在检查是否提供了所有装运货物,并使用 Warehouse Service 完成此检查。库存中没有的货物将从其他提供商订购,该流程将等待所有请求的货物完成后才能执行。

装运

最后,装运订购的货物并向客户开发票。因此,订购请求流程与 Shipping Service 进行通信。

为重点介绍可用的流程修复选项,本文集中说明了 Align Customer Data 的步骤:假设 Customer Registration Service 当前不可用,并且对客户服务的所有调用都返回一个运行时异常。此流程修复操作现在的目的是克服此第一个步骤,避免阻止所有订购请求。

本文还假定与 Customer Registration Service 的交互可以在以后某个时间点服务可用时手动重新进行。可以跳过对客户服务的所有调用,允许继续执行实际的订单。

在创作时需要注意哪些问题

在简介中已经提到,修复流程实例与特定于建模的内容不相关,如错误和补偿处理;不过,需要强调的是,您可以独立于建模形式对所有长时间运行的流程实例使用修复功能。但是,您可以在创作时考虑某些方面,以便充分利用新功能。以下各部分将描述这些方面。

出错时仍继续

流程修复实质上是指手动干预失败的流程实例,通过此方法可以成功完成以前失败的某些工作。距离实际故障点(即,出现错误的位置)越近,执行此干预就越有效和越可行。如果错误通过多级错误处理程序传播,导致终止所有其他活动,并终止流程实例本身,则无法对其修复。这就是为什么业务流程提供了 Continue On Error 选项。在将此属性设置为 No 时,流程实例将挂起发生错误的当前执行路径,并且该错误不会被直接封闭范围或活动中的任何错误处理程序处理。发生错误的活动实例被设置为特殊状态已停止。注意,流程实例中的并行路径可以继续执行并且流程状态保持运行。还需要注意,停止的活动状态不限于基本活动:结构化活动(如序列或范围)也可以停止。

您可以在流程级别上设置 Continue On Error 属性(如图 2 中所示)。缺省值为 No。

图 2. 在流程级别上设置 Continue On Error

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

对于以下活动类型,可以在活动级别覆盖 Continue On Error 属性(参见图 3):即调用、Java™ 代码段和人工任务活动。您应保留缺省值 Same as Process。

图 3. 为活动设置 Continue-on-Error

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

重要说明:如果将 Continue On Error 属性设置为 No,则对常规流程的执行在性能上没有负面影响。

授权

每当执行流程修复操作时,需要授权请求该修复操作的人员执行此操作,即,根据具体的操作,需要将该人员授权为流程管理员、范围管理员、活动管理员或系统管理员。

系统管理员是在 BPEContainer 应用程序上定义的角色。所有其他管理员特定于各个流程应用程序,它们在流程模型中定义。

流程管理员

您可以在创作时在流程的属性窗格中定义流程管理员。在 Administration 部分声明它们,如图 4 中所示。

图 4. 定义流程管理员

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

如果未定义任何流程管理员,则流程启动者将成为流程管理员。

流程管理员允许执行以下操作:

修复流程实例的任何位置中状态为“stopped”的活动实例,例如强制完成和强制重试。

跳过活动实例。

在活动之间执行跳转。

修改全局和本地变量。

在流程实例上执行管理操作,例如,终止或删除某个流程实例。

范围管理员

范围管理员可以在创作时在范围活动的属性窗格上定义。如图 5 中所示,它在 Administration 部分上声明。

图 5. 定义范围管理员

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

注意,范围管理员通过范围传递到其封闭范围,即封闭范围的范围管理员将成为当前范围的范围管理员。此外,流程管理员将成为范围管理员。

范围管理员允许执行以下操作:

修复处于范围内的已停止的活动实例,例如,强制重试和强制完成。

跳过包含在范围中的活动实例。

在范围中包含的活动之间执行跳转。

修改在范围或封闭范围中定义的变量。

在本文的后续部分中,我们将介绍有些修复操作可以将流程导航尚未找到的活动作为目标(参见“跳过活动实例”)。

重要说明:在本例中务必理解,只有流程导航已经找到的范围的范围管理员才允许执行修复操作。这意味着,在尚未找到在其中发生修复操作的范围时,您必须是外部封闭范围的范围管理员或者流程管理员才能执行修复操作。

活动管理员

对于某些活动类型(例如,调用活动和 Java Snippet 活动),您可以在活动的 Administration 部分定义活动管理员,如图 6 所示。

图 6. 某个活动的管理员

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

另外,您还可以在流程级别定义缺省活动管理员(参见图 4,第二个人工任务规范)。它适用于没有明确定义管理员的流程中的所有活动。

封闭范围的流程管理员和范围管理员将自动成为此范围中包含的所有活动的活动管理员。

活动管理员允许执行以下操作:

修复处于停止状态的活动实例,例如强制重试和强制完成。

跳过活动实例。

分配管理权限的建议

为了避免流程启动者可能在未授权的情况下修复活动,我们建议至少定义一个流程管理员。由于范围管理员被继承到封闭范围中,而且这会导致附加持久性数据,因此我们建议少量而有目的地使用范围管理员。

还应向范围管理员分配流程阅读者权限;否则,将不允许范围管理员查看 BPC Explorer 中的流程实例,该权限实际上是应用跳过和跳转功能的起点。

范围管理员——示例

在我们的示例中,所有客户相关的操作都收集到名为 AlignCustomerData 的范围中,这在简介中已经说明(参见图 1)。

允许客户关系经理“Jeff”查看和修复流程中的此区域。不过,流程的其他区域与他不相关,出于安全原因,不应让他更改这些区域。这就是我们为什么将 Jeff 添加到范围 AlignCustomerData 的范围管理员角色。

保留所有活动

在导航长时间运行的流程时,并不是始终保持活动实例。如果短时间运行的活动(例如,分配活动)完全包含在一个事务中,则活动实例数据在数据库中可能不持久。

一方面,可能需要此行为,这是因为它可以节省数据库访问量,所以能够改进长时间运行流程的总体性能。而在另一方面,您拥有的历史数据越多,越可以更好地执行流程修复。例如,您可以确定所有活动实例的状态,从而确定整个流程实例的执行进度。

不过,在建模过程中,即使在导航中不需要活动数据,您仍可以决定始终保持活动数据。通过设置相应活动的 Enable persistence and queries of business relevant data(启用业务相关数据的持久性和查询)可以做到这一点,请参见图 7。

图 7. 启用业务相关数据的持久性和查询

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

假设为您流程的关键区域中的活动设置此属性,您预期在该区域中将发生流程修复。请注意,这会影响性能,即使不需要流程修复也如此。

唯一的活动名称

仅在目标活动具有唯一的名称时才支持在两个活动之间进行跳转。在流程建模过程中命名活动时需要注意这一点(引用活动的名称而不是显示名称)。

忽略丢失的数据

WS-BPEL 实际指定在分配空数据时抛出运行时错误,例如,如果分配的源是未初始化的部分。不过,如果设置了业务流程的 Ignore missing data 属性,则会禁止这些异常。

图 8 显示了我们的示例流程启动了此属性。

正如我们在本文中介绍的那样,流程修复操作可能指示跳过长时间运行流程中的某些步骤;结果这些步骤的输出数据可能对后续步骤不可用。为了防止在以后访问数据时抛出运行时错误,最好启用此属性。

图 8. 忽略丢失的数据

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

修复处于停止状态的活动

流程实例的任何位置都可能会发生异常。这些异常可能由业务流程逻辑中的建模或编码错误所导致(例如,访问未初始化的数据),或者由流程外部的问题所导致(例如,被调用的服务不可用)。某个活动可能在发生意外异常时而停止(因此不会处理该活动)。

在下面的情况中,我们假定设置了 Continue On Error 属性,规定在遇到未处理的错误时停止所有活动。

停止原因

流程中发生的异常可能始终与某个活动实例关联,并且可能在该实例实际实现前、实现过程中或实现之后发生,即一个实例可能在不同时间或不同的执行阶段停止。而且,当问题发生在某个活动的生命周期内时,时间或执行阶段用于确定可以执行哪些修复操作。

停止的活动实例带有另外一个属性 – 停止原因,该属性指示活动停止的阶段。我们将其分为三个执行阶段,因此有三种停止原因。

在激活活动时出现故障——停止原因:激活失败

在激活某个活动之前,必须满足特定的条件,即该活动的联接条件必须为 True。如果联接条件的评估失败,例如,在执行 Java 实现的联接条件时抛出异常,则停止原因为 ACTIVATION_FAILED。

在执行活动时出现故障——停止原因:实现失败

如果在实际实现活动的过程中发生异常,则停止原因为 IMPLEMENTATION_FAILED。

这是最常见的原因,也是多方面原因。其中包括:

赋值中的表达式访问变量的未初始化部分。

Java Snippet 中发生运行时异常。

调用外部服务返回意外错误。

人工任务的人员解析失败。

选择条件的 case 条件评估失败。

在保留活动时出现故障——停止原因:后续导航失败

在完成某个活动的实现之后,Business Flow Manager 将检索该活动的导出链接并评估这些链接上的转换条件。如果链接条件的评估失败,则活动将停止且停止原因为 FOLLOW_ON_NAVIGATION_FAILED。

修复操作

为了恢复在停止活动的流程导航,提供了以下两个修复操作:强制重试和强制完成。请注意,为了修复流程实例,可能需要更新一个或多个流程变量,以避免在应用其中某个功能之前再次发生相同的故障。

当某个活动是强制完成或强制重试时,您可以覆盖其 continue-on-error 行为。如果执行了此操作,并且活动再次失败,则该异常会传播到该流程的错误处理程序,并且该活动不会再停止。如果某个错误不在下一个封闭范围中处理,而是在其他封闭范围中处理,则此操作很有用。

强制重试

当某个活动为强制重试时,会再次运行该活动的实现。如果是调用活动或人工任务活动,则可以有选择地提供输入数据。注意,这些流程变量使用提供的输入数据进行更新。

如果用户希望重新执行某个活动(例如,如果某个调用活动由于服务不可访问而停止,但同时修复了该问题),则强制重试修复操作可能会非常有用。

强制完成

当某个活动为强制完成时,则会将该活动置于已完成 状态,并继续执行后续导航。对于调用、接收或人工任务活动,用户可以提供带强制完成请求的输出消息。它被视为活动的常规输出,并相应地更新流程变量。如果没有为调用活动或人工任务活动提供任何输出,则不会更新流程变量。

例如,管理员可以使用强制完成手动完成某个活动,并继续执行流程的预定义控制流,因为他预期重新运行该活动时,已发生的异常不会再发生。

注意,强制完成可以与跳转操作合并,请参阅“跳转到其他活动”部分以了解详细信息。

带错误强制完成

当强制完成某个活动时,可能会提供错误消息而不是输出消息。然后将该活动置于已失败 状态,并且将错误传播到下一个封闭范围的错误处理程序。如果发生意外错误,并且没有专门建模错误处理程序来处理该错误,则需要该操作。用户可以强制完成带错误的活动,以手动强制触发某个特定的错误处理程序(处理的错误与使活动实例停止的错误不同)来处理此错误。

修复操作和停止原因

对于每个停止原因,并不是允许执行所有的修复操作。活动的三个执行阶段、其停止原因以及允许的修复操作在下表中进行了总结。

表 1. 停止原因和允许的修复操作

活动的生命周期中的阶段停止原因允许的修复操作
联接条件评估激活失败强制重试
运行实际调用实现失败强制重试

强制完成

评估保留活动的链接的转换条件后续导航失败强制完成

如果该活动尚未开始,即停止原因是激活失败,则不允许强制完成此活动。在此情况下,通过激活该活动克服这些问题,同时强制完成请求在完成时解决问题非常重要。

如果已经完成该活动,但后续导航失败,则不再允许强制重试操作。这里,该问题位于以下区域,其中导航已经移动到后续活动,并且重新运行该活动的实现无助于克服此类问题。

修复处于停止状态的活动——示例

现在回到我们的示例流程。前面已经说过,我们重点介绍第一步 AlignCustomerData 范围,这在图 9 中进行了说明。该范围作为一个循环流实现。在第一步中,客户编号被复制到一个本地变量 (1)。如果客户编号不为空,即客户是已知客户,则遵循左侧的路径 (2),并从客户注册服务中检索客户数据 (3)。对于新客户,将客户数据(如地址、银行连接等)输入到人工任务活动 ProvideCustomerData 中 (4)。接着,将这些数据插入到客户注册服务中 (5)。最后,将这两个路径合并在一起,并且此客户的当前红利在 Java snippet calculateBonus 中进行计算 (6)。

在简介部分已经提到,我们假定客户注册服务不可用并且所有调用都返回异常。结果,调用此服务的调用活动停止。

图 9. AlignCustomerData 范围的实现

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

客户关系经理“Jeff”使用 Business Process Choreographer Explorer(简称 BPC Explorer)修复受停机影响的流程。

他打开 BPC Explorer 的 Critical Processes 视图,其中显示包含状态为已停止的活动的所有进程实例(参见图 10)。

图 10. 关键进程

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

他调出第一个进程实例的活动实例列表,并发现 RetrieveCustomerData 活动的状态为已停止。该活动的详细视图显示在图 11 中。

Jeff 手动查看客户数据,并使用如图 11 所示的变量部分更新具有此信息的 customerData 变量。如图所示,他手动替换了已停止活动的实现。

他通过单击“Force Complete”按钮强制完成了该活动。

图 11. 已停止的活动 RetrieveCustomerData 的活动详细信息

使用 WebSphere Process Server 修复流程

图片看不清楚?请点击这里查看原图(大图)。

作为 BPC Explorer 的替代方法,还可以使用 Business Flow Manager API 编写一个客户机来执行修复操作,包括获取和设置变量。

更改流程的导航

在本部分中,我们将讨论用户如何影响或更改正在运行的进程实例的正常执行行为。在此上下文中共有两个主要功能。跳过和跳转。

跳过某个活动实例

假设在进程实例中不需要某个特定步骤,我们将使用一个标准的旅行预订流程作为示例进行说明。用户不需要预订旅馆,因为该旅行人员暂住在一个朋友的家中。在此情况下,较好的方法是能够跳过流程实例中的一个或多个活动。

使用 WebSphere Process Server V6.1.2,可以在每个活动执行状态中通过跳过请求来跳过所有基本活动。此请求可能对活动立即生效,例如,当该活动实际运行时,或者可以指向未到达的目标时。在后一种情况中,该活动将被标记为跳过,直到导航到达该活动为止。

重要说明:可以通过取消跳过请求取消挂起的跳过请求。

当通过请求跳过某个活动时,后续导航中的行为将与被跳过的活动的行为不同,因为其联接条件的值为 false。在这两种情况下,该活动都以已跳过 状态结束。不过,对于跳过请求,将评估并遵循所有导出链接。对于自动跳过,将作为“死路径”导航当前执行路径并且不评估链接条件。这两种情况都被视为 false。

跳过功能可以与停止的活动一起使用来修复无法预测的情况,还可以修复到目前为止没有发生异常而且流程执行路径被中断的情况,例如,被等待请求和完成的人工任务活动中断。

跳过处于活动状态的活动

当活动的实现已经启动,但在其完成之前,某个活动处于活动状态。处于活动状态的活动状态包括:正在运行、正在等待、就绪、已请求和已停止。

当对处于活动状态的活动请求跳过时,将中止该活动的实现,并且其状态将被改为已跳过。例如,如果跳过某个正在等待异步响应的调用活动,则将停止等待并将忽略以后从服务到达的响应。后续导航将继续执行,即,遵循所有导出链接并评估链接上的转换条件。

跳过未来活动

还可以跳过尚未到达的活动。当某个活动尚未到达时,其状态将为“非活动”,或者尚未创建活动实例。

跳过未来活动是指创建该活动(如果尚不存在),并将其标记为跳过,也就是设置“skipRequested”属性。当导航到达活动实例时,该活动的状态将立即被设置为跳过,并且不会运行其实现。在此之后,将取消设置“skipRequested”属性并且导航将像第一种情况中那样继续执行。取消设置“skipRequested”属性将不会再跳过该活动,如果该活动处于一个循环中或者一个循环流中将发生这种情况。

跳过处于结束状态的活动

如果已完成活动的实现,则该活动将处于结束状态。活动的结束状态包括:已完成、已终止、已跳过和已失败。当跳过某个处于结束状态的活动时,请求将指向此活动的下一个迭代,例如,如果该活动位于 while 循环中或者在循环流中。注意,没有验证是否可以到达某个活动的验证机制。因此,即使很明显不会再到达某个活动,也不会拒绝跳过请求,但该请求实际上无任何效果。对于处于非活动状态的活动,跳过请求会将当前活动实例标记为跳过。通常,如果再次到达该实例,则将创建一个继承此标记的新实例对象。然后,将不会运行该实现,但导航将像另外两种情况中那样继续执行。

取消活动实例的跳过请求

在尚未到达该活动或者该活动处于结束状态时,取消跳过请求可用于撤消跳过请求的影响。取消跳过请求用于取消设置“skipRequested”属性。

跳过某个活动实例——示例

现在再看看我们的示例流程。在上一个修复步骤中,Jeff 已使用强制完成克服了调用活动 RetrieveCustomerData 中的问题。尽管他手动查询了客户数据,但他发现最高红利利率已经分给了当前客户,于是他不让流程自己发现这种情况,而是决定跳过该流程中的相应步骤。因此,就在强制完成 RetrieveCustomerData 之前,他使用此信息更新了红利变量,并将 calculateBonus 活动标记为跳过。为执行此操作,他选择了 Process State View(如图 12 所示),单击 calculateBonus 活动,并从下拉菜单中选择 Skip Activity。务必理解的是,在强制完成 RetrieveCustomerData 之前必须请求跳过,这是因为流程导航将在强制完成调用之后立即继续执行。

图 12. 跳过活动实例“calculateBonus”

使用 WebSphere Process Server 修复流程

跳转到其他活动实例

在 WebSphere Process Server 6.1.2 中,现在可以手动覆盖正在运行的流程实例的实际状态。具体来说,您能够在控制流中执行跳转操作,从一个专用活动(源活动)跳转到另一个专用活动(目标活动)。只有在处于活动状态时才可以执行从某个活动实例跳出操作。跳转在语义上分为两个步骤:首先,该步骤的源活动结束,其次,跳转的目标活动执行。

跳转的活动的源可以通过三种方式结束。它们可能是已跳过、已完成或强制完成。因此共有三种可能的方式来执行跳转:跳过和跳转、强制完成和跳转、完成和跳转。注意,只有人工任务活动可以与跳转协同完成;所有其他活动类型需要强制结束。这意味着,在此情况下您还可以为此活动提供输出消息,并且在完成跳转之后该活动将处于完成状态。跳转行为对于这三种选项都是相同的。

重要说明:要在两个活动之间跳转,不要求目标活动是源活动的后续活动。您还可以执行“向后”跳转。只能从一个活动跳转到另一个活动,不支持多个源活动。跳转的目标必须是单个活动,但不必是基本活动;目标活动也可以是结构化活动。在源活动完成之后即执行跳转。

向前跳转具有以下特征:

不评估源和目标活动之间的链接上指定的任何转换条件,因此,假定在任何情况下都将执行跳转的目标。

源和目标之间的所有活动不是由工作流引擎激活的。这意味着,对于向前跳转将不执行这些活动。这还意味着,由这些活动产生的任何数据对于跳转的目标活动都不可用。因此,应注意由目标活动请求的数据。您可以手动设置变量的数据以确保能够正确执行目标。这种情况也在本文中进行了介绍(请参阅“修复处于停止状态的活动——示例”)。

向后跳转具有以下属性:

源和目标中的活动实例从数据库中删除,以便在完成跳转之后可以再次执行这些活动。

在此时间点,不涉及任何补偿。不过,如果之间的活动是一个范围活动,则补偿处理程序仍保持注册状态。

何处支持跳转?

源和目标活动必须满足特定的要求才能执行跳转。如果不能满足这些要求,将拒绝跳转请求。这些要求基于源活动的状态和流程模型的结构化组合。

为了执行跳转,跳转的源必须处于活动状态。可以执行跳转的源活动的可能状态包括:已请求、就绪、正在运行、已停止和正在等待。这些状态对于以下两种情况都有效:跳过和跳转以及强制完成和跳转。不过,由于完成和跳转仅在人工任务活动中允许,因此完成和跳转只有在已请求的状态下才能被调用。

只有在业务流程中具有唯一名称的活动才是潜在的跳转目标。不过,显示名称可以是相同的。

仅在与其他活动的完成组合时才允许跳转。跳转仅在跳过、强制完成或完成操作成功时才执行,例如,未发生任何运行时异常。

可以在序列和循环流中执行跳转,但不支持在并行流中跳转。在这两种情况中,源活动和目标活动都必须直接嵌入同一封闭结构中。既不能跳入结构化活动,也不能跳出直接封闭的结构化活动。但是可以跳过结构化活动。

不能使用附加的处理程序(即补偿处理程序、错误处理程序或撤消操作)从调用活动跳转。

当您使用 BPC Explorer 执行跳转时,将自动检查这些要求。因此,仅显示有效的跳转目标。

跳转到其他活动实例——示例

现在回到我们的示例业务流程。图 13 显示了位于人工任务活动 ProvideCustomerData 的流程实例。客户关系经理 Jeff 已经请求了此活动。Jeff 现在决定完成此活动并在 calculateBonus 继续执行,因为他知道如果注册服务不可用,后续活动 AddCustomerData 将失败。Jeff 将在以后的时间点在服务恢复工作时通过手动操作向注册中心添加新客户。

要在 BPCExplorer 中执行跳转,请完成以下步骤:

转到 Process State View 并单击活动 ProvideCustomerData。将显示一个提供不同选项的菜单。

选择 Jump to another Activity。

图 13:从活动 ProvideCustomerData 跳转到活动 calculateBonus

使用 WebSphere Process Server 修复流程

技巧:BPC Explorer 突出显示可以作为有效跳转目标的所有活动,并淡出其他活动。由于跳转的源包含在循环流中,因此,此循环流中直接包含的所有活动都是有效的跳转目标。由于不可能跳出结构化活动,因此淡出了循环流中未包含的活动。图 14 显示了所有可能的跳转目标。

图 14. 从活动 ProvideCustomerData 跳转的可能目标

使用 WebSphere Process Server 修复流程

要跳转到 calculateBonus,请左键单击相应的活动。

图 15:选择跳转的目标 calculateBonus

使用 WebSphere Process Server 修复流程

技巧:图 15 显示的菜单提供了应如何处理源活动的选项。用户可以完成、强制完成或跳过源活动。选项“complete”仅在跳转的源是请求的人工任务活动时才可用,否则将不显示此选项。Jeff 决定完成人工任务活动。

在下一个屏幕中,您可以编辑活动 ProvideCustomerData 的输出消息。

图 16:为使用 ProvideCustomerData 作为源活动的完成和跳转提供输出消息

使用 WebSphere Process Server 修复流程

输入客户数据并单击 Complete and Jump。输出消息将作为人工任务活动的输出,并且导航将在所选的目标 calculateBonus 继续执行。

手动更改导航的常见缺陷

当某个活动由于跳过请求而被跳过或忽略时,将不会运行其实现。因此,活动对流程实例和流程实例外部的整个应用程序系统的影响会消失。对于向后跳转,可能多次执行活动,这也可能对进程有影响。在执行跳过或跳转之前需要检查这些影响,以避免不良的负面影响。此外,活动执行的这些积极影响可能需要由手动操作代替实现。

对流程实例本身的影响

本地和全局变量

例如,假设有一个被跳过的分配活动。那么对该分配的本地和全局变量的所有更新都不会发生。不过,该流程中的后续步骤可能需要这些更改。可以通过 get-/set-variable API 请求或在 BPC Explorer 中更新或初始化全局和本地变量。

相关集的值

消息活动(即接收、应答、调用和拾取活动)可以使用其输入和输出消息初始化或验证相关集的值。这是一项重要功能,例如将外部请求与正确的流程实例进行关联。跳过或忽略启动相关集的活动可能至关重要,这是因为相关集可能由其他活动使用。

接收-应答对

另一个不一致的源是属于同一双向操作的接收-应答对;当只有其中一个活动运行,另一个活动由于跳过请求而被跳过或者未执行时将会出现不一致情况。当双向请求的接收活动被跳过或被忽略时,相应的应答活动也应被标记为跳过或忽略。如果以某种方式执行了应答,则应答活动会失败或停止,并显示一个错误,指示未找到相应的接收活动。如果停止,您可以强制完成该活动,但这在以后可能需要进一步手动干预。如果跳过应答活动,则请求在流程完成之前仍保持开启状态,并向调用方返回错误。应避免跳转到正在进行初始化且没有定义相关性的接收活动。

活动的多次执行

对于向后跳转,导航将在目标活动继续执行,结果可能会再次执行某些活动,这具体取决于控制流。例如,可能重新执行调用活动,并再次启动子流程。请注意,对于向后跳转,不会补偿位于源和目标之间的活动。由于可能会执行两次活动,因此您需要相应地处理它们。一种解决方案要求活动是等幂的,或者能够通过某种方式处理第二次调用。另一种解决方案是在执行跳转请求之前将该活动标记为跳过,以便不会再次执行该活动。注意:将该活动标记为跳过应在请求跳转之前执行。

跳过活动

向前跳转是指直接在目标活动继续执行导航;源和目标活动之间的所有活动均被忽略。这些活动既不会被跳过也不会在以后捕获,因此由这些活动产生的任何信息在业务流程的进一步导航过程中都不可用。如果希望其中的某个活动运行,则可以回跳到此活动并将其他不需要再次执行的活动标记为跳过。

逻辑错误跳转

跳转目标可能不是涉及业务流程逻辑的有效跳转目标。例如,在循环流中,允许在任何位置跳转。假设有一个具有互斥分支的循环流;每个分支都有一些应用于该分支中所有活动的前置条件和不变量。如果跳转请求跨过这些分支,则可能会违反这些条件,并可能会导致意外的行为和异常。因此,通常情况下,每当用户执行跳转时,他们应检查流程的业务逻辑的有效性。

对周围应用程序的影响

当忽略服务调用时,进程实例状态可能与其余的软件应用程序失去同步。例如,假设有两个长时间运行的流程,相互与多个操作通信。一个流程可能假定按一定的顺序接收请求,并可能偶然收到不需要的请求。

您可以考虑使用 SCA(服务组件体系结构)方法调用流程的合作伙伴来模拟跳过的活动。如果这些合作伙伴是其他长时间运行的流程实例,则对合作伙伴实例进行流程修复也非常有用。

结束语

流程修复对可以应用于正在运行的流程实例的一组操作进行了总结。这些操作旨在帮助您在建模时从无法预见的异常情况中恢复。流程修复操作可应用于任何长时间运行的流程实例。不过,要最有效地应用这些功能,较好的方法是在建模时考虑某些特定方面(如 continue-on-error 属性),并明智地分配管理权限。本文为您介绍了这些修复是如何执行的;即:强制完成、强制重试、跳过和跳转、在理论和示例中执行。使用这些功能可能不足以解决关键情况,并且您可能需要:更新内部流程状态,例如,更新变量内容和/或干预流程外部的整个应用程序系统。

本文说明了您在使用跳过和跳转操作时需要细心,因为这些操作会导致遗漏或重新执行流程的某些区域,从而可能导致缺少流程实例的其他区域中的信息。您还学习了,尽管对有效跳转目标有一组限制,但允许的跳转目标从应用程序角度而言可能是无效的。您需要通过研究流程模型及其意图来检测此无效性,以避免此类跳转。

Tags:使用 WebSphere Process

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接