本申請(qǐng)涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種業(yè)務(wù)調(diào)用方法及裝置。
背景技術(shù):
隨著業(yè)務(wù)領(lǐng)域的不斷擴(kuò)展,一些核心業(yè)務(wù)系統(tǒng)通常需要與不同的外部系統(tǒng)對(duì)接;例如,以核心支付業(yè)務(wù)系統(tǒng)為例,隨著國(guó)際支付業(yè)務(wù)的擴(kuò)展,其通??赡苄枰c不同國(guó)際機(jī)構(gòu)的外部系統(tǒng)進(jìn)行對(duì)接,來(lái)完成跨境支付業(yè)務(wù)。而在實(shí)際應(yīng)用中,不同的外部系統(tǒng),可能會(huì)由于其面向的業(yè)務(wù)用戶群體彼此不同,或者其它的特殊原因,導(dǎo)致不同的外部系統(tǒng)在與核心業(yè)務(wù)系統(tǒng)對(duì)接時(shí),會(huì)彼此存在一些具有差異的個(gè)性化業(yè)務(wù)需求。
在這種情況下,各外部系統(tǒng)在與核心業(yè)務(wù)系統(tǒng)進(jìn)行對(duì)接時(shí),通常都會(huì)在核心業(yè)務(wù)系統(tǒng)所支持的默認(rèn)業(yè)務(wù)字段的基礎(chǔ)上,自定義一些擴(kuò)展字段;當(dāng)外部系統(tǒng)針對(duì)核心業(yè)務(wù)系統(tǒng)執(zhí)行業(yè)務(wù)調(diào)用時(shí),再將自定義的擴(kuò)展字段透?jìng)鹘o核心業(yè)務(wù)系統(tǒng)進(jìn)行相應(yīng)的業(yè)務(wù)處理,從而可以在不修改核心業(yè)務(wù)系統(tǒng)原來(lái)的業(yè)務(wù)邏輯的前提下,來(lái)滿足外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求。
然而,在實(shí)際應(yīng)用中,各外部系統(tǒng)將自定義的擴(kuò)展字段透?jìng)鹘o核心業(yè)務(wù)系統(tǒng),可能會(huì)造成核心業(yè)務(wù)系統(tǒng)開(kāi)銷過(guò)大的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)岢鲆环N業(yè)務(wù)調(diào)用方法,應(yīng)用于分布式業(yè)務(wù)系統(tǒng),所述分布式業(yè)務(wù)系統(tǒng)包括擴(kuò)展子系統(tǒng)、集成子系統(tǒng)以及若干業(yè)務(wù)子系統(tǒng),所述方法包括:
獲取外部系統(tǒng)在發(fā)起針對(duì)各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用時(shí)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù),并判斷所述業(yè)務(wù)調(diào)用數(shù)據(jù)中是否攜帶擴(kuò)展字段;
如果所述業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶擴(kuò)展字段,將所述擴(kuò)展字段集中存儲(chǔ)至所述擴(kuò)展子系統(tǒng);
各業(yè)務(wù)子系統(tǒng)響應(yīng)于所述外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程;
當(dāng)各業(yè)務(wù)子系統(tǒng)完成與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,集成子系統(tǒng)響應(yīng)于所述外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于與所述擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,基于所述擴(kuò)展字段對(duì)所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新后并返回至所述外部系統(tǒng)。
本申請(qǐng)還提出一種業(yè)務(wù)調(diào)用裝置,應(yīng)用于分布式業(yè)務(wù)系統(tǒng),所述分布式業(yè)務(wù)系統(tǒng)包括擴(kuò)展子系統(tǒng)、集成子系統(tǒng)以及若干業(yè)務(wù)子系統(tǒng),所述裝置包括:
存儲(chǔ)模塊,獲取外部系統(tǒng)在發(fā)起針對(duì)各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用時(shí)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù),并判斷所述業(yè)務(wù)調(diào)用數(shù)據(jù)中是否攜帶擴(kuò)展字段;如果所述業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶擴(kuò)展字段,將所述擴(kuò)展字段集中存儲(chǔ)至所述擴(kuò)展子系統(tǒng);
執(zhí)行模塊,各業(yè)務(wù)子系統(tǒng)響應(yīng)于所述外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程;
更新模塊,當(dāng)各業(yè)務(wù)子系統(tǒng)完成與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,集成子系統(tǒng)響應(yīng)于所述外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于與所述擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,基于所述擴(kuò)展字段對(duì)所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新并返回至所述外部系統(tǒng)。
本申請(qǐng)中,提出一種分布式業(yè)務(wù)系統(tǒng),該分布式業(yè)務(wù)系統(tǒng)在響應(yīng)外部系統(tǒng)發(fā)起的業(yè)務(wù)調(diào)用時(shí),可以將外部系統(tǒng)自定義的擴(kuò)展字段集中存儲(chǔ)至分布式系統(tǒng)中的擴(kuò)展系統(tǒng),而不再透?jìng)鹘o各業(yè)務(wù)子系統(tǒng);當(dāng)各業(yè)務(wù)子系統(tǒng)響應(yīng)于外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行完成與該業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,該分布式業(yè)務(wù)系統(tǒng)中的集成子系統(tǒng)可以基于外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于該自定義的擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,使用外部系統(tǒng)傳入的擴(kuò)展字段對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新后返回至外部系統(tǒng)。
由于在整個(gè)業(yè)務(wù)調(diào)用的過(guò)程中,對(duì)外部系統(tǒng)自定義的擴(kuò)展字段進(jìn)行了集中存儲(chǔ)并進(jìn)行了隔離,擴(kuò)展字段將不再需要透?jìng)鹘o各業(yè)務(wù)子系統(tǒng),從而可以降低各業(yè)務(wù)子系統(tǒng)的系統(tǒng)開(kāi)銷;而且可以實(shí)現(xiàn)在不修改核心業(yè)務(wù)系統(tǒng)中的各業(yè)務(wù)子系統(tǒng)的前提下,對(duì)核心業(yè)務(wù)系統(tǒng)的標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行更改,因而可以大幅提升核心業(yè)務(wù)系統(tǒng)的業(yè)務(wù)靈活性。
附圖說(shuō)明
圖1是本申請(qǐng)示出的現(xiàn)有技術(shù)中基于分布式架構(gòu)的第三方支付系統(tǒng)的系統(tǒng)架構(gòu)圖;
圖2是本申請(qǐng)一實(shí)施例示出的一種業(yè)務(wù)調(diào)用方法的流程圖;
圖3是本申請(qǐng)一實(shí)施例示出的一種基于分布式架構(gòu)的第三方支付系統(tǒng)的系統(tǒng)架構(gòu)圖;
圖4是本申請(qǐng)一實(shí)施例示出的一種業(yè)務(wù)調(diào)用裝置的邏輯框圖;
圖5是本申請(qǐng)一實(shí)施例示出的承載所述業(yè)務(wù)調(diào)用裝置的分布式業(yè)務(wù)系統(tǒng)所涉及的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
在相關(guān)技術(shù)中,與核心業(yè)務(wù)系統(tǒng)對(duì)接的外部系統(tǒng),為了在核心業(yè)務(wù)系統(tǒng)現(xiàn)有的業(yè)務(wù)框架下,實(shí)現(xiàn)一些個(gè)性化的業(yè)務(wù)需求,通常會(huì)在核心業(yè)務(wù)系統(tǒng)所支持的默認(rèn)業(yè)務(wù)字段的基礎(chǔ)上,自定義一些擴(kuò)展字段;
例如,以核心業(yè)務(wù)系統(tǒng)為第三方支付系統(tǒng)為例,假設(shè)與支付系統(tǒng)對(duì)接的電商平臺(tái)面向的用戶群體,具有在支付系統(tǒng)的消費(fèi)記錄中,增加一個(gè)“人工處理狀態(tài)”的擴(kuò)展字段的需求;而與支付系統(tǒng)對(duì)接的銀行面向的用戶群體,具有在支付系統(tǒng)的消費(fèi)記錄中,增加一個(gè)“發(fā)卡行信息”的擴(kuò)展字段的需求;那么,對(duì)于“人工處理狀態(tài)”字段以及“發(fā)卡行信息”字段來(lái)說(shuō),均為支付系統(tǒng)在設(shè)計(jì)之初,未定義的字段,因此“人工處理狀態(tài)”字段以及“發(fā)卡行信息”字段對(duì)于支付系統(tǒng)而言,則是擴(kuò)展字段。
然而,在實(shí)際應(yīng)用中,外部系統(tǒng)在針對(duì)核心業(yè)務(wù)系統(tǒng)執(zhí)行業(yè)務(wù)調(diào)用時(shí),通常會(huì)將自定義的擴(kuò)展字段也一起透?jìng)鹘o核心業(yè)務(wù)系統(tǒng),由核心業(yè)務(wù)系統(tǒng)來(lái)完成標(biāo)準(zhǔn)業(yè)務(wù)流程;
例如,請(qǐng)參見(jiàn)圖1,以電商平臺(tái)(即外部系統(tǒng))與第三方支付系統(tǒng)(即核心業(yè)務(wù)系統(tǒng))對(duì)接完成銀行卡支付為例,其中第三方支付系統(tǒng)可以由訂單子系統(tǒng)、支付子系統(tǒng)以及網(wǎng)關(guān)子系統(tǒng)組成。整個(gè)支付流程可以包括標(biāo)準(zhǔn)支付流程,以及擴(kuò)展流程,一共可以包括以下4個(gè)步驟:
步驟一:電商平臺(tái)可以調(diào)用訂單子系統(tǒng)的收單接口生成訂單;
步驟二:電商平臺(tái)可以調(diào)用支付子系統(tǒng)的支付接口,來(lái)支付生成的訂單,生成支付信息;
步驟三:支付系統(tǒng)內(nèi)部在接收到支付信息后,可以調(diào)用網(wǎng)關(guān)子系統(tǒng)與銀行交互,完成銀行卡支付,并獲取銀行返回的支付相關(guān)信息,然后變更支付訂單的狀態(tài)(比如支付成功或者失敗);
步驟四:電商平臺(tái)可以調(diào)用消費(fèi)記錄查詢接口,來(lái)查詢訂單、支付單據(jù)以及網(wǎng)關(guān)單據(jù)等各種信息。
其中,在以上示出的四個(gè)步驟中,步驟一至步驟三,為第三方支付系統(tǒng)的標(biāo)準(zhǔn)支付流程;電商平臺(tái)在分別執(zhí)行步驟一至步驟三中的接口調(diào)用時(shí),均會(huì)向支付系統(tǒng)內(nèi)部透?jìng)饕恍┲Ц断到y(tǒng)內(nèi)部并不需要感知的擴(kuò)展字段。
而電商平臺(tái)在執(zhí)行步驟四中的消費(fèi)記錄查詢接口的調(diào)用時(shí),通常會(huì)向第三方支付系統(tǒng)查詢透?jìng)鞯臄U(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息;由于擴(kuò)展字段通常并不被支付系統(tǒng)內(nèi)部感知,因而支付系統(tǒng)內(nèi)部的訂單子系統(tǒng)、支付子系統(tǒng)以及網(wǎng)關(guān)子系統(tǒng),在執(zhí)行上述標(biāo)準(zhǔn)業(yè)務(wù)流程時(shí),生成的訂單、支付單據(jù)以及網(wǎng)關(guān)單據(jù)中通常并不包含與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息;在這種情況下,為了滿足上述外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求,只能在上述標(biāo)準(zhǔn)業(yè)務(wù)流程結(jié)束后,依賴獨(dú)立的數(shù)據(jù)訂正流程,在得到的訂單、支付單據(jù)以及網(wǎng)關(guān)單據(jù)中分別手動(dòng)添加上述擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息。
可見(jiàn),在以上示出的業(yè)務(wù)調(diào)用流程中,至少存在以下缺陷:
第一,外部系統(tǒng)透?jìng)鹘o核心業(yè)務(wù)系統(tǒng)的擴(kuò)展字段,對(duì)于核心業(yè)務(wù)系統(tǒng)來(lái)說(shuō)并不需要感知,且無(wú)法被核心業(yè)務(wù)系統(tǒng)進(jìn)行處理,因此向核心系統(tǒng)傳入一些無(wú)法處理的擴(kuò)展字段,可能會(huì)造成核心業(yè)務(wù)系統(tǒng)系統(tǒng)開(kāi)銷過(guò)大的問(wèn)題;
第二,外部系統(tǒng)在業(yè)務(wù)調(diào)用時(shí)傳入的擴(kuò)展字段,分散在各個(gè)對(duì)外暴露調(diào)用接口的業(yè)務(wù)子系統(tǒng)中,因此對(duì)于核心業(yè)務(wù)系統(tǒng)而言,無(wú)法有效區(qū)分外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求與標(biāo)準(zhǔn)業(yè)務(wù)流程,而且分散在各業(yè)務(wù)子系統(tǒng)中的擴(kuò)展字段,可能會(huì)對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程造成影響。
第三,為滿足外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求,需要由各業(yè)務(wù)子系統(tǒng)在完成標(biāo)準(zhǔn)業(yè)務(wù)流程后,通過(guò)獨(dú)立的數(shù)據(jù)訂正流程,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的處理結(jié)果與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息分別進(jìn)行融合,并沒(méi)有統(tǒng)一的解決方案。
為了解決上述問(wèn)題,提出一種分布式業(yè)務(wù)系統(tǒng),該分布式業(yè)務(wù)系統(tǒng)在響應(yīng)外部系統(tǒng)發(fā)起的業(yè)務(wù)調(diào)用時(shí),可以將外部系統(tǒng)自定義的擴(kuò)展字段集中存儲(chǔ)至分布式系統(tǒng)中的擴(kuò)展系統(tǒng),而不再透?jìng)鹘o各業(yè)務(wù)子系統(tǒng);當(dāng)各業(yè)務(wù)子系統(tǒng)響應(yīng)于外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行完成與該業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,該分布式業(yè)務(wù)系統(tǒng)中的集成子系統(tǒng)可以基于外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于該自定義的擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,使用外部系統(tǒng)傳入的擴(kuò)展字段對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新后返回至外部系統(tǒng);
一方面,由于在整個(gè)業(yè)務(wù)調(diào)用的過(guò)程中,對(duì)外部系統(tǒng)自定義的擴(kuò)展字段進(jìn)行了集中存儲(chǔ)并進(jìn)行了隔離,擴(kuò)展字段將不再需要透?jìng)鹘o各業(yè)務(wù)子系統(tǒng),從而可以降低各業(yè)務(wù)子系統(tǒng)的系統(tǒng)開(kāi)銷;
另一方面,分布式業(yè)務(wù)系統(tǒng)在接收到外部系統(tǒng)的業(yè)務(wù)查詢時(shí),通過(guò)集成子系統(tǒng)來(lái)執(zhí)行與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程,使用該外部系統(tǒng)傳入的擴(kuò)展字段對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新后并返回給外部系統(tǒng),可以對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程與擴(kuò)展業(yè)務(wù)流程進(jìn)行隔離,使得與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程不會(huì)對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程造成影響,而且可以有效區(qū)分出標(biāo)準(zhǔn)業(yè)務(wù)流程以及外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求;
第三方面,通過(guò)集成子系統(tǒng)來(lái)執(zhí)行與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新,可以在標(biāo)準(zhǔn)業(yè)務(wù)流程結(jié)束后,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行擴(kuò)展延長(zhǎng),從而可以通過(guò)統(tǒng)一的解決方案完成標(biāo)準(zhǔn)業(yè)務(wù)處理流程的業(yè)務(wù)處理結(jié)果與擴(kuò)展字段的融合;而且,對(duì)于外部系統(tǒng)中的用戶而言,可以通過(guò)向核心業(yè)務(wù)系統(tǒng)傳入擴(kuò)展字段,在不修改核心業(yè)務(wù)系統(tǒng)中的各業(yè)務(wù)子系統(tǒng)的前提下,對(duì)核心業(yè)務(wù)系統(tǒng)的標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行更改,因而可以大幅提升核心業(yè)務(wù)系統(tǒng)的業(yè)務(wù)靈活性。
下面通過(guò)具體實(shí)施例并結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本申請(qǐng)進(jìn)行描述。
請(qǐng)參考圖2,圖2是本申請(qǐng)一實(shí)施例提供的一種業(yè)務(wù)調(diào)用方法,應(yīng)用于分布式業(yè)務(wù)系統(tǒng),所述方法執(zhí)行以下步驟:
步驟201,獲取外部系統(tǒng)在發(fā)起針對(duì)各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用時(shí)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù),并判斷所述業(yè)務(wù)調(diào)用數(shù)據(jù)中是否攜帶擴(kuò)展字段;如果所述業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶擴(kuò)展字段,將所述擴(kuò)展字段集中存儲(chǔ)至所述擴(kuò)展子系統(tǒng);
在本例中,上述分布式業(yè)務(wù)系統(tǒng),可以由擴(kuò)展子系統(tǒng)、集成子系統(tǒng)以及核心業(yè)務(wù)系統(tǒng)組成;
擴(kuò)展子系統(tǒng),用于集中存儲(chǔ)外部系統(tǒng)在對(duì)核心業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)調(diào)用時(shí),透?jìng)鞯臄U(kuò)展字段。
核心業(yè)務(wù)系統(tǒng),可以由若干個(gè)業(yè)務(wù)子系統(tǒng)組成,用于響應(yīng)外部系統(tǒng)的業(yè)務(wù)調(diào)用,來(lái)執(zhí)行對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程;
例如,以上述分布式業(yè)務(wù)系統(tǒng)為基于分布式架構(gòu)的第三方支付系統(tǒng)為例,該核心業(yè)務(wù)系統(tǒng)可以由訂單子系統(tǒng)、支付子系統(tǒng)以及網(wǎng)關(guān)子系統(tǒng)組成,
其中,需要說(shuō)明的是,由于擴(kuò)展字段將會(huì)集中存儲(chǔ)在擴(kuò)展子系統(tǒng)中,將不再被透?jìng)髦粮鳂I(yè)務(wù)子系統(tǒng),因此各業(yè)務(wù)子系統(tǒng)在執(zhí)行標(biāo)準(zhǔn)業(yè)務(wù)流程時(shí),將不會(huì)受到透?jìng)髦帘镜氐臄U(kuò)展字段的影響。
集成子系統(tǒng),用于在核心業(yè)務(wù)系統(tǒng)完成標(biāo)準(zhǔn)業(yè)務(wù)流程后,響應(yīng)于外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于與擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,基于外部系統(tǒng)傳入的擴(kuò)展字段對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新,并向外部系統(tǒng)返回查詢結(jié)果。
需要說(shuō)明的是,承載上述分布式業(yè)務(wù)系統(tǒng)以及各子系統(tǒng)的硬件架構(gòu),在本例中不進(jìn)行特別限定,在實(shí)際應(yīng)用中,可以是服務(wù)器、服務(wù)器集群,或者基于服務(wù)器集群搭建的業(yè)務(wù)平臺(tái)。
在本例中,上述分布式業(yè)務(wù)系統(tǒng),可以通過(guò)一個(gè)網(wǎng)關(guān)接口與外部系統(tǒng)進(jìn)行業(yè)務(wù)對(duì)接;當(dāng)外部系統(tǒng)發(fā)起針對(duì)核心業(yè)務(wù)系統(tǒng)中各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用時(shí),該分布式業(yè)務(wù)系統(tǒng)可以通過(guò)上述網(wǎng)關(guān)接口,來(lái)接收外部系統(tǒng)針對(duì)系統(tǒng)內(nèi)內(nèi)部的各業(yè)務(wù)子系統(tǒng)對(duì)應(yīng)的業(yè)務(wù)調(diào)用接口進(jìn)行調(diào)用時(shí),傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù)。
其中,上述外部系統(tǒng),是指與核心業(yè)務(wù)系統(tǒng)存在業(yè)務(wù)調(diào)用關(guān)系的第三方系統(tǒng);例如,以核心業(yè)務(wù)系統(tǒng)為支付系統(tǒng)為例,上述外部系統(tǒng)可以是與該支付系統(tǒng)對(duì)接的第三方的電商平臺(tái),也可以是與該支付系統(tǒng)對(duì)接的銀行。
當(dāng)上述分布式業(yè)務(wù)系統(tǒng)通過(guò)上述網(wǎng)關(guān)接口,接收到外部系統(tǒng)在調(diào)用系統(tǒng)內(nèi)部的業(yè)務(wù)子系統(tǒng)時(shí)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù)后,由于該業(yè)務(wù)調(diào)用數(shù)據(jù)中可能攜帶外部系統(tǒng)自定義的擴(kuò)展字段,因此上述分布式業(yè)務(wù)系統(tǒng)可以在上述網(wǎng)關(guān)接口處,解析該業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶的擴(kuò)展字段。
一方面,如果該業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶擴(kuò)展字段,此時(shí)可以將解析出的擴(kuò)展字段從該業(yè)務(wù)調(diào)用數(shù)據(jù)中分離,然后將解析出的擴(kuò)展字段集中存儲(chǔ)至上述擴(kuò)展系統(tǒng)。另一方面,當(dāng)將解析出的擴(kuò)展字段從上述業(yè)務(wù)調(diào)用數(shù)據(jù)中分離后,還可以繼續(xù)將該業(yè)務(wù)調(diào)用數(shù)據(jù)提交至對(duì)應(yīng)的業(yè)務(wù)子系統(tǒng)進(jìn)行后續(xù)的業(yè)務(wù)處理。此時(shí)傳遞至該業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用數(shù)據(jù)中,將不再攜帶外部系統(tǒng)自定義的擴(kuò)展字段。當(dāng)然,如果上述業(yè)務(wù)調(diào)用數(shù)據(jù)中未攜帶擴(kuò)展字段,此時(shí)可以繼續(xù)將該業(yè)務(wù)調(diào)用數(shù)據(jù)提交至對(duì)應(yīng)的業(yè)務(wù)子系統(tǒng)進(jìn)行后續(xù)的業(yè)務(wù)處理即可。
通過(guò)這種方式,外部系統(tǒng)在按照一定的業(yè)務(wù)調(diào)用順序,針對(duì)分布式業(yè)務(wù)系統(tǒng)內(nèi)部的各業(yè)務(wù)子系統(tǒng)依次進(jìn)行業(yè)務(wù)調(diào)用時(shí),分布式業(yè)務(wù)系統(tǒng)可以在與外部系統(tǒng)對(duì)接的網(wǎng)關(guān)接口處,將外部系統(tǒng)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶的擴(kuò)展字段,以及核心業(yè)務(wù)系統(tǒng)支持的默認(rèn)業(yè)務(wù)字段進(jìn)行分離。
另外,需要說(shuō)明的是,對(duì)于集中存儲(chǔ)在上述擴(kuò)展子系統(tǒng)中的擴(kuò)展字段,可以由外部系統(tǒng)在任意時(shí)刻進(jìn)行更新。而上述分布式業(yè)務(wù)系統(tǒng),則可以響應(yīng)于該外部系統(tǒng)在任意時(shí)刻發(fā)起的擴(kuò)展字段更新操作,對(duì)上述擴(kuò)展子系統(tǒng)中集中存儲(chǔ)的擴(kuò)展字段執(zhí)行更新。
其中,針對(duì)擴(kuò)展子系統(tǒng)的更新操作,可以包括新增擴(kuò)展字段、修改擴(kuò)展字段以及刪除擴(kuò)展字段等操作。
例如,除了以上示出的外部系統(tǒng)可以將自定義的擴(kuò)展字段,在針對(duì)上述核心業(yè)務(wù)系統(tǒng)中的各業(yè)務(wù)子系統(tǒng)執(zhí)行業(yè)務(wù)調(diào)用時(shí),攜帶在需要傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù)中通過(guò)上述網(wǎng)關(guān)接口一并傳入上述分布式系統(tǒng)以外,在實(shí)際應(yīng)用中,上述擴(kuò)展字段也可以在外部系統(tǒng)在發(fā)起上述業(yè)務(wù)調(diào)用的過(guò)程中,或者在業(yè)務(wù)調(diào)用結(jié)束后的任意時(shí)刻傳入。而外部系統(tǒng)在接收到外部系統(tǒng)在上述業(yè)務(wù)調(diào)用的過(guò)程中,或者在業(yè)務(wù)調(diào)用結(jié)束后任意時(shí)刻傳入的擴(kuò)展字段時(shí),可以將該擴(kuò)展字段作為新增字段集中存儲(chǔ)至上述集成子系統(tǒng)。
當(dāng)然,除了新增擴(kuò)展字段以外,當(dāng)將外部系統(tǒng)在針對(duì)核心業(yè)務(wù)系統(tǒng)發(fā)起業(yè)務(wù)調(diào)用時(shí)傳入的擴(kuò)展字段集中存儲(chǔ)至上述集成子系統(tǒng)后,外部系統(tǒng)也可以在上述業(yè)務(wù)調(diào)用的過(guò)程中,或者在業(yè)務(wù)調(diào)用結(jié)束后任意時(shí)刻傳入的新的擴(kuò)展字段,對(duì)擴(kuò)展字段中存儲(chǔ)的原有的擴(kuò)展字段執(zhí)行更新;或者,外部系統(tǒng)也可以在上述業(yè)務(wù)調(diào)用的過(guò)程中,或者在業(yè)務(wù)調(diào)用結(jié)束后任意時(shí)刻對(duì)集成子系統(tǒng)中存儲(chǔ)的已傳入的擴(kuò)展字段執(zhí)行刪除。
通過(guò)以上描述可知,在本例中,外部系統(tǒng)在向分布式業(yè)務(wù)系統(tǒng)傳入擴(kuò)展字段時(shí),可以在針對(duì)核心業(yè)務(wù)系統(tǒng)發(fā)起業(yè)務(wù)調(diào)用時(shí)隨業(yè)務(wù)調(diào)用數(shù)據(jù)一起傳入,也可以在發(fā)起業(yè)務(wù)調(diào)用的過(guò)程中,或者業(yè)務(wù)調(diào)用結(jié)束后的任意時(shí)刻單獨(dú)傳入;而且,對(duì)于擴(kuò)展子系統(tǒng)中集中存儲(chǔ)的擴(kuò)展字段,外部系統(tǒng)也可以基于實(shí)際的業(yè)務(wù)需求,在任意時(shí)刻進(jìn)行主動(dòng)更新,從而可以提升業(yè)務(wù)的靈活性。
步驟202,各業(yè)務(wù)子系統(tǒng)響應(yīng)于所述外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程。
在本例中,外部系統(tǒng)可以按照一定的業(yè)務(wù)調(diào)用順序,依次調(diào)用核心業(yè)務(wù)系統(tǒng)中的各業(yè)務(wù)子系統(tǒng)。當(dāng)系統(tǒng)內(nèi)部的各業(yè)務(wù)子系統(tǒng),在接收到外部系統(tǒng)通過(guò)上述網(wǎng)關(guān)接口提交至本地的業(yè)務(wù)調(diào)用數(shù)據(jù)時(shí),可以分別響應(yīng)外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程。
例如,當(dāng)上述核心業(yè)務(wù)系統(tǒng)為由訂單子系統(tǒng)、支付子系統(tǒng)以及與銀行對(duì)接的網(wǎng)關(guān)子系統(tǒng)組成的第三方支付系統(tǒng)時(shí),作為外部系統(tǒng)的電商平臺(tái),可以按照順序首先調(diào)用訂單子系統(tǒng)生成訂單,其次調(diào)用支付子系統(tǒng)完成訂單支付,最后在系統(tǒng)內(nèi)部調(diào)用網(wǎng)關(guān)子系統(tǒng)與銀行交互,完成銀行卡支付。在這種情況下,上述標(biāo)準(zhǔn)業(yè)務(wù)流程則可以是一次完整的基于電商平臺(tái)與第三方支付系統(tǒng)對(duì)接完成銀行卡支付的流程。
由于外部系統(tǒng)通過(guò)網(wǎng)關(guān)接口提交至各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶的擴(kuò)展字段,已在上述網(wǎng)關(guān)接口處進(jìn)行了分離,因此各業(yè)務(wù)子系統(tǒng)在響應(yīng)外部系統(tǒng)的業(yè)務(wù)調(diào)用時(shí),不再需要執(zhí)行與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程,僅執(zhí)行標(biāo)準(zhǔn)業(yè)務(wù)流程即可。
可見(jiàn),通過(guò)這種方式,可以實(shí)現(xiàn)對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程,以及與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程的隔離,使得與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展業(yè)務(wù)流程不會(huì)對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程造成影響;而且,對(duì)于核心業(yè)務(wù)系統(tǒng)而言,還能夠有效區(qū)分外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求與標(biāo)準(zhǔn)業(yè)務(wù)流程。
步驟203,當(dāng)各業(yè)務(wù)子系統(tǒng)完成與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,集成子系統(tǒng)響應(yīng)于所述外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于與所述擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,基于所述擴(kuò)展字段對(duì)所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新后返回至所述外部系統(tǒng)。
在本例中,各業(yè)務(wù)子系統(tǒng)在互相配合完成上述標(biāo)準(zhǔn)業(yè)務(wù)流程后:
一方面,可以通過(guò)上述網(wǎng)關(guān)接口向上述外部系統(tǒng)返回一個(gè)業(yè)務(wù)是否成功執(zhí)行的回執(zhí)信息,以告知外部系統(tǒng)本次業(yè)務(wù)調(diào)用是否成功響應(yīng);例如,當(dāng)上述業(yè)務(wù)調(diào)用為支付調(diào)用時(shí),上述回執(zhí)信息可以是一個(gè)是否支付成功的通知消息;
另一方面,可以將完成上述標(biāo)準(zhǔn)業(yè)務(wù)流程后,得到的業(yè)務(wù)處理結(jié)果進(jìn)行存儲(chǔ),并面向外部系統(tǒng)開(kāi)放相應(yīng)的查詢接口,以供外部系統(tǒng)對(duì)上述業(yè)務(wù)處理結(jié)果進(jìn)行調(diào)用和查詢。
其中,需要說(shuō)明的是,由于外部系統(tǒng)通過(guò)上述網(wǎng)關(guān)接口提交至各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用數(shù)據(jù)中所攜帶的擴(kuò)展字段,已經(jīng)預(yù)先進(jìn)行了分離,因而在完成上述標(biāo)準(zhǔn)業(yè)務(wù)流程后所得到的業(yè)務(wù)處理結(jié)果中,將僅包含核心業(yè)務(wù)系統(tǒng)所支持的默認(rèn)業(yè)務(wù)字段。
在本例中,上述集成子系統(tǒng)中可以預(yù)配置對(duì)應(yīng)于上述外部系統(tǒng)的擴(kuò)展業(yè)務(wù)規(guī)則;該擴(kuò)展業(yè)務(wù)規(guī)則,用于對(duì)各業(yè)務(wù)子系統(tǒng)完成標(biāo)準(zhǔn)業(yè)務(wù)流程后的業(yè)務(wù)處理結(jié)果中所包含的默認(rèn)業(yè)務(wù)字段,與外部系統(tǒng)自定義的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息進(jìn)行融合,基于外部系統(tǒng)傳入的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程后的業(yè)務(wù)處理結(jié)果中所包含的默認(rèn)業(yè)務(wù)字段對(duì)應(yīng)的業(yè)務(wù)信息進(jìn)行修改更新。
例如,在實(shí)際應(yīng)用中,與集成子系統(tǒng)對(duì)接的外部系統(tǒng)的業(yè)務(wù)開(kāi)發(fā)人員,可以基于實(shí)際的個(gè)性化業(yè)務(wù)需求,在集成子系統(tǒng)上配置相應(yīng)的擴(kuò)展業(yè)務(wù),從而使得集成子系統(tǒng)可以基于預(yù)配置的擴(kuò)展業(yè)務(wù)規(guī)則,基于外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求,對(duì)核心業(yè)務(wù)系統(tǒng)所支持的默認(rèn)業(yè)務(wù)字段,與外部系統(tǒng)自定義的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息進(jìn)行融合。
其中,需要說(shuō)明的是,集成子系統(tǒng)上預(yù)配置的擴(kuò)展業(yè)務(wù)規(guī)則對(duì)應(yīng)的處理邏輯,在本例中不進(jìn)行特別限定,外部系統(tǒng)的業(yè)務(wù)開(kāi)發(fā)人員可以基于實(shí)際的個(gè)性化需求進(jìn)行自定義;
例如,上述擴(kuò)展業(yè)務(wù)規(guī)則對(duì)應(yīng)的處理邏輯,可以是在各業(yè)務(wù)子系統(tǒng)在完成標(biāo)準(zhǔn)業(yè)務(wù)流程后得到的業(yè)務(wù)處理結(jié)果中所包括的若干默認(rèn)業(yè)務(wù)字段的基礎(chǔ)上,增加擴(kuò)展字段,或者將指定的默認(rèn)業(yè)務(wù)字段替換為擴(kuò)展字段。
在本例中,外部系統(tǒng)在接收到業(yè)務(wù)調(diào)用成功的回執(zhí)信息后,作為本次業(yè)務(wù)調(diào)用的發(fā)起方,還可以通過(guò)上述外部系統(tǒng)來(lái)進(jìn)一步查詢上述業(yè)務(wù)調(diào)用的業(yè)務(wù)處理結(jié)果。此時(shí)該發(fā)起方需要查詢的業(yè)務(wù)處理結(jié)果中,既需要包含上述核心業(yè)務(wù)系統(tǒng)支持的默認(rèn)業(yè)務(wù)字段對(duì)應(yīng)的業(yè)務(wù)信息,也需要包含外部系統(tǒng)自定義的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息。
因此,在這種情況下,當(dāng)上述發(fā)起方通過(guò)上述外部系統(tǒng)發(fā)起業(yè)務(wù)處理結(jié)果的查詢后,外部系統(tǒng)可以通過(guò)上述網(wǎng)關(guān)接口,向上述分布式業(yè)務(wù)系統(tǒng)發(fā)送一個(gè)業(yè)務(wù)查詢請(qǐng)求。而上述分布式業(yè)務(wù)系統(tǒng)在接收到該業(yè)務(wù)查詢請(qǐng)求后,可以將該查詢請(qǐng)求提交至上述集成子系統(tǒng)繼續(xù)進(jìn)行處理。
在本例中,當(dāng)集成子系統(tǒng)在接收到外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢請(qǐng)求后,可以響應(yīng)外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,來(lái)執(zhí)行對(duì)應(yīng)于該外部系統(tǒng)在發(fā)起業(yè)務(wù)調(diào)用時(shí)傳入的擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,對(duì)上述業(yè)務(wù)處理結(jié)果中核心業(yè)務(wù)系統(tǒng)支持的默認(rèn)業(yè)務(wù)字段對(duì)應(yīng)的業(yè)務(wù)信息,與該外部系統(tǒng)在發(fā)起業(yè)務(wù)調(diào)用時(shí)傳入的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息進(jìn)行融合,基于外部系統(tǒng)傳入的擴(kuò)展字段對(duì)上述業(yè)務(wù)處理結(jié)果進(jìn)行修改更新。
具體的,當(dāng)集成子系統(tǒng)在接收到外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢請(qǐng)求后,首先可以獲取預(yù)配置的對(duì)應(yīng)于該外部系統(tǒng)的擴(kuò)展業(yè)務(wù)規(guī)則,然后分別調(diào)用各業(yè)務(wù)子系統(tǒng)在完成標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果,以及擴(kuò)展子系統(tǒng)中存儲(chǔ)的該外部系統(tǒng)傳入的擴(kuò)展字段(包括在發(fā)起業(yè)務(wù)調(diào)用時(shí)傳入的擴(kuò)展字段,以及在業(yè)務(wù)調(diào)用過(guò)程中或者業(yè)務(wù)調(diào)用結(jié)束后任意時(shí)刻傳入的擴(kuò)展字段)對(duì)應(yīng)的擴(kuò)展信息。
最后,集成子系統(tǒng)可以基于獲取到的為該業(yè)務(wù)子系統(tǒng)預(yù)配置的擴(kuò)展業(yè)務(wù)規(guī)則,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果中的默認(rèn)業(yè)務(wù)字段對(duì)應(yīng)的業(yè)務(wù)信息,與上述擴(kuò)展字段對(duì)應(yīng)的信息進(jìn)行融合,使用與擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息,對(duì)上述業(yè)務(wù)處理結(jié)果進(jìn)行修改更新,生成對(duì)應(yīng)的業(yè)務(wù)查詢記錄,然后將該業(yè)務(wù)查詢記錄作為查詢結(jié)果返回給上述業(yè)務(wù)系統(tǒng)。
此時(shí)生成的該業(yè)務(wù)記錄中,將同時(shí)包含核心業(yè)務(wù)系統(tǒng)支持的默認(rèn)業(yè)務(wù)字段對(duì)應(yīng)的業(yè)務(wù)信息,以及上述外部系統(tǒng)自定義的擴(kuò)展字段對(duì)應(yīng)的擴(kuò)展信息,從而能夠正常滿足上述外部系統(tǒng)的個(gè)性化業(yè)務(wù)需求。
可見(jiàn),通過(guò)這種方式,可以在標(biāo)準(zhǔn)業(yè)務(wù)流程結(jié)束后,對(duì)標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行擴(kuò)展延長(zhǎng),從而可以通過(guò)統(tǒng)一的解決方案完成標(biāo)準(zhǔn)業(yè)務(wù)處理流程的業(yè)務(wù)處理結(jié)果與擴(kuò)展字段的融合。而且,對(duì)于外部系統(tǒng)中的用戶而言,可以通過(guò)向核心業(yè)務(wù)系統(tǒng)傳入擴(kuò)展字段,在不修改核心業(yè)務(wù)系統(tǒng)中的各業(yè)務(wù)子系統(tǒng)的前提下,對(duì)核心業(yè)務(wù)系統(tǒng)的標(biāo)準(zhǔn)業(yè)務(wù)流程進(jìn)行更改,因而可以大幅提升核心業(yè)務(wù)系統(tǒng)的業(yè)務(wù)靈活性。
以下結(jié)合電商平臺(tái)與第三方支付系統(tǒng)對(duì)接完成銀行卡支付為例,對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行描述。
在本例中,上述分布式業(yè)務(wù)系統(tǒng),可以基于分布式架構(gòu)的第三方支付系統(tǒng),該第三方支付系統(tǒng)可以包括核心支付系統(tǒng)(paycore)、擴(kuò)展子系統(tǒng)、集成子系統(tǒng);其中,核心支付系統(tǒng)有收單子系統(tǒng)、支付子系統(tǒng)以及與銀行對(duì)接的網(wǎng)關(guān)子系統(tǒng)(即支付網(wǎng)關(guān))組成。上述外部系統(tǒng),可以是與上述第三方支付系統(tǒng)對(duì)接的電商平臺(tái)或者銀行。
請(qǐng)參見(jiàn)圖3,圖3為本例示出的一種基于分布式架構(gòu)的第三方支付系統(tǒng)的系統(tǒng)架構(gòu)圖。
如圖3所示,所述第三方支付系統(tǒng)包括核心支付系統(tǒng)(cprepay)、擴(kuò)展系統(tǒng)以及集成子系統(tǒng)。其中,核心支付系統(tǒng)由訂單子系統(tǒng)、支付子系統(tǒng)以及與銀行對(duì)接的網(wǎng)關(guān)子系統(tǒng)組成。
以下基于圖3中示出的系統(tǒng)架構(gòu)圖并結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行詳細(xì)描述。
應(yīng)用場(chǎng)景一:
假設(shè)用戶通過(guò)電商平臺(tái)調(diào)用第三方支付系統(tǒng),來(lái)完成將支付系統(tǒng)中的支付余額提現(xiàn)至銀行卡的提現(xiàn)流程。
在本例中,用戶可以通過(guò)電商平臺(tái)將第三方支付系統(tǒng)中的支付余額,提現(xiàn)至銀行卡,并且當(dāng)用戶提現(xiàn)失敗時(shí),電商平臺(tái)可以支持人工處理將用戶的提現(xiàn)金額轉(zhuǎn)賬至用戶的銀行卡。
一方面,電商平臺(tái)在針對(duì)第三方支付系統(tǒng)發(fā)起提現(xiàn)調(diào)用時(shí),可以基于這一個(gè)性化的業(yè)務(wù)需求,在消費(fèi)記錄中自定義一個(gè)擴(kuò)展字段“人工處理狀態(tài)”。
另一方面,電商平臺(tái)的開(kāi)發(fā)人員可以在集成子系統(tǒng)中預(yù)配置將消費(fèi)記錄中的“訂單狀態(tài)”這一默認(rèn)業(yè)務(wù)字段,替換為上述自定義的“人工處理狀態(tài)”這一擴(kuò)展字段的擴(kuò)展業(yè)務(wù)規(guī)則。
當(dāng)用戶需要將支付系統(tǒng)中的支付余額提現(xiàn)至銀行卡時(shí),可以通過(guò)電商平臺(tái),調(diào)用訂單子系統(tǒng)的收單接口生成提現(xiàn)訂單;調(diào)用支付子系統(tǒng)的支付接口,來(lái)支付該提現(xiàn)訂單,生成提現(xiàn)信息;支付平臺(tái)系統(tǒng)內(nèi)部在收到提現(xiàn)信息后,可以調(diào)用網(wǎng)關(guān)子系統(tǒng)與銀行交互,完成提現(xiàn)至銀行卡的操作,并獲取銀行返回的提現(xiàn)相關(guān)信息,然后變更提現(xiàn)訂單的狀態(tài)(提現(xiàn)失敗或者提現(xiàn)成功),以完成提現(xiàn)至銀行卡的標(biāo)準(zhǔn)業(yè)務(wù)流程。
其中,用戶在通過(guò)電商平臺(tái)調(diào)用上述各接口,完成提現(xiàn)至銀行卡的標(biāo)準(zhǔn)業(yè)務(wù)流程的過(guò)程中,還可以向支付系統(tǒng)傳入電商平臺(tái)自定義的擴(kuò)展字段“人工處理狀態(tài)”。支付平臺(tái)可以將擴(kuò)展字段“人工處理狀態(tài)”對(duì)應(yīng)的擴(kuò)展信息,隔離存儲(chǔ)至集成子系統(tǒng),而并不進(jìn)行透?jìng)鳌?/p>
假設(shè)上述第三方支付系統(tǒng)完成提現(xiàn)至銀行卡的標(biāo)準(zhǔn)業(yè)務(wù)流程后,銀行出現(xiàn)業(yè)務(wù)異常導(dǎo)致提現(xiàn)失敗,那么在該第三方支付系統(tǒng)在完成上述提現(xiàn)至銀行卡的標(biāo)準(zhǔn)業(yè)務(wù)流程后,與提現(xiàn)訂單對(duì)應(yīng)的消費(fèi)記錄中“提現(xiàn)狀態(tài)”這一默認(rèn)業(yè)務(wù)字段所指示的狀態(tài)會(huì)變更為“提現(xiàn)失敗”。
由于發(fā)生提現(xiàn)失敗,電商平臺(tái)可以由人工處理將用戶的提現(xiàn)金額轉(zhuǎn)賬至用戶的銀行卡,并在提現(xiàn)成功后,將集成子系統(tǒng)中存儲(chǔ)的擴(kuò)展字段“人工處理狀態(tài)”所指示的狀態(tài)更改為“人工完成提現(xiàn)”。
當(dāng)用戶成功將支付余額體現(xiàn)至銀行卡后,還可以通過(guò)電商平臺(tái)向該第三方支付系統(tǒng)發(fā)起消費(fèi)記錄查詢,來(lái)查看本次提現(xiàn)操作的提現(xiàn)訂單的詳情信息。第三方支付系統(tǒng)中的集成子系統(tǒng)可以響應(yīng)用戶發(fā)起的查詢操作,調(diào)用在完成提現(xiàn)至銀行卡的標(biāo)準(zhǔn)業(yè)務(wù)流程后的提現(xiàn)訂單,以及擴(kuò)展子系統(tǒng)中存儲(chǔ)的擴(kuò)展字段“人工處理狀態(tài)”,然后基于電商平臺(tái)的業(yè)務(wù)開(kāi)發(fā)人員預(yù)配置擴(kuò)展業(yè)務(wù)規(guī)則,將該提現(xiàn)訂單中“訂單狀態(tài)”這一默認(rèn)業(yè)務(wù)字段替換為擴(kuò)展字段“人工處理狀態(tài)”,完成對(duì)消費(fèi)記錄的修改。
當(dāng)消費(fèi)記錄修改完成后,該提現(xiàn)訂單的訂單狀態(tài),將由“提現(xiàn)失敗”變更為“人工完成提現(xiàn)”。當(dāng)集成子系統(tǒng)將訂單狀態(tài)替換完成的消費(fèi)記錄返回至外部系統(tǒng)后,用戶通過(guò)查看該消費(fèi)記錄的詳情信息,可以了解到該提現(xiàn)訂單的狀態(tài)為人工完成提現(xiàn)”(而不是提現(xiàn)失敗),本次提現(xiàn)至銀行卡的操作是由電商平臺(tái)人工處理完成的。
應(yīng)用場(chǎng)景二:
假設(shè)用戶通過(guò)電商平臺(tái)調(diào)用第三方支付系統(tǒng),來(lái)完成利用銀行卡余額的充值流程。
在本例中,用戶可以通過(guò)電商平臺(tái)使用銀行卡余額,來(lái)完成在線充值。
一方面,電商平臺(tái)基于個(gè)性化的業(yè)務(wù)需求,可以在消費(fèi)記錄中自定義一個(gè)擴(kuò)展字段“發(fā)卡行信息”。
另一方面,電商平臺(tái)的開(kāi)發(fā)人員可以在集成子系統(tǒng)中預(yù)配置將消費(fèi)記錄中增加上述自定義的“發(fā)卡行信息”這一擴(kuò)展字段的擴(kuò)展業(yè)務(wù)規(guī)則。
當(dāng)用戶需要通過(guò)支付系統(tǒng)使用銀行卡余額來(lái)完成在線充值時(shí),可以通過(guò)電商平臺(tái),調(diào)用訂單子系統(tǒng)的收單接口生成充值訂單;調(diào)用支付子系統(tǒng)的支付接口,來(lái)支付該充值訂單,生成充值信息;支付平臺(tái)系統(tǒng)內(nèi)部在收到充值信息后,可以調(diào)用網(wǎng)關(guān)子系統(tǒng)與銀行交互,完成使用銀行卡余額的充值操作,并獲取銀行返回的充值相關(guān)信息,然后變更充值訂單的狀態(tài)(充值失敗或者充值成功),以完成使用銀行卡余額進(jìn)行充值的標(biāo)準(zhǔn)業(yè)務(wù)流程。
其中,用戶在通過(guò)電商平臺(tái)調(diào)用上述各接口,完成使用銀行卡余額進(jìn)行充值的標(biāo)準(zhǔn)業(yè)務(wù)流程的過(guò)程中,還可以向支付系統(tǒng)傳入電商平臺(tái)自定義的擴(kuò)展字段“發(fā)卡行信息”。支付平臺(tái)可以將擴(kuò)展字段“發(fā)卡行信息”對(duì)應(yīng)的擴(kuò)展信息隔離存儲(chǔ)至集成子系統(tǒng),而并不進(jìn)行透?jìng)鳌?/p>
假設(shè)用戶通過(guò)上述第三方支付系統(tǒng)使用銀行卡余額成功的完成了充值后,第三方支付系統(tǒng)收到了銀行返回了發(fā)卡行信息,此時(shí)可以將接收到的發(fā)卡行信息存儲(chǔ)至集成子系統(tǒng)中的擴(kuò)展字段“發(fā)卡行信息”中。
當(dāng)用戶成功充值后,還可以通過(guò)電商平臺(tái)向該第三方支付系統(tǒng)發(fā)起消費(fèi)記錄查詢,來(lái)查看本次充值操作的充值訂單的詳情信息。第三方支付系統(tǒng)中的集成子系統(tǒng)可以響應(yīng)用戶發(fā)起的查詢操作,調(diào)用在使用銀行卡余額進(jìn)行充值的標(biāo)準(zhǔn)業(yè)務(wù)流程后的充值訂單,以及擴(kuò)展子系統(tǒng)中存儲(chǔ)的擴(kuò)展字段“發(fā)卡行信息”,然后基于電商平臺(tái)的業(yè)務(wù)開(kāi)發(fā)人員預(yù)配置擴(kuò)展業(yè)務(wù)規(guī)則,在與本次充值操作對(duì)應(yīng)的消費(fèi)記錄中增加上述自定義的“發(fā)卡行信息”這一擴(kuò)展字段,以完成消費(fèi)記錄的修改。
當(dāng)消費(fèi)記錄修改后,與本次充值操作對(duì)應(yīng)的消費(fèi)記錄中將會(huì)記錄本次充值所使用的銀行卡的發(fā)卡行信息。當(dāng)集成子系統(tǒng)將該消費(fèi)記錄返回至外部系統(tǒng)后,用戶通過(guò)查看該消費(fèi)記錄的詳情信息,可以了解到本次充值操作所使用的銀行卡的發(fā)卡行信息(消費(fèi)記錄的默認(rèn)格式中不包含發(fā)卡行信息)。
需要說(shuō)明的是,以上示出的應(yīng)用場(chǎng)景僅為示例性的,并不用于限定;即在實(shí)際應(yīng)用中,本申請(qǐng)記載的技術(shù)方案,也可以在與以上示出的應(yīng)用場(chǎng)景類型的其它應(yīng)用場(chǎng)景中等同實(shí)施,在本例中不再進(jìn)行一一列舉。
與上述方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了裝置的實(shí)施例。
請(qǐng)參見(jiàn)圖4,本申請(qǐng)?zhí)岢鲆环N業(yè)務(wù)調(diào)用裝置40,應(yīng)用于遠(yuǎn)程調(diào)用的發(fā)起端;其中,請(qǐng)參見(jiàn)圖5,作為承載所述業(yè)務(wù)調(diào)用裝置40的分布式業(yè)務(wù)系統(tǒng)所涉及的硬件架構(gòu)中,通常包括cpu、內(nèi)存、非易失性存儲(chǔ)器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實(shí)現(xiàn)為例,所述業(yè)務(wù)調(diào)用裝置40通常可以理解為加載在內(nèi)存中的計(jì)算機(jī)程序,通過(guò)cpu運(yùn)行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置40包括:
存儲(chǔ)模塊401,獲取外部系統(tǒng)在發(fā)起針對(duì)各業(yè)務(wù)子系統(tǒng)的業(yè)務(wù)調(diào)用時(shí)傳遞的業(yè)務(wù)調(diào)用數(shù)據(jù),并判斷所述業(yè)務(wù)調(diào)用數(shù)據(jù)中是否攜帶擴(kuò)展字段;如果所述業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶擴(kuò)展字段,將所述擴(kuò)展字段集中存儲(chǔ)至所述擴(kuò)展子系統(tǒng);
執(zhí)行模塊402,各業(yè)務(wù)子系統(tǒng)響應(yīng)于所述外部系統(tǒng)的業(yè)務(wù)調(diào)用,執(zhí)行與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程;
更新模塊403,當(dāng)各業(yè)務(wù)子系統(tǒng)完成與所述業(yè)務(wù)調(diào)用對(duì)應(yīng)的標(biāo)準(zhǔn)業(yè)務(wù)流程后,集成子系統(tǒng)響應(yīng)于所述外部系統(tǒng)發(fā)起的業(yè)務(wù)查詢,執(zhí)行對(duì)應(yīng)于與所述擴(kuò)展字段的擴(kuò)展業(yè)務(wù)流程,基于所述擴(kuò)展字段對(duì)所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新并返回至所述外部系統(tǒng)。
在本例中,所述存儲(chǔ)模塊401具體用于:
解析所述業(yè)務(wù)調(diào)用數(shù)據(jù)中攜帶的擴(kuò)展字段;
將解析出的擴(kuò)展字段從所述業(yè)務(wù)調(diào)用數(shù)據(jù)中分離,并將分離出的擴(kuò)展字段集中存儲(chǔ)至所述擴(kuò)展子系統(tǒng)。
在本例中,所述存儲(chǔ)模塊401進(jìn)一步用于:
將解析出的擴(kuò)展字段從所述業(yè)務(wù)調(diào)用數(shù)據(jù)中分離后,將所述業(yè)務(wù)調(diào)用數(shù)據(jù)提交至對(duì)應(yīng)的業(yè)務(wù)子系統(tǒng)進(jìn)行業(yè)務(wù)處理。
在本例中,所述更新模塊403進(jìn)一步用于:
響應(yīng)于所述外部系統(tǒng)在任意時(shí)刻發(fā)起的擴(kuò)展字段更新操作,對(duì)所述擴(kuò)展子系統(tǒng)中集中存儲(chǔ)的擴(kuò)展字段執(zhí)行更新。
在本例中,所述集成子系統(tǒng)中預(yù)配置了對(duì)應(yīng)于所述外部系統(tǒng)的擴(kuò)展業(yè)務(wù)規(guī)則;其中,當(dāng)所述集成子系統(tǒng)與多個(gè)不同的外部系統(tǒng)對(duì)接時(shí),所述集成子系統(tǒng)中將分別預(yù)配置對(duì)應(yīng)于所述多個(gè)不同的外部系統(tǒng)的擴(kuò)展業(yè)務(wù)規(guī)則;
所述更新模塊403具體用于:
獲取預(yù)配置的對(duì)應(yīng)于所述外部系統(tǒng)的擴(kuò)展業(yè)務(wù)規(guī)則;
調(diào)用所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果,以及調(diào)用所述擴(kuò)展子系統(tǒng)中存儲(chǔ)的與所述外部系統(tǒng)對(duì)應(yīng)的擴(kuò)展字段;
基于所述擴(kuò)展業(yè)務(wù)規(guī)則以及所述擴(kuò)展字段,針對(duì)所述標(biāo)準(zhǔn)業(yè)務(wù)流程的業(yè)務(wù)處理結(jié)果進(jìn)行修改更新生成對(duì)應(yīng)的業(yè)務(wù)查詢記錄,并將所述業(yè)務(wù)查詢記錄返回至所述外部系統(tǒng)。
在本例中,所述業(yè)務(wù)調(diào)用包括支付調(diào)用;所述分布式業(yè)務(wù)系統(tǒng)包括基于分布式架構(gòu)的第三方支付系統(tǒng);所述若干業(yè)務(wù)子系統(tǒng)包括訂單子系統(tǒng)、支付子系統(tǒng)以及與銀行對(duì)接的網(wǎng)關(guān)子系統(tǒng)。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。一種典型的實(shí)現(xiàn)設(shè)備為計(jì)算機(jī),計(jì)算機(jī)的具體形式可以是個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個(gè)人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件收發(fā)設(shè)備、游戲控制臺(tái)、平板計(jì)算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任意幾種設(shè)備的組合。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來(lái)限制。
以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。