客户端软件的自动更新并不是一个很难做的功能,365kit的客户端就可以自动更新。前些日子我还帮一个朋友做过他的软件里面的自动更新功能。写成了一个可执行文件,因为我发现自动更新功能其实和软件本身的逻辑关系往往不紧密,所以可以把自动更新抽出来,单独做成一个软件。这个可执行文件我打算过段时间好好做做,作为免费软件公布,这是题外话。
自动更新的原理一般都是在软件启动后,从服务器下载一个版本描述文件,然后跟本地版本进行比较决定是否升级。这样在软件有大量用户的情况下,版本描述文件一定会成为流量热点,不停地被访问,占用大量带宽和流量。我的那个朋友的服务器在国外,国外的托管和虚拟主机都是有流量限制的,所以流量问题更是不能忽视。
怎么才能降低这个流量呢?
我想可行的方法很多,比如压缩版本描述文件,比如增加检查版本描述文件的时间间隔等等。但是似乎都只是治标的方法,很难治本。
今天我突然想到一个主意,我们可以把版本描述文件做成Rss格式,然后找一家Rss烧制公司,把这个Rss烧制一下,然后在自动更新的程序里面设定检查烧制后的地址。这样带宽和流量问题就被转嫁出去了。
这样做唯一的问题可能是当Rss烧制公司的主机出问题的时候,我们的自动更新功能会受到影响,这里我想可以采用的解决方案是设定程序先抓取Rss烧制后地址,然后抓取我们真实服务器的地址,这样可靠性和流量问题都得到了解决。
附:
国内的Rss烧制公司目前只有 Feedsky.com 一家,国外的有 feedburner.com 和 rsscache.com 。
Technorati Tags: rss, feedsky, feedburner, rsscache, auotupdate, 自动更新


请不要吝惜您的评论,每一条评论,都是我在漫漫长夜前行的力量
7 条评论:
好玩,我喜欢rss烧制
3:22 下午
另外用烧制后的Rss还有一个好处就是,服务器上面的版本描述文件地址更换的话,可以通过修改Rss烧制的设定来解决,不需要软件客户端做任何的修改
3:26 下午
方法很好啊,只是什么是RSS烧制呀?不懂啊
3:47 下午
简单的说,就是说把你的Rss放在某个Rss烧制公司的服务器上面,呵呵。
3:50 下午
这样是不是有点不厚道?
9:37 上午
似乎是有点不够厚道,呵呵
12:19 下午
用P2P也不错.
12:55 下午
发表评论
<< 主页