ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 58806|回复: 90

【名人堂访谈】连线数据库优化大师:海量并发的社保系统为何没瘫痪?

[复制链接]
认证徽章
论坛徽章:
127
目光如炬
日期:2014-12-01 06:00:04火眼金睛
日期:2015-02-01 06:00:04目光如炬
日期:2015-01-26 06:00:04目光如炬
日期:2015-02-16 06:00:03火眼金睛
日期:2015-03-01 06:00:03目光如炬
日期:2015-03-02 06:00:13慢羊羊
日期:2015-03-04 14:53:33目光如炬
日期:2015-07-26 22:00:00目光如炬
日期:2015-07-26 22:00:002015年新春福章
日期:2015-03-06 11:58:39
发表于 2014-8-7 16:27 | 显示全部楼层 |阅读模式

一首歌可以撩起一段记忆,一杯茶可以味染一份心情,一段采访可以传递一份正能量,当我们读懂了时光,才知道自己需要的是什么。小时候,我们就是孙悟空:调皮捣蛋、大吵大闹。青年时,我们就是猪八戒:敢爱敢恨。壮年时,我们就是沙和尚:工作勤恳、老实忠厚。老年时,我们就是唐僧:啰啰嗦嗦。曾经有一份珍贵的参保表摆在我面前,可年富力强的我没有珍惜,等到岁月的沧桑爬上额头,我捶胸顿足时才后悔莫及,人世间最痛苦的事莫过于此。生老病死,保障为安,可有多少人知道社保系统的技术架构支撑?欢迎大家做客第91期名人堂访谈,我是主持人皮皮,本期名人堂我们邀请到了社保系统的资深数据库工程师敬勇(社区ID:eric0435),为我们一起解读社保系统背后的故事。如果您乐于分享,请报名参加我们的名人堂采访:http://www.itpub.net/star/




pipihappy8888(Q1):选择决定命运,环境造就人生。走过的路长了,遇见的人多了,经历的事也就复杂了。昨天只是今天的回忆,明天只是今天的梦。能否结合您的自身经历谈谈您的人生感悟?您对未来的生活抱有哪些期待?


eric0435(A1):大家好,我叫敬勇,微博@敬_勇,很高兴参加名人堂栏目,希望有机会认识更多的朋友。2007年我大学毕业,加入了一家专注于民生行业的公司,负责开发湖南省企业养老保险系统,说出来不怕大家笑话,由于当时只是从开发者的角度看问题,显得很局限。在需求调研阶段没并有参与,只是按部就班的按照详细设计流程进行开发,到后来开发了两个月都不晓得每个模块背后对应的实际业务有哪些。三年以后,我跳槽去了东软和创智,从事医疗保险系统的设计、开发、运维、还有Oracle管理与优化的工作,通过实际的摸爬滚打,我在社保系统的开发与性能优化方面积累了长期的工作经验。正所谓厚积薄发,经过好几年的沉淀与坚持,我变得更加自信与成熟,在职场上也游刃有余现在就职常德人力资源和社会保障局信息中心,负责应用系统和数据库运维管理优化方面的工作,




人生最奢侈的拥有是一颗不老的童心,一个生生不息的信念,一个健康的身体,一个永远牵手的爱人,一个自由的心态,一份喜欢的工作,一份安稳的睡眠,一份享受生活的美丽心情。我希望在未来的日子里,找到一个对的人,是给自己以后的生命里最好的礼物。





pipihappy8888(Q2):您从事过医疗系统、社保系统的开发设计工作,能否从架构的角度介绍下这些系统的数据库软件和中间件?您眼中美的架构是怎样的?


eric0435(A2):今天大多数社会保险系统使用的都是三层架构,它有两个版本,二版中的系统采用的是一个基于J2EE的C/S/S 架构,增加了应用服务器层,从而分担了Oracle数据库服务器的负担,便于系统服务于更多的用户。三版是基于J2EE技术的C/S/S&B/S/S双兼容的三层结构业务应用平台三版的IT架构分为:应用架构、数据架构、技术架构三个部分。这三个部分各司其职,应用架构主要解决业务系统的功能结构问题。数据架构主要解决统一、可扩展的行业数据模型问题。技术架构主要解决在技术上如何对业务进行支撑的问题。




