聚合支付的后台架构方法、系统、计算机设备及存储介质与流程

文档序号:21411671发布日期:2020-07-07 14:47阅读:435来源:国知局
聚合支付的后台架构方法、系统、计算机设备及存储介质与流程

本发明涉及计算机应用技术领域,具体而言,本发明涉及一种聚合支付的后台架构方法、系统、计算机设备及存储介质。



背景技术:

随着物联网和移动互联网的快速发展,近年来电子支付行业也得到迅速发展,仅就国内而言,银行、银联等清算机构、第三方支付企业等提供了不同种类,不同技术实现的移动支付服务。并且,在客观需求的影响下,电子支付技术已经渗透到各类领域。然而,在这背景下,各方的服务并没有统一的标准和接口,各类支付工具和平台难以做到完全的兼容。如果把视野扩散到全球层面,每个国家又有各自的渠道商和限入规则,对于有全球化业务的商户,接入成本和接入效率也受到了极大的影响。

国内使用率的第三方支付渠道数量不多,一般商户接入微信或者支付宝两即可覆盖国内90%以上的线上支付需求。所以大部分商户在接入支付渠道时候,都会直接跟第三方渠道直接对接,但是由于各种支付渠道(如微信,支付宝)的支付流程在细节上都有所出入,所以通常要在后端支持多套支付流程。现在国内互联网行业正值出海潮,但是海外的支付渠道种类繁多,而且流程各异,如果采用以前的方法直接与第三方支付渠道对接,那商户必须面临维护多套支付流程的复杂任务。



技术实现要素:

本发明的目的旨在至少能解决上述的技术缺陷之一,公开一种聚合支付的后台架构方法、系统、计算机装置及存储介质,使在进行第三方支付过程中隔离性强,节点耦合度低、接入快速,实用灵活。

为了达到上述目的,本发明公开一种聚合支付的后台架构方法,包括:

获取客户端发送的交易信息,所述交易信息包括所述客户端的位置信息;

根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点,其中,所述交易节点为分布式交易系统中指定区域内的交易中心;

根据所述交易节点在与所述交易节点预先建立连接关系的渠道对接层中匹配渠道网关,通过所选定的渠道网关将所述交易信息中的交易请求发送至所述交易对象中进行处理;

获取所述交易对象的处理结果,并将处理结果信息传送至客户端。

可选的,所述根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖的交易节点之前,还包括:

对所述交易信息的验证信息进行验证,所述验证信息通过加密通信协议设置;

对验证通过的所述交易信息进行解析,以获取发送交易信息的所述客户端的身份信息以及业务类型;

根据解析出的所述身份信息以及业务类型在身份权限列表中匹配以进行鉴权;

鉴权通过的交易信息进行交易节点分配。

可选的,所述在执行将鉴权通过的交易信息进行交易节点分配之前还包括:

获取第一预设时间段内鉴权通过了的交易信息的流量值;

允许所述流量值小于或等于第一预设阈值的交易信息进行分配。

可选的,所述根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点的方法包括:

根据所述交易信息的业务类型在分配列表中匹配分配规则,以使同一客户端同一业务类型请求在同一交易节点处理;

根据所述分配规则获取所映射的交易节点的使用状态信息;

判断所述交易节点的使用状态是否符合第一预设条件;

当符合所述第一预设条件,将所述交易信息分配至所述交易节点中。

可选的,当所述交易节点的使用状态不符合第一预设条件时,重新匹配分配规则以重新确定交易节点。

可选的,所述交易对象对所述交易请求进行处理的方法包括:

根据所述交易请求创建一个唯一的单号;

通过调用所述通信接口在交易对象中对所述单号对应的交易请求进行处理;

将所述交易请求的处理过程数据写入异步任务队列中缓存;

当所述异步任务队列中的任务在处理过程出现异常时,进行重试;

当所述异步任务队列中的所有任务都完成后删除该缓存的异步任务队列。

可选的,还包括:

获取重试的次数;

当所述重试的次数达到第二阈值时删除所述异步任务队列,并反馈异常信息给所述客户端。

另一方面,本申请公开一种聚合支付的后台架构系统,包括:

接入前端:用于执行获取客户端发送的交易信息,所述交易信息包括所述客户端的位置信息;

