本發(fā)明涉及智慧家居
技術(shù)領(lǐng)域:
,尤其涉及一種軟件開(kāi)發(fā)工具包管理方法及裝置。
背景技術(shù):
:隨著智能家居技術(shù)的不斷發(fā)展,智能家電的功能也越來(lái)越多。通常在智能家電中設(shè)置Wi-Fi模塊以實(shí)現(xiàn)家電與外界網(wǎng)絡(luò)的連接。其中,Wi-Fi模塊中集成有軟件開(kāi)發(fā)工具包(SoftwareDevelopmentKit,SDK),用以提供云平臺(tái)對(duì)接、空中下載技術(shù)(Over-the-AirTechnology,OTA)升級(jí)和近場(chǎng)發(fā)現(xiàn)等功能。用戶(hù)可以對(duì)Wi-Fi模塊中的SDK進(jìn)行再開(kāi)發(fā),以實(shí)現(xiàn)對(duì)家電快速地網(wǎng)絡(luò)連接和操作控制。然而,現(xiàn)有的智能家電中,其Wi-Fi模塊的SDK對(duì)用戶(hù)是完全公開(kāi)的,用戶(hù)可以直接對(duì)SDK進(jìn)行修改、再開(kāi)發(fā)。由此,導(dǎo)致SDK開(kāi)發(fā)者無(wú)法對(duì)SDK進(jìn)行統(tǒng)一的管理和控制,SDK版本混雜,同時(shí)也增加了SDK開(kāi)發(fā)者的維護(hù)難度。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問(wèn)題之一。為此,本發(fā)明的第一個(gè)目的在于提出一種軟件開(kāi)發(fā)工具包管理方法,該方法通過(guò)對(duì)SDK設(shè)置有效期,實(shí)現(xiàn)對(duì)SDK的統(tǒng)一管理和控制,降低SDK的維護(hù)成本。本發(fā)明的第二個(gè)目的在于提出一種軟件開(kāi)發(fā)工具包管理裝置。為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例提出了一種軟件開(kāi)發(fā)工具包管理方法,包括:獲取開(kāi)啟軟件開(kāi)發(fā)工具包SDK的開(kāi)啟請(qǐng)求,開(kāi)啟請(qǐng)求包括輸入的許可證License;獲取當(dāng)前時(shí)間;根據(jù)當(dāng)前時(shí)間確定License是否失效;如果License失效,則拒絕開(kāi)啟請(qǐng)求。本發(fā)明實(shí)施例的軟件開(kāi)發(fā)工具包管理方法,通過(guò)獲取開(kāi)啟軟件開(kāi)發(fā)工具包的開(kāi)啟請(qǐng)求,并獲取當(dāng)前時(shí)間,根據(jù)當(dāng)前時(shí)間確定開(kāi)啟請(qǐng)求中的License是否失效,并在License失效時(shí)拒絕開(kāi)啟請(qǐng)求,能夠?yàn)镾DK設(shè)置具有有效日期的License,從而禁止用戶(hù)修改SDK,方便開(kāi)發(fā)人員對(duì)SDK進(jìn)行統(tǒng)一管理,進(jìn)而有效地降低SDK的維護(hù)成本。為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例提出了一種軟件開(kāi)發(fā)工具包管理裝置,包括:第一獲取模塊,用于獲取開(kāi)啟軟件開(kāi)發(fā)工具包SDK的開(kāi)啟請(qǐng)求,開(kāi)啟請(qǐng)求包括輸入的許可證License;第二獲取模塊,用于獲取當(dāng)前時(shí)間;確定模塊,用于根據(jù)當(dāng)前時(shí)間確定License是否失效;禁止模塊,用于當(dāng)License失效時(shí),拒絕開(kāi)啟請(qǐng)求。本發(fā)明實(shí)施例的軟件開(kāi)發(fā)工具包管理裝置,通過(guò)獲取開(kāi)啟軟件開(kāi)發(fā)工具包的開(kāi)啟請(qǐng)求,并獲取當(dāng)前時(shí)間,根據(jù)當(dāng)前時(shí)間確定開(kāi)啟請(qǐng)求中的License是否失效,并在License失效時(shí)拒絕開(kāi)啟請(qǐng)求,能夠?yàn)镾DK設(shè)置具有有效日期的License,從而禁止用戶(hù)修改SDK,方便開(kāi)發(fā)人員對(duì)SDK進(jìn)行統(tǒng)一管理,進(jìn)而有效地降低SDK的維護(hù)成本。附圖說(shuō)明本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:圖1是本發(fā)明一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理方法的流程示意圖;圖2是獲取當(dāng)前時(shí)間的流程示意圖;圖3是根據(jù)當(dāng)前時(shí)間確定License是否失效的流程示意圖;圖4是本發(fā)明一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理裝置的結(jié)構(gòu)示意圖;圖5是本發(fā)明另一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。圖1是本發(fā)明一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理方法的流程示意圖。如圖1所示,本實(shí)施例的軟件開(kāi)發(fā)工具包管理方法包括:S11:獲取開(kāi)啟軟件開(kāi)發(fā)工具包SDK的開(kāi)啟請(qǐng)求,開(kāi)啟請(qǐng)求包括輸入的許可證License。通常情況下,智能家電的Wi-Fi模塊的SDK對(duì)用戶(hù)是完全公開(kāi)的。用戶(hù)可以從網(wǎng)絡(luò)中下載相應(yīng)的SDK進(jìn)行修改、再開(kāi)發(fā)等操作,導(dǎo)致SDK的版本混亂,增加了開(kāi)發(fā)人員的管理負(fù)擔(dān)。因此,本實(shí)施例中,在SDK中內(nèi)置一個(gè)License驗(yàn)證程序。如果用戶(hù)想要開(kāi)啟SDK,需要通過(guò)輸入正確的License才能夠進(jìn)入。具體地,當(dāng)用戶(hù)想要正常使用SDK時(shí),需要先向License驗(yàn)證程序發(fā)送開(kāi)啟請(qǐng)求,即輸入License。其中,license通過(guò)預(yù)設(shè)加密算法加密生成,且具有一定的有效期限。如果License驗(yàn)證程序發(fā)現(xiàn)License超出了有效期限,則會(huì)禁止開(kāi)啟SDK。其中,預(yù)設(shè)加密算法包括128位的高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)AES-128對(duì)稱(chēng)加密算法、數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)DES對(duì)稱(chēng)加密算法、RSA非對(duì)稱(chēng)加密算法和國(guó)際數(shù)據(jù)加密算法(InternationalDataEncryptionAlgorithm,IDEA)IDEA加密算法等可靠加密算法。S12:獲取當(dāng)前時(shí)間。本實(shí)施例中,為了驗(yàn)證License是否超出有效期,需要將有效期同當(dāng)前時(shí)間進(jìn)行比較,因此,需要獲取當(dāng)前時(shí)間。其中,當(dāng)前時(shí)間為輸入License所對(duì)應(yīng)的時(shí)間。具體地,如圖2所示,獲取當(dāng)前時(shí)間可以包括以下步驟:S21:執(zhí)行SDK的庫(kù)文件中的時(shí)間同步代碼。本實(shí)施例中,在SDK的庫(kù)文件中,存儲(chǔ)有從服務(wù)器獲取當(dāng)前時(shí)間的時(shí)間同步代碼。當(dāng)License驗(yàn)證程序需要獲取當(dāng)前時(shí)間時(shí),調(diào)用該時(shí)間同步代碼即可。S22:根據(jù)時(shí)間同步代碼向服務(wù)器發(fā)送時(shí)間同步請(qǐng)求,以使服務(wù)器根據(jù)時(shí)間同步請(qǐng)求返回當(dāng)前時(shí)間。本實(shí)施例中,License驗(yàn)證程序調(diào)用時(shí)間同步代碼之后,即可根據(jù)該時(shí)間同步代碼向服務(wù)器發(fā)送時(shí)間同步請(qǐng)求,以使服務(wù)器根據(jù)時(shí)間同步請(qǐng)求返回當(dāng)前時(shí)間。其中,服務(wù)器與互聯(lián)網(wǎng)連通,可即時(shí)地獲取網(wǎng)絡(luò)時(shí)間,也就是說(shuō),服務(wù)器返回的當(dāng)前時(shí)間是一個(gè)標(biāo)準(zhǔn)的時(shí)間,例如北京時(shí)間。S23:接收服務(wù)器返回的當(dāng)前時(shí)間。本實(shí)施例中,在服務(wù)器接收到時(shí)間同步請(qǐng)求之后,即獲取當(dāng)前時(shí)間并發(fā)送給License驗(yàn)證程序。License驗(yàn)證程序接收服務(wù)器返回的當(dāng)前時(shí)間。S13:根據(jù)當(dāng)前時(shí)間確定License是否失效。本實(shí)施例中,在獲取到當(dāng)前時(shí)間之后,即可根據(jù)當(dāng)前時(shí)間確定License是否失效。具體地,如圖3所示,根據(jù)當(dāng)前時(shí)間確定License是否失效,可以包括以下步驟:S31:確定License的有效日期。上文提到,License具有一定的有效期限,通過(guò)解析License可以獲取其對(duì)應(yīng)的有效日期。因此,對(duì)License進(jìn)行解密后,可獲取一個(gè)描述有效日期的字段,字段的數(shù)值對(duì)應(yīng)的就是License的有效日期。舉例來(lái)說(shuō),描述License的有效日期的字段可用3個(gè)字節(jié)長(zhǎng)度的16進(jìn)制數(shù)字表示,如表1所示。表1定義License的有效日期的字段表Byte2Byte1Byte0年月日表1中,Byte0用于表示日期信息,取值范圍為1~31;Byte1用于表示月份信息,取值范圍為1~12;Byte2用于表示年份信息,取值范圍為16~99,表示2016~2099年。本實(shí)施例中,在SDK驗(yàn)證程序獲取到描述License有效日期對(duì)應(yīng)的字段及字段的數(shù)值之后,即可根據(jù)字段及字段的數(shù)值確定License的有效日期。比如,SDK驗(yàn)證程序?qū)icense進(jìn)行解密后獲得的字段的數(shù)值為0x100C09,其代表含義為L(zhǎng)icense的有效日期為2016年12月9日。需要說(shuō)明的是,定義License的有效日期的字段不限于表1中所示的3個(gè)字節(jié),還可以增加字節(jié)單元進(jìn)行擴(kuò)展。例如增加一個(gè)字節(jié)用于定義時(shí)區(qū),進(jìn)而滿(mǎn)足不同國(guó)家SDK開(kāi)發(fā)者的需求。S32:將有效日期與當(dāng)前時(shí)間進(jìn)行對(duì)比。本實(shí)施例中,在獲取到當(dāng)前時(shí)間和License的有效日期之后,即可將有效日期和當(dāng)前時(shí)間進(jìn)行對(duì)比,以判斷當(dāng)前時(shí)間是否超過(guò)License的有效日期。S33:如果當(dāng)前時(shí)間已超過(guò)有效日期,則確定License失效。本實(shí)施例中,將有效日期和當(dāng)前時(shí)間進(jìn)行對(duì)比,如果當(dāng)前時(shí)間已超過(guò)有效日期,則確定License失效。S34:如果當(dāng)前時(shí)間未超過(guò)有效日期,則確定License有效。本實(shí)施例中,將有效日期和當(dāng)前時(shí)間進(jìn)行對(duì)比,如果當(dāng)前時(shí)間未超過(guò)有效日期,則確定License有效,并進(jìn)一步判斷License是否正確。若License正確,則接受開(kāi)啟請(qǐng)求,并開(kāi)啟SDK,然后對(duì)SDK進(jìn)行初始化;否則,拒絕開(kāi)啟請(qǐng)求。S14:如果License失效,則拒絕開(kāi)啟請(qǐng)求。本實(shí)施例中,將有效日期和當(dāng)前時(shí)間進(jìn)行對(duì)比,如果當(dāng)前時(shí)間已超過(guò)有效日期,則確定License失效,拒絕開(kāi)啟請(qǐng)求。例如:用戶(hù)輸入的License失效,則可禁止開(kāi)啟SDK,從而防止了用戶(hù)對(duì)SDK的隨意修改、再開(kāi)發(fā)。本發(fā)明實(shí)施例的軟件開(kāi)發(fā)工具包管理方法,通過(guò)獲取開(kāi)啟軟件開(kāi)發(fā)工具包的開(kāi)啟請(qǐng)求,并獲取當(dāng)前時(shí)間,根據(jù)當(dāng)前時(shí)間確定開(kāi)啟請(qǐng)求中的License是否失效,并在License失效時(shí)拒絕開(kāi)啟請(qǐng)求,能夠?yàn)镾DK設(shè)置具有有效日期的License,從而禁止用戶(hù)修改SDK,方便開(kāi)發(fā)人員對(duì)SDK進(jìn)行統(tǒng)一管理,進(jìn)而有效地降低SDK的維護(hù)成本。為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出一種軟件開(kāi)發(fā)工具包管理裝置,圖4是本發(fā)明一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理裝置的結(jié)構(gòu)示意圖。如圖4所示,本實(shí)施例的軟件開(kāi)發(fā)工具包管理裝置包括:第一獲取模塊410、第二獲取模塊420、確定模塊430,以及禁止模塊440。其中,第一獲取模塊410,用于獲取開(kāi)啟軟件開(kāi)發(fā)工具包SDK的開(kāi)啟請(qǐng)求,開(kāi)啟請(qǐng)求包括輸入的許可證License。其中,license通過(guò)預(yù)設(shè)加密算法加密生成。預(yù)設(shè)加密算法包括AES-128對(duì)稱(chēng)加密算法、DES對(duì)稱(chēng)加密算法、RSA非對(duì)稱(chēng)加密算法和IDEA加密算法等可靠加密算法。第二獲取模塊420,用于獲取當(dāng)前時(shí)間。確定模塊430,用于根據(jù)當(dāng)前時(shí)間確定License是否失效。禁止模塊440,用于當(dāng)License失效時(shí),拒絕開(kāi)啟請(qǐng)求。可選地,一些實(shí)施例中,參見(jiàn)圖5,圖5是本發(fā)明另一實(shí)施例提出的軟件開(kāi)發(fā)工具包管理裝置的結(jié)構(gòu)示意圖。如圖5所示,本實(shí)施例的軟件開(kāi)發(fā)工具包管理裝置還可以包括:判斷模塊450,用于當(dāng)License有效時(shí),則進(jìn)一步判斷License是否正確。開(kāi)啟模塊460,用于當(dāng)License正確時(shí),接受開(kāi)啟請(qǐng)求,并根據(jù)開(kāi)啟請(qǐng)求開(kāi)啟SDK。本實(shí)施例中,當(dāng)判斷模塊450確定License正確時(shí),開(kāi)啟模塊460接受開(kāi)啟請(qǐng)求,并根據(jù)該開(kāi)啟請(qǐng)求開(kāi)啟SDK;當(dāng)判斷模塊450確定License錯(cuò)誤時(shí),禁止模塊440拒絕開(kāi)啟請(qǐng)求。確定模塊430包括:第一確定單元431,用于確定License的有效日期。具體地,第一確定單元431用于:獲取描述License有效日期對(duì)應(yīng)的字段及地段的數(shù)值,并根據(jù)獲取的字段及字段的數(shù)值確定有效日期。對(duì)比單元432,用于將有效日期與當(dāng)前時(shí)間進(jìn)行對(duì)比。第二確定單元433,用于當(dāng)當(dāng)前時(shí)間已超過(guò)有效日期時(shí),確定License失效。第三確定單元434,用于當(dāng)當(dāng)前時(shí)間未超過(guò)有效日期時(shí),確定License有效。第二獲取模塊420包括:執(zhí)行單元421,用于執(zhí)行SDK的庫(kù)文件中的時(shí)間同步代碼。發(fā)送單元422,用于根據(jù)時(shí)間同步代碼向服務(wù)器發(fā)送時(shí)間同步請(qǐng)求,以使服務(wù)器根據(jù)時(shí)間同步請(qǐng)求返回當(dāng)前時(shí)間。接收單元423,用于接收服務(wù)器返回的當(dāng)前時(shí)間。需要說(shuō)明的是,前述實(shí)施例中對(duì)軟件開(kāi)發(fā)工具包管理方法實(shí)施例的解釋說(shuō)明也適用于本實(shí)施例的軟件開(kāi)發(fā)工具包管理裝置,其實(shí)現(xiàn)原理類(lèi)似,此處不再贅述。本發(fā)明實(shí)施例的軟件開(kāi)發(fā)工具包管理裝置,通過(guò)獲取開(kāi)啟軟件開(kāi)發(fā)工具包的開(kāi)啟請(qǐng)求,并獲取當(dāng)前時(shí)間,根據(jù)當(dāng)前時(shí)間確定開(kāi)啟請(qǐng)求中的License是否失效,并在License失效時(shí)拒絕開(kāi)啟請(qǐng)求,能夠?yàn)镾DK設(shè)置具有有效日期的License,從而禁止用戶(hù)修改SDK,方便開(kāi)發(fā)人員對(duì)SDK進(jìn)行統(tǒng)一管理,進(jìn)而有效地降低SDK的維護(hù)成本。在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書(shū)中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。當(dāng)前第1頁(yè)1 2 3