提供apk下載的方法和裝置以及nginx服務器的制造方法
【技術領域】
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)領域,特別是涉及一種提供APK下載的方法和裝置以及NGINX服務器。
【背景技術】
[0002]安卓操作系統(tǒng)(Android)的應用開發(fā)完成后,一般會打包成安裝包(AndroidPackage Kit,簡稱APK),由安卓終端下載后進行安裝,以實現(xiàn)其功能。由于Android的開放性,發(fā)布APK的平臺很多,例如各種各樣的手機應用市場。APK由多個渠道進行發(fā)布時,往往需要了解發(fā)布渠道的信息,以便統(tǒng)計各渠道的用戶量、統(tǒng)計活躍、在線數(shù)據(jù)。
[0003]基于以上原因,需要在APK中加入相應的渠道信息,現(xiàn)有技術中添加渠道信息的方法一般為:在發(fā)布APK前,在線下將各種渠道信息分別加入原生包,生成包含有各個渠道信息的APK(以下簡稱渠道包)。
[0004]使用以上現(xiàn)有技術的方案,一方面由于分發(fā)渠道的數(shù)量很多,每次應用更新時都需要進行大量的添加渠道信息的工作,效率低,直接影響了 APK的上線速度,另一方面,由于同一 APK添加入不同渠道信息后,出現(xiàn)了多個不同的APK占用了大量的文件存儲空間。
【發(fā)明內容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的NGINX服務器和提供APK下載的裝置和和相應的提供APK下載的方法。本發(fā)明一個進一步的目的是要節(jié)省APK發(fā)布前加入渠道信息進行的操作,提高APK發(fā)布的效率。
[0006]本發(fā)明另一個進一步的目的是要減小APK文件的數(shù)量,便于文件的管理。
[0007]依據(jù)本發(fā)明的一個方面,提供了提供APK下載的方法。該提供APK下載的方法包括:獲取APK下載請求,其中APK下載請求中包括請求源的渠道標識;在APK下載請求中提取渠道標識,并根據(jù)渠道標識確定出對應的渠道信息,其中渠道信息與請求源的渠道類型一一對應;將渠道信息作為APK下載請求對應的APK文件的文件注釋內容附加在APK文件上,并向請求源返回附加有文件注釋內容的APK文件。
[0008]可選地,根據(jù)渠道標識確定出對應的渠道信息包括:在預設的渠道映射表中查詢與渠道標識對應的渠道信息,渠道映射表中保存有多個渠道標識與渠道信息的映射關系。
[0009]可選地,渠道映射表為以渠道標識作為關鍵碼值的散列表。
[0010]可選地,根據(jù)渠道標識確定出對應的渠道信息包括:按照預設的邏輯運算規(guī)則對渠道標識計算得出渠道信息。
[0011]可選地,按照預設的邏輯運算規(guī)則對渠道標識計算得出渠道信息包括:按照預設的加密算法對渠道標識進行加密計算,得到渠道加密信息;按照預設的散列算法對渠道標識進行散列計算,得到渠道摘要信息;將渠道加密信息和渠道摘要信息拼接為渠道信息。
[0012]可選地,在將渠道加密信息和渠道摘要信息拼接為渠道信息之后還包括:將渠道標識和渠道信息匹配保存至預設的渠道映射表中,以供處理后續(xù)APK下載請求時使用。
[0013]可選地,APK下載請求包括http協(xié)議的所請求的APK的統(tǒng)一資源定位符,渠道標識位于統(tǒng)一資源定位符的預設字段處。
[0014]可選地,將渠道信息作為APK下載請求對應的APK文件的文件注釋內容附加在APK文件上包括:將渠道信息附加在APK文件的末尾;計算渠道信息的數(shù)據(jù)長度;在發(fā)送給請求源的HTTP數(shù)據(jù)包頭中的內容長度值中增加數(shù)據(jù)長度。
[0015]根據(jù)本發(fā)明的另一個方面,還提供了一種提供APK下載的裝置。該提供APK下載的裝置包括:請求獲取模塊,配置為獲取APK下載請求,其中APK下載請求中包括所請求的APK的資源定位符以及請求源的渠道標識;信息確定模塊,配置為在APK下載請求中提取渠道標識,并根據(jù)渠道標識確定出對應的渠道信息,其中渠道信息與請求源的渠道類型一一對應;下載響應模塊,配置為將渠道信息作為APK下載請求對應的APK文件的文件注釋內容附加在APK文件上,向請求源返回附加有文件注釋內容的APK文件。
[0016]可選地,信息確定模塊包括:查詢子模塊,配置為在預設的渠道映射表中查詢與渠道標識對應的渠道信息,渠道映射表中保存有多個渠道標識與渠道信息的映射關系。
[0017]可選地,渠道映射表為以渠道標識作為關鍵碼值的散列表。
[0018]可選地,信息確定模塊包括:計算子模塊,配置為按照預設的邏輯運算規(guī)則對渠道標識計算得出渠道信息。
[0019]可選地,計算子模塊還配置為:按照預設的加密算法對渠道標識進行加密計算,得到渠道加密信息;按照預設的散列算法對渠道標識進行散列計算,得到渠道摘要信息;將渠道加密信息和渠道摘要信息拼接為渠道信息。
[0020]可選地,以上提供APK下載的裝置還包括:列表生成模塊,配置為將渠道標識和渠道信息匹配保存至預設的渠道映射表中,以供查詢子模塊處理后續(xù)APK下載請求時使用。
[0021]可選地,APK下載請求包括http協(xié)議的所請求的APK的統(tǒng)一資源定位符,渠道標識位于統(tǒng)一資源定位符的預設字段處。
[0022]可選地,下載響應模塊還配置為:將渠道信息附加在APK文件的末尾;計算渠道信息的數(shù)據(jù)長度;在發(fā)送給請求源的HTTP數(shù)據(jù)包頭中的內容長度值中增加數(shù)據(jù)長度。
[0023]根據(jù)本發(fā)明的另一個方面,還提供了一種NGINX服務器。該NGINX服務器配置為布置有以上介紹的任一種的提供APK下載的裝置。
[0024]本發(fā)明的提供APK下載的方法,利用APK的文件格式特點,將渠道信息作為文件注釋內容附加在在下載請求對應的APK文件的末尾,從而在添加渠道信息時無需對APK文件進行解包,運算簡單,減小了為APK文件添加渠道信息操作,從而提高了 APK文件發(fā)布效率。
[0025]進一步地,由于本發(fā)明的提供APK下載的方法在下載的過程中,根據(jù)下載請求添加渠道信息,無需準備多個添加有不同渠道信息的多個APK文件,減少了文件數(shù)量,并且進一步節(jié)省了存儲空間。
[0026]更進一步地,加入的APK文件的渠道信息,優(yōu)選為經過加密以及散列處理的渠道數(shù)據(jù),安全性好,并且可以有效減小渠道信息的計算量。
[0027]更進一步地,本發(fā)明的提供APK下載的方法可以利用NGINX服務器實現(xiàn),支持更多地并發(fā)連接,體現(xiàn)更高的效率。
[0028]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
[0029]根據(jù)下文結合附圖對本發(fā)明具體實施例的詳細描述,本領域技術人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
【附圖說明】
[0030]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0031]圖1是根據(jù)本發(fā)明一個實施例的NGINX服務器的提供APK下載的示意性架構圖;
[0032]圖2是根據(jù)本發(fā)明一個實施例的提供APK下載的裝置的示意圖;
[0033]圖3是根據(jù)本發(fā)明另一個實施例的提供APK下載的裝置的示意圖;
[0034]圖4是根據(jù)本發(fā)明一個實施例的提供APK下載的方法的示意圖;以及
[0035]圖5是根據(jù)本發(fā)明一個實施例的提供APK下載的方法的一種可選流程圖。
【具體實施方式】
[0036]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0037]圖1是根據(jù)本發(fā)明一個實施例的NGINX服務器的提供APK下載的示意性架構