支持任意配置周期的任务调度方法与流程

文档序号:23851715发布日期:2021-02-05 14:26阅读:83来源:国知局
支持任意配置周期的任务调度方法与流程

[0001]
本发明涉及数仓领域,尤其涉及支持任意配置周期的任务调度方法。


背景技术:

[0002]
数仓平台是数据治理的一个核心模块,承担数据治理过程中的数据加工并业务化的功能,致力于:(1)构建统一的数据分类体系,用于目录化管理所有业务数据,便于数据的归类、查找、评价、使用。(2)构建统一的数据标准体系,基于国家或行业标准,用于标准化每一行数据,每一个字段的具体取值,提升数据质量和易用性。(3)构建统一的数据模型体系,通过规范定义和数据建模,自顶向下构建企业数据分层体系,沉淀企业数据公共层和主题库,便于数据的流通、共享、创造、创新,提升数据使用效率,极大的减少数据冗余、混乱、隔离、不一致以及谬误等。然而现有技术中,数据仓库的任务调度只能实现任务设置和执行,但并不能实现任务的周期配置和并发执行。


技术实现要素:

[0003]
本发明的目的在于克服现有技术的不足,提供支持任意配置周期的任务调度方法。
[0004]
本发明的目的是通过以下技术方案来实现的:
[0005]
本发明的第一方面,提供支持任意配置周期的任务调度方法,基于数据仓库,包括以下步骤:
[0006]
用户创建任务,包括设置执行器、处理器、并发执行策略、任务名称;
[0007]
用户对任务配置自定义周期;
[0008]
服务器根据所述自定义周期执行所述任务,并按照并发执行策略实现集群调度。
[0009]
进一步地,所述创建任务包括:
[0010]
按照维度建模的方式实现任务创建。
[0011]
进一步地,所述按照维度建模的方式实现任务创建包括以下步骤:
[0012]
配置事实表,所述事实表包括归属于某个业务过程的业务数据;
[0013]
配置维度表,所述维度表描述所述事实表并生成分析所述业务数据的维度;
[0014]
基于所述事实表配置原子指标,所述原子指标为以一定的规则分析得到的数据,用以衡量指定的目标;
[0015]
配置限定条件,所述限定条件用于对复合指标进行限定;
[0016]
基于所述原子指标、维度表和限定条件,配置复合指标,所述复合指标为统计指标。
[0017]
进一步地,所述配置事实表包括:
[0018]
配置包括业务分层、事实表名、数据源类型、数据库在内的基本信息;
[0019]
配置事实属性;
[0020]
所述的配置维度表包括:
[0021]
配置包括业务分层、维度名称、数据源类型、数据库在内的基本信息;
[0022]
配置维度属性以及对应的关联事实表;
[0023]
所述的配置原子指标包括:
[0024]
配置包括业务分层、指标名称、数据类型、单位在内的基本信息;
[0025]
配置事实表选择、字段选择和公式选择。
[0026]
进一步地,所述方法还包括:
[0027]
获取待建立数仓的外部数据库的级别;
[0028]
根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标;
[0029]
所述数仓中预存的对应级别的计算方式的预存方式包括:
[0030]
抓取高于对应级别的其余外部数据库发布的低级别数仓建立方式,并进行预存;和/或:
[0031]
预存同级别的外部数据库的数仓建立方式。
[0032]
进一步地,所述创建任务包括:
[0033]
利用画布节点实现任务创建。
[0034]
进一步地,所述利用画布节点实现任务创建包括:
[0035]
配置多个画布节点,所述画布节点对应于包括开始节点、结束节点、任务节点的sql脚本;
[0036]
连接所有画布节点形成节点流程图;
[0037]
按照连接方式将所述节点流程图的多个sql脚本转化为对应的sql程序;
[0038]
执行所述sql程序完成数据开发。
[0039]
进一步地,所述方法还包括以下步骤:
[0040]
将多个任务节点进行连接,以形成一个任务节点套件并进行上传保存;
[0041]
所述画布节点还对应于包括任务节点套件的sql脚本。
[0042]
进一步地,所述方法还包括以下步骤:
[0043]
上传用于判断开放权限的登录信息;
[0044]
获取具有开放权限的任务节点套件。
[0045]
进一步地,所述方法还包括以下步骤:
[0046]
对数据开发完成后的数据进行判断,是否符合数仓数据中事实表和维度表的对应关系,即判断数据开发完成后的维度表中的字段是否均存在于开发完成后的事实表中的字段;所述事实表包括归属于某个业务过程的业务数据,所述维度表描述所述事实表并生成分析所述业务数据的维度。
[0047]
本发明的有益效果是:
[0048]
(1)在本发明的一示例性实施例中,采用该方法可以有用户自定任务周期表,平台自动进行任务调度,并且支持任务节点集群功能,即任意服务器节点挂了不影响全局任务调度功能。
[0049]
(2)在本发明又一实例性实施例中,由数据开发人员配置维度表、事实表、原子指标、复合指标、限定条件等一系列大数据计算模型,从而生成想要的结果数据(任务创建)。
[0050]
(3)在本发明多个实例性实施例中公开的内容中,分别公开了维度表、事实表、原
子指标的具体实现方式。
[0051]
(4)在本发明一实例性实施例中,获取待建立数仓的外部数据库的级别,根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标,从而实现快速建立数仓。
[0052]
(5)在本发明的一示例性实施例中,利用开发人员事先制作完成好的画布节点,用户可以自定义数据开发(即任务创建)流程,同时也无需开发人员额外开发,开发人员只需要制作各种不同功能的画布节点即可。
[0053]
(6)在本发明的又一示例性实施例中,将完成特定功能的多个任务节点连接结果形成一个任务节点套件并进行上传保存,从而方便下次进行使用。因此进一步地,将画布节点的限定范围增加任务节点套件。
[0054]
(7)在本发明的又一示例性实施例中,任务节点套件可以进行共享:同一用户由于不同登录终端,使得本地登录终端并不一定存在之前在其他登录终端保存的任务节点套件,因此在其中一个实施例中,可以在同一用户的多个登录终端进行共享,此时的开放权限为用户限定;同时也可以在多用户之间共享任务节点套件,前提是多用户之间互相给对方开放共享任务节点套件的权限。
[0055]
(8)在本发明的又一示例性实施例中,为了避免经过数据开发完成后的数据不符合后续处理要求,因此采用自动监控的方式对数据开发完成后的数据进行判断:即判断数据开发完成后的维度表中的字段是否均存在于开发完成后的事实表中的字段,避免后续处理出现错误。
附图说明
[0056]
图1为本发明一示例性实施例公开的方法流程图;
[0057]
图2为本发明又一示例性实施例公开的方法流程图;
[0058]
图3为本发明又一示例性实施例公开的方法流程图。
具体实施方式
[0059]
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]
在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述的方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,属于“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0061]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0062]
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0063]
参见图1,图1示出了本发明一示例性实施例提供的支持任意配置周期的任务调度方法,基于数据仓库,包括以下步骤:
[0064]
用户创建任务,包括设置执行器、处理器、并发执行策略、任务名称;
[0065]
用户对任务配置自定义周期;
[0066]
服务器根据所述自定义周期执行所述任务,并按照并发执行策略实现集群调度。
[0067]
其中,采用该方法可以有用户自定任务周期表,平台自动进行任务调度,并且支持任务节点集群功能,即任意服务器节点挂了不影响全局任务调度功能。
[0068]
更优地,在一示例性实施例中,所述创建任务包括:
[0069]
按照维度建模的方式实现任务创建。
[0070]
维度建模是从分析决策的需求出发构建模型,它主要是为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。多维模型是由数字型度量值组成的一张事实表连接到一组包含描述属性的多张维度表,事实表与维度表通过主/外键实现关联。典型的维度模型有星形模型,以及在一些特殊场景下使用的雪花模型。在数仓规范设计中,维度建模是以维度建模理论为基础,构建总线矩阵、抽象出事实和维度,构建维度模型和事实模型,同时对报表需求进行抽象整理出相关指标体系,构建出汇总模型。下述示例性实施例部分以旅游文化数据仓库为例。
[0071]
参见图2,图2示出了本发明一实例性实施例公开的数仓体系下的维度建模的流程图,由数据开发人员配置维度表、事实表、原子指标、复合指标、限定条件等一系列大数据计算模型,从而生成想要的结果数据(任务创建)。其中,所述方法包括以下步骤:
[0072]
配置事实表,所述事实表包括归属于某个业务过程的业务数据;
[0073]
配置维度表,所述维度表描述所述事实表并生成分析所述业务数据的维度;
[0074]
基于所述事实表配置原子指标,所述原子指标为以一定的规则分析得到的数据,用以衡量指定的目标;
[0075]
配置限定条件,所述限定条件用于对复合指标进行限定;
[0076]
基于所述原子指标、维度表和限定条件,配置复合指标,所述复合指标为统计指标。
[0077]
其中,事实表主要是归属于某个业务过程的事实逻辑表,可以丰富具体业务过程所对应事务的详细信息。创建事实逻辑表即完成公共的事务明细数据沉淀,从而便于提取业务中事务相关的明细数据。下线条件:需要原子指标和通用限定不在使用。
[0078]
具体地,在一优选示例性实施例中,当需要配置事实表(或者创建一个新的事实表)时,首先需要配置包括业务分层、事实表名、数据源类型、数据库在内的基本信息;然后再配置事实属性。在一具体实施例中,所述业务分层可以包括旅游产业和文化产业,旅游产业例如又可以选择运营商和网评ota,对于运营商可以继续细分至游客趋势和游客画像;文化产业类似,在此不进行赘述,下述示例性实施例的业务分层以“旅游产业-运营商-游客趋势”为主。事实表名为自行设置,例如“旅客性别统计”和“旅客客源地统计”;数据源类型(hive)和数据库名(spider-test)均为对应选择。“旅客性别统计”的事实属性,可以配置为“性别”和“时间戳”,并且针对每个属性均可以选择字段编码、数据类型、是否主键和是否分
区;“旅客客源地统计”的事实属性包括“景点id”、“游客来源地”、“结果时间”、“游客人数”。
[0079]
对于维度表,维度是用于观察和分析业务数据的视角,来源于属性,并且多数具有层级结构,如:地理维度(其中包括国家、地区、省以及城市等级别的内容)、时间维度(其中包括年度、季度、月度等级别的内容)。创建维度,即从顶层规范业务中实体(或称主数据)的存在性及唯一性。下线条件:需要限定条件中的通用限定不在使用、事实表不在使用和复合指标不在使用。
[0080]
具体地,在一优选示例性实施例中,当需要配置维度表(或者创建一个新的维度表)时,首先配置包括业务分层、维度名称、数据源类型、数据库在内的基本信息;然后配置维度属性以及对应的关联事实表。在一具体实施例中,业务分层的方式与事实表的相同(“旅游产业-运营商-游客趋势”)。维度表也可以自行设定,例如“目的地地区维度”、“游客类型维度”、“客源地地区维度”和“时间维度”。对于“游客类型维度”,其数据源类型和数据库名也与事实表相同。而对于维度属性,其可以具体包括编码、类型、是否为关键维度和关键维度字段。
[0081]
另外,对于对应的关联事实表,该内容可以在事实表或维度表中进行设置,当在“旅游性别统计”事实表中设置时:可以包括字段名称、字段编码、数据类型、是否主键、关联维度表、关联维度表字段;例如字段名称可以是“日期”、“目的地地区编码”、“客源地地区编码”、“游客类型编码”,对应的字段编码为“date”、“targetregion”、“sourceregion”、“regiontype”,关联的维度表可以是“时间维度”、“目的地地区维度”、“客源地地区维度”、“游客类型维度”。而当在维度表中设置时:可以包括字段名称、字段编码、数据类型、是否主键、关联事实表、关联事实表字段。
[0082]
对于原子指标,原子指标是对指标统计逻辑、具体算法的一个抽象。为了从根源上解决定义、研发不一致的问题,指标定义明确设计统计逻辑(即计算逻辑),不需要etl二次或者重复研发,从而提升了研发效率,也保证了统计结果的一致性。
[0083]
原子指标是为了构建应用统计分析所需的派生指标,而定义的数据组件,因此只可以基于事实逻辑表明细数据表来创建。
[0084]
复合指标无来源表,它归属于每个组合成它的原始的原子指标的来源表。原子指标与复合指标的关系:(1)原子指标的计算逻辑修改生效后,会直接更新应用于相关的复合指标。(2)原子指标被删除或者变更英文名,需要校验下游是否有复合指标使用,如果有,则无法删除或变更。(3)原子指标的数据类型更改会影响下游复合指标。下线条件:需要复合指标不在使用。
[0085]
具体地,在一优选示例性实施例中,当需要配置原子指标(或者创建一个新的原子指标)时,首先配置包括业务分层、指标名称、数据类型、单位在内的基本信息;然后配置事实表选择、字段选择和公式选择。在一示例性实施例中,基本信息包括:业务分层为“旅游产业-运营商-游客趋势”,原子指标名称为“游客人数”,数据类型为“长整型”,单位为“人”(人数);而对于计算逻辑,选择的事实表为“旅客客源地统计”,选择字段为“游客人数”,选择公式为“求和(sum)”。
[0086]
对于限定条件,用于对复合指标进行限定,在一优选示例性实施例中,所述限定条件包括时间限定条件和地区限定条件。
[0087]
对于地区限定条件,原子指标是计算逻辑的标准化定义,地区限定条件则是条件
限制的标准化定义。为保障所有统计指标统一、标准、规范地构建,地区限定条件在业务板块内唯一,并唯一归属于一个来源逻辑表,计算逻辑也以该来源逻辑表模型的字段为基础进行定义。由于一个地区限定条件的定义可能来自于归属不同数据域的多个逻辑表,因此一个地区限定条件可能归属于多个数据域。在一示例性实施例中,地区限定条件包括:选择表(旅客客源地统计)、选择字段(游客来源地)、筛选范围。而对于筛选范围,可以通过“码表”的形式进行选择,包括“码表选择”(地区编码)、“选择码表字段”(行政编码)、“选择码表取值”(6位编码)、“是否排除”。
[0088]
对于时间限定条件,原子指标是计算逻辑的标准化定义,时间限定则是条件限制的标准化定义。为保障所有统计指标统一、标准、规范地构建,时间限定在业务板块内唯一,并唯一归属于一个来源逻辑表,计算逻辑也以该来源逻辑表模型的字段为基础进行定义。由于一个时间限定的定义可能来自于归属不同数据域的多个逻辑表,因此一个时间限定可能归属于多个数据域。在一示例性实施例中,时间限定条件包括:“年度限定”、“月度限定”等等,
[0089]
对于复合指标,复合指标即统计指标,为保证统计指标标准、规范、无二义性地生成,复合指标=原子指标+维度+业务限定。在新建复合指标之前,请先确认原子指标已经新建并通过审核。并且如果复合指标将用到时间限定或通用限定,先确认时间限定和通用限定已经新建并通过审核。
[0090]
例如对于“月度游客人数”这一复合指标,业务分层与上述内容相同(“旅游产业-运营商-游客趋势”),数据库也相同(spider-test),数据源类选择“hive”,原子指标选择“游客人数”,时间限定选择“月度限定”,统计维度选择“时间维度”,地区限定选择某一地点。
[0091]
更优地,在一示例性实施例中,所述方法还包括:
[0092]
获取待建立数仓的外部数据库的级别;
[0093]
根据数仓中预存的对应级别的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0094]
具体地,对于上述示例性实施例,文旅产业外部数据库的级别可以与对应数据库的单位相关,例如可以分为国家级、省级、市级、区级等。也就是说,首先获取待建立数仓的外部数据库的级别(例如为市级数据库),此时根据数仓中预存的市级数据库的计算方式,配置所述事实表、维度表、原子指标、限定条件和复合指标。而在另一示例性实施例中,级别可以根据公司内部部门的级别进行设定。
[0095]
更优地,在一示例性实施例中,所述数仓中预存的对应级别的计算方式的预存方式包括:
[0096]
抓取高于对应级别的其余外部数据库发布的低级别数仓建立方式,并进行预存;和/或:
[0097]
预存同级别的外部数据库的数仓建立方式。
[0098]
其中,第一种方式可以为在建立市级数据库的过程中,抓取省级网站或者相关规定中对市级数据库的规定;而对于第二种方式,第一市级数据库建立时,可以利用在本数仓中其余市级数据库建立时候的数仓建立方式,从而进行同方式建立。
[0099]
更优地,在一示例性实施例中,所述方法还包括:
[0100]
获取待建立数仓的外部数据库的需求;
[0101]
根据所述需求配置所述事实表、维度表、原子指标、限定条件和复合指标。
[0102]
也就是说,根据外部数据库发送的实际需求进行建立。
[0103]
更优地,在一示例性实施例中,所述创建任务包括:
[0104]
利用画布节点实现任务创建。
[0105]
参见图3,图3示出了本发明一示例性实施例公开的基于画布节点进行数据开发(即任务创建)的方法的流程图,该方法向用户提供操作方式,使得不仅可以让用户自定义流程,而且不需要开发人员额外开发,降低工作量。具体地,所述方法包括以下步骤:
[0106]
配置多个画布节点,所述画布节点对应于包括开始节点、结束节点、任务节点的sql脚本;
[0107]
连接所有画布节点形成节点流程图;
[0108]
按照连接方式将所述节点流程图的多个sql脚本转化为对应的sql程序;
[0109]
执行所述sql程序完成数据开发。
[0110]
具体地,开始节点、任务节点和结束节点均属于画布节点的必要节点,并且任务节点可以根据实际需求配置有多个。在选择好画布节点将多个画布节点连接,形成完整的节点流程图。由于每个画布节点都对应于开发人员事先编制好的sql脚本,因此形成节点流程图的多个画布节点对应的多个sql脚本可以转换为一整个sql程序,在执行sql程序后即完成了数据开发。其中,数据开发也可以是数据清洗的整体流程。
[0111]
采用该种方式,利用开发人员事先制作完成好的画布节点,用户可以自定义数据开发流程,同时也无需开发人员额外开发,开发人员只需要制作各种不同功能的画布节点即可。
[0112]
更优地,在一示例性实施例中,所述方法还包括以下步骤:
[0113]
将多个任务节点进行连接,以形成一个任务节点套件并进行上传保存;
[0114]
所述画布节点还对应于包括任务节点套件的sql脚本。
[0115]
具体地,由于任务节点通常为基本功能,因此想要完成某个特定功能通常需要多个任务节点进行连接。而又如果该特定功能需要多次使用,则需要进行多次的多个任务节点布置,浪费时间又容易出错。因此,在本示例性实施例中,将完成特定功能的多个任务节点连接结果形成一个任务节点套件并进行上传保存,从而方便下次进行使用。因此进一步地,将画布节点的限定范围增加任务节点套件。
[0116]
更优地,在一示例性实施例中,所述方法还包括以下步骤:
[0117]
上传用于判断开放权限的登录信息;
[0118]
获取具有开放权限的任务节点套件。
[0119]
具体地,基于上述优选示例性实施例,任务节点套件可以进行共享:(1)同一用户由于不同登录终端,使得本地登录终端并不一定存在之前在其他登录终端保存的任务节点套件,因此在其中一个实施例中,可以在同一用户的多个登录终端进行共享,此时的开放权限为用户限定;(2)同时也可以在多用户之间共享任务节点套件,前提是多用户之间互相给对方开放共享任务节点套件的权限。
[0120]
更优地,在一示例性实施例中,所述方法还包括以下步骤:
[0121]
对数据开发完成后的数据进行判断,是否符合数仓数据中事实表和维度表的对应
关系,即判断数据开发完成后的维度表中的字段是否均存在于开发完成后的事实表中的字段;所述事实表包括归属于某个业务过程的业务数据,所述维度表描述所述事实表并生成分析所述业务数据的维度。
[0122]
具体地,为了避免经过数据开发完成后的数据不符合后续处理要求,因此在一示例性实施例中,采用自动监控的方式对数据开发完成后的数据进行判断:即判断数据开发完成后的维度表中的字段是否均存在于开发完成后的事实表中的字段,避免后续处理出现错误。
[0123]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1