亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于劵商的Transmid事務(wù)處理機的設(shè)計與實現(xiàn)

        2015-10-12 05:23:12趙維趙雋
        關(guān)鍵詞:處理機下單中間件

        趙維,趙雋

        (1.吉林警察學院,長春 130117;2.長春師范大學,長春 130022)

        基于劵商的Transmid事務(wù)處理機的設(shè)計與實現(xiàn)

        趙維1,趙雋2

        (1.吉林警察學院,長春130117;2.長春師范大學,長春130022)

        針對不同的券商接口,當面對統(tǒng)一請求的數(shù)據(jù)格式時,不同的券商就很可能無法“讀懂”用戶到底在請求什么數(shù)據(jù),本文設(shè)計了一個基于券商的Transmid事務(wù)處機系統(tǒng)。Transmid事務(wù)處理機系統(tǒng)采用了線程池、進程間通信和Lua函數(shù)與C/C++接口交互技術(shù),通過測試,該模型層次清晰、易于實現(xiàn)、并發(fā)性能高。

        Transmid事務(wù)處理機;券商;并發(fā)性;Lua函數(shù)

        隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,人們越來越需要把來自不同企業(yè)的開發(fā)的軟件集成起來,來獲得更大的信息資源共享。中間件作為連接不同平臺與終端用戶之間的軟件應(yīng)用而生。它具有標準協(xié)議和接口的通用軟件,為用戶提供了良好的可靠性、可用性、靈活性[1],圖1所示為中間件模型。

        圖1 中間件模型

        中國近年來也先后有很多關(guān)于中間件的研究,如尹東杰研究了中間件在保險也上的設(shè)計應(yīng)用[2],呂光研究了中間件在航空上的應(yīng)用[3],沈滌研究了中間件在住房公積金上的應(yīng)用[4],還有很多這樣類型的研究,實際上中間件已經(jīng)應(yīng)用了我們生活中的各個方面。

        本文主要提出一種基于券商的中間件Transmid事務(wù)處理機,它針對不同的券商,提供一種接口,方便用戶和券商之間的聯(lián)系。

        1 相關(guān)技術(shù)

        1.1線程池

        線程池是用來存放線程的地方[5],由于它的容量有限,眾多線程之間的調(diào)用需要一個線程池的管理機制,它管理線程的休眠和喚醒。一般為,每次外界程序都會通過一定的方式一次喚醒一個線程,同時休眠相應(yīng)的一個線程,然后運行這個喚醒的線程,這種喚醒與休眠不是隨機運行的,它是通過一定的算法結(jié)構(gòu)進行的,比如線性隊列,優(yōu)先級排序,最大權(quán)值法等等。同時,線程是一個正在或?qū)⒁獔?zhí)行的程序代碼,所以它必然有一個接口,該接口實現(xiàn)線程想要的功能,比如訪問數(shù)據(jù)庫,實現(xiàn)圖形界面等,因此,線程池需要一個緩沖區(qū),在這個區(qū)間里,可以存放著比較活躍的線程。線程池所占的空間內(nèi)存很小,但是卻能起到很大的作用。

        1.2進程間的通信技術(shù)

        進程間通信[6](IPC,Inter-Process Communication)是進程或線程間傳送數(shù)據(jù)或信號的一些技術(shù)或方法。計算機系統(tǒng)分配資源的最小單位是進程(嚴格說來是線程)。進程間通信方法包括消息隊列、共享內(nèi)存和信號量等。

        共享內(nèi)存,就是映射一段內(nèi)存,這段內(nèi)存能被其他進程所訪問,這段共享內(nèi)存被一個進程所創(chuàng)建,但多個進程都可以訪問到這段內(nèi)存。進程會把這個地址映射到一個虛擬地址。

        共享內(nèi)存是最快的進程間通信方式,它是為了解決其他進程間通信方式運行效率低的問題,從而專門設(shè)計的。它往往與其他通信機制,如信號量,配合使用,來實現(xiàn)進程間的同步和通信。

        消息隊列,是獨立于生成它的進程的內(nèi)存中的一段存儲區(qū)。一旦一個消息隊列被創(chuàng)建,它總是可以被某個進程訪問,只要這個進程具有正確的訪問權(quán)限。消息隊列中的每一條消息,都要被進行分類,我們可以通過編號,來進行這樣的分類。消息隊列里面有一個標志形式,用來表示正在被哪些進程共享與占用,進程可以通過消息隊列進行互相交互,從而達到通信的目的,這是消息隊列的重要作用。

        信號量(Semaphore),也被稱為信號燈,是在多線程環(huán)境下使用的一種變量,是可以用來保證兩個或多個關(guān)鍵代碼段不被同時調(diào)用。信號量通常是一個非負整數(shù),所有通過它的線程/進程,都會將該整數(shù)減1(通過它當然是為了使用資源),當該整數(shù)值為零時,所有試圖通過它的線程/進程,都將處于等待狀態(tài)。

        1.3Lua函數(shù)與C/C++接口交互技術(shù)

        Lua函數(shù)是由Lua腳本語言實現(xiàn)[7]。Lua函數(shù)與C++腳本的交互分為兩部分,第一部分是Lua函數(shù)訪問C++的接口,第二部分是C++接口訪問Lua函數(shù)。Lua程序被嵌入到C++程序中,目的是為了起到一個橋梁的作用。整個程序的功能由C++提供,而Lua程序只負責調(diào)用這些功能,并結(jié)合自身的優(yōu)點,來對它們進行快速重組,以此,來控制各函數(shù)及模塊之間的邏輯關(guān)系。Lua函數(shù)所調(diào)用的C函數(shù)的函數(shù)原型,在C程序中需要將這種函數(shù)類型的函數(shù),注冊到Lua狀態(tài)機中,此后,Lua才能調(diào)用到C的函數(shù)。

        Lua函數(shù)與C++或者C是通過“棧”完成數(shù)據(jù)互相訪問的。在數(shù)據(jù)交互過程中,第一步是先將數(shù)據(jù)壓入到“?!崩?,之后“?!睍祷匾粋€索引值,通過這個索引值,我們能夠進行定位,索引值以1或-1為起始值,+1與-1分別表示不同的含義,+1表示在棧的底部進行索引,-1表示在棧的頂部進行索引?!皸!本褪且粋€寄存區(qū)域,通過“?!?,Lua與別的語言就能相互進行交互操作,“?!笔撬鼈冞M行相互交互的一個接口,如果沒有棧,它們之間就不能相互溝通操作。

        2 事物處理機的整體框架

        本文將事物處理機分為Lua業(yè)務(wù)層、Lua腳本框架和Transmid.exe三層。通過對這三層進行明確分割,實現(xiàn)邏輯上的獨立,提高通信效率。事物處理機的整體框架如圖2所示。

        圖2 事物處理機的整體框架

        2.1Lua業(yè)務(wù)層

        Lua業(yè)務(wù)層主要包含三個配置表:xxxcomm. lua、xxxconfig.lua和config.lua,分別完成對Transmid事務(wù)處理機通訊協(xié)議、監(jiān)聽端口、調(diào)度方式、預處理線程數(shù)及營業(yè)部信息的配置。其中,通信協(xié)議的配置中,采用TCP或UDP,在快速接口中,采用TCP通信協(xié)議;監(jiān)聽接口的配置中,主要是指下單客戶端、委托主站、事物處理機、各自使用的端口要協(xié)調(diào)一致,下單客戶端和委托主站使用同一個監(jiān)聽端口,委托主站和事物處理機使用同一個監(jiān)聽端口;調(diào)度方式配置,主要是指按功能分發(fā),營業(yè)部均衡、強制均衡或默認的方式,選擇不同的券商。

        2.2Lua腳本框架

        Lua腳本框架主要包含Jmodel封裝而成,JModel 是MVC[8]的重要插件,它是數(shù)據(jù)視圖層,主要負責實現(xiàn)了數(shù)據(jù)按照配置表(xxxConfig.lua)、處理拼裝請求以及從柜臺返回數(shù)據(jù)后回填到對應(yīng)的返回結(jié)構(gòu)中,并且它負責了和底層C++框架的交互。

        2.3Lua狀態(tài)層

        Lua狀態(tài)層主要包含C/C++框架、線程池及xxxlink.dll動態(tài)鏈接庫。其中,C/C++框架主要用來對Transmid事物處理機中與委托主站通信和數(shù)據(jù)儲存,并且在數(shù)據(jù)存儲方面,采用了Oracle數(shù)據(jù)庫[9]。線程池主要針對Transmid事物處理機中有大量請求并發(fā)訪問時,減少服務(wù)器創(chuàng)建和銷毀對象的開銷,重復利用資源。xxxlink.dll動態(tài)鏈接庫為主程序提供方法,進程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù),并可以很容易地將更新應(yīng)用于各個模塊,而不會影響該程序的其它部分。

        3 設(shè)計與實現(xiàn)

        3.1Transmid設(shè)計

        Transmid事務(wù)處理機主要實現(xiàn)不同券商與用戶終端的接口,主要的功能需求如圖3所示。

        圖3 事務(wù)處理機用例圖

        從圖3可以看出Transmid事務(wù)處理機主要分為請求處理、應(yīng)答處理、線程處理、客戶端、服務(wù)器、日志處理、異常處理、管理功能和其他配置等,其中請求處理是主要處理客戶下單發(fā)來的請求,應(yīng)答處理主要做的是當有請求時,柜臺要做出相應(yīng)的處理,線程處理主要實現(xiàn)多線程處理,這樣可以很有效地提高工作效率,處理好并發(fā)和同步操作,日志處理以及異常處理都是用于處理方便BUG的修改。

        3.2Transmid交易框架

        Transmid事物處理機在整個券商的交易系統(tǒng)中處于一個核心地位,它控制了整個交易系統(tǒng),來鏈接下單終端和券商之間的操作,方面了操作提高了系統(tǒng)的運行速度,在一定程度上方便了系統(tǒng)的操作[10],在券商與終端的的框架圖如圖4所示。

        圖4 交易系統(tǒng)框架圖

        交易系統(tǒng)框架主要包含下單終端、委托主站、Transmid事物處理機和券商。其中,下單客戶端主要是為用戶提供委托下單用的程序,用戶通常利用電腦軟件、手機APP進行炒股,所用的客戶端工具,即為下單客戶端,用戶利用自己的客戶號或資金賬號等,進行登錄后,可以實現(xiàn)股票的功能,如委托、查詢功能等;基金的功能,如申購認購等。委托主站主要負責所有交易類的請求的接入(當然,委托網(wǎng)關(guān)也會接入交易類請求,但是最終還是發(fā)送到委托主站上)。委托主站會處理部分的業(yè)務(wù)數(shù)據(jù),比如在用戶查詢股票持倉的時候,委托主站會處理對應(yīng)每支股票的盈虧。委托主站甚至能更新下單客戶端,或者是根據(jù)客戶端的版本,強制更新客戶端的配置等等功能。委托主站可以接入下單客戶端連接到Transmid事務(wù)處理機。

        交易的處理過程主要分為兩階段,第一階段為準備階段,Transmid事務(wù)處理機讀取數(shù)據(jù)包頭;第二階段為執(zhí)行階段,當事務(wù)處理機收到數(shù)據(jù)包之后,讀取數(shù)據(jù)包頭,事務(wù)處理機根據(jù)結(jié)果的交易信息內(nèi)容判斷交易是否成功,將返回的信息返回給客戶。下面為數(shù)據(jù)的直接交易,下單終端將信息發(fā)送給服務(wù)器,將結(jié)果返回給事務(wù)處理機,然后將正確結(jié)果返回給客戶。

        3.3Transmid系統(tǒng)應(yīng)用實例

        Transmid事務(wù)處理機具有較好的實用性,可以進行各種交易的事物處理功能,可以對數(shù)據(jù)庫的數(shù)據(jù)進行插入、修改、查詢、刪除操作,同時可以實現(xiàn)數(shù)據(jù)的接收和發(fā)送,而且可以建立高速的傳輸通道,保證數(shù)據(jù)的完整性和一致性。本文主要對Transmid系統(tǒng)的取消證券交易處理過程測試,如圖5所示。

        圖5 取消證券交易處理過程

        本文主要介紹Transmid事務(wù)處理機在取消證券交易過程中的處理過程,其中SendData表示將交易數(shù)據(jù)發(fā)送到某一固定長鏈接上;RecvData表示從某一固定長鏈接上接收交易數(shù)據(jù);GetResult表示對交易結(jié)果進行判斷,將證券交易結(jié)果返回客戶,由此提高了分布式交易處理的效率,順利完成退票交易。

        4 結(jié)論

        本文提出了基于交易中間件的Transmid事務(wù)處機模型,該模型采用了多線程技術(shù)和事務(wù)處理技術(shù),作為券商與用戶的接口,方便了用戶證券的交易。通過測試,該模型層次清晰、易于實現(xiàn)、并發(fā)性能高,方便了用戶證券的交易。但在集群處理能力和分布式處理能力上還有一定的提升空間。

        [1] 李志彤,呂國英.交易中間件的基本實現(xiàn)原理[J].計算機工程,2003,29(6):32-33.

        [2] 尹東杰.基于交易中間件CICS的失業(yè)保險信息系統(tǒng)設(shè)計[D].上海:復旦大學,2011.

        [3] 呂光.基于交易中間件的航班特殊服務(wù)請求控制系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京大學,2011.

        [4] 沈滌.基于交易中間件的住房公積金管理系統(tǒng)的開發(fā)與設(shè)計[D].上海:復旦大學,2008.

        [5] 楊開杰,劉秋菊,徐汀榮.線程池的多線程并發(fā)控制技術(shù)研究[J].計算機應(yīng)用與軟件,2010,27(1):168-170.

        [6] 李小群,趙慧斌,孫玉芳.進程間通信機制的分析與比較[J].計算機科學,2002,29(11):16-21.

        [7] 鄧正陽,陳和平,蘇鵬.動態(tài)腳本語言Lua與C++交互方法的研究與實現(xiàn)[J].計算機應(yīng)系統(tǒng)應(yīng)用,2010,19 (5):198-200.

        [8] 胡前進,蔡永州,吳敏.基于MVC模式的Joomla!框架在Web系統(tǒng)組件擴展開發(fā)中的應(yīng)用研究[J].現(xiàn)代教育技術(shù),2009,19(6):97-100.

        [9] 姚燕,高峰,郭萍.Oracle數(shù)據(jù)庫鏈接技術(shù)及其應(yīng)用[J].氣象科技,2006,34:19-21.

        [10] 郭志強.面向?qū)ο蟮姆植际街虚g件技術(shù)的研究與實現(xiàn)[D].重慶:重慶大學,2005.

        The Design and Implementation of Transaction Middleware Processor System Based on Broker

        ZHAO Wei1,ZHAO Jun2
        (1.Jilin Police College,Changchun 130117;2.Changchun Normal University,Changchun 130022)

        In this paper,a transaction middleware processor system based on broker is designed to aim at the interfaces of different brokers which face with a unified data format requested and it might not read what the users’data is requested.The transaction middleware processor uses the thread poo,inter process communication,Lua function and C/ C++interface interaction technology.The test shows that the middleware processor model has a clear model level,easy-to-implement and high concurrency.

        a transaction middleware processor system;broker;high concurrency;Lua function

        TP368.2

        A

        1672-9870(2015)06-0168-04

        2015-11-04

        趙維(1983-),女,碩士,助教,E-mail:541241178@qq.com

        猜你喜歡
        處理機下單中間件
        基于聯(lián)邦學習的自助取貨機遠程下單數(shù)據(jù)共享方法
        污泥干化處理機翻拋軸的模態(tài)分析
        一種改進的wRR獨立任務(wù)調(diào)度算法研究
        歐洲最大罐車企業(yè)FFB:如果你現(xiàn)在下單2020年才能提車
        專用汽車(2018年10期)2018-11-02 05:32:30
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        基于VPX標準的二次監(jiān)視雷達通用處理機設(shè)計
        電子制作(2016年1期)2016-11-07 08:42:47
        能卷鉛筆的廢紙?zhí)幚頇C
        聯(lián)發(fā)科傳下單中芯不利臺積
        電子世界(2015年22期)2015-12-29 02:49:41
        中間件在高速公路領(lǐng)域的應(yīng)用
        青青草国产成人99久久| 最新国产女主播在线观看| 日韩av在线播放人妻| 少妇愉情理伦片丰满丰满| 免费中文熟妇在线影片| 国产一在线精品一区在线观看| 国产精品成人无码久久久久久| 国内精品国产三级国产avx| 全亚洲高清视频在线观看| 公与淑婷厨房猛烈进出| 天天天天躁天天爱天天碰2018| 欧美在线三级艳情网站| 亚洲精品一品二品av| 日韩在线一区二区三区中文字幕| 亚洲日产国无码| 人妻少妇av中文字幕乱码免费| 在线观看亚洲视频一区二区| 国产高清一区二区三区四区色 | 麻豆视频黄片在线免费观看| 色翁荡息又大又硬又粗视频| 亚洲av香蕉一区区二区三区| 中文字幕久久熟女蜜桃| 国产乱妇乱子视频在播放| 久99久精品免费视频热77| 在线观看一区二区三区视频| 丝袜美腿国产一区二区| 欧美大屁股xxxx高潮喷水| 国产免费无码一区二区三区| 国产精品无码久久久久久蜜臀AV| 青青草是针对华人绿色超碰| 狠狠躁夜夜躁人人爽超碰97香蕉| 色先锋av资源中文字幕| 国产精品每日更新在线观看| 男女啪啪免费视频网址| 一个少妇的淫片免费看| 男男啪啪激烈高潮cc漫画免费| 天天狠天天透天干天天| 亚洲中文字幕乱码免费看| 日本不卡视频一区二区| 日本va欧美va精品发布| 国产成人久久777777|