CN101667147A - 一种多任务的可控自动快照方法 - Google Patents

一种多任务的可控自动快照方法 Download PDF

Info

Publication number
CN101667147A
CN101667147A CN200910017347A CN200910017347A CN101667147A CN 101667147 A CN101667147 A CN 101667147A CN 200910017347 A CN200910017347 A CN 200910017347A CN 200910017347 A CN200910017347 A CN 200910017347A CN 101667147 A CN101667147 A CN 101667147A
Authority
CN
China
Prior art keywords
snapshot
task
thread
auto
info
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.)
Pending
Application number
CN200910017347A
Other languages
English (en)
Inventor
戴文军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Langchao Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Langchao Electronic Information Industry Co Ltd filed Critical Langchao Electronic Information Industry Co Ltd
Priority to CN200910017347A priority Critical patent/CN101667147A/zh
Publication of CN101667147A publication Critical patent/CN101667147A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种多任务的可控自动快照方法,体系结构包括:任务触发器、任务接受器、多线程模型和自动快照模块四大部分组成,使用任务接受器接受WEB或者远程代理触发的任务新建、开启或者停止一个自动快照任务;通过多线程模型为每个任务分配一个线程来实现多个任务同时进行;通过动态扩展线城池实现可执行任务的动态扩展;自动快照模块实现按照固定的时间间隔来进行快照操作;提供快照查询模块对外提供根据时间点的快照信息查询,为远程通过快照进行恢复提供基础;为适应新的文件系统提供的264快照能力,解决传统手动快照或者定时快照保护粒度较小的问题,从而为数据提供更为安全的保护。同时通过多线程模型创建存储池动态分配工作线程到每个任务,从而实现多任务同时操作。

Description

