CN111343181B - 报文的处理方法,系统以及数据池和计算机可读存储介质 - Google Patents
报文的处理方法,系统以及数据池和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111343181B CN111343181B CN202010119679.1A CN202010119679A CN111343181B CN 111343181 B CN111343181 B CN 111343181B CN 202010119679 A CN202010119679 A CN 202010119679A CN 111343181 B CN111343181 B CN 111343181B
- Authority
- CN
- China
- Prior art keywords
- message
- service
- data
- data pool
- attribute
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种报文的处理方法,系统以及数据池和计算机可读存储介质,涉及计算机技术领域。本公开的方法包括:响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件;数据池根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据;数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种报文的处理方法,系统以及数据池和计算机可读存储介质。
背景技术
银行业务系统之间或者银行业务系统与外部系统之间一般通过报文来交互信息。当报文到达业务系统后,业务系统需要对报文进行解包后,将数据存储到内存,执行业务逻辑时再取出数据进行处理。当需要对报文打包时,则从内存取出数据进行打包处理。
目前,不同业务系统中报文的配置等可能不同,因此,不同业务系统中对报文的处理逻辑都是预先固化在业务系统中,不同的业务系统需要单独开发。对于使用Java语言开发的系统,报文处理过程中常采用POJO(Plain Ordinary Java Object,简单的Java对象)方式进行数据传递,在报文的解析和打包过程中一般使用POJO的GET、SET方法进行数据获取及存储。
发明内容
发明人发现,现有在业务系统中单独开发报文的处理逻辑,并且采用POJO的方式进行数据的存取,开发过程复杂,可扩展性差。新增一个业务场景时,需要修改POJO属性及相关方法,和相应的处理逻辑。并且针对嵌套类报文,POJO则会出现嵌套结构,数据读取、赋值操作需要反复进行,过程繁琐。此外,利用POJO需要频繁创建Java实例处理报文数据,增加了Java虚拟机垃圾回收的负担,影响程序运行性能。
为解决上述问题,本公开提出一种报文的处理方法,系统以及数据池和计算机可读存储介质。
根据本公开的一些实施例,提供的一种报文的处理方法,包括:响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件;数据池根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据;数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理。
在一些实施例中,数据池根据业务请求报文获取对应的报文配置文件包括:数据池根据业务请求报文的发送系统与业务处理装置之间预先定义的交互配置信息,确定业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。
在一些实施例中,还包括:将报文属性以及报文属性对应的键Key存储在数据字典中;将数据字典配置为被数据池和业务处理装置共享。
在一些实施例中,数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储包括:针对每个报文属性,数据池根据数据字典查询报文属性对应的Key,将报文属性对应的数据作为值Value与Key进行对应存储。
在一些实施例中,在一个报文属性对应多个数据的情况下,将多个数据作为Value以列表的形式与Key进行对应存储。
在一些实施例中,业务处理装置调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理包括:业务处理装置根据业务流程中预设报文属性,查询数据字典中预设报文属性对应的Key;业务处理装置根据预设报文属性对应的Key调用数据池的读取接口向数据池获取Key对应的Value;其中,业务流程与业务请求报文相对应;业务处理装置根据Value以及业务流程,进行相应的业务处理。
在一些实施例中,还包括:业务处理装置对业务请求报文进行预解包获取交易码,根据交易码将业务请求报文转发到对应的业务流程。
在一些实施例中,数据池被配置有开关标识,在数据池的开关标识为开的情况下,执行响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件。
在一些实施例中,还包括:响应于业务处理装置完成业务处理的事件的触发,数据池根据处理后的数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池中;或者,响应于业务响应事件的触发,数据池根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将业务响应报文通过业务处理装置返回至业务请求报文的发送系统。
在一些实施例中,还包括:在业务处理装置无法进行业务处理的情况下,生成外部访问事件;响应于外部访问事件的触发,数据池根据外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文,将外部访问报文通过业务处理装置发送至欲访问的系统。
根据本公开的另一些实施例,提供的一种数据池,包括:报文配置获取模块,用于响应于接收到业务请求报文的事件的触发,根据业务请求报文获取对应的报文配置文件;报文解析模块,用于根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据;存储模块,用于将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理。
在一些实施例中,报文配置获取模块用于根据业务请求报文的发送系统与业务处理装置之间预先定义的交互配置信息,确定业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。
在一些实施例中,存储模块用于针对每个报文属性,数据池根据数据字典查询报文属性对应的键Key,将报文属性对应的数据作为值Value与Key进行对应存储;其中,数据字典中存储报文属性以及报文属性对应的Key。
在一些实施例中,还包括:开关模块,或者,报文打包模块;开关模块用于在数据池的开关标识为开的情况下,触发报文配置获取模块执行响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件;或者,报文打包模块用于响应于业务响应事件的触发,根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将业务响应报文通过业务处理装置返回至业务请求报文的发送系统;或者,报文打包模块用于响应于外部访问事件的触发,根据外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文,将外部访问报文通过业务处理装置发送至欲访问的系统;或者,存储模块用于响应于业务处理装置完成业务处理的事件的触发,根据处理后的数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池中。
根据本公开的又一些实施例,提供的一种报文的处理系统,包括:前述任意实施例的数据池;以及业务处理装置;业务处理装置用于读取数据池中存储的信息并进行相应的业务处理。
在一些实施例中,业务处理装置用于根据业务流程中预设报文属性,查询数据字典中预设报文属性对应的Key,根据预设报文属性对应的Key调用数据池的读取接口向数据池获取Key对应的Value;其中,业务流程与业务请求报文相对应;根据Value以及业务流程,进行相应的业务处理。
在一些实施例中,业务处理装置还用于对业务请求报文进行预解包获取交易码,根据交易码将业务请求报文转发到对应的业务流程。
在一些实施例中,还包括:配置装置,用于将报文属性以及报文属性对应的键Key存储在数据字典中;将数据字典配置为被数据池和业务处理装置共享。
根据本公开的再一些实施例,提供的一种报文的处理系统,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的报文的处理方法的步骤。
根据本公开的又一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例的报文的处理方法的步骤。
本公开中设置数据池可以实现响应于相应事件的触发,根据报文配置文件自动对业务请求报文进行解析,将报文中的各报文属性以及各报文属性对应的数据以键值对的形式进行存储,业务系统可以通过调用所述数据池的读取接口读取所述数据池中存储的信息并进行相应的业务处理。数据池适用于任意业务系统和业务场景,只需要修改对应的报文配置文件即可自动实现任意报文的解析和响应数据的存取,降低开发过程的复杂度,提高可扩展性。
进一步,数据池使用键值对的形式取代POJO作为基本的数据结构进行数据的存储,可以将报文转换为平整的键值对的形式。键值对形式在进行数据读取、赋值时仅需一次操作即可完成,简化了开发过程中数据读取、赋值操作次数,提高了数据存取的效率。并且键值对的形式适用于任意报文的类型,在一次业务处理过程中仅需创建一次数据池对象,且为自动创建,相对于针对不同类型报文需要创建不同POJO对象,并且需要多次创建和销毁对象的方式,提高了效率和可扩展性,降低了开发的复杂度。
此外,数据池使用键值对替代POJO对象,在一次业务处理的过程中使用键值对存放报文数据,不需要创建POJO对象实例,在多线程、高并发的场景下避免了虚拟机垃圾回收的负担,提高了程序运行的整体性能。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的报文的处理方法的流程示意图。
图2示出本公开的一些实施例的键值对存储结构的示意图。
图3示出本公开的另一些实施例的报文的处理方法的流程示意图。
图4示出本公开的又一些实施例的报文的处理方法的流程示意图。
图5示出本公开的一些实施例的数据池的功能示意图。
图6示出本公开的一些实施例的数据池的结构示意图。
图7示出本公开的一些实施例的报文的处理系统的结构示意图。
图8示出本公开的另一些实施例的报文的处理系统的结构示意图。
图9示出本公开的又一些实施例的报文的处理系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提出一种报文的处理方法,下面结合图1进行描述。
图1为本公开报文的处理方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S106。
在步骤S102中,响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件。
数据池可以基于事件触发机制,响应于预设事件的发生执行相应的操作。例如,接收到业务请求报文可以是一种预设事件,从而触发数据池的后续操作。业务请求报文可以是用户或其他外部系统接入本业务系统而发送的相应请求,例如,查询请求报文,交易请求报文等。
在一些实施例中,数据池根据业务请求报文的发送系统与业务处理装置之间预先定义的交互配置信息,确定业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。不同系统间交互的报文的类型等信息可以预先定义在交互配置信息中,系统间根据交互配置信息进行交互。例如,根据业务请求报文的发送系统对应的接口或者业务请求报文的标识等信息可以查询交互配置信息,确定业务请求报文的类型。银行业务系统中使用的报文类型例如包括:XML(Extensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JS对象简谱)、定长字符流、边长字符流、8583、Tuxedo域、分隔符报文等。
在配置阶段可以选择要配置的报文类型,然后根据对应的模板进行报文定义,生成对应的报文配置文件,将报文类型与报文配置文件的对应关系,数据池根据报文类型则可以获取对应的报文配置文件。不同类型的报文结构和表示方式等不同,报文配置文件中可以描述不同报文的结构和表示方式等信息。报文配置文件可以是XML格式。
在一些实施例中,数据池被配置有开关标识,在数据池的开关标识为开的情况下,执行响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件。数据池的自动功能可以通过开关控制,开关打开时自动关联报文打包、解包进行数据存取,开关关闭时可对数据池进行手动操作。可以针对不同的预设事件,设置数据池的开关。
在步骤S104中,数据池根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据。
数据池可以自动根据报文配置文件对业务请求报文进行解析,得到各个报文属性和报文属性对应的数据。报文属性可以是XML等类型的报文中的标签名,也可以是JSON等类型的报文中的属性名,是指报文中各字段的数据对应的实际含义。数据池会根据报文配置文件将报文的各部分结构进行解析,获取每一部分的报文属性和报文属性对应的数据。例如,银行业务系统中具有电费查询缴费功能,客户通过银行柜面查询某月电费账单信息。银行系统后台报文可以为XML格式,具体结构如下。
报文包括头部(header)和数据部分(data),数据池对上述报文解析可以得到以下信息,针对头部,报文属性包括:sign_acct(签名账户),cust_id(用户账户),tx_code(交易码),各个报文属性对应的数据分别为400840081001,200001,queryElectric(电费账单请求)。针对数据部分,报文属性包括:expend_date(消费日期),expend_amt(消费金额),expend_date对应的数据包括:20160301,20160310,20160331,expend_amt对应的数据包括:1000,200,50。针对嵌套结构的报文,数据池也可以将每一层嵌套中的报文属性和对应的数据解析出来。
在步骤S106中,数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理。
可以在内存中开辟对应的空间,用于数据池存储报文属性以及各报文属性对应的数据。在一些实施例中,将报文属性以及报文属性对应的键Key存储在数据字典中;将数据字典配置为被数据池和业务处理装置共享。进一步,针对每个报文属性,数据池根据数据字典查询报文属性对应的Key,将报文属性对应的数据作为值Value与Key进行对应存储。
例如,数据字典中可以存储本业务系统会用到的各种报文属性和报文属性对应的Key。报文属性本身就是系统预设好的,例如前述实施例中在电费账单信息查询时,用sign_acct表示签名账户等。只需要将这些报文属性配置对应的Key即可,例如,sign_acct对应的Key为0001,Key的值可以任意设置,只需要保证与不同报文属性一一对应即可。也可以直接将报文属性本身作为对应的Key,例如,sign_acct对应的Key为sign_acct。这种情况下,也可以不需要配置数据字典,由数据值直接将报文属性作为Key,将报文属性对应的数据作为Value进行对应存储。
数据池解析任意报文后可以将其中的各个报文属性和对应的数据以键值对的平整结构进行存储,取代POJO的存储形式。针对嵌套报文等复杂的报文,不需要像POJO设置嵌套的多个类去依次存储各层的数据,数据存储只需要一次操作即可完成。在读取时也不需要像POJO设置嵌套的多个类去一层一层的读取数据,只需要利用Key就可以一次性获取Value。
在一些实施例中,在一个报文属性对应多个数据的情况下,将多个数据作为Value以列表(List)的形式与Key进行对应存储。例如,expend_date对应的数据包括:20160301,20160310,20160331,存储时则将三个数据以List的形式,与expend_date对应的key进行存储。以List形式进行存储时,数据在报文中的顺序进行顺序存放。报文包括变量报文域,例如前述实施例中电费账单信息查询报文的头部,还可以包括循环报文域,例如前述实施例中电费账单信息查询报文的数据部分。数据池可以将变量报文域和循环报文域分别进行存储。循环报文域可能存在一个报文属性对应多个数据的情况,数据采用list的形式进行存储,如图2所示。
上述实施例的方法中设置数据池可以实现响应于相应事件的触发,根据报文配置文件自动对业务请求报文进行解析,将报文中的各报文属性以及各报文属性对应的数据以键值对的形式进行存储,业务系统可以通过调用数据池的读取接口读取数据池中存储的信息并进行相应的业务处理。数据池适用于任意业务系统和业务场景,只需要修改对应的报文配置文件即可自动实现任意报文的解析和响应数据的存取,降低开发过程的复杂度,提高可扩展性。
进一步,数据池使用键值对的形式取代POJO作为基本的数据结构进行数据的存储,可以将报文转换为平整的键值对的形式。键值对形式在进行数据读取、赋值时仅需一次操作即可完成,简化了开发过程中数据读取、赋值操作次数,提高了数据存取的效率。并且键值对的形式适用于任意报文的类型,在一次业务处理过程中仅需创建一次数据池对象,且为自动创建,相对于针对不同类型报文需要创建不同POJO对象,并且需要多次创建和销毁对象的方式,提高了效率和可扩展性,降低了开发的复杂度。
此外,数据池使用键值对替代POJO对象,在一次业务处理的过程中使用键值对存放报文数据,不需要创建POJO对象实例,在多线程、高并发的场景下避免了虚拟机垃圾回收的负担,提高了程序运行的整体性能。
下面结合图3描述本公开的报文的处理方法的另一些实施例。
图3为本公开报文的处理方法另一些实施例的流程图。如图3所示,在步骤S106之后还包括:步骤S302~S312。
在步骤S302中,业务处理装置根据业务流程中预设报文属性,查询数据字典中预设报文属性对应的Key。
数据池可以与业务处理装置均设置在业务系统中,业务系统中还可以包括一个或多个业务处理流程,不同的业务处理流程可以执行不同的功能。多个业务处理流程可以共享数据池。在一些实施例中,业务处理装置对业务请求报文进行预解包获取交易码,根据交易码将业务请求报文转发到对应的业务流程。不同的业务请求报文可以对应不同的交易码,不同的交易码对应不同的业务流程。例如,电费账单信息查询报文对应交易码为queryElectric,业务处理装置根据交易码可以执行电费账单信息查询的业务流程。
业务流程中包括业务执行逻辑,业务执行逻辑包括预设报文属性等信息,例如,针对账户余额查询的业务流程,业务执行逻辑是根据sign_acct,cust_id,tx_code生成查询请求,发送至数据库,并接收数据库返回的信息,发送至用户,则对应的预设报文属性为sign_acct,cust_id,tx_code。根据预设报文属性从数据字典中查询对应的Key。如果预设报文属性与Key相同,也可以不通过数据字典。
在步骤S304中,业务处理装置根据预设报文属性对应的Key调用数据池的读取接口向数据池获取Key对应的Value。
数据池可以提供读取接口(API),写入接口,更新接口,修改接口等供业务处理装置调用。由于数据池存储报文属性和对应的数据以键值对的平整结构,因此,业务处理装置只需通过Key就可以得到对应的Value。
在步骤S306中,业务处理装置根据Value以及业务流程,进行相应的业务处理。
例如,针对账户余额查询的业务流程,业务处理装置获取sign_acct,cust_id,tx_code对应的value后生成数据库查询请求发送至数据库,继续执行后续的流程。
在步骤S308中,响应于业务处理装置完成业务处理的事件的触发,数据池根据处理后的数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池中。
业务处理装置完成业务处理后可以获取到处理后的数据,例如,查询的账户余额,交易后的费用等。如果数据池中存储了处理前的数据,则利用处理后的数据进行覆盖。
在步骤S310中,响应于业务响应事件的触发,数据池根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文。
数据池具有自动打包的功能,在业务流程执行到业务响应阶段的情况下,业务响应时间触发,数据池则根据业务响应报文的类型获取对应的报文配置文件,根据报文配置文件获取相关的键值对,并打包生成业务响应报文。
在步骤S312中,数据池将业务响应报文通过业务处理装置返回至业务请求报文的发送系统。
例如,数据池生成账户余额查询响应报文返回给业务处理装置,业务处理装置将该报文返回给用户。
下面结合图4描述本公开的报文的处理方法的又一些实施例。
图4为本公开报文的处理方法又一些实施例的流程图。如图4所示,该实施例的方法包括:步骤S402~S412。
在步骤S402中,响应于接收到业务请求报文的事件的触发,数据池根据业务请求报文获取对应的报文配置文件。
在步骤S404中,数据池根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据。
在步骤S406中,数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储。
在步骤S408中,在业务处理装置无法进行业务处理的情况下,生成外部访问事件。
业务处理装置根据相应的业务处理流程判断是否能够执行对应的业务处理。可以当业务处理能够在本业务系统内执行的情况下,确定能够执行对应的业务处理,否则无法进行对应的业务处理。例如,针对账户余额查询的业务流程,可以在银行系统执行对应的业务处理,而针对电费账单信息查询的业务流程,需要到外部的电力系统执行查询的业务处理,因此,需要生成外部访问事件。
在步骤S410中,响应于外部访问事件的触发,数据池根据外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文。
数据池根据外部访问报文的类型,获取对应的配置文件,根据配置文件获取相关的键值对,并打包生成外部访问报文。
在步骤S412中,数据池将外部访问报文通过业务处理装置发送至欲访问的系统。
在欲访问的系统根据外部访问报文进行处理后,返回外部响应报文到本业务系统,外部响应报文同样会触发数据池对该报文的自动解包过程。数据池响应于接收到外部响应报文的事件的触发,数据池根据外部响应报文获取对应的报文配置文件;根据报文配置文件对外部响应报文进行解析,得到外部响应报文中的各报文属性以及各报文属性对应的数据;将各报文属性以及各报文属性对应的数据以键值对的形式进行存储。业务处理装置根据外部响应报文对应的业务流程,生成业务响应事件,响应于业务响应事件的触发,数据池根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将业务响应报文通过业务处理装置返回至业务请求报文的发送系统。
本公开的数据池如图5所示集成了以下功能。数据池具有基于键值对形式的扁平的数据结构,这种数据结构使应用开发变得简单,并且具有较高的存储、读取效率。基于这种数据结构,实现了一系列数据池操作的API,功能可以涵盖数据的存储、读取、更新以及删除。数据池提供了API,在业务流程中可以调用。数据池还通过事件触发机制和接入服务(业务请求)、外部访问相关联,在发送报文阶段自动获取数据池中的数据进行打包,在接收报文阶段自动将报文数据填充到数据池中。数据池的自动存取功能通过开关控制,开关打开时自动关联报文打包、解包进行数据装配,开关关闭时可对数据池进行手动操作。
在业务处理的各个阶段,可使用数据池自动或手动进行数据的填充及获取操作,例如,业务请求报文的解包阶段可自动填充数据池,业务请求响应打包阶段可自动从数据池获取数据。业务流程中,可以手动对数据池里的数据进行填充和获取;外部访问请求打包阶段可自动获取数据,外部响应报文解包阶段可自动或手动填充数据。由于使用数据池的业务对数据池有着很强的依赖性,所以数据池在设计的时候充分考虑健壮性问题。首先在开发态有数据池的控制开发,可根据实际需要在全局层面控制数据池是否生效,避免误操作。其次是运行态在服务启动时会检查数据池是否可用,如果不可用会向应用抛出异常。
本公开还提供一种数据池,下面结合图6进行描述。
图6为本公开数据池的一些实施例的结构图。如图6所示,该实施例的数据池60包括:报文配置获取模块610,报文解析模块620,存储模块630。
报文配置获取模块610,用于响应于接收到业务请求报文的事件的触发,根据业务请求报文获取对应的报文配置文件。
在一些实施例中,报文配置获取模块610用于根据业务请求报文的发送系统与业务处理装置之间预先定义的交互配置信息,确定业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。
报文解析模块620,用于根据报文配置文件对业务请求报文进行解析,得到业务请求报文中的各报文属性以及各报文属性对应的数据。
存储模块630,用于将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用数据池的读取接口读取数据池60中存储的信息并进行相应的业务处理。
在一些实施例中,存储模块630用于针对每个报文属性,数据池60根据数据字典查询报文属性对应的键Key,将报文属性对应的数据作为值Value与Key进行对应存储;其中,数据字典中存储报文属性以及报文属性对应的Key。
在一些实施例中,该数据池60还包括:开关模块640,或者,报文打包模块650;开关模块640用于在数据池60的开关标识为开的情况下,触发报文配置获取模块执行响应于接收到业务请求报文的事件的触发,数据池60根据业务请求报文获取对应的报文配置文件;或者,报文打包模块650用于响应于业务响应事件的触发,根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将业务响应报文通过业务处理装置返回至业务请求报文的发送系统;或者,报文打包模块650用于响应于外部访问事件的触发,根据外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文,将外部访问报文通过业务处理装置发送至欲访问的系统;或者,存储模块用于响应于业务处理装置完成业务处理的事件的触发,根据处理后的630数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池60中。
本公开还提供一种报文的处理系统,该报文的处理系统可以是前述实施例的业务系统,下面结合图7进行描述。
图7为本公开报文的处理系统的一些实施例的结构图。如图7所示,该实施例的报文的处理系统7包括:前述任意实施例的数据池60;以及业务处理装置72。
业务处理装置72用于读取数据池60中存储的信息并进行相应的业务处理。
在一些实施例中,业务处理装置72用于根据业务流程中预设报文属性,查询数据字典中预设报文属性对应的Key,根据预设报文属性对应的Key调用数据池60的读取接口向数据池60获取Key对应的Value;其中,业务流程与业务请求报文相对应;根据Value以及业务流程,进行相应的业务处理。
在一些实施例中,业务处理装置72还用于对业务请求报文进行预解包获取交易码,根据交易码将业务请求报文转发到对应的业务流程。
在一些实施例中,还包括:配置装置74,用于将报文属性以及报文属性对应的键Key存储在数据字典中;将数据字典配置为被数据池60和业务处理装置72共享。
本公开的实施例中的报文的处理系统,可由各种计算设备或计算机系统来实现,即报文的处理系统中的数据池和业务处理装置可各分别由各种计算设备或计算机系统来实现,下面结合图8以及图9进行描述。
图8为本公开报文的处理系统的一些实施例的结构图。如图8所示,该实施例的系统8包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行本公开中任意一些实施例中的报文的处理方法。
其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图9为本公开报文的处理装置的另一些实施例的结构图。如图9所示,该实施例的装置90包括:存储器910以及处理器920,分别与存储器810以及处理器820类似。还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口950为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (18)
1.一种报文的处理方法,包括:
响应于接收到业务请求报文的事件的触发,数据池根据所述业务请求报文获取对应的报文配置文件;
所述数据池根据所述报文配置文件对所述业务请求报文进行解析,得到所述业务请求报文中的各报文属性以及各报文属性对应的数据;
所述数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用所述数据池的读取接口读取所述数据池中存储的信息并进行相应的业务处理;
其中,所述数据池根据所述业务请求报文获取对应的报文配置文件包括:
所述数据池根据所述业务请求报文的发送系统与所述业务处理装置之间预先定义的交互配置信息,确定所述业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。
2.根据权利要求1所述的报文的处理方法,其中,还包括:
将报文属性以及报文属性对应的键Key存储在数据字典中;
将所述数据字典配置为被所述数据池和所述业务处理装置共享。
3.根据权利要求2所述的报文的处理方法,其中,
所述数据池将各报文属性以及各报文属性对应的数据以键值对的形式进行存储包括:
针对每个报文属性,所述数据池根据数据字典查询所述报文属性对应的Key,将所述报文属性对应的数据作为值Value与所述Key进行对应存储。
4.根据权利要求3所述的报文的处理方法,其中,
在一个报文属性对应多个数据的情况下,将多个数据作为Value以列表的形式与所述Key进行对应存储。
5.根据权利要求2所述的报文的处理方法,其中,
所述业务处理装置调用所述数据池的读取接口读取所述数据池中存储的信息并进行相应的业务处理包括:
所述业务处理装置根据业务流程中预设报文属性,查询数据字典中所述预设报文属性对应的Key;
所述业务处理装置根据所述预设报文属性对应的Key调用所述数据池的读取接口向所述数据池获取所述Key对应的Value;其中,所述业务流程与所述业务请求报文相对应;
所述业务处理装置根据所述Value以及所述业务流程,进行相应的业务处理。
6.根据权利要求5所述的报文的处理方法,还包括:
所述业务处理装置对所述业务请求报文进行预解包获取交易码,根据所述交易码将所述业务请求报文转发到对应的业务流程。
7.根据权利要求1所述的报文的处理方法,其中,
所述数据池被配置有开关标识,在所述数据池的开关标识为开的情况下,执行响应于接收到业务请求报文的事件的触发,数据池根据所述业务请求报文获取对应的报文配置文件。
8.根据权利要求1所述的报文的处理方法,还包括:
响应于业务处理装置完成业务处理的事件的触发,所述数据池根据处理后的数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池中;
或者,响应于业务响应事件的触发,所述数据池根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将所述业务响应报文通过所述业务处理装置返回至所述业务请求报文的发送系统。
9.根据权利要求1所述的报文的处理方法,还包括:
在所述业务处理装置无法进行业务处理的情况下,生成外部访问事件;
响应于外部访问事件的触发,所述数据池根据所述外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文,将所述外部访问报文通过业务处理装置发送至欲访问的系统。
10.一种数据池,包括:
报文配置获取模块,用于响应于接收到业务请求报文的事件的触发,根据所述业务请求报文获取对应的报文配置文件;
报文解析模块,用于根据所述报文配置文件对所述业务请求报文进行解析,得到所述业务请求报文中的各报文属性以及各报文属性对应的数据;
存储模块,用于将各报文属性以及各报文属性对应的数据以键值对的形式进行存储,以便业务处理装置调用所述数据池的读取接口读取所述数据池中存储的信息并进行相应的业务处理;
其中,所述报文配置获取模块用于根据所述业务请求报文的发送系统与所述业务处理装置之间预先定义的交互配置信息,确定所述业务请求报文的报文类型,根据报文类型获取对应的报文配置文件。
11.根据权利要求10所述的数据池,其中,
所述存储模块用于针对每个报文属性,所述数据池根据数据字典查询所述报文属性对应的键Key,将所述报文属性对应的数据作为值Value与所述Key进行对应存储;
其中,所述数据字典中存储报文属性以及报文属性对应的Key。
12.根据权利要求10所述的数据池,还包括:开关模块,或者,报文打包模块;
所述开关模块用于在所述数据池的开关标识为开的情况下,触发所述报文配置获取模块执行响应于接收到业务请求报文的事件的触发,数据池根据所述业务请求报文获取对应的报文配置文件;
或者,所述报文打包模块用于响应于业务响应事件的触发,根据业务响应报文的报文配置文件获取相关的键值对,并打包生成业务响应报文,将所述业务响应报文通过所述业务处理装置返回至所述业务请求报文的发送系统;
或者,所述报文打包模块用于响应于外部访问事件的触发,根据所述外部访问事件对应的报文配置文件获取相关的键值对,并打包生成外部访问报文,将所述外部访问报文通过业务处理装置发送至欲访问的系统;
或者,所述存储模块用于响应于业务处理装置完成业务处理的事件的触发,根据处理后的数据对应的报文属性,将处理后的数据以键值对的形式存储至数据池中。
13.一种报文的处理系统,包括:权利要求10-12任一项所述的数据池;以及业务处理装置;
所述业务处理装置用于读取所述数据池中存储的信息并进行相应的业务处理。
14.根据权利要求13所述的报文的处理系统,其中,
所述业务处理装置用于根据业务流程中预设报文属性,查询数据字典中所述预设报文属性对应的Key,根据所述预设报文属性对应的Key调用所述数据池的读取接口向所述数据池获取所述Key对应的Value;其中,所述业务流程与所述业务请求报文相对应;根据所述Value以及所述业务流程,进行相应的业务处理。
15.根据权利要求14所述的报文的处理系统,其中,
所述业务处理装置还用于对所述业务请求报文进行预解包获取交易码,根据所述交易码将所述业务请求报文转发到对应的业务流程。
16.根据权利要求13所述的报文的处理系统,还包括:
配置装置,用于将报文属性以及报文属性对应的键Key存储在数据字典中;将所述数据字典配置为被所述数据池和所述业务处理装置共享。
17.一种报文的处理系统,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-9任一项所述的报文的处理方法的步骤。
18.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-9任一项所述的报文的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119679.1A CN111343181B (zh) | 2020-02-26 | 2020-02-26 | 报文的处理方法,系统以及数据池和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119679.1A CN111343181B (zh) | 2020-02-26 | 2020-02-26 | 报文的处理方法,系统以及数据池和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343181A CN111343181A (zh) | 2020-06-26 |
CN111343181B true CN111343181B (zh) | 2022-08-09 |
Family
ID=71185604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119679.1A Active CN111343181B (zh) | 2020-02-26 | 2020-02-26 | 报文的处理方法,系统以及数据池和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343181B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897791B (zh) * | 2020-07-15 | 2024-01-12 | 银联商务股份有限公司 | 一种业务分流方法、装置、设备和存储介质 |
CN114189476B (zh) * | 2021-01-26 | 2023-12-08 | 长威信息科技发展股份有限公司 | 一种多元接口分流调用方法及终端 |
CN112785421A (zh) * | 2021-01-27 | 2021-05-11 | 广州广电运通金融电子股份有限公司 | 实时可配置式联机交易处理方法及处理系统 |
CN113852627B (zh) * | 2021-09-23 | 2023-09-26 | 中国银行股份有限公司 | 一种可扩展的支付报文处理方法、装置及电子设备 |
CN114004217B (zh) * | 2022-01-04 | 2022-03-25 | 江西派能科技有限公司 | 一种报文签名要素提取方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019809A (zh) * | 2011-09-28 | 2013-04-03 | 中国移动通信集团公司 | 业务处理装置和方法、及业务处理控制装置 |
CN106027315A (zh) * | 2016-07-12 | 2016-10-12 | 中国银联股份有限公司 | 数据处理系统接入仿真方法 |
CN107688537A (zh) * | 2017-08-25 | 2018-02-13 | 泰康保险集团股份有限公司 | 测试方法、装置及前置机 |
WO2018177032A1 (zh) * | 2017-03-29 | 2018-10-04 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
CN108920176A (zh) * | 2018-06-27 | 2018-11-30 | 中国银行股份有限公司 | 一种交易流程配置方法及装置 |
CN109144950A (zh) * | 2018-07-20 | 2019-01-04 | 中国邮政储蓄银行股份有限公司 | 业务数据的存储方法和装置 |
CN110427438A (zh) * | 2019-07-30 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法及其装置、电子设备和介质 |
-
2020
- 2020-02-26 CN CN202010119679.1A patent/CN111343181B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019809A (zh) * | 2011-09-28 | 2013-04-03 | 中国移动通信集团公司 | 业务处理装置和方法、及业务处理控制装置 |
CN106027315A (zh) * | 2016-07-12 | 2016-10-12 | 中国银联股份有限公司 | 数据处理系统接入仿真方法 |
WO2018177032A1 (zh) * | 2017-03-29 | 2018-10-04 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
CN107688537A (zh) * | 2017-08-25 | 2018-02-13 | 泰康保险集团股份有限公司 | 测试方法、装置及前置机 |
CN108920176A (zh) * | 2018-06-27 | 2018-11-30 | 中国银行股份有限公司 | 一种交易流程配置方法及装置 |
CN109144950A (zh) * | 2018-07-20 | 2019-01-04 | 中国邮政储蓄银行股份有限公司 | 业务数据的存储方法和装置 |
CN110427438A (zh) * | 2019-07-30 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法及其装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111343181A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343181B (zh) | 报文的处理方法,系统以及数据池和计算机可读存储介质 | |
US10839141B2 (en) | System and method for provisioning a mobile software application to a mobile device | |
CN110244942B (zh) | 一种页面生成方法、装置及系统 | |
CA2598317C (en) | Mobile device having extensible software for presenting server-side applications, software and methods | |
US11321090B2 (en) | Serializing and/or deserializing programs with serializable state | |
CN115309516A (zh) | 一种应用生命周期的检测方法、装置及计算机设备 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN111507676A (zh) | 业务订单流程创建和实现方法、装置、存储介质和系统 | |
CN112860347A (zh) | 一种小程序中存证文件的生成方法及装置 | |
CN114661402A (zh) | 一种界面渲染方法、装置、电子设备及计算机可读介质 | |
CN113553068B (zh) | 一种下载应用包的方法、装置和电子设备 | |
KR101684454B1 (ko) | 하이브리드 애플리케이션 및 이의 이벤트 처리 방법 | |
CN112579129A (zh) | 基于服务器的软件更新方法、装置、设备及存储介质 | |
US20090313628A1 (en) | Dynamically batching remote object model commands | |
CN116700694B (zh) | 小程序引擎 | |
CN110032406B (zh) | 基于消息的视图加载方法、装置、设备和存储介质 | |
KR100703285B1 (ko) | 메시르를 이용한 교환 시스템의 동적 서비스를 지원하는방법 | |
CN116795358A (zh) | 界面数据处理方法、装置、电子设备及介质 | |
CN115982257A (zh) | 接口创建方法以及相关设备 | |
CN112685667A (zh) | 数据交互方法、装置及计算机可读介质以及交互服务器 | |
CN116931914A (zh) | 页面渲染方法、装置、电子设备和计算机可读存储介质 | |
CN117787989A (zh) | 一种基于dpu的风控验证的规则管理平台、设备及存储介质 | |
CN117608586A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN113987385A (zh) | 一种页面渲染方法及装置 | |
CN114491374A (zh) | 一种从数据库加载Python脚本并使用的方法及系统 |
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 |