本发明涉及数据推送领域,尤其涉及一种千万级数据推送方法。
背景技术:
1、金融行业的业务系统处理着大量的个人和企业隐私数据,自2008年全球金融危机以来,随着新规章制度的不断发布,金融机构正努力跟上千变万化的监管要求,也因此面临着巨大压力。另一方面,以弹性伸缩、统一编排、平台化的云计算技术在金融行业的快速落地,也使得旧有基于传统it架构的技术监管手段显得力不从心。云平台在实现科技创新的同时,主要压力来自于监管合规性的高度复杂性要求以及监管机构设定的严格时间限制,需要同时具备事前、事中、事后的全面审计能力。因此,如何在一个多租户的金融级云计算平台中,支撑业务敏捷交付、资源弹性供给的科技业务发展同时,实现租户间数据流量的隔离和敏感涉密信息的全面防护与审计过程中,就显得尤其重要和迫在眉睫。
2、现有技术方案都是从业务层添加验证规则来监控或者修复安全问题。这些方案业务侵入性很强,需要改动现有代码才能实现。或者通过网络层植入流量旁路镜像,进行网络报文分析,但其无法适应弹性基础设施,尤其在以容器基础为主的paas云平台上,信息点永远是动态变化的。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种千万级数据推送方法。
2、根据本发明的一个方面,提供了一种千万级数据推送方法,所述数据推送方法包括:
3、配置一个推送任务;
4、设置所述推送任务的推送时间;
5、每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;
6、根据推送任务设置的条件,分批处理所述推送任务。
7、可选的,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:根据推送任务设置的条件,调用es查询符合当前批次的条件的数据总数,以10万作为基数分批处理。
8、可选的,所述配置一个推送任务具体包括:通过crm管理系统配置一个推送短信或消息的任务。
9、可选的,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:
10、在执行推送操作前,进行过滤操作;
11、在执行推送过程中,进行推送操作。
12、可选的,所述推送为根据具体业务的需要配置,每一个推送都是一个独立的业务单元。
13、可选的,所述在执行推送操作前,进行过滤操作具体包括:
14、先根据推送用户的pushtoken作为key,去redis中检查当前推送任务中,是否已经给用户推送过消息,如果推送过,则取当前批次中的下一个用户进行推送,避免给同一个用户多次推送同一个消息,如果没有推送过先将推送用户的pushtoken最为key,推送用户的userid作为value,存入redis中,最终通过redis达到过滤的目的。
15、可选的,所述在执行推送过程中,进行推送操作具体包括:
16、每推送一个用户,都会给当前用户做一个标记,当前是第几批,每一个用户的pushtoken,系统当前时间,存入到mysql数据库中,如果程序出行异常,则从mysql中根据时间,进行倒序排列,取时间最大的一条推送记录的详细信息,再次调用es查询需要推送的用户,再次进行推送,最终通过查询mysql当前最新的推送数据作为标记。
17、本发明提供的一种千万级数据推送方法,所述数据推送方法包括:配置一个推送任务;设置所述推送任务的推送时间;每隔一个时间周期检查所述推送任务是否已到达推送的时间,如果是,执行推送;根据推送任务设置的条件,分批处理所述推送任务。解决用户对于同一条消息收到多次,或者是让未收到消息的用户能够收到一条消息。
18、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种千万级数据推送方法,其特征在于,所述数据推送方法包括:
2.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:根据推送任务设置的条件,调用es查询符合当前批次的条件的数据总数,以10万作为基数分批处理。
3.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述配置一个推送任务具体包括:通过crm管理系统配置一个推送短信或消息的任务。
4.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述根据推送任务设置的条件,分批处理所述推送任务具体包括:
5.根据权利要求1所述的一种千万级数据推送方法,其特征在于,所述推送为根据具体业务的需要配置,每一个推送都是一个独立的业务单元。
6.根据权利要求4所述的一种千万级数据推送方法,其特征在于,所述在执行推送操作前,进行过滤操作具体包括:
7.根据权利要求4所述的一种千万级数据推送方法,其特征在于,所述在执行推送过程中,进行推送操作具体包括: