信息化 频道

情景导购:银行系统如何动态管理资源

【IT168 专稿】    编者按:银行业可以说是中国各行业中最早开展信息化建设的行业之一。银行业信息化市场广阔,信息化建设投入力度大,信息化水平高,在各行业的IT应用和系统建设中走在前列。特别是近几年,随着银行网络金融业务的兴起及电子货币的推行,网络金融业务不断发展,利用信息技术解决网络银行业务的需求也越来越迫切。随着国家经济发展、金融领域业务繁荣、金融产品不断创新,银行的业务信息系统也在进行全面改造和升级,特别是联机交易系统对业务实时响应的要求和对业务量承载能力的要求不断提高。这就要求在系统设计过程中,必须慎重考虑系统资源能够满足系统业务峰值的响应要求。本期“情景导购”便围绕银行业务系统的系统设计,提出动态管理系统资源的具体解决方案。

一. 方案设计背景

    随着国家经济发展、金融领域业务繁荣、金融产品不断创新,银行的业务信息系统也在进行全面改造和升级,特别是联机交易系统对业务实时响应的要求和对业务量承载能力的要求不断提高。这就要求在系统设计过程中,必须慎重考虑系统资源能够满足系统业务峰值的响应要求。

    通常情况下,为了满足系统峰值业务响应效率,以及系统业务量扩展要求,应用系统设计会考虑使用复制进程处理并发或将资源配置做适当程度的冗余。若采用复制进程,存在最大子进程数不好控制和响应及时性受到损失的问题(复制进程需要一定的时间,准备子进程的运行环境需要一定的时间);若采用资源配置冗余方式,例如系统一经启动就调用足够数量的常驻内存守护进程,则存在开辟大量的存储空间、占用一定数量的CUP资源和数据库链接资源等问题。

    为了更加灵活地利用系统资源,更好地管理系统资源,优化系统运行效率,太极公司在2006年专门针对应用系统资源提出动态管理的设计思想,并在天津农信银项目建设过程中予以实现。

    动态管理的设计思想在后续经历近4年的时间,多个项目的实践、检验和优化,最终形成一套完整的DRSM(Dynamic Resources Management,动态资源管理)解决方案。该方案基于太极自有知识产权的消息中间件产品PLATON设计和实现,性能稳定,实现了对系统应用范围的事物请求的资源进行动态启动与释放。

二. 总体设计

    DRSM与其它系统模块之间的关系以及运行流程图如下:

总体设计与数据接口

    DRSM运行流程说明

    1.DRSM初始化:

    1) 读取动态资源管理配置信息(DRSM数据库表或DRSM配置文件),根据配置信息,初始化共享内存结构(共享内存键值结构,共享内存文本结构),根据配置信息的资源最小任务数准备服务进程,置服务的状态为“空闲”状态;

    2) 清空服务的入口邮箱;

    3) 创建DRSM守护进程,巡视共享内存中活动任务变化;

    2.系统应用发出任务请求,通过知名入口邮箱把请求发送给对应的服务;

    3.服务从邮箱读取任务请求,更新共享内存本服务的状态为“活动”状态,服务开始处理请求,并在返回请求处理结果后,更新共享内存本服务的状态为“空闲”状态;

    4.DRSM模块按照一定的采样周期,循环采集共享内存中的服务信息,根据动态管理算法,启动(启动服务并将服务进程信息写入共享内存文本区)或释放(停止服务并清空共享内存对应的进程信息)资源;

三. 数据接口

    DRSM启动阶段通过“资源配置初始化进程”读取资源配置中的数据,并将相应的配置信息写入对应的共享内存结构;当系统开始运行,共享内存中的配置信息根据系统运行情况不断变化,DRSM要轮巡共享内存,读取DRSM管理项下的资源状态,按照一定的算法,通过DRSM自身进程的自我复制后加载服务的方式来预先启动资源,通过向DRSM所管理的空闲的资源的知名入口邮箱发送退出控制信息来释放资源。

四. 模块设计

    1. DRSM模块内部结构说明

    DRSM模块包含五部分:

    DyResourceManageInit--系统动态资源管理模块内存初始化程序,将DRSM配置信息导入共享内存,即根据资源配置信息初始化共享内存的键值结构和文本结构;

    DyResourceManage--DRSM模块资源管理守护程序,完成纳入DRSM的资源的动态管理;循环读取共享内存中的键值区中的配置信息,根据任务请求的动态变化,利用动态资源管理算法启动或释放任务,维护共享内存中的文本结构和键值结构。

    DrsmMonitor--DRSM模块服务监控程序,该程序显示DRSM所管理的资源状况;当该进程手工启动后,循环读取共享内存中的键值结构和相应的文本结构,并打印输出。

    Dispdsm--DRSM模块服务程序,该程序显示DRSM内存区状况;顺序读取共享内存结构信息,并写到文件中。

    DrsmRefresh--动态更新资源管理模块参数程序。 能够动态更新的参数包括:任务的最小值、任务增量、临界值、采样周期。当数据库中的资源配置信息改变以后,运行DrsmRefresh会读取变更后的资源配置,更新共享内存结构,DyResourceManage会按照更新后的资源配置进行资源的动态管理。

