一种处理同一用户ID的高频服务请求的方法及装置与流程

文档序号:11138830阅读:447来源:国知局
一种处理同一用户ID的高频服务请求的方法及装置与制造工艺

本发明涉及网络请求交互技术领域,特别涉及一种处理同一用户ID的高频服务请求的方法及装置。



背景技术:

在一个实施例中,在现有网络交互业务中,在面对海量的网络交互业务,需要n台相互独立的业务处理服务器同时处理海量的网络交互业务,这样可以保证系统的业务处理的速率。避免了用户等待过长的时间,从而提高了用户的使用体验。但是,在一些情况下,现有的技术中存在一些漏洞可能会被别有用心的用户利用。例如,通过某一个用户ID在短时间内高频率的发送业务请求,可能会导致多台相互独立的业务处理服务器同时对数据库服务器中的该用户ID对应的数据进行访问和修改,进而导致系统在回馈给该用户ID的数据方面出现异常情况。如何妥善的处理上述问题,就成为了业界亟待解决的课题。



技术实现要素:

本发明提供一种处理同一用户ID的高频服务请求的方法及装置,用以避免同一用户ID在短时间内进行高频的服务请求而导致服务器系统出现数据错误的可能性,从而提高了服务器系统的鲁棒性。

根据本发明实施例的第一方面,提供一种处理同一用户ID的高频服务请求的方法,包括:

用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者;

当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器已经存在时,所述用户ID处理服务器拒绝所述尚未处理的服务请求;

当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器不存在时,所述用户ID处理服务器添加所述尚未处理的服务请求中的用户ID到所述用户ID处理服务器中;

在所述用户ID处理服务器中清除所述处理终结的服务请求中的用户ID。

在一个实施例中,所述用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者,包括:

确认用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入所述用户ID处理服务器;

确认所述后台服务器发出的处理终结的服务请求实时进入所述用户ID处理服务器;

所述用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

在一个实施例中,在所述用户ID处理服务器接收所述尚未处理的服务请求之后,在所述用户ID处理服务器处理所述尚未处理的服务请求之前,还包括:

通过所述用户ID处理服务器分析所述新增的服务请求中的用户ID;

通过所述用户ID处理服务器判断所述新增的服务请求中的用户ID在所述用户ID处理服务器中是否已经存在。

在一个实施例中,在所述用户ID处理服务器添加所述尚未处理的服务请求中的用户ID到所述用户ID处理服务器中之后,还包括:

所述用户ID处理服务将所述尚未处理的服务请求发送到所述后台服务器,以便所述后台服务器进行相应的数据处理。

在一个实施例中,所述在所述用户ID处理服务器中清除所述处理终结的服务请求中的用户ID,包括:

确认所述后台服务器处理完成的服务请求为所述处理终结的服务请求;

实时的将后台服务器的所有所述处理终结的服务请求发送到所述用户ID处理服务器;

在所述用户ID处理服务器中实时的清除所述处理终结的服务请求中的用户ID。

根据本发明实施例的第二方面,提供一种处理同一用户ID的高频服务请求的装置,包括:

接收模块,用于用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者;

拒绝模块,用于当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器已经存在时,所述用户ID处理服务器拒绝所述尚未处理的服务请求;

添加模块,用于当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器不存在时,所述用户ID处理服务器添加所述尚未处理的服务请求中的用户ID到所述用户ID处理服务器中;

清除模块,用于在所述用户ID处理服务器中清除所述处理终结的服务请求中的用户ID。

在一个实施例中,所述接收模块,包括:

第一确认子模块,用于确认用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入所述用户ID处理服务器;

第二确认子模块,用于确认所述后台服务器发出的处理终结的服务请求实时进入所述用户ID处理服务器;

接收子模块,用于所述用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

在一个实施例中,还包括:

分析模块,用于通过所述用户ID处理服务器分析所述新增的服务请求中的用户ID;

判断模块,用于通过所述用户ID处理服务器判断所述新增的服务请求中的用户ID在所述用户ID处理服务器中是否已经存在。

在一个实施例中,还包括:

发送模块,用于所述用户ID处理服务将所述尚未处理的服务请求发送到所述后台服务器,以便所述后台服务器进行相应的数据处理。

在一个实施例中,所述清除模块,包括:

第三确认子模块,用于确认所述后台服务器处理完成的服务请求为所述处理终结的服务请求;

发送子模块,用于实时的将后台服务器的所有所述处理终结的服务请求发送到所述用户ID处理服务器;

清除子模块,用于在所述用户ID处理服务器中实时的清除所述处理终结的服务请求中的用户ID。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法的流程图;

图2为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法的步骤S11的流程图;

图3为本发明另一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法的流程图;

图4为本发明再一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法的流程图;

图5为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法的步骤S14的流程图;

图6为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置的框图;

图7为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置的接收模块61的框图;

图8为本发明另一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置的框图;

图9为本发明再一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置的框图;

图10为本发明一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置的清除模块64的框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1是根据一示例性实施例示出的一种处理同一用户ID的高频服务请求的方法流程图,如图1所示,该处理同一用户ID的高频服务请求的方法,包括以下步骤S11-S14:

在步骤S11中,用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者;

在步骤S12中,当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器已经存在时,所述用户ID处理服务器拒绝所述尚未处理的服务请求;

在步骤S13中,当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器不存在时,所述用户ID处理服务器添加所述尚未处理的服务请求中的用户ID到所述用户ID处理服务器中;

在步骤S14中,在所述用户ID处理服务器中清除所述处理终结的服务请求中的用户ID。

在一个实施例中,在现有网络交互业务中,在面对海量的网络交互业务,需要n台相互独立的业务处理服务器同时处理海量的网络交互业务,这样可以保证系统的业务处理的速率。避免了用户等待过长的时间,从而提高了用户的使用体验。但是,在一些情况下,现有的技术中存在一些漏洞可能会被别有用心的用户利用。例如,通过某一个用户ID在短时间内高频率的发送业务请求,可能会导致多台相互独立的业务处理服务器同时对数据库服务器中的该用户ID对应的数据进行访问和修改,进而导致系统在回馈给该用户ID的数据方面出现异常情况。本实施例中的技术方案可有效的解决上述的技术问题。

详细步骤如下:用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者。进一步的,确认用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入该用户ID处理服务器,以及确认该后台服务器发出的处理终结的服务请求实时进入该用户ID处理服务器。从而保障了该用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

在该用户ID处理服务器接收尚未处理的服务请求之后,在该用户ID处理服务器处理该尚未处理的服务请求之前,通过该用户ID处理服务器分析该新增的服务请求中的用户ID,进而通过该用户ID处理服务器判断该新增的服务请求中的用户ID在该用户ID处理服务器中是否已经存在。

当该尚未处理的服务请求中的用户ID在该用户ID处理服务器已经存在时,该用户ID处理服务器拒绝该尚未处理的服务请求;当该尚未处理的服务请求中的用户ID在该用户ID处理服务器不存在时,该用户ID处理服务器添加该尚未处理的服务请求中的用户ID到该用户ID处理服务器中。

在该用户ID处理服务器添加尚未处理的服务请求中的用户ID到该用户ID处理服务器中之后,该用户ID处理服务将该尚未处理的服务请求发送到该后台服务器,以便该后台服务器进行相应的数据处理。

确认该后台服务器处理完成的服务请求为该处理终结的服务请求。进一步的,实时的将后台服务器的所有该处理终结的服务请求发送到该用户ID处理服务器,在该用户ID处理服务器中实时的清除该处理终结的服务请求中的用户ID。在该用户ID处理服务器中清除该处理终结的服务请求中的用户ID。

例如,某系统中有20台业务处理服务器,某用户ID为007,该用户ID为007的用户在1秒之内,发送出2000次服务请求,该2000次服务请求可以是相同的服务请求,也可以是不尽相同的服务请求。以该2000次服务请求为相同的服务请求为例。假设该用户ID为007的用户在系统中的某一项数据的数值为5,该项数据的下限为自然数0。用户ID为007的用户发出的服务请求的内容为对该项数据进行减1的操作,每当该项数值减1的业务发生时,系统向相应的用户发放一个奖品。假设业务处理服务器完成该类型的服务请求的最短时间为3秒。

若采用现有技术的技术方案,面对1秒之内发出2000次的相同的服务请求,20台业务服务器几乎同时接收到该相同的服务请求。不妨假设该20台业务服务器中最先接收到该服务请求时刻为时刻A,最晚接收到该服务请求的时刻为时刻B,时刻A与时刻B之间的差值的绝对值小于0.3秒,而任一台业务处理服务器完成该服务请求的最短时间为3秒。该20台业务服务器几乎同时处理相同的服务请求,导致该用户ID位007的用户可以获得20个奖品,但是该用户ID位007的用户的该项数据只是从5变成了4。

若采用了本实施例中的技术方案,面对1秒之内发出2000次的相同的服务请求,该些服务请求首先经过用户ID处理服务器。因为用户ID处理服务器只进行ID匹配,故用户ID处理服务器可以承受瞬发的大数量的业务请求。当用户ID处理服务器首次接收到该服务请求之后,就将该服务请求的用户ID007添加到用户ID处理服务器中。当该用户ID007存在于该用户ID处理服务器时,其他的用户ID为007的业务请求全部都会被拒绝掉。当后台服务器处理完成用户ID位007的业务请求后,后台服务器会向用户ID处理服务器发送处理终结的服务请求的用户ID。用户ID处理服务器接收到由后台发送来的处理终结的服务请求的用户ID之后,会在用户ID处理服务器中清除该用户ID,以便接收该ID的其他服务请求。

本实施例中的技术方案可避免同一用户ID在短时间内进行高频的服务请求而导致服务器系统出现数据错误的可能性,从而提高了服务器系统的鲁棒性。

在一个实施例中,如图2所示,步骤S11包括如下步骤S21-S22:

在步骤S21中,确认用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入所述用户ID处理服务器;

在步骤S22中,确认所述后台服务器发出的处理终结的服务请求实时进入所述用户ID处理服务器;

在步骤S23中,所述用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

在一个实施例中,为了保证用户ID处理服务器可以有效的解决某些用户在短时间内发送海量的服务请求所导致服务器系统出现数据异常的情况,需要所有的服务请求先经过用户ID处理服务器之后,再由用户ID处理服务器转发给后台服务器进行数据处理。为了保证时效性,需要实时的将用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入用户ID处理服务器。

另一发面,后台服务器将处理终结的服务请求实时的发送到用户ID处理服务器,可以确保用户ID处理服务器可以实时的清除处理终结的服务请求中的用户ID。

综上,用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

在一个实施例中,如图3所示,还包括如下步骤S31-S32:

在步骤S31中,通过所述用户ID处理服务器分析所述新增的服务请求中的用户ID;

在步骤S32中,通过所述用户ID处理服务器判断所述新增的服务请求中的用户ID在所述用户ID处理服务器中是否已经存在。

在一个实施例中,用户ID处理服务器首先通过分析该新增的服务请求,获取该新增的服务请求的用户ID。然后根据在用户ID处理服务器中的数据库,实时的查询该用户ID是否已经在该数据中,从而判断出该用户ID是否存在于该用户ID处理服务器中。

在一个实施例中,如图4所示,还包括如下步骤S41:

在步骤S41中,所述用户ID处理服务将所述尚未处理的服务请求发送到所述后台服务器,以便所述后台服务器进行相应的数据处理。

在一个实施例中,当接收到尚未处理的服务请求时,若该尚未处理的服务请求的用户ID是用户ID处理服务中已经存在的用户ID,那么用户ID处理服务器会拒绝该尚未处理的服务请求。若该尚未处理的服务请求的用户ID不是用户ID处理服务中已经存在的用户ID,用户ID处理服务将所述尚未处理的服务请求发送到所述后台服务器,以便所述后台服务器进行相应的数据处理。

在一个实施例中,如图5所示,步骤S14包括如下步骤S51-S52:

在步骤S51中,确认所述后台服务器处理完成的服务请求为所述处理终结的服务请求;

在步骤S52中,实时的将后台服务器的所有所述处理终结的服务请求发送到所述用户ID处理服务器;

在步骤S53中,在所述用户ID处理服务器中实时的清除所述处理终结的服务请求中的用户ID。

在一个实施例中,对后台服务器已经处理完成的服务请求进行标记,即确认该处理完成的服务请求为处理终结的服务请求。为了保证系统可实时的处理用户发出的新的服务请求,需要实时的将后台服务器中所有的处理终结的服务请求的用户ID发送到用户ID处理服务器。在用户ID处理服务器中实时的清除所述处理终结的服务请求中的用户ID,即可保证系统实时的接收和处理用户发出的新的服务请求,从而避免某些用户ID发出的服务请求总是被拒绝或迟迟得不到处理,从而提升了使用者的用户体验。

在一个实施例中,图6是根据一示例性实施例示出的一种处理同一用户ID的高频服务请求的装置框图。如图6示,该装置包括接收模块61、拒绝模块62、添加模块63和清除模块64。

该接收模块61,用于用户ID处理服务器接收尚未处理的服务请求和处理终结的服务请求中的任一者或多者;

该拒绝模块62,用于当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器已经存在时,所述用户ID处理服务器拒绝所述尚未处理的服务请求;

该添加模块63,用于当所述尚未处理的服务请求中的用户ID在所述用户ID处理服务器不存在时,所述用户ID处理服务器添加所述尚未处理的服务请求中的用户ID到所述用户ID处理服务器中;

该清除模块64,用于在所述用户ID处理服务器中清除所述处理终结的服务请求中的用户ID。

如图7所示,该接收模块61包括第一确认子模块71、第二确认子模块72和接收子模块73。

该第一确认子模块71,用于确认用户发出的尚未处理的服务请求在进入后台服务器之前,实时的进入所述用户ID处理服务器;

该第二确认子模块72,用于确认所述后台服务器发出的处理终结的服务请求实时进入所述用户ID处理服务器;

该接收子模块73,用于所述用户ID处理服务器实时的接收用户发出的尚未处理的服务请求和后台服务器发出的处理终结的服务请求中的任一者或多者。

如图8所示,还包括分析模块81和判断模块82。

该分析模块81,用于通过所述用户ID处理服务器分析所述新增的服务请求中的用户ID;

该判断模块82,用于通过所述用户ID处理服务器判断所述新增的服务请求中的用户ID在所述用户ID处理服务器中是否已经存在。

如图9所示,还包括发送模块91:

该发送模块91,用于所述用户ID处理服务将所述尚未处理的服务请求发送到所述后台服务器,以便所述后台服务器进行相应的数据处理。

如图10所示,该清除模块64包括第三确认子模块101、发送子模块102和清除子模块103。

该第三确认子模块101,用于确认所述后台服务器处理完成的服务请求为所述处理终结的服务请求;

该发送子模块102,用于实时的将后台服务器的所有所述处理终结的服务请求发送到所述用户ID处理服务器;

该清除子模块103,用于在所述用户ID处理服务器中实时的清除所述处理终结的服务请求中的用户ID。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1