CN110389960A - 数据刷新方法和装置 - Google Patents
数据刷新方法和装置 Download PDFInfo
- Publication number
- CN110389960A CN110389960A CN201810358887.XA CN201810358887A CN110389960A CN 110389960 A CN110389960 A CN 110389960A CN 201810358887 A CN201810358887 A CN 201810358887A CN 110389960 A CN110389960 A CN 110389960A
- Authority
- CN
- China
- Prior art keywords
- joblist
- run
- parameter information
- runninglist
- beginning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 28
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 6
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 241001269238 Data Species 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000006854 communication Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了数据刷新方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取与待刷新数据对应的所有作业的参数信息;对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环。本发明实施方式能够完成时间跨度较长的历史数据刷新、以及不同的条数据链的自动刷新,实现在短时间内完成大量历史数据刷新,且对正在运行的线上作业不产生影响。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据刷新方法和装置。
背景技术
随着公司业务的发展,一些数据的口径或指标的逻辑计算方式发生变更,导致一些重要的报表需要刷新历史数据,需要将一条或多条作业链进行重跑,以刷新数据。
现有技术中,基于Automation(Automation是一个ETL工具,包含调度管理、元数据管理、作业管理工具)系统的批量作业上线功能,可以通过shell命令来批量运行作业链上的数据。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
一、只能运行当天或者历史某一天的作业,无法完成周期较长的历史数据刷新,进而无法在短时间内完成大量历史数据刷新;
二、每次只能运行一个作业链,无法完成不同的条数据链的自动刷新,进而无法在短时间内完成大量历史数据刷新;
三、随着作业量的增多,Automation系统一天中的大部分时间都有作业在运行,如果使用Automation来进行数据刷新,会影响正常的作业运行。
发明内容
有鉴于此,本发明实施例提供一种数据刷新方法和装置,能够完成时间跨度较长的历史数据刷新、以及不同的条数据链的自动刷新,实现在短时间内完成大量历史数据刷新,且对正在运行的线上作业不产生影响。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据刷新方法,包括:
获取与待刷新数据对应的所有作业的参数信息;
对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
可选地,所述参数信息还包括:作业类型;所述预设参数还包括:预设作业类型;
若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,
运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。
可选地,所述作业类型是按照自增频率划分的。
可选地,运行所述待处理作业包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。
可选地,运行Runninglist中的作业包括:
获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);
若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
可选地,将所述待刷新数据对应的所有待处理作业放入Joblist中之前,还包括:
确认所有待处理作业的属性信息满足预设运行条件。
根据本发明实施例的再一个方面,提供一种数据刷新装置,包括:
获取模块,获取与待刷新数据对应的所有作业的参数信息;
处理模块,对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
可选地,所述参数信息还包括:作业类型;所述预设参数还包括:预设作业类型;
所述处理模块还用于:若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,
运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。
可选地,所述作业类型是按照自增频率划分的。
可选地,所述处理模块运行所述待处理作业包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。
可选地,所述处理模块运行Runninglist中的作业包括:
获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);
若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
可选地,将所述待刷新数据对应的所有待处理作业放入Joblist中之前,所述处理模块还用于:
确认所有待处理作业的属性信息满足预设运行条件。
根据本发明实施例的另一个方面,提供一种数据刷新电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器运行,使得所述一个或多个处理器实现本发明实施例第一方面提供的数据刷新方法。
根据本发明实施例的还一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器运行时实现本发明实施例第一方面提供的数据刷新方法。
上述发明中的一个实施例具有如下优点或有益效果:
(1)通过参数信息判断需要运行的作业,参数信息可以个性化配置,能够完成周期较长的历史数据刷新;
(2)参数信息与预设参数匹配的所有作业均可作为待处理作业,能够实现对不同的条数据链的自动刷新,从而在短时间内完成大量历史数据刷新;
(3)运行待处理作业时,采用层级和分组控制机制,能够顺次运行包括具有依赖关系的多个作业的作业链中的每个作业,避免进行数据刷新对正在运行的线上作业的影响;
(4)基于并发度的并发运行机制,一方面能够实现短时间内大量历史数据刷新,另一方面能够维护系统的稳定性;
(5)确认所有待处理作业的属性信息满足预设运行条件,能够进一步保证数据刷新时作业运行的正确性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据刷新方法的主要流程的示意图;
图2是根据本发明可选实施例的数据刷新方法的主要步骤示意图;
图3是根据本发明可选实施例的作业层级处理的主要流程示意图;
图4是根据本发明可选实施例的作业并行运行的主要流程示意图;
图5是根据本发明实施例的数据刷新装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据本发明实施例的一个方面,提供了一种数据刷新方法。
图1是根据本发明实施例的数据刷新方法的主要流程的示意图。如图1所示,数据刷新方法包括:
步骤S101、获取与待刷新数据对应的所有作业的参数信息;
步骤S102、对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
作业起止时间是指作业运行的开始时间和作业运行的结束时间。例如,对于执行时间不跨天的作业,其起止时间可以是2018年01月15日00:00:00至23:59:59。再例如,对于执行时间跨天的作业,其起止时间可以是2018年01月15日00:00:00至2018年01月20日23:59:59。本发明实施例中,当待处理作业的起始时间在预设起止时间范围内时,则开始下一步操作,否则结束并退出当前循环。预设起止时间可以根据实际情况进行选择设定,例如:若需要每天刷新历史数据,则可以将预设起止时间设置为每天的00:00:00至23:59:59;若需要每周刷新历史数据,则可以将预设起止时间设置为每周一的00:00:00至每周日的23:59:59;若需要每月刷新历史数据,则可以将预设起止时间设置为每月第一天的00:00:00至每月最后一天的23:59:59;等等。本发明实施例对此不做详细列举。
参数信息还可以包括:作业类型;预设参数还可以包括:预设作业类型。若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。当起止时间和作业类型均与预设参数匹配时,才进行下一步。如此,能够进一步保证数据刷新时作业运行的正确性。
作业类型的划分方式可以根据实际情况进行选择设定,在可选的实施例中,作业类型是按照自增频率划分的,例如,需要每天刷新的作业,其作业类型为天自增,即每次循环结束后,起止时间自增一天;需要每周刷新的作业,其作业类型为周自增,即每次循环结束后,起止时间自增七天;需要每月刷新的作业,其作业类型为月自增,即每次循环结束后,起止时间自增一个月;需要每季度刷新的作业,其作业类型为季度自增,即每次循环结束后,起止时间自增三个月;需要每年刷新的作业,其作业类型为年自增,即每次循环结束后,起止时间自增一年;以此类推。
例如:对于作业类型为天自增的作业,若其起止时间为2018年01月15日00:00:00至23:59:59,则2018年01月15日23:59:59之后,自动将起止时间增加一天,即起止时间自增为2018年01月16日00:00:00至23:59:59;
对于作业类型为周自增的作业,若其起止时间为2018年01月15日00:00:00至2018年01月21日23:59:59,则2018年01月21日23:59:59之后,自动将起止时间增加一周,即起止时间自增为2018年01月22日00:00:00至2018年01月28日23:59:59;
对于作业类型为月自增的作业,若其起止时间为2018年01月01日00:00:00至2018年01月31日23:59:59,则2018年01月31日23:59:59之后,自动将起止时间增加一月,即起止时间自增为2018年02月01日00:00:00至2018年02月28日23:59:59;等等。本发明实施例对此不做详细列举。
本发明实施例通过参数信息判断需要运行的作业,参数信息可以个性化配置,能够完成周期较长的历史数据刷新;参数信息与预设参数匹配的所有作业均可作为待处理作业,能够实现对不同的条数据链的自动刷新,从而在短时间内完成大量历史数据刷新。本发明的技术方案能够解决Automation系统无法大批量刷新历史数据的问题,任何时间点都可以快速准确地完成单个作业、多个作业、一条作业链、多条作业链的历史数据的批量更新。
作业链是相互联系的一系列作业活动组成的链条,比如,一条作业链:A→B→C→D→E→F。其中的每个字母代表一个作业,箭头右侧的作业依赖于箭头左侧的作业,即该作业链中的各个作业之间存在依赖关系。若第二条作业链为:H→I→J→K→L→M,由于第一个作业链与第二条作业链之间没有存在依赖关系的作业,因此第一条和第二条作业链之间没有关联关系。对于某一作业,若其依赖于其他作业,则在运行该作业时可能会对其依赖的其他作业的正常运行产生影响。比如B作业依赖于A作业,如果在B作业运行的时间点去调用A作业,可能会使调用到的B作业的数据为空,同时也可能会影响A作业的正常运行,即运行B作业以进行数据刷新时会影响A作业的正常运行。
为了避免数据刷新影响正常的作业运行,运行所述待处理作业可以包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。可选地,若,某一作业运行失败,还可以发出异常提醒,以便用户及时了解异常情况。异常提醒的方式可以随机设置,例如通过邮件、短信、电话等方式。
本发明实施例中的最底层作业,是指一条作业链中的最后一层作业,也即不被该作业链内的其他任何作业所依赖的作业。同一作业链中的作业之间都存在依赖关系,前一层作业运行完成后才运行后一层的作业。例如,若Joblist中存在作业链A→B→C→D→E→F,当从Joblist中取出的第一个作业是B作业时,由于B作业依赖于A作业、且A作业没有运行,因此判定B作业不是Joblist的最底层作业,此时,将B放入到Joblist的最后一位,等待下次检查。当A作业运行完成以后,会将A作业从Joblist中去掉,那么现在的作业链就是:B→C→D→E→F。当再次检查到B作业时,B作业就是最底层的作业。
运行待处理作业时,通过采用层级和分组(即分成多个列表)控制机制,能够顺次运行包括具有依赖关系的多个作业的作业链中的每个作业,避免进行数据刷新对正在运行的线上作业的影响。
将所述待刷新数据对应的所有待处理作业放入Joblist中之前,还可以包括:确认所有待处理作业的属性信息满足预设运行条件。例如,将需要刷新数据的待处理作业的名称存放在一个配置文件中,作业开始执行时,首先读取元数据库,检查这些作业名称是否正确,如果正确,将待处理作业放入到Joblist中。通过确认所有待处理作业的属性信息满足预设运行条件,能够进一步保证数据刷新时作业运行的正确性。
运行Runninglist中的作业可以包括:获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
并发度的取值可以根据实际情况进行选择设定,例如设置为10。预设时间也可以根据实际情况进行选择设定,例如:若m≥M,则延迟60s后循环运行获取当前正在运行的作业数m、以及判断作业数m是否小于预设并发度M的步骤,直至Runninglist为空。
在一些实施例中,△m可以为1。例如,若当前正在运行的作业数为m=2,预设并发度M=15,可以从Runninglist中取出△m=1个作业开始并行运行,延迟预设时间后跳转至获取当前正在运行的作业数的步骤;也可以从Runninglist中取出△m=13个作业开始并行运行,延迟预设时间后跳转至获取当前正在运行的作业数的步骤。
基于并发度的并发运行机制,一方面能够实现短时间内大量历史数据刷新,另一方面能够维护系统的稳定性。
图2是根据本发明可选实施例的数据刷新方法的主要步骤示意图。应当说明的是,图2是基于一个作业的运行过程介绍数据刷新方法的主要步骤。当具有多个作业时,可以分别按照如下步骤进行运行。如图2所示,数据刷新方法包括:
作业开始;
判断该作业的参数信息与预设参数是否匹配;若不匹配,则结束该作业的运行过程;若匹配,则进入下一操作;
作业层级处理,即采用层级和分组(即分成多个列表)控制机制运行待处理作业,具体内容可参见前述部分,此处不再赘述;
作业并行执行,即基于并发度的并发运行机制运行Runninglist中的作业,具体内容可参见前述部分,此处不再赘述;
参数自增,以是该作业的参数信息增加N(N代表参数信息的增加量,其取值根据实际情况而定);然后跳转至判断该作业的参数信息与预设参数是否匹配的步骤;直至该作业的参数信息与预设参数不匹配,结束。
图3是根据本发明可选实施例的作业层级处理的主要流程示意图。如图3所示,作业层级处理的主要流程包括:
获取待处理作业;
判断待处理作业是否可行;若可行,则将该待处理作业放入Joblist中;否则,结束当前流程;
取Joblist中第一个作业;
判断该作业是否为最底层作业;若是,则将该作业放入Runninglist;否则,将该作业放回Joblist,然后跳转至取Joblist中第一个作业的步骤;
运行Runninglist中的作业;
判断运行是否成功;若成功,则将运行成功的作业从Joblist和Runninglist中删除、并记录在Finishedlist;否则,将该运行不成功的作业放入Joblist,然后跳转至取Joblist中第一个作业的步骤;
结束。
图4是根据本发明可选实施例的作业并行运行的主要流程示意图。如图4所示,作业并行运行的主要流程包括:
获取正在运行的作业数;
判断作业数是否小于预设并发度;若是,则从Runninglist中取出作业;否则,延迟预设时间后,跳转至前一步骤;
并行运行作业;
判断作业是否运行成功;
若是,则将运行成功的作业记录在Finishedlist,从Runninglist中删除运行成功的作业,从Joblist中删除运行成功的作业;
若否,则将未运行成功的作业放入到Joblist等待下次运行,然后发出异常提醒。
根据本发明实施例的再一个方面,提供一种数据刷新装置。
图5是根据本发明实施例的数据刷新装置的主要模块的示意图。如图5所示,数据刷新装置500包括:
获取模块501,获取与待刷新数据对应的所有作业的参数信息;
处理模块502,对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
可选地,所述参数信息还包括:作业类型;所述预设参数还包括:预设作业类型;
所述处理模块还用于:若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,
运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。
可选地,所述作业类型是按照自增频率划分的。
可选地,所述处理模块运行所述待处理作业包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。
可选地,所述处理模块运行Runninglist中的作业包括:
获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);
若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
可选地,将所述待刷新数据对应的所有待处理作业放入Joblist中之前,所述处理模块还用于:
确认所有待处理作业的属性信息满足预设运行条件。
根据本发明实施例的另一个方面,提供一种数据刷新电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器运行,使得所述一个或多个处理器实现本发明实施例第一方面提供的数据刷新方法。
图6示出了可以应用本发明实施例的数据刷新方法或数据刷新装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据刷新方法一般由服务器605运行,相应地,数据刷新装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而运行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络运行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于运行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701运行时,运行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令运行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令运行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可运行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地运行,它们有时也可以按相反的顺序运行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用运行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,处理模块还可以被描述为“获取与待刷新数据对应的所有作业的参数信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备运行时,使得该设备包括:获取与待刷新数据对应的所有作业的参数信息;对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
根据本发明实施例的技术方案,具有如下优点或有益效果:
(1)通过参数信息判断需要运行的作业,参数信息可以个性化配置,能够完成周期较长的历史数据刷新;
(2)参数信息与预设参数匹配的所有作业均可作为待处理作业,能够实现对不同的条数据链的自动刷新,从而在短时间内完成大量历史数据刷新;
(3)运行待处理作业时,采用层级和分组控制机制,能够顺次运行包括具有依赖关系的多个作业的作业链中的每个作业,避免进行数据刷新对正在运行的线上作业的影响;
(4)基于并发度的并发运行机制,一方面能够实现短时间内大量历史数据刷新,另一方面能够维护系统的稳定性;
(5)确认所有待处理作业的属性信息满足预设运行条件,能够进一步保证数据刷新时作业运行的正确性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种数据刷新方法,其特征在于,包括:
获取与待刷新数据对应的所有作业的参数信息;
对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
2.如权利要求1所述的方法,其特征在于,所述参数信息还包括:作业类型;所述预设参数还包括:预设作业类型;
若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,
运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。
3.如权利要求2所述的方法,其特征在于,所述作业类型是按照自增频率划分的。
4.如权利要求1所述的方法,其特征在于,运行所述待处理作业包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。
5.如权利要求4所述的方法,其特征在于,运行Runninglist中的作业包括:
获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);
若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
6.如权利要求4所述的方法,其特征在于,将所述待刷新数据对应的所有待处理作业放入Joblist中之前,还包括:
确认所有待处理作业的属性信息满足预设运行条件。
7.一种数据刷新装置,其特征在于,包括:
获取模块,获取与待刷新数据对应的所有作业的参数信息;
处理模块,对于每个所述作业,循环运行如下步骤,直至该作业的参数信息与预设参数不匹配,以实现数据刷新:判断所述作业起止时间与预设参数是否匹配;若匹配,则将所述作业作为待处理作业,运行所述待处理作业,运行结束后使所述参数信息自增;若不匹配,则结束当前循环;
其中,所述参数信息包括:作业起止时间;所述预设参数包括:预设起止时间。
8.如权利要求7所述的装置,其特征在于,所述参数信息还包括:作业类型;所述预设参数还包括:预设作业类型;
所述处理模块还用于:若所述作业起止时间在所述预设起止时间范围内、且所述作业类型符合所述预设作业类型,则确认所述参数信息与预设参数匹配;以及,
运行结束后使所述参数信息自增包括:运行结束后使所述作业起止时间自增。
9.如权利要求8所述的装置,其特征在于,所述作业类型是按照自增频率划分的。
10.如权利要求7所述的装置,其特征在于,所述处理模块运行所述待处理作业包括:
将所述待刷新数据对应的所有待处理作业放入工作列表Joblist中;
按照如下步骤遍历Joblist,以获得运行列表Runninglist:取出Joblist中的第一个作业,若该作业是Joblist的最底层作业,则将其放入Runninglist中,否则将其放入Joblist的最后一位;
运行Runninglist中的作业,将运行完成的作业存放到完成列表Finishedlist中、并从Joblist和Runninglist中删除,如果运行失败,则将作业放入到Joblist的最后一位。
11.如权利要求10所述的方法,其特征在于,所述处理模块运行Runninglist中的作业包括:
获取当前正在运行的作业数m;若m<预设并发度M,则从Runninglist中取出△m个作业开始并行运行,△m为正整数、且△m≤(M-m);
若m≥M,则延迟预设时间后循环运行前述步骤,直至Runninglist为空。
12.如权利要求10所述的装置,其特征在于,将所述待刷新数据对应的所有待处理作业放入Joblist中之前,所述处理模块还用于:
确认所有待处理作业的属性信息满足预设运行条件。
13.一种数据刷新电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器运行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器运行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358887.XA CN110389960B (zh) | 2018-04-20 | 2018-04-20 | 数据刷新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358887.XA CN110389960B (zh) | 2018-04-20 | 2018-04-20 | 数据刷新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389960A true CN110389960A (zh) | 2019-10-29 |
CN110389960B CN110389960B (zh) | 2024-06-14 |
Family
ID=68283621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810358887.XA Active CN110389960B (zh) | 2018-04-20 | 2018-04-20 | 数据刷新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389960B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202761A (zh) * | 2007-12-04 | 2008-06-18 | 赵晓宇 | 一种分布式资源调度系统及其方法 |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN102147718A (zh) * | 2010-02-10 | 2011-08-10 | 佳能株式会社 | 打印作业管理装置、打印作业管理方法及图像形成装置 |
CN106708481A (zh) * | 2015-07-30 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种控制任务执行的方法 |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
US20180060729A1 (en) * | 2016-09-01 | 2018-03-01 | International Business Machines Corporation | Apparatus and method for learning a model corresponding to time-series input data |
-
2018
- 2018-04-20 CN CN201810358887.XA patent/CN110389960B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202761A (zh) * | 2007-12-04 | 2008-06-18 | 赵晓宇 | 一种分布式资源调度系统及其方法 |
CN101216782A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种金融数据实现etl加工的方法和系统 |
CN102147718A (zh) * | 2010-02-10 | 2011-08-10 | 佳能株式会社 | 打印作业管理装置、打印作业管理方法及图像形成装置 |
CN106708481A (zh) * | 2015-07-30 | 2017-05-24 | 北京京东尚科信息技术有限公司 | 一种控制任务执行的方法 |
US20180060729A1 (en) * | 2016-09-01 | 2018-03-01 | International Business Machines Corporation | Apparatus and method for learning a model corresponding to time-series input data |
CN107102894A (zh) * | 2017-04-07 | 2017-08-29 | 百度在线网络技术(北京)有限公司 | 任务调度方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110389960B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363456A (zh) | 一种物品上架的方法和装置 | |
CN110472207A (zh) | 表单生成方法和装置 | |
CN110245011A (zh) | 一种任务调度方法和装置 | |
CN110209677A (zh) | 更新数据的方法和装置 | |
CN108959633A (zh) | 一种提供客户服务的方法和装置 | |
CN112100219A (zh) | 基于数据库查询处理的报表生成方法、装置、设备和介质 | |
CN110309142A (zh) | 规则管理的方法和装置 | |
CN109697537A (zh) | 数据审核的方法和装置 | |
CN109241033A (zh) | 创建实时数据仓库的方法和装置 | |
CN110209662A (zh) | 一种自动化加载数据的方法和装置 | |
CN109933509A (zh) | 一种实现自动化测试缺陷管理的方法和装置 | |
CN108958959A (zh) | 检测hive数据表的方法和装置 | |
CN110473036A (zh) | 一种生成订单号的方法和装置 | |
CN107861933A (zh) | 生成运维报表的方法和装置 | |
CN109002385A (zh) | 用于数据流系统的压力测试方法和装置 | |
CN110019367A (zh) | 一种统计数据特征的方法和装置 | |
CN109727047A (zh) | 一种确定数据关联度的方法和装置、数据推荐方法和装置 | |
CN108628669A (zh) | 一种调度机器学习算法任务的方法和装置 | |
CN107517251A (zh) | 信息推送方法和装置 | |
CN109978392A (zh) | 敏捷软件开发管理方法、装置、电子设备、存储介质 | |
CN109992495A (zh) | 接口测试的方法和装置 | |
CN112308590B (zh) | 一种参数处理方法、装置以及计算设备、存储介质 | |
CN112506771A (zh) | 一种报文比对方法和装置 | |
CN109814957A (zh) | 一种用于ios系统的标签添加方法和装置 | |
CN109829723A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |