基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái)的制作方法
【專利摘要】基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,為由Windows操作系統(tǒng)、TCP/IP協(xié)議、以太網(wǎng)構(gòu)建的分布式系統(tǒng)提供實(shí)時(shí)通信能力。它包括運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)以及運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng);前者包含實(shí)時(shí)通信協(xié)議棧主站模塊、時(shí)間同步算法主站模塊和RTX設(shè)備驅(qū)動(dòng)模塊;后者包含支持實(shí)時(shí)虛擬通信機(jī)的VMM模塊、實(shí)時(shí)協(xié)議棧從站模塊以及時(shí)間同步算法從站模塊。實(shí)現(xiàn)使用實(shí)時(shí)通信平臺(tái)來完成數(shù)據(jù)的實(shí)時(shí)、確定傳輸;保證應(yīng)用之間的數(shù)據(jù)實(shí)時(shí)有效性,為分布式系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互提供支持;在實(shí)時(shí)通信的基礎(chǔ)上提供了高精度實(shí)時(shí)時(shí)鐘功能,通過內(nèi)置的校時(shí)機(jī)制提供系統(tǒng)級(jí)高精度時(shí)間,保證分布式系統(tǒng)內(nèi)每個(gè)節(jié)點(diǎn)的時(shí)鐘一致性,為分布式系統(tǒng)提供一致的時(shí)間標(biāo)尺。
【專利說明】基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái)
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種實(shí)時(shí)通信平臺(tái),涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]眾所周知,現(xiàn)在是網(wǎng)絡(luò)的時(shí)代。單獨(dú)一臺(tái)計(jì)算機(jī)并不能提供足夠豐富的信息,只有網(wǎng)絡(luò)互連,資源共享才能夠滿足人類對(duì)信息需求量的日益增長。在網(wǎng)絡(luò)互連的過程中,通信的質(zhì)量以及速度就變成了人們關(guān)注的話題。
[0003]不僅僅是互聯(lián)網(wǎng),本地的局域網(wǎng)也面臨著通信質(zhì)量的問題。例如,一個(gè)由多臺(tái)主機(jī)構(gòu)成一個(gè)分布式的網(wǎng)絡(luò)環(huán)境,如何保證各個(gè)主機(jī)之間通信質(zhì)量的確定性,如何在現(xiàn)有的通信環(huán)境下保證通信的實(shí)時(shí)性,均是需要解決的問題。
[0004]當(dāng)前,接入網(wǎng)絡(luò)最多的終端設(shè)備仍然是PC機(jī)。而在PC機(jī)上運(yùn)行的操作系統(tǒng),Windows仍占有絕對(duì)大的份額。Windows操作系統(tǒng)是一種非實(shí)時(shí)的操作系統(tǒng),它的進(jìn)程調(diào)度、時(shí)間服務(wù)等核心機(jī)制均不具備確定性,因此其通信機(jī)制也隨著這些不確定而不具備實(shí)時(shí)性。
[0005]這樣,在一個(gè)較大的由多臺(tái)主機(jī)構(gòu)成的分布式網(wǎng)絡(luò)環(huán)境中,各主機(jī)間的通信就不具備確定性與實(shí)時(shí)性。而在大多數(shù)的分布式環(huán)境中,主機(jī)之間傳輸?shù)囊恍╆P(guān)鍵數(shù)據(jù)均需要保證在一定的期限內(nèi),準(zhǔn)確無誤的完成傳輸,也就是說,部署的系統(tǒng)對(duì)一個(gè)實(shí)時(shí)的、確定的通信環(huán)境有著強(qiáng)烈的需求,而當(dāng)前Windows的通信環(huán)境無法保證。本發(fā)明就是基于這樣的需求與約束,提出了一種基于分核技術(shù)的實(shí)時(shí)通信方案。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),以滿足基于Windows操作系統(tǒng)、TCP/IP協(xié)議、以太網(wǎng)構(gòu)建的分布式系統(tǒng)的實(shí)時(shí)通信要求;即為由Windows操作系統(tǒng)、TCP/IP協(xié)議、以太網(wǎng)構(gòu)建的分布式系統(tǒng)提供實(shí)時(shí)通信能力。
[0007]本發(fā)明為解決上述技術(shù)問題采取的技術(shù)方案是:
[0008]一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),所述實(shí)時(shí)通信平臺(tái)應(yīng)用于由一個(gè)校時(shí)主節(jié)點(diǎn)和多個(gè)校時(shí)從節(jié)點(diǎn)組成的局域的分布式實(shí)時(shí)系統(tǒng),所述實(shí)時(shí)通信平臺(tái)用于實(shí)現(xiàn)分布式系統(tǒng)間各Windows應(yīng)用程序的實(shí)時(shí)通信以及各節(jié)點(diǎn)間的時(shí)鐘精確同步;它包括運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)以及運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng);
[0009]運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)工作在RTX環(huán)境下,它包含實(shí)時(shí)通信協(xié)議棧主站模塊、時(shí)間同步算法主站模塊和RTX設(shè)備驅(qū)動(dòng)模塊,
[0010]實(shí)時(shí)通信協(xié)議棧主站模塊用于以RTX下的實(shí)時(shí)線程形式提供服務(wù),同時(shí)使用RTX提供的標(biāo)準(zhǔn)網(wǎng)卡驅(qū)動(dòng)接口完成數(shù)據(jù)的底層傳輸;通過RTX提供的IPC機(jī)制為時(shí)間同步算法主站模塊提供實(shí)時(shí)Socket接口,
[0011]時(shí)間同步算法主站模塊用于采用IEEE1588PTP精密時(shí)鐘同步協(xié)議對(duì)所述實(shí)時(shí)通信平臺(tái)的時(shí)間同步校時(shí),時(shí)間同步算法主站模塊實(shí)現(xiàn)為RTX下的實(shí)時(shí)線程形式,線程使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源;時(shí)間同步算法主站模塊還用于通過RTX的IPC機(jī)制使用實(shí)時(shí)協(xié)議棧提供的服務(wù),
[0012]RTX設(shè)備驅(qū)動(dòng)模塊包括RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊以及RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊;RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊用于為RTX線程提供訪問保存于實(shí)時(shí)時(shí)鐘芯片中的時(shí)間數(shù)據(jù)的一致接口 ;RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊用于為RTX線程提供訪問網(wǎng)卡的一致接口,所述接口均需要符合RTX驅(qū)動(dòng)程序標(biāo)準(zhǔn);其中,RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊還用于提供本地的時(shí)鐘信息,作為系統(tǒng)精確時(shí)鐘源;RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊還用于為實(shí)時(shí)協(xié)議棧提供對(duì)硬件的操作API ;
[0013]運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng)包含支持實(shí)時(shí)虛擬通信機(jī)的VMM模塊、實(shí)時(shí)協(xié)議棧從站模塊以及時(shí)間同步算法從站模塊;
[0014]實(shí)時(shí)虛擬通信機(jī)模塊(實(shí)時(shí)虛擬通信機(jī)VMM)用于對(duì)實(shí)時(shí)通信網(wǎng)卡以及時(shí)鐘芯片進(jìn)行設(shè)備管理,為校時(shí)從節(jié)點(diǎn)工作的基礎(chǔ);時(shí)間同步算法從站模以及實(shí)時(shí)協(xié)議棧從站模塊均運(yùn)行在實(shí)時(shí)虛擬通信機(jī)模塊上;
[0015]實(shí)時(shí)通信協(xié)議棧從站模塊將被編譯為image文件,直接在實(shí)時(shí)通信虛擬機(jī)上運(yùn)行,通過接口為Windows應(yīng)用提供服務(wù),并被一同運(yùn)行于實(shí)時(shí)通信虛擬機(jī)上的時(shí)間同步算法從站模塊直接調(diào)用,同時(shí),實(shí)時(shí)協(xié)議棧從站模塊將直接對(duì)網(wǎng)卡進(jìn)行操作;
[0016]時(shí)間同步算法從站模塊采用IEEE1588PTP精密時(shí)鐘同步協(xié)議,使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源;時(shí)間同步算法從站模塊通過內(nèi)部接口使用實(shí)時(shí)協(xié)議棧提供的服務(wù),通過硬件I/o指令訪問或修改從站時(shí)間,確保時(shí)間標(biāo)記精度。
[0017]所述RTX設(shè)備驅(qū)動(dòng)模塊包括RTX實(shí)時(shí)網(wǎng)卡設(shè)備驅(qū)動(dòng)模塊以及RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊;其中RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊實(shí)現(xiàn)的時(shí)鐘源有三個(gè):分別為基于主板實(shí)時(shí)時(shí)鐘RTC芯片的秒級(jí)時(shí)鐘、基于Windows系統(tǒng)時(shí)間的暈秒級(jí)時(shí)鐘以及基于TSC寄存器的納秒級(jí)時(shí)鐘。
[0018]所述RTX實(shí)時(shí)網(wǎng)卡設(shè)備驅(qū)動(dòng)模塊用于在滿足RTX驅(qū)動(dòng)開發(fā)規(guī)范下,對(duì)實(shí)時(shí)網(wǎng)卡芯片進(jìn)行的驅(qū)動(dòng)開發(fā),所述模塊可向上層模塊提供實(shí)時(shí)網(wǎng)卡的操作接口,該模塊還用于完成對(duì)網(wǎng)卡的初始化、發(fā)送數(shù)據(jù)、接受數(shù)據(jù)操作,為實(shí)時(shí)協(xié)議棧提供面向硬件的底層通信能力;
[0019]所述RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊用于在滿足RTX驅(qū)動(dòng)開發(fā)規(guī)范下,對(duì)實(shí)時(shí)時(shí)鐘芯片進(jìn)行的驅(qū)動(dòng)開發(fā),所述模塊可向上層模塊提供實(shí)時(shí)時(shí)鐘的操作接口,該模塊還用于完成對(duì)時(shí)鐘信息的獲取、更改操作,為分布式系統(tǒng)的各個(gè)計(jì)算機(jī)節(jié)點(diǎn)提供高精度、可操作的時(shí)鐘源。
[0020]所述實(shí)時(shí)虛擬通信機(jī)模塊包括VMM初始化功能模塊、虛擬存儲(chǔ)器管理功能模塊和虛擬設(shè)備管理功能模塊。
[0021]所述VMM初始化功能模塊是虛擬機(jī)運(yùn)行的基礎(chǔ),主要用于完成對(duì)處理器的分核處理、實(shí)時(shí)通信網(wǎng)卡綁定到指定處理器核心的處理、核心物理內(nèi)存的分配、裝載虛擬通信機(jī)程序以及建立相關(guān)的VMCS核心數(shù)據(jù)結(jié)構(gòu);通過這些過程,來搭建基本的虛擬機(jī)環(huán)境,為實(shí)時(shí)通信以及校時(shí)算法的運(yùn)行提供基本運(yùn)行支持;
[0022]虛擬存儲(chǔ)器管理功能模塊主要用于為Windows和通信虛擬機(jī)提供存儲(chǔ)保護(hù)和共享內(nèi)存機(jī)制,一方面,可以對(duì)物理內(nèi)存的訪問進(jìn)行隔離,保證Windows不會(huì)越界訪問到通信虛擬機(jī)的私有內(nèi)存,同時(shí)保證通信虛擬機(jī)不會(huì)越界訪問到Windows的私有內(nèi)存;另一方面,為二者的通信建立了共享內(nèi)存,可支持通信虛擬機(jī)與Windows的同時(shí)訪問,完成數(shù)據(jù)交互;
[0023]虛擬設(shè)備管理功能模塊主要用于完成Windows和通信虛擬機(jī)之間的設(shè)備訪問隔離,可截獲Windows對(duì)通信專用網(wǎng)卡的操作(包括設(shè)置、發(fā)送數(shù)據(jù)等),使其不影響通信機(jī)的工作;還用于截獲通信虛擬機(jī)對(duì)Windows設(shè)備的操作,使其不影響Windows的工作。
[0024]本發(fā)明的有益效果是:
[0025]本發(fā)明通過分核技術(shù)、虛擬化技術(shù)的使用以及實(shí)時(shí)通信協(xié)議棧的實(shí)現(xiàn),來滿足基于Windows操作系統(tǒng)、TCP/IP協(xié)議、以太網(wǎng)構(gòu)建的分布式系統(tǒng)的實(shí)時(shí)通信要求。此外,本發(fā)明還在實(shí)時(shí)通信的基礎(chǔ)上,提供了高精度實(shí)時(shí)時(shí)鐘功能,通過內(nèi)置的校時(shí)機(jī)制提供系統(tǒng)級(jí)高精度時(shí)間,為分布式系統(tǒng)提供一致的時(shí)間標(biāo)尺。
[0026]本發(fā)明實(shí)現(xiàn)了使用實(shí)時(shí)通信平臺(tái)來完成數(shù)據(jù)的實(shí)時(shí)、確定傳輸。實(shí)時(shí)通信平臺(tái)保證了應(yīng)用之間的數(shù)據(jù)實(shí)時(shí)有效性,為分布式系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互提供支持;同時(shí),在實(shí)時(shí)通信的基礎(chǔ)上提供了高精度實(shí)時(shí)時(shí)鐘功能,通過內(nèi)置的校時(shí)機(jī)制提供系統(tǒng)級(jí)高精度時(shí)間,保證分布式系統(tǒng)內(nèi)每個(gè)節(jié)點(diǎn)的時(shí)鐘一致性,為分布式系統(tǒng)提供一致的時(shí)間標(biāo)尺。
[0027]本發(fā)明通過處理器分核技術(shù)、虛擬化技術(shù)的使用,以及實(shí)時(shí)通信協(xié)議棧的實(shí)現(xiàn),可為由Windows操作系統(tǒng)、TCP/IP協(xié)議、以太網(wǎng)構(gòu)建的分布式系統(tǒng)提供實(shí)時(shí)通信能力,分布式系統(tǒng)上部署的應(yīng)用可通過本發(fā)明進(jìn)行數(shù)據(jù)的實(shí)時(shí)、確定傳輸。本發(fā)明可為實(shí)時(shí)數(shù)據(jù)的處理與傳輸提供專用的處理器核心、專用的實(shí)時(shí)通信網(wǎng)卡、專用的通信協(xié)議棧,以此保障實(shí)時(shí)數(shù)據(jù)的快速、確定、可預(yù)測(cè)的傳輸,進(jìn)而滿足分布式系統(tǒng)上應(yīng)用對(duì)實(shí)時(shí)通信的需求,保證了應(yīng)用之間的數(shù)據(jù)實(shí)時(shí)有效性,為分布式系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互提供支持。此外,本發(fā)明還在提供實(shí)時(shí)通信能力的基礎(chǔ)上,提供了高精度實(shí)時(shí)時(shí)鐘功能,通過內(nèi)置的校時(shí)機(jī)制提供系統(tǒng)級(jí)高精度時(shí)間,保證分布式系統(tǒng)內(nèi)每個(gè)節(jié)點(diǎn)的時(shí)鐘一致性,為分布式系統(tǒng)提供一致的時(shí)間標(biāo)尺。
【專利附圖】
【附圖說明】
[0028]圖1是本發(fā)明所述實(shí)時(shí)通信平臺(tái)應(yīng)用的分布式系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;圖2是本發(fā)明實(shí)時(shí)通信系統(tǒng)(實(shí)時(shí)通信平臺(tái))架構(gòu)圖,圖3是本發(fā)明實(shí)時(shí)通信平臺(tái)中運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)結(jié)構(gòu)圖(即實(shí)時(shí)通信軟件主節(jié)點(diǎn)子系統(tǒng)結(jié)構(gòu)),圖4是本發(fā)明實(shí)時(shí)通信平臺(tái)中運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng)結(jié)構(gòu)圖(即實(shí)時(shí)通信軟件從節(jié)點(diǎn)子系統(tǒng)結(jié)構(gòu)),圖5是利用本發(fā)明實(shí)現(xiàn)實(shí)時(shí)通信功能執(zhí)行的流程框圖(即Windows應(yīng)用程序間的實(shí)時(shí)通信執(zhí)行),圖6是利用本發(fā)明實(shí)現(xiàn)時(shí)鐘精確同步功能執(zhí)行的流程框圖(即時(shí)間同步算法的執(zhí)行);圖7為安裝利用本發(fā)明技術(shù)方案形成的軟件的主節(jié)點(diǎn)測(cè)試結(jié)果圖;圖8為安裝利用本發(fā)明技術(shù)方案形成的軟件的從節(jié)點(diǎn)測(cè)試結(jié)果圖;圖9為時(shí)鐘精度性能測(cè)試散點(diǎn)圖,圖10為windows-windows通信延遲散點(diǎn)圖,圖11為實(shí)時(shí)通信軟件通信延遲散點(diǎn)圖。
【具體實(shí)施方式】
[0029]結(jié)合圖1?11所示,本實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)描述:
[0030]1、基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái)的體系結(jié)構(gòu)以及各模塊的功能
[0031]基于本發(fā)明技術(shù)方案開發(fā)的軟件主要應(yīng)用于局域的分布式系統(tǒng)(傳統(tǒng)的分布式系統(tǒng)是不具有實(shí)時(shí)能力的,無法提供實(shí)時(shí)通信,只有使用基于本發(fā)明技術(shù)方案開發(fā)的軟件,才會(huì)具有實(shí)時(shí)通信能力),其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。系統(tǒng)由一個(gè)校時(shí)主節(jié)點(diǎn)和多個(gè)校時(shí)從節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)有兩塊以太網(wǎng)網(wǎng)卡,一個(gè)用于非實(shí)時(shí)通信,另一個(gè)用于高精度校時(shí)等實(shí)時(shí)通信。本實(shí)時(shí)通信軟件工作在每一個(gè)節(jié)點(diǎn)上,按照以下2種方式工作來完成功能,提供服務(wù):
[0032]I)在各個(gè)節(jié)點(diǎn)上,Windows應(yīng)用程序?qū)?huì)使用本軟件所提供的實(shí)時(shí)協(xié)議棧,經(jīng)由實(shí)時(shí)通信網(wǎng)卡進(jìn)行數(shù)據(jù)的實(shí)時(shí)交互,實(shí)現(xiàn)實(shí)時(shí)網(wǎng)絡(luò)通信功能。
[0033]2)校時(shí)主節(jié)點(diǎn)根據(jù)IEEE1588PTP精密時(shí)鐘同步協(xié)議定期(缺省是2秒)通過實(shí)時(shí)通信信道向校時(shí)從節(jié)點(diǎn)廣播同步報(bào)文、跟隨報(bào)文等校時(shí)報(bào)文,校時(shí)從節(jié)點(diǎn)根據(jù)收到的時(shí)間同步報(bào)文修正本地時(shí)間,使本地時(shí)間與主時(shí)鐘節(jié)點(diǎn)時(shí)間保持一致,從而實(shí)現(xiàn)系統(tǒng)級(jí)高精度實(shí)時(shí)時(shí)鐘。
[0034]因此,本軟件提供了實(shí)時(shí)通信功能和高精度實(shí)時(shí)時(shí)鐘保障,使Windows應(yīng)用程序可以具備數(shù)據(jù)的實(shí)時(shí)通信能力,同時(shí)保證各節(jié)點(diǎn)的時(shí)鐘高度一致。
[0035]實(shí)時(shí)通信軟件按照運(yùn)行環(huán)境的不同,可分為2個(gè)組成部分,運(yùn)行于校時(shí)主節(jié)點(diǎn)的軟件部分以及運(yùn)行于校時(shí)從節(jié)點(diǎn)的軟件部分。整個(gè)實(shí)時(shí)通信系統(tǒng)架構(gòu)方案如圖2所示,校時(shí)主節(jié)點(diǎn)與校時(shí)從節(jié)點(diǎn)通過千兆以太網(wǎng)進(jìn)行實(shí)時(shí)通信。
[0036]校時(shí)主節(jié)點(diǎn)以Windows和RTX擴(kuò)展為基礎(chǔ)平臺(tái),包含運(yùn)行于RTX上的實(shí)時(shí)通信協(xié)議棧、時(shí)間同步主站算法、RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)、RTX網(wǎng)卡驅(qū)動(dòng)等功能模塊。
[0037]校時(shí)從節(jié)點(diǎn)以分核技術(shù)、虛擬機(jī)技術(shù)為基礎(chǔ),實(shí)現(xiàn)基于實(shí)時(shí)通信虛擬機(jī)的Windows實(shí)時(shí)通信擴(kuò)展。校時(shí)從節(jié)點(diǎn)包括運(yùn)行于實(shí)時(shí)通信虛擬機(jī)中的實(shí)時(shí)通信協(xié)議棧、時(shí)間同步從站算法、實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)、網(wǎng)卡驅(qū)動(dòng)以及作為Windows驅(qū)動(dòng)程序的虛擬機(jī)監(jiān)控軟件VMM等模塊。
[0038]由圖2可知,在校時(shí)主節(jié)點(diǎn)中,Windows應(yīng)用程序可以通過接口調(diào)用實(shí)時(shí)協(xié)議棧所提供的服務(wù),進(jìn)行數(shù)據(jù)的實(shí)時(shí)傳輸,同時(shí)Windows應(yīng)用程序本身工作在Windows操作系統(tǒng)之上,可以通過Windows實(shí)時(shí)驅(qū)動(dòng)獲取實(shí)時(shí)的時(shí)鐘源信息;實(shí)時(shí)協(xié)議棧可以利用RTX網(wǎng)卡驅(qū)動(dòng)模塊使用實(shí)時(shí)通信網(wǎng)卡來傳輸數(shù)據(jù);時(shí)間同步主站算法可以通過RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)獲取時(shí)鐘源信息,同時(shí)利用RTX的IPC機(jī)制獲取實(shí)時(shí)協(xié)議棧所提供的服務(wù),進(jìn)行時(shí)鐘數(shù)據(jù)的實(shí)時(shí)傳輸。需要注意的是,Windows應(yīng)用以及時(shí)間同步主站算法所使用的時(shí)鐘源為同一個(gè),可以保證系統(tǒng)時(shí)間的一致性。
[0039]在校時(shí)從節(jié)點(diǎn)中,實(shí)時(shí)協(xié)議棧以及時(shí)間同步從站算法工作在實(shí)時(shí)虛擬通信機(jī)上,時(shí)間同步算法可以直接調(diào)用協(xié)議棧提供的接口進(jìn)行數(shù)據(jù)傳輸;時(shí)間同步從站算法根據(jù)收到的時(shí)間同步信息,可以通過VMM虛擬存儲(chǔ)管理模塊直接更改從站實(shí)時(shí)時(shí)間芯片,達(dá)到從站與主站的時(shí)間同步;實(shí)時(shí)協(xié)議棧也可以通過VMM虛擬存儲(chǔ)管理模塊直接對(duì)實(shí)時(shí)通信網(wǎng)卡進(jìn)行操作;從站中的Windows應(yīng)用工作在Windows環(huán)境上,通過接口以共享內(nèi)存的形式,與實(shí)時(shí)虛擬通信機(jī)中的接口進(jìn)行通信,完成對(duì)實(shí)時(shí)協(xié)議棧的調(diào)用,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸,與此同時(shí)Windows應(yīng)用程序通過Windows實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)使用與虛擬通信機(jī)同樣的時(shí)鐘芯片,保證系統(tǒng)時(shí)間的一致性。
[0040]這樣,通過各模塊之間的協(xié)同運(yùn)行,即可完成校時(shí)主節(jié)點(diǎn)以及從節(jié)點(diǎn)中Windows應(yīng)用的實(shí)時(shí)數(shù)據(jù)通信支持以及實(shí)時(shí)時(shí)鐘保障。
[0041]1.1主節(jié)點(diǎn)各模塊概述
[0042]如圖3所示,實(shí)時(shí)通信軟件主節(jié)點(diǎn)工作在RTX環(huán)境下,主要包含實(shí)時(shí)通信協(xié)議棧主站模塊、IEEE1588校時(shí)算法主站模塊、RTX設(shè)備驅(qū)動(dòng)模塊。其中,RTX設(shè)備驅(qū)動(dòng)模塊又可以分為RTX實(shí)時(shí)網(wǎng)卡設(shè)備驅(qū)動(dòng)以及RTX時(shí)鐘設(shè)備驅(qū)動(dòng)。其中RTX時(shí)鐘驅(qū)動(dòng)模塊目前實(shí)現(xiàn)的時(shí)鐘源有三個(gè),分別為基于主板實(shí)時(shí)時(shí)鐘RTC芯片的秒級(jí)時(shí)鐘、基于Windows系統(tǒng)時(shí)間的毫秒級(jí)時(shí)鐘以及基于TSC寄存器的納秒級(jí)時(shí)鐘。
[0043]1.1.1實(shí)時(shí)協(xié)議棧主站模塊:
[0044]實(shí)時(shí)通信協(xié)議棧主站模塊實(shí)現(xiàn)為RTX下的實(shí)時(shí)線程形式,通過RTX提供的IPC機(jī)制為時(shí)間同步主站算法模塊提供實(shí)時(shí)Socket接口。本軟件提供的實(shí)時(shí)通信協(xié)議棧將對(duì)傳統(tǒng)協(xié)議棧進(jìn)行重新設(shè)計(jì),達(dá)到更好的傳輸速度,滿足系統(tǒng)的實(shí)時(shí)性需求。
[0045]傳統(tǒng)的TCP/UDP/IP協(xié)議棧為廣域網(wǎng)的傳輸環(huán)境而設(shè)計(jì),然而我們要滿足的分布式系統(tǒng)運(yùn)行于以高速千兆以太網(wǎng)為通信媒介的局域網(wǎng)中,物理環(huán)境和廣域網(wǎng)有很大不同,這些都導(dǎo)致了傳統(tǒng)的網(wǎng)絡(luò)協(xié)議設(shè)計(jì)無法最佳的滿足系統(tǒng)的運(yùn)行要求。因此,為了達(dá)到所需要的實(shí)時(shí)通信需求,需要重新開發(fā)實(shí)時(shí)協(xié)議棧,同時(shí),為了能夠使Windows應(yīng)用程序很好的應(yīng)用實(shí)時(shí)協(xié)議棧,協(xié)議棧的開發(fā)還要遵循傳統(tǒng)TCP/IP的設(shè)計(jì)層次與接口規(guī)范。
[0046]1.1.2時(shí)間同步算法主站模塊:
[0047]整個(gè)軟件的時(shí)間同步校時(shí)方法采用IEEE1588PTP精密時(shí)鐘同步協(xié)議。時(shí)間同步算法主站模塊實(shí)現(xiàn)為RTX下的實(shí)時(shí)線程形式。時(shí)間同步主站算法線程使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源。時(shí)間同步主站算法通過RTX的IPC機(jī)制使用實(shí)時(shí)協(xié)議棧提供的服務(wù)。
[0048]該線程在RTX實(shí)時(shí)子系統(tǒng)RTSS的調(diào)度下運(yùn)行,可以充分利用RTX的實(shí)時(shí)調(diào)度能力,確保校時(shí)數(shù)據(jù)的快速發(fā)送與接收,提高時(shí)間標(biāo)記精度。時(shí)間同步主站算法線程使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源,確保時(shí)鐘源的時(shí)間精度。使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源,還可以使得基于Windows的應(yīng)用程序與基于RTX的時(shí)間同步算法線程共享同一時(shí)鐘源,保證系統(tǒng)時(shí)間的一致性。此外,時(shí)間同步算法線程通過RTX的實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)訪問實(shí)時(shí)時(shí)鐘芯片,通過RTX的IPC機(jī)制使用實(shí)時(shí)協(xié)議棧提供的服務(wù)。
[0049]1.1.3RTX設(shè)備驅(qū)動(dòng)模塊:
[0050]在本系統(tǒng)中,RTX的設(shè)備驅(qū)動(dòng)均在校時(shí)主節(jié)點(diǎn)上,可分為2部分,包括實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)以及RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)。RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)為RTX線程提供訪問保存于實(shí)時(shí)時(shí)鐘芯片中的時(shí)間數(shù)據(jù)的一致接口,RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)為RTX線程提供訪問網(wǎng)卡的一致接口,接口均需要符合RTX驅(qū)動(dòng)程序標(biāo)準(zhǔn)。
[0051]這兩種驅(qū)動(dòng)均是為時(shí)間同步算法服務(wù)。其中,RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)將直接為算法提供本地的時(shí)鐘信息,作為系統(tǒng)精確時(shí)鐘源;RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)主要為實(shí)時(shí)協(xié)議棧提供對(duì)硬件的操作API。
[0052]1.2從節(jié)點(diǎn)各模塊概述
[0053]如圖4所示,實(shí)時(shí)通信軟件從節(jié)點(diǎn)子系統(tǒng)主要包含支持實(shí)時(shí)虛擬通信機(jī)的VMM模塊、實(shí)時(shí)協(xié)議棧從站模塊以及時(shí)間同步算法從站模塊。同時(shí),從節(jié)點(diǎn)子系統(tǒng)內(nèi)對(duì)實(shí)時(shí)網(wǎng)卡的操作被包含在實(shí)時(shí)協(xié)議棧從站模塊中,對(duì)時(shí)鐘芯片的操作被包含在時(shí)間同步算法從站模塊中。
[0054]1.2.1實(shí)時(shí)虛擬通信機(jī)模塊:
[0055]實(shí)時(shí)虛擬通信機(jī)VMM是校時(shí)從節(jié)點(diǎn)工作的基礎(chǔ)。時(shí)間同步從站算法以及實(shí)時(shí)協(xié)議棧均是運(yùn)行在虛擬機(jī)上的,同時(shí),VMM對(duì)實(shí)時(shí)通信網(wǎng)卡以及時(shí)鐘芯片進(jìn)行設(shè)備管理。VMM包括VMM初始化、虛擬存儲(chǔ)器管理、虛擬設(shè)備管理三個(gè)功能模塊。[0056]1.2.2實(shí)時(shí)協(xié)議棧從站模塊:
[0057]實(shí)時(shí)通信協(xié)議棧與時(shí)間同步算法實(shí)現(xiàn)在一個(gè)IMAGE文件中,由VMM加載運(yùn)行。運(yùn)行于校時(shí)從節(jié)點(diǎn)的實(shí)時(shí)協(xié)議棧和運(yùn)行于校時(shí)主節(jié)點(diǎn)的協(xié)議棧,其兩者的內(nèi)部模塊組成是一致的。不同的是,運(yùn)行于校時(shí)主節(jié)點(diǎn)的實(shí)時(shí)協(xié)議棧將以RTX下實(shí)時(shí)進(jìn)程的形式為其他應(yīng)用提供服務(wù),同時(shí)使用RTX提供的標(biāo)準(zhǔn)網(wǎng)卡驅(qū)動(dòng)接口完成數(shù)據(jù)的底層傳輸;而運(yùn)行于校時(shí)從節(jié)點(diǎn)的實(shí)時(shí)協(xié)議棧將被編譯為image文件,直接在實(shí)時(shí)通信虛擬機(jī)上運(yùn)行,通過接口為Windows應(yīng)用提供服務(wù),并被一同運(yùn)行于實(shí)時(shí)通信虛擬機(jī)上的校時(shí)算法直接調(diào)用,同時(shí),從節(jié)點(diǎn)協(xié)議棧將直接對(duì)網(wǎng)卡進(jìn)行操作,而無需標(biāo)準(zhǔn)的驅(qū)動(dòng)接口。
[0058]1.2.3時(shí)間同步算法從站模塊:
[0059]在本系統(tǒng)中,軟件的時(shí)間同步校時(shí)方法采用IEEE1588PTP精密時(shí)鐘同步協(xié)議。由于實(shí)時(shí)虛擬通信機(jī)上沒有操作系統(tǒng),運(yùn)行于實(shí)時(shí)虛擬通信機(jī)中的實(shí)時(shí)通信協(xié)議與時(shí)間同步從站算法實(shí)現(xiàn)在一個(gè)IMAGE文件中,由VMM加載運(yùn)行。時(shí)間同步從站算法使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源,確保時(shí)鐘源的時(shí)間精度。使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源,還可以使得基于Windows的應(yīng)用程序與基于RTX的時(shí)間同步算法線程共享同一時(shí)鐘源,保證系統(tǒng)時(shí)間的一致性。時(shí)間同步從站算法通過內(nèi)部接口使用實(shí)時(shí)協(xié)議棧提供的服務(wù),通過硬件I/O指令訪問(或修改)從站時(shí)間,確保時(shí)間標(biāo)記精度。
[0060]1.3主從節(jié)點(diǎn)各模塊之間的執(zhí)行關(guān)系
[0061]實(shí)時(shí)通信軟件主要提供了分布式系統(tǒng)間各Windows應(yīng)用程序的實(shí)時(shí)通信功能,以及各節(jié)點(diǎn)間的時(shí)鐘精確同步功能。
[0062]1.3.1實(shí)時(shí)通信功能執(zhí)行方案:
[0063]實(shí)時(shí)通信軟件通過分核技術(shù)、虛擬化技術(shù)以及實(shí)時(shí)協(xié)議棧技術(shù),支持分布式系統(tǒng)中各Windows應(yīng)用程序間的實(shí)時(shí)通信。在通信過程中,涉及到實(shí)時(shí)通信協(xié)議棧模塊、RTX設(shè)備驅(qū)動(dòng)模塊、VMM模塊以及各接口。軟件執(zhí)行過程如下圖5所示。
[0064]圖中方框內(nèi)容表示的是在完成Windows應(yīng)用程序間實(shí)時(shí)通信功能中,所涉及的校時(shí)主節(jié)點(diǎn)與校時(shí)從節(jié)點(diǎn)中的功能模塊;雙向箭頭表示各個(gè)模塊之間的相互作用關(guān)系,也表示了系統(tǒng)中數(shù)據(jù)的流向?yàn)殡p向,即不僅可以從校時(shí)主節(jié)點(diǎn)應(yīng)用程序向校時(shí)從節(jié)點(diǎn)應(yīng)用程序傳輸數(shù)據(jù),相反也可以。
[0065]圖中注釋部分是以校時(shí)主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送數(shù)據(jù)為例,闡述了各模塊之間的相互作用。在校時(shí)主節(jié)點(diǎn)中,Windows應(yīng)用程將通過主節(jié)點(diǎn)應(yīng)用接口(注釋1),跨系統(tǒng)使用運(yùn)行在RTX上的實(shí)時(shí)協(xié)議棧進(jìn)行數(shù)據(jù)的傳輸;運(yùn)行于RTX上的實(shí)時(shí)協(xié)議棧(注釋2)也將應(yīng)用RTX實(shí)時(shí)通信網(wǎng)卡驅(qū)動(dòng)(注釋3)來完成數(shù)據(jù)的傳輸。數(shù)據(jù)在千兆以太網(wǎng)上進(jìn)行傳輸(注釋4)。
[0066]在校時(shí)從節(jié)點(diǎn)上,運(yùn)行于虛擬通信機(jī)上的實(shí)時(shí)協(xié)議棧將直接載VMM設(shè)備管理的保護(hù)下對(duì)實(shí)時(shí)通信網(wǎng)卡進(jìn)行編程(注釋5),當(dāng)網(wǎng)卡收到數(shù)據(jù),則產(chǎn)生中斷觸發(fā)數(shù)據(jù)接收任務(wù),獲取數(shù)據(jù)。Windows應(yīng)用程則通過接口(注釋7、8)利用VMM的虛擬存儲(chǔ)管理共享內(nèi)存機(jī)制調(diào)用運(yùn)行于虛擬通信機(jī)上的實(shí)時(shí)協(xié)議棧(注釋6),進(jìn)行數(shù)據(jù)的傳輸以及數(shù)據(jù)的獲取。
[0067]1.3.2,時(shí)鐘精確同步功能執(zhí)行方案:
[0068]實(shí)時(shí)通信軟件通過虛擬化技術(shù)以及實(shí)時(shí)協(xié)議棧技術(shù),支持分布式系統(tǒng)中各節(jié)點(diǎn)間的時(shí)鐘精確同步功能。涉及了時(shí)間同步主站、從站算法模塊、實(shí)時(shí)協(xié)議棧模塊、RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)模塊、VMM時(shí)鐘芯片管理模塊以及VMM網(wǎng)卡管理模塊。如下圖6所示。[0069]圖中方框內(nèi)容表示的是在完成各節(jié)點(diǎn)間時(shí)間同步功能中,所涉及的校時(shí)主節(jié)點(diǎn)與校時(shí)從節(jié)點(diǎn)中的功能模塊;圖中雙向箭頭表示各個(gè)模塊之間的數(shù)據(jù)流向是雙向的,與上節(jié)中一致。需要注意的是,在完成整個(gè)時(shí)間同步過程中,由上節(jié)可知,存在主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送校時(shí)報(bào)文,同時(shí)也存在從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送報(bào)文,因此,雖然校時(shí)是主節(jié)點(diǎn)發(fā)起的,但是存在著雙向的數(shù)據(jù)通信。
[0070]在校時(shí)主節(jié)點(diǎn)中,時(shí)間同步主站算法模塊通過RTX的IPC機(jī)制調(diào)用實(shí)時(shí)協(xié)議棧RTSS提供的服務(wù)完成數(shù)據(jù)的實(shí)時(shí)通信(注釋2);同時(shí),時(shí)間同步主站算法通過RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)獲取本地時(shí)鐘作為系統(tǒng)精確時(shí)鐘源(注釋I);運(yùn)行于RTX上的實(shí)時(shí)協(xié)議棧也將應(yīng)用RTX實(shí)時(shí)通信網(wǎng)卡驅(qū)動(dòng)來完成數(shù)據(jù)在千兆以太網(wǎng)上的傳輸(注釋3、4)。
[0071]在校時(shí)從節(jié)點(diǎn)上,時(shí)間同步從站算法直接調(diào)用實(shí)時(shí)協(xié)議棧提供的服務(wù)來完成數(shù)據(jù)的通信(注釋6);同時(shí),根據(jù)時(shí)間同步算法對(duì)本地的時(shí)鐘通過VMM時(shí)鐘芯片管理模塊進(jìn)行更新(注釋7);運(yùn)行于虛擬通信機(jī)上的實(shí)時(shí)協(xié)議棧將直接通過VMM設(shè)備管理對(duì)實(shí)時(shí)通信網(wǎng)卡進(jìn)行編程,完成數(shù)據(jù)在以太網(wǎng)上的傳輸(注釋4、5)。
[0072]通過以上各個(gè)模塊之間的相互作用,即可完成各節(jié)點(diǎn)間的時(shí)間同步功能。
[0073]2、基于本發(fā)明技術(shù)方案開發(fā)的軟件具有以下創(chuàng)新點(diǎn):
[0074]本軟件主要應(yīng)用了處理器分核技術(shù)與虛擬機(jī)技術(shù),在完成對(duì)協(xié)議棧實(shí)時(shí)性改造的基礎(chǔ)上,自主實(shí)現(xiàn)了一個(gè)實(shí)時(shí)的通信環(huán)境,并且在此基礎(chǔ)上實(shí)現(xiàn)了 IEEE1588PTP精確校時(shí)協(xié)議,為分布式環(huán)境下各個(gè)主機(jī)提供了確定的、實(shí)時(shí)的通信環(huán)境,以及高精度的統(tǒng)一時(shí)鐘。整個(gè)軟件系統(tǒng)主要有以下幾個(gè)創(chuàng)新點(diǎn):
[0075]2.1針對(duì)Windows操作系統(tǒng)無法保證實(shí)時(shí)性的約束,我們從硬件層面著手,將原本由Windows使用的處理器核心分出來一個(gè),來運(yùn)行我們的實(shí)時(shí)通信軟件,達(dá)到實(shí)時(shí)通信軟件運(yùn)行不需要依賴Windows操作系統(tǒng),對(duì)處理器核心擁有絕對(duì)的操作權(quán),以最大的效率為用戶提供服務(wù),以最小的時(shí)間消耗傳輸數(shù)據(jù);
[0076]為了實(shí)現(xiàn)系統(tǒng)的處理器分核操作,需要對(duì)Windows操作系統(tǒng)核心加載進(jìn)程以及計(jì)算機(jī)的主板進(jìn)行相關(guān)的編程處理。主要包括:通過更改Windows加載項(xiàng)文件完成Windows對(duì)處理器核心的拋出操作(見代碼片段I);通過硬件處理器間的中斷機(jī)制完成對(duì)拋出核心的再啟動(dòng)操作(見代碼片段2);通過主板級(jí)的中斷源劃分設(shè)置完成網(wǎng)卡中斷向拋出處理器核心的綁定操作(見代碼片段3)等。
[0077]代碼片段I
[0078]
【權(quán)利要求】
1.一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),所述實(shí)時(shí)通信平臺(tái)應(yīng)用于由一個(gè)校時(shí)主節(jié)點(diǎn)和多個(gè)校時(shí)從節(jié)點(diǎn)組成的局域的分布式實(shí)時(shí)系統(tǒng),所述實(shí)時(shí)通信平臺(tái)用于實(shí)現(xiàn)分布式系統(tǒng)間各Windows應(yīng)用程序的實(shí)時(shí)通信以及各節(jié)點(diǎn)間的時(shí)鐘精確同步;其特征在于:它包括運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)以及運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng); 運(yùn)行于校時(shí)主節(jié)點(diǎn)的子系統(tǒng)工作在RTX環(huán)境下,它包含實(shí)時(shí)通信協(xié)議棧主站模塊、時(shí)間同步算法主站模塊和RTX設(shè)備驅(qū)動(dòng)模塊, 實(shí)時(shí)通信協(xié)議棧主站模塊用于以RTX下的實(shí)時(shí)線程形式提供服務(wù),同時(shí)使用RTX提供的標(biāo)準(zhǔn)網(wǎng)卡驅(qū)動(dòng)接口完成數(shù)據(jù)的底層傳輸;通過RTX提供的IPC機(jī)制為時(shí)間同步算法主站模塊提供實(shí)時(shí)Socket接口, 時(shí)間同步算法主站模塊用于采用IEEE1588PTP精密時(shí)鐘同步協(xié)議對(duì)所述實(shí)時(shí)通信平臺(tái)的時(shí)間同步校時(shí),時(shí)間同步算法主站模塊實(shí)現(xiàn)為RTX下的實(shí)時(shí)線程形式,線程使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源;時(shí)間同步算法主站模塊還用于通過RTX的IPC機(jī)制使用實(shí)時(shí)協(xié)議棧提供的服務(wù), RTX設(shè)備驅(qū)動(dòng)模塊包括RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊以及RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊;RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊用于為RTX線程提供訪問保存于實(shí)時(shí)時(shí)鐘芯片中的時(shí)間數(shù)據(jù)的一致接口 ;RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊用于為RTX線程提供訪問網(wǎng)卡的一致接口,所述接口均需要符合RTX驅(qū)動(dòng)程序標(biāo)準(zhǔn);其中,RTX實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)子模塊還用于提供本地的時(shí)鐘信息,作為系統(tǒng)精確時(shí)鐘源;RTX實(shí)時(shí)網(wǎng)卡驅(qū)動(dòng)子模塊還用于為實(shí)時(shí)協(xié)議棧提供對(duì)硬件的操作API ;運(yùn)行于校時(shí)從節(jié)點(diǎn)的子系統(tǒng)包含支持實(shí)時(shí)虛擬通信機(jī)的VMM模塊、實(shí)時(shí)協(xié)議棧從站模塊以及時(shí)間同步算法從站模塊; 實(shí)時(shí)虛擬通信機(jī)模塊(實(shí)時(shí)虛擬通信機(jī)VMM)用于對(duì)實(shí)時(shí)通信網(wǎng)卡以及時(shí)鐘芯片進(jìn)行設(shè)備管理,為校時(shí)從節(jié)點(diǎn)工作的基礎(chǔ);時(shí)間同步算法從站模以及實(shí)時(shí)協(xié)議棧從站模塊均運(yùn)行在實(shí)時(shí)虛擬通信機(jī)模塊上; 實(shí)時(shí)通信協(xié)議棧從站模塊將被編譯為image文件,直接在實(shí)時(shí)通信虛擬機(jī)上運(yùn)行,通過接口為Windows應(yīng)用提供服務(wù),并被一同運(yùn)行于實(shí)時(shí)通信虛擬機(jī)上的時(shí)間同步算法從站模塊直接調(diào)用,同時(shí),實(shí)時(shí)協(xié)議棧從站模塊將直接對(duì)網(wǎng)卡進(jìn)行操作; 時(shí)間同步算法從站模塊采用IEEE1588PTP精密時(shí)鐘同步協(xié)議,使用PC機(jī)系統(tǒng)的實(shí)時(shí)時(shí)鐘作為時(shí)鐘源;時(shí)間同步算法從站模塊通過內(nèi)部接口使用實(shí)時(shí)協(xié)議棧提供的服務(wù),通過硬件I/O指令訪問或修改從站時(shí)間,確保時(shí)間標(biāo)記精度。
2.根據(jù)權(quán)利要求1所述的一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),其特征在于:所述RTX設(shè)備驅(qū)動(dòng)模塊包括RTX實(shí)時(shí)網(wǎng)卡設(shè)備驅(qū)動(dòng)模塊以及RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊;其中RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊實(shí)現(xiàn)的時(shí)鐘源有三個(gè):分別為基于主板實(shí)時(shí)時(shí)鐘RTC芯片的秒級(jí)時(shí)鐘、基于Windows系統(tǒng)時(shí)間的暈秒級(jí)時(shí)鐘以及基于TSC寄存器的納秒級(jí)時(shí)鐘。
3.根據(jù)權(quán)利要求2所述的一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),其特征在于: 所述RTX實(shí)時(shí)網(wǎng)卡設(shè)備驅(qū)動(dòng)模塊用于在滿足RTX驅(qū)動(dòng)開發(fā)規(guī)范下,對(duì)實(shí)時(shí)網(wǎng)卡芯片進(jìn)行的驅(qū)動(dòng)開發(fā),所述模塊可向上層模塊提供實(shí)時(shí)網(wǎng)卡的操作接口,該模塊還用于完成對(duì)網(wǎng)卡的初始化、發(fā)送數(shù)據(jù)、接受數(shù)據(jù)操作,為實(shí)時(shí)協(xié)議棧提供面向硬件的底層通信能力; 所述RTX時(shí)鐘設(shè)備驅(qū)動(dòng)模塊用于在滿足RTX驅(qū)動(dòng)開發(fā)規(guī)范下,對(duì)實(shí)時(shí)時(shí)鐘芯片進(jìn)行的驅(qū)動(dòng)開發(fā),所述模塊可向上層模塊提供實(shí)時(shí)時(shí)鐘的操作接口,該模塊還用于完成對(duì)時(shí)鐘信息的獲取、更改操作,為分布式系統(tǒng)的各個(gè)計(jì)算機(jī)節(jié)點(diǎn)提供高精度、可操作的時(shí)鐘源。
4.根據(jù)權(quán)利要求1、2或3所述的一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),其特征在于:所述實(shí)時(shí)虛擬通信機(jī)模塊包括VMM初始化功能模塊、虛擬存儲(chǔ)器管理功能模塊和虛擬設(shè)備管理功能模塊。
5.根據(jù)權(quán)利要求4所述的一種基于處理器分核以及虛擬機(jī)的實(shí)時(shí)通信平臺(tái),其特征在于: 所述VMM初始化功能模塊是虛擬機(jī)運(yùn)行的基礎(chǔ),主要用于完成對(duì)處理器的分核處理、實(shí)時(shí)通信網(wǎng)卡綁定到指定處理器核心的處理、核心物理內(nèi)存的分配、裝載虛擬通信機(jī)程序以及建立相關(guān)的VMCS核心數(shù)據(jù)結(jié)構(gòu);通過這些過程,來搭建基本的虛擬機(jī)環(huán)境,為實(shí)時(shí)通信以及校時(shí)算法的運(yùn)行提供基本運(yùn)行支持; 虛擬存儲(chǔ)器管理功能模塊主要用于為Windows和通信虛擬機(jī)提供存儲(chǔ)保護(hù)和共享內(nèi)存機(jī)制,一方面,可以對(duì)物理內(nèi)存的訪問進(jìn)行隔離,保證Windows不會(huì)越界訪問到通信虛擬機(jī)的私有內(nèi)存,同時(shí)保證通信虛擬機(jī)不會(huì)越界訪問到Windows的私有內(nèi)存;另一方面,為二者的通信建立了共享內(nèi)存,可支持通信虛擬機(jī)與Windows的同時(shí)訪問,完成數(shù)據(jù)交互; 虛擬設(shè)備管理功能模塊主要用于完成Windows和通信虛擬機(jī)之間的設(shè)備訪問隔離,可截獲Windows對(duì)通信專用網(wǎng)卡的操作,使其不影響通信機(jī)的工作;還用于截獲通信虛擬機(jī)對(duì)Windows設(shè)備的操作 ,使其不影響Windows的工作。
【文檔編號(hào)】H04L7/00GK103957233SQ201410116628
【公開日】2014年7月30日 申請(qǐng)日期:2014年3月26日 優(yōu)先權(quán)日:2014年3月26日
【發(fā)明者】吳翔虎, 曲明成, 陶永超, 劉志強(qiáng) 申請(qǐng)人:哈爾濱工業(yè)大學(xué)