主页‎ > ‎UMS系统‎ > ‎

系统特性

1系统特性

1.1支持多种通讯协议

目前UMS系统所支持的通讯协议主要被化分为以下几大类:

(1)      互联网通讯协议

互联网通讯协议主要是:简单邮件传输协议(SMTP/POP3)、超文本传输协议(HTTP)和文件传输协议(FTP)、远程终端操作协议(Telnet)。

其中在HTTP协议当中又支持某些特定SOAP协议,例如:中国移动的Provision协议;爱立信ParlayX协议等等。

(2)      短消息通讯协议

短消息通讯协议主要是:国际短协议信息标准(SMPP)、中国移动短信息协议标准(CMPPSMIAS)、中国联通短信息协议标准(SGIP)、中国电信短信息协议标准(SMGP)和中国网通短信息协议标准(CNGP)。

(3)      多媒体信息通讯协议

中国移动彩信标准(MMSC/MM1/MM7)。

(4)      ParlayX通讯协议

中国电信和中国网通综合业务协议(ParlayX,支持短信、彩信、定位、WAP等服务)。

(5)      定位服务通讯协议

LBS通信协议主要是完成针对手机定位服务而实施的接口标准。目前中国移动的LBS通信协议为Le/Ls规范;中国联通的LBS通信协议为L1规范。

(6)      及时信息通讯协议

目前UMS系统所支持的及时信息通讯系统协议主要包括:MSNJabber(基于XMPP)。

(7)      其他通讯协议

其他通信协议主要为系统内部定制的协议。例如:系统用于两个UMS系统之间进行集群化(主要是为保证整体系统的冗余特性)操作的远程消息传递与呼叫协议(Simple Structured Message Protocol)。

       由于UMS支持的协议种类众多,不仅为服务提供商的系统提供了多样化的数据接口,而且简化了数据在不同设备,不同平台和不同协议之间转换的工作,并降低了相关成本。

1.2支持多种协议转换

       UMS系列不仅仅支持多种协议,而且支持多种协议之间的转换,包括针对不同设备提供商的特性。

       在系统内部,我们使用了可以兼容多种信息表达方式的统一消息表达格式(Unified Message Format)来实现针对电子邮件、彩信、定位信息、短信息、文本以及XML等等不同数据格式的数据的规范表达。因此在不同数据之间总是存在一个缺省的转换方式。在一定网关特性和通讯特性的配置条件下,通用信息可以向某种具体的特殊格式进行转换,并符合特殊通讯规范要求。

协议自由转换带来的最大好处就是无论以前的应用模式所使用的基础协议如何,最终都将转换为实际可操作的协议。而且可以根据用户的需求来定制转换的要求。

       例如:国外的短信息类产品大多基于SMPP协议开发,而和中国国内所使用的CMPP/SGIP不相符合。现在有了UMS系列的支持可以很容易的实现SMPPCMPP/SGIP协议之间的转换。反之也是可行的。

1.3支持通讯协议和承载层分离

       任何一个通讯协议栈都可以承载其他的通讯协议栈。UMS内部将通讯协议和承载层进行了分离设计。这样使得可以在不同的承载层下,实施几乎同一种通讯协议交换过程。例如:原本CMPP协议是定义在TCP上的协议。通过这种分离设计后,该协议完全可以运行在UDP层上或者HTTP层上。而且这种调整,只需要通过配置来进行。

1.4支持多种数据接口

       由于UMS系统可以支持多种协议,因此可以支持的数据接口种类也十分多。基本上可以分为一下几大类:

(1)      基于TCP/IPSocket接口

这种接口主要是依据一定的协议进行通讯。客户可以使用相关的协议API来接入到UMS系统中。

(2)      基于JDBC的数据库接口

这种接口主要是为用户提供简洁的方便的开发模式。程序员完全可以只依赖数据库的基本功能就可以完成整个业务系统,而无须面对复杂的通讯保障系统。这种模式也是被广泛USMP用户所采纳的模式。

(3)      基于HTTP的网页接口

目前基于HTTP的网页接口可以有以下几种具体的方式:(1)基于简单处理模式的HTTP接口(即:URL调用);(2)基于XML over HTTP模式的处理接口,包括SOAP在内;(3)基于JSP/ServletHTTP接口。

(4)      基于SMTP/POP3的电子邮件接口。

这种接口简便到:用户可以使用OutlookFoxmail等邮件客户端工具,就可以完成复杂的信息交互过程。程序员可以使用标准的、十分成熟的Mail API来实现相关业务。这种接口也可以用于邮件服务器之间的通讯。

(5)      基于FTP的文件接口

基于FTP的文件接口使得用户只需要将按照特定的格式填写数据文件通过FTP客户端传递到系统就可以达到传递数据的目的。

(6)       基于Java RMI调用接口

基于JavaRMI调用主要为Java Applet之类的应用提供简洁,快速应用的接口。方便用户的开发工作。

UMS系统的接口几乎覆盖了目前网络技术中最常用的技术范围。可以为客户提供更加灵活和完善的解决方案,满足不同用户对不同系统的特定需求。

1.5兼容多种通讯设备

UMS系列可以通过指定通讯特性来消除多种网关设备的差异。

       例如:截止20024月,中国移动的短信息网关有八大提供商:清华深讯、亚信、北维通讯、北京斯特奇、东大诺基亚、上海英斯克、湖南拓维、卓望MISC。他们分布在各个不同的省份。在国际上这种差异更加普遍,不同的运营商所使用的通讯设备更是千差万别。

由于不同设备的提供商对同一通讯协议的理解有所不同,导致各种通讯设备在各种通讯细节上的变化。过去这种变化将会很大程度上影响应用程序的通讯部分。

现在UMS系列将通讯层和应用层实现隔离,在通讯层的细节部分由通过指定的通讯特性来实现。这样使得应用层不再受通讯层多样化的制约。

       附录中列出了UMS系统所支持的各个设备提供商的相关信息。一共大约有38种不同特性的设备,实际可兼容的设备种类将超过38种。

1.6工作模式自由转换

UMS系列支持在各种协议的基础上,实现Client/Server工作模式的自由变换。

       我们知道在TCP/IP网络中,相互传递信息的双方是以Client/Server模式进行工作的。也就是说:一方必须为Client,而另外一方必须为Server

       UMS系列支持以某种协议按照Client模式或者Server模式,甚至是混合模式进行工作。具体的模式设置要求只需要通过指定通讯特性就可以自动设置。如果客户有特殊要求可以特别定制。这样给信息交换的双方以最大的自由来实现数据交换。

       这种工作模式自由转换方式,有利于UMS系统的部署以及客户应用的安排。不会因为Firewall或者动态IP地址而导致系统的部署困难。另外,这种方式可以使得多个UMS系统可以组合进行工作,隔离多个应用系统,以保证核心系统地安全运行。

1.7使用统一消息格式

       对于一个信息交换网络,仅有四个参数是决定性的:

来源地址、目标地址、编码方式、二进制内容

虽然短信息的协议千差万别,但是以上四个要素从未少过。仅仅是在不同的协议中有不同的表现形式而已。因此有理由可以将某些不同类型的消息进行合并,一并进行相关处理。UMS系统采用了兼容多种消息格式的统一消息格式(Unified Message Format),合并了多种消息类型,使得系统的处理更加统一化和标准化。这种合并仅在内部实施,并不强制要求接入方必须采纳哪种特定的协议。

1.8支持主动和被动路由交换

       只要存在着信息投递这个中间过程,任何消息都有发送方和接收方。UMS系列支持基于统一信息格式为基础的路由交换功能。路由方式主要分为被动路由和主动路由。

       被动路由是指:通过配置UMS系统的路由信息表,用户可以实现多种信息在不同客户之间的分配和复制功能。完成以往单一功能网关所无法完成的信息分配和复制任务。在此基础上UMS系统可以异化出更多功能。

       主动路由是指:用户在发送信息的时候,已经确定信息的目标网关。信息的路由不再受路由表的控制。在这种模式下,用户可以根据自己的需要来改变信息的传递方向。

1.9灵活高速的存储调整机制

       对于一个高速运营的系统,需要相对灵活的存储机制。UMS系统采取了三种可以配置的存储机制:

(1)      纯内存模式

纯内存存储机制,拥有运行速度高的特点。但是所使用的数量有限,而且在出现异常中止的情况下容易丢失数据。因此这种存储方式一般用于要求高速运行,数据无需存储,对数据的安全性没有很高要求的地方。

(2)      基于目录管理的散列文件模式

对系统中的对象使用独立文件进行存储。这种存储机制效率不是十分高,但是对每个对象的大小没有严格的限制,可以说这种存储方式主要应用于对象大小不是十分固定(可能从几百个字节到几兆字节),而且处理速度要求不高的地方。例如:图片文件和电子邮件。

(3)      基于索引文件结构的独立文件模式

也就是将数据对象存储于基于索引管理模式的独立文件中。

索引文件结构在算法上保证:最多通过十次比较,就可以在4G个对象中,找到匹配的那个。文件结构十分简单和稳定,没有复杂的空间平衡操作。这种算法被广泛地应用到系统中。因此,即使在系统异常退出或者被强制中止的情况下,文件系统也不会因此而遭到严重破坏,已经存储的数据也不会丢失。重新启动程序后,系统仍然能继续工作。索引文件结构具有很强的抗突发事件能力。

       UMS并不把数据库作为存储模式的主要原因在于:

(1)       数据库本身对于UMS来说仅仅是一个接口,而非系统核心的一个部分;

(2)       数据库的工作效率远远低于前面的所提到的任何一种模式,而且组合使用以上的三种存储模式就足以满足系统的工作需求。

(3)       数据库的种类繁多,在不同操作系统下表现也不完全一致。

(4)       系统在没有数据库的情况下可以独立工作,这样安装方便,对客户的要求较低。

(5)       即使使用了数据库接口,系统也不会因为数据库出现问题而整个系统瘫痪。可靠性可以进一步获得提高。

1.10支持收条转换处理

       在信息的相互传递中,要收条就好比是发了封挂号信。在短消息协议中有一个十分重要的部分就是:收条信息。收条信息是确定用户最终接收到信息并产生计费的关键依据。

UMS系列支持所有短信息协议中的收条,也支持收条之间的转换。另外,UMS系列还支持发送超时、错误应答状态下的收条处理,以及其他自动化的收条处理措施。这种模式对于网关之间的相互连接是十分重要的。另外,只有能正确处理收条的网关系统,才可能正确处理用户的计费问题。

1.11模拟电信运营商网关

UMS系列可以使用各种协议模拟成多种现有的电信运营商网关。支持的协议包括:SMPPCMPPSGIPSMIASCNGPSMGPLe/LsL1MM1MM7ParlayX等等。

支持的模拟网关的生产厂家包括以下几大部分:(1)中国移动:清华深讯、亚信、北维通讯、北京斯特奇、东大诺基亚、上海英斯克、湖南拓维、卓望MISC等;(2)中国联通:熬天等;(3)短信息中心:华为等;如果有兴趣,可以从我们的技术站点(www.simpleteam.com)上下载多功能模拟器。它是这个产品的一个衍生产品。

       如果以前的应用程序是基于某种网关开发的,那么UMS系列可以模拟成该网关,使得应用程序很快地转移到其他类型的通讯网关上。另外模拟网关也可以作为系统的业务测试和性能测试用。

1.12虚拟多线程管理模式

在设计运营系统中,最主要的是保障运营系统的稳定性和可靠性,其次是保证运营系统的工作效率。为了保证运营系统的稳定和可靠目标,系统的设计将十分精巧和复杂。在系统设计当中,为了提高系统的工作效率,一个被经常使用的编程方法就是使用多线程。但是多线程的设计是十分复杂的,主要是包括多线程的管理、监视和控制。其中最致命的错误就是“死锁”和“活锁”。死锁是由于双方抢占资源导致线程处于长时间等待状态。活锁是指系统陷入由其他API或外部函数的阻塞过程当中而无法自拔。这些对于运营系统来说都是不允许的。

虚拟多线程系统,并没有直接利用系统的多线程处理机制,而是自行编写了一套多线程机制。并另外使用独立实际多线程来维护虚拟多线程系统。这样做的好处有以下几个方面:

a.       可移植性好。

只需要通过更换底层的实际多线程“驱动”,就可以完成从一个平台转到另外一个平台的设计工作。无需反复重新书写新的多线程处理机制。

b.      虚拟多线程和实际多线程相互隔离。

实际多线程可能会执行一个到多个虚拟多线程。但是这两者之间并无直接关系。由于实际多线程被集中管理,“死锁”和“活锁”的检查也变得相对容易。如果系统发生了“死锁”、“活锁”或者虚拟多线程的失误导致实际多线程发生异常,监控系统会立即生成新的实际多线程来补充“死掉”的实际多线程。这种替换过程和系统结构与业务操作并无直接关系。

c.       可规模化控制资源消耗。

虚拟多线程系统实际上是共享多个实际多线程。这样对CPU的消耗可以实现外部可调整,保证服务器的CPU消耗在合理范围内(长时间的CPU占占用率过高,容易导致系统死机;)。当虚拟多线程系统共享一个实际线程的时候,那么这个系统实际是一个单线程系统。随着实际线程的增加,CPU的消耗将随之增加。通过这种控制,系统各个部分的消耗可以更加精细的调节。增加了系统的灵活性。

2功能特性

2.1编写语言

       UMS系统目前主要采用Java语言编写。使用了JavaFile I/OSocketSwingRMI等多个部分。


2.2支持多种操作系统

UMS系统支持Win32LinuxSolaris等多种操作系统。


2.3支持多种数据库

       UMS系统的核心程序并不使用数据库作为存储支持。仅有外围接口才可能使用到数据库部分。

使用JDBC可以支持:MS SQL 2000/7.0MySQLOracleSybaseInformix等数据库。

2.4支持JSP/Servlet

       Web服务部分,UMS系统内部集成了Java Web Server Develop Kit。可以支持Servlet 1.0JSP 1.0的基本功能。

通过JSP的调用可以直接向UMS系统发送请求,或从UMS系统接收请求。这样使得Web服务可以很紧密地与UMS系统结合在一起。

2.5支持大容量的快速FIFO

       UMS系统为了实现对大数据量的快速传输需求。核心部分并未采用数据库作为存储方式。而是采用了自行设计的大容量快速FIFO

       大容量快速FIFO是操作系统的文件系统,存取速度和容量都要优于基于数据库的存储机制。该设计一方面满足了正常流量情况下的信息快速传递,另外一方面就是要解决在大流量和阻塞情况下的数据缓冲能力。

2.6灵活的工作模式管理

       UMS系统具有灵活的工作模式管理机制。可以通过修改配置让他处于ClientServer工作模式。

2.7灵活的连接管理模式

       UMS系统具有灵活的连接管理模式。系统有多种连接控制参数。例如:IP限制、登陆验证、连接的个数、连接的流量、连接的类型、活动测试时间控制等等。

2.8配置简单易行

       UMS系统支持使用XML格式的配置文件。另外也支持远程管理客户端所传送的配置文件,实现远程控制与启动。

2.9全面的日志报告

       UMS系统拥有全面的日志报告,包括系统的各个部分。

通过配置可以控制记录日志类型的种类,避免不必要的信息。

2.10高速交换

       UMS系统能进行高速交换。由于目前机器的硬件和软件方面的差异,导致很难有一个准确的性能指标。一般来说,可以通过模拟测试,测试出UMS系统在某种硬件或软件情况下的极限状态。

这里仅给出特定测试环境下的测试结果作为参考:

       硬件:CPUIntel双核1.800MHz 内存:1GIDE硬盘:150G

       操作系统:Windows XP 2000 Professional;未使用数据库。

       JVMjdk 1.6.0

       测试方式:在同一台机器上,UMS系统模拟完整的短信收发过程。即UMS系统即是客户端,也是模拟网关。

在以上测试条件下,UMS系统的交换速度大约为500/秒(包括状态报告)。在信息导入初期,此时仅一颗CPU接近满负荷;后期此CPU负荷下降至20%左右。

2.11性能稳定

       在硬件条件满足的情况下,UMS系统可以长时间稳定工作,具有很高的可靠性。即使程序由于异常而中止运行,绝大多数数据仍保留在磁盘上不会丢失。重新启动后,系统继续先前的工作状态继续运行。

2.12安装方便

       UMS系统的安装十分方便。只要安装了Java的环境就可以运行UMS系统,不再需要任何第三方的软件做支持。除非需要使用到数据库连接、串口操作、Servlet/JSP支撑等情况下才需要第三方的Java包做支持。

2.13紧急事务处理

       为了实现系统的稳定运行,除了提高本身的可靠性之外,系统还设置了多种报警功能。

基本的报警功能是电子邮件报警。高级的报警方式通过GSM无线设备的完成的。  如果有必要还可以通过GSM无线设备操作系统做应对处理。以实现24小时无人值守。

2.14每日报表自动报告

       UMS系统每日都有自动的分时段流量统计报告。可以选择自动地发送给管理员,用于分析和了解系统的基本运行情况。

3应用模式

       由于UMS的接口的多样性,因此UMS可应用的模式是多样性的。在这里主要可以划分为以下几个十分常用部分:

3.1简单代理模式

       简单代理模式就是指:UMS系统仅开放两个通讯接口,而这两个接口所采用的通讯协议是完全一致的。

       以下为这种模式所应用的场合的几个例子:

1.  IP地址变化,导致需要一个中间代理器。

2.  需要一个中间缓冲器来做缓冲,以提高系统之间的通讯能力。

3.  兼容不同设备提供商之间的部分差异。

4.  信息安全过滤。

5.  号码段检查与屏蔽。

6.  数据拷贝和记录。

3.2协议转换代理模式

协议转换代理模式就是指:UMS系统仅开放两个的通讯接口,而这些端口所采用的通讯协议是不一致或者网关类型是不一致的。

       以下为这种模式所应用的场合的几个例子:

1.  业务平台移植。

2.  业务平台实施拓展到其他运营商。

3.3二级代理模式

二级代理模式就是指:UMS系统仅开放三个或者三个以上的通讯接口,而这些端口所采用的通讯协议是完全一致的。

       以下为这种模式所应用的场合的几个例子:

1.  共享某个运营商的通讯通道。

2.  二级代理的二级代理。

3.  子号码分解。

4.  负载均衡。

5.  业务分解。

3.4数据库代理模式

数据库代理模式就是指:UMS系统仅开放若干数据表结构用于通讯。而这些表结构和协议类型完全一致。

       以下为这种模式所应用的场合的几个例子:

1.  快速接入。

2.  保存数据中间过程。

3.  Web服务提供数据通讯手段。

4.  计费记录。

3.5 HTTP服务代理模式

HTTP代理模式就是指:UMS系统仅开放HTTP通讯作为数据接入手段。

       以下为这种模式所应用的场合的几个例子:

1.  快速接入。

2.  支持WAP Push

3.  Web服务提供数据通讯手段。

3.6 SMTP服务代理模式

SMTP代理模式就是指:UMS系统仅开放SMTP通讯作为数据接入手段。

       以下为这种模式所应用的场合的几个例子:

1.  解决和邮件系统的接入。

2.  支持MMS转邮件,或者邮件转MMS

3.7 FTP服务代理模式

FTP代理模式就是指:UMS系统仅开放FTP通讯作为数据接入手段。

       以下为这种模式所应用的场合的几个例子:

1.  解决和远程FTP系统的接入问题。

2.  支持大容量文件传输。

3.  解决大量群发的问题。

4.  解决自动对帐问题。

3.8及时信息服务代理模式

及时信息代理模式就是指:UMS系统接入到及时信息系统中,并为及时信息提供通讯手段。

       以下为这种模式所应用的场合的几个例子:

1.  解决和Jabber聊天系统的通讯。

2.  解决和MSN系统的通讯。

3.9应用逻辑结构例子

3.9.1应用协议交换体系

       UMS系统好比一个有着多种应用协议(包括常用的互联网协议和短信息协议)接入端口的路由器。它将使用不同应用协议的计算机连接这个路由器上。这些路由器本身也是可以使用某种应用协议相互连接的。他们就可以自组织一个应用协议交换体系(如图3.9.1所示)。

3.9.1 UMS系统的自组织方式

 

       应用系统可以与UMS系统之间可以采纳应用系统所便利的,且UMS系统可支持的某种协议相互进行通讯。UMS系统之间可以采用效率更高的专用短信息协议进行通讯。

       由于UMS系统可以随意按照某种协议的Server或者Client模式来工作,因此UMS系统可以根据各个节点对安全的要求不同而按照ServerClient模式来工作。这点有利于配合防火墙系统的安全工作。

3.9.2冗余和负载均衡模式

       对于UMS系统来说,任何一个接入UMS系统的节点都是对等的。它所需要完成的任务是将信息从一个节点按照路由规定传递到另外一个节点。因此UMS系统可以通过交叉布置来保证系统的冗余和负载均衡功能(如图6.9.2所示)。


3.9.2 UMS系统冗余和负载均衡模式

 

       任何应用服务器可以同时接入到两个不同的UMS系统,UMS系统之间可以根据流量和目标系统的状态自动调整数据最终所前往的节点。这样,即使一个UMS系统停止了工作不会影响到整个系统的工作状况。

       另外,这种模式与简单的集群技术有所不同。简单的集群技术是采取的双机热备份,但是其中一台机器上的服务程序是处于Active的模式,另外一台机器上的服务程序处于Stand-By的模式。当其中一台机器因故障停机以后,另外一台机器上的程序会进入Active模式。我们所使用的技术是双机都采取Active模式,这样既达到了冗余备份的要求,也不会导致计算机资源的浪费。

3.9.3节点控制多元化

       UMS系统内部采用了统一消息体格式。在这个统一消息体基础上,可以实施多种附加的消息处理机制。这些机制包括:路由、过滤、阻隔等等。而且这些机制可以在整个体系中的任何一个节点上进行加载和卸载。目前UMS系统已经实施的部分主要是内容过滤功能。先以内容过滤功能的实施为例子做一个简单的介绍。

       假设一个应用系统接入到一个UMS系统上。系统打算为这个应用服务增加内容过滤功能,那么可以直接在UMS系统上实施则可以达到目的。通过配置UMS系统,将从应用服务器过来的信息先传输到过滤系统,然后再由过滤系统处理之后返回给UMS系统继续向前传递。


3.9.3过滤系统的切入点

 

       当然目前UMS系统内部已经集成了这个部分的功能,当用户有特殊的消息控制需求的时候,完全可以采取这种模式接入到任何一个UMS系统当中。因此每个UMS系统的节点控制能力扩展是十分丰富的。

3.9.4存储控制多元化

       UMS系统内部大量使用了队列机制和索引机制。为了提高整个UMS系统的工作效率,UMS系统不依赖任何数据库系统而独立工作。数据库对于UMS系统来说仅仅是一种接口方式,它可以通过数据库接口,将内部数据存储到数据库中,或将数据库中的数据转换成为内部数据。这样即使数据库出现故障也不会影响UMS系统的工作情况,仅仅影响一个接口的数据出入问题。

       UMS系统的内部数据物理存储方式目前主要有三种:

1) 纯内存模式

这种模式具有工作速度快的特点,因此在某些环节上可以采取纯内存模式。但是毕竟系统的物理内存是有限的,所以这种模式并不能大规模应用。

2) 独立文件模式

独立文件模式是将处理数据保存在一个单独的文件当中。这种模式一般结合内存缓冲区一起工作。它的速度足以满足一般的速度需求,而且存储过的数据将不会丢失。具特殊的逻辑结构保证了在这种模式下,UMS系统具有很强的抗打击能力。断电、停机、Ctrl+C等异常停止事故都不会造成十分严重的后果,重新启动后,系统将自动继续工作。

3) 散列文件模式

散列文件模式是将处理的数据保存在一个目录中。每个数据对象一个数据文件。这种存储模式主要是为了适应超大对象的存储要求,例如:邮件、图片、媒体等等。这种存储模式对对象的大小没有限制,因此十分适合于处理邮件,MMS等超大信息对象。

4功能详述

4.1运营商网关接入

4.1.1具备使用对应的标准协议接入及扩展

       UMS系统所支持的短消息协议包括:国际短协议信息标准(SMPP)、中国移动短信息协议标准(CMPPSMIAS)、中国移动彩信标准(MMS)、中国联通短信息协议标准(SGIP)、中国电信短信息协议标准(SMGP)、中国网通短信息协议标准(CNGP)和综合业务协议(ParlayX)。

4.1.2具备对运营商进行参数设置的功能

UMS系统可以通过配置指定系统按照何种标准协议接入到电信运营商的系统当中。在配置文件中,用户可以配置系统的特服号码、企业代码、主机、IP、帐户、密码等等。

具体配置参数中:enterprise_code对应企业代码;service_code对应服务代码;account对应用户名;password对应密码;host对应远程主机的IP地址;port对应远程主机的端口。

4.1.3具备对运营商进行管理的功能

       配置文件中可以指定该配置是否在UMS系统中启用。配置文件中的<enable/>标签可以使该配置生效。如果缺少该标签,或修改成<disable/>标签,系统将不会装载该配置并运行。

4.2负载均衡能力

4.2.1具备多线程处理功能

       UMS系统具备多线程处理功能。但是和普通的多线程处理功能有所不同。其不同之处在于两点:

1) 任何一个线程都只完成一个独立的小任务。

消息的传递分好多步骤,一般的多线程设计思路会让一个线程负责整个消息的处理过程。这样的编程模式十分简单,但是在整体工作效率和模块化方面相对比较差。因此在UMS系统中,所有的工作被重新规划:有的线程只负责包装数据;有的线程只负责解析数据;有的线程负责路由;有的线程负责队列;有的线程负责查询。但是没有一个线程会负责所有的过程,数据包根据自身的条件会去往不同的“工作流水线”。

2) 所有的多线程都是虚拟多线程,由专门的多线程管理器集中管理。

常规的多线程系统都是使用了操作系统的所提供的多线程支持,而UMS系统并非直接使用操作系统所提供的多线程支持。而且提供一个虚拟多线程界面,而每个虚拟线程仅仅执行一个小任务。那么真正的线程就是按照虚拟多线程的顺序执行所有的任务。这样做的目的主要是考虑到两点:系统的效率可控制化和异常错误可自恢复。

效率可控制是指通过控制实际线程的数目来控制系统消耗CPU的水平。UMS系统只需要一个线程就可以工作。但是这种模式下,效率自然不高。随着所提供的真实线程数据增加,系统会消耗更多的CPU,因而执行速度会更快。这样有利于管理人员,控制系统的CPU消耗,防止因为任务过重而导致瘫痪。也可以说UMS系统可以在单线程和多线程之间任意切换。

常规多线程出现错误的时候,该线程可能被死锁,活锁或者停止运行。但是发现这样的线程十分困难。通过虚拟多线程的管理模式,可以很容易的了解到各个虚拟线程的执行情况。即使执行某个任务的时候出现了错误,而导致真实执行该任务的虚拟线程被杀死,其他还在运行的真实线程会自动补上。因此,这样的异常错误最多影响到系统的执行效率,但是不会使系统完全瘫痪。

       配置文件中的power属性就是控制整个系统所使用的实际多线程数目。这个数目一般为4。如果逐渐提高这个数量级,那么UMS系统消耗的CPU百分比也将逐步增加,系统的吞吐能力也将逐步加强。如果将该属性设置为1,那么它将按照单线程的模式进行工作,此时消耗CPU的水平最低。

