CN113141409A - 一种数据传输方法、装置、终端设备及可读存储介质 - Google Patents
一种数据传输方法、装置、终端设备及可读存储介质 Download PDFInfo
- Publication number
- CN113141409A CN113141409A CN202110466652.4A CN202110466652A CN113141409A CN 113141409 A CN113141409 A CN 113141409A CN 202110466652 A CN202110466652 A CN 202110466652A CN 113141409 A CN113141409 A CN 113141409A
- Authority
- CN
- China
- Prior art keywords
- data
- protocol data
- protocol
- data packet
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本申请适用于数据传输技术领域,提供了一种数据传输方法、装置、终端设备及可读存储介质,方法包括:在接收到通讯数据时,检测通讯数据的长度;在检测到通讯数据的长度大于或等于预设阈值时,将通讯数据拆分成多个数据包;根据预设协议规则对每个数据包进行转换,得到对应的协议数据包并发送至客户端。通过在检测到通讯数据的长度大于或等于预设阈值时,对通讯数据进行拆分得到多个数据包,根据预设协议规则对每个数据包进行转换,得到多个协议数据包,提高了数据传输的效率和数据的准确度。
Description
技术领域
本申请属于数据传输技术领域,尤其涉及一种数据传输方法、装置、终端设备及可读存储介质。
背景技术
在基于TCP通信协议的数据传输过程中,由于数据量大,数据传输效率较低,且会导致出现数据粘包、数据丢失或出错的情况。
发明内容
本申请实施例提供了一种数据传输方法、装置、终端设备及可读存储介质,可以解决数据传输过程中存在的传输效率较低,出现的数据粘包、数据丢失或出错的问题。
第一方面,本申请实施例提供了一种数据传输方法,应用于服务器,包括:
在接收到通讯数据时,检测所述通讯数据的长度;
在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包;
根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
第二方面,本申请实施例提供了一种数据传输方法,应用于客户端,包括:
在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包;
确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整;
在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包;
在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
第三方面,本申请实施例提供了一种数据传输装置,应用于服务器,包括:
第一检测模块,用于在接收到通讯数据时,检测所述通讯数据的长度;
第二检测模块,用于在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包;
转换模块,用于根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
第四方面,本申请实施例提供了一种数据传输装置,应用于客户端,包括:
接收模块,用于在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包;
确定模块,用于确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整;
第三检测模块,用于在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包;
发送模块,用于在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
第五方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一或二方面中任一项所述的数据传输方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一或二方面中任一项所述的数据传输方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一或二方面中任一项所述的数据传输方法。
本申请实施例与现有技术相比存在的有益效果是:通过在检测到通讯数据的长度大于或等于预设阈值时,对通讯数据进行拆分得到多个数据包,根据预设协议规则对每个数据包进行转换,得到多个协议数据包,提高了数据传输的效率和数据的准确度。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据传输系统的结构示意图;
图2是本申请实施例提供的数据传输方法的流程示意图;
图3是本申请实施例提供的数据传输方法步骤S102的流程示意图;
图4是本申请实施例提供的数据传输方法的另一流程示意图;
图5是本申请实施例提供的数据传输方法步骤S202的流程示意图;
图6是本申请实施例提供的数据传输装置的结构示意图;
图7是本申请实施例提供的数据传输装置的另一结构示意图;
图8是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在基于TCP通信协议的数据传输过程中,由于需要传输的数据量大,数据的传输效率较低,且会出现数据粘包、数据丢失或出错的情况,影响了数据的准确度和处理效率。针对这一问题,本申请提出了一种数据传输方法、数据传输装置、终端设备及计算机可读存储介质,可在检测到通讯数据的长度大于或等于预设阈值时,对通讯数据进行拆分得到多个数据包,根据预设协议规则对每个数据包进行转换,得到多个协议数据包;以及在接收到数据包时,检测数据包是否满足预设协议规则;确定满足预设协议规则的协议数据包的标识,基于校验通过的且通讯数据完整的,多个具有相同标识的协议数据包,来确定目标数据包,并将目标数据包发送至目标终端,提高数据的传输效率和数据的精度。
为实现本申请所提出的技术方案,可先构建一数据传输系统。请参阅图1,该数据传输系统由一个服务器、一个客户端、两个目标终端(分别为目标终端a和目标终端b)构成,为使得数据传输过程更简单、高效,设定在服务器和客户端中分别设定一个中间协议层,中间协议层支持预设协议规则(预先设定的基于TCP通信协议的基础上进行再封装的应用层协议);目标终端a、服务器、客户端和目标终端b依次通信连接。
其中,服务器用于接收目标终端a发送的通讯数据,通过服务器中的中间协议层获取通讯数据的长度,在检测到通讯数据的长度大于或等于预设阈值时,将通讯数据拆分成多个数据包,根据预设协议规则将每个数据包转换成对应的协议数据包并发送至客户端;客户端在接收到多个数据包时,通过客户端中的中间协议层确定每个协议数据包的标识,在检测到具有相同标识的协议数据包的通讯数据完整时,将具有相同标识的协议数据包中的通讯数据组成目标数据包并进行校验,将校验通过的目标数据包发送至目标终端。通过中间协议层对数据包进行拆分或重组,并对数据进行校验,提高了数据的传输效率和数据的精度。
本申请实施例提供的数据传输方法可以应用于手机、平板电脑、笔记本电脑、服务器、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图2示出了本申请提供的数据传输方法的示意性流程图,作为示例而非限定,该方法可以应用于上述服务器中。
S101、在接收到通讯数据时,检测所述通讯数据的长度。
具体地,在接收到通讯数据时,检测通讯数据的长度。其中,通讯数据的长度通常以字节(byte)为单位。
S102、在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包。
具体地,在检测到通讯数据的长度大于或等于预设阈值时,判定通讯数据量过大,需要对通讯数据进行拆分,否则容易在数据传输过程中发生数据粘包(具体指TCP传输过程中以数据流传输,导致出现的前后两条(或多条)数据连接在一起或者被截断的情况)、数据丢失或出错等问题,因此设定通过对通讯数据进行拆分,得到多个协议数据包,以数据包的形式对通讯数据进行传输。其中,预设阈值可根据实际需求进行具体设定。例如,在一般情况下,通讯数据的长度大于8192字节时,判定通讯数据量过大,对应的设定预设阈值为8192btye。
具体地,通讯数据的拆分方法可根据实际需求进行具体设定。在本实施例中,设定数据传输的方式为:将通讯数据拆分成具有预设传输数据长度的多个数据包。
S103、根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
具体地,根据预设协议规则对每个数据包进行转换处理,得到对应的携带有预设协议数据的协议数据包,并将每个协议数据包发送至客户端。
如图3所示,在一个实施例中,步骤S102,包括:
S1021、在检测到所述通讯数据大于或等于预设阈值时,确定预设传输数据长度;
S1022、根据所述预设传输数据长度对所述通讯数据进行拆分,得到多个协议数据包。
具体地,在检测到通讯数据大于或等于预设阈值时,判定通讯数据量过大,确定预先设置的预设传输数据长度,基于预设传输数据长度按照通讯数据的位置顺序,对通讯数据进行拆分,得到多个协议数据包。其中,预设传输长度可根据用户需求进行具体设定,例如,设定预设传输长度为100、200或300。
具体地,预设协议规则具体为将拆分得到的数据包转换成携带预设协议数据的协议数据包,其中,预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,第一协议数据用于表示协议数据包满足预设协议规则,第二协议数据用于表示协议数据包的标识,第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,第四协议数据用于表示协议数据包的数量,第五协议数据用于表示协议数据包中通讯数据的位置,第六协议数据用于表示协议数据包中通信数据的长度,第七协议数据用于表示协议数据包中的通讯数据,第八协议数据用于表示协议数据包的校验和;即除第七协议数据和第八协议数据外,其他六个协议数据为新增的数据且均具有一定的数据长度,对应的,设定数据包的转换方法可表示为:
协议数据包的数量={(通讯数据的长度-第一协议数据长度-第二协议数据长度-第三协议数据长度-第四协议数据长度-第五协议数据长度-第六协议数据长度)/预设传输数据长度}+1。
例如,通讯数据的长度为8192byte,预设传输数据长度为100byte,第一协议数据到第六协议数据的总数据长度为20byte,则协议数据包的数量为{(8192-20)/100}+1=82;即上述82个协议数据包中第1个至第81个协议数据包中,每个协议数据包包含100byte数据,第82个协议数据包包括92byte数据。
在一个实施例中,所述步骤S103,包括:
根据预设协议规则将每个所述数据包转换为携带预设协议数据的协议数据包,并将每个所述协议数据包发送至客户端;其中,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和。
具体地,根据预设协议规则将每个数据包转换为携带预设协议数据的协议数据包,并将每个协议数据包发送至客户端;预设协议数据包括但不限于第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据。
在本实施例中,设定第一协议数据为4字节的头数据(head),位于协议数据包中的起始位置;第二协议数据位于第一协议数据之后,包括4字节的标识(mark);第三协议数据位于第二协议数据之后,包括4字节的标识(mark)相同的所有协议数据包中的通讯数据的总长度(total);第四协议数据位于第三协议数据之后,包括4字节的标识(mark)相同的协议数据包数量(count);第五协议数据位于第四协议数据之后,包括字节的协议数据包序号(no);第六协议数据位于第五协议数据之后,包含2字节的协议数据包长度(length);第七协议数据位于第六协议数据之后,包含的多字节(字节长度即为当前协议数据包中包含的通信数据的长度)的通讯数据(data);第八协议数据位于第七协议数据之后,包含4字节的协议数据包校验和(checksum)。
例如,预设协议规则设定第一协议数据(head)为0001,用于表示当前数据包为满足预设协议规则的协议数据包。则接收到的数据包的第一协议数据为0001,第二协议数据(mark)为0200,第三协议数据(total)为8192;第四协议数据(count)为82,第五协议数据(no)为73,第六协议数据(length)为100时,表示当前数据包为满足预设协议规则的协议数据包,且标识为0200,标识mark为0200的所有协议数据包中的通讯数据的总长度为8192字节,且拆分成了82个数据包,每个协议数据包的长度为100字节,当前协议数据包为82个协议数据包中的第73个协议数据包,对应的,可以获取第七协议数据和第八协议数据,用于在获取到剩余81个标识mark为0200的协议数据包之后进行组合,得到目标协议数据包,并根据所有标识mark为0200的协议数据包的第八协议数据对该目标协议数据包进行校验。
本实施例通过在检测到通讯数据的长度大于或等于预设阈值时,对通讯数据进行拆分得到多个数据包,根据预设协议规则对每个数据包进行转换,得到多个协议数据包,提高了数据传输的效率和数据的准确度。
图4示出了本申请提供的数据传输方法的示意性流程图,作为示例而非限定,该方法可以应用于上述客户端中。
S201、在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包。
具体地,在接收到多个数据包时,首先需要确定接收到的数据包是否当前需要获取的通讯数据,因此首先需要检测每个数据包是否满足预设协议规则。并以检测到满足预设协议规则的数据包作为协议数据包。
在一个实施例中,步骤S201,包括:
在接收到多个数据包时,检测每个数据包是否包含第一协议数据;
在检测到数据包包含第一协议数据时,判定所述数据包满足预设协议规则,并作为协议数据包。
具体地,设定协议数据包携带预设协议数据;其中,预设协议数据中的第一协议数据用于表示当前的数据包满足预设协议规则。因此,在接收到多个数据包时,需要检测每个数据包是否包含第一协议数据,在检测到数据包包含第一协议数据时,判定该数据包满足预设协议规则,作为协议数据包,否则,判定该数据包不满足预设协议规则,并丢弃。
S202、确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整。
具体地,设定预设协议数据中的第二协议数据用于表示协议数据包的标识,第四协议数据用于表示标识(mark)相同的协议数据包数量。因此,需要获取每个协议数据包的第二协议数据来确定每个协议数据包的标识,并通过获取具有相同标识的协议数据包中的第四协议数据,根据当前具有相同标识的协议数据包的数量是否与第四协议数据相同,来确定与该标识对应的协议数据包是否完整。
例如,检测到当前协议数据包中第二协议数据的标识具体为0200,且第四协议数据为82,而当前获得的所有标识为0200的协议数据包的数量为80时,判定标识为0200的协议数据包的通讯数据不完整,需要继续接收剩余的2个标识为0200协议数据包。
S203、在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包。
具体地,在检测到具有相同标识的协议数据包的通讯数据完整时(即具有相同标识的协议数据包的数量和具有该标识的协议数据包中的第二协议数据相同),则将具有相同标识的协议数据包组成目标数据包。
具体地,预设协议数据中的第五协议数据用于表示当前协议数据包中的通讯数据的位置,第六协议数据用于表示当前协议数据包中通讯数据的长度,第七协议数据用于表示当前协议数据包中的通讯数据,第八协议数据用于表示协议数据包的校验和;因此,需要基于具有相同标识的协议数据包中,每个协议数据包中第五协议数据的顺序,将每个协议数据包中的第七协议数据和第八协议数据组合成目标数据包。
例如,标识为0100的协议数据包的数量为3个,位于第五协议数据为1(no.1)的协议数据包的第七协议数据为10101001,校验和为1010,第五协议数据为2(no.2)的协议数据包的第七协议数据为10001101,校验和为1110,第五协议数据为3(no.3)的协议数据包的第七协议数据为11001011,校验和为1011,则目标数据包中的通讯数据为:1010100110001101 11001011;校验和为:1010 1110 1011。
S204、在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
具体地,通过目标数据包中的第八协议数据对目标数据包进行校验,在检测到目标数据包中的第八协议数据与预设的校验数据和相同时,判定目标数据包校验通过,将目标数据包发送至目标终端。
在一个实施例中,所述协议数据包携带预设协议数据,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和。
具体的,各个预设协议数据的位置可参照上述方法步骤S103的具体描述,在此不再赘述。
如图5所示,在一个实施例中,所述步骤S202,包括:
S2021、根据每个所述协议数据包中的第二协议数据,确定每个所述协议数据包的标识;
S2022、根据具有相同标识的协议数据包中的第六协议数据,与具有相同标识的协议数据包的数量是否相同,检测具有相同标识的协议数据包的通讯数据是否完整。
具体地,预设协议规则设定每个协议数据包需携带预设协议数据,其中,预设协议数据中的第二协议数据用于表示协议数据包的标识,因此需要获取每个协议数据包中的第二协议数据,来确定每个协议数据包的标识;并根据具有相同标识的协议数据包中的第六协议数据,判定该标识的协议数据包的数量;在检测到当前接收的具有该标识的协议数据包的数量,与具有该标识的协议数据包的数量相同时,判定该标识的协议数据包中的通讯数据完整,否则,判定该标识的协议数据包中的通讯数据不完整,需继续接收具有该标识的协议数据包。
本实施例通过在接收到数据包时,确定满足预设协议规则的协议数据包的标识,将校验通过的完整的多个协议数据包组成目标数据包并发送至目标终端,提高了数据传输的效率和数据的准确度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据传输方法,图6示出了本申请实施例提供的装置的结构框图,作为示例而非限定,该方法可以应用于服务器中。为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该数据传输装置100,包括:
第一检测模块101,用于在接收到通讯数据时,检测所述通讯数据的长度;
第二检测模块102,用于在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包;
转换模块103,用于根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
在一个实施例中,所述第二检测模块102,包括:
第一确定单元,用于在检测到所述通讯数据大于或等于预设阈值时,确定预设传输数据长度;
处理单元,用于根据所述预设传输数据长度对所述通讯数据进行拆分,得到多个协议数据包。
在一个实施例中,所述转换模块103,包括:
转换单元,用于根据预设协议规则将每个所述数据包转换为携带预设协议数据的协议数据包,并将每个所述协议数据包发送至客户端;其中,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和。
本实施例通过在检测到通讯数据的长度大于或等于预设阈值时,对通讯数据进行拆分得到多个数据包,根据预设协议规则对每个数据包进行转换,得到多个协议数据包,提高了数据传输的效率和数据的准确度。
对应于上文实施例所述的数据传输方法,图7示出了本申请实施例提供的装置的结构框图,作为示例而非限定,该方法可以应用于客户端中。为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该数据传输装置200,包括:
接收模块201,用于在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包;
确定模块202,用于确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整;
第三检测模块203,用于在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包;
发送模块204,用于在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
在一个实施例中,所述协议数据包携带预设协议数据,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和;
所述确定模块202,包括:
第二确定单元,用于根据每个所述协议数据包中的第二协议数据,确定每个所述协议数据包的标识;
第一检测单元,用于根据具有相同标识的协议数据包中的第六协议数据,与具有相同标识的协议数据包的数量是否相同,检测具有相同标识的协议数据包的通讯数据是否完整。
在一个实施例中,所述接收模块201,包括:
第二检测单元,用于在接收到多个数据包时,检测每个数据包是否包含第一协议数据;
判断单元,用于在检测到数据包包含第一协议数据时,判定所述数据包满足预设协议规则,并作为协议数据包。
本实施例通过在接收到数据包时,确定满足预设协议规则的协议数据包的标识,将校验通过的完整的多个协议数据包组成目标数据包并发送至目标终端,提高了数据传输的效率和数据的准确度。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图8为本申请一实施例提供的终端设备的结构示意图。如图8所示,该实施例的终端设备8包括:至少一个处理器80(图8中仅示出一个)、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个数据传输方法实施例中的步骤。
所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的举例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),该处理器80还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81在一些实施例中可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字卡(Secure Digital,SD),闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于服务器,包括:
在接收到通讯数据时,检测所述通讯数据的长度;
在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包;
根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
2.如权利要求1所述的数据传输方法,其特征在于,所述在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包,包括:
在检测到所述通讯数据大于或等于预设阈值时,确定预设传输数据长度;
根据所述预设传输数据长度对所述通讯数据进行拆分,得到多个协议数据包。
3.如权利要求1所述的数据传输方法,其特征在于,所述根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端,包括:
根据预设协议规则将每个所述数据包转换为携带预设协议数据的协议数据包,并将每个所述协议数据包发送至客户端;其中,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和。
4.一种数据传输方法,其特征在于,应用于客户端,包括:
在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包;
确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整;
在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包;
在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
5.如权利要求4所述的数据传输方法,其特征在于,所述协议数据包携带预设协议数据,所述预设协议数据包括第一协议数据、第二协议数据、第三协议数据、第四协议数据、第五协议数据、第六协议数据、第七协议数据和第八协议数据;其中,所述第一协议数据用于表示协议数据包满足预设协议规则,所述第二协议数据用于表示协议数据包的标识,所述第三协议数据用于表示具有相同标识的协议数据包中通讯数据的总长度,所述第四协议数据用于表示协议数据包的数量,所述第五协议数据用于表示协议数据包中通讯数据的位置,所述第六协议数据用于表示协议数据包中通信数据的长度,所述第七协议数据用于表示协议数据包中的通讯数据,所述第八协议数据用于表示协议数据包的校验和;
所述确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整,包括:
根据每个所述协议数据包中的第二协议数据,确定每个所述协议数据包的标识;
根据具有相同标识的协议数据包中的第六协议数据,与具有相同标识的协议数据包的数量是否相同,检测具有相同标识的协议数据包的通讯数据是否完整。
6.如权利要求4所述的数据传输方法,其特征在于,所述在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包,包括:
在接收到多个数据包时,检测每个数据包是否包含第一协议数据;
在检测到数据包包含第一协议数据时,判定所述数据包满足预设协议规则,并作为协议数据包。
7.一种数据传输装置,其特征在于,应用于服务器,包括:
第一检测模块,用于在接收到通讯数据时,检测所述通讯数据的长度;
第二检测模块,用于在检测到所述通讯数据的长度大于或等于预设阈值时,将所述通讯数据拆分成多个数据包;
转换模块,用于根据预设协议规则对每个所述数据包进行转换,得到对应的协议数据包并发送至客户端。
8.一种数据传输装置,其特征在于,应用于客户端,包括:
接收模块,用于在接收到多个数据包时,检测每个数据包是否满足预设协议规则,以满足预设协议规则的数据包作为协议数据包;
确定模块,用于确定每个协议数据包的标识,检测具有相同标识的协议数据包的通讯数据是否完整;
第三检测模块,用于在检测到具有相同标识的协议数据包的通讯数据完整时,根据所述具有相同标识的协议数据包确定目标数据包;
发送模块,用于在检测到所述目标数据包校验通过时,将所述目标数据包发送至目标终端。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3或4至6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3或4至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110466652.4A CN113141409A (zh) | 2021-04-28 | 2021-04-28 | 一种数据传输方法、装置、终端设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110466652.4A CN113141409A (zh) | 2021-04-28 | 2021-04-28 | 一种数据传输方法、装置、终端设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113141409A true CN113141409A (zh) | 2021-07-20 |
Family
ID=76816272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110466652.4A Pending CN113141409A (zh) | 2021-04-28 | 2021-04-28 | 一种数据传输方法、装置、终端设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113141409A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016065786A1 (zh) * | 2014-10-30 | 2016-05-06 | 中国科学院声学研究所 | 一种无协议栈模式下针对tcp的中间人处理方法 |
CN106411560A (zh) * | 2016-06-01 | 2017-02-15 | 深圳市永兴元科技有限公司 | 数据传输方法和装置 |
CN110244604A (zh) * | 2019-05-29 | 2019-09-17 | 北京大豪科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN110995784A (zh) * | 2019-11-05 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 数据传输方法、系统及存储介质 |
CN111083161A (zh) * | 2019-12-27 | 2020-04-28 | 中消云(北京)物联网科技研究院有限公司 | 数据传输的处理方法及装置、物联网设备 |
CN112671771A (zh) * | 2020-12-24 | 2021-04-16 | 上海银基信息安全技术股份有限公司 | 数据传输方法、装置、电子设备及介质 |
-
2021
- 2021-04-28 CN CN202110466652.4A patent/CN113141409A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016065786A1 (zh) * | 2014-10-30 | 2016-05-06 | 中国科学院声学研究所 | 一种无协议栈模式下针对tcp的中间人处理方法 |
CN105635058A (zh) * | 2014-10-30 | 2016-06-01 | 中国科学院声学研究所 | 一种无协议栈模式下针对tcp的中间人处理方法 |
CN106411560A (zh) * | 2016-06-01 | 2017-02-15 | 深圳市永兴元科技有限公司 | 数据传输方法和装置 |
CN110244604A (zh) * | 2019-05-29 | 2019-09-17 | 北京大豪科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN110995784A (zh) * | 2019-11-05 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 数据传输方法、系统及存储介质 |
CN111083161A (zh) * | 2019-12-27 | 2020-04-28 | 中消云(北京)物联网科技研究院有限公司 | 数据传输的处理方法及装置、物联网设备 |
CN112671771A (zh) * | 2020-12-24 | 2021-04-16 | 上海银基信息安全技术股份有限公司 | 数据传输方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363737B (zh) | 一种数据格式转换方法、装置及设备 | |
CN111262876B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN111222306A (zh) | 数据处理方法和装置、电子设备和存储介质 | |
CN111273891A (zh) | 基于规则引擎的业务决策方法、装置及终端设备 | |
CN112732982A (zh) | 一种故障码存储方法、装置、终端设备及可读存储介质 | |
CN114331416A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
CN110008173A (zh) | 一种数据存储的方法及装置 | |
CN110806960A (zh) | 信息处理方法、装置及终端设备 | |
CN111338716A (zh) | 基于规则引擎的数据处理方法、装置及终端设备 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
CN112445769A (zh) | 基于区块链的链上存储方法、装置、终端设备及介质 | |
CN113141409A (zh) | 一种数据传输方法、装置、终端设备及可读存储介质 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN111162792A (zh) | 一种电力负荷数据的压缩方法及装置 | |
CN114402286A (zh) | 一种文件处理方法、文件处理装置及终端设备 | |
CN113162628B (zh) | 一种数据编码方法、数据解码方法、终端和存储介质 | |
CN111258628B (zh) | 一种规则文件比对方法、装置、可读存储介质及终端设备 | |
CN112788078B (zh) | 数据传输方法、接收装置、发送装置和计算机设备 | |
CN110868360B (zh) | 流量统计方法、电子设备、系统及介质 | |
CN114461418A (zh) | 进程间通信方法、装置及电子设备 | |
CN115276889A (zh) | 解码处理方法、装置、计算机设备及存储介质 | |
CN113242473A (zh) | 一种数据处理方法、系统、数据采集设备及可读存储介质 | |
CN110795405A (zh) | 一种分片数据还原方法、终端设备及存储介质 | |
CN110852083A (zh) | 一种短信模板的生成方法及装置 | |
CN112948105B (zh) | 一种梯度传输方法、梯度传输装置及参数服务器 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210720 |
|
RJ01 | Rejection of invention patent application after publication |