数据库表和XML报文的映射方法及其系统技术方案

技术编号:21799203 阅读:48 留言:0更新日期:2019-08-07 10:31
本发明专利技术公开了一种数据库表和XML报文的映射方法及其系统,方法包括:预设数据库字段与XML报文节点字段的字段映射表;获取目标数据库;在所述目标数据库中提取预设个数的目标数据表;判断目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,XML报文模板包含主子表之间的层级嵌套关系;根据XML报文模板以及对应的目标数据表,生成对应的XML报文。本发明专利技术可实现数据表与XML报文之间的相互转换,减少项目开发、测试、管理的投入成本,提高报文解析效率,且便于管理和维护。

Mapping Method and System of Database Table and XML Message

【技术实现步骤摘要】
数据库表和XML报文的映射方法及其系统本案是以申请日为2016年06月06日,申请号为201610396661.X,名称为“数据库表和XML报文的映射处理方法及其系统”的专利技术专利为母案而进行的分案申请。
本专利技术涉及数据处理领域,尤其涉及一种数据库表和XML报文的映射处理方法及其系统。
技术介绍
在传统的数据交换、消息处理过程中有关结构化XML文件的消息处理,对于不同类型格式的报文结构基本上都是采用对XML节点或path结构硬代码写死的方式进行处理,但存在下述缺点:1、缺乏标准规范。XML结构的消息报文较多的应用场景在于数据交换及服务集成方面。报文在各个系统之间的数据交换及服务集成容易造成消息报文的格式及标准缺乏统一。主要体现在如下几个层面:报文格式、字符集编码、特殊字符、报文节点命名格式、报文属性、报文版本、不同类型的数据库、数据源的支持等。上述缺点容易造成消息报文在各系统之间交互产生格式问题、当出现问题时技术衔接的两方需要不断的沟通和排查从而增加问题排查的复杂度。2、报文解析低效。在XML结构化报文解析处理方面,传统的报文处理方式主要是基于开源的dom4j或jdom等方式进行解析,在报文解析方面大部分时间消耗在报文模板、path的解析、缺乏相应的缓存加载策略,未充分利用缓存技术实现“一次加载、处处使用”的技术优势特点。报文在高并发、大数据量的处理过程中极易造成解析效率低、解析处理时间加长。3、代码复用率低。常规的XML报文解析处理主要采用硬编码方式,随着业务的发展要求需要对XML的报文结构做增加或删除节点处理、增加新的报文内容时都需要进行代码方面的调整从而加大项目的开发、测试、管理等投入成本。另外一点当项目上线后并且已稳定的在实际生产环境中运行,此种调整都是存在一定的风险和代价的,容易造成由于编码设计的调整造成系统的不稳定性从而带来相应的风险。4、管理维护困难。在复杂的数据交换或服务集成方面,特别是部委级与省局、地市级的数据交换场景中,比如当核心系统的业务需求、库表字段发生变化时。与之相关的外围系统涉及到这些业务需求变化或数据字段添加时都面临着调整。如何在第一时间响应业务发展的需求要求、如何在各个系统之间控制报文模板结构和版本的兼容性是非常关键和迫切的,也是本引擎需重点解决的问题。5、缺乏有效监控。常规的报文处理和解析基本上都与业务代码紧耦合设计处理,在典型的数据交换和服务集成的应用场景中监控起来困难,无法对报文解析处理的时间、异常处理情况、报文模板自动更新、版本进行统一的监控和跟踪。在公开号为CN105138613A的中国专利公开文件中,提出了一种业务对象和xml报文相互转换的方法及系统,其中方法具体包括以下步骤:步骤1:创建报文节点映射表,并将报文节点和业务对象映射信息导入映射表;步骤2:接收读取请求,读取报文节点和业务对象映射信息到缓存中;步骤3:对报文节点和业务对象进行格式校验;步骤4:系统根据映射关系将XML报文转换为业务对象;或者系统根据映射关系将业务对象转换为XML报文数据。但该方案是基于业务对象,与业务代码之间高耦合,且是基于数据库配置的方式,管理维护较为困难。
技术实现思路
本专利技术所要解决的技术问题是:提供一种数据库表和XML报文的映射处理方法及其系统,提高报文解析效率,且便于管理和维护。为了解决上述技术问题,本专利技术采用的技术方案为:一种数据库表和XML报文的映射处理方法,包括:预设数据库字段与XML报文节点字段的字段映射表;获取目标数据库;在所述目标数据库中提取预设个数的目标数据表;判断所述目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。本专利技术还涉及一种数据库表和XML报文的映射处理系统,包括:第一预设模块,用于预设数据库字段与XML报文节点字段的字段映射表;第一获取模块,用于获取目标数据库;提取模块,用于在所述目标数据库中提取预设个数的目标数据表;第一判断模块,用于判断所述目标数据表之间是否存在主子表关系;第一确定模块,用于若是,则确定至少一组的主子表关系;第一生成模块,用于根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;第二生成模块,用于根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。本专利技术的有益效果在于:通过XML报文模板实现数据表与XML报文之间的相互转换,当业务逻辑发生变化时,只要调整相应的报文模板即可,可减少项目开发、测试、管理的投入成本,提高报文解析效率,且便于管理和维护。附图说明图1为本专利技术一种数据库表和XML报文的映射处理方法的流程图;图2为本专利技术实施例一的方法流程图;图3为本专利技术实施例二的方法流程图;图4为本专利技术一种数据库表和XML报文的映射处理系统的结构示意图;图5为本专利技术实施例三的结构示意图。标号说明:1、第一预设模块;2、第一获取模块;3、提取模块;4、第一判断模块;5、第一确定模块;6、第一生成模块;7、第二生成模块;8、发送模块;9、解析模块;10、发布模块;11、推送模块;12、第二获取模块;13、比对模块;14、更新模块;15、保存模块;16、启用模块;17、第二判断模块;18、第三生成模块;19、执行模块;20、第四生成模块;21、第五生成模块。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:通过XML报文模板实现数据表与XML报文之间的相互转换。请参阅图1,一种数据库表和XML报文的映射处理方法,包括:预设数据库字段与XML报文节点字段的字段映射表;获取目标数据库;在所述目标数据库中提取预设个数的目标数据表;判断所述目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。从上述描述可知,本专利技术的有益效果在于:可将一个或多个任意数据表转换成XML报文,可减少项目开发、测试、管理的投入成本,提高报文解析效率,且便于管理和维护。进一步地,所述“生成对应的XML报文”之后,进一步包括:发送所述XML报文至一通讯节点;所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。由上述描述可知,可将XML报文写入到一个或多个表中,从而实现数据库到XML、XML到数据库双向出库、入库的数据解析过程。进一步地,所述“生成对应主子表关系组数的XML报文模板”之后,进一步包括:将所述XML报文模板的更新信息发布至服务总线;服务总线将所述更新信息推送至各通讯节点;各通讯节点获取所述更新信息;比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板。进一步地,本文档来自技高网
...

【技术保护点】
1.一种数据库表和XML报文的映射方法,其特征在于,包括:预设数据库字段与XML报文节点字段的字段映射表;获取目标数据库;在所述目标数据库中提取预设个数的目标数据表;判断所述目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文;发送所述XML报文至一通讯节点;所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表;所述“生成对应主子表关系组数的XML报文模板”之后,进一步包括:将所述XML报文模板的更新信息发布至服务总线;服务总线将所述更新信息推送至各通讯节点;各通讯节点获取所述更新信息;比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板;保存历史XML报文模板;若更新后的XML报文模板出现错误,启用历史XML报文模板。

【技术特征摘要】
1.一种数据库表和XML报文的映射方法,其特征在于,包括:预设数据库字段与XML报文节点字段的字段映射表;获取目标数据库;在所述目标数据库中提取预设个数的目标数据表;判断所述目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文;发送所述XML报文至一通讯节点;所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表;所述“生成对应主子表关系组数的XML报文模板”之后,进一步包括:将所述XML报文模板的更新信息发布至服务总线;服务总线将所述更新信息推送至各通讯节点;各通讯节点获取所述更新信息;比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板;保存历史XML报文模板;若更新后的XML报文模板出现错误,启用历史XML报文模板。2.根据权利要求1所述的数据库表和XML报文的映射方法,其特征在于,所述“生成对应主子表关系组数的XML报文模板”之前,进一步包括:判断是否存在对应所述主子表关系的XML报文模板;若是,根据所述XML报文模板以及对应的目标数据表,生成对应所述目标数据表的XML报文;若否,则执行所述生成对应主子表关系组数的XML报文模板的步骤。3.一种数据库表和XML报文的映射系统,其特征在于,包括:第一预设模块,用于预设数据库字段与XML报文节点字段的字段映...

【专利技术属性】
技术研发人员:姚少扬靳谊
申请(专利权)人:福建榕基软件股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1