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

业务数据确定方法、装置、设备及存储介质与流程

2021-12-01 01:52:00 来源:中国专利 TAG:

1.本技术涉及数据处理领域,尤其涉及一种业务数据确定方法、装置、设备及存储介质。


背景技术:

2.随着信息技术的高速发展,计算机网络技术的广泛应用,越来越多的数据被沉淀、存储了下来。通常,这些海量且繁杂的数据往往是一个企业乃至行业最为宝贵的财富,因此,从不断加速产生的大量数据中攫取有价值的信息,发现和创造新的商业机会成为了各行各业领导者所追求的目标,然而,陈旧的历史数据与新的业务数据或者与当前业务需求之间往往存在一定的差异,如何将现有的数据抽取并加工成适应当前业务需求的数据,是分析历史数据的重要前提。
3.目前,从数据源获取数据的手段为:采用对应数据源提供的原生的处理方法或函数对数据进行加工处理。然而,在面对数据源为多个的情况时,由于不同的数据源面对同种加工处理的需求,所需要采用的方法或函数基本不相同,导致加工处理多个数据源的数据时的成本极大。


技术实现要素:

4.本技术的主要目的在于提供一种业务数据确定方法、装置、设备及存储介质,旨在解决现有的如何降低加工处理多个数据源的数据时的成本的技术问题。
5.为实现上述目的,本技术提供一种业务数据确定方法,所述业务数据确定方法包括步骤:获取目标业务数据对应的数据类型和数据加工方式;基于所述数据类型和所述数据加工方式,生成spark sql表达式;基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。
6.可选地,所述基于所述数据类型和所述数据加工方式,生成spark sql表达式,包括:基于所述数据类型和所述数据加工方式,生成数据列加工表达式;基于所述数据列加工表达式,生成spark sql表达式。
7.可选地,所述基于所述数据列加工表达式,生成spark sql表达式,包括:获取所述原始业务数据的数据结构信息;基于所述数据加工方式,更新所述数据结构信息,得到更新后数据结构信息;基于所述更新后数据结构信息和所述数据列加工表达式,生成spark sql表达式。
8.可选地,所述基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据之前,包括:获取数据连接信息;基于所述数据连接信息,连接多个数据源,并基于预设查找方式从所述多个数据
源中确定多个目标数据块;从所述多个目标数据块中抽取原始业务数据。
9.可选地,所述获取数据连接信息,包括:接收配置指令,并基于所述配置指令,生成数据连接信息;其中,所述配置指令是用户基于多个数据源的数据源类型给出的。
10.可选地,所述从所述多个目标数据块中抽取原始业务数据,包括:获取与所述多个目标数据块对应的关联字段;基于所述关联字段,建立与所述多个目标数据块之间的关联关系;基于所述关联关系,从所述多个目标数据块中抽取原始业务数据。
11.可选地,所述基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据,包括:获取多个数据源的原始业务数据对应的临时视图;基于所述spark sql表达式,从所述临时视图中确定目标业务数据。
12.此外,为实现上述目的,本技术还提供一种业务数据确定装置,所述业务数据确定装置包括:第一获取模块,用于获取目标业务数据对应的数据类型和数据加工方式;生成模块,用于基于所述数据类型和所述数据加工方式,生成spark sql表达式;第一确定模块,用于基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。
13.可选地,所述生成模块还用于:基于所述数据类型和所述数据加工方式,生成数据列加工表达式;基于所述数据列加工表达式,生成spark sql表达式。
14.可选地,所述生成模块还用于:获取所述原始业务数据的数据结构信息;基于所述数据加工方式,更新所述数据结构信息,得到更新后数据结构信息;基于所述更新后数据结构信息和所述数据列加工表达式,生成spark sql表达式。
15.可选地,所述业务数据确定装置还包括:第二获取模块,用于获取数据连接信息;连接模块,用于基于所述数据连接信息,连接多个数据源,并基于预设查找方式从所述多个数据源中确定多个目标数据块;抽取模块,用于从所述多个目标数据块中抽取原始业务数据。
16.可选地,所述第二获取模块还用于:接收配置指令,并基于所述配置指令,生成数据连接信息;其中,所述配置指令是用户基于多个数据源的数据源类型给出的。
17.可选地,所述抽取模块还用于:获取与所述多个目标数据块对应的关联字段;基于所述关联字段,建立与所述多个目标数据块之间的关联关系;基于所述关联关系,从所述多个目标数据块中抽取原始业务数据。
18.可选地,所述业务数据确定装置还包括:
第三获取模块,用于获取多个数据源的原始业务数据对应的临时视图;第二确定模块,用于基于所述spark sql表达式,从所述临时视图中确定目标业务数据。
19.此外,为实现上述目的,本技术还提供一种业务数据确定设备,所述业务数据确定设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的业务数据确定程序,所述业务数据确定程序被所述处理器执行时实现如上所述的业务数据确定方法的步骤。
20.此外,为实现上述目的,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有业务数据确定程序,所述业务数据确定程序被处理器执行时实现如上所述的业务数据确定方法的步骤。
21.与现有技术中,在面对数据源为多个的情况时,由于不同的数据源面对同种加工处理的需求,所需要采用的方法或函数基本不相同,导致加工处理多个数据源的数据时的成本极大相比,本技术通过获取目标业务数据对应的数据类型和数据加工方式;基于所述数据类型和所述数据加工方式,生成spark sql表达式;基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。本技术实现了通过spark sql表达式统一加工多个数据源的原始业务数据,而无需采用多个方法或函数来加工该原始业务数据,从而降低了加工处理多个数据源的数据时的成本。
附图说明
22.图1是本技术业务数据确定方法第一实施例的流程示意图;图2是本技术业务数据确定装置较佳实施例的功能模块示意图;图3是本技术实施例方案涉及的硬件运行环境的结构示意图。
23.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
24.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
25.本技术提供一种业务数据确定方法,参照图1,图1为本技术业务数据确定方法第一实施例的流程示意图。
26.本技术实施例提供了业务数据确定方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。业务数据确定方法可应用于服务器中。为了便于描述,以下省略执行主体描述业务数据确定方法的各个步骤。业务数据确定方法包括:步骤s10,获取目标业务数据对应的数据类型和数据加工方式。
27.在本实施例中,本技术基于spark sql技术实现,其中,spark sql是spark(一种通用的计算引擎)用来处理结构化数据的一个模块,它提供一个抽象的数据集dataframe,并且是作为分布式sql查询引擎的应用。
28.其中,目标业务数据由多个目标数据列组成,对于各目标数据列,其数据类型不同,例如mysql(一个完全托管的数据库服务)中的数据类型包括三种主要的类型:text(文本)类型、number(数字)类型和date/time(日期/时间)类型。
29.其中,数据加工方式包括删除元数据列、新建表达式、缺失值填充、拆分列、去空格、值映射、转换为日期列或转换为数字列等操作。其中,对于删除元数据列,加工后的数据将在原始业务数据的基础上不再有该元数据列;对于对一个或多个数据列新建表达式,加工后的数据将在原始业务数据的基础上新增一个数据列,该数据列的信息内容根据一个或多个数据列及表达式内容决定;对于对一个数据列进行缺失值填充,该数据列中值为null或空字符串的值被映射为其它指定的值;对于对一个数据列进行拆分列,该数据列的内容按照配置的规则拆分为多个数据列;对于对一个数据列进行值映射,该数据列中的指定的值被映射为其它指定的值;对于对一个数据列进行转换日期列,该数据列中的时间戳或者时间字符串被转换为日期类型的数据;对于对一个数据列进行转换为数字列,该数据列的布尔值或者数字字符串被转换为数值类型的数据。
30.具体地,获取目标业务数据对应的数据类型和数据加工方式,可以理解,数据加工方式通过用户需求确定,具体可以由用户来指定,例如在用户需求为删除数据列a和新建表达式b时,数据加工方式包括删除元数据列、新建表达式,从而通过该数据加工方式对数据进行数据加工,以满足用户需求。
31.步骤s20,基于所述数据类型和所述数据加工方式,生成spark sql表达式。
32.进一步地,基于所述数据类型和所述数据加工方式,生成spark sql表达式,包括:步骤a,基于所述数据类型和所述数据加工方式,生成数据列加工表达式。
33.在本实施例中,基于数据类型和数据加工方式,生成数据列加工表达式,其中,数据列加工表达式为可以作用于数据,以对该数据进行加工的表达式。
34.步骤b,基于所述数据列加工表达式,生成spark sql表达式。
35.进一步地,所述基于所述数据列加工表达式,生成spark sql表达式,包括:步骤b1,获取所述原始业务数据的数据结构信息;步骤b2,基于所述数据加工方式,更新所述数据结构信息,得到更新后数据结构信息;步骤b3,基于所述更新后数据结构信息和所述数据列加工表达式,生成spark sql表达式。
36.在本实施例中,基于数据列加工表达式,生成spark sql表达式。具体地,获取原始业务数据的数据结构信息;基于数据加工方式,更新数据结构信息得到更新后数据结构信息;基于更新后数据结构信息和数据列加工表达式,生成spark sql表达式。
37.其中,spark sql(spark sql在spark核心上带出一种名为schemardd的资料抽象化概念,提供结构化和半结构化资料相关的支持)表达式的生成需要已知数据列加工表达式和更新后数据结构信息,即需要目标业务数据的数据结构信息和加工原始业务数据从而得到目标业务数据对应的数据列加工表达式,spark sql表达式实现的是提供一种统一、快捷以及便于操作的数据加工的过程。
38.需要说明的是,数据加工方式不同,数据结构不同,例如数据加工方式为删除元数据列,则原有的数据结构被破坏,形成更新的数据结构,即得到更新后数据结构信息。
39.具体地,组成完整的spark sql表达式的过程为:在抽取原始业务数据时,确定该原始业务数据的数据结构信息,并在原始业务数据的某一数据列或多数据列中选择一种或多种数据加工方式,同时,结合该数据列的数据类型生成对应的数据列加工表达式,并更新
数据结构信息;最后,通过加工/处理后的数据列加工表达式及更新后数据结构信息,组成完整的spark sql表达式。
40.步骤s30,基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。
41.在本实施例中,基于spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。其中,数据源包括mysql、oracle(一款一体式云数据库解决方案)、derby(一个完全用java编写的数据库)、postgresql(开源的对象

关系数据库数据库管理系统)、sql server(由美国微软公司所推出的关系数据库解决方案)等关系型数据库,或者是mongodb(一种面向文档的数据库管理系统)、elasticsearch(一个基于lucene库的搜索引擎)等非关系型数据,又或者microsoft office access(由微软发布的关系数据库管理系统)本地存储、excel等。
42.可以理解,在从多个数据源中确定目标业务数据的过程中,是通过spark sql表达式统一确定的,有效降低了数据加工逻辑的复杂度和学习成本;此外,对于部分数据加工方式,有些数据源还无法提供相应的方法或函数,spark sql表达式能够有效解决该问题。
43.进一步地,所述基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据之前,包括:步骤c,获取数据连接信息;进一步地,所述获取数据连接信息,包括:步骤c1,接收配置指令,并基于所述配置指令,生成数据连接信息;其中,所述配置指令是用户基于多个数据源的数据源类型给出的。
44.在本实施例中,接收配置指令,并基于配置指令,生成数据连接信息;其中,配置指令是用户基于多个数据源的数据源类型给出的。
45.具体地,数据连接信息通过接收用户给出的配置指令生成,其中,配置指令与数据源的数据源类型对应,即不同数据源类型的数据源其配置指令不同,用户在给出配置指令时,需要结合数据源类型差异化给出配置指令。例如mysql和oracle的连接方式不同,在需要连接mysql和oracle时,需要分别通过mysql对应的配置指令和oracle对应的配置指令,来分别生成mysql对应的数据连接信息和oracle对应的数据连接信息。
46.此外,用户在为所有需要连接的数据源配置数据连接信息时,可以具体选择数据源中的数据块,即指定获取一数据源中一数据块中的数据。
47.需要说明的是,上述接收配置指令并生成数据连接信息的过程,通过数据源连接配置模块来实现,数据源连接配置模块主要为各种所支持的可连接的数据源提供一个配置数据连接信息的入口。通过在这个数据源连接配置模块配置的数据连接信息,可以测试可连接的数据源的连通性,以确保该数据源是可连通的,以及作为后续连接数据源对应的存储介质来获取原始业务数据的基础。
48.步骤d,基于所述数据连接信息,连接多个数据源,并基于预设查找方式从所述多个数据源中确定多个目标数据块。
49.在本实施例中,基于数据连接信息,连接多个数据源,并基于预设查找方式从多个数据源中确定多个目标数据块。具体地,通过数据连接信息,与多个数据源建立连接,其中,多个数据源之间是存在业务关联的。
50.其中,目标数据块通过预设查找方式确定,该预设查找方式包括层级选择的方式和数据源查询语句的方式。
51.步骤e,从所述多个目标数据块中抽取原始业务数据。
52.在本实施例中,从多个目标数据块中抽取原始业务数据,具体地,以类似于关系型数据库join的方式,将多个目标数据块中的数据抽取并存储为一个整体的、有关联的原始业务数据,从而解决了不同数据源间的数据无法关联、互通和整合分析的问题,有效弱化了不同数据源之间的差异。
53.需要说明的是,在抽取原始业务数据时,可以通过spark job的方式离线异步抽取或者以spark sql的方式实时在线抽取。
54.需要说明的是,上述数据结构信息是在抽取原始业务数据后,通过分析该原始业务数据并保存得到的。
55.进一步地,所述从所述多个目标数据块中抽取原始业务数据,包括:步骤e1,获取与所述多个目标数据块对应的关联字段;步骤e2,基于所述关联字段,建立与所述多个目标数据块之间的关联关系。
56.在本实施例中,获取与多个目标数据块对应的关联字段;基于关联字段,建立与多个目标数据块之间的关联关系。其中,关联字段用于关联多个目标数据块,从而建立多个目标数据块之间的关联关系,该关联字段可以为多个目标数据块中共同存在的字段。例如目标数据块a中记录有零件名称和零件尺寸的字段,目标数据块b中记录有零件名称和零件厂商的字段,则目标数据块a和目标数据块b中共同存在的字段为零件名称,因此,零件名称可以作为关联字段。
57.步骤e3,基于所述关联关系,从所述多个目标数据块中抽取原始业务数据。
58.在本实施例中,基于关联关系,从多个目标数据块中抽取原始业务数据。具体地,通过该关联关系,可以将从不同数据源的不同目标数据块中抽取到的数据,整合为一个整体,得到原始业务数据。可以理解,多个数据源之间互为异构数据源,通过spark sql表达式来整合异构数据源中的数据,避免了整合异构数据源的数据时需要额外做的数据转换与数据关系映射,从而简化了数据整合的过程。
59.进一步地,所述基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据,包括:步骤f,获取多个数据源的原始业务数据对应的临时视图;步骤g,基于所述spark sql表达式,从所述临时视图中确定目标业务数据。
60.在本实施例中,获取多个数据源的原始业务数据对应的临时视图;基于spark sql表达式,从临时视图中确定目标业务数据,其中,原始业务数据以临时视图的形式供数据加工过程的使用。需要说明的是,临时视图由所有的多个数据源的原始业务数据构成,对于数据加工,其加工的是临时视图,而非原始业务数据本身,避免了在原始业务数据无法满足当前业务需求时,需要投入大量的人力对原始业务数据进行修改,同时更改产生原始业务数据的软件系统逻辑,因此,通过加工临时视图,可以做到在不改变原始业务数据的情况下,确定目标业务数据。
61.与现有技术中,在面对数据源为多个的情况时,由于不同的数据源面对同种加工处理的需求,所需要采用的方法或函数基本不相同,导致加工处理多个数据源的数据时的
成本极大相比,本技术通过获取目标业务数据对应的数据类型和数据加工方式;基于所述数据类型和所述数据加工方式,生成spark sql表达式;基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。本技术实现了通过spark sql表达式统一加工多个数据源的原始业务数据,而无需采用多个方法或函数来加工该原始业务数据,从而降低了加工处理多个数据源的数据时的成本。
62.此外,本技术还提供一种业务数据确定装置,参照图2,所述业务数据确定装置包括:第一获取模块10,用于获取目标业务数据对应的数据类型和数据加工方式;生成模块20,用于基于所述数据类型和所述数据加工方式,生成spark sql表达式;第一确定模块30,用于基于所述spark sql表达式,从多个数据源的原始业务数据中确定目标业务数据。
63.可选地,所述生成模块20还用于:基于所述数据类型和所述数据加工方式,生成数据列加工表达式;基于所述数据列加工表达式,生成spark sql表达式。
64.可选地,所述生成模块20还用于:获取所述原始业务数据的数据结构信息;基于所述数据加工方式,更新所述数据结构信息,得到更新后数据结构信息;基于所述更新后数据结构信息和所述数据列加工表达式,生成spark sql表达式。
65.可选地,所述业务数据确定装置还包括:第二获取模块,用于获取数据连接信息;连接模块,用于基于所述数据连接信息,连接多个数据源,并基于预设查找方式从所述多个数据源中确定多个目标数据块;抽取模块,用于从所述多个目标数据块中抽取原始业务数据。
66.可选地,所述第二获取模块还用于:接收配置指令,并基于所述配置指令,生成数据连接信息;其中,所述配置指令是用户基于多个数据源的数据源类型给出的。
67.可选地,所述抽取模块还用于:获取与所述多个目标数据块对应的关联字段;基于所述关联字段,建立与所述多个目标数据块之间的关联关系;基于所述关联关系,从所述多个目标数据块中抽取原始业务数据。
68.可选地,所述业务数据确定装置还包括:第三获取模块,用于获取多个数据源的原始业务数据对应的临时视图;第二确定模块,用于基于所述spark sql表达式,从所述临时视图中确定目标业务数据。
69.本技术业务数据确定装置具体实施方式与上述业务数据确定方法各实施例基本相同,在此不再赘述。
70.此外,本技术还提供一种业务数据确定设备。如图3所示,图3是本技术实施例方案涉及的硬件运行环境的结构示意图。
71.需要说明的是,图3即可为业务数据确定设备的硬件运行环境的结构示意图。
72.如图3所示,该业务数据确定设备可以包括:处理器1001,例如cpu,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
73.可选地,业务数据确定设备还可以包括rf(radio frequency,射频)电路,传感器、音频电路、wifi模块等等。
74.本领域技术人员可以理解,图3中示出的业务数据确定设备结构并不构成对业务数据确定设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
75.如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及业务数据确定程序。其中,操作系统是管理和控制业务数据确定设备硬件和软件资源的程序,支持业务数据确定程序以及其它软件或程序的运行。
76.在图3所示的业务数据确定设备中,用户接口1003主要用于连接终端,与终端进行数据通信,如接收终端发送的信令数据;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的业务数据确定程序,并执行如上所述的业务数据确定方法的步骤。
77.本技术业务数据确定设备具体实施方式与上述业务数据确定方法各实施例基本相同,在此不再赘述。
78.此外,本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有业务数据确定程序,所述业务数据确定程序被处理器执行时实现如上所述的业务数据确定方法的步骤。
79.本技术计算机可读存储介质具体实施方式与上述业务数据确定方法各实施例基本相同,在此不再赘述。
80.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
81.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
82.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,设备,或者网络设备等)执行本技术各个实施例所述的方法。
83.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

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

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

相关文献