CN112685634A - 数据查询方法、装置、电子设备及存储介质 - Google Patents

数据查询方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112685634A
CN112685634A CN202011599954.0A CN202011599954A CN112685634A CN 112685634 A CN112685634 A CN 112685634A CN 202011599954 A CN202011599954 A CN 202011599954A CN 112685634 A CN112685634 A CN 112685634A
Authority
CN
China
Prior art keywords
data
query
hot spot
caching
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011599954.0A
Other languages
English (en)
Inventor
李佳任
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011599954.0A priority Critical patent/CN112685634A/zh
Publication of CN112685634A publication Critical patent/CN112685634A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及人工智能技术领域,提供一种数据查询方法、装置、电子设备及存储介质,所述方法包括:发送多个第一数据查询请求至第二系统;接收所述第二系统发送的多个热点数据;基于多个热点数据生成多个缓存策略,并根据每个缓存策略对对应的热点数据进行缓存,得到缓存结果;当接收到用户的第二数据查询请求时,解析第二数据查询请求获得至少一个关键字段;查询缓存结果中是否存在至少一个关键字段;当缓存结果中存在至少一个关键字段时,获取至少一个关键字段对应的查询结果。本发明通过查询缓存结果中是否存在所述至少一个关键字段,根据查询结果确定用户请求的查询数据是否预先已经缓存,提高了数据查询效率。

Description

数据查询方法、装置、电子设备及存储介质
技术领域
本发明涉及人工智能技术领域,具体涉及一种数据查询方法、装置、电子设备及存储介质。
背景技术
进件系统是进件流程最前端的一个系统,起到承上启下的作用,用户通过进件系统进行数据查询过程中,现有技术需要实时向多个数据查询系统发送多个数据查询请求,接收每个数据查询系统返回的查询结果,但是每个数据查询系统接收到的数据查询请求的数量不同,在进行列表数据查询时查询耗时较长,返回查询结果的响应时间较长,导致数据查询效率低下,准确率不高。
发明内容
鉴于以上内容,有必要提出一种数据查询方法、装置、电子设备及存储介质,通过查询所述缓存结果中是否存在所述至少一个关键字段,根据查询结果确定用户请求的查询数据是否预先已经缓存,提高了数据查询效率。
本发明的第一方面提供一种数据查询方法,应用于第一系统,所述方法包括:
发送多个第一数据查询请求至第二系统;
接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;
基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;
当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;
查询所述缓存结果中是否存在所述至少一个关键字段;
当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
可选地,所述基于所述多个热点数据生成多个缓存策略包括:
获取每个热点数据的所有目标属性信息;
依据缓存策略生成算法对每个所述目标属性信息进行处理,生成每个热点数据的缓存策略。
可选地,所述发送多个第一数据查询请求至第二系统包括:
解析每个第一数据查询请求获取对应的调用接口;
根据每个第一数据查询请求及对应的调用接口组成查询环节调用接口列表;
将所述查询环节调用接口列表中每个调用接口分别对应的第一数据查询请求发送至所述第二系统。
可选地,所述根据每个所述缓存策略对对应的热点数据进行缓存包括:
获取每个热点数据对应的缓存策略;
关联每个热点数据及每个热点数据对应的所有目标属性信息;
将关联后的每个热点数据按照所述对应的缓存策略缓存至所述第一系统的内存中。
可选地,所述方法还包括:
当接收到所述第二系统发送的异步更新数据通知时,从所述异步更新数据通知中获取待更新数据的识别码;
判断所述缓存结果中是否存在所述待更新数据的识别码;
当所述缓存结果中存在所述待更新数据的识别码时,确定所述待更新数据未更新,并将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据;或者
当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
本发明的第二方面提供一种数据查询方法,应用于第二系统,所述方法包括:
响应于接收到的多个第一数据查询请求获取多条待查询数据及每条待查询数据对应的热点数据识别模型;
将每条所述待查询数据输入至对应的热点数据识别模型中获得多个热点数据。
可选地,所述热点数据识别模型的训练过程包括:
获取多条历史查询数据及每条历史查询数据的筛选策略;
将所述多条历史查询数据及每条历史查询数据的筛选策略作为样本数据集;
从所述样本数据集中划分出训练集和测试集;
将所述训练集输入预设神经网络中进行训练,得到热点数据识别模型;
将所述测试集输入至所述热点数据识别模型中进行测试,并计算测试通过率;
当所述测试通过率大于或者等于预设通过率阈值时,结束所述热点数据识别模型的训练;当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量,重新进行热点数据识别模型的训练。
本发明的第三方面提供一种数据查询装置,应用于第一系统,所述装置包括:
发送模块,用于发送多个第一数据查询请求至第二系统;
接收模块,用于接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;
生成模块,用于基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;
解析模块,用于当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;
查询模块,用于查询所述缓存结果中是否存在所述至少一个关键字段;
获取模块,用于当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
本发明的第四方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据查询方法。
本发明的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据查询方法。
综上所述,本发明所述的数据查询方法、装置、电子设备及存储介质,一方面,通过当所述缓存结果中存在所述至少一个关键字段时,确定用户请求的查询数据预先已经缓存了,直接从所述缓存结果中获取所述至少一个关键字段对应的查询结果,不需要向所述第二系统发送数据查询请求,等待所述第二系统返回查询结果,提高了数据查询效率;另一方面,通过所述第二系统实时发送异步更新数据通知至所述第一系统,确保所述第一系统中的缓存结果中的数据的实时性,避免因第二系统中的数据已更新而缓存结果中的数据未同步更新的现象,提高了进件系统查询得到的查询结果的准确率;最后,通过所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对所述对应的热点数据进行缓存,得到缓存结果,由于所述热点数据是通过不断的增加历史数据更新热点数据识别模型,获取所述热点数据识别模型输出的多个热点数据,并基于所述多个热点数据生成多个缓存策略进行缓存多个热点数据,提高了缓存的命中率。
附图说明
图1是本发明实施例一提供的数据查询方法的流程图。
图2是本发明实施例二提供的数据查询装置的结构图。
图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1是本发明实施例一提供的数据查询方法的流程图。
在本实施例中,所述数据查询方法可以应用于电子设备中,应用于第一系统,对于需要进行数据查询的电子设备,可以直接在电子设备上集成本发明的方法所提供的数据查询的功能,或者以软件开发工具包(Software Development Kit,SKD)的形式运行在电子设备中。
如图1所示,所述数据查询方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,发送多个第一数据查询请求至第二系统。
本实施例中,第一系统可以为进件系统,具体地,当用户在所述进件系统中查询数据时,所述进件系统将接收到的多个第一数据查询请求分别发送至对应的第二系统中去获取数据,具体地,第二系统可以为业务系统。
可选地,所述发送多个第一数据查询请求至第二系统包括:
解析每个第一数据查询请求获取对应的调用接口;
根据每个第一数据查询请求及对应的调用接口组成查询环节调用接口列表;
将所述查询环节调用接口列表中每个调用接口分别对应的第一数据查询请求发送至所述第二系统。
本实施例中,由于每个第一数据查询请求对应的调用接口不同,每个调用接口对应的第二系统也不同,在接收到发送的多个第一数据查询请求时,解析所述每个第一数据查询请求获取对应的调用接口,将所述多个第一数据查询请求及每个第一数据查询请求对应的调用接口组成查询环节调用接口列表,根据所述查询环节调用接口列表,将每个调用接口对应的第一数据查询请求发送至所述第二系统。
在其他一些实施例中,所述第二系统可以包括多个,当所述第二系统包括多个时,可以根据所述查询环节调用接口列表中的排序依次将每个调用接口对应的第一数据查询请求发送至对应的第二系统,避免出现第一数据查询请求未发送的现象,提高了所述第一数据查询请求的发送效率及准确率。
S12,接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的。
本实施例中,当所述第一系统将多个所述第一数据查询请求分别发送至所述多个第二系统之后,所述第一系统接收每个所述第二系统上报的多个热点数据。
可选地,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的包括:
响应于接收到的多个第一数据查询请求获取多条待查询数据及每条待查询数据对应的热点数据识别模型;
将每条所述待查询数据输入至对应的热点数据识别模型中获得多个热点数据。
本实施例中,可以预先训练热点数据识别模型,在所述第二系统获取用户的第一数据查询请求时,进行所述第一数据查询请求获取多条待查询数据,将每条所述待查询数据输入至对应的预先训练好的热点数据识别模型中进行识别,得到每条待查询数据对应的热点数据。
具体地,所述热点数据识别模型的训练过程包括:
21)获取多条历史查询数据及每条历史查询数据的筛选策略;
22)将所述多条历史查询数据及每条历史查询数据的筛选策略作为样本数据集;
23)从所述样本数据集中划分出训练集和测试集;
24)将所述训练集输入预设神经网络中进行训练,得到热点数据识别模型;
25)将所述测试集输入至所述热点数据识别模型中进行测试,并计算测试通过率;
26)当所述测试通过率大于或者等于预设通过率阈值时,结束所述热点数据识别模型的训练;当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量,重新进行热点数据识别模型的训练。
本实施例中,获取多条历史查询数据及每条历史查询数据的筛选策略,具体地,所述筛选策略可以预先根据业务需求进行设置,也可以根据用户的查询偏好进行设置,将所述多条历史查询数据及每条历史查询数据的筛选策略输入至热点数据识别模型,识别出每条历史查询数据对应的多个热点数据,并且在后续的预测过程中,将每条查询数据及对应的筛选策略作为新的数据,以增加所述数据集的数量,并基于新的数据集来重新训练热点数据识别模型,及不断的更新热点数据识别模型,从而不断的提高热点数据识别率,进而提高了缓存的命中率。
本实施例中,由于在进行数据查询时,所述第二系统是从正常列表返回值内根据筛选策略匹配部分数据,在操作频次上要低于列表查询,提高了数据查询的效率。
S13,基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对所述对应的热点数据进行缓存,得到缓存结果。
本实施例中,所述每个缓存策略都是根据每个热点数据生成的,针对每个热点数据采用对应的缓存策略进行缓存,得到缓存结果。
本实施例中,由于所述热点数据是通过不断的增加历史数据更新热点数据识别模型,获取所述热点数据识别模型输出的多个热点数据,并基于所述多个热点数据生成多个缓存策略进行缓存多个热点数据,提高了缓存的命中率。
可选地,所述基于所述多个热点数据生成缓存策略包括:
获取每个热点数据的所有目标属性信息;
依据缓存策略生成算法对每个所述目标属性信息进行处理,生成每个热点数据的缓存策略。
具体地,所述目标属性信息包括,但不限于以下一种或者多种组合:
筛选条件;
失效时间。
本实施例中,每个热点数据中包含有至少一个目标属性信息,基于每个热点数据中的目标属性信息采用缓存策略生成算法进行处理,生成每个所述热点数据的缓存策略,具体地,所述缓存策略生成算法是依据每个热点数据中包含的目标属性信息进行生成的,例如,若所述热点数据中包括筛选条件但未包含失效时间,针对所述筛选条件生成所述热点数据的缓存策略,具体地,所述缓存策略为由于所述热点数据包含有筛选条件,则为所述热点数据设置失效时间,并且设置的失效时间比不包含筛选条件的热点数据的失效时间短,根据失效时间进行缓存结果中缓存数据的失效。
示例性的,在进行缓存策略的生成过程中,若热点数据对应的所有目标属性信息包括的筛选条件为:分页预加载30页,若将所有数据都保存在数据缓存结果中,数量太多,只能缓存部分页数据,需要根据筛选条件依据缓存策略生成算法对进行处理,生成所述热点数据的缓存策略,确定加载的页数。
本实施例中,由于缓存越多越快,内存占用越大;缓存越少越慢,内存占用越少,从正常列表返回值内根据筛选条件匹配部分数据,在操作频次上要低于列表查询,同时通过短失效时间配合,减少缓存结果中缓存数据的存在时间,可以减少缓存时间,这样就可以减少缓存结果中这些筛选数据的内存占用,达到资源和速度的平衡,提高了缓存效率。
进一步地,所述根据每个所述缓存策略对对应的热点数据进行缓存包括:
获取每个热点数据对应的缓存策略;
关联每个热点数据及每个热点数据对应的所有目标属性信息;
将关联后的每个热点数据按照所述对应的缓存策略缓存至所述第一系统的内存中。
进一步地,在得到缓存结果之后,所述方法还包括:
当接收到第二系统发送的异步更新数据通知时,从所述异步更新数据通知中获取待更新数据的识别码;
判断所述缓存结果中是否存在所述待更新数据的识别码;
当所述缓存结果中存在所述待更新数据的识别码时,确定所述待更新数据未更新,并将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据;
当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
本实施例中,由于所述第二系统中的数据会实时进行更新,当将所述第二系统中的数据缓存至所述第一系统时,无法及时获知缓存结果中的数据是否为最新数据,故通过所述第二系统发送异步更新数据通知至所述第一系统,当所述第一系统接收到所述第二系统发送的异步更新数据通知时,根据所述异步更新数据通知中的待更新数据的识别码判断所述缓存结果中的数据是否为最新数据,具体地,当在所述缓存结果中存在所述识别码时,确定所述缓存结果中的所述识别码对应的热点数据关联的待查询数据没有更新,将所述热点数据对应的待查询数据更新为最新数据;当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
本实施例中,通过所述第二系统实时发送异步更新数据通知至所述第一系统,确保所述第一系统中的缓存结果中的数据的实时性,避免因第二系统中的数据已更新而缓存结果中的数据未同步更新的现象,提高了进件系统查询得到的查询结果的准确率。
本实施例中,通过直接将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据,失效原始数据,减少了缓存中冗余数据的数量,提高了缓存数据的效率。
S14,当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段。
本实施例中,用户在进行数据查询时,向所述第一系统发送第二数据查询请求,具体地,所述第二数据查询强求中包含有待查询数据对应的至少一个关键字段。
S15,查询所述缓存结果中是否存在所述至少一个关键字段。
本实施例中,由于所述第一系统预先将多个热点数据及每个热点数据对应的所有目标属性信息缓存至所述内存中,故在用户发送所述第二数据查询请求查询数据时,只需要判断所述缓存结果中是否存在所述第二数据查询请求中的关键字段,根据判断结果快速的响应用户,提高了数据查询的效率。
S16,当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
本实施例中,所述缓存结果中的数据是所述第一系统预加载的数据,具体地,所述预加载的数据是指所述第一系统对用户的历史查询数据进行分析得到的多个热点数据,对所述热点数据关联的数据进行缓存至所述第一系统的内存中,便于用户进行查询,当所述缓存结果中存在所述至少一个关键字段时,确定所述至少一个关键字段对应的待查询数据已经缓存到了所述第一系统中,直接在所述第一系统的内存中获取所述至少一个关键字段对应的待查询数据,将所述待查询数据作为所述至少一个关键字段对应的查询结果,提高了数据查询的效率及准确率,进而提高了用户的满意度。
进一步,所述方法还包括:
将所述查询结果返回至所述用户。
进一步地,所述方法还包括:
当所述缓存结果中不存在所述多个关键字段时,识别所述第二数据查询请求中的调用接口;
启动所述调用接口将所述第二数据查询请求发送至对应的第二系统;
接收所述第二数据查询请求对应的第二系统上报的目标查询结果,并将所述目标查询结果发送至所述用户。
本实施例中,当所述缓存结果中存在所述至少一个关键字段时,确定用户请求的查询数据预先已经缓存了,直接从所述缓存结果中获取所述至少一个关键字段对应的查询结果,不需要向所述第二系统发送数据查询请求,等待所述第二系统返回查询结果,提高了数据查询效率。
综上所述,本实施例所述的数据查询方法,通过发送多个第一数据查询请求至第二系统;接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;查询所述缓存结果中是否存在所述至少一个关键字段;当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
本实施例,一方面,通过当所述缓存结果中存在所述至少一个关键字段时,确定用户请求的查询数据预先已经缓存了,直接从所述缓存结果中获取所述至少一个关键字段对应的查询结果,不需要向所述第二系统发送数据查询请求,等待所述第二系统返回查询结果,提高了数据查询效率;另一方面,通过所述第二系统实时发送异步更新数据通知至所述第一系统,确保所述第一系统中的缓存结果中的数据的实时性,避免因第二系统中的数据已更新而缓存结果中的数据未同步更新的现象,提高了进件系统查询得到的查询结果的准确率;最后,通过所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对所述对应的热点数据进行缓存,得到缓存结果,由于所述热点数据是通过不断的增加历史数据更新热点数据识别模型,获取所述热点数据识别模型输出的多个热点数据,并基于所述多个热点数据生成多个缓存策略进行缓存多个热点数据,提高了缓存的命中率。
实施例二
图2是本发明实施例二提供的数据查询装置的结构图。
在一些实施例中,所述数据查询装置20可以包括多个由程序代码段所组成的功能模块。所述数据查询装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)数据查询的功能。
本实施例中,所述数据查询装置20运行于第一系统,根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:发送模块201、接收模块202、生成模块203、解析模块204、查询模块205、获取模块206及识别模块207。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
发送模块201,用于发送多个第一数据查询请求至第二系统。
本实施例中,第一系统可以为进件系统,具体地,当用户在所述进件系统中查询数据时,所述进件系统将接收到的多个第一数据查询请求分别发送至对应的第二系统中去获取数据,具体地,第二系统可以为业务系统。
可选地,所述发送模块201发送多个第一数据查询请求至第二系统包括:
解析每个第一数据查询请求获取对应的调用接口;
根据每个第一数据查询请求及对应的调用接口组成查询环节调用接口列表;
将所述查询环节调用接口列表中每个调用接口分别对应的第一数据查询请求发送至所述第二系统。
本实施例中,由于每个第一数据查询请求对应的调用接口不同,每个调用接口对应的第二系统也不同,在接收到发送的多个第一数据查询请求时,解析所述每个第一数据查询请求获取对应的调用接口,将所述多个第一数据查询请求及每个第一数据查询请求对应的调用接口组成查询环节调用接口列表,根据所述查询环节调用接口列表,将每个调用接口对应的第一数据查询请求发送至所述第二系统。
在其他一些实施例中,所述第二系统可以包括多个,当所述第二系统包括多个时,可以根据所述查询环节调用接口列表中的排序依次将每个调用接口对应的第一数据查询请求发送至对应的第二系统,避免出现第一数据查询请求未发送的现象,提高了所述第一数据查询请求的发送效率及准确率。
接收模块202,用于接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的。
本实施例中,当所述第一系统将多个所述第一数据查询请求分别发送至所述多个第二系统之后,所述第一系统接收每个所述第二系统上报的多个热点数据。
可选地,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的包括:
响应于接收到的多个第一数据查询请求获取多条待查询数据及每条待查询数据对应的热点数据识别模型;
将每条所述待查询数据输入至对应的热点数据识别模型中获得多个热点数据。
本实施例中,可以预先训练热点数据识别模型,在所述第二系统获取用户的第一数据查询请求时,进行所述第一数据查询请求获取多条待查询数据,将每条所述待查询数据输入至对应的预先训练好的热点数据识别模型中进行识别,得到每条待查询数据对应的热点数据。
具体地,所述热点数据识别模型的训练过程包括:
21)获取多条历史查询数据及每条历史查询数据的筛选策略;
22)将所述多条历史查询数据及每条历史查询数据的筛选策略作为样本数据集;
23)从所述样本数据集中划分出训练集和测试集;
24)将所述训练集输入预设神经网络中进行训练,得到热点数据识别模型;
25)将所述测试集输入至所述热点数据识别模型中进行测试,并计算测试通过率;
26)当所述测试通过率大于或者等于预设通过率阈值时,结束所述热点数据识别模型的训练;当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量,重新进行热点数据识别模型的训练。
本实施例中,获取多条历史查询数据及每条历史查询数据的筛选策略,具体地,所述筛选策略可以预先根据业务需求进行设置,也可以根据用户的查询偏好进行设置,将所述多条历史查询数据及每条历史查询数据的筛选策略输入至热点数据识别模型,识别出每条历史查询数据对应的多个热点数据,并且在后续的预测过程中,将每条查询数据及对应的筛选策略作为新的数据,以增加所述数据集的数量,并基于新的数据集来重新训练热点数据识别模型,及不断的更新热点数据识别模型,从而不断的提高热点数据识别率,进而提高了缓存的命中率。
本实施例中,由于在进行数据查询时,所述第二系统是从正常列表返回值内根据筛选策略匹配部分数据,在操作频次上要低于列表查询,提高了数据查询的效率。
生成模块203,用于基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对所述对应的热点数据进行缓存,得到缓存结果。
本实施例中,所述每个缓存策略都是根据每个热点数据生成的,针对每个热点数据采用对应的缓存策略进行缓存,得到缓存结果。
本实施例中,由于所述热点数据是通过不断的增加历史数据更新热点数据识别模型,获取所述热点数据识别模型输出的多个热点数据,并基于所述多个热点数据生成多个缓存策略进行缓存多个热点数据,提高了缓存的命中率。
可选地,所述生成模块203基于所述多个热点数据生成缓存策略包括:
获取每个热点数据的所有目标属性信息;
依据缓存策略生成算法对每个所述目标属性信息进行处理,生成每个热点数据的缓存策略。
具体地,所述目标属性信息包括,但不限于以下一种或者多种组合:
筛选条件;
失效时间。
本实施例中,每个热点数据中包含有至少一个目标属性信息,基于每个热点数据中的目标属性信息采用缓存策略生成算法进行处理,生成每个所述热点数据的缓存策略,具体地,所述缓存策略生成算法是依据每个热点数据中包含的目标属性信息进行生成的,例如,若所述热点数据中包括筛选条件但未包含失效时间,针对所述筛选条件生成所述热点数据的缓存策略,具体地,所述缓存策略为由于所述热点数据包含有筛选条件,则为所述热点数据设置失效时间,并且设置的失效时间比不包含筛选条件的热点数据的失效时间短,根据失效时间进行缓存结果中缓存数据的失效。
示例性的,在进行缓存策略的生成过程中,若热点数据对应的所有目标属性信息包括的筛选条件为:分页预加载30页,若将所有数据都保存在数据缓存结果中,数量太多,只能缓存部分页数据,需要根据筛选条件依据缓存策略生成算法对进行处理,生成所述热点数据的缓存策略,确定加载的页数。
本实施例中,由于缓存越多越快,内存占用越大;缓存越少越慢,内存占用越少,从正常列表返回值内根据筛选条件匹配部分数据,在操作频次上要低于列表查询,同时通过短失效时间配合,减少缓存结果中缓存数据的存在时间,可以减少缓存时间,这样就可以减少缓存结果中这些筛选数据的内存占用,达到资源和速度的平衡,提高了缓存效率。
进一步地,所述生成模块203根据每个所述缓存策略对对应的热点数据进行缓存包括:
获取每个热点数据对应的缓存策略;
关联每个热点数据及每个热点数据对应的所有目标属性信息;
将关联后的每个热点数据按照所述对应的缓存策略缓存至所述第一系统的内存中。
进一步地,在得到缓存结果之后,当接收到第二系统发送的异步更新数据通知时,从所述异步更新数据通知中获取待更新数据的识别码;判断所述缓存结果中是否存在所述待更新数据的识别码;当所述缓存结果中存在所述待更新数据的识别码时,确定所述待更新数据未更新,并将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据;当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
本实施例中,由于所述第二系统中的数据会实时进行更新,当将所述第二系统中的数据缓存至所述第一系统时,无法及时获知缓存结果中的数据是否为最新数据,故通过所述第二系统发送异步更新数据通知至所述第一系统,当所述第一系统接收到所述第二系统发送的异步更新数据通知时,根据所述异步更新数据通知中的待更新数据的识别码判断所述缓存结果中的数据是否为最新数据,具体地,当在所述缓存结果中存在所述识别码时,确定所述缓存结果中的所述识别码对应的热点数据关联的待查询数据没有更新,将所述热点数据对应的待查询数据更新为最新数据;当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
本实施例中,通过所述第二系统实时发送异步更新数据通知至所述第一系统,确保所述第一系统中的缓存结果中的数据的实时性,避免因第二系统中的数据已更新而缓存结果中的数据未同步更新的现象,提高了进件系统查询得到的查询结果的准确率。
本实施例中,通过直接将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据,失效原始数据,减少了缓存中冗余数据的数量,提高了缓存数据的效率。
解析模块204,用于当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段。
本实施例中,用户在进行数据查询时,向所述第一系统发送第二数据查询请求,具体地,所述第二数据查询强求中包含有待查询数据对应的至少一个关键字段。
查询模块205,用于查询所述缓存结果中是否存在所述至少一个关键字段。
本实施例中,由于所述第一系统预先将多个热点数据及每个热点数据对应的所有目标属性信息缓存至所述内存中,故在用户发送所述第二数据查询请求查询数据时,只需要判断所述缓存结果中是否存在所述第二数据查询请求中的关键字段,根据判断结果快速的响应用户,提高了数据查询的效率。
获取模块206,用于当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
本实施例中,所述缓存结果中的数据是所述第一系统预加载的数据,具体地,所述预加载的数据是指所述第一系统对用户的历史查询数据进行分析得到的多个热点数据,对所述热点数据关联的数据进行缓存至所述第一系统的内存中,便于用户进行查询,当所述缓存结果中存在所述至少一个关键字段时,确定所述至少一个关键字段对应的待查询数据已经缓存到了所述第一系统中,直接在所述第一系统的内存中获取所述至少一个关键字段对应的待查询数据,将所述待查询数据作为所述至少一个关键字段对应的查询结果,提高了数据查询的效率及准确率,进而提高了用户的满意度。
进一步,将所述查询结果返回至所述用户。
进一步地,识别模块207,用于当所述缓存结果中不存在所述多个关键字段时,识别所述第二数据查询请求中的调用接口;启动所述调用接口将所述第二数据查询请求发送至对应的第二系统;接收所述第二数据查询请求对应的第二系统上报的目标查询结果,并将所述目标查询结果发送至所述用户。
本实施例中,当所述缓存结果中存在所述至少一个关键字段时,确定用户请求的查询数据预先已经缓存了,直接从所述缓存结果中获取所述至少一个关键字段对应的查询结果,不需要向所述第二系统发送数据查询请求,等待所述第二系统返回查询结果,提高了数据查询效率。
综上所述,本实施例所述的数据查询装置,通过发送多个第一数据查询请求至第二系统;接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;查询所述缓存结果中是否存在所述至少一个关键字段;当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
本实施例,一方面,通过当所述缓存结果中存在所述至少一个关键字段时,确定用户请求的查询数据预先已经缓存了,直接从所述缓存结果中获取所述至少一个关键字段对应的查询结果,不需要向所述第二系统发送数据查询请求,等待所述第二系统返回查询结果,提高了数据查询效率;另一方面,通过所述第二系统实时发送异步更新数据通知至所述第一系统,确保所述第一系统中的缓存结果中的数据的实时性,避免因第二系统中的数据已更新而缓存结果中的数据未同步更新的现象,提高了进件系统查询得到的查询结果的准确率;最后,通过所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对所述对应的热点数据进行缓存,得到缓存结果,由于所述热点数据是通过不断的增加历史数据更新热点数据识别模型,获取所述热点数据识别模型输出的多个热点数据,并基于所述多个热点数据生成多个缓存策略进行缓存多个热点数据,提高了缓存的命中率。
实施例三
参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的数据查询装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(Control Unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选地,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的数据查询装置20)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到数据查询的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现数据查询的功能。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种数据查询方法,应用于第一系统,其特征在于,所述方法包括:
发送多个第一数据查询请求至第二系统;
接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;
基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;
当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;
查询所述缓存结果中是否存在所述至少一个关键字段;
当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
2.如权利要求1所述的数据查询方法,其特征在于,所述基于所述多个热点数据生成多个缓存策略包括:
获取每个热点数据的所有目标属性信息;
依据缓存策略生成算法对每个所述目标属性信息进行处理,生成每个热点数据的缓存策略。
3.如权利要求1所述的数据查询方法,其特征在于,所述发送多个第一数据查询请求至第二系统包括:
解析每个第一数据查询请求获取对应的调用接口;
根据每个第一数据查询请求及对应的调用接口组成查询环节调用接口列表;
将所述查询环节调用接口列表中每个调用接口分别对应的第一数据查询请求发送至所述第二系统。
4.如权利要求1所述的数据查询方法,其特征在于,所述根据每个所述缓存策略对对应的热点数据进行缓存包括:
获取每个热点数据对应的缓存策略;
关联每个热点数据及每个热点数据对应的所有目标属性信息;
将关联后的每个热点数据按照所述对应的缓存策略缓存至所述第一系统的内存中。
5.如权利要求4所述的数据查询方法,其特征在于,所述方法还包括:
当接收到所述第二系统发送的异步更新数据通知时,从所述异步更新数据通知中获取待更新数据的识别码;
判断所述缓存结果中是否存在所述待更新数据的识别码;
当所述缓存结果中存在所述待更新数据的识别码时,确定所述待更新数据未更新,并将所述待更新数据的识别码对应的热点数据关联的待查询数据更新为最新数据;或者
当所述缓存结果中不存在所述待更新数据的识别码时,确定所述待更新数据已更新。
6.一种数据查询方法,应用于第二系统,其特征在于,所述方法包括:
响应于接收到的多个第一数据查询请求获取多条待查询数据及每条待查询数据对应的热点数据识别模型;
将每条所述待查询数据输入至对应的热点数据识别模型中获得多个热点数据。
7.如权利要求6所述的数据查询方法,其特征在于,所述热点数据识别模型的训练过程包括:
获取多条历史查询数据及每条历史查询数据的筛选策略;
将所述多条历史查询数据及每条历史查询数据的筛选策略作为样本数据集;
从所述样本数据集中划分出训练集和测试集;
将所述训练集输入预设神经网络中进行训练,得到热点数据识别模型;
将所述测试集输入至所述热点数据识别模型中进行测试,并计算测试通过率;
当所述测试通过率大于或者等于预设通过率阈值时,结束所述热点数据识别模型的训练;当所述测试通过率小于所述预设通过率阈值时,增加所述训练集的数量,重新进行热点数据识别模型的训练。
8.一种数据查询装置,应用于第一系统,其特征在于,所述装置包括:
发送模块,用于发送多个第一数据查询请求至第二系统;
接收模块,用于接收所述第二系统发送的多个热点数据,其中,所述多个热点数据是所述第二系统根据所述多个第一数据查询请求后获得的;
生成模块,用于基于所述多个热点数据生成多个缓存策略,并根据每个所述缓存策略对对应的热点数据进行缓存,得到缓存结果;
解析模块,用于当接收到用户的第二数据查询请求时,解析所述第二数据查询请求获得至少一个关键字段;
查询模块,用于查询所述缓存结果中是否存在所述至少一个关键字段;
获取模块,用于当所述缓存结果中存在所述至少一个关键字段时,获取所述至少一个关键字段对应的查询结果。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至5中任意一项或如权利要求6和7中任意一项所述的数据查询方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项或如权利要求6和7中任意一项所述的数据查询方法。
CN202011599954.0A 2020-12-29 2020-12-29 数据查询方法、装置、电子设备及存储介质 Pending CN112685634A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011599954.0A CN112685634A (zh) 2020-12-29 2020-12-29 数据查询方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011599954.0A CN112685634A (zh) 2020-12-29 2020-12-29 数据查询方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112685634A true CN112685634A (zh) 2021-04-20

Family

ID=75454311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011599954.0A Pending CN112685634A (zh) 2020-12-29 2020-12-29 数据查询方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112685634A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023046059A1 (zh) * 2021-09-24 2023-03-30 中国第一汽车股份有限公司 缓存预热方法、装置、计算机设备和存储介质
CN118672806A (zh) * 2024-08-16 2024-09-20 深圳润世华软件和信息技术服务有限公司 多项目数据缓存方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388374A (zh) * 2011-09-28 2012-03-21 华为技术有限公司 存储数据的方法和装置
CN104123238A (zh) * 2014-06-30 2014-10-29 海视云(北京)科技有限公司 数据存储方法及装置
CN108932288A (zh) * 2018-05-22 2018-12-04 广东技术师范学院 一种基于Hadoop的海量小文件缓存方法
CN109101580A (zh) * 2018-07-20 2018-12-28 北京北信源信息安全技术有限公司 一种基于Redis的热点数据缓存方法和装置
CN111291079A (zh) * 2020-02-20 2020-06-16 京东数字科技控股有限公司 一种数据的查询方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388374A (zh) * 2011-09-28 2012-03-21 华为技术有限公司 存储数据的方法和装置
CN104123238A (zh) * 2014-06-30 2014-10-29 海视云(北京)科技有限公司 数据存储方法及装置
CN108932288A (zh) * 2018-05-22 2018-12-04 广东技术师范学院 一种基于Hadoop的海量小文件缓存方法
CN109101580A (zh) * 2018-07-20 2018-12-28 北京北信源信息安全技术有限公司 一种基于Redis的热点数据缓存方法和装置
CN111291079A (zh) * 2020-02-20 2020-06-16 京东数字科技控股有限公司 一种数据的查询方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023046059A1 (zh) * 2021-09-24 2023-03-30 中国第一汽车股份有限公司 缓存预热方法、装置、计算机设备和存储介质
CN118672806A (zh) * 2024-08-16 2024-09-20 深圳润世华软件和信息技术服务有限公司 多项目数据缓存方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
WO2021143155A1 (zh) 模型训练方法及装置
CA3137748C (en) Method and apparatus for determining configuration knob of database
CN109614347B (zh) 多级缓存数据的处理方法、装置、存储介质及服务器
CN112685634A (zh) 数据查询方法、装置、电子设备及存储介质
CN104202373A (zh) 移动云计算迁移方法及系统
CN108090153A (zh) 一种搜索方法、装置、电子设备及存储介质
CN107239339A (zh) 系统性能优化参数确定方法、系统性能优化方法及装置
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
CN113835874A (zh) 深度学习业务调度方法、系统、终端及存储介质
CN113849532A (zh) 缓存预热方法、装置、计算机设备和存储介质
CN111475764A (zh) 搜索引擎优化方法、装置、终端及存储介质
CN113256108A (zh) 人力资源分配方法、装置、电子设备及存储介质
CN111178568B (zh) 业务预约请求的处理方法、装置、服务器和存储介质
CN113379391A (zh) 工单处理方法、装置、电子设备及计算机可读存储介质
CN113435582A (zh) 基于句向量预训练模型的文本处理方法及相关设备
WO2023040145A1 (zh) 基于人工智能的文本分类方法、装置、电子设备及介质
KR102476620B1 (ko) 캐시 자동제어 시스템
CN111209333B (zh) 数据更新方法、装置、终端及存储介质
CN113139381A (zh) 不均衡样本分类方法、装置、电子设备及存储介质
CN116136879A (zh) 搜索方法、装置、设备和存储介质
CN113051383A (zh) Faq知识库管理方法、装置、电子设备及存储介质
CN116108065A (zh) 一种主动式时序数据管理方法及系统
CN115168509A (zh) 风控数据的处理方法及装置、存储介质、计算机设备
CN114239538A (zh) 断言处理方法、装置、计算机设备及存储介质
CN114580409A (zh) 文本分类方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210420

WD01 Invention patent application deemed withdrawn after publication