一种获取订单信息的方法及设备的制造方法

文档序号:9418023阅读:264来源:国知局
一种获取订单信息的方法及设备的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种获取订单信息的方法及设备。
【背景技术】
[0002]随着电子商务的不断发展,电子支付业务也被广泛应用。现有的电子商务的业务系统处理一笔支付消费交易一般主要包括三部分:先保存订单,再确认支付、最后完成支付。在电子支付业务中,业务系统接收来自用户的下单请求,并将这笔订单对应的订单信息保存在主数据库,在订单信息保存成功后,反馈用户支付界面或者接收用户的支付请求,业务系统根据订单信息反馈相应的支付信息,用户在确认支付信息后,完成支付。
[0003]但是,若保存订单信息的主数据库在确认支付之前,主数据库出现异常,业务系统会切换到备数据库,以保证后续的电子支付业务。但由于进行了切库,在切库之前的尚未确认支付的订单信息在备数据库中没有存储,使得这笔订单交易丢失,业务系统在确认支付的时候会向用户报错,提示订单信息失效等,用户或者重新下单,或者放弃此次支付,影响用户体验并给公司造成损失。
[0004]因此,现有技术中,主数据库出现异常切换到备数据库后,导致订单交易丢失,无法完成订单支付。

【发明内容】

[0005]本发明实施例提供一种获取订单信息的方法及设备,用以解决现有技术中主数据库出现异常切换到备数据库后,导致订单交易丢失,无法完成订单支付的问题。
[0006]为了实现上述目的,本发明实施例提供了一种获取订单信息的方法,包括:
[0007]接收订单支付请求消息,所述订单支付请求消息中包含订单标识;
[0008]根据所述订单标识,从处于工作态的数据库中查询与所述订单标识对应的订单信息;
[0009]若所述处于工作态的数据库内不存在与所述订单标识对应的订单信息,则根据所述订单标识从缓存区中查询在与所述订单标识对应的订单信息;
[0010]根据查询到与所述订单标识对应的订单信息,反馈订单支付响应消息。
[0011 ] 本发明上述实施例中,接收订单支付请求消息,所述订单支付请求消息中包含订单标识;根据所述订单标识,从处于工作态的数据库中查询与所述订单标识对应的订单信息;若所述处于工作态的数据库内不存在与所述订单标识对应的订单信息,则根据所述订单标识从缓存区中查询在与所述订单标识对应的订单信息;根据查询到与所述订单标识对应的订单信息,反馈订单支付响应消息,使得将主数据库出现异常切换到备数据库前的订单信息保存在缓存区而不被丢失,根据查询到与所述订单标识对应的订单信息,反馈订单支付响应消息,从而实现了业务系统正常向用户上报更新订单信息并完成订单支付。
[0012]可选的,若所述处于工作态的数据库内存在与所述订单标识对应的订单信息,则在所述处于工作态的数据库内更新所述订单标识对应的订单信息的状态,并根据所述订单标识对应的订单信息,反馈订单支付响应消息。
[0013]本发明上述实施例中,在处于工作态的数据库内存在所述订单标识对应的订单信息时,则在处于工作态的数据库内更新所述订单标识对应的订单信息的状态,并根据所述订单标识对应的订单信息,反馈订单支付响应消息,使得存在所述订单标识对应的订单信息的处于工作态的数据库能够及时将所述订单信息的状态更新,并反馈订单支付响应,从而在不丢失订单信息的情况下,实现了业务系统正常向用户上报更新订单信息及反馈订单支付响应,不影响用户的体验。
[0014]可选的,所述反馈订单支付响应消息后,还包括:
[0015]将从缓存区中查询的与所述订单标识对应的订单信息存入所述处于工作态的数据库中,并从所述缓存区中删除与所述订单标识对应的订单信息。
[0016]本发明上述实施例中,由于将从缓存区中查询的与所述订单标识对应的订单信息存入所述处于工作态的数据库中,使得所述处于工作态的数据库在出现异常之后,能将缓存区中的所述订单标识对应的订单信息存入所述处于工作态的数据库中,保证了处于工作态的数据库的所述订单信息不被丢失,不影响用户的体验;并从所述缓存区中删除与所述订单标识对应的订单信息,达到节约缓存区存储空间的目的。
[0017]可选的,所述接收订单支付请求消息之前,还包括:
[0018]获取订单下单请求消息,所述订单下单请求消息中包含订单信息;
[0019]从所述缓存区中查询是否存在与所述订单下单请求消息对应的订单信息;
[0020]若所述缓存区内不存在与所述订单下单请求消息对应的订单信息,则将所述订单信息保存在缓存区及处于工作态的数据库中。
[0021]本发明上述实施例中,获取订单下单请求消息后,若在缓存区内查询不存在与所述订单下单请求消息对应的订单信息,则将所述订单信息保存在缓存区及处于工作态的数据库中,使得处于工作态的数据库不存在与所述订单下单请求消息对应的订单信息时,可以从缓存区将与所述订单下单请求消息对应的订单信息存入处于工作态的数据库,使得订单信息不被丢失,达到保存订单信息的目的。
[0022]可选的,所述缓存区为Redis缓存区,所述将所述订单信息保存在缓存区,包括:
[0023]设置Redis缓存区锁订单,将所述订单下单请求消息中的订单信息保存在Redis缓存区。
[0024]本发明上述实施例中,缓存区为Redis缓存区,通过设置Redis缓存区锁订单,使得在将所述订单下单请求消息中的订单信息保存在Redis缓存区时,防止所述订单消息的并发插入。
[0025]可选的,所述将所述订单信息保存在缓存区及处于工作态的数据库中之后,还包括:
[0026]若处于工作态的数据库保存所述订单信息失败,则解除所述锁订单并将所述订单信息从所述缓存区中删除。
[0027]本发明上述实施例中,若处于工作态的数据库保存所述订单信息失败,则解除所述锁订单并将所述订单信息从所述缓存区中删除,使得用户能够再发起订单下单请求,并继续订单下单流程。
[0028]可选的,所述从所述缓存区中查询是否存在与所述订单下单请求消息对应的订单信息,还包括:
[0029]若所述缓存区内存在与所述订单下单请求消息对应的订单信息,则更新所述处于工作态的数据库内的所述订单下单请求消息中的订单信息。
[0030]本发明上述实施例中,在获取订单下单请求消息后,若所述缓存区内存在与所述订单下单请求消息对应的订单信息,则更新所述处于工作态的数据库内的所述订单下单请求消息中的订单信息,使得处于工作态的数据库的订单信息与所述订单下单请求消息中的订单信息相同,确保处于工作态的数据库的订单信息的更新无误。
[0031]可选的,若所述更新所述处于工作态的数据库内的所述订单下单请求消息中的订单信息失败,则从所述处于工作态的数据库和所述缓存区中删除所述订单下单请求消息中的订单信息。
[0032]本发明上述实施例中,更新所述处于工作态的数据库内的所述订单下单请求消息中的订单信息失败,则从所述处于工作态的数据库和所述缓存区中删除所述订单下单请求消息中的订单信息,使得用户再发起订单下单请求,节约处于工作态的数据库和缓存区的存储空间。
[0033]本发明实施例提供了一种获取订单信息的设备,包括:
[0034]接收模块,用于接收订单支付请求消息,所述订单支付请求消息中包含订单标识;
[0035]第一处理模块,用于根据所述订单标识,从处于工作态的数据库中查询与所述订单标识对应的订单信息;
[0036]第二处理模块,用于若所述处于工作态的数据库内不存在与所述订单标识对应的订单信息,则根据所述订单标识从缓存区中查询在与所述订单标识对应的订单信息;
[0037]发送模块,用于根据查询到与所述订单标识对应的订单信息,反馈订单支付响应消息。
[0038]可选的,所述第一处理模块还用于:
[0039]若所述处于工作态的数据库内存在与所述订单标识对应的订单信息,则在所述处于工作态的数据库内更新所述订单标识对应的订单信息的状态,并根据所述订单标识对应的订单信息,反馈订单支付响应消息。
[0040]可选的,所述第二处理模块还用于:
[0041]将从缓存区中查询的与所述订单标识对应的订单信息存
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1