CN110222315A - 一种数据统计方法、系统及电子设备和存储介质 - Google Patents
一种数据统计方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN110222315A CN110222315A CN201910500665.1A CN201910500665A CN110222315A CN 110222315 A CN110222315 A CN 110222315A CN 201910500665 A CN201910500665 A CN 201910500665A CN 110222315 A CN110222315 A CN 110222315A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- time
- variable
- bit stream
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Abstract
本申请公开了一种数据统计方法、系统及一种电子设备和计算机可读存储介质,该方法包括:获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。本申请提供的数据统计方法,开发人员只需要关注统计逻辑代码的编写和任务信息的配置即可,其他由系统自动完成,大大提高了数据分析的开发效率。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种数据统计方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
在互联网发展的大潮下,在大数据越来越流行的今天,如何快速实现业务的统计分析需求,开发出符合业务需求的报表,进行数字化运营,成为各个互联网公司面临的挑战。
在一种现有技术中,需要数据开发人员从头开始开发数据统计分析脚本,实现业务需求。这种方案效率低下,时间周期长,数据开发人员需要处理很多重复性的工作。在另一种现有技术中,需要基于开源的报表产品,这种方案只能使用报表产品提供的功能,无法实现个性化的数据统计需求。
因此,如何面对个性化的数据统计需求,提高开发效率是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种数据统计方法、系统及一种电子设备和一种计算机可读存储介质,面对个性化的数据统计需求,提高了开发效率。
为实现上述目的,本申请提供了一种数据统计方法,包括:
获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
其中,所述数据时间范围包括数据时间开始时间戳和数据时间结束时间戳,所述根据所述任务信息计算每个所述任务需要统计的数据时间范围,包括:
根据所述任务信息确定每个所述任务的调度时间、任务周期和周期偏移;
格式化所述调度时间,并利用格式化后的调度时间、所述任务周期和所述周期偏移计算所述数据时间开始时间戳和所述数据时间结束时间戳。
其中,所述预设变量包括时间变量、数据变量和维表变量;
所述时间变量包括标准时间变量、自定义时间变量和自定义函数时间变量,所述标准时间变量包括所述数据时间开始时间戳和所述数据时间结束时间戳对应的所有格式的时间变量;
所述数据变量包括目标数据库、目标数据表和目标分区;
所述维表变量包括维表数据库、维表表名和维表过滤条件。
其中,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
获取每个所述任务的依赖配置信息,并根据所述依赖配置判断每个所述任务的所有依赖任务对应的实例是否执行完成;
若是,则根据每个所述任务对应的数据时间范围执行每个所述任务。
其中,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
确定每个所述任务的任务类型,并确定所述任务类型对应的计算引擎;
利用每个所述任务对应的所述计算引擎根据所述数据时间范围执行每个所述任务。
其中,所述根据每个所述任务对应的数据时间范围执行每个所述任务之后,还包括:
输出每个所述任务的任务执行日志。
其中,所述根据每个所述任务对应的数据时间范围执行每个所述任务之后,还包括:
判断每个所述任务是否存在任务导入配置;
若是,则根据所述任务导入配置将所述任务的任务结果导入目标位置。
其中,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
获取每个所述任务对应的任务运行周期,根据所述任务运行周期当检测到到达预设的运行时刻时,根据每个所述任务对应的数据时间范围执行每个所述任务。
为实现上述目的,本申请提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据统计程序,所述数据统计程序被所述处理器执行时实现如上述数据统计方法的步骤。
为实现上述目的,本申请提供了一种数据统计系统,包括:
获取模块,用于获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
计算模块,用于初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
执行模块,用于根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据统计程序,所述数据统计程序被处理器执行时实现如上述数据统计方法的步骤。
为实现上述目的,本申请提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述数据统计方法。
通过以上方案可知,本申请提供的一种数据统计方法,包括:获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
本申请提供的数据统计方法,开发人员只需要根据系统提供的预设变量编写统计逻辑代码、配置各任务的任务信息,系统根据任务信息生成各任务的数据时间范围,在执行统计逻辑代码前使用已知的时间变量、数据表名,分区,维表名,维表过滤条件等替换统计逻辑代码中的预设变量,得到可执行的语句。在开发过程中,开发人员只需要关注统计逻辑代码的编写和任务信息的配置即可,其他由系统自动完成,大大提高了数据分析的开发效率。本申请还公开了一种数据统计系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据统计方法的流程图;
图2为图1中步骤S102的细化流程示意图;
图3为本申请实施例公开的另一种数据统计方法的流程图;
图4为本申请实施例公开的一种数据统计系统的结构图;
图5为本申请实施例公开的一种电子设备的结构图;
图6为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本申请实施例公开了一种数据统计方法,面对个性化的数据统计需求,提高了开发效率。
参见图1,本申请实施例公开的一种数据统计方法的流程图,如图1所示,包括:
S101:获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
本实施例的执行主体可以为调度系统中的处理器,调度系统例如azkaban调度系统等,可以采用python语言开发,在此不进行具体限定。首先获取用于进行数据统计的统计逻辑代码,该统计逻辑代码为开发人员利用调度系统提供的预设变量编写的。
调度系统提供的预设变量可以包括时间变量、数据变量和维表变量等,时间变量可以包括标准时间变量、自定义时间变量和自定义函数时间变量,标准时间变量包括所述数据时间开始时间戳和所述数据时间结束时间戳对应的所有格式的时间变量。数据变量包括目标数据库、目标数据表和目标分区;维表变量包括维表数据库、维表表名和维表过滤条件。
在具体实施中,调度系统提供了标准时间变量,如果标准时间变量不能满足业务需求,调度系统还提供了自定义时间变量,用户可以利用系统提供的标准时间变量,进行时间的加减。例如:
a_pre_sptime、st_5、st_15、st_120为自定义时间变量,k是依赖的调度系统提供的标准时间变量,offset是时间偏移秒数,最后生成的自定义时间变量,也会加入变量列表。
如果自定义时间变量无法满足用户的需求,调度系统提供了自定义函数时间变量,即自定义函数的功能,自定义函数里面提供了日期时间操作的库,用户可以通过python代码,实现更加个性化的时间变量,例如:
对于上述的数据变量,提供了dstDb、dstTb和dstPart分别代表数据库、数据表和分区,用户可以利用数据变量进行统计逻辑代码的编写。对于维表变量,调度系统会提供维表相关的变量和过滤条件,比如,业务统计分析代码中使用到了维度表,别名是d,则调度系统会根据维表的元数据配置信息,生成如下维表变量:
d_db:维表数据库;
d_tb:维表表名;
d_where:维表过滤条件。
S102:初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
在本步骤中,初始化统计逻辑代码中每个任务的任务信息,可以包括任务id、调度时间、任务运行周期、任务偏移周期、任务负责人。任务id为用户配置脚本所在的目录路径层次,调度时间为调度系统开始运行任务的时间,格式YYYYMMDDHHIISS,例如20190329102336代表2019年3月29号10点23分36秒开始执行任务,任务运行周期为任务运行的间隔时间,任务偏移周期为任务执行时向前或向后偏移的周期个数,任务负责人为执行任务需要使用权限的负责人。
例如:python arfa_main.py 100589 20190329102336 300 3 liuzhongzhen。arfa_main.py为python统一的入口脚本,任务id是100589,任务调度时间是20190329102336,任务周期是300代表300s,5分钟执行一次,任务偏移周期是3,代表向前偏移3个5分钟的周期,任务负责人是liuzhongzhen,代表使用liuzhongzhen的权限,任务失败告警发送至liuzhongzhen。
当然任务信息还可以包括任务类型、任务连接引擎、任务执行超时、任务重试次数、任务重试间隔、任务的扩展参数(内存设置,资源池配置)、初始化命令、业务统计分析逻辑sql、数据依赖的源表、要写入的目标表、针对每个计算引擎特殊的属性配置等,在此不进行具体限定。
调度系统会对任务依赖的源表进行分析,每个源表都有一个别名,根据源表的元信息(主要包括分区信息),添加每个源表对应的变量,如果别名是a,则添加如下变量:
a_db:源表的数据库名;
a_tb:源表的表名;
a_sptime:需要扫描的源表的开始分区时间;
a_eptime:需要扫描的原表的结束分区时间。
调度系统分析任务的目标表,同理系统支持导出文件写入多个目标表,同样对于目标表提供了如上四个变量,如果目标表的别名是b,则提供如下变量:
b_db:目标数据库名;
b_tb:目标表名;
b_sptime:目标分区开始时间;
b_eptime:目标分区结束时间。
为了方便调度系统对所有的目标表执行一致的代码,调度系统提供了dstDb、dstTb和dstPart分别代表数据库、数据表和分区,即上一步骤中描述的数据变量,在操作不同的目标表时候,会将上述的数据变量替换为具体的目标数据库、目标数据表和目标分区。
调度系统根据调度时间、任务运行周期、任务偏移周期计算到任务需要统计的数据时间范围,包括数据时间开始时间戳和数据时间结束时间戳。
S103:根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
在执行统计逻辑代码前会根据任务信息即使用已知的时间变量、数据变量和维表变量替换掉其中的预设变量,最终得到可执行任务sql语句,实现数据统计分析的目标。
在执行业务统计分析逻辑的过程中,可以检测任务是否超时,若超时则强制结束等待重试,还可以实时打印任务执行日志,获取任务执行的详细信息,即在本步骤之后还可以输出每个所述任务的任务执行日志。
优选的,还可以将任务结果导出成文件或导入到其他数据引擎中,完成数据加工的目的。即本步骤之后,还可以包括判断每个所述任务是否存在任务导入配置;若是,则根据所述任务导入配置将所述任务的任务结果导入目标位置。此处的目标位置可以包括mysql、postgresql或其他集群,在此不进行具体限定。
需要说明的是,用户可以通过配置任务信息调试任务,使其周期性的运行,即根据每个所述任务对应的数据时间范围执行每个所述任务的步骤可以包括:获取每个所述任务对应的任务运行周期,根据所述任务运行周期当检测到到达预设的运行时刻时,根据每个所述任务对应的数据时间范围执行每个所述任务。
本申请实施例提供的数据统计方法,开发人员只需要根据系统提供的预设变量编写统计逻辑代码、配置各任务的任务信息,系统根据任务信息生成各任务的数据时间范围,在执行统计逻辑代码前使用已知的时间变量、数据表名,分区,维表名,维表过滤条件等替换统计逻辑代码中的预设变量,得到可执行的语句。在开发过程中,开发人员只需要关注统计逻辑代码的编写和任务信息的配置即可,其他由系统自动完成,大大提高了数据分析的开发效率。
下面详细介绍计算任务需要统计的数据时间范围的具体过程,即如图2所示,上一实施例中的步骤S102可以包括:
S21:初始化所述统计逻辑代码中每个任务的任务信息;
S22:根据所述任务信息确定每个所述任务的调度时间、任务周期和周期偏移;
在本实施例中,根据每个任务的调度时间、任务周期和周期偏移计算数据时间范围,即数据时间开始时间戳和数据时间结束时间戳。
S23:格式化所述调度时间,并利用格式化后的调度时间、所述任务周期和所述周期偏移计算所述数据时间开始时间戳和所述数据时间结束时间戳。
schedule_time、cycle、offset、sts和ets分别代表调度时间,任务周期、周期偏移、数据开始时间戳和数据结束时间戳。首先格式化调度时间:
tm=to_timestamp(schedule_time)+28800(中国有8个小时的偏移);
当cycle>0时,tm=tm-tm%cycle-28800;
当cycle=0时,tm=tm-28800
当cycle<0时,抛出异常。
计算数据时间开始时间戳:sts=tm-cycle*offset;
计算数据时间结束时间戳:ets=sts+cycle。
可以理解的是,可以根据sts和ets计算数据时间开始时间戳和结束时间戳对应的其他格式的时间变量,即标准时间时间变量中的时间变量,如下:
St:数据时间开始时间,格式YYYY-MM-DD HH:II:SS;
et:数据时间结束时间,格式YYYY-MM-DD HH:II:SS;
sti:数据时间开始时间,格式YYYYMMDDHHIISS;
eti:数据时间结束时间,格式YYYYMMDDHHIISS;
smonth:数据时间月开始时间,格式YYYYMM01;
emonth:数据时间月结束时间,格式YYYYMM01;
smonthbar:数据时间月开始时间,格式YYYY-MM-01;
emonthba:数据时间月基数时间,格式YYYY-MM-01;
stm:格式YYYYMM01000000;
etm:格式YYYYMM01000000;
stmbar:格式YYYY-MM-01 00:00:00;
etmbar:格式YYYY-MM-01 00:00:00;
sdate、edate、sdatebar、edatebar:数据开始和结束的日期;
sweek、eweek、sweekbar、eweekbar:数据开始和结束的周开始和结束时间。
本申请实施例公开了一种数据统计方法,相对于第一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图3,本申请实施例提供的另一种数据统计方法的流程图,如图3所示,包括:
S201:获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
S202:初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
S203:根据所述任务信息替换每个所述任务中的所有所述预设变量;
S204:获取每个所述任务的依赖配置信息,并根据所述依赖配置判断每个所述任务的所有依赖任务对应的实例是否执行完成;若是,则进入S205;
在本实施例中,调度系统以工作流架构,即最小运行单位是一个流,每个流中包含多个任务,任务依赖只能在工作流之内配置,对于跨工作流配置的任务,调度系统根据用户配置的依赖配置信息检查数据库中,依赖任务对应的实例是否已经完成,从而判断是否执行该本任务。依赖配置信息可以包括依赖任务名称,任务周期,需要满足的实例个数。调度系统计算如下:
若当前任务是5分钟,依赖任务是5分钟,则只依赖一个实例依赖任务是1小时,则依赖上n个小时,根据用户配置计算;依赖任务是1天,则依赖前面n个天的任务,根据用户配置计算;
若当前任务是1小时,依赖任务是5分钟,则依赖当前小时的n个实例,如果n>=12,则是全周期依赖;依赖任务是1小时,则依赖当前n个小时的实例,n=0,则是当前小时;依赖任务是1天,则依赖前面n个天的任务。
若当前任务是1天,依赖任务是5分钟,则依赖当前天的n个实例,如果n=288,则是全周期依赖,依赖任务是1小时,则依赖当前天的n个实例,如果n=24,则是全周期依赖,依赖任务是1天,则依赖前面n个天的任务,n=0,则是当前天。
S205:确定每个所述任务的任务类型,并确定所述任务类型对应的计算引擎;
S206:利用每个所述任务对应的所述计算引擎根据所述数据时间范围执行每个所述任务。
在本实施例中,调度系统根据任务类型,调用不同的计算引擎,执行每个任务对应的数据统计逻辑。任务类型可以包括mysql、impala、hive等,在此不进行具体限定。
由此可见,在本实施例中,根据任务的不同任务类型调用不同的计算引擎执行,提高了数据统计效率。
下面对本申请实施例提供的一种数据统计系统进行介绍,下文描述的一种数据统计系统与上文描述的一种数据统计方法可以相互参照。
参见图4,本申请实施例提供的一种数据统计系统的结构图,如图4所示,包括:
获取模块401,用于获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
计算模块402,用于初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
执行模块403,用于根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
本申请实施例提供的数据统计系统,开发人员只需要根据系统提供的预设变量编写统计逻辑代码、配置各任务的任务信息,系统根据任务信息生成各任务的数据时间范围,在执行统计逻辑代码前使用已知的时间变量、数据表名,分区,维表名,维表过滤条件等替换统计逻辑代码中的预设变量,得到可执行的语句。在开发过程中,开发人员只需要关注统计逻辑代码的编写和任务信息的配置即可,其他由系统自动完成,大大提高了数据分析的开发效率。
在上述实施例的基础上,作为一种优选实施方式,所述计算模块402包括:
初始化单元,用于初始化所述统计逻辑代码中每个任务的任务信息;
第一确定单元,用于根据所述任务信息确定每个所述任务的调度时间、任务周期和周期偏移;
计算单元,用于格式化所述调度时间,并利用格式化后的调度时间、所述任务周期和所述周期偏移计算所述数据时间开始时间戳和所述数据时间结束时间戳。
在上述实施例的基础上,作为一种优选实施方式,所述预设变量包括时间变量、数据变量和维表变量;
所述时间变量包括标准时间变量、自定义时间变量和自定义函数时间变量,所述标准时间变量包括所述数据时间开始时间戳和所述数据时间结束时间戳对应的所有格式的时间变量;
所述数据变量包括目标数据库、目标数据表和目标分区;
所述维表变量包括维表数据库、维表表名和维表过滤条件。
在上述实施例的基础上,作为一种优选实施方式,所述执行模块403包括:
替换单元,用于根据所述任务信息替换每个所述任务中的所有所述预设变量;
判断单元,用于获取每个所述任务的依赖配置信息,并根据所述依赖配置判断每个所述任务的所有依赖任务对应的实例是否执行完成;若是,则启动执行单元的工作流程;
第一执行单元,用于根据每个所述任务对应的数据时间范围执行每个所述任务。
在上述实施例的基础上,作为一种优选实施方式,所述执行模块403包括:
替换单元,用于根据所述任务信息替换每个所述任务中的所有所述预设变量;
第二确定单元,用于确定每个所述任务的任务类型,并确定所述任务类型对应的计算引擎;
第二执行单元,用于利用每个所述任务对应的所述计算引擎根据所述数据时间范围执行每个所述任务。
在上述实施例的基础上,作为一种优选实施方式,还包括:
输出模块,用于输出每个所述任务的任务执行日志。
在上述实施例的基础上,作为一种优选实施方式,还包括:
导入模块,用于判断每个所述任务是否存在任务导入配置;若是,则根据所述任务导入配置将所述任务的任务结果导入目标位置。
在上述实施例的基础上,作为一种优选实施方式,所述执行模块403包括:
替换单元,用于根据所述任务信息替换每个所述任务中的所有所述预设变量;
第三执行单元,用于获取每个所述任务对应的任务运行周期,根据所述任务运行周期当检测到到达预设的运行时刻时,根据每个所述任务对应的数据时间范围执行每个所述任务。
本申请还提供了一种电子设备,该电子设备可以是PC(Personal
Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、等终端设备。
参见图5,本申请实施例提供的一种电子设备的结构图,如图5所示,可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装电子设备的应用软件及各类数据,例如数据统计程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,实现上述任一实施例提供的数据统计方法,例如执行数据统计程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,开发人员只需要根据系统提供的预设变量编写统计逻辑代码、配置各任务的任务信息,系统根据任务信息生成各任务的数据时间范围,在执行统计逻辑代码前使用已知的时间变量、数据表名,分区,维表名,维表过滤条件等替换统计逻辑代码中的预设变量,得到可执行的语句。在开发过程中,开发人员只需要关注统计逻辑代码的编写和任务信息的配置即可,其他由系统自动完成,大大提高了数据分析的开发效率。
在上述实施例的基础上,作为优选实施方式,参见图6,所述电子设备还包括:
输入接口14,用于获取外部导入的计算机程序、参数和指令,经处理器12控制保存至存储器11中。该输入接口14可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘(Keyboard)、触控板或鼠标等。
显示单元15,用于显示处理器12处理的数据以及用于显示可视化的用户界面。该显示单元15可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口16,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图6仅示出了具有组件11-16以及数据统计程序01的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种数据统计方法,其特征在于,包括:
获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
2.根据权利要求1所述数据统计方法,其特征在于,所述数据时间范围包括数据时间开始时间戳和数据时间结束时间戳,所述根据所述任务信息计算每个所述任务需要统计的数据时间范围,包括:
根据所述任务信息确定每个所述任务的调度时间、任务周期和周期偏移;
格式化所述调度时间,并利用格式化后的调度时间、所述任务周期和所述周期偏移计算所述数据时间开始时间戳和所述数据时间结束时间戳。
3.根据权利要求2所述数据统计方法,其特征在于,所述预设变量包括时间变量、数据变量和维表变量;
所述时间变量包括标准时间变量、自定义时间变量和自定义函数时间变量,所述标准时间变量包括所述数据时间开始时间戳和所述数据时间结束时间戳对应的所有格式的时间变量;
所述数据变量包括目标数据库、目标数据表和目标分区;
所述维表变量包括维表数据库、维表表名和维表过滤条件。
4.根据权利要求1所述数据统计方法,其特征在于,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
获取每个所述任务的依赖配置信息,并根据所述依赖配置判断每个所述任务的所有依赖任务对应的实例是否执行完成;
若是,则根据每个所述任务对应的数据时间范围执行每个所述任务。
5.根据权利要求1所述数据统计方法,其特征在于,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
确定每个所述任务的任务类型,并确定所述任务类型对应的计算引擎;
利用每个所述任务对应的所述计算引擎根据所述数据时间范围执行每个所述任务。
6.根据权利要求1所述数据统计方法,其特征在于,所述根据每个所述任务对应的数据时间范围执行每个所述任务之后,还包括:
输出每个所述任务的任务执行日志。
7.根据权利要求1所述数据统计方法,其特征在于,所述根据每个所述任务对应的数据时间范围执行每个所述任务之后,还包括:
判断每个所述任务是否存在任务导入配置;
若是,则根据所述任务导入配置将所述任务的任务结果导入目标位置。
8.根据权利要求1至7任一项所述数据统计方法,其特征在于,所述根据每个所述任务对应的数据时间范围执行每个所述任务,包括:
获取每个所述任务对应的任务运行周期,根据所述任务运行周期当检测到到达预设的运行时刻时,根据每个所述任务对应的数据时间范围执行每个所述任务。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据统计程序,所述数据统计程序被所述处理器执行时实现如权利要求1至8任一项所述数据统计方法的步骤。
10.一种数据统计系统,其特征在于,包括:
获取模块,用于获取统计逻辑代码;其中,所述统计逻辑代码为利用预设变量编写的、用于进行数据统计的代码;
计算模块,用于初始化所述统计逻辑代码中每个任务的任务信息,并根据所述任务信息计算每个所述任务需要统计的数据时间范围;
执行模块,用于根据所述任务信息替换每个所述任务中的所有所述预设变量,并根据每个所述任务对应的数据时间范围执行每个所述任务。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据统计程序,所述数据统计程序被处理器执行时实现如权利要求1至8任一项所述数据统计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910500665.1A CN110222315A (zh) | 2019-06-11 | 2019-06-11 | 一种数据统计方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910500665.1A CN110222315A (zh) | 2019-06-11 | 2019-06-11 | 一种数据统计方法、系统及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110222315A true CN110222315A (zh) | 2019-09-10 |
Family
ID=67816406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910500665.1A Pending CN110222315A (zh) | 2019-06-11 | 2019-06-11 | 一种数据统计方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222315A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817720A (zh) * | 2021-01-30 | 2021-05-18 | 北京奇保信安科技有限公司 | 一种可视化工作流调度方法、装置及电子设备 |
CN113485804A (zh) * | 2021-06-30 | 2021-10-08 | 平安证券股份有限公司 | 数据调度方法、装置、设备及存储介质 |
CN113626050A (zh) * | 2021-07-22 | 2021-11-09 | 北京金山云网络技术有限公司 | 医疗应用的更新方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309904A (zh) * | 2012-03-16 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种生成数据仓库etl 代码的方法及装置 |
CN104915378A (zh) * | 2015-05-08 | 2015-09-16 | 珠海世纪鼎利通信科技股份有限公司 | 一种适用于大数据的统计任务快速生成系统及方法 |
CN106648859A (zh) * | 2016-12-01 | 2017-05-10 | 北京奇虎科技有限公司 | 一种任务调度方法和装置 |
-
2019
- 2019-06-11 CN CN201910500665.1A patent/CN110222315A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309904A (zh) * | 2012-03-16 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 一种生成数据仓库etl 代码的方法及装置 |
CN104915378A (zh) * | 2015-05-08 | 2015-09-16 | 珠海世纪鼎利通信科技股份有限公司 | 一种适用于大数据的统计任务快速生成系统及方法 |
CN106648859A (zh) * | 2016-12-01 | 2017-05-10 | 北京奇虎科技有限公司 | 一种任务调度方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817720A (zh) * | 2021-01-30 | 2021-05-18 | 北京奇保信安科技有限公司 | 一种可视化工作流调度方法、装置及电子设备 |
CN113485804A (zh) * | 2021-06-30 | 2021-10-08 | 平安证券股份有限公司 | 数据调度方法、装置、设备及存储介质 |
CN113626050A (zh) * | 2021-07-22 | 2021-11-09 | 北京金山云网络技术有限公司 | 医疗应用的更新方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761A (zh) | 报表数据查询方法及服务器 | |
CN102087597B (zh) | 一种基于j2ee和构件集的可视化开发平台 | |
CN102810057B (zh) | 一种记录日志的方法 | |
CN110222315A (zh) | 一种数据统计方法、系统及电子设备和存储介质 | |
CN107357593A (zh) | 源代码文件组建方法、装置、电子终端及可读存储介质 | |
CN102968468A (zh) | 电子表格中的数据的结构化建模 | |
US20180129482A1 (en) | Generation of application behaviors | |
CN110517138A (zh) | 智能合约处理方法、装置、计算机设备及存储介质 | |
CN111857663B (zh) | 一种软件设计方法、系统及电子设备和存储介质 | |
EP2763055A1 (en) | A telecommunication method and mobile telecommunication device for providing data to a mobile application | |
CN102262434A (zh) | 基于加速计输出来修改电子设备的转换的方法和装置 | |
CN104699408A (zh) | 触摸屏的操作方法、装置及触摸设备 | |
CN110362450A (zh) | 一种日志数据采集方法、装置及计算机可读存储介质 | |
CN110223044A (zh) | 一种邮件推送方法、系统及电子设备和存储介质 | |
CN106406672A (zh) | 一种日常事件聚合方法、装置以及电子设备 | |
CN103098048A (zh) | Sql枚举器 | |
CN110275903A (zh) | 提高机器学习样本的特征生成效率的方法及系统 | |
CN110162563A (zh) | 一种数据入库方法、系统及电子设备和存储介质 | |
CN110322313A (zh) | 基于sap系统批量创建销售订单及交货单过账的方法 | |
CN109739738A (zh) | 基于html5的事件日志管理方法、系统及相关装置 | |
CN107577962B (zh) | 一种密码卡多算法并列执行的方法、系统及相关装置 | |
CN113792038A (zh) | 用于存储数据的方法和装置 | |
US20110264487A1 (en) | Embedding Planning Components In Transactional Applications | |
CN101685396A (zh) | 对功能图标进行控制的系统及方法 | |
CN116820535A (zh) | 任务处理方法、装置、计算机可读存储介质和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |