- Centos 7.x linux环境
- MySQL 5.7
- gcc、g++
- 字符集utf-8
- Oracle 11GR2
tree /projetc
.
|-- idc # 数据中心项目的源代码目录 用于生成测试数据
|-- idc1 # 个人学习数据中心的目录
| |-- bin
| |-- c
| |-- ini
| |-- sql
| `-- test
|
|-- pthread # 线程的源代码目录
|-- pthread1 # 个人学习线程的代码目录
|
|-- public # 项目框架目录
|
|-- README.md
|
|-- test
|
|-- tools # 项目通用程序的源代码目录
`-- tools1 # 个人编写的项目通用代码目录
|-- bin
|-- c
`-- ini
本人学习的代码存放在pthread1, idc1, tools1中。所有代码都可以使用makefile轻松编译测试。
- public:存放框架
- pthread1:演示线程使用 makefile
- idc1:生成数据 makefile
- start.sh 启动脚本
- killall.sh 删除服务脚本
- crtsurfdata5.cpp 用于生成全国气象站点观察的分钟数据
- obtcodetodb.cpp 本程序用于把全国站点参数数据保存到数据库T_ZHOBTCODE表中
- obtmindtodb.cpp 本程序用于把全国站点分钟观测数据入库到T_ZHOBTMIND表中,支持xml和csv两种文件格式
- tools1:工具程序 makefile
- checproc.cpp 守护进程
- deletefiles.cpp 用于删除历史的数据文件或日志文件
- gzipfiles.cpp 用于压缩历史的数据文件或日志文件
- procctl.cpp 服务程序的调度程序,周期性启动服务程序或shell脚本
- ftp模块
- ftpgetfiles.cpp 调用ftp获取服务器文件
- ftpputfiles.cpp ftp上传文件
- ftp客户端基于github上 https://github.com/codebrainz/ftplib
- tcp模块
- tcpputfiles.cpp 采用tcp协议,实现文件上传的客户端
- tcpgetfiles.cpp 采用tcp协议,实现文件下载的客户端
- fileserver.cpp 文件传输的服务
- 采用异步通信机制
- 解决粘包和分包,采用自定义报文格式,用整形变量存放报文长度。
- mysql模块
- diminingmysql.cpp 本程序是数据中心的公共功能模块,用于从mysql数据库源表抽取数据,生成xml文件
- xmltodb.cpp 本程序是数据中心的公共功能模块,用于把xml文件入库到MySQL的表中
- migratetable.cpp 本程序是数据中心的公共功能模块,用于迁移表中的数据
- deletetable.cpp 本程序是数据中心的公共功能模块,用于定时清理表中的数据
- syncupdate.cpp 本程序是数据中心的公共功能模块,采用刷新的方法同步MySQL数据库之间的表
- syncincrement.cpp 本程序是数据中心的公共功能模块,采用增量的方法同步MySQL数据库之间的表
- syncincrementex.cpp 本程序是数据中心的公共功能模块,采用增量的方法同步MySQL数据库之间的表
- 本程序不使用Federated引擎
- oracle模块
- dminingoracle.cpp 本程序是数据中心的公共功能模块,用于从Oracle数据库源表抽取数据,生成xml文件
- xmltodb_oracle.cpp 本程序是数据中心的公共功能模块,用于把xml文件入库到Oracle的表中
- migratetable_oracle.cpp 本程序是数据中心的公共功能模块,用于迁移表中的数据
- deletetable_oracle.cpp 本程序是数据中心的公共功能模块,用于定时清理表中的数据
- syncupdate_oracle.cpp 本程序是数据中心的公共功能模块,采用刷新的方法同步Oracle数据库之间的表
- syncincrement_oracle.cpp 本程序是数据中心的公共功能模块,采用增量的方法同步Oracle数据库之间的表
- syncincrementex_oracle.cpp 本程序是数据中心的公共功能模块,采用增量的方法同步Oracle数据库之间的表。
- 注意,本程序不使用dblink。
- 数据服务总线
- webserver.cpp 此程序是数据服务总线的服务端程序
- 实践了线程池和数据库连接池
- webserver.cpp 此程序是数据服务总线的服务端程序
- 代理模块
- inetd.cpp 网络代理服务程序
- 正向代理
- rinetd.cpp 网络代理服务程序-外网端
- 反向代理外网端
- rinetdin.cpp 网络代理服务程序-内网端
- 反向代理内网端
- inetd.cpp 网络代理服务程序
学习进度
2023-3-28 5.03 35% 88小时56分钟
2023-3-30 5.10 39% 93小时46分钟
2023-4-03 5.15 42% 106小时22分钟
2023-4-09 4.15 43% 122小时12分钟
2023-4-15 6.07 47% 140小时51分钟
2023-4-21 7.04 49% 144小时42分钟
2023-5-10 9-6 61% 171小时45分钟
2023-5-22 11-10 70% 195小时49分钟
2023-5-29 13-2 81% 212小时30分钟