个人介绍
本人热爱编程,为人诚恳,办事稳重,熟悉 J2EE 编程技术,能熟练运用 spring, springmvc,springboot, springcloud, maven,mybatis、mybaitsplus 持久层框架, rabbitmq、 kafka 等消息中间件,docker 容器化部署,熟悉 kubernetis、分布式搜索 elasticSearch,前端 vue、elementUI、echarts, 另 struts,hibernate 等技术。熟练使用 eclipse/idea,svn/git 等开发工具;熟练运用 mysql、oracle 等关系型数据库,redis 内存数据库,有数据库调优经验,熟悉 jvm 并有 jvm 调优经验, 熟悉 linux 常用命令
工作经历
2017-03-30 -至今广联达科技有限公司java高级工程师
工程建设交易系统涵盖了房建市政、交通、水利、园林、绿化、军队、民航、铁路等多个行业,从项目报建、招投标过程到项目归档,为交易主体提供全业务场景、全流程、可定制的电子化交易服务,一般分为公开招标和邀请招标,公开招标又分为预审和后审。 参与项目的分析和设计,主要负责交易系统、企业库同步、及与交易系统对接的接口开发调试 1).企业库同步:交易系统用的招标人,招标代理,投标人都属于企业信息,企业信息注册在国泰企业系统里,交易使用企业信息需要从国泰企业库(mysql)同步到交易自己的企业库(oracle),首次进行一次全量同步,后续定时同步,另外提供根据名称、统一社会信用代码手工同步,根据db操作时间戳判断是否进行同步。 2).交易流程控制:交易流程包括招标代理进场登记,发布招标公告,使用编标工具制作招标文件,招标文件澄清,投标人确认投标,下载招标文件,递交保证金,使用编标工具制作投标文件并递交,然后开标,评标,候选人公示,中标通知书,最后签署商业合同,整个流程中,有严格的环节和时间控制,上个环节结束才开启下个环节,时间节点比如招标文件下载截止时间,投标文件递交截止时间等。
2015-05-05 -2016-12-29中软国际java高级工程师
用例管理工具:主要是对测试用例进行管理,查询,导入导出,导入可手动在网页添加,也可excel批量导入,导出为核心功能,按照用例的多个特性分组并排序导出,导出的文件为一个调度文件,执行用例时按照该调度文件执行。 Sql审核工具:对sql日志及os日志进行分析审核,找出sql里不合理的地方并提出改进意见,在审核过程中实时显示分析过程。 云数据库管理平台:基于云的即开即用,稳定可靠,可弹性伸缩的数据库,可通过系统在线对数据库进行便捷管理,主要功能有主备组网,数据迁移,扩展性能,备份恢复,性能调优,适合互联网网站,企业应用系统等,总体上简化了运行流程,减少了数据库的日常运维工作。 参与了系统API的开发,高可用及其python脚本编写
2012-05-15 -2015-04-20文思海辉java工程师
本系统为永隆银行个人网银系统,采用IBM多渠道银行电子商务解决方案BTT(Banking Transformation Tookit)框架,它是一个面向对象和分布式的应用框架,Host大型机处理核心的业务逻辑,前端(front-end)通过MQ与主机进行通信,系统主要功能包括:Deposits,Wealth, AccountManagement, Bill Payment, Credit card,Forex,Corporate Service, MPF, IPO等。 项目经验与心得: 1)用户进行一项business transaction,发送给Web Server以后,Web Server将该请求转发给Application Server,Channel Driver收到请求后,通过Session Management组件检查session是否过期 2)Channel Driver将收到的请求转给Request Handler处理,Typed Data进行Field Validation,Request Handler将该请求交给Presentation Flow Process
2011-10-08 -2012-05-04北京英泰慧雪科技有限公司java工程师
积分系统做为客户关系管理(CRM)的重要组成部分已经越来越成为目前市场竞争中不可或缺的营销管理手段,电信通过本系统的建设来实施积分回馈,维系客户忠诚度。 项目经验与心得: 1).与多个系统交互,采用不同的方式,与数据仓库、计费使用中间表交互,与10000号客服使用tcp/ip,与统一客户资料,积分商城通过webservice交互。 2).数据访问可以分为两个层次:积分管理系统自身访问积分数据,其他系统访问积分数据。对于积分管理系统自身的数据访问,根据系统的技术架构,数据访问都要通过数据访问层进行,不允许业务逻辑层直接访问数据库。对于其他系统访问积分数据,根据企业IT的整体架构,积分数据库的访问都需要通过积分管理系统,不允许其他系统直接访问积分管理数据库。 3).系统安全:系统内安全管理包括用户、角色、权限的管理; 系统间安全保证方式主要是在系统间服务调用时进行认证,具体流程为:服务调用发起方,传送的信息包括认证信息和业务信息;服务调用接受方,接受信息后首先进行认证,确认为合法调用后再进行业务处理。服务调用时进行认证,会导致一定的效率下降。所以在实现时可配置是否需要此认证
2011-03-10 -2011-09-23北京英泰慧雪科技有限公司java工程师
本系统为中旅集团旗下连锁酒店的预订系统,主要包括主预订系统和各个酒店的子网站及预订。 项目经验和心得: 1).系统通过webservice与CRS(中央预订系统)交互,CRS由集团成员共用的预订网路,它使酒店集团利用中央资料库管理旗下酒店的房源、房价、促销等信息,这样就使得网站的预订信息能够及时准确,并使成员酒店能在全球范围实现即时预订。 2).在预订的时候每次处理查询的结果比较复杂,因为当每次查询时查的是一个或多个酒店所有的房型,返回的房价有各种不同的价格,有的是网络价,有的是会员价,还有各个活动价,要根据各自的标识以及是否是会员登录的情况里判别,然后返回。 \r\n 3).系统再windows环境下开发,在linux服务器上部署,由于环境的不同导致会员登录出现问题,经过反复查找,原来在对会员密码加密的时候加密方法会产生换行符,而两种环境的换行符是不同的。
2009-08-05 -2011-02-21湖北科达公司java工程师
本系统是一个基于互联网的高效协同的工作平台和管理系统。它可把日常管理中的业务、事件等信息在单位、部门、组群、个人之间进行及时高效、有序可控、全程共享的沟通和处理。包含文档系统/人事系统//考勤系统/公告系统/组织机构管理/审批流转管理/会议管理等模块。 项目经验与心得: 1).对于事务的管理,使用过滤器加 ThreadLocal 实现,因为Session可以通过JbpmContext.getSession()获得,所以只需管理 JbpmContext即可,过滤器拦截*.do的请求。一个请求(线程)使用同一个JbpmContext 如果请求中没有使用JbpmContext或Session,就不要创建JbpmContext。在过滤器中关闭JbpmContext时,也要调用 ThreadLocal.remove(),因为Web容器有线程池,就是两次请求有可能是使用的同一个线程。 2).一个应用中,没有线程安全问题时,可以使用一个Service实例。(多个线程同时操作(至少一个修改)同一个资源时,会有线程安全问题),另外使用工厂模式来解决对实现类依赖的问题。
教育经历
2005-09-01 - 2009-06-30湖北工业大学计算机科学与技术本科
技能
项目描述: 酒店预定系统:为中旅集团旗下连锁酒店的预订系统,主要包括主预订系统和各个酒店的子网站及预订; 陕西电信积分管理系统:积分系统做为客户关系管理(CRM)的重要组成部分已经越来越成为目前市场竞争中不可或缺的营销管理手段,电信通过本系统的建设来实施积分回馈,维系客户忠诚度。 项目环境:Java:基础语言 Spring:基础框架 Struts:web层框架 Hibernate:持久层框架 JavaScript:前端控制 项目职责: 酒店预定系统: 参与系统需求分析和开发、测试,系统通过webservice与CRS(中央预订系统)交互,CRS由集团成员共用的预订网路,它使酒店集团利用中央资料库管理旗下酒店的房源、房价、促销等信息,这样就使得网站的预订信息能够及时准确,并使成员酒店能在全球范围实现即时预订; 在预订的时候每次处理查询的结果比较复杂,因为当每次查询时查的是一个或多个酒店所有的房型,返回的房价有各种不同的价格,有的是网络价,有的是会员价,还有各个活动价,要根据各自的标识以及是否是会员登录的情况里判别,然后返回; 系统在windows环境下开发,在linux服务器上部署,由于环境的不同导致会员登录出现问题,经过反复查找,原来在对会员密码加密的时候加密方法会产生换行符,而两种环境的换行符是不同的。
项目描述: 本系统为永隆银行个人网银系统,采用IBM多渠道银行电子商务解决方案BTT(Banking Transformation Tookit)框架,它是一个面向对象和分布式的应用框架,Host大型机处理核心的业务逻辑,前端(front-end)通过MQ与主机进行通信,系统主要功能包括:Deposits,Wealth, AccountManagement, Bill Payment, Credit card,Forex,Corporate Service, MPF, IPO等 项目环境: Java:基础语言 IBM HTTP Server+Branch Transformation Tookit+MQ+IBM Comm Server(开发工具) Eclipse+Websphere(软件环境), 项目职责: 参与系统模块的开发与调试, 用户进行一项business transaction,发送给Web Server以后,Web Server将该请求转发给Application Server,Channel Driver收到请求后,通过Session Management组件检查session是否过期; Channel Driver将收到的请求转给Request Handler处理,Typed Data进行Field Validation,Request Handler将该请求交给Presentation Flow Processor去执行presentation处理,然后调用Business Logic Flow Processor执行业务逻辑; MQ Host Communication Service执行host transaction,Eletornic Journal Service记录(logging)交易详细内容,Data Base Service 执行数据库操作,Application Data Service访问不同的Application数据,当Business Flow Processor到达final状态时,将其返回给Presentation Flow Processor,接着返回给Request Handler来处理最终返回给前端的逻辑
工程建设交易系统涵盖了房建市政、交通、水利、园林、绿化、军队、民航、铁路等多个行业,从项目报建、招投标过程到项目归档,为交易主体提供全业务场景、全流程、可定制的电子化交易服务,一般分为公开招标和邀请招标,公开招标又分为预审和后审。 参与项目的分析和设计,主要负责交易系统、企业库同步、及与交易系统对接的接口开发调试 1).企业库同步:交易系统用的招标人,招标代理,投标人都属于企业信息,企业信息注册在国泰企业系统里,交易使用企业信息需要从国泰企业库(mysql)同步到交易自己的企业库(oracle),首次进行一次全量同步,后续定时同步,另外提供根据名称、统一社会信用代码手工同步,根据db操作时间戳判断是否进行同步。 2).交易流程控制:交易流程包括招标代理进场登记,发布招标公告,使用编标工具制作招标文件,招标文件澄清,投标人确认投标,下载招标文件,递交保证金,使用编标工具制作投标文件并递交,然后开标,评标,候选人公示,中标通知书,最后签署商业合同,整个流程中,有严格的环节和时间控制,上个环节结束才开启下个环节,时间节点比如招标文件下载截止时间,投标文件递交截止时间等。其中发布招标公告,候选人公式等要在门户上公布公示,在门户上公示的信息有的需要进入交易系统查看,这中间需要用到单点登录,使用了jwt的token,每次跨系统验证token是否有效 3).接口对接: 与场地对接,在发布公告前,需要预约好开标处场地,确认投标文件递交截止时间; 与编标工具对接,项目进场后,需要使用编标工具制作招标文件; 与保证金对接,进场登记完成后推送项目信息到保证金系统,在保证金系统与银行对接,并进行保证金管理,包括何时退未入选后选人,何时退候选人; 与专家对接,发布公告后推送项目信息到专家系统,在专家系统抽取符合条件的专家返回给交易系统; 与开评标对接,开标前推送项目,招标代理,投标人,专家等信息到开评标系统进行开标,评标,开评标完成后返回中标候选人给交易系统进行后续流程; 另外还有与CA登录、签章, 电子保函,见证系统等系统的接口对接 4).系统架构更换 由osgi整体替换为spring来搭建系统架构,系统性能得到了提升 引入了rabbitMQ对部分数据推送及时性不是很高的请求使用消息进行处理,比如项目登记完成推送项目信息到保证金,发布公告推送信息到专家这些; 使用gateway对高峰流量期进行限流; 事务处理使用了zookeeper的分布式锁。