[發明專利]一種基于事務的大容量數據讀寫方法有效
| 申請號: | 201210361971.X | 申請日: | 2012-09-25 |
| 公開(公告)號: | CN102929935A | 公開(公告)日: | 2013-02-13 |
| 發明(設計)人: | 吳征;武劍鋒;王泊;陳晨;朱立;劉凱;劉經緯;黃寅飛;陸素源;鄭剛;白碩 | 申請(專利權)人: | 上海證券交易所 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F3/06 |
| 代理公司: | 上海三方專利事務所 31127 | 代理人: | 吳干權 |
| 地址: | 200120 上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 事務 容量 數據 讀寫 方法 | ||
[技術領域]
本發明涉及電子信息和電子信息數據操作技術領域,具體的說是一種有關基于事務的大容量數據讀寫方法,適用于需要實現可回滾、大批量、高效的數據讀寫場合。
[背景技術]
在證券行業中,證券交易所的交易系統后臺是整個證券市場運行的核心。在交易時段,交易系統后臺會接收大量的市場交易指令,經過處理后將結果推送回市場,在這個過程中會產生大量的數據記錄,譬如接收1個訂單,會產生1條訂單確認記錄;撮合一個成交,會產生2條成交確認記錄(1條買記錄和1條賣記錄),這些不同種類的數據記錄動輒是千萬數量級的。
同時由于交易系統后臺需要具備高可靠性和高效性,這就需要交易系統后臺一方面將交易過程中產生的數據記錄實時放入存儲介質,并允許執行事務性的提交操作,保證數據記錄的正確性和完整性,確保在系統發生故障時不會丟失信息,備用系統能夠通過加載存儲介質上的數據記錄恢復系統狀態,完成接管;另一方面又需要能滿足數據記錄的高效寫入及訪問操作,以便于對市場指令進行快速處理、及時響應,避免市場指令大量堆積在交易系統后臺,造成“堵單”的狀況。
由于事務性的IO讀寫操作需要在IO底層解決沖突檢測、狀態留痕、一致性驗證等問題,因此相比非事務性的IO讀寫操作會有更大的系統開銷,且隨著數據量的增大,兩者之間性能上的差距會越來越大。因此采用傳統的方法,將每條數據記錄寫入數據文件作為一個事務提交,那么在數據量大、實時性要求高的情況下,頻繁的IO操作很容易觸及操作系統的瓶頸,導致數據文件的吞吐量無法隨寫操作的頻率增長而線性增長。
如果采用將數據記錄打包后批量提交的方法,雖然可以減少IO操作,但是由于數據量大,一旦出現事務回滾,文件系統壓力就會非常大;而且對于數據量很大的文件,在需要執行指定序號的數據記錄的讀取訪問時,如果沒有索引機制,則需要耗費大量的IO操作對整個數據文件進行遍歷,性能效率會很差。
[發明內容]
本發明的目的在于解決上述技術問題,提供一種利用批量處理、索引提交、內存索引等手段,既保證文件讀寫的事務性,同時又保證提供高性能的高效讀寫方法。
為實現上述目的,設計一種基于事務的大容量數據讀寫方法,其特征在于數據寫方法包括以下步驟:
(1)將批量數據記錄以數據頁面的形式組織起來,數據頁面的大小根據實際應用的需要調整設置;
(2)在內存中開辟數據頁面緩沖,當每次寫入數據記錄時,先將數據記錄寫入內存中的數據頁面緩沖內;
(3)觸發數據頁面的提交,觸發條件為下列條件之一即可:
(a)數據頁面緩沖被填滿;
(b)數據頁面緩沖未被填滿,但數據頁面提交的最大超時時間被觸發,所述的最大超時時間根據實際應用的需要調整設置,用于避免當數據頁面緩沖因一直未能填滿而無法提交,產生過長的延時;
(4)提交數據頁面,包括以下步驟:
(a)以數據頁面為單位,使用IO接口將數據頁面寫入數據文件;
(b)當數據頁面的寫入操作成功后,生成一個索引,用于記錄數據頁面在數據文件中的首地址,所述的索引占用空間??;
(c)通過基于事務的文件IO接口,將生成的索引寫入索引文件,完成數據頁面的提交;
(5)反饋數據頁面的提交結果:
(a)當基于事務的索引寫入索引文件過程執行成功后,數據頁面即提交成功;
(b)當基于事務的索引寫入索引文件過程執行失敗后,數據頁面即提交失敗,此時無須刪除數據文件中索引對應的數據頁面,因為對數據文件的讀取訪問是基于索引文件,當索引文件中索引不存在時,數據文件中對應的數據頁面為不可見狀態;
(6)當需要對完成提交的數據頁面進行回滾時,則只需要對索引文件中數據頁面對應的索引執行回滾操作,無需刪除數據文件中的數據頁面,因為對數據文件的讀取訪問是基于索引文件,對索引文件執行回滾操作后,數據文件中對應的數據頁面變更為不可見狀態;
(7)在共享內存中創建索引數組,用于開放給其他用戶訪問,當數據頁面提交成功后,向共享內存中的索引數組添加數據頁面對應的索引項,所述的索引項包括:數據頁面在數據文件中的位移,數據頁面中數據記錄的起始序號和結束序號。?
(8)刷新數據頁面緩沖區;
(9)重置刷新定時器,至此數據寫入操作完成。
在數據頁面的整個提交過程中,只有索引的寫入操作是基于事務的,為滿足事務性的要求,所有對數據記錄的訪問必須先通過索引找到對應的數據頁面,禁止跳過索引直接訪問數據文件,該方法即數據讀方法包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海證券交易所,未經上海證券交易所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210361971.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種從啤酒花中制備黃腐酚的方法
- 下一篇:雙光路比色實時采樣裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





