数据库采集方法和装置制造方法及图纸

技术编号:18426401 阅读:29 留言:0更新日期:2018-07-12 02:00
本发明专利技术公开了一种数据库采集方法和装置。其中,该方法包括:当采集线程的运行状态为空闲状态时,采集线程向采集调度模块登记空闲状态,采集线程为多个数据库采集线程中的任一个;接收采集调度模块分配的待采集任务,待采集任务为采集调度模块通过轮询采集任务队列,从采集任务队列中匹配的一条最远时间点采集任务;采集线程将运行状态更新为工作状态并执行待采集任务。根据本发明专利技术实施例提供的方法和装置,可以实现多数据库采集任务的及时处理,避免多任务处理时的任务积压。

Methods and devices for database acquisition

The invention discloses a database acquisition method and device. The method includes: when the running state of the collection thread is idle, the acquisition thread registers the idle state to the collection scheduling module, the collection thread is any of the multiple database collection threads, receives the collection task assigned by the acquisition and scheduling module, and collect the task for collecting and dispatching module through polling and collecting. The task queue, which collects the task from the farthest time point that is matched in the collection task queue; the acquisition thread updates the running state to the working state and performs the task to be collected. According to the method and device provided by the embodiment of the invention, the multi database acquisition task can be processed in time, avoiding the backlog of tasks during multitask processing.

【技术实现步骤摘要】
数据库采集方法和装置
本专利技术涉及运营管理
,尤其涉及数据库采集方法和装置。
技术介绍
随着移动通信业务复杂度不断提高,业务系统日趋复杂,业务系统一般采用分域建设,每个域都会建设单独的数据库。这样,业务指标分布于各业务域的数据库中,而业务运营管理中心为实现对数据的采集,就需要连接多个数据库。在面向多个数据库的数据采集过程中,通常针对每个数据库通过单独的程序处理对应的业务域的业务指标的采集,即每个进程负责一个数据库的信息采集,这样的配置方式虽然比较简单,但是大大增加了业务运营管理中心对数据库采集进程管理的复杂度。同时,单进程的处理很容易会产生采集任务积压,当某个采集任务耗时较长时,其后面的待采任务将得不到及时处理,导致数据采集延迟。
技术实现思路
本专利技术实施例提供一种数据库采集方法和装置,可以实现多数据库采集任务的及时处理,避免多任务处理时的任务积压。根据本专利技术实施例的一方面,提供一种数据库采集方法,该方法包括:当采集线程的运行状态为空闲状态时,采集线程向采集调度模块登记空闲状态,采集线程为多个数据库采集线程中的任一个;接收采集调度模块分配的待采集任务,待采集任务为采集调度本文档来自技高网...

【技术保护点】
1.一种数据库采集方法,包括:当采集线程的运行状态为空闲状态时,所述采集线程向采集调度模块登记所述空闲状态,所述采集线程为多个数据库采集线程中的任一个;接收所述采集调度模块分配的待采集任务,所述待采集任务为所述采集调度模块通过轮询采集任务队列并从所述采集任务队列中匹配到的一条最远时间点采集任务,所述最远时间点采集任务为所述采集任务队列中的如下采集任务:该采集任务自上一次运行时刻起,经该采集任务的采集时间间隔后的时刻不早于系统当前时刻并且距离所述系统当前时刻最远;所述采集线程执行所述待采集任务并将所述运行状态更新为工作状态。

【技术特征摘要】
1.一种数据库采集方法,包括:当采集线程的运行状态为空闲状态时,所述采集线程向采集调度模块登记所述空闲状态,所述采集线程为多个数据库采集线程中的任一个;接收所述采集调度模块分配的待采集任务,所述待采集任务为所述采集调度模块通过轮询采集任务队列并从所述采集任务队列中匹配到的一条最远时间点采集任务,所述最远时间点采集任务为所述采集任务队列中的如下采集任务:该采集任务自上一次运行时刻起,经该采集任务的采集时间间隔后的时刻不早于系统当前时刻并且距离所述系统当前时刻最远;所述采集线程执行所述待采集任务并将所述运行状态更新为工作状态。2.根据权利要求1所述的方法,其中,所述执行所述待采集任务的步骤包括:所述采集线程对所述待采集任务进行解析,得到所述待采集任务的配置信息中的待采集数据库的连接信息、一个或多个采集业务指标和与每个采集业务指标对应的采集语句;根据所述待采集数据库的连接信息连接所述待采集数据库;执行所述与每个采集业务指标对应的采集语句,并将执行结果保存到指定的存储位置。3.根据权利要求1所述的方法,还包括:当所述待采集任务执行成功后,所述采集线程将所述运行状态更新为空闲状态,并重新向所述采集调度模块登记所述空闲状态。4.根据权利要求1所述的方法,其中,所述多个数据库采集线程之间相对独立,共用所述任务队列和所述采集调度模块,并且使用同一任务解析模块对所述待采集任务进行解析。5.根据权利要求2所述的方法,在所述根据所述待采集数据库的连接信息连接所述待采集数据库之后,还包括:将所述采集线程与所述待采集数据库的数据库连接放入数据库连接池;所述多个数据库采集线程共享所述数据库连接池,并且所述多个数据库采集线程在执行各自的待采集任务时在所述数据库连接池中选择与所述各自的待采集任务对应的待采集数据库进行连接。6.一种数据库采集方法,包括:获取登记为空闲状态的采集线程,所述采集线程为多个数据库采集线程中的任一个;轮询采集任务队列,从所述采集任务队列中匹配一条最远时间点采集任务,所述最远时间点采集任务为所述采集任务队列中的如下采集任务:该采集任务自上一次运行时刻起,经该采集任务的采集时间间隔后的时刻不早于系统当前时刻并且距离所述系统当前时刻最远;将匹配到的最远时间点采集任务分配给所述采集线程,并将所述匹配到的最远时间点采集任务的任务状态标记为已分配给所述采集线程。7.根据权利要求6所述的方法,其中,所述从所述采集任务队列中匹配一条最远时间点采集任务的步骤包括:获取所述采集任务队列中各采集任务的配置信息中的上一次运行时刻、采集时间间隔;对所述上一次运行时刻和所述采集时间间隔求和,将求和结果与获取的系统当前时刻相比较,选择所述求和结果不早于所述系统当前时刻并且与所述系统当前时刻的时间间隔最大的一个采集任务作为匹配到的最远时间点采集任务。8.一种数据库采集装置,包括:线程运行状态登记模块,被配置为当采集线程的运行状态为空闲状态时,所述采集线程向...

【专利技术属性】
技术研发人员:刘波
申请(专利权)人:中国移动通信集团江西有限公司中国移动通信集团公司
类型:发明
国别省市:江西,36

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

1