基于Web服务智能客户端数据同步问题研究.docVIP

基于Web服务智能客户端数据同步问题研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Web服务智能客户端数据同步问题研究

基于Web服务智能客户端数据同步问题研究    [摘要] 智能客户端是指易于部署和管理的客户端应用程序,它们通过统筹,使用本地资源和到分布式数据资源的智能连接,从而为用户提供适应的、快速响应的和丰富的交互式体验。智能客户端作为一种新兴的架构,它结合了胖客户端和瘦客户端的优势,代表了下一代客户端软件技术应用的发展方向。而智能客户端的一个重要特征就是客户端用户能够在离线的状态下工作,这就要求先把数据缓存在本地,在本地对数据进行操作,然后与服务器进行数据同步交换。   [关键词] 智能客户端 离线 数据同步      一、前言   依据智能客户端的理论体系结构,其同步方式可分为两类:以数据为中心的同步方式和以面向服务的同步方式。使用以数据为中心的同步方式的应用程序具有一个在客户端上本地安装的数据库系统(比如Ms SqlServer2005),并且使用该数据库系统的内置功能将本地数据的更改传回服务器,处理同步过程。使用面向服务方式的应用程序将信息存储在消息中,并且当客户端脱机时将这些消息排列到队列中。在重新建立连接以后,排队的消息将被发送到服务器端进行处理。   面向服务同步方式应用的比较广泛,成为目前绝对的主流。用户在离线的情况下所作的对数据的操作,比如数据库修改和删除操作等,在联机后自动的回传给服务器端。这个操作过程是通过Web Services来执行的,它是基于松耦合的方式以及XML和HTTP的标准协议连接到服务器端,并且以消息队列技术来实现操作的先后顺序。   客户端应用程序能够在离线状态下工作就必须先把数据缓存到本地,在本地进行维护,然后与服务器进行同步数据操作。客户端与服务器的数据同步是指智能客户端应用程序在离线状态下操作的数据在联机后自动更新到服务器上。由于这些操作有一定的先后顺序与逻辑。因此,可以利用消息队列中的SOAP消息的有序性这个特征,最终通过Web Services来同步客户端和服务器端的数据。服务器端的数据由于队列的有序性,确保了数据先后执行的顺序,保证了数据的同步。对于客户端数据,由于采用了数据缓存更新策略,使数据能同步。   二、数据同步的设计   1.客户端数据的更改   智???客户端应用程序在离线状态下操作,操作所更新的数据在联机后自动更新到服务器上。对于这类操作本文采用了客户端推的形式向服务器端更新数据来实现数据的同步。这类操作主要是对数据的创建、修改和删除,有一定的先后顺序,通过Web Services来执行。为了让系统明白联机后执行什么操作以及操作的先后顺序,本文使用了队列技术(其工作流程如图1所示)。   服务集合是封装Web Services代理类的程序集,可以使用反射动态地加载程序集,创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。   2.服务器数据的更改   对于服务器发生变化的数据,客户端以定期向服务器以拉的形式实现数据同步,客户端处理数据同步的线程定期检查服务器数据更新情况,如果有数据发生更新,则需要进行数据同步。   在数据同步时,并不是简单的以最新数据覆盖掉原有数据。当客户端与服务器数据不一致需要更新时,将会把两者不同之处显示到客户端,由用户来决定最后采纳哪个数据。而对于一些重要数据,将对两者都做备份,以防止错误操作带来的损失,同时这些操作的相关信息将会以日志的形式记录下来以便以后进行数据恢复与处理。   3.数据同步的优化   客户端应用程序与服务器进行数据同步时,DataSet中的数据通过DataAdapter数据适配器来传递,此时如果不进行一定的优化的话,假如DataSet中的数据量过大,这些数据通过网络传递时,可能导致整个系统运行的性能瓶颈。本文对DataSet中的数据与服务器端通讯时的数据进行了一定的优化:使用DataSet上的GetChanges方法来确保在客户端和服务器之间传送只在DataSet中更改过的数据记录,并且将该数据打包到数据传输对象中,因为远程调用需要跨越网络或进程,因此会比较慢,通过使用数据传输对象,在单一远程调用中传输更多的数据信息,减少远程调用的次数,提高分布式调用的性能。该数据随后将被合并到其目的地的DataSet中(数据更新如图2所示)。   图2表明,一个智能客户端,它对本地数据进行更改,将GetChanges方法用于需要脱机工作的智能客户端应用程序,GetChanges方法检索包含所有最新添加、修改和删除的记录行的DataTable对象。当应用程序重新联机时,可以使用GetChanges方法确定哪些信息已经更改,并且随后生成一个与Web服务通讯的数据传输对象,以便确保仅将已更改的数据提交给数据库。   同时,客户端需要请求Web服务返回的数据时,DataSet同样具有把DataSet、

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档