订单查询方法和装置与流程
- 国知局
- 2024-11-06 14:30:05
本发明涉及计算机,尤其涉及一种订单查询方法和装置。
背景技术:
1、在基于互联网技术的购物场景中,服务端支持用户在提交订单之后执行订单查询。在目前的服务端系统架构中,一般使用基于磁盘的主数据库如mysql来存储订单数据,使用基于磁盘的查询数据库(例如elastic search弹性查询,简称为es)来支持订单查询,主数据库和查询数据库的写入方式有以下两种:第一种,服务端系统形成订单数据之后分别同步写入主数据库和查询数据库,这种写入方式在高并发情况下会大量占用计算资源,造成订单提交性能下降;第二种,服务端系统形成订单数据之后同步写入主数据库,此后异步写入查询数据库,这种方式不会影响订单提交性能,但是在用户提交订单之后延迟一定时间才能完成查询数据库的订单数据写入,这段时间若用户执行查询则无法查询到该订单数据。
技术实现思路
1、有鉴于此,本发明实施例提供一种订单查询方法和装置,能够在不影响服务端订单提交性能的前提下解决订单查询延迟的问题。
2、为实现上述目的,根据本发明的一个方面,提供了一种订单查询方法。
3、本发明实施例的订单查询方法包括:响应于接收到订单提交请求,将所述订单提交请求对应的订单数据分别写入预先建立的主数据库和缓存数据库;将所述主数据库中写入的订单数据异步写入用于支持订单查询的查询数据库;根据所述缓存数据库和所述查询数据库响应针对所述订单数据的查询请求。
4、可选地,写入所述缓存数据库的订单数据具有预置的过期时长;以及,所述将所述主数据库中写入的订单数据异步写入用于支持订单查询的查询数据库的步骤执行完成在所述订单数据的过期时刻之前或同时;所述订单数据的过期时刻为所述订单数据写入所述缓存数据库的时刻与所述过期时长之和。
5、可选地,所述将所述主数据库中写入的订单数据异步写入用于支持订单查询的查询数据库,包括:监听所述主数据库的日志数据;响应于所述主数据库生成日志数据,根据生成的日志数据形成异步消息,基于所述异步消息将所述订单数据异步写入所述查询数据库。
6、可选地,所述根据所述缓存数据库和所述查询数据库响应针对所述订单数据的查询请求,包括:响应于接收到查询请求,判断所述查询数据库中是否存在匹配于所述查询请求的查询结果;在所述查询数据库中存在所述查询结果的情况下,将所述查询结果返回;在所述查询数据库中不存在所述查询结果的情况下,在所述缓存数据库确定所述查询结果并返回。
7、可选地,所述方法进一步包括:响应于所述主数据库中的数据更改或数据删除,根据基于所述数据更改或所述数据删除生成的日志数据更新所述查询数据库中的数据。
8、可选地,所述方法进一步包括:在所述将所述订单提交请求对应的订单数据分别写入预先建立的主数据库和缓存数据库之后,返回针对所述订单提交请求的订单提交成功响应。
9、可选地,所述主数据库和所述查询数据库为基于磁盘的数据库,所述缓存数据库为基于内存的数据库;所述订单数据包括以下至少一种:订单基础数据、订单商品数据、订单发票数据、订单配送数据。
10、为实现上述目的,根据本发明的另一方面,提供了一种订单查询装置。
11、本发明实施例的订单查询装置包括:同步写入单元,用于响应于接收到订单提交请求,将所述订单提交请求对应的订单数据分别写入预先建立的主数据库和缓存数据库;异步写入单元,用于将所述主数据库中写入的订单数据异步写入用于支持订单查询的查询数据库;查询支持单元,用于根据所述缓存数据库和所述查询数据库响应针对所述订单数据的查询请求。
12、可选地,写入所述缓存数据库的订单数据具有预置的过期时长;以及,所述异步写入单元可进一步用于:将所述主数据库中写入的订单数据异步写入用于支持订单查询的查询数据库的步骤执行完成在所述订单数据的过期时刻之前或同时;所述订单数据的过期时刻为所述订单数据写入所述缓存数据库的时刻与所述过期时长之和。
13、可选地,所述异步写入单元可进一步用于:监听所述主数据库的日志数据;响应于所述主数据库生成日志数据,根据生成的日志数据形成异步消息,基于所述异步消息将所述订单数据异步写入所述查询数据库。
14、可选地,所述查询支持单元可进一步用于:响应于接收到查询请求,判断所述查询数据库中是否存在匹配于所述查询请求的查询结果;在所述查询数据库中存在所述查询结果的情况下,将所述查询结果返回;在所述查询数据库中不存在所述查询结果的情况下,在所述缓存数据库确定所述查询结果并返回。
15、可选地,所述异步写入单元可进一步用于:响应于所述主数据库中的数据更改或数据删除,根据基于所述数据更改或所述数据删除生成的日志数据更新所述查询数据库中的数据。
16、可选地,所述装置可进一步包括响应单元,用于:在所述将所述订单提交请求对应的订单数据分别写入预先建立的主数据库和缓存数据库之后,返回针对所述订单提交请求的订单提交成功响应。
17、可选地,所述主数据库和所述查询数据库为基于磁盘的数据库,所述缓存数据库为基于内存的数据库;所述订单数据包括以下至少一种:订单基础数据、订单商品数据、订单发票数据、订单配送数据。
18、为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
19、本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的订单查询方法。
20、为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
21、本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的订单查询方法。
22、根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:
23、为解决现有技术中存在的订单查询延迟问题,服务端系统在主数据库和查询数据库基础上增加基于内存、具有优良读写性能的缓存数据库。接收到订单提交请求之后,服务端系统将订单提交请求对应的订单数据分别同步写入主数据库和缓存数据库,将主数据库中写入的订单数据异步写入查询数据库,并基于缓存数据库和查询数据库响应针对订单数据的查询请求。如此,一方面同步写入主数据库和具有高读写性能的缓存数据库以及异步写入查询数据库的写入方式不会影响订单提交性能,另一方面在查询数据库因异步写入订单数据而无法提供对外查询的延迟时间段内,缓存数据库可代替缓存数据库支持查询,从而解决现有技术中的订单查询延迟问题。进一步,在本技术实施例中,可为写入缓存数据库的订单数据配置过期时长来提高缓存数据库的数据处理能力,并将订单数据在查询数据库的异步写入设计为相应数据在缓存数据库过期之前或同时执行完成,从而使缓存数据库和查询数据库无缝对接来支持订单数据的查询,实现订单提交之后的全时段、无延迟订单查询。
24、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
本文地址:https://www.jishuxx.com/zhuanli/20241106/322467.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。