East Mining Company

帮助矿业公司优化物流

East Mining Company 在露天矿场开采煤炭,这是一个复杂的过程,他们不仅需要开采煤炭,还需要对煤炭进行加工、储存,然后通过陆路或海路运输。 我们谈论的是每年数百万吨煤炭。

当然,如此大的公司会有自己的 IT 部门。 在 East Mining,他们有一支专家团队,负责网络和技术设备等内部任务,帮助业务线实现自动化,并为各项任务寻找具有合适技术能力的承包商。

所以,当他们需要一项新的道路管理服务时,他们联系了 Evrone。

问题:旧的解决方案虽然有效,但没有必要的功能

East Mining 采用露天开采方法开采煤炭。 这意味着,他们不会在地下工作,而是从地表直接向下挖掘,以发现和开采煤炭层。 因此,他们的矿场包含大量露天漏斗形矿坑,这些矿坑由一系列不断变化的道路连接起来。

各个区域的工作不间断进行,这意味着,每个路段的路线每天都会变化。 这些道路被特殊的自卸卡车使用,例如 BelAZ 卡车,它们比传统的自卸卡车更大,可以运载 3-10 倍的货物。 但是,这也意味着,它们的耗油量会高很多,因此它们的路线应当尽可能高效,没有停运期或交通堵塞。

车辆移动数据以一秒钟为间隔收集,以进行分析。 调度员利用这些数据呈现所有卡车的移动情况并查看可能出现的交通堵塞。 然后,他们可以将卡车引导到另一条路线上,或设计一条新的道路来减轻热门路线的压力。 这样可以帮助公司节省燃料和人力,显著提高吞吐量和单位时间内运输的产品总量。

East Mining 已经有一个管理路线的特殊程序,但其中并不包含他们需要的所有功能。 例如,这个程序将道路作为单个对象进行评估,而且他们需要能够将道路划分为小路段。 因此,他们找到 Evrone 团队,希望我们开发一项新的人性化服务,以最大限度地提高业务效率和价值。

解决方案:一项基于开源库的新服务

在三个月的时间里,我们为 East Mining Company 开发了一项煤矿道路呈现服务。 我们首先与客户的技术团队交谈,了解他们的需求。 他们需要保留呈现数据的能力,同时增加几项新功能,包括:

  • 地图编辑(绘制新的道路和矿场)
  • 道路和路线列表管理
  • 版本控制
  • 访问控制
  • 前端

对于地图绘制解决方案,我们找到了一个免费分发的库,它与操作员以前使用的库类似。 然后,我们添加了一个用于编辑元素的 JS 库。 现在,界面与在图形编辑器中工作时类似,它为不同类型的实体提供不同的层,并提供不同的模式来编辑道路和矿场。 机器中的数据以一系列点的形式呈现,这些点形成了特定机器的路径。 地图上可以有 10,000 个或更多这样的点。

后端

为了在界面中绘制车辆行驶的道路,后端会接收数据,处理坐标和时间,并将其以所需形式传送到前端。

我们面临的最大挑战之一是数据处理。 服务器不仅要接收遥测数据并将其发送到前端,还要验证来自前端的更改。 例如,当操作员绘制一条新道路时,后端必须将其保存为新版本的地图。 

因此,我们创建了一个 API,用于定义道路和路线地图的更改列表并执行必要的操作来更新/创建/删除。 为了检查更改,我们添加了一个规则系统,以实现实体交互。 Rest API 使用 django-rest 进行构建,此工具拥有很多开箱即用的功能,这极大地提高了开发速度,简化了维护流程。

我们使用 Swagger 来记录 API。 这是一个很好的选择,因为它在一定程度上实现了流程的自动化。 当一个端点在后端出现时,有关它的信息会立即显示在 Swagger 中。 这对与前端通信和调试来说非常方便,因为您可以在一个地方看到所有后端信息。 

DevOps

该系统最初使用 Kubernetes 和成熟的 CI/CD,因此在 MVP 阶段,我们准备了一套专注于高速部署的标准,使我们可以根据新的需求编写单独的管道。

我们决定将自己限定为对虚拟机进行简单部署,因此,向服务添加新的部分时,一切都会很快解决:测试、linter、容器部署、直接部署等。

所有代码都存储在单体仓库中。 为了加快构建速度,我们的 DevOps 工程师设置了管道,以便分别构建后端和前端。

成果和计划

现在,East Mining 拥有一项服务,可以让他们每天了解煤堆和道路的当前状态。

该应用程序从后端加载数据,然后绘制包含道路和矿场的地图。 用户可以评估当前情况,并在需要时使用编辑器进行更改,例如添加新道路或修复旧道路。

为了使数据以一致的形式存储,该服务会根据内部规则检查新对象或发生更改的对象,如果出现问题,则会显示错误。

用户可以撤消或重做最近的更改,保存新版本的地图,以及查看以前的版本。 如果新地图有任何问题,他们可以随时恢复到任何早期版本。

从管理的角度来看,我们将对应用程序不同功能的访问划分为编辑者和“只读”用户角色。 它们与地图版本控制一起,成为防止意外出错和更改的重要安全保障。

由此产生的道路被分成小路段,East Mining Company 利用这些小路段收集详细的分析数据。 该服务帮助他们对数据更改快速做出响应,并为公司节省了时间和资金。

未来,可能会在该应用程序中增加自动化功能。 例如,根据收到的数据自动绘制道路。 AI 有可能会处理这项工作,但首先,需要收集人类操作员完成的大量成功案例。

在交付项目后,East Mining 一直独立工作来扩展功能。 他们将该服务转移到自己的 OES IoT 平台,在那里,他们使用服务数据监测道路状况,为自卸卡车司机设置速度警告,优化自卸卡车平衡,以及完成其他业务任务。

Evrone 团队和我按照既定的步骤开展工作,这非常方便。 我们有一个封闭的周期,每两周会查看一次结果,并且可以进行评估。 由于我们有着类似的工作文化,工作变得很高效,我们很快就达到了预期成果,而且节省了人力。 产品以开放形式移交给我们,这样我们就可以在内部成功地自行开发
Karimov Ruslan
East Mining 产品总监
联系我们
已有项目构想?
我们一起来实现它吧
添加附件
文件必须小于 8 MB
允许的文件类型:jpg jpeg png txt rtf pdf doc docx ppt pptx
本网站受 reCAPTCHA 保护,并适用 Google 隐私政策服务条款