CN108667873A - 一种分流方法、分流装置、电子设备和可读存储介质 - Google Patents

一种分流方法、分流装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN108667873A
CN108667873A CN201710206735.3A CN201710206735A CN108667873A CN 108667873 A CN108667873 A CN 108667873A CN 201710206735 A CN201710206735 A CN 201710206735A CN 108667873 A CN108667873 A CN 108667873A
Authority
CN
China
Prior art keywords
packet
shunting
instances
grouping
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710206735.3A
Other languages
English (en)
Other versions
CN108667873B (zh
Inventor
赵紫星
汤鹏飞
王远斌
白铖
彭明超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710206735.3A priority Critical patent/CN108667873B/zh
Publication of CN108667873A publication Critical patent/CN108667873A/zh
Application granted granted Critical
Publication of CN108667873B publication Critical patent/CN108667873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种分流方法、分流装置、电子设备和可读存储介质,能够自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源。本发明实施例的一种分流方法,包括:收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;判断各分组流量是否均衡,当各分组流量不均衡时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。

Description

一种分流方法、分流装置、电子设备和可读存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种分流方法、分流装置、电子设备和可读存储介质。
背景技术
在分布式服务发展下,对同一服务,由于资源、数据、应用场景的不同划分到不同业务组,并且物理分离不同的容器。但是在调度过程中由于各场景下调用量的不同,对容器使用率各场景不一,并且大部分预留测试组容器进行上线前的测试验证,对容器的浪费较多。
现有分流的基本方案是:从入口开始分流控制,然后各分组中的业务节点均接入分布式服务的框架,根据流量人为指定分配到各分组的实例数量;预设测试组,各服务至少有一台实例部署测试服务器,只有在测试时使用此组实例。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)只能手动去调整各分组的实例数量。
(2)浪费容器资源较多,对少量请求(如测试或者其他某时刻请求量少)的服务,无法动态调整分组,不能合理进行资源资源调度。
发明内容
有鉴于此,本发明实施例提供一种分流方法、分流装置、电子设备和可读存储介质,能够自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源。
为实现上述目的,根据本发明的一个方面,提供了一种分流方法。
本发明实施例的一种分流方法,包括:收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;判断各分组流量是否均衡,当各分组流量不均衡时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。
可选地,判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。
可选地,确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
可选地,所述方法还包括:当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。
可选地,所述方法还包括:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。
可选地,所述方法还包括:获取分组切换进度,并在分组切换完成后,改写分组图示信息。
可选地,所述方法还包括:统计当前各分组分流节点实例的分流信息,并通过轮询的方式输出。
可选地,所述方法还包括:获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL重写。
可选地,所述方法还包括:控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。
为实现上述目的,根据本发明的另一方面,提供了一种分流装置。
本发明实施例的一种分流装置,包括:流量分析模块,用于收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;智能分组调度控制器,用于判断各分组流量是否均衡,当各分组流量不均时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;分组控制模块,用于根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。
可选地,判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。
可选地,确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
可选地,当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。
可选地,所述智能分组调度控制器还用于:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。
可选地,所述智能分组调度控制器还用于:获取分组切换进度,并在分组切换完成后,改写分组图示信息。
可选地,所述装置还包括:调度统计器,用于统计各分组分流节点实例的分流信息,并通过轮询的方式发送至流量分析模块。
可选地,所述装置还包括:入口分流模块,用于获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL重写。
可选地,所述装置还包括:业务流量图形界面控制器,用于控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。
为实现上述目的,根据本发明的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例的一种分流方法。
为实现上述目的,根据本发明的再一方面,提供了一种非暂态计算机可读存储介质。
本发明实施例的一种非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例的一种分流方法。
根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:通过实时收集各分组分流节点实例的分流信息,汇总分析获得各分组的总流量信息,当个分组流量不均衡时自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;本发明提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源;通过将各分组分流节点的数量、各分流节点的流量对比阀值信息、各分组分流节点实例的流量分配信息通过图像化界面进行展示,直观方便,提供人为分析的信息支持。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的分流方法的主要流程的示意图;
图2是根据本发明实施例的分流方法的主要步骤示意图;
图3是根据本发明实施例的分流装置的主要模块的示意图;
图4是根据本发明实施例的分流装置的部署示意图;
图5是实现本发明实施例的分流方法的电子设备的硬件结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例中,改进了之前的分流方法,实现了一种动态调整分组内实例数量的解决方案。本发明的实施例中支持多种分组的实现方式,如HTTP、Dubbo服务及相似分布式服务。能动态智能监控各业务节点实例在各分组的调度情况,当流量不均衡时,实时进行调整。还动态增加分组提供临时测试应用,测试完成后可转换为其他分组服务。
图1是本发明实施例的分流方法的主要步骤的示意图。
如图1所示,本发明实施例的分流方法主要包括如下步骤:
步骤S11:收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息。通过定时同步客户端的调度统计器来实时收集各分流节点实例的分流信息,汇总分析获取各分组的总流量信息。汇总的是各个分流节点的流量总和,分析是按分流节点各自比对的。
在步骤S11完成汇总分析获得各分组流量信息后,从步骤S12开始获取不均衡状况、进行分组切换。
步骤S12:判断各分组流量是否均衡,当各分组流量不均衡时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例。基于分组流量信息以及各分流节点的实例数量、各分流节点的流量对比阀值信息判断各分组流量是否均衡,当流量不均衡时,需要切换分组。当分组的实现方式为HTTP时,直接根据不均衡状况确定需要进行分组切换的实例;当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,则通过随机选举方式确定需要分组的实例。
步骤S13:根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。当分组的实现方式为HTTP时,则依据需要切换的实例数量和确定好的需要切换分组的实例直接进行分组切换;当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,则需要重载资源信息,则通知分布式服务API修改服务别名的方式进行切换。
图2是本发明实施例的分流方法的主要流程的示意图。
如图2所示,本发明实施例中,分流方法的具体实现流程是:收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;判断各分组流量是否均衡,当各分组流量不均衡时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。
其中,判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。流量对比即该节点业务承接量的比例,阀值是指达到多少比例才进行一次改节点的分流。
其中,确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
其中,当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。记录切换信息,等待调用。修改服务别名主要通过各服务的API接口实现,此API分流为Dubbo或JSF(Jingdong ServiceFramework,即“杰夫”)。JSF服务是京东研发的一套服务框架,它适用的场景是分布式架构下,服务与服务之间的同步调用,可以实现高效的RPC调用。
其中,分流方法还包括:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。例如,整体的业务系统(包括x,y,z分流节点)如果需要测试时,先动态分成A,B两个分组,并各自在x,y,z分流节点中分离一个容器形成C分组,测试所有的数据都通过C分组。那么就可以更好的跟踪,并不引起其他分组正常的业务。当测试完毕,又能动态的转换到A分组或者B分组中去承载真实的访问。通过该方式实现了动态提供测试组的功能,测试完成后,各实例可以回归到原分组或者转换到其他分组,按照当时的流量情况来定。
其中,分流方法还包括:智能分组调度控制器获取分组切换进度,并在分组切换完成后,改写分组图示信息。
其中,分流方法还包括:调度统计器统计当前各分组分流节点实例的分流信息,并通过轮询的方式输出。通过统计才能知道分到各分组的真实流量比例,这样通过Dubbo服务把调度数据传到服务器,服务器通过计算分流比例,把实例分组传递到各服务器。例如服务器1属于A分组,通过计算需要调整为B分组,那么Dubbo服务就发送信息,让服务器1自动调整为B分组。
其中,分流方法还包括:入口分流模块获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL(Uniform Resource Locator,统一资源定位符)重写。
其中,控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。
通过本发明实施例的分流方法可以看出,通过实时收集各分组分流节点实例的分流信息,汇总分析获得各分组的总流量信息,当个分组流量不均衡时自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;本发明提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源;通过将各分组分流节点的数量、各分流节点的流量对比阀值信息、各分组分流节点实例的流量分配信息通过图像化界面进行展示,直观方便,提供人为分析的信息支持。
图3是本发明实施例的分流装置的主要模块的示意图。
如图3所示,本发明实施例的分流装置30主要包括:流量分析模块301,用于收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;智能分组调度控制器302,用于判断各分组流量是否均衡,当各分组流量不均时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;分组控制模块303,用于根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。当分组的实现方式为HTTP时,直接根据不均衡状况确定需要进行分组切换的实例;当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,则通过随机选举方式确定需要分组的实例。当分组的实现方式为HTTP时,则依据需要切换的实例数量和确定好的需要切换分组的实例直接进行分组切换,后期访问时直接通过HTTP中转到对应的容器;当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,则需要重载资源信息,则通知分布式服务的API修改服务别名的方式进行切换。当分组的实现方式为HTTP时,可根据业务设置自定义如何控制分流,例如每增加1W流量,就增加一台容器,或者按照整体比例确定。
其中,判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。
其中,确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
其中,分组控制模块303还用于:当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。记录切换信息,等待分组控制模块调用。修改服务别名主要通过各服务的API(ApplicationProgramming Interface,应用程序接口)接口实现,此API分流为Dubbo或JSF(JingdongService Framework,即“杰夫”)。JSF服务是京东研发的一套服务框架,它适用的场景是分布式架构下,服务与服务之间的同步调用,可以实现高效的RPC调用。
其中,智能分组调度控制器302还用于:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。例如,整体的业务系统(包括x,y,z分流节点)如果需要测试时,先动态分成A,B两个分组,并各自在x,y,z分流节点中分离一个容器形成C分组,测试所有的数据都通过C分组。那么就可以更好的跟踪,并不引起其他分组正常的业务。当测试完毕,又能动态的转换到A分组或者B分组中去承载真实的访问。通过该方式实现了动态提供测试组的功能,测试完成后,各实例可以回归到原分组或者转换到其他分组,按照当时的流量情况来定。
其中,智能分组调度控制器302还用于:获取分组切换进度,并在分组切换完成后,改写分组图示信息。分组切换成功后由分组控制模块通知智能分组调度控制器切换成功的消息,智能分组调度控制器调整分组图示信息。
其中,分流装置还包括:调度统计器,用于统计各分组分流节点实例的分流信息,并通过轮询的方式发送至流量分析模块。对于Dubbo服务或者类似分布式服务,通过统计各分组的调度次数获取各分组分流节点实例的分流信息;对于HTTP节点则基于域名获取各分组分流节点实例的分流信息。通过统计才能知道分到各分组的真实流量比例,这样通过Dubbo服务把调度数据传到服务器,服务器通过计算分流比例,把实例分组传递到各服务器。例如服务器1属于A分组,通过计算需要调整为B分组,那么Dubbo服务就发送信息,让服务器1自动调整为B分组。分组切换成功后重置调度统计器。
其中,装置还包括:入口分流模块,用于获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL重写。该模块为基于域名或者VIP(virtual Internetprotocol,虚拟IP地址)的分流模块,需要1对多的关系,后面是很多服务器IP承接的。该模块通过HTTP、HA或者Nginx实现。
其中,分流装置还包括:业务流量图形界面控制器,用于控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。各分流节点需要注册后才能自动计算分配调整。还支持自定义业务流转模型的绘制,例如对于订单服务来说,先到下单系统,再到风控,再到支付这样的业务流程。
图4是本发明实施例的分流装置的部署示意图。
如图4所示,本发明的分流装置包括分流平台、客户端和分布式服务API,分流平台包括HTTP入口分流模块、业务流量图形界面控制器、智能分组调度控制器和流量分析模块,客户端包括分组控制模块、和调度统计器。各分组的实现方式可以使HTTP、Dubbo服务或者其他类似分布式服务。在入口进行流量分流进入到各分组,调度统计器统计各分流节点实例的分流信息并通过定时轮询的方式输出至流量分析模块;流量分析模块汇总分析各分流节点实例的分流信息获得各分组的流量信息并输出至智能分组调度控制器;智能分组调度控制器根据收到的各分组的流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡,当各分组流量不均时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例,对于HTTP节点直接根据不均衡状况确定需要进行分组切换的实例,对于Dubbo或类似服务则通过随机选举方式确定需要分组的实例;将统计数据输出至分组控制模块;分组控制模块对于HTTP节点则根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换,对于Dubbo或类似服务则通过重载资源信息,则通知分布式服务的API修改服务别名的方式进行切换。
当需要进行测试时,智能分组调度控制器在各分组的各分流节点实例中抽离出一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。
从以上描述可以看出,通过实时收集各分组分流节点实例的分流信息,汇总分析获得各分组的总流量信息,当个分组流量不均衡时自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;本发明提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源;通过将各分组分流节点的数量、各分流节点的流量对比阀值信息、各分组分流节点实例的流量分配信息通过图像化界面进行展示,直观方便,提供人为分析的信息支持。
根据本发明的实施例,本发明还提供了一种电子设备和一种可读存储介质。
本发明的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明所提供的分流方法。
本发明的非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明所提供的分流方法。
如图5所示,是实现本发明实施例的分流方法的电子设备的硬件结构示意图。如图5,该电子设备包括:一个或多个处理器51以及存储器52,图5中以一个处理器51为例。其中,存储器52即为本发明所提供的非暂态计算机可读存储介质。
分流方法的电子设备还可以包括:输入装置53和输出装置54。
处理器51、存储器52、输入装置53和输出装置54可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的分流方法对应的程序指令/模块(例如,附图3所示的流量分析模块301、智能分组调度控制器302和分组控制模块303)。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的分流方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据分流装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至分流装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可接收输入的数字或字符信息,以及产生与分流装置的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器52中,当被所述一个或者多个处理器51执行时,执行上述任意方法实施例中的分流方法。
根据本发明的技术方案,通过实时收集各分组分流节点实例的分流信息,汇总分析获得各分组的总流量信息,当个分组流量不均衡时自动调整各组分流节点的实例数量,充分利用容器资源,适应各分组流量的冲击;本发明提供动态的测试组,进行测试验证后,测试组实例可动态转换到其他分组,充分利用容器资源;通过将各分组分流节点的数量、各分流节点的流量对比阀值信息、各分组分流节点实例的流量分配信息通过图像化界面进行展示,直观方便,提供人为分析的信息支持。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (20)

