基于微服务实现的图片ETL接入弹性处理分析方法及系统与流程

文档序号:29824663发布日期:2022-04-27 11:26阅读:149来源:国知局
基于微服务实现的图片ETL接入弹性处理分析方法及系统与流程
基于微服务实现的图片etl接入弹性处理分析方法及系统
技术领域
1.本发明涉及大数据etl(extract-transform-load)技术领域,特别是涉及一种基于微服务实现的图片etl接入弹性处理分析方法。


背景技术:

2.随着信息的发展,人像图片和车辆图片采集越来越重要和普及,且抓拍设备精度也约来越大,单日的采集量达到tb甚至pb的量级,并诞生了图片实时汇聚接入和分析的需求。
3.图片的采集,是一个从分散到汇聚的过程,越是集中,带宽和服务器的压力约来越大,当今社会,单张图片的大小将近1m,图片的传送和分析遇到了极大的挑战。受网络带宽和磁盘输入口i/o(input/output)瓶颈的限制,目前一般采用的接入方案是分多个ftp(file transfer protocol)服务上传,再对每个ftp服务部署复制一套相同的程序来分析处理。整个处理过程中遇到的问题是,图片的产生并不均衡,不同时间不同的ftp的图片量大不相同,没有统一的控制中枢,如果满足所有ftp的吞吐,则势必会造成资源的浪费,同时由于不同ftp的处理程序各自独立,处理服务横向扩展能力较弱。所以提高计算资源利用率和方便扩展成为了处理大批量图片的关键要点。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于微服务实现的图片etl接入弹性处理分析方法及系统,用于解决现有技术中图片采集和传输时存在的问题。
5.为实现上述目的及其他相关目的,本发明提供一种基于微服务实现的图片etl接入弹性处理分析方法,所述方法包括以下步骤:
6.利用统计分发服务获取所有ftp当前的图片数以及用于处理图片的微服务;
7.判断每个微服务的工作状态,并将待处理图片分发至空闲状态的微服务;
8.当所述微服务接收到图片处理指令后,将所述微服务与所述待处理图片对应的ftp进行连接,并从对应的ftp中获取待处理图片,以及利用所述微服务对所述待处理图片进行独自处理;
9.若所有微服务均处于非空闲状态,则判断所有ftp的图片数是否大于第一预设值,并在超过第一预设值后,向目标用户发送第一提示信息,并接收所述目标用户反馈的扩容指令或者不扩容指令。
10.可选地,所述方法还包括:
11.按照预设时间段获取没有进行分发的待处理图片的数量;
12.判断剩余的待处理图片数量是否大于第二预设值,并在剩余的待处理图片数量超过第二预设值后,向所述目标用户发送第二提示信息,并接收所述目标用户反馈的增加微服务指令或者不增加微服务指令。
13.可选地,在将待处理图片分发至空闲状态的微服务时,包括:按照图片分发优先级
来将待处理图片分发至空闲状态的微服务;
14.所述图片分发优先级至少包括:同一ftp的待处理图片优先分发给相同的微服务、同一文件路径的待处理图片优先分发给相同的微服务、同一ftp以及同一文件路径的待处理图片优先分发给相同的微服务。
15.可选地,所述方法还包括:将所述微服务的状态不定时地发送给所述统计分发服务,以及向所述统计分发服务发送分发图片请求。
16.可选地,利用统计分发服务获取所有ftp当前的图片数后,还包括:
17.根据所有ftp当前的图片数形成记录,所述记录包括:服务器ip、端口、账号、密码、路径和名称。
18.可选地,所述第一提示信息或第二提示信息包括:文本信息、音频信息。
19.可选地,所述第一提示信息和第二提示信息为文本信息。
20.可选地,所述第二预设值为10000。
21.本发明还提供一种基于微服务实现的图片etl接入弹性处理分析系统,所述系统包括有:
22.采集模块,用于利用统计分发服务获取所有ftp当前的图片数以及用于处理图片的微服务;
23.空闲判断模块,用于判断每个微服务的工作状态;
24.图片分发模块,用于将待处理图片分发至空闲状态的微服务;
25.微服务处理模块,用于在所述微服务接收到图片处理指令后,将所述微服务与所述待处理图片对应的ftp进行连接,并从对应的ftp中获取待处理图片,以及利用所述微服务对所述待处理图片进行独自处理;
26.第一提示模块,用于在所有微服务均处于非空闲状态时,判断所有ftp的图片数是否大于第一预设值,并在超过第一预设值后,向目标用户发送第一提示信息,并接收所述目标用户反馈的扩容指令或者不扩容指令。
27.可选地,所述系统还包括:
28.定时统计模块,用于按照预设时间段获取没有进行分发的待处理图片的数量;
29.第二提示模块,用于判断剩余的待处理图片数量是否大于第二预设值,并在剩余的待处理图片数量超过第二预设值后,向所述目标用户发送第二提示信息,并接收所述目标用户反馈的增加微服务指令或者不增加微服务指令。
30.如上所述,本发明提供一种基于微服务实现的图片etl接入弹性处理分析方法及系统,具有以下有益效果:
31.首先由统计分发服务实时统计所有ftp当前的图片数和当前具备图片处理能力的微服务节点数,进行一次预分配,如果分配之后剩余的图片数超过一定阈值,则通过短信或其他方式告知用户,由用户自行决定是否需要增加图片处理服务,同时各个图片处理服务根据自己的空闲状态不定时向统计分发服务发送处理请求,统计分发服会根据各个节点的状态进行分配,如果当前所有服务来不及处理,当ftp的图片量积压到一定程度,会发送短信告知用户,由用户自行决定是否进行扩容。本发明通过统计分发服务来控制整个处理过程,第一可以有效降低网络带宽,第二可以有效提高利用率加快处理进度,由于采用微服务处理架构,所以本发明可以非常方便地横向扩容和无缝对接。本发明通过提供一种基于微
服务实现大批量图片etl接入的弹性分配方案,首先将所有ftp服务统一分配,最大程度的利用现有资源进行图片实时处理,从而满足tb级图片接入的复杂场景的要求。
附图说明
32.图1为一实施例提供的基于微服务实现的图片etl接入弹性处理分析方法的流程示意图;
33.图2为一实施例提供的基于微服务实现的图片etl接入弹性处理分析方法的架构图。
具体实施方式
34.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
35.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
36.请参阅图1所示,本发明提供一种基于微服务实现的图片etl接入弹性处理分析方法,所述方法包括以下步骤:
37.利用统计分发服务获取所有ftp当前的图片数以及用于处理图片的微服务。作为示例,本实施例利用统计分发服务获取所有ftp当前的图片数后,还包括:根据所有ftp当前的图片数形成记录,所述记录包括:服务器ip、端口、账号、密码、路径和名称。
38.判断每个微服务的工作状态,并将待处理图片分发至空闲状态的微服务;
39.当所述微服务接收到图片处理指令后,将所述微服务与所述待处理图片对应的ftp进行连接,并从对应的ftp中获取待处理图片,以及利用所述微服务对所述待处理图片进行独自处理;
40.若所有微服务均处于非空闲状态,则判断所有ftp的图片数是否大于第一预设值,并在超过第一预设值后,向目标用户发送第一提示信息,并接收所述目标用户反馈的扩容指令或者不扩容指令。本实施例中的第一提示信息包括但不限于文本信息、音频信息。作为示例,例如本实施例中的第一提示信息可以为短信等文本信息。其中,本实施例中的第一预设值可以预先根据实际情况进行自定义,本实施例不对第一预设值进行数值限制。
41.根据上述记载,本方法还包括:按照预设时间段获取没有进行分发的待处理图片的数量;判断剩余的待处理图片数量是否大于第二预设值,并在剩余的待处理图片数量超过第二预设值后,向所述目标用户发送第二提示信息,并接收所述目标用户反馈的增加微服务指令或者不增加微服务指令。本实施例中的第二提示信息包括但不限于文本信息、音频信息。作为示例,例如本实施例中的第二提示信息可以为短信等文本信息。其中,本实施例中的第二预设值可以预先根据实际情况进行自定义,例如可以预先设置第二预设值为
10000。
42.根据上述记载,在一示例性实施例中,在将待处理图片分发至空闲状态的微服务时,还包括按照图片分发优先级来将待处理图片分发至空闲状态的微服务;所述图片分发优先级至少包括:同一ftp的待处理图片优先分发给相同的微服务、同一文件路径的待处理图片优先分发给相同的微服务、同一ftp以及同一文件路径的待处理图片优先分发给相同的微服务。
43.根据上述记载,在一示例性实施例中,所述方法还包括:将所述微服务的状态不定时地发送给所述统计分发服务,以及向所述统计分发服务发送分发图片请求。
44.根据上述记载,在另一示例性实施例中,如图1和图2所示,该实施例还提供了一种基于微服务实现的图片etl接入弹性处理分析方法,包括以下步骤:
45.步骤101:统计分发服务会不断统计当前所有ftp的文件数,汇聚成一条条记录,记录由服务器ip+端口+账号+密码+路径+名称组成。
46.步骤102:判断各个图片处理服务的空闲状态,将需要处理的图片记录分发给空闲服务,同一ftp服务器同一文件路径的优先分发给相同图片处理服务。
47.步骤103:定时统计还没分发出去需要处理的图片记录数,当积压记录数超过一定上限,比如10000张图片时,调用短信服务,发送短信告知用户,由用户自主决定增加处理服务或者暂不处理。
48.步骤104:图片处理服务根据获取的图片记录信息,连接ftp拉取图片处理,拉取图片的步骤最终是由各个图片处理服务独自完成,避免了冗余的网络传输,有效降低带宽堵塞,同时尽量将相同服务的图片发给相同的服务处理,避免了大量的连接时间损耗,提搞拉取效率。
49.步骤105:图片处理服务不定时将自己的状态发送给统计分发服务,包含是否在线,以及请求分发图片等。
50.综上所述,本发明提供一种基于微服务实现的图片etl接入弹性处理分析方法,首先由统计分发服务实时统计所有ftp当前的图片数和当前具备图片处理能力的微服务节点数,进行一次预分配,如果分配之后剩余的图片数超过一定阈值,则通过短信或其他方式告知用户,由用户自行决定是否需要增加图片处理服务,同时各个图片处理服务根据自己的空闲状态不定时向统计分发服务发送处理请求,统计分发服会根据各个节点的状态进行分配,如果当前所有服务来不及处理,当ftp的图片量积压到一定程度,会发送短信告知用户,由用户自行决定是否进行扩容。本方法通过统计分发服务来控制整个处理过程,第一可以有效降低网络带宽,第二可以有效提高利用率加快处理进度,由于采用微服务处理架构,所以本方法可以非常方便地横向扩容和无缝对接。本方法通过提供一种基于微服务实现大批量图片etl接入的弹性分配方案,首先将所有ftp服务统一分配,最大程度的利用现有资源进行图片实时处理,从而满足tb级图片接入的复杂场景的要求。
51.本发明还提供一种基于微服务实现的图片etl接入弹性处理分析系统,所述系统包括有:
52.采集模块,用于利用统计分发服务获取所有ftp当前的图片数以及用于处理图片的微服务。作为示例,本实施例利用统计分发服务获取所有ftp当前的图片数后,还包括:根据所有ftp当前的图片数形成记录,所述记录包括:服务器ip、端口、账号、密码、路径和名
称。
53.空闲判断模块,用于判断每个微服务的工作状态;
54.图片分发模块,用于将待处理图片分发至空闲状态的微服务;
55.微服务处理模块,用于在所述微服务接收到图片处理指令后,将所述微服务与所述待处理图片对应的ftp进行连接,并从对应的ftp中获取待处理图片,以及利用所述微服务对所述待处理图片进行独自处理;
56.第一提示模块,用于在所有微服务均处于非空闲状态时,判断所有ftp的图片数是否大于第一预设值,并在超过第一预设值后,向目标用户发送第一提示信息,并接收所述目标用户反馈的扩容指令或者不扩容指令。本实施例中的第一提示信息包括但不限于文本信息、音频信息。作为示例,例如本实施例中的第一提示信息可以为短信等文本信息。其中,本实施例中的第一预设值可以预先根据实际情况进行自定义,本实施例不对第一预设值进行数值限制。
57.根据上述记载,本系统还包括:定时统计模块,用于按照预设时间段获取没有进行分发的待处理图片的数量;第二提示模块,用于判断剩余的待处理图片数量是否大于第二预设值,并在剩余的待处理图片数量超过第二预设值后,向所述目标用户发送第二提示信息,并接收所述目标用户反馈的增加微服务指令或者不增加微服务指令。本实施例中的第二提示信息包括但不限于文本信息、音频信息。作为示例,例如本实施例中的第二提示信息可以为短信等文本信息。其中,本实施例中的第二预设值可以预先根据实际情况进行自定义,例如可以预先设置第二预设值为10000。
58.根据上述记载,在一示例性实施例中,在将待处理图片分发至空闲状态的微服务时,还包括按照图片分发优先级来将待处理图片分发至空闲状态的微服务;所述图片分发优先级至少包括:同一ftp的待处理图片优先分发给相同的微服务、同一文件路径的待处理图片优先分发给相同的微服务、同一ftp以及同一文件路径的待处理图片优先分发给相同的微服务。
59.根据上述记载,在一示例性实施例中,所述方法还包括:将所述微服务的状态不定时地发送给所述统计分发服务,以及向所述统计分发服务发送分发图片请求。
60.在另一示例性实施例中,实施例还提供了一种基于微服务实现的图片etl接入弹性处理分析系统,用于执行以下步骤:
61.步骤101:统计分发服务会不断统计当前所有ftp的文件数,汇聚成一条条记录,记录由服务器ip+端口+账号+密码+路径+名称组成。
62.步骤102:判断各个图片处理服务的空闲状态,将需要处理的图片记录分发给空闲服务,同一ftp服务器同一文件路径的优先分发给相同图片处理服务。
63.步骤103:定时统计还没分发出去需要处理的图片记录数,当积压记录数超过一定上限,比如10000张图片时,调用短信服务,发送短信告知用户,由用户自主决定增加处理服务或者暂不处理。
64.步骤104:图片处理服务根据获取的图片记录信息,连接ftp拉取图片处理,拉取图片的步骤最终是由各个图片处理服务独自完成,避免了冗余的网络传输,有效降低带宽堵塞,同时尽量将相同服务的图片发给相同的服务处理,避免了大量的连接时间损耗,提搞拉取效率。
65.步骤105:图片处理服务不定时将自己的状态发送给统计分发服务,包含是否在线,以及请求分发图片等。
66.综上所述,本发明提供一种基于微服务实现的图片etl接入弹性处理分析系统,首先由统计分发服务实时统计所有ftp当前的图片数和当前具备图片处理能力的微服务节点数,进行一次预分配,如果分配之后剩余的图片数超过一定阈值,则通过短信或其他方式告知用户,由用户自行决定是否需要增加图片处理服务,同时各个图片处理服务根据自己的空闲状态不定时向统计分发服务发送处理请求,统计分发服会根据各个节点的状态进行分配,如果当前所有服务来不及处理,当ftp的图片量积压到一定程度,会发送短信告知用户,由用户自行决定是否进行扩容。本系统通过统计分发服务来控制整个处理过程,第一可以有效降低网络带宽,第二可以有效提高利用率加快处理进度,由于采用微服务处理架构,所以本系统可以非常方便地横向扩容和无缝对接。本系统通过提供一种基于微服务实现大批量图片etl接入的弹性分配方案,首先将所有ftp服务统一分配,最大程度的利用现有资源进行图片实时处理,从而满足tb级图片接入的复杂场景的要求。
67.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1