基于c/s架构的通讯系统及通信方法

文档序号:7900056阅读:314来源:国知局
专利名称:基于c/s架构的通讯系统及通信方法
技术领域
本发明涉及计算机软件通信领域,尤其涉及一种基于C/S架构的通讯系统及通信方法。
背景技术
目前,大型C/S(客户机/服务器,Client/Server)系统架构,采用的通讯方式一般是在服务器端( 建立接收消息队列来存储接收的消息,建立发送消息队列来处理发送的消息,接收消息队列和发送消息队列是对所有游戏的。但是,这种通讯方式存在以下缺点1、服务器端的接收队列、发送队列的消息无法定位是哪个客户端的;2、如果某个客户端处理速度慢或者拥堵会影响其他客户端的消息处理;3、接收队列开辟的空间大,消耗的资源多。因此,需要一种基于C/S架构的通讯系统及通信方法,能适用于大型C/S系统架构上多客户端、多服务处理端的复杂网络情况,尽量控制C/S架构的服务资源的使用,保障网络消息顺畅、快速、高效。

发明内容
本发明的目的在于提供一种基于C/S架构的通讯系统及通信方法,能适用于大型 C/S系统架构上多客户端、多服务处理端的复杂网络情况,保障网络消息顺畅。为解决上述问题,本发明提供一种基于C/S架构的通讯系统,包括至少一个客户端、至少一个服务处理端及一个服务器,其中,所述客户端,用于向所述服务器发送客户端消息领取请求;所述服务处理端,用于向所述服务器发送服务消息领取请求;所述服务器包括客户消息模块,为每个客户端设一存储要发送给该客户端的客户端消息的客户端消息队列;服务消息模块,为每个服务处理端设一存储要发送给该服务处理端的服务消息的服务消息队列;消息处理模块,设有一个接收消息队列,用于接收所述客户端消息领取请求和服务消息领取请求,以及向所述客户端和服务处理端分发所述客户消息模块的客户端消息和服务消息模块的服务消息。相应的,本发明提供一种上述基于C/S架构的通讯系统中服务器与客户端的通信方法,包括所述客户端通过所述客户接入端接入所述服务器,并向所述服务器发送客户端消息领取请求;所述消息处理模块接收所述客户端消息领取请求到所述接收消息队列中,并根据所述客户端消息领取请求提取所述客户消息模块为所述客户端设置的客户端消息队列中的客户端消息;所述消息处理模块将所述客户端消息发送给所述客户端。进一步的,当所述客户接入端接入的客户端为两个或两个以上时,所述消息处理模块接收各个客户端发送的客户端消息领取请求到所述接收消息队列中,根据各个客户端消息领取请求提取所述客户消息模块为各个客户端设置的客户端消息队列中的客户端消息,并将各个客户端消息分发至各个客户端。相应的,本发明还提供一种上述基于C/S架构的通讯系统中服务器与服务处理端的通信方法,包括所述服务处理端通过所述服务接入端接入所述服务器,并向所述服务器发送服务消息领取请求;所述消息处理模块接收所述服务消息领取请求到所述接收消息队列,并根据所述服务消息领取请求提取所述服务消息模块为所述服务处理端设置的服务消息队列中的服务消息;所述消息处理模块将所述服务消息发送给所述服务处理端。进一步的,当所述服务接入端接入的服务处理端为两个或两个以上时,所述消息处理模块接收各个服务处理端发送的服务消息领取请求到所述接收消息队列中,根据各个服务消息领取请求提取所述服务消息模块为各个服务处理端设置的服务消息队列中的服务消息,并将各个服务消息分发至各个服务处理端。与现有技术相比,本发明的基于C/S架构的通讯系统及通信方法,通过客户端消息模块的各个客户端消息队列存储发送给相应各个客户端的客户端消息,通过各个服务消息模块存储发送给相应各个服务处理端的服务消息,使得多个客户端之间、多个服务处理端之间以及客户端与服务处理端之间的业务互不影响,有效地处理了网络拥堵问题,同时, 本发明的基于C/S架构的通讯系统及方法在收到客户端、服务处理端发送的领取请求后才分发消息给他们,控制了 C/S架构的服务资源的合理使用,保障网络消息快速、高效,有效地避免了丢包情况的发生。


图1是本发明实施例一的基于C/S架构的通讯系统的架构示意图;图2是本发明实施例二的基于C/S架构的通讯系统的服务器与客户端间的通信方法流程图;图3是本发明实施例三的基于C/S架构的通讯系统的服务器与服务处理端间的通信方法流程图。
具体实施例方式以下结合附图和具体实施例对本发明提出的基于C/S架构的通讯系统及通信方法作进一步详细说明。实施例一如图1所示,本实施例提供一种基于C/S架构的通讯系统,包括n个客户端(C)、η个服务处理端( 及一个服务器(S)。其中,客户端11,客户端12,...,客户端In,用于向所述服务器3发送客户端消息领取请求;服务处理端21,服务处理端22,...,服务处理端2η,用于向所述服务器3发送服务消息领取请求。本实施例中,所述服务器3包括客户接入端31,用于接入所述客户端11、客户端12.....客户端In ;服务接入端32,用于接入所述服务处理端21、服务处理端22.....服务处理端
2η ;客户消息模块33,为每个客户端设一存储要发送给该客户端的客户端消息的客户
端消息队列,即,客户端消息队列Cl、客户端消息队列C2.....客户端消息队列Cn分别对应
存储要发送给客户端11、客户端12.....客户端In的客户端消息;服务消息模块34,为每个服务处理端设一存储要发送给该服务处理端的服务消息
的服务消息队列,即,服务消息队列Si、客户端消息队列S2.....客户端消息队列Sn分别对
应存储要发送给服务处理端21、服务处理端22.....服务处理端2η的服务消息;消息处理模块35,设有一个接收消息队列R0,用于接收客户端11、客户端12.....
客户端In发送的客户端消息领取请求以及服务处理端21、服务处理端22.....服务处理端
2η发送的服务消息领取请求,并且向客户端11、客户端12.....客户端In分发所述客户消
息模块33的客户端消息队列Cl、客户端消息队列C2.....客户端消息队列Cn中存储的客
户端消息以及向服务处理端21、服务处理端22.....服务处理端2η分发所述服务消息模块
34的服务消息队列Si、客户端消息队列S2.....客户端消息队列Sn中存储的服务消息。本实施例的基于C/S架构的通讯系统,通过客户端消息模块的各个客户端消息队列存储发送给相应各个客户端的客户端消息,通过各个服务消息模块存储发送给相应各个服务处理端的服务消息,使得多个客户端之间、多个服务处理端之间以及客户端与服务处理端之间的业务在通信时互不影响,可以有效地处理网络拥堵问题,保障网络消息快速、高效。实施例二如图2所示,本实施例提供一种基于C/S架构的通讯系统中服务器与客户端的通信方法,包括步骤D201,所述客户端接入服务器,并向所述服务器发送客户端消息领取请求;请参考图1,本步骤中,客户端11、客户端12.....客户端In可以都通过客户接入
端31接入服务器3;步骤D202,所述消息处理模块接收所述客户端消息领取请求到所述接收消息队列中;请参考图1,本步骤中,当所述客户接入端接入的客户端为两个或两个以上时,例
如客户端11、客户端12.....客户端In都通过客户接入端31接入服务器3时,所述消息处
理模块35接收客户端11、客户端12.....客户端In发送的客户端消息领取请求到所述接
收消息队列RO中;步骤D203,所述消息处理模块根据所述客户端消息领取请求提取所述客户消息模块为所述客户端设置的客户端消息队列中的客户端消息;
请参考图1,本步骤中,当所述客户接入端接入的客户端为两个或两个以上时,例
如客户端11、客户端12.....客户端In都通过客户接入端31接入服务器3时,所述消息处
理模块35根据每个客户端消息领取请求提取所述客户消息模块33为各个客户端设置的客户端消息队列中的客户端消息,即,根据客户端11发送的客户端消息领取请求提取客户端消息队列Cl中的客户端消息,根据客户端12发送的客户端消息领取请求提取客户端消息队列C2中的客户端消息,...,根据客户端In发送的客户端消息领取请求提取客户端消息队列Cn中的客户端消息;步骤D204,所述消息处理模块将所述客户端消息发送给所述客户端;请参考图1,本步骤中,当所述客户接入端接入的客户端为两个或两个以上时,例
如客户端11、客户端12.....客户端In都通过客户接入端31接入服务器3时,所述消息处
理模块35将从客户端消息队列Cl中提取出的客户端消息分发给客户端11,将从客户端消息队列C2中提取出的客户端消息分发给客户端12,...,将从客户端消息队列Cn中提取出的客户端消息分发给客户端In。现列举3个基于C/S架构的通讯系统中服务器与客户端的通信方法的测试数据, 以进一步展示本发明的有益效果。数据一某游戏客户端与服务器通信时的相关参数如下该游戏客户端配置包括Windows XP操作系统,内存IG ;该游戏客户端接入服务器的通信数据,包括网络速度(该游戏客户端与服务器之间)上行1M,下行IM ;消息包大小300字符;业务处理速度2500条/秒;其中,该游戏客户端配置数据表明该游戏客户端的业务处理能力,该游戏客户端接入服务器的通信数据表明了通信时客户端消息分发传输畅通、快速、高效。数据二 某商城客户端与服务器通信时的相关参数如下该商城客户端配置包括Windows XP操作系统,内存IG ;该商城客户端接入服务器的通信数据,包括网络速度(该商城客户端与服务器之间)上行0. 05M,下行0. 05M ;消息包大小300字符;业务处理速度100条/秒。其中,该商城客户端配置数据表明该商城客户端的业务处理能力,该商城客户端接入服务器的通信数据表明了通信时客户端消息分发传输畅通、快速、高效。数据二 某商城客户端与服务器通信时的相关参数如下该商城客户端配置包括=Linux的操作系统,内存2G该商城客户端接入服务器的通信数据,包括网络速度(该商城客户端与服务器之间)上行2M,下行2M消息包大小300字符业务处理速度6000条/秒其中,该商城客户端配置数据表明该商城客户端的业务处理能力,该商城客户端接入服务器的通信数据表明了通信时客户端消息分发传输畅通、快速、高效。
本实施例的基于C/S架构的通讯系统中服务器与客户端的通信方法,通过客户端消息模块的各个客户端消息队列存储发送给相应各个客户端的客户端消息,使得多个客户端之间的业务互不影响,有效地处理了网络拥堵问题,同时,所述消息处理模块在收到客户端发送的客户端消息领取请求后才分发客户端消息给他们,控制了 C/S架构的服务资源的合理使用,保障客户端消息分发传输畅通、快速、高效,有效地避免了丢包情况的发生。实施例三 如图2所示,本实施例提供一种上述基于C/S架构的通讯系统中服务器与服务处理端的通信方法,包括步骤D301,所述服务处理端接入所述服务器,并向所述服务器发送服务消息领取请求;请参考图1,本步骤中,服务处理端21、服务处理端22.....服务处理端2η可以都
通过服务接入端32接入服务器3 ;步骤D302,所述消息处理模块接收所述服务消息领取请求到所述接收消息队列;请参考图1,本步骤中,当所述服务接入端接入的服务处理端为两个以上时,例如
服务处理端21、服务处理端22.....服务处理端2η接入服务器3时,所述消息处理模块35
接收服务处理端21、服务处理端22.....服务处理端2η发送的服务消息领取请求到所述接
收消息队列RO中;步骤D303,根据所述服务消息领取请求提取所述服务消息模块为所述服务处理端设置的服务消息队列中的服务消息;请参考图1,本步骤中,当所述服务接入端接入的服务处理端为两个以上时,例如
服务处理端21、服务处理端22.....服务处理端2η接入服务器3时,所述消息处理模块35
根据每个服务消息领取请求提取所述服务消息模块34为各个服务处理端设置的服务消息队列中的服务消息,即,根据服务处理端21发送的服务消息领取请求提取服务消息队列Sl 中的客户端消息,根据服务处理端22发送的服务消息领取请求提取服务消息队列S2中的服务消息,...,根据服务处理端2η发送的服务消息领取请求提取服务消息队列Sn中的服务消息;步骤D304,所述消息处理模块将所述服务消息发送给所述服务处理端;请参考图1,本步骤中,当所述服务接入端接入的服务处理端为两个以上时,例如
服务处理端21、服务处理端22.....服务处理端2η接入服务器3时,所述消息处理模块35
将从服务消息队列Sl中提取出的服务消息分发给服务处理端21,将从服务消息队列S2中提取出的服务消息分发给服务处理端22,...,将从服务消息队列Sn中提取出的服务消息分发给服务处理端2η。现列举2个基于C/S架构的通讯系统中服务器与服务处理端的通信方法的测试数据,以进一步展示本发明的有益效果。数据四某指令服务处理端与服务器通信时的相关参数如下该指令服务处理端配置包括=Linux的操作系统,内存2G ;该指令服务处理端接入服务器的通信数据,包括网络速度(指令服务处理端与服务器之间)上行10Μ,下行IOM ;消息包大小300字符;
8
业务处理速度20000条/秒。其中,该指令服务处理端配置数据表明该指令服务处理端的业务处理能力,该指令服务处理端接入服务器的通信数据表明了通信时服务消息分发传输畅通、快速、高效。数据五某指令服务处理端与服务器通信时的相关参数如下该指令服务处理端配置包括=Linux的操作系统,内存2G ;该指令服务处理端接入服务器的通信数据,包括网络速度(指令服务处理端与服务器之间)上行10M,下行IOM ;消息包大小300字符;业务处理速度18000条/秒。其中,该指令服务处理端配置数据表明该指令服务处理端的业务处理能力,该指令服务处理端接入服务器的通信数据表明了通信时服务消息分发传输畅通、快速、高效。本实施例的基于C/S架构的通讯系统中服务器与服务处理端的通信方法,通过服务消息模块的各个服务消息队列存储发送给相应各个服务处理端的服务消息,使得多个服务处理端之间的业务互不影响,有效地处理了网络拥堵问题,同时,所述消息处理模块在收到服务处理端发送的服务消息领取请求后才分发服务消息给他们,控制了 C/S架构的服务资源的合理使用,保障服务消息分发传输畅通、快速、高效,有效地避免了丢包情况的发生。综上所述,基于C/S架构的通讯系统及方法,使得多个客户端之间、多个服务处理端之间以及客户端与服务处理端之间的业务互不影响,有效地处理了网络拥堵问题,同时, 本发明的基于C/S架构的通讯系统及方法在收到客户端、服务处理端发送的领取请求后才分发消息给他们,控制了 C/S架构的服务资源的合理使用,保障网络消息快速、高效,有效地避免了丢包情况的发生。显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于C/S架构的通讯系统,其特征在于,包括至少一个客户端、至少一个服务处理端、及一个服务器,其中,所述客户端,用于向所述服务器发送客户端消息领取请求;所述服务处理端,用于向所述服务器发送服务消息领取请求;所述服务器包括客户消息模块,为每个客户端设一存储要发送给该客户端的客户端消息的客户端消息队列;服务消息模块,为每个服务处理端设一存储要发送给该服务处理端的服务消息的服务消息队列;消息处理模块,设有一个接收消息队列,用于接收所述客户端消息领取请求和服务消息领取请求,以及向所述客户端和服务处理端分发所述客户消息模块的客户端消息和服务消息模块的服务消息。
2.如权利要求1所述的基于C/S架构的通讯系统,其特征在于,当所述客户接入端接入的客户端为两个以上时,所述消息处理模块接收各个客户端发送的客户端消息领取请求到所述接收消息队列中,根据各个客户端消息领取请求提取所述客户消息模块为各个客户端设置的客户端消息队列中的客户端消息,并将各个客户端消息分发至各个客户端。
3.如权利要求1或2所述的基于C/S架构的通讯系统,其特征在于,当所述服务接入端接入的服务处理端为两个以上时,所述消息处理模块接收各个服务处理端发送的服务消息领取请求到所述接收消息队列中,根据各个服务消息领取请求提取所述服务消息模块为各个服务处理端设置的服务消息队列中的服务消息,并将各个服务消息分发至各个服务处理端。
4.一种如权利要求1所述的基于C/S架构的通讯系统中服务器与客户端的通信方法, 其特征在于,包括所述客户端接入所述服务器,并向所述服务器发送客户端消息领取请求;所述消息处理模块接收所述客户端消息领取请求到所述接收消息队列中,并根据所述客户端消息领取请求提取所述客户消息模块为所述客户端设置的客户端消息队列中的客户端消息;所述消息处理模块将所述客户端消息发送给所述客户端。
5.如权利要求4所述的通信方法,其特征在于,当所述服务器接入的客户端为两个以上时,所述消息处理模块接收各个客户端发送的客户端消息领取请求到所述接收消息队列中,根据各个客户端消息领取请求提取所述客户消息模块为各个客户端设置的客户端消息队列中的客户端消息,并将各个客户端消息分发至各个客户端。
6.一种如权利要求1所述的基于C/S架构的通讯系统中服务器与服务处理端的通信方法,其特征在于,包括所述服务处理端接入所述服务器,并向所述服务器发送服务消息领取请求;所述消息处理模块接收所述服务消息领取请求到所述接收消息队列,并根据所述服务消息领取请求提取所述服务消息模块为所述服务处理端设置的服务消息队列中的服务消息;所述消息处理模块将所述服务消息发送给所述服务处理端。
7.如权利要求6所述的通信方法,其特征在于,当所述服务器接入的服务处理端为两个以上时,所述消息处理模块接收各个服务处理端发送的服务消息领取请求到所述接收消息队列中,根据各个服务消息领取请求提取所述服务消息模块为各个服务处理端设置的服务消息队列中的服务消息,并将各个服务消息分发至各个服务处理端。
全文摘要
本发明提供一种基于C/S架构的通讯系统及通信方法,通过客户端消息模块的各个客户端消息队列存储发送给相应各个客户端的客户端消息,通过各个服务消息模块存储发送给相应各个服务处理端的服务消息,使得多个客户端之间、多个服务处理端之间以及客户端与服务处理端之间的业务互不影响,有效地处理了网络拥堵问题,同时,本发明的基于C/S架构的通讯系统及方法在收到客户端、服务处理端发送的领取请求后才分发消息给他们,控制了C/S架构的服务资源的合理使用,保障网络消息快速、高效,有效地避免了丢包情况的发生。
文档编号H04L29/06GK102271139SQ20111025989
公开日2011年12月7日 申请日期2011年9月5日 优先权日2011年9月5日
发明者熊汗庆 申请人:盛趣信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1