本技术涉及大数据处理,尤其涉及一种数据查询方法、装置、设备及存储介质。
背景技术:
1、查询类交易是指用户或系统通过特定的查询操作,获取特定信息或数据的一类交易。这类交易在多个领域都有广泛的应用,特别是在金融、电商、物流等涉及大量数据处理和信息管理的行业中。其中,复杂场景交易的查询通常是在大量数据与动态变化的环境中进行查询操作,往往会因为系统响应速度慢而降低客户体验感。因此,提供一个高效的复杂场景交易查询方案成为首要处理的问题。
2、在现有技术中,通常采用redis缓存,在每次查询交易结束后,将响应结果存入redis缓存中,便于下次交易查询请求能够快速响应。
3、然而在实际应用过程中,大多数查询类交易并不只是简单的从数据库查询数据,并直接返回结果的过程。这类复杂场景查询交易的响应结果往往是大字段,占用内存空间比较大,若长时间进行缓存,则会导致redis缓存性能下降、响应速度低的问题。
技术实现思路
1、本技术提供一种数据查询方法、装置、设备及存储介质,用以解决现有技术中创建的大量的线程处于等待状态,使得任务处于空跑状态的问题。
2、第一方面,本技术提供一种数据查询方法,包括:
3、接收客户端发起的交易查询请求,所述交易查询请求包括:目标账户标识及交易类型;
4、若确定所述目标账户标识对应账户在最近预设时间段内未发生过资金类交易,则调用所述交易类型对应的交易接口,以获得预存的定时缓存表及对应的报文索引信息;所述定时缓存表的更新周期小于所述预设时间段且所述定时缓存表中存储发起交易查询请求次数大于预设次数的账户标识对应的交易报文数据;
5、若确定目标账户标识存在于所述报文索引信息中,则从所述定时缓存表中查询所述目标账户标识对应的交易报文数据,并对所述交易报文数据进行组装处理,以获得账单明细;
6、向所述客户端发送交易查询响应,所述交易查询响应包括所述账单明细。
7、在一种可能的设计中,所述预存的定时缓存表的配置步骤,包括:
8、获取配置信息,所述配置信息中包括:交易类型、数据筛选条件以及更新频率;
9、按照更新频率对应的更新周期周期性执行以下操作,以获得所述定时缓存表;
10、所述操作包括:
11、根据所述配置文件,调用所述交易类型对应的交易接口获取满足数据筛选条件的交易报文数据,并缓存到所述定时缓存表中。
12、在一种可能的设计中,所述调用所述交易类型对应的交易接口获取满足数据筛选条件的交易报文数据,包括:
13、调用所述交易类型对应的交易接口,以对所述交易接口对应的数据库中满足所述数据筛选条件的交易报文数据进行查询处理,以获得满足所述数据筛选条件的交易报文数据。
14、在一种可能的设计中,所述配置文件还包括缓存失效条件;所述方法还包括:
15、对所述定时缓存表中满足缓存失效条件的交易报文数据进行删除处理,以获得更新后的定时缓存表。
16、在一种可能的设计中,所述方法还包括:
17、若确定目标账户标识不存在于所述报文索引信息中,则调用所述交易接口对应的redis缓存表,以获得所述redis缓存表中存储的账户标识;
18、若确定所述目标账户标识存在于所述redis缓存表中存储的账户标识中,则从redis缓存表中查询所述目标账户标识对应的交易报文数据,并对所述交易报文数据进行组装处理,以获得账单明细。
19、在一种可能的设计中,所述方法还包括:
20、若确定所述目标账户标识未存在于所述redis缓存表中存储的账户标识中,则调用账单明细试算组件进行账单明细试算处理,以生成所述目标账户标识对应的账单明细;
21、响应于接收到的所述目标账户标识对应的账单明细,对所述账单明细进行解析处理,以获得所述账单明细对应的交易报文数据;
22、将所述交易报文数据存储至redis缓存表中。
23、第二方面,本技术提供一种数据查询装置,包括:
24、获取模块,用于接收客户端发起的交易查询请求,所述交易查询请求包括:目标账户标识及交易类型;
25、确定模块,用于若确定所述目标账户标识对应账户在最近预设时间段内未发生过资金类交易,则调用所述交易类型对应的交易接口,以获得预存的定时缓存表及对应的报文索引信息;
26、所述确定模块,用于若确定所述目标账户标识存在于所述报文索引信息中,则从所述定时缓存表中查询所述目标账户标识对应的交易报文数据,并对所述交易报文数据进行组装处理,以获得账单明细;
27、响应模块,用于向所述客户端发送交易查询响应,所述交易查询响应包括所述账单明细。
28、第三方面,本技术实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的数据查询方法。
29、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的数据查询方法。
30、第四方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的数据查询方法。
31、本技术提供的一种数据查询方法、装置、设备及存储介质,通过接收客户端的交易查询请求;根据交易查询请求中该账户的目标账户标识,确定该账户在最近预设时间段内是否发生过资金类交易。若发生过资金类交易,则调用与该交易查询请求中交易类型对应的交易接口,以获得预存的定时缓存表及对应的报文索引信息;其中,该预存的定时缓存表中存储发起交易查询请求次数大于预设次数的账户对应的交易报文数据,且定时缓存表的更新周期小于预设时间段;根据获取的报文索引信息,以判断目标账户标识是否存在于报文索引信息中。若该目标账户标识存在于报文索引信息中,则查询定时缓存表中目标账户标识对应的交易报文数据,并对交易报文数据进行组装处理,以获得账单明细;并将该账单明细作为交易查询响应发送至向客户端。相较于现有技术中仅通过redis缓存对该账户的交易报文数据进行缓存,若账户的交易报文数据发生改变,redis缓存中已缓存的交易报文数据无法直接使用,都需要进行重新对交易数据进行计算处理以及存储处理,从而导致计算量过大,redis缓存效果较差而言,本技术的方法通过预存定时数据库,将经常发起交易查询请求的账户的交易数据以交易报文数据存储至预存的定时缓存表,且定时缓存表的更新周期小于预设时间段,以保证定时缓存表中的交易报文数据为预设时间内最新的交易报文数据,从而在有最近预设时间段内未发生过资金类交易账户进行账单查询时,优先确定在预存的定时缓存表中是否存储了该账户的交易报文数据,并在存在时,从定时缓存表中查询该账户的交易报文数据,获得账单明细,有效提高交易查询的响应速度,并缓解redis缓存压力,避免redis缓存长时间缓存导致的redis缓存性能下降。
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述预存的定时缓存表的配置步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述调用所述交易类型对应的交易接口获取满足数据筛选条件的交易报文数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述配置文件还包括缓存失效条件;所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求5所述的方法,其特征在于,还包括:
7.一种数据查询装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
