一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用层数据传输方法、装置、设备及介质与流程

2022-07-23 04:24:36 来源:中国专利 TAG:


1.本发明涉及网络数据传输技术领域,尤其涉及应用层数据传输方法、装置、设备及介质。


背景技术:

2.随着科学技术的快速发展,车联网领域对车载终端与云端之间信息交互结果的获取速率有了更高的要求。
3.现有技术中,通常采用“请求-》应答”的方式实现车载终端与云端的信息交互,以确保云端能够及时、准确地接收到车载终端发送的消息,同时,云端会在接收到消息后回复确认标志(ack,acknowledgement)以判别当次消息发送是否成功。
4.然而,若使用现有技术中的方法,需要车载终端和云端专门实现一套ack应答机制,通常,车载终端平均每10秒就需要向云端上传一次车况信息,综合考虑全国接入同一云端平台的终端数量,云端每10秒就需要回复几十万,甚至上百万条ack,对云端的负载造成严重压力;然而,如果为了降低云端负载压力,取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的情况,从而无法采取相应的异常处理措施,最终导致上传消息丢失等问题。因此,如何在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别,是目前亟待解决的问题。


技术实现要素:

5.本发明提供了一种应用层数据传输方法、装置、设备及介质,可以在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
6.根据本发明的一方面,提供了一种应用层数据传输方法,其特征在于,包括:
7.获取缓冲区状态,若所述缓冲区处于空闲状态,则确定发送队列中上一个目标数据包成功发送到云端;
8.调用设定接口将所述发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列;
9.获取接口调用操作的返回值,根据所述返回值判断所述当前数据包是否成功存入所述缓冲区;
10.若是,将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端;
11.如果发送成功,则将所述缓冲区状态修改为空闲状态,并删除所述重传队列中的所述当前数据包;
12.如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
13.根据本发明的另一方面,提供了一种应用层数据传输装置,该装置包括:
14.状态获取模块,用于获取缓冲区状态,若所述缓冲区处于空闲状态,则确定上一个
目标数据包成功发送到云端;
15.数据缓存模块,用于调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列;
16.缓存状态判断模块,用于获取接口调用操作的返回值,根据所述返回值判断所述当前数据包是否成功存入所述缓冲区;
17.数据传输模块,用于若是,将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端;
18.第一结果模块,用于如果发送成功,则将所述缓冲区状态设置为空闲状态,并删除所述重传队列中的所述当前数据包;
19.第二结果模块,用于如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
20.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
21.至少一个处理器;以及
22.与所述至少一个处理器通信连接的存储器;其中,
23.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的应用层数据传输方法。
24.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的应用层数据传输方法。
25.本发明实施例的技术方案,通过在缓冲区处于空闲状态时,调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至缓冲区,以及将当前数据包备份到重传队列;之后,根据接口调用操作的返回值判断所述当前数据包是否成功存入缓冲区,在当前数据包成功存入缓冲区后,将缓冲区状态修改为占用状态,并通过传输层将缓冲区的当前数据包发送至云端;最后,如果发送成功,则将缓冲区状态修改为空闲状态,并删除重传队列中的所述当前数据包;如果发送失败,则将重传队列中的当前数据包重新存入缓冲区,缓冲区状态维持占用状态,解决了现有技术中ack应答机制对云端负载造成严重压力,以及取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的问题,可以在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
26.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
27.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是根据本发明实施例一提供的一种应用层数据传输方法的流程图;
29.图2a是根据本发明实施例二提供的一种应用层数据传输方法的流程图;
30.图2b是根据本发明实施例二提供的一种优选的应用层数据传输方法的流程图;
31.图3是根据本发明实施例三提供的一种应用层数据传输装置的结构示意图;
32.图4是实现本发明实施例的应用层数据传输方法的电子设备的结构示意图。
具体实施方式
33.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
34.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.随着科学技术的快速发展,车联网领域对车载终端与云端之间信息交互结果的获取速率有了更高的要求。
36.现有的传输控制协议(transmission control protocol,tcp)提供了一种传输层数据的可靠传输方法,具体为:应用层数据通过调用系统接口,将待发送的应用层数据存入socket发送缓冲区;系统内核遵循tcp协议将socket发送缓冲区中数据发送给云端;云端收到数据后回复车载终端一个代表数据接收成功的tcp ack;终端在接收到tcp ack后将已成功发送数据从发送缓冲区中删除;如果终端在设置的超时时间内未收到tcp ack,则重新发送超时未应答数据;如果终端重新发送的数据在达到最大重试次数后仍未收到tcp ack,则丢弃该数据。
37.然而,现有的tcp机制虽然可以保证车载终端发送的消息在传输层的可靠传输,但是,由于应用层无法直接获取到tcp ack,系统也未提供相关接口来通知应用层接收到tcp ack的事件;tcp数据包与应用层数据包不呈一一映射关系,即应用层数据包在tcp层传输时会被拆分成多个tcp数据包,当终端收到tcp ack时无法判断发送成功的tcp数据包对应哪个应用层数据包;并且,tcp协议仅能提供基于tcp连接成功情况下的数据可靠传输方案,而当tcp连接异常时,无法实现传输失败的数据在tcp连接恢复后补发,以保证上传数据不丢失。
38.因此,为解决现有技术中ack应答机制对云端负载造成严重压力,以及取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的问题,本发明实施例提供了一种应用层数据传输方法,可以在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
39.实施例一
40.图1为本发明实施例一提供了一种应用层数据传输方法的流程图,本实施例可适
用于对终端上传消息发送成功或失败进行识别的情况,该方法可以由应用层数据传输装置来执行,该应用层数据传输装置可以采用硬件和/或软件的形式实现,该应用层数据传输装置可配置于电子设备中。如图1所示,该方法包括:
41.s110、获取缓冲区状态,若所述缓冲区处于空闲状态,则确定发送队列中上一个目标数据包成功发送到云端。
42.其中,缓冲区状态可以指表示缓冲区当前存储空间是否空闲的状态,示例性的,缓冲区状态可以为空闲状态,表示当前缓冲区中未存储数据;也可以为占用状态,表示当前缓冲区中已存储数据。目标数据包可以指车载终端发送至云端的数据包。发送队列可以指包含各目标数据包的队列。
43.s120、调用设定接口将所述发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列。
44.其中,设定接口可以指缓冲区中用于传输数据包的接口,示例性的,可以为socket发送接口。当前数据包可以指当前进行传输操作的目标数据包。重传队列可以指对当前数据包进行备份存储的队列。
45.由此,通过在上一个目标数据包成功发送之后,再将当前数据包传输至缓冲区,可以保证每次仅有一个应用层数据包传输至缓冲区,使得当前数据包传输至传输层时不被拆分成多个tcp数据包。
46.s130、获取接口调用操作的返回值,根据所述返回值判断所述当前数据包是否成功存入所述缓冲区。
47.其中,返回值可以指缓冲区根据缓冲区与传输层的连接状态,返回的表示当前数据包是否成功存入缓冲区的状态值。
48.可选的,所述根据所述返回值判断所述当前数据包是否成功存入所述缓冲区,包括:若接口调用操作的返回值为正数,确定所述当前数据包成功存入所述缓冲区;若接口调用操作的返回值为零或负数,确定所述当前数据包未成功存入所述缓冲区。其中返回值为正数可以指发送出的字节数;返回值为零可以指网络断开;返回值为负数可以指其他异常。因此,通过判断返回值是否为正数,即可以判定当前数据包是否成功存入缓冲区,以及时识别出当前数据包未成功存入缓冲区的情况。
49.s140、若是,将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端。
50.具体的,若识别出接口调用操作的返回值为正数,则表明当前数据包已经成功存入述缓冲区,缓冲区已被占用,因此,可以将缓冲区状态修改为占用状态,使得其他目标数据包识别出缓冲区处于占用状态时,可以暂缓进行存入缓冲区的操作。
51.在一个可选的实施方式中,在通过传输层将所述缓冲区的所述当前数据包发送至云端之后,还包括:周期性的获取所述缓冲区状态;若在超时时间内查询到所述缓冲区状态为空闲状态,则确定所述当前数据包发送成功;若在超时时间内查询到所述缓冲区状态持续为占用状态,则确定所述当前数据包发送失败。其中,超时时间可以指对获取缓冲区状态耗费时间进行评估的阈值,例如,可以为单次周期内获取缓冲区状态所耗费时间的倍数,也可以为预先指定的时间。由此,可以保证在超时时间内,若当前数据包未发送成功,仍继续周期性的获取缓冲区状态,将会造成数据包传输过程缓慢的问题,避免了不必要的资源浪
费。
52.s150、如果发送成功,则将所述缓冲区状态修改为空闲状态,并删除所述重传队列中的所述当前数据包。
53.具体的,如果传输层成功将缓冲区的当前数据包发送至云端,则缓冲区中即为空,因此,可以将缓冲区状态修改为空闲状态,使得下一目标数据包进入时及时的获知缓冲区的状态。
54.由此,可以通过缓冲区状态对当前数据包的传输情况进行判定,不需要依赖于ack应答机制,降低了云端的负载压力。
55.s160、如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
56.具体的,如果传输层未成功将缓冲区的当前数据包发送至云端,则缓冲区中即存在当前数据包,因此,可以将重传队列中的当前数据包再次传输至缓冲区中进行后续的操作。
57.本发明实施例的技术方案,通过在缓冲区处于空闲状态时,调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至缓冲区,以及将当前数据包备份到重传队列;之后,根据接口调用操作的返回值判断所述当前数据包是否成功存入缓冲区,在当前数据包成功存入缓冲区后,将缓冲区状态修改为占用状态,并通过传输层将缓冲区的当前数据包发送至云端;最后,如果发送成功,则将缓冲区状态修改为空闲状态,并删除重传队列中的所述当前数据包;如果发送失败,则将重传队列中的当前数据包重新存入缓冲区,缓冲区状态维持占用状态,解决了现有技术中ack应答机制对云端负载造成严重压力,以及取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的问题,可以在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
58.实施例二
59.图2a为本发明实施例二提供的一种应用层数据传输方法的流程图,本实施例以上述实施例为基础进行追加,在本实施例中具体是对将所述缓冲区状态修改为占用状态之前进行追加,具体可以包括:对备份至重传队列中的所述当前数据包的备份时间进行记录;相应的,如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,包括:若所述备份时间超出预设时间,将所述备份队列中的所述当前数据包重新存入所述缓冲区。如图2a所示,该方法包括:
60.s210、获取缓冲区状态,若所述缓冲区处于空闲状态,则确定发送队列中上一个目标数据包成功发送到云端。
61.在一个可选的实施方式中,在获取缓冲区状态之后,还包括:若所述缓冲区处于占用状态,将所述当前数据包存入至补发队列,并周期性的查询所述缓冲区状态直至所述缓冲区处于空闲状态,调用设定接口将所述补发队列中的所述当前数据包发送至所述缓冲区。具体的,若缓冲区处于占用状态,表明上一目标数据包还未发送成功,当前数据包需等待上一目标数据包发送完成后才能进入缓冲区。由此,可以保证每次进入缓冲区的目标数据包的个数仅为一个,使得应用层数据包与传输层数据包可以生成一一对应。
62.s220、调用设定接口将所述发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列。
63.s230、判断接口调用操作的返回值是否为正数;若是,执行s240;若否,执行s280。
64.s240、确定所述当前数据包成功存入所述缓冲区,对备份至重传队列中的所述当前数据包的备份时间进行记录。
65.其中,备份时间可以指当前数据包在重传队列中存放的时间,通过记录备份时间,可以更加直观地对当前数据包的传输状态进行监控。
66.s250、将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端。
67.在一个可选的实施方式中,若接口调用操作的返回值为正数,则确定车载终端与云端的传输层连接正常;若接口调用操作的返回值为零或负数,则确定所述车载终端与云端的传输层连接异常;以及,所述通过传输层将所述缓冲区的所述当前数据包发送至云端,包括:若所述车载终端与云端的传输层连接正常,则生成与所述当前数据包具有一一映射关系的传输层数据包,通过所述传输层将所述传输层数据包发送至云端。其中,由于当前目标数据包若未能成功存入缓冲区中,则默认车载终端与云端的传输层连接异常,因此,接口调用操作的返回值还可以用于可以体现车载终端与云端的传输层连接是否异常,并且,仅当车载终端与云端的传输层连接正常时生成与当前数据包具有一一映射关系的传输层数据包,通过传输层将传输层数据包发送至云端。
68.s260、如果发送成功,则将所述缓冲区状态修改为空闲状态,并删除所述重传队列中的所述当前数据包。
69.s270、若所述备份时间超出预设时间,将所述备份队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
70.其中,预设时间可以指预先设定的用于对备份时间进行评估的阈值时间。具体的,在当前数据包备份至重传队列中之后,即对当前数据包的备份时间进行记录,当备份时间大于预设时间时,即证明当前数据包在预设时间之内并未发送成功,为了减少不必要的资源浪费,将当前数据包重新传入缓冲区中进行再次传输。
71.s280、将所述当前数据包存入至补发队列,并周期性的查询所述缓冲区状态直至所述缓冲区处于空闲状态,调用设定接口将所述补发队列中的所述当前数据包发送至所述缓冲区。
72.具体的,若当前数据包未成功存入缓冲区,可以表明当前tcp连接异常,因此,为了避免当前数据包的求实,需要将当前数据包先存储至补发队列中,并周期性的对缓冲区状态进行查询,直至缓冲区处于空闲状态,将当前数据包发送至缓冲区,以进行后续的数据传输操作。
73.本发明实施例的技术方案,通过在缓冲区处于空闲状态时,调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至缓冲区,以及将当前数据包备份到重传队列;若接口调用操作的返回值为正数,确定当前数据包成功存入缓冲区,对备份至重传队列中的当前数据包的备份时间进行记录,以及,将缓冲区状态修改为占用状态,通过传输层将缓冲区的当前数据包发送至云端,如果发送成功,则将缓冲区状态修改为空闲状态,并删除重传队列中的当前数据包,若备份时间超出预设时间,将备份队列中的当前数据包重新存入缓冲区,缓冲区状态维持占用状态;若接口调用操作的返回值为零或负数,确定当前数据包未成功存入缓冲区,将当前数据包存入至补发队列,并周期性的查询缓冲区状态直至缓
冲区处于空闲状态,调用设定接口将补发队列中的当前数据包发送至缓冲区,解决了现有技术中ack应答机制对云端负载造成严重压力,以及取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的问题,可以在降低云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
74.图2b是根据本发明实施例二提供的一种优选的应用层数据传输方法的流程图。具体的,当车载终端向云端开始进行数据上报时,首先,获取缓冲区状态,若缓冲区处于占用状态,则将当前数据包存入补发队列中,以待缓冲区处于空闲状态时发送至缓冲区中;若缓冲区处于空闲状态,则调用设定接口将当前数据包发送至缓冲区,并判断接口调用操作的返回值是否为正数,若否,则将当前数据包存入补发队列中,以待缓冲区处于空闲状态时发送至缓冲区中;若是,则确定当前数据包成功存入所述缓冲区,缓冲区处于占用状态,将当前数据包备份到重传队列,对备份至重传队列中的当前数据包的备份时间进行记录,并通过传输层将缓冲区的当前数据包发送至云端;周期性的获取缓冲区状态,示例性的,每周期等待时长可以设定为500ms,若在超时时间内查询到缓冲区状态为空闲状态,则确定当前数据包发送成功,删除重传队列中的当前数据包;若备份时间超出预设时间,将备份队列中的当前数据包重新存入缓冲区,缓冲区状态维持占用状态。
75.实施例三
76.图3为本发明实施例三提供的一种应用层数据传输装置的结构示意图。如图3所示,该装置包括:状态获取模块310、数据缓存模块320、缓存状态判断模块330、数据传输模块340、第一结果模块350、第二结果模块360;
77.其中,状态获取模块310,用于获取缓冲区状态,若所述缓冲区处于空闲状态,则确定上一个目标数据包成功发送到云端;
78.数据缓存模块320,用于调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列;
79.缓存状态判断模块330,用于获取接口调用操作的返回值,根据所述返回值判断所述当前数据包是否成功存入所述缓冲区;
80.数据传输模块340,用于若是,将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端;
81.第一结果模块350,用于如果发送成功,则将所述缓冲区状态设置为空闲状态,并删除所述重传队列中的所述当前数据包;
82.第二结果模块360,用于如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
83.本发明实施例的技术方案,通过在缓冲区处于空闲状态时,调用设定接口将发送队列中下一个目标数据包作为当前数据包发送至缓冲区,以及将当前数据包备份到重传队列;之后,根据接口调用操作的返回值判断所述当前数据包是否成功存入缓冲区,在当前数据包成功存入缓冲区后,将缓冲区状态修改为占用状态,并通过传输层将缓冲区的当前数据包发送至云端;最后,如果发送成功,则将缓冲区状态修改为空闲状态,并删除重传队列中的所述当前数据包;如果发送失败,则将重传队列中的当前数据包重新存入缓冲区,缓冲区状态维持占用状态,解决了现有技术中ack应答机制对云端负载造成严重压力,以及取消对周期性上传消息的ack应答机制,又会使终端无法识别消息上传失败的问题,可以在降低
云端负载压力的情况下,及时有效地对终端上传消息发送成功或失败的情况进行识别。
84.可选的,应用层数据传输装置还可以包括第一时间记录模块,用于在将所述缓冲区状态修改为占用状态之前,对备份至重传队列中的所述当前数据包的备份时间进行记录;
85.相应的,第二结果模块360具体可以用于,若所述备份时间超出预设时间,将所述备份队列中的所述当前数据包重新存入所述缓冲区。
86.可选的,缓存状态判断模块330具体可以用于,若接口调用操作的返回值为正数,确定所述当前数据包成功存入所述缓冲区;若接口调用操作的返回值为零或负数,确定所述当前数据包未成功存入所述缓冲区。
87.可选的,应用层数据传输装置还可以包括连接状态判断模块,用于若接口调用操作的返回值为正数,则确定车载终端与云端的传输层连接正常;若接口调用操作的返回值为零或负数,则确定所述车载终端与云端的传输层连接异常;
88.以及,数据传输模块340具体可以用于,若所述车载终端与云端的传输层连接正常,则生成与所述当前数据包具有一一映射关系的传输层数据包,通过所述传输层将所述传输层数据包发送至云端。
89.可选的,应用层数据传输装置还可以包括第一补发模块,用于在获取缓冲区状态之后,若所述缓冲区处于占用状态,将所述当前数据包存入至补发队列,并周期性的查询所述缓冲区状态直至所述缓冲区处于空闲状态,调用设定接口将所述补发队列中的所述当前数据包发送至所述缓冲区。
90.可选的,应用层数据传输装置还可以包括第二补发模块,用于在根据所述返回值判断所述当前数据包是否成功存入所述缓冲区之后,若否,将所述当前数据包存入至补发队列,并周期性的查询所述缓冲区状态直至所述缓冲区处于空闲状态,调用设定接口将所述补发队列中的所述当前数据包发送至所述缓冲区。
91.可选的,应用层数据传输装置还可以包括结果判断模块,用于在通过传输层将所述缓冲区的所述当前数据包发送至云端之后,周期性的获取所述缓冲区状态;若在超时时间内查询到所述缓冲区状态为空闲状态,则确定所述当前数据包发送成功;若在超时时间内查询到所述缓冲区状态持续为占用状态,则确定所述当前数据包发送失败。
92.本发明实施例所提供的应用层数据传输装置可执行本发明任意实施例所提供的应用层数据传输方法,具备执行方法相应的功能模块和有益效果。
93.实施例四
94.图4示出了可以用来实施本发明的实施例的电子设备410的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
95.如图4所示,电子设备410包括至少一个处理器420,以及与至少一个处理器420通信连接的存储器,如只读存储器(rom)430、随机访问存储器(ram)440等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器420可以根据存储在只读存储器(rom)
430中的计算机程序或者从存储单元490加载到随机访问存储器(ram)440中的计算机程序,来执行各种适当的动作和处理。在ram 440中,还可存储电子设备410操作所需的各种程序和数据。处理器420、rom 430以及ram440通过总线450彼此相连。输入/输出(i/o)接口460也连接至总线450。
96.电子设备410中的多个部件连接至i/o接口460,包括:输入单元470,例如键盘、鼠标等;输出单元480,例如各种类型的显示器、扬声器等;存储单元490,例如磁盘、光盘等;以及通信单元4100,例如网卡、调制解调器、无线通信收发机等。通信单元4100允许电子设备410通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
97.处理器420可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器420的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器420执行上文所描述的各个方法和处理,例如应用层数据传输方法。
98.该方法包括:
99.获取缓冲区状态,若所述缓冲区处于空闲状态,则确定发送队列中上一个目标数据包成功发送到云端;
100.调用设定接口将所述发送队列中下一个目标数据包作为当前数据包发送至所述缓冲区,并将所述当前数据包备份到重传队列;
101.获取接口调用操作的返回值,根据所述返回值判断所述当前数据包是否成功存入所述缓冲区;
102.若是,将所述缓冲区状态修改为占用状态,通过传输层将所述缓冲区的所述当前数据包发送至云端;
103.如果发送成功,则将所述缓冲区状态修改为空闲状态,并删除所述重传队列中的所述当前数据包;
104.如果发送失败,则将所述重传队列中的所述当前数据包重新存入所述缓冲区,所述缓冲区状态维持占用状态。
105.在一些实施例中,应用层数据传输方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元490。在一些实施例中,计算机程序的部分或者全部可以经由rom 430和/或通信单元4100而被载入和/或安装到电子设备410上。当计算机程序加载到ram 440并由处理器420执行时,可以执行上文描述的应用层数据传输方法的一个或多个步骤。备选地,在其他实施例中,处理器420可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用层数据传输方法。
106.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
107.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
108.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
109.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
110.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
111.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
112.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
113.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献