网络请求防重检测方法、装置、设备及存储介质制造方法及图纸

技术编号:39320280 阅读:8 留言:0更新日期:2023-11-12 16:01
本申请公开了一种网络请求防重检测方法、装置、设备及存储介质,该方法包括:接收网络请求,网络请求中携带有请求标识和当前日期;获取当前日期的上一日期对应的第一BitMap,第一BitMap用于存储所述上一日期中处理的全部请求对应的比特位值;查询并获取第一BitMap中请求标识对应位置处的比特位值;基于第一BitMap中请求标识对应位置处的比特位值,按照防重规则确定网络请求的防重检测结果。该方案降低了Redis资源需求和成本开销,从而使得在面临大规模、高频的数据请求时,能够直接基于第一BitMap和第一BitMap中请求标识对应位置处的比特位值,对网络请求进行防重检测,提升了防重处理效率,极大地降低了防重处理而带来的数据库负载开销,避免数据库性能瓶颈。避免数据库性能瓶颈。避免数据库性能瓶颈。

【技术实现步骤摘要】
网络请求防重检测方法、装置、设备及存储介质


[0001]本专利技术一般涉及计算机网络
,具体涉及一种网络请求防重检测方法、装置、设备及存储介质。

技术介绍

[0002]随着移动互联网技术的不断发展,信息处理的业务逐渐增多,互联网作为一个庞大的综合系统,依靠一系列严格的网络协议和请求响应机制,实现几十亿用户和上百亿设备之间的互联互通。其中,在对网络请求的业务逻辑进行处理的过程中,为了防止接口被多次调用而产生冗余数据,或者避免恶意攻击系统的用户多次提交请求,导致请求处理缓慢,无法提供服务的情况发生,因此在实际业务处理过程中对网络请求进行防重检测显得尤为重要。
[0003]目前,相关技术中通过将请求标识以数据类型为String,键值对KEY

VALUE的存储方式存储在Redis数据库中,当遇到请求时通过查询Redis数据库来进行防重检测。然而当面对大规模、高频的网络请求时,直接查询数据库的开销成本会剧增,容易使得数据库到达瓶颈而影响整个系统吞吐能力和稳定性,并且需要大量的Redis资源,导致Redis性能开销、管理成本较高。

技术实现思路

