CN201491032U - 一种大规模、多线程通信服务器 - Google Patents
一种大规模、多线程通信服务器 Download PDFInfo
- Publication number
- CN201491032U CN201491032U CN2009200342997U CN200920034299U CN201491032U CN 201491032 U CN201491032 U CN 201491032U CN 2009200342997 U CN2009200342997 U CN 2009200342997U CN 200920034299 U CN200920034299 U CN 200920034299U CN 201491032 U CN201491032 U CN 201491032U
- Authority
- CN
- China
- Prior art keywords
- server
- communication server
- thread
- data
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本实用新型公开了一种大规模、多线程通信服务器,包括中央处理器,还包括按时间先后顺序对多个客户端所发送连接请求数据进行队列式存储并按先后顺序逐一输出的数据缓冲池,和由中央处理器启动时所预先创建的多个空闲线程组成并具有按照链表方式动态创建与注销线程功能的服务线程池;所述数据缓冲池和服务线程池均与中央处理器相接,中央处理器与客户端间通过数据接口电路进行连接。本实用新型设计合理、使用操作简便且使用效果好、响应速度快,能实现多线程并发通信,有效克服了传统通信服务器所存在的单台通信服务器并发服务容量小、高峰时刻信息延时严重、系统运行时间长等实际问题。
Description
技术领域
本实用新型涉及一种通信服务器,尤其是涉及一种大规模、多线程通信服务器。
背景技术
随着因特网的飞速发展,提供给人们的网络服务和内容日趋丰富多彩,如Email,FTP,WWW等,上述应用在传输层的实现均是相同的,其都是通过TCP/IP协议进行数据传输;而在应用层上,则根据不同的需要遵照RFC规范,将数据以不同的形式展现给用户。随着Internet用户数的不断增加,如何提高服务器的工作效率以满足不断倍增的访问量,已成为服务器程序设计的首要问题。
现在大多通信服务系统都存在单台通信服务器并发服务容量小,高峰时刻信息延时严重,系统运行时间长等问题,在系统容量和稳定性方面都待改进。同时各个厂家的通信协议不同,国家也没有相关的设计规范,大多数系统只支持一种GPS移动终端,当需要支持多种终端时,由于最初没有相关设计,兼容新的终端后,很容易造成系统的可维护性变差,甚至系统的性能也会大大降低,同时开发周期比较长且开发费用高。
目前,Internet中的各种服务已广泛地使用客户机(即客户端)/服务器模型,如目录服务、文件服务、地址解析等。首先,由客户即客户端发出请求,服务器响应请求。这个过程看似简单,但是客户与服务器之间进行通信,必须建立一个全相关。实际操作过程中,客户的本地地址和本地端口都可以知道,服务器的地址是全局唯一的,也可以知道。但服务器的端口是由服务器主机独立分配的,客户进程无法知道,实际上客户与服务器间的连接过程如下:TCP/IP协议规定,将服务器的端口分为保留端口和自由端口两种类型,其中保留端口只占少数,以全局方式分配。每一标准服务器都拥有一个全局公认的端口,如FTP(File Transfer Protocol)端口号为21,HTTP(Hyper Text Transfer Protocol)为80。不同机器的同一服务器的端口号相同,因此客户进程可以与WWW服务器的公认端口80建立连接,进行超文本传输。通信服务器在通信的过程中,需要频繁地查询和读写其中的数据信息。传统服务器必须先启动并建立本地半相关后,再调用接收请求函数,其次进入阻塞等待状态后,方能接收客户请求,建立连接。具体而言,传统的通信服务器由一个主线程担任监听线程,收到连接请求时,会在为此连接创建一个新线程后再继续进行监听,因而上述现有常规通信服务器在处理大规模连接请求时,由于其频繁地创建和销毁线程,因而对服务器本身的性能影响很大。
实用新型内容
本实用新型所要解决的技术问题在于针对上述现有技术中的不足,提供一种大规模、多线程通信服务器,其设计合理、使用操作简便且使用效果好、响应速度快,能实现多线程并发通信,有效克服了传统通信服务器所存在的单台通信服务器并发服务容量小、高峰时刻信息延时严重、系统运行时间长等实际问题。
为解决上述技术问题,本实用新型采用的技术方案是:一种大规模、多线程通信服务器,包括中央处理器,其特征在于:还包括按时间先后顺序对多个客户端所发送连接请求数据进行队列式存储并按先后顺序逐一输出的数据缓冲池,和由中央处理器启动时所预先创建的多个空闲线程组成并具有按照链表方式动态创建与注销线程功能的服务线程池;所述数据缓冲池和服务线程池均与中央处理器相接,中央处理器与客户端间通过数据接口电路进行连接。
所述数据接口电路为有线和/或无线数据接口。
本实用新型与现有技术相比具有以下优点:
1、设计合理且使用操作简便,主要包括中央处理器即CPU以及分别与CPU相接的数据缓冲池和服务线程池,其中数据缓冲池为可以存储任何数据的队列,接收用户的请求信息。服务线程池由在服务器启动时预先创建的多个空闲线程组成,这些线程同时等待数据缓冲池中的数据。当数据缓冲池中有数据就绪时,由系统选取一个空闲线程,获取数据,并根据这些数据完成相应的操作。采用服务线程池可以降低系统创建线程和销毁线程的开销,因而不仅能避免将大量的CPU时间消耗在线程切换和内存调页上,而且能够用数目很少的线程处理大量客户端的并发请求。
2、使用效果好,响应速度快,多处数据结构采用以空间换时间的设计思想,能有效适应大规模并发数据的数据通信需要。例如,在监控技术领域中,多个监控通信模块与监控中心的连接数不会太大,而各连接间的数据流量大且协议统一,所以每个连接适合采用独立线程阻塞Winsock通信方式实现,主线程启动Cblocking Socket的连接侦听和第一个监控通信线程,监控通信线程阻塞等候接收连接;当收到连接后马上启动第2个监控通信线程并在Accept函数中调用阻塞,等候下一个连接。依此类推,在任何时候总有一个监控通信线程在等候新的连接。因而,采用本实用新型所述的实现方法,可以支持多个监控中心并发操作,并具有良好的请求响应能力.除监控通信线程外,其他各线程均采用事件驱动的结构。综上所述,采用消息触发不仅可以使程序具有良好的性能,而且在没有消息到达时,线程可被挂起,不占用CPU资源,有助于提高整个系统的效率.监控线程因为通信流量较大,且其主要工作集中在Socket(即插座)的读写操作上,采用阻塞调用不会明显增加CPU的负担,但却可以大幅度降低程序实现时的复杂性,提高协议运行的可靠性。实际通信时,通信服务器的主要连接方式以TCP“长连接”为主,客户端连接上服务器后就一直保持此连接,阻塞方式通信能够适应其“链接时间长,通信密度低”的特点。采用阻塞方式通信,操作系统会剥夺阻塞线程的剩余时间并交给其它线程,实现多线程并发通信。
3、实用价值高,本实用新型为一种高性能开放式通信服务器,其通过对服务器结构进行可重用设计和对服务器性能方面进行优化设计后,极大地提高了单机服务的性能和稳定性,并能迅速兼容新的GPS设备,从而使系统的营运费用进一步降低,对系统的应用推广具有重要的实际意义和广阔的商业前景。核心部件网,据交换机的通信服务器系统的性能进行整体设计。
综上所述,本实用新型设计合理、使用操作简便且使用效果好、响应速度快,能实现多线程并发通信,有效克服传统通信服务器所存在的单台通信服务器并发服务容量小、高峰时刻信息延时严重、系统运行时间长等实际问题。
下面通过附图和实施例,对本实用新型的技术方案做进一步的详细描述。
附图说明
图1为本实用新型的结构框图。
附图标记说明:
1-中央处理器;2-数据缓冲池; 3-服务线程池;
4-客户端; 5-数据接口电路;6-多线程服务器。
具体实施方式
如图1所示,本实用新型包括中央处理器1,还包括按时间先后顺序对多个客户端4所发送连接请求数据进行队列式存储并按先后顺序逐一输出的数据缓冲池2,和由中央处理器1启动时所预先创建的多个空闲线程组成并具有按照链表方式动态创建与注销线程功能的服务线程池3。所述数据缓冲池2和服务线程池3均与中央处理器1相接,中央处理器1与客户端4间通过数据接口电路5进行连接。所述数据缓冲池2的数据存取采用先进先出的机制,由一个队列模板类来实现。所述服务线程池3由于要动态地创建和注销线程,因而由一个链表模板类实现。综上,由中央处理器1、数据缓冲池2、服务线程池3和数据接口电路5组成一个多线程服务器6。
所述数据接口电路5为有线和/或无线数据接口。
以上所述,仅是本实用新型的较佳实施例,并非对本实用新型作任何限制,凡是根据本实用新型技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本实用新型技术方案的保护范围内。
Claims (2)
1.一种大规模、多线程通信服务器,包括中央处理器(1),其特征在于:还包括按时间先后顺序对多个客户端(4)所发送连接请求数据进行队列式存储并按先后顺序逐一输出的数据缓冲池(2),和由中央处理器(1)启动时所预先创建的多个空闲线程组成并具有按照链表方式动态创建与注销线程功能的服务线程池(3);所述数据缓冲池(2)和服务线程池(3)均与中央处理器(1)相接,中央处理器(1)与客户端(4)间通过数据接口电路(5)进行连接。
2.按照权利要求1所述的一种大规模、多线程通信服务器,其特征在于:所述数据接口电路(5)为有线和/或无线数据接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009200342997U CN201491032U (zh) | 2009-08-21 | 2009-08-21 | 一种大规模、多线程通信服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009200342997U CN201491032U (zh) | 2009-08-21 | 2009-08-21 | 一种大规模、多线程通信服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201491032U true CN201491032U (zh) | 2010-05-26 |
Family
ID=42429897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009200342997U Expired - Fee Related CN201491032U (zh) | 2009-08-21 | 2009-08-21 | 一种大规模、多线程通信服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201491032U (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480407A (zh) * | 2010-11-24 | 2012-05-30 | 盛乐信息技术(上海)有限公司 | 通过“随机数”让用户公平进入队列的方法 |
CN105025063A (zh) * | 2014-04-29 | 2015-11-04 | 刘广威 | 面向大规模终端设备的在线数据传输方法 |
CN105615832A (zh) * | 2015-12-18 | 2016-06-01 | 深圳安泰创新科技股份有限公司 | 医疗影像数据采集方法及装置 |
CN108900607A (zh) * | 2018-06-28 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种smb协议请求的处理方法、装置及服务器 |
CN108920275A (zh) * | 2018-06-25 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种抓取黑盒日志的方法、装置、设备及计算机存储介质 |
CN109660569A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 一种多任务并发执行方法、存储介质、设备及系统 |
CN110245010A (zh) * | 2019-06-21 | 2019-09-17 | 广州小鹏汽车科技有限公司 | 一种数据处理方法和装置 |
CN111917852A (zh) * | 2020-07-23 | 2020-11-10 | 上海珀立信息科技有限公司 | 基于Unity的多人网络同步系统及开发方法 |
-
2009
- 2009-08-21 CN CN2009200342997U patent/CN201491032U/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480407A (zh) * | 2010-11-24 | 2012-05-30 | 盛乐信息技术(上海)有限公司 | 通过“随机数”让用户公平进入队列的方法 |
CN102480407B (zh) * | 2010-11-24 | 2016-04-06 | 杭州边锋网络技术有限公司 | 通过“随机数”让用户公平进入队列的方法 |
CN105025063A (zh) * | 2014-04-29 | 2015-11-04 | 刘广威 | 面向大规模终端设备的在线数据传输方法 |
CN105615832A (zh) * | 2015-12-18 | 2016-06-01 | 深圳安泰创新科技股份有限公司 | 医疗影像数据采集方法及装置 |
CN109660569A (zh) * | 2017-10-10 | 2019-04-19 | 武汉斗鱼网络科技有限公司 | 一种多任务并发执行方法、存储介质、设备及系统 |
CN108920275A (zh) * | 2018-06-25 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种抓取黑盒日志的方法、装置、设备及计算机存储介质 |
CN108900607A (zh) * | 2018-06-28 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种smb协议请求的处理方法、装置及服务器 |
CN110245010A (zh) * | 2019-06-21 | 2019-09-17 | 广州小鹏汽车科技有限公司 | 一种数据处理方法和装置 |
CN111917852A (zh) * | 2020-07-23 | 2020-11-10 | 上海珀立信息科技有限公司 | 基于Unity的多人网络同步系统及开发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201491032U (zh) | 一种大规模、多线程通信服务器 | |
CN100531055C (zh) | 数据同步系统及其方法 | |
CN102915254B (zh) | 任务管理方法及装置 | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
CN104333573B (zh) | 一种大并发量请求的处理方法及处理系统 | |
CN101667144A (zh) | 一种基于共享内存的虚拟机通信方法 | |
CN113422842B (zh) | 一种考虑网络负载的分布式电力用电信息数据采集系统 | |
CN101997854A (zh) | 一种提供数据服务的处理系统及方法 | |
CN105357286A (zh) | 一种基于Web的实时消息定向推送方法 | |
CN114371935A (zh) | 网关处理方法、网关、设备及介质 | |
CN115225138A (zh) | 一种卫星通信业务的业务数据处理方法、装置以及系统 | |
CN106131162B (zh) | 一种基于iocp机制实现网络服务代理的方法 | |
CN114095537A (zh) | 一种物联网应用中基于Netty的海量数据接入方法及系统 | |
CN103442034B (zh) | 一种基于云计算技术的流媒体服务方法和系统 | |
CN110365749A (zh) | 消息推送方法、消息推送系统和一种存储介质 | |
WO2010043138A1 (zh) | 一种智能网业务库存取海量数据的系统、装置及方法 | |
CN116743754A (zh) | 信息处理方法、装置、服务器集群、电子设备和介质 | |
CN102902593A (zh) | 基于缓存机制的协议分发处理系统 | |
Kliazovich et al. | Simulating communication processes in energy-efficient cloud computing systems | |
CN110380991A (zh) | 一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统 | |
CN203164951U (zh) | 一种大规模、多线程通信服务器 | |
CN112751786A (zh) | 基于可编程交换机的slb加速系统、方法、装置、设备及介质 | |
CN111835745A (zh) | 一种跨区域的就近访问邮件服务节点的多活方法 | |
Zheng et al. | Using many-core coprocessor to boost up Erlang VM | |
EP3972222B1 (en) | Method, apparatus, electronic device, readable storage medium and program for adjusting instance number |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100526 Termination date: 20100821 |