DRSM模块设计

    2. 模块程序设计流程说明

    资源启动流程:

    首先通过模块初始化功能,获取当前进程号,将当前进程设置为成为一个新会话期的开始者,清空信号集,注册到邮箱系统和共享信息系统。设置子进程退出信号处理中断入口,处理子进程退出信号,将子进程退出信号加入信号集。开始动态资源管理服务。

    在DRSM可管理最大任务数范围内,顺序读取键值指针指向的共享内存结构内容;对每一个任务的键值结构内容进行任务启动算法判断,进入任务启动流程。

    任务启动有两种情况,一种情况是当一种资源目前已经启动的任务数小于配置信息的最小启动任务数,那么启动任务数等于最小启动任务数与目前已启动的任务数的差值,DRSM保证每一种资源的启动任务数至少等于配置信息中的最小任务数;另一重情况是目前的活动任务数与启动任务数非常接近(接近程度用临界值来衡量)的时候,按照配置信息中指定的任务增量启动资源子进程,启动任务总数不能超过配置信息中的最大任务数。

    实现过程,顺序读取共享内存键值结构指针,首先判断任务是否为空,为空继续读取下一个指针;如果非空,判断启动任务的第一种情况,如果满足条件执行对应的启动操作,否则继续进行判断第二种情况。

    资源释放流程:

    资源释放按采样周期进行,采样周期是配置信息中规定的采样次数。当达到采样周期的时候,决定是否释放资源和释放资源的数量主要取决于维持任务数和当前活动任务数。

    资源的释放有两种方式:安全释放模式和被动释放模式。安全释放模式是指空闲服务接收DRSM的释放请求,在清理完现场后执行退出;被动释放模式是指DRSM通过向空闲的服务发出退出信号,服务在收到信号后,中断当前的处理,清理完现场后退出。

    维持任务数是指上一个采样周期的加权平均活动任务数,维持任务数的计算有两种情况:

    1)当轮巡次数恰好达到采样周期的时候

DRSM模块设计DRSM模块设计

    2) 当轮巡次数没有达到采样周期的时候

DRSM模块设计

DRSM模块设计

    其中,DRSM模块设计表示对DRSM模块设计取整。

    如果维持任务数小于最小任务数,那么nkeep= nMinTask。

    DRSM释放资源的条件是当到达一个采样周期的时候,计算维持任务数,比较当前活动任务数与维持任务数,如果当前活动任务数小于维持任务数,那么系统决定释放资源,可释放的资源数量等于启动任务数与维持任务数的差值;为了避免系统资源频繁大量的启动和释放,释放资源的过程参照启动资源的过程,当维持任务数减去当前活动任务数的值大于任务增/减量(nIncTask)的时候,系统一次释放任务增/减量个资源。

    资源启动与释放周期预测曲线:

    在一个事务并发高峰周期,DRSM对资源的启动与释放曲线如图:

DRSM模块设计

    资源报告流程:

    当循环次数达到资源报告规定周期的时候,顺序读取共享内存结构指针指向的每条记录内容,输出资源配置信息与状态信息。

    通过资源监控进程可以选择只监视每种资源的键值结构区内容还是同时监视文本结构区内容,由程序调用的参数决定。

    通过资源配置更新程序可以更新资源的配置信息,可以置更新一种资源或者全部更新,由函数调用的参数决定。

    3. 设计语言描述

    基于Unix操作系统的标准C语言和嵌入式SQL语言。

    4. 设计关键点

    DRSM模块运行流程中,DRSM读取到的资源配置信息对DRSM资源管理的效率起着决定性的影响,资源动态管理算法是在配置信息固定以后动态管理效率的主要影响因素。

    由于DRSM要控制所与配置信息中的资源,所以DRSM管理的资源全部以资源动态管理子进程的形式存在,在启动和释放资源的过程中对子进程退出信号的处理是模块顺利运行的关键。

五. 功能特点

    DRSM能对其管理范围内的资源进行动态启动与释放,其管理范围以资源配置信息表的形式保存在数据库中,配置信息决定DRSM管理的资源种类、数量,以及管理方式和效率。具体方案功能特点如下:

    ·根据预先设计好的资源配置信息,维持系统中至少有一定量的常驻守护进程,保证事物请求可以得到及时的响应;

    ·系统事物请求并发量增加的时候,系统可以根据并发量的大小增加启动资源的数量,满足对并发请求的及时响应;

    ·在事物请求并发量减少的时候,可以根据一定的算法释放空闲资源;

    ·启动资源策略要以满足对事物并发的及时响应为目标;资源释放要考虑到系统事物并发周期,避免出现系统频繁启动与释放资源操作可能带来的影响系统响应效率的情况发生;

    ·数据库配置信息修改后,可以在不中断DRSM运行的情况下,按照更新后的配置信息进行动态资源管理;

    ·随时监控DRSM所管理的资源状态;

    ·动态更新DRSM资源配置方案。

0
相关文章