一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种集中器的数据处理方法及终端与流程

2022-11-30 08:48:50 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种集中器的数据处理方法及终端。


背景技术:

2.智能电网的发展使低压集中器的应用范围越来越广,相应地,对集中器的功能要求也越来越多。集中器从最初只支持国内的376.1、376.2和dl645协议,到现在要同时支持国外的dlms(device language message specification,设备语言报文规范)等其他协议。集中器的通讯方式也因为技术的发展变得越来越多样化,需要同时支持多种通讯方式,同时串并行处理数据,既要处理从主站收到的数据,也要处理集中器内部的任务数据。在这种多通道(或者叫多通讯方式)、多协议以及多任务的通讯中,如何保证数据多而不乱,可有序地进行处理,成为当下亟待解决的问题。


技术实现要素:

3.本发明所要解决的技术问题是:提供一种集中器的数据处理方法及终端,能够使集中器有序、高效地处理数据。
4.为了解决上述技术问题,本发明采用的一种技术方案为:
5.一种集中器的数据处理方法,包括步骤:
6.接收通道发送的数据;
7.对所述数据进行协议解析,得到解析后的数据;
8.将所述解析后的数据存入链表中;
9.对所述链表中的数据进行转发处理,得到处理结果。
10.为了解决上述技术问题,本发明采用的另一种技术方案为:
11.一种集中器的数据处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
12.接收通道发送的数据;
13.对所述数据进行协议解析,得到解析后的数据;
14.将所述解析后的数据存入链表中;
15.对所述链表中的数据进行转发处理,得到处理结果。
16.本发明的有益效果在于:接收通道发送的数据,对数据进行协议解析,得到解析后的数据,将解析后的数据存入链表中,对链表中的数据进行转发处理,得到处理结果,利用链表的特性,使链表中的数据可以像队列一样按照先进先出处理,也可以像普通数组一样顺序处理,即集中器可对数据进行串行或并行转发处理,使得数据可以被有序且高效地处理,从而使集中器有序、高效地处理数据。
附图说明
17.图1为本发明实施例的一种集中器的数据处理方法的步骤流程图;
18.图2为本发明实施例的一种集中器的数据处理终端的结构示意图;
19.图3为本发明实施例集中器的数据处理方法中的集中器通讯结构示意图;
20.图4为本发明实施例集中器的数据处理方法中的数据处理流程图。
具体实施方式
21.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
22.请参照图1,本发明实施例提供了一种集中器的数据处理方法,包括步骤:
23.接收通道发送的数据;
24.对所述数据进行协议解析,得到解析后的数据;
25.将所述解析后的数据存入链表中;
26.对所述链表中的数据进行转发处理,得到处理结果。
27.从上述描述可知,本发明的有益效果在于:接收通道发送的数据,对数据进行协议解析,得到解析后的数据,将解析后的数据存入链表中,对链表中的数据进行转发处理,得到处理结果,利用链表的特性,使链表中的数据可以像队列一样按照先进先出处理,也可以像普通数组一样顺序处理,即集中器可对数据进行串行或并行转发处理,使得数据可以被有序且高效地处理,从而使集中器有序、高效地处理数据。
28.进一步地,所述通道包括虚拟通道、上行通道和下行通道;
29.所述接收通道发送的数据之前包括步骤:
30.获取定时任务、应用程序和文件;
31.将所述定时任务、应用程序和文件虚拟为虚拟通道;
32.将gprs通讯、以太网通讯、wifi通讯以及红外通讯确定为上行通道;
33.将plc/rf通讯以及rs485通讯确定为下行通道;
34.所述接收通道发送的数据包括:
35.接收所述虚拟通道、所述上行通道和所述下行通道发送的数据。
36.由上述描述可知,将集中器的定时任务、应用程序和文件都虚拟为虚拟通道,使虚拟通道和其他物理通道(即上行通道和下行通道)一起参与到集中器的数据转发处理中,提高了数据处理的效率。
37.进一步地,所述对所述数据进行协议解析,得到解析后的数据包括:
38.判断所述数据是否完整,若是,则对所述数据进行协议解析,并标记协议类型,得到解析后的数据。
39.由上述描述可知,先判断数据是否完整,然后对判断完整的数据进行协议解析,并标记协议类型,确保了数据的完整性,标记协议类型便于后续对数据进行针对性处理,提高了数据处理的准确性和效率。
40.进一步地,所述将所述解析后的数据存入链表中包括:
41.根据所述协议类型判断所述解析后的数据是否为转发抄表,若是,则将所述解析后的数据存入链表中,若否,则判断所述解析后的数据是否为内部任务,若是,则直接对所述解析后的数据进行处理,得到回复帧,并将所述回复帧返回至所述通道。
42.由上述描述可知,当解析后的数据为转发抄表,则将解析后的数据存入链表中,若
解析后的数据为内部任务,则直接对解析后的数据进行处理,得到回复帧,并将回复帧返回至通道,以此实现对不同数据的准确处理。
43.进一步地,所述对所述链表中的数据进行转发处理,得到处理结果包括:
44.获取转发标志和电表抄读状态;
45.对所述通道进行识别,得到模块型号,并根据所述模块型号确定并发标志;
46.判断所述链表是否为空,若否,则遍历所述链表中的数据;
47.对于遍历到的目标数据,根据所述转发标志判断是否存在数据正在转发,若存在,则判断所述并发标志是否为支持并发,若为支持并发,则判断所述电表抄读状态是否为空闲状态,若为空闲状态,则对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除,若不为空闲状态,则返回执行所述判断所述电表抄读状态是否为空闲状态步骤,若为不支持并发,则返回执行所述根据所述转发标志判断是否存在数据正在转发步骤;
48.若不存在,则对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除。
49.由上述描述可知,遍历链表中的每一条数据,当当前有数据在转发,且支持并发以及电表抄读处于空闲,则可对遍历到的目标数据进行并发处理,若当前有数据在转发,且不支持并发,则需进行串行处理,即等待上一数据处理完后,再对遍历到的目标数据进行处理,以此支持集中器数据的串行或并行处理,从而使集中器有序、高效地处理数据。
50.请参照图2,一种集中器的数据处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
51.接收通道发送的数据;
52.对所述数据进行协议解析,得到解析后的数据;
53.将所述解析后的数据存入链表中;
54.对所述链表中的数据进行转发处理,得到处理结果。
55.从上述描述可知,本发明的有益效果在于:接收通道发送的数据,对数据进行协议解析,得到解析后的数据,将解析后的数据存入链表中,对链表中的数据进行转发处理,得到处理结果,利用链表的特性,使链表中的数据可以像队列一样按照先进先出处理,也可以像普通数组一样顺序处理,即集中器可对数据进行串行或并行转发处理,使得数据可以被有序且高效地处理,从而使集中器有序、高效地处理数据。
56.进一步地,所述通道包括虚拟通道、上行通道和下行通道;
57.所述接收通道发送的数据之前包括步骤:
58.获取定时任务、应用程序和文件;
59.将所述定时任务、应用程序和文件虚拟为虚拟通道;
60.将gprs通讯、以太网通讯、wifi通讯以及红外通讯确定为上行通道;
61.将plc/rf通讯以及rs485通讯确定为下行通道;
62.所述接收通道发送的数据包括:
63.接收所述虚拟通道、所述上行通道和所述下行通道发送的数据。
64.由上述描述可知,将集中器的定时任务、应用程序和文件都虚拟为虚拟通道,使虚
拟通道和其他物理通道(即上行通道和下行通道)一起参与到集中器的数据转发处理中,提高了数据处理的效率。
65.进一步地,所述对所述数据进行协议解析,得到解析后的数据包括:
66.判断所述数据是否完整,若是,则对所述数据进行协议解析,并标记协议类型,得到解析后的数据。
67.由上述描述可知,先判断数据是否完整,然后对判断完整的数据进行协议解析,并标记协议类型,确保了数据的完整性,标记协议类型便于后续对数据进行针对性处理,提高了数据处理的准确性和效率。
68.进一步地,所述将所述解析后的数据存入链表中包括:
69.根据所述协议类型判断所述解析后的数据是否为转发抄表,若是,则将所述解析后的数据存入链表中,若否,则判断所述解析后的数据是否为内部任务,若是,则直接对所述解析后的数据进行处理,得到回复帧,并将所述回复帧返回至所述通道。
70.由上述描述可知,当解析后的数据为转发抄表,则将解析后的数据存入链表中,若解析后的数据为内部任务,则直接对解析后的数据进行处理,得到回复帧,并将回复帧返回至通道,以此实现对不同数据的准确处理。
71.进一步地,所述对所述链表中的数据进行转发处理,得到处理结果包括:
72.获取转发标志和电表抄读状态;
73.对所述通道进行识别,得到模块型号,并根据所述模块型号确定并发标志;
74.判断所述链表是否为空,若否,则遍历所述链表中的数据;
75.对于遍历到的目标数据,根据所述转发标志判断是否存在数据正在转发,若存在,则判断所述并发标志是否为支持并发,若为支持并发,则判断所述电表抄读状态是否为空闲状态,若为空闲状态,则对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除,若不为空闲状态,则返回执行所述判断所述电表抄读状态是否为空闲状态步骤,若为不支持并发,则返回执行所述根据所述转发标志判断是否存在数据正在转发步骤;
76.若不存在,则对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除。
77.由上述描述可知,遍历链表中的每一条数据,当当前有数据在转发,且支持并发以及电表抄读处于空闲,则可对遍历到的目标数据进行并发处理,若当前有数据在转发,且不支持并发,则需进行串行处理,即等待上一数据处理完后,再对遍历到的目标数据进行处理,以此支持集中器数据的串行或并行处理,从而使集中器有序、高效地处理数据。
78.本发明上述的一种集中器的数据处理方法及终端能够适用于智能电网的集中器对数据进行处理的场景,以下通过具体实施方式进行说明:
79.实施例一
80.请参照图1和图3-图4,本实施例的一种集中器的数据处理方法,包括步骤:
81.s0、获取定时任务、应用程序和文件;
82.s1、将所述定时任务、应用程序和文件虚拟为虚拟通道,如图3所示;
83.具体的,虚拟通道也是一种上行通道,将集中器自身的定时任务、应用程序和文件虚拟为虚拟通道,可简单便捷地对集中器功能进行扩展调试,可以不需要主站就能实现部
分特定的功能,比如模拟主站的组帧和解帧功能,具体如下:
84.所述虚拟通道根据接收到的需要抄读的数据确定对应的协议类型和电表地址,将所述需要抄读的数据组成所述电表地址对应的电表支持的dl645或者dlms帧,然后确定转发的通道,当转发的通道为rs485通道,数据帧可以直接转发到集中器的数据处理中心,当转发的通道为plc/rf通道,数据帧则需要包含到376.2协议的转发帧里面后,再转发到集中器的数据处理中心,此为虚拟通道的组帧过程;而虚拟通道需要解帧时,根据数据帧的协议类型进行判断,若为dl645或者dlms帧,若是,则由协议分析直接解析得到原始数据,若为376.2帧,则根据376.2转发规则先取出转发帧包含的dl645或者dlms帧,再将dl645帧或dlms帧由协议分析解析得到原始数据;
85.几种虚拟通道的组帧和解帧过程类似,不同点在于输入形式、输出形式以及与集中器主程序通讯方式不一样,如表1所示:
86.表1虚拟通道的组帧和解帧的区别
[0087][0088]
s2、将gprs通讯、以太网通讯、wifi通讯以及红外通讯确定为上行通道;
[0089]
具体的,如图3所示,上行通道指集中器和主站、掌机等的通讯,包括gprs通讯、以太网通讯、wifi通讯以及红外通讯;
[0090]
s3、如图3所示,将plc/rf通讯以及rs485通讯确定为下行通道;
[0091]
具体的,下行通道指集中器和电表的通讯,包括plc/rf通讯以及rs485通讯;
[0092]
s4、接收通道发送的数据;
[0093]
其中,所述通道包括虚拟通道、上行通道和下行通道;在一种可选的实施方式中,通过通道的编号区分虚拟通道、上行通道和下行通道;
[0094]
具体的,所述虚拟通道对接收的数据进行组帧处理后转发给集中器的数据处理中心,所述上行通道和下行通道分别将接收的数据转发给集中器的数据处理中心;
[0095]
集中器的数据处理中心接收所述虚拟通道、所述上行通道和所述下行通道发送的数据;
[0096]
s5、对所述数据进行协议解析,得到解析后的数据,具体包括:
[0097]
s50、判断所述数据是否完整,若是,则执行s51;若否,则返回执行所述s4;
[0098]
具体的,对所述数据的帧头、帧尾、校验位以及长度进行完整性检验,判断所述数据是否完整,若是,则执行s51;若否,则返回执行所述s4;
[0099]
s51、对所述数据进行协议解析,并标记协议类型,得到解析后的数据;
[0100]
其中,协议类型包括376.1协议、376.2协议、dl645协议以及dlms协议;
[0101]
s6、将所述解析后的数据存入链表中,具体包括:
[0102]
s60、根据所述协议类型判断所述解析后的数据是否为转发抄表,若是,则执行s601,若否,则执行s602;
[0103]
s601、将所述解析后的数据存入链表中;
[0104]
所述链表中的数据结构如下:
[0105]
struct comm_list{
[0106]
struct list_head node;
[0107]
int channel_up;
[0108]
int channel_down;
[0109]
int pro;
[0110]
int len;
[0111]
char buf[len_max];
[0112]
};
[0113]
其中,node表示链表节点,保存了前一节点和后一节点的指针信息,channel_up表示上行通道号,即代表数据来自哪一通道,比如定义gprs通道号为1,以太网通道号为2,定时任务虚拟通道号为3;channel_down表示下行通道号,表示数据要转发到哪一通道,比如定义rs485通道号为4,plc/rf通道号为5;pro表示协议类型;len表示数据长度;buf表示接收或者发送数据的缓冲区,其大小可以根据实际需要进行定义;
[0114]
所述链表可按照时间顺序增加,以此使得不同通道的数据可以按照先后顺序加入链表中;链表数据节点的删除不影响已有数据的排序;
[0115]
s602、判断所述解析后的数据是否为内部任务,若是,则直接对所述解析后的数据进行处理,得到回复帧,并将所述回复帧返回至所述通道;
[0116]
所述内部任务即对集中器本身的操作任务;
[0117]
其中,若执行所述s602,则无执行后续s70~s73;
[0118]
s70、对所述链表中的数据进行转发处理,得到处理结果,具体包括:
[0119]
s71、获取转发标志和电表抄读状态;
[0120]
具体的,预先设置转发标志、电表抄读状态和通道抄表状态;所述转发标志为0表示空闲,无数据正在转发,为1表示存在数据正在转发;每个电表都定义有自己的状态结构,其电表地址为关键字,可采用哈斯算法查找,所述电表抄读状态为0表示空闲状态,为1表示不为空闲状态,电表正在抄读;所述通道抄表状态为0表示通道空闲,为1表示通道正在转发;
[0121]
s72、对所述通道进行识别,得到模块型号,并根据所述模块型号确定并发标志;
[0122]
s73、判断所述链表是否为空,若否,则执行s731;若是,则返回执行所述s73,如图4所示;
[0123]
s731、遍历所述链表中的数据;
[0124]
s7311、对于遍历到的目标数据,根据所述转发标志判断是否存在数据正在转发,若存在,则执行s7312;若不存在,则执行s7313;
[0125]
s7312、判断所述并发标志是否为支持并发,若为支持并发,则执行s7314,若为不
支持并发,则返回执行所述s7311;
[0126]
一般情况下,采用洪泛算法的模块不支持并发,自组网的模块支持并发,窄带的模块不支持并发,宽带部分模块支持并发,g3模块支持并发;
[0127]
s7313、对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除;
[0128]
s7314、判断所述电表抄读状态是否为空闲状态,若为空闲状态,则执行s7315,若不为空闲状态,则返回执行所述s7314;
[0129]
s7315、对所述目标数据进行转发处理,得到处理结果,并将所述目标数据从所述链表中删除,如图4所示;
[0130]
综上,当不支持并发时,则需进行串行转发,即当转发通道相同或转发的电表地址相同,需等待上一条数据处理完,才能进行下一条数据处理;当支持并发时,则可进行并行转发,即电表或通道处于空闲即可并发处理。
[0131]
实施例二
[0132]
请参照图2,本实施例的一种集中器的数据处理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中的集中器的数据处理方法中的各个步骤。
[0133]
综上所述,本发明提供的一种集中器的数据处理方法及终端,接收通道发送的数据,所述通道包括虚拟通道、上行通道和下行通道;对所述数据进行协议解析,得到解析后的数据;将所述解析后的数据存入链表中;对所述链表中的数据进行转发处理,得到处理结果,具体的,遍历链表中的每一条数据,当当前有数据在转发,且支持并发以及电表抄读处于空闲,则可对遍历到的目标数据进行并发处理,若当前有数据在转发,且不支持并发,则需进行串行处理,即等待上一数据处理完后,再对遍历到的目标数据进行处理,以此支持集中器数据的串行或并行处理;同时,使虚拟通道和其他物理通道(即上行通道和下行通道)一起参与到集中器的数据转发处理中,提高了数据处理的效率,利用链表的特性,使链表中的数据可以像队列一样按照先进先出处理,也可以像普通数组一样顺序处理,即集中器可对数据进行串行或并行转发处理,使得数据可以被有序且高效地处理,从而使集中器有序、高效地处理数据。
[0134]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献