本发明涉及分布式对象存储系统技术领域,更具体地说,涉及一种分布式系统的流量获取方法、装置、设备及计算机可读存储介质。
背景技术:
为了实现对分布式对象存储系统(简称分布式系统)性能的监控,通常需要获取分布式系统的流量信息。
现有技术中用于获取分布式系统的流量信息的方式,通常是在分布式系统的服务端设置计数器,通过计数器的计数功能可以得到用户访问分布式系统的总次数、上传及下载的总数据量作为流量信息,但是这种方式只能够统计各项信息的总量,获取的数据单一,不易二次处理。
综上所述,现有技术中用于获取分布式系统流量信息的方式存在获取数据单一、不易二次处理的问题。
技术实现要素:
本发明的目的是提供一种分布式系统的流量获取方法、装置、设备及计算机可读存储介质,能够解决现有技术中用于获取分布式系统流量信息的方式存在的获取数据单一、不易二次处理的问题。
为了实现上述目的,本发明提供如下技术方案:
一种分布式系统的流量获取方法,包括:
确定任一访问分布式系统的用户为目的用户,并获取所述目的用户的访问信息,所述访问信息包括所述目的用户的用户信息、所述目的用户访问的桶的桶信息、所述目的用户访问的时间及所述目的用户上传或下载的字节数;
将所述访问信息写入对应的每个日志中,所述日志包括分别用于存储所述分布式系统、所述分布式系统中各个桶、访问所述分布式系统的各个用户各自对应的访问信息的日志;
接收所述目的用户发送的信息请求,由与所述信息请求对应的日志中获取对应的访问信息,并将获取的访问信息作为流量信息返回给所述目的用户。
优选的,将所述访问信息写入对应的每个日志中,包括:
将所述访问信息写入对应的每个日志中,所述日志包括分别用于存储不同时间段下所述分布式系统、所述分布式系统中各个桶、访问所述分布式系统的各个用户各自对应的访问信息的日志。
优选的,将所述访问信息写入对应的每个日志中,包括:
将所述访问信息写入具有对应名称的每个日志中,所述日志以所属时间段及所属分类对象的标识命名,所述分类对象包括分布式系统、桶及用户。
优选的,由与所述信息请求对应的日志中获取对应的访问信息之后,还包括:
判断是否需要进行流量计算,如果是,则基于获取的访问信息计算对应的流量信息并返回给所述目的用户,如果否,则执行所述将获取的访问信息作为流量信息返回给所述目的用户的步骤,其中,所述流量信息包括上传或下载的带宽、每秒处理的访问次数及处理全部访问所用的总时间。
一种分布式系统的流量获取装置,包括:
获取模块,用于:确定任一访问分布式系统的用户为目的用户,并获取所述目的用户的访问信息,所述访问信息包括所述目的用户的用户信息、所述目的用户访问的桶的桶信息、所述目的用户访问的时间及所述目的用户上传或下载的字节数;
写入模块,用于:将所述访问信息写入对应的每个日志中,所述日志包括分别用于存储所述分布式系统、所述分布式系统中各个桶、访问所述分布式系统的各个用户各自对应的访问信息的日志;
返回模块,用于:接收所述目的用户发送的信息请求,由与所述信息请求对应的日志中获取对应的访问信息,并将获取的访问信息作为流量信息返回给所述目的用户。
优选的,所述写入模块包括:
写入单元,用于:将所述访问信息写入对应的每个日志中,所述日志包括分别用于存储不同时间段下所述分布式系统、所述分布式系统中各个桶、访问所述分布式系统的各个用户各自对应的访问信息的日志。
优选的,所述写入单元包括:
写入子单元,用于:将所述访问信息写入具有对应名称的每个日志中,所述日志以所属时间段及所属分类对象的标识命名,所述分类对象包括分布式系统、桶及用户。
优选的,还包括:
判断模块,用于:所述返回模块由与所述信息请求对应的日志中获取对应的访问信息之后,判断是否需要进行流量计算,如果是,则基于获取的访问信息计算对应的流量信息并返回给所述目的用户,如果否,则指示所述返回模块执行所述将获取的访问信息作为流量信息返回给所述目的用户的步骤,其中,所述流量信息包括上传或下载的带宽、每秒处理的访问次数及处理全部访问所用的总时间。
一种分布式系统的流量获取设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述分布式系统的流量获取方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述分布式系统的流量获取方法的步骤。
本发明提供了一种分布式系统的流量获取方法、装置、设备及计算机可读存储介质,其中,该方法包括:确定任一访问分布式系统的用户为目的用户,并获取所述目的用户的访问信息,所述访问信息包括所述目的用户的用户信息、所述目的用户访问的桶的桶信息、所述目的用户访问的时间及所述目的用户上传或下载的字节数;将所述访问信息写入对应的每个日志中,所述日志包括分别用于存储所述分布式系统、所述分布式系统中各个桶、访问所述分布式系统的各个用户各自对应的访问信息的日志;接收所述目的用户发送的信息请求,由与所述信息请求对应的日志中获取对应的访问信息,并将获取的访问信息作为流量信息返回给所述目的用户。本发明公开的技术方案中,在用户访问分布式系统时获取包括有用户信息、桶信息、访问时间及上传或下载的字节数的访问信息,并将访问信息存储至对应的每个日志中,进而在用户需要获取流量信息时由日志中获取并返回给用户。本申请不同于现有技术中通过计数器仅能获取访问总次数、上传及下载的总数据量,而是通过上述细化采集并存储相应信息的方式能够获取到用户访问分布式系统时的各项信息,从而不仅实现了信息多样化,且便于对其进行分时段处理或者分用户处理等方式的二次处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种分布式系统的流量获取方法的流程图;
图2为本发明实施例提供的一种分布式系统的流量获取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种分布式系统的流量获取方法的流程图,可以包括:
s11:确定任一访问分布式系统的用户为目的用户,并获取目的用户的访问信息,访问信息包括目的用户的用户信息、目的用户访问的桶的桶信息、目的用户访问的时间及目的用户上传或下载的字节数。
本发明实施例提供的一种分布式系统的流量获取方法的执行主语可以为对应的流量获取装置,而该装置可以设置于分布式系统中,因此本发明实施例提供的一种分布式系统的流量获取方法的执行主语可以为分布式系统。任一访问分布式系统的用户均可以作为目的用户,也即对于每个访问分布式系统的用户需可以采用本发明提供的技术方案实现对应访问信息的获取及存户。其中,用户信息可以包括用户标识、用户属性等,桶信息可以包括桶标识、桶属性、桶空间大小等,访问的时间可以包括访问开始时刻及结束时刻额时间点,也可以包括访问所用的时间段等,上传或者下载的字节数即为对应次访问上传至分布式系统或者由分布式系统下载的字节数;当然,上述信息也可以根据实际需要进行设置,均在本发明的保护范围之内。另外需要说明的是,桶即为分布式系统中实现数据存储的存储地,是数据存储的逻辑概念,也即分布式系统可以包含有多个桶,而本申请中涉及的时间均可以以分布式系统的同一个时间标准为准。
s12:将访问信息写入对应的每个日志中,日志包括分别用于存储分布式系统、分布式系统中各个桶、访问分布式系统的各个用户各自对应的访问信息的日志。
需要说明的是,本申请中的日志具体可以是预先创建在分布式系统的服务器中的;日志的级别可以包括分布式系统、桶、用户。具体来说,用于存储分布式系统对应访问信息的日志即为级别为分布式系统的日志,该日志用于存储分布式系统对应的访问信息,包括每个用户每次访问分布式系统时对应的访问信息;用于存储各个桶对应访问信息的日志即为级别为桶的日志,该日志用于存储对应的桶对应的访问信息,包括每个用户每次访问对应的桶时对应的访问信息;用于存储各个用户对应的访问信息的日志即为级别为用户的日志,该日志用于存储对应的用户对应的访问信息,包括对应的用户每次访问分布式系统时的访问信息。如用户a访问桶a时的访问信息需要分别存储至分布式系统、桶a、用户a分别对应的日志中,从而实现日志的分级存储。而确定与访问信息对应的用于存储桶、用户对应访问信息的日志时,可以基于访问信息中包含的桶信息及用户信息定位到对应的日志。
s13:接收目的用户发送的信息请求,由与信息请求对应的日志中获取对应的访问信息,并将获取的访问信息作为流量信息返回给目的用户。
需要说明的是,每个用户均既可以访问分布式系统,也可由分布式系统中获取到流量信息,因此接收到目的用户发送的信息请求时,需要将信息请求对应的流量信息返回给目的用户。其中,信息请求中可以包括需要获取的访问信息对应分类对象的标识、访问的时间等,进而定位到与信息请求对应的访问信息并返回给目的用户;其中,分类对象指日志存储的访问信息对应的对象,包括分布式系统、桶、用户,而分类对象的标识即为日志存储的访问信息对应的对象的标识。另外,确定出信息请求中对应的分类对象的标识后,仅需由该标识对应的分类对象的日志中获取到所需的访问信息即可,如标识为桶a,则仅需由桶a中获取所需的访问信息,相对于将全部访问信息均存储于同一日志中,这种分级存储的方式无需在获取访问信息时遍历同一日志获取,而是针对性的由分类对象对应的日志中获取,显然大大提高了数据获取效率。
另外需要说明的是,目的用户能够获取的访问信息可以仅包括目的用户对应的访问信息,也可以包括全部用户对应的访问信息,具体可以根据实际需要进行设定,均在本发明的保护范围之内。
本发明公开的技术方案中,在用户访问分布式系统时获取包括有用户信息、桶信息、访问时间及上传或下载的字节数的访问信息,并将访问信息存储至对应的每个日志中,进而在用户需要获取流量信息时由日志中获取并返回给用户。本申请不同于现有技术中通过计数器仅能获取访问总次数、上传及下载的总数据量,而是通过上述细化采集并存储相应信息的方式能够获取到用户访问分布式系统时的各项信息,从而不仅实现了信息多样化,且便于对其进行分时段处理或者分用户处理等方式的二次处理。
另外,本申请公开的技术方案中,将获取到的访问信息存储至不同级别的日志中,从而在需要获取访问信息时,可以直接定位到需要获取的访问信息对应分类对象,进而实现访问信息的获取,相对于将全部访问信息均存储于同一日志中,这种分级存储的方式无需在获取访问信息时遍历同一日志获取,而是针对性的由对应的分类对象的日志中获取,显然大大提高了数据获取效率。也即本申请实现了流量统计的分布式系统、用户、桶级别的层次化,更加灵活,且获取到的数据能够分布式系统的运行状态。
本发明实施例提供的一种分布式系统的流量获取方法,将访问信息写入对应的每个日志中,可以包括:
将访问信息写入对应的每个日志中,日志包括分别用于存储不同时间段下分布式系统、分布式系统中各个桶、访问分布式系统的各个用户各自对应的访问信息的日志。
需要说明的是,本申请中各个日志不仅可以对应不同的分类对象,同时还可以对应不同的时间段,如可以对应年、月、日、小时、分钟等。从而将访问信息写入至此次访问发生开始时刻所属的时间段对应的日志中,进而在获取日志信息时,可以从分类对象、时间段两点定位到对应的日志,进而实现对应访问信息的获取,从时间和级别两个层次上实现了信息分类存储及获取,进一步提高了数据存储及获取效率。
本发明实施例提供的一种分布式系统的流量获取方法,将访问信息写入对应的每个日志中,可以包括:
将访问信息写入具有对应名称的每个日志中,日志以所属时间段及所属分类对象的标识命名,分类对象包括分布式系统、桶及用户。
需要说明的是,可以以时间段及分类对象综合为每个日志命名,由此可以得到以下几种方式的日志名称:
1)桶级别:时间段+桶id
2)用户级别:时间段+用户id
3)系统级别:时间段+系统标志(可自定义);
进而在写入或者获取访问信息时可以由日志名称直接确定出需要定位的日志,简单易实现。
本发明实施例提供的一种分布式系统的流量获取方法,由与信息请求对应的日志中获取对应的访问信息之后,还可以包括:
判断是否需要进行流量计算,如果是,则基于获取的访问信息计算对应的流量信息并返回给目的用户,如果否,则执行将获取的访问信息作为流量信息返回给目的用户的步骤,其中,流量信息包括上传或下载的带宽、每秒处理的访问次数及处理全部访问所用的总时间。
需要说明的是,可以将访问信息直接返回给用户,由用户根据其实际需要实现对访问信息的计算等处理,也可以直接对访问信息进行计算,进而将计算所得结果返回给用户,从而方便了用户对于数据的获取,提升了用户体验。具体来说,上传或者下载的带宽可以基于获取的流量信息中上传或下载的字节数及对应的时间计算得到,每秒处理的访问次数即为获取的流量信息中包含的访问总次数与全部访问所用总时间的比值,处理全部访问所用的总时间即为获取的流量信息中包含的访问所用的时间总和,这些计算与现有技术中对应技术方案的实现原理相同,在此不做过多赘述。从而依赖分布式系统的日志实现不同层次的信息统计,准确有效。
本发明实施例还提供了一种分布式系统的流量获取装置,如图2所示,可以包括:
获取模块11,用于:确定任一访问分布式系统的用户为目的用户,并获取目的用户的访问信息,访问信息包括目的用户的用户信息、目的用户访问的桶的桶信息、目的用户访问的时间及目的用户上传或下载的字节数;
写入模块12,用于:将访问信息写入对应的每个日志中,日志包括分别用于存储分布式系统、分布式系统中各个桶、访问分布式系统的各个用户各自对应的访问信息的日志;
返回模块13,用于:接收目的用户发送的信息请求,由与信息请求对应的日志中获取对应的访问信息,并将获取的访问信息作为流量信息返回给目的用户。
本发明实施例提供的一种分布式系统的流量获取装置,写入模块可以包括:
写入单元,用于:将访问信息写入对应的每个日志中,日志包括分别用于存储不同时间段下分布式系统、分布式系统中各个桶、访问分布式系统的各个用户各自对应的访问信息的日志。
本发明实施例提供的一种分布式系统的流量获取装置,写入单元可以包括:
写入子单元,用于:将访问信息写入具有对应名称的每个日志中,日志以所属时间段及所属分类对象的标识命名,分类对象包括分布式系统、桶及用户。
本发明实施例提供的一种分布式系统的流量获取装置,还可以包括:
判断模块,用于:返回模块由与信息请求对应的日志中获取对应的访问信息之后,判断是否需要进行流量计算,如果是,则基于获取的访问信息计算对应的流量信息并返回给目的用户,如果否,则指示返回模块执行将获取的访问信息作为流量信息返回给目的用户的步骤,其中,流量信息包括上传或下载的带宽、每秒处理的访问次数及处理全部访问所用的总时间。
本发明实施例还提供了一种分布式系统的流量获取设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项分布式系统的流量获取方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项分布式系统的流量获取方法的步骤。
需要说明的是,本发明实施例提供的一种分布式系统的流量获取装置、设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的一种分布式系统的流量获取方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。