CN114584554A - 一种基于共享存储的分布式影像断点续传方法和装置 - Google Patents
一种基于共享存储的分布式影像断点续传方法和装置 Download PDFInfo
- Publication number
- CN114584554A CN114584554A CN202210203111.7A CN202210203111A CN114584554A CN 114584554 A CN114584554 A CN 114584554A CN 202210203111 A CN202210203111 A CN 202210203111A CN 114584554 A CN114584554 A CN 114584554A
- Authority
- CN
- China
- Prior art keywords
- server
- file
- client
- transmission
- image file
- 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 348
- 238000003860 storage Methods 0.000 title claims abstract description 326
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000004044 response Effects 0.000 claims description 98
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 43
- 230000007246 mechanism Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 6
- 230000006854 communication Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于共享存储的分布式影像断点续传方法和装置,涉及分布式,应用于服务端,该方法包括:接收客户端的连接请求建立客户端与第一服务器的第一连接通道;接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;接收影像文件,按照存放路径存储至共享存储服务器,进行影像文件的传输;若在影像文件的传输过程中发生传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
Description
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种基于共享存储的分布式影像断点续传方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有的分布式影像文件传输系统中,客户端和服务端经过负载均衡器实现桥接和屏蔽,为缓解服务端服务压力,服务端一般按照分布式架构设立多台服务器。当客户端发起文件传输时,经负载均衡器选择,服务端多台服务器中的一台负责接收文件。此时,若因某种原因传输中断,客户端再次上传文件时,负载均衡器则重新从服务端多台服务器中选择一台负责接收文件。根据负载均衡器选择服务器的策略,无法保证两次传输的服务端为同一台服务器,因而,现有的基于负载均衡场景的分布式影像文件传输,无法实现断点续传功能。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种基于共享存储的分布式影像断点续传方法,应用于服务端,通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能,该方法包括:
接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
本发明实施例还提供一种基于共享存储的分布式影像断点续传装置,应用于服务端,包括:
第一连接通道建立模块,用于接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
命令传输模块,用于接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
影像文件传输模块,用于接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
传输中断再次连接模块,用于若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
断点续传模块,用于通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例提供的一种基于共享存储的分布式影像断点续传方法和装置,应用于服务端,包括:接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。本发明主要为了解决现有的分布式影像管理系统中,在使用负载均衡器的场景下由于服务端的IP及端口处于保护状态、对于客户端不可见的问题,无法实现影像文件断点续传功能的问题,本发明通过在分布式影像管理系统中引入共享存储机制,解决上述问题。本发明通过设计合理的共享存储机制,在服务端增加一个共享存储服务器,服务器的服务器均可以连接共享存储服务器,服务端所有服务器将接收到的文件落地到统一定点的共享存储服务器,确保同一影像文件传输在服务端落地为同一个缓存文件。当出现传输异常再次发起文件传输时,服务端从共享存储服务器中精确找到上次未完成传输的文件并在该文件基础上实现断点续传。本发明的核心在于文件传输至服务端的存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的连接通道,但仍可根据连接请求的文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。本发明通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能。在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现分布式架构下负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种基于共享存储的分布式影像断点续传方法示意图。
图2为应用本发明实施例一种基于共享存储的分布式影像断点续传方法的影像管理系统框架图。
图3为本发明实施例一种基于共享存储的分布式影像断点续传方法的影像文件传输过程图。
图4为运行本发明实施的一种基于共享存储的分布式影像断点续传方法的计算机设备示意图。
图5为本发明实施例一种基于共享存储的分布式影像断点续传装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明涉及分布式技术。图1为本发明实施例一种基于共享存储的分布式影像断点续传方法示意图,如图1所示,本发明实施例提供一种基于共享存储的分布式影像断点续传方法,应用于服务端,通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能,该方法包括:
步骤101:接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
步骤102:接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
步骤103:接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
步骤104:若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
步骤105:通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
本发明实施例提供的一种基于共享存储的分布式影像断点续传方法,应用于服务端,包括:接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。本发明主要为了解决现有的分布式影像管理系统中,在使用负载均衡器的场景下由于服务端的IP及端口处于保护状态、对于客户端不可见的问题,无法实现影像文件断点续传功能的问题,本发明通过在分布式影像管理系统中引入共享存储机制,解决上述问题。本发明通过设计合理的共享存储机制,在服务端增加一个共享存储服务器,服务器的服务器均可以连接共享存储服务器,服务端所有服务器将接收到的文件落地到统一定点的共享存储服务器,确保同一影像文件传输在服务端落地为同一个缓存文件。当出现传输异常再次发起文件传输时,服务端从共享存储服务器中精确找到上次未完成传输的文件并在该文件基础上实现断点续传。本发明的核心在于文件传输至服务端的存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的连接通道,但仍可根据连接请求的文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。本发明通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能。在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现分布式架构下负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
图2为应用本发明实施例一种基于共享存储的分布式影像断点续传方法的影像管理系统框架图,如图2所示,影像管理系统,包括客户端、负载均衡器和服务端。
上述影像管理系统,是基于分布框架搭建的,例如可以是分布式影像管理系统(Distributed Image Management System),用于将影像文件(如照片、视频、合同扫描件等)通过网络上传到服务存储器,以供查询、调用、修改、删除等操作。在影像管理系统中,客户端,可以包括多个客户端;服务端,包括:共享存储服务器,多个业务相关的服务器,每一服务器均连接共享存储服务器。因此,每一服务器均可访问共享存储服务器。
上述客户端,可以包括多个Socket客户端;服务端,可以包括多个Socket服务器,本发明实施例是基于Socket技术实现的断点续传。
前述的SOCKET,表示套接字,用来描述IP地址和端口,是通信链的句柄。应用程序可以通过Socket向网络发送请求或者应答网络请求。Socket是支持TCP/IP协议的网络通信的基本操作单元,是对网络通信过程中端点的抽象表示,包含了进行网络通信所必须的五种信息:连接所使用的协议,本机主机的IP地址,本地远程的协议端口,远程主机的IP地址,远地进程的协议端口。
前述的负载均衡器(Load Balance),主要用于影像文件传输过程的负载均衡,其目的是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。
前述的断点续传(Broken-point Continuingly-transferring),是指通过网络下载文件时,因某种原因导致下载失败后,不必重头开始下载,而是从指定的位置继续下载,这样的功能就叫做断点续传。断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,任务被暂停了,此时下载暂停的位置就是断点。续传就是当一个未完成的下载任务再次开始时,会从上次的断点继续传送。
在现有的点段续传方案中,客户端作为发送方发起影像文件传输请求,负载均衡器根据既定策略从服务端挑选出一台服务器A,作为接收此次传输文件的接收服务器。当出现网络异常等问题导致传输中断后,客户端再次发起连接请求,负载均衡器根据既定策略重新从服务端挑选出一台服务器B(注:无法保证B与A为同一台机器),作为新的文件传输接收端。因而无法在服务器B接收端找到服务器A上原有的残留文件,无法实现断点续传功能。
现有的断点续传技术大多是基于Socket技术实现,现有的影像管理系统也是基于Socket实现的文件传输。结合图2所示的影像管理系统,影像管理系统大致可以分为客户端、负载均衡器、服务端三种类型的网络节点,这里仅列出和本发明强相关的节点模块,本发明不涉及的对象存储服务器、加解密服务器、数据库相关服务器等其它均不列出。考虑到安全等原因,服务端的IP及端口仅暴露给负载均衡器,负载均衡器作为桥梁与客户端连接,客户端与服务端网络不互通。影像管理系统预先在若干服务端服务器(如8台)上分别运行Socket服务端,用于持续监听客户端的连接请求信息。当某客户希望上传一笔交易信息中涉及到的影像文件,到后台服务器进行统一管理,需要从客户端发起Socket连接请求,经由负载均衡器,与某个服务端服务器(如8台中的服务器A)建立连接通道后,将文件传输到服务器A。若因网络异常等原因导致传输中断,客户端再次发起请求后,预期能够在中断前服务器A已接收到的部分文件基础上进行断点续传。但现有的设计实现中,当客户端再次发起请求后,负载均衡器会根据既定策略从8台后台服务器中挑选一台B(无法保证B与A为同台机器),从而导致无法实现断点续传功能。本发明中设计了文件传输共享存储机制,即增设一台文件传输共享存储服务器,用于存储客户端上传的文件,从而在断点续传场景中能稳定、精准找到原有的文件。
本发明实施例提供的一种基于共享存储的分布式影像断点续传方法,在服务端设置一台共享存储服务器N,用于存储所有服务端服务器接收的文件。客户端作为发送方发起传输请求时,负载均衡器根据既定策略随机从服务端挑选出一台服务器A,仅提供接收服务,接收到的文件存储到共享存储服务器N。当出现网络异常等问题导致传输中断后,客户端再次发起连接请求,负载均衡器根据既定策略重新从服务端挑选出一台服务器B(注:无法保证B与A为同一台机器),同样仅提供接受服务,接收到的文件存储仍为共享存储服务器N。此时服务器B上的影像文件接收服务即可在共享存储服务器N上找到原有未传输完毕的残留文件,从而实现断点续传功能。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法,应用于服务端,在一个实施例中,该方法可以包括:
接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
本发明主要为了解决现有的分布式影像管理系统中,在使用负载均衡器的场景下由于服务端的IP及端口处于保护状态、对于客户端不可见的问题,无法实现影像文件断点续传功能的问题,本发明通过在分布式影像管理系统中引入共享存储机制,解决上述问题。本发明通过设计合理的共享存储机制,在服务端增加一个共享存储服务器,服务器的服务器均可以连接共享存储服务器,服务端所有服务器将接收到的文件落地到统一定点的共享存储服务器,确保同一影像文件传输在服务端落地为同一个缓存文件。当出现传输异常再次发起文件传输时,服务端从共享存储服务器中精确找到上次未完成传输的文件并在该文件基础上实现断点续传。本发明的核心在于文件传输至服务端的存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的连接通道,但仍可根据连接请求的文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。本发明通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能。在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现分布式架构下负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
应用本发明实施例一种基于共享存储的分布式影像断点续传方法的影像管理系统,主要包括:客户端,负载均衡器,服务端;前述的客户端,包括:Socket客户端;前述的服务器,包括:Socket服务器,共享存储服务器。
Socket客户端:归属于客户端的软件模块,当用户发起影像文件上传请求时,由此模块发起与服务端的信息传输,包括命令消息、影像文件数据等。
负载均衡器:采用硬件负载均衡器,根据预设的负载均衡策略,从服务端的服务器中选择出一台,进行消息路由。
Socket服务端:归属于服务端的软件模块,启动Socket服务,并持续监听经负载均衡器路由过来的消息,包括执行命令、接收文件、存储文件、返回消息等。
共享存储服务器:用于存储上传文件的服务器,服务端所有的服务器均可访问,以便在断点续传过程中找到原有断点文件并实现断点续传功能。
图3为本发明实施例一种基于共享存储的分布式影像断点续传方法的影像文件传输过程图,如图3所示,具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道,包括:
接收客户端的连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和连接请求,在服务端中确定出第一服务器,将连接请求发送至第一服务器;
由第一服务器确认连接请求有效后,与客户端进行握手,建立客户端与第一服务器的第一连接通道,生成连接成功应答,经负载均衡器转发至客户端。
实施例中,在连接阶段,在服务端所有的Socket服务器上,均运行Socket服务端软件模块,持续监听连接请求。此时,用户通过客户端发起文件上传请求后,Socket客户端模块向服务端发起连接请求,负载均衡器接收到此请求后,根据预设负载均衡策略选择出某台服务端服务器A,并将连接请求发送到服务器A。服务器A确认连接请求有效并完成多次握手后,建立Socket第一连接通道1,并将结果信息反馈到客户端。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径,包括:
接收客户端通过第一连接通道发送的文件上传命令包,传输至第一服务器;
通过第一服务器解析命令包,确定影像文件在共享存储服务器的存放路径。
实施例中,客户端在接收到连接成功应答,确认建立第一连接通道,开始进入命令传输阶段,客户端发送文件通过Socket第一连接通道发送文件上传命令包,服务端接收客户端通过第一连接通道发送的文件上传命令包,传输至第一服务器,通过第一服务器解析命令包,确定影像文件在共享存储服务器的存放路径。
本发明通过设计合理的共享存储机制,在服务端增加一个共享存储服务器,服务器的服务器均可以连接共享存储服务器,服务端所有服务器将接收到的文件落地到统一定点的共享存储服务器,确保同一影像文件传输在服务端落地为同一个缓存文件。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,在确定影像文件在共享存储服务器的存放路径之后,还包括:
对共享存储服务器的存放路径进行初始化动作,将文件偏移量赋值为零;所述文件偏移量表示当前已传输影像文件的文件大小;
将文件偏移量组装入执行成功命令包,通过第一连接通道返回客户端。
实施例中,在确定影像文件在共享存储服务器的存放路径之后,对共享存储服务器的存放路径进行初始化动作,此时共享存储服务器的存放路径中没有存储影像文件,也就是说当前已传输影像文件的文件大小为零,因此将文件偏移量赋值为零,将文件偏移量组装入执行成功命令包,通过第一连接通道返回客户端。
在命令传输阶段,Socket客户端通过已经建立的Socket连接通道1发送文件上传命令报文,内容包含所传文件及大小,具体包括:数据包类型、请求类型、文件名称、文件长度、文件偏移量、文件路径等信息等。服务器A收到文件上传命令包并解析后,计算出在共享存储服务器上的存放路径,并完成该存放路径的相关初始化动作,读取存放路径中文件是否存在,若存在读取该文件大小,若不存在,则当前已传输影像文件的文件大小为零。服务器A完成信息处理及文件信息获取后,将相关信息组装成执行成功命令包并返回给客户端。客户端收到该命令包后,即可解析出要传的文件是否已存在,如存在则可通过文件偏移量获取到已传输的文件大小,由于此时存放路径中没有已存储的影像文件,因此文件偏移量为零。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输,包括:
通过第一连接通道接收客户端响应于执行成功命令包确定的影像文件数据包;所述影像文件数据包,是客户端将影像文件划分为多个设定文件大小的影像文件数据包;
将影像文件数据包按照存放路径存储至共享存储服务器,更新存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答;
通过第一连接通道将数据包传输应答返回客户端;
通过第一连接通道接收客户端响应于数据包传输应答而确定的下一影像文件数据包,追加到存放路径中已存在影像文件,更新此时存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答,重复执行通过第一连接通道将数据包传输应答返回客户端,进行影像文件的传输。
实施例中,在文件传输阶段:
客户端响应于执行成功命令包,将影像文件划分为多个设定文件大小的影像文件数据包;
服务端通过第一连接通道接收客户端响应于执行成功命令包确定的影像文件数据包;将影像文件数据包按照存放路径存储至共享存储服务器,更新存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答;通过第一连接通道将数据包传输应答返回客户端;
客户端响应于数据包传输应答而确定下一影像文件数据包;
服务端通过第一连接通道接收客户端响应于数据包传输应答而确定的下一影像文件数据包,追加到存放路径中已存在影像文件,更新此时存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答,重复执行通过第一连接通道将数据包传输应答返回客户端,进行影像文件的传输。
进一步的,在文件传输阶段,客户端通过解析命令包中已获取到的信息,即可将文件剩余部分(即偏移量到文件大小的文件内容),组成数据包(具体包括:数据包类型、操作返回码、是否压缩标志、文件偏移量、传输文件长度、当前实际包数据长度等信息),通过已建立的Socket第一连接通道1发送出去。服务端接收到数据包后,将数据包传输的文件内容追加到共享存储服务器的文件上,并返回下一步的需传输的文件偏移量及大小等相关结果信息。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,该方法还包括:若在影像文件的传输过程中未发生客户端与服务器的传输中断,当客户端响应于数据包传输应答而确定的下一影像文件数据包为空时,则当前影像文件已传输完成,断开客户端与第一服务器的第一连接通道。
实施例中,若在影像文件的传输过程中未发生客户端与服务器的传输中断,则影像文件数据包的传输将持续进行,当客户端响应于数据包传输应答而确定的下一影像文件数据包为空时,则当前影像文件已传输完成,断开客户端与第一服务器的第一连接通道。
具体的,当客户端收到服务端返回的数据包传输应答,校验下一步需传输的文件偏移量及文件大小,发现文件已完全传输后,发送断开Socket连接,服务端接收到命令后经多次握手,断开scoket连接通道1,并将结果信息返回给客户端,从而完成整个Socket第一连接通道1的断连。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道,包括:
若在影像文件的传输过程中发生客户端与服务器的传输中断,客户端与第一服务器的第一连接通道断开;
接收客户端的再次连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和再次连接请求,在服务端中确定出第二服务器,将再次连接请求发送至第二服务器;
由第二服务器确认再次连接请求有效后,与客户端进行握手,建立客户端与第二服务器的第二连接通道,生成连接成功应答,经负载均衡器转发至客户端。
实施例中,若在影像文件的传输过程中由于网络异常等原因,发生客户端与服务器的传输中断,客户端与第一服务器的第一连接通道断开,会导致影像文件的一部分传输成功,另一部分传输未成功,传输成功的部分形成残留文件,为了在残留文件的基础上进行断点续传,客户端需要继续发送连接请求,接收客户端的再次连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和再次连接请求,在服务端中确定出第二服务器,将再次连接请求发送至第二服务器;由第二服务器确认再次连接请求有效后,与客户端进行握手,建立客户端与第二服务器的第二连接通道,生成连接成功应答,经负载均衡器转发至客户端。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传方法时,在一个实施例中,通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传,包括:
通过第二服务器根据客户端的再次连接请求,确定客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径;
根据客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径,确定共享存储服务器的存放路径中在传输中断时已存储的残留文件;
获取已存储的残留文件的文件大小,确定已存储的残留文件的文件偏移量,组装入数据包断点传输应答,通过第二连接通道返回客户端;
通过第二连接通道接收客户端响应于数据包断点传输应答而确定的影像文件续传数据包,追加到已存储的残留文件,更新文件偏移量,确定下一需传输的影像文件续传数据包的文件偏移量,重复执行,进行断点续传;所述影像文件续传数据包,是客户端根据数据包断点传输应答中解析出已存储的残留文件的文件偏移量,确定未传输完成的影像文件,将未传输完成的影像文件划分为多个设定文件大小的影像文件续传数据包。
实施例中,为了实现基于残留文件的断点续传,通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传,包括:首先,通过第二服务器根据客户端的再次连接请求,确定客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径;然后,根据客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径,确定共享存储服务器的存放路径中在传输中断时已存储的残留文件;接着,获取已存储的残留文件的文件大小,确定已存储的残留文件的文件偏移量,组装入数据包断点传输应答,通过第二连接通道返回客户端;最后,通过第二连接通道接收客户端响应于数据包断点传输应答而确定的影像文件续传数据包,追加到已存储的残留文件,更新文件偏移量,确定下一需传输的影像文件续传数据包的文件偏移量,重复执行,进行断点续传;所述影像文件续传数据包,是客户端根据数据包断点传输应答中解析出已存储的残留文件的文件偏移量,确定未传输完成的影像文件,将未传输完成的影像文件划分为多个设定文件大小的影像文件续传数据包。
在本发明实施例的断点续传阶段,假设第一次文件传输过程中,客户端与服务器A建立Socket连接通道1,在进行到Step3文件传输的过程中因网络异常等原因,导致文件传输部分成功,形成残留文件。此时,Socket链接通道1也按照原有机制断开。根据断点续传的工作机制,客户端自动发起第二次文件传输请求,此次客户端与服务器B建立了Socket链接通道2,服务器B在共享存储服务器上计算出与第一次传输相同的路径(运行的软件模块及待传输的文件名相同,计算出的路径也相同)。在Step2命令传输的过程中,服务端会找到之前的残留文件并获取该文件大小,以偏移量的形式存入数据包并返回给客户端。客户端即可在原有残留文件偏移量的基础上,组出数据包从而实现断点续传。
在本发明实施例中,当出现传输异常再次发起文件传输时,服务端从共享存储服务器中精确找到上次未完成传输的文件并在该文件基础上实现断点续传。本发明的核心在于文件传输至服务端的存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的连接通道,但仍可根据连接请求的文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。本发明通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能。在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现分布式架构下负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
本发明实施例的核心在于文件存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的Socket连接通道,但仍可根据文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。
下面结合具体场景,对本发明实施例提供的一种基于共享存储的分布式影像断点续传方法进行简要描述:
在服务端设置一台共享存储服务器N,用于存储所有服务端服务器接收的文件。客户端作为发送方发起传输请求时,负载均衡器根据既定策略随机从服务端挑选出一台服务器A,仅提供接收服务,接收到的文件存储到共享存储服务器N。当出现网络异常等问题导致传输中断后,客户端再次发起连接请求,负载均衡器根据既定策略重新从服务端挑选出一台服务器B(注:无法保证B与A为同一台机器),同样仅提供接受服务,接收到的文件存储仍为共享存储服务器N。此时服务器B上的影像文件接收服务即可在共享存储服务器N上找到原有未传输完毕的残留文件,从而实现断点续传功能。
本发明中设计了文件传输共享存储机制,即增设一台文件传输共享存储服务器,用于存储客户端上传的文件,从而在断点续传场景中能稳定、精准找到原有的文件。通过设计合理的共享存储机制,服务端所有服务器将接收到的文件落地到统一的定点共享存储,确保同一影像文件传输在服务端落地为同一个缓存文件。当出现传输异常再次发起文件传输时,服务端精确找到上次未完成传输的文件并在该文件基础上实现断点续传。
本发明主要涉及客户端、负载均衡器、服务端、共享存储服务器。
Socket客户端:归属于客户端的软件模块,当用户发起影像文件上传请求时,由此模块发起与服务端的信息传输,包括命令消息、影像文件数据等。
负载均衡器:采用硬件负载均衡器,根据预设的负载均衡策略,从服务端的服务器中选择出一台,进行消息路由。
Socket服务端:归属于服务端的软件模块,启动Socket服务,并持续监听经负载均衡器路由过来的消息,包括执行命令、接收文件、存储文件、返回消息等。
共享存储服务器:用于存储上传文件的服务器,服务端所有的服务器均可访问,以便在断点续传过程中找到原有断点文件并实现断点续传功能。
如图3所示,影像管理平台中文件传输的过程,为了简要的描述出共享存储机制,图中忽略了系统中其它无关模块及部分无关流程,简化了数据及命令传输的详细报文定义,具体描述如下:
1、Step1建立连接:在服务端所有的服务器上,均运行Socket服务端软件模块,持续监听连接请求。此时,用户发起文件上传请求后,Socket客户端模块向服务端发起连接请求,负载均衡器接收到此请求后,根据既定的路由策略选择出某台服务端服务器A,并将连接请求发送到服务器A。服务器A确认连接请求有效并完成多次握手(不详细展开)后,建立Socket连接通道1,并将结果信息反馈到客户端。
2、Step2命令传输:Socket客户端通过已经建立的Socket连接通道1发送文件上传命令报文,内容包含所传文件及大小(具体包括:数据包类型、请求类型、文件名称、文件长度、文件偏移量、文件路径等信息),服务器A收到命令包并解析后,计算出在共享存储服务器上的存放路径,并完成该存放路径的相关初始化动作(如读取文件是否存在,若存在读取该文件大小)。服务器A完成信息处理及文件信息获取后,将相关信息组装成命令包并返回给客户端。客户端收到该命令包后,即可解析出要传的文件是否已存在,如存在则可获取到已传输的文件大小(偏移量)。
3、Step3文件传输:客户端通过解析命令包中已获取到的信息,即可将文件剩余部分(即偏移量到文件大小的文件内容),组成数据包(具体包括:数据包类型、操作返回码、是否压缩标志、文件偏移量、传输文件长度、当前实际包数据长度等信息),通过已建立的Socket连接通道1发送出去。服务端接收到数据包后,将数据包传输的文件内容追加到共享存储服务器的文件上,并返回下一步的需传输的文件偏移量及大小等相关结果信息。
4、Step4断开连接:当客户端收到服务端返回的数据包传输应答,校验下一步需传输的文件偏移量及文件大小,发现文件已完全传输后,发送断开Socket连接,服务端接收到命令后经多次握手(不详细展开),断开scoket连接通道1,并将结果信息返回给客户端,从而完成整个Socket连接通道1的断链。
其中,Step2命令传输为负载均衡场景下实现断点续传的核心步骤,也是本发明的核心机制。现将断点续传的过程简述如下:假设第一次文件传输过程中,客户端与服务器A建立Socket连接通道1,在进行到Step3文件传输的过程中因网络异常等原因,导致文件传输部分成功,形成残留文件。此时,Socket链接通道1也按照原有机制断开。根据断点续传的工作机制,客户端自动发起第二次文件传输请求,此次客户端与服务器B建立了Socket链接通道2,服务器B在共享存储服务器上计算出与第一次传输相同的路径(运行的软件模块及待传输的文件名相同,计算出的路径也相同)。在Step2命令传输的过程中,服务端会找到之前的残留文件并获取该文件大小,以偏移量的形式存入数据包并返回给客户端。客户端即可在原有残留文件偏移量的基础上,组出数据包从而实现断点续传。
在实现上述方案的过程中,技术人员需做好断点续传传输过程的方案设计,针对中国银行影像文件传输系统,完成方案的总体和详细设计,包括命令传输以及文件传输的过程、命令包以及数据包的格式定义、共享存储的创建以及完善的锁保护的机制。技术人员需要依据方案完成程序的详细设计与实现,基于C和JAVA两种编程语言,使用Socket套接字实现FTP协议的传输,包含断点续传的功能代码,完成FTP断点续传的客户端及服务端的功能开发。技术人员需要做充足的测试与验证,确保新增的断点续传功能可以稳定执行,以及系统其它受到波及的原有上传功能、影像文件查询、调阅、修改、删除等功能正常稳定。技术人员需要设计合理的文件存储路径算法,即服务器上运行的软件服务模块可根据相同文件信息(名称、长度、格式等)计算出相同的存储路径。
本发明中核心流程为在文件存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的Socket连接通道,但仍可根据文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。
本发明中核心流程为在文件存储过程中采用共享存储机制进行文件存储,从而实现在负载均衡场景中的断点续传功能,具体包括如下内容:
根据影像文件信息(含名称、大小、格式等),在服务端服务器中预先设计存储路径的计算策略,确保Socket链接通道及不同的服务端服务器能够准确锁定唯一的存储路径位置。设计共享存储服务器,写操作的过程中通过读写锁或进程间通讯,实现磁盘文件数据保护。设计合理的命令包及数据包报文格式,确保客户端及服务端的信息交互完整、可靠。
本发明中的核心部分为:通过增加和设计共享存储机制,实现不同的Socket链接通道以及不同的服务器,可根据文件信息完成唯一的目标路径锁定,从而找到原有残留文件(若该文件之前存在传输失败的情况),实现断点续传功能。
在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
图4为运行本发明实施的一种基于共享存储的分布式影像断点续传方法的计算机设备示意图,如图4所示,本发明实施例还提供一种计算机设备400,包括存储器410、处理器420及存储在存储器上并可在处理器上运行的计算机程序430,所述处理器执行所述计算机程序时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述一种基于共享存储的分布式影像断点续传方法。
本发明实施例中还提供了一种基于共享存储的分布式影像断点续传装置,如下面的实施例所述。由于该装置解决问题的原理与一种基于共享存储的分布式影像断点续传方法相似,因此该装置的实施可以参见一种基于共享存储的分布式影像断点续传方法的实施,重复之处不再赘述。
图5为本发明实施例一种基于共享存储的分布式影像断点续传装置示意图,如图5所示,本发明实施例还提供一种基于共享存储的分布式影像断点续传装置,应用于服务端,具体实施时可以包括:
第一连接通道建立模块501,用于接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
命令传输模块502,用于接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
影像文件传输模块503,用于接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
传输中断再次连接模块504,用于若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
断点续传模块505,用于通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中,第一连接通道建立模块,具体用于:
接收客户端的连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和连接请求,在服务端中确定出第一服务器,将连接请求发送至第一服务器;
由第一服务器确认连接请求有效后,与客户端进行握手,建立客户端与第一服务器的第一连接通道,生成连接成功应答,经负载均衡器转发至客户端。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中命令传输模块,具体用于:
接收客户端通过第一连接通道发送的文件上传命令包,传输至第一服务器;
通过第一服务器解析命令包,确定影像文件在共享存储服务器的存放路径。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中命令传输模块,还用于:
对共享存储服务器的存放路径进行初始化动作,将文件偏移量赋值为零;所述文件偏移量表示当前已传输影像文件的文件大小;
将文件偏移量组装入执行成功命令包,通过第一连接通道返回客户端。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中影像文件传输模块,具体用于:
通过第一连接通道接收客户端响应于执行成功命令包确定的影像文件数据包;所述影像文件数据包,是客户端将影像文件划分为多个设定文件大小的影像文件数据包;
将影像文件数据包按照存放路径存储至共享存储服务器,更新存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答;
通过第一连接通道将数据包传输应答返回客户端;
通过第一连接通道接收客户端响应于数据包传输应答而确定的下一影像文件数据包,追加到存放路径中已存在影像文件,更新此时存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答,重复执行通过第一连接通道将数据包传输应答返回客户端,进行影像文件的传输。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中影像文件传输模块,还用于:若在影像文件的传输过程中未发生客户端与服务器的传输中断,当客户端响应于数据包传输应答而确定的下一影像文件数据包为空时,则当前影像文件已传输完成,断开客户端与第一服务器的第一连接通道。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中传输中断再次连接模块,具体用于:
若在影像文件的传输过程中发生客户端与服务器的传输中断,客户端与第一服务器的第一连接通道断开;
接收客户端的再次连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和再次连接请求,在服务端中确定出第二服务器,将再次连接请求发送至第二服务器;
由第二服务器确认再次连接请求有效后,与客户端进行握手,建立客户端与第二服务器的第二连接通道,生成连接成功应答,经负载均衡器转发至客户端。
具体实施本发明实施例提供的一种基于共享存储的分布式影像断点续传装置时,在一个实施例中断点续传模块,具体用于:
通过第二服务器根据客户端的再次连接请求,确定客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径;
根据客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径,确定共享存储服务器的存放路径中在传输中断时已存储的残留文件;
获取已存储的残留文件的文件大小,确定已存储的残留文件的文件偏移量,组装入数据包断点传输应答,通过第二连接通道返回客户端;
通过第二连接通道接收客户端响应于数据包断点传输应答而确定的影像文件续传数据包,追加到已存储的残留文件,更新文件偏移量,确定下一需传输的影像文件续传数据包的文件偏移量,重复执行,进行断点续传;所述影像文件续传数据包,是客户端根据数据包断点传输应答中解析出已存储的残留文件的文件偏移量,确定未传输完成的影像文件,将未传输完成的影像文件划分为多个设定文件大小的影像文件续传数据包。
综上,本发明实施例提供的一种基于共享存储的分布式影像断点续传方法和装置,应用于服务端,包括:接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。本发明主要为了解决现有的分布式影像管理系统中,在使用负载均衡器的场景下由于服务端的IP及端口处于保护状态、对于客户端不可见的问题,无法实现影像文件断点续传功能的问题,本发明通过在分布式影像管理系统中引入共享存储机制,解决上述问题。本发明通过设计合理的共享存储机制,在服务端增加一个共享存储服务器,服务器的服务器均可以连接共享存储服务器,服务端所有服务器将接收到的文件落地到统一定点的共享存储服务器,确保同一影像文件传输在服务端落地为同一个缓存文件。当出现传输异常再次发起文件传输时,服务端从共享存储服务器中精确找到上次未完成传输的文件并在该文件基础上实现断点续传。本发明的核心在于文件传输至服务端的存储过程中采用共享存储服务器进行存储,每次传输虽然经由负载均衡器选择任意不同的服务端服务器,建立不同的连接通道,但仍可根据连接请求的文件信息锁定出相同的存储位置,并找到未完成传输的残留文件断点位置,实现负载均衡场景下的断点续传功能。本发明通过增加和设计共享存储机制,实现不同的连接通道以及不同的服务器,可根据文件信息完成唯一的目标存放路径锁定,从而找到原有残留文件实现断点续传功能。在现有的影像管理系统中引入本发明提供的共享存储机制,可以实现分布式架构下负载均衡场景下的断点续传功能,从而提升系统的稳定性、文件传输效率并大幅度提升客户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种基于共享存储的分布式影像断点续传方法,其特征在于,应用于服务端,包括:
接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
2.如权利要求1所述的方法,其特征在于,接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道,包括:
接收客户端的连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和连接请求,在服务端中确定出第一服务器,将连接请求发送至第一服务器;
由第一服务器确认连接请求有效后,与客户端进行握手,建立客户端与第一服务器的第一连接通道,生成连接成功应答,经负载均衡器转发至客户端。
3.如权利要求1所述的方法,其特征在于,接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径,包括:
接收客户端通过第一连接通道发送的文件上传命令包,传输至第一服务器;
通过第一服务器解析命令包,确定影像文件在共享存储服务器的存放路径。
4.如权利要求3所述的方法,其特征在于,在确定影像文件在共享存储服务器的存放路径之后,还包括:
对共享存储服务器的存放路径进行初始化动作,将文件偏移量赋值为零;所述文件偏移量表示当前已传输影像文件的文件大小;
将文件偏移量组装入执行成功命令包,通过第一连接通道返回客户端。
5.如权利要求4所述的方法,其特征在于,接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输,包括:
通过第一连接通道接收客户端响应于执行成功命令包确定的影像文件数据包;所述影像文件数据包,是客户端将影像文件划分为多个设定文件大小的影像文件数据包;
将影像文件数据包按照存放路径存储至共享存储服务器,更新存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答;
通过第一连接通道将数据包传输应答返回客户端;
通过第一连接通道接收客户端响应于数据包传输应答而确定的下一影像文件数据包,追加到存放路径中已存在影像文件,更新此时存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答,重复执行通过第一连接通道将数据包传输应答返回客户端,进行影像文件的传输。
6.如权利要求5所述的方法,其特征在于,还包括:若在影像文件的传输过程中未发生客户端与服务器的传输中断,当客户端响应于数据包传输应答而确定的下一影像文件数据包为空时,则当前影像文件已传输完成,断开客户端与第一服务器的第一连接通道。
7.如权利要求1所述的方法,其特征在于,若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道,包括:
若在影像文件的传输过程中发生客户端与服务器的传输中断,客户端与第一服务器的第一连接通道断开;
接收客户端的再次连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和再次连接请求,在服务端中确定出第二服务器,将再次连接请求发送至第二服务器;
由第二服务器确认再次连接请求有效后,与客户端进行握手,建立客户端与第二服务器的第二连接通道,生成连接成功应答,经负载均衡器转发至客户端。
8.如权利要求5所述的方法,其特征在于,通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传,包括:
通过第二服务器根据客户端的再次连接请求,确定客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径;
根据客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径,确定共享存储服务器的存放路径中在传输中断时已存储的残留文件;
获取已存储的残留文件的文件大小,确定已存储的残留文件的文件偏移量,组装入数据包断点传输应答,通过第二连接通道返回客户端;
通过第二连接通道接收客户端响应于数据包断点传输应答而确定的影像文件续传数据包,追加到已存储的残留文件,更新文件偏移量,确定下一需传输的影像文件续传数据包的文件偏移量,重复执行,进行断点续传;所述影像文件续传数据包,是客户端根据数据包断点传输应答中解析出已存储的残留文件的文件偏移量,确定未传输完成的影像文件,将未传输完成的影像文件划分为多个设定文件大小的影像文件续传数据包。
9.一种基于共享存储的分布式影像断点续传装置,其特征在于,应用于服务端,包括:
第一连接通道建立模块,用于接收客户端的连接请求,根据预设负载均衡策略确定服务端的第一服务器,建立客户端与第一服务器的第一连接通道;
命令传输模块,用于接收客户端通过第一连接通道发送文件上传命令包,确定影像文件在共享存储服务器的存放路径;
影像文件传输模块,用于接收客户端通过第一连接通道发送的影像文件,将影像文件按照存放路径存储至共享存储服务器,进行影像文件的传输;
传输中断再次连接模块,用于若在影像文件的传输过程中发生客户端与服务器的传输中断,接收客户端的再次连接请求,根据预设负载均衡策略,确定服务端的第二服务器,建立客户端与第二服务器的第二连接通道;
断点续传模块,用于通过第二服务器根据客户端的再次连接请求,在共享存储服务器中确定传输中断时已存储的残留文件,通过第二连接通道对未传输完成的影像文件进行断点续传。
10.如权利要求9所述的装置,其特征在于,第一连接通道建立模块,具体用于:
接收客户端的连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和连接请求,在服务端中确定出第一服务器,将连接请求发送至第一服务器;
由第一服务器确认连接请求有效后,与客户端进行握手,建立客户端与第一服务器的第一连接通道,生成连接成功应答,经负载均衡器转发至客户端。
11.如权利要求9所述的装置,其特征在于,命令传输模块,具体用于:
接收客户端通过第一连接通道发送的文件上传命令包,传输至第一服务器;
通过第一服务器解析命令包,确定影像文件在共享存储服务器的存放路径。
12.如权利要求11所述的装置,其特征在于,命令传输模块,还用于:
对共享存储服务器的存放路径进行初始化动作,将文件偏移量赋值为零;所述文件偏移量表示当前已传输影像文件的文件大小;
将文件偏移量组装入执行成功命令包,通过第一连接通道返回客户端。
13.如权利要求12所述的装置,其特征在于,影像文件传输模块,具体用于:
通过第一连接通道接收客户端响应于执行成功命令包确定的影像文件数据包;所述影像文件数据包,是客户端将影像文件划分为多个设定文件大小的影像文件数据包;
将影像文件数据包按照存放路径存储至共享存储服务器,更新存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答;
通过第一连接通道将数据包传输应答返回客户端;
通过第一连接通道接收客户端响应于数据包传输应答而确定的下一影像文件数据包,追加到存放路径中已存在影像文件,更新此时存放路径中已存在影像文件的文件偏移量,确定下一需传输的影像文件数据包的文件偏移量,组装入数据包传输应答,重复执行通过第一连接通道将数据包传输应答返回客户端,进行影像文件的传输。
14.如权利要求13所述的装置,其特征在于,影像文件传输模块,还用于:若在影像文件的传输过程中未发生客户端与服务器的传输中断,当客户端响应于数据包传输应答而确定的下一影像文件数据包为空时,则当前影像文件已传输完成,断开客户端与第一服务器的第一连接通道。
15.如权利要求9所述的装置,其特征在于,传输中断再次连接模块,具体用于:
若在影像文件的传输过程中发生客户端与服务器的传输中断,客户端与第一服务器的第一连接通道断开;
接收客户端的再次连接请求至负载均衡器,由负载均衡器根据预设负载均衡策略和再次连接请求,在服务端中确定出第二服务器,将再次连接请求发送至第二服务器;
由第二服务器确认再次连接请求有效后,与客户端进行握手,建立客户端与第二服务器的第二连接通道,生成连接成功应答,经负载均衡器转发至客户端。
16.如权利要求13所述的装置,其特征在于,断点续传模块,具体用于:
通过第二服务器根据客户端的再次连接请求,确定客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径;
根据客户端与第一服务器在进行文件传输时在共享存储服务器的存放路径,确定共享存储服务器的存放路径中在传输中断时已存储的残留文件;
获取已存储的残留文件的文件大小,确定已存储的残留文件的文件偏移量,组装入数据包断点传输应答,通过第二连接通道返回客户端;
通过第二连接通道接收客户端响应于数据包断点传输应答而确定的影像文件续传数据包,追加到已存储的残留文件,更新文件偏移量,确定下一需传输的影像文件续传数据包的文件偏移量,重复执行,进行断点续传;所述影像文件续传数据包,是客户端根据数据包断点传输应答中解析出已存储的残留文件的文件偏移量,确定未传输完成的影像文件,将未传输完成的影像文件划分为多个设定文件大小的影像文件续传数据包。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210203111.7A CN114584554A (zh) | 2022-03-02 | 2022-03-02 | 一种基于共享存储的分布式影像断点续传方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210203111.7A CN114584554A (zh) | 2022-03-02 | 2022-03-02 | 一种基于共享存储的分布式影像断点续传方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114584554A true CN114584554A (zh) | 2022-06-03 |
Family
ID=81776000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210203111.7A Pending CN114584554A (zh) | 2022-03-02 | 2022-03-02 | 一种基于共享存储的分布式影像断点续传方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584554A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376334A (zh) * | 2015-12-14 | 2016-03-02 | 曙光信息产业(北京)有限公司 | 负载均衡方法及装置 |
CN106027647A (zh) * | 2016-05-20 | 2016-10-12 | 云南云电同方科技有限公司 | Lxpfs集群分布式文件存储系统 |
CN106790348A (zh) * | 2016-11-11 | 2017-05-31 | 北京百卓网络技术有限公司 | 分布式系统的文件上传及下载方法与系统 |
CN109150788A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 控制网络数据传输的方法、装置、网关及存储介质 |
CN113220473A (zh) * | 2021-04-21 | 2021-08-06 | 中国科学院空天信息创新研究院 | 数据存储方法及系统 |
-
2022
- 2022-03-02 CN CN202210203111.7A patent/CN114584554A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376334A (zh) * | 2015-12-14 | 2016-03-02 | 曙光信息产业(北京)有限公司 | 负载均衡方法及装置 |
CN106027647A (zh) * | 2016-05-20 | 2016-10-12 | 云南云电同方科技有限公司 | Lxpfs集群分布式文件存储系统 |
CN106790348A (zh) * | 2016-11-11 | 2017-05-31 | 北京百卓网络技术有限公司 | 分布式系统的文件上传及下载方法与系统 |
CN109150788A (zh) * | 2017-06-13 | 2019-01-04 | 中兴通讯股份有限公司 | 控制网络数据传输的方法、装置、网关及存储介质 |
CN113220473A (zh) * | 2021-04-21 | 2021-08-06 | 中国科学院空天信息创新研究院 | 数据存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740975B2 (en) | System and method for managing blockchain nodes | |
US20180373517A1 (en) | Systems, methods, and apparatuses for docker image downloading | |
US7676516B2 (en) | System and method for the optimization of database access in data base networks | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN110289999B (zh) | 一种数据处理方法、系统及装置 | |
CN107517227B (zh) | 用于分布式一致性系统的会话实现方法以及装置 | |
US12007848B2 (en) | Automatic selection of network path connecting backup clients to a pool of multiple backup storage appliances | |
CN110995481A (zh) | 配置方法、服务器及计算机可读存储介质 | |
JP2017129935A (ja) | サーバシステム、サーバシステムを制御する方法およびプログラム。 | |
CN108337163B (zh) | 用于汇聚链路的方法和装置 | |
CN111857772B (zh) | 终端边缘应用程序远程传输及动态加载方法及设备 | |
KR101033813B1 (ko) | 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 | |
CN114938396A (zh) | 服务调用请求的路由方法、创建服务的方法及装置 | |
CN114553693A (zh) | 网关升级方法及装置 | |
CN110730242B (zh) | 一种文件传输方法、装置及设备 | |
CN112732775A (zh) | 区块节点数据的处理方法、装置、计算机设备和存储介质 | |
CN114584554A (zh) | 一种基于共享存储的分布式影像断点续传方法和装置 | |
JP2007272540A (ja) | データ配信方法及びデータ配信システム | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
US7188343B2 (en) | Distributable multi-daemon configuration for multi-system management | |
CN114650213B (zh) | 配置Jenkins服务器集群的方法、装置、存储介质 | |
CN113949631A (zh) | 客户端容灾的处理方法、系统及电子设备 | |
WO2021055546A1 (en) | System and method for managing blockchain nodes | |
CN108848175B (zh) | 一种创建tcp连接的方法及装置 | |
CN116614323B (zh) | 一种基于Rclone的云存储企业网盘管理方法及系统 |
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 |