配置文件的更新, 是cs架构程序经常需要完成的一项功能.
以下是我自己想出并采用了的一套通过较小的网络传输更新所有文件的方法.
假设配置文件是 json 格式的.
如果有 a.js, b.js, c.js 三配置文件, 则按照以下格式生成一个 meta.js 文件:
{
"all":["a.js", "b.js", "c.js"],
"a.js":"md5 of a.js",
"b.js":"md5 of b.js",
"c.js":"md5 of c.js"
}
在 client 向 server 发送心跳时, 里面带有 meta.js 文件的md5值.
server 比较 client 发过来的 md5, 并向 client 返回相应结果.
若不匹配, client 则更新 meta.js, 然后再根据 meta.js 更新相应的配置文件.
基于安全方面的考虑, client 在配置文件有变动时, 应该重新生成meta.js文件.