一种处理客户端请求的方法和装置制造方法及图纸

技术编号:13077059 阅读:53 留言:0更新日期:2016-03-30 11:55
本发明专利技术公开了一种处理客户端请求的方法和装置。其中所述方法包括:接收客户端发送的请求,根据所述请求获取请求唯一标识;将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配;如果数据库中存在匹配的请求唯一标识,则不根据所述请求进行相应处理,而直接将该数据库中的与匹配的请求唯一标识对应的处理结果返回给客户端。该技术方案成功地避免了在出现请求超时的情况时,服务器等请求执行设备要根据客户端发送的重复请求进行重复操作,造成时间和资源的浪费、数据操作产生错误的情况,有效地提高了请求执行效率,并节约了资源,避免了对数据执行多余次数的请求产生错误操作。

【技术实现步骤摘要】

本专利技术涉及计算机网络
,特别涉及一种处理客户端请求的方法和装置
技术介绍
当用户在使用计算设备时,用户的实际需求需要计算设备执行可被计算设备识别的相应的请求来实现。当一条请求在一台计算设备上执行时,会有两种结果:请求成功和请求失败。然而,随着计算机网络技术的发展,对于一台计算设备无法很好地实现用户需求等情况,现有技术采用了在一些计算设备上设置客户端,以及设立服务器接收客户端发送的请求的方式进行处理。由于服务器与客户端之间通过网络进行交互,以分布式系统为例,在需要在多台计算设备上执行一段程序或者RPC(Remote Procedure Call Protocol,远程过程调用协议)的时候,会有请求成功、请求失败和请求超时三种结果。对于请求超时这种结果,可能是由于下述情形所产生的:客户端发送请求一一服务器执行成功一一返回超时。但是客户端没有得到返回结果,认为服务器没有将请求执行成功。因此,客户端可能需要重复发送请求希望服务器执行该请求,会出现服务器多次执行同一请求的情况,造成资源浪费,还可能由于请求的多次执行对数据库中的数据进行不正确的更改和变动,例如,根据增加5积分的请求需要对数据库中的积分数据进行数值+5的操作,如果多次执行该请求,就会造成不必要的积分增加,不符合业务逻辑。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的处理客户端请求的方法和装置。依据本专利技术的一个方面,提供了一种处理客户端请求的方法,包括:接收客户端发送的请求,根据所述请求获取请求唯一标识;将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配;如果数据库中存在匹配的请求唯一标识,则不根据所述请求进行相应处理,而直接将该数据库中的与匹配的请求唯一标识对应的处理结果返回给客户端。可选地,该方法进一步包括:如果数据库中不存在匹配的请求唯一标识,则根据所述请求进行相应的处理;如果处理成功,则将所述请求的请求唯一标识与处理结果对应保存到数据库中,并向客户端返回该处理结果;如果处理失败,向客户端返回处理失败的信息。可选地,在将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配之前,该方法进一步包括:判断所述请求对应的处理是对服务器侧的数据进行读操作还是写操作;如果是读操作,则直接根据所述请求进行相应的处理,处理成功则向客户端返回相应的处理结果,处理失败则向客户端返回处理失败的信息;如果是写操作,则执行所述将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配的步骤。可选地,所述根据所述请求获取请求唯一标识包括:所述请求中包含由客户端生成的请求唯一标识,直接从所述请求中提取请求唯一标识;其中,客户端从待发送的原始HTTP请求中截取URL参数,将截取的URL参数和预先约定的密钥一起通过预设的加密算法进行处理,得到请求唯一标识,将请求唯一标识加添到所述原始HTTP请求中后发送的所述请求。可选地,所述根据所述请求获取请求唯一标识包括:从所述请求中截取URL参数;将截取的URL参数和预先约定的密钥一起通过预设的加密算法进行处理,得到请求唯一标识。可选地,所述将截取的URL参数和预先约定的密钥一起通过预设的加密算法进行处理,得到请求唯一标识包括:将截取的各URL参数和所述预先约定的密钥按照指定的顺序拼接成一个字符串;通过MD5算法对所述字符串进行加密处理,得到请求唯一标识。可选地,该方法进一步包括:向客户端返回处理结果时,将所述获取的请求唯一标识添加到处理结果中返回给客户端。依据本专利技术的另一方面,提供了一种处理客户端请求的装置,包括:接收处理单元,适于接收客户端发送的请求,根据所述请求获取请求唯一标识;匹配处理单元,适于将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配,将匹配结果发送给请求处理单元;请求处理单元,适于当数据库中存在匹配的请求唯一标识时,不根据所述请求进行相应处理,而直接将该数据库中的与匹配的请求唯一标识对应的处理结果返回给客户端。可选地,所述请求处理单元,进一步适于当数据库中不存在匹配的请求唯一标识时,根据所述请求进行相应的处理;如果处理成功,将所述请求的请求唯一标识与处理结果对应保存到数据库中,并向客户端返回该处理结果;如果处理失败,向客户端返回处理失败的信息。 可选地,该装置进一步包括:请求类型判断单元,适于判断所述请求对应的处理是对服务器侧的数据进行读操作还是写操作,是读操作则通知所述请求处理单元,是写操作则通知所述匹配处理单元;所述请求处理单元,适于在所述请求对应的处理是读操作时,直接根据所述请求进行相应的处理,处理成功则向客户端返回相应的处理结果,处理失败则向客户端返回处理失败的信息;所述匹配处理单元,适于在所述请求对应的处理是写操作时,执行所述将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配,将匹配结果发送给请求处理单元的步骤。可选地,所述请求中包含由客户端生成的请求唯一标识;所述接收处理单元,适于直接从所述请求中提取请求唯一标识;其中,客户端从待发送的原始HTTP请求中截取URL参数,将截取的URL参数和预先约定的密钥一起通过预设的加密算法进行处理,得到请求唯一标识,将请求唯一标识加添到所述原始HTTP请求中后发送的所述请求。可选地,所述接收处理单元,适于从所述请求中截取URL参数,将截取的URL参数和预先约定的密钥一起通过预设的加密算法进行处理,得到请求唯一标识。可选地,所述接收处理单元,适于将截取的各URL参数和所述预先约定的密钥按照指定的顺序拼接成一个字符串,通过MD5算法对所述字符串进行加密处理,得到请求唯一标识。可选地,所述请求处理单元,进一步向客户端返回处理结果时,将所述获取的请求唯一标识添加到处理结果中返回给客户端。由上述可知:本专利技术的技术方案,通过获取客户端发送的请求中包含的请求唯一标识,对该请求唯一标识与数据库中的请求唯一标识进行匹配处理;如果数据库中存在匹配的请求唯一标识,说明该请求已经被执行过,因此不根据所述请求进行相应处理,而直接将该数据库中的与匹配的请求唯一标识对应的处理结果返回给客户端。该技术方案成功地避免了在出现请求超时的情况时,服务器等请求执行设备要根据客户端发送的重复请求进行重复操作,造成时间和资源的浪费、数据操作产生错误的情况,有效地提高了请求执行效率,并节约了资源,保证了不会对数据执行多余次数的请求产生错误操作。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种处理客户端请求的方法的流程图;图2示出了根据本专利技术一个实施例的一种处理客户端请求的装置的结构示意图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实本文档来自技高网...

【技术保护点】
一种处理客户端请求的方法,其中,该方法包括:接收客户端发送的请求,根据所述请求获取请求唯一标识;将所述请求的请求唯一标识与数据库中的请求唯一标识进行匹配;如果数据库中存在匹配的请求唯一标识,则不根据所述请求进行相应处理,而直接将该数据库中的与匹配的请求唯一标识对应的处理结果返回给客户端。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭军
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1