欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種M2M環(huán)境下的語(yǔ)義流處理方法及裝置與流程

文檔序號(hào):12597363閱讀:303來(lái)源:國(guó)知局
一種M2M環(huán)境下的語(yǔ)義流處理方法及裝置與流程

本發(fā)明涉及大數(shù)據(jù)處理領(lǐng)域,特別涉及一種M2M環(huán)境下的語(yǔ)義流處理方法及裝置。



背景技術(shù):

物聯(lián)網(wǎng),即M2M(Machine-To-Machine,機(jī)器對(duì)機(jī)器)環(huán)境下,包括多種不同的設(shè)備,例如各式各樣的感知設(shè)備,如RFID(Radio Frequency Identification,射頻識(shí)別)設(shè)備、各種傳感器設(shè)備、智能手機(jī)、智能家居、穿戴式設(shè)備,等等。

不同的設(shè)備功能各異,所對(duì)應(yīng)的數(shù)據(jù)格式和數(shù)據(jù)標(biāo)準(zhǔn)等都不盡相同,并且,不同設(shè)備所提供的數(shù)據(jù)的相關(guān)接口、格式、協(xié)議等大部分是自定義的,缺乏統(tǒng)一的標(biāo)準(zhǔn),這使得在物聯(lián)網(wǎng)中,大量的資源和數(shù)據(jù)無(wú)法共享,從而無(wú)法得到充分的利用,這將重蹈以往“信息孤島”的覆轍,是實(shí)現(xiàn)真正的“物物相連”的物聯(lián)網(wǎng)的巨大障礙。因此,如何較為有效地處理物聯(lián)網(wǎng)設(shè)備在數(shù)據(jù)方面的異構(gòu)性,也成為一個(gè)亟需解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供一種M2M環(huán)境下的語(yǔ)義流處理方法及裝置,用于解決物聯(lián)網(wǎng)中資源和數(shù)據(jù)無(wú)法共享的技術(shù)問(wèn)題。

第一方面,提供一種M2M環(huán)境下的語(yǔ)義流處理方法,包括:

接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,所述語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,所述查詢請(qǐng)求用于查詢所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息;

對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口;

在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),包括:

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);按照所述預(yù)設(shè)語(yǔ)義對(duì)所述至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口,包括:

對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成所述查詢窗口。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,

在接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句之后,還包括:

將所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢,包括:

在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,在得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,還包括:

將所述語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ) 義流數(shù)據(jù);所述M個(gè)離散語(yǔ)義流數(shù)據(jù)為所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第四種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,在針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,還包括:

輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),所述查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第五種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:

確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;所述第一節(jié)點(diǎn)設(shè)備為Spark集群中的任一設(shè)備;

向所述第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,所述第一故障通知消息用于通知所述第一節(jié)點(diǎn)設(shè)備,所述第一數(shù)據(jù)有誤。

結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第六種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述方法還包括:

在基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)所述第二故障通知消息確定傳輸給所述至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

將所述重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給所述至少一個(gè)節(jié)點(diǎn)設(shè)備。

第二方面,提供一種M2M環(huán)境下的語(yǔ)義流處理裝置,所述裝置位于Spark集群中的基礎(chǔ)設(shè)施節(jié)點(diǎn)中;所述裝置包括:

接收模塊,用于接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,所述語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,所述查詢請(qǐng)求用于查詢所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息;

生成模塊,用于對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口;

查詢模塊,用于在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述接收模塊用于:

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);按照所述預(yù)設(shè)語(yǔ)義對(duì)所述至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述生成模塊用于:

對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成所述查詢窗口。

結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述裝置還包括離散化模塊;

所述離散化模塊用于:在所述接收模塊接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句之后,將所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

所述查詢模塊用于:在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述裝置還包括合并模塊,用于:

在所述離散化模塊得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,將所述語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ)義流數(shù)據(jù);所述M個(gè)離散語(yǔ)義流數(shù)據(jù)為所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式至第四種可能的實(shí)現(xiàn)方式中的任 一種可能的實(shí)現(xiàn)方式,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述裝置還包括輸出模塊,用于:

在所述查詢模塊針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),所述查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式至第五種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第二方面的第六種可能的實(shí)現(xiàn)方式中,所述裝置還包括確定模塊和發(fā)送模塊;

所述確定模塊,用于確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;所述第一節(jié)點(diǎn)設(shè)備為所述Spark集群中的任一設(shè)備;

所述發(fā)送模塊,用于向所述第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,所述第一故障通知消息用于通知所述第一節(jié)點(diǎn)設(shè)備,所述第一數(shù)據(jù)有誤。

結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式至第六種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第二方面的第七種可能的實(shí)現(xiàn)方式中,所述裝置還包括獲取模塊和發(fā)送模塊;

所述接收模塊還用于:在所述基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)所述第二故障通知消息確定傳輸給所述至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

所述獲取模塊用于:根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

所述發(fā)送模塊用于:將所述重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給所述至少一個(gè)節(jié)點(diǎn)設(shè)備。

第三方面,提供一種M2M環(huán)境下的語(yǔ)義流處理裝置,所述裝置位于Spark集群中的基礎(chǔ)設(shè)施節(jié)點(diǎn)中;所述裝置包括:

存儲(chǔ)器,用于存儲(chǔ)指令;

接收器,用于接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,所 述語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,所述查詢請(qǐng)求用于查詢所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息;

處理器,用于執(zhí)行所述指令,對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口;在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,

所述接收器用于:接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

所述接收器用于:接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);所述處理器用于:按照所述預(yù)設(shè)語(yǔ)義對(duì)所述至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器用于:

對(duì)所述語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成所述查詢窗口。

結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述處理器還用于:

在所述接收器接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句之后,將所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

在所述查詢窗口中,根據(jù)所述查詢請(qǐng)求,針對(duì)所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

結(jié)合第三方面的第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述處理器還用于:

在得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,將所述語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ)義流數(shù)據(jù);所述M個(gè)離散語(yǔ)義流數(shù)據(jù)為 所述至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式至第四種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第三方面的第五種可能的實(shí)現(xiàn)方式中,所述裝置還包括發(fā)送器;

所述發(fā)送器用于:在所述處理器針對(duì)所述至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),所述查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式至第五種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第三方面的第六種可能的實(shí)現(xiàn)方式中,

所述處理器還用于:確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;所述第一節(jié)點(diǎn)設(shè)備為Spark集群中的任一設(shè)備;

所述發(fā)送器還用于:向所述第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,所述第一故障通知消息用于通知所述第一節(jié)點(diǎn)設(shè)備,所述第一數(shù)據(jù)有誤。

結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式至第六種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式,在第三方面的第七種可能的實(shí)現(xiàn)方式中,

所述接收器還用于:在所述基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)所述第二故障通知消息確定傳輸給所述至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

所述處理器還用于:根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

所述發(fā)送器還用于:將所述重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給所述至少一個(gè)節(jié)點(diǎn)設(shè)備。

第四方面,提供一種基礎(chǔ)設(shè)施節(jié)點(diǎn),包括如前任一方面所述的M2M環(huán)境下的語(yǔ)義流處理裝置。

本發(fā)明實(shí)施例提供了一種預(yù)設(shè)語(yǔ)義,從而可以將各設(shè)備的數(shù)據(jù)按照該預(yù)設(shè)語(yǔ)義進(jìn)行轉(zhuǎn)換,例如接收的至少一個(gè)普通語(yǔ)義流數(shù)據(jù)來(lái)自于多個(gè)設(shè)備,不同的設(shè)備對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、格式等不同,但是按照本發(fā)明中的方式,可以將來(lái)自不 同終端設(shè)備的不同格式的數(shù)據(jù)先按照預(yù)設(shè)語(yǔ)義,標(biāo)注為具有同一語(yǔ)義結(jié)構(gòu)的語(yǔ)義流數(shù)據(jù),從而可以對(duì)不同設(shè)備的數(shù)據(jù)進(jìn)行處理,使得大量的資源和數(shù)據(jù)能夠有效實(shí)現(xiàn)共享,從而得到充分的利用,提高了資源利用率,也給物聯(lián)網(wǎng)的真正實(shí)現(xiàn)提供了解決方案。

另外,實(shí)時(shí)性是物聯(lián)網(wǎng)領(lǐng)域應(yīng)用的一個(gè)重要需求,包括交通導(dǎo)航、打車應(yīng)用、智能停車、災(zāi)難檢測(cè)等都需要嚴(yán)格的實(shí)時(shí)性保證,對(duì)于這類實(shí)時(shí)性較強(qiáng)的數(shù)據(jù),其價(jià)值會(huì)隨著時(shí)間的流逝而減少,如果無(wú)法對(duì)其進(jìn)行及時(shí)分析和響應(yīng),那么便很可能會(huì)錯(cuò)過(guò)一個(gè)機(jī)會(huì),或者遺漏一個(gè)潛在的威脅。本發(fā)明實(shí)施例中,將各設(shè)備的數(shù)據(jù)標(biāo)注為流數(shù)據(jù)進(jìn)行處理(例如標(biāo)注為普通語(yǔ)義流數(shù)據(jù)),并且會(huì)通過(guò)窗口進(jìn)行處理,從而提高了數(shù)據(jù)處理過(guò)程的實(shí)時(shí)性,盡量使每個(gè)實(shí)時(shí)性數(shù)據(jù)的價(jià)值都能夠得到體現(xiàn),避免資源浪費(fèi)。

附圖說(shuō)明

圖1為oneM2M定義的M2M功能架構(gòu);

圖2為本發(fā)明實(shí)施例中M2M環(huán)境下的語(yǔ)義流處理方法的流程圖;

圖3為本發(fā)明實(shí)施例中一個(gè)家庭場(chǎng)景下的M2M架構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例中基礎(chǔ)設(shè)施節(jié)點(diǎn)中包括的M2M環(huán)境下的語(yǔ)義流處理裝置的示意圖;

圖5為本發(fā)明實(shí)施例中基于RDD對(duì)應(yīng)的世系圖的Dstream容錯(cuò)機(jī)制示意圖;

圖6為本發(fā)明實(shí)施例中M2M環(huán)境下的語(yǔ)義流處理裝置的結(jié)構(gòu)框圖;

圖7為本發(fā)明實(shí)施例中M2M環(huán)境下的語(yǔ)義流處理裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中 的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實(shí)施例的技術(shù)方案,基于oneM2M標(biāo)準(zhǔn)。oneM2M,旨在建立統(tǒng)一的業(yè)務(wù)層的M2M技術(shù)標(biāo)準(zhǔn),其中包含M2M設(shè)備服務(wù)和數(shù)據(jù)的語(yǔ)義增強(qiáng)相關(guān)的技術(shù)標(biāo)準(zhǔn)。oneM2M標(biāo)準(zhǔn)組織的總體目標(biāo)是創(chuàng)造M2M通信的業(yè)務(wù)層的開(kāi)放標(biāo)準(zhǔn),以促進(jìn)建立一個(gè)集成各種設(shè)備和服務(wù)的未來(lái)網(wǎng)絡(luò),使M2M業(yè)務(wù)可互操作,也使得M2M應(yīng)用可以共享基礎(chǔ)業(yè)務(wù)并獨(dú)立于網(wǎng)絡(luò)實(shí)現(xiàn)。

M2M可應(yīng)用在不同的行業(yè)中,例如醫(yī)療保健、運(yùn)輸、能源、安全和監(jiān)控、家庭自動(dòng)化與控制等。例如,在能源行業(yè)中,一個(gè)智能計(jì)量系統(tǒng)的設(shè)備部署方案,一些智能計(jì)量設(shè)備(如電表,燃?xì)獗?,水?可以通過(guò)網(wǎng)關(guān)連接到數(shù)據(jù)中心,就構(gòu)成一個(gè)M2M。

例如請(qǐng)參見(jiàn)圖1,為oneM2M定義的M2M功能架構(gòu)。本發(fā)明實(shí)施例中,將M2M中的設(shè)備稱為M2M設(shè)備。

在圖1中,M2M包括兩個(gè)域,分別為Field Domain(場(chǎng)域)和Infrastructure Domain(基礎(chǔ)設(shè)施域)。

Field Domain,由M2M終端設(shè)備、M2M網(wǎng)關(guān)、傳感與激勵(lì)(S&A)設(shè)備、M2M局域網(wǎng)絡(luò)等部分組成。

Infrastructure Domain,由Application Infrastructure(應(yīng)用基礎(chǔ)設(shè)施)與M2M Service Infrastructure(服務(wù)基礎(chǔ)設(shè)施)組成。

例如,局域網(wǎng)絡(luò)中可以包含NSE;網(wǎng)關(guān)可以包含NSE,也可能會(huì)包含AE和CSE;M2M終端設(shè)備、傳感與激勵(lì)設(shè)備可能包含AE和CSE,等等。

M2M AE(Application Entity,應(yīng)用實(shí)體)與M2M CSE(Common Services Entity,普通服務(wù)實(shí)體)通過(guò)Mca參考點(diǎn)進(jìn)行通信。在Filed Domain中的CSE與Infrastructure Domain的CSE通過(guò)Mcc參考點(diǎn)通信,對(duì)于所屬不同Service Provider(服務(wù)提供商)的Infrastructure node(基礎(chǔ)設(shè)施節(jié)點(diǎn))上的CSE,可通過(guò)Mcc’參考點(diǎn)通信(圖1中未示出具體與哪些設(shè)備進(jìn)行通信)。CSE與 NSE(Underlying Network Service Entity,基礎(chǔ)網(wǎng)絡(luò)服務(wù)實(shí)體)通過(guò)Mcn參考點(diǎn)進(jìn)行通信。

圖1架構(gòu)中,定義如下:

AE:提供端到端的M2M解決方案的應(yīng)用邏輯。例如可以提供遠(yuǎn)端血壓血糖監(jiān)控、遠(yuǎn)端抄表等應(yīng)用邏輯。

CSE:包含一組oneM2M規(guī)定的服務(wù)功能,該服務(wù)功能通過(guò)Mca參考點(diǎn)和Mcc參考點(diǎn)開(kāi)放給其他實(shí)體。CSE提供的服務(wù)功能包括:Data Management(數(shù)據(jù)管理)、Device Management(設(shè)備管理)、M2M Subscription Management(物聯(lián)網(wǎng)訂閱管理)、Location Services(定位服務(wù))等。CSE提供的每個(gè)服務(wù)功能,在邏輯上可以理解為一個(gè)CSF(Common Service Function,普通服務(wù)功能)。在一個(gè)CSE中,有些CSF是必選的,有些CSF是可選的。在一個(gè)CSF內(nèi)又可以包括一個(gè)或多個(gè)子功能,同樣的,在一個(gè)CSF中,有些子功能是可選的,有些子功能是必選的。

NSE:給CSE提供服務(wù)。其提供的服務(wù)可以包括:Device Management、location Services、Device Triggering(設(shè)備觸發(fā))等。

Mca參考點(diǎn):AE和CSE之間的接口,也稱為參考點(diǎn)。該參考點(diǎn)使AE能夠使用CSE提供的業(yè)務(wù)(即具有CSE提供的能力),并使CSE能夠反向與AE通信。CSE具體通過(guò)Mca參考點(diǎn)向AE提供哪些業(yè)務(wù)(即如前所述的服務(wù)功能),取決于CSE所支持的服務(wù)功能。另外,AE和CSE并不一定位于同一個(gè)實(shí)體設(shè)備上。

Mcc參考點(diǎn):CSE之間的通信接口,也稱為參考點(diǎn)。Mcc參考點(diǎn)使得一個(gè)CSE能使用另一個(gè)CSE所提供的服務(wù)功能,而這個(gè)服務(wù)功能可能是另一個(gè)CSE具有而該一個(gè)CSE不具有的,當(dāng)然也可能是該一個(gè)CSE本身所具有的。兩個(gè)CSE之間的Mcc參考點(diǎn)需要被不同的M2M物理實(shí)體所支持。

Mcn參考點(diǎn):CSE與NSE之間的接口,也稱為參考點(diǎn)。使CSE能使用承載網(wǎng)絡(luò)提供給上層的業(yè)務(wù)。這里所述的業(yè)務(wù)不同于承載網(wǎng)絡(luò)的基礎(chǔ)的網(wǎng)絡(luò)業(yè)務(wù) (任何兩個(gè)M2M物理節(jié)點(diǎn)之間交換的信息都默認(rèn)會(huì)使用傳輸和連接性的業(yè)務(wù),這些業(yè)務(wù)被看作是基礎(chǔ)的網(wǎng)絡(luò)業(yè)務(wù))。Mcn參考點(diǎn)的實(shí)例化取決于底層網(wǎng)絡(luò)提供的能力。

目前M2M通信可以基于有線方式,無(wú)線方式包括蜂窩網(wǎng)和短距,其中3GPP蜂窩網(wǎng)是廣泛使用的一種方式。

本發(fā)明實(shí)施例中的裝置可以構(gòu)建于具有高可擴(kuò)展性的Spark(一種大數(shù)據(jù)分布式處理框架)集群計(jì)算平臺(tái)之上,利用其高效的實(shí)時(shí)流式處理框架Spark Streaming,將輸入的語(yǔ)義流建模為DStream(Discretized Stream,離散流),進(jìn)而通過(guò)其滑動(dòng)窗口原理來(lái)連續(xù)的計(jì)算單個(gè)時(shí)間間隔內(nèi)的結(jié)果,并對(duì)重復(fù)利用的中間結(jié)果或者背景知識(shí)庫(kù)進(jìn)行緩存以支持高效的查詢和推理。

另外,本文中術(shù)語(yǔ)“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中常被可互換使用。本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,如無(wú)特殊說(shuō)明,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。

下面結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。

請(qǐng)參見(jiàn)圖2,本發(fā)明實(shí)施例提供一種M2M環(huán)境下的語(yǔ)義流處理方法,所述方法的流程描述如下。

步驟201:接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,查詢請(qǐng)求用于查詢至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息。

例如請(qǐng)參考圖3,為一個(gè)家庭場(chǎng)景下的M2M架構(gòu),本發(fā)明實(shí)施例中的方法以該架構(gòu)為例,圖2流程的執(zhí)行主體可以是圖3中的基礎(chǔ)設(shè)施節(jié)點(diǎn)(Infrastructure Node,IN),即,圖2的各個(gè)步驟可以是由圖3中的基礎(chǔ)設(shè)施節(jié)點(diǎn)完成。

圖3中以6個(gè)終端設(shè)備為例,分別為圖3中的終端設(shè)備1、終端設(shè)備2、終端設(shè)備3、終端設(shè)備4、終端設(shè)備5和終端設(shè)備6,這些終端設(shè)備,例如可以是手機(jī)、PAD(平板電腦)、傳感器、空氣凈化器、空調(diào)、智能電視、智能冰箱等等不同的設(shè)備。這些終端設(shè)備均通過(guò)Mcc參考點(diǎn)連接到基礎(chǔ)設(shè)施節(jié)點(diǎn),另外,各終端設(shè)備也可以通過(guò)Mcc參考點(diǎn)連接,當(dāng)然,各終端設(shè)備可視情況確定具體與哪些終端設(shè)備連接。其中,基礎(chǔ)設(shè)施節(jié)點(diǎn)屬于Infrastructure Domain,各終端設(shè)備屬于Field Domain。

包括AE、物理實(shí)體在內(nèi)的所有節(jié)點(diǎn),首先需要向本地的CSE注冊(cè)為抽象實(shí)體。在圖3架構(gòu)中,就是各個(gè)終端設(shè)備需要首先向基礎(chǔ)設(shè)施節(jié)點(diǎn)進(jìn)行注冊(cè)。同時(shí),通過(guò)語(yǔ)義引擎,所有節(jié)點(diǎn)向包含了設(shè)備和服務(wù)信息的基礎(chǔ)設(shè)施節(jié)點(diǎn)中的語(yǔ)義信息倉(cāng)庫(kù)注冊(cè)抽象實(shí)體。

例如,每個(gè)傳感器所對(duì)應(yīng)生成的數(shù)據(jù)通過(guò)相關(guān)的接口輸入oneM2M系統(tǒng)的基礎(chǔ)設(shè)施節(jié)點(diǎn),在基礎(chǔ)設(shè)施節(jié)點(diǎn)內(nèi)部會(huì)被注冊(cè)為一個(gè)抽象實(shí)體,以供語(yǔ)義混聚之用。在本發(fā)明實(shí)施例的架構(gòu)中,各終端設(shè)備的數(shù)據(jù)實(shí)際輸入到了Spark集群,在Spark中,使用DStream來(lái)表示對(duì)數(shù)據(jù)流的高級(jí)抽象,因此本發(fā)明實(shí)施例中,將流入Spark集群的語(yǔ)義流數(shù)據(jù)也可稱為“Semantic-Dstream(離散語(yǔ)義流)”。在概念上,一個(gè)抽象實(shí)體與一個(gè)Semantic-DStream相對(duì)應(yīng)。

基礎(chǔ)設(shè)施節(jié)點(diǎn)的CSE,即IN-CSE,由兩個(gè)主要的功能模塊構(gòu)成,一個(gè)功能模塊是語(yǔ)義信息倉(cāng)庫(kù),另一個(gè)功能模塊是語(yǔ)義引擎。其中,語(yǔ)義信息倉(cāng)庫(kù)的功能是通過(guò)Spark集群實(shí)現(xiàn)的,利用Spark集群提供的面向DStream的多種操作接口,如map(映射)、filter(過(guò)濾)、union(聯(lián)合)、join(連接)、transform(變換)、及reduce(還原)等接口,可以方便地對(duì)語(yǔ)義流數(shù)據(jù)進(jìn)行映射、過(guò)濾、取并、連接、聚集等操作,滿足語(yǔ)義混聚的需求。語(yǔ)義引擎負(fù)責(zé)解析來(lái)自IN-CSE外部的AE對(duì)某個(gè)資源的語(yǔ)義查詢請(qǐng)求,協(xié)調(diào)語(yǔ)義信息倉(cāng)庫(kù)實(shí)施語(yǔ)義混聚,將語(yǔ)義混聚后的結(jié)果返回給相應(yīng)的AE。

各個(gè)終端設(shè)備在注冊(cè)到基礎(chǔ)設(shè)施節(jié)點(diǎn)后(向基礎(chǔ)設(shè)施節(jié)點(diǎn)進(jìn)行注冊(cè)),可 以實(shí)時(shí)將數(shù)據(jù)發(fā)送給基礎(chǔ)設(shè)施節(jié)點(diǎn)。例如,溫度傳感器在注冊(cè)到基礎(chǔ)設(shè)施節(jié)點(diǎn)后,可以實(shí)時(shí)將采集到的溫度值發(fā)送給基礎(chǔ)設(shè)施節(jié)點(diǎn)。

可選的,本發(fā)明實(shí)施例中,接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),包括:

接收一個(gè)或多個(gè)至少一個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

接收一個(gè)或多個(gè)至少一個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);按照預(yù)設(shè)語(yǔ)義對(duì)至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

本發(fā)明實(shí)施例中,各個(gè)終端設(shè)備所采用的數(shù)據(jù)結(jié)構(gòu)、語(yǔ)義等可能不同,因此涉及到要將各個(gè)不同語(yǔ)義的數(shù)據(jù)標(biāo)注為具有同一語(yǔ)義的數(shù)據(jù)的問(wèn)題。這個(gè)語(yǔ)義標(biāo)注過(guò)程可以由基礎(chǔ)設(shè)施節(jié)點(diǎn)完成,或者也可以由各終端設(shè)備自己完成。

例如,語(yǔ)義標(biāo)注過(guò)程可以通過(guò)Proxies(一種代理程序)完成,那么該代理程序可以安裝在基礎(chǔ)設(shè)施節(jié)點(diǎn)中,或者也可以安裝在各個(gè)終端設(shè)備中。如果安裝在基礎(chǔ)設(shè)施節(jié)點(diǎn)中,那么各終端設(shè)備發(fā)送給基礎(chǔ)設(shè)施節(jié)點(diǎn)的數(shù)據(jù)(本發(fā)明實(shí)施例中將來(lái)自終端設(shè)備的、進(jìn)行標(biāo)注之前的數(shù)據(jù)稱為普通數(shù)據(jù))就可能具有不同的語(yǔ)義、數(shù)據(jù)結(jié)構(gòu)等,基礎(chǔ)設(shè)施節(jié)點(diǎn)接收到之后再分別通過(guò)代理程序進(jìn)行語(yǔ)義標(biāo)注,得到相應(yīng)的普通語(yǔ)義流數(shù)據(jù)。而如果該代理程序安裝在各個(gè)終端設(shè)備中,那么終端設(shè)備在要向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送普通數(shù)據(jù)時(shí),先通過(guò)代理程序?qū)ζ胀〝?shù)據(jù)進(jìn)行標(biāo)注,之后再將標(biāo)注后得到的普通語(yǔ)義流數(shù)據(jù)發(fā)送給基礎(chǔ)設(shè)施節(jié)點(diǎn),這樣,基礎(chǔ)設(shè)施節(jié)點(diǎn)接收到的就都是遵循同一語(yǔ)義的語(yǔ)義流數(shù)據(jù),無(wú)需再進(jìn)行標(biāo)注,直接可以進(jìn)行處理。

本發(fā)明實(shí)施例中,預(yù)設(shè)語(yǔ)義可以是指Spark集群所支持的語(yǔ)義,普通語(yǔ)義流數(shù)據(jù)可以是指RDF(Resource Description Framework,資源描述框架)。其中,Spark集群本身是不支持語(yǔ)義的,本發(fā)明實(shí)施例中在Spark集群上進(jìn)行了二次開(kāi)發(fā),令開(kāi)發(fā)后的Spark集群支持語(yǔ)義。本領(lǐng)域技術(shù)人員知曉,本發(fā)明如果也可以構(gòu)建在其他平臺(tái)上,那么預(yù)設(shè)語(yǔ)義自然就是與相應(yīng)的新平臺(tái)所對(duì)應(yīng)的語(yǔ)義。例如,若將本發(fā)明構(gòu)建在JENA(一種框架)平臺(tái)上,則預(yù)設(shè)語(yǔ)義例如可以是OWL(Web Ontology Language,網(wǎng)絡(luò)本體語(yǔ)言),等等。

本發(fā)明實(shí)施例中,若普通語(yǔ)義流數(shù)據(jù)是RDF,則語(yǔ)義流查詢語(yǔ)句可以是C-SPARQL(Simple Protocol and RDF Query Language,查詢語(yǔ)言和數(shù)據(jù)獲取協(xié)議)。C-SPARQL支持在RDF流上對(duì)查詢語(yǔ)句的注冊(cè)和連續(xù)執(zhí)行。

C-SPARQL使用了不同類型的窗口。以窗口中所包含的三元組數(shù)目定義的是物理窗口,以窗口的時(shí)間間隔定義的是邏輯窗口為例。多次相同的查詢可以被注冊(cè)為一個(gè)query(查詢),C-SPARQL引擎會(huì)周期性的執(zhí)行這條查詢,每當(dāng)這條查詢被執(zhí)行時(shí),查詢結(jié)果就會(huì)被更新。查詢也可以被注冊(cè)為流的形式,這樣的輸出結(jié)果也是一個(gè)流,可作為其他查詢語(yǔ)句的輸入,或者也可以輸入到其他設(shè)備中。

本發(fā)明實(shí)施例中,至少一個(gè)普通語(yǔ)義流數(shù)據(jù),可以來(lái)自一個(gè)或多個(gè)終端設(shè)備,其中,一個(gè)終端設(shè)備可以對(duì)應(yīng)一個(gè)普通語(yǔ)義流數(shù)據(jù),或者也可以對(duì)應(yīng)多個(gè)普通語(yǔ)義流數(shù)據(jù)。語(yǔ)義流查詢語(yǔ)句,可以來(lái)自一個(gè)AE,而AE可以位于不同的終端設(shè)備上。其中,一個(gè)終端設(shè)備可以包括一個(gè)AE,或者也可以包括多個(gè)AE,那么,一個(gè)終端設(shè)備可以只通過(guò)一個(gè)AE向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送一個(gè)語(yǔ)義流查詢語(yǔ)句,或者可以通過(guò)一個(gè)AE向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送多個(gè)語(yǔ)義流查詢語(yǔ)句,或者也可以通過(guò)多個(gè)AE向基礎(chǔ)設(shè)施節(jié)點(diǎn)分別發(fā)送多個(gè)語(yǔ)義流查詢語(yǔ)句。具有AE的終端設(shè)備,可以是向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送普通語(yǔ)義流數(shù)據(jù)的其中一個(gè)終端設(shè)備,或者也可以是沒(méi)有向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送普通語(yǔ)義流數(shù)據(jù)的終端設(shè)備,只要該終端設(shè)備是之前注冊(cè)到基礎(chǔ)設(shè)施節(jié)點(diǎn)的終端設(shè)備即可。

本發(fā)明實(shí)施例中,普通語(yǔ)義流數(shù)據(jù)和語(yǔ)義流查詢語(yǔ)句所遵循的語(yǔ)義不同,所承載的信息也不同,例如,普通語(yǔ)義流數(shù)據(jù)承載的可能是描述信息,例如是傳感器所檢測(cè)到的某個(gè)參數(shù)的參數(shù)值,而語(yǔ)義流查詢語(yǔ)句承載的是查詢信息,或者也可以稱為查詢請(qǐng)求,查詢請(qǐng)求用于查詢相應(yīng)的信息,例如需要查詢當(dāng)前室內(nèi)溫度。

可選的,本發(fā)明實(shí)施例中,基礎(chǔ)設(shè)施節(jié)點(diǎn)接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及接收語(yǔ)義流查詢語(yǔ)句,這兩個(gè)接收過(guò)程可以按照任意順序完成,當(dāng)然,間 隔的時(shí)間不能過(guò)長(zhǎng),因?yàn)楸景l(fā)明實(shí)施例中的架構(gòu)是實(shí)時(shí)性較強(qiáng)的架構(gòu),暫不支持查詢歷史數(shù)據(jù)。因此,如果在接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù)之后再接收語(yǔ)義流查詢語(yǔ)句,而兩次接收過(guò)程的間隔較長(zhǎng),可能至少一個(gè)普通語(yǔ)義流數(shù)據(jù)已經(jīng)因?yàn)檫^(guò)時(shí)而被丟棄,這樣就無(wú)法完成查詢了。

步驟202:對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口。

可選的,本發(fā)明實(shí)施例中,對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口,包括:

對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成查詢窗口。

本發(fā)明實(shí)施例中,語(yǔ)義流查詢語(yǔ)句中不僅攜帶有查詢請(qǐng)求,還可以攜帶有窗口參數(shù),例如,窗口參數(shù)可以包括windowLength(窗口長(zhǎng)度)、slidingInterval(窗口滑動(dòng)間距)等參數(shù),基礎(chǔ)設(shè)施節(jié)點(diǎn)可以按照解析得到的窗口參數(shù)對(duì)應(yīng)的參數(shù)值在Spark集群中初始化窗口長(zhǎng)度和窗口滑動(dòng)間距,即生成相應(yīng)的窗口,本發(fā)明實(shí)施例中將該窗口稱為查詢窗口。

步驟203:在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

本發(fā)明實(shí)施例中,解析好的查詢請(qǐng)求被轉(zhuǎn)換成DStream上的一系列查詢操作,根據(jù)查詢窗口的特性,周期性地執(zhí)行這一系列查詢操作,并產(chǎn)生相應(yīng)的查詢結(jié)果。

可選的,本發(fā)明實(shí)施例中,在接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句之后,還包括:

將至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢,包括:

在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

因?yàn)镾park集群的底層是以批處理的形式來(lái)處理所有類型的數(shù)據(jù)的,包括 流式數(shù)據(jù)也是如此,因此,為了使待處理的流數(shù)據(jù)滿足Spark集群的底層的處理要求,需要將連續(xù)的語(yǔ)義流數(shù)據(jù)離散化,那么后面,查詢請(qǐng)求所針對(duì)的也就是離散后的語(yǔ)義流數(shù)據(jù),即離散語(yǔ)義流數(shù)據(jù),也即Semantic-Dstream。一個(gè)離散語(yǔ)義流數(shù)據(jù)的內(nèi)容是一串按一定時(shí)間跨度劃分的時(shí)間片批次,每個(gè)批次中包含在該時(shí)間段內(nèi)流入的RDF三元組。

可選的,本發(fā)明實(shí)施例中,在得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,還包括:

將語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ)義流數(shù)據(jù);M個(gè)離散語(yǔ)義流數(shù)據(jù)為至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

依照語(yǔ)義流混聚需求,通過(guò)DStream上的union操作,將所需的若干條含有關(guān)聯(lián)語(yǔ)義信息的離散語(yǔ)義流數(shù)據(jù)并成一條關(guān)聯(lián)離散語(yǔ)義流數(shù)據(jù),本發(fā)明實(shí)施例中將其稱為第一離散語(yǔ)義流數(shù)據(jù)。沒(méi)有關(guān)聯(lián)需求(即不存在關(guān)聯(lián)語(yǔ)義信息)的離散語(yǔ)義流數(shù)據(jù)無(wú)需合并。

普通語(yǔ)義流數(shù)據(jù)中可以攜帶語(yǔ)義標(biāo)注信息,比如,不同的傳感器在某一時(shí)刻的采樣值對(duì)應(yīng)的語(yǔ)義流數(shù)據(jù)可能會(huì)附加上位置、采樣的時(shí)間等等語(yǔ)義標(biāo)注信息。

具體兩個(gè)普通語(yǔ)義流數(shù)據(jù)是否相互關(guān)聯(lián),即是否具有關(guān)聯(lián)語(yǔ)義信息,是按需求而定的,具體可以是根據(jù)語(yǔ)義流查詢語(yǔ)句中攜帶的查詢請(qǐng)求而定。

例如,在圖3架構(gòu)中,終端設(shè)備1向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送了語(yǔ)義流查詢語(yǔ)句,該語(yǔ)義流查詢語(yǔ)句攜帶的查詢請(qǐng)求用于查詢當(dāng)前時(shí)刻家中所有臥室的溫度,那么假設(shè)家中有兩個(gè)臥室,則根據(jù)該查詢請(qǐng)求可以確定,設(shè)置在這兩個(gè)臥室中的溫度傳感器輸入到基礎(chǔ)設(shè)施節(jié)點(diǎn)中的當(dāng)前采樣值對(duì)應(yīng)的普通語(yǔ)義流數(shù)據(jù)就是相互關(guān)聯(lián)的,而設(shè)置在客廳、廚房的溫度傳感器或其他終端設(shè)備輸入到基礎(chǔ)設(shè)施節(jié)點(diǎn)中的采樣值對(duì)應(yīng)的普通語(yǔ)義流數(shù)據(jù)就不具有關(guān)聯(lián)語(yǔ)義信息。也就是說(shuō),普通語(yǔ)義流數(shù)據(jù)之間相互關(guān)聯(lián),具體可以認(rèn)為是普通語(yǔ)義流數(shù)據(jù)與查詢請(qǐng)求相互關(guān)聯(lián),即普通語(yǔ)義流數(shù)據(jù)與查詢請(qǐng)求具有關(guān)聯(lián)語(yǔ)義信息。

可選的,本發(fā)明實(shí)施例中,在針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后, 還包括:

輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

在針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,可以得到查詢結(jié)果,那么同樣可以將查詢結(jié)果承載在一個(gè)語(yǔ)義流數(shù)據(jù)中進(jìn)行輸出,本發(fā)明實(shí)施例中將該語(yǔ)義流數(shù)據(jù)稱為查詢結(jié)果語(yǔ)義流數(shù)據(jù)。具體的可以是將查詢結(jié)果語(yǔ)義流數(shù)據(jù)發(fā)送給向基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送該語(yǔ)義流查詢語(yǔ)句的設(shè)備,或者也可以是將查詢結(jié)果語(yǔ)義流數(shù)據(jù)發(fā)送給特定的設(shè)備,本發(fā)明對(duì)于查詢結(jié)果語(yǔ)義流數(shù)據(jù)的用途及去向不作限制。

例如,請(qǐng)參見(jiàn)圖4,基礎(chǔ)設(shè)施節(jié)點(diǎn)中可以包括一個(gè)M2M環(huán)境下的語(yǔ)義流處理裝置,該M2M環(huán)境下的語(yǔ)義流處理裝置可以包括以下模塊:接收器(Receiver)、合并器、解析器、執(zhí)行器、及語(yǔ)義流窗口化模塊。接收器的作用是將連續(xù)的語(yǔ)義流數(shù)據(jù)轉(zhuǎn)換成離散語(yǔ)義流數(shù)據(jù)。合并器主要用于合并具有關(guān)聯(lián)語(yǔ)義信息的離散語(yǔ)義流數(shù)據(jù),以得到所需要的關(guān)聯(lián)離散語(yǔ)義流數(shù)據(jù),可以看到,圖4中有三路離散語(yǔ)義流數(shù)據(jù)具有關(guān)聯(lián)語(yǔ)義信息(圖4是以三路為例,在實(shí)際應(yīng)用中,接收器轉(zhuǎn)換得到的離散語(yǔ)義流數(shù)據(jù)可能有一路或多路,那么,如果接收器轉(zhuǎn)換得到的離散語(yǔ)義流數(shù)據(jù)有多路,則具有關(guān)聯(lián)語(yǔ)義信息的離散語(yǔ)義流數(shù)據(jù)就可能有兩路或多路),有一路普通語(yǔ)義流數(shù)據(jù)與其他三路離散語(yǔ)義流數(shù)據(jù)不具有關(guān)聯(lián)語(yǔ)義信息(這里的一路也是舉例,在實(shí)際應(yīng)用中,不具有關(guān)聯(lián)語(yǔ)義信息的離散語(yǔ)義流數(shù)據(jù)的數(shù)量可能的取值范圍為:是大于等于0的整數(shù)),因此合并器只對(duì)三路離散語(yǔ)義流數(shù)據(jù)進(jìn)行合并,而另外一路離散語(yǔ)義流數(shù)據(jù)直接進(jìn)入語(yǔ)義流窗口化模塊。解析器用于解析語(yǔ)義流查詢語(yǔ)句,并且將解析得到的查詢請(qǐng)求對(duì)應(yīng)的一系列查詢操作注冊(cè)到執(zhí)行器中,執(zhí)行器周期性的執(zhí)行查詢請(qǐng)求對(duì)應(yīng)的一系列查詢操作,得到并輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù)。

在分布式環(huán)境下,由于Infrastructure Domain中包括的節(jié)點(diǎn)設(shè)備的數(shù)目較多,每個(gè)節(jié)點(diǎn)設(shè)備都比較容易遭遇故障(這里的故障主要是指軟件故障),那么,如果節(jié)點(diǎn)設(shè)備的可靠性不能滿足需求,就意味著一旦系統(tǒng)中某個(gè)節(jié)點(diǎn)設(shè)備 發(fā)生錯(cuò)誤,將會(huì)影響到這個(gè)時(shí)間片內(nèi)整個(gè)系統(tǒng)的處理流程,造成結(jié)果的缺失甚至是錯(cuò)誤,因此,節(jié)點(diǎn)設(shè)備的恢復(fù)和容錯(cuò)能力對(duì)于流式處理過(guò)程顯得異常重要。

為了提高流數(shù)據(jù)處理的可靠性,本發(fā)明實(shí)施例采用基于RDD(Resilient Distributed Dataset,彈性分布式數(shù)據(jù)集)的世系圖容錯(cuò)機(jī)制,通過(guò)跟蹤和記錄RDD中的RDF三元組的各種transformation(變換)操作,根據(jù)世系圖關(guān)系快速重建丟失的語(yǔ)義流數(shù)據(jù),這使得系統(tǒng)能夠在很短的時(shí)間內(nèi)恢復(fù)正常,從而提高語(yǔ)義流數(shù)據(jù)處理的可靠性。其中,RDD是Spark集群的基本數(shù)據(jù)抽象模型。

可選的,本發(fā)明實(shí)施例中,所述方法還包括:

確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;所述第一節(jié)點(diǎn)設(shè)備為Spark集群中的任一設(shè)備;

向第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,第一故障通知消息用于通知第一節(jié)點(diǎn)設(shè)備,第一數(shù)據(jù)有誤。

這里的第一節(jié)點(diǎn)設(shè)備可以是Spark集群中的任一設(shè)備,并且,第一節(jié)點(diǎn)設(shè)備可以是位于Infrastructure Domain中。即,當(dāng)Spark集群中的一個(gè)節(jié)點(diǎn)設(shè)備(本發(fā)明實(shí)施例中將其稱為第一節(jié)點(diǎn)設(shè)備)發(fā)生故障時(shí),Spark集群中的全部或部分正常運(yùn)行的節(jié)點(diǎn)設(shè)備(例如其中包括基礎(chǔ)設(shè)施節(jié)點(diǎn))可以參與第一節(jié)點(diǎn)設(shè)備的故障恢復(fù)工作。舉例來(lái)說(shuō),如果第一節(jié)點(diǎn)設(shè)備發(fā)生故障,例如第一節(jié)點(diǎn)設(shè)備向Spark集群中的其他節(jié)點(diǎn)設(shè)備發(fā)送了數(shù)據(jù)(這里的數(shù)據(jù)可能是普通數(shù)據(jù),也可能是語(yǔ)義流數(shù)據(jù),本發(fā)明不作限制,本發(fā)明實(shí)施例中將第一節(jié)點(diǎn)設(shè)備發(fā)送給基礎(chǔ)節(jié)點(diǎn)設(shè)備的數(shù)據(jù)稱為第一數(shù)據(jù)),那么其他節(jié)點(diǎn)設(shè)備可能會(huì)發(fā)現(xiàn)第一節(jié)點(diǎn)設(shè)備發(fā)送的數(shù)據(jù)有誤,那么其他節(jié)點(diǎn)設(shè)備可以通知第一節(jié)點(diǎn)設(shè)備(本發(fā)明實(shí)施例中將基礎(chǔ)設(shè)施節(jié)點(diǎn)通知第一節(jié)點(diǎn)設(shè)備關(guān)于第一數(shù)據(jù)有誤的消息稱為第一故障通知消息),從而第一節(jié)點(diǎn)設(shè)備可以重新獲取這些數(shù)據(jù),這也就相當(dāng)于第一節(jié)點(diǎn)設(shè)備恢復(fù)出錯(cuò)前的狀態(tài),只要能恢復(fù)第一節(jié)點(diǎn)設(shè)備出錯(cuò)前的狀態(tài),然后可以根據(jù)運(yùn)行日志重新計(jì)算相關(guān)partition中的內(nèi)容,就可以使第一節(jié)點(diǎn)設(shè)備重新跟上其他節(jié)點(diǎn)設(shè)備的計(jì)算步伐,使整個(gè)Spark集群的運(yùn)行狀態(tài)恢復(fù)正常。

例如請(qǐng)參見(jiàn)圖5,為基于RDD對(duì)應(yīng)的世系圖的DStream容錯(cuò)機(jī)制示意圖。圖中的一個(gè)矩形框代表一個(gè)RDD,每個(gè)矩形框中的一個(gè)圓圈代表一個(gè)partition(部分),每個(gè)partition中包含若干RDF三元組。某一時(shí)刻,一個(gè)RDD下所有partition中的所有RDF三元組在概念上作為一個(gè)整體進(jìn)行處理,但實(shí)際上,每個(gè)partition會(huì)分布到不同的節(jié)點(diǎn)設(shè)備上進(jìn)行處理。其中,圖5中的橫向箭頭表示時(shí)間軸,例如,第一列矩形框?qū)?yīng)的時(shí)刻為t1,第二列矩形框?qū)?yīng)的時(shí)刻為t2,表示離散語(yǔ)義流數(shù)據(jù)是按照時(shí)間流動(dòng)的。

圖5中,partition之間的向下的一個(gè)箭頭表示一個(gè)操作,世系圖以partition為粒度,記錄前后的一系列操作。

可選的,本發(fā)明實(shí)施例中,所述方法還包括:

在基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)第二故障通知消息確定傳輸給至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

將重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給至少一個(gè)節(jié)點(diǎn)設(shè)備。

即,如果是Spark集群中的基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障,那么如果基礎(chǔ)設(shè)施節(jié)點(diǎn)傳輸給Spark集群中的其他節(jié)點(diǎn)設(shè)備的數(shù)據(jù)有誤,其他節(jié)點(diǎn)設(shè)備也同樣,會(huì)向基礎(chǔ)設(shè)施節(jié)點(diǎn)通知,接收的數(shù)據(jù)有誤(本發(fā)明實(shí)施例中將其他節(jié)點(diǎn)設(shè)備通知基礎(chǔ)設(shè)施節(jié)點(diǎn)關(guān)于接收的數(shù)據(jù)有誤的消息稱為第二故障通知消息。本發(fā)明實(shí)施例中將其他節(jié)點(diǎn)設(shè)備接收到的基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)送的數(shù)據(jù)均稱為第二數(shù)據(jù),需要說(shuō)明的是,不同節(jié)點(diǎn)設(shè)備接收到的第二數(shù)據(jù)可能相同也可能不同),基礎(chǔ)設(shè)施節(jié)點(diǎn)在接收到第二故障通知消息后,可以根據(jù)世系圖,以及基礎(chǔ)設(shè)施節(jié)點(diǎn)最近的一系列操作,恢復(fù)基礎(chǔ)設(shè)施節(jié)點(diǎn)最近的正常狀態(tài)信息,從而重新獲取其他節(jié)點(diǎn)設(shè)備所對(duì)應(yīng)的第二數(shù)據(jù),也就相當(dāng)于基礎(chǔ)設(shè)施節(jié)點(diǎn)排除故障。

DStream通過(guò)世系圖來(lái)跟蹤一系列操作的步驟,以重建丟失的RDD中的RDF三元組,而無(wú)需另外備份。當(dāng)Spark集群中的一個(gè)節(jié)點(diǎn)設(shè)備遭遇錯(cuò)誤需要恢 復(fù)時(shí),Spark集群中的其他正常運(yùn)行的節(jié)點(diǎn)設(shè)備可以根據(jù)世系圖來(lái)重計(jì)算該發(fā)生錯(cuò)誤的節(jié)點(diǎn)設(shè)備最近的狀態(tài)(即正常工作狀態(tài)),例如可以包括恢復(fù)最近時(shí)刻RDD中每個(gè)partition下的三元組內(nèi)容。并且,本發(fā)明實(shí)施例中的容錯(cuò)機(jī)制還可以進(jìn)行并行恢復(fù),即,Spark集群中的所有正常節(jié)點(diǎn)設(shè)備都可參與故障節(jié)點(diǎn)設(shè)備恢復(fù)的重計(jì)算工作,在恢復(fù)一個(gè)故障節(jié)點(diǎn)設(shè)備的狀態(tài)的同時(shí),參與恢復(fù)的節(jié)點(diǎn)設(shè)備仍然可以接收并處理新流入的RDF三元組,這有效的保證了本發(fā)明實(shí)施例中的系統(tǒng)具有高的容錯(cuò)能力和可靠性。

請(qǐng)參見(jiàn)圖6,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種M2M環(huán)境下的語(yǔ)義流處理裝置,該裝置可以位于Spark集群中,較佳的,該裝置可以位于Spark集群中的基礎(chǔ)設(shè)施節(jié)點(diǎn)中,另外,該裝置與圖3所示的裝置可以是同一裝置。在一種可能的情況下,該裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)本身,在另一種可能的情況下,該裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)中所包括的功能模塊。該裝置可以包括接收模塊601、生成模塊602和查詢模塊603。

接收模塊601,用于接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,查詢請(qǐng)求用于查詢至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息;

生成模塊602,用于對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口;

查詢模塊603,用于在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

可選的,本發(fā)明實(shí)施例中,接收模塊601用于:

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);按照預(yù)設(shè)語(yǔ)義對(duì)至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

可選的,本發(fā)明實(shí)施例中,生成模塊602用于:

對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成查詢窗口。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括離散化模塊;

離散化模塊用于:在接收模塊601接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句之后,將至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

查詢模塊603用于:在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括合并模塊,用于:

在離散化模塊得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,將語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ)義流數(shù)據(jù);M個(gè)離散語(yǔ)義流數(shù)據(jù)為至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括輸出模塊,用于:

在查詢模塊603針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括確定模塊和發(fā)送模塊;

確定模塊,用于確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;第一節(jié)點(diǎn)設(shè)備為Spark集群中的任一設(shè)備;

發(fā)送模塊,用于向第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,第一故障通知消息用于通知第一節(jié)點(diǎn)設(shè)備,第一數(shù)據(jù)有誤。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括獲取模塊和發(fā)送模塊;

接收模塊601還用于:在基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)第二故障通知消息確定傳輸給至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

獲取模塊用于:根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

發(fā)送模塊用于:將重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給至少一個(gè)節(jié)點(diǎn)設(shè)備。

請(qǐng)參見(jiàn)圖7,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供另一種M2M環(huán)境下的語(yǔ)義流處理裝置,該裝置可以位于Spark集群中,較佳的,該裝置可以位于Spark集群中的基礎(chǔ)設(shè)施節(jié)點(diǎn)中,另外,該裝置與圖3、圖6所示的裝置可以是同一裝置。在一種可能的情況下,該裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)本身,在另一種可能的情況下,該裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)中所包括的功能模塊。該裝置可以包括存儲(chǔ)器701、處理器702和接收器703。存儲(chǔ)器701和接收器703可以分別與處理器702連接,具體的,存儲(chǔ)器701和接收器703可以通過(guò)同一總線與處理器702連接,或者也可以分別通過(guò)相應(yīng)的連接線與處理器702連接。

存儲(chǔ)器701,用于存儲(chǔ)處理器702執(zhí)行任務(wù)所需的指令;

接收器703,用于接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句;至少一個(gè)普通語(yǔ)義流數(shù)據(jù)中的每個(gè)普通語(yǔ)義流數(shù)據(jù)均對(duì)應(yīng)于預(yù)設(shè)語(yǔ)義,語(yǔ)義流查詢語(yǔ)句中攜帶查詢請(qǐng)求,查詢請(qǐng)求用于查詢至少一個(gè)普通語(yǔ)義流數(shù)據(jù)所攜帶的信息;

處理器702,用于執(zhí)行存儲(chǔ)器701存儲(chǔ)的指令,對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析的結(jié)果生成查詢窗口;在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

可選的,本發(fā)明實(shí)施例中,

接收器703用于:接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通語(yǔ)義流數(shù)據(jù);或

接收器703用于:接收一個(gè)或多個(gè)終端設(shè)備發(fā)送的至少一個(gè)普通數(shù)據(jù);處理器702用于:按照預(yù)設(shè)語(yǔ)義對(duì)至少一個(gè)普通數(shù)據(jù)進(jìn)行語(yǔ)義標(biāo)注,得到至少一個(gè)普通語(yǔ)義流數(shù)據(jù)。

可選的,本發(fā)明實(shí)施例中,處理器702用于:

對(duì)語(yǔ)義流查詢語(yǔ)句進(jìn)行解析,并根據(jù)解析得到的窗口參數(shù)生成查詢窗口。

可選的,本發(fā)明實(shí)施例中,處理器702還用于:

在接收器703接收至少一個(gè)普通語(yǔ)義流數(shù)據(jù),以及,接收語(yǔ)義流查詢語(yǔ)句 之后,將至少一個(gè)普通語(yǔ)義流數(shù)據(jù)分別進(jìn)行離散化,得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù);

在查詢窗口中,根據(jù)查詢請(qǐng)求,針對(duì)至少一個(gè)離散語(yǔ)義流數(shù)據(jù)進(jìn)行查詢。

可選的,本發(fā)明實(shí)施例中,處理器702還用于:

在得到至少一個(gè)離散語(yǔ)義流數(shù)據(jù)之后,將語(yǔ)義流查詢語(yǔ)句所對(duì)應(yīng)的M個(gè)離散語(yǔ)義流數(shù)據(jù)合并為第一離散語(yǔ)義流數(shù)據(jù);M個(gè)離散語(yǔ)義流數(shù)據(jù)為至少一個(gè)離散語(yǔ)義流數(shù)據(jù)的子集。

可選的,本發(fā)明實(shí)施例中,所述裝置還包括與處理器702連接的發(fā)送器;發(fā)送器與接收器703可以是同一功能模塊,該功能模塊具有信息收發(fā)功能,或者,發(fā)送器與接收器703可以是不同的功能模塊;

發(fā)送器用于:在處理器702針對(duì)至少一個(gè)普通語(yǔ)義流數(shù)據(jù)進(jìn)行查詢之后,輸出查詢結(jié)果語(yǔ)義流數(shù)據(jù),查詢結(jié)果語(yǔ)義流數(shù)據(jù)承載查詢結(jié)果。

可選的,本發(fā)明實(shí)施例中,

處理器702還用于:確定第一節(jié)點(diǎn)設(shè)備傳輸?shù)牡谝粩?shù)據(jù)有誤;第一節(jié)點(diǎn)設(shè)備為Spark集群中的任一設(shè)備;

發(fā)送器還用于:向第一節(jié)點(diǎn)設(shè)備發(fā)送第一故障通知消息,第一故障通知消息用于通知第一節(jié)點(diǎn)設(shè)備,第一數(shù)據(jù)有誤。

可選的,本發(fā)明實(shí)施例中,

接收器703還用于:在基礎(chǔ)設(shè)施節(jié)點(diǎn)發(fā)生故障時(shí),接收至少一個(gè)節(jié)點(diǎn)設(shè)備發(fā)送的第二故障通知消息,并根據(jù)第二故障通知消息確定傳輸給至少一個(gè)節(jié)點(diǎn)設(shè)備的至少一個(gè)第二數(shù)據(jù)有誤;

處理器702還用于:根據(jù)RDD對(duì)應(yīng)的世系圖,重新獲取至少一個(gè)第二數(shù)據(jù);

發(fā)送器還用于:將重新獲取的至少一個(gè)第二數(shù)據(jù)分別發(fā)送給至少一個(gè)節(jié)點(diǎn)設(shè)備。

可選的,本發(fā)明實(shí)施例還提供一種基礎(chǔ)設(shè)施節(jié)點(diǎn),該基礎(chǔ)設(shè)施節(jié)點(diǎn)可以包 括如前所述的M2M環(huán)境下的語(yǔ)義流處理裝置。前面介紹過(guò),在一種可能的情況下,M2M環(huán)境下的語(yǔ)義流處理裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)本身,在另一種可能的情況下,M2M環(huán)境下的語(yǔ)義流處理裝置可以是基礎(chǔ)設(shè)施節(jié)點(diǎn)中所包括的功能模塊。

本發(fā)明實(shí)施例提供了一種預(yù)設(shè)語(yǔ)義,從而可以將各設(shè)備的數(shù)據(jù)按照該預(yù)設(shè)語(yǔ)義進(jìn)行轉(zhuǎn)換,例如接收的至少一個(gè)普通語(yǔ)義流數(shù)據(jù)來(lái)自于多個(gè)設(shè)備,不同的設(shè)備對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)、格式等不同,但是按照本發(fā)明中的方式,可以將來(lái)自不同終端設(shè)備的不同格式的數(shù)據(jù)先按照預(yù)設(shè)語(yǔ)義,標(biāo)注為具有同一語(yǔ)義結(jié)構(gòu)的語(yǔ)義流數(shù)據(jù),從而可以對(duì)不同設(shè)備的數(shù)據(jù)進(jìn)行處理,使得大量的資源和數(shù)據(jù)能夠有效實(shí)現(xiàn)共享,從而得到充分的利用,提高了資源利用率,也給物聯(lián)網(wǎng)的真正實(shí)現(xiàn)提供了解決方案。

另外,實(shí)時(shí)性是物聯(lián)網(wǎng)領(lǐng)域應(yīng)用的一個(gè)重要需求,包括交通導(dǎo)航、打車應(yīng)用、智能停車、災(zāi)難檢測(cè)等都需要嚴(yán)格的實(shí)時(shí)性保證,對(duì)于這類實(shí)時(shí)性較強(qiáng)的數(shù)據(jù),其價(jià)值會(huì)隨著時(shí)間的流逝而減少,如果無(wú)法對(duì)其進(jìn)行及時(shí)分析和響應(yīng),那么便很可能會(huì)錯(cuò)過(guò)一個(gè)機(jī)會(huì),或者遺漏一個(gè)潛在的威脅。本發(fā)明實(shí)施例中,將各設(shè)備的數(shù)據(jù)標(biāo)注為流數(shù)據(jù)進(jìn)行處理(例如標(biāo)注為普通語(yǔ)義流數(shù)據(jù)),并且會(huì)通過(guò)窗口進(jìn)行處理,從而提高了數(shù)據(jù)處理過(guò)程的實(shí)時(shí)性,盡量使每個(gè)實(shí)時(shí)性數(shù)據(jù)的價(jià)值都能夠得到體現(xiàn),避免資源浪費(fèi)。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能單元的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可 以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或processor(處理器)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、ROM(Read-Only Memory,只讀存儲(chǔ)器)、RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,以上實(shí)施例僅用以對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想,不應(yīng)理解為對(duì)本發(fā)明的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乡宁县| 淮南市| 加查县| 天津市| 泸溪县| 山西省| 广南县| 合肥市| 龙陵县| 饶阳县| 高碑店市| 苏尼特左旗| 阿拉善右旗| 奉新县| 宜宾县| 广汉市| 许昌市| 安阳市| 上犹县| 大宁县| 枣阳市| 宁晋县| 宝丰县| 罗城| 夏邑县| 孝感市| 苍梧县| 麟游县| 罗山县| 上犹县| 仪征市| 内江市| 都江堰市| 镇巴县| 思茅市| 利辛县| 剑川县| 华安县| 临沧市| 广汉市| 丁青县|