数据同步调度方法和装置的制作方法

文档序号:6356090阅读:247来源:国知局
专利名称:数据同步调度方法和装置的制作方法
技术领域
本发明涉及对大数据量的数据进行智能实时复制和调度技术,尤其涉及数据同步调度方法和装置。
背景技术
随电信企业业务量迅速增加、业务种类的日益复杂,电信应用系统的爆炸式发展,企业必须管理不断增长的信息流量。如何实 现业务数据的共享并进行批处理、接近实时的数据交付,如何高速从同构或异构环境抽取并处理数据,成为企业各系统间数据同步与共孚的关键所在。对于超大数据量的实时数据采集和分发来说,如果能够根据进程所在系统的资源占用情况,在实时数据采集和分发的基础上动态增加或减少相关进程数,则一方面可以保障生产系统的持续正常运行,另一方面可以大大提高资源的利用率并满足数据实时交付和实时共享的要求。

发明内容
有鉴于此,本发明的目的在于提出数据同步调度方法和装置,在不影响生产系统持续正常运行的情况下,提升数据采集和分发的效率,进而提高数据实时交付和实时共享的能力。为了解决上述问题,本发明提出数据同步调度方法,包括以下步骤生成系统资源的最大可利用值;获取数据日志生成速度以及数据采集进程对日志的处理速度,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个数据采集进程对应的数据量配置信息;获取数据传输进程和数据投递进程的列队处理速度,结合历史队列处理效率信息,动态生成数据传输进程组和数据投递进程组中备用进程的配置数目、以及每个数据传输进程和数据投递进程对应的数据量配置信息;收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数,根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒和/或停用的备用进程,即时唤醒和/或停用备用进程。本发明还提出数据同步调度系统,包括 系统资源监控模块,部署在源数据库服务器和目标数据库服务器上,用于生成系统资源的最大可利用值;数据库日志监控分析模块,部署在源数据库服务器上,用于获取数据日志生成速度以及数据采集进程对日志的处理速度,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个数据采集进程对应的数据量配置信息;队列监控分析模块,部署在源数据库服务器和目标数据库服务器上,用于获取数据传输进程和数据投递进程的列队处理速度,结合历史队列处理效率信息,动态生成数据传输进程组和数据投递进程组中备用进程的配置数目、以及每个数据传输进程和数据投递进程对应的数据量配置信息;智能监控分析库,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数;进程管理模块,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒和/或停用的备用进程,向进程调度模块发送请求;

进程调度模块,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于根据进程管理模块的指示,即时唤醒和/或停用备用进程。基于上述技术方案,本发明在基于日志的数据采集机制的基础上,根据系统资源的利用情况动态地进行进程调配,在不影响生产系统持续正常运行的情况下,提升数据采集和分发的效率,进而提闻数据实时交付和实时共孚能力。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I为本发明数据同步调度方法流程示意图。图2为本发明数据同步调度装置示意图。图3为本发明数据同步调度装置实施例架构示意图。
具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。如图I所示为数据同步调度方法实施的流程示意图。本发明通过动态调整数据采集进程、数据传输进程和数据投递进程的配置个数,以及动态调整每个进程需要处理的数据量,来提升数据复制效率。本实施例的流程包括以下步骤在步骤101,通过系统资源监控模块周期性自动获取数据采集进程、数据传输进程以及数据投递进程所在系统的CPU、内存以及IO等系统资源的利用率。在步骤102,根据CPU、内存以及IO等的利用率分析系统资源的利用趋势。采集、监控系统资源的使用情况并记录到数据库,结合历史值、时间点之间的资源使用情况会形成趋势图。例如,时间点A的CPU使用在50%,内存I. 5G,IO达到4M,时间点B的CPU使用在60%,内存I. 7G,IO达到4M,说明时间点A和B之间,CPU和内存在增加。监控数据越多、分析周期越长,越能发现系统资源利用的趋势和规律。在步骤103,生成系统资源的最大可利用值。作为本发明的一个实施例,根据系统资源利用趋势设定系统资源预警阈值,用“系统资源预警阈值”减去“当前系统资源的使用值(如百分比)”,得出系统资源的最大可利用值。通常情况下,当前系统资源的使用值都会设置一个预警值,超过这个值后,系统的不稳定性就会增加。因此,我们在调度的时候,要考虑合理限制数据传输进程和数据投递进程等的负载,以保证整个系统的资源使用情况在预期可控范围内。当然,也可以根据其他方法,比如直接设定系统资源的最大可利用值为固定值,只是,本发明优选采用根据步骤101和步骤102生成系统资源的最大可利用值,智能匹配当前的系统运行情况。在步骤104,通过数据库日志监控分析模块获取数据日志生成速度以及数据采集进程对日志的处理速度。根据日志文件大小判断日志生成速度,例如每秒日志文件增长了多少MB,根据每秒分析多少MB的日志可以判断数据采集进程对日志的分析处理速度。在步骤105,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个数据采集进程对应的数据量配置信息(O可以表示不需要备用进程)。历史采集效率信息可以统计历史采集数据量信息,比如,数据 量配置信息中包括的数据表、每个数据表的大小等,从而为配置备用进程提供参考。数据采集进程组,是指功能相同的数据采集进程集合,负责新增数据的捕捉、分析和将分析出的数据加载到传输队列中,交由传输进程传送到目标服务器。采集进程的数据量配置,通常可以理解为需要采集哪些数据表或者数据文件,即表(文件)名和表(文件)字段 目息。数据采集进程组中的进程分为主进程和备用进程,主进程和备用进程功能完全一致。首先要保障主进程的正常运行,根据进程对日志的处理速度判断是否需要配置备用进程来增加处理效率。当数据日志生成速度比数据采集进程对日志的处理速度快,说明数据采集进程不满足要求,不能及时处理完生成的日志数据,需要生成备用采集进程,以及配置每个数据采集进程中的采集数据量。否则,当数据采集进程处理能力明显过剩时,需要结束相应的备用进程,以减少对资源的占用。在步骤106,通过队列监控分析模块获取数据传输进程和数据投递进程的队列处
理速度。日志是数据变化过程的装载体,通过采集进程采集相关信息,转成自定义的中间格式加载到队列中。简单的来讲,日志是数据生产者,队列是数据传输的中转站。在步骤107,结合历史队列处理效率信息,动态生成数据传输进程组和数据投递进程组中备用进程的配置数目、以及每个传输进程和投递进程对应的数据量配置信息(O可以表示不需要备用进程)。历史队列处理效率信息,记录了每个传输进程和投递进程历史的处理数据量大小,以及处理时间开销。根据这些信息,就可以更加合理的计算需要启用的备用进程数目,以及每个进程对应的数据量。这样,有助于提高配置的有效性和合理性。数据传输进程组,是指功能相同的进程集合,负责从源服务器上的队列中提取数据,并传输到目标服务器上的队列中。数据投递进程组,是指功能相同的进程集合,负责从目标服务器上的队列中提取数据,将数据加载到目标系统(如数据库)中。数据传输进程和数据投递进程的数据量配置信息,通常可以理解为需要采集哪些数据表或者文件,即表(文件)名和表(文件)字段信息。与采集进程组的配置类似数据传输进程组、数据投递进程组也分为主进程和备用进程,主进程和备用进程功能完全一致。首先要保障主进程的正常运行,根据进程对队列的处理速度判断是否需要配置备用进程来增加处理效率。根据队列中的数据生成(由数据采集进程将数据加载到传输队列中)速度,以及队列中数据处理(将数据从传输队列中取走,通过传输进程传输到目标服务器上)速度,来判断当前传输进程组的总体处理能力是否满足要求。当队列中的数据处理速度小于队列的数据生成速度时,表示传输进程组不够用,需要增加传输进程的数目。相反,则需要减少传输进程的数目。由于每个传输进程都负责处理指定队列的数据处理,因此,需要分析每个传输进程的数据处理速度是否与数据生成速度相匹配,如果不匹配,调整传输进程需要处理的数据量,例如,把该队列中的部分数据交由其他传输进程进行传输。当传输进程对队列的处理速度比投递进程对队列的处理速度快,则表示数据投递进程的处理能力需要提高,需要重新配置数据投递进程组中备用进程的配置数目、以及每个投递进程对应的数据量配置信息(O可以表示不需要备用进程)。相反,当投递进程处理能力明显过剩时,需要减少投递进程的数目,以释放系统资源。 在步骤108,进程管理模块收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数,根据系统资源的最大可利用值和进程的资源开销系数,决定哪些备用进程将被唤醒,并向进程调度模块发出进程唤醒请求;该步骤还包括进程管理模块收集采集进程组、传输进程组以及投递进程组中可以停用的备用进程数,并向进程调度模块发出进程停用请求。通过统计采集、传输、投递单个进程需要占用的资源开销,包括CPU、内存以及10,形成资源开销系数,例如,一个采集进程的资源开销系数是CPU占用率为3%、内存占用为400M,来判断准备唤醒的备用进程占用的系统资源开销是否小于系统资源的最大可利用值(即系统资源预警阈值减去当前系统资源的使用值)。当满足条件时,才唤醒此备用进程。在步骤109,进程调度模块根据进程唤醒请求和/或进程停用请求即时唤醒或停用进程组中的备用进程。本发明根据数据采集、数据传输、数据投递进程所在系统的资源利用率的情况,动态生成这些进程与配置,最大化的提升处理效率。本发明解决了系统处理能力与系统资源之间的智能匹配、调度,从而降低了运维的复杂度。如图2所示,为本发明数据同步调度系统实施例的示意图。包括系统资源监控模块、数据库日志监控分析模块、队列监控分析模块、智能监控分析库、进程调度模块、进程组管理模块。系统资源监控模块,部署在源数据库服务器和目标数据库服务器上,用于实时监控系统资源利用情况并分析系统资源利用趋势,智能地反馈当前系统资源最大可利用范围。其中,系统资源监控模块用于生成系统资源的最大可利用值,优选实施方式为,系统资源监控模块获取数据采集进程、数据传输进程以及数据投递进程所在系统的CPU、内存以及IO的利用率;根据CPU、内存以及IO的利用率分析系统资源利用趋势;根据系统资源利用趋势设定系统资源预警阈值,用系统资源预警阈值减去当前系统资源的使用值,得到系统资源的最大可利用值。数据库日志监控分析模块,部署在源数据库服务器上,用于监测数据库在线日志的生成速率并及时反映数据库在线日志生成速率的变化情况。
作为本发明的一个实施例,数据库日志监控分析模块用于获取数据日志生成速度以及数据采集进程对日志的处理速度,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个采集进程对应的数据量配置信息。具体为,数据库日志监控分析模块当数据日志生成速度比数据采集进程对日志的处理速度快,生成备用进程的配置数目,以及配置每个数据采集进程中的数据量配置信息;相反,减少数据采集进程的数目。队列监控分析模块,部署在源数据库服务器和目标数据库服务器上,用于实时监测队列文件产生的速度、队列文件传输速率和队列文件的投递速率并及时反映队列文件变化情况。作为本发明的一个实施例,队列监控分析模块用于获取数据传输进程和数据投递进程的列队处理速度,结合历史队列处理效率信息,动态生成传输进程组和投递进程组中备用进程的配置数目、以及每个传输进程和投递进程对应的数据量配置信息。具体为,队列监控分析模块当数据传输进程对队列的处理速度小于数据采集进程对队列的处理速度,增加数据传输进程的数目、以及每个数据传输进程对应的数据量配置信息,相反,减少数据传输进程的数目;当数据投递进程对队列的处理速度小于数据传输进程对队列的处理速 度,配置数据投递进程组中备用进程的配置数目、以及每个数据投递进程对应的数据量配置信息,相反,减少数据投递进程的数目。智能监控分析库,部署在任意的能与源数据库服务器和目标数据库服务器正常通信的服务器上,既可以是源数据库服务器,也可以是目标数据库服务器,还可以是第三方服务器。用于存储系统资源、数据库在线日志、队列文件实时监控记录。作为本发明的一个实施例,智能监控分析库用于收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数。进程管理模块,部署在任意的能与源数据库服务器和目标数据库服务器正常通信的服务器上,既可以是源数据库服务器,也可以是目标数据库服务器,还可以是第三方服务器。用于进程组的动态配置和管理,包括根据对日志及队列文件的监控情况和趋势信息动态调整各个进程组中进程的数量;主进程与备用进程间的匹配关系;响应进程调度请求。系统资源首先要保障主进程的正常运行,在主进程的处理效率不足情况下才唤醒备用进程,占用系统资源。在同一进程组中备用进程和主进程在功能上不存在差异,备用进程等同于主进程的副本,只是其执行的优先级比主进程低。作为本发明的一个实施例,进程管理模块用于根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒和/或停用的备用进程,向进程调度模块发送请求。具体地,进程管理模块通过统计采集、传输、投递单个进程需要占用的资源开销,形成资源开销系数,当准备唤醒的备用进程占用的资源开销系数小于系统资源的最大可利用值时,唤醒所述备用进程。进程调度模块,部署在任意的能与源数据库服务器和目标数据库服务器正常通信的服务器上,既可以是源数据库服务器,也可以是目标数据库服务器,还可以是第三方服务器。用于根据进程管理模块的指示,即时唤醒和/或停用备用进程。本发明获取数据库日志生成的速度、采集进程对日志处理的速度、传输进程对队列的传输速度以及投递进程对队列处理的速度。决定采集进程组中采集进程数的多少、传输进程组中传输进程数的多少以及投递进程组中投递进程数的多少。
如图3所示,为本发明智能化数据同步调度方法及系统实施例的系统整体架构示意图。以CPU利用率阈值为75%。当源服务器上的CPU利用率超过75%时,就需要减少采集进程的数目,或者将采集进程部署成远程采集模式,以降低源服务器上的系统负载。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当 中。
权利要求
1.数据同步调度方法,包括以下步骤 生成系统资源的最大可利用值; 获取数据日志生成速度以及数据采集进程对日志的处理速度,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个数据采集进程对应的数据量配置信息; 获取数据传输进程和数据投递进程的列队处理速度,结合历史队列处理效率信息,动态生成数据传输进程组和数据投递进程组中备用进程的配置数目、以及每个数据传输进程和数据投递进程对应的数据量配置信息; 收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数,根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒和/或停用的备用进程,即时唤醒和/或停用备用进程。
2.根据权利要求I所述数据同步调度方法,其中,生成系统资源的最大可利用值的步骤,包括 获取数据采集进程、数据传输进程以及数据投递进程所在系统的CPU、内存以及IO的利用率; 根据CPU、内存以及IO的利用率分析系统资源利用趋势; 根据系统资源利用趋势设定系统资源预警阈值,用系统资源预警阈值减去当前系统资源的使用值,得到系统资源的最大可利用值。
3.根据权利要求I所述数据同步调度方法,其中,动态生成数据采集进程组中备用进程的配置数目和每个采集进程对应的数据量配置信息的步骤,包括 当数据日志生成速度比数据采集进程对日志的处理速度快,生成备用进程的配置数目,以及配置每个数据采集进程中的数据量配置信息;相反,减少数据采集进程的数目。
4.根据权利要求I所述数据同步调度方法,其中,动态生成传输进程组和投递进程组中备用进程的配置数目、以及每个传输进程和投递进程对应的数据量配置信息的步骤,包括 当数据传输进程对队列的处理速度小于数据采集进程对队列的处理速度,增加数据传输进程的数目、以及每个数据传输进程对应的数据量配置信息,相反,减少数据传输进程的数目; 当数据投递进程对队列的处理速度小于数据传输进程对队列的处理速度,配置数据投递进程组中备用进程的配置数目、以及每个数据投递进程对应的数据量配置信息,相反,减少数据投递进程的数目。
5.根据权利要求I所述数据同步调度方法,其中,根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒的备用进程的步骤,包括 通过统计采集、传输、投递单个进程需要占用的资源开销,形成资源开销系数,当准备唤醒的备用进程占用的资源开销系数小于系统资源的最大可利用值时,唤醒所述备用进程。
6.数据同步调度系统,包括 系统资源监控模块,部署在源数据库服务器和目标数据库服务器上,用于生成系统资源的最大可利用值;数据库日志监控分析模块,部署在源数据库服务器上,用于获取数据日志生成速度以及数据采集进程对日志的处理速度,结合历史采集效率信息,动态生成数据采集进程组中备用进程的配置数目和每个数据采集进程对应的数据量配置信息; 队列监控分析模块,部署在源数据库服务器和目标数据库服务器上,用于获取数据传输进程和数据投递进程的列队处理速度,结合历史队列处理效率信息,动态生成数据传输进程组和数据投递进程组中备用进程的配置数目、以及每个数据传输进程和数据投递进程对应的数据量配置信息; 智能监控分析库,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于收集采集进程组、传输进程组以及投递进程组中需要唤醒的备用进程数; 进程管理模块,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于根据系统资源的最大可利用值和进程的资源开销系数,决定唤醒和/或停用的备用进程,向进程调度模块发送请求; 进程调度模块,部署在与源数据库服务器和目标数据库服务器正常通信的服务器上,用于根据进程管理模块的指示,即时唤醒和/或停用备用进程。
7.根据权利要求6所述数据同步调度系统,其中 系统资源监控模块获取数据采集进程、数据传输进程以及数据投递进程所在系统的CPU、内存以及IO的利用率;根据CPU、内存以及IO的利用率分析系统资源利用趋势;根据系统资源利用趋势设定系统资源预警阈值,用系统资源预警阈值减去当前系统资源的使用值,得到系统资源的最大可利用值。
8.根据权利要求6所述数据同步调度系统,其中 数据库日志监控分析模块当数据日志生成速度比数据采集进程对日志的处理速度快,生成备用进程的配置数目,以及配置每个数据采集进程中的数据量配置信息;相反,减少数据采集进程的数目。
9.根据权利要求6所述数据同步调度系统,其中 队列监控分析模块当数据传输进程对队列的处理速度小于数据采集进程对队列的处理速度,增加数据传输进程的数目、以及每个数据传输进程对应的数据量配置信息,相反,减少数据传输进程的数目;当数据投递进程对队列的处理速度小于数据传输进程对队列的处理速度,配置数据投递进程组中备用进程的配置数目、以及每个数据投递进程对应的数据量配置信息,相反,减少数据投递进程的数目。
10.根据权利要求6所述数据同步调度系统,其中 进程管理模块通过统计采集、传输、投递单个进程需要占用的资源开销,形成资源开销系数,当准备唤醒的备用进程占用的资源开销系数小于系统资源的最大可利用值时,唤醒所述备用进程。
全文摘要
本发明提出数据同步调度方法和装置。获取数据库日志生成的速度、采集进程对日志处理的速度、传输进程对队列的传输速度以及投递进程对队列处理的速度。决定采集进程组中采集进程数的多少、传输进程组中传输进程数的多少以及投递进程组中投递进程数的多少。本发明在不影响生产系统持续正常运行的情况下,提升数据采集和分发的效率,进而提高数据实时交付和实时共享的能力。
文档编号G06F9/52GK102681904SQ20111006288
公开日2012年9月19日 申请日期2011年3月16日 优先权日2011年3月16日
发明者乐建兵, 向勇, 张青, 黄平 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1