恒生O32系统的前世今生
2020-06-29信息技术部

恒生O32系统的发展历程

OH~~O32啊~我们天天使用的O32系统怎么来的?经历了哪些发展历程勒?您了解吗?

O32系统即基金投资管理系统,其实从名字不难看出最开始是为基金公司开发的系统,到后来逐步涉及到券商、券商资管、保险、信托、期货,所以说O32系统的发展历程几乎伴随着整个基金行业的发展。

首先为什么叫O32呢?其实主要是以底层数据库使用什么作为命名依据的,在2003年之前,由于使用的是SqlServer数据库,当时还叫做S1.0、S2.0;2003年3月恒生推出O3系统,开始引入Oracle数据库(系统所有的数据都存在里面),在S2.0系统基础上升级,所以改叫O3("O"取用"Oracle"首字母,3代表升级了,不再是之前的S2.0了);2007年恒生将O3系统多个业务模块重新开发升级,推出O3升级版O32系统,意思是我比之前的O3要强很多了。

这十几年中,恒生从O32衍生出很多系统,下面这些系统就和O32有着千丝万缕的关系,足见O32系统的庞大、复杂。

顺应行业发展的O45系统

前几年大家使用O32系统体验还是不错滴,但是随着业务量的不断提升,大家明显感受到现在O32系统在交易速度方面存在很大的性能瓶颈,这主要原因还是十几年前的系统架构已经无法支撑现在的业务量了,所以2015年起恒生考虑通过内存化交易从而提高交易速度,向市场推出了O4系统(也叫UFT, Ultra Fast Trade,极速交易)。但O4系统(O32版本的极速交易,在O32系统基础上增加的子系统)的同业使用率并不高,我司也没有使用该子系统,一是因为O32涉及业务范围太广,极速交易子系统无法快速满足所有业务场景;二也是因为恒生后续主要想向市场直接推广O45系统。所以今天主要为大家介绍O45系统:

No.1

行业为什么需要O45

No.2

我司目前面临的问题

01

下单速度慢

比如在上午10点或下午银行间交易集中的时候基金经理在下达指令时会等待数秒才能下达成功,这是由于这个时段同时下单的基金经理或交易员很多,造成了相对较高的并发,且系统内需要计算的风控条例较多,十几年前的架构对于高并发、计算量大的场景只能表示无奈。

02

接口开放性不高

对于O32而言,外围与核心系统通过数据表进行交互,比如我们现在场外系统和O32的对接主要就是通过抽取后台数据表数据进行交互,导致的结果就是核心系统与外围功能深度耦合在一起。如果恒生O32的表结构变化了,场外系统也需要同步改造;O32系统处理了某笔业务,需要等到场外再次通过调度任务抽数回去,才能知道这笔业务已经处理了,实时性很低。

03

O32内部技术架构深度耦合

系统牵一发而动全身:我们经常向恒生提交需求,他们总说需要评估,这可是真评估,而且是需要时间的,越涉及基础底层的东西,越难评估,一个修改就要涉及多个业务功能,需要多个开发组进行评估,如果评估不到位,就会产生缺陷引发生产交易事故,这么一个庞大的系统对于任何一个改动都需要慎之又慎,所以无法快速响应需求;

04

投资品种不断增加

比如QD\QF等业务发展;

No.3

系统架构

以交易系统O45为核心的基金公司涉及主要系统总览:

O45是统一主系统 + 子系统模式,各个子系统单独部署、单独升级,松耦合,比如只是改造创业板,那么只需要升级权益子系统即可,进行ETF相关改造,也不会涉及到固收子系统什么事。总体来说,把系统分为多个子系统,改哪儿就升级哪套子系统,只针对该子系统进行测试验证,无需脚摔伤了,把整个身体都检查一遍。

O32与O45的巅峰对决

O32系统目前采用基于插件的CRES架构,CRES理解为:C++、Reused(可复用)、Easy (易用)、 Solution(一个解决方案),主要靠各类插件支撑系统。

其中间件是C++语言开发、后台主应用服务大部分是C语言、前台程序是比较老的Delphi6开发,只能编译出32位程序,这就是为什么有时候恒生O32系统会弹出来带有out of memory关键字的报错,因为32位程序运行在我们在64位操作系统,最大寻址空间是2G,其中操作系统占用0.5G,我们的O32系统就只剩下了1.5G左右,超过1.5G就会报错,这个时候需要关闭O32客户端重启即可,所以若非必须,不建议同时打开很多菜单,因为每个菜单都会占用一定内存。

O45系统所采用的JRES3.0技术平台基于原生SpringBoot开发,是一个符合互联网分布式系统开发的JAVA开发技术平台,具备可复用(Resume)、可扩展(Extend)、高安全(Security)的特性,降低业务开发人员技术要求,提升开发效率以及系统稳定性。

其中间件是Java语言开发、后台主应用服务是Java和C++语言、前台不再单纯是之前CS架构了(即通过客户端登录),增加了BS架构(即通过web浏览器的形式直接登录),既可以通过客户端形式登陆,也可以通过浏览器登陆了。数据库也抛去了Oracle,引入了Mysql,准确说不能叫O45了,但是O32已经深入人心了(前面讲到之前的"O"就是指"Oracle"),所以也就延用这个名字。

以上这些变化主要是由于系统整体架构变化导致的,这也是整个互联网金融发展的趋势带来的变化,通过这些后台的改造,带给我们前端用户最直观的感受就是交易速度变快了,系统更加灵活、扩展性更强。如果说之前的O32是一头庞大的大象,有力而笨重,那么O45可以说是一只勇猛的狮子,强壮而灵活。

