實時任務虛擬處理方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及地鐵綜合自動化系統(tǒng)領域,尤其涉及一種實時任務虛擬處理方法及裝置。
【背景技術】
[0002]在傳統(tǒng)的調(diào)度控制系統(tǒng)中,一般由多個應用程序協(xié)同完成調(diào)度任務,應用程序為了完成任務會獨享系統(tǒng)資源。在這個機制下,在初始化和運行的過程中都會重復占用某些資源,有大量的運行時數(shù)據(jù)無法共享,造成了系統(tǒng)資源的浪費。
[0003]現(xiàn)有技術中,綜合自動化系統(tǒng)能夠把各專業(yè)數(shù)據(jù)統(tǒng)一整合在一套系統(tǒng)中,在一臺工作站上就可以對各專業(yè)進行監(jiān)控,從而實現(xiàn)了數(shù)據(jù)集中處理、多專業(yè)數(shù)據(jù)共享以及多專業(yè)聯(lián)動等功能,但是,這樣在處理數(shù)據(jù)的量級比傳統(tǒng)控制系統(tǒng)要大幾個數(shù)量級,并且,多個應用程序之間的切換是進程級的,導致程序切換速度較慢,尤其是在頻繁的切換時,會導致應用程序假死的現(xiàn)象。
[0004]因此,如何對實時任務進行處理是急需解決的問題。
【發(fā)明內(nèi)容】
[0005](一)要解決的技術問題
[0006]本發(fā)明要解決的技術問題是提供一種能夠對實時任務進行處理的方法及裝置。
[0007](二)技術方案
[0008]為解決上述技術問題,本發(fā)明的技術方案提供了一種實時任務虛擬處理方法,包括:
[0009]確定各個應用程序中的每一個應用程序能夠完成的事務;
[0010]對接收到的任務進行分解,確定完成該任務需要執(zhí)行的各個事務以及各個事務的執(zhí)行順序;
[〇〇11]按照執(zhí)行順序依次調(diào)用每一個事務對應的應用程序處理該事務。
[0012]優(yōu)選地,所述方法還包括:
[0013]在調(diào)用每一個事務對應的應用程序處理該事務時,從公共數(shù)據(jù)池中獲取處理該事務對應的數(shù)據(jù),并將獲取到的數(shù)據(jù)發(fā)送給該應用程序;并在該應用程序執(zhí)行完該事務之后,將該應用程序的處理結果存儲到公共數(shù)據(jù)池中。
[0014]優(yōu)選地,所述確定各個應用程序中的每一個應用程序能夠完成的事務包括:
[0015]初始化各個應用程序,獲取各個應用程序中的每一個應用程序申請數(shù)據(jù)空間時注冊的事務作為該應用程序能夠完成的事務。
[0016]優(yōu)選地,所述按照執(zhí)行順序依次調(diào)用每一個事務調(diào)用對應的應用程序處理該事務之后,還包括:
[0017]將各個應用程序的處理結果輸出。
[0018]優(yōu)選地,所述將各個應用程序的處理結果輸出,包括:
[0019]判斷完成當前任務需要執(zhí)行事務的個數(shù),若需要執(zhí)行多個事務,則匯總各個應用程序的處理結果,并將匯總后的處理結果輸出;若只需執(zhí)行一個事務,則直接輸出該事務對應的應用程序的處理結果。
[0020]為解決上述技術問題,本發(fā)明的技術方案還提供了一種實時任務虛擬處理裝置,包括:
[0021]分析模塊,用于確定各個應用程序中的每一個應用程序能夠完成的事務;
[0022]任務分解模塊,用于對接收到的任務進行分解,確定完成該任務需要執(zhí)行的各個事務以及各個事務的執(zhí)行順序;
[0023]事務處理模塊,用于按照執(zhí)行順序依次調(diào)用每一個事務調(diào)用對應的應用程序處理該事務。
[0024]優(yōu)選地,所述裝置還包括:
[0025]數(shù)據(jù)分配模塊,用于在調(diào)用每一個事務對應的應用程序處理該事務時,從公共數(shù)據(jù)池中獲取處理該事務對應的數(shù)據(jù),并將獲取到的數(shù)據(jù)發(fā)送給該應用程序;并在該應用程序執(zhí)行完該事務之后,將該應用程序的處理結果存儲到公共數(shù)據(jù)池中。
[0026]優(yōu)選地,所述分析模塊具體用于初始化各個應用程序,獲取各個應用程序中的每一個應用程序申請數(shù)據(jù)空間時注冊的事務作為該應用程序能夠完成的事務。
[0027]優(yōu)選地,所述裝置還包括:
[0028]輸出模塊,用于將各個應用程序的處理結果輸出。
[0029]優(yōu)選地,所述輸出模塊具體用于判斷完成當前任務需要執(zhí)行事務的個數(shù),若需要執(zhí)行多個事務,則匯總各個應用程序的處理結果,并將匯總后的處理結果輸出;若只需執(zhí)行一個事務,則直接輸出該事務對應的應用程序的處理結果。
[0030](三)有益效果
[0031]本發(fā)明提供的實時任務虛擬處理方法,通過將接收到的任務進行分解,確定完成該任務需要執(zhí)行的各個事務以及各個事務的執(zhí)行順序;并且按照該執(zhí)行順序依次調(diào)用每一個事務對應的應用程序處理該事務。實現(xiàn)了對多個應用程序的統(tǒng)一調(diào)度,降低了應用程序切換的開銷,提高了應用程序協(xié)同處理事務的能力。
【附圖說明】
[0032]圖1是本發(fā)明實施方式提供的一種實時任務虛擬處理方法的示意圖;
[0033]圖2是本發(fā)明實施方式提供的一種實時任務虛擬處理裝置的示意圖。
【具體實施方式】
[0034]下面結合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0035]圖1是本發(fā)明實施方式提供的一種實時任務虛擬處理方法的示意圖,包括:
[0036]S11 :確定各個應用程序中的每一個應用程序能夠完成的事務;
[0037]S12:對接收到的任務進行分解,確定完成該任務需要執(zhí)行的各個事務以及各個事務的執(zhí)行順序;
[0038]S13 :按照執(zhí)行順序依次調(diào)用每一個事務對應的應用程序處理該事務。
[0039]本實施方式提供的方案,通過將接收到的任務進行分解,確定完成該任務需要執(zhí)行的各個事務以及各個事務的執(zhí)行順序;并且按照該執(zhí)行順序依次調(diào)用每一個事務對應的應用程序處理該事務。實現(xiàn)了對多個應用程序的統(tǒng)一調(diào)度,降低了應用程序切換的開銷,提高了應用程序協(xié)同處理事務的能力。
[0040]在具體實施時,可以同時接收多個任務,對每一個任務都進行上述步驟,從而實現(xiàn)多個任務的實時處理。
[0041]在具體實施時,可以創(chuàng)建一個虛擬進程,將各個應用程序加載到該虛擬進程中,虛擬進程使用上述方法對各個應用程序進行調(diào)度,并由虛擬進程提供對外接口,負責接收任務并且輸出處理結果。應用程序只需負責事務處理,各個應用程序之間沒有數(shù)據(jù)交互。通過虛擬進程協(xié)同調(diào)度應用程序,使各個應用程序有序、高速地完成任務處理。
[0042]上述虛擬進程指的是可以加載各個應用程序并對各個應用程序統(tǒng)一調(diào)度和控制的程序。
[0043]上述步驟S11中每一個應用程序能夠完成的事務可以是一個也可以是多個。
[0044]在具體實施時,可以將本實施方式提供的方法應用在地鐵綜合自動化系統(tǒng)中,通過統(tǒng)一調(diào)度多個應用程序協(xié)同完成多個實時任務。
[0045]優(yōu)選地,該方法還可以包括:
[0046]在調(diào)用每一個事務對應的應用程序處理該事務時,從公共數(shù)據(jù)池中獲取處理該事務對應的數(shù)據(jù),并將獲取到的數(shù)據(jù)發(fā)送給該應用程序;并在該應用程序執(zhí)行完該事務之后,將該應用程序的處理結果存儲到公共數(shù)據(jù)池中。
[0047]這樣的好處是,通過設置公共數(shù)據(jù)池保存各個應用程序處理事務時需要的數(shù)據(jù)以及各個應用程序的處理結果,各個應用程序之間無需進行數(shù)據(jù)交互,優(yōu)化了數(shù)據(jù)結構,減少了數(shù)據(jù)接口,并且各個應用程序直接訪問數(shù)據(jù),提高了數(shù)據(jù)訪問效率,實現(xiàn)了數(shù)據(jù)資源大限度的共享。
[0048]在具體實施時,上述公共數(shù)據(jù)池可以使用高速緩存技術實現(xiàn),也可以使用其它存儲器件實現(xiàn)。
[0049]優(yōu)選地,上述步驟S11可以包括以下步驟:
[0050]初始化各個應用程序,獲取各個應用程序中的每一個應用程序申請數(shù)據(jù)空間時注冊的事務作為該應用程序能夠完成的事務。
[0051]這樣的好