多消息消费模式多存储处理方法及装置与流程

文档序号:32843934发布日期:2023-01-06 21:49阅读:26来源:国知局
多消息消费模式多存储处理方法及装置与流程

1.本发明涉及数据处理技术领域,具体涉及多消息消费模式多存储处理方法及装置。


背景技术:

2.随着生产设备的不断增多,原来的方案是设备端将消息上传到kafka,由专门的消息处理服务消费消息,并将消息保存起来,随着交易消息的不断增加,特别是面对高峰期时,数据经常出现错误,主要体现在由单个服务接收多种设备上传的交易消息时处理能力低下,还混杂了一些业务逻辑,消息经常出现阻塞的情况,消息的存储也采用的常见关系型数据库,数据存储力度太大,在做一些业务检索时效率也非常低下,随着客户数量的不断增加,因此经常要花大量的时间对异常的数据做人工处理,影响客户使用体验;其次由于客户数量的不断增多,客户对数据的需求也不断增加,于是平台日志也变的非常重要,怎么处理大量的操作日志也变成一个难题,于是对消息的处理改造迫在眉睫。


技术实现要素:

3.为解决现有技术中处理大量的操作日志和庞大的业务数据造成客户使用体验差的问题,提供了多消息消费模式多存储处理方法。
4.第一方面,本发明提供多消息消费模式多存储处理方法,其步骤如下:
5.接收设备端接口的交易消息,并将交易消息桥接到kafka平台中;
6.设备端接口的平台日志消息与kafka平台对接,并将平台日志消息传递给kafka平台;
7.根据策略,交易消息清洗器消费kafka平台中的交易消息;
8.交易服务集群消费交易消息清洗器中下发的清洗后的交易消息,按照业务将交易消息的数据做分库分表,保存到关系数据库;
9.在平台日志消息与kafka平台对接同时,平台日志清洗器对消息路由器中的平台日志消息进行消费,并存储至分层数据库;
10.在交易消息清洗器消费kafka平台中的交易消息同时,第三方平台对接并消费kafka平台中平台日志消息。
11.优选的技术方案,交易消息清洗器消费kafka平台中的交易消息包括将kafka平台中的交易消息处理变为逻辑数据流和kafka平台对消费信息流进行拆分、合并、补全和清洗。
12.优选的技术方案,交易服务集群将交易消息清洗器消费kafka平台中的交易消息根据业务分表存储在关系数据库中。
13.优选的技术方案,交易消息中的服务消费信息与kafka对接,做数据转换,并将此消息保存到关系数据库中,用于后期检索。
14.优选的技术方案,数据仓库服务将交易消息清洗器消费kafka平台中的交易消息
根据聚合、分层的规则存储到分层数据库中。
15.优选的技术方案,平台日志清洗器对平台日志消息进行消费,其步骤如下:
16.定义一个启动器;
17.启动若干个任务,每个任务可处理多种消息,每个消息指定一个日志策略;
18.根据不同的日志策略,将消息进行清洗和分层,并写到分层数据仓库。
19.优选的技术方案,日志策略是包括描述消息的清洗步骤、清洗原则、清洗数据调用相应服务获取数据补全、不同的消息定义,描述消息进行清洗说明和保存到相应的数据库。
20.优选的技术方案,数据仓库服务器消费交易消息清洗器下发的清洗后的交易消息,将交易消息的数据依据维度聚合,将交易消息分层存储至分层数据仓库中。
21.优选的技术方案,收集平台日志消息并上传到kafka,并补全关键属性,做数据清洗之后,将日志写到分层数据仓库内。
22.本方案其一,采用多消费模式,定义多个消费者,分别消费不同的消息,解决消息堵塞的问题,定义多个消息清洗器,在接受到消息时对数据做清洗,分层,同时,根据业务需求定义多层数据结构,将清洗后的数据保存到相应的分层中,做到了高效存储与高效数据检索;其二,平台日志消息采用专用服务器处理,隔离平台日志对业务的影响。
23.第二方面,本发明提供多消息消费模式多存储处理装置,包括:
24.交易设备:上传交易信息的设备;
25.消息路由器:接收设备端接口交易消息,emq交易消息,将消息桥接到平台日志清洗器,kafka平台;
26.emq:与交易设备端保持连接,用于上传交易消息;
27.kafka平台:用于传递交易消息,平台日志消息;
28.交易消息清洗器:收集交易数据,调用内部基础数据服务做数据补全,清洗,按业务分发消息;
29.交易服务集群:收集交易数据,存储到关系数据库;
30.数据仓库服务:数据聚合,分层存储;
31.平台日志收集服务器:记录平台的一些关键操作;
32.平台日志消息处理服务,通过日志清洗器对日志的数据进行清洗。
33.分层数据仓库:多层结构,根据数据清洗的层次划分;
34.关系数据库:根据业务分库分表,存储主要交易数据。
35.本发明所达到的有益效果为:通过该发明,可以解决如下几个难点,一是设备产生的交易消息不均匀,在消息高峰期时,通过多消费者的方式并发消费,后台系统的消息不会出现堆积情况。二是交易消息数据量过大,存储是个难题,通过这种多层次存储架构可以有效的解决数据杂乱问题,后期可以做到高效,按需检索数据。三是定义多个消息清洗器,负责数据清洗工作,根据不同的日志策略,将数据写入到上述的多层存储数据库中。四是隔离了平台日志数据,划分专门的服务与第三方对接,降低因业务外问题引起平台问题。
附图说明
36.图1是本发明多消息消费模式多存储处理方法的逻辑示意图。
具体实施方式
37.为便于本领域的技术人员理解本发明,下面结合附图说明本发明的具体实施方式。
38.如图1所示,本发明提供了多消息消费模式多存储处理方法,其步骤如下:
39.接收设备端接口的交易消息,并将交易消息桥接到kafka平台中;
40.设备端接口的平台日志消息与kafka平台对接,并将平台日志消息传递给kafka平台;
41.根据策略,交易消息清洗器消费kafka平台中的交易消息;
42.交易服务集群消费交易消息清洗器中下发的清洗后的交易消息,按照业务将交易消息的数据做分库分表,保存到关系数据库;
43.在平台日志消息与kafka平台对接同时,平台日志清洗器对消息路由器中的平台日志消息进行消费,并存储至分层数据库;
44.在交易消息清洗器消费kafka平台中的交易消息同时,第三方平台对接并消费kafka平台中平台日志消息。
45.需要说明的是:设备端接口的平台日志消息与kafka平台对接,并将平台日志消息传递给kafka平台;在平台日志收集服务器收集平台日志消息并上传到kafka时,需要补全关键属性和数据清洗;关键属性指后台系统用于页面查询的一些属性,在数据库设计中,往往保存在多个不同的地方,设备端上传的消息不具备这些属性,所以需要补全,数据清洗指对消息的转换,可以是删除,也可以是汇总。
46.原来的方案是设备端将消息上传到kafka,由专门的消息处理服务消费消息,并将消息保存起来,随着交易消息的不断增加,特别是面对高峰期时,数据经常出现错误,主要体现在由单个服务接收多种设备上传的交易消息时处理能力低下,还混杂了一些业务逻辑,消息经常出现阻塞的情况,消息的存储也采用的常见关系型数据库,数据存储力度太大,在做一些业务检索时效率也非常低下,随着客户数量的不断增加,因此经常要花大量的时间对异常的数据做人工处理,影响客户使用体验;
47.基于上述原因,现将设备端接收的消息分为日志消息和业务的交易消息,交易消息桥接到kafka平台中进行处理,而日志消息则有平台日志清洗器对日志的消息进行处理,从而实现日志消息和交易消息分开处理,在接收到高峰期的消息处理时,能够在现有的设备基础上实现无阻塞的数据处理,从而在相关业务人员在使用业务的相关交易消息时,能够快速的检索相关的信息数据。
48.为了实现快速检索和使用日志消息和业务的交易,分别将日志消息存储在分层数据库中,将业务的交易消息存储在关系数据库内;这样在管理者或业务人员在调用日志消息或业务交易消息时,服务器根据需求选择和调用分层数据库或关系数据库,从而缩短数据调用的时间和降低系统的负载。
49.其次由于客户数量的不断增多,客户对数据的需求也不断增加,于是平台日志也变的非常重要;因此,在kafka平台中不仅要关联或存储业务交易消息,相对还需要在kafka平台中存储日志消息,从而满足客户对数据的需求。
50.因为kafka平台中消息不仅有交易消息,还有日志消息,从而降低kafka平台对数据的存储、调用和处理的能力,因此需要对kafka平台中的数据进行消费处理;而如何能更
好、有效的对kafka平台中的数据进行消费处理,
51.首先需要指定策略,根据相应的策略来消费处理数据。
52.本处的策略方式包括,其一,是对日志消息处理的一种策略,其二,是对业务交易消息处理的一种策略,其三,是对日志消息和业务交易消息共同处理的一种策略;例如:其一的策略为:根据日志消息的定义,判断是否是日志消息,如果是日志消息,根据预设的消费处理规则(描述日志清洗规则、日志清洗步骤、调用那些服务获取数据补全、如何保存数据库及保存到关系数据库或分层数据仓库);其二策略和其三策略与其一策略的功能性相同。
53.其次,根据相应的策略,交易消息清洗器对kafka平台中的数据进行消费处理;例如:拆分、合并、补全、清洗;交易消息清洗器并将消费处理的数据流传输到kafka平台。
54.需要说明的是:清洗:根据消息主题,找到一个定义的策略,根据策略清除一些关键属性缺失的数据;补全:微服务调用基础数据服务查询必要的业务属性进行组装;拆分:将同类消息转换为多类子消息,合并:将多类消息合并为一类消息;
55.根据不同的策略(多种消费方式),如收到不同类型的领料消息时,将消息合并,对同类消息如工单领料,普通机器领料消息进行业务拆分,将消息缺失的业务字段通过内部基础服务调用补全、清洗、填充默认值。将原始消息,清洗过的消息通过kafka向下传递。
56.然后,交易服务集群根据kafka平台的信息进行分表存储到关系数据库中;交易消息中的服务消费信息与kafka对接,做数据转换,并将此消息保存到关系数据库中,用于后期检索;后期检索通过sql进行检索。
57.该数据转换为:如将交易消息转换为库存,领料,补货消息,实现分库分表,便于管理,数据粒度小,查询性能高。
58.最后,数据仓库服务根据kafka平台的信息进行聚合、分层处理并存储到分层数据库中。
59.为了解决单个服务接收多种设备上传的交易消息时处理能力低下,还混杂了一些业务逻辑,造成消息经常出现阻塞的情况,因此在交易消息清洗器消费kafka平台中的交易消息时,需要将kafka平台中的交易消息处理变为逻辑数据流,从而确保在后序对kafka平台的数据处理、调用、合并等消费方式中,数据信息为一致性,提高对交易消息的处理能力,避免消息出现阻塞的情况。
60.平台日志清洗器对平台日志消息进行消费,其按照如下步骤:
61.定义一个启动器;
62.启动若干个任务,每个任务可处理多种消息,每个消息指定一个日志策略;
63.根据不同的日志策略,将消息进行清洗和分层,并写到分层数据仓库。需要说明的是:日志策略是根据不同的根据不同的消息定义,描述消息如何进行清洗,以及清洗步骤,调用服务获取数据补全,以及如何保存到分层数据仓库。
64.在交易消息清洗器消费kafka平台中的交易消息同时,第三方平台对接并消费kafka平台中平台日志消息。
65.本方案其一,采用多消费模式,定义多个消费者,分别消费不同的消息,解决消息堵塞的问题,定义多个消息清洗器,在接受到消息时对数据做清洗,分层,同时,根据业务需求定义多层数据结构,将清洗后的数据保存到相应的分层中,做到了高效存储与高效数据
检索;其二,平台日志消息采用专用服务器处理,隔离平台日志对业务的影响。
66.第二方面,本发明提供多消息消费模式多存储处理装置,包括:
67.交易设备:上传交易信息的设备;
68.消息路由器:接收设备端接口交易消息,emq交易消息,将消息桥接到平台日志清洗器,kafka平台;
69.emq:与交易设备端保持连接,用于上传交易消息,接收设备端的消息,并将相应消息传输到平台日志清洗器和kafka平台中。
70.需要说明的:emq是基于高并发的erlang/otp语言平台设计,支持百万级连接和分布式集群,发布订阅模式的开源mqtt消息服务器
71.kafka平台:用于传递交易消息,平台日志消息;kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
72.交易消息清洗器:收集交易数据,调用内部基础数据服务做数据补全,清洗,按业务分发消息;
73.交易服务集群:多服务组成(如补货,库存,领料)接收清洗过后的交易数据,按业务进行分库分表,拆分不同库表存储到关系数据库,主要是收集交易数据,存储到关系数据库;每个服务消费交易消息清洗器下发的清洗后数据,按到不同业务将数据做分库分表,保存到关系数据库。如补货服务消息补货,库存服务消费库存消息;
74.数据仓库:多层结构,根据数据清洗的层次划分,优秀的消息计算能力。数据库是面向事务的设计;数据仓库是面向主题设计的;数据库一般存储在线交易数据;数据仓库存储的一般是历史数据;数据库是为捕获数据而设计,数据仓库是为分析数据而设计,数据库的基本元素是事实表,数据仓库的基本元素是维度表;数据仓库是为了分析数据进行决策而设计的,服务对象为企业高层决策人员;
75.数据仓库服务:消费交易消息清洗器的交易消息,将数据依据不同的维度聚合,将交易消息分层存储;数据聚合,分层存储;
76.平台日志收集服务器:记录平台的一些关键操作;如登录日志,接口范文日志,数据修改记录等;
77.平台日志清洗器,平台日志消息处理服务,日志清洗器,防止残留日志过多则严重浪费磁盘空间同时影响服务的性能;,负责消费平台日志消息,过程如下,定义一个启动引擎,启动多个任务,每个任务可处理多种消息,如将原始消息存储分层数据仓库ods数据层,每个消息指定一个策略,根据不同的策略,对数据做一些清洗,补全,转换,将同类消息合并,将清洗后的数据存储分层数据仓库dwd数据层;
78.分层数据仓库:多层结构,根据数据清洗的层次划分;数据清洗的层次为:随业务而定,根据业务规则将原始数据不断转换,如原始数据为一层,清除脏数据后为一层,如交易明细为一层,根据交易类型汇总后保存到另一层。
79.关系数据库:根据业务分库分表,存储热门交易数据,优秀的数据检索能力,用于后期报表查询。
80.消息清洗器:收集交易数据,调用内部基础数据服务做数据补全,清洗,按业务分发消息;简单的配置可以同时处理多种不同的消息,通过新增策略即可增加新的消息消费,对比常用的逻辑行消息处理,不需要修改逻辑,降低了修改成本,不会影响现有的消息。
81.节省了服务资源,通过同一个服务多任务的方式将消息最小的代价实现了数据分层存储,相较于单服务处理单消息,节省了服务器成本,同时多任务又是互不影响,隔绝了因某种消息异常导致整个服务不可用。由于划分的数据粒度小,后期的业务可做高性能检索;
82.实现了平台日志和业务数据的隔离,互补影响,不会因为其中某个库异常而影响其他业务,提升系统稳定性。
83.本发明所达到的有益效果为:通过该发明,可以解决如下几个难点,一是设备产生的交易消息不均匀,在消息高峰期时,通过多消费者的方式并发消费,后台系统的消息不会出现堆积情况。二是交易消息数据量过大,存储是个难题,通过这种多层次存储架构可以有效的解决数据杂乱问题,后期可以做到高效,按需检索数据。三是定义多个消息清洗器,负责数据清洗工作,根据不同的日志策略,将数据写入到上述的多层存储数据库中。四是隔离了平台日志数据,划分专门的服务与第三方对接,降低因业务外问题引起平台问题。
84.以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1