ID:22022
李秀荣 c/c++开发工程师 12年经验
2024-07-13
个人介绍:1. 练掌握C/C++语言; 2. 熟悉python语言; 2. 熟练掌握MYSQL、ORACLE数据库的开发和运用。 3. 熟悉kafka,redis,nats。rocketMQ等中间件的使用,具有两年半的分布式系统开发经验 4. 熟练掌握 Linux和Windows下的程序设计、开发以及shell脚本的开发; 5. 熟练掌握多进程多线程开发、Socket网络编程、TCP/UDP网络协议的使用; 5. 熟悉JStorm分布式系统框架,熟悉MFC、QT框架的开发
项目经验:1.项目名称:广东电信新一代ocs计费系统的信控模块开发 负责信控模块的开发,在该模块中 ,进程主要的功能是用来消费上游各个模块生产的kafka消息,并根据消息类型执行相应的信控操作,如:给用户复机、停机、断网等。在消费kafka消息时主要运用多进程多线程来及时处理,期间还用redis来存储用户当前的信控标志信息以便达到信控排重的目的。 项目上线后,因账务分地市部署,导致ORACLE的连接数很高,ORACLE的性能严重下降,最终导致信控进程连接不上数据库,从而无法给用户复机。后来优化账务模块、信控模块的查询语句,同时将信控和账务对表的异步操作改为同步操作,尽量减少连接数据库的时间,同时编写存储过程来监控数据库的连接数以及连接数的活跃状况,当连接数过大时,告警出来人工处理,以便进程僵死而无人知道。 2.项目名称: 安徽电信信控接口改造 独自一人负责该功能的需求分析、功能设计与开发工作,该模块主要的功能是从rocketMQ中读取消息,然后将消息解析入库后,写稽核文件,同时将消息发送给下游处理程序处理。 该模块采取多线程多进程的模式设计,一个进程中分为三种线程:消费线程、功能处理线程和异常处理线程。消费线程读取MQ的消息后取模分发给对应的功能处理线程的消息队列处理。处理线程从消息队列中读取消息,解析后将消息写入数据库后写集合文件和写信控MQ。异常处理线程扫描工作目录,将异常文件的消息读取后分发到消息队列中。 该模块主要的难点是:处理的效率要求很高,要求一个进程一个小时至少要处理1500w条消息,因为写数据库和写MQ优化极限后,一个进程一个小时最多只能处理1000万条消息,后将上游消息topic分开,且程序多进程部署的时候进行对应的消息过滤。 3.项目名称:广东电信新一代ocs计费系统的离线计费开发 主要负责该离线计费系统的:离线话单文件格式化、话单属性规整、话单批价等模块的开发。这些模块相互独立,模块间通过kakfa中间件来传递消息,这些模块中,离线话单文件格式话采用的是单进程单线程来处理;话单属性规整、话单批价模块采用多进程来消费和生成kafka消息,多线程的机制来处理消息类型。 在该项目中,遇到的最大的问题就是:当新一代ocs计费系统放通离线时,在高峰期间,全省几千万的消息过来时,因主机磁盘为RAID6级别,读写的性能非常低,导致kafka性能严重降低,最终导致整个系统崩溃。后经过对磁盘做RAID0+1后,读写性能增加,该问题得到解决。 4. 项目名称:安徽电信5G计费系统代理模块开发 主要负责代理模块json格式消息的解析,信息增强两个功能大开发。将接口程序发过来的json消息按照内部5G协议转成内部程序用的消息格式,然后根据消息中的某些信息,增强出用户相关的信息,比如用户地理位置、使用量、授权量等信息,方便下游计费系统处理
技      能: C++  
¥1500 / 8小时
立即预约
立即预约
意见反馈