CN109756567A - 一种跨域的任务调度断点续传方法 - Google Patents
一种跨域的任务调度断点续传方法 Download PDFInfo
- Publication number
- CN109756567A CN109756567A CN201811628523.5A CN201811628523A CN109756567A CN 109756567 A CN109756567 A CN 109756567A CN 201811628523 A CN201811628523 A CN 201811628523A CN 109756567 A CN109756567 A CN 109756567A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- server
- packet
- task
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种跨域的任务调度断点续传方法,所述方法包括:创建任务ID;获取待传输数据并生成数据的描述信息;将数据拆分成多个数据包,按顺序编号并进行持久化存储;将所述任务ID和数据的描述信息发送至服务端,以便服务端根据所述任务ID和数据的描述信息查询服务端是否存储有已接收的数据包,并反馈查询结果;根据所述反馈结果,向服务端发送第一个数据包或编号N+1的数据包,所述编号N+1为所述服务端根据服务端存储的该任务ID下已接收数据包的最大编号N值计算并反馈的编号值。该方法具有耗时短、网络资源消耗低、不会产生大量的垃圾数据、数据传输可以跟业务的执行分离、独立性强等优点。
Description
技术领域
本发明实施例涉及数据传输技术领域,具体涉及一种跨域的任务调度断点续传方法。
背景技术
当今互联网发展迅速,各种基于客户端/服务端的服务站点和架构层出不穷,两者之间数据传输的稳定性也是越来越得到人们的重视,但是基于客户端和服务端之间跨域的数据传输,难免会存在由于网络异常导致的连接中断,传输终止的现象,因此就会导致两端数据的不一致,为了应对以上情况的发生,在数据传输的过程中降低网络波动所产生的影响变得尤为重要。
目前针对以上情况的解决方案只有在连接中断或者传输终止的时候,接受数据的一方重新请求数据或者发送数据的一方重新发送数据,这样会导致数据的重复传输和大量无效数据产生,这两种解决方案不仅浪费了数据传输的时间和网络资源,同时由于大量数据垃圾的产生消耗服务器的资源。
发明内容
为此,本发明实施例提供一种跨域的任务调度断点续传方法,以解决现有数据的重复传输导致传输耗时大大增加,重复数据在传输的过程中会占用网络资源,数据的重新发送会导致之前接受的数据无效、有大量的数据垃圾产生的问题。
为了实现上述目的,本发明的实施方式提供如下技术方案:
在本发明的实施方式的第一方面中,提供了一种跨域的任务调度断点续传方法,所述方法包括:
创建任务ID;
获取待传输数据并生成数据的描述信息;
根据数据的描述信息将数据拆分成多个数据包,按顺序编号并进行持久化存储;
将所述任务ID和数据的描述信息发送至服务端,以便服务端根据所述任务ID和数据的描述信息查询服务端是否存储有已接收的数据包,并反馈查询结果;
若确定服务端未存储有已接收的数据包,则根据所述反馈结果向服务端发送编号为最小值的数据包;
若确定服务端存储有已接收的数据包,则向服务端发送编号N+1的数据包,所述编号N+1为服务端根据服务端存储的该任务ID下已接收数据包的最大编号N值计算并反馈的编号值;
待服务端对接收到的数据包验证通过并持久化存储后,继续响应服务端按照由小到大的顺序发出的下一编号数据包请求,向服务端发送下一编号数据包,直至数据包全部发送完毕。
优选的,所述将数据包按顺序编号并进行持久化存储还包括:
根据消息摘要算法为每个数据包生成消息摘要,将匹配有消息摘要的各数据包进行持久化存储。
优选的,所述待服务端对接收到的数据包验证通过并持久化存储后包括:
服务端根据接收到的数据包中的消息摘要验证数据包中数据的完整性和准确性;
若数据完整并准确,则将数据包中的消息摘要删除后进行持久化存储;
若数据不完整或不准确,则服务端重复请求该编号的数据包。
优选的,所述向服务端发送下一编号数据包,直至数据包全部发送完毕还包括:
当向服务端发送的数据包为最大编号的数据包时,则向服务端发送数据包发送结束通知。
优选的,所述获取待传输数据之后,所述方法还包括:
将获取的不同类型的数据转换为字节数组。
优选的,所述方法还包括:
将所述字节数组数据按照指定的数据包大小拆分为多个数据包,最后一个数据包的大小为实际数据包大小。
优选的,所述数据的描述信息包括指定数据包的大小、数据包的个数以及总的字节数组数据的大小。
在本发明的实施方式的第二方面中,提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令用于执行如上所述的一种跨域的任务调度断点续传方法。
本发明实施例具有如下优点:将数据发送作为一个任务,并创建一个任务ID,在发送数据之前将发送的数据按照固定的大小拆成多个数据包,每次的传输均以数据包为单位,如果某个数据包的传输过程中由于网络或其它原因导致传输中断,则下一次的传输会根据任务ID向服务端询问上次的数据传输发送到了哪个数据包,这样下次的数据传输会继续传输余下的数据包,不会重复传输上一次服务端已经接收到的数据,该方法不会重复发送大量的数据,因此不会在数据传输的过程中消耗大量的时间,而且因为不传输大量的重复数据不会产生大量网络资源的消耗,重新建立连接之后是接续传输,所以上一次连接传输的数据是有效数据,不会产生大量的垃圾数据,服务器的资源消耗也会减少,业务逻辑的执行和数据的发送可以独立进行,互不影响。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例1提供的一种跨域的任务调度断点续传方法流程示意图;
图2为为本发明实施例1提供的一种跨域的任务调度断点续传方法的实施装置结构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本说明书中所引用的如“上”、“下”、“左”、右”、“中间”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
实施例1
如图1所示,本实施例提出的一种跨域的任务调度断点续传方法,方法包括以下步骤:
S10,创建任务ID。数据发送任务初始创建时客户端为任务创建一个任务ID,并基于此任务ID进行后续数据传输以及断点续传。
S20,获取待传输数据并生成数据的描述信息。
优选的,获取待传输数据之后包括:由客户端将获取的不同类型的数据转换为统一的字节数组以便存储。数据的描述信息包括指定数据包的大小、数据包的个数以及总的字节数组数据的大小。根据用户配置文件或自定义的单个数据包大小计算出数据包的个数,然后将包含每个数据包的大小、数据包的个数以及总的字节数组数据的大小组装成数据的描述信息,并将数据的描述信息进行持久化存储。
S30,根据数据的描述信息将数据拆分成多个数据包,将数据包按顺序编号并进行持久化存储。
优选的,客户端将字节数组数据按照数据的描述信息中指定的数据包大小拆分为多个数据包,最后一个数据包的大小为实际数据包大小,即当最后一个数据包的实际大小不足一个数据包的指定大小时,按照最后一个数据包的实际大小进行分包。
优选的,将数据包按顺序编号并进行持久化存储还包括:根据消息摘要算法为每个数据包生成消息摘要,将匹配有消息摘要的各数据包组装为真实存储的数据包进行持久化存储。
S40,客户端将任务ID和数据的描述信息发送至服务端。
S50,服务端根据任务ID和数据的描述信息查询服务端是否存储有已接收的数据包,并向客户端反馈查询结果。
S60,若确定服务端存储有已接收的数据包,服务端根据服务端存储的该任务ID下已接收数据包的最大编号N值,计算得到待传输的下一数据包编号N+1并反馈给客户端,客户端根据返回值向服务端发送编号N+1的数据包。
S70,若确定服务端未存储有已接收的数据包,则根据反馈结果,客户端向服务端发送编号为最小值的数据包,具体的,若服务端没有查询到有已接收的数据包,则认定该任务为新任务,会向客户端返回0,客户端从编号最小的第一个数据包开始发送。
S80,服务端对接收到的数据包验证通过并持久化存储。
优选的,服务端对接收到的数据包验证通过并持久化存储后包括:
服务端根据接收到的数据包中的消息摘要验证数据包中数据的完整性和准确性;
若数据完整并准确,则将数据包中的消息摘要删除后进行持久化存储;
若数据不完整或不准确,则服务端会向客户端重复请求该编号的数据包。
S90,服务端按照由小到大的顺序发出的下一编号数据包请求,客户端继续响应服务端请求向服务端发送下一编号数据包,直至数据包全部发送完毕。
优选的,方法还包括:
当客户端向服务端发送的数据包为客户端存储的该任务ID下最大编号的数据包时,则向服务端发送数据包发送结束通知,服务端可以做进一步后续处理。
下表为本发明实施例1的跨域的任务调度断点续传方法,与现有的数据中断传输方法比较:
由上表可知,本发明实施1的方法相对于现有技术具有耗时短、网络资源消耗低、不会产生大量的垃圾数据、数据传输可以跟业务的执行分离、独立性强等优点。
本实施例的一种跨域的任务调度断点续传方法,通过将跨域的数据传输当成一个任务而产生一个任务ID,对数据进行拆包处理,根据固定的大小,将数据拆分成几个连续的固定大小的数据包,并产生每个数据包的消息摘要,通过一次传输一个数据包而实现跨域的任务调度断点续传。
实施例2
如图2所示,为实现本发明实施例1的方法,采用BreakpointActuator,即断点续传执行器实施,应用于客户端和服务端,BreakpointActuator中包含有两个模块,一个是Persistence,即持久化模块,另一个是Sender,即数据传输模块。持久化模块主要负责将数据分包并持久化到相应的存储系统,而数据传输模块用于客户端和服务端之间的数据传输,数据传输可以跟业务逻辑的执行分离,独立性强。
具体的,客户端通过持久化模块创建任务ID,同时获取待传输数据并生成数据的描述信息,任务ID和数据的描述信息通过数据传输模块发送至服务端,并同时保存到客户端存储系统。
客户端持久化模块还用于将获取的数据拆分为多个数据包并按顺序进行编号,将各编号的数据包保存到客户端存储系统。可选的,还用于根据消息摘要算法为每个数据包生成消息摘要,将匹配有消息摘要的各数据包保存到客户端的存储系统。
服务端通过持久化模块根据任务ID以及数据的描述信息查看服务端存储系统中是否存储有已接收的数据包。
若存在,则获取服务端存储系统中已接收数据包的最大编号N,根据已接收数据包的最大编号得出所需要的数据包编号N+1并通过数据传输模块发送至客户端,客户端根据服务端需要的数据包编号N+1发送服务端存储系统中编号N+1的数据包并通过数据传输模块发送至服务端。
若不存在,则服务端向客户端返回数据包编号的最小值,向客户端请求第一个数据包。
服务端通过数据传输模块接收客户端发送的数据包并保存到持久化的服务端存储系统,按由小到大的顺序继续向客户端返回下一数据包的编号。
可选的,服务端接收客户端发送的数据包并根据数据包中的消息摘要验证数据包中数据的准确性和完整性,若数据准确并完整,则将数据包中的消息摘要删除后保存到持久化的服务端存储系统,并继续向客户端请求下一个数据包,若数据不准确或不完整,则向客户端重复请求该编号的数据包。
可选的,当客户端发送的数据包为客户端存储的该任务ID下最大编号的数据包时,客户端向服务端发送数据包发送结束通知,通知服务端数据包发送完毕,服务端可以进行后续处理。
本实施例中持久化的存储系统可以为数据库或者本地文件存储系统,用户可以根据具体的使用场景灵活的选择持久化的文件系统。
实施例3
与上述实施例1相对应的,本实施例提出了一种计算机存储介质,计算机存储介质存储有计算机程序指令,计算机程序指令用于执行如本发明实施例1的方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种跨域的任务调度断点续传方法,其特征在于,所述方法包括:
创建任务ID;
获取待传输数据并生成数据的描述信息;
根据数据的描述信息将数据拆分成多个数据包,按顺序编号并进行持久化存储;
将所述任务ID和数据的描述信息发送至服务端,以便服务端根据所述任务ID和数据的描述信息查询服务端是否存储有已接收的数据包,并反馈查询结果;
若确定服务端未存储有已接收的数据包,则根据所述反馈结果向服务端发送编号为最小值的数据包;
若确定服务端存储有已接收的数据包,则向服务端发送编号N+1的数据包,所述编号N+1为服务端根据服务端存储的该任务ID下已接收数据包的最大编号N值计算并反馈的编号值;
待服务端对接收到的数据包验证通过并持久化存储后,继续响应服务端按照由小到大的顺序发出的下一编号数据包请求,向服务端发送下一编号数据包,直至数据包全部发送完毕。
2.根据权利要求1所述的一种跨域的任务调度断点续传方法,其特征在于,所述将数据包按顺序编号并进行持久化存储还包括:
根据消息摘要算法为每个数据包生成消息摘要,将匹配有消息摘要的各数据包进行持久化存储。
3.根据权利要求2所述的一种跨域的任务调度断点续传方法,其特征在于,所述待服务端对接收到的数据包验证通过并持久化存储后包括:
服务端根据接收到的数据包中的消息摘要验证数据包中数据的完整性和准确性;
若数据完整并准确,则将数据包中的消息摘要删除后进行持久化存储;
若数据不完整或不准确,则服务端重复请求该编号的数据包。
4.根据权利要求3所述的一种跨域的任务调度断点续传方法,其特征在于,所述向服务端发送下一编号数据包,直至数据包全部发送完毕还包括:
当向服务端发送的数据包为最大编号的数据包时,则向服务端发送数据包发送结束通知。
5.根据权利要求1所述的一种跨域的任务调度断点续传方法,其特征在于,所述获取待传输数据之后,所述方法还包括:
将获取的不同类型的数据转换为字节数组。
6.根据权利要求5所述的一种跨域的任务调度断点续传方法,其特征在于,所述方法还包括:
将所述字节数组数据按照指定的数据包大小拆分为多个数据包,最后一个数据包的大小为实际数据包大小。
7.根据权利要求5所述的一种跨域的任务调度断点续传方法,其特征在于,所述数据的描述信息包括指定数据包的大小、数据包的个数以及总的字节数组数据的大小。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令用于执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628523.5A CN109756567A (zh) | 2018-12-28 | 2018-12-28 | 一种跨域的任务调度断点续传方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628523.5A CN109756567A (zh) | 2018-12-28 | 2018-12-28 | 一种跨域的任务调度断点续传方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109756567A true CN109756567A (zh) | 2019-05-14 |
Family
ID=66404271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811628523.5A Pending CN109756567A (zh) | 2018-12-28 | 2018-12-28 | 一种跨域的任务调度断点续传方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756567A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411266A (zh) * | 2021-06-17 | 2021-09-17 | 浙江齐安信息科技有限公司 | 基于隔离装置的云数据传输方法及系统、终端、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009140813A1 (zh) * | 2008-05-23 | 2009-11-26 | 中兴通讯股份有限公司 | 实现断点续传的文件下载的方法、系统及终端 |
CN105025106A (zh) * | 2015-07-28 | 2015-11-04 | 焦点科技股份有限公司 | 一种基于分块及元信息的断点续传的方法 |
CN105471911A (zh) * | 2015-12-31 | 2016-04-06 | 广州多益网络科技有限公司 | 增强网络手游游戏稳定性的方法及系统 |
CN106375483A (zh) * | 2016-11-09 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 文件传输方法和装置 |
-
2018
- 2018-12-28 CN CN201811628523.5A patent/CN109756567A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009140813A1 (zh) * | 2008-05-23 | 2009-11-26 | 中兴通讯股份有限公司 | 实现断点续传的文件下载的方法、系统及终端 |
CN105025106A (zh) * | 2015-07-28 | 2015-11-04 | 焦点科技股份有限公司 | 一种基于分块及元信息的断点续传的方法 |
CN105471911A (zh) * | 2015-12-31 | 2016-04-06 | 广州多益网络科技有限公司 | 增强网络手游游戏稳定性的方法及系统 |
CN106375483A (zh) * | 2016-11-09 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 文件传输方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411266A (zh) * | 2021-06-17 | 2021-09-17 | 浙江齐安信息科技有限公司 | 基于隔离装置的云数据传输方法及系统、终端、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051717A (zh) | 一种http请求处理的方法、装置和设备 | |
CN110351283B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
US8447881B2 (en) | Load balancing for services | |
CN111225069B (zh) | 一种分布式行情数据处理系统及方法 | |
US10243919B1 (en) | Rule-based automation of DNS service discovery | |
CN104834722A (zh) | 基于cdn的内容管理系统 | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
CN107093138A (zh) | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 | |
CN111092877A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN106775486A (zh) | 数据访问系统、方法及路由服务器、配置中心服务器 | |
CN110162512A (zh) | 一种日志检索方法、装置及存储介质 | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
US7051118B2 (en) | Method and apparatus for anonymous subject-based addressing | |
CN105978936A (zh) | Cdn服务器及其缓存数据的方法 | |
CN103179148A (zh) | 一种在互联网中分享附件的处理方法和系统 | |
CN101808051A (zh) | 应用整合网关及其控制方法 | |
CN108259595A (zh) | 一种服务间异步调用的方法及系统 | |
CN109756567A (zh) | 一种跨域的任务调度断点续传方法 | |
CN109413224A (zh) | 报文转发方法和装置 | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
US20090083379A1 (en) | Enabling connections for use with a network | |
CN111294553B (zh) | 处理视频监控业务信令的方法、装置、设备和存储介质 | |
CN103647622A (zh) | 一种实现跨机房数据传输的方法、装置和系统 | |
CN101753561B (zh) | 业务的集群处理方法及集群系统 | |
CN113596105B (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: 20190514 |
|
RJ01 | Rejection of invention patent application after publication |