CN113452712A - 一种基于银联iso 8583报文的解析方法 - Google Patents
一种基于银联iso 8583报文的解析方法 Download PDFInfo
- Publication number
- CN113452712A CN113452712A CN202110726375.6A CN202110726375A CN113452712A CN 113452712 A CN113452712 A CN 113452712A CN 202110726375 A CN202110726375 A CN 202110726375A CN 113452712 A CN113452712 A CN 113452712A
- Authority
- CN
- China
- Prior art keywords
- message
- length
- domain
- header
- configuration file
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims description 22
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 108091026890 Coding region Proteins 0.000 description 6
- 230000004075 alteration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于银联ISO 8583报文的解析方法,包括以下步骤:根据报文头内记录的报文的长度截取银联ISO 8583报文的所有组成部分;解析位图,以明确报文内容;根据银联ISO 8583报文格式定义对应的XML配置文件,将所述所有组成部分按照XML配置文件进行转换,使XML配置文件包括报文头定义及报文内容定义;先解析报文头,获取报文头定义,根据报文头定义解析报文头中所有域值;再解析报文内容,获取报文内容定义,根据所述位图和报文内容定义解析报文内容中所有域值;组成完整的解析报文,将解析报文传给系统进行处理。本发明通过采用XML配置文件进行转换,解决了现有技术中报文解析代码非常混乱,造成不易扩展,不易复用和不易维护的问题。
Description
技术领域
本发明涉及金融交易报文技术领域,特别涉及一种基于银联ISO 8583报文的解析方法。
背景技术
银联ISO 8583报文作为一种常用的金融交易报文,通常由报文的长度、报文头(head)、报文类型标识符、位图以及报文内容(body)组成。报文的长度记录了报文的所有长度,不包含报文头的长度。报文头(head)是报文的第一个数据元素,主要记录了报文的长度、路由以及批次号等基本信息。报文类型标识符是报文的第二个数据元素,是最高级别报文类型定义,定义了报文一般性分类,比如是金融类报文还是管理类报文。位图定义了哪些报文内容(body)会出现在报文中,位图区可以包含一个位图也可以包含两个位图,位图个数的选择根据交易类型而定,例如位图一定义域2到域64,位图二定义域66到域128。
由于银联ISO 8583报文中报文头(head)及报文内容(body)中每种报文域的格式不尽相同,有些是定长有些是变长;有些是字符类型有些是数据类型;有些域可能是TLV格式;有些域是可选上送;报文格式可能是GBK也可能是UTF-8格式;有些域有长度位有些域没有长度位;常规的报文解析代码会非常混乱,不易扩展,不易复用,不易维护。
因此有必要提供一种基于银联ISO 8583报文的解析方法,以解决现有技术中报文解析代码会非常混乱,造成不易扩展,不易复用和不易维护的问题。
发明内容
本发明的目的在于提供一种基于银联ISO 8583报文的解析方法,以解决现有技术中报文解析代码会非常混乱,造成不易扩展,不易复用和不易维护的问题。
为了解决上述问题,本发明提供了一种基于银联ISO 8583报文的解析方法,包括以下步骤:
根据报文头内记录的报文的长度截取银联ISO 8583报文的所有组成部分,所述报文头为银联ISO 8583报文中的head;
解析银联ISO 8583报文中的位图,以明确所述银联ISO 8583报文内的报文内容,所述报文内容为银联ISO 8583报文中的body;
根据银联ISO 8583报文格式定义对应的XML配置文件,将银联ISO 8583报文的所有组成部分按照XML配置文件进行转换,使XML配置文件包括银联ISO 8583报文的报文头定义及报文内容定义;
根据银联ISO 8583报文的结构,将其分为报文头和报文内容,先解析报文头,获取XML配置文件中的报文头定义,根据报文头定义解析报文头中所有域值;再解析报文内容,获取XML配置文件中的报文内容定义,根据所述位图和报文内容定义解析报文内容中所有域值;
组成完整的解析报文,将解析报文传给系统进行处理。
可选的,在所述基于银联ISO 8583报文的解析方法中,
银联ISO 8583报文由报文的长度、报文头、报文类型标识符、位图以及报文内容组成;
报文头是报文的第一个数据元素,记录报文的基本信息,基本信息包括:报文的长度、路由以及批次号。
可选的,在所述基于银联ISO 8583报文的解析方法中,
XML配置文件中的报文头定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度;
XML配置文件中的报文内容定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度。
可选的,在所述基于银联ISO 8583报文的解析方法中,所述XML配置文件中的报文头定义和所述XML配置文件中的报文内容定义内的字段按照编码顺序排列,在解析时也按照编码顺序依次截取并解析。
可选的,在所述基于银联ISO 8583报文的解析方法中,根据报文头定义解析报文头中所有域值的步骤如下:
获取XML配置文件中的报文头的配置参数,以进行格式分析;
获取报文头中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文头定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
可选的,在所述基于银联ISO 8583报文的解析方法中,根据所述位图和报文内容定义解析报文内容中所有域值的步骤如下:
获取位图域,转化为2进制数据,位图中显示为1则表示报文域存在,并进行下一步骤;位图中显示为0则表示报文域不存在,不再进行下一步骤;
获取XML配置文件中的报文内容的配置参数,以进行格式分析;
获取报文内容中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文内容定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
可选的,在所述基于银联ISO 8583报文的解析方法中,在解析报文头中所有域值之后,解析报文内容中所有域值之前,还包括以下步骤:获取报文内容的类型。
在本发明所提供的基于银联ISO 8583报文的解析方法中,通过将报文头(head)及报文内容(body)中每种报文域的格式统一,并采用XML配置文件进行转换,解决了现有技术中报文解析代码非常混乱,造成不易扩展,不易复用和不易维护的问题。
附图说明
图1为本发明实施例提供的解析方法的流程图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
如果本文所述的方法包括一系列步骤,则本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法中。
由于银联ISO 8583报文中报文头(head)及报文内容(body)中每种报文域的格式不尽相同,有些是定长有些是变长;有些是字符类型有些是数据类型;有些域可能是TLV格式;有些域是可选上送;报文格式可能是GBK也可能是UTF-8格式;有些域有长度位有些域没有长度位;常规的报文解析代码会非常混乱,不易扩展,不易复用,不易维护。
因此有必要提供一种基于银联ISO 8583报文的解析方法,如图1所示,图1为本发明实施例提供的解析方法的流程图,所述解析方法包括以下步骤:
根据报文头内记录的报文的长度截取银联ISO 8583报文的所有组成部分,所述报文头为银联ISO 8583报文中的head;
解析银联ISO 8583报文中的位图,以明确所述银联ISO 8583报文内的报文内容,所述报文内容为银联ISO 8583报文中的body;
根据银联ISO 8583报文格式定义对应的XML配置文件,将银联ISO 8583报文的所有组成部分按照XML配置文件进行转换,使XML配置文件包括银联ISO 8583报文的报文头定义及报文内容定义;
根据银联ISO 8583报文的结构,将其分为报文头和报文内容,先解析报文头,获取XML配置文件中的报文头定义,根据报文头定义解析报文头中所有域值;再解析报文内容,获取XML配置文件中的报文内容定义,根据所述位图和报文内容定义解析报文内容中所有域值;
组成完整的解析报文,将解析报文传给系统进行处理。
通常的,银联ISO 8583报文由报文的长度、报文头、报文类型标识符、位图以及报文内容组成;报文头是报文的第一个数据元素,记录报文的基本信息,基本信息包括:报文的长度、路由以及批次号。
优选的,XML配置文件中的报文头定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度;XML配置文件中的报文内容定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度。
进一步的,所述XML配置文件中的报文头定义和所述XML配置文件中的报文内容定义内的字段按照编码顺序排列,在解析时也按照编码顺序依次截取并解析。并且,所述编码顺序具有统一格式。
优选的,根据报文头定义解析报文头中所有域值的步骤如下:
获取XML配置文件中的报文头的配置参数,以进行格式分析;
根据编码顺序依次获取报文头中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文头定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
进一步的,根据所述位图和报文内容定义解析报文内容中所有域值的步骤如下:
获取16字节的位图域,转化为2进制数据,位图中显示为1则表示报文域存在,并进行下一步骤;位图中显示为0则表示报文域不存在,不再进行下一步骤;
获取XML配置文件中的报文内容的配置参数,以进行格式分析;
根据编码顺序依次获取报文内容中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文内容定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
优选的,在解析报文头中所有域值之后,解析报文内容中所有域值之前,还包括以下步骤:获取报文内容的类型。
最后在得到报文头中所有域值和报文内容中所有域值之后,将其合并组成完整的解析报文,并将解析报文传给系统进行处理。
综上,在本发明所提供的基于银联ISO 8583报文的解析方法中,通过将报文头(head)及报文内容(body)中每种报文域的格式统一,并采用XML配置文件进行转换,解决了现有技术中报文解析代码非常混乱,造成不易扩展,不易复用和不易维护的问题。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
Claims (7)
1.一种基于银联ISO 8583报文的解析方法,其特征在于,包括以下步骤:
根据报文头内记录的报文的长度截取银联ISO 8583报文的所有组成部分,所述报文头为银联ISO 8583报文中的head;
解析银联ISO 8583报文中的位图,以明确所述银联ISO 8583报文内的报文内容,所述报文内容为银联ISO 8583报文中的body;
根据银联ISO 8583报文格式定义对应的XML配置文件,将银联ISO 8583报文的所有组成部分按照XML配置文件进行转换,使XML配置文件包括银联ISO 8583报文的报文头定义及报文内容定义;
根据银联ISO 8583报文的结构,将其分为报文头和报文内容,先解析报文头,获取XML配置文件中的报文头定义,根据报文头定义解析报文头中所有域值;再解析报文内容,获取XML配置文件中的报文内容定义,根据所述位图和报文内容定义解析报文内容中所有域值;
组成完整的解析报文,将解析报文传给系统进行处理。
2.如权利要求1所述的基于银联ISO 8583报文的解析方法,其特征在于,
银联ISO 8583报文由报文的长度、报文头、报文类型标识符、位图以及报文内容组成;
报文头是报文的第一个数据元素,记录报文的基本信息,基本信息包括:报文的长度、路由以及批次号。
3.如权利要求1所述的基于银联ISO 8583报文的解析方法,其特征在于,
XML配置文件中的报文头定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度;
XML配置文件中的报文内容定义内包括的字段如下:报文域名称、报文域编号、报文域字段类型、报文域的长度域以及定长报文域的长度。
4.如权利要求3所述的基于银联ISO 8583报文的解析方法,其特征在于,所述XML配置文件中的报文头定义和所述XML配置文件中的报文内容定义内的字段按照编码顺序排列,在解析时也按照编码顺序依次截取并解析。
5.如权利要求1所述的基于银联ISO 8583报文的解析方法,其特征在于,根据报文头定义解析报文头中所有域值的步骤如下:
获取XML配置文件中的报文头的配置参数,以进行格式分析;
获取报文头中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文头定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
6.如权利要求5所述的基于银联ISO 8583报文的解析方法,其特征在于,根据所述位图和报文内容定义解析报文内容中所有域值的步骤如下:
获取位图域,转化为2进制数据,位图中显示为1则表示报文域存在,并进行下一步骤;位图中显示为0则表示报文域不存在,不再进行下一步骤;
获取XML配置文件中的报文内容的配置参数,以进行格式分析;
获取报文内容中每个字段的格式;
根据配置参数获取各字段长度,若是非定长类,按照XML配置文件中已经定义好的长度进行截取,则先截取字段长度位的数据,即报文长度,再根据报文长度截取相应长度位的报文域值;若是定长类,按照XML配置文件中报文域的长度域进行截取,则先截取长度域的长度,即报文长度,再根据报文长度截取相应长度位的报文域值;
获取XML配置文件中报文内容定义的报文域格式,将获取到的报文域值转化为系统需要的报文格式。
7.如权利要求6所述的基于银联ISO 8583报文的解析方法,其特征在于,在解析报文头中所有域值之后,解析报文内容中所有域值之前,还包括以下步骤:获取报文内容的类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726375.6A CN113452712A (zh) | 2021-06-29 | 2021-06-29 | 一种基于银联iso 8583报文的解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726375.6A CN113452712A (zh) | 2021-06-29 | 2021-06-29 | 一种基于银联iso 8583报文的解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113452712A true CN113452712A (zh) | 2021-09-28 |
Family
ID=77813896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110726375.6A Pending CN113452712A (zh) | 2021-06-29 | 2021-06-29 | 一种基于银联iso 8583报文的解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452712A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115580571A (zh) * | 2022-09-26 | 2023-01-06 | 中国建设银行股份有限公司 | 一种报文发送方法、装置、计算设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516106A (zh) * | 2015-11-30 | 2016-04-20 | 浪潮软件集团有限公司 | 报文的组包方法及装置、报文的解包方法及装置 |
CN106254359A (zh) * | 2016-08-11 | 2016-12-21 | 浪潮电子信息产业股份有限公司 | 一种可配置的报文解析系统及方法 |
CN108055266A (zh) * | 2017-12-15 | 2018-05-18 | 南京邮电大学盐城大数据研究院有限公司 | 一种基于位置偏移的解析8583数据报文的方法及系统 |
CN111049813A (zh) * | 2019-12-04 | 2020-04-21 | 中国银行股份有限公司 | 报文组装方法、解析方法、装置及存储介质 |
CN112055018A (zh) * | 2020-09-03 | 2020-12-08 | 中国银行股份有限公司 | 报文分析方法及装置 |
-
2021
- 2021-06-29 CN CN202110726375.6A patent/CN113452712A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516106A (zh) * | 2015-11-30 | 2016-04-20 | 浪潮软件集团有限公司 | 报文的组包方法及装置、报文的解包方法及装置 |
CN106254359A (zh) * | 2016-08-11 | 2016-12-21 | 浪潮电子信息产业股份有限公司 | 一种可配置的报文解析系统及方法 |
CN108055266A (zh) * | 2017-12-15 | 2018-05-18 | 南京邮电大学盐城大数据研究院有限公司 | 一种基于位置偏移的解析8583数据报文的方法及系统 |
CN111049813A (zh) * | 2019-12-04 | 2020-04-21 | 中国银行股份有限公司 | 报文组装方法、解析方法、装置及存储介质 |
CN112055018A (zh) * | 2020-09-03 | 2020-12-08 | 中国银行股份有限公司 | 报文分析方法及装置 |
Non-Patent Citations (2)
Title |
---|
徐涛等: "一种基于PDA+GPRS的仿ISO8583通信应用方案", 《江南大学学报(自然科学版)》 * |
朱利妍等: "金融自助终端报文通信系统研究", 《计算机与网络》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115580571A (zh) * | 2022-09-26 | 2023-01-06 | 中国建设银行股份有限公司 | 一种报文发送方法、装置、计算设备及存储介质 |
CN115580571B (zh) * | 2022-09-26 | 2024-02-09 | 中国建设银行股份有限公司 | 一种报文发送方法、装置、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050021743A1 (en) | Systems and methods for monitoring network exchanges between a client and a server | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
US6782400B2 (en) | Method and system for transferring data between server systems | |
US10887415B1 (en) | Common agnostic data exchange systems and methods | |
JP2004508647A (ja) | 構造化文書の圧縮/解凍方法 | |
CN113452712A (zh) | 一种基于银联iso 8583报文的解析方法 | |
US7557738B2 (en) | Text encoding system and method | |
US20080313291A1 (en) | Method and apparatus for encoding data | |
CN109783330B (zh) | 日志处理方法、显示方法和相关装置、系统 | |
US20040168064A1 (en) | System of generating procedure for digital signature and encryption to XML | |
CN110545283A (zh) | 一种基于比特位的j1939变量数据采集方法 | |
CN108021540B (zh) | 一种面向Hadoop的通用文本格式的解析方法及工具 | |
US20080039071A1 (en) | Method of Generating a Test Routine | |
US20140337069A1 (en) | Deriving business transactions from web logs | |
CN111541697B (zh) | 一种基于协议配置的在线通信方法 | |
CN113765872B (zh) | 一种自适应数据格式转换适配的方法和系统 | |
CN115334177B (zh) | 基于xml配置文件递归实现的二进制数据报文解析方法 | |
CN113742294A (zh) | 一种asn.1-per信令消息解码方法、系统、装置及介质 | |
CN112217896A (zh) | 一种json报文转换方法以及相关装置 | |
CN117170656B (zh) | 一种基于数据可视化的低代码业务表单设计系统 | |
CN116232710B (zh) | 网络流量采集设备日志消息发送、传输方法以及系统 | |
CN117827957B (zh) | 基于大数据的信息录入可视化方法、系统、介质及设备 | |
CN117273931A (zh) | 一种基于动态数据接口的交易清分方法及系统 | |
CN108322331B (zh) | 一种可动态调整交互测点的通信方法及系统 | |
CN113518081B (zh) | 一种giop消息传输方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |
|
RJ01 | Rejection of invention patent application after publication |