网络视频数据转发方案说明_第1页
网络视频数据转发方案说明_第2页
网络视频数据转发方案说明_第3页
网络视频数据转发方案说明_第4页
网络视频数据转发方案说明_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、极路由P2P远程文件访问设计说明作者:李伟修订记录修订日期修订版本部门修订者修改内容2015.12.23V0.1操作系统部李伟初稿1.序言2.1.2.技术调研2.1.背景说明需求说明网络文件传输2.1.1. FTP ..2.HTT P .网络文件系统.2.2.1. NFS2.2.2. CIFS移动终端侧考虑目录2.3.总体设计3.1. 设计思想概述文件传输协议选择软件方案选择P2P流媒体数据传输框架设计..3.3.2.错误!未定义书签。设计思想详述3.2.1. 用户操作及配置说明 3.2.2. 路由器端模块关系图 接口设计Hiwifi APP 与

2、Hiwifi Cloud 的接口的接口 .错误!未定义书签。.摄像头代理与Op4.2.1.取得服务ID.4.2.2.开启服务4.2.3.关闭服务.4.2.4.取得状态.4.2.5.取得错误信息.......2.摄像头代理与Hiwifi APP的接口 , 函数返回值结构体定义事件通知Callback回调函数注册,撤销注册. 开启服务关闭服务日志级别设置日志路径设置状态取得(状态码)状态取得(状态描述)错误取得(错误码)错误取得(错误描述)899

3、9101010111111111111111112124.4.摄像头代理与手机端ffplay的接口1235.系统调试5.1.1252调试方案. 调试功能项12121.序言1.1.背景说明目前市场上常见的个人/家庭网络存储产品和技术有:1. 网络附属存储(NAS)。如群晖NAS,西数个人云等。n ewifi 等。2. 智能路由器存储远程访问。如小米,对于高端的智能路由器,为了成为家庭数据中心,媒体中心,大容量存储器,远程文件共享功能,已然成为标配。极路由目前仅支持本地文件共享功能,需要增加远程文件共享功能,为后续的功能扩展和增值服务打下基础。1.2.需求说明参见:百度云技术调查.xlsx2. 技

4、术调研2.1.文件传输协议2.1.1. FTPFile Transfer Protocol ,文件传输协议。基于TCP。客户服务器系统。2.1.2. HTTP略。2.1.3. BTBitTorrent 协议;基于p2p原理; 一个用户在下载的同时,为其他客户端提供上传;服务器用track程序来管理下载请求; 通过BT种子文件寻址资源。2.1.4. ED2K是一种文件共享网络;分布式;基于P2P原理;通过edzk的链接寻址资源。2.1.5. MAGNET去中心化P2P连接; 通过Mag net links寻址;22网络文件系统相对于文件下载协议,网络文件系统允许客户端直接修改服务端的文件。2.2

5、.1. NFSNFS: Network FileSystem 的缩写;用于在不同机器,不同操作系统之间通过网络互相分享各自的文件;Sun公司开发,主要用于Unix, Linux系统。Nfs软件结构介绍:rp cbind:1. RPC最主要的功能就是在指定每个NFS功能所对应的端口号,并且回应给客户端,使客户可以连接到正确的端口号上。2. 当服务器在启动 NFS时会随机获取数个端口,并主动向RPC注册,因此RPC可以知道 每个端口对应的 NFS功能.fs-utils:rpc.nfsd:最主要的NFS服务器服务提供者。这个daemon主要的功能就是在管理用户端是否能够使用服务器文件系统挂载信息等,

6、也包括登录者ID判断。rpc.mountd:这个daemon主要的功能是管理 NFS文件系统。2.2.2. SMB/CIFSSMB: Server Message Block 。协议名称。CIFS: Com mon In ternet File System。微软操作系统支持的网络文件系统。ISamba是利用封包检查逆向工程发展的SMB协议开源软件,包括服务端和客户端。Samba软件介绍:Nmbd:这个守护进程是用来管理工作群组、NetBIOS name等等的解析。主要利用UDP协议开启port 137, 138来负责名称解析的任务;Smbd:主要功能就是用来管理SAMBA主机分享的目录、文件

7、打印机等等。主要利用可靠的TCP协议来传输资料,开放的埠口为139或445。23断点续传技术TBD,本阶段暂不考虑2.4.远程访问技术 2.4.1.中继连接142.4.2.P2P穿透2.4.3.端口映射2.4.4.DDNS2.5.竞品分析2.5.1.西数个人云S+rviM Stang services »WDMydtHid$ i«.iG8.4g.ns» (ID.gM.DUCfl 仍WOAKGROUPWDhiyCLOUD2280in13944344554820493689£Sh upc&wIhitp阴出A对glj样kilTPr pc bi ndpt

8、flmspfwf, rpcbindriEtbioE-EsnNCTDlOS- S4 甜制 Se>viWhnp4別如HH 牺npWPtl KTTFim轧;I micrDEorft-ds fiM&brpcfhrnvw *afpnf?ri4twDrk«dbi syst«ni rendezvousRedone? Zerili町ufifrd叶创讯即fKj怔材网络传输文件协议:FTP/HTTP网络文件系统:CIFS/NFSP2P技术:端口映射(UPNP自动映射),中继连接。远程访问时支持网络文件系统。2.5.2.小米路由S services S+rvic* SunAAA X

9、IAOMI貝* FD.&4.291B.T6.PFWORKER 0UPAAA-XIADMIZiuoini CDininuhitaniDiii53domain iJ-omBP Name Swvw80hitp139netbioa-aanNTTEDH 5c=snfiSBfV>Df-4451080microsorft-ds SMBrfb 打 De »咔319904662stun-plcisenSTUH Priori tri port 凶0臧舒eOo心刊饥 中詞呵IPogrt7070realserver网络传输文件协议:HTTP/ED2K网络文件系统:CIFSP2P技术:STUN/

10、 ED2K/中继连接。远程访问时不支持网络文件系统。2.5.3. 联想 newifiS+rvic* ScanNEWIFIb 2D.76*3:M.0T.fC4 services VWDAKfiftOUPNEWinLefkivb尺勺domain n hitp口 u叫$电旳谥驭如讣E口J mterosoft-ds50Q0 UHPIjniwtmI PnP,Fm IntcrnEl Cbtn- Srr-网络传输文件协议:HTTP网络文件系统:无P2P技术:端口映射/中继?远程访问测试失败 远程访问时是否支持网络文件系统未知。26移动终端侧考虑对于路由器存储本地访问,手机APP侧已经支持HTTP文件下载。仍

11、需集成smbelient或nfsclient用于挂载和访问网络文件系统。当前可以使用其他 APP测试网络文件系统访问。3. 总体设计3.1.设计思想概述3.1.1.文件传输方案局域网文件:1.HTTP协议2.CIFS网络文件系统原因:通用,windows系统,linux系统,手机操作系统 andriod/ios均支持。远程文件:1. HTTP协议2. CIFS网络文件系统3. P2P打洞穿透+UDT协议4. P2P中继连接3.1.2.软件框架http!Phtt p clie ntfileserver!2 ! P ;:P :smbserversmb die nt3.2.设计思想详述3.2.1.路

12、由器端模块关系图设计框图如下:J问题:1. 文件下载方式选择:http over udt smb over udt http over cloud2. HTTP 文件下载方式选择: http over udt http over cloud3. 断点续传本阶段暂不考虑使用deviced。4. 接口设计(本章及以下章节请忽略)原则:1. 目前程序暂时仅支持单实例,但接口设计须考虑多实例,便于今后扩展。2. 接口设计尽量考虑支持多种P2P服务。4.1. Hiwifi APP 与 Hiwifi Cloud 的接口由APP侧与Openapi侧确定。4.2.摄像头代理与Op enA PI的接口脚本: 参

13、数: 结果: 返回: 成功 失败4.2.1. 取得服务ID/usr/sb in/camera.sh get_srvidMobile IDsrvid字符串,最多 16个字符。例:/usr/sbin/camera.sh get_srvidMobileID422.开启服务脚本:/usr/sbin/camera.sh start参数 Mobile ID 服务ID 摄像头地址和端口 (端口号可选,默认 554)返回:成功0失败1例:/usr/sbin/camera.sh start MobileID 10011 19:554或 /usr/sbi n/camera.sh star

14、t MobilelD 10011 194.2.3.关闭服务脚本:/usr/sbin/camera.sh stop参数: Mobile ID 服务ID返回值:成功0失败1例:/usr/sbin/camera.sh stop MobleID 1234564.2.4.取得状态脚本:/usr/sbin/camera.sh get_stat参数: Mobile ID 服务ID结果(暂定,后续可能修改或补充):initp2p_n egotiate connect_p eer data_tra nsfer end返回值:成功0失败1 例:/usr/sbin/camera.sh ge

15、t_stat MobleID 1234564.2.5.取得错误信息脚本:/usr/sbin/camera.sh get_err参数: Mobile ID 服务ID结果(暂定,后续可能修改或补充):in ti_error ,server_ not_found,wait_timeout,conn ect_to_ peer_error, sen d_to_ peer_error recv_fr om_p eer_error sen d_to_server_error recv_from_server_error 返回值:成功0 失败1例:/usr/sbin/camera.sh get_err Mob

16、lelD 1234564.3.摄像头代理与 Hiwifi APP的接口详细参见 proxy-cli.h4.3.1.函数返回值对于通过返回函数执行成功或失败的函数:P ROXY_OK函数执行成功PROXY FAIL函数执行失败4.3.2.结构体定义1. 摄像头代理描述符typ edef struct _Proxylde ntifer unsigned char peer_mac6;/* 对端路由器un sig ned char rsv2;charcharP roxyIde ntifer;2. 摄像头代理状态typ edef struct _ProxyStatus int code; /* 状态码

17、 */ char desc32; /* 状态描述 */P roxyStatus;3. 摄像头代理错误/*保留*/svr_n ame16; /* 服务名称 srv_id16; /* 服务 ID */mac */*/4.3.3. 事件通知 Callbackvoid (*P roxyCliCallback)( Proxylde ntifer* id, i nt type, void* para);4.3.4.回调函数注册,撤销注册int p roxy_cli_register_callback (P roxyIde ntifer* id, int type, ProxyCliCallback* cb

18、); int p roxy_cli_ un register_callback (P roxyIde ntifer* id, int typ e);type:当前仅支持 NOTIFY_STA TUS4.3.5.开启服务int p roxy_cli_ open _service(char* mobile_id, un sig ned char p eer_mac, char* srv_ name, char* srv_id);4.3.6.关闭服务int P roxy_cli_close_service(u nsig ned char p eer_mac, char* srv_n ame, char* srv_id);4.3.7.日志级别设置int p roxy_cli_set_loglevel(i nt loglevel); loglevel:定义参见 proxy-cli.h4.3.8.日志路径设置int p roxy_cli_set_log path(char* p ath);4.3.9.状态取得(状态码)int p roxy_cli_get_statcode( Proxylde ntifer* id

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论