一种多任务的可控自动快照方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种多任务的可控自动快照方法。
背景技术
快照是实现数据保护的一种常见的方法,过去由于快照数量的限制,大多数快照操作都是手动或者编写脚本在每天的固定时间点执行,没有设计自动连续快照领域。随着技术的发展,越来越的文件系统提供264的快照操作能力。这样可以通过连续快照实现更为密集的数据保护,从而可以使系统能够恢复到之前更多时间点,实现更好的数据保护。
发明内容
本发明的目的是关于一种多任务的可控自动快照方法,该方法可以实现对逻辑卷的自动连续快照,并且通过本方法可以同时执行多个任务,对外提供统一的访问接口,增强方法的可扩展性。
本发明的目的是按以下方式实现的,本发明的体系结构包括:任务触发器、任务接受器、多线程模型和自动快照模块四大部分组成,使用任务接受器接受WEB或者远程代理触发的任务新建、开启或者停止一个自动快照任务;通过多线程模型为每个任务分配一个线程来实现多个任务同时进行;通过动态扩展线城池实现可执行任务的动态扩展;自动快照模块实现按照固定的时间间隔来进行快照操作;提供快照查询模块对外提供根据时间点的快照信息查询,为远程通过快照进行恢复提供基础;具体步骤如下:
A、任务接受器启动监听进程,接受从WEB或者远程代理传输来的快照任务,任务类型有新建、开启、停止一个任务和快照资源查询,为了统一WEB、远程Agent任务触发器与自动快照系统间的统一接口,系统采取以下策略:
A0、WEB、远程Agent和自动快照系统采用Socket进行通讯,避免直接的代码调用,从而实现系统的松耦合;新增加的任务触发端只需建立相应的Socket客户端实现与系统的通讯;
A1、WEB、远程Agent与自动快照系统间的通讯内容采用JSON形式,采用JSON格式简化自动快照系统的任务的解析和WEB或者远程Agent对返回结果解析的难度;同时采用固定的JSON格式,对外屏蔽实现细节,增强系统的安全性和降低任务触发端实现的难度;
B、任务接受器在接受到一个命令时,调用JSON解析模块解析任务,根据任务类型进行相应操作,任务类型有四种,分别是:
B0、新建一个任务:主线程获取新建任务的相关参数,并实例化一个自动快照对象,然后查看现有工作线程池内是否有空闲线程,如果为真,直接分配一个空闲线程给自动快照实例,启动线程,执行自动快照任务;为假,则创建新的线程集,并把线程集加入到线程池中,从线程池中分配空闲线程给自动快照实例;启动线程执行自动快照任务;
B1、开启一个任务:主线程通过解析获取相关启动参数,查找原有任务停止时的执行状态,并确立自动快照的新执行点,从线程池中分配空闲线程执行自动快照任务,线程池为空,则需按照A0所示,首先创建新的线程集;
B2、停止一个任务:主线程通过解析获取相关停止参数,并查询任务线程号,主线程给工作线程发送一个停止命令,工作线程停止操作,主线程将线程重新置为空闲,并存放到线程池中等待下一次调用;
B3、查询快照信息:根据时间点查询相关快照信息,主线程查询点附近一定时间范围内的快照信息,并通过封装,形成JSON格式,返回给任务触发端;
C、自动快照模块执行自动快照操作还包括以下操作:自动快照按照固定的时间间隔对存储池进行快照;自动快照模块将快照信息插入到数据库中,以便客户端进行更为快捷的查询操作。
步骤C还包括以下操作:在短时间间隔应用场景中,快照信息存入数据库会消耗系统大量资源,为避免因保存信息儿带来的资源消耗,采用如下策略:在系统中保存快照信息,直到快照数量达到一定阈值时,将快照信息一次性插入到数据库中,以大量减少磁盘IO操作的数量,从而提供系统的性能。
本发明的方法还包括以下操作:系统因为非正常原因退出,未及时保存快照信息到数据库中,造成数据库信息与实际快照信息不符,在系统重新启动后立即对数据库数据进行一致性检测,并将未更新的快照信息更新到数据中,确保数据库与磁盘快照信息的一致性。
步骤B3还包括以下操作:查询涉及正在运行的任务,将快照信息链表中的信息立即更新到数据库,然后再进行查询操作。
本发明的有益效果是:为适应新的文件系统提供的264快照能力,解决传统手动快照或者定时快照保护粒度较小的问题,从而为数据提供更为安全的保护。同时通过多线程模型创建存储池动态分配工作线程到每个任务,从而实现多任务同时操作。在线程池中没有可用线程资源时,动态创建线程集加入到线程池中,这种线程池机制可以充分利用服务器资源,提高系统的性能。设计合理的WEB管理页面可以对每个任务实现实时监控,并可以停止或者启动一个自动快照实例,实现任务的可控性。快照信息集中插入数据的操作方法,将数据库操作减少了两个数量级。所有方法综合起来,可以在实现多个自动快照任务同时进行的情况下,降低系统资源消耗,提供服务器整体性能。
附图说明
图1是多任务的可控自动快照系统结构图;
图2创建一个自动快照实例的流程图。
具体实施方式
下面参照附图和实施实例对本发明作进一步详细说明:
正如发明内容中所描述的,本发明体系结构主要包括:任务触发器、任务接受器、多线程模型、自动快照模块四大部分组成。
针对不同任务触发器实现的统一任务接受器,可以同时接受来自WEB、远程Agent或者其他任务触发器产生的任务。采用Socket进行通讯,避免代码的直接调用,实现自动快照系统与任务触发器之间的松耦合,从而可以使多种不同的客户端同时访问自动快照系统。使用JSON形式组织任务触发器和任务接受器之间的通讯内容,可以屏蔽系统对外的实现细节,降低新任务触发器开发的难度和风险。
实现多线程模型,每个任务从线程池中分配线程资源,可以避免为单个任务启动一个新的线程,从而造成系统资源消耗过多的问题。当任务停止后,释放线程资源到线程池,可以被新的任务继续利用。这种线程池模型可以避免系统使用时间过长,程序分配的系统资源得不到释放,造成系统崩溃的风险。
动态线程池,系统启动时创建一定数据的线程在线程池中,当线程资源不足时,通过分配一定大小的线程集,并融合到原有线程池中,可以动态增加可执行任务的数量。
自动快照产生的快照信息存放到数据库中,可以供客户端进行快速查询,避免遍历文件系统造成的访问延迟,提供系统的易用性。设计合理的批量插入可以在很大程度上减少数据库插入的IO操作,避免系统资源的消耗,提供系统性能。
实施例
在一个典型的环境中,自动快照启动以后,首先检测数据库中数据和已经创建的快照信息是否匹配,如果不相符,需要根据快照信息更新数据库中的数据,直到数据一致性满足。自动快照主线程启动监听任务线程。
任务触发器根据需要产生任务,可以通过WEB或者Agent进行触发。管理员输入相关参数,任务触发器将任务类型和输入参数按照预先制定的格式转化为JSON形式,然后通过Socket传输给任务接受器。
任务监听线程获取任务,将任务传输给主线程,主线程解析JSON格式的数据,获取任务类型和参数。根据任务类型,主线程调用不同的处理模块。
当任务类型是创建任务时,主线程通过存储池和快照时间间隔两个参数实例化一个自动快照实例;从进程池中选择一个空闲进程,运行自动快照实例。如果没有空闲进程,主线程创建一个新的进程集,并将新的进程集加入到进程池中。
当任务类型是停止任务时,主线程首先通过存储池名定位线程,将所有未插入数据库的快照信息插入到数据库中。主线程停止线程,并将线程资源重新放入到线程池中。
当任务类型是启动任务时,主线程通过存储池名从配置文件中读取时间间隔,用时间间隔和快照名称实例化一个自动快照实例,选择一个空闲进程,执行自动快照。
当任务类型是检索快照信息时,需要接受一个时间点作为参数。主线程以时间点为中心向前向后检索2个小时的快照信息数据。通过改变时间点,可以浏览所有快照信息。页面浏览设计为时间轴的方式,可以通过拖拉时间轴,向前向后查询快照信息。

Claims (4)

1、一种多任务的可控自动快照方法,其特征在于,体系结构包括:任务触发器、任务接受器、多线程模型和自动快照模块四大部分组成,使用任务接受器接受WEB或者远程代理触发的任务新建、开启或者停止一个自动快照任务;通过多线程模型为每个任务分配一个线程来实现多个任务同时进行;通过动态扩展线城池实现可执行任务的动态扩展;自动快照模块实现按照固定的时间间隔来进行快照操作;提供快照查询模块对外提供根据时间点的快照信息查询,为远程通过快照进行恢复提供基础;具体步骤如下:
A、任务接受器启动监听进程,接受从WEB或者远程代理传输来的快照任务,任务类型有新建、开启、停止一个任务和快照资源查询,为了统一WEB、远程Agent任务触发器与自动快照系统间的统一接口,系统采取以下策略:
A0、WEB、远程Agent和自动快照系统采用Socket进行通讯,避免直接的代码调用,从而实现系统的松耦合;新增加的任务触发端只需建立相应的Socket客户端实现与系统的通讯;
A1、WEB、远程Agent与自动快照系统间的通讯内容采用JSON形式,采用JSON格式简化自动快照系统的任务的解析和WEB或者远程Agent对返回结果解析的难度;同时采用固定的JSON格式,对外屏蔽实现细节,增强系统的安全性和降低任务触发端实现的难度;
B、任务接受器在接受到一个命令时,调用JSON解析模块解析任务,根据任务类型进行相应操作,任务类型有四种,分别是:
B0、新建一个任务:主线程获取新建任务的相关参数,并实例化一个自动快照对象,然后查看现有工作线程池内是否有空闲线程,如果为真,直接分配一个空闲线程给自动快照实例,启动线程,执行自动快照任务;为假,则创建新的线程集,并把线程集加入到线程池中,从线程池中分配空闲线程给自动快照实例;启动线程执行自动快照任务;
B1、开启一个任务:主线程通过解析获取相关启动参数,查找原有任务停止时的执行状态,并确立自动快照的新执行点,从线程池中分配空闲线程执行自动快照任务,线程池为空,则需按照A0所示,首先创建新的线程集;
B2、停止一个任务:主线程通过解析获取相关停止参数,并查询任务线程号,主线程给工作线程发送一个停止命令,工作线程停止操作,主线程将线程重新置为空闲,并存放到线程池中等待下一次调用;
B3、查询快照信息:根据时间点查询相关快照信息,主线程查询点附近一定时间范围内的快照信息,并通过封装,形成JSON格式,返回给任务触发端;
C、自动快照模块执行自动快照操作还包括以下操作:自动快照按照固定的时间间隔对存储池进行快照;自动快照模块将快照信息插入到数据库中,以便客户端进行更为快捷的查询操作。
2、根据权利要求2所述的方法,其特征在于:所述的步骤C还包括以下操作:在短时间间隔应用场景中,快照信息存入数据库会消耗系统大量资源,为避免因保存信息儿带来的资源消耗,采用如下策略:在系统中保存快照信息,直到快照数量达到一定阈值时,将快照信息一次性插入到数据库中,以大量减少磁盘IO操作的数量,从而提供系统的性能。
3、根据权利要求2所述的方法,其特征在于:所述方法还包括以下操作:系统因为非正常原因退出,未及时保存快照信息到数据库中,造成数据库信息与实际快照信息不符,在系统重新启动后立即对数据库数据进行一致性检测,并将未更新的快照信息更新到数据中,确保数据库与磁盘快照信息的一致性。
4、根据权利要求2所述的方法,其特征在于:所述步骤B3还包括以下操作:查询涉及正在运行的任务,将快照信息链表中的信息立即更新到数据库,然后再进行查询操作。
CN200910017347A 2009-07-27 2009-07-27 一种多任务的可控自动快照方法 Pending CN101667147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910017347A CN101667147A (zh) 2009-07-27 2009-07-27 一种多任务的可控自动快照方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910017347A CN101667147A (zh) 2009-07-27 2009-07-27 一种多任务的可控自动快照方法

