面向視頻應(yīng)用的虛擬化資源管理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種面向視頻應(yīng)用的虛擬化資源管理方法及裝置。
【背景技術(shù)】
[0002]在不久的將來,視頻將成為信息的主流載體,更加代表了互聯(lián)網(wǎng)的未來。預(yù)計(jì)到2020年全球互聯(lián)網(wǎng)流量的80%以上都將是視頻。視頻應(yīng)用本身對(duì)于計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)帶寬的需求要遠(yuǎn)高于一般的互聯(lián)網(wǎng)應(yīng)用。大規(guī)模視頻應(yīng)用的部署必然會(huì)帶來遠(yuǎn)超出傳統(tǒng)互聯(lián)網(wǎng)業(yè)務(wù)的硬件服務(wù)器、交換機(jī)和其他基礎(chǔ)設(shè)施的投資。同時(shí)運(yùn)營維護(hù)的成本也將大幅增加。因此,解決大規(guī)模視頻應(yīng)用的高效資源管理問題是十分重要的。
[0003]所謂高效的資源管理指的是正確地估計(jì)資源需求量,充分地使用資源,對(duì)于資源的初始投資和運(yùn)營成本進(jìn)行實(shí)時(shí)和量化的監(jiān)控。要實(shí)現(xiàn)這一目標(biāo),就需要在技術(shù)上能夠彈性地調(diào)度各種資源,以最優(yōu)化的方式滿足業(yè)務(wù)在種類和容量上的各種需求,滿足對(duì)用戶的服務(wù)質(zhì)量承諾。
[0004]一般的應(yīng)用都采用建立虛擬機(jī)集群的方式來實(shí)現(xiàn)資源的動(dòng)態(tài)調(diào)度。目前主流的資源虛擬化方法都是針對(duì)通用服務(wù)器的虛擬化技術(shù)(例如KVM、VMWare、Ctrix等),這類虛擬化技術(shù)可以進(jìn)行對(duì)CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)的虛擬化。基于上述虛擬機(jī)技術(shù)構(gòu)建的虛擬化平臺(tái)可以很好地應(yīng)對(duì)非視頻類的應(yīng)用質(zhì)量需求,包括吞吐量、延遲等。但是,上述虛擬機(jī)技術(shù)不可避免地都會(huì)有10%到40%的性能損失。而視頻類應(yīng)用往往具有高計(jì)算密度、低延遲和高吞吐量的特征,并且需要更大的存儲(chǔ)空間。在硬件上超過20%的性能損失對(duì)于視頻類應(yīng)用來說都意味著很大的成本。更為關(guān)鍵的是,這些性能損失會(huì)讓視頻的處理結(jié)果根本無法滿足基本的服務(wù)質(zhì)量要求。比如對(duì)于4K視頻的壓縮,任何不必要的性能損失都會(huì)讓處理過程喪失實(shí)時(shí)性。
[0005]因此,基于上述虛擬化技術(shù)的資源調(diào)度方法對(duì)于視頻應(yīng)用來講存在以下缺點(diǎn):
[0006]I)上述虛擬化技術(shù)管理資源的粒度都比較大,比如只能以虛擬機(jī)為單位進(jìn)行任務(wù)調(diào)度;而且是相對(duì)靜態(tài)的。根據(jù)具體業(yè)務(wù)形態(tài)的不同,視頻應(yīng)用針對(duì)單個(gè)用戶提供服務(wù)的成本要比普通互聯(lián)網(wǎng)應(yīng)用高一到兩個(gè)數(shù)量級(jí),需要更加精細(xì)的資源控制和調(diào)度能力,而現(xiàn)有的資源調(diào)度方式會(huì)阻礙對(duì)視頻應(yīng)用的資源優(yōu)化。
[0007]2)上述虛擬化技術(shù)無法對(duì)所有資源進(jìn)行抽象化管理,比如GPU、ARM處理器、PC1-E采集卡、視頻壓縮芯片等等視頻應(yīng)用的基礎(chǔ)設(shè)施。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實(shí)施例提供了一種面向視頻應(yīng)用的虛擬化資源管理方法,以提出一種可以進(jìn)行更細(xì)粒度的資源調(diào)度并可以抽象化管理視頻應(yīng)用的物理基礎(chǔ)設(shè)施的資源管理方案。該方法包括:對(duì)服務(wù)器進(jìn)行注冊(cè)后,對(duì)每個(gè)運(yùn)行視頻應(yīng)用所需的資源塊,根據(jù)資源配置信息,從多個(gè)服務(wù)器中選擇符合建立資源塊條件的服務(wù)器,并在該資源塊與選擇出的服務(wù)器之間建立關(guān)聯(lián)關(guān)系,其中,服務(wù)器承載運(yùn)行視頻應(yīng)用所需的各物理基礎(chǔ)設(shè)施;從所有資源塊中選擇與視頻應(yīng)用運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊;將視頻應(yīng)用部署到與選擇出的資源塊關(guān)聯(lián)的服務(wù)器上,并在該服務(wù)器上采用選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行視頻應(yīng)用。
[0009]在一個(gè)實(shí)施例中,所述資源配置信息包括:名稱、操作系統(tǒng)類型、資源類型和各項(xiàng)資源的需求量,服務(wù)器的類型包括物理服務(wù)器和虛擬服務(wù)器,根據(jù)資源塊的資源配置信息,從多個(gè)服務(wù)器中選擇符合建立資源塊條件的服務(wù)器,包括:從多個(gè)服務(wù)器中選擇操作系統(tǒng)類型與資源配置信息中的操作系統(tǒng)類型相同、服務(wù)器的類型與資源類型相同且各項(xiàng)資源的需求量小于服務(wù)器承載的各物理基礎(chǔ)設(shè)施的資源可用容量的服務(wù)器,組成服務(wù)器候選集合;從服務(wù)器候選集合中選擇當(dāng)前物理基礎(chǔ)設(shè)施的資源剩余可用容量最大的服務(wù)器,建立資源塊。
[0010]在一個(gè)實(shí)施例中,從服務(wù)器候選集合中選擇當(dāng)前物理基礎(chǔ)設(shè)施的資源剩余可用容量最大的服務(wù)器,包括:從服務(wù)器候選集合中選擇各項(xiàng)物理基礎(chǔ)設(shè)施的資源剩余可用容量均是最大的服務(wù)器;或者,確定各項(xiàng)物理基礎(chǔ)設(shè)施中需求量占比最大的物理基礎(chǔ)設(shè)施;從服務(wù)器候選集合中選擇確定出的物理基礎(chǔ)設(shè)施的資源剩余可用容量最大的服務(wù)器。
[0011]在一個(gè)實(shí)施例中,從所有資源塊中選擇與視頻應(yīng)用運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊,包括:從所有資源塊中選擇資源占用量小于閾值、資源實(shí)時(shí)剩余容量大于視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施的需求量且資源估計(jì)剩余容量大于視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施的需求量的資源塊,組成候選資源塊集合;從所述候選資源塊集合中選擇與當(dāng)前物理基礎(chǔ)設(shè)施的資源剩余可用容量最小的服務(wù)器關(guān)聯(lián)的資源塊。
[0012]在一個(gè)實(shí)施例中,還包括:將所述視頻應(yīng)用部署到與選擇出的資源塊關(guān)聯(lián)的服務(wù)器上之后,在所述視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施增需求量增大后,從所述服務(wù)器上除了所述選擇出的資源塊之外的其他資源塊中,重新選擇與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊,并在所述服務(wù)器上采用新選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行所述視頻應(yīng)用。
[0013]在一個(gè)實(shí)施例中,如果未選擇出與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊,所述方法還包括:在所述多個(gè)服務(wù)器除了所述服務(wù)器之外的其他服務(wù)器關(guān)聯(lián)的資源塊中,再次選擇與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊;將所述視頻應(yīng)用的進(jìn)程迀移到與再次選擇出的資源塊關(guān)聯(lián)的服務(wù)器上,并在該服務(wù)器上采用與再次選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行所述視頻應(yīng)用。
[0014]在一個(gè)實(shí)施例中,對(duì)服務(wù)器進(jìn)行注冊(cè)之后,還包括:與服務(wù)器通信獲取服務(wù)器的基本信息,對(duì)所述基本信息進(jìn)行MD5簽名并存儲(chǔ);與服務(wù)器通信獲取服務(wù)器的服務(wù)器標(biāo)識(shí)和基本信息的MD5簽名;在存儲(chǔ)的基本信息MD5簽名中,查找與獲取的服務(wù)器標(biāo)識(shí)對(duì)應(yīng)的基本信息MD5簽名;將獲取的基本信息MD5簽名與查找到的基本信息MD5簽名進(jìn)行比對(duì),如果不一致,則重新獲取與服務(wù)器標(biāo)識(shí)對(duì)應(yīng)的服務(wù)器的基本信息,根據(jù)該基本信息修改存儲(chǔ)的基本信息MD5簽名。
[0015]本發(fā)明實(shí)施例還提供了一種面向視頻應(yīng)用的虛擬化資源管理裝置,以提出一種可以進(jìn)行更細(xì)粒度的資源調(diào)度并可以抽象化管理視頻應(yīng)用的物理基礎(chǔ)設(shè)施的資源管理方案。該裝置包括:資源管理模塊,用于對(duì)服務(wù)器進(jìn)行注冊(cè)后,對(duì)每個(gè)運(yùn)行視頻應(yīng)用所需的資源塊,根據(jù)資源配置信息,從多個(gè)服務(wù)器中選擇符合建立資源塊條件的服務(wù)器,并在該資源塊與選擇出的服務(wù)器之間建立關(guān)聯(lián)關(guān)系,其中,服務(wù)器承載運(yùn)行視頻應(yīng)用所需的各物理基礎(chǔ)設(shè)施;資源調(diào)度模塊,用于從所有資源塊中選擇與視頻應(yīng)用運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊;視頻應(yīng)用管理模塊,用于將視頻應(yīng)用部署到與選擇出的資源塊關(guān)聯(lián)的服務(wù)器上,并在該服務(wù)器上采用選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行視頻應(yīng)用。
[0016]在一個(gè)實(shí)施例中,所述資源配置信息包括:名稱、操作系統(tǒng)類型、資源類型和各項(xiàng)資源的需求量,服務(wù)器的類型包括物理服務(wù)器和虛擬服務(wù)器,所述資源管理模塊,包括:月艮務(wù)器選擇單元,用于從多個(gè)服務(wù)器中選擇操作系統(tǒng)類型與資源配置信息中的操作系統(tǒng)類型相同、服務(wù)器的類型與資源類型相同且各項(xiàng)資源的需求量小于服務(wù)器承載的各物理基礎(chǔ)設(shè)施的資源可用容量的服務(wù)器,組成服務(wù)器候選集合;資源管理單元,用于從服務(wù)器候選集合中選擇當(dāng)前物理基礎(chǔ)設(shè)施的資源剩余可用容量最大的服務(wù)器,建立資源塊。
[0017]在一個(gè)實(shí)施例中,資源管理單元,包括:第一資源管理單元,用于從服務(wù)器候選集合中選擇各項(xiàng)物理基礎(chǔ)設(shè)施的資源剩余可用容量均是最大的服務(wù)器;或者確定單元,用于確定各項(xiàng)物理基礎(chǔ)設(shè)施中需求量占比最大的物理基礎(chǔ)設(shè)施;第二資源管理單元,用于從服務(wù)器候選集合中選擇確定出的物理基礎(chǔ)設(shè)施的資源剩余可用容量最大的服務(wù)器。
[0018]在一個(gè)實(shí)施例中,資源調(diào)度模塊,包括:資源塊預(yù)選單元,用于從所有資源塊中選擇資源占用量小于閾值、資源實(shí)時(shí)剩余容量大于視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施的需求量且資源估計(jì)剩余容量大于視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施的需求量的資源塊,組成候選資源塊集合;資源調(diào)度單元,用于從所述候選資源塊集合中選擇與當(dāng)前物理基礎(chǔ)設(shè)施的資源剩余可用容量最小的服務(wù)器關(guān)聯(lián)的資源塊。
[0019]在一個(gè)實(shí)施例中,還包括:第一資源優(yōu)化模塊,用于將所述視頻應(yīng)用部署到與選擇出的資源塊關(guān)聯(lián)的服務(wù)器上之后,在所述視頻應(yīng)用運(yùn)行對(duì)物理基礎(chǔ)設(shè)施增需求量增大后,從所述服務(wù)器上除了所述選擇出的資源塊之外的其他資源塊中,重新選擇與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊;所述視頻應(yīng)用管理模塊,還用于在所述服務(wù)器上采用新選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行所述視頻應(yīng)用。
[0020]在一個(gè)實(shí)施例中,還包括:第二資源優(yōu)化模塊,用于如果未選擇出與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊,在所述多個(gè)服務(wù)器除了所述服務(wù)器之外的其他服務(wù)器關(guān)聯(lián)的資源塊中,再次選擇與所述視頻應(yīng)用當(dāng)前運(yùn)行所需求物理基礎(chǔ)設(shè)施對(duì)應(yīng)的資源塊;所述視頻應(yīng)用管理模塊,還用于將所述視頻應(yīng)用的進(jìn)程迀移到與再次選擇出的資源塊關(guān)聯(lián)的服務(wù)器上,并在該服務(wù)器上采用與再次選擇出的資源塊對(duì)應(yīng)的物理基礎(chǔ)設(shè)施運(yùn)行所述視頻應(yīng)用。
[0021]在一個(gè)實(shí)施例中,還包括:基本信息獲取模塊,用于對(duì)服務(wù)器進(jìn)行注冊(cè)之后,與服務(wù)器通信獲取服務(wù)器的基本信息,對(duì)基本信息進(jìn)行MD5簽名并存儲(chǔ);MD5簽名獲取模塊,用于與服務(wù)器通信獲取服務(wù)器的服務(wù)器標(biāo)識(shí)和基本信息MD5簽名;查找模塊,用于在存儲(chǔ)的基本信息MD5簽名中,查找與獲取的服務(wù)器標(biāo)識(shí)對(duì)應(yīng)的基本信息MD5簽名;基本信息修改模塊,用于將獲取的基