CDN系统内容路由的研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:fgvhfdvh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,从而解决Internet网络拥挤的状况,提高用户访问网站的响应速度。本文在北京市科委“基于IPv6的下一代互联网关键技术研发及产业化推动”项目课题“IPv6流媒体分发应用系统支持系统的开发”带动下,综合了其它内容发布模式的优点,提出了一种新的内容路由系统(Content Router),并对该系统进行了设计和实现,Content Router是在CDN系统中为用户提供内容定位和发布等功能的子系统。用户通过Content Router可以搜索定位资源,发布内容。Content Router对内容还要进行管理,删除过了期的内容。Content Router同时负责自己域的边缘服务器的管理和与DHT(分布式hash表服务)网络的交互。Content Router基于Linux平台,采用模块化的思想进行设计,针对系统高网络I/O的特点,采用Linux2.6内核的epoll机制进行网络事件交互,是一个单线程非阻塞的服务器。数据库的操作一般都是阻塞进行的,Mysql并不提供非阻塞的数据库操作接口。为了能够更好地进行数据库的操作,我们采用线程池的方式(类似于磁盘的异步I/O)实现对数据库的非阻塞操作。线程池是由许多个(个数可以配置)预先创建好的工作线程构成。这些工作线程都在一个请求队列上等待,当有新的请求加入队列时,工作线程就从请求队列中取出请求,然后根据请求的类型,执行相应的操作,操作完成后,将这个请求所对应的Task的地址写入到一个管道中,这个管道被epoll监听,epoll_wait会返回这个管道的描述符,主线程可以从这个管道中读出Task的地址,调用Task的状态机,执行相应的操作。由于多个线程共享请求队列,所以放请求到请求队列要加锁,为了能够非阻塞的加锁,CR采用尝试锁的方式(pthread_mutex_trylock),如果发现请求队列已被加锁,就把这个请求放到另一个备用队列中,访问备用队列无需加锁,因为备用队列只会被主线程访问。放请求时,当发现请求队列没有加锁,就先加锁,然后把新请求和备用队列中的所有请求都放到请求队列中。经过测试,该系统能够很好地完成搜索定位资源,发布内容,删除过了期的内容等功能,给中小型机构提供了一种比较实用的内容路由系统。
其他文献
自动程序设计一直是计算机科学的一个奋斗目标,而算法[1]是程序的灵魂,是解决问题的关键,是程序设计的基础和难点,要实现程序设计的自动化首先应该实现算法设计的自动化。但
数据库知识发现是(Knowledge Discovery in Databases,简称KDD)是当前涉及人工智能和数据库等学科的一门相当活跃的研究领域,分类是其中的一个重要研究方向。决策树是分类中
随着国际互联网的快速发展,Internet上信息资源类型和数量都愈来愈丰富,所使用的语言亦愈来愈具有多样性和不平衡性;同时随着网络用户数量与范围的急剧膨胀,其所掌握的语言也
数据挖掘的主要目标就是在海量数据中发现隐含在数据内部的不易被察觉的对决策者有用的信息。面临海量的数据资料,我们的首要的使命是将这些数据进行合理的归类。聚类的定义
随着国民经济的篷勃发展,公路担负着国民经济大动脉的重任,而高速公路以“高速”的突出优势成为公路运输的主要交通设施。作为高速公路使用者和管理者,对高速公路的基本要求
类圆形堆积物图像的分割已经成为目前图像分割的热点之一,具有极大的研究价值。本文从多方法融合的角度出发对堆积物图像的分割进行了研究。首先,提出了同心双滑动窗口的改进
随着企业组织信息化程度的提高和互联网技术的广泛应用,大量数据分散在异构的数据源中,因而无论是传统的信息孤岛问题,还是新兴的Deep Web搜索都要求提供一个统一的查询接口
分形图像压缩方法是一种很有前途的图像编码方法,以其新颖的思想、高压缩比、分辨率无关性和快速解码等优点而广受关注。本文研究了分形的基本理论以及分形图像压缩的基本方
变电站运行人员的个人技能是影响电力系统安全可靠运行的重要因素之一,而良好的培训则能够显著的提高操作人员的技术能力。仿真培训是目前国内外电力系统的主流培训手段。经过对各类型变电站仿真培训系统的调查研究,我们分析、总结了这些仿真系统的优缺点,并在此基础上进行创新设计。同时,我们结合了软件工程思想,按照需求分析、可行性分析、体系结构设计、模块设计、详细设计、测试与维护等步骤,开发出了这套通用变电站仿真培
为了从Windows操作系统用户群中吸引潜在用户,UnifiedKernel系统旨在于Linux操作系统上运行Windows应用。在用既有软件测试UnifiedKernel系统与Windows操作系统的兼容性时,开