This commit is contained in:
coco
2026-07-03 16:05:30 +08:00
commit df489d5640
1101 changed files with 779140 additions and 0 deletions
@@ -0,0 +1,177 @@
# 版本历史
<cite>
**本文档引用的文件**
- [version_info.txt](file://version_info.txt)
- [DB/数据库字段修改记录.txt](file://DB/数据库字段修改记录.txt)
- [Install/Geomative Studio/version_info.txt](file://Install/Geomative Studio/version_info.txt)
- [Install/Geomative Studio/database_modify.xml](file://Install/Geomative Studio/database_modify.xml)
- [Install/geomativestudio.nsi](file://Install/geomativestudio.nsi)
- [config.ini](file://config.ini)
- [README-2021.txt](file://README-2021.txt)
- [LOG/upg_geo_filetrans_log.txt](file://LOG/upg_geo_filetrans_log.txt)
</cite>
## 目录
1. [版本概览](#版本概览)
2. [版本演进历史](#版本演进历史)
3. [版本号命名规则与发布周期](#版本号命名规则与发布周期)
4. [数据库模式演变](#数据库模式演变)
5. [向后兼容性与升级路径](#向后兼容性与升级路径)
6. [功能演进与技术变更](#功能演进与技术变更)
## 版本概览
Geomative Studio 是一款用于地质勘探数据处理与分析的软件系统。根据项目文件分析,当前最新版本为 **2.4.1**,该版本信息在 `version_info.txt` 文件中明确标识。项目自早期版本持续演进,经历了多个重要功能迭代与数据库结构变更,支持从 GD-10 到 GD-20 等多种硬件设备。
项目开发始于 T31 版本,并计划从 T34 版本开始发布新系列。开发环境采用 Visual Studio 2015,以兼顾新功能与旧电脑的兼容性。
**Section sources**
- [version_info.txt](file://version_info.txt)
- [README-2021.txt](file://README-2021.txt)
## 版本演进历史
根据 `DB/数据库字段修改记录.txt``database_modify.xml` 等文件,Geomative Studio 的版本历史可追溯至 2015 年。以下是按时间顺序整理的主要版本变更记录:
### 2015 年
- **2015年6月2日**
-`td2dcon``td3dcon``td1dcon` 表中增加 `bUse` 字段,用于标记记录的有效性。
- **2015年6月12日**
-`Td` 表中增加 `rect`(矩形大小)和 `rect_loc`(矩形位置)字段。
-`Td` 表中的 `Espace``Edistance` 字段从数字类型改为文本类型。
-`SCON` 表中添加 `Rect``RectLoc``PoleDistance``PoleStep` 字段。
- 删除原有的 `X0``Y0``X1``Y1` 字段。
### 2016 年
- **2016年12月2日**
-`ac``acds``td_spc_attr` 表中新增 10 个时窗信息。
-`cm` 表中加入发射频率 9 (0.03125Hz)。
### 2017 年
- **2017年9月12日**
-`project``tz` 表中加入默认工程和默认测区。
- **2017年9月18日**
-`device` 表中增加 `GPS` 字段。
-`desetting` 表中增加 `CableType``LowPowerAlarm``AutoStack` 字段。
-`gr` 表中的 `ECODE` 字段从文本类型改为整型。
-`td` 表中增加 `SkipCable` 字段。
-`td` 表中的 `DESN` 字段从必填改为非必填。
- **2017年9月23日**
- 新增 `task_timer` 表。
- **2017年9月25日**
-`td` 表中添加 `IsAutoGenerate` 字段。
- **2017年9月26日**
-`timer_task` 表中增加 `PLCID` 字段。
- **2017年9月28日**
-`td1d``td2d``td3dcon` 表中的 `V``I``R0``SP` 字段改为非必填。
- 修改 `timer_task` 表的时间字段属性。
- **2017年10月27日**
- 设置 `TaskTimer` 日期格式。
- **2017年10月28日**
- 修改 `Medium` 表中部分装置的值。
### 2019 年
- **2019年7月4日**
-`medium` 表中新增“加强梯度装置”。
- **2019年7月14日**
-`medium` 表中新增“跨孔装置”。
- 新增 `TTaskInfoCoordinetes` 表,用于保存电极坐标信息,支持与 GD 设备的数据同步。
- **2019年12月3日**
- 新增 `TPictureInfo` 表用于存放图片信息。
- 新增 `TPictureCode` 表用于存放岩性编辑图片的二维码。
- **2019年12月11日**
- 新增 `TLoggingTaskInfo` 表用于存放新建测井任务信息。
- 新增 `TLoggingTaskContent` 表用于保存测点数据信息。
### 2021 年及以后
- **2021年11月10日**
- 项目从 T31 目录复制,后续开发从此处开始,首个发布版本为 T34。
- 开发环境确定为 Visual Studio 2015。
- **当前版本 2.4.1**
- 最新版本号在 `version_info.txt` 中定义,表明项目已进入成熟稳定阶段。
**Section sources**
- [DB/数据库字段修改记录.txt](file://DB/数据库字段修改记录.txt)
- [README-2021.txt](file://README-2021.txt)
- [version_info.txt](file://version_info.txt)
## 版本号命名规则与发布周期
Geomative Studio 采用标准的 **主版本号.次版本号.修订号**(如 2.4.1)命名规则:
- **主版本号**:重大架构变更或功能重构。
- **次版本号**:新增重要功能或模块。
- **修订号**:修复缺陷或进行小规模优化。
发布周期不固定,主要根据功能开发进度和用户反馈进行更新。从数据库变更记录的密集程度来看,2017 年是功能迭代最频繁的时期,之后趋于稳定,以维护和小功能补充为主。
此外,系统通过 `config.ini` 中的 `[ONLINE_VERSION]` 配置项(`VERID`)区分在线服务版本,当前为 V2.0,表明系统支持多版本并行服务。
**Section sources**
- [config.ini](file://config.ini)
- [Install/geomativestudio.nsi](file://Install/geomativestudio.nsi)
## 数据库模式演变
数据库模式经历了从简单到复杂、从功能单一到支持多场景的演变过程。
### 演变过程
1. **初期(2015年)**:以基础测试任务数据存储为主,结构较为简单。
2. **中期(2016-2017年)**:引入时窗、定时任务、GPS 定位等高级功能,数据模型复杂度显著提升。
3. **后期(2019年)**:支持跨孔测量、测井、图片管理等专业场景,新增多个专用数据表。
### 演变特点
- **向后兼容性**:多数变更通过新增字段或表实现,避免直接删除或重命名关键字段,确保旧数据可被新版本读取。
- **数据类型优化**:如将 `ECODE` 从文本改为整型,提升查询效率。
- **灵活性增强**:将多个字段(如 `X0/Y0/X1/Y1`)整合为 `rect``rect_loc`,提高配置灵活性。
```mermaid
erDiagram
td ||--o{ td2dcon : "包含"
td ||--o{ td3dcon : "包含"
td ||--o{ td1dcon : "包含"
device ||--o{ task_timer : "关联"
project ||--o{ tz : "包含"
medium }|--o{ TTaskInfoCoordinetes : "支持"
TLoggingTaskInfo ||--o{ TLoggingTaskContent : "包含"
```
**Diagram sources**
- [DB/数据库字段修改记录.txt](file://DB/数据库字段修改记录.txt)
## 向后兼容性与升级路径
### 向后兼容性策略
- **数据库兼容**:通过 `database_modify.xml` 文件记录数据库变更,系统启动时自动检测并执行必要的结构升级。
- **接口兼容**:代码中通过 `g_iOnLineVersion` 全局变量区分不同版本功能,避免因硬件或服务版本不同导致功能异常。
- **配置兼容**`config.ini` 文件保留旧配置项,同时支持新增配置,确保旧配置文件可被新版本加载。
### 升级路径指导
1. **备份数据**:升级前务必备份 `GeoMativeDB.accdb` 数据库文件。
2. **执行升级**:运行安装程序,系统将自动应用 `database_modify.xml` 中定义的变更。
3. **验证功能**:检查新增功能(如跨孔测量、测井支持)是否正常工作。
4. **处理兼容性问题**:若遇到功能异常,检查 `config.ini` 中的 `VERID` 设置是否与当前服务匹配。
**Section sources**
- [Install/Geomative Studio/database_modify.xml](file://Install/Geomative Studio/database_modify.xml)
- [config.ini](file://config.ini)
- [cpp/Main/Global.cpp](file://cpp/Main/Global.cpp)
## 功能演进与技术变更
### 功能演进
- **测量模式**:从基础 1D/2D/3D 测量,扩展到支持跨孔、测井等复杂场景。
- **数据管理**:从纯数值数据,扩展到支持图片、二维码、GPS 坐标等多媒体信息。
- **自动化**:引入定时任务、自动堆叠、自动生成功能,提升工作效率。
### 技术变更
- **开发环境**:从 Visual Studio 2013 升级至 2015,平衡新特性与兼容性。
- **依赖库**:使用 cURL 库(`curl.h`)进行网络通信,支持在线更新和数据同步。
- **安装技术**:使用 NSIS`geomativestudio.nsi`)制作安装包,支持驱动安装、VC++ 运行库部署等复杂操作。
系统通过持续的技术迭代,实现了从单一测量工具到综合性地质勘探平台的转变。
**Section sources**
- [README-2021.txt](file://README-2021.txt)
- [Install/geomativestudio.nsi](file://Install/geomativestudio.nsi)
- [h/curl/curl.h](file://h/curl/curl.h)