專利名稱:一種加速硬件加解密處理方法、裝置和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及一種加速硬件加解密處理方法、裝置和設(shè)備,屬于數(shù)據(jù)通信技 術(shù)領(lǐng)域。
背景技術(shù):
嵌入式系統(tǒng)是一種以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng) 用系統(tǒng),對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)是將先 進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,嵌入式計(jì) 算機(jī)的外部設(shè)備中就包含了多個(gè)嵌入式微處理器,如鍵盤、硬盤、顯示器、網(wǎng)卡、聲卡等均是 由嵌入式處理器控制的。在嵌入式系統(tǒng)里,由于成本和性能因素,系統(tǒng)的資源是很有限的,中央處理單元 (Central Processing Unit,簡(jiǎn)稱CPU)計(jì)算性能作為系統(tǒng)重要的資源,各處理模塊不能大 量占用,否則影響到系統(tǒng)中另外功能模塊正常運(yùn)行。硬件加解密處理由于實(shí)現(xiàn)的算法運(yùn)算 量大,加解密處理在嵌入式系統(tǒng)里會(huì)占用較多的CPU資源。如果處理不當(dāng),會(huì)造成整個(gè)系統(tǒng) 性能下降。這里首先對(duì)硬件加解密處理的流程和架構(gòu)進(jìn)行簡(jiǎn)單的介紹。例如現(xiàn)在主流的因特網(wǎng)協(xié)議安全(Internet Protocol Security,簡(jiǎn)稱IPsec)加 解密處理方案都不再采用軟件模式,因?yàn)榧咏饷芩惴ㄉ婕暗降倪\(yùn)算量非常大,軟件運(yùn)行加 解密算法會(huì)消耗大量的CPU資源,同時(shí)處理效率得不到保證,所以現(xiàn)在幾乎所有加解密方 案都是采用硬件加解密處理模塊完成對(duì)實(shí)際的加解密算法的運(yùn)算,具體的加解密方案的流 程和架構(gòu)可以參見圖1,加解密驅(qū)動(dòng)模塊接收數(shù)據(jù)層面的加解密需求,將其下發(fā)的待處理數(shù) 據(jù)送入硬件加解密處理模塊進(jìn)行加解密處理,并根據(jù)數(shù)據(jù)層面下發(fā)的相關(guān)參數(shù)對(duì)硬件加解 密處理模塊進(jìn)行配置;此外,加解密驅(qū)動(dòng)模塊從硬件加解密處理模塊中取得處理完成的數(shù) 據(jù),送回到數(shù)據(jù)層面。加解密驅(qū)動(dòng)模塊具體又可以分為加解密驅(qū)動(dòng)初始化模塊、加解密驅(qū)動(dòng)數(shù)據(jù)傳入模 塊和加解密驅(qū)動(dòng)數(shù)據(jù)回送模塊,如圖2所示。加解密驅(qū)動(dòng)初始化模塊在整個(gè)系統(tǒng)初始化時(shí)運(yùn)行,完成對(duì)硬件加解密處理模塊的 復(fù)位和配置操作。加解密驅(qū)動(dòng)數(shù)據(jù)傳入模塊是一個(gè)被動(dòng)運(yùn)行的程序模塊,該模塊提供一個(gè)函數(shù)接口 供數(shù)據(jù)層面的函數(shù)調(diào)用,當(dāng)數(shù)據(jù)層面主動(dòng)發(fā)起加密或解密請(qǐng)求時(shí),就調(diào)用該函數(shù)接口,將需 要加密或解密的數(shù)據(jù)及相關(guān)參數(shù)送入加解密驅(qū)動(dòng)數(shù)據(jù)傳入模塊,該模塊會(huì)根據(jù)相關(guān)參數(shù)對(duì) 硬件加解密處理模塊進(jìn)行配置,然后將數(shù)據(jù)送入其中進(jìn)行處理;硬件加解密處理模塊完成 對(duì)數(shù)據(jù)的加解密運(yùn)算后,將處理完成的數(shù)據(jù)放入指定的地址中,等待加解密驅(qū)動(dòng)數(shù)據(jù)回送 模塊將數(shù)據(jù)取回送交數(shù)據(jù)層面,此時(shí)通常有兩種做法,一種是中斷處理方式,一種是查詢處 理方式。中斷處理方式就是在硬件加解密處理模塊完成對(duì)應(yīng)的加解密操作后,產(chǎn)生中斷,通知CPU數(shù)據(jù)已處理完成,CPU接收到中斷,再調(diào)用中斷處理程序,即調(diào)用加解密驅(qū)動(dòng)數(shù)據(jù) 回送模塊對(duì)應(yīng)的程序接口,將處理完成的數(shù)據(jù)送回?cái)?shù)據(jù)層面,完成一次處理。中斷處理方式 在每個(gè)包處理結(jié)束后都會(huì)產(chǎn)生中斷,如果有大量數(shù)據(jù)包要進(jìn)行加解密處理,CPU就會(huì)頻繁中 斷,占用大量的處理資源,因此會(huì)影響到系統(tǒng)中其它模塊處理,使得整個(gè)系統(tǒng)性能下降。查詢處理方式就是屏蔽硬件加解密處理模塊產(chǎn)生的中斷,保證CPU不會(huì)再因?yàn)橹?斷而打斷當(dāng)前的運(yùn)行流程,這種情況下硬件加解密處理模塊完成加解密處理后會(huì)將相應(yīng)的 硬件旗標(biāo)置位,以此告知數(shù)據(jù)處理完成,等待加解密驅(qū)動(dòng)數(shù)據(jù)回送模塊將處理完成的數(shù)據(jù) 包取走。硬件旗標(biāo)為硬件某個(gè)寄存器中的一個(gè)標(biāo)志flag字段,當(dāng)完成加解密處理后,硬件 會(huì)將這個(gè)flag字段置位,表示硬件已經(jīng)完成對(duì)數(shù)據(jù)的加解密處理。查詢處理方式通過(guò)定時(shí) 器進(jìn)行定期查詢,由定時(shí)器觸發(fā)對(duì)硬件旗標(biāo)進(jìn)行一定時(shí)間間隔的查詢,當(dāng)查詢到存在加解 密完成的數(shù)據(jù)包時(shí)就調(diào)用加解密驅(qū)動(dòng)數(shù)據(jù)回送模塊對(duì)應(yīng)的程序接口將數(shù)據(jù)包送交數(shù)據(jù)層 面,然后重啟定時(shí)器,開始等待下一次的查詢。這種處理方式的不足在于如果系統(tǒng)在沒(méi)有數(shù) 據(jù)進(jìn)行加解密處理,或處理數(shù)據(jù)較少時(shí),定時(shí)器仍會(huì)不停地對(duì)硬件旗標(biāo)進(jìn)行輪詢,這樣就會(huì) 白白浪費(fèi)CPU資源,使整個(gè)系統(tǒng)的CPU利用率降低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的是提供一種加速硬件加解密處理方法、裝置和設(shè)備,用于解 決現(xiàn)有硬件加解密方案無(wú)法進(jìn)行靈活處理,導(dǎo)致系統(tǒng)整體性能低下的問(wèn)題。為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種加速硬件加解密處理方法,所述方法 包括在中斷處理模式下,硬件加解密處理完成后產(chǎn)生中斷,并由中斷觸發(fā)進(jìn)入查詢處 理模式;在查詢處理模式下,定期查詢是否有硬件加解密處理完成的數(shù)據(jù)包,如果有則將 所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面,否則根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處理模式。為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例還提供了 一種加速硬件加解密處理裝置,所述 裝置包括硬件加解密處理模塊、中斷觸發(fā)模塊、定期查詢模塊、加解密驅(qū)動(dòng)模塊和查詢結(jié)果 處理模塊;所述硬件加解密處理模塊用于進(jìn)行數(shù)據(jù)包的加解密處理,并在中斷處理模式下完 成加解密處理后產(chǎn)生中斷;所述中斷觸發(fā)模塊與硬件加解密處理模塊連接,用于由中斷觸發(fā)進(jìn)入查詢處理模 式;所述定期查詢模塊與中斷觸發(fā)模塊連接,用于在查詢處理模式下,定期查詢是否 有硬件加解密處理完成的數(shù)據(jù)包,如果有則通過(guò)加解密驅(qū)動(dòng)模塊進(jìn)行處理,否則通過(guò)查詢 結(jié)果處理模塊進(jìn)行處理;所述加解密驅(qū)動(dòng)模塊與硬件加解密處理模塊和定期查詢模塊連接,用于將硬件加 解密處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面;所述查詢結(jié)果處理模塊與定期查詢模塊連接,用于根據(jù)查詢結(jié)果確定是否進(jìn)入中 斷處理模式。 為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例又提供了 一種設(shè)備,所述設(shè)備包括上述裝置。
本發(fā)明實(shí)施例通過(guò)采用中斷和查詢相結(jié)合的方式,在硬件加解密處理完成后通過(guò) 中斷來(lái)觸發(fā)查詢過(guò)程,并通過(guò)對(duì)查詢結(jié)果的判斷來(lái)決定是否進(jìn)入中斷處理模式,依靠中斷 處理模式保證了對(duì)數(shù)據(jù)處理的實(shí)時(shí)性,依靠查詢處理模式提高硬件加解密的處理速度,憑 借兩種處理方式的結(jié)合,從一定程度上解決了純中斷處理方式或純查詢處理方式帶來(lái)的硬 件加解密處理整體性能低下的問(wèn)題,同時(shí)使CPU資源利用更加高效。
圖1為現(xiàn)有技術(shù)中硬件加解密處理流程實(shí)施例一示意2為現(xiàn)有技術(shù)中硬件加解密處理流程實(shí)施例二示意3為本發(fā)明一種加速硬件加解密處理方法實(shí)施例一示意4為本發(fā)明一種加速硬件加解密處理方法實(shí)施例二示意5為本發(fā)明一種加速硬件加解密處理方法實(shí)施例三示意6為本發(fā)明一種加速硬件加解密處理方法實(shí)施例四示意7為本發(fā)明一種加速硬件加解密處理方法實(shí)施例五示意8為本發(fā)明一種加速硬件加解密處理裝置實(shí)施例一示意9為本發(fā)明一種設(shè)備實(shí)施例示意圖
具體實(shí)施例方式本發(fā)明的目的是提供一種加速硬件加解密處理方法、裝置和設(shè)備,用于解決現(xiàn)有 硬件加解密方案無(wú)法進(jìn)行靈活處理,導(dǎo)致系統(tǒng)整體性能低下的問(wèn)題。下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行說(shuō)明,本發(fā)明實(shí)施例提供了一種加速硬件加解 密處理方法,圖3給出了本發(fā)明一種加速硬件加解密處理方法實(shí)施例一示意圖,所述方法 包括步驟Si,在中斷處理模式下,硬件加解密處理完成后產(chǎn)生中斷,并由中斷觸發(fā)進(jìn)入 查詢處理模式;硬件加解密處理可以由硬件加解密處理模塊完成。步驟S2,在查詢處理模式下,定期查詢是否有硬件加解密處理完成的數(shù)據(jù)包,如果 有則將所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面,否則根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處理模 式。本發(fā)明實(shí)施例通過(guò)采用中斷和查詢相結(jié)合的方式,在硬件加解密處理完成后通過(guò) 中斷來(lái)觸發(fā)查詢過(guò)程,并通過(guò)對(duì)查詢結(jié)果的判斷來(lái)決定是否進(jìn)入中斷處理模式,依靠中斷 處理模式保證了對(duì)數(shù)據(jù)處理的實(shí)時(shí)性,依靠查詢處理模式提高硬件加解密的處理速度,憑 借兩種處理方式的結(jié)合,從一定程度上解決了純中斷處理方式或純查詢處理方式帶來(lái)的硬 件加解密處理整體性能低下的問(wèn)題,同時(shí)使CPU資源利用更加高效。圖4給出了本發(fā)明一種加速硬件加解密處理方法實(shí)施例二示意圖,本實(shí)施例除了 包括方法實(shí)施例一的步驟外,所述根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處理模式具體可以為 如果滿足一次或多次查詢無(wú)處理完成的數(shù)據(jù)包的條件,則進(jìn)入中斷處理模式,否則保持查 詢處理模式。例如可以在第一次查詢到無(wú)處理完成的數(shù)據(jù)包時(shí),即進(jìn)入中斷處理模式,等待硬件加解密處理完成后產(chǎn)生中斷來(lái)觸發(fā)查詢過(guò)程;這種方式可以使得在沒(méi)有數(shù)據(jù)需要處理時(shí) 及時(shí)進(jìn)入中斷處理模式,較為及時(shí)地節(jié)省系統(tǒng)資源。也可以在第一次查詢到無(wú)處理完成的數(shù)據(jù)包時(shí),暫時(shí)不進(jìn)入中斷處理模式,而是 繼續(xù)進(jìn)行定期查詢,直至連續(xù)N次查詢均無(wú)處理完成的數(shù)據(jù)包時(shí),才進(jìn)入中斷處理模式。例 如批量到來(lái)的數(shù)據(jù)包在進(jìn)行硬件加解密處理的過(guò)程中,可能由于網(wǎng)絡(luò)故障或其它原因?qū)е?處理數(shù)據(jù)包的短暫的中斷,因而導(dǎo)致某次查詢結(jié)果為無(wú)處理完成的數(shù)據(jù)包,但是后續(xù)數(shù)據(jù) 包很快到達(dá)并繼續(xù)進(jìn)行加解密處理,通過(guò)連續(xù)N次查詢的處理方式,使得硬件加解密的處 理仍然停留在查詢處理模式下,不會(huì)因?yàn)槎虝旱臄?shù)據(jù)包中斷而切換入中斷處理方式,這樣 就能夠保證數(shù)據(jù)流在出現(xiàn)短暫中斷后又重新恢復(fù)的情況下,系統(tǒng)依然能夠運(yùn)行在高效的查 詢處理模式下,從宏觀上提供一種“消抖”的處理策略。由于查詢的開銷遠(yuǎn)小于中斷的開銷, 因此這種方式將會(huì)節(jié)省系統(tǒng)開銷。圖5給出了本發(fā)明一種加速硬件加解密處理方法實(shí)施例三示意圖,本實(shí)施例除了 包括方法實(shí)施例二的步驟外,步驟Sl中所述由中斷觸發(fā)進(jìn)入查詢處理模式具體可以為關(guān)閉中斷,并啟動(dòng)定時(shí) 器進(jìn)行定期查詢。步驟S2中所述將所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面之后還包括重啟定時(shí)器, 在下一時(shí)間點(diǎn)繼續(xù)進(jìn)行查詢操作。步驟S2中所述進(jìn)入中斷處理模式具體可以為打開中斷,并終止定時(shí)器。本實(shí)施例除了可以在方法實(shí)施例二的基礎(chǔ)上進(jìn)行上述擴(kuò)展外,還可以在方法實(shí)施 例一的基礎(chǔ)上進(jìn)行上述擴(kuò)展。圖6給出了本發(fā)明一種加速硬件加解密處理方法實(shí)施例四示意圖,本實(shí)施例除了 包括方法實(shí)施例三的步驟外,在步驟S2之前還包括步驟S3,初始時(shí)進(jìn)入中斷處理模式。初始時(shí)進(jìn)入中斷處理模式使得系統(tǒng)在初始狀態(tài)時(shí)即處于不消耗系統(tǒng)CPU資源的 狀態(tài)下,只有在有硬件加解密處理完成的數(shù)據(jù)時(shí)才會(huì)觸發(fā)中斷,隨后進(jìn)入查詢處理模式,合 理地利用并節(jié)省了系統(tǒng)資源。本實(shí)施例除了可以在方法實(shí)施例三的基礎(chǔ)上進(jìn)行上述擴(kuò)展外,還可以在方法實(shí)施 例一或方法實(shí)施例二的基礎(chǔ)上進(jìn)行上述擴(kuò)展。圖7給出了本發(fā)明一種較優(yōu)實(shí)施例,本實(shí)施例步驟如下步驟101,初始時(shí)進(jìn)入中斷處理模式;步驟102,完成數(shù)據(jù)的硬件加解密處理后,產(chǎn)生中斷,由中斷觸發(fā)查詢過(guò)程,關(guān)閉中 斷并且啟動(dòng)定時(shí)器;步驟103,進(jìn)入查詢處理模式,對(duì)硬件加解密處理結(jié)果進(jìn)行查詢;步驟104,在查詢處理過(guò)程中,如果查詢到本查詢周期內(nèi)有硬件加解密處理完成的 數(shù)據(jù)包時(shí),則執(zhí)行步驟105,否則執(zhí)行步驟106 ;步驟105,將處理完的數(shù)據(jù)送回?cái)?shù)據(jù)層面,并重啟定時(shí)器,在下一時(shí)間點(diǎn)繼續(xù)進(jìn)行 查詢操作,執(zhí)行步驟103;步驟106,終止定時(shí)器,打開中斷,回到中斷處理模式,執(zhí)行步驟102。從上圖可以看出,查詢處理過(guò)程依賴于中斷的觸發(fā),如果有連續(xù)的加解密完成的 數(shù)據(jù)輸出,則中斷處理僅僅在第一個(gè)數(shù)據(jù)輸出時(shí)產(chǎn)生,隨后查詢處理過(guò)程可以有效接手后續(xù)的處理,提供高效的數(shù)據(jù)回送到數(shù)據(jù)層面的處理,且一旦所有數(shù)據(jù)已經(jīng)回送完畢,查詢處理在下一個(gè)查詢周期發(fā)現(xiàn)不再有加解密完成的數(shù)據(jù)時(shí),就會(huì)終止查詢過(guò)程,打開中斷,等待 以后某個(gè)時(shí)間點(diǎn)再次產(chǎn)生的新的加解密處理完成的數(shù)據(jù),從而避免了長(zhǎng)時(shí)間沒(méi)有加解密處 理數(shù)據(jù)的情況下,查詢模式空轉(zhuǎn)造成CPU資源浪費(fèi)。中斷處理方式和本發(fā)明實(shí)施例方案性能比較如下由于加解密處理性能、中斷切換性能都與系統(tǒng)時(shí)鐘有關(guān),所以使用相同系統(tǒng)下的 數(shù)據(jù)進(jìn)行對(duì)比。硬件加解密所花費(fèi)的時(shí)間由于其算法不同而有較大差異,以某款交換機(jī)對(duì) 高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,簡(jiǎn)稱AES)算法的測(cè)試數(shù)據(jù)為例,確定系統(tǒng) 條件如下硬件加解密處理完成一個(gè)包需要6. 67us (微秒,千分之一毫秒),中斷切換時(shí)間為 0. 5us,定時(shí)器啟動(dòng)占用時(shí)間為5ns (納秒,千分之一微秒),默認(rèn)對(duì)處理1000個(gè)數(shù)據(jù)包的效 率進(jìn)行比較。使用中斷處理方式時(shí),處理1000個(gè)數(shù)據(jù)包所需時(shí)間為(1000 個(gè))*(6.67us/個(gè))+ (1000 個(gè))*(0.5us/個(gè))=7170us在本發(fā)明的方案中,設(shè)定時(shí)器Timer的時(shí)間間隔設(shè)置為lOOOus,則Timer在每個(gè)時(shí) 間間隔內(nèi)可以處理1000/6. 67 = 150個(gè)包,但僅第一個(gè)包會(huì)產(chǎn)生一次中斷,查詢次數(shù)為150 次,因此本發(fā)明實(shí)施例方案處理1000個(gè)數(shù)據(jù)包所需時(shí)間為(1000 個(gè))*(6. 67us/ 個(gè))+0. 5u s+150*5ns = 6671. 25us本發(fā)明實(shí)施例方案比中斷處理方式性能提高了(7170-6671. 25)/6671. 25*100% =7. 48%查詢處理方式和本發(fā)明實(shí)施例方案性能比較如下本發(fā)明實(shí)施例方案對(duì)比查詢處理方式的優(yōu)勢(shì)在于能夠?qū)崟r(shí)的自動(dòng)識(shí)別當(dāng)前的加 解密處理情況,根據(jù)加解密處理結(jié)果自動(dòng)調(diào)整查詢操作的停止和啟動(dòng),提高了數(shù)據(jù)處理的 及時(shí)性。且在系統(tǒng)長(zhǎng)時(shí)間沒(méi)有加解密數(shù)據(jù)進(jìn)行處理時(shí),本發(fā)明方案對(duì)系統(tǒng)資源的消耗為零, 而對(duì)比查詢處理方式持續(xù)運(yùn)行的定時(shí)器開銷,本方案在CPU資源利用率上的優(yōu)勢(shì)非常明
Mo仍然采用與中斷處理方式比較時(shí)使用的系統(tǒng)條件,在沒(méi)有任何數(shù)據(jù)時(shí),本發(fā)明 實(shí)施例方案處于中斷處理模式,由于沒(méi)有數(shù)據(jù),因此不發(fā)生中斷,沒(méi)有系統(tǒng)開銷,如果每 IOOOus查詢一次,則在1秒鐘內(nèi),查詢處理方式需要查詢1000次,每次花費(fèi)的定時(shí)器的啟動(dòng) 時(shí)間是5ns,每秒鐘花費(fèi)在啟動(dòng)定時(shí)器上的額外開銷為5ns*1000 = 5ms,即資源浪費(fèi)率達(dá)到 千分之五。如果用戶沒(méi)有使用加解密功能,則采用查詢處理方式會(huì)導(dǎo)致系統(tǒng)在一天當(dāng)中有 7分多鐘(5ms*60*60*24 = 432秒)的時(shí)間,系統(tǒng)是處于毫無(wú)回報(bào)的資源浪費(fèi)狀態(tài)中,因?yàn)?在啟動(dòng)定時(shí)器時(shí),系統(tǒng)是無(wú)法處理其他業(yè)務(wù)的。由此可見,本發(fā)明實(shí)施例方案對(duì)比查詢處理 方式的優(yōu)勢(shì)還在于對(duì)CPU資源的合理利用上,能夠?qū)崟r(shí)根據(jù)業(yè)務(wù)需求對(duì)CPU資源進(jìn)行合理 的分配和利用。本發(fā)明實(shí)施例方案非常適合CPU資源有限,但是對(duì)加解密速度有一定需求的系 統(tǒng),本發(fā)明實(shí)施例方案能夠在需要處理數(shù)據(jù)的時(shí)候提供比中斷處理方式更為高效的查詢處 理模式,同時(shí)也能在沒(méi)有數(shù)據(jù)處理的時(shí)候馬上退出查詢處理模式,保證有限的CPU資源能 夠盡快釋放,而不被不必要的輪詢所占用。
本發(fā)明實(shí)施例還提供了一種加速硬件加解密處理裝置,圖8給出了本發(fā)明一種加 速硬件加解密處理裝置實(shí)施例一示意圖,所述裝置包括硬件加解密處理模塊Ml、中斷觸發(fā) 模塊M2、定期查詢模塊M3、加解密驅(qū)動(dòng)模塊M4和查詢結(jié)果處理模塊M5 ;所述硬件加解密處理模塊Ml用于進(jìn)行數(shù)據(jù)包的加解密處理,并在中斷處理模式 下完成加解密處理后產(chǎn)生中斷;所述中斷觸發(fā)模塊M2與硬件加解密處理模塊Ml連接,用于由中斷觸發(fā)進(jìn)入查詢 處理模式;所述中斷觸發(fā)模塊具體可以用于關(guān)閉中斷,并啟動(dòng)定時(shí)器進(jìn)行定期查詢。
所述定期查詢模塊M3與中斷觸發(fā)模塊M2連接,用于在查詢處理模式下,定期查詢 是否有硬件加解密處理完成的數(shù)據(jù)包,如果有則通過(guò)加解密驅(qū)動(dòng)模塊M4進(jìn)行處理,否則通 過(guò)查詢結(jié)果處理模塊M5進(jìn)行處理;所述定期查詢模塊還可以用于在通過(guò)加解密驅(qū)動(dòng)模塊進(jìn)行處理之后,重啟定時(shí) 器,在下一時(shí)間點(diǎn)繼續(xù)進(jìn)行查詢操作。所述加解密驅(qū)動(dòng)模塊M4與硬件加解密處理模塊Ml和定期查詢模塊M3連接,用于 將硬件加解密處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面;所述加解密驅(qū)動(dòng)模塊還可以用于將需要加密或解密的數(shù)據(jù)送入硬件加解密處理 模塊。所述查詢結(jié)果處理模塊M5與定期查詢模塊M3連接,用于根據(jù)查詢結(jié)果確定是否 進(jìn)入中斷處理模式。所述查詢結(jié)果處理模塊具體可以用于確定是否滿足一次或多次查詢無(wú)處理完成 的數(shù)據(jù)包的條件,是則進(jìn)入中斷處理模式,否則保持查詢處理模式。所述進(jìn)入中斷處理模式具體可以為打開中斷,并終止定時(shí)器。本發(fā)明實(shí)施例又提供了一種設(shè)備,圖9給出了本發(fā)明一種設(shè)備實(shí)施例示意圖,所 述設(shè)備包括上述加速硬件加解密處理裝置實(shí)施例所述的任一裝置。所述設(shè)備可以為具有加解密功能的交換機(jī)或路由器等設(shè)備,例如具有IPsec加解 密功能的交換機(jī)或路由器。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
一種加速硬件加解密處理方法,其特征在于,所述方法包括在中斷處理模式下,硬件加解密處理完成后產(chǎn)生中斷,并由中斷觸發(fā)進(jìn)入查詢處理模式;在查詢處理模式下,定期查詢是否有硬件加解密處理完成的數(shù)據(jù)包,如果有則將所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面,否則根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處理模式。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處 理模式具體為如果滿足一次或多次查詢無(wú)處理完成的數(shù)據(jù)包的條件,則進(jìn)入中斷處理模 式,否則保持查詢處理模式。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述由中斷觸發(fā)進(jìn)入查詢處理模式具 體為關(guān)閉中斷,并啟動(dòng)定時(shí)器進(jìn)行定期查詢。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù) 層面之后還包括重啟定時(shí)器,在下一時(shí)間點(diǎn)繼續(xù)進(jìn)行查詢操作。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述進(jìn)入中斷處理模式具體為打開中 斷,并終止定時(shí)器。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括初始時(shí)進(jìn)入中斷處理模式。
7.一種加速硬件加解密處理裝置,其特征在于,所述裝置包括硬件加解密處理模塊、中 斷觸發(fā)模塊、定期查詢模塊、加解密驅(qū)動(dòng)模塊和查詢結(jié)果處理模塊;所述硬件加解密處理模塊用于進(jìn)行數(shù)據(jù)包的加解密處理,并在中斷處理模式下完成加 解密處理后產(chǎn)生中斷;所述中斷觸發(fā)模塊與硬件加解密處理模塊連接,用于由中斷觸發(fā)進(jìn)入查詢處理模式; 所述定期查詢模塊與中斷觸發(fā)模塊連接,用于在查詢處理模式下,定期查詢是否有硬 件加解密處理完成的數(shù)據(jù)包,如果有則通過(guò)加解密驅(qū)動(dòng)模塊進(jìn)行處理,否則通過(guò)查詢結(jié)果 處理模塊進(jìn)行處理;所述加解密驅(qū)動(dòng)模塊與硬件加解密處理模塊和定期查詢模塊連接,用于將硬件加解密 處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面;所述查詢結(jié)果處理模塊與定期查詢模塊連接,用于根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處 理模式。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述查詢結(jié)果處理模塊具體用于確定是 否滿足一次或多次查詢無(wú)處理完成的數(shù)據(jù)包的條件,是則進(jìn)入中斷處理模式,否則保持查 詢處理模式。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述中斷觸發(fā)模塊具體用于關(guān)閉中 斷,并啟動(dòng)定時(shí)器進(jìn)行定期查詢。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述定期查詢模塊還用于在通過(guò)加解密 驅(qū)動(dòng)模塊進(jìn)行處理之后,重啟定時(shí)器,在下一時(shí)間點(diǎn)繼續(xù)進(jìn)行查詢操作。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述查詢結(jié)果處理模塊具體用于根據(jù) 查詢結(jié)果確定是否打開中斷并終止定時(shí)器。
12.一種包括權(quán)利要求7-11任一所述裝置的設(shè)備。
全文摘要
本發(fā)明實(shí)施例提供了一種加速硬件加解密處理方法、裝置和設(shè)備。所述方法包括在中斷處理模式下,硬件加解密處理完成后產(chǎn)生中斷,并由中斷觸發(fā)進(jìn)入查詢處理模式;在查詢處理模式下,定期查詢是否有硬件加解密處理完成的數(shù)據(jù)包,如果有則將所述處理完成的數(shù)據(jù)包送回?cái)?shù)據(jù)層面,否則根據(jù)查詢結(jié)果確定是否進(jìn)入中斷處理模式。本發(fā)明實(shí)施例依靠中斷處理模式保證了對(duì)數(shù)據(jù)處理的實(shí)時(shí)性,依靠查詢處理模式提高硬件加解密的處理速度,憑借兩種處理方式的結(jié)合,從一定程度上解決了純中斷處理方式或純查詢處理方式帶來(lái)的硬件加解密處理整體性能低下的問(wèn)題,同時(shí)使CPU資源利用更加高效。
文檔編號(hào)H04L29/06GK101876955SQ20091023801
公開日2010年11月3日 申請(qǐng)日期2009年11月23日 優(yōu)先權(quán)日2009年11月23日
發(fā)明者楊大川, 譚英德 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司