集团客户管理系统之彩信组件的总结
最近一个人做了这个彩信组件,说来也是颇为辛苦呀。自己刚毕业半年,底子一般,就一个人从数据库设计开始设计程序,确实有些吃力!不过老大给咱这个机会,不能不好好把握。这次彩信组件从设计到开发也有两个月了。最开始花了两周时间调用第三方公司的彩信平台做了个彩信组件,加入到现在的平台中。这个过程也对一些细节方面的东西有了更好的理解。接下来的近三周中。一直在设计程序架构。以前一直习惯程序一条线的,现在不得不考虑更多的东西了。比如说:(1),面向接口的架构设计。(2),数据存储优化,必须大量使用缓存。(3)、多线程的操作,发送和接收的流程要实现更高的效率,达到每秒5-6条,这个是需要着重考虑的。(4)、进程间的通信,上行页面和服务之间的通信。这个采用了命名通道通信的方式。找到了一个不错的组件,调用一个方法就可以实现进程间的通信。而且效率很高!呵呵~(5)、用Tcp/IP短连接实现基于http的soap短连接来传输彩信。按照之前的处理方式,目前也是采取这种做法,对于网关那边的说明,也没有更详细的介绍,哎~开发人员只能靠猜测和询问来开发,不得不说这是很郁闷的。
今天算是基本告一段落,上行下行都能测试完成了。状态报告也都能及时的收到。也就是基本可以搞定了。再花两天来调试下,就可以上正式网关测试了。先小小的庆祝一下!
不过还有几个问题尚有改进的余地,由于个人实力有限尚未进行优化。
(1)目前只支持一个端口和网关相连接。如果多个端口相连接,需要修改部分代码,原本打算是做成根据配置的连接点参数个数来实例化连接的,但是在处理静态配置项时候不能实例化,所以放弃了这个想法。
(2)接收下行彩信回复包的线程收到的包概率只有大约50%。也就是说一半都丢失了。只有根据模拟网关的状态报告来确定是否发送成功。我的开发机器是1G内存的。不知道是不是由于机器不行,影响了测试结果。也找不到更好的机器了,在此期待有经验的达人分享下经验。
(3)我用的一个.ashx页面做的代理页面,来接收上行彩信,以及状态报告。但是我response回到页面的内容,并没有出现在模拟网关上。不知道是我封装的响应包不对,还是怎么的。汗~
不管怎么样,又是一个项目搞定了。准备搞其他的项目了。在此记录下,以后有机会,也能记得哪里有问题进行重构和修改。也希望能和大家一起讨论下。呵呵~