基于规则引擎的支付汇路选择方法和装置
文献发布时间:2023-06-19 18:49:33
技术领域
本发明涉及规则引擎技术领域,特别涉及一种基于规则引擎的支付汇路选择方法和装置。
背景技术
银行的金融市场业务中包括了外汇、债券、基金、贵金属、衍生品、商品等类型,这些业务的交易在进行清算交割之前,需要先确认支付汇路。
目前银行在应对金融市场业务清算时,交易涉及的双方均在多家金融机构开户,导致系统中存在多条支付汇路,在清算交割时,需要从多条支付汇路中选择唯一的一条支付汇路。现有的支付汇路选择通常采用手动方式,每笔交易逐一选择支付汇路,此种方式存在效率低,易出错的情况。无法应对日益增长的金融市场业务快速发展,也难以保证支付汇路的正确性与准确性。
发明内容
针对上述现有技术的缺点,本发明提供一种基于规则引擎的支付汇路选择方法和装置,以提高选择支付汇路的效率。
本申请第一方面提供一种基于规则引擎的支付汇路选择方法,包括:
获取一笔待清算交易的交易信息和汇路业务规则;其中,所述汇路业务规则为所述待清算交易的交易类型对应的汇路业务规则;
利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息;
根据所述汇路业务规则对所述第一汇路信息进行校验,获得指示用于清算所述待清算交易的第二汇路信息。
可选的,所述获取一笔待清算交易的交易信息和汇路业务规则,包括:
获取一笔待清算交易的交易信息;
识别所述交易信息中和交易类型相关的交易类型参数,以确定所述待清算交易的交易类型;
根据所述待清算交易的交易类型,在预设的多种汇路业务规则中查询得到所述待清算交易的交易类型对应的业务规则。
可选的,所述利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息之前,还包括:
对所述交易信息进行校验;
若所述交易信息未通过校验,输出交易信息错误提示;
所述利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息,包括:
在所述交易信息通过校验后,利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息。
可选的,所述对所述交易信息进行校验,包括:
校验所述交易信息所包含的各个字段是否符合预设的字段规则;其中,所述字段规则至少包括字段长度规则和字段类型规则。
可选的,所述利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息,包括:
利用规则引擎对所述汇路业务规则进行预编码处理,获得所述待清算交易的交易类型对应的规则判断代码;
根据所述规则判断代码处理所述交易信息,获得第一汇路信息。
本申请第二方面提供一种基于规则引擎的支付汇路选择装置,包括:
获取单元,用于获取一笔待清算交易的交易信息和汇路业务规则;其中,所述汇路业务规则为所述待清算交易的交易类型对应的汇路业务规则;
计算单元,用于利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息;
校验单元,用于根据所述汇路业务规则对所述第一汇路信息进行校验,获得指示用于清算所述待清算交易的第二汇路信息。
可选的,所述获取单元获取一笔待清算交易的交易信息和汇路业务规则时,具体用于:
获取一笔待清算交易的交易信息;
识别所述交易信息中和交易类型相关的交易类型参数,以确定所述待清算交易的交易类型;
根据所述待清算交易的交易类型,在预设的多种汇路业务规则中查询得到所述待清算交易的交易类型对应的业务规则。
可选的,所述校验单元还用于:
对所述交易信息进行校验;
若所述交易信息未通过校验,输出交易信息错误提示;
所述计算单元利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息时,具体用于:
在所述交易信息通过校验后,利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息。
可选的,所述校验单元对所述交易信息进行校验时,具体用于:
校验所述交易信息所包含的各个字段是否符合预设的字段规则;其中,所述字段规则至少包括字段长度规则和字段类型规则。
可选的,所述计算单元利用规则引擎对所述交易信息和所述汇路业务规则进行规则计算,获得第一汇路信息时,具体用于:
利用规则引擎对所述汇路业务规则进行预编码处理,获得所述待清算交易的交易类型对应的规则判断代码;
根据所述规则判断代码处理所述交易信息,获得第一汇路信息。
本申请提供一种基于规则引擎的支付汇路选择方法和装置,方法包括,获取一笔待清算交易的交易信息和汇路业务规则;其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则;利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息;根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。本方案利用规则引擎实现了支付汇路的自动选取,提高了选择支付汇路的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于规则引擎的支付汇路选择方法的流程图;
图2为本申请实施例提供的一种规则引擎的工作原理示意图;
图3为本申请实施例提供的另一种基于规则引擎的支付汇路选择方法的流程图;
图4为本申请实施例提供的一种基于规则引擎的支付汇路选择装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于理解本申请的技术方案,首先对本申请可能涉及的部分术语进行说明。
规则引擎:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
支付汇路:支付汇路即为汇款路径,主要包含账户号,开户行信息,中间行账户信息,用户金融机构针对具体业务场景进行支付或者收取资金。
清算交割:清算交割指证券买卖双方在证券交易所进行证券买卖后,通过证券交易所将证券商之间的证券买卖数量与金额分别予以轧抵,其差额由证券商确认后,在事先约定的时间内进行证券和价款的收付了结行为。
现有选择支付汇路的主要方式是人工选择。即由交易相关人员逐一确认每一条支付汇路的汇路信息,从而根据经验在其中选择一条支付汇路。这种方式存在效率低下的问题。
为了解决上述问题,本发明提供了一种基于规则引擎的支付汇路选择方法及装置,以便提高开发人员和业务人员对交易汇路选择中实现配置关键汇路信息参数、参数优先级的灵活性,通过规则引擎对不同交易类型形成适用于本类型交易的查询汇路信息的代码,通过自动查找汇路信息并匹配,完成对不同交易下对汇路信息的查询。如果需要拓展和修改业务逻辑规则,只需要修改规则与参数,实现了灵活动态配置。
请参见图1,为本申请实施例提供的一种基于规则引擎的支付汇路选择方法的流程图,该方法可以包括如下步骤。
为了实现本实施例提供的方法,可以预先定义如下交易汇路信息要素和引擎基础规则,并将这两项内容提前在规则引擎中注册。
其中,交易汇路信息要素,用于指定交易信息中哪些参数和汇路信息相关,也就是用于指示在确定一笔交易的汇路信息时,需要用到这笔交易的交易信息中的哪些参数。注册好的交易汇路信息要素记录在规则引擎的规则配置参数池中。
引擎基础规则,是指规则引擎中和具体交易不相关的通用规则,包括但不限于条件判断规则,包含关系规则等。
S101,获取一笔待清算交易的交易信息和汇路业务规则。
其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则。
可选的,获取一笔待清算交易的交易信息和汇路业务规则,包括:
获取一笔待清算交易的交易信息;
识别交易信息中和交易类型相关的交易类型参数,以确定待清算交易的交易类型;
根据待清算交易的交易类型,在预设的多种汇路业务规则中查询得到待清算交易的交易类型对应的业务规则。
交易类型参数,为交易信息中预先指定的能够指示对应的交易属于哪一种交易类型的一项或多项参数。
示例性的,交易类型可以按照被交易的标的物划分为外汇、债券、基金、贵金属、衍生品、商品中的任意一项。由此,交易类型参数具体可以是交易信息中的交易对象(即被交易的标的物)参数,根据该参数的参数值即可确定对应的交易属于上述哪种交易类型。
汇路业务规则,用于指示在确定特定交易类型的交易的汇路信息时,从该交易的交易信息中提取哪些参数,以及对这些参数进行怎样的运算,这里的运算可以是逻辑运算或者数值运算。
具体的,多种汇路业务规则,可以预先由相关人员通过具体业务规则配置模块进行配置。对于每一种交易类型,根据该交易类型的参数要求,将预先注册的交易汇路信息要素以及引擎基础规则组合,就可以形成该交易类型的汇路业务规则。
S102,利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息。
规则引擎可以将业务规则从业务代码中剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业务规则;规则引擎通过接受交易信息输入的数据,按照汇路业务规则进行评估处理,并作出汇路信息业务决策,从而确定交易对应的汇路信息。规则引擎具体可以由规则引擎运行模块来运行,规则引擎运行模块获取到的交易数据,根据具体业务规则配置的情况结合交易信息,调用相关规则,通过规则引擎处理后获取到交易对应的汇路信息。
请参见图2,为本申请实施例提供的一种规则引擎的工作原理示意图,可以看到,在运行规则引擎时,将汇路业务规则和待清算交易的交易信息输入到规则引擎,规则引擎经过运算后输出汇路信息。
汇路信息,可以理解为用于描述一条支付汇路的相关信息,或者,也可以认为汇路信息就是支付汇路在计算机系统中的一种表现形式。如前文所述,支付汇路主要包含账户号,开户行,中间行账户等,因此一条支付汇路对应的汇路信息,具体可以包括该支付汇路的账户号信息,开户行信息和中间行账户信息。
在步骤S102中,规则引擎可以计算得到至少一条支付汇路的汇路信息,这些汇路信息统称为第一汇路信息。
可选的,利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息,包括:
A1,利用规则引擎对汇路业务规则进行预编码处理,获得待清算交易的交易类型对应的规则判断代码;
A2,根据规则判断代码处理交易信息,获得第一汇路信息。
在步骤A1中,先根据汇路业务规则,提取出汇路业务规则所指示的运算对应的代码段,然后在这些代码段中填充汇路业务规则指示的需要提取的参数,由此形成规则判断代码。
例如,汇路业务规则指示需要从交易信息中提取参数A1和参数A2,并指示对参数A1和参数A2执行逻辑运算1(例如可以是比对两个参数取其中最大值),于是在步骤A1中可以提取预先编写的用于实现逻辑运算1的代码段,然后在该代码段中填充参数A1和参数A2的参数名(例如可以是A1和A2),由此形成一段规则判断代码。
在步骤A2,先根据预设的操作动作集合,获取交易信息中操作符的功能定义,然后,利用交易信息中操作符的功能定义和交易信息,执行步骤A1中获得的规则判断代码,从而获得若干条第一汇路信息,每一条第一汇路信息对应一条支付汇路。
S103,根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。
第二汇路信息,可以包括一条或多条支付汇路对应的汇路信息。
当第二汇路信息仅有一条,即仅对应一条支付汇路时,可以直接按该支付汇路进行待清算交易的清算环节。
当第二汇路信息有多条,即对应多条支付汇路时,可以将多条第二汇路信息向相关的用户显示,并提示用户在多条第二汇路信息中选择一条,然后按选中的一条第二汇路信息对应的支付汇路进行清算。
步骤S103中可以逐一校验每一条第一汇路信息,如果校验通过,就将该第一汇路信息保留,如果校验不通过,就将该第一汇路信息删除,最后保留下来的一条或多条第一汇路信息,就作为待清算交易对应的第二汇路信息。
对每一条第一汇路信息校验的具体方式可以是:
第一方面校验第一汇路信息的格式,例如是否包含汇路信息应当包含的字段,这些字段的字段值是否符合特定规则,包括但不限于,字段值的类型是否为指定类型(如是否为数值类型),字段值的长度是否在一定区间内(比如字符串包含的字符数不大于一定值),字段值是否在一定的取值范围内(比如数值类型的字段值小于特定的上限)等。如果上述规则均符合,则第一方面的校验通过,如果不符合其中至少一项规则,则第一方面的校验不通过。
第二方面可以校验第一汇路信息中部分字段的字段值是否属于白名单,例如校验第一汇路信息的开户行是否属于白名单记录的银行,如果开户行属于白名单的银行,则第二方面的校验通过,如果开户行不属于白名单的银行,则第二方面的校验不通过。
进一步可选的,对第一汇路信息的校验还可以包括,校验第一汇路信息中特定字段的字段值和预期的字段值是否一致,如果一致则第一汇路信息通过校验,如果不一致则第一汇路信息不通过校验。
本申请提供一种基于规则引擎的支付汇路选择方法,方法包括,获取一笔待清算交易的交易信息和汇路业务规则;其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则;利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息;根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。本方案利用规则引擎实现了支付汇路的自动选取,提高了选择支付汇路的效率。
另外,本实施例还具有如下优点:
本实施例公开的一种基于规则引擎的支付汇路选择方法,可以实现灵活定制交易信息获取汇路信息规则引擎,交易汇路信息要素的注册,并根据业务类型对相关参数进行规则配置的动态权限管理,调取规则引擎时根据类型与配置生成规则判断代码,并对结果进行判断校验,最终反馈到交易前台。
如果缺少规则引擎,不以参数配置和业务规则逻辑的配置作为汇路查询判断的依据,则需要在开发时,根据现有业务规则进行代码上的逻辑编码。一旦需要拓展业务或者业务规则,参数规则有所变动,则需要对基础汇路信息查询代码进行重写,既不支持快速响应,同时也容易对原有逻辑有较大改动,造成一系列风险。
在规则引擎执行中,如果缺少对交易信息获取的正确性校验和对规则引擎执行结果的校验,会使得引擎执行的效率与正确性得不到系统层面的保证,会造成规则错误和结构错误。在执行过程中,因先对类型进行基本判断,再根据规则配置和预设基础逻辑形成规则代码,以减少规则引擎执行中的并行压力,提升系统配置与运动的一致性和稳定性。
通过本发明所公开的方法和装置,可以达到如下有益效果:
第一,在权限配置过程中,系统可以随时根据交易的业务变化,新增和修改对应规则,动态的调整汇路查询的业务规则与参数要求,更好的辅助交易进行,和保证交易信息汇路信息的匹配性,也提升了汇路信息的正确性。
第二,从系统设计角度来看,交易信息获取交易汇路的要素定义,规则配置信息可以由用户自行定义,无需实现代码硬编码,也无需和开发人员沟通,减少开发与维护成本。
请参见图3,为本申请实施例提供的另一种基于规则引擎的支付汇路选择方法的流程图,该方法可以包括如下步骤。
S301,获取一笔待清算交易的交易信息和汇路业务规则。
其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则。
步骤S301的具体实施方式和图1对应的实施例的步骤S101一致,不再赘述。
S302,对交易信息进行校验。
若交易信息通过校验,执行步骤S303,若交易信息未通过校验,执行步骤S305。
可选的,对交易信息进行校验,包括:
校验交易信息所包含的各个字段是否符合预设的字段规则;其中,字段规则至少包括字段长度规则和字段类型规则。
示例性的,校验交易信息时,可以校验交易信息中包含字符串的字段中字符串的长度是否符合字段长度规则(例如是否小于指定长度或者大于指定长度),字符串的长度,即字符串包含的字符的数量。
还可以校验交易信息中特定字段的字段值是否属于指定类型的值。比如校验交易信息中交易额度字段的字段值是否为整数类型(即int类型)。
如果交易信息中各个字段否符合相应的字段规则,则确定交易信息通过校验,反之,若有至少一个字段不符合至少一条字段规则,则确定交易信息不通过校验。
在一些可选的实施例中,步骤S302也可以在获取交易信息之后,获取汇路业务规则之前执行。也就是说,步骤S301和S302的实施方式也可以是,先获取待清算交易的交易信息,接着对交易信息进行校验(S302),校验通过后,再根据校验通过的交易信息确定交易类型,进而获得交易类型对应的汇路业务规则。S303,利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息。
S304,根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。
步骤S303和S304的具体实施方式,和图1对应的实施例中步骤S102和S103一致,不再赘述。
S305,输出交易信息错误提示。
交易信息错误提示,具体可以包括该交易信息未通过校验的原因,也就是包括该交易信息中那些不符合对应的字段规则的字段,以便相关的用户按照交易信息错误提示及时修正交易信息。
根据本申请实施例提供的基于规则引擎的支付汇路选择方法,本申请实施例还提供一种基于规则引擎的支付汇路选择装置,请参见图4,为该装置的结构示意图,该装置可以包括如下单元。
获取单元401,用于获取一笔待清算交易的交易信息和汇路业务规则。
其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则。
计算单元402,用于利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息。
校验单元403,用于根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。
可选的,获取单元401获取一笔待清算交易的交易信息和汇路业务规则时,具体用于:
获取一笔待清算交易的交易信息;
识别交易信息中和交易类型相关的交易类型参数,以确定待清算交易的交易类型;
根据待清算交易的交易类型,在预设的多种汇路业务规则中查询得到待清算交易的交易类型对应的业务规则。
可选的,校验单元403还用于:
对交易信息进行校验;
若交易信息未通过校验,输出交易信息错误提示;
计算单元利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息时,具体用于:
在交易信息通过校验后,利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息。
可选的,校验单元403对交易信息进行校验时,具体用于:
校验交易信息所包含的各个字段是否符合预设的字段规则;其中,字段规则至少包括字段长度规则和字段类型规则。
可选的,计算单元402利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息时,具体用于:
利用规则引擎对汇路业务规则进行预编码处理,获得待清算交易的交易类型对应的规则判断代码;
根据规则判断代码处理交易信息,获得第一汇路信息。
本申请实施例提供的基于规则引擎的支付汇路选择装置,其具体工作原理可以参见本申请任一实施例提供的基于规则引擎的支付汇路选择方法的相关步骤,此处不再赘述。
本申请提供一种基于规则引擎的支付汇路选择装置,装置包括,获取单元401获取一笔待清算交易的交易信息和汇路业务规则;其中,汇路业务规则为待清算交易的交易类型对应的汇路业务规则;计算单元402利用规则引擎对交易信息和汇路业务规则进行规则计算,获得第一汇路信息;校验单元403根据汇路业务规则对第一汇路信息进行校验,获得指示用于清算待清算交易的第二汇路信息。本方案利用规则引擎实现了支付汇路的自动选取,提高了选择支付汇路的效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 基于规则引擎的验证方法、验证设备、存储介质及装置
- 基于影像识别路锥的方法、装置、存储介质以及车辆
- 支付汇路选择方法及装置
- 支付汇路选择方法和装置