本申請(qǐng)涉及物聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種指令處理方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備。
背景技術(shù):
1、在智能家居的快速發(fā)展背景下,用戶對(duì)于遠(yuǎn)程操控家中智能家居設(shè)備的便利性提出了更高要求,尤其是像空調(diào)、電燈、掃地機(jī)器人等常用家電設(shè)備。用戶通過智能手機(jī)、平板電腦或穿戴手表等終端設(shè)備,在任意地點(diǎn)、任意時(shí)間,都能通過云服務(wù)輕松地向智能家居設(shè)備發(fā)送開關(guān)、調(diào)溫、模式切換等指令。這一過程通常是依賴于家庭網(wǎng)絡(luò)中網(wǎng)關(guān)來完成。網(wǎng)關(guān)作為智能家居系統(tǒng)的核心樞紐,負(fù)責(zé)接收來自用戶設(shè)備的指令,并將其轉(zhuǎn)換為對(duì)應(yīng)的控制信號(hào),進(jìn)而實(shí)現(xiàn)對(duì)家中各種智能家居設(shè)備的控制。
2、然而現(xiàn)有技術(shù)中大多數(shù)網(wǎng)關(guān)在處理指令時(shí)是采用串行執(zhí)行的方式,即一次只能處理一個(gè)指令,待當(dāng)前指令執(zhí)行完畢后才會(huì)開始處理下一個(gè)指令。這種處理方式在單個(gè)用戶或低并發(fā)場景下足夠應(yīng)對(duì),但隨著智能家居設(shè)備的數(shù)量增多以及大量用戶接入智能家居系統(tǒng),高并發(fā)場景下系統(tǒng)的指令處理效率過低的問題逐漸顯現(xiàn)。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種指令處理方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備,可以提高指令處理效率。所述技術(shù)方案如下:
2、第一方面,本申請(qǐng)實(shí)施例提供了一種指令處理方法,所述方法由處理器執(zhí)行,所述處理器可以同時(shí)運(yùn)行n個(gè)工作線程,所述n為正整數(shù),所述方法包括:
3、在所述n個(gè)工作線程中確定至少一個(gè)待運(yùn)行的目標(biāo)工作線程;
4、根據(jù)m個(gè)網(wǎng)關(guān)標(biāo)識(shí)中至少一個(gè)未占用的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),領(lǐng)取并加鎖各所述目標(biāo)工作線程對(duì)應(yīng)的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),所述m為正整數(shù),所述m個(gè)網(wǎng)關(guān)標(biāo)識(shí)對(duì)應(yīng)m個(gè)網(wǎng)關(guān),以及各所述網(wǎng)關(guān)標(biāo)識(shí)對(duì)應(yīng)包括多個(gè)待處理指令的待處理指令列表;
5、運(yùn)行所述目標(biāo)工作線程,根據(jù)所述目標(biāo)工作線程對(duì)應(yīng)的網(wǎng)關(guān),依次處理所述目標(biāo)工作線程對(duì)應(yīng)的待處理指令列表中多個(gè)待處理指令,直至滿足預(yù)設(shè)條件時(shí)停止運(yùn)行并恢復(fù)所述目標(biāo)工作線程為待運(yùn)行,以及釋放所述目標(biāo)網(wǎng)關(guān)標(biāo)識(shí)為未占用;
6、重復(fù)上述步驟直至所述m個(gè)網(wǎng)關(guān)標(biāo)識(shí)分別對(duì)應(yīng)的待處理指令列表處理完成。
7、第二方面,本申請(qǐng)實(shí)施例提供了一種指令處理裝置,所述指令處理裝置可以同時(shí)運(yùn)行n個(gè)工作線程,所述n為正整數(shù),所述裝置包括:
8、第一處理模塊,用于在所述n個(gè)工作線程中確定至少一個(gè)待運(yùn)行的目標(biāo)工作線程;
9、第二處理模塊,用于根據(jù)m個(gè)網(wǎng)關(guān)標(biāo)識(shí)中至少一個(gè)未占用的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),領(lǐng)取并加鎖各所述目標(biāo)工作線程對(duì)應(yīng)的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),所述m為正整數(shù),以及各所述網(wǎng)關(guān)標(biāo)識(shí)對(duì)應(yīng)包括多個(gè)待處理指令的待處理指令列表;
10、第三處理模塊,用于運(yùn)行所述目標(biāo)工作線程,根據(jù)所述目標(biāo)工作線程對(duì)應(yīng)的網(wǎng)關(guān),依次處理所述目標(biāo)工作線程對(duì)應(yīng)的待處理指令列表中多個(gè)待處理指令,直至滿足預(yù)設(shè)條件時(shí)停止運(yùn)行并恢復(fù)所述目標(biāo)工作線程為待運(yùn)行,以及釋放所述目標(biāo)網(wǎng)關(guān)標(biāo)識(shí)為未占用;
11、第四處理模塊,用于重復(fù)上述步驟直至所述m個(gè)網(wǎng)關(guān)標(biāo)識(shí)分別對(duì)應(yīng)的待處理指令列表處理完成。
12、第三方面,本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有多條指令,所述指令適于由處理器加載并執(zhí)行上述的方法步驟。
13、第四方面,本申請(qǐng)實(shí)施例提供一種電子設(shè)備,可包括:處理器和存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序適于由所述處理器加載并執(zhí)行上述的方法步驟。
14、本申請(qǐng)一些實(shí)施例提供的技術(shù)方案帶來的有益效果至少包括:
15、本申請(qǐng)執(zhí)行指令處理方法的處理器可以同時(shí)運(yùn)行n個(gè)工作線程,也即具有多線程并發(fā)的能力。在n個(gè)工作線程中確定至少一個(gè)待運(yùn)行的目標(biāo)工作線程,領(lǐng)取并加鎖各目標(biāo)工作線程對(duì)應(yīng)的未占用的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),也即本申請(qǐng)可以實(shí)現(xiàn)多網(wǎng)關(guān)并發(fā)的指令處理。進(jìn)一步運(yùn)行目標(biāo)工作線程,根據(jù)目標(biāo)工作線程對(duì)應(yīng)的網(wǎng)關(guān)依次對(duì)目標(biāo)工作線程對(duì)應(yīng)的多個(gè)待處理指令進(jìn)行處理,也即本申請(qǐng)可以實(shí)現(xiàn)單網(wǎng)關(guān)串行的指令處理。直至滿足預(yù)設(shè)條件時(shí)停止運(yùn)行并恢復(fù)目標(biāo)工作線程為待運(yùn)行,以及釋放目標(biāo)網(wǎng)關(guān)標(biāo)識(shí)為未占用,重復(fù)上述步驟直至m個(gè)網(wǎng)關(guān)標(biāo)識(shí)分別對(duì)應(yīng)的待處理指令列表處理完成。換而言之,本申請(qǐng)實(shí)現(xiàn)多網(wǎng)關(guān)并發(fā)和單網(wǎng)關(guān)串行的指令處理,提高對(duì)多指令處理的效率,同時(shí)解決了多線程多網(wǎng)關(guān)執(zhí)行指令時(shí)容易造成的阻塞問題,以及通過排他性占用網(wǎng)關(guān)標(biāo)識(shí)進(jìn)行指令處理,避免多個(gè)工作線程之間競爭,提高系統(tǒng)并發(fā)性能。
1.一種指令處理方法,其特征在于,所述方法由處理器執(zhí)行,所述處理器可以同時(shí)運(yùn)行n個(gè)工作線程,所述n為正整數(shù),所述方法包括:
2.根據(jù)權(quán)利要求1所述的指令處理方法,其特征在于,所述在所述n個(gè)工作線程中確定至少一個(gè)待運(yùn)行的目標(biāo)工作線程之前,還包括:
3.根據(jù)權(quán)利要求2所述的指令處理方法,其特征在于,所述根據(jù)各所述待處理指令對(duì)應(yīng)的網(wǎng)關(guān)標(biāo)識(shí),以及所述m個(gè)網(wǎng)關(guān)標(biāo)識(shí)分別對(duì)應(yīng)的待處理指令列表,將所述待處理指令分發(fā)至所述待處理指令對(duì)應(yīng)的待處理指令列表之前,還包括:
4.根據(jù)權(quán)利要求1所述的指令處理方法,其特征在于,所述根據(jù)m個(gè)網(wǎng)關(guān)標(biāo)識(shí)中至少一個(gè)未占用的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),領(lǐng)取并加鎖各所述目標(biāo)工作線程對(duì)應(yīng)的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),包括:
5.根據(jù)權(quán)利要求1或4所述的指令處理方法,其特征在于,所述運(yùn)行所述目標(biāo)工作線程,根據(jù)所述目標(biāo)工作線程對(duì)應(yīng)的網(wǎng)關(guān),依次處理所述目標(biāo)工作線程對(duì)應(yīng)的待處理指令列表中多個(gè)待處理指令,直至滿足預(yù)設(shè)條件時(shí)停止運(yùn)行并恢復(fù)所述目標(biāo)工作線程為待運(yùn)行,以及釋放所述目標(biāo)網(wǎng)關(guān)標(biāo)識(shí)為未占用,包括:
6.根據(jù)權(quán)利要求1所述的指令處理方法,其特征在于,所述根據(jù)m個(gè)網(wǎng)關(guān)標(biāo)識(shí)中至少一個(gè)未占用的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí),領(lǐng)取并加鎖各所述目標(biāo)工作線程對(duì)應(yīng)的目標(biāo)網(wǎng)關(guān)標(biāo)識(shí)之后,還包括:
7.根據(jù)權(quán)利要求7所述的指令處理方法,其特征在于,所述方法還包括:
8.一種指令處理裝置,其特征在于,所述指令處理裝置可以同時(shí)運(yùn)行n個(gè)工作線程,所述n為正整數(shù),所述裝置包括:
9.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有多條指令,所述指令適于由處理器加載并執(zhí)行如權(quán)利要求1~7任意一項(xiàng)的方法步驟。
10.一種電子設(shè)備,其特征在于,包括:處理器和存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序適于由所述處理器加載并執(zhí)行如權(quán)利要求1~7任意一項(xiàng)的方法步驟。