基于Berkeley DB的话费计算技术研究

2012-11-17 05:27郝洋肖子航吴晨光
中国新技术新产品 2012年20期
关键词:话费数据库系统应用程序

郝洋 肖子航 吴晨光

(1.河南省电力通信自动化公司,河南 郑州 450000;2.河南省电力公司安阳供电公司,河南 安阳 455000)

1 Berkeley DB数据库系统特点

(1)嵌入式(Embedded)

Berkeley DB能够直接链接到应用程序当中,并不是只能应用于嵌入式系统。Berkeley DB与应用程序运行在相同的地址空间中,所以,无论是在同一台计算机的不同进程之间,还是在互联网上不同计算机之间,它对数据库的操作不需要在进程之间建立通讯,从而可以大大提高数据库访问速度。Berkeley DB能够为多种编程语言提供应用程序接口,包括 C++、Java、Python、PHP 和 Tcl等,所有的数据库操作都在程序库内部发生。

(2)可伸缩(Scalable)

Berkeley DB的函数库容量很小,但是它能够管理容量巨大的,可高达256TB,在性能方面与相同等级的数据库系统相比较存在明显优势。Berkeley DB支持数据的高度并发操作,能够轻松应付几千个用户同时对一个数据库进行访问。

(3)结构简单

Berkeley DB数据库具有简单的存储数据结构,每一个数据作为一个记录,由关键字和数据共同组成。数据可以是一个字符串这种简单的数据类型,也可以是C语言结构中的复杂数据类型,无论数据部分有多么繁杂,Berkeley DB都不会对其做出任何反应,完全由程序员自行处理。

2 Berkeley DB数据库系统的体系结构

Berkeley DB数据库系统由五个子系统构成(如图1所示):存取管理子系统、事务子系统、内存池管理子系统、锁子系统和日志子系统。存取管理子系统是数据库的核心子系统,每个子系统对应支持不同的应用级别。

图1 Berkeley DB数据库系统结构

3 Berkeley DB数据库系统在话费计算中的应用

(1)移动话费结算流程图(图二所示)

(2)话费结算原理

话费结算的任务是将从各个基站收集到的原始化条集合进行计算,并将计算结果存入服务器,保留原始记录。结算过程中需要做余额的扣除处理。由于收集到的原始话条不带有套餐信息,但是结算时必须要按照不同的套餐类型读取参数进行计算,所以有必要以号码作为联系并读取个人信息表取得该号码所对应的套餐类型,并添加到原始化条中作为计算依据。

4 Berkeley DB数据库系统的优势

本文在移动话费计算中应用了Berkeley DB数据库,并没有选择一些流行的主流数据库,是根据移动话费业务系统的需求而定的。而主流的关系型数据库比较适合处理数据结构复杂的数据,对于结构相对简单的数据而言,使用Berkeley DB数据库进行处理就会显现出较大优势。Berkeley DB提供了众多应用程序接口,对于函数的调用非常简单,Berkeley DB提高的库与应用程序一起编译成为可执行程序。由于数据库管理系统和应用程序在同一个进程空间当中运行,通过调用Berkeley DB数据库系统的函数来进行数据库的访问操作,所以不需要在数据库和应用程序之间进行通信,也不需要应用SQL数据库语言对数据库进行操作,避免了系统对SQL数据库语言的解析过程,大大降低了访问数据库的时间,并且提高了访问速度。

5 基于Berkeley DB服务器优点

(1)稳定性

移动话费业务系统由多台服务器组成一个整体,全部站点面向移动用户提供服务,如果有个别的站点出现技术故障,剩下的站点仍然可以向用户提高服务,除非所有的站点全部瘫痪,Berkeley DB数据库系统还可以提供监测功能,一旦服务器出现任何问题导致无法工作,就会重新启动服务器,使整个系统更加稳定安全。

(2)可靠性

移动话费业务系统采用了Berkeley DB数据库系统的恢复机制,如果服务器由于若干原因出现故障,导致无法正常处理用户提交的数据,或者造成用户数据丢失,可以通过Berkeley DB数据库的恢复还原功能,同步控制端和站点之间的数据,从而很好地保证了系统可靠性。

(3)安全性

在移动话费业务系统整体服务器中,所有服务器存储的用户数据都是相同的,而且随时进行同步更新,控制端负责将接收到的用户请求数据同步给所有的站点,同时将数据存储到控制端的数据库中,如果服务器受到外界的攻击,站点上的数据虽然会被破坏,但是主控端的数据是完好无损的,这是因为控制端不会接收站点同步的数据信息,所以主控端不会受到任何影响,并且起到了良好的备份作用。

结语

移动话费结算流程图

时下优良的数据库系统支持架构对于移动话费结算业务来说至关重要,应用Berkeley DB的数据恢复机制、内存共享机制等,有效保证了移动话费业务数据库服务器的稳定性、安全性和可靠性,同时提高了数据传输处理的效率。

[1]孟亚男,高明宝.嵌入式数据库Berkeley DB在智能海洋机器人中应用 [J].微计算机信息.2009(02).

[2]周丽,杨晓松.Berkeley DB Java Edition数据结构的研究与应用 [J].计算机与现代化,2009(02).

[3]万玛宁,关永,韩相军.嵌入式数据库典型技术SQLite和Berkeley DB的研究 [J].微计算机信息,2006(02).

[4]黄志刚.基于Berkeley DB核心嵌入式实时数据库引擎[J].计算机与数字工程,2007(03).

[5]刘智,付保川,奚雪峰.基于Berkeley DB的监控系统的设计与实现[J].科技广场,2007(01).

[6]王洪蛟,董学仁,褚福强,兰敏.BerkeIey DB在嵌入式系统中的应用研究[J].仪器仪表用户.,2007(06).

[7]虞珊,周彩兰,郭凤玲.Berkeley DB在网络信息挖掘中的应用 [J].计算机与现代化,2008(05).

[8]宋丽娜.嵌入式数据库典型技术--SQLite和Berkeley DB的研究[J].科技信息(学术研究),2008(14).

[9]吴小博.嵌入式数据库Berkeley DB研究[J].茂名学院学报,2008(04).

[10]范敏,王美廷.基于数据库技术实现信息系统的可扩展性[J].光盘技术,2009(03).

[11]胡建红.基于Delphi应用程序动态创建与访问数据库[J].南昌航空工业学院学报(自然科学版),2006(03).

[12]刘彩苹,李仁发,李肯立.Recno索引方式在伯克利数据库中的应用 [J].计算机应用,2004(12).

[13]Yadava H.The Berkeley DB Book.

猜你喜欢
话费数据库系统应用程序
删除Win10中自带的应用程序
挑战舌头
数据库系统shell脚本应用
买东西 送话费 生意马上好几倍
微细铣削工艺数据库系统设计与开发
实时数据库系统数据安全采集方案
核反应堆材料数据库系统及其应用
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序