一种服务器集群处理系统及方法与流程

文档序号:11206555阅读:390来源:国知局
一种服务器集群处理系统及方法与流程

本发明涉及数据处理技术领域,特别是涉及一种服务器集群处理系统及方法。



背景技术:

面向客户端的服务器可以直接响应客户端发送的业务请求,如果业务请求中具有大量视图处理请求,这些请求需要大量的计算处理,客户端事件处理中包括大量数据的抽出、计算、生成处理,需要使用大量的系统资源。因此,直接面向客户端的服务器的工作负担将急剧增大,可能导致处理不及时或死机等情况的发生。



技术实现要素:

本发明提供一种服务器集群处理系统及方法,通过和连接服务器相连的前端服务器处理视图注册类客户端事件,实现了通过前端服务器分担直接面向客户端的连接服务器的工作负担,提高了服务器系统的处理效率,保证了客户端事件的处理速度和服务质量。

一方面,本发明提供了一种服务器集群处理系统,包括:连接服务器、消息服务器和至少一个前端服务器,所述前端服务器包括前端服务器缓存引擎和前端服务器会话控制模型;

所述连接服务器,用于接收客户端发送的客户端事件,若所述客户端事件为视图注册类事件,则判断所述连接服务器是否有所述客户端事件对应的视图注册类事件处理器,若无,则发送所述客户端事件至所述消息服务器;

所述前端服务器缓存引擎,用于监听所述消息服务器,获取所述客户端事件,处理所述客户端事件得到客户端事件处理结果列表,发送所述客户端事件和所述客户端事件处理结果列表至所述前端服务器会话控制模型;

所述前端服务器会话控制模型,用于分别处理所述客户端事件和所述客户端事件处理结果列表,得到客户端事件处理结果,并发送所述客户端事件处理结果至所述消息服务器;

所述连接服务器,还用于监听所述消息服务器,并获取所述客户端事件处理结果,发送所述客户端事件处理结果至所述客户端。

本发明的有益效果是:连接服务器将接收到的视图注册类客户端事件发送至消息服务器,前端服务器在监听到视图注册类客户端事件后对其进行处理,并且分不同情况对不同类型的客户端事件分别处理,既分担了连接服务器的工作负担,又保证了服务器系统对客户端事件的处理质量。

另一方面,本发明还提供了一种服务器集群处理方法,包括:

步骤1:连接服务器接收客户端发送的客户端事件,若所述客户端事件为视图注册类事件,则判断所述连接服务器是否有所述客户端事件对应的视图注册类事件处理器,若无,则发送所述客户端事件至所述消息服务器;

步骤2:前端服务器缓存引擎监听所述消息服务器,获取所述客户端事件,处理所述客户端事件得到客户端事件处理结果列表,发送所述客户端事件和所述客户端事件处理结果列表至所述前端服务器会话控制模型;

步骤3:所述前端服务器会话控制模型分别处理所述客户端事件和所述客户端事件处理结果列表,得到客户端事件处理结果,并发送所述客户端事件处理结果至所述消息服务器;

步骤4:所述连接服务器监听所述消息服务器,并获取所述客户端事件处理结果,发送所述客户端事件处理结果至所述客户端。

本发明的有益效果是:连接服务器将接收到的视图注册类客户端事件发送至消息服务器,前端服务器在监听到视图注册类客户端事件后对其进行处理,并且分不同情况对不同类型的客户端事件分别处理,既分担了连接服务器的工作负担,又保证了服务器系统对客户端事件的处理质量。

附图说明

图1为本发明实施例提供的一种服务器集群处理系统的框图;

图2为本发明实施例一提供的一种服务器集群处理系统的前端服务器的结构示意图;

图3为本发明实施例二提供的一种服务器集群处理系统的前端服务器的结构示意图;

图4为本发明实施例三提供的一种服务器集群处理方法的流程示意图;

图5为本发明实施例四提供的一种服务器集群处理方法的流程示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1为本发明实施例提供的一种服务器集群处理系统的框图。如图1所示,该系统包括连接服务器110、消息服务器120和至少一个前端服务器130。

图2为本发明实施例一提供的一种服务器集群处理系统的前端服务器的结构示意图。如图2所示,前端服务器130包括前端服务器缓存引擎131和前端服务器会话控制模型132。

连接服务器110用于接收客户端140发送的客户端事件,若所述客户端事件为视图注册类事件,则判断连接服务器110是否有所述客户端事件对应的视图注册类事件处理器,若无,则发送所述客户端事件至消息服务器120。

前端服务器缓存引擎131用于监听消息服务器120,并获取所述客户端事件,如果所述客户端事件为直接类事件,发送所述客户端事件至前端服务器会话控制模型132,如果所述客户端事件为缓存类事件,首先处理所述客户端事件得到客户端事件处理结果列表,再发送所述客户端事件处理结果列表至前端服务器会话控制模型132。

前端服务器会话控制模型132用于分别处理所述客户端事件和所述客户端事件处理结果列表,得到客户端事件处理结果,并发送所述客户端事件处理结果至消息服务器120。

连接服务器110还用于监听消息服务器120,并获取所述客户端事件处理结果,发送所述客户端事件处理结果至客户端140。

需要说明的是,前端服务器会话控制模型132中有多个独立的处理线程,部分独立处理线程用于对接收到的事件进行处理,部分独立处理线程用于向消息服务器120发送处理结果。

在本实施例中,连接服务器将接收到的视图注册类客户端事件发送至消息服务器,前端服务器在监听到视图注册类客户端事件后对其进行处理,并且分不同情况对不同类型的客户端事件,如对直接类事件和缓存类事件分别处理,既分担了连接服务器的工作负担,又保证了服务器系统对客户端事件的处理质量。

图3为本发明实施例二提供的一种服务器集群处理系统的前端服务器的结构示意图。在实施例一的基础上,本实施例中,前端服务器缓存引擎131包括缓存引擎单元135和前端服务器缓存类事件处理器133。

缓存引擎单元135用于监听消息服务器120,获取所述客户端事件;根据指示缓存类事件的所述客户端事件,取得其对应的前端服务器缓存类事件处理器,形成前端服务器缓存类事件处理器列表。

所述前端服务器缓存类事件处理器列表中的前端服务器缓存类事件处理器133用于分别处理所述客户端事件,得到所述客户端事件处理结果列表。

缓存引擎单元135还用于发送所述客户端事件处理结果列表至前端服务器会话控制模型132。

具体地,前端服务器缓存引擎131从消息服务器120监听到的视图注册类客户端事件包括直接类事件和缓存类事件。对于直接类事件,如客户端发送的进入页面按钮、滑屏事件等,将其发送给前端服务器会话控制模型132进行处理。对于缓存类事件,如视图更改请求事件,首先循环取得其对应的前端服务器缓存类事件处理器列表,列表中的前端服务器缓存类事件处理器133分别处理缓存类事件,并获得客户端事件处理结果列表,再发送至前端服务器会话控制模型132。

其中,前端服务器缓存引擎131中预设有客户端事件主题及其与前端服务器缓存类事件处理器133的对应关系,前端服务器缓存引擎131在获取到客户端事件后,会根据客户端事件的主题,一一找到该主题对应的前端服务器缓存类事件处理器133,并得到前端服务器缓存类事件处理器列表。该前端服务器缓存类事件处理器列表中的前端服务器缓存类事件处理器133分别处理该客户端事件。因此,该客户端事件经前端服务器缓存类事件处理器133处理后会得到一个客户端事件处理结果列表。

优选地,前端服务器会话控制模型132包括会话控制单元136和前端服务器视图数据模型134。

会话控制单元136用于分配所述客户端事件和所述客户端事件处理结果列表至前端服务器视图数据模型134。

前端服务器视图数据模型134用于处理所述客户端事件,得到第一处理结果;处理所述客户端事件处理结果列表,得到第二处理结果。

会话控制单元136还用于分别将所述第一处理结果和所述第二处理结果发送至所述消息服务器,其中,所述第一处理结果为视图初始内容,所述第二处理结果为所述视图初始内容的变更部分。

具体地,指示直接类事件的客户端事件和指示缓存类事件的客户端事件处理结果列表分别被发送至对应的视图数据模型。会话控制模型和客户端一一对应,因此,前端服务器130内的前端服务器会话控制模型132的个数取决于客户端连接的个数。

由于前端服务器130主要负责处理视图类客户端事件,前端服务器会话控制模型132包括前端服务器视图数据模型134,对于直接类事件,前端服务器会话控制模型132处理得到第一处理结果,所述第一处理结果为视图初始内容。对于缓存类事件,前端服务器会话控制模型132处理得到第二处理结果,所述第二处理结果为所述视图初始内容的变更部分。例如,a客户端事件由前端服务器缓存引擎131从消息服务器120中监听并获取到,并由前端服务器缓存引擎131将其发送至前端服务器会话控制模型132,前端服务器会话控制模型132中的前端服务器视图数据模型134对该客户端事件进行处理,得到a结果,即为视图初始内容,即第一处理结果。当a客户端事件由前端服务器缓存引擎131从消息服务器120中再次监听并获取到,且前端服务器会话控制模型132再次接收到该客户端事件时,由前端服务器视图数据模型134进行处理,处理得到b结果,a结果和b结果之间的差异,即为视图初始内容的变更内容,即第二处理结果,前端服务器会话控制模型132会将该变更内容封装为model消息,通过更新线程推送至消息服务器120。

优选地,前端服务器130还包括前端服务器注册模块和前端服务器会话控制模型创建模块。

前端服务器注册模块用于在前端服务器130监听到消息服务器120中的所述客户端的视图注册类事件后,调用登陆处理方法处理所述视图注册类事件,得到并向消息服务器120返回登陆处理结果。

前端服务器会话控制模型创建模块用于在客户端140登陆成功后,创建客户端140对应的前端服务器会话控制模型132。

在本实施例中,连接服务器将接收到的视图注册类客户端事件发送至消息服务器,前端服务器在监听到视图注册类客户端事件后对其进行处理,并且分不同情况对不同类型的客户端事件分别处理,如分别处理直接类事件和缓存类事件,既分担了连接服务器的工作负担,又保证了服务器系统对客户端事件的处理质量。

在上述实施例的基础上,作为本发明的一个优选实施例,在该优选实施例中,连接服务器120包括连接服务器缓存引擎、连接服务器会话控制模型和前端服务器心跳监视器。

连接服务器缓存引擎用于监听并获取所述客户端事件处理结果,发送所述客户端事件处理结果至连接服务器会话控制模型。

连接服务器会话控制模型用于发送所述客户端事件处理结果至与连接服务器会话控制模型对应的客户端140。

前端服务器心跳监视器用于监视连接服务器120和前端服务器130的通信时间,如果当前通信时间与最近一次通信时间的间隔大于预设时间间隔,则生成前端服务器连接失败服务器事件,并发送所述前端服务器连接失败服务器事件至连接服务器会话控制模型。

连接服务器会话控制模型还用于根据所述前端服务器连接失败服务器事件生成前端服务器连接失败通知事件,并发送所述前端服务器连接失败通知事件至与所述连接服务器会话控制模型对应的客户端140。

具体地,前端服务器心跳监视器每隔一段时间,通过检查连接服务器120和前端服务器130两次相邻的通信时间是否超过预设时间间隔,判断用于分担连接服务器120视图类事件处理负担的前端服务器130是否和连接服务器120连接失败,如果连接失败,生成连接失败信息并发送至客户端140,并且将客户端事件处理结果中的前端服务器标识删除。

在本实施例中,通过设置前端服务器心跳监视器可以监控前端服务器是否和连接服务器断开连接,从而避免了前端服务器宕机或其他原因引起的客户端事件不能及时处理的情况发生。

在上述实施例的基础上,作为本发明的另一个优选实施例,在该优选实施例中,连接服务器110还用于接收客户端140发送的所述客户端事件和与所述客户端事件对应的所述客户端事件处理结果,并发送所述客户端事件和所述客户端事件处理结果至消息服务器120。

前端服务器130还用于监听消息服务器120,并获取所述客户端事件和所述客户端事件处理结果,处理得到更新的客户端事件处理结果,并发送所述更新的客户端事件处理结果至消息服务器120。

连接服务器110还用于监听消息服务器120,并获取所述更新的客户端事件处理结果,发送所述更新的客户端事件处理结果至客户端140。

具体地,如果一个连接服务器宕机或不能再处理客户端事件,所有由其进行客户端事件处理的客户端会收到已处理的客户端事件处理结果以及连接服务器连接失败信息。此时,客户端可以再次发生客户端事件,同时发送和客户端事件对于的客户端事件处理结果。在监听到客户端时间后,其他备用前端服务器会启动,并处理上述客户端事件及其对应的客户端事件处理结果,生成更新的客户端事件处理结果,并在更新的客户端事件处理结果加入新的前端服务器的标识。

在本实施例中,在一个前端服务器不能继续处理客户端事件时,客户端可以再次发送客户端事件及其对应的客户端事件处理结果,由备用前端服务器对其进行处理,获得更新的客户端事件处理结果,并最终发送至客户端。从而实现在部分前端服务器宕机时,依然有其他前端服务器及时处理客户端事件,达到服务续接功能,保证了服务器系统对客户端事件的处理质量。

图4为本发明实施例三提供的一种服务器集群处理方法的流程示意图。如图4所示,该方法包括:

步骤1:连接服务器接收客户端发送的客户端事件,若所述客户端事件为视图注册类事件,则判断所述连接服务器是否有所述客户端事件对应的视图注册类事件处理器,若无,则发送所述客户端事件至所述消息服务器。