1.一种分流方法,其特征在于,包括:
收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;
判断各分组流量是否均衡,当各分组流量不均衡时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;
根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。
2.根据权利要求1所述的方法,其特征在于,判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。
3.根据权利要求1所述的方法,其特征在于,确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:获取分组切换进度,并在分组切换完成后,改写分组图示信息。
7.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:统计当前各分组分流节点实例的分流信息,并通过轮询的方式输出。
8.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL重写。
9.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。
10.一种分流装置,其特征在于,包括:
流量分析模块,用于收集各分组分流节点实例的分流信息,进行汇总分析以得到各分组流量信息;
智能分组调度控制器,用于判断各分组流量是否均衡,当各分组流量不均时,根据流量与各分组的实例数量得到实例数量与分组的不均衡状况,以统计需要切换分组的实例数量并确定需要切换分组的实例;
分组控制模块,用于根据需要切换分组的实例数量和需要切换分组的实例对各分组的实例进行分组切换。
11.根据权利要求10所述的装置,其特征在于:判断各分组流量是否均衡包括:根据各分组流量信息、各分流节点的实例数量和各分流节点的流量对比阀值信息判断各分组流量是否均衡。
12.根据权利要求10所述的装置,其特征在于:确定需要切换分组的实例包括:判断各分流节点是否为HTTP节点,如果是,则直接根据不均衡状况确定需要进行分组切换的实例;如果不是,则按照统计的需要切换分组的实例数量,通过随机筛选的方式确定需要进行分组切换的实例。
13.根据权利要求10所述的装置,其特征在于:所述分组控制模块还用于:当分组的实现方式为Dubbo服务或者类似Dubbo的分布式服务时,重载资源信息并通知分布式服务器的API接口修改服务别名。
14.根据权利要求10所述的装置,其特征在于,所述智能分组调度控制器还用于:当需要进行测试时,抽离出各分流节点的一个实例构成测试组,测试完成后,测试组内各实例再转换到其他分组。
15.根据权利要求10-14任一所述的装置,其特征在于,所述智能分组调度控制器还用于:获取分组切换进度,并在分组切换完成后,改写分组图示信息。
16.根据权利要求10-14任一所述的装置,其特征在于,所述装置还包括:调度统计器,用于统计各分组分流节点实例的分流信息,并通过轮询的方式发送至流量分析模块。
17.根据权利要求10-14任一所述的装置,其特征在于,所述装置还包括:入口分流模块,用于获取各分组的分流节点实例配置完整的分组域名和测试域名,并进行URL重写。
18.根据权利要求10-14任一所述的装置,其特征在于,所述装置还包括:业务流量图形界面控制器,用于控制注册分流节点,提供图形化展示界面来显示需要分流的节点数量、各分流节点的流量对比阀值信息和各分流节点实例的流量分配信息。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
CN201710206735.3A 2017-03-31 2017-03-31 一种分流方法、分流装置、电子设备和可读存储介质 Active CN108667873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710206735.3A CN108667873B (zh) 2017-03-31 2017-03-31 一种分流方法、分流装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710206735.3A CN108667873B (zh) 2017-03-31 2017-03-31 一种分流方法、分流装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN108667873A true CN108667873A (zh) 2018-10-16
CN108667873B CN108667873B (zh) 2021-05-25

