999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于云計算平臺的音樂專輯封面搜索應用

2016-03-25 08:55:01胡玥申
微型電腦應用 2016年2期
關鍵詞:云計算

胡玥申

?

基于云計算平臺的音樂專輯封面搜索應用

胡玥申

摘 要:云計算平臺能夠帶來更低的硬件成本、開發成本、運行維護成本,并使得應用更加安全可靠。在國內首個公有云計算平臺Sina App Engine(以下簡稱SAE)上,基于iTunes Store提供的Web服務搜索API設計并開發了音樂專輯封面搜索應用,供廣大音樂愛好者以及相關用戶搜索獲取音樂專輯的高質量封面圖像。

關鍵詞:云計算;Web應用;圖片搜索

0 引言

云計算是一個近來熱門的名詞,該名詞的出現在國外約已有4、5年的歷史。云計算平臺通常需要為分布式Web服務提供一整套的解決方案,并且需要強調安全性和可靠性,這就對整體的架構設計和技術實現提出了苛刻的要求。

本文描述的音樂專輯封面搜索應用建立在國內的首個公有云計算平臺SAE的分布式Web服務平臺上。該應用主要想要解決的問題在于給音樂愛好者提供一個方便搜索高質量專輯封面圖像的工具。

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

1 相關知識

1.1 Sina App Engine

SAE是國內首個公有云計算平臺。它提供了一系列分布式計算、存儲服務供開發者使用,其中包括分布式文件存儲、分布式數據庫集群、分布式緩存、分布式定時服務等,這些服務將大大降低開發者的開發成本。而SAE整體架構的高可靠性也大大降低了開發者的運營風險。

從架構上SAE采用分層設計,自上而下分別為:

1)反向代理層:在最外層的是HTTP反向代理,負責響應用戶的HTTP請求,并且提供負載均衡、健康檢查等功能。

2)路由邏輯層:邏輯層負責根據請求的唯一標識快速地映射到相應的Web服務池和硬件路徑。由于該層隱藏了很多具體地址信息,因此,使得開發者無需關心服務內部地實際分配情況。

3)Web計算服務池:每個Web服務進程實際處理用戶的HTTP請求,進程運行在HTTP服務沙盒內,同時還內嵌PHP解析引擎。用戶代碼最終通過接口來調用各種服務。

4)日志和統計中心:日志和統計中心負責對用戶所使用的服務進行統計和資源計費,并通過設定分鐘配額來判定是否有非正常使用的情況。當資源消耗的速度超過某一個預警閾值時,SAE通知系統便會向用戶發出預警。所有服務的日志會被匯總并備份,并提供檢索查詢服務。

5)各種分布式服務:SAE提供覆蓋了Web應用開發多方面的各種服務,供用戶去方便地調用。

iTunes Store音樂商店

1.2.1 iTunes Store簡介

iTunes Store是一個由蘋果公司營運的音樂商店。如今iTunes Store已經售出超過60億首歌曲,全球線上音樂銷售量占有超過70%。

1.2.1 iTunes Store Web服務搜索API

iTunes Store提供可以免費使用的Web服務搜索API,供開發者集成在自己的Web應用中,達到搜索iTunes Store中相關內容的功能。我們只需要將URL+不同參數的形式傳遞給iTunes Store,就可以快速地獲得返回結果。搜索API中支持的一些主要參數如表1所示:

表1 iTunes Store Web服務搜索API參數表

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

表2 iTunes Store Web服務搜索API返回JSON鍵值對

2 應用設計

2.1 數據來源

通過開放的搜索API,我們得以使用iTunes Store的數據庫作為本應用的數據來源。

iTunes Store數據庫內容全面,并且內容由唱片公司官方提供,因此,數據的準確性也是十分出色。同時,專輯封面圖像質量高,開放的搜索API更是讓資源的使用也變得更方便,降低開發成本,因此,選擇它作為本應用的數據來源十分理想。

2.2 搜索模塊

搜索模塊主要負責兩個功能,一個是根據iTunes Store的搜索API進行基于關鍵詞的模糊查找,另一功能則是直接根據iTunes鏈接,通過lookup請求進行精確的查找。

