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