欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分筆成交的高效處理方法及系統(tǒng)的制作方法

文檔序號:6597807閱讀:332來源:國知局
專利名稱:分筆成交的高效處理方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及數據處理技術,具體涉及一種分筆成交的高效處理方法及系統(tǒng)。
背景技術
在證券行業(yè),證券業(yè)務的手續(xù)費通常是根據成交回報進行計算的,計算方式如 下 手續(xù)費=成交數X成交價格X費率。 如果計算出來的手續(xù)費小于設定的每筆委托最低費用,則取設定的最低費用,如 果超過最低費用就取計算出來的手續(xù)費。 從上面計算方式可以看出,每筆委托會有一個最低費用,該筆委托的所有分筆成 交計算出來的總和沒有超過最低費用時,需要用設定的最低費用,所以如果不對分筆成交 計算手續(xù)費的操作進行并發(fā)控制,是會存在計算最低費用計算不準確的問題,可能會導至 重復扣除費用,甚至會導致股民資金為負的情況。另外,如果先按分筆并發(fā)計算扣費的方 式,再采用回沖的方式將資金調整正確的做法會使得系統(tǒng)開銷增加(因為要判斷該委托的 所有分筆成交處理有沒有完成),同時在處理期間內,客戶資金都會不準確甚至出現(xiàn)為負數 的情況,從而導致業(yè)務糾紛發(fā)生。所以,交易系統(tǒng)對分筆成交計算通常都是按順序進行,不 會并發(fā)處理。
目前,由于證券金融業(yè)務系統(tǒng)隨著業(yè)務量和客戶量的提高,系統(tǒng)實現(xiàn)越來越復雜, 呈現(xiàn)為典型的多層架構。而且,為了提高系統(tǒng)處理效率,采用多線程并發(fā)處理模式。
如圖1所示,在這種架構下,證券成交處理的高效主要體現(xiàn)在具體負責業(yè)務處理 的中間件上面。業(yè)務中間件往往會分成多個,采用多機器或多進程處理,同時在每個業(yè)務中 間件上也會采用多線程來并發(fā)處理成交回報請求。 在這種處理模式下,證券成交回報在滿足客戶高效資金/股份回轉的同時也遇到 了新的問題,這個問題是由于一筆證券委托在經過證券交易所撮合后返回多筆成交引起 的,因為證券業(yè)務的手續(xù)費是按委托單筆計算且存在最低收費標準,這樣一筆證券委托的 分筆成交計算必須按串行進行,不能并發(fā)處理,否則可能會多算費用。 對此,業(yè)界常用做法是通過報盤機控制分筆成交發(fā)送,收到前一筆的應當后再發(fā) 送后續(xù)分筆成交,或者通過業(yè)務系統(tǒng)后臺記錄處理情況加鎖等方法控制分筆成交并發(fā)。具 體有以下幾種分筆成交控制并發(fā)方法 1.通過報盤機(證券交易系統(tǒng)與證券交易所接口庫之間處理數據交互的程序)記 錄本地控制文件的方式將分筆成交在前端報盤機控制住,即每當一筆分筆成交發(fā)送給交易 后臺時,就將該分筆成交的申請編號(交易所接口庫中對委托所標識的唯一編號)寫入到 控制文件中,當再讀下一筆成交發(fā)現(xiàn)該筆成交已經在控制文件中,就將該分筆成交放到隊 列中,不發(fā)送;當收到一筆成交的應答后,如果在隊列中找到有相同的申請編碼,則將該筆 成交取出發(fā)送到交易后臺。這種方法需要不停地對控制文件進行讀、寫操作,較為耗時,報 盤機存在一定開銷,且分筆成交處理性能不高。層加鎖的方式將分筆成交在后端數據庫控制住,即每當業(yè)務系 統(tǒng)在數據庫存儲層接收到一筆分筆成交的處理請求時,就到一個表中記錄該筆成交記錄的 申請編號,當其他線程接收到同一筆委托的其他分筆成交請求時,必須先更新表內本成交 對應申請編號的記錄,此時通過數據庫的加鎖控制來讓同一筆委托的分筆成交處理線程之 間進行"排隊"等待。但這種方法會引起數據庫線程處理效率降低,進而影響其他普通成交 和分筆成交的處理效率。 3.通過報盤機支持重發(fā)模式和DB數據庫存儲層增加事務內外兩次判斷校驗的方 式將分筆成交通過報盤機和后端數據庫的協(xié)作控制住,即每當業(yè)務系統(tǒng)DB數據庫存儲層 接收到一筆分筆成交的處理請求時,就在處理最初查找相關委托信息的成交數量字段記錄 下來,然后到處理最后再查找相關委托信息的成交數量字段和初始記錄值相比較,若不一 致則將本筆分筆成交按特定值返回給報盤機,報盤機將分筆成交加入重發(fā)隊列,重發(fā)隊列 按設定時間(一般為5秒)進行重發(fā)。這種方法雖然能解決第2種方法中數據庫線程處理 效率低的問題,但是分筆成交處理效率卻大大降低了,而且增加了較多報盤機和DB數據庫 的交互信息,增加了系統(tǒng)負擔。

發(fā)明內容
本發(fā)明實施例提供一種分筆成交的高效處理方法及系統(tǒng),以在控制分筆成交并發(fā) 的同時,減少前后臺通訊交互次數,提高處理效率和處理性能。
為此,本發(fā)明實施例提供如下技術方案
—種分筆成交的高效處理方法,包括 讀線程逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的成交記錄 存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;
發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加入 到發(fā)送隊列中; 發(fā)送線程并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成交 數據給交易后臺; 應答處理線程接收到所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理結
果后,將所述節(jié)點從所述發(fā)送隊列中刪除。 可選地,所述讀線程讀取成交記錄包括 讀線程從交易接口庫逐筆讀取成交記錄。 優(yōu)選地,所述根據所述成交記錄對應的申請編號將讀取的成交記錄存放到對應該 申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中包括 根據所述成交記錄對應的申請編號檢查當前讀取的成交記錄是否為讀取的上一 筆成交記錄的分筆成交數據; 如果不是,則將所述當前讀取的成交記錄的分筆成交數據保存到對應該申請編號 的節(jié)點,并將所述節(jié)點加入到已讀隊列中; 如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄的分筆 成交數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加入到已 讀隊列中。
5
優(yōu)選地,所述方法還包括 根據合并保存的分筆成交記錄的分筆數確定所述節(jié)點是否存滿;
如果所述分筆數達到預設的最大值,則確定所述節(jié)點已存滿。
優(yōu)選地,所述方法還包括 發(fā)送線程將一個節(jié)點中的分筆成交數據加入到發(fā)送隊列中后,將所述節(jié)點對應的 申請編號設置為在途狀態(tài); 所述發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據 加入到發(fā)送隊列中包括 發(fā)送線程從所述已讀隊列中讀取一個節(jié)點; 如果該節(jié)點對應的申請編號為在途狀態(tài),則將該節(jié)點作為發(fā)送隊列中所述申請編
號為在途狀態(tài)的節(jié)點的下一個節(jié)點。 優(yōu)選地,所述方法還包括 所述應答處理線程將所述節(jié)點從所述發(fā)送隊列中刪除后,檢查所述發(fā)送隊列中是
否還有與所述節(jié)點對應的申請編號相同的其他節(jié)點; 如果是,則所述應答處理線程依次發(fā)送所述其他節(jié)點; 如果否,則所述應答處理線程將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
—種分筆成交的高效處理系統(tǒng),包括 讀取單元,用于逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的 成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;
發(fā)送單元,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數 據加入到發(fā)送隊列中;并且并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分 筆成交數據給交易后臺; 應答處理單元,用于接收所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理
結果,并在接收到所述處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。 優(yōu)選地,所述讀取單元包括 成交記錄讀取子單元,用于從交易接口庫逐筆讀取成交記錄;
緩存子單元,用于緩存所述讀取子單元讀取的成交記錄; 第一檢查子單元,用于根據所述成交記錄對應的申請編號檢查所述讀取子單元當 前讀取的成交記錄是否為讀取的上一筆成交記錄的分筆成交數據;如果不是,則將所述當 前讀取的成交記錄的分筆成交數據保存到對應該申請編號的節(jié)點,并將所述節(jié)點加入到已 讀隊列中;如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄的分 筆成交數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加入到 已讀隊列中。 優(yōu)選地,所述發(fā)送單元包括 節(jié)點讀取子單元,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆 成交數據加入到發(fā)送隊列中; 并行發(fā)送子單元,用于并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中
的分筆成交數據給交易后臺。
優(yōu)選地,所述發(fā)送單元還包括
6
狀態(tài)設置子單元,用于在所述節(jié)點讀取子單元將一個節(jié)點中的分筆成交數據加入
到發(fā)送隊列中后,將所述節(jié)點對應的申請編號設置為在途狀態(tài); 所述節(jié)點讀取子單元包括 讀子單元,用于從所述已讀隊列中讀取節(jié)點; 第二檢查子單元,用于檢查所述節(jié)點對應的申請編號是否為在途狀態(tài);如果是,則 將該節(jié)點作為發(fā)送隊列中所述申請編號為在途狀態(tài)的節(jié)點的下一個節(jié)點;如果否,則將該 節(jié)點作為發(fā)送隊列中當前的最后一個節(jié)點。 優(yōu)選地,所述應答處理單元,還用于將所述節(jié)點從所述發(fā)送隊列中刪除后,檢查所 述發(fā)送隊列中是否還有與所述節(jié)點對應的申請編號相同的其他節(jié)點;如果是,則依次發(fā)送 所述其他節(jié)點;如果否,則將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
本發(fā)明實施例分筆成交的高效處理方法及系統(tǒng),針對分筆成交業(yè)務中,有分筆成 交產生的時候,其成交記錄可能不是連續(xù)的情況,通過讀線程、發(fā)送線程和應答處理線程獨 立進行相應的操作,即讀線程逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀 取的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列 中;發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加入到發(fā) 送隊列中,并且并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成交數據 給交易后臺;應答處理線程接收到所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理 結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。從而在控制分筆成交并發(fā)的同時,減少了前、 后臺之間通訊交互次數,提高了處理效率和處理性能。


圖1是現(xiàn)有技術中證券金融業(yè)務系統(tǒng)的多層架構示意圖; 圖2是本發(fā)明實施例分筆成交的高效處理方法的流程圖; 圖3是本發(fā)明實施例是本發(fā)明實施例的方法中讀線程的處理流程圖; 圖4是本發(fā)明實施例中各隊列的結構示意圖; 圖5是圖4所示的已讀成交隊列對應的存儲鏈表結構示意圖; 圖6是圖4所示的發(fā)送隊列對應的存儲鏈表結構示意圖; 圖7是本發(fā)明實施例中發(fā)送線程的處理流程圖; 圖8是本發(fā)明實施例中應答處理線程的處理流程圖; 圖9是利用本發(fā)明實施例的方法報盤機與后臺交互的時序圖; 圖10是本發(fā)明實施例分筆成交的高效處理系統(tǒng)的一種結構示意圖; 圖11是本發(fā)明實施例分筆成交的高效處理系統(tǒng)的一種結構示意圖。
具體實施例方式
為了使本技術領域的人員更好地理解本發(fā)明實施例的方案,下面結合附圖和實施 方式對本發(fā)明實施例作進一步的詳細說明。 本發(fā)明實施例分筆成交的高效處理方法及系統(tǒng),針對分筆成交業(yè)務中,有分筆成 交產生的時候,其成交記錄可能不是連續(xù)的情況,將分筆的成交記錄存放到與該成交記錄 對應的申請編號對應的一個或多個節(jié)點中,也就是說,每個節(jié)點包含了對應同一申請編號
7的一筆或多筆分筆成交數據。而且,并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié) 點中的分筆成交數據給交易后臺,即將每個節(jié)點作為一個請求發(fā)送給交易后臺進行處理, 從而在控制分筆成交并發(fā)的同時,減少前、后臺之間通訊交互次數,提高處理效率和處理性 能。 如圖2所示,是本發(fā)明實施例分筆成交的高效處理方法的流程圖,包括以下步驟
步驟201 ,讀線程逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的 成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中。
讀線程可以是從交易接口庫中逐筆讀取成交記錄,并將讀取這些成交記錄根據其 對應的申請編號存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列 中,具體過程如下 讀線程根據所述成交記錄對應的申請編號檢查當前讀取的成交記錄是否為讀取 的上一筆成交記錄的分筆成交數據; 如果不是,則將所述當前讀取的成交記錄的分筆成交數據保存到對應該申請編號 的節(jié)點,并將所述節(jié)點加入到已讀隊列中; 如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄的分筆 成交數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加入到已 讀隊列中。 步驟202,發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交 數據加入到發(fā)送隊列中。 步驟203,發(fā)送線程并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的 分筆成交數據給交易后臺。 步驟204,應答處理線程接收到所述交易后臺返回對應所述節(jié)點的分筆成交數據 的處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。 由于證券交易有分筆成交產生的時候,其成交記錄可能不是連續(xù)的。比如當有一
筆委托,假設會產生100筆分筆成交,那有可能會在交易接口庫中連續(xù)地產生10筆成交記
錄,而第11筆可能是其他委托的成交記錄。針對這種情況,本發(fā)明實施例的方法中讀線程
需要將前面10筆成交合并,并存放到一個節(jié)點中,將第11筆成交單獨放到一個節(jié)點中,也
就是說,在讀線程中需要對前后兩筆成交判斷是否是同一個委托產生的。 如圖3所示,是本發(fā)明實施例的方法中讀線程的處理流程圖,包括以下步驟 步驟301,從交易接口庫讀出一筆成交記錄; 步驟302,判斷當前讀取的成交記錄是否是第一筆分筆成交記錄;如果是,則執(zhí)行 步驟303 ;否則執(zhí)行步驟304 ; 步驟303,將當前讀取的成交記錄放到緩存;然后返回步驟301,繼續(xù)讀取下一筆 成交記錄; 步驟304,判斷該筆成交記錄是否是上一筆成交記錄的分筆成交數據;如果是,則 執(zhí)行步驟307 ;否則執(zhí)行步驟305 ; 具體地,可根據每筆成交記錄的申請編號來判斷,如果申請編號相同,則表明是同 一筆成交的分筆成交數據; 步驟305,將緩存中的成交記錄的分筆成交數據保存到相應的節(jié)點,即該成交記錄的申請編號對應的節(jié)點; 步驟306,將所述節(jié)點加入已讀隊列;然后執(zhí)行步驟303 ; 步驟307,將該筆分筆成交數據與上一筆分筆成交數據合并保存到相應的節(jié)點;
需要說明的是,此處的合并是指在存儲形式上,對一些相同的信息如申請編號進 行合并,即只保存一項,而對應每筆分筆成交數據的其他信息則需要全部保存,對此將在后 面舉例詳細說明。 步驟308,增加對應該節(jié)點的分筆記數; 步驟309,根據對應該節(jié)點的分筆記數判斷該節(jié)點是否存滿;如果是,則執(zhí)行步驟 306 ;否則返回步驟301,繼續(xù)讀取下一筆成交記錄。 具體地,可以預先設置各節(jié)點的存儲空間,根據該存儲空間的大小以及各分筆成 交數據所占用的最大空間,計算出每個節(jié)點可存儲的分筆數的最大值。如果某節(jié)點其所存 儲的分筆記數達到該最大值,則表明該節(jié)點已存滿。此時,需要將該節(jié)點加入已讀隊列。也 就是說,將節(jié)點中存儲的分筆成交數據加到已讀隊列中。 可見,通過上述流程,將讀取出來的成交記錄存放在已讀隊列(該已讀隊列為單 向鏈表形式)中,等待發(fā)送線程來讀取已讀隊列,并將其存放到發(fā)送隊列進行發(fā)送。為保證 高效,發(fā)送隊列可采用二維方式的鏈表。 下面舉例進一步詳細說明本發(fā)明實施例中的已讀成交隊列和發(fā)送隊列的結構。
假設交易接口庫中存儲的原始成交隊列如圖4所示左邊一欄所示,則按照上述讀 線程的處理流程讀取原始成交隊列,生成的已讀成交隊列如圖4所示中間一欄所示,已讀 成交隊列對應的存儲鏈表如圖5所示。 從圖中可以看出,已讀成交隊列是雜亂無章的。為了更好地控制成交并發(fā)處理并 提高處理效率,在本發(fā)明實施列中,還需要發(fā)送線程對圖5所示的線性鏈表做進一步的整 理,生成如圖4右邊一欄所示的發(fā)送隊列,該發(fā)送隊列對應的存儲鏈表如圖6所示。由圖6 可以看出 (1)申請編號為1的一共有5筆分筆記錄,按記錄的先后順序將其分組放在2個 分筆節(jié)點中。這樣,在本發(fā)明實施例中,只需要向業(yè)務系統(tǒng)發(fā)送2個回報數據請求包即可完 成回報,明顯減少了后臺與數據庫交互的次數(原來要交互5次,現(xiàn)在交互2次)和計算次 數。 (2)申請編號為2的只有一筆回報,沒有分筆。 (3)申請編號為3的一共有2筆分筆,按記錄的先后順序將其分組放在一個分筆 節(jié)點中。這樣,在本發(fā)明實施例中,只需要向業(yè)務系統(tǒng)發(fā)送一個回報數據請求包即可完成回 報,明顯減少了后臺與數據庫交互的次數(原來要交互2次,現(xiàn)在交互1次)和計算次數。
(4)當應答處理線程收到申請編號為1、分筆序號為1的處理應答后,會將申請編 號1、分筆序號1的節(jié)點放回空閑隊列,將申請編號1、分筆序號2的節(jié)點往前移動,并發(fā)送 該節(jié)點中的內容。 在本發(fā)明實施例中,通過發(fā)送線程和應答處理線程完成發(fā)送隊列的發(fā)送,由交易 后臺對這些分筆成交數據進行處理,并返回處理結果。對于不同申請編號的多個節(jié)點,由多 個發(fā)送線程實現(xiàn)并行發(fā)送,對于同一申請編號的多個節(jié)點,由一個發(fā)送線程和一個應答處 理線程實現(xiàn)串行發(fā)送。
9
為此,在本發(fā)明實施例中,可以通過設置申請編號的狀態(tài)來實現(xiàn)對節(jié)點發(fā)送的控 制。具體地,發(fā)送線程和應答處理線程分別還需要做以下處理 發(fā)送線程將一個節(jié)點中的分筆成交數據加入到發(fā)送隊列中后,將所述節(jié)點對應的 申請編號設置為在途狀態(tài)。在發(fā)送節(jié)點時,首先從所述已讀隊列中讀取一個節(jié)點;判斷該節(jié) 點對應的申請編號是否為在途狀態(tài),如果是,則將該節(jié)點作為發(fā)送隊列中所述申請編號為 在途狀態(tài)的節(jié)點的下一個節(jié)點。 相應地,應答處理線程將某節(jié)點從所述發(fā)送隊列中刪除后,檢查所述發(fā)送隊列中
是否還有與該節(jié)點對應的申請編號相同的其他節(jié)點; 如果是,則所述應答處理線程依次發(fā)送所述其他節(jié)點; 如果否,則所述應答處理線程將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
如圖7所示,是本發(fā)明實施例中發(fā)送線程的處理流程圖,包括以下步驟
步驟701,從已讀隊列中取出一個節(jié)點; 步驟702,判斷該節(jié)點對應的申請編號的狀態(tài)是否為在途;如果是,則執(zhí)行步驟 703 ;否則執(zhí)行步驟704 ; 步驟703,將該節(jié)點放到發(fā)送隊列中對應的申請編號相同,并且狀態(tài)為在途的節(jié)點 的下一個節(jié)點;如圖6所示結構中的申請編號1、分筆序號1與申請編號1、分筆序號2的結 構; 步驟704,發(fā)送該節(jié)點中的成交信息; 步驟705,將該申請編號的狀態(tài)設置為在途。 如圖8所示,是本發(fā)明實施例中應答處理線程的處理流程圖,包括以下步驟
步驟801,收到對應一個節(jié)點的成交應答;
步驟802,將將該成交節(jié)點從發(fā)送隊列中取出; 步驟803,檢查該筆成交是否有分筆需要發(fā)送,在此,只需要檢查所述節(jié)點的右邊 是否有分筆成交節(jié)點即可;如果是,則執(zhí)行步驟804 ;否則執(zhí)行步驟805 ;
步驟804,發(fā)送該節(jié)點對應的申請編號的分筆成交,即串行發(fā)送對應同一申請編號 的多個節(jié)點; 步驟805,將該節(jié)點對應的申請編號的狀態(tài)設置為非在途。 可見,通過本發(fā)明實施例中這種發(fā)送處理方式,可以將分筆成交并發(fā)的情況很好 地在前臺控制住,減少了后臺數據庫對分筆成交并發(fā)控制的加鎖,提高了后臺處理的性能。 在應答處理線程中發(fā)送同一申請編號的下一筆的分筆成交,從而保證了分筆成交回報的速 度。當分筆成交數量更大時,性能的提升將會更加顯著。例如,有iooo筆分筆成交,每次可 以合并200筆,則交互次數可由1000次減少為5次。 圖9示出了利用本發(fā)明實施例的方法報盤機與后臺交互的時序圖。 901.報盤機讀線程讀交易接口庫; 902.讀線程發(fā)現(xiàn)有分筆成交,則合并分筆成交; 903.將讀取的分筆成交加入到已讀隊列中; 904.報盤機發(fā)送線程從已讀隊列中取出成交數據,需要說明的是,此處的成交數 據是一個節(jié)點包含的所有分筆成交數據; 905.發(fā)送線程檢查是否有對應該成交數據的在途成交;
10
906.如果有,則將該成交數據加入到發(fā)送隊列中; 907.如果沒有,則直接發(fā)送該成交數據到交易后后,并將其對應的申請編號的狀 態(tài)設置為在途; 908.報盤機應答處理線程收到交易后臺返回的成交處理結果;
909.將對應該成交的申請編號的狀態(tài)設置為非在途;
910.回收存放成交節(jié)點,并檢查是否有其他的分筆成交數據需要發(fā)送;
911.如果有,則發(fā)送其他分筆成交數據。 由圖9可見,本發(fā)明實施例中,讀成交數據、發(fā)送成交數據、處理成交應答分別由 不同的線程來完成。具體地,讀線程從交易接口庫中讀取分筆成交數據,并盡可能地將數據 進行合并,以減少發(fā)送線程與交易后臺的交互過程;發(fā)送線程控制成交回報的并發(fā)處理,應 答處理線程在收到一個分筆成交的應答后將同一申請編號的下一批分筆成交數據(一個 節(jié)點包含的所有分筆成交數據在一個數據包中)發(fā)送給交易后臺,從而減少了與交易后臺 的交互次數,有效地提高了分筆成交處理的速度。 本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質,如R0M/RAM、磁碟、光盤等。 相應地,本發(fā)明實施例還提供了一種分筆成交的高效處理系統(tǒng),如圖IO所示,是
該系統(tǒng)的一種結構示意圖。
在該實施例中,所述系統(tǒng)100包括 讀取單元101,用于逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取 的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;
發(fā)送單元102,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交 數據加入到發(fā)送隊列中;并且并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的 分筆成交數據給交易后臺; 應答處理單元103,用于接收所述交易后臺返回對應所述節(jié)點的分筆成交數據的
處理結果,并在接收到所述處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。 在本發(fā)明實施例中,所述讀取單元101的一種優(yōu)選結構包括 成交記錄讀取子單元lll,用于從交易接口庫逐筆讀取成交記錄; 緩存子單元112,用于緩存所述讀取子單元讀取的成交記錄; 第一檢查子單元113,用于根據所述成交記錄對應的申請編號檢查所述讀取子單 元當前讀取的成交記錄是否為讀取的上一筆成交記錄的分筆成交數據;如果不是,則將所 述當前讀取的成交記錄的分筆成交數據保存到對應該申請編號的節(jié)點,并將所述節(jié)點加入 到已讀隊列中;如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄 的分筆成交數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加 入到已讀隊列中。 在本發(fā)明實施例中,所述發(fā)送單元102的一種優(yōu)選結構包括 節(jié)點讀取子單元121,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分 筆成交數據加入到發(fā)送隊列中; 并行發(fā)送子單元122,用于并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成交數據給交易后臺。 本發(fā)明分筆成交的高效處理系統(tǒng),讀取單元從交易接口庫中讀取分筆成交數據,
并盡可能地將數據進行合并,以減少發(fā)送單元與交易后臺的交互過程;由發(fā)送單元控制成
交回報的并發(fā)處理,應答處理單元在收到一個分筆成交的應答后將同一申請編號的下一批
分筆成交數據(一個節(jié)點包含的所有分筆成交數據在一個數據包中)發(fā)送給交易后臺,從
而減少了與交易后臺的交互次數,有效地提高了分筆成交處理的速度。 如圖11所示,是本發(fā)明實施例分筆成交的高效處理系統(tǒng)的另一種結構示意圖。 與圖10所示實施例不同的是,在該實施例的系統(tǒng)200中, 所述發(fā)送單元22不僅包括節(jié)點讀取子單元221和并行發(fā)送子單元222,而且還 進一步包括 狀態(tài)設置子單元223,用于在所述節(jié)點讀取子單元121將一個節(jié)點中的分筆成交
數據加入到發(fā)送隊列中后,將所述節(jié)點對應的申請編號設置為在途狀態(tài)。 相應地,所述節(jié)點讀取子單元221包括 讀子單元231,用于從所述已讀隊列中讀取節(jié)點; 第二檢查子單元232,用于檢查所述節(jié)點對應的申請編號是否為在途狀態(tài);如果 是,則將該節(jié)點作為發(fā)送隊列中所述申請編號為在途狀態(tài)的節(jié)點的下一個節(jié)點;如果否,則 將該節(jié)點作為發(fā)送隊列中當前的最后一個節(jié)點。 在該實施例中,所述應答處理單元103還用于將所述節(jié)點從所述發(fā)送隊列中刪除 后,檢查所述發(fā)送隊列中是否還有與所述節(jié)點對應的申請編號相同的其他節(jié)點;如果是,則 依次發(fā)送所述其他節(jié)點;如果否,則將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
利用本發(fā)明實施例的系統(tǒng)實現(xiàn)分筆成交的高效處理過程可參照前面本發(fā)明實施 例的方法中的描述,在此不再贅述。 本發(fā)明實施例的系統(tǒng),針對分筆成交業(yè)務中,有分筆成交產生的時候,其成交記錄 可能不是連續(xù)的情況,在控制分筆成交并發(fā)的同時,可以減少前、后臺之間通訊交互次數, 提高處理效率和處理性能。 本發(fā)明實施例實現(xiàn)分筆成交的高效處理方法及系統(tǒng),可以應用于各種不同領域的 分筆成交處理中,比如證券、金融等領域。 以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發(fā)明進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的 一般技術人員,依據本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所 述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
一種分筆成交的高效處理方法,其特征在于,包括讀線程逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加入到發(fā)送隊列中;發(fā)送線程并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成交數據給交易后臺;應答處理線程接收到所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。
2. 根據權利要求1所述的方法,其特征在于,所述讀線程讀取成交記錄包括 讀線程從交易接口庫逐筆讀取成交記錄。
3. 根據權利要求1所述的方法,其特征在于,所述根據所述成交記錄對應的申請編號 將讀取的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊 列中包括根據所述成交記錄對應的申請編號檢查當前讀取的成交記錄是否為讀取的上一筆成 交記錄的分筆成交數據;如果不是,則將所述當前讀取的成交記錄的分筆成交數據保存到對應該申請編號的節(jié) 點,并將所述節(jié)點加入到已讀隊列中;如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄的分筆成交 數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加入到已讀隊 列中。
4. 根據權利要求1所述的方法,其特征在于,所述方法還包括 根據合并保存的分筆成交記錄的分筆數確定所述節(jié)點是否存滿; 如果所述分筆數達到預設的最大值,則確定所述節(jié)點已存滿。
5. 根據權利要求1所述的方法,其特征在于,所述方法還包括發(fā)送線程將一個節(jié)點中的分筆成交數據加入到發(fā)送隊列中后,將所述節(jié)點對應的申請 編號設置為在途狀態(tài);所述發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加入 到發(fā)送隊列中包括發(fā)送線程從所述已讀隊列中讀取一個節(jié)點;如果該節(jié)點對應的申請編號為在途狀態(tài),則將該節(jié)點作為發(fā)送隊列中所述申請編號為 在途狀態(tài)的節(jié)點的下一個節(jié)點。
6. 根據權利要求5所述的方法,其特征在于,所述方法還包括所述應答處理線程將所述節(jié)點從所述發(fā)送隊列中刪除后,檢查所述發(fā)送隊列中是否還 有與所述節(jié)點對應的申請編號相同的其他節(jié)點;如果是,則所述應答處理線程依次發(fā)送所述其他節(jié)點;如果否,則所述應答處理線程將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
7. —種分筆成交的高效處理系統(tǒng),其特征在于,包括讀取單元,用于逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;發(fā)送單元,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加 入到發(fā)送隊列中;并且并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成 交數據給交易后臺;應答處理單元,用于接收所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理結 果,并在接收到所述處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。
8. 根據權利要求1所述的系統(tǒng),其特征在于,所述讀取單元包括 成交記錄讀取子單元,用于從交易接口庫逐筆讀取成交記錄; 緩存子單元,用于緩存所述讀取子單元讀取的成交記錄;第一檢查子單元,用于根據所述成交記錄對應的申請編號檢查所述讀取子單元當前讀 取的成交記錄是否為讀取的上一筆成交記錄的分筆成交數據;如果不是,則將所述當前讀 取的成交記錄的分筆成交數據保存到對應該申請編號的節(jié)點,并將所述節(jié)點加入到已讀隊 列中;如果是,則將所述當前讀取的成交記錄的分筆成交數據與上一筆成交記錄的分筆成 交數據合并保存到對應該申請編號的節(jié)點,并在所述節(jié)點存滿后,將所述節(jié)點加入到已讀 隊列中。
9. 根據權利要求1所述的系統(tǒng),其特征在于,所述發(fā)送單元包括節(jié)點讀取子單元,用于從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交 數據加入到發(fā)送隊列中;并行發(fā)送子單元,用于并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分 筆成交數據給交易后臺。
10. 根據權利要求9所述的系統(tǒng),其特征在于,所述發(fā)送單元還包括 狀態(tài)設置子單元,用于在所述節(jié)點讀取子單元將一個節(jié)點中的分筆成交數據加入到發(fā)送隊列中后,將所述節(jié)點對應的申請編號設置為在途狀態(tài); 所述節(jié)點讀取子單元包括 讀子單元,用于從所述已讀隊列中讀取節(jié)點;第二檢查子單元,用于檢查所述節(jié)點對應的申請編號是否為在途狀態(tài);如果是,則將該 節(jié)點作為發(fā)送隊列中所述申請編號為在途狀態(tài)的節(jié)點的下一個節(jié)點;如果否,則將該節(jié)點 作為發(fā)送隊列中當前的最后一個節(jié)點。
11. 根據權利要求io所述的系統(tǒng),其特征在于,所述應答處理單元,還用于將所述節(jié)點從所述發(fā)送隊列中刪除后,檢查所述發(fā)送隊列 中是否還有與所述節(jié)點對應的申請編號相同的其他節(jié)點;如果是,則依次發(fā)送所述其他節(jié) 點;如果否,則將所述節(jié)點對應的申請編號設置為非在途狀態(tài)。
全文摘要
本發(fā)明涉及數據處理技術,公開了一種分筆成交的高效處理方法及系統(tǒng),所述方法包括讀線程逐筆讀取成交記錄,根據所述成交記錄對應的申請編號將讀取的成交記錄存放到對應該申請編號的一個或多個節(jié)點,并將所述節(jié)點加入到已讀隊列中;發(fā)送線程從所述已讀隊列中讀取所述節(jié)點,并將所述節(jié)點中的分筆成交數據加入到發(fā)送隊列中;發(fā)送線程并行發(fā)送所述發(fā)送隊列中對應不同申請編號的多個節(jié)點中的分筆成交數據給交易后臺;應答處理線程接收到所述交易后臺返回對應所述節(jié)點的分筆成交數據的處理結果后,將所述節(jié)點從所述發(fā)送隊列中刪除。利用本發(fā)明,可以在控制分筆成交并發(fā)的同時,減少前后臺通訊交互次數,提高處理效率和處理性能。
文檔編號G06Q40/00GK101770632SQ20101010394
公開日2010年7月7日 申請日期2010年1月26日 優(yōu)先權日2010年1月26日
發(fā)明者何仲君, 張國強, 王仁云, 鄧志國, 陳飛 申請人:恒生電子股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大英县| 库尔勒市| 桐柏县| 临漳县| 罗平县| 余庆县| 鹤壁市| 太和县| 分宜县| 莱芜市| 奉节县| 阳城县| 收藏| 循化| 临朐县| 广水市| 成武县| 普兰店市| 诸暨市| 东宁县| 康定县| 涿州市| 龙山县| 景泰县| 临湘市| 民乐县| 新晃| 涿州市| 正安县| 吉安市| 宁化县| 尉氏县| 孟村| 澄江县| 北辰区| 华容县| 平度市| 沾化县| 安阳县| 岳普湖县| 清河县|