CN103037011A - 基于iocp的海量终端设备接入系统 - Google Patents
基于iocp的海量终端设备接入系统 Download PDFInfo
- Publication number
- CN103037011A CN103037011A CN2012105752180A CN201210575218A CN103037011A CN 103037011 A CN103037011 A CN 103037011A CN 2012105752180 A CN2012105752180 A CN 2012105752180A CN 201210575218 A CN201210575218 A CN 201210575218A CN 103037011 A CN103037011 A CN 103037011A
- Authority
- CN
- China
- Prior art keywords
- terminal equipment
- access
- iocp
- surveillance center
- terminal
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出基于IOCP的海量终端设备接入系统最大限度提高网络通信性能。基于IOCP的海量终端设备接入系统,包括终端设备、通讯接入系统、监控中心以及数据库,数据库与监控中心连接,终端设备通过通讯接入系统连接到监控中心。
Description
技术领域
本发明涉及一种终端设备接入系统,特别是基于IOCP的海量终端设备接入系统。
背景技术
随着汽车行业的不断发展,越来越多的车辆都开始装有GPS导航设备,由于客户需要随时了解自己的车辆的行驶状态和行驶位置,这样在每个客户的电脑上都需要安装一个查车客户端,供客户随时在客户端上查看自己的车辆。此时,客户端的接入量是检验一个服务器性能的重要指标之一。假如有成百上千个客户通过客户端同时对自己的车辆进行操作,这样服务器就需要对所有客户端的请求进行处理,将指令下发到各个车辆的GPS设备上。如果采用传统的多线程方式,服务器端在每个客户端连入之后,都要启动一个新的线程和客户端进行通信,这样有多少个客户端,就需要启动多少个线程,因为这些线程都是出于运行状态,系统必须在所有的线程之间进行切换,CPU忙着去切换线程,根本没有时间去执行线程体,所以效率非常低下。
发明内容
针对上述的问题,本发明提出基于IOCP的海量终端设备接入系统最大限度提高网络通信性能。
本发明的技术方案是这样实现的:
基于IOCP的海量终端设备接入系统,包括终端设备、通讯接入系统、监控中心以及数据库,数据库与监控中心连接,终端设备通过通讯接入系统连接到监控中心。
进一步的,通讯接入系统包括:
接入链路管理系统:与所述终端设备以及监控中心连接;
数据收发管理系统:包括接收内存队列和发送内存队列,接收内存队列包括已用队列和未用队列;发送内存队列包括空闲队列;
接入协议适配器:用于解析不同协议的终端设备发送的数据;
接入协议标准化模块:与接入协议适配器连接,将解析后的数据进行标准化封装后发送到监控中心;
终端设备管理系统:包括终端设备接入层和终端设备控制系统。
再进一步的,终端设备控制系统包括:
应用协议转换器:监控中心下发的指令通过应用协议转换器转化成可识别的标准协议发送到终端设备接入层;
终端设备能力管理子系统:用于记录终端设备的功能信息,并将信息发送到监控中心;
终端设备接入管理子系统:用于控制终端设备的接入与否;
终端设备状态管理子系统:用于管理和记录终端设备的运行状态。
再进一步的,接入链路管理系统包括映射表、socket句柄以及连接容器;监控中心下发指令数据时,映射表生成一个socket链表结构添加到连接容器,socket链表结构中存储有SIM卡号、最新接收时间信息。
再进一步的,接入链路管理系统还包括超时判断线程;超时判断线程通过访问socket链表结构获取最新接收时间,当最新接收时间超过规定值,则删除连接容器内的socket链表结构。
由上述对本发明的描述可知,和现有技术相比,本发明具有如下优点:
本发明能够实现海量终端设备的接入,满足大量客户同时在线的要求,只使用少量的线程来处理和客户端的所有通信,消除了无谓的线程上下文切换,最大限度的提高了网络通信的性能。提高系统运行效率,能够为车辆监控、管理等GPS终端设备接入应用提供坚实的技术保障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的拓扑结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
定义:为了有助于和澄清随后的实施例的描述,对部分术语限定如下,下列的限定应用于本说明书以及权利要求书。
IOCP:全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。
使用IOCP的基本步骤:
A1:创建IOCP对象,由它负责管理多个Socket和I/O请求。
A2:创建一个工作线程池,以便Socket发送I/O请求给IOCP对象后,由这些工作线程进行I/O操作。创建这些线程的时候,将这些线程绑定到IOCP上。
A3:创建一个监听的socket。
A4:轮询,当接收到了新的连接后,将socket和完成端口进行关联并且投递给IOCP一个I/O请求。
A5:因为是异步的,我们可以去做其他,等待IOCP将I/O操作完成会回馈一个消息,再进行处理。
实施例:
基于IOCP的海量终端设备接入系统,包括终端设备、通讯接入系统、监控中心以及数据库,数据库与监控中心连接,终端设备通过通讯接入系统连接到监控中心。
通讯接入系统,主要负责与车载终端设备之间通信链路的管理、数据收发。为了兼容不同的车载终端设备,在该层对车载终端设备到中心的数据进行协议标准化处理。通讯接入系统包括接入链路管理系统、数据收发管理系统、接入协议适配器、接入协议标准化模块、终端设备管理系统。
B1、接入链路管理系统:与所述终端设备以及监控中心连接;为获得通信模块最大通信服务能力,本系统采用高效的IOCP(完全端口)技术。接入链路管理系统包括映射表、socket句柄(系统自动赋值)、连接容器以及超时判断线程;监控中心下发指令数据时,映射表生成一个socket链表结构添加到连接容器,socket链表结构中存储有SIM卡号、最新接收时间信息。当有指令下方时候,系统根据SIM卡号连接容器内找到到对应的socket句柄,然后根据此句柄发送数据到终端设备。超时判断线程通过访问socket链表结构获取最新接收时间,当最新接收时间超过规定值,则认为终端设备已经接收超时掉线,则删除连接容器内的socket链表结构,释放空间。当有新终端设备上线或者掉线,需要把最新的终端设备在线情况发给上层服务。
B2、数据收发管理系统(内存队列):包括接收内存队列和发送内存队列,接收内存队列包括已用队列和未用队列;发送内存队列包括空闲队列。
B21、接收到数据时:接收内存队列中内建“已用队列”和“未用队列”,从“未用队列”中取出一个结点,将数据拷贝进去后,插入“已用队列”;获取一个“已用队列”中的结点,处理数据后,将该节点释放给“未用队列”。接收到数据后,存放在“已用队列”中,并让多个逻辑处理线程等待在“已用队列”的出口处,一旦逻辑线程返回,表示从“已用队列”中获取了一个接收消息,然后开始处理。
B22、发送数据时:发送内存队列中内建一个“空闲队列”,从“空闲队列”中取出一个结点使用,使用完成后,将节点释放给“空闲队列”,以达到减少内存碎片的作用。
B3、接入协议适配器:用于解析不同协议的终端设备发送的数据;为支持不同协议的终端设备接入,把对不同厂家的终端设备的数据解析按协议封装成DLL,接入协议适配器从接收内存队列里取出数据,判断数据属于哪种协议的数据,然后调用对应的DLL进行数据解析。
B4、接入协议标准化模块:与接入协议适配器连接,将解析后的数据进行标准化封装后发送到监控中心。
B5、终端设备管理系统:包括终端设备接入层和终端设备控制系统。
B51、终端设备接入层主要包括:通讯接入系统管理、版本、配置、路由信息管理、数据队列处理几个部分。
通讯接入系统管理:主要对接入通讯接入系统的停用、启用、最大连接数、线程池数、内存池大小等进行管理控制。
版本管理:终端设备固件程序的升级管理。
配置管理:所有对终端设备的指令下发数据,由此服务进行管理。
路由信息管理:由于通讯接入系统和业务处理不是一对一的对应关系,需要对通讯接入系统的路由信息进行管理。
B52、终端设备控制系统包括、应用协议转换器、终端设备能力管理子系统、终端设备接入管理子系统、终端设备状态管理子系统;
应用协议转换器:监控中心下发的指令通过应用协议转换器转化成可识别的标准协议发送到终端设备接入层;
终端设备能力管理子系统:用于记录终端设备的功能信息,并将信息发送到监控中心;不同厂家的终端可能存在功能上的不同,比如:有的支持4路视频,有的支持8路视频,或者有的支持拍照有的不支持拍照,因此需要对终端的功能有专门的管理,这样当UI往一个不支持拍照功能的终端发送拍照指令时,可以及时的告知此终端不支持拍照功能。
终端设备接入管理子系统:用于控制终端设备的接入与否;比如:当某个运营商的服务费以及到期而没有按规定及时续费,则可以对该运营商对应的终端进行接入控制,比如不让上线,或者不让在UI展示等。
终端设备状态管理子系统:用于管理和记录终端设备的运行状态。实际应用中存在这样的场景:多个客户同时对一个车辆下发定时拍照,或者同事对某个车辆进行重点监控,但是可能某一个客户中间又想停止拍照或者监控,下发了停止指令,而为了不影响到其他客户的使用,则需要对这样的指令进行处理,这样的指令不能下发到终端,而应该是对停止拍照或者监控的客户不进行数据传输。这样就需要对终端的状态进行管理,以保证客户的正常使用。
和现有技术相比,本发明具有如下优点:
本发明能够实现海量终端设备的接入,满足大量客户同时在线的要求,只使用少量的线程来处理和客户端的所有通信,消除了无谓的线程上下文切换,最大限度的提高了网络通信的性能。提高系统运行效率,能够为车辆监控、管理等GPS终端设备接入应用提供坚实的技术保障。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.基于IOCP的海量终端设备接入系统,其特征在于:包括终端设备、通讯接入系统、监控中心以及数据库,数据库与监控中心连接,终端设备通过通讯接入系统连接到监控中心。
2.如权利要求1所述的基于IOCP的海量终端设备接入系统,其特征在于:通讯接入系统包括:
接入链路管理系统:与所述终端设备以及监控中心连接;
数据收发管理系统:包括接收内存队列和发送内存队列,接收内存队列包括已用队列和未用队列;发送内存队列包括空闲队列;
接入协议适配器:用于解析不同协议的终端设备发送的数据;
接入协议标准化模块:与接入协议适配器连接,将解析后的数据进行标准化封装后发送到监控中心;
终端设备管理系统:包括终端设备接入层和终端设备控制系统。
3.如权利要求2所述的基于IOCP的海量终端设备接入系统,其特征在于:终端设备控制系统包括:
应用协议转换器:监控中心下发的指令通过应用协议转换器转化成可识别的标准协议发送到终端设备接入层;
终端设备能力管理子系统:用于记录终端设备的功能信息,并将信息发送到监控中心;
终端设备接入管理子系统:用于控制终端设备的接入与否;
终端设备状态管理子系统:用于管理和记录终端设备的运行状态。
4.如权利要求2所述的基于IOCP的海量终端设备接入系统,其特征在于:接入链路管理系统包括映射表、socket句柄以及连接容器;监控中心下发指令数据时,映射表生成一个socket链表结构添加到连接容器,socket链表结构中存储有SIM卡号、最新接收时间信息。
5.如权利要求4所述的基于IOCP的海量终端设备接入系统,其特征在于:接入链路管理系统还包括超时判断线程;超时判断线程通过访问socket链表结构获取最新接收时间,当最新接收时间超过规定值,则删除连接容器内的socket链表结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575218.0A CN103037011B (zh) | 2012-12-26 | 2012-12-26 | 基于iocp的海量终端设备接入系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575218.0A CN103037011B (zh) | 2012-12-26 | 2012-12-26 | 基于iocp的海量终端设备接入系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103037011A true CN103037011A (zh) | 2013-04-10 |
CN103037011B CN103037011B (zh) | 2016-02-17 |
Family
ID=48023483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210575218.0A Expired - Fee Related CN103037011B (zh) | 2012-12-26 | 2012-12-26 | 基于iocp的海量终端设备接入系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103037011B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955371A (zh) * | 2014-04-29 | 2014-07-30 | 浙江银江研究院有限公司 | 对串口仪表进行数据采集的通用软件模块的设计开发方法 |
CN104753957A (zh) * | 2015-04-16 | 2015-07-01 | 国家电网公司 | 一种用电信息采集系统的海量终端通信连接管理方法 |
CN104917811A (zh) * | 2015-04-16 | 2015-09-16 | 上海行践自行车科技发展有限公司 | 公共交通系统的车辆租赁信息的通信方法和通信系统 |
CN106131162A (zh) * | 2016-06-29 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
CN109445957A (zh) * | 2018-09-26 | 2019-03-08 | 迪瑞医疗科技股份有限公司 | 一种同步和异步通信控制方法、系统及装置 |
CN110113361A (zh) * | 2019-05-29 | 2019-08-09 | 广州市粤峰高新技术股份有限公司 | 一种管理车塔云平台入网设备的统一处理系统及方法 |
CN111641684A (zh) * | 2020-05-14 | 2020-09-08 | 杭州三一谦成科技有限公司 | 一种车辆运行信号和远程控制信号数据的适配方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741746A (zh) * | 2009-12-11 | 2010-06-16 | 四川长虹电器股份有限公司 | 基于iocp的双向cas网关与用户终端的通信方法 |
CN102097859A (zh) * | 2010-09-02 | 2011-06-15 | 广东省电力调度中心 | 电网调度智能化及指令信息化工作平台 |
WO2012034496A1 (zh) * | 2010-09-13 | 2012-03-22 | 腾讯科技(深圳)有限公司 | 一种异步通信方法及系统 |
-
2012
- 2012-12-26 CN CN201210575218.0A patent/CN103037011B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741746A (zh) * | 2009-12-11 | 2010-06-16 | 四川长虹电器股份有限公司 | 基于iocp的双向cas网关与用户终端的通信方法 |
CN102097859A (zh) * | 2010-09-02 | 2011-06-15 | 广东省电力调度中心 | 电网调度智能化及指令信息化工作平台 |
WO2012034496A1 (zh) * | 2010-09-13 | 2012-03-22 | 腾讯科技(深圳)有限公司 | 一种异步通信方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955371A (zh) * | 2014-04-29 | 2014-07-30 | 浙江银江研究院有限公司 | 对串口仪表进行数据采集的通用软件模块的设计开发方法 |
CN103955371B (zh) * | 2014-04-29 | 2017-09-22 | 浙江银江研究院有限公司 | 对串口仪表进行数据采集的通用软件模块的设计开发方法 |
CN104753957A (zh) * | 2015-04-16 | 2015-07-01 | 国家电网公司 | 一种用电信息采集系统的海量终端通信连接管理方法 |
CN104917811A (zh) * | 2015-04-16 | 2015-09-16 | 上海行践自行车科技发展有限公司 | 公共交通系统的车辆租赁信息的通信方法和通信系统 |
CN104753957B (zh) * | 2015-04-16 | 2017-12-26 | 许继集团有限公司 | 一种用电信息采集系统的海量终端通信连接管理方法 |
CN106131162A (zh) * | 2016-06-29 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
CN106131162B (zh) * | 2016-06-29 | 2019-06-18 | 广州慧睿思通信息科技有限公司 | 一种基于iocp机制实现网络服务代理的方法 |
CN109445957A (zh) * | 2018-09-26 | 2019-03-08 | 迪瑞医疗科技股份有限公司 | 一种同步和异步通信控制方法、系统及装置 |
CN110113361A (zh) * | 2019-05-29 | 2019-08-09 | 广州市粤峰高新技术股份有限公司 | 一种管理车塔云平台入网设备的统一处理系统及方法 |
CN111641684A (zh) * | 2020-05-14 | 2020-09-08 | 杭州三一谦成科技有限公司 | 一种车辆运行信号和远程控制信号数据的适配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103037011B (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103037011B (zh) | 基于iocp的海量终端设备接入系统 | |
CN112788074A (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN106557288B (zh) | 一种获取打印数据的方法及装置 | |
CN109150558B (zh) | 管理消息队列节点的方法、装置和系统 | |
CN111212264B (zh) | 基于边缘计算的图像处理方法、装置、及存储介质 | |
CN113794652B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112187903B (zh) | 一种消息推送方法、装置及消息服务系统 | |
CN109656755A (zh) | 检测设备状态的方法和系统 | |
CN109491895A (zh) | 服务器压力测试方法及装置 | |
CN103677988A (zh) | 用于软件系统的多进程通讯方法及系统 | |
CN105162837A (zh) | 海量数据存储环境下提升i/o吞吐率的方法及系统 | |
CN109120680B (zh) | 一种控制系统、方法及相关设备 | |
CN112671844B (zh) | 一种设备的注册方法及系统 | |
CN109039427B (zh) | 一种船舶监控管理装置 | |
CN114125024B (zh) | 音频传输方法、电子设备及可读存储介质 | |
CN111092952A (zh) | 一种数据交互方法及相关产品 | |
CN109669979A (zh) | 数据的处理方法及装置、存储介质 | |
CN112511636B (zh) | 数据传输系统、方法、装置、计算机设备及存储介质 | |
CN114978885A (zh) | 一种日志管理方法、装置、计算机设备及系统 | |
CN112202850B (zh) | 智能柜售后维护工单系统及处理方法 | |
CN103678614A (zh) | 一种用于开锁业治安管理的信息处理方法 | |
US10372632B2 (en) | Information processing system, information processing method and information processing device | |
CN113596123A (zh) | 软件下载方法、通信设备及存储介质 | |
CN105530400B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160217 Termination date: 20211226 |
|
CF01 | Termination of patent right due to non-payment of annual fee |