CN114268501A - 数据处理方法、防火墙生成方法、计算设备及存储介质 - Google Patents

数据处理方法、防火墙生成方法、计算设备及存储介质 Download PDF

Info

Publication number
CN114268501A
CN114268501A CN202111596978.5A CN202111596978A CN114268501A CN 114268501 A CN114268501 A CN 114268501A CN 202111596978 A CN202111596978 A CN 202111596978A CN 114268501 A CN114268501 A CN 114268501A
Authority
CN
China
Prior art keywords
occupied
target
priority
bucket
data
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
CN202111596978.5A
Other languages
English (en)
Other versions
CN114268501B (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111596978.5A priority Critical patent/CN114268501B/zh
Publication of CN114268501A publication Critical patent/CN114268501A/zh
Application granted granted Critical
Publication of CN114268501B publication Critical patent/CN114268501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据处理方法、网络防火墙生成方法、计算设备及存储介质。该方法包括:获得目标元素;通过布谷鸟哈希算法,确定所述目标元素在布谷鸟哈希表中的多个候选存储桶;在多个候选存储桶中不存在空闲存储单元的情况下,确定目标存储桶;基于目标存储桶,触发预设的被占位元素碰撞移动过程的模拟循环处理,以生成目标元素对应的模拟移动记录数据;根据模拟移动记录数据,进行目标元素的插入处理。本申请实施例有利于避免插入全局优先级较低的元素,从而保证布谷鸟过滤器的有效性和可靠性。

Description

数据处理方法、防火墙生成方法、计算设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及数据处理方法、网络防火墙生成方法、计算设备及存储介质。
背景技术
随着计算机技术的发展,数据安全问题越来越受到重视,云端中存在分析和统计全网热门的具有威胁的情报数据库,当云端将威胁情报数据发送至本地时,需要对这些威胁情报数据进行处理,便于后续对流量数据进行检测。
由于本地存储空间的限制,本地无法存储云端所有的威胁情报数据,需要对不同的威胁情报数据进行取舍。在相关技术方案中,将威胁情报数据按照预特定数据格式存储在特定存储区域。在接收到新的威胁情报数据时,计算该威胁情报数据在该特定存储区域中的存储位置,当该存储位置已经存储有数据时,为了给新的威胁情报数据腾出存储空间,一种方案是将已存储的威胁情报数据中使用次数较少的数据从该特定存储区域中删除。这种方案中,删除的数据可能是优先级别很高的数据,不利于数据安全,需要解决。
发明内容
为解决或部分解决相关技术中存在的问题,本申请提供一种数据处理方法、网络防火墙生成方法、计算设备及存储介质,通过提高布谷鸟过滤器中目标元素插入处理的灵活性,有利于避免插入全局优先级较低的元素,从而保证布谷鸟过滤器的有效性和可靠性。
本申请第一方面提供一种数据处理方法,该数据处理方法包括:
获得目标元素;
通过布谷鸟哈希算法,确定所述目标元素在布谷鸟哈希表中的多个候选存储桶,其中,所述布谷鸟哈希表包括多个存储桶,所述存储桶包括多个用于存储元素指纹的存储单元;
在所述多个候选存储桶中不存在空闲存储单元的情况下,确定所述多个候选存储桶中的目标存储桶;
基于所述目标存储桶,触发预设的被占位元素碰撞移动过程的模拟循环处理,以生成所述目标元素对应的模拟移动记录数据;
根据所述模拟移动记录数据,进行所述目标元素的插入处理。
作为本申请一种可能的实施方式,在该实施方式中,所述被占位元素碰撞移动过程的模拟循环处理包括:
S1:确定目标存储桶中的被占位元素在所述布谷鸟哈希表中除目标存储桶之外的至少一个其他候选存储桶,其中,被占位元素是目标存储桶中符合预设条件的元素;
S2:判断所述至少一个其他候选存储桶中是否存在空闲存储单元,若存在,在模拟移动记录数据中生成被占位元素的模拟移动数据项,结束所述模拟处理;若不存在,在模拟移动记录数据中生成被占位元素的模拟移动数据项,将所述至少一个其他候选存储桶中的目标存储桶中符合所述预设条件的元素作为被占位元素,重复执行S1和S2,直至确定存在空闲存储单元或重复执行次数达到预设阈值。
作为本申请一种可能的实施方式,在该实施方式中,所述目标存储桶中符合预设条件的被占位元素为:所述目标存储桶的多个存储单元中最近最少使用的元素。
作为本申请一种可能的实施方式,在该实施方式中,根据所述模拟移动记录数据,进行所述目标元素的插入处理包括:
根据所述模拟移动记录数据,判断是否有被占位元素将被移出所述布谷鸟哈希表;
若判断结果为否,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中;
若判断结果为是,根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理。
作为本申请一种可能的实施方式,在该实施方式中,所述根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理,包括:
确定所述模拟移动记录数据中的一个优先级低于预设优先级的被占位元素;
将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级低于预设优先级的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出。
作为本申请一种可能的实施方式,在该实施方式中,所述根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理,包括:
查找所述模拟移动记录数据中优先级最低的被占位元素;
判断所述优先级最低的被占位元素的优先级是否不低于预设优先级;
若不低于,确定不将所述目标元素插入所述布谷鸟哈希表中;
若低于,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出。
作为本申请一种可能的实施方式,在该实施方式中,在查找所述模拟移动记录数据中优先级最低的被占位元素之前,包括:
判断进入所述模拟移动记录数据中的最后一个被占位元素的优先级是否不低于预设优先级;
若不低于,则执行所述查找所述模拟移动记录数据中优先级最低的被占位元素的步骤;
若低于,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述最后一个被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,结束流程。
作为本申请一种可能的实施方式,在该实施方式中,所述将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,包括:
获得所述优先级最低的被占位元素进入所述模拟移动记录数据的次序数N;
将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行N次所述被占位元素碰撞移动过程,并从所述布谷鸟哈希表中移出第N次被占位元素碰撞移动过程中确定的被占位元素。
本申请第二方面提供一种网络防火墙生成方法,包括:
获得网络威胁情报数据;
以所述网络威胁情报数据中的至少部分数据作为目标元素,执行上述的数据处理方法。
本申请第三方面提供一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请一实施例中,通过布谷鸟哈希算法确定目标元素的多个候选存储桶,当多个候选存储桶中不存在空闲存储单元时,触发被占位元素碰撞移动过程的模拟循环处理,生成对应的模拟移动记录数据,进而,基于该模拟移动记录数据,进行目标元素的插入处理目标元素;与相关技术相比,本申请实施例,先执行被占位元素碰撞移动过程的模拟循环处理,再依据模拟移动记录数据,进行目标元素的插入或者不插入决策,能够提高布谷鸟过滤器中目标元素插入处理的灵活性,有利于避免插入全局优先级较低的元素,从而保证布谷鸟过滤器的有效性和可靠性。
另一实施例中,通过根据模拟移动记录数据,判断是否有被占位元素被移出布谷鸟哈希表,当判断结果为否时,即不须从布谷鸟哈希表中移出(即删除)任何数据时,将目标元素插入该布谷鸟哈希表中,当判断结果为是时,即,将从布谷鸟哈希表中删除元素时,依据被占位元素的优先级信息,确定是否对目标元素进行插入处理,可避免因直接对目标元素进行插入处理而导致较高优先级的元素被删除,从而确保在布谷鸟哈希表中配置全局优先级较高的元素。
本申请一实施例中通过获取网络威胁情报数据,将网络威胁情报数据中的至少部分数据作为目标元素,执行前述的数据处理方法,能够建立本地的网络防火墙,且建立的本地网络防火墙中存储的威胁的情报数据的全局优先级普遍较高,从而能够提高网络防火墙的有效性和可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的一种数据处理方法的流程示意图;
图2示出本申请一实施例中布谷鸟哈希表的一个具体实例;
图3是本申请实施例示出的一种确定是否有元素被移出的流程图;
图4是本申请实施例示出的一种最低优先级被占位元素移出流程图;
图5是本申请实施例示出的一种判定最后被占位元素是否被移出的流程图;
图6是本申请实施例提供的一种确定被移出元素存储单元的方法的流程示意图;
图7是本申请实施例提供的一种网络防火墙生成方法的流程示意图;
图8是本申请一实施例示出的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本发明一实施例提供一种计算设备,包括处理器及存储有计算机程序的存储器。上述处理器执行所存储的计算机程序时可以实现将在后面描述的数据处理方法。计算设备可以是但不限于云端服务器。可以理解的,云端服务器可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。云端服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
图1是本申请一实施例示出的数据处理方法的流程示意图。本申请实施例方法可以用于上述的计算设备。参阅图1,本申请实施例的数据处理方法包括:
步骤S101,获得目标元素。
在本申请实施例中,目标元素是指需要插入至计算设备本地创建的布谷鸟过滤器的布谷鸟哈希表中的元素,该目标元素具有用于表示该目标元素优先程度的优先级标识。一个具体应用中,目标元素可以是云端发送的网络威胁情报数据,可以基于该情报数据构建本地网络防火墙。该目标元素也可以是适合采用布谷鸟过滤器的其它应用的数据。
步骤S102,通过布谷鸟哈希算法,确定目标元素在布谷鸟哈希表中的多个候选存储桶,其中,布谷鸟哈希表包括多个存储桶,存储桶包括多个用于存储元素指纹的存储单元。
在本申请实施例中,元素指纹是指目标元素x经过例如SHA1或SHA256等指纹函数映射出来的n位比特位f。可用下式表示:
f=fingerprint(x)
布谷鸟哈希表中设置有多个存储桶,每个存储桶中包括多个用于存储元素指纹的存储单元。通过布谷表哈希算法,可以利用多个哈希函数得到该目标元素在布谷鸟哈希表中的多个候选存储桶的位置索引。
为方便说明,如图2所示,在一个具体实例中,布谷鸟哈希表中设置有8个存储桶,分别为存储桶A、B、C、D、E、F、G、H,每个存储桶设置有4个存储单元,对于目标元素x,通过指纹函数计算其元素指纹为f,并确定其对应的两个候选存储桶分别为存储桶A和存储桶G。可以理解的,布谷鸟哈希表中存储桶的数量可以根据实际情况设定,每个存储桶中存储单元的数量也可以根据实际情况设定,对此,本申请不做限定。
如下两式所示,可以利用两个关联的哈希函数得到目标元素x在布谷鸟哈希表中的关联的两个候选存储桶A,G的索引i1和i2。
i1=hash1(x)
i2=hash2(x)=i1⊕hash1(f)
其中,一个候选存储桶的索引i1是通过哈希函数hash1(x)计算出来,另一个候选存储桶的索引i2是使用索引i1和元素指纹f的哈希函数值hash1(f)做了一个异或操作。进行异或操作的好处是,因为异或操作的特性:同为0不同为1,且0和任何数异或是这个数的本身,那么i1也可以通过i2和元素指纹的哈希函数值异或来计算。换句话说,在后续的被占位元素碰撞移动过程中,若从存储桶G中移出一个被占位元素,可以直接用该存储桶G的索引i2和存储在桶中的该被占位元素的指纹的哈希函数值计算它的关联存储桶的索引。
步骤S103,在所述多个候选存储桶中不存在空闲存储单元的情况下,确定多个候选存储桶中的目标存储桶。
若目标元素对应的多个候选存储桶中,均存在空闲的存储单元,可选择其中一个候选存储桶将目标元素的指纹存入,若多个候选存储桶其中一个存在空闲的存储单元,可直接将目标元素的指纹存入。
若目标元素对应的多个候选存储桶中都不存在空闲的存储单元,确定该多个候选存储桶中的目标存储桶。该目标存储桶可以是从多个候选存储桶中随机选择的,或者可以是预先设定的,例如多个候选存储桶中索引值较小者或较大者。
作为本申请一种可能的实施方式,为方便说明,以前述实例为例,对于目标元素x,其对应的两个候选存储桶分别为存储桶A和存储桶G,当存储桶A和存储桶G中的四个存储单元都已经存储有数据时,表示目标元素x对应的多个候选存储桶中都不存在空闲存储单元,则在存储桶A和存储桶G中确定目标存储桶,所确定的目标存储桶例如可以是存储桶G。
步骤S104,基于所述目标存储桶,触发预设的被占位元素碰撞移动过程的模拟循环处理,以生成所述目标元素对应的模拟移动记录数据。
在本申请实施例中,被占位元素是指从目标存储桶目标元素的多个存储单元内已经存储的多个元素中所确定的将被移出的元素。
想要将目标元素存储到目标存储桶中,需要将该被占位元素从目标存储桶中移出,也即需将该被占位元素移至新的存储单元。布谷鸟过滤器的机制是,将被占位元素移至关联存储桶,若该关联存储桶中不存在空闲存储单元,则需要继续确定关联存储桶中的被占位元素,并继续移出过程,如此循环,直至找到空闲的存储单元或者循环次数达到预设的次数阈值。本申请实施例中,在确定目标存储桶后,先模拟进行上述的被占位元素碰撞移动过程循环处理,生成目标元素对应的模拟移动记录数据,之后,根据该模拟移动记录数据,进行目标元素的插入处理。模拟移动记录数据包括模拟循环处理中涉及到的被占位元素的相关数据,每进行一次被占位元素碰撞移动过程,在模拟移动记录数据中为涉及到的被占位元素对应增加一个数据条目,被占位元素的相关数据例如可以包括但不限于被占位元素的指纹、存储位置、进入模拟移动记录数据的次序信息等中的部分或全部。
步骤S105,根据所述模拟移动记录数据,进行所述目标元素的插入处理。
在本申请实施例中,在对被占位元素的模拟循环处理至找到空闲的存储单元或循环次数达到预设的次数阈值时,根据得到的模拟移动记录数据,可以对该目标元素进行插入处理。
作为本申请一种可能的实施方式,在该实施方式中,根据模拟移动记录数据,对目标元素进行的插入处理过程中,除了对目标元素本身进行操作外,还包括对模拟移动记录数据中的被占位元素的移动等处理。如包括将被占位元素从原存储桶中移出并插入新的存储桶中的操作、将被占位元素从布谷鸟哈希表中移出的操作。
可以理解的,根据模拟移动记录数据进行的对目标元素的插入处理可以包括将目标元素插入目标存储桶的情形,也可以包括确定不将目标元素插入目标存储桶的情形,具体可以根据模拟移动记录数据进行判断。
可以理解的,一些实施例中,将目标元素插入目标存储桶具体为:将目标元素的元素指纹存储至目标存储桶的存储单元内。
相关技术的一种优化的布谷鸟过滤器方案中,在进行目标元素的插入时,对候选存储桶生成LRU索引,每次将最近最少使用的元素直接移出布谷鸟哈希表。由于被移出的元素仅在该候选存储桶内具有较低的局部优先级,而事实上,存在布谷鸟哈希表内已存储的所有元素都具有较高的全局优先级的情况,该方案容易造成全局高优先级数据被移出布谷鸟哈希表。
本申请实施例中,通过布谷鸟哈希算法确定目标元素的多个候选存储桶,当多个候选存储桶中不存在空闲存储单元时,触发被占位元素碰撞移动过程的模拟循环处理,生成对应的模拟移动记录数据,进而,基于该模拟移动记录数据,进行目标元素的插入处理;与相关技术相比,本申请实施例,先执行被占位元素碰撞移动过程的模拟循环处理,再依据模拟移动记录数据,进行目标元素的插入或者不插入决策,能够提高布谷鸟过滤器中目标元素插入处理的灵活性,有利于避免插入全局优先级较低的元素,从而保证布谷鸟过滤器的有效性和可靠性。
作为本申请一种可能的实施方式,在该实施方式中,所述被占位元素移出过程的模拟循环处理包括:
S1:确定目标存储桶中的被占位元素在所述布谷鸟哈希表中除目标存储桶之外的至少一个其他候选存储桶,其中,被占位元素是目标存储桶中符合预设条件的元素。
在本申请实施例中,被占位元素是目标存储桶中符合预设条件的元素,如目标存储桶的多个存储单元内已存储的元素中最近最少使用(Least Recently Used,LRU)的元素。可以理解的,本申请不仅限于此,被占位元素也可以是目标存储桶中符合其他预设条件的元素。通过设定不同的预设条件,可选择不同的被占位元素,从而能够根据实际需要建立不同的布谷鸟过滤器。
在具体实现时,可以通过预设的LRU算法确定已存储的元素中最近最少使用的元素,LRU算法可以是LRU-1算法或LRU-K算法,可视实际需要选择,不再赘述。LRU-K算法是将LRU-1算法“最近使用过1次”的判断标准扩展为“最近使用过K次”。具体实现时,可视实际需要选择合适的LRU算法,不再赘述。
作为本申请一种可能的实施方式,当被占位元素确定之后,确定该被占位元素在布谷鸟哈希表中对应的除该目标存储桶之外的另外一个候选存储桶。如前述实施例所述,一个元素在布谷鸟哈希表中会存在两个关联的候选存储桶,若将被占位元素从目标存储桶中移出,可根据目标存储桶的索引和被占位元素的指纹的哈希函数值确定与目标存储桶关联的另一个候选存储桶的索引,以将该被占位元素存储至该另外一个候选存储桶中。
S2:判断所述至少一个其他候选存储桶中是否存在空闲存储单元,若存在,在模拟移动记录数据中生成被占位元素的数据条目,结束所述模拟循环处理;若不存在,在模拟移动记录数据中生成被占位元素的数据条目,将所述至少一个其他候选存储桶中的目标存储桶中符合所述预设条件的元素作为被占位元素,重复执行S1和S2,直至确定存在空闲存储单元或重复执行次数达到预设阈值M1。
作为本申请一种可能的实施方式,在该实施方式中,如图3所示,根据所述模拟移动记录数据,进行所述目标元素的插入处理包括:
步骤S301,根据所述模拟移动记录数据,判断是否有被占位元素将被移出所述布谷鸟哈希表。
在一个实施例中,对被占位元素碰撞移动过程的模拟循环次数进行记录,判断是否有被占位元素将被移出布谷鸟哈希表时,可以根据该模拟循环次数和预设阈值M1进行,当该模拟循环次数小于预设阈值M1时,说明在被占位元素碰撞移动过程的循环的次数达到预设阈值M1之前就已经找到了空闲存储单元,则表示模拟循环过程中没有元素被移出布谷鸟哈希表,相反的,当该模拟循环次数等于预设阈值时,则表示被占位元素碰撞移动过程循环执行的次数在达到预设的阈值时都没有找到空闲的存储单元,则需要有一个被占位元素被移出布谷鸟哈希表,以空出其存储单元,以能将目标元素插入布谷鸟哈希表中。
可以理解的,在另一个实施例中,也可以根据模拟移动记录数据中的数据条目项数和预设阈值M1判断是否有被占位元素将被移出布谷鸟哈希表。如前面实施例中所述,每进行一次被占位元素碰撞移动过程,在模拟移动记录数据中为涉及到的被占位元素对应增加一个数据条目,因此数据条目项数即表示模拟循环次数。由此,若数据条目项数小于预设阈值M1,则表示模拟循环过程中没有元素被移出布谷鸟哈希表,若数据条目项数等于预设阈值M1,则表示有被占位元素将被移出布谷鸟哈希表。
步骤S302,若判断结果为否,将所述目标元素插入对应目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至进入所述模拟移动记录数据的最后一个被占位元素被移动至空闲存储单元。
在本申请实施例中,当判断结果为没有被占位元素将被移出布谷鸟哈希表时,表示在布谷鸟哈希表中找到空闲存储单元,可将该目标元素插入其对应的目标存储桶中被占位元素的存储单元中,并循环执行被占位元素碰撞移动过程,直至进入模拟移动记录数据的最后一个被占位元素被移动到该空闲存储单元,即完成目标元素的插入处理。
步骤S303,若判断结果为是,根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理。
在本申请实施例中,当判断结果是有被占位元素将被移出布谷鸟哈希表时,确定模拟移动记录数据中记录的至少一个被占位元素的优先级信息,并根据该优先级信息,进行目标元素的插入处理。
可以理解的,根据该被占位元素的优先级信息进行的目标元素的插入处理可以是在目标存储桶中插入该目标元素,或者也可以是确定不插入该目标元素。
本申请实施例中,通过根据模拟移动记录数据,判断是否有被占位元素被移出布谷鸟哈希表,当判断结果为否时,即不须从布谷鸟哈希表中移出(即删除)任何数据时,将目标元素插入该布谷鸟哈希表中,当判断结果为是时,即,将从布谷鸟哈希表中删除元素时,依据被占位元素的优先级信息,确定是否对目标元素进行插入处理,可避免因直接对目标元素进行插入处理而导致较高优先级的元素被删除,从而确保在布谷鸟哈希表中保留全局优先级较高的元素。
作为本申请一种可能的实施方式,在该实施方式中,如图4所示,所述根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理,包括:
步骤S401,查找所述模拟移动记录数据中优先级最低的被占位元素。
在本申请实施例中,优先级是指被优先存储在布谷鸟哈希表中的等级,优先级越高的元素,越会优先被存储在该布谷鸟哈希表中。
在模拟移动记录数据中记录的各被占位元素都关联存储有优先级标识,该优先级标识用于表示各元素的优先级别。在例如防火墙应用中,云端发送的网络威胁情报数据中可包括网络威胁情报数据的优先级标识,存入布谷鸟哈希表的数据与其优先级标识可被关联存储。
一个具体实现中,可以基于模拟移动记录数据中各被占位元素的优先级标识,在所有被占位元素中,确定优先级最低的被占位元素。
步骤S402,判断所述优先级最低的被占位元素的优先级是否不低于预设优先级。
步骤S403,若优先级最低的被占位元素的优先级不低于预设优先级,确定不将所述目标元素插入所述布谷鸟哈希表中。在本申请一些实施例中,预设的优先级可以是目标元素的优先级,即预设的优先级是随着目标元素不同,根据不同目标元素的不同优先级动态变化的。当优先级最低的被占位元素的优先级不低于目标元素的优先级时,确定不将目标元素插入至布谷鸟哈希表中。如此,可避免优先级与目标元素一样或优先级高于目标元素的被占位元素被移出布谷鸟哈希表,保证布谷鸟哈希表中存储的是全局优先级最高的元素。
在另一些实施例中,预设的优先级可以是固定设置的优先级。如此,可在保证布谷鸟哈希表中存储的是优先级不低于预设优先级的元素的同时,降低布谷鸟哈希表的元素更新和移动频次,从而降低数据处理量。可以理解的,目标元素的优先级不低于该固定设置的优先级,否则,获得目标元素后,可直接确定不将目标元素插入布谷鸟哈希表中。
步骤S404,若优先级最低的被占位元素的优先级低于预设优先级,将所述目标元素插入对应目标存储桶中被占位元素的存储单元中,循环执行被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出。
在本申请实施例中,当模拟移动记录数据中优先级最低的被占位元素的优先级低于预设优先级时,确定需将该优先级最低的被占位元素从布谷鸟哈希表中移出,得到空闲存储单元。如此,在判定优先级最低的被占位元素的优先级低于预设优先级后,将该目标元素插入其对应的目标存储桶中被占位元素的存储单元中,并循环执行被占位元素碰撞移动过程,直至优先级最低的被占位元素成为新的被占用元素而被移出布谷鸟哈希表,即完成目标元素的插入处理。
可以理解的,在另一些实施例中,也可以是查找模拟移动记录数据中优先级低于预设优先级的其他被占位元素,例如可以是优先级低于预设优先级且最早进入模拟移动记录数据的被占位元素,查找到后,可将目标元素插入对应目标存储桶中被占位元素的存储单元中,循环执行被占位元素碰撞移动过程,直到该优先级低于预设优先级且最早进入模拟移动记录数据的被占位元素成为新的被占位元素,则可直接将此被占位元素从布谷鸟哈希表中移出,结束流程。
作为本申请一种可能的实施方式,在该实施方式中,如图5所示,在查找所述模拟移动记录数据中优先级最低的被占位元素之前,包括:
步骤S501,判断进入所述模拟移动记录数据中的最后一个被占位元素的优先级是否不低于预设优先级。
步骤S502,若该最后一个被占位元素的优先级不低于预设优先级,则执行所述查找所述模拟移动记录数据中优先级最低的被占位元素的步骤。
可以理解的,若该最后一个被占位元素的优先级不低于预设优先级,则该最后一个被占位元素具有较高的全局优先级,不应被移出布谷鸟哈希表,需从模拟移动记录数据中的其他被占位元素中另外查找可被移出布谷鸟哈希表的元素,例如查找模拟移动记录数据中优先级最低的被占位元素,或者查找模拟移动记录数据中优先级低于预设优先级的其他被占位元素。
步骤S503,若该最后一个被占位元素的优先级低于预设优先级,将所述目标元素插入目标存储桶中被占位元素的存储单元中,循环执行被占位元素碰撞移动过程,直至该最后一个被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,结束流程。
本申请实施例中,在完成被占位元素碰撞移动过程的模拟循环处理后先判断进入模拟移动记录数据中的最后一个被占位元素的优先级,这样,若该最后一个被占位元素的优先级低于预设优先级,可直接确实该最后一个被占位元素是被删除元素,而避免进一步确定其他需删除的较低优先级的过程,从而能够提高数据处理的效率。
作为本申请一种可能的实施方式,在该实施方式中,如图6所示,所述将所述目标元素插入对应目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,包括:
步骤S601,获得所述优先级最低的被占位元素进入所述模拟移动记录数据的次序数N。
在本申请实施例中,被占位元素进入所述模拟移动记录数据的次序数N与被占位元素移出过程的循环次数相同。
在一个实施方式中,在模拟移动记录数据中,记载有被占位元素及其进入模拟移动记录数据的次序数,当确定了优先级最低的被占位元素时,即可确定该被占位元素的次序数。
在另一个实施方式中,在模拟移动记录数据例如可以是数组形式,被占位元素按照进入模拟移动记录数据的次序在数组中按顺序排列,当确定了优先级最低的被占位元素时,根据其在数组中的位置可确定该被占位元素的次序数。
步骤S602,将所述目标元素插入对应目标存储桶中被占位元素的存储单元中,循环执行N次被占位元素碰撞移动过程,并从所述布谷鸟哈希表中移出第N次被占位元素碰撞移动过程中确定的被占位元素。
在本申请实施例中,将目标元素插入对应目标存储桶中被占位元素的存储单元中,然后将被占位元素作为新的目标元素,被占位元素循环执行N次前述的被占位元素碰撞移动过程,由于N是优先级最低的被占位元素进入模拟移动记录数据的次序数,则第N次执行被占位元素碰撞移动过程时,该优先级最低的元素成为新的被占位元素,则可直接将该优先级最低的被占位元素从布谷鸟哈希表中移出。
本申请实施例通过将优先级最低的被占位元素从布谷鸟哈希表中删除,可保证每次目标元素的插入操作中,所删除的元素时都是被占位元素碰撞移动过程的循环处理所涉及的存储桶中优先级最低的元素,从而可避免被占位元素碰撞移动过程导致较高全局优先级的元素被从布谷鸟哈希表中删除。
本申请实施例还提供了一种网络防火墙生成方法,该方法包括:
获得网络威胁情报数据;
以所述网络威胁情报数据中的至少部分数据作为目标元素,执行前述的数据处理方法。
在本申请实施例中,网络威胁情报数据是指云端中具有威胁的情报数据,这些情报数据存储在云端,本地计算设备自云端获得网络威胁情报文件后,将文件切割成多个数据块,将这些数据块作为目标元素,根据前述的数据处理方法对数据块进行处理,可以构建网络防火墙。该网络防火墙中存储有云端中优先级别较高的具有威胁的情报数据,在本地有流量经过时,可以通过对比,判断流量中是否存在具有威胁的数据,保证本地数据的安全。
本申请一实施例中通过获取网络威胁情报数据,将网络威胁情报数据中的至少部分数据作为目标元素,执行前述的数据处理方法,能够建立本地的网络防火墙,且建立的本地网络防火墙中存储的威胁的情报数据的全局优先级普遍较高,从而能够提高网络防火墙的有效性和可靠性。
图7示出本申请一实施例的网络防火墙生成方法。参阅图7,该方法包括:
步骤S701,自云端获得网络威胁情报文件。
步骤S702,将网络威胁情报文件切割成多个数据块,获得多个目标元素。
步骤S703,通过布谷鸟哈希算法,确定目标元素在布谷鸟哈希表中的多个候选存储桶。
步骤S704,在多个候选存储桶中不存在空闲存储单元的情况下,确定多个候选存储桶中的目标存储桶。
步骤S705,基于目标存储桶,触发预设的被占位元素碰撞移动过程的模拟循环处理,以生成目标元素对应的模拟移动记录数据。
步骤S706,根据模拟移动记录数据,判断是否有被占位元素将被移出布谷鸟哈希表,若判断结果为否,执行步骤S707,若判断结果为是,执行步骤S708。
步骤S707,将目标元素插入布谷鸟哈希表的对应目标存储桶中被占位元素的存储单元中。
可以理解的,在将目标元素插入目标存储桶中被占位元素的存储单元之外,还循环执行被占位元素碰撞移动过程,直至有被占位元素被存入空闲存储单元或有占位元素被从布谷鸟哈希表中移出,然后结束流程。
步骤S708,判断进入模拟移动记录数据中的最后一个被占位元素的优先级是否不低于预设优先级,若判断结果为否,执行步骤S707,若判断结果为是,执行步骤S709。
步骤S709,查找模拟移动记录数据中优先级最低的被占位元素;
步骤S710,判断优先级最低的被占位元素的优先级是否不低于预设优先级,若判断结果为否,执行步骤S711,若判断结果为是,确定不将目标元素插入布谷鸟哈希表中,结束流程。
步骤S711,将目标元素插入布谷鸟哈希表的对应目标存储桶中被占位元素的存储单元中。
可以理解的,在将目标元素插入布谷鸟哈希表的对应目标存储桶中被占位元素的存储单元中之外,循环执行N次被占位元素碰撞移动过程,直至优先级最低的被占位元素成为新的被占位元素而被从布谷鸟哈希表中移出,结束流程。
其中,N是优先级最低的被占位元素进入模拟移动记录数据的次序数。
本实施例方法中各特征的具体实现可参阅前面实施例中相关描述,不再赘述。
图8是本申请实施例示出的计算设备的结构示意图。
参见图8,计算设备1000包括存储器1010和处理器1020。
处理器1020可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种数据处理方法,其特征在于,包括:
获得目标元素;
通过布谷鸟哈希算法,确定所述目标元素在布谷鸟哈希表中的多个候选存储桶,其中,所述布谷鸟哈希表包括多个存储桶,所述存储桶包括多个用于存储元素指纹的存储单元;
在所述多个候选存储桶中不存在空闲存储单元的情况下,确定所述多个候选存储桶中的目标存储桶;
基于所述目标存储桶,触发预设的被占位元素碰撞移动过程的模拟循环处理,以生成所述目标元素对应的模拟移动记录数据;
根据所述模拟移动记录数据,进行所述目标元素的插入处理。
2.如权利要求1所述的数据处理方法,其特征在于,所述被占位元素碰撞移动过程的模拟循环处理包括:
S1:确定目标存储桶中的被占位元素在所述布谷鸟哈希表中除目标存储桶之外的至少一个其他候选存储桶,其中,被占位元素是目标存储桶中符合预设条件的元素;
S2:判断所述至少一个其他候选存储桶中是否存在空闲存储单元,若存在,在模拟移动记录数据中生成被占位元素的数据条目,结束所述模拟循环处理;若不存在,在模拟移动记录数据中生成被占位元素的数据条目,将所述至少一个其他候选存储桶中的目标存储桶中符合所述预设条件的元素作为被占位元素,重复执行S1和S2,直至确定存在空闲存储单元或重复执行次数达到预设阈值。
3.如权利要求2所述的数据处理方法,其特征在于,所述目标存储桶中符合预设条件的被占位元素为:所述目标存储桶的多个存储单元中最近最少使用的元素。
4.如权利要求2所述的数据处理方法,其特征在于,根据所述模拟移动记录数据,进行所述目标元素的插入处理包括:
根据所述模拟移动记录数据,判断是否有被占位元素将被移出所述布谷鸟哈希表;
若判断结果为否,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中;
若判断结果为是,根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理。
5.如权利要求4所述的数据处理方法,其特征在于,所述根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理,包括:
确定所述模拟移动记录数据中的一个优先级低于预设优先级的被占位元素;
将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级低于预设优先级的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出。
6.如权利要求4所述的数据处理方法,其特征在于,所述根据所述模拟移动记录数据中至少一个被占位元素的优先级信息,进行所述目标元素的插入处理,包括:
查找所述模拟移动记录数据中优先级最低的被占位元素;
判断所述优先级最低的被占位元素的优先级是否不低于预设优先级;
若不低于,确定不将所述目标元素插入所述布谷鸟哈希表中;
若低于,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出。
7.如权利要求6所述的数据处理方法,其特征在于,在查找所述模拟移动记录数据中优先级最低的被占位元素之前,包括:
判断进入所述模拟移动记录数据中的最后一个被占位元素的优先级是否不低于预设优先级;
若不低于,则执行所述查找所述模拟移动记录数据中优先级最低的被占位元素的步骤;
若低于,将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述最后一个被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,结束流程。
8.如权利要求6所述的数据处理方法,其特征在于,所述将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行所述被占位元素碰撞移动过程,直至所述优先级最低的被占位元素成为新的被占位元素而被从所述布谷鸟哈希表中移出,包括:
获得所述优先级最低的被占位元素进入所述模拟移动记录数据的次序数N;
将所述目标元素插入所述目标存储桶中被占位元素的存储单元中,循环执行N次所述被占位元素碰撞移动过程,并从所述布谷鸟哈希表中移出第N次被占位元素碰撞移动过程中确定的被占位元素。
9.一种网络防火墙生成方法,其特征在于,包括:
获得网络威胁情报数据;
以所述网络威胁情报数据中的至少部分数据作为目标元素,执行权利要求1至8任一项所述的数据处理方法。
10.一种计算设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。
11.一种存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。
CN202111596978.5A 2021-12-24 2021-12-24 数据处理方法、防火墙生成方法、计算设备及存储介质 Active CN114268501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111596978.5A CN114268501B (zh) 2021-12-24 2021-12-24 数据处理方法、防火墙生成方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111596978.5A CN114268501B (zh) 2021-12-24 2021-12-24 数据处理方法、防火墙生成方法、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN114268501A true CN114268501A (zh) 2022-04-01
CN114268501B CN114268501B (zh) 2024-02-23

Family

ID=80829552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111596978.5A Active CN114268501B (zh) 2021-12-24 2021-12-24 数据处理方法、防火墙生成方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN114268501B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978658A (zh) * 2022-05-17 2022-08-30 支付宝(杭州)信息技术有限公司 数据处理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120136846A1 (en) * 2010-11-30 2012-05-31 Haoyu Song Methods of hashing for networks and systems thereof
US9390116B1 (en) * 2013-09-26 2016-07-12 Emc Corporation Insertion and eviction schemes for deduplicated cache system of a storage system
CN110222088A (zh) * 2019-05-20 2019-09-10 华中科技大学 基于插入位置选择的数据近似集合表示方法及系统
CN111338569A (zh) * 2020-02-16 2020-06-26 西安奥卡云数据科技有限公司 一种基于直接映射的对象存储后端优化方法
CN111552692A (zh) * 2020-04-30 2020-08-18 南方科技大学 一种加减法布谷鸟过滤器
CN111858651A (zh) * 2020-09-22 2020-10-30 中国人民解放军国防科技大学 一种数据处理方法以及数据处理装置
CN113535706A (zh) * 2021-08-03 2021-10-22 重庆赛渝深科技有限公司 两阶段布谷鸟过滤器及基于两阶段布谷鸟过滤器的重复数据删除方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120136846A1 (en) * 2010-11-30 2012-05-31 Haoyu Song Methods of hashing for networks and systems thereof
US9390116B1 (en) * 2013-09-26 2016-07-12 Emc Corporation Insertion and eviction schemes for deduplicated cache system of a storage system
CN110222088A (zh) * 2019-05-20 2019-09-10 华中科技大学 基于插入位置选择的数据近似集合表示方法及系统
CN111338569A (zh) * 2020-02-16 2020-06-26 西安奥卡云数据科技有限公司 一种基于直接映射的对象存储后端优化方法
CN111552692A (zh) * 2020-04-30 2020-08-18 南方科技大学 一种加减法布谷鸟过滤器
CN111858651A (zh) * 2020-09-22 2020-10-30 中国人民解放军国防科技大学 一种数据处理方法以及数据处理装置
CN113535706A (zh) * 2021-08-03 2021-10-22 重庆赛渝深科技有限公司 两阶段布谷鸟过滤器及基于两阶段布谷鸟过滤器的重复数据删除方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978658A (zh) * 2022-05-17 2022-08-30 支付宝(杭州)信息技术有限公司 数据处理方法及装置
CN114978658B (zh) * 2022-05-17 2023-10-27 支付宝(杭州)信息技术有限公司 数据处理方法及装置

Also Published As

Publication number Publication date
CN114268501B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
TWI515561B (zh) 使用快閃記憶體之頁結構的資料樹儲存方法、系統以及電腦產品
US8914338B1 (en) Out-of-core similarity matching
JP5943095B2 (ja) 複合不揮発性記憶装置のためのデータ移行
CN111971931B (zh) 在区块链网络中验证交易的方法以及构成该网络的节点
EP3907627A1 (en) Technologies for performing stochastic similarity searches in an online clustering space
CN108985934B (zh) 区块链修改方法和装置
CN107807797B (zh) 数据写入的方法、装置及服务器
CN104751055A (zh) 一种基于纹理的分布式恶意代码检测方法、装置及系统
CN102880628A (zh) 哈希数据存储方法和装置
CN103973810A (zh) 基于互联网协议ip盘的数据处理方法和装置
CN107291710B (zh) 一种用于分布式数据库系统的更新数据的方法及装置
CN111858651A (zh) 一种数据处理方法以及数据处理装置
US10191998B1 (en) Methods of data reduction for parallel breadth-first search over graphs of connected data elements
CN110888837B (zh) 对象存储小文件归并方法及装置
EP3336702B1 (en) Metadata recovery method and device
CN111737265B (zh) 区块数据访问方法、区块数据存储方法及装置
CN114268501A (zh) 数据处理方法、防火墙生成方法、计算设备及存储介质
CN107153512A (zh) 一种数据迁移方法和装置
CN106599247B (zh) LSM-tree结构中数据文件的合并方法及装置
CN114936188A (zh) 数据处理方法、装置、电子设备及存储介质
CN114721594A (zh) 一种分布式存储方法、装置、设备及机器可读存储介质
WO2018121407A1 (zh) 防止Mongos集群中的均衡操作失效的方法和装置
CN111522502A (zh) 数据去重方法、装置、电子设备及计算机可读存储介质
Karresand et al. Using ntfs cluster allocation behavior to find the location of user data
CN113992541A (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
GR01 Patent grant
GR01 Patent grant