论高可靠性系统中软件容错技术的应用

来源 :科学与财富 | 被引量 : 0次 | 上传用户:nature_shcn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文论述了养老管理信息综合系统中软件容错技术的应用,主要讨论了各种容错技术在系统中的应用,最后对整个系统的容错进行了总结。
  关键词:容错,集群,主备,冗余
  目前我国已经进入到老龄化社会,老龄人口逐年增长,按照老龄办提供的数字,现在中国的老年人口已经达到 2.48 亿,与之增加的养老消费人均三千元左右,从整个养老产业的规模来看,估算在 2025年要增加到五万亿规模,市场前景巨大。随着互联网的迅猛发展,各行各业都在进行着互联网+的尝试。其中,养老领域更迫切需要解决养老专业化程度低、信息化不足、健康照护水平滞后等一系列亟待解决的问题。
  由于我们公司在医疗行业领域有着丰富的成功经验,同时,近些年在养老领域也成功实施过很多成熟的案例。一期投资方出资 3600 万,委托我司进行这款综合性养老管理平台的开发工作。我在该项目中担任系统架构设计师,主要负责应用系统的软件架构设计和中间件选型。该系统以养老为主线,其中包括养老档案、照护计划、服务审计、状况跟踪、费用管理、决策支持等方面的30多个业务功能模块组成。
  经过前期对全国几十家养老机构和相关合作的医疗单位的调研分析,结合原有的经验,对整个系统业务进行详细规划和相关设备的初步选型,即我们内部所说的“两版三端”的方案,机构养老和社区养老两个子系统,同时能够在 PC 端,PAD 端,手机端三端进行呈现和交互。提高软件系统可靠性技术主要分为容错技术和避错技术,容错技术的主要方式为冗余,冗余又分为结构冗余、时间冗余、信息冗余,冗余附加。结构冗余又分为静态冗余、动态冗余和混合冗余。软件容错技术主要有 N版本程序设计,恢复块方法,和防卫式程序设计。结合互联网软件的性质,我主要采用了集群技术、数据库主从方式、和程序设计方面来进行软件的容错与避错处理。下面就从以上三方面详细讨论我所采用的容错技术和方法。
  1、通过集群技术来容错
  平台中的各服务如果在运行时部署在一台服务器上,那么当服务器发生故障,整个平台将不能再提供任何服务。所以一般非常小规模的应用才会采取这样的部署方式,像互联网应用这样的支付平台来说必须采用多机同时部署的方式,防止单台服务器宕机或者服务进程 Crash导致整个平台不能提供服务的问题。通过多机同时部署,当一台服务出现问题时,可以很容易替换一台新服务器进行重新部署生效,通过服务客户端的软负载均衡功能,可动态剔除不可用服务机器,动态发现新加入集群的服务机器,使平台在出现故障时可平滑过渡,达到容错的目的。另外平台中各服务当首次获取到的不易变的静态数据会将其存入非本地缓存中,例如采用了 rediscluster 技术,可以很好的保证写入缓存中的数据获取的高可靠性,恰当使用缓存不但会提升平台性能,同时还可以起到容错的效果,例如当某个服务所依赖的后端存储发生了短时的故障或者网络抖动,在这个时候大量的并发请求发现存储获取失败直接从缓存中获取将数据返回给调用方,起到了很好的容错效果。
  2、通过数据库主从部署方式来容错
  对于该平台来说,所依赖的后端数据库存储的稳定性是非常非常重要的,所有的老人档案、照护计划、当前状态等等数据将直接存储到数据库中。如果数据库在运行过程中频繁宕机,那么带来的问题将是不能容忍的,因为会造成老人档案,护理步骤出错等等问题,所以在这里就要求数据库存储要具有非常高的可靠性,同时具有很强的容错性,在这里我主要采用了数据库的部署结构为主从式方式,要求部署在不同服务器上,在不出问题的情况下对于一些时效性要求不是很高的场合从库可以负责承担一部分读流量,当主库发生读写问题时,可快速由其他的从库升级为主库,继续服务,达到容错的效果。在这里我还采用了要求数据库宕机加报警的方式来防止宕机的主从数据库实例过多,导致在并发高的情况下没有可用的从库升级为主库提供服务,通过这样的方式也提高了整个平台的高可靠性。数据库的数据文件存储这里我也要求采用了 RAID 磁盘容错技术来防止单块磁盘损坏导致的数据文件丢失问题。
  3、通过程序设计方面进行软件的容错与避错。
  根据以往的架构经验,那么系统的不可靠大部分是由于程序内部的设计或者网络请求参数的配置或者连接池参数的配置不当所导致的。所以通过程序设计方面进行软件的容错是非常重要的。在程序设计方面的容错用的最普遍的就是防卫式程序设计,例如养老平台中的结算模块,当在支付的过程中调用账户服务来进行账户金额扣减的时候,势必会调用账户服务传递请求对象来处理,如果说账户服务在被调用的这一刻网络抖动或者丢包的情况下,这个时候一键支付聚合服务必然会收到抛出的错误信息,如果没有通过恰当的容错处理,那么这次一键支付必然会给用户显示支付失败,不太友好,在这里我采用了 TRYCATCH机制加 3次重试的容错处理機制,就解决了该次支付因网络抖动导致的支付失败问题。平台采用的是微服务的架构风格,那么在服务之间的通讯过程中涉及到数据的传递,这里我采用了在数据传输协议的头部加 CRC码来做到对错误数据处理的避错。
  通过项目组全体成员的不懈努力,整个项目开发历时 7 个月,系统已经顺利通过验收并如期上线。通过采用了以上容错技术的方法和措施后,平台从上线运行到目前为止,各服务运行状态良好,到目前运行稳定并得到用户的一致好评。不足之处有两个方面,1.各服务间调用事物一致性问题的容错处理。针对该问题,目前只能保证事物的最终一致性,因为根据 CAP 理论,要解决该问题确实存在一定的难度,后面我准备研究下 TCC事物处理方式尤其适合支付平台场景,争取在不损失性能的前提下最大限度解决分布式事物的一致性问题。2.目前所采用的最大努力推送型事物服务依赖 MQ重复消息的问题。针对该问题我采用加了一张消息处理表的方式来解决,当收到消息的时候,先查询该条消息是否已经处理,如果没有处理直接进行处理并将其进行记录,防止重复处理导致支付数据出错。我会在今后的架构设计过程中,不断更新自己的知识,不断完善自己的架构设计领域,设计出更好的软件架构,更好的支撑业务平台的运行,提高公司的竞争力,为公司为社会尽一份绵薄之力。
其他文献
摘 要:煤是重要的化工原料,构建稳定、完善的化工输煤系统一方面可以提升化工生产的效率,另一方面可以基于完整的系统进行专业化和规范性提升,这样,煤炭生产与利用的现实价值会显著提升。文章分析煤化工输煤系统的具体设计,旨在为实践工作提供指导和帮助。  关键词:煤化工;输煤系统;设计  0引言  煤化工是实现煤炭资源有效利用的重要产业,在产业发展实践中,通过现代化技术的利用实现产业的现代化建设,这对于煤炭
期刊
摘 要:本文通过查询大量资料文献,首先探讨了由地震引发的地质灾害危险性分析指标体系,分析了由地震引发的地质灾害危险性分析技术方法及流程,最后探讨了由地震引发的地质灾害危险性分析的主要内容,本文对地震引发的地质灾害危险性有一定的指导意义。  关键词:地质灾害,危险性分析,指标体系  1.由地震引发的地质灾害危险性评估体系构成  由地震引发的地质灾害危险性评估是对危险性区发生不同强度地质灾害活动的可能
期刊
摘 要:随着当前我国能源消耗的加快,我国电力行业在我国经济体制中的比重也随之增加,当前电力行业已经成为我国国民经济的支柱性产业之一,因此电力行业在发展的过程中需要完善的检测保障工作。当前我国电力行业已经逐渐的在电缆检测中应用终端局部放电检测,通过脉冲电流法并可以对电缆终端的局部放电进行巡检,这样就可以发现 GIS电缆终端出现的故障。本文中主要研究了 GIS电缆终端局部放电检测,文中首先分析了 GI
期刊
摘 要:2015年3月,中共中央国务院出台《关于进一步深化电力体制改革的若干意见》(9号文),启动了新一轮电力体制改革,随后各类相关政策密集出台,各级交易机构和试点相继建立,售电市场逐步放开,国内电力市场形势发生了持续变化,催生了零售电、综合能源等新兴业务。在这种市场环境下,发电集团传统发电营销业务面临着营销业务模式改变、客户多元化、交易品种增多、数据信息量飞速增加、业务智能化要求越来越高等挑战,
期刊
摘 要:目前自动化技术在电子工程中的重要性不断提高,各个企业开始将其应用到实际的生产活动中,在一定程度上提高了电子工程的控制管理水平,降低了人力成本的消耗,且电子工程的工作效率也得以提升。为充分发挥自动化技术在电子工程中的应用价值,本文就针对电子工程中的自动化技术进行分析,探究自动化技术在电子工程中的作用,希望能为相关工作人员提供一些有效参考依据。  关键词:自动化技术;电子工程;作用  近年来,
期刊
摘 要:我国现代化建设发展过程中电力系统起着不可替代的作用,继电保护能够有效保证电力系统安全与稳定运行,要深化把握电力系统及其自动化和继电保护关系的同时通过多样化路径将继电保护自动化技术与装置高效应用到电力系统运行中,实时防控风险隐患的同时提升电力系统综合效益。  关键词:电力系统;自动化;继电保护;相互关系  前言  随着经济的快速发展,电力能源的需求逐年增加,对电力供应的稳定性和效率提出了更高
期刊
摘 要:随着时代的发展,新理念、新技术不断刷新着人们对于这个世界的认知,也给各行各业的发展带来了活力,更多的新鲜事物喷涌而出。实际上,在改革发展中,其也面临着不少的问题,制约着其电子商务专业信息化教学进程的发展。本文主要从人工智能视阈下湖南高职电子商务专业信息化教学改革发展中存在的问题分析入手,进一步探讨相应的解决对策。  关键词:人工智能;高职院校;信息化教学改革发展;问题与对策  湖南高职电子
期刊
摘 要:隨着当下市场上对于人才的要求不断提升,高校中对于人才的培养机制也应当不断与社会需求相结合,保证自身的人才教育和培养机制能够吻合当下的社会需求,为我国的现代化建设和国际化发展提供必要的人才保障,为我国的中国梦实现奠定坚实的人才基础。利用移动信息技术对商务英语专业学生开展教育教学能够提升教学科技性和创新性,给予学生崭新的学习环境,提升学生英语专业知识学习兴趣,促进商务英语教学良性发展。  关键
期刊
摘 要:在传统充电方式的弊端日益突出的今天,无线充电开始登上历史的舞台,而基于无线充电方式的核心是对负载端的控制策略。本文将研究无线电能传输的过程,基于磁耦合谐振的双LCC补偿拓扑结构,利用双闭环策略,提出一种高效、灵活的负载功率控制的思路,可以实现负载的恒压和恒流供电,而恒流恒压无线充电能满足手机、电动汽车和电脑等移动设备的要求,提高其充电的效率和电池使用寿命,特别是符合电动汽车这一新兴产业的发
期刊
摘 要:在我国现阶段经济快速发展的背景下,我国城市化的快速发展也推动了建筑业的快速发展。现阶段,我国建筑业呈现出前所未有的繁荣景象,建筑业的快速发展已成为我国经济发展的支柱。将给排水工程的节能节水设计应用于建筑业,可以促进建筑业的健康持续发展。节约用水、实行水资源的可持续利用和保护、开发节水产品、建设再生水设施,以及提高建筑产品的能源效率和环境友善,都是当务之急。它不仅减少了污染,改善了环境,而且
期刊