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