(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf_第1页
(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf_第2页
(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf_第3页
(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf_第4页
(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机系统结构专业论文)电力调度系统录音服务器的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

培 、 j + ; i 。 at h e s i sf o rt h ed e g r e e d e s i g na n di m s e r v e ri n b yd o u w e n l i s u p e r v i s o r :p r o f e s s o rg a of u x i a n g n o r t h e a s t e r nu n i v e r s i t y m a y 2 0 0 8 l 1 li i 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谓 的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示 谢意。 学位论文作者签名: 日 期:z d d 寥) 1 , 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年曰一年口一年半口两年口 学位论文作者签名:妨) 签字日期:2 d o g - 7 导师签名: 欠久刁 、 一 签字日期:溯_ o ( 吖匹1 l _ ,一 _ 东北大学硕士学位论文摘要 电力调度系统录音服务器的设计与实现 摘要 电话录音是电力部门进行指挥调度工作的必要环节和控制手段。n g n 时代的到来 和软交换技术的发展,使基于i p 的电力调度通信网和v i o p 电话成为未来电力调度系统 的通信环境和主要调度工具。本文在分析电力调度系统录音需求的基础上,提出了基于 新一代电力调度通信网的分布式录音解决方案,并对系统中的录音服务器软件进行了详 细设计与实现。 录音服务器部署于电力调度系统的调度总中心,它的主要工作包括两类:一方面通 过与各网络前置机交互,在本地集中存储与管理录音数据和通话信息;另一方面则为系 统用户提供如录音信息查询、话机状态实时显示、通话实时监听等系统服务。由于电力 调度系统自身的组织具有层次性,录音服务器对系统中的用户实施了分级管理和权限控 制。此外,作为服务器端软件,其软件设计满足了反应速度快、系统伸缩性好等性能要 求。 本文首先介绍了电力调度系统的概况和组织结构,对现有录音系统的原理和不足进 行了简要分析。在描述了系统开发的相关技术后,给出了录音系统的整体结构设计方案。 然后着重介绍了录音服务器的总体软件设计,并对后台数据库中的基本信息表进行了表 述。接下来,文章详细阐述了录音服务器的具体实现,包括软件整体技术方案选择、自 定义消息结构说明以及关键功能模块的设计与研究。最后,文章给出了系统的测试结果 和整体评价,并对系统进一步的扩充和完善做出了展望。 关键词:电力调度;录音服务器;多线程;完成端口 一i i p i 与 一 东北大学硕士学位论文a b s t r a c t d e s i g na n di m p l e m e n t a t i o no f v o i c er e c o r d i n gs e r v e r a bs t r a c t p h o n er e c o r d i n gi st h en e c e s s a r ys t e pa n dc o n t r o lm e t h o df o rp o w e rs y s t e mw h e n c o m m a n d i n ga n dd i s p a t c h i n g w i t ht h ec o m i n go fn g ne r aa n dt h ed e v e l o p m e n to f s o f t s w i t c ht e c h n o l o g y , p o w e rd i s p a t c h i n gc o m m u n i c a t i o nn e t w o r k sb a s e do ni pa n dt h ev o i p p h o n ew i l lb et h eu s e di np o w e rs y s t e mi nt h ef u t u r e o nt h e b a s i co fa n a l y z i n gp h o n e r e c o r d i n gr e q u i r e m e n t ,t h i st h e s i sg i v e sad i s t r i b u t e dv o i c er e c o r d i n gs o l u t i o na d a p t i n gt ot h e n e wc o m m u n i c a t i o ne n v i r o n m e n to f p o w e rs y s t e m a n dd i s c u s s e st h e d e s i g n a n d i m p l e m e n t a t i o no fv o i c er e c o r d i n gs e r v e rs o f t w a r ei nt h i ss y s t e m v o i c er e c o r d i n gs e r v e ri sl o c a t e di nt h ef i r s t l e v e ld i s p a t c h i n gc e n t e ro fp o w e rs y s t e m t h e r ea r et w ok i n d so ft a s k sf o ri t o no n eh a n d ,a l lt h ev o i c er e c o r d i n gd a t aa n dr e l a t i v e i n f o r m a t i o na r em a n a g e dc e n t r a l l yb yt h es e r v e rt h r o u g hc o m m u n i c a t i n gw i t hn e t w o r k f r o n t e n dc o m p u t e r s o nt h eo t h e rh a n d ,v a r i o u ss e r v i c e sa r ep r o v i d e dt os y s t e mu s e rs u c ha s v o i c e r e c o r d i n gi n f o r m a t i o nq u e r y i n g ,p h o n es t a t er e a l - t i m ed i s p l a y , r e a l - t i m ec a l l i n g m o n i t o r i n ga n ds oo n a st h eo r g a n i z a t i o no ft h ep o w e rd i s p a t c h i n gs y s t e mi sh i e r a r c h i c a l , d i v i d i n gs y s t e mu s e r si n t od i f f e r e n tl e v e l sa n dg i v i n gt h e md i s t i n c tp r i v i l e g e si sa l s oa ni s s u e f o rv o i c er e c o r d i n gs e r v e r m o r e o v e r , r e s p o n d i n gt ot h ec l i e n t s r e q u e s t si nt i m ea n dh i 曲 s c a l a b i l i t yi st h er e q u i r e m e n tt h es e r v e rn e e d st os a t i s f y f i r s t ,i nt h i st h e s i s ,t h eo v e r v i e wo fp o w e rd i s p a t c h i n gs y s t e mi si n t r o d u c e da n dt h e nt h e p r i n c i p l ea n ds h o r t a g eo fe x i s t i n gv o i c er e c o r d i n gs y s t e m sa r ea n a l y z e d a f t e rl i s t i n gs o m e r e l a t i o n a lt e c h n i q u e s ,t h ew h o l ed e s i g nf r a m e w o r ko ft h ev o i c er e c o r d i n gs y s t e mi sg i v e n t h e nt h ew h o l es o f t w a r es t r u c t u r eo fv o i c er e c o r d i n gs e r v e ri sd e s c r i b e da n dc o n t e n t s c o n c e r n i n gt h ec k l t a b a s et a b l e sa r es t a t e d a f t e r w a r d s ,t h ei m p l e m e n t a t i o no fv o i c er e c o r d i n g s e r v e ri s e x p l a i n e d i n d e t a i l ,i n c l u d i n gt h es e l e c t i o n o fs o f t w a r e t e c h n i q u es c h e m e , i l l u s t r a t i o n so ns e l f - d e f i n i t i o nm e s s a g es t r u c t u r ea n dt h ed e s i g no fk e yf u n c t i o n a lm o d u l e s f i n a l l y , t h et e s t i n gr e s u l ta n do v e r a l le v a l u a t i o na b o u tt h i ss y s t e ma r eg i v e n ,a n dt h ef u r t h e r r e s e a r c ho ns y s t e me x t e n s i o na n di m p r o v e m e n ti sp o i n t e do u t k e y w o r d s :p o w e rd i s p a t c h i n g ;v o i c er e c o r d i n gs e r v e r ;m u l t i - t h r e a d ;c o m p l e t i o np o r t i i i 东北大学硕士学位论文 目录 目录 独创性声明i 摘要i i a b s t r a c t i i i 第1 章引言1 1 1 电力调度系统简介1 1 2 电话调度与录音2 1 3 录音系统研究现状2 1 4 课题的提出4 1 5 论文组织结构6 第2 章系统相关技术。7 2 1 多线程技术7 2 1 1 多线程概念的引入7 2 1 2 多线程技术的优势8 2 2 套接字i 0 模型l o 2 2 1 阻塞i o 模型1 0 2 2 2s e l e c t 模型1 0 2 2 3w s a a s y n c s e l e c t 模型1 2 2 2 4w s a e v e m s e l e c t 模型。1 2 2 2 5o v e r l a p p e di o 模型1 3 2 2 6 完成端口模型1 3 2 2 7e p o l l 模型15 2 3 本章小结15 第3 章系统分析与设计1 7 3 1 系统分析1 7 3 2 系统总体设计1 8 3 2 1 录音系统整体结构1 8 3 2 2 录音服务器软件设计1 9 3 2 3 系统平台与开发环境2 2 3 3 数据库设计2 3 3 3 1 表设计规范2 3 一i v 东北大学硕士学位论文 目录 3 3 2 系统表设计2 3 3 4 本章小结2 8 第4 章录音服务器软件实现2 9 4 1 软件整体技术方案选择2 9 4 1 1 服务器框架模型选择2 9 4 1 2 数据库访问技术选择3 1 4 1 3 网络通信协议选择3 2 4 1 4 网络连接方式选择3 3 4 2 自定义消息结构3 3 4 3 系统关键模块设计与实现3 5 4 3 1 底层通信模块3 5 4 3 2 用户登录管理模块4 3 4 3 3 实时录音处理模块4 5 4 3 4 磁盘与文件管理模块4 6 东北大学硕士学位论丈第1 章引言 第1 章引言 1 1 电力调度系统简介 诞生于2 0 世纪的大规模电力系统是人类工程科学史上最伟大的成就之一。电力系 统是电力的生产与消费系统,它将自然界的一次能源通过发电动力装置转化为电能,再 经输电、变电系统和配电系统将电力供应到各负荷中心,通过各种设备再转换成动力、 热、光等不同形式的能量,为地区经济和人民生活服务。电力系统的出现,使高效、无 污染、使用方便、易于调控的电力能源得到广泛应用,推动着社会生产各个领域的迅猛 发展。电力系统建设是国家及地区国民经济发展规划的重要组成部分。电力系统的规模 和技术水准已成为一个国家经济发展水平的重要标志。 电力的生产、输送、分配和消费都在同一时间内完成,并在同一地域内有机地组成 一个整体。基于这个特点,电力生产必须时刻保持与消费之间的动态平衡。因此,需要 一个统一的调度指挥机构对电力系统进行实时的调度和控制。为保证电力系统的生产指 挥、数据传递、日常生产管理等方面的信息迅速、准确和可靠的传输,电力系统建立了 电力调度通信网。 电力调度通信网是独立于电力行政通信网的专用通信网,其主要职责是传输和交换 调度人员的操作命令、进行经济调度、处理事故等信息,它是指挥电力系统安全、稳定、 经济运行的重要指挥工具,其质量的优劣直接影响着电网运行的安危u j 。 电力系统是一个分布面广、设备量大、信息参数多的系统,发电厂发出电能供给用 户,必须经几级变压器变压才能传输。各级电压通过输电线路向用户供电,电压从低到 高,再从高到低,这样有利于能量的传送。电压的变换,形成不同的电压级别,也形成 了一个个不同电压级别的变电站,变电站之间是输电线,这样构成了复杂的电力网拓扑 结构。电网调度正是按照电网的这种拓扑结构进行管理和调度的。 一般情况下,电网按电压级别设置调度中心,电压级别越高,调度中心的级别也越 高。整个系统是一个宝塔型的网络图。分级调度可以简化网络的拓扑结构,使信息的传 送变得更加合理,从而大大节省通信设备,并提高了系统运行的稳定性。 中华人民共和国电力法规定,电网运行实行统一调度、分级管理;电网调度 管理条例明确,调度机构分为五级,即国家调度机构,跨省、自治区、直辖市调度机 构,省、自治区、直辖市级调度机构,省辖市级调度机构,县级调度机构。目前我国已 建立了较完备的五级调度体系,分别是国家电力调度通信中心,简称国调;东北、华北、 华东、华中、西北、南方电力调度通信中心,简称网调;各省( 直辖市、自治区) 电力 公司电力调度通信中心,简称省调;还有2 7 0 个地调和2 0 0 0 多个县调。各级调度机构 一】 东北大学硕士学位论文第1 章引言 对各自调度管辖范围内的电网进行调度, 段,指挥和保证电网安全稳定经济运行, 1 2 电话调度与录音 依靠法律、经济、技术并辅之以必要的行政手 维护国家安全和各利益主体的利益。 在电力生产和电网运行中,电力调度系统承担着极其重要的责任。它的首要任务是 保障电网安全、稳定、正常运行和对电力用户安全可靠供电。一旦电网发生故障,调度 系统要按电网实际情况并参考处理预案,迅速、准确地控制故障范围,保证电网正常运 行,避免对电力用户供电造成影响。此外,电力调度系统应能时刻保证电能质量,保持 频率、电压、波形等参数符合既定标准。这就要求调度系统在电力系统实际运行过程中, 一方面要依靠先进的调度自动化通信系统,密切监视发电厂、变电站的运行工况和电网 安全水平,迅速处理时刻变化的大量运行信息,正确下达调度指令;另一方面要实时调 整发电出力以跟踪负荷变化,满足用电需求。 调度系统的任务和要求决定了调度指令的下达必须满足实时性与准确性。在各种通 信手段中,电话具有通话距离长、信息交互快、操作方便快捷的优点,因而电力系统的 调度往往采用电话调度的方式进行。 然而使用电话作为电力调度手段有一个不容忽视的问题:电话通信虽具有良好的实 时性,但通话过后无法回忆和追查通话的历史信息。这在电力系统这一对安全和稳定要 求极高的特殊领域是不允许的。电力调度中调度指令必须得以正确记录,以避免事后说 不清的麻烦,为查找事故、分清责任、监督工作提供更好的管理手段和依据。 因此,在电话引入电力调度系统的同时,电话录音【2 】成为必不可少的环节和控制手 段。我国相关法令规定:电力单位在进行电力调度时必须将所有电话通话内容全程录音 存证,以备事故或错误发生时责任之追查。录音系统已成为电力调度系统中不可或缺的 重要组成部分。 1 3 录音系统研究现状 最早出现的录音设备是基于模拟话音存储的,它将传统电话和录音机相结合,通话 时便启动录音机对电话线路上的语音进行录制并存储在磁带等介质上。当时主要是应用 于军事、民航、安全等特殊部门。由于磁带是一种顺序存储设备,使得该系统虽能进行 较长时间的录音,但查询和检索极其困难。并且长时间的反复使用会造成磁带的损伤, 引起录音音质的下降【3 j 。 随着计算机技术的不断发展和个人计算机的不断普及,人们尝试着将录音技术和计 算机技术相结合,录音系统从此迈入数字录音时代。数字录音系统依托计算机高速的运 算能力和大容量的存储空间,实现了录音资料存储的数字化,使得资料的查找和备份都 一2 一 东北大学硕士学位论文第1 章引言 极为快速和方便。 目前,较成熟的电话录音系统主要分为两大类:使用语音卡的电话录音系统和使用 录音盒的电话录音系统。 使用语音卡的电话录音系统通过在计算机上安装语音卡实现录音功能。电话语音卡 主要由一块主板和若干接口模块组成,内含多线,可对多部电话同时录音。语音卡以板 卡的形式插入电脑主板插槽进而和主机相连接,一台计算机可同时插入多块语音卡使之 共同工作。该系统目前被较广泛使用在如呼叫中心、客户服务中心等电话分布比较集中 的单位和部门。但由于大部分的语音卡均基于p c i 插槽形式,使得价格较为昂贵,而且 受计算机插槽数量、地址及中断资源的限制,可扩展性不高。尤其是在电磁干扰较强的 环境中,无法专门对其作电磁屏蔽,容易导致数据丢失,使声音失真 4 1 【5 】。 使用录音盒的电话录音系统通过外置的录音盒进行电话录音。录音盒中内置单片机 和d s p 处理芯片,通话话音经a d 转换和编码处理后通过接口传入计算机中。根据与 计算机相连接口的不同,可分为串并口录音盒系统和u s b 接口录音盒系统。前者通过 接口线直接接入计算机外置串并口,由于计算机提供的串并口有限,而传统的串并口都 是点对点连接,即一个接口只能支持一个设备,从而限制了该类录音盒的连接数量和使 用。u s b 接口录音盒系统目前使用较为广泛,它具有价格低廉、支持热插拔、传输速度 快、通过u s b 接口即可为设备供电等优点,但该录音盒支持的线路有限,一般为4 1 6 电话线以下,且u s b 的过热保护机制无法保证其长期稳定运行。因而该系统往往使用 在追求低成本的中小企业中【6 j 【7 1 。, 在早期应用时,以上两类录音系统在工作时往往将通话数据保存在与之直连的p c 上,事后如需进行录音数据的查询与检索工作,则只能直接操作本机。这种录音与查询 的本地性极大的限制了使用的范围和场合。 计算机网络的发展给各类计算机应用注入了新的生机和活力,录音系统也随之推出 了基于网络的新形式。基于c s 结构的服务与计算模式使得服务器软件出现在录音系统 中。早期的c s 模型只是简单的查询终端与录音系统的分离。录音设备和服务器所在的 计算机直接相连,不经由网络;查询终端通过客户端的形式与服务器交互获取数据信息。 录音和查询工作借助计算机网络得以分布进行,这在一定程度上扩大了系统应用的范 围。但对于话机分布范围较广且较分散的应用场合,这种服务模型就显得力不从心了。 人们根据话机分布的网络拓扑结构,依托现有录音系统运行架构,在中心管理节点增设 录音服务器,在各网络节点分布运行录音终端,通过软件程序控制,将录音设备在本地 存储的通话数据定时上传至中心服务器集中存储,查询客户端通过网络仍与服务器进行 交互,从而实现了多录音终端分布运行,录音数据集中管理的良好系统构架【8 】。 一3 一 东北大学硕士学位论文 笫l 章引言 1 4 课题的提出 上述的录音系统和系统架构在当前的电力调度系统中都得到过较为普遍的使用,在 一段时间内满足了电力系统调度录音的基本需求。但计算机技术和网络通信技术的发展 一日千里,它们正迅速改变着信息社会,为世界的每一个角落不断注入新的生机和活力。 适应新技术、结构更加合理与完善的录音系统呼之欲出。 当前,在信息技术的迅猛发展带动下,电力调度通信网承载的业务越来越多。既有 传统的语音业务,如行政电话、调度电话等,又有数据业务和多媒体业务。而这些业务 目前均采用不同的网络来承载,既有程控交换网,又有异步传送模式( a t m ) 数据网,还 有多业务传输平台( m s t p ) 基础传输网,如图1 1 所示。 信息 调度 生产管营销调度继视频行政调度 o a 理系统 系统自动化 保 业务电话 电话 ili l : iii i iiiiii iiill iili i i iill ilil 0士山1r 、r 、r 、r、 ,山士、 r、,山、, i pa t m s d h m s t p 光网络 图1 1 目前电力通信网通信业务模式 f i g 1 1p r e s e n ts e r v i c ep a t t e mi ne l e c t r i cp o w e rc o m m u n i c a t i o nn e t w o r k 图中可看出,各种业务均通过不同的独立网络来实现,这些分离的网络和业务难以 实现良好的融合,造成现有电力调度通信网综合业务提供能力差、用户使用不方便的弊 端,同时,各个网络运维成本较高、管理配置十分复杂。, 面对现有电力通信网中的缺点和不足,国家电网公司2 0 0 6 年召开工作会议,以“十 一五 国家电网公司发展为主题,以企业创新发展为理念,制定了国家电网公司“十 一五”通信发展规划。在该规划中,提出了“积极跟踪和研究通信新技术,采用 先进、成熟和标准统一的通信技术,继续发挥现有技术和设备的作用,保持电力通信技 术的适度超前,不断提高通信系统在电网企业发挥的效益和作用 的总体通信技术发 展路线p j 。 下一代i 网络( n g n 1 0 】【l l 】,n e x tg e n e r a t i o nn e t w o r k ) 概念的提出,在网络开放性方面 一4 一 东北大学硕士学位论文第1 章引言 迈出了第一步,代表了网络发展的方向。它的目标是实现从“一个网络项服务”向“单 一网络多项服务”的转变。它主要基于分组技术,能够提供包括电信业务在内的多种业 务。它涵盖了传送网、i p 网、业务网、软交换等多项网络技术。n g n 建立在业务与下 层传送功能分离的基础上,业务独立于网络,有效地克服了传统电信网在提供新业务方 面的弱点,迎合了面向业务来发展网络的思想。在过去几年里,国内外各大运营商都相 继进行了n g n 的试验,成功地在n g n 网络上进行了数据、话音、视频等媒体的传送, 充分体现了n g n 网络的发展潜力【l 2 | 。 软交换【l3 j 是下一代网络的重要组成部分,是n g n 的控制单元,其主要设计思想是 将传统交换机中的呼叫控制单元从交换机中分离出来,形成n g n 中的控制层面。通过 标准协议与ng n 网中的其他单元进行通信,软交换能够整合语音、数据与图像,在媒 体设备和媒体网关的配合下,通过计算机软件编程的方式来实现对各种媒体流进行协议 转换,并基于分组网络的架构实现i p 网、p s t n 网、无线网等的互连【l4 1 ,以提供和电路 交换机具有相同功能并更便于业务增值和灵活伸缩的设备和服务。在软件换技术的研究 中,也随之出现了如s i p 、h 2 4 8 、m g c p 等一系列灵活先进的网络协议 15 1 。在向n g n 平滑演进后的电力通信网业务模式将如图1 2 所示【l6 1 。 信息调度 生产管营销多媒体行政调度继 o a 理系统 系统电力应用调度电话自动化保 lili i ii li iiiiil lliiii iiii iiiii广一一 iiliii iillil iiiiii lilili iiii1 00士士 、 rr i p m s t p d w d m 光网络 图1 2 演变后的电力通信网通信业务模式 f i g 1 2s e r v i c ep a a e mi ne l e c t r i cp o w e rc o m m u n i c a t i o nn e t w o r ka f t e re v o l u t i o n 图中可看出,基于i p 网络的电力n g n 平台将承担起未来电力通信网络的大部分业 务。通过在电力调度通信网中引入软交换技术,在i p 层面上可提供丰富的接入手段, 电力通信网络将建设成为融合数据、语音、视频业务的宽带综合业务网络,从而提高电 力行业通信和信息化水平;通过在多媒体业务流中使用各种压缩算法,可比目前的程控 交换业务流节省更多的带宽资源,极大提高了带宽的利用率;i p 网络下,用户接入系统 一5 一 东北大学硕士学位论文第1 章引言 时的密码验证机制和安全证书等方式很好的保证了用户的信息安全;系统的运行维护管 理大大简化,系统配置更加便捷;此外,投资更加经济,系统互联互通性也得到大大增 强【1 7 】。 正因为n g n 在建网中具有不可比拟的优势,电力调度通信网与软交换技术的融合 已成为发展的必然。调度通信网的i p 化、v o i p 1 8 】【1 9 1 电话的引入和通话线路的真正数字 化使得原有的录音技术和录音系统己无法满足新环境下的录音要求。如何在新一代电力 通信网结构的基础上设计和实现录音系统,实现对v o i p 话机录音的集中管理,为用户 提供便捷有效的录音查询和话音监听等服务就成为本课题关注的问题。 1 5 论文组织结构 本论文以新的电力调度通信网为载体,通过采集电力调度系统录音的相关需求,对 电力调度录音系统的整体结构和录音服务器软件进行了系统设计和具体实现。本论文的 组织结构如下: 第1 章,简要介绍了电力调度系统、电话调度方式和录音的重要性,分析了现有录 音系统的现状,在软交换和电力调度网融合的新环境下提出了本课题。 第2 章,介绍了系统开发的相关技术,包括多线程技术、套接字概念及其i o 模型。 第3 章,在分析电力调度系统录音需求的基础上,提出了录音系统的整体结构和录 音服务器的软件设计,介绍了系统开发环境以及后台数据库的设计。 第4 章,详细讨论了录音服务器的软件实现,包括软件整体技术方案选择、自定义 消息网络消息结构介绍以及系统关键功能模块的设计与实现等几方面内容。 第5 章,使用实验室设备搭建了模拟录音测试环境,对服务器软件的核心功能进行 了测试和评估。 第6 章,总结了本文的主要研究内容和未来可以继续开展的工作。 一6 一 东北大学硕士学位论文 第2 章系统相关技术 2 1 多线程技术 第2 章系统相关技术 2 1 1 多线程概念的引入 在多线程概念引入计算机领域之前,进程一直作为计算机系统资源分配和运行的基 本单位。“进程”这一术语,是2 0 世纪6 0 年代初期,在美国麻省理工学院的m u l t i c s 系统和i b m 公司的c t s s 3 6 0 系统中首次引入的。 进程是操作系统中最基本、重要的概念。所有的多道程序设计操作系统都建立在进 程的基础上。我们可以简单给出进程的定义:进程是程序的一次执行过程。但它与程序 是截然不同的两个概念。它不仅仅是程序的代码,它可以申请和拥有系统资源,是一个 动态的概念,是一个活动的实体。 运行中的进程有三种基本状态 2 0 】【2 1 1 ,如图2 1 所示。 图2 1 进程的三种基本状态与相互关系 f i g 2 1t h r e eb a s i cp r o c e s ss t a t e sa n di t sr e l a t i o n s h i p s ( 1 ) 就绪状态 当进程已分配到除c p u 之外的所有必要资源后,只要再获得c p u ,便可立即执行。 这时的进程状态称为就绪状态。 ( 2 ) 执行状态 指进程已获得c p u ,其程序正在执行。在单处理器系统中,只能有一个进程处于执 行状态。在多处理器系统中,则可以有多个进程处于执行状态。 ( 3 ) 阻塞状态 进程因发生某事( 如请求i o 、申请缓冲区空间等) 而暂停执行时的状态,亦即进 程的执行受到阻塞,故称这种暂停状态为阻塞状态,有时也称为等待状态或睡眠状态。 在进程三态模型的框架下,通过操作系统对多进程的调度,使多个应用程序可同时 一7 一 东北大学硕士学位论丈 第2 章系统相关技术 在计算机中运行,较单任务系统大大改善了资源利用率和系统吞吐量。 计算机理论的不断成熟和应用本身的驱动,对系统性能的提高提出了进一步的需 求。在许多实际应用系统中,如事务处理系统、数据库处理系统、窗口系统以及操作系 统本身,经常需要同时处理多个服务请求,而对这些服务请求的处理不仅运行的是同一 服务程序,更需要基于同一地址空间和同一数据区。例如,数据库服务器软件需要同时 处理来自多个客户机的数据查询请求,这些请求都是针对同一数据库的。 对于这种“基于同数据区的同时多请求”情况,用进程模型来实现时,只有下列3 种方法【2 2 】: ( 1 ) 用一个进程顺序处理所有的请求。当一个请求正在被处理时,其他请求只能处 于等待状态。显然,这种方案会导致较长的等待队列和较慢的响应时间。并且当该进程 因处理某一请求而处于资源等待状态时,别的请求无法介入,处理器资源被极大的浪费 掉了。 ( 2 ) 用一个进程并发处理所有的请求。只要还有其他请求需要处理,该进程就不进 入等待状态。当因某请求而需等待系统资源时,该请求的处理状态被记录下来,进程继 续为别的请求服务,当资源得到,进程再适时为前一请求服务。显然,在这种方案下, 进程需要记录所有请求的处理状态,并在这些请求间进行切换和轮换服务。这无疑加重 了该进程的负担和复杂性。而实际上,这种管理是一种应用无关的需要,不应由用户进 程来承担,虽然该方式取得了一定程度的高性能,但编程难度大大增加。 ( 3 ) 用多个相互独立的进程,每个进程负责处理一个请求。这种方案不会出现上述 的矛盾和浪费局面,但显然这些进程间需要大量的、复杂的共享机制和通信机制,而且 需要大量的进程,每个进程都要占用一套完整的进程管理信息。这些进程频繁的动态建 立和销毁,频繁的进行进程切换,造成了巨大的系统开销。而且,由于这些进程处理的 大部分数据是相互共享的,运行的程序也是同一的,这种开销带有了时间和空间上的冗 余性。这既是问题存在的根源,也是解决问题的潜力所在。 从上述分析可以看出,以上三种方法都不能很好的解决和实现“基于同数据空间同 东北大学硕士学位论文第2 章系统相关技术 程的容器。当进程被创建时,系统会自动创建属于它的第一个线程,即主线程。通过该 线程可以创建更多的线程,甚至可以创建新的进程。这些线程共享进程的地址空间和进 程拥有的系统资源。每个线程在系统中对应一个线程内核对象,系统通过它对线程实施 控制管理。线程拥有自己的堆栈空间,用于维护线程自身运行时的c p u 现场及管理信 息。 多线程模型下的多任务工作原理图如图2 2 1 2 3 1 所示。 图2 2 多线程系统工作原理 f i g 2 2w o r k i n gp r i n c i p l eo fm u l t i - t h r e a ds y s t e m 从图中可以看出,系统把c p u 时间分配给了线程。通过c p u 的调度,每个进程中 的线程都有执行机会,每个进程的任务都会被执行。由于c p u 的高速运行,达到了多 线程同时运行的效果。 在系统中引入多线程技术的优点是: ( 1 ) 线程总是在进程的环境中被创建,它利用进程中的资源支持自己的运行,其自 身只需使用很少的内存保存运行时信息,进一步减小了调度的开销。 ( 2 ) 线程的引入解决了顺序执行中因系统调用的阻塞而损失的性能,线程模型保持 了顺序进程的思想,可以继续使用阻塞型的系统调用,但并行性得到显著提高。 ( 3 ) 多线程技术简化了同一问题的编程复杂性,通过共享进程资源,使得多线程间 的通信及协作更加便利。 ( 4 ) 随着多处理器系统的广泛使用,多线程技术能更加发挥它的功用。在多处理器 环境下,同一地址空间的多个线程真正的得到了并行。 多线程技术具有先进性和良好的效果。正因为多线程技术提高了系统性能和c p u 利用率、减少了实现开销、提高了并发性、简化了编程,在系统软件设计和系统开发中 使用多线程技术已成为一种趋势和倍受关注的话题。 一9 一 东北大学硕士学位论文第2 章系统相关技术 2 2 套接字i 0 模型 套接字( s o c k e t ) 2 4 1 ,是建立在计算机网络传输协议上的一套基本通信构件,其概 念和思想由美国d n j i i 大学b e r k e l e y 分校最早提出。它为分布式环境下的网间进程间通信 提供了通信规范和高层抽象。s o c k e t 屏蔽了底层网络通信的具体细节,应用程序通过访 问类似文件i o 的简单接口即可进行数据收发与交互。s o c k e t 的出现为程序员编写网路 应用程序提供了便利,在一定程度上也推动了计算机网络和计算机应用技术的发展。 s o c k e t 及其规范最早是在u n i x 操作系统下使用的。由于其良好的设计理念和日渐 流行的发展趋势,9 0 年代初,由s u nm i c r o s y s t e m s 、j s bc o r p o r a t i o n 、f t ps o f t w a r e 、 m i c o r d y n e 和m i c r o s o f t 等几家公司对s o c k e t 的u n i xb s d 版本进行扩展,制定了 w i n d o w ss o c k e t s 标准闭,将s o c k e t 成功移植到w i n d o w s 系统下。两大主流操作系统对 s o c k e t 的支持极大扩展了它的使用范围,套接字已成为当前最流行的网络通信应用程序 接口之一。随着计算机技术的不断发展,套接字也在不断发展和完善,u n i x 和w i n d o w s 系统都在传统套接字通信模型的基础上提出了各具特色的s o c k e ti o 模型 2 6 - 2 8 】,以适应 不同的应用需要。 2 2 1 阻塞i o 模型 套接字有两种工作模式【2 9 】:阻塞模式和非阻塞模式。阻塞模式是套接字的默认工作 模式。在阻塞模式下,在套接字上进行的函数调用将会导致用户程序的阻塞,这种阻塞 状态将会一直保持直到函数功能完成或内部引发错误。s o c k e t 中常见的造成阻塞的函数 有:c o n n e c t ( ) 、a c c e p t ( ) 及网络数据的收发函数等;套接字的另一种工作模式是非阻塞 模式。在这种模式下,那些原来产生阻塞效果的函数将会立即返回,而实际上,这些操 作的功能并没有完成,因此,需要应用程序进行反复的状态查询或依靠系统提供的机制 来得到操作成功的结果。 处理阻塞模式套接字的应用程序使用的程序i o 框架即是阻塞i o 模型。这种套接 字模型最简单,也最为直接,所以,它是大多数网络编程者学习s o c k e t 的入门模型。采 用阻塞模型工作的t c p 服务器和客户端的交互过程如图2 3 所示。 基于阻塞模型的应用程序如果需要同时处理多个客户请求,一般为每个套接字连接 使用一个线程,每个线程都将发出阻塞操作,如调用s e n d r e c v 进行数据收发等。 2 2 2s e l e c t 模型 s e l e c t 模型是一个使用较为广泛的套接字i o 模型。这个模型的设计源于u n i x 系 统,w i n d o w s 系统在对套接字进行移植时将该模型也加入其中。之所以称其为s e l e c t 模 型,是因为它主要使用套接字中的s e l e c t 函数来实现对网络i o 的管理。 一10 一 一 一 东北大学硕士学位论文第2 章系统相关技术 图2 3 阻塞套接字模式下的c s 交互过程 f i g 2 3c sc o m m u n i c a t i o np r o c e s su s i n gt h eb l o c k i n gs o c k e tm o d e l s e l e c t 函数的设计综合了套接字两种工作模式各自的优点,去掉了不足之处。阻塞 模式简单易用,但它会引起调用线程的挂起,这往往不是编程者所希望的;非阻塞模式 虽然避免了线程挂起的发生,但i o 操作何时能够完成成了程序设计的另一问题。如果 通过程序自身查询的方法进行判断,势必影响应用性能。s e l e c t 函数即通过自身机制实 现了对非阻塞模式套接字的管理。 s e l e c t 函数的另一个优点是可同时对多个套接字进行监视和管理。这使得单线程对 多个套接字的管理成为可能。它将待管理的套接字分为3 个集合:r e a d f d s 、w r i t e f d s 和 e x c e p t f d s ,分别用于检查可读性、可写性以及带外数据。程序需要使用套接字通信时, 只需将已创建的套接字加入s e l e c t 函数的某一个集合中,其余工作由s e l e c t 模型来完成。 s e l e c t 函数是阻塞型调用,程序一般情况下会在s e l e c t 处阻塞;如果s e l e c t 函数返回,则 说明其管理的某些套接字上发生了网络事件,在这种情况下,s e l e c t 函数将修改每个 f ds e t 集合内容,删除那些没有未决i 0 操作的套接字句柄。随后应用程序可对感兴趣 的套接字进行检查,对己完成的套接字上的i 0 操作做进一步的处理。 东北大学硕士学位论文第2 章系统相关技术 2 2 3w s a a s y n c s e l e c t 模型 s o c k e t 机制被引入w i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论