點到點的智能設備管理系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及一種基于點到點通信和分布式計算的智能電子設備(家居、家電、穿戴、家用醫(yī)療設備等)的互操作以及管理的方法。
【背景技術】
[0002]目前應用在智能家居中的通信技術種類繁多,基于各種不同協(xié)議的設備之間往往不能很好交互。而現(xiàn)有的設備管理與互操作的實現(xiàn)方案,都基于單一的中央管理設備,如手機、智能路由器等。
【發(fā)明內容】
[0003]本發(fā)明的主要目的在于,提供一種基于點到點通信網絡和分布式計算的設備交互方法,以解決各種不同類型設備之間的互通性問題。
[0004]本發(fā)明中,設備分為核心設備和外圍設備兩大類。
[0005]核心設備的數(shù)據(jù)模型為
[0006]DeviceRegistry
[0007]{
[0008]UUID nodelD;
[0009]UUID nodeClassID;
[0010]NodeAddress{
[0011 ]AddrType type;
[0012]byte[]Address;
[0013]};
[0014]long characteristics;
[0015]NodeStatus status;
[0016]}
[0017]其中,
[0018]節(jié)點ID為唯一設備ID。
[0019]節(jié)點類型ID為節(jié)點類型的唯一ID。
[0020]節(jié)點地址包含該設備所支持的協(xié)議類型(IP)以及在該協(xié)議下的地址。
[0021]節(jié)點特征為設備自身屬性的描述,包含支持的標準特性。
[0022]節(jié)點狀態(tài)為節(jié)點當前狀態(tài).可以為ACTIVE,DISCONNECTED.
[0023]處于一個集群中的設備,必須位于同一個子網。每個節(jié)點內存中存儲所有其他節(jié)點的注冊信息。
[0024]節(jié)點的發(fā)現(xiàn)與注冊
[0025]節(jié)點在啟動時,通過多播發(fā)送StartDiscovery命令。
[0026]StartDiscovery{
[0027]DeviceRegistry device;
[0028]DateTime uptime;
[0029]}
[0030]當接收到StartDiscover命令時,設備將該節(jié)點并入自身所在集群。并發(fā)送多播命令ClusterChanged.
[0031]ClusterChanged{
[0032]List{
[0033]DeviceRegistry device;
[0034]DateTime uptime;
[0035]}
[0036]};
[0037]當節(jié)點接收到ClusterChanged消息時,將消息體中包含的節(jié)點合并到自身所在集群,如果節(jié)點集合發(fā)生變化,產生ClusterChanged應答。
[0038]當在后續(xù)操作中出現(xiàn)任何一個節(jié)點網絡不可達時,將其狀態(tài)置為DISCONNECTED.當再次收到該節(jié)點的StartDiscovery消息時,將其狀態(tài)置為ACTIVE.
[0039]服務的描述與發(fā)布
[0040]NodeClassID描述一種節(jié)點類型,每種節(jié)點類型可以支持一系列服務,通過配置來實現(xiàn)。服務通過RPC進行發(fā)布。
[0041]RPC為同步調用,其序列化方法為:
[0042]1.字段被序列化為<4字節(jié)長度>< 內容>
[0043]2.字段之間以.'作為間隔
[0044]3.整個報文以作為結束標記
[0045]服務描述為{
[0046]string serviceClass;
[0047]string methodName;
[0048]T[]args;//可變個數(shù)參數(shù)
[0049]};
[0050]其返回值為{
[0051]int statusCode;
[0052]T returnValue;
[0053]}
[0054]支持javascript虛擬機的節(jié)點,需要支持腳本引擎服務;
[0055]ScriptEngineService{
[0056]ScriptResult invoke(string script);
[0057]}
[0058]ScriptResult{
[0059]int statusCode;
[0060]string result ;//json格式
[0061]}
[0062]文件存儲服務用來在某一臺設備上進行文件的讀寫操作。
[0063]FiIeStorageService{
[0064]string[]list(string path,UUID devicelD);
[0065]boolean save(string name,byte[]content,UUID devicelD);
[0066]byte[]load(string name,UUID devicelD);
[0067]};
【附圖說明】
[0〇68]圖1為服務調用RPC不意圖。
[0069]圖2為智能手環(huán)通過Bluetooth將采集到的健康數(shù)據(jù)發(fā)送到手機,然后手機通過Fi IeStorageService將數(shù)據(jù)歸檔到電腦的示意圖。
【具體實施方式】
[0070]在需要進行管理的設備上部署本發(fā)明所描述的系統(tǒng),并對系統(tǒng)進行初始配置。
[0071]如在PC上設置nodeClassId為{3acl2f5d-caa4-4100-88e6_6a3279bl468e},表示其支持 Fi IeStorageServi ce 和ScriptngineServi ce.
[0072]在手機上設置nodeClassId為{eba62097-bbaa-4595-8435-12f93b712308},表示其支持 ScriptEngineService.
[0073]當系統(tǒng)啟動并檢測到網絡可用時,會自動通過多播進行設備發(fā)現(xiàn),并構成一個集群。
[0074]隨后手機可以通過自身的注冊信息,查詢到PC所支持的服務與地址,然后可以將本地文件通過Fi IeStorageService發(fā)送到PC。
【主權項】
1.一種點到點的智能設備管理系統(tǒng),其特征是設備以點到點的方式對等的進行管理和互操作;設備的信息可以在任意節(jié)點中訪問;設備可以開放服務接口給其他設備調用;設備可以將Javascript腳本提交到其他節(jié)點執(zhí)行。2.根據(jù)權利要求1所述的智能設備管理系統(tǒng),其中: 設備的抽象描述為DeviceRegistry。設備通過多播的方式進行自動發(fā)現(xiàn)和注冊,其注冊信息被存儲到集群中的任意節(jié)點。3.根據(jù)權利I所述的智能設備管理系統(tǒng),其中: 設備的支持的服務被歸類到nodeClassID,并且被注冊到集群中任意節(jié)點。4.根據(jù)權利要求1所述的智能設備管理系統(tǒng),其中: 管理設備可以發(fā)布服務供其他節(jié)點調用,也可以將腳本任務提交到集群上其他支持腳本引擎的設備上執(zhí)行。5.根據(jù)權利要求1所述的智能設備管理系統(tǒng),其中: 設備可以將文件存儲到集群內支持文件存儲服務的其他節(jié)點。
【專利摘要】目前應用在智能家電中的通信技術種類繁多,基于各種不同協(xié)議的設備之間往往不能很好交互。而現(xiàn)有的設備管理與互操作的實現(xiàn)方案,都基于單一的中央管理設備,如手機、智能路由器等。本發(fā)明的主要目的在于,提供一種基于點到點通信網絡和分布式計算的設備交互方法,以解決各種不同類型設備之間的互通性問題。各種異構的設備,通過多播進行相互發(fā)現(xiàn)和元數(shù)據(jù)交換。在每個設備本地存儲集群所有設備的信息注冊表。依據(jù)信息注冊表可以查詢其他設備,并使用其他設備提供的服務。
【IPC分類】H04W4/00, H04W8/00
【公開號】CN105554690
【申請?zhí)枴緾N201510969969
【發(fā)明人】姚偉志
【申請人】姚偉志
【公開日】2016年5月4日
【申請日】2015年12月23日