天府星空网络科技成都网站制作公司,专业从事成都网站建设成都网页制作、成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网站设计服务。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站案例,是一家正规经营,诚实守信的专业成都网站建设公司

短消息网关通信模块的设计与实现

作者:佚名  来源:本站整理  发布时间:2008-1-4 15:02:37
通过并行计算和共享内存提高代码效率和资源利用率,但在短消息网关中,处理的数据量大,多线程方式的并行处理会造成一些消息的逻辑混乱,资源共享也会增加代码的复杂度。而多路复用使用简单,逻辑清晰明了,不易发生错误,也不会出现因资源共享带来同步和互斥问题。因此使用多路复用I/O是比较合理的。
第三,业务处理模块与通信代理之间可以使用队列进行通信,对队列的管理和参数的设置(例如对同一队列操作的互斥,以及队列个数的设置等)都使用专门的队列内核程序统一调度并封装成函数接口,以方便业务处理模块对队列的使用。另外,通过队列通信,也可以为今后增加的业务提供良好的扩展性。
第四,为了达到99.999%的不丢包率,通信代理需要使用流量控制机制以保证网关内部不丢包。这是因为无论队列设置有多大,如果出现消息只发不收的情况,都会造成队列溢出而丢包。因此,为每个队列中缓存的消息做记录,当某个时刻队列消息的数量达到规定限度,队列就不再收包,以保证到达网关的消息不会丢失。
3.2. 短消息网关通信模块的实现
基于以上设计思路,我们实现的短消息通信模块包括四个父进程:CMPP通信代理(cmpp_server)、SMPP通信代理(smpp_server)、消息分发处理server(package_server)和前转消息处理server(route_server)。它们之间通过6个消息队列相互通信。具体的软件结构如图2所示。
短消息网关通信模块的设计与实现

Cmpp_server主要为SP和网关之间建立一条高质量的传输通道。它同时侦听与它相连的多个socket,通过队列接口函数mqm_send( )把接收到的CMPP格式的消息送入队列2中。同时,它也要通过函数mqm_recv( )不停的从队列1中获得消息,并把它转发到相应的目的SP。cmpp_server不需判断收到的消息类型,只负责通信,因此称通信代理。
Smpp_server与cmpp_server基本一致,唯一不同的只有一点:SMPP协议

上一页  [1] [2] [3] [4] [5]  下一页

【公司简介】:
   天府星空网络科技成都网站制作公司,专业从事成都网站建设 成都网页制作 成都网站设计以精深技术为核心、以专业队伍为支撑。致力于为成都政府网站建设成都公司网站建设成都学校网站建设等提供高技术含量的成都网页设计服务。
   公司始终以不懈的努力、更高的目标来要求自己。凭借多年的成都网页设计成功经验,公司已拥有数百例经典网站成功案例,是正规的成都网站建设公司
   成都网站建设的专业服务商,强大的成都网页制作技术团队,在网站设计等方面始终保持领先地位,并获得了网页制作公司业界的广泛赞誉和认同。公司重视网页制作质量,打造成都地区网站制作公司知名品牌,以优秀的网站设计技术,创一流的成都网站建设作品。建网站就找天府星空,助您马到成功!