当前位置: > 论文中心 > 科技论文 >

基于Java的通用批处理作业系统的设计与实现

时间:2014-08-09 11:11 点击:
摘要:为了解决当前业务数据处理中客户群庞大、业务数据大、人工操作繁杂、重复性高等问题,针对现有核心系统构架并非针对完全连线化的设计,提出了同一Job内批次作业平行处理的通用批处理作业系统框架模型,采用断点续接、参数化和模块化设计等实现了该系统

  摘要:为了解决当前业务数据处理中客户群庞大、业务数据大、人工操作繁杂、重复性高等问题,针对现有核心系统构架并非针对完全连线化的设计,提出了同一Job内批次作业平行处理的通用批处理作业系统框架模型,采用断点续接、参数化和模块化设计等实现了该系统。研究结果表明:通过调节参数,Batch循环流程控制,以满足气象、电信等不同业务的需要,系统能为其提供业务数据的快捷处理手段,提高了操作效率,减少了人工误操作率,达到了通用批处理作业的效果。

  关键词:批处理作业;Batch循环流程控制;断点续接

  中图分类号:TP311.1 文献标识码:A  

  1 引言(Introduction)

  在当前计算机和网络高速发展的时代,现代企事业单位规模不断壮大,众多企事业都拥有数以万计的客户群,涉及庞大的业务数据,尤其是气象、电信、银行、保险等,人们开始充分利用现有资源进行信息的高度集成处理,使用批处理模式使整个流程作业变得简单化、规律化、集成化,逐渐脱离原先人工处理效率低下的局限性,从而大大增强了系统数据处理的能力。

  传统的线程和资源锁并发编程,复杂、容易出错、无法横向扩展。目前,虽然Spring Batch是一款优秀的、开源的大数据量并行处理框架,通过它也可构建出轻量级的健壮的并行处理应用[1];但却没有一个关于Java批处理架构的工业标准,商业化的批处理似乎处在一个严峻的状态:错误的架构风格和能力。尽管SOA日益增长,但仍需一种高强度的批处理架构来最有效地自动处理大容量的数据或事务却无需人工干预;批处理,作为绝大多数IT项目的组成部分,当前却处在一个没有商业或开源Java框架来为其提供健壮的企业解决方案的尴尬境地;在企业应用里,批处理通常用来处理每天数以亿计的事务处理,且这些处理任务非常苛刻。

  因此,尽管缺乏批处理标准,但构建一个基于Java的通用批处理作业系统处理海量的业务数据,提高业务工作效率是非常有必要的,也具有很大推广应用价值。

  2 系统总体架构设计(Overall system architecture

  design)

  Batch处理系统是由服务器统一管理,所有业务逻辑都集中在此Batch处理系统中,各类用户负责数据的录入和查询,用户分布广泛,数据集中处理,因此在设计时充分考虑多种体系结构的优缺点,系统采用三层C/S体系结构进行架构设计。

  模块化就是把一个复杂的系统分解为若干个规模较小、功能较简单的、相对独立、更易于建立和修改的模块,分别加以设计实现,各模块在一定关系的约束下共同构成一个统一的整体,完成系统的功能[2]。采用模块化设计思想,系统功能分为七大模块:用户交互界面、系统流程控制管理模块、系统配置文件管理模块、Batch流程处理模块、日志管理模块、数据库管理模块、文件控制模块。

  由于关系数据库中包含多个数据表信息,含有数据定义、查询、更新、控制等。Oracle是关系数据库中使用最为广泛的一种,采用标准SQL语言,数据类型支持大至4GB的二进制数据,为数据库的面向存储提供了强大的数据支持、安全措施、数据互操作性、动态的数据存储机制。考虑到Batch处理的客观条件,系统开发采用了Oracle。当然,此框架系统是一个系统运行框架,可根据需要简单、方便地设置数据库类型,比如MySQL、MS SQL等。系统总体架构设计如图1所示。 

  图1 系统总体架构

   Fig.1 Overall system architecture

  3核心模块软件设计(Core Module Software

   Design)

  根据面向对象设计和模块化的设计思想,将系统划分的七大模块中:用户交互界面模块依赖于系统流程控制管理模块,为用户提供可视化交互界面;系统配置文件管理模块、Batch流程处理模块、日志管理模块、数据库管理模块、文件控制模块作为独立模块存在,相互之间不存在直接依赖关系,其业务逻辑关系由系统流程控制管理模块负责维护。其中,系统配置文件管理模块、Batch流程处理模块、文件控制模块(输入和输出处理)为系统三大核心模块。

  3.1 系统配置文件管理模块

  通过用户交互界面,选择需要运行的Job,系统驱动模块将读取系统输入模块中所有的配置文件,并传入系统执行模块,在系统执行过程中会产生相应的系统活动日志和系统控制日志等日志文件,并且同时将其处理结果输出到系统定义的输出文件或数据库。系统配置文件管理模块结构如图2所示。

  图2 系统配置文件管理模块结构图

   Fig.2System configuration file management

  module structure diagram

  3.2 Batch流程处理模块

  3.2.1 单次循环Batch流程处理框架模型

  当所有系统配置文件都准备好并运行一个指定的Batch处理程序后,系统框架将按照如图3所示的流程加载系统配置文件。通过Loadini()读取系统配置参数,然后传入CheckFiles()检查所读取参数的合法性,接着CheckOutFiles()检查系统输出文件类型及其合法性,当检查都合法后,调用CheckDB()连接数据库,之后,SetupCheckPoing()检查系统断点续接的属性,然后系统正式进入系统执行模块Start(),当所有执行完成后,通过WriteTraier()输入系统完成信息,最后调用Shutdown()结束整个流程。

  图3单次循环Batch流程处理框架

   Fig.3 A single cycle process of batch

   processing framework

  3.2.2循环Batch流程处理框架模型

  通用批处理作业系统是对用户数据进行大批量的一次性处理,以完成其人工操作的繁琐性和复杂性,并且提高其人工操作的低效率。其主要功能是对程序循环流程的控制和对系统断点续接的控制机制,其中核心功能是对系统循环流程的控制和处理。系统循环Batch流程处理框架模型如图4所示。

  图4系统循环Batch流程处理框架

   Fig.4System circulation process of batch

  processing framework

  为提高批处理效率,通过多线程并行执行多个相互独立的Step[3],设计了同一Job内批次作业平行处理模型,如图5所示。

  图5 同一Job内批次作业平行处理模型

  Fig.5 The batch operation parallel processing

  model within the same Job

  3.3 文件控制模块

  3.3.1 文件输入处理

  文件输入处理均为ini文件,包括:系统环境控制文件、系统配置文件、单个Batch处理配置文件。


   论文榜(www.zglwb.com),是一个专门从事期刊推广、论文发表的网站。
本站提供如何发表论文,寻求论文发表代理,快速发表论文,发表论文格式指导等解决方案:省级论文发表/国家级论文发表/核心期刊论文发表//职称论文发表。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
论文发表热线:
189-6119-6312
微信号咨询:
18961196312
期刊导航 |  论文欣赏 |  期刊验证 |  学术答疑 |  咨询辅导 |  相关知识 |  发表须知 |  关于我们 |