前些年大部分社保系统都采用两层架构的,我接触这个行业时三层架构在社保系统的应用才较为广泛,可见社保行业技术发展明显落后于其它行业的,社保行业以业务驱动为主,不是以技术驱动为主,通常一个系统的使用周期长达八到十年左右,相对于互联网行业,IT技术的更新较为缓慢。社保系统的三层架构中,数据库是Oracle,这得益于Oracle的几大优点:可用性强,可扩展性强,数据安全性强,稳定性强。中间件使用的是Weblogic,现在也是Oracle公司的产品,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。它有几个优点:领先的标准,无限的可扩展性,快速开发,部署更趋灵活,关键任务可靠性,体系结构。个人认为能完成系统各方面需求的构架就算得上是一个好的架构,当然这只是我的一家之言。






pipihappy8888(Q3): 由于社保系统是一个准金融系统,医院,药店联网,与银行等金融联网办业务还要与其它政府部分共享数据,需要考虑安全,并发等问题,能否结合案例谈谈您在开发维护社保系统时,如何确保数据库安全,解决高并发等问题?


eric0435(A3):个人觉得通过以下几个方面可以解决安全性问题



1.    通过使用通用的XML数据交换格式和http协议,提供框架级和组件级资源共享的能力,其它系统不与数据库连接直接访问web服务来获取数据来解决数据共享的问题。


2.    通过统一的安全防卫层,统一的授权,统一入口,客户端只与WEB服务器打交道,完全不知数据库的任何信息,将数据库服务与用户隔离开来确保数据库的安全。


3.   通过登录安全控制、操作权限管理、维护操作审计来防止系统管理人员对数据库的破坏。


相对而言,技术问题引发的安全隐患容易解决,更为棘手的恐怕是人为管理方面的引发的悲剧。曾经某某人力资源和社会保障局就曾出现过这种案例,管理人员权限过大,可以直接在数据库中修改医保余额,与药店联合套取医保基金。因此我们呼吁管理人员需要具备高度的社会责任感,给大家营造一个纯净的社保系统。


在高并发方面,社保系统通过使用"连接池"技术动态维护数据库连接,充分利用系统资源,将业务逻辑与数据存取逻辑分离,减轻数据库负担,提高系统效率,利用“集群"技术提高效率等方法来解决高并发问题。



pipihappy8888(Q4):覆巢之下,安有完卵。很多社保系统缺乏容灾备份系统,一旦发生数据灾难,难以恢复,火灾、洪水、地震、恐怖袭击所带来的可能是致命影响,比如在512地震当中,四川省各重灾区地市社保信息系统遭受了极大的破坏和损失,部分地市的信息系统完全毁坏。异地或多地的容灾系统建设成为了重中之重,请谈谈您们社保系统在容灾备份方面是如何应对的?


eric0435(A4):社保系统是一个准金融系统,关系着参保人员的切身利益。出问题就容易引起社会的不稳定啊,说到这压力还是比较大的。我们社保系统现在使用的是EMC RecoverPoint来解决异地容灾的问题,现在还只做到同城异地容灾。其实不是有了容灾系统就是万事大吉了,平时要多进行容灾切换演练及时发现问题,别等到真的要切换到容灾系统时才发生容灾系统不能用,而容灾系统就成了摆设了。现在我们基本上是每个月进行一次容灾演练来检验容灾系统可用性 。


我在这里给大家举个例子,某某市社保系统通过DG做了备份系统,但不管是生产机房还是容灾机房的网络,都会经常因为一些原因时好时坏,有一天当生产数据库出现故障,准备启用备库时才发现有两天的数据没有同步完成,因而无法及时切换到备库,从而造成业务出现一定时间的中断。







pipihappy8888(Q5):社保系统在运行过程中不可避免的会出现运行缓慢,业务无法办理等问题,遇到故障时您如何排忧解难?能否分享下您在Oracle数据库性能优化方面的经历?


eric0435(A5):在现实中,社保系统在运行过程中确实经常遇到运行缓慢,业务无法办理等问题。大多数案例是由于糟糕的SQL语句造成的,还有部分案例得归咎于表结构设计方面的问题,但总的来讲,很少遇到硬件原因而引发社保系统运行缓慢。




因为一条糟糕的SQL语句而造成整个系统运行缓慢业务没法运行的案例我曾经深有体会,我是通过优化该语句解决了这个问题。也遇到过并发修改数据量大,在创建oracle表结构时默认的INITRANS参数为1,索引的INITRANS参数值为2时,出现大量enq: TX - allocate ITL entry等待事件造成系统运行缓慢的案例,这个问题最后通过修改INITRANS参数后,执行表move解决了。



在哪些情况下业务表结构设计不合理导致社保系统运行缓慢呢?这里我想和大家分享一个案例,,我曾经遇到过一个社保系统,每次打印单位应缴数据时都要从几个大表(几亿条记录)中进行分组、求和排序,其实完全可以简化这种流程,根据业务来按单位按险种按月设计一张单位险种应缴数据表,这样在每个月做应收测算时每个险种每个单位每个月就生成一条应缴数据记录,打印单位应缴数据时直接从这张表中查询就可以了。当遇到故障时我的解决方法是:先得搞清是某个功能运行缓慢还是整个系统运行缓慢,如果是某个功能运行缓慢,八九不离十的是这个模块相关的SQL语句出了问题了,那么就要定位到具体的SQL语句,找出问题的原因,找到原因了问题就能迎刃而解。如果整个系统都运行缓慢,那么有必要先登录数据库服务器和应用服务器来检查系统资源使用的情况。一旦发现系统资源消耗完了,需要找到那些消耗资源多的进程ID,通过操作系统进程ID找到相关会话所执行的操作,对其进行分析找到这个会话所执行操作运行缓慢的原因,找到原因也就解决了问题。






pipihappy8888(Q6):我了解到,您工作七年以来从事的都是社会保险系统的相关工作,从之前的开发设计,到现在的运维和管理,是什么让您对社保系统情有独钟?现在北京推出了移动端社保App,用户可以i在手机查询社保信息。您觉得未来的社保系统是否会有更多的创新?


eric0435(A6):工作七年来从事的都是社会保险系统的相关工作,我觉得并没有什么使我对社保系统情有独钟,这可能与我的性格有关。我不是一个太喜欢折腾的人,骨子里就是喜欢稳定。我第一份工作就是参与开发养老保险系统,后来在我们公司更换其它公司的系统时在数据转换与上线后遇到了一些性能问题,这让我对解决Oracle性能问题产生了兴趣,直到现在我到了体制内上班也一样都是顺其自然。现在是移动互联网时代了,北京推出了移动端社保App就是一个好的例子,我觉得以后的社保系统应该会有更多的创新,通过新的技术和事物来方便参保人员及时了解各方面的信息比如个人缴费情况,账户余额,社保政策,这也能提高信息透明度更好的服务老百姓。




生命有过好多梦想,最后能实现的却并不多;所以,生命里幸福的一瞬常常就会成为一生甜蜜的回忆,真心祝福我们的数据库工程师们能够收获自己的幸福,也希望各位网友各抒己见,就自己关心的话题与我们的嘉宾交流。截止9月7日,我们将选出活跃会员5名,赠送技术图书1本。


第六届中国系统架构师大会(SACC 2014)即将于9月17日-19日在北京五洲皇冠国际酒店隆重开幕。本届大会邀请到了来自百度、腾讯、阿里巴巴、京东、淘宝、天猫、网易、奇虎360、爱奇艺、美团、唯品会、滴滴等知名企业及初创企业的资深架构师与IT技术专家,共同探讨最具前瞻性的行业趋势与热点技术,分享IT架构在企业中的最佳实践。预计届时来自全国各行各业的1800名IT架构师、工程师将出席大会。大会为期3天,总共设计了两大主场、11个专场,涉及云架构实践与解析、大数据架构及应用、自动化运维、高性能高可用等精彩内容,欢迎大家踊跃报名参加http://sacc.it168.com/









