一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法以及数据核对系统与流程

2022-06-29 21:41:35 来源:中国专利 TAG:


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.图1是本说明书一个实施例提供的一种数据核对系统的系统结构示意图;
27.图2是本说明书一个实施例提供的一种数据处理方法的流程图;
28.图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
29.图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
30.图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
31.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
32.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
35.topic:对通信中的海量数据根据某种属性进行分片,可以是按项目相关、按终端相关或是随机划分等,由具体的应用场景决定。同一个分片内的对象具有相同的topic属性,不同分片即具有不同topic属性的对象间相互隔离,互不影响。
36.id:每条数据具有的唯一的标识符。
37.timestamp:根据各数据发生动作时(如生成对象,更新对象,删除对象等)的时间点对应生成的时间戳,随时间推进单调递增。
38.data:各数据储存的有效信息。
39.checksum:校验值,可以通过摘要算法从data计算得到。
40.摘要算法:把任意长度的输入进行揉和,而产生长度固定的伪随机输出的算法,比如crc(cyclic redundancycheck,循环冗余校验)、md(message-digestalgorithm5,消息摘要算法)等。
41.在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据核对系统,一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
42.随着网络规模的增大,存在很多需要进行数据同步或任务分发的项目场景,比如各类网络的服务器对服务器、服务器对客户端的通信。这些项目场景下可能包含海量的终端,同时各终端需要同步的数据内容不同,并且这些需要同步的数据随时处于快速变化中。当某个网络中出现因同步或其他错误而导致的数据不一致的情况时,若不及时处理,会导致整个网络的数据质量降低,缺乏可信可用的数据,以至于若这个网络中的某些实例反复地调用这些不一致的数据,会导致这些实例的性能受到严重影响。为了避免这些情况发生,我们需要对这些不一致的数据进行及时的检测和处理,并且这个检测和处理的过程,即数据核对的过程,应该尽可能少的占用网络和计算资源,确保在高吞吐量带来的海量数据下,对该过程的高频调用不会影响当前网络的正常通信。此外,虽然不同网络的稳定性各不相同,但绝大多数的数据在传输过程中都能保持一致,进而,需要周期性发起的核对的过程,
以实现数据一一进行核对确认。
43.此外,随着新的供应商和客户的增加,为了满足不断发展的技术进步的需求,数据格式的类型也在不断地变化。不同的数据格式在同一个网络内进行通信时,会使得网络内的数据复杂程度大大提升。如果对这些不同的数据格式,都采用不同的核对方法,那么核对过程将会变得十分的繁琐和复杂,占用大量的网络资源和计算资源,很大程度上影响供应商的服务质量和用户的服务体验。因此,如何从这些数据格式从找到共性的部分,并在共性部分的基础上构建一个通用的数据组织方式,借由这个数据组织方式,实现具有高通用性的数据核对方法,是亟需解决的问题。
44.综上所述,本说明书实施例提供一种数据处理方法,应用于快速变化的海量数据下,通过定义一种数据组织方式,在该组织方式下以总账和分账的形式对单向传输的两端数据进行一致性校对,并通过一系列的优化方法减小开销。本方案定义的数据组织方式能适配于当前传输网络中的绝大部分数据格式,在此基础上,本方案提出的核对方法可以部署于大部分单向传输场景下。相对于现有的方法,本方案具有更低的计算和存储开销,并具有很强的实时性和准确率。
45.参见图1,图1示出了本说明书一个实施例提供的一种数据核对系统的系统结构示意图。
46.需要说明的是,本说明书实施例提供的数据核对系统用于对不同端之间的数据核对,为了便于理解,本实施例中以数据同步和业务分发的应用场景中的服务器与终端之间核对数据为例,对数据核对过程进行详细说明,包括但并不限于服务器与服务器、服务器与终端之间的核对。
47.图1中包括数据核对系统100、数据核对平台102,至少一个目标终端104,其中,目标终端104可以为多个,本说明书实施例对目标终端的个数不作任何限定。
48.具体的,所述数据核对平台,被配置为响应于目标对象的初始核对数据的核对指令,基于所述核对指令确定所述目标对象的核对时间戳;所述数据核对平台,进一步被配置为基于所述核对时间戳从所述初始核对数据中确定所述目标对象的目标核对数据,并计算所述目标核对数据的第一校验值;所述目标终端,被配置为计算所述目标核对数据的第二校验值,并将所述第二校验值发送至所述数据核对平台,其中,所述第一校验值与第二校验值的计算方式相同;所述数据核对平台,进一步被配置为基于所述第一校验值以及第二校验值确定所述目标核对数据的核对结果。
49.实际应用中,数据核对平台102在a类型数据(topic)下满足预设核对周期时,就会触发数据核对系统100中的数据核对程序,在数据核对程序被触发后,数据核对平台102可以确定核对时间戳,并查找a类型数据在核对时间戳之前的所有历史数据对应的日志数据,并计算该日志数据对应的校验值;同时,数据核对平台102还可向各个目标终端104发送数据核对请求,各个目标终端104均可按照数据核对平台102的方式计算该核对时间戳之前所有历史数据的日志数据对应的校验值,目标终端104将计算后的校验值再返回至数据核对平台102;最后,数据核对平台102将自己计算的校验值与目标终端104计算的校验值进行比对,若两个校验值的比对结果一致,则数据核对平台102可确定a类型数据并未发生改变,两者之间的数据内容是同步的,若两个校验值的比对结果不一致,则数据核对平台102可确定a类型数据已经发生改变,两者之间的数据内容是不同步的,需要进行下一步细节核对程
序。
50.需要说明的是,进一步的细节核对可以采用通用的逐条比对方法,在此不做过多赘述。
51.本说明书实施例提供的数据处理方法,通过将海量数据进行分片,只核对一种类型下的数据,并计算该类型数据对应的日志数据的校验值,且比对服务器与终端计算出的校验值,就能确定该类数据在服务器与终端之间是否保持同步,以快速地完成数据核对的工作,同时,该过程并未考虑该类型数据的具体格式问题,不仅能够保持在各类型数据下的进行核对的通用性,还可大量地降低系统的计算资源和网络资源。
52.参见图2,图2示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
53.需要说明的是,本实施例提供的数据处理方法可应用于数据核对平台,该数据核对平台可以理解为负责数据同步或任务分发的服务器,服务器与服务器、服务器与终端之间的数据需要进行数据核对时,即可采用该实施例中提供的数据处理方法,在此仍以数据核对为例,对数据处理方法进一步进行说明。
54.步骤202:响应于目标对象的初始核对数据的核对指令,基于所述核对指令确定所述目标对象的核对时间戳。
55.其中,目标对象可以某种数据类型,该种数据类型可以是按相关项目、相关终端类型或者是随机划分的,是由具体的应用场景决定,以网络设备的配置设备分发场景下的数据为例,那么,目标对象可以为路由条目类、端口类等。
56.初始核对数据可以理解为某种数据类型的所有数据,包括历史数据和实时变更(写入、更新、删除)的数据,沿用上例,初始核对数据可以为路由条目类的所有路由项数据,包括路由项数据的名称、源地址、子网掩码等。
57.实际应用中,数据核对平台可基于设定的定时任务,在满足核对周期的情况下,触发针对目标对象的核对程序,数据核对平台可响应于核对程序发出的针对目标对象的初始核对数据的核对指令,即可基于该核对指令确定目标对象的核对时间戳,其中,核对时间戳可以理解为执行数据核对的时间戳,比如,定时任务在当天的6时1分触发核对程序,那么可确定核对时间戳为当天6时1分之前的时间点,若核对周期为十分钟的情况下,那么,核对时间戳则可为5时1分至6时零分之间的任意一个时间点;需要说明的是,本实施例中的核对周期可以为每小时、每十分钟、每一分钟等等,可根据具体的应用场景确定,在此不做具体限定。
58.此外,关于核对时间戳,本实施例还可获取当前时间的整数时间作为核对时间戳,为了确定当前执行的变更任务已经分发到所有的终端,则触发核对程序的时间相对于核对时间戳对应的时间会有所延迟;比如,定时任务在当天的6时1分触发,则可取6时零分对应的时间戳作为核对时间戳,其中,具体的延迟时间和时间取整方式由具体网络的下发速度、硬件质量、任务要求等条件决定,但对此不作任何限定。
59.需要说明的是,本实施例中是将目标对象对应的核对数据进行处理,该种处理方式在海量数据的场景下,将对象根据某些属性进行划分,以获得该属性下的分片数据;即同一个分片内的对象具有相同的topic属性,不同分片即具有不同topic属性的对象间相互隔离,互不影响。
60.步骤204:基于所述核对时间戳从所述初始核对数据中确定所述目标对象的目标核对数据,并计算所述目标核对数据的第一校验值。
61.其中,目标核对数据可以理解为在核对时间戳之前目标对象记录的所有数据,以初始核对数据可以为路由条目类的所有路由项数据、核对时间戳为当天的6时零分为例,其目标核对数据则为当天6时零分之前的所有路由条目类的路由项数据,也就是说,即时当前的路由条目类数据还在实时录入新的,也不会算为目标核对数据的部分。
62.实际应用中,数据核对平台基于确定好的核对时间戳(快照时间戳),从该目标对象的初始核对数据中确定目标核对数据,可以理解为数据核对平台获取核对时间戳之前的所有核对数据,沿用上例,在目标对象为路由条目类、核对时间戳为当天的6时零分的情况下,则数据核对平台确定的目标核对数据则为当天6时零分之前的所有在服务器记录过的路由条目类数据,包括时间、路由项、路由名称、源地址、子网掩码等等数据。进一步地,在数据核对平台确定好目标核对数据之后,即可计算该目标核对数据的第一校验值。
63.本说明书实施例提供的数据处理方法中计算目标核对数据的第一校验值,是通过目标核对数据的日志数据计算获得的,该种方式可以避免因确定核对数据的不同数据格式所带来的计算冗余,进而,也会减少计算资源的使用,提高数据核对效率;具体的,所述计算所述目标核对数据的第一校验值,包括:
64.从预设日志存储单元中获取所述目标核对数据的变更日志数据;
65.对所述变更日志数据进行合并处理,获得所述目标核对数据的目标日志数据;
66.基于所述目标日志数据计算目标核对数据的第一校验值。
67.实际应用中,数据核对平台可还从预设日志存储单元中获取到目标核对数据的变更日志数据,相应地,变更日志数据对照目标核对数据,也是在核对时间戳之前的日志数据;其中,变更日志数据可以理解为日志数据中的action字段,该字段有三个可选值,分别为create(创建)、update(更新)和delete(删除),对应数据生成对应对象,对象的信息更新,对象被删除三种情况;然后数据核对平台可对变更日志数据进行合并处理,该合并处理的目的是减少重复性的数据或者过期数据等,将合并后的变更日志数据作为目标核对数据的目标日志数据,进而,计算该目标日志数据的第一校验值,作为数据核对平台计算的目标核对数据的第一校验值。
68.本说明书实施例提供的数据处理方法,通过获取目标核对数据的变更日志数据,并对变更日志数据合并处理以计算第一校验值,不仅能够确定该目标对象内容的唯一值,还无需考虑目标核对数据的数据格式,能够快速地确定该目标核对数据的比较值。
69.进一步地,所述对所述变更日志数据进行合并处理,获得所述目标核对数据的目标日志数据,包括:
70.基于所述变更日志数据中的数据标识对所述变更日志数据进行排序处理,并对排序后的变更日志数据进行合并,获得所述目标核对数据的目标日志数据。
71.具体实施时,数据核对平台在获取到变更日志数据之后,可根据变更日志数据中的各条数据对应的数据标识(即id)的顺序重新进行排序,并对排序后的变更日志数据进行合并,以确定目标核对数据的目标日志数据;实际应用中,变更日志数据可记作logs,数据核对平台按照logs中的id顺序重新进行排序,并对排序后的logs进行合并处理,获得目标日志数据objects。
72.本说明书实施例提供的数据处理方法,通过对变更日志数据按照数据标识进行排序处理,便于后续可按照同一数据标识下的日志数据进行合并操作,以减少目标日志数据的数据条目,提高后续计算校验值的处理效率。
73.更进一步地,所述对排序后的变更日志数据进行合并,获得所述目标核对数据的目标日志数据,包括:
74.在排序后的变更日志数据中确定同一数据标识下具有删除操作的日志数据,并删除所述同一数据标识中具有删除操作的日志数据;
75.在排序后的变更日志数据中确定同一数据标识下具有更新操作的日志数据,并删除所述同一数据标识中除最后一次更新操作以外的所有日志数据;
76.将删除操作执行结束后剩余的变更日志数据,确定为所述目标核对数据的目标日志数据。
77.实际应用中,数据核对平台在对排序后的变更日志数据进行合并的过程中,考虑到服务器还可对同一类目下的数据进行删除、更新等操作,所以在该合并过程中,将删除掉已经过期的日志数据,其中,过期的日志数据包括在核对执行时间以前,服务器已经执行删除操作对应的日志数据、和非最新版本的添加或更新操作对应的日志数据;具体的,数据核对平台可在排序后的变更日志数据中确定同一数据标识下执行过删除操作的日志数据,比如在路由条目类数据中,某条“路由项r01”在核对执行时间以前已经被删除,不在当天核对的应用场景中,所以变更日志数据中“路由项r01”的数据具有删除操作的日志,那么,数据核对平台可将具有删除操作日志的数据标识进行删除;同样地,数据核对平台还可在排序后的变更日志数据中确定同一数据标识下执行过更新操作的日志数据,比如在“路由项r02”数据中,核对执行前已经执行过3次更新操作,则在所有更新操作对应的日志数据中,仅保存最后一次更新的日志数据,再可将历史更新的日志数据进行删除;最后,将上述所有删除操作执行结束后,剩余的变更日志数据,就作为目标核对数据的目标日志数据,即对排序后的变更日志数据的合并操作结束。
78.需要说明的是,对于logs的合并方式为,首先按照logs中的变更日志的id顺序重新进行排序,若同一个id的action出现过delete,则该id不参与合并,若同一个id的action中出现过update,则取最新版本即时间戳对应时间最晚的一条参与合并,各id至多参与一次logs的合并。
79.本说明书实施例提供的数据处理方法,通过对变更日志数据中具有删除操作和更新操作的日志进行合并处理,使得获取的目标日志数据具有简洁性,便于后续可快速高效地计算校验值,完成数据核对的过程。
80.数据核对平台在确定目标对象的目标日志数据之后,可直接基于目标日志数据计算校验值,无需考虑目标对象本身的数据格式等问题,能够快速地获取到针对日志数据对应的校验值;具体的,所述基于所述目标日志数据计算所述目标核对数据的第一校验值,包括:
81.在所述目标日志数据中计算每个数据标识对应的数据的初始校验值;
82.基于每个数据标识以及每个数据标识对应的数据的初始校验值,生成待处理文本;
83.计算所述待处理文本的备选校验值,将所述备选校验值作为所述目标核对数据的
第一校验值。
84.其中,初始校验值可以理解为在目标日志数据中,数据标识对应的数据计算的校验值;待处理文本可以理解为由数据标识与数据标识对应的初始校验值组成的文本文件;备选校验值可以理解为针对数据标识、数据标识对应的初始校验值组成的文本文件计算的校验值,即为第一校验值。
85.具体实施时,数据核对平台在计算第一校验值的过程中,是采用两次计算校验值的方式,第一次是基于每个数据标识对应的日志数据计算的初始校验值,第二次是基于数据标识和初始校验值组成的文本,计算的备选校验值,即将第二次计算的备选校验值作为目标核对数据的第一校验值。
86.实际应用中,对目标日志数据(objects)进行处理,对objects中的每条日志,按顺序取id和校验值,得到id “:” checksum “\n”的形式,并添加到一个文本文件中,这样就得到了一个id递增的简单文本,可将该文本记作待处理文本(snapshottext,快照文本),该待处理文本应用特定算法计算得到一个校验值,记作topicchecksum。
87.本说明书实施例提供的数据处理方法,数据核对平台通过计算目标日志数据中每个数据标识对应的日志数据的校验值,以生成一个具有数据标识和数据标识对应的日志数据的校验值,进而,再次计算校验值,即可从大量的分片数据中获得一个较为准确地唯一代表值,即校验值,便于后续基于生成的校验值快速地进行数据核对,以确定核对数据是否发生了异常改变等情况。
88.步骤206:接收目标终端发送的所述目标核对数据的第二校验值,其中,所述第一校验值与第二校验值的计算方式相同。
89.实际应用中,数据核对平台还可接收目标终端发送的针对目标核对数据的第二校验值,其中,该第二校验值是在目标终端上计算获得的,而目标终端计算第二校验值的方式与上述实施例中数据核对平台计算第一校验值的方式相同,终端上也可得到logs、objects、snapshottext、topicchecksum,具体的可参照上述实施例中的描述,在此则不作过多赘述。
90.需要说明的是,所述第一校验值与第二校验值通过摘要算法计算获得。为了使得两个校验值具有可比性,在计算校验值的方式上必须采用同一种计算标准,以同样的方式确定服务器和终端之间各个存储的目标对象的目标日志数据是否保持一致。
91.服务器上的数据分topic同步给关注该topic的终端,在默认正常情况下,某个终端会保存所有该终端关注的topic的数据对象,并实时接收该topic下面的所有数据变更。终端上需要实时保存数据对象的id、timestamp、data字段,并保存各数据对象的变更历史,类似于服务器上的变更日志,包含topic、id、timestamp、checksum、action等字段。其中checksum的生成方式保持与服务器端的生成方式相同,如同样利用接收到的数据经过摘要算法计算得到。
92.此外,所述接收目标终端发送的所述目标核对数据的第二校验值之前,还包括:
93.向目标终端发送针对目标核对数据的核对请求,其中,所述核对请求携带有所述目标对象的核对时间戳。
94.实际应用中,数据核对平台在接收目标终端发送的第二校验值之前,还需要向目标终端发送针对目标核对数据的核对请求,且该核对请求中可携带有目标对象、以及目标
对象的核对时间戳;需要说明的是,该核对请求可发送至各个与数据核对平台相关联的终端,同时,对于各个目标终端的数量不作任何限定,只要是数据核对系统想要核对的终端,数据核对平台均可发送针对目标核对数据的核对请求。
95.步骤208:基于所述第一校验值以及第二校验值确定所述目标核对数据的核对结果。
96.实际应用中,终端上将得到的目标对象的第二校验值返回至数据核对平台之后,数据核对平台可基于第一校验值与第二校验值确定目标核对数据的核对结果。
97.具体的,所述基于所述第一校验值以及第二校验值确定所述目标核对数据的核对结果,包括:
98.比对所述第一校验值与所述第二校验值,基于比对结果确定所述目标核对数据的核对结果。
99.实际应用中,数据核对平台可将第一校验值与第二校验值进行比对,通过确定的比对结果作为目标核对数据的核对结果。
100.需要说明的是,整个核对过程可以被看成分为总账和分账两部分,总账即所有分片下在各个终端上得到的校验码,分账即具体分片下具体终端的文本文件,根据网络中数据质量的不同,总账分账的结构能大大节省核对过程中所需要的计算和存储资源。
101.相应地,所述基于比对结果确定所述目标核对数据的核对结果,包括:
102.在确定所述比对结果一致的情况下,确定所述目标核对数据的核对程序结束;
103.在确定所述比对结果不一致的情况下,向所述目标终端发送细节核对请求,基于所述目标终端根据细节核对请求返回的细节核对结果,确定所述目标核对数据的核对结果。
104.实际应用中,数据核对平台在确定第一校验值与第二校验值之间的比对结果一致的情况下,整个核对流程结束,此时,表明数据核对平台与终端之间的数据是保持一致的;若确定第一校验值与第二校验值之间的比对结果不一致的情况下,则可触发进一步地细节核对流程,即可向比对结果不一致的目标终端发送细节核对请求,终端在接收到细节核对请求之后,将终端上的objects以列表的形式返回给服务器,与该服务器上该目标对象生成的objects按id顺序逐条对比各个id下的校验值,可能得到终端多对象、终端少对象、终端与数据核对平台不一致的结果,后续还可将这些结果反馈给报警系统或者是自动修复系统等,该核对流程结束;需要说明的是,后续的细节核对流程、报警系统或者是自动修复系统的处理过程,本说明书实施例中不作详尽的描述。
105.本说明书实施例提供的数据处理方法,通过第一校验值与第二校验值之间的比对结果确定数据核对系统中目标核对数据的数据核对结果,以实现在单向传输场景下,完成快速数据核对任务。
106.此外,在数据核对系统的整个数据核对过程中,数据核对平台还可将目标核对数据进行核对过程中所产生的中间数据进行删除操作;具体的,所述基于比对结果确定所述目标核对数据的核对结果之后,还包括:
107.删除所述目标核对数据的第一校验值、第二校验值、变更日志数据、目标日志数据、待处理文本。
108.实际应用中,在整个核对流程结束后,数据核对平台还可删除目标对象中目标核
对数据下的过期日志数据,以节约存储与计算资源,当一个id的action出现delete时,该条日志的时间戳对应时间以及之前的所有该id的日志均被认为是过期的,此处,过期日志数据的对象指在本地变更日志的数据变化情况中出现数据内容被删除,且具有相同唯一标识符的对象。另外,核对流程结束后,数据核对平台上的logs、objects、snapshottext、topicchecksum均会被删除。
109.需要说明的是,目标终端与数据核对平台一样,均可删除因计算第二校验值所产生的中间数据,比如logs、objects、snapshottext、topicchecksum等数据,同时,终端在合并logs时,对照本地的变更日志,需要删除不参与合并的日志条目,以节约存储和计算资源。
110.本说明书实施例提供的数据处理方法,每次核对结束后,数据核对平台和终端均可为核对保留多余的过程日志进行清理,以节省数据核对平台与终端之间的存储空间,提高数据的核对效率。
111.综上,在海量数据、海量终端、数据对象快速变化的场景下,针对单向分发特性的数据核对平台和终端之间,先对基于某些属性划分的分片数据,确定核对时间戳,以获取该核对时间戳之前的所有变更日志数据,包括增加、删除、更新,再计算变更日志数据的校验值,同样终端也执行相同的校验值的计算,他通过该校验值计算方法,仅需较低的计算和内存资源消耗,即可完成快速核对任务,还可适用于各类大型网络的服务器与服务器、服务器与终端之间;同时,该种数据核对方式可适用于大部分数据格式的数据,具有通用性。
112.基于此,本说明书实施例提供的数据处理方法,具有如下特点:第一,设计的数据组织方式,可以适配于绝大多数当前网络中传输的数据格式,使得该方法具有很强的通用性;第二,通过设计的总账分账结构,可以有针对性地对网络中有问题的数据进行排查,而无需在一致的数据上花费过多的计算和存储资源;第三,核对工作由发起端控制,每次核对结束后,为核对保留多余的过程日志可以进行清理,对发起端和终端的存储空间没有额外的要求;第四,将海量数据以一定规则进行分片,在分片的基础上进行核对,各分片之间相互独立,互不影响,大大降低核对过程中由于大量数据同时参与计算,导致算法复杂度指数上升的问题,并且能够降低系统的传输消耗;第五,该方法相对于其他方法,所需要的内存开销和导致的性能下降可以忽略不计,并且能保证数据核对过程的高准确率和高实时性。
113.下述结合附图3,以本说明书提供的数据处理方法在数据核对平台的应用为例,对所述数据处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
114.步骤302:数据核对平台根据topic对应的核对周期发起核对。
115.步骤304:数据核对平台确定核对时间戳,并将其与topic作为核对的输入下发到终端。
116.步骤306:数据核对平台计算第一校验值。
117.具体实施时,数据核对平台的第一校验值的计算方式可参考上述实施例中的摘要算法的计算方式,在此不做过多赘述。
118.步骤308:终端根据topic和核对时间戳计算第二校验值。
119.同样地,终端计算第二校验值的方式与上述第一校验值的计算方式相同。
120.步骤310:终端发送第二校验值至数据核对平台并比对。
121.步骤312:判断第一校验值与第二校验值是否一致,若是,则执行步骤318,若否,则执行步骤314。
122.步骤314:数据核对平台向终端发送细节核对请求。
123.步骤316:数据核对平台执行细节核对的后续处理。
124.步骤318:数据核对平台的核对流程结束。
125.本说明书实施例提供的数据处理方法,通过比对两个平台的校验值,以实现对两端数据一致性进行校对,可适配于当前传输网络中的绝大部分数据格式,具有更低的计算和存储开销,并具有很强的实时性和准确率。
126.与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图4示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图4所示,该装置应用于数据核对平台,包括:
127.时间戳确定模块402,被配置为响应于目标对象的初始核对数据的核对指令,基于所述核对指令确定所述目标对象的核对时间戳;
128.第一校验值计算模块404,被配置为基于所述核对时间戳从所述初始核对数据中确定所述目标对象的目标核对数据,并计算所述目标核对数据的第一校验值;
129.第二校验值计算模块406,被配置为接收目标终端发送的所述目标核对数据的第二校验值,其中,所述第一校验值与第二校验值的计算方式相同;
130.核对结果确定模块408,被配置为基于所述第一校验值以及第二校验值确定所述目标核对数据的核对结果。
131.可选地,所述第一校验值计算模块404,进一步被配置为:
132.从预设日志存储单元中获取所述目标核对数据的变更日志数据;
133.对所述变更日志数据进行合并处理,获得所述目标核对数据的目标日志数据;
134.基于所述目标日志数据计算目标核对数据的第一校验值。
135.可选地,所述第一校验值计算模块404,进一步被配置为:
136.基于所述变更日志数据中的数据标识对所述变更日志数据进行排序处理,并对排序后的变更日志数据进行合并,获得所述目标核对数据的目标日志数据。
137.可选地,所述第一校验值计算模块404,进一步被配置为:
138.在排序后的变更日志数据中确定同一数据标识下具有删除操作的日志数据,并删除所述同一数据标识中具有删除操作的日志数据;
139.在排序后的变更日志数据中确定同一数据标识下具有更新操作的日志数据,并删除所述同一数据标识中除最后一次更新操作以外的所有日志数据;
140.将删除操作执行结束后剩余的变更日志数据,确定为所述目标核对数据的目标日志数据。
141.可选地,所述第一校验值计算模块404,进一步被配置为:
142.在所述目标日志数据中计算每个数据标识对应的数据的初始校验值;
143.基于每个数据标识以及每个数据标识对应的数据的初始校验值,生成待处理文本;
144.计算所述待处理文本的备选校验值,将所述备选校验值作为所述目标核对数据的第一校验值。
145.可选地,所述装置,还包括:
146.请求发送模块,被配置为向目标终端发送针对目标核对数据的核对请求,其中,所述核对请求携带有所述目标对象的核对时间戳。
147.可选地,所述第一校验值与第二校验值通过摘要算法计算获得。
148.可选地,所述核对结果确定模块408,进一步被配置为:
149.比对所述第一校验值与所述第二校验值,基于比对结果确定所述目标核对数据的核对结果。
150.可选地,所述核对结果确定模块408,进一步被配置为:
151.在确定所述比对结果一致的情况下,确定所述目标核对数据的核对程序结束;
152.在确定所述比对结果不一致的情况下,向所述目标终端发送细节核对请求,基于所述目标终端根据细节核对请求返回的细节核对结果,确定所述目标核对数据的核对结果。
153.可选地,所述装置,还包括:
154.删除模块,被配置为删除所述目标核对数据的第一校验值、第二校验值、变更日志数据、目标日志数据、待处理文本。
155.本说明书实施例提供的数据处理装置,基于核对时间戳确定目标对象的目标核对数据,以实现对海量数据进行分片处理,能保证不影响在终端实时写入数据;同时,该数据核对平台通过计算目标核对数据的第一校验值,以及接收目标终端发送的第二校验值,并利用第一校验值和第二校验值进行比对,以确定数据核对平台中的目标核对数据与目标终端中的目标核对数据是否一致,以上通过校验值核对的过程无需考虑目标核对数据的数据格式,即可以理解为任何数据格式下的目标核对数据均可采用上述计算校验值进行核对的通用方式,实现高通用性的数据核对,不仅节省了大量的网络资源和计算资源,还能保证数据核对过程的高效率性和高实时性。
156.上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
157.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
158.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
159.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
160.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
161.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
162.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
163.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
164.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
165.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
166.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
167.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
168.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
169.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
170.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
171.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献