CN111858775A - 用于物联网平台的异地数据库的数据同步方法 - Google Patents
用于物联网平台的异地数据库的数据同步方法 Download PDFInfo
- Publication number
- CN111858775A CN111858775A CN202010785955.8A CN202010785955A CN111858775A CN 111858775 A CN111858775 A CN 111858775A CN 202010785955 A CN202010785955 A CN 202010785955A CN 111858775 A CN111858775 A CN 111858775A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- finalsecretkey
- internet
- finasecretkey
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了用于物联网平台的异地数据库的数据同步方法,通过数据拼接组合;使用MD5验证数据完整性来降低系统性能开销,对拼接组合后的数据使用MD5算法,来进行异地数据库中数据完整性的验证,对于时段内完整的数据不做同步处理,对于不完整的数据做同步处理,以及使用日志法,来进行进一步降低系统同步数据时候的性能开销。通过上述三种方法的组合使用,大幅度的降低异地数据库在数据同步中对于计算机系统性能的占用。
Description
技术领域
本发明涉及物联网、异地数据库的数据同步技术领域,尤其涉及用于物联网平台的异地数据库的数据同步方法。
背景技术
随着物联网发展,各种各样的传感器被用来采集各式各样物体的使用数据,进而使得采集设备数量巨大,为了避免采集设备上报数据时候出现数据堵塞的情况,在物联网平台的设计中会有现场部署服务器来进行数据存储的方法。对于采集来的数据,物联网平台的业务端会做进一步的处理和分析,而业务端使用的数据库通常是部署在公司内部的服务器中。为了保证两地数据库中数据的一致性,平台会定时对异地数据库进行同步处理。在数据采集量巨大的情况下,数据同步时会占用大量的系统性能资源。如何合理的降低数据同步时的系统计算量,是一个亟待优化的问题。
发明内容
本发明针对解决物联网平台中异地数据库数据同步时,数据运算量大、占用系统性能资源多的问题。提出了一种用于物联网平台的异地数据库的数据同步方法,用来解决现有的异地数据库同步、服务器性能不足的问题。
本发明通过以下技术方案来实现上述目的:
用于物联网平台的异地数据库的数据同步方法,包括以下步骤:
步骤1,通过数据拼接生成设备端数据库中的FinalSecretKey和业务端数据库中的FinalSecretKey;
步骤2,在完成两个数据库FinalSecretKey的生成后;当物联网平台中异地数据库开始数据同步时候,比较两个数据库中的FinalSecretKey;如果两个FinalSecretKey相同表示两个数据库中在该时段内的数据完全一致,此时没有必要进行数据同步,则进程结束;
步骤3,如果两个数据库中FinalSecretKey不一致,表示两数据库中数据不同,在该处采用日志法来进行数据同步。
进一步方案为,所述步骤1中数据拼接具体为:
物联网中的数据的特点为一个数据对应一个时间戳和一个设备ID,拼接的数据由上述三个参数组合成为的一个新数据,定义新数据的构成如公式(1)所示:
NewData=DeviceId+″|″+TimeStamp+″|″+Data (1)
使用MD5加密算法对每一个设备ID的NewData进行计算得到一个密钥,得到公式(2);
FinalSecretKey=Md5[Keyl+″|″+Key2+″|″+…+Keyn] (2)
根据公式(2)再次使用MD5加密算法计算出这一个时段内的一个FinalSecretKey;这个FinalSecretKey表示这一时段内的全部数据,对于设备端部署的服务器和业务端部署的服务器都需要将该FinalSecretKey保存在当地服务器内的数据库中,该FinalSecretKey是验证异地数据库中数据是否一致的唯一凭证。
进一步方案为,所述步骤2中验证异地数据库中数据是否一致具体为:
每一个时段内物联网平台进行一次数据同步,系统首先检测两地数据库中在该时段内的FinalSecretKey是否一致,即相同DateTime下的FinalSecretKey是否一致;当FinalSecretKey一致时候,表示两个数据中的数据完全一致,此时不需要服务器同步该时段内的数据;如果FinalSecretKey不一致,服务器需要进行该时段内的数据同步,当结束同步后,同步更新对应数据库中对应的FinalSecretKey。
进一步方案为,所述步骤3中使用日志法进行数据同步具体为:
当步骤2中的异地数据库里的FinalSecretKey不一致时候,查询该时段内的全部日志记录,根据日志记录对需要被同步的数据库进行数据同步。
本发明的有益效果在于:
1.只需要比较两地数据库中存储好的FinalSecretKey,就可以确定两地数据库是否一致,如果不一致则进行数据同步;使用该方法来判断数据库中的数据是否一致,与一一比对数据库中的数据并判断数据库中数据是否一致的方法,极大地降低了服务器进行计算的计算量。
2.对于需要同步的数据库,采用日志法的方式进行数据同步;业务端数据在与设备端数据库进行数据同步时候,根据设备端数据库中的日志记录快速对该时间段内的数据进行同步处理;使用日志法的优点是在同步数据库时候不需要比对该时段内哪些数据做了更新或添加,直接根据日志记录进行精准的操作处理,该方法的效果同样是极大地降低服务器的同步数据计算量以及占用系统性能资源多的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
首先要说明的是本申请的方法的使用场景是物联网系统中的异地数据库同步。
在任一实施例中,如图1所示,本发明的用于物联网平台的异地数据库的数据同步方法,包括:
步骤1,通过数据拼接生成设备端数据库中的FinalSecretKey和业务端数据库中的FinalSecretKey;
步骤2,在完成两个数据库FinalSecretKey的生成后;当物联网平台中异地数据库开始数据同步时候,比较两个数据库中的FinalSecretKey;如果两个FinalSecretKey相同表示两个数据库中在该时段内的数据完全一致,此时没有必要进行数据同步,则进程结束;
步骤3,如果两个数据库中FinalSecretKey不一致,表示两数据库中数据不同,在该处采用日志法来进行数据同步。日志法是数据库在对数据库进行任何操作时候都需要在一张表上进行操作日志记录,根据需要同步时段内的日志,对业务数据库进行相关的操作。
其中具体的步骤如下:
一、数据的拼接:
1.物联网中的数据的特点为一个数据(Data)对应一个时间戳(TimeStamp)和一个设备ID(DeviceId)。所以拼接的数据由上述三个参数组合成为的一个新数据(NewData),定义新数据的构成如公式(1)所示:
NewData=DeviceId+″|″+TimeStamp+″|″+Data (1)
根据公式1形成平台1小时内的NewData如表1所示。
表1生成NewData
DeviceID | TimeStamp | Data | NewData |
1 | 20200629150000 | 10 | 12020062915000010 |
1 | 20200629151500 | 10 | 12020062915150010 |
1 | 20200629153000 | 10 | 12020062915300010 |
1 | 20200629154500 | 10 | 12020062915450010 |
1 | 20200629160000 | 10 | 12020062916000010 |
2 | 20200629150000 | 10 | 22020062915000010 |
2 | 20200629151500 | 10 | 22020062915150010 |
2 | 20200629153000 | 10 | 22020062915300010 |
2 | 20200629154500 | 10 | 22020062915450010 |
2 | 20200629160000 | 10 | 22020062916000010 |
2.使用MD5加密算法对每一个设备ID的NewData进行计算的到一个密钥,得到公式(2);
FinalSecretKey=Md5[Keyl+″|″+Key2+″|″+…+Keyn] (2)
生成结果如表2所示。
表2生成SecretKey
DeviceId | TimeStamp | Data | SecretKey |
1 | 20200629150000 | 10 | Keyl |
1 | 20200629151500 | 10 | Key2 |
1 | 20200629153000 | 10 | Key3 |
1 | 20200629154500 | 10 | Key4 |
1 | 20200629160000 | 10 | Key5 |
2 | 20200629150000 | 10 | Key6 |
2 | 20200629151500 | 10 | Key7 |
2 | 20200629153000 | 10 | Key8 |
2 | 20200629154500 | 10 | Key9 |
2 | 20200629160000 | 10 | Key10 |
3.根据公式(2)再次使用MD5加密算法计算出这一个时段(1小时)内的一个FinalSecretKey。这个FinalSecretKey表示这一时段内的全部数据,对于设备端部署的服务器和业务端部署的服务器都需要将该FinalSecretKey保存在当地服务器内的数据库中,该FinalSecretKey是验证异地数据库中数据是否一致的唯一凭证。在数据库的以表3的形式保存;
表3 FinalSecretKey保存
DateTime | FinalSecretKey |
2020-06-29 15:00:00 | FinalSecretKey1 |
二、验证异地数据库中数据是否一致:
每小时物联网平台进行一次数据同步,系统首先检测两地数据库中在该时段内的FinalSecretKey是否一致,即相同DateTime下的FinalSecretKey是否一致。当FinalSecretKey一致时候,表示两个数据中的数据完全一致,此时不需要服务器同步该时段内的数据。如果FinalSecretKey,服务器需要进行该时段内的数据同步,具体同步过程由第三点所述,当结束同步后,需要同步更新对应数据库中对应的FinalSecretKey。
三、使用日志法进行数据同步:
日志法指的是每次对数据库进行数据的任何操作的时候都需要在日志记录表中进行操作记录。当第二步中的异地数据库里的FinalSecretKey不一致时候,查询该时段内的全部日志记录,根据日志记录对需要被同步的数据库进行数据同步。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (4)
1.用于物联网平台的异地数据库的数据同步方法,其特征在于,包括以下步骤:
步骤1,通过数据拼接生成设备端数据库中的FinalSecretKey和业务端数据库中的FinalSecretKey;
步骤2,在完成两个数据库FinalSecretKey的生成后;当物联网平台中异地数据库开始数据同步时候,比较两个数据库中的FinalSecretKey;如果两个FinalSecretKey相同表示两个数据库中在该时段内的数据完全一致,此时没有必要进行数据同步,则进程结束;
步骤3,如果两个数据库中FinalSecretKey不一致,表示两数据库中数据不同,在该处采用日志法来进行数据同步。
2.如权利要求1所述的用于物联网平台的异地数据库的数据同步方法,其特征在于,所述步骤1中数据拼接具体为:
物联网中的数据的特点为一个数据对应一个时间戳和一个设备ID,拼接的数据由上述三个参数组合成为的一个新数据,定义新数据的构成如公式(1)所示:
NewData=DeviceId+″|″+TimeStamp+″|″+Data (1)
使用MD5加密算法对每一个设备ID的NewData进行计算得到一个密钥,得到公式(2);
FinalSecretKey=Md5[Key1+″|″+Key2+″|″+…+Keyn] (2)
根据公式(2)再次使用MD5加密算法计算出这一个时段内的一个FinalSecretKey;这个FinalSecretKey表示这一时段内的全部数据,对于设备端部署的服务器和业务端部署的服务器都需要将该FinalSecretKey保存在当地服务器内的数据库中,该FinalSecretKey是验证异地数据库中数据是否一致的唯一凭证。
3.如权利要求1所述的用于物联网平台的异地数据库的数据同步方法,其特征在于,所述步骤2中验证异地数据库中数据是否一致具体为:
每一个时段内物联网平台进行一次数据同步,系统首先检测两地数据库中在该时段内的FinalSecretKey是否一致,即相同DateTime下的FinalSecretKey是否一致;当FinalSecretKey一致时候,表示两个数据中的数据完全一致,此时不需要服务器同步该时段内的数据;如果FinalSecretKey不一致,服务器需要进行该时段内的数据同步,当结束同步后,同步更新对应数据库中对应的FinalSecretKey。
4.如权利要求1所述的用于物联网平台的异地数据库的数据同步方法,其特征在于,所述步骤3中使用日志法进行数据同步具体为:
当步骤2中的异地数据库里的FinalSecretKey不一致时候,查询该时段内的全部日志记录,根据日志记录对需要被同步的数据库进行数据同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010785955.8A CN111858775A (zh) | 2020-08-06 | 2020-08-06 | 用于物联网平台的异地数据库的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010785955.8A CN111858775A (zh) | 2020-08-06 | 2020-08-06 | 用于物联网平台的异地数据库的数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858775A true CN111858775A (zh) | 2020-10-30 |
Family
ID=72972621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010785955.8A Pending CN111858775A (zh) | 2020-08-06 | 2020-08-06 | 用于物联网平台的异地数据库的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858775A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071386A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Method, system, and program for data synchronizatiom |
US20080022057A1 (en) * | 2006-07-19 | 2008-01-24 | Microsoft Corporation | Synchronization of change-tracked data store with data store having limited or no change tracking |
US20110258299A1 (en) * | 2008-12-30 | 2011-10-20 | Thomson Licensing | Synchronization of configurations for display systems |
CN102902812A (zh) * | 2012-10-22 | 2013-01-30 | 飞天诚信科技股份有限公司 | 一种数据库远程同步的实现方法 |
CN105610917A (zh) * | 2015-12-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 实现系统中同步数据修复的方法及系统 |
CN106959996A (zh) * | 2017-01-20 | 2017-07-18 | 华数传媒网络有限公司 | 一种基于互联网电视的后台数据同步方法 |
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
-
2020
- 2020-08-06 CN CN202010785955.8A patent/CN111858775A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071386A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Method, system, and program for data synchronizatiom |
US20080022057A1 (en) * | 2006-07-19 | 2008-01-24 | Microsoft Corporation | Synchronization of change-tracked data store with data store having limited or no change tracking |
US20110258299A1 (en) * | 2008-12-30 | 2011-10-20 | Thomson Licensing | Synchronization of configurations for display systems |
CN102902812A (zh) * | 2012-10-22 | 2013-01-30 | 飞天诚信科技股份有限公司 | 一种数据库远程同步的实现方法 |
CN105610917A (zh) * | 2015-12-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 实现系统中同步数据修复的方法及系统 |
CN106959996A (zh) * | 2017-01-20 | 2017-07-18 | 华数传媒网络有限公司 | 一种基于互联网电视的后台数据同步方法 |
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
王建平 等: "异地数据库关键信息同步的解决方案", 《计算机应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572281B (zh) | 一种基于区块链的可信日志记录方法及系统 | |
CN110347746B (zh) | 一种异构数据库同步数据一致性校验方法及装置 | |
CN108769212A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN109542330B (zh) | 数据存储方法、数据查询方法及装置 | |
CN107547606B (zh) | 数据处理方法、集群管理器、资源管理器、数据处理系统 | |
US20100088197A1 (en) | Systems and methods for generating remote system inventory capable of differential update reports | |
JPWO2014049804A1 (ja) | 分散システムにおけるシステム動作トレース方法 | |
CN111352759A (zh) | 一种告警根因的判定方法及装置 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及系统 | |
CN111858775A (zh) | 用于物联网平台的异地数据库的数据同步方法 | |
CN109101403A (zh) | 一种对移动端产生sql进行实时监控的方法及系统 | |
CN115033578A (zh) | 一种业务数据更新的方法、相关装置及存储介质 | |
CN112612802A (zh) | 一种实时数据中台的处理方法、装置及平台 | |
CN109189813B (zh) | 一种数据共享方法及装置 | |
CN114661231B (zh) | 电网监控主站系统参数变更记录的存储同步方法及装置 | |
CN113641761B (zh) | 数据同步方法及装置 | |
CN111966650B (zh) | 一种运维大数据共享数据表的处理方法、装置及存储介质 | |
CN112463786B (zh) | 数据同步方法、系统、服务器及存储介质 | |
CN111797166B (zh) | 准实时简历数据同步方法和装置、电子设备及介质 | |
CN114421617A (zh) | 一种基于配网运行监测数据的中压故障研判方法 | |
CN109657001B (zh) | 一种源数据端管理平台 | |
CN114629236A (zh) | 一种云边协同架构的故障录波主站系统及运作方法 | |
CN111522875A (zh) | 一种全量数据同步的分布式系统数据副本一致性监测方法 | |
CN112612852A (zh) | 数据同步方法及装置、电子设备、存储介质 | |
CN112732488B (zh) | 一种采用cmsp同步数据实现虚机内数据库备份的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |