CN114827129A - 一种文件分发方法、装置及其介质 - Google Patents

一种文件分发方法、装置及其介质 Download PDF

Info

Publication number
CN114827129A
CN114827129A CN202210451727.6A CN202210451727A CN114827129A CN 114827129 A CN114827129 A CN 114827129A CN 202210451727 A CN202210451727 A CN 202210451727A CN 114827129 A CN114827129 A CN 114827129A
Authority
CN
China
Prior art keywords
file
received
transmitted
node
data
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
Application number
CN202210451727.6A
Other languages
English (en)
Inventor
刘一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202210451727.6A priority Critical patent/CN114827129A/zh
Publication of CN114827129A publication Critical patent/CN114827129A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

本申请公开了一种文件分发方法、装置及其介质,涉及通信技术领域,用于实现配置文件的分发,针对目前分发配置文件的方法效率不够高的问题,提供了一种文件分发方法,包括:通过建立多个线程分别与不同的待接收节点建立会话连接,以将待传输文件发送至多个待接收节点中,实现一对多的配置文件分发,无需管理端分别与不同待接收节点分别建立一对一的会话连接,再发送待传输文件,提高了配置文件分发的效率。同时,由于可以实现一对多的文件传输,所以管理端无需进行多次文件传输过程,进而无需在每次文件传输过程中都进行一次待传输文件的读入,进一步节省了配置文件分发的时间,提高了效率。

Description

一种文件分发方法、装置及其介质
技术领域
本申请涉及通信技术领域,特别是涉及一种文件分发方法、装置及其介质。
背景技术
在如今的虚拟化管理平台中,存在为虚拟化正常运行而存在的各种资源设备,如服务器、存储、交换机等。其中,每种资源都通过特定的软件来实现,而每种软件又都有各自的配置文件,需要使用指令进行修改。但由于系统、网络等问题,可能会存在配置文件在修改时出现问题的情况,导致配置文件出错。为解决这一情况,目前采用统一向各资源设备分发配置文件的方法,以保证稳定性。现有的向各资源设备分发配置文件的方法主要有两种:其一为通过文件传输工具进行传输,如文件传输协议(File Transfer Protocol,FTP)等;其二为使用一种传输模块实现配置文件的分发,这种传输模块是以套接字(socket)方式使用传输控制协议(Transmission Control Protocol,TCP)进行开发而实现的。
目前在向各资源设备分发配置文件时所使用的两种方法都是通过节点之间一对一的建立连接,然后再进行配置文件的传输,也即管理端(数据发送方)要分别与每个资源设备(数据接收方,也即待接收节点)建立一对一的连接,并进行数据传输。这种数据传输方式效率不够高,且每次数据传输都需要管理端重新全量读取文件,进一步降低数据的传输效率。
所以,现在本领域的技术人员亟需要一种文件分发方法,解决目前在传输配置文件时效率不够高的问题。
发明内容
本申请的目的是提供一种文件分发方法、装置及其介质,解决目前在传输配置文件时效率不够高的问题。
为解决上述技术问题,本申请提供一种文件分发方法,包括:
接收配置文件分发请求,配置文件分发请求包括各待接收节点的地址和待传输文件;
根据待接收节点的数量建立相应数量的线程,且每个线程用于向不同的待接收节点发送会话建立请求,以建立与待接收节点的会话连接;
通过建立的会话连接,将待传输文件发送至各待接收节点。
优选地,将待传输文件发送至各待接收节点之前,还包括:读入待传输文件,并存储于缓冲区中;对应的,将待传输文件发送至各待接收节点包括:将缓冲区中的数据发送至各待接收节点。
优选地,将待传输文件发送至各待接收节点之前,还包括:将待传输文件根据预设大小分成多个数据块;对应的,将待传输文件发送至各待接收节点包括:读入当前数据块,并通过基于TCP协议的文件传输模块将数据块发送至各待接收节点;当前数据块被发送至各待接收节点后,读入下一数据块,直至所有数据块被发送至各待接收节点;其中,读入数据块的顺序为数据块于待传输文件中的先后顺序。
优选地,通过建立的会话连接,将待传输文件发送至各待接收节点包括:存在任一建立成功的会话连接后,将待传输文件发送至各待接收节点。
优选地,将待传输文件发送至各待接收节点之后,还包括:生成结束标识,并发送至各待接收节点;判断是否还存在开启状态的会话连接;若存在,则通过处于开启状态的会话连接,重新将待传输文件发送至对应的待接收节点;其中,会话连接由待接收节点判断待传输文件全量接收完毕后关闭。
优选地,应用于待接收节点侧,会话连接由待接收节点判断待传输文件全量接收完毕后关闭包括:当接收到结束标识时,比对接收到的数据量与待传输文件的大小;若相同,则断开会话连接;若不同,则保持会话连接。
优选地,应用于待接收节点侧,还包括:在接收到结束标识之前,将接收到的数据存入第一文件;在接收到结束标识之后,将接收到的数据存入第二文件;根据第二文件在前、第一文件在后的顺序将第一文件和第二文件首尾连接,以得到待传输文件。
为解决上述技术问题,本申请还提供一种文件分发装置,包括:
请求接收模块,用于接收配置文件分发请求,配置文件分发请求包括各待接收节点的地址和待传输文件;
连接建立模块,用于根据待接收节点的数量建立相应数量的线程,且每个线程用于向不同的待接收节点发送会话建立请求,以建立与待接收节点的会话连接;
文件传输模块,用于通过建立的会话连接,将待传输文件发送至各待接收节点。
优选地,还包括:
数据缓存模块,用于读入待传输文件,并存储于缓冲区中;对应的,将待传输文件发送至各待接收节点包括:将缓冲区中的数据发送至各待接收节点。
数据切分模块,用于将待传输文件根据预设大小分成多个数据块;对应的,将待传输文件发送至各待接收节点包括:读入当前数据块,并通过基于TCP协议的文件传输模块将数据块发送至各待接收节点;当前数据块被发送至各待接收节点后,读入下一数据块,直至所有数据块被发送至各待接收节点;其中,读入数据块的顺序为数据块于待传输文件中的先后顺序。
补偿发送模块,用于生成结束标识,并发送至各待接收节点;判断是否还存在开启状态的会话连接;若存在,则通过处于开启状态的会话连接,重新将待传输文件发送至对应的待接收节点;其中,会话连接由待接收节点判断待传输文件全量接收完毕后关闭。
文件拼接模块,用于在接收到结束标识之前,将接收到的数据存入第一文件;在接收到结束标识之后,将接收到的数据存入第二文件;根据第二文件在前、第一文件在后的顺序将第一文件和第二文件首尾连接,以得到待传输文件。
为解决上述技术问题,本申请还提供一种文件分发方法装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的文件分发方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的文件分发方法的步骤。
本申请提供的一种文件分发方法通过建立多个线程分别与不同的待接收节点建立会话连接,以将待传输文件发送至多个待接收节点中,实现一对多的配置文件分发,无需管理端分别与不同待接收节点分别建立会话连接,再发送待传输文件,提高了配置文件分发的效率。同时,由于可以实现一对多的文件传输,所以管理端无需进行多次文件传输过程,进而无需在每次文件传输过程中都进行一次待传输文件的读入,进一步节省了配置文件分发的时间,提高了效率。
本申请提供的文件分发装置、及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种文件分发方法的流程图;
图2为本发明提供的一种文件分发装置的结构图;
图3为本发明提供的另一种文件分发装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种文件分发方法、装置及其介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
本申请针对目前在统一向资源设备分发配置文件时,通常采用的方法都为一对一的建立连接,并传输配置文件,传输效率不够高的同时,每一次文件传输都需要数据管理端读入一次配置文件,进一步降低了配置文件分发效率的问题,提供一种文件分发方法,如图1所示,包括:
S11:接收配置文件分发请求,配置文件分发请求包括各待接收节点的地址和待传输文件。
S12:根据待接收节点的数量建立相应数量的线程,且每个线程用于向不同的待接收节点发送会话建立请求,以建立与待接收节点的会话连接。
S13:通过建立的会话连接,将待传输文件发送至各待接收节点。
需要进行说明的是,本申请提到的配置文件,即为在配置文件分发过程中的待传输文件。另外,对于何时进行待传输文件的分发,可以待全部会话连接建立完毕之后统一进行发送,也可以当有一个会话连接建立时立刻进行发送,后续建立的会话连接通过补偿发送的形式确保接收到全量的待传输文件,本实施例对此不做限制。
本申请通过建立多个线程,每个线程分别用于建立与不同节点之间的会话连接,使得管理端与各资源设备之间建立一对多的传输通道,进而实现一对多的配置文件分发,提高了配置文件分发的效率。
在实际应用中,每次进行配置文件传输时,都需要管理端全量读入待传输文件,再发送给建立连接的节点,以完成文件分发过程。由于只有会话连接建立完毕之后才能向对应节点传输配置文件,而会话连接的建立过程和管理端读入配置文件的过程是互不影响的,所以本实施例提供一种优选的实施方案,在将待传输文件发送至各待接收节点之前,还包括:
读入待传输文件,并存储于缓冲区中。
对应的,将待传输文件发送至各待接收节点包括:
将缓冲区中的数据发送至各待接收节点。
本实施例通过将待传输文件存储于缓冲区中,当会话连接建立完毕后,可以直接从缓冲区调取数据进行传输,无需再次读入待传输文件,使得会话连接的建立过程和待传输文件的读入过程能够并行开始,从而进一步节省数据传输所用的时间,提高配置文件分发效率。另外,本方法通过一对多直接分发配置文件,还避免了频繁读取待传输文件,进一步降低了数据传输所用的时间,进一步提高了配置文件分发的效率。
基于上述实施例所提供的优选方案,本实施例还提供一种优选的实施方案,在将待传输文件发送至各待接收节点之前,还包括:将待传输文件根据预设大小分成多个数据块。
对应的,将待传输文件发送至各待接收节点包括:读入当前数据块,并通过基于TCP协议的文件传输模块将数据块发送至各待接收节点;当前数据块被发送至各待接收节点后,读入下一数据块,直至所有数据块被发送至各待接收节点。
其中,读入数据块的顺序为数据块于待传输文件中的先后顺序。
也即,将待传输文件分成若干预设大小的数据块,一般来说,数据块的大小即为缓冲区的容量。若待传输文件的大小不为缓冲区容量的整数倍,则一种可能的实施方案为:最后一个数据块可小于预设大小,其他数据块仍为预设大小。
当把待传输文件分成若干数据块之后,通过基于TCP协议的文件传输模块按顺序将各个数据块发送至建立连接的各节点中。
由于基于TCP协议进行的数据传输是按序完成的,且不会出现数据丢失的现象,所以上述实施例所提供的将待传输文件分成若干数据块的形式可有效的节省缓冲区的空间,避免当待传输文件过大时,对缓冲区的要求过高。
同时,如上述实施例所述,数据传输可以是在会话连接全部建立时进行,也可以是存在建立成功的会话连接后就进行。所以,在上述实施例的基础上,本实施例还提供一种优选的实施方案,通过建立的会话连接,将待传输文件发送至各待接收节点包括:
存在任一建立成功的会话连接后,将待传输文件发送至各待接收节点。
也即,若基于上述实施例所提供的优选方案,将待传输文件分成若干部分;当存在建立成功的会话连接后,开始传输第一个数据块;当后续会话连接建立后,则跟随当前的传输进度传输相应的数据块。由于数据传输是基于TCP协议进行的,数据不会丢失,分块传输也不会影响数据的完整性,并且每个后续的会话连接所缺少的数据块一定是从头开始的若干数据块,在补偿传输时从头补偿即可。
所以,这种存在任一建立成功的会话连接即开始传输数据的方式不会导致数据的丢失,反而因为不等待所有会话连接都建立完成后才进行数据传输,可以提高数据传输的效率,进一步提高了配置文件的分发效率。
由上述实施例可知,当采用存在任一会话连接建立成功即开始数据传输的优选方案时,后建立的会话连接会存在部分数据块接收不到需要进行补偿发送的情况,因此,本实施例提供一种优选方案,在将待传输文件发送至各待接收节点之后,还包括:
生成结束标识,并发送至各待接收节点。
判断是否还存在开启状态的会话连接;若存在,则通过处于开启状态的会话连接,重新将待传输文件发送至对应的待接收节点。
其中,会话连接由待接收节点判断待传输文件全量接收完毕后关闭。
由上述可知,本实施例所提供的一种优选方案用于提供一种待传输文件的补偿传输方法,当存在会话连接为后续建立时,其无法接收到位于待传输文件首端的若干数据块(具体缺少几个数据块由该会话连接何时建立决定,但由上述实施例可知,数据块的传输是基于TCP协议实现的,所以无论缺少几个数据块,缺少的数据块一定是从待传输文件首端开始、连续的若干数据块),所以需要进行数据的补偿发送。当第一次待传输文件的分发完成后,生成结束标识,以通知各节点本次数据传输完成,各节点判断其是否全量接收了待传输文件,并据此选择是否关断会话连接。之后进入数据补偿发送阶段,管理端重新读入待传输文件,根据还存在的会话连接进行数据传输,以保证数据的全量发送。
另外,由上述实施例可知,会话连接的建立由线程来实现,与数据传输过程的互不影响的。所以在实际应用中,仅在一种极不理想的情况中,会出现存在会话连接在进行最后一个数据块传输时,才建立成功,此时,该会话连接对应的节点没有接收到待传输文件的任一数据块,需要进行待传输文件的全量补发,也即管理端需要第二次全量读入待传输文件。与其他情况中,由于TCP协议为按序发送数据,向各节点补偿发送时仅需从待传输文件首端开始读入若干数据块进行补发即可。因此,本实施例所提供的一种优选方案在进行数据补偿发送时,还有至多需要管理端进行两次待传输文件的全量读入的效果,相对于目前一一进行连接,且每次数据传输都需要进行一次待传输文件的读入来说,要减少了因为数据读入对数据传输带来的延时,进一步提高了配置文件的分发效率。
此外,基于上述实施例,本实施例还提供一种各节点判断待传输文件是否接收完毕的优选方案,包括:
当接收到结束标识时,比对接收到的数据量与待传输文件的大小;若相同,则断开会话连接;若不同,则保持会话连接。
由上述实施例可知,使用基于TCP协议的文件传输模块进行数据传输为按序发送的,且不会出现数据丢失的现象。所以对于作为数据接收端的各节点(也即各资源设备)来说,不会重复接收到相同的数据,接收的数据也不会丢失。进而,通过比对接收到的数据量与待传输文件的总数据量的大小,可以简单地实现如何判断出是否全量接收了待传输文件,当全量接收时,无需再接收数据,可以断开与管理端的会话连接。
由上述实施例可知,当一次待传输文件全量分发完毕后,管理端会生成一个结束标识以告知各节点第一次配置文件分发完成,接下来为数据补偿阶段,所以对于未全量接收到待传输文件的各节点来说,之后接收到的数据不再为按之前数据的顺序所发送的。所以,本实施例基于上述实施例,提供一种优选的实施方案,应用于各待接收节点侧,本方法还包括:
在接收到结束标识之前,将接收到的数据存入第一文件;在接收到结束标识之后,将接收到的数据存入第二文件;根据第二文件在前、第一文件在后的顺序将第一文件和第二文件首尾连接,以得到待传输文件。
由上述可知,本实施例的数据传输是基于TCP协议实现的,所以,结束标识前接收到的数据一定是连续的,结束标识后接收到的数据也是连续的,且结束标识后接收到的数据在待传输文件上的顺序于结束标识前接收到的数据之前。因此,以接收到结束标识为分界点,将之前和之后接收到的数据分别存储于两个不同的文件,待全部接受完毕后,将两个文件首尾拼接起来,即可得到完整的待传输文件。
本实施例通过将结束标识前后接受到的数据分开保存,以避免数据顺序的混乱,并通过后续的以第一文件在前、第二文件在后的顺序进行两文件的首尾拼接,获得正确无误的待传输文件,使得后续建立会话连接的各节点能够通过数据的补偿发送获得正确、完整的待传输文件,保证了配置文件分发过程的准确性。
由于上述对于本申请所提供的一种文件分发方法的说明是层层递进的,所以为进一步说明本方法,下面结合实际应用场景,对于上述的文件分发方法进行进一步的说明:
整个文件分发方法可根据应用主体的不同,大致分为成两部分,分别用在管理端侧(配置文件的发送方)和待接收节点侧(配置文件的接收方,也即资源设备)。
管理端侧在实现本方法时,可由以下模块实现:多个线程、文件传输模块、会话维护模块、数据传输模块和传输维护模块。
上述的文件分发方法也可根据数据发送阶段的不同,分为数据首次发送阶段和数据补偿发送阶段。下面以数据发送阶段的不同,分别从管理端侧和待接收节点侧进行说明。
1)数据首次发送阶段—管理端侧
线程由管理端在接收到用户端发送的文件分发请求时被管理端建立,数量与所需进行配置文件分发的待接收节点的数量一致,用于建立管理端与对应的待接收节点的会话连接。其中,建立会话连接的过程为异步非阻塞的,也即各个线程向各自对应的待接收节点执行连接建立请求,彼此之间并行处理。
另外,在线程建立完毕对应的会话连接后,该会话连接被会话维护模块拉入到可用会话队列中,该可用会话队列初始为空。
同时,传输维护模块加入此传输任务的任务信息,包括待传输文件的名称、文件大小、传输状态、以及已传输大小等等,并且上述的传输任务的相关信息随着传输任务的进行实时更新。
在线程建立各会话连接的同时,数据传输模块开始将输入的待传输文件按顺序读入预设大小的数据块,并存入缓冲区中。当缓冲区内存在待发送的数据时,于会话维护模块维护的可用会话队列中拉取全部可用的会话队列,若存在至少一条可用会话连接,则通过基于TCP协议的文件传输模块将缓冲区内的数据传输至各待接收节点中。
在数据传输模块拉取到可用的会话连接之后,还开启与可用会话连接相同数量的线程,用于将缓冲区内存储的数据块的大小与待传输文件的剩余数据量进行比较(待传输文件的剩余数据量可由传输维护模块中的文件大小和已传输大小获取);若缓冲区内数据块的大小小于或等于剩余数据量,则由文件传输模块通过可用会话连接传输至已连接的待接收节点;同时,更新传输维护模块中的任务信息。
需要说明的是,数据传输模块在进行数据传输时,不干扰会话连接的建立,会话连接的建立也不打断当前的数据传输,也即,当存在任意一条可用会话连接后,数据传输模块开始数据传输工作,且待传输文件是通过分成若干数据块依次进行传输的。当后续的会话连接被建立后,则当数据传输模块传输完当前数据块后、调取全部可用会话连接时,对应的待接收节点开始参与数据传输,且进度以当前数据传输模块正在传输的数据块为准。
举例说明即为:存在会话连接A被首先建立,数据传输模块开始传输数据块1;在传输数据块1时,会话连接B被建立;待数据块1传输完毕后,数据传输模块重新拉取可用会话连接;此时拉取到会话连接A和B,开始传输数据块2;后续同理,不再赘述。
因此,在整个数据首次发送阶段结束后,会话连接A对应的待接收节点获取到全量的待传输文件,而会话连接B对应的待接收节点则获取除去数据块1之外的全部待传输文件。在后续的数据补偿发送阶段时,会话连接B对应的待接收节点仅需补发数据块1即可。
另外,当管理端将全部的数据块都传输过一遍后,视为数据首次发送阶段结束,生成结束标识(通常为-1),发送至各待测节点中,准备进入数据补偿发送阶段。
2)数据首次发送阶段—待接收节点侧
当接收到由线程发送的连接建立请求后,建立与管理端之间的会话连接,并等待数据传输;当接收到管理端分发的数据时,直接将接收到的数据写入磁盘,以文件的形式保存,直至接收到结束标识,且此前接收到的数据都保存在同一文件(第一文件)内;此时尚不进行会话连接的断开工作,先进行数据校验,判断待传输文件的文件大小和接收数据量;若相同,则断开与管理端之间的会话连接;若不同,则保持会话连接,等待数据的补偿发送(由于数据是基于TCP协议发送的,数据块按序发送,不存在接收数据量大于待传输文件大小的情况)。
因此,在数据首次发送阶段结束后,会话维护模块中应存在两种状态的会话连接,一是已全量接收待传输文件,为关闭状态;另一是尚未全量接收待传输文件(在最不理想的极端情况下,例如在进行最后一个数据块传输时才连接成功的会话,可以是未接收到任何部分的待传输文件),为开启状态。
此时,已关闭的会话连接被移出可用会话队列,并更新传输维护模块中的任务信息为已完成;未关闭的会话连接通过传输维护模块查找其已传输的数据量,计算其剩余数据量,并更新至传输维护模块中。
至此,开始数据补偿发送阶段。
3)数据补偿发送阶段—管理端侧
与数据首次发送阶段相同,管理端从头开始向所有可用会话连接发送待传输文件,直至数据传输模块无法拉取到可用会话连接为止,停止对待传输文件剩余的数据块进行读入,视为本次配置文件分发过程管理端的步骤结束。
4)数据补偿发送阶段—待接收节点侧
此阶段,每当接收到由管理端发送的数据块,即进行一次上述2)中的数据校验工作,若已全量接收待传输文件,则断开会话连接,若未全量接收,则保持会话连接继续等待数据传输。另外,于数据补偿发送阶段接收到的数据全部存储于另一文件(第二文件)中,当数据校验判断已全量接收后,将第一文件和第二文件以第二文件在前、第一文件在后的顺序首尾拼接,最终获取完整的待传输文件。
至此,整个配置文件分发过程结束。
在上述实施例中,对于一种文件分发方法进行了详细描述,本申请还提供一种文件分发装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种文件分发装置,如图2所示,包括:
请求接收模块21,用于接收配置文件分发请求,配置文件分发请求包括各待接收节点的地址和待传输文件。
连接建立模块22,用于根据待接收节点的数量建立相应数量的线程,且每个线程用于向不同的待接收节点发送会话建立请求,以建立与待接收节点的会话连接。
文件传输模块23,用于通过建立的会话连接,将待传输文件发送至各待接收节点。
优选地,还包括:
数据缓存模块,用于读入待传输文件,并存储于缓冲区中;对应的,将待传输文件发送至各待接收节点包括:将缓冲区中的数据发送至各待接收节点。
数据切分模块,用于将待传输文件根据预设大小分成多个数据块;对应的,将待传输文件发送至各待接收节点包括:读入当前数据块,并通过基于TCP协议的文件传输模块将数据块发送至各待接收节点;当前数据块被发送至各待接收节点后,读入下一数据块,直至所有数据块被发送至各待接收节点;其中,读入数据块的顺序为数据块于待传输文件中的先后顺序。
补偿发送模块,用于生成结束标识,并发送至各待接收节点;判断是否还存在开启状态的会话连接;若存在,则通过处于开启状态的会话连接,重新将待传输文件发送至对应的待接收节点;其中,会话连接由待接收节点判断待传输文件全量接收完毕后关闭。
文件拼接模块,用于在接收到结束标识之前,将接收到的数据存入第一文件;在接收到结束标识之后,将接收到的数据存入第二文件;根据第二文件在前、第一文件在后的顺序将第一文件和第二文件首尾连接,以得到待传输文件。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的一种文件分发装置,通过连接建立模块建立多个线程,每个线程分别用于建立与不同节点之间的会话连接,使得管理端与各资源设备之间建立一对多的传输通道,进而通过文件传输模块实现一对多的配置文件分发,提高了配置文件分发的效率。也因为可以实现一对多的文件分发,避免了管理端频繁读取待传输文件,节省了数据读取所用的时间,进一步提高了配置文件分发的效率。
图3为本申请另一实施例提供的一种文件分发装置的结构图,如图3所示,一种文件分发装置包括:存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例一种文件分发方法的步骤。
本实施例提供的一种文件分发装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的一种文件分发方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于一种文件分发方法等。
在一些实施例中,一种文件分发装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对一种文件分发装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种文件分发装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种文件分发方法。
本实施例提供的一种文件分发装置,通过处理器执行存储于存储器中的程序时,实现上述的文件分发方法,实现通过建立多个线程实现一对多的连接建立,进而可以实现管理端到各个待接收节点之间的一对多的配置文件分发,提高了配置文件分发的效率。同理,一对多的文件分发无需每次数据传输时都读取待传输文件,减少了管理端读取待传输文件的次数,降低了数据读取所用的总时间,进一步提高了配置文件分发的效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的一种计算机可读存储介质,存储有实现上述文件分发方法的程序,在被执行时,能够通过建立多个线程实现管理端和各待接收节点之间一对多的会话连接,进而直接进行配置文件的分发,提高了配置文件分发的效率。同时,这种一对多的文件分发过程降低了管理端进行数据传输的次数,进而也就减少了进行数据传输时需要进行读取待传输文件的次数,降低了数据读取所用的总时间,进一步提高了配置文件分发的效率。
以上对本申请所提供的一种文件分发方法、装置及其介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种文件分发方法,其特征在于,包括:
接收配置文件分发请求,所述配置文件分发请求包括各待接收节点的地址和待传输文件;
根据所述待接收节点的数量建立相应数量的线程,且每个所述线程用于向不同的所述待接收节点发送会话建立请求,以建立与所述待接收节点的会话连接;
通过建立的所述会话连接,将所述待传输文件发送至各所述待接收节点。
2.根据权利要求1所述的文件分发方法,其特征在于,将所述待传输文件发送至各所述待接收节点之前,还包括:
读入所述待传输文件,并存储于缓冲区中;
对应的,将所述待传输文件发送至各所述待接收节点包括:
将所述缓冲区中的数据发送至各所述待接收节点。
3.根据权利要求2所述的文件分发方法,其特征在于,将所述待传输文件发送至各所述待接收节点之前,还包括:
将所述待传输文件根据预设大小分成多个数据块;
对应的,将所述待传输文件发送至各所述待接收节点包括:读入当前所述数据块,并通过基于TCP协议的文件传输模块将所述数据块发送至各所述待接收节点;
当前所述数据块被发送至各所述待接收节点后,读入下一所述数据块,直至所有所述数据块被发送至各所述待接收节点;
其中,所述读入数据块的顺序为所述数据块于所述待传输文件中的先后顺序。
4.根据权利要求3所述的文件分发方法,其特征在于,所述通过建立的所述会话连接,将所述待传输文件发送至各所述待接收节点包括:
存在任一建立成功的所述会话连接后,将所述待传输文件发送至各所述待接收节点。
5.根据权利要求4所述的文件分发方法,其特征在于,将所述待传输文件发送至各所述待接收节点之后,还包括:
生成结束标识,并发送至各所述待接收节点;
判断是否还存在开启状态的所述会话连接;若存在,则通过处于开启状态的所述会话连接,重新将所述待传输文件发送至对应的所述待接收节点;
其中,所述会话连接由所述待接收节点判断待传输文件全量接收完毕后关闭。
6.根据权利要求5所述的文件分发方法,其特征在于,应用于所述待接收节点侧,所述会话连接由所述待接收节点判断待传输文件全量接收完毕后关闭包括:
当接收到所述结束标识时,比对接收到的数据量与待传输文件的大小;若相同,则断开所述会话连接;若不同,则保持所述会话连接。
7.根据权利要求6所述的文件分发方法,其特征在于,应用于所述待接收节点侧,还包括:
在接收到所述结束标识之前,将接收到的所述数据存入第一文件;
在接收到所述结束标识之后,将接收到的所述数据存入第二文件;
根据所述第二文件在前、所述第一文件在后的顺序将所述第一文件和所述第二文件首尾连接,以得到所述待传输文件。
8.一种文件分发装置,其特征在于,包括:
请求接收模块,用于接收配置文件分发请求,所述配置文件分发请求包括各待接收节点的地址和待传输文件;
连接建立模块,用于根据所述待接收节点的数量建立相应数量的线程,且每个所述线程用于向不同的所述待接收节点发送会话建立请求,以建立与所述待接收节点的会话连接;
文件传输模块,用于通过建立的所述会话连接,将所述待传输文件发送至各所述待接收节点。
9.一种文件分发方法装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的文件分发方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的文件分发方法的步骤。
CN202210451727.6A 2022-04-27 2022-04-27 一种文件分发方法、装置及其介质 Pending CN114827129A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210451727.6A CN114827129A (zh) 2022-04-27 2022-04-27 一种文件分发方法、装置及其介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210451727.6A CN114827129A (zh) 2022-04-27 2022-04-27 一种文件分发方法、装置及其介质

Publications (1)

Publication Number Publication Date
CN114827129A true CN114827129A (zh) 2022-07-29

Family

ID=82509239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210451727.6A Pending CN114827129A (zh) 2022-04-27 2022-04-27 一种文件分发方法、装置及其介质

Country Status (1)

Country Link
CN (1) CN114827129A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165482A1 (zh) * 2015-08-07 2016-10-20 中兴通讯股份有限公司 一种文件传输方法和装置
CN109862526A (zh) * 2019-01-28 2019-06-07 平安科技(深圳)有限公司 文件传输方法、装置、计算机设备和存储介质
CN112600928A (zh) * 2020-12-17 2021-04-02 北京锐安科技有限公司 文件传输方法、装置、电子设备及介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165482A1 (zh) * 2015-08-07 2016-10-20 中兴通讯股份有限公司 一种文件传输方法和装置
CN109862526A (zh) * 2019-01-28 2019-06-07 平安科技(深圳)有限公司 文件传输方法、装置、计算机设备和存储介质
CN112600928A (zh) * 2020-12-17 2021-04-02 北京锐安科技有限公司 文件传输方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
CN114138700B (zh) 一种串口数据传输的流控方法、装置、设备及存储介质
CN107704310B (zh) 一种实现容器集群管理的方法、装置和设备
CN113259415B (zh) 一种网络报文处理方法、装置及网络服务器
CN107579929B (zh) 一种可靠连接通信队列对的设置方法、系统及相关装置
CN113938387A (zh) 一种通信方法、装置及可读存储介质
CN111586140A (zh) 一种数据交互的方法及服务器
CN107741853A (zh) 一种部署服务器的方法、系统及信息管理平台
CN111400041A (zh) 服务器配置文件的管理方法、装置及计算机可读存储介质
CN113157465B (zh) 基于指针链表的消息发送方法及装置
CN114780228B (zh) 一种混合云资源创建方法及系统
CN114827129A (zh) 一种文件分发方法、装置及其介质
CN103299298A (zh) 处理业务的方法和系统
JP2009157786A (ja) メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム
CN112311694A (zh) 一种优先级调整方法及装置
CN113157611B (zh) 一种数据传输控制方法、装置、设备及可读存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN106254440A (zh) 一种ap的升级方法和装置
CN115955437B (zh) 一种数据传输方法、装置、设备及介质
CN113489775A (zh) 一种基于vpp的七层负载均衡服务器及负载均衡方法
CN107506491B (zh) 一种分布式文件系统的osd数据分发方法及装置
CN112491903A (zh) 多系统间对账方法、装置及系统
EP2726992B1 (en) Network control model driver
CN110896391A (zh) 一种报文处理方法和装置
CN107454021B (zh) 一种通信方法及装置
CN112055058A (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