高并发业务请求处理系统及方法与流程

文档序号:11778494阅读:223来源:国知局
高并发业务请求处理系统及方法与流程

本发明涉及互联网技术领域,具体而言,涉及一种高并发业务请求处理系统及方法。



背景技术:

随着互联网商务的迅猛发展,出现了许多秒杀商品、秒杀红包、秒杀抽奖等商业活动。这些活动通常是在短时间内进行,并产生大量的访问量,因此具有高并发业务的特点,会对服务商的网络服务器(如应用服务器、数据库等)造成极大的负载压力。



技术实现要素:

有鉴于此,本发明提供一种高并发业务请求处理系统及方法。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的一方面,提供了一种高并发业务请求处理系统,包括:业务接口单元,用于接收客户端发送的高并发业务请求,并将所述高并发业务请求进行分配;以及业务处理单元,与所述业务接口单元连接,包括至少一台应用服务器,各台应用服务器用于处理所述业务接口单元分配的所述高并发业务请求;如果当前所述应用服务器中存在业务数据,则将当前待处理的业务请求与所述业务数据进行耦合,并通过所述业务接口单元向发送所述待处理的业务请求的客户端返回所述业务数据;如果当前所述应用服务器中没有业务数据,则向发送当前待处理的业务请求的客户端返回无业务数据信息。

根据本发明的一实施方式,所述业务处理单元包括多台应用服务器,所述业务接口单元采用负载均衡技术将所述高并发业务请求分配给所述多台应用服务器。

根据本发明的一实施方式,所述业务接口单元与所述业务处理单元之间的交互采用多路作业方式。

根据本发明的一实施方式,上述系统还包括:业务数据单元;所述业务数据单元用于向所述业务处理单元中的应用服务器发送业务数据包,所述业务数据包中包括至少一项业务数据。

根据本发明的一实施方式,当所述应用服务器中的业务数据为空时,或者在所述应用服务器中的业务数据为空后的一预定时间后,所述业务数据单元向所述应用服务器发送所述业务数据包。

根据本发明的一实施方式,所述业务接口单元和/或所述业务处理单元还包括用于缓存所述高并发业务请求的队列,以分散高并发业务时的负载压力。

根据本发明的一实施方式,上述系统还包括:数据库或缓存,用于存储得到业务数据的客户端信息及业务数据信息。

根据本发明的一实施方式,所述业务数据包括:兑奖数据或红包数据。

根据本发明的另一方面,提供了一种高并发业务请求处理方法,应用于高并发业务请求处理系统,所述高并发业务请求处理系统包括:业务接口单元及业务处理单元;所述方法包括:通过所述业务接口单元接收客户端发送的高并发业务请求;通过所述业务接口单元将接收到的所述高并发业务请求分配给所述业务处理单元中的至少一台应用服务器;以及通过各应用服务器对分配给其的业务请求进行处理;如果当前所述应用服务器中存在业务数据,则将当前待处理的业务请求与所述业务数据进行耦合,并通过所述业务接口单元向发送所述待处理的业务请求的客户端返回所述业务数据;如果当前所述应用服务器中没有业务数据,则向发送当前待处理的业务请求的客户端返回无业务数据信息。

根据本发明的一实施方式,当所述应用服务器为多台时,所述业务接口单元根据负载均衡技术将接收到的所述高并发业务请求分配给各台应用服务器。

根据本发明的一实施方式,所述高并发业务请求处理系统还包括:业务数据单元;所述方法还包括:通过所述业务数据单元向所述业务处 理单元的各应用服务器发送业务数据包,所述业务数据包中包括至少一项所述业务数据。

根据本发明的一实施方式,当所述应用服务器中的业务数据为空时,或者在所述应用服务器中的业务数据为空后的一预定时间后,所述业务数据单元向所述应用服务器发送所述业务数据包。

本发明的高并发业务请求处理系统结构简单且设置方便,业务接口单元仅用于与接收用户的业务请求数据及业务请求分配,业务处理单元则仅用于是否有业务数据的判断及反馈。此外,与相关技术相比,业务处理单元的应用服务器不再是通过校验来判断用户的业务请求是否通过,而是基于客户的业务请求与被分配的应用服务器中的业务数据的耦合几率来确定是否通过业务请求。因此本发明的高并发业务请求处理系统无需复杂的缓存技术与校验判断,仅需数据处理与传递即可。所以大大提升了业务请求的处理效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。

图1是根据一示例性实施方式示出的一种高并发业务请求处理系统的框图。

图2是根据一示例性实施方式示出的另一种高并发业务请求处理系统的框图。

图3是根据一示例性实施方式示出的一种高并发业务请求处理方法的流程图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构 思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。

图1是根据一示例性实施方式示出的一种高并发业务请求处理系统的框图。如图1所示,高并发业务请求处理系统10包括:业务接口单元102及业务处理单元104。

其中业务接口单元102用于接收客户端发送的高并发业务请求。例如,秒杀抽奖请求,秒杀红包请求等。

客户端包括:web客户端或wap客户端等。

业务接口单元102在接收到客户端发送的高并发业务请求后,将其分配给业务处理单元104。

业务处理单元104可以包括至少一台应用服务器1042。当业务处理单元104仅包括一台应用服务器1042时,业务接口单元102直接把接收到的高并发业务请求分配到该应用服务器1042中。

当业务处理单元104包括多台应用服务器1042时,业务接口单元102还可以实施为负载均衡服务器(load-balancingserver,lbs)采用负载均衡技术,将高并发的业务请求分配到各应用服务器1042中。业务接口单元102根据各应用服务器1042的业务处理状态,确定将高并发业务请求具体分配到哪台应用服务器1042中。需要说明的是,具体使用的负载均衡技术可以根据实际需求而进行选择,本发明不以此为限。通过将高并发的业务请求均衡分配到各应用服务器中,可以保证整个系统的高并发响应速度。此外,业务接口单元102与业务处理单元104之间的 交互具有多条通道,可同时进行多路作业。

当客户端发送的业务请求发送至某台应用服务器1042中时,如果该应用服务器1042中存在业务数据,则可以将该业务数据与该客户端发送的该业务请求进行耦合,并通过业务接口单元102向该客户端返回该业务数据;而如果该应用服务器1042中当前无业务数据,则通过业务接口单元102向该客户端返回无业务数据信息,即业务请求未通过。此外,为了方便后续作业,应用服务器1042还需要将得到业务数据的客户端信息及业务数据信息存储到数据库或缓存中。

业务数据例如可以为兑奖数据、红包数据等。如客户端发送的是秒杀抽奖业务请求,如果应用服务器1042中当前有兑奖数据,则将兑奖数据与该客户端的该秒杀抽奖请求耦合,并向该客户端返回中奖信息;如果应用服务器1042中当前无兑奖数据,则向该客户端返回未中奖信息。同样地,应用服务器1042需要将客户端的中奖信息存储到数据库或缓存中,以便后续操作。

此外,如果应用服务器1042中有多个兑奖数据时,例如可以采用队列缓存多个兑奖数据,在与客户端的业务请求耦合时,例如可以按照先进先出的顺序取出兑奖数据与客户端的业务请求进行耦合。

在一些实施例中,业务接口单元102和/或业务处理单元104中还可以设置缓存数据队列,用于进一步分散高并发业务时的负载压力。

本发明的高并发业务请求处理系统10结构简单且设置方便,业务接口单元仅用于与接收用户的业务请求数据及业务请求分配,业务处理单元则仅用于是否有业务数据的判断及反馈。此外,与相关技术相比,业务处理单元的应用服务器不再是通过校验来判断用户的业务请求是否通过,而是基于客户的业务请求与被分配的应用服务器中的业务数据的耦合几率来确定是否通过业务请求。因此本发明的高并发业务请求处理系统10无需复杂的缓存技术与校验判断,仅需数据处理与传递即可。所以大大提升了业务请求的处理效率。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。

图2是根据一示例性实施方式示出的另一种高并发业务请求处理系统的框图。与图1所示的高并发业务请求处理系统10不同的是,图2所示的高并发业务请求处理系统20还包括:业务数据单元206。

业务数据单元206用于向业务处理单元104中的应用服务器1042发送上述业务数据。业务数据单元206每次向一台应用服务器1042发送一个业务数据包,业务数据包中至少包括一项业务数据。当有多台应用服务器1042时,业务数据单元206可以分时向各台应用服务器1042发送业务数据包,也可以同时向各台应用服务器1042发送业务数据包。此外,业务数据单元206分批地向各台应用服务器1042发送业务数据包,可以在应用服务器1042的业务数据为空后发送,也可以在应用服务器1042的业务数据为空后的一段时间后发送,该时间段可以根据实际需求而设置,本发明不以此为限。

本发明的高并发业务请求处理系统20还进一步提供了业务数据单元,用于为业务处理单元提供业务数据,以使业务处理单元根据其提供的业务数据与被分配的业务请求进行耦合,确定业务请求是否被通过,如是否中奖等。

需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

下述为本发明方法实施例,可以应用于本发明的上述高并发业务请求处理系统10或20。对于本发明方法实施例中未披露的细节,请参照本发明上述装置系统实施例。

图3是根据一示例性实施方式示出的一种高并发业务请求处理方法的流程图。如图3所示,高并发业务请求处理方法30包括:

在步骤s302中,通过业务接口单元102接收客户端发送的高并发业务请求。

业务请求包括:秒杀抽奖请求或秒杀红包请求等。

客户端包括:web客户端或wap客户端等。

在步骤s304中,通过业务接口单元102将接收到的高并发业务请求分配给业务处理单元104中的至少一台应用服务器1042中。

当业务处理单元104仅包括一台应用服务器1042时,业务接口单元102直接把接收到的高并发业务请求分配到该应用服务器1042中。

当业务处理单元104包括多台应用服务器1042时,业务接口单元102还可以实施为负载均衡服务器(load-balancingserver,lbs)采用负载均衡技术,将高并发的业务请求分配到各应用服务器1042中。业务接口单元102根据各应用服务器1042的业务处理状态,确定将高并发业务请求具体分配到哪台应用服务器1042中。需要说明的是,具体使用的负载均衡技术可以根据实际需求而进行选择,本发明不以此为限。通过将高并发的业务请求均衡分配到各应用服务器中,可以保证整个系统的高并发响应速度。此外,业务接口单元102与业务处理单元104之间的交互具有多条通道,可同时进行多路作业。

在步骤s306中,通过应用服务器1042,对分配给其的业务请求进行处理。

如果该应用服务器1042中存在业务数据,则可以将该业务数据与该客户端发送的该业务请求进行耦合,并通过业务接口单元102向该客户端返回该业务数据;而如果该应用服务器1042中当前无业务数据,则通过业务接口单元102向该客户端返回无业务数据信息,即业务请求未通过。此外,为了方便后续作业,应用服务器1042还需要将得到业务数据的客户端及业务数据信息存储到数据库或缓存中。

业务数据例如可以为兑奖数据、红包数据等。如客户端发送的是秒杀抽奖业务请求,如果应用服务器1042中当前有兑奖数据,则将兑奖数据与该客户端的该秒杀抽奖请求耦合,并向该客户端返回中奖信息;如果应用服务器1042中当前无兑奖数据,则向该客户端返回未中奖信息。同样地,应用服务器1042需要将客户端的中奖信息存储到数据库或缓存中,以便后续操作。

此外,如果应用服务器1042中有多个兑奖数据时,例如可以采用队列缓存多个兑奖数据,在与客户端的业务请求耦合时,例如可以按照先进先出的顺序取出兑奖数据与客户端的业务请求进行耦合。

在一些实施例中,高并发业务请求处理方法30还可以包括步骤s308。

在步骤s308中,通过业务数据单元206向业务处理单元104中的应用服务器1042发送上述业务数据。

业务数据单元206每次向一台应用服务器1042发送一个业务数据包,业务数据包中至少包括一项业务数据。当有多台应用服务器1042时,业务数据单元206可以分时向各台应用服务器1042发送业务数据包,也可以同时向各台应用服务器1042发送业务数据包。此外,业务数据单元206分批地向各台应用服务器1042发送业务数据包,可以在应用服务器1042的业务数据为空后发送,也可以在应用服务器1042的业务数据为空后的一段时间后发送,该时间段可以根据实际需求而设置,本发明不以此为限。

本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。

以上具体地示出和描述了本发明的示例性实施方式。应可理解的 是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

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