接口下行批量数据和数据库数据做唯一校验

问题描述

接口下行批量数据和数据库数据做唯一校验

我向外开放一个接口,调用方给我下行数据,每次下行参数中有一个list列表,
里面封装很多个对象,最多封装500个,对象的字段有SystemsCode,Name,RequestId,phone等。我收到请求后解析数据做基本数据校验,比如字段不能为空,电话号码是否正确等,基本校验完毕后将正确的数据入库,然后返回校验结果和入库结果,也就是告诉调用方哪些数据是错误的,哪些数据是正常入库的。现在调用方有个新的需求,就是一天内RequestId相同的数据我这里只入库一份,比如第一次推一个RequestId为1001的数据我正常入库,然后他们第二次又推了RequestId为1001的数据但我这里就不入库了。接口调用方有多个,现在我就得校验他们每次下行的数据,根据SystemsCode和RequestId确定每条数据是否唯一。由于请求量多数据量也比较大,估计一天有几百万到以千万的量,所有问问各位大神有没有好一点的算法或者思路来应对这样的场景。

解决方案

对数据打包,批量发送,而不是一次请求一条。

时间: 2025-01-05 19:37:21

接口下行批量数据和数据库数据做唯一校验的相关文章

Hibernate批量插入数据到数据库

之前笔记中使用jdbc和iBATIS方式实现批量插入数据到数据库.在Hibernate框架中使用相应接口,同样也可以实现数据的批量操作,Hibernate把最近插入的数据都以session-level cache在内存做缓存,首先在配置文件中设置一个合理的JDBC批处理大小hibernate.jdbc.batch_size参数,来指定每次提交SQL的数量.配置hibernate.jdbc.batch_size参数的原因就是尽量少读数据库,hibernate.jdbc.batch_size参数值越

查询 java-mongoDB做查询,给两个时间,查询这两个时间段之间的数据(数据库中有时间这个字段)

问题描述 mongoDB做查询,给两个时间,查询这两个时间段之间的数据(数据库中有时间这个字段) 怎么用java操作mongoDB查询 ,查询条件是大于某个时间小于某个时间 要是用 $gt 和 $lte 来卡范围, 他们只支持int型,不支持Long型 解决方案 大神召唤术!!!!!!!!!!!!!!!!!!!!!!!!!!!!come on 解决方案二: 有了解的朋友吗??!!!!!!!!!!!!!!!!!!! 解决方案三: mongodb也可以在查询的结果集后面用Where(e => e.d

字符集-vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码

问题描述 vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码 公司的服务器字符集是英文的,然后我在电脑上装了oracle和plsql,修改了oracle下的注册表字符集都为英文的.我在plsql中查询的中文数据都可以正常显示,我在里面添加的中文数据也可以正常显示.但是,我在vs2008中做了一个查询,将查询出来的数据绑定到datagridview控件上,就出现了中文数据显示乱码,还有就是我自己在vs2008中添加新数据,在plsql中看到的数据中中文都显示为??? 跪求高手帮帮

积分兑换的一个个格子要做成动态能从数据库里面取数据的要怎么做

问题描述 积分兑换的一个个格子要做成动态能从数据库里面取数据的要怎么做 几排几排的,要能从后台取数据的,有没有什么控件或插件可以做,如果自己设计的话 要怎么设置,并且能一排排,每排有几个这样子

hbase-Titan1.0.0图数据库如何批量加载大规模数据,后端存储是Hbase?

问题描述 Titan1.0.0图数据库如何批量加载大规模数据,后端存储是Hbase? 我有1亿的顶点和几十亿的边,如何通过BLVP加载到Titan 中,我后端的存储平台用的是Hbase. 解决方案 我也在用titan+hbase,但使用Gremlin-Server的REST api一直出问题,请问你有自己的安装笔记吗? 解决方案二: fragment中数据库的数据加载批量从数据库是提取数据,并显示出来.批量加载数据到SQL数据表 解决方案三: 有安装的详细笔记吧,你私信我吧.

通过MyBatis读取数据库数据并提供rest接口访问_java

1 mysql 创建数据库脚本 -- phpMyAdmin SQL Dump -- version 4.2.11 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: 2016-08-02 18:13:50 -- 服务器版本: 5.6.21 -- PHP Version: 5.6.3 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = &q

请问ibm portal做的门户网站,怎么调用接口得到所有的新闻文章数据呢?

问题描述 请问ibmportal做的门户网站,怎么调用接口得到所有的新闻文章数据呢?我只有portal的api,但是找不到相应的jar包和例子代码,完全没有头绪.要调用portal接口获得新闻数据的是一个java做的web应用程序. 解决方案 解决方案二:谢谢您的回覆我的声音播放方面倒是没遇到问题.餐厅的人员还跟我说是我的MBP太高级了,真是双重伤害.@"解决方案三:http://topic.csdn.net/u/20101014/11/130808be-36de-4541-9cd7-

怎样把Excel.xls文件里的sheet1,sheet2,sheet3。。。的数据批量传到数据库

问题描述 怎样把Excel.xls文件里的sheet1,sheet2,sheet3...的数据批量传到数据库 解决方案 解决方案二:用excel的连接字符串把它当一个库打开然后sheet1,sheet2,sheet3...就是这个库中的不同的表最后Excel文档中的行就是元组,列就是对应的投影了.再根据你的业务弄到数据库中解决方案三:楼上说的没错,你把excel当作一个表,对于excel的操作有很多的方法,你可以先取得sheet的数量,进行For循环,然后读每一个sheet,一个sheet相当于

java批量添加数据,数据库中出现数据无序问题

问题描述 描述:通过Excel导入数据,解析后放入list集合中,集合中数据的顺序和excel导入时的一致,通过批量添加到数据库中,出现的结果是数据库中的数据是无序的(也就是和excel导入时的顺序不一致).求解... 问题补充:xianshi_cn 写道 解决方案 I have met the same issue before in Oracle, but I also don't know how come the the physics orders of data changed wh