论文部分内容阅读
为了提高现有的在线计费产品在国际市场的优势,我们决定通过自主研发一套高度独立的、快速的、安全的、易用的内存数据库,来代替TimesTen[1],同时能够无缝的与现有系统进行对接,并将CustCache、RuleCache进行替换,简化现有系统的复杂度,降低系统的耦合度。通过这套系统,可以在各个计费版本中进行推广,为在线计费系统[24]提供一套完整的、可控的解决方案。这个专为计费系统而生的内存数据库就是Quick Memory DataBase。引入QMDB内存数据库系统后,对于我们的计费系统带来的一些明显的优势。首先,QMDB作为一个独立的系统,可以通过类似ODBC接口的形式,被应用程序调用,采用动态连接库的方式加载到应用系统中,QMDB的任何变动和升级,都不会影响到应用程序,所以系统可以在不影响应用的情况下升级、修正;其次,可以解决系统中存在多种数据的情况,因为目前系统中的数据存储机制非常复杂,有Oracle数据、TimesTen数据、CustCache数据和RuleCache数据,每次变更表结构或者增加表信息,都需要变动相应的应用代码,这给我们的应用带来了一定的复杂度和不稳定性,开发人员不得不抽出一定的时间进行开发、验证,测试也要分配人员进行相关的测试验证,这样毫无疑问会分散开发、测试人员的精力。通过QMDB内存数据库,数据的存储机制将变为内存数据库数据和Oracle数据两种,极大地简化系统的复杂度,而且当应用的表结构发生变动时,不必修改相应的代码,只要变更一下脚本就可以处理,让开发人员有更多地精力去处理业务逻辑;第三,由于现有的内存数据库TimesTen的价格十分昂贵,采用QMDB可以降低产品的采购成本,创造市场机会,提高企业利润。研发QMDB,主要是针对计费领域中的数据处理。因此考虑了计费数据的特点和技术难度,摒弃了TimesTen的一些特性,去除了TT的几点功能:第一,多表的关联查找和更新;第二,数据的事务控制;第三,动态表结构的调整;第四,多对多的数据备份。