数据处理方法、装置、设备及存储介质与流程

文档序号:29633654发布日期:2022-04-13 16:36阅读:85来源:国知局
数据处理方法、装置、设备及存储介质与流程

1.本技术涉及大数据存储及分析技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

2.处理器的结构使得它能够在短时间内完成各种各样不同的指令,但是,受到结构的限制,针对结构化数据的部分查询任务,处理器无法非常有效和迅速地处理,导致整体查询性能非常低,而这部分任务如果由加速处理单元进行处理,可以非常有效和迅速的完成。
3.相关技术中,为了使用加速处理单元处理该部分查询任务,采用的处理方法是:处理器在接收到该部分查询任务后,先对与该部分查询任务中的查询字段匹配数据进行切割处理,得到第一部分数据和第二部分数据。然后,将第一部分数据发送给加速处理单元进行处理,第二部分数据仍由处理器进行处理,最后由处理器汇总第一部分数据的处理结果和第二部分数据的处理结果。该种处理方法中,一方面,由于增加了处理器对数据切割的任务,导致查询任务的耗时增加,另一方面,处理链路比较长,且各个步骤必须依序进行,无法并行,导致查询任务的耗时进一步地增加,在此基础上,仅将第一部分数据交给加速处理单元处理,导致加速处理单元处理第一部分数据所节省的时间,很难弥补之前步骤所增加的耗时,进而导致该处理方法不仅无法充分发挥加速处理单元的算力优势以提升查询性能,甚至还会导致整体查询性能的下降。


技术实现要素:

