一种实现集中器与本地通信模块之间档案同步的方法与流程

文档序号:27220992发布日期:2021-11-03 16:28阅读:295来源:国知局
一种实现集中器与本地通信模块之间档案同步的方法与流程

1.本发明涉及电力采集领域,特别涉及一种实现集中器与本地通信模块之间档案同步的方法。


背景技术:

2.在电力采集系统中,经常出现集中器中的电表档案与本地通信模块中电表档案不一致的情况,这时候需要集中器调用档案同步流程,最后保证集中器中的电表档案与本地路由模块中的电表档案一致。
3.传统的实现集中器与本地通信模块之间档案同步方法的流程如图1所示,包括以下几个步骤:
4.s1、集中器下发“从节点信息”命令读取本地通信模块的电表档案。
5.s2、比较本地通信模块返回的电表档案与集中器存储的电表档案,电表档案如果不一致,通过“删除从节点”或“参数区初始化”删除电表档案,然后再通过“添加从节点”添加电表档案。
6.传统的档案同步方法简单粗暴,通过先清空再添加的方式,可能出现漏档案的情况,因为删除电表档案后再通过“添加从节点”添加电表档案,只能添加本地通信模块中的档案,从而遗漏集中器中的档案。正常情况下档案同步后的结果应该是集中器档案与路由模块档案的并集,但是又不能简单将集中器档案和路由模块档案相加,因为可能出现集中器档案与路由模块档案有重复的情况。


技术实现要素:

7.本发明所要解决的技术问题是针对上述现有技术提供一种实现集中器与本地通信模块之间档案同步的方法,该方法的准确率高,能有效避免档案重复和遗漏。
8.本发明解决上述技术问题所采用的技术方案为:一种实现集中器与本地通信模块之间档案同步的方法,所述集中器通过本地通信模块与电表相通讯连接,所述集中器和本体通信模块中分别存储有电表档案,其特征在于:所述实现集中器与本地通讯模块之间档案同步的方法包括以下步骤:
9.步骤1、提炼标识;提炼出集中器的所有电表档案中的电表地址,标识为数组x,数组x中电表地址的总个数为i个,同时提炼出本地通信模块的所有电表档案中的电表地址,标识为数组y,数组y中的电表地址的总个数为j个;
10.步骤2、将数组x与数组y中的元素进行对比,得到数组x与数组y中相同的元素以及不相同的元素;
11.步骤3、将数组x与数组y中相同的元素以及不相同的元素组成新的数组z;
12.步骤4、以数组z中的所有电表地址对应的电表档案分别更新集中器和本地通讯模块内的电表档案,即实现集中器与本地通讯模块之间档案同步。
13.作为改进,所述步骤2中的具体步骤为:
14.步骤2

1、统计数组x中与数组y中元素相同的个数a以及数组x中与数组y中元素不相同的个数b;a和b的初始值均为0;
15.步骤2

2、将数组x中的第x[a+1]个元素与数组y中的所有元素依次进行比较,
[0016]
当x[a+1]与数组y中的某一元素y[m]相等时,m∈{1、2

、j};则在m=a+1时,数组y和x均保持原值,在m≠a+1时,将y[m]与y[a+1]的数值互换后作为更新后的数组y,数组x保持原值;并a加1后作为更新后的a值,转入到步骤2

3;
[0017]
当x[a+1]与数组y中的所有元素均不相等时,则b加1后作为更新后的b值,当a+1=i

b+1时,则数组y和x均保持原值,在a+1≠i

b+1时,将x[a+1]与x[i

b+1]的数值互换后作为更新后的数组x,数组y保持原值,转入到步骤2

3;
[0018]
步骤2

3、判断a+b是否等于i,如是则得到更新后的数组x和数组y,并得到最终的a值,结束;如否,则转至步骤2

2。
[0019]
进一步的,所述步骤3的具体步骤为:根据最终的a值得到数组x与数组y中电表地址相同的个数,即:更新后的数组x与数组y中的前a个元素对应为集中器和本地通信模块的电表档案中相同的电表地址,最后将数组x和数组y中除前a个元素外剩余的电表地址与前a个元素组成新的数组z。
[0020]
本方案中,所述集中器内还设置有网络通信模块和存储模块,所述集中器通过网络通信模块与主站相通讯连接,所述主站通过网络通信模块给集中器下发电表档案,并存储在集中器的存储模块中。
[0021]
为了实现集中器内部实现上述档案同步方法,所述集中器内还设置有控制模块,所述控制模块分别与网络通信模块、存储模块和本地通信模块相连接。
[0022]
为了便于工作人员了解档案同步的情况,所述集中器还将步骤3中的数组z通过网络通信模块上报给主站。
[0023]
优选的,所述网络通信模块为gprs模块/以太网/光纤。
[0024]
所述gprs模块为3g、4g或5g中的一种。
[0025]
进一步的,所述电表通过电力线载波通信模块与本地通信模块相通讯连接。
[0026]
优选的,所述本地通信模块为本地路由模块。
[0027]
与现有技术相比,本发明的优点在于:通过分别将集中器的所有电表档案中的电表地址与本地通信模块的所有电表档案中的电表地址标识为数组x和数组y,并通过数组x与数组y之间的元素对比,获得相同元素,从而能更加准确的得到集中器和本地通信模块的电表档案中的重复部分,以获取集中器和本地通信模块的电表档案的并集,能有效避免出现遗漏和重复的电表档案,因此本方法的方法简单,运算速度快,同时通过提高集中器与本地通信模块之间档案同步的准确率,以提高电表的采集率。
附图说明
[0028]
图1为现有技术中集中器与本地通信模块之间档案同步的方法的流程图;
[0029]
图2为本发明实施例中电力采集系统的原理框图;
[0030]
图3为本发明实施例中集中器与本地通信模块之间档案同步的方法的流程图。
具体实施方式
[0031]
以下结合附图实施例对本发明作进一步详细描述。
[0032]
如图2所示,集中器内包括网络通信模块、存储模块、控制模块和本地通信模块,其中集中器通过网络通信模块与主站相通讯连接,主站通过网络通信模块给集中器下发电表档案,并存储在集中器的存储模块中;控制模块分别与网络通信模块、存储模块和本地通信模块相连接,集中器通过本地通信模块与电表相通讯连接,本体通信模块中也存储有电表档案。本实施例中,电表通过电力线载波通信模块与本地通信模块相通讯连接。本实施例中的本地通信模块优选为本地路由模块。
[0033]
如图3所示,本实施例中的实现集中器与本地通信模块之间档案同步的方法,包括以下步骤:
[0034]
步骤1、提炼标识;提炼出集中器的所有电表档案中的电表地址,标识为数组x,数组x中电表地址的总个数为i个,同时提炼出本地通信模块的所有电表档案中的电表地址,标识为数组y,数组y中的电表地址的总个数为j个;
[0035]
步骤2、将数组x与数组y中的元素进行对比,得到数组x与数组y中相同的元素以及不相同的元素;具体步骤为:
[0036]
步骤2

1、统计数组x中与数组y中元素相同的个数a以及数组x中与数组y中元素不相同的个数b;a和b的初始值均为0;
[0037]
步骤2

2、将数组x中的第x[a+1]个元素与数组y中的所有元素依次进行比较,
[0038]
当x[a+1]与数组y中的某一元素y[m]相等时,m∈{1、2

、j};则在m=a+1时,数组y和x均保持原值,在m≠a+1时,将y[m]与y[a+1]的数值互换后作为更新后的数组y,数组x保持原值;并a加1后作为更新后的a值,转入到步骤2

3;
[0039]
当x[a+1]与数组y中的所有元素均不相等时,则b加1后作为更新后的b值,当a+1=i

b+1时,则数组y和x均保持原值,在a+1≠i

b+1时,将x[a+1]与x[i

b+1]的数值互换后作为更新后的数组x,数组y保持原值,转入到步骤2

3;
[0040]
步骤2

3、判断a+b是否等于i,如是则得到更新后的数组x和数组y,并得到最终的a值,结束;如否,则转至步骤2

2;
[0041]
上述具体步骤中通过对比后将数组中的数据进行交换,以实现无需开辟额外存储空间来存储数组x和数组y中的重复部分,当然,在存储空间多余的情况下,也可以将数组x和数组y中相同的元素提取出,重新存储在一个新的数组中,以得到数组x和数组y中的交集,上述步骤2的目的是计算得到数组x和数组y之间的并集,以防止集中器和本地通信模块中的电表档案出现重复和遗漏情况;
[0042]
步骤3、将数组x与数组y中相同的元素以及不相同的元素组成新的数组z;
[0043]
具体的,根据最终的a值得到数组x与数组y中电表地址相同的个数,即:更新后的数组x与数组y中的前a个元素对应为集中器和本地通信模块的电表档案中相同的电表地址,最后将数组x和数组y中除前a个元素外剩余的电表地址与前a个元素组成新的数组z;
[0044]
步骤4、以数组z中的所有电表地址对应的电表档案分别更新集中器和本地通讯模块内的电表档案,即实现集中器与本地通讯模块之间档案同步。
[0045]
为了方便工作人员及时了解集中器内的档案情况,集中器还将步骤3中的数组z通过网络通信模块上报给主站。从而主站可以对数组z进行分析和判断,以确定出集中器内的
电表档案是否都符合台区要求。
[0046]
其中,网络通信模块为gprs模块/以太网/光纤。本实施例中,gprs模块为3g、4g或5g中的一种。
[0047]
为了便于步骤2中的具体方法的理解,本实施例中以下述具体例子进行说明;假设数组x=[1,6,2,7];数组y=[3,4,5,2,1];初始时a=0;b=0;
[0048]
1、将数组x中的x[1]=1与数组y中的所有元素进行比较,x[1]=y[5],则将y[5]与y[1]的数值互换,得到:x=[1,6,2,7];y=[1,4,5,2,3];此时a=1;b=0;
[0049]
2、将数组x中的x[2]=6与数组y中的所有元素进行比较,x[2]与y中的所有元素均不相等,b=1,x[2]与x[4]的数值互换,得到x=[1,7,2,6];y=[1,4,5,2,3];此时a=1;b=1;
[0050]
3、将数组x中的x[2]=7与数组y中的所有元素进行比较,x[2]与y中的所有元素均不相等,b=2,x[2]与x[3]的数值互换,得到x=[1,2,7,6];y=[1,4,5,2,3];此时a=1;b=2;
[0051]
4、将数组x中的x[2]=2与数组y中的所有元素进行比较,x[2]=y[4],则y[4]与y[2]的数值互换,得到x=[1,2,7,6];y=[1,2,5,4,3];此时a=2;b=2;
[0052]
5、a+b=4,最终x=[1,2,7,6];y=[1,2,5,4,3];z=[1,2,7,6,5,4,3]。
[0053]
上述x和y中的各个元素可更换成电表地址,即可按照上述的方法得到集中器与本地通信模块中的电表地址的并集。
[0054]
通过将集中器中存储的所有电表档案的电表地址以及集中器内部的本地通信模块中存储的所有电表档案的电表地址进行对比,且对比时将元素相同或不相同时均采用数据交换的方式,无需额外开辟存储空间,通过对比后更新的数据以将数组x与数组y中相同的元素均对应为前a个,从而更容易得到数组x与数组y之间的交集。
[0055]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1