论文部分内容阅读
网络即时通信因为其便捷、可靠的特点,逐渐替代了传统通信方式成为信息交互的首选。作者参与了中科院遥感与数字地球研究所的高分科教服务平台的研发,该平台是一种跨平台、服务众多用户的遥感应用即时通信工具,通过与遥感科教服务平台网站交互,将平台网站中的相应功能如网站登录、遥感影像数据下载等,集成于通信工具中,满足众多用户的通信、传输、下载需求。其中,保障服务器峰值的稳定服务是关键之一。遥感科教服务平台涉及十八个行业和部门,具有用户量众多的特点。传统的NIO、原生态的Netty等常见的并发访问技术,不能满足该项目中并发通信的需要。针对此问题,本文设计了一种用户活跃度区分策略。该策略通过查询用户通信记录,兼顾用户对消息的敏感程度,对用户当前状态进行判断,将不活跃用户采用伪在线处理,降低了不活跃用户对服务器资源的占用。在不活跃用户状态转换时,即时进行状态转换,保障用户的正常通信。通过对比验证,改进之后服务端的并发服务用户数量提高了84%,服务端同等并发压力下的系统吞吐量提高了18%。本文主要工作与贡献有以下几点:(1)提出了一种用户活跃度区分策略,针对即时通信应用高并发、平台无关性的需求,选择Netty框架搭建服务端,并在Netty框架基础上对用户活跃度进行区分,通过将用户进行活跃度判断,对空闲用户进行伪在线操作,降低空闲用户对服务器的资源占用,提升了服务器的并发服务能力。通过服务器压力测试、服务器响应时间测试、吞吐量测试,结果表明经过优化策略改进,服务端并发服务用户数量和吞吐量显著提升。(2)将优化策略应用于即时通信应用的方案设计中。为服务端设计状态切换事件,及时处理用户状态切换请求,并通过缓存伪在线用户信息,保障用户伪在线处理时不丢失消息。在客户端设计状态监测与切换模块,对空闲状态的用户进行状态切换,对由空闲到活跃的用户及时进行唤醒,灵活进行客户端的状态切换。(3)将上述设计方案与具体遥感应用相结合,将方案应用于遥感通信子系统中。系统实现了即时通信、数据下载、应用下载三个主要功能,达到了文章研究背景的目标。