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

        ?

        基于云計(jì)算平臺(tái)的音樂(lè)專(zhuān)輯封面搜索應(yīng)用

        2016-03-25 08:55:01胡玥申
        微型電腦應(yīng)用 2016年2期
        關(guān)鍵詞:云計(jì)算

        胡玥申

        ?

        基于云計(jì)算平臺(tái)的音樂(lè)專(zhuān)輯封面搜索應(yīng)用

        胡玥申

        摘 要:云計(jì)算平臺(tái)能夠帶來(lái)更低的硬件成本、開(kāi)發(fā)成本、運(yùn)行維護(hù)成本,并使得應(yīng)用更加安全可靠。在國(guó)內(nèi)首個(gè)公有云計(jì)算平臺(tái)Sina App Engine(以下簡(jiǎn)稱(chēng)SAE)上,基于iTunes Store提供的Web服務(wù)搜索API設(shè)計(jì)并開(kāi)發(fā)了音樂(lè)專(zhuān)輯封面搜索應(yīng)用,供廣大音樂(lè)愛(ài)好者以及相關(guān)用戶搜索獲取音樂(lè)專(zhuān)輯的高質(zhì)量封面圖像。

        關(guān)鍵詞:云計(jì)算;Web應(yīng)用;圖片搜索

        0 引言

        云計(jì)算是一個(gè)近來(lái)熱門(mén)的名詞,該名詞的出現(xiàn)在國(guó)外約已有4、5年的歷史。云計(jì)算平臺(tái)通常需要為分布式Web服務(wù)提供一整套的解決方案,并且需要強(qiáng)調(diào)安全性和可靠性,這就對(duì)整體的架構(gòu)設(shè)計(jì)和技術(shù)實(shí)現(xiàn)提出了苛刻的要求。

        本文描述的音樂(lè)專(zhuān)輯封面搜索應(yīng)用建立在國(guó)內(nèi)的首個(gè)公有云計(jì)算平臺(tái)SAE的分布式Web服務(wù)平臺(tái)上。該應(yīng)用主要想要解決的問(wèn)題在于給音樂(lè)愛(ài)好者提供一個(gè)方便搜索高質(zhì)量專(zhuān)輯封面圖像的工具。

        隨著數(shù)字多媒體技術(shù)的不斷發(fā)展與流行,越來(lái)越多的音樂(lè)專(zhuān)輯選擇了數(shù)字發(fā)行的方式,數(shù)字格式的專(zhuān)輯封面也被越來(lái)越廣泛地應(yīng)用。專(zhuān)輯封面和普通圖片不同的是,它有唯一正確性以及對(duì)質(zhì)量的要求。發(fā)行的音樂(lè)專(zhuān)輯封面在官方發(fā)行后便是唯一確定的,否則就失去了官方價(jià)值。同時(shí)用戶對(duì)專(zhuān)輯封面的質(zhì)量也存在一定的要求,因此普通的圖片搜索引擎就并不能很好地滿足,而需要一個(gè)比較專(zhuān)門(mén)化的只關(guān)注音樂(lè)專(zhuān)輯封面的搜索引擎。這就是本文研究的目的所在。

        1 相關(guān)知識(shí)

        1.1 Sina App Engine

        SAE是國(guó)內(nèi)首個(gè)公有云計(jì)算平臺(tái)。它提供了一系列分布式計(jì)算、存儲(chǔ)服務(wù)供開(kāi)發(fā)者使用,其中包括分布式文件存儲(chǔ)、分布式數(shù)據(jù)庫(kù)集群、分布式緩存、分布式定時(shí)服務(wù)等,這些服務(wù)將大大降低開(kāi)發(fā)者的開(kāi)發(fā)成本。而SAE整體架構(gòu)的高可靠性也大大降低了開(kāi)發(fā)者的運(yùn)營(yíng)風(fēng)險(xiǎn)。

        從架構(gòu)上SAE采用分層設(shè)計(jì),自上而下分別為:

        1)反向代理層:在最外層的是HTTP反向代理,負(fù)責(zé)響應(yīng)用戶的HTTP請(qǐng)求,并且提供負(fù)載均衡、健康檢查等功能。

        2)路由邏輯層:邏輯層負(fù)責(zé)根據(jù)請(qǐng)求的唯一標(biāo)識(shí)快速地映射到相應(yīng)的Web服務(wù)池和硬件路徑。由于該層隱藏了很多具體地址信息,因此,使得開(kāi)發(fā)者無(wú)需關(guān)心服務(wù)內(nèi)部地實(shí)際分配情況。

        3)Web計(jì)算服務(wù)池:每個(gè)Web服務(wù)進(jìn)程實(shí)際處理用戶的HTTP請(qǐng)求,進(jìn)程運(yùn)行在HTTP服務(wù)沙盒內(nèi),同時(shí)還內(nèi)嵌PHP解析引擎。用戶代碼最終通過(guò)接口來(lái)調(diào)用各種服務(wù)。

        4)日志和統(tǒng)計(jì)中心:日志和統(tǒng)計(jì)中心負(fù)責(zé)對(duì)用戶所使用的服務(wù)進(jìn)行統(tǒng)計(jì)和資源計(jì)費(fèi),并通過(guò)設(shè)定分鐘配額來(lái)判定是否有非正常使用的情況。當(dāng)資源消耗的速度超過(guò)某一個(gè)預(yù)警閾值時(shí),SAE通知系統(tǒng)便會(huì)向用戶發(fā)出預(yù)警。所有服務(wù)的日志會(huì)被匯總并備份,并提供檢索查詢服務(wù)。

        5)各種分布式服務(wù):SAE提供覆蓋了Web應(yīng)用開(kāi)發(fā)多方面的各種服務(wù),供用戶去方便地調(diào)用。

        iTunes Store音樂(lè)商店

        1.2.1 iTunes Store簡(jiǎn)介

        iTunes Store是一個(gè)由蘋(píng)果公司營(yíng)運(yùn)的音樂(lè)商店。如今iTunes Store已經(jīng)售出超過(guò)60億首歌曲,全球線上音樂(lè)銷(xiāo)售量占有超過(guò)70%。

        1.2.1 iTunes Store Web服務(wù)搜索API

        iTunes Store提供可以免費(fèi)使用的Web服務(wù)搜索API,供開(kāi)發(fā)者集成在自己的Web應(yīng)用中,達(dá)到搜索iTunes Store中相關(guān)內(nèi)容的功能。我們只需要將URL+不同參數(shù)的形式傳遞給iTunes Store,就可以快速地獲得返回結(jié)果。搜索API中支持的一些主要參數(shù)如表1所示:

        表1 iTunes Store Web服務(wù)搜索API參數(shù)表

        搜索API的結(jié)果是以JSON形式返回的。同樣我們將一些重要的返回的JSON中可能包含的的鍵值對(duì)如表2所示:

        表2 iTunes Store Web服務(wù)搜索API返回JSON鍵值對(duì)

        2 應(yīng)用設(shè)計(jì)

        2.1 數(shù)據(jù)來(lái)源

        通過(guò)開(kāi)放的搜索API,我們得以使用iTunes Store的數(shù)據(jù)庫(kù)作為本應(yīng)用的數(shù)據(jù)來(lái)源。

        iTunes Store數(shù)據(jù)庫(kù)內(nèi)容全面,并且內(nèi)容由唱片公司官方提供,因此,數(shù)據(jù)的準(zhǔn)確性也是十分出色。同時(shí),專(zhuān)輯封面圖像質(zhì)量高,開(kāi)放的搜索API更是讓資源的使用也變得更方便,降低開(kāi)發(fā)成本,因此,選擇它作為本應(yīng)用的數(shù)據(jù)來(lái)源十分理想。

        2.2 搜索模塊

        搜索模塊主要負(fù)責(zé)兩個(gè)功能,一個(gè)是根據(jù)iTunes Store的搜索API進(jìn)行基于關(guān)鍵詞的模糊查找,另一功能則是直接根據(jù)iTunes鏈接,通過(guò)lookup請(qǐng)求進(jìn)行精確的查找。

        2.2.1 模糊查找

        模糊查找模塊通過(guò)iTunes Store搜索API來(lái)通過(guò)關(guān)鍵詞搜索iTunes Store中的相關(guān)內(nèi)容。在搜索請(qǐng)求的參數(shù)中,term來(lái)自于用戶輸入的關(guān)鍵字,其它一些字段由本應(yīng)用自動(dòng)填充。另外地,我們將參數(shù)entity設(shè)定為album,將搜索范圍限定在了音樂(lè)專(zhuān)輯,出于展示頁(yè)面排版布局的考慮參數(shù)limit被設(shè)置為了28。

        在這樣的情況下,當(dāng)用戶輸入的搜索關(guān)鍵詞為example,搜索請(qǐng)求URL將成為如下所示:

        http://itunes.apple.com/search?term=example&limit=28& entity=album

        應(yīng)用將在用戶表單提交以后,自動(dòng)獲取用戶輸入的關(guān)鍵詞字段,然后拼接成上述的URL提交給iTunes Store等待搜索結(jié)果。

        iTunes Store將以JSON格式回復(fù)搜索結(jié)果,隨后服務(wù)器端將對(duì)獲取的JSON對(duì)象進(jìn)行解析,并在網(wǎng)頁(yè)端更新。為了提升網(wǎng)站的相應(yīng)速度和減少與iTunes Store之間的信息交換,本應(yīng)用還采取了一定的緩存機(jī)制。

        當(dāng)用戶提交關(guān)鍵詞之后,應(yīng)用會(huì)先檢查此關(guān)鍵詞的對(duì)應(yīng)JSON結(jié)果是否已被緩存。如果是,則會(huì)直接返回緩存的結(jié)果,而并不會(huì)將請(qǐng)求發(fā)送至iTunes Store。

        反之,如果關(guān)鍵詞的搜索結(jié)果并沒(méi)有在緩存中被找到,我們則會(huì)發(fā)送一個(gè)針對(duì)此關(guān)鍵詞的緩存更新請(qǐng)求。根據(jù)緩存更新請(qǐng)求的數(shù)量,我們可以單獨(dú)或者進(jìn)行批處理一并將搜索請(qǐng)求URL發(fā)送至iTunes Store服務(wù)器,并將返回的結(jié)果存入服務(wù)器本地緩存后更新至應(yīng)用網(wǎng)頁(yè)端。

        2.2.2 精確查找

        精確查找是通過(guò)給定的iTunes鏈接來(lái)查找唯一(如果存在)的結(jié)果。一個(gè)iTunes Store鏈接的形式如下:

        https://itunes.apple.com/us/album/example/id12345678

        其中專(zhuān)輯的唯一標(biāo)識(shí)符id是顯式給出的。因此當(dāng)用戶在表單中輸入一個(gè)iTunes Store鏈接并提交,我們可以從這個(gè)鏈接中直接提取出id值。

        然后,我們可以同樣通過(guò)拼接URL使用lookup請(qǐng)求來(lái)獲得結(jié)果。拼接后的URL如下:

        http://itunes.apple.com/lookup?id=12345678

        同樣,如果此id值的對(duì)應(yīng)結(jié)果并沒(méi)有在服務(wù)器的本地緩存中,應(yīng)用會(huì)將此URL提交給iTunes Store并等待查詢結(jié)果。反之我們就可以直接采用緩存的結(jié)果提高效率,并且減少和iTunes Store之間的通信。

        2.3 展示模塊

        在獲得搜索結(jié)果以后,我們可以從返回的JSON中的artworkUrl60中得到相應(yīng)的封面圖像的地址。

        2.3.1 列表展示

        當(dāng)用戶使用模糊查找功能時(shí),得到的返回結(jié)果并不一定是唯一的,而可能是0到28中的任意整數(shù)個(gè)。因此我們需要使用一個(gè)列表來(lái)展示這些結(jié)果。列表中我們使用的是專(zhuān)輯封面的縮略圖,而60x60像素大小的圖片正好滿足了這一需求。

        2.3.2 單封面展示

        當(dāng)用戶使用的是精確查找,或者通過(guò)點(diǎn)擊列表頁(yè)面中的某一個(gè)專(zhuān)輯封面,我們將跳轉(zhuǎn)到一個(gè)單封面展示的頁(yè)面。在這個(gè)頁(yè)面,我們將提供不同尺寸大小的同一封面圖像供用戶選擇,方便于應(yīng)用在不同的情況下,如個(gè)人頭像,縮略圖,文章插圖,背景大圖等等,用戶可以根據(jù)個(gè)人所需選擇適合的尺寸大小。

        2.4 流程圖

        綜上所述,本應(yīng)用的整個(gè)使用過(guò)程如圖1所示:

        圖1 應(yīng)用流程

        3 應(yīng)用實(shí)現(xiàn)

        3.1 開(kāi)發(fā)環(huán)境

        本應(yīng)用選擇架設(shè)在SAE分布式Web服務(wù)開(kāi)發(fā)平臺(tái)上,SAE上的每個(gè)應(yīng)用都有給定的服務(wù)限制和配額設(shè)定。該配額經(jīng)過(guò)嚴(yán)格計(jì)算得出的,因此能夠滿足大部分應(yīng)用的需要,而不容易受到限制的影響。

        3.1.1 后臺(tái)語(yǔ)言

        本應(yīng)用使用的后臺(tái)腳本語(yǔ)言為PHP,它的語(yǔ)法混合了C、Java、Perl和PHP自創(chuàng)的語(yǔ)法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),并且用PHP做出的動(dòng)態(tài)頁(yè)面執(zhí)行效率也比完全生成HTML標(biāo)記的CGI要高許多。

        3.1.2 前臺(tái)交互界面

        本應(yīng)用使用的前臺(tái)開(kāi)發(fā)使用了主流的HTML5+CSS3+ JQuery的框架。

        HTML5和CSS3是兩項(xiàng)新的Web技術(shù)標(biāo)準(zhǔn),代表了下一代HTML和CSS技術(shù)。JQuery是一個(gè)優(yōu)秀的Javascript框架。它是輕量級(jí)的js庫(kù) ,不僅兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使開(kāi)發(fā)者能更方便地處理事件、實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供異步交互。

        3.2 頁(yè)面設(shè)計(jì)

        在頁(yè)面設(shè)計(jì)上,本應(yīng)用采用了極簡(jiǎn)風(fēng)格,既在視覺(jué)上保證了整潔美觀,同時(shí)又能夠突出應(yīng)用的功能性,其框架圖如圖2所示:

        圖2 搜索界面 結(jié)果列表界面 單結(jié)果展示界面

        3.2.1 搜索頁(yè)面

        在搜索頁(yè)面上,我們只保留大圖標(biāo)與搜索框,盡可能地突出搜索的功能。搜索框使用了CSS3標(biāo)準(zhǔn)的圓角屬性以及動(dòng)畫(huà)屬性,隨著焦點(diǎn)的獲得與失去伴隨著動(dòng)畫(huà)效果自由伸展。

        3.2.2 結(jié)果列表頁(yè)面

        當(dāng)用戶使用模糊搜索功能,將有至多28條條結(jié)果以網(wǎng)格的方式顯示在結(jié)果列表頁(yè)面上。網(wǎng)格的尺寸將根據(jù)瀏覽器寬度自適應(yīng)地改變。

        3.3.3 單結(jié)果展示頁(yè)面

        當(dāng)用戶最終選定某一結(jié)果并點(diǎn)擊,應(yīng)用將跳轉(zhuǎn)到單結(jié)果展示頁(yè)面。

        在這個(gè)頁(yè)面上,我們將自右向左依次展示1400x1400像素,1200x1200像素,600x600像素,170x170像素四種尺寸大小的專(zhuān)輯封面。點(diǎn)擊任何一張圖片都會(huì)直接跳轉(zhuǎn)到圖片地址本身,供用戶下載。

        在配色風(fēng)格上,這個(gè)頁(yè)面將根據(jù)專(zhuān)輯封面圖像內(nèi)容顏色的不同自動(dòng)匹配相應(yīng)的背景色。頁(yè)面下方的藍(lán)色按鈕鏈接會(huì)對(duì)應(yīng)專(zhuān)輯在iTunes Store的相應(yīng)頁(yè)面,通過(guò)點(diǎn)擊可以前往iTunes Store。

        4 總結(jié)

        本應(yīng)用開(kāi)發(fā)于并架設(shè)在SAE云計(jì)算平臺(tái)上,并利用iTunes Store音樂(lè)商店提供的開(kāi)放Web服務(wù)搜索API,完成了模糊搜索與精確搜索音樂(lè)專(zhuān)輯封面圖像的兩個(gè)功能。

        應(yīng)用在開(kāi)發(fā)完成后定名Coverbox,中文名“封面盒子”,以SAE平臺(tái)提供的二級(jí)域名“http://coverbox.sinaapp.com”上線,上線至今已經(jīng)已經(jīng)獲得不俗的訪問(wèn)量。

        由于數(shù)據(jù)來(lái)源的官方性,本應(yīng)用的搜索結(jié)果非常準(zhǔn)確,也因此獲得國(guó)內(nèi)知名線上音樂(lè)論壇Ukaban官方推薦的音樂(lè)專(zhuān)輯封面獲取工具。

        在未來(lái),希望該應(yīng)用能夠在平穩(wěn)運(yùn)行的基礎(chǔ)上進(jìn)一步改進(jìn)功能,提供更靈活的搜索方式,并且更好地運(yùn)用分布式Web服務(wù)的各種特性,讓?xiě)?yīng)用能夠更加完善,并且更安全可靠

        參考文獻(xiàn)

        [1] comScore.互聯(lián)網(wǎng)現(xiàn)狀與趨勢(shì)探究[J]. 聲屏世界·廣告人,2013年02期.

        [2] 叢磊. Sina App Engine 架構(gòu)——云計(jì)算時(shí)代的分布式Web 服務(wù)解決方案[J]. 程序員, 2010 (011): 59-62.

        [3] 馬新強(qiáng), 孫兆, 袁哲, 等. Web 標(biāo)準(zhǔn)與 HTML5 的核心技術(shù)研究[J]. 重慶文理學(xué)院學(xué)報(bào): 自然科學(xué)版, 2010, 29(006): 61-64.

        [4] 叢磊. 新浪云計(jì)算 SAE 的技術(shù)演變[J].程序員 2013 (004): 58-61.

        [5] 陳理捷. 微創(chuàng)業(yè): 從開(kāi)放平臺(tái)和云計(jì)算開(kāi)始[J].程序員2011 (003): 62-64.

        Cloud Based Music Album Cover Search Application

        Hu Yueshen
        (1.Software School, Fudan University, Shanghai 201203, China; 2.Shanghai Key Laboratory of Intelligent Information Processing (Fudan University), Shanghai 201203, China; 3.Public Performance and Information Research Center, Fudan University, Shanghai 201203, China)

        Abstract:Cloud-computing platforms can reduce the cost of hardware, development and maintenance of the applications running on it andalso make them more secure. We design and develop a music album cover search application based on iTunes Store’s web service search API on Sina App Engine, the first public cloud-computing platform in China. The application is for music lovers and users to search for high quality cover images of music albums.

        Key words:Cloud-computing; WebApp; Image Search

        收稿日期:(2015.06.09)

        作者簡(jiǎn)介:胡玥申(1992-),男,廣州,復(fù)旦大學(xué)軟件學(xué)院,上海市智能信息處理重點(diǎn)實(shí)驗(yàn)室(復(fù)旦大學(xué)),復(fù)旦大學(xué)公共績(jī)效與信息化研究中心,碩士研究生,研究方向:電子商務(wù)與電子政務(wù),上海 201203

        文章編號(hào):1007-757X(2016)02-0071-03

        中圖分類(lèi)號(hào):TP311

        文獻(xiàn)標(biāo)志碼:A

        猜你喜歡
        云計(jì)算
        云計(jì)算虛擬化技術(shù)在電信領(lǐng)域的應(yīng)用研究
        基于云計(jì)算的醫(yī)院信息系統(tǒng)數(shù)據(jù)安全技術(shù)的應(yīng)用探討
        談云計(jì)算與信息資源共享管理
        志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
        云計(jì)算與虛擬化
        基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
        基于云計(jì)算環(huán)境下的ERP教學(xué)改革分析
        科技視界(2016年22期)2016-10-18 14:33:46
        基于MapReduce的故障診斷方法
        實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
        云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
        科技視界(2016年20期)2016-09-29 13:34:06
        日本免费精品一区二区三区视频| 国产精品深田咏美一区二区| 日韩偷拍一区二区三区视频| 乱中年女人伦av| 亚洲中文字幕av天堂| 日本免费三级一区二区| 曰韩内射六十七十老熟女影视 | 亚洲av一宅男色影视| 午夜国产精品久久久久| 亚洲97成人精品久久久| 国产av久久久久精东av| 久久久久久无码av成人影院| 国产精品18久久久久久麻辣| 国产一区二区牛影视| 国产大片在线观看91| 久久天天躁狠狠躁夜夜av浪潮| 少妇无码av无码专区线| 在线视频中文字幕乱人伦 | 白浆国产精品一区二区| 内射少妇36p亚洲区| 国产高潮精品久久AV无码| 92自拍视频爽啪在线观看| 日韩av无码一区二区三区| 丁香五香天堂网| 少妇AV射精精品蜜桃专区| 亚州韩国日本区一区二区片| 亚洲乱码av中文一区二区| 久久丫精品国产亚洲av不卡 | 国产91会所女技师在线观看| 熟女少妇内射日韩亚洲| 亚洲欧美日韩国产一区| 国产日韩乱码精品一区二区| 制服丝袜一区二区三区| 丰满人妻被中出中文字幕| 日韩中文字幕无码av| 国产精品福利高清在线| 精品乱码久久久久久久| 99热国产在线| 亚洲1区第2区第3区在线播放| 国产精品免费av片在线观看| 精品国产福利一区二区在线|