CN109819274B - 数据传输方法、数据处理方法及装置 - Google Patents
数据传输方法、数据处理方法及装置 Download PDFInfo
- Publication number
- CN109819274B CN109819274B CN201910145856.0A CN201910145856A CN109819274B CN 109819274 B CN109819274 B CN 109819274B CN 201910145856 A CN201910145856 A CN 201910145856A CN 109819274 B CN109819274 B CN 109819274B
- Authority
- CN
- China
- Prior art keywords
- data
- request
- packet
- data packet
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及了一种数据传输方法、数据处理方法及装置,所述数据传输在请求响应方与请求发起方之间进行,所述数据传输方法由所述请求响应方执行,所述数据传输方法包括:所述请求响应方接收所述请求发起方发起的数据传输请求;响应于所述数据传输请求,获取待传输数据和设定分隔数据;根据所述设定分隔数据对所述待传输数据进行数据包头伪装,生成符合指定传输协议的数据包;将符合指定传输协议的所述数据包发送至所述请求发起方。采用本发明提供的数据传输方法、数据处理方法及装置能够提高数据传输效率。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据传输方法、数据处理方法及装置。
背景技术
随着互联网电视产业的发展,兴起一种网络下载p2p服务,该p2p服务通常由请求响应方与请求发起方之间进行数据传输来实现。其中,请求发起方可以是终端,而请求响应方则可以是服务器端,或者区别于该终端的其余终端。
在请求响应方与请求发起方进行数据传输的过程中,请求发起方向请求响应方发起数据传输请求,由请求响应方将符合指定传输协议(例如UDP协议)的数据包返回至请求发起方。
然而,符合指定传输协议的数据包很可能被运营商拦截,导致请求响应方需要重复地发送该数据包至请求发起方,从而造成请求响应方与请求发起方之间数据传输效率较低的问题。
发明内容
基于此,本发明在于提供一种数据传输方法、数据处理方法及装置,用于解决现有技术中数据传输效率较低的问题。
为了解决上述技术问题,本发明所采用的技术方案为:
根据本发明实施例的一个方面,一种数据传输方法,所述数据传输在请求响应方与请求发起方之间进行,所述方法由所述请求响应方执行,所述方法包括:所述请求响应方接收所述请求发起方发起的数据传输请求;响应于所述数据传输请求,获取待传输数据和设定分隔数据;根据所述设定分隔数据对所述待传输数据进行数据包头伪装,生成符合指定传输协议的数据包;将符合指定传输协议的所述数据包发送至所述请求发起方。
根据本发明实施例的另一个方面,一种数据处理方法,所述数据传输在请求响应方与请求发起方之间进行,所述方法由所述请求发起方执行,所述方法包括:所述请求发起方向所述请求响应方发起数据传输请求;接收所述请求响应方响应所述数据传输请求返回的数据包,所述数据包根据设定分隔数据对待传输数据进行数据包头伪装生成,且符合指定传输协议;对接收到的数据包进行所述设定分隔数据的检测;当在所述数据包中检测到所述设定分隔数据,确定所述设定分隔数据在所述数据包中所在位置,将所述数据包中该位置以及该位置之前的数据丢弃。
根据本发明实施例的另一个方面,一种数据传输装置,所述数据传输在请求响应方与请求发起方之间进行,所述装置部署于所述请求响应方,所述装置包括:请求发起模块,用于所述请求响应方接收所述请求发起方发起的数据传输请求;数据获取模块,用于响应于所述数据传输请求,获取待传输数据和设定分隔数据;数据包生成模块,用于根据设定分隔数据对待传输数据进行数据包头伪装,生成符合指定传输协议的数据包;数据包发送模块,用于将符合指定传输协议的数据包发送至所述请求发起方。
根据本发明实施例的另一个方面,一种数据处理装置,所述数据传输在请求响应方与请求发起方之间进行,所述装置部署于所述请求发起方,所述装置包括:请求接收模块,用于所述请求发起方向所述请求响应方发起数据传输请求;数据包接收模块,用于接收所述请求响应方响应所述数据传输请求返回的数据包,所述数据包根据设定分隔数据对待传输数据进行数据包头伪装生成,且符合指定传输协议;数据包检测模块,用于对接收到的数据包进行所述设定分隔数据的检测;数据丢弃模块,用于当在所述数据包中检测到所述设定分隔数据,确定所述设定分隔数据在所述数据包中所在位置,将所述数据包中该位置以及该位置之前的数据丢弃。
根据本发明实施例的另一个方面,一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数据传输方法或者数据处理方法。
根据本发明实施例的另一个方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据传输方法或者数据处理方法。
在上述技术方案中,通过改变数据包的特征,以降低数据包的拦截率,避免重复进行数据包传输,有效地解决了现有技术中数据传输效率较低的问题。
具体地,在请求响应方与请求发起方进行数据传输的过程中,请求响应方接收请求发起方发起的数据传输请求,并响应数据传输请求获取待传输数据和设定分隔数据,以根据设定分隔数据对待传输数据进行数据包头伪装,生成符合指定传输协议的数据包,进而将该数据包发送至请求发起方,由于经过数据包头伪装的数据包改变了特征,使得不了解设定分隔数据的运营商无法拦截该数据包,避免请求响应方向请求发起方重复发送该数据包,从而提高了请求响应方与请求发起方之间数据传输效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种终端的硬件结构框图。
图3是根据一示例性实施例示出的一种服务器端的硬件结构框图。
图4是根据一示例性实施例示出的一种数据传输方法的流程图。
图5是图4对应实施例中步骤350在一个实施例的流程图。
图6是图4对应实施例中步骤350在另一个实施例的流程图。
图7是图4对应实施例中步骤350在另一个实施例的流程图。
图8是图7对应实施例中步骤356在一个实施例的流程图。
图9是根据一示例性实施例示出的另一种数据传输方法的流程图。
图10是根据一示例性实施例示出的一种数据处理方法的流程图。
图11是图10对应实施例中步骤510在一个实施例的流程图。
图12是根据一示例性实施例示出的一种数据传输装置的框图。
图13是根据一示例性实施例示出的一种数据处理装置的框图。
图14是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如前所述,由于符合指定传输协议的数据包很可能被运营商拦截,造成请求响应方与请求发起方之间数据传输效率较低。
具体而言,一方面,终端作为请求发起方,向作为请求响应方的服务器端发起数据传输请求,使得该服务器端接收到该数据传输请求,进而向该终端回复符合指定传输协议的数据包。
如果该数据包被运营商拦截,该服务器端将会重复地向该终端发送该数据包,从而导致该终端与该服务器端之间数据传输效率低。
此外,由于该终端未能接收到该数据包,则无法获取到其余终端的IP数据,进而无法实现与其余终端之间的通信。
另一方面,如果该终端接收到该数据包,便能够基于其余终端的IP数据,将其余终端作为请求响应方而发起数据传输请求,以便于其余终端响应该数据传输请求而返回符合指定传输协议的数据包。
此时,如果运营商拦截了该数据包,则上述终端之间会重复地进行该数据包的传输,而导致上述终端之间数据传输效率较低。
因此,在请求发起方与请求响应方进行数据传输的过程中,仍存在数据传输效率较低的缺陷,本发明特提出了一种数据传输方法,通过改变数据包的特征,能够有效地提高数据传输效率,相应地,数据传输装置部署于请求响应方,该请求响应方可以是服务器端,也可以是终端,用于实现数据传输方法。
请参阅图1,图1为本发明实施例中一种数据传输方法所涉及的实施环境。该实施环境包括终端100和服务器端200(Tracker)。
其中,终端100可以是智能电视、智能手机、台式电脑、平板电脑、掌上电脑、笔记本电脑或者其它具有网络通信功能的电子设备,而服务器端200则是提供后台服务且具有网络通信功能的服务器、或者由多台服务器构成的服务器集群、或者由多台服务器构成的云计算中心。其中,后台服务包括数据传输服务,该数据可以是下载文件。
终端100与服务器端200之间预先建立网络连接,以通过该网络连接实现服务器端200与终端100之间的网络通信功能,即实现终端100与服务器端200之间的数据传输,例如,传输的数据包括数据传输请求、符合指定传输协议的数据包等等。
在互联网电视产业中,随着终端100与服务器端200之间的交互,一方面,终端100可以向服务器端200发起数据传输请求,使得服务器端200回复符合指定传输协议的数据包。
另一方面,如果终端100接收到服务器端200回复的数据包,便能够获知其余终端100的IP数据,进而基于其余终端100的IP数据,向其余终端100发起数据传输请求,以使其余终端100返回符合指定传输协议的数据包。
进一步地,终端100包括终端p2p工具包(SDK)和终端下载工具包(SDK)。其中,终端p2p工具包负责与服务器端200交互、以及与其余终端100中的终端p2p工具包交互。而终端下载工具包则负责将符合指定传输协议的数据包组装成下载文件,以供终端100使用。
由此,通过上述数据传输即实现了网络下载p2p服务。
请参阅图2,图2是根据一示例性实施例示出的一种终端的框图。
需要说明的是,该终端100只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该终端100也不能解释为需要依赖于或者必须具有图2中示出的示例性的终端100中的一个或者多个部件。
如图2所示,终端100包括存储器101、存储控制器103、一个或多个(图2中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。
可以理解,图2所示的结构仅为示意,终端100还可包括比图2中所示更多或更少的组件,或者具有与图2所示不同的组件。图2中所示的各组件可以采用硬件、软件或者其组合来实现。
其中,存储器101可用于存储软件程序以及模块,如本发明示例性实施例中的数据传输方法、数据处理方法及装置对应的软件程序以及模块,处理器105通过运行存储在存储器101内的软件程序,实质为计算机可读指令,从而执行各种功能以及数据处理,即实现上述数据传输方法或者数据处理方法。
存储器101作为资源存储的载体,即存储介质,可以是随机存储介质、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。
外设接口107可以包括至少一有线或无线网络接口,还可以包括至少一串并联转换接口、至少一输入输出接口以及至少一USB接口等等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。
射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。
定位模块111用于获取终端100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。
摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至服务器端。
音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。
触控屏幕117在终端100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使电子设备对该输入操作进行响应。终端100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。
按键模块119包括至少一个按键,用以提供用户向终端100进行输入的接口,用户可以通过按下不同的按键使终端100执行不同的功能。例如,声音调节按键可供用户实现对终端100播放的声音音量的调节。
请参阅图3,图3是根据一示例性实施例示出的一种服务器端的框图。该硬件结构只是一个适用本发明的示例,不能认为是对本发明的使用范围的任何限制,也不能解释为本发明需要依赖于该服务器端200。
该服务器端200可因配置或者性能的不同而产生较大的差异,如图3所示,服务器端200包括:电源210、接口230、至少一存储介质250、以及至少一中央处理器(CPU,CentralProcessing Units)270。
具体地,电源210用于为服务器端200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231,还可以包括至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储介质250作为资源存储的载体,可以是随机存储介质、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。
其中,操作系统251用于管理与控制服务器端200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、MacOS XTM、UnixTM、LinuxTM、FreeBSDTM等。
应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其本质为计算机可读指令,其可以包括至少一模块(图3示未示出),每个模块都可以分别包含有对服务器端200的一系列操作指令。例如,本发明示例性实施例中的数据传输方法、数据处理方法及装置对应的应用程序253。
数据255可以是存储于磁盘中的照片、图片等等。例如,数据255可以是待传输数据、设定分隔数据、随机数据、空数据包等等。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储介质250通信,用于运算与处理存储介质250中的海量数据255。
如上面所详细描述的,适用本发明的服务器端200将通过中央处理器270读取存储介质250中存储的一系列计算机可读指令的形式来实现数据传输方法或者数据处理方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图4,在一示例性实施例中,一种数据传输方法适用于图1所示实施环境中进行数据传输请求响应的终端100或者服务器端200,其中,终端100的硬件结构如图2所示,服务器端200的硬件结构如图3所示。
该种数据传输方法可以由请求响应方执行,可以包括以下步骤:
步骤310,所述请求响应方接收所述请求发起方发起的数据传输请求。
如前所述,请求发起方是终端,那么,数据传输请求,则是用户借助终端向请求响应方请求数据而发起的。
对于请求发起方而言,例如,智能电视,将提供一个请求发起入口,如果用户希望请求响应方执行数据传输服务,便可在该请求发起入口触发相关的操作,以使请求发起方能够检测到该操作,进而向请求响应方发起数据传输请求。
例如,请求发起入口为智能电视所提供的虚拟按键,当用户点击该虚拟按键,智能电视便向请求响应方发起数据传输请求,其中,该点击操作即视为用户在请求发起入口触发的相关操作。
那么,对于请求响应方而言,便可接收到该用户借助请求发起方发起的数据传输请求,以此获知用户请求传输数据,进而在后续为该用户执行数据传输服务。
步骤330,响应于所述数据传输请求,获取待传输数据和设定分隔数据。
首先说明的是,待传输数据是用于请求响应方反馈给请求发起方的。
关于待传输数据的获取,可以是请求响应方响应数据传输请求实时生成的,还可以是预先存储于请求响应方的存储空间,通过数据传输请求的响应,而从该存储空间中读取的。也可以理解为,数据传输请求,实质上指示了请求发起方需要的数据。
可以理解,如果待传输数据仍然按照指定传输协议封装形成数据包,由于指定传输协议的开源性,运营商很容易基于指定传输协议拦截到请求响应方向请求发起方发送的数据包,进而导致请求响应方与请求发起方之间的数据传输失败。
为此,设定分隔数据是用于改变数据包的特征,避免运营商拦截。
在一实施例的实现中,设定分隔数据由若干字节构成,每一个字节包括若干位(bit)。
例如,设定分隔数据包括1个字节,每一个字节包括4位,为1111。
其中,字节的内容可以是随机生成的,也可以是预先设置的,可以根据应用场景的实际需要灵活地设置,在此并未加以限定。此外,字节的个数也可以根据应用场景的实际需要灵活地调整,本实施例也并非对此构成具体限定。
在此补充说明的是,指定传输协议可以是TCP/IP协议,还可以是UDP协议,以此保证请求发起方与请求响应方之间的数据传输得以实现。
步骤350,根据所述设定分隔数据对所述待传输数据进行数据包头伪装,生成符合指定传输协议的数据包。
在获取到待传输数据和设定分隔数据之后,便能够基于设定分隔数据来改变数据包的特征。
具体而言,如图5所示,在一实施例的实现中,步骤350可以包括以下步骤:
步骤351,生成空数据包。
步骤353,将所述设定分隔数据填充至所述空数据包的包头位置。
步骤355,基于所述指定传输协议,将所述待传输数据填充至所述空数据包的数据位置,得到符合所述指定传输协议的所述数据包。
应当理解,对于每一个空数据包而言,需要在该空数据包的包头位置填充数据、以及在该空数据包的数据位置填充数据,方能够生成数据包。
由于数据传输过程中,运营商考虑拦截效率,往往是对传输过程中数据包的包头位置上的数据进行解析,如果解析出的数据符合运营商的拦截规律,该数据包便会被运营商拦截。
基于此,本实施例中,改变数据包的特征,实质是通过伪装数据包头实现的。
也就是说,针对每一个空数据包而言,该空数据包的包头位置不再基于指定传输协议进行数据填充,是将设定分隔数据填充至该包头位置,而该空数据包的数据位置仍基于指定传输协议进行数据填充,也即是将待传输数据填充至该空数据包的相应的数据位置,进而形成符合指定传输协议的数据包。步骤370,将符合指定传输协议的所述数据包发送至所述请求发起方。
在请求响应方生成符合指定传输协议的数据包之后,便会将该数据包发送至请求发起方,此时,请求发起方便可接收到该数据包,从而实现请求发起方与请求响应方之间的数据传输。
通过如上所述的过程,对于无法获知设定分隔数据的运营商而言,则无法解析出该数据包的包头位置上的数据,进而无法拦截该数据包,使得该数据包传输至请求发起方的成功率大大提升,从而有效地提高了请求发起方与请求响应方之间的数据传输效率。
请参阅图6,在一示例性实施例中,步骤350还可以包括以下步骤:
步骤352,获取随机生成的随机数据。
步骤354,将所述随机数据填充至所述空数据包的包头位置,且在所述空数据包的包头位置上所述随机数据位于所述设定分隔数据之前。
本实施例中,针对空数据包的包头位置,还进行了随机数据的填充,以此进一步地增加运营商解析出数据包的包头位置上的数据的难度,进一步有效地提高了请求发起方与请求响应方之间的数据传输效率。
可选地,随机数据可以填充在设定分隔数据之前,还可以填充在设定分隔数据之后。
可以理解,数据传输过程中,很可能受到其他因素的干扰,而产生误码率,也即是,数据包的包头位置上的数据发生了变化。其中,误码率越大,数据包的包头位置上的所有数据发生变化的概率就越大。
为此,较优地,在空数据包的包头位置上,随机数据位于设定分隔数据之前,以此降低数据传输过程中设定分隔数据发生变化的概率,进而充分地保证请求发起方与请求响应方之间数据传输的成功率,有利于提升二者之间的数据传输效率。
其中,随机数据,包括若干字节,每一个字节包括若干位。
例如,随机数据包括k个字节,每一个字节包括4位,k的取值范围为[2,10]。当然,根据应用场景的实际需要,k可以灵活地调整,本实施例并非对此加以限定。
在上述实施例的配合下,通过“随机数据+设定分隔数据”的形式来伪装数据包头,使得运营商拦截数据包的难度进一步加大,避免请求发起方与请求响应方之间数据传输的失败,进一步提升了请求发起方与请求响应方之间的数据传输效率。
请参阅图7,在一示例性实施例中,步骤350还可以包括以下步骤:
步骤356,检测随机生成的随机数据与所述设定分隔数据是否存在冲突。
可以理解,对于请求发起方而言,数据处理,实质是丢弃数据包的包头位置上的数据,仅针对数据包的数据位置上的数据进行。
那么,在进行数据包头伪装之后,为了方便请求发起方对数据包进行数据处理,请求响应方会告知请求发起方设定分隔数据,以使请求发起方正确地查找到数据包的包头位置。
基于此,如果随机数据与设定分隔数据相同,则可能导致请求发起方查找到错误的包头位置,因此,对于请求响应方而言,需要确保随机生成的随机数据与设定分隔数据不存在冲突。
如果随机生成的随机数据与设定分隔数据存在冲突,表示随机数据与设定分隔数据相同,则跳转执行步骤358,即重新进行随机数据的随机生成。
反之,如果随机生成的随机数据与设定分隔数据不存在冲突,表示随机数据与设定分隔数据不相同,则返回执行步骤352,即使用随机生成的随机数据去填充空数据包的包头位置。
步骤358,重新进行所述随机数据的随机生成。
在上述实施例的作用下,通过冲突检测,充分保障了随机数据与设定分隔数据的差异性,进而有利于请求发起方对数据包进行正确的数据处理。
请参阅图8,在一示例性实施例中,步骤356可以包括以下步骤:
步骤3561,确定所述设定分隔数据的字节个数,一个字节包括若干位。
步骤3563,基于所述随机数据的位数,从所述随机数据的第一位开始,由所述随机数据中获取符合所述字节个数的当前待检测数据。
步骤3565,判断所述当前待检测数据是否等于所述设定分隔数据。如果是,则跳转执行步骤3567。反之,如果否,则跳转执行步骤3569。
步骤3567,判定所述随机数据中的所述当前待检测数据与所述设定分隔数据存在冲突。
步骤3569,从所述随机数据的第二位开始重新获取所述当前待检测数据,基于重新获取到的所述当前待检测数据,继续检测所述随机数据与所述设定分隔数据是否存在冲突。
举例来说,假设设定分隔数据包括1个字节,每一个字节包括4位,为1111,也即是,设定分隔数据的字节个数为1。
假设随机数据包括3个字节,每一个字节包括4位,为0000_1011_1111,也即是,随机数据的位数为3×4=12。
那么,从随机数据的第一位0开始,由随机数据中获取符合字节个数1的当前待检测数据为0000。
由于当前待检测数据0000不等于设定分隔数据1111,则从随机数据的第二位0开始,重新获取当前待检测数据为0001,仍不等于设定分隔数据1111,则从随机数据第三位0开始,以此类推。
当从随机数据第七位1开始,重新获取当前待检测数据为1111,此时,当前待检测数据1111与设定分隔数据1111相等,则判定随机数据中的该当前待检测数据与设定分隔数据存在冲突,那么,该随机数据则不能够填充至空数据包的包头位置,而需要重新随机生成。
相应地,在一示例性实施例中,步骤358可以包括以下步骤:
如果所述随机数据中的所述当前待检测数据与所述设定分隔数据存在冲突,则重新随机生成所述当前待检测数据的其中一位。
基于重新随机生成其中一位的所述当前待检测数据,返回执行步骤3565,即所述判断所述当前待检测数据是否等于所述设定分隔数据的步骤。
其中,重新随机生成的当前待检测数据的其中一位,可以是第一位,也可以是最后一位,还可以是中间一位,在此并未加以限定。
仍以上述例子,说明随机数据重新随机生成的过程。
以重新随机生成当前待检测数据的最后一位举例,当检测到随机数据中当前待检测数据1111与设定分隔数据存在冲突,则重新随机生成当前待检测数据1111的最后一位,得到当前待检测数据更新为1110,此时,随机数据更新为0000_1011_1011。
由于当前待检测数据1110与设定分隔数据1111不相等,则从随机数据的第八位1开始,重新获取当前待检测数据为1101,不等于设定分隔数据1111,从随机数据的第九位1开始,重新获取当前待检测数据为1011,仍不等于设定分隔数据1111,此时,随机数据的所有位均完成冲突检测。
因此,经过冲突检测之后,随机数据由0000_1011_1111更新为0000_1011_1011,从而与设定分隔数据不存在冲突,进而方能够填充至空数据包的包头位置。
请参阅图9,在一示例性实施例中,如上所述的方法还可以包括以下步骤:
步骤410,当计时器的时间数值超过设定时间阈值时,重新进行所述设定分隔数据的设置。
其中,所述计时器在所述设定分隔数据初次设置时启动。
步骤430,对所述计时器进行复位。
如前所述,为了方便请求发起方对数据包进行数据处理,请求响应方会告知请求发起方设定分隔数据。可以理解,如果设定分隔数据长期无变化,运营商解析由该设定分隔数据伪装的数据包头的概率将大大增加。
基于此,在设定分隔数据初始设置时,请求响应方将相应地启动计时器,以使计时器开始计时。
当计时器的时间数值超过设定时间阈值时,请求响应方便获知此时应该重新设置设定分隔数据,以降低运营商正确解析数据包头的概率,从而避免运营商拦截数据包。
进一步地,当计时器的时间数值超过设定时间阈值时,计时器会复位,重新开始计时,以便于触发下一次设定分隔数据的重新设置。
通过如上上述的过程,实现了设定分隔数据的周期性调整,大大增加了运营商正确解析数据包头的难度,从而降低了运营商拦截成功率,由此充分保障了请求发起方与请求响应方之间的数据传输概率。
请参阅图10,在一示例性实施例中,一种数据处理方法适用于图1所示实施环境中发起数据传输请求的终端100,该终端100的硬件结构如图2所示。
该种数据传输方法可以由请求发起方执行,可以包括以下步骤:
步骤510,所述请求发起方向所述请求响应方发起数据传输请求。
步骤530,接收所述请求响应方响应所述数据传输请求返回的数据包,所述数据包根据设定分隔数据对待传输数据进行数据包头伪装生成,且符合指定传输协议。
步骤550,对接收到的数据包进行所述设定分隔数据的检测。
步骤570,当在所述数据包中检测到所述设定分隔数据,确定所述设定分隔数据在所述数据包中所在位置,将所述数据包中该位置以及该位置之前的数据丢弃。
举例来说,假设随机数据为p个字节,设定分隔数据为n个字节。
对于请求发起方而言,当检测到n个字节的设定分隔数据,即确定了设定分隔数据在数据中所在位置,也可以理解为,该位置作为数据包的数据包头和数据的分隔界限。
此时,便将p+n个字节丢弃,即丢弃数据包头,而保留分隔界限之后的数据,由此,即完成了数据处理。
通过如上所述的过程,基于设定分隔数据,在避免运营商拦截数据的前提下,请求发起方仍然能够正确地处理数据,同时保障了请求发起方与请求响应方之间的数据传输概率。
请参阅图11,在一示例性实施例中,所述请求发起方为第一终端,所述请求响应方为第二终端。
相应地,步骤510可以包括以下步骤:
步骤511,基于所述第一终端与服务器端之间建立的网络连接,从所述服务器端中获取用于标识第二终端的IP数据。
步骤513,向所述IP数据标识的第二终端发起所述数据传输请求。
也就是说,IP数据,实质指示了请求发起方应该向哪一个第二终端发起数据传输请求。
由此,基于IP数据,作为请求发起方的第一终端方能够实现与第二终端之间的数据传输。
下述为本发明装置实施例,可以用于执行本发明所涉及的数据传输方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的数据传输方法实施例。
请参阅图12,在一示例性实施例中,一种数据传输装置700,所述数据传输在请求响应方与请求发起方之间进行,所述装置700部署于所述请求响应方。
所述装置700包括但不限于:请求发起模块710、数据获取模块730、数据包生成模块750和数据包发送模块770。
其中,请求发起模块710,用于所述请求响应方接收所述请求发起方发起的数据传输请求。
数据获取模块730,用于响应于所述数据传输请求,获取待传输数据和设定分隔数据。
数据包生成模块750,用于根据设定分隔数据对待传输数据进行数据包头伪装,生成符合指定传输协议的数据包。
数据包发送模块770,用于将符合指定传输协议的数据包发送至所述请求发起方。
请参阅图13,在一示例性实施例中,一种数据处理装置900,所述数据传输在请求响应方与请求发起方之间进行,所述装置900部署于所述请求发起方。
所述装置900包括但不限于:请求接收模块910、数据包接收模块930、数据包检测模块950和数据丢弃模块970。
其中,请求接收模块910,用于所述请求发起方向所述请求响应方发起数据传输请求。
数据包接收模块930,用于接收所述请求响应方响应所述数据传输请求返回的数据包,所述数据包根据设定分隔数据对待传输数据进行数据包头伪装生成,且符合指定传输协议。
数据包检测模块950,用于对接收到的数据包进行所述设定分隔数据的检测。
数据丢弃模块970,用于当在所述数据包中检测到所述设定分隔数据,确定所述设定分隔数据在所述数据包中所在位置,将所述数据包中该位置以及该位置之前的数据丢弃。
需要说明的是,上述实施例所提供的数据传输在数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即数据传输装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的数据传输装置与数据传输方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图14,在一示例性实施例中,一种电子设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。
其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。
该计算机可读指令被处理器1001执行时实现上述各实施例中的数据传输方法或者数据处理方法。
在一示例性实施例中,一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的数据传输方法或者数据处理方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (7)
1.一种数据传输方法,其特征在于,所述数据传输在请求响应方与请求发起方之间进行,所述方法由所述请求响应方执行,所述方法包括:
所述请求响应方接收所述请求发起方发起的数据传输请求;
响应于所述数据传输请求,获取待传输数据和设定分隔数据;
向所述请求发起方发送所述设定分隔数据;
生成空数据包;
将所述设定分隔数据填充至所述空数据包的包头位置;
获取随机生成的随机数据;
检测随机生成的随机数据与所述设定分隔数据是否存在冲突;
如果是,则重新进行所述随机数据的随机生成;
将所述随机数据填充至所述空数据包的包头位置,且在所述空数据包的包头位置上所述随机数据位于所述设定分隔数据之前;
基于指定传输协议,将所述待传输数据填充至所述空数据包的数据位置,得到符合所述指定传输协议的所述数据包;
将符合指定传输协议的所述数据包通过运营商设备发送至所述请求发起方,以实现网络下载p2p服务。
2.如权利要求1所述的方法,其特征在于,所述检测随机生成的随机数据与所述设定分隔数据是否存在冲突,包括:
确定所述设定分隔数据的字节个数,一个字节包括若干位;
基于所述随机数据的位数,从所述随机数据的第一位开始,由所述随机数据中获取符合所述字节个数的当前待检测数据;
判断所述当前待检测数据是否等于所述设定分隔数据,如果是,则判定所述随机数据中的所述当前待检测数据与所述设定分隔数据存在冲突;
否则,从所述随机数据的第二位开始重新获取所述当前待检测数据,基于重新获取到的所述当前待检测数据,继续检测所述随机数据与所述设定分隔数据是否存在冲突。
3.如权利要求2所述的方法,其特征在于,所述重新进行所述随机数据的随机生成,包括:
如果所述随机数据中的所述当前待检测数据与所述设定分隔数据存在冲突,则重新随机生成所述当前待检测数据的其中一位;
基于重新随机生成其中一位的所述当前待检测数据,返回执行所述判断所述当前待检测数据是否等于所述设定分隔数据的步骤。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
当计时器的时间数值超过设定时间阈值时,重新进行所述设定分隔数据的设置,所述计时器在所述设定分隔数据初次设置时启动;
对所述计时器进行复位。
5.一种数据处理方法,其特征在于,所述数据传输在请求响应方与请求发起方之间进行,所述方法由所述请求发起方执行,所述方法包括:
所述请求发起方向所述请求响应方发起数据传输请求;
接收所述请求响应方发来的设定分隔数据;
接收所述请求响应方响应所述数据传输请求通过运营商设备返回的数据包,所述数据包根据设定分隔数据对待传输数据进行数据包头伪装生成,且符合指定传输协议,其中,所述数据包的生成过程包括:生成空数据包;将所述设定分隔数据填充至所述空数据包的包头位置;基于所述指定传输协议,将所述待传输数据填充至所述空数据包的数据位置,得到符合所述指定传输协议的所述数据包;所述数据包的生成过程还包括:获取随机生成的随机数据;检测随机生成的随机数据与所述设定分隔数据是否存在冲突;如果是,则重新进行所述随机数据的随机生成;将所述随机数据填充至所述空数据包的包头位置,且在所述空数据包的包头位置上所述随机数据位于所述设定分隔数据之前;
对接收到的数据包进行所述设定分隔数据的检测;
当在所述数据包中检测到所述设定分隔数据,确定所述设定分隔数据在所述数据包中所在位置,将所述数据包中该位置以及该位置之前的数据丢弃,以实现网络下载p2p服务。
6.如权利要求5所述的方法,其特征在于,所述请求发起方为第一终端,所述请求响应方为第二终端;
所述请求发起方向所述请求响应方发起数据传输请求,包括:
基于所述第一终端与服务器端之间建立的网络连接,从所述服务器端中获取用于标识第二终端的IP数据;
向所述IP数据标识的第二终端发起所述数据传输请求。
7.一种数据传输装置,其特征在于,所述数据传输在请求响应方与请求发起方之间进行,所述装置部署于所述请求响应方,所述装置包括:
请求发起模块,用于所述请求响应方接收所述请求发起方发起的数据传输请求;
数据获取模块,用于响应于所述数据传输请求,获取待传输数据和设定分隔数据;以及,向所述请求发起方发送所述设定分隔数据;
数据包生成模块,用于执行以下过程:生成空数据包;将所述设定分隔数据填充至所述空数据包的包头位置;获取随机生成的随机数据;检测随机生成的随机数据与所述设定分隔数据是否存在冲突;如果是,则重新进行所述随机数据的随机生成;将所述随机数据填充至所述空数据包的包头位置,且在所述空数据包的包头位置上所述随机数据位于所述设定分隔数据之前;基于指定传输协议,将所述待传输数据填充至所述空数据包的数据位置,得到符合所述指定传输协议的所述数据包;
数据包发送模块,用于将符合指定传输协议的数据包通过运营商设备发送至所述请求发起方,以实现网络下载p2p服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910145856.0A CN109819274B (zh) | 2019-02-27 | 2019-02-27 | 数据传输方法、数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910145856.0A CN109819274B (zh) | 2019-02-27 | 2019-02-27 | 数据传输方法、数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109819274A CN109819274A (zh) | 2019-05-28 |
CN109819274B true CN109819274B (zh) | 2021-09-14 |
Family
ID=66607657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910145856.0A Active CN109819274B (zh) | 2019-02-27 | 2019-02-27 | 数据传输方法、数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109819274B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7623450B2 (en) * | 2006-03-23 | 2009-11-24 | International Business Machines Corporation | Methods and apparatus for improving security while transmitting a data packet |
CN104079673B (zh) * | 2014-07-30 | 2018-12-07 | 北京奇虎科技有限公司 | 一种应用下载中防止dns劫持的方法、装置和系统 |
CN105978909B (zh) * | 2016-07-08 | 2019-01-22 | 北京炼石网络技术有限公司 | 基于传输层封包的数据传输方法、数据传输装置及系统 |
CN106454814A (zh) * | 2016-11-10 | 2017-02-22 | 中国科学院计算技术研究所 | 一种用于gtp隧道通信的系统与方法 |
CN109040112B (zh) * | 2018-09-04 | 2020-01-03 | 北京明朝万达科技股份有限公司 | 网络控制方法和装置 |
-
2019
- 2019-02-27 CN CN201910145856.0A patent/CN109819274B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109819274A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850402B (zh) | 消息的传输方法和装置 | |
US10574793B2 (en) | Method, apparatus and terminal device for communication protocol compatibility | |
CN106034084B (zh) | 一种数据传输方法及装置 | |
WO2019042171A1 (zh) | 资源配置方法及相关产品 | |
US20150229669A1 (en) | Method and device for detecting distributed denial of service attack | |
KR20210030073A (ko) | 엣지 컴퓨팅 서비스를 위한 방법 및 장치 | |
CN111064713B (zh) | 一种分布式系统中的节点控制方法和相关装置 | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
CN104717186A (zh) | 一种在网络系统中传输数据的方法、装置及数据传输系统 | |
US11500666B2 (en) | Container isolation method and apparatus for netlink resource | |
CN108429739B (zh) | 一种识别蜜罐的方法、系统及终端设备 | |
CN113891396B (zh) | 数据包的处理方法、装置、计算机设备和存储介质 | |
EP4221233A1 (en) | Data download method and apparatus, computer device and storage medium | |
WO2019047708A1 (zh) | 资源配置方法及相关产品 | |
US11706301B2 (en) | Server node selection method and terminal device | |
US9843527B2 (en) | Method for processing data and an electronic device thereof | |
CN111988362B (zh) | 数据的传输方法、装置、终端及存储介质 | |
CN109819274B (zh) | 数据传输方法、数据处理方法及装置 | |
KR20200106317A (ko) | 엣지 컴퓨팅 환경에서 어플리케이션 재배치를 제어하기 위한 장치 및 방법 | |
US20170169239A1 (en) | Method for file synchronization, the receiver equipment and systems | |
CN111092916B (zh) | 文件上传的方法、装置、电子设备及介质 | |
CN111124445B (zh) | 一种家庭网关的升级方法及家庭网关 | |
CN112383617A (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
EP3176986A1 (en) | Method, device and system for remote desktop protocol gateway to conduct routing and switching | |
JP2017528091A (ja) | 通信リンクの送信方法、装置及び端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |