论文部分内容阅读
远程医疗是现代信息技术与传统医疗相结合的产物。信息技术的发展和医疗服务的多样化使得远程医疗的内容更加丰富,远程医疗技术的发展需要利用高速网络进行数字、图像、语音、文本等综合实时传输。流计算技术是数据实时传输中的关键技术。本文以健康监护应用为背景,以设计具有高并发数据处理能力和整合多种医疗应用的平台级医疗服务架构为最终目标,研究该平台在高并发健康监护数据流实时传输中的负载均衡、数据缓存和流数据实时处理问题。 针对负载均衡问题,本课题从健康监护数据流传输访问的加密和一致性特点出发,选择支持SSL数据链路加密和一致性hash负载均衡的Nginx作为本课题流平台中的负载均衡解决方案。本课题在完成基本负载均衡任务的基础上,主要研究工作是设计Nginx+Keepalived双主负载均衡架构和Nginx外部监控模块来保证负载均衡器的高可靠性,研究一致性hash算法并改进Nginx一致性hash模块。 针对流数据缓存问题,本课题在充分调研现有缓存中间件技术的基础上,针对健康监护流数据量大、实时、有序的特点,自行设计流数据缓存模块StreamCache,并为了保证流数据在流平台的流通,分别设计发布流数据缓存服务和流数据登记服务。 针对流数据实时处理问题,本课题通过充分分析目前几种主流流计算模型,最终选定Strom作为流平台的核心流处理引擎。本课题主要研究工作是根据健康监护流数据处理需求设计流处理拓扑Topology,设计Storm外部监控模块来保证Storm的外部可靠性。 由于测试资源有限,本课题通过虚拟机来模拟流平台集群,分别是2台负载均衡器,4台流缓存服务器,1台流登记服务器,2台Storm节点服务器。测试用例是编写客户端软件循环发送真实格式的心电数据来模拟健康监护数据流,通过客户端并发启动数目来模拟健康监护流并发数,最后通过监控各节点服务器的内存利用率和CPU使用率来判定服务器的数据处理能力。 通过实验数据可以得出,本课题提出的流平台架构设计对于高并发健康数据流访问下的高负载情况具有较高的伸缩性,即随着健康监护流的增多,可以增加流平台相应部分的服务器资源而提高流平台的吞吐量。另外,该架构设计同样适用于其他非实时应用,对于设计通用多应用整合平台具有一定的借鉴意义。