跑批利器--批处理应用程序


          目前笔者正在进行直销银行互联网核心的设计和研发,在银行相关系统中有一块内容比较关键,那就是跑批.因此接触到了SpringBatch的相关内容,作为学习和记录,有必要将SpringBatch的相关技术点和实际项目中遇到的问题记录下来,同时也跟各位来进行分享和学习.

    

          首先先了解一下什么是批处理应用程序.当然,根据名字我们基本上能够知道它是要干什么的了,就是对程序进行批量处理.

 

        现在举例一个最常见的场景:批处理应用程序从一个文件系统中导出数据到另个系统,在导出的过程中进行相关的逻辑处理,这么一个场景的场景就是它的提现.

 

     

跑批利器--批处理应用程序_第1张图片

 

        具体可以参照上图,系统A从数据库导出文件(一般为富文本文件),然后系统B去读取这些文件,进过系统B自身的处理,将处理后的数据写到系统B的数据库中.整个过程就是批量处理程序在做的事情.

 

        因为一个批应用程序它要自动去处理这些数据,所以它必须要是健壮的和可靠的.因为没有人为的干预从一个错误中恢复正常。因此批量应用程序处理的数据量越大,需要完成的时间也就越长。这也就是说,你必须考虑在你的批处理程序中的性能,因为它是往往限制在一个特定的时间段内执行。基于此描述,批处理应用程序的要求如下:

 

    ■大数据量

批处理应用程序必须能够处理大量的数据导入、导出或计算。

    ■自动化

批处理应用程序必须运行在用户交互除外严重问题解决。

    ■健壮性

批处理应用程序必须在处理无效数据时没有导致系统崩溃.

    ■可靠性

批处理应用程序必须跟踪错误是什么时(记录、通知)。

    ■性能

批处理应用程序必须执行在专用的时间内处理完从而避免干扰任何其他应用程序的正常运行.

 

         通过以上的要求我们可以感觉到批处理应用程序算是一个挑战吧,这也就是我们为什么要用SpringBatch来进行跑批,因为SpringBatch本身的特点能够让我们更容易并且更有效可靠的完成一个批量任务.

 

       小结

 

      批量应用程序处理大量数据而无需人类干预。读者可以选择使用批处理程序来计算每月的财务报表、计算统计和索引文件的数据等等。当然涉及到银行系统中有很多业务都需要用到它,例如计提,计息,切日,账务汇总等等.

你可能感兴趣的:(架构设计)