基于Storm和Kafka技术的订单实时监控系统技术方案

技术编号:15764267 阅读:68 留言:0更新日期:2017-07-06 04:09
本发明专利技术公开了基于Storm和Kafka技术的订单实时监控系统,该系统主要包括几个流程:A、订单数据获取、B、Kafka集群、C、Strom集群、D、Zookeeper集群、E、数据处理结果展示。其中所述的步骤A,从数据库中获取订单数据,通过订单号获取价格,并查询一个订单所对应的skucode。通过历史订单进行比对,并将异常订单相关编号和sku编号,当前价格和历史价格,通过调用MailSender实体类邮件发送功能方法发送相关责任人的邮箱。根据本发明专利技术实施例,能够对异常订单及时的发现问题,从而,快速的对当前价格和历史价格进行校验核对,对有问题的订单,做进一步的处理,提升了处理效率,更好的完善系统。

Order real time monitoring system based on Storm and Kafka Technology

The present invention discloses order Storm and real-time monitoring system based on Kafka technology, the system includes the following processes: A, data acquisition, B, order C, Kafka cluster, Strom cluster, D cluster, Zookeeper, E, data processing results show. In the step A, the order data is obtained from the database, the price is obtained by the order number, and the skucode corresponding to an order is queried. Through the comparison of historical orders, and the exception order related numbers and SKU numbers, the current price and historical price, by calling the MailSender entity class mail sending function method to send the relevant person's mailbox. According to the embodiment of the invention, to order to find the problem, thus, quickly carry out the verification of the current price and historical price to have the order, do further processing, improve processing efficiency, improve the system better.

【技术实现步骤摘要】
基于Storm和Kafka技术的订单实时监控系统
本专利技术涉及计算机应用
,尤其涉及基于Storm和Kafka技术的订单实时监控系统。
技术介绍
目前,随着大数据时代的到来,数据规模变得越来越庞大,可获取的数据渠道也逐渐增多,尤其是互联网电子商务领域的数据规模更加庞大。各大互联网电商门户网站在日订单量大幅度提升,尤其在节假日进行各种促销活动已经成为一种趋势,在促销活动期间,电商网站产生大量的流量和商品订单,商家运营部通过监控实时的订单数据调整营销策略也显得尤为重要,同时,让用户能实时看到电商网站的订单数据,也能增加用户的购买欲望。在高并发的条件下,订单数据会爆发式增长,现有的离线计算系统已经不能满足在高并发环境下的实时计算需求,针对这种情况,大规模订单数据的处理面临的最大的挑战在于如何在有限的时间内对数据进行处理和分析,并且能够实时解决。因此,对订单实时监控,并保证订单数量、订单实时价格准确性很重要,对异常订单能够及时处理,成为各大电商网站迫切需求,本专利技术提出基于Storm和Kafka技术的订单实时监控系统,能够快速的对当前价格和历史价格进行校验核对,对有问题的订单,做进一步的处理,更好的完善订单系统。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于Storm和Kafka技术的订单实时监控系统,能够对订单的当前价格和历史价格,进行实时校验核对,对有问题的订单及时做进一步处理,从而,提升了处理效率。为达到上述目的,本专利技术的技术方案是这样实现的:基于Storm和Kafka技术的订单实时监控系统,主要流程包括以下几个部分:A、订单数据获取;B、Kafka集群;C、Strom集群;D、Zookeeper集群;E、数据处理结果展示。其中所述步骤A处理过程主要为:从数据库中获取订单数据,通过订单号获取价格、并查询一个订单所对应的skucode。其中所述步骤B处理过程主要为:Kafka主要由Producer,Consumer和Broker组成。启动Zookeeper集群,Kafka用Zookeeper集群来记录每一个消费者(Consumer)的offset,并且为集群上的每一台Kafka服务器单独配置配置文件,同时采用随机放入时的方法,往kafka里面放数据。其中所述步骤C处理过程主要包括以下几个流程:进一步地,C1、创建消费kafka的spout,即storm提供的KafkaSpout;C2、在本专利技术中创建了两个Bolt,一个是创建处理从kafka读取数据的OrderBolt,OrderBolt负责解析kafka读取到的json并发送到下个OrderHandleBolt进一步处理;C3、创建OrderHandleBolt,并继承BaseRichBolt,即处理订单的bolt,执行publicvoidexecute(Tupletuple,BasicOutputCollectorcollector)函数,并且该函数通过collector提交数据,同时重载了declareOutputFields函数,通知下一个Bolt的数据格式。该方法功能主要实现历史订单进行比对,并将异常订单相关编号和sku编号,当前价格和历史价格,通过调用MailSender实体类邮件发送功能方法发送相关责任人的邮箱。C4、创建拓扑OrderTopology,首先创建了一个叫OnProductOrder的topic,然后配置好KafkaSpout的配置SpoutConfig,其中zk的地址端口和根节点,需要说明的是:本专利技术中Kafka创建了一个3分区的Topic,这里并行度设置为3;C5、将id为spout通过shuffleGrouping关联到OrderBolt对象,然后将节点为OrderBolt通过shuffleGrouping关联到OrderHandleBolt对象。C6、最后根据参数创建3个Worker,提交StormTopology。其中所述步骤D处理过程主要为:Zookeeper是Storm依赖的外部资源。Storm主要分为两种组件Nimbus和Supervisor,这两种组件实际运行的Worker也把心跳保存在Zookeeper上,同时,Nimbus根据Zookeerper上的心跳和任务运行状况,来进行调度和任务分配。同时,在本专利技术中Kafka用Zookeeper集群记录每一个消费者(Consumer)的offset。其中所述步骤E处理过程主要为:将处理过异常订单数据使用Javax.Mail技术创建邮件登录类MailAuthenticator继承Authenticator,用户校验类MyAuthenticator,邮件主题类Mail,发送邮件使用基本信息类MailSenderInfo,邮件发送类MailSender,来实现发送到相关责任人邮箱功能。本专利技术所提供的基于Storm和Kafka技术的订单实时监控系统,具有以下优点:1)能够对订单的当前价格和历史价格,进行实时校验核对,从而,对有问题的订单及时做进一步处理;2)能够对订单进行实时跟踪,提升处理效率,加快响应时间。附图说明图1为本专利技术基于Storm和Kafka技术的订单实时监控系统流程示意图;图2为本专利技术基于Storm和Kafka技术的订单实时监控系统应用场景示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图及本专利技术的实施例对本专利技术的基于Storm和Kafka技术的订单实时监控系统作进一步详细的说明。参考图1,该基于Storm和Kafka技术的订单实时监控系统,具体包含以下几个流程:1)从数据库中获取订单数据;2)往kafka里面放数据;3)Strom消费Kafka中的数据;4)将处理过异常订单数据使用Javax.Mail技术,发送到相关责任人的邮箱。本专利技术为解决订单实时监控的问题,主要采用了以下技术,下面对这些技术进行简单介绍。1)Storm技术。Storm是采用Clojure编写的,是一个分布式的、可靠的、容错的实时流式计算平台,可被用于“流处理”之中,实时处理消息并更新数据库,可以进行连续查询并把结果即时反馈给用户,可以用来并行处理密集查询,Storm的拓扑结构是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。本专利技术中由Storm去消费,通过KafkaSpout将订单数据输送到Storm,然后让Storm做实时业务逻辑处理。2)Kafka技术。Kafka是一个分布式的高吞吐量的消息系统,有点对点和发布订阅两种消息消费模式。Kafka主要由Producer、Consumer和Broker三部分组成。另外,Kafka集群有多个Kafka实例组成,每个实例(server)称为Broker。无论是Producer和Consumer还是Kafka集群,都依赖zookeeper来保证系统的可用性,为集群保存一些元信息,Kafka中可以创建Topic,用来管理不同种类的消息,不同类别的消息会记录在到其对应的topic池中,而这些进入到topic中的消息会被Kafka写入磁盘的log文件中进行持久化处理。本专利技术中通过往Kafka中放订单数据,创建生产者(Producer),产生并发送消息。3)Zo本文档来自技高网...
基于Storm和Kafka技术的订单实时监控系统

【技术保护点】
一种基于Storm和Kafka技术的订单实时监控系统,其特征在于,该系统主要以下几个流程:A、订单数据获取;B、Kafka集群;C、Strom集群;D、Zookeeper集群;E、数据处理结果展示。

【技术特征摘要】
1.一种基于Storm和Kafka技术的订单实时监控系统,其特征在于,该系统主要以下几个流程:A、订单数据获取;B、Kafka集群;C、Strom集群;D、Zookeeper集群;E、数据处理结果展示。2.根据权利要求1所述的基于Storm和Kafka技术的订单实时监控系统,其特征在于,所述步骤A,具体为:从数据库中获取订单数据,通过订单号获取价格、并查询一个订单所对应的skucode。3.根据权利要求1所述的基于Storm和Kafka技术的订单实时监控系统,其特征在于,所述步骤B,具体为:往kafka里面放数据,创建随机放入时的方法。4.根据权利要求1所述的基于Storm和Kafka技术的订单实时监控系统,其特征在于,所述步骤C包含以下几个流程,具体为:C1、从数据库中获取订单数据,通过订单号获取价格、并查询一个订单所对应的skucode;C2、往kafka里面放数据;C3、采用storm提供的KafkaSpout,来创建消费kafka的spout;C4、创建两个Bolt,一个是处理从kafka读取数据的OrderBolt,一个是处理订单的OrderHandleBolt;C5、创建拓扑OrderTopology;C6、创建...

【专利技术属性】
技术研发人员:王清霞刘宁周国辉姜林
申请(专利权)人:北京再塑宝科技有限公司
类型:发明
国别省市:北京,11

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

1