專利名稱:一種軟件功能控制方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種軟件功能控制方法及系統(tǒng)。
背景技術(shù):
一個完整的軟件需要由若干功能模塊組成,但是并不是每個用戶都需要用到所有的功能,或者說不應(yīng)該免費(fèi)向用戶開放所用的功能,應(yīng)該有所限制,用戶需要付出一定的費(fèi)用才能使用相應(yīng)功能,所以需要對軟件的功能進(jìn)行控制。
現(xiàn)有技術(shù)中一種軟件功能控制方法為采用配置文件實(shí)現(xiàn)對軟件功能的控制。正常情況下,軟件開發(fā)商設(shè)計(jì)的軟件提供的功能集合會很多,但是針對不同的客戶群體,可能需要不同的軟件功能集合。這些不同的功能組合,一般是通過配置文件開關(guān)確定的。
但是配置文件一般沒有完善的安全手段,一些具有一定經(jīng)驗(yàn)的用戶可能很容易地對配置文件進(jìn)行非法修改,以便打開其所需要的功能,這樣會給軟件開發(fā)商帶來很大的經(jīng)濟(jì)損失;另外配置文件很難與用戶購買軟件時簽訂的合同掛鉤,合同上簽訂的軟件功能可能需要對配置文件進(jìn)行手工維護(hù)才能與之相對應(yīng)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種軟件功能控制方法及系統(tǒng),用于安全、便捷地對軟件功能進(jìn)行控制。
本發(fā)明提供的軟件功能控制方法包括步驟1)根據(jù)許可證中軟件功能授權(quán)信息建立軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系;2)調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。
優(yōu)選地,所述步驟2)包括步驟21)讀取對應(yīng)關(guān)系中軟件功能對應(yīng)的軟件功能狀態(tài);22)設(shè)置當(dāng)前軟件中該軟件功能的軟件功能狀態(tài)與對應(yīng)關(guān)系中該軟件功能的軟件功能狀態(tài)相同;23)重復(fù)步驟21),直至讀取完所有軟件功能對應(yīng)的軟件功能狀態(tài)。
優(yōu)選地,所述步驟1)之前進(jìn)一步包括步驟當(dāng)軟件功能啟動時,許可證控制單元根據(jù)請求下發(fā)許可證中軟件功能授權(quán)信息。
優(yōu)選地,所述步驟1)之前進(jìn)一步包括步驟對新上傳的許可證進(jìn)行合法性檢測,若合法,則下發(fā)并使用新許可證中軟件功能授權(quán)信息,否則使用原許可證中軟件功能授權(quán)信息。
優(yōu)選地,所述檢測包括A)判斷許可證是否過期,若過期則所述許可證不合法,若未過期則轉(zhuǎn)向步驟B);B)對許可證中軟件功能授權(quán)信息通過校驗(yàn)碼進(jìn)行加密計(jì)算,將計(jì)算結(jié)果與許可證控制單元對其計(jì)算的結(jié)果進(jìn)行比較,若符合,則許可證合法,否則不合法。
優(yōu)選地,所述對應(yīng)關(guān)系存儲在映射表中,或者存儲在數(shù)組中。
本發(fā)明提供的軟件功能控制系統(tǒng)包括許可證控制單元,軟件控制單元;所述許可證控制單元用于向所述軟件控制單元發(fā)送許可證中軟件功能授權(quán)信息,軟件控制單元接收到所述信息后,建立軟件功能與功能狀態(tài)的對應(yīng)關(guān)系并調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。
優(yōu)選地,所述許可證控制單元還用于當(dāng)許可證過期,用戶重新購買新的許可證進(jìn)行升級后,對許可證進(jìn)行重新激活。
優(yōu)選地,所述許可證控制單元包括加載單元,校驗(yàn)單元;所述加載單元加載許可證之后將許可證發(fā)送到校驗(yàn)單元,校驗(yàn)單元對許可證進(jìn)行合法性校驗(yàn),并將校驗(yàn)通過的許可證中軟件功能授權(quán)信息下發(fā)。
優(yōu)選地,所述軟件控制單元包括接收單元,功能解析單元以及軟件功能控制單元;所述接收單元獲取校驗(yàn)單元下發(fā)的軟件功能授權(quán)信息,并將所述信息發(fā)送給功能解析單元,功能解析單元把接收到的軟件功能授權(quán)信息轉(zhuǎn)換成內(nèi)部的功能映射表,軟件功能控制單元根據(jù)軟件功能請求查詢所述功能映射表以判斷所述軟件功能是否應(yīng)該開放,拒絕不開放軟件功能的使用請求。
以上技術(shù)方案可以看出,本發(fā)明具有以下優(yōu)點(diǎn)首先,由于本發(fā)明采用許可證對軟件功能進(jìn)行控制,相對于現(xiàn)有技術(shù)中采用配置文件對軟件功能進(jìn)行控制而言,本發(fā)明中許可證需要有校驗(yàn)的過程,所以安全性得到提高,另外用戶與軟件開發(fā)商簽訂的合同即保存在許可證中,通過許可證來控制軟件功能可以避免手工配置,所以提高了系統(tǒng)效率;其次,由于本發(fā)明既可以適用于軟件功能啟動時對其進(jìn)行控制,還可以用于許可證更新加載時對軟件功能進(jìn)行控制,所以本發(fā)明適用范圍更為廣闊;最后,由于本發(fā)明在對許可證進(jìn)行校驗(yàn)之前還有加密的過程,所以進(jìn)一步提高了許可證的安全性。
圖1為本發(fā)明方法第一實(shí)施例流程圖;圖2為本發(fā)明方法第二實(shí)施例流程圖;圖3為本發(fā)明方法第三實(shí)施例流程圖;圖4為本發(fā)明方法第四實(shí)施例流程圖;圖5為本發(fā)明方法第五實(shí)施例流程圖;圖6為本發(fā)明系統(tǒng)示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種軟件功能控制方法及系統(tǒng),其核心思想是利用許可證對軟件功能進(jìn)行控制。
所述許可證是供應(yīng)商與客戶對所銷售/購買的產(chǎn)品使用范圍、期限等進(jìn)行授權(quán)/被授權(quán)的一種合約形式,通過許可證,客戶同時也獲得供應(yīng)商所承諾的相應(yīng)服務(wù)。物理形式上表現(xiàn)為許可證授權(quán)證書以及許可證文件。
功能控制是指對提供運(yùn)營商軟件的功能集合的整體控制,能通過開關(guān)限制向客戶提供指定的軟件功能集合。
許可證許可服務(wù)功能主要是確認(rèn)用戶的購買服務(wù)的使用范圍、期限等并進(jìn)行授權(quán)。主要體現(xiàn)確認(rèn)用戶購買商品,確認(rèn)用戶購買商品的使用期限(如試用時間等),到期后停止用戶使用。本發(fā)明為許可證增加了軟件功能控制的信息。
下面對本發(fā)明軟件功能控制方法進(jìn)行詳細(xì)描述請參閱圖1,本發(fā)明方法第一實(shí)施例包括D1)建立對應(yīng)關(guān)系;其中,根據(jù)許可證中軟件功能授權(quán)信息建立軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系。
D2)調(diào)整軟件功能;其中,調(diào)整當(dāng)前軟件功能狀態(tài)與對應(yīng)關(guān)系中該軟件功能狀態(tài)保持一致。
請參閱圖2,本發(fā)明方法第二實(shí)施例包括P1)建立對應(yīng)關(guān)系;其中,將接收到的許可證中軟件功能授權(quán)信息轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,由該列表來保存軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系,可以理解的是,轉(zhuǎn)換后的對應(yīng)關(guān)系可以以列表的形式保存,還可以以數(shù)組的形式保存,或者是其他數(shù)據(jù)結(jié)構(gòu)保存。
P2)判斷軟件功能是否已經(jīng)打開,若打開,轉(zhuǎn)向步驟P3),否則轉(zhuǎn)向步驟P5);P3)判斷所述軟件功能是否應(yīng)該打開,若是,轉(zhuǎn)向步驟P7),否則轉(zhuǎn)向步驟P4);其中,查詢對應(yīng)關(guān)系中所述軟件功能是否應(yīng)該打開。
P4)關(guān)閉所述功能;其中,將所述功能關(guān)閉,不允許用戶使用。
其中步驟P2)~P3)~P4)描述的情況是當(dāng)前軟件功能已經(jīng)打開,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為關(guān)閉,則將該軟件功能關(guān)閉,不允許用戶再使用。
P5)判斷所述軟件功能是否應(yīng)該關(guān)閉,若是,轉(zhuǎn)向步驟P7),否則轉(zhuǎn)向步驟P6);其中,查詢對應(yīng)關(guān)系中所述軟件功能是否應(yīng)該關(guān)閉。
P6)開啟所述功能;其中,將所述功能開啟,允許用戶使用。
其中,步驟P2)~P5)~P6)描述的情況是當(dāng)前軟件功能已經(jīng)關(guān)閉,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為開放,則將該軟件功能開啟,允許用戶使用。
P7)判斷軟件功能狀態(tài)是否檢查完,若是,轉(zhuǎn)向步驟P8),否則轉(zhuǎn)向步驟P2);P8)結(jié)束。
本實(shí)施例中細(xì)化了調(diào)整軟件功能的詳細(xì)流程。
本實(shí)施例是通過遍歷所有軟件功能,判斷其狀態(tài),然后再與對應(yīng)關(guān)系中該功能的狀態(tài)進(jìn)行比較,如果與對應(yīng)關(guān)系中的狀態(tài)不符合,則修改該軟件功能當(dāng)前狀態(tài)。同樣地,還可以通過如下方式建立對應(yīng)關(guān)系之后,讀取對應(yīng)關(guān)系中所有軟件功能的狀態(tài),然后將當(dāng)前軟件功能的狀態(tài)設(shè)置與對應(yīng)關(guān)系中軟件功能的狀態(tài)一致,即與本實(shí)施例的區(qū)別在于不對當(dāng)前軟件功能的狀態(tài)進(jìn)行判斷,同樣能夠達(dá)到本發(fā)明的目的。
請參閱圖3,本發(fā)明方法第三實(shí)施例包括Q1)軟件功能啟動;其中,軟件功能的啟動是指一個軟件子模塊的啟動。
Q2)請求獲??;其中,軟件控制單元向許可證控制單元請求獲取許可證中功能授權(quán)信息。
Q3)下發(fā)信息;其中,許可證控制單元收到軟件控制單元的請求后向軟件控制單元下發(fā)功能授權(quán)信息。
Q4)建立對應(yīng)關(guān)系;
其中,將接收到的許可證中軟件功能授權(quán)信息轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,由該列表來保存軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系,可以理解的是,轉(zhuǎn)換后的對應(yīng)關(guān)系可以以列表的形式保存,還可以以數(shù)組的形式保存,或者是其他數(shù)據(jù)結(jié)構(gòu)保存。
Q5)判斷軟件功能是否已經(jīng)打開,若打開,轉(zhuǎn)向步驟Q6),否則轉(zhuǎn)向步驟Q8);Q6)判斷所述軟件功能是否應(yīng)該打開,若是,轉(zhuǎn)向步驟Q10),否則轉(zhuǎn)向步驟Q7);Q7)關(guān)閉所述功能;其中,將所述功能關(guān)閉,不允許用戶使用。
其中步驟Q5)~Q6)~Q7)描述的情況是當(dāng)前軟件功能已經(jīng)打開,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為關(guān)閉,則將該軟件功能關(guān)閉,不允許用戶再使用。
Q8)判斷所述軟件功能是否應(yīng)該關(guān)閉,若是,轉(zhuǎn)向步驟Q10),否則轉(zhuǎn)向步驟Q9);Q9)開啟所述功能;其中,將所述功能開啟,允許用戶使用。
其中,步驟Q5)~Q8)~Q9)描述的情況是當(dāng)前軟件功能已經(jīng)關(guān)閉,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為開放,則將該軟件功能開啟,允許用戶使用。
Q10)判斷軟件功能狀態(tài)是否檢查完,若是,轉(zhuǎn)向步驟Q11),否則轉(zhuǎn)向步驟Q5);Q11)結(jié)束。
本實(shí)施例遍歷所有軟件功能,判斷其狀態(tài),然后再與對應(yīng)關(guān)系中該功能的狀態(tài)進(jìn)行比較,如果與對應(yīng)關(guān)系中的狀態(tài)不符合,則修改該軟件功能當(dāng)前狀態(tài)。同樣地,還可以通過如下方式
建立對應(yīng)關(guān)系之后,讀取對應(yīng)關(guān)系中所有軟件功能的狀態(tài),然后將當(dāng)前軟件功能的狀態(tài)設(shè)置與對應(yīng)關(guān)系中軟件功能的狀態(tài)一致,即與本實(shí)施例的區(qū)別在于不對當(dāng)前軟件功能的狀態(tài)進(jìn)行判斷,同樣能夠達(dá)到本發(fā)明的目的。
本實(shí)施例描述的是本發(fā)明軟件功能控制方法應(yīng)用于軟件啟動時的情況當(dāng)一個軟件子模塊啟動后,先向許可證控制單元索取許可證的軟件功能授權(quán)信息。
獲取軟件功能授權(quán)信息后,將其轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,一個軟件模塊在實(shí)現(xiàn)或是執(zhí)行一個功能命令前,將會攜帶一個軟件功能標(biāo)識符,到功能開關(guān)列表中查詢該軟件功能是否能開放。如果返回yes,則說明該軟件功能可以開發(fā),若軟件功能控制器返回no,說明該軟件功能不開發(fā)。軟件將要拒絕提供相應(yīng)地軟件功能服務(wù)。
請參閱圖4,本發(fā)明方法第四實(shí)施例包括R1)更新許可證;其中,用戶對許可證進(jìn)行更新。
R2)下發(fā);其中,許可證控制單元接收用戶更新的許可證,并請其下發(fā)給軟件控制單元。
R3)建立對應(yīng)關(guān)系;其中,將接收到的許可證中軟件功能授權(quán)信息轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,由該列表來保存軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系,可以理解的是,轉(zhuǎn)換后的對應(yīng)關(guān)系可以以列表的形式保存,還可以以數(shù)組的形式保存,或者是其他數(shù)據(jù)結(jié)構(gòu)保存。
R4)判斷軟件功能是否已經(jīng)打開,若打開,轉(zhuǎn)向步驟R5),否則轉(zhuǎn)向步驟R7);R5)判斷所述軟件功能是否應(yīng)該打開,若是,轉(zhuǎn)向步驟R9),否則轉(zhuǎn)向步驟R6);R6)關(guān)閉所述功能;
其中,將所述功能關(guān)閉,不允許用戶使用。
其中步驟R4)~R5)~R6)描述的情況是當(dāng)前軟件功能已經(jīng)打開,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為關(guān)閉,則將該軟件功能關(guān)閉,不允許用戶再使用。
R7)判斷所述軟件功能是否應(yīng)該關(guān)閉,若是,轉(zhuǎn)向步驟R9),否則轉(zhuǎn)向步驟R8);R8)開啟所述功能;其中,將所述功能開啟,允許用戶使用。
其中,步驟R4)~R7)~R8)描述的情況是當(dāng)前軟件功能已經(jīng)關(guān)閉,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為開放,則將該軟件功能開啟,允許用戶使用。
R9)判斷軟件功能狀態(tài)是否檢查完,若是,轉(zhuǎn)向步驟R10),否則轉(zhuǎn)向步驟R4);R10)結(jié)束。
本實(shí)施例遍歷所有軟件功能,判斷其狀態(tài),然后再與對應(yīng)關(guān)系中該功能的狀態(tài)進(jìn)行比較,如果與對應(yīng)關(guān)系中的狀態(tài)不符合,則修改該軟件功能當(dāng)前狀態(tài)。同樣地,還可以通過如下方式建立對應(yīng)關(guān)系之后,讀取對應(yīng)關(guān)系中所有軟件功能的狀態(tài),然后將當(dāng)前軟件功能的狀態(tài)設(shè)置與對應(yīng)關(guān)系中軟件功能的狀態(tài)一致,即與本實(shí)施例的區(qū)別在于不對當(dāng)前軟件功能的狀態(tài)進(jìn)行判斷,同樣能夠達(dá)到本發(fā)明的目的。
本實(shí)施例描述的是本發(fā)明軟件功能控制方法應(yīng)用于許可證更新時的情況。
請參閱圖5,本發(fā)明方法第五實(shí)施例包括S1)上傳許可證;其中,用戶將新許可證上傳到許可證控制單元。
S2)判斷新上傳的許可證是否過期,若是,則轉(zhuǎn)向步驟S3),否則轉(zhuǎn)向步驟S4);
S3)使用原許可證并轉(zhuǎn)向步驟S5);其中,當(dāng)用戶新上傳的許可證已經(jīng)超過有效期時,丟棄新許可證,繼續(xù)使用原許可證。
S4)判斷校驗(yàn)結(jié)果是否相符,若是,轉(zhuǎn)向步驟S5),否則轉(zhuǎn)向步驟S3);其中,許可證文件里面的授權(quán)信息都是明文信息,當(dāng)進(jìn)行校驗(yàn)時,從環(huán)境中自動獲得一個物理參數(shù)設(shè)備序號(ESNEquipment Serial Number),例如可以用網(wǎng)卡的全球序列號作為ESN校驗(yàn)碼,以ESN校驗(yàn)碼為key值,將許可證文件中的授權(quán)信息進(jìn)行簽名的加密計(jì)算,并把計(jì)算結(jié)果字符串記錄到文件的校驗(yàn)字字段中。而許可證控制單元獲取到許可證文件后能根據(jù)ESN對許可證文件的其他內(nèi)容進(jìn)行校驗(yàn)計(jì)算,然后比較校驗(yàn)結(jié)果和許可證文件里面的校驗(yàn)字字段是否相同,以此判斷許可證的合法性。
其中,所述許可證文件中包含對許可證有效期限的描述、對軟件功能集合的描述以及校驗(yàn)字字段。
其中,對軟件功能集合的描述方式為function1=y(tǒng)es|no;function2=y(tǒng)es|no;其中function1、function2為功能項(xiàng)目;yes表示功能開啟,no表示功能屏蔽。
S5)使用新許可證;S6)下發(fā)許可證中軟件功能授權(quán)信息;S7)建立對應(yīng)關(guān)系;其中,將接收到的許可證中軟件功能授權(quán)信息轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,由該列表來保存軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系,可以理解的是,轉(zhuǎn)換后的對應(yīng)關(guān)系可以以列表的形式保存,還可以以數(shù)組的形式保存,或者是其他數(shù)據(jù)結(jié)構(gòu)保存。
其中,本實(shí)施例中所述對應(yīng)關(guān)系存儲在映射表中,可以理解的是,所述對應(yīng)關(guān)系還可以存儲在數(shù)組或者其他數(shù)據(jù)結(jié)構(gòu)中。
S8)判斷軟件功能是否已經(jīng)打開,若打開,轉(zhuǎn)向步驟S9),否則轉(zhuǎn)向步驟S11);S9)判斷所述軟件功能是否應(yīng)該打開,若是,轉(zhuǎn)向步驟S13),否則轉(zhuǎn)向步驟S10);其中,查詢對應(yīng)關(guān)系中所述軟件功能是否應(yīng)該打開。
S10)關(guān)閉所述功能;其中,將所述功能關(guān)閉,不允許用戶使用。
其中步驟S8)~S9)~S10)描述的情況是當(dāng)前軟件功能已經(jīng)打開,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為關(guān)閉,則將該軟件功能關(guān)閉,不允許用戶再使用。
S11)判斷所述軟件功能是否應(yīng)該關(guān)閉,若是,轉(zhuǎn)向步驟S13),否則轉(zhuǎn)向步驟S12);其中,查詢對應(yīng)關(guān)系中所述軟件功能是否應(yīng)該關(guān)閉。
S12)開啟所述功能;其中,將所述功能開啟,允許用戶使用。
其中,步驟S8)~S11)~S12)描述的情況是當(dāng)前軟件功能已經(jīng)關(guān)閉,但對應(yīng)關(guān)系中該軟件功能狀態(tài)應(yīng)該為開放,則將該軟件功能開啟,允許用戶使用。
S13)判斷軟件功能狀態(tài)是否檢查完,若是,轉(zhuǎn)向步驟S14),否則轉(zhuǎn)向步驟S8);S14)結(jié)束。
本實(shí)施例遍歷所有軟件功能,判斷其狀態(tài),然后再與對應(yīng)關(guān)系中該功能的狀態(tài)進(jìn)行比較,如果與對應(yīng)關(guān)系中的狀態(tài)不符合,則修改該軟件功能當(dāng)前狀態(tài)。同樣地,還可以通過如下方式建立對應(yīng)關(guān)系之后,讀取對應(yīng)關(guān)系中所有軟件功能的狀態(tài),然后將當(dāng)前軟件功能的狀態(tài)設(shè)置與對應(yīng)關(guān)系中軟件功能的狀態(tài)一致,即與本實(shí)施例的區(qū)別在于不對當(dāng)前軟件功能的狀態(tài)進(jìn)行判斷,同樣能夠達(dá)到本發(fā)明的目的。
本實(shí)施例增加對用戶上傳的許可證的校驗(yàn)流程,確保了許可證的安全性。管理員通過界面上傳一個許可證文件后,許可證控制器首先根據(jù)時間、ESN校驗(yàn)碼對許可證文件的合法性進(jìn)行校驗(yàn)。校驗(yàn)通過則執(zhí)行下一步,不通過則拒絕加載。
許可證文件校驗(yàn)通過后,許可證控制器將遍歷全部與許可證控制器相連的軟件控制單元,并將許可證的軟件功能授權(quán)信息下發(fā)給各個軟件控制單元。
軟件控制單元接收到下發(fā)的許可證軟件功能授權(quán)信息后,建立軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系,即是將其轉(zhuǎn)換為內(nèi)部的功能開關(guān)列表,并且根據(jù)功能開關(guān)列表重新初始化對應(yīng)功能,更新提供服務(wù)。
另外,當(dāng)許可證過期,用戶重新購買新的許可證上傳后,校驗(yàn)流程相同,經(jīng)過校驗(yàn)之后,新的許可證即被激活使用。
下面對本發(fā)明軟件功能控制系統(tǒng)進(jìn)行詳細(xì)描述請參閱圖6,本發(fā)明系統(tǒng)包括許可證控制單元100,軟件控制單元200;所述許可證控制單元100用于向所述軟件控制單元200發(fā)送許可證中軟件功能授權(quán)信息,軟件控制單元200接收到所述信息后,建立軟件功能與功能狀態(tài)的對應(yīng)關(guān)系并調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。
其中,所述許可證控制單元100包括加載單元110,校驗(yàn)單元120;所述加載單元110加載許可證之后將許可證發(fā)送到校驗(yàn)單元120,校驗(yàn)單元120對許可證進(jìn)行合法性校驗(yàn),并將校驗(yàn)通過的許可證中軟件功能授權(quán)信息下發(fā)。
其中,所述軟件控制單元200包括接收單元210,功能解析單元220以及軟件功能控制單元230;所述接收單元210獲取校驗(yàn)單元120下發(fā)的軟件功能授權(quán)信息,并將所述信息發(fā)送給功能解析單元220,功能解析單元220把接收到的軟件功能授權(quán)信息轉(zhuǎn)換成內(nèi)部的功能映射表,軟件功能控制單元230根據(jù)軟件功能請求查詢所述功能映射表以判斷所述軟件功能是否應(yīng)該開放,拒絕不開放軟件功能的使用請求。
其中,所述許可證控制單元100還用于定期根據(jù)許可證文件中提供的時間檢查當(dāng)前是否已經(jīng)超過許可證文件的有效期,若超過許可證指定的有效期,許可證控制單元100將下發(fā)許可證過期通知到接收單元210。
當(dāng)應(yīng)用于軟件啟動情況時
校驗(yàn)單元120將用戶購買軟件時軟件中附帶的許可證文件中軟件功能授權(quán)信息發(fā)送給接收單元210,接收單元210將所述信息發(fā)送給功能解析單元220,功能解析單元220根據(jù)所述信息建立功能映射表,一個軟件模塊在實(shí)現(xiàn)或是執(zhí)行一個功能命令前,將會攜帶一個軟件功能標(biāo)識符,到軟件功能控制單元230中詢問該軟件功能是否能開放。軟件功能控制單元230根據(jù)功能解析單元220提供的功能映射返回對應(yīng)的功能開放結(jié)果,如果返回yes,則說明該軟件功能可以開發(fā),若返回no,說明該軟件功能不開放。軟件會拒絕提供不開放的軟件功能服務(wù)。
當(dāng)應(yīng)用于許可證升級更新時用戶通過加載單元110將新許可證上傳,加載單元110將所述許可證發(fā)送給校驗(yàn)單元120進(jìn)行校驗(yàn),校驗(yàn)單元120根據(jù)有效時間和ESN校驗(yàn)碼對許可證的合法性進(jìn)行校驗(yàn),若校驗(yàn)不通過,則使用原許可證,并丟棄新上傳許可證,若校驗(yàn)通過,則將新許可證中軟件功能授權(quán)信息下發(fā)給接收單元210,接收單元210將所述信息發(fā)送給功能解析單元220,功能解析單元220,根據(jù)所述信息建立功能映射表,軟件功能控制單元230根據(jù)功能映射表查詢所有軟件功能狀態(tài),使當(dāng)前軟件功能狀態(tài)與映射表中軟件功能狀態(tài)保持一致。
在上述軟件功能控制系統(tǒng)中,可以包括多個軟件控制單元,它們執(zhí)行的功能相同。
以上對本發(fā)明所提供的一種軟件功能控制方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種軟件功能控制方法,其特征在于,包括步驟1)根據(jù)許可證中軟件功能授權(quán)信息建立軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系;2)調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。
2.根據(jù)權(quán)利要求1所述的軟件功能控制方法,其特征在于,所述步驟2)包括步驟21)讀取對應(yīng)關(guān)系中軟件功能對應(yīng)的軟件功能狀態(tài);22)設(shè)置當(dāng)前軟件中該軟件功能的軟件功能狀態(tài)與對應(yīng)關(guān)系中該軟件功能的軟件功能狀態(tài)相同;23)重復(fù)步驟21),直至讀取完所有軟件功能對應(yīng)的軟件功能狀態(tài)。
3.根據(jù)權(quán)利要求2所述的軟件功能控制方法,其特征在于,所述步驟1)之前進(jìn)一步包括步驟當(dāng)軟件功能啟動時,許可證控制單元根據(jù)請求下發(fā)許可證中軟件功能授權(quán)信息。
4.根據(jù)權(quán)利要求2所述的軟件功能控制方法,其特征在于,所述步驟1)之前進(jìn)一步包括步驟對新上傳的許可證進(jìn)行合法性檢測,若合法,則下發(fā)并使用新許可證中軟件功能授權(quán)信息,否則使用原許可證中軟件功能授權(quán)信息。
5.根據(jù)權(quán)利要求4所述的軟件功能控制方法,其特征在于,所述檢測包括A)判斷許可證是否過期,若過期則所述許可證不合法,若未過期則轉(zhuǎn)向步驟B);B)對許可證中軟件功能授權(quán)信息通過校驗(yàn)碼進(jìn)行加密計(jì)算,將計(jì)算結(jié)果與許可證控制單元對其計(jì)算的結(jié)果進(jìn)行比較,若符合,則許可證合法,否則不合法。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的軟件功能控制方法,其特征在于,所述對應(yīng)關(guān)系存儲在映射表中,或者存儲在數(shù)組中。
7.一種軟件功能控制系統(tǒng),其特征在于,包括許可證控制單元,軟件控制單元;所述許可證控制單元用于向所述軟件控制單元發(fā)送許可證中軟件功能授權(quán)信息,軟件控制單元接收到所述信息后,建立軟件功能與功能狀態(tài)的對應(yīng)關(guān)系并調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。
8.根據(jù)權(quán)利要求7所述的軟件功能控制系統(tǒng),其特征在于,所述許可證控制單元還用于當(dāng)許可證過期,用戶重新購買新的許可證進(jìn)行升級后,對許可證進(jìn)行重新激活。
9.根據(jù)權(quán)利要求8所述的軟件功能控制系統(tǒng),其特征在于,所述許可證控制單元包括加載單元,校驗(yàn)單元;所述加載單元加載許可證之后將許可證發(fā)送到校驗(yàn)單元,校驗(yàn)單元對許可證進(jìn)行合法性校驗(yàn),并將校驗(yàn)通過的許可證中軟件功能授權(quán)信息下發(fā)。
10.根據(jù)權(quán)利要求9所述的軟件功能控制系統(tǒng),其特征在于,所述軟件控制單元包括接收單元,功能解析單元以及軟件功能控制單元;所述接收單元獲取校驗(yàn)單元下發(fā)的軟件功能授權(quán)信息,并將所述信息發(fā)送給功能解析單元,功能解析單元把接收到的軟件功能授權(quán)信息轉(zhuǎn)換成內(nèi)部的功能映射表,軟件功能控制單元根據(jù)軟件功能請求查詢所述功能映射表以判斷所述軟件功能是否應(yīng)該開放,拒絕不開放軟件功能的使用請求。
全文摘要
本發(fā)明公開了一種軟件功能控制方法及系統(tǒng),用于對軟件功能進(jìn)行控制。所述方法包括步驟1)根據(jù)許可證中軟件功能授權(quán)信息建立軟件功能與軟件功能狀態(tài)的對應(yīng)關(guān)系;2)調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。所述系統(tǒng)包括許可證控制單元,軟件控制單元;所述許可證控制單元用于向所述軟件控制單元發(fā)送許可證中軟件功能授權(quán)信息,軟件控制單元接收到所述信息后,建立軟件功能與功能狀態(tài)的對應(yīng)關(guān)系并調(diào)整當(dāng)前軟件功能狀態(tài)與所述對應(yīng)關(guān)系中軟件功能狀態(tài)保持一致。本發(fā)明可以安全、便捷地對軟件功能進(jìn)行控制。
文檔編號G06F21/00GK1967555SQ200610083609
公開日2007年5月23日 申請日期2006年5月29日 優(yōu)先權(quán)日2006年5月29日
發(fā)明者羅光瑜 申請人:華為技術(shù)有限公司