期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 61|回复: 0

某中间业务平台的实现 - 金融行业 - ITPUB论坛-专业的IT技术社区

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 11:12:29 | 显示全部楼层 |阅读模式
目前,由于中间业务处于蓬勃向前发展的过程,随着各家银行的大力开拓,新的业务品种仍将不断涌现,这就要求本系统具有极强的扩展性,因此,如何设计系统的运行模型,使新业务品种的增加不影响原来已经开通的业务,是本系统设计的关键之一。
过去中间业务系统中对一个业务品种专门开发自己的交易处理程序,常驻内存,负责通讯的监控和交易处理,在这种模式下,各业务处理分散到不同的前置机上,尚不会有太大的系统压力。现在将多项业务放在同一服务器上,就会在服务器上驻留太多的程序,造成巨大的资源浪费,甚至有可能导致系统崩溃的危险。如何避免此类情况的发生,是在设计系统运行模型必须考虑的问题。
另外,如何提高系统运行效率,加大系统交易吞吐量,也是设计系统运行模型应该考虑的问题。
本系统采用了“交易驱动”的设计思想,系统的运行模型就是一个交易驱动模型,同时,为节省系统进程资源使用,提高系统运行效率,加大交易吞吐量,采用了“进程资源动态调整技术”和“高速数据甬道技术”。
在交易驱动模型中,各类交易各有自己的服务模块,各服务模块之间是独立的,各司其职,互不干扰,系统中设有专门进程负责对通讯监听,一旦监听进程发现新的交易请求到来,即将交易请求转交给服务模块处理,自己则继续侦听。
由于各交易服务模块是相互独立的,系统增加新的业务,仅是增加新的交易服务模块,不涉及原有的交易服务,从而实现了系统的高扩展性。
利用进程资源动态调整技术,系统根据配置启动一定数量的交易服务器,在交易繁忙的时候,系统通过增加交易服务器数量,提高系统处理效率,在交易量较少时,又会减少交易服务器数量,减轻系统负担。
利用高速数据甬道技术,将交易服务模块划分给数量较少的交易服务器,各交易服务模块共享同一数据甬道,从而大大提高的运行效率。
1        系统资源模型的实现
1.1         字典控件的实现
上文提到可以将系统的数据字典比喻为存放在内存中的数据库,从逻辑上讲,数据字典可以划分为不同的“应用”,对应于数据库中表的概念,“应用”由“字典域”构成,对应于数据库中列的概念。
在系统中有一公共应用,凡属于公共应用的字典域,都是系统公用的业务要素。
当增加新的业务时,就在数据字典的增加新的“应用”和“字典域”。
为节省系统内存的分配,将数据字典的描述信息放入共享内存,供系统各进程共享,各进程向数据字典存放业务数据时采用动态分配技术,一般情况下,数据字典仅占几K的内存资源,这是一个非常小的资源消耗,数据字典中“应用”和“字典域”的增加、修改和删除,就是利用配置工具,操作“字典控件”来实现的。
1.2         表单控件的实现
系统为了实现输入输出界面的定制,引入了表单控件和列表控件两种资源。
对用户交互界面进行分析,可以发现,一个输入输出界面是由一组输入输出域按一定方式排列构成,每个域都有自己的属性,如果我们归纳出输入输出域的属性,就可以通过定义域的属性值,实现输入输出界面的定制。
所谓“表单”指由一组域构成,完成与用户一次交互的界面,组成表单的域称为表单域。
1.3         列表控件的实现
当表单域的编辑类型为FROMLIST型时,列表控件用于指明列表数据。
1.4         接口控件的实现
为实现通讯报文格式的定制,系统引入接口控件资源。
对报文格式进行分析,可以发现,一段报文是由一组按顺序排列的域构成,每个域又都有自己的属性,如果我们归纳出域的属性,就可以通过定义域的属性值,实现报文格式的定制。
一个接口控件由一组域按顺序排列构成,实现进程(本机或远程)之间的数据交换,这些域称为报文域。
1.5         凭单控件的实现
为实现凭单打印的定制,系统引入了凭单控件资源。
凭单与输出屏幕有很多相似之处,一张凭单是由一组域按一定方式排列构成,每个域有自己的属性,通过定义域的属性值,从而实现凭单打印的定制。
凭单控件由一组域按一定方式排列构成,实现客户发票凭单的打印,组成凭单的域称为凭单域。
1.6         库表控件的实现
系统引入库表控件的目的主要用于实现对数据库表操作的定制,根据库表控件的参数配置,生成动态SQL语句,实现对数据库表的操作。
1.7         组件资源的实现
系统提供了对控件操作的一组组件和其它常用的组件,管理员可以利用流程定制工具,组合现有组件定制交易流程。若某项功能不能由现有组件完成,可以根据组件编制规范,利用组件生成工具,向系统添加新的组件。
1.8        系统保障交易一致性的实现
由于中间业务帐务处理是典型的分布式应用,因此利用何种机制保证交易的一致性,是系统运行稳定可靠的基本条件,另外,由于目前我国银行、委托单位之间的广域网通讯线路的不稳定,使这一矛盾更加突出。
为了保证交易的一致性,必须做到以下两点:首先系统必须能够发现发生故障的交易,其次系统必须具备完整的异常恢复机制,将交易恢复到初始状态。
中间业务平台采用记录“应用日志”的方式,将交易处理的每一步都记录下来,一旦发生故障,出现单边帐,系统根据异常流水记录,结合“应用日志”中对交易处理步骤的记载,通过自动冲正手段,调整帐务,从而保证交易的一致性。
除了自动恢复机制外,考虑到由于某些意外原因,导致在一段时间内冲正总是失败的情况发生,而对一笔交易的冲正不可能一直进行下去。为解决这个矛盾,系统提供了一种手段,对系统未能通过自动冲正恢复正常的交易,可以在等到通讯正常后或主机工作正常后,重新触发异常恢复机制,以便最大程度的保证交易一致性。
没了,真的没了,这是4、5年前的东西了,我当时看到资料的时候觉得不错,可当我看到程序,差点没晕过去,资料里写的全是瞎掰,实际上用这个系统开发对unix c、数据库非常熟悉才能,极难用,完全没有平台的概念,资料是骗骗外行罢了

最初由 bigfu 发布
[B]没了,真的没了,这是4、5年前的东西了,我当时看到资料的时候觉得不错,可当我看到程序,差点没晕过去,资料里写的全是瞎掰,实际上用这个系统开发对unix c、数据库非常熟悉才能,极难用,完全没有平台的概念,资料是骗骗外行罢了

[/B]
怪不得,光看文档,觉得这么眼熟:)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2024-11-25 02:01 , Processed in 0.108299 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表