CN116996505A - 一种基于调度引擎的文件交换控制方法和系统 - Google Patents
一种基于调度引擎的文件交换控制方法和系统 Download PDFInfo
- Publication number
- CN116996505A CN116996505A CN202311252984.8A CN202311252984A CN116996505A CN 116996505 A CN116996505 A CN 116996505A CN 202311252984 A CN202311252984 A CN 202311252984A CN 116996505 A CN116996505 A CN 116996505A
- Authority
- CN
- China
- Prior art keywords
- task
- file
- node
- scheduling
- exchange
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 62
- 239000012634 fragment Substances 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000012805 post-processing Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000036541 health Effects 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 230000006378 damage Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- 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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于调度引擎的文件交换控制方法和系统,包括:定义文件交换任务,向调度引擎中的API节点发送启动文件交换任务请求;调度引擎中的API节点收到任务请求后,生成启动任务的调度命令;调度引擎中的多个调度节点轮询调度命令;当某个调度节点捕获到调度命令后,对调度命令加上分布式锁,阻止其他调度节点获取;该调度节点选择一个执行节点,向该执行节点发送文件交换任务指令;执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,以及任务指定的交换节点,向交换节点发送文件交换请求;交换节点对待交换的文件进行切片后,根据并发数设置,调用文件交换服务并发交换文件;服务端并发接收并存储文件。
Description
技术领域
本发明涉及计算机领域,具体涉及一种基于调度引擎的文件交换控制方法和系统。
背景技术
在不同的系统之间进行数据交换可以有多种方式,其中,文件交换是一种常见的数据交换方式,它可以帮助用户在不同系统之间安全地传输文件。然而,现有的文件交换系统存在一些易用性、安全性、稳定性及性能方面的问题,因此需要开发出一种具有控制中心、能够对交换节点下达交换指令、且具有监控能力的基于分布式执行节点的文件交换系统来解决这些问题。
发明内容
为了解决上述问题,本发明提供了一种基于调度引擎的文件交换控制方法和系统,该基于分布式执行节点的文件交换系统具有控制中心、能够对交换节点下达交换指令、且具备监控能力,从而解决了上述技术问题。
根据本发明的一方面,提出一种基于调度引擎的文件交换控制方法,包括如下步骤:
步骤S100,定义文件交换任务,向调度引擎中的API节点发送启动文件交换任务请求;其中,所述的文件交换任务中的信息包括文件交换涉及的文件信息及文件交换的目标端信息;
步骤S200,调度引擎中的API节点收到任务请求后,生成启动任务的调度命令;
步骤S300,调度引擎中的多个调度节点轮询调度命令;
步骤S400,当某个调度节点捕获到调度命令后,对调度命令加上分布式锁,阻止其他调度节点获取;该调度节点开始查询系统内所有可用的执行节点,根据执行节点剩余资源的调度策略,选择一个执行节点,向该执行节点发送文件交换任务指令;
步骤S500,执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,以及任务指定的交换节点,向交换节点发送文件交换请求;交换节点对待交换的文件进行切片后,根据并发数设置,调用文件交换服务并发交换文件;
步骤S600,执行节点监控任务运行状况,并用于在任务完成或失败后进行事后处理;
步骤S700,服务端并发接收并存储文件。
进一步的,其中,所述步骤S500,执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,具体包括:
步骤501解析任务类型,所述的任务类型区分为单文件传输或文件夹传输,文件夹传输进一步拆分为文件夹内每个文件的传输。
进一步的,其中,所述每个文件的传输,包括:
根据配置参数,判断对文件是否进行分片处理,若文件长度小于分片大小,则整个文件作为一个分片;若文件长度大于分片大小,则根据分片大小拆分为多个分片,并计算分片数量及每块分片的偏移量;计算完成后,根据并发数设置,然后向文件交换服务发送任务请求。
进一步的,其中,所述步骤S600,执行节点监控任务运行状况,并在任务完成或失败后进行事后处理,具体包括:
执行节点监听文件交换任务的运行情况,根据任务反馈的状态值,对任务进行对应处理,并向执行节点反馈整体任务进度、文件完成事件、任务完成信息、及任务失败信息。
进一步的,其中,所述的步骤S700,文件交换服务接收到任务请求后,按照任务参数并发传输文件具体包括;
文件交换服务接收文件传输请求,根据任务设置的保存路径,对文件进行传输操作,并实时向交换节点返回任务信息,具体包括:
任务正常执行中,返回正常状态值和整体任务进度信息;
当一个文件传输完成后,返回文件完成事件;
当任务整体完成后,返回任务完成状态值;
当任务失败后,返回任务失败状态值。
进一步的,其中,所述步骤S700之后,还包括:
步骤S800,当交换节点接收到任务完成状态或任务失败状态时,关闭交换节点的任务,并向执行节点返回任务完成或失败信息;
步骤S900,执行节点接收到任务完成或失败信息后,向调度节点返回任务完成或失败信息;
步骤S1000,调度节点接收到执行节点返回的任务状态值,设置文件交换任务状态,若返回状态值为完成,置文件交换任务状态为成功;若返回状态值为失败,置文件交换任务状态为失败。
进一步的,其中,文件交换服务预先初始化好具有预定数量线程的线程池,对文件进行切片后,使用线程对切片进行独立传输,线程对应的切片传输完成后再重复利用,用于传输剩余的切片。
进一步的,其中,对文件进行切片,每个线程独立传输一个文件切片。
进一步的,其中,文件交换服务中的文件传输组件集成嵌入式的数据库,数据库记录每个切片的大小、起始结束位置信息、以及传输状态;
在文件传输前,文件交换服务的客户端对文件进行切片;
在文件传输时,首先读取文件切片到BLOCK块中,然后按照BLOCK块传输到服务端,其中,BLOCK块传输过程支持MD5校验和加密,对于BLOCK块进行加密传输,服务端接收到文件后进行MD5完整性校验以及解密;
文件传输的过程中,当出现异常或传输中断时导致的文件传输失败,检测每个切片的状态,已经传输完成的切片不再进行传输,未传输或传输失败的切片会继续进行传输。
根据本发明的另一方面,还提出一种基于调度引擎的文件交换控制系统,包括:
调度节点,用于任务切分、任务提交、任务流程控制、任务监控,并同时监听其他调度节点和执行节点的健康状态;
执行节点,用于文件交换任务的执行;
API节点,用于处理任务的请求,该API节点提供REST API向外部提供请求服务,请求服务包括任务的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复;
Zookeeper中间件,用于提供节点的注册和查询能力,系统通过Zookeeper对节点进行管理与容错;其中,调度节点启动时在Zookeeper上进行注册,通过监听Zookeeper信息变化来进行容错处理,执行节点启动时在Zookeeper上进行注册。
本发明基于分布式执行节点的文件交换系统具有控制中心、能够对交换节点下达交换指令、且具备监控能力。
附图说明
图1是本发明的一种基于调度引擎的文件交换控制方法流程图;
图2是本发明实施例中调度引擎调度文件交换任务交互过程示意图;
图3是本发明实施例中文件交换服务中文件交换的实现方法。
具体实施方式
下面结合附图更详细地描述本发明的示例性实施例。附图中虽显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例中调度引擎调度文件交换任务的实现方法,图2是本发明实施例中调度引擎调度文件交换任务交互过程示意图;结合图1-2,该方法具体包括以下步骤:
步骤S100,定义文件交换任务,向调度引擎中的API节点发送启动文件交换任务请求;其中,所述的文件交换任务中的信息包括文件交换涉及的文件信息及文件交换的目标端信息;所述的文件信息例如文件名,文件大小,文件所在的位置路径等,所述的目标端信息包括目标端主机名称、IP地址等;
所述的调度引擎,其负责对文件交换控制系统整个流程的调度管理,可根据需要,自动调度执行节点,实现对文件的传输及处理的管控;调度引擎根据执行节点返回的任务状态信息,对文件交换任务状态进行更新;
步骤S200,调度引擎中的API节点收到任务请求后,生成启动任务的调度命令;
步骤S300,调度引擎中的多个调度节点轮询调度命令;
在一个实施例中,调度引擎中包括多个调度节点,每个节点都持续轮询调度命令;
步骤S400,当某个调度节点捕获到调度命令后,对调度命令加上分布式锁,阻止其他调度节点获取;该调度节点开始查询系统内所有可用的执行节点,根据执行节点剩余资源的调度策略,选择一个执行节点,向该执行节点发送文件交换任务指令;
在本发明中,由于每个节点都持续轮询调度命令,因此,在此过程中,会有某个节点首先捕获到调度命令,当该调度节点捕获到调度命令后,就对调度命令加上分布式锁,阻止其他调度节点获取,所述的分布式锁例如可以设置标志位,当其他调度节点读取到该标识位时,通过数值判断该调度命令已经处于被其他节点捕获的状态;
当捕获调度命令后,该调度节点开始查询系统内所有可用的执行节点,如果查询到可用的执行节点,则根据执行节点剩余资源的调度策略,选择该执行节点,向该执行节点发送文件交换任务指令;
步骤S500,执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,以及任务指定的交换节点,向交换节点发送文件交换请求;交换节点对待交换的文件进行切片后,根据并发数设置,调用文件交换服务并发交换文件;
所述的执行节点,其负责接收文件交换任务请求,获取任务指定的交换节点,向交换节点发送文件交换请求;还包括用于监控任务运行状况,以及用于任务执行结束时的事后处理;
所述的交换节点,其负责接收执行节点发出的指令,根据任务参数,判断是否为文件夹或文件交换,以及是否对文件进行分片处理,然后向文件交换服务发送任务请求;监听文件交换任务的运行情况;反馈任务完成情况;
所述的文件交换服务,其负责具体的文件传输功能;所述提升文件传输性能的方式包括但不限于;
使用线程池:对文件进行切片后,可以使用线程对切片进行独立传输,传统的方式是传输切片文件时创建一个线程,传输完成后进行销毁。线程的创建和销毁都会占用较多的资源,为了提升性能,文件传输组件引入了线程池,预先初始化好一定的线程,线程对应的切片传输完成后可以重复利用,提升了性能并减少了线程创建和销毁的资源消耗。
对文件进行切片:单线程传输文件性能很容易出现瓶颈,尤其在传输一个大文件的时候,通过文件切片技术,对大文件进行切分,每个线程独立传输一个文件切片,这样可以显著提升传输的性能,使大文件传输效率接近于网络或磁盘的极限。
切片级别的故障恢复:文件传输的过程中,可能遇到一些意外或者不可抗力的因素导致文件传输失败(如进程被杀死、计算机断电、网络故障等),传统的传输组件需要删掉传输过程中损坏的文件,重新进行文件传输,这在传输大文件时需要耗时较长,重新传输造成时间严重浪费。为了解决这个文件,文件传输组件集成了嵌入式的数据库,数据库会记录每个切片的大小、起始结束位置信息以及传输状态,当出现异常或传输中断时,会检测每个切片的状态,已经传输完成的切片不在进行传输,未传输或传输失败的切片会继续进行传输,极大的节省了出现故障时重新传输文件的时间。
具体的,步骤501解析任务类型,所述的任务类型区分为单文件传输或文件夹传输,文件夹传输进一步拆分为文件夹内每个文件的传输。
进一步的,所述每个文件的传输,包括:
根据配置参数,判断对文件是否进行分片处理,若文件长度小于分片大小,则整个文件作为一个分片;若文件长度大于分片大小,则根据分片大小拆分为多个分片,并记录分片数量及每块分片的偏移量;计算完成后,然后向文件交换服务发送任务请求;
其中,当有多个文件分片时,由多个线程进行并发的传输,在每个线程内,读取切片的一个BLOCK块大小的文件传输到文件交换服务端,文件交换服务端收到BLOCK块后缓存起来,达到设置的BLOCK块后,再进行批量保存。
在一个实施例中,文件传输前,文件交换服务的客户端会对文件进行切片;
传输时,每个线程会拿到一个文件切片,读取文件切片到BLOCK块中,然后按照BLOCK块传输到服务端,BLOCK块传输过程支持MD5校验和加密,加密后再传输,保证数据的安全;
所述的传输加密支持CRC和SHA加密算法,如果打开MD5校验功能不打开加密功能,则校验过程为:客户端接收到一个文件BLOCK块后,计算BLOCK块的MD5,将BLOCK块和客户端MD5传输到服务端,服务端接收后,计算BLOCK块的MD5,与客户端MD5进行对比,如果相等,将buffer写入文件,将成功状态返回客户端,客户端接收后继续传输下一个BLOCK块,如果不相等则返回校验失败给客户端,客户端重新传输该BLOCK块,直至相等或超过重试次数退出;
如果同时打开MD5校验和加密功能,校验过程为:
客户端接收到一个文件BLOCK块后,计算BLOCK块的MD5,并记录下来,然后对BLOCK块进行CRC或SHA加密(依据配置选择),加密后将BLOCK块和MD5传输到服务端,服务端接收后,对BLOCK块进行解密,并计算解密后的MD5,与客户端MD5进行对比,如果相同,将解密后的数据写入文件,返回成功状态,客户端接收后继续传输下一个BLOCK块,如果不相等返回校验失败给客户端,客户端重新传输该BLOCK块,直至传输成功或超过重试次数退出。
当所有BLOCK块传输完成,即整个切片传输完成后,客户端和服务端分别计算整个切片的MD5,如果相同则切片传输完成,线程退出,如果对比不同,则重新传输这个切片,直至传输成功或超过重试次数退出。
步骤S600,执行节点监控任务运行状况,并用于在任务完成或失败后进行事后处理;具体包括:
执行节点监听文件交换任务的运行情况,根据任务反馈的状态值,对任务进行对应处理,并向执行节点反馈整体任务进度、文件完成事件、任务完成信息、及任务失败信息。
步骤S700,服务端并发接收并存储文件。
具体的,文件交换服务接收文件传输请求,根据任务设置的保存路径,对文件进行传输操作,并实时向交换节点返回任务信息,分为:
1)任务正常执行中,返回正常状态值和整体任务进度信息;
2)当一个文件传输完成后,返回文件完成事件;
3)当任务整体完成后,返回任务完成状态值;
4)当任务失败后,返回任务失败状态值;
服务端并发的接收并存储文件交换服务传输的文件。
文件交换服务在进行文件传输时,会记录每一个分片的传输状态,当上传任务停止时(包含主动停止和意外导致的任务中止),再次启动任务会读取每一个分片的状态,已经传输完成的分片直接跳过,传输未完成的分片会重新传输;
进一步的,步骤S700后还可以包括如下步骤:
步骤S800,当交换节点接收到任务完成状态或任务失败状态时,关闭交换节点的任务,并向执行节点返回任务完成或失败信息;
步骤S900,执行节点接收到任务完成或失败信息后,向调度节点返回任务完成或失败信息;
步骤S1000,调度节点接收到执行节点返回的任务状态值,设置文件交换任务状态,若返回状态值为完成,置文件交换任务状态为成功;若返回状态值为失败,置文件交换任务状态为失败;
图3是本发明实施例中文件交换服务中文件交换的实现方法,其具体包括以下步骤:
步骤S701,文件交换服务接收到任务后,初始化资源,包括线程池和连接池,其大小都由参数可以控制;
在一个实施例中,所述的文件交换服务位于文件交换服务端,或者文件交换服务器上,由各种文件交换组件完成文件交换服务的功能。
步骤S702,文件交换组件根据任务信息判断任务是一个新任务还是一个未完成的任务,如果是新任务执行步骤S703,如果是未完成任务跳过步骤S703,直接执行步骤S704;
步骤S703,针对新任务,文件交换组件对需要交换的文件进行切片,默认大小100M为一个切片(可配置),如果文件小于100M,则整个文件为一个切片,如果文件最后一个切片小于100M,则最后一个切片按实际大小切分,并将切片信息保存到数据库表;
步骤S704:查询数据库表,获取所有切片,检查切片状态,只要是未完成状态都放入线程池对应一个线程进行执行;
步骤S7041:线程池的线程获取到切片开始文件交换,首先读取一个BLOCK块大小(默认2M,可配置)的数据,计算MD5,并将MD5值和原始数据一起发送到服务端;
步骤S7042:服务端接收后,写入到文件并做MD5比对,返回比对结果,如果对比结果一致,执行步骤S7043,如果对比结果不一致,执行步骤S7031;
步骤S7043:检测整个切片是否发送完成,如果未完成,继续发送下一个BLOCK块,如果完成了,执行步骤S7044;
步骤S7044:检查任务其他切片状态,如果全部切片都发送完成,释放资源,任务完成;如果有其他切片未完成,将本切片置为完成状态,线程退出回到线程池等待接取下个切片传输任务;
步骤S7045:如果发送BLOCK块后校验MD5不一致,检测BLOCK块的发送次数,如果未超过设置的最大重试次数(默认3次,可配置),BLOCK块的发送次数加一,重新执行步骤S7041;如果发送次数超过最大值,抛出异常,停止任务并将任务置为失败状态;
可见,本发明在文件传输过程中,为保证文件传输的准确性,文件交换服务支持对每个BLOCK分块进行MD5校验,客户端会对BLOCK计算MD5值,然后将BLOCK数据和MD5值一起发送到服务端。服务端接收到客户端发送的BLOCK数据后,计算其MD5值,并与客户端的MD5进行杜比,如果MD5一致,则将这个BLOCK写入到文件;如果客户端与服务端的MD5不一致,则这个BLOCK分块可以重新传输,如果重试N次后仍然失败(失败次数可配置),认为文件传输失败,退出任务;
根据本发明另一方面,还提出一种基于调度引擎的文件交换控制系统,其中包含调度引擎,它负责管理文件交换系统整个运行流程的调度,可根据需要,自动调度执行节点,以实现文件的传输和处理。该系统包括:
调度节点,用于任务切分、任务提交、任务流程控制、任务监控,并同时监听其他调度节点和执行节点的健康状态;
执行节点,用于文件交换任务的执行;
API节点,用于处理任务的请求,该API节点提供REST API向外部提供请求服务,请求服务包括任务的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复;
所述Zookeeper中间件,用于提供节点的注册和查询能力,系统通过Zookeeper对节点进行管理与容错;其中,调度节点启动时在Zookeeper上进行注册,通过监听Zookeeper信息变化来进行容错处理,执行节点启动时在Zookeeper上进行注册。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (10)
1.一种基于调度引擎的文件交换控制方法,其特征在于,包括如下步骤:
步骤S100,定义文件交换任务,向调度引擎中的API节点发送启动文件交换任务请求;其中,所述的文件交换任务中的信息包括文件交换涉及的文件信息及文件交换的目标端信息;
步骤S200,调度引擎中的API节点收到任务请求后,生成启动任务的调度命令;
步骤S300,调度引擎中的多个调度节点轮询调度命令;
步骤S400,当某个调度节点捕获到调度命令后,对调度命令加上分布式锁,阻止其他调度节点获取;该调度节点开始查询系统内所有可用的执行节点,根据执行节点剩余资源的调度策略,选择一个执行节点,向该执行节点发送文件交换任务指令;
步骤S500,执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,以及任务指定的交换节点,向交换节点发送文件交换请求;交换节点对待交换的文件进行切片后,根据并发数设置,调用文件交换服务并发交换文件;
步骤S600,执行节点监控任务运行状况,并用于在任务完成或失败后进行事后处理;
步骤S700,服务端并发接收并存储文件。
2.根据权利要求1所述的一种基于调度引擎的文件交换控制方法,其特征在于,所述步骤S500,执行节点接收到任务指令后,对任务信息进行解析,获取任务类型,具体包括:
步骤501解析任务类型,所述的任务类型区分为单文件传输或文件夹传输,文件夹传输进一步拆分为文件夹内每个文件的传输。
3.根据权利要求2所述的一种基于调度引擎的文件交换控制方法,其特征在于,所述每个文件的传输,包括:
根据配置参数,判断对文件是否进行分片处理,若文件长度小于分片大小,则整个文件作为一个分片;若文件长度大于分片大小,则根据分片大小拆分为多个分片,并计算分片数量及每块分片的偏移量;计算完成后,根据并发数设置,然后向文件交换服务发送任务请求。
4.根据权利要求1所述的一种基于调度引擎的文件交换控制方法,其特征在于,所述步骤S600,执行节点监控任务运行状况,并在任务完成或失败后进行事后处理,具体包括:
执行节点监听文件交换任务的运行情况,根据任务反馈的状态值,对任务进行对应处理,并向执行节点反馈整体任务进度、文件完成事件、任务完成信息、及任务失败信息。
5.根据权利要求1所述的一种基于调度引擎的文件交换控制方法,其特征在于,所述的步骤S700,文件交换服务接收到任务请求后,按照任务参数并发传输文件具体包括;
文件交换服务接收文件传输请求,根据任务设置的保存路径,对文件进行传输操作,并实时向交换节点返回任务信息,具体包括:
任务正常执行中,返回正常状态值和整体任务进度信息;
当一个文件传输完成后,返回文件完成事件;
当任务整体完成后,返回任务完成状态值;
当任务失败后,返回任务失败状态值。
6.根据权利要求1所述的一种基于调度引擎的文件交换控制方法,其特征在于,所述步骤S700之后,还包括:
步骤S800,当交换节点接收到任务完成状态或任务失败状态时,关闭交换节点的任务,并向执行节点返回任务完成或失败信息;
步骤S900,执行节点接收到任务完成或失败信息后,向调度节点返回任务完成或失败信息;
步骤S1000,调度节点接收到执行节点返回的任务状态值,设置文件交换任务状态,若返回状态值为完成,置文件交换任务状态为成功;若返回状态值为失败,置文件交换任务状态为失败。
7.根据权利要求6所述的一种基于调度引擎的文件交换控制方法,其特征在于,文件交换服务预先初始化好具有预定数量线程的线程池,对文件进行切片后,使用线程对切片进行独立传输,线程对应的切片传输完成后再重复利用,用于传输剩余的切片。
8.根据权利要求6所述的一种基于调度引擎的文件交换控制方法,其特征在于,
对文件进行切片,每个线程独立传输一个文件切片。
9.根据权利要求6所述的一种基于调度引擎的文件交换控制方法,其特征在于,
文件交换服务中的文件传输组件集成嵌入式的数据库,数据库记录每个切片的大小、起始结束位置信息、以及传输状态;
在文件传输前,文件交换服务的客户端对文件进行切片;
在文件传输时,首先读取文件切片到BLOCK块中,然后按照BLOCK块传输到服务端,其中,BLOCK块传输过程支持MD5校验和加密,对于BLOCK块进行加密传输,服务端接收到文件后进行MD5完整性校验以及解密;
文件传输的过程中,当出现异常或传输中断时导致的文件传输失败,检测每个切片的状态,已经传输完成的切片不再进行传输,未传输或传输失败的切片会继续进行传输。
10.一种基于调度引擎的文件交换控制系统,其特征在于,包括:
调度节点,用于任务切分、任务提交、任务流程控制、任务监控,并同时监听其他调度节点和执行节点的健康状态;
执行节点,用于文件交换任务的执行;
API节点,用于处理任务的请求,该API节点提供REST API向外部提供请求服务,请求服务包括任务的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复;
Zookeeper中间件,用于提供节点的注册和查询能力,系统通过Zookeeper对节点进行管理与容错;其中,调度节点启动时在Zookeeper上进行注册,通过监听Zookeeper信息变化来进行容错处理,执行节点启动时在Zookeeper上进行注册。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311252984.8A CN116996505B (zh) | 2023-09-27 | 2023-09-27 | 一种基于调度引擎的文件交换控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311252984.8A CN116996505B (zh) | 2023-09-27 | 2023-09-27 | 一种基于调度引擎的文件交换控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116996505A true CN116996505A (zh) | 2023-11-03 |
CN116996505B CN116996505B (zh) | 2023-12-15 |
Family
ID=88523564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311252984.8A Active CN116996505B (zh) | 2023-09-27 | 2023-09-27 | 一种基于调度引擎的文件交换控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116996505B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN106527968A (zh) * | 2016-09-21 | 2017-03-22 | 苏州市广播电视总台 | 一种基于文件直通技术的文件传输方法 |
CN108268314A (zh) * | 2016-12-31 | 2018-07-10 | 北京亿阳信通科技有限公司 | 一种多线程任务并发处理的方法 |
CN113254010A (zh) * | 2021-07-09 | 2021-08-13 | 广州光点信息科技有限公司 | 一种可视化dag工作流任务调度系统及其运行方法 |
CN113934782A (zh) * | 2021-09-22 | 2022-01-14 | 易联众智鼎(厦门)科技有限公司 | 一种基于dag模型的数据etl系统及使用方法 |
CN114338651A (zh) * | 2021-12-27 | 2022-04-12 | 中电金信软件有限公司 | 文件传输方法、装置、电子设备及可读存储介质 |
CN115339656A (zh) * | 2022-08-16 | 2022-11-15 | 北京华云星地通科技有限公司 | 一种面向多卫星应用的运行控制系统 |
CN115776486A (zh) * | 2022-11-18 | 2023-03-10 | 航天网安技术(深圳)有限公司 | 一种基于交换节点分层组团的电子文件交换方法及系统 |
CN116089121A (zh) * | 2023-02-02 | 2023-05-09 | 华能吉林发电有限公司 | 一种数据共享交互平台及其应用方法 |
-
2023
- 2023-09-27 CN CN202311252984.8A patent/CN116996505B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN106527968A (zh) * | 2016-09-21 | 2017-03-22 | 苏州市广播电视总台 | 一种基于文件直通技术的文件传输方法 |
CN108268314A (zh) * | 2016-12-31 | 2018-07-10 | 北京亿阳信通科技有限公司 | 一种多线程任务并发处理的方法 |
CN113254010A (zh) * | 2021-07-09 | 2021-08-13 | 广州光点信息科技有限公司 | 一种可视化dag工作流任务调度系统及其运行方法 |
CN113934782A (zh) * | 2021-09-22 | 2022-01-14 | 易联众智鼎(厦门)科技有限公司 | 一种基于dag模型的数据etl系统及使用方法 |
CN114338651A (zh) * | 2021-12-27 | 2022-04-12 | 中电金信软件有限公司 | 文件传输方法、装置、电子设备及可读存储介质 |
CN115339656A (zh) * | 2022-08-16 | 2022-11-15 | 北京华云星地通科技有限公司 | 一种面向多卫星应用的运行控制系统 |
CN115776486A (zh) * | 2022-11-18 | 2023-03-10 | 航天网安技术(深圳)有限公司 | 一种基于交换节点分层组团的电子文件交换方法及系统 |
CN116089121A (zh) * | 2023-02-02 | 2023-05-09 | 华能吉林发电有限公司 | 一种数据共享交互平台及其应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116996505B (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7694177B2 (en) | Method and system for resynchronizing data between a primary and mirror data storage system | |
US7793060B2 (en) | System method and circuit for differential mirroring of data | |
US7650477B2 (en) | Method for changing a remote copy pair | |
CN114338651B (zh) | 文件传输方法、装置、电子设备及可读存储介质 | |
US5544304A (en) | Fault tolerant command processing | |
US9069597B2 (en) | Operation management device and method for job continuation using a virtual machine | |
US20090240974A1 (en) | Data replication method | |
CN109714409B (zh) | 一种消息的管理方法和系统 | |
EP2144167B1 (en) | Remote file system, terminal device, and server device | |
US7797571B2 (en) | System, method and circuit for mirroring data | |
CN103226450A (zh) | 服务器及其方法 | |
KR101024249B1 (ko) | 실시간 데이터 복제 시스템 | |
CN116996505B (zh) | 一种基于调度引擎的文件交换控制方法和系统 | |
WO2020094063A1 (zh) | 存储数据的方法、装置、存储介质及电子装置 | |
US7240043B2 (en) | Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same | |
US8289838B2 (en) | Data transfer in a messaging system | |
JP2776442B2 (ja) | 複合コンピュータシステム | |
KR100462986B1 (ko) | 프로세스 고유 정보를 사용한 프로세스 상태 관리 방법 | |
KR100606339B1 (ko) | 에이치엘알 시스템의 프로세스 상태 관리 시스템 및 그 방법 | |
CN118555287A (zh) | 一种数据库流式备份断点续传的方法、装置、设备及介质 | |
JP2908430B1 (ja) | マルチプロセッサシステムのホストプロセッサ監視装置および監視方法 | |
CN112019360A (zh) | 配置数据处理方法、软件定义网络设备、系统及存储介质 | |
CN114138530A (zh) | 基于云原生的消息处理方法、装置、设备及存储介质 | |
JP5432595B2 (ja) | 通信装置及びその処理方法 | |
JP2002094718A (ja) | 情報処理装置および情報処理装置のデータ処理方法および記憶媒体 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |