本申請(qǐng)涉及通信領(lǐng)域,尤其涉及一種數(shù)據(jù)的查詢(xún)方法及裝置。
背景技術(shù):
在實(shí)際應(yīng)用中,在針對(duì)某一類(lèi)包含眾多屬性的數(shù)據(jù)執(zhí)行數(shù)據(jù)查詢(xún)時(shí),為避免針對(duì)不同的屬性執(zhí)行多次查詢(xún),而造成得查詢(xún)效率比較低,系統(tǒng)開(kāi)銷(xiāo)較大的問(wèn)題,通??梢詫⑦@一類(lèi)數(shù)據(jù)中所包含的各屬性的數(shù)據(jù)通過(guò)特定的報(bào)文格式組裝在一條報(bào)文中,然后返回給查詢(xún)端,來(lái)完成本次查詢(xún)。
然而,通過(guò)這種方式,雖然可以在某種程度上減少用戶的查詢(xún)次數(shù),但如果查詢(xún)的數(shù)據(jù)中所包含的屬性繁多,可能會(huì)造成報(bào)文臃腫,用戶的查詢(xún)不夠靈活的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)岢鲆环N數(shù)據(jù)的查詢(xún)方法,該方法包括:
接收查詢(xún)端發(fā)送的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
查詢(xún)所述查詢(xún)數(shù)據(jù)所指示的所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),
基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文包含至少一個(gè)子報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中;
將構(gòu)建完成的響應(yīng)報(bào)文發(fā)送至所述查詢(xún)端。
可選的,所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽、取值標(biāo)簽以及自定義標(biāo)簽中的一個(gè)或者多個(gè);
其中,所述主標(biāo)簽,用于指示所述子報(bào)文體對(duì)應(yīng)的屬性;
所述子標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示所述屬性所包含的子屬性的標(biāo)識(shí);
所述取值標(biāo)簽,用于指示與所述屬性對(duì)應(yīng)的取值;
所述自定義標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示為所述子屬性定義的關(guān)聯(lián)屬性的取值;以及,在所述屬性不包含子屬性時(shí),指示為所述屬性定義的關(guān)聯(lián)屬性的取值。
可選的,當(dāng)所述屬性不包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、取值標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
當(dāng)所述屬性包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
其中,當(dāng)所述屬性包含多個(gè)子屬性時(shí),每一子屬性分別對(duì)應(yīng)不同的子報(bào)文體。
可選的,所述基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文包括:
當(dāng)所述查詢(xún)數(shù)據(jù)指示針對(duì)所述目標(biāo)數(shù)據(jù)中的多個(gè)目標(biāo)數(shù)據(jù)分組時(shí),基于查詢(xún)到的與所述多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),針對(duì)所述多個(gè)目標(biāo)數(shù)據(jù)分組分別構(gòu)建響應(yīng)報(bào)文。
可選的,所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文兼容FIX協(xié)議報(bào)文結(jié)構(gòu);所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文攜帶相同的業(yè)務(wù)標(biāo)識(shí)。
可選的,所述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù)。
本申請(qǐng)還提出一種數(shù)據(jù)的查詢(xún)方法,該方法包括:
向查詢(xún)響應(yīng)端發(fā)送查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
接收查詢(xún)響應(yīng)端發(fā)送的響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文中包含至少一個(gè)報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中。
可選的,所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文兼容FIX協(xié)議報(bào)文結(jié)構(gòu);所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文攜帶相同的業(yè)務(wù)標(biāo)識(shí);
所述方法還包括:
將解析所述響應(yīng)報(bào)文中的子報(bào)文體獲得的與所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),提交至與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)中進(jìn)行處理。
本申請(qǐng)還提出一種數(shù)據(jù)的查詢(xún)裝置,該裝置包括:
第一接收模塊,用于接收查詢(xún)端發(fā)送的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
查詢(xún)模塊,用于查詢(xún)所述查詢(xún)數(shù)據(jù)所指示的所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),
構(gòu)建模塊,用于基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文包含至少一個(gè)子報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中;
第一發(fā)送模塊,用于將構(gòu)建完成的響應(yīng)報(bào)文發(fā)送至所述查詢(xún)端。
可選的,所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽、取值標(biāo)簽以及自定義標(biāo)簽中的一個(gè)或者多個(gè);
其中,所述主標(biāo)簽,用于指示所述子報(bào)文體對(duì)應(yīng)的屬性;
所述子標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示所述屬性所包含的子屬性的標(biāo)識(shí);
所述取值標(biāo)簽,用于指示與所述屬性對(duì)應(yīng)的取值;
所述自定義標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示為所述子屬性定義的關(guān)聯(lián)屬性的取值;以及,在所述屬性不包含子屬性時(shí),指示為所述屬性定義的關(guān)聯(lián)屬性的取值。
可選的,當(dāng)所述屬性不包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、取值標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
當(dāng)所述屬性包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
其中,當(dāng)所述屬性包含多個(gè)子屬性時(shí),每一子屬性分別對(duì)應(yīng)不同的子報(bào)文體。
可選的,所述構(gòu)建模塊進(jìn)一步用于:
當(dāng)所述查詢(xún)數(shù)據(jù)指示針對(duì)所述目標(biāo)數(shù)據(jù)中的多個(gè)目標(biāo)數(shù)據(jù)分組時(shí),基于查詢(xún)到的與所述多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),針對(duì)所述多個(gè)目標(biāo)數(shù)據(jù)分組分別構(gòu)建響應(yīng)報(bào)文。
可選的,所述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù)。
本申請(qǐng)還提出一種數(shù)據(jù)的查詢(xún)裝置,該裝置包括:
第二發(fā)送模塊,用于向查詢(xún)響應(yīng)端發(fā)送針對(duì)所述目標(biāo)數(shù)據(jù)的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
第二接收模塊,用于接收查詢(xún)響應(yīng)端發(fā)送的響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文中包含至少一個(gè)報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中。
可選的,所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文兼容FIX協(xié)議報(bào)文結(jié)構(gòu);所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文攜帶相同的業(yè)務(wù)標(biāo)識(shí);
所述第二接收模塊進(jìn)一步用于:
將解析所述響應(yīng)報(bào)文中的子報(bào)文體獲得的與所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),提交至與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)中進(jìn)行處理。
本申請(qǐng)還提出一種目標(biāo)數(shù)據(jù)的查詢(xún)系統(tǒng),系統(tǒng)包括:
查詢(xún)端,以及與所述查詢(xún)端對(duì)接的至少一個(gè)查詢(xún)響應(yīng)端;
所述查詢(xún)端,向查詢(xún)響應(yīng)端發(fā)送查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
所述查詢(xún)響應(yīng)端,接收查詢(xún)端發(fā)送的所述查詢(xún)報(bào)文;查詢(xún)所述查詢(xún)數(shù)據(jù)所指示的所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文,以及將構(gòu)建完成的響應(yīng)報(bào)文發(fā)送至所述查詢(xún)端;其中,所述響應(yīng)報(bào)文包含至少一個(gè)子報(bào)文體;所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中。
本申請(qǐng)中,通過(guò)將目標(biāo)數(shù)據(jù)劃分出若干屬性分組,在接收查詢(xún)端發(fā)送的針對(duì)該目標(biāo)數(shù)據(jù)的查詢(xún)報(bào)文時(shí),基于該查詢(xún)報(bào)文中攜帶的查詢(xún)數(shù)據(jù)所指示的該若干屬性分組中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組,來(lái)查詢(xún)與該目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),然后將查詢(xún)到的數(shù)據(jù)作為查詢(xún)結(jié)果承載在響應(yīng)報(bào)文中的子報(bào)文體中,返回至所述查詢(xún)端,實(shí)現(xiàn)了用戶在查詢(xún)目標(biāo)數(shù)據(jù)時(shí),可以指定針對(duì)該目標(biāo)數(shù)據(jù)中的查詢(xún)維度,針對(duì)該目標(biāo)數(shù)據(jù)被劃分出的若干屬性組中的一個(gè)或者多個(gè)屬性分組的數(shù)據(jù)進(jìn)行批量查詢(xún),從而既可以降低用戶在針對(duì)目標(biāo)數(shù)據(jù)執(zhí)行查詢(xún)時(shí)的查詢(xún)次數(shù),又可以提升查詢(xún)效率以及查詢(xún)靈活度。
附圖說(shuō)明
圖1是本申請(qǐng)一實(shí)施例提供的一種數(shù)據(jù)的查詢(xún)方法的流程圖;
圖2是本申請(qǐng)一實(shí)施例提供的一種查詢(xún)金融賬戶數(shù)據(jù)的交互示意圖;
圖3是本申請(qǐng)一實(shí)施例提供的一種對(duì)FIX協(xié)議的報(bào)文封裝格式進(jìn)行擴(kuò)展后構(gòu)建出的查詢(xún)報(bào)文、響應(yīng)報(bào)文以及結(jié)束報(bào)文的報(bào)文結(jié)構(gòu)示意圖;
圖4是本申請(qǐng)一實(shí)施例提供的一種擴(kuò)展后的FIX協(xié)議中定義的標(biāo)簽含義的對(duì)照表;
圖5是本申請(qǐng)一實(shí)施例提供的一種數(shù)據(jù)的查詢(xún)裝置的邏輯框圖;
圖6是本申請(qǐng)一實(shí)施例提供的承載所述一種數(shù)據(jù)的查詢(xún)裝置的查詢(xún)端的硬件結(jié)構(gòu)圖;
圖7是本申請(qǐng)一實(shí)施例提供的另一種數(shù)據(jù)的查詢(xún)裝置的邏輯框圖;
圖8是本申請(qǐng)一實(shí)施例提供的承載所述另一種數(shù)據(jù)的查詢(xún)裝置的查詢(xún)響應(yīng)端的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
在相關(guān)技術(shù)中,在針對(duì)包含眾多屬性的某一類(lèi)數(shù)據(jù)執(zhí)行查詢(xún)操作時(shí),為避免針對(duì)不同的屬性執(zhí)行多次查詢(xún),通??梢詫⑦@一類(lèi)數(shù)據(jù)中所包含的各屬性的數(shù)據(jù)通過(guò)特定的報(bào)文格式組裝在一條報(bào)文中,返回給查詢(xún)端來(lái)完成查詢(xún);然而,將各屬性的數(shù)據(jù)組裝在一條報(bào)文中,可能會(huì)造成報(bào)文臃腫,用戶的查詢(xún)不夠靈活的問(wèn)題。
例如,在示出的一種應(yīng)用場(chǎng)景中,上述包含眾多屬性的一類(lèi)數(shù)據(jù)可以是金融賬戶數(shù)據(jù)。
其中,金融賬戶數(shù)據(jù),是指用戶在券商等金融機(jī)構(gòu)的柜臺(tái)系統(tǒng)中留存的數(shù)據(jù),這些數(shù)據(jù)包含與用戶賬戶相關(guān)的眾多不同屬性的數(shù)據(jù),比如金融賬戶數(shù)據(jù)通常可以包括諸如資金余額、可用余額、總資產(chǎn)等不同的屬性。
在日常的交易中,通??梢酝ㄟ^(guò)訪問(wèn)券商等金融機(jī)構(gòu)的柜臺(tái)系統(tǒng)來(lái)實(shí)時(shí)查詢(xún)上述金融賬戶數(shù)據(jù)。在針對(duì)金融賬戶數(shù)據(jù)進(jìn)行查詢(xún)操作時(shí),為避免針對(duì)上述金融賬戶數(shù)據(jù)中所包含的不同的屬性執(zhí)行多次查詢(xún),上述金融賬戶數(shù)據(jù)所在的柜臺(tái)系統(tǒng),在收到來(lái)自查詢(xún)端的查詢(xún)報(bào)文時(shí),可以基于諸如FIX(Financial Information exchange,金融信息交換)協(xié)議等標(biāo)準(zhǔn)的金融賬戶查詢(xún)協(xié)議,通過(guò)FIX協(xié)議定義的報(bào)文格式將上述金融賬戶數(shù)據(jù)中所包含的各屬性的數(shù)據(jù)組裝在一條報(bào)文中。
其中,F(xiàn)IX協(xié)議,是一種用于金融機(jī)構(gòu)之間實(shí)時(shí)傳遞交易數(shù)據(jù)的開(kāi)放式的金融賬戶查詢(xún)協(xié)議。在該協(xié)議中,規(guī)定了若干定義的標(biāo)簽,每一個(gè)標(biāo)簽對(duì)應(yīng)一種屬性,在報(bào)文中采用“標(biāo)簽=值”的形式承載需要傳遞的某一數(shù)據(jù)所包含的各種屬性的數(shù)據(jù)。
比如,假設(shè)需要在傳遞的報(bào)文中增加一段“消息類(lèi)型為U”的數(shù)據(jù),消息類(lèi)型為需要傳遞的該數(shù)據(jù)的一種屬性,該屬性在協(xié)議中定義的標(biāo)簽為35,那么可以在該報(bào)文中增加一段“35=U”的標(biāo)簽和值的配對(duì)即可。
當(dāng)上述金融賬戶數(shù)據(jù)所在的柜臺(tái)系統(tǒng)通過(guò)FIX協(xié)議為上述金融賬戶數(shù)據(jù)中所包含的各屬性定義的標(biāo)簽,將上述金融賬戶數(shù)據(jù)所包含的各屬性的數(shù)據(jù)組裝在一條報(bào)文后,可以將該報(bào)文作為查詢(xún)結(jié)果返回給查詢(xún)端,來(lái)完成本次查詢(xún)。
然而,將上述金融賬戶數(shù)據(jù)所包含的各屬性的數(shù)據(jù)組裝在一條報(bào)文中,雖然可以在某種程度上減少用戶的查詢(xún)次數(shù),但由于金融賬戶數(shù)據(jù)所包含的屬性繁多,并且不同的金融機(jī)構(gòu)的屬性可能還會(huì)存在一定的差異,因此將上述金融賬戶數(shù)據(jù)中包含的所有屬性的數(shù)據(jù)組裝在一條報(bào)文中,可能會(huì)面臨上述報(bào)文中定義的標(biāo)簽數(shù)量過(guò)多造成報(bào)文臃腫,用戶的查詢(xún)不夠靈活;而且,當(dāng)與多個(gè)不同的金融機(jī)構(gòu)的柜臺(tái)系統(tǒng)對(duì)接時(shí),如果不同的金融機(jī)構(gòu)針對(duì)同一屬性定義的標(biāo)簽發(fā)生了變化,或者不同的金融機(jī)構(gòu)針對(duì)某一屬性定義的標(biāo)簽含義互不相同時(shí),為了避免數(shù)據(jù)解析錯(cuò)誤,在與不同的金融結(jié)構(gòu)的柜臺(tái)系統(tǒng)進(jìn)行對(duì)接時(shí),將不得不對(duì)報(bào)文中的部分標(biāo)簽進(jìn)行修改,從而會(huì)導(dǎo)致上述報(bào)文的可擴(kuò)展性差無(wú)法更好適應(yīng)數(shù)據(jù)的變化的問(wèn)題。
有鑒于此,本申請(qǐng)?zhí)岢鲆环N數(shù)據(jù)的查詢(xún)方法,通過(guò)將目標(biāo)數(shù)據(jù)劃分出若干屬性分組,在接收查詢(xún)端發(fā)送的針對(duì)該目標(biāo)數(shù)據(jù)的查詢(xún)報(bào)文時(shí),基于該查詢(xún)報(bào)文中攜帶的查詢(xún)數(shù)據(jù)所指示的該若干屬性分組中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組,來(lái)查詢(xún)與該目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),然后將查詢(xún)到的數(shù)據(jù)作為查詢(xún)結(jié)果承載在響應(yīng)報(bào)文中的子報(bào)文體中,返回至所述查詢(xún)端:
一方面,實(shí)現(xiàn)了用戶在查詢(xún)目標(biāo)數(shù)據(jù)時(shí),可以指定該目標(biāo)數(shù)據(jù)被劃分出的若干屬性組中的一個(gè)或者多個(gè)屬性分組,僅針對(duì)該一個(gè)或者多個(gè)屬性分組的數(shù)據(jù)進(jìn)行批量查詢(xún),從而既可以降低用戶在針對(duì)目標(biāo)數(shù)據(jù)執(zhí)行查詢(xún)時(shí)的查詢(xún)次數(shù),又可以提升查詢(xún)效率以及查詢(xún)靈活度;
另一方面,通過(guò)將查詢(xún)結(jié)果中所包含的若干不同的屬性對(duì)應(yīng)的數(shù)據(jù),分別承載在不同的子報(bào)文體中,可以利用不同的子報(bào)文體來(lái)組織各種不同的屬性的數(shù)據(jù),通過(guò)子報(bào)文體對(duì)各屬性進(jìn)行隔離,使得某一個(gè)屬性的標(biāo)簽發(fā)生了變化,或者新增了屬性時(shí),可以通過(guò)擴(kuò)展子報(bào)文體,快速的適應(yīng)屬性的數(shù)據(jù)變化,而不需要針對(duì)屬性對(duì)應(yīng)的標(biāo)簽進(jìn)行單獨(dú)修改,從而使得報(bào)文的可擴(kuò)展性更好。
下面通過(guò)具體實(shí)施例并結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本申請(qǐng)進(jìn)行描述。
請(qǐng)參考圖1,圖1是本申請(qǐng)一實(shí)施例提供的一種數(shù)據(jù)的查詢(xún)方法,應(yīng)用于查詢(xún)端以及查詢(xún)響應(yīng)端,所述查詢(xún)端與所述查詢(xún)響應(yīng)端互相配合,執(zhí)行以下步驟:
步驟101,查詢(xún)端向查詢(xún)響應(yīng)端發(fā)送針對(duì)所述目標(biāo)數(shù)據(jù)的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
上述目標(biāo)數(shù)據(jù),可以是包含了若干不同屬性的數(shù)據(jù)集合。該數(shù)據(jù)集合中所包含的屬性可以被劃分出多個(gè)屬性分組,每一個(gè)屬性分組可以被定義為一個(gè)數(shù)據(jù)維度。
其中,在每一個(gè)屬性分組中所包含的屬性中,可以包含目標(biāo)屬性以及為該目標(biāo)屬性定義的關(guān)聯(lián)屬性。所謂目標(biāo)屬性可以是每一個(gè)屬性分組中所包含的獨(dú)立屬性,而關(guān)聯(lián)屬性可以是對(duì)目標(biāo)屬性作進(jìn)一步解釋說(shuō)明的附加屬性。
例如,在金融交易的應(yīng)用場(chǎng)景中,上述目標(biāo)數(shù)據(jù)可以是指金融賬戶數(shù)據(jù),在金融賬戶數(shù)據(jù)中通??梢园ㄈ舾刹煌膶傩裕热缈梢园ㄖT如資金余額、可用余額、賬戶持有的股票名稱(chēng)、持有頭寸、賬戶的總市值等獨(dú)立的屬性,也可以包括諸如貨幣類(lèi)型等對(duì)以上各獨(dú)立的屬性作進(jìn)一步解釋說(shuō)明的附加屬性。而金融賬戶數(shù)據(jù)所包含的這些不同的屬性,通??梢园凑諏傩运甘镜木唧w含義,劃分成投資組合信息,市場(chǎng)價(jià)值信息,以及賬戶基本信息等不同的數(shù)據(jù)維度,每一個(gè)數(shù)據(jù)維度可以包含金融賬戶信息中含義相關(guān)的一組屬性。
上述查詢(xún)端,可以是指能夠發(fā)起針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)操作的一端;而上述查詢(xún)響應(yīng)端,可以是指能夠響應(yīng)上述查詢(xún)端發(fā)起的查詢(xún)操作的另一端。
其中,上述查詢(xún)端和查詢(xún)響應(yīng)端的具體形態(tài)在本例中不進(jìn)行特別限定;在實(shí)際應(yīng)用中,上述查詢(xún)響應(yīng)端可以是存儲(chǔ)了上述目標(biāo)數(shù)據(jù)的存儲(chǔ)服務(wù)器,也可以是該存儲(chǔ)服務(wù)器上具有調(diào)用上述目標(biāo)數(shù)據(jù)的權(quán)限的系統(tǒng);而上述查詢(xún)端則可以是用戶側(cè)的客戶端(比如APP),也可以是與上述查詢(xún)響應(yīng)端對(duì)接的業(yè)務(wù)服務(wù)器上一具有目標(biāo)數(shù)據(jù)查詢(xún)需求的業(yè)務(wù)系統(tǒng)(比如交易系統(tǒng)),等等,在本例中不再進(jìn)行一一列舉。
例如,如果上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù),那么上述查詢(xún)響應(yīng)端可以是金融機(jī)構(gòu)的服務(wù)器上的柜臺(tái)系統(tǒng),上述查詢(xún)端可以是用戶側(cè)的交易軟件,或者是與金融機(jī)構(gòu)的服務(wù)器對(duì)接的另一第三方金融服務(wù)機(jī)構(gòu)的服務(wù)器上的交易系統(tǒng)。用戶可以通過(guò)上述交易軟件,或者上述交易系統(tǒng),通過(guò)與金融機(jī)構(gòu)的服務(wù)器之間預(yù)先建立的通信鏈路,與上述柜臺(tái)系統(tǒng)進(jìn)行通信,來(lái)查詢(xún)上述金融賬戶數(shù)據(jù)。
在本例中,上述目標(biāo)數(shù)據(jù)可以預(yù)存儲(chǔ)在上述查詢(xún)響應(yīng)端一側(cè),查詢(xún)端可以通過(guò)與查詢(xún)響應(yīng)端之間預(yù)先建立的通信鏈路進(jìn)行通信,向查詢(xún)響應(yīng)端發(fā)起針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)操作,而上述查詢(xún)響應(yīng)端可以響應(yīng)該查詢(xún)操作,通過(guò)上述通信鏈路向查詢(xún)端返回查詢(xún)結(jié)果。
其中,上述目標(biāo)數(shù)據(jù)中所包含的若干不同的屬性,具體可以由查詢(xún)響應(yīng)端基于一定的規(guī)則劃分出若干屬性分組,并為劃分出的屬性分組設(shè)置數(shù)據(jù)分組標(biāo)識(shí)。
在示出的一種實(shí)施方式中,查詢(xún)響應(yīng)端可以基于不同的屬性之間固有的相關(guān)性來(lái)劃分屬性分組。在這種情況下,上述查詢(xún)響應(yīng)端在針對(duì)本地存儲(chǔ)的目標(biāo)數(shù)據(jù)進(jìn)行屬性劃分時(shí),可以將該目標(biāo)數(shù)據(jù)中所包含的若干不同的屬性中,具有相關(guān)性的一組或者一類(lèi)屬性劃分為同一個(gè)數(shù)據(jù)屬性。其中,該目標(biāo)數(shù)據(jù)中所包含的若干不同的屬性中的。
例如,仍以上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù)為例,在金融賬戶數(shù)據(jù)中通可以包括諸如資金余額、可用余額、賬戶持有的股票名稱(chēng)、持有頭寸、賬戶的總市值等不同的屬性,而金融賬戶數(shù)據(jù)所包含的這些不同的屬性,通常可以按照屬性之間是否存在相關(guān)性,劃分成多個(gè)數(shù)據(jù)屬性;比如,對(duì)于資金余額、可用余額以及賬戶的總市值這些屬性,通常為賬戶的基本屬性,因此這些屬性之間存在相關(guān)性,可以被劃分到賬戶基本數(shù)據(jù)這個(gè)屬性分組;而對(duì)于賬戶持有的股票名稱(chēng)、持有頭寸這些屬性,通常用于描述賬戶的投資組合,因此這些屬性之間也存在相關(guān)性,可以被劃分到投資組合數(shù)據(jù)這個(gè)屬性分組。
在示出的一種實(shí)施方式中,查詢(xún)響應(yīng)端可以基于實(shí)際的業(yè)務(wù)需求,自定義的劃分屬性分組。在這種情況下,上述查詢(xún)響應(yīng)端在針對(duì)本地存儲(chǔ)的目標(biāo)數(shù)據(jù)進(jìn)行屬性分組劃分時(shí),可以根據(jù)實(shí)際的業(yè)務(wù)需求,將上述目標(biāo)數(shù)據(jù)中所包含的若干不同的屬性中,隸屬于同一個(gè)業(yè)務(wù)的屬性劃分至同一個(gè)屬性分組。
例如,上述查詢(xún)響應(yīng)端,可以根據(jù)實(shí)際的業(yè)務(wù)需求,將上述目標(biāo)數(shù)據(jù)中所包含的若干不同的屬性中,隸屬于同一個(gè)業(yè)務(wù)的屬性劃分為同一個(gè)數(shù)據(jù)屬性。在這種情況下,劃分出的數(shù)據(jù)屬性的數(shù)量,則取決于具體的業(yè)務(wù)數(shù)量,而且同一個(gè)屬性分組中的屬性可以不具有相關(guān)性。
當(dāng)然,以上示出的屬性分組的劃分規(guī)則僅為示例性的,在實(shí)際應(yīng)用中,上述業(yè)務(wù)響應(yīng)端在進(jìn)行數(shù)據(jù)屬性的劃分時(shí),也可以采用以上示出的劃分規(guī)則以外的其它劃分規(guī)則,在本例中不再進(jìn)行一一列舉。
在本例中,為了提升目標(biāo)數(shù)據(jù)查詢(xún)的靈活性,在針對(duì)上述目標(biāo)數(shù)據(jù)進(jìn)行查詢(xún)時(shí),可以預(yù)先選定上述目標(biāo)數(shù)據(jù)中的某一個(gè)或者多個(gè)屬性分組作為查詢(xún)維度,僅針對(duì)上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中的一個(gè)或者多個(gè)屬性分組的數(shù)據(jù)進(jìn)行查詢(xún)。
其中,在從上述目標(biāo)數(shù)據(jù)中選定某一個(gè)或者多個(gè)屬性分組作為查詢(xún)維度時(shí),可以由用戶在上述查詢(xún)端提供的用戶界面中人工選定,也可以由上述查詢(xún)端基于實(shí)際的業(yè)務(wù)需求自動(dòng)進(jìn)行選定。
一方面,當(dāng)上述查詢(xún)端為用戶側(cè)的客戶端時(shí),比如用戶側(cè)APP,該客戶端軟件可以面向用戶提供一個(gè)用于選擇查詢(xún)屬性的用戶界面;在該界面中可以提供若干供用戶選擇的標(biāo)簽,每一個(gè)標(biāo)簽分別對(duì)應(yīng)上述目標(biāo)數(shù)據(jù)中的一個(gè)屬性分組,用戶可以直接在該用戶界面中進(jìn)行操作,通過(guò)選定其中的一個(gè)或者多個(gè)標(biāo)簽,來(lái)確定查詢(xún)維度。
例如,如果上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù),包括投資組合信息、市場(chǎng)價(jià)值信息以及賬戶基本信息等三個(gè)屬性分組;上述查詢(xún)客戶端為用戶側(cè)的交易軟件;那么可以在該交易軟件的用戶界面中可以分別提供“投資組合信息”、“市場(chǎng)價(jià)值信息”以及“賬戶基本信息”三個(gè)標(biāo)簽,用戶可以在該用戶界面中選擇標(biāo)簽,將與該標(biāo)簽對(duì)應(yīng)的屬性分組選定為查詢(xún)維度。比如,假設(shè)用戶希望查詢(xún)金融賬戶數(shù)據(jù)中的投資組合信息,那么用戶在該用戶界面中將上述“投資組合信息”的標(biāo)簽選中即可。
另一方面,當(dāng)上述查詢(xún)端為與上述查詢(xún)響應(yīng)端對(duì)接的業(yè)務(wù)服務(wù)器上一具有目標(biāo)數(shù)據(jù)查詢(xún)需求的業(yè)務(wù)系統(tǒng)(比如交易系統(tǒng))時(shí),該業(yè)務(wù)系統(tǒng)可以根據(jù)實(shí)際的業(yè)務(wù)需求(比如該業(yè)務(wù)可能僅需要查詢(xún)上述目標(biāo)數(shù)據(jù)中的某一個(gè)屬性分組或者其中多個(gè)屬性分組的數(shù)據(jù)),自動(dòng)從上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中選定一個(gè)或者多個(gè)屬性分組作為查詢(xún)維度。
例如,如果上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù),包括投資組合數(shù)據(jù)、市場(chǎng)價(jià)值數(shù)據(jù)以及賬戶基本數(shù)據(jù)等三個(gè)屬性分組;上述作為查詢(xún)端的業(yè)務(wù)系統(tǒng)可以是與金融機(jī)構(gòu)的柜臺(tái)系統(tǒng)對(duì)接的另一第三方金融機(jī)構(gòu)的交易系統(tǒng);假設(shè)該交易系統(tǒng)具有基于金融賬戶數(shù)據(jù)中的“投資組合信息”,為用戶推薦股票的功能時(shí),由于該交易系統(tǒng)在實(shí)現(xiàn)這種功能時(shí),僅需要查詢(xún)金融賬戶數(shù)據(jù)中的“投資組合信息”,那么交易系統(tǒng)可以將金融賬戶信息中的“投資組合信息”的屬性分組自動(dòng)選定為目標(biāo)數(shù)據(jù)分組即可。
在本例中,當(dāng)查詢(xún)端獲取到針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)屬性后,可以在本地構(gòu)建一個(gè)用于針對(duì)上述目標(biāo)數(shù)據(jù)進(jìn)行查詢(xún)的查詢(xún)報(bào)文。
在該查詢(xún)報(bào)文中,可以攜帶查詢(xún)數(shù)據(jù),進(jìn)一步還可以攜帶業(yè)務(wù)標(biāo)識(shí),以及與上述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的用戶賬號(hào)等數(shù)據(jù)。
上述查詢(xún)數(shù)據(jù),用于指示選定的針對(duì)上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;其中,該目標(biāo)數(shù)據(jù)分組,即為本次需要查詢(xún)的屬性分組。
上述業(yè)務(wù)標(biāo)識(shí),用于指示查詢(xún)結(jié)果將在何種業(yè)務(wù)中繼續(xù)進(jìn)行處理。
在實(shí)際應(yīng)用中,可以在查詢(xún)報(bào)文中擴(kuò)展出一個(gè)字段,在該字段中可以填充用于指示選定的目標(biāo)數(shù)據(jù)分組的查詢(xún)數(shù)據(jù)。
其中,上述查詢(xún)數(shù)據(jù)具體可以包括對(duì)應(yīng)于上述目標(biāo)數(shù)據(jù)分組的取值標(biāo)簽、數(shù)據(jù)分組標(biāo)識(shí)、或者用于匹配出上述目標(biāo)數(shù)據(jù)分組的屬性標(biāo)識(shí)或者數(shù)據(jù)。
例如,在示出的一種實(shí)施方式中,上述查詢(xún)類(lèi)型標(biāo)簽可以是一個(gè)對(duì)應(yīng)于上述目標(biāo)數(shù)據(jù)分組的取值標(biāo)簽。在使用該取值標(biāo)簽來(lái)指示選定的查詢(xún)屬性時(shí),可以將查詢(xún)報(bào)文中擴(kuò)展出一個(gè)與上述查詢(xún)類(lèi)型標(biāo)簽對(duì)應(yīng)的字段,并在該字段中劃分出若干比特位,其中,該字段中比特位的數(shù)量,可以與上述目標(biāo)數(shù)據(jù)中被劃分出的屬性分組的數(shù)量一致,每一個(gè)比特位可以分別對(duì)應(yīng)一個(gè)屬性分組。
將某一個(gè)屬性分組選定為目標(biāo)數(shù)據(jù)分組后,可以在與該屬性分組對(duì)應(yīng)的比特位中填充用于指示與該比特位對(duì)應(yīng)的數(shù)據(jù)屬性被選中的取值標(biāo)簽即可。例如,可以在比特位中填入取值標(biāo)簽1,表示與該比特位對(duì)應(yīng)的屬性分組被選定;在比特位中填入取值標(biāo)簽0,表示與該比特位對(duì)應(yīng)的屬性分組未被選定。
在示出的另一種實(shí)施方式中,上述標(biāo)識(shí)信息也可以是一個(gè)對(duì)應(yīng)于上述目標(biāo)數(shù)據(jù)分組的信息片段;其中,該信息片段具體可以是被選定的目標(biāo)數(shù)據(jù)分組中所包含的屬性標(biāo)識(shí)或者數(shù)據(jù);比如,在通過(guò)信息片段來(lái)指示選定的目標(biāo)數(shù)據(jù)分組時(shí),也可以在查詢(xún)報(bào)文中擴(kuò)展出一個(gè)與上述標(biāo)識(shí)信息對(duì)應(yīng)的字段,在將某個(gè)屬性分組選定為目標(biāo)數(shù)據(jù)分組時(shí),可以在該字段中填充選定的該目標(biāo)數(shù)據(jù)分組中所包含的任一屬性的標(biāo)識(shí)或者數(shù)據(jù),從而響應(yīng)端可以通過(guò)該屬性的標(biāo)識(shí)或者數(shù)據(jù)與預(yù)先劃分出的各屬性分組中所包含的數(shù)據(jù)進(jìn)行匹配,來(lái)確定選定的目標(biāo)數(shù)據(jù)分組。在示出的另一種實(shí)施方式中,上述標(biāo)識(shí)信息也可以是一個(gè)對(duì)應(yīng)于上述目標(biāo)數(shù)據(jù)分組的數(shù)據(jù)分組標(biāo)識(shí);其中該數(shù)據(jù)分組標(biāo)識(shí)即為查詢(xún)響應(yīng)端針對(duì)目標(biāo)數(shù)據(jù)劃分出的各屬性分組設(shè)置的數(shù)據(jù)分組標(biāo)識(shí)。比如,在通過(guò)數(shù)據(jù)分組標(biāo)識(shí)來(lái)指示選定的目標(biāo)數(shù)據(jù)分組時(shí),也可以在查詢(xún)報(bào)文中擴(kuò)展出一個(gè)與上述標(biāo)識(shí)信息對(duì)應(yīng)的字段,在將某個(gè)屬性分組選定為目標(biāo)數(shù)據(jù)分組時(shí),可以在該字段中填充選定的該目標(biāo)數(shù)據(jù)分組的數(shù)據(jù)分組標(biāo)識(shí),從而響應(yīng)端可以通過(guò)該數(shù)據(jù)分組標(biāo)識(shí)唯一查詢(xún)到選定的該目標(biāo)數(shù)據(jù)分組。
在本例中,當(dāng)上述查詢(xún)客戶端構(gòu)建出上述查詢(xún)報(bào)文后,可以將該查詢(xún)報(bào)文發(fā)送至查詢(xún)響應(yīng)端進(jìn)行處理。
需要說(shuō)明的是,查詢(xún)端構(gòu)建完成的上述查詢(xún)報(bào)文中,除了可以包括上述查詢(xún)數(shù)據(jù),業(yè)務(wù)標(biāo)識(shí),以及與上述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的用戶賬號(hào)等信息以外,還可以包括報(bào)文頭以及報(bào)文尾。
其中,上述報(bào)文頭和報(bào)文尾的具體內(nèi)容,通常取決于封裝上述響應(yīng)報(bào)文的具體協(xié)議,在本例中不進(jìn)行特別限定;
例如,當(dāng)基于FIX協(xié)議封裝上述查詢(xún)報(bào)文時(shí),那么該查詢(xún)報(bào)文的報(bào)文頭和報(bào)文尾的格式,可以直接采用FIX協(xié)議中規(guī)定的報(bào)文頭和報(bào)文尾的標(biāo)準(zhǔn)格式即可,而不需要進(jìn)行任何更改,因此在本例中對(duì)于報(bào)文頭和報(bào)文尾的格式將不再進(jìn)行詳述,本領(lǐng)域技術(shù)人員在將本申請(qǐng)中記載的技術(shù)方案付諸實(shí)施時(shí)可以參考相關(guān)技術(shù)中的記載。
步驟102,查詢(xún)響應(yīng)端接收查詢(xún)端發(fā)送的查詢(xún)報(bào)文,查詢(xún)所述查詢(xún)數(shù)據(jù)所指示的所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),并基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文中包含至少一個(gè)子報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中;
在本例中,查詢(xún)響應(yīng)端在接收到查詢(xún)端發(fā)送的針對(duì)所數(shù)據(jù)的查詢(xún)報(bào)文后,可以解析該查詢(xún)報(bào)文,獲取該查詢(xún)報(bào)文中攜帶的查詢(xún)數(shù)據(jù)、業(yè)務(wù)標(biāo)識(shí)以及用戶賬戶等信息。
當(dāng)獲取到上述信息后,還可以進(jìn)一步解析上述查詢(xún)數(shù)據(jù),來(lái)獲取該查詢(xún)數(shù)據(jù)指示的上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組。
例如,假設(shè)上述查詢(xún)數(shù)據(jù)為與目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)取值標(biāo)簽。上述查詢(xún)報(bào)文中與上述查詢(xún)類(lèi)型標(biāo)簽對(duì)應(yīng)的字段中,所包含的比特位填入的取值為1,表示與該比特位對(duì)應(yīng)的屬性分組被選定為目標(biāo)數(shù)據(jù)分組;填入的取值為0,表示與該比特位對(duì)應(yīng)的屬性分組未被選定為目標(biāo)數(shù)據(jù)分組,那么查詢(xún)響應(yīng)端在解析上述查詢(xún)類(lèi)型標(biāo)簽時(shí),可以掃描所有填入了1的比特位,將與填入了1的比特位對(duì)應(yīng)的屬性分組,確定為本次需要查詢(xún)的目標(biāo)數(shù)據(jù)分組。
當(dāng)查詢(xún)響應(yīng)端通過(guò)解析上述查詢(xún)數(shù)據(jù),獲取到查詢(xún)端選定的針對(duì)上述目標(biāo)數(shù)據(jù)中的目標(biāo)數(shù)據(jù)分組后,可以查詢(xún)與該目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù)。
在本例中,查詢(xún)響應(yīng)端可以基于針對(duì)上述目標(biāo)數(shù)據(jù)的屬性分組劃分結(jié)果,在本地創(chuàng)建一張數(shù)據(jù)維度表,該數(shù)據(jù)維度表中包含若干個(gè)數(shù)據(jù)維度,每一個(gè)數(shù)據(jù)維度對(duì)應(yīng)一個(gè)劃分出的屬性分組。
在查詢(xún)與上述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù)時(shí),可以從上述數(shù)據(jù)維度表中查找到該目標(biāo)數(shù)據(jù)分組,然后獲取該目標(biāo)數(shù)據(jù)分組中所包含的若干目標(biāo)屬性的標(biāo)識(shí),并基于獲取到的標(biāo)識(shí)來(lái)查詢(xún)與該目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù)。
其中,查詢(xún)響應(yīng)端在基于獲取到的目標(biāo)屬性的標(biāo)識(shí),查詢(xún)?cè)撃繕?biāo)屬性的值時(shí),可以從本地的數(shù)據(jù)庫(kù)中查詢(xún),也可以從對(duì)接的其它系統(tǒng)中來(lái)查詢(xún)。
例如,在一種情況下,如果上述目標(biāo)數(shù)據(jù)已經(jīng)預(yù)存在本地的信息數(shù)據(jù)庫(kù)中,那么查詢(xún)響應(yīng)端在基于上述屬性分組劃分結(jié)果在本地創(chuàng)建上述數(shù)據(jù)維度表時(shí),就可以根據(jù)該數(shù)據(jù)維度表中記錄的各屬性分組中的目標(biāo)屬性的標(biāo)識(shí),從本地?cái)?shù)據(jù)庫(kù)中讀取與該標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù),然后填充在上述數(shù)據(jù)維度表中。當(dāng)需要查詢(xún)目標(biāo)屬性的數(shù)據(jù)時(shí),可以從上述數(shù)據(jù)維度表中讀取相應(yīng)的數(shù)據(jù)即可。
在另一種情況下,如果上述目標(biāo)數(shù)據(jù)未預(yù)存在本地的信息數(shù)據(jù)庫(kù)中,那么查詢(xún)響應(yīng)端可以根據(jù)該數(shù)據(jù)維度表中記錄的各屬性分組中的目標(biāo)屬性的標(biāo)識(shí),從對(duì)接的其它系統(tǒng)中讀取對(duì)應(yīng)的數(shù)據(jù),然后保存至該數(shù)據(jù)維度表中,然后再?gòu)脑摂?shù)據(jù)維度表中讀取數(shù)據(jù)即可。在本例中,當(dāng)查詢(xún)響應(yīng)端查詢(xún)到與選定的上述目標(biāo)數(shù)據(jù)分組中所包含的各目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù)后,可以基于查詢(xún)到的數(shù)據(jù)來(lái)構(gòu)建響應(yīng)報(bào)文,以向查詢(xún)端返回查詢(xún)結(jié)果。
在示出的一種實(shí)施方式中,為了提升響應(yīng)報(bào)文的可擴(kuò)展性,使得響應(yīng)報(bào)文可以更好的適應(yīng)上述目標(biāo)數(shù)據(jù)中所包含的目標(biāo)屬性的數(shù)據(jù)變化,可以針對(duì)上述目標(biāo)屬性中所包含的各目標(biāo)屬性,分別構(gòu)建出一個(gè)獨(dú)立的子報(bào)文體,然后將構(gòu)建出的子報(bào)文體封裝在響應(yīng)報(bào)文中。
一方面,封裝完成的該響應(yīng)報(bào)文的報(bào)文體中,將包含一個(gè)或者多個(gè)子報(bào)文體(子報(bào)文體的數(shù)量與查找到的數(shù)據(jù)中所包含的目標(biāo)屬性的數(shù)量相關(guān))。該子報(bào)文體用于承載查詢(xún)結(jié)果。
另一方面,查詢(xún)到的與上述查詢(xún)屬性對(duì)應(yīng)的數(shù)據(jù)中所包含的各目標(biāo)屬性的數(shù)據(jù),將分別承載在不同的子報(bào)文體中,此時(shí)每一個(gè)目標(biāo)屬性將分別對(duì)應(yīng)一個(gè)獨(dú)立的子報(bào)文體。通過(guò)這種方式,可以利用子報(bào)文體對(duì)各目標(biāo)屬性進(jìn)行隔離,而不會(huì)對(duì)其它屬性造成影響。
在示出的一種實(shí)施方式中,在上述子報(bào)文體的架構(gòu)中,組成上述子報(bào)文體的基本元素可以包括主標(biāo)簽、子標(biāo)簽、取值標(biāo)簽以及自定義標(biāo)簽。
其中:
上述主標(biāo)簽,用于指示上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性;
上述子標(biāo)簽,用于在上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性包含子屬性時(shí),指示上述目標(biāo)屬性所包含的子屬性的標(biāo)識(shí);
上述取值標(biāo)簽,用于指示與上述目標(biāo)屬性對(duì)應(yīng)的取值;
上述自定義標(biāo)簽,用于在上述目標(biāo)屬性包含子屬性時(shí),指示為上述子屬性定義的關(guān)聯(lián)屬性的取值;以及,在所述目標(biāo)屬性不包含子屬性時(shí),指示為上述目標(biāo)屬性定義的關(guān)聯(lián)屬性的取值。
需要說(shuō)明的是,構(gòu)成子報(bào)文體的主標(biāo)簽、子標(biāo)簽、取值標(biāo)簽和自定義標(biāo)簽等元素,均為基礎(chǔ)元素。
在實(shí)際應(yīng)用中,除了上述主標(biāo)簽以外,子標(biāo)簽、取值標(biāo)簽和自定義標(biāo)簽可以均為可選標(biāo)簽;在封裝上述子報(bào)文體時(shí),可以根據(jù)具體的封裝協(xié)議或者實(shí)際的查詢(xún)需求,使用主標(biāo)簽,和上述可選標(biāo)簽中的一個(gè)或多個(gè)進(jìn)行組合。
一方面,如果與上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性為獨(dú)立的屬性,不包含子屬性,此時(shí)上述子報(bào)文體可以由主標(biāo)簽、取值標(biāo)簽以及自定義標(biāo)簽構(gòu)成。
在這種情況下,上述子報(bào)文體中可以不包含子標(biāo)簽,同時(shí)上述自定義標(biāo)簽則用于指示為上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性定義的關(guān)聯(lián)屬性的取值。
當(dāng)然,如果并未針對(duì)上述目標(biāo)屬性單獨(dú)定義關(guān)聯(lián)屬性的話,上述子報(bào)文體中也可以不包含上述自定義標(biāo)簽。
另一方面,如果與上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性還包含子屬性,此時(shí)上述子報(bào)文體可以由主標(biāo)簽、子標(biāo)簽以及自定義標(biāo)簽構(gòu)成。
在這種情況下,上述子報(bào)文體中可以包含子標(biāo)簽,不包含上述取值標(biāo)簽,同時(shí)上述自定義標(biāo)簽則用于指示為上述目標(biāo)屬性所包含的子屬性定義的關(guān)聯(lián)屬性的取值。
例如,假設(shè)上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù),包括投資組合信息、市場(chǎng)價(jià)值信息以及賬戶基本信息等三個(gè)屬性分組;
在一種情況下,假設(shè)選定的屬性分組為“賬戶基本信息”,在“賬戶基本信息”這個(gè)屬性分組下通常包括“貨幣類(lèi)型”、“資金金額”、“可用余額”、“股票市值”、“總資產(chǎn)”等5種目標(biāo)屬性。以上5種目標(biāo)屬性均不包含子屬性。
在基于FIX協(xié)議封裝上述響應(yīng)報(bào)文時(shí),封裝后的響應(yīng)報(bào)文將包含與以上5種查詢(xún)屬性分別對(duì)應(yīng)的5個(gè)獨(dú)立的子報(bào)文體,每一個(gè)子報(bào)文體用于承載對(duì)應(yīng)的目標(biāo)屬性的數(shù)據(jù)。
在示出的一個(gè)例子中,基于FIX協(xié)議封裝完成的上述響應(yīng)報(bào)文所包含的與上述目標(biāo)屬性“資金金額”對(duì)應(yīng)的子報(bào)文體可以如下所示:
8001=資金余額<SOH>15=USD<SOH>6066=1444801729<SOH>8004=112900.00
其中,在上述子報(bào)文體中:
8001是定義的該子報(bào)文體中的上述主標(biāo)簽,用于指示上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性為“資金余額”。
標(biāo)簽15和6066為針對(duì)上述目標(biāo)屬性“資金金額”定義的自定義標(biāo)簽,標(biāo)簽15在FIX協(xié)議中表示貨幣類(lèi)型,15=USD表示貨幣類(lèi)型為美元。6066在FIX協(xié)議中表示時(shí)間戳,即查詢(xún)?cè)摗百Y金余額”這個(gè)屬性時(shí)的精確時(shí)間。
8004是定義的該子報(bào)文體中的上述取值標(biāo)簽,用于指示主標(biāo)簽8001的具體取值;8004=100表示資金余額為100美元。
通過(guò)以上例子可見(jiàn),由于“資金余額”這個(gè)屬性不包含子屬性,因此上述子報(bào)文體可以由主標(biāo)簽8001、取值標(biāo)簽8004和自定義標(biāo)簽構(gòu)成,可以不包含上述子標(biāo)簽。
在另一種情況下,假設(shè)選定的屬性分組為“投資組合信息”,在“投資組合信息”這個(gè)屬性分組下包括“投資組合列表”這個(gè)目標(biāo)屬性;其中,“投資組合列表”這個(gè)目標(biāo)屬性包含子屬性,該子屬性可以是該投資組合列表中包含的具體的投資產(chǎn)品的標(biāo)識(shí);比如股票名稱(chēng)。
在示出的一個(gè)例子中,假設(shè)“投資組合列表”這個(gè)目標(biāo)屬性包含“IBM”這一子屬性,那么基于FIX協(xié)議封裝完成的上述響應(yīng)報(bào)文所包含的與上述屬性“投資組合列表”對(duì)應(yīng)的子報(bào)文體可以如下所示:
8001=投資組合列表<SOH>8002=IBM<SOH>6064=1000<SOH>15=USD<SOH>6065=150.00<SOH>6101=100.00
其中,在上述子報(bào)文體中:
8001是定義的該子報(bào)文體中的上述主標(biāo)簽,用于指示上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性為“投資組合列表”。
8002是定義的該子報(bào)文體中的上述子標(biāo)簽,用于指示“投資組合列表”這個(gè)目標(biāo)屬性所包含的子屬性的具體標(biāo)識(shí);在該例中,該子屬性為“投資組合列表”中所包含的股票,該子屬性的標(biāo)識(shí)為“投資組合列表”中所包含的該股票的股票名稱(chēng),8002=IBM表示用戶的投資組合列表中包含股票IBM。
標(biāo)簽6064、15、6065以及6101為針對(duì)上述子屬性“IBM”定義的自定義標(biāo)簽,標(biāo)簽6064在FIX協(xié)議中表示股票頭寸(即持有股票的數(shù)量),6064=1000表示持有1000股IBM的股票。標(biāo)簽15在FIX協(xié)議中表示貨幣類(lèi)型,15=USD表示持有IBM的股票的貨幣類(lèi)型為美元。6065在FIX協(xié)議中表示市價(jià),6065=150表示持有IBM的股票的貨實(shí)價(jià)為150美金。6101在FIX協(xié)議中平均成本,6101=100.00表示持有IBM的股票的貨實(shí)價(jià)為100美金。
通過(guò)以上例子可見(jiàn),由于“投資組合列表”這個(gè)目標(biāo)屬性,包含子屬性,因此在這種情況下,上述子報(bào)文體可以由主標(biāo)簽、子標(biāo)簽和自定義標(biāo)簽共同構(gòu)成,可以不包含上述取值標(biāo)簽。
其中,需要說(shuō)明的是,在實(shí)際應(yīng)用中,當(dāng)上述目標(biāo)屬性包含多個(gè)子屬性時(shí),還可以針對(duì)上述目標(biāo)屬性所包含的每一個(gè)子屬性,分別構(gòu)建一個(gè)獨(dú)立的子報(bào)文體。
在示出的另一個(gè)例子中,假設(shè)上述“投資組合列表”這個(gè)目標(biāo)屬性除了包含“IBM”這一子屬性以外,還包含“ALIBABA”這一子屬性,那么基于FIX協(xié)議封裝完成的上述響應(yīng)報(bào)文中,除了可以包含為上述屬性“投資組合列表”構(gòu)建的子報(bào)文體,還可以包含如下所示的針對(duì)上述子屬性“ALIBABA”構(gòu)建的子報(bào)文體:
8001=投資組合列表<SOH>8002=ALIBABA<SOH>6064=1000<SOH>15=USD<SOH>6065=150.00<SOH>6101=100.00
其中,上述子報(bào)文體中各標(biāo)簽的含義不再贅述。
在本例中,查詢(xún)響應(yīng)端構(gòu)建完成的上述響應(yīng)報(bào)文,除了可以包括一個(gè)或者多個(gè)子報(bào)文體外,還可以包括報(bào)文頭、報(bào)文尾以及業(yè)務(wù)標(biāo)識(shí)。
其中,上述業(yè)務(wù)標(biāo)識(shí),需要與上述查詢(xún)端發(fā)送的查詢(xún)報(bào)文中攜帶的業(yè)務(wù)標(biāo)識(shí)保持一致。
上述報(bào)文頭和報(bào)文尾的具體內(nèi)容,通常取決于封裝上述響應(yīng)報(bào)文的具體協(xié)議,可以直接采用封裝該響應(yīng)報(bào)文時(shí)所使用的協(xié)議(比如FIX協(xié)議)中規(guī)定的報(bào)文頭和報(bào)文尾的標(biāo)準(zhǔn)格式即可。
另外,需要說(shuō)明的是,在實(shí)際應(yīng)用中,由于可能會(huì)對(duì)針對(duì)多個(gè)目標(biāo)屬性定義同一個(gè)關(guān)聯(lián)屬性,因此對(duì)于關(guān)聯(lián)屬性而言,可以分別承載在不同的子報(bào)文體中;
例如,對(duì)于“貨幣類(lèi)型”這個(gè)屬性而言,可以被定義為“資金金額”、“可用余額”、“股票市值”、“總資產(chǎn)”等目標(biāo)屬性的關(guān)聯(lián)屬性,因此“貨幣類(lèi)型”這個(gè)屬性可以分別承載在為“資金金額”、“可用余額”、“股票市值”、“總資產(chǎn)”等目標(biāo)屬性構(gòu)建的子報(bào)文體中。
可見(jiàn),通過(guò)擴(kuò)展子報(bào)文體,可以對(duì)查詢(xún)結(jié)果中所包含的各屬性的數(shù)據(jù),重新進(jìn)行組織并進(jìn)一步進(jìn)行歸類(lèi),將查詢(xún)結(jié)果中所包含的各目標(biāo)屬性,以及為該目標(biāo)屬性定義的關(guān)聯(lián)屬性封裝在同一個(gè)子報(bào)文體中,從而使得響應(yīng)報(bào)文中所承載的各目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù)將更加易于解析和提取。
步驟103,查詢(xún)響應(yīng)端將構(gòu)建完成的所述響應(yīng)報(bào)文發(fā)送至所述查詢(xún)端,以向所述查詢(xún)端返回查詢(xún)結(jié)果。
在本例中,上述查詢(xún)響應(yīng)端在構(gòu)建上述響應(yīng)報(bào)文時(shí),如果上述查詢(xún)端從上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中選定了多個(gè)目標(biāo)數(shù)據(jù)分組,此時(shí)查詢(xún)響應(yīng)端可以基于查詢(xún)到的與該多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),分別構(gòu)建一條響應(yīng)報(bào)文。通過(guò)這種方式,可以減少響應(yīng)報(bào)文中攜帶的信息量,提升響應(yīng)報(bào)文的解析效率。
在這種情況下,上述查詢(xún)響應(yīng)端可以將構(gòu)建完成的多個(gè)響應(yīng)報(bào)文,依次發(fā)送至查詢(xún)端,通過(guò)構(gòu)建完成的這些響應(yīng)報(bào)文中的子報(bào)文體所封裝的數(shù)據(jù),將查詢(xún)結(jié)果返回至查詢(xún)端。
當(dāng)然,在實(shí)際應(yīng)用中,為了減少數(shù)據(jù)查詢(xún)過(guò)程中的報(bào)文交互數(shù)量,降低系統(tǒng)開(kāi)銷(xiāo),如果上述查詢(xún)端從上述目標(biāo)數(shù)據(jù)被劃分出的若干屬性分組中選定了多個(gè)目標(biāo)數(shù)據(jù)分組,查詢(xún)響應(yīng)端也可以將查詢(xún)到的該多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù)封裝在一條響應(yīng)報(bào)文。
通過(guò)這種方式,可以將查詢(xún)到的該多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù)承載在一條響應(yīng)報(bào)文,返回至查詢(xún)端,可以有效減少查詢(xún)數(shù)據(jù)時(shí)交互報(bào)文的數(shù)量,降低系統(tǒng)開(kāi)銷(xiāo)。
在本例中,當(dāng)上述查詢(xún)端接收到上述查詢(xún)響應(yīng)端發(fā)送的響應(yīng)報(bào)文后,可以解析該響應(yīng)報(bào)文中攜帶的子報(bào)文體,來(lái)獲取子報(bào)文體中承載的與選定的目標(biāo)數(shù)據(jù)分組中所包含的各個(gè)目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù),并將解析子報(bào)文體獲取到的數(shù)據(jù)提交至與上述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)中繼續(xù)進(jìn)行處理。
例如,假設(shè)上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù):
一方面,如果查詢(xún)端為用戶側(cè)的交易軟件;那么與上述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù),可以是在交易軟件的用戶界面中顯示查詢(xún)到的數(shù)據(jù)的業(yè)務(wù)。
在這種場(chǎng)景下,當(dāng)交易軟件從接收到的響應(yīng)報(bào)文中的子報(bào)文體中解析出子報(bào)文體承載的查詢(xún)結(jié)果后,可以將查詢(xún)結(jié)果提交至該業(yè)務(wù),從而可以在用戶界面中向用戶顯示查詢(xún)結(jié)果。
另一方面,如果上述查詢(xún)查詢(xún)客戶端為與金融機(jī)構(gòu)的柜臺(tái)系統(tǒng)對(duì)接的另一第三方金融機(jī)構(gòu)的交易系統(tǒng);假設(shè)該交易系統(tǒng)具有基于查詢(xún)到的金融賬戶數(shù)據(jù),為用戶推薦股票的功能,那么與上述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù),可以是基于查詢(xún)到的金融賬戶數(shù)據(jù)為用戶推薦股票的業(yè)務(wù)。
在這種場(chǎng)景下,當(dāng)交易軟件從接收到的響應(yīng)報(bào)文中的子報(bào)文體中解析出子報(bào)文體承載的查詢(xún)結(jié)果后,可以將查詢(xún)結(jié)果提交至該業(yè)務(wù),從而使得交易系統(tǒng)可以基于該查詢(xún)結(jié)果進(jìn)行分析計(jì)算后為用戶推薦股票。
另外,需要說(shuō)明的是,在本例中,由于在針對(duì)上述目標(biāo)數(shù)據(jù)進(jìn)行查詢(xún)時(shí),可能最終僅會(huì)返回從上述目標(biāo)數(shù)據(jù)中選定的一個(gè)或者其中幾個(gè)目標(biāo)數(shù)據(jù)分組的數(shù)據(jù),因此最終返回的數(shù)據(jù)可能僅能涵蓋上述目標(biāo)數(shù)據(jù)中所包含的部分屬性的數(shù)據(jù)。
在這種情況下,上述查詢(xún)端很可能會(huì)錯(cuò)誤的判定為針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)尚未結(jié)束,而并沒(méi)有立刻將查詢(xún)到數(shù)據(jù)提交給相應(yīng)的業(yè)務(wù)進(jìn)行處理,從而造成業(yè)務(wù)處理不夠及時(shí)的問(wèn)題。
因此,為了解決上述問(wèn)題,當(dāng)上述查詢(xún)響應(yīng)端在將構(gòu)建完成的響應(yīng)報(bào)文,發(fā)送至上述查詢(xún)端后,還可以向查詢(xún)端發(fā)送一條結(jié)束報(bào)文。
其中,該結(jié)束報(bào)文,用于指示查詢(xún)端針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)結(jié)束。在該結(jié)束報(bào)文中可以攜帶報(bào)文頭、報(bào)文尾以及業(yè)務(wù)標(biāo)識(shí)。
該業(yè)務(wù)標(biāo)識(shí),需要與上述查詢(xún)端發(fā)送的查詢(xún)報(bào)文中攜帶的業(yè)務(wù)標(biāo)識(shí)保持一致。而上述報(bào)文頭和報(bào)文尾的具體內(nèi)容,通常取決于封裝上述響應(yīng)報(bào)文的具體協(xié)議,可以直接采用封裝該結(jié)束報(bào)文時(shí)所使用的協(xié)議(比如FIX協(xié)議)中規(guī)定的報(bào)文頭和報(bào)文尾的標(biāo)準(zhǔn)格式即可,不再贅述。
當(dāng)上述查詢(xún)端通過(guò)解析上述響應(yīng)報(bào)文,獲取到上述響應(yīng)報(bào)文中的子報(bào)文所承載的查詢(xún)結(jié)果后,如果接收到了上述查詢(xún)響應(yīng)端的結(jié)束報(bào)文,表明當(dāng)前查詢(xún)已經(jīng)結(jié)束,則可以立即將解析出的查詢(xún)結(jié)果提交至相應(yīng)的業(yè)務(wù)進(jìn)行處理,從而可以確保該業(yè)務(wù)處理的實(shí)時(shí)性。
至此,上述查詢(xún)端針對(duì)上述目標(biāo)數(shù)據(jù)的查詢(xún)結(jié)束。
通過(guò)以上實(shí)施例可知,一方面,本申請(qǐng)實(shí)現(xiàn)了用戶在查詢(xún)目標(biāo)數(shù)據(jù)時(shí),可以指定針對(duì)該目標(biāo)數(shù)據(jù)中的查詢(xún)維度,針對(duì)該目標(biāo)數(shù)據(jù)被劃分出的若干屬性組中的一個(gè)或者多個(gè)屬性分組的數(shù)據(jù)進(jìn)行批量查詢(xún),從而既可以降低用戶在針對(duì)目標(biāo)數(shù)據(jù)執(zhí)行查詢(xún)時(shí)的查詢(xún)次數(shù),又可以提升查詢(xún)效率以及查詢(xún)靈活度;
另一方面,通過(guò)將查詢(xún)結(jié)果中所包含的若干不同的目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù),分別承載在不同的子報(bào)文體中,可以利用不同的子報(bào)文體來(lái)組織各種不同的目標(biāo)屬性的數(shù)據(jù),通過(guò)子報(bào)文體對(duì)各屬性進(jìn)行隔離,使得某一個(gè)屬性的標(biāo)簽發(fā)生了變化,或者新增了屬性時(shí),可以通過(guò)擴(kuò)展子報(bào)文體,快速的適應(yīng)屬性的數(shù)據(jù)變化,而不需要針對(duì)屬性對(duì)應(yīng)的標(biāo)簽進(jìn)行單獨(dú)修改,從而使得報(bào)文的可擴(kuò)展性更好。
而且,通過(guò)擴(kuò)展子報(bào)文體,可以對(duì)查詢(xún)結(jié)果中所包含的各屬性的數(shù)據(jù),重新進(jìn)行組織并進(jìn)一步進(jìn)行歸類(lèi),將查詢(xún)結(jié)果中所包含的各目標(biāo)屬性,以及為該目標(biāo)屬性定義的關(guān)聯(lián)屬性封裝在同一個(gè)子報(bào)文體中,從而使得響應(yīng)報(bào)文中所承載的各目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù)將更加易于解析和提取。
以下以上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù),并結(jié)合金融賬戶數(shù)據(jù)查詢(xún)的應(yīng)用場(chǎng)景對(duì)以上實(shí)施例中的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
當(dāng)然,需要說(shuō)明的是,以上述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù)僅為示例性的,在實(shí)際應(yīng)用中,上述目標(biāo)數(shù)據(jù)也可以是諸如社交賬戶信息、產(chǎn)品信息等其它類(lèi)型的目標(biāo)數(shù)據(jù),即本申請(qǐng)以上實(shí)施例示出的技術(shù)方案也可以是應(yīng)用于金融賬戶數(shù)據(jù)查詢(xún)以外的其它應(yīng)用場(chǎng)景,在本例中不再進(jìn)行一一列舉。
請(qǐng)參見(jiàn)圖2,圖2為本例示出的一種查詢(xún)金融賬戶數(shù)據(jù)的交互示意圖。
在圖2所示出的交互場(chǎng)景中,包括金融機(jī)構(gòu)A的柜臺(tái)系統(tǒng)以及與該金融機(jī)構(gòu)A對(duì)接的交易系統(tǒng)。
其中:
用戶A在金融機(jī)構(gòu)A的柜臺(tái)系統(tǒng)完成交易賬戶注冊(cè),與該交易賬戶對(duì)應(yīng)的金融賬戶數(shù)據(jù)存儲(chǔ)在金融機(jī)構(gòu)A的柜臺(tái)系統(tǒng)中。
上述交易系統(tǒng),為具有查詢(xún)用戶A的金融賬戶數(shù)據(jù)需求的系統(tǒng)。在本例中,該交易系統(tǒng)具有基于查詢(xún)到的用戶A的金融賬戶數(shù)據(jù)為用戶A推薦股票數(shù)據(jù)的業(yè)務(wù)功能。
金融機(jī)構(gòu)A的柜臺(tái)系統(tǒng)(以下簡(jiǎn)稱(chēng)柜臺(tái)系統(tǒng))與交易系統(tǒng)(以下簡(jiǎn)稱(chēng)交易系統(tǒng))之間預(yù)先建立了通信鏈路,該通信鏈路用于承載查詢(xún)用戶A的金融賬戶數(shù)據(jù)時(shí)的報(bào)文交互。
請(qǐng)參見(jiàn)表1,表1為本例示出的上述柜臺(tái)系統(tǒng)存儲(chǔ)的用戶A的金融賬戶數(shù)據(jù)包含的信息圖表。
由表1可知,用戶A的賬戶名稱(chēng)為U900147,與該賬戶對(duì)應(yīng)的金融賬戶數(shù)據(jù)包含賬戶基本信息、投資組合信息以及市場(chǎng)價(jià)值信息等三個(gè)屬性分組。
在本例中,交易系統(tǒng)和柜臺(tái)系統(tǒng)在執(zhí)行查詢(xún)用戶A的賬戶U900147的金融賬戶數(shù)據(jù)的過(guò)程中所交互的查詢(xún)報(bào)文,仍然采用FIX協(xié)議進(jìn)行封裝。
同時(shí),為了使基于FIX協(xié)議封裝的查詢(xún)報(bào)文,能夠?qū)崿F(xiàn)針對(duì)從用戶A的賬戶U900147的金融賬戶數(shù)據(jù)中選定的一個(gè)或者多個(gè)屬性分組進(jìn)行查詢(xún)的功能,可以對(duì)FIX協(xié)議的報(bào)文封裝格式進(jìn)行擴(kuò)展。
請(qǐng)參見(jiàn)圖3,圖3為本例示出的對(duì)FIX協(xié)議的報(bào)文封裝格式進(jìn)行擴(kuò)展后構(gòu)建出的查詢(xún)報(bào)文、響應(yīng)報(bào)文以及結(jié)束報(bào)文的報(bào)文結(jié)構(gòu)。
如圖3所示,上述查詢(xún)報(bào)文包括報(bào)文頭、報(bào)文尾、查詢(xún)類(lèi)型標(biāo)簽、業(yè)務(wù)標(biāo)識(shí)以及用戶A的用戶賬號(hào)U900147。
其中,上述查詢(xún)類(lèi)型標(biāo)簽可以包含3干個(gè)比特位,每一個(gè)比特位對(duì)應(yīng)一個(gè)金融賬戶數(shù)據(jù)的屬性分組,取值為1表示選定對(duì)應(yīng)的屬性分組;取值為0表示未選定對(duì)應(yīng)的屬性分組。
上述響應(yīng)報(bào)文包括報(bào)文頭、報(bào)文尾、業(yè)務(wù)標(biāo)識(shí)以及一個(gè)或者多個(gè)子報(bào)文體。
上述結(jié)束報(bào)文包括報(bào)文頭、報(bào)文尾以及業(yè)務(wù)標(biāo)識(shí)。
其中,查詢(xún)報(bào)文、響應(yīng)報(bào)文以及結(jié)束報(bào)文中的報(bào)文頭和報(bào)文尾,遵循FIX協(xié)議中定義的標(biāo)準(zhǔn)格式,可以直接采用FIX協(xié)議中規(guī)定的報(bào)文頭和報(bào)文尾的標(biāo)準(zhǔn)格式即可。查詢(xún)報(bào)文、響應(yīng)報(bào)文以及結(jié)束報(bào)文中的業(yè)務(wù)標(biāo)識(shí)需要保持相同。
請(qǐng)繼續(xù)參見(jiàn)圖3,組成上述子報(bào)文體的基本元素包含主標(biāo)簽8001、子標(biāo)簽8002、取值標(biāo)簽8004以及自定義標(biāo)簽。
其中,子標(biāo)簽8002、取值標(biāo)簽8004以及自定義標(biāo)簽為可選標(biāo)簽,可以根據(jù)實(shí)際情況進(jìn)行增減。
如果與上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性不包含子屬性,此時(shí)上述子報(bào)文體可以由主標(biāo)簽8001、取值標(biāo)簽8004以及自定義標(biāo)簽構(gòu)成。如果與上述子報(bào)文體對(duì)應(yīng)的目標(biāo)屬性包含子屬性,此時(shí)上述子報(bào)文體可以由主標(biāo)簽8001、子標(biāo)簽8002以及自定義標(biāo)簽構(gòu)成。
請(qǐng)參見(jiàn)圖4,圖4為本例示出的擴(kuò)展后的FIX協(xié)議中定義的標(biāo)簽含義的對(duì)照表。
在本例中,可以基于圖4中所示出的FIX協(xié)議中定義的各標(biāo)簽,來(lái)封裝查詢(xún)報(bào)文、響應(yīng)報(bào)文以及結(jié)束報(bào)文。
請(qǐng)繼續(xù)參見(jiàn)圖2,在初始狀態(tài)下,交易系統(tǒng)可以基于實(shí)際的業(yè)務(wù)需求從賬戶U900147的金融賬戶數(shù)據(jù)所包含的3種屬性分組中選定一個(gè)或者多個(gè)作為需要查詢(xún)的目標(biāo)數(shù)據(jù)分組,然后基于圖3所示出的查詢(xún)報(bào)文的格式,圖4中所示出的標(biāo)簽以及表1中記載的信息來(lái)封裝查詢(xún)報(bào)文。
交易系統(tǒng)封裝出的查詢(xún)報(bào)文如下:
8=FIX.4.2<SOH>9=94<SOH>35=U<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6095=U900147<SOH>6096=XXX<SOH>6529=20140333<SOH>10=191
其中:
8=FIX.4.2<SOH>9=94<SOH>35=U<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>,為基于FIX協(xié)議構(gòu)建的報(bào)文頭;<SOH>10=191,為基于FIX協(xié)議構(gòu)建的報(bào)文尾;
標(biāo)簽6095在FIX協(xié)議中表示交易賬戶;標(biāo)簽6529在FIX協(xié)議中表示用于區(qū)分業(yè)務(wù)的消息標(biāo)識(shí)(即業(yè)務(wù)標(biāo)識(shí))。
6096為對(duì)FIX協(xié)議進(jìn)行擴(kuò)展定義的查詢(xún)類(lèi)型標(biāo)簽,其具體取值指示選定的目標(biāo)數(shù)據(jù)分組。
其中,當(dāng)標(biāo)簽6096的取值為0x7(二進(jìn)制表示為111,表示三個(gè)比特位均置位為1)時(shí),指示金融賬戶數(shù)據(jù)的三個(gè)屬性分組均被選定為目標(biāo)數(shù)據(jù)分組。當(dāng)標(biāo)簽6096的取值為0x4(二進(jìn)制表示為100,表示第一個(gè)比特位置位為1)時(shí),指示金融賬戶數(shù)據(jù)的屬性分組“賬戶基本信息”被選定為目標(biāo)數(shù)據(jù)分組。當(dāng)標(biāo)簽6096的取值為0x2(二進(jìn)制表示為010,表示第二個(gè)比特位置位為1)時(shí),指示金融賬戶數(shù)據(jù)的屬性分組“投資組合信息”被選定為目標(biāo)數(shù)據(jù)分組。當(dāng)標(biāo)簽6096的取值為0x1(二進(jìn)制表示為001,表示第三個(gè)比特位置位為1)時(shí),指示金融賬戶數(shù)據(jù)的屬性分組“市場(chǎng)價(jià)值信息”被選定為目標(biāo)數(shù)據(jù)分組。
1)選定表1中“賬戶基本信息”為目標(biāo)數(shù)據(jù)分組
交易系統(tǒng)將封裝完成的查詢(xún)報(bào)文發(fā)送至柜臺(tái)系統(tǒng),柜臺(tái)系統(tǒng)收到該查詢(xún)報(bào)文后,解析該查詢(xún)報(bào)文獲取選定的目標(biāo)數(shù)據(jù)分組。
如果交易系統(tǒng)選定的目標(biāo)數(shù)據(jù)分組為“賬戶基本信息”(即上述查詢(xún)報(bào)文中6096=0x4):
由表1可知,“賬戶基本信息”包括“資金金額”、“可用余額”、“股票市值”以及“總資產(chǎn)”等4個(gè)目標(biāo)屬性,該4個(gè)目標(biāo)屬性均不包含子屬性,可以針對(duì)上述4個(gè)目標(biāo)屬性分別構(gòu)建一個(gè)子報(bào)文體,然后基于構(gòu)建完成的子報(bào)文體封裝響應(yīng)報(bào)文。
此時(shí),基于圖3所示出的報(bào)文結(jié)構(gòu)、圖4中所示出的標(biāo)簽以及表1記載的信息構(gòu)建出的響應(yīng)報(bào)文如下:
8=O<SOH>9=11<SOH>35=UT<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6529=20140333<SOH>8001=資金余額<SOH>15=USD<SOH>6066=1444801729<SOH>8004=112900.00<SOH>8001=可用余額<SOH>15=USD<SOH>6066=1444801729<SOH>8004=112900.00<SOH>8001=股票市值<SOH>15=USD<SOH>6066=1444801729<SOH>8004=160320.00<SOH>8001=總資產(chǎn)<SOH>15=USD<SOH>6066=1444801729<SOH>8004=272220.00<SOH>10=376
其中:
8=O<SOH>9=11<SOH>35=UT<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6529=20140333<SOH>,為基于FIX構(gòu)建的報(bào)文頭;<SOH>10=376,為基于FIX協(xié)議構(gòu)建的報(bào)文尾;標(biāo)簽6529在FIX協(xié)議中表示用于區(qū)分業(yè)務(wù)的消息標(biāo)識(shí)(即業(yè)務(wù)標(biāo)識(shí));
在該響應(yīng)報(bào)文中,用戶A的“賬戶基本信息”所包含的目標(biāo)屬性“資金金額”、“可用余額”、“股票市值”以及“總資產(chǎn)”分別對(duì)應(yīng)一個(gè)獨(dú)立的子報(bào)文體。各子報(bào)文體中的內(nèi)容與表1中記載的數(shù)據(jù)保持一致。
其中,由于目標(biāo)屬性“資金金額”、“可用余額”、“股票市值”以及“總資產(chǎn)”均不包含子屬性,因此上述響應(yīng)報(bào)文中封裝的與上述各屬性對(duì)應(yīng)的子報(bào)文,均不包含子標(biāo)簽8002,而是由主標(biāo)簽8001、取值標(biāo)簽8004,以及若干為上述各屬性定義的關(guān)聯(lián)屬性對(duì)應(yīng)的標(biāo)簽(比如以上各子報(bào)文體中的標(biāo)簽15以及6066)構(gòu)成。
2)選定表1中“投資組合信息”為目標(biāo)數(shù)據(jù)分組
柜臺(tái)系統(tǒng)收到該查詢(xún)報(bào)文后,如果交易系統(tǒng)選定的目標(biāo)數(shù)據(jù)分組為“投資組合信息”(即上述查詢(xún)報(bào)文中6096=0x2):
由表1可知,“投資組合信息”包括“投資組合”這一目標(biāo)屬性,而“投資組合”這一目標(biāo)屬性包括“ALIBABA”以及“IBM”等2個(gè)子屬性,可以針對(duì)上述2個(gè)子屬性分別構(gòu)建一個(gè)子報(bào)文體,然后基于構(gòu)建完成的子報(bào)文體封裝響應(yīng)報(bào)文。
基于圖3所示出的報(bào)文結(jié)構(gòu)、圖4中所示出的標(biāo)簽以及表1記載的數(shù)據(jù)構(gòu)建出的響應(yīng)報(bào)文如下:
8=O<SOH>9=12<SOH>35=UP<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A6529=20140333<SOH>8001=投資組合<SOH>8002=IBM<SOH>6064=1000<SOH>15=USD<SOH>6065=150.00<SOH>6101=100.00<SOH>8001=投資組合<SOH>8002=ALIBABA<SOH>6064=1000<SOH>15=HKD<SOH>6065=80.00<SOH>6101=70.00<SOH>10=87
其中:
8=O<SOH>9=12<SOH>35=UP<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A6529=20140333<SOH>,為基于FIX構(gòu)建的報(bào)文頭;<SOH>10=87,為基于FIX協(xié)議構(gòu)建的報(bào)文尾;標(biāo)簽6529在FIX協(xié)議中表示用于區(qū)分業(yè)務(wù)的消息標(biāo)識(shí)(即業(yè)務(wù)標(biāo)識(shí));
在該響應(yīng)報(bào)文中,用戶A的“投資組合信息”所包含的子屬性“ALIBABA”以及“IBM”可以分別對(duì)應(yīng)一個(gè)獨(dú)立的子報(bào)文體。各子報(bào)文體中的內(nèi)容與表1中記載的信息保持一致。
其中,由于目標(biāo)屬性“投資組合信息”包含子屬性,因此上述響應(yīng)報(bào)文中封裝的與上述各子屬性對(duì)應(yīng)的子報(bào)文體中,可以不包含取值標(biāo)簽8004,由主標(biāo)簽8001、子標(biāo)簽8002,以及若干為上述各子屬性定義的關(guān)聯(lián)屬性對(duì)應(yīng)的標(biāo)簽(比如以上各子報(bào)文體中的標(biāo)簽6064、15、6065以及6101等等)構(gòu)成。
3)選定表1中“市場(chǎng)價(jià)值信息”為目標(biāo)數(shù)據(jù)分組
柜臺(tái)系統(tǒng)收到該查詢(xún)報(bào)文后,如果交易系統(tǒng)選定的目標(biāo)數(shù)據(jù)分組為“市場(chǎng)價(jià)值信息”(即上述查詢(xún)報(bào)文中6096=0x1):
由表1可知,“市場(chǎng)價(jià)值信息”包括“市場(chǎng)價(jià)值”這一目標(biāo)屬性,而“市場(chǎng)價(jià)值”這一目標(biāo)屬性包括“港元市場(chǎng)價(jià)值”以及“美元市場(chǎng)價(jià)值”等2個(gè)子屬性,可以針對(duì)上述2個(gè)子屬性分別構(gòu)建一個(gè)子報(bào)文體,然后基于構(gòu)建完成的子報(bào)文體封裝響應(yīng)報(bào)文。
基于圖3所示出的報(bào)文結(jié)構(gòu)、圖4中所示出的標(biāo)簽以及表1記載的信息構(gòu)建出的響應(yīng)報(bào)文如下:
8=O<SOH>9=13<SOH>35=RL<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6529=20140333<SOH>8001=港元市場(chǎng)價(jià)值<SOH>8002=HKD<SOH>15=HKD<SOH>9818=100000.00<SOH>9807=80000.00<SOH>9808=0.00<SOH>9809=0.00<SOH>8001=美元市場(chǎng)價(jià)值<SOH>8002=USD<SOH>15=USD<SOH>9818=10000.00<SOH>9807=150000.00<SOH>9808=0.00<SOH>9809=0.00<SOH>10=87
其中:
8=O<SOH>9=13<SOH>35=RL<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6529=20140333<SOH>,為基于FIX構(gòu)建的報(bào)文頭;<SOH>10=87,為基于FIX協(xié)議構(gòu)建的報(bào)文尾;標(biāo)簽6529在FIX協(xié)議中表示用于區(qū)分業(yè)務(wù)的消息標(biāo)識(shí)(即業(yè)務(wù)標(biāo)識(shí));
在該響應(yīng)報(bào)文中,用戶A的“投資組合信息”所包含的子屬性“港元市場(chǎng)價(jià)值”以及“美元市場(chǎng)價(jià)值”分別對(duì)應(yīng)一個(gè)獨(dú)立的子報(bào)文體。各子報(bào)文體中的內(nèi)容與表1中記載的信息保持一致。
其中,由于屬性“投資組合信息”包含子屬性,因此上述響應(yīng)報(bào)文中封裝的與上述各子屬性對(duì)應(yīng)的子報(bào)文體中,可以不包含取值標(biāo)簽8004,由主標(biāo)簽8001、子標(biāo)簽8002,以及若干為上述各子屬性定義的關(guān)聯(lián)屬性對(duì)應(yīng)的標(biāo)簽(比如以上各子報(bào)文體中的標(biāo)簽15、9818、9807、9808=0.00以及9809等等)構(gòu)成。
在以上例子中,分別描述了從用戶A的金融賬戶數(shù)據(jù)所包含的“賬戶基本信息”、“投資組合信息”以及“市場(chǎng)價(jià)值信息”等屬性分組中選定唯一的目標(biāo)數(shù)據(jù)分組,然后基于FIX協(xié)議封裝查詢(xún)報(bào)文以及響應(yīng)報(bào)文的過(guò)程。
需要指出的是,在實(shí)際應(yīng)用中,也可以從而用戶A的金融賬戶數(shù)據(jù)中所包含的“賬戶基本信息”、“投資組合信息”以及“市場(chǎng)價(jià)值信息”等信息目標(biāo)數(shù)據(jù)分組中選定多個(gè)屬性分組作為需要查詢(xún)的目標(biāo)數(shù)據(jù)分組;比如,可以同時(shí)選定“賬戶基本信息”、“投資組合信息”以及“市場(chǎng)價(jià)值信息”等屬性分組中的任意兩個(gè)作為目標(biāo)數(shù)據(jù)分組。
當(dāng)選定了多個(gè)屬性分組作為目標(biāo)數(shù)據(jù)分組時(shí),仍然可以基于圖3所示出的報(bào)文結(jié)構(gòu)、圖4所示出的標(biāo)簽以及表1中記錄的信息,按照以上描述的方式,針對(duì)選定的每一個(gè)目標(biāo)數(shù)據(jù)分組分別構(gòu)建出一條響應(yīng)報(bào)文。
或者,也可以針對(duì)選定的多個(gè)目標(biāo)數(shù)據(jù)分組構(gòu)建同一條響應(yīng)報(bào)文,將查詢(xún)到的與該多個(gè)目標(biāo)數(shù)據(jù)分組所包含的目標(biāo)屬性的數(shù)據(jù),分別承載在不同的子報(bào)文體中,然后使用統(tǒng)一的報(bào)文頭和報(bào)文尾,將所有的子報(bào)文體封裝在同一條響應(yīng)報(bào)文中,用以向交易系統(tǒng)返回查詢(xún)結(jié)果,具體實(shí)施過(guò)程不再詳述。
在本例中,當(dāng)柜臺(tái)系統(tǒng)將構(gòu)建完成的響應(yīng)報(bào)文發(fā)送至交易系統(tǒng)后,還可以基于圖3所示出的報(bào)文結(jié)構(gòu)以及圖4中示出的標(biāo)簽構(gòu)建一條結(jié)束報(bào)文,構(gòu)建的結(jié)束報(bào)文如下:
8=O<SOH>9=12<SOH>35=EB<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>6529=20140333<SOH>10=7
其中:
8=O<SOH>9=12<SOH>35=EB<SOH>34=536<SOH>49=A<SOH>52=20151014-05:48:49.771<SOH>56=A<SOH>,為基于FIX構(gòu)建的報(bào)文頭;<SOH>10=7,為基于FIX協(xié)議構(gòu)建的報(bào)文尾;標(biāo)簽6529在FIX協(xié)議中表示用于區(qū)分業(yè)務(wù)的消息標(biāo)識(shí)(即業(yè)務(wù)標(biāo)識(shí))。
當(dāng)交易系統(tǒng)接收到上述柜臺(tái)系統(tǒng)發(fā)送的響應(yīng)報(bào)文后,可以解析該響應(yīng)報(bào)文中的子報(bào)文體所承載的查詢(xún)結(jié)果,并在接收到上述結(jié)束報(bào)文后,將該查詢(xún)結(jié)果提交至與上述消息標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù),然后由交易系統(tǒng)為基于查詢(xún)結(jié)果為用戶A推薦股票數(shù)據(jù)。
通過(guò)以上實(shí)施例可知,在本例中通過(guò)對(duì)FIX協(xié)議進(jìn)行擴(kuò)展:
第一方面,實(shí)現(xiàn)了在查詢(xún)金融賬戶數(shù)據(jù)時(shí),可以通過(guò)在封裝后的查詢(xún)報(bào)文中攜帶查詢(xún)類(lèi)型標(biāo)簽,指定柜臺(tái)系統(tǒng)返回所選定的目標(biāo)數(shù)據(jù)分組的信息,從而使得數(shù)據(jù)的查詢(xún)更加靈活。
第二方面,通過(guò)對(duì)FIX協(xié)議進(jìn)行擴(kuò)展,在封裝響應(yīng)報(bào)文時(shí),通過(guò)將與用戶選定的目標(biāo)數(shù)據(jù)分組中所包含的若干目標(biāo)屬性的數(shù)據(jù)分別承載在不同的子報(bào)文體中,可以利用不同的子報(bào)文體來(lái)組織各種目標(biāo)屬性的數(shù)據(jù),通過(guò)子報(bào)文來(lái)實(shí)現(xiàn)目標(biāo)屬性的隔離,使得某一個(gè)目標(biāo)屬性的標(biāo)簽發(fā)生了變化,或者新增了屬性時(shí),可以通過(guò)擴(kuò)展子報(bào)文體,快速的適應(yīng)數(shù)據(jù)的變化,而不需要針對(duì)屬性對(duì)應(yīng)的標(biāo)簽進(jìn)行單獨(dú)修改,從而使得報(bào)文的可擴(kuò)展性更好。而且,通過(guò)擴(kuò)展子報(bào)文體,可以對(duì)查詢(xún)結(jié)果中所包含的各屬性的數(shù)據(jù),重新進(jìn)行組織并進(jìn)一步進(jìn)行歸類(lèi),將查詢(xún)結(jié)果中所包含的各目標(biāo)屬性,以及為該目標(biāo)屬性定義的關(guān)聯(lián)屬性封裝在同一個(gè)子報(bào)文體中,從而使得響應(yīng)報(bào)文中所承載的各目標(biāo)屬性對(duì)應(yīng)的數(shù)據(jù)將更加易于解析和提取。
第三方面,由于在對(duì)FIX協(xié)議進(jìn)行擴(kuò)展時(shí),封裝的報(bào)文頭以及報(bào)文尾的仍然遵循FIX協(xié)議標(biāo)準(zhǔn),從而基于擴(kuò)展后的FIX協(xié)議封裝出的查詢(xún)報(bào)文,能夠兼容現(xiàn)有的FIX協(xié)議,使得基于FIX協(xié)議現(xiàn)有的FIX報(bào)文處理引擎仍然能夠正常處理擴(kuò)展后的報(bào)文,因此在執(zhí)行數(shù)據(jù)查詢(xún)時(shí),仍然可以很好利用金融機(jī)構(gòu)之間原有的通信鏈路,而不需要基于擴(kuò)展后的FIX報(bào)文重新創(chuàng)建新的通信鏈路。
與上述方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了裝置的實(shí)施例。
請(qǐng)參見(jiàn)圖5,本申請(qǐng)?zhí)岢鲆环N數(shù)據(jù)的查詢(xún)裝置50,應(yīng)用于查詢(xún)端;其中,請(qǐng)參見(jiàn)圖6,作為承載所述目標(biāo)數(shù)據(jù)的查詢(xún)裝置50的查詢(xún)端所涉及的硬件架構(gòu)中,通常包括CPU、內(nèi)存、非易失性存儲(chǔ)器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實(shí)現(xiàn)為例,所述目標(biāo)數(shù)據(jù)的查詢(xún)裝置50通??梢岳斫鉃榧虞d在內(nèi)存中的計(jì)算機(jī)程序,通過(guò)CPU運(yùn)行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置50包括:
第一接收模塊501,用于接收查詢(xún)端發(fā)送的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
查詢(xún)模塊502,用于查詢(xún)所述查詢(xún)數(shù)據(jù)所指示的所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),
構(gòu)建模塊503,用于基于查詢(xún)到的所述數(shù)據(jù)構(gòu)建響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文包含至少一個(gè)子報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中;
第一發(fā)送模塊504,用于將構(gòu)建完成的響應(yīng)報(bào)文發(fā)送至所述查詢(xún)端。
在本例中,所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽、取值標(biāo)簽以及自定義標(biāo)簽中的一個(gè)或者多個(gè);
其中,所述主標(biāo)簽,用于指示所述子報(bào)文體對(duì)應(yīng)的屬性;
所述子標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示所述屬性所包含的子屬性的標(biāo)識(shí);
所述取值標(biāo)簽,用于指示與所述屬性對(duì)應(yīng)的取值;
所述自定義標(biāo)簽,用于在所述屬性包含子屬性時(shí),指示為所述子屬性定義的關(guān)聯(lián)屬性的取值;以及,在所述屬性不包含子屬性時(shí),指示為所述屬性定義的關(guān)聯(lián)屬性的取值。
在本例中,當(dāng)所述屬性不包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、取值標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
當(dāng)所述屬性包含子屬性時(shí),所述子報(bào)文體包括主標(biāo)簽、子標(biāo)簽以及至少一個(gè)自定義標(biāo)簽;
其中,當(dāng)所述屬性包含多個(gè)子屬性時(shí),每一子屬性分別對(duì)應(yīng)不同的子報(bào)文體。
在本例中,所述構(gòu)建模塊503進(jìn)一步用于:
當(dāng)所述查詢(xún)數(shù)據(jù)指示針對(duì)所述目標(biāo)數(shù)據(jù)中的多個(gè)目標(biāo)數(shù)據(jù)分組時(shí),基于查詢(xún)到的與所述多個(gè)目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),針對(duì)所述多個(gè)目標(biāo)數(shù)據(jù)分組分別構(gòu)建響應(yīng)報(bào)文。
在本例中,所述目標(biāo)數(shù)據(jù)為金融賬戶數(shù)據(jù)。
請(qǐng)參見(jiàn)圖7,本申請(qǐng)?zhí)岢隽硪环N數(shù)據(jù)的查詢(xún)裝置70,應(yīng)用于查詢(xún)響應(yīng)端;其中,請(qǐng)參見(jiàn)圖8,作為承載所述目標(biāo)數(shù)據(jù)的查詢(xún)裝置70的查詢(xún)響應(yīng)端所涉及的硬件架構(gòu)中,通常包括CPU、內(nèi)存、非易失性存儲(chǔ)器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實(shí)現(xiàn)為例,所述目標(biāo)數(shù)據(jù)的查詢(xún)裝置70通??梢岳斫鉃榧虞d在內(nèi)存中的計(jì)算機(jī)程序,通過(guò)CPU運(yùn)行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置70包括:
第二發(fā)送模塊701,用于向查詢(xún)響應(yīng)端發(fā)送針對(duì)所述目標(biāo)數(shù)據(jù)的查詢(xún)報(bào)文;所述查詢(xún)報(bào)文攜帶查詢(xún)數(shù)據(jù);所述查詢(xún)數(shù)據(jù)指示目標(biāo)數(shù)據(jù)中的一個(gè)或者多個(gè)目標(biāo)數(shù)據(jù)分組;所述目標(biāo)數(shù)據(jù)被預(yù)先劃分為若干數(shù)據(jù)分組,每一數(shù)據(jù)分組包含若干屬性的數(shù)據(jù);
第二接收模塊702,用于接收查詢(xún)響應(yīng)端發(fā)送的響應(yīng)報(bào)文;其中,所述響應(yīng)報(bào)文中包含至少一個(gè)報(bào)文體;與所述目標(biāo)數(shù)據(jù)分組中所包含的屬性對(duì)應(yīng)的數(shù)據(jù)分別承載在不同的子報(bào)文體中。
在本例中,所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文兼容FIX協(xié)議報(bào)文結(jié)構(gòu);所述響應(yīng)報(bào)文、所述查詢(xún)報(bào)文以及所述結(jié)束報(bào)文攜帶相同的業(yè)務(wù)標(biāo)識(shí);
所述第二接收模塊702進(jìn)一步用于:
將解析所述響應(yīng)報(bào)文中的子報(bào)文體獲得的與所述目標(biāo)數(shù)據(jù)分組對(duì)應(yīng)的數(shù)據(jù),提交至與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)中進(jìn)行處理。
本領(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)。