中继转发服务器:用于根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点,其中,所述交易节点为分布式交易系统中指定区域内的交易中心;

交易节点:用于根据所述交易节点在与所述交易节点预先建立连接关系的渠道对接层中匹配渠道网关,通过所选定的渠道网关将所述交易信息中的交易请求发送至所述交易对象中进行处理;获取所述交易对象的处理结果,并将处理结果信息传送至客户端。

可选的,接入前端还包括:

验证模块:被配置为执行对所述交易信息的验证信息进行验证,所述验证信息通过加密通信协议设置;

数据解析模块:被配置为执行对验证通过的所述交易信息进行解析,以获取发送交易信息的所述客户端的身份信息以及业务类型;

鉴权模块:被配置为执行根据解析出的所述身份信息以及业务类型在身份权限列表中匹配以进行鉴权;鉴权通过的交易信息进行交易节点分配。

可选的,所述接入前端还包括:

流量识别模块:被配置为执行获取第一预设时间段内鉴权通过了的交易信息的流量值;

选择模块:被配置为允许所述流量值小于或等于第一预设阈值的交易信息进行分配。

可选的,中继转发服务器包括:

分配规则匹配模块:被配置为执行根据所述交易信息的业务类型在分配列表中匹配分配规则,以使同一客户端同一业务类型请求在同一交易节点处理;

状态获取模块:被配置为执行根据所述分配规则获取所映射的交易节点的使用状态信息;

判断模块,被配置为执行判断所述交易节点的使用状态是否符合第一预设条件;

分配模块:被配置为执行当符合所述第一预设条件,将所述交易信息分配至所述交易节点中。

可选的,中继转发服务器还包括重新匹配模块:被配置为执行当所述交易节点的使用状态不符合第一预设条件时,重新匹配分配规则以重新确定交易节点。

可选的,交易节点包括:

订单生成模块:被配置为执行根据所述交易请求创建一个唯一的单号;

调用模块:被配置为执行通过调用所述通信接口在交易对象中对所述单号对应的交易请求进行处理;

异步模块:被配置为执行将所述交易请求的处理过程数据写入异步任务队列中缓存;当所述异步任务队列中的任务在处理过程出现异常时,进行重试;

第一删除模块:被配置为执行当所述异步任务队列中的所有任务都完成后删除该缓存的异步任务队列。

可选的,交易节点还包括:

重试计算模块:被配置为执行获取重试的次数;

第二删除模块:被配置为执行当所述重试的次数达到第二阈值时删除所述异步任务队列,并反馈异常信息给所述客户端。

另一方面本申请公开一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述公开的聚合支付的后台架构方法的步骤。

另一方面本申请公开一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述公开的聚合支付的后台架构方法的步骤。

本发明的有益效果是:

本申请公开一种聚合支付的后台架构方法、系统、计算机装置及存储介质,根据交易信息中的客户端的位置信息,进行分布式处理,使支付处理数据更快捷,且分布式部署的交易中心相互独立,采用统一的通信接口与交易对象连接,以屏蔽各渠道的支付流程上的细节差异,并为客户端提供通用且统一的支付接入流程,客户端的商户仅需要维护一套与本聚合支付架构交互的流程,即可使用支付架构下所支持的所有支付渠道,数据隔离性强,节点耦合度低、抗攻击能力强,客户端之间的业务的耦合性低,更适合分布式部署,且系统高可用,容灾性强,统一的调度接口使系统拓展性强,功能迭代对线上业务影响低。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明一种聚合支付的后台架构方法流程图;

图2为本发明交易信息鉴权方法流程图;

图3为本发明交易信息分配至交易节点的方法流程图;

图4为本发明交易节点的交易请求方法流程图;

图5为本发明异步任务队列重试方法流程图;

图6为本发明聚合支付整体流程图;

图7为本发明聚合支付多层结构示意图;

图8为本发明聚合支付各模块信息接收流程图;

图9为本发明计算机设备基本结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

具体的,请参阅图1,本发明公开一种聚合支付的后台架构方法,聚合支付是相对于第三方支付而言的。与第三方支付不同,聚合支付不介于商户和银行之间,它是存在于商户和第三方支付方之间的通道。聚合支付并不进行资金的结算和转移,它只是完成支付环节信息流和数据流的控制,聚合不同第三方支付机构提供的支付方式,为商户提供统一的支付、结算的接口。降低商户接入的难度和成本,提高运营的速度和效率,具有更好的灵活性和便捷性。

本申请中,聚合支付的后台架构的方法包括:

s1000、获取客户端发送的交易信息,所述交易信息包括所述客户端的位置信息;

客户端实际上是指商户终端,客户端有多个,多个客户端可同时将请求指令发送出去以进行分析。请求指令为记载有客户端身份信息、请求内容的相关数据报文,该数据报文为为了便于信息交互,按照约定好的格式组成的字段组合,为了区分不同的客户端,在该数据报文中包括表征客户端身份的商户号信息以及表征请求的业务类型的业务号信息,以此来确认发送请求指令的客户端的身份信息以及请求内容。

交易信息为由客户端发送的请求通过第三方进行处理的相关信息,其中交易信息中包括客户端所处的位置信息。

在另一实施例中,所述交易信息还包括交易信息指向的交易对象的位置信息。在本申请中,交易对象是指交易客户端请求进行交易处理的第三方信息,而这里的交易对象的位置信息是指该第三方的位置信息,可以理解的是,第三方信息为支付平台,支付平台有很多,比如各大银行、微信、支付宝等金融平台,这些第三方平台有对应的服务器处理位置信息,位置信息包括国籍以及具体的区域,通过获取交易对象的位置信息,则可得到该交易对象的服务器位置信息。

s2000、根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点,其中,所述交易节点为分布式交易系统中指定区域内的交易中心;

交易节点是进行业务处理的核心处理层,业务订单的创建以及业务处理逻辑在该层实现。本一实施例中,当位置信息为客户端的位置信息时,交易节点为分布式交易系统中指定区域内的交易中心,由于客户端可能分布于全球各个位置,为了快速响应支付请求,因此可在全球任意一个地方设置交易节点,通过上述获取的客户端的位置信息,选择对该位置信息具有管辖权限的交易节点进行处理。

在另一实施例中,当位置信息为交易信息指向的交易对象的位置信息,即为第三方交易平台的位置信息。由于第三方交易平台可以是位于全球各个位置的,本申请的聚合支付的客户端也可能分布的全球各地,为了快速响应支付请求,依据第三方交易平台的区域位置,分别设置有多个交易节点,每个交易节点都是相互独立的,其具有隔离性,当其中一个交易节点出现异常时,不影响其他的交易节点的正常的业务处理。进一步的,每个交易节点都有自己的管辖范围,一个新的请求指令,通过识别对应的交易对象的位置信息以及业务类型,即可分配对对应管辖范围的交易节点进行处理,但是,为了能进一步提高业务处理的容灾性,在分配到对应的交易节点时,通过检测该交易节点的状态是否可用,当检测到该交易节点的状态为不可用时,将请求指令分配到其他可用的交易节点中,以确保该交易信息请求的指令的正常处理。

s3000、根据所述交易节点在与所述交易节点预先建立连接关系的渠道对接层中匹配渠道网关,通过所选定的渠道网关将所述交易信息中的交易请求发送至所述交易对象中进行处理;

当分配了交易节点,则根据交易节点信息从与该交易节点建立连接关系的渠道对接层中匹配渠道网关。在渠道对接层中存储有多个不同的渠道网关,不同的渠道网关与不同的第三方的交易对象连接通信,

渠道网关通过调度接口与交易节点连接通信,在本申请中,渠道网关实现了与第三方交易对象交互的逻辑,向上屏蔽了不同渠道之间的交互细节,本申请每个渠道网关的调度接口是统一的,以便于维护一致的交易流程,不应渠道对象的变化而变化,另一方面渠道网关层的每个渠道逻辑上都是独立的,并且不操作订单数据,某一渠道的变动对其他渠道和主流程几乎不造成影响,可以轻松地做到快速接入和迭代。统一的调度接口,也方便新的渠道接入,只需构建一个对应渠道网关节点即可,具体的与第三方交易对象的差异和细节被隐藏在渠道网关中。

在支付业务过程中,渠道网关为连接不同的支付第三方的应用接口端,不同的第三方支付平台需要不同的渠道网关,因此组成了一个渠道网关连接库,即渠道对接层,通过识别请求指令中的交易对象,在渠道网关连接库中可匹配不同的渠道网关,以进行业务处理。

在一实施例中,由于每个渠道网关与第三方渠道交互采用统一的调度接口,向上屏蔽不同渠道之间的交互细节,每个渠道对接形成独立的子模块,当需要进行相关的业务处理时,直接调用对应的接口即可。当有新的渠道接入时,只需要构建提供标准、统一接口的渠道网关节点即可,具体的与第三方对接的差异和细节被隐藏在了渠道网关中。这样一方面上层核心业务层能够调用统一的接口,维护一致的交易流程,不因渠道的变化而变动;另一方面渠道网关的每个渠道逻辑上都是独立的,并且不操作订单数据,某一渠道的变动对其他渠道和主流程几乎不造成影响,可以轻松地做到快速接入和迭代。

s4000、获取所述交易对象的处理结果,并将处理结果信息传送至客户端。

本申请中,通过调用对应的通信接口,将所述交易信息中的交易请求发送至对应的交易对象中进行处理的同时,还获取交易对象回传的交易结果,将交易结果信息回传至客户端中。

本申请中,步骤s1000和步骤s2000中的数据的接收以及分配是在业务接入层中进行的,其中业务接入层包括接入前端和中继转发服务器,接入前端接收客户端发送的交易信息,将所述交易信息转换成后台可识别的协议格式,并完成身份验证、权限控制以及流量隔离等任务后,由中继转发服务器进行负载均衡以及任务分配,按照一定的分发策略将交易信息中的请求信息发送至指定的交易节点中进行处理。对于支付节点调用通信接口进行交易信息的监控和结果信息的收集属于核心业务层,而渠道网关以及统一的调度接口属于渠道对接层,核心业务层主要包括支付中心、支付通知异步重试、支付监控等工作,其中支付中心完成个支付订单的管理和记录,以及调用下一层的渠道网关的服务,异步重试负责异步任务的重放,保证订单的完成;支付监控负责对支付订单的监控和统计,支付通知负责在订单完成后异步通知客户端。渠道对接层主要负责对接第三方对象所提供的服务,每个渠道的对接形成独立的子模块,方便渠道管理和快速迭代。

本申请根据交易信息中的交易对象的地址信息,进行分布式处理,使支付处理数据更快捷,且分布式部署的交易中心相互独立,采用统一的通信接口与交易对象连接,以屏蔽各渠道的支付流程上的细节差异,并为客户端提供通用且统一的支付接入流程,客户端的商户仅需要维护一套与本聚合支付架构交互的流程,即可使用支付架构下所支持的所有支付渠道,数据隔离性强,节点耦合度低、抗攻击能力强,客户端之间的业务的耦合性低,更适合分布式部署,且系统高可用,容灾性强,统一的调度接口使系统拓展性强,功能迭代对线上业务影响低。

在一实施例中,请参阅图2,在获取了客户端发送的交易信息之后,以及在所述根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖的交易节点之前,还包括:

s1100、对所述交易信息的验证信息进行验证,所述验证信息通过加密通信协议设置;

本申请中,由客户端发起的交易信息会采用加密通信协议设置验证信息,以保证通信不受第三方的篡改,接入前端接收交易信息时,对验证信息进行验证,客户端与接入前端进行数据交互时采用统一的信息验证方式,比如通过公钥与私钥的方式,对数据进行加密,接入前端接收到数据后对按照客户端与接入前端预设的规则进行解密,从而确保客户端与接入前端在进行数据交互过程中不容易被篡改,使数据传输更安全。

进一步的,接入前端作为业务接收的最前端还对可接收到的交易信息的报文数据进行数字签名验证以确保请求的报文源自于授权商户,并且未被篡改伪造,进行签名验证后的交易信息才能执行后续的转发动作。当接入前端检测到获取的交易数据有被篡改的迹象等异常情况,则不对其进行后续的处理,同时将检测的结果信息发送至客户端以提示当前传输的数据不安全。

s1200、对验证通过的所述交易信息进行解析,以获取发送交易信息的所述客户端的身份信息以及业务类型;

当接入前端对交易数据进行签名验证后,则表示当前的交易信息数据是安全的,故可对该交易信息进行解析,通过解析,以获取发送交易信息的客户端的身份信息以及业务类型。在本实施例中,客户端的的身份信息可从发送交易信息时的ip地址以及信息中的数据帧的帧头相关字段中提取得到,而业务类型可从传输的数据帧中表征内容的文本数据帧中获取得到。

s1300、根据解析出的所述身份信息以及业务类型在身份权限列表中匹配以进行鉴权;

当解析出了客户端的身份信息以及业务类型,根据这些信息对客户端进行鉴权。本申请中,鉴权主要是为了鉴定客户端是否有相关权限执行相关的请求业务,因此在本申请中,在接入前端还存储有身份权限列表,该身份权限列表中罗列了所有符合要求的客户端的身份信息以及对应的业务类型权限,将身份信息以及业务类型在上述身份权限列表中一一对应,以确定该客户端是否有权限进行该业务类型的数据处理请求。

进一步的,鉴权得到该客户端没有相关的权限时,发送鉴权不通过的异常信息给客户端以进行提醒。比如,在一实施例中,对于客户端a,其发送的交易信息中解析出其欲处理的业务类型为b和c,而在身份权限列表中,有关于客户端a的可处理的业务类型,其中包括业务类型c,但是业务类型b不具备权限,因此可继续处理业务类型c的相关请求,而对于业务类型b则发送异常信息给客户端a,以进行提示,说明业务b无权限处理权限。

进一步的,鉴权通过的判断规则也可通过接入前端预先设置,比如上述实施例中公开的业务b和业务c只有其中一项业务有权限,另一项业务没有权限,此情况下,可设定两种规则,一种是只要任意一项符合权限要求则可允许该业务执行后续的动作,另外一种为,只要任意一项业务类型的请求不通过,则不响应该交易信息的所有请求,并发送异常信息给客户端进行交易信息修改。具体规则可根据实际情况设置。

s1400、鉴权通过的交易信息进行交易节点分配。

当根据一定的预设规则对交易信息鉴权通过后,则可通过中继转发服务器对上述交易信息根据识别的位置信息分配至对应的交易节点。

中继转发服务器收到交易信息后,为交易信息提供转发服务,而转发的规则可以根据交易信息的具体内容加以分析确定转发规则,以确保同一个支付请求报文能在同一个节点进行处理。

进一步的,在一实施例中,请参阅图3,根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点的方法包括:

s2100、根据所述交易信息的业务类型在分配列表中匹配分配规则,以使同一客户端同一业务类型请求在同一交易节点处理;

分配列表为根据发送交易信息的客户端身份信息、业务类型等相关信息与对应的分配规则相互映射的表格,中继转发服务器根据识别的业务类型以及交易对象的位置信息进行分配。

交易对象为通过交易信息识别的需要进行业务处理的第三方支付平台,比如银行端、微信端或者支付宝端等,在一实施例中,位置信息为客户端的位置信息,因此,当获取了业务类型后,根据所述客户端的位置信息分配具有管辖范围权利的交易节点以进行处理。

在另一实施例中,位置信息为交易的业务类型的位置西悉尼,比如上述公开的微信端与支付宝端由于都是中国国内的支付平台,因此其位置信息为中国,而对于银行端,有些可能涉及国外,比如渣打银行、花旗银行等等,都是国外的支付平台,根据这些支付平台的服务器位置来部署交易节点,例如,将支付对象为国内银行中、农、工、商、建五大银行对应的交易信息设置为交易节点a处理,将国内其他银行的交易信息设置为通过交易节点b处理,将国外的银行的交易信息设置为通过交易节点c处理,将微信、支付宝等非银行类的第三方支付平台设置为通过交易节点d处理,因此,当客户端发送的交易信息中,解析出了交易对象以及对应位置信息后,则可根据该位置信息进行分配。

进一步的,上述分类并不是完全固定的,由于各个交易节点是相互独立的,为了保证各个交易信息的正常处理,将交易信息按照交易对象划分节点,当其中一个交易节点出现问题时,还可将该交易节点上应当处理的交易信息按照一定的规则转移到其他的交易节点上,以便于及时处理。这里所提到的按照一定的规则转移到其他的交易节点,可以是与该交易节点为处理同类型的交易信息的交易节点上,或者配置有相同,且可用的渠道网关的交易节点。

进一步的,通过识别业务类型业绩客户端的身份信息,可判断多个交易信息是否属于同一笔业务,当属于同一笔业务时,将同一笔业务中的所有交易信息都归纳到一个交易节点中进行交易处理。

进一步的,中继服务器通过哈希(hash)方式将交易信息路由到对应的交易节点中。哈希是把任意长度的输入通过散列算法变换成固定长度的输出,该输出值则为散列值。本申请中,是指将交易信息的数据报文按照特定的哈希算法或者规则,路由到对应的交易节点。通过该方式,确保在匹配过程中数据的安全性。

s2200、根据所述分配规则获取所映射的交易节点的使用状态信息;

通过步骤s2100的方式匹配了对应的交易节点后,并不直接进行交易节点的分配,还会先获取该交易节点的使用状态信息。使用状态信息为该交易节点当前的流量占比以及运行参数,通过获取流量占比,以确定当前的交易节点是否超过额定值,当超过额定值,表示当前交易节点过于饱和,可能会影响到交易数据处理的速度;通过识别运行参数,可判断当前的交易节点是否运行正常,是否可用,当运行参数异常时,表示当前交易节点不可用,需要转移交易数据。

s2300、判断所述交易节点的使用状态是否符合第一预设条件;

第一预设条件为根据使用状态信息设定的标准参考条件,比如,当检测的使用状态为交易节点的流量占比时,设置第一预设条件为,交易节点的流量占比不高于85%,当检测到当前的交易节点为80%时,表示当前的交易节点的使用状态符合第一预设条件,否则,则定义为不符合预设条件。

以上只是本申请公开的其中一种使用状态以及第一预设条件的方式,本申请还可以使用其他的使用状态判断方式。

s2400、当符合所述第一预设条件,将所述交易信息分配至所述交易节点中。

当判断出交易节点符合第一预设条件,则将所述交易信息按照所识别的位置信息分配至对应的交易节点。

s2500、当所述交易节点的使用状态不符合第一预设条件时,重新匹配分配规则以重新确定交易节点。

当判断出交易节点的当前使用状态不符合第一预设条件时,则重新匹配分配规则,这里的重新匹配分配规则与步骤s2100中的按照一定的规则转移到其他的交易节点上的方式一样,重新匹配可以是与该交易节点为处理同类型的交易信息的交易节点上,或者是配置有相同,且可用的渠道网关的交易节点。

上述识别使用状态的方式实际上是一种流量切割,由中继转发服务器承担这一功能,由于所有类型的交易信息报文都会通过中继转发服务区路由到对应的节点处理,因此通过在中继转发服务器对转发规则的配置进行修改实现业务流量的切割。

当交易中心接收到传送过来的交易信息后,对交易信息进行处理,在一实施例中,请参阅图4,所述交易对象对所述交易请求进行处理的方法包括:

s3100、根据所述交易请求创建一个唯一的单号;

当交易中心获取了交易信息后,需要对该交易信息建议一个唯一的单号,以便于数据的处理和数据的监控,由于在上述业务接入层中以及识别了客户端的身份信息、业务类型以及业务对象的地址信息,因此可根据这些按照一定的规则生成一个单号,由于同一身份信息的客户端可能针对同一业务对象请求执行多次相同的业务类型的请求,因此,为了进行区分,可根据某一规则确保每一个交易信息中的交易请求都匹配一个位置的单号,以便于数据的追溯。

在一实施例中,可通过时间轴的方式自动生成唯一的订单号,比如以0001开头,后续时间接收到的交易信息的交易请求依次为0002、0003等,相同时间接收到的交易信息可随机排列先后顺序并对订单号进行接续以进行区分。

在另一实施例中,订单号的生成可以起嵌入客户端的身份信息、业务类型以及交易对象信息,比如用表征客户端身份信息的首字母或者id、业务类型的编号以及交易对象的编号,再加上按照时间轴的顺序设定的序列编号组成订单号,相同客户端身份信息、相同业务类型以及相同交易对象信息的可以从订单号上进行区分,以便于数据查询和追溯。

进一步的,为了保证订单号的安全性,还可以在上述订单号内嵌入随机生成的校验码,以提高订单的安全性。

进一步的,在生成订单后,将所述订单编号以及交易信息中解析的相关数据存储在数据库中,以便于随时调取。

s3200、通过调用所述通信接口在交易对象中对所述单号对应的交易请求进行处理;

交易节点内有多个渠道网关,交易节点与渠道网关的调度接口是统一的,不同的渠道网关对接不同的交易对象的处理服务器,渠道网关与调度接口组成通信接口,将交易信息生成单号后,通过监测该单号则可获取得到对应的交易信息的处理过程。交易中心将交易信息中的交易请求通过通信接口发送至交易对象的服务器中进行处理,同时接收处理的过程信息,比如发送交易信息至交易队形服务器的时间,交易处理的过程状态,最终结果状态,总共用时等等。

s3300、将所述交易请求的处理过程数据写入异步任务队列中缓存;

在一实施例中,交易中心将从通信接口获取的交易的相关过程数据写入异步任务队列中进行缓存,异步任务队列中按照数据处理的步骤呈队列设置多个不同的工作节点,每接收到一步相关数据的信息,该信息数据存储到该节点,以此判断当前处理的过程以及处理的状态。

s3400、当所述异步任务队列中的任务在处理过程出现异常时,进行重试;

在一实施例中,当异步队列中的任何一个环节出现了一场,异步任务队列会自行发送信息至交易节点以促使其进行该环节的重试。请参阅图5,重试的过程包括:

s3410、获取重试的次数;

在一实施例中,为了节约时间,控制处理的速度,会设置一个针对次数的最大值,称为第二阈值,因此,在进入重试环节时,每进行依次重试作业,会记录当前的次数,并将该次数与第二阈值进行对比。

当在第二阈值次数范围内经过重试解决了异常现象,则继续进行异步任务队列中后续任务的执行。

s3420、当所述重试的次数达到第二阈值时删除所述异步任务队列,并反馈异常信息给所述客户端。

当所述重试的次数达到第二阈值,且仍未解决异常现象时,则发送信息给交易节点使其不再发送重试任务请求重试,同时删除该异步任务队列,并将该异常信息反馈给客户端。反馈信息同时会也会保存在数据库中进行存储。

s3500、当所述异步任务队列中的所有任务都完成后删除该缓存的异步任务。

当经过重试后,解决了数据异常的情况,继续异步任务队列中其他的任务,直至所有的任务都完成。当异步任务队列中所有的任务都完成后,表示当前交易信息的处理完毕,删除该缓存的异步任务队列,释放数据空间。

本申请的上述方法构成一套聚合支付系统,在一完整的支付交易请求中,请参阅图6,由客户端发送带有支付请求的交易信息给该聚合支付系统,聚合支付系统通过通信接口与第三方交易对象连接通信,第三方交易对象返回下单数据给聚合支付系统,聚合支付系统根据该下单数据提取支付链接,并将支付链接发送至客户端,客户端接入支付链接完成支付,第三方交易对象获取了支付结果后,将回调支付结果返回给聚合支付系统,聚合支付系统按照自己的通知规则生成支付结果通知返回给客户端,以提示支付的结果。

在一实施例中,请参阅图7,聚合支付系统包括业务接入层、核心业务层和渠道对接层,其中业务接入层包括接入前端和中继转发服务器,核心业务层包括交易节点,交易节点中包括对数据进行存储的数据库,进行异步任务队列缓存和重试的异步模块、对交易节点中获取的相关数据发送给客户端的支付通知模块、以及对整个交易节点的数据数据处理进程进行监控的支付监控模块,交易节点与渠道对接层中的各个渠道网关通过统一调度接口连接,以便于根据不同的第三方的交易对象连接不同的交易支付平台进行交易处理。

具体的,本申请中公开的聚合支付的后台架构系统,其功能和模块关系包括:

接入前端:用于执行获取客户端发送的交易信息,所述交易信息包括所述交易信息指向的交易对象的位置信息;

中继转发服务器:用于根据所述位置信息将所述交易信息分配至对所述位置信息具有管辖权限的交易节点,其中,所述交易节点为分布式交易系统中指定区域内的交易中心;

交易节点:用于根据所述交易节点与所述交易对象预先建立的通信接口将所述交易信息中的交易请求发送至所述交易对象中进行处理;获取所述交易对象的处理结果,并将处理结果信息传送至客户端。

可选的,接入前端还包括:

验证模块:被配置为执行对所述交易信息的验证信息进行验证,所述验证信息通过加密通信协议设置;

数据解析模块:被配置为执行对验证通过的所述交易信息进行解析,以获取发送交易信息的所述客户端的身份信息以及业务类型;

鉴权模块:被配置为执行根据解析出的所述身份信息以及业务类型在身份权限列表中匹配以进行鉴权;鉴权通过的交易信息进行交易节点分配。

可选的,所述接入前端还包括:

流量识别模块:被配置为执行获取第一预设时间段内鉴权通过了的交易信息的流量值;

选择模块:被配置为允许所述流量值小于或等于第一预设阈值的交易信息进行分配。

可选的,中继转发服务器包括:

分配规则匹配模块:被配置为执行根据所述交易信息的业务类型在分配列表中匹配分配规则,以使同一客户端同一业务类型请求在同一交易节点处理;

状态获取模块:被配置为执行根据所述分配规则获取所映射的交易节点的使用状态信息;

判断模块,被配置为执行判断所述交易节点的使用状态是否符合第一预设条件;

分配模块:被配置为执行当符合所述第一预设条件,将所述交易信息分配至所述交易节点中。

可选的,中继转发服务器还包括重新匹配模块:被配置为执行当所述交易节点的使用状态不符合第一预设条件时,重新匹配分配规则以重新确定交易节点。

可选的,交易节点包括:

订单生成模块:被配置为执行根据所述交易请求创建一个唯一的单号;

调用模块:被配置为执行通过调用所述通信接口在交易对象中对所述单号对应的交易请求进行处理;

异步模块:被配置为执行将所述交易请求的处理过程数据写入异步任务队列中缓存;当所述异步任务队列中的任务在处理过程出现异常时,进行重试;

第一删除模块:被配置为执行当所述异步任务队列中的所有任务都完成后删除该缓存的异步任务队列。

可选的,交易节点还包括:

重试计算模块:被配置为执行获取重试的次数;

第二删除模块:被配置为执行当所述重试的次数达到第二阈值时删除所述异步任务队列,并反馈异常信息给所述客户端。

在一实施例中,请参阅图8,上述公开的模块具体的工作步骤包括:客户端发送交易信息,接入前端接收该交易信息,经过鉴权、控流后发送给中继转发服务器,中继转发服务器根据分配规则分配该交易信息至对应的交易节点,交易节点接收到相关的交易信息后创建一个订单号,并将相关数据保存在数据库中,同时根据上述分析的交易对象的相关信息,调用相关渠道网关的通信接口,渠道网关与第三方交易对象通信,交易对象返回下单数据,渠道网关接收该下单数据,并将该数据传送至交易节点,交易节点将下单数据中的支付链接提取出来发送给客户端,客户端通过连接该支付链接直接进行交易支付,交易对象识别到交易成功后,发送订单回调通知至接入前端,接入前端对相关数据进行鉴权后通过中继转发服务器根据分配规则分配到之前所分配到原交易节点,交易节点识别该回调通知的合法性,当为合法的回调通知后,请求支付通知模块生成支付结果通知,并构建数据报文将该支付结果通知直接返回给对应的客户端,以提示支付的结果。

本发明实施例提供计算机设备基本结构框图请参阅图9。

该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种聚合支付的后台架构方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种聚合支付的后台架构方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

计算机设备通过接收关联的客户端发送的提示行为的状态信息,即关联终端是否开启提示以及用户是否关闭该提示任务。通过验证上述任务条件是否达成,进而向关联终端发送对应的预设指令,以使关联终端能够根据该预设指令执行相应的操作,从而实现了对关联终端的有效监管。同时,在提示信息状态与预设的状态指令不相同时,服务器端控制关联终端持续进行响铃,以防止关联终端的提示任务在执行一段时间后自动终止的问题。

本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述聚合支付的后台架构方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1