CN202143092U - 报文处理系统 - Google Patents
报文处理系统 Download PDFInfo
- Publication number
- CN202143092U CN202143092U CN201120073033U CN201120073033U CN202143092U CN 202143092 U CN202143092 U CN 202143092U CN 201120073033 U CN201120073033 U CN 201120073033U CN 201120073033 U CN201120073033 U CN 201120073033U CN 202143092 U CN202143092 U CN 202143092U
- Authority
- CN
- China
- Prior art keywords
- calibration
- information
- message
- unit
- xsd
- 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.)
- Expired - Lifetime
Links
Images
Abstract
本实用新型公开了一种报文处理系统。该系统包括通过网络接口相互连接的报文发送端和报文接收端,报文发送端发送包含有xsd文件的报文信息,报文接收端进一步包括:语法解析装置,用于对所述xsd文件中定义的资源信息、xsd文件中单个元素所使用的校验方法以及xsd文件中元素和元素之间的关联校验进行语法解析;校验方法加载装置,根据解析得到的资源信息以及待校验的校验信息进行校验方法的实例化操作;校验方法执行装置,利用从校验方法加载装置接收实例化校验方法对待校验的校验信息进行校验;校验方法存储单元,用于编辑和存储用户输入的自定义校验方法。利用本实用新型能够增强基于xsd定义的接口的校验能力。
Description
技术领域
本实用新型涉及应用系统中的报文处理技术领域,特别涉及一种对系统间信息传递要素进行校验的报文处理系统。
背景技术
在银行等领域的应用系统中,由于业务的需要,系统与系统间的集成度越来高,涉及到银行系统与第三方系统业务层面上存在大量的信息交换,因此必须从技术上保证交换信息的准确性,用于规范业务流程,防范业务风险。对于这些信息报文的格式校验检查,目前主要是通过编写程序将报文数据的校验控制落实在程序中,这种方法使得校验控制被固化到程序中,造成报文要素校验和业务流程耦合在一起,一旦交换的信息格式出现调整,则对应的业务流程程序必须同步做出调整,而每次调整都需要修改程序、测试、发布版本等。而且大多数格式校验和要素校验的程序逻辑都比较冗余和复杂,极易出错,因此现在越来越多的系统在定义系统间接口时都会使用XML Schemal体系中的xsd架构文件对接口的格式进行定义,并在系统运行时基于该架构文件对交换信息进行校验。Xsd架构文件是XML Schema体系的一部分,它被用来表达一组纲要——一组XML文件必须遵守的规定,只有符合该组纲要的文件才是“合法”的。
目前通过xsd架构文件的校验对xml报文的架构验证支持比较完整但是对于单一要素的校验仍存在缺陷,只能提供基于正则式的基本数值通用校验,如要素的长度,掩码等;但是无法支持自定义要素的校验及校验方法的扩展。如要对工行19位账号后2位校验位是否正确这样的简单校验,也必须在后面的工作流程中设计相应的校验模块进行校验,而不能在报文格式校验时就直接完成。同时现有xsd架构文件对元素和元素之间的关联关系无法进行校验,如接口定义中一个总金额字段元素与接口中另一个明细金额存在明细金额累加等于总金额的业务要求,目前的Schemal校验也无法通过对xsd文件的定义实现对该种要素校验的支持。
实用新型内容
为了解决现有技术中的上述缺陷,本实用新型提供了一种报文处理系统,能够实现对基于xsd语法扩展的自定义报文要素进行校验,以增强基于xsd定义的接口的校验能力,提高业务扩展和调整的灵活性。
本实用新型的种报文处理系统包括通过网络接口相互连接的报文发送端和报文接收端,其中报文发送端将包含有xsd文件的报文信息发送给报文接收端,所述报文接收端进一步包括:语法解析装置,与校验方法执行装置连接,其对所述xsd文件中定义的资源信息、xsd文件中单个元素所使用的校验方法配置信息以及xsd文件中元素和元素之间的关联校验进行语法解析;校验方法加载装置,与校验方法执行装置以及校验方法存储器连接,其根据解析得到的资源信息以及待校验的校验信息进行校验方法的实例化操作;校验方法执行装置,与语法解析装置以及校验方法加载装置,其利用从校验方法加载装置接收的实例化校验方法对待校验的校验信息进行校验;校验方法存储器,与校验方法加载装置连接,其包括对用户输入的自定义校验方法进行编辑的编辑器和进行存储的存储单元。
所述语法解析装置进一步包括:资源信息解析单元,对xsd文件中定义的资源信息进行语法解析;单要素校验解析单元,对xsd文件中单个元素所使用的校验方法配置信息进行解析;组合要素校验解析单元,对xsd文件中元素和元素之间的关联校验进行语法解析。
所述校验方法加载装置进一步包括:校验方法存储读取单元,从校验方法存储器中读取待校验的校验信息;资源注入单元,将解析出的资源信息提供给校验方法实例化单元;待校验元素信息注入单元,将待校验元素信息传递给校验方法实例化单元;校验方法实例化单元,根据接收到资源信息和待校验元素信息,进行校验方法的实例化操作。所述解析出的资源信息是资源数据库连接串或者是所属应用服务器的IP地址。
所述校验方法存储器进一步包括:校验方法编辑器,用于提供用户编辑界面并接受用户的输入信息;校验方法解析单元,用于对用户通过校验方法编辑器输入的自定义校验方法配置信息进行解析;校验方法编译单元,对校验方法解析单元解析后的数据进行编译,生成可被校验方法加载装置识别的校验方法配置信息。
所述校验方法解析单元对用户输入的自定义校验方法配置信息进行解析,将其转化为java的代码片段,再将解析后的java代码片段提供给校验方法编译单元进行编译,校验方法编译单元使用java编译器进行编译。
优选地,上述系统还包括接口,其从报文发送端接收信息报文,并读取该信息报文中的xsd架构文件,并将接收到的信息报文和xsd架构文件传递给校验方法执行装置。
使用本实用新型提供的这种报文处理系统及方法,通过将接口校验的配置及程序与具体的业务流程处理程序完全分离,使得这些调整不再需要大规模的程序调整及版本制作,增强了基于xsd定义的接口的校验能力,提高了业务扩展和调整的灵活性,为业务系统的快速响应市场变化提供了极大的便利。
附图说明
图1为本实用新型的报文处理系统结构框图;
图2为本实用新型报文处理系统中语法解析装置203的结构框图;
图3为本实用新型报文处理系统中校验方法加载装置204的结构框图;
图4为本实用新型报文处理系统中校验方法存储器205的结构框图。
具体实施方式
为使本实用新型的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本实用新型进一步详细说明。
为了完成上述目的,本实用新型提出了一种报文处理系统和方法,其系统结构参见图1。
图1为本实用新型的报文处理系统结构框图。
参照图1,本实用新型的报文处理系统包括报文发送端1和报文接收端2,其中报文接收端2进一步包括:接口201,校验方法执行装置202,语法解析装置203、校验方法加载装置204、校验方法存储器205以及报文处理装置206。
报文发送端1,可以是合作方业务系统,具体地可以是服务器或PC机等,用于发起业务请求,将信息报文发送给报文接收端2。
接口201,用于接收信息报文,并读取该信息报文中的xsd架构文件,并将接收到的信息报文和xsd架构文件传递给校验方法执行装置202,校验方法执行装置202连接着语法解析装置203。
语法解析装置203,用于解析从校验方法执行装置202传递过来的信息报文和xsd架构文件并将解析后结果返回给校验方法执行装置202。
校验方法执行装置202,用于将经过语法解析后的信息报文传递给校验方法加载装置204,由其从校验方法存储器205中读取校验方法存储信息,并加载校验方法。校验方法执行装置202接收从校验方法加载装置204传递过来的加载后的校验方法后,执行校验方法,最后将执行后的结果返回给接口201,由接口201将校验结果发送给报文处理装置206。
也就是,语法解析装置203用于对扩展语法进行解析。校验方法加载装置204负责对自定义要素校验方法进行加载,校验方法执行装置202负责执行要素校验,接口201负责与报文发送端1、报文处理装置206进行信息交互。
图2为本实用新型报文处理系统中语法解析装置203的结构框图,语法解析装置203负责对xsd架构文件进行解析。
参照图2,语法解析装置203至少包括资源信息解析单元11、单要素校验解析单元12、组合要素校验解析单元13。
资源信息解析单元11负责对xsd文件中定义的资源信息进行语法解析。单要素校验解析单元12负责对xsd文件中单个元素所使用的校验方法配置信息进行语法解析。组合要素校验解析单元13负责对xsd文件中元素和元素间的关联校验进行语法解析。
语法解析装置203在接收到语法解析请求后,使用调用资源信息解析单元11解析信息报文中的资源信息节点语法;使用单要素校验解析单元12解析信息报文中单要素节点语法;使用组合要素校验解析单元13解析信息报文中组合要素节点语法。
图3为本实用新型报文处理系统中校验方法加载装置204的结构框图,校验方法加载装置204负责读取存储的校验方法并进行实例化。
参见图3,校验方法加载装置204至少包括校验方法存储读取单元21、资源注入单元22、待校验元素信息注入单元23、校验方法实例化单元24。
校验方法存储读取单元21负责从校验方法存储器205中读取校验方法配置信息。资源注入单元22负责将解析出的资源信息提供给校验方法实例化单元24,解析出的资源信息可以是资源数据库连接串,所属应用服务器ip地址等等。待校验元素信息注入单元23负责将待校验元素信息传递给校验方法实例化单元24。校验方法实例化单元24负责根据接收到资源信息和待校验元素信息,并进行校验方法的实例化操作。
校验方法加载装置204在接收到校验方法存储器205发送的校验方法配置信息,使用校验方法存储读取单元21读取待校验信息,然后将读取的待校验信息传递给待校验元素注入单元23,待校验元素注入单元23将待校验元素信息注入校验方法实例化单元24。同时,校验方法加载装置204将资源信息传递给资源注入单元22,由资源注入单元22将资源信息注入校验方法实例化单元24。校验方法实例化单元24接收到资源信息和待校验的校验信息后,进行校验方法的实例化操作。
图4为本实用新型报文处理系统中校验方法配置信息存储器205的结构框图,校验方法存储器205负责编辑和存储用户输入的自定义校验方法。
参照图4,校验方法存储器205至少包括校验方法编辑器61、校验方法解析单元62、校验方法编译单元63、校验方法存储单元64。
校验方法编辑器61负责提供用户编辑界面并接受用户的输入信息,最后将用户输入信息传递给校验方法解析单元62。校验方法解析单元62负责将校验方法编辑器61提供的用户输入的自定义校验方法配置信息进行解析,将其转化为java的代码片段,再将解析后的java代码片段提供给校验方法编译单元63进行编译,可以使用通用的java编译器进行编译。校验方法存储单元64负责对编译后的校验方法配置信息进行存储。校验方法编译单元63接收到校验方法解析单元62的编译请求后,从校验方法存储单元64读取预存储的校验方法配置信息后,将校验方法解析单元62解析后的数据进行编译,生成最终的可被校验方法加载装置204识别的校验方法配置信息。
校验方法编辑器61可以支持用户选择对所操作元素的四则运算(加、减、乘、除)并支持条件判断(大于、小于、等于)。如要支持某日期元素大于2000年1月1日的判断,则用户在界面上选择新建校验方法,则弹出校验方法编辑界面,用户选择判断条件(大于),并输入日期(2000-1-1),并进行保存,校验方法名可以命名为bigthen2000,则校验方法编辑器应生成用户自定义校验方法的配置信息bigthen2000,校验方法配置信息可使用下面格式进行保存,并发送给校验方法解析单元。
校验方法解析单元62接收到该校验方法配置信息后,可将校验方法配置信息转化为java代码,转化结果如下。用valid函数封装校验方法配置信息,将$value值替换为函数的形参value。转化完成后,将java代码片段提供给校验方法编译单元63进行编译。
编译完成后,校验方法存储单元64保存编译后的自定义校验方法bigthen2000,并和用户定义的校验方法名进行关联。用户可通过校验方法执行装置202将校验方法Bigthen2000作用于某一待校验元素上进行校验。
校验方法编辑器61还应支持对现有校验方法的复用,并支持校验方法的逻辑运算(与、或、非)。如需要校验某一日期元素需要大于2000年1月1日,并且要小于2010年1月1日。则用户可以在按照上述方法新增一个校验方法lessthen2010后,再选择新增校验方法,选取校验方法Bigthen2000,然后选择逻辑运算(与),再选取Lessthen2010,点击保存,校验方法名命名为Between2000and2010。则校验方法配置信息为:
在经过校验方法解析单元解析后,用valid函数封装校验方法配置信息,将校验方法名转化为校验方法类的类名和valid函数名,将$value值转化为valid函数的形参value。转化完成后,将java代码片段提供给校验方法编译单元63进行编译。
本实用新型通过将自定义报文要素校验方法引入xsd架构文件,并通过自定义校验方法实现校验方法在报文校验时的动态加载及执行,不需要将业务过程的要素校验控制直接规划到流程中。本实用新型所引入的自定义校验方法语法,基于现有的Xml Schemal语法进行扩展,不需要对已有的通过xsd架构文件进行接口校验的程序进行修改,有效的提高了在现有系统中引入自定义报文要素校验方法的效率,降低了频繁修改所带来的风险。
以上所述的具体实施例,对本实用新型的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本实用新型的具体实施例而已,并不用于限制本实用新型,凡在本实用新型的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。
Claims (7)
1.一种报文处理系统,该系统包括通过网络接口相互连接的报文发送端和报文接收端,其中报文发送端将包含有xsd文件的报文信息发送给报文接收端,其特征在于,所述报文接收端进一步包括:
语法解析装置(203),与校验方法执行装置连接,其对所述xsd文件中定义的资源信息、xsd文件中单个元素所使用的校验方法配置信息以及xsd文件中元素和元素之间的关联校验进行语法解析;
校验方法加载装置(204),与校验方法执行装置(202)以及校验方法存储器(205)连接,其根据解析得到的资源信息以及待校验的校验信息进行校验方法的实例化操作;
校验方法执行装置(202),与语法解析装置(203)以及校验方法加载装置(204)连接,其利用从校验方法加载装置接收的实例化校验方法对待校验的校验信息进行校验;
校验方法存储器(205),与校验方法加载装置(204)连接,其包括对用户输入的自定义校验方法进行编辑的编辑器和进行存储的存储单元。
2.根据权利要求1所述的系统,其特征在于,所述语法解析装置(203)进一步包括:
资源信息解析单元,对xsd文件中定义的资源信息进行语法解析;
单要素校验解析单元,对xsd文件中单个元素所使用的校验方法配置信息进行解析;
组合要素校验解析单元,对xsd文件中元素和元素之间的关联校验进行语法解析。
3.根据权利要求2所述的系统,其特征在于,所述校验方法加载装置(204)进一步包括:
校验方法存储读取单元(21),从校验方法存储器(205)中读取待校验的校验信息;
资源注入单元(22),将解析出的资源信息提供给校验方法实例化单元(24);
待校验元素信息注入单元(23),将待校验元素信息传递给校验方法实例化单元(24);
校验方法实例化单元(24),根据接收到资源信息和待校验元素信息,进行校验方法的实例化操作。
4.根据权利要求3所述的系统,其特征在于,所述解析出的资源信息是资源数据库连接串或者是所属应用服务器的IP地址。
5.根据权利要求1-4任一项所述的系统,其特征在于,所述校验方法存储器(205)进一步包括:
校验方法编辑器(61),提供用户编辑界面并接受用户的输入信息;
校验方法解析单元(62),对用户通过校验方法编辑器(61)输入的自定义校验方法配置信息进行解析;
校验方法编译单元(63),对校验方法解析单元(62)解析后的数据进行编译,生成可被校验方法加载装置(204)识别的校验方法配置信息。
6.根据权利要求5所述的系统,其特征在于,
校验方法解析单元(62)对用户输入的自定义校验方法配置信息进行解析,将其转化为java的代码片段,再将解析后的java代码片段提供给校验方法编译单元(63)进行编译,校验方法编译单元(63)使用java编译器进行编译。
7.根据权利要求6所述的系统,其特征在于,该系统还包括:
接口(201),从报文发送端接收信息报文,并读取该信息报文中的xsd架构文件,并将接收到的信息报文和xsd架构文件传递给校验方法执行装置(202)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201120073033U CN202143092U (zh) | 2011-03-18 | 2011-03-18 | 报文处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201120073033U CN202143092U (zh) | 2011-03-18 | 2011-03-18 | 报文处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202143092U true CN202143092U (zh) | 2012-02-08 |
Family
ID=45554127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201120073033U Expired - Lifetime CN202143092U (zh) | 2011-03-18 | 2011-03-18 | 报文处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202143092U (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123099A (zh) * | 2011-03-18 | 2011-07-13 | 中国工商银行股份有限公司 | 报文处理系统及方法 |
CN103428043A (zh) * | 2012-05-25 | 2013-12-04 | 中国银联股份有限公司 | 数字识别码生成系统及方法 |
CN103647687A (zh) * | 2013-12-25 | 2014-03-19 | 中国工商银行股份有限公司 | 应用系统业务参数的校验方法和装置 |
CN104318475A (zh) * | 2014-10-30 | 2015-01-28 | 中国银行股份有限公司 | 一种获取模拟回执的方法和装置 |
-
2011
- 2011-03-18 CN CN201120073033U patent/CN202143092U/zh not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123099A (zh) * | 2011-03-18 | 2011-07-13 | 中国工商银行股份有限公司 | 报文处理系统及方法 |
CN102123099B (zh) * | 2011-03-18 | 2013-07-24 | 中国工商银行股份有限公司 | 报文处理系统及方法 |
CN103428043A (zh) * | 2012-05-25 | 2013-12-04 | 中国银联股份有限公司 | 数字识别码生成系统及方法 |
CN103647687A (zh) * | 2013-12-25 | 2014-03-19 | 中国工商银行股份有限公司 | 应用系统业务参数的校验方法和装置 |
CN104318475A (zh) * | 2014-10-30 | 2015-01-28 | 中国银行股份有限公司 | 一种获取模拟回执的方法和装置 |
CN104318475B (zh) * | 2014-10-30 | 2018-05-25 | 中国银行股份有限公司 | 一种获取模拟回执的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317974B (zh) | 一种可重构的erp系统中多源数据导入方法 | |
CN100483419C (zh) | 一种数据格式的校验方法及装置 | |
US7310638B1 (en) | Method and apparatus for efficiently processing queries in a streaming transaction processing system | |
US9959098B1 (en) | Data processing systems and methods | |
CN107861728B (zh) | 用于传统程序语言向现代程序语言转换的方法及其系统 | |
CN103530223A (zh) | 一种自动生成单元测试用例的方法及装置 | |
CN105868204A (zh) | 一种转换Oracle脚本语言SQL的方法及装置 | |
CN111400387B (zh) | 导入导出数据的转换方法、装置、终端设备及存储介质 | |
CN103176778B (zh) | 网页开发方法和装置 | |
CN103019874A (zh) | 基于数据同步实现异常处理的方法及装置 | |
CN202143092U (zh) | 报文处理系统 | |
CN102123099B (zh) | 报文处理系统及方法 | |
CN104360937A (zh) | 一种智能参数校验装置 | |
US20060150141A1 (en) | Method of weaving code fragments between programs using code fragment numbering | |
CN108255837A (zh) | 一种sql解析器及方法 | |
CN106383701A (zh) | 基于通用多协议数据访问接口技术的数据服务系统 | |
CN107291522A (zh) | 一种面向自定义规则文件的编译优化方法及系统 | |
CN104657274A (zh) | 软件界面测试方法及装置 | |
US8756258B2 (en) | Generating references to reusable code in a schema | |
CN101499015A (zh) | 一种高级语言转换成其它高级语言的方法及转换器 | |
US9652478B2 (en) | Method and apparatus for generating an electronic document schema from a relational model | |
CN101202736A (zh) | 一种在通讯网络中实现编解码的方法 | |
CN108766507A (zh) | 一种基于CQL与标准信息模型openEHR的临床质量指标计算方法 | |
CN102023859A (zh) | 面向数字化研制环境的可靠性维修性保障性软件集成方法 | |
CN103336706B (zh) | 将伪代码转换为编程语言的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20120208 |