一種基于fix的協(xié)議轉(zhuǎn)換系統(tǒng)的制作方法
【專利摘要】本實(shí)用新型涉及證券交易系統(tǒng)技術(shù)領(lǐng)域,更具體涉及一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng),包括用于提取FIX協(xié)議特征碼的特征值提取模塊、用于解決FIX協(xié)議語(yǔ)意之間匹配的規(guī)則處理模塊、用于填充對(duì)接后臺(tái)證券交易系統(tǒng)所需的固定參數(shù)的對(duì)接前置模塊,所述特征值提取模塊、規(guī)則處理模塊和對(duì)接前置模塊依次通過(guò)總線進(jìn)行連接。通過(guò)系統(tǒng)配置特征值提取模塊、規(guī)則處理模塊和對(duì)接前置模塊,通過(guò)轉(zhuǎn)換規(guī)則實(shí)現(xiàn)了多個(gè)后臺(tái)證券交易系統(tǒng)的內(nèi)部協(xié)議轉(zhuǎn)換工作,將繁復(fù)的對(duì)接工作轉(zhuǎn)化為簡(jiǎn)單的規(guī)則配置,簡(jiǎn)化了現(xiàn)有多個(gè)后臺(tái)證券交易系統(tǒng)的對(duì)接工作,提高了系統(tǒng)的可維護(hù)性與可擴(kuò)展性。
【專利說(shuō)明】
一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng)
技術(shù)領(lǐng)域
[0001]本實(shí)用新型屬于證券交易系統(tǒng)技術(shù)領(lǐng)域,更具體地,涉及一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng)。
【背景技術(shù)】
[0002]FIX協(xié)議是廣泛用于國(guó)外證券行業(yè)的一種信息交換協(xié)議,投資者可通過(guò)FIX協(xié)議直接將委托指令發(fā)送到證券公司,并最終發(fā)送到證券交易所。其特點(diǎn)是高速、程序化交易,并且由于其協(xié)議的標(biāo)準(zhǔn)性,投資者只需要關(guān)心協(xié)議語(yǔ)意上的差異就可以平滑的實(shí)現(xiàn)各個(gè)市場(chǎng)的對(duì)接。
[0003]在國(guó)內(nèi),券商的接入?yún)f(xié)議主要以私有協(xié)議為準(zhǔn),各個(gè)券商的協(xié)議也大相徑庭。而多年來(lái)的積累,在券商內(nèi)部的后臺(tái)系統(tǒng)也分化成多種系統(tǒng)。如果要實(shí)現(xiàn)統(tǒng)一的FIX接入,則必須實(shí)現(xiàn)對(duì)現(xiàn)有各個(gè)后臺(tái)系統(tǒng)的對(duì)接,而這個(gè)對(duì)接工作是相當(dāng)繁復(fù),出現(xiàn)問(wèn)題不易排查。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)存在的至少一種缺陷或不足,本實(shí)用新型提出了一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng),簡(jiǎn)化了現(xiàn)有的后臺(tái)交易系統(tǒng)對(duì)接工作,實(shí)現(xiàn)了內(nèi)部協(xié)議的轉(zhuǎn)換,使得系統(tǒng)具有可維護(hù)性與可擴(kuò)展性。
[0005]技術(shù)方案如下:一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng),包括特征值提取模塊、規(guī)則處理模塊、對(duì)接前置模塊和對(duì)接系統(tǒng)模塊,所述特征值提取模塊、規(guī)則處理模塊、對(duì)接前置模塊和對(duì)接系統(tǒng)模塊依次通過(guò)總線進(jìn)行連接。
[0006]進(jìn)一步地,特征值提取模塊通過(guò)將總線發(fā)送的FIX協(xié)議消息,根據(jù)消息類型,對(duì)消息類型所需要的字段進(jìn)行提取。
[0007]進(jìn)一步地,所述特征值提取模塊包括編碼單元,所述編碼單元用于對(duì)提取后的消息進(jìn)行編碼,根據(jù)編碼結(jié)果以及路由信息組合生成一個(gè)唯一的特征值,然后將提取的FIX消息發(fā)送到總線上。
[0008]進(jìn)一步地,所述規(guī)則處理模塊包括匹配單元,所述匹配單元通過(guò)所述編碼單元生成的特征值對(duì)所述總線發(fā)送的FIX消息進(jìn)行匹配,如果匹配,則根據(jù)規(guī)則提取需要的消息字段進(jìn)行打包并發(fā)送到總線上,如果不匹配則會(huì)過(guò)濾掉該消息。
[0009]進(jìn)一步地,還包括規(guī)則管理模塊,所述規(guī)則管理模塊通過(guò)總線與所述規(guī)則處理模塊連接,規(guī)則管理模塊包括數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中包含多個(gè)規(guī)則文件,所述規(guī)則管理模塊用于將多個(gè)規(guī)則文件解析成具體規(guī)則,保證規(guī)則在數(shù)據(jù)庫(kù)中的唯一性,并將規(guī)則文件發(fā)送給所述規(guī)則處理模塊進(jìn)行驗(yàn)證處理。
[0010]進(jìn)一步地,所述對(duì)接前置模塊用于通過(guò)總線接收所述規(guī)則處理模塊的輸出,捆綁對(duì)接的后臺(tái)證券交易系統(tǒng)所需要的靜態(tài)數(shù)據(jù),實(shí)現(xiàn)整個(gè)協(xié)議的轉(zhuǎn)換。
[0011]本實(shí)用新型與現(xiàn)有技術(shù)相比,具有以下有益效果:通過(guò)系統(tǒng)配置特征值提取模塊、規(guī)則處理模塊和對(duì)接系統(tǒng)前置模塊,通過(guò)轉(zhuǎn)換規(guī)則實(shí)現(xiàn)了多個(gè)后臺(tái)證券交易系統(tǒng)的內(nèi)部協(xié)議轉(zhuǎn)換工作,將繁復(fù)的對(duì)接工作轉(zhuǎn)化為簡(jiǎn)單的規(guī)則配置,簡(jiǎn)化了現(xiàn)有多個(gè)后臺(tái)證券交易系統(tǒng)的對(duì)接工作,提高了系統(tǒng)的可維護(hù)性與可擴(kuò)展性。
【附圖說(shuō)明】
[0012]圖1為本實(shí)用新型一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng)的結(jié)構(gòu)圖。
[0013]圖2為規(guī)則管理模塊與規(guī)則處理模塊的功能交互結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0014]下面將結(jié)合本實(shí)用新型的附圖,對(duì)本實(shí)用新型實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅僅是本實(shí)用新型一部分實(shí)施例,而不是全部的實(shí)施例?;诒緦?shí)用新型中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本實(shí)用新型保護(hù)的范圍。
[0015]如圖1所示,一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng),包括特征值提取模塊100、規(guī)則處理模塊101、對(duì)接前置模塊102和對(duì)接系統(tǒng)模塊103,所述特征值提取模塊100、規(guī)則處理模塊101、對(duì)接前置模塊102和對(duì)接系統(tǒng)模塊103分別與總線連接。特征值提取模塊100用于提取FIX協(xié)議特征碼,規(guī)則處理模塊101用于解決FIX協(xié)議語(yǔ)意之間的匹配,對(duì)接前置模塊102用于填充對(duì)接后臺(tái)證券交易系統(tǒng)所需的固定參數(shù)。
[0016]進(jìn)一步地,所述協(xié)議轉(zhuǎn)換系統(tǒng)還包括規(guī)則管理模塊103,所述規(guī)則管理模塊104通過(guò)總線與所述規(guī)則處理模塊101連接,用于解析規(guī)則文件,負(fù)責(zé)規(guī)則文件同步。
[0017]具體的工作原理如下:
[0018]接入的FIX協(xié)議通過(guò)總線發(fā)送到特征值提取模塊100,例如FIX協(xié)議為8=FIXT.1.19=295535=A1129=N1156=049=aa56=bb34=0212=0369=098=0108=30010=123,首先特征值提取模塊100提取FIX協(xié)議類型,具體對(duì)應(yīng)為35=A中的A,其提取方法可以采用下述方法實(shí)現(xiàn):對(duì)于消息類型A配置的規(guī)則可設(shè)置為[
[1129],{〃N〃:〃auth〃,〃T〃:〃finauth〃}],其中
[1129]表示為我們需要采集的特征值字段,{"N": "auth","T": "f inauth"}是最后的特征值隱射表。提取出FIX協(xié)議類型以后,查找內(nèi)建的規(guī)則庫(kù),如果發(fā)現(xiàn)規(guī)則庫(kù)里面沒有A對(duì)應(yīng)的規(guī)則,那么丟棄此FIX消息,如果發(fā)現(xiàn)規(guī)則庫(kù)里面有A對(duì)應(yīng)的規(guī)則,那么處理這條FIX消息。提取到特征值后,首先根據(jù)特征值采集字段讀取特征值,在這里我們需要采集的特征值字段是1129,對(duì)應(yīng)于FIX協(xié)議里面的1129=N,也就是特征值為N,然后查找映射表,得到最終的關(guān)鍵字為〃 auth ",最后將此消息的路由信息和關(guān)鍵字合并,將FIX消息發(fā)送給總線。
[0019]規(guī)則處理模塊101通過(guò)配置的過(guò)濾參數(shù)對(duì)總線上的數(shù)據(jù)進(jìn)行過(guò)濾,例如配置的參數(shù)為〃systeml",表示處理所有目的地為systeml的消息,然后再對(duì)在特征值提取模塊里面所產(chǎn)生的關(guān)鍵字進(jìn)行匹配,如果關(guān)鍵字不匹配,那么此消息被丟棄。如果關(guān)鍵字匹配,那么查詢對(duì)應(yīng)的規(guī)則,在實(shí)施例中可以設(shè)置處理規(guī)則分為兩類,第一類為字段提取,主要作用為提取需要關(guān)注的字段,比如對(duì)于消息類型4需要提取的字段為[1129,553,554],對(duì)于示例里面的FIX協(xié)議,模塊會(huì)分別提取這三個(gè)字段的值進(jìn)入到一個(gè)三元組里面,如[N,010100001,123123],再根據(jù)對(duì)應(yīng)規(guī)則,設(shè)置轉(zhuǎn)換字段,比如需要轉(zhuǎn)換的字段分別為[inpUt_COntent,account_content,password],其中input_content對(duì)應(yīng)的規(guī)則為[
[1129],[〃T〃],[〃Χ〃]]和[[!^^,[〃^,[^^,那么模塊首先會(huì)測(cè)試規(guī)則“丨口幻’廠^’廠^^是否滿足’如果1129這個(gè)字段的值是〃1'〃,那么設(shè)置丨即此_(301^61^的字段為1〃,在實(shí)施例中,1129的值為N,不滿足上述規(guī)則,測(cè)試下一個(gè)規(guī)則,所以將inpUt_COntent的字段設(shè)置為N,同樣對(duì)于account_content設(shè)置的規(guī)則為[[553],null,[553]],表示為將553的值直接賦值給account_content,同樣的對(duì)于password的規(guī)則[[554] ,null, [554]],將554的值直接賦值給password,最終會(huì)得到一個(gè)結(jié)果集合,如:{input_content: 〃6〃,account_content:"010100001〃,password: 〃123123〃},處理完以后將這個(gè)結(jié)果集合發(fā)送到總線上去。
[0020]對(duì)接前置模塊102主要實(shí)現(xiàn)和對(duì)接系統(tǒng)相關(guān)的輸入?yún)?shù)的匹配,特定的交易系統(tǒng)輸入?yún)?shù)往往還有一些系統(tǒng)特定的參數(shù),當(dāng)規(guī)則處理模塊將協(xié)議實(shí)現(xiàn)轉(zhuǎn)換以后,對(duì)接系統(tǒng)前置模塊負(fù)責(zé)將系統(tǒng)相關(guān)的參數(shù)補(bǔ)齊,然后將結(jié)果打包發(fā)送給總線上。
[0021]規(guī)則管理模塊104實(shí)現(xiàn)對(duì)規(guī)則文件的解析、發(fā)布以及對(duì)規(guī)則處理模塊的管理,規(guī)則文件主要采用json格式,其中ID字段為規(guī)則的唯一 ID,不同規(guī)則通過(guò)ID區(qū)分,對(duì)于規(guī)則的更新,也是通過(guò)ID來(lái)完成的。每次更新規(guī)則文件,管理模塊會(huì)對(duì)文件解析,生成對(duì)應(yīng)字節(jié)碼,如果解析發(fā)生錯(cuò)誤,則規(guī)則不被更新,如果解析正確,規(guī)則更新,并且將規(guī)則同步到規(guī)則處理模塊。規(guī)則處理模塊和規(guī)則管理模塊直接通過(guò)PUB/SUB功能完成同步。
[0022]通過(guò)采用本實(shí)用新型的協(xié)議轉(zhuǎn)換系統(tǒng),其配置特征值提取模塊、規(guī)則處理模塊和對(duì)接系統(tǒng)前置模塊,通過(guò)轉(zhuǎn)換規(guī)則實(shí)現(xiàn)了多個(gè)后臺(tái)證券交易系統(tǒng)的內(nèi)部協(xié)議轉(zhuǎn)換工作,將繁復(fù)的對(duì)接工作轉(zhuǎn)化為簡(jiǎn)單的規(guī)則配置,簡(jiǎn)化了現(xiàn)有多個(gè)后臺(tái)證券交易系統(tǒng)的對(duì)接工作,提高了系統(tǒng)的可維護(hù)性與可擴(kuò)展性。
[0023]以上所述的本實(shí)用新型的實(shí)施方式,并不構(gòu)成對(duì)本實(shí)用新型保護(hù)范圍的限定。任何在本實(shí)用新型的精神原則之內(nèi)所作出的修改、等同替換和改進(jìn)等,均應(yīng)包含在本實(shí)用新型的權(quán)利要求保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于FIX的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:包括特征值提取模塊、規(guī)則處理模塊、對(duì)接前置模塊和對(duì)接系統(tǒng)模塊,所述特征值提取模塊、規(guī)則處理模塊、對(duì)接前置模塊和對(duì)接系統(tǒng)模塊依次通過(guò)總線進(jìn)行連接。2.根據(jù)權(quán)利要求1所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:所述特征值提取模塊用于對(duì)所述總線發(fā)送的FIX協(xié)議消息進(jìn)行提取。3.根據(jù)權(quán)利要求2所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:所述特征值提取模塊包括編碼單元,所述編碼單元用于對(duì)提取后的消息進(jìn)行編碼并根據(jù)編碼結(jié)果生成特征值。4.根據(jù)權(quán)利要求3所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:所述規(guī)則處理模塊包括匹配單元,所述匹配單元用于通過(guò)所述編碼單元生成的特征值對(duì)所述總線發(fā)送的FIX消息進(jìn)行匹配。5.根據(jù)權(quán)利要求1所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:還包括規(guī)則管理模塊,所述規(guī)則管理模塊通過(guò)Pub/Sub與所述規(guī)則處理模塊進(jìn)行同步。6.根據(jù)權(quán)利要求5所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:所述規(guī)則管理模塊包括數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中包含多個(gè)規(guī)則文件,所述規(guī)則管理模塊用于將多個(gè)規(guī)則文件通過(guò)數(shù)據(jù)庫(kù)進(jìn)行更新,并將更新后的規(guī)則文件發(fā)送給所述規(guī)則處理模塊進(jìn)行處理。7.根據(jù)權(quán)利要求6所述的協(xié)議轉(zhuǎn)換系統(tǒng),其特征在于:所述對(duì)接前置模塊用于通過(guò)總線接收所述規(guī)則處理模塊的輸出。
【文檔編號(hào)】G06Q40/04GK205540715SQ201620069814
【公開日】2016年8月31日
【申請(qǐng)日】2016年1月25日
【發(fā)明人】胡冠睿, 林建何, 梁?jiǎn)Ⅷ? 楊濤, 王烈波, 陶瑞甫, 王輝, 鐘海, 譚成鑫, 蔡偉林, 謝健征, 林春泉
【申請(qǐng)人】廣發(fā)證券股份有限公司