999精品,丝袜综合,大陆老熟妇性,中国老女人AV,亚洲精品国产第一区二区三区

基于內(nèi)存映射技術(shù)的千萬級客戶數(shù)據(jù)在分布式證券核心交易系統(tǒng)的內(nèi)存緩存研究與應(yīng)用
發(fā)布時(shí)間:2023-08-21 23:14:58 文章來源:深交所網(wǎng)站
當(dāng)前位置: 主頁 > 資訊 > 國內(nèi) > 正文

【摘要】新一代分布式證券核心交易系統(tǒng)普遍采用內(nèi)存化交易,雖然系統(tǒng)性能得到了極大提升,但是存在內(nèi)存容量有限、異?;謴?fù)慢、缺乏通用干預(yù)手段等問題。本課題提出一種分布式多級緩存架構(gòu),減少集中式數(shù)據(jù)訪問風(fēng)險(xiǎn)、緩存容量大等問題;基于內(nèi)存映射技術(shù)實(shí)現(xiàn)高性能、大容量內(nèi)存緩存,使用“熱點(diǎn)數(shù)據(jù)優(yōu)先加載,非熱點(diǎn)數(shù)據(jù)延遲加載”策略,解決內(nèi)存異?;謴?fù)慢問題;提供輕量SQL引擎,實(shí)時(shí)操作內(nèi)存數(shù)據(jù),實(shí)現(xiàn)內(nèi)存可視化。此外,本課題提出了一種多種客戶分區(qū)策略,將千萬級客戶橫向劃分到多個交易節(jié)點(diǎn),單節(jié)點(diǎn)內(nèi)縱向劃分到多個交易核心,從而滿足高容量、高吞吐、低延時(shí)的交易需求。


(相關(guān)資料圖)

01

課題背景及意義

1.1

課題背景

為順應(yīng)數(shù)字經(jīng)濟(jì)和實(shí)體經(jīng)濟(jì)深度融合的國家戰(zhàn)略,證監(jiān)會科技監(jiān)管局發(fā)布的《證券期貨業(yè)科技發(fā)展“十四五”規(guī)劃》針對核心交易系統(tǒng)建設(shè)提出要求:“持續(xù)打造行業(yè)新型基礎(chǔ)設(shè)施建設(shè),在行業(yè)核心機(jī)構(gòu)和組織平臺建設(shè)方面,著力打造優(yōu)化新一代交易結(jié)算系統(tǒng)”。

近年來,基于分布式低時(shí)延架構(gòu)已成為證券交易系統(tǒng)架構(gòu)的發(fā)展趨勢,全球大型證券交易所、境外大型投行、國內(nèi)頭部券商核心交易系統(tǒng)都向分布式架構(gòu)轉(zhuǎn)型,以達(dá)到高性能、高并發(fā)、可擴(kuò)展的建設(shè)目標(biāo)。

1.2

研究意義

分布式證券核心交易系統(tǒng)普遍采用內(nèi)存交易。內(nèi)存化交易面臨諸如穩(wěn)定性、容量有限、高性能、易用性、可維護(hù)性等問題或風(fēng)險(xiǎn):

海通證券以全自主研發(fā)模式,探索了基于高速容錯消息總線的新一代分布式交易系統(tǒng)(簡稱HOTS系統(tǒng))。一方面借鑒傳統(tǒng)數(shù)據(jù)庫高可用原理、豐富的運(yùn)維手段,強(qiáng)化穩(wěn)定性、可維護(hù)性、易用性;另一方面通過數(shù)據(jù)建模、分區(qū),應(yīng)用架構(gòu)革新等,解決容量、性能問題。

02

課題目標(biāo)及內(nèi)容

2.1

課題目標(biāo)

在整個金融行業(yè)面臨系統(tǒng)架構(gòu)、業(yè)務(wù)需求、性能和運(yùn)維方面各種挑戰(zhàn)的背景下,HOTS系統(tǒng)不僅需要解決目前現(xiàn)有系統(tǒng)面臨的諸多問題,而且需要支撐未來10~20年的業(yè)務(wù)持續(xù)發(fā)展,進(jìn)而為整個金融行業(yè)提供一些有價(jià)值的、可參考的應(yīng)用成果。

2.2

課題內(nèi)容

本課題將從四個研究方向展開:

分布式多級緩存;

基于內(nèi)存映射技術(shù)的內(nèi)存緩存;

基于輕量SQL引擎的內(nèi)存緩存;

千萬級客戶內(nèi)存緩存研究與實(shí)現(xiàn)。

2.2.1 分布式多級緩存

圖1 HOTS系統(tǒng)架構(gòu)圖

HOTS系統(tǒng)基于分布式低時(shí)延應(yīng)用架構(gòu),采用高速容錯消息總線和內(nèi)存交易技術(shù),它具有高性能、低時(shí)延,高穩(wěn)定性、高可用性等特點(diǎn)。HOTS系統(tǒng)每個應(yīng)用都具備緩存數(shù)據(jù)能力,天然地形成了分布式多級緩存。

圖2 分布式多級緩存示意圖

1)接入網(wǎng)關(guān)緩存登陸客戶資產(chǎn)、交易結(jié)果數(shù)據(jù);

2)交易前置緩存全量客戶資產(chǎn)、交易結(jié)果數(shù)據(jù);

3)交易核心緩存全量客戶資產(chǎn)、交易請求、結(jié)果數(shù)據(jù)。

分層緩存架構(gòu),將集中數(shù)據(jù)訪問分解為多級數(shù)據(jù)訪問,提升訪問效率。每級緩存實(shí)現(xiàn)多副本數(shù)據(jù)持久化,采用日志回放(重演)機(jī)制,快速重建內(nèi)存,增強(qiáng)容錯性。

2.2.2 基于內(nèi)存映射技術(shù)的高效內(nèi)存緩存

新一代核心交易系統(tǒng)內(nèi)存緩存管理主要問題:數(shù)據(jù)恢復(fù)慢、數(shù)據(jù)一致性、內(nèi)存安全性、內(nèi)存占用大。

為了解決這些問題,本課題提出一種基于內(nèi)存映射技術(shù)的高效、安全的內(nèi)存緩存管理方法,有效提升內(nèi)存重建速度,降低重演前后數(shù)據(jù)的不一致性概率,解決內(nèi)存占用大問題。

本課題高效內(nèi)存緩存的核心技術(shù):

1)存儲結(jié)構(gòu):特殊的數(shù)據(jù)文件、索引文件結(jié)構(gòu),熱點(diǎn)、非熱點(diǎn)數(shù)據(jù)分區(qū)存儲;

2)緩存機(jī)制:熱點(diǎn)數(shù)據(jù)全量加載,非熱點(diǎn)數(shù)據(jù)延遲加載(索引查找記錄行號后再加載數(shù)據(jù)),索引全量加載;

3)緩存替換策略(LRU+LTU):LRU表示替換最近被請求最少的對象;LTU表示替換最早使用的對象(證券交易客戶行為特點(diǎn));

4)重演恢復(fù):基于內(nèi)存映射技術(shù)并發(fā)加載內(nèi)存快照,再增量重演總線數(shù)據(jù);

5)內(nèi)存管理器:提出一種高效的內(nèi)存申請算法,制定標(biāo)準(zhǔn)的內(nèi)存訪問接口,表級、行級并發(fā)控制,保證內(nèi)存更加安全、高效訪問。

圖3 特殊的數(shù)據(jù)文件、索引文件存儲結(jié)構(gòu)示意圖

2.2.3 基于輕量SQL引擎的內(nèi)存緩存

傳統(tǒng)關(guān)系型數(shù)據(jù)庫用SQL語句管理數(shù)據(jù)庫,極大提升運(yùn)維效率,而內(nèi)存化數(shù)據(jù)常使用特殊的運(yùn)維工具,不僅維護(hù)、學(xué)習(xí)成本高,而且操作不當(dāng)還可能導(dǎo)致內(nèi)存數(shù)據(jù)破壞,引發(fā)生產(chǎn)事故。

圖4 輕量SQL引擎內(nèi)部結(jié)構(gòu)圖

因此將SQL引擎植入內(nèi)存結(jié)構(gòu)表,徹底解決內(nèi)存緩存可視化難題,降低運(yùn)維復(fù)雜度,提升系統(tǒng)易用性、健壯性。

圖5 SQL語句操作內(nèi)存緩存示意圖

輕量SQL引擎實(shí)現(xiàn)緩存可視化操作:

1)支持WEB柜臺對多個節(jié)點(diǎn)發(fā)送SQL請求,以及結(jié)果展示;

2)支持節(jié)點(diǎn)級、群組級、設(shè)備級三種模式控制SQL執(zhí)行;

3)支持SQL語句預(yù)執(zhí)行;

4)兼容常用SQL語法。

2.2.4 千萬級客戶的內(nèi)存緩存研究與實(shí)現(xiàn)

對證券核心交易系統(tǒng)緩存數(shù)據(jù)建模,可以分為三類:

1)客戶數(shù)據(jù):包含客戶信息、股東賬戶、資金、持倉等;

2)交易數(shù)據(jù):包含委托、轉(zhuǎn)賬、倉單、負(fù)債等;

3)基礎(chǔ)數(shù)據(jù):包含證券基本信息、系統(tǒng)參數(shù)等;

單節(jié)點(diǎn)500萬客戶、500萬委托,客戶數(shù)據(jù)占總量數(shù)據(jù)82%,因此該類數(shù)據(jù)成為內(nèi)存緩存研究的關(guān)鍵對象。

2.2.4.1 多策略客戶分區(qū)

根據(jù)證券核心交易業(yè)務(wù)特點(diǎn),本課題提出了多種客戶分區(qū)策略:

1)客戶類型:分成普通經(jīng)紀(jì)客戶、信用客戶兩類;

2)營業(yè)部:將若干個營業(yè)部客戶集中到一個交易節(jié)點(diǎn);

3)營業(yè)部、委托量策略:營業(yè)部策略基礎(chǔ)上考慮營業(yè)部每日委托量,將委托量大的營業(yè)部盡可能均衡分布到多個交易核心;

4)白名單策略:分布式系統(tǒng)升級時(shí)常用灰度發(fā)布策略,因此灰度客戶指定交易核心,減少新業(yè)務(wù)上線風(fēng)險(xiǎn)。

實(shí)際運(yùn)營管理時(shí),通過業(yè)務(wù)監(jiān)控分析交易特點(diǎn),靈活設(shè)置客戶分區(qū)策略,T+1日時(shí)生效。

2.2.4.2 總線點(diǎn)對點(diǎn)通訊

單節(jié)點(diǎn)內(nèi)部署多交易核心組,由于其訂閱消息相同,交易前置、報(bào)盤會分別給多個交易核心組推送數(shù)據(jù),這樣交易前置、報(bào)盤總線通訊量會變大N倍(N=核心組數(shù)量)。因此增加客戶級、股東賬戶級路由推送,保證交易前置、報(bào)盤總線消息推送給指定核心,減少總線通訊量,降低全鏈路時(shí)延。

圖6 點(diǎn)對點(diǎn)通訊邏輯示意圖

2.2.4.3 系統(tǒng)異?;謴?fù)

盤前數(shù)據(jù)上場時(shí),根據(jù)總線消息,構(gòu)建內(nèi)存結(jié)構(gòu)表,生成內(nèi)存快照文件。重演時(shí),應(yīng)用優(yōu)先并發(fā)加載本地內(nèi)存快照文件,再根據(jù)指定的總線序號增量重演。

假如重演時(shí)應(yīng)用校驗(yàn)緩存文件異常,沿用總線全量重演模式。

圖7 異常重啟流程圖

03

課題成果應(yīng)用

3.1

基于內(nèi)存映射技術(shù)的內(nèi)存恢復(fù)

測試單節(jié)點(diǎn)100萬、500萬、1500萬三種客戶量,主要測試案例:

1)全量客戶加載緩存大小,對比只加載熱點(diǎn)客戶(100萬)緩存大??;

2)對比內(nèi)存映射、常規(guī)文件讀取加載內(nèi)存快照耗時(shí),再對比總線全量重演。

表1 多種內(nèi)存恢復(fù)耗時(shí)

主要成果:

1)單節(jié)點(diǎn)500萬客戶,優(yōu)先加載100萬熱點(diǎn)客戶恢復(fù),緩存空間大幅下降(66%+);

2)隨著緩存空間下降,內(nèi)存快照重演較總線重演耗時(shí)大幅下降(77%+),內(nèi)存映射性能更加極致,下降98%至秒級;

3)熱點(diǎn)客戶量穩(wěn)定時(shí),即使單節(jié)點(diǎn)客戶大幅增加,緩存空間增長比例低(僅6%),恢復(fù)耗時(shí)變動平穩(wěn)(僅為秒級)。

3.2

內(nèi)存緩存可視化成果

圖8 WEB柜臺實(shí)現(xiàn)內(nèi)存可視化界面

主要成果:

1)支持節(jié)點(diǎn)、群組、設(shè)備三級緩存操作;

2)權(quán)限管理,以及操作流水復(fù)核,便于運(yùn)維人員核對SQL執(zhí)行結(jié)果;

3)解決內(nèi)存緩存黑盒子問題,實(shí)現(xiàn)緩存的可視化,為內(nèi)存巡檢、監(jiān)控賦能,提供盤中干預(yù)方法,便于異常時(shí)快速運(yùn)維。

3.3

應(yīng)用效果

分布式緩存架構(gòu)下系統(tǒng)整體性能提升,大幅提高核心交易業(yè)務(wù)服務(wù)能力,滿足客戶的交易需求。

圖9 系統(tǒng)性能指標(biāo)對比圖

04

總結(jié)與展望

本課題從分布式多級緩存、基于內(nèi)存映射技術(shù)的高效內(nèi)存緩存、千萬級客戶內(nèi)存緩存研究等方向?qū)ψC券市場前沿內(nèi)存交易技術(shù)與創(chuàng)新熱點(diǎn)進(jìn)行研討,期望為行業(yè)提供一些參考思路。

展望未來,還需要完成以下工作:

1)優(yōu)化內(nèi)存緩存索引的內(nèi)存管理效率,以及索引查找效率;

2)輕量SQL引擎支持多表聯(lián)合查詢等復(fù)雜SQL語句;

3)完善內(nèi)存緩存的實(shí)時(shí)監(jiān)控。

標(biāo)簽:

最近更新