[0004]鉴于现有技术中的上述缺陷或不足,期望提供一种网络请求防重检测方法、装置、设备及存储介质,能够降低Redis资源需求和成本开销,提升了防重处理效率,极大地降低了防重处理而带来的数据库负载开销,避免数据库性能瓶颈。
[0005]第一方面,本专利技术提供了一种网络请求防重检测方法,该方法包括:
[0006]接收网络请求,所述网络请求中携带有请求标识和当前日期;
[0007]获取当前日期的上一日期对应的第一BitMap,所述第一BitMap用于存储所述上一日期中处理的全部请求对应的比特位值;
[0008]查询并获取所述第一BitMap中所述请求标识对应位置处的比特位值;
[0009]基于所述第一BitMap中所述请求标识对应位置处的比特位值,按照防重规则确定所述网络请求的防重检测结果。
[0010]在其中一个实施例中,获取当前日期的上一日期对应的第一BitMap,包括:
[0011]通过加载应用程序查询本地JVM内存中是否存在所述第一BitMap;
[0012]若不存在,从Redis数据库中获取所述第一BitMap。
[0013]在其中一个实施例中,基于所述第一BitMap中所述请求标识对应位置处的比特位值,按照防重规则确定所述网络请求的防重检测结果,包括:
[0014]判断所述第一BitMap中所述请求标识对应位置处的比特位值是否为一;
[0015]当所述第一BitMap中所述请求标识对应位置处的比特位值为一时,从DB数据库中查询所述请求标识对应的网络请求是否重复,生成所述网络请求的防重检测结果;
[0016]当所述第一BitMap中所述请求标识对应位置处的比特位值不为一时,获取当前日期对应的第二BitMap,基于所述第二BitMap,确定所述网络请求的防重检测结果;所述第二BitMap用于存储所述当前日期中处理的全部请求对应的比特位值。
[0017]在其中一个实施例中,从DB数据库中查询所述请求标识对应的网络请求是否重复,生成所述网络请求的防重检测结果,包括:
[0018]获取所述DB数据库的数据库日志文件,查询所述数据库日志文件中是否存在请求标识;
[0019]当数据库日志文件中存在所述请求标识时,确定所述网络请求的防重检测结果是所述网络请求为重复请求;
[0020]当数据库日志文件中不存在所述请求标识时,确定所述网络请求的防重检测结果是所述网络请求不为重复请求。
[0021]在其中一个实施例中,所述网络请求的防重检测结果是所述网络请求为重复请求之后,所述方法还包括:
[0022]将所述当前日期对应的第二BitMap中所述请求标识对应位置处的比特位值置为一。
[0023]在其中一个实施例中,基于所述第二BitMap,确定所述网络请求的防重检测结果,包括
[0024]查询并获取所述第二BitMap中所述请求标识对应位置处的比特位值;
[0025]判断所述第二BitMap中所述请求标识对应位置处的比特位值是否为一;
[0026]当所述第二BitMap中所述请求标识对应位置处的比特位值为一时,确定所述网络请求的防重检测结果为请求重复;
[0027]当所述第二BitMap中所述请求标识对应位置处的比特位值不为一时,从DB数据库中查询所述请求标识对应的网络请求是否重复,生成所述网络请求的防重检测结果。
[0028]在其中一个实施例中,所述第一BitMap中所述请求标识对应位置处的比特位值是采用预设哈希算法基于所述上一日期和所述请求标识生成的;所述第二BitMap中所述请求标识对应位置处的比特位值是采用预设哈希算法基于所述当前日期和所述请求标识生成的。
[0029]第二方面,本申请实施例提供了网络请求防重检测装置,该装置包括:
[0030]接收模块,用于接收网络请求,所述网络请求中携带有请求标识和当前日期;
[0031]获取模块,用于获取当前日期的上一日期对应的第一BitMap,所述第一BitMap用于存储所述上一日期中处理的全部请求对应的比特位值;
[0032]查询模块,用于查询并获取所述第一BitMap中所述请求标识对应位置处的比特位值;
[0033]防重检测模块,用于基于所述第一BitMap中所述请求标识对应位置处的比特位值,按照防重规则确定所述网络请求的防重检测结果。
[0034]第三方面,本申请实施例提供一种设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述第一方面的网络请求防重检测方法。
[0035]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,
该计算机程序用于实现如上第一方面的网络请求防重检测方法。
[0036]本申请实施例提供的网络请求防重检测方法、装置、设备及介质,通过接收网络请求,该网络请求中携带有请求标识和当前日期,并获取当前日期的上一日期对应的第一BitMap,该第一BitMap用于存储上一日期中处理的全部请求对应的比特位值,然后查询并获取第一BitMap中请求标识对应位置处的比特位值,基于第一BitMap中请求标识对应位置处的比特位值,按照防重规则确定网络请求的防重检测结果。该技术方案由于将全部请求对应的比特位值存储至BitMap,降低了Redis资源需求和成本开销,从而使得在面临大规模、高频的数据请求时,能够直接基于第一BitMap和第一BitMap中请求标识对应位置处的比特位值,对网络请求进行防重检测,提升了防重处理效率,极大地降低了防重处理而带来的数据库负载开销,避免数据库性能瓶颈。
附图说明
[0037]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络请求防重检测方法,其特征在于,该方法包括:接收网络请求,所述网络请求中携带有请求标识和当前日期;获取当前日期的上一日期对应的第一BitMap,所述第一BitMap用于存储所述上一日期中处理的全部请求对应的比特位值;查询并获取所述第一BitMap中所述请求标识对应位置处的比特位值;基于所述第一BitMap中所述请求标识对应位置处的比特位值,按照防重规则确定所述网络请求的防重检测结果。2.根据权利要求1所述的方法,其特征在于,获取当前日期的上一日期对应的第一BitMap,包括:通过加载应用程序查询本地JVM内存中是否存在所述第一BitMap;若不存在,从Redis数据库中获取所述第一BitMap。3.根据权利要求1所述的方法,其特征在于,基于所述第一BitMap中所述请求标识对应位置处的比特位值,按照防重规则确定所述网络请求的防重检测结果,包括:判断所述第一BitMap中所述请求标识对应位置处的比特位值是否为一;当所述第一BitMap中所述请求标识对应位置处的比特位值为一时,从DB数据库中查询所述请求标识对应的网络请求是否重复,生成所述网络请求的防重检测结果;当所述第一BitMap中所述请求标识对应位置处的比特位值不为一时,获取当前日期对应的第二BitMap,基于所述第二BitMap,确定所述网络请求的防重检测结果;所述第二BitMap用于存储所述当前日期中处理的全部请求对应的比特位值。4.根据权利要求3所述的方法,其特征在于,从DB数据库中查询所述请求标识对应的网络请求是否重复,生成所述网络请求的防重检测结果,包括:获取所述DB数据库的数据库日志文件,查询所述数据库日志文件中是否存在请求标识;当数据库日志文件中存在所述请求标识时,确定所述网络请求的防重检测结果是所述网络请求为重复请求;当数据库日志文件中不存在所述请求标识时,确定所述网络请求的防重检测结果是所述网络请求不为重复请求。5.根据权利要求4所述的方法,其特征在于,所述网络请求的防重检测结果是所述网络请求为重复请...

【专利技术属性】
技术研发人员:王安全陈亮
申请(专利权)人:湖南微步信息科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1