The embodiment of the invention relates to the field of message processing technology, and discloses a buffer method for responding messages and a server. In the present invention, the response message buffering method includes: when there is a response message that needs to be buffered, it is judged whether the remaining space of the default memory buffer can store the response message; if the remaining space of the memory buffer cannot store the response message, the response message is stored to the default disk buffer. The invention also provides a server. The response message buffering method and server provided by the present invention not only enhance the system response time and system stability, but also save the memory cost.
【技术实现步骤摘要】
响应消息的缓冲方法及服务器
本专利技术实施例涉及消息处理
,特别涉及响应消息的缓冲方法及服务器。
技术介绍
为了提高socket响应消息发送吞吐量,需要由服务器中的处理消息请求线程把响应消息写入缓冲区,并由消息处理线程来将缓冲区中的消息发送出去,因此,既要保证消息写入到缓冲区的响应速度,又要保证缓冲区发送消息的响应速度。目前中小企业服务器,一般的缓冲区都只是在内存中。服务器的带宽普遍在1~100M之间,网络传输速度0.12~12.5MB/s之间。而内存读写速度在1G/s以上,如果出现大量内存随机访问,导致频繁出现缺页或者页面调入调出的情况,内存随机读写速度会大大降低;若响应消息的流量较大,很容易造成服务器网络发送消息的响应速度跟不上消息增加速度,造成请求堆积、服务器无响应。专利技术人发现现有技术中至少存在如下问题:目前的中小企业服务器,当出现内存缓冲区满了(网络发送速度跟不上消息增加速度)的情况时,只能停掉服务器或动态增加内存缓冲区大小,这样既影响系统的响应时间又导致系统的不稳定性,而且内存是相对昂贵资源,特别是达到一定大小后再扩容,费用相当高。
技术实现思路
本专利技术实施方式的目的在于提供一种响应消息的缓冲方法及服务器,不仅提升了系统响应时间和系统稳定性,而且节约了内存成本。为解决上述技术问题,本专利技术的实施方式提供了一种响应消息的缓冲方法,包括:当存在需要缓冲的响应消息时,判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息;若所述内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区。本专利技术的实施方式还提供了一 ...
【技术保护点】
1.一种响应消息的缓冲方法,其特征在于,包括:当存在需要缓冲的响应消息时,判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息;若所述内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区。
【技术特征摘要】
1.一种响应消息的缓冲方法,其特征在于,包括:当存在需要缓冲的响应消息时,判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息;若所述内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区。2.根据权利要求1所述的响应消息的缓冲方法,其特征在于,所述将所述响应消息存放至预设的磁盘缓冲区,具体包括:获取所述磁盘缓冲区中的当前缓冲文件;根据预设的单文件大小阈值与所述当前缓冲文件的文件大小,计算出所述当前缓冲文件的剩余可用大小;判断所述当前缓冲文件的剩余可用大小是否能够存放所述响应消息;若所述当前缓冲文件的剩余可用大小能够存放所述响应消息,将所述响应消息存放至所述当前缓冲文件;若所述当前缓冲文件的剩余可用大小不能够存放所述响应消息,新建另一缓冲文件,并将所述另一缓冲文件设定为所述当前缓冲文件,并将所述响应消息存放至重新设定的所述当前缓冲文件。3.根据权利要求1所述的响应消息的缓冲方法,其特征在于,所述判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息,具体包括:获取所述内存缓冲区中的当前缓冲块;判断所述当前缓冲块的剩余空间是否能够存放所述响应消息;若所述当前缓冲块的剩余空间不能够存放所述响应消息,判断所述内存缓冲区中是否存在另一缓冲块,其中所述另一缓冲块的剩余空间能够存放所述响应消息;若不存在所述另一缓冲块,则判定所述内存缓冲区的剩余空间不能够存放所述响应消息。4.根据权利要求3所述的响应消息的缓冲方法,其特征在于,若所述当前缓冲块的剩余空间能够存放所述响应消息或存在所述另一缓冲块,则判定所述内存缓冲区的剩余空间能够存放所述响应消息;所述判定所述内存缓冲区的剩余空间能够存放所述响应消息之后,还包括:将所述响应消息存放至所述内存缓冲区。5.根据权利要求1所述的响应消息的缓冲方法,其特征在于,所述将所述响应消息存放至所述磁盘缓冲区之后,还包括:获取所述响应消息的指针,并将所述响应消息的...
【专利技术属性】
技术研发人员:周龙飞,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。