Font Size: a A A

Design And Implementation Of High-performance Peer-to-peer On-demand Servers

Posted on:2010-09-16Degree:MasterType:Thesis
Country:ChinaCandidate:M S LeiFull Text:PDF
GTID:2208360275483707Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
In recent years, as the Internet growing rapidly, VOD applications is developing at a speed which is quite unprecedented. The traditional VOD server usually based on CDN and C/S,which could lead to some serious problems as there are more and more users. Firstly, each single user will get less bindwidth than before. Secondly, the overload could crash the servers. Facing with a large amount of concurrent access, we should design a high performace VOD server to improve network throughtput, enhance the concurrency and reach a better user experience.Based on P2P and half-sync/half-async architecture, we implemented the streaming media server, which uses EPOLL as the asynchronous event notification facility and handled the network events in a non-block way. The asynchronous disk I/O is simulated by thread-pool and a two-level queue is used to transfer data between threads. The server could publish, download and delete media file as needed. In order to improve the network throughput, we realized linkage-optimzation to select high-quality nodes as the direct nodes of the server. The flow management keeps fairness between different linkages and adjusts the bindwidth according to requirments. Although VOD and download have the same flow in totally, VOD is a real-time service. For the purpose of better user experience, the server allocates a high priority and discards the timeout data and requests for the VOD. In addition, the server needs all kinds of timing services, such as linkage timeout and rate limit timeout. So as to get a more precise timing service, we designed linkage timer and rate limit timer. In the last, we use the ordered journal to keep the consistency of the file system after crashing. And another kind of text based journal, which is used to trackback the suspicious requests, is used to record the operation history of the server.The system developed by using C++ programming language on the Linux 2.6 platform. On the view of actual effects and simulation test, the server can provide continuing and stable high-efficient services for plenty of clients. Thus its design and implementation way has some theoretical and practical popularization value.
Keywords/Search Tags:P2P, CDN, Video on demand, thread-pool, non-block
PDF Full Text Request
Related items