




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西 南 林 学 院 本本 科科 毕毕 业 设计 论业 设计 论 文文 题题 目 目 短消息在林务系统中的应用 分院系部 分院系部 计算机与信息科学系 专专 业 业 计算机科学与技术 短消息在林务系统中的应用短消息在林务系统中的应用 摘摘 要要 本课题主要研究了短消息网关设备规范和通信信息资源站实体 与互联网短消息网关接口协议 基于短消息通讯平台 利用应用支撑平 台设计开发出了林务作业中的手机短信收发系统 该系统林利用手机短 信服务实现了林务作业的科学化 关键字关键字 短消息 林务作业 手机短信收发系统 USING SHORT MESSAGE IN FORESTRY SYSTEM S TASK Maolian Xu Dept of Computer and Information Science Southwest Forestry College Kunming Yunan 650224 China Abstract This topic has mainly studied the short messages gateway equipment stardard and the correspondence information resouce station also the internet short messages gateway connection agreement This scheme based on the short messages communication plateform used the supported on the platform using was design this Short messages sent out system The system use short messages service made forestry s task more scientific Keyword Short Message Forestry s task Short messages sent out system 目 录 前言前言 1 1 1 短消息在林业中的应用短消息在林业中的应用 1 1 1 短消息在林业应用中的意义 1 1 2 开发背景 2 1 3 开发目的 2 1 4 设计要求 2 2 2 短消息网关通信模块的设计与实现短消息网关通信模块的设计与实现 3 2 1 企业短消息应用架构 3 2 2 短信接入方式比较 3 2 3 短消息网关结构 4 2 4 短消息网关通信模块的设计与实现 5 2 4 1 短消息网关通信模块的设计 5 2 4 2 短消息网关通信模块的实现 6 3 3 利用利用 GSMGSM 通信模块开发短消息的相关通信模块开发短消息的相关 GSMGSM ATAT 指令指令 8 3 1 相关的 GSM AT 指令 8 3 2 计算机与 GSM 通信模块的通信 9 3 3 短消息编码 11 4 4 基于基于 PDUPDU 模式的中文短信息接收模式的中文短信息接收 11 4 1 PDU 数据格式分析 11 4 2 PDU 模式的纯英文短信息解码 15 4 3 中文短信息的解码 16 5 5 手机短信收发系统手机短信收发系统 18 5 1 程序设计 18 5 2 系统出错处理设计 21 5 3 系统维护设计 21 5 4 数据库的设计 21 6 6 结论和展望结论和展望 22 参考文献参考文献 23 致谢致谢 24 附件 手机短信收发系统程序核心代码附件 手机短信收发系统程序核心代码 25 西南林学院 2004 届本科毕业论文 1 前言前言 短消息业务在最近几年以各种各样的形式渗入到公众的日常生活当中 随着计 算机软硬件技术的发展和广泛应用及用户需求的多样性变化 短消息用户群由时尚 人群向企业 行业用户扩展 越来越多的企业开始利用短信开展各种短信增值业务 短信商业信息发布 短信客户关系管理 短信呼叫中心 短信防伪 短信移动办公 等 无论从技术还是市场发展的角度来看 企业和行业短消息应用都代表着短消息 的未来 将手机短信应用在地域分布广 层次性强的林业作业中更标志着林务作业 向科学化 技术化 信息化发展迈出了坚实的一步 对促进林务作业再上新的平台 加快提高林务作业的科技水平都必将起到十分积极的作用 1 1 短消息在林业中的应用短消息在林业中的应用 1 11 1 短消息在林业应用中的意义短消息在林业应用中的意义 目前手机短信在林务中的应用越来越广泛 它作为数据采集 传输 定向发送 的远程无线接入设备具有覆盖范围广 性能稳定 使用成本低 方便快捷等特点 使得使用者对它非常喜欢 同时 SMS 短消息服务 是通过移动网络用手机收发简 短文本消息的一种通信机制 SMS 采用存储转发模式 短消息被发送出去之后 不是直接发送给接收方 而是先存储在 SMC 短消息中心 然后再由 SMC 将短消息 转发给接收方 如果接收方当时关机或不在服务区内 SMC 就会自动保存该短消息 等到接收方在服务区出现的时候再发送给他 与普通的寻呼机制不同的是 SMS 是 一项有保证的双向服务 发送方可以在将短消息发送出去之后得到一条确认通知 返回传递成功或失败的信息以及不可到达的原因 SMS 是非对称业务 它使用 SS7 信令信道传输数据分组 所以 系统可以支持短消息与话音 数据 传真等业务的 同步传输 即使在业务信道处于高峰期的情况下 也照样可以使用短消息顺利通信 此外 SMS 还可以实现全国甚至国际漫游 短消息在林务系统中的应用 2 1 21 2 开发背景开发背景 因森林资源存在地域性广 层次性强 动态变化快 反映资源现状的信息量大 内容复杂 数据形式多样等特点 在林务作业的过程中 就形成作业周期长 程序 复杂 反映不及时等缺点 成为林务作业中最严峻的问题 如林场失火或发现白蚁 灾情 林业员向上级汇报情况后 最快也要 2 天后才能得到确切的解决方案 这之 中就可能造成难以想象的损失 并且随着林务作业的业务更加的繁忙 这种单纯的 传统手工作业远远不能满足实际现代化作业的需求 于是根据这些特点开发了林务 现场管理系统 它是专门针对林务现场作业而设计的特殊的系统 该系统主要利用 互联网将现场作业报告网络化 使营林作业第一线的林业员能用最快的速度将最准 确的第一手资料传给管理者 免除大量的手工书面报告 提高工作效率 节省宝贵 时间 方便管理者更快的作出准确的决策 同时因为每个林业员还没有能力配备一台笔记本电脑在林场中进行作业 而林 场中也会因为地域广等问题没有开通网络 所以只用互联网作业也是不够的 但每 个林业员配一个手机是可以的 用手机发短信也是可以实现的 所以考虑把现场管 理系统和手机短信完美的连接起来 本篇论文就解决了这个问题 1 31 3 开发目的开发目的 随着林务作业信息化要求越来越高 传统的手工作业不再能满足日益增长现代 化作业需要 面对庞大的信息量 需要有个智能的系统来管理这些繁杂的数据 提高 作业效率 减少工作量 手机参与系统就方便和简捷了很多 只需要简单的短消息 输入 就可以完成复杂的手工作业 1 41 4 设计要求设计要求 本软件作为现场管理系统的一部分 最终用户是各林场的林业员 他们主要是 将每天的工作日报用手机短信的形式发送到现场管理系统中来 而林场管理员就可 以在现场管理系统中即时看到当日工人的工作情况 及时处理可能出现的突发情况 并且管理人员还可以在管理系统中 对希望的数据进行查询 排序 打印等 由于 西南林学院 2004 届本科毕业论文 3 林场林业员需要报告的内容很多 如接地情况 抚育情况 病虫害等各种情况 所 以他们就要求有一种简单的手机输入格式 同时这种格式也支持现场管理系统的要 求 2 2 短消息网关通信模块的设计与实现短消息网关通信模块的设计与实现 2 12 1 企业短消息应用架构企业短消息应用架构 短消息在企业行业应用架构应该划分为三个层面 接入平台 应用支撑平台 应用系统 接入平台 通过无线网络或者有线网络完成短消息的协议适配和接收发送 无线 接入方式采用 GSM GPRS CDMA 空中接口 通过移动网络将短消息发送到短消息中心 有线接入方式利用互联网或专用网络直接接入短消息中心或短信网关 应用支撑平台 介于应用系统和接入平台之间 向应用系统提供基本的通用短消 息服务 这些服务包括短消息单发 短消息群发 短消息定时发送 短消息用户的 鉴权和用户管理 短消息负载平衡和流量控制等 这些服务和具体应用需求独立 但却是所有应用系统必不可少的功能 该层使应用系统和通信方式完全独立开来 减少了应用系统的负担 应用系统 包括各种面向应用的系统 这些系统有企业办公系统 OA 邮件系 统等等 另外还包括和行业应用密切相关的应用系统 这些系统利用应用服务层提 供的短消息服务接口 专注于各自的应用逻辑 手机短信收发系统就是基于接入平台 利用应用支撑平台开发出来的应用系统 2 22 2 短信接入方式比较短信接入方式比较 企业开展短信业务必须选择一种短信接入方式 目前可以选择的短信接入方式 主要有如下几种 1 专线接入运营商短信网关 短信中心 短消息在林务系统中的应用 4 企业通过自己的服务器直接接入移动运营商的网络 运营商对于设备和业务有 一定的要求 开展的业务须经过运营商的综合评测 若企业用户涉及多个运营商网 络 如中国移动 中国联通 则需要分别接入 服务器的价格通常也较贵 因此 该种方法较适用于超大型企业 对于一般的中小企业不太适用 2 虚拟运营商接入 企业只作为其一个客户 利用虚拟运营商提供的客户端软件或二次开发接口发 送短消息 这样的好处是设备投入比较少 但是必然的存在依赖于虚拟运营商的问 题 业务内容和服务的质量将会收到其限制 不方便开展自己的特色业务 且所有 信息必须经过服务提供商转接 企业信息的安全得不到保证 要向服务提供商缴纳 短信资费 运行成本难以降低 3 手机或 GSM MODEM 无线接入 这种方法是应用程序通过串口利用手机或 GSM MODEM 发送短消息 通常只能支 持一个手机或 GSM MODEM 市面上虽然也有一些号称支持多个 GSM MODEM 接入的短 信应用软件或二次开发包 但使用起来要将多个 GSM MODEM 设备串接 使用的可靠 性 方便性都很低 图 1 GSM GPRS Modem 短信模块是工业级短信收发模块 可以通过串口与计算机 单片机 工控机连 接 与软件配合 以实现企业各种短信无线应用 为企业的无线增值应用提供最佳 的无线短信接入手段 2 32 3 短消息网关结构短消息网关结构 短消息网关 ISMG 是处于短消息中心 SMSC 和业务提供商 SP 之间的设 备 它为这两个实体的数据交换提供安全 快捷的通道 网关与短消息中心之间使 用 SMPP 协议 Short Message Peer to Peer 短消息点对点协议 与 SP 之间使用 西南林学院 2004 届本科毕业论文 5 CMPP 协议 China Mobile Peer to Peer 中国移动点对点协议 因此短消息网关 需要完成协议的转换 计费 路由 安全和网络管理等功能 其结构图如图 2 所示 具体说来 图 2 中 SMPP 通信代理系统主要实现网关和 GSM 网中短消息中心 SMSC 的连接 确保准确接收和发送数据 实现高效 可靠的数据传输 为了 达到规范要求的不超过 0 001 的数据丢包率 SMPP 通信代理需要支持流量控制 CMPP 通信代理系统主要是实现和 SP 服务提供商的连接 与 SMPP 通信代理系统不 同的是 由于协议的影响 CMPP 通信代理是服务器端 需等待 SP 的连接 而 SMPP 通信代理是客户端 需要主动连接 SMSC 短消息网关处理系统是网关中最 复杂的处理进程 它完成的任务包括 向 GNS 汇接网关 查询路由 维护路由表 进行协议转换和数据分发 防火墙系统主要为网关系统提供安全保障 它包括 IP 包 过滤和身份验证 短信网关计费系统主要形成各种计费话单 为计费提供依据 业 务管理系统主要完成对业务进行统计报告 生成报表 为运营者对用户数据的添加 修改 删除以及对网关系统的监控 查询 操作和维护提供接口和界面 6 2 42 4 短消息网关通信模块的设计与实现短消息网关通信模块的设计与实现 短消息网关通信模块是整个短消息网关的基础 无论是计费 统计 还是超时 重传 高质量的通信构架是必不可少的保障 这个通信构架不仅要完成基本的收发 消息的功能 而且还要有好的结构以支撑各种业务需求 保证良好的扩展性 短消息在林务系统中的应用 6 2 4 12 4 1 短消息网关通信模块的设计短消息网关通信模块的设计 在设计短消息网关通信模块时 需要考虑以下几点 第一 由于短消息网关功能繁多 如果把通信和具体业务合在一起开发 容易 顾此失彼 可能会因为开始的考虑不周全 造成在增加某项新业务时不得不修改通 信底层和原来的业务代码 导致重复开发 所以我们采用通信代理的方式把通信和 具体业务分开 在增加新业务时 就只需少量修改通信代理的设置 而且不必再改 动原来的业务代码了 第二 通信代理需要同时倾听多个端口 我们选用多路复用 I O 这种方式 虽然 多线程能够通过并行计算和共享内存提高代码效率和资源利用率 但在短消息网关 中 处理的数据量大 多线程方式的并行处理会造成一些消息的逻辑混乱 资源共 享也会增加代码的复杂度 而多路复用使用简单 逻辑清晰明了 不易发生错误 也不会出现因资源共享带来同步和互斥问题 因此使用多路复用 I O 是比较合理的 第三 业务处理 GSM 通信模块与通信代理之间可以使用队列进行通信 对队列 的管理和参数的设置 例如对同一队列操作的互斥 以及队列个数的设置等 都使用 专门的队列内核程序统一调度并封装成函数接口 以方便业务处理 GSM 通信模块 对队列的使用 另外 通过队列通信 也可以为今后增加的业务提供良好的扩展性 第四 为了达到 99 999 的不丢包率 通信代理需要使用流量控制机制以保证网 关内部不丢包 这是因为无论队列设置有多大 如果出现消息只发不收的情况 都 会造成队列溢出而丢包 因此 为每个队列中缓存的消息做记录 当某个时刻队列 消息的数量达到规定限度 队列就不再收包 以保证到达网关的消息不会丢失 2 4 22 4 2 短消息网关通信模块的实现短消息网关通信模块的实现 基于以上设计思路 我们实现的短消息通信模块包括四个父进程 CMPP 通信 代理 cmpp server SMPP 通信代理 smpp server 消息分发处理 server package server 和前转消息处理 server route server 它们之间通过 6 个消息 队列相互通信 具体的软件结构如图 3 所示 西南林学院 2004 届本科毕业论文 7 图 3 通信模块软件结构 Cmpp server 主要为 SP 和网关之间建立一条高质量的传输通道 它同时侦听与 它相连的多个 socket 通过队列接口函数 mqm send 把接收到的 CMPP 格式的消息 送入队列 2 中 同时 它也要通过函数 mqm recv 不停的从队列 1 中获得消息 并把它转发到相应的目的 SP cmpp server 不需判断收到的消息类型 只负责通信 因此称通信代理 Smpp server 与 cmpp server 基本一致 唯一不同的只有一点 SMPP 协议规定 smpp server 是客户端 需要主动发起建立连接的请求 而 CMPP 协议规定 cmpp server 是服务器端 需等待对方连接 Package server 是短消息网关的核心 所有的消息都要经过它 包括协议转换 超时重传 计费 路由 都需要在 package server 中完成 package server 同时 监听 2 4 6 三个队列 根据不同的消息头来判断这个消息的下一个目的地 路由 表也需要在 package server 中维护 以便 package server 能得到路由信息 转发 消息 如果路由表中找不到相关的信息 package server 就要把该消息转发给 route server 由 route server 从汇接网关处获得路由信息后发送该消息 Route server 主要处理需要转发到其他网关的消息 当 package server 发现消 息的目的地不是本地网关所连的 SP 或 SMSC 那么它就会把消息转发给 route server 处理 Route server 接到消息后与汇接网关通信 请求目的地的网关 地址 然后与目的网关建立 socket 连接 交付该消息并记录前转话单 在整个通信模块中 所有的 server 都使用队列接口函数 mqm init 初始化消息队 列并复接在队列上 收发数据使用 mqm send 和 mqm recv 函数完成 存储消息 短消息在林务系统中的应用 8 采用固定的数据结构 其结构如下 struct mqm connection unsigned int package server seqnum 由网关自行产生 若消息从队列 4 中 来 该元素将是转化后的 CMPP 协议格式的消息序列号 若消息从队列 2 中来 该元 素将是转化后的 SMPP 协议格式的消息序列号 short mqm sockfd 接收该消息的 socket short mqm seqnum 收到的消息序列号 time t mqm timeout 收到该消息的时间 int total length 该消息的长度 char mqm buf MAX PACKET SIZE 该消息的内容 char converted buf MAX PACKET SIZE 转换协议后的消息内容 现以 MO 请求业务为例 描述通信模块的工作流程 当 SMSC 以 SMPP 格式的 DELIVER SM 消息发出订阅某个 SP 的言语传情短消息 经由 smpp server 收到 从队列 4 中转发给 package server Package server 收到 MO 请求后回送给 SP 一个 SMPP 格式的 DELIVER SM REP 应答消息 并用 mqm connection 结构体存储这条 MO 消息的各个信息 之后 package server 就把 该消息转换成 CMPP 协议的 CMPP Deliver 消息 并通过队列 1 送到 cmpp server 中 转发给目的 SP SP 在接收到这个消息后 会产生一个 CMPP 格式的 CMPP Deliver Rep 的应答消息返回给网关 当 package server 收到了应答信号 也需要用 mqm connection 结构体存储 这时 一条 MO 短消息转发成功 package server 记录 SMO 话单 9 3 3 利用利用 GSMGSM 通信模块开发短消息的相关通信模块开发短消息的相关 GSMGSM ATAT 指令指令 3 13 1 相关的相关的 GSMGSM ATAT 指令指令 与 SMS 有关的 GSM AT 指令 from GSM07 05 如下表所示 AT 指令 功 能 西南林学院 2004 届本科毕业论文 9 AT CMGC Send an SMS command 发出一条短消息命令 AT CMGD Delete SMS message 删除 SIM 卡内存的短消息 AT CMGF Select SMS message formate 选择短消息信息格式 0 PDU 1 文 本 AT CMGL List SMS message from preferred store 列出 SIM 卡中的短消息 PDU text 0 REC UNREAD 未读 1 REC READ 已读 2 STO UNSENT 待发 3 STO SENT 已发 4 ALL 全部 的 AT CMGR Read SMS message 读短消息 AT CMGS Send SMS message 发送短消息 AT CMGW Write SMS message to memory 向 SIM 内存中写入待发的短消息 AT CMSS Send SMS message from storage 从 SIM 内存中发送短消息 AT CNMI New SMS message indications 显示新收到的短消息 AT CPMS Preferred SMS message storage 选择短消息内存 AT CSCA SMS service center address 短消息中心地址 AT CSCB Select cell broadcast messages 选择蜂窝广播消息 AT CSMP Set SMS text mode parameters 设置短消息文本模式参数 AT CSMS Select Message Service 选择短消息服务 表 1 1 相关的 GSMGSM ATAT 指令 对短消息的控制共有三种模式 Block Mode 基于 AT 命令的 PDU Mode 基于 AT 命令的 Text Mode Block Mode 已是昔日黄花 目前很少用了 Text Mode 比较简单是纯文本方式 可使用不同的字符集 主要用于欧美地区 从技术上说也可用于发送中文短消息 但国内手机基本上不支持 PDU Mode 被所有手机支持 可以使用任何字符集 这也 是手机默认的编码方式 3 23 2 计算机与计算机与 GSMGSM 通信模块的通信通信模块的通信 1 串口连接 由于 GSM 通信模块自带 RS232 串口线 故只需将其连接到计算机串口即可 打 开 windows 自带的超级终端 选择相应的串口 将端口参数设置还原为默认值即可 短消息在林务系统中的应用 10 2 连接测试 输入 AT 然后回车 屏幕上返回 OK 表明计算机与 GSM 通信模块已连接成 功 GSM 通信模块能够正常工作 这时就可以测试各类 AT 命令 当测试命令 AT CMGS 时 如果返回 OK 标明 GSM 通信模块支持该指 令 该指令的完整语法如下 如果此时 GSM 通信模块处于 PDU Mode 即 AT CMGF 返回 0 AT CMGS PDU is given 如果短消息发送成功 则返回 OK 并显示信息号 AT CMGS 如果短消息发送失败 则返回如下信息号 AT CMS ERROR 如果此时 GSM 通信模块处于 Text Mode 即 AT CMGF 返回 1 AT CMGS toda text is entered 如果短消息发送成功 则返回 OK 并显示信息号 AT CMGS 如果短消息发送失败 则返回如下信息号 AT CMS ERROR 另外 由于使用的是 GSM 通信模块 当有新的短消息到来时 需要 GSM 通信模 块产生提示 使用指令 AT CNMI 该指令的完整语法如下 AT CNMI 如果有新的短消息来到 则 GSM 通信模块将自动返回下列提示 AT CMTI SM 此时读出 然后用 AT CMGR 指令即可读出短消息内容 3 鉴于 TC35 T 支持 TEXT 格式 我们在试验中主要测试该格式 A 设置短消息中心 AT CSCA 8613800731500 短消息中心 B 设置短消息发送格式 AT CMGF 1 1 TEXT 0 PDU C 发送短消息 短消息内容为 test 西南林学院 2004 届本科毕业论文 11 AT CMGS目的地址 test z D 设置短消息到达自动提示 设置短消息到达提示当短消息被接收 将获取 指令 AT CMTI SM INDEX 信息存储位置 AT CNMI 1 1 0 0 1 E 获取短消息内容 Once more 假设 INDEX 8 AT CMGR 8 返回信息如下 AT CMGR RECUNREAD 8613508485560 01 07 16 15 37 28 32 Once more 2 3 33 3 短消息编码短消息编码 设需要发送的短消息内容为 Hi 使用的 GSM 字符集为 7 位编码 首先将字 符转换为 7 位的二进制 然后 将后面字符的位调用到前面 补齐前面的差别 例 如 H 翻译成 1001000 i 翻译成 1101001 显然 H 的二进制编码不足八位 那么就 将 i 的最后一位补足到 H 的前面 那么就成了 11001000 C8 i 剩下六位 110100 前面再补两个 0 变成 00110100 34 于是 Hi 就变成了 C8 34 4 4 基于基于 PDUPDU 模式的中文短信息接收模式的中文短信息接收 分析 PDU 数据包 根据 PDU 的数据格式将收到的中文信息和其它相关信息解析出来 4 14 1 PDUPDU 数据格式分析数据格式分析 PDU 数据包格式 PDU 数据包由两部分构成 短信息服务中心地址 SMSC address TPDU PDU 串表面上是一串 ASCII 码 由 0 9 A F 这 些数字和字母组成 它们是8 位字节的十六进制数 或者BCD 码十进制数 PDU 串不仅包含可显示的消息本身 还包含很多其它信息 如SMS 服务中心 短消息在林务系统中的应用 12 号码 目标号码 回复号码 编码方式和服务时间等 其中短信息服务中心 号码 发送源号码 日期以及时采用压缩 BCD 码表示 低位在前 高位在后 例如 我们要将字符 Hi 字符发送到目的地PDU 字符串为 08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 08 短信息中心地址长度 指 91 683108701305F0 的长度 91 短信息中心号码类型 91 是 TON NPI 遵守 International E 164 标准 指在号码前需加 号 此外还有其它数值 但 91 最常用 91 10010001 BIT No 76543210 Name1 数值类型号码鉴别 表 2 91 短信息中心号码类型 数值类型 Type of Number 000 未知 001 国际 010 国内 111 留作 扩展 号码鉴别 Numbering plan identification 0000 未知 0001 ISDN 电 话号码 E 164 E 163 1111 留作扩展 683108701305F0 短信息中心号码 由于位置上略有处理 实际号码应为 8613800731500 字母 F 是指长度减 1 这需要根据不同的地域作相应的修改 通称短消息中心地址 Address of the SMSC 11 文件头字节 111 设置 用户数据头标识 TP UDHL TP User Data Header Indicator 0 不含任何 头信息 1 含头信息 状态报告要求 TP SPR TP Status Report Request 0 需要报告 1 不需 要报告 有效期格式 TP VPF TP Validity Period Format 00 不提供 Not present 10 整型 标准 01 预留 11 提供 8 位字节的一半 Semi Octet 西南林学院 2004 届本科毕业论文 13 Represented 拒绝复制 TP RD TP Reject Duplicates 0 接受复制 1 拒绝复制 信息类型提示 TP MTI TP Message Type Indicator 00 读出 Deliver 01 提交 Submit 00 信息类型 TP Message Reference 0B 被叫号码长度 91 被叫号码类型 同 3176378290F9 被叫号码 经过了位移处理 实际号码为通称目的地址 TP Destination Address 00 协议标识 TP PID TP Protocol Identifier BIT No 7 6 5 4 3 2 1 0 表 4 00 协议标识 TP PID Bit No 7 与 Bit No 6 00 如下面定义的分配 Bit No 0 Bit No 5 01 参 见 GSM03 40 协议标识完全定义 10 预留 11 为服务中心 SC 特殊用途分配 Bit No 0 Bit No 5 一般将这两位置为 00 Bit No 5 0 不使用远程网络 只是短消息设备之间的协议 1 使用远程网 络 Bit No 0 Bits No 4 00000 隐含 00001 电传 00010 group 3 telefax 00100 语音 00101 欧洲无线信息系统 ERMES 00110 国内系统 10001 任何基于 X 400 的公用信息处理系统 10010 Email 00 数据编码方案 TP DCS TP Data Coding Scheme BIT No 7 6 5 4 3 2 1 0 表 5 00 数据编码方案 TP DCS Bit No 7 与 Bit No 6 一般设置为 00 Bit No 5 0 文本未压缩 1 文本 用 GSM 标准压缩算法压缩 Bit No 4 0 表示 Bit No 1 Bit No 0 为保留位 不 含信息类型信息 1 表示 Bit No 1 Bit No 0 含有信息类型信息 Bit No 3 与 Bit No 2 00 默认的字母表 01 8bit 10 USC2 16bit 11 预留 Bit No 1 与 Bit No 0 00 Class 0 01 Class 1 10 Class 2 SIM 卡特定信息 11 Class 3 短消息在林务系统中的应用 14 00 有效期 TP VP TP Valid Period VP value h 相应的有效期 00 to 8F VP 1 5 分钟 90 to A7 12 小时 VP 143 30 分钟 A8 to C4 VP 166 1 天 C5 to FF VP 192 1 周 表 6 00 有效期 TP VP 02 用户数据长度 TP UDL TP User Data Length C834 用户数据 TP UD TP User Data Hi 发送和接收的 PDU 串 结构是不完全相同的 例 1 发送 SMSC 号码是 8613800250500 对方号码是消息 内容是 Hello 从手机发出的 PDU 串可以是 08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 00 00 06 C8 32 9B FD 0E 01 对照规范 具体分析 分段含义说明 08 SMSC 地址信息的长度 共 8 个八位字节 包括 91 91 SMSC 地址格式 TON NPI 用国际格式号码 在前面加 68 31 08 20 05 05 F0 SMSC 地址 8613800250500 补 F 凑 成偶数个 11 基本参数 TP MTI VFP 发送 TP VP 用相对格式 00 消息基准值 TP MR 0 0D 目标地址数字个数 共 13 个十进制数 不包括 91 和 F 91 目标地址格式 TON NPI 用国际格式号码 在前面加 68 31 58 81 27 64 F8 目标地址 TP DA 8613851872468 补 F 凑 成偶数个 00 协议标识 TP PID 是普通 GSM 类型 点到点方式 00 用户信息编码方式 TP DCS 7 bit 编码 00 有效期 TP VP 5 分钟 06 用户信息长度 TP UDL 实际长度 6 个字节 C8 32 9B FD 0E 01 用户信息 TP UD Hello 西南林学院 2004 届本科毕业论文 15 表 7 发送 PDU 字符串说明 例 2 接收 SMSC 号码是 8613800250500 对方号码是消 息内容是 你好 手机接收到的 PDU 串可以是 08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21 对照规范 具体分析 分段 含义 说明 08 地址信息的长度 共 8 个八位字节 包括 91 91 SMSC 地址格式 TON NPI 用国际格式号码 在前 68 31 08 20 05 05 F0 SMSC 地址 8613800250500 补 F 凑 成偶数个 84 基本参数 TP MTI MMS RP 接收 无更多消息 有回复地 址 0D 源地址数字个数 共 13 个十进制数 不包括 91 和 F 91 源地址格式 TON NPI 用国际格式号码 在前面加 68 31 58 81 27 64 F8 源地址 TP OA 8613851872468 补 F 凑 成偶数个 00 协议标识 TP PID 是普通 GSM 类型 点到点方式 08 用户信息编码方式 TP DCS UCS2 编码 30 30 21 80 63 54 80 时间戳 TP SCTS 2003 3 12 08 36 45 8 时 区 06 用户信息长度 TP UDL 实际长度 6 个字节 4F 60 59 7D 00 21 用户信息 TP UD 你好 表 8 接收 PDU 字符串说明 4 24 2 PDUPDU 模式的纯英文短信息解码模式的纯英文短信息解码 PDU 模式的纯英文短信息编码使用 GSM 字符集的 7 位编码 此时 TP DCS 的值为 00 如短信息内容为英文字符 Hi 首先将各个字符转换为 7 位的标准二进制 ASCII 码 然后要将后面字符的低位逐位调整到前面 补齐前面的差别 例如 H 的二进制 ASCII 码为 1001000 i 二进制 ASCII 码为 1101001 显然 H 的二 进制编码不足八位 那么就将后面字符 i 的最后一位补足到 H 的前面 就成了 短消息在林务系统中的应用 16 11001000 C8 i 剩下六位 110100 前面再补两个 0 变成 00110100 34 于 是 Hi 就变成了两个八进制数 C834 由于 PDU 模式的纯英文短信息采用 7 位编码 解码不方便 因此对于只需发送和接收纯英文字符和数字符号的应用 最好采用 Text 模式发送和接收短信息 4 4 34 3 中文短信息的解码中文短信息的解码 由于中文字的编码是采用 2 个字节的编码 因此发送和接收中文或中英文混合 的短信息只能采用 PDU 模式 但在 GSM 标准中 中文编码采用 UTF 8 的编码 不是 目前国内常用的 GB 2312 编码 故还需要进行中文编码的转换 才能与采用 GB 2313 汉字库相配合显示汉字字型 由于 UTF 8 和 GB 2312 编码之间不存在一一对应的线性关系 因此只能采用查 表的方式进行转换 下面给出一个由 UTF 8 到 GB 2312 编码转换的算法 建立 UTF 8 和 GB 2312 两个中文编码表 表中数据项为 2 个字节长度的十六 进制的数 代表一个中文编码 两个表的长度分别为 14 890 字节 2 7445 UTF 8 编码表按数据项值从小到大排序 而在 GB 2312 编码表中 与 UTF 8 相同位 置处为相同汉字的 GB 2312 码字 如表 9 所示 7 bit 编码时 指原始短消息的字符个数 而不是编码后的字节数 8 bit 编码时 就是字节数 UCS2 编码时 也是字节数 等于原始短消息的字 符数的两倍 如果用户信息 TP UD 中存在一个头 基本参数的 TP UDHI 为 1 在所有编码方式下 用户信息长度 TP UDL 都等于头长度与编码后字节 西南林学院 2004 届本科毕业论文 17 数之和 如果采用GSM 03 42 所建议的压缩算法 TP DCS 的高 3 位为 001 则该长度也是压缩编码后字节数或头长度与压缩编码后字节数之和 需要注意的是 PDU 串的用户信息长度 TP UDL 在各种编码方式下意 义有所不同 7 bit 编码时 指原始短消息的字符个数 而不是编码后的字节 数 8 bit 编码时 就是字节数 UCS2 编码时 也是字节数 等于原始短消 息的字符数的两倍 如果用户信息 TP UD 中存在一个头 基本参数的 TP UDHI 为 1 在所有编码方式下 用户信息长度 TP UDL 都等于头长度与编 码后字节数之和 如果采用GSM 03 42 所建议的压缩算法 TP DCS 的高 3 位为 001 则该长度也是压缩编码后字节数或头长度与压缩编码后字节数之 和 下面以一个具体的例子说明7 bit 编码的过程 我们对英文短信 Hello 进行编码 图 4 4 举例说明7 bit 编码的过程 软件解码过程为 每次从 PDU 模式 SMS 数据包的 TP UD 中取出两个字节 采 用二分法快速数据查找算法 在 UTF 8 编码表中找到其所在位置 然后在 GB 2312 表的相同位置处读取相对应的 GB 2312 编码 解码流程如图 5 所示 短消息在林务系统中的应用 18 二分法的最坏查找次数为 lg2 n 1 UTF 8 表的长度 n 为 7445 固最坏查找 次数为 13 次 就是说一个中文编码由 UTF 8 到 GB 2312 的转换最多经过 13 次比较 查找就可完成 这比采用简单的顺序查表要快的多 大大减少了查表所花费的时间 非常适合在一般的嵌入式系统中使用 13 5 5 手机短信收发系统手机短信收发系统 5 15 1 程序设计程序设计 本课题主要在研究了林务工作的复杂 特殊性之后 开发出了现场管理系统 在现场管理系统中 实现了林务作业现代化 在任何地方 只要有网络 就可以即 时汇报工作 同时在现场管理系统中 管理人员可以时时监控作业的进度 对希望 的数据进行查询 排序 打印等操作 然而现场管理系统依赖于因特网 对于林场 中的林业员就很不方便了 基于这些考虑 我们就继续开发了兼容现场管理系统的 手机短信收发系统 手机短信收发系统是基于接入平台 利用应用支撑平台开发出来的应用系统 详细来说就是采用 GSM GPRS CDMA 空中接口 通过移动网络将短消息发送到短消息 西南林学院 2004 届本科毕业论文 19 中心 利用应用支撑平台提供的短消息单发 短消息群发 短消息定时发送 短消 息用户的鉴权和用户管理 短消息负载平衡和流量控制等短消息服务 设计开发出 的应用系统 该系统向中国移动申请了特服号码 6233 凡是以 6233 开头的手机短信都将通过 移动网关送来我们的现场管理系统 但是林务作业具有它的复杂特殊性 每个林业 员每天汇报的工作是多样的 所以只是用文字输入是不合理的 为此我们规范了输 入格式 如下表 现场管理系统 特服号 6233 01 XXXX 小班作业期间作业日报查询 小班查 特服号 6233 01 301 小班号起日迄日 类型 CNN 长度 1 156 66 6 小班作业期间累计完工量查询 完工查 特服号 6233 01 302 小班号工序码起日迄日 类型 CCNN 长度 1 151 66 66 6 小班作业期间累计领苗肥量查询 苗肥查 特服号 6233 01 303 小班号起日迄日 类型 CNN 长度 1 156 66 6 小班作业日报删除 小班删 特服号 6233 01 2029 小班日报号 类型 C 长度 11 11 小班验收期间日报查询 验收查 6233 01 304 小班号起日迄日 类型 CNN 长度 1 156 66 6 小班作业期间累计验收量查询 验累查 6233 01 3056233 01 305 小班号工序码起日迄日 类型 CCNN 长度 1 151 66 66 6 短消息在林务系统中的应用 20 小班验收日报删除 验收删 6233 01 2039 验收日报号 类型 C 长度 11 11 人员工作日报新增 人日增 6233 01 2041 日期工作项目小班号里程数说明 类型 NCCNC 长度 6 61 31 151 100 200 人员日报期间日报查询 人日查 6233 01 306 起日迄日 类型 NN 长度 6 66 6 人员日报期间累计里程数查询 里程查 6233 01 307 起日迄日 类型 NN 长度 6 66 6 小班期间异常查询 异常查 6233 01 308 小班号起日迄日 类型 CNN 长度 1 156 66 6 人员日报删除 人日删 6233 01 2049 人员工作日报号 类型 C 长度 11 11 现场作业摸板查询 摸板查 6233 01 114 输入相应的特服号调出相应的摸板 例 IN 01301 OUT 小班号 起日 迄日 特服号查询 服号查 6233 114 例 IN 01 或现场 OUT 小班增 6233012021 小班查 623301301 表 1010 现场管理系统规范格式 例小班作业报告新增 发送号码 6233012011 发 小班增 至 6233114 系统返回信息 日期 任务号 小班号 工序码 结案号 本期完工量 当日工人数 天气码 本期领苗量 本期领肥量 备注 即用户要输入的 模板 如输入 040206 20043 CDDB040314 327 0 50 95 02 10000 西南林学院 2004 届本科毕业论文 21 600 发送至 6233012011 即可 5 25 2 系统出错处理设计系统出错处理设计 由于手机短消息是嵌套在现场管理系统中的一部分 为了适用与管理系统 也 为了使用者输入方便 每个项目都必须有它确定的格式 同时为了保证数据的正确 性 设计了格式验证 即短消息数据中心收到短消息后对每个字段进行解析 发现 非法字符或代码 格式不正确 会发一条短消息告知报告人 让其检查重新发送 合格的短消息经过处理后将其保存到现场管理系统数据库中 同时会将这个日报填 充完整返发给报告人 并告知日报编号 便于在互联网上查询 若发现输入错误 必须先将该工序日报删除 修改后再重新发送 因为每个林业员的手机号码在系统 里也是有记载的 如用他人手机输入自己的工作日报就是不容许的 系统也会自动 返回错误消息提示改正 还有很多是比较林务专业的错误 但只要是不符合格式的 不适用系统的 系统都会提示出错 请求改正 每个一条短信 系统也都会有一条 确认消息 给使用者确认自己输入的消息是否有错 5 35 3 系统维护设计系统维护设计 由于手机短信收发系统是嵌套在现场管理系统中的一部分 所以在系统维护方 面主要维护现场管理系统即可 保证了管理系统中的数据 也就能保证手机录入的 数据 5 45 4 数据库的设计数据库的设计 手机部分的数据库从某种程度上说 应该是说是管理系统的数据库 手机短信 主要完成录入数据的功能 就是往现场管理系统中存入数据 然后管理系统再根据 从互连网上和手机发送的数据来做数据处理 所以严格的说手机部分不处理数据 只做存储处理 短消息在林务系统中的应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国黑荆树项目创业计划书
- 中国家用无线路由器项目创业计划书
- 中国桑树项目创业计划书
- 中国肉羊养殖项目创业计划书
- 中国净菜加工项目创业计划书
- 中国管腔抓捕系统项目创业计划书
- 中国高效节水农业项目创业计划书
- 中国冬青类灌木树苗项目创业计划书
- 中国鹅项目创业计划书
- 中国犊牛栏项目创业计划书
- 2025年高中化学学业水平合格性考试模拟试卷试题(含答案)
- 第23课《“蛟龙”探海》课件-2024-2025学年统编版语文七年级下册第六单元
- 四川省绵阳市2023-2024学年八年级下学期6月期末数学试卷(含详解)
- 2025-2030中国哈喹诺行业市场现状供需分析及投资评估规划分析研究报告
- 建设工程监理研究预测报告-中国建设工程监理行业现状与发展前景预测报告
- 东莞2025年东莞日报社公开招聘7人笔试历年参考题库附带答案详解
- 水利安全风险防控“六项机制”与安全生产培训
- DBJ50T-147-2025 住宅电气设计标准
- 2025年山东省潍坊安丘市中考一模数学试题(含部分答案)
- 《无人机摄影技术》课件
- QGDW12505-2025电化学储能电站安全风险评估规范
评论
0/150
提交评论