CN106445944A - 一种数据查询请求的处理方法、装置及电子设备 - Google Patents
一种数据查询请求的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN106445944A CN106445944A CN201510477053.7A CN201510477053A CN106445944A CN 106445944 A CN106445944 A CN 106445944A CN 201510477053 A CN201510477053 A CN 201510477053A CN 106445944 A CN106445944 A CN 106445944A
- Authority
- CN
- China
- Prior art keywords
- data
- bloom filter
- acquisition system
- default
- inquiry request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询请求的处理方法、装置及电子设备。其中所述数据查询请求的处理方法包括:接收调用方发送的对应特定数据的查询请求;通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。采用本申请提供的方法,能够对无效请求进行过滤阻挡,防止无效请求占用缓存或数据库资源,在不增加硬件资源的情况下,即可提高系统吞吐量,从而达到节约硬件成本的效果。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种数据查询请求的处理方法、装置及电子设备。
背景技术
随着互联网的发展,基于互联网的应用也日益增多,例如:网络金融、网络购物、社交媒体、电子商务、即时通讯等,各种应用为用户提供了丰富多彩的服务。互联网应用中的数据通常是保存在数据库中的,应用程序访问数据库是一项很费时的操作。如果先将数据库中的数据缓存到缓存区中,当应用程序需要这些数据时,直接从缓存区中提取,就可以减少系统开销。因此,目前的互联网应用通常采用“缓存+数据库服务器”的方法,处理来自访问者的数据查询请求。
在大数据时代,数据库服务器中存储的数据量非常大,无法将数据全部结构化缓存到内存中。因此,缓存区通常只存储常见的数据查询请求(也称为热点请求)的处理结果。此时,处理查询请求包括如下步骤:1)在预设缓存中,检索请求中的特定数据是否存在;如果存在,则从预设缓存中获取特定数据的相关数据;2)如果特定数据没有存储在预设缓存中,则在预设数据库中检索特定数据是否存在;若是,则从预设数据库中获取特定数据的相关数据,并将特定数据及其相关数据写入到预设缓存中;若否,则将预设数据库中未存储该特定数据的处理结果写入到预设缓存中。
可见,上述方法是将常见的数据查询请求及其处理结果写入缓存中,通过缓存能够处理大部分热点请求。特别的,通过将数据库中未存储特定数据的处理结果也写入到预设缓存中,使得再遇到针对该特定数据的查询请求时,通过缓存即可直接获取处理结果。由于缓存能够解决大量的常见数据查询请求,因此,数据库服务器能够得到合理的访问量,以此保证系统的吞吐能力。
随着互联网的日益普及,互联网应用的访问量每年以倍数增长,在访问量激增的同时,也带来无效请求增多的问题。例如,根据地址查询与其对应的区域代码,若输入的地址不规范,则无法查询到相应的区域代码,此类查询请求即为无效请求。在大数据时代,数据查询请求是无法规定、无法穷举的,如果仍然采用上述传统的“缓存+数据库服务器”方法,将查询不到结果的请求放入缓存中,则对缓存容量的要求将会是无限大。更严重的,由于每次请求都不尽相同,导致最终都会访问数据库,因此,对数据库的QPS(Query Per Second,每秒查询率)的要求也将会是无限大。可见,无论对于缓存区容量还是数据库服务器,都将导致机器数量无限增加,最终可能添加缓存机器都无济于事。
综上所述,在由于数据量大导致的无法缓存全部数据的情况下,采用传统的数据查询请求处理方法处理大量的未知请求,将导致在缓存无法命中时请求的处理会落到数据库服务器,即:缓存被击穿。因此,现有技术存在恒定硬件资源情况下,过多的未知请求导致击穿缓存的问题。
发明内容
本申请提供一种数据查询请求的处理方法、装置及电子设备,以解决现有技术存在的恒定硬件资源情况下,过多的未知请求导致击穿缓存的问题。
本申请提供一种数据查询请求的处理方法,包括:
接收调用方发送的对应特定数据的查询请求;
通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
可选的,所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果,包括:
根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标;
判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则所述检测结果为所述数据集合中不存在所述特定数据。
可选的,在所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果之前,还包括:
根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器。
可选的,所述根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器,包括:
读取预先存储的所述数据集合;
针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标;
将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1;
将所述预先生成的位阵列作为所述布隆过滤器。
可选的,还包括:
通过流技术,将所述与数据集合对应的布隆过滤器序列化;
将序列化的布隆过滤器存储在布隆过滤器文件中。
可选的,所述布隆过滤器文件存储在分布式文件系统中。
可选的,还包括:
将所述布隆过滤器文件的文件名通知应用集群。
可选的,所述将所述布隆过滤器文件的文件名通知应用集群,采用如下方式:
通过管理持久配置的系统,将所述文件名通知所述应用集群。
可选的,在所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果之前,还包括:
读取所述布隆过滤器文件,获取所述序列化的布隆过滤器;
反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
可选的,根据预设的时间间隔,生成所述与数据集合对应的布隆过滤器。
可选的,如果所述检测结果为所述数据集合中可能存在所述特定数据,还包括:
判断所述特定数据是否存储在预设的缓存中;
若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据;
若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中;
若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中;
若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
可选的,所述数据集合包括的数据元素存储在数据库中。
相应的,本申请还提供一种数据查询请求的处理装置,包括:
接收单元,用于接收调用方发送的对应特定数据的查询请求;
检测单元,用于通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
可选的,所述检测单元包括:
计算子单元,用于根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标;
判断子单元,用于判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则所述检测结果为所述数据集合中不存在所述特定数据。
可选的,还包括:
生成单元,用于根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器。
可选的,所述生成单元包括:
读取子单元,用于读取预先存储的所述数据集合;
计算子单元,用于针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标;
第一设置子单元,用于将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1;
第二设置子单元,用于将所述预先生成的位阵列作为所述布隆过滤器。
可选的,还包括:
序列化单元,用于通过流技术,将所述与数据集合对应的布隆过滤器序列化;
存储单元,用于将序列化的布隆过滤器存储在布隆过滤器文件中。
可选的,所述布隆过滤器文件存储在分布式文件系统中;所述装置还包括:
通知单元,用于将所述布隆过滤器文件的文件名通知应用集群。
可选的,还包括:
读取单元,用于读取所述布隆过滤器文件,获取所述序列化的布隆过滤器;
反序列化单元,用于反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
可选的,如果所述检测结果为所述数据集合中可能存在所述特定数据,还包括:
第一判断单元,用于判断所述特定数据是否存储在预设的缓存中;
第一获取单元,用于若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据;
第二判断单元,用于若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中;
第二获取单元,用于若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中;
判定单元,用于若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储数据查询请求的处理装置,所述数据查询请求的处理装置被所述处理器执行时,包括如下步骤:接收调用方发送的对应特定数据的查询请求;通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
与现有技术相比,本申请具有以下优点:
本申请提供的数据查询请求的处理方法、装置和电子设备,在接收到调用方发送的对应特定数据的查询请求后,通过预先生成的与数据集合对应的布隆过滤器,检测数据集合中是否存在特定数据并获取检测结果,使得能够对无效请求进行过滤阻挡,防止无效请求占用缓存或数据库资源,在不增加硬件资源的情况下,即可提高系统吞吐量,从而达到节约硬件成本的效果。
附图说明
图1是本申请的数据查询请求的处理方法实施例的流程图;
图2是本申请的数据查询请求的处理方法实施例生成布隆过滤器的具体流程图;
图3是本申请的数据查询请求的处理方法实施例位阵列的示意图;
图4是本申请的数据查询请求的处理方法实施例持久化存储布隆过滤器的具体流程图;
图5是本申请的数据查询请求的处理方法实施例准备步骤的具体流程图;
图6是本申请的数据查询请求的处理方法实施例步骤S103的具体流程图;
图7是本申请的数据查询请求的处理方法实施例后续步骤的具体流程图;
图8是本申请的数据查询请求的处理装置实施例的示意图;
图9是本申请的数据查询请求的处理装置实施例检测单元103的具体示意图;
图10是本申请的数据查询请求的处理装置实施例的具体示意图;
图11是本申请的电子设备实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种数据查询请求的处理方法、装置及电子设备。在下面的实施例中逐一进行详细说明。
本申请提供的数据查询请求的处理方法,其核心的基本思想为:通过布隆过滤器在内存中过滤掉对于互联网应用程序的大量无效访问请求,使得能够在恒定硬件资源情况下处理不断增加的流量请求。
请参考图1,其为本申请的数据查询请求的处理方法实施例的流程图。所述方法包括如下步骤:
步骤S101:接收调用方发送的对应特定数据的查询请求。
本申请实施例所述的调用方包括客户端或第三方应用。其中,客户端包括但不限于移动通讯设备,即:通常所说的手机或者智能手机,还包括个人电脑、PAD、iPad等终端设备;所述的第三方应用,是指将接收查询请求的互联网应用程序作为其部分功能的某种软件或应用,第三方应用可以是由非互联网应用程序编制方的其他组织或个人开发的相关软件。
在本实施例中,接收查询请求的互联网应用程序为Java程序语言编写的Web应用程序,位于服务器端。调用方为客户端,客户端用户通过浏览器向运行在服务器端的互联网应用程序发送对应特定数据的查询请求。在实际应用中,如果调用方为第三方应用,则第三方应用通过网络套接字向运行在服务器端的互联网应用程序发送查询请求。
本申请实施例所述的特定数据持久化存储在数据库中,所述的数据集合是由特定数据所属的字段(属性)在数据表中的所有数据构成的,因此数据集合包括的数据元素也存储在数据库中。例如,数据集合与数据库中的字段“区县”相对应,包括所有区县级的数据元素,若调用方指定查询的特定数据为位于广西省梧州市下的“蝶山区”,则由于“蝶山区”已改名为“万秀区”,因此对特定数据“蝶山区”的查询请求被视为无效请求。
当互联网应用程序接收到查询请求后,就可以进入步骤S103,通过在内存中预先生成的与数据集合对应的布隆过滤器,检测数据集合中是否存在特定数据并获取检测结果。
步骤S103:通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
本申请实施例所述的布隆过滤器,是一个长度可调节的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个数据元素是否在一个数据集合中。相对于链表或散列表等数据结构,采用布隆过滤器的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。
布隆过滤器具有极高的空间效率的原因在于:布隆过滤器不需要存储数据元素本身,实质上是一个包括压缩数据的位阵列(Bit Array)。通过一个哈希函数能够将一个数据元素映射成位阵列中的一个点,通过多个哈希函数能够将一个数据元素映射成位阵列中的多个点。当需要检测是否存在特定数据元素时,首先通过多个哈希函数获取该特定数据元素映射到位阵列中的多个点的位置,然后只要判断位阵列中这些位置处的值是不是1,即可判定数据集合中是否存在该特定数据元素。
要实施本申请实施例提供的方法,首先需要生成布隆过滤器。因此,在步骤S103之前,还包括:根据预设数量的各个预设哈希函数,生成与数据集合对应的布隆过滤器。
通过本申请实施例所述的预设数量的各个哈希函数,对特定数据产生预设数量的信息指纹,这些预设数量的信息指纹对应到布隆过滤器的预设数量的二进制位。本申请实施例所述的哈希函数的预设数量,与误识别率(False Positive)有关。在哈希函数的数量固定后,随着存入布隆过滤器的数据元素数量增加,误识别率随之增加。因此,在实际应用中,需要根据数据量确定哈希函数的数量,以降低误识别率。
请参考图2,其为本申请的数据查询请求的处理方法实施例生成布隆过滤器的具体流程图。在本实施例中,根据预设数量的各个预设哈希函数,生成与数据集合对应的布隆过滤器,包括如下步骤:
步骤S201:读取预先存储的所述数据集合。
由于本申请实施例所述的布隆过滤器是与数据集合相对应的,因此要生成布隆过滤器,首先需要读取预先存储在数据库中的数据集合。例如,数据集合与数据库中的字段“区县”相对应,则可以通过SQL语句获取字段“区县”中的所有数据,将其作为数据集合中的数据元素。
步骤S203:针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标。
对于从数据库中读取的每一个数据元素,通过预设数量的各个哈希函数,对每一个数据元素均产生预设数量的信息指纹,并将这些预设数量的信息指纹作为与其对应的数据元素在位阵列中的阵列坐标,将这些阵列坐标作为待处理阵列的阵列坐标。
步骤S205:将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1。
根据步骤S203计算生成的各个待处理阵列的阵列坐标,将预先生成的位阵列中各个待处理阵列的阵列坐标的对应阵列的值设置为1。
步骤S203和步骤S205的形式化表示及说明如下所述:在初始状态时,对于长度为m的位阵列(数组array),它的所有位都被置为0。对于有n个数据元素的数据集合S={s1,s2......sn},通过k个映射函数(哈希函数){f1,f2,......fk},将数据集合S中的每个数据元素sj(1<=j<=n)映射为k个值{g1,g2......gk},然后再将位阵列中相对应的array[g1],array[g2]......array[gk]置为1。
步骤S207:将所述预先生成的位阵列作为所述布隆过滤器。
当完成每一个数据元素在位阵列中相关阵列值的设置后,将设置值后的位阵列作为与数据集合对应得布隆过滤器。
通过上述步骤S201至步骤S207,生成与数据集合对应的布隆过滤器。请参考图3,其为本申请的数据查询请求的处理方法实施例位阵列的示意图。
在实际应用中,通常还需要持久化存储布隆过滤器的内容,以使得能够重复使用布隆过滤器。请参考图4,其为本申请的数据查询请求的处理方法实施例持久化存储布隆过滤器的具体流程图。在本实施例中,持久化存储布隆过滤器的内容,包括如下步骤:
步骤S401:通过流技术,将所述与数据集合对应的布隆过滤器序列化。
通过上述步骤S201至步骤S207,根据存储在数据库中的每一个数据元素,生成了对象化的布隆过滤器。在计算机软件中,保存对象的标准机制为序列化。序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取并反序列化对象的状态,重新创建该对象。序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态。
步骤S403:将序列化的布隆过滤器存储在布隆过滤器文件中。
通过步骤S401将与数据集合对应的布隆过滤器序列化后,再通过步骤S403将序列化的布隆过滤器存储在布隆过滤器文件中。在实际应用中,布隆过滤器文件可以采用多种文件格式,例如,文本格式、word格式或数据库格式等。在本实施例中,采用文本格式的布隆过滤器文件,以提高存取效率。
需要说明的是,在实际应用中,还需要注意数据的时效性,以增强数据的有效性。为此,可以根据具体需求,确定生成布隆过滤器文件的时间间隔,例如,在每天的固定时间,读取数据库获取数据元素,生成布隆过滤器,并将其序列化后存储在布隆过滤器文件中。
当根据持久化的布隆过滤器文件应用本申请提供的方法时,在通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果之前,还包括一些步骤。请参考图5,其为本申请的数据查询请求的处理方法实施例准备步骤的具体流程图。在本实施例中,当根据持久化的布隆过滤器文件应用本申请提供的方法时,在步骤S103之前,还包括如下准备步骤:
步骤S501:读取所述布隆过滤器文件,获取所述序列化的布隆过滤器。
由于布隆过滤器预先存储在布隆过滤器文件中,而非直接生成的布隆过滤器对象,因此,首先需要读取布隆过滤器文件,获取序列化的布隆过滤器。
本实施例的互联网应用程序处于集群应用环境,是应用集群中的一个具体的互联网应用。在本实施例中,为使得集群中各个应用均能读取统一的布隆过滤器文件,需要将布隆过滤器文件存储在分布式文件系统中,当应用程序接收到查询请求后,会重新到云端读取布隆过滤器文件。本实施例采用TFS(TaobaoFileSystem)分布式文件系统存储布隆过滤器文件。
TFS是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA(High Available,高可用性)架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时,扁平化的数据组织结构可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。
当采用分布式文件系统存储布隆过滤器文件时,在通过步骤S403生成位于分布式文件系统中的布隆过滤器文件后,还包括:将所述布隆过滤器文件的文件名通知应用集群。
在本实施例中,通过管理持久配置的系统,将布隆过滤器文件的文件名通知应用集群,例如:淘宝开源的diamand系统。diamand是淘宝开源的管理持久配置的系统,持久配置是指配置数据会持久化到磁盘和数据库中,diamond为应用系统提供了获取配置的服务,应用不仅可以在启动时从diamond获取相关的配置,而且可以在运行中对配置数据的变化进行感知并获取变化后的配置数据。
步骤S503:反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
与存储布隆过滤器时采用的保存对象机制相对应,在读取已存的序列化布隆过滤器之后,需要采用相反的机制,把保存的对象状态再读出来。在本实施例中,采用反序列化机制从序列化的表示形式中提取数据,并直接设置对象状态,将其还原为一个对象。
可见,步骤S503与步骤S401相对应,步骤S401是将布隆过滤器序列化,步骤S503是对序列化的布隆过滤器做反序列化处理,在内存中构建对象化的布隆过滤器。
请参考图6,其为本申请的数据查询请求的处理方法实施例步骤S103的具体流程图。在本实施例中,所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果,包括:
步骤S1031:根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标。
步骤S1031与步骤S203相对应,采用生成布隆过滤器时所应用到的相同预设数量的各个预设哈希函数,计算实际查询请求中的特定数据的各个预设哈希函数的值,作为预先生成的布隆过滤器的各个阵列坐标。
步骤S1033:判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则检测结果为数据集合中不存在特定数据。
根据步骤S1031计算获取的各个阵列坐标,判断在预先生成的布隆过滤器中各个阵列坐标的对应阵列的值是否均为1;若是,则检测结果为数据集合中可能存在特定数据;如果有任一位置处的值为0,则检测结果为数据集合中不存在特定数据。
步骤S1031和步骤S1033的形式化表示及说明如下所述:如果要查找某个数据元素item是否在数据集合S中,则通过映射函数(哈希函数){f1,f2.....fk}得到k个值{g1,g2.....gk},然后再判断array[g1],array[g2]......array[gk]是否都为1,若全为1,则item在S中,否则item不在S中。
通过步骤S103获取检测结果之后,如果判定数据集合中可能包括特定数据,则还需要通过一些后续步骤进一步判断数据集合中是否真实包括特定数据,如果真实存在,则获取特定数据的相关数据。请参考图7,其为本申请的数据查询请求的处理方法实施例后续步骤的具体流程图。在本实施例中,如果检测结果为数据集合中存在特定数据,即:查询请求为有效请求,则后续处理步骤包括:
步骤S701:判断所述特定数据是否存储在预设的缓存中。
如果通过布隆过滤器判定数据集合中可能存在特定数据,则后续步骤与现有技术的“缓存+数据库服务器”的方法相同,即首先需要在预设缓存中,检索请求中的特定数据是否存在。
步骤S702:若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据。
如果步骤S701的判断结果为特定数据存储在预设的缓存中,则直接从缓存区中提取特定数据的相关数据,以减少系统开销。
步骤S703:若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中。
如果步骤S701的判断结果为特定数据未存储在预设的缓存中,则需要访问数据库,判断特定数据是否存储在预设的数据库中。
步骤S704:若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中。
如果步骤S703的判断结果为特定数据存储在预设的数据库中,则可以通过SQL查询语句,从预设的数据库中读取特定数据的相关数据。
在实际应用中,从预设的数据库中读取特定数据的相关数据后,还需要将对特定数据的查询请求及从数据库中获取的相关数据的对应关系存储在缓存区中,作为热点请求。
步骤S705:若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
如果步骤S703的判断结果为特定数据未存储在预设的数据库中,则表示特定数据不存在。发生该情况的原因在于:布隆过滤器的误判。布隆过滤器的误判率和哈希函数的设计、哈希函数的数量及位阵列的大小均有关。
在实际应用中,从特定数据未存储在所述预设的数据库中,还需要将对特定数据的查询请求及数据不存在的处理结果的对应关系存储在缓存区中,作为热点请求。
在上述的实施例中,提供了一种数据查询请求的处理方法,与之相对应的,本申请还提供一种数据查询请求的处理装置。该装置是与上述方法的实施例相对应。
请参看图8,其为本申请的数据查询请求的处理装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种数据查询请求的处理装置,包括:
接收单元101,用于接收调用方发送的对应特定数据的查询请求;
检测单元103,用于通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
请参考图9,其为本申请的数据查询请求的处理方法实施例检测单元103的具体示意图。可选的,所述检测单元103包括:
计算子单元1031,用于根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标;
判断子单元1033,用于判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则所述检测结果为所述数据集合中不存在所述特定数据。
请参考图10,其为本申请的数据查询请求的处理方法实施例的具体示意图。可选的,还包括:
生成单元201,用于根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器。
可选的,所述生成单元201包括:
读取子单元2011,用于读取预先存储的所述数据集合;
计算子单元2013,用于针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标;
第一设置子单元2015,用于将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1;
第二设置子单元2017,用于将所述预先生成的位阵列作为所述布隆过滤器。
可选的,还包括:
序列化单元202,用于通过流技术,将所述与数据集合对应的布隆过滤器序列化;
存储单元203,用于将序列化的布隆过滤器存储在布隆过滤器文件中。
可选的,所述布隆过滤器文件存储在分布式文件系统中;所述装置还包括:
通知单元204,用于将所述布隆过滤器文件的文件名通知应用集群。
可选的,还包括:
读取单元205,用于读取所述布隆过滤器文件,获取所述序列化的布隆过滤器;
反序列化单元206,用于反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
可选的,如果所述检测结果为所述数据集合中可能存在所述特定数据,还包括:
第一判断单元,用于判断所述特定数据是否存储在预设的缓存中;
第一获取单元,用于若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据;
第二判断单元,用于若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中;
第二获取单元,用于若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中;
判定单元,用于若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
请参考图11,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:显示器1101;处理器1102;以及存储器1103,所述存储器1103被配置成存储数据查询请求的处理装置,所述数据查询请求的处理装置被所述处理器1102执行时,包括如下步骤:接收调用方发送的对应特定数据的查询请求;通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
本申请提供的数据查询请求的处理方法、装置和电子设备,在接收到调用方发送的对应特定数据的查询请求后,通过预先生成的与数据集合对应的布隆过滤器,检测数据集合中是否存在特定数据并获取检测结果,使得能够对无效请求进行过滤阻挡,防止无效请求占用缓存或数据库资源,在不增加硬件资源的情况下,即可提高系统吞吐量,从而达到节约硬件成本的效果。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (21)
1.一种数据查询请求的处理方法,其特征在于,包括:
接收调用方发送的对应特定数据的查询请求;
通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
2.根据权利要求1所述的数据查询请求的处理方法,其特征在于,所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果,包括:
根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标;
判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则所述检测结果为所述数据集合中不存在所述特定数据。
3.根据权利要求2所述的数据查询请求的处理方法,其特征在于,在所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果之前,还包括:
根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器。
4.根据权利要求3所述的数据查询请求的处理方法,其特征在于,所述根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器,包括:
读取预先存储的所述数据集合;
针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标;
将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1;
将所述预先生成的位阵列作为所述布隆过滤器。
5.根据权利要求3所述的数据查询请求的处理方法,其特征在于,还包括:
通过流技术,将所述与数据集合对应的布隆过滤器序列化;
将序列化的布隆过滤器存储在布隆过滤器文件中。
6.根据权利要求5所述的数据查询请求的处理方法,其特征在于,所述布隆过滤器文件存储在分布式文件系统中。
7.根据权利要求6所述的数据查询请求的处理方法,其特征在于,还包括:
将所述布隆过滤器文件的文件名通知应用集群。
8.根据权利要求7所述的数据查询请求的处理方法,其特征在于,所述将所述布隆过滤器文件的文件名通知应用集群,采用如下方式:
通过管理持久配置的系统,将所述文件名通知所述应用集群。
9.根据权利要求5所述的数据查询请求的处理方法,其特征在于,在所述通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果之前,还包括:
读取所述布隆过滤器文件,获取所述序列化的布隆过滤器;
反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
10.根据权利要求1所述的数据查询请求的处理方法,其特征在于,根据预设的时间间隔,生成所述与数据集合对应的布隆过滤器。
11.根据权利要求1所述的数据查询请求的处理方法,其特征在于,如果所述检测结果为所述数据集合中可能存在所述特定数据,还包括:
判断所述特定数据是否存储在预设的缓存中;
若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据;
若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中;
若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中;
若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
12.根据权利要求1所述的数据查询请求的处理方法,其特征在于,所述数据集合包括的数据元素存储在数据库中。
13.一种数据查询请求的处理装置,其特征在于,包括:
接收单元,用于接收调用方发送的对应特定数据的查询请求;
检测单元,用于通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
14.根据权利要求13所述的数据查询请求的处理装置,其特征在于,所述检测单元包括:
计算子单元,用于根据预设数量的各个预设哈希函数,计算所述特定数据的各个预设哈希函数的值,作为所述预先生成的布隆过滤器的各个阵列坐标;
判断子单元,用于判断在所述预先生成的布隆过滤器中所述各个阵列坐标的对应阵列的值是否均为1;若是,则所述检测结果为所述数据集合中可能存在所述特定数据;若否,则所述检测结果为所述数据集合中不存在所述特定数据。
15.根据权利要求14所述的数据查询请求的处理装置,其特征在于,还包括:
生成单元,用于根据所述预设数量的各个预设哈希函数,生成所述与数据集合对应的布隆过滤器。
16.根据权利要求15所述的数据查询请求的处理装置,其特征在于,所述生成单元包括:
读取子单元,用于读取预先存储的所述数据集合;
计算子单元,用于针对所述数据集合中的各个数据元素,根据所述预设数量的各个预设哈希函数,计算所述数据元素的各个预设哈希函数的值,作为各个待处理阵列的阵列坐标;
第一设置子单元,用于将预先生成的位阵列中所述各个待处理阵列的阵列坐标的对应阵列的值设置为1;
第二设置子单元,用于将所述预先生成的位阵列作为所述布隆过滤器。
17.根据权利要求15所述的数据查询请求的处理装置,其特征在于,还包括:
序列化单元,用于通过流技术,将所述与数据集合对应的布隆过滤器序列化;
存储单元,用于将序列化的布隆过滤器存储在布隆过滤器文件中。
18.根据权利要求17所述的数据查询请求的处理装置,其特征在于,所述布隆过滤器文件存储在分布式文件系统中;所述装置还包括:
通知单元,用于将所述布隆过滤器文件的文件名通知应用集群。
19.根据权利要求17所述的数据查询请求的处理装置,其特征在于,还包括:
读取单元,用于读取所述布隆过滤器文件,获取所述序列化的布隆过滤器;
反序列化单元,用于反序列化所述序列化的布隆过滤器,在内存中构建所述预先生成的与数据集合对应的布隆过滤器。
20.根据权利要求13所述的数据查询请求的处理装置,其特征在于,如果所述检测结果为所述数据集合中可能存在所述特定数据,还包括:
第一判断单元,用于判断所述特定数据是否存储在预设的缓存中;
第一获取单元,用于若所述特定数据存储在所述预设的缓存中,则从所述预设的缓存中获取所述特定数据的相关数据;
第二判断单元,用于若所述特定数据未存储在所述预设的缓存中,则判断所述特定数据是否存储在预设的数据库中;
第二获取单元,用于若所述特定数据存储在所述预设的数据库中,则从所述预设的数据库中获取所述特定数据的相关数据,并将所述对应特定数据的查询请求及获取的相关数据存储在所述预设的缓存中;
判定单元,用于若所述特定数据未存储在所述预设的数据库中,则判定所述特定数据不存在,并将所述对应特定数据的查询请求及数据不存在的处理结果存储在所述预设的缓存中。
21.一种电子设备,其特征在于,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储数据查询请求的处理装置,所述数据查询请求的处理装置被所述处理器执行时,包括如下步骤:接收调用方发送的对应特定数据的查询请求;通过预先生成的与数据集合对应的布隆过滤器,检测所述数据集合中是否存在所述特定数据并获取检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510477053.7A CN106445944A (zh) | 2015-08-06 | 2015-08-06 | 一种数据查询请求的处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510477053.7A CN106445944A (zh) | 2015-08-06 | 2015-08-06 | 一种数据查询请求的处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445944A true CN106445944A (zh) | 2017-02-22 |
Family
ID=58092496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510477053.7A Pending CN106445944A (zh) | 2015-08-06 | 2015-08-06 | 一种数据查询请求的处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445944A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291932A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇虎科技有限公司 | 一种数据查询方法和装置 |
CN107329903A (zh) * | 2017-06-28 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种内存垃圾回收方法及系统 |
CN107943945A (zh) * | 2017-11-24 | 2018-04-20 | 清华大学 | 一种大数据分析开发平台中异构算子管理方法 |
CN108133031A (zh) * | 2017-12-29 | 2018-06-08 | 北京搜狐新媒体信息技术有限公司 | 一种过滤推荐视频候选结果的方法及装置 |
CN109597807A (zh) * | 2018-10-25 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数仓表处理方法和装置 |
CN109656901A (zh) * | 2018-10-15 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置、电子设备 |
CN109710644A (zh) * | 2018-12-26 | 2019-05-03 | 苏州思必驰信息科技有限公司 | 防止缓存穿透的方法和装置 |
CN110765138A (zh) * | 2019-10-31 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
WO2020042813A1 (zh) * | 2018-08-31 | 2020-03-05 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
CN110866001A (zh) * | 2018-08-21 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 确定待处理订单的方法和装置 |
CN110865982A (zh) * | 2019-11-19 | 2020-03-06 | 深信服科技股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
CN110941670A (zh) * | 2019-11-21 | 2020-03-31 | 北京达佳互联信息技术有限公司 | 标记状态检测方法及装置 |
CN111125751A (zh) * | 2019-12-03 | 2020-05-08 | 中盈优创资讯科技有限公司 | 数据库的防穿库方法及装置 |
CN111309737A (zh) * | 2020-03-11 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 名单查询方法、装置及设备 |
CN111339148A (zh) * | 2020-03-13 | 2020-06-26 | 深圳前海环融联易信息科技服务有限公司 | 防止击穿缓存服务的方法、装置、计算机设备及存储介质 |
CN112035479A (zh) * | 2020-08-31 | 2020-12-04 | 平安医疗健康管理股份有限公司 | 医药类数据库的访问方法、装置和计算机设备 |
CN112084216A (zh) * | 2020-09-16 | 2020-12-15 | 上海宏路数据技术股份有限公司 | 基于布隆过滤器的数据查询系统 |
CN112184326A (zh) * | 2020-10-14 | 2021-01-05 | 深圳市欢太科技有限公司 | 处理高并发秒杀活动的方法、高并发系统、终端及计算机可读存储介质 |
CN112528098A (zh) * | 2020-12-16 | 2021-03-19 | 浙江百应科技有限公司 | 一种数据查询方法、系统、电子设备及存储介质 |
CN112925629A (zh) * | 2021-03-31 | 2021-06-08 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN113760965A (zh) * | 2020-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据查询的方法和装置 |
CN117271840A (zh) * | 2023-09-22 | 2023-12-22 | 北京海致星图科技有限公司 | 图数据库的数据查询方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
CN104113525A (zh) * | 2014-05-23 | 2014-10-22 | 中国电子技术标准化研究院 | 一种防御资源消耗型Web攻击方法及装置 |
CN104572727A (zh) * | 2013-10-22 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
-
2015
- 2015-08-06 CN CN201510477053.7A patent/CN106445944A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
CN104572727A (zh) * | 2013-10-22 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN104113525A (zh) * | 2014-05-23 | 2014-10-22 | 中国电子技术标准化研究院 | 一种防御资源消耗型Web攻击方法及装置 |
Non-Patent Citations (3)
Title |
---|
冯加军: "《基于P2P的海量文本数据管理系统研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
张华等: "《Bloom Filter技术及应用》", 《阜阳师范学院学报(自然科学版)》 * |
王鹏超等: "《基于布隆过滤器的精确匹配算法设计与实现》", 《计算机科学》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329903A (zh) * | 2017-06-28 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种内存垃圾回收方法及系统 |
CN107329903B (zh) * | 2017-06-28 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种内存垃圾回收方法及系统 |
CN107291932B (zh) * | 2017-06-30 | 2021-02-05 | 北京奇虎科技有限公司 | 一种数据查询方法和装置 |
CN107291932A (zh) * | 2017-06-30 | 2017-10-24 | 北京奇虎科技有限公司 | 一种数据查询方法和装置 |
CN107943945A (zh) * | 2017-11-24 | 2018-04-20 | 清华大学 | 一种大数据分析开发平台中异构算子管理方法 |
CN107943945B (zh) * | 2017-11-24 | 2018-12-11 | 清华大学 | 一种大数据分析开发平台中异构算子管理方法 |
CN108133031A (zh) * | 2017-12-29 | 2018-06-08 | 北京搜狐新媒体信息技术有限公司 | 一种过滤推荐视频候选结果的方法及装置 |
CN110866001A (zh) * | 2018-08-21 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 确定待处理订单的方法和装置 |
WO2020042813A1 (zh) * | 2018-08-31 | 2020-03-05 | 阿里巴巴集团控股有限公司 | 一种分布式数据连接处理方法、装置、设备及存储介质 |
TWI716016B (zh) * | 2018-08-31 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 分散式資料連接處理方法、裝置、設備及儲存媒體 |
US11188535B2 (en) | 2018-08-31 | 2021-11-30 | Beijing Oceanbase Technology Co., Ltd. | Distributed join operation processing method, apparatus, device, and storage medium |
CN109656901A (zh) * | 2018-10-15 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置、电子设备 |
CN109597807A (zh) * | 2018-10-25 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数仓表处理方法和装置 |
CN109710644A (zh) * | 2018-12-26 | 2019-05-03 | 苏州思必驰信息科技有限公司 | 防止缓存穿透的方法和装置 |
CN110765138A (zh) * | 2019-10-31 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110865982A (zh) * | 2019-11-19 | 2020-03-06 | 深信服科技股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
CN110941670A (zh) * | 2019-11-21 | 2020-03-31 | 北京达佳互联信息技术有限公司 | 标记状态检测方法及装置 |
CN110941670B (zh) * | 2019-11-21 | 2023-03-14 | 北京达佳互联信息技术有限公司 | 标记状态检测方法、装置、设备及存储介质 |
CN111125751A (zh) * | 2019-12-03 | 2020-05-08 | 中盈优创资讯科技有限公司 | 数据库的防穿库方法及装置 |
CN111309737A (zh) * | 2020-03-11 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 名单查询方法、装置及设备 |
CN111339148A (zh) * | 2020-03-13 | 2020-06-26 | 深圳前海环融联易信息科技服务有限公司 | 防止击穿缓存服务的方法、装置、计算机设备及存储介质 |
CN113760965A (zh) * | 2020-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据查询的方法和装置 |
CN112035479A (zh) * | 2020-08-31 | 2020-12-04 | 平安医疗健康管理股份有限公司 | 医药类数据库的访问方法、装置和计算机设备 |
CN112084216A (zh) * | 2020-09-16 | 2020-12-15 | 上海宏路数据技术股份有限公司 | 基于布隆过滤器的数据查询系统 |
CN112084216B (zh) * | 2020-09-16 | 2021-05-11 | 上海嗨普智能信息科技股份有限公司 | 基于布隆过滤器的数据查询系统 |
CN112184326A (zh) * | 2020-10-14 | 2021-01-05 | 深圳市欢太科技有限公司 | 处理高并发秒杀活动的方法、高并发系统、终端及计算机可读存储介质 |
CN112528098A (zh) * | 2020-12-16 | 2021-03-19 | 浙江百应科技有限公司 | 一种数据查询方法、系统、电子设备及存储介质 |
CN112925629A (zh) * | 2021-03-31 | 2021-06-08 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN112925629B (zh) * | 2021-03-31 | 2023-10-20 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN117271840A (zh) * | 2023-09-22 | 2023-12-22 | 北京海致星图科技有限公司 | 图数据库的数据查询方法、装置及电子设备 |
CN117271840B (zh) * | 2023-09-22 | 2024-02-13 | 北京海致星图科技有限公司 | 图数据库的数据查询方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445944A (zh) | 一种数据查询请求的处理方法、装置及电子设备 | |
US9448999B2 (en) | Method and device to detect similar documents | |
US8972337B1 (en) | Efficient query processing in columnar databases using bloom filters | |
CN103812939B (zh) | 一种大数据存储系统 | |
CN104281701B (zh) | 分布式多尺度空间数据查询方法及系统 | |
US8954524B1 (en) | Access to network content | |
WO2021003921A1 (zh) | 数据处理方法及终端设备 | |
WO2016145993A1 (zh) | 一种用户设备识别方法及系统 | |
CN111258956B (zh) | 一种面向远端海量数据文件预读的方法及设备 | |
CN107636655B (zh) | 实时提供数据即服务(DaaS)的系统和方法 | |
CN110399348A (zh) | 文件重删方法、装置、系统及计算机可读存储介质 | |
CN110019048A (zh) | 基于MongoDB的文件处理方法、装置、系统及服务器 | |
CN104021028B (zh) | 虚拟机环境下的web缓存方法及装置 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN104252447A (zh) | 文件行为分析方法及装置 | |
CN107015978B (zh) | 一种网页资源处理方法以及装置 | |
CN104077291B (zh) | 用户生成内容访问次数的发布方法、客户端及系统 | |
US20040088474A1 (en) | NAND type flash memory disk device and method for detecting the logical address | |
CN112416880A (zh) | 一种基于实时归并的海量小文件存储性能优化方法及装置 | |
US20130132368A1 (en) | Large scale analytical reporting from web content | |
KR101556743B1 (ko) | 웹 수집에 기반한 관심 정보 생성 장치 및 그 방법 | |
US11681653B2 (en) | Namespace representation and enhanced browsability for replicated file systems | |
CN110955855A (zh) | 一种信息拦截的方法、装置及终端 | |
CN111427920B (zh) | 数据采集方法、装置、系统、计算机设备及存储介质 | |
US9092338B1 (en) | Multi-level caching event lookup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180425 Address after: Cayman Islands, Grand Cayman Island capital building, four level 847 box Applicant after: CAINIAO SMART LOGISTICS HOLDING Ltd. Address before: Cayman Islands Grand Cayman capital building a four storey No. 847 mailbox Applicant before: ALIBABA GROUP HOLDING Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |