数据同步系统及方法与流程

本技术涉及数据通信,尤其涉及一种数据同步系统及方法。
背景技术:
1、在电力自动化进程中,对各种端设备的数据采集要求也越来越高,而随着现场用能设备种类的增多与现场使用的复杂性,往往需要在同个时间断面下,实现多个设备数据的同步采集的要求。而常规的采集方式,通讯端口从主控芯片上引出,需要抄读的端设备直接挂载到相应的端口上。再通过主控cpu以多线程或多进程的方式,让每个线程或进程独立控制相应的端口,控制多路端口实现各路设备的采集。
2、在这种情况下,数据的采集时间完全取决于cpu的多任务能力。采集指令的发出时间取决于系统的多线程调度过程,是不可控的。尤其是在系统负荷较重的情况下,由于线程阻塞问题,更不可能做到指令的同步操作。
3、另外,当通讯端口比较多时,所需要建立的不同进程也会随之增加,对主控cpu的硬件资源、性能、散热等要求也会随之升高,从而带来硬件上成本的上升。
4、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本技术的主要目的在于提供一种数据同步系统及方法,旨在解决如何低成本地进行数据同步的技术问题。
2、为实现上述目的,本技术提出一种数据同步系统,所述数据同步系统包括:控制模块、至少一个子处理模块以及端模块,控制模块与至少一个子处理模块连接,子处理模块与对应的端模块连接;
3、所述控制模块,用于向所述子处理模块发送预设操作指令,其中,所述预设操作指令可以为一条也可以为多条;
4、所述子处理模块,用于接收所述控制模块发送的所述预设操作指令;
5、所述控制模块,还用于向所述子处理模块发送同步脉冲;
6、所述子处理模块,还用于响应所述同步脉冲,向所述端模块发送所述预设操作指令;
7、所述端模块,用于接收所述子处理模块发送的所述预设操作指令,并执行所述预设操作指令,得到预设操作结果,并向所述子处理模块发送所述预设操作结果;
8、所述子处理模块,还用于接收所述端模块发送的所述预设操作结果,并将所述预设操作结果缓存在内部存储中;
9、所述控制模块,还用于向所述子处理模块发送结果获取指令,基于所述结果获取指令获取所述预设操作结果。
10、在一实施例中,所述子处理模块,还用于在所接受到所述预设操作指令为一条时,为单条所述预设操作指令分配对应的线程或进程;
11、所述子处理模块,还用于在所接受到所述预设操作指令为多条时,基于多条所述预设操作指令建立预设指令队列,为所述预设指令队列分配对应的线程或进程。
12、在一实施例中,所述控制模块与所述子处理模块之间建立有两个交互通道,分别为指令收发通道和信号同步通道;
13、所述指令收发通道,用于所述控制模块向所述子处理模块广播发送预设操作指令;
14、所述信号同步通道,用于所述控制模块向所述子处理模块发送同步脉冲。
15、在一实施例中,所述控制模块,还用于对所有所述子处理模块接收的所述预设操作指令的操作状态进行遍历;
16、所述控制模块,还用于在检测到所有所述子处理模块接收的所述预设操作指令的操作状态为就绪时,向所有所述子处理模块发送所述同步脉冲,以使所述预设操作指令的操作状态转变为中断。
17、在一实施例中,所述子处理模块,还用于接收所述端模块发送的所述预设操作结果,并记录接收所述预设操作结果的时标,将携带有时标的所述预设操作结果缓存在内部存储中。
18、此外,为实现上述目的,本技术还提出一种数据同步方法,所述数据同步方法应用于数据同步系统,所述数据同步系统包括:控制模块、与控制模块连接的至少一个子处理模块以及与子处理模块对应的端模块;所述数据同步方法包括:
19、所述控制模块向所述子处理模块发送预设操作指令,其中,所述预设操作指令可以为一条也可以为多条;
20、所述子处理模块接收所述控制模块发送的所述预设操作指令;
21、所述控制模块向所述子处理模块发送同步脉冲;
22、所述子处理模块响应所述同步脉冲,向所述端模块发送所述预设操作指令;
23、所述端模块接收所述子处理模块发送的所述预设操作指令,并执行所述预设操作指令,得到预设操作结果,并向所述子处理模块发送所述预设操作结果;
24、所述子处理模块接收所述端模块发送的所述预设操作结果,并将所述预设操作结果缓存在内部存储中;
25、所述控制模块向所述子处理模块发送结果获取指令,基于所述结果获取指令获取所述预设操作结果。
26、在一实施例中,所述子处理模块接收所述控制模块发送的所述预设操作指令之后,还包括:
27、所述子处理模块在所接受到所述预设操作指令为一条时,为单条所述预设操作指令分配对应的线程或进程;
28、所述子处理模块在所接受到所述预设操作指令为多条时,基于多条所述预设操作指令建立预设指令队列,为所述预设指令队列分配对应的线程或进程。
29、在一实施例中,所述控制模块与所述子处理模块之间建立有两个交互通道,分别为指令收发通道和信号同步通道;
30、所述控制模块向所述子处理模块发送预设操作指令,包括:所述控制模块通过所述指令收发通道向所述子处理模块广播发送预设操作指令;
31、所述控制模块向所述子处理模块发送同步脉冲,包括:所述控制模块通过所述信号同步通道向所述子处理模块发送同步脉冲。
32、在一实施例中,所述控制模块向所述子处理模块发送同步脉冲的步骤,还包括:
33、所述控制模块对所有所述子处理模块接收的所述预设操作指令的操作状态进行遍历;
34、所述控制模块在检测到所有所述子处理模块接收的所述预设操作指令的操作状态为就绪时,向所有所述子处理模块发送所述同步脉冲,以使所述预设操作指令的操作状态转变为中断。
35、在一实施例中,所述子处理模块接收所述端模块发送的所述预设操作结果,并将所述预设操作结果缓存在内部存储中,包括:
36、所述子处理模块接收所述端模块发送的所述预设操作结果,并记录接收所述预设操作结果的时标,将携带有时标的所述预设操作结果缓存在内部存储中。
37、本技术提出的一个或多个技术方案,至少具有以下技术效果:
38、通过控制模块向子处理模块发送一条或多条预设操作指令,子处理模块接收控制模块发送的预设操作指令,控制模块向子处理模块发送同步脉冲,子处理模块响应同步脉冲,向端模块发送预设操作指令实现了指令收发同步;通过端模块接收子处理模块发送的预设操作指令,并执行预设操作指令,得到预设操作结果,并向子处理模块发送预设操作结果,子处理模块接收端模块发送的预设操作结果,并将预设操作结果缓存在内部存储中,控制模块向子处理模块发送结果获取指令,基于结果获取指令获取预设操作结果,实现了指令操作结果读写同步。通过在控制模块与一个或多个端模块中增加对应连接的子处理模块,降低了控制模块的负载,使终端设备的控制单元更专注于业务处理以提升整体性能,进而实现低成本地进行数据同步,降低了数据同步过程中对硬件性能及成本上的要求。
技术研发人员:游荣强,邵俊松,樊小毅,庞海天
技术所有人:南京江行联加智能科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
