CN112969198A - 数据传输方法、终端及存储介质 - Google Patents
数据传输方法、终端及存储介质 Download PDFInfo
- Publication number
- CN112969198A CN112969198A CN202110203873.2A CN202110203873A CN112969198A CN 112969198 A CN112969198 A CN 112969198A CN 202110203873 A CN202110203873 A CN 202110203873A CN 112969198 A CN112969198 A CN 112969198A
- Authority
- CN
- China
- Prior art keywords
- data
- fragment data
- storage space
- client
- fragment
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000012634 fragment Substances 0.000 claims abstract description 176
- 230000004044 response Effects 0.000 claims abstract description 50
- 230000011218 segmentation Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/22—Traffic simulation tools or models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及数据传输领域,揭露了一种数据传输方法、终端及存储介质,该方法包括:客户端从第一存储空间中读取待传输数据后,根据预设分割规则将待传输数据进行分割得到多块分片数据并发送至服务端,服务端将接收到的多块分片数据以文件的形式分别写入第二存储空间中,并向客户端反馈对应的接收响应信息,利用预先创建的线程从第二存储空间分别加载多块分片数据并存储至第三存储空间,客户端根据接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将发送失败的分片数据重新发送至服务端。本发明可以在数据发送者与数据接收者的发送与消费速度不对等的情况下,提高数据传输的效率和稳定性。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种数据传输方法、终端及存储介质。
背景技术
目前,联邦学习是指多方联合学习建模,在建模过程中各方成员之间需要进行传输数据。各方成员有收发数据的网关模块,该网关模块负责把数据转发到联合建模的目的成员中以及接收其它联合建模成员发过来的数据,在传输大数据量(例如,十几G)时,数据发送者与数据接收者的数据发送与数据消费速度不对等的情况下,传输数据的效率低且不稳定。
发明内容
本发明的目的在于提供一种数据传输方法、终端及存储介质,旨在解决现有技术中数据发送者与数据接收者的发送与消费速度不对等的情况下,传输数据的效率低且不稳定的技术问题。
为实现上述目的,本发明提供一种数据传输方法,所述数据传输方法包括:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
优选地,所述利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间,包括:
实时监测所述第二存储空间中是否存在未存储至所述第三存储空间的分片数据,若存在,启动线程将所述第二存储空间中未存储至所述第三存储空间的分片数据存储至所述第三存储空间。
优选地,所述向所述客户端反馈对应的接收响应信息,包括:
当成功接收分片数据时,基于该分片数据的标识向所述客户端反馈第一响应信息;
当接收分片数据失败时,基于该分片数据的标识向所述客户端反馈第二响应信息。
优选地,在利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间之后,所述方法还包括:
将所述第二存储空间中已存储至所述第三存储空间的分片数据删除。
为实现上述目的,本发明提供一种数据传输方法,所述数据传输方法包括:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
优选地,所述基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,包括:
将所述待传输数据按预设内存平均分割成多块分片数据,或将所述待传输数据随机分割成预设块数的分片数据。
为实现上述目的,本发明还提供一种服务端,所述服务端包括存储器及与所述存储器连接的处理器,所述存储器中存储有在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如下步骤:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
为实现上述目的,本发明还提供一种客户端,所述客户端包括存储器及与所述存储器连接的处理器,所述存储器中存储有在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如下步骤:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现上述的服务端执行的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现上述的客户端执行的方法的步骤。
本发明提供的数据传输方法、终端及存储介质,可以在数据发送者与数据接收者的发送与消费速度不对等,不利用第三方缓冲技术(如kafka、Rabbitmq等MQ框架)的情况下,提高数据传输的效率和稳定性。
附图说明
图1为本发明数据传输方法一可选的应用环境示意图;
图2为本发明数据传输方法一实施例的流程示意图;
图3为本发明数据传输方法另一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明数据传输方法的较佳实施例的应用环境示意图。该应用环境示意图包括客户端10、服务端20及连接客户端与服务端的网络30。客户端10与服务端20可以通过网络、近场通信技术等适合的技术与网络30中的其他客户端或服务端进行数据交互。
客户端10与服务端20可以是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述客服端10可以包括但不限于智能手机、个人计算机、笔记本电脑及平板电脑等,所述服务端20可以包括但不限于塔式服务器、机架式服务器、刀片式服务器及高密度服务器等。
在本实施例中,客户端10可以包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的数据传输程序。需要指出的是,图1仅示出了具有组件11-13的客户端10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
服务端20可以包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23,存储器21存储有可在处理器22上运行的数据传输程序。需要指出的是,图1仅示出了具有组件21-23的服务端20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本方案的应用场景可以是多方联合学习建模过程中,成员之间通过数据传输使用彼此之间数据的场景,可以将发送数据的成员视为客户端10,接收数据的成员视为服务端20。客户端10从第一存储空间中读取待传输数据后,根据预设分割规则将待传输数据进行分割得到多块分片数据并发送至服务端20,服务端20将接收到的多块分片数据以文件的形式分别写入第二存储空间中,并向客户端10反馈对应的接收响应信息,利用预先创建的线程从第二存储空间分别加载多块分片数据并存储至第三存储空间,客户端10根据接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将发送失败的分片数据重新发送至服务端,以供服务端20将发送失败的分片数据存储至第三存储空间。本方案可以在联合建模的过程中,在不利用第三方缓冲技术(如kafka、Rabbitmq等MQ框架)的情况下双方能够快速、高效、稳定的传输大量数据。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为客户端的运行提供缓存;可读存储介质可以是易失性的,也可以是非易失性的。例如,可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是客户端的内部存储单元,例如该客户端的硬盘;在另一些实施例中,该存储介质也可以是客户端的外部存储设备,例如客户端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于客户端的操作系统和各类应用软件,例如存储本发明一实施例中的数据传输程序的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述客户端的总体操作,例如执行与第二终端进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据传输程序等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述客户端与服务端或其他客户端之间建立通信连接。本实施例中,网络接口13主要用于将客户端与服务端相连,在客户端与服务端之间建立数据传输通道和通信连接。
所述数据传输程序存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请各实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
此外,服务端的存储器21、处理器22、网络接口23对应与客户端的存储器11、处理器12、网络接口13类似,此处不再赘述。
在一实施例中,上述数据传输程序被所述处理器12执行时实现如下步骤:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
在另一实施例中,上述数据传输程序被所述处理器22执行时实现如下步骤:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
如图2所示,图2为本发明数据传输方法一实施例的流程示意图,该数据传输方法包括以下步骤:
步骤S110:接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
本方案的应用场景可以是多方联合学习建模过程中,成员A和成员B之间通过数据传输使用彼此之间数据的场景,需要说明的是,本方案的具体应用场景并不仅限于该场景。
例如,成员A有用户特征数据,成员B有产品特征数据和标注数据。两个成员由于数据私密性等原因并不能轻易地将双方数据加以合并,假设双方各自建立一个任务模型,每个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可,关键在于如何在A和B之间建立高质量的模型。由于数据不完整(成员A缺少标签数据,成员B缺少用户特征数据),或者数据不充分(数据量不足以建立精度高的模型),那么在各端的模型有可能无法建立或效果并不理想。采用联邦学习可以解决这一问题,在联合建模过程中存在各方成员之间数据传输的情况。
在本实施例中,假设联合建模成员A要把保存在本地的可查询及可读写存储介质(如Click House)的数据(例如,大小为10G)发送到联合建模成员B中,成员B接收到A发过来的数据后保存到本地的可查询及可读写存储介质(如Click House)中。
Click House是列式存储数据库(DBMS),主要用于在线分析处理查询,可以使用SQL查询实时生成分析数据报告。
成员A与成员B之间可以使用gRPC(Google Remote Procedure Call,简称gRPC)的双向流建立长连接方式进行通信。成员A作为客户端,成员B作为服务端。
在本实施例中,服务端接收客户端发送的多块分片数据,其中,多块分片数据是由客户端从第一存储空间中读取待传输数据后执行分割操作得到,客户端的网关模块从第一存储空间中读取待传输数据,第一存储空间可以是客户端的本地存储介质,例如,存储有待传输数据的磁盘等。
由于待传输数据的内存较大,因此可以根据预设分割规则将待传输数据进行分割得到多块分片数据,并将多块分片数据发送至服务端的网关模块,其中,预设的分割规则可以是将待传输数据按固定内存平均切割成多块分片数据,并对每片分片数据按顺序标记,例如,分割成shard_data_1,shard_data_2,shard_data_3,....,shard_data_n。预设的分割规则还可以是将待传输数据随机分割成预设片数的分片数据。之后,通过gRPC双向流方式将分片数据分别发送给服务端。
步骤S120:将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
在本实施例中,服务端的网关模块接收到客户端发送的分片数据之后,将接收到的分片数据以文件形式(例如,持久化成以分片ID命名的文件)写入第二存储空间中,并向客户端反馈对应的接收响应信息,文件名分别可以是shard_data_1_file,shard_data_2_file,shard_data_3_file,...,shard_data_n_file,第二存储空间可以是服务端的本地存储介质,例如:服务端的本地磁盘等。
在一个实施例中,所述向所述客户端反馈对应的接收响应信息,包括:
当成功接收分片数据时,基于该分片数据的标识向所述客户端反馈第一响应信息;
当接收分片数据失败时,基于该分片数据的标识向所述客户端反馈第二响应信息。
当服务端成功接收到分片数据时,根据分片数据的ID向客户端反馈接收成功的提示信息,以通知客户端该分片数据接收成功,当服务端未成功接收到分片数据时,根据该分片数据的标识向客户端反馈接收失败的提示信息,以通知客户端该分片数据接收失败。
步骤S130:利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间;
在本实施例中,服务端根据预先创建的线程池启动一个线程,线程的参数可以是存储在第二存储空间的分片数据的完整路径,例如,shard_data_id_file_path,然后线程从shard_data_id_file_path路径里加载文件并转存至第三存储空间,例如,可读写存储介质Click House中。其中,创建的线程数量与分片数据的数量相同,即存在多少片分片数据创建同等数量的线程,一个线程从第二存储空间加载一个分片数据转存至第三存储空间。
在一个实施例中,所述利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间,包括:
实时监测所述第二存储空间中是否存在未存储至所述第三存储空间的分片数据,若存在,启动线程将所述第二存储空间中未存储至所述第三存储空间的分片数据存储至所述第三存储空间。
由于在数据传输过程中可能会出现宕机的情况,因此服务端可以实时监测第二存储空间中是否存在未转存至第三存储空间的分片数据,若存在,启动线程将第二存储空间中未转存的分片数据存储第三存储空间。此外,如果服务端未把第二存储空间的分片文件全部转存至第三存储空间时,突然出现宕机情况,当再次启动服务端的时候,则检查第二存储空间(例如,本地磁盘)里是否存在未完成转存的文件,如果有则启动线程加载未转存的文件,并转存至第三存储空间。
进一步地,所述方法还包括:
将所述第二存储空间中已存储至所述第三存储空间的分片数据删除,以节省第二存储空间的内存空间。
如图3所示,图3为本发明数据传输方法一实施例的流程示意图,该数据传输方法包括以下步骤:
步骤S210:从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
在本实施例中,客户端的网关模块从第一存储空间中读取待传输数据,第一存储空间可以是客户端的本地存储介质,例如,存储有待传输数据的磁盘等。由于待传输数据的内存较大,因此可以根据预设分割规则将待传输数据进行分割得到多块分片数据,并将多块分片数据发送至服务端的网关模块。
在一个实施例中,所述基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,包括:
将所述待传输数据按预设内存平均分割成多块分片数据,或将所述待传输数据随机分割成预设块数的分片数据。
将待传输数据按固定内存平均切割成多块分片数据,并对每片分片数据按顺序标记,例如,分割成shard_data_1,shard_data_2,shard_data_3,....,shard_data_n。预设的分割规则还可以是将待传输数据随机分割成预设片数的分片数据。之后,通过gRPC双向流方式将分片数据分别发送给服务端步骤S220:接收所述服务端反馈的各块分片数据的接收响应信息;
在本实施例中,服务端的网关模块接收到客户端发送的分片数据之后,将接收到的分片数据以文件形式写入第二存储空间中,客户端接收到服务端反馈对应的接收响应信息。响应信息包括第一响应信息和第二响应信息。若服务端成功接收到分片数据时,可以接收到服务端反馈的第一响应信息(例如,“接收分片数据成功”),当服务端未成功接收到分片数据时,可以接收到服务端反馈的第二响应信息(例如,“接收分片数据失败”)。
步骤S230:基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间;
在本实施例中,客户端根据接收响应信息可以判断是否存在发送失败的分片数据,如果存在发送失败的分片数据,则将所有发送失败的分片数据重新发送至服务端。服务端将发送失败的分片数据存储至第三存储空间。
在一个实施例中,所述基于所述接收响应信息判断是否存在发送失败的分片数据,包括:
当判断不存在发送失败的分片数据时,从所述第一存储空间中读取未分割的待传输数据执行分割操作后发送至所述服务端。
如果客户端不存在发送失败的分片数据,从第一存储空间中读取未分割的其余待传输数据,执行分割操作后发送至服务端,继续进行数据传输。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如下步骤:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
该计算机可读存储介质的具体实施方式与上述图2所示的数据传输方法的具体实施方式大致相同,在此不再赘述。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如下步骤:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
该计算机可读存储介质的具体实施方式与上述图3所示的数据传输方法的具体实施方式大致相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据传输方法,应用于服务端,该服务端通信连接客户端,其特征在于,所述方法包括:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
2.根据权利要求1所述的数据传输方法,其特征在于,所述利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间,包括:
实时监测所述第二存储空间中是否存在未存储至所述第三存储空间的分片数据,若存在,启动线程将所述第二存储空间中未存储至所述第三存储空间的分片数据存储至所述第三存储空间。
3.根据权利要求1所述的数据传输方法,其特征在于,所述向所述客户端反馈对应的接收响应信息,包括:
当成功接收分片数据时,基于该分片数据的标识向所述客户端反馈第一响应信息;
当接收分片数据失败时,基于该分片数据的标识向所述客户端反馈第二响应信息。
4.根据权利要求1所述的数据传输方法,其特征在于,在利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间之后,所述方法还包括:
将所述第二存储空间中已存储至所述第三存储空间的分片数据删除。
5.一种数据传输方法,应用于客户端,该客户端通信连接服务端,其特征在于,所述方法包括:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
6.根据权利要求5所述的数据传输方法,其特征在于,所述基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,包括:
将所述待传输数据按预设内存平均分割成多块分片数据,或将所述待传输数据随机分割成预设块数的分片数据。
7.一种服务端,其特征在于,所述服务端包括存储器及与所述存储器连接的处理器,所述存储器中存储有在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如下步骤:
接收客户端发送的多块分片数据,其中,所述多块分片数据由客户端从第一存储空间中读取待传输数据后执行分割操作得到;
将所述多块分片数据分别写入第二存储空间,并向所述客户端反馈各块分片数据对应的接收响应信息,以供所述客户端基于所述接收响应信息判断是否存在发送失败的分片数据;
利用预先创建的线程从所述第二存储空间分别加载所述多块分片数据并存储至第三存储空间。
8.一种客户端,其特征在于,所述客户端包括存储器及与所述存储器连接的处理器,所述存储器中存储有在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如下步骤:
从第一存储空间中读取待传输数据,基于预设分割规则对所述待传输数据执行分割操作得到多块分片数据,并将所述多块分片数据分别发送至服务端;
接收所述服务端反馈的各块分片数据的接收响应信息;
基于所述接收响应信息判断是否存在发送失败的分片数据,当判断存在发送失败的分片数据时,将所述发送失败的分片数据重新发送至所述服务端,以供所述服务端将所述发送失败的分片数据存储至所述第三存储空间。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序可被一个或者多个处理器执行,以实现如权利要求1至4所述的数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序可被一个或者多个处理器执行,以实现如权利要求5或6所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203873.2A CN112969198A (zh) | 2021-02-24 | 2021-02-24 | 数据传输方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203873.2A CN112969198A (zh) | 2021-02-24 | 2021-02-24 | 数据传输方法、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112969198A true CN112969198A (zh) | 2021-06-15 |
Family
ID=76285816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110203873.2A Pending CN112969198A (zh) | 2021-02-24 | 2021-02-24 | 数据传输方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112969198A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301790A (zh) * | 2021-12-02 | 2022-04-08 | 无线生活(北京)信息技术有限公司 | 一种数据传输方法及装置 |
CN114844910A (zh) * | 2022-04-19 | 2022-08-02 | 重庆紫光华山智安科技有限公司 | 分布式存储系统的数据传输方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130138775A1 (en) * | 2011-11-30 | 2013-05-30 | Amit Shah | Mechanism for content download based on hashes |
CN108712454A (zh) * | 2018-02-13 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
WO2019057023A1 (zh) * | 2017-09-20 | 2019-03-28 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN110120980A (zh) * | 2019-05-27 | 2019-08-13 | 牧星机器人(江苏)有限公司 | 非稳定链路的可靠文件传输方法、计算机设备及存储介质 |
CN111327694A (zh) * | 2020-02-10 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 文件上传方法、装置、存储介质及电子设备 |
-
2021
- 2021-02-24 CN CN202110203873.2A patent/CN112969198A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130138775A1 (en) * | 2011-11-30 | 2013-05-30 | Amit Shah | Mechanism for content download based on hashes |
WO2019057023A1 (zh) * | 2017-09-20 | 2019-03-28 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN108712454A (zh) * | 2018-02-13 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
CN110120980A (zh) * | 2019-05-27 | 2019-08-13 | 牧星机器人(江苏)有限公司 | 非稳定链路的可靠文件传输方法、计算机设备及存储介质 |
CN111327694A (zh) * | 2020-02-10 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 文件上传方法、装置、存储介质及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301790A (zh) * | 2021-12-02 | 2022-04-08 | 无线生活(北京)信息技术有限公司 | 一种数据传输方法及装置 |
CN114301790B (zh) * | 2021-12-02 | 2024-02-13 | 无线生活(北京)信息技术有限公司 | 一种数据传输方法及装置 |
CN114844910A (zh) * | 2022-04-19 | 2022-08-02 | 重庆紫光华山智安科技有限公司 | 分布式存储系统的数据传输方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN110309125B (zh) | 数据校验方法、电子装置及存储介质 | |
CN110719318B (zh) | 消息处理方法和系统 | |
CN108924250B (zh) | 基于区块链的业务请求处理方法、装置和计算机设备 | |
CN109040227B (zh) | 基于区块链的业务请求响应方法、装置和计算机设备 | |
WO2020177384A1 (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
CN111835467B (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN109951514B (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN112969198A (zh) | 数据传输方法、终端及存储介质 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN112822260A (zh) | 文件传输方法及装置、电子设备、存储介质 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN116614495A (zh) | 数据上传方法、装置、设备、存储介质及程序产品 | |
CN112148387A (zh) | 预加载反馈信息的方法、装置、计算机设备及存储介质 | |
CN111858588A (zh) | 一种分布式应用索引服务平台及数据处理方法 | |
CN111722946A (zh) | 分布式事务处理方法、装置、计算机设备及可读存储介质 | |
CN114637611A (zh) | 基于消息队列的信息处理方法、装置及计算机设备 | |
CN113656098A (zh) | 配置获取方法及系统 | |
CN111245949A (zh) | 文件归档传输方法、装置及设备 | |
CN107203559B (zh) | 一种划分数据条带的方法和装置 | |
CN111585897B (zh) | 请求路由管理方法、系统、计算机系统及可读存储介质 | |
CN111291207B (zh) | 图片存储方法、装置及服务器 | |
CN114281476A (zh) | Kubernetes云原生集群资源删除保护方法、装置、设备及存储介质 | |
CN113900990A (zh) | 文件分片存储方法、装置、设备及存储介质 | |
US8713149B2 (en) | Data feed management |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210615 |