一种数据补采方法和数据补采系统的制作方法

文档序号:6488570阅读:475来源:国知局
一种数据补采方法和数据补采系统的制作方法
【专利摘要】本发明提供一种数据补采方法,用于实现对现有数据采集系统所采集数据的缺失数据进行补采,为每个采集单元预设采集任务观察点和相应的补采策略,初始化该采集任务观察点中的目标采集单元信息、采集任务信息及记录采集任务完成情况;数据采集系统各采集单元在完成采集任务时将任务完成情况写入相应的采集任务观察点中的任务完成情况记录;根据采集异常的任务完成情况记录,结合预设补采策略对数据源进行补采。本发明利用采集任务观察点提供的数据,判断采集失败的环节,直接执行失败的步骤,可节约采集资源,本发明还提供一种数据补采系统。
【专利说明】一种数据补采方法和数据补采系统
【技术领域】
[0001]本发明涉及数据采集技术,具体是一种数据补采方法,以及一种数据补采系统。
【背景技术】
[0002]在电力、电信、交通等多个行业,需要从各种处于现场的数据源采集大量的数据进入目标数据,以便进行各种控制和管理。由于数据采集系统在实时或者定时的采集过程中,可能出现系统异常或者数据源异常,上述数据采集任务可能失败,造成数据丢失,这就要求进行数据补采。
[0003]对于不同的数据采集系统中,数据补采策略和采集环境均有所不同。例如,在电信或者交通等领域,对数据及时性的要求高,在出现数据缺失后,要求及时补采缺失的数据。在电信领域,对于缺失的数据,在采集系统本身负荷较大的情况下,则可能只需要补采用户关注的时间段的数据。因此,根据不同的情况,需要采取不同的补采策略,而各个数据采集系统的具体采集环节均存在不同。
[0004]由于上述原因,现有数据采集系统中的数据补采模块的设计,需要开发者对具体的采集系统的补采策略和采集环节有深刻了解。这些补采模块与数据采集系统的耦合性高,不同的数据采集系统需要设计不同的补采模块,无法复用,造成开发成本的严重浪费。
[0005]此外,在现有的数据补采系统中,数据补采的灵活性明显不足。现有的数据补采技术中,其补采策略均统一设计。例如,发现数据缺失,均采取立刻补采的策略,或者均采取定时补采的策略,往往造成补采效果差、数据及时性差、资源耗费高。例如,如果采用立刻补采的策略,即发现数据缺失,就立即执行补采,则可能产生两方面的问题:第一,如果数据缺失是因为连接数据源或者网络问题,立即补采的话,可能数据源和网络还没有恢复,导致补采仍然失败;第二,如果数据缺失是因为采集系统本身负荷较高造成的,立即补采,采集系统负荷还是很高,也会导致补采失败。如果采用定时补采策略,那么就不能保证数据采集的及时性,某些数据就失去了补采的意义。另外,现有的补采不能定制需要补采的数据的时间范围,比如,对于某些电信应用,用户有可能最关注忙时或者节假日的数据,不需要对其他数据进行补采,那么现有的补采方式,就会造成资源浪费。
[0006]最后,现有的补采技术在补采过程上存在浪费。现有的补采技术,均不分析数据采集失败的原因,完全调用正常采集的过程进行补采,即执行完整的采集流程。这样不仅加大了数据源的负荷和采集压力,浪费采集系统的资源,还会使补采的耗时增加,降低数据的及时性。

【发明内容】

[0007]本发明提供一种数据补采方法,该数据补采方法能够适应各种数据采集系统的情况,便于实现补采系统的可靠的复用。
[0008]本发明提供的数据补采方法的优选方案,还能够灵活的定制数据补采策略,针对不同的数据采取不同的补采策略,充分适应不同场合的不同要求。[0009]本发明提供的数据补采方法的优选方案,还能够根据补采失败的原因,从补采失败的环节开始进行补采,这样,可以充分利用已经执行成功的采集环节,避免采集系统资源浪费。
[0010]本发明同时提供一种便于实现上述数据补采方法的数据补采系统。
[0011]一种数据补采方法,用于实现对现有数据采集系统所采集数据的缺失数据进行补采,所述数据采集系统包括多个采集单元,每个采集单元根据与其对应的业务采集流程对一个数据源完成采集任务,得到目标数据,其特征在于,包括如下步骤:
[0012]A、为每个采集单元预设一个采集任务观察点和相应的补采策略,所述观察点包括采集单元信息、采集任务信息、采集任务完成情况及补采策略,所述补采策略设置对应采集单元的补采条件和补采方式;并初始化所述采集任务观察点。
[0013]B、数据采集系统各采集单元在完成采集任务时将任务完成情况写入相应的采集任务观察点中的任务完成情况记录,其中包括采集是否异常情况;
[0014]C、根据采集任务观察点中的任务完成情况记录,如果有采集异常情况,结合采集任务观察点中预设的补采策略,对所述采集任务观察点对应的采集单元的数据源进行补米。[0015]进一步的,所述步骤C中对所述采集任务观察点对应的采集单元的数据源进行补采的过程具体为:
[0016]判断所述采集任务观察点任务完成情况记录中是否有采集异常的记录,若有,则根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单元及相应的预设补采策略;
[0017]判断所述补采策略的补采条件在所述出现采集异常的采集单元的当前状态下是否成立;若成立,则触发出现采集异常的所述采集单元,对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
[0018]更进一步的:
[0019]所述设置该采集任务观察点的目标采集单元信息包含采集单元标识;
[0020]所述采集任务信息包含采集任务标识,采集任务序列标识,采集流程标识和任务参数;
[0021]所述补采策略包括策略标识、采集单元标识和补采参数。
[0022]优选的:
[0023]所述任务参数包括任务执行开始时间、任务执行结束时间、采集测量数据的开始时间、采集测量数据的结束时间、数据处理记录数、执行任务次数、更新时间、任务命令、环境变量、任务执行成功标识、失败原因、对应日志文件、任务数据源、系统进程号、内存状况、CPU符合;
[0024]所述补采参数包括策略编号、策略名、采集单元标识、补采次数、延迟补采时间、被补采的数据时间段类型、CPU符合限制、内存占用率限制、数据完整率、策略私有标志、生效
O
[0025]优选的:
[0026]当完成补采后,根据补采后的情况,更新采集任务观察点的任务完成情况记录,根据任务完成情况记录中是否有采集异常的记录,[0027]优选的:
[0028]为每个采集单元的每个采集环节预设一个采集任务观察点,根据所述采集任务信息中的采集流程标识和采集任务序列标识确定每个任务观察点所对应的采集环节。
[0029]优选的:
[0030]使用表结构存储采集任务观察点中涉及的各种信息;补采执行时读取表结构中记录的采集任务观察点信息和任务完成情况并结合补采策略完成补采。
[0031]优选的:
[0032]触发所述出现采集异常的采集单元对与其对应的数据源进行补采的步骤之前,还包括如下步骤:
[0033]根据采集异常的采集任务观察点任务完成情况记录中的数据,分析采集异常的原因;
[0034]根据上述分析获得的采集异常原因,判断是否可以立即执行补采任务;若是,则进入下一步骤;若否,则等待预定的时间段,然后重新分析是否可以立即执行补采任务。
[0035]具体的:
[0036]所述判断是否可以立即执行补采任务的步骤中,若判定为是,则进一步分析第一个失败环节之前的各个成功环节的输出是否保留,并获取失败环节以及失败环节之后的各个环节对应的任务命令;若该环节之前的各个采集任务观察点记录中呈现采集均为正常,并且这些环节的输出均得到保留,则所述对出现采集异常的数据源进行补采的步骤为,直接从该失败环节开始执行相应的命令,即直接执行失败环节以及失败环节之后的各个环节相应的命令。
[0037]优选的:
[0038]对所述出现采集异常的数据源进行补采的步骤之前,检查采集系统负荷,若采集系统负荷过重,则等待确定的时间段后,重新检查采集系统的负荷;若采集系统负荷轻,则进入对所述出现采集异常的数据源进行补采的步骤。
[0039]本发明还提供一种数据补采系统,用于实现对现有数据采集系统所采集数据的缺失数据进行补采的装置,基于现有的数据采集系统,所述数据采集系统包括多个采集单元,每个采集单元根据业务采集流程对一个数据源完成采集任务,得到目标数据,其特征在于,包括:
[0040]预置单元,用于为每个采集单元预设一个采集任务观察点和补采策略;所述观察点包括目标米集单兀信息、米集任务信息、米集任务完成情况及补米策略;所述补米策略用于预设对应采集单元的补采条件和补采方式;初始化所述采集任务观察点;
[0041]采集情况填写单元,各采集单元在完成采集任务时将任务完成情况写入对应的采集任务观察点中的采集任务完成情况记录;
[0042]补采单元,根据所述所述采集任务观察点中的采集任务完成情况记录;根据所述如果有采集异常情况记录,结合预置单元中各采集任务观察点预设的补采策略对相应的数据源进行补采;反复执行上述补采过程。
[0043]数据库,用于保存采集任务观察点记录和补采策略记录。
[0044]进一步的:
[0045]所述的补采单元判断所述读取的任务完成情况记录中是否有采集异常的记录,若有,则根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单元及相应的预设补采策略;
[0046]判断所述补采策略的补采条件在所述出现采集异常的采集单元的当前状态下是否成立;若成立,则触发出现采集异常的所述采集单元对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
[0047]更进一步的,所述预设单元初始化的信息为:
[0048]所述初始化该采集任务观察点的目标采集单元信息包含采集单元标识;
[0049]所述采集任务信息包含采集任务标识,采集任务序列标识,采集流程标识和任务参数;
[0050]所述补采策略包括策略标识、采集单元标识和包含补采参数的条件判断语句。
[0051]优选的:
[0052]所述任务参数包括任务执行开始时间、任务执行结束时间、采集测量数据的开始时间、采集测量数据的结束时间、数据处理记录数、执行次数、更新时间、任务命令、环境变量、任务执行成功标识、失败原因、对应日止文件、任务数据源、系统进程号、内存状况、CPU符合;
[0053]所述补采参数包括策略编号、策略名、采集单元标识、补采次数、延迟补采时间、被补采的数据时间段类型、CPU符合限制、内存占用率限制、数据完整率、策略私有标志、生效标志。
[0054]优选的:
[0055]所述预置单元进一步的为每个采集环节预设一个采集任务观察点,根据所述采集任务信息中的采集流程标识和采集任务序列标识确定每个任务观察点所对应的采集环节。
[0056]进一步的:
[0057]所述的补采单元对出现采集异常的数据源进行补采之前,还包括:根据采集异常的采集任务观察点任务完成情况记录中的数据,分析采集异常的原因;根据上述分析获得的采集异常原因,判断是否可以立即执行补采任务;若否,则等待预定的时间段,然后重新分析是否可以立即执行补采任务;若是,则进一步分析第一个失败环节之前的各个成功环节的任务完成情况记录是否保留,以及获取失败环节以及失败环节之后的各个环节对应的执行命令信息;若该环节之前的各个采集任务观察点记录中呈现均为正常采集,并且该环节之前的输出均得到保留,则直接从该失败环节开始执行相应的命令,即直接执行失败环节以及失败环节之后的各个环节相应的命令。
[0058]更进一步的:
[0059]所述的补采单元对所述出现采集异常的数据源进行补采之前,检查采集系统负荷,若采集系统负荷过重,则等待确定的时间段后,重新检查采集系统的负荷;若采集系统负荷轻,则进入对所述出现采集异常的数据源进行补采的步骤。
【专利附图】

【附图说明】
[0060]图1为本发明数据补采方法的基本流程图;
[0061]图2为本发明第一实施例提供的补采方法的流程图。
[0062]图3为本发明第二实施例提供的补采方法的流程图。[0063]图4为本发明第三实施例提供的补采系统的结构图。
【具体实施方式】
[0064]本发明第一实施例提供一种数据补采方法,用于实现对现有数据采集系统所采集数据的缺失数据进行补采,现有数据采集系统包括多个采集单元,每个采集单元对应一个数据源,因此每个采集单元根据与其对应的业务采集流程对这个数据源完成采集,得到目标数据,业务采集流程就是采集单元采集数据时执行的流程,每个采集流程可以包括多个采集环节,采集单元根据采集流程中各环节的顺序执行对数据源执行采集,采集流程可依据业务的不同而不同。
[0065]请参看图1,该图为本发明数据补采方法的基本流程图。
[0066]步骤A:为每个采集单元预设一个采集任务观察点和相应的补采策略,所述观察点包括采集单元信息、采集任务信息、采集任务完成情况及补采策略,所述补采策略设置对应采集单元的补采条件和补采方式;初始化所述采集任务观察点。
[0067]目标采集单元信息即采集任务观察点对应的采集单元;采集任务信息即描述本次采集任务的相关信息,主要由一些任务参数来体现;采集任务完成情况用于记录本次采集任务的完成情况,包含米集单兀彳目息、米集任务彳目息、米集任务是否成功完成等/[目息。
[0068]步骤B:数据采集系统各采集单元在完成采集任务时将任务完成情况写入相应的采集任务观察点中的任务完成情况记录,其中包括采集是否有异常情况。
[0069]改进现有的数据采集系统,其中增加将任务完成情况写入到采集任务观察点的环节,以建立现有数据采集系统与本发明数据补采系统的联动机制,是否实施数据补采取决于现有数据采集系统的数据采集情况。
[0070]步骤C:根据采集任务观察点中的任务完成情况记录,如果有采集异常情况,结合采集任务观察点中预设的补采策略,对所述采集任务观察点对应的采集单元的数据源进行补米。
[0071]具体的,在读取的任务完成情况记录中判断是否有采集异常的记录,若有,则根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单元;
[0072]根据所述出现采集异常的采集单元获取所对应的预设补采策略;
[0073]判断所述补采策略的补采条件当前是否成立;若成立,则触发出现采集异常的所述采集单元对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
[0074]请参看图2,为论述本发明的第一是实施例,该图为该数据补采方法的流程图,以下结合该图进行说明。
[0075]预设步骤:
[0076]步骤SOl为每个米集单兀预设米集任务观察点和相应的补米策略。
[0077]所述观察点包括目标采集单元信息、采集任务信息及采集任务完成情况。采集系统对于每个数据源均有相应的采集单元,因此,给每个采集单元设置一个采集任务观察点。其目的是为了对采集单元执行采集任务时产生的信息进行检查和记录,便于对采集任务失败或异常时的分析提供信息。
[0078]为每个采集单元预设补采策略,用于记录与该补采策略对应的采集单元的补采条件和补米方式。[0079]设置的补采策略是用于在出现采集异常时按照补采策略中描述的补采条件和补采方式对数据源进行补采。依据数据源的特性对每个数据源设置补采策略,所谓补采策略就是补采时采用的方法和补采应满足的条件,约定了每个数据源在满足什么条件时可以进行补采,补采时应采用什么样的方法。
[0080]步骤S02初始化所述采集任务观察点。
[0081]对采集任务观察点进行初始化设置,是为了确定该任务观察点所对应的采集单元、采集流程、还可以进一步地确定该任务观察点对应于采集流程中的哪一个采集环节,由于在采集系统中记录了与采集单元对应的数据源,因此任务观察点中记录了与其对应的采集单元标识,进一步可以获知与该采集单元对应的数据源。
[0082]步骤SOl和S02为预设步骤,预先设置任务观察点和补采策略,并进行初始化。
[0083]数据写入步骤:
[0084]步骤S03:数据采集系统各采集单元在完成采集任务时将任务完成情况写入相应的采集任务观察点中的任务完成情况。
[0085]由于需要对数据采集系统各采集单元的任务完成情况进行记录,通过记录的结果判断采集是否存在异常,因此需要将采集任务完成情况写入相应的采集任务观察点中。任务完成情况记录可以包含如下信息:
[0086]任务执行成功标识,用于标志任务是否执行成功,常用_1、1或O标识区分,-1标识任务正在执行,I表示任务执行成功,O表示任务执行失败,采集出现异常;
[0087]任务命令,执行任务时用到的指令;
[0088]任务执行开始时间,指示任务执行开始的时间;
[0089]任务执行结束时间,指示任务执行结束的时间。
[0090]当然任务完成情况记录中的信息可以不局限于上述列举的几种,可根据实际业务需求记录采集系统任务完成时产生的所有信息,或只记录使用者感兴趣的信息。
[0091]补采步骤:
[0092]步骤S04:读取所述采集任务观察点中的任务完成情况记录。
[0093]读取任务观察点中的任务完成情况记录,获得采集任务的完成情况信息,即任务完成情况记录中所记载的信息,即上文中所述的任务是否执行成功,任务命令等,任务执行开始时间,任务执行结束时间。
[0094]步骤S05:判断所述采集任务观察点任务完成情况记录中是否有采集异常的记录,若没有则进入步骤S04,若有,则进入步骤S06。
[0095]采集任务观察点中的任务完成情况记录有采集异常,则表示目标数据源存在数据缺失的情况,。
[0096]步骤S06:根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单
J Li ο
[0097]步骤S07:根据所述出现采集异常的采集单元获取所对应的预设补采策略。
[0098]由于采集任务观察点是根据采集单元设置的,而采集单元对应数据源,因此可已根据报告采集异常的状态观察点获知出现采集异常的数据源。
[0099]由于根据数据源设置了相应的补采策略,因此可以得知出现采集异常的数据源所对应的补采策略。[0100]步骤S08:判断所述补采策略的补采条件当前是否成立;若成立,则进入步骤S09,若补采条件不成立,则等待预定的时间再进行判断。
[0101]步骤S9:触发出现采集异常的所述采集单元对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
[0102]上文中提到过,补采策略就是描述补采应满足的条件和补采方式,如:某个数据源需要补采的数据时间段(09点?10点,周一?周五,国庆节等)、补采启动的时间(立即启动、2个小时候启动、系统闲暇时启动等),
[0103]返回步骤S04继续执行下一个补采过程。
[0104]优选的,为了使得采集系统可以获知补采任务的完成情况,还可以包括步骤S10,根据补采后的情况,更新采集任务观察点的任务完成情况记录。
[0105]通过更新的任务完成情况记录,可获知本次补采的完成情况,如果补采没有成功则可根据预设的补采策略依照上述的步骤重新对数据源进行补采,若补采成功,则继续执行下一个补采过程。
[0106]本发明第二实施例提供一种数据补采方法。
[0107]请参看图3,该图为该数据补采方法的流程图。以下结合该图进行说明。
[0108]步骤S101,对预设的采集任务观察点进行初始化。
[0109]采集系统中的采集单元对数据源进行采集时,是根据上文所述采集流程中的采集环节进行的,一个采集流程可以包含多个采集环节,每个采集环节可以是一个单独的采集任务,执行相应的任务命令完成该环节的功能,这些采集流程中包含的采集环节以特定的顺序排列,每一个环节的输出是下一个环节的输入。
[0110]为每个采集单元的每个采集环节预设一个采集任务观察点,根据所述采集任务信息中的采集流程标识和采集任务序列标识确定每个任务观察点所对应的采集环节。
[0111]在该步骤中进行若干初始化工作,初始化工作包括设置两个部分的内容,一部分是任务观察点的属性信息,是表征该采集任务观察点本身含义的信息,即该采集任务观察点对应哪一个采集单元、哪一个环节等,该组数据中包括如下信息:采集单元标识、采集任务序列标识、环节名称、环节描述等信息。其中采集单元标识和采集任务序列标识是必须的,环节名称和环节描述不是必须的。
[0112]采集单元标识,标识该采集任务观察点对应的采集单元,在采集系统中,每一个数据源对应一个采集单元,通过该采集单元标识可以确定该采集任务观察点对应的数据源,从而确定补米策略。
[0113]采集任务序列标识,标识该采集任务观察点对应采集流程的第几个环节。
[0114]环节名称,标识某个采集环节的名称,如取文件、第一次解析、第二次解析、入库等,还可以是获取源数据、解析源数据、对源数据进行计算、获得目标数据和入库中的一个或多个,这一信息可以提示该环节执行的任务,不同的采集流程可以包含不同的环节,由具体的业务确定每个采集流程所包含的环节。
[0115]环节描述,用于具体说明该环节执行的任务。
[0116]上述环节名称和环节描述数据也可以没有。
[0117]第二部分是数据采集属性信息,为执行采集任务观察点中的数据采集任务属性信息,为采集任务执行记录信息,该组信息在每一个采集周期,即对应每一次采集任务,均生成一组对应该采集任务的记录信息,用于发现数据缺失,数据补采。该信息包括:
[0118]采集任务标识,唯一对应该次采集任务的标识,可由编号体现。
[0119]采集流程标识,标识该采集任务属于哪一个采集流程。
[0120]采集环节名称,标识采集环节的名称。
[0121]采集任务序列标识,和第一组数据的任务序列标识相对应,用于后续补采中选择执行的判断依据,如一个流程有依次1、2、3、4、5个环节,补采时会从前往后查看每个观察点的状态,从第一次遇到失败的那个环节开始补采。假设第2、4两个环节失败,且第I个环节执行后的现场保存完整,则补采时,顺序执行2、3、4、5个环节。
[0122]采集单元标识,和第一组数据的采集单元标识相对应,该采集单元标识与采集系统中的采集单元标识一致,根据该标识,能找到数据源的信息。
[0123]以下的参数为任务参数用于描述该环节执行的任务信息。
[0124]任务执行开始时间,指示任务执行的开始时间。
[0125]任务执行结束时间,指示任务执行的结束时间。
[0126]采集测量数据的开始时间,指示任务采集的数据所属测量周期的开始时间,例如,此任务采集的是2010-10-1012:00:00到2010-10-1012:05:00,5分钟内的数据,此项的值为:2010-10-1012:00:00,如果是瞬时数据,此项为空。
[0127]采集测量数据的结束时间,指示任务采集的数据所述测量周期的结束时间,延续采集测量数据的开始时间中的示例,此项的值为2010-10-1012:05:00,如果是瞬时数据,此项为空。
[0128]数据处理记录数,此项任务处理的数据条数。
[0129]执行任务次数,记录该任务被执行的次数,因为补采也会执行该任务,因此执行次数需要记录。同时,在补采策略里,还会有补采次数限制,如果达到一定的补采次数,数据仍然缺失,那么将不会再补采数据。
[0130]更新时间,指示此项任务最后一个更新的时间。
[0131]任务命令,指示如任务失败,需要重新执行补采时执行该指令。
[0132]环境变量,如果该任务有特殊的环境变量,需在此注明。
[0133]任务执行成功标识,标识任务执行是否成功,正常见的执行标识为“正在执行”,“执行失败”,“执行成功”,这些执行标识可以由不同的数字来表示,如-1,0,I。如为-1,则此项任务正在执行,补采是不能执行正在执行的任务的。所以如果补采模块正在补采执行该任务,则一定要更新状态为正在执行,避免该任务出现同时被执行的情况。
[0134]失败原因,标识采集失败的原因,常见的失败原因有,表示执行成功、连接数据源失败、数据源某些数据缺失、系统资源耗尽、程序异常终止,这些失败原因可以用数字或字母标识。补采程序会根据失败原因,在补采执行前查看失败原因有没有恢复,如果没有恢复,则不进行补采。如:连接数据源失败导致任务失败,那么补采前会进行数据源连接情况检查,如果未恢复,则不执行该任务的补采。
[0135]对应日志文件,记录任务对应的日志信息,方便人工进行详细分析。
[0136]任务数据源,记录该任务的数据源。
[0137]系统进程号,记录系统的进程号,用于定位问题时使用。
[0138]内存状况,记录系统的内存使用情况。[0139]CPU负荷等等,记录cpu的负荷情况。
[0140]这些信息能够反映某一个具体的采集周期的任务执行情况,以及反映当时的现场状态,上述参数中采集单元标识、采集任务标识、采集任务序列标识、采集流程标识是必须有的,任务参数中任务执行指令、任务执行成功标识是必须有的,其他的任务参数可根据实际情况进行设置。
[0141]上述采集任务观察点的数据记录在固定的存储位置,每一次采集或者补采任务执行之后,都会更新相应的采集任务观察点的数据记录,所述采集失败状态报告,就是从上述任务执行成功标识中读到失败标识,就表明该次采集任务失败了。
[0142]例如,从某个需要采集数据的控制现场采集数据可能包括五个采集环节,在执行采集任务或者补采任务后,各个环节的采集任务观察点都会产生相应的采集任务执行记录信息,将其中的任务执行成功标识读入,既可以获知该采集任务是否成功的信息。例如,以数据-1代表正在执行采集,数据O代表采集执行失败,数据I代表执行成功,则任务执行成功标识为O就属于读到采集失败状态报告的情况。就需要进一步将采集任务观察点的该任务的记录信息全部读入,以获取现场的情况的信息,为后续步骤提供条件。例如,如果前三个环节成功了,第四个环节失败了,则通过采集任务观察点的信息可以判定采集失败的环节,并且知道采集失败的现场情况。
[0143]无论具体的采集系统如何设计,上述采集任务观察点都完全可以采用同样的标准设置,并采用同样的数据。这样,就可以在针对不同数据采集背景下的采集系统,采用同样的方式反映采集情况。例如,采集系统采用具有五个采集环节的采集方式,采集系统B则采用具有三个采集环节的采集方式,并且两个采集系统的采集环节彼此都不相同。在本实施例的补采方法而言,只要在各个环节设置采集任务观察点即可。这就使该补采方法具有了可以用于多种采集系统的通用性。
[0144]每个采集单元对应一个补采策略,当满足补采策略中描述的补采条件时,根据补采策略中描述的补采参数对数据源进行补采,补采策略也是预先设置的,设置补采策略主要是设置补采参数,补采参数描述了补采条件和补采方式,一般包含如下参数信息:
[0145]策略编号,策略的唯一标识。
[0146]策略名,策略的名称。
[0147]采集单元标识,和采集系统中的采集单元标识一致,一个数据源对应一个采集单
J Li ο
[0148]补采次数,设置该数据源补采的次数,如果补采超过该次数,数据还没有采集成功,就放弃补采。
[0149]延迟补采时间,正常采集任务结束后,延迟η分钟再执行补采任务,默认为立即执行补米任务。
[0150]被补采的数据时间段类型,标识执行补采的时间,可以具体设置哪一天的那个时间段进行补采,也可以设定一周中的哪几个时间段进行补采,也可以设定一月或一年中的哪几个时间段进行补采。
[0151 ] CPU负荷限制,设定CPU负荷的门限值,如设定60%表示只有CPU符合低于60%时,才能进行补采。
[0152] 内存占用率限制,设定内存占有率的门限值,表示只有系统内存使用率低于60%时,才进行补采。
[0153]数据完整率,设定数据完整性的比率,99%,表示只要数据完整低于99%,就需要进行补采。设定数据完整率的目的是,当数据源大部分缺失时,执行补采没有意义,因此就不需要执行补采了。
[0154]策略私有标志,表示策略是公有还是私有,一般情况以0表示公有;I表示私有,也可以其他数字和字符予以表示,如果某些采集源未定义私有策略,则使用公有策略,否则以私有策略准。公有策略是指所有的采集单元都可以共用的采集策略,私有策略是针对采集源特定的采集策略。
[0155]生效标志,0表示该策略失效;1表示该策略生效
[0156]每一个补采策略以固定的数据格式存储,便于读取和利用。例如,如果补采次数设置为零,则该数据属于不需要补采的数据。当然,也可以单独设置一个标识,标识该数据是否需要补采,而无需为该数据源设置专门的补采策略数据。
[0157]步骤S102,读取采集任务观察点中的采集任务完成情况记录,是否有报告采集异常,若是,则进入步骤S103,若否,则进入步骤S104 ;
[0158]步骤S103,根据异常的采集任务完成情况记录确定出现异常的采集单元,进一步确定与该采集单元对应的数据源。
[0159]通过检查采集任务观察点的数据记录,获知存在采集异常的采集任务后,首先需要了解的是具体的缺失的目标数据。该缺失的目标数据可以在目标数据中按照其数据排列方式,根据采集任务观察点提供的信息进行,采集任务观察点中存储有每一次采集任务的相关数据,包括目标数据存储位置,因此,这些数据容易获得。当然,也可以不经过该步骤,直接对出现采集异常的报告对应的采集任务进行补采。
[0160]步骤S104,判断缺失的数据的数据源是否属于需要补采的数据,若是,则进入步骤S105 ;若否,则进入结束步骤。
[0161]缺失的数据分为两类,即需要补采的,和不需要补采的。由于本方法设置了一些判断标准以根据缺失数据的性质,判断其是否需要进行补采。例如,许多不太重要的数据,缺失也不会造成影响,并且补采耗费资源比较多,或者补采不可能成功,则没有必要进行补采;相反,一些重要的数据,如果缺失会对今后的管理造成问题,则必须补采。是否需要补采属于补采策略的一部分。每一个数据源都对应一个补采策略。
[0162]步骤S105,根据采集任务观察点中的数据,分析采集失败或者数据缺失的原因,并检查采集系统的负荷情况。
[0163]通过对采集任务观察点中信息的分析,可以得出正常采集时采集失败的原因,不同的采集失败的原因,会对是否能够立即进行补采产生影响。
[0164]步骤S106,根据步骤S105中获得的采集失败或者数据缺失的原因,以及采集系统的负荷情况,根据补采策略判断是否可以立即执行补采任务;若是,则进入步骤S109,若否,则进入步骤107。
[0165]根据步骤S105获得的采集失败或者数据缺失的原因,可以判断出当前是否合适立即执行补采任务。例如,采集失败或者数据缺失的原因是因为数据源缺失、网络中断、系统负荷较高,导致采集异常,则补采是不能立即执行的,因此,若异常很有可能在短时间内(Imin)没有恢复,则进入步骤S107,等待一段时间后再判断是否可以进行补采;如果是采集本身异常,如:数据源返回报告接收不全等,可以立即进行补采的,则进入失败环节分析的步骤,即步骤S109。
[0166]另外,补采策略中,还有一种数据源对应的补采策略属于定时或者延时补采,对于这种数据也可以直接判断定时时间或者延时时间是否达到,未达到则直接进入结束步骤S114,等待下一个补采周期。
[0167]步骤S107,等待一段时间。
[0168]设置一段合理的固定时间长度,等待影响采集正常进行的因素消失。该时间段可以是I分钟。
[0169]步骤S108,重新判断是否可以立即进行补采。若是,则进入步骤S109 ;若否,则返回步骤S107。
[0170]通过上述步骤S107的等待后,情况可能已经发生了变化,可以重新判断是否可以进行补采。例如,由于系统负荷过高导致失败,而经过等待以后,系统负荷已经降低到合适的水平,则可以考虑补采。如果系统负荷仍然过高,则返回步骤S107继续等待。通过上述循环,直到立即进行补采的条件成熟,即可进入步骤S109。对返回步骤S107的次数可以设置计数器计数,并确定一个最大的计数值,例如十次,超过该次数的,不论如何直接进入结束步骤S114,以免无限制的等待造成资源浪费。该补采任务可以在下一个补采循环中执行。
[0171]判断系统负荷、判断补采时间等等,都属于补采策略中的补采条件,在补采策略中的众多补采参数中,可根据实际应用的需求来预先设置,如关心补采时的CPU负荷限制、内存占用率限制和数据完整率,则可预先设置这三个参数,当准备进行补采时检查系统,如果(PU负荷、内存占用率和数据完整率都与预设的参数相符,则视为满足了补采条件,可以进行补采,因此当补采策略中各项补采参数描述的内容与当前状态相符合时,判定补采条件成立。
[0172]步骤S109,根据采集失败的采集任务观察点的状态报告,分析该采集任务的失败环节,以及获取失败环节之前的各个成功环节的现场保留情况,以及失败环节以及失败环节之后的各个环节对应的采集指令。
[0173]该步骤根据采集失败的采集任务观察点的任务完成情况报告,分析该采集任务的失败环节;若该环节之前的各个观察点均为正常,并且这些环节的现场均得到保留,则在所述执行补采任务的步骤,可以直接从该观察点反应的失败环节开始执行相应的命令,即直接执行失败环节及失败环节之后的各个环节相应的命令,这样就可以节约采集资源。该步骤中,所述采集任务观察点的任务完成情况报告中,根据某个环节的采集任务的失败原因,以及到目前的时间长度,能够反映出该环节的现场保留情况。
[0174]步骤S110,执行补采任务。
[0175]在采集任务的失败环节之前存在成功的环节、并且成功环节的现场被保留的情况下,该补采任务从采集任务执行失败的环节对应的指令开始执行,并依次执行其后各个环节对应的指令即可补采成功。例如,某采集系统对某类特定数据存在5个采集环节,前两个环节均采集成功,第3个环节采集失败,并且前两个环节的现场得到了保留,则补采从第3个环节对应的指令开始执行。这样就直接利用了正常采集过程中前两个成功环节的成果,节约了采集系统的资源。
[0176]若采集任务不存在成功的环节,或者虽然存在成功的环节,但其现场已经被破坏,则必须从头开始执行补采任务。
[0177]步骤S111,判断补采是否成功。若是,进入步骤S112 ;若否,则进入步骤S113。
[0178]判断补采是否成功,可以根据新产生的采集任务观察点的数据以及目标数据的更新情况判断。
[0179]步骤S112,更新采集任务观察点数据,即在补采系统,根据补采执行后的新的情况,将各个采集任务观察点的任务执行成功标识更新为成功,然后进入结束步骤S114。
[0180]步骤S113,更新采集任务观察点数据。即在补采系统中,根据补采执行后的新的情况,将各个采集任务观察点的数据进行更新,这些数据能够反映补采各个环节的成败情况,若该环节失败,则对应的采集任务观察点的失败原因数据还反映了其失败的具体原因,这些内容可以在下一个补采周期中采用。
[0181]上述步骤S112和步骤S113,在正常的采集周期中也要执行相同的步骤,这样,才可以保证本补采方法正常执行。
[0182]步骤SI 14,结束。
[0183]该步骤中可以等待一段时间,然后再次进入步骤S101,进行新的补采周期。
[0184]本发明的第二实施例提供一种数据补采系统,该数据补采系统能够很好的完成上述数据补采方法,可以与各种数据采集系统配合使用,具有良好的通用性。
[0185]请参看图4,该图为本发明第三实施例的单元框图。该图同时示出了数据补采系统4以及与该数据补采系统4密切相关的数据源1、目标数据库2、采集系统3。
[0186]如图4所示,数据源I即产生原始数据的各种现场。目标数据库2为从数据源采集的数据的存储位置,其中存储的数据即为目标数据,所述采集系统3即从数据源I采集各种数据,并按照各个数据的性质存储在目标数据库2中。数据补采系统4的作用就是在数据采集系统3采集失败的情况下,对其失败的采集数据进行弥补。采集系统3对应每一个数据源设置相应的采集单元,每个采集单元执行一个完整的采集流程,每个采集流程包括若干个依次执行的采集环节。
[0187]如图4所示,所述数据补采系统4包括:
[0188]预置单元401,用于为每个采集单元预设一个采集任务观察点和补采策略;所述观察点包括目标采集单元信息、采集任务信息、采集任务完成情况及补采策略;所述补采策略用于预设对应采集单元的补采条件和补采方式;初始化所述采集任务观察点。
[0189]所述初始化该采集任务观察点的目标采集单元信息,包含采集单元标识;
[0190]所述采集任务信息包含采集任务标识,采集任务序列标识,采集流程标识和任务参数;
[0191]所述补采策略包括策略标识、采集单元标识和补采参数。
[0192]在采集系统中每个采集单元对应一个数据源,采集单元依据采集流程对数据源进行采集,每个采集流程由多个采集环节构成,一个采集环节完成一个采集任务,每一个环节的输出是下一个环节的输入,每个环节执行相应的命令完成该环节的功能,对采集单元的采集流程的每个环节分别设置采集任务观察点。
[0193]所述采集环节可包含获取源数据、解析源数据、对源数据计算、获得目标数据和入库中的一个或多个,采集流程可以根据不同的业务需求而进行设置,不局限于列举的这几个环节。[0194]上述采集任务观察点中预先设置的信息描述如上述第一实施例和第二实施例所述。
[0195]采集情况填写单元402,各采集单元在完成采集任务时将任务完成情况写入对应的采集任务观察点中的采集任务完成情况记录。
[0196]任务完成情况记录填写在采集任务观察点中预设的采集信息中。
[0197]补采单元403,根据所述所述采集任务观察点中的采集任务完成情况记录;根据所述如果有采集异常情况记录,结合预置单元中各采集任务观察点预设的补采策略对相应的数据源进行补采;反复执行上述补采过程。
[0198]数据库404,用于保存采集任务观察点记录和补采策略记录。
[0199]优选的,为了更新补采后的情况,数据补采系统还包括:
[0200]采集任务观察点的数据,反应其对应环节的某一次任务的执行成败,以及失败的原因、现场保留的情况等。具体的失败原因可归结为几类,以照顾通用性。采集任务观察点的数据被读取后,将存储在数据库404中,供其它单元读取。
[0201]补采单元403对出现采集异常的数据源进行补采之前,根据采集异常的采集任务观察点任务完成情况记录中的数据,分析采集异常的原因;根据上述分析获得的采集异常原因,判断是否可以立即执行补采任务;若否,则等待预定的时间段,然后重新分析是否可以立即执行补采任务;若是,则进一步分析第一个失败环节之前的各个成功环节的任务完成情况记录是否保留,以及获取失败环节以及失败环节之后的各个环节对应的执行命令信息;若该环节之前的各个采集任务观察点记录中呈现均为正常采集,并且该环节之前的输出均得到保留,则直接从该失败环节开始执行相应的命令,即直接执行失败环节以及失败环节之后的各个环节相应的命令。
[0202]补采单元403对所述出现采集异常的数据源进行补采之前,检查采集系统负荷,若采集系统负荷过重,则等待确定的时间段后,重新检查采集系统的负荷;若采集系统负荷轻,则进入对所述出现采集异常的数据源进行补采的步骤。
[0203]对于数据补采系统中各参数的描述、工作原理与第一实施例第二实施例中相同,在此不再赘述。
[0204]上述补采系统可以用于方便的实现第一实施例提供的补采方法。具体的实现步骤等请参看方法部分的实施例,在此不予赘述。
[0205]为了更好的理解本发明,特给出第四实施例,用以说明本发明如何完成的补采任务。
[0206]例如采集系统,有下述采集任务,编号为3908294,任务描述为:
[0207]采集的数据源:网络中路由器的流量
[0208]采集粒度是:每个小时采集一次
[0209]采集环节:登录路由器一> 发送一个获取流量的命令一> 获取命令返回的流量报告一> 从报告中解析出流量值一> 解析出的值入库共5个环节。
[0210]在采集系统中,与目标路由器对应的采集单元标识:C0L_R0UTER_STRIM。
[0211]在数据补采系统中,为这个采集任务设置采集环节,存储到tbl_check_point表中,内容如下:
[0212]
【权利要求】
1.一种数据补采方法,用于实现对现有数据采集系统所采集数据的缺失数据进行补采,所述数据采集系统包括多个采集单元,每个采集单元根据与其对应的业务采集流程对一个数据源完成采集任务,得到目标数据,其特征在于,包括如下步骤: A、为每个采集单元预设一个采集任务观察点和相应的补采策略,所述观察点包括采集单元信息、采集任务信息、采集任务完成情况及补采策略,所述补采策略设置对应采集单元的补采条件和补采方式;初始化所述采集任务观察点。 B、数据采集系统各采集单元在完成采集任务时将任务完成情况写入相应的采集任务观察点中的任务完成情况记录,其中包括采集是否有异常情况; C、根据采集任务观察点中的任务完成情况记录,如果有采集异常情况,结合采集任务观察点中预设的补采策略,对所述采集任务观察点对应的采集单元的数据源进行补采。
2.根据权利要求1所述的数据补采方法,其特征在于,所述步骤C中对所述采集任务观察点对应的采集单元的数据源进行补采的过程具体为: 判断所述采集任务观察点任务完成情况记录中是否有采集异常的记录,若有,则根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单元及相应的预设补采策略; 判断所述补采策略的补采条件在所述出现采集异常的采集单元的当前状态下是否成立;若成立,则触发出现采集异常的所述采集单元,对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
3.根据权利要求2所述的数据补采方法,其特征在于: 所述设置该采集任务观察点的目标采集单元信息包含采集单元标识; 所述采集任务信息包含采集任务标识,采集任务序列标识,采集流程标识和任务参数; 所述补采策略包括策略标识、采集单元标识和补采参数。
4.根据权利要求3所述的数据补采方法,其特征在于: 所述任务参数包括任务执行开始时间、任务执行结束时间、采集测量数据的开始时间、采集测量数据的结束时间、数据处理记录数、执行任务次数、更新时间、任务命令、环境变量、任务执行成功标识、失败原因、对应日志文件、任务数据源、系统进程号、内存状况、CPU符合; 所述补采参数包括策略编号、策略名、采集单元标识、补采次数、延迟补采时间、被补采的数据时间段类型、CPU符合限制、内存占用率限制、数据完整率、策略私有标志、生效标志。
5.根据权利要求4所述的数据补采方法,其特征在于,当完成补采后,根据补采后的情况,更新采集任务观察点的任务完成情况记录,根据任务完成情况记录中是否有采集异常的记录。
6.根据权利要求5所述的数据补采方法,其特征在于: 为每个采集单元的每个采集环节预设一个采集任务观察点,根据所述采集任务信息中的采集流程标识和采集任务序列标识确定每个任务观察点所对应的采集环节。
7.根据权利要求6所述的数据补采方法,其特征在于,使用表结构存储采集任务观察点中涉及的各种信息;补采执行时读取表结构中记录的采集任务观察点信息和任务完成情况并结合补采策略完成补采。
8.根据权利要求7所述的数据补采方法,其特征在于,触发所述出现采集异常的采集单元对与其对应的数据源进行补采的步骤之前,还包括如下步骤: 根据采集异常的采集任务观察点任务完成情况记录中的数据,分析采集异常的原因; 根据上述分析获得的采集异常原因,判断是否可以立即执行补采任务;若是,则进入下一步骤;若否,则等待预定的时间段,然后重新分析是否可以立即执行补采任务。
9.根据权利要求8所述的数据补采方法,其特征在于, 所述判断是否可以立即执行补采任务的步骤中,若判定为是,则进一步分析第一个失败环节之前的各个成功环节的输出是否保留,并获取失败环节以及失败环节之后的各个环节对应的任务命令;若该环节之前的各个采集任务观察点记录中呈现采集均为正常,并且这些环节的输出均得到保留,则所述对出现采集异常的数据源进行补采的步骤为,直接从该失败环节开始执行相应的命令,即直接执行失败环节以及失败环节之后的各个环节相应的命令。
10.根据权利要求1-9所述的数据补采方法,其特征在于,对所述出现采集异常的数据源进行补采的步骤之前,检查采集系统负荷,若采集系统负荷过重,则等待确定的时间段后,重新检查采集系统的负荷;若采集系统负荷轻,则进入对所述出现采集异常的数据源进行补采的步骤。
11.一种数据补采系统,用于实现对现有数据采集系统所采集数据的缺失数据进行补采的装置,基于现有的数据采集系统,所述数据采集系统包括多个采集单元,每个采集单元根据业务采集流程对一个数据源完成采集任务,得到目标数据,其特征在于,包括: 预置单元,用于为每个采集单元预设一个采集任务观察点和补采策略;所述观察点包括目标采集单元信息、采集任务信息、采集任务完成情况及补采策略;所述补采策略用于预设对应采集单元的补采条件和补采方式;初始化所述采集任务观察点; 采集情况填写单元,各采集单元在完成采集任务时将任务完成情况写入对应的采集任务观察点中的采集任务完成情况记录; 补采单元,根据所述所述采集任务观察点中的采集任务完成情况记录;根据所述如果有采集异常情况记录,结合预置单元中各采集任务观察点预设的补采策略对相应的数据源进行补采;反复执行上述补采过程。 数据库,用于保存采集任务观察点记录和补采策略记录。
12.根据权利要求11所述的数据补采系统,其特征在于: 所述的补采单元判断所述读取的任务完成情况记录中是否有采集异常的记录,若有,则根据所述采集异常的任务完成情况记录,获知出现采集异常的采集单元及相应的预设补采策略; 判断所述补采策略的补采条件在所述出现采集异常的采集单元的当前状态下是否成立;若成立,则触发出现采集异常的所述采集单元对与其对应的数据源按所述补采策略的补采方式进行补采,得到目标数据。
13.根据权利要求是12所述的数据补采系统,其特征在于,所述预设单元初始化的信息进一步为: 所述初始化该采集任务观察点的目标采集单元信息包含采集单元标识; 所述采集任务信息包含采集任务标识,采集任务序列标识,采集流程标识和任务参数; 所述补采策略包括策略标识、采集单元标识和包含补采参数的条件判断语句。
14.根据权利要求13所述的数据补采系统,其特征在于, 所述任务参数包括任务执行开始时间、任务执行结束时间、采集测量数据的开始时间、采集测量数据的结束时间、数据处理记录数、执行次数、更新时间、任务命令、环境变量、任务执行成功标识、失败原因、对应日止文件、任务数据源、系统进程号、内存状况、CPU符合; 所述补采参数包括策略编号、策略名、采集单元标识、补采次数、延迟补采时间、被补采的数据时间段类型、CPU符合限制、内存占用率限制、数据完整率、策略私有标志、生效标志。
15.根据权利要求14所述的数据补采系统,其特征在于: 所述预置单元进一步的为每个采集环节预设一个采集任务观察点,根据所述采集任务信息中的采集流程标识和采集任务序列标识确定每个任务观察点所对应的采集环节。
16.根据权利要求15所述的数据补采系统,其特征在于,所述的补采单元对出现采集异常的数据源进行补采之前,还包括:根据采集异常的采集任务观察点任务完成情况记录中的数据,分析采集异常的原因;根据上述分析获得的采集异常原因,判断是否可以立即执行补采任务;若否,则等待预定的时间段,然后重新分析是否可以立即执行补采任务;若是,则进一步分析第一个失败环节之前的各个成功环节的任务完成情况记录是否保留,以及获取失败环节以及失败环节之后的各个环节对应的执行命令信息;若该环节之前的各个采集任务观察点记录中呈现 均为正常采集,并且该环节之前的输出均得到保留,则直接从该失败环节开始执行相应的命令,即直接执行失败环节以及失败环节之后的各个环节相应的命令。
17.根据权利要求16所述的数据补采系统,其特征在于,所述的补采单元对所述出现采集异常的数据源进行补采之前,检查采集系统负荷,若采集系统负荷过重,则等待确定的时间段后,重新检查采集系统的负荷;若采集系统负荷轻,则进入对所述出现采集异常的数据源进行补采的步骤。
【文档编号】G06F17/40GK103678726SQ201210324126
【公开日】2014年3月26日 申请日期:2012年9月5日 优先权日:2012年9月5日
【发明者】宁平, 罗志毅 申请人:亿阳信通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1