一种基于消息采集和多维度分布的系统的制作方法

文档序号:26102483发布日期:2021-07-30 18:13阅读:56来源:国知局
一种基于消息采集和多维度分布的系统的制作方法

本发明属于互联网领域,尤其涉及到一种基于消息采集和多维度分布的系统。



背景技术:

随着物联网的发展,设备和后台服务器通信要求越来越高,同时设备会不定期或时刻往服务器发送数据,有些数据可能非常重要,所以对通信的安全性、稳定性及数据的准确性要求很高,同时服务器接收数据所需承载的并发量也极大,并且后台服务收到消息后,需要先对数据进行校验、幂等、数据填充等,其中如果出现问题需要发出预警通知相关人员,没有问题后会按照多种维度进行数据的分发,维度可自定义,数据分发后还需要检查数据在其他业务服务中是否正确接收,基于现有的消息采集和消息分发的存在的问题,急需一种解决上述问题的一种基于消息采集和多维度分布的系统。



技术实现要素:

本发明提供一种基于消息采集和多维度分布的系统,解决的上述问题。

为解决上述问题,本发明提供的技术方案如下:为解决上述问题,本发明提供的技术方案如下:一种基于消息采集和多维度分布的系统,设有消息采集服务集群、消息分发服务集群、业务服务集群和数据校验服务集群;消息采集服务集群接收设备上传的数据并对数据进行解密校验,解密校验之后的数据发送给消息分发服务集群;消息分发服务集群将获取解密校验之后的数据并进行填充处理,将填充之后的数据通过消息分发器发送给业务服务集群,业务服务集群通过消息分发服务集群获得拉取业务消息,消息分发服务集群通过数据校验服务集群获得相应的补偿消息。

优选的,所述消息采集服务集群设有数据接收单元、解密校验单元、预警单元和消息中间件;数据接收单元接收设备上的数据;解密校验单元对数据接收单元中的数据进行解密校验:若校验失败,则将数据直接打回,并将校验失败消息发送给预警单元,预警单元则发出预警通知消息,并进行问题排查;若校验成功,则将数据按照主题先发送给消息中间件,同时还会按照设备编号的维度再次发送一条库存变更消息给消息中间件的指定分区,消息中间件将消息上传至服务器中,以保证设备维度上的消息顺序,消息采集服务可抗高并发,支持集群部署。

进一步,解密校验:消息采集服务默认一个公钥(32位字符串组成),公钥会给到安卓开发员嵌入到机器程序中。机器上传数据会将公钥一起上传,同时上传的数据是经过公钥加密,解密校验后台先校验公钥是否相等,如果相等,解密校验后台并利用公钥解密,将解密的数据通过消息中间件接收。

优选的,主题包括不同业务维度的主题,是根据公司编号维度、机器编号维度、机器类型编号维度和时间日期维度的任意组合形成的一个主题。

优选的,库存变更顺序是指同一台设备要求上传的交易消息是有序的,这样可以保证后台服务得到的库存变更记录有序。

例如:通过在消息采集服务集群中的消息中间件收到数据后,数据按照当前机器的编号作为发送到服务器中kafka队列的key,key经过hash后会得到一个唯一值,这样保证了同一个设备的消息会发送到kafka的同一个分区。

优选的,消息分发服务集群设有原始数据单元、幂等单元、填充单元、全量数据单元和消息分发器;在数据进入到原始数据单元之前,需要经过幂等单元判断:若幂等单元失败时,发送幂等失败信息,幂等失败的消息会重新发回到服务器中的延迟消息队列,可自定义延迟时间;当幂等单元成功时,数据将保存在原始数据单元中;填充单元将对原始数据单元中的数据进行填充,并将填充后的数据分别发送给全量数据单元和数据大屏;消息分发器将全量数据单元中的多种维度的业务数据通过分发服务器发送给业务服务集群。

优选的,消息分发服务集群还设有补偿重发单元,当数据校验服务集群中的补偿消息通过分发服务器传输给补偿重发单元,补偿重发单元将补偿后的信息通过分发服务器发给业务服务集群。

优选的,数据校验服务集群设有比对单元、补偿单元和警报单元;比对单元会定时的分发校验信息,并与校验业务服务集群收到的业务数据进行比对校验:如果不一致比对将信息发送给补偿单元和警报单元,补偿单元发出的补偿消息和警报单元发出的警报信息两者都发送给相关人员。

补偿信息是由于下游业务系统处理某条消息失败,被数据校验服务检测到,数据校验服务就发送一条数据重新分发的消息通知给数据分发服务集群,分发服务集群收到通知后解析消息,并从当前分发服务数据库查询失败的那条消息重新分发给下游服务。

相对于现有技术的有益效果是,采用上述方案,本发明1.使用微服务架构模式,一站式解决消息采集、解密、接入第三方消息队列、原始数据保存、数据填充、数据分发、数据一致性校验、异常告警、数据补偿等问题;

2.独立消息采集服务用于设备数据的采集、解密和第三方消息中间件接入,服务支持集群、预警和高并发;

3.数据分发服务用于原始数据存储、数据填充、微服务内部数据接入、数据对维度分发、数据补偿发送、异常数据告警等,支持集群部署;

4.数据一致性校验服务,定期查询其他业务服务收到的分发消息是否一致,若不一致可发送补偿消息。

通过微服务架构模式,基于多种领域模型构建服务;提供了可承载高并发、高性能可集群部署的消息采集服务,支持自定义密钥,可接入第三方消息中间件,大大增加了服务性能和数据的安全性。分发服务可存储元数据,同时可按照业务需要填充各种业务数据,自定义分发维度将消息分发给其他业务服务,又支持微服务内部消息接收、补偿消息发送、消息重新分发等,对于异常消息可做预警。一致性校验服务可保证业务服务消息的完整性,不一致情况将发送补偿消息并发出预警通知相关人员排查。

附图说明

为了更清楚的说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需使用的附图作简单介绍,显而易见的,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程示意图之一;

图2为本发明的流程示意图之二;

图3为本发明的流程示意图之三;

图4为本发明的流程示意图之四。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本说明书所使用的术语“固定”、“一体成型”、“左”、“右”以及类似的表述只是为了说明的目的,在图中,结构相似的单元是用以相同标号标示。

除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。

如图1-4所示,本发明的一个实施例是:一种基于消息采集和多维度分布的系统,设有消息采集服务集群、消息分发服务集群、业务服务集群和数据校验服务集群;消息采集服务集群接收设备上传的数据并对数据进行解密校验,解密校验之后的数据发送给消息分发服务集群;消息分发服务集群将获取解密校验之后的数据并进行填充处理,将填充之后的数据通过消息分发器发送给业务服务集群,业务服务集群通过消息分发服务集群获得拉取业务消息,消息分发服务集群通过数据校验服务集群获得相应的补偿消息。

优选的,所述消息采集服务集群设有数据接收单元、解密校验单元、预警单元和消息中间件;数据接收单元接收设备上的数据;解密校验单元对数据接收单元中的数据进行解密校验:若校验失败,则将数据直接打回,并将校验失败消息发送给预警单元,预警单元则发出预警通知消息,并进行问题排查;若校验成功,则将数据按照主题先发送给消息中间件,同时还会按照设备编号的维度再次发送一条库存变更消息给消息中间件的指定分区,消息中间件将消息上传至服务器中,以保证设备维度上的消息顺序,消息采集服务可抗高并发,支持集群部署。

进一步,解密校验:消息采集服务默认一个公钥(32位字符串组成),公钥会给到安卓开发员嵌入到机器程序中。机器上传数据会将公钥一起上传,同时上传的数据是经过公钥加密,解密校验后台先校验公钥是否相等,如果相等,解密校验后台并利用公钥解密,将解密的数据通过消息中间件接收。

优选的,主题包括不同业务维度的主题,是根据公司编号维度、机器编号维度、机器类型编号维度和时间日期维度的任意组合形成的一个主题。

优选的,库存变更顺序是指同一台设备要求上传的交易消息是有序的,这样可以保证后台服务得到的库存变更记录有序。

例如:通过在消息采集服务集群中的消息中间件收到数据后,数据按照当前机器的编号作为发送到服务器中kafka队列的key,key经过hash后会得到一个唯一值,这样保证了同一个设备的消息会发送到kafka的同一个分区。

优选的,消息分发服务集群设有原始数据单元、幂等单元、填充单元、全量数据单元和消息分发器;在数据进入到原始数据单元之前,需要经过幂等单元判断:若幂等单元失败时,发送幂等失败信息,幂等失败的消息会重新发回到服务器中的延迟消息队列,可自定义延迟时间;当幂等单元成功时,数据将保存在原始数据单元中;填充单元将对原始数据单元中的数据进行填充,并将填充后的数据分别发送给全量数据单元和数据大屏;消息分发器将全量数据单元中的多种维度的业务数据通过分发服务器发送给业务服务集群。