2.2.1 模糊查找

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

在這樣的情況下,當用戶輸入的搜索關鍵詞為example,搜索請求URL將成為如下所示:

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

應用將在用戶表單提交以后,自動獲取用戶輸入的關鍵詞字段,然后拼接成上述的URL提交給iTunes Store等待搜索結果。

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

當用戶提交關鍵詞之后,應用會先檢查此關鍵詞的對應JSON結果是否已被緩存。如果是,則會直接返回緩存的結果,而并不會將請求發送至iTunes Store。

反之,如果關鍵詞的搜索結果并沒有在緩存中被找到,我們則會發送一個針對此關鍵詞的緩存更新請求。根據緩存更新請求的數量,我們可以單獨或者進行批處理一并將搜索請求URL發送至iTunes Store服務器,并將返回的結果存入服務器本地緩存后更新至應用網頁端。

2.2.2 精確查找

精確查找是通過給定的iTunes鏈接來查找唯一(如果存在)的結果。一個iTunes Store鏈接的形式如下:

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

其中專輯的唯一標識符id是顯式給出的。因此當用戶在表單中輸入一個iTunes Store鏈接并提交,我們可以從這個鏈接中直接提取出id值。

然后,我們可以同樣通過拼接URL使用lookup請求來獲得結果。拼接后的URL如下:

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

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

2.3 展示模塊

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

2.3.1 列表展示

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

2.3.2 單封面展示

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

2.4 流程圖

綜上所述,本應用的整個使用過程如圖1所示:

圖1 應用流程

3 應用實現

3.1 開發環境

本應用選擇架設在SAE分布式Web服務開發平臺上,SAE上的每個應用都有給定的服務限制和配額設定。該配額經過嚴格計算得出的,因此能夠滿足大部分應用的需要,而不容易受到限制的影響。

3.1.1 后臺語言

本應用使用的后臺腳本語言為PHP,它的語法混合了C、Java、Perl和PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁,并且用PHP做出的動態頁面執行效率也比完全生成HTML標記的CGI要高許多。

3.1.2 前臺交互界面

本應用使用的前臺開發使用了主流的HTML5+CSS3+ JQuery的框架。

HTML5和CSS3是兩項新的Web技術標準,代表了下一代HTML和CSS技術。JQuery是一個優秀的Javascript框架。它是輕量級的js庫 ,不僅兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使開發者能更方便地處理事件、實現動畫效果,并且方便地為網站提供異步交互。

3.2 頁面設計

在頁面設計上,本應用采用了極簡風格,既在視覺上保證了整潔美觀,同時又能夠突出應用的功能性,其框架圖如圖2所示:

圖2 搜索界面 結果列表界面 單結果展示界面

3.2.1 搜索頁面

在搜索頁面上,我們只保留大圖標與搜索框,盡可能地突出搜索的功能。搜索框使用了CSS3標準的圓角屬性以及動畫屬性,隨著焦點的獲得與失去伴隨著動畫效果自由伸展。

3.2.2 結果列表頁面

當用戶使用模糊搜索功能,將有至多28條條結果以網格的方式顯示在結果列表頁面上。網格的尺寸將根據瀏覽器寬度自適應地改變。

3.3.3 單結果展示頁面

當用戶最終選定某一結果并點擊,應用將跳轉到單結果展示頁面。

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

在配色風格上,這個頁面將根據專輯封面圖像內容顏色的不同自動匹配相應的背景色。頁面下方的藍色按鈕鏈接會對應專輯在iTunes Store的相應頁面,通過點擊可以前往iTunes Store。

4 總結

本應用開發于并架設在SAE云計算平臺上,并利用iTunes Store音樂商店提供的開放Web服務搜索API,完成了模糊搜索與精確搜索音樂專輯封面圖像的兩個功能。

應用在開發完成后定名Coverbox,中文名“封面盒子”,以SAE平臺提供的二級域名“http://coverbox.sinaapp.com”上線,上線至今已經已經獲得不俗的訪問量。

由于數據來源的官方性,本應用的搜索結果非常準確,也因此獲得國內知名線上音樂論壇Ukaban官方推薦的音樂專輯封面獲取工具。

在未來,希望該應用能夠在平穩運行的基礎上進一步改進功能,提供更靈活的搜索方式,并且更好地運用分布式Web服務的各種特性,讓應用能夠更加完善,并且更安全可靠

參考文獻

[1] comScore.互聯網現狀與趨勢探究[J]. 聲屏世界·廣告人,2013年02期.

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

[3] 馬新強, 孫兆, 袁哲, 等. Web 標準與 HTML5 的核心技術研究[J]. 重慶文理學院學報: 自然科學版, 2010, 29(006): 61-64.

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

[5] 陳理捷. 微創業: 從開放平臺和云計算開始[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)

作者簡介:胡玥申(1992-),男,廣州,復旦大學軟件學院,上海市智能信息處理重點實驗室(復旦大學),復旦大學公共績效與信息化研究中心,碩士研究生,研究方向:電子商務與電子政務,上海 201203

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

中圖分類號:TP311

文獻標志碼:A

猜你喜歡
云計算
云計算虛擬化技術在電信領域的應用研究
基于云計算的醫院信息系統數據安全技術的應用探討
談云計算與信息資源共享管理
志愿服務與“互聯網+”結合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設計
基于云計算環境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術應用
科技視界(2016年20期)2016-09-29 13:34:06
主站蜘蛛池模板: 亚洲专区一区二区在线观看| 67194在线午夜亚洲| 国产在线高清一级毛片| 99热这里只有精品5| 国内自拍久第一页| 久久久久青草线综合超碰| 久久精品欧美一区二区| 1级黄色毛片| 久久精品国产999大香线焦| 在线精品欧美日韩| 一区二区影院| 黄色网站不卡无码| 亚洲欧美综合精品久久成人网| 国产丝袜无码一区二区视频| 亚洲综合网在线观看| 国产精品网曝门免费视频| 国产精欧美一区二区三区| 国产精品久久久免费视频| 欧美亚洲国产日韩电影在线| 国产又黄又硬又粗| 国产精品区视频中文字幕| 国产高清又黄又嫩的免费视频网站| 国产菊爆视频在线观看| 婷婷伊人久久| 成人年鲁鲁在线观看视频| 国产成人免费手机在线观看视频| 美女亚洲一区| 国产欧美一区二区三区视频在线观看| 黄色a一级视频| a毛片基地免费大全| 日韩欧美国产综合| 亚洲天堂自拍| 亚洲欧美综合另类图片小说区| 无码专区第一页| 免费人成黄页在线观看国产| 日本少妇又色又爽又高潮| 亚洲国产成人精品青青草原| 91精品国产无线乱码在线 | 国产精品污污在线观看网站| 伊人久综合| 欧美成人在线免费| 日韩一区精品视频一区二区| 99热这里只有精品在线观看| 欧美伦理一区| 国产在线视频福利资源站| av一区二区无码在线| 日韩精品成人在线| 色妺妺在线视频喷水| 精品无码一区二区三区电影| 中文字幕欧美日韩| 99在线视频免费观看| 成人国产精品2021| 久久青草精品一区二区三区| 在线观看免费人成视频色快速| 中文字幕无码中文字幕有码在线| 91原创视频在线| 免费va国产在线观看| 国产网站免费看| 亚洲激情区| 伊人91在线| 欧美精品在线观看视频| 国产在线拍偷自揄拍精品| 国产精品对白刺激| 亚洲永久色| 久久特级毛片| 国产经典三级在线| 99九九成人免费视频精品| 伊人国产无码高清视频| 国产精品99一区不卡| 一本色道久久88综合日韩精品| 欧美一区二区三区欧美日韩亚洲| 亚洲国产欧美国产综合久久| 无码 在线 在线| 久久国产亚洲偷自| 精品欧美一区二区三区久久久| 日本道综合一本久久久88| 国产成人精品优优av| 99视频只有精品| 亚洲美女一区二区三区| 亚洲精品成人片在线播放| 日韩精品专区免费无码aⅴ| 97狠狠操|