发明内容
本发明提供日志处理系统、日志处理方法、节点服务器和中心服务器,用以降低中心服务器处理日志的复杂度。
本发明技术方案的实现过程如下:
一种日志处理系统,包括:
边缘服务器,节点服务器和中心服务器,一个节点服务器对应至少一个边缘服务器,一个中心服务器对应至少一个节点服务器;
边缘服务器用于产生日志,并将日志上传到对应的节点服务器;
节点服务器用于将边缘服务器上传的日志转换为预定义格式的日志,并将预定义格式的日志上传到对应的中心服务器;
中心服务器用于对节点服务器上传的预定义格式的日志进行处理。
一种日志处理方法,适用于上述日志处理系统,所述方法包括:
节点服务器获得对应的边缘服务器上传的日志;
节点服务器将对应的边缘服务器上传的日志转换为预定义格式的日志;
节点服务器将预定义格式的日志上传到对应的中心服务器。
一种节点服务器,适用于上述日志处理系统,所述节点服务器包括:
获得单元,用于获得对应的边缘服务器上传的日志;
转换单元,用于将对应的边缘服务器上传的日志转换为预定义格式的日志;
上传单元,用于将预定义格式的日志上传到对应的中心服务器。
一种日志处理方法,适用于上述日志处理系统,所述方法包括:
中心服务器获得对应的节点服务器上传的预定义格式的日志;
中心服务器对预定义格式的日志进行处理。
一种中心服务器,适用于上述日志处理系统,所述中心服务器包括:
获得单元,用于获得对应的节点服务器上传的预定义格式的日志;
处理单元,用于对预定义格式的日志进行处理。
在本发明中,边缘服务器和中心服务器之间设置有节点服务器,节点服务器可以将边缘服务器上传的日志转换为预定义格式的日志,并将预定义格式的日志上传到中心服务器,这样,中心服务器只需对预定义格式的日志进行处理即可,而无需处理大量的不同格式的日志,从而降低了中心服务器处理日志的复杂度。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
首先介绍本发明的日志处理系统。
如图1所示,日志处理系统包括边缘服务器、节点服务器和中心服务器。一个节点服务器对应至少一个边缘服务器,一个中心服务器对应至少一个节点服务器。
边缘服务器产生日志,并将日志上传到对应的节点服务器。边缘服务器产生的日志格式与边缘服务器的类型相对应,例如,squid服务器产生对应squid的格式的日志。
边缘服务器产生日志后,可以将日志在本地存储一段时间,例如存储7天。边缘服务器可以每隔一段时间生成一个日志,例如,每隔5分钟生成一个日志,日志名称的形式可以为:ISP缩写-城市名缩写-节点序号-物理服务器序号-服务角色缩写-时间戳-随机数,例如CNC-BJ-1-N002-Cbk-201005010800-001.log。
节点服务器可以将边缘服务器上传的日志转换为预定义格式的日志,并将预定义格式的日志上传到对应的中心服务器。一个节点服务器可能会收到多种格式的日志。本发明根据这些日志的特点,将这些日志统一归为两种格式的日志:一种是提供web访问服务的服务器产生的日志,统一定义为clog格式的日志,也可以称为预定义第一格式的日志,表1示出了clog格式的一种形式;另一种是提供流媒体服务的边缘服务器产生的日志,统一定义为flog格式的日志,也可以称为预定义第二格式的日志,表2示出了flog格式的一种形式。节点服务器收到边缘服务器上传的日志后,确定日志是由哪种边缘服务器产生的,确定后,将日志转换为预定义格式的日志,并将预定义格式的日志提供给中心服务器。具体的,节点服务器如果确定日志是由提供web访问服务的边缘服务器产生的,则将提供web访问服务的边缘服务器上传的日志转换为预定义第一格式的日志,并将预定义第一格式的日志上传到中心服务器;如果确定日志是由提供流媒体服务的边缘服务器产生的,则将提供流媒体服务的边缘服务器上传的日志转换为预定义第二格式的日志,并将预定义第二格式的日志提供给中心服务器。
表1
表2
需要说明的是,WMS日志中记录的是start-date和start-time,也就是访问请求开始的日期和时间,FMS日志中记录的是end-date和end-time,也就是访问请求结束的日期和时间。在实际应用中,可结合time-taken或all-time-taken字段推断出其对应的结束或者开始时间。
另外,FMS日志中一次访问具有一个c-clientid,对于同一访问c-clientid相同,x-evevt字段代表一次访问中的不同事件,connect代表事件的开始,disconnect代表事件的结束,中间会涉及多个play(播放)、stop(停止)时间,而且,sc-bytes(字节数)和time-taken(响应时间)在同一访问中是不断累计的,即,disconnect日志中的sc-bytes的字节数代表的该访问从开始到结束的所有字节数,time_taken的响应时间代表该访问从开始到结束的累计响应时间。WMS日志中一次访问也有同一个c-clientid,但是,弱化了事件的概念(没有明显的事件字段),但是,每次暂停都会记录一条日志,需要注意的是,sc-bytes统计的字节数为开始播放到暂停的字节数,time-taken统计的响应时间是开始到暂停的响应时间,下次开始,会从零重新开始统计。
节点服务器除进行日志的格式转换、上传外,还可以根据边缘服务器上传的日志生成计费信息,并将计费信息上传到对应的中心服务器。计费信息可以承载在单独的一个文件中存放在节点服务器中,节点服务器上传计费信息时,可以直接上传承载有计费信息的文件。
节点服务器对日志进行格式转换后,可以将预定义格式的日志在本地存储一段时间,例如存储3天。节点服务器可以按照频道(域名)来存储日志,每个频道(域名)都对应一个文件。节点服务器还可以采取时间优先的方式存储日志。节点服务器存储日志的一种形式如图2所示。
中心服务器收到节点服务器上传的预定义格式的日志后,可以对预定义格式的日志进行处理。
在实际应用中,中心服务器可以按照运营商划分。在同一个区域内可以部署不同运营商的中心服务器。不同运营商可以根据业务量,在同一个区域内部署至少一个中心服务器。同一区域内的中心服务器之间可以交互。一个节点服务器可以对应本区域内的多个中心服务器,也就是说,节点服务器可以向本区域内的多个中心服务器上传预定义格式的日志。节点服务器可以将预定义格式的日志上传到所述节点服务器对应的且是所述预定义格式的日志所属运营商的中心服务器。例如,运营商A在区域1内可以部署中心服务器a,运营商B在区域1内可以部署中心b,区域1的一个节点服务器至少对应中心服务器a和中心服务器b,节点服务器在上传预定义格式的日志之前,可以先判断需要上传的日志所属的运营商,如果是属于运营商A,则将需要上传的日志上传到中心服务器a,同理,如果是属于运营商B,则将需要上传的日志上传到中心服务器b。
中心服务器收到预定义格式的日志后,可以存储日志一定的时间,例如存储60天。中心服务器可以按照频道存储预定义格式的日志。一种存储形式如图3所示。这样存储的目的是,中心服务器内的多个处理逻辑可以按照频道的角度分配任务,另外,当客户端需要下载日志时,客户端可以先定位频道,之后再定位日志,便于客户端下载日志。此外,目录具有索引的作用。
上面提到,客户端可以从中心服务器下载日志。如果中心服务器获得客户端下载指定格式的日志的请求,则中心服务器可以将预定义格式的日志转换为指定格式的日志,并将指定格式的日志提供给客户端。另外,如果客户端请求下载的日志比较多,且有些日志不在接收下载请求的中心服务器内存储,那么中心服务器可以向其他中心服务器请求客户端需要下载的日志。在实际应用中,客户端指定的格式一般都是常用的格式,例如W3C标准化格式。基于这种考虑,中心服务器内可以设置几个日志格式转换器,转换源都是预定义格式的日志,例如clog格式和flog格式的日志,转换目的都是客户端常用格式的日志。
基于上述系统,本发明从节点服务器的角度提供了一种日志处理方法和节点服务器。首先对从节点服务器的角度提供的日志处理方法进行说明。如图4所示,这种方法包括:
S401:节点服务器获得对应的边缘服务器上传的日志;
S402:节点服务器将对应的边缘服务器上传的日志转换为预定义格式的日志;S403:节点服务器将预定义格式的日志上传到对应的中心服务器。
预定义格式的日志为预定义第一格式的日志或预定义第二格式的日志,预定义第一格式的日志对应提供web访问服务的边缘服务器产生的日志,预定义第二格式的日志对应提供流媒体服务的边缘服务器产生的日志。节点服务器可以将提供web访问服务的边缘服务器上传的日志转换为预定义第一格式的日志,将提供流媒体服务的边缘服务器上传的日志转换为预定义第二格式的日志。
在执行S401之后,节点服务器还可以根据对应的边缘服务器上传的日志生成计费信息,并将计费信息上传到对应的中心服务器。
本发明提供的一种节点服务器如图5所示,包括:获得单元501,用于获得对应的边缘服务器上传的日志;转换单元502,用于将对应的边缘服务器上传的日志转换为预定义格式的日志;上传单元503,用于将预定义格式的日志上传到对应的中心服务器。
预定义格式的日志为预定义第一格式的日志或预定义第二格式的日志,预定义第一格式的日志对应提供web访问服务的边缘服务器产生的日志,预定义第二格式的日志对应提供流媒体服务的边缘服务器产生的日志。转换单元502具体用于将提供web访问服务的边缘服务器上传的日志转换为预定义第一格式的日志,将提供流媒体服务的边缘服务器上传的日志转换为预定义第二格式的日志。
图5所示的节点服务器还可以包括生成单元504,用于在获得单元501获得对应的边缘服务器上传的日志后,根据对应的边缘服务器上传的日志生成计费信息。上传单元503可以将计费信息上传到对应的中心服务器。
上述的日志处理方法和节点服务器的详细描述可以参见上述的日志处理系统的相关描述,这里不再赘述。
基于上述系统,本发明还从中心服务器的角度提供了一种日志处理方法和中心服务器。首先对从中心服务器的角度提供的日志处理方法进行说明。如图6所示,这种方法包括:
S601:中心服务器获得对应的节点服务器上传的预定义格式的日志;
S602:中心服务器对预定义格式的日志进行处理。
预定义格式的日志为预定义第一格式的日志或预定义第二格式的日志,预定义第一格式的日志对应提供web访问服务的边缘服务器产生的日志,预定义第二格式的日志对应提供流媒体服务的边缘服务器产生的日志。
中心服务器可以按照频道存储预定义格式的日志。
如果中心服务器获得客户端下载指定格式的日志的请求,则中心服务器可以将预定义格式的日志转换为指定格式的日志,并将指定格式的日志提供给客户端。
本发明提供的一种中心服务器如图7所示,包括:获得单元701,用于获得对应的节点服务器上传的预定义格式的日志;处理单元702,用于对预定义格式的日志进行处理。
预定义格式的日志为预定义第一格式的日志或预定义第二格式的日志,预定义第一格式的日志对应提供web访问服务的边缘服务器产生的日志,预定义第二格式的日志对应提供流媒体服务的边缘服务器产生的日志。
处理单元702具体用于按照频道存储预定义格式的日志。
获得单元701还可以获得客户端下载指定格式的日志的请求。处理单元702还可以将预定义格式的日志转换为指定格式的日志,并将指定格式的日志提供给客户端。
上述的日志处理方法和中心服务器的详细描述可以参见上述的日志处理系统的相关描述,这里不再赘述。
综上所述,在本发明中,边缘服务器和中心服务器之间设置有节点服务器,节点服务器可以将边缘服务器上传的日志转换为预定义格式的日志,并将预定义格式的日志上传到中心服务器,这样,中心服务器只需对预定义格式的日志进行处理即可,而无需处理大量的不同格式的日志,从而降低了中心服务器处理日志的复杂度。
在本发明中,边缘服务器、节点服务器和中心服务器可以存储日志一段时间,这样可以提高日志存储的安全性和可靠性。
在本发明中,中心服务器可以按照运营商划分,中心服务器例如是互联网服务提供商(ISP,Internet Service Provider)节点,也就是说,日志可以分散存储到中心服务器,这样不但可以提高日志存储的安全性和可靠性,还可以降低节点服务器与中心服务器之间传送日志所占的带宽。
在本发明中,由于中心服务器接收到的都是预定义格式的日志,而且客户端下载的日志一般都是常用格式的,所以,可以在中心服务器内设置一些从预定义格式转换为常用格式的转换器,这样,即使日志处理系统中增加了某种类型的边缘服务器,也会因为节点服务器将这种边缘服务器产生的日志转换为预定义格式的日志,而使得中心服务器内不必再增加转换器。
在本发明中,节点服务器可以生成计费信息,这样,中心服务器只需将计费信息汇总即可,而不必进行具体的计费,这样可以提供整体的计费效率。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。