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