国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WCF技術(shù)的分布式任務(wù)處理框架的設(shè)計(jì)

2017-03-06 20:37:08唐亮
電子技術(shù)與軟件工程 2017年1期
關(guān)鍵詞:容錯(cuò)性擴(kuò)展性進(jìn)程

隨著軟件設(shè)計(jì)思想的發(fā)展,基于面向服務(wù)思想進(jìn)行程序設(shè)計(jì)是目前的主流思想。本文主要介紹了一種基于微軟WCF技術(shù)設(shè)計(jì)的分布式任務(wù)處理的系統(tǒng)框架。

【關(guān)鍵詞】WCF 分布式

從軟件性能和擴(kuò)展性角度考慮,傳統(tǒng)的只能運(yùn)行在單臺(tái)機(jī)器上的客戶端程序,由于受制于單臺(tái)機(jī)器資源和單個(gè)程序進(jìn)程所能使用的系統(tǒng)資源的限制,無法滿足多任務(wù)處理的需要。基于面向服務(wù)思想設(shè)計(jì)的應(yīng)用程序(SOA)由于其良好的擴(kuò)展性,目前是業(yè)界流行的一種程序架構(gòu)。為了實(shí)現(xiàn)這種架構(gòu),選擇一種能很好實(shí)現(xiàn)客戶端與服務(wù)之間通信的技術(shù),是最為關(guān)鍵的。

1 WCF簡介

WCF全稱為Windows Communication Foundation。是微軟公司推出的一個(gè)完全基于SOA的通信框架。在過去若干年中,微軟先后推出了一系列分布式通信技術(shù),比較典型的包括COM/DCOM、.NET Remoting、XML Web服務(wù)、MSMQ(消息隊(duì)列)等,這些技術(shù)各有優(yōu)劣,目前也都被開發(fā)人員選擇并使用。而WCF就是各種分布式技術(shù)的集大成者,它將微軟之前提供的各種分布式通信技術(shù)完全整合在一起,提供了一套統(tǒng)一的API。

1.1 WCF的優(yōu)點(diǎn)

(1)它是可互操作的;

(2)WCF服務(wù)的提供增強(qiáng)的可靠性和安全性;

(3)WCF具有內(nèi)置在記錄機(jī)制,而在其他技術(shù)中,必須做必要的編碼;

(4)WCF集成AJAX和支持JSON(JavaScript對(duì)象表示法);

(5)提供可擴(kuò)展性可支持出新的Web服務(wù)標(biāo)準(zhǔn);

(6)具有極其強(qiáng)大的默認(rèn)安全機(jī)制。

2 框架的設(shè)計(jì)

2.1 設(shè)計(jì)原則

2.1.1 擴(kuò)展性

擴(kuò)展性包括兩方面:

(1)單個(gè)服務(wù)的性能擴(kuò)展部署 這里主要是指對(duì)于多任務(wù)處理的時(shí)候,如果單個(gè)處理進(jìn)程的性能已經(jīng)無法滿足實(shí)時(shí)處理的需要時(shí),需要能夠通過增加處理進(jìn)程或者增加服務(wù)器的方式,快速部署服務(wù),而新部署的服務(wù),不需要修改代碼,只需要進(jìn)行簡單的配置,就可以與之前的服務(wù)一樣,對(duì)任務(wù)進(jìn)行處理。

(2)增加新的服務(wù)類型 這里主要是指,當(dāng)系統(tǒng)需要增加新的任務(wù)類型的時(shí)候,不需要去修改原有服務(wù)的代碼,只需要開發(fā)新的服務(wù)程序并部署,就可以實(shí)現(xiàn)對(duì)新類型任務(wù)的處理。

2.1.2 穩(wěn)定性

為了確保程序的穩(wěn)定性,最好的方法就是讓一個(gè)程序?qū)W⒅蛔鲆患虑?,這樣就可以避免因?yàn)橐粋€(gè)程序因?yàn)橐獔?zhí)行很多類操作,而造成代碼邏輯混亂,降低了穩(wěn)定性。

2.1.3 容錯(cuò)性

