一种采用嵌入式数据库系统保存信令跟踪数据的方法

文档序号:7664799阅读:246来源:国知局
专利名称:一种采用嵌入式数据库系统保存信令跟踪数据的方法
技术领域
本发明涉及通讯领域,并且特别地,涉及网管信令跟踪工具的一种保存上 报信令数据的方法。
背景技术
信令跟踪(Signaling Trace)是电信网络运营维护中一项重要功能。信令 跟踪工具通过跟踪记录前台网元(Network Element)设备之间的信令消息,实 时地呈现信令传输过程,为开发及维护人员进行信令流程分析和故障定位提供 了重要的手段。
目前以软件方式实现的信令跟踪工具,对于接收到信令的处理有两种方 式, 一种是只做实时显示,不做数据保存。另一种方式则是既做实时显示,又 做数据实时保存。随着信令跟踪工具功能的不断增强,特别是为了满足用户査 看历史跟踪数据的需求,实时信令数据保存成为一个技术的关键, 一款优秀的 信令跟踪工具,必须做到准确无误的保存所有前台网元上报的信令数据,以供 技术人员分析使用。
信令跟踪工具一般无需安装,拷贝即可使用。因此对于大量信令数据,无 法使用传统的关系型数据库系统保存数据。目前的信令跟踪工具一般采用自定 义文件或者Access数据库的方式进行数据保存
使用自定义文件,优点在于可以为信令跟踪开发特定的保存功能;缺点在 于,难以对数据读写的进行控制(例如同步)。此外,当文件超过4个GB大小 时,Windows操作系统将无法支持。
使用Access数据库的优点在于windows系统提供成熟的数据库访问接口 , 使用简单灵活,对数据的读写控制较好;其缺点在于,Access数据库是简单 的桌面型数据库,无法满足大量信令数据的存储要求。并且Access只提供ODBC 访问方式,Java程序必须通过JDBC-ODBC桥的方式访问数据库,降低了数据 存取的效率。

发明内容
为了解决上述问题,本发明提出了 一种采用嵌入式数据库系统保存信令跟
踪数据的方法,目的在于根据java代码实现的信令跟踪工具,采用嵌入式 数据库系统存储信令数据,该数据库无需安装配置,可以直接与程序结合完成 独立的数据存取功能。
具体地讲,本发明公开的一种采用嵌入式数据库系统保存信令跟踪数据的
系统,包括
配置参数模块,用于获取配置文件中的各种配置参数;
所述配置参数为以XML文件的方式保存的前台网元信息,所述前台网元信 息包括四个字段ID编号、网元名称、IP地址和端口号。
前后台通信模块,用于和前台网元建立和维护通信链路,接收前台网元发 来的信令消息,并把消息写入信令消息缓冲区;
所述信令消息缓冲区还包括溢出信令消息缓冲区,所述信令消息处理模块 还包括溢出缓冲区信令消息处理模块,所述溢出缓冲区信令消息处理模块包括 多个溢出缓冲区信令消息处理线程,用于对溢出缓冲区里的信令消息进行处 理,将信令消息保存至数据库。
信令消息处理模块,包括多个信令消息处理线程,用于对信令消息缓冲区 里的信令消息进行处理;所述多个信令消息处理线程在后台信令跟踪工具启动 时创建。
数据库模块,保存接收的信令数据和提取已保存的信令数据。 所述数据库系统采用Java版本的Oracle Berkeley DB嵌入式数据库。 本发明还公开了一种采用嵌入式数据库系统保存信令跟踪数据的方法,包 括步骤
步骤l,获取配置文件中的各种配置参数;
步骤2,和前台网元建立和维护通信链路,接收前台网元发来的信令消息, 并把消息写入信令消息缓冲区;
步骤3,对信令消息缓冲区里的信令消息进行处理,包括多个信令消息线 程处理;
步骤4,保存接收的信令数据和提取已保存的信令数据。
所述步骤l中,配置参数为以XML文件的方式保存的前台网元信息,所述
前台网元信息包括四个字段ID编号、网元名称、IP地址和端口号。
所述歩骤2中把消息写入信令消息缓冲区还包括把消息写入溢出信令消
息缓冲区。
所述步骤3进一步包括
步骤301,后台信令跟踪工具启动时,创建多个信令消息处理线程; 歩骤302,每个信令处理线程从信令消息缓冲区取出一条信令消息,然后 将信令消息缓冲区中对应的信令消息从缓冲区中删除;
步骤303,每个信令处理线程处理刚从缓冲区中的信令消息;然后重复302步骤。
所述步骤4进一步包括 步骤401,启动信令跟踪工具;
歩骤402,判断是否创建跟踪任务,如果不是,则执行步骤4042; 步骤4032,创建新的信令跟踪任务; 步骤4033,创建数据库,并且建立任务与数据库的连接; 步骤4034,接受信令处理线程传送的数据,将数据保存至数据库。 步骤4042,打开跟踪任务。
步骤4043,打开任务对应的数据库,建立与数据库的连接; 步骤4044,数据库根据传入的索引值找到对应的记录,返回码流数据。
本发明的技术在于效果既提高了信令跟踪工具数据处理的吞吐量,又避免 了对原有的软件体系结构的大规模改动,可以方便地将各版本变更为数据库存 储模式。


图l是本发明的总体框图-,
图2是配置参数模块流程图3是前后台通讯模块流程图4是信令消息处理模块的处理流程图5是数据库模块流程图。
具体实施例方式
附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示 意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
本发明包括以下模块配置参数模块,用于获取配置文件中的各种配置参 数;前后台通信模块,用于和前台网元建立和维护通信链路,接收前台网元发 来的信令消息;信令消息处理模块,包括多个信令消息处理线程,用于对信令 消息缓冲区里的信令消息进行处理;数据库模块,用于保存接收的信令数据和 提取已保存的信令数据。
本发明提出的技术方案为采用java版本的Oracle Berkeley DB嵌入式 数据库实现数据保存的核心功能。
Berkeley DB是一款开源的、高性能的嵌入式数据库系统,它完全基于Java 语言实现,采用二叉树(Btree)的数据存储结构,提供基于事务方式的存储引 擎和JDBC的数据访问接口 。 Berkeley DB将待存储的数据,优先写入Berkeley DB申请的Java虚拟机(JVM)缓存空间。如果申请的缓存空间已经用完,则先 把缓存中的数据写入磁盘,再将待保存的数据写入缓存。与传统的关系型数据 库相比,Berkeley DB对数据有更快的存取速度,较低的CPU和内存占用率。 对于信令跟踪工具而言,Berkeley DB的优势更加明显,首先,它无需安装配 置,在原有代码基础上只需要引入不足4M的jar包,即可完成数据库的所有 功能。其次,它的数据表结构简单, 一张二维表只有两个字段,关键字和数据, 而且支持byte型数组数据的直接存储。最后,对于由java开发的信令跟踪工 具,该Java版本的Berkeley DB针对Java程序做了特殊优化,提高了数据存 取的效率。
下面参考附图,详细说明本发明的具体实施方式

