CN101788908A - 一种支持断点续航的批量数据处理方法 - Google Patents

一种支持断点续航的批量数据处理方法 Download PDF

Info

Publication number
CN101788908A
CN101788908A CN201010101041A CN201010101041A CN101788908A CN 101788908 A CN101788908 A CN 101788908A CN 201010101041 A CN201010101041 A CN 201010101041A CN 201010101041 A CN201010101041 A CN 201010101041A CN 101788908 A CN101788908 A CN 101788908A
Authority
CN
China
Prior art keywords
breakpoint
batch
interface
batches
configuration file
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.)
Granted
Application number
CN201010101041A
Other languages
English (en)
Other versions
CN101788908B (zh
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 Financial Information Technology Co Ltd
Original Assignee
Inspur Shandong Electronics Information 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 Inspur Shandong Electronics Information Ltd filed Critical Inspur Shandong Electronics Information Ltd
Priority to CN201010101041.1A priority Critical patent/CN101788908B/zh
Publication of CN101788908A publication Critical patent/CN101788908A/zh
Application granted granted Critical
Publication of CN101788908B publication Critical patent/CN101788908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种支持断点续航的批量数据处理方法,属于一种批量数据处理方法,包括断点和一套架构、一组规范;断点是批量计算的一个计算节点;架构是支持后台批量程序运行的技术框架和平台,包括监控界面、总控调度器、运行逻辑判断器、断点控制线程容器、批量定义维护界面;规范用于指导在应用系统中使用本框架时,所开发的断点业务模块所应遵循的约定,包括调用接口、断点配置文件、批量配置文件、日志规范、版本管理规范。本发明的一种支持断点续航的批量数据处理方法和现有技术相比,增强了系统的灵活性和可操作性,而且提高了系统的对于局部数据瑕疵的忍受能力和故障恢复能力,最大限度发挥了软硬件系统运算能力。

Description

一种支持断点续航的批量数据处理方法
技术领域
本发明涉及一种批量数据处理方法,具体地说是一种支持断点续航的批量数据处理方法。
背景技术
在处理海量数据的应用系统中,后台数据批量处理往往是系统的核心,但同时也是耗费大量资源、时间的过程。传统的线性运行批量处理程序,在实际使用中往往面临以下困难:1、排错困难:在批量计算过程中,往往出现某条数据的错误而导致计算过程中断。但是在海量数据中准确定位这条数据,如果没有完整的数据现场记录,则几乎是不可能完成的任务。通过重算寻找错误,则需要花费大量的时间从开始运行到发生错误的位置,如果这个错误实在批量接近结束时发生的,那对于系统管理员简直就是一场灾难。2、重算困难:排除错误后,重新计算,不仅需要花费大量时间(一般的批量耗费的时间往往是以小时计,甚至是以天计),而且需要谨慎的清理前一次出错的现场,工作量大、风险高。3、调试困难:如果需要调整系统,并进行试算,则即使一个小的调整也需要完整的运行整个批量过程,浪费大量的时间。
因此,此类应用系统需要一个能够将批量计算划分为若干可独立控制的计算单元的方法,计算单元依次执行,最终完成整个批量计算。
发明内容
本发明的技术任务是提供可以支持将一个大的批量事务划分为若干断点分步执行,断点间的依赖关系、先后顺序、并发控制由后台的批量控制器统一调度,通过前台可视化的控制界面可以完成对部分或全部断点进行调度控制(包括:计算、不计算、重算、跳过)和状态监视的一种支持断点续航的批量数据处理方法。
本发明的技术任务是按以下方式实现的,本方法包括断点的定义和一套架构、一组规范:
●断点[breakpoint]是批量计算的一个计算节点,划分断点的主要依据就是能够完成一项相对完整的独立业务计算。批量计算可以被清晰的描述为所包含的断点、在同一个批量内内的断点之间的相互依赖关系以及不同的断点之间的先后执行顺序。断点的计算以API函数、存储过程、独立可执行程序的方式实现。断点间的数据交互通过数据库实现,即断点所需要的数据源应取自于数据库的某些表中,断点计算生成的数据应存放与数据库的某些表中(特殊情况下,断点间的数据交互也可以使用独立文件的形式)。
●架构是支持后台批量程序运行的技术框架和平台,包括:监控界面、总控调度器[DCCU]、运行逻辑判断器[OSDU]、断点控制线程容器[BCTC]、批量定义维护界面。
■监控界面:用于控制参与计算的断点在本次运算中的地位,包括:计算、不计算、重算、跳过,并提供对于运算过程的监视界面。
■总控调度器[DCCU]:是后台控制的核心模块,由其根据计算任务,调用不同断点的计算过程。
■运行逻辑判断器[OSDU]:根据某次计算的断点计算要求,依据事先定义断点依赖逻辑图,判断本次计算所需要经过的断点及先后关系,形成本次计算任务。遇有允许并发的断点,还需要生成并发任务。
■断点控制线程容器[BCTC]:断点控制线程用于调用断点计算接口,并监控断点计算模块的运行状态。系统预生成若干断点控制线程(一般建议为CPU个数减一),放入本容器;总控调度器[DCCU]每次获取到一个计算任务后,向本容器申请一个空闲的线程;断点任务计算完成后,总控调度器[DCCU]将线程放回容器。
■批量定义维护界面:一组维护界面功能,用于维护每个批量计算所包含的断点、断点间的依赖关系。每个应用系统可以包括多个批量定义,但是为避免系统堵塞,建议每次只启动一个批量计算。此外,本组界面功能还提供每个断点逻辑的维护。
●规范用于指导在应用系统中使用本框架时,所开发的断点业务模块所应遵循的约定,包括:调用接口、断点配置文件[BKPT Config File]、批量配置文件[Batch Config File]、日志规范、版本管理规范。
■调用接口:用于定义每个断点计算所应提供的标准接口和参数,每个断点必须提供四个接口:预处理接口[preprocessinginterface]、计算逻辑接口(即主程序接口)[process interface]、后处理接口[afterprocessing interface]、数据清理接口(即回滚接口)[rollback interface]。
■断点配置文件[BKPT Config File]:一个XML格式的文件,用于定义每个断点的编号、内容、四类接口指向的函数/存储过程/可执行程序。
■批量配置文件[Batch Config File]:一个XML格式的文件,用于定义每个批量中所包含每个批量计算所包含的断点、断点间的依赖关系、断点的并发控制、默认计算逻辑。
■日志规范:包括运行状态日志、错误日志、数据现场日志(在断点因计算错误而中断时用于记录错误现场的数据,以用于故障排除)三类规范。断点业务控制可以遵循规范生成日志文件,也可以调用系统提供的API函数写函数。
■版本管理规范:定义批量运算的版本。相同发起入口的每次批量计算会被记录为一个版本(例如,多次运行同一日期的日终批次,则每个批次会被登记为一个版本),每个版本对应使用的断点配置文件、批量配置文件、参数版本记录、中间结果记录。通过版本管理,可以提供试算功能,即使用不同参数多次运行批处理,每次只试算部分断点,待选定参数后,再运行选定版本的批处理的剩余断点,从而最大限度的节约运行时间。
各部分间的逻辑关系与本方法的步骤为:
(1)、通过批量定义维护界面,定义每个批量所包含的断点及断点间关系,结果写入断点配置文件、批量配置文件;
(2)、操作员通过监控界面,根据断点配置文件内记录的内容,设置本次批量的所需要计算的断点;
(3)、运行逻辑判断器根据监控界面的设定结果和批量配置文件所定义的断点逻辑关系,生成本次批量的计算任务清单;
(4)、总控调度器根据计算任务清单,逐项执行断点计算任务;
(5)、总控调度器每次获取到一个计算任务后,向断点控制线程容器申请一个空闲的断点控制线程;断点任务计算完成后,总控调度器将断点控制线程放回断点控制线程容器;
(6)、每个断点控制线程根据断点配置文件的定义,调用计算接口进行计算;
(7)、断点计算的状态,通过运行状态日志实时反馈到监控界面。
本发明的一种支持断点续航的批量数据处理方法和现有技术相比,增强了系统的灵活性和可操作性,而且提高了系统的对于局部数据瑕疵的忍受能力和故障恢复能力,最大限度发挥了软硬件系统运算能力,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种支持断点续航的批量数据处理方法的架构各组成部分及其逻辑关系示意图;
附图2为一种支持断点续航的批量数据处理方法的断点控制线程容器[BCTC]处理流程示意图;
附图3为一种支持断点续航的批量数据处理方法的批量计算示例过程示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种支持断点续航的批量数据处理方法作以下详细地说明。
实施例1:
如图1所示,本发明的一种支持断点续航的批量数据处理方法,各部分间的逻辑关系与本方法的步骤为:
(1)、通过批量定义维护界面,定义每个批量所包含的断点及断点间关系,结果写入断点配置文件[BKPT Config File]、批量配置文件[Batch ConfigFile];
(2)、操作员通过监控界面,根据断点配置文件内记录的内容,设置本次批量的所需要计算的断点;
(3)、运行逻辑判断器[OSDU]根据监控界面的设定结果和批量配置文件[Batch Config File]所定义的断点逻辑关系,生成本次批量的计算任务清单[Task List];
(4)、总控调度器[DCCU]根据计算任务清单[Task List],逐项执行断点计算任务;
(5)、总控调度器每次获取到一个计算任务后,向断点控制线程容器[BCTC]申请一个空闲的断点控制线程;断点任务计算完成后,总控调度器将断点控制线程放回断点控制线程容器[BCTC];
(6)、每个断点控制线程根据断点配置文件[BKPT Config File]的定义,调用计算接口进行计算;
(7)、断点计算的状态,通过运行状态日志实时反馈到监控界面。
本方法包括断点的定义和一套架构、一组规范。
(一)、断点的定义
断点[breakpoint]是批量计算的一个计算节点,一组有明确依赖关系和先后执行顺序的断点构成一个完成的批量计算。划分断点的主要依据就是能够完成一项相对完整的独立业务计算,既可以明确的指出某个断点的数据源、计算逻辑与结果。
断点的计算以API函数、存储过程、独立可执行程序的方式实现。
断点间的数据交互通过数据库实现,即断点所需要的数据源应取自于数据库的某些表中,断点计算生成的数据应存放与数据库的某些表中(特殊情况下,断点间的数据交互也可以使用独立文件的形式)。
断点的计算可以是并发的,即可以在接口函数中指定本次运算处理的数据范围,每次计算只处理接口函数中指定的范围的数据。
在运行逻辑判断器[OSDU]生成的计算任务清单[Task List]中:
●一个非并发的断点为一个任务项。
●一个并发的断点,如果并发规则将数据分为N组,则生成N个优先级完全相同任务项、一个优先级略高的任务项用于数据清理(仅在重算时)和预处理、一个任务优先级略低的任务项用于后处理。
(二)、架构
架构是支持后台批量程序运行的技术框架和平台,包括:监控界面、总控调度器[DCCU]、运行逻辑判断器[OSDU]、断点控制线程容器[BCTC]、批量定义维护界面。
1、监控界面
用于控制参与计算的断点在本次运算中的地位,包括:计算、不计算、重算、跳过,并提供对于运算过程的监视界面。
监控界面包括以下区域:
●批量参数区:设定本次批量的运行参数(由批量配置文件[Batch ConfigFile]定义)和版本(可以选择新建版本或者选择一个已有版本)。
●运行状态监控区:可以设定每个断点的运行状态,当设定一个断点的运算状态后,系统自动根据断点间的依赖关系自动修改关联断点的运行状态;选择新建版本,界面上默认的运行状态由批量配置文件[BatchConfig File]定义;选择一个以前已经存在的版本,界面上默认的运行状态为最后一次运行的状态;计算开始后,图标区域转为显示运行的状态,断点操作区域则不可操作。
●计算控制区:“启动”、“暂存”、“调整”一个批量计算。暂存时,所有后台“总控调度器[DCCU]”会将正在执行的断点执行完成后,将各断点计算状态存入数据库。调整一个批量计算时,“总控调度器[DCCU]”先将正在执行断点执行完毕(如果某断点为并发断点,则将该断点的并发任务全部执行完毕),然后根据调整后的断点计算要求,由运行逻辑判断器[OSDU]重新生成计算任务清单[Task List],然后重新提交计算。
●明细运行状态监控区:显示运行状态日志。
2、运行逻辑判断器[OSDU]
运行逻辑判断器[OSDU]的主要功能是根据控制界面提交的断点控制信息,依据“批量配置文件[Batch Config File]”定义的逻辑关系,判断本次计算所需要经过的断点、断点先后计算次序、断点并发控制,形成计算任务清单[Task List]。
生成任务清单的主要规则如下:
●某节点如果设置为“计算”操作,则:
■该节点所有上级节点必须处于“等待计算”、“等待重算”、“不计算”或“计算完成”状态,其中处于“不计算”状态的上级节点自动置为“等待计算”状态,并进入任务队列。
■该节点的上级节点中,如果有节点处于“计算失败”状态,必须先将该节点置为“重算”状态,才能对该节点执行“计算”操作。
●某节点如果设置为“不计算”操作,则:
■该节点所有下级节点必须处于“不计算”状态。
●某节点如果设置为“重算”操作,则:
■该节点必须处于“计算失败”或“计算完成”状态。
■该节点所有上级节点必须处于“等待计算”、“等待重算”、“不计算”、“计算完成”状态,其中处于“不计算”状态的上级节点自动置为“等待计算”状态,并进入任务队列。
■该节点的上级节点中,如果有节点处于“计算失败”状态,必须先将该节点置为“重算”状态,才能对该节点执行“重算”操作。
当某断点为并发断点时,OSDU还需要将根据并发规则生成N个优先级相同的任务项,每个任务项根据“断点配置文件[BKPT Config File]”的定义由指定域指定的表取一个数据范围,并写入计算任务清单。此外还要设置一个优先级略高的任务项用于数据清理(仅在重算时)和预处理和一个任务优先级略低的任务项用于后处理。
3、断点控制线程容器[BCTC]
断点控制线程用于调用断点计算接口,并监控断点计算模块的运行状态。
系统启动时预生成若干断点控制线程,放入本容器。在实施过程中,一般建议预启动的线程数量不超过(CPU数量减一)。
4、总控调度器[DCCU]
总控调度器[DCCU]每次获取到一个计算任务后,向本容器申请一个空闲的线程;断点任务计算完成后,总控调度器[DCCU]将线程放回容器。
DCCU的处理逻辑流程如图2所示。
5、批量定义维护界面
一组维护界面功能,用于维护每个批量计算所包含的断点、断点间的依赖关系。
定义的结果保存到断点配置文件[BKPT Config File]、批量配置文件[Batch Config File]。
每套断点和批量配置的可以指定生效和终止时间。
系统可以定义不同的批量计算路径作为不同的版本,但在每次计算时只能使用其中一个版本。
(三)、规范
本组规范用于指导在应用系统中使用本框架时、所开发的断点业务模块时所应遵循的约定,包括:调用接口、断点配置文件[BKPT Config File]、批量配置文件[Batch Config File]、日志规范、版本管理规范。
1、调用接口
定义每个断点计算所应提供的标准接口和参数。
每个断点必须提供四个接口(如该断点不需要进行相关处理,仍需定义该接口,接口的处理内容可以为空):
●预处理接口[preprocessing interface]:用于处理本断点正式计算前所需要处理的准备工作。接口参数包括:
■批量代号
■批量版本号
■公共参数:即批量参数,该参数为由各参数值组装的一个字符串,具体的参数组装规则根据批量配置文件[Batch Config File]相关域的定义。
●计算逻辑接口[process interface]:即主程序接口,用于实现本断点所需完成的业务计算过程。
■批量代号
■批量版本号
■公共参数:即批量参数,该参数为由各参数值组装的一个字符串,具体的参数组装规则根据批量配置文件[Batch Config File]相关域的定义。
■并发控制域:如果本断点不并发,则该域为空;如果本断点为并发,则该域为一次计算的范围,该范围值由计算任务清单写入计算任务清单。
●后处理接口[afterprocessing interface]:用于在一个断点计算完成后,需要进行的处理工作,例如中间临时数据的清理等。
■批量代号
■批量版本号
■公共参数:即批量参数,该参数为由各参数值组装的一个字符串,具体的参数组装规则根据批量配置文件[Batch Config File]相关域的定义。
●数据清理接口[rollback interface]:即回滚接口,用于将本断点产生的数据变化更正为计算前的状态。(计算失败不进行自动回滚,只有进行重算时才调用本接口)
■批量代号
■批量版本号
■公共参数:即批量参数,该参数为由各参数值组装的一个字符串,具体的参数组装规则根据批量配置文件[Batch Config File]相关域的定义。
2、断点配置文件[BKPT Config File]
一个XML格式的文件,用于定义每个断点的编号、内容、四类接口指向的函数/存储过程/可执行程序。
该文件主要数据域包括:
{序号}
    [断点基本信息]
        <断点代号>(全局唯一)
        <断点名称>
        <断点描述>(可为空)
    [断点控制信息]
        <断点类型>(API函数、存储过程、可执行程序)
        <预处理接口>(函数名/存储过程名/含全路径的程序名称)
        <计算逻辑接口>(函数名/存储过程名/含全路径的程序名
    称)
        <后处理接口>(函数名/存储过程名/含全路径的程序名称)
        <数据清理接口>(函数名/存储过程名/含全路径的程序名
    称)
    [断点并发信息]
        <并发控制>(是否并发)
        <并发控制域>(指向存放数据划分范围的数据库表,例如
机构代号表,依据该表的数据,可以把计算的数据分为N组)
3、批量配置文件[Batch Config File]
一个XML格式的文件,用于定义每个批量中所包含每个批量计算所包含的断点、断点间的依赖关系、断点的并发控制、默认计算逻辑。
{序号}
    [批量基本信息]
            <批量代号>(全局唯一)
            <批量名称>
            <批量描述>(可为空)
            <批量模版版本号>
            <批量生效起止日期>
    [批量公共参数]
            <参数一>
                参数名称
                参数类型
                参数默认值
                参数长度(用于参数组装)
            <参数二>
                参数名称
                参数类型
                参数默认值
                参数长度(用于参数组装)
            <参数…>
    [断点计算顺序]
            <断点代号A>
                父断点
                    父断点代号1
                    父断点代号2
                    …
                    父断点代号n
                子断点
                    子断点代号1
                    子断点代号2
                    …    
                    子断点代号n
            <断点代号B>
                 父断点
                    父断点代号1
                    父断点代号2
                    …    
                    父断点代号n
                 子断点
                    子断点代号1
                    子断点代号2
                    …
                    子断点代号n
    [默认需要计算的断点]
            <断点代号A>
            <断点代号B>
            …
            <断点代号N>
4、日志规范
包括运行状态日志、错误日志、数据现场日志三类规范。断点业务控制可以遵循规范生成日志文件,也可以调用系统提供的API函数写函数。
●运行状态日志
用于记录断点计算的状态,存放在数据库的指定表中,监控界面通过检查该日志,更新批量参数区的图例,并将明细日志记入“明细运行状态监控区”。
该日志基本格式:
时间戳|批量代号|运行版本代号|批量公共参数|断点代号|调用接口名称|并发域|计算结果(开始计算、计算成功、计算失败等)|
●错误日志
出现错误时,记录错误状态,存放在数据库的指定表中,在监控界面通过“明细运行状态监控区”可以查看。
该日志基本格式:
时间戳|批量代号|运行版本代号|批批量公共参数|断点代号|调用接口名称|并发域|错误级别(提示、一般错误、严重错误、致命错误)|错误代码|错误简要描述|
●数据现场日志
在断点因计算错误而中断时用于记录错误现场的数据,以用于故障排除。具体数据信息的登记项目、内容由断点的运算程序决定。出现“一般错误、严重错误、致命错误”时,建议写数据现场日志。
该日志采用文本格式存储,系统管理员通过操作系统检查。
该日志基本格式:
时间戳|批量代号|运行版本代号|批量公共参数|断点代号|调用接口名称|并发域|错误级别(提示、一般错误、严重错误、致命错误)|错误代码|数据域名称1[数据域值1]|数据域名称2[数据域值2]|……|数据域名称N[数据域值N]|
5、版本管理规范
该规范定义批量运算的版本。相同发起入口的每次批量计算会被记录为一个版本(例如,多次运行同一日期的日终批次,则每个批次会被登记为一个版本),每个版本对应使用的断点配置文件、批量配置文件、参数版本记录、中间结果记录。
通过版本管理,可以提供试算功能,即使用不同参数多次运行批处理,每次只试算部分断点,待选定参数后,再运行选定版本的批处理的剩余断点,从而最大限度的节约运行时间。
实施例2:
实施过程可以分为程序开发和批量配置两个过程,并可通过监控界面发起批量计算:
●程序开发:主要是完成调用接口(每个断点4个)的开发,即完成业务逻辑的具体实现。
●批量配置:通过配置断点配置文件[BKPT Config File]、批量配置文件[Batch Config File],来定义系统批量运行的过程。该工作可以通过批量定义维护界面提供的可视化定义工具进行定义。
●计算管理:通过可视化的监控界面,可以完成批量计算的发起、停止、计算内容定义、状态查看等功能。
以下以图3所示的一个批量计算为例简要介绍实施过程(假设共有三个机构可以用于并发)。图3中A、B、C、D、E、F、G均代表断点。
1、程序开发
在图3所示示例的情况下,供需开发以下接口函数:
●断点A
■预处理接口函数:fun_PerA()
■计算逻辑接口函数:fun_ProA()
■后处理接口函数:fun_AftA()
■数据清理接口函数:fun_RollbackA()
●断点B
■预处理接口函数:fun_PerB()
■计算逻辑接口函数:fun_ProB()
■后处理接口函数:fun_AftB()
■数据清理接口函数:fun_RollbackB()
●断点C
■预处理接口存储过程:sp_PerC()
■计算逻辑接口存储过程:sp_ProC()
■后处理接口存储过程:sp_AftC()
■数据清理接口存储过程:sp_RollbackC()
●断点D
■预处理接口存储过程:sp_PerD()
■计算逻辑接口存储过程:sp_ProD()
■后处理接口存储过程:sp_AftD()
■数据清理接口存储过程:sp_RollbackD()
●断点E
■预处理接口函数:fun_PerE()
■计算逻辑接口函数:fun_ProE()
■后处理接口函数:fun_AftE()
■数据清理接口:fun_RollbackE()
●断点F
■预处理接口存储过程:sp_PerF()
■计算逻辑接口存储过程:sp_ProF()
■后处理接口存储过程:sp_AftF()
■数据清理接口存储过程:sp_RollbackF()
●断点G
■预处理接口进程:pro_PerG()
■计算逻辑接口进程:pro_ProG()
■后处理接口进程:pro_AftG()
■数据清理进程:pro_RollbackG()
2、批量配置
2.1断点配置文件[BKPT Config File]
在图3所示,该文件应被配置为:
{001}
    [断点基本信息]
        <A>
        <A>
        < >
    [断点控制信息]
        <API>
        <fun_PerA>
        <fun_ProA>
        <fun_AftA>
        <fun_RollbackA>
    [断点并发信息]
        <不并发>
        < >
{002}
    [断点基本信息]
        <B>
        <B>
        < >
    [断点控制信息]
        <API>
        <fun_PerB>
        <fun_ProB>
        <fun_AftB>
        <fun_RollbackB>
    [断点并发信息]
        <并发>
        <机构表>
{003}
    [断点基本信息]
        <C>
        <C>
        < >
    [断点控制信息]
        <SP>
        <sp_PerC>
        <sp_ProC>
        <sp_AftC>
        <sp_RollbackC>
    [断点并发信息]
        <不并发>
        < >
{004}
    [断点基本信息]
        <D>
        <D>
        < >
    [断点控制信息]
        <SP>
        <sp PerD>
        <sp_ProD>
        <sp_AftD>
        <sp_Rol lbackD>
    [断点并发信息]
        <不并发>
        < >
{005}
    [断点基本信息]
        <E>
        <E>
        < >
    [断点控制信息]
        <API>
        <fun_PerE>
        <fun_ProE>
        <fun_AftE>
        <fun_RollbackE>
    [断点并发信息]
        <不并发>
        < >
{006}
    [断点基本信息]
        <F>
        <F>
        < >
    [断点控制信息]
        <SP>
        <sp_PerF>
        <sp_ProF>
        <sp_AftF>
        <sp_RollbackF>
    [断点并发信息]
        <不并发>
        < >
{007}
    [断点基本信息]
        <G>
        <G>
        < >
    [断点控制信息]
        <PROCESS>
        <usr/batch/bin/pro_PerG>
        <usr/batch/bin/pro_ProG>
        <usr/batch/bin/pro_AftG>
        <usr/batch/bin/pro_RollbackG>
    [断点并发信息]
        <不并发>
        < >
2.2批量配置文件[Batch Config File]
在图3所示,该文件应被配置为:
{000}
    [批量基本信息]
        <001>
        <示例批量>
        < >
        <1.00>
        <1900/01/012999/12/31>
    [批量公共参数]
        <001>
            发起日期
            DATE
            SYSDATE
            8
        <002>
            计算类型
            CHAR
            0
            1
    [断点计算顺序]
        <A>
            父断点
            子断点
                B
        <B>
            父断点
                A
            子断点
                C
                D
                E
        <C>
            父断点
                B
            子断点
                F
        <D>
            父断点
                B
            子断点
                F
        <E>
            父断点
                B
            子断点
                G
        <F>
            父断点
                C
                D
            子断点
                G
        <G>
            父断点
                E
                F
            子断点
    [默认需要计算的断点]
        <A>
        <B>
        <C>
        <D>
        <E>
        <F>
        <G>
3、运算控制
在如图3所示的一个批量运算示例中,在如下几种情形下,任务清单生成的情况如下表1所示:
Figure GSA00000006446300181
表1
通过实际应用结果证明通过将一个耗时较长的后台批量处理进行断点划分,增强了系统的灵活性和可操作性,提高了系统的对于局部数据瑕疵的忍受能力和故障恢复能力,并且部分断点可以由串行改为并行,充分利用了系统的资源,最大限度发挥了软硬件系统运算能力。

Claims (5)

1.一种支持断点续航的批量数据处理方法,其特征在于包括断点和一套架构、一组规范;
断点是批量计算的一个计算节点,划分断点的依据是能够完成一项相对完整的独立业务计算;批量计算可以被清晰的描述为所包含的断点、在同一个批量内的断点之间的相互依赖关系以及不同的断点之间的先后执行顺序;断点的计算以API函数、存储过程、独立可执行程序的方式实现;断点间的数据交互通过数据库实现或者可以使用独立文件的形式;
该架构是支持后台批量程序运行的技术框架和平台,包括监控界面、总控调度器、运行逻辑判断器、断点控制线程容器、批量定义维护界面;监控界面:用于控制参与计算的断点在本次运算中的地位,包括:计算、不计算、重算、跳过,并提供对于运算过程的监视界面;总控调度器:是后台控制的核心模块,由其根据计算任务,调用不同断点的计算过程;运行逻辑判断器:根据某次计算的断点计算要求,依据事先定义断点依赖逻辑图,判断本次计算所需要经过的断点及先后关系,形成本次计算任务,遇有允许并发的断点,还需要生成并发任务;断点控制线程容器:断点控制线程用于调用断点计算接口,并监控断点计算模块的运行状态,系统预生成若干断点控制线程放入断点控制线程容器;总控调度器每次获取到一个计算任务后,向断点控制线程容器申请一个空闲的线程;断点任务计算完成后,总控调度器将线程放回断点控制线程容器;批量定义维护界面:一组维护界面功能,用于维护每个批量计算所包含的断点、断点间的依赖关系;每个应用系统可以包括多个批量定义;本组界面功能还提供每个断点逻辑的维护;
规范用于指导在应用系统中使用本框架时,所开发的断点业务模块所应遵循的约定,包括调用接口、断点配置文件、批量配置文件、日志规范、版本管理规范;调用接口:用于定义每个断点计算所应提供的标准接口和参数,每个断点必须提供四个接口——预处理接口、计算逻辑接口即主程序接口、后处理接口、数据清理接口即回滚接口;断点配置文件:一个XML格式的文件,用于定义每个断点的编号、内容、四类接口指向的函数/存储过程/可执行程序;批量配置文件:一个XML格式的文件,用于定义每个批量计算所包含的断点、断点间的依赖关系、断点的并发控制、默认计算逻辑;日志规范:包括运行状态日志、错误日志、数据现场日志三类规范,断点业务控制可以遵循规范生成日志文件,也可以调用系统提供的API函数写函数;版本管理规范:定义批量运算的版本,相同发起入口的每次批量计算会被记录为一个版本,每个版本对应使用的断点配置文件、批量配置文件、参数版本记录、中间结果记录;
各部分间的逻辑关系与本方法的步骤为:
(1)、通过批量定义维护界面,定义每个批量所包含的断点及断点间关系,结果写入断点配置文件、批量配置文件;
(2)、操作员通过监控界面,根据断点配置文件内记录的内容,设置本次批量的所需要计算的断点;
(3)、运行逻辑判断器根据监控界面的设定结果和批量配置文件所定义的断点逻辑关系,生成本次批量的计算任务清单;
(4)、总控调度器根据计算任务清单,逐项执行断点计算任务;
(5)、总控调度器每次获取到一个计算任务后,向断点控制线程容器申请一个空闲的断点控制线程;断点任务计算完成后,总控调度器将断点控制线程放回断点控制线程容器;
(6)、每个断点控制线程根据断点配置文件的定义,调用计算接口进行计算;
(7)、断点计算的状态,通过运行状态日志实时反馈到监控界面。
2.根据权利要求1所述的一种支持断点续航的批量数据处理方法,其特征在于断点间的数据交互通过数据库实现,即断点所需要的数据源应取自于数据库的某些表中,断点计算生成的数据应存放与数据库的某些表中。
3.根据权利要求1所述的一种支持断点续航的批量数据处理方法,其特征在于特殊情况下,断点间的数据交互也可以使用独立文件的形式。
4.根据权利要求1所述的一种支持断点续航的批量数据处理方法,其特征在于:断点控制线程容器中系统预生成的断点控制线程的个数为系统CPU的个数减一。
5.根据权利要求1所述的一种支持断点续航的批量数据处理方法,其特征在于日志规范包括运行状态日志、错误日志、数据现场日志,日志规范在断点因计算错误而中断时用于记录错误现场的数据。
CN201010101041.1A 2010-01-26 2010-01-26 一种支持断点续航的批量数据处理方法 Active CN101788908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010101041.1A CN101788908B (zh) 2010-01-26 2010-01-26 一种支持断点续航的批量数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010101041.1A CN101788908B (zh) 2010-01-26 2010-01-26 一种支持断点续航的批量数据处理方法

Publications (2)

Publication Number Publication Date
CN101788908A true CN101788908A (zh) 2010-07-28
CN101788908B CN101788908B (zh) 2014-11-05

Family

ID=42532131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010101041.1A Active CN101788908B (zh) 2010-01-26 2010-01-26 一种支持断点续航的批量数据处理方法

Country Status (1)

Country Link
CN (1) CN101788908B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021043A (zh) * 2014-06-23 2014-09-03 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN105487924A (zh) * 2015-11-30 2016-04-13 中国建设银行股份有限公司 一种批处理控制方法及装置
CN106156115A (zh) * 2015-04-07 2016-11-23 中国移动通信集团云南有限公司 一种资源调度方法及装置
CN106934584A (zh) * 2015-12-29 2017-07-07 平安科技(深圳)有限公司 团体保单的断点承保方法及系统
CN108196977A (zh) * 2017-11-28 2018-06-22 口碑(上海)信息技术有限公司 批量数据回滚方法以及装置
CN110874286A (zh) * 2018-08-29 2020-03-10 中国石油化工股份有限公司 基于属性计算的批处理作业断点恢复方法及其系统
CN112882807A (zh) * 2021-02-04 2021-06-01 永辉云金科技有限公司 一种断点重跑批处理系统和方法
CN113297072A (zh) * 2021-05-17 2021-08-24 阿里巴巴新加坡控股有限公司 容器测试方法及装置
TWI816879B (zh) * 2018-09-13 2023-10-01 日商鎧俠股份有限公司 池級儲存管理

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273449B (zh) * 2017-05-27 2020-07-28 北京思特奇信息技术股份有限公司 一种基于内存数据库的断点处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805379A (zh) * 2006-01-05 2006-07-19 西安交通大学 一种具有弹性体系架构的集群管理监控系统的构建方法
CN101069161A (zh) * 2004-12-01 2007-11-07 索尼计算机娱乐公司 调度方法、调度装置和多处理器系统
CN101131652A (zh) * 2006-08-21 2008-02-27 英业达股份有限公司 多核多中央处理器的执行线程分配方法
CN101556534A (zh) * 2009-04-21 2009-10-14 浪潮电子信息产业股份有限公司 一种众核结构的大规模数据并行计算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069161A (zh) * 2004-12-01 2007-11-07 索尼计算机娱乐公司 调度方法、调度装置和多处理器系统
CN1805379A (zh) * 2006-01-05 2006-07-19 西安交通大学 一种具有弹性体系架构的集群管理监控系统的构建方法
CN101131652A (zh) * 2006-08-21 2008-02-27 英业达股份有限公司 多核多中央处理器的执行线程分配方法
CN101556534A (zh) * 2009-04-21 2009-10-14 浪潮电子信息产业股份有限公司 一种众核结构的大规模数据并行计算方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021043B (zh) * 2014-06-23 2017-09-15 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN104021043A (zh) * 2014-06-23 2014-09-03 中国银行股份有限公司 批量应用程序的中断重入方法及系统
CN106156115A (zh) * 2015-04-07 2016-11-23 中国移动通信集团云南有限公司 一种资源调度方法及装置
CN106156115B (zh) * 2015-04-07 2019-09-27 中国移动通信集团云南有限公司 一种资源调度方法及装置
CN105487924A (zh) * 2015-11-30 2016-04-13 中国建设银行股份有限公司 一种批处理控制方法及装置
CN105487924B (zh) * 2015-11-30 2018-12-14 中国建设银行股份有限公司 一种批处理控制方法及装置
CN106934584B (zh) * 2015-12-29 2021-02-05 平安科技(深圳)有限公司 团体保单的断点承保方法及系统
CN106934584A (zh) * 2015-12-29 2017-07-07 平安科技(深圳)有限公司 团体保单的断点承保方法及系统
CN108196977B (zh) * 2017-11-28 2021-11-26 口碑(上海)信息技术有限公司 批量数据回滚方法以及装置
CN108196977A (zh) * 2017-11-28 2018-06-22 口碑(上海)信息技术有限公司 批量数据回滚方法以及装置
CN110874286A (zh) * 2018-08-29 2020-03-10 中国石油化工股份有限公司 基于属性计算的批处理作业断点恢复方法及其系统
TWI816879B (zh) * 2018-09-13 2023-10-01 日商鎧俠股份有限公司 池級儲存管理
US11853583B2 (en) 2018-09-13 2023-12-26 Kioxia Corporation Pool-level storage management
CN112882807A (zh) * 2021-02-04 2021-06-01 永辉云金科技有限公司 一种断点重跑批处理系统和方法
CN113297072A (zh) * 2021-05-17 2021-08-24 阿里巴巴新加坡控股有限公司 容器测试方法及装置
CN113297072B (zh) * 2021-05-17 2023-11-03 阿里巴巴新加坡控股有限公司 容器测试方法及装置

Also Published As

Publication number Publication date
CN101788908B (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
CN101788908B (zh) 一种支持断点续航的批量数据处理方法
CN110941446B (zh) 基于多环境离线任务的版本发布方法及装置
US7937685B2 (en) Computer software implemented framework for configuration and release management of group systems software, and method for same
CN100501697C (zh) 一种软件版本升级安装测试系统及方法
US7779298B2 (en) Distributed job manager recovery
CN101567013B (zh) 一种etl调度的实现方法及装置
MXPA03004858A (es) Sistema y metodo para automatizar proceso de decision comercial y circuito de produccion.
CN106844198A (zh) 一种分布式调度自动化测试平台及方法
CN103440376A (zh) 基于组件的分布集中一体化仿真系统运行支撑平台
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
Fisher et al. Utilizing Atlassian JIRA for large-scale software development management
CN116302390A (zh) 一种数据调度方法及装置
KR100976420B1 (ko) 형상관리 시스템 및 방법
CN109255515A (zh) 一种基于页面计量和单位时间分配的任务开发云平台
CN112114954A (zh) 软件系统的作业调度配置方法及装置
CN101794417A (zh) 基于序号的工作流调度和业务流程建模方法
CN101303751B (zh) 交替处理的方法、系统和计算机程序产品
Glukhov et al. Automated management system of technological and production processes of the civil aviation air enterprise known as' the custom module'the operator
CN111091407A (zh) 一种航线客座率预测方法及系统
Hazeyama et al. Workload management facilities for software project management
JPH08137730A (ja) 改版情報提供管理装置と情報処理装置
Godlewska Agent system for managing distributed mobile interactive documents in knowledge-based organizations
Stankovic et al. The integration of scheduling and fault tolerance in real-time systems
Bhargava et al. A Model for Adaptable Concurrency Control
Mori Flexible manufacturing and high performance system for steel plants

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161020

Address after: Wuzhong Economic Development Zone in Suzhou City, Jiangsu Province, the River Street 215104 tower rhyme Road No. 178 Building 2 layer 1

Patentee after: Tide (Suzhou) Financial Technology Service Co., Ltd.

Address before: 250014 No. 224 mountain road, Lixia District, Shandong, Ji'nan

Patentee before: Inspur (Shandong) Electronic Information Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Wusong Industrial Park, Wuzhong Development District of Suzhou City, Jiangsu province 215100 Wusong Road No. 818

Patentee after: Tide Financial Information Technology Co Ltd

Address before: Wuzhong Economic Development Zone in Suzhou City, Jiangsu Province, the River Street 215104 tower rhyme Road No. 178 Building 2 layer 1

Patentee before: Tide (Suzhou) Financial Technology Service Co., Ltd.