牟琳++賀婷婷++張士存++周健
摘 要 云計(jì)算作為繼大型計(jì)算機(jī)到客戶(hù)端的轉(zhuǎn)變后信息技術(shù)領(lǐng)域的巨大變革,一直是火熱的研究領(lǐng)域。短短幾年,云計(jì)算憑借自身超大規(guī)模、虛擬化等優(yōu)勢(shì)迅速發(fā)展,并向社會(huì)各領(lǐng)域滲透,對(duì)信息技術(shù)應(yīng)用和發(fā)展產(chǎn)生了深遠(yuǎn)影響。在實(shí)踐應(yīng)用中,借助云計(jì)算能夠提供特定的服務(wù),且能夠降低運(yùn)營(yíng)成本,實(shí)現(xiàn)對(duì)服務(wù)的拓展。文章從云存儲(chǔ)特點(diǎn)入手,對(duì)移動(dòng)端開(kāi)發(fā)式云存儲(chǔ)服務(wù)設(shè)計(jì)和開(kāi)發(fā)進(jìn)行深入分析和研究。
關(guān)鍵詞 移動(dòng)端;開(kāi)放式;云存儲(chǔ)服務(wù);設(shè)計(jì)
中圖分類(lèi)號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2017)196-0072-02
現(xiàn)如今,云存儲(chǔ)作為云計(jì)算的延伸,通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)等將網(wǎng)絡(luò)中大量的存儲(chǔ)設(shè)備,借助應(yīng)用軟件將不同類(lèi)型的設(shè)備整合到一起,使得各設(shè)備之間能夠相互協(xié)同,形成統(tǒng)一的系統(tǒng),為用戶(hù)提供更多便利。因此,加強(qiáng)對(duì)移動(dòng)端開(kāi)放式云存儲(chǔ)服務(wù)設(shè)計(jì)的研究非常必要,能夠幫助我們深入認(rèn)識(shí)云存儲(chǔ)服務(wù),且能夠提高工作有效性,促使其實(shí)用價(jià)值充分發(fā)揮。
1 云存儲(chǔ)概述
云存儲(chǔ)在實(shí)踐應(yīng)用中具有較強(qiáng)的可用性、容錯(cuò)能力,針對(duì)普通的用戶(hù)能夠根據(jù)具體情況,按照自身需求購(gòu)買(mǎi)一定量的云存儲(chǔ)服務(wù),以此來(lái)降低投資成本,提高工作效率。云存儲(chǔ)系統(tǒng)提供的服務(wù)具有虛擬性,便于存儲(chǔ)空間拓展,而非傳統(tǒng)物理存儲(chǔ)設(shè)備需要繁雜的操作,提高存儲(chǔ)空間有效控制[1]。通常情況下,能夠提供云存儲(chǔ)服務(wù)的提供商多為大型互聯(lián)網(wǎng)公司,能夠在很大程度上保障系統(tǒng)運(yùn)行穩(wěn)定性。不僅如此,云存儲(chǔ)服務(wù)多以模塊化設(shè)計(jì)為主,使用起來(lái)更為靈活,用戶(hù)即便無(wú)法根據(jù)自身需求做出準(zhǔn)確評(píng)估,也可以在日后進(jìn)行相應(yīng)的調(diào)整,提高資源利用率。
2 移動(dòng)端開(kāi)放式云存儲(chǔ)服務(wù)設(shè)計(jì)與開(kāi)發(fā)
2.1 軟件設(shè)計(jì)結(jié)構(gòu)
為了確保用戶(hù)能夠直觀感受開(kāi)發(fā)組件,本文對(duì)設(shè)計(jì)框架進(jìn)行介紹,如圖1。
2.2 細(xì)節(jié)分析
首先,針對(duì)ALBBO模塊,該模塊定義了開(kāi)發(fā)者需要使用的重要接口,為用戶(hù)對(duì)SDK的使用產(chǎn)生直觀的認(rèn)識(shí),當(dāng)訪(fǎng)問(wèn)云存儲(chǔ)服務(wù)器,且需要提供簽權(quán)標(biāo)識(shí)時(shí),能夠自動(dòng)進(jìn)行回調(diào)處理,形成一段代碼。同時(shí),還能夠輸入xoss字段,該字段由一系列鍵值組合,對(duì)于鍵值的設(shè)置,用戶(hù)可根據(jù)自身具體需求進(jìn)行設(shè)置。另外,還可以采用簽權(quán)方式,僅需要在簽權(quán)時(shí)調(diào)用阿里云提供的安全組件,在臨時(shí)憑證的幫助下能夠有效完成簽權(quán)。
其次,對(duì)于ALBB模塊來(lái)說(shuō),作為整個(gè)系統(tǒng)的開(kāi)始,會(huì)涉及到保障SDK正常運(yùn)行的初始化部分,如當(dāng)處于默認(rèn)情形下,發(fā)送的http請(qǐng)求的信息,并獲取到相應(yīng)的時(shí)間信息,以此來(lái)確保后續(xù)業(yè)務(wù)能夠有序開(kāi)展。需要注意的是,整個(gè)程序的生命周期中的ALBB實(shí)例僅具備一個(gè),具有獨(dú)立性特點(diǎn)。通過(guò)這種方式,能夠確保整個(gè)周期僅具備一個(gè)被外界訪(fǎng)問(wèn)的機(jī)會(huì),節(jié)省更多系統(tǒng)資源。
第三,OSSD模塊,具有承上啟下作用,為了確保整個(gè)數(shù)據(jù)訪(fǎng)問(wèn)過(guò)程得到有效控制,在模塊設(shè)計(jì)中,可以將網(wǎng)絡(luò)鏈接設(shè)置為公共屬性,通過(guò)是否取消鏈接上的數(shù)據(jù)傳輸判斷來(lái)決定數(shù)據(jù)傳輸。通過(guò)該項(xiàng)操作,能夠確保數(shù)據(jù)信息安全,且能夠提高數(shù)據(jù)傳輸有效性[2]。如若在操作中請(qǐng)求的數(shù)據(jù)為公共屬性,會(huì)在數(shù)據(jù)中心域名中構(gòu)建網(wǎng)絡(luò)鏈接,然后將鏈接作為返回結(jié)果傳輸給調(diào)用方。
第四,OSS模塊涉及移動(dòng)端設(shè)備文件系統(tǒng),在設(shè)計(jì)中,增加了加簽設(shè)備,如果沒(méi)有需要構(gòu)建相應(yīng)的錯(cuò)誤信息傳輸給用戶(hù),否則,要繼續(xù)調(diào)用OSS中的下載接口,并從服務(wù)器中下載數(shù)據(jù)。至此,整個(gè)移動(dòng)端的設(shè)計(jì)基本完成,下文將對(duì)云存儲(chǔ)服務(wù)的應(yīng)用進(jìn)行探討。
3 移動(dòng)端開(kāi)放式云存儲(chǔ)使用
針對(duì)上文對(duì)云存儲(chǔ)服務(wù)系統(tǒng)的設(shè)計(jì),為了方便用戶(hù)能夠在移動(dòng)端更好地享受到系統(tǒng)的便利。通過(guò)該SDK移動(dòng)應(yīng)用開(kāi)發(fā)者開(kāi)發(fā)的App,能夠直接從終端向OSS服務(wù)端進(jìn)行數(shù)據(jù)存取、刪除等處理,實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的高效利用。
3.1 OSS操作
對(duì)于開(kāi)放式存儲(chǔ)服務(wù)來(lái)說(shuō),它是阿里云對(duì)外提供海量、安全服務(wù),本文設(shè)計(jì)的SDK能夠幫助用戶(hù)更好地實(shí)現(xiàn)對(duì)接口的封裝處理。但值得我們注意的是,在正式操作前,SDK需要獲取相應(yīng)的服務(wù),然后完成加簽方法等初始化配置等,如針對(duì)數(shù)據(jù)中心域名的設(shè)置,應(yīng)先在OSS官網(wǎng)創(chuàng)建Bucket,并考慮費(fèi)用、響應(yīng)延遲等要素,如若在此過(guò)程中并未明確所屬而定數(shù)據(jù)中心,那么會(huì)自動(dòng)分配一個(gè)默認(rèn)的數(shù)據(jù)中心,即oss-cn-hangzhou。另外,針對(duì)自定義基準(zhǔn)時(shí)間的設(shè)置,由于OSS的token校驗(yàn)與時(shí)間有關(guān),在系統(tǒng)運(yùn)行時(shí),極易出現(xiàn)時(shí)間不準(zhǔn)現(xiàn)象,導(dǎo)致無(wú)法訪(fǎng)問(wèn)OSS服務(wù),故在正式操作前應(yīng)對(duì)接口進(jìn)行時(shí)間上的設(shè)置。
3.2 訪(fǎng)問(wèn)控制
當(dāng)阿里云官網(wǎng)開(kāi)通OSS服務(wù)過(guò)程中,創(chuàng)建了獨(dú)立的存儲(chǔ)空間,便可以利用OSS SDK在終端實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)。為了確保數(shù)據(jù)完整,免受外界因素的影響,OSS已經(jīng)在服務(wù)端做出了妥善的安全設(shè)置,構(gòu)建了良好的外部屏障,從而便于用戶(hù)能夠操作中快速獲取到自己需要的信息。另外,在注冊(cè)O(shè)SS時(shí),系統(tǒng)會(huì)分配一堆密鑰,用于訪(fǎng)問(wèn)權(quán)限的審核。簡(jiǎn)單來(lái)說(shuō),就是向OSS服務(wù)端發(fā)送請(qǐng)求,并攜帶上AK對(duì)請(qǐng)求內(nèi)容加簽,獲取到Token,鑒權(quán)通過(guò)后,OSS服務(wù)端才能夠響應(yīng)請(qǐng)求。由于在開(kāi)發(fā)過(guò)程中,主要在終端層面進(jìn)行開(kāi)發(fā),故可以忽略安全問(wèn)題,可以追采用加簽方法,在請(qǐng)求前調(diào)用加簽方法,完成操作。此外,對(duì)于Bucket的設(shè)置,應(yīng)在OSS上命名空間,賦予該模塊權(quán)限控制、日志記錄等高級(jí)功能。在具體數(shù)據(jù)操作前,要現(xiàn)行構(gòu)造一個(gè)具體的實(shí)例,為后面的數(shù)據(jù)操作提供更多空間。
3.3 存儲(chǔ)數(shù)據(jù)
OSS SDK能夠存儲(chǔ)數(shù)據(jù)的關(guān)鍵在于OSS Data類(lèi)實(shí)現(xiàn),這里的數(shù)據(jù)是在應(yīng)用程序運(yùn)行時(shí)完成數(shù)據(jù)存儲(chǔ)。當(dāng)程序處于運(yùn)行狀態(tài)時(shí),要上傳內(nèi)存一段數(shù)據(jù),并對(duì)本地內(nèi)存作為NSData進(jìn)行處理。完成上述操作后,如果指定的數(shù)據(jù)已經(jīng)完成存儲(chǔ),那么便可將其下載下來(lái)[3]。本文而在設(shè)計(jì)中引入了異步版本,允許傳入回調(diào)方法提高數(shù)據(jù)運(yùn)行有效性。此外,針對(duì)數(shù)據(jù)來(lái)說(shuō),在構(gòu)造出指定的數(shù)據(jù)后,可以直接對(duì)數(shù)據(jù)進(jìn)行刪除和拷貝處理。
3.4 文件操作
將文件操作的集合放在OSSFile類(lèi)中,對(duì)文件進(jìn)行直接上傳處理。但為了提高傳輸效率,避免出現(xiàn)傳輸異常現(xiàn)象,故借助OSS SDK提供文件上傳斷點(diǎn)續(xù)傳接口。在此基礎(chǔ)上,能夠在下次調(diào)用時(shí),繼續(xù)上傳原來(lái)的數(shù)據(jù)信息,提高數(shù)據(jù)傳輸有效性。
4 結(jié)論
根據(jù)上文所述,21世紀(jì)人類(lèi)社會(huì)正式進(jìn)入信息時(shí)代,信息資源成為社會(huì)各領(lǐng)域發(fā)展的重中之重。針對(duì)移動(dòng)端開(kāi)發(fā)式云存儲(chǔ)服務(wù)的設(shè)計(jì),能夠提高用戶(hù)對(duì)數(shù)據(jù)信息的利用,且能夠簡(jiǎn)化云存儲(chǔ)服務(wù)產(chǎn)生的冗余代碼。因此在實(shí)踐設(shè)計(jì)中,要切實(shí)從實(shí)際需求角度考慮,堅(jiān)持針對(duì)性原則,積極引入現(xiàn)代化技術(shù),賦予系統(tǒng)更加強(qiáng)大的應(yīng)用功能,提高系統(tǒng)運(yùn)行可靠性和安全性。隨著人們需求日漸提升,對(duì)于移動(dòng)端開(kāi)發(fā)式云存儲(chǔ)服務(wù)的開(kāi)發(fā),能夠免去諸多麻煩,且能夠避免邏輯上的漏洞,提高云存儲(chǔ)服務(wù)有效性,從而促使移動(dòng)端實(shí)用價(jià)值顯著提升。
參考文獻(xiàn)
[1]譚霜,賈焰,韓偉紅.云存儲(chǔ)中的數(shù)據(jù)完整性證明研究及進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2015,38(1):164-177.
[2]李暉,孫文海,李鳳華,等.公共云存儲(chǔ)服務(wù)數(shù)據(jù)安全及隱私保護(hù)技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2014,51(7):1397-1409.
[3]陳蘭香,許力.云存儲(chǔ)服務(wù)中可證明數(shù)據(jù)持有及恢復(fù)技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2012,49(S1):19-25.endprint