本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于金融報(bào)文的校驗(yàn)方法和裝置。
背景技術(shù):
隨著線上交易業(yè)務(wù)的發(fā)展,需要與許多國內(nèi)外的金融機(jī)構(gòu),例如,銀行機(jī)構(gòu)、清算機(jī)構(gòu),以及結(jié)算機(jī)構(gòu)等進(jìn)行合作,線上交易業(yè)務(wù)的交易過程主要是通過金融報(bào)文的方式進(jìn)行。
相關(guān)技術(shù)中,由于不同金融機(jī)構(gòu)之間的金融報(bào)文結(jié)構(gòu)差異大,相同金融機(jī)構(gòu)的金融報(bào)文的種類繁多,并且每個(gè)金融報(bào)文包含多個(gè)一級標(biāo)簽,每個(gè)不同的一級標(biāo)簽下又包含多個(gè)子標(biāo)簽。隨著金融報(bào)文所屬的業(yè)務(wù)類型不同,相同的金融報(bào)文的相同級標(biāo)簽,其值有不同或者相同的業(yè)務(wù)規(guī)范,并且,由于不同金融報(bào)文中相同的子標(biāo)簽的路徑不同,因此需要對子標(biāo)簽重復(fù)校驗(yàn),金融報(bào)文的校驗(yàn)效率不高,校驗(yàn)成本大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的一個(gè)目的在于提出一種應(yīng)用于金融報(bào)文的校驗(yàn)方法,能夠有效提升金融報(bào)文的校驗(yàn)效率。
本發(fā)明的另一個(gè)目的在于提出一種應(yīng)用于金融報(bào)文的校驗(yàn)裝置。
為達(dá)到上述目的,本發(fā)明第一方面實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法,包括:獲取金融報(bào)文,并對所述金融報(bào)文進(jìn)行解析以獲取所述金融報(bào)文的 子標(biāo)簽;從第一配置表中讀取與所述子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第二配置表中讀取所述金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值;根據(jù)所述基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和所述特征校驗(yàn)器的校驗(yàn)值對所述金融報(bào)文進(jìn)行校驗(yàn)。
本發(fā)明第一方面實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法,通過獲取金融報(bào)文的子標(biāo)簽,并根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),能夠有效提升金融報(bào)文的校驗(yàn)效率。
為達(dá)到上述目的,本發(fā)明第二方面實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)裝置,包括:第一獲取模塊,用于獲取金融報(bào)文,并對所述金融報(bào)文進(jìn)行解析以獲取所述金融報(bào)文的子標(biāo)簽;讀取模塊,用于從第一配置表中讀取與所述子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第二配置表中讀取所述金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值;校驗(yàn)?zāi)K,用于根據(jù)所述基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和所述特征校驗(yàn)器的校驗(yàn)值對所述金融報(bào)文進(jìn)行校驗(yàn)。
本發(fā)明第二方面實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)裝置,通過獲取金融報(bào)文的子標(biāo)簽,并根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),能夠有效提升金融報(bào)文的校驗(yàn)效率。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本發(fā)明一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法的流程示意圖;
圖2是本發(fā)明實(shí)施例中金融報(bào)文的一級標(biāo)簽示意圖;
圖3是本發(fā)明實(shí)施例中金融報(bào)文的子標(biāo)簽示意圖;
圖4是本發(fā)明實(shí)施例中cnaps報(bào)文的xml文件示意圖;
圖5是本發(fā)明實(shí)施例中citi報(bào)文的xml文件示意圖;
圖6是本發(fā)明另一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法的流程示意圖;
圖7是本發(fā)明實(shí)施例中第一配置表的結(jié)構(gòu)示意圖;
圖8是本發(fā)明實(shí)施例中第二配置表的結(jié)構(gòu)示意圖;
圖9是本發(fā)明實(shí)施例中第三配置表的結(jié)構(gòu)示意圖;
圖10是本發(fā)明實(shí)施例中目標(biāo)校驗(yàn)器的結(jié)構(gòu)示意圖;
圖11是本發(fā)明實(shí)施例中不同業(yè)務(wù)類型金融報(bào)文與一級標(biāo)簽校驗(yàn)器的對應(yīng)關(guān)系示意圖;
圖12是本發(fā)明另一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)裝置的結(jié)構(gòu)示意圖;
圖13是本發(fā)明另一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
圖1是本發(fā)明一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法的流程示意圖。
本實(shí)施例以該應(yīng)用于金融報(bào)文的校驗(yàn)方法被配置為應(yīng)用于金融報(bào)文的校驗(yàn)裝置中來舉例說明。其中,該應(yīng)用于金融報(bào)文的校驗(yàn)裝置可以例如設(shè)置在支付系統(tǒng)中,本發(fā)明實(shí)施例對此不作限制。
本實(shí)施例的方法可以基于國際金融服務(wù)金融業(yè)通用報(bào)文標(biāo)準(zhǔn)(iso20022標(biāo)準(zhǔn))。
參見圖1,該方法包括:
s11:獲取金融報(bào)文,并對金融報(bào)文進(jìn)行解析以獲取金融報(bào)文的子標(biāo)簽。
其中,金融報(bào)文用于使各個(gè)金融機(jī)構(gòu)之間進(jìn)行線上業(yè)務(wù)溝通,各個(gè)金融機(jī)構(gòu)可以例如國內(nèi)外銀行機(jī)構(gòu)、清算機(jī)構(gòu),或者結(jié)算機(jī)構(gòu)等。金融報(bào)文例如國內(nèi)的二代支付系統(tǒng)報(bào)文、建行報(bào)文,國外的swift報(bào)文、boa報(bào)文,以及citi報(bào)文等。
金融報(bào)文遵循iso20022標(biāo)準(zhǔn)。
可以理解的是,金融報(bào)文可以由多級標(biāo)簽構(gòu)成,例如,金融報(bào)文包含一個(gè)或者多個(gè)一級標(biāo)簽,其中,每個(gè)一級標(biāo)簽包含一個(gè)或者多個(gè)的子標(biāo)簽,因此,隨著金融報(bào)文所屬的業(yè)務(wù)類型的不同,相同金融報(bào)文的同級標(biāo)簽可以具有不同或者相同的校驗(yàn)值。
其中,根據(jù)金融報(bào)文所屬的業(yè)務(wù)類型,可以將金融報(bào)文劃分為支付類報(bào)文、非支付類報(bào)文、批量支付類報(bào)文,以及文件通知報(bào)文。
參見圖2,圖2為本發(fā)明實(shí)施例中金融報(bào)文的一級標(biāo)簽示意圖,其中,支付類報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、報(bào)文業(yè)務(wù)渠道信息等;非支付類報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、報(bào)文業(yè)務(wù)渠道信息等;批量支付類報(bào)文的一級標(biāo)簽例如批量包頭信息和批量組頭信息;文件通知報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、路由信息等。
一個(gè)實(shí)施例中,參見圖3,每個(gè)一級標(biāo)簽包含一個(gè)或者多個(gè)的子標(biāo)簽,對圖2中的“業(yè)務(wù)處理信息”一級標(biāo)簽進(jìn)行細(xì)粒度示例,非支付類報(bào)文的一級標(biāo)簽“業(yè)務(wù)處理信息”中可以特有“業(yè)務(wù)狀態(tài)碼”子標(biāo)簽,支付類報(bào)文和文件通知報(bào)文特有“清算日期”和“處理狀態(tài)”子標(biāo)簽,而所有業(yè)務(wù)類型的金融報(bào)文共有“響應(yīng)返回碼”、“響應(yīng)描述信息”、“處理日期”、“軋差日期”、“軋差場次”,以及“業(yè)務(wù)參與機(jī)構(gòu)行號”子標(biāo)簽,其中,所有業(yè)務(wù)類型的金融報(bào)文共有的子標(biāo)簽的值和類型一致,即遵循iso20022標(biāo)準(zhǔn)。
本實(shí)施例中以通過可擴(kuò)展標(biāo)記語言(extensiblemarkuplanguage,xml) 標(biāo)記金融報(bào)文示例。
進(jìn)一步,可選地,參見圖4和圖5,圖4為本發(fā)明實(shí)施例中以二代支付系統(tǒng)的cnaps報(bào)文(saps.360.001.01)的xml文件示意圖,圖5為本發(fā)明實(shí)施例中以花旗銀行報(bào)文citi報(bào)文的xml文件示意圖。
其中,標(biāo)簽<?xml>用于說明xml版本和解碼方式等信息;標(biāo)簽<document>用于說明xml命名空間,標(biāo)簽<?xml>和標(biāo)簽<document>是所有金融報(bào)文的必要標(biāo)簽。<bktocstmracctrpt>是cnaps報(bào)文saps.360.001.01的根標(biāo)簽;<msgid>是的子標(biāo)簽,其中,<msgid>子標(biāo)簽的路徑是<bktocstmracctrpt>/<grphdr>。相同<msgid>子標(biāo)簽在citi報(bào)文的路徑是<cstmrcdttrfinitn>/<grphdr>??梢岳斫獾氖牵m然cnaps報(bào)文中的<msgid>子標(biāo)簽和citi報(bào)文中的<msgid>子標(biāo)簽的值、屬性,以及類型相同,但是路徑不相同,對于cnaps報(bào)文中的<credttm>子標(biāo)簽和citi報(bào)文中的<credttm>子標(biāo)簽,以此類推。
s12:從第一配置表中讀取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值。
一個(gè)實(shí)施例中,對金融報(bào)文進(jìn)行校驗(yàn)的校驗(yàn)器包括一個(gè)或者多個(gè)的一級標(biāo)簽校驗(yàn)器,每個(gè)一級標(biāo)簽校驗(yàn)器包括一個(gè)或者多個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器,其中,一級標(biāo)簽校驗(yàn)器可以用于對金融報(bào)文的子標(biāo)簽的路徑進(jìn)行校驗(yàn),基礎(chǔ)xml標(biāo)簽校驗(yàn)器可以用于對金融報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn)。
可選地,可以預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表,以及預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表。
可以理解的是,預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表,即,根據(jù)各個(gè)金融機(jī)構(gòu)對不同或者相同的子標(biāo)簽的值、屬性,以及類型的校驗(yàn)規(guī)范生成基礎(chǔ)xml標(biāo)簽校驗(yàn)器,并將子標(biāo)簽的鍵值和對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表,進(jìn)一步,預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表,即,根據(jù)各個(gè)金融機(jī)構(gòu)對不同或者相同的子 標(biāo)簽的特征點(diǎn)的校驗(yàn)規(guī)范生成第二配置表,在生成第一配置表和第二配置表后,也可以將配置表存儲在服務(wù)器中,在此不作限制。
通常獲取到金融報(bào)文的子標(biāo)簽,例如,獲取到圖4中cnaps報(bào)文中的<msgid>子標(biāo)簽和<credttm>子標(biāo)簽,以及圖5中citi報(bào)文中的<msgid>子標(biāo)簽和<credttm>子標(biāo)簽,可以先定位<msgid>子標(biāo)簽和<credttm>子標(biāo)簽在不同金融報(bào)文中的路徑。例如,在cnaps報(bào)文中,<msgid>子標(biāo)簽和<credttm>子標(biāo)簽的路徑是<bktocstmracctrpt>/<grphdr>,而在citi報(bào)文中,<msgid>子標(biāo)簽和<credttm>子標(biāo)簽的路徑是<cstmrcdttrfinitn>/<grphdr>,在根據(jù)不同的路徑定位到<msgid>子標(biāo)簽和<credttm>子標(biāo)簽后,可以校驗(yàn)<msgid>子標(biāo)簽和<credttm>子標(biāo)簽的值、屬性,以及類型,由于不同金融報(bào)文中相同的子標(biāo)簽的路徑不同,因此需要對子標(biāo)簽重復(fù)校驗(yàn),金融報(bào)文的校驗(yàn)效率不高。
而本發(fā)明的實(shí)施例中,在獲取到金融報(bào)文的子標(biāo)簽后,可以從第一配置表中讀取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第三配置表中獲取與子標(biāo)簽的鍵值對應(yīng)的路徑校驗(yàn)值,其中,第一配置表是根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器預(yù)先生成的,第三配置表是根據(jù)與金融報(bào)文的一級標(biāo)簽對應(yīng)的一級標(biāo)簽校驗(yàn)器預(yù)先生成的,以及,從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值,第二配置表是根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器預(yù)先生成的,可以實(shí)現(xiàn)根據(jù)子標(biāo)簽的鍵值從第一配置表、第二配置表,以及第三配置表中調(diào)取對應(yīng)校驗(yàn)器的校驗(yàn)值進(jìn)行校驗(yàn),不需要對不同路徑下的子標(biāo)簽進(jìn)行重復(fù)校驗(yàn),提升金融報(bào)文的校驗(yàn)效率。
s13:根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn)。
可選地,根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),包括:根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn);根據(jù)特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的特征點(diǎn)進(jìn)行校驗(yàn)。
例如,以cnaps報(bào)文為例,采用基礎(chǔ)xml標(biāo)簽校驗(yàn)器對cnaps報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn)可以示例如下,其中,基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值可以包括基于iso20022標(biāo)準(zhǔn)的值、基于iso20022標(biāo)準(zhǔn)的屬性,以及基于iso20022標(biāo)準(zhǔn)的類型,當(dāng)子標(biāo)簽為“預(yù)警值通知類型”時(shí),基于iso20022標(biāo)準(zhǔn)的值可能為“enab”(預(yù)警開啟)或者“disa”(預(yù)警解除),假設(shè)cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的基于iso20022標(biāo)準(zhǔn)的值為“enab”,則當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值為“enab”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值合法,而當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值為“disa”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值不合法,以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值的校驗(yàn);基于iso20022標(biāo)準(zhǔn)的屬性可能為“[1..1]”(表示cnaps報(bào)文必須有子標(biāo)簽“預(yù)警值通知類型”,若接收到的cnaps報(bào)文沒有子標(biāo)簽“預(yù)警值通知類型”,則對接收到的cnaps報(bào)文格式不能正常解析)或者“[0..1]”(表示cnaps報(bào)文可有可無子標(biāo)簽“預(yù)警值通知類型”,若接收到的cnaps報(bào)文沒有填寫子標(biāo)簽“預(yù)警值通知類型”,cnaps報(bào)文格式不會解析錯(cuò)誤),以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的屬性的校驗(yàn);基于iso20022標(biāo)準(zhǔn)的類型例如為“max4text”(文本格式,包含字母和數(shù)字,最短長度為1,最大長度為4,長度超過4時(shí),報(bào)錯(cuò)),假設(shè)cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的基于iso20022標(biāo)準(zhǔn)的類型為“max4text”,則當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的類型為“12x”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值合法,而當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的類型為“12345”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值不合法,以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值的校驗(yàn)?;趇so20022標(biāo)準(zhǔn)的類型還可以例如,maxnnumerictext,表示數(shù)字串,最少1位,最多n位的數(shù)字;isodate:表示日期,格式為yyyy-mm-dd;isodatetime:表示日期和時(shí)間,格式為yyyy-mm-ddthh:mm:ss。
本實(shí)施例中,通過獲取金融報(bào)文的子標(biāo)簽,并根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的 校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),能夠有效提升金融報(bào)文的校驗(yàn)效率。
圖6是本發(fā)明另一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)方法的流程示意圖。
本實(shí)施例以該應(yīng)用于金融報(bào)文的校驗(yàn)方法被配置為應(yīng)用于金融報(bào)文的校驗(yàn)裝置中來舉例說明。其中,該應(yīng)用于金融報(bào)文的校驗(yàn)裝置可以例如設(shè)置在支付系統(tǒng)中,本發(fā)明實(shí)施例對此不作限制。
本實(shí)施例的方法可以基于國際金融服務(wù)金融業(yè)通用報(bào)文標(biāo)準(zhǔn)(iso20022標(biāo)準(zhǔn))。
參見圖6,該方法包括:
s601:根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表。
可以理解的是,預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表,即,根據(jù)各個(gè)金融機(jī)構(gòu)對不同或者相同的子標(biāo)簽的值、屬性,以及類型的校驗(yàn)規(guī)范生成基礎(chǔ)xml標(biāo)簽校驗(yàn)器,并將子標(biāo)簽的鍵值和對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表。
參見圖7,本實(shí)施例中以第一配置表為基礎(chǔ)xml標(biāo)簽校驗(yàn)配置表為例。其中,根據(jù)iso20022標(biāo)準(zhǔn),預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表,例如,對于子標(biāo)簽,它有3個(gè)iso20022標(biāo)準(zhǔn)維度的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,即,基于iso20022標(biāo)準(zhǔn)的值、基于iso20022標(biāo)準(zhǔn)的屬性,以及基于iso20022標(biāo)準(zhǔn)的類型,基礎(chǔ)xml標(biāo)簽校驗(yàn)器可以從這3個(gè)iso20022標(biāo)準(zhǔn)維度對子標(biāo)簽進(jìn)行校驗(yàn)。所有對子標(biāo)簽進(jìn)行校驗(yàn)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值以第一配置表的形式存儲在服務(wù)器中,其中,鍵值(key)為common表示通用iso20022校驗(yàn)標(biāo)準(zhǔn),鍵值(key)為金融機(jī)構(gòu)標(biāo)識表示該金融機(jī)構(gòu)對子標(biāo)簽校驗(yàn)有特殊規(guī)范。
對于金融機(jī)構(gòu)對子標(biāo)簽校驗(yàn)的特殊規(guī)范,可以通過s602進(jìn)行配置。參見圖 7,cnaps報(bào)文的<msgid>子標(biāo)簽的類型校驗(yàn)值不同。如果金融機(jī)構(gòu)對子標(biāo)簽校驗(yàn)有特殊規(guī)范,基礎(chǔ)xml標(biāo)簽校驗(yàn)器會從第二校驗(yàn)表中讀取與子標(biāo)簽的鍵值對應(yīng)的特征校驗(yàn)器的校驗(yàn)值進(jìn)行特征點(diǎn)校驗(yàn)。
s602:根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表。
可以理解的是,預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表,即,根據(jù)各個(gè)金融機(jī)構(gòu)對不同或者相同的子標(biāo)簽的特征點(diǎn)的校驗(yàn)規(guī)范生成第二配置表,在生成第一配置表和第二配置表后,也可以將配置表存儲在服務(wù)器中,在此不作限制。
參見圖8,本實(shí)施例中以第二配置表為具體報(bào)文特殊化配置表為例。其中,可以預(yù)先根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表,例如文件通知報(bào)文,美銀cmt.052報(bào)文,<cdtdbtind>子標(biāo)簽的合法值有crdt和dbit。如果是貸記業(yè)務(wù),<cdtdbtind>子標(biāo)簽的值為crdt,如果是借記業(yè)務(wù),<cdtdbtind>子標(biāo)簽的值為dbit;如支付類報(bào)文,pain.001報(bào)文中的<endtoendid>子標(biāo)簽,基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值中,以及iso20022標(biāo)準(zhǔn)的類型是textmax35(char類型最長35),但是,花旗銀行<endtoendid>子標(biāo)簽長度是15,而美國銀行<endtoendid>子標(biāo)簽,根據(jù)usach系統(tǒng)為15位,根據(jù)uswires系統(tǒng)為16位??梢詫⒔鹑趫?bào)文的特征校驗(yàn)器的校驗(yàn)值配置在第二配置表中。
s603:根據(jù)與金融報(bào)文的一級標(biāo)簽對應(yīng)的一級標(biāo)簽校驗(yàn)器生成第三配置表。
參見圖9,本實(shí)施例中以第三配置表為一級標(biāo)簽“報(bào)文基本信息”校驗(yàn)配置表為例。其中,可以預(yù)先根據(jù)與金融報(bào)文的一級標(biāo)簽對應(yīng)的一級標(biāo)簽校驗(yàn)器生成第三配置表,一級標(biāo)簽是由至少一個(gè)的子標(biāo)簽組成,對應(yīng)的,一級標(biāo)簽校驗(yàn)器由至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器組成。不同金融機(jī)構(gòu)金融報(bào)文的子標(biāo)簽的路徑不同或者相同,本發(fā)明的實(shí)施例中,為了使一級標(biāo)簽校驗(yàn)器能校驗(yàn)所有的結(jié)構(gòu)不同的金融報(bào)文,可以對一級標(biāo)簽校驗(yàn)器添加對子標(biāo)簽的路徑進(jìn)行校驗(yàn)??蛇x地,參見圖9,一級標(biāo)簽“報(bào)文基本信息”校驗(yàn)配置表可以包括三個(gè)維度 的信息,一級標(biāo)簽“報(bào)文基本信息”校驗(yàn)配置表的最左列為組成一級標(biāo)簽的子標(biāo)簽,最右列為基礎(chǔ)xml標(biāo)簽校驗(yàn)器,中間列為不同金融機(jī)構(gòu),子標(biāo)簽的路徑。
s604:獲取金融報(bào)文,并對金融報(bào)文進(jìn)行解析以獲取金融報(bào)文的子標(biāo)簽。
其中,金融報(bào)文用于使各個(gè)金融機(jī)構(gòu)之間進(jìn)行線上業(yè)務(wù)溝通,各個(gè)金融機(jī)構(gòu)可以例如國內(nèi)外銀行機(jī)構(gòu)、清算機(jī)構(gòu),或者結(jié)算機(jī)構(gòu)等。金融報(bào)文例如國內(nèi)的二代支付系統(tǒng)報(bào)文、建行報(bào)文,國外的swift報(bào)文、boa報(bào)文,以及citi報(bào)文等。
金融報(bào)文遵循iso20022標(biāo)準(zhǔn)。
可以理解的是,金融報(bào)文可以由多級標(biāo)簽構(gòu)成,例如,金融報(bào)文包含一個(gè)或者多個(gè)一級標(biāo)簽,其中,每個(gè)一級標(biāo)簽包含一個(gè)或者多個(gè)的子標(biāo)簽,因此,隨著金融報(bào)文所屬的業(yè)務(wù)類型的不同,相同金融報(bào)文的同級標(biāo)簽可以具有不同或者相同的校驗(yàn)值。
其中,根據(jù)金融報(bào)文所屬的業(yè)務(wù)類型,可以將金融報(bào)文劃分為支付類報(bào)文、非支付類報(bào)文、批量支付類報(bào)文,以及文件通知報(bào)文。
參見圖2,圖2為本發(fā)明實(shí)施例中金融報(bào)文的一級標(biāo)簽示意圖,其中,支付類報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、報(bào)文業(yè)務(wù)渠道信息等;非支付類報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、報(bào)文業(yè)務(wù)渠道信息等;批量支付類報(bào)文的一級標(biāo)簽例如批量包頭信息和批量組頭信息;文件通知報(bào)文的一級標(biāo)簽例如報(bào)文基本信息、原報(bào)文基本信息、路由信息等。
一個(gè)實(shí)施例中,參見圖3,每個(gè)一級標(biāo)簽包含一個(gè)或者多個(gè)的子標(biāo)簽,對圖2中的“業(yè)務(wù)處理信息”一級標(biāo)簽進(jìn)行細(xì)粒度示例,非支付類報(bào)文的一級標(biāo)簽“業(yè)務(wù)處理信息”中可以特有“業(yè)務(wù)狀態(tài)碼”子標(biāo)簽,支付類報(bào)文和文件通知報(bào)文特有“清算日期”和“處理狀態(tài)”子標(biāo)簽,而所有業(yè)務(wù)類型的金融報(bào)文共有“響應(yīng)返回碼”、“響應(yīng)描述信息”、“處理日期”、“軋差日期”、“軋差場次”,以及“業(yè)務(wù)參與機(jī)構(gòu)行號”子標(biāo)簽,其中,所有業(yè)務(wù)類型的金融報(bào)文共有的子標(biāo)簽的值和類型一致,即遵循iso20022標(biāo)準(zhǔn)。
本實(shí)施例中以通過可擴(kuò)展標(biāo)記語言(extensiblemarkuplanguage,xml)標(biāo)記金融報(bào)文示例。
進(jìn)一步,可選地,參見圖4和圖5,圖4為本發(fā)明實(shí)施例中以二代支付系統(tǒng)的cnaps報(bào)文(saps.360.001.01)的xml文件示意圖,圖5為本發(fā)明實(shí)施例中以花旗銀行報(bào)文citi報(bào)文的xml文件示意圖。
其中,標(biāo)簽<?xml>用于說明xml版本和解碼方式等信息;標(biāo)簽<document>用于說明xml命名空間,標(biāo)簽<?xml>和標(biāo)簽<document>是所有金融報(bào)文的必要標(biāo)簽。<bktocstmracctrpt>是cnaps報(bào)文saps.360.001.01的根標(biāo)簽;<msgid>是的子標(biāo)簽,其中,<msgid>子標(biāo)簽的路徑是<bktocstmracctrpt>/<grphdr>。相同<msgid>子標(biāo)簽在citi報(bào)文的路徑是<cstmrcdttrfinitn>/<grphdr>。可以理解的是,雖然cnaps報(bào)文中的<msgid>子標(biāo)簽和citi報(bào)文中的<msgid>子標(biāo)簽的值、屬性,以及類型相同,但是路徑不相同,對于cnaps報(bào)文中的<credttm>子標(biāo)簽和citi報(bào)文中的<credttm>子標(biāo)簽,以此類推。
s605:獲取與金融報(bào)文所屬的業(yè)務(wù)類型對應(yīng)的目標(biāo)校驗(yàn)器,其中,目標(biāo)校驗(yàn)器包含至少一個(gè)的一級標(biāo)簽校驗(yàn)器,每個(gè)一級標(biāo)簽校驗(yàn)器包含至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器。
參見圖10,圖10為本發(fā)明實(shí)施例中目標(biāo)校驗(yàn)器的結(jié)構(gòu)示意圖,其中,圖10包括根據(jù)金融報(bào)文所屬的業(yè)務(wù)類型進(jìn)行分類的目標(biāo)校驗(yàn)器101,一級標(biāo)簽校驗(yàn)器102,以及基礎(chǔ)xml標(biāo)簽校驗(yàn)器103。目標(biāo)校驗(yàn)器由至少一個(gè)的一級標(biāo)簽校驗(yàn)器組成,一級標(biāo)簽校驗(yàn)器由至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器組成。不同的目標(biāo)校驗(yàn)器101中所包含的一級標(biāo)簽校驗(yàn)器不同或者相同,且不同的目標(biāo)校驗(yàn)器101中所包含的一級標(biāo)簽校驗(yàn)器的個(gè)數(shù)不同或者相同。進(jìn)一步,可以理解的是,不同的一級標(biāo)簽校驗(yàn)器102中所包含的基礎(chǔ)xml標(biāo)簽校驗(yàn)器不同或者相同,且不同的一級標(biāo)簽校驗(yàn)器102中所包含的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的個(gè)數(shù)不同或者相同。
一個(gè)可替換的實(shí)施例中,參見圖11,根據(jù)金融報(bào)文所屬的業(yè)務(wù)類型,可以 將金融報(bào)文劃分為支付類報(bào)文、非支付類報(bào)文、批量支付類報(bào)文,以及文件通知報(bào)文??梢岳斫獾氖牵捎谙嗤瑯I(yè)務(wù)類型的金融報(bào)文包含的一級標(biāo)簽校驗(yàn)器的總類可能相同,因此,可以根據(jù)金融報(bào)文的業(yè)務(wù)類型封裝四個(gè)通用校驗(yàn)器,該通用校驗(yàn)器包含至少一個(gè)的一級標(biāo)簽校驗(yàn)器。
s606:從至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器中獲取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器。
例如,在實(shí)際校驗(yàn)的過程中,可以先判斷該金融報(bào)文所屬的業(yè)務(wù)類型,并獲取與金融報(bào)文所屬的業(yè)務(wù)類型對應(yīng)的通用校驗(yàn)器作為目標(biāo)校驗(yàn)器,后續(xù)從目標(biāo)校驗(yàn)器中的至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器中獲取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器即可,不需要遍歷所有子標(biāo)簽的基礎(chǔ)xml標(biāo)簽校驗(yàn)器,減少了校驗(yàn)金融報(bào)文的子標(biāo)簽需要的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的個(gè)數(shù),提升金融報(bào)文的校驗(yàn)效率。
s607:從第一配置表中讀取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值。
本發(fā)明的實(shí)施例中,在獲取到金融報(bào)文的子標(biāo)簽后,可以從第一配置表中讀取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,其中,第一配置表是根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器預(yù)先生成的,以及,從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值,第二配置表是根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器預(yù)先生成的,可以實(shí)現(xiàn)根據(jù)子標(biāo)簽的鍵值從第一配置表、第二配置表中調(diào)取對應(yīng)校驗(yàn)器的校驗(yàn)值進(jìn)行校驗(yàn),不需要對不同路徑下的子標(biāo)簽進(jìn)行重復(fù)校驗(yàn),提升金融報(bào)文的校驗(yàn)效率。
s608:根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn)。
例如,以cnaps報(bào)文為例,采用基礎(chǔ)xml標(biāo)簽校驗(yàn)器對cnaps報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn)可以示例如下,其中,基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值可以包括基于iso20022標(biāo)準(zhǔn)的值、基于iso20022標(biāo)準(zhǔn)的屬性,以及 基于iso20022標(biāo)準(zhǔn)的類型,當(dāng)子標(biāo)簽為“預(yù)警值通知類型”時(shí),基于iso20022標(biāo)準(zhǔn)的值可能為“enab”(預(yù)警開啟)或者“disa”(預(yù)警解除),假設(shè)cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的基于iso20022標(biāo)準(zhǔn)的值為“enab”,則當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值為“enab”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值合法,而當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值為“disa”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值不合法,以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值的校驗(yàn);基于iso20022標(biāo)準(zhǔn)的屬性可能為“[1..1]”(表示cnaps報(bào)文必須有子標(biāo)簽“預(yù)警值通知類型”,若接收到的cnaps報(bào)文沒有子標(biāo)簽“預(yù)警值通知類型”,則對接收到的cnaps報(bào)文格式不能正常解析)或者“[0..1]”(表示cnaps報(bào)文可有可無子標(biāo)簽“預(yù)警值通知類型”,若接收到的cnaps報(bào)文沒有填寫子標(biāo)簽“預(yù)警值通知類型”,cnaps報(bào)文格式不會解析錯(cuò)誤),以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的屬性的校驗(yàn);基于iso20022標(biāo)準(zhǔn)的類型例如為“max4text”(文本格式,包含字母和數(shù)字,最短長度為1,最大長度為4,長度超過4時(shí),報(bào)錯(cuò)),假設(shè)cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的基于iso20022標(biāo)準(zhǔn)的類型為“max4text”,則當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的類型為“12x”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值合法,而當(dāng)接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的類型為“12345”時(shí),該子標(biāo)簽“預(yù)警值通知類型”的值不合法,以此完成對接收到的cnaps報(bào)文子標(biāo)簽“預(yù)警值通知類型”的值的校驗(yàn)?;趇so20022標(biāo)準(zhǔn)的類型還可以例如,maxnnumerictext,表示數(shù)字串,最少1位,最多n位的數(shù)字;isodate:表示日期,格式為yyyy-mm-dd;isodatetime:表示日期和時(shí)間,格式為yyyy-mm-ddthh:mm:ss。
s609:根據(jù)特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的特征點(diǎn)進(jìn)行校驗(yàn)。
例如,在從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值后,根據(jù)特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的特征點(diǎn)進(jìn)行校驗(yàn)。
s610:從第三配置表中獲取與子標(biāo)簽的鍵值對應(yīng)的路徑校驗(yàn)值。
本發(fā)明的實(shí)施例中,在獲取到金融報(bào)文的子標(biāo)簽后,還可以從第三配置表中獲取與子標(biāo)簽的鍵值對應(yīng)的路徑校驗(yàn)值,其中,第三配置表是根據(jù)與金融報(bào)文的一級標(biāo)簽對應(yīng)的一級標(biāo)簽校驗(yàn)器預(yù)先生成的,可以實(shí)現(xiàn)根據(jù)子標(biāo)簽的鍵值從第三配置表中調(diào)取對應(yīng)校驗(yàn)器的校驗(yàn)值進(jìn)行路徑校驗(yàn),在保證金融報(bào)文子標(biāo)簽路徑校驗(yàn)的精確度的情況下,提升金融報(bào)文的校驗(yàn)效率。
s611:根據(jù)對應(yīng)的路徑校驗(yàn)值對金融報(bào)文的子標(biāo)簽的路徑進(jìn)行校驗(yàn)。
例如,在從第三配置表中讀取金融報(bào)文的路徑校驗(yàn)值后,根據(jù)路徑校驗(yàn)值對金融報(bào)文的子標(biāo)簽的路徑進(jìn)行校驗(yàn)。
本實(shí)施例中,通過增加一級標(biāo)簽對子標(biāo)簽的路徑校驗(yàn),使一級標(biāo)簽校驗(yàn)器能適用于任何結(jié)構(gòu)不相同的金融報(bào)文的校驗(yàn),在保證金融報(bào)文子標(biāo)簽路徑校驗(yàn)的精確度的情況下,提升金融報(bào)文的校驗(yàn)效率。通過先判斷該金融報(bào)文所屬的業(yè)務(wù)類型,并獲取與金融報(bào)文所屬的業(yè)務(wù)類型對應(yīng)的通用校驗(yàn)器作為目標(biāo)校驗(yàn)器,后續(xù)從目標(biāo)校驗(yàn)器中的至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器中獲取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器即可,不需要遍歷所有子標(biāo)簽的基礎(chǔ)xml標(biāo)簽校驗(yàn)器,減少了校驗(yàn)金融報(bào)文的子標(biāo)簽需要的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的個(gè)數(shù),提升金融報(bào)文的校驗(yàn)效率。通過獲取金融報(bào)文的子標(biāo)簽,并根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),能夠有效提升金融報(bào)文的校驗(yàn)效率。
圖12是本發(fā)明另一實(shí)施例提出的應(yīng)用于金融報(bào)文的校驗(yàn)裝置的結(jié)構(gòu)示意圖。
其中,該應(yīng)用于金融報(bào)文的校驗(yàn)裝置可以例如設(shè)置在支付系統(tǒng)中,本發(fā)明實(shí)施例對此不作限制。
本實(shí)施例的方法可以基于國際金融服務(wù)金融業(yè)通用報(bào)文標(biāo)準(zhǔn)(iso20022標(biāo)準(zhǔn))。
參見圖12,該裝置120包括:第一獲取模塊121、讀取模塊122,以及校驗(yàn)?zāi)K123。其中,
第一獲取模塊121,用于獲取金融報(bào)文,并對金融報(bào)文進(jìn)行解析以獲取金融報(bào)文的子標(biāo)簽。
讀取模塊122,用于從第一配置表中讀取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值,以及從第二配置表中讀取金融報(bào)文的特征校驗(yàn)器的校驗(yàn)值。
校驗(yàn)?zāi)K123,用于根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn)。
可選地,一些實(shí)施例中,參見圖13,該裝置120還包括:
第二獲取模塊124,用于獲取與金融報(bào)文所屬的業(yè)務(wù)類型對應(yīng)的目標(biāo)校驗(yàn)器,其中,目標(biāo)校驗(yàn)器包含至少一個(gè)的一級標(biāo)簽校驗(yàn)器,每個(gè)一級標(biāo)簽校驗(yàn)器包含至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器。
第三獲取模塊125,用于從至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器中獲取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器。
第四獲取模塊126,用于從第三配置表中獲取與子標(biāo)簽的鍵值對應(yīng)的路徑校驗(yàn)值。
配置模塊127,用于根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器生成第一配置表;根據(jù)與金融報(bào)文的子標(biāo)簽對應(yīng)的特征校驗(yàn)器生成第二配置表。
配置模塊127還用于:根據(jù)與金融報(bào)文的一級標(biāo)簽對應(yīng)的一級標(biāo)簽校驗(yàn)器生成第三配置表。
可選地,一些實(shí)施例中,參見圖13,校驗(yàn)?zāi)K123還包括:
基礎(chǔ)信息校驗(yàn)子模塊1231,用于根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的值、屬性,以及類型進(jìn)行校驗(yàn)。
特征點(diǎn)校驗(yàn)子模塊1232,用于根據(jù)特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文的子標(biāo)簽的特征點(diǎn)進(jìn)行校驗(yàn)。
路徑校驗(yàn)子模塊1233用于根據(jù)對應(yīng)的路徑校驗(yàn)值對金融報(bào)文的子標(biāo)簽的路徑進(jìn)行校驗(yàn)。
需要說明的是,前述對應(yīng)用于金融報(bào)文的校驗(yàn)方法實(shí)施例的解釋說明也適用于該實(shí)施例的應(yīng)用于金融報(bào)文的校驗(yàn)裝置120,其實(shí)現(xiàn)原理類似,此處不再贅述。
本實(shí)施例中,通過增加一級標(biāo)簽對子標(biāo)簽的路徑校驗(yàn),使一級標(biāo)簽校驗(yàn)器能適用于任何結(jié)構(gòu)不相同的金融報(bào)文的校驗(yàn),在保證金融報(bào)文子標(biāo)簽路徑校驗(yàn)的精確度的情況下,提升金融報(bào)文的校驗(yàn)效率。通過先判斷該金融報(bào)文所屬的業(yè)務(wù)類型,并獲取與金融報(bào)文所屬的業(yè)務(wù)類型對應(yīng)的通用校驗(yàn)器作為目標(biāo)校驗(yàn)器,后續(xù)從目標(biāo)校驗(yàn)器中的至少一個(gè)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器中獲取與子標(biāo)簽的鍵值對應(yīng)的基礎(chǔ)xml標(biāo)簽校驗(yàn)器即可,不需要遍歷所有子標(biāo)簽的基礎(chǔ)xml標(biāo)簽校驗(yàn)器,減少了校驗(yàn)金融報(bào)文的子標(biāo)簽需要的基礎(chǔ)xml標(biāo)簽校驗(yàn)器的個(gè)數(shù),提升金融報(bào)文的校驗(yàn)效率。通過獲取金融報(bào)文的子標(biāo)簽,并根據(jù)基礎(chǔ)xml標(biāo)簽校驗(yàn)器的校驗(yàn)值和特征校驗(yàn)器的校驗(yàn)值對金融報(bào)文進(jìn)行校驗(yàn),能夠有效提升金融報(bào)文的校驗(yàn)效率。
需要說明的是,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本發(fā)明的描述中,除非另有說明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有 用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。