一种数据采集方法及相关系统技术方案

技术编号:36527293 阅读:9 留言:0更新日期:2023-02-01 16:07
本申请涉及一种数据采集方法和系统。所述方法应用于服务器集群中的任一服务节点,服务节点包括第一模块和第二模块;上述方法包括:通过第一模块接收负载均衡服务器转发的上报请求,将该上报请求携带的埋点数据存入本地文件系统,向发送该上报请求的用户终端返回表示上报成功的响应信息;通过第二模块异步将本地文件系统存储的埋点数据发送至消息队列。本申请实施例能够在高并发流量大的场景中提高服务端的处理性能,向用户提供更好的使用体验。向用户提供更好的使用体验。向用户提供更好的使用体验。

【技术实现步骤摘要】
一种数据采集方法及相关系统


[0001]本申请涉及互联网
,至少涉及一种数据采集方法及相关系统。

技术介绍

[0002]以下陈述仅提供与本申请有关的背景信息,而不必然地构成现有技术。
[0003]目前,为了向用户提供更高质量的服务,应用程序提供方会采集用户的相关数据(在获得用户允许的情况下)并进行分析以便调整相关服务细节。其中,一种常用的数据采集方式是,通过埋点技术让应用程序的客户端将与用户相关的埋点数据,如用户的登录行为数据等,上报至应用程序的服务端,服务端会对客户端上报的数据进行分析。
[0004]在一些场景中,埋点数据的上报流程是:客户端先与服务端建立连接,再通过该连接上报埋点数据,当服务端接收到埋点数据后,将其发送到消息队列供消费者(例如数据分析系统)进行消费,服务端将埋点数据发送到消息队列后,会向客户端返回相关信息以告知客户端埋点数据上报成功,并断开连接。
[0005]专利技术人注意到,在上述埋点数据的上报流程中,服务端接收到埋点数据后,需要将埋点数据发送到消息队列后才会响应客户端以及断开连接,在并发不高流量不大的场景中,采用上述上报流程通常不会产生不良影响,然而,在一些高并发流量大的场景中,服务端需要对接大量客户端,此时对于服务端而言,如果与大量客户端长时间保持连接,会占用大量计算资源,导致处理性能变低,同时还可能导致无法及时响应其他客户端;对于客户端而言,与服务端长时间保持连接也会占用客户端所在用户终端的计算资源,进而影响到用户的使用体验。

技术实现思路

[0006]本申请针对上述不足或缺点,提供了一种数据采集方法、服务节点、数据采集系统、计算机设备和存储介质,本申请实施例能够在高并发流量大的场景中提高服务端的处理性能,向用户提供更好的使用体验。
[0007]本申请根据第一方面提供了一种数据采集方法,在一些实施例中,应用于服务器集群中的任一服务节点,服务节点包括第一模块和第二模块;上述方法包括:
[0008]通过第一模块接收负载均衡服务器转发的上报请求,将该上报请求携带的埋点数据存入本地文件系统,向发送该上报请求的用户终端返回表示上报成功的响应信息;
[0009]通过第二模块异步将本地文件系统存储的埋点数据发送至消息队列。
[0010]在一些实施例中,通过第一模块接收负载均衡服务器转发的上报请求,将该上报请求携带的埋点数据存入本地文件系统,包括:
[0011]创建多个进程以及与上述多个进程一一对应的多个落盘任务队列;
[0012]根据负载均衡服务器转发的每一上报请求生成对应的落盘任务,并将生成的落盘任务加入上述多个落盘任务队列中的一个;
[0013]通过每一进程从对应的落盘任务队列中获取落盘任务,以及将该落盘任务指示的
上报请求所携带的埋点数据写入本地文件系统。
[0014]在一些实施例中,用户终端的数量为多个;负载均衡服务器为每一用户终端提供多个上报接口,每一用户终端通过上述多个上报接口中的目标上报接口向负载均衡服务器发送携带埋点数据的上报请求,目标上报接口指与该上报请求携带的埋点数据的业务类型对应的上报接口;
[0015]本地文件系统的第一目录设有多个数据文件;
[0016]通过目标进程将目标上报请求所携带的埋点数据写入本地文件系统时,包括:
[0017]通过目标进程获取用于发送目标上报请求的上报接口的接口标识;其中,目标进程指任一进程,目标上报请求指任一上报请求;
[0018]根据预设第一对应关系确定上述多个数据文件中与接口标识对应的目标写入数据文件,以及将目标上报请求所携带的埋点数据写入目标写入数据文件;预设第一对应关系包括上述多个上报接口与上述多个数据文件间的对应关系。
[0019]在一些实施例中,通过目标进程将目标上报请求所携带的埋点数据写入目标写入数据文件时,包括:
[0020]通过目标进程查询当前是否存有目标写入数据文件的句柄;
[0021]若是,则根据目标写入数据文件的句柄往目标写入数据文件写入目标上报请求所携带的埋点数据;
[0022]若否,则向本地文件系统请求打开目标写入数据文件以获取目标写入数据文件的句柄,保存获取到的句柄以及根据获取到的句柄往目标写入数据文件写入目标上报请求所携带的埋点数据。
[0023]在一些实施例中,第一目录的每一数据文件设有对应的文件锁;
[0024]根据目标写入数据文件的句柄往目标写入数据文件写入目标上报请求所携带的埋点数据之前,还包括:
[0025]通过目标进程与其他进程竞争目标文件锁,目标文件锁指目标写入数据文件对应的文件锁;
[0026]若获取到目标文件锁,则执行下一步骤;
[0027]若获取不到目标文件锁,则进行等待。
[0028]在一些实施例中,通过第二模块异步将本地文件系统存储的埋点数据发送至消息队列,包括:
[0029]通过第二模块创建多个线程;
[0030]通过上述多个线程将上述多个数据文件中的埋点数据发送至消息队列。
[0031]在一些实施例中,消息队列设有多个主题;通过目标线程将目标数据文件中的埋点数据发送至消息队列时,包括:
[0032]通过目标线程获取目标数据文件的文件标识;目标线程指任一线程,目标数据文件指第一目录中任一数据文件;
[0033]根据预设第二对应关系确定上述多个主题中与文件标识对应的目标主题,以及将目标数据文件中的埋点数据发送至目标主题;预设第二对应关系包括上述多个数据文件与上述多个主题的对应关系。
[0034]在一些实施例中,上述方法还包括:
[0035]定时通过第一模块为第一目录中原有的每一数据文件创建一同名文件作为对应的替代文件,以及将原有的每一数据文件转移至本地文件系统中的第二目录。
[0036]在一些实施例中,上述方法还包括:
[0037]在转移第一目录中原有的任一数据文件至第二目录的过程中,将接收到的每一与该任一数据文件关联的上报请求所携带的埋点数据写入该任一数据文件,直至结束转移的过程。
[0038]本申请根据第二方面提供了一种服务节点,在一些实施例中,该服务节点包括第一模块和第二模块;
[0039]第一模块,用于接收负载均衡服务器转发的上报请求,将该上报请求携带的埋点数据存入本地文件系统,向发送该上报请求的用户终端返回表示上报成功的响应信息;
[0040]第二模块,用于异步将本地文件系统存储的埋点数据发送至消息队列。
[0041]本申请根据第三方面提供了一种数据采集系统,包括负载均衡服务器、由多个服务节点组成的服务器集群和消息队列;每一服务节点设有第一模块和第二模块;其中,
[0042]负载均衡服务器,用于接收用户终端发送的上报请求,以及将该上报请求转发至服务器集群中的服务节点;
[0043]每一服务节点,用于通过第一模块接收负载均衡服务器转发的上报请求,将上报请求携带的埋点数据存入本地文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据采集方法,其特征在于,应用于服务器集群中的任一服务节点,所述服务节点包括第一模块和第二模块;所述方法包括:通过所述第一模块接收负载均衡服务器转发的上报请求,将所述上报请求携带的埋点数据存入本地文件系统,向发送所述上报请求的用户终端返回表示上报成功的响应信息;通过所述第二模块异步将所述本地文件系统存储的埋点数据发送至消息队列。2.如权利要求1所述的方法,其特征在于,通过所述第一模块接收负载均衡服务器转发的上报请求,将所述上报请求携带的埋点数据存入本地文件系统,包括:创建多个进程以及与所述多个进程一一对应的多个落盘任务队列;根据所述负载均衡服务器转发的每一上报请求生成对应的落盘任务,并将生成的落盘任务加入所述多个落盘任务队列中的一个;通过每一所述进程从对应的落盘任务队列中获取落盘任务,以及将该落盘任务指示的上报请求所携带的埋点数据写入所述本地文件系统。3.如权利要求2所述的方法,其特征在于,所述用户终端的数量为多个;所述负载均衡服务器为每一所述用户终端提供多个上报接口,每一所述用户终端通过所述多个上报接口中的目标上报接口向所述负载均衡服务器发送携带埋点数据的上报请求,所述目标上报接口指与该上报请求携带的埋点数据的业务类型对应的上报接口;所述本地文件系统的第一目录设有多个数据文件;通过目标进程将目标上报请求所携带的埋点数据写入所述本地文件系统时,包括:通过所述目标进程获取用于发送所述目标上报请求的上报接口的接口标识;其中,所述目标进程指任一所述进程,所述目标上报请求指任一所述负载均衡服务器转发的上报请求;根据预设第一对应关系确定所述多个数据文件中与所述接口标识对应的目标写入数据文件,以及将目标上报请求所携带的埋点数据写入所述目标写入数据文件;所述预设第一对应关系包括所述多个上报接口与所述多个数据文件间的对应关系。4.如权利要求3所述的方法,其特征在于,通过所述目标进程将所述目标上报请求所携带的埋点数据写入所述目标写入数据文件时,包括:通过所述目标进程查询当前是否存有所述目标写入数据文件的句柄;若是,则根据所述目标写入数据文件的句柄往所述目标写入数据文件写入所述目标上报请求所携带的埋点数据;若否,则向所述本地文件系统请求打开所述目标写入数据文件以获取所述目标写入数据文件的句柄,保存获取到的句柄以及根据获取到的句柄往所述目标写入数据文件写入所述目标上...

【专利技术属性】
技术研发人员:王传鹏杨俊伟陈言永陈泰宏
申请(专利权)人:安徽尚趣玩网络科技有限公司
类型:发明
国别省市:

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

1