论文部分内容阅读
随着可扩展标记语言(Extensible Markup Language,简称XML)的提出,由于其可扩展性、灵活性、自描述性、结构性、平台无关性,XML技术已经成为异构数据集成、交换与同步的标准和规范。但XML天生冗余性的缺点,当要传输或同步的数据量很大时,XML文件的体积往往就相当庞大。虽然采用文本压缩或者XML文件专用压缩算法都能有效的减小XML文本体积,但是当基于XML文件进行数据同步时,当同步信息更改很少,由于XML的结构性以及完整性的要求,通常还是要传输整个XML文件,这个造成无用数据的重复传输,而且不管采用何种压缩算法,也改变不了无用数据重复传输的事实。 针对上述问题,基于XML进行数据同步的研究提出了一种优化方案,在以XML文件为中介进行数据同步时,按照一定的规则将XML文件分解为一系列数据对象,将内容改变的数据对象归并到已变更数据对象系列中,将内容不变的数据对象归并到未变更数据对象系列中。同步时,发送端只需将已变更数据对象系列信息以及XML文件与数据对象间的映射关系描述信息重新封装在一个新的XML文件中传送到接受端,接收端根据接收到的已变更数据对象信息更新本地数据对象,并根据接收到的映射关系描述信息以及本地数据对象信息重新生成原XML文件。基于这种方案进行数据同步时只需传输已变更的数据信息和少量的附加信息,从而避免了当数据传输有效比很低时大量无用数据的重复传输,数据同步的效率因此得到较大的提升。 通过修改XML文件各个部分的信息得到各种待同步XML文件进行实验,实验结果表明当XML文件数据传输有效比很低时,利用优化思想进行同步时传输到接收端的文件大小远远小于原待同步XML文件的文件大小。