Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

177 lines
8.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 版本历史
<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)