所属公司:
21cn世纪龙信息网络有限责任公司
项目描述:
电信旗下子公司21cn世纪龙信息网络有限责任公司旗下产品,应用界面主要由electron编写,具体云盘功能由c++侧编写,实现界面和逻辑分离,安装程序及界面主要由qt quick编写,由NSIS工具打包,主要实现的功能有上传文件和文件夹,下载文件和文件夹,自动备份文件夹,在线编辑文档和表格,云会议功能,同屏会议功能,文件共享功能等,本项目由前端负责用electron做界面,c++侧写复杂的下载,上传和自动备份等功能逻辑并封装成sdk,以dll的形式提供给前端,前端调用dll的函数来实现不同的功能,
主要使用响应式编程框架rxcpp进行开发,每一个步骤执行完毕发射数据源给下载总控或者自动备份总控,再由总控决定下一个步骤
主要使用到的技术和第三方库: qt quick electron 文件分片下载 libuv libcurl sqlite openssl jsoncpp c++11 c++14 多线程 异步回调 rxcpp 动态库dll
责任描述:
1.本人主要负责下载和自动备份的代码实现,下载时通过网络库curl请求平台返回实际下载地址,再通过实际下载地址请求资源池,最后通过文件大小判断是否要分片下载或者直接下载
自动备份通过libuv监控本地文件操作事件,实现一个状态机,当监控到文件操作(增加,删除,修改等),触发自动备份机制发起上传流程,通过本地数据库sqlite记录已备份文件,避免重复上传
2.负责部分通用模块开发工作,网络通讯模块,日志模块,api接口模块,文件操作模块等
3.负责升级http2传输,文件分片下载等技术难度攻关
4.使用qt quick开发安装程序界面和使用NSIS工具打包
5.把分片下载,文件自动备份等功能封装成sdk,提供dll给前端调用