一種多機熱備份計算機初始同步方法
【專利摘要】本發(fā)明公開了一種多機熱備份計算機初始同步方法,包括以下步驟:熱備份計算機接收外部輸入的同一個同步時鐘信號;各熱備份計算機完成初始化工作后即向其他單機發(fā)送A信息,A信息內(nèi)容為本機具備同步工作條件;某熱備份計算機收到所有其他熱備份計算機發(fā)送來A信息,則向其他熱備份計算機發(fā)送B信息,B信息內(nèi)容為當(dāng)下一個同步時鐘信號的上升沿到來時,當(dāng)前熱備份計算機即開始工作;當(dāng)某機收到B信息則其向其他機發(fā)送B信息;若某熱備份計算機連續(xù)N(N為預(yù)設(shè)值)個同步時鐘周期未收到其他機發(fā)送來的A信息,則其向其他機發(fā)送B信息。采用本發(fā)明可實現(xiàn)多機熱備份計算機初始同步,提高熱備份計算機可靠性和自主運行能力。
【專利說明】一種多機熱備份計算機初始同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種多機熱備份計算機初始同步方法,適用于對多機有較高初始同步要求或自主運行能力的星載計算機。
【背景技術(shù)】
[0002]我國目前三機熱備份計算機三機同步依靠容錯板提供統(tǒng)一的控制周期信號來實現(xiàn),控制周期信號與三機時鐘完全異步。這種設(shè)計可實現(xiàn)三機同步,但不能保證三機初始同步(即三機同時第一次進入控制周期中斷開始任務(wù)調(diào)度和執(zhí)行),具體原因如下:
[0003]二機上電/復(fù)位初始化時間存在差異,造成二機在上電/復(fù)位初始化完成后存在無法初始同步風(fēng)險。
[0004]容錯板三機復(fù)位信號接口電路完全獨立,不同接口電路識別同一復(fù)位信號存在差異,導(dǎo)致三機復(fù)位信號結(jié)束時刻存在差異(三機同時上電情況下,上電復(fù)位結(jié)束時刻時間差異在1ms左右,遙控和看門狗復(fù)位結(jié)束時刻時間差異在Ius左右)。
[0005]三機同時加電情況下,三機電源模塊不同,造成三機電源建立時間差異較大,存在無法上電初始同步風(fēng)險。三機依次加電情況下,三機無法上電初始同步,該種方式下往往需要補發(fā)三機遙控復(fù)位指令方式來實現(xiàn)三機初始同步,但遙控復(fù)位也存在無法初始同步風(fēng)險,而且某些在軌任務(wù)不允許發(fā)送遙控復(fù)位或不具備發(fā)送遙控復(fù)位條件。
[0006]對于熱備份計算機初始不同步問題,以往型號熱備份計算機往往通過應(yīng)用層處理該問題,采取各種方式來容忍三機初始不同步,或者通過補發(fā)遙控復(fù)位來避免該問題(有一定概率無法避免該問題)。但三機熱備份計算機同步能力和可靠性仍存在缺陷,同時也降低了產(chǎn)品自主運行能力,很難適用于今后若干重大型號三機或多機熱備份計算機設(shè)計可靠性需求和自主運行能力。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供了一種多機熱備份計算機初始同步方法,可確保在上電/復(fù)位情況下熱備份計算機能自主實現(xiàn)初始同步。
[0008]本發(fā)明的技術(shù)解決方案是:
[0009]—種熱備份計算機初始同步方法,步驟如下:
[0010](I)令所有熱備份計算機上電復(fù)位后,各熱備份計算機進行初始化,之后進入步驟
(2);
[0011](2)各熱備份計算機接收外部輸入的同一個同步時鐘信號,進入步驟(3);
[0012](3)各熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送A信息,同時將本機的超時次數(shù)置零,之后進入步驟(4);
[0013](4)各熱備份計算機均查看是否收到其他熱備份計算機發(fā)送來的A信息,如果接收到其他所有熱備份計算機發(fā)送過來的A信息,則進入步驟(5);否則跳轉(zhuǎn)至步驟(7);
[0014](5)查看當(dāng)前熱備份計算機同步時鐘信號上升沿是否來過,若來過則進入步驟(6);否則繼續(xù)步驟(5);
[0015](6)當(dāng)前熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送B信息,之后進入步驟(11);
[0016](7)各熱備份計算機均查看是否收到其他任一熱備份計算機發(fā)送來的B信息,如果收到,則返回步驟(6);否則進入步驟(8);
[0017](8)判斷下一個所述同步時鐘信號的上升沿是否到來,若到來,則進入步驟(9),否則返回步驟⑷;
[0018](9)當(dāng)前熱備份計算機超時次數(shù)加I,之后進入步驟(10);
[0019](10)判斷所述當(dāng)前熱備份計算機的超時次數(shù)是否大于預(yù)設(shè)值N,若大于N,則進入步驟(6),否則返回步驟(4) #為正整數(shù);
[0020](11)當(dāng)前熱備份計算機在下一個同步時鐘信號的上升沿到來后即開始工作,完成熱備份計算機初始同步。
[0021]所述A信息的內(nèi)容為:本機具備同步工作條件。
[0022]所述B信息的內(nèi)容為:當(dāng)下一個同步時鐘信號的上升沿到來時,當(dāng)前熱備份計算機即開始工作。
[0023]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
[0024](I)本發(fā)明方法改變以往型號需要應(yīng)用層面采用各種處理措施或地面干預(yù)方式容忍初始不同步問題,提高多機熱備份計算機自主運行能力;
[0025](2)本發(fā)明方法可通過調(diào)整超時等待時間(N)方式確保熱備份計算機各單機上電/復(fù)位時間差異情況下初始同步,設(shè)計簡單、實現(xiàn)方便、擴大了熱備份計算機應(yīng)用范圍,提高熱備份計算機可靠性;
[0026](3)本發(fā)明方法采用多機數(shù)據(jù)交換方式以及超時等待方式對上電/復(fù)位過程中的故障情況進行處理,增強熱備份計算機容錯能力和可靠性,提高了熱備份計算機初始同步靈活性。
【專利附圖】
【附圖說明】
[0027]圖1為正常情況下熱備份計算機初始同步時序關(guān)系圖;
[0028]tl時刻OBCA初始化結(jié)束向其他單機發(fā)送A信息;
[0029]t2時刻為同步時鐘信號上升沿;
t3時刻OBCB初始化結(jié)束向其他單機發(fā)送A信息; t4時刻OBCC初始化結(jié)束向其他單機A信息; t5時刻OBCA收到所有其他機A信息; t6時刻OBCA向其他機發(fā)送B信息; t7時刻OBCB和OBCC向其他機發(fā)送B信息; t8時刻各熱備份計算機均一起開始進行任務(wù)調(diào)度;
圖2為故障情況下熱備份計算機初始同步時序關(guān)系圖; tl時刻OBCA初始化結(jié)束向其他單機發(fā)送A信息; t2時刻為同步時鐘信號上升沿,OBCA機超時次數(shù)為I ; t3時刻OBCB初始化結(jié)束向其他單機發(fā)送A信息; t4時刻OBCC初始化結(jié)束后發(fā)現(xiàn)其故障,不能向其他單機發(fā)送A信息; t5時刻OBCA機超時次數(shù)為2,OBCB機超時次數(shù)為I ; t6時刻OBCA機超時次數(shù)為3,OBCB機超時次數(shù)為2 ; t7時刻OBCA機超時次數(shù)為4,OBCB機超時次數(shù)為3 ; t8時刻OBCA機超時次數(shù)為5,OBCB機超時次數(shù)為4 ;
t9時刻OBCA機超時次數(shù)為6,OBCB機超時次數(shù)為5,OBCA機超時次數(shù)大于5,OBCA機向其他單機發(fā)送B信息;
tlO時刻OBCB向其他機發(fā)送B信息;
til時刻OBCA和OBCB均一起開始進行任務(wù)調(diào)度;
圖3為熱備份計算機初始同步方法流程圖。
【具體實施方式】
[0030]下面結(jié)合附圖對本發(fā)明的【具體實施方式】進行進一步的詳細(xì)描述。
[0031]如圖3所示,本發(fā)明提供了一種熱備份計算機初始同步方法,步驟如下:
[0032](I)令所有熱備份計算機上電復(fù)位后,各熱備份計算機進行初始化,之后進入步驟⑵。
[0033]由于各熱備份計算機上電時刻差異、上電復(fù)位結(jié)束時刻差異、初始化時間差異,造成各熱備份計算機初始化完成時刻不一致,存在較大時間差,可能會造成多機熱備份計算機第一次任務(wù)調(diào)度時刻不一致而無法同步工作,即初始不同步。
[0034](2)各熱備份計算機接收外部輸入的同一個同步時鐘信號,進入步驟(3)。
[0035]為保證多機熱備份計算機的可靠性,在配置有多機熱備份計算機的系統(tǒng)中,互相作為熱備份的計算機在系統(tǒng)中同時進行相同的工作并產(chǎn)生各自的輸出,且各熱備份計算機需要在相同的時鐘源控制下進行同步的工作,即系統(tǒng)為熱備份計算機提供同一個同步時鐘信號,保證各熱備份計算機在相同的時鐘源控制下同步進行工作。
[0036](3)各熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送A信息,同時將本機的超時次數(shù)置零,之后進入步驟(4)。A信息的內(nèi)容為:本機具備同步工作條件。
[0037]為保證多機熱備份計算機同步工作,且各機運算和執(zhí)行結(jié)果一致性,各熱備份計算機之間均提供了數(shù)據(jù)交換通道,使各熱備份計算機均能接收到其他機信息同時把本機信息發(fā)送其他機。
[0038]在初始同步時,熱備份計算機可使用數(shù)據(jù)交換通道向其他機發(fā)送A信息,同時也可通過數(shù)據(jù)交換通道收到其他機發(fā)送來的A信息或者B信息。
[0039]若某熱備份計算機故障,其A信息無法發(fā)送給其他機,將造成其他機無法收到其A信息。針對這種情況,設(shè)置了本機的超時次數(shù)。在初始化完成后,本機超時次數(shù)清零。
[0040](4)各熱備份計算機均查看是否收到其他熱備份計算機發(fā)送來的A信息,如果接收到其他所有熱備份計算機發(fā)送過來的A信息,則進入步驟(5);否則跳轉(zhuǎn)至步驟(7)。
[0041]當(dāng)某熱備份計算機收到所有其他熱備份計算機發(fā)送來的A信息,說明所有單機均已完成初始化工作并具備同步工作條件,則當(dāng)前熱備份計算機可進行步驟(5)工作,準(zhǔn)備同步工作;當(dāng)未收齊所有其他熱備份計算機A信息時,說明還有熱備份計算機未具備同步工作條件,此時熱備份計算機不能同步工作,本機必須進行等待,直到超時。
[0042](5)查看當(dāng)前熱備份計算機同步時鐘信號上升沿是否來過,若來過則進入步驟(6);否則繼續(xù)步驟(5)。
[0043]當(dāng)某熱備份計算機進入步驟(5),說明其已經(jīng)收到所有其他熱備份計算機A信息,但此時當(dāng)前熱備份計算機還不能立即向其他機發(fā)送B信息。由于B信息發(fā)送需要時間,在B信息傳輸時間內(nèi)或者其他機處理B信息時間內(nèi)同步時鐘信號上升沿到來則會造成當(dāng)前熱備份計算機提前一個同步時鐘周期時間開始進行任務(wù)調(diào)度,而其他機較當(dāng)前熱備份計算機晚一個同步時鐘周期時間開始進行任務(wù)調(diào)度,則熱備份計算機初始不同步。B信息的內(nèi)容為:當(dāng)下一個同步時鐘信號的上升沿到來時,當(dāng)前熱備份計算機即開始工作。
[0044]因此,當(dāng)某熱備份計算機進入步驟(5)后,當(dāng)前熱備份計算機必須檢測其同步時鐘信號上升沿,若上升沿到來,則向其他機發(fā)送B信息。由于各機同步時鐘信號為同一個信號產(chǎn)生,且B信息傳輸和處理時間遠(yuǎn)小于同步時鐘信號一個周期時間,其他單機將有充足時間處理B信息,可確保下一個同步時鐘信號上升沿所有熱備份計算機均開始進行任務(wù)調(diào)度,實現(xiàn)熱備份計算機初始同步。
[0045](6)當(dāng)前熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送B信息,之后進入步驟(11)。
[0046]當(dāng)某熱備份計算機向其他機發(fā)送B信息后,說明當(dāng)前熱備份計算機可在下一個同步時鐘信號上升沿開始進行任務(wù)調(diào)度。
[0047](7)各熱備份計算機均查看是否收到其他任一熱備份計算機發(fā)送來的B信息,如果收到,則返回步驟(6);否則進入步驟(8)。
[0048]當(dāng)某熱備份計算機收到任一機B信息,說明有熱備份計算機將在下一個同步時鐘信號上升沿開始任務(wù)調(diào)度,當(dāng)前熱備份計算機也必須在下一個同步時鐘信號上升沿開始任務(wù)調(diào)度,不能再繼續(xù)查詢是否收齊所有其他機的A信息或等待。
[0049](8)判斷下一個所述同步時鐘信號的上升沿是否到來,若到來,則進入步驟(9),否則返回步驟(4)。
[0050]熱備份計算機超時時間是依靠本機同步時鐘信號來計數(shù)實現(xiàn)了,當(dāng)檢測到本機同步時鐘信號上升沿后即進行超時計數(shù)。
[0051](9)當(dāng)前熱備份計算機超時次數(shù)加I,之后進入步驟(10)。
[0052](10)判斷所述當(dāng)前熱備份計算機的超時次數(shù)是否大于預(yù)設(shè)值N,若大于N,則進入步驟(6),否則返回步驟(4) ;N為正整數(shù);
[0053]預(yù)設(shè)值N的設(shè)置必須考慮熱備份計算機系統(tǒng)任務(wù)需求,根據(jù)任務(wù)需求、實時性要求等綜合考慮進行取值。
[0054]超時次數(shù)大于預(yù)設(shè)值N時,說明多機熱備份計算機中至少有一個故障,其他機無法收到其A信息。此時正常單機不能再繼續(xù)等待其信息而必須準(zhǔn)備開始任務(wù)調(diào)度,否則故障單機的故障將造成所有單機均無法工作。
[0055]超時次數(shù)不大于預(yù)設(shè)值N時,根據(jù)任務(wù)情況,其他機還可以繼續(xù)等待,該情況不影響多機熱備份計算機系統(tǒng)任務(wù)完成。
[0056](11)當(dāng)前熱備份計算機在下一個同步時鐘信號的上升沿到來后即開始工作,完成熱備份計算機初始同步。
[0057]各熱備份計算機接收同一個同步時鐘信號,多機熱備份計算機可通過數(shù)據(jù)交換通道進行信息交換,使各熱備份計算機可在同步時鐘信號配合下約定任務(wù)調(diào)度起始時刻,在起始時刻共同開始進行任務(wù)調(diào)度。當(dāng)各機均正常情況下,至少某一熱備份計算機將收齊所有其他機發(fā)送信息,則其可發(fā)起并約定任務(wù)調(diào)度起始時刻,在起始時刻共同開始進行任務(wù)調(diào)度。
[0058]各熱備份計算機均設(shè)置超時次數(shù)N,當(dāng)某熱備份計算機故障時,至少某一熱備份計算機超時次數(shù)將會超時,此時正常工作單機可通過數(shù)據(jù)交換通道進行信息交換而約定任務(wù)調(diào)度起始時刻,在起始時刻共同開始進行任務(wù)調(diào)度,此時故障單機將被放棄。各熱備份計算機約定任務(wù)調(diào)度起始時刻必須留有足夠時間,使其他熱備份計算機能夠及時或有足夠時間響應(yīng)約定任務(wù)調(diào)度起始時間,一般為下一個同步時鐘信號上升沿時刻。
[0059]實施例:
[0060]如圖1所示為正常情況下熱備份計算機初始同步時序關(guān)系圖,以三機熱備份計算機為例。圖1中同步信號為各熱備份計算機接收外部輸入的同一個同步時鐘信號,其上升沿時刻為各熱備份計算機開始周期性任務(wù)調(diào)度的起始時刻。各熱備份計算機完成初始化時刻不一致,圖1中tl時刻OBCA機完成初始化工作并開始向其他熱備份計算機發(fā)送A信息。t3時刻OBCB機完成初始化工作并開始向其他熱備份計算機發(fā)送A信息。t4時刻OBCC機完成初始化工作并開始向其他熱備份計算機發(fā)送A信息。t4時刻延后一個A信息時間后,即t5時刻OBCA接收到所有其他機A信息,OBCA機開始查看其同步時鐘信號上升沿是否到來。t6時刻OBCA機檢測到其同步時鐘信號上升沿到來,開始向其他機發(fā)送B信息。t6時刻延后一個B信息時間后,即t7時刻OBCB和OBCC接收到OBCA機B信息,OBCB和OBCC向其他機發(fā)送B信息。OBCA、OBCB和OBCC開始查看其同步時鐘信號上升沿是否到來。t8時刻OBCA、OBCB和OBCC均檢測到其同步時鐘信號上升沿到來,均一起開始進行任務(wù)調(diào)度,完成了多機熱備份計算機初始同步。三機均工作正常,未出現(xiàn)超時情況。
[0061]如圖2所示,為故障情況下熱備份計算機初始同步時序關(guān)系圖,以三機熱備份計算機為例,預(yù)設(shè)值N取5。圖2中同步信號為各熱備份計算機接收外部輸入的同一個同步時鐘信號,其上升沿時刻為各熱備份計算機開始周期性任務(wù)調(diào)度的起始時刻。各熱備份計算機完成初始化時刻不一致,圖2中tl時刻OBCA機完成初始化工作并開始向其他熱備份計算機發(fā)送A信息。t2時刻OBCA機超時次數(shù)為I。t3時刻OBCB機完成初始化工作并開始向其他熱備份計算機發(fā)送A信息,t4時刻OBCC機完成初始化工作后發(fā)現(xiàn)其故障,不能向其他單機發(fā)送A信息。OBCA和OBCB —直不能收到所有其他機A信息,只能等到超時。t5時刻OBCA超時次數(shù)為2,OBCB超時次數(shù)為I。t6時刻OBCA超時次數(shù)為3,OBCB超時次數(shù)為2。t7時刻OBCA超時次數(shù)為4,OBCB超時次數(shù)為3。t8時刻OBCA超時次數(shù)為5,OBCB超時次數(shù)為4。t9時刻OBCA超時次數(shù)為6,OBCB超時次數(shù)為5,OBCA超時次數(shù)大于5,OBCA超時,OBCA向其他機發(fā)送B信息。t9時刻延后一個B信息時間后,即tlO時刻OBCB接收到OBCA機B信息,OBCB向其他機發(fā)送B信息。OBCA, OBCB開始查看其同步時鐘信號上升沿是否到來。Tl時刻0BCA、0BCB檢測到其同步時鐘信號上升沿到來,一起開始進行任務(wù)調(diào)度,完成了多機熱備份計算機初始同步。三機中OBCC故障,造成OBCA超時,但OBCA和OBCB不收OBCC故障影響,仍完成OBCA和OBCB初始同步并工作正常。
【權(quán)利要求】
1.一種多機熱備份計算機初始同步方法,其特征在于步驟如下: (1)令所有熱備份計算機上電復(fù)位后,各熱備份計算機進行初始化,之后進入步驟(2); (2)各熱備份計算機接收外部輸入的同一個同步時鐘信號,各熱備份計算機接收到該同步時鐘信號之后進入步驟(3); (3)各熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送A信息,同時將本機的超時次數(shù)置零,之后進入步驟(4); (4)各熱備份計算機均查看是否收到其他熱備份計算機發(fā)送來的A信息,如果接收到其他所有熱備份計算機發(fā)送來的A信息,則進入步驟(5);否則跳轉(zhuǎn)至步驟(7); (5)查看當(dāng)前熱備份計算機同步時鐘信號上升沿是否到來,若到來則進入步驟(6);否則繼續(xù)進行步驟(5); (6)當(dāng)前熱備份計算機通過數(shù)據(jù)交換通道向其他熱備份計算機發(fā)送B信息,之后進入步驟(11); (7)各熱備份計算機均查看是否收到其他任一熱備份計算機發(fā)送來的B信息,如果收至IJ,則返回步驟(6);否則進入步驟⑶; (8)判斷下一個所述同步時鐘信號的上升沿是否到來,若到來,則進入步驟(9),否則返回步驟⑷; (9)當(dāng)前熱備份計算機超時次數(shù)加I,之后進入步驟(10); (10)判斷所述當(dāng)前熱備份計算機的超時次數(shù)是否大于預(yù)設(shè)值N,若大于N,則進入步驟(6),否則返回步驟(4) ;N為正整數(shù); (11)當(dāng)前熱備份計算機在下一個同步時鐘信號的上升沿到來后即開始工作,完成熱備份計算機初始同步。
2.根據(jù)權(quán)利要求1所述的一種多機熱備份計算機初始同步方法,其特征在于:所述A信息的內(nèi)容為:本機具備同步工作條件;所述B信息的內(nèi)容為:當(dāng)下一個同步時鐘信號的上升沿到來時,當(dāng)前熱備份計算機即開始工作。
【文檔編號】G06F1/12GK104345771SQ201410492211
【公開日】2015年2月11日 申請日期:2014年9月23日 優(yōu)先權(quán)日:2014年9月23日
【發(fā)明者】劉超偉, 王婧, 劉波, 趙瑋, 胡洪凱, 徐建, 梁潔玫, 王勇, 何健, 李森, 丁泳鑫 申請人:北京控制工程研究所