CN103491190B - 一种面向大规模实时并发的充电机监控数据处理方法 - Google Patents

一种面向大规模实时并发的充电机监控数据处理方法 Download PDF

Info

Publication number
CN103491190B
CN103491190B CN201310461578.2A CN201310461578A CN103491190B CN 103491190 B CN103491190 B CN 103491190B CN 201310461578 A CN201310461578 A CN 201310461578A CN 103491190 B CN103491190 B CN 103491190B
Authority
CN
China
Prior art keywords
data
queue
thread
charger
processing
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
Application number
CN201310461578.2A
Other languages
English (en)
Other versions
CN103491190A (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.)
State Grid Corp of China SGCC
Hunan Electric Power Research Institute
State Grid Hunan Electric Power Co Ltd
Original Assignee
Hunan Xiangdian Electric Power Text & Research Co Ltd
State Grid Corp of China SGCC
Hunan Electric Power Research Institute
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 Hunan Xiangdian Electric Power Text & Research Co Ltd, State Grid Corp of China SGCC, Hunan Electric Power Research Institute filed Critical Hunan Xiangdian Electric Power Text & Research Co Ltd
Priority to CN201310461578.2A priority Critical patent/CN103491190B/zh
Publication of CN103491190A publication Critical patent/CN103491190A/zh
Application granted granted Critical
Publication of CN103491190B publication Critical patent/CN103491190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种面向大规模实时并发的充电机监控数据处理方法,采用多级缓冲机制,将整个数据处理流程分为接收、分发、解析、存贮发送等多级操作,将CAN总线协议转换成CAN数据报文进行传输,在分发阶段,将不同类型的CAN数据报文进行区分,并交由不同的处理线程进行并行解析,将应用层数据对象存入嵌入式数据库,提升数据处理的可靠性。本发明实现了对大规模并发监控数据的实时采集和处理,可用于支持大型充电站中监控系统的构建。

Description

一种面向大规模实时并发的充电机监控数据处理方法
技术领域
[0001]本发明涉及充电机监控数据处理领域,特别是一种面向大规模实时并发的充电机监控数据处理方法。
背景技术
[0002]随着电机、电池和电控等电动汽车关键的技术的不断突破和发展,以及面对日益攀升的油价和严峻的环境污染问题,发展纯电动汽车产业已成为中国重要的产业政策。电动公交车和出租车等公共交通工具已开始在各大中型城市试点和投入运营,配套的集中式充换电设施也相继建成,截止2011年,全国范围内已建成电动汽车充电站314座,充电粧1.6万多个。根据“十二五”规划,到2015年全国将建成由40万个充电粧、2000个充换电站构成的网络化供电体系。
[0003]为保障充换电设施提供可靠稳定的能源供给服务,数据采集必须满足实时性要求,如果超时,充电机状态监控就没有意义,甚至会造成充电事故。充电机监控数据并发量大,每台充电机每秒发送大约1500个CAN(ControIIer Area Network)总线协议报文。随着充电站建设规模的不断扩大,充电机的并发数据量将非常庞大,如何对大规模充电机数据进行并发处理是本领域亟需研究的关键问题之一。
[0004]当前关于充电机数据采集处理方法侧重于满足数据的采集满足功能需求,即研究数据的采集流程,最终实现在充电站内的统一部署。发明专利(CN201110260277.4) “电动汽车充电监控系统的数据采集监控方法”公开了一种电动汽车充电监控系统的数据采集监控方法。该方法首先读取充电机状态数据,根据充电机状态再读取消费数据和蓄电池数据,实现实时采集充电机工作数据的采集流程。但是,该方法没有考虑大型充电站中大规模数据并发情况下,数据的并发传输、控制和处理方法,不能满足大型充电站中数据处理的实时性要求。
[0005]总之,当前方法不能解决大规模充电机接入环境下数据的实时处理问题,至今还没有公开文献涉充电机监控数据的并发处理方法,如何根据大型充电站中数据的大规模并发特点,找到一种合理有效的大规模实时并发的充电机监控数据处理方法是本领域技术人员亟待解决的技术问题。
发明内容
[0006]本发明所要解决的技术问题是,针对现有技术不足,提供一种面向大规模实时并发的充电机监控数据处理方法,使得大型充电站中的数据并发处理得到有效的控制,保证数据的实时性,提升数据处理的可靠性。
[0007]为解决上述技术问题,本发明所采用的技术方案是:一种面向大规模实时并发的充电机监控数据处理方法,该方法为:
[0008] I)搭建包括CAN协议网关、通讯服务器、数据库服务器和客户端工作站的充电机数据处理系统,通讯服务器通过以太网与CAN协议网关、客户端工作站、数据库服务器相连,CAN协议网关通过CAN总线接收充电机发送的CAN总线协议,并将所述CAN总线协议转换成CAN数据报文;数据库服务器与客户端工作站相连;所述通讯服务器内包括对充电机监控数据实时并发处理的接收模块、分发模块、解析模块、存储模块和发送模块;
[0009]其中:
[0010]接收模块包括:侦听CAN协议网关的连接请求的第一侦听线程;一个从TCP数据通信链路中接收来自CAN协议网关的CAN数据报文,并把所述CAN数据报文放入接收队列的接收线程;
[0011]分发模块即依据CAN数据报文头中的用来标识该报文类型的参数组编号,并将接收队列中的CAN数据报文发送到与该参数组编号相对应的处理队列的分发线程;
[0012]解析模块包括多个提取上述处理队列的CAN数据报文进行处理,并将应用层数据对象放入应用层数据缓冲队列和历史数据队列中的不同优先级别的处理线程;
[0013]存储模块包括嵌入式数据库和将历史数据队列中的应用层数据对象存储到嵌入式数据库中的存储线程;
[0014]发送模块包括:负责侦听来自客户端工作站的客户端数据请求,并将客户端工作站发送的客户端数据请求保存到客户端数据请求队列中的第二侦听线程;由多个从客户端数据请求队列中取出客户端数据请求,并从应用层数据缓冲队列中取出所请求的应用层数据对象,发送给客户端工作站的服务线程组建的服务线程池;对服务线程池进行调度管理的主管线程;
[0015] 2)CAN协议网关从充电机接收CAN总线协议,将CAN总线协议转换成CAN数据报文,并将CAN数据报文通过以太网传送给通讯服务器;
[0016] 3 )通讯服务器对CAN数据报文进行接收、分发、解析、发送和存储。
[0017]所述步骤3)中,通讯服务器的对CAN数据报文进行接收、分发、解析、发送和存储的过程为:
[0018] I)接收模块采用先来先服务的原则对CAN数据报文进行流量控制和速度控制:第一侦听线程对CAN协议网关进行监听,当监听到CAN数据报文后,由接收线程将CAN数据报文放入接收队列队尾;
[0019] 2)若接收队列已满,暂停接收报文,此时收到的CAN数据报文将被丢弃,等待接收队列有空单元时再接收报文;若接收队列不为空,分发模块从接收队列的队尾元素中取出CAN数据报文,并将所述接收队列的队尾元素置空,以释放接收队列的空间,提取所述取出的CAN数据报文的参数组编号,根据该编号将所述取出的CAN数据报文放入对应的处理队列中;
[0020] 3)解析模块中的处理线程根据优先级别的高低提取相应的CAN数据报文的数据字段;
[0021] 4)解析所有的处理线程,得到应用层数据对象,并把属于充电机i和报文类型j的应用层对象L[i][j]放入应用层数据缓队列,每解析完成一次,应用层对象L[i][j]更新一次;同时处理线程把应用层对象L[i][j]放入历史数据队列中;其中,I SiSM,I < j <N;M、N分别为充电机编号和报文参数组编号大小;
[0022] 5)若上述历史数据队列未满,则进入6);若上述历史数据队列已满,则存储模块中的存储线程将历史数据队列中的内存数据写入嵌入式数据库中,并将历史数据队列清空;数据库服务器将嵌入式数据库中的内容写入充电机监控数据表中,进入6);
[0023] 6)发送模块中的第二侦听线程侦听客户端工作站请求,当主管线程从第二侦听线程获知客户端工作站有数据请求时,主管线程查看服务线程池中是否有睡眠状态的服务线程,若有,取出一个睡眠中的服务线程,并将其唤醒进入工作状态,被唤醒的服务线程根据客户端数据请求中的充电机编号和参数组编号,从应用层数据缓冲队列取出对应的应用层数据对象返回给客户端工作站,该服务线程完成发送任务后返回服务线程池进入睡眠状态;若没有,服务线程池为空,则主管线程创建一个新的服务线程,新的服务线程根据客户端数据请求中的充电机编号和参数组编号,取出对应的应用层数据对象返回给客户端工作站,新的服务线程完成发送任务后返回服务线程池进入睡眠状态;
[0024] 7)主管线程每隔一段时间t查询服务线程池中是否有T时间不使用而超过睡眠时限T的服务线程,若有,则将T时间不使用而超过睡眠时限的服务线程销毁,实现服务线程池大小的调整和优化;其中,t < T;
[0025] 8)当客户端工作站请求非实时数据时,数据库服务器从充电机监控数据表中取出数据返回客户端工作站;
[0026] 9)若客户端工作站从服务线程或数据库服务器接收到数据,则将数据显示在用户交互界面上。
[0027]与现有技术相比,本发明所具有的有益效果为:本发明采用多级缓冲机制,整个数据处理流程分为接收、分发、解析、存贮发送等多级操作,并采用多线程和多级缓冲机制来提高数据处理的实时性;将CAN总线协议转换成CAN数据报文进行传输,利用以太网传输速度快、并行处理程度高的特点解决了大规模充电机数据的实时接收问题;在分发阶段,将不同类型的CAN数据报文进行区分,并交由不同的处理线程进行并行解析,提高了 CAN数据报文的解析效率;在CAN数据报文解析阶段利用优先级机制,保证了重要充电机数据处理的实时性;通过将应用层数据对象存入嵌入式数据库,提升了数据处理的可靠性;本发明实现了对大规模并发监控数据的实时采集和处理,可用于支持大型充电站中监控系统的构建。
附图说明
[0028]图1为本发明一实施例监控系统结构示意图;
[0029]图2为本发明一实施例实时并发充电机监控数据处理方法框架结构图;
[0030]图3为图2中充电机监控数据表的结构图。
具体实施方式
[0031]本发明的方法如下:
[0032]第一步,搭建充电机数据处理系统,如图1所示,系统由CAN协议网关、通讯服务器、数据库服务器和客户端工作站构成。CAN协议网关是一种将CAN数据报文转化为以太网报文的网络硬件设备,常见的型号如周立功的CANET系列CAN-以太网转换器,研煌的ACNET-600系列数据转换设备。本发明所使用的CAN协议网关具有一个CAN接口和一个以太网接口,CAN协议网关的CAN接口通过CAN总线与K(KKglO)台充电机连接,以太网接口通过以太网与通讯服务器连接,将从充电机接收的CAN总线协议转换成CAN数据报文。通讯服务器是一台安装有充电机监控数据实时并发处理软件的计算机,通讯服务器通过以太网与CAN协议网关、客户端工作站、数据库服务器相连,通过socket(套接字)方式实现数据传输;通讯服务器的充电机数据实时并发处理软件对从各CAN协议网关收到的CAN数据报文进行分发、解析、存储和发送,并将解析得到的应用层数据对象发送给客户端工作站和数据库服务器。数据库服务器是一台安装有Oracle数据库软件的计算机,通过以太网与通讯服务器连接,负责存储来自通讯服务器的解析完的应用层数据对象。客户端工作站是一台安装客户端程序的计算机,它一方面从通讯服务器接收解析完的应用层数据对象进行实时输出和显示,一方面从数据库服务器中查询解析完的非实时应用层数据对象,并输出和显示。
[0033]图2给出了本发明提供的实时并发充电机监控数据处理方法框架结构图。
[0034]充电机通讯服务器的充电机监控数据实时并发处理软件由接收模块,分发模块,解析模块,存储模块和发送模块组成。
[0035]接收模块包含一个侦听线程和一个接收线程。侦听线程侦听CAN协议网关的连接请求,如果收到CAN协议网关的连接请求,则与该CAN协议网关建立一个TCP数据通信链路;接收线程从TCP数据通信链路中接收来自CAN协议网关的CAN数据报文,并把CAN数据报文放入接收队列。接收队列为先入先出的缓冲队列,该队列为第一级缓冲队列,队列中的一个元素即为一个CAN数据报文。接收队列长度根据CAN数据报文的并发规模进行配置,大于等于一个充电机的CAN数据报文最大并发量规模,通常一个充电机的CAN数据报文最大并发规模为500帧每秒,接收队列长度设置为500。
[0036]分发模块是一个分发线程。分发线程依据CAN数据报文头中的用来标识该报文类型的参数组编号,将接收队列中的CAN数据报文发送到与该参数组编号相对应的处理队列。处理队列有N个,均为先入先出的缓冲队列,处理队列为第二级缓冲队列,处理队列长度等于接收队列长度,用于存放等待解析处理的CAN数据报文。处理队列的数量N等于CAN数据报文的类型数量,每个处理队列对应一种报文类型,只接收具有指定参数组编号的报文。
[0037]解析模块包含N个处理线程。每个线程负责对一个处理队列的CAN数据报文进行处理。一个处理线程从一个处理队列中取出CAN数据报文,提取该报文类型中的充电机电压、充电机电流,蓄电池单体电压、蓄电池单体温度、蓄电池最高电压、蓄电池最高温度、蓄电池S0C、充电机事件、充电机故障、蓄电池基本信息监测数据,根据NB/T 33003-2010《电动汽车非车载充电机监控单元与电池管理系统通信协议》中定义的通讯规约对报文的数据字段进行解析,得到应用层数据对象,并放入应用层数据缓冲队列中。应用层数据缓冲队列存储应用层数据对象,是第三级缓冲队列。应用层数据缓冲队列是一个二维数组L[M][N],数组维度为充电机编号和报文参数组编号,大小分别为M和N,数组元素为属于同一充电机和同一参数组编号的应用层数据对象,数组元素每两秒刷新一次。同时,处理线程还将应用层数据对象放入历史数据队列中,历史数据队列采用指针链表的数据结构,队列长度设置为接收队列长度的4倍,可存储一段时间的应用层数据对象。考虑各类CAN数据报文类型的重要性和实时性的差异,将处理线程按优先级由高到低的顺序分为第一优先级线程、第二优先级线程和第三优先级线程三类。处理线程按照优先级建立与处理队列的映射关系,具体地,充电机电压、充电机电流,充电机事件,蓄电池最高电压、蓄电池最高温度、蓄电池S0C、充电机故障这些实时性要求高的处理队列对应第一优先级处理线程;蓄电池单体电压和蓄电池单体温度采集频度不高的处理队列对应第二优先级线程;蓄电池基本信息处理队列则对应第二优先级线程。
[0038]存储模块包括一个存储线程和一个嵌入式数据库。存储线程将历史数据队列中的应用层数据对象存储到嵌入式数据库中,该嵌入式数据库采用轻量型数据库SQLite(《基于ARM-Linux的SQLite嵌入式数据库技术》,《单片机与嵌入式系统应用》,2005年第4期)构建。
[0039]发送模块包括第二侦听线程,一个服务线程池和一个主管线程。第二侦听线程负责侦听来自客户端工作站的客户端数据请求,将客户端工作站发送的客户端数据请求保存到客户端数据请求队列中;客户端数据请求队列为先入先出的缓冲队列,该队列为第四级缓冲队列,队列长度等于接收队列长度,队列中的一个元素即为一个客户端数据请求;服务线程池由多个服务线程组建,采用双向链表结构设计,统一由一个主管线程进行管理。主管线程负责对线程池进行调度管理。当主管线程从第二侦听线程获得客户端数据请求时,从服务线程池中取出服务线程。服务线程从客户端数据请求队列中取出客户端数据请求,并从应用层数据缓冲队列中取出所请求的应用层数据对象,发送给客户端工作站。
[0040]数据库服务器是一台安装有Oracle数据库的计算机,在数据库中主要构建了一个充电机监控数据表。数据库服务器通过以太网与通讯服务器连接,从存储模块的嵌入式数据库中读取应用层数据对象,并将该数据存入充电机监控数据表中。充电机监控数据表每项有充电机ID,充电状态,充电方式,充电电量,充电电流,充电电压,蓄电池单体温度,蓄电池单体电压,蓄电池最高电压,蓄电池最高温度10个域。客户端工作站是安装有客户端软件的计算机,客户端软件主要包含数据请求模块,数据接收模块,用户交互界面三个模块。用户交互界面负责接收用户的查询操作,并显示接收的应用层数据对象充电机;数据请求模块根据用户的操作向通讯服务器或数据库服务器请求所需的充电机监控数据;数据接收模块负责接收通讯服务器或数据库服务器发送的应用层数据对象充电机,并将接收到的应用层数据对象通过用户交互界面进行显示。
[0041 ]第二步,CAN协议网关从充电机接收CAN总线协议,将CAN总线协议转换成CAN数据报文,并将CAN数据报文通过以太网传送给通讯服务器。
[0042]第三步,由通讯服务器的数据实时并发处理软件对CAN数据报文进行接收、分发、解析、发送和存储。
[0043] 3.1接收模块采用先来先服务的原则对CAN数据报文进行流量控制和速度控制:第一侦听线程对CAN协议网关进行监听,当监听到CAN数据报文后,由接收线程将CAN数据报文放入接收队列队尾,如果接收队列已满,暂停接收报文,此时收到的CAN协议报文将被丢弃,等待接收队列有空单元时再接收报文。
[0044] 3.2若接收队列不为空,分发模块的分发线程CAN数据报文从接收队列的队尾元素中取出CAN数据报文,并将该队尾元素置空以释放接收队列的空间,提取报文的参数组编号,根据该编号将CAN数据报文放入对应的处理队列中。
[0045] 3.3解析模块中不同优先级别的处理线程实现对处理队列中CAN数据报文并发处理,第一优先级处理线程得到最高的CHJ使用权,提取类型为充电机电压、充电机电流,充电机事件,蓄电池最高电压、蓄电池最高温度、蓄电池S0C、充电机故障的CAN数据报文的数据字段(与充电设施监控数据表中的不一致),第二优先级处理线程得到较高的CPU使用权,提取类型为蓄电池单体电压和蓄电池单体温度的CAN数据报文数据字段,第三优先级线程得到最低的CPU使用权,提取类型为蓄电池基本信息的CAN数据报文的数据字段,所有的线程均按照NB/T 33003-2010《电动汽车非车载充电机监控单元与电池管理系统通信协议》协议进行解析,即进行数据含义翻译,得到应用层数据对象,并把属于充电机i和报文类型j的应用层对象L[i][j]( l<i<M, K j^N)放入应用层数据缓队列,每解析完成一次,应用层对象L[ i ] [ j ]更新一次。同时处理线程把应用层对象L[ i ] [ j ]放入历史队列中。
[0046] 3.4若历史数据队列未满,转3.5步,若历史数据队列已满,存储模块中的存储线程将历史数据队列中的内存数据写入嵌入式数据库中,并将历史数据队列清空;数据库服务器将嵌入式数据库中的内容写入充电设施监控数据表中,转3.5步。
[0047] 3.5发送模块中的第二侦听线程侦听客户端数据请求,当主管线程从第二侦听线程获知客户端有数据请求时,主管线程查看服务线程池中是否有睡眠状态的服务线程,若有,取出一个睡眠中的服务线程,将其唤醒进入工作状态服务线程根据客户端数据请求中的充电机编号和参数组编号,从层数据缓冲队列取出对应应用层数据对象返回给客户端,该服务线程完成发送任务后返回服务线程池进入睡眠状态;若线程池中的线程全部用完,线程池为空,则主管线程创建一个新的服务线程,新的服务线程根据客户端数据请求中的充电机编号和参数组编号,取出对应应用层数据对象返回给客户端,由新服务线程完成发送任务后返回服务线程池进入睡眠状态;同时,主管线程隔一段时间t(t=10秒)查询服务线程池中是否有T (T=30秒)时间不使用而超过睡眠时限的线程,若有,则将T时间不使用而超过睡眠时限的线程销毁以实现线程池大小的调整和优化。
[0048] 3.6当客户端数据请求非实时数据时,数据库服务器从充电机监控数据表中取出数据返回客户端。
[0049] 3.7若客户端工作站的数据接收模块从服务线程或数据库服务器接收到数据,则将数据显示在用户交互界面上。
[0050]图3为图2中充电机监控数据表的结构图,充电机监控数据表每项有充电机ID,充电状态,充电方式,充电电量,充电电流,充电电压,蓄电池单体温度,蓄电池单体电压,蓄电池最高电压,蓄电池最高温度10个域。

Claims (10)

1.一种面向大规模实时并发的充电机监控数据处理方法,其特征在于,该方法为: 1)搭建包括CAN协议网关、通讯服务器、数据库服务器和客户端工作站的充电机数据处理系统,通讯服务器通过以太网与CAN协议网关、客户端工作站、数据库服务器相连,CAN协议网关通过CAN总线接收充电机发送的CAN总线协议,并将所述CAN总线协议转换成CAN数据报文;数据库服务器与客户端工作站相连;所述通讯服务器内包括对充电机监控数据实时并发处理的接收模块、分发模块、解析模块、存储模块和发送模块; 其中: 接收模块包括:侦听CAN协议网关的连接请求的第一侦听线程;一个从TCP数据通信链路中接收来自CAN协议网关的CAN数据报文,并把所述CAN数据报文放入接收队列的接收线程; 分发模块即依据CAN数据报文头中的用来标识该报文类型的参数组编号,并将接收队列中的CAN数据报文发送到与该参数组编号相对应的处理队列的分发线程; 解析模块包括多个提取上述处理队列的CAN数据报文进行处理,并将应用层数据对象放入应用层数据缓冲队列和历史数据队列中的不同优先级别的处理线程; 存储模块包括嵌入式数据库和将历史数据队列中的应用层数据对象存储到嵌入式数据库中的存储线程; 发送模块包括:负责侦听来自客户端工作站的客户端数据请求,并将客户端工作站发送的客户端数据请求保存到客户端数据请求队列中的第二侦听线程;由多个从客户端数据请求队列中取出客户端数据请求,并从应用层数据缓冲队列中取出所请求的应用层数据对象,发送给客户端工作站的服务线程组建的服务线程池;对服务线程池进行调度管理的主管线程; 2)CAN协议网关从充电机接收CAN总线协议,将CAN总线协议转换成CAN数据报文,并将CAN数据报文通过以太网传送给通讯服务器; 3 )通讯服务器对CAN数据报文进行接收、分发、解析、发送和存储。
2.根据权利要求1所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述接收队列长度为500。
3.根据权利要求1或2所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述处理队列为先入先出缓冲队列,所述处理队列长度与所述接收队列长度相同。
4.根据权利要求1所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述应用层数据对象获取的方法为:从所述处理队列中取出CAN数据报文,提取该CAN数据报文中的充电机电压、充电机电流,蓄电池单体电压、蓄电池单体温度、蓄电池最高电压、蓄电池最高温度、蓄电池SOC、充电机事件、充电机故障、蓄电池基本信息监测数据,对所述CAN数据报文的数据字段进行解析,得到应用层数据对象。
5.根据权利要求1所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述应用层数据缓冲队列是一个二维数组L[M][N],所述数组维度为充电机编号和报文参数组编号,大小分别为M和N,所述数组元素为属于同一充电机和同一参数组编号的应用层数据对象,所述数组中的元素每两秒刷新一次。
6.根据权利要求1或2所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述历史数据队列采用指针链表的数据结构,所述历史数据队列长度设置为所述接收队列长度的4倍,所述历史数据队列用于存储应用层数据对象。
7.根据权利要求1或2所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述客户端数据请求队列为先入先出的缓冲队列,所述客户端数据请求队列队列长度与所述接收队列长度相同。
8.根据权利要求1所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述步骤3)中,通讯服务器的对CAN数据报文进行接收、分发、解析、发送和存储的过程为: 1)接收模块采用先来先服务的原则对CAN数据报文进行流量控制和速度控制:第一侦听线程对CAN协议网关进行监听,当监听到CAN数据报文后,由接收线程将CAN数据报文放入接收队列队尾; 2)若接收队列已满,暂停接收报文,此时收到的CAN数据报文将被丢弃,等待接收队列有空单元时再接收报文;若接收队列不为空,分发模块从接收队列的队尾元素中取出CAN数据报文,并将所述接收队列的队尾元素置空,以释放接收队列的空间,提取所述取出的CAN数据报文的参数组编号,根据该编号将所述取出的CAN数据报文放入对应的处理队列中; 3)解析模块中的处理线程根据优先级别的高低提取相应的CAN数据报文的数据字段; 4)解析所有的处理线程,得到应用层数据对象,并把属于充电机i和报文类型j的应用层数据对象L[i][j]放入应用层数据缓队列,每解析完成一次,应用层数据对象L[i][j]更新一次;同时处理线程把应用层数据对象L[i][j]放入历史数据队列中;其中,I< j < N;M、N分别为充电机编号和报文参数组编号大小; 5)若上述历史数据队列未满,则进入6);若上述历史数据队列已满,则存储模块中的存储线程将历史数据队列中的内存数据写入嵌入式数据库中,并将历史数据队列清空;数据库服务器将嵌入式数据库中的内容写入充电机监控数据表中,进入6); 6)发送模块中的第二侦听线程侦听客户端数据请求,当主管线程从第二侦听线程获知客户端工作站有数据请求时,主管线程查看服务线程池中是否有睡眠状态的服务线程,若有,取出一个睡眠中的服务线程,并将其唤醒进入工作状态,被唤醒的服务线程根据客户端数据请求中的充电机编号和参数组编号,从应用层数据缓冲队列取出对应的应用层数据对象返回给客户端工作站,该服务线程完成发送任务后返回服务线程池进入睡眠状态;若没有,服务线程池为空,则主管线程创建一个新的服务线程,新的服务线程根据客户端数据请求中的充电机编号和参数组编号,取出对应的应用层数据对象返回给客户端工作站,新的服务线程完成发送任务后返回服务线程池进入睡眠状态; 7)主管线程每隔一段时间t查询服务线程池中是否有T时间不使用而超过睡眠时限T的服务线程,若有,则将T时间不使用而超过睡眠时限的服务线程销毁,实现服务线程池大小的调整和优化;其中,t<T; 8)当客户端工作站请求非实时数据时,数据库服务器从充电机监控数据表中取出数据返回客户端工作站; 9)若客户端工作站从服务线程或数据库服务器接收到数据,则将数据显示在用户交互界面上。
9.根据权利要求8所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述步骤3)中,解析模块中的处理线程根据优先级别的高低提取相应的CAN数据报文的数据字段的过程为:第一优先级处理线程得到最高的CPU使用权,第一优先级处理线程提取充电机电压、充电机电流,充电机事件,蓄电池最高电压、蓄电池最高温度、蓄电池SOC、充电机故障的CAN数据报文的数据字段;第二优先级处理线程得到较高的CPU使用权,第二优先级处理线程提取蓄电池单体电压和蓄电池单体温度的CAN数据报文数据字段;第三优先级处理线程得到最低的CPU使用权,第三优先级处理线程提取蓄电池基本信息的CAN数据报文的数据字段。
10.根据权利要求8所述的面向大规模实时并发的充电机监控数据处理方法,其特征在于,所述步骤7)中,t=10秒,T=30秒。
CN201310461578.2A 2013-09-30 2013-09-30 一种面向大规模实时并发的充电机监控数据处理方法 Active CN103491190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310461578.2A CN103491190B (zh) 2013-09-30 2013-09-30 一种面向大规模实时并发的充电机监控数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310461578.2A CN103491190B (zh) 2013-09-30 2013-09-30 一种面向大规模实时并发的充电机监控数据处理方法

Publications (2)

Publication Number Publication Date
CN103491190A CN103491190A (zh) 2014-01-01
CN103491190B true CN103491190B (zh) 2016-05-04

Family

ID=49831143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310461578.2A Active CN103491190B (zh) 2013-09-30 2013-09-30 一种面向大规模实时并发的充电机监控数据处理方法

Country Status (1)

Country Link
CN (1) CN103491190B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731324B (zh) * 2014-01-24 2017-01-25 国家电网公司 一种多路实时并发充电数据的模拟发生方法及装置
CN106464605B (zh) 2014-07-14 2019-11-29 华为技术有限公司 应用于网络设备的处理报文的方法和相关设备
CN107666399A (zh) * 2016-07-28 2018-02-06 北京京东尚科信息技术有限公司 一种监控数据的方法和装置
CN108124282B (zh) * 2016-11-29 2020-11-10 郑州宇通客车股份有限公司 一种电动汽车bms与充电系统的通讯信息的传输方法
CN106656863A (zh) * 2016-12-31 2017-05-10 广东欧珀移动通信有限公司 业务监控方法、装置和计算机设备
CN106790706B (zh) * 2017-02-27 2019-11-19 深圳先进技术研究院 一种数据资源优化的方法、平台及系统
CN106933688B (zh) * 2017-03-14 2020-04-10 北京空间飞行器总体设计部 一种面向多星并行的遥测数据判读引擎
CN106970580B (zh) * 2017-04-21 2021-02-26 北京航天发射技术研究所 一种发射车状态的监控方法
CN107645564B (zh) * 2017-10-24 2021-03-23 厦门市福工动力技术有限公司 一种基于数据缓存的can报文解析方法及其系统
CN108390779A (zh) * 2018-02-11 2018-08-10 山东省农业信息中心 一种数据处理方法及装置
CN108566390B (zh) * 2018-04-09 2020-03-17 中国科学院信息工程研究所 一种卫星消息监听与分发服务系统
CN108667817A (zh) * 2018-04-19 2018-10-16 厦门市智联信通物联网科技有限公司 报文转换系统和报文转换方法
CN109253758A (zh) * 2018-09-29 2019-01-22 上海嘉翊信息科技有限公司 全程实时电子秤式的油罐车智能监督管理系统
CN109862034A (zh) * 2019-03-18 2019-06-07 中车青岛四方车辆研究所有限公司 数据传输处理系统、网关和数据传输处理方法
CN110162557A (zh) * 2019-04-01 2019-08-23 深圳达实智能股份有限公司 基于实时数据库的大数据量并发访问方法和电子设备
CN110324222B (zh) * 2019-07-05 2021-05-18 厦门金龙联合汽车工业有限公司 一种车辆can总线数据交互系统及其交互方法
CN110808892A (zh) * 2019-10-24 2020-02-18 北京航天发射技术研究所 车辆控制数据判读方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000711A (zh) * 2006-12-26 2007-07-18 深圳市赛格导航科技股份有限公司 一种车辆can总线数据远程采集系统和方法
CN102426450A (zh) * 2011-09-05 2012-04-25 上海市电力公司 电动汽车充电监控系统的数据采集监控方法
CN102708181A (zh) * 2012-05-09 2012-10-03 许继集团有限公司 一种充换电站监控系统的分布式数据实例化方法
CN202749839U (zh) * 2011-09-08 2013-02-20 中国电力科学研究院 一种电动汽车充换电站监控系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731974B2 (en) * 2011-04-05 2014-05-20 Hartford Fire Insurance Company Systems and methods associated with insurance for electric vehicles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000711A (zh) * 2006-12-26 2007-07-18 深圳市赛格导航科技股份有限公司 一种车辆can总线数据远程采集系统和方法
CN102426450A (zh) * 2011-09-05 2012-04-25 上海市电力公司 电动汽车充电监控系统的数据采集监控方法
CN202749839U (zh) * 2011-09-08 2013-02-20 中国电力科学研究院 一种电动汽车充换电站监控系统
CN102708181A (zh) * 2012-05-09 2012-10-03 许继集团有限公司 一种充换电站监控系统的分布式数据实例化方法

Also Published As

Publication number Publication date
CN103491190A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
Munshi et al. Big data framework for analytics in smart grids
CN102685221B (zh) 一种状态监测数据的分布式存储与并行挖掘方法
CN103366312B (zh) 一种智能变电站云系统
CN101488796B (zh) 一种卫星有效载荷管理系统及管理方法
CN203573481U (zh) 一种基于ZigBee技术的无线抄表系统
CN101242317B (zh) 时钟设备精度与稳定性监测方法
CN102148864B (zh) 一种光伏发电与大型公共建筑一体化的无线监控系统
CN103529811B (zh) 一种电动汽车车载终端离线数据压缩缓存系统及工作方法
CN201757929U (zh) 全无线网络化电力用户用电信息采集系统
CN201813161U (zh) 一种风电功率预测系统
CN101873005B (zh) 一种实现电能量均衡采集的方法
CN203038323U (zh) 基于车联网技术的餐厨废弃物收运监管系统
CN105471109B (zh) 面向户用风光互补电站的智能用电管理系统及其管理方法
CN103647351A (zh) 基于多代理和异构通信技术的微电网智能测控终端及方法
CN103715772B (zh) 一种智能变电站全景数据中心
CN201698576U (zh) 一种用电信息采集系统和采集器
CN101951027A (zh) 中低压配电网统一数据采集与监控系统
CN104616121A (zh) 一种区域能量综合协调管控系统
CN102005821B (zh) 智能台区综合自动化终端
CN201765488U (zh) 基于云计算的机动车监控系统
CN202033053U (zh) 基于多信息融合的一体化输电线路状态监测装置
CN102227122B (zh) 平台无关规约模块系统
CN103390932B (zh) 一种分布自治容灾备用式地县一体化系统
CN104156448A (zh) 基于iec61850客户端/服务器数据交换模型
CN203491973U (zh) 一种测定光伏组件的发电功率的系统

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
C14 Grant of patent or utility model
TR01 Transfer of patent right

Effective date of registration: 20180720

Address after: 410004 398 new Shao Dong Road, Tianxin District, Changsha, Hunan

Co-patentee after: Power Science Research Institute of Hunan Electric Power Co., Ltd.

Patentee after: State Grid Hunan Electric Power Co., Ltd.

Co-patentee after: State Grid Corporation of China

Address before: 100033 West Chang'an Avenue, Xicheng District, Xicheng District, Beijing

Co-patentee before: Electric Power Research Institute, State Grid Hunan Electric Power Company

Patentee before: State Grid Corporation of China

Co-patentee before: Hunan Xiangdian Electric Power Text & Research Co., Ltd.

TR01 Transfer of patent right