CN115760085A - 分布式实时支付系统的报文处理方法及装置 - Google Patents

分布式实时支付系统的报文处理方法及装置 Download PDF

Info

Publication number
CN115760085A
CN115760085A CN202211507645.5A CN202211507645A CN115760085A CN 115760085 A CN115760085 A CN 115760085A CN 202211507645 A CN202211507645 A CN 202211507645A CN 115760085 A CN115760085 A CN 115760085A
Authority
CN
China
Prior art keywords
rule
type
service node
micro service
information corresponding
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
Application number
CN202211507645.5A
Other languages
English (en)
Inventor
廖明积
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202211507645.5A priority Critical patent/CN115760085A/zh
Publication of CN115760085A publication Critical patent/CN115760085A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种分布式实时支付系统的报文处理方法及装置,涉及分布式技术领域,其中该方法包括:接收报文处理请求;根据预设的业务类型的业务处理流程信息,确定报文处理请求的业务处理流程信息,业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;从多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息匹配,确定每一微服务节点待执行的规则执行脚本;将待执行的规则执行脚本发送至QLExpress中执行;接收QLExpress返回的执行结果。本发明可以提高分布式实时支付系统的开发效率。

Description

分布式实时支付系统的报文处理方法及装置
技术领域
本发明涉及分布式技术领域,尤其涉及一种分布式实时支付系统的报文处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,分布式实时支付系统作为新型支付系统,可以支持端到端实时到账、7×24小时运行的小额实时支付清算业务。但是,各个银行参与的实时支付系统标准各不相同,对参加行的要求也不一样,同时,各银行业务发展程度、对业务的处理要求也不尽相同,因此各银行对业务处理流程中一些节点的需求千差万别且经常变化。
在现有的分布式实时支付系统中,针对不同分布式实时支付系统需要编写不同的代码,使其满足各个银行的业务需求,这种方式的开发效率较低,开发成本较高。
发明内容
本发明实施例提供一种分布式实时支付系统的报文处理方法,用以提高分布式实时支付系统的开发效率,降低开发成本,该方法包括:
接收报文处理请求,所述报文处理请求包括业务类型;
根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
本发明实施例还提供一种分布式实时支付系统的报文处理装置,用以提高分布式实时支付系统的开发效率,降低开发成本,该装置包括:
请求接收模块,用于接收报文处理请求,所述报文处理请求包括业务类型;
流程确定模块,用于根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
规则筛选模块,用于根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
脚本确定模块,用于将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
发送模块,用于将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
结果接收模块,用于接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式实时支付系统的报文处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式实时支付系统的报文处理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式实时支付系统的报文处理方法。
本发明实施例中,接收报文处理请求,所述报文处理请求包括业务类型;根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。与现有的分布式实时支付系统的报文处理的技术方案相比,通过预先存储多个规则类型对应的规则信息,在处理报文时,先确定微服务节点的规则类型对应的规则信息,然后根据报文数据,从微服务节点的规则类型对应的规则信息中匹配出报文数据对应的规则信息,得到微服务节点待执行的规则执行脚本,将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行,这样,不需要开发人员针对不同分布式实时支付系统编写代码,仅通过配置规则信息,利用QLExpress对规则信息进行解析并执行,就可以得到QLExpress返回的执行结果,从而可以提高分布式实时支付系统的灵活性,提高分布式实时支付系统的开发效率,降低开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种分布式实时支付系统的报文处理方法的流程图;
图2为本发明实施例中提供的一种规则信息的配置方法的流程图;
图3为本发明实施例中提供的QLExpress核心操作的示意图;
图4为本发明实施例中提供的一种分布式实时支付系统的报文处理装置的示意图;
图5为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
目前,分布式实时支付系统可以支持端到端实时到账、7×24小时运行的小额实时支付清算业务。作为新型支付系统,分布式实时支付系统在业务流程、清算结算机制等方面与传统中央支付系统差异较大,一笔交易往往需要在几秒内完成,因此对参与机构系统的实时性、连续性、性能等方面提出较高的要求。
经研究发现,各个银行参与的实时支付系统标准各不相同,对参加行的要求也不一样,同时,各银行业务发展程度、对业务的处理要求也不尽相同,因此各银行对业务处理流程中一些节点的需求(例如借贷方的处理、报文的组报规则等)千差万别且经常变化。
在现有的分布式实时支付系统中,一种对报文的处理方式是,针对报文的处理条件总结出有共同特点的模式,将这个模式的设计对应为分布式实时支付系统中的关系型数据库表,而针对具体的处理条件则对应为表中的每一条记录。在报文处理时,通过读取数据库表中的记录,从而获取对每一条报文的处理条件;而针对报文的执行动作,则只能通过硬编码实现,通常需要对每一种场景的报文设计一条代码处理分支,灵活度和复用度都很低。而且,对于分布式系统数据库,往往都需要分库处理同时还涉及到各种处理技术,这样一来就更加复杂,极大的增加了编程难度。
另一种较灵活的报文处理方式是基于Java Script和SQL语言实现的规则引擎,该方式可以将复杂多变的规则从硬代码中解放出来,把对报文处理的条件和执行动作转换成SQL脚本的形式,存储到数据库中,使用的时候再读取数据库,这种方式可以对复杂的规则条件进行灵活配置。但对于分布式实时支付系统,需要额外维护一种开发语言,同时还需考虑兼容性等问题,这对于原本复杂的开发工作增加了难度和复杂度。
针对上述研究,本发明实施例提供了一种分布式实时支付系统的报文处理方案,建立一套规则执行条件和规则执行动作均可配置的规则驱动方法,从而在应对报文处理变化时,可以通过修改配置来实现,而不需开发人员修改代码,成本较低,应对需求变化的灵活度较高,错误发生率较低。此外,能很好的兼容分布式实时支付系统,减少了维护成本。
如图1所示,为本发明实施例提供的一种分布式实时支付系统的报文处理方法的流程图,该方法可以包括以下步骤:
步骤101,接收报文处理请求,所述报文处理请求包括业务类型;
步骤102,根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
步骤103,根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
步骤104,将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
步骤105,将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
步骤106,接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
本发明实施例中,接收报文处理请求,所述报文处理请求包括业务类型;根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。与现有的分布式实时支付系统的报文处理的技术方案相比,通过预先存储多个规则类型对应的规则信息,在处理报文时,先确定微服务节点的规则类型对应的规则信息,然后根据报文数据,从微服务节点的规则类型对应的规则信息中匹配出报文数据对应的规则信息,得到微服务节点待执行的规则执行脚本,将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行,这样,不需要开发人员针对不同分布式实时支付系统编写代码,仅通过配置规则信息,利用QLExpress对规则信息进行解析并执行,就可以得到QLExpress返回的执行结果,从而可以提高分布式实时支付系统的灵活性,提高分布式实时支付系统的开发效率,降低开发成本。
下面对图1所示的分布式实时支付系统的报文处理方法进行详细的说明。
在上述步骤101中,接收报文处理请求。
其中,报文处理请求包括业务类型和报文数据。
例如,业务类型可以是实时支付汇出业务;报文数据可以包括账户行、开户行、报文处理方式等数据。
在上述步骤102中,由于每一种业务类型所对应的业务处理流程不同,因此,可以根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息。
其中,上述报文处理请求的业务类型对应的业务处理流程信息可以包括多个微服务节点信息,每一微服务节点信息可以包括微服务节点的规则类型。
具体实施时,报文的业务处理流程在本发明实施例中可以设计为多个微服务节点的结构,每一个微服务节点设置不同的规则类型,有些微服务节点还可能涉及多种规则类型。
在上述步骤103中,在上述步骤102得到多个微服务节点信息之后,可以根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息。
本发明实施例中,上述每一微服务节点的规则类型对应的规则信息可以包括规则类型、规则执行条件、规则执行动作、规则执行的对象和规则执行脚本。
具体实施时,可以通过调用setApplicationContext.initRunner()方法,读取缓存中的多个规则类型对应的规则信息,进而根据每一微服务节点的规则类型,完成规则信息的筛选。
本发明实施例中,在上述步骤103之前,如图2所示,还可以包括,按照如下方式进行规则信息的配置:
步骤201,接收用户发送的规则配置请求;所述规则配置请求包括规则类型、规则执行条件和规则执行动作;
步骤202,根据规则执行条件和规则执行动作,生成规则执行脚本;
步骤203,将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中。
具体实施时,用户可通过前端界面配置规则,一条规则可以包括:
rule condition:表示规则执行条件,用户可以根据业务场景在前端界面设置不同的rule condition;
rule action:表示规则执行动作,针对不同的rule type(规则类型)可选的ruleaction也不同;
rule attachment:决定rule作用的对象(规则执行的对象),决定rule执行的结果的顺序。
用户在前端界面针对上述规则信息编辑完成后,即用户定义规则执行条件和规则执行动作,并绑定到具体规则执行对象上,然后,点击Save按钮后,此时会根据规则执行条件信息和规则执行动作信息,生成规则执行脚本,其中,规则执行脚本是QLExpress可以执行的Java语句。例如,规则执行条件为“P_OFFICE = SG1 andP_DBT_MOP = BOOK”保存后台生成可执行Java语句如下:
paymentVo.getString("P_OFFICE").equals("SG1")&&paymentVo.getString("P_DBT_MOP").equals("BOOK")。
具体实施时,在通过上述方式配置好规则信息之后,将规则类型、规则执行条件信息、规则执行动作信息和规则执行脚本关联存储至数据库中。
主要涉及如下数据库表:
1) RULE_TYPE表定义了所有规则的属性和类型,该表的主要字段有:
EXEC_TYPE可选值为:
FIRST – 表示执行第一个命中的rule;
ALL - 表示执行同一个对象上绑定的所有命中的规则;
ALLSET – 表示执行所有对象上绑定的所有命中的规则。
ACTION_SOURCE可选值为:
RULE – 表示Action对应的是一条规则,需要根据该规则再执行相应动作;
PROFILE – 表示Action对应的是可配置的参数;
CONSTANT – 表示Action对应的是固定的数值。
2) RULE_CONDTIONS表用来存储规则执行条件信息,包括逻辑字段操作符等,每一条记录对应一个condition的一行内容,该表的主要字段如表1所示:
表1 RULE_CONDTIONS表
Field Name Description
UID_ RULES 规则UID(主键)
CONDITION_LINE_NO 行号
ANDOR And or 连接符
OPEN_BRACKE 左括号
left_OPERAND_VALUE 左操作值
left_OPERAND_CONTENT_TYPE 左操作值类型
OPERATOR_NAME 操作符
right_OPERAND_VALUE 右操作值
right_OPERAND_CONTENT_TYPE 右操作值类型
CLOSE_BRACKETS 右括号
3) RULE_DEFINITION 表用来存储所有规则执行脚本信息,该表的主要字段如表2所示:
表2 RULE_DEFINITION表
Figure BDA0003969798460000081
Figure BDA0003969798460000091
4) RULE_DEFINITION_OBJECT表用来存储规则绑定的信息,该表的主要字段如表3所示:
表3 RULE_DEFINITION_OBJECT表
Field Name Description
RULE_TYPE_ID 规则类型ID
RULE_SUB_TYPE 规则子类型
OBJECT_ID 绑定Object id(一般为OFFICEID)
RULE_UID 绑定规则的UID
ATTACH_SEQUENCE 绑定规则顺序号
本发明实施例中,将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中之后,还可以包括;
将数据库中存储的规则类型、规则执行条件、规则执行动作和规则执行脚本加载到分布式实时支付系统的缓存中。
具体实施时,在分布式实时支付系统启动时,Cache(缓存)调用规则initDPPRuleCache()方法,将规则信息加载到分布式实时支付系统的缓存中。
这样,在进行报文处理时,根据每一微服务节点的规则类型,可以调用setApplicationContext.initRunner()方法,直接读取缓存中的规则信息进行选择,访问速度更快,报文处理效率更高。
在上述步骤104中,由于每一种规则类型可能对应多种规则信息,因此,还可以将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本。
本发明实施例中,上述步骤104,具体可以包括:
针对每一微服务节点的规则类型对应的规则信息,将规则信息中的规则执行条件和报文数据进行匹配,确定报文数据对应的规则信息;
根据报文数据对应的规则信息中的规则执行脚本,确定每一微服务节点待执行的规则执行脚本。
具体实施时,针对每一微服务节点的规则类型对应的规则信息,需要将规则信息中的规则执行条件的逻辑字段信息和报文数据的字段进行匹配,根据报文数据判断是否符合规则信息中的规则执行条件,若符合,则说明需要根据所命中规则信息(即匹配成功)中的规则执行动作对报文数据进行处理(即需要利用规则信息中的规则执行脚本对报文数据进行处理)。因此,在针对每一微服务节点的规则类型对应的规则信息匹配结束之后,根据报文数据命中的规则信息,确定每一微服务节点待执行的规则执行脚本。
例如,对于一笔实时支付汇出业务,在业务类型对应的微服务中,可以配置多条修复规则,不同的修复规则有不同的规则执行条件,规则执行动作就是对这笔报文数据进行修改,以达到满足汇出到实时清算系统的要求,其中,规则执行条件和规则执行动作生成规则执行脚本。
具体实施时,可以通过调用executeRule方法,将规则信息中的规则执行条件和报文数据进行匹配,得到EXEC_TYPE的值是FIRST、ALL或ALLSET,其中,EXEC_TYPE的值表示报文数据命中的规则信息,根据EXEC_TYPE的值的不同,可以将PRULES表中的规则信息通过不同的Java语句进行连接,得到每一微服务节点待执行的规则执行脚本。
具体实施时,还可以将报文数据命中的规则信息的规则ID, OBJECT_ID, MID等信息存入数据库表RULE_LOG中,供前端展示。
在上述步骤105和步骤106中,可以将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行,得到QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
具体实施时,QLExpress是轻量级的类Java动态脚本引擎解析工具,作为一个嵌入式规则引擎在业务系统中广泛使用。除了支持标准的Java语法,还可以支持自定义操作符号、操作符号重载、函数定义、宏定义、数据延迟加载、表达式上下文等。具有高性能、高并发、线程安全等方面的优点。主要的核心操作如图3所示,其中,在图3中:
规则(Rule):自然语言的定义,可能是一段文本;
解析器(Parse):把自然语言转换为可以执行的命令,中间涉及到变异的步骤,词法、语法的分析,以及解析之后的缓存操作;
节点(Node):例如“如果”这个文字,需要定义“if”这样的指令,代表规则中的节点;
操作(Operator):具体的操作,例如“费用计算”这个节点,有对应的类和方法执行数据,给出结果,这就是一个操作;
上下文数据(ObjectContext):规则以及规则的解析都是无状态的,需要外部传入数据才能得到结果;
规则执行(RuleExecute):规则执行的入口,组装“自然语言的规则”以及“上下文数据”,获得执行之后的结果。
具体实施时,本发明实施例将每一微服务节点待执行的规则执行脚本当做参数值传给QLExpress中,QLExpress对每一微服务节点待执行的规则执行脚本进行解析,解析之后,根据规则执行条件执行规则执行动作,并返回执行结果,根据执行结果,进行每一微服务节点的报文处理。具体的,规则信息的执行结果可以分三种:
Rule 规则执行结果为另一条rule id,将Action Rule取出execute_script一起拼接。
Constant 规则执行结果为常量数值。
Profile 规则执行结果为Profile id,根据Profile id获取对应的数据库表值。
需要说明的是,在每一个微服务节点上都需要进行规则信息的选择及规则执行脚本的执行,在接收到QLExpress返回的正在处理报文的微服务节点的执行结果之后,才可以进行下一微服务节点的处理,重复进行每个微服务节点上规则信息的选择和规则执行脚本的执行,直至报文处理流程结束。
本发明实施例中,是将上述规则信息配置、规则处理功能部署为分布式架构中的一个基础组件,不仅利于对规则信息配置、规则处理功能的开发与管理,更节省了微服务之间调用的资源消耗。
本发明实施例中的分布式实时支付系统的报文处理方法,结合动态脚本引擎解析工具QLExpress和Java技术,实现了对规则执行条件和满足条件后所要执行的动作的可配置性,可动态的对报文内容修改,无需调整代码和重启系统;而且,还可以针对不同分布式实时清算系统的要求灵活配置,无需修改底层代码,使用统一的代码逻辑,并且通过单一实例部署就可满足各银行的实时支付业务。
本发明实施例中还提供了一种分布式实时支付系统的报文处理装置,如下面的实施例所述。由于该装置解决问题的原理与分布式实时支付系统的报文处理方法相似,因此该装置的实施可以参见分布式实时支付系统的报文处理方法的实施,重复之处不再赘述。
如图4所示,为本发明实施例提供的一种分布式实时支付系统的报文处理装置的示意图,该装置可以包括:
请求接收模块401,用于接收报文处理请求,所述报文处理请求包括业务类型;
流程确定模块402,用于根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
规则筛选模块403,用于根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
脚本确定模块404,用于将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
发送模块405,用于将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
结果接收模块406,用于接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
本发明实施例中,所述每一微服务节点的规则类型对应的规则信息还可以包括规则类型、规则执行条件和规则执行动作。
本发明实施例中,还可以包括规则配置模块,用于在规则筛选模块根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息之前:
接收用户发送的规则配置请求;所述规则配置请求包括规则类型、规则执行条件和规则执行动作;
根据规则执行条件和规则执行动作,生成规则执行脚本;
将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中。
本发明实施例中,还可以包括缓存模块,用于在规则配置模块将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中之后:
将数据库中存储的规则类型、规则执行条件、规则执行动作和规则执行脚本加载到分布式实时支付系统的缓存中。
本发明实施例中,脚本确定模块,具体可以用于:
针对每一微服务节点的规则类型对应的规则信息,将规则信息中的规则执行条件和报文数据进行匹配,确定报文数据对应的规则信息;
根据报文数据对应的规则信息中的规则执行脚本,确定每一微服务节点待执行的规则执行脚本。
本发明实施例还提供一种计算机设备,如图5所示,为本发明实施例中计算机设备的示意图,所述计算机设备500包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理520执行所述计算机程序530时实现上述分布式实时支付系统的报文处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式实时支付系统的报文处理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式实时支付系统的报文处理方法。
本发明实施例中,接收报文处理请求,所述报文处理请求包括业务类型;根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。与现有的分布式实时支付系统的报文处理的技术方案相比,通过预先存储多个规则类型对应的规则信息,在处理报文时,先确定微服务节点的规则类型对应的规则信息,然后根据报文数据,从微服务节点的规则类型对应的规则信息中匹配出报文数据对应的规则信息,得到微服务节点待执行的规则执行脚本,将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行,这样,不需要开发人员针对不同分布式实时支付系统编写代码,仅通过配置规则信息,利用QLExpress对规则信息进行解析并执行,就可以得到QLExpress返回的执行结果,从而可以提高分布式实时支付系统的灵活性,提高分布式实时支付系统的开发效率,降低开发成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种分布式实时支付系统的报文处理方法,其特征在于,包括:
接收报文处理请求,所述报文处理请求包括业务类型;
根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
2.如权利要求1所述的方法,其特征在于,所述每一微服务节点的规则类型对应的规则信息还包括规则类型、规则执行条件和规则执行动作。
3.如权利要求2所述的方法,其特征在于,根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息之前,还包括:
接收用户发送的规则配置请求;所述规则配置请求包括规则类型、规则执行条件和规则执行动作;
根据规则执行条件和规则执行动作,生成规则执行脚本;
将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中。
4.如权利要求3所述的方法,其特征在于,将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中之后,还包括:
将数据库中存储的规则类型、规则执行条件、规则执行动作和规则执行脚本加载到分布式实时支付系统的缓存中。
5.如权利要求2所述的方法,其特征在于,将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本,包括:
针对每一微服务节点的规则类型对应的规则信息,将规则信息中的规则执行条件和报文数据进行匹配,确定报文数据对应的规则信息;
根据报文数据对应的规则信息中的规则执行脚本,确定每一微服务节点待执行的规则执行脚本。
6.一种分布式实时支付系统的报文处理装置,其特征在于,包括:
请求接收模块,用于接收报文处理请求,所述报文处理请求包括业务类型;
流程确定模块,用于根据预先设置的业务类型的业务处理流程信息,确定报文处理请求的业务类型对应的业务处理流程信息,所述报文处理请求的业务类型对应的业务处理流程信息包括多个微服务节点信息,每一微服务节点信息包括微服务节点的规则类型;
规则筛选模块,用于根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息;所述每一微服务节点的规则类型对应的规则信息包括规则执行脚本;
脚本确定模块,用于将报文处理请求中的报文数据和每一微服务节点的规则类型对应的规则信息进行匹配,确定每一微服务节点待执行的规则执行脚本;
发送模块,用于将每一微服务节点待执行的规则执行脚本发送至QLExpress中执行;
结果接收模块,用于接收QLExpress返回的每一微服务节点待执行的规则执行脚本的执行结果。
7.如权利要求6所述的装置,其特征在于,所述每一微服务节点的规则类型对应的规则信息还包括规则类型、规则执行条件和规则执行动作。
8.如权利要求7所述的装置,其特征在于,还包括规则配置模块,用于在规则筛选模块根据每一微服务节点的规则类型,从预先存储的多个规则类型对应的规则信息中筛选出每一微服务节点的规则类型对应的规则信息之前:
接收用户发送的规则配置请求;所述规则配置请求包括规则类型、规则执行条件和规则执行动作;
根据规则执行条件和规则执行动作,生成规则执行脚本;
将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中。
9.如权利要求8所述的装置,其特征在于,还包括缓存模块,用于在规则配置模块将规则类型、规则执行条件、规则执行动作和规则执行脚本关联存储至数据库中之后:
将数据库中存储的规则类型、规则执行条件、规则执行动作和规则执行脚本加载到分布式实时支付系统的缓存中。
10.如权利要求7所述的装置,其特征在于,脚本确定模块,具体用于:
针对每一微服务节点的规则类型对应的规则信息,将规则信息中的规则执行条件和报文数据进行匹配,确定报文数据对应的规则信息;
根据报文数据对应的规则信息中的规则执行脚本,确定每一微服务节点待执行的规则执行脚本。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法。
CN202211507645.5A 2022-11-29 2022-11-29 分布式实时支付系统的报文处理方法及装置 Pending CN115760085A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211507645.5A CN115760085A (zh) 2022-11-29 2022-11-29 分布式实时支付系统的报文处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211507645.5A CN115760085A (zh) 2022-11-29 2022-11-29 分布式实时支付系统的报文处理方法及装置

Publications (1)

Publication Number Publication Date
CN115760085A true CN115760085A (zh) 2023-03-07

Family

ID=85339893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211507645.5A Pending CN115760085A (zh) 2022-11-29 2022-11-29 分布式实时支付系统的报文处理方法及装置

Country Status (1)

Country Link
CN (1) CN115760085A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661978A (zh) * 2023-08-01 2023-08-29 浙江云融创新科技有限公司 一种分布式的流程处理方法、装置及分布式业务流程引擎

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661978A (zh) * 2023-08-01 2023-08-29 浙江云融创新科技有限公司 一种分布式的流程处理方法、装置及分布式业务流程引擎
CN116661978B (zh) * 2023-08-01 2023-10-31 浙江云融创新科技有限公司 一种分布式的流程处理方法、装置及分布式业务流程引擎

Similar Documents

Publication Publication Date Title
CN111142867B (zh) 微服务架构下的服务可视化编排系统及方法
US8839107B2 (en) Context based script generation
US7739657B2 (en) Pipeline architecture for use with net-centric application program architectures
US20030200532A1 (en) System and method for sharing reusable code base
US20050004973A1 (en) Reflection-based processing of input parameters for commands
CN109144533A (zh) 一种应用程序的更新及加载的方法、系统及计算机装置
US9189213B2 (en) Automatic configuration of project system from project capabilities
CN111881042B (zh) 自动化测试脚本的生成方法、装置和电子设备
US20220027214A9 (en) System and method for automated application programming interface generation
CN110389765A (zh) 一种参数校验方法和参数校验系统
CN115760085A (zh) 分布式实时支付系统的报文处理方法及装置
CN111651262A (zh) 批量任务生成方法及装置
US20080127128A1 (en) Type Validation for Applications Incorporating A Weakly-Typed Language
US6321347B1 (en) Network testing system and method
CN116578585B (zh) 数据查询方法、装置、电子设备及存储介质
CN111221841A (zh) 基于大数据的实时处理方法及装置
US6198813B1 (en) System and method for providing call processing services using call independent building blocks
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN114327400A (zh) 基于java动态代理实现合作方业务快速落地的敏捷开发方法及介质
CN114493570A (zh) 基于集团内部专线的跨境汇款处理方法及装置
CN111104161B (zh) 一种数据库sql脚本的自动审批执行方法
CN113190236A (zh) Hql脚本校验方法及装置
CN115694897A (zh) 报文拦截方法及装置
CN113205330B (zh) 分布式支付平台系统的重复报文识别系统及方法
KR102679305B1 (ko) 외부 시스템들 간 연계 흐름을 제공하는 흐름 관리 시스템 및 연계 흐름 관리 방법

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