一种基于netty通信的增强现实方案的设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:wcd_soft
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文介绍了一套运用AR、网络通信技術,解决多人协作中虚拟世界与现实的互动的整体项目,提出采用新概念人机交互机制与装置,实现多维度感知交互,增强体验感。使用基于JavaMO异步通信框架Netty处理网络10,实现增强现实各终端之间的通信,从而实现多用户下各种交互设备和虚拟环境快速自然实时的交互,同时也能解决增强现实中各种设备和虚拟环境实时通信的高并发的问题。
  关键词:增强现实;网络通信;Netty;实时交互
  中图分类号:TP391
  文献标识码:A
  文章编号:1009-3044(2019)36-0241-03
  增强现实是虚拟现实的一个重要分支,是将计算机生成的虚拟图像和相机采集到的真实场景实时进行综合和叠加,渲染,并显示在一个空间或画面中的技术,目标是在屏幕上把虚拟世界套在现实世界并进行互动。近年来,增强现实技术表现出了强劲的发展势头,迅速引发与教育、医疗、游戏灯等各领域的结合,显示出了巨大的潜力。但是增强现实技术尚有很多问题需要解决。从交互方式上来说,人机交互方式的好坏将会很大程度上影响用户的交互体验。AR技术发展到今天,在人机交互方面通常是基于传统键盘或者手柄的单人交互方式,更为自然的、支持多用户的实时的增强现实交互技术仍有待研究[1-2],同时还存在着沉浸感弱,感官较差等问题。
  本文提出通过采用新概念人机交互机制与装置,触/力觉表现及力反馈设备,实现多维度感知交互。通过触觉,嗅觉,以及力觉等各种知觉感知来建立与人类感官匹配的自然通道,从而呈现完美的虚拟世界,在同一个控制系统下,完美的视觉冲击、真实的触碰感,让用户感受到不一样的增强现实体验。
  因此需要利用通信技术实现设备和虚拟世界之间的连接,实现所有设备的协同操作。面对大量的终端设备以及网络高并发访问,不仅要求其拥有稳定性、实时性,还要求其具备处理高并发通信的能力,能同时管理更多硬件设备。所以设计一种能够满足设备通信的高并发即时通信应用都显得十分必要。基于此要求,本文提出使用基于Netty实现JavaNIO方式开发高并发的服务器,并采用自定义私有协议的方式进行交互设备以及增强设备和增强世界之间的通信。基于此提供了一整套设计方案。
  在新一代人工智能技术的爆发和5G通信技术的助力下,增强现实产业涌入了大批国内外企业,增强现实将成为下一代通用计算平台和互联网的入口,为经济、军事、民生等领域带来颠覆性变化。为抢占世界虚拟现实战略制高点,我国已经把增强现实和虚拟现实定位为超前发展的战略性新兴产业。在此背景下,该研究方向具有比较重要的现实意义。
  1方案设计
  本项目由终端设备,应用服务器,业务服务器,以及增强现实服务器组成,目前增强现实系统中的交互设备主要有硬件交互设备、语音识别设备、动作捕捉设备等交互设备,以及一些其他的终端设备比如声光电水等。终端模块主要的作用一是用于采集数据信息,例如采集动作信息或者语音等信息。二是接受服务器发送的命令,并执行。系统中对终端设备进行分类,不同的业务服务器负责不同类型,其主要解决防止数据进入并发服务器后因数据存储时间长而影响系统整体性能,数据分发到多台业务服务器中进行处理操作,能提高系统的相应的速度[3]。应用服务器是整个系统的核心和大脑,所有的逻辑控制都在此实现。各终端设备和增强现实的内容之间要进行交互,要和服务器之间建立长连接链路,然后通过服务器实现所有终端设备和增强现实世界之间的通信。
  1.1通信技术
  Netty是由JBOSS公司提供的一个基于NIO的异步通信的网络编程框架和工具,它是在Epoll模型和JavaNIO的基础上做出的改进,其采用IO多路复用技术,处理10操作,把多个10阻塞复用到一个select之上,满足单线程处理多个10的连接需求。在处理大规模的并发时,利用Epoll模型对就绪的I/O连接进行处理,避免了无效的轮询。其零拷贝技术它可以将多个ByteBuf’引用合并为一个逻辑上的ByteBuf对象,避免了各个ByteBuf’之间的拷贝[4-5]。Netty是业界最流行的NIO框架之一,他的健壮性、功能、性能、可定制性和可扩展性都是非常好的。因此本项目选择netty作为本项目的通信框架[6-7]。服务器端时序图如图l所示。
  1.2系统机制
  1)通信协议。为了实现系统中各个模块和服务器之间的通信,本项目制定通信时所遵守的规则,通信双方按照这个规则“说话”[8]。除了各个模块和服务器之间的业务消息外,还需要携带其他一些控制和管理的指令。例如链路建立的握手请求和响应的消息,监听链路可用性的心跳消息等等,这些功能组合在一起后,就形成了通信协议。利用Netty的NIO进行私有协议的定制和开发,Netty的协议栈用于内部各模块之间的通信,它基于TCP/IP协议栈,采用流的方式进行数据传输,为了防止粘包以方便拆包,本文采用将特殊分隔符作为消息结束的标志以对消息进行区分。
  2)心跳机制。本项目中,各设备和服务器之间通讯频繁,为了防止频繁建立连接对系统资源的浪费,而且建立连接也是需要时间的,这会导致系统的处理速度降低很多。因此本文采用长连接机制,每个连接建立后都不断开,客户端和服务器的所有数据交互都通过此连接进行通讯,一个连接上可以连续发送多个数据包。但是在连接保持期间,为了检测链路的可用性,利用IdleStateHandler和Ping-Pong机制,当服务器和客户端都处于idle状态时,需要双方发送链路检测包,即心跳协议。
  3)断线重连。本项目是基于网络通信的,在系统运行中,网络状态是不可预知的,客户端要及时对网络的变化做出反应,为了不影响系统的运行,最小化的降低影响,当客户端因为某些原因和服务器失去连接后,要能立刻发起重新连接,取得和服务器端的连接。首先要监听网络的连接,客户端挂在eloseFuture上监听链路关闭信号,一旦Channel关闭,则创建重连定时器,5S之后重新发起连接,直到连接上服务器。   2系统架构
  2.1系统拓扑结构
  本项目主要由硬件设备、传输网络、客户端或者数据采集和控制单元、服务器等四部分组成。从底层逐级向上分为三层。一是现场机,此层面主要为对现场的信息的采集,主要包括语音信息,或者动作信息以及各种外部设备信息的采集等。二是网络层,利用无线和有线网络对采集的数据进行编码、认证和传输其主要作用是实现现场机与上位机的数据传输。三是上位机,即数据应用层,一方面通过数据分析可以得出相关结论来支持服务器决策,另一方面,可以接收服务器传递的指令,来对下层设备进行控制。具体的系统拓扑结构图如图2所示。
  2.2软件体系结构设计
  系统平台划分為4个模块,分别是数据接收模块、业务处理模块、数据下发模块、日志记录模块。数据接收模块是通过协议适配接口处理来自客户端数据请求,验证数据的合法性、有效性,同时把合法的数据消息封装起来,然后交给业务处理模块。业务处理模块是根据相应的规则对接收的数据进行解析,然后实现具体的业务逻辑处理,例如服务器接收到来自客户端的数据,需要把数据写入数据库,则业务处理模块对数据经过一定的处理,分析后写入数据库,实现数据的持久化。数据发送模块的消息来自业务处理模块,业务处理模块根据协议规则把要发送的数据进行封装,编码,然后发送给相应的客户端,客户端解析收到的数据,然后对下位机做出相应的操作。日志记录模块主要是为了满足软件的性能测试和日常的维护工作的需要,可以根据需要设置日志输出级别、输出内容以及输出方式。日志记录的目的是为了在系统出现故障或者问题时,可以方便找出问题以快速帮助解决问题[9]。功能模块关系图如图3所示。
  3结束语
  根据增强现实系统中实现多用户下各种交互设备和虚拟环境快速自然实时的交互的要求,本文提卅的基于netty通信和增强现实的交互方式结合的处理方式,实现了支持高并发,复杂逻辑处理的网络通信服务。服务器数据处理速度快,响应时间短,能够满足实时相应的要求。目前该解决方案已成功应用于某公司的部分项目中。用户可以使用各种交互设备和场景中的虚拟内容进行实时互动,并结合多媒体、3D、光电声效等手段以及各类物理机械装置营造出梦幻真实的环境。客户感觉非常新颖,对体验效果感到满意。因此,市场应用的预期前景非常广阔。
  参考文献:
  [1]王宇希,张凤军,刘越.增强现实技术研究现状及发展趋势[J].科技导报,2018,36(10):75-83.
  [2]康绍鹏.增强现实关键技术研究[D].沈阳航空工业学院,2009.
  [3]陈强,武佳佳.基于Netty高并发物联网服务器研究与设计[J].电子技术与软件工程,2018(7):34-35.
  [4]张河.基于Netty框架的多用户并发访问技术研究及应用[D].河南大学,2017.
  [5]梁明刚.Linux下基于epoll线程池高并发服务器实现研究[J].武汉工业学院学报,2012(3):54-59.
  [6]陈强,武佳佳.基于Netty高并发物联网服务器研究与设计[J].电子技术与软件工程,2018(7):34-35.
  [7]汪悦,管弋铭,李梦蓉等.基于物联网的智慧家庭健康医疗系统[J].光通信研究,2018,2(205):1-5.
  [8]陈瑞林,郑羽.基于ARM9的UDP协议栈的设计与实现[J].计算机技术与发展,2013,23 (5):22-25.
  [9]龚鹏,曾兴斌.基于Netty框架的数据通讯服务系统的设计[J].无线通信技术,2016,25(1):46-4.
  【通联编辑:代影】
  收稿日期:2019-09-18
  基金项目:国家自然科学基金资助项目(61662002);东华理工大学江西省放射性地学大数据技术工程实验室资助项目UELRGB-DT201707)
  作者简介:王杰(1994-),通信作者,女,安徽阜阳人,硕士研究生,主要研究方向为大数据与智能信息处理;高永平(197 4-),男,江西峡江人,副教授,硕导,硕士,主要研究方向为数据库技术与应用、软件工程与知识工程。
其他文献
摘要:为把“工程图学”学科发展成果引入教材,教材内容大为增加,而課程总学时却大为减少,其教学由原先讲得少、练得多,变成讲得多、练得少了,使得学生识读与绘制工程图的能力难以真正学到手。为此,必须改革教学手段和教学方法,以做到精讲多练。本文仅讨论如何综合运用多媒体教学与传统教学各自不同的教学手段进行工程图学教学,以提高工程图学教学效率和教学效果。  关键词:工程图学;图形思维;计算机绘图;传统教学;多
摘要:通过课堂和网络的信息化教学手段组织并进行教学,在突破时间和空间的局限性下,让学生在完成项目任务的同时加强他们对知识和技术的理解及掌握,从而提高其实践能力和职业素养。该文旨在探索并设计基于网络的影视专业的《影视栏目包装》课程的项目化教学改革的教学模式,并探索与之相适应的课程教学模式,以满足影视多媒体技术专业的发展和学生的技能及综合素质的培养的需求。  关键词:项目化;网络;职业  中图分类号:
摘要:习近平同志在全国高校思想政治工作会议上指出,要把思想政治工作贯穿教育教学全过程。但目前大部分高校,理工科的专业课程和思想政治课程通常并行的、交集甚少,因此高校教师要提高课程思政意识,积极投入课程思政教育教学改革中。本文对在《C语言程序设计》中课程恩政建设进行探索。  关键词:课程思政;高等教育;C语言  中图分类号:G642 文献标识码:A  文章编号:1009-3044(2019)35-0
摘要:随着IT技术快速发展,其在生活中的应用也越来越广泛,校园的网络化程度也在提升,在推进学校管理质量提升的同时,也为教学活动的顺利开展提供了诸多便利。但是,随之而来的校园网络安全问题也开始受到了人们越来越多的关注,要提升校园网络安全的程度,相关人员就需要加强管理,为学生创建绿色的网络校园环境。本文主要从数字化校园的特点、数字化校园建设过程中网络安全方面存在的问题以及具体的解决策略方面进行了研究,
摘要:在实际针对油田软件项目进行管理的过程中,管理的复杂性比较强,而且具有明显的多向性。该文主要针对油田软件项目在开发前期的准备阶段管理中存在的各种问题进行了探讨,并针对问题解决后的控制和管理有效性进行了分析,在此基础上极大的提升油田软件项目的开发效率以及项目的开发成功率。  关键词:软件开发项目;数字化油田;管理  中图分类号:TP311  文献标识码:A  文章编号:1009-3044(201
摘要:目的:使用Geant4软件对加速器机房进行防护设计。方法:加速器屏蔽墙采用常用的混凝土结构,迷道采用L型结构,以国家标准GBZ/T2012为准则,调试模拟参数,对机房的屏蔽进行模拟计算。结果:模拟计算得到机房屏蔽模型,能够保护放射工作人员安全和满足放疗使用的需要。  关键词:辐射屏蔽;Geant4  中图分类号:R148 文献标识码:A  文章编号:1009-3044(2019)33-001
虚拟现实技术能模拟产生一个三维空间的虚拟世界,给使用者提供视、听、触等感官模拟。基于虚拟现实技术开发的课程资源(Curriculum Wisdom)具备直观、可操控、可进化、易分享
摘要:软件测试是计算机学科的重要课程。传统的授课方法理论教学逻辑清楚,理论突出,但是实践知识教学薄弱。建构主义学习理论强调学生通过实践构建新的知识。案例教学是基于建构主义教学理论的教学方法。基于案例的软件测试教学一共分为情景构建、案例提出、案例分析、案例总结与评价四个部分。该方法让学生通过原有知识和在案例中的积累构建新知识,注重实践知识的教学。  关键词:软件测试;建构主义;案例驱动;实践  中图
摘要:探讨了switch分支结构的常见错误,分析了与嵌套、循环结构的综合使用,通过在计算机专业的卓越班和实验班的实践证明,学生的综合编程能力和动手积极性得到进一步提高。  关键词:switch;嵌套;循环;函数重载;教学实践  中图分类号:G642 文献标识码:A  文章编号:1009-3044(2019)35-0157-01  1 概述  在卓越班和实验班等基础较好班级的教学过程中经常遇到学生对
摘要:“数字电子技术基础”是工科偏电气类专业的重要必修课程之一,该课程对提高应用型人才的实践创新能力起着关键作用。应用型本科院校注重的是培养出高技术的应用型人才,而不是学科型、研究型的人才。因此,本文以应用型教育为出发点,结合此课程的传统教学现状、成绩考核方式等方面对“数字电子技术基础”课程的应用型教学改革做出初步探讨。  关键词:数字电子技术;雨课堂;应用型本科院校;教学改革  中图分类号:G6