[发明专利]一种数据传输方法、终端和服务器有效
申请号: | 201480012225.7 | 申请日: | 2014-06-30 |
公开(公告)号: | CN105580334B | 公开(公告)日: | 2018-10-26 |
发明(设计)人: | 申一中;张晓光 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | H04L29/02 | 分类号: | H04L29/02 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝;吴昊 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 终端 服务器 | ||
1.一种数据传输方法,其特征在于,所述方法包括:
当服务器与发送终端和接收终端建立传输控制协议TCP连接时,服务器根据发送终端和接收终端建立的TCP连接分别为发送终端和接收终端生成第一连接描述符和第二连接描述符;
当发送终端需要向接收终端传输数据文件时,服务器根据第一连接描述符接收发送终端通过所述TCP连接传输的文件描述符和接收终端的标识,所述文件描述符由发送终端根据需要传输的数据文件生成;
服务器根据第二连接描述符将所述文件描述符传输至接收终端,以使发送终端和接收终端利用所述文件描述符,通过发送终端和接收终端之间的用户数据协议UDP连接传输数据文件;
其中,服务器根据与发送终端的TCP连接对应的网络套接字和相应的辅助标识生成第一连接描述符;服务器根据与接收终端的TCP连接对应的网络套接字和相应的辅助标识生成第二连接描述符。
2.如权利要求1所述的方法,其特征在于,还包括:
服务器设置用于写入和发送文件描述符的双缓存队列,其中,在同一时刻下,一个缓存队列的状态为写入缓存队列,另一个缓存队列的状态为发送缓存队列;
服务器在当前时刻下,利用转发逻辑处理线程将文件描述符增加至当前的写入缓存队列中,利用IO发送线程将当前的发送缓存队列中对应的文件描述符发送给接收终端。
3.如权利要求2所述的方法,其特征在于,所述服务器根据第一连接描述符接收发送终端通过所述TCP连接传输的文件描述符和接收终端的标识包括:
服务器利用转发逻辑处理线程,根据发送终端上报的接收终端的标识,查找所有与服务器已建立连接的终端,得到接收终端的第二连接描述符;
服务器利用转发逻辑处理线程,根据查找到的接收终端的第二连接描述符和来自发送终端的文件描述符生成数据描述符,所述数据描述符中包括第二连接描述符、连接IP地址、连接端口号、数据起始位置和数据长度;
服务器利用转发逻辑线程将所述数据描述符添加至当前的写入缓存队列中;
服务器执行写入操作时,根据当前的写入缓存队列中的数据描述符将对应的文件描述符写入预分配描述符池中;
其中,所述数据起始位置指示文件描述符和第二连接描述符在预分配描述符池中的起始存储位置,所述数据长度指示文件描述符和第二连接描述符的大小。
4.如权利要求2所述的方法,其特征在于,所述服务器根据第二连接描述符将该文件描述符传输至接收终端包括:
服务器执行传输操作时,利用IO发送线程根据当前的发送缓存队列中的数据描述符将对应的文件描述符从预分配描述符池中提取出来,并根据数据描述符中的第二连接描述符将提取出来的文件描述符发送给接收终端。
5.如权利要求1至4任一项所述的方法,其特征在于,还包括:
服务器调用服务器操作IO控制方法设置所述服务器工作在Linux系统的epoll通信方式下;以及,服务器调用服务器操作IO控制方法通过参数设置开启所述服务器的端口重用功能;并且,通过参数设置将所述服务器的套接字设置为非阻塞模式;以及,通过参数设置禁止所述服务器合并发送数据。
6.一种数据传输的方法,其特征在于,所述方法包括:
当发送终端需要向接收终端传输数据文件时,发送终端根据需要传输的数据文件生成文件描述符,并通过与服务器建立的TCP连接,将所述文件描述符和接收终端的标识传输至服务器,以通过服务器将所述文件描述符传输至接收终端;
发送终端按照文件描述符中描述的文件信息,通过与接收终端之间建立的UDP连接,将所述数据文件传输至接收终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480012225.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种鱼塘生态修复的技术
- 下一篇:环氧乙烷合成乙醇胺的生产方法及设备