一个短信系统的服务器端设计

来源:互联网 发布:python logging 回滚 编辑:程序博客网 时间:2024/05/21 17:07
  

系统简要介绍:

分为手机端和服务器端,手机端将商品信息发送到服务器端,服务器端截获信息,完成查询,然后产生结果返回给手机端。其中数字签名等是信息安全术语,可以不用考虑。

为了保证系统的实时性,采用了一个数据缓存区,后台同时运行4个线程的方式;而不是一个线程完成从获取短信,查询数据库,组装短信,发出短信的全部操作。笔者认为:要是不用缓存,直接一个线程完成全部操作,当接受的短信比较多时,容易造成服务器端运行缓慢甚至崩溃。

当然,这是我第一次一个人完整的设计一个系统,我还是学生菜鸟一个。希望有经验的认识帮我点评一下,我将随时改动!

 

 

 

 

 

2.服务器端模块

 

 

 

 

系统简要介绍:
分为手机端和服务器端,手机端将商品信息发送到服务器端,服务器端截获信息,完成查询,然后产生结果返回给手机端。其中数字签名等是信息安全术语,可以不用考虑。
为了保证系统的实时性,采用了一个数据缓存区,后台同时运行4个线程的方式;而不是一个线程完成从获取短信,查询数据库,组装短信,发出短信的全部操作。笔者认为:要是不用缓存,直接一个线程完成全部操作,当接受的短信比较多时,容易造成服务器端运行缓慢甚至崩溃。
 
 
 
 
2.服务器端模块
 
 图1C:/Documents and Settings/Administrator/桌面/3.vsd
 
3.服务器数据流图
 
                                                   3.1   图2
                                                   3.2  图3
                                                
                                                    3.3  图4
4.系统结构说明
服务器端运行有4个线程,分别是:
1)接受输入信息并处理线程:接受短消息,解析出关键字段,存入缓冲数据库。存入的新纪录项置Flag=0
2)验证数字签名线程:取缓冲数据库中flag=0的记录信息,验证数字签名;若通过验证,置flag=1,否则置flag=2
3)查询线程:从缓冲数据库中取Flag=1的记录信息的产品唯一编码ID(只有签名通过验证,才查询数据库;否则,直接返回结果:签名错误!),查询产品信息数据库。将查询结果写入缓冲数据库
4)发送防伪查询结果线程:从缓冲数据库中取出flag=12的项,根据flag的不同,将结果用服务器私钥签名以后,以短信的形式发送到移动防伪终端。