CN116795872A - 数据查询方法、装置、计算机设备及存储介质 - Google Patents
数据查询方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116795872A CN116795872A CN202210263888.2A CN202210263888A CN116795872A CN 116795872 A CN116795872 A CN 116795872A CN 202210263888 A CN202210263888 A CN 202210263888A CN 116795872 A CN116795872 A CN 116795872A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- target
- report
- database
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013144 data compression Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 2
- 238000007405 data analysis Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100027969 Caenorhabditis elegans old-1 gene Proteins 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据查询方法、装置、计算机设备及存储介质,涉及数据分析技术领域,用于解决现有的数据查询方案存在数据查询较慢的问题。方法部分包括:按照预设数据缓存策略将数据量等于或大于预设数量阈值的报表的数据信息更新至预设缓存键数据库和预设缓存表数据库,得到更新后的缓存键数据库和更新后的缓存表数据库。当接收到用户终端发送的查询上述报表的数据查询请求时,根据数据查询请求先从更新后的缓存键数据库中匹配出该数据查询请求对应的目标缓存键,基于目标缓存键从更新后的缓存表数据库中提取出目标数据,然后将提取出的目标数据发送至用户终端,实现了大数据量报表的自动化缓存,提高了大数据量报表的查询效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据查询方法、数据查询装置、计算机设备及存储介质。
背景技术
报表就是用表格、图表等格式来动态显示数据。现有的报表系统在接收到用户终端发送的数据查询请求时,先根据数据查询请求生成查询索引,通过查询索引从缓存数据库中查询目标数据,若没有从缓存数据库中查询到目标数据,再从数据库中查询,最终将查询结果返回给用户终端。当报表中的数据量较大时,现有的这种查询方式数据查询速度较慢。
发明内容
基于此,有必要针对上述技术问题,提供一种数据查询方法,以解决现有的数据查询方案存在数据查询较慢的问题。
本申请实施例的第一方面提供了一种数据查询方法,包括:
若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端。
本申请实施例的第二方面提供了一种数据查询装置,包括:
更新模块:用于若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
匹配模块:用于当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
反馈模块:用于基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端;其中,所述目标数据是指用户指定查询的数据。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述数据查询方法。
本申请实施例的第四方面提供了一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述数据查询方法。
本申请实施例提供一种数据查询方法、装置、计算机设备及存储介质,通过预设数据缓存策略,对数据量等于或大于预设数量阈值的报表预先进行报表数据缓存,具体地,按照预设数据缓存策略将上述报表的数据信息更新至预设缓存键数据库和预设缓存表数据库,得到更新后的缓存键数据库和更新后的缓存表数据库。当接收到用户终端发送的查询上述报表的数据查询请求时,根据数据查询请求先从更新后的缓存键数据库中匹配出该数据查询请求对应的目标缓存键,由于该目标缓存键能够用于表征目标数据的缓存路径,目标数据存储于缓存表数据库,因此基于目标缓存键可以从更新后的缓存表数据库中提取出目标数据,然后将提取出的目标数据发送至用户终端,实现了大数据量报表的自动化缓存,提高了大数据量报表的查询效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中数据查询方法的一应用环境示意图;
图2是本申请实施例中数据查询方法的实现流程示意图;
图3是本申请实施例中数据查询装置的结构示意图;
图4是本申请实施例中计算机设备的一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1示出了本申请实施例中数据查询方法的一应用环境示意图,以本实现方案应用于服务器为例,服务器当监测到用户上传的报表,或发生数据更新的报表中的数据量等于或大于预先配置的预设数量阈值时,自动触发数据缓存功能,按照预设数据缓存策略生成缓存键集合和缓存表集合,对报表中的报表数据进行缓存,同时将缓存键集合和缓存表集合更新预设缓存键数据库和缓存表数据库,其中,缓存键用于表征报表数据的缓存路径,缓存表中包含有报表数据。当服务器接收到用户终端发送的对上述报表的数据查询请求时,先通过解析数据查询请求,获取到目标数据的相关数据信息,然后根据该相关数据信息从更新后的缓存键数据库中匹配到数据查询请求对应的目标缓存键,再基于目标缓存键从更新后的缓存表数据库中提取目标数据,同时将目标数据发送至用户终端,用户可在用户终端查看查询的数据信息。其中,用户终端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑,还可以是数字机顶盒等。服务器可以是独立的服务器,或者是由若干台服务器所组成的服务器集群,还可以是云计算服务器等,这里不做限定。
在具体实现时,本技术方案还可以应用于包括存储器、处理器及存储在存储器上且可以在处理器上运行的计算机程序的终端设备,具体实现过程同执行主体为服务器的操作,这里不再赘述。本申请实施例以应用于服务器为例进行详细说明。
请参阅图2,图2所示为本申请实施例中数据查询方法的实现流程图,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S11:若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库。
在步骤S11中,预设数据缓存策略用于表征报表数据的缓存形式。报表是指用表格、图表等格式来动态显示数据,可以用公式表示为“报表=多样的格式+动态的数据”。预设数量阈值是指预先配置的用于触发对报表中的报表数据进行缓存的数量阈值,可自定义其大小,例如可以是100、200、500等数值,本申请对预设数量阈值的大小不做限定。预设缓存键数据库用于存储按照预设缓存策略生成的缓存键,预设缓存表数据库用于存储缓存表。由于按照预设缓存策略生成新的缓存键和缓存表,且新的缓存键和缓存表分别存储在预设缓存键数据库和预设缓存表数据库,因此将预设缓存键数据库和缓存表数据库发生更新,得到更新后的缓存键数据库和更新后的缓存表数据库。
在本实施例中,服务器对已开发完即将上线的报表或数据库中的报表中的数据实时进行监测,当监测到报表中的数据量达到预设数量阈值,或超过预设数量阈值,服务器会自动触发数据缓存机制,具体地,按照预先配置的预设数据缓存策略,对监测到的数据量等于或大于预设数量阈值的报表进行自动缓存,同时将缓存的数据对应分别更新至预设缓存键数据库和缓存表数据库中,得到更新后的缓存键数据库和更新后的缓存表数据库。其中,预设缓存键数据库用于存储具有索引功能的缓存键,可以为性能较高的Redis内存数据库等,预设缓存表数据库用于存储数据列表等,可以采用数据库成本低、读写性能较好的MongoDB数据库,以提升查询速度。本实施例中对预设缓存键数据库和预设缓存表数据库采用的数据库类型不作限定。
需要说明的是,在其他实施方式中,触发数据缓存的操作还可以包括报表的数据更新,或手动触发报表的数据缓存,这里对报表的数据缓存的触发方式不作限定。在其他实施方式中,除报表之外的其他数据,例如实验过程的数据参数等等,也可以利用本方案的缓存方式进行缓存,以便于查询。在其他实施方式中,若报表中的报表数据小于预设阈值,则无需对该报表进行数据缓存,将其存入报表数据库中,当接收到对该报表中的报表数据进行查询的请求时,从报表数据库中进行检索即可,还可以是手动触发缓存,然后对该报表按照步骤S11所述的方案进行缓存。
作为本申请一实施例,所述报表数据包括N个检索字段;其中,N取等于或大于1的整数;所述按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库,包括:对所述N个检索字段进行顺序标号,得到N个标识检索字段;基于所述N个标识检索字段和所述报表的报表名称,组合得到缓存键集合;其中,所述缓存键集合包括至少一个缓存键;从所述报表数据中匹配出与每个所述缓存键对应的数据表,得到缓存表集合;其中,所述缓存表集合包括至少一个缓存表;将所述缓存键集合和所述缓存表集合分别存储在所述预设缓存键数据库和所述预设缓存表数据库中,得到所述更新后的缓存键数据库和更新后的缓存表数据库。
在本实施例中,报表数据包括检索字段和数据值等。其中,检索字段也即报表中的一些关键词,作为一示例,如下表1所示,表中时间、尺寸和类型即为检索字段,每个检索字段都有对应的数据值列表,例如时间列表下包括3000年和3001年。实际报表中的报表数据包括N个检索字段,N取等于或大于1的整数。当服务器检测到报表中报表数据的数据量等于或大于预设阈值时,则触发自动缓存机制,按照预设数据缓存策略生成缓存键和缓存表,并将缓存键和缓存表分别更新至预设缓存键数据库和预设缓存表数据库。
具体地,服务器首先对报表中的N个检索字段进行顺序标识,得到N个标识检索字段,以上述示例为参考,将表1中的检索字段“时间”标记为1,“尺寸”标记为2,“类型”标记为3,在实际应用场景中,对检索字段的顺序标识还可以是a、b、c...等等,本申请对检索字段的标识方式不作限定。然后服务器基于N个标识检索字段和报表名称,组合得到包含若干个缓存键的缓存键集合,其中,组合得到的缓存键中的检索字段按照顺序排列,可以是从大到小的顺序,还可以是从小到大的顺序,可以是正序,还可以是反序等等,通过顺序组合的缓存键在进行数据查询时能够保证覆盖到报表中所有数据的索引,而不会因为检索字段的顺序打乱导致索引失效,保证数据查询的效率。以上述示例为参考,例如报表名称为A,待查询数据的检索字段是时间和类型,缓存键中的检索字段按照从小到大的顺序,那么对应的缓存键为A:时间:类型,因为有顺序因此不能为A:类型:时间。将生成的缓存键集合存入预设缓存键数据库中,例如Redis内存数据库,同时在用户终端应用程序的本地也进行缓存,以防止数据库服务因宕机而无法使用。根据缓存键中的检索字段从报表数据中匹配出对应的列表集合,也即数据表,将数据表存入预设缓存表数据库中,例如MongoDB数据库表,每个数据表存放在单独的数据库表中,表名可以根据报表名称和检索字段组合命名。报表中的报表数据缓存完成后,得到更新后的缓存键数据库和更新后的缓存表数据库。在实际应用场景中,若缓存表中的数据量非常大,还可以通过定时删除数据,例如只保留30天内的数据或者通过将缓存表数据进行垂直切分,以减少数据的磁盘读写时间,提高数据查询速度。
时间 | 尺寸 | 类型 |
3000年 | 1 | 2 |
3001年 | 2 | 1 |
表1
作为本申请一实施例,所述基于所述N个标识检索字段和所述报表的报表名称,组合得到缓存键集合,包括:根据所述标识检索字段的标号大小,对所述N个标识检索字段进行随机组合,得到不同维度的检索字段组合;根据所述报表名称和所述检索字段组合,得到缓存键集合。
在本实施例中,为了保证缓存键集合能够覆盖到所有报表数据的索引,不会因为检索字段顺序的打乱而导致索引失效,可以对报表数据中的检索字段进行顺序标识,其中顺序标识可以为“从小到大”标识,或“从大到小标识”,本实施例中对顺序标识的方式不做限定,然后按照顺序标识对报表中的所有检索字段进行随机组合,得到不同维度的检索字段组合。以表1为例,若检索字段“时间”标号为1,“尺寸”标号为2,“类型”标号为3,将检索字段按照从小到大的顺序随机组合,则获得一维的检索字段组合3个,分别为时间、尺寸和类型;二维的检索字段组合3个,分别为时间:尺寸,时间:类型,以及尺寸:类型;三维的检索字段组合1个,即时间:尺寸:类型。然后将每个检索字段组合附上报表名称,得到缓存键。
作为本申请一实施例,所述根据所述标识检索字段的标号大小,对所述N个标识检索字段进行随机组合,得到不同维度的检索字段组合,包括:
按照下式计算得到不同维度的检索字段组合:
一维的检索字段组合个数:N;
W维的检索字段组合个数:(N-W+2)(N-W+1)/2;
其中,W取大于1且小于或等于N的整数。
在本实施例中,若待缓存报表的报表数据包括N个检索字段,在对各个检索字段顺序标号之后得到N个标识检索字段,因为缓存键是基于带有顺序标号的检索字段的检索字段组合组成,按照排列组合规律,该待缓存报表可得到一维的检索字段组合N个;W维的检索字段组合(N-W+2)(N-W+1)/2个,其中,W可取大于1且小于或等于N的整数。
S12:当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键。
在步骤S12中,目标缓存键用于表征目标数据的缓存路径。数据查询请求包括检索字段信息、查询数据信息、报表信息等等。
在本实施例中,因为已缓存的报表数据存储在缓存表数据库中,需要通过缓存键查到不同检索字段的数据列表(缓存表)。用户在通过终端发送数据查询请求时,可以再显示页面设置默认的检索字段值,例如默认一维时间字段查询昨天的数据。服务器在接收到对已缓存的报表进行查询的数据查询请求时,根据数据查询请求可以获取带查询数据的目标检索字段信息,进而根据目标检索字段信息从更新后的缓存键数据库中匹配出所述目标缓存键,通过目标缓存键路由到对应的缓存表,进行数据查询。
作为本申请一实施例,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键,包括:对所述数据查询请求进行解析,得到目标检索字段信息;基于所述目标检索字段信息,从所述更新后的缓存键数据库中匹配出与所述数据查询请求对应的目标缓存键。
在本实施例中,用户在通过用户终端查询数据库中报表的数据时,终端会先将用户所输入的信息进行封装转化为机器能够识别的语言,也即请求指令等。服务器接收到用户终端发送的数据查询请求,通过解析该请求可以获取关键信息,例如,待查询数据的报表名称、目标检索字段等信息。服务器根据解析到的报表名称和目标检索字段信息,可以从更新后的缓存键数据库中匹配到目标缓存键,以确定目标数据的缓存路径。
S13:基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端。
在步骤S13中,目标缓存键用于表征目标数据的缓存路径。更新后的缓存表数据库包括至少一个缓存表,缓存表对应缓存键储存于更新后的缓存表数据库。目标数据是指数据查询请求对应的待查询的报表数据。
在本实施例中,服务器从更新后的缓存键数据库中匹配到目标缓存键,获取到目标数据的缓存路径后,根据缓存路径索引到存储缓存数据的缓存表数据库中,查询与目标缓存键中报表名称、各检索字段匹配的缓存数据,进而匹配出的缓存数据中提取出与数据查询请求对应的目标数据。然后将目标数据发送至用户终端,可在应用程序或网页的页面显示。
作为本申请一实施例,所述基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,包括:根据所述目标缓存键,从所述更新后的缓存表数据库中匹配出目标缓存表;所述目标缓存表包括目标数据与报表主键;根据所述报表主键从所述目标缓存表中提取所述目标数据。
在本实施例中,目标缓存表包括目标数据和报表主键,与目标缓存键对应。一个缓存表只能有一个报表主键,可以在创建表的时候指定报表主键,也可以是通过修改表的方式加入报表主键,例如“ALTER TABLE tablename ADD PRIMARY KEY(列的列表)”。在从更新后的缓存表数据库中匹配到目标缓存表后,通过主键检索从目标缓存表中检索到目标数据。本实施例中报表主键即为缓存键对应的查询字段,例如报表名称为A,其中一缓存键A:时间,那么该缓存键对应的缓存表的报表主键即为时间字段对应的数值。由于报表主键不能重复,故可以在时间之后拼接一些唯一字符,例如,缓存键包括两个检索字段:一级分类和二级分类,该缓存键对应的缓存表的报表主键即为一级分类+二级分类+随机唯一ID。在其他实施方式中,还可以通过数据库索引“最左前缀”规则命中到主键索引。最终根据报表主键从目标缓存表中匹配到目标数据并提取该目标数据,以发送至用户终端。
作为本申请一实施例,所述将所述目标数据发送至用户终端,包括:若所述目标数据的数据大小大于或等于预设阈值,则对所述目标数据进行数据压缩,得到压缩后的目标数据;将所述压缩后的目标数据发送至用户终端。
在本实施例中,服务器根据网络和压缩算法的不同进行测试得到合适预设阈值,该预设阈值的大小不作限定。如果服务器返回的目标数据的数据大小小于预设阈值,则直接将该目标数据发送至用户终端;如果服务器响应数据查询请求,返回的目标数据的数据大小大于或等于该预设阈值,例如100KB,则启动数据压缩功能,对目标数据进行压缩,以保证数据传输的速度。用户终端接收到该压缩后的目标数据进行解压后即可查看,有效的减少了数据传输的时间,提高数据查询速度。
本申请实施例提供一种数据查询方法,通过预设数据缓存策略,对数据量等于或大于预设数量阈值的报表预先进行报表数据缓存,具体地,按照预设数据缓存策略将上述报表的数据信息更新至预设缓存键数据库和预设缓存表数据库,得到更新后的缓存键数据库和更新后的缓存表数据库。当接收到用户终端发送的查询上述报表的数据查询请求时,根据数据查询请求先从更新后的缓存键数据库中匹配出该数据查询请求对应的目标缓存键,由于该目标缓存键能够用于表征目标数据的缓存路径,目标数据存储于缓存表数据库,因此基于目标缓存键可以从更新后的缓存表数据库中提取出目标数据,然后将提取出的目标数据发送至用户终端,实现了大数据量报表的自动化缓存,提高了大数据量报表的查询效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一个实施例中,提供一种数据查询装置300,该数据查询装置与上述实施例中数据查询方法一一对应。如图3所示,该数据查询装置包括输入模块301、判断模块302以及分配模块303。各功能模块详细说明如下:
更新模块301:用于若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
匹配模块302:用于当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
反馈模块303:用于基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端;其中,所述目标数据是指用户指定查询的数据。
关于数据查询装置的具体限定可以参见上文中对于数据查询方法的限定,在此不再赘述。上述数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示装置(显示屏)和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种数据查询方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据查询方法,其特征在于,所述数据查询方法包括:
若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端。
2.如权利要求1所述的数据查询方法,其特征在于,所述报表数据包括N个检索字段;其中,N取等于或大于1的整数;
所述按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库,包括:
对所述N个检索字段进行顺序标号,得到N个标识检索字段;
基于所述N个标识检索字段和所述报表的报表名称,组合得到缓存键集合;其中,所述缓存键集合包括至少一个缓存键;
从所述报表数据中匹配出与每个所述缓存键对应的数据表,得到缓存表集合;其中,所述缓存表集合包括至少一个缓存表;
将所述缓存键集合和所述缓存表集合分别存储在所述预设缓存键数据库和所述预设缓存表数据库中,得到所述更新后的缓存键数据库和更新后的缓存表数据库。
3.如权利要求2所述的数据查询方法,其特征在于,所述基于所述N个标识检索字段和所述报表的报表名称,组合得到缓存键集合,包括:
根据所述标识检索字段的标号大小,对所述N个标识检索字段进行随机组合,得到不同维度的检索字段组合;
根据所述报表名称和所述检索字段组合,得到缓存键集合。
4.如权利要求3所述的数据查询方法,其特征在于,所述根据所述标识检索字段的标号大小,对所述N个标识检索字段进行随机组合,得到不同维度的检索字段组合,包括:
按照下式计算得到不同维度的检索字段组合:
一维的检索字段组合个数:N;
W维的检索字段组合个数:(N-W+2)(N-W+1)/2;
其中,W取大于1且小于或等于N的整数。
5.如权利要求1-4任一项所述的数据查询方法,其特征在于,所述从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键,包括:
对所述数据查询请求进行解析,得到目标检索字段信息;
基于所述目标检索字段信息,从所述更新后的缓存键数据库中匹配出与所述数据查询请求对应的目标缓存键。
6.如权利要求1-4任一项所述的数据查询方法,其特征在于,所述基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,包括:
根据所述目标缓存键,从所述更新后的缓存表数据库中匹配出目标缓存表;所述目标缓存表包括目标数据与报表主键;
根据所述报表主键从所述目标缓存表中提取所述目标数据。
7.如权利要求1-4任一项所述的数据查询方法,其特征在于,所述将所述目标数据发送至用户终端,包括:
若所述目标数据的数据大小大于或等于预设阈值,则对所述目标数据进行数据压缩,得到压缩后的目标数据;
将所述压缩后的目标数据发送至用户终端。
8.一种数据查询装置,其特征在于,所述数据查询装置包括:
更新模块:用于若监测到报表的数据量等于或大于预设数量阈值,则按照预设数据缓存策略对预设缓存键数据库和预设缓存表数据库进行更新,得到更新后的缓存键数据库和更新后的缓存表数据库;其中,所述预设数据缓存策略用于表征报表数据的缓存形式;
匹配模块:用于当接收到用户终端发送的查询所述报表的数据查询请求时,从所述更新后的缓存键数据库中匹配出所述数据查询请求对应的目标缓存键;所述目标缓存键用于表征目标数据的缓存路径;
反馈模块:用于基于所述目标缓存键从所述更新后的缓存表数据库中提取所述目标数据,并将所述目标数据发送至用户终端;其中,所述目标数据是指用户指定查询的数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时以实现权利要求1-7任意一项所述的数据查询方法。
10.一个或多个可读存储介质,所述可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1-7任意一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263888.2A CN116795872A (zh) | 2022-03-15 | 2022-03-15 | 数据查询方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263888.2A CN116795872A (zh) | 2022-03-15 | 2022-03-15 | 数据查询方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795872A true CN116795872A (zh) | 2023-09-22 |
Family
ID=88035128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210263888.2A Pending CN116795872A (zh) | 2022-03-15 | 2022-03-15 | 数据查询方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795872A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235024A (zh) * | 2023-11-16 | 2023-12-15 | 江西国泰利民信息科技有限公司 | 基于代码分析的缓存更新方法、系统、存储介质及设备 |
-
2022
- 2022-03-15 CN CN202210263888.2A patent/CN116795872A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235024A (zh) * | 2023-11-16 | 2023-12-15 | 江西国泰利民信息科技有限公司 | 基于代码分析的缓存更新方法、系统、存储介质及设备 |
CN117235024B (zh) * | 2023-11-16 | 2024-01-26 | 江西国泰利民信息科技有限公司 | 基于代码分析的缓存更新方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491450B (zh) | 数据缓存方法、装置、服务器和存储介质 | |
CN108255958B (zh) | 数据查询方法、装置和存储介质 | |
WO2020186786A1 (zh) | 文件处理方法、装置、计算机设备和存储介质 | |
CN109558404B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN107911461B (zh) | 云存储系统中的对象处理方法、存储服务器及云存储系统 | |
CN111177302A (zh) | 业务单据处理方法、装置、计算机设备和存储介质 | |
CN111400578B (zh) | 货物数据查询方法、装置、计算机设备和存储介质 | |
CN112100152A (zh) | 业务数据处理方法、系统、服务器和可读存储介质 | |
CN112613271A (zh) | 数据分页方法、装置、计算机设备及存储介质 | |
CN116795872A (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN113157734B (zh) | 基于搜索框架的数据处理方法、装置、设备及存储介质 | |
US11755555B2 (en) | Storing an ordered associative array of pairs using an append-only storage medium | |
CN113467855A (zh) | 网页请求处理方法、装置、电子设备及存储介质 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN111552527A (zh) | 用户界面内文字翻译方法、装置、系统及存储介质 | |
US11977485B2 (en) | Method of cache management based on file attributes, and cache management device operating based on file attributes | |
CN112052234B (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN114490576A (zh) | 一种数据库存储方法、装置、设备及存储介质 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
CN113760390A (zh) | 页面文件加载方法、装置、设备及存储介质 | |
CN113722623A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107622124B (zh) | 基于块数据的数据查询方法及系统 | |
CN115203159B (zh) | 一种数据存储方法、装置、计算机设备和存储介质 | |
CN117406967B (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 |