CN103729385A - 一种报表自动更新的方法和装置 - Google Patents

一种报表自动更新的方法和装置 Download PDF

Info

Publication number
CN103729385A
CN103729385A CN201210392895.9A CN201210392895A CN103729385A CN 103729385 A CN103729385 A CN 103729385A CN 201210392895 A CN201210392895 A CN 201210392895A CN 103729385 A CN103729385 A CN 103729385A
Authority
CN
China
Prior art keywords
task
data
dependence
report
application end
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.)
Granted
Application number
CN201210392895.9A
Other languages
English (en)
Other versions
CN103729385B (zh
Inventor
李小健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210392895.9A priority Critical patent/CN103729385B/zh
Publication of CN103729385A publication Critical patent/CN103729385A/zh
Application granted granted Critical
Publication of CN103729385B publication Critical patent/CN103729385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种报表自动更新的方法和装置。所述方法包括:收集报表和数据仓库中各个任务的依赖关系;调度执行数据仓库中的各个任务,并依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕;若是,则触发报表应用端刷新相应的报表。利用本申请无需手动刷新就可以获取最新的数据,减轻服务器的负载。

Description

一种报表自动更新的方法和装置
技术领域
本申请涉及数据库技术领域,特别是涉及一种报表自动更新的方法和装置。
背景技术
数据仓库是一个独立的数据环境,通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质(例如数据库)导入到数据仓库中,将不同数据源的数据分离出来,形成统一、有效的数据集,并最终加工、转换为适合于各类报表(report)提取的数据表(table)。
数据仓库通过调度系统来管理数据仓库的任务(task),如图5给出的报表生成的示意图。数据仓库调度系统开始启动任务之前都会生成当天的调度任务,用于管理多个task的执行,每个task产出一个或多个table,每个task依赖于一个或者多个前置task,当一个task的前置task完成后,调度下一个task运行起来,进而生成最终的结果table。
Report由报表工具(例如,SAP公司的报表工具SAP Business Objects)依据关联的数据仓库的多个table生成,可以向相关的业务部门提供了大量的信息以供分析参考和决策,例如,产品部门通过Report查看市场消费变动情况,运营部门通过report了解消费群体分布情况等。
Table是由数据仓库调度系统管理生成的,而report是由报表工具管理生成的,两个系统相互独立、互不相关。当业务部门想要查看某个report的最新数据时,并不清楚report依赖的数据仓库table是否完成,所以获取数据时,必须手动去刷新报表,以获得最近的数据。
以上现有技术中存在的问题是,如果一个report使用到了多个大数据量的table做关联,那么刷新一次report的时间会很长,同时消耗大量的计算资源;而且当有多人同时查看一个或多个report时,打开每个report都需要重新刷新,大量的刷新会加重报表服务器的负载,使得其它报表的访问变慢,甚至可能导致服务器资源不足,影响系统的正常运行。
因此,目前需要本领域技术人员解决的一个技术问题就是,提供一种报表自动更新的机制,以实现无需手动刷新就可以获取最新的数据,减轻服务器的负载。
发明内容
本申请所要解决的技术问题是提供一种报表自动更新的方法,以实现无需手动刷新就可以获取最新的数据,减轻服务器的负载。
本申请还提供了一种报表自动更新的装置,用以保证上述方法在实际中的应用及实现。
为了解决上述问题,本申请公开了一种报表自动更新的方法,包括:
收集报表和数据仓库中各个任务的依赖关系;
调度执行数据仓库中的各个任务,并依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕;
若是,则触发报表应用端刷新相应的报表。
优选的,所述收集报表和数据仓库中各个任务的依赖关系的步骤包括:
在报表应用端提取报表与数据表的依赖关系;
针对各报表,在数据仓库中查找各数据表所依赖的数据表所对应的任务,得到各报表所依赖的任务。
优选的,所述在报表应用端提取报表与数据表的依赖关系的步骤包括:
调用报表应用端的API接口,提取生成各报表的SQL语句;
针对各报表,解析对应的SQL语句得到相应的数据表。
优选的,解析所述SQL语句还得到相应的视图,所述在报表应用端提取报表与数据表的依赖关系的步骤还包括:
递归查找所述视图对应的数据表。
优选的,所述调度执行数据仓库中的各个任务的步骤包括:
调度系统依据所述报表和数据仓库中各个任务的依赖关系,以及各个任务之间的依赖关系,建立调度计划;
按照所述调度计划,执行数据仓库中的各个任务。
优选的,所述依据依赖关系,判断各报表所依赖的任务是否均执行完毕的步骤为:
在接收到任务执行后返回的完成信息时,针对该任务所对应的报表,判断所依赖的各个任务是否均执行完毕。
优选的,所述触发报表应用端刷新相应的报表的步骤包括:
向报表应用端发送预设的执行完毕标识和相应的报表的标识信息。
优选的,所述触发报表应用端刷新相应的报表的步骤包括:
将相应的报表的标识信息发送到报表应用端,同时调用报表应用端API接口。
优选的,所述触发报表应用端刷新相应的报表的步骤还包括:
报表应用端依据报表的标识信息,确定对应的生成该报表的SQL语句;
在数据仓库提取该报表所依赖的数据表,执行所述SQL语句,生成并更新该报表。
优选的,更新后的报表保存在报表应用端的缓存中。
优选的,所述方法还包括:
将更新后的报表发送给预设对象。
本申请还提供了一种报表自动更新的装置,包括:
依赖关系收集模块,用于收集报表和数据仓库中各个任务的依赖关系;
调度模块,用于调度执行数据仓库中的各个任务;
判断模块,用于依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,则执行刷新触发模块;
刷新触发模块,用于触发报表应用端刷新相应的报表。
与现有技术相比,本申请具有以下优点:
本申请通过收集报表和数据仓库任务的依赖关系,针对各个报表,依据依赖关系判断其对应的一个或多个任务是否执行完,若执行完毕,说明该报表所依赖的数据表都已经完成,可以触发报表应用端刷新报表,从而实现了报表应用端的报表的自动更新,刷新后的报表缓存到报表系统中,用户访问报表时,无需手动刷新可以直接从缓存中读取最新的数据,提高了报表的查看速度。
同时,由于实现了报表的自动刷新,从而避免了刷新影响其他报表的访问和导致服务器资源不足的问题,相比于现有技术,减轻了服务器的负载。
附图说明
图1是本申请的一种报表自动更新的方法实施例1的流程图;
图2是本申请的一种报表自动更新的方法实施例2的流程图;
图3是本申请的一种报表自动更新的装置实施例1的结构框图;
图4是本申请的一种报表自动更新的装置实施例2的结构框图;
图5是本申请中报表生成的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参考图1,示出了本申请的一种报表自动更新的方法实施例1的流程图,具体可以包括以下步骤:
步骤101、收集报表和数据仓库中各个任务的依赖关系。
在本申请的一种优选实施例中,所述步骤101可以包括:
子步骤S11、在报表应用端提取报表与数据表的依赖关系;
子步骤S12、针对各报表,在数据仓库中查找各数据表所依赖的数据表所对应的任务,得到各报表所依赖的任务。
数据仓库通过调度系统调度执行多个数据表任务,任务执行后生成对应的数据表。报表应用端独立于数据仓库,依据预设的数据表与报表的依赖关系,从数据仓库获取数据表,并依据数据表生成报表。因此,报表应用端的报表与数据仓库中任务的依赖关系,可以通过报表应用端的报表与数据表的依赖关系,以及数据仓库中数据表与任务的对应关系获取。
优选的,所述子步骤S11可以包括:
子步骤S11-1、调用报表应用端的API接口,提取生成各报表的SQL语句;
子步骤S11-2、针对各报表,解析对应的SQL语句得到相应的数据表。
SQL(Structured Query Language)即结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,报表应用端通过对数据表执行SQL语句来生成报表,因此,解析SQL语句可以获取报表所依赖的数据表。具体的,报表应用端提供了API接口,通过调用报表应用端的API接口,提取生成各报表的SQL语句,解析SQL语句可以得到报表和数据表的依赖关系,然后从数据仓库中获取数据表和任务的对应关系,便可以得到报表应用端的报表和数据仓库中任务的依赖关系。
在具体的实现中,从SQL语句中解析得到的可能是报表和视图(view)的依赖关系,因此,还需要递归查找视图和数据表的依赖关系,所述子步骤S11还可以包括:
子步骤S11-3、递归查找所述视图对应的数据表。
在具体的实现中,视图是依据数据表生成的,可以通过以下步骤查找视图对应的数据表:
Step1、查找生成视图的SQL语句;
Step 2、解析SQL语句,获得视图所依赖的数据表或其他视图;
Step 3、若上个步骤中获得的是数据表,则将该数据表作为报表依赖的数据表;若获得的是另一个视图,则返回Step1,直至解析结果为数据表。
以下为生成报表A的SQL语句:
SELECT a.SNAPSHOT_DATE,
       a.CUST_ID,
       b.FULLNAME,
       a.SITE_MEM_ID,
       c.APPLY_CUST_DAY,
       d.REPAY_AMT_MONTH,
       e.FIRST_VISIT_DATE,
       c.MODEL_AMT_DAY,
       f.LEVEL1_NAME,
       g.STAR_NAME
   FROM JRVDL.A_TB_DRAWNDN_CUST_SUMDV0      a,
       JRODS.TBIDL_SELLER_BASIC_INFO        b,
       JRVDL.A_TB_APPL_CUST_SUMDV0          c,
       JRVDL.A_TB_REPAY_CUST_SUMDV0         d,
       JRVDL.A_TB_VISIT_STAT_SUMDV1         e,
       JRODS.TBPUB_CATEGORY_INDUSTRY_DIM    f,
       JRPUB.C_PUB_STAR_DIM0                g
   WHERE(a.SNAPSHOT_DATE(+)=c.SNAPSHOT_DATE)
    AND(a.SITE_MEM_ID(+)=c.SITE_MEM_ID)
    AND(a.SITE(+)=c.SITE)
    AND(a.PROD_ID(+)=c.PROD_ID)
    AND(b.NICK(+)=a.S ITE_MEM_ID)
    AND(d.SNAPSHOT_DATE(+)=a.SNAPSHOT_DATE)
     AND(d.PROD_ID(+)=a.PROD_ID)
     AND(d.SITE_MEM_ID(+)=a.SITE_MEM_ID)
     AND(d.SITE(+)=a.SITE)
     AND(b.TRADE_MAIN_CAT_ID=f.LEVEL1_ID(+))
     AND(e.NICK(+)=a.SITE_MEM_ID)
     AND(e.SNAPSHOT_DATE(+)=a.SNAPSHOT_DATE)
     AND(b.SELLER_STAR_ID=g.STAR_ID)
     AND(a.SITE_MEM_ID Is Not Null AND a.SNAPSHOT_DATE=trunc(sysdate)-1AND
10        a.PROD_ID IN(′2002′))
对该SQL语句进行解析,可以得到报表A所依赖的对象包括:
对象1、JRVDL.A_TB_DRAWNDN_CUST_SUMDV0
对象2、JRODS.TBIDL_SELLER_BASIC_INFO
对象3、JRVDL.A_TB_APPL_CUST_SUMDV0
对象4、JRVDL.A_TB_REPAY_CUST_SUMDV0
对象5、JRVDL.A_TB_VISIT_STAT_SUMDV1
对象6、JRODS.TBPUB_CATEGORY_INDUSTRY_DIM
对象7、JRPUB.C_PUB_STAR_DIM0
其中,对象1-5均为视图,对象6-7为数据表,因此,针对对象1-5,需要递归查找对应的数据表,共得到该报表所依赖的7个数据表;然后,针对各数据表,在数据仓库中查找对应的任务,例如,对象6所依赖的任务task_id为519421,对象7所依赖的任务task_id为519342。最后,建立报表和任务的依赖关系。
如下面表格所示为报表234和报表256与任务的依赖关系,其中,report_id=234的报表,依赖于task_id为510023,510055,130133的任务;report_id=256的报表,依赖于task_id为612278,130023,130078的任务。
序号 report_id task_id
1 234 510023,510055,130133
2 256 612278,130023,130078
步骤102、调度执行数据仓库中的各个任务。
具体的,所述步骤102可以包括:
子步骤S21、调度系统依据所述报表和数据仓库中各个任务的依赖关系,以及各个任务之间的依赖关系,建立调度计划;
子步骤S22、按照所述调度计划,执行数据仓库中的各个任务。
在具体的实现中,基于查看报表的各个业务系统的需求,报表和数据表的依赖关系可能会经常发生变化,体现在报表系统中,也即是生成各报表的SQL语句会改变。
由于报表应用端报表和数据表依赖关系的改变,对应的数据仓库调度系统建立的调度任务也需要发生变化,因此,在执行数据仓库任务之前,需要依据报表应用端报表和数据表依赖关系重新建立调度任务。
例如,2012年9月1日,report1依赖table3和table5,对应的数据仓库的调度任务如下:
task1(table1)—task2(table2)—task3(table3)
task4(table4)—task5(table5)
各task生成对应的table,task2依赖于task1,task3依赖于task2,task5依赖于task4。9月2日,由于业务需求变更,report1依赖对更改为table2和table6,table6依赖于table5,因此,需要增加生成table6的task6,因此,对应的调度任务为:
task1(table1)—task2(table2)—task3(table3)
task4(table4)—task5(table5)—task6(table6)
数据仓库依据报表应用端的依赖关系建立调度任务后,可以插入到数据仓库的日常调度计划中,然后按照所述调度计划,执行数据仓库中的各个任务。
步骤103、依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,则执行步骤104。
在本申请的一种优选实施例中,所述步骤103可以包括:
子步骤S31、在接收到任务执行后返回的完成信息时,针对该任务所对应的报表,判断所依赖的各个任务是否均执行完毕。
数据仓库执行调度任务,依据报表和任务的依赖关系,可以判断各个报表对应的任务是否均完成。具体的,每个任务执行完毕会返回一个完成的信息,可以按照一定的频率定时判断各报表对应的任务是否完成;也可以在接收到某个任务的完成信息后,针对各个报表,判断其对应的任务是否完成;在本申请中,在接收到每个任务的完成信息后,可以针对该任务对应的报表,判断该报表所依赖的每个任务是不是都已经完成。
步骤104、触发报表应用端刷新相应的报表。
通过数仓调度系统的依赖关系判断出某个报表所依赖的任务都已经完成,即所依赖的报表都已经准备好了之后,就可以及时地去刷新报表了。
具体的,在本申请的一种优选实施例中,所述步骤104可以包括:
子步骤S41、向报表应用端发送预设的执行完毕标识和相应的报表的标识信息。
在这个优选实施例中,通过报表应用端的事件触发机制来触发报表应用端刷新报表,事件触发机制,就是在什么情况下做什么动作,比如接收到某个标志文件即触发相应的操作,此处,报表应用端接收到执行完毕的标识后,就会依据同时发送过来的报表的标识信息,触发刷新相应的报表动作。
在本申请的另一种优选实施例中,所述步骤104可以包括:
子步骤S51、将相应的报表的标识信息发送到报表应用端,同时调用报表应用端API接口。
报表应用端提供了一个预设的API接口,调用该接口就可以刷新报表,在本实施例中,可以通过访问该API接口,同时传入报表的标识信息,即可触发报表应用端依据报表的标识信息刷新相应的报表。
本申请通过收集报表应用端的报表和数据仓库的数据表的依赖关系,在执行数据仓库的任务时,若判断出某个报表所依赖的任务均已完成,则主动触发报表应用端刷新该报表,相当于是将数仓的调度延伸到了报表应用端,保证业务方每次打开报表时,数据都是当前最新的。在具体的应用中,经测试访问报表的速度提高了80%。
在本申请的一种优选实施例中,所述步骤104还可以包括:
子步骤S61、报表应用端依据报表的标识信息,确定对应的生成该报表的SQL语句;
子步骤S62、在数据仓库提取该报表所依赖的数据表,执行所述SQL语句,生成并更新该报表。
刷新报表的操作即是重新生成该报表的操作,依据数据仓库发送的报表的标识信息可以确定需要刷新的报表,进而确定生成该报表的SQL语句,SQL语句中包含了生成报表所需要的数据表,在数据仓库中提取相应的数据表,并执行SQL语句即可得到该报表。
在具体的实现中,更新后的报表可以保存在报表应用端的缓存中,下次再来访问该报表时,直接从缓存读取,可以提高报表查看的速度。
参考图2,示出了本申请的一种报表自动更新的方法实施例2的流程图,具体可以包括以下步骤:
步骤201、收集报表和数据仓库中各个任务的依赖关系;
步骤202、调度执行数据仓库中的各个任务;
步骤203、依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,执行步骤204;
步骤204、触发报表应用端刷新相应的报表。
步骤205、将更新后的报表发送给预设对象。
本实施例中,在刷新报表之后,即可将更新后的报表发送给业务系统中,从而使得业务系统可以在第一时间接收到最新的报表数据。以业务日报为例,报表应用端会在特定的时间点从数据仓库获取数据表生成业务日报,并自动发送到各个业务系统,如果在该时间点之前,日报所依赖的数据表还没有完成,就会使得发送业务日报没有数据,必须等待数据表均完成后,生成日报,手动发送给各业务系统。通过本申请的方法,可以在业务日报所依赖的各数据表完成时,主动触发刷新,生成业务日报,然后发送到各业务系统,使得各业务系统可以尽快获取到最新的业务日报,无需人工手动发送,节约了人力和时间。
综上所述,依据本申请,通过收集报表和数据仓库任务的依赖关系,针对各个报表,依据依赖关系判断其对应的一个或多个任务是否执行完,若执行完毕,说明该报表所依赖的数据表都已经完成,可以触发报表应用端刷新报表,从而实现了报表应用端的报表的自动更新,刷新后的报表缓存到报表系统中,用户访问报表时,无需手动刷新可以直接从缓存中读取最新的报表数据,提高了报表的查看速度。
同时,由于实现了报表的自动刷新,从而避免了刷新影响其他报表的访问和导致服务器资源不足的问题,相比于现有技术,减轻了服务器的负载。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参考图3,示出了本申请的一种报表自动更新的装置实施例1的结构框图,具体可以包括以下模块:
依赖关系收集模块301,用于收集报表和数据仓库中各个任务的依赖关系;
调度模块302,用于调度执行数据仓库中的各个任务;
判断模块303,用于依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,则执行刷新触发模块;
刷新触发模块304,用于触发报表应用端刷新相应的报表。
在本申请的一种优选实施例中,所述依赖关系收集模块可以包括:
数据表依赖关系提取子模块,用于在报表应用端提取报表与数据表的依赖关系;
任务依赖关系提取子模块,用于针对各报表,在数据仓库中查找各数据表所依赖的数据表所对应的任务,得到各报表所依赖的任务。
在本申请的一种优选实施例中,所述数据表依赖关系提取子模块可以包括:
SQL语句提取子单元,用于调用报表应用端的API接口,提取生成各报表的SQL语句;
SQL语句解析子单元,用于针对各报表,解析对应的SQL语句得到相应的数据表。
在本申请的一种优选实施例中,所述数据表依赖关系提取子模块还可以包括:
递归查找子单元,用于递归查找所述视图对应的数据表。
在本申请的一种优选实施例中,所述调度模块可以包括:
调度计划建立子模块,用于调度系统依据所述报表和数据仓库中各个任务的依赖关系,以及各个任务之间的依赖关系,建立调度计划;
任务执行子模块,用于按照所述调度计划,执行数据仓库中的各个任务。
在本申请的一种优选实施例中,所述判断模块可以包括:
报表任务判断子模块,用于在接收到任务执行后返回的完成信息时,针对该任务所对应的报表,判断所依赖的各个任务是否均执行完毕。
在本申请的一种优选实施例中,所述刷新触发模块可以包括:
第一信息发送子模块,用于向报表应用端发送预设的执行完毕标识和相应的报表的标识信息。
在本申请的一种优选实施例中,所述刷新触发模块可以包括:
第二信息发送子模块,用于将相应的报表的标识信息发送到报表应用端,同时调用报表应用端API接口。
在本申请的一种优选实施例中,所述刷新触发模块可以包括:
SQL语句确定子模块,用于报表应用端依据报表的标识信息,确定对应的生成该报表的SQL语句;
SQL语句执行子模块,用于在数据仓库提取该报表所依赖的数据表,执行所述SQL语句,生成并更新该报表。
在本申请的一种优选实施例中,更新后的报表可以保存在报表应用端的缓存中。
参考图4,示出了本申请的一种报表自动更新的装置实施例2的结构框图,具体可以包括以下模块:
依赖关系收集模块401,用于收集报表和数据仓库中各个任务的依赖关系;
调度模块402,用于调度执行数据仓库中的各个任务;
判断模块403,用于依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,则执行刷新触发模块;
刷新触发模块404,用于触发报表应用端刷新相应的报表。
报表发送模块405,用于将更新后的报表发送给预设对象。
由于所述装置实施例基本相应于前述图1和图2所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种报表自动更新的方法,以及,一种报表自动更新的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种报表自动更新的方法,其特征在于,包括:
收集报表和数据仓库中各个任务的依赖关系;
调度执行数据仓库中的各个任务,并依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕;
若是,则触发报表应用端刷新相应的报表。
2.如权利要求1所述的方法,其特征在于,所述收集报表和数据仓库中各个任务的依赖关系的步骤包括:
在报表应用端提取报表与数据表的依赖关系;
针对各报表,在数据仓库中查找各数据表所依赖的数据表所对应的任务,得到各报表所依赖的任务。
3.如权利要求2所述的方法,其特征在于,所述在报表应用端提取报表与数据表的依赖关系的步骤包括:
调用报表应用端的API接口,提取生成各报表的SQL语句;
针对各报表,解析对应的SQL语句得到相应的数据表。
4.如权利要求3所述的方法,其特征在于,解析所述SQL语句还得到相应的视图,所述在报表应用端提取报表与数据表的依赖关系的步骤还包括:
递归查找所述视图对应的数据表。
5.如权利要求1所述的方法,其特征在于,所述调度执行数据仓库中的各个任务的步骤包括:
调度系统依据所述报表和数据仓库中各个任务的依赖关系,以及各个任务之间的依赖关系,建立调度计划;
按照所述调度计划,执行数据仓库中的各个任务。
6.如权利要求1所述的方法,其特征在于,所述依据依赖关系,判断各报表所依赖的任务是否均执行完毕的步骤为:
在接收到任务执行后返回的完成信息时,针对该任务所对应的报表,判断所依赖的各个任务是否均执行完毕。
7.如权利要求1所述的方法,其特征在于,所述触发报表应用端刷新相应的报表的步骤包括:
向报表应用端发送预设的执行完毕标识和相应的报表的标识信息。
8.如权利要求1所述的方法,其特征在于,所述触发报表应用端刷新相应的报表的步骤包括:
将相应的报表的标识信息发送到报表应用端,同时调用报表应用端API接口。
9.如权利要求7或8所述的方法,其特征在于,所述触发报表应用端刷新相应的报表的步骤还包括:
报表应用端依据报表的标识信息,确定对应的生成该报表的SQL语句;
在数据仓库提取该报表所依赖的数据表,执行所述SQL语句,生成并更新该报表。
10.如权利要求1所述的方法,其特征在于,更新后的报表保存在报表应用端的缓存中。
11.如权利要求1所述的方法,其特征在于,还包括:
将更新后的报表发送给预设对象。
12.一种报表自动更新的装置,其特征在于,包括:
依赖关系收集模块,用于收集报表和数据仓库中各个任务的依赖关系;
调度模块,用于调度执行数据仓库中的各个任务;
判断模块,用于依据所述依赖关系,判断各报表所依赖的任务是否均执行完毕,若是,则执行刷新触发模块;
刷新触发模块,用于触发报表应用端刷新相应的报表。
CN201210392895.9A 2012-10-16 2012-10-16 一种报表自动更新的方法和装置 Active CN103729385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210392895.9A CN103729385B (zh) 2012-10-16 2012-10-16 一种报表自动更新的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210392895.9A CN103729385B (zh) 2012-10-16 2012-10-16 一种报表自动更新的方法和装置

Publications (2)

Publication Number Publication Date
CN103729385A true CN103729385A (zh) 2014-04-16
CN103729385B CN103729385B (zh) 2017-05-03

Family

ID=50453463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210392895.9A Active CN103729385B (zh) 2012-10-16 2012-10-16 一种报表自动更新的方法和装置

Country Status (1)

Country Link
CN (1) CN103729385B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450719A (zh) * 2014-09-30 2016-03-30 中国移动通信集团公司 一种系统间文件传输方法及装置
CN105893088A (zh) * 2016-03-30 2016-08-24 广东欧珀移动通信有限公司 一种应用信息的更新方法及用户设备
CN106155674A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 报表页面展现的方法及装置
CN108038248A (zh) * 2017-12-28 2018-05-15 携程计算机技术(上海)有限公司 Etl依赖自动识别方法与系统
CN108228783A (zh) * 2017-12-27 2018-06-29 中国石油化工股份有限公司江汉油田分公司勘探开发研究院 页岩气井数据采集方法及装置
CN108710602A (zh) * 2018-05-15 2018-10-26 深圳市继尧信息技术有限公司 成绩数据的处理方法、装置、计算机设备及存储介质
CN108874757A (zh) * 2017-05-10 2018-11-23 北京京东尚科信息技术有限公司 报表生成方法及系统、计算机可读介质、电子设备
CN110209390A (zh) * 2019-05-30 2019-09-06 北京科东电力控制系统有限责任公司 基于自定义变换规则实现电力系统图形可视化变换的方法
CN111352947A (zh) * 2020-02-28 2020-06-30 深圳前海微众银行股份有限公司 数据的更新方法、装置、设备及存储介质
CN112015623A (zh) * 2020-08-27 2020-12-01 百度时代网络技术(北京)有限公司 报表数据处理的方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1320874A (zh) * 2001-05-25 2001-11-07 清华大学 网络环境下的程序挖掘方法及其程序挖掘系统
CN101685452A (zh) * 2008-09-26 2010-03-31 阿里巴巴集团控股有限公司 数据仓库调度方法及调度系统
US20110153675A1 (en) * 2009-12-23 2011-06-23 International Business Machines Corporation Common connection definitions for database clients
CN102323945A (zh) * 2011-09-02 2012-01-18 南京中兴力维软件有限公司 一种基于sql的数据库管理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1320874A (zh) * 2001-05-25 2001-11-07 清华大学 网络环境下的程序挖掘方法及其程序挖掘系统
CN101685452A (zh) * 2008-09-26 2010-03-31 阿里巴巴集团控股有限公司 数据仓库调度方法及调度系统
US20110153675A1 (en) * 2009-12-23 2011-06-23 International Business Machines Corporation Common connection definitions for database clients
CN102323945A (zh) * 2011-09-02 2012-01-18 南京中兴力维软件有限公司 一种基于sql的数据库管理方法和装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450719B (zh) * 2014-09-30 2019-05-24 中国移动通信集团公司 一种系统间文件传输方法及装置
CN105450719A (zh) * 2014-09-30 2016-03-30 中国移动通信集团公司 一种系统间文件传输方法及装置
CN106155674A (zh) * 2015-04-22 2016-11-23 阿里巴巴集团控股有限公司 报表页面展现的方法及装置
CN106155674B (zh) * 2015-04-22 2020-04-07 阿里巴巴集团控股有限公司 报表页面展现的方法及装置
CN105893088A (zh) * 2016-03-30 2016-08-24 广东欧珀移动通信有限公司 一种应用信息的更新方法及用户设备
CN105893088B (zh) * 2016-03-30 2020-07-03 Oppo广东移动通信有限公司 一种应用信息的更新方法及用户设备
CN108874757A (zh) * 2017-05-10 2018-11-23 北京京东尚科信息技术有限公司 报表生成方法及系统、计算机可读介质、电子设备
CN108874757B (zh) * 2017-05-10 2022-08-09 北京京东尚科信息技术有限公司 报表生成方法及系统、计算机可读介质、电子设备
CN108228783A (zh) * 2017-12-27 2018-06-29 中国石油化工股份有限公司江汉油田分公司勘探开发研究院 页岩气井数据采集方法及装置
CN108038248B (zh) * 2017-12-28 2021-11-26 携程计算机技术(上海)有限公司 Etl依赖自动识别方法与系统
CN108038248A (zh) * 2017-12-28 2018-05-15 携程计算机技术(上海)有限公司 Etl依赖自动识别方法与系统
CN108710602A (zh) * 2018-05-15 2018-10-26 深圳市继尧信息技术有限公司 成绩数据的处理方法、装置、计算机设备及存储介质
CN110209390A (zh) * 2019-05-30 2019-09-06 北京科东电力控制系统有限责任公司 基于自定义变换规则实现电力系统图形可视化变换的方法
CN111352947A (zh) * 2020-02-28 2020-06-30 深圳前海微众银行股份有限公司 数据的更新方法、装置、设备及存储介质
CN111352947B (zh) * 2020-02-28 2024-05-14 深圳前海微众银行股份有限公司 数据的更新方法、装置、设备及存储介质
CN112015623A (zh) * 2020-08-27 2020-12-01 百度时代网络技术(北京)有限公司 报表数据处理的方法、装置、设备及可读存储介质
CN112015623B (zh) * 2020-08-27 2024-04-12 百度时代网络技术(北京)有限公司 报表数据处理的方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN103729385B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
CN103729385A (zh) 一种报表自动更新的方法和装置
US11010278B2 (en) Real-time reporting based on instrumentation of software
US11216302B2 (en) Modifying task dependencies at worker nodes using precompiled libraries
CN109409633B (zh) 业务监测与风险预警系统
CN109656963B (zh) 元数据获取方法、装置、设备及计算机可读存储介质
Bockermann et al. The streams framework
CN107103064B (zh) 数据统计方法及装置
US11669599B2 (en) Systems and methods for software license management
US20100125476A1 (en) System having business aware framework for supporting situation awareness
CN110196888B (zh) 基于Hadoop的数据更新方法、装置、系统及介质
AU2021201308B2 (en) Real-time reporting based on instrumentation of software
CN109783562B (zh) 一种业务处理方法和装置
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
CN109039817A (zh) 一种用于流量监控的信息处理方法和装置
CN115335821A (zh) 卸载统计收集
CN104484275A (zh) 一种可远程测试智能卡的方法及系统
CN100483398C (zh) 一种电子数据表的计算方法和装置
CN116450723A (zh) 数据提取方法、装置、计算机设备及存储介质
US9870404B2 (en) Computer system, data management method, and recording medium storing program
CN114281494A (zh) 数据全生命周期管理方法、系统、终端设备及存储介质
CN114201508A (zh) 数据处理方法、数据处理装置、电子设备和存储介质
CN114428913A (zh) 数据管理方法、装置、设备及存储介质
CN114116509A (zh) 程序分析方法、装置、电子设备和存储介质
CN112929237A (zh) 网站细分流量的分析方法、系统、设备和介质
CN113722141B (zh) 数据任务的延迟原因确定方法、装置、电子设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191209

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right