CN104683460B - 一种物联网的通信方法、装置及服务器 - Google Patents
一种物联网的通信方法、装置及服务器 Download PDFInfo
- Publication number
- CN104683460B CN104683460B CN201510081081.7A CN201510081081A CN104683460B CN 104683460 B CN104683460 B CN 104683460B CN 201510081081 A CN201510081081 A CN 201510081081A CN 104683460 B CN104683460 B CN 104683460B
- Authority
- CN
- China
- Prior art keywords
- selector
- queue
- message
- connection
- receiving
- 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.)
- Active
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 (11)
1.一种物联网的通信方法,其特征在于,包括:
设置多个第一选择器Selector,以从连接队列中多线程接收连接请求;
根据所述多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;
根据所述连接请求建立与设备侧的连接;
其中,根据所述连接请求建立与设备侧的连接之后,还包括:
根据预设条件确定是否接收来自设备侧的发送消息;
在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;
将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
2.如权利要求1所述的通信方法,其特征在于,根据预设条件确定是否接收来自设备侧的发送消息包括:
将各个第二Selector当前接收数据的数量与预设第一数量进行比较,并在所述当前接收数据的数量没有达到所述预设第一数量的情况下,确定接收所述发送消息;和/或,
检测各接收队列中接收消息的数量,将所述接收消息的数量与预设第二数量进行比较,并在所述接收消息的数量没有达到预设第二数量的情况下,确定接收所述发送消息。
3.如权利要求1或2所述的通信方法,其特征在于,确定一个Selector接收所述连接请求或所述发送消息包括:
为所述多个Selector接收数据的数量由大到小进行排序,选择接收数据的数量最小的Selector接收当前待接收的所述连接请求或所述发送消息;
在接收所述连接请求或所述发送消息后,为所述接收数据的数量最小的Selector更新接收数据的数量。
4.如权利要求1或2所述的通信方法,其特征在于,在所述设置多个第一选择器Selector,以从连接队列中多线程接收连接请求之前,还包括:
判断用于接收设备侧注册消息的注册队列是否为空;
在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
5.如权利要求3所述的通信方法,其特征在于,将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理之后,还包括:
对所述发送消息进行处理;
将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;
在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
6.如权利要求1或2所述的通信方法,其特征在于,根据所述连接请求建立与设备侧的连接之后,还包括:
判断用于取消设备侧注册消息的取消队列是否为空;
在所述取消队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
7.一种物联网的通信装置,其特征在于,包括:
接收模块,用于通过预先设置的多个第一选择器Selector,从连接队列中多线程接收连接请求;
第一确定模块,用于根据多个第一Selector接收数据的数量,确定一个第一Selector接收当前处于所述连接队列最前端的连接请求;
连接模块,用于根据所述连接请求建立与设备侧的连接;
第二确定模块,用于根据预设条件确定是否接收来自设备侧的发送消息;
选择模块,用于在确定接收所述发送消息的情况下,从预设的多个第二Selector中,确定一个第二Selector接收所述发送消息;
第一添加模块,用于将所述发送消息添加到接收队列中,以等待对所述发送消息进行处理。
8.如权利要求7所述的通信装置,其特征在于,还包括:
第一判断模块,用于判断用于接收设备侧注册消息的注册队列是否为空;
第二添加模块,用于在所述注册队列为非空的情况下,将来自所述注册消息添加到一个第三Selector中,以实现设备侧的注册。
9.如权利要求7所述的通信装置,其特征在于,还包括:
处理模块,用于对所述发送消息进行处理;
设置模块,用于将处理后的发送消息添加到发送队列中,并将所述发送队列的状态标志位设置为发送状态;并在所述处理后的发送消息发送完成后,将所述发送队列的状态标志位设置为空闲状态,以等待接收下一个处理后的发送消息。
10.如权利要求7所述的通信装置,其特征在于,还包括:
第二判断模块,用于在根据所述连接请求建立与设备侧的连接之后,判断用于取消设备侧注册消息的取消队列是否为空;
删除模块,用于在所述取消队列为非空的情况下,将所述取消队列中取消注册消息对应的设备进行删除。
11.一种服务器,其特征在于,包括:权利要求7至10中任一项所述的物联网的通信装置。
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 CN104683460A (zh) | 2015-06-03 |
CN104683460B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039732B (zh) * | 2018-07-26 | 2021-07-23 | 中国建设银行股份有限公司 | 消息处理系统及消息处理方法 |
CN109889406B (zh) * | 2019-02-02 | 2021-05-14 | 北京百度网讯科技有限公司 | 用于管理网络连接的方法、装置、设备和存储介质 |
CN109922159B (zh) * | 2019-03-27 | 2021-10-08 | 宁波大学 | 一种物联网设备间云端双向虚拟连接的方法 |
CN110532088B (zh) * | 2019-07-15 | 2022-09-23 | 金蝶汽车网络科技有限公司 | 连接处理方法、装置、计算机设备和存储介质 |
Citations (3)
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 | 腾讯科技(深圳)有限公司 | 一种数据通信方法、装置及系统 |
-
2015
- 2015-02-15 CN CN201510081081.7A patent/CN104683460B/zh active Active
Patent Citations (3)
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)
Title |
---|
nio框架中的多个selector结构;Dennis_zane;《ITEYE》;20091006;第7页 |
由浅入深了解Thrift(三)--Thrift server端的几种工作模式分析;逍遥子;《CSDN》;20150116;第5节 |
Also Published As
Publication number | Publication date |
---|---|
CN104683460A (zh) | 2015-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683460B (zh) | 一种物联网的通信方法、装置及服务器 | |
CN104506379B (zh) | 网络数据捕获方法和系统 | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN110049113A (zh) | 业务消息处理方法及装置 | |
CN108121608A (zh) | 一种队列调度方法以及节点设备 | |
JP3042267B2 (ja) | 適応的呼接続規制制御装置及びその方法 | |
CN104601523B (zh) | 一种传输数据的方法及装置 | |
CN109800204A (zh) | 数据分配方法及相关产品 | |
CN106034320A (zh) | 虚拟sim卡切换方法和装置 | |
CN102185770A (zh) | 基于多核架构的批量式报文收发方法 | |
CN108681481A (zh) | 业务请求的处理方法及装置 | |
CN109040970A (zh) | 基于云计算的业务规划办理方法及终端设备 | |
CN108024153A (zh) | 线下结合线上的娃娃机抓取方法及系统、服务器 | |
CN109491895A (zh) | 服务器压力测试方法及装置 | |
CN109981737A (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN108683528A (zh) | 一种数据传输方法、中心服务器、服务器及数据传输系统 | |
CN109240947A (zh) | 智能卡数据接收方法及装置 | |
CN104038390A (zh) | 一种基于netlink的linux服务器集群统一外设事件监听方法 | |
CN107682460A (zh) | 一种分布式存储集群数据通信方法及系统 | |
CN103544098B (zh) | 一种压力测试的方法和装置 | |
CN105025063A (zh) | 面向大规模终端设备的在线数据传输方法 | |
CN108829526A (zh) | 一种进程间通信方法、电子设备及可读存储介质 | |
CN111722944A (zh) | 一种基于nio的airt-ros通信方法及系统 | |
CN110321203B (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 |