CN104268143A - Xml数据的处理方法和装置 - Google Patents
Xml数据的处理方法和装置 Download PDFInfo
- Publication number
- CN104268143A CN104268143A CN201410390762.7A CN201410390762A CN104268143A CN 104268143 A CN104268143 A CN 104268143A CN 201410390762 A CN201410390762 A CN 201410390762A CN 104268143 A CN104268143 A CN 104268143A
- Authority
- CN
- China
- Prior art keywords
- xml
- data
- xml data
- mapping
- protocol type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种XML数据的处理方法和装置。该方法主要包括:采集XML数据,XML数据中包括XML索引文件和XML有效载荷文件,根据XML索引文件获取XML数据的协议类型;选取XML数据的协议类型所对应的XML解析器,利用XML解析器对XML有效载荷文件进行多级映射,将XML有效载荷文件转换为统一数据格式的数据物理模型。本发明实施例通过根据XML数据的协议类型选取对应的XML解析器,利用XML解析器对XML数据进行多级映射,将XML数据转换为统一数据格式的数据物理模型。可以支持多种不同协议的XML数据处理,统一化处理所有协议类型的XML数据的解析和转换处理。采用多级XML转换策略,增强了系统的适应能力,可拓展性强,而底层XML数据库架构较稳定。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种XML(Extensible MarkupLanguage,可扩展标记语言)数据的处理方法和装置。
背景技术
目前,随着全球信息建设的不断拓展和网络技术的广泛应用,加上基于网络的一系列电子商务应用,使得信息化变得平民化。在给我们带来巨大方便的同时,也导致不管是个人、组织还是企业都随时随地在与数据打交道。数据的采集、存储、处理和传播的数量也与日俱增。各类数据的共享,使更多的人能更充分地使用己有的数据资源,减少重复的数据收集等劳动和相应费用。
很多知名的硬件设备生产厂商都需要对自己生产的设备进行数据的采集和检测,为的是及时发现这些设备在运行过程中出现的各种问题,同时记录设备运行的各种参数信息,以便将来对其设备进行改进。基于多方面的需求,近些年对于数据集成的研究一直在进行。目前,现有的数据交换与共享的实现方法主要包括:使用中间数据库进行数据交换;完成数据交换可使用数据库自带的工具;使用一些桌面数据系统。使用中间件的相关技术交换数据,就是使用程序模块在数据库间搭建桥梁。
上述现有的数据交换与共享的实现方法的缺点主要为:数据转换牵涉到大量的编码方式,其过程实现复杂而且时间长,转换质量很低,对数据资源的移植或者灵活性,可重用性都很差。这当然也增加了系统运行和维护的工作量,也增加了很多的硬件和软件的成本,对于追求高效,快捷系统开发的用户对此是当然是无法容忍的。
发明内容
本发明的实施例提供了一种XML数据的处理方法和装置,以实现对多种不同协议的XML数据统一进行解析和转换处理。
本发明提供了如下方案:
一种XML数据的处理方法,包括:
采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件,根据所述XML索引文件获取所述XML数据的协议类型;
选取所述XML数据的协议类型所对应的XML解析器,利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
所述的采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件,根据所述XML索引文件获取所述XML数据的协议类型,包括:
采集一个或者多个设备的XML数据的压缩文档,在内存中对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件;
对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML有效载荷文件传输到云端服务器进行存储。
所述的选取所述XML数据的协议类型所对应的XML解析器,包括:
在云端服务器预先设置并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定;
所述云端服务器根据接收到的XML数据的协议类型查询所述存储的对应关系,获取所述XML数据的协议类型所对应的XML解析器。
所述的利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型,包括:
所述XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树;
所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为数据逻辑模型;
所述XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用自适应数据处理的映射文件将所述数据逻辑模型转换为统一数据格式的数据物理模型。
所述的方法还包括:
根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的;
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一数据格式的数据物理模型和XML数据所对应的设备的标识存储到所述XML数据的数据库中。
一种XML数据的处理装置,包括:
XML数据采集模块,用于采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件;
XML解析器获取模块,用于根据所述XML索引文件获取所述XML数据的协议类型,选取所述XML数据的协议类型所对应的XML解析器;
XML数据解析模块,用于利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
所述的XML数据采集模块,具体用于采集一个或者多个设备的XML数据的压缩文档,在内存中对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件。
所述的XML解析器获取模块包括:
对应关系存储模块,用于在云端服务器预先设置并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定;
数据传输模块,用于对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML有效载荷文件传输到云端服务器进行存储;
查询处理模块,用于通过所述云端服务器根据接收到的XML数据的协议类型查询所述存储的对应关系,获取所述XML数据的协议类型所对应的XML解析器。
所述的XML数据解析模块,具体用于通过所述XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树;
通过所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为数据逻辑模型;
通过所述XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用自适应数据处理的映射文件将所述数据逻辑模型转换为统一数据格式的数据物理模型。
所述的装置还包括:
XML数据存储模块,用于根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的;
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一数据格式的数据物理模型存储到所述XML数据的数据库中。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过根据XML数据的协议类型选取对应的XML解析器,利用XML解析器对XML数据进行多级映射,将XML数据转换为统一数据格式的数据物理模型。可以支持多种不同协议的XML数据处理,统一化处理所有协议类型的XML数据的解析和转换处理。采用多级XML转换策略,增强了系统的适应能力,可拓展性强,而底层XML数据库架构较稳定。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种XML数据的处理方法的实现原理示意图;
图2为本发明实施例一提供的一种XML数据的处理方法的处理流程图;
图3为本发明实施例一提供的对采集的XML数据的数据压缩包的处理过程总体上分为P1和P2两个流程的示意图;
图4为本发明实施例一提供的XML解析器对XML数据进行多级映射转换的原理示意图;
图5为本发明实施例一提供的一种XML数据的处理装置的结构图,图中,XML数据采集模块51,XML解析器获取模块52,XML数据解析模块53,XML数据存储模块54,对应关系存储模块521,数据传输模块522,查询处理模块523。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
XML独有的数据自描述性和理论上的无限扩展性使其成为一种新的数据交换事实上的标准,随着W3C逐步完善的XMLSchema规范,对于数据模型的描述也有了更强的技术支持,并将数据交换和集成成为可能。目前基于XML的数据处理与集成问题的研究己成为国际数据界的重要研究方向之一,因而绝大多数的设备采集信息都选择采用XML的格式来进行数据传输。
随着具有很好通用性和跨平台性的XML的出现,人们开始逐渐考虑使用XML作为中间媒质来完成数据的交换和共享,将XML用于不同数据的交换能够较好地克服数据交换方式的缺点。
在本发明实施例中利用XML技术可扩展性、跨平台与结构化等特点,用java与XML数据格式建立多源数据集成的标准模式,并提供与多种数据格式的之间的转换,以及自动化处理机制。
该实施例提供了一种XML数据的处理方法的实现原理示意图如图1所示,具体处理流程如图2所示,包括如下的处理步骤:
步骤S210、采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件,根据所述XML索引文件获取所述XML数据的协议类型。
任何一个大型的硬件厂商都需要对自己的设备有一定的监控措施,对于已经出售或者正在处于观察期的设备,最好的监控手段就是对设备进行数据信息的采集。上述设备可以为:服务器,打印机,网络交换机,存储阵列,虚拟化设备等。在本发明实施例中,采集的设备的数据为XML格式。
在实际应用中,由于设备的XML数据通常比较庞大,因此,采集的设备的XML数据采用zip格式等压缩格式的数据压缩包。一般来说,在这个数据压缩包里存放有两个XML信息的文件:一个我们可称之为XML索引文件,即“index.xml”,顾名思义,这里面存放的是设备的一些基本信息,比如设备序列号、设备名称、协议类型、购买用户的基本信息等等,这些信息对于同一个设备来说基本上是固定的不变的;另外一个文件可称之为XML payload(有效载荷)文件,里面存放的都是设备运行参数信息,也是系统需要解析处理的主体部分。XML payload数据虽说都是XML格式,但由于应用的协议类型的不同,每一种XML payload数据的内部结构都是千差万别,所以想要利用同一种XML解析器对各种协议类型的XML payload数据进行解析是非常困难的。
如图3所示,本发明实施例对采集的XML数据的数据压缩包的处理过程总体上分为两个流程-简称P1(process 1)和P2(process 2)流程,这两个流程之间设置有消息通知机制。P1和P2流程的作业运行都是自动化的,因而用批处理脚本来执行。这一层都是自动化部署,一旦代码开发完成,便不再需要人工参与。P1和P2流程中的Job运作都是批处理执行。
首先执行P1流程:
采集一个或者多个设备的XML数据的压缩文档,对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件。
对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML payload数据传输到云端服务器进行存储。
上述P1流程中的XML数据的压缩和解压的过程,本发明实施例采用内存中处理机制来实现,也就是所有的压缩和解压任务都在内存中完成。这样做有两个好处:第一,内存RAM的处理速度相对于硬盘ROM的处理速度要快,不把压缩文件存入硬盘而直接在内存中解压和提取,然后进行文件传输。这样一来,文件的读写速度可以大大提高,但代价是消耗较多的内存,对服务器要求较高。第二,垃圾文件的清除也较为方便,因为自始至终数据文件都存放在云端的内存中,要清理内存数据也是非常快的。这项技术大大提高了文件读写效率,也是对于大数据处理的一种较为可靠的解决方案。
一旦P1流程执行完毕,便会判断是否有P2流程的任务来进行下一步数据的处理。如果有,P1将会向P2的任务发送消息,消息队列的传送通过JMS(Java Message Service,Java消息服务)的点对点模型来实现。因此,上述P1流程处理完毕后,将向云端服务器发送携带XML数据的协议类型和关联的设备标识的JMS消息,并同时向云端服务器发送XML payload数据。
步骤S220、选取所述XML数据的协议类型所对应的XML解析器,
云端服务器是为了便于系统开发而自行设计的一种云架构服务。它集成了软件、工具和一系列事务的解决方案,是一种高效,稳定,可管理的服务架构。它提供的架构和工具可以满足大多数业务需求,使得团队可以在开发的过程中把更多的精力放在系统功能的研究和设计上。其框架也是基于MVC(Model View Controller,模型、视图、控制)的基本架构,里面包含有java开发常用的SSH(struts+spring+hibernate)架构体系。云端服务器的主要功能是提供一个很好的云服务平台,提供远程的云文件系统访问和存取服务,以及相关设备采集数据的获取接口。
在云端服务器预先设置多个XML解析器,并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定。
在云端服务器执行P2流程:
P2流程负责对XML数据进行解析和格式化处理。不同的数据来源(snmp,wmi,ilo,wbem等)虽然都是以XML的格式存在,但这些不同的数据属性都需要规范化,最后才能存入数据库中进行统一管理。一个XML的数据通常具备两个参数:name和value;原始数据的name是比较难以理解的,为此我们必须对其加以规范,将name解析并转换成合适的名称,然后将其value存入数据库对应的字段中。此外,XML中有很多CDATA数据也是需要额外的解析器来处理的。
由于协议类型的不同,XML的原始数据格式差别过大,势必会增加解析的难度。特别是采用DOM树进行解析的话,对于结构的要求更加严格。本发明实施例采用多个XML解析器(Job)来处理不同的协议信息,这样一来每个协议都可以有各自的XML解析器来解析各自的XML文件。
云端服务器接收到P1流程传输过来的携带XML数据的协议类型的JMS消息后,根据接收到的XML数据的协议类型查询所述存储的协议类型和不同的XML解析器之间的对应关系,获取所述XML数据的协议类型所对应的XML解析器,并向该XML解析器发送携带设备的标识的通知消息。
云端服务器还将P1流程传输过来的设备的标识和XML payload数据进行关联存储。
步骤S230、利用所述XML解析器对所述XML有效载荷文件进行两级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
XML解析器接收到通知消息后,获取通知消息中携带的设备的标识关联的XML payload数据,并对XML payload数据进行解析处理。
在本发明实施例中,XML解析器采用多级映射转换的方式解决多源XML的格式问题,而且也可以减小数据库结构的改动。所谓的多级映射转换,就是将XML数据经过多次映射转换,最终转换为可存储的数据类型。
该实施例提供的一种XML解析器对XML数据进行多级映射转换的原理示意图如图4所示,具体处理过程包括:所述XML解析器首先对于原始XML数据进行第一级映射,这是JAXB中的一项技术称之为java对象的反序列化处理。也就是将XML数据逐一提取,并生成相应的动态java对象树。即XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树。
所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为RWM(real world model,真实文本模型),我们可以通过RWM模型看出数据所包含的真实属性,也是数据的逻辑模型。因此,RWM模型也称为数据逻辑模型。
RWM模型的建立一方面是为了开发者和内部维护人员能够更清楚的审视每种设备本身所包含的一系列属性参数,另一方面,也是为了减小对于数据库底层的模型改动。本系统的数据库物理模型只会包含一些基本设备类型的属性,而所有的新增类型和结构都可以融入其中。例如对于服务器而言,其基本的属性包括CPU,内存,硬盘等等信息,但对于每种具体的设备,它们都有不同的参数需要搜集,因而一旦存入数据库,便要遵循数据库的模型来进行处理。有了RWM层级的模型,我们就能很方便的配置每种设备的属性参数,而且暂时不用考虑数据库层级的映射关系。
然后,XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用sadb(support automation data base,自适应数据处理的映射文件(sadbmapper.xml)将所述数据逻辑模型转换为统一数据格式的数据物理模型。这一层级的映射关系是唯一的,因为最后都将存入数据库,所以这一级映射文件的配置要非常的谨慎和严格。
总之,XML解析器会根据P1提供的协议类型来选择不同的协议处理分支,每个分支都有对于不同协议XML数据的处理模块。在第一级映射中,即使是在相同的协议里,系统也会根据XML里不同的设备类型字段,将XML数据通过不同的自定义的数据映射XML规则文件映射成不同的数据逻辑模型。图4中只画出了针对不同协议类型的匹配,事实上对于不同设备的类型,系统在做RWM一级的映射时所调用的第一级映射中的自定义的数据映射XML规则文件也是不同的。这里的第二级转换(RWM转换)只是以协议名作为一个映射文件样例,省略了以设备类型命名的部分。
第一级映射的目的是为数据的规范:在一个XML元素标签里会有很多属性,而且XML元素名称本身也需要进行翻译才能让开发者和分析者了解其具体意义所在;加上CDATA数据的干扰,没有规范的XML数据是无法进行映射的。
第二级映射的目的在于从XML中提取真正有用的信息,并生成一个较为清晰的设备数据的逻辑结构。以便于日后的数据配置修改和维护,也便于开发者的开发和数据类型校验。这一级的配置是根据具体需求而进行改动的。
步骤S240、将转换后得到的统一数据格式的数据物理模型存储到所述XML数据的数据库中。
根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的。
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一标准的数据格式的数据物理模型和设备的标识信息一起管理存储到数据库中。上述统一标准的数据格式由数据库的mapper映射文件制定。
上述XML数据的数据库的底层的数据结构是不变的,当增加了一个新的XML数据的协议类型后,只需要根据该新的XML数据的协议类型设置一个新的XML解析器,或者,对现有的XML解析器的映射规则进行修改。这样也就提升了整个系统的稳定性,不必总是顾虑一些新增的设备或者改动,因为经过这么多层级的映射转换,系统已经能够从不同的设备中找到其共有的属性特征,进行存储操作,正所谓以不变应万变。
实施例二
该实施例提供了一种XML数据的处理装置,其具体实现结构如图5所示,具体可以包括如下的模块:
XML数据采集模块51,用于采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件;
XML解析器获取模块52,用于根据所述XML索引文件获取所述XML数据的协议类型,选取所述XML数据的协议类型所对应的XML解析器;
XML数据解析模块53,用于利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
进一步地,所述的XML数据采集模块,具体用于采集一个或者多个设备的XML数据的压缩文档,在内存中对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件。
进一步地,所述的XML解析器获取模块52具体包括:
对应关系存储模块521,用于在云端服务器预先设置并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定;
数据传输模块522,用于对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML有效载荷文件传输到云端服务器进行存储;
查询处理模块523,用于通过所述云端服务器根据接收到的XML数据的协议类型查询所述存储的对应关系,获取所述XML数据的协议类型所对应的XML解析器。
进一步地,所述的XML数据解析模块53,具体用于通过所述XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树;
通过所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为数据逻辑模型;
通过所述XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用自适应数据处理的映射文件将所述数据逻辑模型转换为统一数据格式的数据物理模型。
进一步地,所述的装置还包括:
XML数据存储模块54,用于根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的;
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一数据格式的数据物理模型存储到所述XML数据的数据库中。
用本发明实施例的装置进行XML数据的理的具体过程与前述方法实施例类似,此处不再赘述。
综上所述,本发明实施例通过根据XML数据的协议类型选取对应的XML解析器,利用XML解析器对XML数据进行多级映射,将XML数据转换为统一数据格式的数据物理模型。可以支持多种不同协议的XML数据处理,统一化处理所有协议类型的XML数据的解析和转换处理。采用多级XML转换策略,增强了系统的适应能力,可拓展性强,而底层XML数据库架构较稳定。
本发明实施例的XML数据的解析转换过程实现简单而且快捷,转换质量好,数据资源的移植性、灵活性和可重用性都很好,降低了系统运行和维护的工作量和成本。
本发明实施例利用云端服务器的分布式批处理任务运作,支持大数据的高效并发;利用内存数据处理机制,增强数据的读取和写入速度;利用异步消息并发处理机制,实现了多源xml采集数据的自适应处理入库,无需人工干预。
本发明实施例充分利用XML技术可扩展性、跨平台与结构化等特点,用java与XML数据格式建立多源数据集成的标准模式,并提供与多种数据格式的之间的转换,以及自动化处理机制。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件设备的形式体现出来,该计算机软件设备可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种XML数据的处理方法,其特征在于,包括:
采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件,根据所述XML索引文件获取所述XML数据的协议类型;
选取所述XML数据的协议类型所对应的XML解析器,利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
2.根据权利要求1所述的XML数据的处理方法,其特征在于,所述的采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件,根据所述XML索引文件获取所述XML数据的协议类型,包括:
采集一个或者多个设备的XML数据的压缩文档,在内存中对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件;
对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML有效载荷文件传输到云端服务器进行存储。
3.根据权利要求2所述的XML数据的处理方法,其特征在于,所述的选取所述XML数据的协议类型所对应的XML解析器,包括:
在云端服务器预先设置并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定;
所述云端服务器根据接收到的XML数据的协议类型查询所述存储的对应关系,获取所述XML数据的协议类型所对应的XML解析器。
4.根据权利要求3所述的XML数据的处理方法,其特征在于,所述的利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型,包括:
所述XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树;
所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为数据逻辑模型;
所述XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用自适应数据处理的映射文件将所述数据逻辑模型转换为统一数据格式的数据物理模型。
5.根据权利要求1至4任一项所述的XML数据的处理方法,其特征在于,所述的方法还包括:
根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的;
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一数据格式的数据物理模型和XML数据所对应的设备的标识存储到所述XML数据的数据库中。
6.一种XML数据的处理装置,其特征在于,包括:
XML数据采集模块,用于采集XML数据,所述XML数据中包括XML索引文件和XML有效载荷文件;
XML解析器获取模块,用于根据所述XML索引文件获取所述XML数据的协议类型,选取所述XML数据的协议类型所对应的XML解析器;
XML数据解析模块,用于利用所述XML解析器对所述XML有效载荷文件进行多级映射,将所述XML有效载荷文件转换为统一数据格式的数据物理模型。
7.根据权利要求6所述的XML数据的处理装置,其特征在于:
所述的XML数据采集模块,具体用于采集一个或者多个设备的XML数据的压缩文档,在内存中对所述压缩文档进行解压缩获取一个或者多个XML数据,每个所述XML数据中包括XML索引文件和XML有效载荷文件。
8.根据权利要求7所述的XML数据的处理装置,其特征在于,所述的XML解析器获取模块包括:
对应关系存储模块,用于在云端服务器预先设置并存储各种XML数据的协议类型和不同的XML解析器之间的对应关系,每个XML解析器中设置有依次顺序执行的第一级映射和第二级映射,所述第一级映射为XML数据的Java对象树和XML数据的数据逻辑模型之间的映射,所述第二级映射为XML数据的数据逻辑模型和数据物理模型之间的映射,所述第一级映射和第二级映射的映射流程和映射规则根据所述XML解析器所对应的协议类型而制定;
数据传输模块,用于对所述XML数据中的XML索引文件进行解析获取所述XML数据的协议类型和关联的设备标识,将所述XML数据的协议类型、关联的设备标识和所述XML有效载荷文件传输到云端服务器进行存储;
查询处理模块,用于通过所述云端服务器根据接收到的XML数据的协议类型查询所述存储的对应关系,获取所述XML数据的协议类型所对应的XML解析器。
9.根据权利要求8所述的XML数据的处理装置,其特征在于:
所述的XML数据解析模块,具体用于通过所述XML解析器对所述XML有效载荷文件进行Java对象的反序列化处理,获取所述XML有效载荷文件所对应的Java对象树;
通过所述XML解析器根据所述第一级映射的映射流程和映射规则执行所述第一级映射,利用自定义的数据映射XML规则文件将所述Java对象树转换为数据逻辑模型;
通过所述XML解析器根据所述第二级映射的映射流程和映射规则执行所述第二级映射,利用自适应数据处理的映射文件将所述数据逻辑模型转换为统一数据格式的数据物理模型。
10.根据权利要求6至9任一项所述的XML数据的处理装置,其特征在于,所述的装置还包括:
XML数据存储模块,用于根据设定的统一数据格式设置XML数据的数据库模型,所述数据库模型中包括的各种属性信息是固定的;
根据所述数据库模型构造XML数据的数据库,将所述转换后得到的统一数据格式的数据物理模型存储到所述XML数据的数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410390762.7A CN104268143B (zh) | 2014-08-08 | 2014-08-08 | Xml数据的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410390762.7A CN104268143B (zh) | 2014-08-08 | 2014-08-08 | Xml数据的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268143A true CN104268143A (zh) | 2015-01-07 |
CN104268143B CN104268143B (zh) | 2017-10-20 |
Family
ID=52159665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410390762.7A Active CN104268143B (zh) | 2014-08-08 | 2014-08-08 | Xml数据的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268143B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160004A (zh) * | 2015-09-17 | 2015-12-16 | 西安未来国际信息股份有限公司 | 一种基于b/s架构的异构系统的数据映射方法 |
CN106503003A (zh) * | 2015-09-06 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 一种可扩展标记语言xml文档的压缩、解压方法和装置 |
CN107533453A (zh) * | 2015-03-06 | 2018-01-02 | 思科技术公司 | 用于生成数据可视化应用的系统和方法 |
CN107943483A (zh) * | 2017-11-23 | 2018-04-20 | 北京酷我科技有限公司 | 一种iOS中数据正向解析方法 |
CN110059226A (zh) * | 2019-04-26 | 2019-07-26 | 深圳市元征科技股份有限公司 | 一种xml数据存储解析方法、装置、设备及计算机介质 |
CN110351315A (zh) * | 2018-04-03 | 2019-10-18 | 中兴通讯股份有限公司 | 数据处理的方法、系统及存储介质、电子装置 |
CN110619185A (zh) * | 2019-09-25 | 2019-12-27 | 北京世冠金洋科技发展有限公司 | 一种数据处理方法、装置及电子设备 |
CN112559612A (zh) * | 2020-12-15 | 2021-03-26 | 北京动力机械研究所 | 动态数据提取及共享方法及装置 |
CN112905701A (zh) * | 2021-02-24 | 2021-06-04 | 河南辉煌科技股份有限公司 | 一种多协议通信实时库数据聚合方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221556A (zh) * | 2008-02-01 | 2008-07-16 | 中国建设银行股份有限公司 | 一种xml文件解析的方法及装置 |
CN101267438A (zh) * | 2008-04-24 | 2008-09-17 | 中兴通讯股份有限公司 | 协议兼容的实现方法及客户端 |
CN102073662A (zh) * | 2009-11-23 | 2011-05-25 | 北大方正集团有限公司 | 一种解析和创建xml数据的方法及系统 |
CN103902539A (zh) * | 2012-12-25 | 2014-07-02 | 三星电子(中国)研发中心 | 可扩展标记语言数据解析方法及装置 |
-
2014
- 2014-08-08 CN CN201410390762.7A patent/CN104268143B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221556A (zh) * | 2008-02-01 | 2008-07-16 | 中国建设银行股份有限公司 | 一种xml文件解析的方法及装置 |
CN101267438A (zh) * | 2008-04-24 | 2008-09-17 | 中兴通讯股份有限公司 | 协议兼容的实现方法及客户端 |
CN102073662A (zh) * | 2009-11-23 | 2011-05-25 | 北大方正集团有限公司 | 一种解析和创建xml数据的方法及系统 |
CN103902539A (zh) * | 2012-12-25 | 2014-07-02 | 三星电子(中国)研发中心 | 可扩展标记语言数据解析方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107533453A (zh) * | 2015-03-06 | 2018-01-02 | 思科技术公司 | 用于生成数据可视化应用的系统和方法 |
CN106503003A (zh) * | 2015-09-06 | 2017-03-15 | 阿里巴巴集团控股有限公司 | 一种可扩展标记语言xml文档的压缩、解压方法和装置 |
CN105160004A (zh) * | 2015-09-17 | 2015-12-16 | 西安未来国际信息股份有限公司 | 一种基于b/s架构的异构系统的数据映射方法 |
CN107943483A (zh) * | 2017-11-23 | 2018-04-20 | 北京酷我科技有限公司 | 一种iOS中数据正向解析方法 |
CN107943483B (zh) * | 2017-11-23 | 2023-03-24 | 北京酷我科技有限公司 | 一种iOS中数据正向解析方法 |
CN110351315A (zh) * | 2018-04-03 | 2019-10-18 | 中兴通讯股份有限公司 | 数据处理的方法、系统及存储介质、电子装置 |
CN110059226A (zh) * | 2019-04-26 | 2019-07-26 | 深圳市元征科技股份有限公司 | 一种xml数据存储解析方法、装置、设备及计算机介质 |
CN110619185A (zh) * | 2019-09-25 | 2019-12-27 | 北京世冠金洋科技发展有限公司 | 一种数据处理方法、装置及电子设备 |
CN112559612A (zh) * | 2020-12-15 | 2021-03-26 | 北京动力机械研究所 | 动态数据提取及共享方法及装置 |
CN112559612B (zh) * | 2020-12-15 | 2024-05-10 | 北京动力机械研究所 | 动态数据提取及共享方法及装置 |
CN112905701A (zh) * | 2021-02-24 | 2021-06-04 | 河南辉煌科技股份有限公司 | 一种多协议通信实时库数据聚合方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104268143B (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268143A (zh) | Xml数据的处理方法和装置 | |
EP2943859B1 (en) | System, method, and computer-readable medium for managing edge devices | |
CN105956082A (zh) | 实时数据处理与存储系统 | |
CN110019267A (zh) | 一种元数据更新方法、装置、系统、电子设备及存储介质 | |
CN206249316U (zh) | 一种基于云端的医院数据中心平台系统 | |
US10432703B2 (en) | On-demand session upgrade in a coordination service | |
CN104809650A (zh) | 一种异构感知数据的动态适配接入方法 | |
US20120232934A1 (en) | Automated insurance policy form generation and completion | |
CN104881285A (zh) | 基于本体的代码片段标注与重用系统 | |
CN102043837A (zh) | 数据整合系统和方法 | |
CN105577763A (zh) | 一种动态副本一致性维护系统、方法及云存储平台 | |
CN113868248A (zh) | 指标数据预聚合方法 | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN102385617A (zh) | 动态域查询及查询转换 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN111475588A (zh) | 数据处理方法及装置 | |
CN107506422A (zh) | 一种多数据源的分布式日志处理系统及方法 | |
CN106570151A (zh) | 一种海量文件的数据收集处理方法及系统 | |
CN108021607A (zh) | 一种基于大数据平台的无线城市审计数据离线分析方法 | |
CN115567526B (zh) | 数据监控方法、装置、设备及介质 | |
US20120136881A1 (en) | Exchanging data using data transformation | |
CN103092574B (zh) | 一种基于递归自主式复杂任务分解系统及方法 | |
CN1932760B (zh) | 用于运行应用程序的系统和方法 | |
Shi et al. | Automated geoprocessing mechanism, processes and workflow for seamless online integration of geodata services and creating geoprocessing services | |
CN111666342B (zh) | 一种基于微服务架构的数据采样方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |