本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及報文處理方法、裝置、系統(tǒng)及終端。
背景技術(shù):
隨著銀行業(yè)務(wù)廣度和深度的不斷擴(kuò)展,銀行業(yè)務(wù)涉及的后臺交易有數(shù)千種之多,每種后臺交易均有用于表示交易本身行為的報文。以提現(xiàn)交易為例,尤其是復(fù)雜的批量提現(xiàn)交易,涉及到操作:a批次申請受理結(jié)果查詢,b批次申請?zhí)幚頎顟B(tài)查詢,c批次申請?zhí)幚斫Y(jié)果查詢。其中如果針對b操作返回部分處理狀態(tài)為申請成功的提現(xiàn)申請,需要先響應(yīng)c操作,將處理狀態(tài)為申請成功的那部分提現(xiàn)申請的處理結(jié)果返回到用戶,然后再繼續(xù)b操作和c操作,直至全部提現(xiàn)申請的處理結(jié)果返回到用戶。而批量提現(xiàn)交易中有些批次提現(xiàn)可能出現(xiàn)處理結(jié)果不明的情況,例如:一個批次提現(xiàn)申請與銀行的交互報文多達(dá)10次以上仍然沒有完成。
對于處理結(jié)果不明的批次提現(xiàn),若用戶向業(yè)務(wù)服務(wù)端咨詢原因,需業(yè)務(wù)服務(wù)端初步定位原因后,請報文管理端撈取報文,然后將撈取的報文與銀行系統(tǒng)核對,定位提現(xiàn)異常原因。由于不同銀行的提現(xiàn)渠道所屬網(wǎng)關(guān)不盡相同,報文管理端撈取報文時需要先分析出該批次提現(xiàn)的渠道屬于哪個網(wǎng)關(guān),然后再根據(jù)流水號和渠道號去分析出的網(wǎng)關(guān)對應(yīng)的服務(wù)器上查詢報文,從查詢出的初步滿足條件的多筆報文中整理出需要的報文反饋給業(yè)務(wù)服務(wù)端。
上述查詢報文的過程,識別網(wǎng)關(guān)需查詢提現(xiàn)的渠道、撈取報文需查詢該銀行系統(tǒng)的日志文件的存儲內(nèi)容、撈取出報文后還要通過梳理報文的邏輯關(guān)系找出需要的報文,因此,查詢操作繁復(fù)、耗時耗力。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁﹫笪奶幚矸椒?、裝置、系統(tǒng)及終端,能夠有效簡化報文查詢操作和節(jié)省報文查詢時間。
根據(jù)本申請實(shí)施例的第一方面,提供一種報文處理方法,包括以下步驟:
接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,所述報文信息與各網(wǎng)關(guān)設(shè)備接收到的報文對應(yīng);
解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識;
對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識;
接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容;
將查詢到的報文內(nèi)容返回至所述查詢端。
在一個實(shí)施例中,所述解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,包括:
從所述報文信息中解析出報文,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成;
從解析出的報文中讀取報文內(nèi)容和報文標(biāo)識。
在一個實(shí)施例中,所述解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,包括:
從所述報文信息中解析出壓縮報文和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行報文壓縮,并將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成;
對解析出的壓縮報文進(jìn)行解壓縮;
從解壓縮后的報文中讀取報文內(nèi)容。
在一個實(shí)施例中,所述解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,包括:
從接收到的報文信息中解析出各段報文數(shù)據(jù)和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行分段劃分,并將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成;
將解析出的各段報文數(shù)據(jù)組合成對應(yīng)的報文;
從組合成的報文中讀取報文內(nèi)容。
根據(jù)本申請實(shí)施例的第二方面,提供一種報文處理裝置,包括:
信息接收模塊,用于接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,所述報文信息與各網(wǎng)關(guān)設(shè)備接收到的報文對應(yīng);
信息解析模塊,用于解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識;
內(nèi)容存儲模塊,用于對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識;
內(nèi)容查詢模塊,用于接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容;
內(nèi)容返回模塊,用于將查詢到的報文內(nèi)容返回至所述查詢端。
在一個實(shí)施例中,所述信息解析模塊包括:
第一解析子模塊,用于從所述報文信息中解析出報文,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成;
第一讀取子模塊,用于從解析出的報文中讀取報文內(nèi)容和報文標(biāo)識。
在一個實(shí)施例中,所述信息解析模塊包括:
第二解析子模塊,用于從所述報文信息中解析出壓縮報文和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行報文壓縮,并將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成;
解壓縮子模塊,用于對解析出的壓縮報文進(jìn)行解壓縮;
第二讀取子模塊,用于從解壓縮后的報文中讀取報文內(nèi)容。
在一個實(shí)施例中,所述信息解析模塊包括:
第三解析子模塊,用于從接收到的報文信息中解析出各段報文數(shù)據(jù)和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行分段劃分,并將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成;
數(shù)據(jù)組合子模塊,用于將解析出的各段報文數(shù)據(jù)組合成對應(yīng)的報文;
第三讀取子模塊,用于從組合成的報文中讀取報文內(nèi)容。
根據(jù)本申請實(shí)施例的第三方面,提供一種報文處理方法,包括以下步驟:
接收報文;
確定所述報文的報文標(biāo)識;
獲取與所述報文對應(yīng)的報文信息,所述報文信息攜帶有所述報文標(biāo)識;
將所述報文信息向報文收集設(shè)備發(fā)送,以便所述報文收集設(shè)備解析所述報文信息獲得所述報文的報文內(nèi)容和報文標(biāo)識,并對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
在一個實(shí)施例中,所述獲取與所述報文對應(yīng)的報文信息,包括:
在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在一個實(shí)施例中,所述解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,包括:
在解析接收的報文前,對接收的報文進(jìn)行報文壓縮;
將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在一個實(shí)施例中,所述解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,包括:
在解析接收的報文前,對接收的報文進(jìn)行分段劃分;
將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中,生成所述報文信息。
根據(jù)本申請實(shí)施例的第四方面,提供一種報文處理裝置,包括:
報文接收模塊,用于接收報文;
標(biāo)識確定模塊,用于確定所述報文的報文標(biāo)識;
信息獲取模塊,用于獲取與所述報文對應(yīng)的報文信息,所述報文信息攜帶有所述報文標(biāo)識;
信息發(fā)送模塊,用于將所述報文信息向報文收集設(shè)備發(fā)送,以便所述報文收集設(shè)備解析所述報文信息獲得所述報文的報文內(nèi)容和報文標(biāo)識,并對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
在一個實(shí)施例中,所述信息獲取模塊包括:
第一封裝子模塊,用于在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在一個實(shí)施例中,所述信息獲取模塊包括:
壓縮子模塊,用于在解析接收的報文前,對接收的報文進(jìn)行報文壓縮;
第二封裝子模塊,用于將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在一個實(shí)施例中,所述信息獲取模塊包括:
報文劃分子模塊,用于在解析接收的報文前,對接收的報文進(jìn)行分段劃分;
第三封裝子模塊,用于將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成,生成所述報文信息。
根據(jù)本申請實(shí)施例的第五方面,提供一種報文處理系統(tǒng),包括各網(wǎng)關(guān)設(shè)備、報文收集設(shè)備和查詢端;
各網(wǎng)關(guān)設(shè)備用于接收報文,確定所述報文的報文標(biāo)識,獲取與所述報文對應(yīng)的報文信息,并向報文收集設(shè)備發(fā)送所述報文信息,所述報文信息攜帶有所述報文標(biāo)識;
所述報文收集設(shè)備用于接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,解析所述報文信息獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識;
所述查詢端用于向所述報文收集設(shè)備發(fā)送攜帶有報文標(biāo)識的報文查詢請求;
所述報文收集設(shè)備還用于在接收到所述查詢端發(fā)送的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容,并將查詢到的報文內(nèi)容返回至所述查詢端;
所述查詢端還用于接收所述報文收集設(shè)備發(fā)送的報文內(nèi)容,并向用戶展示所述報文內(nèi)容。
在一個實(shí)施例中,所述查詢端還用于從接收的各組報文內(nèi)容中獲取報文交易邏輯和/或報文交易順序,并按照獲取的報文交易邏輯和/或報文交易順序向用戶展示各組報文內(nèi)容。
根據(jù)本申請實(shí)施例的第六方面,提供一種終端,包括:
處理器;
用于存儲所述處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,所述報文信息與各網(wǎng)關(guān)設(shè)備接收到的報文對應(yīng);
解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識;
對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識;
接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容;
將查詢到的報文內(nèi)容返回至所述查詢端。
根據(jù)本申請實(shí)施例的第七方面,提供一種終端,包括:
處理器;
用于存儲所述處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
接收報文;
確定所述報文的報文標(biāo)識;
獲取與所述報文對應(yīng)的報文信息,所述報文信息攜帶有所述報文標(biāo)識;
將所述報文信息向報文收集設(shè)備發(fā)送,以便所述報文收集設(shè)備解析所述報文信息獲得所述報文的報文內(nèi)容和報文標(biāo)識,并對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
應(yīng)用本申請實(shí)施例,通過解析來自各網(wǎng)關(guān)設(shè)備的報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識;再對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識;可在接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容,并將查詢到的報文內(nèi)容返回至所述查詢端??杉袑⒏骶W(wǎng)關(guān)設(shè)備接收到的報文的報文內(nèi)容與其報文標(biāo)識對應(yīng)存儲,便于接收到報文查詢請求后,快速根據(jù)報文標(biāo)識查詢對應(yīng)的報文內(nèi)容,可簡化報文查詢操作和節(jié)省報文查詢時間,提高報文查詢效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本申請的實(shí)施例,并與說明書一起用于解釋本申請的原理。
圖1是本申請報文處理系統(tǒng)的一個實(shí)施例結(jié)構(gòu)示意圖;
圖2是本申請報文處理方法的一個實(shí)施例流程圖;
圖3是本申請報文處理方法的另一個實(shí)施例流程圖;
圖4是本申請報文處理方法的另一個實(shí)施例流程圖;
圖5是本申請報文處理裝置所在終端的一種硬件結(jié)構(gòu)圖;
圖6是本申請報文處理裝置的一個實(shí)施例框圖;
圖7是本申請報文處理裝置的另一個實(shí)施例框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。
參閱圖1,圖1是本申請報文處理系統(tǒng)的一個實(shí)施例結(jié)構(gòu)示意圖:
如圖1所示,本實(shí)施例的報文處理系統(tǒng)100可以包括報文收集設(shè)備120、以及分別與報文收集設(shè)備120連接的查詢端130、網(wǎng)關(guān)設(shè)備111、網(wǎng)關(guān)設(shè)備112……網(wǎng)關(guān)設(shè)備11m,其中m=3、4...m,m為正整數(shù)。
本申請實(shí)施例中,網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m,分別用于接收報文,確定所接收的報文的報文標(biāo)識,獲取與所接收的報文對應(yīng)的報文信息,并向報文收集設(shè)備120發(fā)送所獲取的報文信息,所獲取的報文信息攜帶有所述報文標(biāo)識。其中報文標(biāo)識用于唯一區(qū)分報文,可以包括報文的渠道號和流水號,渠道號用于表示網(wǎng)關(guān)設(shè)備所對接的銀行系統(tǒng)。此外,報文標(biāo)識還可以表示報文發(fā)送方向的報文類型,如發(fā)往銀行系統(tǒng)或銀行系統(tǒng)返回。再者,報文為批量業(yè)務(wù)的報文時,為了更詳細(xì)的區(qū)分不同報文,報文標(biāo)識還可以包括用于表示批量業(yè)務(wù)操作類型的業(yè)務(wù)標(biāo)識,例如業(yè)務(wù)標(biāo)識可以是批量請求業(yè)務(wù)或批量查詢業(yè)務(wù)等。
在某些例子中,網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m分別與不同的銀行系統(tǒng)20對接,可以是網(wǎng)關(guān)或網(wǎng)關(guān)對應(yīng)的報文服務(wù)器。這里所說的網(wǎng)關(guān)可以歸第三方支付平臺(例如支付寶平臺)管理,是第三方支付平臺與銀行系統(tǒng)20進(jìn)行交互時的協(xié)議轉(zhuǎn)換器、內(nèi)容轉(zhuǎn)換器等;網(wǎng)關(guān)對應(yīng)的報文服務(wù)器用于存儲第三方支付平臺與銀行系統(tǒng)之間的交互報文,例如:第三方支付平臺發(fā)往銀行系統(tǒng)的報文、銀行系統(tǒng)返回第三方支付平臺的報文等,若交互的銀行系統(tǒng)不同,報文規(guī)則也不相同。
對接不同銀行系統(tǒng)的網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m,接收到報文后,一般會先解析報文,然后將報文發(fā)送至銀行系統(tǒng)或第三方支付平臺。而解析報文的過程存在一定的解析失敗率,解析報文失敗后再生成向報文收集設(shè)備120發(fā)送的報文信息,會導(dǎo)致報文收集設(shè)備120得到的報文內(nèi)容不完整,因此,為了避免報文收集設(shè)備120的報文內(nèi)容不完整,網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m接收到報文后,在解析報文前生成與所接收的報文對應(yīng)報文信息,并向報文收集設(shè)備120發(fā)送所生成的報文信息。
網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m向報文收集設(shè)備120發(fā)送報文信息時,可直接將接收的報文以及其報文標(biāo)識向報文收集設(shè)備120發(fā)送,也可以將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,然后將封裝后的消息向報文收集設(shè)備120發(fā)送。這里以消息形式發(fā)送報文,數(shù)據(jù)量更小,不影響網(wǎng)關(guān)的原有報文中轉(zhuǎn)流程,且重試機(jī)制好。
報文收集設(shè)備120,接收網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m發(fā)送的報文信息,解析接收的報文信息獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,對應(yīng)存儲報文內(nèi)容和報文標(biāo)識。這樣可以將發(fā)往各銀行系統(tǒng)的報文或者各銀行系統(tǒng)發(fā)出的報文,收集存儲到報文收集設(shè)備120,在需要查詢相應(yīng)報文時,統(tǒng)一向報文收集設(shè)備120發(fā)送查詢請求,即可快速查到相應(yīng)報文,無需識別需要查詢的報文發(fā)送所經(jīng)的網(wǎng)關(guān),無需查詢收發(fā)報文的銀行系統(tǒng)的報文格式,也無需麻煩報文管理端撈取報文。
查詢端130,向所述報文收集設(shè)備發(fā)送攜帶有報文標(biāo)識的報文查詢請求,報文收集設(shè)備120接收到查詢端130發(fā)送的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容,并向查詢端130發(fā)送查詢到的報文內(nèi)容,查詢端130接收報文收集設(shè)備120發(fā)送的報文內(nèi)容,并展示所述報文內(nèi)容。
為了更清晰的向本端操作人員展示查詢到的報文,查詢端130可從接收的各組報文內(nèi)容中獲取報文邏輯和/或報文順序,并按照獲取的報文邏輯和/或報文順序向本端操作人員展示各組報文內(nèi)容。其中報文邏輯指各組報文之間的關(guān)聯(lián)信息,報文順序指各組報文的先后發(fā)送順序。如果報文為批量報文,對應(yīng)的交易邏輯是每組報文所對應(yīng)的用戶操作,例如:批次請求、批次狀態(tài)查詢、批次結(jié)果查詢;對應(yīng)的報文順序如文件請求批次、文件結(jié)果查詢批次等。
在某些場景中,第三方支付平臺通過網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m與不同的銀行系統(tǒng)對接,平臺用戶可將其在第三方支付平臺內(nèi)的剩余資金向?qū)拥哪骋汇y行系統(tǒng)劃轉(zhuǎn),然后從所述某一銀行系統(tǒng)提現(xiàn)。具體的實(shí)現(xiàn)過程中涉及的報文,可由網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m中的某網(wǎng)關(guān)設(shè)備生成與所涉及的報文對應(yīng)報文信息,并向報文收集設(shè)備120發(fā)送所生成的報文信息,報文信息攜帶有與所涉及的報文的報文標(biāo)識,報文收集設(shè)備120將所涉及的報文的報文內(nèi)容對應(yīng)其報文標(biāo)識存儲。當(dāng)平臺用戶的提現(xiàn)過程出現(xiàn)處理結(jié)果不明的情況,例如:一個批次提現(xiàn)申請與銀行的交互報文多達(dá)10次以上仍然沒有完成,平臺用戶可以請求查詢端130查詢處理結(jié)果不明的原因,查詢端130可以響應(yīng)平臺用戶的請求,向報文收集設(shè)備120發(fā)送攜帶有報文標(biāo)識的報文查詢請求,然后接收報文收集設(shè)備120返回的報文內(nèi)容,查詢端130根據(jù)接收的報文內(nèi)容查詢提現(xiàn)過程出現(xiàn)處理結(jié)果不明的原因,向平臺用戶推送。
在其他場景中,如第三方支付平臺的平臺用戶進(jìn)行信用卡還款、理財產(chǎn)品的贖回等業(yè)務(wù)操作時,具體的實(shí)現(xiàn)過程中涉及的報文,同樣可由網(wǎng)關(guān)設(shè)備111至網(wǎng)關(guān)設(shè)備11m中的某網(wǎng)關(guān)設(shè)備生成與所涉及的報文對應(yīng)報文信息,并向報文收集設(shè)備120發(fā)送所生成的報文信息,報文信息攜帶有與所涉及的報文的報文標(biāo)識,報文收集設(shè)備120將所涉及的報文的報文內(nèi)容對應(yīng)其報文標(biāo)識存儲。當(dāng)平臺用戶的業(yè)務(wù)過程出現(xiàn)處理結(jié)果不明的情況,平臺用戶可以請求查詢端130查詢處理結(jié)果不明的原因。
由上述實(shí)施例可知,本申請的報文處理系統(tǒng)通過網(wǎng)關(guān)設(shè)備和報文收集設(shè)備,可將各網(wǎng)關(guān)設(shè)備中轉(zhuǎn)的報文的報文內(nèi)容收集到報文收集設(shè)備,并對應(yīng)報文標(biāo)識存儲報文內(nèi)容;還可通過查詢端向報文收集設(shè)備發(fā)送攜帶有報文標(biāo)識的報文查詢請求,然后在報文收集設(shè)備查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容,并在查詢端展示查詢到的報文內(nèi)容。查詢報文內(nèi)容,無需識別報文對應(yīng)的業(yè)務(wù)實(shí)現(xiàn)渠道所屬網(wǎng)關(guān)、無需查詢該銀行系統(tǒng)的日志文件的存儲內(nèi)容,因此,可快速根據(jù)報文標(biāo)識從報文收集設(shè)備查詢對應(yīng)的報文內(nèi)容,并在查詢端展示,簡化報文查詢操作和節(jié)省報文查詢時間,提高報文查詢效率。
下面將結(jié)合附圖1對本申請實(shí)施例進(jìn)行詳細(xì)描述。
參見圖2,是本申請報文處理方法的一個實(shí)施例流程圖,該實(shí)施例可應(yīng)用在圖1所示的報文處理系統(tǒng)中的報文收集設(shè)備上,可包括以下步驟201-205:
步驟201:接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,所述報文信息與各網(wǎng)關(guān)設(shè)備接收到的報文對應(yīng)。
本申請實(shí)施例中,報文信息可以是由網(wǎng)關(guān)設(shè)備封裝在消息體內(nèi)發(fā)送的報文與其報文標(biāo)識,也可是由網(wǎng)關(guān)設(shè)備封裝在消息體內(nèi)發(fā)送的報文內(nèi)容與對應(yīng)報文的報文標(biāo)識,還可以是網(wǎng)關(guān)設(shè)備發(fā)送的未封裝的報文及其報文標(biāo)識。
步驟202:解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識。
本申請實(shí)施例中,解析所述報文信息時,可以直接從報文信息中讀取對應(yīng)報文的報文內(nèi)容和報文標(biāo)識。
如果所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成,要獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,需先從所述報文信息中解析出報文;從解析出的報文中讀取報文內(nèi)容和報文標(biāo)識。
如果所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行報文壓縮,并將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成,要獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,需先從所述報文信息中解析出壓縮報文和報文標(biāo)識;再對解析出的壓縮報文進(jìn)行解壓縮;最后從解壓縮后的報文中讀取報文內(nèi)容。
如果所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行分段劃分,并將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成,要獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識,需先從接收到的報文信息中解析出各段報文數(shù)據(jù)和報文標(biāo)識;再將解析出的各段報文數(shù)據(jù)組合成對應(yīng)的報文;最終從組合成的報文中讀取報文內(nèi)容。
其中,將各段報文數(shù)據(jù)組合成報文,可根據(jù)各段報文數(shù)據(jù)的報文標(biāo)識中的數(shù)據(jù)位置標(biāo)識進(jìn)行組合。
步驟203:對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
本申請實(shí)施例中,可將所述報文內(nèi)容和所述報文標(biāo)識對應(yīng)存儲在圖1所示的報文收集設(shè)備自身的內(nèi)存中,也可以存儲在所述報文收集設(shè)備的外設(shè)存儲器內(nèi)。存儲所述報文內(nèi)容和所述報文標(biāo)識時,可以表格形式對應(yīng)存儲,還可以其他相關(guān)形式對應(yīng)存儲。
步驟204:接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容。
本申請實(shí)施例中,從圖1所示的報文收集設(shè)備自身的內(nèi)存中查詢與所述標(biāo)識對應(yīng)存儲的報文內(nèi)容,或從所述所述報文收集設(shè)備的外設(shè)存儲器內(nèi)查詢與所述標(biāo)識對應(yīng)存儲的報文內(nèi)容。
步驟205:將查詢到的報文內(nèi)容返回至所述查詢端。
參見圖3,是本申請報文處理方法的另一個實(shí)施例流程圖,該實(shí)施例可以應(yīng)用在圖1所示的報文處理系統(tǒng)中的網(wǎng)關(guān)設(shè)備上,可包括以下步驟301-304:
步驟301:接收報文。
本申請實(shí)施例中,所接收的報文可以包括發(fā)往銀行系統(tǒng)的報文、以及銀行系統(tǒng)發(fā)出的報文。
步驟302:確定所述報文的報文標(biāo)識。
本申請實(shí)施例中,報文標(biāo)識用于唯一區(qū)分報文,可以包括報文的渠道號和流水號,渠道號用于表示網(wǎng)關(guān)設(shè)備所對接的銀行系統(tǒng)。此外,報文標(biāo)識還可以表示報文發(fā)送方向的報文類型,如發(fā)往銀行系統(tǒng)或銀行系統(tǒng)返回。再者,報文為批量業(yè)務(wù)的報文時,為了更詳細(xì)的區(qū)分不同報文,報文標(biāo)識還可以包括用于表示批量業(yè)務(wù)操作類型的業(yè)務(wù)標(biāo)識,例如業(yè)務(wù)標(biāo)識可以是批量請求業(yè)務(wù)或批量查詢業(yè)務(wù)等。通過渠道號可以定位到報文對應(yīng)的具體業(yè)務(wù),進(jìn)而可以根據(jù)定位的具體業(yè)務(wù)獲得報文標(biāo)識,如提現(xiàn)業(yè)務(wù)、支付業(yè)務(wù)等。
步驟303:獲取與所述報文對應(yīng)的報文信息,所述報文信息攜帶有所述報文標(biāo)識。
本申請實(shí)施例中,可直接將接收的報文以及其報文標(biāo)識作為報文信息,還可將接收的報文及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。所述預(yù)設(shè)的消息體與網(wǎng)關(guān)設(shè)備與報文收集設(shè)備之間的通訊協(xié)議對應(yīng),可根據(jù)通訊協(xié)議自定義消息體的格式,添加各種數(shù)據(jù)。例如:滿足tcp協(xié)議或ip協(xié)議的自定義消息體。
在某些例子中,網(wǎng)關(guān)設(shè)備接收到報文后,一般會先解析報文,然后將報文發(fā)送至銀行系統(tǒng)或第三方支付平臺。而解析報文的過程存在一定的解析失敗率,解析報文失敗后再生成向報文收集設(shè)備發(fā)送的報文信息,會導(dǎo)致報文收集設(shè)備得到的報文內(nèi)容不完整,因此,為了避免報文收集設(shè)備的報文內(nèi)容不完整,可在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在其他例子中,網(wǎng)關(guān)設(shè)備所接收的報文的數(shù)據(jù)量較大,對傳輸網(wǎng)絡(luò)的要求高,為了降低傳輸?shù)臄?shù)據(jù)量,可在解析接收的報文前,對接收的報文進(jìn)行報文壓縮;將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
其中,壓縮方式包括gzip壓縮、zip壓縮等,zip壓縮方式采取支持慢速壓縮的default算法,可降低對系統(tǒng)的影響。
在其他例子中,為了進(jìn)一步降低傳輸?shù)臄?shù)據(jù)量,在解析接收的報文前,對接收的報文進(jìn)行分段劃分;將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中,生成所述報文信息。
其中,劃分成各段報文數(shù)據(jù)后,可在所述報文的報文標(biāo)識中分別添加各段報文數(shù)據(jù)的數(shù)據(jù)位置,生成各段報文數(shù)據(jù)的報文標(biāo)識,對應(yīng)各段數(shù)據(jù)標(biāo)識封裝到預(yù)設(shè)的消息體中,報文收集設(shè)備根據(jù)各段報文數(shù)據(jù)的報文標(biāo)識中的數(shù)據(jù)位置標(biāo)識進(jìn)行組合后,存儲報文內(nèi)容時,可將報文標(biāo)識中的數(shù)據(jù)位置標(biāo)識刪除。
步驟304:將所述報文信息向報文收集設(shè)備發(fā)送,以便所述報文收集設(shè)備解析所述報文信息獲得所述報文的報文內(nèi)容和報文標(biāo)識,并對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
參見圖4,是本申請報文處理方法的另一個實(shí)施例流程圖,該實(shí)施例可以應(yīng)用在圖1所示的報文處理系統(tǒng)中的查詢端上,可包括以下步驟401-404:
步驟401:確定待查詢的報文的報文標(biāo)識。
本申請實(shí)施例中,該報文標(biāo)識可由查詢端用戶輸入,查詢端的用戶可指報文管理人員。也可由與網(wǎng)關(guān)設(shè)備連接的第三方支付平臺的平臺用戶發(fā)送到查詢端。
步驟402:生成攜帶有所述報文標(biāo)識的報文查詢請求。
步驟403:向報文收集設(shè)備發(fā)送。
步驟404:接收報文收集設(shè)備返回的報文內(nèi)容,并展示所述報文內(nèi)容。
為了更清晰的向查詢端的用戶展示查詢到的報文,可從接收的各組報文內(nèi)容中獲取報文邏輯和/或報文順序,并按照獲取的報文邏輯和/或報文順序展示各組報文內(nèi)容。其中報文邏輯指各組報文之間的關(guān)聯(lián)信息,報文順序指各組報文的先后發(fā)送順序。如果報文為批量報文,對應(yīng)的交易邏輯是每組報文所對應(yīng)的用戶操作,例如:批次請求、批次狀態(tài)查詢、批次結(jié)果查詢;對應(yīng)的報文順序如文件請求批次、文件結(jié)果查詢批次等。
與前述報文處理方法的實(shí)施例相對應(yīng),本申請還提供了報文處理裝置的實(shí)施例。
本申請報文處理裝置的實(shí)施例可以應(yīng)用在終端上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在終端的處理器將非易失性存儲器中對應(yīng)的計算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖5所示,為本申請報文處理裝置所在終端的一種硬件結(jié)構(gòu)圖,除了圖5所示的處理器510、內(nèi)存520、網(wǎng)絡(luò)接口530、以及非易失性存儲器540之外,實(shí)施例中裝置所在的終端通常根據(jù)該終端的實(shí)際功能,還可以包括其他硬件,對此不再贅述。
參見圖6,是本申請報文處理裝置的一個實(shí)施例框圖,該報文處理裝置可以包括:信息接收模塊610、信息解析模塊620、內(nèi)容存儲模塊630、內(nèi)容查詢模塊640和內(nèi)容返回模塊650。
其中,信息接收模塊610,用于接收各網(wǎng)關(guān)設(shè)備發(fā)送的報文信息,所述報文信息與各網(wǎng)關(guān)設(shè)備接收到的報文對應(yīng)。
信息解析模塊620,用于解析所述報文信息,獲得對應(yīng)報文的報文內(nèi)容和報文標(biāo)識。
內(nèi)容存儲模塊630,用于對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
內(nèi)容查詢模塊640,用于接收到查詢端發(fā)送的攜帶有報文標(biāo)識的報文查詢請求后,查詢與所攜帶的報文標(biāo)識對應(yīng)存儲的報文內(nèi)容。
內(nèi)容返回模塊650,用于將查詢到的報文內(nèi)容返回至所述查詢端。
在一個可選的實(shí)現(xiàn)方式中,信息解析模塊620可包括(圖6中未具體示出):
第一解析子模塊,用于從所述報文信息中解析出報文,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成。
第一讀取子模塊,用于從解析出的報文中讀取報文內(nèi)容和報文標(biāo)識。
在另一個可選的實(shí)現(xiàn)方式中,信息解析模塊620可包括(圖6中未具體示出):
第二解析子模塊,用于從所述報文信息中解析出壓縮報文和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行報文壓縮,并將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中生成。
解壓縮子模塊,用于對解析出的壓縮報文進(jìn)行解壓縮。
第二讀取子模塊,用于從解壓縮后的報文中讀取報文內(nèi)容。
在另一個可選的實(shí)現(xiàn)方式中,信息解析模塊620可包括(圖6中未具體示出):
第三解析子模塊,用于從接收到的報文信息中解析出各段報文數(shù)據(jù)和報文標(biāo)識,所述報文信息由各網(wǎng)關(guān)設(shè)備在解析接收的報文前,對接收的報文進(jìn)行分段劃分,并將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成。
數(shù)據(jù)組合子模塊,用于將解析出的各段報文數(shù)據(jù)組合成對應(yīng)的報文。
第三讀取子模塊,用于從組合成的報文中讀取報文內(nèi)容。
參見圖7,是本申請報文處理裝置的另一個實(shí)施例框圖,該報文處理裝置可以包括:報文接收模塊710、標(biāo)識確定模塊720、信息獲取模塊730和消息報文模塊740。
其中,報文接收模塊710,用于接收報文。
標(biāo)識確定模塊720,用于確定所述報文的報文標(biāo)識。
信息獲取模塊730,用于獲取與所述報文對應(yīng)的報文信息,所述報文信息攜帶有所述報文標(biāo)識。
信息發(fā)送模塊740,用于將所述報文信息向報文收集設(shè)備發(fā)送,以便所述報文收集設(shè)備解析所述報文信息獲得所述報文的報文內(nèi)容和報文標(biāo)識,并對應(yīng)存儲所述報文內(nèi)容和所述報文標(biāo)識。
在一個可選的實(shí)現(xiàn)方式中,信息獲取模塊730可包括(圖7中未具體示出):
第一封裝子模塊,用于在解析接收的報文前,將接收的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在另一個可選的實(shí)現(xiàn)方式中,信息獲取模塊730可包括(圖7中未具體示出):
壓縮子模塊,用于在解析接收的報文前,對接收的報文進(jìn)行報文壓縮。
第二封裝子模塊,用于將壓縮后的報文以及其報文標(biāo)識封裝到預(yù)設(shè)的消息體中,生成所述報文信息。
在另一個可選的實(shí)現(xiàn)方式中,信息獲取模塊730可包括(圖7中未具體示出):
報文劃分子模塊,用于在解析接收的報文前,對接收的報文進(jìn)行分段劃分。
第三封裝子模塊,用于將劃分所得的各段報文數(shù)據(jù)以及其報文標(biāo)識封裝到不同的預(yù)設(shè)的消息體中生成,生成所述報文信息。
上述裝置中各個模塊的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請的其它實(shí)施方案。本申請旨在涵蓋本申請的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請的一般性原理并包括本申請未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本申請的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本申請并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請的范圍僅由所附的權(quán)利要求來限制。