一種實現加密機應用的高可用性的方法和系統的製作方法
2023-05-26 14:25:36 3
一種實現加密機應用的高可用性的方法和系統的製作方法
【專利摘要】本發明提供一種實現加密機應用的高可用性的方法和系統。所述方法用於包括應用伺服器和加密機的系統中,每個應用伺服器包括應用模塊、消息中間件和至少一個安全服務模塊,消息中間件依次連接,安全服務模塊中定義有主用和備用加密機的邏輯分組。所述方法包括:應用模塊接收通訊請求並將其轉發至消息中間件;消息中間件解析通訊請求,將其發送至安全服務模塊,安全服務模塊按照對加密機的邏輯分組,將通訊請求封裝後發至主用加密機,且在主用加密機不可用時,將請求發至備用加密機,成功收到加密機應答後,返回應答消息。利用本發明的方法和系統,可以應用對加密機應用的高可用性。
【專利說明】—種實現加密機應用的高可用性的方法和系統
【技術領域】
[0001]本發明涉及一種滿足可靠性並提升加密機利用率的技術,尤其涉及一種實現加密機應用的高可用性的方法和系統 。
【背景技術】
[0002]在金融信息處理系統中,為實現數據信息安全,加密機是需要使用的重要設備之一,作為一種外接設備,加密機設備如果出現故障,可能會引起系統應用的異常。
[0003]因此,需面對加密機可能因故障或版本升級等原因引起的停機,在實現冗餘備份時,常用的方式有:
I)另外使用一個加密機進行冷備,在主用加密機故障時,轉為使用冷備加密。
[0004]2)使用多個進程分別連接至多個加密機,這此進程從同一消息隊列中取出請求消息進行處理,當一個加密機故障時,其對應的進程停止運行,但仍有其它進程處理消息請求。
[0005]對於以上方式在使用過程中,分別存在以下缺點:方式I)下,當主機故障後,切換時間較長或可能切換後仍不成功,另一方面也存在閒置資源未充分使用;方式2)下,其中一個加密機停機後,對系統功能暫無影響,但由於使用此加密機的應用進程也隨之停止,聯機應用的處理能力也會有所下降;
除此之外,現有方式下,加密機設備故障恢復後,往往需要對應用進行人工幹預(如重啟應用等),才能恢復使用。
【發明內容】
[0006]有鑑於此,本發明提供一種實現加密機應用的高可用性的方法及系統。
[0007]本發明提供了以下技術方案:
1.一種實現加密機應用的高可用性的方法,其特徵在於,所述方法用於包括應用伺服器和加密機HSM-1,...HSM-n的系統中,其中η>1,應用伺服器的數量在I到η之間,每個應用伺服器包括應用模塊、消息中間件和至少一個安全服務模塊,消息中間件依次連接,安全服務模塊i,j中分別定義有主用和備用加密機的邏輯分組GRP-1〈HSM-k,HSM-m>,GRP-j,其中 I < i, j, k, m, p, q ^ n, k ^ m, k ^ p, p ^ q, m ^ q,所述方法包括:
A應用模塊接收通訊請求並將其轉發至消息中間件;
B消息中間件解析通訊請求,將其發送至一個安全服務模塊;
C安全服務模塊封裝所述通訊請求;
D安全服務模塊確定其和當前加密機之間是否存在長連接,如果存在,則將封裝後的通訊請求發送至當前加密機並執行步驟F,否則執行步驟E ;
E安全服務模塊嘗試連接邏輯定分組中的主用加密機,如果連接成功,則將封裝後的通訊請求發送至主用加密機並執行步驟F,否則嘗試連接備用加密機,如果連接成功,則將封裝後的通訊請求發送至備用加密機並執行步驟F,否則返回失敗的應答消息;
F安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息;
G安全服務模塊確定是否成功從所連接的加密機接收應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。 [0008]2.如技術方案I所述的方法,其特徵在於,當I≤i〈n時,k=i, m=i+l;當i=n時,k=n, m=l;當 I < j〈n 時,p=j, q=j+l;當 j=n 時,p=n, q=l。
[0009]3.如技術方案I或2所述的方法,其特徵在於,所述步驟F包括:
Fl安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則執行步驟F2 ;
F2安全服務模塊斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟F3,否則返回失敗的應答消息;
F3安全服務模塊發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息。
[0010]4.如技術方案1-3之一所述的方法,其特徵在於,所述步驟G包括:
Gll安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則執行步驟G12 ;
G12安全服務模塊斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟G13,否則返回失敗的應答消息;
G13安全服務模塊發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G14,否則返回失敗的應答消息;
G14安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
[0011]5.如技術方案1-4之一所述的方法,其特徵在於,步驟G包括:
G21安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G22,否則返回失敗的應答消息;
G22安全服務模塊確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G23,否則返回成功的應答消息;
G23安全服務模塊嘗試連接至主用加密機,如果成功,則執行步驟G24,否則返回成功的應答消息;
G24安全服務模塊斷開與備用加密機的連接並返回成功的應答消息。
[0012]6.如技術方案1-5之一所述的方法,其特徵在於,步驟G包括:
G31安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則執行步驟G35 ;
G32安全服務模塊確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G33,否則返回成功的應答消息;
G33安全服務模塊嘗試連接至主用加密機,如果成功,則執行步驟G34,否則返回成功的應答消息;
G34安全服務模塊斷開與備用加密機的連接並返回成功的應答消息;G35連接至邏輯分組中的另一加密機並發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G36,否則返回失敗的應答消息;
G36安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則返回失敗的應答消息。
[0013]7.如技術方案1-6之一所述的方法,其特徵在於,步驟E還包括:安全服務模塊在嘗試連接備用加密機失敗後,返回執行步驟E,直至失敗M次後才返回失敗的應答消息,其中M為自然數。
[0014]8.一種實現加密機應用的高可用性的方法,其特徵在於,所述系統包括應用伺服器和加密機HSM-1,...,HSM-n,其中η>1,應用伺服器的數量在I到η之間,每個應用伺服器包括應用模塊、消息中間件和至少一個安全服務模塊,消息中間件依次連接,安全服務模塊i,j中分別定義有主用和備用加密機的邏輯分組GRP-1〈HSM-k,HSM-m>, GRP-j〈HSM_p,HSM_q>,其中I≤i, j, k, m, p, q≤n, k關m, k關p, P關q, m關q,其中所述系統被配置為:
A應用模塊接收通訊請求並將其轉發至消息中間件;
B消息中間件解析通訊請求,將其發送至一個安全服務模塊;
C安全服務模塊封裝所述通訊請求;
D安全服務模塊確定其和當前加密機之間是否存在長連接,如果存在,則將封裝後的通訊請求發送至當前加密機並執行步驟F,否則執行步驟E ;
E安全服務模塊嘗試連接邏輯定分組中的主用加密機,如果連接成功,則將封裝後的通訊請求發送至主用加密機並執行步驟F,否則嘗試連接備用加密機,如果連接成功,則將封裝後的通訊請求發送至備用加密機並執行步驟F,否則返回失敗的應答消息;
F安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息;
G安全服務模塊確定是否成功從所連接的加密機接收應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
[0015]9.如技術方案8所述的系統,其特徵在於,當I < i〈n時,k=i, m=i+l;當i=n時,k=n, m=l;當 I < j〈n 時,p=j, q=j+l;當 j=n 時,p=n, q=l。
[0016]10.如技術方案8-9之一所述的系統,其特徵在於,所述安全服務模塊在所述步驟F中被配置為:
Fl確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則執行步驟F2 ;F2斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟F3,否則返回失敗的應答消息;
F3發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息。
[0017]11.如技術方案8-10之一所述的系統,其特徵在於,所述安全服務模塊在所述步驟G中被配置為:
Gll確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則執行步驟G12;
G12斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟G13,否則返回失敗的應答消息;
G13發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G14,否則返回失敗的應答消息;
G14確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
[0018]12.如技術方案8-11之一所述的系統,其特徵在於,所述安全服務模塊在步驟G中被配置為:
G21確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G22,否則返回失敗的應答消息;
G22確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G23,否則返回成功的應答消息;
G23嘗試連接至主用加密機,如果成功,則執行步驟G24,否則返回成功的應答消息; G24斷開與備用加密機的連接並返回成功的應答消息。
[0019]13.如技術方案8-12之一所述的系統,其特徵在於,所述安全服務模塊步驟G中被配置為:
G31確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則執行步驟G35 ;
G32確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G33,否則返回成功的應答消息;
G33嘗試連接至主用加密機,如果成功,則執行步驟G34,否則返回成功的應答消息; G34斷開與備用加密機的連接並返回成功的應答消息;
G35連接至邏輯分組中的另一加密機並發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G36,否則返回失敗的應答消息;
G36確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則返回失敗的應答消息。
[0020]14.如技術方案8-13之一所述的系統,其特徵在於,所述安全服務模塊在步驟E還被配置為:在嘗試連接備用加密機失敗後,返回執行步驟E,直至失敗M次後才返回失敗的應答消息,其中M為自然數。
[0021]利用本發明的方法及系統,可以應用對加密機應用的高可用性。減少外部加密機設備故障對聯機應用的影響,在保持應用原有高性能的前提下,提高應用系統的可用性。
【專利附圖】
【附圖說明】
[0022]圖1為根據本發明實施例的實現加密機高可用性的系統;以及 圖2為根據本發明實施例的實現加密機高可用性的方法。
【具體實施方式】
[0023]下面將結合附圖詳細描述本發明的優選實施例,在附圖中相同的參考標號表示相同的元件。
[0024]本發明提供了一種實現加密機應用的高可用性的系統和方法,更大程度避免因加密機故障引起的系統不可用。在使用多個形成冗餘關係的加密機時,相互間形成互備,每個加密機均處於主用狀態,同時也作為另一加密機的備份,在另一加密機出現故障或其它不可用的情況時,能代替其行使相應的功能;另外,也會在故障的加密機恢復後,能自動切換,恢復成原來的使用方式。從整體上提高應用系統的健壯性與高可用性,同時,也讓備用的加密機不再處於閒置狀態,提高資源使用率。
[0025]圖1為根據本發明實施例的實現加密機應用的高可用性的系統。圖2為根據本發明實施例的實現加密機應用的高可用性的方法。以下結合圖1和2來描述根據本發明的實現加密機應用的高可用性的系統和方法。 [0026]如圖1所示,系統包括應用伺服器1,...,η和加密機HSM-1,...,HSM-n, η>1,每個應用伺服器1,...,η分別包括應用模塊APP-1,...,ΑΡΡ-η、消息中間件-1...η和安全服務模塊SEC-1,SEC-n。消息中間件_1,...,消息中間件_n依次連接以便在消息中間件-1...η之間進行通訊。其中消息中間件按自身的負載均衡策略,將接收到的通訊請求發送給其中的一個安全服務模塊處理。鑑於本領域技術人員能夠知道如何按自身的負載均衡策略,將接收到的通訊請求發送給其中的一個安全服務模塊進行處理,因此本文在此不再贅述。
[0027]安全服務模塊i,j中分別定義有主用和備用加密機的邏輯分組GRP-1〈HSM_k,HSM-m>, GRP-j。其中 I < i, j, k, m, p, q ^ n, k ^ m, k ^ p, p ^ q,
m q o
[0028]優選地,當I < i〈n 時,k=i, m=i+l;當 i=n 時,k=n, m=l;當 I < j〈n 時,p=j,q=j+l ;當 j=n 時,p=n, q=l。
[0029]下面將詳細描述根據本發明的實現加密機應用的高可用的方法。
[0030]如圖2所示,在步驟200,假設應用模塊APP-1接收到通訊請求並將其轉發至消息中間件-1。顯而易見地,也可以由其它應用模塊來接收通訊請求。
[0031]在步驟202,消息中間件-1解析該通訊請求,將其轉發至一個安全服務模塊。
[0032]在此,假設消息中間件按自身的負載均衡策略將其發送至安全服務模塊SEC-1。然而,本領域技術人員會知道,通訊請求的轉發並非局限於消息中間件所在的應用伺服器。例如,通訊請求也可能通過應用模塊APP-1,消息中間件-1、消息中間件-2而被轉發至安全服務模塊SEC-2。
[0033]在步驟204,安全服務模塊SEC-1確定在安全服務模塊SEC-1和當前加密機之間是否存在長連接,如果存在,則執行步驟206,否則執行步驟208。
[0034]在步驟206,安全服務模塊SEC-1根據加密機指令要求封裝該通訊請求並將封裝後的通訊請求通過網絡通訊發送至加密機。
[0035]在步驟208,安全服務模塊SEC-1嘗試連接主(備)用加密機。
[0036]在步驟210,安全服務模塊SEC-1確定連接是否成功,如果成功,則執行步驟206,否則執行步驟212。
[0037]在步驟212,安全服務模塊SEC-1返回失敗的應答消息。
[0038]具體而言,安全服務模塊SEC-1嘗試連接邏輯定分組中的主用加密機HSM-1,如果連接成功,則執行步驟206 (將封裝後的通訊請求發送至主用加密機HSM-1 ),否則嘗試連接備用加密機HSM-2,如果連接成功,則執行步驟206 (將封裝後的通訊請求發送至備用加密機HSM-2),否則返回執行步驟208,直至失敗M次後才執行步驟212,其中M為自然數。
[0039]優選地,也可以在安全服務模塊SEC-1第一次嘗試連接主(備)用加密機失敗後,直接返回失敗的應答消息。
[0040]在步驟214,安全服務模塊SEC-1確定發送是否成功,如果成功,則執行步驟216,否則執行步驟218。
[0041]在步驟216,安全服務模塊SEC-1確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟224,否則執行步驟234。
[0042]在步驟218,安全服務模塊SEC-1斷開所連接的加密機和安全服務模塊的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟220,否則執行步驟242。
[0043]在步驟220,安全服務模塊SEC-1發送封裝後的通訊請求至所連接的加密機。
[0044]在步驟222,安全服務模塊SEC-1確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟216,否則執行步驟242。
[0045]在步驟224,安全服務模塊確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟226,否則執行步驟230。
[0046]在步驟226,安全服務模塊嘗試連接至主用加密機,
在步驟228,安全服務模塊確定連接是否成功,如果成功,則執行步驟232,否則執行步驟 230。
[0047]在步驟230,安全服務模塊返回成功的應答消息。
[0048]在步驟232,安全服務模塊與斷開備用加密機的連接。
[0049]在步驟234,安全服務模塊SEC-1斷開所連接的加密機和安全服務模塊的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟236,否則執行步驟242。
[0050]在步驟236,安全服務模塊SEC-1發送封裝後的通訊請求至所連接的加密機。
[0051]在步驟238,安全服務模塊SEC-1確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟240,否則執行步驟242。
[0052]在步驟240,安全服務模塊SEC-1確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟224,否則執行步驟242。
[0053]在步驟242,安全服務模塊SEC-1返回失敗的應答消息。
[0054]為了簡化描述的目的,在本發明中僅以應用模塊APP-1為例闡述了本發明。然而,本發明並不局限於應用模塊APP-1,其同樣可以適用於其它應用模塊,而不脫離本發明的範圍。
[0055]為了簡化描述的目的,在本發明中僅示意性地示出了在每個伺服器中包括一個安全服務模塊。然而,本發明並不局限於此,每個伺服器中可以含有多個安全服務模塊,本領域技術人員可以根據實際需要來確定所含有的安全服務模塊的數量,例如為2個、3個...。優選地,每個伺服器中含有η個安全服務模塊。
[0056]為了簡化描述的目的,在本發明中僅示意性地示出了在每個伺服器中包括一個應用模塊。然而,本發明並不局限於此,每個伺服器中可以含有多個應用模塊,本領域技術人員可以根據實際需要來確定所含有的應用模塊的數量,例如為2個、3個...。
[0057]為了簡化描述的目的,在本發明中僅示意性地示出了根據本發明的實現加密機應用的高可用性系統包括η個應用伺服器。然而,本發明並不局限於此,本領域技術人員可以根據實際需要來調整應用伺服器的數量,該應用服務伺服器的數量在I到η之間,即最小為一個,最大為η個。例如可以僅包括一個應用伺服器、2個應用伺服器...,直至η個應用伺服器。
[0058]在本發明中只定義兩個加密機為一個分組,其目的是為了縮短異常情況下應用與加密機通訊時的超時返回時間。然而,本發明並不局限將一個分組定義為僅包括兩個加密機,也即增多一個分組中的加密機(多餘2個)。雖然可用性提高了,但異常情況下的處理時效性將變差。
[0059]鑑於這些教導,熟悉本領域的技術人員將容易想到本發明的其它實施例、組合和修改。例如,本領域的技術人員可以根據實際需要來刪除、合併、分解圖中所示的步驟、元件。因此,當結合上述說明和附圖進行閱讀時,本發明僅僅由權利要求限定。
【權利要求】
1.一種實現加密機應用的高可用性的方法,其特徵在於,所述方法用於包括應用伺服器和加密機HSM-1,...HSM-n的系統中,其中η>1,應用伺服器的數量在I到η之間,每個應用伺服器包括應用模塊、消息中間件和至少一個安全服務模塊,消息中間件依次連接,安全服務模塊i,j中分別定義有主用和備用加密機的邏輯分組GRP-1〈HSM-k,HSM-m>,GRP-j,其中 I < i, j, k, m, p, q ^ n, k ^ m, k ^ p, p ^ q, m ^ q,所述方法包括: A應用模塊接收通訊請求並將其轉發至消息中間件; B消息中間件解析通訊請求,將其發送至一個安全服務模塊; C安全服務模塊封裝所述通訊請求; D安全服務模塊確定其和當前加密機之間是否存在長連接,如果存在,則將封裝後的通訊請求發送至當前加密機並執行步驟F,否則執行步驟E ; E安全服務模塊嘗試連接邏輯定分組中的主用加密機,如果連接成功,則將封裝後的通訊請求發送至主用加密機並執行步驟F,否則嘗試連接備用加密機,如果連接成功,則將封裝後的通訊請求發送至備用加密機並執行步驟F,否則返回失敗的應答消息; F安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息; G安全服務模塊確定是否成功從所連接的加密機接收應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
2.如權利要求1所述的方法,其特徵在於,當I≤i〈n時,k=i,m=i+l;當i=n時,k=n,m=l;當 I ≤j〈n 時,P=j, q=j+l;當 j=n 時,p=n, q=l。
3.如權利要求1或2所述的方法,其特徵在於,所述步驟F包括: Fl安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則執行步驟F2 ; F2安全服務模塊斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟F3,否則返回失敗的應答消息; F3安全服務模塊發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息。
4.如權利要求1或2所述的方法,其特徵在於,所述步驟G包括: Gll安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則執行步驟G12 ; G12安全服務模塊斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟G13,否則返回失敗的應答消息; G13安全服務模塊發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G14,否則返回失敗的應答消息; G14安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
5.如權利要求1或2所述的方法,其特徵在於,步驟G包括: G21安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G22,否則返回失敗的應答消息;G22安全服務模塊確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G23,否則返回成功的應答消息; G23安全服務模塊嘗試連接至主用加密機,如果成功,則執行步驟G24,否則返回成功的應答消息; G24安全服務模塊斷開與備用加密機的連接並返回成功的應答消息。
6.如權利要求1或2所述的方法,其特徵在於,步驟G包括: G31安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則執行步驟G35 ; G32安全服務模塊確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G33,否則返回成功的應答消息; G33安全服務模塊嘗試連接至主用加密機,如果成功,則執行步驟G34,否則返回成功的應答消息; G34安全服務模塊斷開與備用加密機的連接並返回成功的應答消息; G35連接至邏輯分組中的另一加密機並發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G36,否則返回失敗的應答消息; G36安全服務模塊確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則返回失敗的應答消息。
7.如權利要求1 或2所述的方法,其特徵在於,步驟E還包括:安全服務模塊在嘗試連接備用加密機失敗後,返回執行步驟E,直至失敗M次後才返回失敗的應答消息,其中M為自然數。
8.一種實現加密機應用的高可用性的方法,其特徵在於,所述系統包括應用伺服器和加密機HSM-1,...,HSM-n,其中η>1,應用伺服器的數量在I到η之間,每個應用伺服器包括應用模塊、消息中間件和至少一個安全服務模塊,消息中間件依次連接,安全服務模塊i,j中分別定義有主用和備用加密機的邏輯分組GRP-1〈HSM-k,HSM-m>, GRP-j〈HSM_p,HSM_q>,其中1≤i, j, k, m, p, q≤n, k關m, k關p, P關q, m關q,其中所述系統被配置為: A應用模塊接收通訊請求並將其轉發至消息中間件; B消息中間件解析通訊請求,將其發送至一個安全服務模塊; C安全服務模塊封裝所述通訊請求; D安全服務模塊確定其和當前加密機之間是否存在長連接,如果存在,則將封裝後的通訊請求發送至當前加密機並執行步驟F,否則執行步驟E ; E安全服務模塊嘗試連接邏輯定分組中的主用加密機,如果連接成功,則將封裝後的通訊請求發送至主用加密機並執行步驟F,否則嘗試連接備用加密機,如果連接成功,則將封裝後的通訊請求發送至備用加密機並執行步驟F,否則返回失敗的應答消息; F安全服務模塊確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息; G安全服務模塊確定是否成功從所連接的加密機接收應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
9.如權利要求8所述的系統,其特徵在於,當1< i〈n時,k=i, m=i+l;當i=n時,k=n,m=l;當 ≤ j〈n 時,p=j, q=j+l;當 j=n 時,p=n, q=l。
10.如權利要求8或9所述的系統,其特徵在於,所述安全服務模塊在所述步驟F中被配置為: Fl確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則執行步驟F2 ;F2斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟F3,否則返回失敗的應答消息; F3發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G,否則返回失敗的應答消息。
11.如權利要求8或9所述的系統,其特徵在於,所述安全服務模塊在所述步驟G中被配置為: Gll確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則執行步驟G12; G12斷開與所連接的加密機的連接,嘗試連接至邏輯分組中的另一加密機,如果成功,則執行步驟G13,否則返回失敗的應答消息; G13發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G14,否則返回失敗的應答消息; G14確定是否成功從所連接的加密機接收到應答消息,如果是,則返回成功的應答消息,否則返回失敗的應答消息。
12.12.如權利要求8或9所述的系統,其特徵在於,所述安全服務模塊在步驟G中被配置為: G21確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G22,否則返回失敗的應答消息; G22確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G23,否則返回成功的應答消息; G23嘗試連接至主用加密機,如果成功,則執行步驟G24,否則返回成功的應答消息; G24斷開與備用加密機的連接並返回成功的應答消息。
13.如權利要求8或9所述的系統,其特徵在於,所述安全服務模塊步驟G中被配置為: G31確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則執行步驟G35 ; G32確定當前所連接的加密機是否為備用加密機且達到回切檢測時間,如果為是,則執行步驟G33,否則返回成功的應答消息; G33嘗試連接至主用加密機,如果成功,則執行步驟G34,否則返回成功的應答消息; G34斷開與備用加密機的連接並返回成功的應答消息; G35連接至邏輯分組中的另一加密機並發送封裝後的通訊請求,確定發送封裝後的通訊請求是否成功,如果成功,則執行步驟G36,否則返回失敗的應答消息; G36確定是否成功從所連接的加密機接收到應答消息,如果是,則執行步驟G32,否則返回失敗的應答消息。
14.如權利要求8或9所述的系統,其特徵在於,所述安全服務模塊在步驟E還被配置為:在嘗試連接備用加密機失敗後,返回執行步驟E,直至失敗M次後才返回失敗的應答消息,其中 M為自然數。
【文檔編號】H04L29/06GK103546427SQ201210238615
【公開日】2014年1月29日 申請日期:2012年7月11日 優先權日:2012年7月11日
【發明者】劉賓, 冀乃庚, 李築埭 申請人:中國銀聯股份有限公司