亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web服務(wù)EAMS的性能及安全研究

        2012-07-25 06:49:26冉崇善郭貴禮
        計算機工程與設(shè)計 2012年3期
        關(guān)鍵詞:序列化數(shù)據(jù)量字節(jié)

        冉崇善,郭貴禮

        (陜西科技大學 電氣與信息工程學院,陜西 西安710021)

        0 引 言

        目前大部分企業(yè)的EAMS是采用面向組件的設(shè)計方法實現(xiàn)的,組件內(nèi)部通信大多依賴調(diào)用系統(tǒng)應(yīng)用程序接口(API)實現(xiàn),組件間處于一種緊耦合狀態(tài),系統(tǒng)后期維護及功能擴充困難重重[1]。采用Web服務(wù)構(gòu)建企業(yè)EAMS可以使企業(yè)最大限度的利用現(xiàn)有信息系統(tǒng),更易于集成和管理,更快的響應(yīng)和部署,更能重用和減少成本,更易于用戶使用。

        基于Web服務(wù)的系統(tǒng)在大數(shù)據(jù)量交互情況下有實時性能差,系統(tǒng)資源利用率低,網(wǎng)絡(luò)延遲大等固有缺陷。同時由于Web服務(wù)通信采用的SOAP協(xié)議只是一個輕量級簡單的通信協(xié)議,對數(shù)據(jù)的安全性沒有做任何處理,Web服務(wù)通信數(shù)據(jù)的安全得不到有效的保障。因此,在基于Web服務(wù)的EAMS中如何有效保障實時交互性能和數(shù)據(jù)通信安全等關(guān)鍵問題亟待解決。本文采用基于.NET框架的RemotingFormat將Web服務(wù)傳遞的數(shù)據(jù)集序列化為Binary格式,并對序列化后的字節(jié)數(shù)組進行壓縮傳輸,解決了Web服務(wù)的實時性交互問題。通過擴展SOAP消息頭,對數(shù)據(jù)及SOAP消息本身進行簽名、加密以及添加SAML控制令牌等操作有效保障了Web服務(wù)通信的端到端的消息級安全[2-7]。

        1 Web服務(wù)

        Web服務(wù)的目的是將信息和服務(wù)在Internet上實現(xiàn)提供和訪問,實現(xiàn)跨平臺的互操作性。在Web服務(wù)中,主要有4個關(guān)鍵技術(shù):XML、SOAP、WSDL、UDDI[8]。

        Web服務(wù)的體系架構(gòu)如圖1所示,服務(wù)提供者開發(fā)Web服務(wù)并定義服務(wù)描述,使用Publish操作將服務(wù)描述發(fā)布到服務(wù)注冊中心;服務(wù)請求者使用Find操作在本地或服務(wù)注冊中心檢索服務(wù)描述;根據(jù)服務(wù)描述Bind服務(wù)提供者調(diào)用所需的服務(wù)[9-12]。

        圖1 Web服務(wù)體系架構(gòu)

        2 基于Web服務(wù)的EAMS

        基于Web服務(wù)的EAMS將業(yè)務(wù)流程邏輯從具體實現(xiàn)的程序代碼中分離出來 (以業(yè)務(wù)和服務(wù)的方式區(qū)分開,業(yè)務(wù)決定做什么,服務(wù)決定怎么做),將具體的功能封裝為不同粒度的服務(wù),根據(jù)業(yè)務(wù)流程邏輯對不同的服務(wù)進行調(diào)用。此外,Web服務(wù)的標準接口使企業(yè)對遺留系統(tǒng)的集成更加簡單,將遺留系統(tǒng)封裝成具有標準接口的Web服務(wù),就可以即時地集成到 EAMS中來[13-15]。

        基于Web服務(wù)的開發(fā)技術(shù)已經(jīng)將傳統(tǒng)的軟件開發(fā)三層架構(gòu)拋棄,取而代之的是新的三層架構(gòu)即應(yīng)用層、服務(wù)層以及數(shù)據(jù)源 (DB)。用戶和表現(xiàn)層屬于應(yīng)用層,可以是Web頁面、WinForm窗體或者移動客戶端也可以是外部或接口用戶等。業(yè)務(wù)邏輯層BLL和數(shù)據(jù)訪問層DAL被封裝在服務(wù)層Services中,并以標準接口的形式發(fā)布。所有的服務(wù)都可以采用不同語言,不同平臺進行開發(fā),內(nèi)部的業(yè)務(wù)處理邏輯可以使用面向?qū)ο蟮木幊谭椒▽崿F(xiàn),系統(tǒng)在這一層次上實現(xiàn)跨平臺的無縫通信以及遺留系統(tǒng)的快速集成。數(shù)據(jù)源可以是常用關(guān)系型數(shù)據(jù)庫也可以是平臺無關(guān)的XML文件或者其它存儲有數(shù)據(jù)信息的源文件。系統(tǒng)安全、權(quán)限管理、用戶管理、系統(tǒng)日志、統(tǒng)計以及備份等系統(tǒng)功能則貫穿整個EAMS的所有層次?;赪eb服務(wù)的企業(yè)EAMS基本框架如圖2所示。

        圖2 基于Web服務(wù)的企業(yè)EAMS基本框架

        3 關(guān)鍵問題

        3.1 Web服務(wù)的實時性交互

        Web服務(wù)的實時性交互問題一直困擾著眾多服務(wù)使用者,使用Web服務(wù)構(gòu)建的系統(tǒng)實時交互性能往往較差。這是因為Web服務(wù)采用基于XML消息的信息傳輸機制。目前,大部分XML的實現(xiàn)都使用純文本的格式,導(dǎo)致數(shù)據(jù)復(fù)雜性和數(shù)據(jù)量增大。當通過Web服務(wù)傳遞較大數(shù)據(jù)量時,信息的交互和調(diào)用會產(chǎn)生延遲,導(dǎo)致系統(tǒng)在實時性交互以及系統(tǒng)性能等方面存在不足。

        在基于Web服務(wù)的EAMS中,使用.NET 2.0提供的RemotingFormat將數(shù)據(jù)集序列化為SerializationFormat.Binary格式,并對序列化后的字節(jié)數(shù)組進行壓縮,從而解決Web服務(wù)的實時性交互問題。

        在Web服務(wù)端,.NET 2.0將數(shù)據(jù)集序列化為Binary數(shù)據(jù)序列并返回壓縮后的字節(jié)數(shù)組。主要涉及兩個操作:首先將DataSet數(shù)據(jù)序列化為SerializationFormat.Binary格式字節(jié)數(shù)組,然后要對序列化后的字節(jié)數(shù)組進行壓縮并返回壓縮后的字節(jié)數(shù)組。

        將DataSet數(shù)據(jù)序列化為SerializationFormat.Binary格式字節(jié)數(shù)組的主要代碼如下:

        MemoryStream memStream=new MemoryStream ();

        IFormatter brFormatter=new BinaryFormatter ();

        dsOriginal.RemotingFormat = SerializationFormat.Binary;//為遠程處理期間使用的DataSet設(shè)置序列化格式為Binary

        brFormatter.Serialize (memStream,dsOriginal);//將dsOriginal對象序列化為提供的流memStream

        binaryDataResult= memStream.ToArray ();//將流內(nèi)容寫入字節(jié)數(shù)組binaryDataResult

        字節(jié)數(shù)組的壓縮操作主要代碼如下:

        MemoryStream ms=new MemoryStream ();//定義一個內(nèi)存流實例

        Stream ZipStream=null;//聲明一個空字節(jié)流

        ZipStream=new GZipStream (ms,CompressionMode.Compress,true);//使用指定的內(nèi)存流 ms和壓縮模式CompressionMode實例化一個GZipStream類壓縮流

        ZipStream.Write(buffer,0,buffer.Length);//向當前的壓縮流寫入字節(jié)序列buffer

        ZipStream.Close();//關(guān)閉流

        ms.Position=0;

        byte[]compress_buffer=new byte [ms.Length];//實例化一個指定長度的字節(jié)序列

        ms.Read (compress_buffer,0,int.Parse (ms.Length.ToString ()));//從 ms中讀取字節(jié)塊并寫入compress_buffer中

        在客戶端或服務(wù)調(diào)用端調(diào)用該服務(wù)時,對數(shù)據(jù)進行與服務(wù)器端相反的處理即首先要對得到的字節(jié)流進行解壓,之后再反序列化為DataSet數(shù)據(jù)集,然后再在客戶程序中進行綁定等操作。

        除上述方式之外,減少使用較長元素名和屬性名以及使用存儲過程操作數(shù)據(jù)庫也能在一定程度上提高系統(tǒng)交互性能。

        3.2 Web服務(wù)的消息安全

        在基于Web服務(wù)的開發(fā)中,Web服務(wù)通信安全是一個很重要的問題。由于Web服務(wù)是基于Internet的,傳遞的是SOAP消息,在消息安全性方面沒有提供有效保障,因此SOAP消息的安全性傳輸是基于Web服務(wù)的系統(tǒng)開發(fā)中亟待解決的關(guān)鍵問題。

        如圖3所示,在EAMS中,通過擴展SOAP消息頭,對消息進行簽名、加密以及添加控制令牌等方式來實現(xiàn)Web服務(wù)通信的端到端的消息級安全。

        圖3 SOAP消息安全處理機制

        發(fā)送端SOAP消息安全處理流程:

        (1)創(chuàng)建SOAP消息,用對稱密鑰加密SOAP中的Web服務(wù)信息,用接收端公鑰加密該對稱密鑰,并將其加到SOAP消息的<Header>中。

        (2)登錄SAML服務(wù)器獲取斷言,并將取得的SAML Token原封不動的添加到SOAP消息的<Header>中作為安全令牌。

        (3)在SOAP消息的<Header>中加入時間戳、發(fā)送者、接收者等,可對其進行擴展,加入更多的安全屬性。

        (4)利用自己的私鑰對SOAP消息進行簽名,保證信息的完整性。

        (5)將自己的認證證書加到SOAP消息中發(fā)送給接收方。

        接收端SOAP消息處理流程:

        (1)接收到SOAP消息后,定位消息中的認證證書,向XKMS服務(wù)器驗證證書的有效性。

        (2)從XKMS服務(wù)器中獲取發(fā)送端公鑰信息,驗證SOAP消息的有效性。

        (3)檢查安全屬性,判斷該消息是否被重放,是否被篡改,是否為相應(yīng)的發(fā)送者和接受者。

        (4)從SOAP<Header>中提取Token進行處理,提取SAML的認證證書,向XKMS服務(wù)器驗證證書的有效性;獲取SAML公鑰信息,驗證Token簽名判斷是否由信任的SAML簽發(fā);使用自己的密鑰解密出Token信息,采用SAML中提供的主體確定方法判斷Token所斷言的主體是否就是消息的發(fā)送方。

        (5)用自己的私鑰解密出加密用的對稱密鑰,進而解密出SOAP消息中的XACML格式的請求或者響應(yīng)。

        在消息處理過程中,發(fā)送端先對消息進行加密,再對消息進行簽名,接收端會先驗證簽名,再進行解密操作,從而提高接收端的處理效率。當簽名驗證失敗后,接收端直接返回錯誤信息,不必再進行復(fù)雜的解密操作。

        經(jīng)過安全處理后攜帶Web服務(wù)請求或響應(yīng)信息的SOAP消息實例。

        <?xml version="1.0"encoding="UTF-8"?>

        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"xmlns:saml=”…”

        xmlns:xacml=”…”xmlns:ds=”…”xmlns:wsse=”…”xmlns:xenc=”…”>

        <soap:Header>

        <wsse:Security>

        <!—SAML Token-->

        <saml:Assertion>

        <?。蒘AML簽名并且用接收端公鑰加密的身份驗證斷言信息-->

        .......

        </saml:Assertion>

        <!--加密-->

        <xenc:ReferenceList>

        <xenc:Refernce URI=”# EncryptedData”>

        </xenc:ReferenceList>

        <?。瓟?shù)字簽名-->

        <ds:Signature>

        …..

        <ds:Reference URI=”#Body”>

        …..

        </ds:Signature>

        <?。渌踩珜傩裕?/p>

        <wsu:Timestamp wsu:Id=”tst”>

        <wsu:Created>2011-05-15T10:09:43:00Z</wsu:Created>

        </wsu:Timestamp>

        ……

        </wsse:Security>

        </soap:Header>

        <soap:Body>

        <xenc:EncryptedData>

        <!--密文的Web服務(wù)請求或響應(yīng)數(shù)據(jù)-->

        ………

        </xenc:EncryptedData>

        </soap:Body

        </soap:Envelope>

        4 實時性能測試及分析

        為了驗證上述數(shù)據(jù)傳輸方式在Web服務(wù)實時數(shù)據(jù)交互中的有效性。本文分別對1000條數(shù)據(jù) (131129Byte)、10000 條 數(shù) 據(jù) (1309130Byte)、100000 條 數(shù) 據(jù)(14629132Byte)、500000 條 數(shù) 據(jù) (68139152Byte)、1000000條數(shù)據(jù) (135320569Byte)5種情況的4種傳輸方案進行數(shù)據(jù)的傳輸性能測試。其中傳輸方案1表示返回Data-Set序列化后的字節(jié)數(shù)組,文中以傳輸方案1的耗時和數(shù)據(jù)量作為基準點,傳輸方案2表示返回DataSetSurrogate序列化后的字節(jié)數(shù)組,傳輸方案3表示返回DataSetSurrogate序列化并壓縮后的字節(jié)數(shù)組,傳輸方案4表示返回.NET 2.0序列化并壓縮后的字節(jié)數(shù)組即本系統(tǒng)采用的傳輸方案。

        由于條件限制,只在本地計算機上進行了性能測試,所以數(shù)據(jù)的網(wǎng)絡(luò)傳輸時間基本可以忽略不計。測試結(jié)果見表1和表2。

        從表1中可以看出,隨著傳輸數(shù)據(jù)量的增大,4種方案傳輸耗時也都隨著增長。但是方案2和方案3在數(shù)據(jù)量較大時傳輸耗時百分比急劇增長,說明在大數(shù)據(jù)量傳輸時,只序列化未壓縮的方案2的數(shù)據(jù)傳輸時間急劇增長,而方案3中對數(shù)據(jù)的壓縮處理耗時急劇增長,兩種方案都不符合系統(tǒng)的實時性要求。而方案4隨著數(shù)據(jù)量的增大,傳輸耗時也隨之增加,但是當數(shù)據(jù)量很大時,傳輸耗時又開始保持穩(wěn)定甚至減少。說明方案4采用的壓縮算法更合理,在數(shù)據(jù)量急劇增長時,對數(shù)據(jù)的壓縮處理耗時能夠保持在一個較穩(wěn)定范圍。在傳輸50萬條數(shù)據(jù)時,方案2的耗時比方案3和方案4少,主要原因是由于本地計算機處理性能差,在對數(shù)據(jù)進行壓縮和解壓操作時耗費了大量時間。

        表1 不同數(shù)據(jù)量在4種方案下傳輸?shù)暮臅r百分比/%

        表2 不同數(shù)據(jù)量在4種方案下傳輸?shù)膲嚎s百分比/%

        從表2中可以看出,方案3對數(shù)據(jù)的壓縮性能要與方案4不相上下,但是方案3犧牲了壓縮處理時間來換取壓縮百分比上的微弱優(yōu)勢,不符合系統(tǒng)的實時性要求。而方案4在數(shù)據(jù)壓縮耗時和壓縮百分比之間獲得了很好的平衡。方案4即本系統(tǒng)采用的數(shù)據(jù)傳輸方案是最優(yōu)的,不管是在數(shù)據(jù)量較小時還是數(shù)據(jù)量很大時,該方案都有一個較為理想的耗時百分比和壓縮百分比。

        上述分析結(jié)果是在本地計算機上進行測試的,忽略了數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)臅r間。然而在一般情況下,大量數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸時間在占數(shù)據(jù)傳輸過程的主要部分,因此如果在真實的Internet網(wǎng)絡(luò)上進行傳輸性能測試,方案4的效果將會更加明顯。

        通過以上分析表明,本系統(tǒng)采用的數(shù)據(jù)傳輸方案4,在實際應(yīng)用中能夠節(jié)省數(shù)據(jù)傳輸時間30%以上,減少網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量90%以上。不管是在高性能網(wǎng)絡(luò)中還是在性能較差的網(wǎng)絡(luò)中都能有較好的實時性能,為Web服務(wù)在實時性要求比較高的系統(tǒng)中的應(yīng)用提供了一個較好的解決方案。

        5 結(jié)束語

        基于Web服務(wù)的EAMS克服了面向組件設(shè)計的內(nèi)部耦合度高,難以維護和擴充等缺點,實現(xiàn)了一種高復(fù)用、易集成管理、快速響應(yīng)部署、松耦合、跨平臺無縫通信的資產(chǎn)管理模式。本文重點探討了Web服務(wù)在構(gòu)建EAMS中的實時交互性能和服務(wù)通信安全兩大關(guān)鍵問題,并提出了合理的解決方案。測試結(jié)果表明,系統(tǒng)的實時交互性能和服務(wù)通信安全得到了有效保障。

        在基于Web服務(wù)的系統(tǒng)建設(shè)中,除了實時交互性能和服務(wù)安全之外,服務(wù)粒度的劃分、服務(wù)的組合編排等都是需要重點研究的對象,在之后的研究中將對其進行更加深入的探究。

        [1]WU Rongwei.Research and implementation of power enterprise integration EAM system based on SOA [D].Shanghai:Fudan University,2009:18 (in Chinese). [吳榮煒.基于SOA的電網(wǎng)企業(yè)集成EAM系統(tǒng)的設(shè)計與實現(xiàn) [D].上海:復(fù)旦大學,2009:18.]

        [2]Juhan Kim,Soohyung Kim,Kiyoung Moon.Design of integration security system using XML security [C].World Academy of Science Engineering and Technology,2005:136-140.

        [3]MENG Wei,ZHANG Jing,LI Junhuai,et al.Research and implementation of a web services security model[J].Computer Engineering and Application,2006,42 (26):134-136 (in Chinese).[孟偉,張璟,李軍懷,等.Web服務(wù)安全模型研究與實現(xiàn)[J].計算機工程與應(yīng)用,2006,42 (26):134-136.]

        [4]CHENG Zhan,XIE Li.Web services security mechanism and security technology [J].Computer Application and Software,2008,25(10):16-18 (in Chinese).[程瞻,謝立.Web服務(wù)安全機制和安全技術(shù) [J].計算機應(yīng)用與軟件,2008,25 (10):16-18.]

        [5]LIU Zhidu,JIA Songhao,ZHAN Shihua.Research and application of SOAP security [J].Computer Engineering,2008,34 (5):142-144 (in Chinese). [劉志都,賈松浩,詹仕華.SOAP協(xié)議安全性的研究與應(yīng)用 [J].計算機工程,2008,34(5):142-144.]

        [6]HAN Tao,GUO Heqing.Research and implementation of a web services secure model[J].Computer Engineering,2006,32 (10):130-134(in Chinese).[韓濤,郭荷清.Web服務(wù)安全模型的研究與實現(xiàn) [J].計算機工程,2006,32 (10):130-134.]

        [7]IBM.Introduction to security assertion markup language(SAML)and SAML support in IBM web sphere application server version 7.0Fix Pack 7 [S].IBM WebSphere Web Services Security Development Software Group,2009.

        [8]TU Xiaoyun.Design and implementation of data exchanging based on web service [D].Beijing:Beijing University of Chemical Technology,2007:6-15 (in Chinese).[屠曉云.基于 Web Service的數(shù)據(jù)交換設(shè)計與實現(xiàn) [D].北京:北京化工大學,2007:6-15.]

        [9]XIE Hui,QIU Jinlun,SUN Fei.Research and design of Web Service with concurrency technology [J].Computer Engineering and Design,2008,29 (21):5483-5486 (in Chinese). [謝輝,邱錦倫,孫斐.基于并發(fā)技術(shù)的 Web Service的設(shè)計與研究 [J].計算機工程與設(shè)計,2008,29 (21):5483-5486.]

        [10]CHEN Liguo,WANG Yanping.Research of service oriented architecture[J].Computer Knowledge and Technology,2009,5 (3):549-551 (in Chinese).[陳利國,王艷萍.面向服務(wù)體系架構(gòu)的研究 [J].電腦知識與技術(shù),2009,5 (3):549-551.]

        [11] WANG Yuanfan.Research on SOA of web services center[J].Journal of Ningde Teachers College,2010,22 (1):6-8(in Chinese). [王遠帆.以 Web服務(wù)為中心的SOA研究[J].寧德師專學報,2010,22 (1):6-8.]

        [12]LV Hong-wei.Discussion of the web service technology in the SOA [J].Network and Communication,2010,22 (4):75-78 (in Chinese).[呂宏偉.SOA體系結(jié)構(gòu)中的 Web Service技術(shù) [J].電腦編程技巧與維護,2010,22 (4):75-78.]

        [13]RAN Chongshan,WANG Rui.Design and research of middlewarebased power industry asset management system [J].Computer Technology and Development,2008,18 (2):194-196 (in Chinese).[冉崇善,王瑞.電力企業(yè)EAM中間件系統(tǒng)的研究與設(shè)計 [J].計算機技術(shù)與發(fā)展,2008,18 (2):194-196.]

        [14]TANG Li. Design and development of enterprise asset management system [J].Power System Engineering,2009,25 (5):59-62 (in Chinese).[唐麗.電力企業(yè)資產(chǎn)管理系統(tǒng)(EAM)設(shè)計及開發(fā) [J].電站系統(tǒng)工程,2009,25 (5):59-62.]

        [15]YANG Lin,HE Xixu,WU Gaofeng,et al.Research and design of EAM system based on workflow technology [J].Micro-Computer Information,2009,25 (7-3):6-8 (in Chinese). [楊林,赫熙煦,吳高峰,等.基于工作流技術(shù)的EAM系統(tǒng)的研究與設(shè)計 [J].微計算機信息,2009,25 (7-3):6-8.]

        猜你喜歡
        序列化數(shù)據(jù)量字節(jié)
        No.8 字節(jié)跳動將推出獨立出口電商APP
        基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
        計算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
        高刷新率不容易顯示器需求與接口標準帶寬
        如何建構(gòu)序列化閱讀教學
        甘肅教育(2020年14期)2020-09-11 07:58:36
        寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計與研究
        電子制作(2019年13期)2020-01-14 03:15:18
        No.10 “字節(jié)跳動手機”要來了?
        簡談MC7字節(jié)碼
        Java 反序列化漏洞研究
        作文訓練微格化、序列化初探
        語文知識(2015年12期)2015-02-28 22:02:15
        国产亚洲精品久久777777| 日韩精品综合在线视频| 午夜免费观看日韩一级片| 日本动漫瀑乳h动漫啪啪免费| 一本一道久久综合狠狠老| 超碰Av一区=区三区| 东京热东京道日韩av| 亚洲欧美中文日韩在线v日本| 亚洲第一se情网站| 久久国产亚洲高清观看5388| 中日av乱码一区二区三区乱码| 99久久久无码国产精品动漫| 亚洲伊人伊成久久人综合| 国产精品成人av一区二区三区| 日韩av无码久久一区二区| 国产高潮刺激叫喊视频| 中日av乱码一区二区三区乱码| 毛片一级精油按摩无码| 一本色道久久88加勒比综合| √天堂中文官网在线| 后入内射欧美99二区视频| 婷婷九月丁香| 综合久久久久6亚洲综合| 熟女少妇精品一区二区三区| 久久久精品视频网站在线观看| 中文字幕丰满伦子无码| 国产精品美女久久久浪潮av| 亚洲AV手机专区久久精品| 亚洲第一女人的天堂av| 乱人妻中文字幕| 又黄又爽又色的视频| 亚洲AV无码一区二区三区ba| 长腿丝袜在线观看国产| 久久99精品久久久久久琪琪| www国产亚洲精品久久网站| 国产在线丝袜精品一区免费| 日本激情网址| 免费视频亚洲一区二区三区| 国产二区交换配乱婬| 波多野结衣有码| 女同同成片av免费观看|