一种控制数据传输的方法、系统、设备及介质转让专利

申请号 : CN202110621721.4

文献号 : CN113079106B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚娟娟钟南山樊代明

申请人 : 明品云(北京)数据科技有限公司

摘要 :

本发明提供一种控制数据传输的方法、系统、设备及介质,包括:获取在用户端生成的待传输数据和数据通信会话请求;建立用户端与服务器端的通信连接,并确定目标通信链路,根据数据通信会话请求为目标通信链路分配初始流量带宽;对待传输数据进行数据分片,形成对应的数据包,并将数据包传输至服务器端;获取数据包的传输时长,判断传输时长是否位于预设时长范围内,若传输时长不位于预设时长范围内,则对目标通信链路上的初始流量带宽进行动态调整。本发明通过动态调节用户端与服务器端对应的目标通信链路上的流量带宽,在将待传输数据形成数据包后,能够让数据包在目标通信链路上的传输时长保持在预设时长范围内,保证了数据包能够进行稳定传输。

权利要求 :

1.一种控制数据传输的方法,其特征在于,包括以下步骤:获取在用户端生成的待传输数据和数据通信会话请求;

根据所述数据通信会话请求建立所述用户端与服务器端的通信连接,并按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路,以及根据所述数据通信会话请求从目标流量池中为所述目标通信链路分配初始流量带宽;

对所述待传输数据进行数据分片,形成对应的数据包,并按照所述目标通信链路将所述数据包传输至所述服务器端;

获取所述数据包在所述目标通信链路上的传输时长,并判断所述传输时长是否位于预设时长范围内,若所述传输时长不位于预设时长范围内,则对所述目标通信链路上的初始流量带宽进行动态调整,控制所述数据包在所述目标通信链路上的传输时长位于预设时长范围内;

若所述传输时长小于所述预设时长范围内的最小值,则降低所述目标通信链路中的初始流量带宽,并利用降低流量带宽后的通信链路将所述数据包传输至服务器端,控制所述数据包的传输时长位于所述预设时长范围内;

若所述传输时长大于所述预设时长范围内的最大值,则从所述目标流量池的剩余流量带宽中获取部分或全部流量带宽,并将获取的部分或全部流量带宽叠加至所述目标通信链路上形成叠加通信链路,利用所述叠加通信链路将所述数据包传输至服务器端,控制所述数据包在所述叠加通信链路上的传输时长位于所述预设时长范围内。

2.根据权利要求1所述的控制数据传输的方法,其特征在于,生成所述数据通信会话请求的过程包括:

获取在用户端生成的待传输数据;

利用文本识别模型对所述待传输数据进行语义识别,获取所述待传输数据中的字符文本;

从所述字符文本中提取关键词,并根据提取出的关键词确定所述用户端的类型;根据确定出所述用户端类型以及预设的文本通信协议生成数据通信会话请求。

3.根据权利要求1所述的控制数据传输的方法,其特征在于,按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路的过程包括:在所述用户端与所述服务器端建立通信连接后,根据所述用户端与所述服务器端的拓扑网络节点确定能够在所述用户端与所述服务器端进行数据传输的传输路径;

获取每条传输路径的数据误码率,并将数据误码率最小的传输路径所对应的通信链路作为目标通信链路。

4.根据权利要求3所述的控制数据传输的方法,其特征在于,根据所述数据通信会话请求从目标流量池中为所述目标通信链路分配初始流量带宽的过程包括:在所述用户端与所述服务器端建立通信连接,以及生成所述数据通信会话请求后,从网络带宽调度系统中获取所述用户端的限额流量带宽,并将所述用户端的限额流量带宽作为所述用户端的目标流量池;

对能够在所述用户端与所述服务器端进行数据传输的传输路径进行排序,并根据排序后的结果对每条传输路径分配权重;

从所述目标流量池中选择部分流量带宽作为待分配流量带宽,并按照权重比例将所述待分配流量带宽分配至每条传输路径所对应的通信链路上,作为对应通信链路的初始流量带宽。

5.根据权利要求1所述的控制数据传输的方法,其特征在于,若多个用户端在同一时刻均与所述服务器端建立通信连接,则获取每个用户端的数据包在对应的目标通信链路上的传输时长;

按照传输时长大小进行排序,选出传输时长最大的目标通信链路;

在某一用户端的数据包在对应的目标通信链路上的传输时长小于预设时长范围内的最小值时,将所述某一用户端对应的目标通信链路上降低的流量带宽分配至所述多个用户端中传输时长最大的通信链路。

6.根据权利要求1所述的控制数据传输的方法,其特征在于,按照所述目标通信链路将所述数据包传输至所述服务器端的过程中,还包括:获取所述数据包在所述目标通信链路上的传输速率;

根据所述传输速率判断所述数据包在所述目标通信链路上的传输是否发生了网络抖动,并在发生网络抖动后,通过所述服务器端增长或缩短抖动缓存深度来对接收到的数据包进行缓存,降低或解决网络抖动;其中,当所述传输速率低于参考传输速率时,判定所述数据包在所述目标通信链路上的传输发生了网络抖动。

7.一种控制数据传输的系统,其特征在于,包括有:数据采集模块,用于获取在用户端生成的待传输数据和数据通信会话请求;

通信连接模块,用于根据所述数据通信会话请求建立所述用户端与服务器端的通信连接;

