个人介绍
本人长期在linux平台进行c++相关的开发工作,主要服务于存储行业,拥有六年的存储开发经验,其中三年是传统的NAS存储,主要包含有备份、恢复、容灾等功能。三年的分布式存储开发,基于开源软件ceph,进行调优和ceph的rgw模块(对象存储模块)新功能的增加。擅长socket服务器的开发。同时也有php插件开发,nginx插件开发等额外的技能。
参与过ceph社区的开发工作。
性格温厚,和同事关系相处融洽,易于沟通
工作经历
2017-08-31 -至今紫光西数高级后端工程师
内容:1、分布式存储开发 ceph后端的存储层目前支持两种类型的存储设备,一种是filestore,对接文件系统(例如xfs,ext3,ext4)。另一种是bluestore,对接块设备。两种存储方式都是基于磁盘。 然而随着公有云的发展,云存储变的越来越受欢迎(例如华为的obs系统,aws和阿里云),但是云存储提供的是s3协议,无法直接对接ceph。 因此我们基于ceph提供的objectstore接口,新开发了一套s3store用于对接公有云,它可以把公有云的bucket当作磁盘的来使用。同时由于ceph本身提供了cephfs、rbd、rgw等对外接口,使得它充当了一个从文件、块、对象等接口对接到公有云的转换接头的功能。 2、新功能定制化开发 1)ceph 对象网关,worm功能开发,配合rgw本身支持的lifecycle功能使用,用于满足对象合规性要求,可用于金融保险等领域 2)租户配额开发,ceph本身只支持bucket配额和用户配额,新增租户配额来提供更好的容量和对象数量的分配方式 3)rbd的qos功能开发,通过漏桶原理,限制单位时间内对象的大小和数目,来达到均衡rbd流量的
2016-03-01 -2017-08-31南京群顶科技ceph开发
内容:1、维护该公司原有的分布式文件系统,定制化部分功能。包括如下工作: 1)定制化客户端的qos,来均衡客户端的流量,阻止客户端的饿死现象 2)license开发,主要采用了加密狗的接口,将其绑定到分布式系统的管理节点。实现了容量控制、使用时间控制、安装部署的节点数限制。 3)跟进社区 将社区修复的patch及时合入到现有代码 以公司名义向社区提交patch,提升公司在社区的知名度 ceph社区12.1.0版本贡献度排名第58 4)客户端bug的解决 例如:tgtd服务的bug的修复。用于提供更稳定的块设备挂载。
2014-03-01 -2016-03-01南京壹进制信息技术股份有限公司后端开发工程师
内容:内容一、 开发一套支持linux socket高并发,支持备份、恢复、加密、压缩的存储服务管理系统,并提供虚拟文件系统来实现nas,用于对接习惯使用传统存储的用户。 该系统整体架构采用了传统的三层架构。高并发的实现使用了boost的asio模块。元数据的控制则采用的是mongoDB。 主要的功能点: 1、将控制中心的存储以虚拟文件系统的方式映射到客户端,其中linux客户端采用的是fuse接口。 2、服务端可使用DAS、NAS等多种方式扩展存储容量。来实现线性扩容的效果。 内容二 实现一套服务器的dashboard,用于实施监控服务器的状态。 采用了agent+web的方式。agent端安装在每台提供存储服务的控制中心上。实时采集环境信息(cpu、内存、网络、磁盘使用量)。已json的形式发送给web
2012-11-01 -2014-03-01南京厚建软件有限责任公司c++开发工程师
内容:1、公司yum源的设计搭建 采用的是shell+python的脚本搭建。使用python的主要目的是实现一个simple http服务器,用于外部访问repo。而shell则实现了yum的源的官方推荐的搭建方式。 yum源中rpm包的来源: 1)公司使用的centos 6版本的iso中自带的rpm包 2)公司各个部门的程序打成的rpm包 2 socket服务器的开发。 由于公司的使用场景并发量不高,采用的是select模型。用于支持转码服务器的数据的上次下载功能。 3、php插件的开发 由于公司的业务压力来源于web平台。所以对php代码的执行有一定的要求。使用c语言实现php的插件,可以将原来的执行效率提高90倍。 开发的php插件包括: 1)sqlite数据库的部分操作的封装 2)压缩解压zip包的封装 4、原有的转码系统的维护和优化 包括如下功能点: 1)跨平台能力 优化部分c++代码,使用boost库替代 2)优化代码、减少潜在的bug
教育经历
2009-09-12 - 2013-06-13南京人口管理干部学院计算机科学与技术本科
顺利毕业 参与了运动模糊图像处理的研究项目,论文地址:http://www.doc88.com/p-*56.html