Family

ID=63786885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710206735.3A Active CN108667873B (zh) 2017-03-31 2017-03-31 一种分流方法、分流装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN108667873B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110650118A (zh) * 2019-08-07 2020-01-03 江汉大学 基于应用切换的自适应安全防御的方法、装置及电子设备
CN113760496A (zh) * 2020-12-29 2021-12-07 北京沃东天骏信息技术有限公司 一种容器调度方法和调度器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630589A (zh) * 2014-11-24 2016-06-01 航天恒星科技有限公司 分布式流程调度系统及流程调度、执行方法
CN105812488A (zh) * 2016-05-06 2016-07-27 深圳前海大数点科技有限公司 云计算分布式服务集群系统及其方法
US20160366224A1 (en) * 2015-06-15 2016-12-15 International Business Machines Corporation Dynamic node group allocation
CN106357704A (zh) * 2015-07-13 2017-01-25 阿里巴巴集团控股有限公司 一种基于开发环境的服务调用方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630589A (zh) * 2014-11-24 2016-06-01 航天恒星科技有限公司 分布式流程调度系统及流程调度、执行方法
US20160366224A1 (en) * 2015-06-15 2016-12-15 International Business Machines Corporation Dynamic node group allocation
CN106357704A (zh) * 2015-07-13 2017-01-25 阿里巴巴集团控股有限公司 一种基于开发环境的服务调用方法及装置
CN105812488A (zh) * 2016-05-06 2016-07-27 深圳前海大数点科技有限公司 云计算分布式服务集群系统及其方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110650118A (zh) * 2019-08-07 2020-01-03 江汉大学 基于应用切换的自适应安全防御的方法、装置及电子设备
CN110650118B (zh) * 2019-08-07 2021-11-30 江汉大学 基于应用切换的自适应安全防御的方法、装置及电子设备
CN113760496A (zh) * 2020-12-29 2021-12-07 北京沃东天骏信息技术有限公司 一种容器调度方法和调度器

