一种消息分配部件、消息处理系统以及消息分配方法技术方案

技术编号:18783381 阅读:26 留言:0更新日期:2018-08-29 06:49
本发明专利技术提供了一种消息分配部件、消息处理系统以及消息分配方法,该消息分配部件包括:消息接收器,用于接收一个或多个智能设备上报的多条消息;消息分发器,与消息接收器连接,用于根据多条消息各自携带的智能设备的设备标识,将多条消息分配到一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;消息线程处理器,与一个或多个消息存储队列连接,用于将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。本发明专利技术提供的消息分配部件使得任何一个智能设备产生的消息有唯一的处理线程去处理,保证消息的高并发和顺序处理。

【技术实现步骤摘要】
一种消息分配部件、消息处理系统以及消息分配方法
本专利技术涉及通信
,特别是一种消息分配部件、消息处理系统、消息分配方法以及消息处理方法。
技术介绍
随着物联网、云计算的快速发展,智能设备(如智能照明设备、智能摄像机等)出现了爆发式的增长,智能设备的节点越来越多,这些设备每时每刻都会产生海量的数据,如何采集和处理智能设备上报的数据也越来越受到厂商的重视,但是如何能保证高并发和有序地处理这些海量数据,成为一个迫切需要解决的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的消息分配部件、消息处理系统、消息分配方法以及消息处理方法,能够实现消息数据的高并发分配处理,同时能够保证消息的顺序处理。本专利技术实施例提供了一种消息分配部件,所述消息分配部件与一个或多个智能设备建立连接,对所述一个或多个智能设备上报的消息进行分配处理,所述消息分配部件具体包括:消息接收器、消息分发器、一个或多个消息存储队列以及消息线程处理器;所述消息接收器,用于接收所述一个或多个智能设备上报的多条消息;所述消息分发器,与所述消息接收器连接,用于根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到所述一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;所述消息线程处理器,与所述一个或多个消息存储队列连接,用于读取各个消息存储队列中的消息,并将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。可选地,若所述多条消息各自携带时间信息,所述消息分发器还用于:根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息按照时间的先后顺序分配到一个或多个消息存储队列中。可选地,若所述多条消息各自携带时间信息,所述消息线程处理器还用于:将各个消息存储队列中的消息,按照消息携带的设备标识和消息的时间先后顺序分配到一个或多个处理线程中。可选地,所述消息分发器还用于:对所述多条消息中每一条消息所携带的智能设备的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息存入与hash运算结果对应的消息存储队列中。可选地,所述消息线程处理器还用于:对各个消息存储队列中的每一条消息所携带的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息分发到与hash运算结果对应的处理线程中。可选地,所述消息接收器包括:通信模块,用于与所述一个或多个智能设备建立连接;所述消息接收器通过所述通信模块接收所述一个或多个智能设备上报的多条消息。可选地,所述消息接收器的数量包括多个。可选地,所述消息线程处理器的数量包括多个,其中,一个消息线程处理器与一个消息存储队列连接,该消息线程处理器读取与其连接的消息存储队列中的消息。可选地,所述消息线程处理器还用于:根据当前处理线程的负载情况,确定是否新增一个或多个新的处理线程。本专利技术实施例还提供了一种消息处理系统,包括上述任一个的消息分配部件,以及与所述消息分配部件连接的智能设备数据库组件;所述消息分配部件将一个或多个智能设备上报的消息分配到一个或多个处理线程,由所述一个或多个处理线程调用所述智能设备数据库组件来对消息进行处理。本专利技术实施例还提供了一种消息分配方法,应用于对一个或多个智能设备上报的消息进行分配处理的情况,所述方法包括:接收所述一个或多个智能设备上报的多条消息;根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;读取各个消息存储队列中的消息,并将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。可选地,若所述多条消息各自携带时间信息,所述根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到一个或多个消息存储队列中,包括:根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息按照时间的先后顺序分配到一个或多个消息存储队列中。可选地,若所述多条消息各自携带时间信息,所述将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,包括:将各个消息存储队列中的消息,按照消息携带的设备标识和消息的时间先后顺序分配到一个或多个处理线程中。可选地,所述根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到一个或多个消息存储队列中,包括:对所述多条消息中每一条消息所携带的智能设备的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息存入与hash运算结果对应的消息存储队列中。可选地,所述将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,包括:对各个消息存储队列中的每一条消息所携带的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息分发到与hash运算结果对应的处理线程中。可选地,所述方法还包括:当满足预设条件时,新增一个或多个新的消息存储队列。可选地,所述预设条件包括下列任意之一:所述智能设备的数量大于第一预设数量阈值;所述多条消息的数量大于第二预设数量阈值;读取各个消息存储队列中的消息的速度小于预设速度阈值。可选地,若所述方法应用于消息分配部件,所述第一预设数量阈值、所述第二预设数量阈值或者所述预设速度阈值由所述消息分配部件的性能情况来确定。可选地,若由所述消息分配部件中的消息线程处理器来读取各个消息存储队列中的消息,则所述消息线程处理器的数量包括多个,其中,一个消息线程处理器与一个消息存储队列连接,该消息线程处理器读取与其连接的消息存储队列中的消息。可选地,若新增一个新的消息存储队列,则新增一个新的消息线程处理器,由该新的消息线程处理器与该新的消息存储队列连接,该新的消息线程处理器读取该新的消息存储队列中的消息。可选地,所述方法还包括:根据当前处理线程的负载情况,确定是否新增一个或多个新的处理线程。本专利技术实施例还提供了一种消息处理方法,通过上述的消息分配方法将一个或多个智能设备上报的消息分配到一个或多个处理线程,进而由所述一个或多个处理线程调用智能设备数据库组件来对消息进行处理。本专利技术提供的消息分配部件,对一个或多个智能设备上报的消息进行分配处理,能够解决海量消息处理过程中乱序的问题。具体地,消息分配部件包括消息接收器、与消息接收器连接的消息分发器、与消息分发器连接的一个或多个消息存储队列以及与一个或多个消息存储队列连接的消息线程处理器,消息接收器用于接收一个或多个智能设备上报的多条消息;消息分发器用于根据多条消息各自携带的智能设备的设备标识,将多条消息分配到一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;消息线程处理器用于读取各个消息存储队列中的消息,并将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。可以看到,本专利技术提供的消息分配部件,一方面通过一个或多个消息存储队列以及一个或多个处理线程,能够对一个或多个智能设备产生的海量数据进行处本文档来自技高网...

【技术保护点】
1.一种消息分配部件,其特征在于,所述消息分配部件与一个或多个智能设备建立连接,对所述一个或多个智能设备上报的消息进行分配处理,所述消息分配部件具体包括:消息接收器、消息分发器、一个或多个消息存储队列以及消息线程处理器;所述消息接收器,用于接收所述一个或多个智能设备上报的多条消息;所述消息分发器,与所述消息接收器连接,用于根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到所述一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;所述消息线程处理器,与所述一个或多个消息存储队列连接,用于读取各个消息存储队列中的消息,并将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。

【技术特征摘要】
1.一种消息分配部件,其特征在于,所述消息分配部件与一个或多个智能设备建立连接,对所述一个或多个智能设备上报的消息进行分配处理,所述消息分配部件具体包括:消息接收器、消息分发器、一个或多个消息存储队列以及消息线程处理器;所述消息接收器,用于接收所述一个或多个智能设备上报的多条消息;所述消息分发器,与所述消息接收器连接,用于根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到所述一个或多个消息存储队列中,其中,具有相同的设备标识的消息被分配到同一个消息存储队列;所述消息线程处理器,与所述一个或多个消息存储队列连接,用于读取各个消息存储队列中的消息,并将各个消息存储队列中的消息,按照消息携带的设备标识分配到一个或多个处理线程中,其中,具有相同的设备标识的消息被分配到同一个处理线程。2.根据权利要求1所述的消息分配部件,其特征在于,若所述多条消息各自携带时间信息,所述消息分发器还用于:根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息按照时间的先后顺序分配到所述一个或多个消息存储队列中。3.根据权利要求1所述的消息分配部件,其特征在于,若所述多条消息各自携带时间信息,所述消息线程处理器还用于:将各个消息存储队列中的消息,按照消息携带的设备标识和消息的时间先后顺序分配到一个或多个处理线程中。4.根据权利要求1所述的消息分配部件,其特征在于,所述消息分发器还用于:对所述多条消息中每一条消息所携带的智能设备的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息存入与hash运算结果对应的消息存储队列中。5.根据权利要求1所述的消息分配部件,其特征在于,所述消息线程处理器还用于:对各个消息存储队列中的每一条消息所携带的设备标识进行哈希hash运算,随后根据hash运算结果,将该条信息分发到与hash运算结果对应的处理线程中。6.根据权利要求1所述的消息分配部件,其特征在于,所述消息接收器包括:通信模块,用于与所述一个或多个智能设备建立连接;所述消息接收器通过所述通信模块接收所述一个或多个智能设备上报的多条消息。7.根据权利要求1所述的消息分配部件,其特征在于,所述消息接收器的数量包括多个。8.根据权利要求1所述的消息分配部件,其特征在于,所述消息线程处理器的数量包括多个,其中,一个消息线程处理器与一个消息存储队列连接,该消息线程处理器读取与其连接的消息存储队列中的消息。9.根据权利要求1所述的消息分配部件,其特征在于,所述消息线程处理器还用于:根据当前处理线程的负载情况,确定是否新增一个或多个新的处理线程。10.一种消息处理系统,其特征在于,包括权利要求1-9中任一项所述的消息分配部件,以及与所述消息分配部件连接的智能设备数据库组件;所述消息分配部件将一个或多个智能设备上报的消息分配到一个或多个处理线程,由所述一个或多个处理线程调用所述智能设备数据库组件来对消息进行处理。11.一种消息分配方法,其特征在于,应用于对一个或多个智能设备上报的消息进行分配处理的情况,所述方法包括:接收所述一个或多个智能设备上报的多条消息;根据所述多条消息各自携带的智能设备的设备标识,将所述多条消息分配到...

【专利技术属性】
技术研发人员:何冲
申请(专利权)人:欧普照明股份有限公司
类型:发明
国别省市:上海,31

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

1