CN105812203A - 一种请求消息处理方法及设备 - Google Patents

一种请求消息处理方法及设备 Download PDF

Info

Publication number
CN105812203A
CN105812203A CN201610128959.2A CN201610128959A CN105812203A CN 105812203 A CN105812203 A CN 105812203A CN 201610128959 A CN201610128959 A CN 201610128959A CN 105812203 A CN105812203 A CN 105812203A
Authority
CN
China
Prior art keywords
bloom filter
content information
request message
layer
records ends
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.)
Granted
Application number
CN201610128959.2A
Other languages
English (en)
Other versions
CN105812203B (zh
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.)
Asialnfo Technology (nanjing) Co Ltd
Original Assignee
Asialnfo Technology (nanjing) 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 Asialnfo Technology (nanjing) Co Ltd filed Critical Asialnfo Technology (nanjing) Co Ltd
Priority to CN201610128959.2A priority Critical patent/CN105812203B/zh
Publication of CN105812203A publication Critical patent/CN105812203A/zh
Application granted granted Critical
Publication of CN105812203B publication Critical patent/CN105812203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种请求消息处理方法及设备,涉及计费领域,实现了保证低误判率的前提下,加速查询过程,减少了空间占用率及总体查询时间。方案包括:将消息主键按信息构成分类多个主键类别,并构建与主键类别对应的多层Bloom过滤器树;当接收到请求消息时,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于第一Bloom过滤器集合的记录集合中;若第一Bloom过滤器集合中所有记录集合中都不包含第一内容信息,则请求消息未重复发送,执行插入操作;若第一Bloom过滤器集合中存在过滤器的记录集合中包含第一内容信息,则请求消息可能重复发送,将i加1后重新执行以上步骤。

Description

一种请求消息处理方法及设备
技术领域
本发明涉及计费领域,尤其涉及一种请求消息处理方法及设备。
背景技术
当前,各种运营计费领域的计费运营网是支撑运营商业务的支撑系统,通过服务网关(ServingGateWay,简称SGW)实现业务接入和消息转发。
SGW作为计费系统的接入入口,需要处理海量的外部网元请求消息。由于外部网元因在线或离线切换、网络原因、故障、接收响应消息超时等各种原因,可能会产生随机重复消息,重复发送相同请求消息到SGW。
随机重复消息通常包括两类;一类是查询类消息,从需求角度讲,查询类消息重复必要的;另一类是涉及计费的消息,如充值、银行转帐结算等业务消息,该类消息往往对计费是有影响的,一旦重复将影响计费系统准确的计费和账务管理,从而影响企业业务的正常运营及信誉和用户体验,因此,需要从消息接入入口就进行重复消息的排重过滤。
Bloom(布隆)过滤器可以快速判定一个元素是否存在于一个集合中,由于其具有很好的空间和时间效率,被广泛应用于从消息接入入口就进行重复消息的排重过滤。虽然Bloom过滤器具有诸多优点,但也存在误判的可能性(虽然不会将存在于集合中的元素判定为不存在于集合中,但由于多个其他元素将相应比特位已置为1,导致会将不存在于集合中的元素判定为存在于集合中)。为了降低Bloom过滤器的误判率,可以在集合预计记录数给定的情况下,通过加大Bloom过滤器二进制数组大小m(即数组长度)、选择最优的哈希映射函数个数k(k最优值计算公式为k=(m/n)*ln2,n为预计的集合中记录的个数)降低误判率。
鉴于计费系统高准确性的需求,排重过程要求误判率很低。随着待查询集合中的记录数增长,若要保证低的误判率,Bloom过滤器二进制数组长度m越来越大,导致占用更大存储空间,而m的增大使得最优哈希映射函数个数k也增大,排重过程将需要更长计算时间,大大增加了查询时间。
发明内容
本发明实施例提供一种请求消息处理方法及设备,实现在处理海量请求消息时,保证低误判率的前提下,加速查询过程,减少空间占用率及总体查询时间。
为达到上述目的,本发明实施例采用的技术方案是,
第一方面,提供一种请求消息处理方法,应用于请求消息处理设备,所述设备包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器,每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器的主键类别相同,不同层Bloom过滤器的主键类别不同,所述M大于或等于1;所述方法包括:
按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1;若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器;若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在所述请求消息中的内容信息的Bloom过滤器;
若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,确定所述请求消息未重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
第二方面,提供一种请求消息处理设备,所述设备包括:
过滤单元,包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器,每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器的主键类别相同,不同层Bloom过滤器的主键类别不同,所述M大于或等于1;
查询判断单元,按照所述过滤单元中第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1;若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器;若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在所述请求消息中的内容信息的Bloom过滤器;
插入单元,用于若所述查询判断单元确定所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,确定所述请求消息未重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
所述查询判断单元还用于,若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
本发明的实施例提供请求消息处理方法及设备,预先将请求消息中包括的主键按照信息构成分类为多个主键类别,建立多层Bloom过滤器树,为每一类主键类别对应一层Bloom过滤器,当进行请求消息处理时,通过按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,则确定请求消息不是重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,则请求消息可能重复发送,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。这样一来,请求消息的处理过程是用层Bloom过滤器的主键类别在请求消息中的内容信息,逐层在Bloom过滤器树中进行查询,在请求消息没有重复发送的情况下,仅需进行有限次查询,无需查询所有的Bloom过滤器,大大缩短了查询时间;而且,多类主键类别多次查询,大大降低了Bloom过滤器的误判率;又由于在处理海量请求消息的场景中,Bloom过滤器树中每个Bloom过滤器的二进制数组长度m较小,使得总体空间占用减小,而m的减小使得最优哈希映射函数个数k也小,查询时的计算时间缩短,减少了总体查询时间,综上所述,本发明的方案,实现了在处理请求消息时,保证低误判率的前提下,加速查询过程,减少了空间占用率及总体查询时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种请求消息处理设备的结构示意图;
图2为本发明实施例提供的一种请求消息处理方法的流程示意图;
图3为本发明实施例提供的一种Bloom过滤器树的架构示意图;
图4为本发明实施例提供的另一种Bloom过滤器树的架构示意图;
图5为本发明实施例提供的再一种Bloom过滤器树的架构示意图;
图6为本发明实施例提供的另一种请求消息处理设备的结构示意图;
图7为本发明实施例提供的再一种请求消息处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的请求消息处理方法,应用于本发明实施例提供的请求消息处理设备,该设备可以为计费系统中SGW的部分或全部。图1示出的是与本发明各实施例相关的请求消息处理设备的结构示意图。
如图1所示,该请求消息处理设备10可以包括:处理器101、存储器102、通信总线103。处理器101可以通过运行或执行存储在存储器102内的软件程序和/或模块,以及调用存储在存储器102内的数据,执行请求消息处理设备10的各种功能。通信总线103用于连接请求消息处理设备10中的各个单元,可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。该总线103可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
下面结合附图,对本发明的实施例进行具体阐述。为了更详细的描述方案内容,本发明的实施例中采用多个示例予以说明,需要说明的是,示例仅是以举例的形式描述相关内容,并不是对实现过程、形式及内容等的具体限定。
实施例一
本发明的实施例提供一种请求消息处理方法,应用于请求消息处理设备,所述设备中包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器(所述M大于或等于1),每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器对应的主键类别相同,不同层Bloom过滤器对应的主键类别不同。
需要说明的是,本发明实施例提供的请求消息处理方法,可以应用于计费系统用于重复消息的排除。当然,本发明实施例提供的请求消息处理方法,也可以用于其他需要排除重复消息的系统或场景,本发明对此不进行具体限定。
当请求消息处理设备接收到一个请求消息时,可以按照如图2所示的方法,对请求消息进行处理。具体的,所述请求消息处理方法可以包括:
S201、按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1。
具体的,对于第一Bloom过滤器集合包括的内容,根据i的不同而不同,可以包括:
若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器。
若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在请求消息中的内容信息的Bloom过滤器。
其中,在Bloom过滤器树中,可以通过在每个Bloom过滤器中存储其父过滤器的ID与子过滤器的ID的方式,实现树中的连接关系,本发明对此过程不进行赘述。
其中,主键又称为主关键字,是一个消息中的一个或多个字段,主键类别即一类主键;本发明采用主键类别进行排重过滤。请求消息中主键类别的内容信息则是指该主键类别在该请求消息中对应的内容。
示例性的,假设主键类别1为电话号码,请求消息1中电话号码为123456,那么,在请求消息1中,主键类别1的内容信息则123456。
进一步的,M层Bloom过滤器中,每层Bloom过滤器的主键类别均已预先设定,本发明对于M层Bloom过滤器中,每层Bloom过滤器主键类别的内容、顺序以及设定过程均不做具体限定,可以根据实际需求确定。
进一步的,所述i的初始值为1。当接收到一个请求消息,对该请求消息首次执行S201时,所述i的取值则为1。
其中,第一内容信息是一个泛指的概念,是指第i层Bloom过滤器的主键类别在请求消息中的内容信息;当i的取值不同时,第一内容信息的具体内容也不同。
示例性的,假设一个5层的Bloom过滤器树,第一层至第五Bloom过滤器的主键类别依次为:电话号码、业务类型、请求类型,账户标识、用户标识。
那么,当i=1时,第一内容信息则为请求消息中的电话号码的内容;当i=2时,第一内容信息则为请求消息中的业务类型的内容;当i=3时,第一内容信息则为请求消息中的请求类型的内容;当i=4时,第一内容信息则为请求消息中的账户标识的内容;当i=5时,第一内容信息则为请求消息中的用户标识的内容。
需要说明的是,上述示例只是以举例的形式对于第一内容信息进行示例说明,并不是对第一内容信息的具体限定。
其中,第一Bloom过滤器集合的链表指针,体现出第一Bloom过滤器集合的顺序。
可选的,第一Bloom过滤器集合的链表指针的实现,可以先在预设位置指定第一Bloom过滤器集合中第1个Bloom过滤器,然后在每个Bloom过滤器中指定本层下一个Bloom过滤器,在最后一个Bloom过滤器中指定本层下一个Bloom过滤器为空。
可选的,第一Bloom过滤器集合的链表指针的实现,可以通过预设字段作为链表指针,该预设字段中,记录了第一Bloom过滤器集合中Bloom过滤器的顺序。
需要说明的是,第一Bloom过滤器集合的链表指针还可以通过其他方式实现,本发明对此不进行具体限定。
具体的,对于执行S201的过程,可以包括下述步骤A~步骤C:
步骤A、查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息。
其中,所述j大于或等于1,小于或等于所述第一Bloom过滤器集合中包括的Bloom过滤器的数量;所述j的初始值为1。
也就是说,查询所述第一Bloom过滤器集合的过程中,按照第一Bloom过滤器集合的链表指针指示的顺序,从第一个Bloom过滤器开始查询。
步骤B、若所述第j个Bloom过滤器的记录集合中包含所述第一内容信息,则所述第一Bloom过滤器集合中存在Bloom过滤器的记录集合中包含所述第一内容信息,结束查询。
步骤C、若所述第j个Bloom过滤器的记录集合中不包含所述第一内容信息,将j加1后,执行步骤A。
这样一来,步骤S201的执行过程,则为多次执行步骤A至步骤C,直至确定第一Bloom过滤器集合中存在Bloom过滤器的记录集合中包含所述第一内容信息,或者,查询完第一Bloom过滤器集合中所有Bloom过滤器。
进一步的,当查询完第一Bloom过滤器集合中所有Bloom过滤器,即所述j+1为空时,若仍未在所述第一Bloom过滤器集合的记录集合中查询到包含所述第一内容信息,则可得出结论:所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息。
其中,查询所述第一Bloom过滤器集合的链表指针指示的第i层第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息的过程,为Bloom过滤器的工作原理,即先进行哈希运算,再比对数组中相应位置是否全部为1,若为1,则判定为包含,若不为1,则判定为不包含,本发明对该过程不再进行赘述。
可选的,在S201判断后,若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,则确定请求消息未重复发送,执行S202。
可选的,在S201判断后,若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,则将所述i加1后,重新执行S201。
其中,第三Bloom过滤器可以为第一Bloom过滤器集合中的任意一个Bloom过滤器。
S202、将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中。
其中,M层Bloom过滤器中,下层Bloom过滤器是与之相连的上层Bloom过滤器的子过滤器。
具体的,由于每个Bloom过滤器的容量有限,因此,在执行S202时,具体可以包括但不限于下述两种情况:
第一种情况:每层Bloom过滤器数量动态扩展。
在第一种情况中,执行S202中,需要先判断第一Bloom过滤器集合中是否有存在可用容量的Bloom过滤器。
具体的,可以在每个Bloom过滤器中设定计数器,用于记录该Bloom过滤器当前已包括的记录数,通过计数器中的记录数判断Bloom过滤器是否有可用容量。
进一步的,在判断第一Bloom过滤器集合中是否有存在可用容量的Bloom过滤器后,根据判断结果的不同,执行S202的过程不同,具体可以包括:
过程A、所述第i层Bloom过滤器中没有存在可用容量的Bloom过滤器,S202执行为:
先在所述第一Bloom过滤器集合中新增Bloom过滤器,作为所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器,并扩展新增的Bloom过滤器的M-i层子Bloom过滤器,之后将所述第一内容信息插入新增的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述新增的Bloom过滤器的子Bloom过滤器的记录集合中。
优选的,扩展新增的Bloom过滤器的M-i层子Bloom过滤器,是指分别在第i层至第M层中的每一层,为新增的Bloom过滤器增加至少一个子Bloom过滤器。
示例性的,假设M=3层Bloom过滤器的架构如图3所示,当前i=2,第一Bloom过滤器集合为图中虚线框内包括的Bloom过滤器,且在S201中确定第一Bloom过滤器集合所有Bloom过滤器的记录集合中都不包含第2层Bloom过滤器的主键类别在请求消息中的内容信息,则执行S202。
假设第一Bloom过滤器集合中没有存在可用容量的Bloom过滤器,每层Bloom过滤器的主键类别在请求消息中的内容信息如表1所示,则执行S202后,该3层Bloom过滤器的架构如图4所示。
表1
主键类别名称 主键类别对应的内容信息
第1主键类别 主叫
第2主键类别 188
第3主键类别 XFF0
需要说明的是,表1只是通过示例的形式,对请求消息中包括的主键类别的内容信息进行示例说明,并不是对请求消息中的内容及形式的具体限定。
过程B、第一Bloom过滤器集合中有存在可用容量的Bloom过滤器,S202执行为:
将第一内容信息插入第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中。
需要说明的是,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中时,是将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器中有空余容量的Bloom过滤器的记录集合中。
进一步的,若所述存在可用容量的Bloom过滤器的某一层子Bloom过滤器中不存在有空余容量的Bloom过滤器,则参照上述过程A的描述新增Bloom过滤器,具体过程此处不再进行赘述。
示例性的,以过程A中的示例为基础,假设第一Bloom过滤器集合中有存在可用容量的Bloom过滤器,则执行S202后,该3层Bloom过滤器的架构如图5所示。
优选的,在第一种情况中,第i层Bloom过滤器中存在可用容量的Bloom过滤器,包括:所述第i层Bloom过滤器的链表指针指示的最后一个Bloom过滤器。
第二种情况:每层Bloom过滤器数量固定。
在第二种情况中,Bloom过滤器树的架构为设定好且不更改的情况,在这种情况下,一般每层配置的Bloom过滤器数量可满足使用要求,因此,可能存在多个有可用容量的Bloom过滤器,则任选一个进行S202的插入,插入过程与第一种情况中相似,此处不再一一赘述。
进一步的,对于请求消息的处理,通过多次执行循环执行S201及S202,直至下述两种状况时结束本发明的方法流程:
第一种状况、确定请求消息未重复发送,则通过S202的过程将请求消息中的各主键类别的内容信息插入到了Bloom过滤器树中的记录集合中。
第二种状况、i遍历1至M执行了S201,确定所述M层Bloom过滤器中每层Bloom过滤器的记录集合中,均包含所述请求消息中每层Bloom过滤器主键类别的内容信息,则确定所述请求消息为重复发送。
进一步的,若确定所述请求消息为重复发送,可以将请求消息作为历史数据保存至日志文件中。
进一步的,在请求消息处理设备中,需要预先设置Bloom过滤器树,下面对设置Bloom过滤器树的过程进行描述:
将可能要处理的请求消息中,包括的主键按信息构成分为M类主键类别,每一类主键类别是一个能区分不同消息内容的最小信息集合;构建M层Bloom过滤器,每层Bloom过滤器的主键类别为M类中间的一种。
进一步的,M层Bloom过滤器由上层到下层的顺序,可以任意排列。本发明对此不进行具体限定。
优选的,M层Bloom过滤器由上层到下层的顺序,可以按照每层主键类别的优先级降序排列。所述M层Bloom过滤器中,第k层Bloom过滤器的主键类别的优先级高于第k+1层Bloom过滤器的主键类别的优先级;其中,所述k大于或等于1,小于或等于所述M。
进一步的,主键类别的优先级可以根据实际需求预先设定。
优选的,重新性低的主键类别可以设定高的优先级,重复性低的主键类别可以设定低的优先级。
示例性的,假设请求消息为计费系统的话单,可以设定主键类别电话号码的优先级高于主键类别业务类型。
进一步的,预设Bloom过滤器树时,每层包括的Bloom过滤器的数量可以初始为1,后续根据业务需求动态扩展。
进一步的,上述M层Bloom过滤器中M的取值可以为固定不变,也可以为动态扩展。
可选的,当M的值为动态扩展时,可以根据管理员的指示,增加Bloom过滤器,具体可以包括:
接收所述请求消息处理设备的管理员发送的增加请求消息;其中,所述增加请求消息中包括需要增加的Bloom过滤器的主键类别;
在所述Bloom过滤器树的最下层Bloom过滤器中每个Bloom过滤器下,增加一个主键类别为所述需要增加的Bloom过滤器的主键类别的子Bloom过滤器。
进一步的,由于消息记录通常都具有时效性,为了避免过期的消息对消息处理过程的干扰,本发明的方法进一步还可以包括:
若所述M层Bloom过滤器中最上层的一Bloom过滤器的记录集合中所有记录的记录时间距离当前时间的时长,大于或等于预设阈值,将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除;其中,所述一Bloom过滤器为所述最上层中任一个Bloom过滤器。
其中,预设阈值可以根据实际需求设定,本发明对此不进行具体限定。
优选的,所述预设阈值可以为3天。
进一步的,在移除过期记录后,为了便于日后查询,在将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除后,所述方法还可以包括:
将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器的记录集合保存至历史数据中。
本发明的实施例提供请求消息处理方法,预先将请求消息中包括的主键按照信息构成分类为主键类别,建立多层Bloom过滤器树,每一类主键类别对应一层Bloom过滤器,当进行请求消息处理时,通过按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,则确定请求消息不是重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,则请求消息可能重复发送,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。这样一来,请求消息的处理过程是用层Bloom过滤器的主键类别在请求消息中的内容信息,逐层在Bloom过滤器树中进行查询,在请求消息没有重复发送的情况下,仅需进行有限次查询,无需查询所有的Bloom过滤器,大大缩短了查询时间;而且,多类主键类别多次查询,大大降低了Bloom过滤器的误判率;又由于在处理海量请求消息的场景中,Bloom过滤器树中每个Bloom过滤器的二进制数组长度m较小,使得总体空间占用减小,而m的减小使得最优哈希映射函数个数k也小,查询时的计算时间缩短,减少了总体查询时间,综上所述,本发明的方案,实现了在处理请求消息时,保证低误判率的前提下,加速查询过程,减少了空间占用率及总体查询时间。
实施例二
本发明实施例还提供一种请求消息处理设备,如图6所示,所述设备60可以包括:
过滤单元601,包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器,每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器的主键类别相同,不同层Bloom过滤器的主键类别不同,所述M大于或等于1;
查询判断单元602,按照所述过滤单元601中第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1;若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器;若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在请求消息中的内容信息的Bloom过滤器;
插入单元603,用于若所述查询判断单元602确定所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,确定请求消息未重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
所述查询判断单元602还用于,若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
进一步的,所述查询判断单元602还可以用于:
若查询所述M层Bloom过滤器中每层Bloom过滤器中的第一Bloom过滤器集合的记录集合中,均包含每层Bloom过滤器的主键类别在所述请求消息中的内容信息,则判断所述请求消息为重复发送。
进一步的,所述查询判断单元602具体可以用于:
查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;其中,所述j大于或等于1,小于或等于所述第一Bloom过滤器集合中包括的Bloom过滤器的数量;所述j的初始值为1;
若所述第j个Bloom过滤器的记录集合中包含所述第一内容信息,则所述第一Bloom过滤器集合中存在Bloom过滤器的记录集合中包含所述第一内容信息,结束查询;
若所述第j个Bloom过滤器的记录集合中不包含所述第一内容信息,将j加1后,执行所述查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;
当所述j+1为空时,仍未在所述第一Bloom过滤器集合的记录集合中查询到包含所述第一内容信息,则所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息。
进一步的,所述插入单元603具体可以用于:
判断所述第一Bloom过滤器集合中是否有存在可用容量的Bloom过滤器;
若所述第一Bloom过滤器集合中有存在可用容量的Bloom过滤器,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
若所述第一Bloom过滤器集合中没有存在可用容量的Bloom过滤器,先在所述第一Bloom过滤器集合中新增Bloom过滤器,作为所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器,并扩展新增的Bloom过滤器的M-i层子Bloom过滤器,之后将所述第一内容信息插入新增的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述新增的Bloom过滤器的子Bloom过滤器的记录集合中。
优选的,所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器,包括:所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器。
进一步的,所述过滤单元601还可以用于:
所述M层Bloom过滤器中最上层的一Bloom过滤器的记录集合中所有记录的记录时间距离当前时间的时长,大于或等于预设阈值,将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除;其中,所述一Bloom过滤器为所述最上层中任一个Bloom过滤器。
进一步的,如图7所示,所述设备60还可以包括:
保存单元604,用于将所述过滤单元601移除的所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器的记录集合保存至历史数据中。
进一步的,如图7所示,所述设备60还可以包括:
接收单元605,用于接收所述请求消息处理设备的管理员发送的增加请求消息;其中,所述增加请求消息中包括需要增加的Bloom过滤器的主键类别;
增加单元606,用于在所述Bloom过滤器树的最下层Bloom过滤器中每个Bloom过滤器下,增加一个主键类别为所述需要增加的Bloom过滤器的主键类别的子Bloom过滤器。
本发明的实施例提供请求消息处理设备60,预先将请求消息中包括的主键按照信息构成进分类为多个主键类别,建立多层Bloom过滤器树,每一类主键类别对应一层Bloom过滤器,当进行请求消息处理时,通过按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,则确定请求消息不是重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,则请求消息可能重复发送,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。这样一来,请求消息的处理过程是用层Bloom过滤器的主键类别在请求消息中的内容信息,逐层在Bloom过滤器树中进行查询,在请求消息没有重复发送的情况下,仅需进行有限次查询,无需查询所有的Bloom过滤器,大大缩短了查询时间;而且,多类主键类别多次查询,大大降低了Bloom过滤器的误判率;又由于在处理海量请求消息的场景中,Bloom过滤器树中每个Bloom过滤器的二进制数组长度m较小,使得总体空间占用减小,而m的减小使得最优哈希映射函数个数k也小,查询时的计算时间缩短,减少了总体查询时间,综上所述,本发明的方案,实现了在处理请求消息时,保证低误判率的前提下,加速查询过程,减少了空间占用率及总体查询时间。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种请求消息处理方法,其特征在于,应用于请求消息处理设备,所述设备包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器,每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器的主键类别相同,不同层Bloom过滤器的主键类别不同,所述M大于或等于1;所述方法包括:
按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1;若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器;若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在所述请求消息中的内容信息的Bloom过滤器;
若所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,确定所述请求消息未重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
2.根据权利要求1所述的方法,其特征在于,在执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中之后,所述方法还包括:
若所述M层Bloom过滤器中每层Bloom过滤器中的第一Bloom过滤器集合的记录集合中,均包含每层Bloom过滤器的主键类别在所述请求消息中的内容信息,则所述请求消息为重复发送。
3.根据权利要求1或2所述的方法,其特征在于,所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中,包括:
查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;其中,所述j大于或等于1,小于或等于所述第一Bloom过滤器集合中包括的Bloom过滤器的数量;所述j的初始值为1;
若所述第j个Bloom过滤器的记录集合中包含所述第一内容信息,则所述第一Bloom过滤器集合中存在Bloom过滤器的记录集合中包含所述第一内容信息,结束查询;
若所述第j个Bloom过滤器的记录集合中不包含所述第一内容信息,将j加1后,执行所述查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;
当所述j+1为空时,仍未在所述第一Bloom过滤器集合的记录集合中查询到包含所述第一内容信息,则所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息。
4.根据权利要求1或2所述的方法,其特征在于,所述将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层Bloom过滤器中,所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中,包括:
判断所述第一Bloom过滤器集合中是否有存在可用容量的Bloom过滤器;
若所述第一Bloom过滤器集合中有存在可用容量的Bloom过滤器,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
若所述第一Bloom过滤器集合中没有存在可用容量的Bloom过滤器,先在所述第一Bloom过滤器集合中新增Bloom过滤器,作为所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器,并扩展新增的Bloom过滤器的M-i层子Bloom过滤器,之后将所述第一内容信息插入新增的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述新增的Bloom过滤器的子Bloom过滤器的记录集合中。
5.根据权利要求4所述的方法,其特征在于,所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器,包括:
所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述M层Bloom过滤器中最上层的一Bloom过滤器的记录集合中所有记录的记录时间距离当前时间的时长,大于或等于预设阈值,将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除;其中,所述一Bloom过滤器为所述最上层中任一个Bloom过滤器。
7.根据权利要求6所述的方法,其特征在于,在所述将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除后,所述方法还包括:
将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器的记录集合保存至历史数据中。
8.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述请求消息处理设备的管理员发送的增加请求消息;其中,所述增加请求消息中包括需要增加的Bloom过滤器的主键类别;
在所述Bloom过滤器树的最下层Bloom过滤器中每个Bloom过滤器下,增加一个主键类别为所述需要增加的Bloom过滤器的主键类别的子Bloom过滤器。
9.一种请求消息处理设备,其特征在于,所述设备包括:
过滤单元,包括预设的Bloom过滤器树,所述Bloom过滤器树包括M层Bloom过滤器,每层Bloom过滤器包括至少一个Bloom过滤器,同一层中各个Bloom过滤器的主键类别相同,不同层Bloom过滤器的主键类别不同,所述M大于或等于1;
查询判断单元,按照所述过滤单元中第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中;其中,所述i大于或等于1,小于或等于所述M,所述i的初始值为1;若所述i为1,所述第一Bloom过滤器集合包括所述M层Bloom过滤器中第一层所有Bloom过滤器;若所述i不为1,所述第一Bloom过滤器集合为第二Bloom过滤器在第i层的子Bloom过滤器;所述第二Bloom过滤器为第i-1层Bloom过滤器中,记录集合包含第i-1层Bloom过滤器的主键类别在所述请求消息中的内容信息的Bloom过滤器;
插入单元,用于若所述查询判断单元确定所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息,确定所述请求消息未重复发送,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
所述查询判断单元还用于,若所述第一Bloom过滤器集合中存在第三Bloom过滤器的记录集合中包含所述第一内容信息,将所述i加1后,执行所述按照第i层Bloom过滤器中第一Bloom过滤器集合的链表指针指示的顺序,依次查询判断第i层Bloom过滤器的主键类别在所述请求消息中的第一内容信息是否包含于所述第一Bloom过滤器集合的记录集合中。
10.根据权利要求9所述的设备,其特征在于,所述查询判断单元还用于:
若查询所述M层Bloom过滤器中每层Bloom过滤器中的第一Bloom过滤器集合的记录集合中,均包含每层Bloom过滤器的主键类别在所述请求消息中的内容信息,则判断所述请求消息为重复发送。
11.根据权利要求9或10所述的设备,其特征在于,所述查询判断单元具体用于:
查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;其中,所述j大于或等于1,小于或等于所述第一Bloom过滤器集合中包括的Bloom过滤器的数量;所述j的初始值为1;
若所述第j个Bloom过滤器的记录集合中包含所述第一内容信息,则所述第一Bloom过滤器集合中存在Bloom过滤器的记录集合中包含所述第一内容信息,结束查询;
若所述第j个Bloom过滤器的记录集合中不包含所述第一内容信息,将j加1后,执行所述查询所述第一Bloom过滤器集合的链表指针指示的第一Bloom过滤器集合中第j个Bloom过滤器的记录集合中,是否包含所述第一内容信息;
当所述j+1为空时,仍未在所述第一Bloom过滤器集合的记录集合中查询到包含所述第一内容信息,则所述第一Bloom过滤器集合中所有Bloom过滤器的记录集合中都不包含所述第一内容信息。
12.根据权利要求9或10所述的设备,其特征在于,所述插入单元具体用于:
判断所述第一Bloom过滤器集合中是否有存在可用容量的Bloom过滤器;
若所述第一Bloom过滤器集合中有存在可用容量的Bloom过滤器,将所述第一内容信息插入所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述存在可用容量的Bloom过滤器的子Bloom过滤器的记录集合中;
若所述第一Bloom过滤器集合中没有存在可用容量的Bloom过滤器,先在所述第一Bloom过滤器集合中新增Bloom过滤器,作为所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器,并扩展新增的Bloom过滤器的M-i层子Bloom过滤器,之后将所述第一内容信息插入新增的Bloom过滤器的记录集合中,将第i+1层至第M层Bloom过滤器的主键类别在所述请求消息中的内容信息,分别插入各自对应层所述新增的Bloom过滤器的子Bloom过滤器的记录集合中。
13.根据权利要求12所述的设备,其特征在于,所述第一Bloom过滤器集合中存在可用容量的Bloom过滤器,包括:
所述第一Bloom过滤器集合的链表指针指示的最后一个Bloom过滤器。
14.根据权利要求9或10所述的设备,其特征在于,所述过滤单元还用于:
所述M层Bloom过滤器中最上层的一Bloom过滤器的记录集合中所有记录的记录时间距离当前时间的时长,大于或等于预设阈值,将所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器从所述Bloom过滤器树中移除;其中,所述一Bloom过滤器为所述最上层中任一个Bloom过滤器。
15.根据权利要求14所述的设备,其特征在于,所述设备还包括:
保存单元,用于将所述过滤单元移除的所述一Bloom过滤器及所述一Bloom过滤器的所有子Bloom过滤器的记录集合保存至历史数据中。
16.根据权利要求9或10所述的设备,其特征在于,所述设备还包括:
接收单元,用于接收所述请求消息处理设备的管理员发送的增加请求消息;其中,所述增加请求消息中包括需要增加的Bloom过滤器的主键类别;
增加单元,用于在所述Bloom过滤器树的最下层Bloom过滤器中每个Bloom过滤器下,增加一个主键类别为所述需要增加的Bloom过滤器的主键类别的子Bloom过滤器。
CN201610128959.2A 2016-03-07 2016-03-07 一种请求消息处理方法及设备 Active CN105812203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610128959.2A CN105812203B (zh) 2016-03-07 2016-03-07 一种请求消息处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610128959.2A CN105812203B (zh) 2016-03-07 2016-03-07 一种请求消息处理方法及设备

