[发明专利]一种基于XSD结构的通用数据交换方法无效
申请号: | 201210391159.1 | 申请日: | 2012-10-16 |
公开(公告)号: | CN102929664A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 施健伟 | 申请(专利权)人: | 南京通达海信息技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210019 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 xsd 结构 通用 数据 交换 方法 | ||
1.一种基于XSD结构的通用数据交换方法,其特征在于:包括以下步骤:
第一步、 XSD解析管理器:预处理XSD“XML Schemas Definition,描述XML文档结构”文档,解析并建立XSD模型库;
第二步、实体管理器:定义和管理实体“业务的结构、关系”的数据库模型,包括表、字段、主键、外键等信息,以及管理与XSD绑定映射,为数据交换提供依据;
第三步、交换出库器:将存储在数据库中的业务数据生成满足XSD文档要求的XML文档;
第四步、交换入库器:将交换满足XSD文档要求的XML文档数据存储到数据库中。
2.根据权利要求1所述的一种基于XSD结构的通用数据交换方法,其特征在于:所述的第一步包括:
① 读取一组具有业务关系”层次关系或者依赖关系”的XSD文档到解析器的文件缓存区内;
② 使用DOM“Document Object Model文档对象模型”解析器将这组XSD文档的层次和依赖关系解析存储到数据库;
③ 依次将所有的XSD文档的结构中的元素、属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或者属性的默认和固定值定义解析存储到数据库;
④ 根据步骤②和③解析存储的数据库信息内容,迭代计算将元素、子元素分解则最小数据类型“基本数据类型:字节、数值、字符、字符串”;
⑤ 将前4步的所存储在数据库的数据进行必要的维护、建立XSD模型库。
3.根据权利要求1所述的一种基于XSD结构的通用数据交换方法,其特征在于:所述的第二步包括:
① 根据业务结构信息在数据库中建立实体模型信息,将业务结构抽象实体模型管理;
实体模型包括业务元素层次关系“主从关系”、依赖关系“外键关系”、以及主键、字段信息;
② 对解析XSD文档模型中的元素和实体模型的元素进行映射管理;映射后业务数据库和XSD数据交换文档之间就建立关系,在数据交换中就可自动的找到相应的内容并且自动的输入输出。
4.根据权利要求1所述的一种基于XSD结构的通用数据交换方法,其特征在于:所述第三步包括:
① 按照实体模型中对应的业务的主键信息以及主从关系,确定交换的业务数据范围,然后从数据库中将主业务“基本信息,从该信息可以获取所有子信息”信息读取到交换器缓冲区内;
② 根据实体模型生成对应的数据检索脚本;
③ 找到与实体模型对应的XSD模型,将映射关系读取后记载到缓存表内;
④ 逐行遍历缓存区内的业务信息记录,然后根据②生成的检索脚本将数据检索出来后存储到高速缓存中,按照步骤③的映射关系遍历XSD文档模型,将高速缓存中存储的数据合并输出到XML文档;
⑤ 校验输出XML文档是否满足XSD格式要求,如满足则输出文档,否则删除该文档。
5.根据权利要求1所述的一种基于XSD结构的通用数据交换方法,其特征在于:所述第四步包括:
① 根据交换的需求,找到实体模型中对应的业务模型“具体的实体定义”;
② 根据实体模型与XSD模型的关系,找出对应的XSD文档“需要按步骤1预处理解析的XSD文档”,进行数据规则、内容的完整性校验;如果校验成功则执行步骤③,否则结束任务;
③ 根据实体模型和XSD模型的映射关系“步骤2中定义的映射关系”,生成数据库的执行脚本;生成脚本按照实体模型库中数据库表字段的粘合度“按同表的数据字段合并为一条脚本的方式,减少脚本的执行数量”优化生成;
④ 建立数据交换入库线程池以及N,N≥1个交换前置库“工作线程数量等于前置库的数量”;线程调度轮序算法”依次为线程分配一个文档处理任务,循环多次直到任务分配结束”自动分配任务给工作线程;线程根据XSD模型中的定义信息,通过DOM解析器遍历XML文档的元素和属性,将获取的数据“键值”存储到高速缓存中,然后按照③生成的数据库脚本合并产生最终可执行的脚本,提交给前置数据库进行执行;
⑤ 等所有的线程任务完成后,使用数据库管道技术“关系数据库自带的数据传输技术”,将N前置库的数据同步到目标数据库,然后清除前置库的临时数据,完成一次数据交换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京通达海信息技术有限公司,未经南京通达海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210391159.1/1.html,转载请声明来源钻瓜专利网。