CN104809250A - 一种松散式数据一致性校验方法 - Google Patents
一种松散式数据一致性校验方法 Download PDFInfo
- Publication number
- CN104809250A CN104809250A CN201510254790.0A CN201510254790A CN104809250A CN 104809250 A CN104809250 A CN 104809250A CN 201510254790 A CN201510254790 A CN 201510254790A CN 104809250 A CN104809250 A CN 104809250A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- tables
- proof test
- test value
- 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.)
- Granted
Links
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
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种松散式数据一致性校验方法,包括如下步骤:数据接收方存储所接收的数据表并标记为未校验,所述数据表携带有时间信息;数据接收方接收数据一致性校验信息,依据数据一致性校验信息提取所存储的数据表,将所述数据表内数据采用预设的校验值生成方法生成校验值I;依据上一步骤数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;数据生成方获取校验值I,检验所述校验值I、校验值II是否一致,若一致则标记数据接收方的所述数据表为已校验,若不一致,则判定该时间信息所对应数据表传输错误。可以不区分数据表的先后顺序,进行实时数据校验、出错率小。
Description
技术领域
本发明涉及数据库维护技术,特别涉及一种松散式数据一致性校验方法。
背景技术
在数据库技术的应用领域,在多个存储设备、终端间进行数据复制时,通常是直接从源存储设备中读取数据后通过中间存储媒介或网络存储至目的存储设备上。数据在实际传输过程中可能会存在数据被篡改或者丢失等情况。因此,在对数据库中的数据进行备份的时候,需要对数据的完整性进行验证,以确保数据的安全性。
为了对数据的完整性进行验证,目前采用的方法主要有:
1、比较数据库大小:对数据库记录的数据数量进行比较,或者对数据文件的大小进行比较。
2、对每条数据库记录计算校验码,并比较校验码是否一致。
上述方案中,通过在完成数据复制后分别将源存储设备和目的存储设备中的数据进行一致性验证,这种一致性比较方法需要先将数据分别读取出来,因此在海量数据处理的应用场景下,会存在数据传输开销大、校验延时大等问题,不适应于进行海量数据的处理。
校验码的计算可以很好的检查主、备数据库的记录是否一致,但目前市面上有很多数据校验算法对于数据表的先后,行列之间的顺序位置要求严格,即主、备数据行或者列在计算的时候位置不一致,就会出现校验值不一致的情况。因此,需要有一种更加简易的校验值生成算法,能够忽略数据表的先后顺序,数据行或者列的先后顺序,使校验值生成方式更加灵活,并使数据校验相较之更加便利。
发明内容
本发明的目的在于提供一种可以不区分数据表行、列的顺序以及每张数据表的先后顺序,能够对数据表进行实时数据校验,数据传输快、出错率小的数据一致性校验方法。
为了解决上述技术问题本发明采用了如下技术方案,提供一种松散式数据一致性校验方法,包括如下步骤:数据接收方存储所接收的数据表并标记为未校验,所述数据表携带有时间信息;当接收到数据一致性校验时,提取数据接收方所存储的数据表,依据数据表内数据采用预设的校验值生成方法生成校验值I;依据上一步骤的数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;数据生成方获取校验值I,检验所述校验值I、校验值II是否一致,若一致则标记数据接收方的所述数据表为已校验,若不一致,则判定该时间信息的数据表传输错误。
还包括:数据生成方获取数据表传输错误信息,发起更新功能,调用所述检验不一致的时间信息的数据表,。
所述预设的校验值生成算法包括:
S001:获取数据表内的数值Axy;S002:累加所述数值Axy获取校验值N1;S003:取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;S004:取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。
其中,所述数据接收方实时接收数据生成方发送的数据。
本发明还公开一种松散式数据一致性校验装置,包括:数据接收方存储单元,存储所接收的数据表并标记为未校验,所述数据表标记有时间信息;第一校验控制单元,当接收到数据一致性校验时,提取数据接收方所存储的数据表,依据数据表内数据采用预设的校验值生成方法生成校验值I;第二校验控制单元,依据第一校验控制单元的数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;数据生成方校验单元,获取校验值I,检验所述校验值I、验值II是否一致,若一致则将数据接收方的所述数据表标记为已校验,若不一致,则判定该时间信息的数据表传输错误。
还包括数据生成方更新单元,获取数据表传输错误信息,发起更新功能,调用所述检验不一致的时间信息的数据表。
其中,所述第一校验控制单元、第二校验控制单元均包括数值获取子单元、校验值N1获取子单元、校验值N2获取子单元、校验值N3获取子单元、校验值N4获取子单元:数值获取子单元获取数据表内的数值Axy;校验值N1获取子单元累加所述数值Axy获取校验值N1;校验值N2获取子单元,取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;校验值N3获取子单元,取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;校验值N4获取子单元,取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。
其中,所述数据生成方与数据接收方之间数据表实时传输。
本发明还公开一种松散式数据一致性校验***,包括以上所述的松散式数据一致性校验装置。
本发明的有益效果是:
一、该方法能够适用于远程的、异构数据库数据同步后数据正确性的校验,如高速公路各级***数据库相关数据表同步对比,各种缓存数据库同步一致性校验、平台数据同步一致性校验等,其应用范围广泛。
二、该方法能够实时的对指定的数据表进行数据校验,实时、可靠、方便。
三、采用上述方法进行数据一致性校验能够不区分行跟列的先后顺序、每张数据表的先后顺序进行实时校验,并且在校验的过程中能够同时校验数据表内数据的准确性,提高数据传输的准确性,防止数据丢包。
附图说明
图1所示为本发明的松散式数据校验方法的数据表A的示意图;
图2所示为本发明的松散式数据校验方法的数据表B的示意图;
图3所示为本发明的松散式数据校验方法的流程图;
图4所示为本发明的松散式数据校验装置的示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
参阅图3,本发明公开了一种松散式数据一致性校验方法,包括如下步骤:
S100:数据接收方接收数据生成方发送的数据表;
S200:数据接收方存储所接收的数据表并标记为未校验,所述数据表标记有时间信息;所述的数据接收方可以为高速公路的各级***数据库相关的端点等,接收方接收数据表后可采用存储设备、存储阵列、云存储、存储软件等存储方式进行数据表存储。在存储数据表时,为该数据表或者数据表内的数据增加一特殊的字段来标记该数据表为未校验,该特殊的字段可以采用字母、数值、特殊符号等,其中数据表内的数据可以为数值型、字母型、字符型等,在计算机内,将不同类型的数据二进制转换形成计算机可识读的数值从而方便后续执行校验。所述数据表内的数据与未校验标记二者之间可以设置分割符以此区分数据表内的数据以及标志。数据表所包含的时间信息可以为时间段,如携带有标记:第一时间段、第二时间段……第N时间段等;时间信息可以为***自带的时间信息,如可以仅为数据发送时的起始时间或终止时间;时间信息还可以为简单的时间标记如采用字母序号标记、数值序号比较等,以此区分数据表传输的先后顺序。
S300:由内部或外部控制单元发起数据一致性校验信息,数据一致性校验的发起可由数据生成方或数据接收方来发起,或者可通过外部终端、设备、***、云端服务器等通过有线或者无线方式发送指令执行该过程。同时可通过指示信息提示用户此时正在进行数据一致性校验,指示信息可采用指示音或者指示灯等来指示。数据一致性校验可针对某一特定时间段的数据表进行校验,即可针对全部数据表进行校验也可针对部分数据表进行校验,不同的数据一致性校验命令将会针对不同的数据表进行数据校验。
S400:数据接收方接收到数据一致性校验信息时,依据数据一致性校验信息提取所存储的数据表,依据数据表内的数据采用预设的校验值生成方法生成校验值I;
在上述步骤中,发起的数据一致性校验可仅针对部分数据表进行校验,因此根据时间信息提取数据接收方所存储的数据表,如提取从某一时间开始传输的数据表、某一时间之前的数据表或者第几张数据表、或者某一张数据表内的某几行数据等。所述校验值I可为校验值组,如采用N个校验值组成的校验值组。本发明的一实施方式中,采用4个校验值,所述预设的校验值生成方法优选的可采用如下方式:
S001:获取数据表内的数值Axy;数据接收方所接收的数据表内的数据可为数值型、字符型、字母型等,计算机***都是采用二进制编码存放数据,如果校验的数据是字符型、字母符号等,则先获取二进制编码,再转换为10进制的数值,进而获取数据表内数据的数值;若所述数据表内的数据为数值型,则可直接获取数据表内数据的数值Axy。
S002:累加所述数值Axy获取校验值N1;参见附图1、2,图1中数据表的数值为A11,A12,A13,A21,A22,A23,则将每一数值A12,A13,A21,A22,A23累加,获取校验值N1,以此类推不再赘述。针对多张数据表也同样采用该方法获取校验值N1。
S003:取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;详细的,参见附图1、2,图1中数据表的数值为A11,A12,A13,A21,A22,A23,若A11=0,A12,A13,A21,A22,A23≠0,则取剩余的每一数值A12,A13,A21,A22,A23的J次方后的正值并将上述结果累加获取校验值N2;若A11,A12,A13,A22,A23≠0,A21=0,则将几个非零的数值取J次方后的正值,并将上述结果累加获取校验值N2。以此类推不再赘述。优选的,所述J的取值可以为J=2j或1/2j,j≠0,将所述的数据去偶数次方或者开偶数的根之后获取校验值。
S004:取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;具体的,计算所述数值的每一行数值之和Px(x=1,2,3,4……),若Px≠0,则取Px的K次方后累加各值,获取校验值N3;如图1中的数据表,其每一行数值之和P1=A11+A12+A13,P2=A21+A22+A23,P3=A31+A32+A33若P1、P2、P3≠0,则分别取P1、P2、P3的K次方后累加各值,若P1=0,P2、P3≠0,则分别取P2、P3的K次方后累加各值,获取校验值N3。若P1、P2、P3=0,则取行校验值N3=0。优选的,K的取值为K=2k+1或1/(2k+1),k≠0,将数据表内每行的数值取奇数次方或者开奇数次方根之后获取校验值。
S005:取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。计算所述数值的每一列数值之和Qy(y=1,2,3,4……),若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。如图1中的数据表,其每一列数值之和Q1=A11+A21+A31,Q2=A21+A22+A32,Q3=A13+A23+A33+,若Q1、Q2、Q3≠0,则分别取Q1、Q2、Q3的L次方后累加各值,若Q1=0,Q2、Q3≠0,则分别取Q2、Q3的L次方后累加各值,获取校验值N3。若Q1、Q2、Q3=0,则取校验值N4=0。优选的,L=2l+1或1/(2l+1),l≠0。
如上,以下将详细说明数据表校验值的获取方式:
方式一、N1通过累加数据表的所有数值;计算所述数值的每一数值的绝对值的2j次方,并累加取2j次方后的数值,获取校验值N2;计算所述数值的各行数值之和的(2k+1)次方,并累加取(2k+1)次方后的各值获取校验值N3;计算所述数值的各列数值之和的(2l+1)次方,并累加取(2l+1)次方后的各值获取校验值N4。
方式二、N1为累加数据表的所有数值;
计算所述数值的每一数值Axy的绝对值,当Axy≠0时,取Axy的1/2j次方后取正值(即开2j次方后的正数根),累加开次方后的各值,获取校验值N2;参见图1,若A11=0,其余数值为非0的数值,则不对A11取1/2j次方的计算,并将数据表内其余的数值进行相应的开根、取正数根计算,经过上述计算后的各值累加即为校验值N2。
计算所述数值的每一行数值之和Px(x=1,2,3,4……),若Px≠0,则取Px=1/(2k+1),(k≠0)次方后累加各值,获取校验值N3。在该过程中取Px=1/(2k+1)即代表将Px开(2k+1)次方,若Px=0,则不对其进行开方运算。Px开方后的各值累加后即得N3。
计算所述数值的每一列数值之和Qy(y=1,2,3,4……),若Qy≠0,则取Qy=1/(2l+1),(1≠0)次方后累加各值,获取校验值N4。在该过程中取Qy=1/(2l+1)即代表将Qy开方,若Qy=0,则不对其进行开方运算。Qy开方后的各值累加后即得N4。
方式三:N1通过累加数据表的所有数值;
计算所述数值的每一数值Axy的绝对值,当Axy≠0时,取Axy的1/2j次方后累加各值,获取校验值N2;参见图1,若A11=0,其余数值为非0的数值,则不对A11取1/2j次方的计算,并将数据表内其余的数值取1/2j次方后累加各值,各个值的累加值即为校验值N2。
计算所述数值的各行数值之和的(2k+1)次方,并累加取(2k+1)次方后的各值获取校验值N3;
计算所述数值的每一列数值之和Qy(y=1,2,3,4……),若Qy≠0,则取Qy=1/(2l+1),(1≠0)次方后累加各值,获取校验值N4。在该过程中取Qy=1/(2l+1)即代表将Qy开方,若Qy=0,则不对其进行开方运算。Qy开方后的各值累加后即得N4。
方式一、二、三仅为举例说明本发明中N1、N2、N3、N4的取值方式,所述N1、N2、N3、N4取值方式可依实际情况进行排列组合。
在具体实施方式中,所述数据表的张数依实际情况的需要,可随意选择,所述N值大于0。如可选择半张数据表,一张数据表或者任意多张数据表。
以下针对两张数据表生成数据校验值的实施方式给予说明:
参见图1,图中所示表A为3行,3列;参见图2,图中所示表B为2行,2列;获取图1、2所示两个数据表内的数据,假设这两张数据表内的数据均为数值类型的,则直接获取数据表内的数值,并进行获取校验值的相关过程。在实际情况中,所述数据表内的数据可为数值型、字符型、字母型等,计算机***都是采用二进制编码存放数据,如果校验的数据是字符型、字母符号等,则先获取二进制编码,再转换为10进制的数值,获取数据表内数据的数值;若所述数据表内的数据为数值型,则可直接获取数据表内数据的数值。为了计算这2张数据表的校验值,本实施方式中,可取J=1/2,K=1/3,L=1/3。J、K、L取其他数值同样不影响本发明的实现。
为了获取校验值N1,累加两张数据表内的数值,即:
N1=A11+A12+A13+A21+A22+A23+A31+A32+A33+B11+B12+B21+B22;
为了获取校验值N2,计算所述数值的每一数值的绝对值的开2次方取正数根(即取1/2次方),并累加开次方后的数值,即:
N2=POWER(ABS(A11),1/2)+POWER(ABS(A12),1/2)+POWER(ABS(A13),1/2)+POWER(ABS(A21),1/2)+POWER(ABS(A22),1/2)+POWER(ABS(A23),/2)+POWER(ABS(A31),1/2)+POWER(ABS(A32),1/2)+POWER(ABS(A33),1/2)+POWER(ABS(B11),1/2)+POWER(ABS(B12),1/2)+POWER(ABS(B22),1/2)+POWER(ABS(B23),1/2);
为了获取校验值N3,计算所述数值的各行数值之和的开3次方,并累加,即:N3=POWER(A11+A12+A13,1/3)+POWER(A21+A22+A23,1/3)+POWER(A31+A32+A33,1/3)+POWER(B11+B12,1/3)+POWER(B21+B22,1/3);
为了获取校验值N4,计算所述数值的各列数值之和的开3次方,并累加取1/3次方后的数值,即:
N4=POWER(A11+A21+A31,1/3)+POWER(A12+A22+A32,1/3)+POWER(A13+A23+A33,1/3)+POWER(B11+B21,1/3)+POWER(B12+B22,1/3);
为了从所述校验值中准确判断出所备份、传输的数据是否存在被篡改或信息丢失的情况,将所述校验值的有效位数保留多位,倘若数据表内的数据存在微小的变化,即可通过校验值判别出,在某些实施方式中,所述校验值N1的有效位数为小数点后M1位;所述校验值N2的有效位数为小数点后M2位;所述校验值N3的有效位数为小数点后M3位;所述校验值N4的有效位数为小数点后M4位。其中,有效位数M1、M2、M3、M4的值可相同或者不同,具体的依据实际应用的需要选取M1、M2、M3、M4值的大小。针对上述实施方式中两个数据表的情况,取M1、M2、M3、M4为9。
如上所述的校验值获取方法,本实施方式中,不管针对多少张数据表均获取4个校验值,且校验值依据数据表内的数据生成,进行数据校验的时候只需根据校验即可断定数据在传输的过程中是否有发生漏传、错传、数据包丢失等。
S500:数据接收方将上述数据表的时间信息发送至数据生成方;
S600:依据所述时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;所述数据生成方依据所述的时间信息提取相应的数据表,并与步骤S400采用相同的校验值生成方法生成校验值II。步骤S600中依据所述的校验值生成方法生成的校验值为N1’,N2’,N3’,N4’。
S700:数据接收方发送校验值I至数据生成方,该过程可与步骤S500中时间信息的发送同步后者异步进行。
S800:数据生成方获取校验值I,检验所述校验值I、校验值II是否一致,若一致则标记数据接收方的所述数据表为已校验,若不一致,则判定该时间信息的数据表传输错误。将校验值I、校验值II进行一一比对验证数据是否一致,若一致则将数据接收方相应数据表标记为已校验,该标记可通过去除未校验标记执行,通过该方法能够节省存储空间,且操作简单。所述已校验标记还可以采用其他预定的特殊字符来标记起到区分数据表的错误。将判断为一致性的数据表进行标记之后能够防止进行数据重复操作,减少***冗余,提高数据验证的效率。其次,传统方式中,一般将数据表以及校验值由数据生成方制成后同时传送至数据接收方,由数据接收方计算校验值后进行验证,该方式容易导致校验值丢失、校验值与相应的数据表不对应、必须区分数据表的先后顺序、数据行数据列的先后顺序进行数据表的校验,操作繁杂工作量大,本实施方式仅将校验值I传回数据生成方,由数据生成方生成的校验值II与校验值I进行比对,可随时、随机、随意的进行数据一致性校验,不用区分数据行、数据列、数据表的先后顺序,不用区分数据传输的时间,可将一个业务模块的一份数据作为数据校验计算的最小单位,大大减少数据库同步过程中数据的传输。
所述松散式数据一致性校验方法还包括S900:数据生成方获取数据表传输错误信息,发起更新功能,调用数据表验证为不一致的时间信息的数据表。通过该方式,能够实时更新传输出错的信息,从而提高信息的准确度。将检验为不一致的数据表进行更新后同样进行如上所述的数据表一致性校验过程,以此确保所传输的数据的一致性。
在一优选的实施方式中,其区别于上述实施方式在于所述数据接收方实时接收数据生成方发送的数据。将数据生成方发送的数据实时的传输给数据接收方,数据接收方依据所接收的指令发起数据一致性校验,该方式能够提高数据传输、校验的效率。
参阅图4,本发明还公开一种松散式数据一致性校验装置,该装置包括数据生成方以及数据接收方,所述数据生成方可设置第二数据收发单元,数据接收方可设置第一数据收发单元,第一数据收发单元、第二数据收发单元之间进行数据表等的传输,二者之间数据的传输可采用有线方式传输、无线方式传输,有线的传输方式可以采用已知的有线通信的任意组合提供,包括但不限于以太网、USB、RS/232以及RS/485。无线方式传输可以采用以下通信方式的任意一种组合,包括但不限于:IEEE802.11/802.15/802.16通信协议中的至少一个、HSPA/GSM/GPRS/EDGE通信协议中的至少一个协议、TDMA协议、UMTS协议、LTE协议和/或CDMA/1xEV-D0通信协议族中的至少一个协议。所述第一数据收发单元、第二数据收发单元可使用集成模块、专用接口、专用电路等实现,其可集成于数据生成方或数据接收方的内部也可采用独立的模块/单元,如所述的第一数据收发单元可与数据接收方存储单元集成,即采用内置数据传输功能的存储模块。同样的第二数据收发单元也可采用相同的结构设置于数据生成方内,在此不再赘述。
所述松散式数据一致性校验装置所述的数据生成方以及数据收发方包括:
数据接收方存储单元,存储所接收的数据表并标记为未校验,所述数据表携带时间信息。该数据接收方存储单元可采用内置的存储单元、存储阵列等或者外置的存储设备、云存储等方式,如利用电能方式存储信息的设备:各式存储器(RAM、ROM等),利用磁能方式存储信息的设备:磁带、磁芯存储器、磁泡存储器、U盘等,利用光学方式存储信息的设备:CD或DVD,利用磁光方式存储信息的设备如:磁光盘,专用的存储***:用于数据备份或容灾的专用信息***,利用高速网络进行大数据量的存储信息设备。如上所述,所述的存储单元可内置数据有线或无线传输的接口、模块、阵列等,从而使得数据接收方与数据生成方之间能够进行数据传输。
第一校验控制单元,当数据接收方的第一校验单元接收到数据一致性校验信息时,依据数据一致性校验信息提取数据接收方存储单元所存储的相应的数据表,依据数据表内的数据采用预设的校验值生成方法生成校验值I;第一校验控制单元提取数据表内的数据采用预设的校验值生成方法生成校验值I,所生成的校验值I可与数据表存储于相同的存储区域或者不同的存储区域。所接收到的数据一致性校验信息可通过数据接收方、数据生成方内部集成的单元/模块发出,也可通过有线或无线方式接收外部控制***/装置/设备发起数据一致性校验。如数据一致性校验信息可直接由第一校验控制单元发出,第一校验控制单元所发起的数据一致性校验信息可仅针对某一特殊部分的数据表进行一致性校验,因此校验值生成的过程中依据该数据一致性校验信息的指示来执行。在发起数据一致性校验的同时,可通过指示模块提示当前正在进行数据校验,该指示模块可采用指示音、指示灯等,指示灯可以采用不同颜色、不同形状或不同明暗度的光信号,是任意能提示用户的信息,在采用指示灯的时候可采用的光载体包括LED、激光二极管、小灯泡等等,甚至还可增加使光形成一定形状的结构件,如透镜等,以使提示光更加集中易于辨别,可以使用不同颜色的光信息、不同形状的光信息、不同亮暗程度的光信息,光的颜色还可以采用七色光或者七色光的组合,可选用不同颜色或使用同一颜色变化其明暗度作为提示。
第二校验控制单元,依据第一校验控制单元的数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;第二校验控制单元与第一校验控制单元采用相同的校验值生成方法,依据时间信息提取同样的数据表生成校验值II。校验值I、校验值II的生成不受数据行、数据列以及数据表的先后顺序影响,且根据二者的值可以检测数据表内数据的变化、丢失等,能够监控数据传输的准确性。
数据生成方校验单元,获取校验值I,检验校验值I、验值II是否一致,若一致则将数据接收方的所述数据表标记为已校验,若不一致,则标记该时间信息的数据表传输错误。
上述实施方式中,校验值I、校验值II可为校验值组,可依据实际使用的需求生成N(N≥1)个校验值。该实施方式中,通过数据生成方校验单元进行校验,数据接收方仅需将校验值I传回至数据生成方,该过程不要求校验值I与其相应的数据表一一对应,校验值I传输过程中的先后秩序不影响校验值I的使用,因此其随机性比较强,可操作性好,能够大大的较小***冗余,提高工作效率。
如上所述的实施方式中,所述的松散式数据一致性校验装置还包括数据生成方更新单元,其根据数据表传输错误信息,发起更新功能,调用所述时间信息的数据表。数据生成方一侧依据校验的结果直接发起数据更新,区别于传统的数据一致性校验设备通过数据接收方请求后再进行数据更新,由数据接收方发起的更新请求同样可能引起请求信息对包等,因此可操作性、可靠性低。相比较而言本实施方式通过数据生成方发起数据更新,其可靠性能好,效率高,程序节约。更新后的数据表同样采用如上所述的松散式数据一致性校验方法进行数据一致性校验,保证了数据表传输的准确、可靠。
优选的,校验值的生成可采取如下的方式,第一校验控制单元、第二校验控制单元均包括数值获取子单元、校验值N1获取子单元、校验值N2获取子单元、校验值N3获取子单元、校验值N4获取子单元:数值获取子单元获取数据表内的数值Axy;校验值N1获取子单元累加所述数值Axy获取校验值N1;校验值N2获取子单元,取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;校验值N3获取子单元,取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;校验值N4获取子单元,取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。
为了保证数据能够实时更新,满足实时应用的需求,所述数据生成方与数据接收方之间数据表实时传输。
本发明还公开一种松散式数据一致性校验***,包括以上所述的松散式数据一致性校验装置。该松散式数据一致性校验***可为高速公路各级***。
本发明的松散式数据一致性校验方法、装置及***能够适用于远程的、异构数据库数据同步后数据正确性的校验,如高速公路各级***数据库相关数据表同步对比,各种缓存数据库同步一致性校验、平台数据同步一致性校验等,其应用范围广泛;能够实时的对指定的数据表进行数据校验,实时、可靠、方便;能够不区分行跟列的先后顺序、每张数据表的先后顺序进行实时校验,并且在校验的过程中能够同时校验数据表内数据的准确性,提高数据传输的准确性,防止数据丢包。
上所述仅为本发明松散式数据一致性校验方法的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种松散式数据一致性校验方法,其特征在于包括如下步骤:
数据接收方存储所接收的数据表并标记为未校验,所述数据表携带有时间信息;
数据接收方接收数据一致性校验信息,依据数据一致性校验信息提取所存储的数据表,将所述数据表内数据采用预设的校验值生成方法生成校验值I;
依据上一步骤数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;
数据生成方获取校验值I,检验所述校验值I、校验值II是否一致,若一致则标记数据接收方的所述数据表为已校验,若不一致,则判定该时间信息所对应数据表传输错误。
2.根据权利要求1所述的松散式数据一致性校验方法,其特征在于:还包括数据生成方获取数据表传输错误信息,发起更新功能,调用所述检验不一致的时间信息的数据表。
3.根据权利要求2所述的松散式数据一致性校验方法,其特征在于:
所述预设的校验值生成算法包括:
S001:获取数据表内的数值Axy;
S002:累加所述数值Axy获取校验值N1;取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;
S003:取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;
S004:取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。
4.根据权利要求3所示的松散式数据一致性校验方法,其特征在于:所述数据接收方实时接收数据生成方发送的数据。
5.一种松散式数据一致性校验装置,其特征在于包括:
数据接收方存储单元,存储所接收的数据表并标记为未校验,所述数据表携带有时间信息;
第一校验控制单元,当接收到数据一致性校验时,提取数据接收方所存储的数据表,依据数据表内数据采用预设的校验值生成方法生成校验值I;
第二校验控制单元,依据第一校验控制单元的数据表的时间信息从数据生成方提取相应数据表,并采用预设的校验值生成方法生成校验值II;
数据生成方校验单元,获取校验值I,检验所述校验值I、验值II是否一致,若一致则将数据接收方的所述数据表标记为已校验,若不一致,则标记该时间信息所对应的数据表传输错误。
6.根据权利要求5所述的松散式数据一致性校验装置,其特征在于:
还包括数据生成方更新单元,依据数据表传输错误信息,发起更新功能,调用所述检验不一致的时间信息的数据表。
7.根据权利要求6所述的松散式数据一致性校验装置,其特征在于:所述第一校验控制单元、第二校验控制单元均包括数值获取子单元、校验值N1获取子单元、校验值N2获取子单元、校验值N3获取子单元、校验值N4获取子单元:
数值获取子单元获取数据表内的数值Axy;
校验值N1获取子单元累加所述数值Axy获取校验值N1;
校验值N2获取子单元,取每一数值Axy的绝对值,若Axy≠0,则取Axy的J次方后的正值并累加,获取校验值N2;
校验值N3获取子单元,取数据表内每行数值之和Px,若Px≠0,则取px的K次方后累加各值,获取校验值N3;
校验值N4获取子单元,取数据表内每列数值之和Qy,若Qy≠0,则取Qy的L次方后累加各值,获取校验值N4。
8.根据权利要求7所述的松散式数据一致性校验装置,其特征在于:
所述数据生成方与数据接收方之间数据表实时传输。
9.一种松散式数据一致性校验***,其特征在于:包括5-8任意一项所述的松散式数据一致性校验装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254790.0A CN104809250B (zh) | 2015-05-19 | 2015-05-19 | 一种松散式数据一致性校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510254790.0A CN104809250B (zh) | 2015-05-19 | 2015-05-19 | 一种松散式数据一致性校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104809250A true CN104809250A (zh) | 2015-07-29 |
CN104809250B CN104809250B (zh) | 2018-08-03 |
Family
ID=53694072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510254790.0A Active CN104809250B (zh) | 2015-05-19 | 2015-05-19 | 一种松散式数据一致性校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104809250B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649333A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 字段顺序一致性检测方法和装置 |
CN108763291A (zh) * | 2018-04-16 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种数据管理方法、装置及电子设备 |
CN109064248A (zh) * | 2018-06-25 | 2018-12-21 | 北京辰森世纪科技股份有限公司 | 订单数据同步的校验方法、装置及设备 |
CN110621011A (zh) * | 2019-09-12 | 2019-12-27 | 北京方研矩行科技有限公司 | 一种基于蓝牙设备端的ota固件升级方法及*** |
CN110806948A (zh) * | 2019-10-31 | 2020-02-18 | 上海集成电路研发中心有限公司 | 一种数据校验方法及装置 |
CN114500507A (zh) * | 2022-01-25 | 2022-05-13 | 金蝶蝶金云计算有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354292A (zh) * | 2011-09-21 | 2012-02-15 | 国家计算机网络与信息安全管理中心 | 主、备数据库记录一致性校验方法及*** |
WO2014108083A1 (en) * | 2013-01-11 | 2014-07-17 | Tencent Technology (Shenzhen) Company Limited | Method and device for verifying consistency of data of master device and slave device |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及*** |
CN104008158A (zh) * | 2014-05-27 | 2014-08-27 | 青岛海信移动通信技术股份有限公司 | 数据校验方法、校验装置及移动终端 |
CN104504347A (zh) * | 2015-01-20 | 2015-04-08 | 网易宝有限公司 | 一种数据一致性匹配处理方法和设备 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
-
2015
- 2015-05-19 CN CN201510254790.0A patent/CN104809250B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102354292A (zh) * | 2011-09-21 | 2012-02-15 | 国家计算机网络与信息安全管理中心 | 主、备数据库记录一致性校验方法及*** |
WO2014108083A1 (en) * | 2013-01-11 | 2014-07-17 | Tencent Technology (Shenzhen) Company Limited | Method and device for verifying consistency of data of master device and slave device |
CN103957080A (zh) * | 2014-04-30 | 2014-07-30 | 浙江中控技术股份有限公司 | 一种数据完整性校验方法及*** |
CN104008158A (zh) * | 2014-05-27 | 2014-08-27 | 青岛海信移动通信技术股份有限公司 | 数据校验方法、校验装置及移动终端 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
CN104504347A (zh) * | 2015-01-20 | 2015-04-08 | 网易宝有限公司 | 一种数据一致性匹配处理方法和设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649333A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 字段顺序一致性检测方法和装置 |
CN106649333B (zh) * | 2015-10-29 | 2021-12-10 | 阿里巴巴集团控股有限公司 | 字段顺序一致性检测方法和装置 |
CN108763291A (zh) * | 2018-04-16 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种数据管理方法、装置及电子设备 |
CN108763291B (zh) * | 2018-04-16 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种数据管理方法、装置及电子设备 |
CN109064248A (zh) * | 2018-06-25 | 2018-12-21 | 北京辰森世纪科技股份有限公司 | 订单数据同步的校验方法、装置及设备 |
CN110621011A (zh) * | 2019-09-12 | 2019-12-27 | 北京方研矩行科技有限公司 | 一种基于蓝牙设备端的ota固件升级方法及*** |
CN110621011B (zh) * | 2019-09-12 | 2022-11-04 | 北京方研矩行科技有限公司 | 一种基于蓝牙设备端的ota固件升级方法及*** |
CN110806948A (zh) * | 2019-10-31 | 2020-02-18 | 上海集成电路研发中心有限公司 | 一种数据校验方法及装置 |
CN110806948B (zh) * | 2019-10-31 | 2024-02-02 | 上海集成电路研发中心有限公司 | 一种数据校验方法及装置 |
CN114500507A (zh) * | 2022-01-25 | 2022-05-13 | 金蝶蝶金云计算有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104809250B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104809250A (zh) | 一种松散式数据一致性校验方法 | |
CN109561106B (zh) | 一种船舶通信报文实时解析过滤方法 | |
CN103178998B (zh) | 一种测控数据传输方法和装置 | |
CN105091927A (zh) | 全液晶汽车仪表自动化测试平台 | |
CN103441861B (zh) | 一种数据记录生成方法及装置 | |
CN104537102B (zh) | 一种获取经纬度的正向地理编码服务方法及*** | |
CN101400043B (zh) | 移动通信***中前后台数据一致性比较的方法及*** | |
CN109656767A (zh) | 一种cpld状态信息的获取方法、***及相关组件 | |
CN109445837A (zh) | 一种应用程序的发布方法及设备 | |
CN103530211A (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN110868458B (zh) | 一种用于稳定控制***的通信方法及装置 | |
US8681812B2 (en) | Method and device for analyzing transaction propagation in a multiprotocol network of a system on chip | |
CN106802865B (zh) | 用于软件测试的应答模拟装置及方法 | |
CN104135476B (zh) | 一种通信协议转换方法、装置及*** | |
CN111935767B (zh) | 一种网络仿真*** | |
CN104780123A (zh) | 一种网络包收发处理装置及其设计方法 | |
CN103457957B (zh) | 一种具有自适应功能的网络渗透测试***及方法 | |
CN103812730A (zh) | 一种多小区ttcn协议一致性测试平台*** | |
CN105160124A (zh) | 光传送网开销仿真***及仿真方法 | |
CN205015660U (zh) | 一种舞台自适应匹配装置 | |
CN105704189B (zh) | 一种上下层链路之间的关联方法、装置和*** | |
CN105447251A (zh) | 一种基于事务类型激励的验证方法 | |
CN104378174A (zh) | 一种基于研磨机***的通信数据包校验方法 | |
CN106789296B (zh) | 一种站所终端遥信与线路开关信号配置的处理***及方法 | |
CN104753640A (zh) | 一种基于网络传输链路的适配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350000 No. 1 Rujiangxi Road, Mawei District, Fuzhou City, Fujian Province Patentee after: New Continent Digital Technology Co., Ltd. Address before: 350000 No. 1 Rujiangxi Road, Mawei District, Fuzhou City, Fujian Province Patentee before: Fujian Newland Computer Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |