服务器端接收客户端并发连接和数据处理方法与流程

文档序号:12376434阅读:1127来源:国知局

本发明涉及电力通信技术领域,具体涉及一种服务器端接收客户端并发连接和数据处理方法。



背景技术:

在电力监控领域,随着互联网的发展和用户的增加,监控主站服务器端面对的客户端数量越来越多。在现有的大多数服务器端接收客户端的请求时,直接处理用户的数据,返回给客户端相应的应答后才开始响应下一个用户请求,因此数据处理时间成为制约服务器端响应的瓶颈;另外,少数服务器端程序中,生成多个进程或线程并行处理多个用户请求,进程或线程可以按需或事先生成,多个同时运行的进程或线程将会消耗大量的系统资源,如果客户端请求数量过多,势必会导致响应客户端请求的速度变慢。

针对上述问题,我们迫切需要一种技术把数据的接收和处理分隔开,使服务器在一定时间内能够响应尽量多的客户端请求。



技术实现要素:

为了解决上述技术问题中的不足,本发明的目的在于:提供一种服务器端接收客户端并发连接和数据处理方法,能够对客户端的数据进行高效的处理、应答。

本发明为解决其技术问题所采用的技术方案为:

所述服务器端接收客户端并发连接和数据处理方法,包括以下步骤:

a、服务器端开辟一块首尾相连的缓冲区;

b、缓冲区设置读指针和写指针,并同时指向缓冲区队列的头部;

c、服务器端接收客户端请求,接收到之后把数据放入写指针指向的缓冲区地址,同时写指针自增一个数据单位,读指针指向下一个数据单元,然后接收下一个连接请求,而不对接收到的数据做任何处理;

d、服务器端为缓冲区的数据处理专门开辟一个任务,此任务读取写指针指向的缓冲区位置的数据,然后对数据做相应的处理,对客户端进行应答,然后读指针自增一个数据单位,直到与写指针重合。

进一步优选,步骤a中的缓冲区为环形队列缓冲区,环形队列缓冲区的大小固定。

与现有技术相比,本发明具有以下有益效果:

本发明可以在短时间内响应更多的客户端请求,而把客户端的数据处理交由另一个任务单独执行,提高了服务器端程序响应效率。

附图说明

图1本发明的流程框图。

具体实施方式

下面结合附图对本发明实施例做进一步描述:

实施例1

如图1所示所述服务器端接收客户端并发连接和数据处理方法,包括以下步骤:

a、服务器端开辟一块首尾相连的缓冲区;

b、缓冲区设置读指针和写指针,并同时指向缓冲区队列的头部;

c、服务器端接收客户端请求,接收到之后把数据放入写指针指向的缓冲区地址,同时写指针自增一个数据单位,读指针指向下一个数据单元,然后接收下一个连接请求,而不对接收到的数据做任何处理;

d、服务器端为缓冲区的数据处理专门开辟一个任务,此任务读取写指针指向的缓冲区位置的数据,然后对数据做相应的处理,对客户端进行应答,然后读指针自增一个数据单位,直到与写指针重合。

其中,步骤a中的缓冲区为环形队列缓冲区,环形队列缓冲区的大小固定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1