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

        ?

        基于移動通信的文件共享中間件

        2011-02-09 01:57:54趙雪梅
        制造業(yè)自動化 2011年5期
        關(guān)鍵詞:文件共享文件名代理服務(wù)器

        趙雪梅

        (鹽城工學(xué)院 計算機(jī)基礎(chǔ)中心,鹽城 224001)

        0 引言

        基于移動通信的文件共享中間件,是建立在移動Agent平臺、Aglet系統(tǒng)上的文件共享中間件。移動Agent就是一個能在異構(gòu)網(wǎng)絡(luò)中自主地從一臺主機(jī)遷移到另一臺主機(jī),并可與其他Agent或資源交互的程序。 移動Agent技術(shù)是分布式技術(shù)和Agent技術(shù)相結(jié)合的產(chǎn)物。中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,它是在每個主機(jī)上都運(yùn)行的一個Agent Server,Agent可以訪問這個Server,通過文件名(URN)來發(fā)出請求,然后在本地的文件系統(tǒng)中存放,用關(guān)鍵字查詢文件等等。高層次的應(yīng)用程序建筑于這個中間件(Middleware)之上,如使用設(shè)計者的工具,實(shí)用程序的索引,搜索存貯在網(wǎng)頁上的信息。本文通過上述原理對文件共享中間件進(jìn)行了設(shè)計與運(yùn)行。

        1 文件共享中間件的設(shè)計

        本文運(yùn)用移動Agent理論進(jìn)行文件共享中間件的設(shè)計。設(shè)計分為三個部分:中間件系統(tǒng)構(gòu)架設(shè)計,中間件系統(tǒng)功能設(shè)計和安全性設(shè)計。

        1.1 中間件系統(tǒng)構(gòu)架設(shè)計

        圖1是某臺主機(jī)上的中間件系統(tǒng)框架設(shè)計,右框?yàn)閬碓L的Agent,到達(dá)后Aglet平臺與其代理對話,由平臺檢查來訪Agent的操作權(quán)限,并獲取查詢信息。Aglet平臺如果在本機(jī)資源中查找到要求的信息,就派生Agent代理與來訪者對話并執(zhí)行相關(guān)操作。從而避免來訪者直接對本級資源進(jìn)行操作。

        圖1 中間件系統(tǒng)框架

        1.2 中間件系統(tǒng)功能設(shè)計

        1.2.1 共享申請功能設(shè)計

        共享申請功能是中間件系統(tǒng)的基礎(chǔ)。要實(shí)現(xiàn)中間件系統(tǒng)功能,首先就要實(shí)現(xiàn)共享的申請,將本地機(jī)器的共享申請發(fā)送給目標(biāo)機(jī)器,例如talk程序,即可以在兩臺不同機(jī)器上實(shí)現(xiàn)聊天。作者計劃在此程序上進(jìn)行設(shè)計,將共享的申請借此傳輸給目標(biāo)機(jī)器,然后中間件系統(tǒng)就可以在接到申請以后,繼續(xù)進(jìn)行文件查詢功能和文件傳輸功能,從而實(shí)現(xiàn)文件的共享。

        1.2.2 文件查詢功能設(shè)計

        接到本地機(jī)器的文件共享申請,下一步工作就是在目標(biāo)機(jī)器上進(jìn)行所要求共享的目標(biāo)文件的查詢。

        文件的目錄結(jié)構(gòu)是樹形結(jié)構(gòu),樹中的葉子節(jié)點(diǎn)是真實(shí)文件或者虛擬文件(即文件夾),非葉子節(jié)點(diǎn)就是文件夾。

        本地機(jī)器把將共享的文件名在共享申請功能完成后傳送給了目標(biāo)機(jī)器,目標(biāo)機(jī)器接受此文件名之后在共享的文件夾中尋找此文件,實(shí)現(xiàn)文件查詢。

        文件共享中間件查詢過程中,目標(biāo)機(jī)器先把需要共享的文件名與目標(biāo)機(jī)器上的共享文件夾先進(jìn)行判斷,如果是非葉子節(jié)點(diǎn),則不進(jìn)行比較,直接進(jìn)入該文件夾,然后在文件夾中尋找真實(shí)文件或者虛擬文件,將真實(shí)文件的文件名與需要共享的文件名進(jìn)行比較,如果是相等的,則查詢成功,進(jìn)入臨時空間的創(chuàng)建和文件的傳輸功能。如果是不相等的,則返回查詢失敗。如果真實(shí)文件均與需要共享的文件不是同一文件,那么則進(jìn)入虛擬文件,也就是文件夾,繼續(xù)進(jìn)行上面的操作。

        以上操作,就是對文件的樹形目錄結(jié)構(gòu)進(jìn)行遍歷,遍歷目標(biāo)機(jī)器上共享的文件夾中的文件,將目標(biāo)機(jī)器上共享文件夾中的真實(shí)文件的文件名與本地機(jī)器要求共享的文件的文件名進(jìn)行比較,如果相等,則查詢成功,如果均不相等,則查詢失敗,也即目標(biāo)機(jī)器沒有本地機(jī)器所要求共享的文件[1]。

        1.2.3 臨時空間與文件傳輸設(shè)計

        代理找到匹配的文件之后,傳回文件才能實(shí)現(xiàn)主機(jī)的要求。中間件實(shí)現(xiàn)的是通過代理,主機(jī)不能在本機(jī)上直接訪問文件資源,如果直接在文件所在的位置操作,則達(dá)不到這個目的。所以代理在判斷主機(jī)是否擁有傳回的權(quán)限之后,如果得到的結(jié)果為真,開辟一個臨時空間,允許主機(jī)接觸臨時文件夾,避免了文件原件被用戶惡意刪改。中間件把查找到的文件復(fù)制到臨時空間,遵照FTP傳輸協(xié)議,將放在臨時文件夾中的復(fù)制文件傳到主機(jī)的指定位置,傳輸結(jié)束主機(jī)發(fā)回一個信息,完成傳輸后代理將復(fù)制文件刪除。則這次共享請求成功結(jié)束。

        1.3 方案的安全性設(shè)計

        1.3.1 對服務(wù)器資源的受限訪問

        由于允許未知的和不信任端來的Agent在主機(jī)上執(zhí)行,主機(jī)節(jié)點(diǎn)的資源就受到各種攻擊的威脅。威脅包括竊取敏感信息,破壞主機(jī)資源,拒絕給客戶機(jī)或Agents提供服務(wù)和匿名攻擊等。因此,主機(jī)系統(tǒng)的各種資源需要受到保護(hù)以免受到惡意Agents的攻擊。同時,合法的Agents必須能以受限的方式訪問這些資源,所以他們不得超越他們的權(quán)限(不管是意外的還是惡意的)。因此,我們需要制定這樣一種機(jī)制:允許Agent服務(wù)器提供Agents和資源之間在安全的語言層的綁定。每一種資源必須允許定義它們自己的安全策略并控制自己的執(zhí)行。需要注意的系統(tǒng)級問題是:將Agents綁定到資源,授權(quán)和實(shí)施存取控制[2]。

        Agent服務(wù)器必須給Agent程序和服務(wù)器資源提供一種語言層的綁定。有幾種方法能實(shí)現(xiàn)這種受保護(hù)的綁定:

        第一種方法是為Agent提供它請求資源的索引,用安全管理器監(jiān)視所有對資源的訪問,就像系統(tǒng)級資源被保護(hù)的那樣。這就要求每個資源開發(fā)者去擴(kuò)展或修改安全管理器,限制使用資源管理器給系統(tǒng)資源提供一般的保護(hù)。

        第二種建立受限訪問的方法是使用代理對象。當(dāng)一個Agent第一次請求訪問一個資源,服務(wù)器查詢安全策略,并創(chuàng)建一個資源代理,該代理是一個對象,有到資源的安全接口。如果這個Agent不可信任,資源的特定操作就不可用。為每個Agent都創(chuàng)建了獨(dú)立的代理,Agent僅有到代理的索引,它的受限接口保證了agent僅能以安全方式訪問資源。

        第三種方法是每個資源都被封裝在一個包裝對象中得到保護(hù)。Agent僅有到包裝的索引而不能繞過它們直接訪問資源。包裝接受訪問資源的請求并確定是否允許基于客戶機(jī)身份的訪問。

        1.3.2 基于代理服務(wù)器方法的設(shè)計

        Agent不能直接訪問資源——我們提出在資源和它的客戶(即Agents)之間插入一個代理服務(wù)器(中間件)。當(dāng)一個Agent發(fā)出一個訪問資源的請求時,服務(wù)器返回一個代理服務(wù)器對象作為替代,該代理服務(wù)器包含了對實(shí)際資源的私有索引。對于每個定義的應(yīng)用資源類,也必須定義相關(guān)的代理服務(wù)器類。代理服務(wù)器類實(shí)現(xiàn)了如資源器所代表的相同的接口。然而,在代理服務(wù)器的創(chuàng)建過程中,一些接口方法可能會不可用,這主要基于它的安全策略和客戶Agent的證書。對于許可的方法,主要是代理服務(wù)器通過嵌入資源傳遞調(diào)用。如果Agent不允許調(diào)用這個方法,就拋出安全異常。由于Agent只有到代理服務(wù)器的索引,這個受限的接口保證了Agent只能通過策略允許的方法訪問資源。如果合適的話,盡管嵌入式資源能被共享,但還是為每個Agent都創(chuàng)建單獨(dú)的代理服務(wù)器[3~5]。

        1.3.3 方案的安全性討論

        為保護(hù)這些威脅并確保該方案的完整性,我們引入了一些額外的規(guī)則—基于Java的安全模型。

        代理服務(wù)器包含到資源對象的嵌入的索引,Agent可能會繞過代理服務(wù)器的存取控制檢查,直接(或通過映像)去調(diào)用該對象。在這種情況下Agent服務(wù)器試圖保護(hù)自己的資源,那么有理由假定Java虛擬機(jī)執(zhí)行Agent代碼時尊重私有的申明,并拒絕讓Agent直接訪問嵌入的索引。為防止這種情況發(fā)生,我們借助Java的封裝機(jī)制,把嵌入資源的索引設(shè)為私有的形式。

        如果代理服務(wù)器對象能夠配合另一類型重新申明私有索引為公有的索引或者使每種方法都繞過存取控制檢查,那么Agent無須授權(quán)就能訪問資源。但是,在我們的方案中,我們制定這樣的規(guī)則:代理服務(wù)器類除了Java的基類Object外沒有例外。因此,Java虛擬機(jī)不允許Agent將代理服務(wù)器實(shí)例typecast到其他任何類。

        一個惡意的Agent可以串行化一個代理,發(fā)送字節(jié)流到協(xié)同工作的Agent服務(wù)器,并用一個偽代理類反串行字節(jié)流,從而暴露基本的資源。為防止這種情況發(fā)生我們強(qiáng)加這樣的規(guī)則:代理類內(nèi)的資源索引必須申明為瞬時狀態(tài)。Java不包括對象串行化產(chǎn)生的字節(jié)流的瞬態(tài)索引。因此,資源對象就不會被復(fù)制到攻擊者的站點(diǎn)上。

        遵守正確的協(xié)議而獲得了代理服務(wù)器的Agent,可能會嘗試著去克隆它。由于在Java里的克隆相當(dāng)于淺復(fù)制(shallow copy)操作,不會導(dǎo)致基本的資源的克隆。

        2 文件共享中間件的實(shí)施

        接下來我們就將依據(jù)上述的設(shè)計來對實(shí)現(xiàn)文件共享中間件。實(shí)現(xiàn)文件共享中間件主要就是實(shí)現(xiàn)中間件系統(tǒng)的功能、網(wǎng)絡(luò)共享的申請、文件的查詢以及文件的傳輸。下面介紹中間件代碼的實(shí)現(xiàn),并展示部分系統(tǒng)界面。

        2.1 中間件系統(tǒng)的實(shí)現(xiàn)

        2.1.1 網(wǎng)絡(luò)共享的申請

        首先主機(jī)人為輸入請求共享的文件名,Aglet將其作為消息存放在子Aglet當(dāng)中,以便帶到遠(yuǎn)程的機(jī)器上提供給中間件查找關(guān)鍵字。

        public void sendText(String text) {

        try {

        masterProxy.sendMessage(new Message("text",name + " : " + text));

        }

        }

        接著以目的地地址為參數(shù),派送子Aglet,完成申請階段的工作。

        2.1.2 文件的查詢

        函數(shù) IsFileExist(String Response,File dic,String fileName)

        它包括三個參數(shù)和兩個主要功能:

        Response:查找文件的結(jié)果,分為“succeed”、“fail”兩種,并且默認(rèn)值為“fail”。

        Dic:共享目錄的地址,主機(jī)將可以共享的資源均放在這個目錄下面。

        filename:要求共享的文件名,由Aglet帶來。

        名稱與請求共享的文件名相同,則返回真。如果不匹配,返回假,如果這一級為目錄名稱,則遍歷下一級子目錄或者文件。如此嵌套直至返回結(jié)果,完成查詢。

        2.1.3 文件傳輸?shù)膶?shí)現(xiàn)

        首先介紹FTP傳輸類FTPTrans。

        Public FTPTrans(){

        //在兩臺主機(jī)之間建立連接

        Public Boolean getConnection(host,user,passwor d);

        //開始文件傳輸

        public Boolean putFile(destination, filename);

        }

        接著在子Aglet中的run方法里調(diào)用該類,查詢成功復(fù)制文件并傳輸:

        FTPTrans ftp=new FTPTrans();

        //創(chuàng)立對象

        ftp.getConnect(dest,user,password);

        //由文件所在的主機(jī)執(zhí)行傳輸,指定文件名和目文件夾

        文件流開始傳輸。

        TelnetOutputStream outStream = null;

        buf.setLength(0);

        try{

        File f = new File(d + fn);

        RandomAccessFile file = new Random-AccessFile(f,"rw");

        //給指定傳輸?shù)奈募O(shè)定讀寫權(quán)限

        outStream = myFtp.put(fn);

        byte [] b = new byte[(int)f.length()];file.read(b);

        outStream.write(b);

        file.close();

        //文件流傳輸結(jié)束

        outStream.close();

        }

        2.2 中間件系統(tǒng)的界面

        軟件演示在兩臺工作站之間進(jìn)行,由于UNIX環(huán)境下截圖困難,故暫時以PC上的演示界面代替。

        第一步:啟動Aglet平臺,如果在一臺機(jī)器上演示,以不同端口號啟動兩個Aglet窗口。

        圖2 Agent窗口

        第二步:在一個窗口創(chuàng)建Search的主Aglet,它包括地址簿,對話框,查找輸入框。

        圖3 主Aglet窗口

        第三步:選擇目標(biāo)地址,發(fā)送請求共享的SlaveAglet,到達(dá)后主動生成一個主Aglet。

        第四步:如果在目標(biāo)主機(jī)查找成功,返回“succeed”,并且開始傳輸。

        圖4 SlaveAglet發(fā)送及生成

        圖5 查找成功

        傳輸結(jié)束后,請求共享的主機(jī)的指定目錄下會看到要求共享的文件,而目標(biāo)主機(jī)下臨時文件夾中的文件會自動刪除,此次任務(wù)結(jié)束,派送的Aglet釋放。

        3 結(jié)論

        基于移動通信的文件共享中間件是個很復(fù)雜的系統(tǒng),本文從理論上設(shè)計了這個基于移動通信的中間件系統(tǒng),包括文件服務(wù)器,Aglet平臺,透明代理服務(wù),操作權(quán)限限制,訪問以及文件臨時復(fù)制傳輸。但在實(shí)現(xiàn)的時候僅僅完成了一部分內(nèi)容,在比較單純的環(huán)境中實(shí)現(xiàn)了簡單的共享。共享問題,除了從技術(shù)上保證安全性之外,還應(yīng)該從社會、倫理、法律的角度去約束、規(guī)范。

        [1] 趙京勝,鞏玉璽.基于移動Agent的信息搜索系統(tǒng)研究[J].計算機(jī)工程與設(shè)計,2008,20.

        [2] 曹雙蘭.移動Agent安全分析及其密碼學(xué)解決方案[J].中國西部科技,2009,11.

        [3] 曹文英,趙躍龍.基于移動計算的移動Agent技術(shù)研究[J].微電子學(xué)與計算機(jī),2009,02.

        [4] 劉曉輝.移動Agent在網(wǎng)絡(luò)管理系統(tǒng)中的研究[J].科技創(chuàng)新導(dǎo)報,2009,21.

        [5] 范彬,劉鑫,李偉華.移動Agent通信技術(shù)的研究與分析[J].電腦知識與技術(shù),2009,05.

        猜你喜歡
        文件共享文件名代理服務(wù)器
        右鍵調(diào)用多重更名更方便
        電腦愛好者(2019年9期)2019-10-30 03:43:29
        Excel輕松提取文件名
        地鐵信號系統(tǒng)中代理服務(wù)器的設(shè)計與實(shí)現(xiàn)
        IP地址隱藏器
        省級氣象數(shù)據(jù)文件共享存儲管理系統(tǒng)研究
        一種基于Web瀏覽器的文件共享系統(tǒng)設(shè)計與實(shí)現(xiàn)
        不讓長文件名成為“絆腳石”
        電腦迷(2014年8期)2014-04-29 07:37:40
        巧手調(diào)教《迅雷看看》
        一種容侵系統(tǒng)的設(shè)計
        Soulseek帶你進(jìn)入歐美音樂殿堂
        日本一区二区三区视频国产| 国产在线天堂av| 麻豆av在线免费观看精品| 国产主播一区二区三区蜜桃| 亚洲va久久久噜噜噜久久男同| 亚洲国产中文在线二区三区免 | 大肉大捧一进一出好爽视频| 最新国产一区二区精品久久| 日本精品久久性大片日本| 亚洲国产人成综合网站| 扒开腿狂躁女人爽出白浆| 免费人成视频在线观看视频| 久久亚洲精品成人综合| 日本高级黄色一区二区三区| 不卡av电影在线| 熟妇与小伙子matur老熟妇e| 人人妻人人澡av| 日本一本一道久久香蕉男人的天堂| 51看片免费视频在观看| 日韩中文字幕欧美亚洲第一区| 精品日本韩国一区二区三区| 亚洲av无一区二区三区久久蜜桃| 在线 | 一区二区三区四区| 中文字幕乱码人妻无码久久麻豆| 久久久成人av毛片免费观看| 国产一区二区三区中文在线| 欧美大肥婆大肥bbbbb| 91华人在线| av免费在线播放观看| 久久亚洲欧美国产精品| 精品少妇一区二区三区视频| 国产高跟丝袜在线诱惑| 日韩精品专区在线观看| 乌克兰粉嫩xxx极品hd| 999久久66久6只有精品| 国产精品夜色视频久久| 99久久婷婷国产综合亚洲| 免费啪啪视频一区| 中文字幕无线精品亚洲乱码一区| 熟女人妻中文字幕av| 中文字幕亚洲欧美日韩2019|