CN104683460A - 一种物联网的通信方法、装置及服务器 - Google Patents

一种物联网的通信方法、装置及服务器 Download PDF

Info

Publication number
CN104683460A
CN104683460A CN201510081081.7A CN201510081081A CN104683460A CN 104683460 A CN104683460 A CN 104683460A CN 201510081081 A CN201510081081 A CN 201510081081A CN 104683460 A CN104683460 A CN 104683460A
Authority
CN
China
Prior art keywords
queue
selector
message
transmission message
connection
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
Application number
CN201510081081.7A
Other languages
English (en)
Other versions
CN104683460B (zh
Inventor
张保新
张诗彦
王运涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Intelligent Home Appliance Technology Co Ltd
Original Assignee
Qingdao Haier Intelligent Home Appliance Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Intelligent Home Appliance Technology Co Ltd filed Critical Qingdao Haier Intelligent Home Appliance Technology Co Ltd
Priority to CN201510081081.7A priority Critical patent/CN104683460B/zh
Publication of CN104683460A publication Critical patent/CN104683460A/zh
Application granted granted Critical
Publication of CN104683460B publication Critical patent/CN104683460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种物联网的通信方法、装置及服务器,其中,该方法包括:设置多个第一选择器Selector,以从连接队列中多线程接收连接请求;根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于连接队列最前端的连接请求;根据连接请求建立与设备侧的连接。本发明实施例设置了多个Selector,多个Selector可以从连接队列中多线程接收连接请求,进而并行处理多个连接请求,服务器的处理速度更快,解决了现有技术中,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理的问题。

Description

一种物联网的通信方法、装置及服务器
技术领域
本发明涉及通讯领域,特别是涉及一种物联网的通信方法、装置及服务器。
背景技术
近年来随着物联网的发展,越来越多的终端都具有网络功能,并且需要连接到服务器,用户通过服务器可以远程操作终端设备,服务器需要一套高效,稳定的通信***来支撑设备的连接以及收发数据。
目前大多通讯***存在以下缺点:
(1)随着连接的设备数增多,通讯***的运行压力将增大,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理;(2)设备发送的数据包存在逻辑的顺序性,但到服务器接收后进行多线程处理,将导致无序(应该要保证数据的顺序);(3)服务器不能根据接收包的速率来自动调整服务器的运行负载;(4)服务器不能实时添加和/或删除注册网络任务;(5)有时***经常发生死锁问题,如果死锁发生,***将无响应并影响***的吞吐量。
发明内容
本发明提供一种物联网的通信方法、装置及服务器,至少解决现有技术中,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理的问题。
为解决上述技术问题,一方面,本发明提供一种物联网的通信方法,包括:设置多个第一选择器Selector,以从连接队列中多线程接收连接请求;根据所述多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;根据所述连接请求建立与设备侧的连接。
进一步,根据所述连接请求建立与设备侧的连接之后,还包括:根据预设条件确定是否接收来自设备侧的发送消息;在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
进一步,根据预设条件确定是否接收来自设备侧的发送消息包括:将各个第二Selector当前接收数据的数量与预设第一数量进行比较,并在所述当前接收数据的数量没有达到所述预设第一数量的情况下,确定接收所述发送消息;和/或,检测各接收队列中接收消息的数量,将所述接收消息的数量与预设第二数量进行比较,并在所述接收消息的数量没有达到预设第二数量的情况下,确定接收所述发送消息。
进一步,确定一个Selector接收所述连接请求或所述发送消息包括:为所述多个Selector接收数据的数量由大到小进行排序,选择接收数据的数量最小的Selector接收当前待接收的所述连接请求或所述发送消息;在接收所述连接请求或所述发送消息后,为所述接收数据的数量最小的Selector更新接收数据的数量。
进一步,在所述设置多个第一选择器Selector,以从连接队列中多线程接收连接请求之前,还包括:判断用于接收设备侧注册消息的注册队列是否为空;在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
进一步,将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理之后,还包括:对所述发送消息进行处理;将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
进一步,根据所述连接请求建立与设备侧的连接之后,还包括:判断用于取消设备侧注册消息的取消队列是否为空;在所述注册队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
另一方面,本发明还提供了一种物联网的通信装置,包括:接收模块,用于通过预先设置的多个第一选择器Selector,从连接队列中多线程接收连接请求;第一确定模块,用于根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;连接模块,用于根据所述连接请求建立与设备侧的连接。
进一步,所述装置还包括:第二确定模块,用于根据预设条件确定是否接收来自设备侧的发送消息;选择模块,用于在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;第一添加模块,用于将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
进一步,所述装置还包括:第一判断模块,用于判断用于接收设备侧注册消息的注册队列是否为空;第二添加模块,用于在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
进一步,所述装置还包括:处理模块,用于对所述发送消息进行处理;设置模块,用于将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;并在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
进一步,所述装置还包括:第二判断模块,用于在根据所述连接请求建立与设备侧的连接之后,判断用于取消设备侧注册消息的取消队列是否为空;删除模块,用于在所述注册队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
又一方面,本发明还提供了一种服务器,包括:上述任一项的物联网的通信装置。
本发明设置了多个Selector,多个Selector可以从连接队列中多线程接收连接请求,进而并行处理多个连接请求,服务器的处理速度更快,解决了现有技术中,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理的问题。
附图说明
图1是本发明实施例中物联网的通信方法的流程图;
图2是本发明实施例中物联网的通信装置的第一结构示意图;
图3是本发明实施例中物联网的通信装置的第二结构示意图;
图4是本发明实施例中物联网的通信装置的第三结构示意图;
图5是本发明实施例中物联网的通信装置的第四结构示意图;
图6是本发明实施例中物联网的通信装置的第五结构示意图;
图7是本发明优选实施例中设备具体的注册及连接接入流程图。
具体实施方式
为了解决现有技术中,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理的问题,本发明提供了一种物联网的通信方法、装置及服务器,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明实施例提供了一种物联网的通信方法,其流程如图1所示,包括步骤S102至S106:
S102,设置多个第一Selector,以从连接队列中多线程接收连接请求。该过程中,建立了多个第一Selector,其用于在接收连接请求的过程中并行的多线程处理连接请求,当连接请求发来时,从连接队列中依次获得连接请求,由于设置了多个第一Selector,因此,连接队列中的连接请求可以依次进行处理。
S104,根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于连接队列最前端的连接请求。
在该过程中,通常是为多个第一Selector接收数据的数量由大到小进行排序,选择接收数据的数量最小的Selector接收当前待接收的连接请求,在接收连接请求后,为接收数据的数量最小的Selector更新接收数据的数量,将其对应的计数器加一。
S106,根据连接请求建立与设备侧的连接。
本发明实施例设置了多个Selector,多个Selector可以从连接队列中多线程接收连接请求,进而并行处理多个连接请求,服务器的处理速度更快,解决了现有技术中,基于单线程的select和epoll模型不无法满足***的socket的读写要求,且设备发送的包很频繁,将堵塞服务器业务线程的处理的问题。
在根据连接请求建立与设备侧的连接之后,可以接收来自设备侧的发送消息。为了不造成拥塞,本实施例需要确定是否接收该发送消息,即根据预设条件确定是否接收来自设备侧的发送消息;在确定接收发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收发送消息,再将发送消息添加到接收队列中,以等待对发送消息进行处理。在该过程中,确定一个第二Selector的过程与确定一个第一Selector的过程相似,其可以为多个第二Selector接收数据的数量由大到小进行排序,选择接收数据的数量最小的第二Selector接收发送消息;在接收发送消息后,为接收数据的数量最小的Selector更新接收数据的数量。
其中,根据预设条件确定是否接收来自设备侧的发送消息的过程可以是:将各个第二Selector当前接收数据的数量与预设第一数量进行比较,并在当前接收数据的数量没有达到预设第一数量的情况下,确定接收发送消息;和/或,检测各接收队列中接收消息的数量,将接收消息的数量与预设第二数量进行比较,并在接收消息的数量没有达到预设第二数量的情况下,确定接收发送消息。本发明实施例通过第二Selector当前接收数据的数量、接收队列中接收消息的数量作为基本参考,如果上述两个参考量中的至少一个不符合要求,则可以暂停接收发送消息,例如让服务器暂时进行休眠。上述过程能够根据负载来调整服务器的运行,解决了服务器不能根据接收包的速率来自动调整服务器的运行负载问题。
进一步,在将发送消息添加到接收队列中,以等待对发送消息进行处理之后,对发送消息进行处理,将处理后的发送消息添加到发送队列中,并将发送队列的状态标志位设置为发送状态;在处理后的发送消息发送完成后,将发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。上述过程中,修改状态标志位的方式能够有效的阻止死锁问题,提升***性能。
在设置多个第一选择器Selector,以从连接队列中多线程接收连接请求之前,设备侧还需要进行注册,则判断用于接收设备侧注册消息的注册队列是否为空;在注册队列为非空的情况下,将来自注册消息添加到一个第三Selector中,以实现设备侧的注册。在实现的过程中,该第三Selector可以是从多个第三Selector中选择的,其选择过程与第一Selector或第二Selector的选择过程相同,此处不进行赘述。
在根据连接请求建立与设备侧的连接之后,还可以在此时判断呢是否存在需要删除的设备,即判断用于取消设备侧注册消息的取消队列是否为空,在注册队列为非空的情况下,将取消队列中取消注册消息对应的设备进行删除。该过程在建立连接后及时触发,省去了设置一个单独定时器进行监控的繁琐过程,且在建立连接后及时清理不需要连接的设备,为下一次设备的连接让出了物理空间。
上述过程中,通过注册队列、连接队列及取消队列等队列方式进行排队,按序处理,解决了设备发送的数据包存在逻辑的顺序性,但到服务器接收后进行多线程处理,将导致无序(应该要保证数据的顺序)的问题,且能够通过服务器实时添加和/或删除注册请求,删除对应的设备。
本发明实施例还提供了一种物联网的通信装置,该装置的第一结构示意如图2所示,包括:接收模块10,用于通过预先设置的多个第一选择器Selector,从连接队列中多线程接收连接请求;第一确定模块11,与接收模块10耦合,用于根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于连接队列最前端的连接请求;连接模块12,与第一确定模块11耦合,用于根据连接请求建立与设备侧的连接。
图3示出了上述装置的第二结构示意图,其还包括:第二确定模块20,与连接模块12耦合,用于根据预设条件确定是否接收来自设备侧的发送消息;选择模块21,与第二确定模块20耦合,用于在确定接收发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收发送消息;第一添加模块22,与选择模块21耦合,用于将发送消息添加到接收队列中,以等待对发送消息进行处理。
图4示出了上述装置的第三结构示意图,在图3的基础上,还包括:第一判断模块30,用于判断用于接收设备侧注册消息的注册队列是否为空;第二添加模块31,与接收模块10和第一判断模块30耦合,用于在注册队列为非空的情况下,将来自注册消息添加到一个第三Selector中,以实现设备侧的注册。在注册后,可以触发接收模块10工作。
在第一添加模块22将发送消息添加到接收队列中,以等待对发送消息进行处理之后,需要对消息进行处理,图5示出了上述装置的第四结构示意图,其还包括:处理模块40,与第一添加模块22耦合,用于对发送消息进行处理;设置模块41,与处理模块40耦合,用于将处理后的发送消息添加到发送队列中,并将发送队列的状态标志位设置为发送状态;并在处理后的发送消息发送完成后,将发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
在一个优选实施例中,上述装置还可以如图6所示,还包括:第二判断模块50,与连接模块12耦合,用于在根据连接请求建立与设备侧的连接之后,判断用于取消设备侧注册消息的取消队列是否为空;删除模块51,与第二判断模块50耦合,用于在注册队列为非空的情况下,将取消队列中取消注册消息对应的设备进行删除。
本发明实施例还提供一种服务器,其包括上述的物联网的通信装置。本领域技术人员根据上述实施例记载,知晓如何将上述装置集成到服务器中,此处不再赘述。
优选实施例
本发明实施例提供了一种物联网的通信方法,该方法通信效率更高。下面,分别从各个不同的处理过程入手,对该方法进行说明,需要说明的是,每个处理过程中都会出现selector,在每个进程中的selector都是独立设置的,用于接收请求或消息。
设备连接接入初始化流程如下:
(1)服务器主线程启动Accept初始化器,初始化工作开始执行。在启动Accept初始化器之后,将其对应的标志位设置为未完成。
(2)新建多个selector接收器,对应注册队列和取消队列;主线程获取本地网卡ip列表,根据ip列表生成初始化注册队列,并提交线程池开始初始化流程,主线程等待初始完成。
(3)根据初始化队列异步初始化注册accept事件,并设置相关的连接参数。
(4)根据以上accept事件注册到selector中。
(5)初始化accept事件完成,通知主线程初始化完成,并开启selector开始工作。在accept事件完成之后,将其对应的标志位设置为完成。
需要说明的是,步骤(1)和(5)中设置初始化标志,步骤(2)把当前的注册任务放入注册队列中,并一直使主线程等待;步骤(5)中当初始化任务异步完成后发送通知主线程并对selector唤醒,接收连接任务开启。其中,步骤(2)中增加注册队列和取消队列(下文中会用到),可以动态的在服务运行中实时处理异步注册和取消网络消息,特别是服务启动或者关闭时,可以实现动态任务。
如图7所示,设备具体的注册及连接接入流程如下:
(1)设备发起连接请求。
(2)服务器接收到设备连接请求。通常的,在接收连接请求时,会判断设备连接请求是否为合法连接,该过程为通信必要过程,此处不再赘述。
(3)accept时间触发接收selector接收连接请求。
(4)判断设备注册队列是否为空,如非空,则注册注册消息到设备连接selector中,并通知主线程已经注册完成,可以接受连接消息,否则,执行过程(5)。
(5)获取设备连接请求,把该连接消息放入设备连接队列中。
(6)设备连接线程池通过多个selector并发执行设备连接队列消息,把设备连接消息并发的放入设备读写消息Selector中(此处不详细介绍,下边将详细介绍)。
(7)判断设备取消队列是否为空,如非空则取消当前selector的网络注册消息,并通知主线程已经注销成功,服务器将不再接受此网络的注册消息。在接收连接请求或注册消息之后,都可以对取消队列进行判断,本实施例将其放到过程(6)之后实现。
(8)连接Accept接收处理流程。
需要说明的是,步骤(4)中设备注册队列为实时队列,当有新增网络监听消息时将会触发,可以在不重启网络服务的情况下,动态的添加网络绑定消息。步骤(6)中设备连接接收后放入队列中,多线程放入收发selector中。步骤(7)中设备取消队列为实时队列,当由于某种原因例如重启或是服务器暂停服务时,可以把网络消息添加到取消队列中,网络绑定信息将取消,不再接受网络连接服务。
服务器接收初始化流程如下:
设备连接请求接收后,把设备连接放入设备连接队列之后,多线程并发处理设备连接队列请求;第一次调用时需要初始化selector选择器数组,根据设备读写的频度来选择使用次数和时间最少的selector,作为此设备的读写选择器,然后设备连接到selector中。其中,首次访问时初始化selector数组,每个数组元素都关联两个使用因子分别为收发数据次数和使用时间(具体见下边说明),每次选择合适的selector为以上值最小的selector。
设备数据接收流程如下:
(1)终端设备发送消息。
(2)服务器接收发送消息,触发selector消息事件。
(3)从selector中读取消息。
(4)Selector相关计数器加一,获取此消息长度,更新selector的接收消息的总长度。
(5)判断当前selector接收数据频度是否频繁,如果是则休眠会。
(6)判断当前连接的接受队列是否堵塞,如果是则休眠会。
(7)添加消息到接收队列中。
(8)通知线程池顺序执行此接收队列消息。
(9)通知业务方处理消息。
需要说明的是,上述过程中的(5)和(6)是一种判断是否接收的条件,在当前已经接收后,可以为下一次是否接收提供依据,其没有一个固定的顺序执行过程,本实施例中设计的实现过程仅是一种参考;步骤(4)中selector计数器和消息接收的总大小,将作为某个selector是否忙闲的依据,当一个连接添加到某个接收selector中时一般都会通过这两项数据作为指标选择计数器最小并且接收的消息数少的selector;步骤(6)中为防止设备发送的数据量过大,接收队列已满时,将会休眠会;步骤(8)中当消息添加到消息队列后,需要保证对于某个设备消息在多线程执行时的顺序性。
服务器发送处理后的发送消息流程如下:
(1)服务器等待发送处理后的发送消息。
(2)把处理后的发送消息添加到发送队列。
(3)队列消息开始发送,并把当前队列的标志位设置,设置为正在发送状态,则说明此线程已经在运行,提示发生死锁。
(4)发送处理后的发送消息给设备。
(5)清空当前消息的标志位,此时,下一个消息可以进行发送。
(6)通知发送方.
本发明上述实施例实现了以下功能:
1、基于智能家电物联网通讯***,服务器可以动态添加和删除设备的网络监听;2、基于智能家电物联网通讯***,连接selector与数据读写selector分离以及采用多线程机制,提高***性能;3、基于智能家电物联网通讯***,***可根据当前负载自动调整的服务器处理的性能;4、基于智能家电物联网通讯***,发送数据时***自动判断是否存在死锁;5、基于智能家电物联网通讯***,接收数据包后多线程发送,能够保证数据的顺序性。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (13)

1.一种物联网的通信方法,其特征在于,包括:
设置多个第一选择器Selector,以从连接队列中多线程接收连接请求;
根据所述多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;
根据所述连接请求建立与设备侧的连接。
2.如权利要求1所述的通信方法,其特征在于,根据所述连接请求建立与设备侧的连接之后,还包括:
根据预设条件确定是否接收来自设备侧的发送消息;
在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;
将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
3.如权利要求2所述的通信方法,其特征在于,根据预设条件确定是否接收来自设备侧的发送消息包括:
将各个第二Selector当前接收数据的数量与预设第一数量进行比较,并在所述当前接收数据的数量没有达到所述预设第一数量的情况下,确定接收所述发送消息;和/或,
检测各接收队列中接收消息的数量,将所述接收消息的数量与预设第二数量进行比较,并在所述接收消息的数量没有达到预设第二数量的情况下,确定接收所述发送消息。
4.如权利要求1至3中任一项所述的通信方法,其特征在于,确定一个Selector接收所述连接请求或所述发送消息包括:
为所述多个Selector接收数据的数量由大到小进行排序,选择接收数据的数量最小的Selector接收当前待接收的所述连接请求或所述发送消息;
在接收所述连接请求或所述发送消息后,为所述接收数据的数量最小的Selector更新接收数据的数量。
5.如权利要求1至3中任一项所述的通信方法,其特征在于,在所述设置多个第一选择器Selector,以从连接队列中多线程接收连接请求之前,还包括:
判断用于接收设备侧注册消息的注册队列是否为空;
在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
6.如权利要求2或3任一项所述的通信方法,其特征在于,将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理之后,还包括:
对所述发送消息进行处理;
将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;
在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
7.如权利要求1至3中任一项所述的通信方法,其特征在于,根据所述连接请求建立与设备侧的连接之后,还包括:
判断用于取消设备侧注册消息的取消队列是否为空;
在所述注册队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
8.一种物联网的通信装置,其特征在于,包括:
接收模块,用于通过预先设置的多个第一选择器Selector,从连接队列中多线程接收连接请求;
第一确定模块,用于根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;
连接模块,用于根据所述连接请求建立与设备侧的连接。
9.如权利要求8所述的通信装置,其特征在于,还包括:
第二确定模块,用于根据预设条件确定是否接收来自设备侧的发送消息;
选择模块,用于在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;
第一添加模块,用于将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
10.如权利要求8或9所述的通信装置,其特征在于,还包括:
第一判断模块,用于判断用于接收设备侧注册消息的注册队列是否为空;
第二添加模块,用于在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
11.如权利要求8或9所述的通信装置,其特征在于,还包括:
处理模块,用于对所述发送消息进行处理;
设置模块,用于将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;并在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
12.如权利要求8或9所述的通信装置,其特征在于,还包括:
第二判断模块,用于在根据所述连接请求建立与设备侧的连接之后,判断用于取消设备侧注册消息的取消队列是否为空;
删除模块,用于在所述注册队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
13.一种服务器,其特征在于,包括:权利要求8至12中任一项所述的物联网的通信装置。
CN201510081081.7A 2015-02-15 2015-02-15 一种物联网的通信方法、装置及服务器 Active CN104683460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510081081.7A CN104683460B (zh) 2015-02-15 2015-02-15 一种物联网的通信方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510081081.7A CN104683460B (zh) 2015-02-15 2015-02-15 一种物联网的通信方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN104683460A true CN104683460A (zh) 2015-06-03
CN104683460B CN104683460B (zh) 2019-08-16

Family

ID=53318027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510081081.7A Active CN104683460B (zh) 2015-02-15 2015-02-15 一种物联网的通信方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN104683460B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039732A (zh) * 2018-07-26 2018-12-18 中国建设银行股份有限公司 消息处理***及消息处理方法
CN109889406A (zh) * 2019-02-02 2019-06-14 北京百度网讯科技有限公司 用于管理网络连接的方法、装置、设备和存储介质
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN110532088A (zh) * 2019-07-15 2019-12-03 金蝶汽车网络科技有限公司 连接处理方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546437A (zh) * 2012-02-20 2012-07-04 南京邮电大学 一种面向物联网平台的套接字实现方法
CN103164256A (zh) * 2011-12-08 2013-06-19 深圳市快播科技有限公司 一种实现单机支持高并发处理方法及***
CN104079398A (zh) * 2013-03-28 2014-10-01 腾讯科技(深圳)有限公司 一种数据通信方法、装置及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164256A (zh) * 2011-12-08 2013-06-19 深圳市快播科技有限公司 一种实现单机支持高并发处理方法及***
CN102546437A (zh) * 2012-02-20 2012-07-04 南京邮电大学 一种面向物联网平台的套接字实现方法
CN104079398A (zh) * 2013-03-28 2014-10-01 腾讯科技(深圳)有限公司 一种数据通信方法、装置及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DENNIS_ZANE: "nio框架中的多个selector结构", 《ITEYE》 *
逍遥子: "由浅入深了解Thrift(三)--Thrift server端的几种工作模式分析", 《CSDN》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039732A (zh) * 2018-07-26 2018-12-18 中国建设银行股份有限公司 消息处理***及消息处理方法
CN109039732B (zh) * 2018-07-26 2021-07-23 中国建设银行股份有限公司 消息处理***及消息处理方法
CN109889406A (zh) * 2019-02-02 2019-06-14 北京百度网讯科技有限公司 用于管理网络连接的方法、装置、设备和存储介质
CN109889406B (zh) * 2019-02-02 2021-05-14 北京百度网讯科技有限公司 用于管理网络连接的方法、装置、设备和存储介质
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN109922159B (zh) * 2019-03-27 2021-10-08 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN110532088A (zh) * 2019-07-15 2019-12-03 金蝶汽车网络科技有限公司 连接处理方法、装置、计算机设备和存储介质
CN110532088B (zh) * 2019-07-15 2022-09-23 金蝶汽车网络科技有限公司 连接处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN104683460B (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
JP7192103B2 (ja) データ処理方法及び装置、及び、コンピューティングノード
CN104376036B (zh) 具有减少时延的分组处理的套接字管理
CN100365589C (zh) 帮助多端口主机适配器的端口测试的装置、***和方法
CN106407031B (zh) 一种内存泄露定位方法及电子设备
CN100504791C (zh) 多cpu对临界资源进行互斥访问的方法和装置
CN104683460A (zh) 一种物联网的通信方法、装置及服务器
CN105610972A (zh) 集群式的任务调派***
WO2021109767A1 (zh) 网络设备及其降低传输时延的方法
CN101702735A (zh) 一种tcp服务装置及方法
JP4978006B2 (ja) データ処理装置及びデータ処理方法
CN111722944B (zh) 一种基于nio的airt-ros通信方法及***
CN110071880A (zh) 报文转发方法、转发装置、服务器及存储介质
CN104935636A (zh) 网络通道加速方法和***
CN102571568A (zh) 任务处理方法及装置
CN106101019A (zh) 一种基于中断绑定的多队列网卡性能调优方法
CN102185770A (zh) 基于多核架构的批量式报文收发方法
US8082339B2 (en) Electronic device network having graceful denial of service
CN108984321A (zh) 一种移动终端及其进程间通信的限制方法、存储介质
CN108718398A (zh) 视频会议***的码流传输方法、装置及会议设备
CN108924128A (zh) 一种移动终端及其进程间通信的限制方法、存储介质
CN111858035A (zh) 一种fpga设备分配方法、装置、设备及存储介质
CN106933681A (zh) 一种多对象阻塞方法及其***
US20160165049A1 (en) System and method for automatic communication distribution local assignment
CN106790632B (zh) 一种流数据的并发传输方法和装置
CN102413133B (zh) 一种时间可控的客户端服务器传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant