服务器:有一组软件信息数据,存放了软件id、名称、最高版本的列表
服务器架构:apache、php php-soap、mysql、memcache
客户端软件会从服务器端获得上面软件列表,扫描用户机器上软件与刚获得的列表比较,得到需要更新的列表,并将需要更新数据传给服务器,点客户端某按钮打开浏览器显示需要更新列表
现在是服务器端的软件列表是经常变动的,怎么设计合理更新用户机器得到的该列表数据呢?
现在想的是:
方案1:用soap和给最新版软件列表加个版本号,传xml给客户端。用户取列表时带个版本号,小于服务器上的版本号就返回最新列表和最新版本号。但列表数据还一直增加、、、不知咋办了、、、
方案2:最新版软件列表加个版本号保存文件在服务器,客户端get传用户机器版本号请求服务器,服务器返回是否有新软件列表版本号和文件地址,客户端根据地址下载最新软件版本列表
这检查更新功能怎么做合理呢、、、再最新版本软件列表如何维护合理呢、、、
你是要比对客户端上的软件列表和服务器端上的软件列表,将客户端上的乱叫列表更新为最新的然后下载最新版本。这样理解没有错吧。
首先SOAP和REST方式都是可以的,给下我的建议:
客户端上要有一个软件信息数据列表,每条记录包含软件id,名称,当前版本,是否需要下载,这个数据可以以文本形式也可以以sql_lite等形式存放;
当扫描更新时,将软件信息数据列表加入到请求中传给服务器端,服务器端返回需要更新的软件,包含软件id,最高版本;
客户端收到服务端返回的数据后,更新软件信息数据列表中的版本,同时将需要下载改为1,然后根据是否需要下载字段依次下载最新版本的软件,下载好后将是否需要下载改为0。