从数据库抽取数据的方法和装置制造方法及图纸

技术编号:18138506 阅读:37 留言:0更新日期:2018-06-06 11:52
本发明专利技术提供一种灵活性好,资源利用率高的从数据库抽取数据的方法和装置。本发明专利技术的从数据库抽取数据的方法,包括:按照预设轮询周期定期地获取数据库当前平均数据记录数值,当前平均数据记录数值表示单位时间内该数据库中出现的数据记录的数量;根据当前平均数据记录数值确定数据抽取周期;根据数据抽取周期执行从所述数据库中抽取数据操作。

【技术实现步骤摘要】
从数据库抽取数据的方法和装置
本专利技术涉及一种计算机以及软件
,具体涉及从数据库抽取数据的方法和装置。
技术介绍
数据抽取是指从源数据系统(业务系统)的数据库抽取数据,并将数据加载到目标系统中去以满足后续的各类数据应用的过程。目前的数据抽取方法大部分都是固定周期进行抽取。所谓固定周期,也可以理解为固定频率,是指在固定的时间对数据进行抽取,常见的有按天或者按小时采用T+1方式进行抽取。其中,按天T+1抽取可以理解为在当天抽取前一天发生数据,按小时T+1抽取可以理解为当前一小时抽取前一小时发生的数据。按照固定时间间隔抽取数据具有不够灵活的弊端。特别针对电商这种业务变化快,业务系统数据时间量分布不规律更加不适应。以电商的订单数据举例,在节假日期间,订单的业务数量是很小的,但是在重大促销日里的数据量很大,如果始终按照一种时间间隔固定抽取进行抽取容易造成如下问题:(1)空闲资源的浪费,在数据量小时的时候如果选择按较小周期进行抽取会造成资源的大量浪费。(2)在数据量特别大的固定按较大周期抽取,容易因为大量数据积压,同一时间处理的数据量太大,造成数据处理周期长,并且有可能引发数据抽取故障。
技术实现思路
有鉴于此,本专利技术提供一种灵活性好,资源利用率高的从数据库抽取数据的方法和装置。为实现上述目的,根据本专利技术的一个方面,提供了一种从数据库抽取数据的方法。本专利技术的从数据库抽取数据的方法,包括:按照预设轮询周期定期地获取数据库当前平均数据记录数值,所述当前平均数据记录数值表示单位时间内该数据库中出现的数据记录的数量;根据所述当前平均数据记录数值确定数据抽取周期;根据所述数据抽取周期执行从所述数据库中抽取数据操作。可选地,所述按照预设轮询周期定期地获取数据库当前平均数据记录数值的步骤包括:按照预设轮询周期定期地获取未被抽取数据记录的数量;获取历史最近抽取操作时刻至当前时刻之间的时间长度;将所述未被抽取数据记录的数量除以所述时间长度,以得到所述当前平均数据记录数值。可选地,所述根据所述当前平均数据记录数值确定数据抽取周期的步骤包括:设置多段平均数据数值预设范围以及各段平均数据数值预设范围分别对应的多档数据抽取预设周期;确定所述当前平均数据记录数值对应的所述平均数据数值预设范围;将所述对应的平均数据数值预设范围对应的所述数据抽取预设周期作为所述数据抽取周期。可选地,所述预设轮询周期小于所述数据抽取周期。为实现上述目的,根据本专利技术的另一个方面,提供了一种从数据库抽取数据的装置。本专利技术的从数据库抽取数据的装置,包括:获取模块,用于按照预设轮询周期定期地获取数据库当前平均数据记录数值,所述当前平均数据记录数值表示单位时间内该数据库中出现的数据记录的数量;确定模块,用于根据所述当前平均数据记录数值确定数据抽取周期;抽取模块,用于根据所述数据抽取周期从所述数据库中当前的抽取数据操作。可选地,所述获取模块还用于:按照预设轮询周期定期地获取未被抽取数据记录的数量;获取历史最近抽取操作时刻至当前时刻之间的时间长度;将所述未被抽取数据记录的数量除以所述时间长度,以得到所述当前平均数据记录数值。可选地,所述确定模块还用于:设置多段平均数据数值预设范围以及各段平均数据数值预设范围分别对应的多档数据抽取预设周期;确定所述当前平均数据记录数值对应的所述平均数据数值预设范围;将所述对应的平均数据数值预设范围对应的所述数据抽取预设周期作为所述数据抽取周期。可选地,所述预设轮询周期小于所述数据抽取周期。根据本专利技术的技术方案,能够根据当前数据产生出现速度来调整抽取时间周期,这样的不定期地抽取数据过程能够实现数据抽取资源的灵活利用,并且在数据量大的时候能够及时处理数据、避免数据挤压。本专利技术的从数据库抽取数据的方法和装置具有智能化、灵活性好、资源利用率高等优点。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的从数据库抽取数据的方法的主要步骤的示意图;图2是根据本专利技术实施例的从数据库抽取数据的装置的主要模块的示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。除了
技术介绍
中介绍的按照固定周期抽取数据方法之外,现有技术中还存在如下的非固定周期抽取数据的方法:根据历史上最近的完整数据抽取周期中的单位时间内数据量的多寡,来指导未来最近的数据抽取周期的周期长短,然后从历史最近抽取数据的时间点开始推算,从而确定接下来的抽取数据的时间点。倘若突然发生了数据暴涨或者回落,当前周期的抽取数据的时间点并不会改变,数据量的变化只能影响再接下来下一个抽取数据周期的周期长度。也就是该方案存在数据涨落响应迟缓、调整周期长短的过程不够灵活、不够实时的技术问题。为了解决该技术问题,本专利技术提出了从数据库抽取数据的方法以及装置。图1是根据本专利技术实施例的从数据库抽取数据的方法的主要步骤的示意图。如图1所示,该实施方式的从数据库抽取数据的方法主要包括如下的步骤A至步骤C。步骤A:按照预设轮询周期定期地获取数据库当前平均数据记录数值,当前平均数据记录数值表示单位时间内该数据库出现的数据记录的数量。需要说明的是,步骤A中通过预设轮询周期保证了监控的时效性。优选地,预设轮询周期应当小于数据抽取周期。若有多档数据抽取周期可供选择,那么预设轮询周期应当小于最小数据抽取周期。这样可以保证抽取过程更加科学合理。步骤A可以具体包括如下的步骤A1至步骤A3(图1中未示出)。步骤A1:按照预设轮询周期定期地获取未被抽取数据记录的数量。步骤A2:获取历史最近抽取操作时刻至当前时刻之间的时间长度。步骤A3:将未被抽取数据记录的数量除以时间长度,以得到当前平均数据记录数值。步骤B:根据当前平均数据记录数值确定数据抽取周期。步骤B可以具体包括如下的步骤B1至步骤B3(图1中未示出)。步骤B1:设置多段平均数据数值预设范围以及各段平均数据数值预设范围分别对应的多档数据抽取预设周期。步骤B2:确定当前平均数据记录数值对应的平均数据数值预设范围。步骤B3:将对应的平均数据数值预设范围对应的数据抽取预设周期作为数据抽取周期。步骤C:根据数据抽取周期执行当前的抽取数据操作。图2是根据本专利技术实施例的从数据库抽取数据的装置的主要部件的示意图。如图2所示,该实施方式的从数据库抽取数据的装置20主要包括获取模块21、确定模块22和抽取模块23。获取模块21用于按照预设轮询周期定期地获取数据库当前平均数据记录数值,当前平均数据记录数值表示单位时间内数据库出现的数据记录的数量。需要说明的是,获取模块21中通过预设轮询周期来保证了监控的时效性。优选地,预设轮询周期应当小于数据抽取周期。若有多档数据抽取周期可供选择,那么预设轮询周期应当小于最小数据抽取周期。这样可以保证抽取过程更加科学合理。根据本专利技术的具体实施方式的获取模块21还可以用于:按照预设轮询周期定期地获取未被抽取数据记录的数量;获取历史最近抽取操作时刻至当前时刻之间的时间长度;将未被抽取数本文档来自技高网
...
从数据库抽取数据的方法和装置

