一、产(股)权交易系统整体架构
产(股)权交易系统采用的编程语言为BORLAND DELPHI7语言和C++语言,语言应用平台为clearcase/" target="_blank" >cc">WINDOWS
2000和UNIXWARE711,数据库为非常优秀和优化的ORACLE8i,安装在UNIXWARE711操作系统上。为了更方便的对交易系统的管理和设置交易参数,交易系统的前台管理模块采用在
WINDOWS2000操作平台上的DELPHI7语言编写;为使交易系统更加稳定、安全和具有很高的运行速度,后台交易撮合系统采用在UNIXWARE711操作平台上的C++语言编写。整个交易系统采用C/S/S三层架构,即后台交易撮合、中间件及前台管理和委托。交易系统的交易数据是通过INTERNET传送客户端,交易数据包括委托指令、数据查询、成交回报、行情信息及客户的出入金数据等,这些数据在INTERNET上以明码的方式传输是非常不完全的,为使数据更安全,要把交易数据加密。下面主要介绍一下中间件和加密算法。
为解决分布异构问题,我们采用了中间件技术。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。中间件具有如下的一些特点:
1、满足大量应用的需要
2、运行于多种硬件和OS平台
3、支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
4、支持标准的协议
5、支持标准的接口
产(股)权交易系统采用面向消息的中间件(Message-Oriented Middleware)和交易处理中间件,这样可以大幅度提高连接信息的吞吐量和交易撮合速度。证券交易所和期货交易所都采取的这两中间件技术。
加密算法主要有以下几种:
1、公开密钥算法(RSA(Rivest-Shamir-Adelman)是使用最多的公开密钥算法,能够被应用在加密和数字签名中。)
2、隐秘密钥算法
3、块密码模式
4、密文暗码函数(如MD4、MD5)
5、随机数字发生器(如RC4、RC5)
产(股)权交易系统采用IDEA (International Data Encryption Algorithm)加密算法,这个算法被认为非常安全。这是目前世界上最好的公开的加密算法,这也是一种比较新的算法,在已经使用过的这些年里,没有关于这种算法的弱点的报告,尽管有无数人对其进行了分析和攻击。
本系统采用国际上认可的公开加密算法并与随机加密结合的加密方式进行加密。对于来往交换的数据我们采用了著名加密算法"IDEA加密算法"的变异64位分组加密算法,它的加密内核是基于"IDEA"的,但它的外部采用了"循环模余异或"的加密算法.整个加密算法采用64位分组16位模余,密钥长度达128位,加密轮数为8轮.
变异说明:
数据处理前要初始化128位的密钥生成加密密钥数组和解密密钥数组
加密过程:
1.对要加密的数据与初始密钥进行循环异或运算.
2.再用IDEA对数据进行8轮加密运算.
3.再对数据与初始密钥的模16值进行异或运算
解密过程为加密过程的逆序3,2,1步.
安全性分析:
本加密算法密钥长度为128位---比DES长两倍多。假定采用穷举法进行攻击是有效的,那么,为获取密钥需要2的128次方(等于10的38次方)加密运算.设计一个每秒可以测试10亿个密钥的芯片,并采用10亿个芯片来并行处理,它将花费10的13次方年.IDEA算法在4轮以上就对差分密码分析免疫了.所以对8轮以上的变异的IDEA算法任何密码分析都是无效的.
二、产(股)权交易系统模块组成和功能
(1)交易管理
交易管理用来对会员和投资人的交易状态设置;交易节的设定,可以选择交易方式(连续竞价撮合、单一集合竞价撮合和隔日竞价撮合);可以设置未成交申报单的有效时间;设置最小买卖单位;每笔最大下单量;可以任意设置交易节交易时间,交易节时间包括集合竟价时间和连续竟价时间;在线操作在交易过程中动态设置交易参数,设置的交易参数即时起作用。比如可以动态终止某投资人的交易行为;可以动态修改品种涨跌幅;动态挂起交易品种等。
(2)交易结算
结算主要负责系统数据计算及各种报表的生成打印。
交易结算菜单包括数据查询(成交、委托、资金、交易所收益情况、交易统计)、数据结算(数据结算、结算日期管理)、打印报表(日报、月报)
会员手续费的按月返还。
各类资金及成交情况查询、预览、打印。
此程序实现对每日交易后的数据进行清算。对股权交易的资金结算。当日结算后的没有被股权占用的资金可以在第二天通过银证转帐进行出金。
(3)成交监控
此程序实现对交易过程中的情况进行监控,监控每个投资人的委托、成交、资金和配股分红情况。投资人每进行一次委托,监控系统就会显示一下委托情况。后台每撮合成交一笔,成交监控就会收到相应的信息并显示在界面上,同样银证转帐的资金变动也显示在界面上,动态信息可以查询出有风险的投资人。这些监控信息当日生成一个随机加密文件,只有在本程序下才能打开。随机加密文件每天生成一个。
(4)登记托管
登记托管:对要进行交易的企业的基本资料的常规操作(基本信息的录入、查找、修改、删除、预览、打印)。对产(股)权的基本量化转换,对进行托管的产(股)权进行TP化及分类、并进行相应的产(股)权编码,基本信息的录入、查找、修改、删除、预览、打印等基本操作;
登记托管办理会员的注册,输入会员的基本资料;投资人的注册,输入投资人的基本资料;可以批量开户、会员转让、交易过户等。
(5)下单程序
会员版:会员通过此程序可以接受投资人委托,对投资人进行代理进行交易。 投资人可当面委托的方式进行代理交易。被代理的投资人不能自己下单。如果投资人下单,系统提示‘投资人已被代理,不能自己交易’。
会员代理下单:会员可以代理投资人下单,投资人把委托单具正确填写完毕后,由会员代理录入委托单,会员击回车下单时,要求投资人输入交易密码,密码输入后才下单。
单机版:由投资人自己通过互联网络自行下单。
(6)撮合系统
后台撮合系统是交易系统各模块中最核心的部分。它对会员及投资人的申报和查询操作指令进行解释执行。负责把动态行情和成交回报信息传送到行情播发和成交监控。
撮合系统包括两个部分,中间件及后台撮合,中间件负责接收所有客户的连接,然后把接收到的指令转发给后台,后台进行相应的撮合。中间件根据具体情况可以设置一台或多台以减少通信上的压力。中间件的功能为代理转发、截断其他恶意连接的作用。
撮合规则:
按价格优先、时间优先的原则竞价撮合成交,成交时价格优先的原则为:较高价格买进申报优先于较低价格买进申报,较低价格卖出申报优先于较高价格卖出申报。
成交时间优先的原则为:买卖方向、价格相同的,先申报者优先于后申报者。先后顺序按交易主机接受申报的时间确定。
(7)银行接口程序
在交易系统中非常重要的一个模块,没有此模块,交易系统就没有资金交易;此部分程序应由银行配合进行。有交易所银行接口和银行资金接口组成,银行端资金实现的功能为:交易资金帐户与银行卡对应关系的登记、登记删除、登记查询银行帐户转交易资金帐户,交易资金帐户转银行帐户,查询银行卡余额,更改转帐密码,签到,签退,对总帐,对明细帐,转帐数据统计,密钥管理,操作员管理,交易市场信息管理,客户信息管理,流水查询,接口的系统维护及日志。投资人或会员的银行资金帐号和交易所交易资金帐号在银行和交易所两家数据库中同时存在,关系是一一对应的。投资人或会员在银证转帐办理完毕、交易资金划转成功后便可交易。由于各种意外使转帐没有成功,当日银行冻结该笔资金,在结算对帐时确定该笔资金情况。交易所端利用银行端实现的功能与银行配合进行资金的划转,具体的操作方式为,投资人或会员到指定银行办理专用交易资金帐户,该帐户信息应在交易所和银行保存一致的数据。该帐户上的资金为交易所进行交易业务所用的资金,投资人或会员可以完全利用银行端进行资金的划拨,即从交易所交易帐户划到银行专用帐户,也可以从银行把资金划到交易所的交易帐户进行交易。每次操作时都应有明细记录,为了保证数据在网络上传输的及时性、正确性及保密性,所有在传输过程中的数据都进行加密,交易所端接口与银行接口传输数据应采用通用的国际商业活动采用的加密算法,该算法应加密强度大、效率高。为了保证资金的正确性,每日交易前及闭市后都要对帐户上的交易部分资金进行核对,如果某个投资人或会员出现资金异常,系统在操作时给予提示有相关人员进行必要的处理。当日闭市结算完毕后进行对帐,由于通讯线路的不稳定性或其他原因,有可能导致双方帐务的不一致,为保证交易所端和银行端的帐务的一致性,对于单边帐的处理应有妥善的解决办法,还采取“冲正”的手段即以一方为准进行资金的核对验证。 交易所接口与银行接口应有开通时间的限定,投资人或会员可以完全利用银行端提供的网上银行进行资金的划拨,投资人或会员要开通此项业务应到银行办理相应的银证转帐协议领取在银行的帐户及密码。银证接口的开通时间有市场与交易所协商解决。办理银证转帐时间为:银证转帐业务的办理时间即周一到周五的上午9:30-11:30,下午1:00-3:00(法定节假日除外)。闭市后和开市暂停时间不办理银证转帐业务。
(8)行情服务器程序
在交易所机房安装一台行情服务器,此行情服务器通过串口和行情新闻播发程序连接。网上行情服务器与机房内的行情行情服务器通过TCP协议连接。远程客户通过INTERNETR与网上行情服务器连接。
行情服务器的功能:
1、网上行情服务器可以设置远程客户连接个数。
2、设置客户连接的有效时间。
3、可以即时断开和开通远程客户的行情信息。
4、可以查询出远程客户主机的IP地址、端口号和主机名。
5、可以查询出当前客户的连接数和访问次数。
(9)行情和新闻播发程序
数据播发及新闻编辑通过内网IP与交易后台连接,客户端申报价格产生的行情即时传入数据播发及新闻编辑程序,数据播发及新闻编辑程序把数据加密和压缩后通过串口线传到行情服务器。
数据播发及新闻编辑程序的功能:
1、播发程序可以手工播发静态行情。
2、播发程序可以编辑新闻和公告信息。
3、播发程序可以自动播发编辑好的新闻或公告信息,可以新闻播发的间隔时间。
4、播发程序可以设置用户权限,如果客户没有收到权限,将不能收到行情信息。
(10)行情分析
行情显示交易所所有挂盘品种的名称、今开、成交、涨跌、总手、现手、最高、最低、买入、卖出、涨跌幅、股本信息等。行情的颜色区分:红颜色为涨,绿颜色为跌,白色为持平。行情品种分为两个板快即产权交易板和股权交易板,点击产权交易板按钮即显示产权交易板行情,点击股权交易板按钮即显示股权交易板行情。所有投资人和会员可以看到所有的品种行情,系统不能设置某个会员只能看到某些品种的行情。
(11)结算数据查询服务器
为投资人查询打印当日结算单时与此服务器相连。在下午结算完毕后,投资人可以在客户端连接查询和打印当天或历史的成交情况及资金情况。
(12)原始产(股)权录入
在交易所会员所发展的企业处、企业也利用该程序进行企业基本资料的录入,及原始股份的录入,然后把加密数据发送到交易所(通过软盘或电子邮件),在登记托管系统中把数据录入数据库。
(13)柜员系统
柜员系统由会员结算系统、会员下单系统和会员成交回报三部分组成;会员结算系统负责各类资金及成交情况查询、预览、打印;会员下单系统可以代理投资人下单,投资人把委托单具正确填写完毕后,由会员代理录入委托单,会员击回车下单时,要求投资人输入交易密码,密码输入后才下单。
三、交易系统整体功能和特点
1、后台操作系统UNIXWARE711、开发语言为C++。使交易系统更加安全、交易撮合速度更快、操作更简捷;
2、前台操作系统为大家最常用的WINDOWS2000,开发语言为面向对象DELPHI7,使应用程序更方便、灵活、快捷;
3、交易中间件负责广域网连接,使客户端不直接连接到后台,避免病毒的感染和网络黑客的攻击;
4、交易系统中可以设置各级管理员的操作权限,操作权限分为只读权限,写权限和无权限;超级管理员有绝对的权限,可以分配其他管理员的权限,使交易系统更安全;
5、设置多级管理员密码:对系统中一些重要的设置,必须有多名具有管理权限管理员同时输入密码才可进入操作系统;
6、自动大批量开户:如果有大量投资人同时开户,可用产股权录入软件批量开户,同时自动生成投资人交易帐号(投资人交易帐号可根据情况修改);
7、交易系统具有质押功能,可以对某只股权全部质押,也可以对某只股权部分股权质押;
8、投资人指定交易:可以把某以会员的投资人临时指定另一个会员交易;
9、锁定股权的流通量:可根据交易情况按比例锁定某只股权或某一投资人股权流通量;
10、出入金通过银证转帐系统:投资人的出入金是投资人通过银证转帐系统自动完成,是交易所的资金风险为0;
11、方便的交易分红:交易所只需要生成一个加密的分红文件,把文件发送的银行,通过银行系统把红利分发到资金帐户;
12、交易系统支持多交易节交易:每天的交易节可以分为多个;
13、 交易系统的交易方式分为三种:连续竞价撮合、单一集合竞价撮合和隔日撮合;
14、投资人下单窗口可自动提供所输入品种的最新价;
15、成交回报监控可动态监控客户资金风险情况、下单情况、成交情况、分红配股情况;
16、柜员成交回报监控可以动态监控所属客户的下单情况、成交情况、分红配股情况;
17、柜员下单系统可代理投资人下单;
18、会员可通过会员结算系统查询、打印代理投资人的资金和下单情况;
19、行情服务器可以动态控制投资人行情数据;
20、投资人通过下单系统在闭市后,可方便的查询到自己的清算情况,并打印自己的当天下单情况;