CN110609842B - 一种报文组成方法及系统 - Google Patents
一种报文组成方法及系统 Download PDFInfo
- Publication number
- CN110609842B CN110609842B CN201910887927.4A CN201910887927A CN110609842B CN 110609842 B CN110609842 B CN 110609842B CN 201910887927 A CN201910887927 A CN 201910887927A CN 110609842 B CN110609842 B CN 110609842B
- Authority
- CN
- China
- Prior art keywords
- interface
- template
- message
- database
- templates
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种报文组成方法及系统,确定待组报的报文接口,报文接口预先配置接口基础参数维护表,基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定报文接口所有的接口模板对应的数据库字段值,针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据,根据接口编码转换报文数据,得到指定编码格式的报文字符串。通过上述方法,配置接口模板对应的数据库查询操作的SQL语句,将SOL语句查询出来的字段值填充至接口模板的目标字段中,实现使用同一个组报程序组出不同接口格式的报文的目的。
Description
技术领域
本发明涉及数据库技术领域,更具体地说,涉及一种报文组成方法及系统。
背景技术
不同应用系统之间的信息交互是基于一致的接口格式进行的,通过双方协商一致的接口格式拼组双方交互报文的内容,即组报,该报文可以是字符串消息、文件等。
现有技术中,在组报的过程中,由于接口格式不同,数据库读取数据操作及接口格式被设计在程序里,当接口或者数据结构发生变更时,需要重新对接口开发不同的组报程序,从而使得开发的工作量加大。
发明内容
有鉴于此,本发明公开了一种报文组成方法及系统,实现使用同一个组报程序组出不同接口格式的报文的目的。
为了实现上述目的,现提出的方案如下:
本发明公开了一种报文组成方法,包括:
确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID;
基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值;
针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据;
根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
优选的,所述报文接口预先配置接口基础参数维护表的过程,包括:
根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板;
配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息;
存储所述接口模板的ID、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系;
配置所述数据库查询操作ID的信息、所述数据库查询SQL语句和所述接口模板目标字段的信息;
存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
优选的,配置所述接口模板中的一个父模板和多个子模板的过程,包括:
根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板;
基于所述接口模式配置所述父模板的模板内容,其中,所述父模板嵌套多个所述子模板;
基于所述接口循环内容配置所述子模板的模板内容,其中,所述子模板嵌套多个所述子模板;
在所述父模板的模板内容或所述子模板的模板内容中设置关键字段;
将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
优选的,所述基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值,包括:
执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录;
基于所述数据库查询记录确定所述报文接口所有的接口模板对应的数据库字段值。
优选的,所述针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据,包括:
针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值;
将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串;
将所述字符串执行拼组操作得到报文数据。
本发明第二方面公开了一种报文组成系统,包括:
第一确定单元,用于确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID;
第二确定单元,用于基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值;
拼组单元,用于针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据;
转换单元,用于根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
优选的,所述报文接口预先配置接口基础参数维护表的过程的所述第一确定单元,包括:
第一配置模块,根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板;
第二配置模块,用于配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息;
第一存储模块,用于存储所述接口模板的ID的信息、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系;
第三配置模块,用于配置所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段的信息;
第二存储模块,用于存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
优选的,配置所述接口模板中的一个父模板和多个子模板的过程的所述第一配置模块,包括:
分割子模块,用于根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板;
第一配置子模块,用于基于所述接口模式配置所述父模板的模板内容,其中,所述父模板嵌套多个所述子模板;
第二配置子模块,用于基于所述接口循环内容配置所述子模板的模板内容,其中,所述子模板嵌套多个所述子模板;
设置子模块,用于在所述父模板的模板内容或所述子模板的模板内容中设置关键字段;
填充子模块,用于将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
优选的,基于所述数据库查询操作ID和所述报文接口中所需字段数据要求,确定所述报文接口所有的接口模板对应的数据库字段值的所述第二确定单元,包括:
执行模块,用于执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录;
确定模块,用于基于所述数据库查询记录确定所述报文接口所有的接口模板中目标字段对应的数据库字段值。
优选的,针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据的所述拼组单元,包括:
获取模块,用于针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值;
填充模块,用于将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串;
拼组模块,用于将所述字符串执行拼组操作得到报文数据。
经由上述技术方案可知,确定待组报的报文接口,报文接口预先配置接口基础参数维护表,基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定报文接口所有的接口模板对应的数据库字段值,针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据,根据接口编码转换报文数据,得到指定编码格式的报文字符串。通过上述方法,配置接口模板对应的数据库查询操作的SQL语句,将SOL语句查询出来的字段值填充至接口模板的目标字段中,实现使用同一个组报程序组出不同接口格式的报文的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种报文组成方法的流程示意图;
图2为本发明实施例公开的报文接口预先配置接口基础参数维护表的过程的流程示意图;
图3为本发明实施例公开的配置接口模板中的一个父模板和多个子模板的过程的流程示意图;
图4为本发明实施例公开的基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句及报文接口所有的接口模板对应的数据库字段值的流程示意图;
图5为本发明实施例公开的针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据的过程的流程示意图;
图6为本发明实施例公开的一种报文组成系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由背景技术可知,现有技术中,在组报的过程中,由于接口格式不同,数据库读取数据操作及接口格式被设计在程序里,当接口或者数据结构发生变更时,需要重新对接口开发不同的组报程序,从而使得开发的工作量加大。
因此,本发明公开了一种报文组成方法及系统,配置接口模板对应的数据库查询操作的SQL语句,将SOL语句查询出来的字段数据填充至接口模板的目标字段中,实现使用同一个组报程序组出不同接口格式的报文的目的。
如图1所示,为本发明实施例公开的一种报文组成方法的流程示意图,具体包括如下步骤:
步骤S101:确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID。
需要说明的是,组报是不同应用系统间的通讯需要依靠接口报文交互,根据接口格式拼组该交互报文的内容,其中报文可以是字符串消息、文件等。
接口是不同应用系统间相互通讯使用的协商一致的消息格式。
接口基础参数维护表的内容,如表1所示。
表1:
需要说明的是,接口基础参数维护表用于存储拼组一个接口报文所需的接口模板的相关信息及对应使用的数据库查询操作编号等参数。
接口基础参数维护表中包括接口ID、接口模板ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID。
接口模板类型包含父模板和子模板,该父模板的接口类型为0,该子模板的接口类型为1,拼组报文内容时父模板作为开始拼组的部分。
接口模板文件需指定硬盘存放的路径,即文件存放路径。
在组报时读取接口模板文件用于获取该接口模板文件的具体内容。
接口编码的格式可以UTF-8或者ASSIC等编码格式。
在上述步骤S101的过程中涉及到报文接口预先配置接口基础参数维护表的过程,如图2所示,具体包括如下步骤:
步骤S201:根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板。
在具体实现步骤S201的过程中,根据报文接口格式和报文接口内容循环的特点,将报文接口分割为多个接口模板。
需要说明的是,父模板中如果包含子模板,或子模板中包含另一个子模板,则需使用<zinclude templateId='模板ID'>的关键字,标识该模板下包含的子模板,此语句可以自行设定,但是需要与组报程序的实现一致。
步骤S202:配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息。
在具体实现步骤S202的过程中,由接口ID配置接口模板的ID的信息。
需要说明的是,一个接口ID可以配置多个接口模板ID,每个接口模板中只能有一个父模板,可以有多个子模板。
步骤S203:存储所述接口模板的ID、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系。
步骤S204:配置所述数据库查询操作ID的信息、所述数据库查询SQL语句和所述接口模板目标字段的信息。
在具体实现步骤S204的过程中,一个数据块操作ID对应一条数据库查询SQL语句和一组接口模板中预留的需要填写的目标字段名,即客户化模板内容。
需要说明的是,客户化目标内容是将数据库查询SQL语句查询出来的数据库字段值填充至数据库字段对应的接口模板目标字段中。
配置数据库查询操作ID、数据库查询SQL语句和接口模板模板字段的信息,如表2所示。
表2:
需要说明的是,数据库查询操作ID与上述接口基础参数维护表中数据库查询操作ID匹配。
数据库查询SQL语句可一次性查询多个字段,且查询到的结果可以有多条记录。
接口模板目标字段可以为多个,不同的接口模板目标字段用逗号“,”隔开。
步骤S205:存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
通过步骤S201-步骤S205根据报文接口格式,将报文接口分割为多个接口模板,并配置接口模板,接口模板中包括一个父模板和多个子模板,配置接口模板的ID的信息、接口模板类型的信息、接口编码的信息和数据库查询操作ID的信息,存储接口模板的ID、接口模板类型、接口编码和数据库查询操作ID之间的对应关系,配置数据库查询操作ID、数据库查询SQL语句和接口模板目标字段的信息,存储数据库查询操作ID、数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
本发明实施例中,通过对不同接口的基础参数维护表中的信息进行配置,使得可以通过同一个组报程序组出不同接口格式的报文。
在上述中涉及到配置接口模板中的一个父模板和多个子模板的过程,如图3所示,具体包括如下步骤:
步骤S301:根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板。
步骤S302:基于所述接口模式配置所述父模板的模板内容,其中,所述父模板嵌套多个所述子模板。
需要说明的是,在一个完整的接口格式中,只出现一次的模板内容设置为父模板的模板内容。
基于上述步骤S302中涉及到多个子模版嵌套父模版的内容,这里举例进行说明:
当第一模板在整个接口里出现一次,该第一模板中存在3个第二模板和2个第三模板,则该第二模板和该第三模板为同个层级关系,该第一模板为父模板,该第二模板和该第三模板为子模板,该第二模板和该第三模板嵌套在该第一模板,即父模板中。
步骤S303:基于所述接口循环内容配置所述子模板的模板内容,其中,所述子模板嵌套多个所述子模板。
需要说明的是,重复出现不止一次的内容设置为子模板的模板内容,多个不同位置重复出现的内容设置为多个子模板的内容。
基于上述步骤S303中涉及到多个子模板嵌套子模板的内容,这里举例进行说明:
当第一模板在整个接口里出现多次,该第一模板中存在着2个第二模板和2个第三模板,则该第二模板和该第三模板为同个层级关系,该第一模板为子模板,该第二模板和该第三模板为子模板,该第二模板和该第三模板嵌套在该第一模板,即子模板中。
步骤S304:在所述父模板的模板内容或所述子模板的模板内容中设置关键字段。
需要说明的是,关键字段的设置由技术人员根据实际情况进行设置。
步骤S305:将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
需要说明的是,数据库查询出的字段和接口模板目标字段是一一对应关系。
基于上述涉及到将数据库查询SQL语句查出的数据库字段值填充至对应的父模板的字段位置,这里举例进行说明:
父模板对应SQL查询记录(1条记录):“msgid000001”,“200”,“2”,“20181110”,“090000”;
父模板目标字段名:“msgid”,“totalAmount”,“totalCount”,“tranDate”,“tranTime”;
将数据库字段值填充至对应的父模板的字段位置的结果如下所示:
msgid字段值为msgid000001;
totalAmount字段值为200;
totalCount字段值为2;
tranDate字段值为20181110;
tranTime字段值为090000。
基于上述涉及到将数据库查询SQL语句查出的数据库字段值填充至对应的子模板的字段位置,这里举例进行说明:
子模板对应SQL查询记录(多条,假设有2条):
第1条记录:“100100100”,“name1”,“bank1”,“100”,“CNY”;
第2条记录:“100100101”,“name11”,“bank11”,“100”,“CNY”;
子模板目标字段名:“fromAcctNo”,“fromCusName”,“fromBank”,“amount”,“currency”;
将数据库字段值填充至对应的子模板的字段位置的结果如下所示:
第一条记录的结果:
fromAcctNo字段值为100100100;
fromCusName字段值为name1;
fromBank字段值为bank1;
amount字段值为100;
currency字段值为CNY;
第二条记录的结果:
fromAcctNo字段值为100100101;
fromCusName字段值为name11;
fromBank字段值为bank11;
amount字段值为100;
currency字段值为CNY。
通过上述步骤S301-步骤S305根据接口格式和接口循环内容将报文接口分割成一个父模板和多个子模板,基于接口模式配置所述父模板的模板内容,其中,父模板嵌套多个子模板,基于接口循环内容配置子模板的模板内容,其中,子模板嵌套多个所述子模板,在父模板的模板内容或子模板的模板内容中设置关键字段,将数据库查询SQL语句查出的数据库字段值填充至对应的父模板的字段位置或子模板的字段位置中。
在本发明实施例中,在父模板或子模板的模板内容中需要填写客户化字段值的地方,通过自行设置关键字段,从而指定组报时程序需将数据库查询SQL语句查出的字段值填充至对应的目标的指定字段位置中,达到客户化模板的目的。
步骤S102:基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值。
在具体实现步骤S102的过程中,通过对数据库查询操作ID执行数据库查询SQL语句,获取报文接口所有的接口模板对应的数据库字段值。
在上述步骤S102中涉及到基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定报文接口所有的接口模板对应的数据库字段值的过程,如图4所示,具体包括如下步骤:
步骤S401:执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录。
需要说明的是,若接口模板类型为父模板类型,父模板对应的数据库查询SQL语句查询出来的数据库查询记录只能有一条记录。
若接口类型为子模板类型,子模板对应的数据库查询SQL语句查询出来的数据查询记录可以为一条,也可以为多条,组报时根据该子模板对应的数据库查询记录的数量循环拼组子模板,一条该数据库记录的值填充一次该子模板的目标字段。
当父模板或子模板对应的数据库查询记录为0时,不拼组该父模板或该子模板。
步骤S402:基于所述数据库查询记录确定所述报文接口所有的接口模板对应的数据库字段值。
通过步骤S401-步骤S402执行数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录,基于数据库查询记录确定报文接口所有的接口模板对应的数据库字段值。
本发明实施例中,数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录,基于该数据库查询记录确定报文接口所有的接口模板中目标字段对应的数据库字段值,达到获取报文接口所有的接口模板中目标字段对应的数据库字段值的目的。
步骤S103:针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据。
在具体实现步骤S103的过程中,在数据库查询SQL语句中设定查询到的单个或多个数据库字段与单个或多个接口模板目标字段的顺序一一对应,将该数据库字段的值填充至该接口模板的目标字段中,完成接口模板的目标字段的数据填写。
需要说明的是,字符串中包含了数据库字段值信息和接口模板的目标字段数据信息。
在上述步骤S103中涉及到针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据的过程,如图5所示,具体包括如下步骤:
步骤S501:针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值。
步骤S502:将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串。
需要说明的是,接口模板里相应的字段栏位用于存储数据库字段值。
步骤S503:将所述字符串执行拼组操作得到报文数据。
通过步骤S501-步骤S503针对每一报文接口对应的所述接口模板及数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值,将查询出来的数据库字段值填充至接口模板里相应的字段栏位中,得到每一报文接口对应的字符串,将字符串执行拼组操作得到报文数据。
本发明实施例中,获取数据库字段值,将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串,并将字符串执行拼组操作得到报文数据。
步骤S104:根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
在具体实现步骤S104的过程中,报文数据通过UTF-8报文字符串进行转换,即完成组报的流程。
需要说明的是,默认报文字符串为UTF-8,可以将报文数据、内容或文件转换成其他编码格式的报文字符串,具体转换其他编码格式的报文字符串由技术人员根据实际情况进行设置。
本发明的一种应用场景中,根据需要组报的报文接口ID,读取接口基础参数维护表中对应所有的接口模板ID、接口模板类型、接口模板文件存放路径、接口编码、数据库查询操作ID,根据各个模板对应的数据库查询操作ID,读取数据库查询操作SQL语句与接口模板中字段映射关系维护表中的数据库查询SQL语句、接口模板目标字段;
执行SQL语句,查询出对应的数据库字段值,存放到二维数组里;将接口模板目标字段用英文逗号分隔成字段数组,存放到一维数组里;
从父模板开始组报,根据父模板文件存放路径,按行读取父模板文件内容。若读取某一行中未带有指定关键字{字段名}或<zinclude templateId='模板ID'>,则将此行字符串原样拼组进目标报文内容中;
若遇到关键字{字段名},则搜索数据库查询SQL语句执行后已经处理和存放数据的数组,找到{字段名}对应数据库字段值,将“{字段名}”替换成数据库字段值,将此行字符串拼组进目标报文内容中;
若读取到<zinclude templateId='模板ID'>关键字,则根据模板ID对应的子模板路径读取该模板的文件内容,同样按行读取,组报处理与上述父模板处理步骤一致。若该子模板对应的SQL查询结果为多条记录,则循环多次拼组该子模板内容,并且在循环过程中,第几次模板循环所需客户化的内容对应的就是第几条数据库查询的记录;
如此处理直至父模板的所有内容均读取完毕,这样就获取到了一个完整的原始报文消息,其中,该报文消息可以是字符串,也可以是文件形式,根据具体需求进行处理;
根据接口基础参数维护表中的接口编码,将该报文字符串转换成对应的编码,或将该报文文件转换成对应的编码,这样就完成了一个完整的组报全流程。
通过将不同接口只需要进行相应的参数、模板配置,就可以使用同一只组报程序,组出不同接口格式的报文。组报具体流程方法如上,开发者可以根据需要使用不同的编程语言开发相应的组报程序。
本发明实施例公开了一种报文组成方法,通过确定待组报的报文接口,报文接口预先配置接口基础参数维护表,基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,确定报文接口所有的接口模板对应的数据库字段值,针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据,根据接口编码转换报文数据,得到指定编码格式的报文字符串。通过上述方法,配置接口模板对应的数据库查询操作的SQL语句,将SOL语句查询出来的字段值填充至接口模板的目标字段中,实现使用同一个组报程序组出不同接口格式的报文的目的。
基于上述本发明实施例公开的报文组成方法,本发明实施例还对应公开了一种报文组成系统,如图6所示,该报文组成系统600,主要包括:
第一确定单元601,用于确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID。
第二确定单元602,用于基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值。
拼组单元603,用于针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据。
转换单元604,用于根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
进一步的,所述第一确定单元601,包括:
第一配置模块,根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板。
第二配置模块,用于配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息。
第一存储模块,用于存储所述接口模板的ID、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系。
第三配置模块,用于配置所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段的信息。
第二存储模块,用于存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
进一步的,所述第一配置模块,包括:
分割子模块,用于根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板。
第一配置子模块,用于基于所述接口模式配置所述父模板的模板内容,其中,多个所述子模版嵌套所述父模版。
第二配置子模块,用于基于所述接口循环内容配置所述子模板的模板内容,其中,多个所述子模板嵌套所述子模板。
设置子模块,用于在所述父模板的模板内容或所述子模板的模板内容中设置关键字段。
填充子模块,用于将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
进一步的,所述第二确定单元602,包括:
执行模块,用于执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录。
确定模块,用于基于所述数据库查询记录确定所述报文接口所有的接口模板中目标字段对应的数据库字段值。
进一步的,所述拼组单元603,包括:
获取模块,用于针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值。
填充模块,用于将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串。
拼组模块,用于将所述字符串执行拼组操作得到报文数据。
上述本发明实施例公开的报文组成系统的各个单元和模块具体的原理和执行过程,与上述本发明实施例公开的报文组成方法相同,可参见上述本发明实施例公开的报文组成方法中相应的部分,这里不再进行赘述。
本发明实施例的公开了一种报文组成系统,通过确定待组报的报文接口,报文接口预先配置接口基础参数维护表,基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,确定报文接口所有的接口模板对应的数据库字段值,针对每一报文接口将数据库字段值填充至接口模板的目标字段数据中,得到每一报文接口对应的字符串,并拼组得到报文数据,根据接口编码转换报文数据,得到指定编码格式的报文字符串。通过上述方法,配置接口模板对应的数据库查询操作的SQL语句,将SOL语句查询出来的字段值填充至接口模板的目标字段中,实现使用同一个组报程序组出不同接口格式的报文的目的。
基于上述本发明实施例公开的报文组成系统,上述各个单元和模块可以通过一种由处理器和存储器构成的硬件设备实现。具体为:上述各个单元和模块作为程序单元存储于存储器中,由处理器执行存储在存储器中的上述程序单元来实现报文组成。
其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现报文组成。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
进一步的,本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行报文组成。
本发明实施例中公开的设备可以是服务器、PC、PAD、手机等。
进一步的,本发明实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现报文组成方法。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种报文组成方法,其特征在于,包括:
确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID;
基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值;
针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据;
根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
2.根据权利要求1所述的方法,其特征在于,所述报文接口预先配置接口基础参数维护表的过程,包括:
根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板;
配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息;
存储所述接口模板的ID、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系;
配置所述数据库查询操作ID的信息、所述数据库查询SQL语句和所述接口模板目标字段的信息;
存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,配置所述接口模板中的一个父模板和多个子模板的过程,包括:
根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板;
基于所述接口模板配置所述父模板的模板内容,其中,所述父模板嵌套多个所述子模板;
基于所述接口循环内容配置所述子模板的模板内容,其中,所述子模板嵌套多个所述子模板;
在所述父模板的模板内容或所述子模板的模板内容中设置关键字段;
将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
4.根据权利要求1所述的方法,其特征在于,所述基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值,包括:
执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录;
基于所述数据库查询记录确定所述报文接口所有的接口模板对应的数据库字段值。
5.根据权利要求1所述的方法,其特征在于,所述针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据,包括:
针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值;
将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串;
将所述字符串执行拼组操作得到报文数据。
6.一种报文组成系统,其特征在于,包括:
第一确定单元,用于确定待组报的报文接口,所述报文接口预先配置接口基础参数维护表,所述接口基础参数维护表中至少包括所述报文接口对应的多个接口模板的ID、接口模板类型、接口模板文件存放路径、接口编码和数据库查询操作ID;
第二确定单元,用于基于数据库表结构字段设计及报文接口中所需字段要求,确定数据库查询SQL语句,并确定所述报文接口所有的接口模板对应的数据库字段值;
拼组单元,用于针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据;
转换单元,用于根据所述接口编码转换所述报文数据,得到指定编码格式的报文字符串。
7.根据权利要求6所述的系统,其特征在于,所述报文接口预先配置接口基础参数维护表的过程的所述第一确定单元,包括:
第一配置模块,根据报文接口格式,将所述报文接口分割为多个接口模板,并配置所述接口模板,所述接口模板中包括一个父模板和多个子模板;
第二配置模块,用于配置所述接口模板的ID的信息、所述接口模板类型的信息、所述接口编码的信息和数据库查询操作ID的信息;
第一存储模块,用于存储所述接口模板的ID的信息、所述接口模板类型、所述接口编码和所述数据库查询操作ID之间的对应关系;
第三配置模块,用于配置所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段的信息;
第二存储模块,用于存储所述数据库查询操作ID、所述数据库查询SQL语句和所述接口模板目标字段之间的对应关系。
8.根据权利要求7所述的系统,其特征在于,配置所述接口模板中的一个父模板和多个子模板的过程的所述第一配置模块,包括:
分割子模块,用于根据接口格式和接口循环内容将所述报文接口分割成一个父模板和多个子模板;
第一配置子模块,用于基于所述接口模板配置所述父模板的模板内容,其中,所述父模板嵌套多个所述子模板;
第二配置子模块,用于基于所述接口循环内容配置所述子模板的模板内容,其中,所述子模板嵌套多个所述子模板;
设置子模块,用于在所述父模板的模板内容或所述子模板的模板内容中设置关键字段;
填充子模块,用于将所述数据库查询SQL语句查出的数据库字段值填充至对应的所述父模板的字段位置或所述子模板的字段位置中。
9.根据权利要求6所述的系统,其特征在于,基于所述数据库查询操作ID和所述报文接口中所需字段数据要求,确定所述报文接口所有的接口模板对应的数据库字段值的所述第二确定单元,包括:
执行模块,用于执行所述数据库查询操作ID对应的数据库查询SQL语句,得到数据库查询记录;
确定模块,用于基于所述数据库查询记录确定所述报文接口所有的接口模板中目标字段对应的数据库字段值。
10.根据权利要求6所述的系统,其特征在于,针对每一所述报文接口将所述数据库字段值填充至所述接口模板的目标字段数据中,得到每一所述报文接口对应的字符串,并拼组得到报文数据的所述拼组单元,包括:
获取模块,用于针对每一所述报文接口对应的所述接口模板及所述数据库查询操作ID,从数据库中执行相应数据查询操作,获取数据库字段值;
填充模块,用于将查询出来的所述数据库字段值填充至所述接口模板里相应的字段栏位中,得到每一所述报文接口对应的字符串;
拼组模块,用于将所述字符串执行拼组操作得到报文数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887927.4A CN110609842B (zh) | 2019-09-19 | 2019-09-19 | 一种报文组成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887927.4A CN110609842B (zh) | 2019-09-19 | 2019-09-19 | 一种报文组成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110609842A CN110609842A (zh) | 2019-12-24 |
CN110609842B true CN110609842B (zh) | 2022-02-22 |
Family
ID=68892843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887927.4A Active CN110609842B (zh) | 2019-09-19 | 2019-09-19 | 一种报文组成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110609842B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163000A (zh) * | 2020-08-31 | 2021-01-01 | 阿里巴巴集团控股有限公司 | 一种数据查询方法和装置 |
CN112685443B (zh) * | 2021-01-12 | 2023-11-10 | 树根互联股份有限公司 | 数据查询方法、装置、电子设备和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043648A (zh) * | 2007-03-09 | 2007-09-26 | 中国移动通信集团福建有限公司 | 业务服务交换系统 |
CN103679410A (zh) * | 2012-09-17 | 2014-03-26 | 詹建 | 一种基于Android系统的鲜活农产品物流信息管理方法 |
CN106021594A (zh) * | 2016-06-06 | 2016-10-12 | 福建榕基软件股份有限公司 | 数据库表和xml报文的映射处理方法及其系统 |
CN107947982A (zh) * | 2017-11-24 | 2018-04-20 | 合肥维博自动化科技有限公司 | 一种设备软件管理系统 |
US10037364B1 (en) * | 2014-12-04 | 2018-07-31 | Fmr Llc | User interface portlet data cascade actuator apparatuses, methods and systems |
CN109308286A (zh) * | 2018-09-11 | 2019-02-05 | 李宗平 | 一种基于文件存储的sql检索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9406047B2 (en) * | 2009-03-04 | 2016-08-02 | International Business Machines Corporation | Querying database clients utilizing email messages |
-
2019
- 2019-09-19 CN CN201910887927.4A patent/CN110609842B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043648A (zh) * | 2007-03-09 | 2007-09-26 | 中国移动通信集团福建有限公司 | 业务服务交换系统 |
CN103679410A (zh) * | 2012-09-17 | 2014-03-26 | 詹建 | 一种基于Android系统的鲜活农产品物流信息管理方法 |
US10037364B1 (en) * | 2014-12-04 | 2018-07-31 | Fmr Llc | User interface portlet data cascade actuator apparatuses, methods and systems |
CN106021594A (zh) * | 2016-06-06 | 2016-10-12 | 福建榕基软件股份有限公司 | 数据库表和xml报文的映射处理方法及其系统 |
CN107947982A (zh) * | 2017-11-24 | 2018-04-20 | 合肥维博自动化科技有限公司 | 一种设备软件管理系统 |
CN109308286A (zh) * | 2018-09-11 | 2019-02-05 | 李宗平 | 一种基于文件存储的sql检索方法 |
Non-Patent Citations (3)
Title |
---|
An Interactive Answering System using Template Matching and SQL Mapping for Natural Language Processing;Deepali Tyagi 等;《International Journal ofAdvance Research in Computer Science and Management Studies》;20140228;第2卷(第2期);第165-168页 * |
数据交换平台中数据转换的设计与实现;邬文俊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090515;I138-168 * |
服务器开发-对外接口返回数据-封装模板;WGH100817;《https://blog.csdn.net/WGH100817/article/details/101721144》;20190417;第1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110609842A (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10618137B2 (en) | Automated constructing method of cloud manufacturing service and cloud manufacturing system | |
CN107861655B (zh) | 控件匹配方法、装置、计算机设备和存储介质 | |
US11798208B2 (en) | Computerized systems and methods for graph data modeling | |
CN112882974B (zh) | 一种json数据转换方法、装置、计算机设备和存储介质 | |
CN111552838B (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
CN111177081B (zh) | 游戏日志内容查询方法、装置、计算机设备和存储介质 | |
CN110609842B (zh) | 一种报文组成方法及系统 | |
US8745096B1 (en) | Techniques for aggregating data from multiple sources | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN102982010A (zh) | 提取文档结构的方法和装置 | |
CN111818175B (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
CN110764775A (zh) | 一种应用程序整合的方法、装置、存储介质和服务器 | |
CN108763323B (zh) | 基于资源集和大数据技术的气象格点文件应用方法 | |
CN112650529B (zh) | 可配置生成移动端app代码的系统及方法 | |
CN112395339B (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
CN116680278B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114253436B (zh) | 一种页面展示方法、装置及存储介质 | |
CN116738954A (zh) | 报表导出方法、报表模板的配置方法、装置、计算机设备 | |
CN108241624B (zh) | 一种查询脚本的生成方法及装置 | |
CN112639786A (zh) | 智能地标 | |
CN111291215A (zh) | 公式生成方法及服务器 | |
US11216294B2 (en) | User interface by way of unknown data structure | |
CN111368146A (zh) | 一种路径信息的查询方法及装置、存储介质和处理器 | |
CN109284128A (zh) | 转换数据的方法、装置、存储介质及移动终端 |
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 |