Microsoft 服務(wù)器提供了三種支持群集的技術(shù): 網(wǎng)絡(luò)負(fù)載平衡 (NLB)、組件負(fù)載平衡 (CLB) 和 Microsoft 群集服務(wù) (MSCS)。 本文著重介紹三種支持群集的 Microsoft 服務(wù)器技術(shù)之一:群集服務(wù)。我們將說明如何在群集環(huán)境中對應(yīng)用程序輕松執(zhí)行性能檢查,而無需更改應(yīng)用程序代碼
中文名稱 | mscs | 全????稱 | Microsoft 群集服務(wù) |
---|---|---|---|
簡????介 | Windows Server 2003 系列 |
開采沉陷學(xué)是一個交叉學(xué)科,計算機(jī)技術(shù)在其中發(fā)揮了重要作用。為了讓資料處理自動化,數(shù)據(jù)可視化,不少研究人員開發(fā)了開采沉陷預(yù)計系統(tǒng)。通過對比和測試發(fā)現(xiàn)本系統(tǒng)(Mining Subsidence Calculation System,簡稱MSCS,由蔡來良博士開發(fā))具有以下幾點(diǎn)優(yōu)勢:
(1)采用最新的軟件開發(fā)平臺開發(fā),系統(tǒng)兼容性好,經(jīng)過測試,本軟件能支持目前所有的WINDOWS操作系統(tǒng)。
(2)軟件整合度高,功能集成度高,只需要使用本軟件即可完成數(shù)據(jù)運(yùn)算,工程圖生成等功能,不需要借助別的平臺來后處理預(yù)計數(shù)據(jù)。
(3)軟件運(yùn)算速度高。結(jié)合目前的計算機(jī)多核CPU硬件技術(shù)的發(fā)展,本軟件的預(yù)計計算采用了并行算法,極大地利用了計算機(jī)資源,提高了計算速度。
(4)數(shù)據(jù)可視化程度高。本系統(tǒng)結(jié)合開采沉陷預(yù)計理論和等高線的自動生成原理,以及計算機(jī)圖形學(xué)技術(shù),集成了地表變形等值線的自動生成功能。本系統(tǒng)輸出的等值線格式支持目前所有版本的CAD軟件和GIS軟件,極大地方便了預(yù)計結(jié)果在多個學(xué)科中的運(yùn)用,并且預(yù)計和出圖一體化,使用方便。同時考慮到面積統(tǒng)計的工作量較大,利用地籍測量學(xué)中的解析法求面積原理,逐一自動統(tǒng)計出不同變形指標(biāo)下的土地破壞面積,提高了統(tǒng)計分析工作效率。本系統(tǒng)還開發(fā)了下沉盆地的三維可視化功能,界面友好,數(shù)據(jù)可分析程度高。
(5)集成了土地破壞分區(qū)功能,目前國內(nèi)的其他軟件的土地剖壞分區(qū)都是在預(yù)計結(jié)果的基礎(chǔ)上,結(jié)合CAD軟件手動分區(qū)。本系統(tǒng)結(jié)合地表變形場的基本規(guī)律,開發(fā)了自動分區(qū)功能,為用戶節(jié)約了大量時間,并提高了分析精度。
(6)數(shù)據(jù)兼容性好,本軟件能處理任意多變形(凸多邊形,凹多邊形)的開采區(qū)域的地表變形預(yù)計,任意煤層傾角影響下的開采沉陷預(yù)計,以及山區(qū)地表移動預(yù)計,功能強(qiáng)大,適用范圍廣。
結(jié)合作者多年來對開采沉陷預(yù)計的研究和國內(nèi)外預(yù)計技術(shù)的發(fā)展,本軟件必將繼續(xù)完善,更好地為礦區(qū)服務(wù)。
?在任何情況下,僅僅交付一個具有豐富功能集的高質(zhì)量應(yīng)用程序是不夠的,在越來越多的時候,它還必須滿足高可用性標(biāo)準(zhǔn)。您是否因為群集技術(shù)看起來過于高深、難于理解和使用而沒有使應(yīng)用程序再提高一個層次? 隨著 Microsoft 的群集服務(wù)在 Windows NT? 4 中引入以及在 Windows Server 2003 系列中正式提供,開發(fā)人員可使用一些簡單工具在群集環(huán)境中部署應(yīng)用程序。這些工具能夠?qū)⑷杭械膽?yīng)用程序登記為一般應(yīng)用程序,并且能夠通過編寫 Windows 腳本的方式來控制應(yīng)用程序的配置。
群集將兩個或多個服務(wù)器連接在一起,使其對客戶端呈現(xiàn)為單個計算機(jī)。在一個群集中連接服務(wù)器可以分擔(dān)工作負(fù)載、實(shí)現(xiàn)單點(diǎn)操作/管理,并為滿足增長的需求進(jìn)行相應(yīng)的調(diào)整提供了一種途徑。因此,通過群集可以產(chǎn)生具有高可用性的應(yīng)用程序。
本文著重介紹三種支持群集的 Microsoft 服務(wù)器技術(shù)之一:群集服務(wù)。我們將說明如何在群集環(huán)境中對應(yīng)用程序輕松執(zhí)行性能檢查,而無需更改應(yīng)用程序代碼。
Microsoft 服務(wù)器提供了三種支持群集的技術(shù): 網(wǎng)絡(luò)負(fù)載平衡 (NLB)、組件負(fù)載平衡 (CLB) 和 Microsoft 群集服務(wù) (MSCS)。
網(wǎng)絡(luò)負(fù)載平衡
網(wǎng)絡(luò)負(fù)載平衡充當(dāng)前端群集,用于在整個服務(wù)器群集中分配傳入的 IP 流量,是為電子商務(wù) Web 站點(diǎn)實(shí)現(xiàn)增量可伸縮性和出色可用性的理想選擇。 最多可以將 32 個運(yùn)行 Windows Server 2003 系列產(chǎn)品的計算機(jī)連接在一起共享一個虛擬 IP 地址。NLB 通過在群集內(nèi)的多個服務(wù)器之間分配其客戶端請求來增強(qiáng)可伸縮性。隨著流量的增加,可以向群集添加更多的服務(wù)器,任何一個群集最多可容納 32 個服務(wù)器。NLB 在為用戶提供連續(xù)服務(wù)的同時還提供了高可用性,即自動檢測服務(wù)器故障,并在 10 秒內(nèi)在其余服務(wù)器中重新分配客戶端流量。
組件負(fù)載平衡
組件負(fù)載平衡可以在多個運(yùn)行站點(diǎn)業(yè)務(wù)邏輯的服務(wù)器之間分配負(fù)載。它在最多包含八個等同服務(wù)器的服務(wù)器群集中實(shí)現(xiàn)了 COM+ 組件的動態(tài)平衡。在 CLB 中,COM+ 組件位于單獨(dú)的 COM+ 群集中的服務(wù)器上。激活 COM+ 組件的調(diào)用是平衡到 COM+ 群集中的不同服務(wù)器的負(fù)載。CLB 通過作用于多層群集網(wǎng)絡(luò)的中間層與 NLB 和群集服務(wù)配合工作。 CLB 是作為 Application Center 2000 的特性提供的,可與 Microsoft 群集服務(wù)在同一組計算機(jī)上運(yùn)行。
群集服務(wù)
群集服務(wù)充當(dāng)后端群集,可為數(shù)據(jù)庫、消息傳遞以及文件和打印服務(wù)等應(yīng)用程序提供高可用性。當(dāng)任一節(jié)點(diǎn)(群集中的服務(wù)器)發(fā)生故障或脫機(jī)時,MSCS 將嘗試最大程度地減少故障對系統(tǒng)的影響。
MSCS 故障轉(zhuǎn)移功能是通過群集中連接的多個計算機(jī)中的冗余實(shí)現(xiàn)的,每臺計算機(jī)都具有獨(dú)立的故障狀態(tài)。為了實(shí)現(xiàn)冗余,需要在群集中的多個服務(wù)器上安裝應(yīng)用程序。但在任一時刻,應(yīng)用程序只在一個節(jié)點(diǎn)上處于聯(lián)機(jī)狀態(tài)。當(dāng)該應(yīng)用程序出現(xiàn)故障或該服務(wù)器停機(jī)時,此應(yīng)用程序?qū)⒃诹硪粋€節(jié)點(diǎn)上重新啟動。 Windows Server 2003 數(shù)據(jù)中心版支持在一個群集中最多包含 8 個節(jié)點(diǎn)。
每個節(jié)點(diǎn)都具有自己的內(nèi)存、系統(tǒng)磁盤、操作系統(tǒng)和群集資源的子集。如果某一節(jié)點(diǎn)出現(xiàn)故障,另一個節(jié)點(diǎn)將接管故障節(jié)點(diǎn)的資源(此過程稱為"故障轉(zhuǎn)移")。然后,Microsoft 群集服務(wù)將在新節(jié)點(diǎn)上注冊資源的網(wǎng)絡(luò)地址,以便將客戶端流量路由至當(dāng)前擁有該資源的可用系統(tǒng)。當(dāng)故障資源恢復(fù)聯(lián)機(jī)狀態(tài)時,MSCS 可配置為適當(dāng)?shù)刂匦路峙滟Y源和客戶端請求(此過程稱為"故障恢復(fù)")。要使應(yīng)用程序恢復(fù)到發(fā)生故障轉(zhuǎn)移時的那一點(diǎn),節(jié)點(diǎn)必須能夠訪問保持應(yīng)用程序狀態(tài)的共享存儲區(qū)。
請注意,Microsoft 群集服務(wù)旨在提供高可用性,而不是真正的容錯功能。"容錯"一詞通常用于描述提供更高級別恢復(fù)功能的技術(shù)。容錯服務(wù)器通常使用結(jié)合了特定軟件的高級硬件或數(shù)據(jù)冗余,提供從單個硬件或軟件故障近乎瞬時的恢復(fù)。這類解決方案的成本遠(yuǎn)遠(yuǎn)高于群集解決方案,因為您必須購買冗余硬件,而冗余硬件只不過閑置在那里用于故障恢復(fù)。Microsoft 群集服務(wù)使用價格適宜的標(biāo)準(zhǔn)硬件提供出色的高可用性解決方案,同時最大程度地利用計算資源。
Microsoft 群集服務(wù)基于無共享的群集模型。無共享模型規(guī)定,雖然群集中有多個節(jié)點(diǎn)可以訪問設(shè)備或資源,但該資源在一個時刻只能由一個系統(tǒng)占有和管理。(在 MSCS 群集中,資源是指任何可以聯(lián)機(jī)或脫機(jī)、可在群集中進(jìn)行管理、一個時刻只能以一個節(jié)點(diǎn)作為宿主并可以在節(jié)點(diǎn)之間移動的物理組件或邏輯組件。
Microsoft 群集服務(wù)由三個主要組件構(gòu)成:群集服務(wù)、資源監(jiān)視器和資源 DLL。此外,還可以利用群集管理器創(chuàng)建提供管理功能的擴(kuò)展 DLL。
群集服務(wù)
群集服務(wù)是核心組件,并作為高優(yōu)先級的系統(tǒng)服務(wù)運(yùn)行。群集服務(wù)控制群集活動并執(zhí)行如下任務(wù):協(xié)調(diào)事件通知、加速群集組件之間的通信、處理故障轉(zhuǎn)移操作和管理配置。 每個群集節(jié)點(diǎn)都運(yùn)行自己的群集服務(wù)。
資源監(jiān)視器
資源監(jiān)視器是群集服務(wù)和群集資源之間的接口,并作為獨(dú)立進(jìn)程運(yùn)行。群集服務(wù)使用資源監(jiān)視器與資源 DLL 進(jìn)行通信。DLL 處理所有與資源的通信,因此 DLL 以資源監(jiān)視器為宿主可以保護(hù)群集服務(wù)免受運(yùn)行不正?;蛲V构ぷ鞯馁Y源造成的影響。資源監(jiān)視器的多個副本可以在單個節(jié)點(diǎn)上運(yùn)行,從而可以將無法預(yù)測的資源與其他資源隔離開。
群集服務(wù)在需要對資源執(zhí)行操作時,向分配給該資源的資源監(jiān)視器發(fā)送請求。如果資源監(jiān)視器的進(jìn)程中沒有可以處理該類型資源的 DLL,則使用注冊信息加載與該資源類型相關(guān)聯(lián)的 DLL。然后,將群集服務(wù)的請求傳遞至其中一個 DLL 的入口點(diǎn)函數(shù)。資源 DLL 將處理操作的細(xì)節(jié),以滿足資源的特定需要。
資源 DLL
第三個關(guān)鍵的 Microsoft 群集服務(wù)組件是資源 DLL。資源監(jiān)視器和資源 DLL 使用資源 API 進(jìn)行通信。資源 API 是用于管理資源的入口點(diǎn)、回調(diào)函數(shù)和相關(guān)結(jié)構(gòu)及宏的集合。
對于群集服務(wù)而言,資源是任何可進(jìn)行管理的物理組件或邏輯組件,例如磁盤、網(wǎng)絡(luò)名、IP 地址、數(shù)據(jù)庫、Web 站點(diǎn)、應(yīng)用程序以及任何其他可以聯(lián)機(jī)和脫機(jī)的實(shí)體。資源可按類型進(jìn)行組織。資源類型包括物理硬件(例如磁盤驅(qū)動器)和邏輯項(例如 IP 地址、文件共享和一般應(yīng)用程序)。
每個資源都使用資源 DLL,它主要是資源監(jiān)視器和資源之間的被動轉(zhuǎn)換層。資源監(jiān)視器調(diào)用資源 DLL 的入口點(diǎn)函數(shù)來查看資源的狀態(tài),使資源聯(lián)機(jī)和脫機(jī)。資源 DLL 負(fù)責(zé)通過任何方便的 IPC 機(jī)制與其資源進(jìn)行通信,以實(shí)現(xiàn)這些方法。
實(shí)現(xiàn)其自身資源 DLL 與群集服務(wù)通信的應(yīng)用程序以及使用群集 API 請求和更新群集信息的應(yīng)用程序都被定義為識別群集的應(yīng)用程序。不使用群集或資源 API 以及群集控制代碼函數(shù)的應(yīng)用程序和服務(wù)都不識別群集,也不知道群集服務(wù)在運(yùn)行。這些不識別群集的應(yīng)用程序通常作為一般應(yīng)用程序或服務(wù)進(jìn)行管理。
識別群集的應(yīng)用程序和不識別群集的應(yīng)用程序都可以在群集節(jié)點(diǎn)上運(yùn)行,并且都可以作為群集資源進(jìn)行管理。但是,只有識別群集的應(yīng)用程序可以利用群集服務(wù)通過群集 API 提供的功能。開發(fā)識別群集的應(yīng)用程序需要建立自定義資源類型。通過自定義資源類型,開發(fā)人員可以使其應(yīng)用程序在群集內(nèi)發(fā)生各種事件(例如,節(jié)點(diǎn)即將脫機(jī),因此會關(guān)閉數(shù)據(jù)庫連接)時,作出響應(yīng)并采取必要的措施。
對于大多數(shù)需要在群集中運(yùn)行的應(yīng)用程序,最好投入一些時間和資源開發(fā)自定義資源類型。不過,可以先在群集環(huán)境中對應(yīng)用程序進(jìn)行測試,而不必修改應(yīng)用程序的代碼或創(chuàng)建新的資源類型。在 Windows Server 2003 系列中,未經(jīng)修改的應(yīng)用程序可以作為"不識別群集的"應(yīng)用程序以基本級別運(yùn)行。群集服務(wù)專為此用途提供了一般應(yīng)用程序資源類型。
群集管理器擴(kuò)展 DLL
群集管理器擴(kuò)展 DLL 在群集管理器內(nèi)提供特定于應(yīng)用程序的管理功能,允許用戶以同樣的方式管理他們的應(yīng)用程序,無論該應(yīng)用程序是在群集內(nèi)部運(yùn)行還是在群集外部運(yùn)行。開發(fā)人員可以在群集管理器的框架內(nèi)提供應(yīng)用程序管理功能,或只是將這些功能鏈接到現(xiàn)有的管理工具。
開發(fā)人員可以通過編寫擴(kuò)展 DLL 來擴(kuò)展群集管理器的功能。群集管理器應(yīng)用程序通過一組已定義的 COM 接口與擴(kuò)展 DLL 進(jìn)行通信。擴(kuò)展 DLL 必須實(shí)現(xiàn)一組特定的接口并且在群集的每個節(jié)點(diǎn)上都進(jìn)行注冊。
不提供其自身資源 DLL 的應(yīng)用程序或服務(wù)仍可以在群集環(huán)境中進(jìn)行配置。Windows Server 2003 系列中的群集服務(wù)包括僅用于此目的的一般資源 DLL:一般應(yīng)用程序資源 DLL 和一般服務(wù)資源 DLL。群集服務(wù)將這些應(yīng)用程序或服務(wù)看作是不識別群集的一般應(yīng)用程序或服務(wù)。
一般資源 DLL 只提供最基本的控制。例如,一般應(yīng)用程序資源 DLL 通過確定應(yīng)用程序的進(jìn)程是否仍然存在來檢查應(yīng)用程序是否發(fā)生故障,并通過終止進(jìn)程使應(yīng)用程序脫機(jī)。但它并不依賴于其他資源,而是提供一個在群集環(huán)境中測試應(yīng)用程序的簡單方法。
并非所有應(yīng)用程序都能在群集中高效地工作。最有效的評估方式就是在群集中實(shí)際部署應(yīng)用程序。執(zhí)行初次測試的最簡單機(jī)制是使用內(nèi)置的一般應(yīng)用程序資源類型將應(yīng)用程序登記到群集中。"Generic Application"(一般應(yīng)用程序)資源類型作為 Windows Server 2003 系列中群集服務(wù)的一部分提供,可以通過查看 "Cluster Administrator"(群集管理器)工具中 "Cluster Configuration"(群集配置)下的 "Resource Types"(資源類型)節(jié)點(diǎn)查看該類型以及其他內(nèi)置資源類型。
群集管理器具有交互式向?qū)В鼓軌驗榱谐龅娜魏钨Y源類型創(chuàng)建資源。群集服務(wù)還提供了 COM 接口,您可以用編程的方式創(chuàng)建和管理資源。
注最新的群集管理器工具及相關(guān)的開發(fā)資源可以從 Platform SDK 獲得。
群集自動化服務(wù)器
群集自動化服務(wù)器提供一組自動化對象,用于向腳本語言公開一個完整的群集管理接口,使您能夠開發(fā)基于 Web 的遠(yuǎn)程管理工具。群集自動化服務(wù)器能夠簡化和增強(qiáng)創(chuàng)建群集管理應(yīng)用程序的過程。
群集自動化服務(wù)器的本質(zhì)是面向?qū)ο蟮模@意味著幾乎所有群集編程任務(wù)都會涉及以下步驟:
確定需要執(zhí)行的群集操作。
查找具有屬性或方法的群集自動化服務(wù)器對象以完成操作。
確定如何獲取步驟 2 中的對象。MSDN® 中提供的對象層次結(jié)構(gòu)可用于此目的。
獲取對象并調(diào)用屬性或方法。
為了進(jìn)行說明,我們將使用 Windows Scripting Host 和 Microsoft VBScript 以編程方式創(chuàng)建一般應(yīng)用程序資源。
群集對象
群集對象是頂層對象,允許創(chuàng)建新實(shí)例。群集對象的 ProgID 是 "MSCLUSTER.CLUSTER":
Set oCluster = CreateObject( "MSCluster.Cluster" ) 打開群集
在使用群集上的任何方法之前,必須先打開到該群集的連接。Open 方法可打開到群集的連接。將空字符串 ("") 作為參數(shù)傳遞給 Open 方法,即可打開到 localhost 上的群集的連接。腳本將在本地主機(jī)服務(wù)器上運(yùn)行:
oCluster.Open( "" ) 創(chuàng)建組
群集組是群集資源的容器。當(dāng)組中的一個資源發(fā)生故障且必須將該資源轉(zhuǎn)移到其他節(jié)點(diǎn)時,該組中的所有資源都將被移動。組還定義了依賴關(guān)系邊界。某個資源只能建立與另一個資源的依賴關(guān)系,前提是,該資源在同一個組中。為了進(jìn)行測試,我們將創(chuàng)建一個獨(dú)特的組,名為 "High Availability Notepad"(高可用性記事本):
Set oGroup = oCluster.ResourceGroups.CreateItem( "High Availability Notepad" ) 創(chuàng)建資源
每個組都包含資源集合。CreateItem 方法創(chuàng)建一個新資源,并將其添加到組的集合中。在本示例中,我們將創(chuàng)建一個名為 "Notepad" 的資源,資源類型為 "Generic Application":
Set oResource = oGroupResources.CreateItem( "Notepad", "Generic Application", 0 ) 設(shè)置資源屬性
每個一般應(yīng)用程序資源都具有兩個可使資源聯(lián)機(jī)的基本屬性: CommandLine 和 CurrentDirectory。CommandLine 包含資源聯(lián)機(jī)時要執(zhí)行的命令,而 CurrentDirectory 則指定從中執(zhí)行命令的文件系統(tǒng)目錄。當(dāng)此腳本執(zhí)行語句使資源聯(lián)機(jī)時,將啟動 Notepad。要查看 Notepad,我們還需要將 InteractWithDesktop 屬性設(shè)置為 1。
Set oProperties = oResource.PrivateProperties ' Set the properties of the Generic Application oProperties.Item("CommandLine") = "notepad" oProperties.Item("CurrentDirectory") = "c:\" oProperties.Item("InteractWithDesktop") = 1 oProperties.SaveChanges 使資源聯(lián)機(jī)
Online 方法使資源聯(lián)機(jī)。Online 是一種狀態(tài),用于描述資源對群集可用。對于一般應(yīng)用程序,使資源聯(lián)機(jī)就意味著啟動 Notepad。
oResource.Online 10 完整的腳本清單
Option Explicit Main '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Main subroutine. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub Main Dim oGroup Dim oCluster Dim oResource ' Create the Cluster object. Set oCluster = CreateObject( "MSCluster.Cluster" ) ' Open the cluster. Empty string means open the local cluster. oCluster.Open( "" ) ' Create or open the group. AddGroup oCluster, oGroup ' Create or open the resource. AddResource oGroup, oResource ' Bring the resource online and wait for up to 10 seconds ' for it to come online. oResource.Online 10 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' This subroutine will create or open the group. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub AddGroup( oCluster, oGroup ) Set oGroup = oCluster.ResourceGroups.CreateItem( "High Availability Notepad" ) End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' This subroutine will add the resource to the group. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub AddResource( oGroup, oResource ) Dim oGroupResources Dim oProperties Dim oCLProperty Dim oCDPropery Set oGroupResources = oGroup.Resources Set oResource = oGroupResources.CreateItem( "Notepad", "Generic Application", 0 ) 'CLUSTER_RESOURCE_DEFAULT_MONITOR Set oProperties = oResource.PrivateProperties ' Set the properties of the Generic Application oProperties.Item("CommandLine") = "notepad" oProperties.Item("CurrentDirectory") = "c:\" oProperties.Item("InteractWithDesktop") = 1 oProperties.SaveChanges End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Wait for a specified number of time. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Sub Sleep( PauseTime ) Dim Start Start = Timer Do While Timer < Start + PauseTime Loop End Sub 通過運(yùn)行這個簡單的腳本,將創(chuàng)建新的 "Notepad" 資源,并將其放入自身的組("High Availability Notepad")中。
驗證結(jié)果
我們可以使用群集管理器來驗證結(jié)果。通過查看"群集管理器"中 Notepad 資源的屬性,可以看到已經(jīng)正確設(shè)置了參數(shù)。
查看 "Advanced"(高級)選項卡,您將看到默認(rèn)屬性,指示發(fā)生故障時應(yīng)用程序至多重新啟動 3 次。LooksAlive 和 IsAlive 輪詢間隔默認(rèn)為資源類型中的值,但也可以通過指定其他值將其改寫。由于此應(yīng)用程序沒有特殊代碼使其成為識別群集的應(yīng)用程序,因此僅通過在系統(tǒng)中運(yùn)行的進(jìn)程存在與否確定它是否處于活動狀態(tài)。
測試應(yīng)用程序
Notepad 資源聯(lián)機(jī)后將在服務(wù)器上啟動。如果 Notepad 進(jìn)程被終止,它將立即再次啟動。這是因為群集服務(wù)在發(fā)揮作用,試圖使應(yīng)用程序保持打開和運(yùn)行狀態(tài)。作為一般應(yīng)用程序資源,無論什么時候,只要應(yīng)用程序進(jìn)程不再運(yùn)行,群集服務(wù)就能夠立即注意到,并根據(jù)策略采取糾正措施。
如果應(yīng)用程序發(fā)生的故障不會導(dǎo)致進(jìn)程終止(例如,網(wǎng)絡(luò)故障、掛起或后臺線程終止),結(jié)果會怎樣呢?遺憾的是,對于一般應(yīng)用程序資源類型,您只能進(jìn)行一般故障檢測。大多數(shù)編寫在群集環(huán)境中運(yùn)行的應(yīng)用程序的開發(fā)人員都傾向于生成自定義資源 DLL,來處理與應(yīng)用程序有關(guān)的問題。要不是作為在群集中評估應(yīng)用程序的快捷方法,一般應(yīng)用程序資源類型不會得到應(yīng)用。
Microsoft 群集服務(wù)使用價格適宜的標(biāo)準(zhǔn)硬件提供高可用性,同時最大程度地利用計算資源。Windows Server 2003 系列中的群集服務(wù)提供了強(qiáng)大的工具,使您的應(yīng)用程序具有較高的可用性。對于某些開發(fā)人員而言,編寫識別群集的應(yīng)用程序可能要付出很大的代價,且難度較大。為了使開發(fā)人員能夠以較低的投入來使用集群,群集服務(wù)提供了一般應(yīng)用程序資源類型,允許在群集內(nèi)對應(yīng)用程序進(jìn)行簡單配置。雖然一般應(yīng)用程序資源類型可能不會提供生產(chǎn)型應(yīng)用程序所需的復(fù)雜性,但它提供了一種測試方法,可以查看應(yīng)用程序在群集內(nèi)的執(zhí)行情況。
變形縫子目有樓地面變形縫、頂棚變形縫、屋面變形縫,這都是水平的。還有內(nèi)墻面變形縫、外墻面變形縫,這是垂直的。
你好,SCSI設(shè)備就是使用SCSI技術(shù)的設(shè)備 該技術(shù)主要被用作硬盤借口,光驅(qū)也有SCSI的 支持SCSI設(shè)備的主板上面有SCSI控制器,就是SC...
答:中國船級社規(guī)范標(biāo)準(zhǔn)的一般強(qiáng)度結(jié)構(gòu)鋼分為:A、B、D、E四個質(zhì)量等級(即CCSA、CCSB、CCSC、CCSD);中國船級社規(guī)范標(biāo)準(zhǔn)的高強(qiáng)度結(jié)構(gòu)鋼為三個強(qiáng)度級別、四個質(zhì)量等級。
格式:pdf
大?。?span id="1nikitp" class="single-tag-height">1.0MB
頁數(shù): 5頁
評分: 4.5
筆者根據(jù)超高層巨型建筑結(jié)構(gòu)體系的構(gòu)造特點(diǎn),論述了將結(jié)構(gòu)振動控制原理融入巨型結(jié)構(gòu)本身構(gòu)造之中的構(gòu)造新結(jié)構(gòu)體系的方法,并采用這一方法提出了巨子型有控結(jié)構(gòu)體系MSCSS(Mega-sub controlled structural system),分析了MSCSS的構(gòu)造原則及控制理論背景,研究了MSCSS在罕遇地震及超罕遇地震(加速度峰值達(dá)到1000g)時的結(jié)構(gòu)響應(yīng)控制特性、塑性鉸發(fā)生規(guī)律及結(jié)構(gòu)災(zāi)變情況。通過與巨型框架結(jié)構(gòu)的災(zāi)變情況相比,表明了MSCSS抵御地震作用的高可靠性及良好的經(jīng)濟(jì)性,也表明了將結(jié)構(gòu)振動控制原理融入結(jié)構(gòu)自身的構(gòu)造之中、通過結(jié)構(gòu)自身的功能單元實(shí)現(xiàn)結(jié)構(gòu)響應(yīng)控制的方法是合適的,是研究超高層建筑結(jié)構(gòu)新體系的有效途徑之一。
格式:pdf
大小:1.0MB
頁數(shù): 7頁
評分: 4.6
目的關(guān)節(jié)軟骨的病變常伴有軟骨下骨缺損,其修復(fù)重建一直是骨科難題。探討B(tài)MSCs-雙相支架復(fù)合物修復(fù)骨軟骨缺損的可行性,比較其與植入單純雙相支架及動物自身修復(fù)效果的差別具有重要意義。方法以聚乳酸/聚羥基乙酸共聚物(poly-lactic-co-glycolic acid,PLGA)、羥基磷灰石(hydroxyapatite,HA)為原料制備由軟骨相和骨相構(gòu)成的三維支架,提取天然Ⅰ型膠原(collagen typeⅠ,ColⅠ)涂于表面制成PLGA-HA-ColⅠ雙相支架。取新西蘭乳兔骨髓分離培養(yǎng)獲得的第2代BMSCs,以1×106個/mL接種于雙相支架,掃描電鏡觀察支架結(jié)構(gòu)和細(xì)胞分布。取30只6月齡新西蘭大白兔,建立股骨遠(yuǎn)端關(guān)節(jié)面骨軟骨缺損模型,隨機(jī)均分為3組,A、B組分別于缺損區(qū)植入單純雙相支架和BMSCs-雙相支架復(fù)合物,C組作為空白對照組未植入支架材料。于術(shù)后1、3、6、9個月取材行大體及組織學(xué)觀察,術(shù)后9個月對A、B組標(biāo)本行大體評分比較、micro CT掃描定量分析及免疫組織化學(xué)染色觀察。結(jié)果掃描電鏡示雙相支架孔隙連通性好,軟骨相和骨相孔徑不同,BMSCs在雙相支架內(nèi)生長良好。大體觀察示術(shù)后9個月內(nèi)A組關(guān)節(jié)表面逐漸形成類軟骨樣組織,部分出現(xiàn)塌陷或不規(guī)則缺損;B組關(guān)節(jié)面無塌陷或碎裂,新生組織質(zhì)地更接近正常組織;C組缺損一直存在。大體評分顯示3組修復(fù)效果比較差異均有統(tǒng)計學(xué)意義(P<0.001),B組優(yōu)于A組,C組最差。micro CT掃描示A、B組軟骨下骨得到良好的修復(fù)重建,定量分析示B組骨組織體積分?jǐn)?shù)、結(jié)構(gòu)模型指數(shù)及骨小梁數(shù)目均高于A組,但差異無統(tǒng)計學(xué)意義(P>0.05)。組織學(xué)觀察示術(shù)后1個月A、B組缺損區(qū)存在炎性反應(yīng);術(shù)后3個月新生組織長入;術(shù)后6個月支架完全降解,新生組織在植入物及缺損邊緣爬行生長;術(shù)后9個月形成大量膠原纖維,表面多為纖維軟骨。C組觀察期內(nèi)缺損持續(xù)存在。術(shù)后9個月免疫組織化學(xué)染色示A、B組標(biāo)本缺損區(qū)ColⅡ染色呈弱陽性,ColⅠ染色陽性。結(jié)論P(yáng)LGA-HA-ColⅠ雙相支架具備較適宜的一體化修復(fù)骨軟骨缺損的物理特性,接種BMSCs后整體修復(fù)效果更好。
性能優(yōu)化
慎重選擇高消耗的樣式
高消耗屬性在繪制前需要瀏覽器進(jìn)行大量計算:
box-shadowsborder-radiustransparencytransformsCSS filters(性能殺手)
避免過分重排
當(dāng)發(fā)生重排的時候,瀏覽器需要重新計算布局位置與大小,更多詳情。
常見的重排元素:
widthheightpaddingmargindisplayborder-widthpositiontopleftrightbottomfont-sizefloattext-alignoverflow-yfont-weightoverflowfont-familyline-heightvertical-alignclearwhite-spacemin-height
正確使用 Display 的屬性
Display 屬性會影響頁面的渲染,請合理使用。
display: inline后不應(yīng)該再使用 width、height、margin、padding 以及 float;display: inline-block 后不應(yīng)該再使用 float;display: block 后不應(yīng)該再使用 vertical-align;display: table-* 后不應(yīng)該再使用 margin 或者 float;
不濫用 Float
Float在渲染時計算量比較大,盡量減少使用。
動畫性能優(yōu)化
動畫的實(shí)現(xiàn)原理,是利用了人眼的“視覺暫留”現(xiàn)象,在短時間內(nèi)連續(xù)播放數(shù)幅靜止的畫面,使肉眼因視覺殘象產(chǎn)生錯覺,而誤以為畫面在“動”。
動畫的基本概念:
幀:在動畫過程中,每一幅靜止畫面即為一“幀”;幀率:即每秒鐘播放的靜止畫面的數(shù)量,單位是fps(Frame per second);幀時長:即每一幅靜止畫面的停留時間,單位一般是ms(毫秒);跳幀(掉幀/丟幀):在幀率固定的動畫中,某一幀的時長遠(yuǎn)高于平均幀時長,導(dǎo)致其后續(xù)數(shù)幀被擠壓而丟失的現(xiàn)象。
一般瀏覽器的渲染刷新頻率是 60 fps,所以在網(wǎng)頁當(dāng)中,幀率如果達(dá)到 50-60 fps 的動畫將會相當(dāng)流暢,讓人感到舒適。
如果使用基于 java 的動畫,盡量使用 requestAnimationFrame. 避免使用 setTimeout, setInterval.避免通過類似 jQuery animate()-style 改變每幀的樣式,使用 CSS 聲明動畫會得到更好的瀏覽器優(yōu)化。使用 translate 取代 absolute 定位就會得到更好的 fps,動畫會更順滑。
多利用硬件能力,如通過 3D 變形開啟 GPU 加速
一般在 Chrome 中,3D或透視變換(perspective transform)CSS屬性和對 opacity 進(jìn)行 CSS 動畫會創(chuàng)建新的圖層,在硬件加速渲染通道的優(yōu)化下,GPU 完成 3D 變形等操作后,將圖層進(jìn)行復(fù)合操作(Compesite Layers),從而避免觸發(fā)瀏覽器大面積重繪和重排。
注:3D 變形會消耗更多的內(nèi)存和功耗。
使用 translate3d 右移 500px 的動畫流暢度要明顯優(yōu)于直接使用 left:
測試代碼:
提升 CSS 選擇器性能
CSS 選擇器對性能的影響源于瀏覽器匹配選擇器和文檔元素時所消耗的時間,所以優(yōu)化選擇器的原則是應(yīng)盡量避免使用消耗更多匹配時間的選擇器。而在這之前我們需要了解 CSS 選擇器匹配的機(jī)制, 如子選擇器規(guī)則:
我們中的大多數(shù)人都是從左到右的閱讀習(xí)慣,會習(xí)慣性的設(shè)定瀏覽器也是從左到右的方式進(jìn)行匹配規(guī)則,推測這條規(guī)則的開銷并不高。
我們會假設(shè)瀏覽器以這樣的方式工作:尋找 id 為 header 的元素,然后將樣式規(guī)則應(yīng)用到直系子元素中的 a 元素上。我們知道文檔中只有一個 id 為 header 的元素,并且它只有幾個 a 元素的子節(jié)點(diǎn),所以這個 CSS 選擇器應(yīng)該相當(dāng)高效。
事實(shí)上,卻恰恰相反,CSS 選擇器是從右到左進(jìn)行規(guī)則匹配。了解這個機(jī)制后,例子中看似高效的選擇器在實(shí)際中的匹配開銷是很高的,瀏覽器必須遍歷頁面中所有的 a 元素并且確定其父元素的 id 是否為 header 。
如果把例子的子選擇器改為后代選擇器則會開銷更多,在遍歷頁面中所有 a 元素后還需向其上級遍歷直到根節(jié)點(diǎn)。
理解了CSS選擇器從右到左匹配的機(jī)制后,明白只要當(dāng)前選擇符的左邊還有其他選擇符,樣式系統(tǒng)就會繼續(xù)向左移動,直到找到和規(guī)則匹配的選擇符,或者因為不匹配而退出。我們把最右邊選擇符稱之為關(guān)鍵選擇器。
1、避免使用通用選擇器
瀏覽器匹配文檔中所有的元素后分別向上逐級匹配 class 為 content 的元素,直到文檔的根節(jié)點(diǎn)。因此其匹配開銷是非常大的,所以應(yīng)避免使用關(guān)鍵選擇器是通配選擇器的情況。
2、避免使用標(biāo)簽或 class 選擇器限制 id 選擇器
3、避免使用標(biāo)簽限制 class 選擇器
4、避免使用多層標(biāo)簽選擇器。使用 class 選擇器替換,減少css查找
5、避免使用子選擇器
6、使用繼承