一種計算機仿真模擬計算方法
【專利摘要】本發(fā)明提供了一種計算機仿真模擬計算方法。本發(fā)明方案將計算機仿真模塊劃分為主程序計算、狀態(tài)計算和渲染計算三個離散的計算模塊;采用循環(huán)迭代計算方式驅(qū)動這三個模塊,來完成計算機仿真模擬計算的整個過程。以狀態(tài)變化來驅(qū)動數(shù)據(jù)更新計算,而不需要服務(wù)計算主程序不停的輪詢每一個實體對象。從而解決了基于實體對象的模擬計算方法會造成資源的極大浪費。
【專利說明】一種計算機仿真模擬計算方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計算機仿真模擬計算方法,特別是涉及一種適用于計算機仿真技術(shù)中的仿真模擬計算方法。
【背景技術(shù)】
[0002]隨著計算機仿真的不斷發(fā)展,對于計算機仿真模擬計算的要求越來越高。計算機仿真需要一個結(jié)構(gòu)清晰,功能完善,方便修改,安全性高的模擬計算方法來保證對用戶的響應(yīng)速度。而在現(xiàn)階段的計算機仿真技術(shù)中,并沒有一個公認的最佳方法來進行模擬計算。并且現(xiàn)有模擬計算技術(shù)大多采用基于實體的計算方法。
[0003]在基于實體的計算方法中,服務(wù)計算主程序啟動后,需要不停的輪詢每一個實體對象,不論這些實體對象的狀態(tài)是否發(fā)生變化。在一個大型的分布式仿真中,這樣的實體對象成千上萬,每個實體對象對應(yīng)的狀態(tài)也相當龐大的,這種情況下,基于實體對象的模擬計算方法會造成資源的極大浪費。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是提供一種結(jié)構(gòu)清晰,功能完善,方便修改,安全性高,避免資源浪費的計算機仿真模擬計算方法。
[0005]本發(fā)明采用的技術(shù)方案如下:一種計算機仿真模擬計算方法,具體方法為:將計算機仿真模塊劃分為主程序計算、狀態(tài)計算和渲染計算三個離散的計算模塊;采用循環(huán)迭代計算方式驅(qū)動這三個模塊,來完成計算機仿真模擬計算的整個過程。
[0006]作為優(yōu)選,所述渲染計算由顯示計算模塊、刷新計算模塊和聲音計算模塊組成;所述狀態(tài)計算劃分為狀態(tài)進入模塊、主菜單狀態(tài)模塊、運行狀態(tài)模塊和退出狀態(tài)模塊。
[0007]作為優(yōu)選,完成計算機仿真模擬計算的整個過程的具體方法步驟為:步驟一、啟動主程序計算模塊;步驟二、初始化主程序計算模塊;步驟三、渲染計算模塊依次初始化顯示計算模塊、刷新計算模塊和聲音計算模塊;步驟四、狀態(tài)計算模塊初始化狀態(tài)進入模塊;步驟五、主程序計算模塊進行分步迭替計算。
[0008]作為優(yōu)選,所述步驟一的具體方法為:主程序計算模塊依次啟動狀態(tài)計算模塊和渲染計算模塊。
[0009]作為優(yōu)選,若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于同一臺多處理器的服務(wù)器上,主程序計算模塊可以通過共享數(shù)據(jù)或進程間通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信;若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于網(wǎng)絡(luò)相連的不同服務(wù)器上,主程序計算模塊可以通過消息傳遞機制或網(wǎng)絡(luò)通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信。
[0010]作為優(yōu)選,所述步驟二的具體方法為:主程序計算模塊依次初始化狀態(tài)計算模塊和渲染計算模塊。
[0011]作為優(yōu)選,主程序計算模塊初始化狀態(tài)計算模塊和渲染計算模塊時將自己的模塊標識傳遞給這兩個模塊。
[0012]作為優(yōu)選,所述步驟五中進行分步迭替計算的具體方法步驟為:a、主程序計算模塊驅(qū)動狀態(tài)計算模塊進行狀態(tài)計算山、狀態(tài)計算模塊將得到的新狀態(tài)投遞到渲染計算模塊,同時狀態(tài)計算模塊用新的狀態(tài)來刷新本模塊的狀態(tài)值;c、狀態(tài)計算模塊通知主程序計算模塊分步迭替計算完成;d、主程序計算模塊驅(qū)動渲染計算模塊進行刷新計算;e、渲染計算模塊刷新計算完成后,通知主程序計算模塊渲染計算完成;f、主程序計算模塊根據(jù)渲染計算模塊發(fā)過來的通知消息判斷單次迭替模擬計算是否完成,是,則直進入到下一個迭代模擬計算,否則進入下一步;g、判斷是否接到退出迭代模擬計算請求,是則退出迭代模擬計算,否則進入到下一個迭代模擬計算。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明方案以狀態(tài)變化來驅(qū)動數(shù)據(jù)更新計算,而不需要服務(wù)計算主程序不停的輪詢每一個實體對象。從而解決了基于實體對象的模擬計算方法會造成資源的極大浪費。
【專利附圖】
【附圖說明】
[0014]圖1為本發(fā)明其中一實施例的原理示意圖。
【具體實施方式】
[0015]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0016]本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
[0017]如圖1所示,一種計算機仿真模擬計算方法,具體方法為:將計算機仿真模塊劃分為主程序計算、狀態(tài)計算和渲染計算三個離散的計算模塊;采用循環(huán)迭代計算方式驅(qū)動這三個模塊,來完成計算機仿真模擬計算的整個過程。
[0018]將計算機仿真模擬計算的整個過程劃分為三個離散的計算模塊,每個計算模塊既可以運行在同一臺多處理器的服務(wù)器上,也可以運行在網(wǎng)絡(luò)相連的不同服務(wù)器上;它可以通過消息傳遞的方式進行通信,也可以通過共享數(shù)據(jù)的方式通信;它同時支持時間上的并行和空間上的并行。
[0019]所述渲染計算由顯示計算模塊、刷新計算模塊和聲音計算模塊組成;所述狀態(tài)計算劃分為狀態(tài)進入模塊、主菜單狀態(tài)模塊、運行狀態(tài)模塊和退出狀態(tài)模塊。
[0020]完成計算機仿真模擬計算的整個過程的具體方法步驟為:步驟一、啟動主程序計算模塊;步驟二、初始化主程序計算模塊;步驟三、渲染計算模塊依次初始化顯示計算模塊、刷新計算模塊和聲音計算模塊;步驟四、狀態(tài)計算模塊初始化狀態(tài)進入模塊;步驟五、主程序計算模塊進行分步迭替計算。
[0021]所述步驟一的具體方法為:主程序計算模塊依次啟動狀態(tài)計算模塊和渲染計算模塊。
[0022]若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于同一臺多處理器的服務(wù)器上,主程序計算模塊可以通過共享數(shù)據(jù)或進程間通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信;若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于網(wǎng)絡(luò)相連的不同服務(wù)器上,主程序計算模塊可以通過消息傳遞機制或網(wǎng)絡(luò)通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信。
[0023]所述步驟二的具體方法為:主程序計算模塊依次初始化狀態(tài)計算模塊和渲染計算模塊。
[0024]主程序計算模塊初始化狀態(tài)計算模塊和渲染計算模塊時將自己的模塊標識傳遞給這兩個模塊。
[0025]所述步驟五中進行分步迭替計算的具體方法步驟為:a、主程序計算模塊驅(qū)動狀態(tài)計算模塊進行狀態(tài)計算山、狀態(tài)計算模塊將得到的新狀態(tài)投遞到渲染計算模塊,同時狀態(tài)計算模塊用新的狀態(tài)來刷新本模塊的狀態(tài)值;C、狀態(tài)計算模塊通知主程序計算模塊分步迭替計算完成;d、主程序計算模塊驅(qū)動渲染計算模塊進行刷新計算;e、渲染計算模塊刷新計算完成后,通知主程序計算模塊渲染計算完成;f、主程序計算模塊根據(jù)渲染計算模塊發(fā)過來的通知消息判斷單次迭替模擬計算是否完成,是,則直進入到下一個迭代模擬計算,否則進入下一步;g、判斷是否接到退出迭代模擬計算請求,是則退出迭代模擬計算,否則進入到下一個迭代模擬計算。
[0026]本發(fā)明方案以狀態(tài)變化來驅(qū)動數(shù)據(jù)更新計算,而不需要服務(wù)計算主程序不停的輪詢每一個實體對象。從而解決了基于實體對象的模擬計算方法會造成資源的極大浪費。
【權(quán)利要求】
1.一種計算機仿真模擬計算方法,具體方法為:將計算機仿真模塊劃分為主程序計算、狀態(tài)計算和渲染計算三個離散的計算模塊;采用循環(huán)迭代計算方式驅(qū)動這三個模塊,來完成計算機仿真模擬計算的整個過程。
2.根據(jù)權(quán)利要求1所述的計算機仿真模擬計算方法,所述渲染計算由顯示計算模塊、刷新計算模塊和聲音計算模塊組成;所述狀態(tài)計算劃分為狀態(tài)進入模塊、主菜單狀態(tài)模塊、運行狀態(tài)模塊和退出狀態(tài)模塊。
3.根據(jù)權(quán)利要求2所述的計算機仿真模擬計算方法,完成計算機仿真模擬計算的整個過程的具體方法步驟為:步驟一、啟動主程序計算模塊;步驟二、初始化主程序計算模塊;步驟三、渲染計算模塊依次初始化顯示計算模塊、刷新計算模塊和聲音計算模塊;步驟四、狀態(tài)計算模塊初始化狀態(tài)進入模塊;步驟五、主程序計算模塊進行分步迭替計算。
4.根據(jù)權(quán)利要求3所述的計算機仿真模擬計算方法,所述步驟一的具體方法為:主程序計算模塊依次啟動狀態(tài)計算模塊和渲染計算模塊。
5.根據(jù)權(quán)利要求4所述的計算機仿真模擬計算方法,若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于同一臺多處理器的服務(wù)器上,主程序計算模塊可以通過共享數(shù)據(jù)或進程間通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信;若主程序計算模塊與啟動狀態(tài)計算模塊和渲染計算模塊處于網(wǎng)絡(luò)相連的不同服務(wù)器上,主程序計算模塊可以通過消息傳遞機制或網(wǎng)絡(luò)通信機制來與啟動狀態(tài)計算模塊和渲染計算模塊通信。
6.根據(jù)權(quán)利要求3所述的計算機仿真模擬計算方法,所述步驟二的具體方法為:主程序計算模塊依次初始化狀態(tài)計算模塊和渲染計算模塊。
7.根據(jù)權(quán)利要求6所述的計算機仿真模擬計算方法,主程序計算模塊初始化狀態(tài)計算模塊和渲染計算模塊時將自己的模塊標識傳遞給這兩個模塊。
8.根據(jù)權(quán)利要求3所述的計算機仿真模擬計算方法,所述步驟五中進行分步迭替計算的具體方法步驟為:a、主程序計算模塊驅(qū)動狀態(tài)計算模塊進行狀態(tài)計算;b、狀態(tài)計算模塊將得到的新狀態(tài)投遞到渲染計算模塊,同時狀態(tài)計算模塊用新的狀態(tài)來刷新本模塊的狀態(tài)值、狀態(tài)計算模塊通知主程序計算模塊分步迭替計算完成;d、主程序計算模塊驅(qū)動渲染計算模塊進行刷新計算;e、渲染計算模塊刷新計算完成后,通知主程序計算模塊渲染計算完成;f、主程序計算模塊根據(jù)渲染計算模塊發(fā)過來的通知消息判斷單次迭替模擬計算是否完成,是,則直進入到下一個迭代模擬計算,否則進入下一步;g、判斷是否接到退出迭代模擬計算請求,是則退出迭代模擬計算,否則進入到下一個迭代模擬計算。
【文檔編號】G06F9/455GK103699426SQ201310686090
【公開日】2014年4月2日 申請日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
【發(fā)明者】吳小偉, 莫世鋒, 陳恩博, 羅浩, 文靜 申請人:四川九洲電器集團有限責任公司