




已阅读5页,还剩83页未读, 继续免费阅读
(计算机应用技术专业论文)通信系统内存数据库设计及在欺诈用户检测中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 现代通信对计算机技术依赖性越来越强,在电信运营商的不断发展中,建立起 各类信息系统,这些系统积累了海量的有价值的数据资料,通过对这些资料进行 数据挖掘、查询分析和联机分析,可以识别市场机会、制定市场策略,进一步改 善客户关系。但是,这些数据资料过于庞大了,传统的基于磁盘的数据库管理系 统越来越难以应付,于是,内存数据库在电信领域出现了。 安全一直是一个网络或通信系统不可忽视的一个重要问题。随着移动设备和 技术的发展和进步,其便捷的应用和便宜的价格使得手机等移动通信设备的拥有 量已经变得相当庞大。在这么一个庞大的用户群中,一些不法分子或团体利用通 信系统的漏洞对用户进行欺诈从中牟取利益,骚扰电话和电话欺诈等事件时有发 生。为了保障用户的合法利益和对通信业务的正常使用,对这类利用通信业务系 统进行欺诈的检测和防止成为了运营商和核心网络提供商重要的话题。 本论文描述的内存数据库针对通信系统的复杂性和分布性特点进行了专门设 计。利用c 语言的指针这一强大特性,以面向对象的思想对内核进行了设计,并 基于此内存数据库,首次以技术手段对目前的电话欺诈活动进行了控制。 本论文先介绍了课题背景,以及论文的整体结构;然后就通信系统核心网系 统这个系统运行的物理环境架构及相关知识进行介绍,以及内存数据库在其 中的应用;并就通信系统核心网中内存数据库的设计进行了描述;最后,基于移 动通信系统业务的基本呼叫流程结合内存数据库设计了欺诈用户检测子系统。该 检测系统能够有效的对发起的欺诈呼叫进行检测和阻止。 关键词:内存数据库,移动通信,核心网,欺诈用户 a b s t r a c t a b s t r a c t t h em o d e n lt e l e c o m m u l l i c a t i o ni l 印e n d su p o nm ec o m p u t e rt e c l l i l o l o 西e sm o r ca n d m o r e d u r i n gm ed e v e l o p m e n t o ft e l e c o m m 砌c a t i o ns y s t e m , t 1 1 e r ea r em a n y i n f o n n a t i o ns y s t e m s ,w h i c ha r eu s i n ga n dp r o d u c i n gl o t so fd a t af o rd a t a - d i g 西n g 、 q u 叼缸g a 1 1 da i l a l y z i n g 、i d e n t i 助n gm a r k e ta 1 1 dma :k i n gm 矾e ts 仃a t e 醪t h o u 曲,t l l e r e a r es om a i l vd a t at 0d e a lw i mm a t 仃a d i t i o n a ld i s k - b a s e dd a t a b a s ec a l ln o tb e 铋o u g 也 m e nm a i nm e m o 巧d a t a b a s e sa r en e e d e d s e c u r i 锣i sa l w a y sm 呻o r t 锄ti s s u ef o ri n t 锄e to rt e l e c o m m u l l i c a t i o nn e t 、) l ,o r k s a st h er e s u l to fm ed e v e l o p m e n to fm o b i l et ec _ h n o l o g ya n d ( i e v i c e s ,t h e yc 0 s t1 e s sm a n b e 向r e a i l d 廿l en l l m b c ro fm o b i l ed e 访c e ss u c 妇a sc e np h o n eu s e db yp e o p l ei sg e t t i n g l a r g c r a i l d l a r g e r a st 1 1 e舯u pi sh u g e , s o m e b o d y s t a r t st ol i s en l em o b i l e t e l e c o m m u n j c a t i o ns y s t e m st 0s e e kb e n e 矗ti 1 1 e g a l l y s u c ha st e l 印h o n ec h e a t i n ga n d d i s t l l r b i n g 1 og u a r a n t e el e g a l l yu s eo fm o b i l es e i c e s ,d e t e c t i n ga i l dp r e v e n t i n gm e c h e a t i n gi si m p o r t a l l tf o i m en e 俩o r ka n ds e n ,i c ep r 0 v i d e r s t h em a i nm e m o r yd a t a b a s ed e s 翻b e db yt i l i sm e s i si sd e s i 印e da c c o r d i n gt ot h e c o n l p l i c a t e da n dd i s t r i b u t e dc h 锄曲e f i s t i c so f t e l e o d l t l m u n i c a t i o ns y s t e m i ti sd e s i 鲈e d w i lo b j e c to n e n t e dp r o 乒a m m i n gu s i n gm ep o i n t e ro fcp r o 伊锄l 锄g u a g e b a s e do n t h em a i nm e m o 巧d a t a b a s e ,ad e t e c t i i l ga l l dp r e t e n d i n gs y s t e mf o rt e l 印h o n cc h e a t i n gi s d e s i g n e d ,w h i c hi su s e d t 0d o l i sj o bb yt e c h n o i o 百e sf o rt h e6 r s t 缸m e t l l i sm e s i sf i r s t l yi n 们d u c e st h ep r o j e c tb a d k g r o u n d ,a n d l ew h o l es 咖m l r co fm e t l l e s i s t h e n i ti n t r o d u c e s 也ea r c h i t e c t u r ea r l ds o l ek n o w l e d g eo fm es y s t e i l lo ft h e c o r en e t w o r kf 0 rt e l e c 0 嘞m u i l j ca _ t i o 玛w l l i c hi s 也eb a s i cp h y s i c a le n v i r o n m e n t a r e r d e s 嘶b i n gt h ed e s i 盟o fd a t a b a s es u b s y s t 锄i nt e l e c 0 m c a t i o ns y s t e m ,j e i n a l l y ,a d e t e c t i n ga n dp r e v e n t i n gs y s t e m 向rm o b i l es e r v i c ec h e a t i n gi sd e s i 印e db a s e do nm e p r o c e e d i n go f b a s i cc a l ls e r v i c ea n dm a i nm 锄。巧d a t a b a s e ,w h i c hc a i lw o r ke 毹c t i v e l y k e y w o r d s :m a i l lm e m o 巧d a t a b a s e ,m o b i l et e l e c o 衄u n i c a t i o n ,c o r en e 似o r k ,c h e a t i n g c o n s l l m e r i i 主要符号表 a u c c n e i r g s m g g s n g m s c h l r m s m s c p i ,【n a r n s s g s n u e u m t s u t r a n v l r 主要符号表 a u t h e n t i c a t i o nc c l l t e r c o r en e t w o r k e q u i p m e n ti d e n t i f i e rr e 西s t e r g l o b a ls v s t e mf o rm o b i l ec o m m u n i c a t i o n s g a t e w a yg p r ss u p p o r tn o d e g a t e w a ym o b i l es w i t c hc e n t e r h o s tl o c a t i o nr e 百s t e r m o b i l es t a t i o n m o b i l es w i t c hc e n t e r p u b l i cl a n dm o b i l en e 帆o r k r a d i on e t w o r ks u b s y s t e m s e r v i c eo fg p r ss u p p o r tn o d e u s e r e n d u i l i v e r s a lm o b i l et e l e c o m m u i l i c a t i o ns v s t e m s u i l i v e r s a lt e r r e s t r i a lr a d i oa c c e s sn e t w o r k s i t o rl 0 c a t i o nr e 西s t e r v 鉴权中心 核心网络 设备标识寄存器 全球移动通讯系统 网关g p r s 支持节点 网关移动业务交换中心 归属位置寄存器 移动台 移动业务交换中心 公共陆地移动网络 无线网络子系统 g p r s 业务支持节点 用户终端 通用移动通信系统 通用地面无线接入网 访问位置寄存器 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 关于论文使用授权的说明 年月日 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名: 日期: i ) 谴争 年月日 第一章绪论 1 1 课题背景及来源 第一章绪论 随着社会信息化程度的进一步加深,通信已经成为人们生活和工作中不可缺少 的工具,人们对通信要求也不再仅仅是基本的语音通信业务和简单的w w w 浏览 和收发e m a i l ,人们需要的是能够随时、随地、灵活地获取所需要的信息。随着 社会、经济的发展,移动通信得到了越来越广泛的应用。由于超大规模等硬件技 术的发展,使得计算设备的制造成本日益低廉,这更促进了移动通信设备和业务 市场的发展,手机等移动通信设备在人们的日常生活中占据了越来越重要的地位, 发挥着越来越重要的作用。移动通信业务更是深入到了人们生活的各个方面。 在电信和金融等领域中,负责处理用户和网络信息的数据管理系统是关键的底 层支撑系统之一。随着网络应用的智能化、多媒体化、以及用户规模的扩大和通 信市场竞争的加剧,运营商要求应用系统能够实时地进行数据的存取、处理和发 送。传统基于磁盘的关系数据库系统,由于主数据库常驻磁盘,事务处理往往涉 及磁盘i o 操作,其体系结构设计的优化目标是如何减少读写磁盘的次数,很难满 足基于网络的应用系统对高性能数据访问能力的需求。为了应对这些挑战,电信 企业先后引入了内存数据库。 电信企业一直是内存数据库的主要用户,近几年来,随着计算机硬件技术的飞 速发展、内存容量的提高、价格下跌以及计算机进入6 4 位时代操作系统后可以支 持更大的地址,为内存数据库的实现提供了可能。 在提升数据库工作效率的同时,使用内存数据库可以直接节省硬件投资和系统 维护成本。实际部署经验表明,为达到特定重载系统的实时性要求,使用内存数 据库比不使用所需要的c p u 数量减少2 3 以上,而只需要把内存数量少量提高, 从而大大节约了经费资金投入,系统稳定性反而得到提高。 目前在国内,中国联通、中国电信、中国网通、中国移动等主要运营商的不同 业务系统,以计费为重点,包括n g n 、i n 系统等,已经纷纷采用内存数据库技术。 全球主要电信运营商的数据库管理系统正在经历由“磁盘数据库为主 向“内存 数据库为主”的转变。 电子科技大学硕士学位论文 尽管内存数据库已不是传统磁盘数据库的概念,但是内存数据库本质上还是数 据库,它也具有一般数据库的基本功能【l 】【2 】: 1 永久数据的管理,包括数据库的定义、存储、维护等; 2 完成各种数据操作,如查询处理、存取、完整性检查; 3 事务管理,包括调度与并发控制等; 4 对存取的控制和安全性检验; 5 具有数据库的可靠性恢复机制。 本论文后面就按照内存数据库的这些基本功能,对该通信系统中的内存数据库 系统的设计进行了详细的描述。 在电话欺诈屡见不鲜的今天,对此种行为的检测和防止需求日益增强。在参与 某通信设备及核心网方案提供商的实习进行内存数据库的设计期间,根据运营商 的业务需求在该内存数据库系统基础之上,通过对目前普遍存在的使用通信系统 对移动业务用户进行欺诈行为的分析,设计了用于在通信核心网系统中进行欺诈 用户行为进行检测和防止的子系统。 1 2论文内容结构安排 本论文结合通信核心网基础知识与内存数据库的设计,描述了欺诈用户检测和 防止子系统的设计与实现。 第一章:绪论 介绍了本论文设计的内存数据库的课题背景及来源和本论文的整体结构。 第二章:通信系统与内存数据库 对本内存数据库及欺诈用户检测子系统运行的硬件应用环境移动通信核 心网的网络结构以及涉及的网元概念进行了描述。概要介绍了内存数据库及在电 信行业中的应用。描述了内存数据库的发展现状,指出了现有内存数据库产品在 通信应用中的不足。 第三章:内存数据库子系统设计与实现 本章介绍了该软内存数据库子系统的设计,以及内存数据库子系统在核心网网 元设备软交换系统中和其他子系统的关系。内存数据库子系统的设计包括了内存 数据库的内核设计,内存数据库的上电启动进程设计,内存数据库数据传输与同 步的设计,内存数据库接口框架的设计。并用自然语言的形式描述了实现的处理 2 第一章绪论 过程。 第四章:欺诈用户检测子系统设计与实现 本章描述了检测子系统的应用场景:移动通信的基本呼叫流程,描述了检测子 系统的整体结构,以及子系统中内存数据库的数据表设计,接口设计,描述了检 测系统在内存数据库的接口的处理过程。 第五章:测试设计与执行 对该子系统的测试进行了描述,包括测试工具、环境和内容,以及测试执行。 第六章:结论 全文内容总结,指出系统的不足之处和改进方向和目标。 电子科技大学硕士学位论文 第二章通信系统与内存数据库 2 1第三代移动通信系统 u m t s ( u i l i v e r s a lm o b i l et e l e c o m m u n i c a t i o ns y s t 锄s :通用移动通信系统) 是采 用w c d m a 接口的第三代移动通信系统,通常把u m t s 系统也称为w c d m a 系 统【3 】【4 1 。 u m t s 系统作为一种现代电信系统,在网络实现上是一个复杂的目标,它在 多业务方面与g s m 系统截然不同,分阶段实现向全i p 演进是u m t s 网络规范的 发展方向。但u m t s 系统是基于g s m 系统演进而来,在网络结构功能划分上与 g s m 网络的划分是一致的,都分为无线接入子系统、核心网络子系统和操作维护 子系统。 2 1 1u m t s 网络子系统的划分 从g s m 系统的划分来看,移动台( m s ) 和操作维护子系统( o s s ) 已成为网络 结构的一部分,因此在对i ,m t s 系统的划分中,将其划分为无线接入网络子系统、 核心网络子系统和操作维护子系统来描述。其中无线网络子系统处理所有与无线 接入有关的无线信道的分配、释放、切换管理等功能,核心网络子系统处理所有 与话音呼叫、数据连接以及与外部网络相关的交换、连接、路由等功能,网络操 作维护子系统执行网络操作维护、用户管理等相关功能,各个子系统间关系描述 见下图2 1 。 图2 1 中操作维护子系统( o s s ) 的主要任务是完成用户管理网络运行和维护功 能,几乎所有任务都与r n s ( 无线网络子系统) 和c n ( 核心网子系统) 中的网元实体 发生关系。 4 第二章通信系统与内存数据库 图2 一lu m t s 网络子系统划分图 u e ( u s e re n d 用户终端,即手机等移动通信设备) 、u t r a n 和c n 构成了完整 的u m t s 网络,从规范的角度来看c n 侧网元实体沿用了g s m g p r s 的定义, 这样可以实现网络的平滑过渡。u m t s 网络的规范是按r 9 9 r 4 r 5 阶段演 进的,下图( 图2 2 ) 是基于r 9 9 系列规范描述的网络结构,在r 讯5 阶段的规范 制定中,核心网的网元的定义接口发生了变化。 q 9 卿网络q 、 m e t ) w c d m a 核心网 c s 域 ,一、 p s 域 m s c ,、l r i 展 业务应用层 、 s g s n g m s c g g s n u 砸l a n ( r n c 、n o d eb ) 图2 2u m t s 系统网络结构图 2 1 2 u m t s 网络基本构成 核心网分为电路域( c s ) 和分组域( p s ) ,电路域基于g s mp h a s e 2 + 的电路核心 电子科技大学硕士学位论文 网的基础上演进而来,网络单元包括移动业务交换中心( m s c ) 、访问位置寄存器 ( v l r ) 、网关移动业务交换中心( g m s c ) ,分组域基于g p r s 核心网的基础上演进 而来,网络单元包括业务g p r s 支持节点( s g s n ) 、网关g p r s 支持节点( g g s n ) 、 归属位置寄存器( h l r ) 、鉴权中心( a u c ) 和设备标识寄存器( e 瓜) 为电路域和分组域 共用网元。从整个c n 子系统来看u m t sr 9 9 核心网与g s m 、g p r s 的核心网 之间的差别主要体现在i u 接口与a 接口的差别、c 创e l 的差别以及业务上的 差别等。 无线接入网络的网络单元包括无线网络控制中心( r n c ) 和w c d m a 的收发信 基站( n o d eb ) 两部分。 此外核心网p s 域通过g i 、g p 接口接入其他p l m n 网络或p d n 网络,c s 域 通过p s t n 接入固定网络或其他p n 删。 u m t s 网络基本构成如下图( 图2 3 ) 所示: e x t e m a ln e 确,o r k s a i g 等虻卜刊h 矗f g 掣 l i - 一f 侬k i m s c l r | 彦一n s g s n - ; 16 ) ; 获取处理函数集,第二个参数表示是获取d b c a n 处理函数集还是d b a c c e s s 处理函数集 船r u e 表示获取d b c a l l 函数集,f a l s e 表示获取d b a c c e s s 处理函数集 1 p f u n c s e t = g e t f u n c s e “s e i 哳c e t 押e ,t r u e ) ; i f ( n u l l = = l p f l l n c s e t ) 错误处理 r e t l l r n ; ) 获取事件号 e v e n t n o 2g e t - - e v e n t n o ( e v e n t ) ; i f ( e v e n t n o = l p f u n c s e t - m 甜l o d m a x ) 3 r 第三章内存数据库子系统设计与实现 错误处理 r e n m l ; ( l p d b c a l l f u n c ) ( 1 p f u i l c s e t 一 m e t h o d d b c a l l b a s e + e v 耐n o ) ( 1 p i n p a r a m , l p o u t p 硼m 1 ) ; r e 由l m ; 在上面的伪代码中,接口处理函数集( 1 p f u i l c s e t ) 的数据结构及其子结构定义如 下: t y p e d e f s 仃1 1 c t 劬c t i o n s e t d w o r dm e t h o d m a x ; u n i o n l p d b c a l l f u n c d b c a l l b a s e ;d b c a l l 接口处理函数指针 l p d b a c c e s s f u n c d b a c c e s s b a s e ;d b a c c e s s 接口处理函数指针 ) m e t h o d ; ) f u n c s e t 宰l p f u n c s e t t y p e d e fv o i d ( 拳l p d b c a l l f u n c ) ( l p t r1 p i l l p a r 锄,l p t rl p o u t p a l 锄) ; t y p e d e fd b b o o l ( 木l p d b a c c e s s f u n c ) ( l p t rl p i n p a r a m ,l 】? t rl p o u t p a r a m ) ; 在结构体f u n c s e t 中的域m e t h o d 中的两个b a s e 都分别指向了业务对应的接 口类型的处理函数指针数组的首地址,即处理函数集首地址。各数据结构在内存 中的关系如下图3 7 描述。 图3 7 中,关于d b a c c e s s 接口类型的内容并不完全,将在后面的d b a c c e s s 接口描述中进行补充,出现在该图中只是为了说明在g e t f 蚰c s e t ( s e i c e t 帅e ,t r u e ) 函数调用时会根据第二个参数的值不同而获取不同的f u n c s e t 数据结构指针。 3 9 电子科技大学硕士学位论文 图3 7 接口框架数据结构内存组织 3 3 2 2 接口的添加与修改 接口的添加分为在已有业务的接口处理函数集中添加新功能的接口和新增业 务类型的接口添加。 对于在已有的接口处理函数集中添加新功能的接口这种情况,只需要在接口处 理函数集的m e t h o d m a x 即函数集函数指针数组的范围内增添相应事件号的宏定义 供接口使用者使用,并添加出入参数据结构类型定义和编写具体的处理函数,将 该处理函数的函数指针相应地存放在事件号对应的函数集中函数指针数组的相应 偏移量的元素中。如果该业务的函数集中处理函数数目已经达到了数组的最大值, 则还应该相应地调整数组的元素个数和m e t l l o d m a x 值。 对于新增业务类型进行添加接口的情况,需要根据已有的s t y p e 的使用情况, 在f u n c s e t 结构数组中添加新业务类型对应的处理函数集数据,然后在定义相 应的处理函数集,并向其中添加具体的处理函数和相应的事件号的宏定义以及该 功能的出入参数据结构类型定义。 3 3 2 3 接口的使用 对于上层业务应用,在使用接口的时候流程比较简单。首先,需要知道将要使 用的接口对应的事件号宏定义和出入参数据结构定义。其一般步骤如下: 第三章内存数据库子系统设计与实现 ( 1 ) 为出入参定义变量并进行初始化,并根据需要对相应的入口参数的域进行 设置 ( 2 ) 根据事件号宏及出入参变量调用d b c a l l 入口函数 ( 3 ) 调用完成后,从出参中读取结果并完成后面的工作 流程演示伪代码如下: c m xr e qi n p a r 锄;入参变量定义 c mx x x xa c ko u t p a r 锄;出参变量定义 初始化出入参数 m e m s e t ( o ,( v o i d 木) & i n p 绷珊,s i z e o 坟c mx x x xr e q ) ) ; 设置入参相关域 m e m s e t ( 0 ,( v o i d 宰) o u t p a r a m ,s i z e o 坟c mx x x xa c k ) ) ; 调用接口入口函数d b c a l l d b c a l l ( c mx x x x ,( l p t r ) & i n p a r a i i l ,( l p t r ) & o u t p a r a m ) ; 后续处理 3 3 3数据访问接口d b a c c e s s 3 3 3 1 接口框架及流程 由于d b a c c e s s 数据库接口是以进程间的数据流通为目标的,所以对于该类接 口的框架设计将其分为了两部分,分别用于对数据访问请求进程端和数据访问执 行进程端的处理。数据访问接口请求端进程即是各个业务功能模块应用进程,而 数据访问执行端进程即是后面将要进行描述的位于内存数据库管理子系统中的数 据访问进程( p d b a c c e s s 进程) 。因此,每一个接口的处理函数集也分为访问请求 端处理函数集和访问执行端处理函数集。 另外,d b a c c e s s 接口框架设计为三种使用方式,分别称为过程调用、同步调 用和异步调用。在异步调用方式中又分为异步需要响应方式和异步不需要响应方 式。 过程调用方式的原理同d b c a l l 的接口实质性是一样的,都是将处理函数作为 4 l 电子科技大学硕士学位论文 了数据操作流程中的一系列函数调用,并未涉及到进程间的通信,即是数据访问 请求发起端和数据访问的执行体是同一个进程实体。 同步调用方式,是数据访问请求发起端和数据访问执行者逻辑上不是同一个进 程实体,整个数据访问过程需要涉及到进程间的消息通信机制。在数据访问被数 据访问进程执行的同时,数据访问请求方的进程执行过程被挂起,等待执行端回 送执行的数据结果,然后才继续后续工作。比如,如果数据访问请求发起端是某 个业务应用进程,则数据访问请求最终会被发送到数据库的数据访问进程 ( p d b a c c e s s 进程) ,由数据访问进程通过对相应数据库内核的操作原语的调用作 用于相关数据表完成数据操作执行工作,并将结果通过进程通信回送到数据访问 请求方,数据请求方才得继续执行和处理数据访问结果数据。 c 异煳方式 图3 8d b a c c e 鸽接口三种调用方式执行流程图示 异步调用方式,也是数据访问请求发起端和数据访问执行者逻辑上不是同一个 进程实体,整个数据访问过程需要涉及到进程间的消息通信机制。不同的是,在 数据访问的执行同时,数据访问请求方的进程执行过程并不受影响,而是继续后 续工作。对数据访问操作结果的处理是等到数据访问执行结束时,监听和接收到 4 2 第三章内存数据库子系统设计与实现 数据访问进程发回来的相应消息并作出响应完成的。这类调用方式的异步不需要 响应方式,是指访问请求方发出数据操作请求后不需要关心数据访问进程执行完 成后的响应消息。通常,异步需要响应调用方式被用于完成一些信令协议栈之间 的数据交互;异步不需要响应调用方式被用于类似一种命令执行模式的应用场景。 三种调用方式的进程执行图示如图3 8 。 d b a c c e s s 接口业务调用入口函数声明如: d b b o o ld b a c c e s s ( d w o r de v e i l t ,l p t rl p h l p a r a m ,l p t rl p o 吡p a r a m ) ; 由于d b a c c e s s 函数是业务调用入口函数,所以完成的工作属于数据访问请求 发起端进程的工作。该函数完成的工作同d b c a l l 函数基本上是相同的,不同的是 最后对函数集中的函数调用是调用的请求端的处理函数集中的函数,d b a c e s s 接 口和d b c a l l 接口的处理流程的差别也就从那一点开始的。 d b b o o ld b a c c e s s ( d w o r de v e n t ,l p t rl p h l p 嬲硼,l p t rl p c 眦p a r 锄) i f ( ! i s d b a c c e s s ( e v e n t ) ) 错误处理 r e t u mf a l s e ; ) 获取业务类型 s e i c e l e = ( w o r d ) ( ( e v e n t & s t y p e - m s k ) 16 ) ; 获取处理函数集,第二个参数表示是获取d b c a l l 处理函数集还是d b a c c e s s 处理函数集 胛r u e 表示获取d b c a l l 函数集,f a l s e 表示获取d b a c c e s s 处理函数集 l p f u n c s e t = g e t f u n c s e t ( s e i c e l 卯e ,f a l s e ) ; i f ( n u l l l p f 、m c s e t ) 错误处理 r e t u mf a l s e ; 获取事件号 e v e i l t n o = g e t _ e v e n t n o ( e v e n t ) ; i f ( e ve 1 1 _ t n o = l p f u n c s e t - m 甜1 0 d m a x ) 4 3 电子科技火学硕士学位论文 错误处理 r e n 】mf a l s e ; ) “内毗n ( ( l p d b a c c e s s f u n c ) ( 1 p f u n c s e t - m e t h o d d b a c c e s s b a s e + e v e i l t n o ) ( 1 p i l l p a r 锄,l p o u t p 跚唧) ) ; ) 其中,接口调用入口函数d b a c c e s s 的入参的第一个字段是b y t e ( 无符号字符 类型) 类型的调用方式字段,其取值有四个:m s gc a l l 、m s gs y n 、m s ga s y n 和m s ga s y nn o n a c k ,分别表示过程调用、同步调用、异步需要响应调用和 异步不需要响应调用四种调用方式;出参的第一个字段是d w o i m 类型的执行结 果码的字段,当函数返回f a l s e 或者异步调用方式接到响应消息后用于判断数据 访问操作是否成功或者具体的错误原因。 数据访问请求端的处理函数集的处理函数完成的主要工作是对参数进行合法 性检查和调用方式合法性的检查,并根据不同的调用方式进行相应的处理操作。 如果是过程调用方式( m s gc a l l ) ,则后面直接根据事件号调用数据访问执行端 的处理函数集中的函数,过程同d b c a l l ,只是又经历了一次数据访问执行端的 函数集查找和函数查找过程。如果是同步调用方式( m s gs y n ) ,则使用底层操作 系统接口封装层提供的进程间通信机制向数据访问进程p d b a c c e s s 发送消息,并 携带相应的请求参数,然后挂起请求端进程,等待数据访问执行的结束。如果是 异步调用方式( m s ga s y n 、m s ga s y nn o n a c k ) ,则使用底层操作系统接口 封装层提供的进程间通信机制向数据访问进程p d b a c c e s s 发送消息,然后继续后 续操作。对于异步需要响应的调用方式,在数据访问请求端的执行进程的进程状 态机中还应该添加对该接口对应的事件消息处理状态。 在数据访问执行端,数据访问进程收到同步调用或异步调用发送过来的消息 后,对消息参数进行合法性检查,比如消息参数中是否有空指针以及针对具体的 接口参数中某些数据的合法性等等。然后,调用底层操作系统接口封装层的获取 消息发送者进程的进程信息并进行保存,用于数据处理完成后向该进程回送消息。 接下来就是调用数据库内核提供的一些操作原语对相关的数据表进行操作,并记 录接口出参要求的结果数据到出参之中。最后,根据调用方式不同作不同的回送 结果操作。如果是过程调用,把操作结果存入请求方传如的出参之中,直接返回 成功;如果是同步调用或异步调用则通过底层的消息机制将结果回送给发送方。 第三章内存数据库子系统设计与实现 是否需要响应是请求方设计的考虑因素,执行端不需要考虑都一律回送。 数据访问请求端和执行端的处理函数集在内存中的组织和交互如下图3 9 所 示。 数据访问请求端进程空间数据访问执行端进程空间 图3 9 请求、执行端处理函数集内存组织 3 3 3 2接口的添加与修改 同d b c a l l 接口的添加一样,d b a c c e s s 接口的添加与删除也分为在已有业务的 接口处理函数集中添加新功能的接口和新增业务类型的接口添加。不同的是, d b a c c e s s 的每个接口的出入参数数据结构的定义有一定的结构要求,入参的第一 个字段必须是b y t e ( 无符号字符数据类型) 用于表示调用方式,出参的第一个字段 必须是d w o r d 用于表示操作结果码。 接口入参数据结构定义 t y p e d e fs 仃u c t b y t e m s 9 1 e ;接口调用方式:m s g a l l 过程调用,m s g s y n 同步 调用,m s ga s y n 异步需要响应调用, m s ga s y nn o n a c k 异步不需要响应调用 x x x x x 】( ) 【:其他字段定义 ) d mx x x xr e q ,枣l p d mx x x xr e q ; 接口出参数据结构定义 4 5 电子科技大学硕士学位论文 t y p e d e f s t r u c t d w o r dd w c o d e :操作结果编码 ) 【= ( 殛) 【) 【酝:其他字段定义 ) d m ( x xa c k 术l p d m 翠( x xa c 心 每添加一个d b a c c e s s 接口需要在两个处理函数集中添加处理函数,一个是数 据访问请求端的处理函数,一个是数据访问执行端的处理函数,需要这两端的处 理函数进行协作才能完成接口的处理流程。其他步骤基本上都与d b c a l l 接口的添 加相同。 3 3 3 3 接口的使用 上层业务应用对d b a c c e s s 接口的使用也大部分和d b c a l l 相同,都是先定义 出入参数据结构变量并进行初始化和数据设置,然后调用接口入口函数d b a c c e s s , 调用返回后,对d b a c c e s s 函数的返回值作判断,当函数返回f a l s e 时进行错误处 理。 不同的是,d b a c c e s s 的几种不同调用方式对数据访问结果数据的处理时机不 同。过程调用和同步调用两种方式,因为在d b a c c e s s 函数返回时,数据访问结果 数据已经存在于函数的出参的数据内存空间中,可以立即对结果数据进行处理。 两种异步调用在d b a c c e s s 函数返回时,数据访问结果数据并不在函数的出参数据 空间中,而是在以后的某个时刻从数据访问进程返回的响应消息中。对于不需要 响应的接口调用方式,请求方可以不予考虑对结果数据的处理;对于需要响应的 调用方式,请求方需要在自己的进程处理状态机中添加状态以对响应消息进行处 理。 3 3 4 数据访问进程设计与接口使用惯例 在复杂的通信系统核心网软交换系统中,各进程频繁地访问内存中的数据。如 果在某个业务访问数据的过程中被打断会导致数据不一致,带来的损失可能是不 可估量的【3 9 】【4 0 】【4 l 】【4 2 1 。因此,保证数据的一致性是一项相当重要的工作。传统基于 磁盘的商业数据库其通过成熟的事务控制等技术很成功的处理好了数据的一致性 问题。内存数据库尤其是在通信系统中由于其应用针对性和实时性的要求,对数 据访问的并发处理各有各自的设计。 第三章内存数据库子系统设计与实现 本子系统为了简化数据一致性的管理,根据底层操作系统接口封装层( 以后简 称系统支撑) 提供的特色进行了设计。 本子系统基于的底层系统支撑将系统的各个功能模块划分为不同的任务,不同 任务有不同的优先级,系统根据任务的优先级进行任务的调度。任务中可以有多 个进程轮流被执行,任务中的进程执行过程中不能被同一任务的其他进程抢占, 但可以被比所属任务的优先级高的任务中的进程抢占。基于此点,设计了数据库 的数据访问进程和前面讲述的相应的数据库访问接口,并制定一些使用惯例。下 图3 1 0 描述了数据访问进程在系统中的位置和其同其他任务、进程的交互。 如图3 1 0 描述,数据库访问进程所在的任务的其他进程可以直接使用数据库 访问代码对数据库中的数据表进行操作,因为同一个任务中的进程必须等到任务 中运行的其他进程处理完才能有运行的机会,所以这些进程直接使用数据访问代 码操作数据表不会造成数据的不一致。而其他任务中的进程如果直接使用数据访 问代码操作数据表,当其数据操作工作进行到中途时,来自比它所在任务优先级 高的任务的进程对该进程进行抢占后,并直接使用数据访问代码操作数据表,而 两个进程的业务处理涉及的数据表刚好又有交叉的,那么就可能引起数据的不一 致了。因此,就如上图所示,特别做了限制,要求来自其他任务的进程必须通过 向数据访问进程发送消息请求数据访问进程进行对数据表的操作,这样来保证数 据访问操作过程中的一致性。 业务任务l 进 程 l 进 程 2 进 程 3 进 程 4 数据库进程所在任务 进 程 1 进 程 2 进 程 3 据 访 问 一 业务任务1 进 程 l 进 程 2 进 程 3 进 程 4 消息流 数据库访问接口代码 内存中的数据表 图3 1 0 数据访问进程与其他任务进程的交互 4 7 消息流 电子科技大学硕士学位论文 因此,回看之前对两种数据库访问接口的设计,分为d b c a l l 和d b a c c e s s 。 d b c a l l 和d b a c c e s s 中的过程调用方式其实质都是函数调用,即是直接使用数据 访问代码对数据表进行操作,因此,这两种方式只适用于同数据访问进程在同一 个任务的其他进程适用。d b a c c e s s 接口中的其他两种调用方式:同步调用和异步 调用,都是通过向数据访问进程发送消息完成的,这两种方式就适用于其他任务 中的进程适用,它们也只能使用这种方式对数据表进行操作。 3 4 内存数据库管理子系统设计与实现 3 4 1传输与同步进程设计 通信系统核心网是一个很多网元设备的复杂环境,各网元设备和各功能模块之 间的数据交换错综复杂,然而,各个网元设备上运行的不同功能模块所具体需要 的数据表中的数据又不尽相同。因此,如果所有网元设备上所拥有的内存数据库 子系统中的数据表都设计得完全一样,会使得很多数据表在某些网元设备上是完 全冗余的或不是必须的,这样就会造成在很多网元设备上内存空间的极度浪费。 比如,在主要运行信令控制模块的网元设备中,与信令控制无关的数据表就会占 据大量的内存空间,如果信令控制模块相关的数据表需要更多的内存空间反而得 不到满足,系统的性能也不能发挥到最大。 基于上述系统物理因素的考虑,内存数据库子系统在各个网元设备中的数据表 是根据不同功能模块而不同的。同时,为了维持数据在整个系统中以及在系统的 长期运行中的完整性和一致性,必须有相应的子系统和进程进行管理。因此,设 计了用于传输与同步数据的模块逻辑结构和相应的进程,以对系统中的数据进行 传输和同步。 在之前也曾经提到过,通信系统核心网的物理设备中被划分为了主处理网元设 备和其他运行业务或信令管理功能模块的网元设备。因此,在这个物理结构之上, 对数据传输与同步的逻辑结构进行设计。主处理网元设备上拥有所有网元设备需 要的所有数据,并定时的进行存盘操作和同后台网络管理系统的数据库系统进行 数据传输和同步;其他运行业务或信令管理功能模块的网元设备只有同所运行的 功能模块相关的数据表和数据,并和主处理网元设备进行数据传输和同步,保持 数据的更新,这些网元设备并不对数据进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- xx市地下管网及设施更新改造工程环境影响报告书
- 教育综合基础试题及答案
- 阀门生产线项目建设工程方案
- 财务基础道德试题及答案
- 小学基础试题及答案
- 综合物流铁路专用线建设项目规划设计方案
- 人民医院住院大楼改造项目投标书
- 生活污水处理厂建设项目商业计划书
- 热电联产项目初步设计
- 竞业禁止协议补偿金测算与员工离职补偿机制拓展
- 能源费用托管服务方案投标文件(技术方案)
- 加油站有限空间安全管理制度
- DB4201T 534-2017 武汉市住宅物业服务等级标准
- 抽水蓄能技术课件
- 洗涤公司运营管理制度
- 2025至2030中国智能楼宇行业发展分析及产业运行态势及投资规划深度研究报告
- 英语常用3000单词
- 2025年全脂甜羊奶粉项目市场调查研究报告
- 偷东西和解协议书
- 社区基本诊查技能课件
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附带答案详解
评论
0/150
提交评论