4.2.2具备应用服务器与数据库服务器分离的功能

       UMS系统的运行并不依赖于数据库系统。UMS系统仅仅将数据库系统看作成一个数据接口,将数据库与通讯网关对等看待。这样即使数据库出现问题,数据仍然保存在UMS系统自身的数据存储区域内。当数据库系统恢复正常后,数据仍然可以进入到数据库当中。

4.2.3具备应用服务器多机负载的功能

       UMS系统可以运行于多机系统,给UMS系统配置了哪些网关,它就可以按照配置装载那些网关并开始运行。对于没有配置,或者没有要求启动的网关,它可以自动关闭。这样只需要通过调整配置文件就可以调整UMS系统的工作情况。自然在多机情况下,可以轻松地分配各个主机上UMS的具体工作任务。

4.2.4具备数据库服务器多机负载的功能

       UMS系统将数据库服务器也认为是一种网关系统。因此也具有多机负载的能力。其方法如同7.2.3所描述的那样,只要增加、移动和修改配置就可以指定UMS系统多机负载的模式。

4.2.5具备MTMO分离运行的功能

       UMS系统具备MTMO分离运行的功能。一般而言如果需要短信息的状态报告情况,MTMO不宜分离。另外在某些运营商的CMPP网关模式下,MTMO共用一个TCP/IP通道也是无法分离的。对于可以进行MTMO分离运行的网关,UMS系统可以通过分别配置指定MTMO的连接,达到MTMO分离运行的要求。即,某个网关仅运行MT,而另外一个网关仅运行MO部分。亚信网关、清华深讯、联通网关等都是可以配置成MTMO分离运行模式的。

4.2.6具备MO多机功能

       配置UMS系统的MO多机处理方式也十分简单。只需要在不同的主机上配置MO连接就可以完成任务。

4.2.7具备MT多机功能

       配置UMS系统的MT多机处理方式也十分简单。只需要在不同的主机上配置MT连接就可以完成任务。

4.3短信息重发功能

4.3.1具备短信重发功能

       UMS系统具有短信息重发功能。一般来说,不建议启动UMS系统的短信息重发功能。因为发送失败的原因很多,而且环境经常变化。机器自动重新发送有时候会导致用户的重复接收以及重复扣费的情况。建议是在实际运营一段时间之后,再根据实际情况来考虑是否打开自动重发功能。

       UMS系统的短信息重发功能分为两种:

(1)      等待超时重发

在发送短信息的过程当中,如果在系统规定的时间内,网关没有做出正确的应答,那么系统将自动重新发送该条短信息。

(2)      等待收条重发

在短信息发送之后,如果在系统规定的时间内,网关没有给出短信息的最终正确状态,那么系统将自动重新发送该条短信息。

4.3.2具备设置重发次数的功能

       UMS系统可以设置重发次数的功能。缺省状态下,这个重发次数都是0,即不需要进行任何重发动作。

       就我们的实际应用经验来说,不建议让系统自动进行重发工作。主要是系统的自动重发机制判断比较单一化,而实际情况十分复杂,容易造成多发或者堵塞等其他不利情况。只有在弄清实际的状况后,再决定是否需要重新发送。

4.3.3具备设置重发时间间隔的功能

       UMS系统可以设置重发时间间隔的功能。在缺省状态下,该时间间隔为0,也就是无限期等待。当这个属性是在<transmit>标签下的时候,表明是指定等待超时重发的时间间隔。当这个属性是在<receive>标签下的时候,表明指定等待收条重发的时间间隔。

4.4 MO/MT优先发送接受功能

4.4.1具备MT优先级高的优先发送的功能

       UMS系统具备优先级高的MT优先发送的功能。通过对选择数据的按照优先次序排序后进入队列。并且可以设置短信息网关或短信息中心所支持的priority_level字段来达到实现真正的优先级次序。

4.4.2具备MO优先级高的优先回送的功能

       UMS系统具备优先级高的MO优先回送的功能。一般来说,目前的大多数短信息网关和短信息中心,都不支持MO的优先级。但是这种功能在UMS系统中是具备的。可以根据对接收数据的优先级别进行优先处理。

4.5内容过滤功能

4.5.1具备过滤法律或法规不允许的信息的功能

       UMS系统具备内容过滤功能。可以从短信息中检索出违法信息并进行拦截处理。拦截后还可以以回条的方式返回发送者,告诉对方信息被拦截。这种过滤系统已经投入实际应用,以防止用户通过SP下发黄色信息和反动言论。

4.5.2具备设置过滤策略的功能

       由于过滤策略是相对比较多的,目前可供选择的主要是有两种:

(1)      简单精确匹配功能

简单精确匹配是指在字符串里面找出精确匹配的关键字。

(2)      复杂语法解析

复杂语法解析就是按照用户所指定的语法方式来匹配信息中的关键字。

UMS系统允许用户可以通过外加过滤器的功能来达到特殊过滤策略的功能。

4.5.3具备对某种信息选择过滤策略的问题

       UMS系统可以根据信息的来源来选择具体的过滤策略,以减少不必要的检索过程加快系统的处理速度。

4.6黑名单管理功能

4.6.1具备黑名单管理功能

       UMS系统具备黑名单管理功能,可以在路由表里面安排黑名单的路由方式。可以将来自黑名单的上行短信息转到专门的处理网关系统,也可以直接丢弃。

4.6.2具备不向黑名单里的手机服务的功能

       UMS系统可以通过路由表的配置,屏蔽向黑名单里的手机发送短信息的企图。可以将要发送的信息转到其他专门的网关处理,也可以直接丢弃。

4.7统计计费功能

UMS系统每日都有自动的分时段流量统计报告。自动的发送给管理员,用于分析和了解系统的基本运行情况。

4.7.1具备统计分时段,分运营商的MT/MO流量功能

       UMS系统会按照运营商,以及MTMO分类统计流量。不同的流量大小还可以用不同的颜色来标记,这些都是自动完成的。

4.7.2具备统计分时段,分接入处理中心的MT/MO流量功能

       UMS系统对接入系统和接出的运营商是按照同样对等的方式处理的。因此自动流量报表里面也会有各个接入处理中心的MT/MO流量记录。

4.7.2具备统计分时段,分接入处理中心的MT/MO费用功能

       UMS系统可以对通过其系统的数据进行完整拷贝,将这些数据保存到数据库中,可以进行详细的按时段的费用统计功能。

4.7.3具备统计分时段,分接入处理中心的MT/MO发送失败的流量的功能

       同样在数据库里面保存的完整数据拷贝可以用来实施失败流量的统计。

4.8系统管理功能

4.9短信处理中心接入

       UMS系统可以在ClientServer模式下自由切换。当以Server模式工作的时候,它就具有了短信处理中心接入的能力。

4.9.1具备使用特服号码扩展来管理短信息处理中心的接入的功能

       UMS系统具备使用特别服务号码来扩展短信息处理中心的能力。通过配置路由表中的号码路由方式可以控制那个网关接收哪些特别服务号码。

4.9.2具备设置短信处理中心基本参数的能力

       UMS系统将接入中心也看作是一个接入网关,可以配置该网关的名称,用户名,口令等相关参数。

4.9.3具备管理短信处理中心状态的能力

       UMS系统具备管理短信处理中心状态的能力,可以通过配置和取消<enable/>标签来控制是否激活该短信处理中心的接入能力。

4.9.4具备管理短信处理中心运行参数的功能

       UMS系统具备控制短信处理中心运行参数的功能,可以配置连接个数,连接流量峰值等等。可以参考4.2.7部分。

4.10与短信息处理中心处理交换能力

       UMS系统可以使用已经实现的应用协议进行数据交换工作。

4.10.1具备与短信中心采取对拉的方式处理数据交换的功能

       UMS系统具备多种工作模式,可以采取“推送”,“对拉”或者其他方式来传递相互之间的信息。只需要通过指定网关类型的特性就可以达到相应的目的。

4.10.2具备与短信处理中心采取多线程高效处理数据交换的功能

       UMS系统具备与其他系统的多线程数据交换能力。可以通过配置允许连接的个数来提高数据交换的速度。连接个数配置可以参考4.2.7部分。

4.11与短信处理中心数据交换的二次接口开发

4.11.1具备HTTP/HPPTS方式的二次开发接口

       UMS基础上配置一个数据库接口与WWW服务器。可以使HTTP/HTTPS的二次开发变得十分容易。

4.11.2具备SOCKET方式的二次开发

       UMS系统是按照标准的协议开发的,这些协议目前大多数都是已经公开的协议。程序员可以按照这些可以开发出基于SOCKET的接口程序。

4.11.3具备DLLJavaURL三种二次开发方式

       我们可以提供Open SourceJava二次开发接口。可以很容易地接入到系统中,进行短信息的收发。DLLURL方式也可以提供。