177 lines
8.6 KiB
Markdown
177 lines
8.6 KiB
Markdown
# 版本历史
|
||
|
||
<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) |