# 版本历史 **本文档引用的文件** - [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) ## 目录 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)