黑名单过滤系统和方法与流程

文档序号:29626807发布日期:2022-04-13 14:41阅读:837来源:国知局
黑名单过滤系统和方法与流程

1.本发明涉及大数据处理领域,尤其涉及一种黑名单过滤系统和方法。


背景技术:

2.在商家给用户发送消息的业务场景中,经常会需要在上千万或上亿的用户帐号中,过滤出几个不需要进行消息发送的用户。目前,对于这种海量数据,通常是采用布隆过滤器来进行过滤。布隆过滤器具有过滤速度快的特点,但黑名单过滤的精准度不高。


技术实现要素:

3.本技术提供一种黑名单过滤系统和方法,可以提高黑名单帐号过滤的精准度。
4.本技术提供一种黑名单过滤系统,所述黑名单过滤系统包括:
5.存储平台,包括ehcache缓存,所述ehcache缓存用于存储黑名单帐号;
6.消息平台,用于在接收到消息发送请求时,根据所述消息发送请求,确定目标帐号,并对与所述ehcache缓存中的所述黑名单帐号匹配的所述目标帐号进行过滤。
7.进一步的,所述目标帐号包括消息发送者帐号,若所述消息平台用于对与所述ehcache缓存中的所述黑名单帐号匹配的所述消息发送者帐号进行过滤,所述消息平台被配置用于:
8.若所述ehcache缓存中存在与所述消息发送者帐号相匹配的黑名单帐号,则过滤所述消息发送者帐号,终止此次消息发送。
9.进一步的,所述目标帐号包括消息发送者帐号,若所述消息平台还用于对与所述ehcache缓存中的所述黑名单帐号匹配的所述消息发送者帐号进行过滤,所述消息平台被配置用于:
10.在所述ehcache缓存中不存在与所述消息发送者帐号相匹配的黑名单帐号时,将所述消息接收者帐号与所述ehcache缓存中的黑名单帐号进行匹配比对。
11.进一步的,所述消息平台被配置用于:
12.若所述ehcache缓存中存在与所述消息接收者帐号相匹配的黑名单帐号,则过滤匹配成功的所述消息接收者帐号,终止给匹配成功的所述消息接收者帐号发送消息。
13.进一步的,每个所述黑名单帐号包括黑名单帐号标识和需过滤的帐号,不同所述黑名单帐号的所述黑名单帐号标识相同,所述消息平台被配置用于:
14.将所述目标帐号与所述黑名单帐号标识进行组合得到的目标组合帐号与所述ehcache缓存中的帐号进行匹配比对,若所述ehcache缓存中存在与所述发送组合帐号匹配的帐号,确定所述目标帐号为与所述ehcache缓存中的所述黑名单帐号匹配成功的目标帐号。
15.进一步的,所述黑名单过滤系统还包括redis缓存,所述redis缓存用于存储所述黑名单帐号,所述ehcache缓存中的所述黑名单帐号为从所述redis缓存中获取的帐号。
16.进一步的,所述redis缓存的部署方式为集群部署方式。
17.进一步的,所述黑名单过滤系统还包括配置平台,所述配置平台分别连接所述ehcache缓存和所述redis缓存,包括供用户进行黑名单配置的配置界面,所述配置平台被配置用于:
18.通过所述配置界面接收黑名单帐号操作请求;
19.若所述黑名单帐号操作请求为更新黑名单帐号的请求,则根据所述黑名单帐号操作请求,对所述ehcache缓存和所述redis缓存中的所述黑名单帐号进行更新。
20.进一步的,在对所述ehcache缓存和所述redis缓存中的所述黑名单帐号进行更新时,所述配置平台被配置用于:
21.先更新所述ehcache缓存中的所述黑名单帐号,再更新所述redis缓存中的所述黑名单帐号;或
22.同步对所述ehcache缓存和所述redis缓存中的所述黑名单帐号进行更新。
23.进一步的,若所述配置平台先更新所述ehcache缓存中的所述黑名单帐号,再更新所述redis缓存中的所述黑名单帐号,所述配置平台还用于:
24.在对所述redis缓存中的所述黑名单帐号更新失败时,对所述ehcache缓存中更新成功的所述黑名单帐号执行回滚操作。
25.进一步的,若所述配置平台同步对所述ehcache缓存和所述redis缓存中的所述黑名单帐号进行更新,所述配置平台还用于:
26.在对所述ehcache缓存和所述redis缓存中的任一个缓存进行黑名单帐号更新操作失败时,对另一个缓存已更新的所述黑名单帐号执行回滚操作。
27.进一步的,所述ehcache缓存的部署方式为rmi集群部署方式。
28.本技术提供一种黑名单过滤方法,所述黑名单过滤方法包括:
29.接收消息发送请求;
30.根据所述消息发送请求,确定目标帐号;
31.对与ehcache缓存中的黑名单帐号匹配的所述目标帐号进行过滤。
32.进一步的,所述目标帐号包括消息发送者帐号,若对与所述ehcache缓存中的所述黑名单帐号匹配的所述消息发送者帐号进行过滤,所述黑名单过滤方法包括:
33.若所述ehcache缓存中存在与所述消息发送者帐号相匹配的黑名单帐号,则过滤所述消息发送者帐号,终止此次消息发送。
34.进一步的,所述目标帐号包括消息发送者帐号,若对与所述ehcache缓存中的所述黑名单帐号匹配的所述消息发送者帐号进行过滤,所述黑名单过滤方法包括:
35.在所述ehcache缓存中不存在与所述消息发送者帐号相匹配的黑名单帐号时,将所述消息接收者帐号与所述ehcache缓存中的黑名单帐号进行匹配比对。
36.进一步的,在将所述消息接收者帐号与所述ehcache缓存中的黑名单帐号进行匹配比对后,所述黑名单过滤方法包括:
37.若所述ehcache缓存中存在与所述消息接收者帐号相匹配的黑名单帐号,则过滤匹配成功的所述消息接收者帐号,终止给匹配成功的所述消息接收者帐号发送消息。
38.进一步的,每个所述黑名单帐号包括黑名单帐号标识和需过滤的帐号,不同所述黑名单帐号的所述黑名单帐号标识相同,所述与ehcache缓存中的黑名单帐号匹配的所述目标帐号,是通过如下方法确定的:
39.将所述目标帐号与所述黑名单帐号标识进行组合得到的目标组合帐号与所述ehcache缓存中的帐号进行匹配比对;
40.若所述ehcache缓存中存在与所述发送组合帐号匹配的帐号,确定所述目标帐号为与所述ehcache缓存中的所述黑名单帐号匹配成功的目标帐号。
41.在本技术的一些实施例中,黑名单过滤系统通过ehcache缓存来存储黑名单帐号。ehcache缓存为运行在内存中的缓存,消息平台从ehcache缓存中读取数据的速度较快,尤其是在大数据量的情况下,可以显著提高黑名单帐号的读取比对速度。同时,ehcache缓存是基于key-value存储,可以准确的对ehcache缓存的黑名单帐号执行新增、删除、查询、修改等操作。如此,可以在保证黑名单过滤速度的同时,提高黑名单帐号过滤的精准度。
附图说明
42.图1是本技术的一个实施例提供的黑名单过滤系统的结构示意图;
43.图2是本技术的一个实施例提供的黑名单过滤方法的结构示意图;
44.图3是图1中的ehcache缓存和redis缓存的部署架构示意图。
具体实施方式
45.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本说明书一个或多个实施例相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
46.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
47.图1是本技术的一个实施例提供的黑名单过滤系统100的结构示意图。
48.参见图1,黑名单过滤系统100包括存储平台12和消息平台11。其中,存储平台12包括ehcache缓存121,ehcache缓存121用于存储黑名单帐号。消息平台11用于在接收到消息发送请求时,根据消息发送请求,确定目标帐号,并对与ehcache缓存121中的黑名单帐号匹配的目标帐号进行过滤。在一些实施例中,目标帐号包括消息发送者帐号和消息接收者帐号中的至少一个。在其他一些实施例,目标帐号还可以包括但不限于产品id、订单号、配送单号等。
49.以下以目标帐号包括消息发送者帐号和消息接收者帐号为例,进行详细说明。
50.在一些实施例中,消息平台11可以与一个或多个系统对接。为了便于理解,在图1中,示例性的示出了一些业务场景下,与消息平台11对接的订单系统21、配送系统22和支付系统23。其中,订单系统21可用于在销售业务中对用户订单进行管理;配送系统22可用于在销售业务中,对商品进行配送管理;支付系统23可用于在销售业务中,对商品进行支付管理。需要说明的是,上述订单系统21、配送系统22和支付系统23只是举例说明,并不构成对
本技术的限制。
51.在一些实施例中,消息平台11具备消息发送功能。与消息平台11对接的系统可以通过消息平台11给指定帐号的人员发送消息。比如,订单系统21可以调用消息平台11,给指定帐号的用户下发订单完成的消息;配送系统22可以调用消息平台11,给指定帐号的用户下发配送完成的消息;支付系统23可以调用消息11,给指定账户的用户下发支付完成的消息。待发送消息的系统(比如订单系统21),可以给消息平台11发送消息发送请求,并在消息发送请求中,携带消息发送者帐号、消息接收者帐号以及待发送的消息内容,由消息平台11根据消息发送请求中的内容进行消息发送。
52.在一些实施例中,消息接收者帐号包括但不限于用户的手机号、微信id。其中,一个消息发送请求中可以包括一个或多个消息接收者帐号。
53.在一些实施例中,消息发送者帐号包括但不限于待发送消息的系统的id。
54.在一些实施例中,消息平台11在进行消息发送前,会对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号和/或消息接收者帐号进行过滤。具体来说:
55.若消息平台11用于对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号进行过滤,消息平台11被配置用于:
56.若ehcache缓存121中存在与消息发送者帐号相匹配的黑名单帐号,则过滤消息发送者帐号,终止此次消息发送。比如,在ehcache缓存121中,将订单系统21的系统id设置为黑名单帐号后,若消息平台11接收到订单系统21的消息发送请求,会将消息发送请求中的订单系统21的系统id与ehcache缓存中的黑名单帐号进行一一比对匹配,在确定订单系统21的系统id为与黑名单帐号相匹配的帐号后,会终止订单系统21的消息发送。即订单系统21无法通过消息平台11进行消息发送。如此,可以防止存在恶意调用的系统通过消息平台11进行消息发送,提高消息平台11的网络安全。
57.进一步的,在上述对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号进行过滤的基础上,若消息平台11还用于对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号进行过滤,消息平台被配置用于:
58.在ehcache缓存121中不存在与消息发送者帐号相匹配的黑名单帐号时,将消息接收者帐号与ehcache缓存中的黑名单帐号进行匹配比对;
59.若ehcache缓存121中存在与消息接收者帐号相匹配的黑名单帐号,则过滤匹配成功的消息接收者帐号,终止给匹配成功的消息接收者帐号发送消息。比如,在消息平台11接收到配送系统22的消息发送请求后,若ehcache缓存121中不存在与配送系统22的系统id相匹配的黑名单帐号,则进一步将消息发送请求中的消息接收者帐号与ehcache缓存121的黑名单帐号进行匹配比对,若存在消息接收者帐号与ehcache缓存121的黑名单帐号匹配成功,则终止给匹配成功的消息接收者帐号发送消息,并继续给未匹配成功的消息接收者发送消息。如此,在一些实施例中,可以提高用户体验。比如一些用户会将自己的帐号设置为不接收系统平台下发的消息。通过黑名单帐号过滤的方法,可以避免给该部分用户发送消息,进而提高用户体验。
60.在本技术的一些实施例中,黑名单过滤系统100通过ehcache缓存121来存储黑名单帐号。ehcache缓存121为运行在内存中的缓存,消息平台11从ehcache缓存121中读取数据的速度较快,尤其是在大数据量的情况下,可以显著提高黑名单帐号的读取比对速度。同
时,ehcache缓存121是基于key-value存储,可以准确的对ehcache缓存121的黑名单帐号执行新增、删除、查询、修改等操作。如此,可以在保证黑名单过滤速度的同时,提高黑名单帐号过滤的精准度。
61.在一些实施例中,每个黑名单帐号包括黑名单帐号标识和需过滤的帐号,不同黑名单帐号的黑名单帐号标识相同。设置黑名单帐号标识的目的是将黑名单帐号与ehcache缓存121存储的其他类型的帐号进行区分。
62.具体来说,在一些实施例中,ehcache缓存121除存储黑名单帐号外,还用于存储其他系统的帐号数据。比如用于存储上述订单系统21的订单用户帐号、配送系统22的待配送用户帐号。以订单用户帐号为例进行说明。假设订单系统21将一个订单用户帐号写入到ehcache缓存121,而在消息平台11接收到的消息发送请求中,恰好存在一个消息接收者帐号与该订单用户帐号相同,此时,则可能会导致消息平台11将该消息接收者帐号误判为黑名单帐号。基于此,存储至ehcache缓存121的黑名单帐号可以携带黑名单帐号标识。比如在每个消息发送者帐号和消息接收者帐号的前端添加“aa”作为黑名单帐号标识。
63.基于上述描述,消息平台11在将目标帐号与ehcache缓存121中的黑名单帐号进行匹配比对时,可以被配置用于:
64.将目标帐号与黑名单帐号标识进行组合得到的目标组合帐号与ehcache缓存121中的帐号进行匹配比对,若ehcache缓存121中存在与发送组合帐号匹配的帐号,确定目标帐号为与ehcache缓存121中的黑名单帐号匹配成功的目标帐号。具体来说:
65.将消息发送者帐号与黑名单帐号标识进行组合得到的发送组合帐号与ehcache缓存121中的帐号进行匹配比对,若ehcache缓存121中存在与发送组合帐号匹配的帐号,确定消息发送者帐号与ehcache缓存121中的黑名单帐号匹配成功,以及
66.将消息接收者帐号与黑名单帐号标识进行组合得到的接收组合帐号与ehcache缓存121中的帐号进行匹配比对,若ehcache缓存121中存在与接收组合帐号匹配的帐号,确定消息接收者帐号与ehcache缓存121中的黑名单帐号匹配成功。
67.在一些实施例中,可以基于ehcache缓存121中的黑名单帐号的格式,来预先设置消息发送者帐号、消息接收者帐号与黑名单帐号标识进行组合的规则。比如,黑名单帐号中,黑名单帐号标识位于黑名单帐号的前端,则可以预先设置组合规则,使的消息发送者帐号、消息接收者帐号与黑名单帐号标识进行组合时,黑名单帐号标识被设置于消息发送者帐号和消息接收者帐号的前端。如此,以保证组合得到的发送组合帐号、接收组合帐号与ehcache缓存121中的黑名单帐号可以保持格式一致,便于进行匹配比对。
68.在其他一些实施例中,若ehcache缓存121只用于存储黑名单帐号,则可以将目标帐号直接存储于ehcache缓存121,即不添加黑名单帐号标识。如此,消息平台11在将目标帐号与ehcache缓存121中的黑名单帐号进行匹配比对时,可以直接将黑名单帐号与目标帐号进行比对。即,无需将目标帐号与黑名单帐号标识进行组合后,再进行匹配比对。
69.在一些实施例中,考虑到ehcache缓存121不支持持久化,即每次重启后,ehcache缓存121中的数据会丢失。黑名单过滤系统还包括redis缓存122,redis缓存122用于存储黑名单帐号,ehcache缓存121中的黑名单帐号为从redis缓存122中获取的帐号。ehcache缓存121和redis缓存122可以构成二级缓存架构。ehcache缓存121和redis缓存122中存储的黑名单帐号相同。redis缓存122可以设置为重启次数较少且支持数据持久化(即重启后数据
不会丢失)的工作模式。如此,在ehcache缓存121重启后,可以从redis缓存122同步黑名单帐号。ehcache缓存121和redis缓存122均是运行在内存中的缓存,ehcache缓存121从redis缓存122同步数据,速度较快。
70.进一步的,在一些实施例中,黑名单过滤系统100还可以包括数据库123。数据库123、redis缓存122和ehcache缓存121中的黑名单帐号相同。数据库123用于对黑名单帐号进行持久化保存。在redis缓存122不支持持久化时(即重启后数据会丢失),每次redis缓存122重启后,可以从数据库123同步黑名单帐号。
71.在一些实施例中,在ehcache缓存121重启次数较为频繁,redis缓存122重启次数较少或支持持久化时,上述数据库123、redis缓存122和ehcache缓存121构成的存储架构,可以在提高黑名单帐号的同步速度的同时,对黑名单帐号进行安全可靠的保存。
72.在一些实施例中,黑名单过滤系统100还包括配置平台13,配置平台13分别连接ehcache缓存121和redis缓存122,包括供用户进行黑名单配置的配置界面131,配置平台13用于:
73.通过配置界面接收黑名单帐号操作请求。在一些实施例中,黑名单帐号操作请求包括用户通过配置界面131发送的更新黑名单帐号的请求和查询黑名单帐号的请求。其中,更新黑名单帐号的请求包括对黑名单帐号进行新增、修改、删除操作的请求。
74.若黑名单帐号操作请求为更新黑名单帐号的请求,则根据黑名单帐号操作请求,对ehcache缓存121和redis缓存122中的黑名单帐号进行更新。在一些实施例中,通过设置配置界面131,便于用户对ehcache缓存121和redis缓存122中的黑名单帐号进行查询或更新。黑名单帐号可以根据实际情况进行随时调整,方案适应性较高。
75.在一些实施例中,在对ehcache缓存121和redis缓存122中的黑名单帐号进行更新时,配置平台13被配置用于:
76.在一些实施例中,先更新ehcache缓存121中的黑名单帐号,再更新redis缓存122中的黑名单帐号。如此,优先保证ehcache缓存121中的黑名单帐号的准确性,降低因ehcache缓存121中的黑名单帐号不准确导致的黑名单帐号误判的概率。
77.在其他一些实施例中,同步对ehcache缓存121和redis缓存122中的黑名单帐号进行更新。如此,在黑名单帐号更新过程中,使两个缓存之间的数据最大限度保持一致。
78.在一些实施例中,若配置平台13先更新ehcache缓存121中的黑名单帐号,再更新redis缓存122中的黑名单帐号,配置平台13还用于:在对redis缓存122中的黑名单帐号更新失败时,对ehcache缓存121中已更新的黑名单帐号执行回滚操作。如此,以保证两个缓存中的数据一致性。
79.在另一些实施例中,若配置平台13同步对ehcache缓存121和redis缓存122中的黑名单帐号进行更新,配置平台13还用于:在对ehcache缓存121和redis缓存122中的任一个缓存进行黑名单帐号更新操作失败时,对另一个缓存更新成功的黑名单帐号执行回滚操作。如此,以保证两个缓存中的数据一致性。
80.图2是本技术的一个实施例提供的黑名单过滤方法的流程图。黑名单过滤方法可应用于图1中的消息平台11,包括步骤s11至步骤s13。
81.步骤s11,接收消息发送请求。
82.步骤s12,根据消息发送请求,确定目标帐号。
83.步骤s13,对与ehcache缓存121中的黑名单帐号匹配的目标帐号进行过滤。
84.在一些实施例中,每个黑名单帐号包括黑名单帐号标识和需过滤的帐号,不同黑名单帐号的黑名单帐号标识相同,与ehcache缓存121中的黑名单帐号匹配的目标帐号,是通过如下方法确定的:
85.将目标帐号与黑名单帐号标识进行组合得到的目标组合帐号与ehcache缓存121中的帐号进行匹配比对;
86.若ehcache缓存121中存在与发送组合帐号匹配的帐号,确定目标帐号为与ehcache缓存121中的黑名单帐号匹配成功的目标帐号。
87.在一些实施例中,目标帐号包括消息发送者帐号,若对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号进行过滤,黑名单过滤方法包括:
88.若ehcache缓存121中存在与消息发送者帐号相匹配的黑名单帐号,则过滤消息发送者帐号,终止此次消息发送。
89.在一些实施例中,目标帐号包括消息发送者帐号,若对与ehcache缓存121中的黑名单帐号匹配的消息发送者帐号进行过滤,黑名单过滤方法包括:
90.在ehcache缓存121中不存在与消息发送者帐号相匹配的黑名单帐号时,将消息接收者帐号与ehcache缓存121中的黑名单帐号进行匹配比对。
91.在一些实施例中,在将消息接收者帐号与ehcache缓存121中的黑名单帐号进行匹配比对后,黑名单过滤方法包括:
92.若ehcache缓存121中存在与消息接收者帐号相匹配的黑名单帐号,则过滤匹配成功的消息接收者帐号,终止给匹配成功的消息接收者帐号发送消息。
93.关于黑名单过滤方法的具体描述,可参见上述黑名单过滤系统100中针对消息平台11的相关描述。黑名单过滤方法具有与黑名单过滤系统100相同的有益效果,此处不赘述。
94.图3是图1中的ehcache缓存121和redis缓存122的部署架构示意图。
95.参见图3,在一些实施例中,redis缓存122的部署方式为集群部署方式。如此,可以提高系统可靠性。在配置平台13进行黑名单更新操作时,需要对redis缓存122进行跨机房多写。
96.在一些实施例中,ehcache缓存121的部署方式为rmi集群部署方式,即rmi encache集群模式。使用rmi encache集群模式时,集群中的每个节点都是对等关系,即并不存在主节点或者从节点的概念,因此每个节点需要知道其他节点的信息,例如其他节点的主机地址、端口号等,以便于发现其他节点。可通过手工配置和自动发现两种方式,来实现节点之间的相互发现。其中,手工配置方式需要在每个节点中配置其它所有节点的连接信息,一旦集群中的节点发生变化时,需要对缓存进行重新配置。
97.由于rmi是java中内置支持的技术,因此使用rmi集群模式时,无需引入其它的jar包,ehcache缓存121本身就带有支持rmi集群的功能。使用ehcache缓存121rmi集群模式需要在ehcache缓存121的ehcache.xml配置文件中定义cachemanagerpeerproviderfactory节点。encache缓存在分布式部署的条件下每个应用需要自己维护一份ehcache.xml文件用来记录各自的节点ip信息。
98.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明
书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
99.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
100.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1