数据查询方法、装置、计算机设备和存储介质与流程

文档序号:30915988发布日期:2022-07-29 22:06阅读:67来源:国知局
数据查询方法、装置、计算机设备和存储介质与流程

1.本技术涉及大数据技术领域,特别是涉及一种数据查询方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着互联网的快速发展,用户有越来越多的操作可以通过互联网完成,例如,对于目标对象的预约操作。尤其是在该目标对象刚上市期限,会引发全民预约热潮。
3.相关技术中,一般通过使用传统的web服务器、应用服务器、关系型数据库服务器的三层应用架构进行目标对象的相关预约,由于用户预约量大、用户预约时间点的集中等原因,会出现预约系统运行压力较大、负载过高的情况,因此,目标对象的预约剩余信息更新显示不及时,往往系统会出现显示尚有目标对象未被预约,但实际已经全部被预约完成的情况,导致目标对象的预约剩余信息更新不及时,显示的预约剩余信息不准确,降低了目标对象的预约效率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够显示准确显示剩余信息的数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种数据查询方法。方法包括:
6.响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;
7.根据所述预约类型信息以及预约位置信息,确定目标网点;
8.根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群,所述redis集群与各个网点一一对应,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
9.在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
10.在其中一个实施例中,所述方法还包括:
11.判断所述目标预约请求的数量是否超过预设的并发请求数量;
12.在所述预约请求的数量未超过所述预设的并发请求数量的情况下,执行所述根据所述预约类型信息以及预约位置信息,确定目标网点至所述在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息的步骤;
13.在所述预约请求的数量超过所述预设的并发请求数量的情况下,显示第一提示信息,所述第一提示信息用于提示当前业务繁忙。
14.在其中一个实施例中,所述预约请求还包括请求批次标识信息;
15.所述在所述目标redis集群中,获取所述目标网点的目标库存信息,包括:
16.获取所述目标redis集群的名称信息;
17.对所述目标redis集群的名称信息、所述目标网点对应的地区标识信息以及所述请求批次标识信息进行拼接处理,得到缓存索引信息;
18.在所述目标redis集群中,查询所述缓存索引信息对应的目标库存信息,作为所述目标网点的目标库存信息。
19.在其中一个实施例中,所述方法还包括:
20.在基于所述缓存索引信息,在所述目标redis集群中,未查询到所述目标网点的目标库存信息的情况下,生成报警提示信息,并输出所述报警提示信息。
21.在其中一个实施例中,所述方法还包括:
22.将所述目标网点的目标库存信息添加至所述目标网点对应的页面显示文件。
23.在其中一个实施例中,所述方法还包括:
24.在所述目标终端是内网类型的情况下,执行步骤“根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群”;
25.在所述目标终端是外网类型的情况下,输出预加载库存信息,所述预加载库存信息是根据所述预设的库存额度分配策略为所述目标网点分配的,或者,所述预加载库存信息是根据所述目标预约请求对应的目标网点对应的页面显示文件中获取到的。
26.第二方面,本技术还提供了一种redis集群,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息。
27.第三方面,本技术还提供了一种数据查询装置,所述装置包括:
28.第一获取模块,用于响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;
29.第一确定模块,用于根据所述预约类型信息以及预约位置信息,确定目标网点;
30.第二确定模块,用于根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群,所述redis集群与各个网点一一对应,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
31.第二获取模块,用于在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
32.在其中一个实施例中,所述装置还包括:
33.第一判断模块,用于判断所述目标预约请求的数量是否超过预设的并发请求数量;
34.第一执行模块,用于在所述预约请求的数量未超过所述预设的并发请求数量的情况下,执行所述根据所述预约类型信息以及预约位置信息,确定目标网点至所述在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息的步骤;
35.第二执行模块,用于在所述预约请求的数量超过所述预设的并发请求数量的情况下,显示第一提示信息,所述第一提示信息用于提示当前业务繁忙。
36.在其中一个实施例中,所述预约请求还包括请求批次标识信息;
37.所述第二获取模块,具体用于:
38.获取所述目标redis集群的名称信息;
39.对所述目标redis集群的名称信息、所述目标网点对应的地区标识信息以及所述
请求批次标识信息进行拼接处理,得到缓存索引信息;
40.在所述目标redis集群中,查询所述缓存索引信息对应的目标库存信息,作为所述目标网点的目标库存信息。
41.在其中一个实施例中,所述装置还包括:
42.报警提示信息生成模块,用于在基于所述缓存索引信息,在所述目标redis集群中,未查询到所述目标网点的目标库存信息的情况下,生成报警提示信息,并输出所述报警提示信息。
43.在其中一个实施例中,所述装置还包括:
44.添加模块,用于将所述目标网点的目标库存信息添加至所述目标网点对应的页面显示文件。
45.在其中一个实施例中,所述装置还包括:
46.第二判断模块,用于在所述目标终端是内网类型的情况下,执行步骤“根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群”;
47.在所述目标终端是外网类型的情况下,输出预加载库存信息,所述预加载库存信息是根据所述预设的库存额度分配策略为所述目标网点分配的,或者,所述预加载库存信息是根据所述目标预约请求对应的目标网点对应的页面显示文件中获取到的。
48.第四方面,本技术还提供了一种数据查询系统,所述数据查询系统包括后台服务器以及redis集群,其中:
49.所述后台服务器,用于响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;根据所述预约类型信息以及预约位置信息,确定目标网点;根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群;
50.所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
51.所述后台服务器还用于在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
52.第五方面,本技术还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
53.响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;
54.根据所述预约类型信息以及预约位置信息,确定目标网点;
55.根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群,所述redis集群与各个网点一一对应,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
56.在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
57.第六方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
58.响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息
以及预约位置信息;
59.根据所述预约类型信息以及预约位置信息,确定目标网点;
60.根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群,所述redis集群与各个网点一一对应,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
61.在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
62.第七方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
63.响应于目标终端发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;
64.根据所述预约类型信息以及预约位置信息,确定目标网点;
65.根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群,所述redis集群与各个网点一一对应,所述redis集群用于根据预设的库存额度分配策略以及接收到的针对所述redis集群对应的网点的预约请求更新库存信息;
66.在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
67.上述数据查询方法、装置、计算机设备、存储介质和计算机程序产品,响应于目标终端发送的目标预约请求,获取目标预约请求中的预约类型信息以及预约位置信息,并确定目标网点;根据预设的redis集群与网点的对应关系,确定目标网点对应的目标redis集群,redis集群与各个网点一一对应,redis集群用于根据预设的库存额度分配策略以及接收到的针对redis集群对应的网点的预约请求更新库存信息;在目标redis集群中,获取目标网点的目标库存信息,并输出目标库存信息。通过采用本发明,后台服务器可以将不同网点对应的库存信息缓存至已经物理隔离的不同的redis集群中,并且在各个网点对应的redis集群中进行库存信息的实时更新,后台服务器可以直接通过查询各个网点对应的redis集群并展示库存信息,避免时延,实现库存信息的实时展示,提高系统的高可用性。
附图说明
68.图1为一个实施例中数据查询系统的结构示意图;
69.图2为一个实施例中数据查询方法的流程示意图;
70.图3为一个实施例中显示第一提示信息步骤的流程示意图;
71.图4为一个实施例中得到缓存索引信息步骤的流程示意图;
72.图5为一个实施例中多个redis集群的结构示意图;
73.图6为一个实施例中redis库存的结构示意图;
74.图7为一个实施例中数据查询装置的结构框图;
75.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
76.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
77.新上市的物品在新上市期限会引发全民抢购热潮,该物品可以是纪念币、手机等等物,相关技术中实现预约是通过web服务器、应用服务器、关系型数据库服务器的三层应用架构进行的,存在用户抢购量大,预约时间点集中,系统压力大、负载高的情况。
78.一方面在对物品的库存余额进行更新时,多用户同时对单条记录进行更新,数据存在热点,使用关系型数据库锁等待机制实现排队功能,导致数据库出现大量资源竞争,引发数据库服务器性能下降,进而系统整体响应缓慢;另一方面,该物品的预约剩余额度更新显示慢,往往出现系统显示尚有该物品未预约,但实际已经全部预约完成情况。该问题的原因是扫描数据库余额结果到生成静态页面更新cdn缓存链路长,耗时多,导致预约流程实时查看预约额度更新不及时,客户体验较差。
79.基于上述背景,如图1所示,提供了一种数据查询系统,所述数据查询系统包括后台服务器200以及多个redis集群300,该数据查询系统还包括多个目标终端100。其中:
80.所述后台服务器200,用于响应于目标终端100发送的目标预约请求,获取所述目标预约请求中的预约类型信息以及预约位置信息;根据所述预约类型信息以及预约位置信息,确定目标网点;根据预设的redis集群300与网点的对应关系,确定所述目标网点对应的目标redis集群;
81.所述redis集群300用于根据预设的库存额度分配策略以及接收到的针对所述redis集群300对应的网点的预约请求更新库存信息;
82.所述后台服务器200还用于在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息。
83.在一个实施例中,如图2所示,提供了一种数据查询方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,服务器可以是后台服务器,服务器还可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例中,该数据查询方法包括以下步骤:
84.步骤102,响应于目标终端发送的目标预约请求,获取目标预约请求中的预约类型信息以及预约位置信息。
85.其中,目标终端可以是任意一个能够显示预约界面的用户设备。目标终端响应于用户对于预设界面的触发操作,获取目标预约请求,这样,目标终端可以将目标预约请求发送至后台服务器。
86.具体地,后台服务器可以对该目标预约请求进行解析,得到该目标预约请求中包含的预约类型信息以及预约位置信息,该目标预约请求可以是用户对于目标对象的预约请求,该目标对象可以是纪念币、新上市的电子设备等等物品。预约类型信息可以是该目标对象的类型,例如,奥运会种类的纪念币、周年种类的纪念币等等;预约位置信息可以是目标终端所处于的位置信息,也可以是目标终端响应于用户在预约界面的位置选择操作从而确定的位置信息。
87.可选地,目标终端可以基于用户对于预设界面的触发操作,获取用户在目标终端输入的预约信息,该预约信息可以包括预约类型信息(纪念币的种类信息信)、预约位置信息、批次信息以及内外网请求信息,目标终端可以基于上述预约信息进行拼接处理或者封
装处理,得到目标预约请求,这样,目标终端可以将目标预约请求发送至后台服务器,即目标终端可以向后台服务器发起请求。
88.步骤104,根据预约类型信息以及预约位置信息,确定目标网点。
89.具体地,服务器可以根据获取到的目标对象的预约类型信息,在多个网点中进行筛选,确定开放对应该目标对象的预约服务的多个第一网点,这样,后台服务器可以基于预约位置信息,在多个第一网点中筛选距离该目标终端最近的第一网点,即目标网点。
90.可选地,后台服务器可以基于预设的预约类型信息与网点的对应关系表,以及预设的预约位置信息与网点的对应关系表,确定出于该预约类型信息以及预约位置信息均对应的目标网点。
91.步骤106,根据预设的redis集群与网点的对应关系,确定目标网点对应的目标redis集群。
92.其中,redis集群与各个网点一一对应,redis集群用于根据预设的库存额度分配策略以及接收到的针对redis集群对应的网点的预约请求更新库存信息。
93.具体地,预设的redis集群与网点的对应关系可以是预先存储至核心数据库中的数据表中,后台服务器可以预先在核心数据库中的数据表中,获取该预设的redis集群与网点的对应关系,该数据表中预先存储的redis集群与网点的对应关系可以是运维人员根据实际应用场景预先配置的,也可以随机生成的。这样,后台服务器可以根据预设的库存额度分配策略确定各个网点对应的初始库存信息,并将各个网点对应的初始库存信息进行分桶处理,得到多个缓存桶,各个缓存桶与各个网点对应的redis集群对应,后台服务器可以将该网点对应的初始库存信息存储至该网点对应的redis集群(redis数据库)中,实现各个网点数据之间的物理隔离,可以降低数据库的故障概率,在单一网点所属于的地区发生故障的情况,不会影响其他地区的网点对应的预约,提高预约效率。
94.可选地,后台服务器可以基于接收到的各个目标终端针对于各个网点的发送的预约请求,对各个网点对应的redis集群中初始库存信息进行实时扣减,实现redis集群中初始库存信息对应的实时库存信息的实时更新。
95.步骤108,在目标redis集群中,获取目标网点的目标库存信息,并输出目标库存信息。
96.具体地,后台服务器可以在目标redis集群中,获取目标网点的实时库存信息,即目标库存信息,并输出目标库存信息至目标终端,这样,目标终端可以在预约界面上显示该目标库存信息。
97.上述数据查询方法中,响应于目标终端发送的目标预约请求,获取目标预约请求中的预约类型信息以及预约位置信息,并确定目标网点;根据预设的redis集群与网点的对应关系,确定目标网点对应的目标redis集群,redis集群与各个网点一一对应,redis集群用于根据预设的库存额度分配策略以及接收到的针对redis集群对应的网点的预约请求更新库存信息;在目标redis集群中,获取目标网点的目标库存信息,并输出目标库存信息。通过采用本发明,后台服务器可以将不同网点对应的库存信息缓存至已经物理隔离的不同的redis集群中,并且在各个网点对应的redis集群中进行库存信息的实时更新,后台服务器可以直接通过查询各个网点对应的redis集群并展示库存信息,避免时延,实现库存信息的实时展示,提高系统的高可用性。
98.在一个实施例中,如图3所示,该数据查询方法还包括:
99.步骤202,判断目标预约请求的数量是否超过预设的并发请求数量。
100.具体地,后台服务器可以与多台目标终端进行连接,这样,预设的并发请求数量可以是后台服务器同时能够处理的目标预约请求的数量。后台服务器可以对同一时间段内接收到的多个目标终端发送的目标预约请求的数量与预先设定的并发请求数量进行比较。如果后台服务器确定同一时间段内接收到的多个目标终端发送的目标预约请求的数量小于预先设定的并发请求数量的情况下,可以执行步骤204;如果后台服务器确定同一时间段内接收到的多个目标终端发送的目标预约请求的数量大于或等于预先设定的并发请求数量的情况下,可以执行步骤206。
101.步骤204,在预约请求的数量未超过预设的并发请求数量的情况下,后台服务器可以执行步骤102:根据预约类型信息以及预约位置信息,确定目标网点至步骤108:在目标redis集群中,获取目标网点的目标库存信息,并输出目标库存信息的具体处理过程。
102.步骤206,在预约请求的数量超过预设的并发请求数量的情况下,显示第一提示信息。
103.其中,所述第一提示信息用于提示当前业务繁忙。
104.具体地,后台服务器生成第一提示信息,并将该第一提示信息返回至目标终端,这样,目标终端可以将第一提示信息在预约界面上显示,提示用户该后台服务器正处于繁忙状态,即用于对目标对象进行预约的预约系统正处于繁忙状态。
105.本实施例中,通过对后台服务器的并发的预约请求的处理数量进行限定,可以避免服务器由于同时处理多个请求导致的运行缓慢,保障服务器的运行性能。
106.在一个实施例中,预约请求还包括请求批次标识信息。
107.具体地,该请求批次标识信息可以是批次号,用于表示该预约请求的批次信息。
108.相应地,如图4所示,步骤“在目标redis集群中,获取目标网点的目标库存信息”的具体处理过程,包括:
109.步骤302,获取目标redis集群的名称信息。
110.具体地,后台服务器可以基于预设的redis集群与网点的对应关系,确定目标网点对应的目标redis集群,具体确定过程可以是:后台服务器可以根据预约位置信息中所包含的地区号以及预设的redis集群与网点的对应关系,查询与该地区号对应的网点,并确定该网点对应的redis集群的名称信息。
111.步骤304,对目标redis集群的名称信息、目标网点对应的地区标识信息以及请求批次标识信息进行拼接处理,得到缓存索引信息。
112.其中,缓存索引信息可以是缓存key。
113.具体地,后台服务器可以按照标准拼接格式,对目标redis集群的名称信息、目标网点对应的地区标识信息以及请求批次标识信息进行拼接处理,得到缓存key,该缓存key可以用于使后台服务器访问对应的目标redis集群,并且可以使后台服务器在访问该目标redis集群时,避免其他后台服务器或者设备对该目标redis集群的访问。
114.步骤306,在所述目标redis集群中,查询所述缓存索引信息对应的目标库存信息,作为所述目标网点的目标库存信息。
115.具体地,后台服务器可以基于该缓存索引信息,访问对应的目标redis集群,在目
标redis集群中提取目标网点的目标库存信息,该目标库存信息是该网点的实时库存信息。
116.本实施例中,通过引入分布式缓存redis集群用于处理预约请求对应的库存,可以解决网点的库存信息未进行实时更新的问题,由于分布式缓存redis集群的读写速度是毫秒级,这样,将关系型数据库更新操作从预约交易的链路中剔除,可以极大提升预约的响应时间。
117.在一个实施例中,该数据查询方法还包括:
118.在基于缓存索引信息,在目标redis集群中,未查询到目标网点的目标库存信息的情况下,生成报警提示信息,并输出报警提示信息。
119.具体地,在后台服务器基于缓存索引信息,在目标redis集群中,未查询到目标网点的目标库存信息的情况下,即该目标redis集群返回的目标库存信息是空的情况下,后台服务器可以生成报警提示信息,并将该报警提示信息返回至目标终端,目标终端可以在预约界面上显示该报警提示信息。
120.在一个实施例中,该数据查询方法还包括:
121.将目标网点的目标库存信息添加至目标网点对应的页面显示文件。
122.其中,页面显示文件可以是js文件。
123.具体地,后台服务器可以将获取到的目标网点的目标库存信息,添加至目标网点对应的页面显示文件中。
124.可选地,后台服务器可以将目标网点的目标库存信息发送至目标终端,这样,目标终端可以将该目标网点的目标库存信息添加至该目标网点对应的页面显示文件中(js数组)。
125.在一个实施例中,该数据查询方法还包括:
126.在所述目标终端是内网类型的情况下,执行所述根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群的步骤。
127.在确定发送目标预约请求的目标终端是外网类型的情况下,输出预加载库存信息,预加载库存信息是根据预设的库存额度分配策略确定的,或者,预加载库存信息是根据目标预约请求对应的目标网点对应的页面显示文件中获取到的。
128.具体地,目标终端可以包括位于内网的目标终端以及位于外网的目标终端。后台服务器接收到目标终端发送的目标预约请求的情况下,会获取该目标预约请求所携带的目标终端的标识信息,根据该标识信息确定该目标终端是位于内网,或者是位于外网。
129.可选地,后台服务器接收到目标终端发送的目标预约请求的情况下,会获取该目标预约请求对应的目标终端的网络地址信息,后台服务器可以根据该网络地址信息确定该目标终端是位于内网,或者是位于外网。
130.在后台服务器确定发送目标预约请求的目标终端是外网类型的情况下,后台服务器可以直接获取预加载库存信息,并将该预加载库存信息返回至目标终端,这样,目标终端可以在预约界面上显示该预加载库存信息。
131.可选地,该预加载库存信息可以是根据预设的库存额度分配策略确定的,或者,预加载库存信息是根据目标预约请求对应的目标网点对应的页面显示文件中获取到的。
132.以下,结合一个具体实施方式来描述上述实施例的数据查询方法的具体执行过程:为解决纪念币预约过程中剩余额度(库存信息)刷新不及时的问题。相关技术中是将数
据库中的网点的库存信息刷新到cdn,客户通过客户端访问cdn获取刷新后的库存信息,导致访问链路过长,延时过大,网点的库存信息显示不及时。本发明中提供的数据查询方法是,用户通过目标终端显示的预约界面进行预约位置信息(省份)以及预约类型信息的输入,目标终端响应于该输入操作,根据预设的js文件中存储的网点与redis集群对应关系,在该省份信息对应的redis集群范围内随机拼装请求连接,将预约位置信息以及预约类型信息(省份名称、币种和批次信息)进行上送,基于此获取预加载剩余额度信息。
133.可选地,目标对象的库存额度已经分配到指定省份和网点,具备分桶条件。为降低数据热点,提升系统并发吞吐能力,如图5所示,将目标对象额度按地区分桶,分成多个缓存桶,分别对应不同redis数据库,实现地区间库存数据的物理隔离。降低redis故障概率,单一地区发生故障,不影响其他地区预约。由于数据库读写改为异步更新模式,对传统关系型数据库的负载大大降低,仅部署在一台pc服务器上即可。
134.此外,如图6所示,可以启用redis主备模式,主备数据同步更新。为防止目标对象在现有高可用机制下出现超卖问题,采取redis主备数据同步复制机制,后台服务器(应用服务器)可以向proxy发送预约请求,该proxy基于该预约请求,可以更新该redis主节点的库存信息,由于采用主备数据同步复制机制,这样,则可以在该redis主节点对应的备节点上复制更新后的该redis主节点的库存信息,这样,redis主节点可以将更新后的该redis主节点的库存信息返回至proxy,这样,proxy可以将该更新后的该redis主节点的库存信息返回至后台服务器。这样,采用redis主节点基于以保证主备节点的数据强一致,rpo=0。在异常情况出现时,例如主节点故障,redis集群可以自动完成主备节点切换,由备节点接管服务。异常情况备节点故障,可以实现备节点自动隔离,防止交易报错。
135.可选的,该proxy可以是redis主节点的代理工具,接收后台服务器(客户端)发送的读写请求,根据所述读写请求确定目标redis,并将该读写请求发送至目标redis进行处理,得到处理结果,并将该处理结果返回至该后台服务器。这样,可以实现redis的高可用机制,一个proxy可以挂载主从redis两个节点,实现redis主节点异常时,对于备份节点的自动切换。
136.后台服务器判断目标终端是内网类型的终端还是外网类型的终端,如果后台服务器确定该目标终端是内网用户,那么用户还可以基于该目标终端,进行网点的选择操作,后台服务器可以响应于内网类型的用户在预约界面上对于网点的选择操作,确定目标网点,并拼接访问链接,基于该访问链接将地区号、网点号、币种、批次信息(预约位置信息以及预约类型信息)进行上送,用于刷新该目标网点的目标库存信息。
137.具体地,该目标网点的目标库存信息的刷新过程可以是:
138.步骤1,前台页面根据选择的省份信息、币种、批次、内外网请求信息,拼接请求链接(目标预约请求),向后台发起请求。
139.步骤2,判断请求tps/并发是否大于服务器发送该目标预约限流值,如果大于限流值,拒绝请求,预请求剩余额度失败,不做处理,页面不展示剩余额度。
140.步骤3,未超过限流值时,通过省份名称、币种、批次获取本地缓存信息。
141.步骤4,后台将结果返回前台页面。
142.步骤5,前台页面根据返回结果,更新对应网点的js数组中的剩余额度。
143.当请求来自内网时,执行如下逻辑。
144.前台页面根据选择的地区、网点、币种、批次、内外网请求信息,拼装,向后台发起请求,超时时间为1s;超时后页面不展示剩余额度,点击下一步不判断剩余额度。判断请求tps是否大于限流值,如果大于限流值,拒绝请求,预请求剩余额度失败,页面不展示剩余额度,点击下一步不判断剩余额度。未超过限流值时,获取当前集群名称,按照《”zone”+地区号+”bno”+批次号》规则拼接redis缓存中的key,根据拼接后的key获取将对应的缓存值。将查询结果返回前台页面。前台页面根据返回结果,更新对应网点的js数组中的剩余额度。选完三级网点后判断js数组中是否有剩余额度。有直接展示,没有等待请求回来后再显示。没显示时可以进入下一步。
145.可选地,当用户选择二级分行时,进行如下逻辑:
146.当用户点击二级分行时判断预查询请求是否返回查询结果。已经返回展示查询结果有剩余的二级分行。当查询结果无返回时,展示js文件中的二级分行信息。
147.可选地,当用户选择三级网点时,进行如下逻辑:
148.当选择三级网点预查询请求还未返回时,不展示剩余额度。当选择三级网点预查询请求有返回,展示预查询结果对应额度。如此时对应网点额度已为0,提示该网点余额已为0;这时用户再选择二级分行时,会按预查询结果将无额度的二级分行过滤掉。
149.本发明实施例提供的数据查询方法可以通过redis扣减库存成功即可向用户返回“预约已受理”完成页面,缩短交易时长、提升性能。同传统关系型数据库处理性能相比,预约时间减少80%,在服务器配置相同的前提下,系统吞吐能力提升3倍。用户通过redis实时查询预约剩余额度,解决更新延迟问题,提升客户预约体验。redis主备机数据强一致保证,并引入kafka实现关系型数据库异步同步,提升系统高可用能力和容灾能力。采用redis库存设计分桶原则,减少数据热点竞争,提升系统处理性能,并可最小化故障节点爆炸半径,减少故障节点业务影响。节省服务器资源投入,压缩传统关系型数据库服务器数量,相同处理能力的前提下,关系型数据库资源投入减少90%。
150.应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
151.在一个实施例中,提供了一种redis集群,redis集群用于根据预设的库存额度分配策略以及接收到的针对redis集群对应的网点的预约请求更新库存信息。
152.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据查询方法的数据查询装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据查询装置实施例中的具体限定可以参见上文中对于数据查询方法的限定,在此不再赘述。
153.在一个实施例中,如图7所示,提供了一种数据查询装置400,包括:
154.第一获取模块401,用于响应于目标终端发送的目标预约请求,获取目标预约请求中的预约类型信息以及预约位置信息;
155.第一确定模块402,用于根据预约类型信息以及预约位置信息,确定目标网点;
156.第二确定模块403,用于根据预设的redis集群与网点的对应关系,确定目标网点对应的目标redis集群,redis集群与各个网点一一对应,redis集群用于根据预设的库存额度分配策略以及接收到的针对redis集群对应的网点的预约请求更新库存信息;
157.第二获取模块404,用于在目标redis集群中,获取目标网点的目标库存信息,并输出目标库存信息。
158.在其中一个实施例中,所述装置还包括:
159.第一判断模块,用于判断所述目标预约请求的数量是否超过预设的并发请求数量;
160.第一执行模块,用于在所述预约请求的数量未超过所述预设的并发请求数量的情况下,执行所述根据所述预约类型信息以及预约位置信息,确定目标网点至所述在所述目标redis集群中,获取所述目标网点的目标库存信息,并输出所述目标库存信息的步骤;
161.第二执行模块,用于在所述预约请求的数量超过所述预设的并发请求数量的情况下,显示第一提示信息,所述第一提示信息用于提示当前业务繁忙。
162.在其中一个实施例中,所述预约请求还包括请求批次标识信息;
163.所述第二获取模块,具体用于:
164.获取所述目标redis集群的名称信息;
165.对所述目标redis集群的名称信息、所述目标网点对应的地区标识信息以及所述请求批次标识信息进行拼接处理,得到缓存索引信息;
166.在所述目标redis集群中,查询所述缓存索引信息对应的目标库存信息,作为所述目标网点的目标库存信息。
167.在其中一个实施例中,所述装置还包括:
168.报警提示信息生成模块,用于在基于所述缓存索引信息,在所述目标redis集群中,未查询到所述目标网点的目标库存信息的情况下,生成报警提示信息,并输出所述报警提示信息。
169.在其中一个实施例中,所述装置还包括:
170.添加模块,用于将所述目标网点的目标库存信息添加至所述目标网点对应的页面显示文件。
171.在其中一个实施例中,所述装置还包括:
172.第二判断模块,用于在所述目标终端是内网类型的情况下,执行步骤“根据预设的redis集群与网点的对应关系,确定所述目标网点对应的目标redis集群”;
173.在所述目标终端是外网类型的情况下,输出预加载库存信息,所述预加载库存信息是根据所述预设的库存额度分配策略为所述目标网点分配的,或者,所述预加载库存信息是根据所述目标预约请求对应的目标网点对应的页面显示文件中获取到的。
174.上述数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
175.在一个实施例中,提供了一种数据查询系统,数据查询系统包括后台服务器以及redis集群,其中:
access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
187.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
188.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1