优选的,消息分发服务集群还设有补偿重发单元,当数据校验服务集群中的补偿消息通过分发服务器传输给补偿重发单元,补偿重发单元将补偿后的信息通过分发服务器发给业务服务集群。

优选的,数据校验服务集群设有比对单元、补偿单元和警报单元;比对单元会定时的分发校验信息,并与校验业务服务集群收到的业务数据进行比对校验:如果不一致比对将信息发送给补偿单元和警报单元,补偿单元发出的补偿消息和警报单元发出的警报信息两者都发送给相关人员。

补偿信息是由于下游业务系统处理某条消息失败,被数据校验服务检测到,数据校验服务就发送一条数据重新分发的消息通知给数据分发服务集群,分发服务集群收到通知后解析消息,并从当前分发服务数据库查询失败的那条消息重新分发给下游服务。

实施例2:以超市为例:

设备共计3台,编号为sy1、sy2、sy3;服务器一台;

编号为sy1、sy2、sy3三台设备的数据传送给消息采集服务集群中的数据接收单元,解密校验单元对数据接收单元中的数据进行解密校验,先检验再解密(一个公钥(32位字符串组成),公钥会给到安卓开发员嵌入到机器程序中。机器上传消息会将公钥一起上传,同时上传的消息是经过公钥加密,后台先校验公钥是否相等,若解密失败,则将数据直接打回,并将解密失败消息发送给预警单元,预警单元则发出预警通知消息,并有工作人员进行问题排查;如果相等则接收消息并利用公钥解密,解密校验成功之后,则将按照sy1、sy2、sy3机器编码的主题将数据发送给消息中间件,消息中间件再将主题数据的内容按照产品的大类、小类等不同业务维度发送给服务器,并且消息中间件将库存变更顺序的数据同样发送给服务器中;

消息分发器对服务器中的相关联的不同业务维度的主题数据读取,在读取的过程中,首先需要对数据进行幂等判断,当通过幂等单元的判断结果是成功时,将主题数据上传到原始数据单元内,填充单元将原始数据单元中的数据进行各种业务字段的填充,形成新的填充数据并入库到全量数据单元中,消息分发器将填充数据发送给服务器;当幂等单元的判断结果是失败时,幂等失败的消息会重新发回到服务器中延迟消息队列,可自定义延迟时间。

业务服务集群将读取服务器中有关拉取业务的信息;

数据校验服务集群中的比对单元会定时发送校验信息,此校验信息与数据库中的业务数据进行校验比对,当两者一致时,比对单元在指定的时间内继续发送校验信息;当两者不一致时,比对信息将信息发送给补偿单元和警报单元,警报单元进行预警展示(警报或闪烁灯),补偿单元就发送一条正确的补偿数据给服务器,消息分发器获取服务器中的补偿消息,消息分发器中的补偿重发单元将补偿信息按照相应的分发算法重新发送到服务器中。获得分发服务收到通知后解析消息,并从当前分发服务数据库查询失败的那条消息重新分发给下游服务(例如:业务服务集群);

补偿信息是由于下游的业务服务集群处理某条消息失败,被数据校验服务集群检测到,数据校验服务就发送一条数据重新分发的消息通知给数据分发服务,分发服务收到通知后解析消息,并从当前分发服务数据库查询失败的那条消息重新分发给下游服务(例如:业务服务集群);

相对于现有技术的有益效果是,采用上述方案,本发明1.使用微服务架构模式,一站式解决消息采集、解密、接入第三方消息队列、原始数据保存、数据填充、数据分发、数据一致性校验、异常告警、数据补偿等问题;

2.独立消息采集服务用于设备数据的采集、解密和第三方消息中间件接入,服务支持集群、预警和高并发;

3.数据分发服务用于原始数据存储、数据填充、微服务内部数据接入、数据对维度分发、数据补偿发送、异常数据告警等,支持集群部署;

4.数据一致性校验服务,定期查询其他业务服务收到的分发消息是否一致,若不一致可发送补偿消息。

通过微服务架构模式,基于多种领域模型构建服务;提供了可承载高并发、高性能可集群部署的消息采集服务,支持自定义密钥,可接入第三方消息中间件,大大增加了服务性能和数据的安全性。分发服务可存储元数据,同时可按照业务需要填充各种业务数据,自定义分发维度将消息分发给其他业务服务,又支持微服务内部消息接收、补偿消息发送、消息重新分发等,对于异常消息可做预警。一致性校验服务可保证业务服务消息的完整性,不一致情况将发送补偿消息并发出预警通知相关人员排查。

需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1