一种信息发送方法及装置的制造方法_4

文档序号:8447288阅读:来源:国知局
述内容以及示例可知,在本发明实施例中,从所述连接池中获取与该数字证书ID对应的连接,具体为:判断所述连接池中是否含有与所述通知消息的数字证书ID对应的服务器连接,若是,则在连接池中,将与所述通知消息的数字证书ID对应的服务器连接排列至最前,并获取该服务器连接作为与该通知消息的数字证书ID对应的服务器连接;否则,则根据所述数字证书ID,建立与该数字证书ID对应的服务器连接,存储在连接池中,并将该服务器连接排列至最前,获取该服务器连接作为与该通知消息的数字证书ID对应的服务器连接。
[0095]这里需要说明的是,在上述建立服务器连接时,还需考虑当前时刻连接池是否已经饱和,若连接池饱和,则不能存储新建立的服务器连接。因此,在建立服务器连接时,需要判断所述连接池中的服务器连接数量是否饱和,若是,则将所述连接池中指定时段内使用次数最少的服务器连接释放,建立与所述数字证书ID对应的服务器连接,并存储;否则,则直接建立与所述数字证书ID对应的服务器连接并存储。
[0096]继续沿用图7为例,假设在图7所示的场景下,连接池最大可容纳4条服务器连接(图7中,连接池已经饱和),此时,信息转发设备接收到携带有ID5的通知消息,显然,当前连接池中没有服务器连接与ID5对应,因此,将建立对应于ID5的服务器连接,即:连接五。
[0097]由于连接池已经饱和,那么,将删除连接池中使用次数最少的服务器连接。在图7中可见,连接二排列在最后,表明在这一段时间内,连接二未被读取,因此,将该连接二从连接池中释放。并将新建立的连接五存储在该连接池中,也即,如图8所示。
[0098]如图9所示,结合上述方法及应用实例,在本发明中,图3中的信息发送方法S301?S304的实际应用如下:
[0099]S901,信息转发设备预先确定接收到的通知消息中包含的数字证书ID。
[0100]S902,信息转发设备预先判断连接池中的服务器连接数量是否饱和,若是,执行步骤S903 ;否则,执行步骤S904。
[0101]S903,将连接池中指定时段内使用次数最少的服务器连接释放,建立与数字证书ID对应的服务器连接,并存储。
[0102]S904,建立与数字证书ID对应的服务器连接并存储。
[0103]S905,信息转发设备确定通知消息的数字证书ID,并判断连接池中是否含有与该数字证书ID对应的服务器连接,若是,执行步骤S906 ;否则,执行步骤S907。
[0104]S906,在连接池中,将与该数字证书ID对应的服务器连接排列至最前,并获取该服务器连接作为与该数字证书ID对应的服务器连接。
[0105]S907,根据该数字证书ID,建立与该数字证书ID对应的服务器连接,存储在连接池中,并将该服务器连接排列至最前,获取该服务器连接作为与该数字证书ID对应的服务器连接。
[0106]S908,信息转发设备将已接收到的所有具有该数字证书ID的通知消息,均添加至所述服务器连接对应的发送窗口中,并将所述通知消息通过所述发送窗口,顺序转发至所述服务器中。
[0107]S909,监测服务器的反馈。
[0108]S910,当监测到所述服务器反馈错误通知时,根据该错误通知中携带的信息索引,在所述服务器连接的发送窗口内存储的通知消息中,查找与所述信息索引对应的通知消息,作为错误消息。
[0109]S911,信息转发设备在所述发送窗口存储的通知消息中,将位于该错误消息所在的发送位置之后的各通知消息进行重发,并将所述错误消息以及位于该错误消息之前的各通知消息删除。
[0110]上述方法及应用实例,主要是针对通知消息进行重发的过程。而在实际应用中,信息转发设备使用某一条服务器连接的发送窗口转发通知消息时,可能转发至服务器的通知消息均能处理成功,那么,服务器就不会针对该服务器连接反馈任何错误通知。在这种场景下,存储在发送窗口中的已经转发的各通知消息就会超时,为了不影响信息转发设备的缓存区中等待转发的各通知消息进行转发,故在本发明实施例中,当转发进程通过发送窗口对通知消息进行转发时,均会在转发时刻针对转发的通知消息记录一个时间戳,这样一来,相应的监控进程便可以对发送窗口中的每一个已经转发的通知消息进行时间上的监控。信息转发设备将根据转发通知消息的时间戳和接收到错误消息所用的时间间隔,确定出针对该证书ID的通知消息的时间阈值。从而,若当前发送窗口中的已经转发出通知消息的时间超过时间阈值,仍未接收到服务器反馈的错误通知时,便可以认为,已经转发出去的各通知消息均处理成功,从而,信息转发设备会将该发送窗口中的通知消息都删除。
[0111]在本发明中,之所以采用发送窗口的形式转发通知消息,是因为针对某一数字证书ID的通知消息可能转发过快,那么就会消耗大量的处理资源(如:CPU中的处理资源),使得其他转发进程对其他数字证书ID的通知消息进行处理的效率降低,从而采用发送窗口的方式(尤其在发送窗口中的通知消息数量达到一定阈值时),可以有效控制转发进程对处理资源的利用率,保证信息转发设备中的各转发进程可以均衡地利用处理资源,对不同的数字证书ID的通知消息进行转发。此外,通过发送窗口转发通知消息的方式,也可以限制信息转发设备中内存的骤增。
[0112]以上为本发明实施例提供的信息发送方法,基于同样的思路,本发明实施例还提供一种信息发送装置。
[0113]如图10所示,本发明实施例提供的一种信息发送装置包括:转发模块1001、监测模块1002、查找模块1003以及重发模块1004,其中,
[0114]所述转发模块1001,用于通过预先建立的服务器连接,将客户端发送的通知消息转发至服务器。
[0115]所述监测模块1002,用于监测所述服务器的反馈。
[0116]所述查找模块1003,用于当监测到所述服务器反馈错误通知时,根据该错误通知中携带的信息索引,在所述服务器连接的发送窗口内存储的通知消息中,查找与所述信息索引对应的通知消息,作为错误消息。
[0117]所述重发模块1004,用于根据该错误消息,将相应的通知消息通过所述发送窗口重发至所述服务器。
[0118]在本发明实施例中,所述重发模块1004,具体用于:在所述发送窗口存储的通知消息中,将位于该错误消息所在的发送位置之后的各通知消息进行重发。
[0119]并且,该重发模块1004,还用于:在所述发送窗口存储的通知消息中,将所述错误消息以及位于该错误消息之前的各通知消息删除。
[0120]在本发明实施例中,所述转发模块1001,具体用于:预先确定接收到的通知消息中包含的数字证书ID,根据所述通知消息的所述数字证书ID,建立与该数字证书ID对应的服务器连接,并存储在连接池中。
[0121]具体地,所述转发模块1001,用于:确定所述通知消息的数字证书ID,从所述连接池中获取与所述数字证书ID对应的服务器连接,将所述客户端发送的具有相同数字证书ID的所述通知消息,添加至所述服务器连接对应的发送窗口中,将所述通知消息通过所述发送窗口,顺序转发至所述服务器中。
[0122]更为具体地,所述转发模块1001,用于:判断所述连接池中是否含有与所述通知消息的数字证书ID对应的服务器连接,若是,则在连接池中,将与所述通知消息的数字证书ID对应的服务器连接排列至最前,并获取该服务器连接作为与该通知消息的数字证书ID对应的服务器连接;否则,则根据所述数字证书ID,建立与该数字证书ID对应的服务器连接,存储在连接池中,并将该服务器连接排列至最前,获取该服务器连接作为与该通知消息的数字证书ID对应的服务器连接。
[0123]并且,该转发模块1001,用于:判断所述连接池中的服务器连接数量是否饱和,若是,则将所述连接池中指定时段内使用次数最少的服务器连接释放,建立与所述数字证书ID对应的服务器连接,并存储;否则,则直接建立与所述数字证书ID对应的服务器连接并存储。
[0124]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0125]内存可能包括计算机可读介质中的非永久
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1