一种通信方法及装置制造方法及图纸

技术编号:20978882 阅读:24 留言:0更新日期:2019-04-29 18:44
本发明专利技术实施例提供了一种通信方法及装置,应用于服务器集群,所述服务器集群部署有管理进程、聊天进程、广播进程、接口进程、监控进程和全局进程,所述方法包括:接口进程接收客户端发送的聊天信息,所述接口进程将所述聊天信息发送到广播进程;所述广播进程将所述聊天信息发送到聊天进程;所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内;所述全局进程从所述第一数据库中读取所述聊天信息,并将所述聊天信息发送到相对应的聊天进程;所述聊天进程将接收到的聊天信息发送到广播进程;所述广播进程将接收到的聊天信息发送到相连接的接口进程;所述接口进程将聊天信息发送到目标客户端。本申请的信息交互快速,能降低服务器负担。

A Communication Method and Device

The embodiment of the present invention provides a communication method and device, which is applied to a server cluster. The server cluster deploys a management process, a chat process, a broadcast process, an interface process, a monitoring process and a global process. The method includes: an interface process receives chat information sent by a client, and the interface process transmits the chat information to a broadcast process; and a broadcasting process. The broadcast process sends the chat information to the chat process; the management process stores the chat information received by the chat process into the first database; the global process reads the chat information from the first database and sends the chat information to the corresponding chat process; the chat process sends the received chat information to the broadcast process; The broadcast process sends the received chat information to the connected interface process, which sends the chat information to the target client. This application has fast information interaction and can reduce the burden of the server.

