999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WCF技術(shù)構(gòu)建分布式數(shù)據(jù)服務(wù)

2013-04-13 08:21:52楊遠超
鐵道勘察 2013年5期
關(guān)鍵詞:數(shù)據(jù)庫服務(wù)設(shè)計

楊遠超

(中鐵第一勘察設(shè)計院集團有限公司, 陜西西安 710043)

1 鐵路勘測設(shè)計數(shù)據(jù)的分類與組織

在鐵路勘測設(shè)計過程中,除了少部分的描述性文本資料外,各專業(yè)的文件大都可以用地理坐標系和線路坐標系來標識。以地理坐標系來描述的成果多為勘測類數(shù)據(jù),如各類控制點、地形圖、地質(zhì)圖等,這些數(shù)據(jù)的空間特性需要二維或三維坐標來描述。以線路坐標系來描述的成果多為專業(yè)設(shè)計數(shù)據(jù),與鐵路相關(guān)的數(shù)據(jù)的空間特性轉(zhuǎn)化為沿鐵路線的一維標識(即線路里程)。通過線路曲線和斷鏈信息,可以將勘測設(shè)計成果數(shù)據(jù)在地理坐標系和線路坐標系間轉(zhuǎn)換,坐標轉(zhuǎn)換需要考慮地理坐標系的分帶和線路坐標系的所屬方案等問題。

將一條鐵路線的勘察設(shè)計定義為一個項目,以方案和坐標為關(guān)鍵字來建立各專業(yè)數(shù)據(jù)庫,各專業(yè)數(shù)據(jù)庫間的數(shù)據(jù)接口參照正式頒布的數(shù)據(jù)接口標準來建立。某個專業(yè)一旦完成某項工作,就將結(jié)果存入數(shù)據(jù)庫,同時發(fā)布消息,通知后續(xù)專業(yè)使用。專業(yè)數(shù)據(jù)可抽象為文件類和表格類數(shù)據(jù)。文件類數(shù)據(jù)是指以各種文件格式存儲的專業(yè)勘測設(shè)計數(shù)據(jù),包括各類圖片、圖形、文本、電子表格文件,這類數(shù)據(jù)在數(shù)據(jù)庫中都以BLOB對象進行存儲,導(dǎo)入數(shù)據(jù)庫時將文件轉(zhuǎn)換為二進制數(shù)據(jù)流,獲取數(shù)據(jù)時將其還原為對應(yīng)格式的文件。表格類數(shù)據(jù)是指在專業(yè)數(shù)據(jù)庫中以數(shù)據(jù)庫表格形式存儲的數(shù)據(jù),可使用SQL語言直接解析數(shù)據(jù)的全部屬性。數(shù)據(jù)分類與組織如圖1所示。

圖1 鐵路協(xié)同設(shè)計平臺的數(shù)據(jù)分類與組織

2 WCF技術(shù)簡介

WCF(Windows Communication Foundation)是微軟公司為構(gòu)建面向服務(wù)的應(yīng)用提供的分布式通信編程框架,可以用它構(gòu)建跨平臺,安全、可靠和支持事務(wù)處理的企業(yè)級互聯(lián)應(yīng)用解決方案。其基礎(chǔ)的技術(shù)架構(gòu)如圖2所示。

圖2 WCF技術(shù)架構(gòu)

如圖2所示,WCF服務(wù)端向客戶端提供一些可用的功能,如服務(wù)1、2、3,WCF客戶端通過終結(jié)點來訪問WCF服務(wù),一個服務(wù)端至少要提供一個終結(jié)點供客戶端使用。服務(wù)端的終結(jié)點,由“ABC”構(gòu)成,Address(地址)解決在哪里找到服務(wù)的問題;Binding(綁定)解決如何與服務(wù)進行通訊的問題;Contract(契約)解決服務(wù)是一些什么內(nèi)容的問題。

一個WCF服務(wù)需要在一個可運行的程序中寄宿,可以把宿主理解為WCF運行的容器。在客戶端訪問服務(wù)之前,服務(wù)必須通過宿主程序發(fā)布出來。常用的WCF寄宿方式包括:自寄宿、IIS寄宿、Windows激活服務(wù)、Windows服務(wù)。根據(jù)面向服務(wù)的原則,激活和宿主類型的變化不會影響服務(wù)本身的特性和外部對該服務(wù)的訪問,這樣就可以根據(jù)實際部署的需要靈活選用各類寄宿方式。在實際應(yīng)用中,以IIS寄宿類型居多,本文將也以IIS宿主程序為例,介紹如何構(gòu)建分布式數(shù)據(jù)服務(wù)。

3 分布式數(shù)據(jù)服務(wù)的建立

3.1 建立數(shù)據(jù)服務(wù)端程序

首先以管理員身份啟動Microsoft Visual Studio 2010程序(操作系統(tǒng)為 Windows Server 2008),點擊文件—新建—項目,打開一個對話框,在左側(cè)的模板中選擇編程語言(如Visual C#),然后選擇“WCF”,在隨后出現(xiàn)的類型中選擇“WCF服務(wù)程序”,依次填入項目的名稱、項目文件路徑和解決方案名稱,最后點擊“確定”,創(chuàng)建一個WCF服務(wù)程序。

然后按照微軟的推薦做法,先在形如IServiceRealScene.cs(RealScene為項目名稱)的文件中定義數(shù)據(jù)服務(wù)的接口(IServiceRealScene)和數(shù)據(jù)契約。如本項目中定義了項目、分帶坐標系、方案、專業(yè)、存儲格式、線路曲線、斷鏈、坡度、設(shè)計標準類型、設(shè)計標準等數(shù)據(jù)類型,用作接口服務(wù)的參數(shù)定義。服務(wù)接口程序的定義則根據(jù)需要訂制,可以自由選擇其參數(shù)和返回值類型。如示例項目就定義了從總服務(wù)器查詢專業(yè)數(shù)據(jù)的注冊信息以及根據(jù)注冊信息索引從專業(yè)數(shù)據(jù)庫提取、更新數(shù)據(jù)的各類服務(wù)。在定義的數(shù)據(jù)服務(wù)中,如果需要返回一個通用的xml文檔(即System.Xml.XmlDocument類型),則需要在接口定義前加上形如[XmlSerializerFormat]字樣的標記,否則客戶端程序?qū)⒉荒苷_識別接口,導(dǎo)致程序編譯錯誤。需要特別說明的是,如果編寫的服務(wù)要實現(xiàn)分布式事務(wù),在不同的數(shù)據(jù)庫中提交數(shù)據(jù)更改,則在定義服務(wù)接口時需要在接口定義前加上[TransactionFlow(TransactionFlowOption.Allowed)]字樣的標記,表示服務(wù)操作愿意接受來自客戶端的傳入事務(wù)。

最后,打開形如ServiceRealScene.svc(RealScene為項目名稱)的文件,在其中編寫數(shù)據(jù)服務(wù)接口的實現(xiàn)代碼,在上一步驟中定義的每一個數(shù)據(jù)服務(wù)接口都必須在此實現(xiàn)。給繼承自接口IServiceRealScene的類ServiceRealScene加上[ServiceBehavior(Instance ContextMode=InstanceContextMode.PerCall,Concurrency Mode=ConcurrencyMode.Multiple)]字樣的標記,用來指示其服務(wù)行為中的實例控制、并發(fā)控制模式。服務(wù)端實例控制采用了PerCall實例策略,每個客戶端的請求消息都會被分發(fā)到一個新的服務(wù)實例上。而一旦這個調(diào)用返回后,服務(wù)實例則會被銷毀。并發(fā)控制模式為Multiple,表示W(wǎng)CF不會主動為服務(wù)操作添加任何鎖,每個操作都允許客戶端多個請求同時訪問,這樣做的好處是提高了系統(tǒng)的運行效率,防止消息被阻塞。實現(xiàn)接口服務(wù)的類函數(shù)必須與接口服務(wù)函數(shù)名相同,參數(shù)一致,并且設(shè)置為公眾函數(shù)public供客戶端調(diào)用。同樣,若要實現(xiàn)分布式事務(wù),則應(yīng)將前面所述的并發(fā)控制模式應(yīng)為Single模式,即ConcurrencyMode=ConcurrencyMode.Single,并在要實現(xiàn)事務(wù)處理的函數(shù)加上[OperationBehavior(TransactionScopeRequired=true)]字樣的標記,表示此函數(shù)在執(zhí)行時需要事務(wù)范圍。

3.2 發(fā)布數(shù)據(jù)服務(wù)

在VS 2010程序的“解決方案管理器”中選擇建立WCF服務(wù)程序,點右鍵選擇“屬性”選項,在打開的頁面中選擇“Web”,選中“使用本地IIS Web服務(wù)器”,點擊“創(chuàng)建虛擬目錄”,則在本地的IIS Web服務(wù)器創(chuàng)建了一個與項目名相同的網(wǎng)站。啟動本地Internet信息服務(wù)(IIS)管理器,在左側(cè)的網(wǎng)站列表中點擊這個網(wǎng)站,然后雙擊其“目錄瀏覽”圖標,在打開的頁面右側(cè)的“操作”欄點擊“啟動”,打開網(wǎng)站目錄瀏覽的功能,完成數(shù)據(jù)服務(wù)的發(fā)布。

3.3 客戶端的服務(wù)引用

在客戶端建立控制臺應(yīng)用程序或Windows窗體應(yīng)用程序,在界面右側(cè)的“解決方案資源管理器”中右鍵點擊“引用”目錄,選擇“添加服務(wù)引用”,在彈出的對話框“地址”欄中輸入服務(wù)的發(fā)布地址(可通過運行WCF服務(wù)端程序,點擊打開網(wǎng)頁后綴名為SVC的鏈接,則打開的網(wǎng)址即為服務(wù)地址,非本地引用時需要將其localhost字樣換為服務(wù)器所在的IP地址即可),點擊“前往”按鈕,則找到對應(yīng)的服務(wù),在“命名空間”欄輸入客戶端引用服務(wù)的名稱,點擊“確定”按鈕,則成功添加服務(wù)引用,如圖3所示。

圖3 客戶端引用數(shù)據(jù)服務(wù)

添加服務(wù)引用后,在客戶端就可以通過代理直接使用服務(wù)端發(fā)布的數(shù)據(jù)服務(wù),實現(xiàn)所需的數(shù)據(jù)發(fā)布與更新功能。

4 結(jié)束語

WCF技術(shù)本身具有很好的兼容性,可以在不改變鐵路設(shè)計各專業(yè)既有后臺數(shù)據(jù)的情況下,以專業(yè)間的數(shù)據(jù)交換標準為參照,通過服務(wù)接口的定義和發(fā)布,實現(xiàn)數(shù)據(jù)的分發(fā)與共享,完成專業(yè)間的協(xié)同設(shè)計。當(dāng)然,由于鐵路設(shè)計本身的復(fù)雜性和專業(yè)協(xié)同的要求,對數(shù)據(jù)服務(wù)權(quán)限、數(shù)據(jù)版本的控制以及在用戶并發(fā)量上升時如何保證服務(wù)的可靠性和有效性,這些都需要通過對系統(tǒng)的精心設(shè)計和嚴格測試,才能使建立的分布式數(shù)據(jù)服務(wù)達到應(yīng)用的要求。

[1]布斯塔曼特(Micbele Leroux Bustamance)(著),龐引明、侯伯薇(譯).學(xué)習(xí)WCF從原理到實踐[M].北京:電子工業(yè)出版社,2008

[2]吳清壽.基于WCF的分布式系統(tǒng)模型研究與實現(xiàn)[J].吉林師范大學(xué)學(xué)報(自然科學(xué)版),2012(3)

[3]李雪東.基于WCF面向服務(wù)架構(gòu)的研究與應(yīng)用[D].長春:長春理工大學(xué),2009

[4]汪享慶.鐵路勘測設(shè)計協(xié)同設(shè)計探討[J].交通與計算機,2008(1)

[5]石紅兵,鄭云,曾學(xué)貴.勘測設(shè)計一體化軟件開發(fā)過程中數(shù)據(jù)庫的設(shè)計[J].鐵道工程學(xué)報,2000(2)

[6]彭先寶.鐵路勘測設(shè)計一體化系統(tǒng)開發(fā)策略分析[J].鐵道勘察,2008(2)

猜你喜歡
數(shù)據(jù)庫服務(wù)設(shè)計
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
瞞天過海——仿生設(shè)計萌到家
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国模私拍一区二区| 中文精品久久久久国产网址| 麻豆精品在线播放| 少妇极品熟妇人妻专区视频| 国产农村1级毛片| 亚洲欧美日韩动漫| 国产男女免费完整版视频| 亚洲天堂网视频| 人妻夜夜爽天天爽| 亚洲成人精品久久| 午夜欧美在线| 免费看a级毛片| 亚洲av综合网| 欧美性久久久久| 亚洲高清中文字幕| 免费看一级毛片波多结衣| 欧美日韩资源| 欧洲亚洲欧美国产日本高清| 免费人成视频在线观看网站| 凹凸国产熟女精品视频| 亚洲精品手机在线| 四虎成人在线视频| 欧美色香蕉| 国产精品亚洲一区二区三区在线观看| 国产成人精品18| 精品国产Av电影无码久久久| 97超爽成人免费视频在线播放| 亚洲欧美日本国产专区一区| yjizz视频最新网站在线| 999国内精品久久免费视频| 国产精品30p| 在线看片国产| 国产JIZzJIzz视频全部免费| 欧美激情第一区| 亚洲男人的天堂在线| 久久精品一品道久久精品| 波多野结衣一区二区三区四区视频| 91综合色区亚洲熟妇p| 九九久久99精品| 日本一区高清| 91精品国产丝袜| 激情亚洲天堂| 综合天天色| 人人妻人人澡人人爽欧美一区| 久久香蕉国产线看观| 国产综合欧美| 尤物成AV人片在线观看| 久久黄色免费电影| 免费人成视频在线观看网站| 日韩欧美国产三级| 99视频有精品视频免费观看| 久久国产乱子伦视频无卡顿| 中文字幕永久视频| 国产成人无码播放| 欧美综合激情| 国产毛片高清一级国语 | 亚洲不卡影院| 高潮爽到爆的喷水女主播视频| 国产午夜无码片在线观看网站| 欧美成人怡春院在线激情| 91在线国内在线播放老师| 午夜电影在线观看国产1区| 丁香六月综合网| 亚洲欧美精品一中文字幕| 99热在线只有精品| 国内精品久久人妻无码大片高| 日本91在线| 亚洲综合色区在线播放2019| 性欧美久久| 国产在线八区| 亚洲成a人片在线观看88| 亚洲成年网站在线观看| 99久久精品无码专区免费| 91毛片网| 55夜色66夜色国产精品视频| 国产精品伦视频观看免费| 国内熟女少妇一线天| 亚洲国产综合第一精品小说| 国产福利小视频在线播放观看| 试看120秒男女啪啪免费| 国产午夜在线观看视频| 国产精品xxx|