1.本技术属于机架运维
技术领域:
:,具体涉及一种新旧系统的流量迁移方法、装置、设备及存储介质。
背景技术:
::2.在软件开发领域,对旧系统进行升级改造是很常见的,在旧系统升级改造过程中,避免不了软件开发阶段旧系统的代码功能迁移到新的系统,测试阶段需要测试迁移到新系统的代码功能是否与旧系统完全相同,同时在上线阶段需要将旧系统的生产流量切换到新系统这些过程。3.传统的新旧系统迁移过程中,可能一次性把全部流量由旧系统直接切换到了新系统,但这种流量迁移方式存在一定的弊端,即如果新旧系统切换过程中出现问题,不能快速的切回,对于流量比较大的系统所造成的影响比较大,导致用户使用体验较差。技术实现要素:4.本技术实施例的目的在于提出一种新旧系统的流量迁移方法、装置、计算机设备及存储介质,以解决现有流量迁移方式在新旧系统切换过程中出现问题,不能快速的切回,导致用户使用体验较差的技术问题。5.为了解决上述技术问题,本技术实施例提供一种新旧系统的流量迁移方法,采用了如下所述的技术方案:6.一种新旧系统的流量迁移方法,包括:7.接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号;8.对所述接口流水号进行哈希运算,得到哈希运算结果;9.获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果;10.根据取模运算结果生成分流策略,以实现新旧系统的流量迁移;11.当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中;12.当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移到旧系统中。13.进一步地,所述获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果,具体包括:14.分别获取新系统的初始权重和旧系统的初始权重;15.基于所述新系统的初始权重和所述旧系统的初始权重计算初始权重总和;16.根据所述初始权重总和对所述哈希运算结果进行取模运算,得到取模运算结果。17.进一步地,基于以下公式对所述哈希运算结果进行取模运算,得到:18.m=hasd(transseriano)%(p0-1)19.式中,m为取模运算结果,transseriano为当前流量迁移对应的接口流水号,hasd(transseriano)为接口流水号的哈希运算结果,p0为初始权重总和。20.进一步地,所述根据所述第一分流策略将当前流量迁移到新系统中,具体包括:21.加载所述第一分流策略,获取所述第一分流策略对应的分流信息;22.根据所述第一分流策略对应的分流信息,调整所述api接口的配置信息,得到第一api接口;23.通过所述第一api接口将所述当前流量迁移所述新系统中。24.进一步地,所述根据所述第二分流策略将当前流量迁移到旧系统中,具体包括:25.加载所述第二分流策略,获取所述第二分流策略对应的分流信息;26.根据所述第二分流策略对应的分流信息,调整所述api接口的配置信息,得到第二api接口;27.通过所述第二api接口将所述当前流量迁移所述旧系统中。28.进一步地,在所述接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号之前,还包括:29.获取历史业务的传入参数,根据所述历史业务的传入参数生成模拟用户请求;30.分别向所述新系统和旧系统发起所述模拟用户请求,得到新系统响应结果和旧系统响应结果;31.根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功。32.进一步地,所述根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功,具体包括:33.判断所述新系统响应结果和所述旧系统响应结果是否一致;34.若所述新系统响应结果和所述旧系统响应结果一致,则确定所述新系统部署成功;35.若所述新系统响应结果和所述旧系统响应结果不一致,则确定所述新系统部署失败。36.为了解决上述技术问题,本技术实施例还提供一种新旧系统的流量迁移装置,采用了如下所述的技术方案:37.一种新旧系统的流量迁移装置,包括:38.流水号获取模块,用于接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号;39.哈希运算模块,用于对所述接口流水号进行哈希运算,得到哈希运算结果;40.取模运算模块,用于获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果;41.分流策略生成模块,用于根据取模运算结果生成分流策略,以实现新旧系统的流量迁移;42.第一分流模块,用于当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中;43.第二分流模块,用于当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移到旧系统中。44.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:45.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述任一项所述的新旧系统的流量迁移方法的步骤。46.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:47.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述中任一项所述的新旧系统的流量迁移方法的步骤。48.与现有技术相比,本技术实施例主要有以下有益效果:49.本技术公开了一种新旧系统的流量迁移方法、装置、设备及存储介质,属于机架运维
技术领域:
:。本技术通过接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号,对接口流水号进行哈希运算,得到哈希运算结果,根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。此外,本技术还通发起模拟用户请求,并比对新系统响应结果和所述旧系统响应结果来帮助测试人员判断新系统的部署情况,提高测试效率。附图说明50.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。51.图1示出了本技术可以应用于其中的示例性系统架构图;52.图2示出了根据本技术的新旧系统的流量迁移方法的一个实施例的流程图;53.图3示出了根据本技术的新旧系统的流量迁移装置的一个实施例的结构示意图;54.图4示出了根据本技术的计算机设备的一个实施例的结构示意图。具体实施方式55.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的
技术领域:
:的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。56.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。57.为了使本
技术领域:
:的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。58.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。59.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。60.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。61.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。62.需要说明的是,本技术实施例所提供的新旧系统的流量迁移方法一般由服务器执行,相应地,新旧系统的流量迁移装置一般设置于服务器中。63.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。64.继续参考图2,示出了根据本技术的新旧系统的流量迁移方法的一个实施例的流程图。本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。65.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。所述的新旧系统的流量迁移方法,包括以下步骤:66.s201,接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号。67.在新系统部署完成,并通过功能测试之后,就可以进入流量迁移阶段,即可以依次将旧系统的流量迁移到部署完成的新系统中,目前客户端(新系统gac和旧系统ebcs)通过统一的入口——管理系统pts接入到服务器系统,pts系统负责流量的分发,即pts系统负责根据分流策略将流量分发给新系统gac和旧系统ebcs。68.具体的,服务器在接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号transseriano,其中,pts系统包括多个api接口,服务器根据流量迁移指令确定当前流量迁移对应的api接口,并从该api接口读取对应的接口流水号transseriano,服务器每次调用接口会传递唯一个接口流水号transseriano。69.在本实施例中,新旧系统的流量迁移方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收流量迁移指令。需要指出的是,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。70.s202,对所述接口流水号进行哈希运算,得到哈希运算结果。71.其中,哈希又称作“散列”,是一种数学计算机程序,它接收任何一组任意长度的输入信息,通过哈希算法变换成固定长度的数据指纹输出形式,如字母和数字的组合,该输出就是“哈希值”。总体而言,哈希算法可理解为一种消息摘要算法,将消息或数据压缩变小并拥有固定格式。由于其单向运算具有一定的不可逆性,哈希算法已成为加密算法中一个构成部分,但完整的加密机制不能仅依赖哈希算法。目前常见的hash算法包括国际上的messagedigest(md)系列和securehashalgorithm(sha)系列算法,以及国内的sm3算法。其中,sha256是sha系列算法之一,由美国国安局设计、美国国家标准与技术研究院发布的一套哈希算法,由于其摘要长度为256bits,故称sha256,sha256也是保护数字信息的最安全的方法之一。72.具体的,服务器对接口流水号transseriano进行哈希运算,得到哈希运算结果hasd(transseriano)。73.s203,获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果。74.具体的,服务器获取新旧系统的初始权重,并根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果。本技术通过对的api接口的接口流水号进行哈希取模运算,根据哈希取模运算的结果自动生成分流策略。75.进一步地,所述获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果,具体包括:76.分别获取新系统的初始权重和旧系统的初始权重;77.基于所述新系统的初始权重和所述旧系统的初始权重计算初始权重总和;78.根据所述初始权重总和对所述哈希运算结果进行取模运算,得到取模运算结果。79.具体的,服务器分别获取新系统的初始权重和旧系统的初始权重,基于新系统的初始权重和旧系统的初始权重计算初始权重总和,根据初始权重总和对哈希运算结果进行取模运算,得到取模运算结果。例如,新系统gac的初始权重设置为2和旧系统ebcs的初始权重设置为8,初始权重总和为10,初始权重用于控制流量占比。80.进一步地,基于以下公式对所述哈希运算结果进行取模运算,得到:81.m=hasd(transseriano)%(p0-1)82.式中,m为取模运算结果,transseriano为当前流量迁移对应的接口流水号,hasd(transseriano)为接口流水号的哈希运算结果,p0为初始权重总和。83.在上述实施例中,本技术通过对接口流水号进行哈希运算和取模运算,根据运算自动生成分流策略,相比于传统设置固定分流方案的分流策略,提升了流量分配的灵活性。84.s204,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,85.s205,当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中。86.s206,当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移旧系统中。87.具体的,服务器根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,其中,取模运算结果为值域m,当值域m落在第一阈值范围时,生成第一分流策略,第一分流策略为将当前流量迁移至新系统gac,根据所述第一分流策略将当前流量迁移新系统gac中,当值域m落在第二阈值范围时,生成第二分流策略,第二分流策略为将当前流量迁移至旧系统ebcs,根据所述第二分流策略将当前流量迁移旧系统ebcs中。88.在本技术一种具体的实施例中,第一阈值范围为[0,1],第二阈值范围为[1,9],第二阈值范围远远大于第一阈值范围,通过设定阈值范围,比对值域m与阈值范围生成分流策略,灵活分配新旧接口的流量占比,在生产验证阶段只将很少一部分流量分流到新系统,如果新系统接口有问题可以快速切换回旧系统出单,如果验证无误再逐步将流量全部分流到新系统,这样将切换过程中可能对生产业务影响降到最低,基本上可以做到切换过程中业务方无感知。[0089]进一步地,所述根据所述第一分流策略将当前流量迁移到新系统中,具体包括:[0090]加载所述第一分流策略,获取所述第一分流策略对应的分流信息;[0091]根据所述第一分流策略对应的分流信息,调整所述api接口的配置信息,得到第一api接口;[0092]通过所述第一api接口将所述当前流量迁移所述新系统中。[0093]具体的,服务器在生成第一分流策略之后,将第一分流策略上传到lua内,第一分流策略在lua内完成格式转化,形成lua脚本,然后将第一分流策略以lua脚本形式加载到pts中,加载lua脚本形式的第一分流策略,获取第一分流策略对应的分流信息,根据第一分流策略对应的分流信息,调整api接口的配置信息,得到第一api接口,通过第一api接口实现当前流量迁移到新系统gac中。[0094]其中,分流策略在服务器中是以string(字符串)的格式存在的,而string格式文件是不能直接被pts调用的,需要将以string的格式存在的分流策略文件通过lua进行重新编译,将string的格式的分流策略文件转换为table形式,然后通过lua加载到pts中进行存储,pts可以直接调用分流策略进行服务器用户流量的控制。[0095]进一步地,根据所述第二分流策略将当前流量迁移到旧系统中,具体包括:[0096]加载所述第二分流策略,获取所述第二分流策略对应的分流信息;[0097]根据所述第二分流策略对应的分流信息,调整所述api接口的配置信息,得到第二api接口;[0098]通过所述第二api接口将所述当前流量迁移所述旧系统中。[0099]具体的,服务器在生成第二分流策略之后,将第二分流策略上传到lua内,第二分流策略在lua内完成格式转化,形成lua脚本,然后将第二分流策略以lua脚本形式加载到pts中,加载lua脚本形式的第二分流策略,获取第二分流策略对应的分流信息,根据第二分流策略对应的分流信息,调整api接口的配置信息,得到第二api接口,通过第二api接口实现当前流量迁移到旧系统ebcs中。[0100]在上述实施例中,本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。[0101]进一步地,接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号之前,还包括:[0102]获取历史业务的传入参数,根据所述历史业务的传入参数生成模拟用户请求;[0103]分别向所述新系统和旧系统发起所述模拟用户请求,得到新系统响应结果和旧系统响应结果;[0104]根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功。[0105]在功能测试阶段,测试工程师除了要验证迁移的功能之外还要比对新系统每个功能写入后台数据库各个表的数据是否与旧系统相同功能写入的数据是否相同,有时一个功能可能涉及到巨量数据写入,测试工程师需要逐一核对每一张表,效率比较低下。[0106]具体的,获取历史业务的传入参数,根据历史业务的传入参数生成模拟用户请求,分别向新系统和旧系统发起模拟用户请求,得到新系统响应结果和旧系统响应结果,根据新系统响应结果和旧系统响应结果,判断新系统是否部署成功。[0107]在本实施例中,通过设置响应结果一键比对程序,该程序会自动查询同样入参分别调用新旧系统同一接口形成响应结果数据,进行响应结果数据比对,就可将新旧系统的后台数据的比对结果以excel的文件输出,将比对异常结果标红展示,这样可以帮助测试人员快速定位哪些表数据写入有问题,帮助开发人员快速定位迁移过程中出现的bug。[0108]进一步地,根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功,具体包括:[0109]判断所述新系统响应结果和所述旧系统响应结果是否一致;[0110]若所述新系统响应结果和所述旧系统响应结果一致,则确定所述新系统部署成功;[0111]若所述新系统响应结果和所述旧系统响应结果不一致,则确定所述新系统部署失败。[0112]具体的,判断新系统响应结果和旧系统响应结果是否一致,若新系统响应结果和旧系统响应结果一致,则确定新系统部署成功,若新系统响应结果和所述旧系统响应结果不一致,则确定新系统部署失败。[0113]在本技术一种具体的实施例中,保单承保接口流量的迁移过程中,为了保证迁移的正确性,使用同样一份入参分别通过新、旧系统调用,接口会生成响应结果数据(保单基本信息、投保人、被保人、受益人信息、标的信息、付款信息、限额免赔等信息总计45张表,这些表都会有保单号字段)写入数据库,通过响应结果一键比对程序以新旧系统接口分别生成的保单号p1和p2,去关联查询后台这45张表对应的记录,假设其中表a对应保单p1的记录为term1,对应保单p2的记录为term2,将term1和term2这两条记录的需要比对的字段进行一一比对,如果有字段结果不同,则将这两条记录输出到excel且将有差异的字段标红显示,如此循环完成所有需要比对的表和对应的字段。[0114]在上述实施例中,本技术公开了一种新旧系统的流量迁移方法,属于机架运维
技术领域:
:。本技术通过接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号,对接口流水号进行哈希运算,得到哈希运算结果,根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。此外,本技术还通发起模拟用户请求,并比对新系统响应结果和所述旧系统响应结果来帮助测试人员判断新系统的部署情况,提高测试效率。[0115]需要强调的是,为进一步保证上述接口流水号的私密和安全性,上述接口流水号还可以存储于一区块链的节点中。[0116]本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。[0117]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。[0118]应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。[0119]进一步参考图3,作为对上述图2所示方法的实现,本技术提供了一种新旧系统的流量迁移装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。[0120]如图3所示,本实施例所述的新旧系统的流量迁移装置包括:[0121]流水号获取模块301,用于接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号;[0122]哈希运算模块302,用于对所述接口流水号进行哈希运算,得到哈希运算结果;[0123]取模运算模块303,用于获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果;[0124]分流策略生成模块304,用于根据取模运算结果生成分流策略,以实现新旧系统的流量迁移;[0125]第一分流模块305,用于当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中;[0126]第二分流模块306,用于当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移到旧系统中。[0127]进一步地,所述取模运算模块303具体包括:[0128]初始权重获取单元,用于分别获取新系统的初始权重和旧系统的初始权重;[0129]初始权重求和单元,用于基于所述新系统的初始权重和所述旧系统的初始权重计算初始权重总和;[0130]取模运算单元,用于根据所述初始权重总和对所述哈希运算结果进行取模运算,得到取模运算结果。[0131]进一步地,基于以下公式对所述哈希运算结果进行取模运算,得到:[0132]m=hasd(transseriano)%(p0-1)[0133]式中,m为取模运算结果,transseriano为当前流量迁移对应的接口流水号,hasd(transseriano)为接口流水号的哈希运算结果,p0为初始权重总和。[0134]进一步地,所述第一分流模块305具体包括:[0135]第一分流策略加载单元,用于加载所述第一分流策略,获取所述第一分流策略对应的分流信息;[0136]第一接口配置单元,用于根据所述第一分流策略对应的分流信息,调整所述api接口的配置信息,得到第一api接口;[0137]第一迁移单元,用于通过所述第一api接口将所述当前流量迁移所述新系统中。[0138]进一步地,所述第二分流模块306具体包括:[0139]第二分流策略加载单元,用于加载所述第二分流策略,获取所述第二分流策略对应的分流信息;[0140]第二接口配置单元,用于根据所述第二分流策略对应的分流信息,调整所述api接口的配置信息,得到第二api接口;[0141]第二迁移单元,用于通过所述第二api接口将所述当前流量迁移所述旧系统中。[0142]进一步地,所述新旧系统的流量迁移装置还包括:[0143]模拟请求生成模块,用于获取历史业务的传入参数,根据所述历史业务的传入参数生成模拟用户请求;[0144]模拟请求响应模块,用于分别向所述新系统和旧系统发起所述模拟用户请求,得到新系统响应结果和旧系统响应结果;[0145]部署情况判定模块,用于根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功。[0146]进一步地,所述部署情况判定模块具体包括:[0147]响应结果比对单元,用于判断所述新系统响应结果和所述旧系统响应结果是否一致;[0148]第一比对结果单元,用于当所述新系统响应结果和所述旧系统响应结果一致时,确定所述新系统部署成功;[0149]第二比对结果单元,用于当所述新系统响应结果和所述旧系统响应结果不一致时,确定所述新系统部署失败。[0150]在上述实施例中,本技术公开了一种新旧系统的流量迁移装置,属于机架运维
技术领域:
:。本技术通过接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号,对接口流水号进行哈希运算,得到哈希运算结果,根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。此外,本技术还通发起模拟用户请求,并比对新系统响应结果和所述旧系统响应结果来帮助测试人员判断新系统的部署情况,提高测试效率。[0151]为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。[0152]所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本
技术领域:
:技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。[0153]所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。[0154]所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如新旧系统的流量迁移方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。[0155]所述处理器42在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述新旧系统的流量迁移方法的计算机可读指令。[0156]所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。[0157]本技术公开了一种设备,属于机架运维
技术领域:
:。本技术通过接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号,对接口流水号进行哈希运算,得到哈希运算结果,根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。此外,本技术还通发起模拟用户请求,并比对新系统响应结果和所述旧系统响应结果来帮助测试人员判断新系统的部署情况,提高测试效率。[0158]本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的新旧系统的流量迁移方法的步骤。[0159]本技术公开了一种存储介质,属于机架运维
技术领域:
:。本技术通过接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号,对接口流水号进行哈希运算,得到哈希运算结果,根据新旧系统的初始权重对哈希运算结果进行取模运算,得到取模运算结果,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。本技术通过对的api接口的接口流水号进行哈希取模运算,根据运算自动生成分流策略,提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。此外,本技术还通发起模拟用户请求,并比对新系统响应结果和所述旧系统响应结果来帮助测试人员判断新系统的部署情况,提高测试效率。[0160]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。[0161]本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。[0162]显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的
技术领域:
:,均同理在本技术专利保护范围之内。当前第1页12当前第1页12
技术特征:1.一种新旧系统的流量迁移方法,其特征在于,包括:接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号;对所述接口流水号进行哈希运算,得到哈希运算结果;获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果;根据取模运算结果生成分流策略,以实现新旧系统的流量迁移;当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中;当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移到旧系统中。2.根据权利要求1所述的新旧系统的流量迁移方法,其特征在于,所述获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果,具体包括:分别获取新系统的初始权重和旧系统的初始权重;基于所述新系统的初始权重和所述旧系统的初始权重计算初始权重总和;根据所述初始权重总和对所述哈希运算结果进行取模运算,得到取模运算结果。3.根据权利要求2所述的新旧系统的流量迁移方法,其特征在于,基于以下公式对所述哈希运算结果进行取模运算,得到:m=hasd(transseriano)%(p
0-1)式中,m为取模运算结果,transseriano为当前流量迁移对应的接口流水号,hasd(transseriano)为接口流水号的哈希运算结果,p0为初始权重总和。4.根据权利要求1所述的新旧系统的流量迁移方法,其特征在于,所述根据所述第一分流策略将当前流量迁移到新系统中,具体包括:加载所述第一分流策略,获取所述第一分流策略对应的分流信息;根据所述第一分流策略对应的分流信息,调整所述api接口的配置信息,得到第一api接口;通过所述第一api接口将所述当前流量迁移所述新系统中。5.根据权利要求1所述的新旧系统的流量迁移方法,其特征在于,所述根据所述第二分流策略将当前流量迁移到旧系统中,具体包括:加载所述第二分流策略,获取所述第二分流策略对应的分流信息;根据所述第二分流策略对应的分流信息,调整所述api接口的配置信息,得到第二api接口;通过所述第二api接口将所述当前流量迁移所述旧系统中。6.根据权利要求1至5任意一项所述的新旧系统的流量迁移方法,其特征在于,在所述接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号之前,还包括:获取历史业务的传入参数,根据所述历史业务的传入参数生成模拟用户请求;分别向所述新系统和旧系统发起所述模拟用户请求,得到新系统响应结果和旧系统响应结果;根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功。
7.根据权利要求6所述的新旧系统的流量迁移方法,其特征在于,所述根据所述新系统响应结果和所述旧系统响应结果,判断所述新系统是否部署成功,具体包括:判断所述新系统响应结果和所述旧系统响应结果是否一致;若所述新系统响应结果和所述旧系统响应结果一致,则确定所述新系统部署成功;若所述新系统响应结果和所述旧系统响应结果不一致,则确定所述新系统部署失败。8.一种新旧系统的流量迁移装置,其特征在于,包括:流水号获取模块,用于接收流量迁移指令,获取当前流量迁移对应的api接口的接口流水号;哈希运算模块,用于对所述接口流水号进行哈希运算,得到哈希运算结果;取模运算模块,用于获取新旧系统的初始权重,并根据所述新旧系统的初始权重对所述哈希运算结果进行取模运算,得到取模运算结果;分流策略生成模块,用于根据取模运算结果生成分流策略,以实现新旧系统的流量迁移;第一分流模块,用于当所述取模运算结果落在第一阈值范围时,生成第一分流策略,并根据所述第一分流策略将当前流量迁移到新系统中;第二分流模块,用于当所述取模运算结果落在第二阈值范围时,生成第二分流策略,并根据所述第二分流策略将当前流量迁移到旧系统中。9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的新旧系统的流量迁移方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的新旧系统的流量迁移方法的步骤。
技术总结本申请公开了一种新旧系统的流量迁移方法、装置、设备及存储介质,属于机架运维技术领域。本申请通过获取当前流量迁移对应的API接口的接口流水号,对接口流水号进行哈希运算,根据新旧系统的初始权重对哈希运算结果进行取模运算,根据取模运算结果生成分流策略,以实现新旧系统的流量迁移,当取模运算结果落在第一阈值范围时,生成第一分流策略,并根据第一分流策略将当前流量迁移新系统中,当取模运算结果落在第二阈值范围时,生成第二分流策略,并根据第二分流策略将当前流量迁移旧系统中。此外,本申请还涉及区块链技术,接口流水号可存储于区块链中。本申请提升了流量分配的灵活性,降级了新旧系统流量切换的风险,提升了用户使用体验。用户使用体验。用户使用体验。
技术研发人员:王少成
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1