交易处理方法及装置与流程

文档序号:19155436发布日期:2019-11-16 00:41阅读:160来源:国知局
交易处理方法及装置与流程

本申请涉及数据处理技术领域,尤其涉及一种交易处理方法及装置。



背景技术:

目前,互联网交易产生的数据在路由实现中,需要依赖redis服务器来保存交易映射关系。然而,在redis服务器发生故障时,交易映射关系无法正常保存到redis服务器中,会存在保存失败的问题。从而在对交易映射关系进行查询时,无法从redis服务器查询获取到交易映射关系,只能按照交易映射关系的生成策略,对数据库进行轮询操作,导致数据库压力较大,而且交易防重失败的风险较高。



技术实现要素:

本申请的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种交易处理方法,该方法基于映射关系缓存服务器的存储状态,对交易映射关系进行存储,对于查询操作,可以降低映射关系缓存服务器中不存在交易映射关系的概率,避免对数据库的轮询操作,减少对数据库的压力;另外,还可以降低交易防重失败的概率。

本申请的第二个目的在于提出一种交易处理装置。

本申请的第三个目的在于提出另一种交易处理装置。

本申请的第四个目的在于提出一种交易处理系统。

本申请的第五个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本申请第一方面实施例提出了一种交易处理方法,包括:接收交易服务请求;根据所述交易服务请求,获取待存储的交易映射关系;判断预设的映射关系缓存服务器是否处于限制存储状态;若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列;在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系存储至所述映射关系缓存服务器;判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;若在预设时间段内接收到所述响应信息,则确定所述交易映射关系存储成功。

本申请实施例的交易处理方法,通过接收交易服务请求;根据所述交易服务请求,获取待存储的交易映射关系;判断预设的映射关系缓存服务器是否处于限制存储状态;若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列;在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系存储至所述映射关系缓存服务器;判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;若在预设时间段内接收到所述响应信息,则确定所述交易映射关系存储成功。该方法基于映射关系缓存服务器的存储状态,对交易映射关系进行存储,对于查询操作,可以降低映射关系缓存服务器中不存在交易映射关系的概率,避免对数据库的轮询操作,减少对数据库的压力;另外,还可以降低交易防重失败的概率。

为达上述目的,本申请第二方面实施例提出了一种交易处理装置,包括:接收模块,用于接收交易服务请求;获取模块,用于根据所述交易服务请求,获取待存储的交易映射关系;判断模块,用于判断预设的映射关系缓存服务器是否处于限制存储状态;存储模块,用于在映射关系缓存服务器处于限制存储状态时,将所述交易映射关系存储到延迟队列;所述存储模块,还用于在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系存储至所述映射关系缓存服务器;所述判断模块,还用于判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;确定模块,用于在预设时间段内接收到所述响应信息时,确定所述交易映射关系存储成功。

本申请实施例的交易处理装置,通过接收交易服务请求;根据所述交易服务请求,获取待存储的交易映射关系;判断预设的映射关系缓存服务器是否处于限制存储状态;若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列;在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系存储至所述映射关系缓存服务器;判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;若在预设时间段内接收到所述响应信息,则确定所述交易映射关系存储成功。该装置可实现基于映射关系缓存服务器的存储状态,对交易映射关系进行存储,对于查询操作,可以降低映射关系缓存服务器中不存在交易映射关系的概率,避免对数据库的轮询操作,减少对数据库的压力;另外,还可以降低交易防重失败的概率。

为达上述目的,本申请第三方面实施例提出了另一种交易处理装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的交易处理方法。

为了实现上述目的,本申请的第四方面实施例提出一种交易处理系统。包括:应用交易平台、映射关系缓存服务器、以及数据库;所述应用交易平台与所述映射关系缓存服务器和所述数据库连接;所述应用交易平台,设置有延迟队列,用于获取待存储的交易映射关系;在所述映射关系缓存服务器处于限制存储状态时,将所述交易映射关系存储到延迟队列;在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系发送至所述映射关系缓存服务器;在预设时间段内接收到映射关系缓存服务器返回的响应信息时,确定所述交易映射关系存储成功;所述交易映射关系包括:交易流水号与数据库存储地址的对应关系;所述映射关系缓存服务器,用于存储交易映射关系,在所述交易映射关系存储成功时,向所述应用交易平台返回响应信息;所述数据库,用于在所述数据库存储地址存储与所述交易流水号对应的交易数据。

为了实现上述目的,本申请第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的交易处理方法。

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

附图说明

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

图1是根据本申请一个实施例的一种交易处理方法的流程示意图;

图2是根据本申请另一个实施例的一种交易系统的结构示意图;

图3是根据本申请一个实施例的一种交易处理装置的结构示意图;

图4是根据本申请另一个实施例的一种交易处理装置的结构示意图;

图5是根据本申请实施例的另一种交易处理装置的结构示意图。

具体实施方式

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

下面参考附图描述本申请实施例的交易处理方法及装置。图1为本申请实施例提供的一种交易处理方法的流程示意图。如图1所示,该交易处理方法包括以下步骤:

步骤101,接收交易服务请求。

本申请提供的交易处理方法的执行主体为交易处理装置,交易处理装置具体可以为交易处理系统中的应用交易平台,应用交易平台中可以嵌入路由模块,该路由模块可以执行交易处理方法。本申请实施例中,以交易处理装置为应用交易平台为例进行说明。

在本申请实施例中,应用交易平台发生交易服务时,比如,交易数据的存储和查询等,交易平台中的路由模块可接收交易服务请求。

本实施例中,交易处理系统的结构示意图可以如图2所示,该交易处理系统可包括:应用交易平台、映射关系缓存服务器(如redis集群服务器)、以及数据库;其中,应用交易平台与映射关系缓存服务器和数据库连接。

其中,应用交易平台中设置有延迟队列,用于获取待存储的交易映射关系;在映射关系缓存服务器处于限制存储状态时,将交易映射关系存储到延迟队列;在延迟队列中的交易映射关系到达延迟时间时,将交易映射关系发送至映射关系缓存服务器;在预设时间段内接收到映射关系缓存服务器返回的响应信息时,确定交易映射关系存储成功;其中,交易映射关系可包括:交易流水号与数据库存储地址的对应关系;

映射关系缓存服务器,用于存储交易映射关系,在交易映射关系存储成功时,向应用交易平台返回响应信息;

数据库,用于在数据库存储地址存储与交易流水号对应的交易数据。

步骤102,根据所述交易服务请求,获取待存储的交易映射关系。

在本申请实施例中,交易映射关系可以为交易流水号与数据库存储地址的对应关系,应用交易平台中的路由模块,接收交易服务请求之后,可根据交易服务请求通过抓包获取交易流水号,之后,结合交易流水号以及预设的映射关系生成策略,生成交易流水号与数据库存储地址的对应关系。其中,预设的映射关系生成策略可以是但不限于一对一的映射关系,为确保交易流水号的唯一性,交易流水号可以是自增id,也可以是根据时间按照一定规则进行生成,本申请不做限制。

另外,在交易流水号与数据库存储地址的对应关系生成之后,还可判断数据库存储地址对应的数据库的状态是否为非故障状态,若数据库存储地址对应的数据库的状态为非故障状态,则将交易流水号与数据库存储地址的对应关系确定为待存储的交易映射关系。若数据库存储地址对应的数据库的状态为故障状态,则结合交易流水号以及预设的映射关系生成策略,重新生成交易流水号对应的交易映射关系,直至生成的交易映射关系中数据库存储地址对应的数据库的状态为非故障状态。

其中,需要说明的是,每个数据库中可包含多张数据表,数据库存储地址可以快速定位交易数据存储在数据库中具体数据表的位置,以便于交易数据的查询。

步骤103,判断预设的映射关系缓存服务器是否处于限制存储状态;

步骤104,若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列。

在本申请实施例中,获取到待存储的交易映射关系之后,可判断映射关系缓存服务器是否可以进行存储,如果映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列。其中,限制存储状态可包括:主备切换状态,和故障状态。

比如,映射关系缓存服务器处于主备切换时,将交易映射关系存储到延迟队列。本实施例中,延迟队列可以用于延迟交易映射关系的存储时间。例如,映射关系缓存服务器主备切换的时间大约为30s,可以将延迟队列的延迟时间设置为30s等,从而在延迟队列的交易映射关系到达延迟时间时,映射关系缓存服务器未处于限制存储状态,路由模块可将交易映射关系存储至映射关系缓存服务器中,从而能够实现交易映射关系的存储。其中,需要说明的是,映射关系缓存服务器可以是但不限于redis服务器,还可以为redis集群服务器。其中,redis集群服务器可包括多个redis服务器,其中一个作为主服务器,其他作为备服务器。redis集群服务器的主备切换状态指的是,主服务器发生故障,需要从备服务器中选择一个服务器作为主服务器,而将之前的主服务器作为备服务器。另外,redis集群服务器的故障状态可为redis集群服务器接口故障、网络故障等,使redis集群服务器暂时无法接收数据。

步骤105,在延迟队列中的交易映射关系到达延迟时间时,将交易映射关系存储至映射关系缓存服务器。

进一步地,在交易映射关系放入延迟队列后,交易映射关系在延迟队列中的时间到达延迟时间时,路由模块将尝试把交易映射关系存储到映射关系缓存服务器,直至成功把交易映射关系存储到映射关系缓存服务器。其中,需要说明的是,路由模块可多次尝试将交易映射关系存储到映射关系缓存服务器,每次存储操作可以分别延迟一定时间,比如分别延迟1min、1min30s进行重新操作。

步骤106,判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息。

在本申请实施例中,路由模块将交易映射关系成功存储至映射关系缓存服务器后,在预设时间段内映射关系缓存服务器发送响应信息至路由模块。因此,在将交易映射关系存储至映射关系缓存服务器后,路由模块可判断是否在预设时间内是否接收到映射关系缓存服务器在存储成功时返回的响应信息。

步骤107,若在预设时间段内接收到响应信息,则确定交易映射关系存储成功。

具体地,如果路由模块在预设时间段内接收到映射关系缓存服务器发送的响应信息,则可确定交易映射关系成功存储至映射关系缓存服务器。另外,可选地,如果在预设时间段内路由模块未接收到映射关系缓存服务器发送的响应信息,路由模块可重新将交易映射关系存储到延迟队列中,直至交易映射关系成功存储到映射关系缓存服务器中。

在本申请实施例中,应用交易平台进行交易数据查询时,交易平台中的路由模块可接收交易数据查询请求,之后,可根据待查询的交易流水号,查询映射关系缓存服务器,获取包括待查询的交易流水号的目标交易映射关系;接着,根据目标交易映射关系中的数据库存储地址,可获取与待查询的交易流水号对应的交易数据。其中,需要说明的是,查询请求可包括:待查询的交易流水号。本申请实施例的交易处理方法,通过接收交易服务请求;根据交易服务请求,获取待存储的交易映射关系;判断预设的映射关系缓存服务器是否处于限制存储状态;若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储到延迟队列;在延迟队列中的交易映射关系到达延迟时间时,将交易映射关系存储至映射关系缓存服务器;判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;若在预设时间段内接收到响应信息,则确定交易映射关系存储成功。。该方法基于映射关系缓存服务器的存储状态,对交易映射关系进行存储,对于查询操作,可以降低映射关系缓存服务器中不存在交易映射关系的概率,避免对数据库的轮询操作,减少对数据库的压力;另外,还可以降低交易防重失败的概率。

与上述实施例提供的交易处理方法相对应,本申请的实施例还提供一种交易处理装置,由于本申请实施例提供的交易处理装置与上述实施例提供的交易处理方法相对应,因此在前述交易处理方法的实施方式也适用于本实施例提供的交易处理装置,在本实施例中不再详细描述。图3为本申请实施例提供的一种交易处理装置的结构示意图。如图3所示,该交易处理装置300包括:接收模块310、获取模块320、判断模块330、存储模块340、确定模块350。

具体地,接收模块310,用于接收交易服务请求;获取模块320,用于根据接收交易服务请求,获取待存储的交易映射关系;判断模块330,用于判断预设的映射关系缓存服务器是否处于限制存储状态;存储模块340,用于在映射关系缓存服务器处于限制存储状态时,将交易映射关系存储到延迟队列;存储模块340,还用于在延迟队列中的交易映射关系到达延迟时间时,将交易映射关系存储至映射关系缓存服务器;判断模块330,还用于判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;确定模块350,用于在预设时间段内接收到响应信息时,确定交易映射关系存储成功。

作为本申请实施例的一种可能的实现方式,存储模块340,还用于在预设时间段内未接收到响应信息时,重新将交易映射关系存储到延迟队列中,直至交易映射关系成功存储到映射关系缓存服务器中。

作为本申请实施例的一种可能的实现方式,存储模块340,还用于在映射关系缓存服务器未处于限制存储状态时,将交易映射关系存储至映射关系缓存服务器。

作为本申请实施例的一种可能的实现方式,交易映射关系包括:交易流水号与数据库存储地址的对应关系;如图4所示,在图3所示基础上,交易处理装置300可还包括:查询模块360。

具体地,接收模块310,还用于接收交易数据查询请求,查询请求包括:待查询的交易流水号;查询模块360,还用于根据待查询的交易流水号,查询映射关系缓存服务器,获取包括待查询的交易流水号的目标交易映射关系;获取模块320,还用于根据目标交易映射关系中的数据库存储地址,获取与待查询的交易流水号对应的交易数据。

作为本申请实施例的一种可能的实现方式,限制存储状态包括:主备切换状态,和故障状态。

作为本申请实施例的一种可能的实现方式,获取模块320具体用于,根据交易服务请求,获取待存储的交易数据的交易流水号;结合交易流水号以及预设的映射关系生成策略,生成交易流水号对应的交易映射关系;交易映射关系包括:交易流水号与数据库存储地址的对应关系;判断数据库存储地址对应的数据库的状态是否为非故障状态;若数据库存储地址对应的数据库的状态为非故障状态,则将交易映射关系确定为待存储的交易映射关系。

作为本申请实施例的一种可能的实现方式,获取模块320具体还用于,若数据库存储地址对应的数据库的状态为故障状态,则结合交易流水号以及预设的映射关系生成策略,重新生成交易流水号对应的交易映射关系,直至生成的交易映射关系中数据库存储地址对应的数据库的状态为非故障状态。

本申请实施例的交易处理装置,通过接收交易服务请求;根据所述交易服务请求,获取待存储的交易映射关系;判断预设的映射关系缓存服务器是否处于限制存储状态;若映射关系缓存服务器处于限制存储状态,则将交易映射关系存储至到延迟队列;在所述延迟队列中的所述交易映射关系到达延迟时间时,将所述交易映射关系存储至所述映射关系缓存服务器;判断是否在预设时间段内接收到映射关系缓存服务器在存储成功时返回的响应信息;若在预设时间段内接收到所述响应信息,则确定所述交易映射关系存储成功。该装置可实现基于映射关系缓存服务器的存储状态,对交易映射关系进行存储,对于查询操作,可以降低映射关系缓存服务器中不存在交易映射关系的概率,避免对数据库的轮询操作,减少对数据库的压力;另外,还可以降低交易防重失败的概率。

为了实现上述实施例,本申请还提出另一种交易处理装置。图5为本申请实施例提供的另一种交易处理装置的结构示意图。该交易处理装置包括:存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。

处理器1002执行所述程序时实现上述实施例中提供的交易处理方法。

进一步地,交易处理装置还包括:

通信接口1003,用于存储器1001和处理器1002之间的通信。

存储器1001,用于存放可在处理器1002上运行的计算机程序。

存储器1001可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器1002,用于执行所述程序时实现上述实施例所述的交易处理方法。

如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。

处理器1002可能是一个中央处理器(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本申请实施例的一个或多个集成电路。

为了实现上述实施例,本申请还提出一种交易处理系统,其特征在于,包括:应用交易平台、映射关系缓存服务器、以及数据库;所述应用交易平台与所述映射关系缓存服务器和所述数据库连接。

其中,应用交易平台,设置有延迟队列,用于获取待存储的交易映射关系;在映射关系缓存服务器处于限制存储状态时,将交易映射关系存储到延迟队列;在延迟队列中的交易映射关系到达延迟时间时,将交易映射关系发送至映射关系缓存服务器;在预设时间段内接收到映射关系缓存服务器返回的响应信息时,确定交易映射关系存储成功;交易映射关系包括:交易流水号与数据库存储地址的对应关系;

映射关系缓存服务器,用于存储交易映射关系,在交易映射关系存储成功时,向应用交易平台返回响应信息;

数据库,用于在数据库存储地址存储与交易流水号对应的交易数据。

本申请还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的交易处理方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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