CN108471433B - 一种配置化的同步消息验证接收方法、系统及存储介质 - Google Patents
一种配置化的同步消息验证接收方法、系统及存储介质 Download PDFInfo
- Publication number
- CN108471433B CN108471433B CN201810073651.1A CN201810073651A CN108471433B CN 108471433 B CN108471433 B CN 108471433B CN 201810073651 A CN201810073651 A CN 201810073651A CN 108471433 B CN108471433 B CN 108471433B
- Authority
- CN
- China
- Prior art keywords
- message
- verification
- configuration table
- java
- database
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种配置化的同步消息验证接收方法、系统及存储介质,其中,所述配置化的同步消息验证接收方法通过预先建立并存储具有第一预设结构的校验配置表;读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。将同步消息的校验过程配置化,无需针对每个接口单独编写数据校验方法校验数据合法性,简化校验接收过程,提高工作效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种配置化的同步消息验证接收方法、系统及存储介质。
背景技术
在后台系统开发中,最常见的业务甚至绝大多数业务就是收发消息和增删改查,比如A系统的一批数据需要同步至B系统,则A系统把数据封装成HTTP消息,发送给B系统,B系统接收消息,将其中需要的数据解析出来,写入数据库的某张表。其中基于HTTP协议的通信是最常用的通信方式,传统模式下,开发人员需要针对每一个接口的每一个消息类型单独编写一个类,映射该消息,并针对每个接口编写一套数据校验方法来校验接口数据合法性和准确性,验证后才能通过消息转换方法将该消息转换成Java对象(比如通过Spring转换),转换完成后,将通过校验的消息经过Mybatis将其写入数据库,此过程开发人员又需要完成从Java对象到数据库表结构的手动映射,才能生成对应的数据库语句并执行。随着业务增长需求增加,接口会越来越多,仍然每次都需要专门人手去开发,造成人力浪费,降低了工作效率。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种配置化的同步消息验证接收方法、系统及存储介质,能将同步消息验证接收过程中的校验过程配置化,无需针对每个接口单独编写数据校验方法来校验数据合法性,简化同步消息的校验接收过程,提高工作效率。
为了达到上述目的,本发明采取了以下技术方案:
一种配置化的同步消息验证接收方法,其包括如下步骤:
预先建立并存储具有第一预设结构的校验配置表;
读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;
接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;
加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。
所述的配置化的同步消息验证接收方法中,所述接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则的步骤包括:
采用统一资源定位符以字符串形式接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则。
所述的配置化的同步消息验证接收方法中,所述具有第一预设结构的校验配置表的字段包括ID号、消息名称、字段在消息中的名称、Java变量名、Java变量类型、数据长度、类型取值范围、依赖信息以及依赖方式中的至少一种。
所述的配置化的同步消息验证接收方法中,所述预先建立并存储具有第一预设结构的校验配置表的步骤之前包括:
预先建立并存储具有第二预设结构的接口配置表;
读取所述接口配置表中的数据并通过反射生成Java类。
所述的配置化的同步消息验证接收方法中,所述将当前接收到的同步消息生成数据库语句并执行的步骤包括:
在已生成的Java类中根据消息名称搜索当前接收到的同步消息对应的Java类,并根据该对应的Java类将所述同步消息转换为Java对象;
根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行。
所述的配置化的同步消息验证接收方法中,所述根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行的步骤包括:
读取所述接口配置表中各个字段包含的数据,并根据接口配置表中各个字段包含的数据获取已生成的Java类与数据库表结构的映射关系;
加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行。
所述的配置化的同步消息验证接收方法中,所述加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行的步骤包括:
根据接口配置表中的各个字段以及同步消息中的每一条数据的Java类,将接收到的同步消息中的每一个字段映射到Java变量,每个Java变量映射到数据库语句列,进而生成数据库语句。
所述的配置化的同步消息验证接收方法中,所述具有第二预设结构的接口配置表的字段包括消息名称、字段在消息中的名称、Java变量名、Java变量类型、数据库字段名以及数据库字段类型中的至少一种。
一种配置化的同步消息验证接收系统,其包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上所述的配置化的同步消息验证接收方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的配置化的同步消息验证接收方法中的步骤。
相较于现有技术,本发明提供的配置化的同步消息验证接收方法、系统及存储介质中,所述配置化的同步消息验证接收方法通过预先建立并存储具有第一预设结构的校验配置表;之后读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;之后接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。能将同步消息验证接收过程中的校验过程配置化,无需针对每个接口单独编写数据校验方法来校验数据合法性,简化同步消息的校验接收过程,提高工作效率。
附图说明
图1为本发明提供的配置化的同步消息验证接收方法的流程图;
图2为本发明提供的配置化的同步消息验证接收方法中步骤S11和步骤S12的流程图;
图3为本发明提供的配置化的同步消息验证接收方法中步骤S40的流程图;
图4为本发明提供的配置化的同步消息验证接收方法中步骤S42的流程图;
图5为本发明配置化的同步消息验证接程序的较佳实施例的运行环境示意图;
图6为本发明安装配置化的同步消息验证接收程序的系统较佳实施例的功能模块图。
具体实施方式
鉴于现有技术中同步消息验证接收过程效率低等缺点,本发明的目的在于提供一种配置化的同步消息验证接收方法、系统及存储介质,能将同步消息验证接收过程中的校验过程配置化,无需针对每个接口单独编写数据校验方法来校验数据合法性,简化同步消息的校验接收过程,提高工作效率。
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明提供的配置化的同步消息验证接收方法包括以下步骤:
S10、预先建立并存储具有第一预设结构的校验配置表。
本实施例中,预先在数据库中建立并存储具有第一预设结构的校验配置表,优选的,所述数据库为oracle数据库(oracle数据库又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统),MySQL(MySQL是一个开放源码的小型关联式数据库管理系统)数据库或PostgreSQL(PostgreSQL 是一个自由的对象-关系数据库服务器)数据库,所述目标数据库为hive(hive是基于Hadoop的一个数据仓库工具)数据库。这些数据库均为常见且易于操作的数据库管理系统及工具,便于在本实施例中对数据进行分析及处理。通过预先建立固定结构的校验配置表,通过固定的表结构实现校验规则的集中设置。
具体地,所述具有第一预设结构的校验配置表的字段至少包括ID号、消息名称(message)、字段在消息中的名称(messagename)、Java变量名(javaname)、Java变量类型(javaType)、数据长度(length)、类型取值范围(range,针对变量类型为整数的,例如填写:2-5)、依赖信息(dependencies,与其他变量的依赖关系,具体填写其他变量ID)、依赖方式(prefix,例如填写:=133)、以及是否必须(must,例如填写0为必须,1为可选,3为根据依赖是否满足)。
S20、读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则。
本实施例中,通过读取所述校验配置表中所有字段包含的数据,根据所述字段包含的数据生成各个消息名称对应的校验规则。即本实施例中,预先建立的校验配置表为预设的校验规则,可配置的校验规则包括类型校验,长度校验,是可选还是必须,可选或必须是否依赖其他变量等等,具体可根据每个接口以及消息类型预先填写该校验配置表,即可生成对应的校验规则,后续需要增加接口时只需要在该校验配置表中增加对应的配置数据即可,而无需再单独编写一套数据校验方法,节约人力,提高了工作效率。
S30、接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则。
本实施例中,通过预先建立的校验配置表生成所有的校验规则后,接收外部网元的同步消息,具体采用统一资源定位符以字符串形式接收外部网元的同步消息,即使用同一URL接收所有消息,以String方式接收,则接收到的所有消息都是Json/Xml的String字符串,之后根据同步消息的消息名称在步骤S20中生成的所有校验规则中搜索对应的校验规则,用以验证当前接收到的同步消息的数据合法性和准确性。
S40、加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息
本实施例中,接收到同步信息并搜索到对应的校验规则后,加载当前同步信息中的每条数据,根据搜索到的校验规则判断每条数据是否满足该规则,包括类型校验,长度校验,是可选还是必须,可选或必须是否依赖其他变量等等规则,若是则表明当前同步消息合法且数据准确,将当前接收到的同步消息生成数据库语句并执行;否则表明当前同步消息不合法或数据不准确,停止该同步消息的接收以及写入过程,从而完成了同步消息的自动验证接收过程,有效简化了同步消息的校验,提高工作效率。
优选地,为进一步简化同步消息的接收写入过程,请一并参阅图2,所述步骤S10之前还包括步骤:
S11、预先建立并存储具有第二预设结构的接口配置表;
S12、读取所述接口配置表中的数据并通过反射生成Java类。
本实施例中,不仅可实现配置化的数据校验,还可通过固定结构的接口配置表实现配置化的消息接收和写入过程,进一步的简化同步消息接收过程,具体来说,在数据库如Oracle数据库中新建具有第二预设结构的接口配置表,具体所述接口配置表的字段至少包括消息名称(message)、字段在消息中的名称(messagename)、Java变量名(javaname)、Java变量类型(javaType)、数据库字段名(dbname)和数据库字段类型(dbtype);即该表的内容是预设的映射规则,后续以String方式接收Json/XML消息时,Json/XML消息中的每一个字段都将根据该表的内容进行自动映射,将消息接收过程中的映射生成流程配置化,无需针对每个接口的每个消息类型单独编写一个类来进行映射。
之后读取所述接口配置表中的数据并通过反射生成所有的Java类,具体地,通过反射生成所有Class类,将现有的需要单独针对每个接口单独编写类来映射消息,改变为预先通过配置表统一映射生成所有的Class类,后续再根据接口配置表中的Class类对应生成数据库语句,将消息接收过程配置化。
具体当同步消息满足对应的校验规则后,在进行消息接收时,如图3所示,所示步骤S40包括步骤:
S41、在已生成的Java类中根据消息名称搜索当前接收到的同步消息对应的Java类,并根据该对应的Java类将所述同步消息转换为Java对象;
S42、根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行。
具体实施时,在进行消息接收时,使用同一URL接收所有消息,以String方式接收,则接收到的所有消息都是Json/Xml的String字符串,收到消息后,根据消息名称在预先生成的所有Class类中找到该消息名称对应的Class类,新建该Class实例,之后通过XStream等工具将Json/Xml字符串转换成该Class实例,从而完成同步消息到Java对象的转换,之后根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象根据接口配置表中的数据库映射关系自动映射生成对应的数据库语句并执行,从而实现根据接口配置表中的对应映射规则自动映射,简化同步消息接收过程,大大减少开发人员的工作量。请参阅图4,其为本发明提供的配置化的同步消息验证接收方法中步骤S42的流程图。
如图4所示,所述步骤S42包括:
S421、读取所述接口配置表中各个字段包含的数据,并根据接口配置表中各个字段包含的数据获取已生成的Java类与数据库表结构的映射关系;
S422、加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行。
本实施例中,读取接口配置表中的数据,获取接口配置表中所有的Java类与数据库表结构的映射关系,之后循环加载同步消息中的每一条数据的Java类和数据库映射关系以生成SQL数据库语句,即根据接口配置表中的字段内容以及同步消息中的每一条数据的Java类,将接收到的同步消息中的每一个字段映射到Java变量,每个Java变量映射到SQL列,从而生成SQL,之后将SQL交由Mybatis执行,即可成功完成消息接受到转换成Java类到生成SQL并执行的过程,将消息接收过程中的几个映射生成流程配置化,每次添加接口时,直接在配置表增加一套配置数据即可,从而可直接通过新增配置完成消息接受,消息解析,生成数据库语句,执行数据库语句的效果,无需针对每个接口的每个消息类型单独编写一个类来映射,简化同步消息接收过程。
如图5所示,基于上述配置化的同步消息验证接收方法,本发明还相应提供了一种配置化的同步消息验证接收系统,所述配置化的同步消息验证接收系统可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该配置化的同步消息验证接收系统包括处理器10、存储器20及显示器30。图5仅示出了配置化的同步消息验证接收系统的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述配置化的同步消息验证接收系统的内部存储单元,例如配置化的同步消息验证接收系统的硬盘或内存。所述存储器20在另一些实施例中也可以是所述配置化的同步消息验证接收系统的外部存储设备,例如所述配置化的同步消息验证接收系统上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所配置化的同步消息验证接收系统的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述配置化的同步消息验证接收系统的应用软件及各类数据,例如所述安装配置化的同步消息验证接收系统的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有配置化的同步消息验证接收程序40,该配置化的同步消息验证接收程序40可被处理器10所执行,从而实现本申请中配置化的同步消息验证接收方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述配置化的同步消息验证接收方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述配置化的同步消息验证接收系统的信息以及用于显示可视化的用户界面。所述配置化的同步消息验证接收系统的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中配置化的同步消息验证接收程序40时实现以下步骤:
预先建立并存储具有第一预设结构的校验配置表;
读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;
接收外部网元的同步消息,据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;
加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。
所述接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则的步骤包括:
采用统一资源定位符以字符串形式接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则。
所述具有第一预设结构的校验配置表的字段包括ID号、消息名称、字段在消息中的名称、Java变量名、Java变量类型、数据长度、类型取值范围、依赖信息以及依赖方式中的至少一种。
进一步地,在所述配置化的同步消息验证接收系统中,所述预先建立并存储具有第一预设结构的校验配置表的步骤之前包括:
预先建立并存储具有第二预设结构的接口配置表;
读取所述接口配置表中的数据并通过反射生成Java类。
所述将当前接收到的同步消息生成数据库语句并执行的步骤包括:
在已生成的Java类中根据消息名称搜索当前接收到的同步消息对应的Java类,并根据该对应的Java类将所述同步消息转换为Java对象;
根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行。
所述根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行的步骤包括:
读取所述接口配置表中各个字段包含的数据,并根据接口配置表中各个字段包含的数据获取已生成的Java类与数据库表结构的映射关系;
加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行。
所述加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行的步骤包括:
根据接口配置表中的各个字段以及同步消息中的每一条数据的Java类,将接收到的同步消息中的每一个字段映射到Java变量,每个Java变量映射到数据库语句列,进而生成数据库语句。
请参阅图6,其为本发明安装配置化的同步消息验证接收程序的系统较佳实施例的功能模块图。在本实施例中,安装配置化的同步消息验证接收程序的系统可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器20中,并由一个或多个处理器(本实施例为所述处理器10)所执行,以完成本发明。例如,在图6中,安装配置化的同步消息验证接收程序的系统可以被分割成第一创建模块21、读取模块22、搜索模块23和判断执行模块24。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述配置化的同步消息验证接收程序在所述配置化的同步消息验证接收系统中的执行过程。以下描述将具体介绍所述模块21-24的功能。
第一创建模块21,用于预先建立并存储具有第一预设结构的校验配置表;
第一读取模块22,用于读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;
搜索模块23,用于接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;
所述搜索模块23具体用于采用统一资源定位符以字符串形式接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;
判断执行模块24,用于加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。
进一步地,安装配置化的同步消息验证接收程序的系统可以被分割成第二创建模块和第二读取模块,所述第二创建模块用于预先建立并存储具有第二预设结构的接口配置表;所述第二读取模块用于读取所述接口配置表中的数据并通过反射生成Java类。
所述判断执行模块24包括:
搜索单元,用于在已生成的Java类中根据消息名称搜索当前接收到的同步消息对应的Java类,并根据该对应的Java类将所述同步消息转换为Java对象;
映射单元,用于根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行。
所述映射单元包括:
读取子单元,用于读取所述接口配置表中各个字段包含的数据,并根据接口配置表中各个字段包含的数据获取已生成的Java类与数据库表结构的映射关系;
执行单元,用于加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行。
所述执行单元具体用于根据接口配置表中的各个字段以及同步消息中的每一条数据的Java类,将接收到的同步消息中的每一个字段映射到Java变量,每个Java变量映射到数据库语句列,进而生成数据库语句。
综上所述,本发明提供的配置化的同步消息验证接收方法、系统及存储介质中,所述配置化的同步消息验证接收方法通过预先建立并存储具有第一预设结构的校验配置表;之后读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;之后接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息。能将同步消息验证接收过程中的校验过程配置化,无需针对每个接口单独编写数据校验方法来校验数据合法性,简化同步消息的校验接收过程,提高工作效率。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种配置化的同步消息验证接收方法,其特征在于,包括如下步骤:
预先建立并存储具有第一预设结构的校验配置表;
读取所述校验配置表中各个字段包含的数据,并根据校验配置表中各个字段包含的数据生成各个消息名称对应的校验规则;
接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则;
加载当前同步信息中的每条数据,判断每条数据是否满足对应的校验规则,若是,则将当前接收到的同步消息生成数据库语句并执行;否则停止接收该同步信息;
所述预先建立并存储具有第一预设结构的校验配置表的步骤之前包括:
预先建立并存储具有第二预设结构的接口配置表;
读取所述接口配置表中的数据并通过反射生成Java类;
所述接口配置表的内容为预设的映射规则,后续接收同步消息时,同步消息中的每一个字段都根据接口配置表的内容进行自动映射。
2.根据权利要求1所述的配置化的同步消息验证接收方法,其特征在于,所述接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则的步骤包括:
采用统一资源定位符以字符串形式接收外部网元的同步消息,根据同步消息的消息名称在已生成的校验规则中搜索对应的校验规则。
3.根据权利要求1所述的配置化的同步消息验证接收方法,其特征在于,所述具有第一预设结构的校验配置表的字段包括ID号、消息名称、字段在消息中的名称、Java变量名、Java变量类型、数据长度、类型取值范围、依赖信息以及依赖方式中的至少一种。
4.根据权利要求1所述的配置化的同步消息验证接收方法,其特征在于,所述将当前接收到的同步消息生成数据库语句并执行的步骤包括:
在已生成的Java类中根据消息名称搜索当前接收到的同步消息对应的Java类,并根据该对应的Java类将所述同步消息转换为Java对象;
根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行。
5.根据权利要求4所述的配置化的同步消息验证接收方法,其特征在于,所述根据接口配置表中已生成的Java类与数据库映射关系将所述Java对象映射生成对应的数据库语句并执行的步骤包括:
读取所述接口配置表中各个字段包含的数据,并根据接口配置表中各个字段包含的数据获取已生成的Java类与数据库表结构的映射关系;
加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行。
6.根据权利要求5所述的配置化的同步消息验证接收方法,其特征在于,所述加载当前接收到的同步消息中每条数据的Java类与数据库表结构的映射关系,将转换后的Java对象自动映射生成对应的数据库语句并执行的步骤包括:
根据接口配置表中的各个字段以及同步消息中的每一条数据的Java类,将接收到的同步消息中的每一个字段映射到Java变量,每个Java变量映射到数据库语句列,进而生成数据库语句。
7.根据权利要求5和6任意一项所述的配置化的同步消息验证接收方法,其特征在于,所述具有第二预设结构的接口配置表的字段包括消息名称、字段在消息中的名称、Java变量名、Java变量类型、数据库字段名以及数据库字段类型中的至少一种。
8.一种配置化的同步消息验证接收系统,其特征在于,包括:处理器、存储器和通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的配置化的同步消息验证接收方法中的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的配置化的同步消息验证接收方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810073651.1A CN108471433B (zh) | 2018-01-25 | 2018-01-25 | 一种配置化的同步消息验证接收方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810073651.1A CN108471433B (zh) | 2018-01-25 | 2018-01-25 | 一种配置化的同步消息验证接收方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108471433A CN108471433A (zh) | 2018-08-31 |
CN108471433B true CN108471433B (zh) | 2021-07-13 |
Family
ID=63266114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810073651.1A Active CN108471433B (zh) | 2018-01-25 | 2018-01-25 | 一种配置化的同步消息验证接收方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108471433B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597816A (zh) * | 2018-10-30 | 2019-04-09 | 京信通信系统(中国)有限公司 | 参数校验方法、装置、计算机存储介质及嵌入式设备 |
CN110263032B (zh) * | 2019-05-13 | 2023-08-29 | 平安科技(深圳)有限公司 | 数据库中表结构对比方法、装置、计算机设备和存储介质 |
CN112650804B (zh) * | 2020-12-30 | 2023-02-28 | 苏州科达科技股份有限公司 | 大数据接入方法、装置、系统及存储介质 |
CN113535776A (zh) * | 2021-05-28 | 2021-10-22 | 国网辽宁省电力有限公司 | 应用于监测装置的参数合法性校验方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020318A (zh) * | 2013-01-10 | 2013-04-03 | 北京锐安科技有限公司 | 一种对数据库中数据库表维护的方法 |
CN104361139A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 数据导入装置和方法 |
CN107102908A (zh) * | 2016-02-19 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 数据校验方法、数据容错方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598840A (zh) * | 2015-02-04 | 2015-05-06 | 新余兴邦信息产业有限公司 | 基于Http协议的多数据源的数据处理方法及系统 |
-
2018
- 2018-01-25 CN CN201810073651.1A patent/CN108471433B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020318A (zh) * | 2013-01-10 | 2013-04-03 | 北京锐安科技有限公司 | 一种对数据库中数据库表维护的方法 |
CN104361139A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 数据导入装置和方法 |
CN107102908A (zh) * | 2016-02-19 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 数据校验方法、数据容错方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108471433A (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108471433B (zh) | 一种配置化的同步消息验证接收方法、系统及存储介质 | |
US20200073987A1 (en) | Technologies for runtime selection of query execution engines | |
CN109933571B (zh) | 数据库设计文档生成方法、装置及计算机可读存储介质 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN109299074B (zh) | 一种基于模板化数据库视图的数据校验方法及系统 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN111241203A (zh) | Hive数据仓库同步方法、系统、设备及存储介质 | |
WO2020015170A1 (zh) | 接口调用方法、装置及计算机可读存储介质 | |
CN104461531A (zh) | 一种报表系统自定义函数的实现方法 | |
CN103530425A (zh) | 基于对象关联映射的Android终端访问远程数据库代码生成系统和方法 | |
CN110457013B (zh) | 程序组件配置装置及方法 | |
CN103678396A (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN114281803A (zh) | 数据迁移方法、装置、设备、介质和程序产品 | |
CN114547524B (zh) | 一种同步http接口数据的方法、设备及存储介质 | |
US20190042588A1 (en) | Dependency Mapping in a Database Environment | |
CN110888794A (zh) | 接口测试方法和装置 | |
CN112328656B (zh) | 基于中台架构的服务查询方法、装置、设备及存储介质 | |
CN110806967A (zh) | 一种单元测试方法和装置 | |
WO2022105494A1 (zh) | 数据自动回填方法、装置、电子设备及计算机存储介质 | |
CN114489674A (zh) | 动态数据模型的数据校验方法和装置 | |
CN112686759A (zh) | 对账监测方法、装置、设备及介质 | |
CN111400396A (zh) | 数据同步脚本的生成方法、装置及计算机可读存储介质 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
CN113722321A (zh) | 数据导出方法、装置和电子设备 | |
CN113504904A (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 |