首页 / 专利库 / 计算机网络 / 服务器 / 消息处理方法、服务器、终端、系统及存储介质

消息处理方法、服务器、终端、系统及存储介质

阅读:545发布:2021-06-10

专利汇可以提供消息处理方法、服务器、终端、系统及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种消息处理方法,应用于通信技术领域,包括: 服务器 接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取 请求 时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。本发明实施例还公开了一种消息处理方法、服务器、终端、系统及存储介质,通过将消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压 力 。,下面是消息处理方法、服务器、终端、系统及存储介质专利的具体信息内容。

1.一种消息处理方法,应用于服务器,其特征在于,所述方法包括:
接收第一客户端发送的全量消息,所述全量消息包括所述第一客户端中的至少一种用户行为数据;
将所述全量消息写入总Kafka集群,所述总Kafka集群包括至少一个子Kafka集群;
对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端。
2.根据权利要求1所述的方法,其特征在于,若所述主题还包括二级主题,则所述对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群之后,还包括:
按照所述二级主题分类,将按所述主题分类的子Kafka集群中的消息分别写入各二级子Kafka集群,得到所述主题分类下的按所述二级主题分类的各二级子Kafka集群。
3.一种消息处理方法,应用于第一客户端,其特征在于,所述方法包括:
发送全量消息给服务器,以使所述服务器将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端,所述全量消息包括第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
4.一种消息处理方法,应用于第二客户端,其特征在于,所述方法包括:
发送数据获取请求给服务器,以使所述服务器读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至第二客户端,其中,所述服务器接收第一客户端发送的全量消息,将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,所述全量消息包括所述第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
5.根据权利要求4所述的方法,其特征在于,若所述主题还包括二级主题,则所述对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群之后,还包括:
按照所述二级主题分类,将按所述主题分类的子Kafka集群中的消息分别写入各二级子Kafka集群,得到所述主题分类下的按所述二级主题分类的各二级子Kafka集群。
6.一种服务器,其特征在于,包括:
接收模,用于接收第一客户端发送的全量消息,所述全量消息包括所述第一客户端中的至少一种用户行为数据;
写入模块,用于将所述全量消息写入总Kafka集群,所述总Kafka集群包括至少一个子Kafka集群;
分类模块,用于对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
获取模块,用于获取第二客户端发送的数据获取请求;
读取模块,用于与所述数据获取请求对应的子Kafka集群中的用户行为数据;
发送模块,用于发送所述用户行为数据至所述第二客户端。
7.一种第一终端,其特征在于,包括:
发送模块,用于通过内置的客户端发送全量消息给服务器,以使所述服务器将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端,所述全量消息包括第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
8.一种第二终端,其特征在于,包括:
发送模块,用于通过内置的客户端发送数据获取请求给服务器,以使所述服务器读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至第二客户端,其中,所述服务器接收第一客户端发送的全量消息,将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,所述全量消息包括所述第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
9.一种消息处理系统,其特征在于,所述系统包括根据权利6所述的服务器、根据权利7所述的第一终端和根据权利8所述的第二终端。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2任一项所述的消息处理方法。

说明书全文

消息处理方法、服务器、终端、系统及存储介质

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种消息处理方法、服务器、终端、系统及存储介质。

背景技术

[0002] 随着大数据时代到来,网络中每时每刻都在产生海量的行为交互信息,当突然发生巨额数据流量交互时,网络系统无法应对该巨额数据,可能会对其产生巨大冲击,从而造成系统瘫痪,无法正常访问
[0003] 现有技术中,采取控制客户端流量的方式,例如,客户端原本每发生一次用户行为都发送一次请求,但在晚8:00-11:30高峰时段,可降低发送频次,将用户行为缓存多条后,再压缩发送出去,以此通过控制客户端流量,来降低网络流量,减缓系统压。但是,这种方法虽减缓了系统压力,同时也丢失了数据的时效性。

发明内容

[0004] 本发明的主要目的在于提供一种消息处理方法、服务器、终端、系统及存储介质,实现在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0005] 为实现上述目的,本发明实施例第一方面提供一种消息处理方法,应用于服务器,包括:
[0006] 接收第一客户端发送的全量消息,所述全量消息包括所述第一客户端中的至少一种用户行为数据;
[0007] 将所述全量消息写入总Kafka集群,所述总Kafka集群包括至少一个子Kafka集群;
[0008] 对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
[0009] 获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端。
[0010] 本发明实施例第二方面提供一种消息处理方法,应用于第一客户端,包括:
[0011] 发送全量消息给服务器,以使所述服务器将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端,所述全量消息包括第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
[0012] 本发明实施例第三方面提供一种消息处理方法,应用于第二客户端,包括:
[0013] 发送数据获取请求给服务器,以使服务器读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至第二客户端,其中,所述服务器接收第一客户端发送的全量消息,将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,所述全量消息包括所述第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
[0014] 本发明实施例第四方面提供一种服务器,包括:
[0015] 接收模,用于接收第一客户端发送的全量消息,所述全量消息包括所述第一客户端中的至少一种用户行为数据;
[0016] 写入模块,用于将所述全量消息写入总Kafka集群,所述总Kafka集群包括至少一个子Kafka集群;
[0017] 分类模块,用于对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
[0018] 获取模块,用于获取第二客户端发送的数据获取请求;
[0019] 读取模块,用于与所述数据获取请求对应的子Kafka集群中的用户行为数据;
[0020] 发送模块,用于发送所述用户行为数据至所述第二客户端。
[0021] 本发明实施例第五方面提供一种第一终端,包括:
[0022] 发送模块,用于通过内置的客户端发送全量消息给服务器,以使所述服务器将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至所述第二客户端,所述全量消息包括第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
[0023] 本发明实施例第六方面提供一种第二终端,包括:
[0024] 发送模块,用于通过内置的客户端发送数据获取请求给服务器,以使所述服务器读取与所述数据获取请求对应的子Kafka集群中的用户行为数据,并发送所述用户行为数据至第二客户端,其中,所述服务器接收第一客户端发送的全量消息,将所述全量消息写入总Kafka集群,并对所述全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,所述全量消息包括所述第一客户端中的至少一种用户行为数据,所述总Kafka集群包括至少一个子Kafka集群。
[0025] 本发明实施例第七方面提供一种消息处理系统,包括本发明实施例第四方面提供的服务器、本发明实施例第五方面提供的第一终端和本发明实施例第六方面提供的第二终端。
[0026] 本发明实施例第八方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的消息处理方法。
[0027] 从上述本发明实施例可知,本发明提供的种消息处理方法、服务器、终端、系统及存储介质,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。附图说明
[0028] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1为本发明实施例提供的消息处理方法的消息流向示意图;
[0030] 图2为本发明第一实施例提供的消息处理方法的流程示意图;
[0031] 图3为本发明第二实施例提供的消息处理方法的流程示意图;
[0032] 图4为本发明第三实施例提供的消息处理方法的结构示意图;
[0033] 图5为本发明第四实施例提供的服务器的结构示意图;
[0034] 图6为本发明第五实施例提供的第一终端的结构示意图;
[0035] 图7为本发明第六实施例提供的第二终端的结构示意图。

具体实施方式

[0036] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037] 请参阅图1,图1为为本发明实施例提供的消息处理方法的消息流向示意图,第一客户端发送全量消息,该全量写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,第二客户端发送数据获取请求时,将与该数据获取请求对应的子Kafka集群中的用户行为数据发送至第二客户端。
[0038] 请参阅图2,图2为本发明第一实施例提供的消息处理方法的流程示意图,应用于服务器,该方法包括:
[0039] S101、接收第一客户端发送的全量消息,该全量消息包括第一客户端中的至少一种用户行为数据;
[0040] 具体的,全量消息是指所有消息,该消息可以是用户行为,用户行为具体可以是:当用户点击某一应用程序或网站时,由该应用程序或网站收集到的用户信息和/或点击信息等。例如,用户A使用直播应用程序观看直播频道B,当用户A点击进入直播频播B的时刻,直播应用程序会将用户A的相关信息和直播频道B的相关信息发送给服务器。
[0041] 示例性的,用户行为(Action)具体可指用户行为编码(action_code)、行为发生的时间戳(dateline)、用户ID(uid)、用户使用的终端的设备号(did)、用户观看的房间号(room_id)和拓展字段(ext)等,代码定义如下所示,其中,具体字段类型和定义如表1所示:
[0042] Action={action_code,dateline,uid,did,room_id,ext}
[0043] 表1
[0044]字段名 类型 含义
action_code String 行为编码
dateline Long 行为发生时间戳
uid Long 用户id
did String 设备号
room_id String 用户观看房间号
ext JSON 拓展字段
[0045] S102、将该全量消息写入总Kafka集群,总Kafka集群包括至少一个子Kafka集群;
[0046] Kafka是指一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据,例如,网页浏览、搜索、点击和其他用户行为等。通常将向Kafka集群发布消息的程序成为生产者,即本发明实施例中的第一客户端,将消费Kafka集群中的信息的程序称为消费者,即本发明的第二客户端。其中,消费是指获取信息。可理解的,只要具备向总Kafka集群发布消息的设备均可视为第一客户端,只要具备消费服务器子Kafka集群内的消息的设备均可视为第二客户端。
[0047] 需要说明的是,为了保证不丢失由第一客户端发送的消息,将所有消息复制形成多个副本,存储于Kafka集群中。
[0048] S103、对全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
[0049] 示例性的,主题为action_code,按照action_code将全量消息进行分类,由于一种action_code代表一种用户行为编码,例如,‘app_update_click’表示用户点击更新按钮的行为。
[0050] 需要说明的是,若要进行平扩展,即对多个用户行为分类,例如,当需要统计某一房间的用户行为数据量,此时就需要按照“room_id”为主题进行分类。
[0051] S104、获取第二客户端发送的数据获取请求,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。
[0052] 如果第二客户端需要消费主题,服务器获取到第二客户端发送的数据获取请求时,即对该数据获取请求对应的主题内的用户行为数据进行统计。示例性的,可以直接从按“app_update_click”分发后的子Kafka集群中进行数据统计,而不需要从总Kafka集群中进行数据统计。避免总Kafka集群由于频繁且巨大的读写数据,造成负载过重,进而崩溃。按主题分发到子Kafka集群之后,总Kafka集群主要负责数据写入,各个子Kafka集群用于数据的读取,从而在不丢失数据时效性的同时,一定程度上减轻总Kafka集群的读写压力。
[0053] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0054] 请参阅图3,图3为本发明第二实施例提供的消息处理方法的流程示意图,应用于第一客户端,该方法包括:
[0055] S201、发送全量消息给服务器,以使服务器将该全量消息写入总Kafka集群,并对全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端,该全量消息包括第一客户端中的至少一种用户行为数据,该总Kafka集群包括至少一个子Kafka集群。
[0056] 具体的,全量消息是指所有消息,该消息可以是用户行为。其中,可通过打点的方式来进行用户行为统计。本发明实施例中,示例性的,可通过采用OpenResty框架进行用户行为统计,由于打点不需要记录用户的状态,Nginx服务可随意进行水平拓展,所以,当在数据高峰期,可通过增加Nginx个数达到扩大统计用户行为的目的。
[0057] 进一步地,用户行为统计完毕后,可通过lua脚本发送用户行为到总kafka集群。
[0058] 其中,OpenResty,也称为ngx_openresty,是指一个将Nginx和Lua有机融合在一起的全功能的Web应用服务器,其内部集成由大量常用的第三方模块,以及他们的大多数依赖项,以用于便捷的搭建能够处理高超并发、扩展性极高的动态Web应用、Web服务和动态网关等。
[0059] Nginx是指一个高性能的Web服务器和反向代理服务器及电子邮件代理服务器,负载能力强。
[0060] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0061] 请参阅图4,图4为本发明第三实施例提供的消息处理方法的流程示意图,应用于第二客户端,该方法包括:
[0062] S301、发送数据获取请求给服务器,以使服务器读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端,其中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,并对该全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,该全量消息包括第一客户端中的至少一种用户行为数据,该总Kafka集群包括至少一个子Kafka集群。
[0063] 按照不同主题分类的子Kafka集群可以被相应的用户行为统计需求所消费。示例性的,主题为“app_update_click”的子kafka集群可以用Storm实时流处理系统来消费,Storm程序逻辑如下:
[0064] 首先,用键值对Map来记录每小时的更新量,键key为精确到小时的时间,值value为更新次数(即app_update_click记录的条数)。然后,按照行为发生时间戳dateline字段将每条更新记录分到相应的Map槽位中,每更新一条更新记录,Map中相应槽位的value值加1。最后,可通过相应接口实时查看每小时的更新量。
[0065] 进一步地,若该主题还包括二级主题,即要进行纵向扩展,按照该二级主题分类,将按主题分类的子Kafka集群中的消息分别写入各二级子Kafka集群,得到该主题分类下的按该二级主题分类的各二级子Kafka集群。例如,统计各个省的应用程序更新量,就可以先对action_code=“app_update_click”为主题进行消息分类,分类到子kafka集群之后,再以“ext”字段中的省份信息为二级主题,将子kafka集群中的消息分发到以各个省为二级主题的二级子kafka集群中,得到以应用程序更新量action_code=“app_update_click”主题下的按二级主题省分类的各二级子Kafka集群。
[0066] 更多的,例如,新定义一个action_code=“click_login”,此行为表示用户登录,那么就可以新增加一个主题为“click_login”的子kafka集群,专收集action_code=“click_login”的登录行为,这是水平拓展。此外,如果要对该子kafka集群中的数据再按照二级主题“dateline”进行分类,只需在该子kafka集群后面接再接一个二级主题为“dateline”的二级子kafka集群进行分类就可以达到纵向拓展的目的。
[0067] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0068] 请参见图5,图5为本发明第四实施例提供的服务器的结构示意图,该服务器包括:
[0069] 接收模块401、写入模块402、分类模块403和获取模块404;
[0070] 接收模块401,用于接收第一客户端发送的全量消息,该全量消息包括第一客户端中的至少一种用户行为数据;
[0071] 写入模块402,用于将全量消息写入总Kafka集群,该总Kafka集群包括至少一个子Kafka集群;
[0072] 分类模块403,用于对全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群;
[0073] 获取模块404,用于获取第二客户端发送的数据获取请求;
[0074] 读取模块405,用于读取与数据获取请求对应的子Kafka集群中的用户行为数据;
[0075] 发送模块406,用于发送用户行为数据至第二客户端。
[0076] 需要说明的是,该接收模块401、写入模块402、分类模块403、获取模块404、读取模块405和发送模块406,部署在至少一个服务器中,也可以分别部署在多个服务器中。可以理解的是,服务器中上述模块的组成形式可以不限定于图5,例如,可以将接收模块401、写入模块402、分类模块403、获取模块404、读取模块405和发送模块406集成在一个芯片中,从而该芯片作为一个执行主体完成本发明实施例的消息处理。
[0077] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0078] 请参见图6,图6为本发明第五实施例提供的第一终端的结构示意图,该第一终端包括:
[0079] 发送模块501,用于通过内置的客户端发送全量消息给服务器,以使服务器将全量消息写入总Kafka集群,并对全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,获取第二客户端发送的数据获取请求,读取与数据获取请求对应的子Kafka集群中的用户行为数据,并发送用户行为数据至第二客户端,该全量消息包括第一客户端中的至少一种用户行为数据,该总Kafka集群包括至少一个子Kafka集群。
[0080] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0081] 请参见图7,图7为本发明第六实施例提供的第二终端的结构示意图,该第二终端包括:
[0082] 发送模块601,用于通过内置的客户端发送数据获取请求给服务器,以使服务器读取与数据获取请求对应的子Kafka集群中的用户行为数据,并发送用户行为数据至第二客户端,其中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,并对全量消息中的至少一种用户行为数据进行主题分类,以将不同主题的用户行为数据写入不同的子Kafka集群,该全量消息包括第一客户端中的至少一种用户行为数据,该总Kafka集群包括至少一个子Kafka集群。
[0083] 本发明实施例中,服务器接收第一客户端发送的全量消息,将全量消息写入总Kafka集群,按照主题分类,将总Kafka集群中的全量消息分别写入各子Kafka集群,得到按不同主题分类的各子Kafka集群,以使获取到第二客户端发送的数据获取请求时,读取与该数据获取请求对应的子Kafka集群中的用户行为数据,并发送该用户行为数据至第二客户端。通过在服务端将总Kafka集群中的全量消息分别写入各子Kafka集群,读取消息时,从相应的子Kafka集群中进行读取,使总Kafka集群只负责消息的写入,在不丢失数据时效性同时,减缓总Kafka集群压力,避免流量高峰期时,总Kafka集群由于频繁且巨大的读写数据造成负载过高,导致网络系统异常。
[0084] 本本发明实施例还提供了一种消息处理系统,该系统包括上述图5所示实施例中的服务器、图6所示实施例中的第一终端和图7所示实施例中的第二终端。
[0085] 进一步地,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的终端中,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图2所示实施例中描述的消息处理方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0086] 需要说明的是,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0087] 所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
[0088] 需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
[0089] 需要说明的是,本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
[0090] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0091] 以上为对本发明所提供的一种消息处理方法、服务器、终端、系统及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