CN111371852B - 一种数据处理的方法以及相关装置 - Google Patents
一种数据处理的方法以及相关装置 Download PDFInfo
- Publication number
- CN111371852B CN111371852B CN202010111947.5A CN202010111947A CN111371852B CN 111371852 B CN111371852 B CN 111371852B CN 202010111947 A CN202010111947 A CN 202010111947A CN 111371852 B CN111371852 B CN 111371852B
- Authority
- CN
- China
- Prior art keywords
- server
- token value
- client
- sent
- target form
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种数据处理的方法以及相关装置,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。本申请实施例提供的数据处理的方法可以包括:客户端向第一服务器发送业务请求,业务请求携带第一令牌值和目标表单,第一令牌值为对目标表单中的表单参数进行字典序排序得到;客户端接收第一服务器发送的目标表单的提交情况,其中,提交情况由第一服务器基于目标表单的处理结果得到,处理结果由缓存设备根据第一服务器发送的第一令牌值确定。
Description
技术领域
本申请实施例涉及通信技术领域,具体涉及一种数据处理的方法以及相关装置。
背景技术
通常在如html页面等前端向后台服务器发起业务请求后,由于网络不稳定或者其他的因素影响,导致客户端无法获得该后台服务器的响应,从而导致该前端并不清楚后台服务器是否已经处理该业务请求,倘若此时用户在客户端上再次发起业务请求,那么这时候就会带来较为严重的后果,如:重复支付、重复转账等,因此,防止业务请求中的表单重复提交就显得尤为重要。
目前,当用户在客户端的html页面上欲提交某个表单时,后台服务器会生成一个随机字符串,并将其保存,同时也将该随机字符串保存到表单的隐藏hidden域中,然后反馈到客户端,这样在用户提交表单时,会将相应的hidden域中的随机字符串与后台服务器中的随机字符串进行比较,当两个随机字符串相同时则表示可以正常处理表单,否则表示该表单重复提交。
然而,针对目前的处理方式并不适用在前后端分离的架构中,因为随机字符串只是在后台服务器在反馈给客户端的时候生成的,即后台服务器生成了html页面,而客户端只是负责渲染,并且后台服务器返回的数据量较大,对后台服务器和带宽都产生了较大的压力。
发明内容
本申请实施例提供了一种数据处理的方法以及相关装置,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。
有鉴于此,本申请实施例提供如下方案:
第一方面,本申请实施例提供一种数据处理的方法,包括:
客户端向第一服务器发送业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的表单参数进行字典序排序得到;
所述客户端接收所述第一服务器发送的所述目标表单的提交情况,其中,所述提交情况由所述第一服务器基于所述目标表单的处理结果得到,所述处理结果由缓存设备根据所述第一服务器发送的所述第一令牌值确定。
第二方面,本申请实施例提供一种数据处理的方法,包括:
第一服务器接收客户端发送的业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的参数进行字典序排序得到;
所述第一服务器向缓存设备发送所述第一令牌值,以用于所述缓存设备确定所述目标表单的处理结果;
所述第一服务器接收所述缓存设备发送的所述处理结果;
所述第一服务器根据所述处理结果确定所述目标表单的提交情况;
所述第一服务器向所述客户端发送所述提交情况。
第三方面,本申请实施例提供一种数据处理的方法,包括:
缓存设备接收第一服务器发送的第一令牌值;
所述缓存设备基于存储的第二令牌值与所述第一令牌值确定目标表单的处理结果;
所述缓存设备向所述第一服务器发送所述处理结果,以使得所述第一服务器基于所述处理结果确定所述目标表单的提交情况。
第四方面,本申请实施例提供一种数据处理的方法,包括:
在客户端向第一服务器发送业务请求之前,第二服务器接收所述客户端发送的目标表单;
所述第二服务器基于所述目标表单中的表单参数进行字典序排序,以得到所述第一令牌值;
所述第二服务器向所述客户端发送的所述第一令牌值。
第五方面,本申请实施例提供一种客户端,该客户端可以包括:
发送单元,用于向第一服务器发送业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的表单参数进行字典序排序得到;
接收单元,用于接收所述第一服务器发送的所述目标表单的提交情况,其中,所述提交情况由所述第一服务器基于所述目标表单的处理结果得到,所述处理结果由缓存设备根据所述第一服务器发送的所述第一令牌值确定。
可选地,结合上述第五方面,在第一种可能的实现方式中,
所述发送单元,还用于向第一服务器发送业务请求之前,向第二服务器发送所述目标表单,以使得所述第二服务器基于所述目标表单中的表单参数确定所述第一令牌值;
所述接收单元,还用于接收所述第二服务器发送的所述第一令牌值。
可选地,结合上述第五方面第一种可能的实现方式,在第二种可能的实现方式中,
所述发送单元,还用于在预设的超时时间内未接收到所述提交情况时,则向所述第一服务器重新发送所述业务请求。
第六方面,本申请实施例提供了一种第一服务器,所述第一服务器包括:
接收模块,用于接收客户端发送的业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的参数进行字典序排序得到;
发送模块,用于向缓存设备发送所述第一令牌值,以用于所述缓存设备确定所述目标表单的处理结果;
所述接收模块,用于接收所述缓存设备发送的所述处理结果;
确定模块,用于根据所述处理结果确定所述目标表单的提交情况;
所述发送模块,用于向所述客户端发送所述提交情况。
第七方面,本申请实施例提供一种缓存设备,缓存设备可以包括:
接收单元,用于接收第一服务器发送的第一令牌值;
确定单元,用于基于存储的第二令牌值与所述第一令牌值确定目标表单的处理结果;
发送单元,拥有向所述第一服务器发送所述处理结果,以使得所述第一服务器基于所述处理结果确定所述目标表单的提交情况。
可选地,结合上述第七方面,在第一种可能的实现方式中,所述缓存设备还包括:缓存单元,
所述接收单元,还用于在接收第一服务器发送的第一令牌值之前,接收第二服务器发送的第一令牌值;
缓存单元,用于存储所述第一令牌值为所述第二令牌值。
第八方面,本申请实施例提供一种第二服务器,第二服务器可以包括:
接收单元,用于客户端向第一服务器发送业务请求之前,接收所述客户端发送的目标表单;
得到单元,用于基于所述目标表单中的表单参数进行字典序排序,以得到所述第一令牌值;
发送单元,用于向所述客户端发送的所述第一令牌值。
可选地,结合上述第八方面,在第一种可能的实现方式中,
所述发送单元,还用于在向所述客户端发送的所述第一令牌值之前,向缓存设备发送所述第一令牌值,以使所述缓存设备存储所述第一令牌值后得到第二令牌值。
第九方面,本申请实施例提供一种计算机设备,该计算机设备包括:
包括:输入/输出(I/O)接口、处理器和存储器,
存储器中存储有程序指令;
处理器用于执行存储器中存储的程序指令,以用于实现如上述第一方面、第一方面任意一种、第二方面、第三方面、第三方面任意一种、第四方面以及第四方面任意一种可能实现方式的方法。
本申请第四方面提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令用于执行如第一方面、第一方面任意一种、第二方面、第三方面、第三方面任意一种、第四方面以及第四方面任意一种可能实现方式的方法。
本申请实施例的第五方面提供了一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,客户端通过向第一服务器发送携带有第一令牌值和目标表单的业务请求,使得缓存设备从第一服务器中获取到第一令牌值后基于该第一令牌值确定出目标表单的处理结果,这样第一服务器便可以确定出处理结果对应的提交情况后将该提交情况告知客户端,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1是为本申请实施例提供的一种数据处理***的结构示意图;
图2是本申请实施例提供的数据处理的方法的一个实施例示意图;
图3是本申请实施例提供的数据处理的方法的另一个实施例示意图;
图4为本申请实施例中提供的客户端一个实施例示意图;
图5为本申请实施例中提供的第一服务器一个实施例示意图;
图6为本申请实施例中提供的缓存设备一个实施例示意图;
图7为本申请实施例中提供的第二服务器一个实施例示意图;
图8本申请实施例提供的计算机设备的结构示意图。
具体实施方式
本申请实施例提供了一种数据处理的方法以及相关装置,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,当用户在客户端的html页面上欲提交某个表单时,后台服务器会生成一个随机字符串,并将其保存,同时也将该随机字符串保存到表单的hidden域中,然后反馈到客户端,这样在用户提交表单时,会将相应的hidden域中的随机字符串域与后台服务器中的随机字符串进行比较,当两个随机字符串相同时则表示可以正常处理表单,否则表示该表单重复提交。然而,针对目前的处理方式并不适用在前后端分离的架构中,因为随机字符串只是在后台服务器在反馈给客户端的时候生成的,即后台服务器生成了html页面,而客户端只是负责渲染,并且后台服务器返回的数据量较大,对后台服务器和带宽都产生了较大的压力。
因此,为了解决上述问题,本申请实施例提供了一种数据处理的方法,请参阅图1,为本申请实施例提供的一种数据处理***的结构示意图。如图1所示,该数据处理***包括客户端、第一服务器、第二服务器以及缓存设备。其中,客户端、第一服务器、第二服务器以及缓存设备之间通过网络进行数据的交互。另外,第二服务器主要是用于对客户端发送的目标表单中的表单参数进行字典序排序,并通过MD5摘要技术对排序后的表单参数进行第一令牌值的确定,而缓存设备主要是用于对该第一令牌值进行存储,以便于在客户端向第一服务器发送业务请求时能够为客户端提供相应的第一令牌值,并且该缓存设备能够基于第一令牌值确定出目标表单的处理结果后发送给第一服务器,从而使得第一服务器确定出相应的提交情况并将提交情况发送给客户端。这样将通过MD5摘要技术确定出的第一令牌值保存在缓存设备中,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。
为了便于理解,本申请实施例提供了一种数据处理的方法,请参阅图2,为本申请实施例提供的数据处理的方法的一个实施例示意图。
如图2所示,本申请实施例提供的数据处理的方法可以包括:
201、客户端向第一服务器发送业务请求,业务请求携带第一令牌值和目标表单。
本实施例中,第一令牌值是针对目标表单中的表单参数进行字典序排序得到的,而该字典序可以理解为对于26个英文字母来说就是第一个字母的顺序,即a排第一位,z在最后一位。利用字典序判断两个表单参数对应的字符串的顺序的所需要遵循的规则为:若第一个字符相同,则比较下一个字符,并且需要遵循a排第一位,z在最后一位的规则。另外,需要理解的是,该第一令牌值可以用来确定出该目标表单的提交结果,即:重复提交、正常提交等。
因此,客户端在向第一服务器发送业务请求时,需要在该业务请求中携带第一令牌值和目标表单。
202、第一服务器向缓存设备发送第一令牌值。
本实施例中,由于在客户端向第一服务器发送业务请求之前,缓存设备中已经存储有基于该目标表单中的表单参数进行字典序排序得到的第二令牌值,因此,第一服务器在接收到客户端发送的第一令牌值后,可以将该第一令牌值向缓存设备发送,使得缓存设备基于存储的第二令牌值与第一令牌值来确定该目标表单的处理结果。
203、缓存设备基于存储的第二令牌值与第一令牌值确定目标表单的处理结果。
本实施例中,缓存设备中可以通过Redis数据库对令牌值进行存储。在缓存设备接收到第一令牌值后,缓存设备可以通过执行incby操作将存储的第二令牌值与第一令牌值进行比较,从而得到相应的处理结果。具体的,倘若对该第二令牌值与第一令牌值进行比较后得到的处理结果等于1,那么就表明该目标表单能够正常提交;倘若对该第二令牌值与第一令牌值进行比较后得到的处理结果大于1,那么就表明该目标表单已经提交过,即重复提交。
204、缓存设备向第一服务器发送处理结果。
205、第一服务器根据处理结果确定目标表单的提交情况。
本实施例中,第一服务器在接收到缓存设备发送的处理结果后,首先会确定出该处理结果所对应的提交情况。例如:倘若处理结果等于1,那么就表明该目标表单能够正常提交,此时第一服务器就会按照未异常的业务处理逻辑提交该目标表单,并且会确定相应的提交情况,如:正常提交;倘若处理结果大于1,那么就表明该目标表单已经提交过,此时第一服务器就会确定出相应的提交情况,如:重复提交。
206、第一服务器向客户端发送目标表单的提交情况。
本实施例中,在第一服务器基于处理结果确定出目标表单相应的提交情况后,便可以向客户端发送该提交情况,使得客户端在接收了该提交情况后,可以在客户端的界面上提示用户,防止用户重复提交表单。
本申请实施例中,客户端通过向第一服务器发送携带有第一令牌值和目标表单的业务请求,使得缓存设备从第一服务器中获取到第一令牌值后基于该第一令牌值确定出目标表单的处理结果,这样第一服务器便可以确定出处理结果对应的提交情况后将该提交情况告知客户端,不仅适用于前后端分离架构下检验表单是否重复提交的情况,而且使得第一服务器不用向客户端发送数据量较大的随机字符串,而是直接将提交情况告知客户端,减缓了第一服务器和带宽的压力。
为了便于理解,在图2所描述的实施例的基础上,本申请实施例提供了一种数据处理的方法,请参阅图3,为本申请实施例提供的数据处理的方法的另一个实施例示意图。
如图3所示,本申请实施例提供的数据处理的方法可以包括:
301、客户端向第二服务器发送目标表单。
本实施例中,由于第一服务器并不清楚客户端发送的目标表单中的表单参数所对应的字符串的顺序,而由于不同字符串的顺序所得到的令牌值并不相同,而为了第一服务器能够获知到该目标表单固定的第一令牌值,因此在客户端向第一服务器发送业务请求之前,还需要向第二服务器发送目标表单,使得第二服务器能够基于该目标表单中的表单参数进行字典序排序,以得到相应的目标表单的第一令牌值,这就保证了客户端不论向第一服务器发送顺序不稳定的目标表单,都保证了该第一服务器能够得到该目标表单固定的第一令牌值。
302、第二服务器根据目标表单中的表单参数进行字典序排序,以得到第一令牌值。
本实施例中,第二服务器是一个轻量级的后台服务器,能够根据客户端提供的目标表单中的表单参数进行字典序排序,在将表单参数对应的字符串转化为符合字典序排序的字符串后,会对符合字典序排序的字符串进行MD5摘要算法的计算,从而得到该第一令牌值。
例如:假如该表单参数为user=123&name=stone,那么进行字典序排序得到的结果则为name=stone&user=123,此时再进行MD5摘要算法的计算后,则得到的第一令牌值为MD5(name=stone&user=123)。
303、第二服务器向缓存设备发送第一令牌值。
304、缓存设备存储第一令牌值为第二令牌值。
本实施例中,缓存设备在接收到第二服务器发送的第一令牌值后,需要将该该第一令牌值进行存储,为了方便说明,此处将存储的第一令牌值称为第二令牌值。需要说明的是,在将第一令牌值进行存储的同时,还需要对该第一令牌值设置一个超时时间,例如180秒等。当然设置超时时间可以根据该缓存设备的内存大小或者业务大小等设置不同的超时时间,而超时时间越长,则耗内存越多。
需要说明的是,对第一令牌值设置超时时间,目的是便于缓存设备管理自身的内存和自动清理内存,而且也能够在第一服务器未能成功地处理业务或者因网络问题使得客户端没有接收到提交情况的时候,方便客户端查询并确定出该目标表单是否已经被第一服务器提交。
305、第二服务器向客户端发送的第一令牌值。
本实施例中,由缓存设备先向第二服务器发送第一令牌值,然后再由第二服务器向该客户端发送。
306、客户端向第一服务器发送业务请求,业务请求携带第一令牌值和目标表单。
307、第一服务器向缓存设备发送第一令牌值。
308、缓存设备基于存储的第二令牌值与第一令牌值确定目标表单的处理结果。
309、缓存设备向第一服务器发送处理结果。
310、第一服务器根据处理结果确定目标表单的提交情况。
311、第一服务器向客户端发送目标表单的提交情况。
本实施例中,步骤306~311可以参照图2中的步骤201~206进行理解,具体此处将不做赘述。
可选地,在另一些实施例中,该数据处理的方法还可以包括:在客户端在预设的超时时间内未接收到提交情况时,则客户端向第一服务器重新发送业务请求。
本实施例中,该预设的超时时间是针对第一令牌值设置的,目的是便于缓存设备管理自身的内存和自动清理内存,而且也能够在第一服务器未能成功地处理业务或者因网络问题使得客户端没有接收到提交情况的时候,方便客户端查询并确定出该目标表单是否已经被第一服务器提交。因此,当客户端在预设的超时时间内未接收到提交情况时,该客户端可以向第一服务器重新发送业务请求,即重新提交表单,而不是退出该客户端或者跳转当前提交页面后重新填写表单再提交。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是为了实现上述功能,包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请实施例中的客户端40进行详细描述,请参阅图4,图4为本申请实施例中提供的客户端40一个实施例示意图,该客户端40可以包括:
发送单元401,用于向第一服务器发送业务请求,业务请求携带第一令牌值和目标表单,第一令牌值为对目标表单中的表单参数进行字典序排序得到;
接收单元402,用于接收所述第一服务器发送的所述目标表单的提交情况,其中,所述提交情况由所述第一服务器基于所述目标表单的处理结果得到,所述处理结果由缓存设备根据所述第一服务器发送的所述第一令牌值确定。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的客户端40的另一实施例中,
所述发送单元401,还用于向第一服务器发送业务请求之前,向第二服务器发送所述目标表单,以使得所述第二服务器基于所述目标表单中的表单参数确定所述第一令牌值;
所述接收单元402,还用于接收所述第二服务器发送的所述第一令牌值。
可选地,在上述图4以及可选的实施例的基础上,本申请实施例提供的客户端40的另一实施例中,
所述发送单元401,还用于在预设的超时时间内未接收到所述提交情况时,则向所述第一服务器重新发送所述业务请求。
上述的实施例中主要从模块化功能实体的角度详细地介绍了客户端40,下面的实施例中将从模块化的角度介绍第一服务器50,请参阅图5,图5为本申请实施例中提供的第一服务器50一个实施例示意图,该第一服务器50可以包括:
接收模块501,用于接收客户端发送的业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的参数进行字典序排序得到;
发送模块502,用于向缓存设备发送所述第一令牌值,以用于所述缓存设备确定所述目标表单的处理结果;
所述接收模块501,用于接收所述缓存设备发送的所述处理结果;
确定模块503,用于根据所述处理结果确定所述目标表单的提交情况;
所述发送模块502,用于向所述客户端发送所述提交情况。
上述的实施例中主要从模块化功能实体的角度详细地介绍了客户端40、第一服务器50,下面的实施例中将从模块化的角度介绍缓存设备60,请参阅图6,图6为本申请实施例中提供的缓存设备60一个实施例示意图,该缓存设备60可以包括:
接收单元601,用于接收第一服务器发送的第一令牌值;
确定单元602,用于基于存储的第二令牌值与所述第一令牌值确定目标表单的处理结果;
发送单元603,拥有向所述第一服务器发送所述处理结果,以使得所述第一服务器基于所述处理结果确定所述目标表单的提交情况。
可选地,在上述图6对应的实施例的基础上,本申请实施例提供的缓存设备60的另一实施例中,所述缓存设备60还包括:缓存单元,
所述接收单元601,还用于在接收第一服务器发送的第一令牌值之前,接收第二服务器发送的第一令牌值;
缓存单元,用于存储所述第一令牌值为所述第二令牌值。
上述的实施例中主要从模块化功能实体的角度详细地介绍了客户端40、第一服务器50以及缓存设备60,下面的实施例中将从模块化的角度介绍第二服务器70,请参阅图7,图7为本申请实施例中提供的第二服务器70一个实施例示意图,该第二服务器70可以包括:
接收单元701,用于客户端向第一服务器发送业务请求之前,接收所述客户端发送的目标表单;
得到单元702,用于基于所述目标表单中的表单参数进行字典序排序,以得到所述第一令牌值;
发送单元703,用于向所述客户端发送的所述第一令牌值。
可选地,在上述图7对应的实施例的基础上,本申请实施例提供的第二服务器70的另一实施例中,所述发送单元703,还用于在向所述客户端发送的所述第一令牌值之前,向缓存设备发送所述第一令牌值,以使所述缓存设备存储所述第一令牌值后得到第二令牌值。
上面从模块化功能实体的角度对本申请实施例中的客户端40、第一服务器50、缓存设备60以及第二服务器70进行描述,下面从硬件处理的角度对本申请实施例中的计算机设备进行描述。图8是本申请实施例提供的计算机设备的结构示意图,该计算机设备可以包括上述所描述的客户端40、第一服务器50、缓存设备60以及第二服务器70等,该计算机设备可因配置或性能不同而产生比较大的差异,该计算机设备可以包括至少一个处理器801,通信线路807,存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(central processingunit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路807可包括一通路,在上述组件之间传送信息。
通信接口804,使用任何收发器一类的装置,用于与其他装置或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储装置,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储装置,存储器可以是独立存在,通过通信线路807与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器803用于存储执行本申请方案的计算机执行指令,并由处理器801来控制执行。处理器801用于执行存储器803中存储的计算机执行指令,从而实现本申请上述实施例提供的数据处理的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,该计算机设备可以包括多个处理器,例如图8中的处理器801和处理器802。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个装置、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该计算机设备还可以包括输出设备805和输入设备806。输出设备805和处理器801通信,可以以多种方式来显示信息。输入设备806和处理器801通信,可以以多种方式接收用户的输入。例如,输入设备806可以是鼠标、触摸屏装置或传感装置等。
上述的该计算机设备可以是一个通用装置或者是一个专用装置。在具体实现中,该计算机设备可以是台式机、便携式电脑、nas服务器、无线终端装置、嵌入式装置或有图8中类似结构的装置。本申请实施例不限定该计算机设备的类型。
在本申请实施例中,该计算机设备所包括的处理器801还具有以下功能:
向第一服务器发送业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的表单参数进行字典序排序得到;
接收所述第一服务器发送的所述目标表单的提交情况,其中,所述提交情况由所述第一服务器基于所述目标表单的处理结果得到,所述处理结果由缓存设备根据所述第一服务器发送的所述第一令牌值确定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种数据处理的方法,其特征在于,包括:
客户端向第一服务器发送业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为对目标表单中的表单参数进行字典序排序,并通过MD5摘要技术对排序后的表单参数进行计算得到;
所述客户端接收所述第一服务器发送的所述目标表单的提交情况,其中,所述提交情况由所述第一服务器基于所述目标表单的处理结果得到,所述处理结果由缓存设备基于存储的第二令牌值与所述第一服务器发送的第一令牌值确定;
所述客户端向第一服务器发送业务请求之前,所述方法还包括:
所述客户端向第二服务器发送所述目标表单,以使得所述第二服务器基于所述目标表单中的表单参数确定所述第一令牌值,并向缓存设备发送所述第一令牌值;使得所述缓存设备将接收到的所述第一令牌值存储为第二令牌值,并在对所述第一令牌值进行存储时,对所述第一令牌值设置一个超时时间,所述超时时间根据所述缓存设备的内存大小或客户端发送的业务大小设置;所述客户端接收所述第二服务器发送的由所述缓存设备向第二服务器发送的第一令牌值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述客户端在预设的超时时间内未接收到所述提交情况时,则所述客户端向所述第一服务器重新发送所述业务请求。
3.一种数据处理的方法,其特征在于,所述方法包括:
第一服务器接收客户端发送的业务请求,所述业务请求携带第一令牌值和目标表单,所述第一令牌值为所述第一服务器在接收所述客户端发送的业务请求之前,第二服务器将缓存设备向所述第二服务器发送的第一令牌值发送给客户端得到的;其中,所述缓存设备向所述第二服务器发送的第一令牌值为所述第二服务器根据所述客户端发送的所述目标表单,对目标表单中的参数进行字典序排序并通过MD5摘要技术对排序后的表单参数进行计算得到第一令牌值发送到所述缓存设备的;
所述第一服务器向缓存设备发送所述第一令牌值,以用于所述缓存设备确定所述目标表单的处理结果;所述处理结果由缓存设备基于存储的第二令牌值与所述第一服务器发送的第一令牌值确定;
所述第一服务器接收所述缓存设备发送的所述处理结果;
所述第一服务器根据所述处理结果确定所述目标表单的提交情况;
所述第一服务器向所述客户端发送所述提交情况。
4.一种数据处理的方法,其特征在于,包括:
缓存设备接收第一服务器发送的第一令牌值;所述第一令牌值为所述缓存设备向第二服务器发送的,所述第二服务器转发到客户端后,所述客户端向第一服务器发送的;
所述缓存设备基于存储的第二令牌值与所述第一令牌值确定目标表单的处理结果;
所述缓存设备向所述第一服务器发送所述处理结果,以使得所述第一服务器基于所述处理结果确定所述目标表单的提交情况;
所述缓存设备接收第一服务器发送的第一令牌值之前,所述方法还包括:
所述缓存设备接收第二服务器发送的第一令牌值,其中,所述第二服务器发送的第一令牌值为所述第一服务器在接收客户端发送的业务请求之前,所述第二服务器根据客户端发送的目标表单,对目标表单中的参数进行字典序排序并通过MD5摘要技术对排序后的表单参数进行计算得到;
所述缓存设备存储所述第一令牌值为所述第二令牌值,并对所述第一令牌值设置一个超时时间,所述超时时间根据所述缓存设备的内存大小或客户端发送的业务大小设置;所述客户端接收所述第二服务器发送的由所述缓存设备向第二服务器发送的第一令牌值。
5.一种数据处理的方法,其特征在于,包括:
在客户端向第一服务器发送业务请求之前,第二服务器接收所述客户端发送的目标表单;
所述第二服务器基于所述目标表单中的表单参数进行字典序排序,并通过MD5摘要技术对排序后的表单参数进行计算,以得到第一令牌值;
所述第二服务器向缓存设备发送所述第一令牌值,以使所述缓存设备存储所述第一令牌值后得到第二令牌值;
所述第二服务器向所述客户端发送的所述第一令牌值;其中,向所述客户端发送的所述第一令牌值为所述缓存设备向第二服务器发送的。
6.一种计算机设备,其特征在于,所述计算机设备包括:输入/输出(I/O)接口、处理器和存储器,
所述存储器中存储有程序指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求1-2、3、4或5中任一所述的方法。
7.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1-2、3、4或5中一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111947.5A CN111371852B (zh) | 2020-02-24 | 2020-02-24 | 一种数据处理的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111947.5A CN111371852B (zh) | 2020-02-24 | 2020-02-24 | 一种数据处理的方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371852A CN111371852A (zh) | 2020-07-03 |
CN111371852B true CN111371852B (zh) | 2022-01-25 |
Family
ID=71206294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010111947.5A Active CN111371852B (zh) | 2020-02-24 | 2020-02-24 | 一种数据处理的方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371852B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329424A (zh) * | 2020-11-09 | 2021-02-05 | 北京明略昭辉科技有限公司 | 业务数据的处理方法和装置、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184832A (zh) * | 2014-09-10 | 2014-12-03 | 北京国双科技有限公司 | 网络应用中的数据提交方法及装置 |
CN106156133A (zh) * | 2015-04-09 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 控制表单重复提交的方法、装置及*** |
CN106372174A (zh) * | 2016-08-31 | 2017-02-01 | 东软集团股份有限公司 | 防止表单重复提交的方法和装置 |
CN106657310A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 表单的提交方法及装置 |
CN110221925A (zh) * | 2019-05-13 | 2019-09-10 | 平安科技(深圳)有限公司 | 数据提交请求的处理方法、装置和计算机设备 |
CN110472173A (zh) * | 2019-08-19 | 2019-11-19 | 珠海格力电器股份有限公司 | 表单提交的方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144625B (zh) * | 2017-06-28 | 2021-08-27 | 东软集团股份有限公司 | 防重复提交方法、装置和*** |
-
2020
- 2020-02-24 CN CN202010111947.5A patent/CN111371852B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184832A (zh) * | 2014-09-10 | 2014-12-03 | 北京国双科技有限公司 | 网络应用中的数据提交方法及装置 |
CN106156133A (zh) * | 2015-04-09 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 控制表单重复提交的方法、装置及*** |
CN106372174A (zh) * | 2016-08-31 | 2017-02-01 | 东软集团股份有限公司 | 防止表单重复提交的方法和装置 |
CN106657310A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 表单的提交方法及装置 |
CN110221925A (zh) * | 2019-05-13 | 2019-09-10 | 平安科技(深圳)有限公司 | 数据提交请求的处理方法、装置和计算机设备 |
CN110472173A (zh) * | 2019-08-19 | 2019-11-19 | 珠海格力电器股份有限公司 | 表单提交的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111371852A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544154B2 (en) | Systems and methods for monitoring distributed database deployments | |
CN107798108B (zh) | 一种异步任务查询方法及设备 | |
US20170147661A1 (en) | Data load system with distributed data facility technology | |
CN111125057A (zh) | 一种业务请求的处理方法、装置及计算机*** | |
CN110599277A (zh) | 一种库存扣减方法和装置 | |
US9609068B2 (en) | Session management system, session management apparatus, and non-transitory computer readable medium | |
US9727624B2 (en) | Active replication with generic conflict detection and resolution (CDR) | |
CN111371852B (zh) | 一种数据处理的方法以及相关装置 | |
EP3848815A1 (en) | Efficient shared bulk loading into optimized storage | |
WO2023193631A1 (zh) | 一种请求调度方法、装置、计算机设备和存储介质 | |
CN110825425A (zh) | 配置数据管理方法及装置、电子设备、存储介质 | |
CN113076729A (zh) | 用于报表导入的方法及***、可读存储介质及电子设备 | |
CN113254813A (zh) | 一种短链接生成方法、装置、服务器和计算机可读介质 | |
TW201438407A (zh) | 資料傳送裝置及資料傳送方法以及程式產品 | |
CN112084102A (zh) | 接口压力测试的方法和装置 | |
EP4211631A1 (en) | Systems and methods for processing business transaction entities | |
CN107643906B (zh) | 数据处理方法及装置 | |
CN112445873A (zh) | 列表显示处理方法、相关装置、设备及介质 | |
CN113114768A (zh) | 一种业务请求处理方法、装置和*** | |
CN112486644A (zh) | 用于生成信息的方法、装置、设备以及存储介质 | |
CN113761565A (zh) | 数据脱敏方法和装置 | |
CN110325980B (zh) | 用于数据库绑定型应用的用户界面后端集群的扩展方法 | |
US10554502B1 (en) | Scalable web services execution | |
CN114138397B (zh) | 页面显示方法、装置、电子设备及存储介质 | |
US20050097555A1 (en) | Method, system and program product for processing a transaction |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |