CN109800213A - 基于rabbitmq的生产质量数据统计系统和方法 - Google Patents
基于rabbitmq的生产质量数据统计系统和方法 Download PDFInfo
- Publication number
- CN109800213A CN109800213A CN201910058567.7A CN201910058567A CN109800213A CN 109800213 A CN109800213 A CN 109800213A CN 201910058567 A CN201910058567 A CN 201910058567A CN 109800213 A CN109800213 A CN 109800213A
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- module
- rabbitmq
- production
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于rabbitmq的生产质量数据统计系统,包括生产过站模块:与rabbitmq和消息确认模块连接,将过站信息存入业务数据库,发送消息给数据处理模块,发送延时消息给消息确认模块;数据处理模块接收生产过站模块发送的消息并进行统计将统计结果存入质量统计数据库,同时通过rabbitmq发送确认消息给消息确认模块,消息确认模块将延时消息和确认消息存入消息持久化数据库。还公开了一种基于rabbitmq的生产质量数据统计方法。本发明利用rabbitmq将生产过程质量进行信息化管理,避免了漏计或大并发下导致统计系统瘫痪的场景,且实时的统计模式为生产统计提供了更可靠更稳定的服务。
Description
技术领域
本发明涉及工业信息化技术领域,具体涉及工业生产管理系统,尤其是涉及一种基于rabbitmq的生产质量数据统计系统和方法。
背景技术
2013年4月德国提出的工业4.0已势不可挡,利用物联信息系统将生产中的供应,制造,销售信息数据化、智慧化,最后达到快速,有效,个人化的产品供应已经成为未来工业的发展趋势。目前生产质量统计困难不及时,多靠质量人员人工统计,一些工厂甚至没有统计数据,现有一些信息化系统在统计过程中容易出现漏计或高并发下难以支撑的情况,一些信息化系统为避免高并发压力,采用延时统计,以保证数据准确性,但对于生产实时质量问题难以发现。
发明内容
本发明的目的在于提供一种基于rabbitmq的生产质量数据统计系统和方法,既将生产过程质量进行信息化管理,同时极大程度上避免了漏计或高并发下导致统计系统瘫痪的场景,且实时的统计模式为系统源于生产服务与生产做出最有力的保障。
本发明通过下述技术方案解决上述问题:
一种基于rabbitmq的生产质量数据统计系统,所述系统包括生产过站模块、rabbitmq、数据处理模块、消息确认模块、业务数据库、消息持久化数据库和质量统计数据库,其中:
生产过站模块:与所述rabbitmq和消息确认模块连接,用于将过站信息存入业务数据库,同时通过rabbitmq发送消息给数据处理模块,并发送延时消息给消息确认模块;
数据处理模块:通过rabbitmq接收生产过站模块发送的消息并进行统计,并将统计结果存入质量统计数据库,同时通过rabbitmq发送确认消息;
消息确认模块:通过rabbitmq接收生产过站模块的延时消息和数据处理模块发送的确认消息,并将延时消息和确认消息存入消息持久化数据库。
进一步地,所述生产过站模块包括生成流程逻辑模块和业务消息模块,所述生产流程逻辑模块用于对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库,并将生产数据通过所述业务消息模块进行发送。
进一步地,所述数据处理模块包括生产数据转换质量统计数据模块和统计消息模块,所述生产数据转换质量统计数据模块用于将收到的生产数据转换为质量统计要求的数据并存储到质量统计数据库。
一种基于rabbitmq的生产质量数据统计方法,包括:
步骤A:在rabbitmq声明queue,所述queue包括常规生产消息队列stat queue,确认消息队列confirm queue,确认消息死信队列deadConfirm queue,常规消息死信队列dead queue和统计模块确认队列ACK queue,并分别为常规生产消息队列stat queue和确认消息队列confirm queue设置超时时间,并为常规生产消息队列start queue配置常规消息死信队列dead queue,为确认消息队列confirm queue配置确认消息死信队列deadConfirm queue;
步骤B:数据处理模块监听常规生产消息队列stat queue,消息确认模块监听确认消息死信队列deadConfirm queue、统计模块确认队列ACK queue及常规消息死信队列deadqueue;
步骤C:对产品实现扫码过站,生产流程逻辑模块对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库;
步骤D:生成流程逻辑模块完成数据存储之后,将生产数据通过业务消息模块进行发送,将消息推送到常规生产消息队列stat queue和确认消息队列confirm queue,数据处理模块通过监听常规生产消息队列stat queue获取生产数据;
步骤E:生产数据转换质量统计数据模块将收到的生产数据转换为质量统计要求的数据,并存储细化后的工序质量数据到质量统计数据库;
步骤F:消息存储后通过统计消息模块,将重新整理的消息推送到统计模块确认队列ACK queue,消息确认模块通过监听统计模块确认队列ACK queue获取该消息,将本次推送存储到消息持久化数据库,同时标记成功标识;
步骤G:确认消息队列Confirm queue的消息过期,被转发到确认消息死信队列deadConfirm queue,消息确认模块通过监听确认消息死信队列deadConfirm queue获取消息过期,并在消息持久化数据中查找是否已发送成功,若成功,则本次通信结束,若没有发送成功,则将消息存储到消息持久化数据库,同时标记未成功标识,并标记未成功次数;
步骤H:若没有发送成功,消息确认模块在预设时间后,通过定时任务,将未成功的消息,通过业务消息模块进行重试。
进一步地,所述步骤D中,若常规生产消息队列stat queue发送消息超时,消息自动进入常规消息死信队列dead queue,消息确认模块通过监听常规消息死信队列deadqueue获取到该消息,则将消息存储到消息持久化数据库,同时标记未成功标识,并标记未成功次数。
进一步地,所述步骤G中,消息确认模块对于多次发送不成功的消息进行闲置处理,待人工处理。
本发明与现有技术相比,具有以下优点及有益效果:
本发明利用rabbitmq的高效特性,既将生产过程质量进行信息化管理,同时极大程度上避免了漏计或大并发下导致统计系统瘫痪的场景,且实时的统计模式为生产统计提供了更可靠更稳定的服务。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
一种基于rabbitmq的生产质量数据统计系统,所述系统包括生产过站模块、rabbitmq、数据处理模块、消息确认模块、业务数据库、消息持久化数据库和质量统计数据库,其中:
生产过站模块:与所述rabbitmq和消息确认模块连接,用于将过站信息存入业务数据库,同时通过rabbitmq发送消息给数据处理模块,并发送延时消息给消息确认模块;
数据处理模块:通过rabbitmq接收生产过站模块发送的消息并进行统计,并将统计结果存入质量统计数据库,同时通过rabbitmq发送确认消息;
消息确认模块:通过rabbitmq接收生产过站模块的延时消息和数据处理模块发送的确认消息,并将延时消息和确认消息存入消息持久化数据库。
进一步地,所述生产过站模块包括生成流程逻辑模块和业务消息模块,所述生产流程逻辑模块用于对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库,并将生产数据通过所述业务消息模块进行发送。
进一步地,所述数据处理模块包括生产数据转换质量统计数据模块和统计消息模块,所述生产数据转换质量统计数据模块用于将收到的生产数据转换为质量统计要求的数据并存储到质量统计数据库。
实施例2:
结合附图1所示,一种基于rabbitmq的生产质量数据统计方法,包括:
步骤A:在rabbitmq声明queue和exchange,所述queue包括常规生产消息队列statqueue,确认消息队列confirm queue,确认消息死信队列deadConfirm queue,常规消息死信队列dead queue和统计模块确认队列ACK queue,并分别为常规生产消息队列statqueue和确认消息队列confirm queue设置超时时间为1分钟和5分钟,并为常规生产消息队列start queue配置常规消息死信队列dead queue,为确认消息队列confirm queue配置确认消息死信队列deadConfirm queue;
步骤B:数据处理模块监听常规生产消息队列stat queue,消息确认模块监听确认消息死信队列deadConfirm queue、统计模块确认队列ACK queue及常规消息死信队列deadqueue;
步骤C:对产品实现扫码过站,生产过站模块中的生产流程逻辑模块对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库(business DB);
步骤D:生产过站模块的处理流程为:生成流程逻辑模块完成数据存储之后,将生产数据通过业务消息模块进行发送,将消息推送到rabbitmq中的常规生产消息队列statqueue和确认消息队列confirm queue,数据处理模块通过监听常规生产消息队列statqueue获取生产数据;
步骤E:数据处理模块中的生产数据转换质量统计数据模块将收到的生产数据转换为质量统计要求的数据,质量统计要求的数据包括首次通过数量、二次通过数量、最终通过数量、最终未通过数量、直通率和合格率,并存储细化后的工序质量数据到质量统计数据库(stat DB);
步骤F:消息存储后通过统计消息模块,将重新整理的消息推送到统计模块确认队列ACK queue,消息确认模块通过监听统计模块确认队列ACK queue获取该消息,将本次推送存储到消息持久化数据库(msg DB),同时标记成功标识;
步骤G:5分钟后,确认消息队列Confirm queue的消息过期,被转发到确认消息死信队列deadConfirm queue,消息确认模块通过监听确认消息死信队列deadConfirm queue获取消息过期,并在消息持久化数据中查找是否已发送成功,若成功,则本次通信结束,若没有发送成功,则将消息存储到消息持久化数据库,同时标记未成功标识,并标记未成功次数;
步骤H:若没有发送成功,消息确认模块在等待10分钟后,通过定时任务,将未成功的消息,通过业务消息模块进行重试。
质量数据统计模块可能因计算复杂导致队列积压,最终导致stat queue中的消息超时。若发生超时,消息自动进入常规消息死信队列dead queue,消息确认模块通过监听常规消息死信队列dead queue获取到该消息,则将消息存储到消息持久化数据库(msg DB),同时标记该条数据消费未成功标识,并标记未成功次数;
消息确认模块在等待10分钟后,通过定时任务,将未成功的消息,通过业务消息模块进行重试;
消息超过设定次数都未成功,则不再通过定时任务重试,等待人工处理。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (6)
1.一种基于rabbitmq的生产质量数据统计系统,其特征在于,所述系统包括生产过站模块、rabbitmq、数据处理模块、消息确认模块、业务数据库、消息持久化数据库和质量统计数据库,其中:
生产过站模块:与所述rabbitmq和消息确认模块连接,用于将过站信息存入业务数据库,同时通过rabbitmq发送消息给数据处理模块,并发送延时消息给消息确认模块;
数据处理模块:通过rabbitmq接收生产过站模块发送的消息并进行统计,并将统计结果存入质量统计数据库,同时通过rabbitmq发送确认消息;
消息确认模块:通过rabbitmq接收生产过站模块的延时消息和数据处理模块发送的确认消息,并将延时消息和确认消息存入消息持久化数据库。
2.根据权利要求1所述的基于rabbitmq的生产质量数据统计系统,其特征在于,所述生产过站模块包括生成流程逻辑模块和业务消息模块,所述生产流程逻辑模块用于对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库,并将生产数据通过所述业务消息模块进行发送。
3.根据权利要求1所述的基于rabbitmq的生产质量数据统计系统,其特征在于,所述数据处理模块包括生产数据转换质量统计数据模块和统计消息模块,所述生产数据转换质量统计数据模块用于将收到的生产数据转换为质量统计要求的数据并存储到质量统计数据库。
4.一种基于rabbitmq的生产质量数据统计方法,其特征在于,包括:
步骤A:在rabbitmq声明queue,所述queue包括常规生产消息队列stat queue,确认消息队列confirm queue,确认消息死信队列deadConfirm queue,常规消息死信队列deadqueue和统计模块确认队列ACK queue,并分别为常规生产消息队列stat queue和确认消息队列confirm queue设置超时时间,并为常规生产消息队列start queue配置常规消息死信队列dead queue,为确认消息队列confirm queue配置确认消息死信队列deadConfirmqueue;
步骤B:数据处理模块监听常规生产消息队列stat queue,消息确认模块监听确认消息死信队列deadConfirm queue、统计模块确认队列ACK queue及常规消息死信队列deadqueue;
步骤C:对产品实现扫码过站,生产流程逻辑模块对生产产品进行逻辑处理后产生业务数据,并将业务数据存储到业务数据库;
步骤D:生成流程逻辑模块完成数据存储之后,将生产数据通过业务消息模块进行发送,将消息推送到常规生产消息队列stat queue和确认消息队列confirm queue,数据处理模块通过监听常规生产消息队列stat queue获取生产数据;
步骤E:生产数据转换质量统计数据模块将收到的生产数据转换为质量统计要求的数据,并存储到质量统计数据库;
步骤F:消息存储后通过统计消息模块,将重新整理的消息推送到统计模块确认队列ACK queue,消息确认模块通过监听统计模块确认队列ACK queue获取该消息,将本次推送存储到消息持久化数据库,同时标记成功标识;
步骤G:确认消息队列Confirm queue的消息过期,被转发到确认消息死信队列deadConfirm queue,消息确认模块通过监听确认消息死信队列deadConfirm queue获取消息过期,并在消息持久化数据中查找是否已发送成功,若成功,则本次通信结束,若没有发送成功,则将消息存储到消息持久化数据库,同时标记未成功标识,并标记未成功次数;
步骤H:若没有发送成功,消息确认模块在预设时间后,通过定时任务,将未成功的消息,通过业务消息模块进行重试。
5.根据权利要求4所述的基于rabbitmq的生产质量数据统计方法,其特征在于,所述步骤D中,若常规生产消息队列stat queue发送消息超时,消息自动进入常规消息死信队列dead queue,消息确认模块通过监听常规消息死信队列dead queue获取到该消息,则将消息存储到消息持久化数据库,同时标记未成功标识,并标记未成功次数。
6.根据权利要求4所述的基于rabbitmq的生产质量数据统计方法,其特征在于,所述步骤G中,消息确认模块对于多次发送不成功的消息进行闲置处理,待人工处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058567.7A CN109800213B (zh) | 2019-01-22 | 2019-01-22 | 基于rabbitmq的生产质量数据统计系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058567.7A CN109800213B (zh) | 2019-01-22 | 2019-01-22 | 基于rabbitmq的生产质量数据统计系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109800213A true CN109800213A (zh) | 2019-05-24 |
CN109800213B CN109800213B (zh) | 2022-03-25 |
Family
ID=66559971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910058567.7A Active CN109800213B (zh) | 2019-01-22 | 2019-01-22 | 基于rabbitmq的生产质量数据统计系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800213B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688284A (zh) * | 2019-09-29 | 2020-01-14 | 武汉易酒批电子商务有限公司 | 一种管理和监控RabbitMq消息队列的方法及系统 |
CN112596920A (zh) * | 2020-12-15 | 2021-04-02 | 中国建设银行股份有限公司 | 一种消息处理的方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557316A (zh) * | 2009-05-14 | 2009-10-14 | 阿里巴巴集团控股有限公司 | 一种更新统计数据的方法和系统 |
CA2952563A1 (en) * | 2014-06-16 | 2015-12-23 | Kinderguardian Inc. | System and method for managing behavior |
CN107562809A (zh) * | 2017-08-10 | 2018-01-09 | 广州视源电子科技股份有限公司 | 业务数据统计方法、装置、系统及可读存储介质 |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
CN109040094A (zh) * | 2018-08-21 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种基于RabbitMQ实现异步RPC的方法及系统 |
CN109246000A (zh) * | 2018-10-29 | 2019-01-18 | 苏州友教习亦教育科技有限公司 | 消息发送方法及消息发送系统 |
CN109240836A (zh) * | 2018-09-06 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种用于配置消息队列的消息的方法和装置 |
-
2019
- 2019-01-22 CN CN201910058567.7A patent/CN109800213B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557316A (zh) * | 2009-05-14 | 2009-10-14 | 阿里巴巴集团控股有限公司 | 一种更新统计数据的方法和系统 |
CA2952563A1 (en) * | 2014-06-16 | 2015-12-23 | Kinderguardian Inc. | System and method for managing behavior |
CN108804237A (zh) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | 数据实时统计方法、装置、存储介质和电子设备 |
CN107562809A (zh) * | 2017-08-10 | 2018-01-09 | 广州视源电子科技股份有限公司 | 业务数据统计方法、装置、系统及可读存储介质 |
CN109040094A (zh) * | 2018-08-21 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种基于RabbitMQ实现异步RPC的方法及系统 |
CN109240836A (zh) * | 2018-09-06 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种用于配置消息队列的消息的方法和装置 |
CN109246000A (zh) * | 2018-10-29 | 2019-01-18 | 苏州友教习亦教育科技有限公司 | 消息发送方法及消息发送系统 |
Non-Patent Citations (3)
Title |
---|
NICK HAO: "《https://www.cnblogs.com/haoxinyue/p/6613706.html》", 24 March 2017 * |
割肉机: "《https://www.cnblogs.com/williamjie/p/9481774.html》", 15 August 2018 * |
陈付梅 等: "大数据环境下的分布式数据流处理关键技术探析", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688284A (zh) * | 2019-09-29 | 2020-01-14 | 武汉易酒批电子商务有限公司 | 一种管理和监控RabbitMq消息队列的方法及系统 |
CN112596920A (zh) * | 2020-12-15 | 2021-04-02 | 中国建设银行股份有限公司 | 一种消息处理的方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109800213B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021114673A1 (zh) | 一种物联网数据传输方法及系统 | |
CN109800213A (zh) | 基于rabbitmq的生产质量数据统计系统和方法 | |
CN111737355B (zh) | 基于MongoDB元数据管理的异构数据源同步的方法及系统 | |
CN105447661A (zh) | 基于条码技术的有色金属交割库库存信息处理方法及系统 | |
CN105608551A (zh) | 物流业务管理方法与系统 | |
CN103139048A (zh) | 群消息提醒方法和系统 | |
CN110602533B (zh) | 分时段分人群的智能电视广告推荐系统及其推荐方法 | |
CN107146059A (zh) | 一种物资合同履约信息管控方法 | |
CN111683219A (zh) | 水电站设备故障远程诊断系统及方法 | |
CN109800939A (zh) | 一种工作任务派发方法及系统 | |
CN104883458A (zh) | 呼叫中心服务系统 | |
CN110209740A (zh) | 一种基于RocketMq消息中间件并行同步数据的方法 | |
CN109345333B (zh) | 一种基于多外卖平台的一体化外卖接单云打印系统 | |
CN106339860A (zh) | 企业内部呼叫应答管理系统与管理方法 | |
NZ527509A (en) | Data exchange between insurer and repairer | |
CN106557557A (zh) | 基于配置项优先级的cmdb调和方法及装置 | |
CN105868009A (zh) | 一种直播流软件转码任务管理方法和装置 | |
CN112001677A (zh) | 一种智能工厂生产控制系统 | |
CN111107137B (zh) | 通信数据同步及处理方法和系统 | |
CN108243076A (zh) | 一种新型中小企业服务系统 | |
CN103516589B (zh) | 一种基于群组关系的消息发送方法和系统 | |
CN107506403B (zh) | 一种网格化信息系统及数据同步变动方法 | |
CN116048924A (zh) | 一种基于Flink实现实时监控告警的方法 | |
CN111083436A (zh) | 一种服务厅一体化综合应用监控管理系统 | |
CN114265903B (zh) | 一种数据收集和分发系统及工作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |