本公开涉及大数据数据读取,特别是涉及一种数据读取方法、装置、计算机设备、存储介质。
背景技术:
1、随着数据的发展,获取第三方的外部数据能够满足不同业务的需求,从而来保证各类业务的稳定运行。在获取外部数据后,需要对外部数据进行缓存。目前传统技术中会通过redis或者elasticsearch来进行数据缓存;来达到数据缓存的目的。
2、传统技术中,会直接请求第三方,将所需的外部数据获取,然后响应获取外部数据的结果,根据响应结果将外部数据缓存。然而,传统技术中当某些第三方处理效率过慢,会导致响应时间过长,从而影响实时的业务处理。对于相同的数据请求,会重复调用第三方,产生多余的资源消耗,若第三方此时处理其他业务数据,则可能会导致重复调用的请求延迟处理,从而降低实时的业务处理效率。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种不会导致重复调用的请求延迟处理,从而提高实时的业务处理效率的数据读取方法、装置、计算机设备、存储介质。
2、第一方面,本公开提供了一种数据读取方法。所述方法包括:
3、响应于业务数据处理请求,基于所述业务数据处理请求从预先配置好的缓存库的缓存集中读取业务数据;其中,所述缓存库包括采用下述方式得到:按照预设的缓存规则将外部数据存储在第一缓存数据库中,并将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中;针对于所述第一缓存数据库中满足预设条件的外部数据,将所述满足预设条件的外部数据存储在第二缓存数据库中;基于第一缓存数据库、第二缓存数据库和缓存集得到缓存库;
4、响应于所述缓存集中未存在与所述业务数据处理请求相匹配的业务数据,基于所述业务数据处理请求,从预先配置好的缓存库中的第一缓存数据库中读取业务数据;
5、响应于所述第一缓存数据库中未存在与所述业务数据处理请求相匹配的业务数据,从预先配置好的缓存库中的第二缓存数据库中读取业务数据。
6、在其中一个实施例中,所述将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中,包括:
7、在所述第一缓存数据库中的外部数据的数据量小于预设数据量阈值的情况下,将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中;
8、在所述第一缓存数据库中的外部数据的数据量大于预设数据量阈值的情况下,筛选所述第一缓存数据库中的外部数据,得到与业务处理需求相关联的外部数据;
9、将所述与业务处理需求相关联的外部数据按照缓存规则存储到缓存集中。
10、在其中一个实施例中,所述方法还包括:
11、在所述与业务处理需求相关联的外部数据的数据量仍大于预设数据量阈值的情况下,按照业务处理场景,将与所述业务处理需求相关联的外部数据存储到多个缓存集中。
12、在其中一个实施例中,所述按照预设的缓存规则将外部数据存储在第一缓存数据库中之后,所述方法还包括:
13、记录所述外部数据存储第一缓存数据库中的失败数据;
14、经预设的第一时间后,将所述失败数据重新存储至第一缓存数据库中,直至将所述失败数据成功存储到第一缓存数据库中;
15、在不存在失败数据的情况下,重新将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中以及将所述满足预设条件的外部数据存储在第二缓存数据库中。
16、在其中一个实施例中,所述将所述满足预设条件的外部数据存储在第二缓存数据库中,包括:
17、将满足预设条件的外部数据进行数据库落库,存储在第二缓存数据库中,其中,所述第二缓存数据库与所述第一缓存数据库为不相同的数据库。
18、在其中一个实施例中,所述方法还包括:
19、响应于第二次接收到所述业务数据处理请求,确定第一次与所述业务数据处理请求相匹配的业务数据在所述缓存库中的存储位置;
20、基于所述存储位置,获取所述业务数据。
21、在其中一个实施例中,所述方法还包括:
22、经预设的第二时间后,清理所述缓存集中的外部数据,重新生成所述缓存库;或者,响应于所述第一缓存数据库、缓存集、所述第二缓存数据库中至少一个存储数据的数据容量达到容量阈值,清理达到容量阈值的第一缓存数据库、缓存集或所述第二缓存数据库,重新生成所述缓存库。
23、第二方面,本公开还提供了一种数据读取装置。所述装置包括:
24、第一读取模块,用于响应于业务数据处理请求,基于所述业务数据处理请求从预先配置好的缓存库的缓存集中读取业务数据;其中,所述缓存库包括采用下述方式得到:按照预设的缓存规则将外部数据存储在第一缓存数据库中,并将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中;针对于所述第一缓存数据库中满足预设条件的外部数据,将所述满足预设条件的外部数据存储在第二缓存数据库中;基于第一缓存数据库、第二缓存数据库和缓存集得到缓存库;
25、第二读取模块,用于响应于所述缓存集中未存在与所述业务数据处理请求相匹配的业务数据,基于所述业务数据处理请求,从预先配置好的缓存库中的第一缓存数据库中读取业务数据;
26、第三读取模块,用于响应于所述第一缓存数据库中未存在与所述业务数据处理请求相匹配的业务数据,从预先配置好的缓存库中的第二缓存数据库中读取业务数据。
27、在其中一个实施例中,所述第一读取模块包括:缓存集数据存储模块,用于在所述第一缓存数据库中的外部数据的数据量小于预设数据量阈值的情况下,将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中;在所述第一缓存数据库中的外部数据的数据量大于预设数据量阈值的情况下,筛选所述第一缓存数据库中的外部数据,得到与业务处理需求相关联的外部数据;将所述与业务处理需求相关联的外部数据按照缓存规则存储到缓存集中。
28、在其中一个实施例中,所述缓存集数据存储模块,还用于在所述与业务处理需求相关联的外部数据的数据量仍大于预设数据量阈值的情况下,按照业务处理场景,将与所述业务处理需求相关联的外部数据存储到多个缓存集中。
29、在其中一个实施例中,所述装置还包括:失败数据记录模块,用于记录所述外部数据存储第一缓存数据库中的失败数据;
30、失败数据存储模块,用于经预设的第一时间后,将所述失败数据重新存储至第一缓存数据库中,直至将所述失败数据成功存储到第一缓存数据库中;
31、缓存库处理模块,用于在不存在失败数据的情况下,重新将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中以及将所述满足预设条件的外部数据存储在第二缓存数据库中。
32、在其中一个实施例中,所述第一读取模块包括:第二缓存数据库存储模块,用于将满足预设条件的外部数据进行数据库落库,存储在第二缓存数据库中,其中,所述第二缓存数据库与所述第一缓存数据库为不相同的数据库。
33、在其中一个实施例中,所述装置还包括:请求二次处理模块,用于响应于第二次接收到所述业务数据处理请求,确定第一次与所述业务数据处理请求相匹配的业务数据在所述缓存库中的存储位置;基于所述存储位置,获取所述业务数据。
34、在其中一个实施例中,所述装置包括:数据清理模块,用于经预设的第二时间后,清理所述缓存集中的外部数据,重新生成所述缓存库;或者,响应于所述第一缓存数据库、缓存集、所述第二缓存数据库中至少一个存储数据的数据容量达到容量阈值,清理达到容量阈值的第一缓存数据库、缓存集或所述第二缓存数据库,重新生成所述缓存库。
35、第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一方法实施例中的步骤。
36、第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
37、第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
38、上述各实施例中,基于业务数据处理请求先从缓存库的缓存集中读取业务数据。从缓存集中读取数据的速度通常比从数据库中读取数据的速度要快,因此,先从缓存集中读取能够提高业务数据的读取速度,从而提高效率。另外,按照预设的缓存规则将外部数据存储在第一缓存数据库中,并将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中,以及将所述满足预设条件的外部数据存储在第二缓存数据库中。最终基于第一缓存数据库、第二缓存数据库和缓存集得到缓存库。由于缓存集中的数据和第二缓存数据库中的数据是第一缓存数据库中的,因此能够保证外部数据的一致性,从而保证业务处理的准确性。当缓存集中未存在与所述业务数据处理请求相匹配的业务数据从第一缓存数据库中读取业务数据,由于第一缓存数据库为列式数据库,因此,相较于其他数据库读取业务数据的速度更快。而所述第一缓存数据库中未存在与所述业务数据处理请求相匹配的业务数据,从预先配置好的缓存库中的第二缓存数据库中读取业务数据。在第一缓存数据库和缓存集中不存在匹配的外部数据时,可以利用第二缓存数据库中存储满足预设条件的外部数据进行兜底,从而来提高业务数据处理的成功率。由于使用缓存库进行处理,因此,在存在重复调用的请求时,不会重复请求第三方,从而提高业务的处理效率。
1.一种数据读取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述按照预设的缓存规则将外部数据存储在第一缓存数据库中之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述满足预设条件的外部数据存储在第二缓存数据库中,包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
8.一种数据读取装置,其特征在于,所述装置包括:
9.根据权利要求8所述的装置,其特征在于,所述第一读取模块包括:缓存集数据存储模块,用于在所述第一缓存数据库中的外部数据的数据量小于预设数据量阈值的情况下,将所述第一缓存数据库中的外部数据按照所述缓存规则存储到缓存集中;在所述第一缓存数据库中的外部数据的数据量大于预设数据量阈值的情况下,筛选所述第一缓存数据库中的外部数据,得到与业务处理需求相关联的外部数据;将所述与业务处理需求相关联的外部数据按照缓存规则存储到缓存集中。
10.根据权利要求9所述的装置,其特征在于,所述缓存集数据存储模块,还用于在所述与业务处理需求相关联的外部数据的数据量仍大于预设数据量阈值的情况下,按照业务处理场景,将与所述业务处理需求相关联的外部数据存储到多个缓存集中。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:失败数据记录模块,用于记录所述外部数据存储第一缓存数据库中的失败数据;
12.根据权利要求8所述的装置,其特征在于,所述第一读取模块包括:第二缓存数据库存储模块,用于将满足预设条件的外部数据进行数据库落库,存储在第二缓存数据库中,其中,所述第二缓存数据库与所述第一缓存数据库为不相同的数据库。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述装置还包括:请求二次处理模块,用于响应于第二次接收到所述业务数据处理请求,确定第一次与所述业务数据处理请求相匹配的业务数据在所述缓存库中的存储位置;基于所述存储位置,获取所述业务数据。
14.根据权利要求8至12任一项所述的装置,其特征在于,所述装置包括:数据清理模块,用于经预设的第二时间后,清理所述缓存集中的外部数据,重新生成所述缓存库;或者,响应于所述第一缓存数据库、缓存集、所述第二缓存数据库中至少一个存储数据的数据容量达到容量阈值,清理达到容量阈值的第一缓存数据库、缓存集或所述第二缓存数据库,重新生成所述缓存库。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。