CN113098917B - 迁移功能节点的方法和相关设备 - Google Patents
迁移功能节点的方法和相关设备 Download PDFInfo
- Publication number
- CN113098917B CN113098917B CN201911342297.9A CN201911342297A CN113098917B CN 113098917 B CN113098917 B CN 113098917B CN 201911342297 A CN201911342297 A CN 201911342297A CN 113098917 B CN113098917 B CN 113098917B
- Authority
- CN
- China
- Prior art keywords
- node
- migration
- destination server
- key
- nodes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013508 migration Methods 0.000 claims abstract description 180
- 230000005012 migration Effects 0.000 claims abstract description 180
- 230000003993 interaction Effects 0.000 claims abstract description 63
- 238000012545 processing Methods 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 57
- 230000037230 mobility Effects 0.000 claims description 30
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 113
- 230000000875 corresponding effect Effects 0.000 description 50
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000001934 delay Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007170 pathology Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供了一种迁移功能节点的方法和相关设备,该方法包括:获取至少一个调用链的访问相关信息,其中该访问相关信息包括以下信息中的至少一个:该至少一个调用链包括的N个区间中每个区间的时延,该N个区间中每个区间的功能节点间的交互次数,N为大于或等于1的正整数;根据该访问相关信息,从组成该N个区间多个功能节点中确定P个关键节点;对该P个关键节点进行迁移。上述技术方案是基于调用链的实际数据确定待迁移的功能节点。因此,上述技术方案确定出的待迁移的功能节点符合迁移需求。因此,上述技术方案可以根据实际需求确定待迁移的功能节点,从而减少造成不必要的迁移。
Description
技术领域
本申请涉及信息技术领域,更具体地,涉及迁移功能节点的方法和相关设备。
背景技术
在分布式系统中,一个业务功能包括一个或多个业务请求。该一个或多个业务请求中的每个业务请求都与一个调用链相对应。调用链用于处理对应的业务请求。调用链对业务请求的处理需要多个功能节点协作才能够完成。例如,业务请求会先到达功能节点A,功能节点A在处理完该业务请求后,会将处理结果发送至功能节点B。功能节点B对来自于功能节点A的结果进行处理,将处理结果发送至功能节点C。功能节点C继续对来自于功能节点B的结果进行处理,以此类推。
功能节点是可以在不同的服务器间迁移的。目前确定迁移功能节点的方法是基于预测的方法。例如,可以根据采集到的数据(例如中央处理器(central processor unit,CPU)的使用率、内存使用率等),对功能节点占用的服务器的资源进行预测。如果预测结果超出预设阈值,则将一个或多个功能节点迁移到空闲的服务器中。但是这种方式的预测结果与实际情况可能会产生误差,可能会造成不必要的迁移。
发明内容
本申请提供一种迁移功能节点的方法和相关设备,能够根据实际需求对功能节点进行迁移。
本申请实施例提供一种迁移功能节点的方法,包括:获取至少一个调用链的访问相关信息,其中该访问相关信息包括以下信息中的至少一个:该至少一个调用链包括的N个区间中每个区间的时延,该N个区间中每个区间的功能节点间的交互次数,N为大于或等于1的正整数;根据该访问相关信息,从组成该N个区间多个功能节点中确定P个关键节点;对该P个关键节点进行迁移,P为大于或等于1的正整数。
上述技术方案是基于调用链的实际数据确定待迁移的功能节点。因此,上述技术方案确定出的待迁移的功能节点符合迁移需求。因此,上述技术方案可以根据实际需求确定待迁移的功能节点,从而减少造成不必要的迁移。
结合第一方面,在第一方面的一种可能的实现方式中,在该访问相关信息包括该N个区间中每个区间的时延和该N个区间中每个区间的功能节点间的交互次数的情况下,该根据该访问相关信息,从组成该N个区间的多个功能节点中确定P个关键节点,包括:根据该访问相关信息,确定N个迁移度,其中该N个迁移度与该N个区间一一对应,该迁移度与时延和交互次数呈正相关;根据该N个迁移度,从该N个区间中确定M个区间,其中该M个区间中的任一个区间的迁移度大于该N个区间中除该M个区间以外的任一个区间的迁移度;确定该P个关键节点,其中该P个关键节点属于该M个区间。
上述技术方案的迁移度是根据时延和交互次数确定的。区间时延(权重)越大,节点间交互次数越多,则该区间的迁移度就越高。迁移度高的区间中的功能节点可以作为待迁移源节点。换句话说,根据上述技术方案确定出的功能节点是常用的且时延较高的功能节点。将这些功能节点进行迁移以降低时延,对用户体验的提升较为明显。
结合第一方面,在第一方面的一种可能的实现方式中,该根据访问相关信息,确定N个迁移度,包括:确定与该N个区间中第Nij个区间的时延对应的权重Wij,其中该第Nij个区间为该至少一个调用链中的第i个调用链中的第j个区间,i和j为大于或等于1的正整数,Nij=1,2,…,或者N;根据权重Wij和该第Nij个区间中的功能节点间的交互次数,确定该N个迁移度中的第Nij个迁移度。
结合第一方面,在第一方面的一种可能的实现方式中,该对该P个关键节点进行迁移,包括:从多个服务器中确定目的服务器;确定该目的服务器是否符合该P个关键节点中的第x个关键节点的迁移需求,其中x=1,……或,P;若该目的服务器符合该第x个关键节点的迁移需求,则将该第x个关键节点迁移至该目的服务器;若该目的服务器不符合该第x个关键节点的迁移需求,则从该多个服务器中确定另一目的服务器。
上述技术方案可以避免待迁移的功能节点迁移至无法运行该功能节点的服务器中。
结合第一方面,在第一方面的一种可能的实现方式中,该确定该目的服务器是否符合该P个关键节点中的第x个关键节点的迁移需求,包括:确定该目的服务器中运行的功能节点与该第x个关键节点是否的反亲和;若该目的服务器中运行的功能节点与该第x个关键节点反亲和,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该目的服务器中运行的功能节点与该第x个关键节点不是反亲和,则确定该目的服务器符合该第x个关键节点的迁移需求。
结合第一方面,在第一方面的一种可能的实现方式中,该确定该目的服务器是否符合该P个关键节点中的第x个关键节点的迁移需求,包括:若该第x个关键节点的硬件信息与该目的服务器的硬件信息冲突,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该第x个关键节点的硬件信息不与该目的服务器的硬件信息冲突,则确定该目的服务器符合该第x个关键节点的迁移需求。
结合第一方面,在第一方面的一种可能的实现方式中,该确定该目的服务器是否符合该P个关键节点中的第x个关键节点的迁移需求,包括:确定该目的服务器的计算资源是否满足该的x个关键节点的迁移需求;若该目的服务器的计算资源不满足该的x个关键节点的迁移需求,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该目的服务器的计算资源满足该的x个关键节点的迁移需求中,则确定该目的服务器符合该第x个关键节点的迁移需求。
结合第一方面,在第一方面的一种可能的实现方式中,该目的服务器为与该第x个关键节点对应的参考功能节点所在的服务器,或者,该参考功能节点所在的服务器相邻的服务器其中该参考功能节点与该第x个关键节点为该M个区间中的一个区间的两个功能节点。
基于上述技术方案确定出的目的服务器可以降低关键节点和参考功能节点间的时延,从而可以提高用户体验。
结合第一方面,在第一方面的一种可能的实现方式中,该方法还包括:根据该N个迁移度和该N个区间的连接关系,确定拓扑图,该拓扑图表示该N个区间的连接关系以及该N个区间中每个区间对应的迁移度。
上述技术方案便于将调用链信息进行图分析和可视化呈现。
第二方面,本申请实施例提供一种计算机设备,该计算机设备包括用于实现上述第一方面的方法设计中任意一种可能的实现方式的单元。
第三方面,本申请实施例提供一种计算机设备,包括收发器和处理器。可选地,该计算机设备还包括存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该计算机设备执行上述第一方面的方法设计中任意一种可能的实现方式中的方法。
第四方面,本申请实施例提供一种电子装置,该电子装置可以为用于实现上述第一方面方法设计中的计算机设备,或者为设置在计算机设备中的芯片。该电子装置包括:处理器,与存储器耦合,可用于执行存储器中的指令和/或程序代码,以实现上述第一方面的方法设计中任意一种可能的实现方式中的方法。可选地,该电子装置还包括存储器。可选地,该电子装置还包括通信接口,处理器与通信接口耦合。
当该电子装置为计算机设备时,该通信接口可以是收发器,或,输入/输出接口。
当该电子装置为配置于计算机设备中的芯片时,该通信接口可以是输入/输出接口。
可选地,该收发器可以为收发电路。可选地,该输入/输出接口可以为输入/输出电路。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面的方法设计中任意一种可能的实现方式中的方法。
第六方面,本申请实施例提供一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面的方法设计中任意一种可能的实现方式中的方法。
附图说明
图1是与一个业务请求对应的调用链的拓扑示意图。
图2是另一个业务请求对应的调用链的拓扑示意图。
图3是根据本申请实施例提供的迁移功能节点的方法的示意性流程图。
图4是该管理设备确定对应于调用链100的拓扑图的示意。
图5是该管理设备确定对应于调用链200的拓扑图的示意。
图6是根据本申请实施例提供的一种计算机设备的示意性结构框图。
图7是根据本申请实施例提供的一种计算机设备的示意性结构框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,信息(information),信号(signal),消息(message),信道(channel)有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中的功能节点可以是利用虚拟机实现的节点,也可以是利用容器实现的节点。本申请实施例对此并不进行限定。
在一些实施例中,功能节点可以是微服务架构下的节点。在此情况下,该功能节点也可以称为微服务节点、微服务模块、或者微服务应用程序等。该微服务节点可以用于提供微服务。
提供一个业务功能的多个功能节点可以全部由虚拟机实现;或者,可以全部由容器实现;或者,该多个功能节点中的部分功能节点由虚拟机实现,另一部分功能节点由容器实现。
迁移,指的是将虚拟机或容器从一个服务器移动到另一个服务器的过程。热迁移是指在迁移过程中不关闭虚拟机或容器的电源。冷迁移是指在迁移过程中关闭虚拟机的电源。
本申请实施例中所称的迁移可以是热迁移,也可以是冷迁移。在一些实施例中,若迁移的功能节点数目大于或等于2,则对这些功能节点进行迁移可以是对多个功能节点中的部分功能节点进行热迁移,对另一部分功能节点进行冷迁移。
图1是与一个业务请求对应的调用链的拓扑示意图。如图1所示,调用链100可以由六个功能节点提供。该六个功能节点分别为A01、B02、C02、D02、E03和F01。
A01表示微服务A的01号节点,B02表示微服务B的02号节点,C02表示微服务C的02号节点,以此类推。
A01在接收到业务请求后可以对该业务请求进行处理,根据处理结果确定将处理结果发送至B02或C02。为了便于描述,以下将A01的处理结果称为处理结果A,将B02的处理结果称为处理结果B,将C02的处理结果称为处理结果C,以此类推。
B02在接收到来自于A01的处理结果A后,会继续对该处理结果A进行处理,得到处理结果B,并将处理结果B发送至C02。
C02接收到的处理结果可以是来自于A01的处理结果A,也可以是来自于B02的处理结果B。C02对接收到的处理结果进行处理,得到处理结果C。C02可以根据处理结果C确定将处理结果C发送至D02或F01。
D02在接收到来自于C02的处理结果C后,对该处理结果C进行处理,得到处理结果D,并将处理结果D发送至E03。
E03在接收到来自于D02的处理结果D后,对该处理结果D进行处理,得到处理结果E,并将处理结果E发送至F01。
F01接收到的处理结果可以是来自于C02的处理结果C,也可以是来自于E03的处理结果E。F01对接收到的处理结果进行处理,得到处理结果F。处理结果F就是对应于A01接收到的业务请求的业务处理结果。
可以理解的是,图1所示的拓扑示意图只是为了便于理解对功能节点之间的关系。在实际实现过程中,也可以不会生成如图1所示的拓扑示意图。或者通过其他方式示出功能节点之间的关系。例如,可以通过如表1所示的表的方式表示用于提供一个业务功能的多个功能节点之间的关系。
表1
当前节点 | 下一跳 |
A01 | B02,C02 |
B02 | C02 |
C02 | D02,F01 |
D02 | E03 |
E03 | F01 |
F01 | / |
图2是另一个业务请求对应的调用链的拓扑示意图。如图2所示,调用链200可以由五个功能节点提供。该五个功能节点分别为H01、J02、K03、L02和T03。
H01表示微服务H的01号节点,J02表示微服务J的02号节点,以此类推。
调用链200中的功能节点的处理业务请求的方式与调用链100中的功能节点处理业务请求的方式类似,为了简洁,在此就不再赘述。
图3是根据本申请实施例提供的迁移功能节点的方法的示意性流程图。如图3所示的方法可以由管理设备执行,也可以由该管理设备中的部件(例如芯片、电路等)执行。该管理设备可以是一个计算机设备,例如服务器、台式计算机、笔记本电脑、平板电脑、等。为了便于描述,在对图3进行描述时假设图3所示的方法是由管理设备实现。图3结合调用链100和调用链200对本申请的技术方案进行详细描述。
301,管理设备获取X个调用链对应的访问相关信息,X为大于或等于1的正整数。
该X个调用链对应的X个业务请求可以属于同一个业务功能,也可以属于不同的业务功能,该X个调用链对应的X个业务请求可以是一个业务功能包括的全部的业务请求,也可以是部分业务请求,本申请实施例对此并不限定。
可选的,在一些实施例中,该管理设备可以根据用户的访问流量确定需要迁移功能节点的调用链。
例如,在一些实施例中,该管理设备可以确定多个调用链中的每个调用链的访问流量。若该多个调用链中的一个或多个调用链的访问流量大于预设流量阈值,则可以确定需要对该一个或多个调用链中的功能节点进行迁移。
又如,在另一些实施例中,该管理设备可以按照流量由大到小对多个调用链进行排名,确定对排名靠前的一个或多个调用链中的功能节点进行迁移。
可选的,在另一些实施例中,该管理设备可以根据调用链的总时延确定需要迁移功能节点的调用链。
例如,在一些实施例中,该管理设备可以确定多个调用链中的每个调用链的总时延。若该多个调用链中的一个或多个调用链的总时延大于预设时延阈值,则可以确定需要对该一个或多个调用链中的功能节点进行迁移。
又如,在另一些实施例中,该管理设备可以按照总时延由大到小对多个调用链进行排名,确定对排名靠前的一个或多个调用链中的功能节点进行迁移。
可选的,在另一些实施例中,该管理设备可以根据调用链的使用次数确定需要迁移功能节点的调用链。
例如,在一些实施例中,该管理设备可以确定多个调用链中的每个调用链的使用次数。若该多个调用链中的一个或多个调用链的使用次数大于预设使用次数阈值,则可以确定需要对该一个或多个调用链中的功能节点进行迁移。
又如,在另一些实施例中,该管理设备可以按照使用次数由大到小对多个调用链进行排名,确定对排名靠前的一个或多个调用链中的功能节点进行迁移。
可选的,在一些实施例中,该管理设备可以根据用户的访问流量、调用链的总时延和调用链的访问次数中的任意两个或者全部确定需要迁移功能节点的调用链。
例如,该管理设备可以将访问流量大于预设流量阈值多个调用链按照总时延由大到小进行排序,确定对排名靠前的一个或多个调用链中的功能节点进行迁移。
为了便于描述,以下假设步骤301中该管理设备获取的是如图1所示的调用链100和调用链200的访问相关信息。
在一些实施例中,该X个调用链对应的访问相关信息可以包括该X个调用链包括的多个区间中的每个区间的时延和该多个区间中的每个区间的功能节点间的交互次数中的至少一个。
调用链包括的区间是用于调用链100的功能节点间的区间。为了便于描述,以下将A01和B02之间的区间称为区间A-B,将B02和C02之间的区间称为区间B-C,将A01和C02之间的区间称为区间A-C,以此类推。调用链100包括:区间A-B、区间A-C、区间B-C、区间C-D、区间C-F、区间D-E和区间E-F。调用链200包括区间H-J、区间H-L、区间J-K、区间K-L和区间L-T。
每个区间的功能节点间的交互次数是指组成一个区间的两个功能节点之间的交互次数。以区间A-B为例,若A01将处理结果1发送至B02,则表示区间A-B的功能节点间的交互次数加1。
在一些实施例中,功能节点间的交互次数可以是启动该业务功能后的交互次数的总和。
在另一些实施例中,功能节点间的交互次数可以是多个统计周期内的平均交互次数。例如,该管理设备可以每隔一段时间统计每个区间的功能节点间在一个预定时间间隔内的交互次数,多个统计周期的平均值可以作为功能节点间的交互次数。
在另一些实施例中,该管理设备可以每隔一段时间统计每个区间的功能节点间在预定时间间隔内的交互次数。功能节点间的交互次数可以是该管理设备最近统计到的预定时间间隔内的交互次数。
调用链100对应的访问相关信息可以如表2所示。
表2
区间 | 时延 | 交互次数 |
区间A-B | DAB | NAB |
区间A-C | DAC | NAC |
区间B-C | DBC | NBC |
区间C-D | DCD | NCD |
区间C-F | DCF | NCF |
区间D-E | DDE | NDE |
区间E-F | DEF | NEF |
表2中的DAB表示区间A-B的时延、DAC表示区间A-C的时延,以此类推。DAB、DAC、DBC、DCD、DCF、DDE和DEF为大于0的数。表2中NAB表示区间A-B的功能节点间的交互次数,NAB表示区间A-C的功能节点间的交互次数,以此类推。NAB、NAC、NBC、NCD、NCF、NDE和NEF为大于或等于0的整数。
调用链200对应的访问相关信息可以如表3所示。
表3
区间 | 时延 | 交互次数 |
区间H-J | DHJ | NHJ |
区间J-K | DJK | NJK |
区间K-L | DKL | NKL |
区间H-L | DHL | NHL |
区间L-T | DLT | NLT |
表3中的DHJ表示区间H-J的时延、DJK表示区间J-K的时延,以此类推。DHJ、DJK、DKL、DHL和DLT为大于0的数。表3中NHJ表示区间H-J的功能节点间的交互次数,NJK表示区间J-K的功能节点间的交互次数,以此类推。NHJ、NJK、NKL、NHL和NHL为大于或等于0的整数。
302,该管理设备根据该访问相关信息,X个调用链上的Y个个功能节点中确定P个关键节点,P为大于或等于1的正整数。
还以图1所示的调用链100和图2所示的调用链200为例,该管理设备可以先根据该访问相关信息,从该十二个区间中确定满足预设条件的一个或多个区间,然后再从该一个或多个区间中确定该P个关键节点。为了便于描述,以下将满足预设条件的区间称为目标区间
在一些实施例中,调用链100和调用链200对应的访问相关信息可以只包括区间的时延。在此情况下,管理设备可以根据区间的时延,确定该目标区间。
在一些实施例中,该管理设备可以将十二个区间按照区间的时延按照由大到小排序,确定排名前K1个区间为该目标区间。K1为大于或等于1且小于12的正整数。
例如,假设K1为2。假设DAB>DAC>DBC>DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,在此情况下,该管理设备可以确定区间A-B和区间A-C为该目标区间。如果时延最大的区间数目超过该预定数目,则该管理设备可以确定任意两个区间为该目标区间。假设DAB>DAC=DBC=DCD=DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,在此情况下,该管理设备可以确定区间A-B和区间B-C为该目标区间。假设DAB=DAC=DBC=DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,在此情况下,该管理设备可以确定区间A-C和区间B-C为该目标区间。
在另一些实施例中,该管理设备可以确定该十二个区间中时延超过该时延阈值的区间为该目标区间。
在另一些实施例中,调用链100和调用链200对应的访问相关信息可以只包括节点间的交互次数。在此情况下,管理设备可以根据功能节点间的交互次数,确定该目标区间。
例如,在一些实施例中,该管理设备可以将十二个区间按照区间的节点间的交互次数由大到小排序,确定排名前K2个区间为该目标区间。K2为大于或等于1且小于12的正整数。
例如,假设K2为2。假设NAB>NAC>NBC>NCD>NCF>NDE>NEF>NHJ>NJK>NKL>NHL>NLT在此情况下,该管理设备可以确定区间A-B和区间A-C为该目标区间。如果节点间的交互次数最大的区间数目超过该预定数目,则该管理设备可以确定任意两个区间为该目标区间。假设NAB>NAC=NBC=NCD=NCF=NDE>NEF>NHJ>NJK>NKL>NHL>NLT,在此情况下,该管理设备可以确定区间A-B和区间B-C为该目标区间。假设NAB=NAC=NBC=NCD=NCF>NDE>NEF>NHJ>NJK>NKL>NHL>NLT在此情况下,该管理设备可以确定区间A-C和区间B-C为该目标区间。
又如,在另一些实施例中,该管理设备可以确定该十二个区间中交互次数超过交互次数阈值的区间为该目标区间。
在另一些实施例中,调用链100和调用链200对应的访问相关信息可以包括该区间的时延和区间的功能节点间的交互次数。在此情况下,该管理设备可以根据该区间的时延和该区间的功能节点间的交互次数,确定该目标区间。
在一些实施例中,该管理设备可以根据该区间的时延和该区间的功能节点间的交互次数,确定该目标区间,包括:该管理设备可以根据该区间的时延和该区间的功能节点间的交互次数,确定多个迁移度,其中该多个迁移度和多个区间一一对应;根据确定的迁移度,确定该目标区间。
还以调用链100和调用链200为为例,该管理设备可以确定十二个迁移度,该十二个迁移度与该十二个区间一一对应。该十二个迁移度可以分别称为迁移度A-B、迁移度A-C、迁移度B-C、迁移度C-D、迁移度C-F、迁移度D-E、迁移度E-F、迁移度H-J、迁移度J-K、迁移度K-L、迁移度H-L和迁移度L-T,其中迁移度A-B对应于区间A-B,迁移度A-C对应于区间A-C以此类推。
区间对应的迁移度可以根据该区间的时延和该区间的功能节点间的交互次数确定。区间对应的迁移度与该区间的时延和该区间的功能节点间的交互次数呈正相关。换句话说,如果一个区间的时延和/或区间中的功能节点间的交互次数增加,那么与该区间对应的迁移度也会相应增加。
在一些实施例中,可以先确定与时延DAB对应的权重,然后根据权重和交互次数,确定迁移度A-B。
例如,迁移度可以等于权重与交互次数的乘积。
又如,迁移度可以根据以下公式确定:
Rab=Wab×Nab+ca+cb,(公式2.1)
其中Rab表示对应于区间a-b的迁移度,Wab表示区间a-b的时延对应的权重,Nab表示区间a-b的功能节点间的交互次数,ca表示功能节点a的权重,cb表示功能节点b的权重。功能节点a的权重和功能节点b的权重是预设值。
又如,迁移度可以根据以下公式确定:
Rab=Wab×W’+Nab,(公式2.2)
其中Rab表示对应于区间a-b的迁移度,Wab表示区间a-b的时延对应的权重,Nab表示区间a-b的功能节点间的交互次数,W’表示修正参数。该修正参数可以根据Nab确定。例如,若Nab大于或等于100且小于1000,则W’可以等于100;若Nab大于或等于1000且小于或等于9999,则W’可以等于1000。
在一些实施例中,区间时延的权重可以根据时延和权重的对应关系确定。例如,表4是一种时延和权重的对应关系。
表4
时延 | 权重 |
[0,5ms) | 0.1 |
[5,10ms) | 0.25 |
[10,25ms) | 0.5 |
[25,40ms) | 0.8 |
[40,+∞) | 0.9 |
如表4所示,若区间时延大于或等于0且小于5ms,则该时延对应的权重为0.1;若区间时延大于或等于5ms且小于10ms,则该时延对应的权重为0.25。
在另一些实施例中,区间时延的权重可以根据以下公式确定:
Wab=Dab/Dref,(公式3.1)
其中,Wab表示区间a-b的时延对应的权重,Dab表示区间a-b的时延,Dref表示参考权重。在一些实施例中,该参考权重Dref可以是该区间所在的调用链的总时延。在另一些实施例中,该参考权重Dref可以是该区间所在的调用链的的平均时延。在另一些实施例中,该参考权重Dref可以是一个根据实验或统计数据确定的一个值。
在一些实施例中,该根据该多个迁移度,确定该目标区间可以包括:将该多个区间按照迁移度由大到小排序,确定排名前K3个迁移度对应的K3个区间为该目标区间。K3为大于或等于1且小于十二的正整数。
在另一些实施例中,该根据该多个迁移度,确定该目标区间可以包括:确定该十二个迁移度中大于预设迁移度阈值的区间为该目标区间。
在另一些实施例中,该管理设备可以根据该区间的时延和该区间的功能节点间的交互次数,确定该目标区间,包括:该管理设备可以先将该多个区间按照时延由大到小排序,确定排名前K4个区间;然后将该K4个区间按照交互次数由大到小排序,确定排名前K5个区间,该K5个区间为该目标区间。K4为大于或等于1且小于Kmax的正整数,K5为大于或等于1且小于Kmax的正整数,且K4大于K5,Kmax为区间总数,Kmax为大于或等于2的正整数。
还以调用链100和调用链200为例,假设K4等于4,K5等于2。假设DAB>DAC>DBC>DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,NAB<NAC<NBC<NCD<NCF<NDE<NEF<NHJ<NJK<NKL<NHL<NLT,在此情况下,该管理设备可以确定区间B-C和区间C-D为该目标区间。
在另一些实施例中,该管理设备可以根据该区间的时延和该区间的功能节点间的交互次数,确定该目标区间,包括:该管理设备可以先将该多个区间按照时延由大到小排序,确定排名前K4个区间;然后确定该K4个区间中服务节点间的交互次数超过交互次数阈值的区间为该目标区间。K4为大于或等于1且小于Kmax的正整数。
还以调用链100和调用链200为例,假设K4等于4。假设DAB>DAC>DBC>DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,NAB<Nth<NAC<NBC<NCD<NCF<NDE<NEF<NHJ<NJK<NKL<NHL<NLT,Nth表示交互次数阈值。在此情况下,该管理设备可以确定区间A-C、区间B-C和区间C-D为该目标区间。
在另一些实施例中,该管理设备可能最多只能迁移Kx个区间中的功能节点。在此情况下,该管理设备可以先将该多个区间按照时延由大到小排序,确定排名前Kx个区间为目标区间,Kx为大于或等于1的正整数。
在一些情况下,如果多个区间中任意两个区间的时延均不相同,或者,时延最长的区间数目只有Kx条。那么该管理设备可以直接确定时延最长的Kx个区间为该目标区间
还以调用链100和调用链200为例,假设Kx等于2,假设DAB>DAC>DBC>DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,在此情况下,该管理设备可以确定区间A-B和区间A-C为该目标区间。
在另一些情况下,若Kx为大于1的正整数,那么可能有多个区间的时延相同并且这些区间的时延均大于其余区间的时延。在此情况下,该管理设备可以确定这些时延相同的区间中交互次数最多的Kx个区间为该目标区间。
还以调用链100和调用链200为例,假设Kx等于2,假设DAB=DAC=DBC=DCD>DCF>DDE>DEF>DHJ>DJK>DKL>DHL>DLT,NAB<NAC<NBC<NCD<NCF<NDE<NEF<NHJ<NJK<NKL<NHL<NLT,在此情况下,该管理设备可以确定区间B-C和区间C-D为该目标区间。
在确定了满足预设条件的一条或多条目标区间后,该管理设备可以从该一条或多条目标区间中确定关键节点。
可选的,在一些实施例中,该管理设备可以确定每条目标区间中的一个功能节点为关键节点。
例如,在一些实施例中,该管理设备确定的关键节点可以是该每个区间中的任一个功能节点。
又如,在另一些实施例中,该管理设备确定的关键节点可以是该每个区间中的目的节点。例如,假设区间A-B是该一个或多个目标区间中的一个,该管理设备可以确定该关键节点为B02。
又如,在另一些实施例中,该管理设备确定的关键节点可以是区间中的源节点。例如,假设区间A-B是该一个或多个目标区间中的一个,该管理设备可以确定该关键节点为A01。
在另一些实施例中,该管理设备可以确定每条目标区间中的两个功能节点为关键节点。
303,该管理设备可以对该P个关键节点进行迁移。
在一些实施例中,该管理设备在对该P个关键节点进行迁移的过程中,可以先从多个服务器中确定一个服务器作为需要迁移的关键节点的目的服务器,然后确定该目的服务器是否符合关键节点的迁移需求;如果该目的服务器符合该关键节点的迁移需求,则将该关键节点迁移至该服务器;若果该目的服务器不符合该关键节点的迁移需求,则继续从该多个服务器中确定另一个服务器作为目的服务器,然后确定该另一个服务器是否符合该关键节点的迁移需求。若P为大于或等于2的正整数,则该P个关键节点中的不同关键节点的目的服务器可以相同,也可以不同。
下面以第一关键节点为例,对该管理设备如何进行节点迁移进行描述,该第一关键节点是该P个关键节点中的任一个关键节点。
第一关键节点有一个对应的功能节点,该功能节点与该第一关键节点组成了一个目标区间。例如,假设目标区间为区间A-B,该第一关键节点为A01,则与该第一关键节点对应的功能节点为B02。又如,假设目标区间为区间B-C,该第一关键节点为C02,则与该第一关键节点对应的功能节点为B02。为了便于描述,可以将于该第一关键节点对应的功能节点称为第一参考节点。该第一参考节点所在的服务器可以称为第一候选服务器。
在一些实施例中,同一个机柜中可能会部署有多个服务器。可以将与该第一候选服务器部署在同一个机柜中的服务器称为第二候选服务器。在一些实施例中,一个第一候选服务器可以有一个第二候选服务器。在另一些实施例中,一个第一候选服务器可以有多个第二候选服务器。
在一些实施例中,同一个机房中可能会部署有多个服务器。可以将与该第一候选服务器部署在同一个机房且属于不同机柜的服务器称为第三候选服务器。在一些实施例中,一个第一候选服务器可以有一个第三候选服务器。在另一些实施例中,一个第一候选服务器可以有多个第三候选服务器。
在一些实施例中,同一个数据中心内可以有多个机房,每个机房内都部署有一个或多个服务器。可以将该与该第一候选服务器部署在同一个数据中心内切属于不同机房的服务器称为第四候选服务器。
上述第二候选服务器、第三候选服务器和第四候选服务器可以称为与第一候选服务器相邻的候选服务器。在一些情况下,与该第一候选服务器相邻的候选服务器还可以包括与该第一候选服务器处于同一城市或者同一地区的不同机房内的服务器。
在一些实施例中,该管理设备还可以确定该多个服务器中与该第一候选服务器时延最小的服务器。与该第一候选服务器时延最小的服务器可以称为第五候选服务器。该多个服务器中可以包括一个第五候选服务器也可以包括多个第五候选服务器。在一些实施例中,第五候选服务器可能会与第二候选服务器中的一个或第三候选服务器中的一个或者第四候选服务器中的一个是相同的服务器。
在一些实施例中,该管理设备可以确定目的服务器为该多个候选服务器中的任一个为该目的服务器。如果确定的目的服务器不符合该第一关键节点的迁移需求,则确定剩余的候选服务器中的任一个为目的服务器,以此类推。
在另一些实施例中,该管理设备可以先确定第一候选服务器为该目的服务器。如果该第一候选服务器不符合该第一关键节点的迁移需求,则确定剩余的候选服务器中与第一候选服务器时延最短的服务器为该目的服务器,以此类推。
在另一些实施例中,该管理设备可以先确定该第一候选服务器作为目的服务器。如果该第一候选服务器不符合该第一关键节点的迁移需求,则确定与该第一候选服务器属于同一个机柜的另一个服务器为目的服务器。如果与该第一候选服务器属于同一机柜的所有服务器都不符合该第一关键节点的迁移需求,或者,该第一候选服务器所在的机柜只有一个服务器(即该第一候选服务器),则确定与该第一候选服务器属于同一个机房内的另一个服务器为目的服务器。如果与该第一候选服务器属于同一机房的所有服务器都不符合该第一关键节点的迁移需求,或者,该第一候选服务器所在的机房只有一个服务器(即该第一候选服务器),则确定与该第一候选服务器属于同一个数据中心的另一个服务器为目的服务器。换句话说,该管理设备可以按照与该第一候选服务器的距离来确定目的服务器。如果与存在多个与该第一候选服务器距离相同或相近的服务器(例如同一机柜的服务器或者同一机房的服务器),则可以确定该多个服务器中的任一个为目的服务器。
例如,假设该第一候选服务器有两个第二候选服务器(分别可以称为第二候选服务器1和第二候选服务器2)和两个第三候选服务器(分别可以称为第三候选服务器1和第三候选服务器2)。为了便于描述,以下所称的多个候选服务器包括:第一候选服务器、第二候选服务器1、第二候选服务器2、第三候选服务器1和第三候选服务器2。
该管理设备可以先确定该第一候选服务器作为目的服务器。如果该第一候选服务器不符合该第一关键节点的迁移需求,则该管理设备可以确定两个第二候选服务器中的任一个(例如第二候选服务器1)为该目的服务器。如果该第二候选服务器1也与不符合该第一关键节点的迁移需求,则可以确定该第二候选服务器2为该目的服务器。如果该第二候选服务器2也不符合该第一关键节点的迁移需求,则可以确定两个第三服务器中的任一个为该目的服务器。
下面以第一候选服务器为例,对如何确定服务器是否符合该第一关键节点的迁移需求进行介绍。
在一些实施例中,该管理设备可以确定第一候选服务器中运行的服务节点与该第一关键节点是否反亲和;若该第一候选服务器中运行的功能节点与该第一关键节点反亲和,则确定该第一候选服务器不符合该第一关键节点的迁移需求;若该第一候选服务器中运行的功能节点与该第一关键节点不是反亲和,则确定该第一候选服务器符合该第一关键节点的迁移需求。
例如,数据库的主节点和备份节点也不能部署在同一个服务器中。若该备份节点是第一关键节点,则该主节点是该第一关键节点反亲和。
在一些实施例中,该管理设备可以保存与该第一关键节点反亲和的节点的身份信息。该管理设备可以保存的信息,确定该第一候选服务器中是否包括与该第一关键节点反亲和的节点。若该第一候选服务器中没有包括与该第一关键节点反亲和的功能节点,则可以确定该第一候选服务器符合该第一关键节点的迁移需求;否则,确定该第一候选服务器不符合该第一关键节点的迁移需求。
在另一些实施例中,第一候选服务器中可以包括与该第一候选服务器中的功能节点反亲和的节点的身份信息(为便于描述,以下简称反亲和列表)。该管理设备可以将该第一关键节点的身份信息发送至该第一候选服务器;该第一候选服务器可以确定该反亲和列表中是否包括该第一关键节点的身份信息;若该反亲和列表中不包括该第一关键节点身份信息,则该第一候选服务器可以向该管理设备发送迁移肯定指示,该迁移肯定指示用于指示该第一候选服务器符合该第一关键节点的迁移需求,或者,换句话说,该迁移肯定指示用于指示该第一关键节点能够迁移至该第一候选服务器;若该反亲和列表中包括该第一关键节点的身份信息,则该第一候选服务器可以向该管理设备发送迁移否定指示,该迁移否定指示用于指示该第一候选服务器不符合该第一关键节点的迁移需求,或者,换句话说该迁移否定指示用于指示该第一关节点不能够迁移至该第一候选服务器。
在另一些实施例中,该管理设备可以根据第一关键节点的硬件信息确定该第一候选服务器是否符合该第一关键节点的迁移需求。该管理设备可以确定第一关键节点的硬件信息与第一候选服务器的硬件信息是否冲突(或者说,确定第一候选服务器的硬件是否能够运行该第一关键节点);若第一关键节点的硬件信息与第一候选服务器的硬件信息不冲突,则可以确定该第一候选服务器符合该第一关键节点的迁移需求;若第一关键节点的硬件信息与第一候选服务器的硬件信息冲突,则可以确定该第一候选服务器不符合该第一关键节点的迁移需求。
该第一关键节点的硬件信息可以包括以下信息中的任一个或多个:能够运行该第一关键节点的CPU信息、能够运行该第一关键节点的内存信息、能够运行该第一关键节点的GPU信息、能够运行该第一关键节点的操作系统等。
例如,能够运行该第一关键节点的CPU是X86架构的CPU,但是该第一候选服务器中的CPU是ARM架构的服务器。在此情况下,该第一候选服务器不符合该第一关键节点的迁移需求。
在另一些实施例中,该管理设备可以确定该第一候选服务器的计算资源是否满足该第一关键节点的迁移需求。该第一候选服务器的计算资源可以包括该第一候选服务器的CPU资源、内存资源、网络资源等。若该第一候选服务器的计算资源满足该第一关键节点的迁移需求,则可以确定该第一候选服务器符合该第一关键节点的迁移需求;若该第一候选服务器的计算资源不满足该第一关键节点的迁移需求,则可以确定该第一候选服务器不符合该第一关键节点的迁移需求。
例如,若该第一候选服务器的CPU占用率超过一个预设CPU占用阈值,则可以确定该第一候选服务器不符合该第一关键节点的迁移需求。又如,若该第一候选服务器的剩余内存小于一个预设内存阈值,则可以确定该第一候选服务器不符合该第一关键节点的迁移需求。
在一些实施例中,该管理设备可以根据第一关键节点的亲和性信息、第一关键节点的硬件信息以及第一候选服务器的计算资源确定该第一候选服务器是否符合该第一关键节点的迁移需求。只有同时符合该第一关键节点的迁移需求的情况下,才可以确定该第一候选服务器符合该第一关键节点的迁移需求。例如,只有在该第一候选服务器中不包括该第一关键节点的反亲和的节点,且该第一候选服务器的硬件能够运行该第一关键节点,且该第一候选服务器的计算资源能够支持该第一关键节点的情况下,才可以确定该第一候选服务器符合该第一关键节点的迁移需求;否则,确定该第一候选服务器不符合该第一关键节点的迁移需求。
可选的,在另一些实施例中,在确定了该P个关键节点后,可以先尝试将关键节点迁移至一个服务器中。如果关键节点无法被迁移至该服务器,则将该关键节点迁移至另一个服务器,直到有一个服务器能够接受该关键节点。
可选的,在一些实施例中,在确定了该P个关键节点后,可以按照该P个关键节点所在的区间对应的迁移度、时延、和/或交互次数确定该P个关键节点的迁移顺序。
以迁移度为例,该管理设备可以按照迁移度从高到低的顺序迁移该P个关键节点。在一些实施例中,如果存在两个关键节点所在的两个区间对应的迁移度相同,则可以随机选取一个关键节点优先迁移。在另一些实施例中,如果存在两个关键节点所在的两个区间对应的迁移度相同,则可以确定这两个区间的时延,优先迁移时延长的区间中的关键节点;如果这两个区间的时延也相同,则可以优先迁移交互次数多的区间中的关键节点;如果这两个区间中的功能节点的交互次数也相同,则可以随机先迁移两个关键节点中的一个。
可选的,在另一些实施例中,该管理设备可以在确定一个区间为目标区间后,就确定从该区间中确定关键节点,并对该关键节点进行迁移。换句话说,该管理设备可以无需等待确定出全部关键节点后再对关键节点进行迁移。
该管理设备在对关键节点进行迁移之前可以先确定迁移信息,该迁移信息可以包括目的服务器(这里的目的服务器是指不与关键节点冲突的目的服务器)的资源使用情况和/或用户请求流量。该管理设备可以根据该迁移信息,确定对关键节点进行迁移。例如,该管理设备可以根据该目的服务器的当前资源使用情况和该目的服务器的资源使用历史,对该目的服务器的资源使用情况进行预测,确定该目的服务器的资源使用预测信息。该管理设备还可以根据当前用户请求流量和历史用户请求流量,确定预测用户请求流量。该管理设备可以根据该目的服务器的资源使用预测信息和该预测用户请求流量,确定对该关键节点进行迁移的时机并在确定的时机将该关键节点迁移至该目的设备。
在一些情况下,该管理设备可以确定该关键节点无法迁移至该目的服务器。例如,该管理设备确定该目的服务器的资源在未来的一段时间内都会超出预设的资源占用阈值,则该管理设备可以确定该关键节点无法迁移至该目的服务器。又如,该管理设备确定用户请求流量在未来的一段时间内都会超出请求流量阈值,则该管理设备可以确定该关键节点无法迁移至该目的服务器。又如,该管理设备根据该目的服务器的资源使用预测信息和该预测用户请求流量,确定对该关键节点进行迁移的时机到当前时刻的时间长度超过预设的最大迁移时间,则该管理设备可以确定该关键节点无法迁移至该目的服务器。
在一些实施例中,若该管理设备确定该关键节点无法迁移至该目的服务器,则该管理设备可以确定另一服务器,并尝试将该关键节点迁移至该另一服务器。
在另一些实施例中,若该管理设备确定该关键节点无法迁移至该目的设备,则该管理设备可以确定不再对该关键节点进行迁移。
可选的,在一些实施例中,该管理设备还可以记录关键节点在迁移过程中的数据(可以称为迁移数据)。例如,该迁移数据可以包括:关键节点的身份信息、关键节点迁移至的目的服务器的身份信息、关键节点的源服务器的身份信息、迁移时间、迁移结果(例如是否成功迁移,迁移次数等)等信息。
可选的,在一些实施例中,该管理设备还可以根据记录的迁移数据,训练规划模型。该规划模型可以用于对业务功能的功能节点的部署进行规划,以确定每个功能节点所在的服务器。该管理设备可以首先对初规划模型中的每层的参数进行初始化(即,为每个参数赋予一个初始值),进而利用训练数据对该初始规划模型进行训练,直到该初始规划模型中的损失函数收敛或者所有的迁移数据被用于训练,则训练完成。该规划模型可以是可采用业界现有的一些机器学习模型或者深度学习模型,例如:决策树(decision tree,DT)、随机森林(random forest,RF)、逻辑回归(logistic regression,LR)、支持向量机(supportvector machine,SVM)、卷积神经网络(convolutional neural network,CNN)、循环神经网络(rucurrent neural network,RNN)等中的任一个。
可选的,在另一些实施例中,该管理设备还可以将记录的迁移数据发送至模型训练设备。该模型训练设备可以根据该迁移数据训练规划模型。该模型训练设备训练规划模型的方式与该管理设备自行训练规划模型的训练方式类似,为了简洁,在此就不再赘述。
可选的,在一些实施例中,如果该管理设备将关键节点迁移至目的服务器失败,则该管理设备可以再次尝试将该关键节点迁移至该目的服务器,直到成功迁移或者迁移次数达到预设的最大迁移次数。
可选的,在一些实施例中,该管理设备可以根据该多个迁移度和该多个区间的连接关系,确定拓扑图,该拓扑图表示该区间的功能节点的连接关系以及每个区间对应的迁移度。图4是该管理设备确定对应于调用链100的拓扑图的示意。该管理设备可以利用显示设备呈现如图4所示的拓扑图400。图5是该管理设备确定对应于调用链200的拓扑图的示意。该管理设备可以利用显示设备呈现如图5所示的拓扑图500。
图6是根据本申请实施例提供的一种计算机设备的示意性结构框图。如图6所示的计算机设备600包括获取单元601、处理单元602和迁移单元603。
获取单元601,用于获取至少一个调用链的访问相关信息,其中该访问相关信息包括以下信息中的至少一个:该至少一个调用链包括的N个区间中每个区间的时延,该N个区间中每个区间的功能节点间的交互次数,N为大于或等于1的正整数。
处理单元602,用于根据该访问相关信息,从组成该N个区间多个功能节点中确定P个关键节点。
迁移单元603,用于对该P个关键节点进行迁移,P为大于或等于1的正整数。
可选的,在一些实施例中,处理单元602,具体用于:在该访问相关信息包括该N个区间中每个区间的时延和该N个区间中每个区间的功能节点间的交互次数的情况下,根据该访问相关信息,确定N个迁移度,其中该N个迁移度与该N个区间一一对应,该迁移度与时延和交互次数呈正相关;根据该N个迁移度,从该N个区间中确定M个区间,其中该M个区间中的任一个区间的迁移度大于该N个区间中除该M个区间以外的任一个区间的迁移度;确定该P个关键节点,其中该P个关键节点属于该M个区间。
可选的,在一些实施例中,处理单元602,具体用于确定与该N个区间中第Nij个区间的时延对应的权重Wij,其中该第Nij个区间为该至少一个调用链中的第i个调用链中的第j个区间,i和j为大于或等于1的正整数,Nij=1,2,…,或者N;根据权重Wij和该第Nij个区间中的功能节点间的交互次数,确定该N个迁移度中的第Nij个迁移度。
可选的,在一些实施例中,迁移单元603,具体用于从多个服务器中确定目的服务器;确定该目的服务器是否符合该P个关键节点中的第x个关键节点的迁移需求,其中x=1,……或,P;若该目的服务器符合该第x个关键节点的迁移需求,则将该第x个关键节点迁移至该目的服务器;若该目的服务器不符合该第x个关键节点的迁移需求,则从该多个服务器中确定另一目的服务器。
可选的,在一些实施例中,迁移单元603,具体用于确定该目的服务器中运行的功能节点与该第x个关键节点是否的反亲和;若该目的服务器中运行的功能节点与该第x个关键节点反亲和,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该目的服务器中运行的功能节点与该第x个关键节点不是反亲和,则确定该目的服务器符合该第x个关键节点的迁移需求。
可选的,在一些实施例中,迁移单元603,具体用于若该第x个关键节点的硬件信息与该目的服务器的硬件信息冲突,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该第x个关键节点的硬件信息不与该目的服务器的硬件信息冲突,则确定该目的服务器符合该第x个关键节点的迁移需求。
可选的,在一些实施例中,迁移单元603,具体用于确定该目的服务器的计算资源是否满足该的x个关键节点的迁移需求;若该目的服务器的计算资源不满足该的x个关键节点的迁移需求,则确定该目的服务器不符合该第x个关键节点的迁移需求;若该目的服务器的计算资源满足该的x个关键节点的迁移需求中,则确定该目的服务器符合该第x个关键节点的迁移需求。
可选的,在一些实施例中,该目的服务器为与该第x个关键节点对应的参考功能节点所在的服务器,或者,该参考功能节点所在的服务器相邻的服务器,其中该参考功能节点与该第x个关键节点为该M个区间中的一个区间的两个功能节点。
可选的,在一些实施例中,处理单元602,还用于根据该N个迁移度和该N个区间的连接关系,确定拓扑图,该拓扑图表示该N个区间的连接关系以及该N个区间中每个区间对应的迁移度;该计算机设备,还包括:显示单元,用于显示该拓扑图。
获取单元601、处理单元602和迁移单元603的具体功能和有益效果可以参考图3所示的实施例,为了间接,在此就不再赘述。
图7是根据本申请实施例提供的一种计算机设备的示意性结构框图。计算机设备700包括总线701、处理器702、通信接口703和存储器704。处理器702、存储器704和通信接口703之间通过总线701通信。其中,处理器702可以是编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)、其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或其他集成芯片。存储器704中存储有病理图像处理系统所包括的可执行代码,处理器702读取存储器704中的该可执行代码以执行如图3所示的方法。存储器704中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUXTM,UNIXTM,WINDOWSTM等。
本申请实施例还提供一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如图3所述的方法。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图3所示实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图3所示实施例的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种迁移功能节点的方法,其特征在于,包括:
获取至少一个调用链的访问相关信息,其中所述访问相关信息包括所述至少一个调用链包括的N个区间中每个区间的时延和所述N个区间中每个区间的功能节点间的交互次数,N为大于或等于1的正整数;
根据所述访问相关信息,确定N个迁移度,其中所述N个迁移度与所述N个区间一一对应,所述迁移度与时延和交互次数呈正相关;
根据所述N个迁移度,从所述N个区间中确定M个区间,其中所述M个区间中的任一个区间的迁移度大于所述N个区间中除所述M个区间以外的任一个区间的迁移度;
从组成所述N个区间的多个功能节点中确定P个关键节点,其中所述P个关键节点属于所述M个区间;
对所述P个关键节点进行迁移,P为大于或等于1的正整数。
2.如权利要求1所述的方法,其特征在于,所述根据访问相关信息,确定N个迁移度,包括:
确定与所述N个区间中第Nij个区间的时延对应的权重Wij,其中所述第Nij个区间为所述至少一个调用链中的第i个调用链中的第j个区间,i和j为大于或等于1的正整数,Nij=1,2,…,或者N;
根据权重Wij和所述第Nij个区间中的功能节点间的交互次数,确定所述N个迁移度中的第Nij个迁移度。
3.如权利要求1或2所述的方法,其特征在于,所述对所述P个关键节点进行迁移,包括:
从多个服务器中确定目的服务器;
确定所述目的服务器是否符合所述P个关键节点中的第x个关键节点的迁移需求,其中x=1,……或,P;
若所述目的服务器符合所述第x个关键节点的迁移需求,则将所述第x个关键节点迁移至所述目的服务器;
若所述目的服务器不符合所述第x个关键节点的迁移需求,则从所述多个服务器中确定另一目的服务器。
4.如权利要求3所述的方法,其特征在于,所述确定所述目的服务器是否符合所述P个关键节点中的第x个关键节点的迁移需求,包括:
确定所述目的服务器中运行的功能节点与所述第x个关键节点是否反亲和;
若所述目的服务器中运行的功能节点与所述第x个关键节点反亲和,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述目的服务器中运行的功能节点与所述第x个关键节点不是反亲和,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
5.如权利要求3所述的方法,其特征在于,所述确定所述目的服务器是否符合所述P个关键节点中的第x个关键节点的迁移需求,包括:
若所述第x个关键节点的硬件信息与所述目的服务器的硬件信息冲突,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述第x个关键节点的硬件信息不与所述目的服务器的硬件信息冲突,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
6.如权利要求3所述的方法,其特征在于,所述确定所述目的服务器是否符合所述P个关键节点中的第x个关键节点的迁移需求,包括:
确定所述目的服务器的计算资源是否满足所述的x个关键节点的迁移需求;
若所述目的服务器的计算资源不满足所述的x个关键节点的迁移需求,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述目的服务器的计算资源满足所述的x个关键节点的迁移需求中,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
7.如权利要求3所述的方法,其特征在于,所述目的服务器为与所述第x个关键节点对应的参考功能节点所在的服务器,或者,所述参考功能节点所在的服务器相邻的服务器,其中所述参考功能节点与所述第x个关键节点为所述M个区间中的一个区间的两个功能节点。
8.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述N个迁移度和所述N个区间的连接关系,确定拓扑图,所述拓扑图表示所述N个区间的连接关系以及所述N个区间中每个区间对应的迁移度。
9.一种计算机设备,其特征在于,所述计算机设备包括:
获取单元,用于获取至少一个调用链的访问相关信息,其中所述访问相关信息包括所述至少一个调用链包括的N个区间中每个区间的时延和所述访问相关信息还包括所述N个区间中每个区间的功能节点间的交互次数,N为大于或等于1的正整数;
处理单元,用于根据所述访问相关信息,确定N个迁移度,其中所述N个迁移度与所述N个区间一一对应,所述迁移度与时延和交互次数呈正相关;
所述处理单元还用于根据所述N个迁移度,从所述N个区间中确定M个区间,其中所述M个区间中的任一个区间的迁移度大于所述N个区间中除所述M个区间以外的任一个区间的迁移度;
所述处理单元还用于从组成所述N个区间的多个功能节点中确定P个关键节点,其中所述P个关键节点属于所述M个区间;
迁移单元,用于对所述P个关键节点进行迁移,P为大于或等于1的正整数。
10.如权利要求9所述的设备,其特征在于,所述处理单元,具体用于确定与所述N个区间中第Nij个区间的时延对应的权重Wij,其中所述第Nij个区间为所述至少一个调用链中的第i个调用链中的第j个区间,i和j为大于或等于1的正整数,Nij=1,2,…,或者N;
根据权重Wij和所述第Nij个区间中的功能节点间的交互次数,确定所述N个迁移度中的第Nij个迁移度。
11.如权利要求9或10所述的设备,其特征在于,所述迁移单元,具体用于从多个服务器中确定目的服务器;
确定所述目的服务器是否符合所述P个关键节点中的第x个关键节点的迁移需求,其中x=1,……或,P;
若所述目的服务器符合所述第x个关键节点的迁移需求,则将所述第x个关键节点迁移至所述目的服务器;
若所述目的服务器不符合所述第x个关键节点的迁移需求,则从所述多个服务器中确定另一目的服务器。
12.如权利要求11所述的设备,其特征在于,所述迁移单元,具体用于确定所述目的服务器中运行的功能节点与所述第x个关键节点是否反亲和;
若所述目的服务器中运行的功能节点与所述第x个关键节点反亲和,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述目的服务器中运行的功能节点与所述第x个关键节点不是反亲和,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
13.如权利要求11所述的设备,其特征在于,所述迁移单元,具体用于若所述第x个关键节点的硬件信息与所述目的服务器的硬件信息冲突,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述第x个关键节点的硬件信息不与所述目的服务器的硬件信息冲突,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
14.如权利要求11所述的设备,其特征在于,所述迁移单元,具体用于确定所述目的服务器的计算资源是否满足所述的x个关键节点的迁移需求;
若所述目的服务器的计算资源不满足所述的x个关键节点的迁移需求,则确定所述目的服务器不符合所述第x个关键节点的迁移需求;
若所述目的服务器的计算资源满足所述的x个关键节点的迁移需求中,则确定所述目的服务器符合所述第x个关键节点的迁移需求。
15.如权利要求11所述的设备,其特征在于,所述目的服务器为与所述第x个关键节点对应的参考功能节点所在的服务器,或者,所述参考功能节点所在的服务器相邻的服务器,其中所述参考功能节点与所述第x个关键节点为所述M个区间中的一个区间的两个功能节点。
16.如权利要求9或10所述的设备,其特征在于,所述处理单元,还用于根据所述N个迁移度和所述N个区间的连接关系,确定拓扑图,所述拓扑图表示所述N个区间的连接关系以及所述N个区间中每个区间对应的迁移度;
所述计算机设备,还包括:显示单元,用于显示所述拓扑图。
17.一种计算机设备,其特征在于,包括:处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1-8中任一项所述的方法。
18.一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1-8中任一项所述的方法。
19.一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342297.9A CN113098917B (zh) | 2019-12-23 | 2019-12-23 | 迁移功能节点的方法和相关设备 |
EP20905415.4A EP4068727B1 (en) | 2019-12-23 | 2020-12-18 | Method for migrating function node, and related device |
PCT/CN2020/137626 WO2021129534A1 (zh) | 2019-12-23 | 2020-12-18 | 迁移功能节点的方法和相关设备 |
US17/846,345 US20220318072A1 (en) | 2019-12-23 | 2022-06-22 | Function Node Migration Method and Related Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911342297.9A CN113098917B (zh) | 2019-12-23 | 2019-12-23 | 迁移功能节点的方法和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098917A CN113098917A (zh) | 2021-07-09 |
CN113098917B true CN113098917B (zh) | 2024-06-04 |
Family
ID=76575192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911342297.9A Active CN113098917B (zh) | 2019-12-23 | 2019-12-23 | 迁移功能节点的方法和相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220318072A1 (zh) |
EP (1) | EP4068727B1 (zh) |
CN (1) | CN113098917B (zh) |
WO (1) | WO2021129534A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021140630A1 (ja) * | 2020-01-09 | 2021-07-15 | 日本電信電話株式会社 | 処理装置、再配置方法及び再配置プログラム |
CN114442477B (zh) * | 2022-04-11 | 2022-06-07 | 北京信云筑科技有限责任公司 | 基于物联网的设备健康管理系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN104166594A (zh) * | 2014-08-19 | 2014-11-26 | 杭州华为数字技术有限公司 | 负载均衡控制方法及相关装置 |
CN104516767A (zh) * | 2013-09-27 | 2015-04-15 | 国际商业机器公司 | 设置虚拟机迁移过程中应用客户端的重传时间的方法和系统 |
CN104518993A (zh) * | 2014-12-29 | 2015-04-15 | 华为技术有限公司 | 云化网络通信路径的分配方法、装置及系统 |
CN106464704A (zh) * | 2014-06-12 | 2017-02-22 | 英派尔科技开发有限公司 | 基于来自节点的通信的虚拟机迁移 |
CN106897137A (zh) * | 2017-04-19 | 2017-06-27 | 南京大学 | 一种基于虚拟机热迁移的物理机与虚拟机映射转换方法 |
CN106909449A (zh) * | 2017-01-11 | 2017-06-30 | 西可通信技术设备(河源)有限公司 | 一种移动终端程序的计算迁移方法与装置 |
CN109151864A (zh) * | 2018-09-18 | 2019-01-04 | 贵州电网有限责任公司 | 一种面向移动边缘计算超密集网络的迁移决策与资源优化分配方法 |
CN109155939A (zh) * | 2016-06-28 | 2019-01-04 | 华为技术有限公司 | 一种负载迁移方法、装置及系统 |
CN109995813A (zh) * | 2017-12-29 | 2019-07-09 | 杭州华为数字技术有限公司 | 一种分区扩展方法、数据存储方法及装置 |
CN110213351A (zh) * | 2019-05-17 | 2019-09-06 | 北京航空航天大学 | 一种面向广域高性能计算环境的动态自适应io负载均衡方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678803B2 (en) * | 2007-06-22 | 2017-06-13 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
US8423646B2 (en) * | 2010-07-09 | 2013-04-16 | International Business Machines Corporation | Network-aware virtual machine migration in datacenters |
WO2013038547A1 (ja) * | 2011-09-15 | 2013-03-21 | 富士通株式会社 | 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法 |
US9363190B2 (en) * | 2013-07-31 | 2016-06-07 | Manjrasoft Pty. Ltd. | System, method and computer program product for energy-efficient and service level agreement (SLA)-based management of data centers for cloud computing |
JP6277853B2 (ja) * | 2014-05-12 | 2018-02-14 | 富士通株式会社 | 制御装置、通信装置、および、通信方法 |
JP6666553B2 (ja) * | 2016-05-10 | 2020-03-18 | 富士通株式会社 | 情報処理装置、ジョブ管理方法およびジョブ管理プログラム |
CN107562531B (zh) * | 2016-06-30 | 2020-10-09 | 华为技术有限公司 | 一种数据均衡方法和装置 |
CN106330576B (zh) * | 2016-11-18 | 2019-10-25 | 北京红马传媒文化发展有限公司 | 容器化微服务自动伸缩及迁移调度的方法、系统和设备 |
CN107147696B (zh) * | 2017-04-07 | 2019-11-01 | 北京信息科技大学 | 在复杂网络中分配缓存服务器的方法和装置 |
US10419393B2 (en) * | 2017-05-11 | 2019-09-17 | International Business Machines Corporation | Using network configuration analysis to improve server grouping in migration |
CN107919986B (zh) * | 2017-11-09 | 2020-09-08 | 北京邮电大学 | 超密集网络中mec节点间vm迁移优化方法 |
CN108540405B (zh) * | 2017-12-18 | 2020-04-07 | 清华大学 | 网络资源迁移方法及装置 |
US10824456B2 (en) * | 2018-01-31 | 2020-11-03 | Nutanix, Inc. | System traffic analyzers to request co-location of virtual machines in frequent communication |
US11327780B2 (en) * | 2018-09-18 | 2022-05-10 | Vmware, Inc. | Network-efficient isolation environment redistribution |
-
2019
- 2019-12-23 CN CN201911342297.9A patent/CN113098917B/zh active Active
-
2020
- 2020-12-18 EP EP20905415.4A patent/EP4068727B1/en active Active
- 2020-12-18 WO PCT/CN2020/137626 patent/WO2021129534A1/zh unknown
-
2022
- 2022-06-22 US US17/846,345 patent/US20220318072A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN104516767A (zh) * | 2013-09-27 | 2015-04-15 | 国际商业机器公司 | 设置虚拟机迁移过程中应用客户端的重传时间的方法和系统 |
CN106464704A (zh) * | 2014-06-12 | 2017-02-22 | 英派尔科技开发有限公司 | 基于来自节点的通信的虚拟机迁移 |
CN104166594A (zh) * | 2014-08-19 | 2014-11-26 | 杭州华为数字技术有限公司 | 负载均衡控制方法及相关装置 |
CN104518993A (zh) * | 2014-12-29 | 2015-04-15 | 华为技术有限公司 | 云化网络通信路径的分配方法、装置及系统 |
CN109155939A (zh) * | 2016-06-28 | 2019-01-04 | 华为技术有限公司 | 一种负载迁移方法、装置及系统 |
CN106909449A (zh) * | 2017-01-11 | 2017-06-30 | 西可通信技术设备(河源)有限公司 | 一种移动终端程序的计算迁移方法与装置 |
CN106897137A (zh) * | 2017-04-19 | 2017-06-27 | 南京大学 | 一种基于虚拟机热迁移的物理机与虚拟机映射转换方法 |
CN109995813A (zh) * | 2017-12-29 | 2019-07-09 | 杭州华为数字技术有限公司 | 一种分区扩展方法、数据存储方法及装置 |
CN109151864A (zh) * | 2018-09-18 | 2019-01-04 | 贵州电网有限责任公司 | 一种面向移动边缘计算超密集网络的迁移决策与资源优化分配方法 |
CN110213351A (zh) * | 2019-05-17 | 2019-09-06 | 北京航空航天大学 | 一种面向广域高性能计算环境的动态自适应io负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4068727B1 (en) | 2024-07-31 |
EP4068727A4 (en) | 2022-12-28 |
US20220318072A1 (en) | 2022-10-06 |
WO2021129534A1 (zh) | 2021-07-01 |
CN113098917A (zh) | 2021-07-09 |
EP4068727A1 (en) | 2022-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
Almeder et al. | Metaheuristics for scheduling jobs with incompatible families on parallel batching machines | |
US9251156B2 (en) | Information processing devices, method, and recording medium with regard to a distributed file system | |
CN113098917B (zh) | 迁移功能节点的方法和相关设备 | |
JP6178506B2 (ja) | 情報処理システムおよび情報処理方法 | |
CN108848034A (zh) | 一种网络设备及表项学习方法 | |
US10360267B2 (en) | Query plan and operation-aware communication buffer management | |
CN107944000A (zh) | 航班运价更新方法、装置、电子设备、存储介质 | |
CN111309805B (zh) | 数据库的数据读写方法及装置 | |
US11941528B2 (en) | Neural network training in a distributed system | |
CN103430165A (zh) | 使用虚拟机与客户端计算设备共享移动计算设备的互联网能力 | |
US10313457B2 (en) | Collaborative filtering in directed graph | |
CN110826786A (zh) | 目的地点人口数量的预测方法、装置及存储介质 | |
US20230057537A1 (en) | Facilitating striated random restart during allocation of resources using a heuristic approach | |
EP1870818A1 (en) | Bus arbitration apparatus and method | |
US20050125799A1 (en) | Methods and systems for assigning objects to processing units | |
CN106537323A (zh) | 存储设备访问调解 | |
Golmakani et al. | An artificial immune algorithm for multiple-route job shop scheduling problem with preventive maintenance constraints | |
CN109992356B (zh) | 一种自动启动虚拟机的方法及其系统 | |
JP2021158591A (ja) | 制御量算出装置及び制御量算出方法 | |
CN108563489A (zh) | 一种数据中心综合管理系统的虚拟机迁移方法及系统 | |
WO2017018978A1 (en) | Scheduling jobs in a computing cluster | |
CN113381873B (zh) | 网络设备的扩容方法和相关装置 | |
van der Zee | Family based dispatching with batch availability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220214 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |