CN110222236B - Xml报文模板的生成及更新方法及其系统 - Google Patents
Xml报文模板的生成及更新方法及其系统 Download PDFInfo
- Publication number
- CN110222236B CN110222236B CN201910321828.XA CN201910321828A CN110222236B CN 110222236 B CN110222236 B CN 110222236B CN 201910321828 A CN201910321828 A CN 201910321828A CN 110222236 B CN110222236 B CN 110222236B
- Authority
- CN
- China
- Prior art keywords
- xml message
- message template
- generating
- module
- updating
- 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.)
- Active
Links
Images
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/86—Mapping to a database
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种XML报文模板的生成及更新方法及其系统,方法包括:预设数据库字段与XML报文节点字段的字段映射表;在目标数据库中提取预设个数的目标数据表;判断目标数据表之间是否存在主子表关系;若是,则确定至少一组的主子表关系;根据字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板;将XML报文模板的更新信息发布至服务总线;服务总线将更新信息推送至各通讯节点;各通讯节点比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;若不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板。本发明可保证在数据处理过程中解析机制保持一致。
Description
本案是以申请日为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报文模板。
进一步地,所述“若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板”之后,进一步包括:
保存历史XML报文模板;
若更新后的XML报文模板出现错误,启用历史XML报文模板。
由上述描述可知,通过更新XML报文模板,保证在数据处理过程中解析机制保持一致。
进一步地,所述“生成对应主子表关系组数的XML报文模板”之前,进一步包括:
判断是否存在对应所述主子表关系的XML报文模板;
若是,根据所述XML报文模板以及对应的目标数据表,生成对应所述目标数据表的XML报文;
若否,则执行所述生成对应主子表关系组数的XML报文模板的步骤。
由上述描述可知,当目标数据库中的目标数据表均存在与之对应的XML报文模板时,可直接将数据表转换为XML报文,提高解析效率。
进一步地,所述“判断所述目标数据表之间是否存在主子表关系”之后,进一步包括:
若否,分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板;
根据所述目标数据表及其对应的XML报文模板,生成对应的XML报文。
由上述描述可知,若目标数据表之间不存在主子表关系,则表示所提取的目标数据表均为主表,由于一个报文只包含一个主表,因此各个目标数据表分别生成各自的XML报文。
请参照图4,本发明还提出一种数据库表和XML报文的映射处理系统,包括:
第一预设模块,用于预设数据库字段与XML报文节点字段的字段映射表;
第一获取模块,用于获取目标数据库;
提取模块,用于在所述目标数据库中提取预设个数的目标数据表;
第一判断模块,用于判断所述目标数据表之间是否存在主子表关系;
第一确定模块,用于若是,则确定至少一组的主子表关系;
第一生成模块,用于根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;
第二生成模块,用于根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。
进一步地,还包括:
发送模块,用于发送所述XML报文至一通讯节点;
解析模块,用于所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。
进一步地,还包括:
发布模块,用于将所述XML报文模板的更新信息发布至服务总线;
推送模块,用于服务总线将所述更新信息推送至各通讯节点;
第二获取模块,用于各通讯节点获取所述更新信息;
比对模块,用于比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;
更新模块,用于若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板。
进一步地,还包括:
保存模块,用于保存历史XML报文模板;
启用模块,用于若更新后的XML报文模板出现错误,启用历史XML报文模板。
实施例一
请参照图2,本发明的实施例一为:一种数据库表和XML报文的映射处理方法,包括如下步骤:
S1:预设数据库字段与XML报文节点字段的字段映射表;例如,通过<table>节点中name=“数据库表名”,column标识为对应的XML报文中对应的节点;字段映射属性说明如表1所示;每个table包含一个或多个field,field有很多属性需要设定,比如数据类型、显示格式等,其中两个比较重要的属性为is_pk和is_bizpk,用于表明该字段是否是主键或业务主键,业务主键的作用非常大,在更新的情况下,业务主键会用来定位记录,由于主键可能是Sequence类型的,两个数据库没办法共用同一个Sequence,所以用主键定位记录会出现问题,因此,要求每个表一定要配置业务主键,有时一个字段既可以作为主键也可以作为业务主键。
表1
S2:获取目标数据库;通过用户名、密码、配置数据库连接信息,选择数据库连接格式,进入目标数据库;可支持基于标准SQL类型的多种关系型数据库,如oracle、sqlserver、mysql等业界流行关系型数据库。
S3:在所述目标数据库中提取预设个数的目标数据表;根据业务需求确定所述预设个数。
S4:判断所述目标数据表之间是否存在主子表关系,若是,执行步骤S5,若否,执行步骤S9;可通过判断目标数据表之间的是否存在字段关联,从而判断是否存在主子表关系。
S5:确定至少一组的主子表关系;通过<table>节点属性中的is_pk="true"定义主表的主键,is_bizpk="true"定义为主子表的外键关系。
S6:判断是否存在对应所述主子表关系的XML报文模板,若是,执行步骤S8,若否,执行步骤S7。
S7:根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;即XML报文模板中定义了主表、子表之间的层次关系,以此类推也可在子表中定义子子表的层关系;同时,一个XML报文模块对应一个主子表关系,即XML报文对应数据库中的一个主表及其若干个子表,允许子表级联。
S8:根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文;执行步骤S11。
S9:若不存在主子表关系,即所提取的预设个数的目标数据表均为主表,则分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板。
S10:根据所述各个目标数据表及其对应的XML报文模板,生成对应的XML报文;执行步骤S11。
S11:发送所述XML报文至一通讯节点;
S12:一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。
优选地,在生成XML报文之前,按照报文格式交换规范,并考虑与其它外部系统的数据交换,报文的字符集编码,默认统一基于标准的UTF-8设计,当有其它字符集要求时可灵活设置。通过预设标准化的XML报文的字符集编码,可避免在各系统之间在交互时产生报文格式问题,报文标准规范保持统一,提高整体可维护性。
可选地,可以先选择目标数据表,再根据目标数据表配置字段映射表;可以先选择主表,再选择其关联子表。
优选地,上述步骤采用可视化工具管理实现,通过报文可视化工具,进行数据库关系设置、字段的映射配置、字段属性的选择、格式的选择等。如通过可视化的维护界面维护报文的主表信息、子表信息、主子表的关系及主子表包含的字段属性,报文结构支持动态生成XML报文文件;可视化工具可提供表名称、中文名称的查询功能,通过关键字段可查询到报文模板信息;提供模板的测试功能,通过测试数据测试模板的准确性、有效性;提供加载数据库表功能,加载数据库字段信息;提供字段列的新增、修改、删除功能,加载列功能等。提供多线程处理环境,通过多线程机制,支持线程的动态设置和调整,进行业务数据库的抽取和解析进行线程分离设计,提高整体处理性能;线程数量根据硬件资源情况,可动态调整,使其处于最佳的处理状态。提供API调用方式和web服务方式两种服务方式,方便不同的开发语言调用,其中API调用方式,用户可进行接口扩展,重新接口方法,支持用户自定义函数,可大大减少代码的冗余度。
上述步骤的一个具体例子如下:表2和表3为所提取的目标数据表中的部分数据,表关系说明如表4所示;
表2
GOODS_ID | DECL_ID | CIQ_CODE |
938224C0C0A81D9D01DBC14491994985 | 111 | 5303900000999 |
表3
表4
生成的XML报文模板如下:
生成XML报文如下:
其中,因为字段DECL_ID的内容是由相关组件直接生成的标识符,在生成XML报文时可省略,当另一通讯节点接收所述XML报文后,相关组件会自动补充所述该字段的内容。
本实施例可实现数据库到XML、XML到数据库双向出库、入库的数据解析过程,按照预先定义好的模板规则,进行数据的解析,并支持所有XML现行标准,包括Namespace、XPath、W3C schema、DTD、X-Query等,可实现一个或多个任意数据表转换成XML报文,也可将XML报文写入到一个或多个表中。随着业务的发展要求需要,可对XML报文的结构做增加或删除节点处理,增加新的报文模板时通过提供相应的调用函数、api及接口适配策略做到零编码处理机制,降低与业务代码的耦合度,提高代码复用率。
实施例二
请参照图3,本实施例是实施例的进一步拓展,相同之处不再累述,区别在于,所述步骤S7之后,还包括模板更新过程,具体包括如下步骤:
S13:将所述XML报文模板的更新信息发布至服务总线。
S14:服务总线将所述更新信息推送至各通讯节点。
S15:各通讯节点获取所述更新信息。
S16:比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;优选地,所述唯一标识符为模板编号。
S17:判断是否需要更新,若是,执行步骤S18,若否,则执行步骤S21;即判断唯一标识符一致时,版本号是否一致,若一致则不需要更新,若不一致则需要更新。
S18:将正在使用的XML报文模板更新为更新信息中的XML报文模板。
S19:保存历史XML报文模板;XML报文模板发布后,要对历史的XML报文模板进行跟踪,保留修改的痕迹,同时对所有的XML报文模板进行后台备份。
S20:若更新后的XML报文模板出现错误,启用历史XML报文模板;当新版本的XML报文模板有问题的时候,可随时恢复和启用旧有的XML报文模板。
S21:获取更新信息中的下一XML报文模板,继续与正在使用XML报文模板进行比对,即执行步骤S16。
当集成调用方越来越多时,并且各调用方都使用同一种XML报文模板类型,支持XML报文模板的在线远程自动更新,以保证在数据处理过程中解析机制保持一致。
将XML报文模板更新的服务支持发布至服务总线上,通过的消息发布、订阅模式,当XML报文模板发生变化的时候,通过消息发布订阅方式,将新的XML报文模板推送至各通讯节点(消息订阅端),通讯节点同步更新完业务报文模板之后,返回处理的结果。
XML报文模板采用缓存机制,每次对XML报文模板进行解析的话会占用整个解析过程的20%的时间,所以设计时充分考虑“一次加载、处处可用”,XML报文模板在初始化首次进行加载后,后续再调用时无需再进行解析,以此提高整个过程的处理性能及解析的时间。
本实施例通过自动更新XML报文模板,对模板版本进行统一的监控和跟踪,提高在数据交换、服务集成方面的可维护性。
实施例三
请参照图5,本实施例为对应上述实施例的一种数据库表和XML报文的映射处理系统,包括:
第一预设模块1,用于预设数据库字段与XML报文节点字段的字段映射表;
第一获取模块2,用于获取目标数据库;
提取模块3,用于在所述目标数据库中提取预设个数的目标数据表;
第一判断模块4,用于判断所述目标数据表之间是否存在主子表关系,得到第一判断结果;
第一确定模块5,用于若第一判断结果为是,则确定至少一组的主子表关系;
第一生成模块6,用于根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;
第二生成模块7,用于根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。
还包括:
发送模块8,用于发送所述XML报文至一通讯节点;
解析模块9,用于所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。
还包括:
发布模块10,用于将所述XML报文模板的更新信息发布至服务总线;
推送模块11,用于服务总线将所述更新信息推送至各通讯节点;
第二获取模块12,用于各通讯节点获取所述更新信息;
比对模块13,用于比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;
更新模块14,用于若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板。
还包括:
保存模块15,用于保存历史XML报文模板;
启用模块16,用于若更新后的XML报文模板出现错误,启用历史XML报文模板。
还包括:
第二判断模块17,用于判断是否存在对应所述主子表关系的XML报文模板,得到第二判断结果;
第三生成模块18,用于若第二判断结果为是,根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文;
执行模块19,用于若第二判断结果为否,则执行所述第一生成模块6。
还包括:
第四生成模块20,用于若第一判断结果为否,分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板;
第五生成模块21,用于根据所述目标数据表及其对应的XML报文模板,生成对应的XML报文。
综上所述,本发明提供的一种数据库表和XML报文的映射处理方法及其系统,通过XML报文模板实现数据表与XML报文之间的相互转换,当业务逻辑发生变化时,只要调整相应的报文模板即可,可减少项目开发、测试、管理的投入成本,提高报文解析效率,且便于管理和维护;通过预设标准化的XML报文的字符集编码,可避免在各系统之间在交互时产生报文格式问题,报文标准规范保持统一,提高整体可维护性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种XML报文模板的生成及更新方法,其特征在于,包括:
预设数据库字段与XML报文节点字段的字段映射表;
获取目标数据库;
在所述目标数据库中提取预设个数的目标数据表;
判断所述目标数据表之间是否存在主子表关系;
若否,分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板;若是,则确定至少一组的主子表关系;
根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;
将所述XML报文模板的更新信息发布至服务总线;
服务总线将所述更新信息推送至各通讯节点;
各通讯节点获取所述更新信息;
比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;
若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板;
保存历史XML报文模板;
若更新后的XML报文模板出现错误,启用历史XML报文模板。
2.根据权利要求1所述的XML报文模板的生成及更新方法,其特征在于,所述分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板之后,进一步包括:
根据所述目标数据表及其对应的XML报文模板,生成对应的XML报文。
3.根据权利要求1所述的XML报文模板的生成及更新方法,其特征在于,所述根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板之后,进一步包括:
根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。
4.根据权利要求2或3所述的XML报文模板的生成及更新方法,其特征在于,所述“生成对应的XML报文”之后,进一步包括:
发送所述XML报文至一通讯节点;
所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。
5.根据权利要求1所述的XML报文模板的生成及更新方法,其特征在于,所述“生成对应主子表关系组数的XML报文模板”之前,进一步包括:
判断是否存在对应所述主子表关系的XML报文模板;
若是,根据所述XML报文模板以及对应的目标数据表,生成对应所述目标数据表的XML报文;
若否,则执行所述生成对应主子表关系组数的XML报文模板的步骤。
6.一种XML报文模板的生成及更新系统,其特征在于,包括:
第一预设模块,用于预设数据库字段与XML报文节点字段的字段映射表;
第一获取模块,用于获取目标数据库;
提取模块,用于在所述目标数据库中提取预设个数的目标数据表;
第一判断模块,用于判断所述目标数据表之间是否存在主子表关系,得到第一判断结果;
第四生成模块,用于若第一判断结果为否,分别根据各个目标数据表以及字段映射表,生成对应的XML报文模板;
第一确定模块,用于若第一判断结果为是,则确定至少一组的主子表关系;
第一生成模块,用于根据所述字段映射表和主子表关系,生成对应主子表关系组数的XML报文模板,所述XML报文模板包含主子表之间的层级嵌套关系;
发布模块,用于将所述XML报文模板的更新信息发布至服务总线;
推送模块,用于服务总线将所述更新信息推送至各通讯节点;
第二获取模块,用于各通讯节点获取所述更新信息;
比对模块,用于比对更新信息中的XML报文模板和正在使用的XML报文模板的唯一标识符和版本号;
更新模块,用于若所述唯一标识符一致但版本号不一致,将正在使用的XML报文模板更新为更新信息中的XML报文模板;保存模块,用于保存历史XML报文模板;
启用模块,用于若更新后的XML报文模板出现错误,启用历史XML报文模板。
7.根据权利要求6所述的XML报文模板的生成及更新系统,其特征在于,还包括:
第五生成模块,用于根据所述目标数据表及其对应的XML报文模板,生成对应的XML报文。
8.根据权利要求6所述的XML报文模板的生成及更新系统,其特征在于,还包括:
第二生成模块,用于根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文。
9.根据权利要求7或8所述的XML报文模板的生成及更新系统,其特征在于,还包括:
发送模块,用于发送所述XML报文至一通讯节点;
解析模块,用于所述一通讯节点接收所述XML报文,并根据所述XML报文模板,解析得到对应的所述目标数据表。
10.根据权利要求6所述的XML报文模板的生成及更新系统,其特征在于,还包括:
第二判断模块,用于判断是否存在对应所述主子表关系的XML报文模板,得到第二判断结果;
第三生成模块,用于若第二判断结果为是,根据所述XML报文模板以及对应的目标数据表,生成对应的XML报文;
执行模块,用于若第二判断结果为否,则执行所述第一生成模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910321828.XA CN110222236B (zh) | 2016-06-06 | 2016-06-06 | Xml报文模板的生成及更新方法及其系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610396661.XA CN106021594B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射处理方法及其系统 |
CN201910321828.XA CN110222236B (zh) | 2016-06-06 | 2016-06-06 | Xml报文模板的生成及更新方法及其系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610396661.XA Division CN106021594B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射处理方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222236A CN110222236A (zh) | 2019-09-10 |
CN110222236B true CN110222236B (zh) | 2021-05-04 |
Family
ID=57089846
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610396661.XA Active CN106021594B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射处理方法及其系统 |
CN201910321902.8A Active CN110222237B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的转换方法及其系统 |
CN201910321833.0A Active CN110096620B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射方法及其系统 |
CN201910321828.XA Active CN110222236B (zh) | 2016-06-06 | 2016-06-06 | Xml报文模板的生成及更新方法及其系统 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610396661.XA Active CN106021594B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射处理方法及其系统 |
CN201910321902.8A Active CN110222237B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的转换方法及其系统 |
CN201910321833.0A Active CN110096620B (zh) | 2016-06-06 | 2016-06-06 | 数据库表和xml报文的映射方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN106021594B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874493A (zh) * | 2017-02-23 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种数据转换方法及装置 |
CN110019116B (zh) * | 2017-09-26 | 2023-07-07 | 南京中兴新软件有限责任公司 | 数据追溯方法、装置、数据处理设备及计算机存储介质 |
CN110110151B (zh) * | 2018-01-05 | 2022-05-10 | 北大方正集团有限公司 | 资源包解析入库的方法、系统、计算机设备和存储介质 |
CN108595511B (zh) * | 2018-03-23 | 2022-04-01 | 中国人民解放军91977部队 | 一种多样化气象水文数据分类存储处理方法和系统 |
CN109446499B (zh) * | 2018-09-25 | 2024-06-18 | 平安科技(深圳)有限公司 | 基于xml的合同模板生成方法、装置、设备及介质 |
CN109582674B (zh) * | 2018-11-28 | 2023-12-22 | 亚信科技(南京)有限公司 | 一种数据存储方法及系统 |
CN109800331A (zh) * | 2018-12-19 | 2019-05-24 | 山东中创软件工程股份有限公司 | 数据读取方法及装置、数据存储方法及装置 |
CN110084525A (zh) * | 2019-05-05 | 2019-08-02 | 重庆天蓬网络有限公司 | 一种基于业务需求的工作管理引擎方法以及装置 |
CN110609842B (zh) * | 2019-09-19 | 2022-02-22 | 中国银行股份有限公司 | 一种报文组成方法及系统 |
CN110851137B (zh) * | 2019-10-31 | 2022-08-30 | 卡斯柯信号有限公司 | 用于atc非安全数据配置的自动化实现通用方法 |
CN111126025B (zh) * | 2019-12-11 | 2024-08-09 | 航天信息股份有限公司 | 一种电子凭据版式文件模板管理方法及系统 |
CN112147963A (zh) * | 2020-09-30 | 2020-12-29 | 深圳市天启宇通科技有限公司 | 一种工业现场数据交互方法 |
CN112256469A (zh) * | 2020-10-29 | 2021-01-22 | 贵州电网有限责任公司信息中心 | 一种基于跨系统协同场景的问题智能定位方法 |
CN112486991B (zh) * | 2020-11-26 | 2024-03-01 | 北京字跳网络技术有限公司 | 数据库报表处理方法、装置和电子设备 |
CN113037844B (zh) * | 2021-03-12 | 2023-01-31 | 北京京东振世信息技术有限公司 | 一种标识更新方法和装置 |
CN112948480B (zh) * | 2021-04-21 | 2023-11-14 | 平安好医投资管理有限公司 | 数据抽取方法、装置、电子设备及存储介质 |
CN113568925B (zh) * | 2021-08-03 | 2022-08-16 | 中电金信软件有限公司 | 一种报文数据的转换方法、装置、电子设备及存储介质 |
CN113689195A (zh) * | 2021-08-27 | 2021-11-23 | 北京市律典通科技有限公司 | 案件管辖智能判断方法、装置、电子设备及存储介质 |
CN114003230B (zh) * | 2021-09-28 | 2022-08-09 | 厦门国际银行股份有限公司 | 一种sql脚本快速编写方法及系统 |
CN116341508A (zh) * | 2023-01-18 | 2023-06-27 | 深圳前海环融联易信息科技服务有限公司 | 报文模板的动态配置方法、装置、计算机设备及存储介质 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725231B2 (en) * | 2001-03-27 | 2004-04-20 | Koninklijke Philips Electronics N.V. | DICOM XML DTD/schema generator |
US7035866B1 (en) * | 2001-10-09 | 2006-04-25 | Microsoft Corporation | System and method providing diffgram format |
EP1722307A1 (fr) * | 2005-05-09 | 2006-11-15 | Amadeus s.a.s | Méthode dynamique de génération de documents XML à partir d'une base de données |
US20070005657A1 (en) * | 2005-06-30 | 2007-01-04 | Bohannon Philip L | Methods and apparatus for processing XML updates as queries |
CN100458793C (zh) * | 2007-05-10 | 2009-02-04 | 浪潮集团山东通用软件有限公司 | 数据访问层Xml格式数据与关系数据间的映射转换方法 |
CN101217406B (zh) * | 2008-01-15 | 2011-05-11 | 中兴通讯股份有限公司 | 配置数据备份和恢复方法 |
US20090182703A1 (en) * | 2008-01-16 | 2009-07-16 | Microsoft Corporation | Exposing relational database interfaces on xml data |
CN101634942A (zh) * | 2008-07-24 | 2010-01-27 | 北大方正集团有限公司 | 一种动态创建数据表的方法和系统 |
US8140558B2 (en) * | 2009-05-22 | 2012-03-20 | International Business Machines Corporation | Generating structured query language/extensible markup language (SQL/XML) statements |
CN101706716B (zh) * | 2009-09-08 | 2013-04-03 | 南京师范大学 | 基于vo的表单定制配置与解析运行方法 |
CN101770503B (zh) * | 2009-12-31 | 2013-04-17 | 深圳联友科技有限公司 | 一种文件打包解包的方法 |
US8495085B2 (en) * | 2010-09-27 | 2013-07-23 | International Business Machines Corporation | Supporting efficient partial update of hierarchically structured documents based on record storage |
CN102456053B (zh) * | 2010-11-02 | 2013-08-14 | 江苏大学 | 一种xml文档到数据库的映射方法 |
CN102096710A (zh) * | 2011-01-21 | 2011-06-15 | 周军 | 基于xml模板的报文分析方法 |
US9128986B2 (en) * | 2011-06-29 | 2015-09-08 | Infosys Limited | Method and system for managing a database having a plurality of tables |
US9323589B2 (en) * | 2012-05-15 | 2016-04-26 | Oracle International Corporation | Self registration of event—consumers/producers and auto discovery |
CN103838740A (zh) * | 2012-11-21 | 2014-06-04 | 方欣科技有限公司 | 一种报表引擎方法 |
CN103049494B (zh) * | 2012-12-07 | 2017-05-24 | 华为技术有限公司 | 一种xml文档的表格存储方法及装置 |
CN103902539B (zh) * | 2012-12-25 | 2017-11-03 | 三星电子(中国)研发中心 | 可扩展标记语言数据解析方法及装置 |
CN103207902A (zh) * | 2013-03-27 | 2013-07-17 | 交通银行股份有限公司 | 一种金融客户端数据更新方法及系统 |
KR20150074611A (ko) * | 2013-12-24 | 2015-07-02 | 삼성에스디에스 주식회사 | 관계형 데이터베이스, 데이터를 xml로 변환하는 방법 및 장치 |
CN104216952A (zh) * | 2014-08-20 | 2014-12-17 | 烽火通信科技股份有限公司 | 一种基于xml技术的通用报表生成方法及系统 |
CN104281447B (zh) * | 2014-09-01 | 2017-10-10 | 国家电网公司 | 一种报表快速生成及发布的系统及其方法 |
CN104598592A (zh) * | 2015-01-20 | 2015-05-06 | 北京仿真中心 | 一种基于xml的数据库自定义方法及系统 |
CN105138613A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种业务对象和xml报文相互转换的方法及系统 |
CN105631583A (zh) * | 2015-12-22 | 2016-06-01 | 南京南瑞集团公司 | 一种电网省地一体化调度报表的数据采集处理方法 |
CN105472044B (zh) * | 2016-01-26 | 2019-11-12 | 云南电网有限责任公司电力科学研究院 | 一种基于xml的dl/t645与goose映射方法 |
-
2016
- 2016-06-06 CN CN201610396661.XA patent/CN106021594B/zh active Active
- 2016-06-06 CN CN201910321902.8A patent/CN110222237B/zh active Active
- 2016-06-06 CN CN201910321833.0A patent/CN110096620B/zh active Active
- 2016-06-06 CN CN201910321828.XA patent/CN110222236B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106021594A (zh) | 2016-10-12 |
CN110222237A (zh) | 2019-09-10 |
CN110222236A (zh) | 2019-09-10 |
CN106021594B (zh) | 2019-06-11 |
CN110222237B (zh) | 2021-01-19 |
CN110096620B (zh) | 2021-02-26 |
CN110096620A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222236B (zh) | Xml报文模板的生成及更新方法及其系统 | |
US8032544B2 (en) | Methods and apparatus for generating dynamic program files based on input queries that facilitate use of persistent query services | |
US8838655B2 (en) | Type projection query of an instance space | |
US9280568B2 (en) | Zero downtime schema evolution | |
US7873899B2 (en) | Mapping schemes for creating and storing electronic documents | |
US9171051B2 (en) | Data definition language (DDL) expression annotation | |
US20210073196A1 (en) | Semantic, single-column identifiers for data entries | |
CN111078205A (zh) | 一种模块化编程方法、装置、存储介质及电子设备 | |
US20050050056A1 (en) | Mechanism to enable evolving XML schema | |
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
Brahmia et al. | Schema versioning in conventional and emerging databases | |
CN111241065A (zh) | 一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置 | |
CN109344306B (zh) | 一种领域多标准元数据定制化在线汇交与服务方法及系统 | |
CN111475534B (zh) | 一种数据查询方法及相关设备 | |
US20110131552A1 (en) | Augmenting visualization of a call stack | |
CN114138247A (zh) | 适用于多系统的接口管理方法和系统 | |
CN114490651A (zh) | 数据存储方法及装置 | |
CN109144489B (zh) | 基于Yang语言模型的状态数据处理方法 | |
CN111752546A (zh) | 一种基于Excel的数据库对象设计管理平台、系统及方法 | |
CN112685379A (zh) | 数据组织方式、系统和设备以及存储介质 | |
CN112100207B (zh) | 一种子查询处理方法、装置、设备及存储介质 | |
EP4170516A1 (en) | Metadata elements with persistent identifiers | |
CN111222015B (zh) | 一种异构xml映射生成文档方法 | |
WO2024108638A1 (zh) | 一种基于分片索引的自适应查询方法和装置 | |
EP4155968A1 (en) | Identification and import of metadata for extensions to database artefacts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |