已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)金融风险管理系统的开发与性能改进.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 摘要 金融风险管理系统是一种规范基金投资和控制风险的金融系统,它的主要功 能是对金融市场中发生的投资行为进行有效的监控管理,使投资行为符合投资人 的投资策略,保证投资人的利益。如何选择一种合适的系统应用框架并同时在系 统设计和实现过程中关注系统性能设计已经成为当前金融风险管理解决方案领 域的重大挑战。 论文研究的主要内容是对基于o l b i z 应用框架的某金融风险管理系统的设计 和实现,其中主要是对该系统核心功能模块集中监控模块的设计和实现,以及对 该模块的设计提出必要的性能优化解决方案。 该风险管理系统主要包括投资监控、绩效评估、风险分析、综合报告、综合 管理等子系统。其中投资监控子系统作为风险管理系统的核心子系统,为不同资 产,不同投资组合提供个性化的投资监管服务。 论文作者主要参与了该风险管理系统的投资监控子系统的开发和实现,其中 的集中监控模块负责对所有投资组合的投资交易行为是否符合投资人指定的投 资策略进行监控,该模块的开发和实现也是论文作者工作的主要内容。同时为了 保证对投资行为监控的及时性,最大程度保障投资人的利益,论文作者提出了对 集中监控模块的设计做性能优化。这种性能优化将基于软件性能工程的性能反模 式理论,并结合系统运行的具体软硬件环境,对集中监控模块的执行流程设计提 出并发执行流程设计改进以及集中监控执行单元内部数据库访问性能优化( 表缓 存访问优化等) 。系统测试结果证明这种性能优化解决方案使系统性能有较好的 提升,具有比较大的现实意义。 关键词:风险管理,o f b i z ,性能反模式,性能优化 浙江人学硕士学位论文 a b s t r a c t a b s t r a c t f i n a n c i a lr i s k m a n a g e m e n ts y s t e m i saf m a n c i a ls y s t e m c o n t a i n i n g t i m & i n v e s t m e n ta n dr i s km a n a g e m e n t ,i t sm a i nf u n c t i o ni st a k i n gt h em o n i t o r i n ga n d m a n a g e m e n tf o rt h ei n v e s t m e n t so c c u r r i n gi nt h i sf i n a n c i a lm a r k e t , i tm a k e st h e i n v e s t m e n t sa c c o r dw i t ht h ei n v e s t o ri n v e s t m e n tp o l i c i e sa n de n s u r e st h ei n v e s t o r p r o f i t s h o wt om a k e ag o o ds e l e c t i o nf o rap r o p e rs y s t e ma p p l i c a t i o nf r a m e w o r ka n d t a k eas e r i o u sc o n s i d e r a t i o no nt h es y s t e mp e r f o r m a n c ei nt h es y s t e md e s i g n i n ga n d i m p l e m e n t a t i o nh a sb e e nag r e a tc h a l l e n g ei nt h ef i n a n c i a lr i s km a n a g e m e n ts o l u t i o n s a r e a t h i sp a p e rt a k e st h er e s e a r c ho nt h ed e s i g n i n ga n di m p l e m e n t a t i o no f af i n a n c i a l r i s km a n a g e m e n ts y s t e mb a s e do nt h eo f b i za p p l i c a t i o nf r a m e w o r k ,i tf o c u s e so nt h e i m p l e m e n t a t i o no f t h em a s sm o n i t o r i n gm o d u l ew h i c h i st h ek e r n e ls y s t e mm o d u l e , a n di ta l s og i v e st h ep e r f o r m a n c eo p t i m i z a t i o ns o l u t i o n sf o rt h em o d u l ed e s i g n i n g n 圮 s y s t e m c o n s i s t so ff i v e s u b s y s t e m s n a m e di n v e s t m e n t m o n i t o r i n g p e r f o r m a n c ee v a l u a t i o n ,r i s ka n a l y s i s ,s y n t h e s i sr e p o r t ,a n ds y n t h e s i sm a n a g e m e n t a m o n gt h e m ,i n v e s t m e n tm o n i t o r i n gs u b s y s t e mi st h ek e r n e ls u b s y s t e mi nt h i ss y s t e m i tp r o v i d e st h ei n v e s t m e n tm o n i t o r i n gs e r v i c ef o rd i f f e r e n ta s s e t s ,d i f f e r e n ti n v e s t m e n t f u n d s t h ea u t h o rt a k e sp a r ti nt h ed e v e l o p m e n ta n di m p l e m e n t a t i o no ft h ei n v e s t m e n t m o n i t o r i n gs u b s y s t e m ,a st h em a r l sm o n i t o r i n gm o d u l ei sr e s p o n s i b l ef o rm o n i t o r i n g w h e t h e rt h ei n v e s t m e n t so fa l li n v e s t m e n tf u n d sf o l l o wt h ei n v e s t m e n tp o l i c i e s ,t h e d e s i g n i n ga n di m p l e m e n t a t i o no ft h em a s sm o n i t o r i n gm o d u l ei st h e a u t h o rm a i nj o b c o n t e n t a tt h es a m et i m e ,i no r d e rt om a k et h em o n i t o r i n gr u n n i n gi nt i m ea n dm a k ea g r e a ti n s u r a n c ef o rt h ei n v e s t o rp r o f i t s ,t h ea u t h o rg i v e sp e r f o r m a n c eo p t i m i z a t i o n s o l u t i o ni nt h em o d u l ed e s i g n i n g t h i ss o l u t i o ni sb a s e do nt h ep e r f o r m a n c e a n t i - p a t t e r n st h e o r yi ns o f t w a r ep e r f o r m a n c ee n g i n e e r i n g ,a n da l s oc o n s i d e r st h e s o f t w a r ea n dh a r d w a r ee n v i r o n m e n t i tf o c u s e so nt h ec o n c u r r e n tr u n n i n go fm a s s m o n i t o r i n gm o d u l e a n dt h eo p t i m i z a t i o nf o rd a t a b a s ea c c e s si nm o n i t o r i n gu n i t s t h e 浙江大学硕士学位论文a b s t r a c t s y s t e mt e s tr e s u l t ss h o wt h es o l u t i o ni m p r o v e st h es y s t e mp e r f o r m a n c ew e l la n dh a sa b i gp r a c t i c a lm e a n i n g k e y w o r d s :r i s km a n a g e m e n t ,o t b i z ,p e r f o r m a n c e a n t i p a t t e r n ,p e r f o r m a n c e o p t i m i z a i o n 浙江大学硕上学位论文图目录 图目录 图3 1w e b 服务端结构1 8 图3 2 逻辑控制层无业务流程2 1 图3 3 逻辑控制层有业务流程2 1 图3 4 服务引擎组件图2 3 图3 5 实体引擎组件图2 4 图3 6 风险管理系统构架图2 7 图3 7 风险管理系统体系图一2 8 图4 1 集中监控业务流程图3 4 图4 2 集中监控执行设计流程图一3 8 图4 3 集中监控查询设计流程图3 9 图4 4 集中监控提交请求j s 脚本4 0 图4 5o f l o i z 框架配置文件c o n t r o l l e r x m l 对集中监控请求的配置4 0 图4 6 集中监控输入参数合法性检查4 1 图4 7 集中监控执行获取监控点配置代码4 2 图4 8 调用监控点配置的监控服务方法4 3 图5 1 集中监控并发执行改造4 6 图5 2 原集中监控顺序执行实现代码? 4 6 图5 3 单监控点,单组合并发执行实现核心代码一4 7 图5 4 可转债市值合计占净值比例监控业务逻辑流程图。5 0 浙江大学硕士学位论文裹目录 表目录 表1 1 国际著名风险管理产品7 表4 1 监控基本信息表t b w a t c hf u n c 3 6 表4 2 组合监控结果汇总表t b f u n dw a t c hf o c u sr e s 3 7 表4 3 监控结果表t b w a t c h d o g_result 3 7 表4 ,4 监控结果列定义表t b w a t c h d o g_ r e s u l tc o m m e n t 3 8 表5 1 并发执行测试数据4 8 i v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得逝鎏盘茔或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:7 ,i 毖签字吼p 旷年占月7 日 学位论文版权使用授权书 本学位论文作者完全了解滥鎏盘茎有权保留并向国家有关部门或机构送交本 论文的复印件和磁盘,允许论文被查阅和借阅。本人授权盘姿盘堂可以将学位论文的 全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段 保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 阿抚 导师签名: 签字日期:沙f 年月7 目 签字日期 日 浙江大学硕士学位论文第1 章绪论 第1 章绪论 1 1 课题背景 随着金融市场的不断发展,金融产品的不断涌现,金融市场的交易变得更加 复杂,如果监督规范这些金融交易行为就成为金融行业首要解决的问题,银行风 险管理系统正是基于金融行业的这种需要而产生的。银行风险管理系统面向的客 户群体是托管行,主要功能是实现托管行根据投资方的投资策略对投资管理方的 投资行为进行有效监督,从而保证投资方的投资策略得到贯彻实施。 本文中的风险管理系统采用现在流行的b s 结构,系统框架是基于o t b i z 开 源框架的改良版本,整个系统的设计和实现符合m v c 设计模式,由于o i b i z 框架 在国内项目中的应用并不多见,所以通过本文中对风险管理系统的设计和实现, 也可以给业内人士提供w e b 应用的另外一种解决方案选择,同时也将结合软件性 能工程理论对系统核心模块集中监控模块的性能设计进行分析改进。 1 1 1 银行风险管理系统的发展现状 1 1 1 1 商业银行风险管理技术发展 巴塞尔协议的诞生( 8 0 年代) 8 0 年代初因受债务危机影响。银行普遍开始注重对信用风险的防范与管理, 其结果是巴塞尔协议的诞生。该协议通过对不同类型资产规定不同权数来量 化风险,是对银行风险比较笼统的一种分析方法。 内部风险测量与资本配置模型建立阶段( 9 0 年代) 以后随着衍生金融工具及交易的迅猛增长,市场风险日益突出,几起震惊世 界银行和金融机构危机大案( 如巴林银行、大和银行等事件) 促使人们对市场风险 的关注。一些主要国际大银行开始建立自己的内部风险测量与资本配置模型,以 弥补巴塞尔协议的不足。主要进展包括: 1 市场风险测量新方法一v a l u ea tr i s k ( v a r ) ( 风险价值方法) 。这一方法最主 浙江大学硕士学位论文第1 章绪论 要代表是摩根银行的“风险矩阵系统”。 2 银行业绩衡量与资本配置方法一一信孚银行的“风险调整的资本收益率 ( r i s k a d j u s t s lr e t u r no nc a p i t a l ,简称r a r o o ”系统。 信用风险测量阶段 最近几年一些大银行认识到信用风险仍然是关键的金融风险,并开始关注信 用风险测量方面的问题,试图建立测量信用风险的内部方法与模型。其中以j p 摩根的c r e d i t m c t r i c s 和c r e d i ts u i s s ef i n a n c i a lp r o d u c t s ( c s f p ) 的c r e d i t r i s k + 两套 信用风险管理系统最为引人注目。 综合风险管理 1 9 9 7 年亚洲金融危机爆发以来,世界金融业风险f 如1 9 9 8 年美国长期资本管 理公司损失的事件) 出现了新特点,即损失不再是由单一风险所造成,而是由信用 风险和市场风险等联合造成。金融危机促使人们更加重视市场风险与信用风险的 综合模型以及操作风险的量化问题,由此全面风险管理模式引起人们的重视。 经过多年努力,风险管理技术已达到可以主动控制风险的水平。目前有关研究侧 重于对已有技术的完整和补充,以及将风险计值法推广到市场风险以外f 包括信用 风险、结算风险、操作风险) 等其他风险领域的尝试。 1 1 1 2 主要风险管理方法介绍 风险价值法( v a r ) 在风险管理的各种方法中,v a r 方法最为引人瞩目。尤其是在过去的几年里, 许多银行和法规制定者开始把这种方法当作全行业衡量风险的一种标准来看待。 v a r 之所以具有吸引力是因为它把银行的全部资产组合风险概括为一个简单的 数字,并以货币( 美元) 计量单位来表示风险管理的核心一一潜在亏损。v a r 实 际上是要回答在概率给定情况下,银行投资组合价值在下一阶段最多可能损失多 少。 1 v a r 特点 ( 1 ) 可以用来简单明了表示市场风险的大小,单位是美元或其他货币,没有任 2 浙江大学硕士学位论文第1 章绪论 何技术色彩,没有任何专业背景的投资者和管理者都可以通过v a r 值对金融风 险进行评判; ( 2 ) 可以事前计算风险,不像以往风险管理的方法都是在事后衡量风险大: ( 3 ) 不仅能计算单个金融工具的风险。还能计算由多个金融工具组成的投资组 合风险,这是传统金融风险管理所不能做到的。 2 v a r 应用 ( 1 ) 用于风险控制 目前已有超过1 0 0 0 家的银行、保险公司、投资基金、养老金基金及非金融 公司采用v a r 方法作为金融衍生工具风险管理的手段。利用v a l l 方法进行风险 控制,可以使每个交易员或交易单位都能确切地明了他们在进行有多大风险的金 融交易,并可以为每个交易员或交易单位设置v a r 限额,以防止过度投机行为 的出现。如果执行严格的v a r 管理,一些金融交易的重大亏损也许就可以完全 避免。 ( 2 ) 用于业绩评估 在金融投资中,高收益总是伴随着高风险,交易员可能不惜冒巨大的风险去 追逐巨额利润。公司出于稳健经营的需要,必须对交易员可能的过度投机行为进 行限制。所以,有必要引入考虑风险因素的业绩评价指标。 3 。v a r 方法局限性 v a r 方法衡量的主要是市场风险,如单纯依靠v a r 方法,就会忽视其他种 类的风险,如信用风险。另外,从技术角度讲。v a r 值表明的是一定置信度内的 最大损失,但并不能绝对排除高于v a r 值的损失发生的可能性。例如假设一天 的9 9 置信度下的v a r = $ 1 0 0 0 万,仍会有1 的可能性会使损失超过1 0 0 0 万 美元。这种情况一旦发生,给经营单位带来的后果就是灾难性的。所以在金融风 险管理中,v a r 方法并不能涵盖一切,仍需综合使用各种其他的定性、定量分析 方法。亚洲金融危机还提醒风险管理者:风险价值法并不能预测至0 投资组合的确 切损失程度,也无法捕捉到市场风险与信用风险间的相互关系。 风险调整的资本收益法( r a r o c ) 浙江人学硕士学位论文第l 章绪论 风险调整的资本收益是收益与潜在亏损或v a r 值的比值。使用这种方法的 银行在对其资金使用进行决策的时候,不是以盈利的绝对水平作为评判基础,而 是以该资金投资风险基础上的盈利贴现值作为依据。 每家银行都清楚风险与收益的关系。在进行一项投资时,风险越大,其预期 的收益或亏损也越大,投资如果产生亏损,将会使银行资本受侵蚀,最严重的情 况可能导致银行倒闭。虽然银行对投资亏损而导致的资本侵蚀十分敏感,但银行 必须认识到,承担这些风险是为了盈利,问题的关键在于,银行应在风险与收益 之间寻找一个恰当的平衡点,这也是r a r o c 的宗旨所在。决定r 肿c 的关键是潜 在亏损即风险值的大小,该风险值或潜在亏损越大,投资报酬贴现就越多。 r a r o c 可用于业绩评估,如果交易员从事高风险的投资项目,那么即使利润 再高,由于v a r 值较高,r a r o c 值也不会很高,其业绩评价也就不会很高。实际 上近几年出现的巴林银行倒闭、大和银行亏损和百富勤倒闭等事件中,都是由于 对某一个人业绩评价不合理所致,即只考虑到某人的盈利水平,没有考虑到他在 获得盈利的同时承担的风险对其进一步重用的结果。m u l d c 方法用于业绩评估, 可以较真实地反映交易人员的经营业绩,并对其过度投机行为进行限制,有助于 避免大额亏损现象的发生。 信贷矩阵( c r c d i t m e t r i c s ) 1 9 9 7 年4 月初,美国j p 摩根财团与其他几个国际银行一一德意志、摩根、 建富、美国银行、瑞士银行、瑞士联合银行和b z w 共同研究,推出了世界上第 一个评估银行信贷风险的证券组合模型( c r e d i t m e t r i c s ) 。该模型以信用评级为基 础,计算某项贷款或某组贷款违约的概率,然后计算上述贷款同时转变为坏账的 概率。该模型通过v a r 数值的计算力图反映出:银行某个或整个信贷组合一旦 面临信用级别变化或拖欠风险时所应准备的资本金数值。该模型覆盖了几乎所有 的信贷产品,包括传统的商业贷款;信用证和承付书;固定收入证券;商业合同 如贸易信贷和应收账款;以及由市场驱动的信贷产品如掉期合同、期货合同和其 他衍生产品等。 具体计算步骤是首先对信贷组合中的每个产品确定敞口分布:其次,计算出 4 塑垩查兰堡主堂垡堡兰 里! 量堡堡 每项产品的价值变动率( 由信用等级上升、下降或拖欠引起) :再次将单项信贷产 品的变动率汇总得出一个信贷组合的变动率值( 加总时应考虑各产品之间的相互 关系) 。由此可见,在假定各类资产相互独立的情况下,每类资产信用风险组合的 风险值等于该类资产的敞口分布与其信用等级变动或拖欠的变动率。即等于信用 等级变动或拖欠变动率x 贷款额。 最近,美国华盛顿国际金融研究所针对当前的主要信用风险模型以及资产组 合模型进行了分析测试,旨在找出衡量信用风险的最好方法,为计量信用风险确 定一种比较规范的模型,并用于确定资本金的分配,从而为国际银行业的发展及 其风险监管创造条件,并计划与巴塞尔银行委员会合作进行这方面的工作。 全面风险管理模式 所谓全面风险管理是指对整个机构内各个层次的业务单位,各个种类风险的 通盘管理,这种管理要求将信用风险、市场风险及各种其他风险以及包含这些风 险的各种金融资产与资产组合,承担这些风险的各个业务单位纳入到统一的体系 中,对各类风险在依据统一的标准进行测量并加总,且依据全部业务的相关性对 风险进行控制和管理。这种方法不仅是银行业务多元化后,银行机构本身产生的 一种需求,也是当今国际监管机构对各大机构提出的一种要求。在新的监管措施 得到落实后,这类新的风险管理方法会更广泛地得到应用。 继摩根银行推出信贷矩阵、风险矩阵模型之后,许多大银行和风险管理咨询 及软件公司已开始尝试建立新一代的风险测量模型,即一体化的测量模型,其中 有些公司已经推出自己的完整模型和软件( 如a x i o m 软件公司建立的风险监测 模型) ,并开始在市场上向金融机构出售。全面风险管理的优点是可以大大改进风 险一一收益分析的质量。银行需要测量整体风险,但只有在具有全面风险承受的 管理体系以后,才有可能真正从事这- - n 量。 资产组合调整 该方法是指银行吸取证券投资组合经验而发展出的一系列方法。对一个已经 形成资产组合进行有益的调整,同时又不提高成本,以达到利润最大的风险管理 方法。 浙江大学硕士学位论文 第1 章绪论 1 贷款证券化 证券化比较通行的作法是由商业银行将所持有的各种流动性较差的同类或 类似的贷款组合成若干个资产库,出售给专业的融资公司,再由融资公司以这些 资产为抵押,发行资产抵押债券。美国银行的资产证券化活动起源于7 0 年代末, 该活动得到政府有关部门的支持和保护,其主要目的是支持住宅产业,最早实行 证券化的是与不动产有关的资产。1 9 8 6 年l o 月,第一波士顿公司宣布它准备出 售一笔以低息贷款为抵押,价值3 2 亿美元的证券,标志着由房地产业贷款向其 它类型贷款扩展。 2 收购与兼并购并其他银行已经掌握或运用成熟的业务 收购与兼并购并其他银行已经掌握或运用成熟的业务,可以大大降低银行涉 足新领域的风险。如1 9 9 5 年化学银行与大通曼哈顿公司合并,标准普尔评级公 司集团认为,新的公司将拥有一个平衡的、地理分布比较广泛的收益基础。 3 信用衍生产品 信用衍生产品产生的宗旨是对付信用风险,指参与双方之间签定一项金融性 合同,该合同允许信用风险从其他风险中隔离出来,并可以从一方转到另一方。 为此,信用衍生产品可以在不改变与客户关系的前提下运作。 6 浙江大学硕士学位论文 第1 章绪论 1 1 1 3 国际著名风险管理企业及其产品特点 表1 1 国际著名风险管理产品 序号 企业名称简单叙述 1r i s k m e t r i c s r i s k m e t r i c s 的产品被应用在许多世界主要的金融公司。 其中包括一半的世界中央银行,5 , 0 0 0 家银行,对冲基金, 资产管理,保险公司和经纪公司。它主要的风险分析软件 包括r i s k m a n a g e r , c r e d i t m a n a g e r , c d om a n a g e r , p c n s i o n m a n a g c r 和r i s k g r a d e s 。 2s u n g a r d s u n g a r d 是一个提供高技术风险管理系统的公司它针对 新巴赛尔协议后银行的风险管理提供了完整的解决方 法。 3 a l g o r i t h m i c sa l g o r i t h m i c s 的主要产品是它的风险分析引擎和它的整 套企业风险管理系统。a l g o r i t h m i c s 的风险管理系统能在 统一的风险管理方法框架下来计算和管理整个企业的市 场风险、流动风险、信用风险和资产负债管理。 主要风险分析系统包括r i s k w a t c h , a 1 9 0s c e n a r i o e n g i n e ,舢9 0r i s k e n g i n e ,a l g op o r t f o l i oc r e d i te n g i n e 和 a l g oo p r i s k 1 1 - 2 项目背景 伴随金融市场衍生品的不断发展,全球金融破产案的数量和规模及破坏性在 不断扩大。2 1 世纪9 0 年代中期,以j p 摩根为代表,以成熟的资本市场为依托, 国际资本市场引入金融工程理论,使用v a r ( v a l u ea tr i s k ) 来衡量、管理投资组 合风险,随后巴塞尔委员会正式推荐成员单位启用v a r 来管理风险。 在我国,相关法规不完善,又没有一套符合我国实际情况的较为全面的证券 投资风险监管软件,致使基金和券商的投资行为缺乏有效的风险管理手段。在 7 浙江大学硕上学位论文 第l 章绪论 2 0 0 0 年前后,国内理论界开始积极关注金融工程理论,研究投资过程和行为,规 避和防范风险。 但在风险模型理论的实证方面几乎没有,与之配套的能够提供这种高附加值 服务的软件服务商更少。而部分券商、基金管理公司、甚至托管银行相继引入价 格昂贵的国外的风险管理平台,因种种原因却很难适应中国国情。 在这种国内国际金融环境下,亟待一种适合中国国情的金融风险控制软件的 产生,某大型金融软件开发公司凭自身研究实力并依托某著名大学,与基金托管 部于2 0 0 2 年达成战略合作伙伴,并邀请该大学金融研究院和国家会计学院提供 理论指导,开发出适合中国国情的风险管理平台,并应用于国内某大型基金。 在充分保证金融风险控制的各项业务功能外,软件性能就上升到系统设计的 关键地位。软件性能工程( s p e ) 已经作为一种关注性能的工程方法被提出并应 用到软件系统设计过程中,贯穿于整个软件生命周期。由于风险管理系统的涉及 到对大量的交易数据进行各种风险指标的计算,所以对系统的性能方面也有着很 高的要求,将软件性能工程理论应用到风险管理系统的系统设计,分析过程中, 可以保证系统性能的高效性。 1 1 3 软件性能工程研究现状 软件性能是软件产品的一种特性。性能的范围包括响应性( 响应时间和吞吐 量) 和可伸缩性。项目之所以出现性能问题,是由于在项目设计初期并没有过多 的考虑系统性能,这是一种先功能实现再性能调整的传统系统设计模式。当前对 软件性能工程的研究主要包括两个方面:一种研究层面是在系统设计初期就充分 考虑系统性能设计,虽然在系统开发初期进展比较缓慢,但是一旦确定了合适的 系统性能模型,那么就可以极大程度减少维护后期由于性能问题带来的成本上 升。另一种研究层面是对已有系统( 已在生产环境上运行,不可能进行重新设计 的遗留系统) 的性能设计进行调整,重构,虽然不能从根本上解决性能问题,但 是往往只要对已有系统设计进行细致全面的性能分析,也可以达到在不对系统设 计做根本变更的基础上改善系统的性能从而满足用户的性能要求。 8 浙江大学硕上学位论文第1 章绪论 对于第一种软件性能研究,研究人员已经提出了软件性能模式,这些模式描 述了产生具有响应性和可伸缩性软件的最佳经验。这些性能模式包含快速通道模 式,重要事情优先模式,耦合模式,批处理模式,替代路由模式,弹性时间模式, 弱化周期性功能模式等【1 1 。 除性能模式提出之外,研究人员还对当前广泛使用的w e b 服务的应用也提出 了有效的性能改进设计策略:有针对s o a p 协议的w e b 服务通信协议的x m l 低 效解析的解决方案:服务分级保障高级别用户的服务质量,以二进制数据传输消 息格式,比如j a v ar m i 等,提出s o a p 消息处理器来替代x m l 解析以及j a v a 反射机制的对象生成【2 】;有针对w e b 应用服务器中问件的性能优化的中间件自配 置框架,该框架针对中间件在功能层面上的高效性和性能层面上的低效性的不 足,实现了中问件上的资源配置参数自配置模型以求获得最大性斛虬。 对于第二种软件性能研究,研究人员提出了软件性能反模式,这些反模式也 是常见设计问题的可复用解决方案,用于消除常见不良设计产生的负面作用。常 见的性能反模式有:上帝模式,过量动态分配模式,迂回寻宝模式,单行道桥梁 模式,交通阻塞模式等【“。同时国内学者也对这些性能反模式在系统性能分析应 用上做了进一步的研究,并提出了上述性能反模式的识别方法:代的码静态分析, 代码的动态分析,检测系统资源使用等1 4 。 1 2 研究内容 基于风险管理系统需要对大量的金融数据进行复杂的业务逻辑处理,从而获 得一个最终的计算结果来判断某个操作是否逾越风险边界,我们需要考虑风险结 果计算过程的系统性能。在对风险管理系统的客户性能要求以及风险管理系统部 署的软硬件平台进行了综合评估后,本文将对风险管理系统的主要功能模块的性 能设计进行必要的阐述,对主要功能模块的选择是基于以下几个出发点: 1 属于系统的核心功能模块,是主要的业务操作模块。 2 在后台业务逻辑实现中被频繁调用的高代价的i o 操作代码块。 基于上述的几个出发点,本文将主要讨论风险管理系统的集中监控模块设计 9 浙江大学硕士学位论文第1 章绪论 和实现,并对模块性能设计( 将主要集中在并发执行和数据库访问优化两个方面 展开) 应用s p e 理论进行分析,突出其优良的性能设计,同时也对其存在不足的 性能设计进行必要的讨论,提出进一步改进的解决方案。 1 3 研究目标 通过对风险管理系统的设计和实现的论述能够充分体现o i b i z 框架在实际项 目应用价值,对业内人士在取舍w e b 应用框架的时候能够新增一种解决方案选 择。 通过在风险管理系统中应用s p e 理论对其主要功能模块进行性能分析,对其 存在不足的性能设计提出改进的解决方案,让系统性能在性能理论的指导下得到 提升,对同类系统以及其他类似系统在性能上的设计提供参考借鉴,从而能够使 系统开发人员在开发过程中形成良好的性能设计意识,提升软件竞争力。 1 4 论文的组织结构 本文主要包含六个部分 第一章绪论:主要介绍了银行风险管理系统的发展现状和本文中的风险管理 系统的项目背景,并对软件性能工程在w e b 应用中的优化策略研究现状进行论 述,从而引出了本文的核心部分为对风险管理系统系统的设计与实现以及性能改 进。 第二章性能反模式理论:将介绍软件性能工程的基本概念,同时引出五种常 见的性能反模式介绍,并论述其解决方案。 第三章风险管理系统的总体设计:将首先介绍风险管理系统的系统框架o t b i z 的结构,然后从全局的角度论述风险管理系统的设计和实现。 第四章集中监控模块的设计和实现:集中监控模块作为投资监控子系统的核 心模块,在本章节将对集中监控模块的具体设计和实现进行论述。 第五章集中监控模块的性能改进:在章节中将主要讨论对集中监控模块性能 改进,将主要从并发执行流程改进以及数据库访问优化两方面进行。 1 0 浙江大学硕士学位论文第l 章绪论 第六章总结和展望:将对本文中自己所有的工作进行总结,并对未来的工作 做进一步的展望。 1 5 章节小节 在课题背景小节中,首先论述了银行风险管理系统的发展现状,并引入了本 文中的风险管理系统的项目背景,又通过对软件性能工程理论在w e b 应用中的研 究现状进行论述,从而为后续章节开展的性能优化提供理论支持。 在研究内容小节中,提出了本文的研究内容为集中监控模块的设计以及性能 改进。 在研究目标小节中,指出了本篇论文中的系统设计和实现以及性能设计分析 对实际项目设计与开发人员的现实指导借鉴意义。 浙江人学硕士学位论文 第2 章性能反模式理论 第2 章性能反模式理论 2 1 软件性能工程介绍 软件性能工程( s o f t w a r ep e r f o r m a n c ee n g i n e e r i n g ,s p e ) 是一种系统的,定 量的方法,用于构建能够符合性能目标的软件性能。s p e 是关于性能的一种工程 方法,避免了性能驱动的开发和“以后修正”的方法的两个极端。s p e 通过模型预 测评估软件功能,硬件规模,质量结果和资源需求之间的平衡点。 s p e 是一种面向软件的方法,重点在于体系结构,设计和实现的选择。这种 方法使开发人员有能力选择具有可接受性能特征的体系结构和设计方案,帮助他 们进行资源需求控制。s p e 模型有助于在整个开发过程中跟踪性能,防止生命周 期的后期( 一般是最后的测试阶段) 出现问题。 s p e 还明确了:建立响应性软件的原则,面向性能设计的性能模式和反模式, 评估需要的数据,获取性能规格说明的过程以及每个开发阶段应当进行的评估类 型的指导原则。它包含了表示和进行性能预测的模型以及一套分析方法。 在本文中,将主要从s p e 理论的性能反模式角度来研究和分析风险管理系统 的系统性能设计。 2 2 性能反模式 性能反模式:性能反模式和性能模式概念类似,说明常见设计问题的可复用 的解决方案。但由于使用( 或误用) 会产生负面结果,因而会产生负面结果,因 为称为反模式。 反模式说明了软件开发过程出现的普遍性错误,也说明了针对这些错误的解 决方案。总之反模式告诉人们应该避免什么,当发现问题是应如何应对。 与性能模式不同的是,性能模式阐明获得响应性和伸缩性的“最佳经验”的 方法。性能反模式是对性能模式的补充,说明不该做什么以及发现问题时如果解 决。 1 2 浙江大学硕士学位论文第2 章性能反模式理论 反模式着重软件体系结果和设计以及软件开发的过程本身。在许多情况下, 反模式可能比模式更有用。因为它们阐明如何识别不良状态并提供方法进行改 正。这种方法对于提高性能尤其实用,因为良好的性能意味着问题被排除了。性 能反模式通过阐明性能问题及其原因帮助建立性能直觉。 反模式通过重构( 或重组) 以便消除负面后果。重构过程是一种维持正确性 的变换,可以提高软件质量。这种转换不应该改变应用的语义,但是提高了整体 的可修改性。重构过程可以提高软件的多种不同的质量的属性,包括可服用性, 可维护性,还有性能。 常见的性能反模式:上帝模式,过量动态分配模式,迂回寻宝模式,单行道 桥梁模式,交通阻塞模式。 2 2 1 上帝模式 上帝模式又称为“g o d ”类模式,“g o d ”类执行系统的大部分工作,并且把 其他类降至次要或是辅助的低位。包含“g o d ”类的设计通常很容易被识别出来。 “g o d ”类的一种表现形式是一般有一个单一的,复杂的控制器类( 名字中 常常包含c o n t r o l l e r 或m a n a g e r ) ,被充当数据容器的简单类包围着。这些简单类 通常只包含存取或是设置操作( g e t 0 和s e t 0 数据的操作) ,它们自己很少或是没 有计算。“g o d ”类获得使用隶属于这些数据类的g e t ( ) 操作所需的信息,完成某些 计算,然后用该类的s e t ( ) 操作更新数据。 “g o d ”类的另外一种形式,它不执行任何的任务,而是包含所有的系统数 据。于是,功能被分配给其他的类。当其中的一个功能类需要数据来执行一项操 作时,它通过g e t ( ) 操作从“g o d ”类获取数据,如果必须更新数据,则该功能类 用s e t ( ) 操作来更新。即使数据被存取或设置功能封装起来,“g o d ”类的数据形式 依然等价于全局数据或是f o r t r a n 语言中的公用块。 “g o d ”类的这两种形式从面向对象设计的角度分析,是与设计面向对象系 统的经验规则相违背,因为经验规则要求把数据和相关的行为保存在同一位置。 这两种“g o d ”类都违反了该约定,把行为赋给一个类,而把支持该行为所需要 浙扛大学硕士学位论文第2 章性能反模式理论 的数据赋给另一个类。 “g o d ”类的这两种形式从性能工程的角度而言,操作和数据的异地化必然 导致冗余的消息开销,这将大大影响应用程序特别是分布式系统的响应性。 上帝模式的解决方案需要对设计进行重构,把消息均匀的分布到应用的顶层 类中,关键是把数据和相关的操作保存在一起。 2 2 2 过量动态分配模式 利用动态分配,对象在第一次访问时被创建,在不需要时销毁。通常这是构 造系统的好办法,它提供高度动态条件下的灵活性。然后过量的动态分配会导致 同类对象频繁而不必要的创建和销毁过程。 在面向对象的软件系统中,创建对象必须从堆中分配内存来保存它以及它所 包含的所有对象,而且必须执行该对象以及它所包含对象的所有初始化代码。不 再需要这个对象时,执行必要的清除工作,回收内存归还给堆避免“内存泄露”。 尽管创建和销毁单个对象开销或许不大,但是频繁的创建并销毁大量对象对性能 的影响缺是非常明显的。 过量动态分配模式有两种可能的解决方案。 一种解决方案是“重复利用”对象而不是每次需要的时候创建新的对象。这 种方法预分配一个对象池,把对象存储在一起。从池中申请新的对象实例,不再 需要的实例送回到池中。这种方法对连续需要大量短生命周期对象的系统很实 用。在系统初始化时为预分配对象付出代价,但是把运行时的开销减少为传递预 分配对象指针的开销。其中一个实例就是数据库连接池的应用。 另一种解决方案是共享对象而不是创建新对象。其中一个实例就是使用 s i n g l e t o n 模式让所有的客户共享此对象的单实例。 2 2 3 迂回寻宝模式 由于程序设计的问题,数据往往被放在难以直接存取的位置,其结果是程序 在运行过程中,常常不得不经过很多比必要的路径,获取最终的数据结果。举个 1 4 塑垩查兰堡主堂垡笙壅 苎! 里堡壁垦堡壅里丝 简单的文件下载功能的例子:程序从a 处获取数据库u r l ,从b 处获取用户名和 密码,然后访问数据库,获取文件的最终硼,开始文件下载。特别是当要访问的 数据库是在远端的机器上,对中间结果对象的传输处理的代价会极大影响系统的 性能。这种反模式在分布式对象系统中, 留在其他进程或是运行在其他处理器上。 影响更加巨大。在这类系统中,对象驻 当创建和销毁这些中间对象的时候,性 能影响更加大了。在这种情况下,还会有不良的内存布局,因为每次上下文切换 都可能导致被调用对象的工作页面组被载入。而在执行返回的时候,中间对象的 工作页面可能需要重新载入。 迂回寻宝模式的解决方案是分两种情况: 一种情况是在开发的初期发现数据库存取方面的问题,那么可以选择不同的 数据库组织结构。 另一种情况更加普遍的,是对已有的系统进行改进,这种情形下倾向于不改 变数据库结构,那么我们只能采用减少远程访问数据库的调用次数,考虑把多 次的远程数据库访问调用进行可能的合并,最大程度减少远程调用的网络开销, 提升性能。这种思想同样可以应用到对表内数据相对稳定的读访问操作上,通过 一次性加载表内数据到内存中,使后续业务逻辑实现中对该表内数据的读访问操 作都通过直接访问内存中的表数据而不需要执行对数据库真正访问,从而提高系 统性能。 2 2 4 单行道桥梁模式 单行道桥梁模式指,流量每次只能向一个方向通行,如果存在多条并行的流 量,那么它们必须排队等待,当并行流量的数量达到一定的数目,那么将会造成 长时间的排队,影响性能。在软件中的描述是,在程序的某个点,只允许一个或 几个进程执行,其他的进程都必须等待。经常发生在访问数据库的应用中,比如 锁定保证每次只允许一个进程更新数据库的相关部分,又或是发生在多个进程对 个单线程的进程发出同步调用,所有发出调用请求的进程都必须轮流执行,等等。 单行道桥梁模式的解决方案有创建多个车道,减少流量过桥时间或者是绕道 浙江大学硕上学位论文第2 章性能反模式理论 从而减轻同向的并行流量。从软件设计角度分析,针对数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农产品冷链物流服务合同协议
- 2025年农产品电商平台合作协议合同协议
- 母亲节营销全攻略
- 绿色使者:树木之谜
- 绿化行动我先行
- 合规考试题附答案
- 大雪节气地理解析
- 大暑消费行为探究
- 2025年普法考试试题及答案
- 机器设备操作规程和维修保养制度
- 品管圈PDCA获奖案例提高糖尿病患者胰岛素注射规范率
- 2024年度高铁站防水防潮防分包合同2篇
- 荷花课件英文
- 浙江省温州环大罗山联盟2024-2025学年高一上学期期中考试化学试题
- 超市收银员培训资料
- 《电力数据通信网络工程设计规程》
- 电动车消防安全预防电动车火灾培训课件
- 应急管理法律法规课件
- 无人机植保技术课件:无人机植保现状
- 代开发票合作合同
- 09J801民用建筑工程建筑施工图设计深度图样
评论
0/150
提交评论