




已阅读5页,还剩53页未读, 继续免费阅读
(通信与信息系统专业论文)hlr平台系统维护部分的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 作者在对大容量g p r s h l r 平台子系统部分模块的设计当中,通过对系统 硬件平台和高可用性( h a ) 管理软件d a t a w a r e 的分析,提出平台子系统对上 层应用高可用性的支持不仅仅在硬件和操作系统一级,更重要的在于对应用服 务的高可用性环境的建立之上。针对大容量g p r s h l r 系统的特点,作者提出 以双机主备通道服务程序为桥梁,以系统状态维护程序为指示,以系统切换接 口服务程序为辅助手段,提供对g p r s h l r 系统上层应用的h a 支持。 、( 在设计过程中,作者通过学习并深入了解u n i x 系统环境程序设计原则,结 合特定操作系统的特点,对平台子系统系统维护部分的程序设计做到了可靠性, 并为平台子系统其他服务程序的设计提供了守护进程和服务可重加载设计的参 照。吖 对担负平台子系统维护部分数据同步起着重要作用的主备通道服务程序, 作者深入分析了其设计过程当中需要考虑的因素,并从系统优化的角度给出了 较好的解决方案。尤其在对接收端服务程序的缓冲区设置和处理策略上,提出 了独特的解决办法。 在系统状态维护服务程序上,通过对决定主机状态的关键因素的分析,简 化了系统状态的判决规则,并在系统状态迁移的判决上做了较好的保护,取得 良好的效果。 最后通过对g p r s h l r 系统联调的测试数据,说明在g p r s h l r 系统设 计当中,系统维护部分的设计达到预期的目的。 关键字:h l r 高亘星壁h l 圭备黻嚣绝堡垒耋已 孑每幻1 锋j :细j :j f4 1 步1 7 华中科技大学硕士学位论文 a b s t r a c t i nt h i st h e s i s ,t h ea u t h o rm a i n t a i n st h a tt h es u p p o r tt ot h ea p p l i c a t i o n sf o rh i g h a v a i l a b l e ( h a ) i sn o to n l yb a s e do nt h eh a r d w a r ea n dt h e0 se n v i r o n m e n t ,b u t a l s ob a s e do nt h ea p p l i c a t i o n s u p p o r tl a y e ri nt h es y s t e ma r c h i t e c t u r e ,w h i c hi sm o r e i m p o r t a n t d u r i n gt h eh i g h v o l u m eg p r s h l rp r o j e c t ,t h e a u t h o ra n a l y z e dt h e a t t r i b u t i o no ft h ed u a l u n i xs e r v e rp l a t f o r ma n dt h ed a t a w a r eh am a n a g e m e n t s o f t w a r e ,t h e nr a i s e das o l u t i o nf o ra p p l i c a t i o n s u p p o r th ae n v i r o n m e n t i nt h i s s o l u t i o n ,ad a t a t r a n s f e rs e r v i c et a k e sc h a r g eo fa l lt h el u f o r m a t i o na n ds y n c h r od a t a c o m m u n i c a t i o nb e t w e e n p r i m a r y a n d s t a n d b y m a c h i n e s a n da s y s t e m s t a t e m a i n t a i n e r , w h oa c t sa sad i r e c t o rt ot h ed a t at r a n s f e r , h e l p st h ea p p l i c a t i o n st o d e t e r m i n et h ec o r r e s p o n d i n ga c t i o ni ne v e r ys t a t u s i nt h e p r o j e c t ,d a e m o np r o c e s sa n dr e l o a d a b l ep r o c e s sd e s i g na r et w oi m p o r t a n t i n g r e d i e n t st h a ta s s u r et h es t a b i l i t yo fp l a t f o r ms u b s y s t e mp r o c e s s t h e ya r ea l l p r e s e n t e da f t e rat h o r o u g hu n d e r s t a n d i n gt ou n i xe n v i r o n m e n tp r o g r a m m i n ga n dt h e t y p i c a ls c o u n i x w a r es t r u c t u r e 0 nt h ed a t a - t r a n s f e rs e r v i c ep r o g r a m d e s i g n t h i st h e s i sl a y so u tw h a ta f f e c t s s y s t e mp e r f o r m a n c em o s t ,w h a ti st h em o s te f f i c i e n tt r a n s f e rm o d e l b a s e do ni t ,t h e a u t h o rc o n t r i v e st h es t r u c t u r ef o rd a t at r a n s f e r , t h eb u f f e rf r a m e w o r k f o rd a t a s t o r a g e a n dt h em a n e u v e rf o rd a t aa c c e s s o nm eo t h e rh a n d ,t h es t a t em a i n t a i n e r p r o c e s s d e p e n d i n go nt h eo p t i m i z a t i o no fv a r i o u ss t a t e so fh o s ta n df u l lp r o t e c t i o nf o rt h e e r r o l - s ,g e t si t sr o l es u c c e s s f u l l y i nt h e e n d ,s y s t e m si n t e g r a t e t e s t i n gg i v e ac o n c l u s i o nt o t h e p l a t f o r m s u b s y s t e mm a i n t a i n i n gf u n c t i o nd e s i g n ,w h i c hp r o v ei t ss u c c e s s k e y w o r d s :h l r h i g ha v a i l a b l e d a t a t r a n s f e rs o c k e t s y s t e m s t a t e s i 蘸。,墓,获 藕 itxl;0 _ 华中科技大学硕士学位论文 1 绪论 在本章当中,将首先介绍移动通信发展的概况以及我国移动通信的现状, 由此说明本文研究的来源课题背景和进展情况,最后得出本文研究的内容和意 义。 1 1 移动通信的发展概况 虽然陆地移动通信的发展最早可以追溯到半个世纪以前,但实际上直到2 0 世纪8 0 年代中期,随着蜂窝组网技术的完善和大容量系统的出现,陆地移动通 信才开始获得高速发展。这其中尤以e t s i 的g s m - - 全球移动通信系统为代表: 自g s m 率先从第一代模拟移动通信网演变到第二代数字移动通信网后,它的 发展可谓是一日千里,用户遍布全球各地,仅目前中国就有1 亿几千万用户, 且用户还在不断增加。 移动通信的发展速度如此之快,首先要归结为现代通信技术难点的突破和 大规模集成电路的成功应用,现代通信技术的进步使得移动通信网的容量增加, 成本降低,性能提高,能提供更加可靠、优质的服务;而大规模集成电路的应 用使得用户终端成本降低、体积变小和性能提高,真正开始了个人的随意移动 通信。在第二代数字移动通信系统( 2 g ) 的发展过程中川,主要有两种技术体 制:一种是t d m a 时分多址技术,它将频谱分为若干个时隙:时间片) ,然后 将通话分配到特定的时隙中,基于t d m a 的有欧洲e t s i 的g s m 、美国的 d a m p s ( i s - s 4 ) 和日本的j d c ,其中以g s m 为代表;另一种就是c d m a 码 分多址技术,它是一种以扩频通信为基础的调制和多址技术,它不把信道分成 时隙,而是允许每个用户都可以使用整个12 5 m h z 带宽的信道,发靠一个标识 代码把通话区分开来,即每个电话呼叫都分配一个独特的数字代码,使其有别 于使用同一频谱的其它呼叫,基于t d m a 技术的代表是美国的i s ,9 j ( a n s i - 4 1 ) 。 华中科技大学硕士学位论文 然而市场的需求是永不停息的,人们期望移动通信能提供更多、更好的服 务,但是无线频率资源的有限和现有系统能力极限的即将到来,制约了人们对 优质移动通信服务的需求。为了更有效地利用宝贵的频谱资源,更方便的传递 数据、图像等多媒体的信息,提供更优质的服务,移动通信技术必须不断的向 前快速发展。于是2 5 g 和3 g 移动通信系统被相继提出和实施,其中2 5 g 是 作为2 g 向3 g 平滑过渡的中间阶段。但是只有3 g 即第三代移动通信才算是开 启了真正的个人通信时代”1 ,英国首先提出了个人通信网( p c n p e r s o n a l c o m m u n i c a t i o nn e t w o r k ) 的概念,认为个人通信应使任何人! w h o e v e r ) ,在任何 时候( w h e n e v e r ) 、任何地点( w h e r e v e r ) ,能与任何人( w h o m e v e r ) 进行任何方式 ( w h a t e v e r ) 的通信。美国则称个人通信为个人通信业务( p c s p e m o n a l c o m m u n i c a t i o ns e r v i c e s ) ,它包括为个人和企业提供的固定和半固定通信业务, 它能够与各类竞争网络集合在一起。p c s 的目标是:通用性( u n i v e r s a l i t y ) ,开 发迅速( s p e e do fd e v e l o p m e n t ) ,业务多样化( d i v e r s i t yo fs e r v i c e s ) 和有竞争的 投放市场( c o m p e t i t i v ed e l i v e r y ) 。世界各国和各国际组织也纷纷根据自己对第 三代移动通信的理解提出各自的通信系统模型或标准。为了解决第二代移动通 信中因体制不同导致不同系统间的不兼容、互通困难等问题,国际电联r r u 在 9 0 年代就开始了3 g 统一标准一d v i t 一2 0 0 0 的制定工作。由于各国对政治、经济 利益的考虑,以标准为核心舞台的竞争十分激烈,使3g 仍是体制多立,难以 统一。 i m t 2 0 0 0 标准主要分为两大家族,两大家族标准的制定工作分别由i t u 委托给两个国际组织来完成:一个是3 g p p ,它基于g s mm a p 核心网;另一 个是3 g p p 2 ,它基于a n s i - 4 1 核心网 3 1 0 两个家族成员网络之间的互连互通将 通过网络一网络接口( n n i ) 来完成,该接口的技术要求正在r r u 的制定之中。 虽然3 g 没有完成移动通信标准的统一,但是互联网技术的兴起和迅速推 广应用,改变了3 g 的竞争格局明示了新一代移动通信的发展方向:那就是 基于i p 、软交换、智能天线和软件无线电等新技术的宽带无线多媒体通信网。 我们有理由相信,在下一代4 g 和5 g 的研究开发工作之中,移襄通信会归结到 华中科技大学硕士学位论文 一个统一的标准之下,人们能够真正的实现w h e n e v e r ,w h e r e v 韶w h o e v e tc a l l c o m m u n i c a t ew i t h w h o m e v e r ,b yw h a t e v e r 。 1 2 我国移动通债发展现状 我图于1 9 9 2 年开始研究第二代效字蜂窝移动通信的籍式选择,并在浙江螽 兴建立了g s m 试验网。1 9 9 4 年,麓一个g s m 系统在广州开遥。1 9 9 6 年初, 郎电部在1 5 个省市已开通的g s m 系统进入了联网漫游运行。熟1 9 9 6 年底, 邮电部的g s m 网已覆盏全国2 7 0 个地区的城市和郊区。1 9 9 6 年,中国联通公 司也开始在二十多个城市建变其g s m 数字移动通信网鼹。从1 9 9 7 年开始,g s m 数字阏的覆盖、容繁和用户规模已经超过模拟网,成为我国移动通信的主体网 络。现在中国移动和中国联通两大运营者的g s m 网总用户数已超过l 亿5 0 0 0 万。但是由于用户发展迅速、薪需求鲍不濒提出,再勰上无线频谱资源和系统 容量的有限,我国g s m 数字移动丽很快就要遇裂系统资源短缺和新业务提供 能力不足的难题。因此,从2 0 0 0 年开始,中国移动计划在现有g s m 网络的基 础上逐步弓1 人2 ,5 g 的g p r s ( g e u e r a l p a c k e tr a d i os e r v i c e ) 弱络,增加现有阏 络系统的容量,并为用户提供基于分组交换的高遴数据业务:与越同霹,中国 联通也开始维建基于i s - 9 5 的c m d a ,缓解其g s m 蹲终在容量和迎务提供能 力上的不足。 最然我国通信市场发展迅速,潜力巨大,毽是长期以来,一直都是各大国 外通信制造巨头在唱主角,再热上健们掌握着通信行i 壁标准,因此民族通信制 造业豹发腰一直受潮于人。然而值得我们自豪的是,在向3 g 时代迈进的过程 中,1 9 9 9 年l o 月由我国提出的拥有自主知识产权的t d 。s c d m a 标通过了1 t u 的认定,正式成为i m t 2 0 0 0 中3 g p p 家族的无线俦输接口标滢之;2 0 0 0 每3 胃,由我国连字公司提出的l a s - c d m a 技术标墟又毅勇一世器标准亿组织 3 g p p 2 接受为c d m a 2 0 0 0 增强型三个各选方案之一。这些突破性的成功,为 我靛的民族通信制造业注入了强大赡信心,激融我们不凝冀前: 华中科技大学硕士学位论文 ;簟麓毫蔓苎! 兰蔓毒舞童嘲皇基墨墨翻墨薯瞄皇簟皇毫皇兰! ! ! 鼍! ! 竺! ! ! ! 烹苎! ! 皇毫曼苎苎烹竺! ! ! ! ! ! 罡 1 3 课麓的臂曩、瘵豫疑避晨情况 我们知道3 g 是移动通信的下一个发展目标,并且3 g 的开发研究也正进行 得如火如荼,商用化脚步日益临近,但是它离真正的实用阶段还有不小的距离, 同时在没有收回前期的2 g 巨额投资之前,广大的运营商也不愿意甘冒市场的 风险。因此选择从2 g 到3 g 的平滑过渡成了大多数运营商的首选,而从g s m 演变过来的2 5 g 的g p r s 正是覆盖范围广泛的g s m 网络向3 g 过渡的最佳选 择。在此背景下,2 0 0 0 年3 月m o t o r o l a 公司与广州金鹏公司决定合作共同开发 g p r s 系统,为电信提供全面的g p r s 解决方案。华中金鹏研究所作为华中科 技大学与金鹏公司的合作机构,承担了能够支持g p r s 业务的归属位置寄存器 一h l r 数据库子系统的研究工作。我有幸成为其中一员,参与了其中平台子 系统部分的研究开发工作,承担了平台子系统多个模块的程序设计任务。该项 目于2 0 0 0 年9 月通过m o t o r o l a 公司的m a p 功能测试,同年年底在广州金鹏公 司通过了百万用户级的话务量自测试,2 0 0 1 年5 月在广州金鹏通过了m o t o r o l a 公司组织的大容量i - i l r 话务量测试和功能攫4 试。 1 4 本文的研究内容和意义 在电信系统当中,高可用性是电信级服务器、交换机、v 0 婵网关等设备的 个重要特征“1 。在通常的系统设计当中,高可用性的设计、维护,是由处于 平台子系统部分负责的,这在本课题的来源大容量g p r s h l r 系统当中也 不例外。在g p r s h l r 系统当中,平台子系统负责了整个系统底层的软件系统 支持和硬件系统支持。在本文所涉及的系统维护部分的研究和实现当中,麓主 要目的是为整个系统提供高可用性的支撑环境和提供对上层应用的高可用性支 持。通过系统维护部分的设计,大容量g p r s h l r 数据库系统得以在软硬件故 障发生时尽可能的提供不问断的服务,确保电信设备要求的服务品质。 本文首先介绍了g p r s h l r 数据库系统的结构,针对电信设备的特点介绍 其中平台子系统的设计要求,尤其阐述了对系统高可用性( h a ) 的实现要求。 华中科技大学硕士学位论文 接着分析了g p r s h l r 系统当中对应用层h a 支持环境的模块划分,童点在平 台子系统各个模块设计需要共同遵循的原则、主备通道服务程序的发:f 实现和 系统状态维护模块的状态决断、转移策略。最后描述了对平台子系统系统维护 部分的测试情况,说明平台子系统系统维护部分设计达到预期目的。全文给出 了电信级设备设计实现过程当中必须面对的h a 设计的范例,尤其是在系统硬 件平台和操作系统层已经提供了h a 构架后如何为上层应用程序提供h a 支撑 环境,对日后同类项目的设计实现提供了参照。 华中科技大学硕士学位论文 2 高可用性与系统维护部分的设计 在本牵当中,将首先对裹可用性的定义遴行了概述并给出一般的解决方案, 接着对课题背景项耳l 也r 系统系统结构傲篱要的介绍,并结合h l r 系统 结构的特点,立足于系统撼供的软硬件环境,给出h l r 系统高可用性的设计模 式。 2 1 高爵用性概述 高可用往、不间断服务目前正成为各个电信厂商追求的疆标。作为电信级 产品的设计,达到5 个9 ( 9 9 9 9 9 ) ,意昧着在一年当中,整个系统失效时阀 哭能在5 分钟之内;而6 个9 ,相当于一年警中仅仅蠢3 0 秒时间处于系统服务 不可用状态。因此,无论在通信领域还是在数据服务的计算枧领域,魏 掰针对 不同应用的系统设计其赢可用性保障体系成为各个厂露以及软件设计人员研究 的重点 5 1 1 6 。| 定义系统可用性( a v a i l a b i l i t y ) 是指在允许的极限故障机器数内,系统按规 范成功运行的概率,已知系统平均无故障时间( m e a nt i m eb e t w e e n f a i l u r e ) m t b f 穆平均故障恢复时间( m e a nt i m et or e c o v e r ) m t f r ,鲻系统可用性 为: a v a i l a b i l i t y = m t b f ( m t b f + m t t r ) 嘉霹用性( h a ) 系统通过提高服务器可靠性、磁盘可靠性、网络可靠性、 应用程序哥靠性来达到高可用往要求种1 。在电信领域当中,毫可用性的普要晷 标是故障恢复,酃当一个部件出现问题时,电备用 牛囊动替代两不影响系统正 常运行。故障恢复的重点是使故障尽量局部化和尽快恢复; h a 系统主要可分为对称式( s y m m e t r i c a l ) ,叉可被称作双向故障消除式 ( t w o w a yf a i l o v e r ) 和菲对称式( a s ,t n m e t r i c a l ) ,又可被称作单向故障消除式 ( o n e w a yf a i l o v e r ) 系统丽静。非对称式的h a 系统包括两台稆同的服务器。 华中科技大学硕毒学位论文 薄! ! ! ! 苎! ! ! ! ! i r r - i i一。 墨蔓! 曼 其中之一是活动的基本系统( 称主系统) ,客户机( c l i e n t ) 从它存取数据和获得 服务;另一台同样的服务器( 称备份系统) 监视主系统的运行,并在主系统失 效的情况下,自动接替其工作,充当主系统的角色。而原来的服务器修复后则 充当备份系统的角色。对称式的h a 系统中,两台服务器同时都是活动的,彼 此都能提供独立的服务。每台服务器在另一台失效时可以接替它为c l i e n t 提供 服务,这样每台服务器既是主服务器又是备份服务器。两服务器之问的内部网 络实现彼此的监控,内部网络一般是冗余的两条网络,既可以采用一条以太网 和一条串口连接,也可以采用两条以太网连接。h a 系统在这种硬件环境下, 通过h a 监控软件完成对系统状态监测、失效的探测与恢复以及维护与管理。 h a 系统的硬件环境是提高系统可靠性的基础。它同样遵从“要容错就需 冗余”的原则。冗余的硬件根据用户的需求可以有一定的伸缩。一般来讲,需 有冗余的服务器,内部网络,存储设备,与h a 系统连接的外部网络等。服务 器失效是所有失效中最严重的。它将影响所有的用户而且常常要花很长的时间 来诊断和恢复。因而配置后备的服务器是明智的,h a 系统要求有一套备份系 统,备份系统监控主系统的“健康”状况,起着非常重要的作用。h a 系统最 关键的一个部件就是镜象共享的数据磁盘。它存放客户的数据、用户的目录、 可访问的数据库和应用程序的备份m 。 h a 软件支持部分是h a 设计的核心,它监视h a 主系统的硬件和软件的 二作状况,并在主系统失效时,将事务切换到备份系统,对各种失效进行探测 和有效的恢复。软件实现要求保证系统正常工作,避免本身可能存在的失效。 它主要负责以下工作: 监控系统工作状况,一般由一守护进程完成。 失效探测与恢复,完成指定的系统失效探测;实现失效恢复功能二 用户接口和对系统状态的监控,为用户扩充自己设计的失效探测提供统一 的接口,提供给用户监控系统的界面。 华中科技大学硕士学位论文 2 2j p gg s m g p r sh l r 系统介绍 g p r s h l r 是整个g p r s 网络的中央数据库,保存着所有在该h l r 登记 的移动用户( 包括移动数据用户) 的相关信息。这些信息包括移动用户识别 号码d 讧s i 、移动用户拨打号m s i s d n 、g p r s 用户数据、访问能力、用户类别、 鉴权数据信息、基本业务签约数据、补充业务签约等。此外,g p r s h l r 还存 储并向s g s n 或m s c 提供与移动用户实际漫游所在的s g s n 或m s c 区域有关 的动态信息数据。一个h l r 能够控制若干个移动交换区域甚至整个移动通信 网,这意味着一个p l m n 可以拥有一个或多个h l r ,具体的个数取决于移动 用户的总数、设备的容量以及网络的组织等因素。h l r 基本上是一种智能数据 库,它通过七号信令与其它网络实体( 如m s c v l r 、s g s n 、g g s n 、s m c 等) 相连并进行业务交互,完成移动应用部分( m a p ) 的事务处理和协议处理等功 能。移动用户在呼q 处理、位置更新( 用户从一个v l r 区域移动到另外一个 v l r 区域就会引发从h l r 插入用户数据到新v l r 的过程) 以及请求鉴权数据 信息等操作时都要访问h l r 数据库,h l r 中存储的相关数据正是完成这些基 本操作的根本依据。g p r s h l r 系统是一个典型的实时数据库系统:r t d b s ) , 不仅数据容量大,可靠性要求高,而且对实时性的要求特别高。 数据容量大 一个p l m n 中只有一个或少数几个h l r ,每个h l r 中的归属用户数目较 大;另外由于每位归属用户的绝大多数基本业务数据和补充业务数据以及与 g p r s 有关的数据都存在h l r 中,导致每条用户记录的数据量很多。这两个因 素使得h l r 的容量相当大。 可靠性要求高 h l r 申存储着全部归属用户的信息,为移动性管理和呼日4 建立提供路由选 择和管理信息,并且由于v l r 是动态数据库,其中的用户数据均是从h l r 中 获取的。h l r 必须保持数据的高度可靠性,h l r 崩溃带来的严重后果将是灾难 性的,这种可靠性主要体现在用户数据的一致性、正确性、完整性及安全生等 华中科技大学硕士学位论文 力向 、世务高实时性 在呼叫建以位置更新等业务处理时,需列i 4 l r 进行相天数囊r ;、j 峡i 量专粥 舶修改,这些操作都有严格的时恻限制。在大量川户频繁访闭条件_其实时 往保证了整个通信系统的正常运行,因此,采用高效的没计模式以及台理的数 据组织显得至关重要。 对于h l r 的性能指标要求,邮电部红皮书中给出了明确的说明:应能以摸 块化方式,根据用户的要求不断扩展,可达到3 0 万以上的用户容量 _ 莳随着 侈动通信的发展,移动用、急刚增长,3 0 万川广:赛量已瓜能够满足:i 场耍- 1 i 在本文课题q :,g p r s 。h l r 系统的没计容量是1 0 0 万以上。 指标参数: 消息丢失概率p = 1 0 。7 信息检索时延 = l 0 0 0 m s ( 9 5 概率j 臀记时延 = o ) f i f ( p i d ) 一可 华中科技大学硕士学位论文 e x i t ( o ) ; e l s e ( f o r k 出错处理 ) 这样做实现了下面几点:( 1 ) 如果主备通道程序是由简单s h e l l 启动的,那 么父进程终止可以使得s h e l l 认为这个程序的加载已经完成,可以继续处理后续 脚本;如果程序由其他程序通过s y s t e m 函数调用重加载,父进程终止使得调用 程序s y s t e m 调用返回。( 2 ) 子进程继承了父进程的g i d ,但是自身是一个新的 p i d ,不是进程组组长,这为下一步的s e t s i d 调用创造了条件。 调用s e t s i d 创建一个新的对话期。 p i d _ _ ts e t s i d ( v o i d ) ; 对话期( s e s s i o n ) 是一个或多个进程组的集合。如果调用此函数的进程不 是一个进程组的组长,则此函数创建一个新对话期,结果为: ( 1 ) 此进程变成该新对话期的对话期首进程( s e s s i o nl e a d e r ,对话期首进 程是创建该对话期的进程) 。此进程是该新对话期中的唯一进程。 ( 2 ) 此进程成为一个新进程组的组长进程。新进程组d 是此调用进程的进 程。 ( 3 ) 此进程没有控制终端。如果在调用s e t s i d 之前此进程有一个控制终端, 那么这种联系也被解除。 如果此调用进程已经是一个进程组的组长,则此函数返回出错。为了保证 不处于这种情况,通常先调用f o r k ,然后使其父进程终止,而子进程则继续。 因为子进程继承了父进程的进程组d ,而其进程d 则是新分配的,两者不可 能相等,所以这就保证了子进程不是个进程组的组长,因此这与步骤l 的处理 是吻合的。 再次调用f o r k ,并使得父进程e x i t 二 由于对话期和进程组有一些其他特性: 蓬瓤。:懑。,;l _ _ :氛 华中科技大学硕士学位论文 一个对话期可以有一个单独的控制终端( c o n t r o l l i n gt e r m i n a l ) 。这通常 是我们在其上登录的终端设备( 终端簦录情况) 或伪终端设备( 网络登录情况) 。 建立与控制终端连接的对话期首进程,被称之为控制进程( c o n t r o l l i n g p r o c e s s ) 。 一个对话期中的几个进程组可被分成一个前台进程组( f o r e g r o u n d p r o c e s sg r o u p ) 以及一个或几个后台进程组( b a c k g r o u n d p r o c e s sg r o u p ) 。 如果一个对话期有一个控制终端,则它有一个前台进程组,其他进程组 则为后台进程组。 无论何时键人中断键( 常常是d e l e t e 或c t r l c ) 或退出键( 常常是 c t r l a ) ,就会造成将中断信号或退出信号送至前台进程组的所有进程。 如果终端界面检测到用户已经脱开连接,则将挂断信号送至控制进程( 对 话期首进程。) 这些特性示于下图: 科 l l | 厂r 一二一= j 一二一二二一j 二一一一二一_ | l 圈 i 曰日 i 园圃! l l 蕊二夕画 氅 因此,再次调用触k ( ) 并使父进程退出将使得已经脱离终端的进程不再是 对话期首进程,即进程不具备再次获得控制终端的条件。 处理所有的信号句柄,使其指向s i g _ i g n ,忽略所有发给进程的信号。在 1 9 华中科技大学硕士学位论文 u n i x l i n u x 系统当中,信号作为软件中断提供了处理异步事件的方法。但是由 = fu n i x l i n u x 系统对进程接收到信号的默认动作大部分是终止进翟醣o r e d u m p , 因此为了避免守护进程后台工作时因接收到不期望的信号而意外退出,需要按 以下方式处理所有的信号句柄 1 2 11 1 3 1 。其中n s i g 是 头文件当中定义 的系统提供的信号量数目。 f o r ( r l = 1 ;n ( , p r o c 文件 系统的描述可知,p r o c 目录下的每一个数字目录当中都是系统当中正在运行的 对应p i d 的进程信息。特别的,在p r o c p i d p s i n f o 文件当中记录着对应p i d 进程 的状态信息,其文件信息内容为如下结构: s t r a c tp s i n f o ( u l o n g _ _ tp r _ f l a g ; p p r o c e s sf l a g s4 f u l o n g _ _ t p r n l w p ; 8n u m b e ro fl w p si np r o c e s s4 f u i dt p r _ u i d ; i 8r e a lu s e ri d4 | g i d tp rg i d ; pr e a lg r o u pi d8 p i d tp rp i d ;p u n i q u ep r o c e s si d $ p i d t p r _ p p i d ;| 4p r o c e s si do fp a r e n t4 p i d tpr_pgid;|4 p i do fp r o c e s sg r o u pl e a d e r 8 | 华中科技大学硕士学位论文 p i d _ t p r _ s i d ; ps e s s i o ni d4 c a d d rt p r _ a d d r ; 件i n t e r n a la d d r e s so f p r o c e s s 4 | l o n gp r _ s i z e ; 牌s i z eo f p r o c e s si m a g e i np a g e s4 | l o n gp r _ r s s i z e ; 8r e s i d e n ts e ts i z ei np a g e s8 t i m e s t r u c _ tp r _ s t a r t ;| 4p r o c e s ss t a r tt i m e ,t i m es i n c ee p o c h 4 | t i m e s t r u ctp r _ t i m e ;| 4u s r + s y sc p ut i m ef o rt h i sp r o c e s s4 f d e v _ t p r _ t t y d e v ; 4c o n t r o l l i n gt r yd e v i c e ( o r p r n o d e v ) 4 i c h a r p r _ f n a m e p r f n s z ;4 l a s tc o m p o n e n to fe x e c o e d p a t h n a m e + c h a r p r _ p s a r g s p r a r g s z l ;8i n i t i a lc h a r a c t e r so fa r g l i s t4 s t r u c tl w p s i n f op rl w p ; p ”r e p r e s e n t a t i v e “l w p + ) ; 其中的字符串p r _ f n a m e p r f n s z 给出了进程名,这正是我们需要的。服务 程序只需要根据m a i n 函数入口当中提供的a r g v 0 】,与p r f n a m e 进行比较即可。 需要注意的是,p r _ f n a m e 当中仅仅是进程名,而a r g v 0 当中包括加载路径信息, 服务进程在调用检测函数时需要处理掉路径信息。p i d t 类型变量p r _ p i d 当中包 含的是对应进程的p i d 号,在检测函数当中,需要将对应进程的p i d 号与凋用 进程的p i d 号对比,避免对自身的检测。 检测函数策略,遍历p r o c 目录当中的数字目录,按结构读取每一个目录当 中的p s i n f o 文件,并将其中的p r _ f n a m e 与服务进程的进程名( 通常以a r g v 0 取代) 相比较,在p rp i d 与调用进程不同,但p r _ f n a r n e 相同的情况下即可确认 有相同的进程运行于系统当中。服务进程可进一步调用l d l l o 数,发送 s i g k l l 信号或自定义的处理信号清理先前的服务进程。 需要注意的是,由于u n i x l i n u x 是多任务的操作系统,因此对检测函数的 调用,服务进程必须使用互斥方式访问p r o c 文件系统,以避免多份相同任务同 时加载时可能出现的检测错误。考虑到仅仅在程序加载之初检测,可以采用简 单的文件锁方式而不是信号量操作进行互斥操作。 华中科技大学硕士学位论文 4 主备通道服务程序的数据传输格式及传输策略 作为主备双机上层应用数据同步的唯一传输通道,同时也是平台子系统状 态维护数据的协调通道,对主备通道服务程序的传输速度提出了一定的要求。 从整个系统的要求而言,考虑到系统加电加载之后备用端需要尽快进入热备份 状态,则主边必须要在短时间内将大量数据同步到备边。一般来说,要求达到 3 m b s 。因此,如何保障主备通道的畅通以及如何设计主备通道服务程序的数 据传输格式以及传输策略成为整个平台子系统维护功能成功的关键。 主备通道服务程序的模型可以用图4 1 描述: l a 机 b 机 s o c k e t 套接字通信 图4 - i 主备通道服务程序服务模型图 上层应用 台子系统服务 操作系统 在对上层的应用程序接口上,使用平台服务程序当中的另一模块消息 队列模块实现与上层应用的接口;在操作系统和网络服务层面,采用s o c k e t 套 接宇完成网络通信。 4 1 网络故障检测和非阻塞s o c k e t 传输 主备通道服务程序作为一个处于系统底层的网络服务程序,不可避免的需 华中科技大学硕士学位论文 ! ! ! ! ! 墨! 寰, 2l i ! i - i 1 l 皇皇! ! ! ! ! ! ! ! ! ! ! 竺皇! ! ! ! ! ! ! ! ! 皇 要面对网络故障情况。然而,在通常的网络程序设计当中,由于操作系统缺省 的将网络操作设定为阻塞方式t 2 0 z 3 1 ,往往导致服务程序无法及时检测到发生 的网络故障。这在h a 系统设计当中是不允许的。 在u n i x l i n u x 系统当中,为了提高系统相应速度,通常把程序可以使用的 系统调用分成两类:低速系统调用和其他系统调用。低速系统调用是可能会使 进程永远阻塞的一类系统调用,它们包括“0 1 h l l i 在读某些类型的文件时,如果数据并不存在则可能会使调用者永远阻塞 ( 管道、终端设备以及网络设备) ; 在写这些类型的文件时,如果不能立即接受这些数据,则也可能会使凋 用者永远阻塞; 对已经加上强制性记录锁的文件进行读、写。 打开文件,在某种条件发生之前也可能会使调用者阻塞( 例如,打开终 端设备,它要等 待直到所连接的调制解凋器回答了电话) ; p a u s e ( 按照定义,它使调用进程睡眠直至捕捉到一个信号) 和w a i t : 某种i o c t l 操作; 某些进程间通信( m c ) 函数。 由此可见,主备通道程序当中涉及到的网络操作属于对低速设备的操作, u n i x l i n u x 系统将采用低速的系统调用进行网络数据处理,而低速系统调用导 致的一个后果是造成服务进程阻塞。如果在服务进程进入阻塞状态之后,发生 网络物理设备失效,如网线中断、路由器损坏等情况,则由于数据无法到达使 得服务进程无法退出阻塞,造成主备通道故障无法告警。并且,在这种情况下, 即便网络物理通遣陕复正常,服务进程依然无法退出阻塞,形成误告警;另一 方面,如果一个服务程序当中涉及多个s o c k e t 描述符的操作,若对一个s o c k e t 的操作发生阻塞,必然影响到对另个s o c k e t 操作的相应速麦匿此,主备通 道服务程序设计当中,如何避免服务进程长期处于阻塞状态是深漳a 艮务程序服 务品质的重要因素。 华中科技大学硕士学位论文 解决s o c k e t 阻塞问题有以p 方票: 1 定时器方案。使 羁a l a r m ( ) 函数调用设旨定“j 婴 没置最长翅1 、j 矧, 避免服务程序长期陷入阻塞。根据u n i x l i n u x 对信号处理的特性,如聚拒进程 执行一个低速系统调用而阻塞期间捕捉到一个信号,则该系统调用就被c ;断不 再继续执行。该系统调用返回出错,其e r r n o 没置为e l n t r 。这样处理的理由 是:因为一个信号发生了,进程捕捉到了它,这意味着已经发生厂某种事情, 所以是个好机会应当唤醒阻塞的系统调用。另一方面,我们要注意的是信号属 于软件中断,因此需要设置中断处理函数或者使用s i g i g n 忽略它。当然,如 果按照前述守护进程设计步骤,所有的信号都在守护进程的设计当中予 i 忽略 了。使用a l a r m ( ) 函数的优点在于其将超时判决与防止进程阻塞相结合,简化了 程序设计。但是,在每一个系统调用之前需要设置a l a r m ( ) 定时数值,而在正常 调用之后需要使用a l a r m ( 0 ) 取消定时,反复的a l a r m ( ) 调用在一定程度上增加了 系统负荷。并且,a l a r m ( ) 并不能避免多s o c k e t 操作当中在单个s o c k e t 上的阻塞 对其他s o c k e t 操作的影响。 2 非阻塞s o c k e t 套接字。使用i o c t l f c n t l 函数将s o c k e t 句柄同时三认为 是文件操作符) 的操作方式更改为o n o n b l o c k - j o n d e l a y ,即十阻塞方 式:这是防止操作阻塞的最简单方法,系统凋用的在操作r 数据写八或j 耍取, 不可用的情况下立即返回,并设置e r r n o 全局变量。服务进程只需设置超时检 测机制即可有效检测网络故障。同时这种机制还町以处理多个s o c k e t 操作,即 存一个s o c k e t 读写不可用的情况下转向另一个s o c k e t ,形成轮询= 堑乏 n 于系 统调用处于非阻塞方式,在网络数据流量不大的清况下r 主备通道程,f 仅在单 边故帝改复时出现大量数据倒换) ,绝大部分的系统调片j 均没有实际约数据瑜八 输出,浪费了大量的c p u 时间 因此这种操作方式适于次数较少j 臻作而 非频繁的调用r 在c o n n e c t ( ) 函数词用,即建讧s o c k e t 连接三童程当i 一。,芝j 目此 类菲阻寨i o , 华中科技大学硕士学位论文 墨i l l ii,i i i i 1 从s c ou n i x w a r e 当中对c o n n e c t ( ) 函数在非阻塞方式的说明当中可知,在 非阻塞方式下,当c o n n e c t ( ) 不能立即建立连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邮储银行2025威海市秋招笔试性格测试题专练及答案
- 工商银行2025三沙市数据分析师笔试题及答案
- 2025年3D打印技术的材料
- 工商银行2025忻州市信息科技岗笔试题及答案
- 交通银行2025沈阳市数据分析师笔试题及答案
- 交通银行2025四平市笔试行测高频题及答案
- 2025行业全球市场发展策略
- 2025数字乡村建设与行业发展报告
- 中国银行2025七台河市秋招笔试英语题专练及答案
- 建设银行2025太原市小语种岗笔试题及答案
- 廉租房承包物业合同范本
- 文学社教学课件
- 中小学心理健康c证考试试题及答案
- 污水厂工艺知识培训课件
- 2025年中学教师资格证考试(科目二)教育知识与能力冲刺试卷
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
- 2025年黑龙江全国导游人员资格考试(全国导游基础知识、地方导游基础知识)历年参考题库含答案详解(5套)
- 分级护理落实率
- 中小企业风险管理(新)
- 幼儿园改造提升项目可行性研究报告
- 2025年贵州省行政执法人员考试题库及答案
评论
0/150
提交评论