4.本技术实施例提供了一种数据处理方法、装置、设备及存储介质,用于结构化数据的查询,有助于能够充分利用加速处理单元的算力优势提升查询性能。
5.为达到上述目的,本技术实施例提供如下技术方案:
6.第一方面,提供了一种数据处理方法,应用于计算机系统,计算机系统包括处理器、加速处理单元和存储器,存储器中存储有结构化数据表,方法由处理器执行,方法包括:接收结构化查询语言sql请求;其中,sql请求包括第一查询字段和第一查询条件,用于请求查询第一数据中与第一查询条件匹配的第一目标数据,第一数据是结构化数据表中与第一查询字段匹配的数据;基于加速处理单元中存储的常驻数据,执行sql请求;其中,常驻数据是接收sql请求之前已存储在加速处理单元中的数据,常驻数据是加速处理单元执行缓存淘汰算法时不被淘汰的数据,常驻数据包括第一数据。
7.由于预先将与第一查询字段匹配的第一数据存储至加速处理单元,并设置为加速处理单元的常驻数据,从而实现在接收到sql请求后,直接使用加速处理单元中的常驻数据执行sql请求,一方面,不需要再对第一数据进行切割处理,降低了任务耗时,另一方面,任务处理链路短,进一步地降低了任务耗时,并且,将全部数据都交由加速处理单元进行处理,实现了充分利用加速处理单元的算力优势提升查询性能。
8.在一种可能的实现方式中,接收结构化查询语言sql请求之前,方法还包括:获取
预设查询字段;预设查询字段与第一查询字段的匹配结果满足预设条件,且结构化数据表中与预设查询字段匹配的数据与第一数据相同;获取结构化数据表中与预设查询字段匹配的第一数据,并将第一数据和预设查询字段加载至加速处理单元;将加速处理单元中的第一数据和预设查询字段设置为常驻数据。
9.该种可能的实现方式,提供了预先在加速处理单元存储常驻数据的具体实现方式,有助于提高常驻数据与后续sql请求中的查询字段匹配的概率,进而提高常驻数据被使用的概率。
10.在一种可能的实现方式中,将第一数据和预设查询字加载至加速处理单元,包括:确定第一数据的占用空间和加速处理单元的目标缓存空间;其中,目标缓存空间小于加速处理单元的最大缓存空间;在第一数据的占用空间大于目标缓存空间的情况下,将第一数据中的一部分数据加载至加速处理单元;一部分数据的占用空间小于或等于目标缓存空间。
11.该种可能的实现方式,提供了第一数据占用空间大于加速处理单元中常驻数据的存储空间时的具体存储方法,有助于为加速处理单元预留一部分的动态缓存空间,可用于非预设查询字段的动态加载,从而提升非预设查询字段的查询速度。
12.在一种可能的实施方式中,sql请求还包括第二查询条件和第二查询字段,第二查询字段与预设查询字段不匹配,sql请求还用于请求查询第二数据中与第二查询条件匹配的第二目标数据,第二数据是结构化数据表中与第二查询字段匹配的数据,方法还包括:将结构化数据表中的第二数据加载至加速处理单元;基于加速处理单元中的第二数据,确定与第二查询条件匹配的第二目标数据。
13.该种可能的实现方式,提供了非预设查询字段对应查询任务的处理方式,有助于提高处理速度,以及充分利用加速处理单元的算力优势,提高查询性能。
14.在一种可能的实施方式中,方法还包括:确定加速处理单元的可用缓存空间;可用缓存空间用于指示加速处理单元的未存储数据的缓存空间;在可用缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除加速处理单元中的第二数据。
15.该种可能的实现方式,提供了可用缓存空间的处理方式,有助于释放加速处理单元的可用缓存空间,以用于执行非预设查询字段对应的查询任务,进而提高非预设查询字段对应的查询任务的查询速度。
16.在一种可能的实现方式中,一部分数据的历史使用频率大于第一数据中另一部分数据的历史使用频率;和/或一部分数据对应的预设查询字段的历史使用频率,大于第一数据中另一部分数据对应的预设查询字段的历史使用频率;和/或一部分数据存储至结构化数据表的时间晚于第一数据中另一部分数据存储至结构化数据表的时间;和/或一部分数据的生成时间晚于第一数据中另一部分数据的生成时间。
17.该种可能的实现方式,提供了将第一数据中的一部分数据加载至加速处理单元时一部分数据的多种选择方式,以实现提高加速处理单元中常驻数据的使用频率。
18.在一种可能的实现方式中,第一数据包括第三数据,方法还包括:修改结构化数据表中的第三数据,得到第四数据;删除加速处理单元中的第三数据;将第四数据加载至加速处理单元,并将加速处理单元中的第四数据设置为常驻数据。
19.该种可能的实现方式,提供了修改常驻数据的具体实现方式,有助于保证第三数据修改前后的常驻数据一致性,同时避免了常驻数据中除被修改数据之外的其他数据的从存储器中重复加载至加速处理单元,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
20.在一种可能的实现方式中,第一数据还包括第五数据,方法还包括:在结构化数据表中的第五数据被删除的情况下,删除加速处理单元中的第五数据。
21.该种可能的实现方式,提供了删除常驻数据的具体实现方式,有助于保证第五数据删除前后的常驻数据一致性,同时避免了常驻数据中除被删除数据之外的其他数据的重复加载,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
22.在一种可能的实现方式中,方法还包括:在结构化数据表中添加第六数据;其中,第六数据与预设查询字段匹配;将第六数据加载至加速处理单元,并将加速处理的单元中的第六数据设置为常驻数据。
23.该可能的实现方式,提高了新增常驻数据的具体实现方法,有助于保证新增第六数据前后的常驻数据的一致性,同时避免了历史常驻数据中的重复加载,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
24.在一种可能的实现方式中,方法还包括:获取常驻数据的占用空间;在常驻数据的占用空间大于或等于第二预设阈值的情况下,删除目标常驻数据;其中,目标常驻数据存储至结构化数据表中的时间晚于常驻数据中除目标常驻数据之外的数据存储至结构化数据表中的时间,和/或目标常驻数据的生成时间晚于常驻数据中除目标常驻数据之外的数据的生成时间。
25.该种可能的实现方式,提供了常驻数据占用空间的具体维护方式,有助于扩展常驻数据的存储空间,以便用于存储最新的常驻数据。
26.在一种可能的实现方式中,基于加速处理单元中存储的常驻数据,执行sql请求,包括:解析sql请求,得到至少一个执行任务;确定至少一个执行任务中的目标任务,其中,目标任务包括第一查询条件和第一查询字段;获取第一目标数据;第一目标数据是加速处理单元执行目标任务后从常驻数据中得到的。
27.该种可能的实现方式,提供了基于常驻数据执行sql请求的具体实现方式,通过将加速处理单元执行的目标任务从sql的执行计划中分离出来,避免将加速处理单元能够执行的任务交由处理器执行,从而实现最大化提高任务执行速度。
28.第二方面,提供了一种数据处理装置,包括:用于执行第一方面提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,数据处理装置可以包括:接收单元和执行单元;接收单元,用于接收结构化查询语言sql请求;其中,sql请求包括第一查询字段和第一查询条件,用于请求查询第一数据中与第一查询条件匹配的第一目标数据,第一数据是结构化数据表中与第一查询字段匹配的数据;执行单元,用于基于加速处理单元中存储的常驻数据,执行sql请求;其中,常驻数据是接收sql请求之前已存储在加速处理单元中的数据,常驻数据是加速处理单元执行缓存淘汰算法时不被淘汰的数据,常驻数据包括第一数据。
29.第三方面,提供了一种计算机设备,包括:处理器和存储器。处理器与存储器连接,存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第
一方面提供的任意一种方法。
30.第四方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行第一方面提供的任意一种方法。
31.第五方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
32.第六方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
33.第二方面至第六方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
附图说明
34.图1为本技术实施例提供的一种计算机设备的结构示意图;
35.图2为本技术实施例提供的一种数据处理方法的流程示意图;
36.图3为本技术实施例提供的另一种数据处理方法的流程示意图;
37.图4为本技术实施例提供的一种常驻数据示意图;
38.图5为本技术实施例提供的一种sql请求的执行原理图;
39.图6为本技术实施例提供的另一种常驻数据示意图;
40.图7为本技术实施例提供的另一种常驻数据示意图;
41.图8为本技术实施例提供的另一种常驻数据示意图;
42.图9为本技术实施例提供的另一种常驻数据示意图;
43.图10为本技术实施例提供的另一种常驻数据示意图;
44.图11为本技术实施例提供的数据处理装置的示意图。
具体实施方式
45.在本技术的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
46.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
47.首先,为了便于理解本技术,现对本技术涉及到的相关要素进行描述。结构化查询语言(structured query language,sql),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
48.结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。与结构化数据相对的是
不适于由数据库二维表来表现的非结构化数据,包括所有格式的办公文档、可扩展标记语言(extensible markup language,xml)、超文本标记语(hyper text markup language,html)、各类报表、图片和音频、视频信息等。
49.加速处理单元:是指计算机系统中,中央处理器内集成可以辅助传统中央处理器处理特殊类型的计算任务的处理单元。一般是“通用处理器核心”+“流处理单元”的组合设计。这种设计可以提升中央处理器处理这些特殊类型的计算任务的性能,这些特殊的计算任务可以是图形处理、矢量计算等等,辅助的处理单元一般是显示核心(现在多为通用图形处理器,general-purpose computing on graphics processing units,简称gpgpu)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、应用集成电路(application specific integrated circuit,asic),或类似的可处理某种特殊计算任务的专用处理单元。
50.图形处理器(graphics processing unit,gpu):又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
51.应用集成电路(application specific integrated circuit,asic):是面向特定用途或用户而专门设计的以内集成电路,是应特定用户要求和特定电子系统的需要而设计、制造的集成电路。
52.现场可编程门阵列(field programmable gate array,fpga):是在可编程阵列逻辑(programmable array logic,pal)、通用阵列逻辑(general array logic,gal)等可编程器件的基础上进一步发展的产物。它是作为应用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
53.其中,对本技术涉及的应用场景进行简单介绍。
54.处理器的结构使得它能够在短时间内完成各种各样不同的指令,但是,受到结构的限制,针对结构化数据的部分查询任务,处理器无法非常有效和迅速地处理,导致整体查询性能非常低,而这部分任务如果由加速处理单元进行处理,可以非常有效和迅速的完成。
55.相关技术中,为了使用加速处理单元处理该部分查询任务,采用的处理方法是:处理器在接收到该部分查询任务后,先对与该部分查询任务中的查询字段匹配数据进行切割处理,得到第一部分数据和第二部分数据。然后,将第一部分数据发送给加速处理单元进行处理,第二部分数据仍由处理器进行处理,最后由处理器汇总第一部分数据的处理结果和第二部分数据的处理结果。该种处理方法中,一方面,由于增加了处理器对数据切割的任务,导致查询任务的耗时增加,另一方面,处理链路比较长,且各个步骤必须依序进行,无法并行,导致查询任务的耗时进一步地增加,在此基础上,仅将第一部分数据交给加速处理单元处理,导致加速处理单元处理第一部分数据所节省的时间,很难弥补之前步骤所增加的耗时,进而导致该处理方法不仅无法充分发挥加速处理单元的算力优势以提升查询性能,甚至还会导致整体查询性能的下降。
56.针对上述问题,本技术提供了一种数据处理方法,通过预先将与第一查询字段匹配的第一数据存储至加速处理单元,并设置为加速处理单元的常驻数据,从而实现在接收到sql请求后,直接使用加速处理单元中的常驻数据执行sql请求,一方面,不需要再对第一数据进行切割处理,降低了任务耗时,另一方面,任务处理链路短,进一步地降低了任务耗
时,并且,将全部数据都交由加速处理单元进行处理,实现了充分利用加速处理单元的算力优势提升查询性能。
57.此外,由于第一数据是预先存储至加速处理单元,能够避免加速处理单元与处理器之间的传输带宽限制加速处理单元的性能,从而最大化利用加速处理单元的算力优势提升查询性能。例如,预先将车辆属性信息的相关数据加载至加速处理单元并确定为常驻数据,在需要查找经过目标位置的目标车辆时,则可以通过计算机设备的加速处理单元快速对目标位置的过车数据按照查询条件进行排查分析,实时输出排查结果,即目标车辆。
58.下面对本技术涉及的实施环境(实施架构)进行简单介绍。
59.本技术实施例提供了一种数据处理方法,可应用于计算机设备。本技术实施例对计算机设备的具体形式不作任何限制。例如,计算机设备具体可以是终端装置,也可以是网络设备。其中,终端装置可以被称为:终端、用户设备(user equipment,ue)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置具体可以是手机、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等。网络设备具体可以是服务器等。其中,服务器可以是一个物理或逻辑服务器,也可以是有两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现服务器的各项功能。
60.在硬件实现上,上述计算机设备可以通过如图1所示的计算机设备实现。如图1所示,为本技术实施例提供的一种计算机设备100的硬件结构示意图。计算机设备100可以用于实现上述计算机设备的功能。
61.图1所示的计算机设备100可以包括:处理器101、存储器102、通信接口103以及总线104。处理器101、存储器102以及通信接口103之间可以通过总线104连接。
62.处理器101是计算机设备100的控制中心,可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
63.作为示例,处理器101可以包括一个或多个cpu,例如图1中所示的cpu 0和cpu 1。
64.存储器102可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
65.一种可能的实现方式中,存储器102可以独立于处理器101存在。存储器102可以通过总线104与处理器101相连接,用于存储数据、指令或者程序代码。处理器101调用并执行存储器102中存储的指令或程序代码时,能够实现本技术实施例提供的车辆异常行为发现方法。
66.另一种可能的实现方式中,存储器102也可以和处理器101集成在一起。
67.通信接口103,用于计算机设备100与其他设备通过通信网络连接,该通信网络可
以是以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口103可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
68.总线104,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
69.需要指出的是,图1中示出的结构并不构成对计算机设备100的限定,除图1所示部件之外,计算机设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
70.如图2所示,为本技术提供的一种数据处理方法的流程图,应用于计算机系统,计算机系统包括处理器101、加速处理单元和存储器102,存储器102中存储有结构化数据表,该方法由处理器101执行。该方法包括:
71.s201:接收结构化查询语言sql请求。
72.其中,sql请求包括第一查询字段和第一查询条件,用于请求查询第一数据中与第一查询条件匹配的第一目标数据,第一数据是结构化数据表中与第一查询字段匹配的数据。
73.可选地,第一数据为结构化数据表中与第一查询字段对应的列数据。也即,第一查询字段与结构化数据表中的一个列名相同。
74.例如,计算机设备获取到位置1的路况监控数据后,获取该路况监控数据中与车辆相关的信息,并存储在存储器中的结构化数据表中,该结构化数据表如表1所示,表1的表名可以为车辆。
75.表1
[0076][0077]
结合表1,在s201中的第一查询字段包括字段a时,则第一数据是字段a所对应的列数据,即时间1、时间2、时间1、时间1。
[0078]
在一种实施方式中,计算机设备通过sql请求中的第一查询字段,获取结构化数据表中的列数据,并从列数据中获取满足第一查询条件的行数据,从而得到第一目标数据。例如,结合表1,用户需要查询在时间1经过位置1的目标车辆,基于此,用户发送sql请求,并在sql请求中配置字段a和字段b作为查询字段,时间1和位置1为查询条件,具体到本技术,第一数据包括字段a和字段b分别对应的列数据,第一目标数据包括该列数据中与查询条件匹配的车辆1、车辆3和车辆4对应的行数据。
[0079]
在另一种实施方式中,计算机设备通过sql请求中的第一查询字段,获取结构化数
据表中的列数据,并根据第一查询条件对获取到的列数据进行聚类,得到聚类结果。例如,用户需要对位置1经过车辆进行聚类分析,以确定经过位置1的车辆中品牌1数量,基于此,用户发送sql请求,并将字段b和字段c作为查询字段,品牌1和品牌2作为查询条件,具体到本技术,第一数据包括字段b和字段c分别对应的列数据,第一目标数据包括该列数据中与查询条件匹配的车辆1、车辆3和车辆4对应的行数据。
[0080]
s202:基于加速处理单元中存储的常驻数据,执行sql请求。
[0081]
其中,常驻数据是接收sql请求之前已存储在加速处理单元中的数据,常驻数据是加速处理单元执行缓存淘汰算法时不被淘汰的数据,常驻数据包括第一数据。
[0082]
可选地,加速处理单元包括cpu、fpga以及asic中的任一项。
[0083]
以上述表1为例进行说明,在接收sql请求之前,表1中的字段a和字段b各自对应的列数据已存储在加速处理单元中,并配置为加速处理单元的常驻数据。
[0084]
在一种实施方式中,计算机设备接收sql请求,sql请求中配置字段a和字段b作为查询字段,时间1和位置1为查询条件,其中,字段a和字段b即为本技术的第一查询字段,时间1和位置1即为本技术的第一查询条件。由于字段a和字段b各自对应的列数据已存储在加速处理单元中,并配置为加速处理单元的常驻数据,因此,可以基于加速处理单元中存储的常驻数据,执行sql请求。
[0085]
在一种实施方式中,基于预设查询字段确定第一数据。具体实施方式在后续实施例中进行说明,此处不再赘述。
[0086]
在另一种实施方式中,基于结构化数据表中的数据的历史使用频率确定第一数据。
[0087]
在一个示例中,预先对结构化数据表中的列数据按照历史使用频率从大到小的顺序进行排序,得到一个序列,然后将该序列中前预设数量的列数据确定为第一数据,加载至加速处理单元,并确定为加速处理单元的常驻数据。当然,也可以按照从小到大的顺序进行排序,得到一个序列,然后将该序列中后预设数量的列数据确定为第一数据,加载至加速处理单元,并确定为加速处理单元的常驻数据。例如,对结构化数据表(即表1)中的列数据按照历史使用频率从大到小的顺序进行排序,得到的序列为字段a、字段b、字段c、字段d、字段e。将该序列的前2个字段加载到加速处理单元中,并设置为常驻数据,也即,字段a和字段b为加速处理单元中的常驻数据。
[0088]
在另一个示例中,预先将结构化数据表中历史使用频率大于或等于预设阈值a的数据确定为属于第一数据,然后将第一数据加载至加速处理单元,并确定为加速处理单元的常驻数据。例如,确定结构化数据表(即表1)中的每列数据的历史使用频率,并将历史使用频率大于或等于预设阈值a的列数据加载到加速处理单元中,并设置为常驻数据。
[0089]
上述实施例中,通过预先将与第一查询字段匹配的第一数据存储至加速处理单元,并设置为加速处理单元的常驻数据,从而实现在接收到sql请求后,直接使用加速处理单元中的常驻数据执行sql请求,一方面,不需要再对第一数据进行切割处理,降低了任务耗时,另一方面,任务处理链路短,进一步地降低了任务耗时,并且,将全部数据都交由加速处理单元进行处理,实现了充分利用加速处理单元的算力优势提升查询性能。
[0090]
此外,由于第一数据是预先存储至加速处理单元,能够避免加速处理单元与处理器之间的传输带宽限制加速处理单元的性能,从而最大化利用加速处理单元的算力优势提
升查询性能。例如,预先将车辆属性信息的相关数据加载至加速处理单元并确定为常驻数据,在需要查找经过目标位置的目标车辆时,则可以通过计算机设备的加速处理单元快速对目标位置的过车数据按照查询条件进行排查分析,实时输出排查结果,即目标车辆。
[0091]
在一种可能的实施方式中,结合图2,如图3所示,数据处理方法还包括:
[0092]
s101:获取预设查询字段。预设查询字段与第一查询字段的匹配结果满足预设条件,且结构化数据表中与预设查询字段匹配的数据与第一数据相同。
[0093]
在一种实施方式中,预设查询字段可以通过人工确定。统计人员根据自身场景的特点,选择场景覆盖率最大的查询字段,确定为预设查询字段,并将预设查询字段输入计算机设备,使得计算机设备获取到预设查询字段。通过人工确定预设查询字段,使得在不同的应用场景中,用户可以根据实际场景的数据使用规律,进行预设查询字段的最优选择。
[0094]
例如,道路交通场景使用频率比较高的查询字段主要为时间和位置,因此,在道路交通场景可以将表1中的字段a和字段b确定为预设查询字段。
[0095]
在另一种实施方式中,预设查询字段可以通过计算机设备确定。计算机设备获取最近预设时间段接收到的历史sql请求,例如,最近半年的,并将历史sql请求中配置的查询字段中使用频率大于或等于预设阈值b的查询字段,确定为预设查询字段。
[0096]
在另一种实施方式中,预设查询字段可以通过计算机设备确定。计算机设备对历史sql请求中配置的查询字段的使用频率从大到小的顺序进行排序,得到一个序列,然后,将该序列的前预设数量的查询字段确定为预设查询字段。当然,也可以按照从小到大的顺序进行排序,得到一个序列,然后,将该序列的后预设数量的查询字段确定为预设查询字段。
[0097]
在一种实施方式中,在第一查询字段与预设查询字段为相同字段的情况下,确定结构化数据表中与第一查询字段匹配的数据,已预先存储在加速处理单元中,并设置为加速处理单元的常驻数据。此时,可以基于加速处理单元中存储的常驻数据,执行sql请求。
[0098]
在另一种实施方式中,在第一查询字段与预设查询字段的匹配结果满足预设条件的情况下,例如满足预设条件可以是匹配度大于或等于预设阈值c,确定结构化数据表中与第一查询字段匹配的数据,已预先存储在加速处理单元中,并设置为加速处理单元的常驻数据。此时,可以基于加速处理单元中存储的常驻数据,执行sql请求。
[0099]
s102:获取结构化数据表中与预设查询字段匹配的第一数据,并将第一数据和预设查询字段加载至加速处理单元。
[0100]
在一种实施方式中,启动数据库服务,数据库基于配置文件将第一数据加载至加速处理单元。其中,配置文件至少包括预设查询字段,预设查询字段用于确定结构化数据表中的列数据,也即,预设查询字段对应的结构化数据表中的列数据为第一数据。进一步地,配置文件还包括数据库名和/或表名,数据库名可以通过第一标识进行表征,表名可以通过第二标识进行表征。其中,表名用于确定预设查询字段对应的列所在的表,例如,预设查询字段为颜色,表名为车辆,此时,将车辆这个表中的颜色对应的列数据确定为第一数据。
[0101]
在一种实施方式中,将第一数据加载至加速处理单元最小传输单元可以是数据块,数据块为预设行数的数据。例如,如图4所示,处理器从存储器中获取第一数据的多个数据块,并缓存在处理器中,然后加载至加速处理单元。
[0102]
s103:将加速处理单元中的第一数据和预设查询字段设置为常驻数据。
[0103]
在一种实施方式中,常驻数据包括多个预设字段匹配的数据,多个预设字段中包括预设查询字段。通过将预设查询字段设置为常驻数据,有助于从多个预设字段匹配的数据中,准确确定第一查询字段匹配的第一数据。例如,可以先确定第一查询字段与多个预设字段的匹配结果,然后,将匹配结果满足预设条件的预设字段匹配的数据确定为第一数据,也即,匹配结果满足预设条件的预设字段即为预设查询字段。
[0104]
在一种实施方式中,处理器将第一数据和预设查询字段加载至加速处理单元后,对加速处理单元中的第一数据和预设查询字段进行标记,以将第一数据和预设查询字段确定为加速处理单元的常驻数据,也即,加速处理单元执行缓存淘汰算法时不被淘汰的数据。
[0105]
上述实施例中,通过预设查询字段确定第一数据,有助于提高常驻数据与后续sql请求中的第一查询字段匹配的概率,进而提高常驻数据被使用的概率。
[0106]
预先将使用频率比较高的预设查询字段匹配的第一数据加载至加速处理单元,并设置为常驻数据,从而可以在接收到sql请求后,直接使用加速处理单元中的常驻数据执行sql请求,不必再实时将数据从处理器加载至加速处理单元执行sql请求,避免了处理器与加速处理单元之间的传输带宽限制加速处理单元的性能,从而最大化利用加速处理单元的算力优势,进而提高查询性能。
[0107]
可选地,将第一数据和预设查询字加载至加速处理单元,包括:确定第一数据的占用空间和加速处理单元的目标缓存空间;其中,目标缓存空间小于加速处理单元的最大缓存空间;在第一数据的占用空间大于目标缓存空间的情况下,将第一数据中的一部分数据加载至加速处理单元;其中,一部分数据的占用空间小于或等于目标缓存空间。
[0108]
在一种实施方式中,预先确定加速处理单元用于存储常驻数据的目标缓存空间,在第一数据的占用空间大于目标缓存空间的情况下,将第一数据中的一部分数据加载至加速处理单元。例如,第一数据的占用空间为12gb,加速处理单元的最大缓存空间为10gb,目标缓存空间为8gb,也即,加速处理单元预留2gb的动态缓存空间,此时,将第一数据中的一部分数据,例如,7.5gb的数据,加载至加速处理单元。
[0109]
需要说明的,最大缓存空间与目标缓存空间的差为动态缓存空间。
[0110]
可选地,一部分数据的历史使用频率大于第一数据中另一部分数据的历史使用频率;和/或一部分数据对应的预设查询字段的历史使用频率,大于第一数据中另一部分数据对应的预设查询字段的历史使用频率;和/或一部分数据存储至结构化数据表的时间晚于第一数据中另一部分数据存储至结构化数据表的时间;和/或一部分数据的生成时间晚于第一数据中另一部分数据的生成时间。通过数据的历史使用频率、预设查询字段的历史使用频率、数据存储至结构化数据表的时间以及数据的生成时间中的至少一项确定第一数据中存储至加速处理单元的一部分数据,有助于选取第一数据中覆盖率最大的数据的作为第一数据,也即,最大范围的覆盖sql请求中请求查询数据,从而提高加速处理单元中常驻数据的使用频率。
[0111]
在一种实施方式中,一部分数据的历史使用频率大于第一数据中的另一部分数据的历史使用频率。例如,对第一数据中的每列数据或每行数据按照历史使用频率从大到小进行排序,得到一个序列,然后,将该序列中的前n列数据或前n行数据加载至加速处理单元,该前n列数据或前n行数据的占用空间小于或等于目标缓存空间。在该实施例中,在加速处理单元中用于存储常驻数据的目标缓存空间不足时,通过将历史使用频率较大的一部分
数据加载至加速处理单元,不仅有助于提高加速处理单元中常驻数据的使用频率,也有助于提高加速处理单元的利用率。
[0112]
在另一种实施方式中,一部分数据对应的预设查询字段的历史使用频率,大于第一数据中另一部分数据对应的预设查询字段的历史使用频率。例如,确定第一数据中的每列数据对应的预设查询字段,并对预设查询字段按照历史使用频率从大到小进行排序,得到一个序列,然后,将该序列中的前m个预设查询字段对应的一部分数据加载至加速处理单元,该前m个预设查询字段对应的一部分数据的占用空间小于或等于目标缓存空间。在该实施方式中,在加速处理单元中用于存储常驻数据的目标缓存空间不足时,通过将历史使用频率较大的预设查询字段对应的一部分数据加载至加速处理单元,不仅有助于提高加速处理单元中常驻数据使用频率,也有助于提高加速处理单元的利用率。
[0113]
在另一种实施方式中,一部分数据存储至结构化数据表的时间晚于第一数据中另一部分数据存储至结构化数据表的时间。例如,对第一数据中的每列数据或每行数据或按照存储至结构化数据表的时间从晚到早进行排序,得到一个序列,然后,将该序列中的前k列数据或前k行数据加载至加速处理单元,该前k列数据或前k行数据的占用空间小于或等于目标缓存空间。在该实施方式中,在加速处理单元中用于存储常驻数据的目标缓存空间不足时,通过将最新存储至结构化数据表的一部分数据加载至加速处理单元,不仅有助于提高加速处理单元中常驻数据的使用频率,也有助于提高加速处理单元的利用率。
[0114]
在另一种实施方式中,一部分数据的生成时间晚于第一数据中的另一部分数据的生成时间。其中,数据的生成时间是指数据的采集时间。例如,例如,对第一数据中的每列数据或每行数据或按照生成时间从晚到早进行排序,得到一个序列,然后,将该序列中的前t列数据或前t行数据加载至加速处理单元,该前k列数据或前k行数据的占用空间小于或等于目标缓存空间。在该实施例中,在加速处理单元中用于存储常驻数据的目标缓存空间不足时,通过将最新生成的一部分数据加载至加速处理单元,不仅有助于提高加速处理单元中常驻数据的使用频率,也有助于提高加速处理单元的利用率。
[0115]
上述实施例中,在第一数据的占用空间大于等于目标缓存空间的情况下,仅将第一数据中的一部分数据加载至加速处理单元,从而实现为加速处理单元预留一部分的动态缓存空间。该预留的动态缓存空间,可以在sql请求中包括第二查询字段时,用于动态实时加载第二查询字段匹配的第二数据,进而提升第二查询字段的查询速度。
[0116]
可选地,sql请求还包括第二查询条件和第二查询字段,第二查询字段与预设查询字段不匹配,sql请求还用于请求查询第二数据中与第二查询条件匹配的第二目标数据,第二数据是结构化数据表中与第二查询字段匹配的数据,数据处理方法还包括:
[0117]
步骤一:将结构化数据表中的第二数据加载至加速处理单元。
[0118]
需要说明的,第二查询字段对应的第二数据存储在存储器中,也即,未在接收sql请求之前加载至加速处理单元,并设置为加速处理单元的常驻数据。
[0119]
在一种实施方式中,在sql请求中还包括第二查询字段的情况下,处理器将第二查询字段匹配的第二数据加载至加速处理单元中。例如,加载至加速处理单元预留的动态缓存空间。
[0120]
例如,sql请求中配置字段a、字段b和字段d作为查询字段,时间1、位置1和颜色1作为查询条件。其中,字段a和字段b即为本技术中的第一查询字段,与其匹配的第一数据已经
在接收sql请求之前,预先加载至加速处理单元并设置为常驻数据。字段d为本技术的第二查询字段,与其匹配的第二数据存储在存储器中,未在接收sql请求之前加载至加速处理的单元。因此,处理器在接收到sql请求之后,将结构化数据表中与字段d匹配的第二数据加载加速处理单元,以便加速处理单元可以执行查询第二目标数据的任务。
[0121]
步骤二:基于加速处理单元中的第二数据,确定与第二查询条件匹配的第二目标数据。
[0122]
在一种实施方式中,处理器将第二数据加载至加速处理单元后,加速处理单元从常驻数据中确定与第二查询字段匹配的第二数据,并从第二数据中确定与第二查询条件匹配的第二目标数据,之后,将第二目标数据返回给处理器。
[0123]
上述实施例中,通过将第二查询字段匹配的第二数据加载至加速处理单元进行处理,可以提高处理速度,并且,由于仅将sql请求中第二查询字段匹配的第二数据实时加载至加速处理单元,也即,仅实时加载少量数据,大量的第一数据已经预加载至加速处理单元,因而能够避免受到加速处理单元与处理器之间的传输带宽的限制,从而有助于充分利用加速处理单元的算力优势,提高查询性能。
[0124]
可选地,数据处理方法还包括:确定加速处理单元的可用缓存空间;可用缓存空间用于指示加速处理单元的未存储数据的缓存空间;在可用缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除加速处理单元中的第二数据。
[0125]
在一种实施方式中,在接收sql请求之后,处理器确定加速处理的可用缓存空间,也即,动态缓存空间,并在动态缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除动态缓存空间中的第二数据(即非常驻数据),从而在接收到包括第二查询字段的sql请求时,利用动态缓存空间执行第二查询字段对应的查询任务。
[0126]
在另一种实施方式中,处理器按照预设时间间隔,确定加速处理的可用缓存空间,例如,每间隔24小时确定加速处理的可用缓存空间,也即,动态缓存空间,并在可用缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除可用缓存空间中的第二数据(即非常驻数据),从而在接收到包括非预设查询字段的sql请求时,利用可用缓存空间执行非预设查询字段对应的查询任务。
[0127]
上述实施例中,通过可用缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除加速处理单元中的第二数据,从而释放加速处理单元的可用缓存空间,以用于执行非预设查询字段对应的查询任务,进而提高非预设查询字段对应的查询任务的查询速度。
[0128]
可选地,s202包括:
[0129]
步骤一:解析sql请求,得到至少一个执行任务。
[0130]
如图5所示,用户向处理器发送sql请求,处理器接收到sql请求后,对sql请求进行解析,以生成执行计划。其中,执行计划包括至少一个执行任务,每个执行任务包括至少一个查询字段和至少一个查询条件。
[0131]
步骤二:确定至少一个执行任务中的目标任务。其中,目标任务包括第一查询条件和第一查询字段。
[0132]
在一种实施方式中,基于预设查询字段确定至少一个执行任务中的目标任务。
[0133]
例如,在执行任务的查询字段与预设查询字段的匹配结果满足预设条件的情况
下,确定该执行任务为目标任务。其中,查询字段与预设查询字段的匹配结果满足预设条件,说明结构化数据表中该查询字段对应的列数据已经预先存储在加速处理单元中,因此,通过执行任务的查询字段确定由加速处理单元执行的目标任务,能够保证目标任务执行时需要的数据已经预先存储在加速处理单元中。
[0134]
在一种实施方式中,确定至少一个执行任务中的非目标任务。非目标任务为至少一个执行任务中除目标任务之外的其他任务。其中,非目标任务的查询字段与预设查询字段不匹配,也即,非目标任务的查询字段对应的数据未预先存储在加速处理单元并设置为加速处理单元的常驻数据。例如,第二查询字段对应的查询任务,也即,查询第二数据中与第二查询条件匹配的第二目标数据,第二数据是结构化数据表中与第二查询字段匹配的数据。
[0135]
可选地,针对非目标任务的执行有如下两种方式:
[0136]
方式1:处理器执行非目标任务,得到第二目标数据。
[0137]
例如,字段d与预设查询字段不匹配,处理器从表1中查询字段d对应的列数据,并查询到的该列数据与第二查询条件进行匹配,即,将该列数据与颜色1进行匹配,并将与第二查询条件(即颜色1)匹配的车辆1所在的行数据确定为第二目标数据。
[0138]
方式2:加速处理单元执行非目标任务,得到第二目标数据,并将第二目标数据返回给处理器。具体实施方式已在前述实施例中详细说明,此处不再赘述。
[0139]
步骤三:获取第一目标数据,第一目标数据是加速处理单元执行目标任务后从常驻数据中得到的。
[0140]
在一种实施方式中,在确定目标任务后,将每个目标任务编译为加速处理单元的可执行程序,例如,如图5所示的程序a,并将该可执行程序a在加速处理单元上启动执行,其中,加速处理单元对常驻数据执行程序a生成第一结果信息(第一目标数据)。例如,字段a和字段b属于第一查询字段,因此,处理器将包括字段a和字段b的执行任务确定为目标任务,加速处理单元从常驻数据中筛选出字段a、字段b分别对应的列数据,并与第一查询条件(即时间1和位置1)进行匹配,从而得到满足第一查询条件的车辆1、车辆3和车辆4,也即,得到本技术的第一目标数据。进一步地,处理器基于第一目标数据生成请求结果信息,返回给用户。
[0141]
可选地,处理器基于第一目标数据,或第一目标数据和第二目标数据,确定返回给用户的数据。
[0142]
在一种实施方式中,至少一个执行任务中所有的执行任务都是目标任务,处理器基于第一目标数据,确定返回给用户的数据,例如,sql请求配置的查询字段包括字段a和字段b,配置的查询条件包括时间1和位置1,加速处理单元确定第一目标数据包括车辆1、车辆3和车辆4所在的行数据,处理器将车辆1、车辆3和车辆4所在的行数据返回给用户。
[0143]
在另一种实施方式中,至少一个执行任务中包括目标任务和非目标任务,处理器基于第一目标数据和第二目标数据,确定返回给用户的数据。例如,sql请求配置的查询字段包括字段a、字段b和字段d,配置的查询条件包括时间1、位置1和颜色1,加速处理单元确定第一目标数据包括车辆1、车辆3和车辆4所在的行数据,第二目标数据包括车辆1所在的行数数据,处理器将车辆1所在的行数据返回给用户。
[0144]
上述实施例中,通过从sql请求中的至少一个执行任务中确定出由加速处理单元
执行的目标任务,从而实现将加速处理单元能够执行的任务从sql请求的多个待执行任务中剥离处理,避免将加速处理单元能够执行的任务交由处理器执行,从而实现最大化提高任务执行速度。
[0145]
可选地,第一数据包括第三数据,数据处理方法还包括:
[0146]
步骤一:修改结构化数据表中的第三数据,得到第四数据。例如,如图6所示,预设查询字段a对应的常驻数据包括a-1、a-2、a-3、
……
、a-(n-1)、a-(n)共n个数据块,其中,第三数据是数据块a-(n),修改结构化数据表中的数据块a-(n)(即第三数据),得到更新后的数据块a-(n)(即第四数据)。
[0147]
在一种实施方式中,修改结构化数据表中的第三数据由人工执行。例如,人工对结构化数据表中的第三数据进行修改,将第三修改数据修改为第四数据。
[0148]
在另一种实施方式中,修改结构化数据表中的第三数据由计算机设备执行。例如,计算机设备基于生成第三数据的原始数据,对结构化数据表中第三数据进行修改,将第三修改数据修改为第四数据。
[0149]
步骤二:删除加速处理单元中的第三数据。例如,如图7所示,删除加速处理单元中的数据块a-(n)。
[0150]
在一种实施方式中,响应于第一触发操作,第一触发操作用于表征结构化数据表中第三数据的修改操作,处理器删除加速处理单元中的第三数据。
[0151]
在另一种实施方式中,响应于第二触发操作,第二触发操作用于表征修改结构化数据表中第三数据之后首次接收到sql请求的操作,处理器删除加速处理单元中的第三数据。
[0152]
步骤三:将第四数据加载至加速处理单元,并将加速处理单元中的第四数据设置为常驻数据。例如,如图8所示,将更新后的数据块a-(n)加载至加速处理单元。
[0153]
在一种实施方式中,响应于第一触发操作,第一触发操作用于表征结构化数据表中第三数据的修改操作,处理器将第四数据加载至加速处理单元,并将加速处理单元中的第四数据设置为常驻数据。
[0154]
在另一种实施方式中,响应于第二触发操作,第二触发操作用于表征修改结构化数据表中第三数据之后首次接收到sql请求的操作,处理器将第四数据加载至加速处理单元,并将加速处理单元中的第四数据设置为常驻数据。
[0155]
需要说明的,本技术对步骤二和步骤三的执行顺序不作限定,可以先执行步骤二、再执行步骤三,或者,也可以先执行步骤三、再执行步骤二。
[0156]
上述实施例中,在结构化数据表中的第一数据发生修改操作时,处理器删除常驻数据中与被修改数据对应的数据,并将修改后的数据加载至加速处理单元,从而实现对加速处理单元中被修改数据的替换。由于处理器仅将修改第三数据得到的第四数据加载至加速处理单元中,相对于将修改后的第一数据整体从存储器中重新加载至加速处理单元,有助于保证第三数据修改前后的常驻数据一致性,同时避免了常驻数据中除被修改数据之外的其他数据的重复加载,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
[0157]
可选地,第一数据还包括第五数据,数据处理方法还包括:在结构化数据表中的第五数据被删除的情况下,删除加速处理单元的第五数据。
[0158]
在一种实施方式中,响应于第一触发操作,第一触发操作用于表征结构化数据表中第五数据的删除操作,处理器删除加速处理单元中的第五数据。
[0159]
在另一种实施方式中,响应于第二触发操作,第二触发操作用于表征删除结构化数据表中第五数据之后首次接收到sql请求的操作,处理器删除加速处理单元中的第五数据。
[0160]
上述实施例中,在结构化数据表中第一数据发生删除操作时,处理器仅对常驻数据中与被删除数据对应的数据执行删除操作,相对于将删除第五数据后的第一数据整体从存储器中重新加载至加速处理单元,有助于保证第五数据删除前后的常驻数据一致性,同时避免了常驻数据中除被删除数据之外的其他数据的重复加载,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
[0161]
在一种可能的实施方式中,数据处理方法还包括:
[0162]
步骤一:在结构化数据表中添加第六数据,第六数据与预设查询字段匹配。
[0163]
在一种实施方式中,将最新采集的数据存储至结构化数据表中,该最新采集的数据中包括与预设查询字段匹配的第六数据。例如,最新采集的数据可以是位置1的道路交通实时抓拍图像数据,对抓拍的图像数据进行数据处理后存储至结构化数据表中。其中,存储至结构化数据表中数据包括位置1(存储至字段b对应的列中)、时间3(存储至字段a对应的列中)、位置1经过车辆的信息(如颜色、品牌以及车牌号,分别对应存储至字段d、字段c以及字段e对应的列中)等。
[0164]
步骤二:将第六数据加载至加速处理单元,并将加速处理的单元中的第六数据设置为常驻数据。
[0165]
例如,如图9所示,预设查询字段a对应的第六数据包括k个数据块,则将k数据块加载至加速处理单元,并与预设查询字段a对应的第一数据的n个数据块连续排序,即k个数据块标记为a-(n+1)、
……
、a-(n+k)数据块。
[0166]
需要说明的,将第六数据加载至加速处理单元并设置为常驻数据的方法,可以参考第一数据加载至加速处理单元并设置为常驻数据的方法,此处不再赘述。
[0167]
上述实施例中,在结构化数据表中新增与预设查询字段匹配的第六数据后,仅将第六数据加载至加速处理单元并设置为常驻数据,对于加速处理单元中历史常驻数据不作任何处理,相对于将与预设查询字段匹配的最新第一数据整体从存储器中重新加载至加速处理单元,有助于保证增加第六数据前后的常驻数据一致性,同时避免了历史常驻数据中的重复加载,从而能够实现快速更新加速处理单元中的常驻数据,整个更新过程简单、高效。
[0168]
在一种可能的实施方式中,数据处理方法还包括:
[0169]
步骤一:获取常驻数据的占用空间。
[0170]
在一种实施方式中,处理器按照预设时间间隔执行步骤一和步骤二。例如,处理器每隔24小时获取常驻数据的占用空间,并执行步骤二。
[0171]
在另一种实施方式中,处理器在预设时间执行步骤一和步骤二。例如,处理器在每天的22:00点获取常驻数据的占用空间,并执行步骤二。
[0172]
步骤二:在常驻数据的占用空间大于或等于第二预设阈值的情况下,删除目标常驻数据。
[0173]
其中,目标常驻数据存储至结构化数据表中的时间晚于常驻数据中除目标常驻数据之外的数据存储至结构化数据表中的时间,和/或目标常驻数据的生成时间晚于常驻数据中除目标常驻数据之外的数据的生成时间。
[0174]
可选地,删除目标常驻数据可以由加速处理单元执行,或者,由处理器执行。
[0175]
例如,如图10中的(a)和(b)所示,常驻数据包括预设查询字段a的n个数据块,该n个数据块的占用空间大于或等于第二预设阈值,此时,删除图10中的(a)目标常驻数据,例如,删除数据块a-1和数据块a-2,得到图10中的(b)更新后的预设查询字段a对应的数据块。其中,图10中(b)中a-(n+1)、
……
、a-(n+k)为删除目标常驻数据后的新增常驻数据。
[0176]
在一种实施方式中,目标常驻数据为存储至结构化数据表中的时间晚于其他常驻数据存储至结构化数据表中的时间。例如,可以仅保留固定时间段内的数据,比如,仅保留最近半年存储至结构化数据表的数据。
[0177]
在另一种实施方式中,目标常驻数据的生成时间(即数据的采集时间)晚于其他常驻数据的生成时间。例如,可以仅保留固定时间段内的数据,比如,仅保留最近半年采集的数据。
[0178]
上述实施例中,通过获取常驻数据的占用空间,并在常驻数据的数据量比较大时,删除一部分常驻数据,从而扩展常驻数据的存储空间,以便用于存储最新的常驻数据。
[0179]
上述主要从方法的角度对本技术实施例的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0180]
本技术实施例可以根据上述方法示例对数据处理装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0181]
示例性的,图11示出了上述实施例中所涉及的数据处理装置(记为数据处理装置1100)的一种可能的结构示意图,该数据处理装置1100包括接收单元1101和执行单元1102。接收单元1101,用于接收结构化查询语言sql请求;其中,sql请求包括第一查询字段和第一查询条件,用于请求查询第一数据中与第一查询条件匹配的第一目标数据,第一数据是结构化数据表中与第一查询字段匹配的数据。例如,图2所示的s201。执行单元1102,用于基于加速处理单元中存储的常驻数据,执行sql请求;其中,常驻数据是接收sql请求之前已存储在加速处理单元中的数据,常驻数据是加速处理单元执行缓存淘汰算法时不被淘汰的数据,常驻数据包括第一数据。例如,图2所示的步骤s202。
[0182]
可选地,数据处理装置还包括加载单元,用于获取预设查询字段;预设查询字段与第一查询字段的匹配结果满足预设条件,且结构化数据表中与预设查询字段匹配的数据与第一数据相同;获取结构化数据表中与预设查询字段匹配的第一数据,并将第一数据和预
设查询字段加载至加速处理单元;将加速处理单元中的第一数据和预设查询字段设置为常驻数据。
[0183]
可选地,加载单元具体用于确定第一数据的占用空间和加速处理单元的目标缓存空间;其中,目标缓存空间小于加速处理单元的最大缓存空间;在第一数据的占用空间大于目标缓存空间的情况下,将第一数据中的一部分数据加载至加速处理单元;一部分数据的占用空间小于或等于目标缓存空间。
[0184]
可选地,sql请求还包括第二查询条件和第二查询字段,第二查询字段与预设查询字段不匹配,sql请求还用于请求查询第二数据中与第二查询条件匹配的第二目标数据,第二数据是结构化数据表中与第二查询字段匹配的数据,执行单元还用于:将结构化数据表中的第二数据加载至加速处理单元;基于加速处理单元中的第二数据,确定与第二查询条件匹配的第二目标数据。
[0185]
可选地,加载单元还用于:确定加速处理单元的可用缓存空间;可用缓存空间用于指示加速处理单元的未存储数据的缓存空间;在可用缓存空间小于或等于第一预设阈值的情况下,对加速处理单元执行缓存淘汰算法,以删除加速处理单元中的第二数据。
[0186]
可选地,一部分数据的历史使用频率大于第一数据中另一部分数据的历史使用频率;和/或一部分数据对应的预设查询字段的历史使用频率,大于第一数据中另一部分数据对应的预设查询字段的历史使用频率;和/或一部分数据存储至结构化数据表的时间晚于第一数据中另一部分数据存储至结构化数据表的时间;和/或一部分数据的生成时间晚于第一数据中另一部分数据的生成时间。
[0187]
可选地,第一数据包括第三数据,装置还包括变更单元,用于修改结构化数据表中的第三数据,得到第四数据;删除加速处理单元中的第三数据;将第四数据加载至加速处理单元,并将加速处理单元中的第四数据设置为常驻数据;和/或第一数据还包括第五数据,变更单元还用于:在结构化数据表中的第五数据被删除的情况下,删除加速处理单元中的第五数据;和/或变更单元还用于:在结构化数据表中添加第六数据;其中,第六数据与预设查询字段匹配;将第六数据加载至加速处理单元,并将加速处理的单元中的第六数据设置为常驻数据。
[0188]
可选地,装置还包括计算单元,用于获取常驻数据的占用空间;在常驻数据的占用空间大于或等于第二预设阈值的情况下,删除目标常驻数据;其中,目标常驻数据存储至结构化数据表中的时间晚于常驻数据中除目标常驻数据之外的数据存储至结构化数据表中的时间,和/或目标常驻数据的生成时间晚于常驻数据中除目标常驻数据之外的数据的生成时间。
[0189]
可选地,执行单元具体用于解析sql请求,得到至少一个执行任务;确定至少一个执行任务中的目标任务,其中,,目标任务包括第一查询条件和第一查询字段;获取第一目标数据;第一目标数据是加速处理单元执行目标任务后从常驻数据中得到的。
[0190]
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种数据处理装置1100的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
[0191]
作为示例,结合图11,数据处理装置1100中的接收单元1101和执行单元1102中的部分或全部实现的功能可以通过图1中的处理器101执行图1中的存储器102中的程序代码
实现。接收单元1101还可以通过图1中的通信接口103中的接收单元实现。
[0192]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
[0193]
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
[0194]
本技术实施例还提供了一种芯片。该芯片中集成了用于实现上述计算机设备60的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,asic)、微处理器(digital signal processor,dsp),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
[0195]
本技术实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如ssd)等。
[0196]
应注意,本技术实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
[0197]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬
盘(solid state disk,ssd))等。
[0198]
尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0199]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1