一种基于容器的数据接收及解析方法转让专利

申请号 : CN201810207667.7

文献号 : CN110278218A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄川张皓

申请人 : 吉旗(成都)科技有限公司

摘要 :

本发明公开了一种基于容器的数据接收及解析方法,其包括:提供标准容器镜像,该标准容器镜像中包装了数据接收及解析服务运行所需的基本组件;自动化部署平台基于Webhook将用户代码自动制作为容器镜像,并推送到中央库中;通过自动化部署平台自动部署容器镜像;监控每个数据接收及解析服务的流量及连接数,产生流量及连接数的每分钟的平均数据并将该平均数据放入消息队列中;通过监控服务接收消息队列中的数据并根据接收到的数据的大小调整容器数量。本发明可以实现业务的自动部署并基于监控数据实现对容器的自动扩容与缩容,进而实现对数据接收及解析的自动化管理。

权利要求 :

1.一种基于容器的数据接收及解析方法,其特征在于,所述方法包括:提供标准容器镜像,所述标准容器镜像中包装了数据接收及解析服务运行所需的基本组件;

自动化部署平台通过所述标准化容器镜像,基于Webhook将用户代码自动制作为容器镜像,并将所述容器镜像推送到中央库中;

通过所述自动化部署平台自动部署所述容器镜像;

基于所述容器镜像监控每个数据接收及解析服务的流量及连接数,产生所述流量及连接数的每分钟的平均数据并将所述平均数据放入消息队列中;

通过监控服务接收所述消息队列中的数据并根据从所述消息队列中接收到的数据的大小调整容器数量。

2.如权利要求1所述的基于容器的数据接收及解析方法,其特征在于,所述通过监控服务接收所述消息队列中的数据并根据从所述消息队列中接收到的数据的大小调整容器数量,包括:通过监控服务接收所述消息队列中的数据;

当接收到的数据小于预设的最大阈值且大于预设的最小阈值时,更新数据库中所缓存的最新数据;

当接收到的数据大于所述最大阈值或小于所述最小阈值时,查询所述数据库中的最新数据,并根据所述数据库中最新数据的大小调整容器数量。

3.如权利要求2所述的基于容器的数据接收及解析方法,其特征在于,所述根据所述数据库中最新数据的大小调整容器数量,包括:当所述数据库中最新数据小于所述最大阈值且大于所述最小阈值时,更新所述数据库中的最新数据;

当所述数据库中最新数据大于所述最大阈值或小于所述最小阈值时,则检查所述数据库中数据时间戳的差值;

当所述差值在两分钟内时,则直接丢弃接收到的数据;

当所述差值超过两分钟且所述数据库中最新数据大于所述最大阈值时,则更新所述数据库中的最新数据并触发扩容服务增加容器数量;

当所述差值超过两分钟且所述数据库中最新数据小于所述最小阈值时,则更新所述数据库中的最新数据并触发缩容服务减少容器数量。

4.如权利要求3所述的基于容器的数据接收及解析方法,其特征在于,所述触发扩容服务增加容器数量时所增加的容器数量等于所述数据库中当前最新数据和所述最大阈值的比值。

5.如权利要求3所述的基于容器的数据接收及解析方法,其特征在于,所述触发缩容服务减少容器数量时一次仅减少一个容器。

说明书 :

一种基于容器的数据接收及解析方法

技术领域

[0001] 本发明涉及数据接收及解析技术领域,尤其涉及一种基于容器的数据接收及解析方法。

背景技术

[0002] 目前针对各种联网设备的数据的接收及解析还没有基于容器化,一般都是采用手动的方式进行业务部署、扩容及缩容等操作。而现有的这种手动操作方式很容易造成部署错误,并且当数据流量增加后不能及时扩容,同样在数据流量减少后也不能及时缩容,从而不利于数据的接收及解析处理。

发明内容

[0003] 针对上述现有技术中存在的不足之处,本发明提供一种基于容器的数据接收及解析方法,实现业务的自动部署并基于监控数据实现对容器的自动扩容与缩容,进而实现对数据接收及解析的自动化管理。
[0004] 该基于容器的数据接收及解析方法,包括:
[0005] 提供标准容器镜像,所述标准容器镜像中包装了数据接收及解析服务运行所需的基本组件;
[0006] 自动化部署平台通过所述标准化容器镜像,基于Webhook将用户代码自动制作为容器镜像,并将所述容器镜像推送到中央库中;
[0007] 通过所述自动化部署平台自动部署所述容器镜像;
[0008] 基于所述容器镜像监控每个数据接收及解析服务的流量及连接数,产生所述流量及连接数的每分钟的平均数据并将所述平均数据放入消息队列中;
[0009] 通过监控服务接收所述消息队列中的数据并根据从所述消息队列中接收到的数据的大小调整容器数量。
[0010] 进一步地,所述通过监控服务接收所述消息队列中的数据并根据从所述消息队列中接收到的数据的大小调整容器数量,包括:
[0011] 通过监控服务接收所述消息队列中的数据;
[0012] 当接收到的数据小于预设的最大阈值且大于预设的最小阈值时,更新数据库中所缓存的最新数据;
[0013] 当接收到的数据大于所述最大阈值或小于所述最小阈值时,查询所述数据库中的最新数据,并根据所述数据库中最新数据的大小调整容器数量。
[0014] 更进一步地,所述根据所述数据库中最新数据的大小调整容器数量,包括:
[0015] 当所述数据库中最新数据小于所述最大阈值且大于所述最小阈值时,更新所述数据库中的最新数据;
[0016] 当所述数据库中最新数据大于所述最大阈值或小于所述最小阈值时,则检查所述数据库中数据时间戳的差值;
[0017] 当所述差值在两分钟内时,则直接丢弃接收到的数据;
[0018] 当所述差值超过两分钟且所述数据库中最新数据大于所述最大阈值时,则更新所述数据库中的最新数据并触发扩容服务增加容器数量;
[0019] 当所述差值超过两分钟且所述数据库中最新数据小于所述最小阈值时,则更新所述数据库中的最新数据并触发缩容服务减少容器数量。
[0020] 优选地,所述触发扩容服务增加容器数量时所增加的容器数量等于所述数据库中当前最新数据和所述最大阈值的比值。
[0021] 优选地,所述触发缩容服务减少容器数量时一次仅减少一个容器。
[0022] 本发明通过自动化部署平台基于Webhook将用户代码自动制作为容器镜像,并推送到中央库中;并通过自动化部署平台自动部署容器镜像;监控每个数据接收及解析服务的流量及连接数,产生每分钟的平均数据并将平均数据放入消息队列中;通过监控服务接收消息队列中的数据并根据接收到的数据的大小调整容器数量。从而可以实现业务的自动部署并基于监控数据实现对容器的自动扩容与缩容,进而实现对数据接收及解析的自动化管理。

附图说明

[0023] 图1为本发明实施例提供的基于容器的数据接收及解析方法的流程图;
[0024] 图2为自动化部署平台自动制作及部署容器镜像的流程示意图。

具体实施方式

[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 请参阅图1,图1示出了本实施例中的基于容器的数据接收及解析方法的流程图,该方法具体包括以下步骤:
[0027] S101,提供标准容器镜像。
[0028] S102,自动化部署平台通过标准化容器镜像,基于Webhook将用户代码自动制作为容器镜像,并将容器镜像推送到中央库中。
[0029] S103,通过自动化部署平台自动部署容器镜像。
[0030] 需要说明的是,上述标准容器镜像中包装了数据接收及解析服务运行所需的基本组件。上述自动化部署平台为gitlab平台。上述步骤即为基于gitlab平台根据用户提交的代码基于Webhook自动制作并部署容器镜像的过程。
[0031] 其中,自动制作并部署容器镜像的过程如图2所示,首先通过gitlab平台将用户提交到其他分支的代码合并到master分支,然后基于master分支生成容器镜像所对应的tag,然后基于Webhook自动制作容器镜像,最后通过自动化部署平台自动部署容器镜像并进行自动化测试。
[0032] S104,基于容器镜像监控每个数据接收及解析服务的流量及连接数,产生流量及连接数的每分钟的平均数据并将平均数据放入消息队列中。
[0033] S105,通过监控服务接收消息队列中的数据并根据从消息队列中接收到的数据的大小调整容器数量。
[0034] 需要说明的是,上述通过监控服务接收消息队列中的数据并根据从消息队列中接收到的数据的大小调整容器数量,包括:
[0035] 通过监控服务接收消息队列中的数据;当接收到的数据小于预设的最大阈值且大于预设的最小阈值时,更新Redis数据库中所缓存的最新数据;
[0036] 当接收到的数据大于最大阈值或小于最小阈值时,查询Redis数据库中的最新数据;当Redis数据库中最新数据小于最大阈值且大于最小阈值时,更新Redis数据库中的最新数据;当Redis数据库中最新数据大于最大阈值或小于最小阈值时,则检查Redis数据库中数据时间戳的差值;
[0037] 当Redis数据库中数据时间戳的差值在两分钟内时,则直接丢弃接收到的数据;当上述差值超过两分钟且Redis数据库中最新数据大于最大阈值时,则更新Redis数据库中的最新数据并触发扩容服务增加容器数量;
[0038] 当上述差值超过两分钟且数据库中最新数据小于最小阈值时,则更新数据库中的最新数据并触发缩容服务减少容器数量。
[0039] 其中,当触发扩容服务增加容器数量时所增加的容器数量等于Redis数据库中当前最新数据和上述最大阈值的比值。当触发缩容服务减少容器数量时一次仅减少一个容器实例以保证服务的平稳缩容。
[0040] 本实施例中的方法通过自动化部署平台基于Webhook将用户代码自动制作为容器镜像,并推送到中央库中;并通过自动化部署平台自动部署容器镜像;监控每个数据接收及解析服务的流量及连接数,产生每分钟的平均数据并将平均数据放入消息队列中;通过监控服务接收消息队列中的数据并根据接收到的数据的大小调整容器数量。从而可以实现业务的自动部署并基于监控数据实现对容器的自动扩容与缩容,进而实现对数据接收及解析的自动化管理。
[0041] 此外,本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明实施例可采用结合软件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0042] 还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0043] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。