【技术实现步骤摘要】
一种通信方法及装置
本专利技术涉及网络通信
,特别是涉及一种通信方法和一种通信装置。
技术介绍
现代网络游戏一般会采用分服的方式管理玩家,不同的玩家登陆到不同的服务器上。网络游戏内的副本组队聊天、大厅内广播公告都会根据玩家登陆的进程,分配到不同的聊天进程上。因为聊天的分散性,游戏中的聊天消息种类较多,每个模块都需要重复开发,浪费大量的人力物力。游戏系统中的聊天无法充分利用数据库来保证聊天系统的可靠性。大部分游戏中的聊天消息都会在玩家突然离线的时候被舍弃掉。聊天功能受限于服务器的人数。网络游戏中难免出现某些服务器人多,某些服务器人少的情况。对于登陆人数较多的服务器,服务器压力过大,玩家卡顿感明显,发送消息延迟大。对于登陆人数较少服务器,因为人数较少,服务器负载过低,又造成资源浪费。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种通信方法和相应的一种通信装置。为了解决上述问题,本专利技术实施例公开了一种通信方法,应用于服务器集群,所述服务器集群部署有至少一个管理进程、至少一个聊天进程、至少一个广播进程、至少一个接口进程、至少一个监控进程和至少一个全局进程,所述方法包括:接口进程接收客户端发送的聊天信息,所述接口进程将所述聊天信息发送到广播进程;所述广播进程将所述聊天信息发送到聊天进程;所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内;所述全局进程从所述第一数据库中读取所述聊天信息,并将所述聊天信息发送到相对应的聊天进程;所述聊天进程将接收到的聊天信息发送到广播进程;所述广播进程将接收到的聊天信息发送到相连接的接口进程;所述接口进程将聊天信息发送到目标客户端。可选地,所述接口进程接收所述客户端发送的登陆信息,并将所述登陆信息发送到聊天进程;所述聊天进程根据所述登陆信息判断所述客户端是否初次登陆;若所述客户端是初次登陆,则所述聊天进程对所述登陆信息进行校验;若校验成功,则所述聊天进程将所述登陆信息存储到所述第一数据库。可选地,若所述客户端不是初次登陆,则所述聊天进程确定所述客户端曾经登陆的其他聊天进程;所述聊天进程将所述客户端配置到客户端上一次所登陆的其他聊天进程。可选地,所述聊天进程设有至少一种类型的频道模块,所述方法还包括:所述聊天进程将所述客户端分配到该聊天进程所设有的至少一个频道模块中。可选地,所述聊天进程采用预设的分配器,确定自身设有的每一频道模块的人数;若一频道模块的人数达到预设人数阈值,则所述聊天进程将该频道分裂为相同类型的多个频道。可选地,所述全局进程接收客户端发送的频道查询请求,并查询所述频道查询请求指定的频道所对应的当前聊天进程;所述全局进程向所述客户端发送所述当前聊天进程的信息,以使所述客户端从当前聊天进程发起频道切换请求;所述当前聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道。可选地,所述当前聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道,包括:所述当前聊天进程确定所述频道切换请求所指定的聊天频道是否在所述当前聊天进程;若是,则所述当前聊天进程将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道;若否,则所述当前聊天进程向所述频道切换请求指定的聊天频道所对应的目标聊天进程,发送所述频道切换请求;所述目标聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道。可选地,所述聊天进程将接收到的聊天信息发送到广播进程,包括:所述聊天进程确定所述聊天信息所对应的目标频道,以及确定所述目标频道所对应的目标接口进程;所述聊天进程将所述聊天信息,发送至任意一个广播进程。可选地,所述接口进程将聊天信息发送到目标客户端,包括:所述接口进程确定与所述聊天信息对应的频道所对应的目标客户端;所述接口进程将聊天信息发送到目标客户端。可选地,所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内,包括:所述管理进程接收客户端发送的聊天信息持久化请求;所述管理进程根据所述持久化请求,将该客户端的聊天信息持久化存储到所述第二数据库。可选地,所述全局进程测量所述第一数据库中聊天信息量是否满足预设的信息量阈值;若聊天信息量不满足预设的信息量阈值,则全局进程对服务器进行缩容;若聊天信息量超过预设的信息量阈值,则全局进程对服务器进行扩容。可选地,所述全局进程对服务器的缩容,包括:全局进程接收到需要缩容的服务器的IP地址;所述全局进程查询ip地址所在服务器的在线状态和分配情况;若所述的IP地址所对应的服务器具有在运行的聊天进程,且所述运行的聊天进程正在处理发送或接收聊天消息,则所述所述全局进程将所述运行的聊天进程所在的服务器标记为第一服务器,第一服务器为需要优先屏蔽的服务器;所述全局进程向所有聊天进程发送IP地址查询请求;所述聊天进程根据所述IP地址查询请求,查询聊天进程所在服务器的IP地址;若所述聊天进程所在服务器的IP地址与所述第一服务器的IP地址相同,则所述全局进程将该聊天进程标记为第一聊天进程,第一聊天进程为不再配置新的客户端的聊天进程;所述聊天进程向所有的接口进程发送IP地址查询请求;所述接口进程根据上述IP地址查询请求,查询接口进程所在服务器的IP地址;若所述接口进程所在服务器的IP地址与所述第一服务器的IP地址相同,则所述全局进程将该接口进程标记为第一接口进程,第一接口进程为不再配置新的客户端的接口进程;所述全局进程将所述第一接口进程从预设的可用接口进程列表中删除;当所述第一服务器上的第一聊天进程和第一接口进程都不具有聊天信息时,所述全局进程关闭所述第一服务器,并将所述第一接口进程从预置的接口列表中删除。可选地,全局进程对服务器进行扩容还包括:所述全局进程获取待扩容的服务器的IP地址,并将所述IP地址存储到预置的第三数据库;所述全局进程确定所述待扩容的服务器所部署有的接口进程,并将所述待扩容的服务器所部署有的接口进程添加到预置的接口进程列表。可选地,所述监控进程监测第一数据库的数据变化和各个进程的心跳数据。本申请还公开了一种通信装置,包括部署在服务器集群的至少一个管理进程模块、至少一个聊天进程模块、至少一个广播进程模块、至少一个接口进程模块、至少一个监控进程模块和至少一个全局进程模块;所述接口进程模块用于接收客户端发送的聊天信息,并将所述聊天信息发送到广播进程模块;所述广播进程模块用于将所述聊天信息发送到聊天进程模块;所述管理进程模块将所述聊天进程模块接收到的聊天信息存储到第一数据库内;所述全局进程模块用于从所述第一数据库中读取所述聊天信息,并将所述聊天信息发送到相对应的聊天进程模块;所述聊天进程模块还用于将接收到的聊天信息发送到广播进程模块;所述广播进程模块还用于将接收到的聊天信息发送到相连接的接口进程模块;所述接口进程模块还用于将聊天信息发送到目标客户端;所述监控进程模块用于监测第一数据库的数据变化和各个进程模块的心跳数据。可选地,所述接口进程模块还用于接收所述客户端发送的登陆信息,并将所述登陆信息发送到聊天进程模块;所述聊天进程模块还用于根据所述登陆信息,判断所述客户端是否初本文档来自技高网...

【技术保护点】
1.一种通信方法,其特征在于,应用于服务器集群,所述服务器集群部署有至少一个管理进程、至少一个聊天进程、至少一个广播进程、至少一个接口进程、至少一个监控进程和至少一个全局进程,所述方法包括:接口进程接收客户端发送的聊天信息,所述接口进程将所述聊天信息发送到广播进程;所述广播进程将所述聊天信息发送到聊天进程;所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内;所述全局进程从所述第一数据库中读取所述聊天信息,并将所述聊天信息发送到相对应的聊天进程;所述聊天进程将接收到的聊天信息发送到广播进程;所述广播进程将接收到的聊天信息发送到相连接的接口进程;所述接口进程将聊天信息发送到目标客户端。

【技术特征摘要】
1.一种通信方法,其特征在于,应用于服务器集群,所述服务器集群部署有至少一个管理进程、至少一个聊天进程、至少一个广播进程、至少一个接口进程、至少一个监控进程和至少一个全局进程,所述方法包括:接口进程接收客户端发送的聊天信息,所述接口进程将所述聊天信息发送到广播进程;所述广播进程将所述聊天信息发送到聊天进程;所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内;所述全局进程从所述第一数据库中读取所述聊天信息,并将所述聊天信息发送到相对应的聊天进程;所述聊天进程将接收到的聊天信息发送到广播进程;所述广播进程将接收到的聊天信息发送到相连接的接口进程;所述接口进程将聊天信息发送到目标客户端。2.根据权利要求1所述的方法,其特征在于,还包括:所述接口进程接收所述客户端发送的登陆信息,并将所述登陆信息发送到聊天进程;所述聊天进程根据所述登陆信息判断所述客户端是否初次登陆;若所述客户端是初次登陆,则所述聊天进程对所述登陆信息进行校验;若校验成功,则所述聊天进程将所述登陆信息存储到所述第一数据库。3.根据权利要求2所述的方法,其特征在于,还包括:若所述客户端不是初次登陆,则所述聊天进程确定所述客户端曾经登陆的其他聊天进程;所述聊天进程将所述客户端配置到客户端上一次所登陆的其他聊天进程。4.根据权利要求1所述的方法,其特征在于,所述聊天进程设有至少一种类型的频道模块,所述方法还包括:所述聊天进程将所述客户端分配到该聊天进程所设有的至少一个频道模块中。5.根据权利要求4所述的方法,其特征在于,还包括:所述聊天进程采用预设的分配器,确定自身设有的每一频道模块的人数;若一频道模块的人数达到预设人数阈值,则所述聊天进程将该频道分裂为相同类型的多个频道。6.根据权利要求4所述的方法,其特征在于,还包括:所述全局进程接收客户端发送的频道查询请求,并查询所述频道查询请求指定的频道所对应的当前聊天进程;所述全局进程向所述客户端发送所述当前聊天进程的信息,以使所述客户端从当前聊天进程发起频道切换请求;所述当前聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道。7.根据权利要求6所述的方法,其特征在于,所述当前聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道,包括:所述当前聊天进程确定所述频道切换请求所指定的聊天频道是否在所述当前聊天进程;若是,则所述当前聊天进程将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道;若否,则所述当前聊天进程向所述频道切换请求指定的聊天频道所对应的目标聊天进程,发送所述频道切换请求;所述目标聊天进程根据所述频道切换请求,将所述客户端从所述当前聊天进程切换到所述频道切换请求指定的聊天频道。8.根据权利要求1所述的方法,其特征在于,所述聊天进程将接收到的聊天信息发送到广播进程,包括:所述聊天进程确定所述聊天信息所对应的目标频道,以及确定所述目标频道所对应的目标接口进程;所述聊天进程将所述聊天信息,发送至任意一个广播进程。9.根据权利要求8所述的方法,其特征在于,所述接口进程将聊天信息发送到目标客户端,包括:所述接口进程确定与所述聊天信息对应的频道所对应的目标客户端;所述接口进程将聊天信息发送到目标客户端。10.根据权利要求1所述的方法,其特征在于,所述管理进程将所述聊天进程接收到的聊天信息存储到第一数据库内,包括:所述管理进程接收客户端发送的聊天信息持久化请求;所述管理进程根据所述持久化请求,将该客户端的聊天信息持久化存储到所述第二数据库。11.根据权利要求1所述的方法,其特征在于,还包括:所述全局进程测量所述第一数据库中聊天信息量是否满足预设的信息量阈值;若聊天信息量不满足预设的信息量阈值,则全局进程对服务器进行缩容;若聊天信息量超过预设的信息量阈值,则全局进程对服务器进行扩容。12.根据权利要求11所述的方法,其特征在于,所述全局进程对服务器的缩容,包括:全局进程接收到需要缩容的服务器的IP地址;所述全局进程查询ip地址所在服务器的在线状态和分配情况;若所述的IP地址所对应的服务器具有在运行的聊天进程,且所述运行的聊天进程正在处理发送或接收聊天消息,则所述所述全局进程将所述运行的聊天进程所在的服务器标记为第一服务器,第一服务器为需要优先屏蔽的服务器;所述全局进程向所有聊天进程发送IP地址查询请求;所述聊天进程根据所述IP地址查询请求,查询聊天进程所在服务器的IP地址;若所述聊天进程所在服务器的IP地址与所述第一服务器的IP地址相同,则所述全局进程将该聊天进程标记为第一聊天进程,第一聊天进程为不再配置新的客户端的聊天进程;所述聊天进程向所有的接口进程发送IP地址查询请求;所述接口进程根据上述IP地址查询请求,查询接口进程所在服务器的IP地址;若所述接口进程所在服务器的IP地址与所述第一服务器的IP地址相同,则所述全局进程将该接口进程标记为第一接口进程,第一接口进程为不再配置新的客户端的接口进程;所述全局进程将所述第一接口进程从预设的可用接口进程列表中删除;当所述第一服务器上的第一聊天进程和第一接口进程都不具有聊天信息时,所述全局进程关闭所述第一服务器,并将所述第一接口进程从预置的接口列表中删除。13.根据权利要求11所述的方法,其特征在于,全局进程对服务器进行扩容还包括:所述全局进程获取待扩容的服务器的IP地址,并将所述IP地址存储到预置的第三数据库;所述全局进程确定所述待扩容的服务器所部署有的接口进程,并将所述待扩容的服务器所部署有的接口进程添加到预置的接口进程列表。14.根据权利要求1所述的方法,其特征在于,所述监控进程监测第一数据库的数据变化和各个进程的心跳数据。15.一种通信装置,其特征在于,包括部...

【专利技术属性】
技术研发人员:曾珊陈介松
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

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

1