深圳金证:证券行业变革中的IT力量
比特网(Chinabyte)7月5日综述(王允) 如果走得不够远,很难发现深圳金证科技股份有限公司(以下简称深圳金证)的大楼是深圳市南山高新园区唯一一个欧式建筑;但即便是你离这家公司不够近,也能够听到金证在证券行业软件与系统集成方面的名气:2009年经纪业务排名前20名券商中有一半的集中交易系统选择金证,CallCenter更是超过了50%,强手林立的CRM系统金证也进驻了8家……
“整合之后中国的证券商是100多家,金证的直接客户群有40多家,但是我们间接的客户群,业务往来的可能过半以上。”深圳金证副总裁王海航在记者面前也没有掩饰对深圳金证的骄傲。
认识“集中交易”
深圳金证成立于1998年,由两家经历过证券行业“股价黑板写”时代的金融行业软件公司1998年两家公司合并成立,并迅速以30%的市场份额成为国内最大的证券软件供应商。
当时中国证券行业完全处于萌动时期,完全是手工操作,手再快也赶不上股价变动,甚至有时候市内和深圳蛇口的股价都不一样。深圳金证副总裁王海航之所以对这段历史念念不忘,不仅仅是因为证券行业电子化之初这个行业充满希望,而是深圳金证正好借着这个机会发展壮大,而使之壮大的,就是现在仍然是深圳金证传统业务的交易处理系统。
2001年王海航进入深圳金证,时任技术总监的他当时决定做的第一件事情就是集中交易系统。在那之前,证券公司的交易并不是一个公司一套交易系统,甚至每个营业部都有自己的一套交易系统。这种情况极易造成风险:首先是技术风险,不同的系统各自为政,维护、升级带来操作上的繁琐,也极有可能出现延迟;其次,在业务层面甚至可以上升到道德层面,两三个人的营业部,如果出现操作上的纰漏监管很困难。
其实真正让王海航觉得集中交易是必须实现的,是更早之前1999年君安与国泰两大证券公司的合并。君安和国泰的合并涉及到100多家营业部,特别是两家公司文化不同,管控方式不同,未来很茫然,谁也不知道会发生什么。集中交易似乎成了迫在眉睫的事情。
然而当时在调研和采访后,王海航才发现,从证券公司的角度出发,居然需要两到三亿人民币才能完成一个方案。首先,后台数据库处理需要使用小型机,当时的小型机一台几千万美金,其次软件也要使用国外软件。最惨的是世道,2001年-2002年证券行业行情起落很大,等到2001年王海航进入深圳金证再想做集中交易系统的时候,发现困难更大:不仅此项业务迫在眉睫,投资也从两三个亿降到了可能只有两三千万。
“当时,主机肯定是不能看的,小型机说实话都是只敢瞟一眼,心里不敢往那儿想。”王海航提到当时的情况颇有些苦涩。在这样的情况之下,英特尔平台进入了王海航的视线,“英特尔架构的PC服务器,十几万、几十万总能买到,加上微软的数据库、整个操作系统平台,价位也差不多,也就是在这个时候,英特尔也认为这是一个机会,我们这叫什么?一拍即合。”提及此事,王海航哈哈大笑。
后来的故事内容基本被讨论系统架构、讨论业务流程和方案以及大量测试所填充--在上海的英特尔实验室,深圳金证开始构建系统原型做平台、做测试,经过严格的测试发现,基于英特尔架构搭建的集中交易处理系统,处理能力足够满足当前的需要。
但显而易见的是,普遍印象中,主机的可靠性还是要高一些,对于稳定性、瞬时集中交易密集处理要求极高的集中处理系统来说,迁移到基于英特尔、基于Windows平台之后,如何能够达到更高的可用性?
问题摆在了王海航面前,他清楚地知道,这样一个大型的系统必然要求甚高,在没有更多选择的情况下,充分挖掘当前技术或许是个不错的选择。最终项目组在应用层面根据英特尔架构的灵活性构建了一个多节点的解决方案,节点数量可以根据证券公司的规模灵活部署。为了防范风险,比如100家证券公司,可能30家营业部放一个节点,30家营业部放另外一个节点,这样就实现了部署多个节点,从而提高整个系统的可靠性。 #p#page_title#e#
2002年,这套系统开始在国泰君安使用,这是整个证券行业里第一家采用如此大规模进行集中交易的证券公司,也是第一个采用多节点方式来构建的系统。“我个人认为,像英特尔这样的公司,把他们技术突破的经验与我们行业的经验结合在一起,就会给证券行业带来变革,如果还是像以前那样使用小型机,一个系统动辄上亿,我觉得可能整个行业的集中交易现在还没做完。”提及此,王海航便对合作伙伴英特尔赞誉有加--原因很简单,英特尔架构帮助深圳金证实现了高性价比系统的实现,也间接帮助深圳金证快速铺展业务。
打造更强的系统
也正是有这样的“历史渊源”,深圳金证一直对于英特尔架构保持了高度关注,几乎英特尔每推出新的处理器,深圳金证都会在第一时间进行系统测试,同时也会根据一些新的处理器技术进行创新。
在英特尔最新的多路多核处理器至强7500还没有正式推出的时候,深圳金证就已经拿到IBM一台OEM样机进行压力测试对比。深圳金证本身自己也有基于前一代至强多路处理器7400的机器,据深圳金证科技股份有限公司证券软件中心服务总监、技术服务部经理谢帮兵介绍,当时IBM给的机器内存配置是32G,测试后发现系统性能甚至还不及上一代产品,“要是按照我们的测算,按照主频、按照CPU的个数,包括我们新的技术应用等,应该至少提高一倍。但事实上来讲,在32G环境中甚至是比7400低,而且稳定性非常差。”
谢帮兵第一反应是自己的测试方法发生了问题,要不就是应用系统出现了问题。通过大量排查,确保整体部署架构没有问题,测试方法和样本也与以前是一模一样,在与IBM及英特尔多方沟通排查后得出判断是,“怀疑内存出现问题,可能给的配置太低”,谢帮兵笑着说。
好在后来IBM及时提供了一组128G的内存替换了当时测试的32G内存,测试后发现整个系统性能竟然提升了三倍左右,对于证券集中交易处理系统这样的内存敏感型应用,至强7500处理器提供了更多的内存扩展,当内存容量足够的时候系统自然会有上佳表现。
当然同时进行测试的当然不止是IBM一家的服务器,富士通等也在测试之列。在谢帮兵搭建的测试环境环境里面用基于至强7500处理器的服务器,中间用了六台服务器做中间层,用自己一台设备做加压。
测试体系里面,深圳金证模拟出100家营业部,每一家营业部开40万户,每一帐户有3种币种,人民币、港币、美元;针对四个市场,深A、沪A、深B、沪B,每一个帐户在每一个市场,各开设一个股东,每个股东每一个市场有两条股份,其实这样的模拟数据在现实中是无法达到的。
在进行至强7400测试时,测试人员着重关注了业务调用次数前十的功能,这些功能可能占全天实际发生业务调用总数的90%,比如查资金、查股份,股民每次登陆进去必查的两个业务:资金有多少,股份有多少,这两个业务可以说是每天发生调用次数最高的两个业务;另外一个是委托业务,一个测读盘性能,一个测写盘性能。
至强7400当时实现了一秒钟7000笔的委托业务,但是在新的集成环境测试中,这个数字能够达到1.5万笔;在7400上查询股份每秒钟3.2万,查资金2.8万,在至强7500下查股份性能能够达到将近11万,查询资金是将近9万。对比来看,查询速度提升在三倍以上,委托速度两倍,综合一下也有三倍左右。
利用新技术进行创新
作为熟悉证券行业业务流程的系统开发资深人员,谢帮兵对于至强7500的深入了解令人惊叹。在接受采访的时候,他表示,对于内存的管理,至强7500现在可以通过OEM的方式扩展到2T,再配合Quick Path技术,有效地解决了多路多核之间通讯的问题。另外,至强7500也支持网卡宽带技术,它甚至支持“万兆网卡”的虚拟技术,可以把“万兆网卡”虚拟不同端口出来,针对不同的策略分配不同端口从而解决一部分网络I/O通讯问题。 #p#page_title#e#
对于智能计算,谢帮兵连连称赞,他认为智能化就是一种自我管理能力。他在采访中表示,智能计算首先体现在易用性和扩展性上,IT管理人员可以非常好管理、非常好部署、非常好扩展,从而节省出很多时间做其他的事情;第二,高性能。谢帮兵表示说,就深圳金证的交易系统目前的运算来看,会面临越来越复杂的业务,承载的客户量越来越大,新品种不断推出,还有跨业务系统相互之间的数据交互等等,这要求业务员系统备非常高的计算能力才能满足行业的一种要求;第三,低能耗。当然还有RAS(Reliability, Availability,Serviceability),稳定性、可用性、扩展性。
“必须有自我保护的一些功能,因为我们的行业就是这样,数据非常关键,出现异常的时候,它有非常快的、非常好的思路去尽快的减少损失,尽管损失不可避免,但是它可以把我们的损失降到最低。”谢帮兵如此说道。随后,他又补充说,其实英特尔在最初设计的时候,一直在关注RAS,只不过至强7500芯片加强了这一点。
深圳金针对于英特尔的新产品并不简单只是被动地接受、使用而已,在利用新技术进行创新方面,他们一直走在前列。目前证券公司还是基于大规模的数据库进行管理股民的资料,所以在系统部署的时候一般是基于数据库层、应用层、通讯层和客户端应用四个层次来管理整套应用体系,深圳金证在应用层和通讯层之间加入了一系列利用新技术开发的程序,提高了效率。
谢帮兵向比特网(Chinabyte)展示了柜台环境常用的股票买入的功能,在通讯层部署了一个程序KCXP,在应用层核心业务处理的部署程序KCBP(两个程序都是深圳金证自行开发)。
一笔买入业务的发生,需要做很多判断和运算,比如交易时间是否合法,系统状态是否正常,股民可用的资金是多少,要买入的股票代码相关属性是什么,还需要通过输入的买入价格计算可买数量等等。所以,表面上看是一笔简单的业务,其中包含很多的判断和数据运算,需要通过应用服务器和数据库之间的交互才能完成。
深圳金证早期的产品是通过数据库层进行运算,谢帮兵称,其实也想过应用的迁移,但当时的设备和技术还不足以支撑他们的一些想法。通过对英特尔至强处理器的研究,发现了新产品对大内存支持和管理的功能,于是就产生了让应用层和自己的内层进行数据交换的念头,“我们的查询和运算尽量减少和数据库的交互,至少在I/O通讯这块肯定会减少很多的压力。”
有了这样的想法,深圳金证开始着手做一些尝试,这种尝试最终实现了内存数据库管理,现任的深圳金证技术总监杜玉巍带头研发了新的技术,把跟委托相关的数据、相对固定的部分直接放到内存里,比如交易市场信息,费用设置,证券代码属性等,在KCBP启动的时候,将其加入到内存数据库,这样在发生相关业务的时候,应用程序直接和自己的管理内存去交互,从而大大的加快了业务处理的速度。
在没有用内存数据库之前,测算KCBP处理一笔委托的耗时大概是20到30毫秒,启用这个技术以后,深圳金证发现测算KCBP处理单业务的时间已经不足10毫秒,也就是说英特尔大内存技术其实是带动了深圳金证技术创新,最终受益于终端的客户。相应的证券行业客户的系统性能提高以后,整个服务器的吞吐量相应会增加,压力会减少,同样的设备可以合并更多的应用系统,也节省了很多人力的开支。
这项技术很好地说明了深圳金证是如何针对英特尔推出的新技术来完成自身技术创新。当然,这也只是深圳金证创新的一个侧面而已。
金证的下一步
即便是现在证券公司有多样化的服务出现,“交易”这块实际上还是证券公司最基本、最基础的业务,如果交易出问题,便意味着客户的流失。在交易层面实现集中管控以后,对于证券公司尤其是现在都用上很好系统的证券公司来说--“都用上了英特尔很好的处理器,都用上今天最好的软件,快已经不是问题了。” #p#page_title#e#
尽管离开证券公司多年,对于证券业务极其熟悉的王海航仍然是敏锐地察觉到了这个行业存在的问题:证券业佣金不断下降,今年一季度平均佣金又降了16%,本来平均佣金就在千分之一以下了,再降就只剩下万分之八,佣金收入几乎消失。
目前,证券公司有两大收入第一是佣金,第二是息差,佣金收入占大部分,在证券公司更多新的竞争手段出现之前,金融行业软件开放商能够先做什么?王海航给出的答案是在交易通道上来竞争。
王海航认为,从证券公司的角度来说,就是需要多层次的交易通道服务。普通客户普通的通道,足够快,或者说已经很快了,但是对于这种更高层次的客户,也许这种速度还不够。如果可以提供一个非常快的交易系统,然后通过这样的交易系统能够保住高一些的佣金,或者说再提升一点佣金,实际上也可以成为证券公司的竞争点。正基于此,深圳金证在交易处理速度上的优化是没有止境的。
“在至强7400上的测试成绩就让我们很兴奋,现在至强7500上的指标对我们来说是一个震撼。将搭载7500的设备使用到证券行业,保守估计,我认为三到五年应付目前大行情我认为足够,但是它给行业带来的不只是三到五年的价值。”对证券行业非常了解的王海航肯定地告诉记者,这也是一个证券人对于未来的坚实把握