CN112527433A - 页面弹窗控制方法、装置、计算机设备和存储介质 - Google Patents
页面弹窗控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112527433A CN112527433A CN202011423888.1A CN202011423888A CN112527433A CN 112527433 A CN112527433 A CN 112527433A CN 202011423888 A CN202011423888 A CN 202011423888A CN 112527433 A CN112527433 A CN 112527433A
- Authority
- CN
- China
- Prior art keywords
- bloom filter
- identification code
- user identification
- page
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及过程优化领域,通过查询用户识别码是否存储在布隆过滤器中,根据查询结果对弹窗信息进行控制,由于布隆过滤器极低的误判率,因此可以有效提高了控制页面弹窗的准确度,实现最多弹窗一次。尤其涉及一种页面弹窗控制方法、装置、计算机设备和存储介质,该方法包括:获取终端对应的用户识别码;当检测到在终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将用户识别码映射至布隆过滤器的位数组中,得到用户识别码在位数组中的比特位信息;根据比特位信息确定用户识别码是否存储在布隆过滤器中;当确定用户识别码存储在布隆过滤器时,禁止在用户页面显示弹窗消息。本申请还涉及区块链技术,布隆过滤器可存储于区块链中。
Description
技术领域
本申请涉及过程优化领域,尤其涉及一种页面弹窗控制方法、装置、计算机设备和存储介质。
背景技术
页面弹窗是互联网领域常见的功能之一,当用户进入浏览器页面或APP时,后台程序可以通过弹窗的方式给用户展示活动信息或推送广告等,但频繁地显示弹窗,极大地影响用户的使用体验。
现有的页面弹窗控制方法一般是将弹窗的控制信息保存在缓存区中。如果将弹窗的控制信息保存在缓存区时,用户每次退出登录或者清空缓存后,弹窗的控制信息就会被消除,导致用户每次重新登录浏览器或APP时,页面弹窗就会再次出现,极大地影响用户的体验。
因此如何提高控制页面弹窗的准确度,以减少弹窗次数成为亟需解决的问题。
发明内容
本申请提供了一种页面弹窗控制方法、装置、计算机设备和存储介质,通过查询用户识别码是否存储在布隆过滤器中,根据查询结果对弹窗信息进行控制,由于布隆过滤器极低的误判率,因此可以有效提高了控制页面弹窗的准确度,实现最多弹窗一次。
第一方面,本申请提供了一种页面弹窗控制方法,所述方法包括:
获取终端对应的用户识别码;
当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息;
根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中;
当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
第二方面,本申请还提供了一种页面弹窗控制装置,所述装置包括:
识别码获取模块,用于获取终端对应的用户识别码;
识别码映射模块,用于当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息;
比特位判断模块,用于根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中;
弹窗消息禁止模块,用于当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的页面弹窗控制方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的页面弹窗控制方法。
本申请公开了一种页面弹窗控制方法、装置、计算机设备和存储介质,通过获取终端对应的用户识别码,后续可以查询用户识别码是否存储在布隆过滤器中,进而根据查询结果对弹窗信息进行控制;通过在检测到在终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将用户识别码映射至布隆过滤器的位数组中,可以充分利用布隆过滤器的高空间效率与高时间效率,提高了用户识别码的查询效率;通过根据比特位信息确定用户识别码是否存储在布隆过滤器中,当确定用户识别码存储在布隆过滤器时,禁止在用户页面显示弹窗消息,由于布隆过滤器极低的误判率,因此可以有效提高了控制页面弹窗的准确度,实现最多弹窗一次。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种页面弹窗控制方法的示意性流程图;
图2是本申请实施例提供的一种对布隆过滤器的参数进行配置的子步骤的示意性流程图;
图3是本申请实施例提供的一种位数组的结构示意图;
图4是本申请实施例提供的另一种位数组的结构示意图;
图5是本申请实施例提供的将用户识别码添加至布隆过滤器的子步骤的示意性流程图;
图6是本申请实施例提供的一种初始的位数组的结构示意图;
图7是本申请实施例提供的一种根据哈希值的第二比特位对位数组进行标记的结构示意图;
图8是本申请实施例提供的一种将布隆过滤器同步至数据库的示意图;
图9是本申请实施例提供的一种页面弹窗控制装置的示意性框图;
图10是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种页面弹窗控制方法、装置、计算机设备和存储介质。其中,该页面弹窗控制方法可以应用于服务器或终端中,通过查询用户识别码是否存储在布隆过滤器中,根据查询结果对弹窗信息进行控制,由于布隆过滤器极低的误判率,因此可以有效提高了控制页面弹窗的准确度,实现最多弹窗一次。
其中,服务器可以为独立的服务器,也可以为服务器集群。终端可以是智能手机、平板电脑、笔记本电脑以及台式电脑等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,页面弹窗控制方法包括步骤S10至步骤S30。
步骤S10、获取终端对应的用户识别码。
需要说明的是,用户识别码是指用户的ID(IDentity,身份标识号码)。在本申请实施例中,可以获取预先存储在本地数据库或本地磁盘的终端对应的用户识别码;也可以在用户登录终端时,获取终端对应的用户识别码。
示例性的,当用户登录终端时,可以记录用户的身份信息,将身份信息作为用户识别码。其中,身份信息可以包括但不限于账号名称、手机号码、身份证号码以及终端ID等等。
需要强调的是,为进一步保证上述获取的用户识别码的私密和安全性,上述用户识别码还可以存储于一区块链的节点中。
通过获取终端对应的用户识别码,后续可以查询用户识别码是否存储在布隆过滤器中,进而根据查询结果对弹窗信息进行控制。
步骤S20、当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息。
在本申请实施例中,当检测到在终端显示的用户页面的登录操作时,可以查询用户识别码是否存储在预设的布隆过滤器中,进而根据查询结果对弹窗消息进行控制,可以有效减少弹窗次数。
需要说明的是,布隆过滤器(Bloom Filter)由一个二进制向量和一系列随机映射函数组成。布隆过滤器可以用于检索一个元素是否在一个集合中,具有较高的空间效率和时间效率。其中,布隆过滤器使用位数组保存信息。
示例性的,当检测到在终端显示的用户页面的登录操作时,查询用户识别码是否存储在预设的布隆过滤器中。其中,用户页面是指终端中的浏览器或APP应用程序的页面。用户可以通过终端登录浏览器或APP应用程序,因此在检测到用户登录浏览器或APP应用程序的登录操作时,查询用户识别码是否存储在预设的布隆过滤器中,进而可以确定是否在用户页面中显示弹窗消息。
在一些实施例中,基于预设的布隆过滤器的哈希函数,将用户识别码映射至布隆过滤器的位数组中之前,可以对布隆过滤器的参数进行配置,得到参数配置后的布隆过滤器。
示例性的,布隆过滤器的参数可以包括识别码上限值、误判率、哈希函数的个数以及位数组的位数。
可以理解的是,识别码上限值是指在保证布隆过滤器的误判率的提前下,每个布隆过滤器能够处理的用户识别码的最大值。
示例性的,误判率可以表示为p;哈希函数的个数可以表示为k;位数组的位数可以表示为m;识别码上限值可以表示为n。其中,误判率p、位数组的位数m、哈希函数的个数k以及识别码上限值n之间的关系,如下式所示:
请参阅图2,图2是本申请实施例提供的一种对布隆过滤器的参数进行配置的子步骤的示意性流程图,具体可以包括以下步骤S201至步骤S203。
步骤S201、确定所述布隆过滤器对应的识别码上限值与误判率。
需要说明的是,在本申请实施例中,布隆过滤器对应的识别码上限值与误判率可以由用户设定。例如,用户可以在预设的配置页面中设定识别码上限值与误判率。
在一些实施例中,可以在预设的配置页面显示布隆过滤器对应的识别码上限输入框与误判率配置表。
其中,识别码上限输入框用于提供给用户输入识别码上限值;误判率配置表用于提供给用户选择布隆过滤器的误判率。
在一些实施方式中,当接收到对识别码上限输入框的输入操作时,根据输入操作确定布隆过滤器对应的识别码上限值。
示例性的,用户可以在识别码上限输入框输入识别码上限值,例如,输入100万。因此,可以根据输入操作确定布隆过滤器对应的识别码上限值为100万。
在一些实施例方式中,当接收到对误判率配置表中的误判率的选中操作时,根据选中操作确定布隆过滤器对应的误判率。
示例性的,当接收到对误判率配置表中的误判率千分之一的选中操作时,可以确定布隆过滤器对应的误判率为千分之一。
步骤S202、基于误判率与哈希函数的个数之间预设的对应关系,根据所述布隆过滤器对应的误判率确定所述布隆过滤器对应的哈希函数的个数。
示例性的,可以预先设定误判率与哈希函数的个数之间预设的对应关系,如表1所示。其中,其中k/ln2用系数r表示,即m=rn。
表1
哈希函数的个数k | 误判率p | 系数r |
1 | 0.5 | 1.442695041 |
2 | 0.25 | 2.885390082 |
3 | 0.125 | 4.328085123 |
4 | 0.0625 | 5.770780164 |
5 | 0.03125 | 7.213475204 |
6 | 0.015625 | 8.656170245 |
7 | 0.0078125 | 10.09886529 |
8 | 0.00390625 | 11.54156033 |
9 | 0.001953125 | 12.98425537 |
10 | 0.000976563 | 14.42695041 |
示例性的,当误判率p为千分之一时,根据表1可以确定哈希函数的个数k为10。
通过基于误判率与哈希函数的个数之间预设的对应关系,可以快速、便捷地根据布隆过滤器对应的误判率确定布隆过滤器对应的哈希函数的个数。
步骤S203、根据所述识别码上限值与所述哈希函数的个数,确定所述布隆过滤器的位数组对应的位数。
示例性的,当哈希函数的个数k为10时,系数约等于14.4。如果用户识别码对应的个数为100万,则位数组的位数m需要1440万就能保证使用10个哈希函数时,误判率p小于千分之一。其中,1440万位约等于1.75Mb。可以理解的是,布隆过滤器的占用空间等于位数组的位数大小。
需要说明的是,如果按照传统的数据库表来保存用户识别码,对于100万个用户识别码的数据,每个用户识别码占用500byte的数据,大约需要500Mb的表空间;而布隆过滤器只需1.75Mb的占用空间。因此,布隆过滤器的占用空间相对数据库表是非常小的。
通过配置布隆过滤器的参数,使得配置好的布隆过滤器在满足误判率的情况下,布隆过滤器的占用空间尽可能地小;由于布隆过滤器的占用空间相对于数据库表来说显著减小,因此将多个布隆过滤器的数据直接加载到服务器的内存中,可以减少数据库的读写压力,进而提高了查询效率。
在本申请实施例中,当用户识别码的数量较多时,为保证布隆过滤器的误判率,需要多个布隆过滤器来处理用户识别码。
在一些实施例中,确定布隆过滤器的个数可以包括:确定用户识别码对应的个数,根据布隆过滤器对应的识别码上限值与用户识别码对应的个数,确定布隆过滤器的个数。
示例性的,确定用户识别码对应的个数,可以在用户登录时,根据浏览器中的访问cookie的次数,确定用户识别码对应的个数。
示例性的,确定用户识别码对应的个数,还可以在用户登录APP应用程序时,将APP应用程序给用户分配ID的个数,确定为用户识别码对应的个数。
示例性的,根据布隆过滤器对应的识别码上限值n与用户识别码对应的个数:当n≤n0时,需要1个布隆过滤器;当n0<n≤2n0时,需要2个布隆过滤器。依次类推,可以根据识别码上限值与根据用户识别码对应的个数,确定需要布隆过滤器的个数。然后,分别对每个布隆过滤器的参数进行配置,得到参数配置后的每个布隆过滤器。
在一些实施例中,基于预设的布隆过滤器的哈希函数,将用户识别码映射至布隆过滤器的位数组中,得到用户识别码在位数组中的比特位信息。
其中,比特位信息包括第一比特位。
示例性的,将用户识别码映射至布隆过滤器的位数组中是指根据哈希函数对用户识别码进行计算,得到用户识别码对应的哈希值;然后根据哈希值确定位数组中的下标,将下标对应的比特位确定为用户识别码对应的第一比特位。
需要说明的是,位数组由多个比特位组成。
例如,可以根据k个哈希函数对用户识别码进行计算,得到用户识别码对应的k个哈希值,根据k个哈希值确定位数组中的k个第一比特位。其中,每个哈希值确定一个第一比特位。需要说明的是,由于布隆过滤器的时间复杂度是Ω(1),因此查询效率很高。
步骤S30、根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中。
在一些实施例中,当第一比特位全部为预设的第一数值时,判定用户识别码存储在布隆过滤器中。
示例性的,在得到用户识别码在位数组中的k个第一比特位之后,判断k个第一比特位是否全部为预设的第一数值。其中,预设的第一数值为1。
请参阅图3,图3是本申请实施例提供的一种位数组的结构示意图。如图3所示,当k个第一比特位全部为1时,可以判定用户识别码存储在布隆过滤器中。
在另一些实施例中,当第一比特位存在至少一个不是第一数值时,判定用户识别码未存储在布隆过滤器中。
请参阅图4,图4是本申请实施例提供的另一种位数组的结构示意图。如图4所示,当k个第一比特位存在至少一个不是为1时,可以判定用户识别码不存储在布隆过滤器中。
通过将用户识别码映射至布隆过滤器的位数组中,得到用户识别码在位数组中的第一比特位,进而可以实现根据第一比特位是否为1判断用户识别码是否存储在布隆过滤器中,充分利用了布隆过滤器的高空间效率与高时间效率,提高了用户识别码的查询效率。
步骤S40、当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
需要说明的是,如果用户识别码存储在布隆过滤器,说明该用户识别码是在用户页面显示弹窗消息之后添加至布隆过滤器的;此时不需要再次对用户页面显示弹窗消息,从而实现最多弹窗一次的效果。
示例性的,可以对弹窗消息进行拦截。
通过在确定用户识别码存储在布隆过滤器时,禁止在用户页面显示弹窗消息,可以提高了控制页面弹窗的准确性以及提高了用户的体验度。
在一些实施例中,根据比特位信息确定用户识别码是否存储在布隆过滤器中之后,还可以包括:当确定用户识别码未存储在布隆过滤器时,在用户页面显示弹窗消息,并将用户识别码添加至布隆过滤器。
通过在用户页面显示弹窗消息之后,将用户识别码添加至布隆过滤器,可以保证下一次用户登录用户页面中,不会在用户页面显示弹窗消息,实现了最多弹窗一次,极大地减少弹窗次数。
请参阅图5,图5是本申请实施例提供的将用户识别码添加至布隆过滤器的子步骤的示意性流程图,具体可以包括以下步骤S401至步骤S403。
步骤S401、根据所述布隆过滤器的哈希函数对所述用户识别码进行哈希值计算,得到所述用户识别码对应的哈希值。
示例性的,当布隆过滤器的哈希函数为10个时,通过10个哈希函数对用户识别码进行计算哈希值,得到用户识别码对应的10个哈希值。
步骤S402、确定所述哈希值在所述布隆过滤器初始的位数组中的第二比特位,并将所述第二比特位标记为第一数值。
需要说明的是,初始的位数组是指初始化后的位数组。示例性的,如图6所示,图6是本申请实施例提供的一种初始的位数组的结构示意图。在图6中,位数组全部的比特位都为0。
示例性的,根据哈希值确定位数组中的下标,将下标对应的比特位确定为哈希值对应的第二比特位,然后将该第二比特位标记为1。
请参阅图7,图7是本申请实施例提供的一种根据哈希值的第二比特位对位数组进行标记的结构示意图。如图7所示,若根据第1个哈希值确定位数组中的下标为3,则将位数组的第3个比特位标记为1;若根据第2个哈希值确定位数组中的下标为5,则将位数组的第5个比特位标记为1;若根据第3个哈希值确定位数组中的下标为9,则将位数组的第9个比特位标记为1。
步骤S403、根据标记后的所述第二比特位对所述位数组进行更新,以将所述用户识别码添加至所述布隆过滤器。
可以理解的是,由于布隆过滤器保存的位数组是初始化后的位数组,因此在将位数组中的第二比特位标记为1之后,根据标记后的第二比特位对位数组进行更新,从而完成将用户识别码添加至布隆过滤器中。
在本申请实施例中,还可以包括:生成定时任务,根据定时任务将布隆过滤器同步至数据库或区块链中。
请参阅图8,图8是本申请实施例提供的一种将布隆过滤器同步至数据库的示意图。示例性的,可以定时将内存中的布隆过滤器依次同步至数据库中。
需要说明的是,在查询用户识别码是否存储在预设的布隆过滤器时,需要将布隆过滤器加载到内存中。由于服务器的断电或重启等因素可能会导致布隆过滤器中的信息丢失,因此需要设定异步的定时任务,将内存中的布隆过滤器持久化到数据库中。
此外,由于布隆过滤器本身的占用空间较小(Mb级别),当同时存在多个活动需要弹窗时,服务器内存中可以存在多个布隆过滤器,因此通过异步的定时任务可以将这些布隆过滤器依次持久化到数据库中。在服务器重启时,可以从数据库中取出这些布隆过滤器,加载到内存中,不影响实际的业务和用户的使用体验。
需要强调的是,为进一步保证上述布隆过滤器的私密和安全性,上述布隆过滤器还可以存储于一区块链的节点中。
通过将根据定时任务将布隆过滤器同步至数据库或区块链中,可以避免异常因素导致布隆过滤器中的信息丢失,进一步提高了通过布隆过滤器控制页面弹窗的准确性。
上述实施例提供的页面弹窗控制方法,通过获取终端对应的用户识别码,后续可以查询用户识别码是否存储在布隆过滤器中,进而根据查询结果对弹窗信息进行控制;通过基于误判率与哈希函数的个数之间预设的对应关系,可以快速、便捷地根据布隆过滤器对应的误判率确定布隆过滤器对应的哈希函数的个数;通过配置布隆过滤器的参数,使得配置好的布隆过滤器在满足误判率的情况下,布隆过滤器的占用空间尽可能地小,由于布隆过滤器的占用空间相对于数据库表来说显著减小,因此将多个布隆过滤器的数据直接加载到服务器的内存中,可以减少数据库的读写压力,进而提高了查询效率;通过将用户识别码映射至布隆过滤器的位数组中,得到用户识别码在位数组中的第一比特位,进而可以实现根据第一比特位是否为1判断用户识别码是否存储在布隆过滤器中,充分利用了布隆过滤器的高空间效率与高时间效率,提高了用户识别码的查询效率;通过在确定用户识别码存储在布隆过滤器时,禁止在用户页面显示弹窗消息,可以提高了控制页面弹窗的准确性以及提高了用户的体验度;通过在用户页面显示弹窗消息之后,将用户识别码添加至布隆过滤器,可以保证下一次用户登录用户页面中,不会在用户页面显示弹窗消息,实现了最多弹窗一次,极大地减少弹窗次数;通过将根据定时任务将布隆过滤器同步至数据库或区块链中,可以避免异常因素导致布隆过滤器中的信息丢失,进一步提高了通过布隆过滤器控制页面弹窗的准确性。
请参阅图9,图9是本申请的实施例还提供一种页面弹窗控制装置1000的示意性框图,该页面弹窗控制装置用于执行前述的页面弹窗控制方法。其中,该页面弹窗控制装置可以配置于服务器或终端。
如图9所示,该页面弹窗控制装置1000,包括:识别码获取模块1001、识别码映射模块1002、比特位判断模块1003和弹窗消息禁止模块1004。
识别码获取模块1001,用于获取终端对应的用户识别码。
识别码查询模块1002,用于当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息。
比特位判断模块1003,用于根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中。
弹窗消息禁止模块1004,用于当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
请参阅图10,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种页面弹窗控制方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取终端对应的用户识别码;当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息;根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中;当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
在一个实施例中,所述处理器在实现基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中之前,还用于实现:
对所述布隆过滤器的参数进行配置,得到参数配置后的所述布隆过滤器。
在一个实施例中,所述处理器在实现根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中之后,还用于实现:
当确定所述用户识别码未存储在所述布隆过滤器时,在所述用户页面显示弹窗消息,并将所述用户识别码添加至所述布隆过滤器。
在一个实施例中,所述布隆过滤器的参数包括识别码上限值、误判率、哈希函数的个数以及位数组的位数;所述处理器在实现对所述布隆过滤器的参数进行配置,得到参数配置后的每个所述布隆过滤器时,用于实现:
确定所述布隆过滤器对应的识别码上限值与误判率;基于误判率与哈希函数的个数之间预设的对应关系,根据所述布隆过滤器对应的误判率确定所述布隆过滤器对应的哈希函数的个数;根据所述识别码上限值与所述哈希函数的个数,确定所述布隆过滤器的位数组对应的位数。
在一个实施例中,所述处理器在实现确定所述布隆过滤器对应的识别码上限值与误判率时,用于实现:
在预设的配置页面显示所述布隆过滤器对应的识别码上限输入框与误判率配置表;当接收到对所述识别码上限输入框的输入操作时,根据所述输入操作确定所述布隆过滤器对应的识别码上限值;当接收到对所述误判率配置表中的误判率的选中操作时,根据所述选中操作确定所述布隆过滤器对应的误判率。
在一个实施例中,所述比特位信息包括第一比特位;所述处理器在实现根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中时,用于实现:
当所述第一比特位全部为预设的第一数值时,判定所述用户识别码存储在所述布隆过滤器中;当所述第一比特位存在至少一个不是所述第一数值时,判定所述用户识别码未存储在所述布隆过滤器中。
在一个实施例中,所述处理器在实现将所述用户识别码添加至所述布隆过滤器时,用于实现:
根据所述布隆过滤器的哈希函数对所述用户识别码进行哈希值计算,得到所述用户识别码对应的哈希值;确定所述哈希值在所述布隆过滤器初始的位数组中的第二比特位,并将所述第二比特位标记为第一数值;根据标记后的所述第二比特位对所述位数组进行更新,以将所述用户识别码添加至所述布隆过滤器。
在一个实施例中,所述处理器还用于实现:
生成定时任务,根据所述定时任务将所述布隆过滤器同步至数据库或区块链中。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项页面弹窗控制方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种页面弹窗控制方法,其特征在于,包括:
获取终端对应的用户识别码;
当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息;
根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中;
当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
2.根据权利要求1所述的页面弹窗控制方法,其特征在于,所述基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中之前,还包括:
对所述布隆过滤器的参数进行配置,得到参数配置后的所述布隆过滤器;
所述根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中之后,还包括:
当确定所述用户识别码未存储在所述布隆过滤器时,在所述用户页面显示弹窗消息,并将所述用户识别码添加至所述布隆过滤器。
3.根据权利要求2所述的页面弹窗控制方法,其特征在于,所述布隆过滤器的参数包括识别码上限值、误判率、哈希函数的个数以及位数组的位数;所述对所述布隆过滤器的参数进行配置,得到参数配置后的每个所述布隆过滤器,包括:
确定所述布隆过滤器对应的识别码上限值与误判率;
基于误判率与哈希函数的个数之间预设的对应关系,根据所述布隆过滤器对应的误判率确定所述布隆过滤器对应的哈希函数的个数;
根据所述识别码上限值与所述哈希函数的个数,确定所述布隆过滤器的位数组对应的位数。
4.根据权利要求3所述的页面弹窗控制方法,其特征在于,所述确定所述布隆过滤器对应的识别码上限值与误判率,包括:
在预设的配置页面显示所述布隆过滤器对应的识别码上限输入框与误判率配置表;
当接收到对所述识别码上限输入框的输入操作时,根据所述输入操作确定所述布隆过滤器对应的识别码上限值;
当接收到对所述误判率配置表中的误判率的选中操作时,根据所述选中操作确定所述布隆过滤器对应的误判率。
5.根据权利要求1所述的页面弹窗控制方法,其特征在于,所述比特位信息包括第一比特位;所述根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中,包括:
当所述第一比特位全部为预设的第一数值时,判定所述用户识别码存储在所述布隆过滤器中;
当所述第一比特位存在至少一个不是所述第一数值时,判定所述用户识别码未存储在所述布隆过滤器中。
6.根据权利要求2所述的页面弹窗控制方法,其特征在于,所述将所述用户识别码添加至所述布隆过滤器,包括:
根据所述布隆过滤器的哈希函数对所述用户识别码进行哈希值计算,得到所述用户识别码对应的哈希值;
确定所述哈希值在所述布隆过滤器初始的位数组中的第二比特位,并将所述第二比特位标记为第一数值;
根据标记后的所述第二比特位对所述位数组进行更新,以将所述用户识别码添加至所述布隆过滤器。
7.根据权利要求1至6中任一项所述的页面弹窗控制方法,其特征在于,所述方法还包括:
生成定时任务,根据所述定时任务将所述布隆过滤器同步至数据库或区块链中。
8.一种页面弹窗控制装置,其特征在于,包括:
识别码获取模块,用于获取终端对应的用户识别码;
识别码映射模块;用于当检测到在所述终端显示的用户页面的登录操作时,基于预设的布隆过滤器的哈希函数,将所述用户识别码映射至所述布隆过滤器的位数组中,得到所述用户识别码在所述位数组中的比特位信息;
比特位判断模块,用于根据所述比特位信息确定所述用户识别码是否存储在所述布隆过滤器中;
弹窗消息禁止模块,用于当确定所述用户识别码存储在所述布隆过滤器时,禁止在所述用户页面显示弹窗消息。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7任一项所述的页面弹窗控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7任一项所述的页面弹窗控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423888.1A CN112527433A (zh) | 2020-12-08 | 2020-12-08 | 页面弹窗控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011423888.1A CN112527433A (zh) | 2020-12-08 | 2020-12-08 | 页面弹窗控制方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527433A true CN112527433A (zh) | 2021-03-19 |
Family
ID=74998237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011423888.1A Pending CN112527433A (zh) | 2020-12-08 | 2020-12-08 | 页面弹窗控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527433A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269565A (zh) * | 2021-05-11 | 2021-08-17 | 重庆邮电大学 | 一种防重复使用识别码的防伪识别方法、装置及电子设备 |
CN113419792A (zh) * | 2021-06-30 | 2021-09-21 | 未鲲(上海)科技服务有限公司 | 一种事件处理方法、装置、终端设备和存储介质 |
CN113468528A (zh) * | 2021-06-29 | 2021-10-01 | 平安普惠企业管理有限公司 | 恶意设备识别方法、装置、服务器及存储介质 |
CN113763034A (zh) * | 2021-08-06 | 2021-12-07 | 郑州阿帕斯数云信息科技有限公司 | 广告数据的处理方法及装置 |
CN114385922A (zh) * | 2022-01-17 | 2022-04-22 | 上海阿法迪智能数字科技股份有限公司 | 一种基于布隆滤波器的图书馆系统知识推荐方法 |
CN116094748A (zh) * | 2022-11-23 | 2023-05-09 | 紫光云技术有限公司 | 一种基于布隆过滤器的报文验签拦截系统 |
CN116821520A (zh) * | 2023-06-19 | 2023-09-29 | 北京火山引擎科技有限公司 | 用于过滤内容的方法、装置、电子设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
US20160283600A1 (en) * | 2015-03-23 | 2016-09-29 | Virtru Corporation | Methods and systems for generating probabilistically searchable messages |
CN107888659A (zh) * | 2017-10-12 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 用户请求的处理方法及系统 |
US20190095448A1 (en) * | 2017-09-22 | 2019-03-28 | Microsoft Technology Licensing, Llc | System of mobile notification delivery utilizing bloom filters |
CN110209874A (zh) * | 2019-04-24 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN110399557A (zh) * | 2019-07-24 | 2019-11-01 | 秒针信息技术有限公司 | 一种访客信息的识别方法、识别装置及可读存储介质 |
CN111062013A (zh) * | 2019-12-18 | 2020-04-24 | 北京爱奇艺科技有限公司 | 一种账号过滤方法、装置、电子设备及机器可读存储介质 |
CN111580965A (zh) * | 2020-04-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 数据请求的处理方法及系统 |
CN111857920A (zh) * | 2020-07-17 | 2020-10-30 | 平安科技(深圳)有限公司 | 弹窗处理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-08 CN CN202011423888.1A patent/CN112527433A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970744A (zh) * | 2013-01-25 | 2014-08-06 | 华中科技大学 | 一种可扩展的重复数据检测方法 |
US20160283600A1 (en) * | 2015-03-23 | 2016-09-29 | Virtru Corporation | Methods and systems for generating probabilistically searchable messages |
US20190095448A1 (en) * | 2017-09-22 | 2019-03-28 | Microsoft Technology Licensing, Llc | System of mobile notification delivery utilizing bloom filters |
CN107888659A (zh) * | 2017-10-12 | 2018-04-06 | 北京京东尚科信息技术有限公司 | 用户请求的处理方法及系统 |
CN110209874A (zh) * | 2019-04-24 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN110399557A (zh) * | 2019-07-24 | 2019-11-01 | 秒针信息技术有限公司 | 一种访客信息的识别方法、识别装置及可读存储介质 |
CN111062013A (zh) * | 2019-12-18 | 2020-04-24 | 北京爱奇艺科技有限公司 | 一种账号过滤方法、装置、电子设备及机器可读存储介质 |
CN111580965A (zh) * | 2020-04-30 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 数据请求的处理方法及系统 |
CN111857920A (zh) * | 2020-07-17 | 2020-10-30 | 平安科技(深圳)有限公司 | 弹窗处理方法、装置、计算机设备及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269565A (zh) * | 2021-05-11 | 2021-08-17 | 重庆邮电大学 | 一种防重复使用识别码的防伪识别方法、装置及电子设备 |
CN113269565B (zh) * | 2021-05-11 | 2024-01-16 | 深圳棠人科技有限公司 | 一种防重复使用识别码的防伪识别方法、装置及电子设备 |
CN113468528A (zh) * | 2021-06-29 | 2021-10-01 | 平安普惠企业管理有限公司 | 恶意设备识别方法、装置、服务器及存储介质 |
CN113419792A (zh) * | 2021-06-30 | 2021-09-21 | 未鲲(上海)科技服务有限公司 | 一种事件处理方法、装置、终端设备和存储介质 |
CN113763034A (zh) * | 2021-08-06 | 2021-12-07 | 郑州阿帕斯数云信息科技有限公司 | 广告数据的处理方法及装置 |
CN113763034B (zh) * | 2021-08-06 | 2024-05-31 | 郑州阿帕斯数云信息科技有限公司 | 广告数据的处理方法及装置 |
CN114385922A (zh) * | 2022-01-17 | 2022-04-22 | 上海阿法迪智能数字科技股份有限公司 | 一种基于布隆滤波器的图书馆系统知识推荐方法 |
CN116094748A (zh) * | 2022-11-23 | 2023-05-09 | 紫光云技术有限公司 | 一种基于布隆过滤器的报文验签拦截系统 |
CN116821520A (zh) * | 2023-06-19 | 2023-09-29 | 北京火山引擎科技有限公司 | 用于过滤内容的方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527433A (zh) | 页面弹窗控制方法、装置、计算机设备和存储介质 | |
US9237006B2 (en) | Table-connected tokenization | |
US9361307B2 (en) | Rejecting rows when scanning a collision chain that is associated with a page filter | |
CN105740405B (zh) | 存储数据的方法和装置 | |
CN103942292A (zh) | 虚拟机镜像文件处理方法、装置及系统 | |
CN111277635B (zh) | 一种外部节点接入区块链方法、设备、装置及计算机介质 | |
CN114936064B (zh) | 一种共享内存的访问方法、装置、设备和存储介质 | |
CN112445596A (zh) | 基于多线程的数据导入方法、系统及存储介质 | |
CN111580965A (zh) | 数据请求的处理方法及系统 | |
CN103870480A (zh) | 动态数据遮罩方法以及数据库系统 | |
CN103353887A (zh) | 用户数据查找方法及装置 | |
CN112256691B (zh) | 一种数据映射方法、装置及电子设备 | |
CN113806737B (zh) | 一种恶意进程风险等级评估方法、终端设备及存储介质 | |
CN106790159A (zh) | 密级校验方法及装置 | |
CN113704177B (zh) | 一种服务器固件升级文件的存储方法、系统及相关组件 | |
CN112528189B (zh) | 基于数据的组件封装方法、装置、计算机设备及存储介质 | |
CN106156169B (zh) | 离散数据的处理方法和装置 | |
CN115292729A (zh) | 一种隐私保护的多方数据处理方法、装置以及设备 | |
CN112231759B (zh) | 日志脱敏方法、装置、设备及存储介质 | |
CN115879090A (zh) | 账号的登录方法、装置、电子设备和存储介质 | |
CN113722225A (zh) | 页面测试方法、装置、计算机设备和存储介质 | |
CN110147379B (zh) | 基于数据锁的信息采集方法、装置、计算机设备 | |
CN107480210A (zh) | 内存数据操作方法及装置 | |
CN113625991A (zh) | 一种实时指标计算的方法、系统、电子装置和存储介质 | |
CN113190554A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |
|
RJ01 | Rejection of invention patent application after publication |