一种千万级数据推送方法技术

技术编号:39037211 阅读:14 留言:0更新日期:2023-10-10 11:50
本发明专利技术提供的一种千万级数据推送方法,所述数据推送方法包括:配置一个推送任务;设置所述推送任务的推送时间;每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;根据推送任务设置的条件,分批处理所述推送任务。解决用户对于同一条消息收到多次,或者是让未收到消息的用户能够收到一条消息。消息。消息。

【技术实现步骤摘要】
一种千万级数据推送方法


[0001]本专利技术涉及数据推送领域,尤其涉及一种千万级数据推送方法。

技术介绍

[0002]金融行业的业务系统处理着大量的个人和企业隐私数据,自2008年全球金融危机以来,随着新规章制度的不断发布,金融机构正努力跟上千变万化的监管要求,也因此面临着巨大压力。另一方面,以弹性伸缩、统一编排、平台化的云计算技术在金融行业的快速落地,也使得旧有基于传统IT架构的技术监管手段显得力不从心。云平台在实现科技创新的同时,主要压力来自于监管合规性的高度复杂性要求以及监管机构设定的严格时间限制,需要同时具备事前、事中、事后的全面审计能力。因此,如何在一个多租户的金融级云计算平台中,支撑业务敏捷交付、资源弹性供给的科技业务发展同时,实现租户间数据流量的隔离和敏感涉密信息的全面防护与审计过程中,就显得尤其重要和迫在眉睫。
[0003]现有技术方案都是从业务层添加验证规则来监控或者修复安全问题。这些方案业务侵入性很强,需要改动现有代码才能实现。或者通过网络层植入流量旁路镜像,进行网络报文分析,但其无法适应弹性基础设施,尤其在以容器基础为主的PaaS云平台上,信息点永远是动态变化的。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供克服上述问题或者至少部分地解决上述问题的一种千万级数据推送方法。
[0005]根据本专利技术的一个方面,提供了一种千万级数据推送方法,所述数据推送方法包括:
[0006]配置一个推送任务;
[0007]设置所述推送任务的推送时间;
[0008]每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;
[0009]根据推送任务设置的条件,分批处理所述推送任务。
[0010]可选的,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:根据推送任务设置的条件,调用ES查询符合当前批次的条件的数据总数,以10万作为基数分批处理。
[0011]可选的,所述配置一个推送任务具体包括:通过CRM管理系统配置一个推送短信或消息的任务。
[0012]可选的,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:
[0013]在执行推送操作前,进行过滤操作;
[0014]在执行推送过程中,进行推送操作。
[0015]可选的,所述推送为根据具体业务的需要配置,每一个推送都是一个独立的业务单元。
[0016]可选的,所述在执行推送操作前,进行过滤操作具体包括:
[0017]先根据推送用户的PushToken作为key,去redis中检查当前推送任务中,是否已经给用户推送过消息,如果推送过,则取当前批次中的下一个用户进行推送,避免给同一个用户多次推送同一个消息,如果没有推送过先将推送用户的PushToken最为key,推送用户的userId作为value,存入redis中,最终通过redis达到过滤的目的。
[0018]可选的,所述在执行推送过程中,进行推送操作具体包括:
[0019]每推送一个用户,都会给当前用户做一个标记,当前是第几批,每一个用户的pushToken,系统当前时间,存入到mysql数据库中,如果程序出行异常,则从mysql中根据时间,进行倒序排列,取时间最大的一条推送记录的详细信息,再次调用ES查询需要推送的用户,再次进行推送,最终通过查询mysql当前最新的推送数据作为标记。
[0020]本专利技术提供的一种千万级数据推送方法,所述数据推送方法包括:配置一个推送任务;设置所述推送任务的推送时间;每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;根据推送任务设置的条件,分批处理所述推送任务。解决用户对于同一条消息收到多次,或者是让未收到消息的用户能够收到一条消息。
[0021]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0022]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0023]图1为本专利技术实施例提供的一种千万级数据推送方法的流程图。
具体实施方式
[0024]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025]本专利技术的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
[0026]下面结合附图和实施例,对本专利技术的技术方案做进一步的详细描述。
[0027]如图1所示,1.执行推送任务开始
[0028]2.通过CRM管理系统配置一个推送短信或消息的任务;
[0029]3.设置这个推送任务的推送时间;
[0030]4.每隔十分钟检查推送任务是否已到达推送的时间,如果到达了推送时间,则开始执行推送;
[0031]5.根据推送任务设置的条件,调用ES查询符合当前批次的条件的数据总数,以10
万作为基数分批处理,在处理每一批需要推送用户的时候,
[0032]5.1在执行推送操作前,先根据推送用户的PushToken作为key,去redis中检查当前这个推送任务中,是否已经给该用户推送过这条消息,如果推送过,则取当前批次中的下一个用户进行推送,避免给同一个用户多次推送同一个消息,如果没有推送过先将推送用户的PushToken最为key,推送用户的userId作为value,存入redis中,最终通过redis达到过滤的目的,从而解决用户重复收到消息的问题;
[0033]5.2在执行推送过程中,每推送一个用户,都会给当前用户做一个标记,当前是第几批,每一个用户的pushToken,系统当前时间,存入到mysql数据库中,如果程序出行异常,则从mysql中根据时间,进行倒序排列,取时间最大的一条推送记录的详细信息,再次调用ES查询需要推送的用户,再次进行推送。最终通过查询mysql当前最新的推送数据作为标记,解决剩下用户未进行推送的问题。
[0034]推送:是根据具体业务的需要配置,每一个推送都是一个独立的业务单元,例如:
[0035]a.五一活动秒杀

全国用户(一个推送)。
[0036]b.周末出行,畅行畅玩

全国用户(一个推送)。
[0037]c.赚用车鼓励金

北京注册用户(本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种千万级数据推送方法,其特征在于,所述数据推送方法包括:配置一个推送任务;设置所述推送任务的推送时间;每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;根据推送任务设置的条件,分批处理所述推送任务。2.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:根据推送任务设置的条件,调用ES查询符合当前批次的条件的数据总数,以10万作为基数分批处理。3.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述配置一个推送任务具体包括:通过CRM管理系统配置一个推送短信或消息的任务。4.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:在执行推送操作前,进行过滤操作;在执行推送过程中,进行推送操作。5.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述推送为根据具体业务的需要配置,每一个推送都是一个独立的业务单...

【专利技术属性】
技术研发人员:杨立君
申请(专利权)人:北京首汽智行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1