交易判重的方法、装置、设备和计算机可读介质制造方法及图纸

技术编号:28505246 阅读:24 留言:0更新日期:2021-05-19 22:57
本发明专利技术公开了交易判重的方法、装置、设备和计算机可读介质,涉及大数据技术领域。该方法的一具体实施方式包括:接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁;根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求;按照所述数据库访问请求的判断结果执行所述数据库访问请求,以及所述分布式锁已过期,则释放所述分布锁。该实施方式避免重复提交交易,因此能够减轻服务器和数据库的压力。务器和数据库的压力。务器和数据库的压力。

【技术实现步骤摘要】
交易判重的方法、装置、设备和计算机可读介质


[0001]本专利技术涉及大数据
,尤其涉及一种交易判重的方法、装置、设备和计算机可读介质。

技术介绍

[0002]随着互联网的迅速发展,页面应用的使用具有普遍性广泛性。在现实中,页面上的“提交”、“返回”、“刷新”按钮,赋予了网页强大的功能,但同时也带来了重复提交的问题。
[0003]在平台系统中,如果一些交易数据重复提交,则会造成脏数据或者其他的重大业务问题。并且如果用户频繁点击或者恶意用户的恶意攻击则会造成不断地请求,进而对服务器造成很大的压力。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:传统一般做法是在数据库进行限制避免重复,但是如果在请求相同业务的人数多的情况下,则会增加服务器和数据库的压力。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种交易判重的方法、装置、设备和计算机可读介质,避免重复提交交易,因此能够减轻服务器和数据库的压力。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种交易判重的方法,包括:
[0007]接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁;
[0008]根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求;
[0009]按照所述数据库访问请求的判断结果执行所述数据库访问请求,以及所述分布式锁已过期,则释放所述分布锁。
[0010]所述接收到数据库访问请求后,获取所述数据库访问请求的标识,包括:
[0011]接收到数据库访问请求后,根据所述数据库访问请求在redis缓存中未查找到所述数据库访问请求的标识;
[0012]在所述数据库访问请求中增加标识,以获取所述数据库访问请求的标识。
[0013]所述分布式锁是redis分布式锁。
[0014]所述接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁,包括:
[0015]接收到数据库访问请求后,获取所述数据库访问请求的标识;
[0016]基于所述数据库访问请求的标识,利用MD5算法生成密钥以设置所述分布式锁。
[0017]所述基于所述数据库访问请求的标识,利用MD5算法生成密钥以设置所述分布式锁,包括:
[0018]基于所述数据库访问请求的标识,利用MD5算法生成密钥;
[0019]设置所述密钥对应的过期时间,以生成所述分布式锁。
[0020]所述设置所述密钥对应的过期时间,以生成所述分布式锁,包括:
[0021]更新所述密钥对应的过期时间,以生成所述分布式锁。
[0022]所述数据库中令牌涉及的参数包括HttpSession,
[0023]所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:
[0024]根据数据库访问请求的令牌,获知所述数据库访问请求不存在对应的HttpSession,则判断所述数据库访问请求是重复请求。
[0025]所述数据库中令牌涉及的参数包括所述标识对应的令牌,
[0026]所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:
[0027]根据数据库访问请求的令牌,在数据库中并未找到所述标识对应的令牌,则判断所述数据库访问请求是重复请求。
[0028]所述数据库中令牌涉及的参数包括所述数据库中所述标识对应的令牌,
[0029]所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:
[0030]根据数据库访问请求的令牌和所述数据库中所述标识对应的令牌是否一致,判断所述数据库访问请求是否为重复请求。
[0031]所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:
[0032]根据所述数据库访问请求的标识在数据库中生成令牌,生成的令牌存储在数据库中,所述数据库存储的令牌的数量小于等于最大令牌数量;
[0033]基于所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求。
[0034]所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:
[0035]根据所述数据库访问请求的标识在数据库中生成令牌,生成的令牌存储在数据库中,所述数据库存储的令牌的数量大于最大令牌数量;
[0036]按照所述存储的令牌建立时间和所述最大令牌数量,删除所述数据库存储的令牌;
[0037]基于所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求。
[0038]所述按照所述数据库访问请求的判断结果执行所述数据库访问请求,包括:
[0039]所述数据库访问请求是重复请求,则拒绝所述数据库访问请求。
[0040]所述按照所述数据库访问请求的判断结果执行所述数据库访问请求,包括:
[0041]所述数据库访问请求不是重复请求,则执行所述数据库访问请求。
[0042]所述方法还包括:
[0043]根据所述数据库访问请求的标识,获知所述数据库访问请求未响应处理,则发起
所述数据库访问请求的处理。
[0044]所述分布式锁已过期,则释放所述分布锁,包括:
[0045]所述分布式锁已过期,则删除所述数据库访问请求中的标识以释放所述分布式锁。
[0046]所述数据库访问请求包括以下一种或多种:提交业务请求、更新业务请求和重复提交业务请求。
[0047]所述方法还包括:
[0048]处理所述数据库访问请求的节点故障,则在从节点中选择一个节点继续处理所述数据库访问请求。
[0049]根据本专利技术实施例的第二方面,提供了一种交易判重的装置,包括:
[0050]设置模块,用于接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁;
[0051]判断模块,用于根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求;
[0052]执行模块,用于按照所述数据库访问请求的判断结果执行所述数据库访问请求,以及所述分布式锁已过期,则释放所述分布锁。
[0053]根据本专利技术实施例的第三方面,提供了一种交易判重的电子设备,包括:
[0054]一个或多个处理器;
[0055]存储装置,用于存储一个或多个程序,
[0056]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
[0057]根据本专利技术实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交易判重的方法,其特征在于,包括:接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁;根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求;按照所述数据库访问请求的判断结果执行所述数据库访问请求,以及所述分布式锁已过期,则释放所述分布锁。2.根据权利要求1所述交易判重的方法,其特征在于,所述接收到数据库访问请求后,获取所述数据库访问请求的标识,包括:接收到数据库访问请求后,根据所述数据库访问请求在redis缓存中未查找到所述数据库访问请求的标识;在所述数据库访问请求中增加标识,以获取所述数据库访问请求的标识。3.根据权利要求1所述交易判重的方法,其特征在于,所述分布式锁是redis分布式锁。4.根据权利要求1所述交易判重的方法,其特征在于,所述接收到数据库访问请求后,获取所述数据库访问请求的标识,并设置所述标识的分布式锁,包括:接收到数据库访问请求后,获取所述数据库访问请求的标识;基于所述数据库访问请求的标识,利用MD5算法生成密钥以设置所述分布式锁。5.根据权利要求4所述交易判重的方法,其特征在于,所述基于所述数据库访问请求的标识,利用MD5算法生成密钥以设置所述分布式锁,包括:基于所述数据库访问请求的标识,利用MD5算法生成密钥;设置所述密钥对应的过期时间,以生成所述分布式锁。6.根据权利要求5所述交易判重的方法,其特征在于,所述设置所述密钥对应的过期时间,以生成所述分布式锁,包括:更新所述密钥对应的过期时间,以生成所述分布式锁。7.根据权利要求1所述交易判重的方法,其特征在于,所述数据库中令牌涉及的参数包括HttpSession,所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:根据数据库访问请求的令牌,获知所述数据库访问请求不存在对应的HttpSession,则判断所述数据库访问请求是重复请求。8.根据权利要求1所述交易判重的方法,其特征在于,所述数据库中令牌涉及的参数包括所述标识对应的令牌,所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请求是否为重复请求,包括:根据数据库访问请求的令牌,在数据库中并未找到所述标识对应的令牌,则判断所述数据库访问请求是重复请求。9.根据权利要求1所述交易判重的方法,其特征在于,所述数据库中令牌涉及的参数包括所述数据库中所述标识对应的令牌,所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访
问请求是否为重复请求,包括:根据数据库访问请求的令牌和所述数据库中所述标识对应的令牌是否一致,判断所述数据库访问请求是否为重复请求。10.根据权利要求1所述交易判重的方法,其特征在于,所述根据所述数据库访问请求的令牌和数据库中令牌涉及的参数,判断所述数据库访问请...

【专利技术属性】
技术研发人员:鲍欣妍陈浩忠李浏骝周尚香李孟君吴舒萍田芳华朱子敬陆森郭献孙琳何焕林莫雪慧林小蕊
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1