本發(fā)明屬于云計(jì)算技術(shù)領(lǐng)域,具體涉及一種云計(jì)算平臺中物理層與虛擬層的時(shí)間同步方法。
背景技術(shù):
云平臺采用虛擬化技術(shù)實(shí)現(xiàn)物理資源的整合或劃分,通過創(chuàng)建虛擬機(jī)來構(gòu)建虛擬層;虛擬層中運(yùn)行的虛擬機(jī)單元也稱作虛擬節(jié)點(diǎn),用戶請求被拆分到不同的虛擬節(jié)點(diǎn)中執(zhí)行分布式處理;物理資源,包括計(jì)算、存儲、網(wǎng)絡(luò)等資源,是云平臺的基礎(chǔ)設(shè)施,構(gòu)成了云平臺的物理層,其中每個資源為物理節(jié)點(diǎn)。
在云平臺廣泛使用的今天,云平臺時(shí)間同步問題已成為必須去面對并解決的問題。云平臺的時(shí)間同步包含云平臺虛擬層時(shí)間同步和云平臺物理層時(shí)間同步兩部分內(nèi)容,目前廣泛使用的云平臺時(shí)間同步技術(shù)主要分為兩種:第一種技術(shù)是由云平臺自身實(shí)現(xiàn)物理層時(shí)間同步,虛擬層用戶根據(jù)需要實(shí)現(xiàn)虛擬層時(shí)間同步;華為云平臺的時(shí)間同步采用該技術(shù)方案;第二種技術(shù)是在物理層時(shí)間同步基礎(chǔ)上,通過物理層定時(shí)向虛擬層進(jìn)行時(shí)間發(fā)播,實(shí)現(xiàn)虛擬層時(shí)間同步,麒麟云平臺的時(shí)間同步采用該技術(shù)方案。測試數(shù)據(jù)表明:在局域網(wǎng)環(huán)境下,采用以上任何一種云平臺時(shí)間同步方案,物理層的時(shí)間同步精度達(dá)到1ms、虛擬層的時(shí)間同步精度到達(dá)10ms,虛擬層的時(shí)間同步精度較物理層降低一個數(shù)量級。
綜上所述,現(xiàn)有云平臺網(wǎng)絡(luò)時(shí)間同步技術(shù)存在以下缺點(diǎn):
(1)需要分別實(shí)現(xiàn)物理層、虛擬層時(shí)間同步,增加額外的計(jì)算和維護(hù)成本;
無論采用分別在物理層、虛擬層實(shí)現(xiàn)時(shí)間同步,還是采用物理層向虛擬層的同步時(shí)間發(fā)播技術(shù),都需要在物理層時(shí)間同步的同時(shí)考慮虛擬層時(shí)間同步,增加了額外的計(jì)算和維護(hù)成本。
(2)虛擬層守時(shí)精度低;
物理層時(shí)鐘保持采用晶振實(shí)現(xiàn),守時(shí)精度能達(dá)到1e-5;虛擬層的時(shí)鐘保持采用軟件定時(shí)器實(shí)現(xiàn),存在守時(shí)穩(wěn)定度低、可靠度差的問題,導(dǎo)致虛擬層的守時(shí)能力無法保證。即使實(shí)現(xiàn)虛擬層時(shí)間同步,只能對虛擬層時(shí)間進(jìn)行定時(shí)校準(zhǔn),無法改變虛擬層守時(shí)精度低的固有弊端。
(3)虛擬層時(shí)間同步精度低;
無論采用分別在物理層、虛擬層實(shí)現(xiàn)時(shí)間同步,還是采用物理層向虛擬層的同步時(shí)間發(fā)播技術(shù),虛擬層的時(shí)間同步精度要比物理層低一個數(shù)量級。其原因在于虛擬層的本質(zhì)是運(yùn)行在物理層的一組應(yīng)用進(jìn)程,受到物理層硬件cpu調(diào)度機(jī)制、虛擬層內(nèi)模擬cpu調(diào)度機(jī)制雙重影響,虛擬層無法達(dá)到和物理層一致的時(shí)間同步精度。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明公開了一種云平臺時(shí)間同步方法,可以實(shí)現(xiàn)云平臺物理層時(shí)間同步、物理層與虛擬層的時(shí)間共享以及虛擬層時(shí)間同步,有效提升虛擬層守時(shí)精度和時(shí)間同步精度。
技術(shù)方案:本發(fā)明采用如下技術(shù)方案:一種云平臺時(shí)間同步方法,包括如下步驟:
(1)設(shè)置時(shí)間服務(wù)器,所述時(shí)間服務(wù)器用于接收外部基準(zhǔn)時(shí)間;
(2)將物理層的所有物理節(jié)點(diǎn)設(shè)置時(shí)間同步優(yōu)先級,時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步;
(3)虛擬層應(yīng)用軟件獲取虛擬節(jié)點(diǎn)駐留的物理節(jié)點(diǎn)的機(jī)器時(shí)間。
所述時(shí)間服務(wù)器設(shè)置有衛(wèi)星接收模塊用于接收標(biāo)準(zhǔn)utc時(shí)間;為實(shí)現(xiàn)高精度守時(shí)功能,所述時(shí)間服務(wù)器還設(shè)置有原子鐘模塊。
物理層的所有物理節(jié)點(diǎn)可以按照多種規(guī)則設(shè)置時(shí)間同步優(yōu)先級,本發(fā)明中優(yōu)選按照物理節(jié)點(diǎn)的可靠性設(shè)置時(shí)間同步優(yōu)先級,可靠性最高的物理節(jié)點(diǎn)的時(shí)間同步優(yōu)先級最高。
時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器采用ntp協(xié)議進(jìn)行時(shí)間同步;其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)也采用ntp協(xié)議進(jìn)行時(shí)間同步。
當(dāng)時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)裁撤或故障時(shí),選取時(shí)間同步優(yōu)先級別次高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別次高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步;當(dāng)時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)重新部署或恢復(fù)正常時(shí),時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步。
所述步驟(3)包括如下步驟:
(3.1)虛擬層應(yīng)用軟件調(diào)用時(shí)間獲取函數(shù);
(3.2)云平臺軟件讀取虛擬節(jié)點(diǎn)駐留的物理節(jié)點(diǎn)機(jī)器時(shí)間,并返回給虛擬層應(yīng)用軟件。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明公開的云平臺時(shí)間同步方法具有以下優(yōu)點(diǎn):1、實(shí)現(xiàn)了云平臺物理層時(shí)間同步、物理層與虛擬層的時(shí)間共享以及虛擬層時(shí)間同步;2、虛擬層直接訪問物理層時(shí)鐘資源技術(shù),虛擬層共享物理層的時(shí)間同步結(jié)果與時(shí)間保持結(jié)果,虛擬層的時(shí)間同步精度、守時(shí)精度提升到與物理層相同,守時(shí)精度達(dá)到1e-5;3、虛擬層不需要額外時(shí)間同步與維持的計(jì)算和維護(hù)成本。
附圖說明
圖1是本發(fā)明公開的云平臺時(shí)間同步方法的體系結(jié)構(gòu)圖;
圖2是實(shí)施例中虛擬機(jī)內(nèi)應(yīng)用軟件的天文時(shí)間函數(shù)調(diào)用時(shí)序圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式,進(jìn)一步闡明本發(fā)明。
如圖1所示,是本發(fā)明公開的云平臺時(shí)間同步方法的體系結(jié)構(gòu)圖,1為時(shí)間服務(wù)器,用于接收外部基準(zhǔn)時(shí)間;2為物理層,其中包含了一定數(shù)量的物理節(jié)點(diǎn)3;采用虛擬化技術(shù),創(chuàng)建出若干虛擬機(jī)5構(gòu)建虛擬層4。
本發(fā)明公開的云平臺時(shí)間同步方法具體描述如下:
步驟1:設(shè)置時(shí)間服務(wù)器,所述時(shí)間服務(wù)器用于接收外部基準(zhǔn)時(shí)間;
本實(shí)施例中,時(shí)間服務(wù)器1上設(shè)置有衛(wèi)星接收模塊和原子鐘模塊,衛(wèi)星接收模塊用于接收標(biāo)準(zhǔn)utc時(shí)間,為了更可靠地接收utc時(shí)間,采用多模衛(wèi)星接收模塊,包括gps授時(shí)信號的接收和北斗授時(shí)信號的接收。原子鐘模塊用于實(shí)現(xiàn)高精度守時(shí)。
步驟2:對物理層的所有物理節(jié)點(diǎn)設(shè)置時(shí)間同步優(yōu)先級,時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步;
本實(shí)施例中按照物理節(jié)點(diǎn)的可靠性設(shè)置時(shí)間同步優(yōu)先級,可靠性最高的物理節(jié)點(diǎn)的時(shí)間同步優(yōu)先級最高,圖1中6為最高時(shí)間優(yōu)先級的物理節(jié)點(diǎn)。
本實(shí)施例中時(shí)間服務(wù)器上裝配時(shí)間發(fā)播模塊,采用ntp協(xié)議向時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)發(fā)播標(biāo)準(zhǔn)utc時(shí)間,實(shí)現(xiàn)時(shí)間同步;其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)也采用ntp協(xié)議進(jìn)行時(shí)間同步,由此實(shí)現(xiàn)了物理層的時(shí)間同步與高精度的守時(shí)。
當(dāng)時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)6裁撤或故障時(shí),選取時(shí)間同步優(yōu)先級別次高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別次高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步;當(dāng)時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)重新部署或恢復(fù)正常時(shí),時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)與時(shí)間服務(wù)器進(jìn)行時(shí)間同步,其余物理節(jié)點(diǎn)與時(shí)間同步優(yōu)先級別最高的物理節(jié)點(diǎn)進(jìn)行時(shí)間同步。
步驟3:虛擬層應(yīng)用軟件獲取虛擬節(jié)點(diǎn)駐留的物理節(jié)點(diǎn)的機(jī)器時(shí)間;具體包括:
(3.1)虛擬層應(yīng)用軟件調(diào)用時(shí)間獲取函數(shù);
(3.2)云平臺軟件讀取虛擬節(jié)點(diǎn)駐留的物理節(jié)點(diǎn)機(jī)器時(shí)間,并返回給虛擬層應(yīng)用軟件。
以虛擬層應(yīng)用軟件獲取時(shí)間為例,如圖2所示,虛擬層應(yīng)用軟件調(diào)用時(shí)間獲取函數(shù),此函數(shù)通過云平臺軟件獲取虛擬層應(yīng)用軟件駐留的物理節(jié)點(diǎn)的機(jī)器時(shí)間,并返回給虛擬層應(yīng)用軟件。