[发明专利]一种基于XML的数据交换方法和系统在审
申请号: | 201711034221.0 | 申请日: | 2017-10-30 |
公开(公告)号: | CN107894973A | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 周忠华;申堃;李伟;杨肖;唐寅 | 申请(专利权)人: | 武汉华工赛百数据系统有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22;G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 王莹,吴欢燕 |
地址: | 430223 湖北省武汉市东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 xml 数据 交换 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种基于XML的数据交换方法和系统。
背景技术
在互联网领域,各个平台之间都需要通过数据交换来传递关键业务信息。当一个平台将其汇总的数据以大量的XML数据报文形式上报到另一个平台,该平台需要将这些数据进行解析,并将解析结果以及解析出的内容回传,便于后续两个平台之间的信息反馈和数据分析。在整个交互过程中,由于数据量非常大,因此在做XML数据报文解析的同时,需要考虑到解析效率以及消耗资源等问题。XML,即可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。目前,XML数据报文被广泛应用于数据交换。
一种常用的XML解析方法是VTD-XML解析方法。VTD-XML是一种无提取的XML解析方法,它较好的解决了文档对象模型(DocumentObject Model,简称DOM)解析占用内存过大的缺点,并且还提供了快速的解析与遍历、对XPath的支持和增量更新等特性,较好的解决了SAX(Simple API for XML)解析没有内置的文档导航支持、不能够随机访问XML文档、不支持在原地修改XML和XML越复杂时解析应用逻辑越复杂等不足。为了实现非提取(non-extractive)这个目的,它将原XML文件原封不动的以二进制的方式读进内存,连解码都不做,然后在这个二进制byte数组上解析每个元素(element)的位置及其类型信息(该信息指每个element的内存物理存储地址,类似于C语言的指针),并记录下来。这种记录就被称为虚拟令牌描述符(Virtual Token Descriptor,简称VTD)。之后的遍历操作便在这些保存下来的记录上进行,如果需要提取XML内容就就查找VTD数组,利用VTD记录中的位置等信息在原始byte数组上进行解码并返回字符串。
由于VTD技术的具体应用太过底层,VTD-XML解析方法在解析中会反复调用各种底层应用程序编程接口(Application Programming Interface,简称API),API无法复用,导致基于XML的数据交换效率不高、可扩展性不高。
现有的大部分系统平台数据交换中,数据交换机制中一般没有明确的数据格式规范,也没有制定明确的流程。
发明内容
为解决现有数据交换存在的数据交换流程不明确的不足,本发明提供一种基于XML的数据交换方法和系统。
根据本发明的一个方面,提供一种基于XML的数据交换方法,包括:S1、解析子平台发送的符合规范的XML数据报文,获取解析后数据的类型和值;S2、根据所述解析后数据的类型,判断所述解析后数据的值是否存在逻辑错误;S3、根据所述解析后数据的值是否存在逻辑错误的判断结果,生成响应数据,并将所述响应数据反馈给所述子平台。
优选地,所述步骤S1进一步包括:S11、通过解析所述符合规范的XML数据报文的报文头,获取所述解析后数据的类型;S12、根据所述解析后数据的类型,解析所述符合规范的XML数据报文的报文体,获取所述解析后数据的值。
优选地,XML数据为由多个节点组成的树状结构,所述步骤S12具体包括:利用数据交换公共接口,根据所述解析后数据的类型,选择对应的数据交换实现类,解析所述符合规范的XML数据报文的报文体,获取所述解析后数据的值;其中,所述数据交换公共接口包括第一抽象方法和第二抽象方法;所述第一抽象方法,用于获取从根节点至每个叶子节点的路径;所述第二抽象方法,用于根据每条路径,获取所有路径上叶子节点的值作为所述解析后数据的值。
优选地,所述数据交换公共接口还包括第三抽象方法;所述第三抽象方法被所述第二抽象方法调用,所述第三抽象方法用于定位到当前节点的子节点。
优选地,所述步骤S1之前还包括:S0、接收所述子平台发送的XML数据报文,判断所述XML数据报文是否符合规范;当所述XML数据报文不符合规范时,记录相应的错误代码和错误信息,并反馈至所述子平台。
优选地,所述判断所述XML数据报文是否符合规范的具体步骤包括:检查所述XML数据报文是否为有效的XML格式;当所述XML数据报文为有效的XML格式时,检查所述XML数据报文的报文头是否满足XSD文件规定的格式;当所述XML数据报文的报文头满足XSD文件规定的格式时,检查所述XML数据报文的报文体的每个节点的层级是否满足XSD文件规定的格式;当所述XML数据报文的报文体的每个节点的层级满足XSD文件规定的格式时,检查所述每个节点的属性和值是否满足XSD文件中的定义。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉华工赛百数据系统有限公司,未经武汉华工赛百数据系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711034221.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置