XML数据访问与数据传输优化
2011-08-15李传良
李传良
(山东丝绸纺织职业学院,山东 淄博 255300)
1 绪论
随着 Internet的普及,XML作为新兴的标识语言,得到Web的广泛应用,并逐步成为 Internet存储交换数据的一种常用机制。由于计算机技术应用的发展,各行业领域的信息量呈爆涨,其中含有很多公共有效的数据库资源,每个领域中的数据资源分散在各地的多个数据库中,采用不同平台,缺少整体布局和统一管理,形成“信息孤岛”,造成大量业务逻辑类似但形式分散且彼此缺少信息交互。为实现各部门之间的协调工作、数据和数据之间的关联不易丢失,就必须解决在各个环节之间普遍存在的数据交互和部门协同的问题。XML的出现为异构数据源的交换带来了新思路和新技术。
2 XML
XML(可扩展标记语言)作为数据交换和网络计算的基础,已成为网络上通用的语言。通过具有平台无关性的 XML来表达知识、传递数据,可以跨越平台、设备和空间。同时,XML具有如下优点:①简便的数据交换:数据和标记均以可配置的文本格式保存。②定制标志语言:基于 XML进行扩展,可以定制自己的标志语言。③自描述数据。④结构化和综合性的数据:使用者不仅可以指定数据,还可以指定数据结构,并可以将不同的元素组合成其他的元素。
这些优点推动 XML在各个领域和行业迅速得到推广和应用。XML技术有效地解决了领域数据的交换问题,有力地推动了领域信息化的进程,但是在实际的工程领域,如CIMS、GIS中有时会带来效率问题。因为 XML文件的完整性和领域数据的特殊性,在传输 XML格式数据时可能伴随着大量“无用数据”的传输。这往往不仅影响传输效率,而且会浪费许多资源。因为修改的数据量占整体数据量的比例往往很低,所以造成大量未修改数据的重复传输。这是工程领域利用 XML文件数据交换存在的普遍问题。特别是当文件较大、用户操作频繁且需要同步更新大量用户时,这种问题就十分突出,甚至会影响系统的实用性。
3 XML文档信息访问
本文所提出的优化技术的核心思想是以领域数据模型规范为基础,充分利用领域数据的逻辑关联,实现更灵活的 XML数据传输。①当用户请求访问 XML文档时首先将文档解析为DOM(Document Object Mode1)树。②根据文档的 DTD(Document Type Definition)及存放文档授权信息的XAS(XML Access Sheets)标记DOM树,给文档中的每个节点都设置授权符号(“+”允许访问,“-”禁止访问)。③将DOM树中所有授权符号为“-”的节点移除,将剩下的节点转化为 XML格式返回给用户。④移除某些节点而形成的新的文档可能不符合原来的DTD。通过将DTD中所有的元素和属性都设置为可选的来解决该问题,此过程称为loosening DTD。用户只能看到他有权访问的那部分文档,这样就确保了数据的保密性。
4 XML数据传输优化技术
4.1 XML数据传输优化模型
在模型中仍然采用 XML作为用户的数据交互格式标准,这样可以充分利用XML的易用性和通用性。当用户修改XML数据并需要传送到其他节点以保持一致性时,不直接传送整个XML数据文件,而是首先参考领域知识和XML规范,以数据逻辑关联为依据,将 XML数据文件分解成粒度更小的数据对象集合。然后确定修改的影响范围,将数据对象分为已变更数据对象队列和未变更数据对象队列。最后向其他网络节点发送已变更数据对象队列。其他节点在接收已变更数据对象队列后,替换原始数据对象集合中的相应部分。再将更新后的数据对象集合成为XML文件,并展示给用户。
分解 XML数据文件,是优化的关键。合理的分解方法应在分解方式和分解粒度两个方面综合考虑。分解方式以行业数据模型标准提供的XML Schema或DTD文档为基础。将关联紧密、容易同时修改的内容分解在同一个数据对象内,可以尽可能地减小已变更数据对象队列的数量和体积。分解粒度应综合考虑具体的数据使用模式、数据修改量等多种因素。粒度不宜过小或过大。太大,失去优化意义,太小也会影响优化效果。
4.2 数据对象的关联关系描述和传输优化算法
无论使用何种分解方法将XML文件映射为数据对象集合,都需要辅助信息记录数据对象之间的逻辑关联,以便接收方正确地更新本地原始数据对象。采用多叉树描述数据对象关联,树上每一个节点代表一个数据对象。每个节点内的关联描述信息包括数据对象I、数据对象在多叉树中的路径path、包含子对象的个数childnum、指向子对象的指针child以及映射为父元素的属性名transelement(适用于中粒度划分法)。
基于上述模型提出如下传输优化算法:①计算 XML数据文件的数据有效比。如果数据有效比较高,则直接传输整个数据文件。②选择 XML数据文件划分法。③根据所选划分法的规则,把 XML数据文件分解为一组已变更数据对象和一组未变更数据对象。④计算关联描述信息多叉树。⑤将已变更数据对象队列和关联描述信息多叉树发送到接收端。⑥接收端根据关联描述信息,使用已变更数据对象更新原始数据对象集合。⑦接收端根据关联描述信息和更新后的数据对象集。
5 总结
XML格式数据传输优化技术在各行业领域中得到了广泛应用,该思想有助于降低一致性维护时大体积 XML数据文件的传输量,提高访问速度和效率。依托 XML数据访问与传递模型,依据XML规范将XML数据文件分解为一组逻辑相关的数据对象进行传输,减少无用数据的传输量,从而提高系统的数据服务速度,是一种简单、实用的优化技术。
1 李斓、何永忠、冯登国.面向XML文档的细粒度强制访问控制模型[J].软件学报,2004(10):1528~1537