一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

微服务集群文件分片上传方法、系统、设备和存储介质与流程

2022-04-27 07:27:19 来源:中国专利 TAG:


1.本技术涉及计算机文件传输领域,特别是涉及一种微服务集群文件分片上传方法、系统、设备和存储介质。


背景技术:

2.由于微服务具有高速、稳定、可靠以及服务能力可动态扩展等特点,在企业的一些业务中有很广泛的应用。
3.在微服务集群中传输一些超过内存的大文件时,通常是将大文件分片后,通过微服务集群中的不同节点传输分片文件以提高传输效率,然后对分片文件进行合并,如果某个节点没有成功上传分片文件,就会导致最终所有的分片文件无法正常合并,从而使文件上传失败,因此无法解决微服务集群中文件分片上传失败的问题。
4.针对相关技术中存在无法解决微服务集群中文件分片上传失败的问题,目前还没有提出有效的解决方案。


技术实现要素:

5.在本实施例中提供了一种微服务集群文件分片上传方法、系统、设备和存储介质,以解决相关技术中无法解决微服务集群中文件分片上传失败的问题。
6.第一个方面,在本实施例中提供了一种微服务集群文件分片上传方法,包括:
7.通过业务终端将预分片后的分片文件上传至相应的存储终端,并将上传的所述分片文件的文件信息返回至处理程序;
8.根据所述文件信息发送相应的处理命令,并对上传失败的所述分片文件重新发起上传请求;
9.在所述分片文件全部上传成功后,从每个所述存储终端下载所有所述分片文件,合并得到完整的待上传文件,并将所述待上传文件上传至所述存储终端,同时所述存储终端之间会同步完整的所述待上传文件。
10.在其中的一些实施例中,在所述通过业务终端将预分片后的分片文件上传至相应的存储终端,并将上传的所述分片文件的文件信息返回至处理程序之前,还包括:
11.在所述处理程序中,基于预设的规则,对获取的所述待上传文件进行分片处理,得到所述分片文件。
12.在其中的一些实施例中,所述基于预设的规则,对获取的所述待上传文件进行分片处理,得到所述分片文件,包括:
13.对所述分片文件进行标记,得到分片标记;
14.将所述分片文件和所述分片标记上传至所述业务终端。
15.在其中的一些实施例中,所述根据所述文件信息发送相应的处理命令,并对上传失败的所述分片文件重新发起上传请求,包括:
16.当所述文件信息为所述分片文件未成功上传至所述存储终端时,根据所述文件信
息中获得的错误类型,将相应的所述处理命令发送至所述业务终端;
17.根据所述处理命令,执行相应的命令内容,重新触发上传失败的所述分片文件的上传请求。
18.在其中的一些实施例中,所述根据所述处理命令,执行相应的命令内容,重新触发上传失败的所述分片文件的上传请求,还包括:
19.在所述业务终端中,通过执行所述命令内容,进行相应的故障排除处理;
20.在重新触发所述上传请求之后,根据触发结果对所述分片文件的文件信息进行更新,将更新后的所述文件信息返回所述处理程序。
21.在其中的一些实施例中,所述从每个所述存储终端下载所有所述分片文件,合并得到完整的待上传文件,并将所述待上传文件上传至所述存储终端,包括:
22.当所述处理程序接收到最后一片所述分片文件的文件信息时,通过所述业务终端从所述存储终端下载所有已上传的所述分片文件;
23.通过将下载的所述分片文件进行合并,得到完整的所述待上传文件,并将所述待上传文件上传至所述存储终端进行存储。
24.第二个方面,在本实施例中提供了一种微服务集群文件分片上传系统,包括:业务集群、处理程序模块以及存储集群;
25.所述业务集群,包括若干所述业务终端,用于将预分片后的分片文件上传至相应的存储终端,并将上传的所述分片文件的文件信息返回至所述处理程序模块;
26.在所述分片文件全部上传成功后,从所述存储集群下载所有所述分片文件,合并得到完整的待上传文件,并将所述待上传文件上传至所述存储集群;
27.所述处理程序模块,通过所述处理程序,根据所述文件信息发送相应的处理命令,并对上传失败的所述分片文件重新发起上传请求;
28.所述存储集群,包括若干所述存储终端,用于存储所述业务集群上传的所述分片文件和所述待上传文件,同时对完整的所述待上传文件进行同步。
29.在其中的一些实施例中,所述业务集群,还用于:
30.当所述处理程序接收到最后一片所述分片文件的文件信息时,从所述存储集群下载所有已上传的所述分片文件;
31.通过将下载的所述分片文件进行合并,得到完整的所述待上传文件,并将所述待上传文件上传至所述存储集群进行存储。
32.第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的微服务集群文件分片上传方法。
33.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的微服务集群文件分片上传方法。
34.与相关技术相比,在本实施例中提供的微服务集群文件分片上传方法、系统、设备和存储介质,通过业务终端将预分片后的分片文件上传至相应的存储终端,并将上传的所述分片文件的文件信息返回至处理程序;根据所述文件信息发送相应的处理命令,并对上传失败的所述分片文件重新发起上传请求;在所述分片文件全部上传成功后,从每个所述存储终端下载所有所述分片文件,合并得到完整的待上传文件,并将所述待上传文件上传
至所述存储终端,同时所述存储终端之间会同步完整的所述待上传文件,解决了微服务集群中文件分片上传失败的问题,实现了在微服务集群中保证文件分片能够成功上传的效果。
35.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
36.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
37.图1为一个实施例中微服务集群文件分片上传方法的硬件结构图;
38.图2为一个实施例中微服务集群文件分片上传系统的结构框图;
39.图3为一个实施例中微服务集群文件分片上传方法的流程图;
40.图4为一个优选实施例中微服务集群文件分片上传方法的流程图。
41.图中:200、微服务集群文件分片上传系统;210、业务集群;220、处理程序模块;230、存储集群。
具体实施方式
42.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
43.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
44.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的微服务集群文件分片上传方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
45.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本
实施例中的微服务集群文件分片上传方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
46.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
47.微服务集群是一种由多台微服务终端组成的集群架构,每个集群中的所有微服务终端都同时提供相同的服务。微服务集群提供的每个服务都是独立的个体,不会互相依赖,只通过接口或队列形式进行交互。在以下实施例中提供的微服务集群文件分片上传系统,其中提供的文件分片上传服务和存储服务都是由单独的微服务集群进行处理,具有独立性,并且每个业务终端和存储终端都是单独个体的容器,例如docker微服务器。
48.在本实施例中提供了一种微服务集群文件分片上传系统,图2是本实施例中系统相应的结构框图,如图2所示,该微服务集群文件分片上传系统200包括:业务集群210、处理程序模块220以及存储集群230;
49.业务集群210,包括若干业务终端,用于将预分片后的分片文件上传至相应的存储终端,并将上传的分片文件的文件信息返回至处理程序模块;
50.在分片文件全部上传成功后,从存储集群下载所有分片文件,合并得到完整的待上传文件,并将待上传文件上传至存储集群。
51.具体地,通过每个业务终端将其接收的经过预分片后的分片文件上传至相应的存储终端,并返回上传的分片文件的文件信息。其中,当分片文件上传成功时,文件信息包括上传成功的一些记录信息;当分片文件上传失败时,返回记录了上传失败的错误类型和错误信息到处理程序。
52.进一步地,在所有分片文件全部上传成功之后,由于业务集群只提供业务服务,需要再从存储集群中将存储的分片文件下载下来,在任意一个业务终端中进行合并,恢复得到原始的待上传文件,再上传到任意一个存储终端中进行存储。需要知道的是,在存储集群中,存储终端之间会进行同步,所以最终的待上传文件上传给任意一个存储终端后,会在整个存储集群中进行同步。
53.处理程序模块220,通过处理程序,根据文件信息发送相应的处理命令,并对上传失败的分片文件重新发起上传请求。
54.具体地,通过处理程序模块中的处理程序,根据分片文件上传失败时业务终端返回的文件信息中的错误类型,给上传失败的业务终端发送相应的处理命令,通过上述业务终端重新发起分片文件的上传请求。
55.存储集群230,包括若干存储终端,用于存储业务集群上传的分片文件和待上传文件,同时对完整的待上传文件进行同步。
56.具体地,在存储集群中的各存储终端中存储各业务终端上传的分片文件,进一步地,还在各存储终端之间同步存储合并完成后的待上传文件。
57.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
58.通过本实施例提供的微服务集群文件分片上传系统以及其中的业务集群、处理程序模块以及存储集群,通过业务集群中的业务终端将分片文件上传至存储集群,并且根据上传失败的分片文件的文件信息重新发起上传请求,解决了微服务集群中文件分片上传失败的问题,通过保证文件分片能够成功上传,进而实现了文件分片能够成功合并的效果。
59.在本实施例中提供了一种微服务集群文件分片上传方法,图3是本实施例方法的流程图,如图3所示,该流程包括以下步骤:
60.步骤s310,通过业务终端将预分片后的分片文件上传至相应的存储终端,并将上传的分片文件的文件信息返回至处理程序。
61.具体地,每个业务终端将其接收的经过预分片后的分片文件上传至相应的存储终端,并返回上传的分片文件的文件信息。其中,当分片文件上传成功时,文件信息包括上传成功的一些记录信息;当分片文件上传失败时,返回记录了上传失败的错误类型和错误信息到处理程序。
62.步骤s320,根据文件信息发送相应的处理命令,并对上传失败的分片文件重新发起上传请求。
63.具体地,在处理程序中预先对错误类型和相应的处理命令进行定义,错误类型包括但不限于:网络故障和硬盘内存不足故障,当错误类型为网络故障时,相应的处理命令可以是路由器重连;当错误类型为硬盘内存不足故障时,相应的处理命令可以是清理缓存(delete cache)或增加硬盘挂载(mount)。根据分片文件上传失败时业务终端返回的文件信息中的错误类型,给上传失败的业务终端发送相应的处理命令,在业务终端相应地进行故障排除后,通过上述业务终端重新发起分片文件的上传请求。
64.步骤s330,在分片文件全部上传成功后,从每个存储终端下载所有分片文件,合并得到完整的待上传文件,并将待上传文件上传至存储终端,同时存储终端之间会同步完整的待上传文件。
65.具体地,经过步骤s310和s320后使所有的分片文件都成功上传到相应的存储终端后,由于业务集群只提供业务服务,需要再从存储集群中将存储的分片文件下载下来,在任意一个业务终端中进行合并,恢复得到原始的待上传文件,再上传到任意一个存储终端中进行存储。需要知道的是,在存储集群中,存储终端之间会进行同步,所以最终的待上传文件上传给任意一个存储终端后,会在整个存储集群中进行同步。
66.现有技术中的文件分片上传方法通常是通过分布式系统或微服务集群中的不同节点分别传输大文件分片后的分片文件,再对分片文件进行合并,一旦其中某个节点没有成功上传相应的分片文件,就会导致最终分片文件无法正常合并,从而使大文件传输失败。本实施例提供的数据处理方法在现有技术的基础上提供了有效的补充,通过上述步骤,在上传分片文件后返回相关的文件信息,如果发生上传失败的情况,就可以从文件信息中获
取相应的错误类型,执行相应的处理命令后再重新发起上传请求,解决了微服务集群中文件分片上传失败的问题,通过保证文件分片能够成功上传,从而实现了文件分片能够成功合并的效果。
67.在其中的一些实施例中,在通过业务终端将预分片后的分片文件上传至相应的存储终端,并将上传的分片文件的文件信息返回至处理程序之前,还包括以下步骤:
68.在处理程序中,基于预设的规则,对获取的待上传文件进行分片处理,得到分片文件;
69.对分片文件进行标记,得到分片标记;将分片文件和分片标记上传至业务终端。
70.具体地,先将获取的待上传文件进行二进制转换,然后基于预设的规则,具体规则包括按文件长度或文件个数进行分割,对待上传文件进行等长分割或是个数分割,得到分片文件。
71.进一步地,在进行文件分片处理时还需要对分片文件进行标记,根据分片文件的前后关系可以得知每个分片文件在整个分片文件队列中的位置。其中分片文件的标记具体可以标记在分片文件的名称或者http的头信息中,比如在http的头信息中带有字段islast=true,即表明这是最后一片分片文件。最后,将带有分片标记的分片文件上传至各业务终端。
72.通过本实施例中对待上传的文件进行预分片处理,得到分片文件,再对分片文件进行标记,这样在上传较大的文件时,能够通过分片的方法将大文件以分片文件的形式进行传输,在本实施例中通过微服务集群的形式上传分片文件,以提高上传效率。
73.在其中的一些实施例中,上述根据文件信息发送相应的处理命令,并对上传失败的分片文件重新发起上传请求,包括以下步骤:
74.当文件信息为分片文件未成功上传至存储终端时,根据文件信息中获得的错误类型,将相应的处理命令发送至业务终端;
75.根据处理命令,执行相应的命令内容,重新触发上传失败的分片文件的上传请求。
76.具体地,当从业务终端返回的分片文件的文件信息为未成功上传时,文件信息中还包括该分片文件具体的错误类型和错误信息。处理程序中包括预定义的错误类型和相应的处理命令,错误类型包括但不限于:网络故障和硬盘内存不足故障,当错误类型为网络故障时,相应的处理命令可以是路由器重连;当错误类型为硬盘内存不足故障时,相应的处理命令可以是清理缓存(delete cache)或增加硬盘挂载(mount)。根据文件信息中具体的错误类型,发送相应的处理命令至业务终端,由分片文件上传失败的业务终端执行相应的命令内容,并重新发起分片文件的上传请求。
77.进一步地,上述根据文件信息发送相应的处理命令,并对上传失败的分片文件重新发起上传请求,还包括以下步骤:
78.在业务终端中,通过执行命令内容,进行相应的故障排除处理;
79.在重新触发上传请求之后,根据触发结果对分片文件的文件信息进行更新,将更新后的文件信息返回处理程序。
80.具体地,在业务终端中通过执行处理命令相应的命令内容,进行相应的故障排除。比如在业务终端接收到处理程序发送的处理命令为清理缓存时,那么通过执行清理缓存的命令内容,对该故障进行排除,再重新触发上传请求。
81.根据再次触发上传请求的结果对该分片文件的文件信息进行更新,具体可以包括执行成功记录,或执行失败,并记录失败原因以及跟踪后续处理,还可以包括上传失败情况的优化处理。
82.通过本实施例中从业务终端将上传失败的分片文件信息返回处理程序,再由处理程序根据其中的错误信息,向业务终端发送相应的处理命令,能够在业务终端中对上传失败的情况进行具体的故障排除,然后重新发起分片文件上传请求,使分片文件能够全部成功上传到存储终端,从而最终能够实现分片文件正常合并的效果。
83.在其中的一些实施例中,上述从每个存储终端下载所有分片文件,合并得到完整的待上传文件,并将待上传文件上传至存储终端,包括以下步骤:
84.当处理程序接收到最后一片分片文件的文件信息时,通过业务终端从存储终端下载所有已上传的分片文件;
85.通过将下载的分片文件进行合并,得到完整的待上传文件,并将待上传文件上传至存储终端进行存储。
86.具体地,处理程序通过分片文件上的分片标记进行区分,当分片文件中头信息中带有字段islast=true或分片文件名称中带last时,即可判定为最后一片分片文件。当接收到最后一片分片文件的文件信息时,也就说明所有分片文件都已上传成功至存储终端。由于业务集群中的业务终端只提供业务服务,需要再从存储终端下载所有上传的分片文件,并在任意一个业务终端中根据分片文件上的分片标记等信息将素有分片文件重新合并,得到完整的待上传文件,并上传至任意一个存储终端中进行存储。需要知道的是,存储集群中的各存储终端之间会同步完整的待上传文件。
87.进一步地,上传至存储终端后,还会将存储终端的名称和其他文件信息返回处理程序进行记录,比如待上传文件的名称、大小以及分片数等。
88.通过本实施例中在所有分片文件都上传之后,由业务终端再从存储终端下载所有分片文件进行合并,这样能够使所有分片人家能够正常合并,恢复得到完整的待上传文件并上传到存储终端进行存储。
89.下面通过优选实施例对本实施例进行描述和说明。
90.图4是本优选实施例的微服务集群文件分片上传方法的流程图,如图4所示,该方法包括以下步骤:
91.步骤s410,基于预设的规则,对获取的待上传文件进行分片处理和标记处理,得到带有标记的分片文件。
92.步骤s420,通过业务终端将分片文件上传至相应的存储终端,并将上传的分片文件的文件信息返回至处理程序。
93.步骤s430,在处理程序中,对错误类型和相应的处理命令进行预定义。
94.步骤s440,当文件信息为分片文件未成功上传至存储终端时,根据文件信息中获得的错误类型,将相应的处理命令发送至业务终端。
95.步骤s450,通过执行相应的命令内容,进行相应的故障排除处理,再重新触发分片文件的上传请求。
96.步骤s460,根据触发结果对分片文件的文件信息进行更新,将更新后的文件信息返回处理程序。
97.步骤s470,当处理程序接收到最后一片分片文件的文件信息时,通过业务终端从存储终端下载所有已上传的分片文件。
98.步骤s480,通过将下载的分片文件进行合并,得到完整的待上传文件,并将待上传文件上传至存储终端进行存储。
99.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,步骤s430可以步骤s440之前的任意一步中执行,在步骤s410和步骤s420之间,或是在步骤s410之前执行都是可以构想的。
100.在本实施例中还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
101.可选地,上述计算机设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
102.需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
103.此外,结合上述实施例中提供的微服务集群文件分片上传方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种微服务集群文件分片上传方法。
104.应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
105.显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0106]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0107]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献