應用程序提供方法、裝置及系統(tǒng)的制作方法
【專利摘要】本公開是關(guān)于一種應用程序提供方法、裝置及系統(tǒng),屬于數(shù)據(jù)保護領(lǐng)域。所述方法包括:獲取用戶登錄信息;將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件;獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。本公開實現(xiàn)了提高源代碼的安全性的效果。本公開解決了源代碼安全性低的問題。本公開用于應用程序的提供。
【專利說明】應用程序提供方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本公開涉及數(shù)據(jù)保護領(lǐng)域,特別涉及一種應用程序提供方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規(guī)范書寫的文本文 件。源代碼編譯成應用程序后才能運行。
[0003] 相關(guān)技術(shù)中,服務器通常將應用程序以整包下載或推送的方式提供給用戶。用戶 在獲取了應用程序后,將應用程序安裝在終端上就可以使用。但是一些惡意用戶,通過將應 用程序反向編譯能夠得到源代碼。
[0004] 但是,由于服務器直接將應用程序提供給用戶,對源代碼未加以保護,使得惡意用 戶可以輕易地查看或修改應用程序的源代碼,導致很多源代碼被盜用,甚至產(chǎn)生通過源代 碼進行服務器攻擊等惡意行為。因此相關(guān)技術(shù)中,存在源代碼安全性低的問題。
【發(fā)明內(nèi)容】
[0005] 為了解決源代碼安全性低的問題,本公開實施例提供了一種應用程序提供方法、 裝置及系統(tǒng)。所述技術(shù)方案如下:
[0006] 第一方面,提供了一種應用程序提供方法,所述方法包括:
[0007] 獲取用戶登錄信息;
[0008] 將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用戶登錄信息確定 用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的 不同代碼段中的一個代碼段進行編譯得到的功能組件;
[0009] 獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提 供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0010] 可選地,所述獲取所述服務器提供的所述用戶有權(quán)使用的插件,包括:
[0011] 接收所述服務器發(fā)送的插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件 的信息;
[0012] 為所述服務器發(fā)送的插件列表中每個插件設置相應的插件接口;
[0013] 如果在一個插件接口中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述 服務器下載與所述插件接口對應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件 接口所對應的插件。
[0014] 可選地,在下載某一插件之前,從所述服務器獲取所述插件的最新版本號;
[0015] 檢測所述客戶端是否支持所述最新版本號的插件的運行;
[0016] 如果所述客戶端不支持所述最新版本號的插件的運行,則不下載所述插件。
[0017] 可選地,所述獲取所述服務器提供的所述用戶有權(quán)使用的插件,包括:
[0018] 接收所述服務器推送的所述用戶有權(quán)使用的全部或部分插件。
[0019] 可選地,所述方法還包括:
[0020] 對于已獲取到本地的插件中的任一插件,從所述服務器獲取所述插件的同步信 息;
[0021] 根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同步。
[0022] 可選地,所述根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同 步,包括:
[0023] 若所述同步信息指示所述用戶已無權(quán)使用所述插件,則刪除所述插件的相關(guān)內(nèi) 容;
[0024] 若所述同步信息指示所述插件已經(jīng)失效,則刪除所述插件的相關(guān)內(nèi)容;
[0025] 若所述同步信息指示的所述插件的最新版本號高于本地的當前版本號,則下載并 更新所述插件;
[0026] 若所述同步信息指示的所述插件的最新版本號等于本地的當前版本號,則保持所 述插件。
[0027] 可選地,所述方法還包括:
[0028] 從所述服務器獲取所述客戶端的最新版本號;
[0029] 檢測所述客戶端的最新版本號是否高于當前版本號,所述客戶端用于提供插件的 運行環(huán)境;
[0030] 如果所述客戶端的最新版本號高于當前版本號,則從所述服務器下載并安裝所述 最新版本號對應的客戶端。
[0031] 可選地,所述方法還包括:
[0032] 在獲取到任一插件后,通過與所述服務器約定的解密方式對所述插件進行解密。
[0033] 第二方面,提供了一種應用程序提供方法,所述方法包括:
[0034] 接收終端發(fā)送的用戶登錄信息;
[0035] 根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程 序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組 件;
[0036] 向所述終端提供所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的運 行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0037] 可選地,所述向所述終端提供所述用戶有權(quán)使用的插件,包括:
[0038] 向所述終端發(fā)送插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信 息;所述終端用于為所述插件列表中每個插件設置相應的插件接口,如果在一個插件接口 中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務器下載與所述插件接口對 應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口所對應的插件;
[0039] 向所述終端提供所述插件的下載。
[0040] 可選地,所述方法還包括:
[0041] 在接收所述終端發(fā)送的某一插件的版本號獲取請求后,向所述終端提供所述插件 的最新版本號,所述終端用于檢測所述客戶端是否支持所述最新版本號的插件的運行,如 果所述客戶端不支持所述最新版本號的插件的運行,則不下載所述插件。
[0042] 可選地,所述向所述終端提供所述用戶有權(quán)使用的插件,包括:
[0043] 向所述終端推送所述用戶有權(quán)使用的全部或部分插件。
[0044] 可選地,所述方法還包括:
[0045] 對于已獲取到所述終端的插件中的任一插件,向所述終端提供所述插件的同步信 息,所述終端用于根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同步。
[0046] 可選地,所述方法還包括:
[0047] 向所述終端提供所述客戶端的最新版本號,所述終端用于檢測所述客戶端的最新 版本號是否高于當前版本號,如果所述客戶端的最新版本號高于當前版本號,則從所述服 務器下載并安裝所述最新版本號對應的客戶端;
[0048] 向所述終端提供所述客戶端的下載。
[0049] 可選地,所述方法還包括:
[0050] 在提供任一插件的下載之前,通過與所述客戶端約定的加密方式對所述插件進行 加密。
[0051] 第三方面,提供了一種應用程序提供裝置,包括:
[0052] 第一獲取單元,被設置為獲取用戶登錄信息;
[0053] 發(fā)送單元,被設置為將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所 述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照 預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件;
[0054] 第二獲取單元,被設置為獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個 插件用于在基于客戶端提供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0055] 可選地,所述第二獲取單元,被設置為:
[0056] 接收所述服務器發(fā)送的插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件 的信息;
[0057] 為所述服務器發(fā)送的插件列表中每個插件設置相應的插件接口;
[0058] 如果在一個插件接口中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述 服務器下載與所述插件接口對應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件 接口所對應的插件。
[0059] 可選地,所述應用程序提供裝置還包括:
[0060] 第三獲取單元,被設置為在下載某一插件之前,從所述服務器獲取所述插件的最 新版本號;
[0061] 第一檢測單元,被設置為檢測所述客戶端是否支持所述最新版本號的插件的運 行;
[0062] 處理單元,被設置為在所述客戶端不支持所述最新版本號的插件的運行時,不下 載所述插件。
[0063] 可選地,所述第二獲取單元,被設置為接收所述服務器推送的所述用戶有權(quán)使用 的全部或部分插件。
[0064] 可選地,所述應用程序提供裝置還包括:
[0065] 第四獲取單元,被設置為對于已獲取到本地的插件中的任一插件,從所述服務器 獲取所述插件的同步信息;
[0066] 同步單元,被設置為根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本 的同步。
[0067] 可選地,所述同步單元,被設置為:
[0068] 若所述同步信息指示所述用戶已無權(quán)使用所述插件,則刪除所述插件的相關(guān)內(nèi) 容;
[0069] 若所述同步信息指示所述插件已經(jīng)失效,則刪除所述插件的相關(guān)內(nèi)容;
[0070] 若所述同步信息指示的所述插件的最新版本號高于本地的當前版本號,則下載并 更新所述插件;
[0071] 若所述同步信息指示的所述插件的最新版本號等于本地的當前版本號,則保持所 述插件;
[0072] 若所述同步信息指示所述用戶有權(quán)使用所述插件且本地不存在所述插件,則下載 所述插件。
[0073] 可選地,所述應用程序提供裝置還包括:
[0074] 第五獲取單元,被設置為從所述服務器獲取所述客戶端的最新版本號;
[0075] 第二檢測單元,被設置為檢測所述客戶端的最新版本號是否高于當前版本號,所 述客戶端用于提供插件的運行環(huán)境;
[0076] 下載單元,被設置為在所述客戶端的最新版本號高于當前版本號時,從所述服務 器下載并安裝所述最新版本號對應的客戶端。
[0077] 可選地,所述應用程序提供裝置還包括:
[0078] 解密單元,被設置為在獲取到任一插件后,通過與所述服務器約定的解密方式對 所述插件進行解密。
[0079] 第四方面,提供了一種應用程序提供裝置,包括:
[0080] 接收單元,被設置為接收終端發(fā)送的用戶登錄信息;
[0081] 確定單元,被設置為根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件 包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行 編譯得到的功能組件;
[0082] 第一提供單元,被設置為向所述終端提供所述用戶有權(quán)使用的插件,每個插件用 于在基于客戶端提供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0083] 可選地,所述第一提供單元被設置為:
[0084] 向所述終端發(fā)送插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信 息;所述終端用于為所述插件列表中每個插件設置相應的插件接口,如果在一個插件接口 中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務器下載與所述插件接口對 應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口所對應的插件;
[0085] 向所述終端提供所述插件的下載。
[0086] 可選地,所述應用程序提供裝置還包括:
[0087] 第二提供單元,被設置為在接收所述終端發(fā)送的某一插件的版本號獲取請求后, 向所述終端提供所述插件的最新版本號,所述終端用于檢測所述客戶端是否支持所述最新 版本號的插件的運行,如果所述客戶端不支持所述最新版本號的插件的運行,則不下載所 述插件。
[0088] 可選地,所述第一提供單元,被設置為:
[0089] 向所述終端推送所述用戶有權(quán)使用的全部或部分插件。
[0090] 可選地,所述應用程序提供裝置還包括:
[0091] 第三提供單元,被設置為對于已獲取到所述終端的插件中的任一插件,向所述終 端提供所述插件的同步信息,所述終端用于根據(jù)所述同步信息對所述插件進行使用權(quán)限和 /或使用版本的同步。
[0092] 可選地,所述應用程序提供裝置還包括:
[0093] 第四提供單元,被設置為向所述終端提供所述客戶端的最新版本號,所述終端用 于檢測所述客戶端的最新版本號是否高于當前版本號,如果所述客戶端的最新版本號高于 當前版本號,則從所述服務器下載并安裝所述最新版本號對應的客戶端;
[0094] 第五提供單元,被設置為向所述終端提供所述客戶端的下載。
[0095] 可選地,所述應用程序提供裝置還包括:
[0096] 解密單元,被設置為在提供任一插件的下載之前,通過與所述客戶端約定的加密 方式對所述插件進行加密。
[0097] 第五方面,提供了一種應用程序提供系統(tǒng),包括:
[0098] 以上第三方面中任一所述的應用程序提供裝置;
[0099] 以及以上第四方面中任一所述的應用程序提供裝置。
[0100] 第六方面,提供了一種應用程序提供裝置,包括:
[0101] 處理器;
[0102] 用于存儲所述處理器可執(zhí)行指令的存儲器;
[0103] 其中,所述處理器被配置為:
[0104] 獲取用戶登錄信息;
[0105] 將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用戶登錄信息確定 用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的 不同代碼段中的一個代碼段進行編譯得到的功能組件;
[0106] 獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提 供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0107] 第七方面,提供了一種應用程序提供裝置,包括:
[0108] 處理器;
[0109] 用于存儲所述處理器可執(zhí)行指令的存儲器;
[0110] 其中,所述處理器被配置為:
[0111] 接收終端發(fā)送的用戶登錄信息;
[0112] 根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程 序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組 件;
[0113] 向所述終端提供所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的運 行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
[0114] 本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
[0115] 本公開提供的應用程序提供方法、裝置及系統(tǒng),通過把應用程序以插件的形式結(jié) 合用戶權(quán)限提供給終端,使終端獲取到與用戶權(quán)限對應的部分版本的應用程序,盡量避免 將完整版本的應用程序提供給終端,降低了用戶獲取源代碼的概率,因此提高了源代碼的 安全性。
[0116] 應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不 能限制本公開。
【專利附圖】
【附圖說明】
[0117] 為了更清楚地說明本公開的實施例,下面將對實施例描述中所需要使用的附圖作 簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領(lǐng)域普通 技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0118] 圖1是根據(jù)一示例性實施例示出的一種應用程序提供方法的方法流程圖。
[0119] 圖2A是根據(jù)另一示例性實施例示出的一種應用程序提供方法的方法流程圖。
[0120] 圖2B是根據(jù)另一示例性實施例示出的一種應用程序提供方法的原理示意圖。
[0121] 圖3是根據(jù)一示例性實施例示出的一種應用程序提供方法的信息交互圖。
[0122] 圖4是根據(jù)一示例性實施例示出的一種登錄界面圖。
[0123] 圖5是根據(jù)一示例性實施例示出的一種終端從下載服務器下載插件的方法流程 圖。
[0124] 圖6是根據(jù)一示例性實施例示出的一種終端界面圖。
[0125] 圖7是根據(jù)一示例性實施例示出的另一種終端界面圖。
[0126] 圖8是根據(jù)一示例性實施例示出的一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0127] 圖9是根據(jù)一示例性實施例示出的另一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0128] 圖10是根據(jù)一示例性實施例示出的又一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0129] 圖11是根據(jù)一示例性實施例示出的再一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0130] 圖12是根據(jù)另一示例性實施例示出的一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0131] 圖13是根據(jù)另一示例性實施例示出的另一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0132] 圖14是根據(jù)另一示例性實施例示出的又一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0133] 圖15是根據(jù)另一示例性實施例示出的再一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0134] 圖16是根據(jù)又一示例性實施例示出的一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0135] 圖17是根據(jù)又一示例性實施例示出的另一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0136] 圖18是根據(jù)一示例性實施例示出的一種應用程序提供系統(tǒng)的結(jié)構(gòu)示意圖。
[0137] 圖19是根據(jù)又一示例性實施例示出的又一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0138] 圖20是根據(jù)又一示例性實施例示出的再一種應用程序提供裝置的結(jié)構(gòu)示意圖。
[0139] 通過上述附圖,已示出本公開明確的實施例,后文中將有更詳細的描述。這些附圖 和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實施例為 本領(lǐng)域技術(shù)人員說明本公開的概念。
【具體實施方式】
[0140] 為了使本公開的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本公開作進 一步地詳細描述,顯然,所描述的實施例僅僅是本公開一部份實施例,而不是全部的實施 例。基于本公開中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的 所有其它實施例,都屬于本公開保護的范圍。
[0141] 圖1是根據(jù)一示例性實施例示出的一種應用程序提供方法的方法流程圖。本實施 例以該應用程序提供方法應用于終端來舉例說明。該方法包括如下幾個步驟:
[0142] 在步驟101中,獲取用戶登錄信息。
[0143] 在步驟102中,將用戶登錄信息發(fā)送至服務器,服務器用于根據(jù)用戶登錄信息確 定用戶有權(quán)使用的插件,插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的不 同代碼段中的一個代碼段進行編譯得到的功能組件。
[0144] 在步驟103中,獲取服務器提供的用戶有權(quán)使用的插件,每個插件用于在基于客 戶端提供的運行環(huán)境運行后實現(xiàn)應用程序的至少一個功能。
[0145] 綜上所述,本實施例提供的應用程序提供方法,通過把應用程序以插件的形式結(jié) 合用戶權(quán)限提供給終端,使終端獲取到與用戶權(quán)限對應的部分版本的應用程序,避免將完 整版本的應用程序提供給終端,降低了用戶獲取源代碼的概率,因此提高了源代碼的安全 性。
[0146] 圖2A是根據(jù)另一示例性實施例示出的一種應用程序提供方法的方法流程圖,本 實施例以該應用程序提供方法應用服務器中來舉例說明。該方法包括如下幾個步驟:
[0147] 在步驟201中,接收終端發(fā)送的用戶登錄信息。
[0148] 在步驟202中,根據(jù)用戶登錄信息確定用戶有權(quán)使用的插件,插件包括:將一個應 用程序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功 能組件。
[0149] 在步驟203中,向終端提供用戶有權(quán)使用的插件,每個插件用于在基于客戶端提 供的運行環(huán)境運行后實現(xiàn)應用程序的至少一個功能。
[0150] 綜上所述,本實施例提供的應用程序提供方法,通過把應用程序以插件的形式結(jié) 合用戶權(quán)限提供給終端,使終端獲取到與用戶權(quán)限對應的部分版本的應用程序,避免將完 整版本的應用程序提供給終端,降低了用戶獲取源代碼的概率,因此提高了源代碼的安全 性。
[0151] 為了更形象的說明圖2A所示的實施例,請參考圖2B,其示出了圖2A實施例的原理 示意圖。一個完整版本的應用程序42的源代碼被預先劃分為客戶端和插件兩部分。其中, 客戶端提供插件在運行時的運行環(huán)境,而至少一個插件中的每個插件則用于實現(xiàn)應用程序 42的至少一個功能,比如圖中以6個插件為例。每個插件是應用程序42按照預設規(guī)則劃分 得到的不同代碼段中的一個代碼段進行編譯得到的功能組件。
[0152] 在一個用戶需要使用該應用程序42時,終端20會將用戶登錄信息發(fā)送給服務器 40。服務器40根據(jù)用戶登錄信息確定該用戶有權(quán)使用的插件,然后把該用戶有權(quán)使用的插 件反饋給終端20。終端20獲取到的應用程序22為部分版本的應用程序。也即,終端20在 用戶權(quán)限不是最高級權(quán)限時,只能獲取到部分版本的應用程序,而無法獲取到完整版本的 應用程序。即便終端20的用戶對獲取到的插件進行反向編譯,也僅能夠得到一小部分源代 碼,無法得到應用程序的完整源代碼,有效保證了源代碼的安全性。
[0153] 圖3是根據(jù)一示例性實施例示出的一種應用程序提供方法的信息交互圖。本實施 例以該應用程序提供方法應用于終端和服務器中來舉例說明。該應用程序提供方法包括如 下幾個步驟:
[0154] 在步驟301中,終端從服務器下載客戶端。
[0155] 當用戶希望獲取一個應用程序時,終端接收用戶的安裝包下載指令。終端可以向 服務器發(fā)送安裝包下載請求,該安裝包下載請求可以包括終端標識,如終端的IPdnternet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,和客戶端標識。服務器根據(jù)客戶端標識確定相應的客戶端的 安裝包,將該安裝包發(fā)送至該終端標識所對應的終端。終端在接收到用戶觸發(fā)的安裝指令 后安裝該安裝包,并在安裝包安裝完成后在終端的用戶界面顯示客戶端接口,該客戶端接 口可以是圖標或彈窗等等。
[0156] 在步驟302中,終端運行客戶端。
[0157] 終端對客戶端接口進行監(jiān)測,當在該客戶端接口接收到用戶觸發(fā)的客戶端運行指 令時,運行該客戶端。
[0158] 如果客戶端被設置為開機自啟狀態(tài),終端也可以在每次終端開機時,運行該客戶 端。
[0159] 在運行客戶端后,客戶端會通過用戶界面向用戶提供登錄界面,該登錄界面可以 如圖4所示,用于提示用戶填寫用戶登錄信息。
[0160] 在步驟303中,終端獲取用戶登錄信息。
[0161] 終端可以在如圖4所示的登錄界面獲取用戶輸入的用戶登錄信息,或者根據(jù)用戶 預先設置的方式獲取用戶登錄信息。
[0162] 該用戶登錄信息包括用戶標識,該用戶標識可以是用戶名和密碼;該用戶標識還 可以是手機號碼。
[0163] 在步驟304中,終端將用戶登錄信息發(fā)送至服務器。
[0164] 在步驟305中,服務器根據(jù)用戶登錄信息確定用戶有權(quán)使用的插件。
[0165] 服務器中存儲多個插件,該插件包括:將一個應用程序的源代碼按照預設規(guī)則劃 分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件。
[0166] 服務器可以根據(jù)預設劃分規(guī)則劃分用戶權(quán)限,然后根據(jù)該用戶權(quán)限建立用戶標識 與插件的對應關(guān)系,并實時更新該用戶標識與插件的對應關(guān)系。
[0167] 實際應用中,該用戶標識與插件的對應關(guān)系可以以表格或圖形形式表現(xiàn)出來,月艮 務器根據(jù)該用戶標識在該用戶標識與插件的對應關(guān)系查詢得到該用戶標識對應的插件作 為該用戶有權(quán)使用的插件。
[0168] 示例的,該用戶與插件的對應關(guān)系可以以插件查詢表的形式表現(xiàn)出來,服務器中 維護的插件查詢表可以如表1所示。不同用戶標識可以對應不同的插件,假設服務器獲取 的用戶登錄信息中用戶標識為張三,根據(jù)表1可以查詢得到張三對應的插件標識為A,則可 以獲取插件A。需要說明的是,用戶標識與插件的對應關(guān)系可以包括用戶組與插件的對應 關(guān)系,每個用戶組包括至少一個用戶標識,示例的,表1中的趙六和李七即可組成一個用戶 組,該用戶組對應的插件為插件A、B和C。
[0169] 表 1
[0170]
【權(quán)利要求】
1. 一種應用程序提供方法,其特征在于,所述方法包括: 獲取用戶登錄信息; 將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用戶登錄信息確定用戶 有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的不同 代碼段中的一個代碼段進行編譯得到的功能組件; 獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的 運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述服務器提供的所述用戶有 權(quán)使用的插件,包括: 接收所述服務器發(fā)送的插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信 息; 為所述服務器發(fā)送的插件列表中每個插件設置相應的插件接口; 如果在一個插件接口中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務 器下載與所述插件接口對應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口 所對應的插件。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 在下載某一插件之前,從所述服務器獲取所述插件的最新版本號; 檢測所述客戶端是否支持所述最新版本號的插件的運行; 如果所述客戶端不支持所述最新版本號的插件的運行,則不下載所述插件。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述服務器提供的所述用戶有 權(quán)使用的插件,包括: 接收所述服務器推送的所述用戶有權(quán)使用的全部或部分插件。
5. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述方法還包括: 對于已獲取到本地的插件中的任一插件,從所述服務器獲取所述插件的同步信息; 根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同步。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述同步信息對所述插件進行 使用權(quán)限和/或使用版本的同步,包括: 若所述同步信息指示所述用戶已無權(quán)使用所述插件,則刪除所述插件的相關(guān)內(nèi)容; 若所述同步信息指示所述插件已經(jīng)失效,則刪除所述插件的相關(guān)內(nèi)容; 若所述同步信息指示的所述插件的最新版本號高于本地的當前版本號,則下載并更新 所述插件; 若所述同步信息指示的所述插件的最新版本號等于本地的當前版本號,則保持所述插 件。
7. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述方法還包括: 從所述服務器獲取所述客戶端的最新版本號; 檢測所述客戶端的最新版本號是否高于當前版本號,所述客戶端用于提供所述插件的 運行環(huán)境; 如果所述客戶端的最新版本號高于當前版本號,則從所述服務器下載并安裝所述最新 版本號對應的客戶端。
8. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述方法還包括: 在獲取到任一插件后,通過與所述服務器約定的解密方式對所述插件進行解密。
9. 一種應用程序提供方法,其特征在于,所述方法包括: 接收終端發(fā)送的用戶登錄信息; 根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的 源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件; 向所述終端提供所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的運行環(huán) 境運行后實現(xiàn)所述應用程序的至少一個功能。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述向所述終端提供所述用戶有權(quán)使用 的插件,包括: 向所述終端發(fā)送插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信息;所 述終端用于為所述插件列表中每個插件設置相應的插件接口,如果在一個插件接口中檢測 到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務器下載與所述插件接口對應的插 件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口所對應的插件; 向所述終端提供所述插件的下載。
11. 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括: 在接收所述終端發(fā)送的某一插件的版本號獲取請求后,向所述終端提供所述插件的最 新版本號,所述終端用于檢測所述客戶端是否支持所述最新版本號的插件的運行,如果所 述客戶端不支持所述最新版本號的插件的運行,則不下載所述插件。
12. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述向所述終端提供所述用戶有權(quán)使用 的插件,包括: 向所述終端推送所述用戶有權(quán)使用的全部或部分插件。
13. 根據(jù)權(quán)利要求9至12任一所述的方法,其特征在于,所述方法還包括: 對于已獲取到所述終端的插件中的任一插件,向所述終端提供所述插件的同步信息, 所述終端用于根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同步。
14. 根據(jù)權(quán)利要求9至12任一所述的方法,其特征在于,所述方法還包括: 向所述終端提供所述客戶端的最新版本號,所述終端用于檢測所述客戶端的最新版本 號是否高于當前版本號,如果所述客戶端的最新版本號高于當前版本號,則從所述服務器 下載并安裝所述最新版本號對應的客戶端; 向所述終端提供所述客戶端的下載。
15. 根據(jù)權(quán)利要求9至12任一所述的方法,其特征在于,所述方法還包括: 在提供任一插件的下載之前,通過與所述客戶端約定的加密方式對所述插件進行加 Γ t I ο
16. -種應用程序提供裝置,其特征在于,包括: 第一獲取單元,被設置為獲取用戶登錄信息; 發(fā)送單元,被設置為將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用 戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設 規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件; 第二獲取單元,被設置為獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件 用于在基于客戶端提供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
17. 根據(jù)權(quán)利要求16所述的應用程序提供裝置,其特征在于,所述第二獲取單元,被設 置為: 接收所述服務器發(fā)送的插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信 息; 為所述服務器發(fā)送的插件列表中每個插件設置相應的插件接口; 如果在一個插件接口中檢測到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務 器下載與所述插件接口對應的插件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口 所對應的插件。
18. 根據(jù)權(quán)利要求17所述的應用程序提供裝置,其特征在于,所述應用程序提供裝置 還包括: 第三獲取單元,被設置為在下載某一插件之前,從所述服務器獲取所述插件的最新版 本號; 第一檢測單元,被設置為檢測所述客戶端是否支持所述最新版本號的插件的運行; 處理單元,被設置為在所述客戶端不支持所述最新版本號的插件的運行時,不下載所 述插件。
19. 根據(jù)權(quán)利要求16所述的應用程序提供裝置,其特征在于,所述第二獲取單元,被設 置為接收所述服務器推送的所述用戶有權(quán)使用的全部或部分插件。
20. 根據(jù)權(quán)利要求16至19任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置,還包括: 第四獲取單元,被設置為對于已獲取到本地的插件中的任一插件,從所述服務器獲取 所述插件的同步信息; 同步單元,被設置為根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或使用版本的同 止 /J/ 〇
21. 根據(jù)權(quán)利要求20所述的應用程序提供裝置,其特征在于,所述同步單元,被設置 為: 若所述同步信息指示所述用戶已無權(quán)使用所述插件,則刪除所述插件的相關(guān)內(nèi)容; 若所述同步信息指示所述插件已經(jīng)失效,則刪除所述插件的相關(guān)內(nèi)容; 若所述同步信息指示的所述插件的最新版本號高于本地的當前版本號,則下載并更新 所述插件; 若所述同步信息指示的所述插件的最新版本號等于本地的當前版本號,則保持所述插 件。
22. 根據(jù)權(quán)利要求16至19任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置還包括: 第五獲取單元,被設置為從所述服務器獲取所述客戶端的最新版本號; 第二檢測單元,被設置為檢測所述客戶端的最新版本號是否高于當前版本號,所述客 戶端用于提供插件的運行環(huán)境; 下載單元,被設置為在所述客戶端的最新版本號高于當前版本號時,從所述服務器下 載并安裝所述最新版本號對應的客戶端。
23. 根據(jù)權(quán)利要求16至19任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置還包括: 解密單元,被設置為在獲取到任一插件后,通過與所述服務器約定的解密方式對所述 插件進行解密。
24. -種應用程序提供裝置,其特征在于,包括: 接收單元,被設置為接收終端發(fā)送的用戶登錄信息; 確定單元,被設置為根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括: 將一個應用程序的源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯 得到的功能組件; 第一提供單元,被設置為向所述終端提供所述用戶有權(quán)使用的插件,每個插件用于在 基于客戶端提供的運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
25. 根據(jù)權(quán)利要求24所述的應用程序提供裝置,其特征在于,所述第一提供單元,被設 置為: 向所述終端發(fā)送插件列表,所述插件列表記錄有所述用戶有權(quán)使用的插件的信息;所 述終端用于為所述插件列表中每個插件設置相應的插件接口,如果在一個插件接口中檢測 到用戶觸發(fā)的下載信號,則根據(jù)所述下載信號在所述服務器下載與所述插件接口對應的插 件,或者,在網(wǎng)絡情況優(yōu)于預設條件時,下載每個插件接口所對應的插件; 向所述終端提供所述插件的下載。
26. 根據(jù)權(quán)利要求25所述的應用程序提供裝置,其特征在于,所述應用程序提供裝置 還包括: 第二提供單元,被設置為在接收所述終端發(fā)送的某一插件的版本號獲取請求后,向所 述終端提供所述插件的最新版本號,所述終端用于檢測所述客戶端是否支持所述最新版本 號的插件的運行,如果所述客戶端不支持所述最新版本號的插件的運行,則不下載所述插 件。
27. 根據(jù)權(quán)利要求24所述的應用程序提供裝置,其特征在于,所述第一提供單元,被設 置為: 向所述終端推送所述用戶有權(quán)使用的全部或部分插件。
28. 根據(jù)權(quán)利要求24至27任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置還包括: 第三提供單元,被設置為對于已獲取到所述終端的插件中的任一插件,向所述終端提 供所述插件的同步信息,所述終端用于根據(jù)所述同步信息對所述插件進行使用權(quán)限和/或 使用版本的同步。
29. 根據(jù)權(quán)利要求24至27任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置還包括: 第四提供單元,被設置為向所述終端提供所述客戶端的最新版本號,所述終端用于檢 測所述客戶端的最新版本號是否高于當前版本號,如果所述客戶端的最新版本號高于當前 版本號,則從所述服務器下載并安裝所述最新版本號對應的客戶端; 第五提供單元,被設置為向所述終端提供所述客戶端的下載。
30. 根據(jù)權(quán)利要求24至27任一所述的應用程序提供裝置,其特征在于,所述應用程序 提供裝置還包括: 解密單元,被設置為在提供任一插件的下載之前,通過與所述客戶端約定的加密方式 對所述插件進行加密。
31. -種應用程序提供系統(tǒng),其特征在于,包括: 權(quán)利要求16至23任一權(quán)利要求所述的應用程序提供裝置; 以及權(quán)利要求24至30任一權(quán)利要求所述的應用程序提供裝置。
32. -種應用程序提供裝置,其特征在于,包括: 處理器; 用于存儲所述處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 獲取用戶登錄信息; 將所述用戶登錄信息發(fā)送至服務器,所述服務器用于根據(jù)所述用戶登錄信息確定用戶 有權(quán)使用的插件,所述插件包括:將一個應用程序的源代碼按照預設規(guī)則劃分得到的不同 代碼段中的一個代碼段進行編譯得到的功能組件; 獲取所述服務器提供的所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的 運行環(huán)境運行后實現(xiàn)所述應用程序的至少一個功能。
33. -種應用程序提供裝置,其特征在于,包括: 處理器; 用于存儲所述處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 接收終端發(fā)送的用戶登錄信息; 根據(jù)所述用戶登錄信息確定用戶有權(quán)使用的插件,所述插件包括:將一個應用程序的 源代碼按照預設規(guī)則劃分得到的不同代碼段中的一個代碼段進行編譯得到的功能組件; 向所述終端提供所述用戶有權(quán)使用的插件,每個插件用于在基于客戶端提供的運行環(huán) 境運行后實現(xiàn)所述應用程序的至少一個功能。
【文檔編號】H04L29/06GK104090785SQ201410276549
【公開日】2014年10月8日 申請日期:2014年6月19日 優(yōu)先權(quán)日:2014年6月19日
【發(fā)明者】丁亮, 金亮, 李名進 申請人:小米科技有限責任公司