專利名稱:移動證券交易的實現(xiàn)方法
技術領域:
本發(fā)明涉及一種交易方法,特別是涉及一種移動證券交易的實現(xiàn)方法。
背景技術:
由于股票市場的實時變動性強,客觀上需要能夠在遠程隨時隨地掌握股市信息,更進一步,需要能遠程隨時隨地進行交易。
目前實現(xiàn)遠程股市信息與交易的方法有以下幾種1)PC聯(lián)網(wǎng)依托互聯(lián)網(wǎng),功能完善,但不具備移動性;2)筆記本電腦和無線網(wǎng)絡的組合與PC聯(lián)網(wǎng)在功能上完全相同,具備移動性,但便攜性差。依靠無線接入點(信號范圍有限,接入點有限),或依靠CDMA、GPRS等網(wǎng)絡;3)股票機不具備交易功能,依靠無線基站,信號范圍與接入點有限;4)智能手機便攜性好,利用移動或者聯(lián)通的網(wǎng)絡,在無線接入上,基本不受地域影響。目前由于智能手機的便攜性、移動性和可操作性而使其在證券領域的應用得到飛速發(fā)展。
股票市場具有很強的實時性,需要及時掌握信息、及時處理交易。但由于股票數(shù)量的眾多、手機網(wǎng)絡速度的局限性,現(xiàn)有智能手機方案其缺點在于獲取與處理數(shù)據(jù)的速度不夠快,影響了信息與交易的實時性;并且基于手機的系統(tǒng)限制,功能不盡完善,用戶利用智能手機終端獲得的信息有限,能執(zhí)行的操作也有限。
關于實現(xiàn)移動證券的技術,可參見1997年12月17日公開的中國發(fā)明專利申請第CN 97110762.9號揭露的一種使用移動通信的交易系統(tǒng)。該系統(tǒng)的尋呼機型終端具有尋呼機功能及音頻撥號功能,客戶給主計算機的處理指示音頻化,經(jīng)電話網(wǎng)發(fā)送,而經(jīng)無線方式接收處理結果。主計算機與證券交易所等連接,始終監(jiān)視行情動向,當滿足客戶設定的報知條件時,用無線方式將所需信息發(fā)送給尋呼機型終端。該專利文件描述道該交易系統(tǒng)使客戶無需頻繁操作終端就能實時獲取所需信息,并能提高整個交易處理的效率,使客戶感到快速舒適。
這種系統(tǒng)及方法是利用滿足客戶設定的這個報知條件作為向終端傳輸數(shù)據(jù)的時機,但是即使條件觸發(fā)式傳輸數(shù)據(jù),仍然需要先將所有的證券信息下載到終端上,速度仍然上不去;另外該技術利用尋呼機型終端,其硬件和軟件限制了許多功能的實現(xiàn)。
另外,2003年3月19日公告的中國發(fā)明專利第CN 02131835.2號揭露了一種個人數(shù)字助理交易服務系統(tǒng)。該交易服務系統(tǒng)包括包含股票專用程序的PDA、碼分多路訪問(CDMA)的無線移動通信網(wǎng)絡、在每個證券公司建立的一個或多個股票定購系統(tǒng)、市場價格處理系統(tǒng)、以及收費系統(tǒng)。市場價格處理系統(tǒng)包括市場價格網(wǎng)關服務器、市場價格處理服務器、內容數(shù)據(jù)庫(DB)、以及用戶管理DB。收費系統(tǒng)設置在無線移動通信網(wǎng)絡與市場價格處理系統(tǒng)之間。該專利文件描述由此,提供了這樣一個共用平臺,其能使每個證券公司在CDMA通信網(wǎng)絡的環(huán)境下利用PDA向客戶很容易地提供交易服務。
據(jù)該專利文件描述,僅僅通過實時下載需要顯示的信息,其他數(shù)據(jù)通過瀏覽器完成的方式可以提高速度。但是,該技術方案仍然需要每次都先將所有的證券信息下載到終端上,從而影響整個交易速度,使用戶喪失許多交易機會。
發(fā)明內容為了克服現(xiàn)有技術證券交易系統(tǒng)中由于下載速度慢而導致交易速度不足的技術問題,本發(fā)明提供一種能夠高速下載數(shù)據(jù)并且交易速度較快的移動證券交易的實現(xiàn)方法。
本發(fā)明解決上述技術問題所采用的技術方案是提供一種移動證券交易的實現(xiàn)方法,包括步驟A、移動終端連接證券服務器;B、采用增量下載方式從證券服務器下載資料。
相對于現(xiàn)有技術,本發(fā)明移動證券交易的實現(xiàn)方法的有益效果是本發(fā)明使用增量下載的方式,移動終端內已經(jīng)有的數(shù)據(jù)不再重復下載,僅下載最新的數(shù)據(jù),大大提高了數(shù)據(jù)傳輸速度,保證了利用智能終端進行證券交易操作的實時性。
圖1是本發(fā)明移動證券交易的實現(xiàn)方法采用的系統(tǒng)架構圖;圖2是圖1中移動終端的系統(tǒng)原理框圖;圖3是圖2中系統(tǒng)內主線程用戶操作響應流程圖;圖4是圖2中系統(tǒng)內主線程時鐘處理流程圖;圖5是圖2中系統(tǒng)內通訊線程工作流程圖;圖6是圖2中數(shù)據(jù)請求定時器工作流程圖;圖7是圖2中界面刷新定時器;圖8是移動終端下載K線數(shù)據(jù)并進行定時更新的流程圖;圖9是K線的業(yè)務處理流程圖10是實時走勢業(yè)務處理流程圖。
具體實施方式下面結合附圖和實施方式對本發(fā)明進一步說明。
參閱圖1,本發(fā)明采用的移動證券交易系統(tǒng)包括證券服務器和移動終端兩部分,兩者通過基于CDMA1X和GPRS無線網(wǎng)絡的TCP/IP協(xié)議進行通訊,應用層協(xié)議采用“宇龍移動證券通訊傳輸協(xié)議-V1.1.1”。移動終端本身只保存證券名稱及代碼等少量數(shù)據(jù),在用戶點擊移動終端界面時從證券服務器端下載證券數(shù)據(jù)(實時行情、走勢曲線、K線等),并顯示在終端上。
所述證券服務器采用用戶管理服務器與數(shù)據(jù)服務器的雙服務器方式,移動終端采用多任務多線程并行處理任務。移動證券服務器獲取并處理來自外部(天網(wǎng)等)的證券數(shù)據(jù),是移動證券客戶端-移動終端的數(shù)據(jù)源,同時實現(xiàn)移動證券功能的用戶管理,并且承擔一部分客戶端的數(shù)據(jù)處理。
參閱圖2,移動終端系統(tǒng)分為編解碼、用戶圖形界面和數(shù)據(jù)庫三部分。解碼是指將從服務器獲取的數(shù)據(jù)包根據(jù)“宇龍移動證券通訊傳輸協(xié)議-V1.1.1”解碼成標準的證券數(shù)據(jù),并保存到數(shù)據(jù)庫中;用戶圖形界面GUI是與用戶交互的媒介,用來顯示股票信息并為用戶提供輸入信息的途徑;數(shù)據(jù)庫用于保存所有股票數(shù)據(jù)。
參閱圖2,在線程結構上,移動終端程序的功能通過兩個線程(主線程和通訊線程)的協(xié)同工作實現(xiàn),主線程實現(xiàn)用戶界面,顯示實時行情、走勢曲線、K線、參數(shù)配置等功能。具體是負責處理界面的一些操作的響應,負責啟動和維護兩個定時器和服務器進行數(shù)據(jù)請求的定時器以及界面刷新的定時器;負責啟動和維護通信子線程;由界面刷新定時器觸發(fā)GUI線程從內存表結構和數(shù)據(jù)庫中數(shù)據(jù)進行界面刷新;通訊線程負責和證券服務器的數(shù)據(jù)交互,工作流程數(shù)據(jù)請求—數(shù)據(jù)接收—數(shù)據(jù)解碼—數(shù)據(jù)保存,實現(xiàn)對服務器數(shù)據(jù)的下載、解碼并保存到本地數(shù)據(jù)庫功能。
參閱圖3和圖4,主線程由用戶操作響應過程和時鐘處理過程組成,前者為用戶提供證券的實時行情、實時走勢曲線、歷史K線、技術指標、股評、證券查詢、限價設置等功能,當用戶點擊界面選擇相應功能時,主線程通過消息處理函數(shù)處理用戶請求,根據(jù)用戶選擇的功能生成相應的協(xié)議數(shù)據(jù)包,經(jīng)由socket發(fā)送到服務器,然后等待響應下一個用戶消息。
終端程序初始化時會激活一個數(shù)據(jù)刷新時鐘,用戶可以選擇刷新周期,在每個時鐘周期里,主程序從本地數(shù)據(jù)庫中讀取證券行情數(shù)據(jù),并根據(jù)用戶選擇顯示出實時行情、走勢曲線、歷史K線等界面。由于本地數(shù)據(jù)庫僅保存一個時間點的行情數(shù)據(jù),所以在每個刷新周期里需要向服務器請求新的時間點的數(shù)據(jù),從而實現(xiàn)實時的行情顯示。
參閱圖5,通訊線程位于在主程序入口以while()循環(huán)的形式出現(xiàn),在循環(huán)體中首先調用函數(shù)捕獲系統(tǒng)消息,包括線程啟動、線程退出、建立連接、斷開連接等,并據(jù)此作出相應反應。如果沒有系統(tǒng)消息,則監(jiān)聽socket是否有數(shù)據(jù)到達,如果有,則進行解碼,然后保存到相應的數(shù)據(jù)庫表中。
其中,參閱圖6,數(shù)據(jù)請求定時器在一定的時鐘周期(用戶可以設置)中,移動證券根據(jù)用戶的需求向證券服務器發(fā)送數(shù)據(jù)請求(如果用戶關心的是股票的實時行情,向后臺用戶發(fā)送實時行情的數(shù)據(jù)請求;如果關心的是K線,就向證券服務器發(fā)送K線的數(shù)據(jù)請求),以便終端能正確地顯示股票信息。
參閱圖7,刷新定時器在一定的時鐘周期中,GUI對定時器的消息進行處理,從相關的數(shù)據(jù)庫或者內存的數(shù)據(jù)表中,讀取相關的數(shù)據(jù),重新繪制GUI界面,以便能保證GUI界面的正確性。內存數(shù)據(jù)表以及數(shù)據(jù)庫把相關數(shù)據(jù)保存到內存數(shù)據(jù)表以及數(shù)據(jù)庫,以便GUI等相關線程可以調用。
圖8是移動終端利用上述系統(tǒng)及其原理下載K線數(shù)據(jù)并進行定時更新的流程圖,圖9是K線的業(yè)務處理流程圖,圖10則是實時走勢業(yè)務處理流程圖。
下面詳述各主要功能模塊的設計一、對GUI界面處理模塊的設計為了開發(fā)和維護的方便,對GUI界面處理模塊進一步的細分排行榜-類型(深A,滬A,深指等)股票的實時行情處理,關注股的處理,實時走勢,K線圖處理,股評,證券咨訊等。
1)排行榜的處理通過List來顯示某類型股票的基本信息,而且通過刷新定時器不斷的根據(jù)數(shù)據(jù)庫中的最新的行情數(shù)據(jù)刷新界面排行榜的業(yè)務處理流程從數(shù)據(jù)庫中讀取數(shù)據(jù)到列表-顯示列表的數(shù)據(jù)2)K線圖處理用戶可以查看已經(jīng)選定某個股票的K線數(shù)據(jù),(日,周,月K線)。
二、對通信子線程的設計通信子線程主要是周期性的接收服務器回送的應答,并且對接收到的數(shù)據(jù)進行驗證,解碼,并且保存到數(shù)據(jù)庫中。為了整個通信程序模塊的封閉性,對于服務器回送的數(shù)據(jù)包,如果沒有通過相關的驗證處理,采取整包丟棄的策略。
另外,增加關注股的周K線圖
在C042.xdb(歷史K線圖)數(shù)據(jù)庫表中增加WEEKHISTORY字段,保存關注股的周K線數(shù)據(jù)。
在全局變量中增加周K線數(shù)據(jù)結構,用于保存要顯示的關注股的K線數(shù)據(jù)。
typedef struct_StockHotWeekHistoryDataType{UInt8 startDay; //起始周數(shù)Char date[KLINE_COUNT][6];//交易周最后一天日期(yy-mm-dd)Stock32 priceOpen[KLINE_COUNT]; //一周開盤價Stock32 priceClose[KLINE_COUNT];//一周收盤價Stock32 priceHigh[KLINE_COUNT]; //一周最高價Stock32 priceLow[KLINE_COUNT];//一周最低價Stock32 volume[KLINE_COUNT];//一周成價量Stock32 maxPriceHigh;//一周最高價Stock32 minPriceLow; //一周最低價Stock32 maxVolume; //一周最大成交量Stock32 maxPriceClose; //一周最高收盤價Stock32 minPriceClose; //一周最低收盤價}StkHotWeekHistoryDataType;//關注股歷史周K線數(shù)據(jù)在走勢圖和K線圖界面中增加周K線按鈕。
還增加關注股的月K線圖在C042.xdb(歷史K線圖)數(shù)據(jù)庫表中增加MONTHHISTORY字段,保存關注股的月K線數(shù)據(jù)。
在全局變量中增加月K線數(shù)據(jù)結構,用于保存要顯示的關注股的K線數(shù)據(jù)。
typedef struct_StockHotMonthHistoryDataType{UInt8startDay; //起始月數(shù)Char date[KLINE_COUNT][6]; //交易月最后一天日期(yy-mm-dd)Stock32 priceOpen[KLINE_COUNT]; //一月開盤價Stock32 priceClose[KLINE_COUNT];//一月收盤價Stock32 priceHigh[KLINE_COUNT]; //一月最高價Stock32 priceLow[KLINE_COUNT];//一月最低價Stock32 volume[KLINE_COUNT];//一月成價量
Stock32 maxPriceHigh; //一月最高價Stock32 minPriceLow;//一月最低價Stock32 maxVolume; //一月最大成交量Stock32 maxPriceClose; //一月最高收盤價Stock32 minPriceClose; //一月最低收盤價}StkHotMonthHistoryDataType; //關注股歷史月K線數(shù)據(jù)在走勢圖和K線圖界面中增加月K線按鈕。
在K線圖界面中增加左移和右移箭頭。
每次點擊移動按鈕K線圖只移動十個K線單位(十日、十周、十月)。
為實現(xiàn)增量下載,創(chuàng)建一個與C042.xdb(歷史K線表)數(shù)據(jù)庫表結構相同的內存數(shù)據(jù)庫表C0421.xdb,只保存一條記錄,該表用于保存移動K線時臨時保存當前證券歷史某段時間的40日K線數(shù)據(jù),在首次進入某只證券的K線界面時,系統(tǒng)從本地C042.xdb數(shù)據(jù)表中讀取K線數(shù)據(jù),當用戶點擊K線圖移動按鈕時,終端程序從內存數(shù)據(jù)庫表C0421.xdb讀取K線數(shù)據(jù),先檢查C0421.xdb是否包含所需數(shù)據(jù),如果數(shù)據(jù)不全,則發(fā)送缺少時間段里的請求到服務器,這需要修改現(xiàn)有的通訊協(xié)議,在請求和應答中增加結束時間。
本發(fā)明移動證券交易的實現(xiàn)方法,采用以上系統(tǒng),歸納起來主要包括以下步驟A、移動終端連接證券服務器;B、采用增量下載方式從證券服務器下載資料。
步驟B包括子步驟b1、移動終端只保存證券名稱及代碼數(shù)據(jù);b2、在用戶點擊移動終端界面時從證券服務器端下載證券數(shù)據(jù),并顯示在終端上。
所述增量下載方式簡單來說是只下載本地沒有的數(shù)據(jù),具體上是移動終端在每次發(fā)送數(shù)據(jù)請求前,檢查數(shù)據(jù)庫中的最新日期,如果該日期小于當前日期,則下載該日期到當前日期之間的數(shù)據(jù),否則表明本地數(shù)據(jù)為最新數(shù)據(jù),不發(fā)送請求。所述數(shù)據(jù)包括優(yōu)先下載類型數(shù)據(jù),所述優(yōu)先下載類型數(shù)據(jù)是用戶自定義的實時行情、走勢曲線和/或K線數(shù)據(jù)。
并且采用股票詞典、板塊詞典的方式,保持手機終端與服務器數(shù)據(jù)的實時同步。
所述證券字典包括股票字典和板塊字典,其中股票字典是移動終端與系統(tǒng)后臺之間使用的約定規(guī)范,終端通過下載股票字典來與后臺系統(tǒng)保持股市一致性,股票信息數(shù)據(jù)在傳輸過程中通過此約定規(guī)范把終端與后臺的股票相對應起來;板塊字典是股票板塊關系的約定規(guī)范,終端可通過下載板塊字典來達到個股板塊的靈活變化。
移動終端每次啟動程序時自動發(fā)送下載請求,請求包中的時間根據(jù)本地數(shù)據(jù)庫中的上次下載日期決定,從而保證下載增量的證券字典。
例如,以“N”開頭的新股,在上市一段時間后會去掉前面的“N”,對于這種情況,服務器會當作新股下發(fā)到終端,終端作為股票改名方式處理。
在現(xiàn)有技術中,K線圖的每次刷新流程都請求下載全部一段時間內的K線數(shù)據(jù),不論本地是否保存有相關數(shù)據(jù),這就造成在系統(tǒng)每個數(shù)據(jù)刷新周期(N×30秒),每次用戶翻頁查看證券的K線圖、每次用戶切換到K線圖界面時,系統(tǒng)都會從服務器下載所有40日的K線數(shù)據(jù),這種處理方式浪費了系統(tǒng)資源,而采用本發(fā)明的增量下載方式,只下載本地沒有的K線數(shù)據(jù)、證券字典等數(shù)據(jù),大大加快了下載的速度,減輕了系統(tǒng)負擔。
在現(xiàn)有技術中,實時走勢圖的每次刷新流程都請求下載當天全部交易時間的數(shù)據(jù),不論本地是否保存有相關數(shù)據(jù),這就造成在系統(tǒng)每個數(shù)據(jù)刷新周期(N×30秒),每次用戶翻頁查看證券的實時走勢圖、每次用戶切換到實時走勢圖界面時,系統(tǒng)都會從服務器下載當天全部交易時間的數(shù)據(jù),這種處理方式浪費了系統(tǒng)資源,而采用本發(fā)明的增量下載方式,只下載本地沒有的實時走勢數(shù)據(jù),大大加快了下載的速度,減輕了系統(tǒng)負擔。
利用本發(fā)明可同時由用戶自定義幾種或十幾種實時行情、走勢曲線和/或K線數(shù)據(jù)為優(yōu)先下載類型數(shù)據(jù),優(yōu)先下載用戶急切需要了解的數(shù)據(jù),大大減少了需下載的數(shù)據(jù)數(shù)量,增強了移動終端實時快速處理顯示信息的能力。
權利要求
1.一種移動證券交易的實現(xiàn)方法,包括步驟A、移動終端連接證券服務器;B、采用增量下載方式從證券服務器下載資料。
2.根據(jù)權利要求1所述的移動證券交易的實現(xiàn)方法,其特征在于所述增量下載方式是移動終端在每次發(fā)送數(shù)據(jù)請求前,檢查數(shù)據(jù)庫中的最新日期,如果該日期小于當前日期,則下載該日期到當前日期之間的數(shù)據(jù),否則表明本地數(shù)據(jù)為最新數(shù)據(jù),不發(fā)送請求。
3.根據(jù)權利要求2所述的移動證券交易的實現(xiàn)方法,其特征在于步驟B包括子步驟b1、移動終端只保存證券名稱及代碼數(shù)據(jù);b2、在用戶點擊移動終端界面時從證券服務器端下載證券數(shù)據(jù),并顯示在終端上。
4.根據(jù)權利要求2所述的移動證券交易的實現(xiàn)方法,其特征在于所述數(shù)據(jù)包括優(yōu)先下載類型數(shù)據(jù),所述優(yōu)先下載類型數(shù)據(jù)是用戶自定義的實時行情、走勢曲線和/或K線數(shù)據(jù)。
5.根據(jù)權利要求1或2所述的移動證券交易的實現(xiàn)方法,其特征在于所述數(shù)據(jù)是實時行情、走勢曲線和/或K線數(shù)據(jù)。
6.根據(jù)權利要求1所述的移動證券交易的實現(xiàn)方法,其特征在于所述證券服務器采用用戶管理服務器與數(shù)據(jù)服務器的雙服務器方式,所述移動終端采用多任務多線程并行處理任務。
7.根據(jù)權利要求1所述的移動證券交易的實現(xiàn)方法,其特征在于移動終端程序的功能通過主線程和通訊線程的協(xié)同工作實現(xiàn),主線程實現(xiàn)用戶界面、顯示實時行情、走勢曲線、K線、參數(shù)配置功能,通訊線程實現(xiàn)對證券服務器數(shù)據(jù)的下載、解碼并保存到本地數(shù)據(jù)庫功能。
8.根據(jù)權利要求1所述的移動證券交易的實現(xiàn)方法,其特征在于主線程包括用戶操作響應過程和時鐘處理過程,用戶操作響應過程為用戶提供證券的實時行情、實時走勢曲線、歷史K線、技術指標、股評、證券查詢、限價設置的功能,當用戶點擊界面選擇相應功能時,主線程通過消息處理函數(shù)處理用戶請求,根據(jù)用戶選擇的功能生成相應的協(xié)議數(shù)據(jù)包,經(jīng)由socket發(fā)送到服務器,然后等待響應下一個用戶消息。
9.根據(jù)權利要求8所述的移動證券交易的實現(xiàn)方法,其特征在于所述通訊線程位于在主程序入口,在循環(huán)體中首先調用函數(shù)捕獲系統(tǒng)消息,并據(jù)此作出相應反應,如果沒有系統(tǒng)消息,則監(jiān)聽socket是否有數(shù)據(jù)到達,如果有,則進行解碼,然后保存到相應的數(shù)據(jù)庫表中。
10.根據(jù)權利要求1所述的移動證券交易的實現(xiàn)方法,其特征在于采用股票詞典、板塊詞典的方式,保持手機終端與服務器數(shù)據(jù)的實時同步。
全文摘要
本發(fā)明公開一種移動證券交易的實現(xiàn)方法,該方法包括步驟A、移動終端連接證券服務器;B、采用增量下載方式從證券服務器下載資料。本發(fā)明使用增量下載的方式,移動終端內已經(jīng)有的數(shù)據(jù)不再重復下載,僅下載最新的數(shù)據(jù),大大提高了數(shù)據(jù)傳輸速度,保證了利用智能終端進行證券交易操作的實時性。
文檔編號H04L29/00GK1991900SQ200510121129
公開日2007年7月4日 申請日期2005年12月29日 優(yōu)先權日2005年12月29日
發(fā)明者羅濤 申請人:宇龍計算機通信科技(深圳)有限公司