认证徽章
论坛徽章:
361
生肖徽章:虎
日期:2014-09-11 11:03:11生肖徽章:兔
日期:2014-09-11 11:03:11生肖徽章:马
日期:2015-01-27 12:39:44生肖徽章:牛
日期:2015-01-27 11:12:49生肖徽章:鼠
日期:2014-09-11 11:03:11生肖徽章:猪
日期:2014-07-22 20:28:00生肖徽章:猴
日期:2014-09-11 11:03:11生肖徽章:狗
日期:2014-09-11 11:03:11生肖徽章:鸡
日期:2014-08-08 21:11:38生肖徽章:蛇
日期:2014-09-11 11:03:11
发表于 2014-8-7 16:35 | 显示全部楼层
支持        

使用道具 举报

回复
认证徽章
论坛徽章:
92
红宝石
日期:2012-01-04 17:06:48版主7段
日期:2014-05-21 02:19:522014年世界杯参赛球队: 伊朗
日期:2014-07-29 09:10:212014年世界杯参赛球队: 阿尔及利亚
日期:2014-06-21 19:45:41祖国65周年纪念徽章
日期:2014-09-26 13:08:39马上加薪
日期:2015-01-05 15:24:36暖羊羊
日期:2015-03-04 14:53:002015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-04-27 06:13:33喜羊羊
日期:2015-03-25 09:40:43
发表于 2014-8-7 17:08 | 显示全部楼层
楼主可以看到很多的社保运作的真实信息的,报料下?

使用道具 举报

回复
认证徽章
论坛徽章:
127
目光如炬
日期:2014-12-01 06:00:04火眼金睛
日期:2015-02-01 06:00:04目光如炬
日期:2015-01-26 06:00:04目光如炬
日期:2015-02-16 06:00:03火眼金睛
日期:2015-03-01 06:00:03目光如炬
日期:2015-03-02 06:00:13慢羊羊
日期:2015-03-04 14:53:33目光如炬
日期:2015-07-26 22:00:00目光如炬
日期:2015-07-26 22:00:002015年新春福章
日期:2015-03-06 11:58:39
发表于 2014-8-7 17:09 | 显示全部楼层
家住海淀 发表于 2014-8-7 17:08
楼主可以看到很多的社保运作的真实信息的,报料下?

这个得问问嘉宾哈!

使用道具 举报

回复
认证徽章
论坛徽章:
3
ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00双黄蛋
日期:2013-01-15 18:40:31优秀写手
日期:2014-01-03 06:00:17
发表于 2014-8-7 17:32 | 显示全部楼层
家住海淀 发表于 2014-8-7 17:08
楼主可以看到很多的社保运作的真实信息的,报料下?

这是不能的啊,会被抓进去的

使用道具 举报

回复
论坛徽章:
71
2017金鸡报晓
日期:2017-01-10 15:39:05秀才
日期:2016-01-21 13:37:04秀才
日期:2016-02-18 09:19:48秀才
日期:2016-06-23 14:15:06祖母绿
日期:2015-11-20 17:10:04秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39弗兰奇
日期:2016-11-21 09:48:54祖母绿
日期:2015-12-03 16:12:22海蓝宝石
日期:2015-12-03 16:12:47
发表于 2014-8-7 17:48 | 显示全部楼层
NBA   

使用道具 举报

回复
发表于 2014-8-8 09:21 | 显示全部楼层
楼主可以看到很多的社保运作的真实信息的,报料下?

使用道具 举报

回复
认证徽章
论坛徽章:
3
ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00双黄蛋
日期:2013-01-15 18:40:31优秀写手
日期:2014-01-03 06:00:17
发表于 2014-8-8 09:26 | 显示全部楼层
菠菜基金会主席 发表于 2014-8-8 09:21
楼主可以看到很多的社保运作的真实信息的,报料下?

你想知道啥,有些不方便说,你想知道的如果方便说我会知无不言

使用道具 举报

回复
论坛徽章:
0
发表于 2014-8-8 09:30 | 显示全部楼层
哈哈 不错不错 每天有时间看看帖真的能学到很多东西

使用道具 举报

回复
论坛徽章:
4
祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-01-04 08:33:082015年新春福章
日期:2015-03-04 14:51:122015年新春福章
日期:2015-03-06 11:57:31
发表于 2014-8-8 09:59 | 显示全部楼层
同行啊。。必须顶。。敢问下嘉宾做的哪个地方的项目

使用道具 举报

回复

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

本版积分规则

SACC2017购票7.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月30日前

活动链接>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表