本公開內(nèi)容涉及用于執(zhí)行金融交易的金融交換(financial switching)引擎的領(lǐng)域。
背景技術(shù):
提供用于在各種元素之間執(zhí)行金融交易的金融交易系統(tǒng)是已知的,例如為了將從自動柜員機(jī)(ATM)或銷售點(PoS)終端發(fā)起的交易路由到金融服務(wù)提供者的結(jié)算系統(tǒng),或者為了從ATM或PoS終端充值諸如預(yù)付費(fèi)電話時間賬戶之類的預(yù)付費(fèi)賬戶。該系統(tǒng)包括金融交換引擎,其從系統(tǒng)的一個元素接收交易消息,并且包括用于將它們引導(dǎo)到另一個元素的一組規(guī)則。交換引擎接收消息、檢查其內(nèi)容、并且將規(guī)則應(yīng)用于內(nèi)容,以便做出關(guān)于將消息轉(zhuǎn)發(fā)到哪里的決定。
金融交易系統(tǒng)還可以包括與金融交易的執(zhí)行相關(guān)聯(lián)的其它功能,例如,用于檢查帳戶余額或生成其它報告、在數(shù)據(jù)庫中記錄交易或監(jiān)視帳戶以生成警報。Euronet申請WO 02/13129公開了包括多個可互換的、標(biāo)準(zhǔn)接口的、模塊化的金融服務(wù)應(yīng)用的系統(tǒng),其中每個金融服務(wù)應(yīng)用提供不同的相應(yīng)金融服務(wù),例如,一個應(yīng)用用于帳戶訪問、一個應(yīng)用用于帳戶管理、一個應(yīng)用用于交易管理以及一個應(yīng)用用于事件消息傳送。
在現(xiàn)有交易系統(tǒng)中,包括交換機(jī)和其它金融功能的系統(tǒng)在經(jīng)由一個或多個數(shù)據(jù)網(wǎng)絡(luò)向外連接到其各個端點(例如,ATM、PoS系統(tǒng)和/或金融提供者結(jié)算系統(tǒng))的中央數(shù)據(jù)中心處一起實現(xiàn)。數(shù)據(jù)中心可以被布置為在多個不同金融網(wǎng)絡(luò)(例如,一個或多個ATM網(wǎng)絡(luò)、PoS網(wǎng)絡(luò)和/或金融提供者網(wǎng)絡(luò))之間進(jìn)行調(diào)解的中央元素。在主數(shù)據(jù)中心發(fā)生故障的情況下,還可以提供備用數(shù)據(jù)中心。
技術(shù)實現(xiàn)要素:
現(xiàn)有方法可以被描述為“活動-被動”方法,因為在任何一個時間,只有一個數(shù)據(jù)中心處于活動。在正常操作中,主數(shù)據(jù)中心處于活動,而備用數(shù)據(jù)中心處于休眠;并且在主數(shù)據(jù)中心故障的情況下,備用數(shù)據(jù)中心處于活動,而主數(shù)據(jù)中心不工作。
另一方面,本公開內(nèi)容提供了一種“活動-活動”方法,其中不同的數(shù)據(jù)中心在任何一個時間處于活動。此外,本公開內(nèi)容將這個構(gòu)思擴(kuò)展到分布式的、基于云的方法,其中多個不同的模塊化插件應(yīng)用在多個不同物理位置上的多個不同數(shù)據(jù)中心中分布。
根據(jù)本文所公開的一方面,提供了一種提供金融交換引擎的金融交易系統(tǒng),該金融交易系統(tǒng)包括:在不同的相應(yīng)物理位置實現(xiàn)的、經(jīng)由私有網(wǎng)絡(luò)連接在一起的分布式的多個不同的物理數(shù)據(jù)中心;多個插件,每個插件被配置為執(zhí)行金融交易系統(tǒng)的不同的相應(yīng)功能;以及插件在其上運(yùn)行的操作系統(tǒng),插件被配置為彼此傳送消息,以便執(zhí)行金融交易;其中插件在數(shù)據(jù)中心的一些或全部之間分布并且操作系統(tǒng)被配置為從分布式數(shù)據(jù)中心抽象插件,使得插件經(jīng)由操作系統(tǒng)彼此傳送所述消息,而不需要指定所述數(shù)據(jù)中心中的特定數(shù)據(jù)中心作為消息的目的地,同時操作系統(tǒng)處理消息經(jīng)私有網(wǎng)絡(luò)在數(shù)據(jù)中心之間的路由,而插件不需要路由的可見性。
在實施例中,優(yōu)選地,金融交換引擎是所述插件之一。
在說到插件在數(shù)據(jù)中心之間分布的時候,這意味著插件中的不同插件在數(shù)據(jù)中心中的不同數(shù)據(jù)中心上存儲和/或執(zhí)行,和/或一個或多個插件中每一個插件的實例物理地在多個數(shù)據(jù)中心上存儲和/或執(zhí)行(即,給定的插件物理地在兩個或更多個數(shù)據(jù)中心上存儲和/或執(zhí)行)。在后一種情況下,這可能意味著存儲和/或執(zhí)行給定插件的負(fù)擔(dān)在多個數(shù)據(jù)中心之間共享,和/或插件的多個實例在不同的數(shù)據(jù)中心上存儲和/或執(zhí)行。
例如,金融交換引擎可以在一個數(shù)據(jù)中心上存儲和/或執(zhí)行,而在由該交換引擎交換的交易中涉及的另一個插件(例如,信用卡交易處理插件、預(yù)付費(fèi)帳戶插件、或ATM或銷售點終端接口插件)可以在另一個數(shù)據(jù)中心上存儲和/或執(zhí)行。作為替代或另外地,任何給定插件(諸如金融交換引擎)的多個實例可以在多個不同的數(shù)據(jù)中心上存儲和/或執(zhí)行。
另外,插件不需要知道它們在哪些數(shù)據(jù)中心上被實現(xiàn),或者它們正與之通信的插件在哪些數(shù)據(jù)中心上實現(xiàn),并且不需要被編程為具有對系統(tǒng)的底層分布本質(zhì)有任何可見性或理解。相反,插件僅僅向操作系統(tǒng)發(fā)送消息并且操作系統(tǒng)以對插件不透明的方式處理底層物理路由。因此,系統(tǒng)有效地充當(dāng)一種“私有云”,其中操作系統(tǒng)提供抽象層,使得從插件的角度看,系統(tǒng)充當(dāng)一個邏輯數(shù)據(jù)中心。
本公開內(nèi)容的分布式系統(tǒng)可被用來獲得以下優(yōu)點當(dāng)中的一個或多個。首先,在一個數(shù)據(jù)中心發(fā)生故障的情況下,除了專門在發(fā)生故障的數(shù)據(jù)中心上實現(xiàn)的任何模塊或任何模塊的實例(如果有的話),系統(tǒng)的其余部分可以繼續(xù)以零停機(jī)時間操作。另外,插件和/數(shù)據(jù)中心可以以對系統(tǒng)其余部分的零停機(jī)時間被升級。另外,它可以為負(fù)載平衡和/或改進(jìn)的擴(kuò)展性提供改進(jìn)的機(jī)會。
在實施例中,優(yōu)選地,插件包括至少一個安全模塊,該至少一個安全模塊被配置為將密碼和/或一個或多個其它安全措施應(yīng)用到所述交易中的一些。
在實施例中,優(yōu)選地,安全模塊包括硬件安全模塊。
在實施例中,優(yōu)選地,插件包括一個或多個端點接口模塊,每個端點接口模塊被配置為與一個或多個金融服務(wù)端點終端接口。
在實施例中,優(yōu)選地,一個或多個端點接口模塊包括被配置為與一個或多個銷售點終端接口的銷售點接口模塊。
在實施例中,優(yōu)選地,一個或多個端點接口模塊包括被配置為與一個或多個自動柜員機(jī)接口的ATM接口模塊。
在實施例中,優(yōu)選地,插件包括信用卡和/或借記卡交易處理模塊,該信用卡和/或借記卡交易處理模塊被配置為通過與金融提供者系統(tǒng)接口來處理借記卡和/或信用卡交易。
在實施例中,優(yōu)選地,插件包括在線交易處理模塊。
在實施例中,優(yōu)選地,插件包括一個或多個預(yù)付費(fèi)交易插件,該一個或多個預(yù)付費(fèi)交易插件被配置為通過與預(yù)付費(fèi)賬戶接口來處理交易,以便為預(yù)付費(fèi)商品或服務(wù)充值和/或兌換預(yù)付費(fèi)賬戶信用。
在實施例中,優(yōu)選地,一個或多個預(yù)付費(fèi)交易插件包括被配置為處理交易以充值或兌換預(yù)付費(fèi)電話信用的預(yù)付費(fèi)電話插件。
在實施例中,優(yōu)選地,插件包括被配置為過濾所述消息的消息過濾插件。
在實施例中,優(yōu)選地,插件包括報告模塊,該報告模塊被配置為報告所述交易中的一些交易和/或報告帳戶狀態(tài)。
在實施例中,優(yōu)選地,插件包括用于在數(shù)據(jù)庫中記錄所述交易中的一些交易的記錄模塊。
在實施例中,優(yōu)選地,操作系統(tǒng)包括被配置為在數(shù)據(jù)中心之間執(zhí)行負(fù)載平衡的負(fù)載管理算法。
在實施例中,優(yōu)選地,操作系統(tǒng)包括被配置為確定所述消息在數(shù)據(jù)中心之間的最佳路由的路由成本算法。
在實施例中,優(yōu)選地,操作系統(tǒng)在所述物理數(shù)據(jù)中心的一些或全部之間分布。
在實施例中,優(yōu)選地,操作系統(tǒng)被配置為支持不同的通信協(xié)議,以用于在插件之間傳送所述消息中的一些消息。
在實施例中,優(yōu)選地,所述插件包括被配置為執(zhí)行所述轉(zhuǎn)換的協(xié)議轉(zhuǎn)換插件。
在實施例中,優(yōu)選地,操作系統(tǒng)被配置為解釋不同的編程語言,以便運(yùn)行以不同編程語言編程的不同的插件。
在實施例中,優(yōu)選地,系統(tǒng)包括用于記錄所述交易中的一些交易和/或存儲系統(tǒng)的配置參數(shù)和/或交易規(guī)則的數(shù)據(jù)庫。
在實施例中,優(yōu)選地,系統(tǒng)包括被配置為支持多種數(shù)據(jù)庫類型的數(shù)據(jù)抽象層。
在實施例中,優(yōu)選地,數(shù)據(jù)抽象層是所述插件之一。
在實施例中,優(yōu)選地,數(shù)據(jù)中心位于不同的建筑物、不同的城鎮(zhèn)或城市和/或不同的國家。
在實施例中,優(yōu)選地,私有網(wǎng)絡(luò)包括專用網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
在實施例中,優(yōu)選地,私有網(wǎng)絡(luò)包括經(jīng)公共網(wǎng)絡(luò)基礎(chǔ)設(shè)施實現(xiàn)的私有協(xié)議。
根據(jù)本文公開的另一方面,提供了一種提供金融交換引擎的計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包括在計算機(jī)可讀存儲介質(zhì)上體現(xiàn)并被配置為當(dāng)在一個或多個處理器上執(zhí)行時執(zhí)行以下操作的代碼:充當(dāng)操作系統(tǒng),以運(yùn)行多個插件,每個插件被配置為執(zhí)行金融交易系統(tǒng)的不同的相應(yīng)功能;以及在插件之間傳送消息,以便執(zhí)行金融交易;其中插件在數(shù)據(jù)中心的一些或全部之間分布并且操作系統(tǒng)被配置為從分布式數(shù)據(jù)中心抽象插件,使得插件經(jīng)由操作系統(tǒng)彼此傳送所述消息,而不需要指定所述數(shù)據(jù)中心中特定的數(shù)據(jù)中心作為消息的目的地,同時操作系統(tǒng)處理消息經(jīng)私有網(wǎng)絡(luò)在數(shù)據(jù)中心之間的路由,而插件不需要路由的可見性。
附圖說明
為了幫助理解以下描述并示出如何實現(xiàn)實施例,以示例的方式參考附圖,其中:
圖1示意性地示出了實現(xiàn)金融交易系統(tǒng)的集中式和分布式方法,
圖2示意性地示出了金融交易系統(tǒng)的高級體系架構(gòu),
圖3示意性地示出了金融交易系統(tǒng)的分布式實現(xiàn),及
圖4示意性地示出了由多個插件實例形成的交易。
具體實施方式
圖1示出了相對于被動-主動方法的主動-主動方法的概念,以及主動-主動構(gòu)思到完全分布式的、基于云的方法的擴(kuò)展。
圖1(a)示出了包括主數(shù)據(jù)中心102和備用數(shù)據(jù)中心104的主動-被動實現(xiàn)。當(dāng)從服務(wù)端點終端(例如,PoS終端或ATM)接收到客戶端請求時,請求消息被路由到主數(shù)據(jù)中心102,以被處理。假設(shè)主數(shù)據(jù)中心102可操作,則所有此類客戶端請求消息都僅被路由到主數(shù)據(jù)中心102。只在故障使得主數(shù)據(jù)中心不可操作的情況下,請求消息才被替代地路由到備用數(shù)據(jù)中心104,以被處理。因此,在任何一個時間,數(shù)據(jù)中心102、104中只有一個是活動的。
圖1(b)示出了包括兩個(或更多個)數(shù)據(jù)中心106的主動-主動實現(xiàn)的構(gòu)思,這兩個數(shù)據(jù)中心哪個都不必被認(rèn)為是“主”數(shù)據(jù)中心。當(dāng)從服務(wù)端點終端(例如,PoS終端或ATM)接收到客戶端請求時,該客戶端請求可以依賴于請求被路由到數(shù)據(jù)中心106中的任一個,以被處理。因此,一些客戶端請求消息被路由到一個數(shù)據(jù)中心106,而其它此類消息被路由到另一個數(shù)據(jù)中心106,這兩個數(shù)據(jù)中心都是活動的,從而基本上同時處理不同的請求。
圖1(c)示出了根據(jù)本文公開的實施例的主動-主動方法到云系統(tǒng)的擴(kuò)展。該系統(tǒng)包括在多個物理位置(例如,不同的建筑物、不同的地點、不同的城鎮(zhèn)或城市或甚至不同的國家)分布的多個物理數(shù)據(jù)中心106。不同的物理數(shù)據(jù)中心106可以各自與多個服務(wù)器和/或設(shè)備相關(guān)聯(lián)。不同的物理數(shù)據(jù)中心106經(jīng)由私有網(wǎng)絡(luò)110連接在一起。私有網(wǎng)絡(luò)110可以借助私有物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施或者借助在公共物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施(諸如互聯(lián)網(wǎng))上實現(xiàn)的私有(安全)網(wǎng)絡(luò)協(xié)議或者通過這些的組合來實現(xiàn)。多個服務(wù)端點終端108(例如,PoS終端和/或ATM)也連接到私有網(wǎng)絡(luò)110,并且因此可操作,以經(jīng)由私有網(wǎng)絡(luò)與任何分布式數(shù)據(jù)中心106通信。在任何給定的時間,任何兩個、更多個或全部不同的分布式數(shù)據(jù)中心106可以是活動的并且并行地處理交易。當(dāng)從服務(wù)端點108發(fā)送服務(wù)請求消息時,它可以被指向數(shù)據(jù)中心中的任何一個或多個,這取決于諸如請求的本質(zhì)、系統(tǒng)上的當(dāng)前負(fù)載以及路由消息的成本之類的因素。在云方法中,多個物理處理中心可以由邏輯處理中心表示。在實施例中,許多物理處理中心可以由單個大型邏輯處理中心表示。換句話說,在一些實施例中,物理處理中心106被包括在“云”中,客戶可以經(jīng)由互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)110(其可以是私有網(wǎng)絡(luò))利用端點終端108連接到該“云”。
圖2示出了根據(jù)本文公開的示例性實施例的金融交易系統(tǒng)的體系架構(gòu)。系統(tǒng)的主要功能是提供金融交換引擎,充當(dāng)多個服務(wù)端點終端108(其是用戶終端)和一個或多個金融提供者210(在交易的另一端點處的系統(tǒng),在那里交易最終被處理)之間的調(diào)解者。為此,系統(tǒng)包括金融交換引擎202(核心交換機(jī))和充當(dāng)接口或設(shè)備處理器的多個消息過濾器208。系統(tǒng)還包括多個在交易中會涉及到的附加元件。在圖2中,這些包括例如至少一個安全模塊204,以及用于與數(shù)據(jù)庫218接口的數(shù)據(jù)抽象層(DAL)220。
服務(wù)端點終端108可以包括例如一個或多個銷售點(PoS)終端212,和/或一個或多個自動柜員機(jī)(ATM)。金融提供者系統(tǒng)210可以包括例如一個或多個信用卡或借記卡提供者的結(jié)算系統(tǒng)、網(wǎng)上銀行系統(tǒng)和/或預(yù)付費(fèi)貨物或服務(wù)的一個或多個提供者的預(yù)付費(fèi)賬戶系統(tǒng)。金融交換引擎202經(jīng)由一個或多個消息過濾器208連接到服務(wù)端點終端108,例如,經(jīng)由至少一個相應(yīng)的消息過濾器和經(jīng)由端點108的任何相應(yīng)的基礎(chǔ)設(shè)施連接到每種類型的服務(wù)端點終端212、214。例如,在圖2中,金融交換引擎202可以經(jīng)由一個或多個消息過濾器208b和包括EFTS(電子資金轉(zhuǎn)移服務(wù)器)216的ATM網(wǎng)絡(luò)連接到ATM 214,并且可以經(jīng)由一個或多個消息過濾器208c、208d和銷售點網(wǎng)絡(luò)(未示出)連接到PoS終端212。金融交換引擎202還經(jīng)由一個或多個消息過濾器208連接到一個或多個提供者系統(tǒng)210,例如,經(jīng)由至少一個相應(yīng)的過濾器208a連接到每個提供者210。
金融交換引擎202因此被部署在服務(wù)端點終端108和提供者系統(tǒng)210之間。金融交換引擎202被配置為接收消息、檢查它們的內(nèi)容,并且基于此來根據(jù)一組交換規(guī)則將它們向前交換到系統(tǒng)的適當(dāng)元件。例如,這可以包括經(jīng)由相應(yīng)的(一個或多個)過濾器208b、208c、208d從服務(wù)端點設(shè)備108接收服務(wù)請求消息,然后讀取至少足夠的消息來確定請求的本質(zhì)并經(jīng)由另一個過濾器208a轉(zhuǎn)發(fā)到適當(dāng)?shù)奶峁┱?10以進(jìn)行處理,以及潛在地將消息或關(guān)于它的信息經(jīng)由DAL220轉(zhuǎn)發(fā)到數(shù)據(jù)庫218以被記錄。作為另一個例子(例如,作為同一交易的補(bǔ)充部分),由金融交換引擎202執(zhí)行的交換可以包括經(jīng)由相應(yīng)過濾器208a從提供者210接收報告消息(例如,響應(yīng)于請求)、讀取足夠的消息以確定其作為報告的本質(zhì),并且經(jīng)由相應(yīng)的(一個或多個)過濾器208b、208c、208d轉(zhuǎn)發(fā)到相關(guān)的端點終端108。再次,這還可以包括將報告或關(guān)于它的信息經(jīng)由DAL 220發(fā)送到數(shù)據(jù)庫218以進(jìn)行記錄的步驟。
過濾器208是執(zhí)行專用工作單元(例如,TCP/IP通信、設(shè)備處理機(jī)、MasterCard在線消息等)的部件。在實施例中,過濾器208是不包括在核心金融交換引擎202內(nèi)的部件。它們可以包括專用的過程,諸如設(shè)備處理機(jī)(例如,ATM、POS)、網(wǎng)絡(luò)處理機(jī)(例如,MasterCard、Visa等)以及其它特定于功能的過程。過濾器202和其它非核心部件可以“預(yù)先拒絕”交易,但是仍然可能需要路由到核心202中以進(jìn)行記錄和后續(xù)路由。核心交換引擎202可以檢測預(yù)先拒絕的消息并丟棄到“拒絕決策樹”中并且潛在地覆蓋預(yù)先拒絕的值。
在實施例中,可以存在不同的過濾器類型:獨(dú)立過濾器、鏈接過濾器和嵌入式過濾器。獨(dú)立類型的過濾器處理完整的工作單元(例如,MasterCard過濾器等)。鏈接過濾器可以按順序鏈接,其中每個過濾器完成其工作單元并將結(jié)果傳遞到下一個過濾器。對于嵌入式濾波器,這個概念允許過濾器嵌入在另一個濾波器內(nèi),因此“主”過濾器有效地表現(xiàn)為獨(dú)立濾波器。但是,主過濾器實際上可以包括其它過濾器的累積。同樣,嵌在主過濾器內(nèi)的過濾器也可以充當(dāng)獨(dú)立過濾器。
過濾器概念可被用來支持集中式和/或通用網(wǎng)絡(luò)過濾器以及處理獨(dú)特網(wǎng)絡(luò)需求(例如,MasterCard、Visa等)的特定于網(wǎng)絡(luò)的過濾器。例如,過濾器208可以包括用于在線交易處理的過濾器、特定于網(wǎng)絡(luò)的在線過濾器、用于網(wǎng)絡(luò)清除處理的過濾器和/或特定于網(wǎng)絡(luò)的清除過濾器。
例如,對于在線交易處理,通用網(wǎng)絡(luò)過濾器可以處理核心金融交換引擎202與特定于網(wǎng)絡(luò)的在線過濾器之間的接口層,而特定于網(wǎng)絡(luò)的在線過濾器處理每個網(wǎng)絡(luò)的獨(dú)特消息傳送需求并且在通用網(wǎng)絡(luò)過濾器與各個網(wǎng)絡(luò)之間提供接口層。
關(guān)于網(wǎng)絡(luò)清除處理,單獨(dú)的網(wǎng)絡(luò)清除過程通常被提供者網(wǎng)絡(luò)使用,包括傳入/傳出文件處理邏輯和清除用戶接口。但是,在實施例中,可以提供中央清除應(yīng)用,在這種情況下,新體系架構(gòu)被布置為創(chuàng)建處理傳入/傳出文件的通用清除應(yīng)用以及清除用戶接口。這是通過識別所有網(wǎng)絡(luò)之間的公共清除功能來實現(xiàn)的,使得中央清除應(yīng)用可以被設(shè)計為以通用方式適應(yīng)那些需求。為了方便特定于網(wǎng)絡(luò)的清除需求,特定于網(wǎng)絡(luò)的清除過濾層將在中央清除應(yīng)用與網(wǎng)絡(luò)之間提供層。這些過濾器將在網(wǎng)絡(luò)提供的文件與由中央清除應(yīng)用處理過的文件之間執(zhí)行特定于網(wǎng)絡(luò)的重新格式化。在實施例中,這些過濾器將以標(biāo)準(zhǔn)化的格式從中央清除應(yīng)用接受數(shù)據(jù)以及向中央清除應(yīng)用發(fā)送數(shù)據(jù)。過濾器將根據(jù)網(wǎng)絡(luò)和標(biāo)準(zhǔn)消息傳送格式重新格式化數(shù)據(jù)。
在實施例中,這些過濾器可以包括特定于特定提供者(例如,MasterCard、Visa、American Express)的過濾器。例如,特定于MasterCard的(一個或多個)過濾器可以包括:特定于管理MasterCard清除過程的過濾器、MasterCard消息傳送過濾器和/或MasterCard管理過濾器。MasterCard消息傳送過濾器負(fù)責(zé)特定于MasterCard的消息處理和重新格式化,并且在實施例中還路由到下游MasterCard通信過濾器。消息傳送過濾器還可以在高級別監(jiān)視下游MasterCard通信過濾器,以識別/報告問題和節(jié)點連接問題。MasterCard管理過濾器處理MasterCard MIP連接、管理性消息傳送和/或靈活的消息匹配,以識別響應(yīng)線程。
在實施例中,過濾器208還進(jìn)一步包括用于執(zhí)行以下操作的(一個或多個)通信過濾器:從通信線路檢索傳入的消息,將多個消息拆分成單獨(dú)的消息,處理跨分組拆分消息的情況,將原始消息指引到適當(dāng)?shù)?一個或多個)過濾器和/或核心202,在通信線路上放置響應(yīng)消息,維持持久性連接,和/或跟蹤消息級“線程指紋”,其指示哪個線程發(fā)送請求,使得通信過濾器能夠?qū)㈨憫?yīng)返回到正確的線程。過濾器208還進(jìn)一步包括ISO-8583消息過濾器,諸如:類似于ITM超級DCM概念的通用ISO-8583消息過濾器、(一個或多個)主機(jī)到主機(jī)接口過濾器和/或H2H到EFTS。
(一個或多個)過濾器208a因此提供與一個或多個金融提供者系統(tǒng)的(一個或多個)結(jié)算系統(tǒng)的接口,以用于執(zhí)行在線交易處理和/或借記卡或信用卡交易。另外,如所提到的,過濾器208b、208c、208d可以包括用于經(jīng)由它們相關(guān)聯(lián)的基礎(chǔ)設(shè)施與PoS終端212、ATM 214接口的設(shè)備處理機(jī)模塊。另外,可以提供過濾器208,以用于通過與預(yù)付費(fèi)的(一個或多個)商品或(一個或多個)服務(wù)(例如,預(yù)付費(fèi)電話分鐘數(shù)的賬戶)的提供者的金融機(jī)構(gòu)和預(yù)付費(fèi)賬戶系統(tǒng)接口來充值或兌換預(yù)付費(fèi)賬戶信用。金融交換引擎202位于中間,經(jīng)由(一個或多個)相應(yīng)的過濾器208連接在這些服務(wù)端點108、212、214、(一個或多個)提供者系統(tǒng)210和(一個或多個)預(yù)付費(fèi)帳戶(未示出)之間,并且被布置為在它們之間根據(jù)所討論的消息交換消息。
圖2的系統(tǒng)還包括連接到數(shù)據(jù)庫218的一個或多個操作者用戶終端224(不同于服務(wù)端點108、212、214)。這些提供使系統(tǒng)的操作者能夠訪問已經(jīng)經(jīng)由DAL 220和交換引擎202記錄的交易記錄的用戶接口,以及設(shè)置系統(tǒng)使操作者能夠控制的系統(tǒng)的任何配置或規(guī)則。在實施例中,它們的用戶接口可以提供大量用戶接口,諸如:系統(tǒng)配置、系統(tǒng)管理、系統(tǒng)健康監(jiān)視、網(wǎng)絡(luò)清除、審計和/或研究。
如圖2中進(jìn)一步所示,系統(tǒng)包括一個或多個安全模塊204的形式的安全子系統(tǒng),以用于處理正在執(zhí)行的交易中所涉及的密碼,以及任何其它安全措施。這可以包括提供安全密鑰的防篡改管理的硬件安全模塊(HSM)。為了安全性,涉及在不同物理數(shù)據(jù)中心106之間以及經(jīng)來往于任何服務(wù)端點終端108和提供者系統(tǒng)210的任何外部連接被傳送的消息的任何交易都將利用安全密鑰被加密。安全模塊204根據(jù)交換引擎的需要執(zhí)行必要的加密和解密,以便讀取和/或發(fā)送消息。
如前面所提到的,系統(tǒng)的功能以多個插件222的形式實現(xiàn)。插件222包括軟件單元并且本質(zhì)上是模塊化的,從而給出利用客戶端所要求的獨(dú)特和/或定制特征來增強(qiáng)的能力。同樣,它們支持?jǐn)U增現(xiàn)有功能而不改變其它元素的能力。在實施例中,一切都被實現(xiàn)為插件222,甚至核心的金融交換引擎202和HSM。
因此,在實施例中,插件222可以包括:實現(xiàn)核心金融交換引擎202的插件,實現(xiàn)一個或多個安全模塊204(例如,包括HSM的軟件)的功能的一個或多個插件,用于(經(jīng)由諸如PoS網(wǎng)絡(luò)或EFTS服務(wù)器的任何相關(guān)聯(lián)的基礎(chǔ)設(shè)施)與服務(wù)端點終端108接口的一個或多個服務(wù)端點接口插件,以及一個或多個交易處理插件,例如,用于與(一個或多個)提供者系統(tǒng)210接口。服務(wù)端點接口插件可以包括用于經(jīng)由PoS網(wǎng)絡(luò)與PoS終端212接口的PoS插件,和/或用于經(jīng)由ATM網(wǎng)絡(luò)(包括EFTS服務(wù)器216)與ATM 214接口的ATM插件。交易處理插件被配置為通過接口到相關(guān)的提供者系統(tǒng)210來處理金融交易。插件還可以包括用于在線交易和/或預(yù)付費(fèi)帳戶交易的插件。因此,插件222可以實現(xiàn)所述過濾器208的一些或全部功能。
在實施例中,DAL 220還可以被實現(xiàn)為所述插件222之一。系統(tǒng)可以包括一個或多個其它插件222(未示出),諸如:用于經(jīng)由DAL 220在數(shù)據(jù)庫218中記錄交易的交易記錄插件,用于生成與交易相關(guān)的報告(例如,關(guān)于帳戶活動的報告)的報告插件,用于在整個系統(tǒng)中使用的不同通信協(xié)議之間進(jìn)行轉(zhuǎn)換的協(xié)議轉(zhuǎn)換插件,和/或用于管理交易的生命周期的交易生命周期插件。
插件222可以鏈接在一起,以創(chuàng)建交易,如稍后將更詳細(xì)地討論的。
圖3現(xiàn)在示出了系統(tǒng)的實際物理實現(xiàn),并且尤其是其分布式本質(zhì)。該系統(tǒng)包括在多個物理數(shù)據(jù)中心106之間分布的多個插件222(諸如上面討論的插件)。物理數(shù)據(jù)中心在多個不同的相應(yīng)物理地點(例如,不同的建筑物、不同的城鎮(zhèn)或城市或者甚至不同的國家)實現(xiàn)。在實施例中,可以存在至少三個數(shù)據(jù)中心,或者至少十個,或者數(shù)十個數(shù)據(jù)中心,或者甚至上至超過一百個。如上面所提到的,數(shù)據(jù)中心106經(jīng)由私有網(wǎng)絡(luò)110連接在一起,私有網(wǎng)絡(luò)110可以包括私有網(wǎng)絡(luò)基礎(chǔ)設(shè)施和/或經(jīng)諸如互聯(lián)網(wǎng)之類的公共網(wǎng)絡(luò)實現(xiàn)的私有協(xié)議(有時被稱為虛擬私有網(wǎng)絡(luò))。
在說到插件222在不同的數(shù)據(jù)中心106之間分布的情況下,這可能意味著兩個事情中的一個或兩個:首先,它可以意味著不同類型的插件在不同的數(shù)據(jù)中心實現(xiàn)(例如,核心202在一個數(shù)據(jù)中心106,以及ATM接口208b在另一個數(shù)據(jù)中心等);和/或第二,它可以意味著給定插件的不同實例可以在不同的數(shù)據(jù)中心并行地實現(xiàn)(例如,使得核心202的實例可以在多個數(shù)據(jù)中心106實現(xiàn),以及ATM接口208b的實例可以在多個數(shù)據(jù)中心106實現(xiàn)等)。即,每個插件222在一個或多個數(shù)據(jù)中心106上物理地存儲和/或執(zhí)行,其中不同的插件222至少部分地在不同的數(shù)據(jù)中心上存儲和/或執(zhí)行,或者甚至每個插件在所有數(shù)據(jù)中心106之間分布。還應(yīng)當(dāng)指出,給定插件222的多個實例還可以在給定的數(shù)據(jù)中心106上并行運(yùn)行。本文的實例可以指存儲在不同數(shù)據(jù)中心106的相同(或基本上等同)的插件222的不同副本,或者在給定數(shù)據(jù)中心處運(yùn)行的同一副本的不同實例(即,并行地對不同交易操作的同一副本)。
在插件222和物理數(shù)據(jù)中心106之間,提供操作系統(tǒng)302,它被配置為從數(shù)據(jù)中心106的底層的、物理的、分布式本質(zhì)抽象插件222。這意味著插件222不具有并且他們不需要具有系統(tǒng)的物理實現(xiàn)的分布式結(jié)構(gòu)的任何可見性。如果給定的插件222要發(fā)送去往另一插件222的消息,則它僅向操作系統(tǒng)發(fā)出消息并且不指定任何數(shù)據(jù)中心106的物理地址(并且它也不需要這樣做)。在運(yùn)行源和目的地插件222(或插件的源和目的地實例)的數(shù)據(jù)中心106之間的消息的物理路由由操作系統(tǒng)302處理,而任一個插件222都不需要知道它–相反,插件僅僅經(jīng)由OS向另一個插件發(fā)送消息,而不需要插件222知道不同的分布式數(shù)據(jù)中心106。因此,插件222處理業(yè)務(wù)邏輯,而操作系統(tǒng)處理網(wǎng)絡(luò)110上的底層物理路由。
操作系統(tǒng)302本身可以在一些或全部數(shù)據(jù)中心之間以分布式方式實現(xiàn)。這可以包括實現(xiàn)將插件或插件的實例映射到數(shù)據(jù)中心和/或記錄哪些插件可用的插件查找表,其中查找表分布在一些或全部數(shù)據(jù)中心之間分布。作為替代地,查找可以集中地實現(xiàn)。無論以哪種方式,當(dāng)操作系統(tǒng)302從插件222接收到消息時,操作系統(tǒng)302可以因此查找消息應(yīng)當(dāng)被路由到的實際物理目的地,以進(jìn)行處理。
操作系統(tǒng)302還可被配置為執(zhí)行負(fù)載平衡,以嘗試在不同的數(shù)據(jù)中心108之間最優(yōu)地平衡存儲和/或執(zhí)行不同插件222或插件222的實例的負(fù)載,使得沒有一個數(shù)據(jù)中心106承受由系統(tǒng)整體消耗的存儲器和/或處理資源的不適當(dāng)?shù)呢?fù)擔(dān)。負(fù)載平衡機(jī)制考慮諸如以下的參數(shù):數(shù)據(jù)中心106的內(nèi)部資源(像CPU使用和存儲器),以及外部資源(像TCP連接、數(shù)據(jù)庫連接和網(wǎng)絡(luò)等待時間)。如果需要,插件實例數(shù)量在運(yùn)行時的增大或減小是可能的,并且這可以被手動或自動地執(zhí)行。內(nèi)置的智能負(fù)載平衡甚至還可以在沒有手動配置改變的情況下操作,但是在實施例中,可以由操作者進(jìn)行顯式提示,諸如:配置隊列閾值、配置優(yōu)先級、配置響應(yīng)超時、配置吞吐時間,和/或配置存儲器消耗閾值。負(fù)載平衡可以被認(rèn)為是一種形式的智能消息路由。
另外,操作系統(tǒng)可被配置為執(zhí)行最佳成本路由,以經(jīng)網(wǎng)絡(luò)110在數(shù)據(jù)中心106之間找到用于交易的消息的最佳路由。這種智能分派基于路徑等待時間、消息隊列尺寸、處理速度、優(yōu)先級、插件可用性和/或插件響應(yīng)(例如,插件可以將其自己的節(jié)點定義為缺陷)提供最優(yōu)路由成本的自動計算。以上屬性可以通過配置改變被手動控制,或者被自動控制。
優(yōu)選地,操作系統(tǒng)被配置為能夠解釋諸如Java、LUA和/或C++(用作腳本語言)之類的不同腳本語言,并且因此被配置為支持以此類不同語言編程的插件222。優(yōu)選地,系統(tǒng)還被配置為支持不同通信協(xié)議,以用于在插件222中的不同插件之間和/或在核心交換引擎202和插件222之間進(jìn)行通信。例如,通信協(xié)議可以包括SOAP、REST、ASN.1和/或H2H協(xié)議。在實施例中,協(xié)議轉(zhuǎn)換可以由插件222中的一個或多個來實現(xiàn)。
另外,系統(tǒng)優(yōu)選地是數(shù)據(jù)庫不可知的,因為它包括支持多種數(shù)據(jù)庫類型(例如,SQL、MySQL、PostGreSQL、MS-SQL,DB2和/或Oracle)的數(shù)據(jù)抽象層(DAL)220。在實施例中,DAL 220可以是或可以不是所述插件之一。在實施例中,數(shù)據(jù)庫可以在一些或全部數(shù)據(jù)中心之間分布,或者可以集中地實現(xiàn)。
圖4示出了被鏈接在一起以形成交易的多個插件222的例子,在這種情況下是在ATM 214和信用卡或借記卡提供者210之間的信用卡或借記卡交易。交易利用以下形成:交易生命周期插件410的實例、核心金融交換引擎插件202的實例、安全插件204的實例和記錄插件408的實例,以通信插件404和EFT H2H過濾器插件222的形式的兩個服務(wù)端點插件的實例,以及信用卡或借記卡過濾器208a和通信過濾器406形式的兩個交易處理插件的實例。插件以每個連接為基礎(chǔ)被動態(tài)地加載。在實施例中,用于給定交易的插件222的實例由交易生命周期插件410在其生命周期上被匯集并管理。
ATM 214經(jīng)由EFTS 216和服務(wù)端點插件404、208a向交換核心202發(fā)出請求消息。交換引擎202檢查該消息,以確定它是對信用卡或借記卡交易的請求,并且因此確定它將被指引到信用卡或借記卡提供者的系統(tǒng)210以進(jìn)行結(jié)算。因而,交換引擎202經(jīng)由提供者接口插件208a和406將消息轉(zhuǎn)發(fā)到信用卡或借記卡結(jié)算系統(tǒng)210。一旦交易這樣由卡供應(yīng)商系統(tǒng)210結(jié)算(或拒絕),卡供應(yīng)商系統(tǒng)210就經(jīng)由交換機(jī)202、接口406、208a、208b、4040和ETFS 216向ATM214返回響應(yīng)。交易的一個或多個階段中的每一個階段也可以經(jīng)由DAL 220由記錄插件408記錄在數(shù)據(jù)庫218中。安全插件204處理消息的加密,使得經(jīng)由HSM的硬件412對在物理數(shù)據(jù)中心106之間傳送的任何消息進(jìn)行適當(dāng)加密。
所描述的系統(tǒng)提供了一般和通用的實時交換機(jī),其不限于任何特定類型的交易、接口或數(shù)據(jù)格式。信用卡或借記卡交易的上述例子僅僅是通用體系架構(gòu)的一個示例情況,其還可被用于許多其它功能,諸如在線交易、預(yù)付費(fèi)帳戶交易、查看帳戶和/或監(jiān)視帳戶以自動生成警報等。
模塊化插件或插件的不同實例在多個分布式數(shù)據(jù)中心之間的分布意味著多個物理處理中心融入一個邏輯處理中心中。這可以提供多個優(yōu)點。例如,它允許在故障或甚至維護(hù)的情況下零停機(jī)。單個缺陷可以由位于不同位置的其它插件自動替換。另外,通過這種云設(shè)計,通過在一個數(shù)據(jù)中心106實現(xiàn)升級而不需要改變或關(guān)掉系統(tǒng)的其余部分,使得能夠?qū)崟r升級和配置。插件222可以甚至在不丟失連接的情況下在運(yùn)行期間被刷新或更新,例如,用插件的新版本替換、改變插件表中的版本名稱,或者向插件發(fā)送刷新消息。另外,該設(shè)計提供了高性能和可擴(kuò)展性,從而允許僅通過配置或甚至自動地通過添加附加插件、插件實例和/或數(shù)據(jù)中心來擴(kuò)展系統(tǒng),而不需要關(guān)掉和/或重做系統(tǒng)的其余部分。
系統(tǒng)是靈活且易于擴(kuò)展的,其中插件可以由第三方開發(fā)和替換。它提供多個接口來訪問和操縱數(shù)據(jù),例如SOAP、REST和/或ASN.1;并且允許多種腳本語言,甚至LUA。此外,系統(tǒng)提供自動負(fù)載平衡、存儲器管理和智能的“路由成本”計算。
應(yīng)當(dāng)理解,系統(tǒng)還能夠處理除了金融信息之外的信息。因此,系統(tǒng)可以被認(rèn)為是“通用的”,因為它能夠處理任何類型的電子消息。
如上面所討論的,中心操作系統(tǒng)和插件方法實現(xiàn)了功能的分布。操作系統(tǒng)可以處理例如消息傳遞、多線程、插件處理、數(shù)據(jù)庫抽象層、存儲器管理和性能控制。插件可以例如實現(xiàn)業(yè)務(wù)邏輯,并且還具有鏈接到其它插件的能力。此外,系統(tǒng)可以容易地被實現(xiàn)為基于云的系統(tǒng)。
實施例不限于任何特定類型的操作系統(tǒng)。操作系統(tǒng)可以例如是Linux、Windows等。無論使用哪種操作系統(tǒng),在實施例中它都可以將功能抽象成插件,諸如業(yè)務(wù)邏輯。
應(yīng)當(dāng)認(rèn)識到,上述實施例僅僅作為例子進(jìn)行了描述。在給出本文的公開內(nèi)容的情況下,其它變形對于本領(lǐng)域技術(shù)人員來說會變得清楚。本公開內(nèi)容的范圍不由所描述的實施例限制,而是僅由所附權(quán)利要求限制。