[发明专利]基于限流操作的可重入分布式处理方法及装置在审
申请号: | 201810864208.6 | 申请日: | 2018-08-01 |
公开(公告)号: | CN109241106A | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 何青松;胡晓喻;李联邦;王新盟 | 申请(专利权)人: | 口碑(上海)信息技术有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/25;G06Q30/02 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲;刘云贵 |
地址: | 200131 上海市浦东新区民生路11*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 待处理数据 分布式处理 处理数据 限流 数据库 待处理状态 处理效率 处理资源 次数更新 限流控制 循环执行 更新 记录 成功 | ||
本发明公开了一种基于限流操作的可重入分布式处理方法及装置,方法包括:从数据库中提取待处理数据以及待处理数据的可重入处理时间;判断当前时间是否晚于待处理数据的可重入处理时间;若是,则基于限流控制,对处于待处理状态的待处理数据进行处理;更新待处理数据的重入次数,根据重入次数更新数据库中记录的待处理数据的可重入处理时间;循环执行上述步骤,直至待处理数据被成功处理。对待处理数据采用可重入式处理,设置待处理数据的可重入处理时间,根据可重入处理时间,避免待处理数据漏处理,也提高对待处理数据的处理效率,避免被多次频繁处理的问题,节省处理资源。
技术领域
本发明涉及软件领域,具体涉及一种基于限流操作的可重入分布式处理方法及装置。
背景技术
在分布式网络架构中,处于核心位置的核心系统往往会跟多个负责具体业务的子系统进行交互。其中,核心系统的处理能力一般远远高于子系统的处理能力,为保障整个架构的正常处理,此时,需要在核心系统上针对不同的交互的子系统进行限流,通过限流可以很好的保护各个交互的子系统。但限流操作会带来两个困难点:
1.数据一致性问题。在限流操作时,核心系统服务器将数据保存在内存中,每条待处理的数据等候时间未知,在某一条待处理数据被某一子系统服务器处理完毕并持久化到数据库之前,其余的子系统服务器不能感知该条数据的状态,很有可能会存在多台子系统服务器同时处理一条待处理数据的情况,导致数据被重复处理,甚至极大地影响处理效率。如多个子系统服务器同时处理同一条数据,每个子系统服务器都在内存长期保存该数据并等待处理,导致多个子系统服务器的资源浪费。
2.数据处理遗漏问题。核心系统服务器在处理数据时,需要将数据保存在内存中等待被处理,由于等待的时长不可预知,每个子系统服务器都存在失效、宕机的可能,导致内存中数据丢失后,也没有其它子系统服务器继续处理,使得部分数据被遗漏未处理。
具体的,如电商行业会在节假日前给用户发放大量的折扣券,在临近券过期时间前,券资产平台需要通过消息推送子系统来提醒用户,其名下的券快过期了。由于大批量发放的折扣券具有相同的有效期,因此如果不做限流操作,在某个时间段券资产平台将会以极高的QPS(Queries Per Second,每秒查询率)向消息推送子系统发送请求,导致消息推送子系统瞬时冲击过高而不可用。假设当前有10000张折扣券即将过期,券资产平台的10个服务器进行处理,消息推送子系统能承受的QPS是100条/s。券资产平台的每个服务器每次从数据库取出100张券,但是每秒只能处理10张(10张*10个服务器=限流100条/s)。假设,折扣券A被服务器S取出,保存在服务器内存中等待处理,在此场景下,需要确保其它服务器了解折扣券A已经在等待处理,避免其他服务器对其进行重复处理的情况。同时,还有考虑服务器S可能出现的宕机、内存数据丢失等问题时,其它服务器会继续处理折扣券A,避免折扣券A被遗漏未处理的情况。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于限流操作的可重入分布式处理方法及装置。
根据本发明的一个方面,提供了一种基于限流操作的可重入分布式处理方法,其包括:
从数据库中提取待处理数据以及待处理数据的可重入处理时间;
判断当前时间是否晚于待处理数据的可重入处理时间;若是,则基于限流控制,对处于待处理状态的待处理数据进行处理;
更新待处理数据的重入次数,根据重入次数更新数据库中记录的待处理数据的可重入处理时间;
循环执行上述步骤,直至待处理数据被成功处理。
可选地,方法还包括:
从数据库提取待处理数据后,若待处理数据未设置可重入处理时间,则设置待处理数据的可重入处理时间。
可选地,可重入处理时间=当前时间+待处理数据的重入次数*预设时间间隔。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口碑(上海)信息技术有限公司,未经口碑(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810864208.6/2.html,转载请声明来源钻瓜专利网。