已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕上学位论文 论文题目:g t p 连接池模块研究 专业:通信与信息系统 姓名:李建生 指导教师:刘克钧教授 摘要 本课题的来源是广州市重点科研项目“可定制g s n 应用平台”。该项目是广 州科讯技术有限公司和下一代互联网宽带业务应用国家工程实验室为某运营商 开发的应用于移动互联网的业务管理系统。“可定制g s n 应用平台”是一个可定 制的多用途g s n 系统,主要包括可定制g s n 应用平台和基于此平台的多种应用 功能两个方面。产品主要依据3 g p p t s2 9 0 6 0 规范和相关标准,通过实现g n 接 口和g i 接口,使系统可以接入到t d s c d m a 和w c d m a 两种主要的3 g 核心 网络中。此应用平台在3 g ( t d s c d m a 、w c d m a ) 核心网络中处于g g s n 等 效位置。 g t p 连接池模块在可定制g s n 应用平台上是处在一个相当底层的位置,也 是相当重要的一个模块。本文对传统的g t p 连接方式进行优化,提出了g t p 连 接池的概念。本文首先研究建立g t p 连接池的数学模型,建立了自适应连接池 模型,并在自适应连接池模型的基础上,对g t p 连接的管理方法等方面对连接 池算法进行优化,使g t p 连接的使用效率比传统连接模式高7 0 以上。接着, 本文对优化后的自适应连接池模型进行实现,采用面向对象程序设计的方法来设 计程序的架构,并设计好类之间的u m l 关系图,使得在满足g t p 连接池的需 求的同时,做到较为广泛的通用性。 关键词:g p r s ,g t p ,连接池,数学模型 i i i 中山大学硕士学位论文 t i f i e :r e s e a r c ho ng t pc o n n e c t i o np o o l m a j o r : c o m m u n i c a t i o n & i n f o r m a t i o ns y s t e m n a m e : j i a n s h e n gl i s u p e r v i s o r :p r o f k e j u nl i u a b s t r a c t t h es o u r c eo ft h i st o p i ci s “c u s t o m i z a b l eg s n a p p l i c a t i o np l a t f o r m ”w h i c hi sa k e ys c i e n t i f i cr e s e a r c hp r o j e c to fg u a n g z h o u 1 h i sp r o j e c ti sab u s i n e s sm a n a g e m e n t s y s t e mu s e dw i t h i nm o b i l ei n t e m e t ,w h i c hi sd e v e l o p e db yg u a n g z h o uc o t e l t e c h n o l o g yc o l t d a n dn a t i o n a le n g i n e e r i n gl a b o r a t o r yo fn g nb r o a d b a n d b u s i n e s sa p p l i c a t i o n sf o ro n et c l c c o mo p e r a t o r1 h e “c u s t o nf i z a b l eg s n a p p l i c a t i o n p l a t f o r m ”i sac u s t o m i z a b l ea n dm u l t i f u n c t i o n a lg s ns y s t e m ,w h i c hc o n t a i n s c u s t o m i z a b l eg s na p p l i c a t i o np l a t f o r ma n ds e v e r a la p p l i c a t i o n sb a s e d0 1 1t h i s p l a t f o r m a c c o r d i n gt o t h es t a n d a r d3 g p pt s2 9 0 6 0a n dr e l e v a n ts t a n d a r d s ,b y i m p l e m e n t i n gg na n dg ii n t e r f a c e s ,t h ep r o d u c tm a k e st h es y s t e mb ea b l et oc o n n e c t t ot d - s c d m aa n dw c d m a ,w h i c ha r et w om a i n3 gc o r en e t w o r k s t h ea p p l i c a t i o n p l a t f o r ml i e sa st h es a m ep o s i t i o na sg g s ni n3 g ( t d - s c d m aa n dw c d m a ) c o r e n e t w o r k g t pc o n n e c t i o np o o lm o d u l el i e si nt h eq u i t eb o t t o ml a y e ri nc u s t o m i z a b l eg s n a p p l i c a t i o np l a t f o r m ,w h i c hi sa l s oav e r yi m p o r t a n tm o d u l e t h i st h e s i so p t i m i z e sf o r t r a d i t i o n a lg t p c o n n e c t i n gm e t h o d ,a n dp u tf o r w a r dt h ec o n c e p to fg t p c o n n e c t i o n p 0 0 1 a tf i r s t ,t h i st h e s i sr e s e a r c h e st h ee s t a b l i s h r n e n to fm a t h e m a t i c sm o d e lf o rg t p c o n n e c t i o np o o l ,a n de s t a b l i s h e st h ea d a p t i v ec o n n e c t i o np o o lm o d e l t h i st h e s i s a l s oo p t i m i z e st h ec o n n e c t i o np o o la l g o r i t h mf o rm a n a g e m e n tm e t h o do fg t p c o n n e c t i o nb a s e do nt h ea d a p t i v ec o n n e c t i o np o o lm o d e l ,a n dm a k e st h ee f f i c i e n c y o fg t pc o n n e c t i o np o o lb e7 0 h i g h e rt h a nt r a d i t i o n a lc o n n e c t i n gm o d e t h e n ,t h i s t h e s i si m p l e m e n t so p t i m i z e da d a p t i v ec o n n e c t i o np o o lm o d e l ,b yd e s i g n i n gt h e 。k r c h i t e c t u r eo ft h ep r o g r a mu s i n gt h em e t h o do fo b j e c t o r i e n tp r o g r a m m i n g ,a n d v a b s t r a c t d e s i g n i n gt h eu m ld i a g r a mo ft h ec l a s s e s ,t om a k ei tm e e tt h en e e do fg t p c o n n e c t i o np o o la n db em o r ee x t e n s i v e k e yw o r d s :g p r s ,g t p , c o n n e c t i o np o o l ,m a t h e m a t i c sm o d e l i n g v l 中山大学硕e 学位论文 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体己经发表或撰写过的作品成果。对本文 的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 2 7 | o 毛j j 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版,有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆、院系资料室被查阅,有权将学位论文的内容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 学位论文作者签名:龚逝 日期:扫产年f 月牛日 钩同 互牛 i t,1月 7 莎 :年 名 “ 签 易 师期导日 中山大学硕士学位论文 1 1 课题背景 第一章绪论 本课题的来源是广州市重点科研项目“可定制g s n 应用平台。该项目是广 州科讯技术有限公司和下一代互联网宽带业务应用国家工程实验室为某运营商 开发的应用于移动互联网的业务管理系统。下面简单介绍一下这个项目以及g t p 连接池模块在项目中的作用。 “可定制g s n 应用平台【1 j 是一个可定制的多用途g s n 系统,主要包括可 定制g s n 应用平台和基于此平台的多种应用功能两个方面。产品主要依据3 g p p t s2 9 0 6 0 规范和相关标准,通过实现g n 接口和g i 接口,使系统可以接入到 t d s c d m a 和w c d m a 两种主要的3 g 核心网络中。此应用平台在3 g 核心网 中的位置如图1 1 所示: 蕊辨棚灞蓦j 埔宵知障 一删獬积翰溉酿掀镢 图1 1 可定制g s n 平台在3 g 核心网中的位置 如上图所示,此应用平台在3 g ( t d s c d m a 、w c d m a ) 核心网络中处于 g g s n 的等效位置。在g n 接口侧,通过实现了g t p c ( 信令控制面) 和g t p u 1 第一章绪论 ( 用户面) 协议,使得“可定制g s n 应用平台”既可以作为g g s n 与s g s n 对 接,也可咀作为s g s n 与g g s n 进行对接。在g t p 协议集中,“可定制g s n 应 用平台”实现了路径管理协议、隧道管理协议、位置管理协议和移动管理协议。 系统在g l 参考点侧连接真实p d n 网络或建立虚拟p d n 网络。g l 参考点上 运行通常的互联网协议,例如h t t p 、w a p 、f r p 等,也可以运行不同应用的私 有协议。 系统功能结构如下图所示: | 墨】12 系统功能架构 由e 圉可以看出系统由“可定制g s n 应用平台”和“应用模块”两弃| i 分 组成,其中“应用模块”包括应用程序和应用客户端,通过渊用“a p i 接口”层 访问平台所提供的业务能力。 按照自下而上的视角,平台各模块的工作原理如下: 2 中山大学硕十学位论文 网络接口模块:提供基本的t c p i p 数据通信能力; g n 接口模块:g n 接口模块负责g t p 信令栈处理,包括信令面处理和用户面 数据处理; g t p 隧道连接池:该模块按照“连接池”机制管理g n 接口上的连接,避免 上层应用对隧道资源的争抢和浪费。 “g n 接口和“g t p 隧道连接池两模块的结合,为上层应用提供完整的 g n 接口协议处理和连接管理能力。通过此功能,上层应用可动态编程与s g s n 或g g s n 建立隧道连接,按业务逻辑处理g t p 控制面信令和用户面数据。 g i 接口模块:g i 接口模块处理到p d n 网络的连接,转发各种互联网应用协 议。 i p 路由和d n s 模块:系统的m 路由和d n s 模块可使上层应用可以按需设 置和交换用户平台数据流向,从而实现重定向或数据包捕捉等特殊功能。在这两 个模块的支持下通过重组g t p 隧道中用户层面的i p 数据包,能够将用户平面数 据灵活重新定向到目标p d n 网络中。 d h c p 和i p 地址池:当上层应用建立模拟数据连接时,d h c p 为连接动态分 配i p 地址,从而实现网络流量仿真、网络质量评估等应用。i p 地址池分配和管 理用户设定的i p 地址范围和分配策略,供d h c p 使用。 s i m 卡池:生成和管理平台使用的s i m 卡数据。这些数据是模拟流量和终端 行为的必备数据。 模拟流量发生器:模拟流量发生器为上层应用产生大流量数据连接,或大量 终端并发连接流量。 w a p 协议转换模块:应用中往往需要将w a p l 0 协议转换成w a p 2 0 协议。 该转换模块为上层应用提供了这种能力。 任务管理引擎:为上层应用提供多种任务管理能力,包括基于时间周期的任 务调度能力,基于时间的任务触发能力。 3 第一章绪论 安全策略控制模块:该模块基于严格的权限管理机制,按设定的安全策略, 控制上层应用的行为,为平台提供安全访问保障。 d b 模块:存储平台数据。 平台的“可定制 能力集中表现为:平台通过“a p i 接口 向上层应用“开 放”平台能力,支持上层应用实现多种多样的实用功能。上层应用可在具体的业 务流程中定制g t p 信令,按需控制信令流程。 应用方面,在可定制g s n 应用平台基础上,通过组合调用各种a p i 接口, 可研发出网络维护、网络仿真、网络服务质量测评、客户服务等3 g 数据核心网 应用模块。 从上述介绍可以看出,g t p 连接池模块在可定制g s n 应用平台上是处在一 个相当底层的位置,也是相当重要的一个模块。本文2 4 节将详细介绍g t p 连 接池的必要性和重要性。 1 2 本文创新点 创新点一:一般来说,使用g t p 连接的一般方法是先建立连接,接着使用 g t p 连接,最后再把连接关闭掉。本文为了提高g t p 连接的使用效率,参考数 据库连接池,把连接池概念应用到g t p 连接方面。由于目前并没有g t p 连接池 的概念,本文的创新点之一就是首创了g t p 连接池的概念。 创新点二:用数学建模的思想来分析连接池的效率。本文对连接池建立了几 个连接池数学模型,并分析各个模型的效率及优劣点。 1 3 本文的工作 本文对g t p 连接池模块进行研究。一方面建立连接池数学模型,并根据g t p 连接池的实际情况,分析g i p 连接池连接管理的最优方案;另一方面根据上面 建立的数学模型,实现g t p 连接池。本文主要包括以下内容: 对传统的g t p 连接方式进行优化,引入资源池模式,提出了g t p 连接 4 中山大学硕一t r 学位论文 1 4 池的概念。 建立g t p 连接池的数学模型,并在现有数据库连接池算法的基础上,利 用建立好的数学模型,对连接管理等方面对连接池算法进行优化,使得 g t p 连接的使用效率比传统连接模式高5 0 以上。 实现上面提出的g t p 连接池算法,采用面向对象和设计模式的思想来设 计程序的架构,并设计好类之间的u m l 关系图,使得在满足g t p 方面 的需求的同时,做到较为广泛的通用性。 本文的组织 本文将介绍g t p 和连接池的概念,建立连接池数学模型,用数学模型分析 g t p 连接池,并用c + + 面向对象的方法实现g t p 连接池,最后对本文进行一个 简单的总结。 中山大学硕士学位论文 第二章相关技术简介 2 1 移动i p 网 2 1 1 简介 移动腰协议【3 】【4 】允许因特网上独立位置路由的i p 数据报。我们可以通过移动 节点的内部地址识别它,而忽略它在因特网的当前位置。一个移动节点一旦离开 了它的内部网络,它就会被绑定到个能识别它的当前位置的转交地址,而它的 内部网络则会绑定到它的内部代理的隧道的本地终点。移动口指定移动节点如 何使用它的内部代理进行注册和内部代理如何通过隧道把数据报发送到移动节 点。 移动i p 提供一种在因特网中有效的、可伸缩的遍历方法。通过移动i p ,节 点可以不改变它们的内部m 地址的前提下改变它们在因特网上的附着点。这允 许他们在遍历的时候保持传输和高层次的连接。 2 1 2 工作原理 一个移动节点可以有两个地址:一个永久的本地地址和一个与移动节点正在 访问的网络绑定在一起的转发地址。在移动i p 网中有两种实体: 保存在这个本地代理的网络中的移动节点的信息。 保存正在访问外部节点网络的移动节点的信息。外部代理还展示移动i p 使 用的转发地址。 如果一个节点想和移动节点通讯的话,它就要向那个移动节点的永久本地地 址发送数据包。因为本地地址在逻辑上属于和本地代理相关联的网络,正常的i p 路由方法会把数据包转发给本地代理。本地代理并没有把数据包转发到物理上和 自己在同一个网络的目的地,而是把设用移动节点的关联地址的新的i p 协议头 7 第二章相关技术简介 加到数据报中,并通过口隧道重定向到外部代理。 当移动节点扮演传送者角色的时候,它会把永久的本地地址作为源地址,直 接把数据包通过外部代理发送给其他通讯节点。这就是所说的三角式路由。如果 需要,外部路由可以使用反向隧道,把从通讯节点数据包传到本地代理。 2 2g p r s 通用分组无线服务【5 1 ( g e n e r a lp a c k e tr a d i os e r v i c e ,缩写g p r s ) 是基于移 动数据服务的分组协议,可用于2 g 无线通信系统g s m 和3 g 系统。g p r s 是一 种尽力而为的分组交换服务。连接g p r s 服务的2 g 无线系统通常被称为2 5 g , 即在第二代( 2 g ) 和第三代( 3 0 ) 移动通信技术之间的技术。g p r s 通过不使 用的t d m a 信道提供适度速度的数据传输。开始有想法打算把g p r s 扩展并覆 盖其他的标准,但最终g p r s 网络还是转换成使用g s m 标准。g p r s 最初是由 欧洲电信标准协会( e u r o p e a nt e l e c o m m u n i c a t i o n ss t a n d a r d si n s t i t u t e ,缩写e t s i ) 进行标准化,现在则是交由第三代合作伙伴计划( 3 r dg e n e r a t i o np a r t n e r s h i p p r o j e c t ,缩写3 g p p ) 进行。 g p r s 核心结构图如图2 1 所示: 8 中山人学硕二b 学位论文 g p r s 协议包括以下模块【6 】: 图2 1g p r s 核心结构图 b c c :广播呼叫控制( b r o m c a s tc m ! c o n t r o l ,缩写b c c ) 协议用于无线接 口的声音分组呼叫服务( v o i c eg r o u pc a l ls e r v i c e ,缩写v g c s ) 。它是连接 管理子层协议之一。 b s s a p + :b s s a p + 定义了当一个移动站同时支持g s m 电路交换服务和g s m 分组交换服务时的移动资源的使用。 b s s g p :基站系统g p r s 协议( b a l s es t m i o ns y s t e mg p r sp r o t o c o l ,缩写 b s s g p ) 用于处理s g s n 和b s s ( b a s es t a t i o ns u b s y s t e m ,基站子系统) 之 间的流量控制。在s g s n 节点上实现的流量控制方法用来防止由于b s s 过载 而导致的拥塞和数据的丢失。 g m m :g p r s 使用g s m 移动管理( g s mm m ,缩写g m m ) 协议。g m m 子层的主要功能是支持用户终端的移动性。g m m 子层的更进一步的功能是 为上一个连接管理子层的不同实体提供连接管理服务。 o 第二章相关技术简介 g s m :g p r s 会话管理( g p r ss e s s i o nm a n a g e m e n t ,缩写g s m ) 的主要功 能是支持用户终端的p d p 上下文操纵。 g t p :g p r s 隧道协议( g p r st u n n e l i n gp r o t o c o l ,缩写g t p ) 。2 3 节将详细 介绍这部分。 l l c :逻辑链路控制( l o g i c a ll i n kc o n t r o l ,缩写l l c ) 定义了用于m s 和 s g s n 之间的分组数据传输的逻辑链路控制层协议。 r l p :在g s mp l m n 上进行数据传输的无线链路协议( r a d i ol i n kp r o t o c o l , 缩写r l p ) 覆盖i s oo s i 参考模型第二层的主要功能。r l p 是为数字无线传 输和提供o s i 数掘链路服务的需要而专门定制的。r l p 跨越了从移动站到位 于最近的移动交换中心( m o b i l es w i t c h i n gc e n t e r ,缩写m s c ) 的互联模块。 s m s c b 小区广播短消息服务( s h o r tm e s s a g es e r v i c ec e l lb r o a d c a s t ,缩写 s m s c b ) 协议是一种能够让短信息从p l m n 广播到移动站的服务。 s n d c p - 子网相关汇聚协议( s u b n e t a v o r kd e p e n d a n tc o n v e r g e n c ep r o t o c o l , 缩写s n d c p ) 使用l l c 层和会话管理子层提供的服务。s n d c p 的主要功能 如下:若干p d p 的多路传输,用户数据的压缩和解压,协议控制信息的压缩 和解压,把网络协议数据单元( n e t w o r kp r o t o c o ld a t au n i t ,缩写n p d u ) 分割到l l c 协议数据单元以及把l l p d u 重新汇编到n p d u 。 t o m :消息隧道( t u n n e l i n go f m e s s a g e s ,缩写t o m ) 是一个用于在m s 和 s g s n 之间交换t o m 协议包络的通用协议层。 t r a u :转码速度和适配单元( t r a n s c o d i n gr a t ea n da d a p t a t i o nu n i t ,缩写 t r a u ) 协议是一个为语音信道和数据信道的速度适配( r a t ea d a p t a t i o n ,缩 写r a ) 提供转码功能的实体。 g p r s 协议栈【5 】如图2 2 所示: j o 中山犬学硕七学位论文 p 蛸 c 艇 o 孵 - i 妒 - 争 i - 辩叼p s n o c p g t p- i g - 律 u d p u d p - u ci l l cr e l 8 y i l l ci i 妒 争 li 觏i 横o的d i ol o w 霉r i l a 坩霉r l o w e rll o w e r 妇獭“懒 l a y e r 咖终 b , e 缟 1 q - y e f 、j i i l sb s ss g s ng g s n 图2 2g p r s 协议栈 2 3g t p g t p l 7 】【8 】是一组基于i p 的通信协议,即在u m t s g p r s 骨干网中的g p r s 支 持节点( g p r ss u p p o r tn o d e s ,缩写g s n ) 间的传输协议。g t p 协议指定了一 个隧道控制和管理协议来允许s g s n 为m s 提供g p r s 网络接入。g t p 提供了 创建、修改和删除隧道的信令。在传输层面,g t p 使用隧道方法,为携带用户 数据包提供服务。路径的选择取决于用户数据是否能够获得一个可靠的链路隧 道。 隧道技术( t u n n e l i n g ) 是一种通过使用网络的基础设施在网络之间传递数据 的方式1 9 1 。g p r s 隧道技术,则是通过g p r s 网络的基础设备,在g s n 之间进行 数据传输的方式,是一种根据g p r s 网络特性定制的隧道协议技术【1 0 1 。 g p r s 隧道协议是一个基于i p 网络的,集成于g s m 和u m t s 网络的协议。 g t p 协议位于u d p 协议的上层。g t p 协议实际上有三个独立的协议:g t p c 、 g t p u 和g t p 。 g t p c 是在g p r s 核心网络中用于在g p r s 网关支持节点( g a t e w a yg p r s s u p p o r tn o d e ,缩写g g s n ) 和g p r s 服务支持节点( s e r v i n gg p r ss u p p o r t n o d e ,缩写s g s n ) 间进行信号传递。g t p c 协议是g t p 协议标准中的控 制部分。当用户请求依个p d p ( p a c k e td a t ap r o t o c o l ,分组数据协议) 上下 l l 第二章相关技术简介 文时,s g s n 会发送一个新建的p d p 上下文请求g t p c 信息到能为用户的 请求给予详细信息g g s n 。然后g g s n 会回应一个新建的p d p 上下文相应 g t p c 信息,如果p d p 上下文是激活的,返回的信息就是p d p 上下文的详 细信息,否则,返回的信息就是一个错误以及错误的原因。 g t p u 用于在g p r s 核心网络中和在无线网络与核心网之间携带用户数据。 传输的用户数据可以是任何i p v 4 、i p v 6 或者p p p 格式的分组。g t p u 是一 个相对简单的基于口的隧道协议,它允许很多各种终点集合之间的隧道。 在u m t s 网络中使用的时候,每一个用户会有一个或多个隧道,每个隧道对 应一个激活了的p d p 上下文,并尽量为有不同的服务质量需求的连接提供不 同的隧道。不同的隧道是通过在g t p u 消息中的隧道终点识别器( t u n n e l e n d p o i n ti d 饥t i f i e r ,缩写t e i d ) 区分的。隧道的编号是动态分配的随机数。 如果这个随机数具有密码质量,那么它能够对抗一定程度的攻击。即使这样, 3 g p p 标准还是要求所有g t p 流量,包括用户数据都应该在安全的私有网络 中发送,而不是直接连接到因特网】。 g t p 和g p c c 以及g t p u 一样使用相同的信息结构,但有一个独立的功能。 它可以用来从g s m 或者u m t s 网络的计费数据模块( c h 姆n gd a t a f u n c t i o n ,缩写c d f ) 中携带计费数据到计费网关模块( c h a r 酉n gg m e w a y f u n c t i o n ,缩写c g f ) 。在大部分情况下,这就意味着计费数据将会更加方便 地从很多独立的网络元素传输到网络操作者的账单中心。 g t p 协议结构框图如图2 3 所示: 1 2 中山大学硕士学位论文 闸叶圃 幽| 1 2 4 连接池 图2 3g t p 协议结构框图 2 4 1 传统使用连接方式的问题 在应用程序开发时,传统的使用连接的过程一般是:新建连接、进行操作、 关闭连接。如图2 4 所示: 新建连接 、 进行操作 一八、 关闭连接 图2 4 传统使用连接模式流程图 这种使用模式有以下几个问题。 需要频繁新建和断开连接。使用传统的使用连接的方式,每一次使用连接之 前,都需要新建连接。新建连接过程不仅要开销一定的通讯和内存资源,还 必须完成用户验证、安全上下文配置这类任务,因而往往成为最为耗时的操 作。对于一个大型的应用程序,很可能会同时有几百、几千甚至上万用户同 1 3 第二章相关技术简介 时进行连接,这样会导致应用程序的反应比较慢,甚至可能会导致服务器崩 溃【忆1 。 每次用户使用连接之后,都必须关闭连接。如果因为程序员疏忽,忘记关闭 连接,服务器开通的连接过多,会导致服务器内存泄露,造成严重的后果。 应用程序无法控制连接的数量和状态。即使没有忘记关闭连接的情况,如果 正在使用得连接过多,也可能会造成内存泄露。 为了解决这三个问题,就引入了资源池模型。 2 4 2 资源池模式 资源池模式【1 3 】是一种软件设计中的设计模式,它的指导思想是如果一个类的 实例可以被重用,那么应该避免创建这个类的实例而重用己存在的实例。资源池 模式的u m l 图如图2 5 所示: 图2 5 资源池模式u m l 图 资源池模式的核心思想是资源的重用。即事先建立若干资源放在资源池中, 用户需要资源的时候,就从资源池中获取,使用后再回收到资源池。这样就可以 避免资源的重复新建,增加资源的重用性。资源池模式的主要应用是内存池和连 1 4 中山大学硕士学位论文 接池等技术。 2 4 3 连接池技术的特点 连接池是资源池模式的典型应用。连接池技术的基本思想是:在程序开始的 时候,先建立好若干个连接,把这些连接放在一个资源池里面,这个资源池就称 为“连接池 。每次用户要使用连接的时候,可以从连接池中取出已经建立好的 连接,而不需要再重新建立连接。在使用完连接之后,就把连接归还给连接池, 而不需要直接关闭连接。在程序运行完后,再把所有连接关闭。连接池框图如图 2 6 所示: 曰 咝 曰 麈竺 放连接, 1 斟 关闭连 因 连接池 图2 6 连接池模式流程图 连接池技术能够有效地避免传统的连接使用模式中出现的三个问题。 l 、用户不用每次使用连接之前都要重新进行连接,而只需要从连接池中驭 出连接即可。 2 、用户使用完连接之后,只需释放连接给连接池即可,而不需要把连接关 闭掉,即使连接没有被释放给连接池,连接池也可以通过超时检查等方法,自动 回收连接,这样就避免了由于没有关闭连接而导致的内存泄露问题。 1 s 第二章相关技术简介 3 、通过连接池管理连接数量,可以避免出现连接数量过多的问题,同时也 可以对连接进行管理。 2 4 4 连接池技术的基本方法 最朴素的一种方法就是预先定好一个最大连接数( m a x c o n n ) ,在程序运行 之初先建立好m a x c o n n 个连接,然后用户需要连接的时候就可以在这m a x c o n n 个连接中获取。这个方案的缺点如下: 当m a x c o n n 过小时,会有大量用户无法得到连接,而需要在队列中等候,系 统效率会很低。 当m a x c o n ,:l 过大时,又会有大量无用的连接一直占用服务器资源,系统效率 也会变得低下。 下面是一种常用的方法。系统不但有最大连接数( m a x c o n n ) ,还有最小连 接数( m i n c o n n ) 。在程序运行之初先建立好m i n c o n n 个连接。当所有连接都被 占用之后,下一个用户就需要新建一个连接到连接池中,同时这个连接就会一直 保留在连接池中。但假如m a x c o n n 个连接都被占用了,下一个用户只能在队列 中等候连接。这个方案就比上一个方案有了改进,但还是有以下弱点: 由于在超过m i n c o n n 之后才连接的用户就和不用连接池的时候一样,假如 m a x c o n n m i n c o n n 过大,那部分的用户数量就会比较大,系统整体效率也不 高。 在一个特殊的时问段内,连接数突然增加到m a x c o n n ,然后这么多的连接全 部建立起来。但实际上在更多情况下,可能只需用到比较少的连接数,那么 就会有大量多余的连接一直占用服务器资源。 假如m a x c o n n m i n c o n n 过小,情况和第一种方案接近。 下面说说一个更佳的方案。和第二种方案类似,同样有最大连接数 ( m a x c o n n ) 和最小连接数( m i n c o n n ) 。在程序运行之初,还是先建立好m i n c o n n 个连接,而且这些连接在连接池被关闭之前是不被关闭的。和第二种方案的不同 1 6 中山大学硕十学位论文 就在于对于m i n c o n n 和m a x c o n n 之间的连接的建立和关闭上。每当连接不够用 而又没达到m a x c o n n ,在下一个用户申请连接的时候,就建立一定数量的连接。 虽然对于这个用户来说,他建立连接所需的时问就增加了,但对于更多用户,所 用时间就比较少了。另外,为了避免太多多余连接的问题,在实际使用连接远远 少于已建立连接的时候,就要把一部分的多余连接关闭掉。这样就可以避免无用 连接太多的问题了。 2 5 面向对象程序设计 2 5 1 过程化程序设计 传统上,程序员一般先设计好一些数据结构,然后用函数和过程处理这些数 据。这种方法就叫做过程化程序设计【1 4 1 。 过程化程序设计的特点是强调函数和过程,而不是数据和对象。实际上,过 程化程序设计可以认为是按照计算机的思想来解决问题。另外,过程化程序设计 没有把与不同数据对象的过程分开和彼此隐藏。这样在写大型程序的时候,程序 设计难度就会大大增加。 2 5 2 面向对象程序设计 面向对象程序设训1 5 1 ( o b j e c t o r i e n t e dp r o g r a m m i n g ,缩写o o p ) 是一种使用 对象的来设计应用和计算机程序的编程范式。面向对象程序有以下几个特点【h 】: 抽象:定义新的数据类型。 封装:把某个数据类型的表示和行为封装成一个实体。 继承:从现有的数据类型派生出新的数据类型,构成类的层次结构。 多态:定制派生数据类型的行为。 总的来说,面向对象程序设计的特点是以数据为中心。写程序的时候是以对 象为核心,可以用自然的思想来解决问题,而不是像过程化程序设计那样按照计 1 7 第二章相关技术简介 算机的思想来解决问题。下面介绍面向对象程序设计的一些重要概念。 1 、对象 在计算机科学中,对象【1 6 】是可以被程序设计语言的命令操纵的任何实体,例 如一个值、变量、函数或者是数据结构。但在面向对象程序设计领域,对象一般 意味着把属性和方法封装在一起的实体集合。对象一般是构造的,而不是直接赋 值( 例如i n ti = 1 0 ) 。对象是面向对象程序设计的基础,也是面向对象程序设计 语言的基础数据类型。这些语言为对象操纵提供了额外的句法和语义上的支持。 2 、类 在面向对象程序设计中,类是用于创建那个类的对象的“蓝图”的结构体。 这个蓝图描述了这个类的对象所共享的属性和方法。一个指定的类的对象称为这 个类的一个实体。包含实体的类可以认为是那个对象的数据类型。实际上,类和 对象的关系是:类是对象的类型,是同类对象的共同属性、方法的集合,是抽象 的概念;对象是类的实体,是对类的实现,是具体的实体, 3 、继承 在面向对象程序设计中,继承【1 4 1 是使用已经定义了的类生成新的类的一种方 法。继承的作用是重用已有代码,而不需要或只需要进行很少的修改。新的类一 般称为子类,继承了已存在的那个类一般称为父类的属性和方法。子类 和父类的继承关系组成了类的组织结构。 继承是大多数面向对象程序设计的基础,也经常被滥用。在系统设计中,两 个类之间的继承应该满足“i s a 关系【1 7 】,即:如果a 是父类,b 是子类,那么 应当满足b “i s a ”a 。举个例子,鲫鱼是鱼类,所以鲫鱼类可以作为鱼类的子 类;而海豚不是鱼类,所以即使海豚符合很多鱼类的特征,但不可以作为鱼类的 子类。 对于部分面向对象程序设计语言,还有“多重继承”的概念。所谓多重继承, 就是一个类可以继承多个父类。尽管多重继承容易出错,比较危险,但使用得当 确是表现类关系的有效的方法。 i r 中山大学硕士学位论文 4 、多态性 在程序运行时,能依据其类型确认调用哪个函数的能力,成为多态性【1 引。多 态一般使用虚函数来实现。般情况下尽量避免使用多态性,因为虚函数的使用 需要另外建一个虚函数表v t b l ,通过v p t r 指针在v t b l 中寻找需要运行的虚函数, 降低程序的效率。 2 6 本章小结 本章主要介绍本文涉及到的一些知识点和概念,例如移动i p 网、g p r s 、g t p 和连接池等。移动i p 协议允许因特网上独立,应置路由的i p 数据报,提供一种有 效的、可伸缩的在因特网中遍历的方法,是本文研究内容的背景网络。g p r s 是 基于移动数据服务的分组协议,可用于第三代通信系统。而g t p 则是在 u m t s g p r s 骨干网中的g p r s 支持节点( g p r ss u p p o r tn o d e s ,缩写g s n ) 间 的传输协议,g t p 使用隧道方法,为携带用户数据包提供服务。本文的主要目 的就是为g t p 连接提供快速有效的管理方法,于是就引入了连接池这个概念。 最后,本章还介绍了g t p 连接池软件设计中用到的面向对象程序设计思想。 1 9 中山大学硕士学位论文 第三章连接池数学模型 3 1 最小时间连接池模型 3 1 1 模型简介 最小时间连接池模型是预先定好一个最大连接数( m a x c ) ,在程序运行之初 先建立好m a x c 个连接,然后用户需要连接的时候就可以在这m a x c 个连接中获 取。 最小时间连接池模型的流程图如图3 1 和图3 2 所示: f 用户使用连接 1r 删除连接 图3 1 连接池端流程图 2 1 第三章连接池数学模型 3 1 2 模型假设 图3 2 用户端流程图 l 、把整体时间分成若干个相等的时间段; 2 、每个时间段内连接数量不发生变化; 3 、每个时间段同时使用的连接数量变化满足正态分布19 1 ,即: 3 1 3 符号说明 l n i t c :连接初始数目 m a x c :最大连接数; s u m c :连接总数: 州= 忐p 一譬 c o n n ( t ) :t 时刻正在使用的连接数量; d i f f ( t ) :t 时刻的连接数量变化; ( 3 1 ) 中山大学颂一 :学位论文 纺获取连接所需的时问; 厶:释放连接所需的时间; 死时间代价; s :空间代价; 只脯:用户需要等待的概率。 3 1 4 模型分析 1 、时间代价 对于最小时间连接池模型,由于已经在程序运行初期把所有连接都新建好 了,虽然程序初始化的时候会显得比较慢,但在运行的期间,用户完全不需要新 建连接,所以时间代价仅仅是获取连接所需的时间矿和释放连接所需的时间厶, 即: 2 、空间代价 t = s u m c _ t r + s u m c t r ( 3 2 ) 对于最小时间连接池模型,在程序运行初始化阶段就把所有连接都新建好, 因此在连接池中的连接数量是恒定不变的m a x c ,即: s = m a ) 【c( 3 3 ) 3 、用户需要等待的情况分析 时刻t 正在使用的连接数量c o n n ( t ) 为: 如果: f c o r m ( t ) = i n i t c + d i f f ( t ) ( 3 4 ) ,2 c o n n ( t ) m a xc ( 3 5 ) 第三章连接池数学模型 那么将会有部分用户未能取得连接,而需要进入到等候队列等待。 3 1 5 模型仿真 1 、参数设置 m a x c = 1 0 0 0 0 = 0 盯2 = 5 0 0 t f o 0 0 0 1 t ,- - o 0 0 0 1 2 、仿真结果 删 糕 辎 划 g 旺 掣 目 12 0 0 0r 、一、一 1 0 0 0 0 8 0 0 0l i 厂似咖 2。fa,a y f 、jfv j 2 0 。k 应弋一一一1 0 图3 3 :每个时间段正在使用的连接个数 2 4 , 2 0 0 0 2 9 m a x c = l0 0 0 0 a = 0 仃2 = 5 0 0 t p o 0 0 0 1 铲o 0 0 0 1 厶= o 1 2 、仿真结果 1 2 0 0 07 一 第三章连接池数学模型 图3 8 正在使用的连接数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《化工过程自动控制与仪表》2022-2023学年期末试卷
- 沈阳理工大学《电力拖动直流控制系统》2022-2023学年期末试卷
- 光伏施工专业合同文本
- 广州市合同制护士工资
- 航次出船合同类型
- 2024-2025学年高中数学第三章概率3.1.3概率的基本性质课时素养评价含解析新人教A版必修3
- 作画课件秋之姑娘的花裙子
- 米仓山国家森林公园风景资源调查与评价报告
- 中国物品编码中心(GS1China)UDI结构-及相关国家标准
- 2024电子产品委托加工合同范本
- 诉讼费退费账户确认书
- 三年级上册心理健康课件-17《灾难面前要冷静》 北师大版
- 辽宁2022年辽宁省农村信用社联合社内部选聘行业审计工作人员上岸提分题库3套【500题带答案含详解】
- T-GDAEPI 07-2022 广东省环保管家服务规范
- 科学领域核心经验《幼儿园科学领域教育精要-关键经验与活动指导》
- SB/T 10614-2011熟制花生(仁)
- GB/T 30790.6-2014色漆和清漆防护涂料体系对钢结构的防腐蚀保护第6部分:实验室性能测试方法
- GB/T 27588-2011露酒
- GB/T 18833-2012道路交通反光膜
- GB/T 15063-2020复合肥料
- GB/T 12767-1991粉末冶金制品表面粗糙度参数及其数值
评论
0/150
提交评论