Font Size: a A A

Research On Network Engine Which Deals With High Concurrent Service Request

Posted on:2011-03-30Degree:MasterType:Thesis
Country:ChinaCandidate:Y LiuFull Text:PDF
GTID:2178330332973899Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Along with the popularization of computer network and development of network technology, the design complexity of network application enhances unceasingly. Various software development tools usually provide some components and class library to support network application development, these components and class library encapsulates the rock-bottom API interface of operating system, simplified the programming of network applications, but to these sever side network applications which need to provide service for a lot of network connections and have higher demand for concurrent processing performance and efficiency, these tools will be difficult to meet our needs. Then we will usually construct the program directly upon operating system API and realize performance optimization and concurrent processing strategy on them, but it will bring a lot of problems to the program's expansibility and maintainability.To satisfy the demand of network applications which need to deal with high concurrent service request, this article designed and developed a set of network engine, using object oriented framework to reuse the common point of this kinds of network applications, effectively simplified network application development. The engine is designed and implemented in three layers respectively:base class library, concurrency disposal layer and application interface layer. Base class library provide object oriented encapsulation on the operating system synchronization mechanism and multi-thread mechanism, simplified user interfaces, and provide thread pool, memory pool and other components which is used to improve system performance. Application interface layer is built on the basis of base class library, through application interface layer we can listen socket and provide services or initiate external connection to request services easily. Concurrent process layer manage the connections which is established through application interface layer efficiently, uses the IOCP mechanism to management network I/O, adopt a design which use a single IOCP management thread to manage network connection and dispatch the event handle function of IOCP completion events to thread pool component to process, which avoid to adopt additional mechanisms to deal with data disorder problem which is caused by multiple worker threads blocking on the completion port to access to the completion events, adopted efficient multi-thread synchronization mechanism to synchronize multi thread, improved the stability and efficiency of the whole framework.
Keywords/Search Tags:network engine, high concurrency, thread pool, IOCP
PDF Full Text Request
Related items