共查询到17条相似文献,搜索用时 156 毫秒
1.
XML文档顺序的维护 总被引:1,自引:0,他引:1
为提高查询和更新的效率,XML文档中的对象必须拥有顺序标识(OID)。本文在Numbering sheme的基础上提出了基于模式的顺序维护算法。新算法包括OID区间预留算法和OID维护算法两部分。在文档初始化时,前者基于模式和统计信息对未来的插入操作进行OID区间预留,后者则在前者的基础上将插入操作时的全局调整化解为局部调整。新算法可以有效降低XML文档顺序维护的代价。 相似文献
2.
《计算机应用与软件》2015,(12)
采用传统资源描述框架(RDF)方式描述电力系统公共信息模型(CIM)对象存在着无法直接进行数据验证和数据负载率低的问题,针对这种情况,提出采用可扩展标记语言(XML)直接编码CIM对象。首先设计一种CIM对象的XML编码规范,并利用XML架构定义(XSD)技术制定CIM/XSD模式,给出类及其关系到XML/XSD的映射方法。同时为CIM中的每个类添加序列化与反序列化方法,并详细设计了两个方法的逻辑算法,该算法用来完成CIM对象集和CIM/XML文档之间的双向转换。案例研究表明,所设计的CIM对象编码规范、制定的CIM/XSD模式,以及设计的序列化与反序列化算法可有效应用于电力企业各异构系统间的数据导入/导出操作。 相似文献
3.
XML文档是半结构化数据,对其进行频繁路径挖掘可以分为两步:XML文档序列化和序列挖掘阶段. 现有的序列化方式将XML文档表示为Xpath路径集合,其中有大量的节点冗余;序列挖掘阶段采用的类Apriori算法需要多次扫描数据库并产生大量的候选集,采用的PrefixSpan算法会产生大量的投影数据库,占用较大的内存. 针对以往XML频繁路径挖掘算法存在的不足,本文提出一种高效的挖掘算法——基于序列前缀技术的XML频繁路径挖掘算法(PXFP,Prefix-based XML Frequent Path Mining Algorithm). PXFP算法以广度优先方式遍历XML文档树并将每个节点表示为“节点:父节点”的形式,这种序列化的方式减少了节点冗余. 在序列挖掘阶段借鉴PrefixSpan 算法中前缀的概念,但不产生投影数据库,仅得到直接后缀(即前缀的子节点),通过记录频繁子路径的位置信息逐渐扩大频繁模式的长度,位置信息的引入减少了对数据库的扫描. 实验结果表明,PXFP算法取得了比PrefixSpan算法更高的时间和空间效率. 相似文献
4.
目前基于Ajax技术的Web开发主要采用XML进行数据交换,然而XML是一种结构化的文档,需要服务器和客户端都对其进行手工解析,将会占用更多的系统资源,因此采用XML进行数据交换会导致性能低下、兼容性不够、灵敏度低的问题。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于被支持JavaScript的浏览器所解析。提出了一种基于JSON的对象序列化算法,该算法通过分析JSON文法并建立对象导航图,透明地将Java对象序列化成JSON表达式,使客户端能够很好地利用JavaScript引擎来解析JSON响应,有效地解决了解析XML所造成的缺陷。 相似文献
5.
基于DOM解析器的XML编辑器研究 总被引:1,自引:1,他引:0
DOM是一种独立于语言和平台的XML解析模型.给出了支持DOM核心模型和多种DOM扩展规范的XML编辑器ONCEXMLEditor的实现.ONCEXMLEditor具有高效的XML验证和序列化性能,同时提供给用户多种功能,包括按需遍历文档、提供上下文感知的编写环境、实时纠错、灵活的装载和序列化机制等.描述了ONCEXMLEditor的体系结构及其实现核心算法,同时给出了XML文档有效性验证和装载及序列化的性能优化策略. 相似文献
6.
针对面向对象的XML数据的对象迁移问题,提出基于集中式和分布式两种存储模式下的对象迁移方法,解决了对象标识符模糊性问题。集中式存储模式对象的OID是唯一的,但是在集中式存储模式中更新已存在的对迁移对象的引用代价很大;分布式存储模式对象的OID是多重的,但对象迁移的代价相对较小。 相似文献
7.
8.
一种基于Hash表的XML模式快速提取算法 总被引:1,自引:0,他引:1
为快速获取XML文档的模式信息,提出一种基于Hash表的XML模式提取算法。该算法首先将XML文档转换为一棵XML文档树;然后遍历这棵文档树,将相关模式信息存储到一个Hash表中;最后,对Hash表中的信息进行处理,得到XML模式的DTD表示形式。将文中的算法用VC++实现,实验结果表明该方法是可行有效的,而且在保证XML模式提取结果正确性的同时,还有效地简化了模式表示形式。 相似文献
9.
基于区间编码方案分裂大型XML文档到关系存储 总被引:6,自引:0,他引:6
将一个XML文档分裂存储到关系数据库中,通常的方法是利用DOM对该XML文档进行解析,并利用DOM接口提供的XML文档树信息来实现分裂。但是,DOM在解析一个大型XML文档时效率特别低,甚至是无法胜任。文中对转换XML文档到关系数据库中进行存储和查询的策略以及区间编码方案进行了综述;基于区间编码方案探讨了如何分裂一个大型XML文档到关系存储的基本原理,并给出了相应的算法。实验结果表明,该方法是通用的、高效的。 相似文献
10.
在XML数据交换过程中,XQuery和XSLT将XML文档以树的形式在内存中转换,不仅速度慢,而且仅能处理小文件。为了快速并高效地处理大型的XML文档,定义了XML模式的表结构,应用排序方法实现了一个三阶段的数据交换算法。首先将源XML文档转换成符合源模式的表结构,然后按照目标模式对该表进行排序,最后将排序后的表转换成符合目标模式的XML文档。实验表明,该算法不但能高效地进行XML文档的转换,而且对大型的XML文档有着很好的扩展性。 相似文献
11.
XML access control models proposed in the literature enforce access restrictions directly on the structure and content of an XML document. Therefore access authorization rules (authorizations, for short), which specify access rights of users on information within an XML document, must be revised if they do not match with changed structure of the XML document. In this paper, we present two authorization translation problems. The first is a problem of translating instance-level authorizations for an XML document. The second is a problem of translating schema-level authorizations for a collection of XML documents conforming to a DTD. For the first problem, we propose an algorithm that translates instance-level authorizations of a source XML document into those for a transformed XML document by using instance-tree mapping from the transformed document instance to the source document instance. For the second problem, we propose an algorithm that translates value-independent schema-level authorizations of non-recursive source DTD into those for a non-recursive target DTD by using schema-tree mapping from the target DTD to the source DTD. The goal of authorization translation is to preserve authorization equivalence at instance node level of the source document. The XML access control models use path expressions of XPath to locate data in XML documents. We define property of the path expressions (called node-reducible path expressions) that we can transform schema-level authorizations of value-independent type by schema-tree mapping. To compute authorizations on instances of schema elements of the target DTD, we need to identify the schema elements whose instances are located by a node-reducible path expression of a value-independent schema-level authorization. We give an algorithm that carries out path fragment containment test to identify the schema elements whose instances are located by a node-reducible path expression. 相似文献
12.
Browsing the DOM tree of an XML document is an act of following the links among the nodes of the DOM tree to find some desired nodes without any knowledge for search. When the structure of the XML document is not known to a user, browsing is the basic operation performed for referring the contents of the XML document. If the size of the XML document is very large, however, using a general-purpose XML parser for browsing the DOM tree of the XML document to access arbitrary node may suffer from the lack of memory space for constructing the large DOM tree. To alleviate this problem, we suggest a method to browse the DOM tree of a very large XML document by splitting the XML document into n small XML documents and generating sequentially the DOM tree of each of those small n XML documents. For later reference, the information of some nodes accessed from the DOM tree already generated has been also kept using the concept of their virtual nodes. With our suggested approach, the memory space necessary for browsing the DOM tree of a very large XML document is reduced such that it can be managed by a personal computer. 相似文献
13.
Keyword search is the most popular technique of searching information from XML (eXtensible markup language) document. It enables users to easily access XML data without learning the structure query language or studying the complex data schemas. Existing traditional keyword query methods are mainly based on LCA (lowest common ancestor) semantics, in which the returned results match all keywords at the granularity of elements. In many practical applications, information is often uncertain and vague. As a result, how to identify useful information from fuzzy data is becoming an important research topic. In this paper, we focus on the issue of keyword querying on fuzzy XML data at the granularity of objects. By introducing the concept of “object tree”, we propose the query semantics for keyword query at object-level. We find the minimum whole matching result object trees which contain all keywords and the partial matching result object trees which contain partial keywords, and return the root nodes of these result object trees as query results. For effectively and accurately identifying the top-K answers with the highest scores, we propose a score mechanism with the consideration of tf*idf document relevance, users’ preference and possibilities of results. We propose a stack-based algorithm named object-stack to obtain the top-K answers with the highest scores. Experimental results show that the object-stack algorithm outperforms the traditional XML keyword query algorithms significantly, and it can get high quality of query results with high search efficiency on the fuzzy XML document. 相似文献
14.
本文提出了一种新的面向对象软件簇级测试用例生成方法。在UML顺序图的基础上,首先从*.MDL文档中提取出类间的交互信息;然后,依据从UML顺序图中提取出来的类间的交互信息,采用文中给出的算法生成测试用例;最后,将生成的测试用例依据XML文档的格式存储,以便于管理,并通过实例对该测试用例生成方法进行了验证。 相似文献
15.
16.
在传统的实化视图维护时,数据源把增量数据以XML文档的方式报送给数据仓库,数据仓库从此文档中解析出数据,利用JDBC完成对实化视图的更新。文中提出在数据源把增量数据封装成序列化对象存储于文件中再报送给数据仓库,而数据仓库从文件中读出对象,利用Hibernate直接把对象更新到实化视图。通过两种方案性能的比较,表明后一种方案是可行并且更加高效的。 相似文献
17.
Atomic operations are a key primitive in parallel computing systems. The standard implementation mechanism for atomic operations uses mutual exclusion locks. In an object-based programming system, the natural granularity is to give each object its own lock. Each operation can then make its execution atomic by acquiring and releasing the lock for the object that it accesses. But this fine lock granularity may have high synchronization overhead because it maximizes the number of executed acquire and release constructs. To achieve good performance it may be necessary to reduce the overhead by coarsening the granularity at which the computation locks objects.In this article we describe a static analysis technique—lock coarsening—designed to automatically increase the lock granularity in object-based programs with atomic operations. We have implemented this technique in the context of a parallelizing compiler for irregular, object-based programs and used it to improve the generated parallel code. Experiments with two automatically parallelized applications show these algorithms to be effective in reducing the lock overhead to negligible levels. The results also show, however, that an overly aggressive lock coarsening algorithm may harm the overall parallel performance by serializing sections of the parallel computation. A successful compiler must therefore negotiate a trade-off between reducing lock overhead and increasing the serialization. 相似文献