Publications (1)

Publication Number Publication Date
CN101667147A true CN101667147A (zh) 2010-03-10

Family

ID=41803771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910017347A Pending CN101667147A (zh) 2009-07-27 2009-07-27 一种多任务的可控自动快照方法

Country Status (1)

Country Link
CN (1) CN101667147A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
WO2011137672A1 (zh) * 2010-05-05 2011-11-10 中兴通讯股份有限公司 基于数据库的任务执行方法及装置
CN103152557A (zh) * 2013-03-22 2013-06-12 浙江宇视科技有限公司 一种实现客户端工作场景跨网络协同的装置及方法
CN103390036A (zh) * 2013-07-16 2013-11-13 沈阳中科博微自动化技术有限公司 一种应用于封装测试生产线的历史快照存储方法
CN103645940A (zh) * 2013-12-04 2014-03-19 清华大学 远程调用方法及系统
CN103997537A (zh) * 2014-06-03 2014-08-20 浪潮(北京)电子信息产业有限公司 多节点远程操作方法和装置
CN104462077A (zh) * 2013-09-12 2015-03-25 方正信息产业控股有限公司 数据库事务处理方法与装置
CN105204960A (zh) * 2015-09-18 2015-12-30 浪潮集团有限公司 一种利用linux时间池定时异地备份数据库的方法
CN106055367A (zh) * 2016-06-01 2016-10-26 腾讯科技(深圳)有限公司 一种脚本文件载入方法及装置
CN107656992A (zh) * 2017-09-14 2018-02-02 上海交通大学 面向多插入源的快照版本管理方法
CN107918650A (zh) * 2017-11-14 2018-04-17 郑州云海信息技术有限公司 一种快照创建方法、装置、系统及计算机可读存储介质
CN108848150A (zh) * 2018-06-06 2018-11-20 郑州云海信息技术有限公司 一种云管理平台中的计划任务实现方法和系统
CN109254838A (zh) * 2018-08-21 2019-01-22 中邮科通信技术股份有限公司 一种基于JAVA BeanShell的自动化任务
CN111090400A (zh) * 2019-12-29 2020-05-01 浪潮(北京)电子信息产业有限公司 一种快照自动回滚的方法、装置及设备
CN113010750A (zh) * 2019-12-20 2021-06-22 深圳市帝迈生物技术有限公司 用于样本分析仪的查询方法、装置、样本分析仪及介质
CN113051055A (zh) * 2021-03-24 2021-06-29 北京沃东天骏信息技术有限公司 一种任务处理方法和装置
CN113434307A (zh) * 2021-06-22 2021-09-24 北京沃东天骏信息技术有限公司 任务发送的处理、任务处理的方法、装置、系统及设备

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011137672A1 (zh) * 2010-05-05 2011-11-10 中兴通讯股份有限公司 基于数据库的任务执行方法及装置
CN101887381A (zh) * 2010-06-22 2010-11-17 北京伟库电子商务科技有限公司 基于Quartz框架的配置定时任务的方法和装置
CN103152557A (zh) * 2013-03-22 2013-06-12 浙江宇视科技有限公司 一种实现客户端工作场景跨网络协同的装置及方法
CN103152557B (zh) * 2013-03-22 2017-03-22 浙江宇视科技有限公司 一种实现客户端工作场景跨网络协同的装置及方法
CN103390036A (zh) * 2013-07-16 2013-11-13 沈阳中科博微自动化技术有限公司 一种应用于封装测试生产线的历史快照存储方法
CN104462077A (zh) * 2013-09-12 2015-03-25 方正信息产业控股有限公司 数据库事务处理方法与装置
CN103645940A (zh) * 2013-12-04 2014-03-19 清华大学 远程调用方法及系统
CN103997537A (zh) * 2014-06-03 2014-08-20 浪潮(北京)电子信息产业有限公司 多节点远程操作方法和装置
CN105204960A (zh) * 2015-09-18 2015-12-30 浪潮集团有限公司 一种利用linux时间池定时异地备份数据库的方法
CN106055367A (zh) * 2016-06-01 2016-10-26 腾讯科技(深圳)有限公司 一种脚本文件载入方法及装置
CN107656992A (zh) * 2017-09-14 2018-02-02 上海交通大学 面向多插入源的快照版本管理方法
CN107656992B (zh) * 2017-09-14 2021-09-21 上海交通大学 面向多插入源的快照版本管理方法
CN107918650A (zh) * 2017-11-14 2018-04-17 郑州云海信息技术有限公司 一种快照创建方法、装置、系统及计算机可读存储介质
CN108848150A (zh) * 2018-06-06 2018-11-20 郑州云海信息技术有限公司 一种云管理平台中的计划任务实现方法和系统
CN109254838A (zh) * 2018-08-21 2019-01-22 中邮科通信技术股份有限公司 一种基于JAVA BeanShell的自动化任务
CN109254838B (zh) * 2018-08-21 2021-11-23 中邮科通信技术股份有限公司 一种基于JAVA BeanShell的自动化任务
CN113010750A (zh) * 2019-12-20 2021-06-22 深圳市帝迈生物技术有限公司 用于样本分析仪的查询方法、装置、样本分析仪及介质
CN113010750B (zh) * 2019-12-20 2023-04-28 深圳市帝迈生物技术有限公司 用于样本分析仪的查询方法、装置、样本分析仪及介质
CN111090400A (zh) * 2019-12-29 2020-05-01 浪潮(北京)电子信息产业有限公司 一种快照自动回滚的方法、装置及设备
CN111090400B (zh) * 2019-12-29 2022-03-22 浪潮(北京)电子信息产业有限公司 一种快照自动回滚的方法、装置及设备
CN113051055A (zh) * 2021-03-24 2021-06-29 北京沃东天骏信息技术有限公司 一种任务处理方法和装置
CN113434307A (zh) * 2021-06-22 2021-09-24 北京沃东天骏信息技术有限公司 任务发送的处理、任务处理的方法、装置、系统及设备

Similar Documents

Publication Publication Date Title
CN101667147A (zh) 一种多任务的可控自动快照方法
CN101799751B (zh) 一种构建主机监控代理软件的方法
KR100509794B1 (ko) 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법
CN101707399B (zh) 电能信息采集方法及系统
CN109670199B (zh) 一种高效的电网拓扑分析方法及装置
CN101464810A (zh) 服务程序处理方法及服务器
CN109445944A (zh) 一种基于dpdk的网络数据采集处理系统及其方法
CN108595282A (zh) 一种高并发消息队列的实现方法
CN103645909A (zh) 定时任务的处理方法及装置
CN105045658A (zh) 一种利用多核嵌入式dsp实现动态任务调度分发的方法
CN105893320B (zh) 一种面向多核处理器的远程任务函数调用方法
CN103473138A (zh) 基于线程池的多任务队列调度方法
WO2019047441A1 (zh) 一种通信优化方法及系统
CN103500119B (zh) 一种基于预调度的任务分配方法
CN101751288A (zh) 应用进程调度的方法、设备及系统
CN112328362B (zh) 一种基于容器技术实现函数计算服务的方法
CN113656142B (zh) 基于容器组pod的处理方法及相关系统、存储介质
CN104683472A (zh) 一种支持大数据量的数据传输方法
CN102420709A (zh) 一种基于任务框架的调度任务管理方法和设备
CN110134533B (zh) 一种可批量调度数据的系统及方法
CN117435324B (zh) 基于容器化的任务调度方法
CN107329842B (zh) 基于Qt信号槽机制的获取数据的方法及终端
CN103019819A (zh) 一种基于插件机制的动态库统一调度方法
CN113448706A (zh) 批量任务处理方法、装置及系统
CN104572901A (zh) 网页数据的下载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100310