JRES3.0架构几大特性

●组件化

采用微服务技术架构,基于服务和组件,按最小业务单元划分,可根据用户需求对组件进行组装。

●松耦合

业务层微服务架构松耦合。

●可扩展性

采用小核心、大外延的设计思想,降低模块间耦合,具有高度的可扩展性和灵活性,适应未来的业务发展变化。

●开放接口

通过接口交互,只要保证接口不变,核心系统再怎么修改和演进也不会对外围功能产生影响,实现投资系统与外围功能的松耦合。

●内存极速交易

数据走内存(很快哟),先报单,再落库。

(转)恒生O32系统的前世今生相关推荐

  1. 配资指数带您了解恒生HOMS系统发展历史

    恒生HOMS系统 HOMS系统是恒生电子(600570)为私募基金开发的一种软件系统(2010年开发的,全称是恒生订单管理系统 Hundsun Order Management System),于20 ...

  2. 恒生o32系统介绍_南京证券向恒生发起会议:@宽途@O32@固收系统…

    昨天我们发起的电话会议 受到了大家的"云"打call呀! 这不,今天 南京证券就发起了线上会议@恒生 近日,恒生量化特色的交易终端宽途在南京证券上线了.本次上线宽途功能包括了证券组 ...

  3. 恒生估值系统_恒生指数和恒生国企指数投资价值分析

    恒生指数和恒生国企指数都是港股的大蓝筹指数. 恒生指数是从香港股票市场挑选出50只优质蓝筹股票组成的指数. 恒生国企指数又称为H股指数.H股指注册地在内地,但是上市地在香港的外资股票. 恒生国企指数的 ...

  4. 恒生o32系统介绍_恒生股指期货交易员

    2016-7-15 决定写一个专栏,记录恒生股指期货交易过程,因为每天交易时候,脑子里有一万只草泥马奔腾而过,那我希望记录下来,自己当时的看法,验证成长,权当做是复盘啦,希望能够坚持下去! 自我介绍一 ...

  5. 恒生o32系统介绍_恒生指数日内空间预测模型和实盘对照20201104日

    开盘提供,针对当日,仅对日内有效.恒指期货日盘操作者以恒生指数模型作为参考更好(因恒指期货模型为夜盘和日盘合并,故日盘以恒生指数的空间模型更为直观,如果直接使用合并的恒指期货模型数据在参考上并无太大影 ...

  6. 恒生o32系统介绍_经典模型:恒生指数日内空间预测模型和实盘对照20201102日

    开盘提供,针对当日,仅对日内有效.恒指期货日盘操作者以恒生指数模型作为参考更好(因恒指期货模型为夜盘和日盘合并,故日盘以恒生指数的空间模型更为直观,如果直接使用合并的恒指期货模型数据在参考上并无太大影 ...

  7. 在Windows,Mac,Linux中快速安装配置Node.js环境,并安装VSCode, 完成Web端恒生交易日接口的图形化展示...

    编程课应该怎么制作? 编程的乐趣应来自实用主义,我大学本科第一门Java编程课,几乎劝退了所有同学,因为那些教学代码不实用且无趣,一点图形化的内容都没有,而实用的编程课应早早展现图形化的成果, 于是我 ...

  8. 恒生关闭HOMS系统开立功能

    股吧网讯    据云掌财经报道,昨天早间,恒生电子发布公告称,为落实<关于清理整顿违法从事证券业务活动的意见>,公司控股子公司恒生网络对HOMS系统将采取关闭开立功能等措施. 当日,恒生电 ...

  9. 恒生证券期货行业用户维稳工作指引(一)

    恒生证券期货行业用户维稳工作指引<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&quo ...

最新文章

  1. Java把List转换为String使用stream(functional programming in java)
  2. 有赞客户行为收集与实时处理系统设计
  3. 温州大学《机器学习》课程课件(一)
  4. mybatis注解开发使用二级缓存
  5. 字节跳动python面试题_字节跳动2019两道春招笔试题python解法
  6. access考试素材_NCRE考试当天常见问题处理办法及各科目注意事项大汇总
  7. java 错误输入异常_在Java中进行输入验证期间用错误通知替换异常
  8. 互联网新人最热门去处:前三名毫无意外!
  9. 很有用的SQLServer全局变量
  10. Python爬虫实战--斗鱼直播爬虫
  11. 坐上支付宝微信支付巨头的刷脸顺风车
  12. vue引用echarts柱形加折线统计图(周月年动态切换数据)
  13. CES2020 | 小牛电动成为科技出行的“另类”标杆
  14. Hive SQL 使用不了union all : SemanticException Cartesian products are disabled for safety reasons
  15. 代码段+数据段+bss段+stack+heap
  16. 软件工程课程学习小组项目——网上书店
  17. 小坤二次元导航HTML源码 很好看的引导页
  18. R语言学习 - 富集分析泡泡图
  19. 怎样才能提高视频转码后的清晰度?
  20. Jetpack系列 Room+ViewModel

热门文章

  1. python下载url图片或文件
  2. 安装 python 虚拟环境 > pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple/报错解决办法
  3. 下载最新版 VC_redist.x86.exe / VC_redist.x64.exe for Visual Studio 2015, 2017, 2019, and 2022
  4. 内核的likely和unlikely
  5. uniapp 获取手机的 cid (clientId)
  6. 逆向:《加密与解密》TraceMe的暴力破解
  7. PyTorch Variable与Tensor 【详解】
  8. 二维差分算法最细致解析
  9. html如何清除密码,React 清除浏览器记住密码框组件
  10. 研发创新项目的管理——来自华为海外实践