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

        ?

        基于服務(wù)化技術(shù)的個人數(shù)據(jù)資源共享方法①

        2017-09-15 07:19:11宋夢蝶武延軍
        計算機系統(tǒng)應(yīng)用 2017年9期
        關(guān)鍵詞:服務(wù)化資源共享服務(wù)器

        宋夢蝶,王 楓,武延軍

        1(中國科學院軟件研究所 基礎(chǔ)軟件國家工程研究中心,北京 100190)2(中國科學院大學,北京 100049)

        基于服務(wù)化技術(shù)的個人數(shù)據(jù)資源共享方法①

        宋夢蝶1,2,王 楓1,武延軍1

        1(中國科學院軟件研究所 基礎(chǔ)軟件國家工程研究中心,北京 100190)2(中國科學院大學,北京 100049)

        隨著信息網(wǎng)絡(luò)的高速發(fā)展,電子產(chǎn)品普及率日益提高,個人數(shù)據(jù)資源分散化的存儲在各種不同的設(shè)備之中,設(shè)備間方便高效的數(shù)據(jù)共享成為亟待解決的問題.針對現(xiàn)有的數(shù)據(jù)共享方法不能滿足個人以及協(xié)同工作組內(nèi)數(shù)據(jù)高效便捷的共享需求,運用服務(wù)化技術(shù)實現(xiàn)數(shù)據(jù)資源共享方法.本方法采用端對端的數(shù)據(jù)共享方式,使局域網(wǎng)環(huán)境下參與共享的個人及協(xié)同工作組內(nèi)設(shè)備對等的運行數(shù)據(jù)Web服務(wù)化,服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)三個基本模塊,在各模塊的配合下實現(xiàn)多設(shè)備間的數(shù)據(jù)資源共享.相比常用的數(shù)據(jù)共享方法,具有無需搭建額外的硬件環(huán)境,共享效率高,支持無需下載的在線訪問,避免了三方數(shù)據(jù)泄露風險以及系統(tǒng)資源占用率低等優(yōu)勢.方法有效的解決了多設(shè)備間高效數(shù)據(jù)共享面臨的數(shù)據(jù)動態(tài)變化,信息一致性維護,節(jié)點異構(gòu),代價可接受等挑戰(zhàn).

        多設(shè)備數(shù)據(jù)共享;數(shù)據(jù)資源服務(wù)化;服務(wù)發(fā)現(xiàn)

        引言

        隨著信息網(wǎng)絡(luò)的高速發(fā)展,智能手機,平板電腦,筆記本電腦,辦公臺式機等個人電子設(shè)備普及率極高,是人們?nèi)粘I詈蛥f(xié)同工作環(huán)境中密不可分的組成部分.而隨之帶來了一個令人備受困擾的問題,同屬個人或同一協(xié)同工作組中的數(shù)據(jù)資源,包括文檔、圖片、音頻、視頻等,如何在分散化的多種設(shè)備和應(yīng)用間方便高效的共享?

        現(xiàn)有的針對個人和協(xié)同工作組的數(shù)據(jù)共享方法主要有以下幾類,他們都可以實現(xiàn)數(shù)據(jù)在多設(shè)備間的共享,但也都有著自身的局限性.使用數(shù)據(jù)線,U 盤,移動硬盤等外部設(shè)備進行傳統(tǒng)的數(shù)據(jù)傳輸,這種共享方式依賴外部設(shè)備,過程繁瑣而且易發(fā)數(shù)據(jù)丟失和計算機病毒的傳播等問題;安裝相同的具有數(shù)據(jù)傳輸功能的應(yīng)用軟件,例如微信,QQ,飛鴿傳書和電子郵件等,這種方式依賴于第三方應(yīng)用的文件傳輸功能,使用下載后瀏覽的方式會占用設(shè)備較多的存儲空間以及存在第三方應(yīng)用數(shù)據(jù)泄露的風險;使用云存儲[1]的方式是后前較為通用的數(shù)據(jù)共享方式,具體表現(xiàn)為云盤,這種方式依賴于服務(wù)商提供的服務(wù)和外部網(wǎng)絡(luò),有著共享數(shù)據(jù)規(guī)模大的優(yōu)勢,但共享效率受網(wǎng)絡(luò)帶寬的影響較大且同樣存在云服務(wù)商數(shù)據(jù)泄露的風險;使用內(nèi)部的FTP服務(wù)器等進行數(shù)據(jù)資源的上傳和下載,可以保證共享的效率且減少數(shù)據(jù)泄露的風險,但隨之而來的是FTP服務(wù)器的搭建和維護的成本,而且集中式存儲的通病,中心服務(wù)器的性能瓶頸以及單點失效等問題也需要考慮.

        針對現(xiàn)有數(shù)據(jù)資源共享方法存在的不足,本文運用服務(wù)化技術(shù)實現(xiàn)數(shù)據(jù)資源共享方法,它采用端對端的數(shù)據(jù)共享方式,使局域網(wǎng)環(huán)境下參與共享的個人及工作組內(nèi)各設(shè)備在系統(tǒng)級對等的運行數(shù)據(jù)Web服務(wù)化,服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)三個基本模塊,在各模塊的配合下實現(xiàn)多設(shè)備間的數(shù)據(jù)資源共享.本方案較常見的數(shù)據(jù)共享方法,具有無需搭建額外的硬件環(huán)境,共享效率高,支持無需下載的在線訪問,避免了三方數(shù)據(jù)泄露以及系統(tǒng)資源占用率低等優(yōu)勢,為多設(shè)備乃至多應(yīng)用間的數(shù)據(jù)共享提供一種新的思路和方法.

        本文的結(jié)構(gòu)如下:第1節(jié)為研究背景和相關(guān)工作,第2節(jié)為個人數(shù)據(jù)資源共享方法的設(shè)計,第3節(jié)為系統(tǒng)各模塊的具體實現(xiàn)以及運行效果,第4節(jié)為方法的功能及性能評估,第5節(jié)為本文工作的總結(jié)以及對未來工作的規(guī)劃和展望.

        1 研究背景和相關(guān)工作

        1.1 多設(shè)備數(shù)據(jù)資源共享方法

        依賴數(shù)據(jù)線,U盤,移動硬盤等數(shù)據(jù)傳輸媒介的數(shù)據(jù)共享方式是一種傳統(tǒng)的數(shù)據(jù)共享方式,這種方式有著顯而易見的缺點,它依賴于外部設(shè)備,操作繁瑣而且U盤等設(shè)備經(jīng)常出現(xiàn)不被主機識別或是病毒感染等意外情況.因此,雖然這種方式仍然很大程度上的為人們所使用,卻在近年來越來越多的被其他方式所替代.

        安裝相同的具有數(shù)據(jù)傳輸功能的應(yīng)用實現(xiàn)多設(shè)備間的數(shù)據(jù)共享也是一種常見的方式,在局域網(wǎng)和廣域網(wǎng)中都有相關(guān)的實現(xiàn),日常的即時通訊軟件,例如QQ,微信,飛鴿傳書等也具有文件傳輸?shù)墓δ?這種方式除了要求安裝相同的應(yīng)用,我們的數(shù)據(jù)資源還需要經(jīng)過其他應(yīng)用的轉(zhuǎn)發(fā),無可避免的存在著數(shù)據(jù)泄露的風險.另一方面,數(shù)據(jù)的接收方通常只能通過下載到本地的方式進行文件的查看,無法實現(xiàn)數(shù)據(jù)的在線訪問,靈活性低,且在外網(wǎng)環(huán)境下同樣存在著數(shù)據(jù)傳輸效率低的問題.

        隨著云計算技術(shù)的發(fā)展,云存儲的方式是近年來使用廣泛的數(shù)據(jù)共享方式.云存儲的本質(zhì)上是一個分布式的文件系統(tǒng),常見的設(shè)計思想分為集中式元數(shù)據(jù)管理和一致性哈希管理兩種[2].前者比較有代表性的系統(tǒng)是 GFS(Google File System)和 HDFS(Hadoop Distributed File System),后者比較有代表性的是Amazon S3(Simple Storage Service).集中式元數(shù)據(jù)管理是一種主從結(jié)構(gòu),主節(jié)點存儲著一張key-value的表格,記錄著數(shù)據(jù)實際存儲的位置,所有獲取數(shù)據(jù)的請求都需要和主節(jié)點通信,從而獲得數(shù)據(jù)的實際地址.一致性哈希管理不存在主節(jié)點,是根據(jù)一致性哈希算法來解決分布式存儲的節(jié)點分配問題.云盤,是一種云存儲的具體表現(xiàn)形式,是云服務(wù)商所提供的數(shù)據(jù)存儲服務(wù),具有存儲空間巨大,沒有冗余存儲等優(yōu)勢.云盤通常需要通過外部網(wǎng)絡(luò)進行訪問,受網(wǎng)絡(luò)帶寬影響使云盤共享數(shù)據(jù)的效率較低.并且在這種條件下,數(shù)據(jù)的擁有者失去了對數(shù)據(jù)的控制,數(shù)據(jù)的安全性完全取決于云服務(wù)商的可靠性,基于這種方式的數(shù)據(jù)共享安全性[3,4]一直以來也是學界研究的熱點問題.近年來國內(nèi)外數(shù)據(jù)泄露事件層出不窮,在Verizon最新發(fā)布的《2016數(shù)據(jù)泄露報告》[5]中也出現(xiàn)了對云服務(wù)商的一些建議,來減少云存儲潛在的安全問題,之前年度的報告中也指出云服務(wù)商需注意內(nèi)部人員因經(jīng)濟后的泄露用戶數(shù)據(jù)的行為.

        在數(shù)據(jù)安全性以及傳輸效率要求較高的環(huán)境下,搭建內(nèi)部的FTP服務(wù)器進行數(shù)據(jù)資源的共享是一個可行的實現(xiàn)方案.但針對本文的個人數(shù)據(jù)資源共享和協(xié)同工作的工作組內(nèi)的數(shù)據(jù)共享,搭建和維護FTP服務(wù)器的成本較高,而且無可避免的存在著服務(wù)器的性能瓶頸和單點失效等集中式存儲的弊端.

        本文運用服務(wù)化技術(shù)解決個人數(shù)據(jù)資源共享問題,為多設(shè)備間的數(shù)據(jù)共享提供一種新的思路.

        1.2 服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)方式

        服務(wù)發(fā)布模塊和服務(wù)發(fā)現(xiàn)[6]模塊是負責在共享環(huán)境中將數(shù)據(jù)服務(wù)化后得到的數(shù)據(jù)資源地址進行發(fā)布和發(fā)現(xiàn).

        Google 發(fā)起的“The Physical Web”[7]項后是使物聯(lián)網(wǎng)環(huán)境下的每個智能設(shè)備用URL(Uniform Resource Locator,統(tǒng)一資源定位符)來標識自己,之后用戶使用BLE(Bluetooth Low Energy,低功耗藍牙)這種服務(wù)發(fā)現(xiàn)技術(shù)獲取到一個所有服務(wù)的URL列表,這樣一來,使用智能設(shè)備的體驗就和在網(wǎng)站上使用各種超鏈接差不多了.該項后的Android端應(yīng)用可以在Google Play Store里找到,它的開源實現(xiàn)里提供了BLE,mDNS,SSDP三種URL發(fā)布和發(fā)現(xiàn)的方式.本文借鑒了這種物聯(lián)網(wǎng)中的服務(wù)發(fā)布和資源定位的方法,針對個人數(shù)據(jù)共享環(huán)境和協(xié)同工作環(huán)境的具體場景和網(wǎng)絡(luò)條件,采用了SSDP實現(xiàn)服務(wù)發(fā)布和發(fā)現(xiàn).

        SSDP[8](Simple Service Discovery Protocol,簡單服務(wù)發(fā)現(xiàn)協(xié)議)是構(gòu)成 UPnP(Universal Plug and Play,通用即插即用)的核心協(xié)議,是一個應(yīng)用層協(xié)議,建立在HTTPMU(HTTP over Multicast UDP)和 HTTPU(HTTP over Unicast UDP)之上.當一個設(shè)備接入網(wǎng)絡(luò)中后,它會向網(wǎng)絡(luò)里通過SSDP在HTTPMU之上多播它的服務(wù),類似的,當一個UPnP的控制點被加入到網(wǎng)絡(luò)中,它通過SSDP在HTTPMU上搜索設(shè)備,而每一個在多播端口上監(jiān)聽的設(shè)備都會通過SSDP在HTTPU上進行單播的應(yīng)答.具體而言,SSDP協(xié)議的幾種典型消息及其應(yīng)用場景為:當一個客戶端接入網(wǎng)絡(luò)的時候,它可以向一個特定的多播地址的SSDP端口使用M-SEARCH方法發(fā)送ssdp:discover消息;當設(shè)備監(jiān)聽到這個保留的多播地址上由控制點發(fā)送的消息的時候,設(shè)備會分析控制點請求的服務(wù),如果自身提供了控制點請求的服務(wù),設(shè)備將通過單播的方式響應(yīng)控制點的請求;當一個設(shè)備接入網(wǎng)絡(luò)的時候,它應(yīng)當向一個特定的多播地址的SSDP端口使用NOTIFY方法發(fā)送ssdp:alive消息;當一個設(shè)備計劃從網(wǎng)絡(luò)上卸載的時候,它也應(yīng)當向一個特定的多播地址的SSDP端口使用NOTIFY方法發(fā)送ssdp:byebye消息.理解協(xié)議的基本場景對有利于理解服務(wù)發(fā)布及發(fā)現(xiàn)模塊的實現(xiàn).

        REST是Roy Fielding在2000年他的博士論文[9]提出的一種面向資源的軟件架構(gòu)風格,REST和SOAP的比較在文獻[10]中有詳細闡述,二者作為數(shù)據(jù)Web服務(wù)化的方式也分別被文獻[11]以及文獻[12]所采用,基于REST而非SOAP的UPnP早在文獻[13]被提出,文章指出可以通過服務(wù)發(fā)現(xiàn)URL的方式獲取更多的信息.本文服務(wù)發(fā)現(xiàn)及發(fā)布模塊實現(xiàn)了SSDP協(xié)議的基本使用場景,配合REST而非SOAP對資源定位及訪問.

        2 個人數(shù)據(jù)資源共享方法的設(shè)計

        實現(xiàn)局域網(wǎng)環(huán)境下個人以及協(xié)同工作組的多設(shè)備間高效的數(shù)據(jù)資源共享,主要面臨以下幾個方面的挑戰(zhàn)[14]:

        1)共享數(shù)據(jù)動態(tài)變化

        共享的數(shù)據(jù)內(nèi)容動態(tài)變化,例如協(xié)同工作組內(nèi)一份設(shè)計文檔,在一段時間內(nèi)會不斷進行改動,需保證共享的各方查看的是最新內(nèi)容而非歷史版本.

        2)信息一致性維護

        共享數(shù)據(jù)的各方關(guān)系上是對等的,獲得的共享數(shù)據(jù)資源是一致的,共享資源的添加和刪除需要及時的被各節(jié)點感知.

        3)節(jié)點異構(gòu)

        各終端設(shè)備是多樣的,智能手機,平板電腦,筆記本電腦以及工作臺式機,不同設(shè)備的系統(tǒng)和資源都不同,方法應(yīng)該具有通用性,適用于不同的系統(tǒng)和平臺.

        4)代價可接受

        代價不能過高,尤其是對于移動端這類資源較為稀缺的節(jié)點,實現(xiàn)和運行數(shù)據(jù)共享方法不能占用設(shè)備過多的資源.

        針對以上幾點,本文運用服務(wù)化技術(shù)實現(xiàn)個人數(shù)據(jù)資源共享方法.為了應(yīng)對數(shù)據(jù)的動態(tài)變化并保證實時獲取數(shù)據(jù)的最新版本,對資源的共享和定位是使用數(shù)據(jù)資源地址而非傳輸數(shù)據(jù)本身來實現(xiàn)的,數(shù)據(jù)內(nèi)容本身會發(fā)生變化,但只要數(shù)據(jù)地址不變,使用該地址獲取的就是當前共享的最新版本;各節(jié)點對等的運行服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)模塊來得到一致的資源地址列表,資源的添加和刪除可以從實時得到的資源列表中體現(xiàn),從而維護了信息一致性;方法的模塊化架構(gòu)以及模塊間的低耦合設(shè)計適用于各類異構(gòu)節(jié)點,各模塊的功能實現(xiàn)上不限于特定的技術(shù)和運行平臺;針對移動端等資源受限的平臺,各模塊選用輕量級實現(xiàn)方案,以保證運行共享方法的低代價.

        方法采用了模塊化的架構(gòu),是將參與數(shù)據(jù)共享的各個節(jié)點從功能上分為多個不同的單元,每個單元是一個模塊.各節(jié)點對等的運行本地數(shù)據(jù)Web服務(wù)化,服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)三個基本模塊,來實現(xiàn)端對端的共享,系統(tǒng)架構(gòu)設(shè)計如圖1所示.

        圖1 系統(tǒng)架構(gòu)設(shè)計圖

        數(shù)據(jù)Web服務(wù)化模塊,實現(xiàn)設(shè)備或應(yīng)用中的本地數(shù)據(jù)到Web資源的轉(zhuǎn)化,使本地數(shù)據(jù)資源可以通過網(wǎng)絡(luò)上的 URL,實質(zhì)上是一個 RESTful API(Application Programming Interface,應(yīng)用程序編程接口)來訪問.RESTful API是符合 REST 設(shè)計風格的 Web API,其核心在于URL僅僅是用來標識資源的URI(Uniform Resource Identifier,統(tǒng)一資源標識符),而由 HTTP 協(xié)議支持的 POST,DELETE,PUT 和 GET 操作來分別表示對資源的增刪改查,執(zhí)行本模塊得到的數(shù)據(jù)資源地址是符合REST風格的.

        服務(wù)發(fā)布模塊,負責將數(shù)據(jù)地址的URL發(fā)布到網(wǎng)絡(luò)中,使協(xié)同工作的設(shè)備可以定位并使用數(shù)據(jù)資源.本模塊的技術(shù)實現(xiàn)上需要根據(jù)具體的網(wǎng)絡(luò)環(huán)境對技術(shù)方案加以選擇.舉例來說,針對沒有網(wǎng)絡(luò)覆蓋的環(huán)境,可以選擇 BLE,WiFi-Direct等技術(shù),而對于個人多設(shè)備,家庭網(wǎng)絡(luò),辦公網(wǎng)絡(luò)中的多設(shè)備數(shù)據(jù)資源地址的發(fā)布可以使用簡單服務(wù)發(fā)現(xiàn)協(xié)議SSDP,下一章中的實現(xiàn)部分采用的就是SSDP.

        服務(wù)發(fā)現(xiàn)模塊,負責搜索定位已發(fā)布的數(shù)據(jù)資源地址URL,和服務(wù)發(fā)布模塊進行配合,采用和服務(wù)發(fā)布模塊相同的技術(shù),實時獲取到當前環(huán)境下所有共享數(shù)據(jù)的最新版本.

        圖2描述了系統(tǒng)各個模塊間的調(diào)用關(guān)系.用戶打開一個設(shè)備中的實現(xiàn)本方法的系統(tǒng)應(yīng)用,默認開啟服務(wù)發(fā)現(xiàn)模塊,可以得到一個當前共享環(huán)境下各設(shè)備所有在線的數(shù)據(jù)資源URL列表,其中的每一個URL都是一個數(shù)據(jù)資源的RESTful API,點擊URL可以實現(xiàn)在線查看或下載數(shù)據(jù)資源.用戶發(fā)布本設(shè)備的數(shù)據(jù)資源URL到共享環(huán)境中,首先需要通過一個認證模塊,該模塊主要是模擬驗證用戶對設(shè)備的操作權(quán)限,類似于Windows下的Administrator驗證或是Linux下的ROOT用戶驗證,通過驗證的用戶表明有發(fā)布本機數(shù)據(jù)服務(wù)的權(quán)限,可以選擇開啟本機的數(shù)據(jù)Web服務(wù)化模塊,實質(zhì)上是開啟HTTP服務(wù)來啟動文件服務(wù)器的功能,此時設(shè)備中的本地數(shù)據(jù)地址轉(zhuǎn)化為Web中的URL.而其他設(shè)備要想獲取到數(shù)據(jù)地址的URL,需要本機開啟服務(wù)發(fā)布模塊將要發(fā)布的地址多播到環(huán)境中,這樣一來其他設(shè)備的服務(wù)發(fā)現(xiàn)模塊就可以定位并訪問本機共享的數(shù)據(jù)資源了.

        本節(jié)闡述了個人數(shù)據(jù)資源共享方法的架構(gòu)設(shè)計以及各模塊間的關(guān)系,下一章中將詳細說明各模塊的實現(xiàn)以及在不同平臺下系統(tǒng)運行效果.

        3 系統(tǒng)實現(xiàn)

        3.1 模塊實例化

        本部分闡述數(shù)據(jù)Web服務(wù)化模塊和服務(wù)發(fā)布及發(fā)現(xiàn)模塊分別在移動端和桌面端的實例化方法.

        3.1.1 數(shù)據(jù) Web 服務(wù)化模塊

        數(shù)據(jù)Web服務(wù)化模塊是通過針對不同平臺的特點開發(fā)HTTP文件服務(wù)器來實例化的.

        移動端的數(shù)據(jù)Web服務(wù)化模塊使用了NanoHttpd[15],主要是因為移動端資源稀缺,而NanoHttpd是適用于移動端的輕量級服務(wù)器,它的Github官方描述中指出它是一個極小型的Java編寫的web服務(wù)器,一個千行左右的Java文件就可以創(chuàng)建出一個HTTP服務(wù)器,在實現(xiàn)上采用的是Java的TCP網(wǎng)絡(luò)編程以及多線程技術(shù).首先創(chuàng)建 ServerSocket和一個主線程,運行ServerSocker.accept()進行請求監(jiān)聽,每當接收到客戶端發(fā)來的請求,就新建一個線程對請求進行處理.請求的處理過程按照HTTP Request的請求頭和主體的規(guī)范進行解析,將讀取的數(shù)據(jù)流獲得的信息存儲到相應(yīng)的數(shù)據(jù)結(jié)構(gòu),例如因為HTTP請求頭部最長為8192個字節(jié),所以讀取socket數(shù)據(jù)流的前8192個字節(jié)來提取請求頭部的字段.對請求進行響應(yīng)的過程也是依照HTTP協(xié)議以及資源的自身類型特征有針對性地返回響應(yīng)內(nèi)容,支持MIME格式的各類文件,對于請求URL是文件夾的情況,實現(xiàn)上會遍歷文件夾中的各個文件并返回資源列表供使用者進一步查看和選取.NanoHttpd解決了在移動端運行文件服務(wù)器資源占用率過大的問題.

        圖2 系統(tǒng)各個模塊間的調(diào)用關(guān)系圖

        桌面端的數(shù)據(jù)Web服務(wù)化模塊的實現(xiàn)上,采用Node.js來創(chuàng)建HTTP文件服務(wù)器.Node.js可以不依賴Apache或Nginx等服務(wù)器,其本身內(nèi)置的服務(wù)器功能就有著公認的良好性能,而且它具有跨平臺性,編寫的應(yīng)用適用于Windows,Linux等多種桌面系統(tǒng).使用Node.js搭建文件服務(wù)器,既可以利用http,fs等原生模塊進行創(chuàng)建,也可以使用Express開發(fā)框架的express.static中間件,本文中為了更靈活且高性能的實現(xiàn)數(shù)據(jù)Web服務(wù)化模塊的功能,采用原生模塊從頭搭建文件服務(wù)器,參考文獻[16]中的實現(xiàn)細節(jié),加入了MIME類型支持,緩存機制,文件壓縮以及斷點續(xù)傳支持等提高文件服務(wù)器性能的因素,同時添加解碼機制支持中文URL.MIME類型支持是通過一張后綴和格式的映射表進行支持的,針對文件不同的后綴,返回不同的Content-Type;緩存機制是對于某些類型的文件,返回的響應(yīng)頭里添加Expires頭和Cache-Control:maxage頭,設(shè)置一個超期時間,瀏覽器對期限內(nèi)的文件將不向服務(wù)器端發(fā)送新的請求,而是直接返回瀏覽器緩存的副本;與此同時,添加對請求頭中If-Modified-Since字段的解析支持,如果服務(wù)器端的文件在這個時間后沒有發(fā)生修改,則直接返回304未修改狀態(tài)碼,只有修改后的才發(fā)送文件,減少流量的消耗;同樣可減少流量消耗的還有文件壓縮,調(diào)用的是Node.js的zlib模塊,實現(xiàn)對于大文件采用GZip壓縮;斷點續(xù)傳支持主要通過HTTP的Range支持,Server通過聲明支持Range,Client通過在請求頭中加入Range字段來發(fā)起請求,Server接收到Client的請求后只返回請求區(qū)間的內(nèi)容,支持斷點續(xù)傳;最后添加了中文資源URL的解碼處理,支持數(shù)據(jù)資源的中文地址.

        3.1.2 服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)模塊

        服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)模塊針對的是個人多設(shè)備和協(xié)同工作環(huán)境的多設(shè)備間的數(shù)據(jù)資源地址的發(fā)布和發(fā)現(xiàn),采用了簡單服務(wù)發(fā)現(xiàn)協(xié)議SSDP來實例化.

        移動端的服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)模塊抽取了Google Physical Web項后的Android端開源實現(xiàn)里的基于SSDP協(xié)議的搜索和發(fā)布的部分代碼,和NanoHttpd實現(xiàn)的文件服務(wù)器加以整合,既可以從移動端的文件列表里選擇文件進行發(fā)布,也可搜索到其他設(shè)備發(fā)布的文件地址的URL.

        桌面端的服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)模塊采用了node.js模塊 peer-ssdp,使用 npm install peer-ssdp 安裝該模塊,調(diào)用模塊中的基礎(chǔ)函數(shù)可方便高效的實現(xiàn)桌面端數(shù)據(jù)地址URL的搜索和發(fā)布.

        3.2 系統(tǒng)運行效果

        針對智能手機,筆記本電腦,辦公臺式機運行本系統(tǒng),實現(xiàn)典型辦公設(shè)備間的數(shù)據(jù)共享.

        移動端手機型號為Nexus 6,Android版本為5.1,Android SDK Version 24,移動端搜索獲取共享數(shù)據(jù)資源地址列表如圖3所示.臺式機,操作系統(tǒng)為Ubuntu 14.04 LTS,Memory 12GB,Processor Intel Core i7-2600@3.40GHz*8,OS type 64-bit,Node.js 版本 4.5.0.筆記本電腦,操作系統(tǒng)為 Windows 10,Memory 4GB,Processor Intel(R)Core(TM)i3-3217U CPU@1.80GHz,OS type 64-bit,Node.js 版本 4.5.0.桌面端 BS 架構(gòu)使用Express框架進行搭建,桌面端搜索獲取共享數(shù)據(jù)資源地址列表如圖4所示.

        圖3 移動端搜索獲取共享數(shù)據(jù)資源地址列表

        圖4 桌面端搜索獲取共享數(shù)據(jù)資源地址列表

        數(shù)據(jù)資源地址列表中的資源分別來自Android移動端,Windows筆記本和 Ubuntu臺式機,點擊列表中的URL可以實現(xiàn)跨設(shè)備訪問數(shù)據(jù)資源.

        4 方法評估

        4.1 功能評估

        本文的方法適用于局域網(wǎng)環(huán)境下個人多設(shè)備和協(xié)同工作組內(nèi)多設(shè)備間的數(shù)據(jù)共享,以應(yīng)對共享數(shù)據(jù)動態(tài)變化,信息一致性維護,節(jié)點異構(gòu),代價可接受等多設(shè)備間高效數(shù)據(jù)共享面臨的挑戰(zhàn).

        對于共享數(shù)據(jù)動態(tài)變化,方法對資源的共享和定位是使用數(shù)據(jù)資源地址而非傳輸數(shù)據(jù)本身.開啟應(yīng)用服務(wù)發(fā)現(xiàn)模塊可以實時獲取數(shù)據(jù)資源地址列表,每個列表項唯一標識了一個共享環(huán)境下的數(shù)據(jù)資源,包括數(shù)據(jù)資源的地址以及描述信息,通過點擊數(shù)據(jù)資源的地址可以在線查看或下載頻繁改動的數(shù)據(jù)的最新版本.

        對于信息一致性維護,各設(shè)備開啟服務(wù)發(fā)現(xiàn)模塊獲得的數(shù)據(jù)資源地址列表是一致的,每個設(shè)備通過服務(wù)發(fā)布模塊可以共享新的數(shù)據(jù)資源以及刪除已發(fā)布的數(shù)據(jù)資源,而資源地址的添加和刪除會實時的被其他設(shè)備的服務(wù)發(fā)現(xiàn)模塊捕獲,保證各設(shè)備同一時刻獲得的共享數(shù)據(jù)資源地址列表是無差別的.

        對于節(jié)點異構(gòu),本文的方法具有通用性,智能手機,平板電腦,筆記本電腦和臺式機都可采用不同的技術(shù)方案完成方法設(shè)計中的模塊化架構(gòu),穩(wěn)定運行系統(tǒng)應(yīng)用.

        對于代價可接受,針對移動端等資源相對稀缺的平臺,采用NanoHttpd等資源占用率小的技術(shù)方案來實現(xiàn)方案中的模塊,使運行系統(tǒng)給設(shè)備造成的代價維持低水平,這在下一小節(jié)的性能評估里可以更清楚的反映.

        最后,方法具有可擴展的優(yōu)勢,整個系統(tǒng)運行的核心是實現(xiàn),發(fā)布,發(fā)現(xiàn)一套跨設(shè)備訪問數(shù)據(jù)資源的API.其具有支持開發(fā)的特征,基于這套API實現(xiàn)一個面向多設(shè)備的文檔查看器,圖片瀏覽器,音樂和視頻播放器將會是一件更輕松有趣的事情.

        4.2 性能評估

        實現(xiàn)上述功能的代價是運行本地系統(tǒng)應(yīng)用,需要考慮在移動端資源相對稀缺的條件下,系統(tǒng)應(yīng)用的運行不能占用移動端過多的資源.采用Android性能測試工具Emmagee對移動端應(yīng)用在一次完整的使用過程占用內(nèi)存比和占用CPU率進行了測量,圖5是應(yīng)用在使用過程當中10次采樣的占用內(nèi)存比和占用CPU率,曲線的高點發(fā)生在每次運行服務(wù)發(fā)現(xiàn)模塊實時搜索數(shù)據(jù)資源地址列表,可見運行應(yīng)用給移動端帶來的代價很小,占用率基本在5%以下.

        圖5 移動端應(yīng)用運行過程中占用內(nèi)存比和CPU率

        同時,將本應(yīng)用與局域網(wǎng)內(nèi)具有代表性的數(shù)據(jù)傳輸應(yīng)用飛鴿傳書進行對比,二者運行期間占用內(nèi)存比基本相當,本應(yīng)用的CPU占用率相對更小,如圖6所示.

        圖6 方法與其他應(yīng)用的CPU占用率對比

        5 總結(jié)與展望

        本文運用服務(wù)化技術(shù)實現(xiàn)個人數(shù)據(jù)資源共享方法,使局域網(wǎng)環(huán)境下參與共享的個人設(shè)備對等的運行數(shù)據(jù)Web服務(wù)化,服務(wù)發(fā)布和服務(wù)發(fā)現(xiàn)三個基本模塊,方便地實現(xiàn)多設(shè)備間數(shù)據(jù)資源共享.相較常見的數(shù)據(jù)共享方法具有無需搭建額外的硬件環(huán)境,共享效率高,支持無需下載的在線訪問,避免了三方數(shù)據(jù)泄露風險以及占用系統(tǒng)資源少等優(yōu)勢.同時實現(xiàn)了多個平臺的系統(tǒng)應(yīng)用,證明了方法有效的解決了多設(shè)備間高效數(shù)據(jù)共享面臨的數(shù)據(jù)動態(tài)變化,信息一致性維護,節(jié)點異構(gòu),代價可接受等挑戰(zhàn).

        基于本方法模塊化的設(shè)計,我們將會在之后工作中針對不同平臺的特點繼續(xù)優(yōu)化三個基本模塊的實現(xiàn),通過提高每個模塊的運行效率來提高整個系統(tǒng)的性能.同時,鑒于方法可以獲得一套跨設(shè)備訪問數(shù)據(jù)資源的API,具有支持開發(fā)的特征,之后的工作會基于此實現(xiàn)跨設(shè)備的文檔查看器,圖片瀏覽器,音樂和視頻播放器等有趣的應(yīng)用.最后,本文的方案不僅限于數(shù)據(jù)資源的共享,事實上當共享的不再是數(shù)據(jù)資源的地址而是操作軟件,硬件的API時,相同的架構(gòu)可以輕松的實現(xiàn)遠程操控等功能,這些都將是我們下一步的研究內(nèi)容.

        1 Armbrust M,Fox A,Griffith R,et al.A view of cloud computing.Communications of the ACM,2010,53(4):50–58.[doi:10.1145/1721654]

        2 楊紅星.云平臺跨域分布式共享文件系統(tǒng)的設(shè)計與實現(xiàn)[碩士學位論文].杭州:浙江大學,2015.21–36.

        3 王中華,韓臻,劉吉強.云環(huán)境下多用戶文件共享方案.計算機研究與發(fā)展,2014,51(12):2614–2622.[doi:10.7544/issn1000-1239.2014.20131178]

        4 薛矛,薛巍,舒繼武,等.一種云存儲環(huán)境下的安全存儲系統(tǒng).計算機學報,2015,38(5):987–998.

        5 Verizon.Verizon’s 2017 data breach investigations report.http://www.verizonenterprise.com/verizon-insights-lab/dbir/2016/.

        6 Meshkova E,Riihij?rvi J,Petrova M,et al.A survey on resource discovery mechanisms,peer-to-peer and service discovery frameworks.Computer Networks,2008,52(11):2097–2128.[doi:10.1016/j.comnet.2008.03.006]

        7 Physical Web.The Physical Web is an open approach to enable quick and seamless interactions with physical objects and locations.http://physical-web.org/.

        8 Arunachalam K,Ganapathy G.Research on UPnP protocol stack for applications on a home network.International Journal of Engineering and Technology,2016,8(4):1728–1736.[doi:10.21817/ijet/2016/v8i4/160804413]

        9 Fielding RT.Architectural styles and the design of networkbased software architectures[Ph.D.thesis].Irvine:University of California,Irvine,2000.

        10 Wagh K,Thool R.Comparative study of SOAP Vs REST web services provisioning techniques for mobile host.Journal of Information Engineering and Applications,2012,2(5):12–16.

        11 Gao L,Zhang CH,Sun L.RESTful web of things API in sharing sensor data.Proc.of 2011 International Conference on Internet Technology and Applications.Wuhan,China.2011.1–4.

        12 王孝滿,周曉明,毛宇光.數(shù)據(jù)資源服務(wù)化技術(shù)的研究與實現(xiàn).計算機技術(shù)與發(fā)展,2011,21(3):79–82,86.

        13 Newmarch J.A RESTful approach:Clean UPnP without SOAP.Proc.of the 2nd IEEE Consumer Communications and Networking Conference.Las Vegas,NV,USA.2005.134–138.

        14 方亞芬,梁冠宇,賀也平.面向個人自組織網(wǎng)絡(luò)的硬件資源管理.計算機系統(tǒng)應(yīng)用,2016,25(12):1–8.[doi:10.15888/j.cnki.csa.005472]

        15 NanoHttpd.https://github.com/NanoHttpd/nanohttpd.

        16 樸靈.深入淺出 Node.js.北京:人民郵電出版社,2013:150–176.

        Sharing Method of Personal Data Resources Based on Service-Oriented Technology

        SONG Meng-Die1,2,WANG Feng1,WU Yan-Jun11(National Engineering Research Center for Fundamental Software,Institute of Software,Chinese Academy of Sciences,Beijing 100190,China)2(University of Chinese Academy of Sciences,Beijing 100049,China)

        With the rapid development of information technology,the number of electronic products shows a great increment.Personal data resources are distributed in various devices and therefore efficient data sharing among devices becomes a problem.Given the fact that the existing methods can not meet the demand of efficient data sharing in this circumstance,this paper proposes a personal data resources sharing method based on service-oriented technology.It is an end-to-end method of sharing data that every end runs three basic modules,which are data web service module,service publication module and service discovery module.Compared with the existing data sharing scheme,it has advantages of avoiding additional hardware maintenance,high sharing efficiency in Local Area Network,supporting online access,no need to worry about the data leakage by third parties and a low system resource occupancy rate.The method is an effective solution in the data sharing environment to meet the challenges of frequent changes,information consistency maintenance,heterogeneous nodes and acceptable cost.

        cross-device data sharing;data resource as a service;service discovery

        宋夢蝶,王楓,武延軍.基于服務(wù)化技術(shù)的個人數(shù)據(jù)資源共享方法.計算機系統(tǒng)應(yīng)用,2017,26(9):109–115.http://www.c-s-a.org.cn/1003-3254/5950.html

        ①基金項后:中國科學院先導專項(XDA06010600)

        2016-12-27;采用時間:2017-01-18

        猜你喜歡
        服務(wù)化資源共享服務(wù)器
        制造企業(yè)服務(wù)化程度、服務(wù)化模式和服務(wù)化收益研究
        運籌與管理(2022年9期)2022-10-20 12:42:26
        交通運輸數(shù)據(jù)資源共享交換體系探究與實現(xiàn)
        通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
        制造業(yè)服務(wù)化發(fā)展戰(zhàn)略研究
        衛(wèi)康與九天綠資源共享
        得形忘意的服務(wù)器標準
        教育部第一批“國家級精品資源共享課”公布
        計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        測量學精品資源共享課建設(shè)的探索
        制造服務(wù)化發(fā)展戰(zhàn)略
        亚洲AV毛片无码成人区httP| 国产精品无码无卡无需播放器| 国产av无码专区亚洲av中文| 日韩黑人欧美在线视频观看| 国产免费激情小视频在线观看| 人妻夜夜爽天天爽三区麻豆av| 国产精品爽爽久久久久久竹菊| 精品久久久久久久中文字幕| 中文字幕大乳少妇| 久久久人妻一区二区三区蜜桃d| 伊人精品久久久久中文字幕 | 亚洲av无码成人yellow| 亚洲一区二区三区中文视频 | 亚洲熟妇无码久久精品| 欧美成人一区二区三区| 女人的天堂av免费看| 男人的天堂av你懂得| 狂野欧美性猛xxxx乱大交| 免费黄色电影在线观看| 国产成人AⅤ| 亚洲精品久久区二区三区蜜桃臀| 少妇下面好紧好多水真爽播放| 久久久精品国产亚洲成人满18免费网站| 亚洲精品一区二区三区国产| 最新中文字幕一区二区| 成人精品一区二区三区中文字幕| 午夜a福利| 在线亚洲精品中文字幕美乳色| 久久性爱视频| 亚洲人成网站在线观看播放| 亚洲区一区二区中文字幕| 激情精品一区二区三区| 色先锋av资源中文字幕| 久久精品国产亚洲一区二区| 美女和男人一起插插插| 亚洲欧美色一区二区三区| 午夜AV地址发布| 日韩av中文字幕一卡二卡| 蜜桃av精品一区二区三区| 少妇人妻偷人精品视蜜桃| 亚洲色欲色欲欲www在线|