流量带宽分配模块,用于按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路,以及根据所述数据通信会话请求从目标流量池中为所述目标通信链路分配初始流量带宽;

数据传输模块,用于对所述待传输数据进行数据分片,形成对应的数据包,并按照所述目标通信链路将所述数据包传输至所述服务器端;

动态控制模块,用于获取所述数据包在所述目标通信链路上的传输时长,并判断所述传输时长是否位于预设时长范围内,若所述传输时长不位于预设时长范围内,则对所述目标通信链路上的初始流量带宽进行动态调整,控制所述数据包在所述目标通信链路上的传输时长位于预设时长范围内;

若所述传输时长小于所述预设时长范围内的最小值,则降低所述目标通信链路中的初始流量带宽,并利用降低流量带宽后的通信链路将所述数据包传输至服务器端,控制所述数据包的传输时长位于所述预设时长范围内;

若所述传输时长大于所述预设时长范围内的最大值,则从所述目标流量池的剩余流量带宽中获取部分或全部流量带宽,并将获取的部分或全部流量带宽叠加至所述目标通信链路上形成叠加通信链路,利用所述叠加通信链路将所述数据包传输至服务器端,控制所述数据包在所述叠加通信链路上的传输时长位于所述预设时长范围内。

8.一种控制数据传输的设备,其特征在于,包括:处理器;和

存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如权利要求1至6中任一所述的方法。

9.一种计算机可读介质,其特征在于,其上存储有指令,所述指令由处理器加载并执行如权利要求1至6中任一所述的方法。

说明书 :

一种控制数据传输的方法、系统、设备及介质

技术领域

[0001] 本发明涉及通信技术领域,特别是涉及一种控制数据传输的方法、系统、设备及介质。

背景技术

[0002] 随着通信技术的发展,通信终端的使用几乎遍布了各个领域。由于某些领域的需求,可能存在多个用户侧的通信终端(简称用户端)连接同一个服务器侧的通信终端(简称
服务器端)的情况。在这种情况下,不同用户端向服务器端传输数据的数量可能存在差异,
例如部分用户端会持续地向服务器端传输数据,而某些用户端是间断地向服务端传输数
据。如果对每一个用户端所对应的通信链路都分配相同的流量带宽,则某些用户端在数据
传输过程中可能存在流量带宽不够使用的情况,导致用户端在向服务器端进行数据传输时
出现网络拥塞;而另外某些用户端由于向服务器端传输的数据量较少,导致其通信链路上
的流量带宽不能得到充分使用。

发明内容

[0003] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种控制数据传输的方法、系统、设备及介质,用于解决现有技术中用户端向服务器端传输数据时出现的网络拥塞
和流量带宽不能得到充分使用的问题。
[0004] 为实现上述目的及其他相关目的,本发明提供一种控制数据传输的方法,包括以下步骤:获取在用户端生成的待传输数据和数据通信会话请求。
[0005] 根据所述数据通信会话请求建立所述用户端与服务器端的通信连接,并按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路,以及根据所述数据通信会话
请求从目标流量池中为所述目标通信链路分配初始流量带宽。
[0006] 对所述待传输数据进行数据分片,形成对应的数据包,并按照所述目标通信链路将所述数据包传输至所述服务器端。
[0007] 获取所述数据包在所述目标通信链路上的传输时长,并判断所述传输时长是否位于预设时长范围内,若所述传输时长不位于预设时长范围内,则对所述目标通信链路上的
初始流量带宽进行动态调整,控制所述数据包在所述目标通信链路上的传输时长位于预设
时长范围内。
[0008] 可选地,若所述传输时长小于所述预设时长范围内的最小值,则降低所述目标通信链路中的初始流量带宽,并利用降低流量带宽后的通信链路将所述数据包传输至服务器
端,控制所述数据包的传输时长位于所述预设时长范围内。
[0009] 若所述传输时长大于所述预设时长范围内的最大值,则从所述目标流量池的剩余流量带宽中获取部分或全部流量带宽,并将获取的部分或全部流量带宽叠加至所述目标通
信链路上形成叠加通信链路,利用所述叠加通信链路将所述数据包传输至服务器端,控制
所述数据包在所述叠加通信链路上的传输时长位于所述预设时长范围内。
[0010] 可选地,生成所述数据通信会话请求的过程包括:获取在用户端生成的待传输数据。
[0011] 利用文本识别模型对所述待传输数据进行语义识别,获取所述待传输数据中的字符文本。
[0012] 从所述字符文本中提取关键词,并根据提取出的关键词确定所述用户端的类型。
[0013] 根据确定出所述用户端类型以及预设的文本通信协议生成数据通信会话请求。
[0014] 可选地,按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路的过程包括:在所述用户端与所述服务器端建立通信连接后,根据所述用户端与所述服务器
端的拓扑网络节点确定能够在所述用户端与所述服务器端进行数据传输的传输路径。
[0015] 获取每条传输路径的数据误码率,并将数据误码率最小的传输路径所对应的通信链路作为目标通信链路。
[0016] 可选地,根据所述数据通信会话请求从目标流量池中为所述目标通信链路分配初始流量带宽的过程包括:在所述用户端与所述服务器端建立通信连接,以及生成所述数据
通信会话请求后,从网络带宽调度系统中获取所述用户端的限额流量带宽,并将所述用户
端的限额流量带宽作为所述用户端的目标流量池。
[0017] 对能够在所述用户端与所述服务器端进行数据传输的传输路径进行排序,并根据排序后的结果对每条传输路径分配权重。
[0018] 从所述目标流量池中选择部分流量带宽作为待分配流量带宽,并按照权重比例将所述待分配流量带宽分配至每条传输路径所对应的通信链路上,作为对应通信链路的初始
流量带宽。
[0019] 可选地,若多个用户端在同一时刻均与所述服务器端建立通信连接,则获取每个用户端的数据包在对应的目标通信链路上的传输时长。
[0020] 按照传输时长大小进行排序,选出传输时长最大的目标通信链路。
[0021] 在某一用户端的数据包在对应的目标通信链路上的传输时长小于预设时长范围内的最小值时,将所述某一用户端对应的目标通信链路上降低的流量带宽分配至所述多个
用户端中传输时长最大的通信链路。
[0022] 可选地,按照所述目标通信链路将所述数据包传输至所述服务器端的过程中,还包括:获取所述数据包在所述目标通信链路上的传输速率。
[0023] 根据所述传输速率判断所述数据包在所述目标通信链路上的传输是否发生了网络抖动,并在发生网络抖动后,通过所述服务器端增长或缩短抖动缓存深度来对接收到的
数据包进行缓存,降低或解决网络抖动;其中,当所述传输速率低于参考传输速率时,判定
所述数据包在所述目标通信链路上的传输发生了网络抖动。
[0024] 本发明还提供一种控制数据传输的系统,包括有:数据采集模块,用于获取在用户端生成的待传输数据和数据通信会话请求。
[0025] 通信连接模块,用于根据所述数据通信会话请求建立所述用户端与服务器端的通信连接。
[0026] 流量带宽分配模块,用于按照建立的通信连接确定所述用户端与所述服务器端的目标通信链路,以及根据所述数据通信会话请求从目标流量池中为所述目标通信链路分配
初始流量带宽。
[0027] 数据传输模块,用于对所述待传输数据进行数据分片,形成对应的数据包,并按照所述目标通信链路将所述数据包传输至所述服务器端。
[0028] 动态控制模块,用于获取所述数据包在所述目标通信链路上的传输时长,并判断所述传输时长是否位于预设时长范围内,若所述传输时长不位于预设时长范围内,则对所
述目标通信链路上的初始流量带宽进行动态调整,控制所述数据包在所述目标通信链路上
的传输时长位于预设时长范围内。
[0029] 本发明还提供一种控制数据传输的设备,包括:处理器;和存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行上述中任意一项方法。
[0030] 本发明还提供一种计算机可读介质,其上存储有指令,所述指令由处理器加载并执行上述中任意一项方法。
[0031] 如上所述,本发明提供一种控制数据传输的方法、系统、设备及介质,具有以下有益效果:本发明首先建立用户端与服务器端的通信连接,然后为目标通信链路分配流量带
宽,在将用户端的待传输数据形成数据包后,通过数据包在目标通信链路上的传输时长与
预设时长范围的比对结果来动态调节目标通信链路上的流量带宽,从而让数据包在目标通
信链路上的传输时长保持在预设时长范围内。本实施例通过对目标通信链路上的流量带宽
进行动态调整后,既不会让数据包在传输过程中出现较快传输,也不会数据包在传输过程
中出现较慢传输,而是让数据包在通信链路上进行稳定传输,所以,本发明能够解决用户端
向服务器端传输数据时出现的网络拥塞问题,以及能够解决流量带宽不能得到充分使用的
问题。

附图说明

[0032] 图1为一实施例提供的控制数据传输的方法流程示意图。
[0033] 图2为另一实施例提供的控制数据传输的方法流程示意图。
[0034] 图3为一实施例提供的控制数据传输的系统的硬件结构示意图。
[0035] 图4为一实施例提供的控制数据传输的设备的硬件结构示意图。

具体实施方式