步骤2:前端服务器缓存引擎监听所述消息服务器,获取所述客户端事件,处理所述客户端事件得到客户端事件处理结果列表,发送所述客户端事件和所述客户端事件处理结果列表至所述前端服务器会话控制模型。

步骤3:所述前端服务器会话控制模型分别处理所述客户端事件和所述客户端事件处理结果列表,得到客户端事件处理结果,并发送所述客户端事件处理结果至所述消息服务器。

步骤4:所述连接服务器监听所述消息服务器,并获取所述客户端事件处理结果,发送所述客户端事件处理结果至所述客户端。

优选地,所述前端服务器缓存引擎包括缓存引擎单元和前端服务器缓存类事件处理器,所述步骤2包括:

步骤2.1:所述缓存引擎单元监听所述消息服务器,获取所述客户端事件。

步骤2.2:所述缓存引擎单元取得所述客户端事件对应的前端服务器缓存类事件处理器。

步骤2.3:所述前端服务器缓存类事件处理器分别处理所述客户端事件,得到所述客户端事件处理结果列表。

步骤2.4:所述缓存引擎单元发送所述客户端事件处理结果列表至所述前端服务器会话控制模型。

优选地,所述前端服务器会话控制模型包括会话控制单元和前端服务器视图数据模型,所述步骤3包括:

步骤3.1:所述会话控制单元分配所述客户端事件和所述客户端事件处理结果列表至所述前端服务器视图数据模型。

步骤3.2:所述前端服务器视图数据模型处理所述客户端事件,得到第一处理结果。

步骤3.3:所述前端服务器视图数据模型处理所述客户端事件处理结果列表,得到第二处理结果。

步骤3.4:所述会话控制单元分别将所述第一处理结果和所述第二处理结果发送至所述消息服务器,其中,所述第一处理结果为视图初始内容,所述第二处理结果为所述视图初始内容的变更部分。

优选地,所述连接服务器包括连接服务器缓存引擎、连接服务器会话控制模型和前端服务器心跳监视器,所述步骤4包括:

步骤4.1:所述连接服务器缓存引擎监听并获取所述客户端事件处理结果,发送所述客户端事件处理结果至所述连接服务器会话控制模型。

步骤4.2:所述连接服务器会话控制模型发送所述客户端事件处理结果至与所述连接服务器会话控制模型对应的所述客户端。

步骤4.3:所述前端服务器心跳监视器监视所述连接服务器和所述前端服务器的通信时间,如果当前通信时间与最近一次通信时间的间隔大于预设时间间隔,则生成前端服务器连接失败服务器事件,并发送所述前端服务器连接失败服务器事件至所述连接服务器会话控制模型。

步骤4.4:所述连接服务器会话控制模型根据所述前端服务器连接失败服务器事件生成前端服务器连接失败通知事件,并发送所述前端服务器连接失败通知事件至与所述连接服务器会话控制模型对应的所述客户端。

在本实施例中,连接服务器将接收到的视图注册类客户端事件发送至消息服务器,前端服务器在监听到视图注册类客户端事件后对其进行处理,并且分不同情况对不同类型的客户端事件分别处理,如分别处理直接类事件和缓存类事件,既分担了连接服务器的工作负担,又保证了服务器系统对客户端事件的处理质量。另外,通过设置前端服务器心跳监视器可以监控前端服务器是否和连接服务器断开连接,从而避免了前端服务器宕机或其他原因引起的客户端事件不能及时处理的情况发生。

图5为本发明实施例四提供的一种服务器集群处理方法的流程示意图。如图5所示,在上述实施例的基础上,该方法还包括:

步骤5:所述连接服务器接收所述客户端发送的所述客户端事件和与所述客户端事件对应的所述客户端事件处理结果,并发送所述客户端事件和所述客户端事件处理结果至所述消息服务器。

步骤6:所述前端服务器监听所述消息服务器,并获取所述客户端事件和所述客户端事件处理结果,处理得到更新的客户端事件处理结果,并发送所述更新的客户端事件处理结果至所述消息服务器。

步骤7:所述连接服务器监听所述消息服务器,并获取所述更新的客户端事件处理结果,发送所述更新的客户端事件处理结果至所述客户端。

在本实施例中,在一个前端服务器不能继续处理客户端事件时,客户端可以再次发送客户端事件及其对应的客户端事件处理结果,由备用前端服务器对其进行处理,获得更新的客户端事件处理结果,并最终发送至客户端。从而实现在部分前端服务器宕机时,依然有其他前端服务器及时处理客户端事件,达到服务续接功能,保证了服务器系统对客户端事件的处理质量。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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