一种基于云平台的业务请求信息收集方法及装置与流程

文档序号:17160146发布日期:2019-03-20 00:34阅读:160来源:国知局
本发明涉及云平台
技术领域
:,尤其涉及一种基于云平台的业务请求信息收集方法及装置。
背景技术
::目前在各种云平台场景下,由于云平台支撑的用户数量庞大,功能多样,对应到云平台,表现为业务请求量巨大,对应所需的模块和接口数量众多。为了保证和提高上述云平台的服务质量,需要对业务接口从业务请求数量、响应时间、独立访客数、带宽占用等维度做实时监控和告警,以便及时发现异常情况并迅速应对。通用的做法是将各业务接口请求的日志输出到磁盘,之后再对日志文件做离线或者在线解析统计,如业界流行的开源日志解析统计系统elk,需要将业务请求日志落盘,之后文本日志收集器filebeat解析日志写入消息系统kafka,数据收引擎logstash从消息系统kafka中过滤所需字段存入搜索引擎elasticsearch,展示组件kibana再从elasticsearch中实时查询数据展示。这种方法链路冗长,整个过程,需要经历日志落盘,再从磁盘读取日志文件解析统计;并且在业务请求量巨大的情况下,会因为大量的磁盘输入输出接口io导致系统负载升高,从而影响到正常的业务请求处理。另外由于磁盘io较慢,这种方法的实时性也会受限于磁盘io的速度。技术实现要素:本发明提供一种物基于云平台的业务请求信息收集方法及装置,解决传统的业务请求信息收集过程中,带来的链路冗长,磁盘io需求量大导致负载过高且实时性低的问题。为了解决上述的技术问题,本发明提供了一种基于云平台的业务请求信息收集方法及装置,具体方法包括:依照本发明第一方面,提供一种基于云平台的业务请求信息收集方法,该方法包括:从所述云平台获取业务请求信息时,将所述业务请求信息写入内存中预设缓存区域;间隔设定周期,将所述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,并清空所述预设缓存区域。依照本发明第二方面,提供一种基于云平台的业务请求信息收集方法及装置,包括:业务请求信息获取单元,用于从所述云平台获取业务请求信息时,将所述业务请求信息写入内存中预设缓存区域;业务请求信息同步单元,用于间隔设定周期,将所述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,并清空所述预设缓存区域。本发明提供的一种基于云平台的业务请求信息收集方法及装置,与现有技术相比,具有以下有益效果:1、在上述的云平台下,利用本发明提供的方法收集业务请求信息,只需要获取业务请求信息写入内存中预设缓存区域,间隔设定周期,将预设缓存区域中的信息同步到业务数据分析设备,并清空所述预设缓存区域的过程,解决了传统的收集业务请求信息时需要经历日志落盘,再从磁盘读取日志文件解析统计的链路冗长的问题;2、本发明提供的方法收集业务请求信息只需要在内存中进行,不需要附件的磁盘,解决了传统的在收集大量业务请求信息时,因需要大量的磁盘io导致系统负载升高,从而影响到正常的业务请求处理的问题;以及由于磁盘io较慢而影响实时性的问题。附图说明图1为本发明实施例一提供的一种基于云平台的业务请求信息收集方法的示意图;图2为本发明实施例二提供的基于反向代理服务器nginx的业务请求信息的收集方法的流程示意图;图3为本发明实施例二提供的基于反向代理服务器nginx的业务请求信息的收集方法的整体架构图;图4为本发明实施例三提供的一种基于云平台的业务请求信息收集装置的装置图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。实施例一:本实施例提供一种基于云平台的业务请求信息收集方法,如图1所示,其具体过程如下:步骤110,从上述云平台获取业务请求信息时,将上述业务请求信息写入内存中预设缓存区域;对上述预设缓存区域的大小不做过多限定,本领域的技术人员可根据实际需求在内存中分配合理大小的存储空间为预设缓存区域;可选地,在实施中,实时从上述云平台获取上述业务请求信息后,可以直接将获取的上述业务请求信息直接写入上述预设缓存区域;也可以在获取上述业务请求信息前,对上述预设缓存区域进行初始化,将上述预设缓存区域初始化为预设数据结构,再将获取的上述业务请求信息按照预设数据结构写入上述预设缓存区域;上述预设数据结构为具有预设内容格式的数据存储结构,用来存放从上述云平台获取的业务请求信息,本领域的技术人员可根据实际需求对上述数据存储结构进行设定;本实施例中,上述预设数据结构包括如下任一或任多个预设内容格式:业务请求发生的时间点;请求响应包的大小;请求包的大小;后端业务模块处理时长;后端业务模块地址;请求使用的域名;请求包的源ip地址;请求的接口;请求返回的状态码;整个请求的时长。在这种实施的情况下在获取的上述业务请求信息后,先对上述业务请求信息进行解析,得到与预设数据结构的预设内容格式一致的内容信息,再将上述内容信息实时以预设数据结构的形式写入内存中预设缓存区域。步骤120,间隔设定周期,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,并清空上述预设缓存区域;对上述间隔设定周期不做过多限制,本领域的技术人员可根据上述预设缓存区域大小及上述云平台上的业务实际情况需求设定,在本实施例中,间隔设定周期可以为1s。可选地,在实施中,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,包括:通过上述预设缓存区域与业务数据分析设备建立的预设协议连接,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备;对上述预设协议连接不做过多限定,本领域的技术人员可根据实际需求设定,可选地,可选地,在实施中,上述预设协议连接为如下任一连接:超文本传输协议http长连接;远程过程调用rpc连接;传输控制协议tcp连接;用户数据包协议udp连接;在实施中,可在上述预设缓存区域和业务数据分析设备间建立预设协议连接或其他能用于传输业务请求信息数据的可实现方式,本领域的技术人员可根据实际需求选用。在实施中,间隔设定周期,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备时,还包括判断上述同步是否成功;可选地,在具体的同步上述业务请求信息时,可以设置一个状态标志位,用于判断上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备是否成功;确定上述所有业务请求信息成功发送到业务数据分析设备时,由服务器发出命令控制自动清空上述预设缓存区域;或者确定上述所有业务请求信息未成功发送到业务数据分析设备时,将上述所有业务请求信息写入本地磁盘,并由服务器发出命令控制自动清空上述预设缓存区域。在实施中,确定将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备或写入本地磁盘后,需将上述预设缓存区域清空,以便上述预设缓存区域在下一个上述间隔设定周期内写入上述云平台的业务请求信息;在实施中,将上述所有业务请求信息写入本地磁盘之后,还包括:间隔固定时间段,由服务器发出命令控制自动或运维人员手动将上述本地磁盘中的所有业务请求信息同步到业务数据分析设备,并由服务器发出命令控制自动或运维人员手动清空上述本地磁盘。实施例二:本实施例为基于反向代理服务器nginx的在云平台的业务请求信息的收集方法实施例,为实现该方法,本实施例中对nginx进行功能模块划分,如图3所示为划分后的模块框架图,主要包括以下模块:nginx服务模块,用于启动服务;init_worker_by_lua_file模块用于初始化预设缓存区域;lxp_table模块用于存储从上述云平台获取的业务请求信息;log_by_lua_file模块用于解析上述从上述云平台获取的业务请求信息,获取上述业务请求信息与上述预设缓存区域初始化时后一致的内容信息;post.lua模块,用于实时将上述业务请求信息解析后的内容信息,写入上述lxp_table模块;计数器time.lua模块,用于定时将上述预设缓存区域中的业务请求信息推送到业务数据分析设备;信息同步模块,用于将上述lxp_table模块中的业务请求信息同步到业务数据分析设备。上述各模块间配合工作,实现在上述云平台的业务请求信息的收集任务,其流程图如图2,具体步骤如下:步骤201,nginx服务模块启动服务,进入步骤202;步骤202,init_worker_by_lua_file模块初始化预设缓存区域为数据结构lxp_table,进入步骤203;在内存中选取预设缓存区域,用init_worker_by_lua_file模块初始化上述预设缓存区域为数据结构lxp_table;初始化后的数据结构lxp_table为预设内容格式,在本实施例中上述预设内容格式为lxp_table字段,包含内容如下表1:表1:lxp_table字段介绍名称类型说明time时间戳请求发生的时间send_bytes数字请求响应包的大小recv_bytes数字请求包的大小upstream_response_time数字后端业务模块处理时长upstream_addr字符串后端业务模块地址host字符串请求使用的域名clientip地址请求包的源ip地址uri字符串请求的接口status字符串请求返回的状态码request_time数字整个请求的时长步骤203,init_worker_by_lua_file模块在lxp_table与业务数据分析设备间建立http长连接,进入步骤204;在实施中本领域的技术人员也可以在lxp_table与业务数据分析设备间选用其他可实现的数据传输方式,在此不做过多限定;在本实施例中选用http长连接为预设传输方式,上述利用http长连接进行传输时,长连接可以省去较多的tcp建立和关闭的操作,减少浪费,节约时间。步骤204,log_by_lua_file模块获取上述云平台的业务请求信息,并将上述业务请求信息写入上述数据结构lxp_table,进入步骤205;nginx处理http业务请求信息后,利用log_by_lua_file解析上述业务请求信息,获取上述数据结构lxp_table初始化时lxp_table字段一致的内容信息,上述内容信息即为上述业务请求信息对应的ngx.var的变量值;利用post.lua模块实时将上述业务请求信息对应的ngx.var的变量值,写入上述数据结构lxp_table。步骤205,time.lua模块判断时间是否达到间隔设定周期;若达到间隔设定周期,进行步骤206,否则进入步骤204;本实施例中,上述间隔设定时间为1s;步骤206,信息同步模块将上述数据结构lxp_table中的所有业务请求信息同步到业务数据分析设备,并进入步骤207;步骤207,信息同步模块判断上述数据结构lxp_table中的所有业务请求信息同步到业务数据分析设备是否成功;若成功,进入步骤209,否则进入步骤208;步骤208,信息同步模块将上述lxp_table的数据写入本地的磁盘中,进入步骤209;在实施中,可选地,将上述所有业务请求信息写入本地磁盘之后,将上述本地磁盘中的上述所有业务请求信息,间隔固定时间段同步到业务数据分析设备;对上述固定时间段不做过多限定,本领域的技术人员可根据实际需求设定,在本实施例中,上述固定时间段可以是1小时;步骤209,信息同步模块清空上述数据结构lxp_table,进入步骤205。实施例三:本实施例为一种基于云平台的业务请求信息的收集装置,如图4所示,包括:业务请求信息获取单元401,用于从上述云平台获取业务请求信息时,将上述业务请求信息写入内存中预设缓存区域;可选地,还包括,数据结构初始化单元,用于将上述业务请求信息写入内存中预设缓存区域中的预设数据结构,上述预设数据结构为具有预设内容格式的数据存储结构。业务请求信息同步单元402,用于间隔设定周期,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,并清空上述预设缓存区域。在实施中,上述业务请求信息同步单元,用于清空上述预设缓存区域包括:确定上述所有业务请求信息成功发送到业务数据分析设备时,清空上述预设缓存区域;或者确定上述所有业务请求信息未成功发送到业务数据分析设备时,将上述所有业务请求信息写入本地磁盘,并清空上述预设缓存区域。实施例四:本实施例为一种数据处理的设备,该设备包括:存储器,用于存储上述实施例一提供的一种基于云平台的业务请求信息收集方法的任一步骤的可执行程序;处理器,用于执行述可执行程序时实现上述实施例一提供的一种基于云平台的业务请求信息收集方法的任一步骤。在实施中,上述处理器用于从上述云平台获取业务请求信息时,将上述业务请求信息写入内存中预设缓存区域;可选地,在实施中,上述处理器用于将上述业务请求信息写入内存中预设缓存区域,包括:将上述业务请求信息以预设数据结构的形式写入内存中预设缓存区域中,上述预设数据结构为具有预设内容格式的数据存储结构。在实施中,上述处理器用于间隔设定周期,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,并清空上述预设缓存区域;在实施中,上述处理器用于将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备,包括:通过上述预设缓存区域与业务数据分析设备建立的预设协议连接,将上述预设缓存区域中的所有业务请求信息同步到业务数据分析设备。可选地,在实施中,上述处理器用于清空上述预设缓存区域,包括,确定上述所有业务请求信息成功发送到业务数据分析设备时,清空上述预设缓存区域;或者确定上述所有业务请求信息未成功发送到业务数据分析设备时,将上述所有业务请求信息写入本地磁盘,并清空上述预设缓存区域;可选地,在实施中,上述处理器用于将上述所有业务请求信息写入本地磁盘之后,还包括:间隔固定时间段将上述本地磁盘中的所有业务请求信息同步到业务数据分析设备,并清空上述本地磁盘。实施例五:本实施例为一种计算机存储介质,存储有计算机程序,该计算机程序被执行时实现述实施例一提供的一种基于云平台的业务请求信息收集方法的任一步骤。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1