请问一个C/S体系中客户端获取数据的设计

请教一个C/S体系中客户端获取数据的设计
一个C/S体系结构的系统,客户端软件接收服务器发布的数据信息,这些数据都是通知一类的消息。客户端可能有很多(上千,但不会同时获取数据。同时进行数据获取的用户可能不会超过一百),服务器大概每几个小时更新一次信息,但信息总量比较多。客户端则是通过设置每几个小时或者手动连接服务器获取本地不存在的全部信息。可能有点像杀毒软件的病毒库升级,但是这个服务器提供的信息是有时限的(已经过了时限的信息客户端可以不进行获取)。请问如何设计两者间的通信方式比较合理?
考虑或者是客户机向服务器发起请求,但是怕服务器的负载能力有限无法承担过多的数据请求
或者是像卡巴斯基病毒库那种,信息文件以日期命名,客户机自行下载某个日期以后的全部文件
麻烦大家看看采取怎样的设计比较好,同时最好能说说大概的思路。

------解决方案--------------------
1 使用WebSerivce方式
2 或者Socket方式
------解决方案--------------------
搂主自己的解决办法就不错啊。
客户端发出请求,服务器给出需要下载的文件列表,然后客户端进行下载。