图1是本发明的总体框图。如图1所示,本发明包括以下模块配置参数 模块,用于获取配置文件中的各种配置参数;前后台通信模块,用于和前台网 元建立和维护通信链路,接收前台网元发来的信令消息,并把消息写入信令消 息缓冲区或者溢出信令消息缓冲区(信令消息缓冲区和溢出信令消息缓冲区可 以为两个不同的信令消息缓冲区,也可以在信令消息缓冲区中包括溢出信令消 息缓冲区);信令消息处理模块,包括多个信令消息处理线程,用于对信令消 息缓冲区里的信令消息进行处理;溢出缓冲区信令消息处理模块,包括多个溢出缓冲区信令消息处理线程,用于对溢出缓冲区里的信令消息进行处理,将信 令消息保存至数据库。数据库模块,负责数据存取的功能。对于接受到的码流
数据,优先将它存放在申请的JVM虚拟机缓存中,当缓存已满,将缓存中的码
流数据一次性写入数据库中,在读取数据库保存的数据时,向数据库传入索引 关键字值,数据库根据索引值,返回保存的码流信息。这四个模块是顺序连接
的:信令跟踪是按照"配置参数模块--^前后台通讯模块一^信令消息处理模 块--今数据库模块"这样的流程依次处理的。
图2是配置参数模块处理流程图。在该模块中,完成前台网元信息的配置 任务。 一条网元信息记录包括四个字段,分别是ID编号、网元名称、IP地址 和端口号。网元信息以XML文件的方式保存,读取配置信息完毕后,用户可选 择相应的网元进行连接。
步骤21,读取XML格式的配置信息;
步骤22,设置前台网元信息配置列表的ID编号信息;
步骤23,设置前台网元信息配置列表的网元名称信息;
步骤24,设置前台网元信息配置列表的IP地址信息;
步骤25,设置前台网元信息配置列表的端口号信息。
图3是前后台通讯模块的处理流程图。
步骤301,建立前后台通信链路;
步骤302,接收前台发来的信令消息;
步骤303,判断信令消息缓冲区是否己满;
步骤304,如果否,则将信令消息写入信令消息缓冲区;
步骤305,如果是,则将信令消息写入溢出信令消息缓冲区;
步骤306,返回步骤302。
图4是信令消息处理模块的处理流程图。
步骤401,后台信令跟踪工具启动时,创建多个信令消息处理线程。 步骤402,每个信令处理线程从信令消息缓冲区取出一条信令消息。然后
将信令消息缓冲区中对应的信令消息从缓冲区中删除。
步骤403,每个信令处理线程处理刚从缓冲区中取出的信令消息。然后重
复402步骤。
图5是数据库模块流程图。信令数据的保存和读取都是在该模块中完成
的。
步骤501,启动信令跟踪工具;
步骤502,判断是否创建跟踪任务,如果是,则执行步骤5031,如果不是, 则执行步骤5041;
步骤5031,创建新的信令跟踪任务;
步骤5032,创建数据库,并且建立任务与数据库的连接;
步骤5033,接受信令处理线程传送的数据;
步骤5034,将数据保存至数据库。
步骤5041,打开跟踪任务。
步骤5042,打开任务对应的数据库,建立与数据库的连接; 步骤5043,根据索引值向数据库发出査询请求; 步骤5044,数据库提取码流数据,返回査询结果。
在使用模拟网元进行数据压力测试中,采用传统方式保存信令数据,平均 的吞吐量为30000/min,而改用Berkeley DB数据库系统,平均的吞吐量可达 70000/min。在使用模拟网元进行系统疲劳性测试中,24小时不间断地进行信 令跟踪,采用传统方式,当数据流量很高时,出现数据保存失败的概率比较大。 而改用Berkeley DB数据库系统,即使已经保存的数据量高达三四个GB,系 统依旧正常运行。综上所述,通过上述的本发明,既提高了信令跟踪工具数据 处理的吞吐量,又避免了对原有的软件体系结构的大规模改动,可以方便地将 各版本变更为数据库存储模式。
权利要求
1.一种采用嵌入式数据库系统保存信令跟踪数据的系统,其特征在于,包括配置参数模块,对前台网元信息进行配置,获取配置文件中的各种配置参数;前后台通信模块,用于和前台网元建立和维护通信链路,接收前台网元发来的信令消息,并把消息写入信令消息缓冲区;信令消息处理模块,包括多个信令消息处理线程,用于对信令消息缓冲区里的信令消息进行处理;数据库模块,保存接收的信令数据和提取已保存的信令数据。
2. 如权利要求1所述的采用嵌入式数据库系统保存信令跟踪数据的系统, 其特征在于,所述配置参数为以XML文件的方式保存的前台网元信息,所述前 台网元信息包括四个字段ID编号、网元名称、IP地址和端口号。
3. 如权利要求1所述的采用嵌入式数据库系统保存信令跟踪数据的系统, 其特征在于,所述信令消息缓冲区还包括溢出信令消息缓冲区,所述信令消息 处理模块还包括溢出缓冲区信令消息处理模块,所述溢出缓冲区信令消息处理 模块包括多个溢出缓冲区信令消息处理线程,用于对溢出缓冲区里的信令消息 进行处理,将信令消息保存至数据库。
4. 如权利要求1所述的采用嵌入式数据库系统保存信令跟踪数据的系统, 其特征在于,所述多个信令消息处理线程在后台信令跟踪工具启动时创建。
5. 如权利要求1所述的采用嵌入式数据库系统保存信令跟踪数据的系统, 其特征在于,所述数据库系统采用Java版本的Oracle Berkeley DB嵌入式数 据库。
6. —种采用嵌入式数据库系统保存信令跟踪数据的方法,其特征在于, 包括步骤步骤l,对前台网元信息进行配置,获取配置文件中的各种配置参数; 步骤2,和前台网元建立和维护通信链路,接收前台网元发来的信令消息, 并把消息写入信令消息缓冲区;步骤3,对信令消息缓冲区里的信令消息进行处理,包括多个信令消息线 程处理;步骤4,保存接收的信令数据和提取已保存的信令数据。
7. 如权利要求6所述的采用嵌入式数据库系统保存信令跟踪数据的方法, 其特征在于,所述步骤l中,配置参数为以XML文件的方式保存的前台网元信 息,所述前台网元信息包括四个字段ID编号、网元名称、IP地址和端口号。
8. 如权利要求6所述的采用嵌入式数据库系统保存信令跟踪数据的方法, 其特征在于,所述步骤2中把消息写入信令消息缓冲区还包括把消息写入溢出 信令消息缓冲区。
9. 如权利要求6所述的采用嵌入式数据库系统保存信令跟踪数据的方法, 其特征在于,所述步骤3进一步包括步骤301,后台信令跟踪工具启动时,创建多个信令消息处理线程; 步骤302,每个信令处理线程从信令消息缓冲区取出一条信令消息,然后将信令消息缓冲区中对应的信令消息从缓冲区中删除;步骤303,每个信令处理线程处理刚从缓冲区中的信令消息;然后重复302步骤。
10. 如权利要求6所述的采用嵌入式数据库系统保存信令跟踪数据的方 法,其特征在于,所述步骤4进一步包括步骤401,启动信令跟踪工具;步骤402,判断是否创建跟踪任务,如果是,则执行步骤4032,如果不是, 则执行步骤4042;步骤4032,创建新的信令跟踪任务; 步骤4033,创建数据库,并且建立任务与数据库的连接; 步骤4034,接受信令处理线程传送的数据,将数据保存至数据库。 步骤4042,打开跟踪任务。步骤4043,打开任务对应的数据库,建立与数据库的连接; 步骤4044,数据库根据传入的索引值找到对应的记录,返回码流数据。
全文摘要
本发明涉及一种采用嵌入式数据库系统保存信令跟踪数据的系统,包括配置参数模块,用于获取配置文件中的各种配置参数;前后台通信模块,用于和前台网元建立和维护通信链路,接收前台网元发来的信令消息,并把消息写入信令消息缓冲区;信令消息处理模块,包括多个信令消息处理线程,用于对信令消息缓冲区里的信令消息进行处理;数据库模块,保存接收的信令数据和提取已保存的信令数据。本发明既提高了信令跟踪工具数据处理的吞吐量,又避免了对原有的软件体系结构的大规模改动,可以方便地将各版本变更为数据库存储模式。
文档编号H04L12/24GK101174989SQ200710176139
公开日2008年5月7日 申请日期2007年10月19日 优先权日2007年10月19日
发明者王春华, 纪天明, 董小虎 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1