一种电信运营商参与对等计算技术的监管服务器的实现方法

文档序号:7891908阅读:172来源:国知局
专利名称:一种电信运营商参与对等计算技术的监管服务器的实现方法
技术领域
本发明是一种基于P4P(Proactive network Provider Participation for P2P, 电信运营商主动参与P2P网络)技术的网络监管服务器的实现方法,本发明提出了一种基于P4P技术的网络监管服务器的原型系统,从接口设计需求和理论分析两方面探讨了网络监管服务器的接口实现,重点考虑其简单性、语义丰富性、可扩展性、稳定性和健壮性等要求和最大化网络链路利用率。属于对等网络应用领域。
背景技术
作为改变现有Internet应用模式的主要技术之一,P2P (peer to peer,点对点) 实际上已经成为内容传送的一种基础技术。但P2P消耗了 ISP的大部分网络带宽资源,在很大程度上直接导致了运营商“增量不增收”的问题,影响到ISP的其他应用。P2P对网络的冲击主要来源于以下两个方面(1)P2P应用不了解网络,导致流量在ISP内部不必要地穿越很多链路,或者导致不必要的跨ISP的流量。(2) ISP以前的网络流量控制机制,如流量工程等,对P2P应用不再有效,因为P2P可以从多个源获取数据并随时切换,是高度分散、动态和不理会网络层状态的,导致ISP花费了很多计算代价得出的优化路径失去意义。由于以上原因,P2P—直被运营商视为不受欢迎的应用,屡屡有运营商限制P2P的事件发生。虽然运营商也为此做出了很多工作,但是收效甚微。运营商采取的一种方法是安装P2P cache设备来减少P2P流量,但是这些设备需要能区分不同的P2P协议并对特定的应用作出不同的设计,这样这种方法的通用性就被降低了 ;另一种方法是使用流量整形设备限制P2P流量,这些设备依赖与DPI (Deep Packet Inspection,深度包检测技术) 或者其他的P2P流量识别技术,但是不同的P2P应用使用不同的控制信息,并且许多P2P协议使用加密技术或者动态端口号来躲避检测,因此此方法的有效性也有限。这些方法由于缺少P2P应用与之配合工作,其结果要么是降低了 P2P应用的性能,要么是耗资巨大。在此背景下,一种可以让P2P和网络运营商通过直接通信更好地合作的新技术一-P4P应运而生。其目的是为了加强ISP和P2P应用程序的通信,降低骨干网络传输压力和运营成本,并提高P2P应用程序的性能。根据Verizon的反馈,使用P4P技术,P2P用户平均下载速度提高60%,光纤到户用户提高205%飞65%。此外,运营商内部数据传送距离减少了 84%,用户有58%的数据是来自同城,较传统P2P的6. 3%比例有了近10倍提升。P2P 过于强调对等,每个节点之间的交换完全是无序的。一个南京的用户,既可能和北京的用户进行文件片段的交换,也可能和远在美国的某用户进行交换。显然,无序的交换导致了无谓的跨地区甚至是跨国的流量旅行,这耗费了宝贵的国内和国际带宽资源,代价巨大。如果正好用户都在同一个地区,那么,本地化的交换的成本就会大大降低。这也正是P4P的简单原理一让P2P也玩同城。与P2P随机挑选Peer不同,P4P协议可以协调网络拓扑数据,能够有效选择节点,从而提高网络路由效率。仍以上述例子来说,南京的用户就可以优先和南京同城的用户来实现文件片段的交换,再扩展至较远的地区,有十分的必要时,才会出国进行文件片段交换。当然,P4P的运行机制,要远远超过同城交换的概念,它还会根据用户的上行、下载带宽进行综合判断,以进行最有效选择,最大化整体交换的效率。P4P是一个灵活的、轻量级的应用框架,他允许网络供应商显式地为各种应用如 P2P应用提供网络信息,它的主要思想是在P2P应用与网络运营商之间开启显式的通信接口,P2P客户可以调用该接口得到网络信息,从而能够更有效地利用网络资源,提升P2P应用性能。P4P的架构包括控制平面、数据平面、管理平面。其中数据平面是可选的,主要用于鉴别应用流量并对其进行排序,而管理平面的目标是检测控制平面的行为,目前的研究主要集中于控制平面。P4P的控制平面中引入了网络监管服务器iTracker作为提供网络信息的窗口, iTracker使网络运营商和P2P应用共同进行流量控制成为可能,iTracker也增加了 P4P的可部署性和可扩展性,它是网络运营商与应用进行交互的门户。iTracker可以提供三种形式的网络信息网络状态/拓扑、网络运营商的策略/指导意见和网络能力。P4P框架中不指定具体的信息格式,而只提供公共的信息框架。网络监管服务器与应用之间传递什么样的消息直接决定了 P4P的效率,P4P的接口设计必须要简单直观,能够保证有足够的网络信息供应用选择,网络信息必须与应用无关,且对网络的请求应该避免揭示用户的信息。网络监管服务器的重要性不言而喻,它是整个P4P框架中通信的桥梁,因此研究和设计稳定和健壮的网络监管服务器能够加快推进P4P技术的普及,调和P2P与运营商之间的利益矛盾问题,得到产业的认可。

发明内容
技术问题本发明的目的是提供一种电信运营商参与对等计算技术的监管服务器的实现方法,加强因特网服务提供商与P2P客户端程序的通信,降低骨干网络传输压力和运营成本,并提高P2P应用程序的性能,以达到网络传输效率和节约运营
成本的双赢目的。具有广阔的市场应用前景。技术方案本发明使用P4P技术的资源节点选择算法来最优化peer节点的选择; 使用印oil模型来提高P4P网络监管服务器能够处理的并发量;使用memcached缓存服务器来降低服务器处理数据的时延;使用mysql数据库与memcached相互通信来保证服务器数据的冗余性。该方法能使电信运营商和对等网络中的下载客户端之间开启一个显式的窗口,电信运营商采用基于电信运营商主动参与对等计算技术的资源节点选择算法来选择最优的资源节点信息,提升对等网络中的下载客户端的性能;采用高并发模型来处理海量对等网络客户端的访问,提升系统的吞吐量;采用高性能分布式缓存系统来同步热点信息资源至内存中,降低数据访问的时延;采用数据库与缓存系统结合,实现系统数据的冗余性;该方法主要包括以下步骤
步骤I).对基于电信运营商主动参与对等计算技术的网络监管服务器所要完成的功能进行详细全面的分析,能够使不同的对等网络客户端的数据访问请求能够被识别,电信运营商通过网络监管服务器来向用户提供最优的资源信息列表,同时还需解决海量用户同时访问的吞吐量和数据处理时延的问题,生成功能需求文档;步骤2).按照步骤I)的分析文档设计功能模块,生成高并发接口模块、缓存模块和网络监管服务器控制模块,以及各个模块之间的逻辑关系、功能说明文档和整个流程步骤3).按照步骤2)的功能说明文档,提出基于P4P技术的资源节点选择算法,通过对P4P技术的分析,重点设计并实现其Capability接口,通过选择最优peer节点信息,使骨干网络流量减低,提高P2P软件的上传/下载速度。步骤4).按照步骤2)的功能说明文档,设计并实现高并发接口模块,高并发接口层用来提高网络监管服务器的并发性能,网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪的状况,这对于电信运营商主动参与对等计算技术的网络监管服务器也不例外;在运营商部署的网络场景下,系统会同时接受到大量的请求,顺序处理会导致客户响应时间过长,选择在Linux内核中的高并发模型来处理并发的连接请求;
步骤5).按照步骤2)的功能说明文档,设计并实现缓存模块,缓存模块用来降低网络监管服务器的数据处理时延;通过使用缓存数据信息,减少网络监管服务器控制模块的访问次数,以提高网络监管服务器的响应速度、提高系统可扩展性,通过电信运营商主动参与对等计算技术提供的接口获取网络状况,结合网络信息和节点自身的特点,选择最合适的内网资源列表,存放到内存中以供对等网络客户端查询;使得系统负载大幅度降低,更好的分配资源,实现更快速访问;
步骤6).按照步骤2)的功能说明文档,设计并实现网络监管服务器控制模块,网络监管服务器控制层根据运营商的网络拓扑,链路带宽和网络状态信息,来挑选最优的对等网络结点,使对等网络通信流量尽量控制在内网内,降低运营商骨干网络的压力,提高网络性倉泛。有益效果本发明有如下优点
一、简单性
本发明采用P4P技术来加强电信运营商和P2P软件之间的通信,P4P技术的架构非常简单,接口定义规范,开发者可以根据实际运营的需要,选择合适和统一的接口来进行开发, 是网络传输效率达到最高。二、稳定性
本发明使用最优的epoll模型来解决海量用户的访问,同时使用高性能的分布式数据缓存系统memcached服务器来缓存系统的热点资源信息,两者相互通信,保证系统的稳定性。三、良好的系统扩展性
由于系统模块之间采用的是独立模块化,功能并行层次化设计,系统模块之间的通信机制完全采用层次化的结构,因此可以方便的添加新的功能,也可以很容易的升级现有的功能。


图I是基于P4P技术的网络监管服务器的整体构架,
图2是epoll接口模块的流程图,
图3是memcached缓存模块的流程图,
图4是P4P控制平面构架图通信流程。
具体实施例方式本发明提出的基于P4P技术的网络监管服务器系统及实现方法,包括以下步骤 步骤I).对P4P网络监管服务器所要完成的功能进行详细全面的分析,并生成需求
分析文档;
步骤2).按照步骤I的分析文档设计功能模块,生成各个模块之间的逻辑关系和功能说明文档以及整个流程步骤3).按照步骤2的功能说明文档,提出基于P4P技术的资源节点选择算法,通过对P4P技术的分析,重点设计并实现其Capability接口,通过选择最优的peer节点信息, 使骨干网络流量减低,提高P2P软件的上传/下载速度。步骤4).按照步骤2的功能说明文档,设计并实现印oil接口模块。当海量P2P 客户端访问网络监管监管服务器iTracker时,通过epoll模型的事件驱动机制来缓解吞吐量的压力。步骤5).按照步骤2的功能说明文档,设计并实现memcached缓存模块。将mysql 数据模块所存储的数据同步至内存中,降低服务器数据处理的时延。步骤6).按照步骤2的功能说明文档,设计并实现iTracker控制模块。使用 mysql磁盘数据库来存储通过P4P资源节点选择算法得到的peer信息,实现与memcached 缓存模块的数据同步,使对等网络通信流量尽量控制在内网内,降低运营商骨干网络的压力,提高网络性能。一、体系结构
本发明的系统模块之间采用的是一种松藕合的层次化设计,系统模块之间的通信机制完全采用层次化的结构,因此可以方便的添加新的功能,也可以很容易
升级现有的功能,本系统的框架图如图I所示。共分为三个模块,分别为epoll接口模块、memcached缓存模块和iTracker控制模块。印oil接口模块用来提高iTracker服务器的并发性能,网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪的状况,这对于P4P的iTracker服务器也不例外。在ISP部署的网络场景下,系统会同时接受到大量的请求,顺序处理会导致客户响应时间过长,我们选择在Iinux内核中的epoll模型来处理并发的连接请求。memcached缓存模块用来降低iTracker服务器的数据处理时延。memcached是一款分布式内存缓存系统,现在已成为Facebook等众多服务中提高系统应用扩展性的重要技术。通过使用memcached缓存数据信息,减少iTracker控制层的访问次数,以提高 iTracker服务器的响应速度、提高系统可扩展性,通过P4P提供的接口获取网络状况,结合网络信息和节点自身的特点,选择最合适的内网资源列表,存放到内存中以供P2P客户端查询。使得系统负载大幅度降低,更好的分配资源,实现更快速访问。iTracker控制模块根据运营商的网络拓扑,链路带宽和网络状态等信息,来挑选最优的P2P结点,使P2P通信流量尽量控制在内网内,降低运营商骨干网络的压力,提高网络性能。设计和实现基于P4P技术网络监管服务器iTracker系统模型的目标主要是从解决电信运营商在部署P4P网络时所面临的三个问题入手,一是针对大规模实时性P2P客户端请求的处理的需要,提高海量数据处理的效率;二是采用分布式内存缓存技术加后端数据库的模式来实现对数据处理的低时延,缓存与磁盘数据库的结合;三是通过P4P资源节点选择算法来获取最优的peer信息。二、方法流程
该部分详细说明发明内容的各个部分的设计和实现
(I) epoll接口模块的设计和实现
epoll接口模块的流程图如图2所示。首先通过epoll_create (int maxfds)来创建一个epoll的句柄,其中maxfds为epoll所支持的最大句柄数。这个函数会返回一个新的 epoll句柄,之后的所有操作将通过这个句柄来进行操作。在用完之后,记得用closeO来关闭这个创建出来的epoll句柄。在网络主循环里面,每一巾贞的调用epoll_wait (int epfd, epoll_event events, int max events, int timeout)来查询所有的网络接口,看哪一个可以读,哪一个可以写。 基本的语法为nfds = epoll_wait (kdpfd, events, maxevents, -I);其中 kdpfd 为用 epoll_create创建之后的句柄,events是一个epoll_event*的指针,当epoll_wait这个函数操作成功之后,epoll_events里面将储存所有的读写事件。max_events是当前需要监听的所有socket句柄数。最后一个timeout是epoll_wait的超时,为O的时候表示马上返回,为-I的时候表示一直等下去,直到有事件发生,为任意正整数的时候表示等这么长的时间,如果一直没有事件,则放弃。一般如果网络主循环是单线程,可以用-I来等,这样可以保证效率,如果是和主逻辑在同一个线程,则可以用O来保证主循环的效率。epoll_wait返回之后应该是一个循环,遍历所有的事件如果是主socket的事件的话,则表示有新连接进入了,进行新连接的处理,并将新连接置于非阻塞模式。随后将新连接也加入EPOLL的监听队列。设置好event之后,将这个新的event通过epoll_ctl加入到印oil的监听队列里面,这里用EP0LL_CTL_ADD来加一个新的印oil事件,通过P0LL_ CTL_DEL来减少一个印olI事件,通过EP0LL_CTL_M0D来改变一个事件的监听方式。如果不是主socket的事件的话,则代表是一个用户socket的事件,则来处理这个用户socket的事情,比如说read(fd, xxx)之类的,或者一些其他的处理。在P4P网络监管服务器的请求处理中,1/0操作和数据处理的比例都很大。通信服务器中发生的I/o有客户的连接请求来到,接收请求数据,连接缓存系统,发送请求数据,接收缓存系统的响应,将响应返回客户,当然其中还涉及磁盘数据库的读写操作等。而一旦某个I/O准备好,只需要处理最多毫秒级的时间,又会遇到另一次1/0。根据上述的分析,使用多线程事件驱动的方案实现可以获得高性能,对于本模块,本发明采用了 epoll加多线程模型来提高系统的吞吐量。epoll加多线程模型,能够提高系统的响应速度,让网络1/0和数据计算相互重叠,降低系统延迟。本模块使用单独的线程来管理epoll模型的网络1/0,当系统接收到请求数据后,在开辟的已有线程池中查找空闲线程,并予以分配资源进行数据处理,同时 epoll模型继续监听活动网络事件,与数据处理线程并行处理,当系统处理信息完毕时,将数据反馈给用户,同时释放占有的线程资源。本模块所使用的epoll加多线程模型能有效地划分责任与功能,而不是把所有逻辑都塞到一个event loop里,让每个线程的逻辑比较简单,任务单一,便于编码。
缓存模块的设计和实现
基于P4P技术的网络监管服务器memcached缓存模块的工作流程如图3所示, memcached是一款非常流行的分布式数据缓存开源软件,许多Web程序都将数据保存到 RDBMS (relational database management system,关系管理数据库)中,应用服务器从中读取数据并进行相应的处理。但随着数据量的增大和访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。memcached在很多时候都是作为数据库前端的cache使用的,因为它比数据库少了很多SQL解析、磁盘操作等开销,而且它是使用内存来管理数据的,所以它可以提供比直接读取数据库更好的性能,在大型系统中,访问同样的数据是很频繁的,memcached可以大大降低数据库压力,使系统执行效率提升。本发明将iTracker控制模块中通过P4P资源节点选择算法得到的信息同步到 memcached缓存中,以最快的速度提供给用户所需要的数据。同时服务器将memcached和磁盘数据库mysql的配合使用,用户首先通过指定的get操作访问memcached服务器,如果存在相应的数据则直接获取出数据结果,查询过程不需要查询数据层的mysql数据库;如果不存在,则查询mysql数据库,将结果返回给查询者,并以key相应的value值形式将查询结果存储在memcached服务器中。控制模块的设计和实现
P4P是一个灵活的系统框架,包括控制平面、管理平面和数据平面。数据平面的组成部分是可选的,并且具有区分和优先流量的功能,而管理平面的功能则是监视控制平面的行为,目前的研究主要集中于控制平面,其中潜在的实体有iTracker、appTracker和P2P客户端。在控制平面中,P4P引入iTrackers来给P2P与网络供应商的沟通提供入口。弓丨进 iTrackers允许P4P在P2P和供应商之间划分通信量控制的责任,并且增加了 P4P的可部署性和扩展性。一个iTracker提供了一个入口,它有三种相关网络供应商信息网络状态 /拓扑;提供向导/政策;网络能力。网络供应商可能会选择实施的一个接口的子集。丰富的信息转达主要还取决于电信运营商。同时电信运营商也可能执行一些访问控制接口,以维护信息安全和隐私。iTracker可以提供三种形式的网络信息,可以分别通过以下接口进行提供
(I) Policy接口主要向peer或者appTracker提供网络策略和指导意见。比如网络出口流量和入口流量的比例,在拥塞期间应该避免使用哪些链路等等。(2) Virtual Cost接口主要是对外提供网络拓扑信息和状态信息。(3) Capablity接口允许peer或内容提供商(通过appTracker)向其查询并请求承载网提供一定的资源和能力。例如,在网络运营商提供了 cache服务器的情况下,一个 appTracker可以通过询问iTracker,得到这样的服务器以提高内容分发的速度。appTracker是在P2P应用中部署的用于保存正在共享某一内容的peers的列表的一种实体,不同的P2P应用可能有不同的appTracker,这里有两种情况
(I)P2P应用中存在appTracker,此时有iTracker把策略和virtual cost等相关信息给appTracker,由appTracker来执行peer的选择,返回给请求的节点。(2)某些非结构化的P2P网络中不存在appTracker,此时需要peer和iTracker 之间直接进行通信。
P2P客户端访问基于P4P技术的网络监管服务器iTracker的流程如图4所示, appTracker代表P2P软件服务器,iTracker代表ISP部署的网络监管服务器,对于P2P客户端的访问流程如下
(1)P2P用户向appTracker提出加入/查询请求;
(2)appTracker 向 iTracker 发出信息请求;
(3)iTracker将用户结点信息,网络信息和指导策略结果发送给appTracker ;
(4)appTracer对peer发送网络接入信息或者资源列表信息。iTracker控制模块将调用P4P架构中的Capablity接口,允许peer或内容提供商(通过appTracker)向其查询并请求承载网提供的最有peer信息。例如,在网络运营商提供了 cache服务器的情况下,一个appTracker可以通过询问iTracker,得到这样的服务器地址信息以提高内容分发的速度。
权利要求
1.一种电信运营商参与对等计算技术的监管服务器的实现方法,其特征在于该方法能使电信运营商和对等网络中的下载客户端之间开启一个显式的窗口,电信运营商采用基于电信运营商主动参与对等计算技术的资源节点选择算法来选择最优的资源节点信息,提升对等网络中的下载客户端的性能;采用高并发模型来处理海量对等网络客户端的访问,提升系统的吞吐量;采用高性能分布式缓存系统来同步热点信息资源至内存中,降低数据访问的时延;采用数据库与缓存系统结合,实现系统数据的冗余性;该方法主要包括以下步骤步骤I).对基于电信运营商主动参与对等计算技术的网络监管服务器所要完成的功能进行详细全面的分析,能够使不同的对等网络客户端的数据访问请求能够被识别,电信运营商通过网络监管服务器来向用户提供最优的资源信息列表,同时还需解决海量用户同时访问的吞吐量和数据处理时延的问题,生成功能需求文档;步骤2).按照步骤I)的分析文档设计功能模块,生成高并发接口模块、缓存模块和网络监管服务器控制模块,以及各个模块之间的逻辑关系、功能说明文档和整个流程图;步骤3).按照步骤2)的功能说明文档,提出基于电信运营商主动参与对等计算技术的资源节点选择算法,重点设计并实现其能力接口,通过选择最优的节点信息,使骨干网络流量减低,提高系统的上传/下载速度。
2.步骤4).按照步骤2)的功能说明文档,设计并实现高并发接口模块,高并发接口层用来提高网络监管服务器的并发性能,网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪的状况,这对于电信运营商主动参与对等计算技术的网络监管服务器也不例外;在运营商部署的网络场景下,系统会同时接受到大量的请求,顺序处理会导致客户响应时间过长,选择在操作系统内核中的高并发模型来处理并发的连接请求;步骤5).按照步骤2)的功能说明文档,设计并实现缓存模块,缓存模块用来降低网络监管服务器的数据处理时延;通过使用缓存数据信息,减少网络监管服务器控制模块的访问次数,以提高网络监管服务器的响应速度、提高系统可扩展性,通过电信运营商主动参与对等计算技术提供的接口获取网络状况,结合网络信息和节点自身的特点,选择最合适的内网资源列表,存放到内存中以供对等网络客户端查询;使得系统负载大幅度降低,更好的分配资源,实现更快速访问;步骤6).按照步骤2)的功能说明文档,设计并实现网络监管服务器控制模块,网络监管服务器控制层根据运营商的网络拓扑,链路带宽和网络状态信息,来挑选最优的对等网络结点,使对等网络通信流量尽量控制在内网内,降低运营商骨干网络的压力,提高网络性倉泛。
全文摘要
本发明的目的是提供一种基于P4P技术的网络监管服务器系统的设计及实现方法。开发P4P框架中的Capability接口来实现资源节点的最优选择,采用epoll加多线程模型,提高网络监管服务器的系统的响应速度,采用分布式数据缓存技术memcached来加速数据响应的速度,同时使用mysql数据库与memcached缓存服务器相结合的方式,保证数据的冗余性,最终本发明能够在电信运营商和P2P客户端之间开启一个显式的窗口,降低运营商骨干网络的流量,同时提高P2P客户端的性能。本发明还具有扩展性强,高度可靠稳定性,以及开发简单、投资小等优点。具有广阔的市场应用前景。
文档编号H04L29/08GK102611752SQ201210075350
公开日2012年7月25日 申请日期2012年3月21日 优先权日2012年3月21日
发明者孙力娟, 李致远, 林巧民, 王汝传, 肖甫, 邵星, 韩志杰, 顾翔, 魏靖凯, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1