(计算机软件与理论专业论文)分布式内存数据库系统设计实现与应用.pdf_第1页
(计算机软件与理论专业论文)分布式内存数据库系统设计实现与应用.pdf_第2页
(计算机软件与理论专业论文)分布式内存数据库系统设计实现与应用.pdf_第3页
(计算机软件与理论专业论文)分布式内存数据库系统设计实现与应用.pdf_第4页
(计算机软件与理论专业论文)分布式内存数据库系统设计实现与应用.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

摘要 数据库理论与技术韵发展极其迅速,其应用同益广泛,在当今的信息社会中, 它几乎无所不在。以关系型为代表的三大经典( 层次、网状、关系) 型数据库在传统 的( 商务和管理的事务型) 应用领域获得了极大成功。但在移动通信系统中,由于交 换机系统的实时性要求和大量的移动用户数据的不断更新,现在的一般商用数据库 都无法满足要求,这就需要内存数据库来满足这些要求。 根据课题的需要,作者在面向对象数据库管理系统的基础上研究并实现了一种 满足内存数据库实时性、可靠性要求的数据库管理系统。并以此为基础针对移动通 讯的资源管理要求,对i p 资源,v l r 移动用户数据的分布式管理提出了解决方案。 根据系统设计的要求浚内存数据库提供以下功能: 数据定义( 表、索引、队列等) ,数据操作( 数据的插入、删除、修改、查询) ; 数据的同步机制:数据的同步功能是数据库系统保证分布、备份数据系统一致性的 关键( 各模块之间的静态数据同步、主备m p 大量数据的动态数据同步、肝间动态数 据同步) ,其中本文主要介绍了主备咿的动态数据同步;数据库系统并发性控制。 另外还有数据库系统的数据库系统启动和数据库的存盘加载机制,由于篇幅限制未 加以介绍。以这些功能为基础本文介绍了两个移动资源分布式管理的应用,分别是: i p 资源管理和v l r 用户数据自动备份。 关键词:内存数据库,数据同步,分布式系统,面向对象数据库管理系统 a b s t r a c t t h e o r ya n dt e c h n o l o g yo fd a t a b a s ed e v e l o pv e r yq u i c k l ya n da r ea d p l l e d t oa llo v e rd o m a i n s t r a d i t i o n a ld a t a b a s eh a ss u c c e e d e di nt r a d i t i o n a l d o m a i n b u tm o b i l es w i t c hs y s t e mi sh i g hr e a l t i m ea n ds t a b i l i t y ,c o m m o n d a t a b a s ec a nn o tm e e tt h e s en e e d s n o ww ea r en e e d i n gm e m o r yr e s i d e n t d a t a b a s et om e e tt h e s en e e d s t h ep r o j e c ti sr e q u i r e dt op r o v i d en e wd b m sw i t ht h ep e r f o r m a n c eo fr e a l t i m ea n dh i g he f f i c i e n c yo v e rn o wo l dd b m s t h i sm e m o r yr e s i d e n td a t a b a s es u p p l yt h e s ef e a t u r e s : d e f i n i t i o no fd a t a ( t a b l e 、i n d e x 、q u e u ee t ) ,o p e r a t i o no fd a t a ( i n s e r t , d e e r e ,m o d i f y ,s e a r c h ) :s y n c h r o n i z a t i o no fd a t a :d a t as y n c h r o n o u sa b i i t y i sp iv o t a lf u n c t i o nt od i s t r i b u t e dd b m s ( s y n c h r o n i z a t i o no fs t a t i cd a t a , d y n a m i cs y n c h r o n i z a t i o nb e t w e e nm a s t e rp r o c e s s o ra n ds l a v ep r o c e s s o r ) : d a t a b a s ep o w e r o n :s a y i n ga n dl o a d i n go fd a t a b a s ee t c t h el a s tt w oa b i li t i e s a r en o tr e c o m m e n d e di nt h i sp a p e r a n dt w oa p p l i c a t i o n sa r ei n t r o d u c e di nt h i sp a p e r t h e ya r ei pr e s o u r c e m a n a g e m e n t ,a n dv l rm o b i l eu s e rd a t aa u t ob a c k u p t h e yb o t hb u i l do nm e m o r y r e s i d e n td a t a b a s e , k e yw o r d s :m e m o r yr e s i d e n td a t a b a s e ,d a t as y n c h r o n i z i n g ,d i s t r i b u t e ds y s t e m , o o d b m s i i 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 己在论文中作了明确的说明。 研究生签名:垒擅年月日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名年 月目 南京理t 人学烦i 。学位论义分布武内存数掘库系统设计实理见1 j 应用 1 绪论 1 1 数据库系统的发展 谲抑账弦尹 澄篡,呈 f 许共用声摁疆) |i 内横式il c 襻储撬豳) i1 结论硕j 论文 功能加到编程语言环境的一种尝试。 对象关系数据库系统( o r d b i s ) :对象关系数据库系统可以看作是扩展的关系数 据库系统,它具有必要的功能以支持更广泛的应用,而且在很多方面,它能在关系 型和面向对象方法之间架起一座桥梁。 i 2 内存数据库系统概述 电话交换系统需要高效率的存取包括电话用户数据、交换资源数据在内的各种 数据资源,所以需要使用数据库来对这些资源进行有效的管理。交换系统对数据库 的要求主要是实时性和可靠性。传统的外存数据库,具有很高的可靠性,但是面对 电话交换系统对实时性的高要求,却无能为力了。这主要是因为传统数据库是以外 部存储设备为主要存储介质,而内外存数据交换的效率瓶颈是现有技术短时间内无 法突破的。而且传统数据库虽然现在大量使用内存高速缓存的概念来提高存取效 率,但是出于它的索引,存取方式都是针对磁盘等外部存储设备的特点做的优化, 并不能完全适应内存这种高速存储设备的特点。所以在电话交换设备中提出了内存 数据库这种解决方案。 与传统的外存数据库相比内存数据库的最大特点是数据长期驻留于主存,作为 主拷贝,而硬盘上的备份只用于转存与恢复。所有对数据关系的检索全部在内存完 成,为实时性提供最大保障。同样,出于数据长期驻留在内存中,数据组织方式、 索引方式和操作序列化方式也是按照内存的特点做的优化“1 。 作为数据库的一个分支,内存数据库系统也支持当前流行的大型数据库系统的 一些流行设计思想,如数据字典( d a t a d i c t i o n a r y ) 、光标操作( c u r s o r ) 、保持数 据完整性、致性的触发器( t r i g g e r ) 、虚删除( s o f t d e l e t ) 。又由于内存数据库系 统是基于电话交换系统的,通常都是多模块系统,所以相应的要求内存数据库具有 一定的分布式数据库的能力,完成分布式的资源管理。 1 3 课题提出的背景 本课题源于中兴通讯公司的3 g 核心网项目。 作为移动交换核心网设备的重要支持软件,内存数据库需要为各种交换设备数 据提供存取和相应的资源管理能力。随着移动网络进入3 g 时代,出现一些新的资 源需要新的管理方式。以及原有设备运行过程中发现的各种不足,现有的内存数据 库系统已经不能满足要求。所以在原有内存数据库系统的基础上基于新的软件平台 和v x w o r k s 操作系统,丌发了新的内存数据库核心。改善了面向对象特性,资源的 分布式管理方式,并针对一些新的资源提出了新的分布式管理方式。 南京理t 人学顺i 二学位论文分布式内存数据库系统设计实现与应用 我们的内存数据库系统对系统内各种数据的描述是采用关系型数据模式,采用 面向对象的数据库设计方法将存储信息的表有效地封装起来,访问者只有通过对象 提供的基本方法才。能接触到数据的存储实体,这有效地保证了数据存储实体的安全 性。为每一种对象提供的方法都可以为其继承者所使用,且该继承者可以是另一种 对象。由该对象说明的各个数据实例,都可以共用这些方法( 如插入、删除、查询 等方法) ,这大大地提高了代码的使用效率及减少了具体数据实例的创建工作量。 每一种由对象声明的数据实例,可以通过重载修改其某些方法的执行特性,这种表 现称为多念性。多念性为数据实例的方法更新与扩展打开了方便之门。 1 4 本文的工作 项目基于中兴通讯3 g 核心网项目。项目的目标是在原有基于i p d “x 操作系统的 内存数据库上,丌发一个新的基于新的软件平台和v x w o r k s 操作系统的内存数据库 核心。并针对原有的系统的不足和新的需求做一些改进工作。另外还要应用新的内 存数据库系统进行各种资源的管理与维护。 主要的丌发内容包括内存数据库的d b m s 核心;各业务模块数据库之间的各种 数据同步;内存数据库的其它一些特性,如探针、存盘、加载等:以及一些资源管 理应用,比如号码分析、电路资源管理、i p 资源管理、警用布控信息管理等、v l r 移动用户数据管理。 。 其中我主要参与开发了部分数据库核心d b m s 的开发,以及i p 资源管理、警用 布控信息管理和v l r 用户数据管理这些功能。 全文共分6 章,各章内容简介如下: 第一章,绪论,首先简单介绍了内存数据库与传统数据库相比的不同之处。然 后对课题的研究背景、意义以及内容作了简要介绍,最后介绍了全文的组织结构。 第二章,首先介绍了c d m a 2 0 0 0 系统。然后介绍了作为基础的硬件和软件平台。 第三章,主要内容是说明了作为通讯基础的进程间通信功能。首先是作为基础 的操作系统平台的简单介绍。然后是同c p u 下进程通讯功能,最后是c p u 间进程通 讯功能。 第四章,介绍了内存数据库核心。包括表,索引方式,用于资源管理的与表中 的记录紧密相关的队列和基本的数据同步方式。 第五章,介绍了内存数据库管理资源的两个应用:i p 资源管理和警用布控目标 数据管理。 第六章,简要总结了本课题的研究工作,同时指出了系统有待于继续改进与完 善的几个方面。 3 g 移动通竹系统核心嘲简介顾小论义 2 3 g 移动通信系统核心网简介 2 1 系统原理及应用介绍 c d m a 2 0 0 0a l l i p 整体网络架构分无线接入网部分和核心网部分,核心网与无 线接入网相互独立,核心网可支持多种无线接入技术,图2 1 为3 g p p 2a l l i p 网 络参考模型。”: a l l i p 核心网包括的网络实体有:a g w 、a a a 、b r 、d b 、c s c f 、b g c f 、m s c e 、h l r e 、 s c p e 、m n e 、m w n e 、m g w 、m g c f 、m r f p 、h a 、m s 、运营支撑系统功能实体o s f 、o s a s c s 、 策略决定功能实体p d f 、p d e 、位置服务器p s 、p s t n 、s g w 。c d m a 2 0 0 0 网络向a l l - i p 演进分多个阶段:p h a s e - o 、p h a s e - 1 、p h a s e - 2 、p h a s e 一3 ,p h a s e 一2 又分为s t e p - 1 、 s t e p 一2 、s t e p n 三个阶段,p h a s e 一3 又分为s t e p l 和s t e p - n 两个阶段,p h a s e - 2 对应于l m s d 阶段,p h a s e - 3 对应于d 阶段。核心网分为电路c s 域和分组p s 域”1 。 电路c s 域功能主要包括m s c e 、m g w 、m r f p 、s g w 、s c p e 和h l r e 等核心网网元设 备,系统遵循3 g p p 2 标准,采用i p 交换技术,完成包括2 g b s s 和3 ga l li pb s s 的接八。与传统的电路域m s s 系统相比,最大的变化在于呼叫控制和承载的分离, 用分组网技术替换t d m 技术,二者在业务实现方面基本变化不大。 传统的m s c 网元演进成m s c e 和m g w ,m s c e 提供呼叫控制和移动性管理功能,m g w 提供媒体控制功能,并提供传输资源,具有媒体流操纵功能。 m s c e 是多种逻辑功能实体的集合,提供综合业务的呼叫控制、连接以及部分业 务功能,是l m s d s 第一阶段及以后阶段软交换系统核心网中的电路域实时语音数 据业务呼叫、控制、业务提供的核心设备。 传统m s 域l m s d 中的媒体网关m g w 为核心网中的分组环境和p s t n 网络中的电路 交换环境提供承载业务支持,提供话音编解码的声码器功能,提供调制解调器 m o d e m i w f 功能( 在电路音频m o d e m 音和数字音频字节流之间相互转换) ,也提供终 结p p p 连接的能力。传统m s 域中的m r f p 与控制实体m s c e 一起提供多方会议桥接、 通知回放和语音回放等业务,目前m r f p 内嚣于m g w 中。”1 控制与承载分离后,m s c e 作为网关控制设备,必然要控制媒体网关m g w 上的承 载资源以便为呼叫业务服务,同时承载资源的建立需要通信双方进行协商,协商过 程需要的相关信息一部分通过带外信令在呼叫建立过程中得到,协商过程中需要的 部分信息也可以从带内信令进行协商得到:媒体网关m g w 需要在m s c e 的控制下, 根据得到的相关信息与列+ 端的媒体网关m g w 或基站系统内s d u 建立承载连接,媒体 网关m g w 也可以直接与p s t n 网关相连。 南京理t 大学碗i j 学位论史分布式内存数据库系统设计实现0 戍用 幽2 13 g p p 2a l l i p 网络参考模删 p d s n ( p a c k e td a t as e r v i n gn o d e ) 是分组数据服务节点,为c d m a 2 0 0 0 移动台 提供访问i n t e r n e t 或i n t r a n e t 的服务o 7 p d s n 是连接无线网( r n ,r a d i on e t w o r k ) 和分组数据网( p d n ,p a c k e td a t a n e t w o r k ) 的接口,其主要功能在于为移动台提供简单i p ( s i m p l ei p ) 接入服务或 移动i p ( m o b i l ei p ) 接入服务,使用户可以访问公共数据网络或私有数据网络。 简单i p 时p d s n 类似于网络接入服务器( n a s ,n e t w o r ka c c e s ss e r v e r ) ,移动i p 5 3 g 移动通信系统核心| 叫简介硕 :论文 时p d s n 作为m s 的外地代理( f a ,f o r e i g na g e n t ) 。p d s n 同时也配合完成对用户的 鉴权和计费等功能。 在提供移动i p 服务时,p d s n 实现f a ( f o r e i g na g e n t ) 功能。f a 是外地代理, 是位于移动台拜访网络的一个路由器,为移动台提供i p 转交地址和i p 选路服务( 前 提是m s 必须在h a 登记) 。对于发往移动台的数据,f a 从h a ( h o m ea g e n t ) 的隧道 中提取i p 数据包,并转发至移动台;对于移动台发送的数据,f a 可作为一个缺省 的路由器,或利用反向隧道发往h a 。 归属代理( h o m ea g e n t ) 是在m s 归属网上的路由器,负责维护m s 的当前位置 信息,建立m s 的i p 地址和m s 转交地址的对应关系,当移动台离开注册网绍后, 需要向h a 进行登记;h a 在收到发往移动台的数据包时,将通过h a 与f a 之间的隧 道( t u n n e l ) 将数据包送往移动台的转交地址,再由转交地址解隧道封装后发给m s , 完成移动i p 功能。 简单i p 不需要h a ,移动i p 需要h a 。1 。 p t t 调度服务器( p t td i s p a t c hs e r v e r ) 是p t t 系统内的控制服务器,负责p t t 呼叫控制,p t t 通话管理,并通过p h r 对用户进行鉴权、授权和计费,通过p h r 对 用户进行群组管理和位置更新,p t t 语音流报文分发等功能; p t t 归属寄存器( p t th o m er e g i s t e r ) 是p t t 系统内的归属网络的注册服务器, 负责提供p t t 群组和用户注册的数据库,提供p t t 群组和用户的本地信息,提供p t t 成员的业务权限鉴别,执行统计计费功能,位置更新; 2 2 软件系统结构介绍 2 2 1 软件子系统划分 3 g c n 核心网的软件被分为1 1 个子系统:b s p 子系统、操作系统予系统、数据 库子系统、承载子系统、微码子系统、p p 单板子系统、信令子系统、系统控制子系 统、网管予系统、用户适配子系统、业务子系统”1 。 为了支持整个3 g c n 核心网实现要求的系统功能,上面这些软件子系统会完成系 统赋予它们的特定功能。这些软件子系统的相互关系可以用下图表示。图中仅用于 子系统之间的关系示意,由于子系统之阳j 的关系较多,比较复杂,在下文用表格形 式进行详细描述”3 。 6 南京理t 大学硕l 。学位论文分布式内存数据库系统设计实现与应用 图2 ,23 g p p 2a l l i p 网络参考模刑 2 2 2 软件子系统概述及其相互关系 2 2 2 1b s p 子系统 b s p 子系统对整个系统的硬件进行自举和驱动,具体柬讲有三方面的功能: b o o t 、c p u 最小系统、硬件设备驱动。为了使操作系统以上的软件子系统独立于硬 件,b s p 必须: a ) 对上层软件模块屏蔽硬件设备操作细节,对硬件功能进行抽象,仅向其他 软件模块提供硬件设备的逻辑功能层面; b ) 向上层软件子系统,主要是实时操作系统提供统一的、经过封装的函数接 口,屏蔽对上层软件不必要的参数。 实际上,b s p 提供的是一个完备的过程调用环境,提供的接口形式是函数调用, 上层软件通过调用这些函数柬使用硬件的功能。 2 2 2 2 操作系统子系统 操作系统工作于b s p 子系统之上、所有其它子系统以下,对用户进程屏蔽所有 的设备驱动接口,并提供基于单处理机的进程调度、定时器、内存管理、文件系统、 基于多处理机的进程间通信等方面的服务。操作系统子系统的核心是商用操作系统 内核,在内核以上是封装层,由封装层封装内核的系统调用并屏蔽对用户进程不必 3 g 移动通信系统核心嘲简介硕士论义 要的功能,封装层向用户进程提供必要的原语和函数调用接口。操作系统的调度单 位分为任务和进程两级,即提供两级调度。操作系统创建的主要任务有通信任务、 若干个调度任务、设备驱动任务、定时器扫描任务、空闲任务。根据需要这些任务 有不同的优先级。任务的调度由商用操作系统进行,采用基于消息驱动的抢占式优 先级调度方式,f 在运行的任务可能会被更高优先级的任务或中断抢占c p u 使用权。 所有的用户进程都挂在调度任务下。调度任务有不同的优先级,不同优先级的用户 进程挂在相应优先级的调度仔务下,同优先级的用户进程挂在同一个调度任务 下,一个特定的调度任务下挂的所有进程具有相同的优先级。在一个特定的调度任 务中,采用基于消息驱动的循环方式调度进程。 、 同一任务内进程l 剐的通信利用支撑自定义的消息队列,消息被直接放入目的进 程的消息队列。不同任务洲的进程通信利用任务的邮箱,消息首先被放入目的进程 所在的调度任务的邮箱中,再由调度任务将消息派发到目的进程。 不同处理机之问的通信基于t c p ( r u d p ) i p e t h e r n e t 方式,机间通信模块建 立、维护到通信的对端处理机的s o c k e t ,在s o c k e t 之上收发消息。每块单板与有 消息来往的有主备的处理板同时存在两条互为主备的通信链路,由通信层维护,当 处理板发生主备倒换时,单板的通信层要负责主备通信链路的切换:在处理板主备 倒换的过程中,需要将单板的用户进程发出的所有消息缓存起来,直至缓冲区溢出 为止,当倒换完成后,再将缓存起来的消息按照原来的顺序发出。 为了防止用户进程频繁申请释放各种不同大小的内存块而产生大量的内存碎 片,内存管理模块把操作系统管理的内存分割成几个不同大小的内存块池, 6 4 b y t e s 、1 2 8 b y t e s 、2 5 6 b y t e s ,被称作u b 池。为了避免用户进程大量占用u b 导致系统工作不正常,将u b 池划分成两个部分,一部分是进程间通信专用,另一 部分提供给用户进程使用。另外,内存管理模块还向用户进程提供登记需保护的全 局变量的接口。用户进程可以利用这个接口向操作系统登记自己的需要保护的全局 变量,被保护的全局变量就不会被其它进程改写。内存管理模块还提供页式内存保 护,发生越界访问内存时,会触发异常。 定时管理模块向用户进程提供各种定时器功能,如无名定时器、有名定时器、 相对定时器、绝对定时器等。默认的定时器精度为l o o m s ,各个处理机上的定时器 精度都可以根据需要调整,最小精度为l o m s 。此外,还可以通过硬件提供特殊的 i m s 精度的定时器。承载子系统的e p il o g u e 协议栈使用自己的定时器系统,但是这 个定时器系统依赖于操作系统向其提供的2 0 m s 定时器。 2 2 2 3 数据库子系统 数据库子系统工作于操作系统之上,负责管理3 g c n 核心网元的物理资源,并 管理业务、信令、协议的配置信息,同时向其它子系统提供数据库访问接臼。数据 南京删t 人学坝i :学位论义 分布式内存数据库系统设计实现o j h v :用 库为关系数据库,基本框架继承自z x j i o b 交换机的数据库,分为前台数据库、后 台数据库两部分,数据分发工作由后台d b a g e n t 来进行,根据后台分发的结果,将 各关系表数据从d b a g e n t 直接传送到各船上,伽p 上的数据库不参与其它m p 的数 据分发,只有o m p 上的支撑通信层转发后台与前台各m p 之间的消息。前台各m p 不 采用主备数据区,而是利用缓冲区暂时存放从后台接收到的数据,待数据传送完毕 后,在指定的绝对定时器时刻将数据加载到表内存中,而后触发数据存盘操作。前 台数据表的一致性校验由后台来进行。主备m p 之间的数据同步与前后台数据同步 的机制类似3 。 资源管理的方式因网元的不同而不同,在网元设计部分会明确资源管理方式。 由于每两块单板都可以通过控制面通道直接通信,所以我们可以灵活地选择数据库 资源管理方式。 2 2 2 4 承载子系统 承载子系统工作于操作系统和d a t a b a s e 子系统之上,向业务子系统、信令子 系统、o a m 和网管予系统提供a t m 、i p 、t d m 等方面的承载服务。t c p i p 协议栈向 应用提供两套接口:e p il o g u e 协议栈本身的回调函数接口和b s ds o c k e t 接口。它 一方面管理网元对外的i p 、a t m 接口,为网元之间的i p 报文、a t m 信元通信提供服 务,另一方面,在数据库配置数据的基础上管理内部用户面通信的接口,为网元内 部各单板之间的用户面i p 报文通信提供服务。 2 2 2 5 微码子系统 微码子系统作为承载子系统的延伸,实现的功能与承载子系统相同。微码子系 统工作在网络处理器的微引擎上,不依赖于操作系统。它向承载予系统、用户面子 系统提供接口。 2 2 2 6 信令予系统 信令子系统工作于操作系统、d a t a b a s e 子系统和承载子系统之上,实现s s 7 信 令、t u p i s u p 呼叫信令、s i g t r a n 信令、h 2 4 8 信令,向业务处理子系统提供服务。 对于s s 7 信令的链路层协议,m t p 2 在信令接口板上处理,m t p 以上部分在信令处理 板处理。信令处理板支持i + i 主备功能,信令的链路层实现链路级负荷分担,当系 统容量大时,支持多对信令处理板负荷分担。s s 7 信令支持6 4 k b p s 、2 m b p s 、1 2 x 6 4 k b p s 信令链路。支持不同信令网土的多信令点功能。 2 2 2 7 系统控制子系统 系统控制子系统工作于操作系统和数据库子系统之上,负责对整个系统的监 控、启动、版本下载等。核心处理板,如m p 板、交换网板,必须支持i + i 主各, i + i 主备的处理板通过专用的主备通道而不是控制面通道来传递主备信息。 3 g 移动通竹系统核心删简介硕n 论文 2 2 2 8 网管子系统 网管子系统工作于操作系统、d a t a b a s e 子系统、承载子系统之上,3 g 核心网 的操作维护人员通过网管子系统对网络中运行的设备进行配置、分析、计费、诊断 测试工作,并可获得设备的告警、统计数据。网管子系统分为前台、后台两部分。 前台部分作为嵌入式系统的一部分运行于各单板上,后台部分运行于高性能的服务 器上。前后台通信由t c p ( u d p ) i p e t h e r n e t 承载。前台的o m p 板和其它m p 板都 有以太网口与后台相连。 2 2 2 9p p 单板子系统 p p 单板子系统指电路域的主要外围单板主要有以下一些单板:u i m 、t s n b 、 d t b 、s d t b 、m r b 、c h u b 、i w f 。其中u i m 、c h u b 为电路域和分组域所共用。 p p 软件从系统功能的角度来看,p p 软件承担了以下6 大功能:管理数字中继 接口、负责交换网的接续、管理信号音和收号器以及记发器、提供系统资源框级控 制面和媒体面分组交换功能。 p p 承担接口功能时,作为交换系统的接口系统,承担着核心网和其它交换系 统、交换机设备进行沟通的桥梁,实现:把交换桃外部信号转换为交换机内部的消 息;协助m p 上的业务处理进程完成一些业务处理功能,对业务信号进行预处理。 2 2 2 1 0业务子系统 业务处理子系统:实现m s c e 网元提供的各种业务及v l r 功能。它工作于操作 系统、数据库子系统、承载子系统、信令子系统之上。 2 2 2 1 l用户适配子系统 用户适配子系统主要完成m g w 网元的用户数据u s e rt r a f f i c 的各种帧格式封 装、 u s e rt r a f f i c 帧控制信息的处理实现速率调整和d i m & b u r s t 等功能,以及各 种话音数据的编解码的转换功能等。 南京型丁大学硕l :学位论文 分布武内存数据库系统设计实现i 应用 3 进程间通信功能设计与实现 进程问通信由进程通讯模块实现。主要实现的功能有:同一任务下的进程通讯 功能,基于自定义消息队列形式:同c p u 内不同任务下进程通讯功能,基于操作系 统( v x w o r k s ) 的消息队列;异步普通消息、异步紧迫消息和同步消息通讯功能: c p u 内进程广播通信功能;消息派发功能;c p u 间进程通讯功能,实现基于r u d p 通 讯;c p u 间u d p 通讯功能;主备通信功能;主备倒换的支持功能例。 其中同一任务下的进程通讯功能、同c p u 下进程通讯功能和c p u 间进程通讯功 能是分布式内存数据库使用的主要的进程间通讯功能。 3 1v x w o r k s 简介 v x w o r k s 是美国w i n dr i v e rs y s t e m 公司( 以下简称风河公司,即w r s 公 司) 推出的一个实时操作系统3 。t o r n a d o 是w r s 公司推出的一套实时操作系统丌 发环境,类似m i c r o s o f tv i s u a lc ,但是提供了更丰富的调试、仿真环境和工具。 v x w o r k s 是专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了 高效的实时任务调度、中断管理、实时的系统资源以及实时的任务间通讯。应用程 序员可以将尽可能多的精力放在应用程序本身,而不必再区关心系统资源的管理。 v x w o r k s 从1 9 8 3 年成功设计以来,已经经过广泛的验证,已成功的应用在航空、 航天、舰船、通信、医疗等关键领域。目前,v 叠w o r k s 得蓟了许多软硬件厂家的支 持,这些第三方软硬件厂家提供丰富的v x w o r k s 的扩展组件。因此,从软件角度而 言,v x w o r k s 操作系统在各种c p u 硬件平台上可以提供统一的接口和一致的运行特 征,应用程序无需做过多的改动就可以运行在各种c p u 上,为程序员提供了一致的 丌发、运行环境,减少了重复劳动。 v x w o r k s 操作系统有以下部件组成: 内核( w i n d ) :多任务调度( 采用基于优先级抢占方式,同时支持同优先级任务 阳j 的分时i 、自j 片调度) 、任务间的同步、进程问通信机制、中断处理和定时器和内存 管理机制。 i o 系统:y x w o r k s 提供了一个快速灵活的与a n s ic 兼容的i o 系统,包括 u n i x 标准的b a s i ci 0 ( c e a t ( ) , e o v e ( ) ,o p e n ( ) ,c l o s e ( ) ,_ r e a d 0 ,w r i t e ( ) , a n dj o e t l 0 ) ,b u f f e ri o ( f o p e n 0 ,f c l o s e ( ) ,f r e a d 0 ,f w r l t e ( ) ,卵托0 , p u t c 0 ) 以及p o s i x 标准的异步i 0 。v x w o r k s 包括以下驱动程序:网络驱动、管 道驱动、r a m 盘驱动、s c s i 驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等 文件系统:支持四种文件系统:d o s f s ,r t l l f s ,r a w f s 和t a p e f s 。支持在一 个单独的v ) ( w o r k s 系统上同时并存几个不同的文件系统。 进程问通信功能设计峙实现硕士论文 板级支持包b s p ( b o a r ds u p p o r tp a c k a g e ) :板级支持包向v x w o r k s 操作系统 提供了对各种板子的硬件功能操作的统一的软件接口,它是保证v x w o r k s 操作系统 可移植性的关键,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、 局域和总线内存地址映射、内存分配等等。每个板级支持包括一个r o m 启动( b o o t r o m ) 或其它启动机制。 网络支持:它提供了对其它v x w o r k s 系统和t c p i p 网络系统的”透明”访问, 包括与b s d 套接字兼容的编程接口,远程过程调用( r p c ) ,s n m p ( 可选项) ,远程 文件访问( 包括客户端和服务端的n f s 机制以及使用r s h ,f t p 或t f t p 的非n f s 机制) 以及b o o t p 和代理a r p 、d h c p 、d n s 、o s p f 、r i p 。无论是松耦合的串行线路、 标准的以太网连接还是紧耦合的利用共享内存的背板总线,所有的v x w o r k s 网络 机制都遵循标准的i n t e r n e t 协议。 虚拟内存( v x v m i ) 与共享内存( v x m p ) :v x v m i 为带有删u 的目标板提供了 虚拟内存机制。y x m p 提供了共享信号量,消息队列和在不同处理器之间的共享内 存区域。 目标代理( t a r g e ta g e n t ) :目标代理遵循w b d ( w i n dd e b u g ) 协议,允许目标 机与主机上的t o r n a d o 开发工具相连。在目标代理的缺省设景中,目标代理是以 v x w o r k s 的一个任务t w d b t a s k 的形式运行的。 幽3 1 目标代理与目标服务器的连接 t o r n a d o 目标服务器( t a r g e ts e r v e r ) 向目标代理发送调试请求。调试请求通 常决定目标代理对系统中其它任务的控制和处理。缺省状念下,目标服务器与目标 代理通过网络进行通信,但是用户也可以改变通信方式。 总之,v x w o r k s 的系统结构是一个相当小的微内核的层次结构。内核仅提供多 任务环境、进程间通信和同步功能。这些功能模块足够支持y x w o r k s 在较高层次所 提供的丰富的性能的要求。v x w o r k s 与各部件关系如图3 2 所示: 南京理1 - 人学颂i 学位论文分布式内存数据库系统设计实现1 j 应用 幽3 2v x w o r k s 层次组织结构 3 2 同c p u 下进程通讯功能 3 2 1 调度任务之间的消息发送 图3 3 描述了调度任务之间的消息发送流程。 幽3 3 处理器内部的任务间通信 每个调度任务建立一个邮箱,其他任务也建立自己的邮箱。 进程发送到另一个任务的进程的消息首先发送到且的进程所在的任务的邮箱 中进行缓存,然后由调度任务派发到目的进程的消息队列中。 进程到其他类型的任务的消息发送到相应任务的邮箱。 其它类型的任务之间消息发送是发送到对方邮箱。 根据为应用提供的消息类型将任务间消息发送分类。发送异步紧迫消息,将消 息发送到任务消息队列的头部。发送异步普通消息,将消息发送到任务消息队列的 尾部。 进程问通信功能世计0 实现硕。 ? 论文 3 2 2 同一任务下的进程通讯功能 图3 4 是同一个任务中进程间通信的流程示意。 每一个进程拥有一个消息队列。进程向同一任务内进程发送,通过内部接口直 接将消息挂到另一个进程的消息队列中。进程向同一任务内进程发送同步应答消 息,不通过任务邮箱,目的进程的状态直接改变即可。 任务内的进程间通信不能通过任务的邮箱进行转发,这是为了避免在邮箱满的 时候任务向自己的邮箱发送消息导致任务死锁。 3 2 3 消息的派发过程 图3 4 同一任务内的进程间通信 图3 5 是消息的派发流程示意。 进程a 岖乎旺 厶, 攫调 烤 蠢 人度 v 任 务 7 ;灶毛出he f 习臣 幽35 消息的派发 调度任务从自己的邮箱接受消息,并负责向各个进程的消息队列中派发,在派 南京删t 人学颁i j 学位论立分布式内存数据库系统议计实现与成用 发的过程中区别消息的类型。根据消息类型描述处理流程。 派发同步应答消息的时候,将目标进程转入就绪状态,设置解除阻塞原因为应 答到。 派发同步超时消息的时候,将目标进程转入就绪状态,设景解除阻塞原因为同 步超时。 派发延时结束消息的时候,将目标进程转入就绪状态,设置解除阻塞原因为延 时结束。 派发其他类型的消息的时候,将消息挂到目标进程消息队列尾部,如果目标进 程因为没有消息而阻塞,将目标进程转入就绪状态。 3 2 4 进程消息队列的设计 将指向消息体的指针单向串连形成消息队列,该队列保存消息指针,没有消息 数目的限制。进程消息队列中包括普通消息、紧迫异步消息、同步消息和保留消息。 对紧迫消息,需要将消息发送到消息队列头;对普通消息和同步消息,则将消息发 送到消息队列的尾部;取消息总是从消息队列头耿;同时在状态跃迁时,需要释放 当前消息;对于需要保留的消息移到当前消息指针到保留消息区,在状态跃迁时 移到保留消息到处理消息区。 处理流程: 发送异步普通消息到进程消息队列:直接将消息添加到消息队列的尾部。 发送异步紧迫消息到进程消息队列:将消息插入到消息队列的头部。 发送同步消息到进程消息队列:将消息添加到消息队列的尾部。 保留当| j i 消息:将当前消息( 队列头消息) 移到保留消息队列。 删除当前消息:将当前消息从队列中摘除并删除,该消息的下一消息成为当前 消息。 移动保留消息:在进程状态跃迁时,由用户调用接口获取保留消息进行处理。 3 3c p u 间进程通讯功能 图3 6 描述了通信模块处理器白j 的通信结构框架和处理流程。 根据对话方式描述通信处理流程。 对于点对点通信,每个需要通信的处理器之间维护一条连接,所有连接组成连 接表。进程通过接口发送的消息首先挂在相应的连接的发送队列中。通信任务在连 接表中的所有连接上监测链路状态,在连接写就绪时依序发送连接发送队列中的消 息,在连接读就绪时接收连接上的消息并向上层转发,在连接异常时告警并恢复链 进程闯通f 吉功能设汁j 实现颅卜论史 路状念,在检查报到达的时候将链路丢失的检查报清零。 图3 ,6 进程间通信模块框架平l j 处理流程 对多对多通信,使用一个公用的u d p 套接口,发送时指定协议类型为不可靠传 输协议的时候,根据逻辑地址查找到对应的i p 地址,直接从u d p 套接口上发送出 去。组播任务同样守护在u d p 套接口上,当套接口读就绪的时候接受消息并向上层 转发。 对于组播,采用静态分组的方法,每一个组播组对应一个到组播地址,所有这 种对应关系组成分组表。每一处理器可以加入特定组播组,也可以随时脱离组播组。 组播任务守护在组播组表的组播套接口上,在套接口读就绪时接收消息并向上层转 发。进程直接在组播套接字上发送消息“。 对于广播,分组表中有个特殊项用作广播,该组成员为系统内所有处理器, 组播任务在该项上守护,进行和上面相同的处理。 处理器内广播,向同一个进程类型的实例分别发送一条消息的拷贝。 南京埋t 人学坝卜学位论义分布成内存数据库系统墩计实现q 应用 4 内存数据库核心设计与实现 4 1d b m s 系统 4 1 1d b m s 系统设计思想概述 数据库管理系统的核心对象包括表、索引和队列,以及两个应用扩展对象主备 失步映象区对象和监控对象m “。 微 数据库对象关系框架示意图4 1 ( 谚一r ,爿 丧蜜例。 l 一 袁宴倒: 1 衰蛮倒。k :、,:;。、 夕f 丧蜜例l 爿 袁宴倒2 l - - 1 衰蛮倒n k :五芒、 i 雹。i k- 1 、呵tj 孤串。搽 弋 $ 中。 审匆 产擎i 慷 l l l ,。一之 一。、一7 一。 c 嚣、厂备 一一一,、一 ,。自、; 。朋m 删:j 内龃玷柏 圈41 数据库对象关系框架 从图4 1 可以看出,数据管理分为三个层次。 第一层次为对象基类:对象基类中的核心对象是数据管理的基础,通过在核心 对象的基础上完成实例化,实现了对数据和联系的定义。 第二层次为对象实例:第二层次的任务利用第一层次提供的对象完成实例化, 赋予数据具体的含义。图中,表实例可以理解为一个具体有实际意义的表。如局问 中继表。表实例除了数据之外,还可以有自己的索引实例、双向队列实例、同步实 例、监控实例以及通过重载得到方法实例。 第三层为应用实例:应用实例是面向具体应用的。以应用为目标,从对象实例 中获取需要的数据,组成一个面向应用的数据视图。可以把第三层理解为第二层经 过实例化的数据对象中若干数据实例表的相关字段的一个再生数据关系或称为虚 关系。 内存数据库核心设计j 实现硕: 二论文 关系数据库是由一系列的有着相互依赖关系的二维表组成的,表对象是用来定 义和描述二维表的特征和方法的数据对象,每个二维表就是表对象的一个实例。 为了加速对二维表元组的检索,需要对二维表建立特定关键字的索引,索引对 象是用来描述不同类型和算法的索引的一种数据对象。一个特定二维表的索引表就 是索引对象的一个具体实例。 双向队列对象是描述通讯资源中涉及的各种形式的队列的一种数据对象。存在 于交换机软件中的各种资源队列都是双向队列对象的具体实例。它专门用于管理资 源,实现对资源的快速检索。从快速检索这一点来看,它的功能同索引相似。不过, 它专为管理资源而设计,因此管理资源更有效。 主备失步映象区对象用于动态数据的主各同步,主备同步的作用在于可以保证 动态数据的主备实时同步,当主板出现异常时,不会丢失大量的动念信息:或当主 备切换时可以利用同步所备份的数据进行正常工作。 监控对象的作用是为了防止资源处于吊死状态。由于m p 宕机等原因,导致系统 分配的资

温馨提示

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

评论

0/150

提交评论