本发明专利技术涉及一种用电信息采集前置数据处理的方法及系统,所述方法包括:(1)用epoll_create()函数创建文件描述,并设定管理的socket描述符数目;(2)创建与epoll关联的接收线程;(3)创建侦听socket描述符ListenSock,并设定为非阻塞模式,调用Listen()函数在套接字上侦听有无新的连接请求;(4)如有新的连接请求,调用accept()函数,将客户端socket描述符添加到epoll_data联合体,并设定该描述符为非阻塞,在epoll_event结构中设置要处理的事件类型为读和写;(5)如socket描述符上有数据可读,则将该socket描述符加入可读队列,并通知接收线程读入数据,将接收到的数据放入到接收数据的链表中,将反馈的数据包放入到发送数据链表中,等待发送线程发送。
【技术实现步骤摘要】
一种用电信息采集前置数据处理的方法及系统
本专利技术涉及一种数据处理方法及系统,具体讲涉及一种用电信息采集前置数据处理的方法及系统。
技术介绍
人们将(smartpowergrids)电网的智能化称为“电网2.0”,并将其概括为以集成的、高速双向通信网络为基础,应用传感和测量技术、设备技术、控制方法和决策支持系统实现电网的可靠、安全、经济、高效、环境友好和使用安全的目的,主要特征包括自愈、激励和包括用户、抵御攻击、提供满足用户21世纪电能的需求质量、容许接入不同发电形式、启动电力市场以及资产的高效优化运行。随着电网运营管理智能化的进一步发展,配用电系统部署和安装了大量智能设备(如配电终端、智能电表和传感器等)。为了支撑更复杂、更智能化的配用电业务,需要对智能设备量测点进行密度和频率更高的监视和采集。为了满足集约化、精益化管理的要求,系统集中建设和部署是未来必然趋势。各网省电力公司用电信息采集系统的用户规模,一般基本处于百万甚至千万级以上,鉴于终端每15min上送一次数据,这样若本次任务未在15min内处理完一个周期内的大量数据,就会导致队列堆积和数据后续处理的延迟,因此省级集中的用电信息采集前置机系统将面临着千万级数据潮涌的巨大压力。由于现有的用电信息采集架构为一个分层的网络框架,这样前置机系统在通信上接入的是采集终端而非智能电表,所以前置机系统需直接接入的对象数量会大大减少。但随着IP通信技术的发展,并基于网络标准化和可扩展性方面的考虑,把IP通信技术用于用电信息采集系统本地网络(以下简称本地网络)的趋势日益突出,尤其是IPv6本地网络的进一步应用,未来每个智能电表和传感器将具有独立的IP地址,主站系统和末端智能设备将端到端直接通信,因此前置机系统的前置服务器面临的压力将更大,而大量连接通信链路和处理数据无疑将严重影响整个系统的可靠性、实时性和扩展性。
技术实现思路
针对现有技术的不足,本专利技术提供一种用电信息采集前置数据处理的方法及系统,为了更好地解决具有IP地址的海量智能设备接入到主站,而带来的一系列高并发、潮涌式堵塞等问题,本专利技术提出一种新的网络负载均衡算法处理网络连接问题;提出在前置服务器上搭建EPOLL模型对交互数据进行处理;提出增加前置路由模块,负责前置机和应用服务的数据处理。本专利技术针对基于IP端点的智能电表等海量计量终端数据通讯时的接入“瓶颈”问题,改进采集系统的框架模块,并提出一种用电信息海量数据接入的方法,解决了超大规模连接时的高并发和拥堵问题。本专利技术的目的是采用下述技术方案实现的:一种用电信息采集前置数据处理的方法,其改进之处在于,所述方法包括(1)用epoll_create()函数创建文件描述,并设定管理的socket描述符数目;(2)创建与epoll关联的接收线程;(3)创建侦听socket描述符ListenSock,并设定为非阻塞模式,调用Listen()函数在套接字上侦听有无新的连接请求;(4)如有新的连接请求,调用accept()函数,将客户端socket描述符添加到epoll_data联合体,并设定该描述符为非阻塞,在epoll_event结构中设置要处理的事件类型为读和写;(5)如socket描述符上有数据可读,则将该socket描述符加入可读队列,并通知接收线程读入数据,将接收到的数据放入到接收数据的链表中,将反馈的数据包放入到发送数据链表中,等待发送线程发送。优选的,所述步骤(2)包括创建与epoll关联的接收线程,应用程序可以创建接收线程处理epoll上的读通知事件,线程的数量依赖于程序的具体需要和设备环境。优选的,所述步骤(3)包括创建侦听socket描述符ListenSock;将该描述符设定为非阻塞模式,调用Listen()函数在套接字上侦听有无新的连接请求,在epoll_event结构中将要处理的事件类型设置为EPOLLIN,工作方式为epoll_ET,使用epoll_ctl()注册事件,启动网络监视线程。优选的,所述步骤(4)包括epoll事件表明有新的连接请求,则调用accept()函数,将客户端socket描述符添加到epoll_data联合体,设定该描述符为非阻塞,在epoll_event结构中设置要处理的事件类型为读和写,工作方式为epoll_ET。优选的,所述步骤(5)包括如epoll事件表明socket描述符上有数据可读,则将该socket描述符加入可读队列,并通知接收线程读入数据,将接收到的数据放入到接收数据的链表中,经逻辑处理,将反馈的数据包放入到发送数据链表中,等待由发送线程发送。进一步地,如接收数据的链表长度到达一定阀值,则创建本地文件,对数据接收链表溢出数据进行本地缓存。进一步地,所述网络监视线程启动循环中,epoll_wait()等待epoll事件发生。本专利技术基于另一目的提供的一种用电信息采集前置数据处理系统,其改进之处在于,所述系统包括依次连接的应用服务模块、前置机路由模块、前置机集群、网络负载均衡器和用电终端。优选的,所述前置机路由模块分别与应用服务器模块和前置机集群连接,以将前置机解析数据发送相应的应用服务模块中;保存终端网络信息和前置机服务器网络信息的关联结构图,响应前置机的关联修改请求。优选的,所述前置机集群:包括多台相互独立、通过高速网络互联的计算机,并以单一系统模式进行管理。优选的,所述网络负载均衡器设定前置服务器上可连接的客户端个数,将连接请求依次循环地连接于每个允许连接的服务器上。进一步地,连接数达到设定的阈值时,根据各个前置服务器的实时负载情况进行适当的分配;由位于前置服务器的性能监测软件经过集群间的“心跳”专用线传输前置服务器的实时负载。进一步地,所述前置路由模块保存前置机携带终端IP信息的和本机IP地址的注册关联表,在下行数据传输时,前置路由模块根据终端信息,在注册关联表中找到对应的前置服务器,将下行数据传输到该前置服务器上进行报文组装和下发;发生socket迁移时,前置路由接受上行的更改命令对注册关联表进行修改。与现有技术比,本专利技术的有益效果为:本专利技术利用现有的集群服务器技术,修改针对网络连接的网络负载均衡算法对并发连接进行合适的分流,并在网络负载均衡器上增加客户端连接的迁移算法实现前置机服务器的故障迁移和柔性扩容;同时在方案中增加前置机路由模块完成上行报文准确的下发到用电终端,分担和缓解前置机服务器负载;并且在前置机服务器搭建EPOLL模块进行数据流处理。本专利技术解决了基于IP端点的智能电表等计量终端海量连接时的高并发和拥堵的“瓶颈”问题。附图说明图1为本专利技术提供的一种用电信息采集前置数据处理系统结构图。图2为本专利技术提供的客户端TCP连接到前置机分配图。图3为本专利技术提供的客户端SOCKET建立后的数据连接图。图4为本专利技术提供的一种用电信息采集前置数据处理的方法流程图。图5为本专利技术提供的前置路由模块数据流向图。具体实施方式下面结合附图对本专利技术的具体实施方式作进一步的详细说明。本专利技术中涉及公知函数解释如下:epoll():在linux的网络编程中,相比于select机制所提出的新方法;epoll_create():用来创建一个epoll的句柄,size用来告诉内核监听数目的大小;socket描述符:即套本文档来自技高网...
【技术保护点】
一种用电信息采集前置数据处理的方法,其特征在于,所述方法包括(1)用epoll_create()函数创建文件描述,并设定管理的socket描述符数目;(2)创建与epoll关联的接收线程;(3)创建侦听socket描述符ListenSock,并设定为非阻塞模式,调用Listen()函数在套接字上侦听有无新的连接请求;(4)如有新的连接请求,调用accept()函数,将客户端socket描述符添加到epoll_data联合体,并设定该描述符为非阻塞,在epoll_event结构中设置要处理的事件类型为读和写;(5)如socket描述符上有数据可读,则将该socket描述符加入可读队列,并通知接收线程读入数据,将接收到的数据放入到接收数据的链表中,将反馈的数据包放入到发送数据链表中,等待发送线程发送。
【技术特征摘要】
1.一种用电信息采集前置数据处理的方法,其特征在于,所述方法包括(1)用epoll_create()函数创建文件描述,并设定管理的socket描述符数目;(2)创建与epoll关联的接收线程;(3)创建侦听socket描述符ListenSock,并设定为非阻塞模式,调用Listen()函数在套接字上侦听有无新的连接请求;(4)如有新的连接请求,调用accept()函数,将客户端socket描述符添加到epoll_data联合体,并设定该描述符为非阻塞,在epoll_event结构中设置要处理的事件类型为读和写;(5)如socket描述符上有数据可读,则将该socket描述符加入可读队列,并通知接收线程读入数据,将接收到的数据放入到接收数据的链表中,将反馈的数据包放入到发送数据链表中,等待发送线程发送;适用于用电信息采集前置数据处理方法的系统包括依次连接的应用服务模块、前置机路由模块、前置机集群、网络负载均衡器和用电终端;所述前置机路由模块分别与应用服务器模块和前置机集群连接,以将前置机解析数据发送相应的应用服务模块中;保存终端网络信息和前置机服务器网络信息的关联结构图,响应前置机的关联修改请求;所述前置机集群:包括多台相互独立、通过高速网络互联的计算机,并以单一系统模式进行管理;所述网络负载均衡器设定前置服务器上可连接的客户端个数,将连接请求依次循环地连接于每个允许连接的服务器上;连接数达到设定的阈值时,根据各个前置服务器的实时负载情况进行适当的分配;由位于前置服务器的性能监测软件经过集群间的“心跳”专用线传输前置服务器的实时负载;所述前置机路由模块保存前置机携带终端IP信息的和本机IP地址的注册关联表,在下行...
【专利技术属性】
技术研发人员:栾文鹏,周逢权,徐大青,张展国,
申请(专利权)人:国家电网公司,中国电力科学研究院,许继集团有限公司,国网浙江省电力公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。