近期主要研究了一下XML、SOAP和Web service,目的是为了destroy,不仅是一个单机版的程序,还要成为网络版的应用。跨越平台、跨越开发语言的障碍,现阶段看,Web service是一个不错的选择。
以下是在前一版本的开发计划的基础上修改的新版本。
基于 BER 编码的 CDR 解码程序—— destroy ,已经于 2010 年 6 月底正式发布了 1.0 版本。在我看来,目前的 destroy 还显得很稚嫩,还有许多可以改进和值得改进的地方。以下简单列出其未来的开发要点,由于该项目都是在业余时间进行的,开发进度容易受本职工作所影响,但是,如果时间允许,我觉得将来的 destroy 在功能上,是十分令人期待的。
1. 批量处理 。 Destroy 1.0 每执行一次,只能解码一个文件,希望不久的将来,能够识别正则表达式,实现批量处理
2. 支持更多的文件格式 。 Destroy 1.0 支持 Ericsson 的 MSC 、 GGSN 、 SGSN 、 MIEP 、 MMS 的某些版本的 CDR ,如果要支持其它厂商的更多的文件,还需要各位大力支持,假如大家觉得它有用的话,就把各厂商的样本数据文件和描述文件发给我,让我们共同完善这个程序。后续版本的destroy应当支持XML,以做到与厂商的设计无关
3. 支持更多的编码 。 Destroy 1.0 只支持 BER 编码,后续版本将会支持更多的编码格式,比如 PER 编码、 NSN 的固定长度二进制编码等等
4. 跨平台 。 Destroy 1.0 已经能够在 Linux/Solaris/Tru64 上运行,有需要的话,后续版本应该能够移植到 Windows 等操作系统
5. 编码模块 。 Destroy 1.0 只是一个解码程序,应用范围只是局限于电信 CDR 处理,如果能够实现编码功能,必将在应用层面上有一个大大的突破
6. 关键字索引 。 Destroy 1.0 只支持单个关键字的搜索,并且每次搜索都需要读取整个文件,在速度上还不能做到数据库级别的高速查找,如果能够做到根据关键字对所有数据记录建立索引,我相信每次查找的执行速度可以媲美任何关系型数据库
7. 以Web service发布 。配合第6点,实现历史数据的实时查找,查找结果同样以XML格式,而不是目前的文本格式返回,有利于客户端的进一步开发