作者:王 鑫,朱维和
来源:《科技与创新》 2015年第22期
王 鑫,朱维和
(公安部第一研究所,北京 100048)
摘 要:在大部分web 应用中都有XML 数据交互的需求。结合XML 操作性强、规范统一、跨平台的优点,主要研究了如何提高XML 数据交互的效率,解决由于局部修改XML 数据而影响系统整体性能的问题,从而减少无用数据的传输,避免资源的浪费,提高数据更新的效率。
关键词:XML;数据交互;异构数据源;数据模型
中图分类号:TP311.13 文献标识码:A DOI:10.15913/j.cnki.kjycx.2015.22.021
文章编号:2095-6835(2015)22-0021-02
1 概述
随着信息技术的发展,各行业的信息量呈爆炸式增长,每个行业中的数据资源分散在不同的数据库中,归属各个企业、部门所有。这些数据资源像一个个“数据孤岛”,各自有着不同的处理对象和操作方法。这就形成了大量业务逻辑类似、形式分散且彼此缺少信息交互的系统。为实现各部门之间的协调工作、数据之间的共享,就必须解决数据交互和部门协同的问题。
目前,常规的异构数据交换方式有以下三种:①电子数据交换(EDI)方式,即EDI 可以通过统一的格式交换企业信息,而企业之间通过专用的数据网络来交换数据。但EDI 也带来了许多问题,比如格式不灵活、成本较高、安全控制困难、连接可靠性不高等。②中介层方式,即提供一个应用程序负责专用的数据转换,转换程序是特定、专用、复杂的。在这种方式下,参与数据交换的各方必须严格遵循相同的规则,才能准确地对数据进行封装和解析,因此,这一方式缺乏良好的复用性和扩展性。③数据仓库方式,即中心数据仓库负责提取各个分布、自治的系统数据,并对各种数据具有高度的控制权。
当前,几乎所有的行业都存在因数据的复杂性和分布性而影响数据使用的问题。业务数据的复杂性体现在内容复杂、格式复杂、语义信息丰富、数据量庞大等方面;分布性体现在数据来自各地的不同数据库中,缺少统一、集中的管理。数据的用户不应局限于数据生产单位,还需要满足科研用户、管理用户等其他用户的需求,而这些用户通常都分布在各个地方。
XML 的出现为行业数据中异构数据源的交互带来了新思路和新技术,使用XML 作为中间数据的交换技术,克服了传统数据交换系统的缺点。其优点如下:具备可扩展性,允许各个组织、个人建立适合自己的置标集合;具备结构性,数据存储格式不受显示格式的制约,将资料的内容及其表现形式合理地分离,从而大大提高了XML 数据的可理解性、可交换性和可重用性。
2 传统XML 数据更新方法
XML 技术虽然有效地解决了行业数据的交换问题,有力地推动了行业信息化的进程,但是在实际应用中,由于XML 数据的完整性和行业数据的特殊性,在传输XML 格式的数据时可能伴随着大量“无用数据”的传输。当一个用户在客户端修改一份XML 数据文件时,需要将其上传至服务器,并由服务器通知其他用户作相应的更新。现有的方法往往是把XML 数据文件整体传
输,导致不论用户修改多少内容,都需要把整个文件上传至服务器,然后再由服务器把新的数据文件传输至其他用户,这势必造成资源的浪费。当XML 数据较小、用户操作不频繁、需要同步更新的用户数量不多时,这种浪费的影响还不明显;当数据较大、用户操作频繁且需要同步更新大量用户时,这种浪费所导致的性能影响就非常大,甚至会影响系统的实用性。
3 XML 数据更新优化技术
在满足业务数据模型规范的前提下,充分利用业务数据的逻辑关联,将以XML 数据为基本单位的传输方式分解为更细粒度的单位传输,即将XML 格式的业务数据文件按照XML 规范和业务知识,分解为一系列相关联的类进行传输。在对XML业务数据中的某些信息进行修改时,只要按照XML 规范定位到具体的元素,并将此元素对应的类传输给网络中的其他结点,在接收结点中把类还原成XML 元素,并根据业务规范在恰当的位置更新局部数据内容。
优化的关键是数据模型的划分。合理的分解方法不仅易于理解和实现,还可以保证将最紧密相关的数据放在一个类中。这样,当用户修改多处数据时,可以保证涉及的类数最少。如果粒度划分过粗,则可能失去优化的机会;如果粒度划分过细,极端情况下附加信息的体积可能远远超过实际信息本身的体积,造成相反的结果。因此,划分粒度的确定取决于具体的数据使用模式、数据修改量等诸多因素。
4 优化技术特点
要实现这种新技术,关键是要将XML 数据按照一定规则分解。这样做,虽然在一定程度上增加了工作量,但是用户的使用效率得到了显著的提高,同时也减少了网络传输数据量。具体主要表现在以下三方面:①减少了数据体积,提高了系统数据服务速度。数据普遍采用了XML 格式,这些格式中的大量内容是为了说明数据结构和类型,因此造成数据体积偏大,影响数据传输速度。如果数据发送方从数据中将这些有用信息提取出来,把原来一体的各种信息解包(分解)成为一系列数据类(独立又相互关联的数据块),然后把这些数据类分别传输到数据接收方,再在数据接收方按照数据格式要求,把各个独立的类打包(逆向还原)成为与原始数据格式一致的一体数据,供用户使用,则可以有效减少数据体积,从而提高系统数据服务速度。②允许局部修改,减少了网络传输数据量,提高了传输数据的使用率。将格式数据解包为一组数据类,可以实现在底层网络传输时只发送用户局部修改的部分而不必每次都传输完整的数据文件,从而有效降低数据的网络传输量。③提高了用户操作数据的能力。除了数据传输外,还提供了数据操作功能,其中,有些功能将涉及到数据内部信息。借助于此优化技术,系统将数据按照一定格式解包成为一系列独立又相互联系的数据类,并在这些类的基础上提供数据服务,这样可以显著增强服务的特色和针对性,提高用户操作数据的能力。
参考文献
[1]赵冲冲.XML 格式领域数据传输的优化技术研究[J].计算机科学,2009(8).
[2]张利.XML 实用技术[M].北京:清华大学出版社,1999.
〔编辑:刘晓芳〕
因篇幅问题不能全部显示,请点此查看更多更全内容