本技術(shù)涉及事件管理,特別是涉及一種事件處理方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
背景技術(shù):
1、隨著服務(wù)器技術(shù)的發(fā)展,對錯誤事件處理的需求也不斷增加,服務(wù)器需要發(fā)現(xiàn)并處理硬件和軟件故障,以保證系統(tǒng)的可靠性和穩(wěn)定性。
2、傳統(tǒng)技術(shù)中,首先,linux系統(tǒng)中的修復(fù)模塊對事件執(zhí)行隊列中的錯誤事件進行修復(fù),linux系統(tǒng)檢測到硬件設(shè)備發(fā)生錯誤時,通過aer(advanced?error?reporting)機制或dpc(downstream?port?containment)機制報告錯誤事件,系統(tǒng)接收到錯誤事件后將錯誤事件添加至事件執(zhí)行隊列。
3、然而,傳統(tǒng)技術(shù)中,由于不同的錯誤事件對應(yīng)的硬件設(shè)備可能存在處理邏輯的重復(fù)和沖突,在對事件執(zhí)行隊列中的錯誤事件進行處理時,可能會產(chǎn)生重復(fù)處理和處理沖突的情況,進而,造成系統(tǒng)的資源浪費,導(dǎo)致錯誤事件處理的效率較低。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種事件處理方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種事件處理方法,包括:
3、獲取錯誤檢測機制上報的目標(biāo)事件,根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,并基于防重互斥檢測結(jié)果更新所述等待隊列;
4、依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列。
5、上述事件處理方法中,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。
6、在其中一個實施例中,所述根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,包括:
7、根據(jù)所述目標(biāo)事件與等待隊列中的各等待事件在所述防重互斥檢測策略中確定所述目標(biāo)事件與各所述等待事件之間的目標(biāo)策略;
8、基于所述目標(biāo)事件和所述目標(biāo)策略依次對所述等待隊列中的各等待事件進行防重互斥檢測。
9、本實施例中,通過在防重互斥檢測策略中確定目標(biāo)事件與等待隊列中的各等待事件對應(yīng)的目標(biāo)策略,使用與當(dāng)前等待事件和目標(biāo)事件對應(yīng)的目標(biāo)策略,可以提高防重互斥檢測對于目標(biāo)事件與等待事件的適配性,提高防重互斥檢測的準(zhǔn)確性。
10、在其中一個實施例中,所述根據(jù)所述目標(biāo)事件與等待隊列中的各等待事件在所述防重互斥檢測策略中確定所述目標(biāo)事件與各所述等待事件之間的目標(biāo)策略,包括:
11、若所述目標(biāo)事件對應(yīng)的第一設(shè)備的第一設(shè)備路徑和所述等待事件對應(yīng)的第二設(shè)備的第二設(shè)備路徑相同,根據(jù)設(shè)備樹確定所述第一設(shè)備和各所述第二設(shè)備之間的設(shè)備關(guān)系;
12、根據(jù)所述設(shè)備關(guān)系、所述目標(biāo)事件的事件類型和各所述等待事件對應(yīng)的事件類型,在防重互斥檢測策略表中確定所述目標(biāo)事件與各所述等待事件之間的目標(biāo)策略。
13、本實施例中,通過目標(biāo)事件與等待事件的設(shè)備路徑確定當(dāng)前目標(biāo)事件是否需要與該等待事件進行防重互斥檢測,能夠避免對不必要的等待事件進行防重互斥檢測,可以提高檢測效率,進而在需要進行防重互斥檢測的情況下,依據(jù)設(shè)備間的關(guān)系在防重互斥檢測策略表中確定目標(biāo)策略,能夠精確實現(xiàn)對等待事件和目標(biāo)事件的防重互斥檢測,減少中央處理器需要處理的事件數(shù)量,提高事件處理效率。
14、在其中一個實施例中,所述基于防重互斥檢測結(jié)果更新所述等待隊列,包括:
15、若所述目標(biāo)事件與每一所述等待事件之間的所述防重互斥檢測結(jié)果均為事件不合并,則將所述目標(biāo)事件作為新的等待事件并添加至所述等待隊列;
16、在所述等待隊列中,若存在所述目標(biāo)事件與所述等待事件之間的所述防重互斥檢測的檢測結(jié)果為丟棄目標(biāo)事件,則將所述目標(biāo)事件進行丟棄;
17、若存在所述目標(biāo)事件與所述等待事件之間的所述防重互斥檢測的檢測結(jié)果為丟棄等待事件,則將所述等待隊列中的所述等待事件刪除。
18、本實施例中,通過在防重互斥檢測策略表中確定的目標(biāo)事件與等待事件之間的目標(biāo)策略,并依據(jù)目標(biāo)策略對目標(biāo)事件或等待事件進行舍棄,實現(xiàn)對目標(biāo)事件和等待事件的防重互斥處理,可以減少中央處理器需要處理的事件數(shù)量,提高事件處理效率。
19、在其中一個實施例中,所述依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列,包括:
20、依次獲取所述等待隊列中的等待事件,根據(jù)所述等待事件對應(yīng)的第一根端口與執(zhí)行隊列中各待執(zhí)行事件的第二根端口進行沖突檢測;
21、若所述第一根端口與所述第二根端口為不同根端口,則確定為不沖突檢測結(jié)果,并基于沖突檢測結(jié)果將所述等待事件添加至執(zhí)行隊列。
22、本實施例中,在將等待隊列中的等待事件加入執(zhí)行隊列前,通過對等待事件與待執(zhí)行隊列進行沖突檢測,并將沖突檢測結(jié)果為不沖突檢測結(jié)果的等待事件添加至待執(zhí)行隊列,可以防止執(zhí)行隊列中的待執(zhí)行事件發(fā)生執(zhí)行沖突的情況,進而提高事件處理的穩(wěn)定性。
23、在其中一個實施例中,所述依次獲取所述等待隊列中的等待事件,根據(jù)所述等待事件對應(yīng)的第一根端口與執(zhí)行隊列中各待執(zhí)行事件的第二根端口進行沖突檢測之后,所述方法還包括:
24、若所述第一根端口與所述第二根端口為同一根端口,則將所述沖突檢測確定為存在沖突,并在確定與所述等待事件存在沖突的待執(zhí)行事件完成執(zhí)行操作后,將所述等待事件添加至所述執(zhí)行隊列。
25、本實施例中,通過避免將與待執(zhí)行事件存在沖突的等待事件同時設(shè)置于執(zhí)行隊列,并在待執(zhí)行事件中與等待事件存在沖突的待執(zhí)行事件完成執(zhí)行操作后將等待事件添加至執(zhí)行隊列,可以避免執(zhí)行隊列中的待執(zhí)行事件發(fā)生執(zhí)行沖突的情況,進而提高事件處理的穩(wěn)定性。
26、第二方面,本技術(shù)還提供了一種事件處理裝置,包括:
27、防重互斥檢測模塊,用于獲取錯誤檢測機制上報的目標(biāo)事件,根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,并基于防重互斥檢測結(jié)果更新所述等待隊列;
28、沖突檢測模塊,用于依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列。
29、上述事件處理方法中,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。
30、在其中一個實施例中,所述防重互斥檢測模塊具體用于根據(jù)所述目標(biāo)事件與等待隊列中的各等待事件在所述防重互斥檢測策略中確定所述目標(biāo)事件與各所述等待事件之間的目標(biāo)策略;
31、基于所述目標(biāo)事件和所述目標(biāo)策略依次對所述等待隊列中的各等待事件進行防重互斥檢測。
32、本實施例中,通過在防重互斥檢測策略中確定目標(biāo)事件與等待隊列中的各等待事件對應(yīng)的目標(biāo)策略,使用與當(dāng)前等待事件和目標(biāo)事件對應(yīng)的目標(biāo)策略,可以提高防重互斥檢測對于目標(biāo)事件與等待事件的適配性,提高防重互斥檢測的準(zhǔn)確性。
33、在其中一個實施例中,所述防重互斥檢測模塊具體用于若所述目標(biāo)事件對應(yīng)的第一設(shè)備的第一設(shè)備路徑和所述等待事件對應(yīng)的第二設(shè)備的第二設(shè)備路徑相同,根據(jù)設(shè)備樹確定所述第一設(shè)備和各所述第二設(shè)備之間的設(shè)備關(guān)系;
34、根據(jù)所述設(shè)備關(guān)系、所述目標(biāo)事件的事件類型和各所述等待事件對應(yīng)的事件類型,在防重互斥檢測策略表中確定所述目標(biāo)事件與各所述等待事件之間的目標(biāo)策略。
35、本實施例中,通過目標(biāo)事件與等待事件的設(shè)備路徑確定當(dāng)前目標(biāo)事件是否需要與該等待事件進行防重互斥檢測,能夠避免對不必要的等待事件進行防重互斥檢測,可以提高檢測效率,進而在需要進行防重互斥檢測的情況下,依據(jù)設(shè)備間的關(guān)系在防重互斥檢測策略表中確定目標(biāo)策略,能夠精確實現(xiàn)對等待事件和目標(biāo)事件的防重互斥檢測,減少中央處理器需要處理的事件數(shù)量,提高事件處理效率。
36、在其中一個實施例中,所述防重互斥檢測模塊具體用于若所述目標(biāo)事件與每一所述等待事件之間的所述防重互斥檢測結(jié)果均為事件不合并,則將所述目標(biāo)事件作為新的等待事件并添加至所述等待隊列;
37、在所述等待隊列中,若存在所述目標(biāo)事件與所述等待事件之間的所述防重互斥檢測的檢測結(jié)果為丟棄目標(biāo)事件,則將所述目標(biāo)事件進行丟棄;
38、若存在所述目標(biāo)事件與所述等待事件之間的所述防重互斥檢測的檢測結(jié)果為丟棄等待事件,則將所述等待隊列中的所述等待事件刪除。
39、本實施例中,通過在防重互斥檢測策略表中確定的目標(biāo)事件與等待事件之間的目標(biāo)策略,并依據(jù)目標(biāo)策略對目標(biāo)事件或等待事件進行舍棄,實現(xiàn)對目標(biāo)事件和等待事件的防重互斥處理,可以減少中央處理器需要處理的事件數(shù)量,提高事件處理效率。
40、在其中一個實施例中,所述沖突檢測模塊具體用于依次獲取所述等待隊列中的等待事件,根據(jù)所述等待事件對應(yīng)的第一根端口與執(zhí)行隊列中各待執(zhí)行事件的第二根端口進行沖突檢測;
41、若所述第一根端口與所述第二根端口為不同根端口,則確定為不沖突檢測結(jié)果,并基于沖突檢測結(jié)果將所述等待事件添加至執(zhí)行隊列。
42、本實施例中,在將等待隊列中的等待事件加入執(zhí)行隊列前,通過對等待事件與待執(zhí)行隊列進行沖突檢測,并將沖突檢測結(jié)果為不沖突檢測結(jié)果的等待事件添加至待執(zhí)行隊列,可以防止執(zhí)行隊列中的待執(zhí)行事件發(fā)生執(zhí)行沖突的情況,進而提高事件處理的穩(wěn)定性。
43、在其中一個實施例中,所述裝置還包括:
44、添加模塊,用于若所述第一根端口與所述第二根端口為同一根端口,則將所述沖突檢測確定為存在沖突,并在確定與所述等待事件存在沖突的待執(zhí)行事件完成執(zhí)行操作后,將所述等待事件添加至所述執(zhí)行隊列。
45、本實施例中,通過避免將與待執(zhí)行事件存在沖突的等待事件同時設(shè)置于執(zhí)行隊列,并在待執(zhí)行事件中與等待事件存在沖突的待執(zhí)行事件完成執(zhí)行操作后將等待事件添加至執(zhí)行隊列,可以避免執(zhí)行隊列中的待執(zhí)行事件發(fā)生執(zhí)行沖突的情況,進而提高事件處理的穩(wěn)定性。
46、第三方面,本技術(shù)還提供了一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
47、獲取錯誤檢測機制上報的目標(biāo)事件,根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,并基于防重互斥檢測結(jié)果更新所述等待隊列;
48、依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列。
49、上述事件處理方法中,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。
50、第四方面,本技術(shù)還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:
51、獲取錯誤檢測機制上報的目標(biāo)事件,根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,并基于防重互斥檢測結(jié)果更新所述等待隊列;
52、依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列。
53、上述事件處理方法中,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。
54、第五方面,本技術(shù)還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)以下步驟:
55、獲取錯誤檢測機制上報的目標(biāo)事件,根據(jù)防重互斥檢測策略和所述目標(biāo)事件對等待隊列進行防重互斥檢測,并基于防重互斥檢測結(jié)果更新所述等待隊列;
56、依次獲取所述等待隊列中的等待事件,基于所述等待事件與執(zhí)行隊列中的各待執(zhí)行事件進行沖突檢測,基于沖突檢測結(jié)果,將所述等待事件添加至執(zhí)行隊列。
57、上述事件處理方法中,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。
58、上述事件處理方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,通過等待隊列實現(xiàn)對目標(biāo)事件和等待事件進行防重互斥檢測,可以減少不必要的事件處理,降低系統(tǒng)資源消耗,提高對目標(biāo)事件處理的效率;通過執(zhí)行隊列對目標(biāo)事件和待執(zhí)行事件進行沖突檢測,可以防止沖突事件并發(fā)處理導(dǎo)致事件處理故障,提高事件處理的可靠性并進一步提高對目標(biāo)事件處理的效率。