一种消息处理方法及服务器的制造方法

文档序号:9330366阅读:349来源:国知局
一种消息处理方法及服务器的制造方法
【技术领域】
[0001]本发明涉及通信领域中的网络管理技术,尤其涉及一种消息处理方法及服务器。
【背景技术】
[0002]目前,现有的网络管理系统中,在处理多个客户端同时发起针对多个网元的多个操作请求时,服务器通常对每个客户端开启一个线程,或者开启一个线程池来进行处理,在处理过程中进行资源共享。如图1所示,服务器对每个客户端的请求进行独立的处理,当不同客户端的请求存在资源竞争时,由服务器访问共享资源进行管理,在访问共享资源时进行加锁控制,以避免冲突或死锁。
[0003]因此,现有技术多个客户端同时向服务器发送请求时,各个客户端的所有网元操作请求串行执行。当一个客户端同时操作多个网元时,会带来服务器处理效率低的问题。

【发明内容】

[0004]本发明实施例提供一种消息处理方法及服务器,用以提高服务器的消息处理效率。
[0005]本发明实施例提供了一种消息处理方法,包括:
[0006]服务器获取客户端发送的网元操作请求;
[0007]所述服务器根据所述获取到的网元操作请求所指示的被操作网元,将所述获取到的网元操作请求缓存到相应的队列;其中,一个队列用于缓存针对同一个网元的网元操作请求,一个队列中缓存的网元操作请求被串行执行,不同队列中缓存的网元操作请求被并行执行;
[0008]所述服务器将所述获取到的网元操作请求的执行结果返回给所述客户端。
[0009]较佳地,所述服务器根据所述获取到的网元操作请求所指示的被操作网元,将所述获取到的网元操作请求缓存到相应的队列,包括:
[0010]所述服务器根据所述获取到的网元操作请求所指示的被操作网元,确定用于缓存所述被操作网元的网元操作请求的队列;
[0011]所述服务器根据所述获取到的网元操作请求所指示的被对被操作网元的操作信息,判断所述确定出的队列中是否包含具有相同操作信息的其他网元操作请求;
[0012]若判断为否,则将所述获取到的网元操作请求缓存到所述确定出的队列;
[0013]所述服务器将所述获取到的网元操作请求的执行结果返回给所述客户端,包括:
[0014]若判断为是,则所述服务器将所述其他网元操作请求的执行结果作为所述获取到的网元操作请求的执行结果返回给所述客户端。
[0015]较佳地,所述将所述网元操作请求缓存到相应的队列,包括:
[0016]所述服务器确定所述网元操作请求的优先级;
[0017]所述服务器根据所述网元操作请求的优先级,将所述获取到的网元操作请求缓存到相应的队列。
[0018]较佳地,所述服务器确定所述获取到的网元操作请求的优先级,包括:
[0019]所述服务器根据以下内容之一或组合,确定所述获取到的网元操作请求的优先级:
[0020]所述获取到的网元操作请求发生的时间;
[0021]所述获取到的网元操作请求所来源的客户端;
[0022]所述获取到的网元操作请求所指示的对被操作网元进行操作的类型;
[0023]所述获取到的网元操作请求所指示的对被操作网元进行操作的目标参数。
[0024]较佳地,一个网元对应设置有一个队列;或者,一个网元对应设置有第一队列和第二队列,所述第一队列用于缓存除查询请求以外的网元操作请求,所述第二队列用于缓存查询请求;
[0025]若一个网元对应设置有第一队列和第二队列,则所述将所述获取到的网元操作请求缓存到相应的队列,包括:
[0026]所述服务器根据所述获取到的网元操作请求所指示的被操作网元以及针对被操作网元的操作类型,从用于缓存针对所述被操作网元的网元操作请求的第一队列和第二队列中选择一个队列;
[0027]所述服务器将所述获取到的网元操作请求缓存到所述选择出的队列。
[0028]较佳地,所述服务器获取客户端发送的网元操作请求,包括:
[0029]所述服务器获取客户端发送的N个网元操作请求,所述N个网元操作请求来源于一个或多个客户端,N为大于或等于I的整数;
[0030]所述服务器将所述获取到的网元操作请求的执行结果返回给所述客户端,包括:
[0031]所述服务器在获得所述N个网元操作请求的执行结果后,根据所述N个网元操作请求所来源的客户端,将来自于同一个客户端的网元操作请求的执行结果携带于一个响应消息返回给对应的客户端。
[0032]本发明实施例提供了一种服务器,包括:
[0033]请求获取模块,用于获取客户端发送的网元操作请求;
[0034]智能处理模块,根据所述获取到的网元操作请求所指示的被操作网元,将所述获取到的网元操作请求缓存到相应的队列;其中,一个队列用于缓存针对同一个网元的网元操作请求,一个队列中缓存的网元操作请求被串行执行,不同队列中缓存的网元操作请求被并行执行;
[0035]结果返回模块,用于将所述获取到的网元操作请求的执行结果返回给所述客户端。
[0036]较佳地,所述智能处理模块,具体用于:
[0037]根据所述获取到的网元操作请求所指示的被操作网元,确定用于缓存所述被操作网元的网元操作请求的队列;
[0038]根据所述获取到的网元操作请求所指示的被对被操作网元的操作信息,判断所述确定出的队列中是否包含具有相同操作信息的其他网元操作请求;
[0039]若判断为否,则将所述获取到的网元操作请求缓存到所述确定出的队列;
[0040]所述结果返回模块具体用于:若判断为是,则将所述其他网元操作请求的执行结果作为所述获取到的网元操作请求的执行结果返回给所述客户端。
[0041]较佳地,所述智能处理模块,具体用于:
[0042]确定所述网元操作请求的优先级;
[0043]根据所述网元操作请求的优先级,将所述获取到的网元操作请求缓存到相应的队列。
[0044]较佳地,所述智能处理模块,具体用于:
[0045]根据以下内容之一或组合,确定所述获取到的网元操作请求的优先级:
[0046]所述获取到的网元操作请求发生的时间;
[0047]所述获取到的网元操作请求所来源的客户端;
[0048]所述获取到的网元操作请求所指示的对被操作网元进行操作的类型;
[0049]所述获取到的网元操作请求所指示的对被操作网元进行操作的目标参数。
[0050]较佳地,一个网元对应设置有一个队列;或者,一个网元对应设置有第一队列和第二队列,所述第一队列用于缓存除查询请求以外的网元操作请求,所述第二队列用于缓存查询请求;
[0051]所述智能处理模块,具体用于:
[0052]若一个网元对应设置有第一队列和第二队列,则根据所述获取到的网元操作请求所指示的被操作网元以及针对被操作网元的操作类型,从用于缓存针对所述被操作网元的网元操作请求的第一队列和第二队列中选择一个队列;
[0053]将所述获取到的网元操作请求缓存到所述选择出的队列。
[0054]较佳地,所述请求获取模块,具体用于:
[0055]获取客户端发送的N个网元操作请求,所述N个网元操作请求来源于一个或多个客户端,N为大于或等于I的整数;
[0056]所述结果返回模块,具体用于:
[0057]在获得所述N个网元操作请求的执行结果后,根据所述N个网元操作请求所来源的客户端,将来自于同一个客户端的网元操作请求的执行结果携带于一个响应消息返回给对应的客
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1