TopoMine:二万行代码计划

2021年7月31日 // 数字矿山 编程 TopoMine Rust

我在 2021 年申请的自然科学基金面上项目题目是“通用的煤矿数字化模型表示法和数据交换格式研究”,其主要研究内容是围绕我自己正在构建的一个井工煤矿数字化模型表示法和数据交换格式标准开展技术研究和编程开发,我把该标准称为 TopoMine。以下是 TopoMine 的简介:

TopoMine 的全称为拓扑化煤矿模型和数据交换格式(Topological Coal Mine Model and Data Exchange Format),它是一项正在草拟的应用于数字化矿山系统的标准。该标准规定了如何用 JSON 文本描述井工煤矿的地质、巷道、人员、设施、设备以及各类生产系统的位置、形状、尺寸、拓扑和其他属性,用于井工煤矿数字化系统的建模、系统间数据的交换。

我原来已初步撰写了该标准文档,以及一个长长的介绍此标准的网页形式的演示文稿,并将他们公开放在互联网上,希望以此增加基金申请的砝码。无奈主要因为以往的积累有限,我最终还是失败了。这样一来,我又很不厚道地把原来公开发布的东西又撤回了——这条路走不通,我需要寻找其他的商业化机会。

虽然如此,我还是坚信 TopoMine 具有很大的应用价值——它甚至有望成为许多数字化矿山系统的核心模型,并较大程度上消除各种系统的数据孤岛现象。

既然已经选定了这个方向,那最好还是坚持下去,而不必管暂时的外部环境。因此,我决定自己逐渐编程实现 TopoMine,甚至进一步构建一个我心目中理想的数字化矿山系统。由于考虑到将来使用 WebAssembly 技术将部分矿图渲染和模型计算工作前移到浏览器端,以提高用户体验,因此决定使用 Rust 编程语言实现 TopoMine 的核心,该语言十分高效,且对 WebAssembly 技术提供了良好的支持。而至于服务器端的开发,则将主要使用 Go 语言,该语言更适合网络编程。

这是一个大工程,尤其是我还必须在找不到合作伙伴的情况下,利用业余时间完成这些工作。所以我现在必须坚定决心、排除困难、以极大的耐力将开发工作推进下去。这里就先给自己定一个小目标:到 2022 年 7 月底,围绕 TopoMine 撰写二万行代码。虽然代码量并不代表一切,不过它还是能用于衡量工作量的。预计一旦有这二万行代码,TopoMine 的核心将会初步成形了。为完成这些任务,我首先要告诫自己,不能再这样浮躁地、浑浑噩噩地过下去了,今后的工作更应该专心致志、脚踏实地。