本發(fā)明涉及降低通信延遲的方法,屬于通信領(lǐng)域。
背景技術(shù):
1、通常物聯(lián)網(wǎng)設(shè)備沒辦法直接連接數(shù)據(jù)庫(kù),一般使用外部api對(duì)數(shù)據(jù)庫(kù)查詢,比如使用http、tcp或mqtt等協(xié)議發(fā)送查詢命令,由服務(wù)器使用sql語句周期輪詢數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù),并根據(jù)數(shù)據(jù)結(jié)果判斷后返回給物聯(lián)網(wǎng)設(shè)備,因?yàn)閟ql語句是應(yīng)答機(jī)制,只有查詢時(shí)數(shù)據(jù)庫(kù)才會(huì)返回結(jié)果,不查詢數(shù)據(jù)庫(kù)不返回結(jié)果,所以當(dāng)服務(wù)器沒有查詢數(shù)據(jù)庫(kù)時(shí)若數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)有變動(dòng),只能等到下次服務(wù)器查詢時(shí)數(shù)據(jù)庫(kù)才能返回結(jié)果,所以這種輪詢查詢延遲較高,易使數(shù)據(jù)在兩次查詢中的修改均無法及時(shí)反饋到物聯(lián)網(wǎng)設(shè)備上;若通過提高輪詢頻率來解決通信延遲的問題,則會(huì)浪費(fèi)服務(wù)器資源;因此,若降低頻率查詢則通信延遲較高,若提高頻率查詢會(huì)浪費(fèi)服務(wù)器資源,導(dǎo)致通信速率和服務(wù)器資源二者無法兼得,所以現(xiàn)要解決在不浪費(fèi)服務(wù)器資源的同時(shí),降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間的通信延遲問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是為了解決在不浪費(fèi)服務(wù)器資源的同時(shí),降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的問題,提出了一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法。
2、一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法,所述方法包括以下內(nèi)容:
3、步驟1、服務(wù)器后臺(tái)程序內(nèi)預(yù)設(shè)配置文件,服務(wù)器后臺(tái)程序用于上電后讀取內(nèi)部預(yù)設(shè)的配置文件,配置文件包括多種物聯(lián)網(wǎng)設(shè)備的id、每種id對(duì)應(yīng)的topic和每種id對(duì)應(yīng)的條件語句,讀取完成后,將條件語句發(fā)送給數(shù)據(jù)庫(kù),并向數(shù)據(jù)庫(kù)發(fā)送注冊(cè)消息,數(shù)據(jù)庫(kù)接收到條件語句和注冊(cè)消息后,向服務(wù)器后臺(tái)程序發(fā)送注冊(cè)成功的消息;
4、步驟2、當(dāng)數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)修改時(shí),判斷該修改后的數(shù)據(jù)是否滿足條件語句中的條件,如果是,則向注冊(cè)該語句的服務(wù)器后臺(tái)程序發(fā)送數(shù)據(jù)變動(dòng)通知,如果否,則禁止向服務(wù)器后臺(tái)程序發(fā)送數(shù)據(jù)變動(dòng)通知,服務(wù)器后臺(tái)程序接收到該變動(dòng)通知后向數(shù)據(jù)庫(kù)發(fā)送查詢修改后的數(shù)據(jù)請(qǐng)求,數(shù)據(jù)庫(kù)接收到該請(qǐng)求后將修改后的數(shù)據(jù)發(fā)送給服務(wù)器后臺(tái)程序,服務(wù)器后臺(tái)程序從預(yù)設(shè)的配置文件中找到該修改后的數(shù)據(jù)所對(duì)應(yīng)的topic和id,將修改后的數(shù)據(jù)通過對(duì)應(yīng)的topic發(fā)送給對(duì)應(yīng)的id的物聯(lián)網(wǎng)設(shè)備。
5、優(yōu)選地,物聯(lián)網(wǎng)設(shè)備的種類包括:股道指示燈、激光圍欄和庫(kù)內(nèi)4g喇叭。
6、優(yōu)選地,條件語句為:狀態(tài)不為0或時(shí)間為1個(gè)小時(shí)內(nèi)。
7、優(yōu)選地,數(shù)據(jù)庫(kù)為sql數(shù)據(jù)庫(kù)。
8、本發(fā)明的有益效果是:
9、服務(wù)器后臺(tái)程序向數(shù)據(jù)庫(kù)發(fā)送注冊(cè)消息。一旦數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)生變化,會(huì)發(fā)送通知消息給服務(wù)器后臺(tái)程序。服務(wù)器后臺(tái)程序根據(jù)配置文件將變化消息通過對(duì)應(yīng)的topic發(fā)送給對(duì)應(yīng)id的物聯(lián)網(wǎng)設(shè)備。所以本申請(qǐng)既可以降低資源占用,還可以降低通信延遲。
10、當(dāng)查詢到相應(yīng)變化的行或數(shù)據(jù)后,將變化數(shù)據(jù)根據(jù)配置文件預(yù)設(shè)的規(guī)則,發(fā)布到對(duì)應(yīng)的topic上,這樣有助于降低服務(wù)器資源消耗和通信延遲。
1.一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法,其特征在于,所述方法包括以下內(nèi)容:
2.根據(jù)權(quán)利要求1所述的一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法,其特征在于,物聯(lián)網(wǎng)設(shè)備的種類包括:股道指示燈、激光圍欄和庫(kù)內(nèi)4g喇叭。
3.根據(jù)權(quán)利要求1所述的一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法,其特征在于,條件語句為:狀態(tài)不為0或時(shí)間為1個(gè)小時(shí)內(nèi)。
4.根據(jù)權(quán)利要求1所述的一種降低物聯(lián)網(wǎng)設(shè)備與數(shù)據(jù)庫(kù)之間通信延遲的方法,其特征在于,數(shù)據(jù)庫(kù)為sql數(shù)據(jù)庫(kù)。