诞生记
本人也是一位跑步爱好者,从最初使用小米手环、然后改用华为手环,到目前使用佳明手表,几年间陆续使用了三个平台,作为一个比较珍视数据的人,深知自己的运动数据被割裂在不同平台的遗憾。
因为这三个平台的格式并不互通,无法集中在一个APP内查看自己的全部运动记录,更可惜的是市面上居然没有一款能让华为、小米运动记录转换成业内通用的fit或tcx格式的工具,本人只好耗时研究摸索数据格式之间的差异,于2023年07月24日开发完成市面上首款运动健康转换工具。
大事记
运动健康转换工具2023年07月28日问世后,陆陆续续有跑友在今日头条上得知消息,根据我的经验申请抱着试一试的态度从华为、小米导出自己都快遗忘的运动记录数据,惊喜地完成了数据转换,如愿地实现了数据的"大团圆",累计造福跑友300+,转换运动记录40W+。期间加入了打赏支持入口,极少数跑友给了打赏支持,一分也是爱,尤其感谢前期核心跑友给的改进建议和重金打赏。
工具诞生之初使用的是参加新用户优惠活动购买的性能较强的高配置华为云服务器(CPU4核 内存8G),为期三个月,已到期,续费太贵了。。。即使优惠后仍🉐3163.47元[流泪]
2023年10月22日起迁移至公司同事的腾讯云服务器(CPU2核 内存4G),这个服务器比之前的服务器性能差了不少,转换工具在工作时容易让同事的服务器宕机。
转换工具闲时基本不额外消耗什么,但是在转换过程需要进行解压缩、大量的数据读取转换和写入,这些都是消耗大量CPU算力、运行内存进行频繁的文件IO操作,尤其是不少高产的跑友,几千条数据很正常的,很容易造成服务器繁忙甚至崩溃。
部分跑友未按照流程操作,甚至直接上传有密码或目录结果不正确的压缩包数据导致程序无法正常工作,导致服务器转换成功率低下,影响其它跑友正常使用。
在各种优化后仍无明显效果,服务器频繁因数据转换运算引起宕机设置影响到的生活和工作后,为了继续保留跑友们转换数据的途径,本人只好于2023年11月20日起改变转换工具的开放策略了——先付费后转换。
2024年5月17日完成对转换工具进行功能拆分,将耗费算力的核心转换功能独立出来,改造后使其可通过github actions触发转换,服务器上仅保留辅助功能(如转换结果查看、转换记录查询等),大大减少服务器压力。
2024年6月21日转换工具不再局限于根据官网导出数据来进行转换,因为部分官网给的数据太少,无法满足跑友的需求,借鉴开源项目(https://github.com/yihong0618/running_page,感谢大神)实现通过模拟登录来获取更多的数据,目前已经支持通过模拟登录导出Keep、咕咚、悦跑圈运动记录轨迹、心率等更多细节数据。
2024年7月22日转换工具不再使用类华为运动健康的每公里分段数据结构来存储转换过程中间文件的分段信息,而是设计通用易读取的分段信息数据结构,方便后续扩展,比如卡路里等信息,生成tcx、fit、gpx文件时直接从中间文件读取该信息并完成分段处理。 支持范围
- 华为
- 小米系(程序自行提取)
- keep(程序补齐最后不足1公里的分段数据)
- 咕咚(程序补齐最后不足1公里的分段数据)
- 悦跑圈(程序补齐最后不足1公里的分段数据)
- tcx
- fit
- gpx
2024年9月3日转换工具推出“试用模式”,支持免费试用转换功能,跑友可以先试用一下转换效果再决定是否付费转换。同时引入“fit码”概率,为后续扩展做准备。