Publications (2)

Publication Number Publication Date
CN105812203A true CN105812203A (zh) 2016-07-27
CN105812203B CN105812203B (zh) 2019-05-10

Family

ID=56467766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610128959.2A Active CN105812203B (zh) 2016-03-07 2016-03-07 一种请求消息处理方法及设备

Country Status (1)

Country Link
CN (1) CN105812203B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656901A (zh) * 2018-10-15 2019-04-19 阿里巴巴集团控股有限公司 数据处理方法和装置、电子设备
CN109977261A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种数据请求的处理方法、装置及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110171A (zh) * 2011-03-22 2011-06-29 湖南大学 基于树形结构的布鲁姆过滤器的查询与更新方法
WO2011137189A1 (en) * 2010-04-27 2011-11-03 Cornell Research Foundation System and methods for mapping and searching objects in multidimensional space
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法
CN105320654A (zh) * 2014-05-28 2016-02-10 中国科学院深圳先进技术研究院 动态布隆过滤器和基于动态布隆过滤器的元素操作方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137189A1 (en) * 2010-04-27 2011-11-03 Cornell Research Foundation System and methods for mapping and searching objects in multidimensional space
CN102110171A (zh) * 2011-03-22 2011-06-29 湖南大学 基于树形结构的布鲁姆过滤器的查询与更新方法
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN105320654A (zh) * 2014-05-28 2016-02-10 中国科学院深圳先进技术研究院 动态布隆过滤器和基于动态布隆过滤器的元素操作方法
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656901A (zh) * 2018-10-15 2019-04-19 阿里巴巴集团控股有限公司 数据处理方法和装置、电子设备
CN109977261A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种数据请求的处理方法、装置及服务器

Also Published As

Publication number Publication date
CN105812203B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN109241772B (zh) 发票区块链记录方法、装置、区块链网关服务器和介质
CN102043686B (zh) 一种内存数据库的容灾方法、备用服务器及系统
CN107025289A (zh) 一种数据处理的方法及相关设备
CN108845869A (zh) 并发请求控制方法、装置、计算机设备和存储介质
CN103345439A (zh) 一种信息系统全链路健康状态监控方法及装置
CN103119567B (zh) 用于管理虚拟带库域的系统和方法
CN109800181A (zh) 一种基于磁盘的数据写入方法、数据写入装置及终端设备
CN105812203A (zh) 一种请求消息处理方法及设备
CN103888424A (zh) 集群式数据加密系统及其数据处理方法
US5692156A (en) Computer program product for overflow queue processing
CN106708445B (zh) 链路选择方法及装置
CN105657014A (zh) 一种负载均衡方法、系统及装置
CN103279423B (zh) 一种内容寻址存储器的寻址方法及设备
JP3443894B2 (ja) 端末接続方式
CN107154960B (zh) 用于确定分布式存储系统的服务可用性信息的方法与设备
CN102420856B (zh) 一种数据处理方法和设备
CN110866380A (zh) 一种填写信息字段内容的方法、终端
CN108287793A (zh) 响应消息的缓冲方法及服务器
CN111131512B (zh) 设备信息的处理方法、装置、存储介质及处理器
CN110287148B (zh) 一种数据交互方法及装置
US11330054B2 (en) System and method for load balancing in a data storage system
CN103078926A (zh) 分布式存储系统的文件访问方法和装置以及系统
US20150169622A1 (en) System and method for storing and retrieving data in different data spaces
CN110782351A (zh) 适于日终交易的数据处理方法、系统、装置及存储介质
CN104052852A (zh) 通信方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant