CN107172582A - 一种基于NodeJS的M2M通信设备及方法 - Google Patents
一种基于NodeJS的M2M通信设备及方法 Download PDFInfo
- Publication number
- CN107172582A CN107172582A CN201710625883.9A CN201710625883A CN107172582A CN 107172582 A CN107172582 A CN 107172582A CN 201710625883 A CN201710625883 A CN 201710625883A CN 107172582 A CN107172582 A CN 107172582A
- Authority
- CN
- China
- Prior art keywords
- nodejs
- transmitting terminal
- service ends
- receiving terminal
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于NodeJS的M2M通信设备及方法,属于M2M技术领域,设备包括发送端、NodeJS服务端、接收端以及数据库;发送端、接收端分别与NodeJS服务端的连接;数据库中存储有发送端与接收端之间的关联信息且数据库的输出端与NodeJS服务端的输入端连接。方法包括S1、NodeJS服务端从数据库中读取发送端与接收端之间的关联信息;S2、NodeJS服务端根据发送端、接收端的UID信息,按照设定的匹配方式进行配对,并将配对信息保存在HashMap中;S3、NodeJS服务端根据所述配对信息,将发送端发送的数据发送至接收端。本发明通过利用NodeJS技术制作服务端,可不受硬件介质、传输距离、片上操作系统等因素影响进行数据交互。
Description
技术领域
本发明涉及增强机器设备通信和网络(Machine-to-Machine/Man,M2M)技术领域,特别涉及一种基于NodeJS的M2M通信设备及方法。
背景技术
M2M业务是一种以机器终端设备智能交互为核心的、网络化的应用与服务。它通过在机器内部嵌入通信模块,通过各种承载方式将机器接入网络。
目前在M2M业务中,硬件设备之间的通信是通过CAN总线、ZigBee或WiFi组网进行连接的。在采用CAN总线进行连接时,需要硬件直接使用电路连接。采用ZigBee或WiFi组网进行连接时,存在传输距离受限、节点数量受限等问题。
而且,传统的硬件设备组网无法实时管控硬件节点之间的通信。
发明内容
本发明的目的在于提供一种基于NodeJS的M2M通信设备及方法,以实现任意介质的硬件设备之间的数据交互。
为实现以上目的,第一方面,本发明提供一种基于NodeJS的M2M通信设备,包括:发送端、NodeJS服务端、接收端以及数据库;
发送端、接收端分别与NodeJS服务端的连接;
数据库中存储有发送端与接收端之间的关联信息且数据库的输出端与NodeJS服务端的输入端连接。
其中,发送端、接收端均包括至少一类硬件设备组。
其中,NodeJS服务端部署在云服务上或内网服务器上。
其中,NodeJS服务端与数据库为长连接。
其中,所述的NodeJS服务端与发送端、接收端均通过网络连接。
第二方面,本发明提供一种基于NodeJS的M2M通信方法,包括如下步骤:
S1、NodeJS服务端从数据库中读取发送端与接收端之间的关联信息;
S2、NodeJS服务端根据发送端、接收端的UID信息,按照设定的匹配方式进行配对,并将配对信息保存在HashMap中;
S3、NodeJS服务端根据所述配对信息,将发送端发送的数据发送至接收端。
其中,发送端、接收端均包括至少一类硬件设备组。
其中,步骤S2,具体包括:
发送端中的硬件设备组A向NodeJS服务端发送携带自身UID的认证信息;
NodeJS服务端将套接字A与发送端发送的认证信息存储在HashMap中;
接收端中的硬件设备B组向NodeJS服务端发送携带自身UID的认证信息;
NodeJS服务端将套接字B与发送端发送的认证信息存储在HashMap中;
NodeJS服务端根据在数据库中读取的硬件设备组A与硬件设备组B之间的关联信息,以及硬件设备组A的UID、硬件设备组B的UID按照预定方式进行配对;
在配对后,NodeJS服务端将套接字A作为HashMap中的key存储在HashMap中、将套接字B作为HashMap中的value存储在HashMap中。
其中,步骤S3,具体包括:
NodeJS服务端在接收到发送端发送的数据时,根据发送端的套接字A在HashMap中索引到相对应的接收端套接字Blist,向该list中的套接字B进行数据广播以将数据发送至接收端。
其中,该方法还包括:
NodeJS服务端根据数据库中更新后的硬件配对信息,在HashMap中删除失效的套接字A和/或套接字B。
与现有技术相比,本发明存在以下技术效果:本发明通过网络将NodeJS服务端、发送端、接收端进行连接。服务端根据不同硬件设备之间的对应关系,完成设备之间的数据交互。由于采用NodeJS搭建服务端,数据交互时不受传输距离、节点数量、硬件介质、片上操作系统等因素限制,实用性较强。而且NodeJS采用事件驱动、异步I/OA,使得程序能够实现高并发处理,使得设备在相对低的系统资源消耗下,保持高性能和高负载能力。
附图说明
下面结合附图,对本发明的具体实施方式进行详细描述:
图1是本发明中一种基于NodeJS的M2M通信设备的结构示意图;
图2是本发明中另一种基于NodeJS的M2M通信设备的结构示意图;
图3是本发明中一种基于NodeJS的M2M通信方法的流程示意图。
具体实施方式
为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1所示,本实施例公开了一种基于NodeJS的M2M通信设备,包括:发送端10、NodeJS服务端20、接收端30以及数据库40;发送端10、接收端30分别与NodeJS服务端20的连接;数据库40中存储有发送端10与接收端20之间的关联信息且数据库40的输出端与NodeJS服务端20的输入端连接。
进一步地,发送端10、接收端30均包括至少一类硬件设备组。其中,硬件设备具有数据收发能力,数据库40中存储有发送端10中的至少一类硬件设备与接收端30中的至少一类硬件设备之间的对应关系信息。
本实施例中通过NodeJS搭建服务端,NodeJS服务端20从数据库30中读取发送端10、接收端30中的硬件设备的对应关系,控制不同硬件设备之间的实时数据交互。
进一步地,NodeJS服务端20部署在云服务上或内网服务器上。
需要说明的是,NodeJS服务端20具有固定IP供其它硬件设备进行访问。发送端10、接收端30中的硬件设备发送指令命令至服务器进行注册,在注册正确后即可实现点对多点、多点对多点的通信服务。
进一步地,NodeJS服务端20与数据库40为长连接。NodeJS服务端20实时的从数据库40中读取不同硬件设备之间的对应关系信息。
进一步地,NodeJS服务端20与发送端10、接收端30均通过网络连接。其中网络连接包括但不限于以太网、无线网络如GPRS、WiFi等,与传统的CAN总线、ZigBee或WiFi相比,本实施例中采用NodeJS服务端20与硬件设备通过网络连接的方式,实现了不受传输距离、不受硬件介质、片上操作系统等因素的限制,使用性较强。
在实际应用中,目前主流配置的家用PC机(Intel core i5CPU+4GB Ram)作为服务器来部署NodeJS服务端,由于NodeJS具有优秀的高并发特性,仍可以实现500路以上同时在线的配对连接,实现数据通信。
需要说明的是,如图2所示,本实施例中发送端10中的硬件设备种类和数量与接收端30中的硬件设备的种类和数量可以相同也可以不相同。发送端10中的不同类硬件设备组和接收端30中的不同类硬件设备组之间可以根据需求,实现一对一、多对一、一对多、多对多的配对。
以图2所示的设备为例,如图3所示,本实施例提供一种基于NodeJS的M2M通信方法,包括如下步骤S1至S3:
S1、NodeJS服务端20从数据库40中读取发送端10与接收端30之间的关联信息;
S2、NodeJS服务端20根据发送端10、接收端30的UID信息,按照设定的匹配方式进行配对,并将配对信息保存在HashMap中;
S3、NodeJS服务端20根据所述配对信息,将发送端10发送的数据发送至接收端30。
本实施例中的NodeJS服务端可以根据用户的需求,动态的管理各硬件设备之间的通信,动态的连通或切断硬件设备之间的数据通信。
需要说明的是,本实施例中采用NodeJS服务端可实现任意介质任意操作系统的硬件设备之间的数据交互,因此图2中的Ⅰ类硬件设备、Ⅱ类硬件设备、Ⅲ类硬件设备可为异质硬件系统。
需要说明的是,本实施例中的通信方法可以实现分组式的数据交互,比如,将图2中的Ⅰ类硬件设备为A组,Ⅱ类硬件设备为B组,NodeJS服务端将A组、B组中的每一台硬件进行匹配的过程具体包括:
发送端10中的硬件设备组A向NodeJS服务端20发送携带自身UID的认证信息;
NodeJS服务端20将套接字A与发送端10发送的认证信息存储在HashMap中;
接收端30中的硬件设备B组向NodeJS服务端20发送携带自身UID的认证信息;
NodeJS服务端20将套接字B与发送端10发送的认证信息存储在HashMap中;
NodeJS服务端20根据在数据库30中读取的硬件设备组A与硬件设备组B之间的关联信息,以及硬件设备组A的UID、硬件设备组B的UID按照预定方式进行配对;
这里预定的配对方式包括一对一、一对多、多对一以及多对多等方式。
在配对后,NodeJS服务端20将套接字A作为HashMap中的key存储在HashMap中、将套接字B作为HashMap中的value存储在HashMap中。
需要说明的是,本实施例中的套接字A为发送端10与NodeJS服务端20之间通信连接使用,套接字B为接收端30与NodeJS服务端之间通信连接使用。
进一步地,步骤S3,具体包括:
NodeJS服务端20在接收到发送端10发送的数据时,根据发送端10的套接字A在HashMap中索引到相对应的接收端30套接字Blist,向该list中的套接字B进行数据广播以将数据发送至接收端30。
需要说明的是,为了适用实际应用情况的需求,数据库40中硬件设备之间的对应关系信息一般会进行定时更新,本实施例中提供的基于NodeJS的M2M通信方法,能够根据数据库40中硬件节点配对信息的更新,实时的管控硬件节点之间的通信,具体过程为:
NodeJS服务端20根据数据库30中更新后的硬件配对信息,在HashMap中删除失效的套接字A和/或套接字B。
这里指的是删除不再需要发送或接收的套接字,减少了HashMap数据结构的存储量,同时确保了HashMap数据结构中存储的配对信息的准确性,提高了不同硬件设备之间数据交互的准确性。
需要说明的是,本实施例中设备节点之间传输通信协议为自定义协议格式,应用中传输的数据可为HEX或ASCII格式,但在实际网络传输时将其转换为二进制进行传输,因此本止住了中传输的数据格式可以传输任意数据格式的数据,各设备之间使用TCP/IP协议即可实现多台硬件设备之间的数据互通。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于NodeJS的M2M通信设备,其特征在于,包括:发送端(10)、NodeJS服务端(20)、接收端(30)以及数据库(40);
发送端(10)、接收端(30)分别与NodeJS服务端(20)的连接;
数据库(40)中存储有发送端(10)与接收端(20)之间的关联信息且数据库(40)的输出端与NodeJS服务端(20)的输入端连接。
2.如权利要求1所述的设备,其特征在于,所述的发送端(10)、接收端(30)均包括至少一类硬件设备组。
3.如权利要求1所述的设备,其特征在于,所述的NodeJS服务端(20)部署在云服务上或内网服务器上。
4.如权利要求1所述的设备,其特征在于,所述的NodeJS服务端(20)与数据库(40)为长连接。
5.如权利要求4所述的设备,其特征在于,所述的NodeJS服务端(20)与发送端(10)、接收端(30)均通过网络连接。
6.一种基于NodeJS的M2M通信方法,其特征在于,包括:
S1、NodeJS服务端(20)从数据库(40)中读取发送端(10)与接收端(30)之间的关联信息;
S2、NodeJS服务端(20)根据发送端(10)、接收端(30)的UID信息,按照设定的匹配方式进行配对,并将配对信息保存在HashMap中;
S3、NodeJS服务端(20)根据所述配对信息,将发送端(10)发送的数据发送至接收端(30)。
7.如权利要求6所述的方法,其特征在于,所述的发送端(10)、接收端(30)均包括至少一类硬件设备组。
8.如权利要求7所述的方法,其特征在于,所述的步骤S2,具体包括:
发送端(10)中的硬件设备组A向NodeJS服务端(20)发送携带自身UID的认证信息;
NodeJS服务端(20)将套接字A与发送端(10)发送的认证信息存储在HashMap中;
接收端(30)中的硬件设备B组向NodeJS服务端(20)发送携带自身UID的认证信息;
NodeJS服务端(20)将套接字B与发送端(10)发送的认证信息存储在HashMap中;
NodeJS服务端(20)根据在数据库(30)中读取的硬件设备组A与硬件设备组B之间的关联信息,以及硬件设备组A的UID、硬件设备组B的UID按照预定方式进行配对;
在配对后,NodeJS服务端(20)将套接字A作为HashMap中的key存储在HashMap中、将套接字B作为HashMap中的value存储在HashMap中。
9.如权利要求8所述的方法,其特征在于,所述的步骤S3,具体包括:
NodeJS服务端(20)在接收到发送端(10)发送的数据时,根据发送端(10)的套接字A在HashMap中索引到相对应的接收端(30)套接字Blist,向该list中的套接字B进行数据广播以将数据发送至接收端(30)。
10.如权利要求8所述的方法,其特征在于,还包括:
NodeJS服务端(20)根据数据库(30)中更新后的硬件配对信息,在HashMap中删除失效的套接字A和/或套接字B。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710625883.9A CN107172582B (zh) | 2017-07-27 | 2017-07-27 | 一种基于NodeJS的M2M通信设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710625883.9A CN107172582B (zh) | 2017-07-27 | 2017-07-27 | 一种基于NodeJS的M2M通信设备及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107172582A true CN107172582A (zh) | 2017-09-15 |
CN107172582B CN107172582B (zh) | 2020-09-04 |
Family
ID=59817461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710625883.9A Active CN107172582B (zh) | 2017-07-27 | 2017-07-27 | 一种基于NodeJS的M2M通信设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107172582B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783819A (zh) * | 2017-10-30 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种虚拟连接关系的存储方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971986A (zh) * | 2011-05-18 | 2013-03-13 | 松下电器产业株式会社 | 通信控制系统及其方法,以及通信装置及其方法、程序 |
CN103049190A (zh) * | 2012-12-12 | 2013-04-17 | 北京奇虎科技有限公司 | 一种移动通信终端及控制设备操作的方法 |
CN103139157A (zh) * | 2011-11-28 | 2013-06-05 | 北京南车时代信息技术有限公司 | 一种基于socket的网络通信方法、装置及系统 |
KR20140019065A (ko) * | 2012-07-19 | 2014-02-14 | 주식회사 모가 | 노드제이에스 기술을 활용한 실시간 사진공유시스템 |
CN105426326A (zh) * | 2015-11-05 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种实现高并发的队列存储方法及系统 |
-
2017
- 2017-07-27 CN CN201710625883.9A patent/CN107172582B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102971986A (zh) * | 2011-05-18 | 2013-03-13 | 松下电器产业株式会社 | 通信控制系统及其方法,以及通信装置及其方法、程序 |
CN103139157A (zh) * | 2011-11-28 | 2013-06-05 | 北京南车时代信息技术有限公司 | 一种基于socket的网络通信方法、装置及系统 |
KR20140019065A (ko) * | 2012-07-19 | 2014-02-14 | 주식회사 모가 | 노드제이에스 기술을 활용한 실시간 사진공유시스템 |
CN103049190A (zh) * | 2012-12-12 | 2013-04-17 | 北京奇虎科技有限公司 | 一种移动通信终端及控制设备操作的方法 |
CN105426326A (zh) * | 2015-11-05 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种实现高并发的队列存储方法及系统 |
Non-Patent Citations (2)
Title |
---|
万里晴、杨浩: "探究基于V8引擎的Node.js在各应用领域的发展", 《通信世界》 * |
王金龙等: "Node.js:一种新的Web应用构建技术", 《现代电子技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783819A (zh) * | 2017-10-30 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种虚拟连接关系的存储方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107172582B (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102647355B (zh) | Lacp协商处理方法、中继节点及系统 | |
US20170244792A1 (en) | Power-Line Carrier Terminal Control Apparatus, System, and Method | |
CN106230896A (zh) | 一种消息推送方法、装置及系统 | |
CN103518350A (zh) | 群组通信的方法、系统、群组服务器和群组成员设备 | |
CN109451019B (zh) | 用于工业实时数据的高并发采集方法 | |
CN102196591A (zh) | 移动终端并行传输数据的方法和移动终端 | |
CN106879049A (zh) | 智能家居设备、智能家居多设备同时入网的方法 | |
KR101157039B1 (ko) | Ddsb 통신 시스템 및 방법 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
CN103595712A (zh) | 一种Web认证方法、装置及系统 | |
KR101890310B1 (ko) | Mqtt 프로토콜 연동을 위한 어댑터 및 그를 이용한 데이터 교환 시스템 | |
CN107172582A (zh) | 一种基于NodeJS的M2M通信设备及方法 | |
CN106657377B (zh) | 一种wia-pa/全互联制造网络信息服务适配器及实现方法 | |
CN109217986A (zh) | 一种基于物联网的数据传输方法及系统 | |
CN103249010A (zh) | 通信设备和通信方法 | |
CN103346961B (zh) | 一种数据打包交换的方法和系统 | |
CN105553865A (zh) | 一种fc交换机芯片信用管理测试方法 | |
CN205051729U (zh) | 一种新的个人私密信息分享的系统 | |
CN202652408U (zh) | 一种基于sip协议的地图视频监控系统及视频传输系统 | |
CN105491646A (zh) | 无线传感器网络的自组网方法、系统及无线传感器网络 | |
CN113411790A (zh) | 低功耗的蓝牙网格网络系统及其通信方法 | |
CN105610683A (zh) | 一种基于应用偏好度的消息传输方法 | |
CN104486377B (zh) | 一种基于Zigbee无线双频段同步传输的避雷器监测系统 | |
CN103686079A (zh) | 一种终端设备 | |
CN107748760A (zh) | 一种基于esb的数据仓库建设方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |