Wifi-Direct网络的数据传输方法及系统的制作方法_2

文档序号:9353421阅读:来源:国知局
irect网络的数据传输系统的结构框图。
[0039]图3为本发明实施例2的Wif1-Direct网络的数据传输方法的流程图。
[0040]图4为本发明实施例2的Wif1-Direct网络的数据传输系统的结构框图。
[0041]图5为本发明实施例4的逻辑帧数据结构示意图。
【具体实施方式】
[0042]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]实施例1
[0044]如图1所示,本实施例提供一种Wif1-Direct网络的数据传输方法,其包括以下步骤:
[0045]步骤101、在发送数据大于设定阈值时,数据发送端对第一信息进行数据分片处理以获得多个逻辑帧,并以所述多个逻辑帧构成第一集合,所述第一信息包括所述发送数据,其中设定阈值的具体数值的设定根据实际操作中的经验设定;
[0046]步骤102、数据发送端开启多个发送线程,每一所述发送线程从所述第一集合中选取一个逻辑帧转换为数据帧并发送所述数据帧至数据接收端;
[0047]步骤103、所述数据接收端通过多个接收线程接收发来的数据帧并将各数据帧分别转换为逻辑帧,并将转换后的各逻辑帧存至缓存器中;
[0048]步骤104、所述数据接收端从所述缓存器中逐个选取逻辑帧放至第二集合中,每次选取一个逻辑帧后进行数据组包处理,并从最后一次组包好的数据包中解析出所述发送数据,最后一次组包好的数据包即是所述第一信息。
[0049]而且,由于逻辑帧中包括第一信息的长度,所以能够得知当前接收数据的进度,当第一信息拆分出的所有逻辑帧全部从缓存器中取出放到第二集合中,在进行组包处理后并组包完毕,从而就能够从组包好的数据包中解析出发送数据。
[0050]如图2所示,本实施例还提供了一种Wif1-Direct网络的数据传输系统,其包括数据发送端I和数据接收端2,其中,所述数据发送端I包括分片处理单元11和第一开启单元12,所述数据接收端2包括第一接收单元21、第一转换单元22、存储单元23、选取单元24、组包处理单元25和第一解析单元26。
[0051]下面具体介绍上述各功能模块所具备的功能:
[0052]所述分片处理单元11用于在发送数据大于设定阈值时对第一信息进行数据分片处理以获得多个逻辑帧,并以所述多个逻辑帧构成第一集合,所述第一信息包括所述发送数据。
[0053]所述第一开启单元12用于开启多个发送线程,每一所述发送线程从所述第一集合中选取一个逻辑帧转换为数据帧并发送所述数据帧至数据接收端。
[0054]所述第一接收单元21用于通过多个接收线程接收发来的数据帧,所述第一转换单元22用于将各数据帧分别转换为逻辑帧,所述存储单元23用于将转换后的各逻辑帧存至缓存器中;所述选取单元24用于从所述缓存器中逐个选取逻辑帧放至第二集合中,并所述组包处理单元25用于每次选取一个逻辑帧后进行数据组包处理,并所述第一解析单元26用于从最后一次组包好的数据包中解析出所述发送数据。
[0055]由此,本实施例在发送数据大于设定阈值时采用拆包组包机制和多线程机制来确保数据传输的稳定性,从而在不采用TCP协议传输数据且保证数据传输速度的前提下,通过Wif1-Direct网络实现数据的稳定传输。
[0056]实施例2
[0057]本实施例提供的数据传输方法包括实施例1中的数据传输方法的所有操作,除此之外,在本实施例中,所述第一信息还包括是否需数据接收端发送应答信息,使得数据接收端能够根据数据发送端的需要执行是发送应答信息还是不发送应答信息的操作,这样设置的优点是当当前网络稳定运行时,稳定的网络能够确保数据发送端将信息完整地发送至数据接收端,这样就无需数据接收端发送应答信息至数据发送端,从而可减少处理步骤,节约处理时间,提高传输数据速度。例如,当所述第一信息中的是否需数据接收端发送应答信息被置为“ I”时,数据接收端发送应答信息至数据发送端,而当所述第一信息中的是否需数据接收端发送应答信息被置为“O”时,数据接收端不发送应答信息至数据发送端。
[0058]而且本实施例在实施例1的基础上还包括在所述发送数据小于或等于所述设定阈值时的流程,其具体包括以下步骤,如图3所示:
[0059]步骤201、所述数据发送端将所述第一信息转换为数据帧,开启一个发送线程将所述数据帧发送至所述数据接收端;
[0060]步骤202、所述数据接收端通过一个接收线程接收发来的数据帧并转换为逻辑帧,并从所述逻辑帧中解析出所述发送数据;
[0061]步骤203、所述数据接收端发送一应答信息至所述数据发送端,当然,实现此步骤的前提条件是在当所述第一信息中的是否需数据接收端发送应答信息被置为“ I ”。
[0062]此外,在本实施例中,所述数据发送端在开启一个发送线程后,此发送线程若在一时间段内未接收到所述应答信息则重新发送。
[0063]本实施例还提供一种Wif1-Direct网络的数据传输系统,其包括数据发送端和数据接收端。其中,本实施例的数据发送端和数据接收端所包括的功能模块和各功能模块具备的功能不仅对应包括实施例1中的数据发送端和数据接收端所包括的所有功能模块和各功能模块具备的功能,数据发送端和数据接收端还分别包括下列各功能模块,具体参见图4:
[0064]其中,所述数据发送端I还包括第二开启单元13,所述数据接收端2还包括第二接收单元27、第二转换单元28、第二解析单元29和反馈单元30。
[0065]所述第二开启单元13用于在所述发送数据小于或等于所述设定阈值时将所述第一信息转换为数据帧,开启一个发送线程将所述数据帧发送至所述数据接收端。
[0066]所述第二接收单元27用于通过一个接收线程接收发来的数据帧并所述第二转换单元28用于将接收来的数据帧转换为逻辑帧,并所述第二解析单元29用于从所述逻辑帧中解析出所述发送数据。
[0067]所述反馈单元30用于发送一应答信息至所述数据发送端。
[0068]实施例3
[0069]本实施例提供的数据传输方法包括实施例2中的数据传输方法的所有操作,而且在本实施例中,步骤102中的开启多个发送线程操作包括:判断获得的逻辑帧的个数与所述发送线程的个数,若获得的逻辑帧的个数小于所述发送线程的个数,则开启个数与获得的逻辑帧的个数相等的发送线程,否则开启全部发送线程。例如,设第一信息被拆分为3个逻辑帧,数据发送端中具有5个发送线程,则需判断拆分出的逻辑帧的个数与所述发送线程的个数,并判断出拆分出的逻辑帧的个数(3个)小于所述发送线程的个数(5个),则此时仅开启3个发送线程,而无需开启全部发送线程。
[0070]而且在开启全部发送线程后,若所述数据发送端接收到所述应答信息,则空闲的发送线程从所述第一集合中再次选取一个逻辑帧转化为数据帧并进行发送,直至所述第一集合中所有的逻辑帧均被发送。例如,设第一信息被拆分为8个逻辑帧,数据发送端中具有5个发送线程,数据发送端判断出拆分出的逻辑帧的个数(8个)大于所述发送线程的个数(5个),则这5个发送线程全部开启,每一个发送线程从第一逻辑帧集合(包括8个逻辑帧)中选取一个逻辑帧并将取出的逻辑帧转换为数据帧并发送至数据接收端,若某一发送线程在所述时间段(例如5秒)内接收到应答信息,则表明所述发送线程发送的数据帧已发送成功,此时所述发送线程可从第一集合中剩余的3个逻辑帧中再次选取一个逻辑帧进
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1