[0036] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实
施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离
本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施
例中的特征可以相互组合。
[0037] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸
绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也
可能更为复杂。
[0038] 请参阅图1,本发明提供一种控制数据传输的方法,包括以下步骤:S100,获取在用户端生成的待传输数据和数据通信会话请求。
[0039] S200,根据数据通信会话请求建立用户端与服务器端的通信连接,并按照建立的通信连接确定用户端与服务器端的目标通信链路,以及根据数据通信会话请求从目标流量
池中为目标通信链路分配初始流量带宽。
[0040] S300,对待传输数据进行数据分片,形成对应的数据包,并按照目标通信链路将数据包传输至服务器端。
[0041] S400,获取数据包在目标通信链路上的传输时长,并判断传输时长是否位于预设时长范围内,若传输时长不位于预设时长范围内,则对目标通信链路上的初始流量带宽进
行动态调整,控制数据包在目标通信链路上的传输时长位于预设时长范围内。
[0042] 本实施例首先建立用户端与服务器端的通信连接,然后为目标通信链路分配流量带宽,在将用户端的待传输数据形成数据包后,通过数据包在目标通信链路上的传输时长
与预设时长范围的比对结果来动态调节目标通信链路上的流量带宽,从而让数据包在目标
通信链路上的传输时长保持在预设时长范围内。本实施例通过对目标通信链路上的流量带
宽进行动态调整后,既不会让数据包在传输过程中出现较快传输,也不会数据包在传输过
程中出现较慢传输,而是让数据包在通信链路上进行稳定传输,所以,本实施例能够解决用
户端向服务器端传输数据时出现的网络拥塞问题,以及能够解决流量带宽不能得到充分使
用的问题。其中,服务器端具备数据库的存储功能,能够存储所接受到的待传输数据数据。
[0043] 根据上述记载,在一示例性实施例中,若数据包在目标通信链路上的传输时长不位于预设时长范围内,则对目标通信链路上的初始流量带宽进行动态调整的过程包括:若
传输时长小于预设时长范围内的最小值,则降低目标通信链路中的初始流量带宽,并利用
降低流量带宽后的通信链路将数据包传输至服务器端,控制数据包的传输时长位于预设时
长范围内。若传输时长大于预设时长范围内的最大值,则从目标流量池的剩余流量带宽中
获取部分或全部流量带宽,并将获取的部分或全部流量带宽叠加至目标通信链路上形成叠
加通信链路,利用叠加通信链路将数据包传输至服务器端,控制数据包在叠加通信链路上
的传输时长位于预设时长范围内。
[0044] 在本实施例中,如果数据包在目标通信链路上的传输时长小于预设范围内的最小值,则说明在该用户端上生成的待传输数据数量较少,数据包出现了较快传输,同时对应的
通信链路上可能存在闲置的流量带宽。而本实施例一方面通过降低其通信链路上的流量带
宽来降低该通信链路对闲置流量带宽的占用,另一方面控制数据包的传输时长位于预设时
长范围内,从而保证了降低流量带宽后的通信链路仍然能够正常传输在该用户端上生成的
待传输数据,即本实施例可以通过降低通信链路对闲置流量带宽的占用来实现对流量带宽
资源的最大化应用。同时,如果数据包在目标通信链路上的传输时长大于预设范围内的最
大值,则说明对应用户端生成的待传输数据数量较多,数据包出现了较慢传输,即对应的通
信链路上的流量带宽不够其使用,从而在数据包的传输过程中出现了网络拥塞。而本实施
例通过将目标流量池中剩余流量带宽中的部分或全部流量带宽叠加在当前的通信链路上,
可以增大当前通信链路的数据传输能力,相当于缓解了当前通信链路的拥塞情况,从而解
决了在通信链路上进行数据传输时出现的网络拥塞问题。作为示例,如果本实施例中的用
户端是设置在同一医疗机构中不同医疗科室或不同医疗部门中,则本实施例可以将电子病
历作为待传输数据,从而使得本实施例可以解决同一医疗机构中不同医疗科室或不同医疗
部门在传输电子病历时出现的网络拥塞问题。其中,本实施例中的预设时长范围值可以根
据实际情况进行设定,例如呼吸科室在其对应的用户端上生成的电子病历数量较多,则呼
吸科室中的用户端所对应的通信链路的预设时长范围可以设置为15 60秒;如果整形科室
~
在其对应的用户端上生成的电子病历数量较少,则整形科室中的用户端所对应的通信链路
的预设时长范围可以设置为10 20秒。
~
[0045] 根据上述记载,在一示例性实施例中,如图2所示,生成数据通信会话请求的过程包括:S10,获取在用户端生成的待传输数据。
[0046] S20,利用文本识别模型对待传输数据进行语义识别,获取待传输数据中的字符文本。
[0047] S30,从字符文本中提取关键词,并根据提取出的关键词确定用户端的类型。
[0048] S40,根据确定出用户端类型以及预设的文本通信协议生成数据通信会话请求。
[0049] 在本实施例中,步骤S10获取的是待传输数据对应的图像,所以本实施例可以通过文本识别模型(例如Optical Character Recognition ,光学字符识别)来对待传输数据所
对应的图像进行语义识别,从中获取待传输数据中的字符文本。作为示例,本实施例对待传
输数据所对应的图像进行语义识别的过程可以是:通过一个或多个版面分析深度学习网络
模型对进行待传输数据所对应的图像进行语义分割识别,根据语义分割识别结果中的图像
文本框、图像文本框内的字符位置和图像的像素点获取待传输数据中的字符文本;再从获
取的字符文本中提取出关键词,然后基于提取的关键词来确定用户端的类型,并在确定完
用户端的类型后,按照预设在用户端上的文本通信协议来生成数据通信会话请求,请求向
服务器端传输所生成的待传输数据。作为示例,本实施例中的待传输数据可以为电子病历。
例如以某医疗机构中的呼吸科为例,若医生A在其对应的用户端上为患者B生成的电子病历
内容包括:“科室:呼吸科;诊断:风寒感染;患者姓名:B;医师签名:A”,则提取出关键词可以
为:呼吸科、风寒感染、患者姓名和医师签名。本实施例在确定用户端类型后再生成数据通
信会话请求,方便在对通信链路进行流量带宽分配时,按照用户端所生成的待传输数据的
数量进行分配,从而保证在每个用户端上生成的待传输数据都能稳定地传输至服务器端。
[0050] 在一示例性实施例中,按照建立的通信连接确定用户端与服务器端的目标通信链路的过程包括:在用户端与服务器端建立通信连接后,根据用户端与服务器端的拓扑网络
节点确定能够在用户端与服务器端进行数据传输的传输路径;获取每条传输路径的数据误
码率,并将数据误码率最小的传输路径所对应的通信链路作为目标通信链路。在本实施例
中,用户端与服务器端建立通信连接后,两者之前会存在多条通信链路,而不同的通信链路
会构成不同的传输路径。而本实施例通过比对每条传输路径的数据误码率大小来选择最优
传输路径,即选择数据误码率最小的传输路径,然后将最优传输路径所对应的通信链路作
为目标通信链路来传输根据待传输数据分片形成的数据包,使得数据包在传输过程能够将
时延降到最低,避免数据包在传输过程因为时延带来的网络拥塞情况。
[0051] 在一示例性实施例中,根据数据通信会话请求从目标流量池中为目标通信链路分配初始流量带宽的过程包括:在用户端与服务器端建立通信连接,以及生成数据通信会话
请求后,从网络带宽调度系统中获取用户端的限额流量带宽,并将用户端的限额流量带宽
作为用户端的目标流量池;对能够在用户端与服务器端进行数据传输的传输路径进行排
序,并根据排序后的结果对每条传输路径分配权重;从目标流量池中选择部分流量带宽作
为待分配流量带宽,并按照权重比例将待分配流量带宽分配至每条传输路径所对应的通信
链路上,作为对应通信链路的初始流量带宽。在本实施例中,通过对用户端与服务器端进行
数据传输的传输路径进行排序并分配权重后,可以保证每条传输路径所对应的通信链路能
够分配到合适的流量带宽,从而让每条传输路径所对应的通信链路上的流量带宽能够得到
最大化的利用。作为示例,本实施例中可以按照数据包的传输时长来对传输路径进行排序,
传输时长越短,排序越靠前,且越靠前的权重也越大。在对通信链路进行流量带宽分配时,
按照每条传输路径的权重比例来对对应的通信链路进行流量带宽的分配。
[0052] 在一示例性实施例中,若多个用户端在同一时刻均与服务器端建立通信连接,则获取每个用户端的数据包在对应的目标通信链路上的传输时长;按照传输时长大小进行排
序,选出传输时长最大的目标通信链路;在某一用户端的数据包在对应的目标通信链路上
的传输时长小于预设时长范围内的最小值时,将该用户端对应的目标通信链路上降低的流
量带宽分配至多个用户端中传输时长最大的通信链路。本实施例可以针对连接到同一服务
器端的多个用户端进行流量带宽的动态控制。在某一用户端生成待传输数据后,若该待传
输数据在对应的通信链路的传输时长小于预设时长范围的最小值,所以其通信链路上的流
量带宽足够其进行待传输数据传输,且还可能存在闲置的流量带宽。而本实施例在确定完
传输时长最大的通信链路后,可以将闲置的流量带宽分配至传输时长最大的通信链路,从
而可以实现用户端与用户端之间的流量调配。作为示例,例如在某一时刻下,某用户端P生
成了待传输数据,根据待传输数据分片形成的数据包在对应的通信链路上的传输时长最
大,则说明用户端P所对应的通信链路是当前时刻下传输时长最大的一个用户端;而用户端
Q在当前时刻下,其没有生产待传输数据;则此时可以动态降低用户端Q所对应的通信链路
上的流量带宽,并将所降低的流量带宽都叠加至用户端P所对应的通信链路上,增大用户端
P所对应的通信链路的数据传输能力,从而降低用户端P在当前时刻下进行数据包传输时的
传输时长,缓解用户P所对应的通信链路的网络拥塞情况。
[0053] 在一示例性实施例中,按照目标通信链路将数据包传输至服务器端的过程中,还包括:获取数据包在目标通信链路上的传输速率;根据传输速率判断数据包在目标通信链
路上的传输是否发生了网络抖动,并在发生网络抖动后,通过服务器端增长或缩短抖动缓
存深度来对接收到的数据包进行缓存,降低或解决网络抖动;其中,当传输速率低于参考传
输速率时,判定数据包在目标通信链路上的传输发生了网络抖动。在本实施例中,通过判断
数据包在目标通信链路上是否发生了网络抖动可以判断目标通信链路上的数据包是否发
生了网络拥塞,如果发生了网络抖动,除了上述调整通信链路上的流量带宽,本实施例还可
以通过服务器端增长或缩短抖动缓存深度来对接收到的数据包进行缓存,降低或解决网络
抖动,缓解或解决目标通信链路上的拥塞情况。
[0054] 综上所述,本发明提供一种控制数据传输的方法,首先获取在用户端生成的待传输数据和数据通信会话请求,然后根据数据通信会话请求建立用户端与服务器端的通信连
接,并按照建立的通信连接确定用户端与服务器端的目标通信链路,以及根据数据通信会
话请求从目标流量池中为目标通信链路分配初始流量带宽;再对待传输数据进行数据分
片,形成对应的数据包,并按照目标通信链路将数据包传输至服务器端;再获取数据包在目
标通信链路上的传输时长,并判断传输时长是否位于预设时长范围内,若传输时长不位于
预设时长范围内,则对目标通信链路上的初始流量带宽进行动态调整,控制数据包在目标
通信链路上的传输时长位于预设时长范围内。本方法首先建立用户端与服务器端的通信连
接,然后为目标通信链路分配流量带宽,在将用户端的待传输数据形成数据包后,通过数据
包在目标通信链路上的传输时长与预设时长范围的比对结果来动态调节目标通信链路上
的流量带宽,从而让数据包在目标通信链路上的传输时长保持在预设时长范围内。本方法
通过对目标通信链路上的流量带宽进行动态调整后,既不会让数据包在传输过程中出现较
快传输,也不会数据包在传输过程中出现较慢传输,而是让数据包在通信链路上进行稳定
传输,所以,本方法能够解决用户端向服务器端传输数据时出现的网络拥塞问题,以及能够
解决流量带宽不能得到充分使用的问题。
[0055] 如图3所示,本发明还提供一种控制数据传输的系统,包括有:
[0056] 数据采集模块M10,用于获取在用户端生成的待传输数据和数据通信会话请求。
[0057] 通信连接模块M20,用于根据数据通信会话请求建立用户端与服务器端的通信连接。
[0058] 流量带宽分配模块M30,用于按照建立的通信连接确定用户端与服务器端的目标通信链路,以及根据数据通信会话请求从目标流量池中为目标通信链路分配初始流量带
宽。
[0059] 数据传输模块M40,用于对待传输数据进行数据分片,形成对应的数据包,并按照目标通信链路将数据包传输至服务器端。
[0060] 动态控制模块M50,用于获取数据包在目标通信链路上的传输时长,并判断传输时长是否位于预设时长范围内,若传输时长不位于预设时长范围内,则对目标通信链路上的
初始流量带宽进行动态调整,控制数据包在目标通信链路上的传输时长位于预设时长范围
内。
[0061] 本实施例首先建立用户端与服务器端的通信连接,然后为目标通信链路分配流量带宽,在将用户端的待传输数据形成数据包后,通过数据包在目标通信链路上的传输时长
与预设时长范围的比对结果来动态调节目标通信链路上的流量带宽,从而让数据包在目标
通信链路上的传输时长保持在预设时长范围内。本实施例通过对目标通信链路上的流量带
宽进行动态调整后,既不会让数据包在传输过程中出现较快传输,也不会数据包在传输过
程中出现较慢传输,而是让数据包在通信链路上进行稳定传输,所以,本实施例能够解决用
户端向服务器端传输数据时出现的网络拥塞问题,以及能够解决流量带宽不能得到充分使
用的问题。其中,服务器端具备数据库的存储功能,能够存储所接受到的待传输数据数据。
[0062] 在一示例性实施例中,若数据包在目标通信链路上的传输时长不位于预设时长范围内,则对目标通信链路上的初始流量带宽进行动态调整的过程包括:若传输时长小于预
设时长范围内的最小值,则降低目标通信链路中的初始流量带宽,并利用降低流量带宽后
的通信链路将数据包传输至服务器端,控制数据包的传输时长位于预设时长范围内。若传
输时长大于预设时长范围内的最大值,则从目标流量池的剩余流量带宽中获取部分或全部
流量带宽,并将获取的部分或全部流量带宽叠加至目标通信链路上形成叠加通信链路,利
用叠加通信链路将数据包传输至服务器端,控制数据包在叠加通信链路上的传输时长位于
预设时长范围内。
[0063] 在本实施例中,如果数据包在目标通信链路上的传输时长小于预设范围内的最小值,则说明在该用户端上生成的待传输数据数量较少,数据包出现了较快传输,同时对应的
通信链路上可能存在闲置的流量带宽。而本实施例一方面通过降低其通信链路上的流量带
宽来降低该通信链路对闲置流量带宽的占用,另一方面控制数据包的传输时长位于预设时
长范围内,从而保证了降低流量带宽后的通信链路仍然能够正常传输在该用户端上生成的
待传输数据,即本实施例可以通过降低通信链路对闲置流量带宽的占用来实现对流量带宽
资源的最大化应用。同时,如果数据包在目标通信链路上的传输时长大于预设范围内的最
大值,则说明对应用户端生成的待传输数据数量较多,数据包出现了较慢传输,即对应的通
信链路上的流量带宽不够其使用,从而在数据包的传输过程中出现了网络拥塞。而本实施
例通过将目标流量池中剩余流量带宽中的部分或全部流量带宽叠加在当前的通信链路上,
可以增大当前通信链路的数据传输能力,相当于缓解了当前通信链路的拥塞情况,从而解
决了在通信链路上进行数据传输时出现的网络拥塞问题。作为示例,如果本实施例中的用
户端是设置在同一医疗机构中不同医疗科室或不同医疗部门中,则本实施例可以将电子病
历作为待传输数据,从而解决同一医疗机构中不同医疗科室或不同医疗部门在传输电子病
历时出现的网络拥塞问题。其中,本实施例中的预设时长范围值可以根据实际情况进行设
定,例如呼吸科室在其对应的用户端上生成的电子病历数量较多,则呼吸科室中的用户端
所对应的通信链路的预设时长范围可以设置为15 60秒;如果整形科室在其对应的用户端
~
上生成的电子病历数量较少,则整形科室中的用户端所对应的通信链路的预设时长范围可
以设置为10 20秒。
~
[0064] 根据上述记载,在一示例性实施例中,数据采集模块M10生成数据通信会话请求的过程包括:获取在用户端生成的待传输数据;利用文本识别模型对待传输数据进行语义识
别,获取待传输数据中的字符文本;从字符文本中提取关键词,并根据提取出的关键词确定
用户端的类型;根据确定出用户端类型以及预设的文本通信协议生成数据通信会话请求。
在本实施例中,首先获取待传输数据对应的图像,然后再通过文本识别模型(例如Optical 
Character Recognition ,光学字符识别)来对待传输数据所对应的图像进行语义识别,从
中获取待传输数据中的字符文本。作为示例,本实施例对待传输数据所对应的图像进行语
义识别的过程可以是:通过一个或多个版面分析深度学习网络模型对进行待传输数据所对
应的图像进行语义分割识别,根据语义分割识别结果中的图像文本框、图像文本框内的字
符位置和图像的像素点获取待传输数据中的字符文本;再从获取的字符文本中提取出关键
词,然后基于提取的关键词来确定用户端的类型,并在确定完用户端的类型后,按照预设在
用户端上的文本通信协议来生成数据通信会话请求,请求向服务器端传输所生成的待传输
数据。作为示例,本实施例中的待传输数据可以为电子病历。例如以某医疗机构中的胸外科
为例,若医生M在其对应的用户端上为患者N生成的电子病历内容包括:“科室:胸外科;诊
断:胸腔积液;患者姓名:N;医师签名:M”,则提取出关键词可以为:胸外科、胸腔积液、患者
姓名和医师签名。本实施例在确定用户端类型后再生成数据通信会话请求,方便在对通信
链路进行流量带宽分配时,按照用户端所生成的待传输数据的数量进行分配,从而保证在
每个用户端上生成的待传输数据都能稳定地传输至服务器端。
[0065] 在一示例性实施例中,按照建立的通信连接确定用户端与服务器端的目标通信链路的过程包括:在用户端与服务器端建立通信连接后,根据用户端与服务器端的拓扑网络
节点确定能够在用户端与服务器端进行数据传输的传输路径;获取每条传输路径的数据误
码率,并将数据误码率最小的传输路径所对应的通信链路作为目标通信链路。在本实施例
中,用户端与服务器端建立通信连接后,两者之前会存在多条通信链路,而不同的通信链路
会构成不同的传输路径。而本实施例通过比对每条传输路径的数据误码率大小来选择最优
传输路径,即选择数据误码率最小的传输路径,然后将最优传输路径所对应的通信链路作
为目标通信链路来传输根据待传输数据分片形成的数据包,使得数据包在传输过程能够将
时延降到最低,避免数据包在传输过程因为时延带来的网络拥塞情况。
[0066] 在一示例性实施例中,根据数据通信会话请求从目标流量池中为目标通信链路分配初始流量带宽的过程包括:在用户端与服务器端建立通信连接,以及生成数据通信会话
请求后,从网络带宽调度系统中获取用户端的限额流量带宽,并将用户端的限额流量带宽
作为用户端的目标流量池;对能够在用户端与服务器端进行数据传输的传输路径进行排
序,并根据排序后的结果对每条传输路径分配权重;从目标流量池中选择部分流量带宽作
为待分配流量带宽,并按照权重比例将待分配流量带宽分配至每条传输路径所对应的通信
链路上,作为对应通信链路的初始流量带宽。在本实施例中,通过对用户端与服务器端进行
数据传输的传输路径进行排序并分配权重后,可以保证每条传输路径所对应的通信链路能
够分配到合适的流量带宽,从而让每条传输路径所对应的通信链路上的流量带宽能够得到
最大化的利用。作为示例,本实施例中可以按照数据包的传输时长来对传输路径进行排序,
传输时长越短,排序越靠前,且越靠前的权重也越大。在对通信链路进行流量带宽分配时,
按照每条传输路径的权重比例来对对应的通信链路进行流量带宽的分配。
[0067] 在一示例性实施例中,若多个用户端在同一时刻均与服务器端建立通信连接,则获取每个用户端的数据包在对应的目标通信链路上的传输时长;按照传输时长大小进行排
序,选出传输时长最大的目标通信链路;在某一用户端的数据包在对应的目标通信链路上
的传输时长小于预设时长范围内的最小值时,将该用户端对应的目标通信链路上降低的流
量带宽分配至多个用户端中传输时长最大的通信链路。本实施例可以针对连接到同一服务
器端的多个用户端进行流量带宽的动态控制。在某一用户端生成待传输数据后,若该待传
输数据在对应的通信链路的传输时长小于预设时长范围的最小值,所以其通信链路上的流
量带宽足够其进行待传输数据传输,且还可能存在闲置的流量带宽。而本实施例在确定完
传输时长最大的通信链路后,可以将闲置的流量带宽分配至传输时长最大的通信链路,从
而可以实现用户端与用户端之间的流量调配。作为示例,例如在某一时刻下,某用户端X生
成了待传输数据,根据待传输数据分片形成的数据包在对应的通信链路上的传输时长最
大,则说明用户端X所对应的通信链路是当前时刻下传输时长最大的一个用户端;而用户端
Y在当前时刻下,其没有生产待传输数据;则此时可以动态降低用户端Y所对应的通信链路
上的流量带宽,并将所降低的流量带宽都叠加至用户端X所对应的通信链路上,增大用户端
X所对应的通信链路的数据传输能力,从而降低用户端X在当前时刻下进行数据包传输时的
传输时长,缓解用户X所对应的通信链路的网络拥塞情况。
[0068] 在一示例性实施例中,按照目标通信链路将数据包传输至服务器端的过程中,还包括:获取数据包在目标通信链路上的传输速率;根据传输速率判断数据包在目标通信链
路上的传输是否发生了网络抖动,并在发生网络抖动后,通过服务器端增长或缩短抖动缓
存深度来对接收到的数据包进行缓存,降低或解决网络抖动;其中,当传输速率低于参考传
输速率时,判定数据包在目标通信链路上的传输发生了网络抖动。在本实施例中,通过判断
数据包在目标通信链路上是否发生了网络抖动可以判断目标通信链路上的数据包是否发
生了网络拥塞,如果发生了网络抖动,除了上述调整通信链路上的流量带宽,本实施例还可
以通过服务器端增长或缩短抖动缓存深度来对接收到的数据包进行缓存,降低或解决网络
抖动,缓解或解决目标通信链路上的拥塞情况。
[0069] 综上所述,本发明提供一种控制数据传输的系统,首先获取在用户端生成的待传输数据和数据通信会话请求,然后根据数据通信会话请求建立用户端与服务器端的通信连
接,并按照建立的通信连接确定用户端与服务器端的目标通信链路,以及根据数据通信会
话请求从目标流量池中为目标通信链路分配初始流量带宽;再对待传输数据进行数据分
片,形成对应的数据包,并按照目标通信链路将数据包传输至服务器端;再获取数据包在目
标通信链路上的传输时长,并判断传输时长是否位于预设时长范围内,若传输时长不位于
预设时长范围内,则对目标通信链路上的初始流量带宽进行动态调整,控制数据包在目标
通信链路上的传输时长位于预设时长范围内。本系统首先建立用户端与服务器端的通信连
接,然后为目标通信链路分配流量带宽,在将用户端的待传输数据形成数据包后,通过数据
包在目标通信链路上的传输时长与预设时长范围的比对结果来动态调节目标通信链路上
的流量带宽,从而让数据包在目标通信链路上的传输时长保持在预设时长范围内。本系统
通过对目标通信链路上的流量带宽进行动态调整后,既不会让数据包在传输过程中出现较
快传输,也不会数据包在传输过程中出现较慢传输,而是让数据包在通信链路上进行稳定
传输,所以,本系统能够解决用户端向服务器端传输数据时出现的网络拥塞问题,以及能够
解决流量带宽不能得到充分使用的问题。
[0070] 本申请实施例还提供了一种控制数据传输的设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行
时,使得所述设备执行图1所述的方法。图4示出了一种控制数据传输的设备1000的结构示
意图。参阅图4所示,该设备1000包括:处理器1010、存储器1020、电源1030、显示单元1040、
输入单元1060。
[0071] 处理器1010是电子设备1000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器1020内的软件程序和/或数据,执行电子设备1000的各种功能,
从而对电子设备1000进行整体监控。本申请实施例中,处理器1010调用存储器1020中存储
的计算机程序时执行如图1所述的方法。可选的,处理器1010可包括一个或多个处理单元;
优选的,处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作
系统、用户界面和应用等,调制解调处理器主要处理无线通信。在一些实施例中,处理器、存
储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0072] 存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据电子设备1000的使用所创建的数据等。此外,存
储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘
存储器件、闪存器件、或其他易失性固态存储器件等。
[0073] 电子设备1000还包括给各个部件供电的电源1030(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等
功能。
[0074] 显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及电子设备1000的各种菜单等,本发明实施例中主要用于显示电子设备1000中各应用的显示界面以及
显示界面中显示的文本、图片等对象。显示单元1040可以包括显示面板1050。显示面板1050
可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light‑
Emitting Diode,OLED)等形式来配置。
[0075] 输入单元1060可用于接收用户输入的数字或字符等信息。输入单元1060可包括触控面板1070以及其他输入设备1080。其中,触控面板1070,也称为触摸屏,可收集用户在其
上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板
1070上或在触控面板1070附近的操作)。
[0076] 具体的,触控面板1070可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器1010,并接收处理器1010发来的命令并加以执行。
此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1070。其他
输入设备1080可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨
迹球、鼠标、操作杆等中的一种或多种。
[0077] 当然,触控面板1070可覆盖显示面板1050,当触控面板1070检测到在其上或附近的触摸操作后,传送给处理器1010以确定触摸事件的类型,随后处理器1010根据触摸事件
的类型在显示面板1050上提供相应的视觉输出。虽然在图4中,触控面板1070与显示面板
1050是作为两个独立的部件来实现电子设备1000的输入和输出功能,但是在某些实施例
中,可以将触控面板1070与显示面板1050集成而实现电子设备1000的输入和输出功能。
[0078] 电子设备1000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述电子设备1000还可以包括摄像头等其
它部件。
[0079] 本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有指令,当一个或多个处理器执行所述指令时,使得上述设备能够执行本申请中如图1所述的方法。
[0080] 本领域技术人员可以理解的是,图4仅仅是控制数据传输的设备的举例,并不构成对该设备的限定,该设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同
的部件。为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在
实施本申请时,可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。本领域
内的技术人员应明白,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算
机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序
产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流
程图和/或方框图来描述的,应理解为可由计算机程序指令实现流程图和/或方框图中的每
一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指
令可应用至通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器
中以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生
用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的
装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方
式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装
置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个
方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备
上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从
而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程
和/或方框图一个方框或多个方框中指定的功能的步骤。
[0081] 应当理解的是,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例
如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似
地,第二预设范围也可以被称为第一预设范围。
[0082] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因
此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完
成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。