- 积分
- 10971
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 你有种再说一遍 于 2024-7-5 21:41 编辑
发现源泉配置真的挺麻烦的,每次更新需要用户去对比文件来修改.那么有什么好方法可以改变这个现象呢?
配置其实就是一个kv数据库.
成为首选的是:txt,ini,xml,json,bson,yaml,toml....因为它们能让用户通过文本编辑器修改,存在的问题是保存编码方式不固定.
采取数据库的话,没有编码问题.通常是软件内写界面去修改,用户对比数据库差异就困难了,所以软件也要写导入导出功能.
注册表本身也是一个kv数据库,微软提供了一个exe给你展示.用来做配置也可以...只是污染了注册表...注册表诞生是因为当时磁盘存在对齐问题,所以微软才制作了它.不过我不推荐大家采用注册表,只是和系统交互才用.
回到问题核心,如何更新配置版本.
方案一
每个配置文件上面写一个版本号,更新的时候对比版本,版本之间写好映射关系.
0x01 映射关系是当前版本和前一个版本比较,形成一条更新链,会比较慢,不过代码比较少.(这就是为什么新cad保存旧dwg格式慢的原因)
兼容,例如存在"有-无-有"这样版本条目误删操作,然后又为了文件整洁,不得不移除.
所以尽量采取增量更新,只做废弃标记.这样一来可以高配置拷贝到低版本去使用.
即使十年时间去大改一次,也不成什么问题.
(cad的低向高兼容图元,采取能读不能改的方式,毕竟缺少驱动嘛)
0x02 新版本映射全部旧版本,会比较快,次方数增长?应该没人做这个事情,放弃.
方案二
弄一台服务器,让用户登陆,配置文件储存在服务器,每次想要修改配置时,将旧表克隆到新表,然后在新表调整结构,客户端调试新表,并且随着新客户端重新请求到新表.
相当于你修改了全部人的配置,好处就是你不再需要保留映射的代码.
甚至工具箱本地缓存和数据库来一个异步通讯,剩下的交给你们了.
|
|