重复请求判断方法及装置转让专利

申请号 : CN201811536065.2

文献号 : CN109783718B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李军于国东

申请人 : 中国联合网络通信集团有限公司联通支付有限公司

摘要 :

本申请提供了一种重复请求判断方法及装置,涉及计算机领域,能够准确快捷的判断用户提交的页面访问请求是否重复,防止页面重复加载。该方法包括:接收到页面加载请求之后,从页面加载请求中获取第一字符串;查询后台服务器中是否存在与第一字符串匹配的第二字符串;若后台服务器中存在第二字符串,则加载页面;若后台服务器中不存在第二字符串,则确定页面加载请求为重复请求。用于防止页面重复加载。

权利要求 :

1.一种重复请求判断方法,其特征在于,所述方法包括:接收到页面加载请求之后,从所述页面加载请求中获取第一字符串;

查询后台服务器中是否存在与所述第一字符串匹配的第二字符串;

若所述后台服务器中存在所述第二字符串,则加载所述页面;

若所述后台服务器中不存在所述第二字符串,则确定所述页面加载请求为重复请求;

在从所述页面加载请求中获取第一字符串之前;所述方法还包括:判断所述后台服务器中是否存在与所述页面加载请求对应的第三字符串;

若不存在,则确定所述页面加载请求为首次页面加载请求;

根据所述页面加载请求生成所述第三字符串,并将所述第三字符串发送至所述页面中;

加载所述页面并生成所述第一字符串和所述第二字符串,建立所述第一字符串和所述第二字符串的匹配关系;

将所述第一字符串存储在所述页面中,将所述第二字符串存储在所述后台服务器中;

若存在,则确定所述页面加载请求不是首次页面加载请求;从所述页面加载请求中获取所述第一字符串。

2.根据权利要求1所述的重复请求判断方法,其特征在于,在所述加载所述页面之后;

所述方法包括:

更新所述第一字符串和第二字符串,并将更新后的所述第一字符串存储在所述页面中,将更新后的所述第二字符串存储在所述后台服务器中。

3.根据权利要求1-2任一项所述的重复请求判断方法,其特征在于,所述方法包括:所述第一字符串和所述第二字符串为相同的字符串。

4.一种重复请求判断装置,其特征在于,所述装置包括:接收模块,用于接收到页面加载请求;

处理模块,用于从所述页面加载请求中获取第一字符串;

所述处理模块,还用于查询后台服务器中是否存在与所述第一字符串匹配的第二字符串;

所述处理模块,还用于若所述后台服务器中存在所述第二字符串,则加载所述页面;

所述处理模块,还用于若所述后台服务器中不存在所述第二字符串,则确定所述页面加载请求为重复请求;

所述装置还包括:

所述处理模块,还用于判断所述后台服务器中是否存在与所述页面加载请求对应的第三字符串;

所述处理模块,还用于若不存在,则确定所述页面加载请求为首次页面加载请求;

所述处理模块,还用于根据所述页面加载请求生成所述第三字符串;

发送模块,用于将所述第三字符串发送至所述页面中;

所述处理模块,还用于加载所述页面并生成所述第一字符串和所述第二字符串,建立所述第一字符串和所述第二字符串的匹配关系;

所述处理模块,还用于将所述第一字符串存储在所述页面中,将所述第二字符串存储在所述后台服务器中;

所述处理模块,还用于若存在,则确定所述页面加载请求不是首次页面加载请求;从所述页面加载请求中获取所述第一字符串。

5.根据权利要求4所述的重复请求判断装置,其特征在于,所述处理模块,还用于:更新所述第一字符串和第二字符串,并将更新后的所述第一字符串存储在所述页面中,将更新后的所述第二字符串存储在所述后台服务器中。

6.根据权利要求4-5任一项所述的重复请求判断装置,其特征在于,所述处理模块,还用于:

将所述第一字符串和所述第二字符串设置为相同的字符串。

7.一种重复请求判断装置,其特征在于,所述重复请求判断装置包括:处理器、收发器和存储器;其中,存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该重复请求判断装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该重复请求判断装置执行权利要求1至3中任意之一所述的重复请求判断方法。

8.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至3中任一项所述的重复请求判断方法。

说明书 :

重复请求判断方法及装置

技术领域

[0001] 本申请涉及计算机领域,尤其涉及一种重复请求判断方法及装置。

背景技术

[0002] 当前,为避免因用户重复提交一个页面的访问请求而导致的页面前端和服务器后端的数据不一致,通常需要对页面建立页面防重机制。
[0003] 现有技术中,建立页面防重机制的方法包括:编写页面防重脚本,当用户点击页面按钮进入页面时,加载页面并将加载请求发送至该脚本中,脚本将该页面的加载功能设置
为禁用,避免后续页面重复加载。直到收到后端反馈的用户离开该页面的消息,再次将页面
加载功能设置为可用。后续用户可以通过点击加载按钮再次加载该页面。但是该方法,需要
为每个页面编写脚本,工作量大,操作复杂,并且当脚本与前端交互过程中产生延迟时,将
不能避免页面的重复加载。

发明内容

[0004] 本申请实施例提供一种重复请求判断方法及装置,能够更加准确快捷的判断用户提交的页面访问请求是否重复,防止页面重复加载。
[0005] 为达到上述目的,本申请采用如下技术方案:
[0006] 第一方面,本申请提供了一种重复请求判断方法,该方法包括:接收到页面加载请求之后,从所述页面加载请求中获取第一字符串;查询后台服务器中是否存在与所述第一
字符串匹配的第二字符串;若所述后台服务器中存在所述第二字符串,则加载所述页面;若
所述后台服务器中不存在所述第二字符串,则确定所述页面加载请求为重复请求。
[0007] 第二方面,本申请提供了一种重复请求判断装置,该装置包括:接收模块,用于接收到页面加载请求;处理模块,用于从所述页面加载请求中获取第一字符串;所述处理模
块,还用于查询后台服务器中是否存在与所述第一字符串匹配的第二字符串;所述处理模
块,还用于若所述后台服务器中存在所述第二字符串,则加载所述页面。
[0008] 第三方面,本申请提供了一种重复请求判断装置,该装置包括:处理器、收发器和存储器;其中,存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,
当该重复请求判断装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该重
复请求判断装置执行上述第一方面及其任意一种实现方式所述的重复请求判断方法。
[0009] 第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面及其任意
一种实现方式所述的重复请求判断方法。
[0010] 第五方面,本申请提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其任意一种实现方式所述重复
请求判断方法。
[0011] 本申请实施例提供的重复请求判断方法,接收到页面加载请求之后,从所述页面加载请求中获取第一字符串;查询后台服务器中是否存在与所述第一字符串匹配的第二字
符串;若所述后台服务器中存在所述第二字符串,则加载所述页面;若所述后台服务器中不
存在所述第二字符串,则确定所述页面加载请求为重复请求。本申请提供的重复请求判断
方法及装置能够更加准确快捷的判断用户提交的页面访问请求是否重复,防止页面重复加
载。

附图说明

[0012] 图1为本申请实施例提供的一种重复请求判断系统的系统示意图;
[0013] 图2为本申请实施例提供的一种重复请求判断方法的流程图;
[0014] 图3为本申请实施例提供的一种重复请求判断装置的结构示意图一;
[0015] 图4为本申请实施例提供的一种重复请求判断装置的结构示意图二;
[0016] 图5为本申请实施例提供的一种重复请求判断装置的结构示意图二。

具体实施方式

[0017] 下面将结合附图对本申请提供的重复请求判断方法及装置进行详细的描述。
[0018] 本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。
[0019] 此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没
有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地
还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0020] 需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应
被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例
如”等词旨在以具体方式呈现相关概念。
[0021] 在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
[0022] 本申请实施例提供的重复请求判断方法应用于如图1所示的重复请求判断系统100中。所述重复请求判断系统包括前端页面101(该前端页面101具体可以实现为浏览器)
和后端服务器102。
[0023] 所述页面101提供用户浏览或者操作的内容,用户可以通过点击页面对应的加载按钮进入所述页面或者点击页面对应的操作按钮执行对应的操作(如支付,下载等)。当用
户点击对应的按钮之后,需要加载页面或者执行对应的操作时,根据页面对应的加载请求
或者操作请求,从所述后端服务器102中调用对应的数据内容以加载对应的页面或者响应
对应的操作。
[0024] 本申请实施例提供了一种重复请求判断方法。如图2所示,所述重复请求判断方法可以由任意计算机设备或所述后台服务器执行。所述方法包括S201-S204。
[0025] S201、接收到页面加载请求之后,从所述页面加载请求中获取第一字符串。
[0026] 其中,所述第一字符串为页面首次加载时为所述页面随机分配的一组字符串。所述第一字符串存储在所述页面中。
[0027] 具体为,在接收到所述页面加载请求之后,确定所述加载页面中的页面信息。判断后台服务器中是否存在与所述页面信息对应的第三字符串。其中,所述第三字符串为所述
页面首次请求加载时为其随机分配的一组不同于所述第一字符串的字符串。若不存在所述
第三字符串,则确定所述页面加载请求为首次页面加载请求。若存在所述第三字符串,则确
定所述页面加载请求不是首次页面加载请求。
[0028] 若所述页面加载请求为首次页面加载请求,则根据页面信息随机生成第一字符串、第二字符串和第三字符串并建立第一字符串和第二字符串的对应关系。将第一字符串
发送并存储在所述页面中,将所述第二字符串和第三字符串发送并存储在后台服务器中。
[0029] 若所述页面加载请求不是首次页面加载请求,则所述页面加载请求中包含有在页面首次加载时为其随机分配的第一字符串。从所述页面加载请求中获取所述第一字符串。
[0030] 示例性的,在用户首次点击加载该页面时,因为所述后台服务器中不存在与其对应的第三字符串。则随机为该页面分配一组字符串作为第三字符串(示例性的该第三字符
串为TOKEN_A,A为一组随机字符串)。同时为该页面随机分配第一字符串B1,将该第一字符
串B1发送并存储在至该页面的cookie中。将该第三字符串TOKEN_A发送并存储在后台服务
器的分布式缓存redis集群中。
[0031] S202、查询后台服务器中是否存在与所述第一字符串匹配的第二字符串。
[0032] 其中,所述第二字符串为页面首次加载时为所述页面随机分配的与第一字符串存在对应关系的字符串。可选的,所述第一字符串和所述第二字符串为同一组字符串。
[0033] 示例性的,在S201中,为所述页面分配完成所述第一字符串B1后,将该第一字符串发送并存储在后台服务器的分布式缓存redis集群中,作为所述第二字符串;或者再次随机
生成一个第二随机字符串B2,建立B1与B2的对应关系。同时将该对应关系和所述第二字符
串发送并存储至所述后台服务器的分布式缓存redis集群中。
[0034] S203、若所述后台服务器中存在所述第二字符串,则加载所述页面。
[0035] 具体为,若检测到所述后台服务器中存在与第一字符串匹配的第二字符串。则确定该页面不是重复加载的页面,加载所述页面。
[0036] 示例性的,所述第一字符串和所述第二字符串为同一组字符串B1。从所述页面加载请求中获取到所述第一字符串B1之后。从所述后台服务器中查询是否存在与所述第一字
符串B1相同的第二字符串B1。或者,所述第一字符串为B1,所述第二字符串为B2,则从所述
页面加载请求中获取到所述第一字符串B1之后,查询B1与B2的对应关系,确定第二字符串
B2。从所述后台服务器中查询是否存在第二字符串B2。若所述后台服务器中存在第二字符
串B1或第二字符串B2,则确定所述页面加载请求不是重复加载请求,加载所述页面。
[0037] 在每次页面加载之后,更新所述第一字符串和第二字符串,并将更新后的所述第一字符串发送并存储在所述页面中,将更新后的所述第二字符串发送并存储在所述后台服
务器中。以保证为此页面每次加载时均使用不同的第一字符串和第二字符串,从而避免后
续加载使用与前一次加载相同的第一字符串和第二字符串而出现重复加载判断错误的情
况。
[0038] S204、若所述后台服务器中不存在所述第二字符串,则确定所述页面加载请求为重复请求。
[0039] 具体为,若检测到所述后台服务器中不存在与第一字符串匹配的第二字符串。则确定该页面是重复加载的页面,禁止加载所述页面。
[0040] 本申请实施例提供的重复请求判断方法,接收到页面加载请求之后,从所述页面加载请求中获取第一字符串;查询后台服务器中是否存在与所述第一字符串匹配的第二字
符串;若所述后台服务器中存在所述第二字符串,则加载所述页面;若所述后台服务器中不
存在所述第二字符串,则确定所述页面加载请求为重复请求。本申请提供的重复请求判断
方法及装置能够更加准确快捷的判断用户提交的页面访问请求是否重复,防止页面重复加
载。
[0041] 本申请实施例可以根据上述方法示例对重复请求判断装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或
两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也
可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元
的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0042] 如图3所示,本申请提供了一种重复请求判断装置,用于执行前述重复请求判断方法,所述装置包括:
[0043] 接收模块301,用于接收到页面加载请求。
[0044] 处理模块302,用于从所述页面加载请求中获取第一字符串。
[0045] 所述处理模块302,还用于查询后台服务器中是否存在与所述第一字符串匹配的第二字符串。
[0046] 所述处理模块302,还用于若所述后台服务器中存在所述第二字符串,则加载所述页面。
[0047] 所述处理模块,还用于若所述后台服务器中不存在所述第二字符串,则确定所述页面加载请求为重复请求。
[0048] 可选的,如图4所示,所述重复请求判断装置还包括发送模块403。所述装置还包括:所述处理模块302,还用于判断所述后台服务器中是否存在与所述页面加载请求对应的
第三字符串。所述处理模块302,还用于若不存在,则确定所述页面加载请求为首次页面加
载请求。所述处理模块302,还用于根据所述页面加载请求生成所述第三字符串。
[0049] 发送模块403,用于将所述第三字符串发送至所述页面中。所述处理模块302,还用于加载所述页面并生成所述第一字符串和所述第二字符串,建立所述第一字符串和所述第
二字符串的匹配关系。所述处理模块302,还用于将所述第一字符串存储在所述页面中,将
所述第二字符串存储在所述后台服务器中。所述处理模块302,还用于若存在,则确定所述
页面加载请求不是首次页面加载请求.从所述页面加载请求中获取所述第一字符串。
[0050] 可选的,所述处理模块302,还用于:更新所述第一字符串和第二字符串,并将更新后的所述第一字符串存储在所述页面中,将更新后的所述第二字符串存储在所述后台服务
器中。
[0051] 可选的,所述处理模块302,还用于:将所述第一字符串和所述第二字符串设置为相同的字符串。
[0052] 图5示出了上述实施例中所涉及的重复请求判断装置的又一种可能的结构示意图。该重复请求判断装置包括:处理器502和通信接口503。处理器502用于对重复请求判断
装置的动作进行控制管理,例如,执行上述处理模块302执行的步骤,和/或用于执行本文所
描述的技术的其它过程。通信接口503用于支持重复请求判断装置与其他网络实体的通信,
例如,执行上述接收模块301和发送模块403执行的步骤。重复请求判断装置还可以包括存
储器501和总线504,存储器501用于存储重复请求判断装置的程序代码和数据。
[0053] 其中,存储器501可以是重复请求判断装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,
快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
[0054] 上述处理器502可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成
电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意
组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电
路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和
微处理器的组合等。
[0055] 总线504可以是扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。总线504可以分为地址总线、数据总线、控制总线等。为便于表
示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0056] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上
述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成
以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前
述方法实施例中的对应过程,在此不再赘述。
[0057] 本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例所述的重复请求判断方法。
[0058] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述方法实施例所示的方法流程
中的重复请求判断方法。
[0059] 其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷
举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器
(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读
存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式
紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器
件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向
该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以
位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请
实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指
令执行系统、装置或者器件使用或者与其结合使用。
[0060] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申
请的保护范围应该以权利要求的保护范围为准。