移动终端多媒体数据同步系统研究与实现,吴益坚,卢美莲,移动互联网技术的发展带来了信息产业的又一轮革命,人们将使用更多类型的终端获取信息。与此同时,移动数据的数量和内容将呈几何国武技论文在线销,尤其是当客户端与服务器的数据有较多重复时,这种传输将严重浪费网络带宽资澒。另方面,同步服务器为双方的所有数据进行逐域分析在文件同步的情况下将变为逐一对比双方的文件内容,势必对服务器资源例如内存、造成极大消耗,降低同步效率协议制定了处理大对象数据的机制。大对象是指超过了目标设备所能接收的最大消息大小的数据条目。大对象处理特性提供了一种同步方式—与超过最小消息大小进行传输的对象同步。这种机制将对象分割为适合一条消息大小的块。并连续地发送它们。在个大对象完成传输之前不能传输其他对象。这种串行化的传输方式降低了数据传输的效率,不适用于文件类型的同步。宗上所述,协议对于大对象数据同步的支持存在着不,究其原因,是协议在制定时较多考虑了移动终端硬件、移动网络连接受限的情形,而随着移动通信技术的不断成然和移动终端硬件能力的发展,需要种有效利用网络带宽资源、晑效夲地完成同步的方案本文将结合协议的特点提出一种改进的同步方案同步方案主要解决大对象数据类型的同步需求。将同步过程分为三个阶段修改检测同步客户端将数据修改以元信息方式组织并发送到同步服务器,同步服务器汇总双方的数据修改元信息,检测双方修改是否发生冲突,检测双方是否存在重复数据;元数据是指能够唯一描述一个数据条目的最小信息集合。例如对于文件而言,元数据可以是:文件名、文件长度、文件内客的值。针对多媒体类型的文件,还可以使用某些元信息,例如图片文件使用分辨率、尺小;音乐视频类文件使用播放时长、版权(作者、专辑)。一个元数据采用文档格式组织,如表所示:表文件元信息、格式示例木方案采用协议慢同步的思想,客户端在慢同步情形下发送所有数据的元信息到服务器。服务器以元信息为依据对客户端和服务器双方的数据进行比对。流程如图所示。国武技论文在线客户端数据元信息集合客户端Ge列表比对元信息建立 UID-GUlD映射检测相似条目服务器数据元信息集合服务器Get列表图慢同步元信息比对流程服务器通过对比双方的数据元信息,确立双方数据中相同的数据条目,建立映射表。然后检测相似条目并进行处理。最终生成客户端列表与服务器列表:●客户端列表:客户端需要发送到服务器的数据条目;服务器列表:服务器需要发送到客户端的数据条目。在增量同步情况下,服务器将米自客户端的数据修改元信息按类型划分,结合服务器一侧的数据修改进行比对。如图所示。客户端数据修改元信息客户端Get列表增加删除修改重冥检测处理冲突检测与解决增加删除修改服务器服务器Ge圳列表数据修改元信息图增量同步元信息比对流程同步服务器根据修改类型执行对应的处理:重复检测处理:双方新增的数据有可能岀现重复情况,对于重复的条目,将它们添加到映射衣中突检测与解决:对于双方修改、删除的数据,根据映射表进行冲突检测,并按照一定的策略解决冲突,例如客户端优先或服务器优先策略比对的结果也是生成客户端列表和服务器列表,意义与慢同步情形相同修改交换在这一阶段,同步服务器将“客户端列表”发送给客户端。客户端根据此列表发送国武技论文在线相应的文件数据,然后服务器从服务器侧的数据源(例如服务器本地的文件系统等)提取并发送“服务器列表”中对应的文件数据到客户端。如图所示。客户端服务器数据源客户端Get列表客户端数据修改客户端数据修改配GUID服务器Get列表服务器数据修改服务器数据修改分配LUID图数据修改交换序列图服务器发送“客户端列表”到客户端客户端发送数据修改到服务器服务器将客户端发送的数据修改存储到数据源,数据源为每一个文件数据分配服务器发送“服务器列表”到数据源数据源发送服务器侧的数据修改到服务器;服务器发送服务器数据修改到客户端,客户端应用这些修改之后,为新增数据修改分配,返回给服务器,服务器更新映射表目。结束同步当双方数据修仝部交换完毕之后,就进入结束同步价段。客户端保存服务器发送的同步锚,服务器持久化保存客户端与服务器薮据的映射表、客户端发送的同步锚。双方断廾网络连接,同步结束。系统设计本章根据前文提出的方案设计一个多媒体数据同步系统,系统提供了对多媒体数据进行冋步的功能。系统结构如图所小国武技论文在线交换数据修改同步客户端同步服务器数据存储图多媒体数据同步系统结构冋步客户端与服务器之间交换数据修改,同步服务器将来自客户端的数据存入后端数据存储实体(例如文件服务器或者分布式文件系同统),从后端数据存储实体中读取数据发送给客户端。客户端与服务器通过方式进行通信,客户端首先发起请求,携带了使用式描述的客户端数据修改元信息以及账户鉴权、同步锚等信息,服务器通过鉴权验证之后校验同步锚,然后对客户端与服务器之间的数据修改进行比对,将生成的客户端列表转换为格式,并放入回应消息体内。在数据交换阶段,客户端与服务器建立连接进行数据传输。双方修改交换完毕后,客户端构造一个格式描述的数据元信息表,该ξ描述了客户端从服务器接收的所有文件数据的元信息,服务器将此衣与修改检测阶段生成的服务器表进行对比,确定双方数据修改已正确父换完毕,最后更新映射表,保存同步锚,结束同步同步服务器设计yneTransport AdapterData connectorXMLActess APIHttp图同步服务器模块结构图描述了同步服务器的模块结构。是服务器主控制模块,负责服务器的启动和运行监控。模块是冋步会话维护模块,它负责维护一个同步会话的状态上下文信息,协调各模块的交互是同步引擎模块,它负责双方数据的比对和相似条日检沨、映射表维护、冲突检测和处理工作是底层传输实体的抽象接口,负责封装底层传输协议的细节,具体的传输实体有协议栈和传输协议栈。模块是同步服务器与数据源交互的接口,封装了数据源访问的细节扩充了同步服务器数据仔储方案。同步客户端设计国武技论文在线客户端界面ManagerourceConfigurationXMLTCPHttp图客户端模块结构图描述了同步客户端的模块划分。客户端界面为用户提供了配置同步服务器地址信息、选择同步文件口录等功能是核心模块,它负责协调各功能模块之间的交互,并通过协议栈与服务器进行通信:模块提供客户端本地文件修改日志记录的功能模块负责对冋步辅助信息,例如冋步锚、账户、同步服务器地址等进行持久化和读取;模块是对客户端本地文件系统访问的接冂模块,它同时调用传输协议栈接收和发送文件数据。结论本文通过分析协议,总结了其对于大对象同步支持的局限性。提出的方案从传输策略、传输方式上针对大数据对象的特点进行了优化设计,使得同步效率得到极大提升。在木来的移动互联网吋代,薮据同步将解决多平台环境下的数据致性问题,应用前景更加广泛,因此,个通用的数据同步协议也亟需得到提出和发展。参考文献曾玉冰,李凤军系统中内容同步客户端的研究和实现