專利名稱:實(shí)現(xiàn)軟件許可服務(wù)的方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種實(shí)現(xiàn)軟件許可服務(wù)的方法、裝置及網(wǎng)
絡(luò)設(shè)備。
背景技術(shù):
軟件許可服務(wù)是軟件開發(fā)商為了保護(hù)其合法權(quán)益,控制用戶在軟件許可范圍內(nèi)使 用軟件,防止軟件被非法使用的一種技術(shù)手段。軟件許可服務(wù)是一種在服務(wù)器后臺(tái)運(yùn)行的 加密守護(hù)進(jìn)程,當(dāng)軟件客戶端向服務(wù)器發(fā)出使用請(qǐng)求時(shí),軟件許可服務(wù)判斷使用請(qǐng)求在軟 件許可范圍內(nèi)是否合法,不合法的使用請(qǐng)求被拒絕,只允許合法的使用請(qǐng)求進(jìn)行連接。
軟件許可服務(wù)判斷客戶端的使用請(qǐng)求是否合法的根本依據(jù)是軟件使用許可證 (簡(jiǎn)稱軟件許可)。軟件許可可以存放在客戶端,也可以存放在服務(wù)器,以供軟件許可服 務(wù)調(diào)用。其中,軟件許可不論放在客戶端還是服務(wù)器,都需要保證軟件許可不易被復(fù)制或仿
冒 現(xiàn)有技術(shù)中有一種實(shí)現(xiàn)軟件許可服務(wù)的方法,是將軟件許可存放在服務(wù)器,并與 服務(wù)器進(jìn)行捆綁,只有具有相應(yīng)硬件特征的服務(wù)器才能正常提供軟件許可服務(wù),從而保證 軟件許可不易被復(fù)制或仿冒?,F(xiàn)有技術(shù)的方案主要通過以下兩種形式具體實(shí)現(xiàn)硬加密和 軟加密。
硬加密指的是軟件開發(fā)商提供特殊加密硬件,通常是插在計(jì)算機(jī)接口 (例如并
行接口 /USB接口 )上的硬件加密鎖,所述硬件加密鎖是軟件許可的載體。服務(wù)器只有安裝
了硬件加密鎖,即服務(wù)器具有了相應(yīng)硬件特征,才能正常提供軟件許可服務(wù)。
軟加密指的是軟件開發(fā)商將服務(wù)器某些通用硬件的特征(例如硬盤/板卡序列
號(hào)),經(jīng)加密算法加密后包含在提供給用戶的許可文件或序列號(hào)中。服務(wù)器只有具有了相應(yīng)
硬件特征,許可文件或序列號(hào)才能生效,服務(wù)器才能正常提供軟件許可服務(wù)。
不論是硬加密還是軟加密,都是將軟件許可與服務(wù)器相應(yīng)的硬件特征進(jìn)行捆綁;
但是當(dāng)服務(wù)器發(fā)生故障時(shí),因?yàn)槠渌?jì)算機(jī)不具有相應(yīng)的硬件特征,所以服務(wù)器無(wú)法將軟
件許可服務(wù)故障轉(zhuǎn)移到其他計(jì)算機(jī),因此軟件許可服務(wù)在故障轉(zhuǎn)移后不能正常工作,從而
被軟件許可服務(wù)保護(hù)的軟件也不能正常工作。 因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是如何能夠提出一 種實(shí)現(xiàn)軟件許可服務(wù)的方法,用以解決現(xiàn)有技術(shù)中在服務(wù)器發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù) 無(wú)法正常工作導(dǎo)致軟件許可服務(wù)可用性降低的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)軟件許可服務(wù)的方法,用以解決現(xiàn)有
技術(shù)中在服務(wù)器發(fā)生故障時(shí)軟件許可服務(wù)無(wú)法故障轉(zhuǎn)移到其他計(jì)算機(jī)上的問題。 本發(fā)明的另一個(gè)目的是將上述構(gòu)思應(yīng)用于具體的應(yīng)用環(huán)境中,提供一種實(shí)現(xiàn)軟件
許可服務(wù)的裝置及設(shè)備,從而保證該方法的實(shí)現(xiàn)和應(yīng)用。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)軟件許可服務(wù)的方法,包 括 接收客戶端發(fā)送的軟件使用請(qǐng)求消息; 判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,對(duì)所述軟件 使用請(qǐng)求消息進(jìn)行加密,發(fā)送加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述 加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件;如果否,拒絕客戶端使用軟件。
本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)軟件許可服務(wù)的裝置,包括
第一接收模塊,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息; 判斷模塊,用于判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果
是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件; 加密模塊,用于對(duì)所述判斷模塊發(fā)送的軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加
密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許
客戶端使用軟件。 本發(fā)明實(shí)施例還提供了 一種網(wǎng)絡(luò)設(shè)備,包括上述實(shí)現(xiàn)軟件許可服務(wù)的裝置。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn) 在本實(shí)施例中,首先接收客戶端發(fā)送的軟件使用請(qǐng)求消息,再判斷軟件使用請(qǐng)求 消息是否符合軟件許可的保護(hù)條件,如果是,將軟件使用請(qǐng)求消息加密后發(fā)送至服務(wù)器,以 便服務(wù)器根據(jù)加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件;如果否,就拒絕客戶端使 用軟件。采用本發(fā)明實(shí)施例所述的方法、裝置及設(shè)備,軟件許可不存放在服務(wù)器上,而是存 放在客戶端與服務(wù)器之間的網(wǎng)絡(luò)設(shè)備上,由所述網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)軟件許可服務(wù),使得服務(wù)器 發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的方法實(shí)施例1的流程圖;
圖2是本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的方法實(shí)施例2的流程圖;
圖3是本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例1的結(jié)構(gòu)示意圖;
圖4是本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例2的結(jié)構(gòu)示意圖;
圖5是本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例3的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。 本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算裝置環(huán)境或配置中。例如個(gè)人計(jì)算機(jī)、服務(wù) 器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備 的分布式計(jì)算環(huán)境等等。
本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序 模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由 通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。 參考圖l,示出了本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的方法實(shí)施例1的流程圖,所述 實(shí)現(xiàn)軟件許可服務(wù)的方法流程包括 在實(shí)際應(yīng)用中,軟件許可不存放在服務(wù)器上,而是存放在客戶端和服務(wù)器之間的 網(wǎng)絡(luò)設(shè)備上,即所述軟件許可與所述網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)捆綁,通過軟件許可所在的網(wǎng)絡(luò)設(shè)備來 實(shí)現(xiàn)軟件許可服務(wù),其中,所述軟件許可所在的網(wǎng)絡(luò)設(shè)備位于客戶端到服務(wù)器的網(wǎng)絡(luò)路徑 上。
S101 :接收客戶端發(fā)送的軟件使用請(qǐng)求消息。 在實(shí)際應(yīng)用中,所述軟件使用請(qǐng)求消息為當(dāng)前被保護(hù)軟件的客戶端發(fā)送的軟件使 用請(qǐng)求消息。
S102 :判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,對(duì)所述 軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù) 所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件;如果否,拒絕客戶端使用軟件。
在判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件時(shí),可以通過以下方 式中的任一方式來實(shí)現(xiàn),具體為 方式一從所述軟件使用請(qǐng)求消息中獲取軟件版本信息,將所述軟件版本信息與
所述軟件許可中的軟件版本信息進(jìn)行比對(duì),如果一致,表示所述軟件使用請(qǐng)求消息符合軟
件許可的保護(hù)條件;如果不一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。 方式二從所述軟件使用請(qǐng)求消息中獲取軟件模塊信息,將所述軟件模塊信息與
所述軟件許可中的軟件模塊信息進(jìn)行比對(duì),如果一致,表示所述軟件使用請(qǐng)求消息符合軟
件許可的保護(hù)條件;如果不一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。
其中,所述軟件模塊信息為軟件中發(fā)送軟件使用請(qǐng)求消息的模塊的信息。 當(dāng)所述軟件使用請(qǐng)求消息符合軟件許可的保護(hù)條件時(shí),將所述軟件使用請(qǐng)求消息
進(jìn)行加密,所述加密具體可以為在所述軟件使用請(qǐng)求消息的數(shù)據(jù)包中加上包含許可驗(yàn)證
信息的加密包頭;將所述加密后的軟件使用請(qǐng)求消息發(fā)送至服務(wù)器,服務(wù)器根據(jù)所述許可
驗(yàn)證信息生成允許消息,服務(wù)器將所述允許消息經(jīng)所述軟件許可所在的網(wǎng)絡(luò)設(shè)備發(fā)送至客
戶端,所述允許消息用于允許客戶端使用軟件。 當(dāng)所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件時(shí),所述軟件許可所在的網(wǎng) 絡(luò)設(shè)備發(fā)送拒絕消息至客戶端,拒絕客戶端使用軟件。 上述S101-S102為軟件許可所在的網(wǎng)絡(luò)設(shè)備接收到客戶端發(fā)送的軟件使用請(qǐng)求 消息的情況,需要進(jìn)行說明的是,在本實(shí)施例中,如果客戶端發(fā)送的軟件使用請(qǐng)求消息沒有 經(jīng)過軟件許可所在的網(wǎng)絡(luò)設(shè)備而直接到達(dá)服務(wù)器時(shí),服務(wù)器直接發(fā)送拒絕消息至客戶端, 拒絕客戶端使用軟件,結(jié)束流程。 在本實(shí)施例中,軟件許可不存放在服務(wù)器上,而是存放在客戶端與服務(wù)器之間的 網(wǎng)絡(luò)設(shè)備上,由所述網(wǎng)絡(luò)設(shè)備根據(jù)軟件許可的保護(hù)條件來實(shí)現(xiàn)軟件許可服務(wù),使得服務(wù)器
6發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。 此外,軟件許可服務(wù)仍然捆綁硬件,即軟件許可與所述網(wǎng)絡(luò)設(shè)備的相應(yīng)硬件進(jìn)行
捆綁,而不是與服務(wù)器的相應(yīng)硬件進(jìn)行捆綁,使得本實(shí)施例仍然具有軟件許可不易被復(fù)制
和仿冒的優(yōu)點(diǎn)。 參考圖2,示出了本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的方法實(shí)施例2的流程圖,所述 實(shí)現(xiàn)軟件許可服務(wù)的方法流程包括 在實(shí)際應(yīng)用中,軟件許可不存放在服務(wù)器上,而是存放在客戶端和服務(wù)器之間的 網(wǎng)絡(luò)設(shè)備上,即所述軟件許可與所述網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)捆綁,通過軟件許可所在的網(wǎng)絡(luò)設(shè)備來 實(shí)現(xiàn)軟件許可服務(wù),其中,所述軟件許可所在的網(wǎng)絡(luò)設(shè)備位于客戶端到服務(wù)器的網(wǎng)絡(luò)路徑 上。
S201 :接收客戶端發(fā)送的軟件使用請(qǐng)求消息。 S202:根據(jù)預(yù)置的軟件許可使用狀態(tài)表獲取所述軟件并發(fā)數(shù)和軟件許可限制數(shù)。
在實(shí)際應(yīng)用中,所述預(yù)置的軟件許可使用狀態(tài)表可以包括軟件許可限制數(shù)(即 用戶購(gòu)買的軟件許可的總數(shù)量)、軟件并發(fā)數(shù)(即已被使用的軟件許可的數(shù)量)和軟件許 可使用詳情(即軟件許可被使用的詳細(xì)情況,包括使用軟件許可的客戶端地址,軟件許 可被使用的時(shí)間等)。 S203 :判斷所述軟件并發(fā)數(shù)是否小于所述軟件許可限制數(shù),如果是,執(zhí)行S204,如 果否,執(zhí)行S208。 當(dāng)所述軟件并發(fā)數(shù)小于所述軟件許可限制數(shù)時(shí),例如所述軟件許可限制數(shù)為5, 即用戶購(gòu)買的軟件許可的總數(shù)量為5個(gè);所述軟件并發(fā)數(shù)為3,即已被用戶使用的軟件許可 的數(shù)量為3個(gè),5-3 = 2,也就是說用戶購(gòu)買的軟件許可中還有2個(gè)未被使用,那么軟件的軟 件使用請(qǐng)求消息就是合法的,因此所述軟件使用請(qǐng)求消息符合軟件許可的保護(hù)條件。
當(dāng)所述軟件并發(fā)數(shù)大于或等于所述軟件許可限制數(shù)時(shí),表示用戶購(gòu)買的軟件許可 已經(jīng)都被使用,那么軟件的軟件使用請(qǐng)求消息就是不合法的,因此所述軟件使用請(qǐng)求消息 不符合軟件許可的保護(hù)條件。 S204:對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加密后的軟件使用請(qǐng)求消息
至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件。
所述加密可以具體為在所述軟件使用請(qǐng)求消息的數(shù)據(jù)包中加上包含許可驗(yàn)證信
息的加密包頭。 S205:服務(wù)器接收所述加密后的軟件使用請(qǐng)求消息,根據(jù)所述加密后的軟件使用 請(qǐng)求消息生成允許消息。 所述允許消息用于允許客戶端使用軟件。 S206:接收服務(wù)器發(fā)送的允許消息,根據(jù)所述允許消息更新所述預(yù)置的軟件許可 使用狀態(tài)表,發(fā)送所述允許消息至客戶端。 所述允許消息表示發(fā)送軟件使用請(qǐng)求消息的客戶端可以使用軟件,根據(jù)所述允許 消息更新所述預(yù)置的軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù)和軟件許可使用詳情,具體為 將軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù)加1 ;從允許消息中獲取客戶端的地址,將所述客 戶端的地址和當(dāng)前時(shí)間更新到軟件許可使用詳情中。 S207:根據(jù)接收到的客戶端發(fā)送的退出消息更新所述預(yù)置的軟件許可使用狀態(tài)表,結(jié)束;或者,如果預(yù)定時(shí)間內(nèi)未收到客戶端發(fā)送的數(shù)據(jù)時(shí),更新所述預(yù)置的軟件許可使 用狀態(tài)表,結(jié)束。 根據(jù)S206可知,客戶端可以根據(jù)接收到的允許消息使用軟件。在客戶端使用軟件 的過程中,如果客戶正常退出軟件時(shí),接收客戶端發(fā)送的退出消息,根據(jù)所述退出消息更新 所述預(yù)置的軟件許可使用狀態(tài)表,具體為將軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù)減1 ;將 軟件許可使用詳情中的所述客戶端的相關(guān)軟件許可情況刪除,包括所述客戶端地址和相應(yīng) 的使用時(shí)間。如果在預(yù)定時(shí)間內(nèi)未接收到客戶端發(fā)送的任何數(shù)據(jù)時(shí),即表示客戶端已非正 常退出,更新所述預(yù)置的軟件許可使用狀態(tài)表,具體為將軟件許可使用狀態(tài)表中的軟件并 發(fā)數(shù)減1 ;將軟件許可使用詳情中的所述客戶端的相關(guān)軟件許可情況刪除,包括所述客戶 端地址和相應(yīng)的使用時(shí)間。 S208 :發(fā)送拒絕消息至客戶端,拒絕客戶端使用軟件,結(jié)束。 上述S201-S208為軟件許可所在的網(wǎng)絡(luò)設(shè)備接收到客戶端發(fā)送的軟件使用請(qǐng)求 消息的情況,需要進(jìn)行說明的是,在本實(shí)施例中,如果客戶端發(fā)送的軟件使用請(qǐng)求消息沒有 經(jīng)過軟件許可所在的網(wǎng)絡(luò)設(shè)備而直接到達(dá)服務(wù)器時(shí),服務(wù)器直接發(fā)送拒絕消息至客戶端, 拒絕客戶端使用軟件,結(jié)束流程。 本實(shí)施例中,軟件許可不存放在服務(wù)器上,而是存放在客戶端與服務(wù)器之間的網(wǎng)
絡(luò)設(shè)備上,由所述網(wǎng)絡(luò)設(shè)備根據(jù)軟件許可的保護(hù)條件來實(shí)現(xiàn)軟件許可服務(wù),使得服務(wù)器發(fā)
生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。 此外,軟件許可服務(wù)仍然捆綁硬件,即軟件許可與所述網(wǎng)絡(luò)設(shè)備的相應(yīng)硬件進(jìn)行
捆綁,而不是與服務(wù)器的相應(yīng)硬件進(jìn)行捆綁,使得本實(shí)施例仍然具有軟件許可不易被復(fù)制
和仿冒的優(yōu)點(diǎn)。 需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。 參考圖3,示出了本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例1的結(jié)構(gòu)示意圖, 可以包括以下模塊 第一接收模塊301,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息。 在實(shí)際應(yīng)用中,所述軟件使用請(qǐng)求消息為當(dāng)前被保護(hù)軟件的客戶端發(fā)送的軟件使
用請(qǐng)求消息。 判斷模塊302,用于判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如 果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件。
其中,所述軟件許可預(yù)先存放在所述實(shí)現(xiàn)軟件許可服務(wù)的裝置中。
所述判斷模塊302包括 第一獲取子模塊3021,用于從所述軟件使用請(qǐng)求消息中獲取軟件版本信息。
第一判斷子模塊3022,用于判斷所述軟件版本信息是否與軟件許可中的軟件版本 信息一致,如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件。
如果所述軟件版本信息與軟件許可中的軟件版本信息一致,表示所述軟件使用請(qǐng)求消息符合軟件許可的保護(hù)條件;如果所述軟件版本信息與軟件許可中的軟件版本信息不 一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。 或者,在另一實(shí)施例中,所述判斷模塊302包括第二獲取子模塊3023和第二判斷 子模塊3024,如圖4所示,其中,圖4為本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例2的 結(jié)構(gòu)示意圖; 所述第二獲取子模塊3023,用于從所述軟件使用請(qǐng)求消息中獲取軟件模塊信息。
所述第二判斷子模塊3024,用于判斷所述軟件模塊信息是否與軟件許可中的軟件 模塊信息一致,如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用 軟件。 如果所述軟件模塊信息與軟件許可中的軟件模塊信息一致,表示所述軟件使用請(qǐng) 求消息符合軟件許可的保護(hù)條件;如果所述軟件模塊信息與軟件許可中的軟件模塊信息不 一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。其中,所述軟件模塊信息為 軟件中發(fā)送軟件使用請(qǐng)求消息的模塊的信息。 加密模塊303,用于對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加密后的軟件使 用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟 件。 當(dāng)所述軟件使用請(qǐng)求消息符合軟件許可的保護(hù)條件時(shí),將所述軟件使用請(qǐng)求消息 進(jìn)行加密,所述加密具體可以為在所述軟件使用請(qǐng)求消息的數(shù)據(jù)包中加上包含許可驗(yàn)證 信息的加密包頭;將所述加密后的軟件使用請(qǐng)求消息發(fā)送至服務(wù)器,以便服務(wù)器根據(jù)所述 加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件。 本實(shí)施例中,軟件許可不存放在服務(wù)器上,而是存放在實(shí)現(xiàn)軟件許可服務(wù)的裝置 中,由所述實(shí)現(xiàn)軟件許可服務(wù)的裝置根據(jù)軟件許可的保護(hù)條件來實(shí)現(xiàn)軟件許可服務(wù),使得 服務(wù)器發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。
參考圖5,示出了本發(fā)明的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置實(shí)施例3的結(jié)構(gòu)示意圖, 可以包括以下模塊 第一接收模塊301,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息。 在實(shí)際應(yīng)用中,所述軟件使用請(qǐng)求消息為當(dāng)前被保護(hù)軟件的客戶端發(fā)送的軟件使
用請(qǐng)求消息。 判斷模塊302在本實(shí)施例中包括第三獲取子模塊3025和第三獲取子模塊3026 ;
所述第三獲取子模塊3025,用于根據(jù)預(yù)置的軟件許可使用狀態(tài)表獲取軟件并發(fā)數(shù) 和軟件許可限制數(shù)。 在實(shí)際應(yīng)用中,所述預(yù)置的軟件許可使用狀態(tài)表可以包括軟件許可限制數(shù)(即 用戶購(gòu)買的軟件許可的總數(shù)量)、軟件并發(fā)數(shù)(即已被使用的軟件許可的數(shù)量)和軟件許 可使用詳情(即軟件許可被使用的詳細(xì)情況,包括使用軟件許可的客戶端地址,軟件許 可被使用的時(shí)間等)。 所述第三判斷子模塊3026,用于判斷所述軟件并發(fā)數(shù)是否小于所述軟件許可限制 數(shù),如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊303 ;如果否,拒絕客戶端使用軟件。
當(dāng)所述軟件并發(fā)數(shù)小于所述軟件許可限制數(shù)時(shí),也就是說用戶購(gòu)買的軟件許可中 還有未被使用的,那么軟件的軟件使用請(qǐng)求消息就是合法的,因此所述軟件使用請(qǐng)求消息
9符合軟件許可的保護(hù)條件。 當(dāng)所述軟件并發(fā)數(shù)大于或等于所述軟件許可限制數(shù)時(shí),表示用戶購(gòu)買的軟件許可 已經(jīng)都被使用,那么軟件的軟件使用請(qǐng)求消息就是不合法的,因此所述軟件使用請(qǐng)求消息 不符合軟件許可的保護(hù)條件,拒絕客戶端使用軟件。 加密模塊303,用于對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加密后的軟件使 用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟 件。 所述加密可以具體為在所述軟件使用請(qǐng)求消息的數(shù)據(jù)包中加上包含許可驗(yàn)證信 息的加密包頭。 第二接收模塊304,用于接收服務(wù)器發(fā)送的允許消息,所述允許消息用于允許客戶 端使用軟件。 第一更新模塊305,用于根據(jù)所述允許消息更新所述預(yù)置的軟件許可使用狀態(tài)表。
根據(jù)所述允許消息更新所述預(yù)置的軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù)和軟件 許可使用詳情,具體為將軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù)加1 ;從允許消息中獲取客 戶端的地址,將所述客戶端的地址和當(dāng)前時(shí)間更新到軟件許可使用詳情中。
發(fā)送模塊306,用于發(fā)送所述允許消息至客戶端。
第三接收模塊307,用于接收客戶端發(fā)送的退出消息; 第二更新模塊308,用于根據(jù)所述退出消息更新所述預(yù)置的軟件許可使用狀態(tài)表。
根據(jù)所述退出消息更新所述預(yù)置的軟件許可使用狀態(tài)表,具體為將軟件許可使 用狀態(tài)表中的軟件并發(fā)數(shù)減1 ;將軟件許可使用詳情中的所述客戶端的相關(guān)軟件許可情況 刪除,包括所述客戶端地址和相應(yīng)的使用時(shí)間。 第三更新模塊309,用于如果預(yù)定時(shí)間內(nèi)未收到客戶端發(fā)送的數(shù)據(jù)時(shí),更新所述預(yù) 置的軟件許可使用狀態(tài)表。 如果在預(yù)定時(shí)間內(nèi)未接收到客戶端發(fā)送的任何數(shù)據(jù)時(shí),即表示客戶端已非正常退 出,更新所述預(yù)置的軟件許可使用狀態(tài)表,具體為將軟件許可使用狀態(tài)表中的軟件并發(fā)數(shù) 減1 ;將軟件許可使用詳情中的所述客戶端的相關(guān)軟件許可情況刪除,包括所述客戶端地 址和相應(yīng)的使用時(shí)間。 本實(shí)施例中,所述實(shí)現(xiàn)軟件許可服務(wù)的裝置還可以包括 管理監(jiān)控模塊,用于管理所述實(shí)現(xiàn)軟件許可服務(wù)的裝置和監(jiān)控所述實(shí)現(xiàn)軟件許可 服務(wù)的裝置的工作狀態(tài)。 本實(shí)施例中,軟件許可不存放在服務(wù)器上,而是存放在實(shí)現(xiàn)軟件許可服務(wù)的裝置 中,由所述實(shí)現(xiàn)軟件許可服務(wù)的裝置根據(jù)軟件許可的保護(hù)條件來實(shí)現(xiàn)軟件許可服務(wù),使得 服務(wù)器發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。
本發(fā)明還提供了一種網(wǎng)絡(luò)設(shè)備,包括 實(shí)現(xiàn)軟件許可服務(wù)的裝置,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息;判斷所述 軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,對(duì)所述軟件使用請(qǐng)求消息進(jìn)行 加密,發(fā)送所述加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件 使用請(qǐng)求消息允許客戶端使用軟件,如果否,拒絕客戶端使用軟件。 在判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件時(shí),可以通過以下方式中的任一方式來實(shí)現(xiàn),具體為 方式一從所述軟件使用請(qǐng)求消息中獲取軟件版本信息,將所述軟件版本信息與 所述軟件許可中的軟件版本信息進(jìn)行比對(duì),如果一致,表示所述軟件使用請(qǐng)求消息符合軟 件許可的保護(hù)條件;如果不一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。
方式二從所述軟件使用請(qǐng)求消息中獲取軟件模塊信息,將所述軟件模塊信息與 所述軟件許可中的軟件模塊信息進(jìn)行比對(duì),如果一致,表示所述軟件使用請(qǐng)求消息符合軟 件許可的保護(hù)條件;如果不一致,表示所述軟件使用請(qǐng)求消息不符合軟件許可的保護(hù)條件。 其中,所述軟件模塊信息為軟件中發(fā)送軟件使用請(qǐng)求消息的模塊的信息。
或者,所述網(wǎng)絡(luò)設(shè)備包括 實(shí)現(xiàn)軟件許可服務(wù)的裝置,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息;根據(jù)預(yù)置 的軟件許可使用狀態(tài)表獲取軟件并發(fā)數(shù)和軟件許可限制數(shù);判斷所述軟件并發(fā)數(shù)是否小于
所述軟件許可限制數(shù),如果是,對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加密后的軟件 使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用 軟件,如果否,拒絕客戶端使用軟件。 所述實(shí)現(xiàn)軟件許可服務(wù)的裝置,還用于接收服務(wù)器發(fā)送的允許消息,所述允許消 息用于允許客戶端使用軟件;根據(jù)所述允許消息更新所述預(yù)置的軟件許可使用狀態(tài)表;發(fā) 送所述允許消息至客戶端;根據(jù)接收到的客戶端發(fā)送的退出消息更新所述預(yù)置的軟件許可 使用狀態(tài)表;如果預(yù)定時(shí)間內(nèi)未收到客戶端發(fā)送的數(shù)據(jù)時(shí),更新所述預(yù)置的軟件許可使用 狀態(tài)表。 上述網(wǎng)絡(luò)設(shè)備位于客戶端和服務(wù)器之間的網(wǎng)絡(luò)路徑上,所述網(wǎng)絡(luò)設(shè)備可通過下述 方式添加進(jìn)生產(chǎn)網(wǎng)絡(luò)環(huán)境中,具體為 (1)所述網(wǎng)絡(luò)設(shè)備可以作為現(xiàn)有第三方網(wǎng)絡(luò)設(shè)備的軟件子模塊加進(jìn)現(xiàn)有第三方網(wǎng) 絡(luò)設(shè)備中,添加進(jìn)生產(chǎn)網(wǎng)絡(luò)環(huán)境中。所述第三方網(wǎng)絡(luò)設(shè)備應(yīng)具有網(wǎng)橋功能,如交換機(jī)或?qū)崿F(xiàn) 網(wǎng)橋相同功能的路由器等;所述第三方網(wǎng)絡(luò)設(shè)備允許進(jìn)行二次開發(fā),從而可以將本實(shí)施例 中的網(wǎng)絡(luò)設(shè)備增加進(jìn)去。 (2)所述網(wǎng)絡(luò)設(shè)備作為獨(dú)立的網(wǎng)絡(luò)設(shè)備添加進(jìn)生產(chǎn)網(wǎng)絡(luò)環(huán)境中,即所述網(wǎng)絡(luò)設(shè)備 作為網(wǎng)橋;在這種情況下,所述網(wǎng)絡(luò)設(shè)備還包括 存儲(chǔ)器,用于存儲(chǔ)所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)信息、所述網(wǎng)絡(luò)設(shè)備配置的靜態(tài)信息、軟件 許可的保護(hù)信息和算法的保護(hù)信息等。 接口 ,用于對(duì)所述網(wǎng)絡(luò)設(shè)備進(jìn)行網(wǎng)絡(luò)連接,物理上是2個(gè)以太網(wǎng)Ethernet端口 。
供電裝置,用于對(duì)所述網(wǎng)絡(luò)設(shè)備進(jìn)行供電。 所述供電設(shè)備在設(shè)計(jì)上可以通過所述接口從滿足以太網(wǎng)供電(POE, Power Over Ethernet)標(biāo)準(zhǔn)(IEEE 802. 3af)的以太網(wǎng)供電設(shè)備(PSE,Power Sourcing Equipment)為 所述網(wǎng)絡(luò)設(shè)備進(jìn)行供電。 本實(shí)施例中,軟件許可不存放在服務(wù)器上,而是存放在客戶端與服務(wù)器之間的網(wǎng)
絡(luò)設(shè)備中,由所述網(wǎng)絡(luò)設(shè)備根據(jù)軟件許可的保護(hù)條件來實(shí)現(xiàn)軟件許可服務(wù),使得服務(wù)器發(fā)
生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。 需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重
點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參 見方法實(shí)施例的部分說明即可。 需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí) 體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存 在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備
所固有的要素。在沒有更多限制的情況下,由語(yǔ)句"包括一個(gè)......"限定的要素,并不排
除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。 以上對(duì)本發(fā)明所提供的一種實(shí)現(xiàn)軟件許可服務(wù)的裝置及網(wǎng)絡(luò)設(shè)備進(jìn)行了詳細(xì)介
紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只
是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)
明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理
解為對(duì)本發(fā)明的限制。
1權(quán)利要求
一種實(shí)現(xiàn)軟件許可服務(wù)的方法,其特征在于,包括接收客戶端發(fā)送的軟件使用請(qǐng)求消息;判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件;如果否,拒絕客戶端使用軟件。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,具體包括從所述軟件使用請(qǐng)求消息中獲取軟件版本信息;判斷所述軟件版本信息是否與軟件許可中的軟件版本信息一致。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,具體包括從所述軟件使用請(qǐng)求消息中獲取軟件模塊信息;判斷所述軟件模塊信息是否與軟件許可中的軟件模塊信息一致。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,具體包括根據(jù)預(yù)置的軟件許可使用狀態(tài)表,獲取軟件并發(fā)數(shù)和軟件許可限制數(shù);判斷所述軟件并發(fā)數(shù)是否小于所述軟件許可限制數(shù)。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法進(jìn)一步包括接收服務(wù)器發(fā)送的允許消息,所述允許消息用于允許客戶端使用軟件;根據(jù)所述允許消息更新所述預(yù)置的軟件許可使用狀態(tài)表;發(fā)送所述允許消息至客戶端。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述發(fā)送所述允許消息至客戶端之后,所述方法進(jìn)一步包括根據(jù)接收到的客戶端發(fā)送的退出消息更新所述預(yù)置的軟件許可使用狀態(tài)表;或者,當(dāng)預(yù)定時(shí)間內(nèi)未收到客戶端發(fā)送的數(shù)據(jù)時(shí),更新所述預(yù)置的軟件許可使用狀態(tài)表。
7. —種實(shí)現(xiàn)軟件許可服務(wù)的裝置,其特征在于,包括第一接收模塊,用于接收客戶端發(fā)送的軟件使用請(qǐng)求消息;判斷模塊,用于判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件;加密模塊,用于對(duì)所述判斷模塊發(fā)送的軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送所述加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷模塊包括第一獲取子模塊,用于從所述軟件使用請(qǐng)求消息中獲取軟件版本信息;第一判斷子模塊,用于判斷所述軟件版本信息是否與軟件許可中的軟件版本信息一致,如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件。
9. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷模塊包括第二獲取子模塊,用于從所述軟件使用請(qǐng)求消息中獲取軟件模塊信息;第二判斷子模塊,用于判斷所述軟件模塊信息是否與軟件許可中的軟件模塊信息一致,如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件。
10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷模塊包括第三獲取子模塊,用于根據(jù)預(yù)置的軟件許可使用狀態(tài)表獲取軟件并發(fā)數(shù)和軟件許可限制數(shù);第三判斷子模塊,用于判斷所述軟件并發(fā)數(shù)是否小于所述軟件許可限制數(shù),如果是,發(fā)送所述軟件使用請(qǐng)求消息至加密模塊;如果否,拒絕客戶端使用軟件。
11. 根據(jù)權(quán)利要求IO所述的裝置,其特征在于,進(jìn)一步包括第二接收模塊,用于接收服務(wù)器發(fā)送的允許消息,所述允許消息用于允許客戶端使用軟件;第一更新模塊,用于根據(jù)所述允許消息更新所述預(yù)置的軟件許可使用狀態(tài)表;發(fā)送模塊,用于發(fā)送所述允許消息至客戶端。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,進(jìn)一步包括第二更新模塊,用于根據(jù)接收到的客戶端發(fā)送的退出消息更新所述預(yù)置的軟件許可使用狀態(tài)表;或者,第三更新模塊,用于當(dāng)預(yù)定時(shí)間內(nèi)未收到客戶端發(fā)送的數(shù)據(jù)時(shí),更新所述預(yù)置的軟件許可使用狀態(tài)表。
13. —種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求7-12任一項(xiàng)所述的裝置。
14. 根據(jù)權(quán)利要求13所述的網(wǎng)絡(luò)設(shè)備,其特征在于,進(jìn)一步包括存儲(chǔ)器,用于存儲(chǔ)所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)信息、所述網(wǎng)絡(luò)設(shè)備配置的靜態(tài)信息、軟件許可的保護(hù)信息和算法的保護(hù)信息;接口,用于對(duì)所述網(wǎng)絡(luò)設(shè)備進(jìn)行網(wǎng)絡(luò)連接;供電裝置,用于對(duì)所述網(wǎng)絡(luò)設(shè)備進(jìn)行供電。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)軟件許可服務(wù)的方法、裝置及網(wǎng)絡(luò)設(shè)備。所述實(shí)現(xiàn)軟件許可服務(wù)的方法實(shí)施例包括接收客戶端發(fā)送的軟件使用請(qǐng)求消息;判斷所述軟件使用請(qǐng)求消息是否符合軟件許可的保護(hù)條件,如果是,對(duì)所述軟件使用請(qǐng)求消息進(jìn)行加密,發(fā)送加密后的軟件使用請(qǐng)求消息至服務(wù)器,以便服務(wù)器根據(jù)所述加密后的軟件使用請(qǐng)求消息允許客戶端使用軟件;如果否,拒絕客戶端使用軟件。本發(fā)明將軟件許可存放在客戶端與服務(wù)器之間的網(wǎng)絡(luò)設(shè)備上,由所述網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)軟件許可服務(wù),使得服務(wù)器發(fā)生故障轉(zhuǎn)移時(shí)軟件許可服務(wù)仍能正常工作,提高了軟件許可服務(wù)的可用性。
文檔編號(hào)H04L29/06GK101710377SQ20091011027
公開日2010年5月19日 申請(qǐng)日期2009年10月28日 優(yōu)先權(quán)日2009年10月28日
發(fā)明者何子健 申請(qǐng)人:金蝶軟件(中國(guó))有限公司