精华内容
下载资源
问答
  • 跑批

    2013-08-02 18:24:59
    在开始做需求的时候,就知道我们的项目需要做批量处理,但是从“跑批”两个字面的意思,到渐渐的知道跑批是怎么回事,再到对程序开发中的跑批处理有一个比较清晰的认识,呵呵,这个距离就如同那句经典的话:世界上最...

    在开始做需求的时候,就知道我们的项目需要做批量处理,但是从“跑批”两个字面的意思,到渐渐的知道跑批是怎么回事,再到对程序开发中的跑批处理有一个比较清晰的认识,呵呵,这个距离就如同那句经典的话:世界上最远的距离,不是天与地的距离,而是我就在你身边,你却不知道我爱你。


    对我们了解的情况做一个小小的总结:


    数据不能够一条一条传给后台,工程上不可接受.这个经过实验验证, 一条一条的话 50000 条数据需要 6 个小时,时间上不可接受;


    目前了解到的项目中的做法:可以采用 DB2 提供的 LOAD 的 Utility,先将数据写到文件里面再上传,然后执行 LOAD 的Utility将数据倒入数据库;了解到的项目采用FTP,传送的时候将文件切割成比较小的文件,这样来减小传输失败的时候产生的影响;如果数据传输失败,可以重传数据文件,这样损失不会很大,等到数据传输到主机上的时候就可以执行

    展开全文
  • 跑批核心代码

    2017-08-14 14:37:46
    跑批核心代码
  • 跑批的应用场景 在开发过程中跑批经常使用的地方: 消息类:到期失效以及到期批量通知客户 计算类:在财务中的罚息、计提、计息 文件类:对账信息、还款信息同步以及报表生成 跑批数据特点 数据量非常大 实时...

    跑批的应用场景

    在开发过程中跑批经常使用的地方:

    1. 消息类:到期失效以及到期批量通知客户
    2. 计算类:在财务中的罚息、计提、计息
    3. 文件类:对账信息、还款信息同步以及报表生成

    跑批数据特点

    1. 数据量非常大
    2. 实时性并不是特别高,有比较宽裕的时间处理问题
    3. 性能要求并不是特别高,要求在

    跑批中的隐患

    数据量非常大,有时会全部读写到内存开销较大

    批量循环更新数据库

    一整个事务贯穿始终

    多个节点操作时,设计的缺点导致只会命中一个节点操作数据,导致其他节点资源浪费

    优化思考

    数据量比较大的思路:

    1.数据分片处理:最简单实用的方法是实用分页limit

    limit在分页的情况下,注意如果数据量非常大的情况差limit效率非常低

    limit 的偏移量越大,执行时间越长。limit a, b会查询前a+b条数据,然后丢弃前a条数据,select * 会查询所有的列,会有回表操作,其中a条回表操作时无效的

    针对上面的问题,我们需要的操作时尽量减少无效的回表策略,limit a,b,直接获取a+1到a+b条数据的id,再根据这些id查询数据这样就减少了回表的操

    另一种有缺陷的搜索:

    当然还有一种有缺陷的方法是基于排序做条件过滤。

    比如像上面的示例 user 表,我要使用 limit 分页得到1000001到1000010条数据,可以这样写 SQL:

    select * from user where sex = 1 and id > (select id from user where sex = 1 limit 1000000, 1) limit 10;

    这种操作需要id必须有序,如果无序这种操作将没有任何意义,适用面比较小

    2.分片数据的高效实用

    单机:利用线程池执行不同的分片数据

    集群:将数据分布到不同的节点处理数据

    1.基于xxl-job路由策略,分片路由策略,可以实现不同的分片数据分不到不同的节点执行,xxl-job基于的是静态分片

    @Component
    public class Demo2Handler {
     
     
        @XxlJob(value = "demo3Job")
        public ReturnT<String> demo3JobHandler(String param) throws Exception{
            // 分片参数
            ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();
            // 业务逻辑
            for (int i = 0; i < shardingVO.getTotal(); i++) {
                if (i == shardingVO.getIndex()) {
                    System.out.println("demo3");
                    XxlJobLogger.log("第 {} 片, 命中分片开始处理", i);
                } else {
                    XxlJobLogger.log("第 {} 片, 忽略", i);
                }
            }
            return ReturnT.SUCCESS;
        }
    }

    2.SchedulerX 2.0与PowerJob基于MapReduce动态分片,PowerJob以及Schedulerx2.0分布式计算原理&最佳实践

    数据批量更新操作

    尽可能将所有的结果汇总进行批量的更新或者插入的操作

    insert into table_name(column1,column2,column3) values ('column11','column12','column13'),('column21','column22','column23')···
    
    update table_name set column_name = 'column1'  where column_name2 = 'column2';update table_name set column_name = 'column3' where column_name2 = 'column4';···
    

    文件操作

    跑批对账以及还款情况同步设计文件的读写操作

    文件的读操作

    还款情况同步这种数据天然就是有顺序以及行号,进行数据分片可以天然的利用行号进行数据的分配工作,可以使用可以使用Java IO提供的RandomAccessFile类来进行文件的解析

    文件写操作

    可以让服务批量生成一些小的文件,单独调用文件服务将这些小文件进行合并操作

     

    回复 8888可以领取面试资料一枚

    MySQL limit分页大偏移量慢的原因及优化方案

    Schedulerx2.0分布式计算原理&最佳实践

     

    展开全文
  • 用于计算跑批场景计算010204
  • 批量-跑批存在的意义

    2020-06-13 23:47:12
    为什么会有跑批这种操作存在呢?

    批量,顾名思义,一批一批的数据,数据量多。为什么有批量,有跑批这种操作呢?

    一个系统,大多数系统肯定不是独立存在,肯定存在系统与系统之间的交互,数据的交换,调接口,取别人系统的数据等。而且就算是一个独立的系统,有些数据的更新,可能也不是即时做的,可能在固定的某个点,找到满足条件的某些数据,然后进行更新操作等。

    所以说,跑批,可能是跑自己系统的批,也可能是从外部得到数据,进行某些操作。

    记得之前在 socket通信和http通信的区别?通信时的数据传输形式 中写过不同项目间数据交互的方式 它里面就提到过一个系统把数据提供然后写入到一个文件服务器上,然后另一个系统去文件服务器的指定目录上去读取文件然后取数据,批量更新到自己的数据库。

    可能到这里也有人会问,为什么要和其他系统交互呢?那肯定是一个系统做不了那么多东西呀!最开始,是什么东西都放在一个项目里,慢慢的,方便管理,然后项目进行拆分,进行服务化......这就是项目演变的过程,当然肯定是为了提高效率,什么什么的。

    跑批为什么要在晚间进行?这是因为晚上使用系统的人比较少,跑批,即是对数据进行数据库操作,无论是把数据从其他系统拿到本系统操作,还是更新本系统的数据,都是会有数据库交互的,晚上的话,既能提高系统白天的使用效率,又能降低同时并发操作数据库数据的 风险。

    而且,跑批,是没有业务促发的最好触发点。就是某些逻辑并不是点击某个按钮时需要做的,它是某个时候要对数据库数据进行一定的操作,并不存在明确的触发点。当然这种也可以在监听器里配一个轮询,之前也说过监听器,轮询,但是监听器,是让程序一直轮询,这种,会降低系统的性能,占用系统资源,没有必要一直监听,对即时性要求没那么高,这种肯定就选择跑批,而不是轮询。其实轮询里的定时器给定个时,每天跑一次,按理说也是一样的。

    不一样的点大概就是专门提一个批量项目,它的启动方式时shell脚本,是java项目,而监听器是web项目吧。

    展开全文
  • 跑批文件文本

    2014-09-24 17:40:34
    文件跑批数据库中的储存过程,从而达到自动话的状态。
  • 数据跑批ssm+maven

    2018-08-28 00:05:07
    数据库定时任务,数据库跑批,ssm+maven的项目源代码结构完整清晰
  • elasticJob分片跑批

    2019-10-04 11:53:54
    业务迅速发展带来了跑批数据量的急剧增加。单机处理跑批数据已不能满足需要,另考虑到企业处理数据的扩展能力,多机跑批势在必行。多机跑批是指将跑批任务分发到多台服务器上执行,多机跑批的前提是”数据分片”。...

    业务迅速发展带来了跑批数据量的急剧增加。单机处理跑批数据已不能满足需要,另考虑到企业处理数据的扩展能力,多机跑批势在必行。多机跑批是指将跑批任务分发到多台服务器上执行,多机跑批的前提是”数据分片”。elasticJob通过JobShardingStrategy支持分片跑批。

    跑批配置需要做如下修改:
    这里写图片描述

    shardingTotalCount:作业分片总数。

    jobShardingStrategyClass:作业分片策略实现类全路径,elasticJob默认提供了如下三种分片策略,AverageAllocationJobShardingStrategy : 基于平均分配算法的分片策略。
    OdevitySortByNameJobShardingStrategy:根据作业名的哈希值奇偶数决定IP升降序算法的分片策略。
    RotateServerByNameJobShardingStrategy:根据作业名的哈希值对服务器列表进行轮转的分片策略。
    默认使用AverageAllocationJobShardingStrategy。

    shardingItemParameters:分片序列号和个性化参数对照表。
    分片序列号和参数用等号分隔, 多个键值对用逗号分隔。
    分片序列号从0开始, 不可大于或等于作业分片总数。
    分片的维度通常有状态(state)、类型(accountType)、id分区等,需要按照业务合适选取。

    以上例,跑批服务器起了两台,192.168.30.38(测试跑批服务器)和10.15.83.211(本地服务)。
    作业分片总数为4,跑批服务器起了两台,根据AverageAllocationJobShardingStrategy ,每台服务器分到的分片是: 1=[0,1], 2=[2,3]。这可以在Elastic Job Console上作业列表中可以看出。
    这里写图片描述

    本地服务器上也打印了shardingContext对象,以相互印证。

    shardingContext:{"fetchDataCount":1,"jobName":"autoBidTransferLoanJob-1","jobParameter":"","monitorExecution":false,"offsets":{},"shardingItemParameters":{0:"NFM",1:"NFMF"},"shardingItems":[0,1],"shardingTotalCount":4}
    • 1

    数据分片所需要做的,就是将shardingItemParameters作为参数传入查询跑批待处理数据列表的方法里,sql查询时增加一个动态in条件,例如:

     And accountType in (‘NFM’, ‘NFMF’)
    • 1

    数据分片

    分片方案

    1、数据库层面,对业务主键进行取模

    where mod(id, 4) in (1, 2)
    • 1

    这种方式的问题是,在主键或者索引字段外套了一个函数,索引失效、全表扫描。改进方案是查询条件中再增加一个索引字段。

    where mod(id, 4) in (1, 2) and create_date > sysdate - 1
    • 1

    2、数据库层面,增加字段,在生成数据时,就为该行数据生成一个mod值。
    做分片的初衷就是跑批数据量越来越大、单台机器处理能力有限,通过扩展机器数来提升系统处理的能力。该mod值建议不要太小,至少要比分片项大。例如,生成的1000条数据的mod值只有0和1,而机器数加到了10,那最终只有两台机器在运行,造成资源浪费。当然,我们可以及时调整生成数据时的取模值,新生成的数据还是会分散到不同的机器上。

    3、业务层面,选取状态(state)、类型(accountType)等字段作为分区维度。

    转载于:https://www.cnblogs.com/tiancai/p/9249560.html

    展开全文
  • 定时跑批项目数据库(补传),前期忘啦,现在重新上传 定时跑批项目数据库(补传),前期忘啦,现在重新上传
  • 什么是跑批

    千次阅读 2020-09-18 11:36:57
    将要处理的数据积攒成“批”,在指定时间一次性进行处理,被称为:批处理,也叫:跑批。 拓展: 1.跑批业务的特点:处理量大(成批),有特定的触发时机(指定时间点),可自动处理(无需人工干预)。 2.计算机诞生...
  • 跑批bat、shell

    2019-12-18 11:25:44
    跑批”也叫“批量处理”。批处理,也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat。 ...
  • 基于ssm项目开发的定时跑批报表项目,开启关闭可视化操作,具体操作日志,定时执行时间状态结果及日志 基于ssm项目开发的定时跑批报表项目,开启关闭可视化操作,具体操作日志,定时执行时间状态结果及日志
  • 随着数据量的不断增长和业务复杂度的不断增加,数据仓库跑批任务量越来越繁重,耗时越来越长。众多项目出现了整晚都算不完、跑不完的情况。造成如此困境的原因是什么?如何破局?点击数据仓库跑批提速方案,去乾学院...
  • 高性能离线跑批方案

    2019-08-27 11:20:00
    随着数据量的不断增长和业务复杂度的不断增加,数据仓库跑批任务量越来越繁重,耗时越来越长。众多项目出现了整晚都算不完、跑不完的情况。造成如此困境的原因是什么?如何破局?点击数据仓库跑批提速方案,去乾学院...
  •  1、每天检查服务器中的SQL Server跑批Job的运行状态,如果跑批失败,则发邮件告诉管理员失败的明细  2、解决多台服务器同时检查  监控脚本  首先我们来解决第二个问题,关于多台服务器的问题:  一般监控...
  • 对于银行跑批的理解

    2020-10-19 14:35:22
    当然 ,不是所有的数据都是实时操作,特别是针对那些大批量的业务,集中发工资、集中开卡等, 因此跑批就是为此诞生。 二、逐渐深入 批量是相对来说,并不一定是在晚上,白天也有批量,主要是完成业务处理的。 批量...
  • Spring Batch重复跑批

    千次阅读 2017-06-16 15:08:32
    Spring Batch默认不允许重复跑批,这里我理解的分享一下
  • 记一次跑批bug

    2019-08-02 18:47:31
    某天早上起来,发现昨晚跑批失败了,因为跑批数量很多,牵扯到事务里面的数据量很大,所以在回滚的时候,导致和写入的数据冲突。一直报警,架构拿了我的代码去审查,说我sql有问题。我不这么认为,毕竟这个项目已经...
  • 什么是银行跑批

    千次阅读 2016-08-12 18:16:13
    由于在中原银行工作,经常有跑批工作,很多兄弟问我跑批到底是做什么? 银行为什么要跑批?下面我来具体解释一下: 跑批其实就是银行结帐。  批量最主要就是产生总帐,进行总分核对,再次就是进行大批量交易,如...
  • 银行跑批业务 的 初步理解(批量批量.....流水账)

    万次阅读 多人点赞 2018-08-21 20:30:20
    当然 不是所有的数据都是实时操作 , 因此跑批就是为此诞生。 二、逐渐深入 批量是相对来说,并不一定是在晚上,白天也有批量,主要是完成业务处理的。 批量的核心功能是进行 核算,如总...
  • 内推数据中心运行岗(系统跑批) 服务器巡检 系统跑批,执行跑批脚本,日终-日终备份-日初-日间 磁带备份 机房巡检 派发工单 责任感,脚踏实地 银行&金融跑批经验 ...
  • spark2跑批File does not exist:hdfs://nameservicel/user/xxx/.sparkStaging/aoolication_XXX/spark_conf.zip 解决: spark.yarn.preserve.staging.files=true
  • 批量出现,ora-12592:包错误,怎么解决?出错后,停一会就可以过去
  • spring的定时执行代码 跑批 最近公司上线了抽奖的活动,活动需求 1:每天凌晨更新状态,实现自动开启和关闭活动 2:活动结束自动抽取中奖号码 在这里提供spring的定时调度功能 1:首先是配置文件 在你的web....
  • 清算/报表/日终跑批程序之性能优化案例(一)
  • P2P核心功能之跑批详解

    千次阅读 2015-01-27 14:57:09
    P2P核心功能之跑批详解

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,840
精华内容 736
关键字:

跑批