【技术保护点】
一种从数据库抽取数据的方法,其特征在于,包括:按照预设轮询周期定期地获取数据库当前平均数据记录数值,所述当前平均数据记录数值表示单位时间内该数据库中出现的数据记录的数量;根据所述当前平均数据记录数值确定数据抽取周期;根据所述数据抽取周期执行从所述数据库中抽取数据操作。

【技术特征摘要】
1.一种从数据库抽取数据的方法,其特征在于,包括:按照预设轮询周期定期地获取数据库当前平均数据记录数值,所述当前平均数据记录数值表示单位时间内该数据库中出现的数据记录的数量;根据所述当前平均数据记录数值确定数据抽取周期;根据所述数据抽取周期执行从所述数据库中抽取数据操作。2.根据权利要求1所述的从数据库抽取数据的方法,其特征在于,所述按照预设轮询周期定期地获取数据库当前平均数据记录数值的步骤包括:按照预设轮询周期定期地获取未被抽取数据记录的数量;获取历史最近抽取操作时刻至当前时刻之间的时间长度;将所述未被抽取数据记录的数量除以所述时间长度,以得到所述当前平均数据记录数值。3.根据权利要求1所述的从数据库抽取数据的方法,其特征在于,所述根据所述当前平均数据记录数值确定数据抽取周期的步骤包括:设置多段平均数据数值预设范围以及各段平均数据数值预设范围分别对应的多档数据抽取预设周期;确定所述当前平均数据记录数值对应的所述平均数据数值预设范围;将所述对应的平均数据数值预设范围对应的所述数据抽取预设周期作为所述数据抽取周期。4.根据权利要求1所述的从数据库抽取数据的方法,其特征在于,所述预设轮询周...

【专利技术属性】
技术研发人员:颜博葛胜利王建辉
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1