本发明涉及网络,尤其涉及一种流量迁移方法、装置、终端设备以及存储介质。
背景技术:
1、elasticsearch是一种高效的数据搜索分析引擎,在金融领域也有不少应用场景。随着技术的升级迭代,elasticsearch也经常需要做版本升级和部署环境迁移,但传统的升级迁移方案存在以下弊端,不能满足金融业务高保障要求:
2、(1)业务流量损失:传统升级迁移方案需要先停业务流量,在数据无更新的情况下做存量流量迁移,但很多金融业务是7*24的,不能接受停业务流量。
3、(2)数据同步异常:如果在不停业务流量的情况下,按传统方案做升级迁移,可能存在数据同步异常问题(存量同步和实时同步两份数据发生重复、老版本覆盖新版本等问题)。
4、(3)灰度验证困难:传统升级迁移采用“一把切”方案,切换后所有流量一次性打到新集群,如果切换有问题,会影响全量业务,无法使用小流量灰度验证来避免风险扩散。
5、(4)异常回退困难:传统升级迁移方案切换到新集群后,老集群数据不再更新,一旦新集群出现问题需要回退,就会存在老集群实时数据缺失问题。
6、故需要一种流量迁移方法,解决流量迁移效率低的问题。
7、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种流量迁移方法、装置、终端设备以及存储介质,旨在解决流量迁移没有进行验证导致流量损失、数据同步异常以及效率低的技术问题。
2、为实现上述目的,本发明提供一种流量迁移方法,所述流量迁移方法包括:
3、根据预设的第一集群以及第二集群,通过分布式流处理框架flink将数据写入所述第一集群,获取写入结果;
4、通过预设的迁移策略对所述第一集群进行灰度验证,得到验证结果;
5、当所述验证结果为通过时,将业务流量迁移至所述第一集群,得到迁移结果。
6、可选的,所述根据预设的第一集群以及第二集群,通过分布式流处理框架flink将数据写入所述第一集群,获取写入结果的步骤包括:
7、通过所述flink创建数据读写任务;
8、根据所述读写任务以及所述第一集群的集群索引,通过分布式流处理平台kafka将实时数据写入所述第一集群,获取初始写入结果;
9、根据所述初始写入结果,将所述第二集群的存量数据写入所述第一集群,获取写入结果。
10、可选的,所述根据所述初始写入结果,将所述第二集群的存量数据写入所述第一集群,获取写入结果的步骤包括:
11、对所述存量数据进行字段分析,获取主键值;
12、通过所述主键值对所述第一集群的配置文件进行数据分析,获取分析结果;
13、根据所述分析结果将所述存量数据写入所述第一集群,获取写入结果。
14、可选的,所述根据所述分析结果将所述存量数据写入所述第一集群,获取写入结果的步骤包括:
15、若所述分析结果为所述第一集群不存在所述主键值对应的主键数据,则将所述存量数据写入所述第一集群,获取写入结果;
16、若所述分析结果为所述第一集群存在所述主键值对应的主键数据,则获取所述第一集群的主键数据版本号以及所述第二集群的主键数据版本号;
17、根据所述第一集群的主键数据版本号以及所述第二集群的主键数据版本号进行分析;
18、若所述第二集群的主键数据版本号在所述第一集群数据的版本号以上,则通过所述存量数据对所述第一集群的主键数据进行覆盖写入,得到写入结果。
19、可选的,所述对通过预设的迁移策略对所述第一集群进行灰度验证,得到验证结果的步骤包括:
20、使用预设的查询服务器与所述第一集群以及第二集群进行连接,并根据所述迁移策略,通过查询流量对所述第一集群以及第二集群进行灰度验证,获取初始验证结果;
21、当所述初始验证结果为通过时,扩大所述灰度验证的验证范围,直至所述第一集群以及所述第二集群得到完全验证,得到验证结果。
22、可选的,所述通过查询流量对所述第一集群以及第二集群进行灰度验证,获取初始验证结果的步骤之后还包括:
23、当所述初始验证结果为不通过时,根据所述灰度验证的验证范围以及查询流量进行异常分析,获取异常信息;
24、根据所述异常信息对所述第一集群以及第二集群进行异常处理,获取处理后的第一集群以及第二集群;
25、对所述处理后的第一集群以及第二集群进行灰度验证,得到验证结果。
26、可选的,所述当所述验证结果为通过时,将业务流量迁移至所述第一集群,得到迁移结果的步骤之后还包括:
27、根据预设的检测时长,通过异常检测工具对所述第一集群进行检测,获取检测结果;
28、若所述检测结果为异常,则将所述业务流量迁移至所述第二集群,并通过所述第二集群进行流量处理;
29、若所述检测结果为正常,则对所述第二集群的存量数据以及实时数据进行清理,获取清理结果。
30、本发明实施例还提出一种流量迁移装置,所述流量迁移装置包括:
31、写入模块,用于根据预设的第一集群以及第二集群,通过分布式流处理框架flink将数据写入所述第一集群,获取写入结果;
32、验证模块,用于通过预设的迁移策略对所述第一集群进行灰度验证,得到验证结果;
33、迁移模块,用于当所述验证结果为通过时,将业务流量迁移至所述第一集群,得到迁移结果。
34、本发明实施例还提出了一种终端设备所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量迁移程序,所述流量迁移程序被所述处理器执行时实现如上所述的流量迁移方法的步骤。
35、本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有流量迁移程序,所述流量迁移程序被处理器执行时实现如上所述的流量迁移方法的步骤。
36、本发明实施例提出的一种流量迁移方法、装置、终端设备以及存储介质,根据预设的第一集群以及第二集群,通过分布式流处理框架flink将数据写入所述第一集群,获取写入结果;通过预设的迁移策略对所述第一集群进行灰度验证,得到验证结果;当所述验证结果为通过时,将业务流量迁移至所述第一集群,得到迁移结果。由此,通过分布式流处理框架flink将数据写入第一集群,并对第一集群进行灰度验证,当验证通过时将业务流量迁移至第一集群,实现了对流量的迁移,解决了流量迁移没有进行验证导致流量损失、数据同步异常以及效率低的问题,提高了流量迁移的效率。
1.一种流量迁移方法,其特征在于,所述流量迁移方法包括以下步骤:
2.根据权利要求1所述的流量迁移方法,其特征在于,所述根据预设的第一集群以及第二集群,通过分布式流处理框架flink将数据写入所述第一集群,获取写入结果的步骤包括:
3.根据权利要求2所述的流量迁移方法,其特征在于,所述根据所述初始写入结果,将所述第二集群的存量数据写入所述第一集群,获取写入结果的步骤包括:
4.根据权利要求3所述的流量迁移方法,其特征在于,所述根据所述分析结果将所述存量数据写入所述第一集群,获取写入结果的步骤包括:
5.根据权利要求1所述的流量迁移方法,其特征在于,所述对通过预设的迁移策略对所述第一集群进行灰度验证,得到验证结果的步骤包括:
6.根据权利要求5所述的流量迁移方法,其特征在于,所述通过查询流量对所述第一集群以及第二集群进行灰度验证,获取初始验证结果的步骤之后还包括:
7.根据权利要求5所述的流量迁移方法,其特征在于,所述当所述验证结果为通过时,将业务流量迁移至所述第一集群,得到迁移结果的步骤之后还包括:
8.一种流量迁移装置,其特征在于,所述流量迁移装置包括:
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量迁移程序,所述流量迁移程序被所述处理器执行时实现如权利要求1-7中任一项所述的流量迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流量迁移程序,所述流量迁移程序被处理器执行时实现如权利要求1-7中任一项所述的流量迁移方法的步骤。