一種交易請求處理方法、網關設備、代理設備及業務設備的制造方法
【專利摘要】本發明涉及數據處理技術領域,尤其涉及提供一種交易請求處理方法、網關設備、代理設備及業務設備,用以解決現有技術中存在的無法有效地解決大量交易請求造成的數據庫或系統壓力大及處理速度慢的問題,包括:網關設備接收交易請求報文,并轉換為內部報文,然后轉發至與網關設備連接的多個代理設備中的一個,由代理設備將接收到的內部報文分發至與代理設備連接的多個業務設備中的一個,然后由業務設備對接收到的內部報文進行處理,并將處理結果存儲到與業務設備對應的數據庫中,該方法可以提高處理速度和減輕單個處理系統的壓力,同時對處理結果分散存儲到不同的數據庫中,可以減少單個數據庫的存儲壓力,并且提高了處理速度。
【專利說明】
一種交易請求處理方法、網關設備、代理設備及業務設備
技術領域
[0001]本發明涉及數據處理技術領域,尤其涉及一種交易請求處理方法、網關設備、代理設備及業務設備。
【背景技術】
[0002]隨著現代互聯網的發展,系統交易量有呈爆發式增長的趨勢。以手機后臺系統為例,在繁忙階段,后臺交易量可以輕易突破千筆/秒,向萬筆每/秒發展,系統應用和核心數據庫隨之面臨著越來越高的負載壓力。
[0003]現有技術,為了處理大量交易請求造成的數據庫或系統壓力大的問題以及處理速度慢的問題,一般采用升級核心數據庫主機、提升磁盤存儲性能的方式來解決。這種方式往往意味著投入大量資金,而且隨著交易增長,投入成本呈幾何級數增長,后續擴展成本越來越尚昂。
[0004]綜上所述,現有技術無法有效地解決大量交易請求造成的數據庫或系統壓力大及處理速度慢的問題。
【發明內容】
[0005]本發明提供一種交易請求處理方法、網關設備、代理設備及業務設備,用以解決現有技術中存在的無法有效地解決大量交易請求造成的數據庫或系統壓力大及處理速度慢的問題。
[0006]—方面,本發明實施例提供一種交易請求處理方法,包括:
[0007]網關設備接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文;
[0008]所述網關設備將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0009]可選地,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值;
[0010]所述網關設備根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文,包括:
[0011]所述網關設備按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對;
[0012]所述網關設備從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值;
[0013]所述網關設備將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。
[0014]另一方面,本發明實施例提供一種網關設備,包括:
[0015]確定單元,用于接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文;
[0016]第一轉發單元,用于將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0017]可選地,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值;
[0018]所述確定單元,具體用于:
[0019]按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對;
[0020]從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值;
[0021]將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。
[0022]一方面,本發明實施例提供一種交易請求處理方法,包括:
[0023]代理設備接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0024]所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0025]可選地,所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,包括:
[0026]所述代理設備根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備;
[0027]所述代理設備通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。
[0028]另一方面,本發明實施例提供一種代理設備,包括:
[0029]接收單元,用于接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0030]第二轉發單元,用于根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0031]可選地,所述第二轉發單元,具體用于:
[0032]根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備;
[0033]通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。
[0034]一方面,本發明實施例提供一種交易請求處理方法,包括:
[0035]業務設備接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0036]所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。
[0037]可選地,所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫之后,還包括:
[0038]所述業務設備將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。
[0039]可選地,所述業務設備將所述報文的處理結果存儲至跨機共享內存,包括:
[0040]若所述報文的處理結果的大小不超過設定大小,則所述業務設備根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置;
[0041]所述業務設備將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。
[0042]可選地,該方法還包括:
[0043]所述業務設備刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。
[0044]另一方面,本發明實施例提供一種業務設備,包括:
[0045]處理單元,用于接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0046]存儲單元,用于根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。
[0047]可選地,所述存儲單元,還用于:
[0048]將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。
[0049]可選地,所述存儲單元,還用于:
[0050]若所述報文的處理結果的大小不超過設定大小,則根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置;
[0051]將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。
[0052]可選地,所述業務設備還包括:
[0053]刪除單元,用于刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。
[0054]本發明實施例提供的方法,網關設備接收交易請求報文,并轉換為內部報文,然后轉發至與網關設備連接的多個代理設備中的一個,由代理設備將接收到的內部報文分發至與代理設備連接的多個業務設備中的一個,然后由業務設備對接收到的內部報文進行處理,并將處理結果存儲到與業務設備對應的數據庫中,從而該方法可以對接收到的大量交易請求進行格式統一,以及進行并發處理,可以提高處理速度和減輕單個處理系統的壓力,同時對處理結果分散存儲到不同的數據庫中,可以減少單個數據庫的存儲壓力,并且提高了處理速度。
【附圖說明】
[0055]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0056]圖1為本發明實施例所適用的系統架構圖;
[0057]圖2為本發明實施例提供的一種交易請求處理方法流程圖;
[0058]圖3為本發明實施例提供的另一種交易請求處理方法流程圖;
[0059]圖4為本發明實施例提供的另一種交易請求處理方法流程圖;
[0060]圖5為本發明實施例提供的一種交易請求處理方法完整交互流程圖;
[0061]圖6為本發明實施例提供的一種網關設備;
[0062]圖7為本發明實施例提供的一種代理設備;
[0063]圖8為本發明實施例提供的一種業務設備。
【具體實施方式】
[0064]為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0065]如圖1所示,為本發明實施例所適用的系統架構圖,其中包含多個網關設備,m個代理設備,η個業務設備,其中m,n的具體取值根據實際需要而定,并且網關設備的數量,圖1中只是示例性給出兩個網關設備,實際數量視需要而定。
[ΟΟ??] —個網關設備與多個代理設備關聯,一個代理設備與多個業務設備關聯,一個業務設備與一個或多個數據庫關聯,本發明中以一個業務設備至于一個數據庫關聯為例進行說明,即業務設備與數據庫是一一對應的關系。
[0067]在本發明中,網關設備可以是一臺服務器或者是一臺服務器中的網關設備,主要用于根據接收到的交易請求報文,得到內部報文,即進行報文格式轉換,;代理設備可以是一臺服務器或者一臺服務器中的一個獨立設備,主要用于對接收到的報文進行轉發;業務設備可以是一臺服務器或者是一臺服務器中的一個獨立設備,主要用于對接收到的報文進行處理,并將處理結果存儲到相應的數據庫中。
[0068]并且圖1中的系統架構圖還包含一個跨機共享內存,主要用于存儲所有數據庫的部分或者所有數據,以便可以快速獲取需要的數據。
[0069]下面結合說明書附圖對本發明實施例作進一步詳細描述,如圖2所示,為本發明實施例提供的交易請求處理方法,包括:
[0070]步驟201、網關設備接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文;
[0071]步驟202、所述網關設備將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0072]上述步驟201中,網關設備接收到交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文,其中,預先設定的報文格式視實際需要而定。對于預先設定的報文格式,總體有以下要求:需要包含可以區分不同交易類型的關鍵信息;需要方便高效、快捷地存取;具有較高的打包、解包性能。
[0073]本發明實施例提供一種預先設定的報文格式及根據預先設定的報文格式,確定與交易請求報文對應的內部報文的方法如下:
[0074]可選地,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值;
[0075]所述網關設備根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文,包括:
[0076]所述網關設備按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對;
[0077]所述網關設備從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值;
[0078]所述網關設備將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。
[0079]上述方法,預先設定的報文格式包含多個屬性對,每個屬性對包含屬性和屬性值,例如屬性對(1'作1^69,071165),屬性對06謂1(1,85011123),屬性對(?10(11(1,8100002),其中TranSeq,TermId,ProdId均為屬性,例如分別表示流水號,終端號,商品標識,071165,85011123,S100002分別為屬性值,因而最終生成的內部報文是由一個或者多數屬性對構成。
[0080]比如,接收到的交易請求報文為(TranSeq,TermId,ProdId,071165,85011123,S100002),則根據預先設定的報文格式及交易請求報文,生成的內部報文為:(TranSeq,071165,TermId,85011123,ProdId,sl00002)。下面給出一種實際應用中使用的內部報文的格式的規則:
[0081]對于String類型(字符串類型),其序列化的規則為:
[0082]S:字符串長度:字符串內容;
[0083]例如,字符串abed序列化后的串為S:4:abcd。
[0084]對于array類型(數組類型),其序列化規則為:
[0085]A:數組長度η: η個序列化后的屬性對;
[0086]例如,數組array(a = >〃hello〃,b = >〃world〃)序列化后的串為A: 2: S:1: aS: 5:helloS:1:bS: 5:world,其中數組array包含兩個屬性對,第一個屬性對的屬性為a,屬性的字符串長度為I,屬性值為字符串“hello”,屬性值的字符串長度為5;第二個屬性對的屬性為b,屬性的字符串長度為I,屬性值為字符串“world”,屬性值的字符串長度為5。
[0087]再比如,實際的生產報文為:
[0088]A:14:S:6:msg_stS:1:1
[0089]S:4:typeS:2:00
[0090]S:9:rec_countS:1:0
[0091]S:13:result_stringS:2:0K
[0092]S:6:resultS:1:0
[0093]S:13:start_ts—endS:26:2015-12-06-05.00.21.165556
[0094]S:8:error_cdS:2:-2
[0095]S:4:rowsS:1:0:
[0096]S:3:cmdS:13:apns_batchMsg
[0097]S:2:opS:9:qryBatMsg
[0098]S:6:rec_stS:1:1
[0099]S:11:limit_beginS:1:0
[0100]S:15:start_ts—starts:26:1970-01-01-00.00.00.000000
[0101]S:11:limit_countS:1:1
[0102]上述內部報文中,為I個數組,其中包含14個屬性對,例如第一個屬性對的屬性為msg_st,屬性的字符串長度為6,屬性值為I,屬性值的字符串長度為I。需要說明的是,上述內部報文在實際應用中是一個完整的長串,即字符與字符之間沒有空格鍵,回車鍵等格式字符,上述格式只是為了方便閱覽,因而添加了一些回車鍵。這種報文格式的特點在于支持數組和嵌套表達,而且機器處理效率極高。
[0103]需要特別說明的是,上述預先設定的內部報文格式只是作為一個具體的例子加以說明本發明方案,實際應用中,不限于此格式。
[0104]上述步驟202中,所述網關設備將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,如圖1所示,假設網關設備I連接了 100個代理設備,則網關設備I可以隨機地將內部報文轉發至其中任意一個代理設備,或者是根據當前連接的100個代理設備的負載均衡情況,將內部報文轉發至相對比較空閑的某個代理設備。
[0105]對于代理設備,則根據接收到的內部報文的類型,將所述內部報文轉發至與代理設備連接的多個業務設備中的一個,例如,代理設備A連接了 200個業務設備,代理設備A在接收到某個內部報文之后,首先根據內部報文的類型,比如根據內部報文中的某個關鍵字段,確定可以處理該內部報文的所有業務設備,然后從確定的可以處理該內部報文的所有業務設備中再選擇一個業務設備,來處理該內部報文。其中,根據根據內部報文的關鍵字段,如以上面的內部為例進行說明,其第9個屬性對為:S:3:cmdS: 13:apns_batchMsg,該屬性cmd就是表示內部報文類型的屬性,其屬性值可以取值為:apns_batchMsg、apns_onlMsg、apns_swtMsg,因而可以根據該屬性對應的屬性值,來確定該內部報文的類型,從而代理設備可以確定哪些業務設備可以處理該內部報文。
[0106]對于業務設備,則是在接收到代理設備轉發的內部報文之后,就對該內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫,如圖1所示,以業務設備與數據庫是一一對應的關系為例,業務設備I將業務設備I處理內部報文之后得到的處理結果都存放于數據庫I中,業務設備I將業務設備2處理內部報文之后得到的處理結果都存放于數據庫2中,等等。
[0107]本發明實施例網關設備接收交易請求報文,并轉換為內部報文,然后轉發至與網關設備連接的多個代理設備中的一個,由代理設備將接收到的內部報文分發至與代理設備連接的多個業務設備中的一個,然后由業務設備對接收到的內部報文進行處理,并將處理結果存儲到與業務設備對應的數據庫中,從而該方法可以對接收到的大量交易請求進行格式統一,以及進行并發處理,可以提高處理速度和減輕單個處理系統的壓力,同時對處理結果分散存儲到不同的數據庫中,可以減少單個數據庫的存儲壓力,并且提高了處理速度。
[0108]如圖3所示,為本發明實施例提供的另一種交易請求處理方法流程圖,包括:
[0109]步驟301、代理設備接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0110]步驟302、所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0111]上述步驟301中,代理設備接收網關設備發送的內部報文,其中,內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的,其中,網關設備根據預先設定的報文格式及接收到的交易請求報文生成內部報文的方式可參照以上描述,在此不再贅述。
[0112]上述步驟302中,代理設備根據根據接收到的內部報文的類型,將內部報文轉發至與代理設備連接的多個業務設備中的一個,其中轉發的方式不限,可以是隨機轉發,也可以是根據業務設備的負載情況,將接收到的內部報文轉發至相對較空閑的業務設備進行處理。
[0113]可選地,所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,包括:
[0114]所述代理設備根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備;
[0115]所述代理設備通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。
[0116]上述方法,代理設備接收到一個內部報文之后,首先根據內部報文的類型,比如根據內部報文中的某個關鍵字段,確定可以處理該內部報文的所有業務設備,然后從確定的可以處理該內部報文的所有業務設備中再選擇一個業務設備,來處理該內部報文。其中,根據根據內部報文的關鍵字段,如以上面的內部為例進行說明,其第9個屬性對為:S:3:cmdS:13: apns_batchMsg,該屬性cmd就是表示內部報文類型的屬性,其屬性值可以取值為:apns_batchMsg、apns_onlMsg、apns_swtMsg,因而可以根據該屬性對應的屬性值,來確定該內部報文的類型,從而代理設備可以確定哪些業務設備可以處理該內部報文。
[0117]代理設備主要就是用于實現內部報文的轉發,因而為了保證代理設備的高效性,實際應用中,可以采取同步方式,將內部報文轉發至業務設備,因為異步方式會產生更多的連接請求,從而影響轉發效率,而同步方式可占用比較少的連接請求,因此相對更加高效。
[0118]如圖4所示,為本發明實施例提供的另一種交易請求處理方法流程圖,包括:
[0119]步驟401、業務設備接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0120]步驟402、所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。
[0121]上述步驟401中,業務設備接收代理設備轉發的內部報文并進行處理。
[0122]上述步驟402中,業務設備根據業務設備與數據庫的對應關系,將對內部報文的處理結果存儲至與自身對應的數據庫,例如業務設備與數據庫是一一對應的關系,或者一個業務設備也可以對應多個數據庫,即將內部報文的處理結果存儲至多個數據庫中。本發明以業務設備與數據庫一一對應為例進行說明。參照圖1,業務設備I將內部報文處理結果存儲至數據庫I,業務設備2將內部報文處理結果存儲至數據庫2,等等。
[0123]由于可能一筆完整的交易包含多個交易請求報文,并且是由多個業務設備分別處理的,因而處理的結果也是存儲到了多個不同的數據庫中,因而一筆完整交易的處理結果一般都會分散存儲到多個數據庫,從而在將內部報文處理結果存儲至相應的數據庫之后,當需要訪問數據庫中的報文處理結果時,可以從多個數據庫中進行查找,然后進行組裝,從而減輕了每一個單獨的數據庫的數據訪問壓力,減小了死鎖發生的概率,減小了系統壓力和數據庫壓力,提高了系統性能。
[0124]當然,由于將內部報文處理結果分散存儲至多個數據庫,所以有可能造成在數據庫訪問時,需要訪問多個數據庫,造成一定的訪問性能下降,因而為了提高用戶查詢性能,本發明還增加了一個跨機共享內存。
[0125]可選地,所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫之后,還包括:
[0126]所述業務設備將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。
[0127]上述方法,業務設備在將報文處理結果存儲至對應的數據庫之后,還家那個報文處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。
[0128]第一種實現方式是,跨機共享內存存儲所有數據庫中的所有數據,即實現所有數據庫的完全拷貝,從而用戶需要查詢數據庫時,可以直接從跨機共享內存中獲取需要的數據,因而跨機共享內存的讀取速度要遠遠高于數據庫,因而可以提高用戶查詢的速率和效率。
[0129]當然,由于實際應用中,可能所有的數據庫的數據總量比較大,跨機共享內存中無法存儲所有的數據庫中的數據庫,因而可以使用第二種實現方式,具體地:
[0130]所述業務設備將所述報文的處理結果存儲至跨機共享內存,包括:
[0131]若所述報文的處理結果的大小不超過設定大小,則所述業務設備根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置;
[0132]所述業務設備將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。
[0133]上述方法,只存儲不超過設定大小的報文處理結果,例如小于5兆的報文處理結果在存儲到相應數據庫的同時也存儲到跨機共享內存,從而可以減小跨機共享內存的存儲總量,具體地,在存儲時,可以為每個數據庫預先劃定存儲區域,因而在將某個報文處理結果存儲至跨機共享內存時,可以根據數據庫,先確定跨機共享內存的相應位置,然后將報文處理結果存儲至確定的相應位置。
[0134]上述第二種方式可以部分減少跨機共享內存的存儲數據總量,但隨著時間的推移,跨機共享內存中的數據總量還是會比較大,因而可以通過第三種方式來實現跨機共享內存的報文處理結果的存儲,即所述業務設備刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。例如只保留最近一個月的報文處理結果,或者只保留最近三個月的報文處理結果等,從而可以進一步地減少跨機共享內存的存儲數據總量。
[0135]對于上述第二種方式和第三種方式,由于跨機共享內存中沒有存儲所有的報文處理結果,因而用戶需要查詢報文處理結果時,可以首先訪問跨機共享內存,若查找到了,則返回結果,如果沒有查找到,則訪問相應的數據庫進行查詢,并返回查詢結果。
[0136]下面對本發明實施例提供的交易請求處理方法做詳細描述,如圖5所示,為本發明實施例提供的交易請求處理方法完整交互流程圖。
[0137]步驟501、網關設備接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文;
[0138]步驟502、網關設備將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個;
[0139]步驟503、代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個;
[0140]步驟504、業務設備用于處理接收到的內部報文;
[0141]步驟505、業務設備將報文處理結果存儲至數據庫以及跨機共享內存中。
[0142]基于相同的技術構思,本發明實施例還提供一種網關設備。本發明實施例提供的網關設備如圖6所不。
[0143]確定單元601,用于接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文;
[0144]第一轉發單元602,用于將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0145]可選地,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值;
[0146]所述確定單元601,具體用于:
[0147]按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對;
[0148]從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值;
[0149]將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。
[0150]基于相同的技術構思,本發明實施例還提供一種代理設備。本發明實施例提供的代理設備如圖7所示。
[0151]接收單元701,用于接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0152]第二轉發單元702,用于根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。
[0153]可選地,所述第二轉發單元702,具體用于:
[0154]根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備;
[0155]通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。
[0156]基于相同的技術構思,本發明實施例還提供一種業務設備。本發明實施例提供的業務設備如圖8所不。
[0157]處理單元801,用于接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的;
[0158]存儲單元802,用于根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。
[0159]可選地,所述存儲單元802,還用于:
[0160]將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。
[0161]可選地,所述存儲單元802,還用于:
[0162]若所述報文的處理結果的大小不超過設定大小,則根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置;
[0163]將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。
[0164]可選地,所述業務設備還包括刪除單元803,用于刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。
[0165]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0166]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0167]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0168]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0169]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【主權項】
1.一種交易請求處理方法,其特征在于,包括: 網關設備接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文; 所述網關設備將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。2.如權利要求1所述的方法,其特征在于,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值; 所述網關設備根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文,包括: 所述網關設備按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對; 所述網關設備從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值; 所述網關設備將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。3.一種交易請求處理方法,其特征在于,包括: 代理設備接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的; 所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。4.如權利要求3所述的方法,其特征在于,所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,包括: 所述代理設備根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備; 所述代理設備通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。5.一種交易請求處理方法,其特征在于,包括: 業務設備接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的; 所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。6.如權利要求5所述的方法,其特征在于,所述業務設備根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫之后,還包括: 所述業務設備將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。7.如權利要求6所述的方法,其特征在于,所述業務設備將所述報文的處理結果存儲至跨機共孚內存,包括: 若所述報文的處理結果的大小不超過設定大小,則所述業務設備根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置; 所述業務設備將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。8.如權利要求6所述的方法,其特征在于,該方法還包括: 所述業務設備刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。9.一種網關設備,其特征在于,包括: 確定單元,用于接收交易請求報文,并根據預先設定的報文格式,確定與所述交易請求報文對應的內部報文; 第一轉發單元,用于將所述內部報文轉發至與所述網關設備連接的多個代理設備中的一個,以使所述代理設備根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,所述業務設備用于處理接收到的內部報文并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。10.如權利要求9所述的網關設備,其特征在于,所述預先設定的報文格式包含多個屬性對,其中每個屬性對包含屬性和屬性值; 所述確定單元,具體用于: 按照所述預先設定的報文格式中屬性對的順序,確定一個目標屬性對; 從所述交易請求報文中確定與所述目標屬性對中的屬性對應的屬性值; 將所述目標屬性的屬性和確定的屬性值,作為所述內部報文中的一個屬性對,并置于所述內部報文中。11.一種代理設備,其特征在于,包括: 接收單元,用于接收網關設備發送的內部報文,所述內部報文是由所述網關設備根據預先設定的報文格式及接收到的交易請求報文生成的; 第二轉發單元,用于根據接收到的內部報文的類型,將所述內部報文轉發至與所述代理設備連接的多個業務設備中的一個,以使所述業務設備對接收到的內部報文進行處理并根據業務設備與數據庫的對應關系,將處理結果存放至相應的數據庫。12.如權利要求11所述的代理設備,其特征在于,所述轉發單元,具體用于: 根據所述內部報文的類型及內部報文類型與業務設備的對應關系,確定與所述內部報文類型對應的所有業務設備; 通過預先設定的哈希算法,從確定的所有業務設備中選擇一個業務設備,并將所述內部報文轉發到選擇的業務設備。13.一種業務設備,其特征在于,包括: 處理單元,用于接收代理設備轉發的內部報文,并對所述內部報文進行處理,其中所述內部報文是由網關設備根據預先設定的報文格式及接收到的交易請求報文生成的; 存儲單元,用于根據業務設備與數據庫的對應關系,將對所述內部報文的處理結果存儲至與所述業務設備對應的數據庫。14.如權利要求13所述的業務設備,其特征在于,所述存儲單元,還用于: 將所述報文的處理結果存儲至跨機共享內存,其中所述跨機共享內存用于存儲所有業務設備對應的數據庫中的部分或者全部數據。15.如權利要求14所述的業務設備,其特征在于,所述存儲單元,還用于: 若所述報文的處理結果的大小不超過設定大小,則根據所述報文的處理結果對應的數據庫,確定所述跨機共享內存中與所述數據庫對應的存儲位置; 將所述報文的處理結果存儲于確定的所述跨機共享內存中與所述數據庫對應的存儲位置上。16.如權利要求14所述的業務設備,其特征在于,所述業務設備還包括: 刪除單元,用于刪除所述跨機共享內存中存儲時長超過設定時長的所有數據。
【文檔編號】H04L29/06GK105931054SQ201510987896
【公開日】2016年9月7日
【申請日】2015年12月24日
【發明人】陳超, 豐朋, 林芃, 陳忠文
【申請人】中國銀聯股份有限公司