本发明专利技术公开一种使网络应用服务器高效、稳定、逻辑清晰、易于维护的基于TCP协议的网络服务器通信模型,其包括物理传输层、逻辑控制层和业务处理层;物理传输层负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送;逻辑控制层负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护;业务处理层负责处理已登录的用户进行的业务操作。
【技术实现步骤摘要】
本专利技术属于网络通信的
,具体涉及到一种基于TCP (TransmissionControl Protocol,传输控制协议)协议的网络服务器通信模型。
技术介绍
目前大多数C/S(Client/Server客户机/服务器)结构的网络应用程序都是基于TCP通信协议来进行网络通信的,通过应用层编程接口 socket进行应用程序的开发。服务器端的实现中关于如何使用socket进行编程的技术手段有很多,比如可以使用专门线程来进行收发网络数据,也可以使用10 (Input/Output,输入/输出)复用技术进行定时查询socket的可读写状态,还有的操作系统甚至支持socket可读写状态的通知机制。通过以上的技术手段我们可以编写一个简单的网络服务器程序,然而要编写高效、稳定、逻辑清晰、易于维护的商用网络服务器程序,仅仅依靠以上的技术手段往往无法实现,还需要一个更高层次的网络通信模型。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供一种使网络应用服务器高效、稳定、逻辑清晰、易于维护的基于TCP协议的网络服务器通信模型。本专利技术的技术解决方案是:这种基于TCP协议的网络服务器通信模型,其包括物理传输层、逻辑控制层和业务处理层;物理传输层负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送;逻辑控制层负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护;业务处理层负责处理已登录的用户进行的业务操作。该模型充分利用了网络编程的技术手段、业务控制逻辑和网络通信协议相结合的方法,使用AOP (Aspect Oriented Programming,面向切面编程)的编程思想分层次处理复杂问题,使每个层次只处理自己关心的数据,以使网络应用服务器高效、稳定、逻辑清晰、易于维护。附图说明图1为根据本专利技术的基于TCP协议的网络服务器通信模型的结构示意图;图2为根据本专利技术的基于TCP协议的网络服务器通信模型的物理传输层的结构示意图;图3为根据本专利技术的基于TCP协议的网络服务器通信模型的逻辑控制层的结构示意图。具体实施例方式如图1所示,这种基于TCP协议的网络服务器通信模型,其包括物理传输层、逻辑控制层和业务处理层;物理传输层负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送;逻辑控制层负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护;业务处理层负责处理已登录的用户进行的业务操作。该模型充分利用了网络编程的技术手段、业务控制逻辑和网络通信协议相结合的方法,使用AOP (Aspect Oriented Programming,面向切面编程)的编程思想分层次处理复杂问题,使每个层次只处理自己关心的数据,以使网络应用服务器高效、稳定、逻辑清晰、易于维护。优选地,物理传输层是基于TCP协议的网络数据接收和应答方法,包括以下步骤:(I)监听网络中连接到服务器上的新连接;(2)为连接进来的客户端创建物理通道结点信息;(3)当有完整的网络数据包到来时通知其他模块;(4)当连接主动断开时通知其他模块;(5)向其他模块提供应答客户端的接口。优选地,逻辑控制层是网络命令包分析和处理方法,包括以下步骤:(I)从权利要求1所述的装置中接收完整网络数据包和连接主动断开通知;(2)分析上述的网络数据包:如果该数据包代表请求用户登录,则验证用户合法后创建用户标识;如果该数据包代表请求用户注销,则删除该用户的用户标识和所有物理通道结点;如果该数据包代表业务数据,可将该数据传递给对应的用户标识对象去处理;(3)提供用户心跳检测,用来检测用户心跳是否超时或用户的物理通道结点数是否为零,如满足上述条件之一,则删除该用户的用户标识和所有物理通道结点。优选地,业务处理层是根据参数数据进行相应业务处理的方法,包括以下步骤:(I)从逻辑控制层中接收业务处理所需的参数数据;(2)根据上述的参数数据处理相应的业务;(3)通过物理传输层的答客户端的接口将上述的业务处理结果反馈给客户端。现在就本专利技术的一个优选实施例进行说明。视频解码服务器接受客户端的登录、打开通道、配置服务器相关参数等操作,并最终把客户端传送来的H.264视频数据进行解码后由显示设备播放出来。该视频解码服务器的网络模块共分为物理传输层、逻辑控制层和业务处理层三个层次。层与层之间相互独立,分别封装成高内聚低偶合的类,使用回调函数的形式在层之间传递信息,如图1所示。物理传输层:负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送,如图2所示。该层的具体实现如下。I)启动服务器的监听socket线程,用来监听网络中连接到服务器上的新连接。2)当有新连接到来时为该连接创建物理通道结点数据结构信息,并为该连接专门开户一个线程。该物理通道结点被封装成一个类,该类的属性包括客户端IP (InternetProtocol,网络之间互连的协议)、客户端端口、套节字ID (Identity,标识号)、线程ID、线程循环变量、数据发送缓冲区等信息。3)在物理通道结点的线程中接收客户端发送来的命令数据和视频流数据。在接收过程中要考虑TCP网络传输的粘包问题。在接收完一个完整的网络数据包后,通过回调函数的方式传递给逻辑控制层。4)当socket连接主动断开时通过回调函数的方式传递给逻辑控制层,并释放相关资源。5)向其他模块提供向客户端发送反馈信息的函数接口。逻辑控制层:负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护,如图3所示。该层的具体实现如下。I)向物理层注册接断网络数据包回调函数、网络连接断开回调函数。这样在有相关事件发生时,对应的回调函数将被调用。2)分析完整网络数据包。根据协议,数据包为一结构体。该结构体包括协议标识、用户标识号、数据包长度、命令号、错误码等信息。如果该数据的命令号代表请求用户登录,则验证用户合法后创建用户标识并把该标识存入一个链表中,该用户标识为一对象指针,该对象的属性包括用户名、登录IP、物理连接列表、最后心跳时间、超时次数等信息。在数据登录成功后,需要在业务处理层做一些初始化操作,所以此时需要通过回调函数通知业务处理层。最后把用户登录的结果信息通过物理传输层提供的函数接口反馈给客户端。如果该数据的命令号代表请求用户注销,则删除该用户的用户标识和所有物理通道结点。在用户注销成功后,需要在业务处理层做一些反初始化操作,所以此时需要通过回调函数通知业务处理层。最后把用户注销的结果信息通过物理传输层提供的函数接口反馈给客户端。如果该数据的命令号代表业务数据,可将该数据传递给对应的用户标识对象去处理。用户标识对象在收到业务数据后,自己能处理的业务自己处理,比如在收到心跳数据后,把新的心跳时间设成最后心跳时间,对于一些自己无法处理的数据,传递给业务处理层去处理,比如打通解码通道、关闭解码通道等操作。最后把业务处理的结果信息通过物理传输层提供的函数接口反馈给客户端。3)开户用户心跳检测线程,来定时检测用户标识对象链表中的用户标识,如果用户标识对象的心跳超时并且超时次数超过指定次数,或用户的物理通道结点是否为零,则删除该用户的用户标识和所有物理通道结点。在这时之所以要要同时判断超时时间和超时次数两个条件,是为了防止由于修改服务器时间而造成误操本文档来自技高网...
【技术保护点】
一种基于TCP协议的网络服务器通信模型,其特征在于:其包括物理传输层、逻辑控制层和业务处理层;物理传输层负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送;逻辑控制层负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护;业务处理层负责处理已登录的用户进行的业务操作。
【技术特征摘要】
1.一种基于TCP协议的网络服务器通信模型,其特征在于:其包括物理传输层、逻辑控制层和业务处理层;物理传输层负责网络通信的TCP连接的建立和终止,完整网络数据包的接收与发送;逻辑控制层负责网络用户登录服务器的逻辑处理和用户的用户登录信息维护;业务处理层负责处理已登录的用户进行的业务操作。2.根据权利要求1所述的基于TCP协议的网络服务器通信模型,其特征在于:物理传输层是基于TCP协议的网络数据接收和应答方法,包括以下步骤: (1)监听网络中连接到服务器上的新连接; (2)为连接进来的客户端创建物理通道结点信息; (3)当有完整的网络数据包到来时通知其他模块; (4)当连接主动断开时通知其他模块; (5)向其他模块提供应答客户端的接口。3.根据权利要求2所述的基于TCP协议的网络服务器通信模型,其特征在于:逻辑控制层是网络命令包分析和处理方法,包...
【专利技术属性】
技术研发人员:程卫双,
申请(专利权)人:北京汉邦高科数字技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。