[发明专利]一种动态切换数据流的方法、系统、介质及终端有效
申请号: | 202110924619.1 | 申请日: | 2021-08-12 |
公开(公告)号: | CN113608896B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 魏程琛;贺宁 | 申请(专利权)人: | 重庆紫光华山智安科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/455 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 李铁 |
地址: | 400700 重庆市*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 切换 数据流 方法 系统 介质 终端 | ||
本发明提供一种动态切换数据流的方法、系统、介质及终端,方法包括:监控数据服务状态,所述数据服务包括数据消费服务和数据生产服务;当所述数据消费服务启动时,若数据完全被消费,则进行实时处理,否则进行异步处理;当所述数据生产服务启动时,通过调用数据消费服务数据接入接口确认,使所述数据消费服务正常运行,并根据中间件中状态写入主题的偏移量的变化,改变数据生产方式;本发明针对数据生产方和数据消费,采用同步异步结合的方式,在不额外增加物理资源消耗的情况下,不仅能保证数据不丢失,保证了健壮性,还能最大限度的保留数据的即时性。
技术领域
本发明涉及计算机应用领域,尤其涉及一种动态切换数据流的方法、系统、介质及终端。
背景技术
随着容器概念的普及,docker和kubernetes的应用越来越多,容器化的使用,快速编排增加容器服务来给服务纵向扩容带来了很多便利,解决了很多性能瓶颈。
但是,目前常用方案是同步操作大数据量时,只能增加资源或者启动更多的容器来解决,异步操作由不能最大限度的保证即时性,同步操作数据消费的服务异常时,还会造成数据的大量丢失。要想处理更多的数据,只能请求更多的物理资源。所以在某些数据量大,且不是特别要求数据即时性的一些场景,现有的方案无法同时满足资源占用和及时性的业务要求。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种动态切换数据流的方法、系统、介质及终端,以解决上述技术问题。
本发明提供的动态切换数据流的方法,包括:
监控数据服务状态,所述数据服务包括数据消费服务和数据生产服务;
当所述数据消费服务启动时,若数据完全被消费,则进行实时处理,否则进行异步处理;
当所述数据生产服务启动时,通过调用数据消费服务数据接入接口确认,使所述数据消费服务正常运行,并根据中间件中状态写入主题的偏移量的变化,改变数据生产方式。
于本发明的一实施例中,当数据服务异常重启时,同时重启所述数据消费服务和数据生产服务,若重启后所述数据消费服务异常,则将数据发送至中间件;
所述监控数据服务状态包括:获取容器的资源情况、接口的队列阈值、中间件中数据写入主题的偏移量,以及中间件中状态写入主题的偏移量;如所述中间件中数据写入主题的偏移量为最新,则判定数据完全被消费。
于本发明的一实施例中,如存在未消费完成的数据,则通过将主题中用于标志是否实时处理的标志参数赋值为假,并将已赋假值的标志参数按预设状态写入主题写入中间件,并进行数据的异步处理;
如不存在未消费完成的数据,
若资源占用率大于预设的阈值,则将所述标志参数赋值为假;
若资源占用率小于等于所述阈值,则将所述标志参数赋值为真;
在更新所述标志参数时,通过将标志参数已赋值的状态写入主题,写入中间件,通知数据生产服务。
于本发明的一实施例中,所述通过调用数据消费服务数据接入接口确认,使所述数据消费服务正常运行之后包括:
若所述中间件中状态写入主题的偏移量为最新,
则调用再平衡接口,消费最后一条数据作为数据处理依据;
否则,则调用数据消费服务接入查询接口确认后,再以实际消费的最新数据进行处理。
于本发明的一实施例中,在判断所述中间件中状态写入主题的偏移量为最新之前,包括:
如果调用接入接口不满足正常处理请求,则直接进行数据的异步生产,将数据写入中间件的数据写入主题中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆紫光华山智安科技有限公司,未经重庆紫光华山智安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110924619.1/2.html,转载请声明来源钻瓜专利网。