當(dāng)程序出現(xiàn)異常時(shí),程序本身的設(shè)計(jì)必須有一定的容錯(cuò)性,如:程序自檢、重啟等,都是提高容錯(cuò)性的設(shè)計(jì)思路。

基于以上的設(shè)計(jì)原則,對(duì)于分布式任務(wù)處理的框架設(shè)計(jì)如下:

圖1中的除了客戶端程序之外的方框顯示的就是一個(gè)完整的分布式任務(wù)處理的框架圖。

2.2 框架組成和各個(gè)部分的功能

中心服務(wù)——整個(gè)框架的核心部件,對(duì)外提供各種服務(wù)接口,對(duì)內(nèi)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問操作以及對(duì)各個(gè)任務(wù)處理服務(wù)的管理。

任務(wù)服務(wù)——任務(wù)服務(wù)與中心服務(wù)之間,通過WCF框架實(shí)現(xiàn)通信,任務(wù)服務(wù)可以根據(jù)自身配置的任務(wù)類別,通過中心服務(wù),從數(shù)據(jù)庫中取出需要處理的任務(wù)。在整個(gè)框架中,任務(wù)服務(wù)可以有多個(gè),多個(gè)任務(wù)服務(wù)可以通過配置,實(shí)現(xiàn)對(duì)同一類任務(wù)的處理,也可以實(shí)現(xiàn)對(duì)不同類任務(wù)的處理。

任務(wù)處理進(jìn)程——任務(wù)處理進(jìn)程類似于一個(gè)獨(dú)立的處理程序,是任務(wù)服務(wù)在取得待處理的任務(wù)之后,啟動(dòng)并進(jìn)行管理的。對(duì)任務(wù)的具體處理都是由任務(wù)處理進(jìn)程來完成的。同時(shí),任務(wù)處理進(jìn)程具有對(duì)數(shù)據(jù)庫進(jìn)行訪問的功能。在整個(gè)框架中,如果硬件資源足夠大的話,理論上每一個(gè)任務(wù)服務(wù)可以啟動(dòng)并管理無限個(gè)任務(wù)處理進(jìn)程。

數(shù)據(jù)庫——用來存儲(chǔ)系統(tǒng)數(shù)據(jù)的部件。

2.3 整個(gè)框架的運(yùn)行流程

在分布式任務(wù)處理的框架下,一個(gè)比較完整的運(yùn)行流程如圖2所示。

流程說明:

(1)用戶提交任務(wù)處理請(qǐng)求至中心服務(wù);

(2)中心服務(wù)將任務(wù)處理請(qǐng)求數(shù)據(jù)存入數(shù)據(jù)庫;

(3)任務(wù)服務(wù)判斷任務(wù)處理進(jìn)程是否已達(dá)最大值,若已達(dá)最大值,則等待一段時(shí)間后,再次進(jìn)行判斷,直至任務(wù)處理進(jìn)程數(shù)未達(dá)最大值,則進(jìn)入第(4)步;

(4)任務(wù)服務(wù)通過中心服務(wù),從數(shù)據(jù)庫中獲取任務(wù)數(shù)據(jù);

(5)任務(wù)服務(wù)啟動(dòng)一個(gè)新的任務(wù)處理進(jìn)程進(jìn)行任務(wù)處理;

(6)任務(wù)處理進(jìn)程根據(jù)預(yù)先設(shè)定的程序,對(duì)任務(wù)進(jìn)行處理;

(7)任務(wù)處理完畢,任務(wù)處理進(jìn)程更新數(shù)據(jù)庫;

(8)任務(wù)處理進(jìn)程將任務(wù)處理結(jié)果通知任務(wù)服務(wù)。

2.4 框架的優(yōu)點(diǎn)

這套分布式任務(wù)處理框架已經(jīng)應(yīng)用在實(shí)際的系統(tǒng)中,目前運(yùn)行非常穩(wěn)定。與傳統(tǒng)的單機(jī)軟件架構(gòu)相比,這套框架具有以下優(yōu)點(diǎn):

開發(fā)實(shí)現(xiàn)比較簡單 基于微軟提供的WCF框架的統(tǒng)一接口,整個(gè)框架的實(shí)現(xiàn)過程比較簡單。

擴(kuò)展性好 每個(gè)任務(wù)服務(wù)都是可以獨(dú)立部署的,每個(gè)任務(wù)服務(wù)的最大任務(wù)處理進(jìn)程都是可配置的,因此無論是開發(fā)新的類別的任務(wù)服務(wù),還是通過增加服務(wù)器的方式擴(kuò)大原有服務(wù)的處理能力,都是非常簡單的事情。

穩(wěn)定性和容錯(cuò)性好 整個(gè)框架的各個(gè)服務(wù)模塊都是獨(dú)立運(yùn)行的子程序,不會(huì)存在因?yàn)槟硞€(gè)服務(wù)出問題,而導(dǎo)致整個(gè)框架癱瘓,只需要重啟出問題的服務(wù)即可。

3 小結(jié)

基于面向服務(wù)思想進(jìn)行程序設(shè)計(jì)是目前軟件開發(fā)界的一個(gè)趨勢(shì),也是共識(shí),而微軟的WCF框架更使得這種框架設(shè)計(jì)思想的實(shí)現(xiàn)變得更加容易。因此,現(xiàn)在越來越多的程序設(shè)計(jì)人員會(huì)將兩者結(jié)合起來進(jìn)行框架設(shè)計(jì)工作。

參考文獻(xiàn)

[1]蔣金楠.WCF全面解析[M].北京:電子工業(yè)出版社,2013:1-7.

[2]徐雷,徐揚(yáng).WCF服務(wù)編程[M].武漢:華中科技大學(xué)出版社,2012:1-3.

作者簡介

唐亮(1982-),男,安徽省合肥市人。碩士學(xué)位。工程師,研究方向?yàn)檐浖O(shè)計(jì)。

陳向陽(1975-),男,湖北省麻城市人。大學(xué)專科學(xué)歷。工程師,研究方向?yàn)楹圹E專業(yè)。

鄭烽(1989-),男,湖北省黃州市人。大學(xué)本科學(xué)歷。初級(jí)工程師,研究方向?yàn)楹圹E專業(yè)。

作者單位

1.中國電子科技集團(tuán)公司第三十八研究所 安徽省合肥市 230088

2.安徽省公共安全應(yīng)急信息技術(shù)重點(diǎn)實(shí)驗(yàn)室 安徽省合肥市 230088

3.湖北省麻城市公安局 湖北省麻城市 438300

猜你喜歡
容錯(cuò)性擴(kuò)展性進(jìn)程
基于視覺補(bǔ)充的水稻插秧機(jī)多傳感器組合定位研究
債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
提高初中階段學(xué)生英語擴(kuò)展性閱讀能力策略分析
高中物理如何充分利用擴(kuò)展性欄目
比ITX還小華擎推首款Mini—STX主板
電腦愛好者(2016年8期)2016-04-28 20:54:47
基于認(rèn)知心理學(xué)的交互式產(chǎn)品的容錯(cuò)性設(shè)計(jì)研究
網(wǎng)絡(luò)教學(xué)平臺(tái)的擴(kuò)展性研究
基于免疫算法的高容錯(cuò)性廣域保護(hù)研究
基于多Agent的有限廣域方向比較算法與仿真實(shí)現(xiàn)
社會(huì)進(jìn)程中的新聞學(xué)探尋
连山| 商河县| 汨罗市| 临邑县| 象州县| 勐海县| 龙山县| 正蓝旗| 霸州市| 德阳市| 芮城县| 通城县| 长武县| 卢龙县| 林州市| 都昌县| 蓝山县| 绥江县| 长武县| 澄城县| 通江县| 偃师市| 怀远县| 昌都县| 安多县| 泰安市| 呼伦贝尔市| 佛学| 龙门县| 朝阳县| 独山县| 于都县| 剑河县| 金溪县| 静海县| 常宁市| 凤山市| 安图县| 伊川县| 樟树市| 北宁市|