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

数据的回溯方法、装置和非易失性计算机可读存储介质与流程

2021-10-24 08:55:00 来源:中国专利 TAG:回溯 计算机 数据 装置 可读


1.本公开涉及计算机技术领域,特别涉及一种数据的回溯方法、数据的回溯装置和非易失性计算机可读存储介质。


背景技术:

2.在数据平台的技术应用中,拉链表存储已经成为一种普遍使用的数据存储策略。
3.正常拉链表运行过程,是每天通过调度跑批,从数据源获取最新的数据状态。同时从拉链表中获取数据的上一个数据状态,进行比对。无变化的数据不做处理,有变化的数据在拉链表中进行结束日期更新,之后插入数据源中最新状态数据的操作。
4.在数据平台的迭代开发过程中,经常会有需要新增一张拉链表,然后需要回溯拉链历史的情况。
5.在相关技术中,针对上述数据回溯情况下,如果需要回溯历史拉链结果,需要通过按天跑批的方式进行历史追溯。


技术实现要素:

6.本公开的发明人发现上述相关技术中存在如下问题:追溯的时间范围有限,且需要多次重复计算,浪费了计算资源,从而导致数据处理效率低。
7.鉴于此,本公开提出了一种数据的回溯技术方案,能够避免重复计算和资源浪费,从而提高数据处理效率。
8.根据本公开的一些实施例,提供了一种数据的回溯方法,包括:从数据源获取各待回溯数据的时间信息和标识信息;根据时间信息,对同一个标识信息的待回溯数据进行排序;根据排序结果和标识信息,对各待回溯数据进行关联;根据关联结果,进行数据回溯。
9.在一些实施例中,根据关联结果,进行数据回溯包括:对于关联的两个待回溯数据,根据排序在前的待回溯数据的时间信息,确定排序在前的待回溯数据的开始时间;根据排序在后的待回溯数据的时间信息,确定排序在前的待回溯数据的结束时间;根据开始时间和结束时间进行数据回溯。
10.在一些实施例中,根据排序结果和标识信息,对各待回溯数据进行关联包括:对标识信息相同且排序结果相邻的待回溯数据进行关联。
11.在一些实施例中,从数据源获取各待回溯数据的时间信息和标识信息包括:从数据源的业务时间字段,获取各待回溯数据的业务开始时间作为时间信息。
12.在一些实施例中,根据时间信息,对同一个标识信息的待回溯数据进行排序包括:在临时数据表中记录同一个标识信息下待回溯数据的时间顺序序号,临时数据表中包含各待回溯数据的时间信息和作为标识信息的各待回溯数据的业务主键;根据排序结果和标识信息,对各待回溯数据进行关联包括:在临时数据表中,以标识信息相同且时间顺序序号相邻为关联条件,对各待回溯数据进行关联。
13.在一些实施例中,根据关联结果,进行数据回溯包括:将关联后的数据加载到目标
数据表中,进行数据回溯。
14.在一些实施例中,回溯方法还包括:根据目标数据表中的字段,对数据源中的数据进行处理,获取各待回溯数据。
15.根据本公开的另一些实施例,提供一种数据的回溯装置,包括:获取单元,用于从数据源获取各待回溯数据的时间信息和标识信息;排序单元,用于根据时间信息,对同一个标识信息的待回溯数据进行排序;关联单元,用于根据排序结果和标识信息,对各待回溯数据进行关联;回溯单元,用于根据关联结果,进行数据回溯。
16.在一些实施例中,回溯单元对于关联的两个待回溯数据,根据排序在前的待回溯数据的时间信息,确定排序在前的待回溯数据的开始时间,根据排序在后的待回溯数据的时间信息,确定排序在前的待回溯数据的结束时间,根据开始时间和结束时间进行数据回溯。
17.在一些实施例中,关联单元对标识信息相同且排序结果相邻的待回溯数据进行关联。
18.根据本公开的又一些实施例,提供一种数据的回溯装置,包括:存储器;和耦接至存储器的处理器,处理器被配置为基于存储在存储器装置中的指令,执行上述任一个实施例中的数据的回溯方法。
19.根据本公开的再一些实施例,提供一种非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的数据的回溯方法。
20.在上述实施例中,将同一标识下的数据进行时间排序和关联。这样,能够按照数据的标识一次性回溯全部历史数据,避免了任务的重复调度和资源的浪费,从而提高了数据的处理效率。
附图说明
21.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
22.参照附图,根据下面的详细描述,可以更加清楚地理解本公开:
23.图1示出本公开的数据的回溯方法的一些实施例的流程图;
24.图2示出图1中步骤140的一些实施例的流程图;
25.图3示出本公开的数据的回溯装置的一些实施例的框图;
26.图4示出本公开的数据的回溯装置的另一些实施例的框图;
27.图5示出本公开的数据的回溯装置的又一些实施例的框图。
具体实施方式
28.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
29.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
30.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开
及其应用或使用的任何限制。
31.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为授权说明书的一部分。
32.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
33.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
34.如前所述,在数据回溯的过程中,每回溯一天历史,就需要进行一次跑批。例如,通过调度任务传入的日期参数作为数据的开始日期,以下一条数据的开始日期作为上一条数据的结束日期。这种方式逻辑一次只能处理一个数据日期的数据。
35.但是,数据追溯往往要求追溯到当年年初或更早。这样,数据追溯任务可能要重复运行几百次,严重影响了追溯任务的效率,而且浪费了计算资源。
36.针对上述技术问题,本公开的技术方案能够做到一次性将全部历史数据按照拉链要求加载入库,避免了任务的重复调度和资源的浪费,也增强了任务的处理效率,优化了任务的处理效果。
37.例如,在进行历史数据追溯的时候,尽可能使用一次处理,将一个数据源中多个日期的数据进行拉链处理。
38.在一些实施例中,可以选用数据源中的业务日期作为数据日期;通过使用数据源表自关联和日期排序的方式,获取到每条数据的数据日期和下一条数据的数据日期作为本条数据拉链存储的开始日期和结束日期。从而,通过一次计算,追溯出整个拉链表的历史拉链数据。
39.例如,可以通过下面的实施例实现本公开的技术方案。
40.图1示出本公开的数据的回溯方法的一些实施例的流程图。
41.如图1所示,在步骤110中,从数据源获取各待回溯数据的时间信息和标识信息。
42.在一些实施例中,根据目标数据表中的字段,对数据源中的数据进行处理,获取各待回溯数据。
43.在一些实施例中,从数据源的业务时间字段,获取各待回溯数据的业务开始时间作为时间信息。
44.例如,按照从数据源中字段到目标数据表中字段的数据处理逻辑,对数据中的数据进行加工处理;使用数据源的业务日期字段,赋值给待回溯数据的开始日期字段;将结果集记录到临时表vt_new中。
45.在一些实施例中,数据处理逻辑可以是根据目标数据表中字段的设置和数据源中字段的设置,将数据源中的数据处理为目标数据表字段所需数据的处理逻辑。
46.例如,数据源的数据表中的字段包括开始时间、结束时间,目标数据表中的字段包括执行时长;数据处理逻辑为执行时长等于结束时间减去开始时间。
47.例如,数据源的数据表中性别字段的值为1代表男,2代表女;目标数据表中性别字段的值为m代表男,f代表女;数据处理逻辑为将1转换为m,将2转换为f。
48.在步骤120中,根据时间信息,对同一个标识信息的待回溯数据进行排序。
49.在一些实施例中,在临时数据表中记录同一个标识信息下待回溯数据的时间顺序
序号。临时数据表中包含各待回溯数据的时间信息和作为标识信息的各待回溯数据的业务主键。
50.例如,可以使用row_number()over(partition by id order start_dt)的方法,在临时数据表中记录每个id下的待回溯数据的时间顺序row_number,start_dt为待回溯数据的开始时间信息。即,在同一个id下,按照开始时间的顺序对待回溯数据进行排序。
51.在一些实施例中,id为待回溯数据的业务主键,每个id下的待回溯数据可以根据时间的变化二变化。例如,待回溯数据为账户余额信息,id即为作为业务主键的账户号;每一个id下不同时间的余额信息是不一样的;可以根据各余额信息对应时间信息,对每一个id下的余额信息进行排序,并记录时间顺序的序号作为row_number。
52.在步骤130中,根据排序结果和标识信息,对各待回溯数据进行关联。
53.在一些实施例中,在临时数据表中,以标识信息相同且时间顺序序号相邻为关联条件,对各待回溯数据进行关联。
54.在一些实施例中,可以使用vt_new进行自关联,关联条件为id相等且row_number=row_number 1。这样,可以通过关联的方式,直接获取到每条记录的业务日期和下一条数据的业务日期,分别作为记录的开始日期和结束日期。
55.在一些实施例中,对标识信息相同且排序结果相邻的待回溯数据进行关联。
56.在步骤140中,根据关联结果,进行数据回溯。例如,将关联后的数据加载到目标数据表中,进行数据回溯。
57.在一些实施例中,可以通过图2中的实施例实现步骤140。
58.图2示出图1中步骤140的一些实施例的流程图。
59.如图2所示,在步骤1410中,对于关联的两个待回溯数据,根据排序在前的待回溯数据的时间信息,确定排序在前的待回溯数据的开始时间。
60.在步骤1420中,根据排序在后的待回溯数据的时间信息,确定排序在前的待回溯数据的结束时间。
61.例如,待回溯数据的时间排序顺序是从较早时间向较晚时间排序;较早时间的待回溯数据的时间信息为该数据的开始时间,相邻且排在其后的待回溯数据为较晚时间的待回溯数据;较晚时间的待回溯数据的时间信息为较早时间的待回溯数据的结束时间。
62.例如,待回溯数据的时间排序顺序也可以是从较晚时间向较早时间排序。本领域的技术人员应该能够理解,可以按照与上述逻辑类似的方式确定开始时间和结束时间。
63.在步骤1430中,根据开始时间和结束时间进行数据回溯。例如,可以将关联后的数据加载(如利用insert into语句)到目标拉链表中,完成对拉链表历史数据的追溯处理。
64.在一些实施例中,可以针对拉链表的初次数据加载,进行历史回溯处理。
65.按照从数据源中字段到目标数据表中字段的数据处理逻辑,对数据中的数据进行加工处理;使用数据源的业务日期字段,赋值给待回溯数据的开始日期字段;将结果集记录到临时表vt_new中。
66.可以使用row_number()over(partition by id order start_dt)的方法,在临时数据表中记录每个id下的待回溯数据的时间顺序row_number,start_dt为待回溯数据的开始时间信息。即,在同一个id下,按照开始时间的顺序对待回溯数据进行排序。
67.可以使用vt_new进行自关联,关联条件为id相等且row_number=row_number 1。
这样,可以通过关联的方式,直接获取到每条记录的业务日期和下一条数据的业务日期,分别作为记录的开始日期和结束日期。
68.例如,可以将关联后的数据加载(如利用insert into语句)到目标拉链表中,完成对拉链表历史数据的追溯处理。
69.上述实施例中,通过业务数据中携带的日期字段作为标识信息,以sql语法中特有的关联和排序的方法来获取到每个数据的开始日期和结束日期。这样,使得在进行拉链表历史数据追溯的时候,可以一次性形成拉链结果,降低了数据追溯的时间成本和资源成本。
70.图3示出本公开的数据的回溯装置的一些实施例的框图。
71.如图3所示,数据的回溯装置3包括获取单元31、排序单元32、关联单元33和回溯单元34。
72.获取单元31从数据源获取各待回溯数据的时间信息和标识信息。
73.在一些实施例中,获取单元31从数据源的业务时间字段,获取各待回溯数据的业务开始时间作为时间信息。
74.在一些实施例中,获取单元31根据目标数据表中的字段,对数据源中的数据进行处理,获取各待回溯数据。
75.排序单元32根据时间信息,对同一个标识信息的待回溯数据进行排序。
76.关联单元33根据排序结果和标识信息,对各待回溯数据进行关联。
77.在一些实施例中,关联单元33对标识信息相同且排序结果相邻的待回溯数据进行关联。
78.在一些实施例中,排序单元32在临时数据表中记录同一个标识信息下待回溯数据的时间顺序序号,临时数据表中包含各待回溯数据的时间信息和作为标识信息的各待回溯数据的业务主键;关联单元33在临时数据表中,以标识信息相同且时间顺序序号相邻为关联条件,对各待回溯数据进行关联。
79.回溯单元34根据关联结果,进行数据回溯。
80.在一些实施例中,回溯单元34对于关联的两个待回溯数据,根据排序在前的待回溯数据的时间信息,确定排序在前的待回溯数据的开始时间,根据排序在后的待回溯数据的时间信息,确定排序在前的待回溯数据的结束时间,根据开始时间和结束时间进行数据回溯。
81.在一些实施例中,回溯单元34将关联后的数据加载到目标数据表中,进行数据回溯。
82.图4示出本公开的数据的回溯装置的另一些实施例的框图。
83.如图4所示,该实施例的数据的回溯装置4包括:存储器41以及耦接至该存储器41的处理器42,处理器42被配置为基于存储在存储器41中的指令,执行本公开中任意一个实施例中的数据的回溯方法。
84.其中,存储器41例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序boot loader、数据库以及其他程序等。
85.图5示出本公开的数据的回溯装置的又一些实施例的框图。
86.如图5所示,该实施例的数据的回溯装置5包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一个
实施例中的数据的回溯方法。
87.存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序boot loader以及其他程序等。
88.数据的回溯装置5还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530、540、550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏、麦克、音箱等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为sd卡、u盘等外置存储设备提供连接接口。
89.本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质包括但不限于磁盘存储器、cd

rom、光学存储器等上实施的计算机程序产品的形式。
90.至此,已经详细描述了根据本公开的数据的回溯方法、数据的回溯装置和非易失性计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
91.可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
92.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