多媒体文件数据传输系统及传输方法与流程

文档序号:13674328阅读:328来源:国知局
技术领域本发明涉及一种在监控终端与服务器之间的多媒体文件数据传输系统及传输方法。

背景技术:
现有的监控终端与通讯服务器之间有多种多媒体文件传输方法,例如监控终端采取UDP(UserDatagramProtocol,用户数据报协议)的方式对多媒体文件进行传输。由于UDP使用底层的互联网协议来传送报文,与IP(InternetProtocol,网络之间互连的协议)一样提供不可靠的无连接数据包传输服务,所以在网络环境较差的时候丢包比较多;同时在进行数据补传的时候需要和通讯服务器进行数据交互,所以需要新增端口进行通讯,而一般监控终端采取的是嵌入式开发,端口资源较少,提高了开发成本和硬件成本。而以TCP(TransmissionControlProtocol传输控制协议)传输的方式进行传输时,虽然TCP是一种面向连接的、可靠的、基于IP的传输层协议,能够保证数据的可靠传输,但其采用“一问一答”的方式进行数据传输,即每次上传一条数据都需要通讯服务器进行应答,这样会导致数据传输效率低下,同时也耗费了较多的流量。

技术实现要素:
本发明要解决的技术问题是克服现有技术中监控终端与服务器通过TCP/IP方式进行多媒体文件数据传输时传输效率低下,耗费流量的缺陷,提供一种多媒体文件数据传输系统及传输方法。本发明是通过下述技术方案解决上述技术问题的:一种多媒体文件数据传输系统,其特点在于,包括一监控终端和一服务器,所述监控终端与所述服务器建立TCP/IP连接,所述监控终端包括一发送模块,所述服务器包括一接收模块;所述发送模块用于向所述服务器发送一传输请求指令;所述接收模块用于在收到所述传输请求指令后创建一多媒体文件,并向所述监控终端发送一传输请求确认指令;所述发送模块还用于在收到所述传输请求确认指令后将多媒体文件数据打包为待发送的数据帧,并在所述数据帧的长度大于一阈值时通过一数据通讯协议将所述数据帧拆分成若干数据包,并通过Socket(套接字,用于描述IP地址和端口,是一个通信链的句柄)接口将数据包连续发送至所述服务器,且在发送完所有数据包后向所述服务器发送一传输结束指令;所述接收模块还用于将接收到的数据包写入所述多媒体文件中,并在收到所述传输结束指令后检查收到的多媒体文件数据是否完整,若完整,则向所述监控终端发送一用于表征数据包接收完整的接收标识指令,若不完整,则向所述监控终端发送一用于表征有缺失的数据块的接收标识指令;所述发送模块还用于解析所述接收标识指令,若所述接收标识指令表征有缺失的数据块,则将缺失的数据块重新打包并通过Socket接口重新连续发送至所述服务器,若所述接收标识指令表征数据包接收完整,则结束多媒体文件数据的传输。在本方案中,发送模块将数据包连续发送至服务器时,是将数据包一个接一个的发送,中间不掺杂其它操作,且无需对发送的每一个数据包请求服务器回复一确认信息帧,而是仅在所有数据包发送完后向服务器发送一传输结束指令,再根据实际情况对服务器端未收到的缺失的数据包重新发送即可,因此,大大减少了在传输过程中服务器端反馈的确认信息帧的数量,从而提高了多媒体文件数据的传输效率,也避免了频繁接收服务器的确认信息帧导致的过多流量的耗费,还确保了多媒体文件数据传输的完整性。较佳地,所述发送模块还用于在所述数据帧的长度小于所述阈值时直接将所述数据帧通过Socket接口发送至所述服务器。较佳地,所述接收标识指令用于在内容为空时表征数据包接收完整、在内容为缺失的数据块标识时表征有缺失的数据块。其中,对缺失的数据块用相应的数据块标识来做标记,以便监控终端对相应的缺失的数据块进行打包。较佳地,所述发送模块以无时间间隔的方式将数据包连续发送至所述服务器。本发明还提供一种多媒体文件数据传输方法,其特点在于,其利用如上述的多媒体文件数据传输系统实现,包括以下步骤:S1、所述发送模块向所述服务器发送一传输请求指令;S2、所述接收模块在收到所述传输请求指令后创建一多媒体文件,并向所述监控终端发送一传输请求确认指令;S3、所述发送模块在收到所述传输请求确认指令后将多媒体文件数据打包为待发送的数据帧,并在所述数据帧的长度大于一阈值时通过一数据通讯协议将所述数据帧拆分成若干数据包,并通过Socket接口将数据包连续发送至所述服务器,且在发送完所有数据包后向所述服务器发送一传输结束指令;S4、所述接收模块将接收到的数据包写入所述多媒体文件中,并在收到所述传输结束指令后检查收到的多媒体文件数据是否完整,若完整,则向所述监控终端发送一用于表征数据包接收完整的接收标识指令,若不完整,则向所述监控终端发送一用于表征有缺失的数据块的接收标识指令;S5、所述发送模块解析所述接收标识指令,若所述接收标识指令表征有缺失的数据块,则将缺失的数据块重新打包并通过Socket接口重新连续发送至所述服务器,若所述接收标识指令表征数据包接收完整,则结束多媒体文件数据的传输。较佳地,步骤S3中所述发送模块在所述数据帧的长度小于所述阈值时直接将所述数据帧通过Socket接口发送至所述服务器。较佳地,所述接收标识指令的内容为空时表征数据包接收完整、在内容为缺失的数据块标识时表征有缺失的数据块。较佳地,步骤S3中所述发送模块以无时间间隔的方式将数据包连续发送至所述服务器。本发明的积极进步效果在于:本发明的监控终端在发送多个数据包时,无需请求服务器对每一数据包的发送都回复一确认信息帧,因此,大大减少了在传输过程中服务器端反馈的确认信息帧的数量,提高了多媒体文件数据的传输效率,也避免了频繁接收服务器的确认信息帧导致的过多流量的耗费,还确保了多媒体文件数据传输的完整性。附图说明图1为本发明实施例1的多媒体文件数据传输系统的结构示意图。图2为本发明实施例2的多媒体文件数据传输方法的流程图。图3为本发明实施例2的多媒体文件数据传输方法中监控终端执行过程的流程图。图4为本发明实施例2的多媒体文件数据传输方法中服务器执行过程的流程图。具体实施方式下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。实施例1本实施例提供一种多媒体文件数据传输系统,如图1所示,包括一监控终端1和一服务器2,所述监控终端与所述服务器建立TCP/IP连接,所述监控终端包括一发送模块10,所述服务器包括一接收模块20。所述发送模块10用于向所述服务器发送一传输请求指令。所述接收模块20用于在收到所述传输请求指令后创建一多媒体文件,并向所述监控终端发送一传输请求确认指令。所述发送模块10还用于在收到所述传输请求确认指令后将多媒体文件数据打包为待发送的数据帧,并在所述数据帧的长度大于一阈值时通过一数据通讯协议将所述数据帧拆分成若干数据包,并通过Socket接口将数据包连续发送至所述服务器2,且在发送完所有数据包后向所述服务器2发送一传输结束指令。而数据帧的长度小于所述阈值时是不用拆分成多个数据包的,是可以直接发送的,发送模块连续发送数据包时是采用无时间间隔的方式进行连续发送数据包的。所述接收模块20还用于将接收到的数据包写入所述多媒体文件中,并在收到所述传输结束指令后检查收到的多媒体文件数据是否完整,若完整,则向所述监控终端发送一用于表征数据包接收完整的接收标识指令,若不完整,则向所述监控终端发送一用于表征有缺失的数据块的接收标识指令。具体地,接收标识指令的内容为空时表征数据包接收完整、在内容为缺失的数据块标识时表征数据包接收不完整,即有缺失的数据块。所述发送模块10还用于解析所述接收标识指令,若所述接收标识指令表征有缺失的数据块,则将缺失的数据块重新打包并通过Socket接口重新连续发送至所述服务器,若所述接收标识指令表征数据包接收完整,则结束多媒体文件数据的传输。本实施例的监控终端在发送多个数据包时,无需请求服务器对每一数据包的发送都回复一确认信息帧,大大减少了在传输过程中服务器端反馈的确认信息帧的数量,提高了多媒体文件数据的传输效率。实施例2本实施提供一种多媒体文件数据传输方法,其利用实施例1所述的所述的多媒体文件数据传输系统实现,如图2所示,包括以下步骤:步骤101、所述发送模块向所述服务器发送一传输请求指令;其中,发送模块先获取多媒体文件数据,可通过监控终端的摄像头获取图片,以传输图片数据。而传输请求指令中包括一校验消息,该校验信息供服务器端验证收到的传输请求指令的内容是否正确,在请求指令的内容正确时才会建立多媒体文件,且在数据库中建立多媒体文件数据传输记录,不正确时会反馈给监控终端一表征传输请求指令错误的指令。步骤102、所述接收模块在收到所述传输请求指令后创建一多媒体文件,并向所述监控终端发送一传输请求确认指令;其中,多媒体文件用于存放监控终端发送的多媒体文件数据,而传输请求确认指令指服务器端已经收到传输请求指令,等待监控终端上传多媒体文件数据。步骤103、所述发送模块在收到所述传输请求确认指令后将多媒体文件数据打包为待发送的数据帧,并在所述数据帧的长度大于一阈值时通过一数据通讯协议将所述数据帧拆分成若干数据包,并通过Socket接口将数据包连续发送至所述服务器,且在发送完所有数据包后向所述服务器发送一传输结束指令;其中,监控终端将数据帧的长度大于所述阈值时将多媒体文件数据分解成多个二进制数据包的形式依次连续不间断的发送,而数据帧的长度小于所述阈值时是不用拆分成多个数据包的,因此是可以直接将所述数据帧通过Socket接口发送至所述服务器的。而数据帧中添加了数据校验信息,数据接收方收到数据校验信息后会对整个多媒体文件数据的内容是否正确进行校验,若正确,则会获取相应的数据内容,若不正确,则反馈给监控终端一表征帧数据错误的指令。在发送过程中服务器并不会反馈给监控终端对收到的每一个数据包的确认信息帧。同样,传输结束指令中也包括一校验消息,该校验信息供服务器端验证收到的传输结束指令的内容是否正确,在传输结束指令的内容正确时检查收到的多媒体文件数据是否完整,不正确时会反馈给监控终端一表征传输结束指令错误的指令。步骤104、所述接收模块将接收到的数据包写入所述多媒体文件中,并在收到所述传输结束指令后检查收到的多媒体文件数据是否完整,若完整,则向所述监控终端发送一用于表征数据包接收完整的接收标识指令,若不完整,则向所述监控终端发送一用于表征有缺失的数据块的接收标识指令;其中,是否完整是指:是否收到了所有的数据包。步骤105、所述发送模块解析所述接收标识指令,若所述接收标识指令表征有缺失的数据块,则将缺失的数据块重新打包并通过Socket接口重新连续发送至所述服务器,若所述接收标识指令表征数据包接收完整,则结束多媒体文件数据的传输。假设接收标识指令的内容为缺失的数据块标识,则会对缺失的数据块进行重新发送,也即发送模块将缺失的数据块进行重新打包,将缺失的数据包连续发送至服务器,并在所有缺失的数据包传输结束时向服务器端发送一传输结束指令,服务器端检查收到的后来重新发送的缺失的数据包是否完整,若是完整,则说明整个多媒体文件数据已传输完成,因此会向监控终端发送一内容为空的接收标识指令,并修改数据库记录中的接收标志,从而结束多媒体文件数据的传输,若不完整,则会继续通知监控终端对缺失的数据块进行打包重新发送,直到服务器收到完整的多媒体文件数据。对于单独的监控终端执行相应操作的流程图可如图3所示,而对于单独的服务器执行相应操作的流程图可如图4所示。可见,重新发送数据包的过程是直到完整的多媒体文件数据传输完成时才会结束。相对于现有的“一问一答”的数据传输方式而言,本实施例大大减少了在传输过程中服务器端反馈的确认信息帧的数量,提高了多媒体文件数据的传输效率,也避免了频繁接收服务器的确认信息帧导致的过多流量的耗费,还确保了多媒体文件数据传输的完整性。虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1