工业互联网平台主从节点的数据同步方法及系统技术方案

技术编号:36647348 阅读:19 留言:0更新日期:2023-02-18 13:08
本发明专利技术提供了一种工业互联网平台主从节点的数据同步方法和系统,包括总部节点的数据同步到子节点:步骤1:通过外部页面操作,或者系统录入数据到总部节点的数据库中;步骤2:通过DataReader对象从总部节点的数据库中拉取数据,并在内存中缓存,或者在硬盘中持久化存储;步骤3:将拉取的数据写入到Kafka集群对应的主题Topic中;步骤4:各子节点定时拉取写入主题Topic中的数据并进行处理;步骤5:将处理完的数据写入到各自节点的数据库中,完成总部节点到子节点的数据同步。本发明专利技术采用动态线程池管理算法和多分区结合,实现高吞吐量的多线程分区数据顺序传输的效果。程分区数据顺序传输的效果。程分区数据顺序传输的效果。

【技术实现步骤摘要】
工业互联网平台主从节点的数据同步方法及系统


[0001]本专利技术涉及数据同步
,具体地,涉及一种工业互联网平台主从节点的数据同步方法及系统。

技术介绍

[0002]随着中国传统制造数字化转型工作的不断推进,越来越多的企业开始搭建工业互联网平台。工业互联网平台的建设对于新一代信息技术与制造业深度融合工作来说,起着至关重要的作用。而传统的制造企业通过在各地都有制造基地,采用的是“一总部,多基地”的协同管理模式,子节点负责生产制造,管理则交由总部节点进行,因此,存在主从节点之间的数据同步要求,工业互联网平台需要解决这种管理模式中的数据同步共享的问题。在工业互联网平台的主从节点数据同步处理过程中,包含大量的工业现场设备采集产生的高频数据,这类工业大数据与普通大数据相比,具有实时性高、数据量大、因果关系强的特点,对比研究现有的传统主从节点数据同步方案,本专利技术主要解决以下几点问题:
[0003]传统的关系数据库主从同步方案,一般采用读写分离模式,由主数据库负责数据写入,同步到从数据库中,是单向数据流的同步,而工业场景的“一总部,多基地”的管理模式中,存在部分任务执行数据、业务数据的来源,是从子节点中写入,同步到主节点中的,因此,针对需要支持多个子节点与主节点的数据双向同步的需求,本专利技术结合kafka消息中间件,设计主从节点之间DataReader/DataWriter与Broker的数据传输架构,并采用附加消息头信息解决数据双向同步中的回环问题,实现“一主多从”节点的数据双向同步效果。
[0004]针对工业大数据存在采集频率高,数据量大,实时性要求高、关联性强,有明确的先后同步顺序的需求的特点,本专利技术采用分布式消息队列Kafka,通过采用动态连接池管理算法与hash多分区映射结合,实现海量数据的削峰填谷,达到高吞吐量处理的效果,并支持单分区的数据顺序同步,从而解决传统的数据主从同步方案无法满足工业大数据同步要求的问题。
[0005]专利文献CN106383901A(申请号:CN201610865238.X)公开了一种多数据源之间单向数据同步方法。该专利没有实现节点之间的双向同步功能,也没有考虑到数据之间的顺序同步问题,因此,只适用于普通大数据节点之间的分布式单向同步场景。
[0006]专利文献CN112417045A(申请号:CN202011314944.8)公开了一种数据库主从节点的数据同步方法和装置。该专利基于日志和缓存技术实现数据库的主从传输,主要适用于离线模式的主从单向同步场景,无法满足工业场景的高频数据同步性能要求,也无法支持“一主多从”节点之间的双向同步场景。
[0007]专利文献CN110502373A(申请号:CN201910680677.7)公开了一种主从节点数据同步的方法,包括以下步骤:响应于主节点下线,根据复制偏移量在从节点中选择新主节点;新主节点接收从节点发送的同步请求,并检测同步请求中是否存在旧主节点标签或新主节点标签;响应于同步请求中存在旧主节点标签,向从节点返回新主节点标签;以及响应于同步请求中存在新主节点标签,通过增量复制的方式将新主节点上的数据复制到从节点。该
专利无法满足工业场景的高频数据同步性能要求,也无法支持“一主多从”节点之间的双向同步场景。

技术实现思路

[0008]针对现有技术中的缺陷,本专利技术的目的是提供一种工业互联网平台主从节点的数据同步方法和系统。
[0009]根据本专利技术提供的工业互联网平台主从节点的数据同步方法,包括总部节点的数据同步到子节点:
[0010]步骤1:通过外部页面操作,或者系统录入数据到总部节点的数据库中;
[0011]步骤2:通过DataReader对象从总部节点的数据库中拉取数据,并在内存中缓存,或者在硬盘中持久化存储;
[0012]步骤3:将拉取的数据写入到Kafka集群对应的主题Topic中;
[0013]步骤4:各子节点定时拉取写入主题Topic中的数据并进行处理;
[0014]步骤5:将处理完的数据写入到各自节点的数据库中,完成总部节点到子节点的数据同步。
[0015]优选的,还包括子节点的采集数据同步到总部节点:
[0016]步骤6:各子节点通过现场的高频采集器,将工业数据采集到本节点的DataReader对象中;
[0017]步骤7:将采集的数据写入到Kafka集群对应的主题Topic中,并在内存中缓存,或者在硬盘中持久化存储;
[0018]步骤8:同步总部节点和各子节点的DataReader对象,定时拉取写入主题Topic中的数据并进行处理;
[0019]步骤9:将处理完的数据写入到总部节点的数据库中,完成子节点到总部节点的数据同步。
[0020]优选的,对各节点的数据处理过程采用线程池进行动态管理,根据业务场景对线程设置哈希值,并根据哈希值实时对线程池的使用情况进行监控,若线程耗时超出预设时长,则触发报警,并进行线程池的重新分配计算。
[0021]优选的,所述线程池重新分配计算包括线程个数调整,公式为:
[0022][0023]其中:N
thread
为线程调整数;N
cpu
为服务器的cpu核数;U
cpu
为cpu的利用率;wi为运行周期线程i的等待时间,Ci为运行周期线程i的计算时间;n为线程个数。
[0024]优选的,所述线程池重新分配计算包括每个线程分配的内存资源调整,公式为:
[0025]R
thread

i
=Xi*R
sum
=Qi/Q
sum
*R
sum
[0026]其中:R
thread

i
为每个线程调整后的内存资源;Xi为运行周期线程i的权重系数,计算公式为:Xi=Qi/Q
sum
,Qi表示运行周期线程i处理的消息总数,Q
sum
表示对应场景的消息总数;R
sum
为当前场景被分配的总内存资源;n为线程个数。
[0027]根据本专利技术提供的工业互联网平台主从节点的数据同步系统,包括总部节点的数据同步到子节点:
[0028]模块M1:通过外部页面操作,或者系统录入数据到总部节点的数据库中;
[0029]模块M2:通过DataReader对象从总部节点的数据库中拉取数据,并在内存中缓存,或者在硬盘中持久化存储;
[0030]模块M3:将拉取的数据写入到Kafka集群对应的主题Topic中;
[0031]模块M4:各子节点定时拉取写入主题Topic中的数据并进行处理;
[0032]模块M5:将处理完的数据写入到各自节点的数据库中,完成总部节点到子节点的数据同步。
[0033]优选的,还包括子节点的采集数据同步到总部节点:
[0034]模块M6:各子节点通过现场的高频采集器,将工业数据采集本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工业互联网平台主从节点的数据同步方法,其特征在于,包括总部节点的数据同步到子节点:步骤1:通过外部页面操作,或者系统录入数据到总部节点的数据库中;步骤2:通过DataReader对象从总部节点的数据库中拉取数据,并在内存中缓存,或者在硬盘中持久化存储;步骤3:将拉取的数据写入到Kafka集群对应的主题Topic中;步骤4:各子节点定时拉取写入主题Topic中的数据并进行处理;步骤5:将处理完的数据写入到各自节点的数据库中,完成总部节点到子节点的数据同步。2.根据权利要求1所述的工业互联网平台主从节点的数据同步方法,其特征在于,还包括子节点的采集数据同步到总部节点:步骤6:各子节点通过现场的高频采集器,将工业数据采集到本节点的DataReader对象中;步骤7:将采集的数据写入到Kafka集群对应的主题Topic中,并在内存中缓存,或者在硬盘中持久化存储;步骤8:同步总部节点和各子节点的DataReader对象,定时拉取写入主题Topic中的数据并进行处理;步骤9:将处理完的数据写入到总部节点的数据库中,完成子节点到总部节点的数据同步。3.根据权利要求1所述的工业互联网平台主从节点的数据同步方法,其特征在于,对各节点的数据处理过程采用线程池进行动态管理,根据业务场景对线程设置哈希值,并根据哈希值实时对线程池的使用情况进行监控,若线程耗时超出预设时长,则触发报警,并进行线程池的重新分配计算。4.根据权利要求3所述的工业互联网平台主从节点的数据同步方法,其特征在于,所述线程池重新分配计算包括线程个数调整,公式为:其中:N
thread
为线程调整数;N
cpu
为服务器的cpu核数;U
cpu
为cpu的利用率;wi为运行周期线程i的等待时间,Ci为运行周期线程i的计算时间;n为线程个数。5.根据权利要求3所述的工业互联网平台主从节点的数据同步方法,其特征在于,所述线程池重新分配计算包括每个线程分配的内存资源调整,公式为:R
thread

i
=Xi*R
sum
=Qi/Q
sum
*R
sum
其中:R
thread

i
为每个线程调整后的内存资源;Xi为运行周期线程i的权重系数,计算公式为:Xi=Qi/Q
sum
,Qi表示运行周期线程i处理的消息总数,Q
sum
表示对应场景的消息总数;R
sum
为当前场景被分配的总内存资源;n为线程个数。6.一种工业互联网平台主...

【专利技术属性】
技术研发人员:叶天琦周明黄明陈曦万英杰
申请(专利权)人:上海宝信软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1