Also Published As

Publication number Publication date
CN108667873B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
US10481935B2 (en) Management system, overall management node, and management method for managing virtualization resources in a mobile communication network
CN112514325A (zh) 用于确保互联网服务的端到端服务质量(qos)的链接控制平面虚拟功能的系统和方法
US10630573B2 (en) Machine learning for quality of experience optimization
CN108521856A (zh) 内容分发网络中的调度方法和设备
CN105743962A (zh) 端对端数据中心性能控制
CN111835588B (zh) 一种带内网络遥测承载流选取方法及系统
CN105007287A (zh) 公共云资源动态配置方法及系统
CN113037786A (zh) 智能算力调度方法、装置和系统
CN107613528B (zh) 一种业务流量的控制方法及系统
EP3077907A1 (en) Management of network entity selection
CN109074280A (zh) 网络功能虚拟化
CN110198332A (zh) 内容分发网络节点的调度方法、装置及存储介质
CN108667873B (zh) 一种分流方法、分流装置、电子设备和可读存储介质
CN106911588A (zh) 用于实现深度包检测优化的方法、装置和系统
WO2018028344A1 (zh) 负载处理方法和装置
CN104580293A (zh) 用于远程控制管控策略的方法、装置和系统
CN110505490A (zh) 多媒体数据识别方法和系统
Vittal et al. Performance study of large scale network slice deployment in a 5g core testbed
CN113453025A (zh) 数据获取方法及装置
CN109587520B (zh) 一种定位视频业务故障的方法和设备
CN113328906B (zh) 一种流量实时监控方法、装置、存储介质及电子设备
CN112771816B (zh) 一种预测网络速率的方法及预测装置
US11316772B2 (en) Network connected device and traffic estimation method thereof
Krishnappa et al. Network capabilities of cloud services for a real time scientific application
CN103580959B (zh) 一种分布式统计上报的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant