CN106101264B - 内容分发网络日志推送方法、装置和系统 - Google Patents
内容分发网络日志推送方法、装置和系统 Download PDFInfo
- Publication number
- CN106101264B CN106101264B CN201610581707.5A CN201610581707A CN106101264B CN 106101264 B CN106101264 B CN 106101264B CN 201610581707 A CN201610581707 A CN 201610581707A CN 106101264 B CN106101264 B CN 106101264B
- Authority
- CN
- China
- Prior art keywords
- log
- newly
- increased
- receiving device
- record file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种内容分发网络日志推送方法、装置和系统。其中,该方法包括:检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;以及将新增日志推送给日志接收设备。本发明解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种内容分发网络日志推送方法、装置和系统。
背景技术
随着互联网技术的快速发展,相关技术通过在网络各处放置节点服务器构成在现有的互联网基础之上的一层智能虚拟网络,即内容分发网络(Content Delivery Network,简称为CDN),CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的节点服务器上,使用户可以就近取得所需内容,极大地缓解了互联网网络拥挤的状况,提高了用户访问网站的响应速度。
CDN中的节点服务器在接收到用户的请求时,可以根据用户的请求生成日志,该日志可以用于记录用户的请求以及该请求的响应结果等信息。CDN中的节点服务器生成的日志通常会存储在一个特定位置,如果想要对CDN中的节点服务器生成的日志进行分析,需要从该特定位置获取日志以便于后续分析。上述获取CDN中的节点服务器生成的日志的方法效率较低,且存在延时,无法保证日志的分析处理的实时性。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种内容分发网络日志推送方法、装置和系统,以至少解决相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种内容分发网络日志推送方法,包括:检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;以及将新增日志推送给日志接收设备。
根据本发明实施例的另一方面,还提供了一种内容分发网络日志推送装置,包括:检测模块用于检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志。获取模块,在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;推送模块,用于将新增日志推送给日志接收设备。
根据本发明实施例的另一方面,还提供了一种内容分发网络日志推送系统,包括:多个日志推送服务器,分别与内容分发网络中的多个节点服务器通信连接,用于检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志,多个节点服务器包括第一节点服务器;在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;将新增日志推送给日志接收设备。
在本发明实施例中,采用检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;以及将新增日志推送给日志接收设备的方式,通过实时检测日志记录文件判断内容分发网络中的节点服务器是否生成日志,在生成日志时立即获取并将其推送给日志接收设备,达到了实时地主动推送内容分发网络日志给日志接收设备的目的,从而实现了提高获取内容分发网络日志的效率的技术效果,进而解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的内容分发网络日志推送系统的示意图;
图2是根据本发明优选实施例的内容分发网络日志推送系统的示意图;
图3是根据本发明实施例的内容分发网络日志推送方法的硬件环境的示意图;
图4是根据本发明实施例的一种可选的内容分发网络日志推送方法的流程图;
图5是根据本发明实施例的一种可选的内容分发网络日志推送装置的示意图;
图6是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图7是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图8是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图9是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图10是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图11是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图12是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;
图13是根据本发明实施例的另一种可选的内容分发网络日志推送装置的示意图;以及
图14是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
内容分发网络(Content Delivery Network,简称为CDN),是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户可就近取得所需内容,解决互联网网络拥挤的状况,提高用户访问网站的响应速度。
CDN日志,CDN中的节点服务器在接收到用户请求时根据用户请求生成的日志。
实施例1
根据本发明实施例,提供了一种内容分发网络日志推送系统的系统实施例。
图1是根据本发明实施例的一种可选的内容分发网络日志推送系统的示意图,如图1所示,该内容分发网络日志推送系统可以包括多个日志推送服务器,图1中实线框代表内容分发网络日志推送系统,标号10代表日志推送服务器,图1中仅示出了内容分发网络日志推送系统包括3个日志推送服务器的情形,需要说明的是,本发明实施例对内容分发网络日志推送系统中所包括的日志推送服务器的个数并不具体限定。内容分发网络日志推送系统中的每个日志推送服务器可以分别与内容分发网络中的节点服务器通信连接,图1中标号20代表内容分发网络中的节点服务器。需要说明的是,图1中日志推送服务器10与节点服务器20之间的连接线代表两者之间通信连接,可以包括有线连接和无线连接,本发明实施例对其不做具体限定。
内容分发网路(Content Delivery Network,简称为CDN)能够实时地根据网络流量和各个节点服务器的连接状况、负载状况以及到用户的距离和响应时间等综合信息将用户的请求消息重新导向离用户最近的节点服务器上,其目的是使用户可就近取得所需内容,解决互联网网络拥挤的状况,提高用户访问网站的响应速度。CDN中的多个节点服务器可以分布式布置,每个节点服务器均可以用于接收用户的请求消息,并根据接收到的请求消息生成日志,其中,请求消息可以用于请求网络资源。以第一节点服务器为例,其中,内容分发网络中的多个节点服务器包括第一节点服务器,第一节点服务器可以理解为内容分发网络中的任意一个节点服务器。第一节点服务器在接收到用户的请求消息后,可以根据接收到的请求消息生成日志,该日志为CDN日志,也即CDN中的节点服务器在接收到用户请求时根据用户请求生成的日志。CDN日志中可以包括大量信息,例如,所请求的客户端IP和客户端标识、请求的URL、发送数据大小、HTTP返回码、请求处理时间等信息。第一节点服务器根据请求消息生成的日志可以保存在日志记录文件中,其中,日志记录文件可以存储在第一节点服务器中,用于记录第一节点服务器根据接收到的请求消息所生成的CDN日志。此处需要说明的是,每当第一节点服务器接收到一条请求消息,就可以根据接收到的请求消息新生成日志,该新生成的日志可以保存在日志记录文件中,也就是说,每当第一节点服务器新生成日志时,日志记录文件完成一次更新,以达到日志记录文件中保存的日志的完整性和准确性的目的。
日志推送服务器可以与内容分发网络中的节点服务器通信连接,可以用于检测日志记录文件是否有更新。作为一种可选的实施例,日志推送服务器可以通过判断日志记录文件的修改时间是否发生变化,或者,判断日志记录文件的大小是否发生变化,来检测日志记录文件是否有更新。在日志推送服务器判断出日志记录文件的修改时间发生变化或者日志记录文件的大小发生变化时,可以确定日志记录文件有更新。需要说明的是,本发明实施例还可以通过其他判断条件检测日志记录文件是否有更新,此处不做一一举例说明。当日志推送服务器检测到日志记录文件有更新时,日志推送服务器可以从日志记录文件中获取第一标记指示的新增文件,其中,第一标记可以用于指示日志记录文件中新增日志的位置。需要说明的是,日志记录文件中可以存在多个标记,其中,多个标记中包括第一标记,每个标记可以用于指示一条日志,也即日志记录文件中每新增一条日志时,可以在该新增日志的起始位置处设置标记,以便于日志推送服务器能够快速准确地获取新增日志。
日志推送服务器在从日志记录文件中获取到第一标记指示的新增日志之后,可以将其主动推送给日志接收设备,其中,日志接收设备可以是服务器。需要说明的是,日志推送服务器可以与日志接收设备通信连接,利用该通信连接可以进行数据交互,例如利用该通信连接日志推送服务器可以将获取到的新增日志推送给日志接收设备。此处需要说明的是,日志推送服务器向日志接收设备推送新增日志时可以采用以下任意一种方式:每检测到一条新增日志立即将其推送给日志接收设备,这样能够提高日志的实时性;缓存新增日志,待缓存的新增日志的数量达到预设阈值时,将缓存的这些新增日志一并推送给日志接收设备,这样虽然降低了日志的实时性,但是一并发送多条新增日志能够减少网络资源的消耗。还需要说明的是,日志接收设备可以是用户预先指定的设备,日志接收设备可以包括但并不限于PC、手机、平板电脑等。用户可以预先设置日志接收指示信息并将其发送给日志推送服务器,日志推送服务器在接收到日志接收指示信息之后,可以对其进行解析以确定该日志接收指示信息所指示的日志接收设备,以便于日志推送服务器在获取到新增日志之后将其推送给该日志接收指示信息所指示的日志接收设备。
本发明实施例的内容分发网络日志推送系统,日志推送服务器在检测内容分发网络中的节点服务器新生成日志时,可以将新生成的日志主动推送给日志接收设备,进而达到了实时地主动推送内容分发网络日志给日志接收设备的目的,进而解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题,实现了提高获取内容分发网络日志的效率的技术效果。
本发明实施例中的内容分发网络日志推送系统中可以包括多个日志推送服务器,且这多个日志推送服务器可以分布式布置,以增加对日志的处理效率。需要说明的是,本发明实施例中的日志推送服务器可以为一个服务器且该服务器可以具备多核处理器,还可以是多个服务器组成的集群,以达到提高对日志的处理效率的目的。本发明实施例中以具有多核处理器的日志推送服务器为例进行具体说明。
作为一种可选的实施例,本发明实施例中的日志推送服务器可以包括:第一处理器,用于检测日志记录文件是否有更新;在检测到日志记录文件有更新时,获取第一标记指示的新增日志;输出端口,用于将新增日志推送给日志接收设备。
需要说明的是,检测日志记录文件是否有更新,在检测到日志记录文件有更新时,获取第一标记指示的新增日志以及将新增日志推送给日志接收设备的过程已经在上述实施例中进行了详细介绍,此处不再赘述。还需要说明的是,该实施例中的第一处理器可以用一个服务器代替,输出端口也可以用一个服务器代替,输出端口可以与第一处理器通信连接,可以包括有线连接和无线连接,以达到第一处理器利用该通信连接将新增日志推送给输出端口,进而通过输出端口将新增日志推送给日志接收设备的目的。该实施例中的日志推送服务器包括第一处理器和输出端口,且第一处理器和输出端口分工明确,能够提高日志推送服务器对日志的处理效率。
作为一种可选的实施例,日志推送服务器除了包括上述实施例中的第一处理器和输出端口之外,还可以包括:输入端口,用于获取预先设置的日志接收指示信息,其中,日志接收指示信息可以用于指示日志接收设备,该日志接收信息可以为用户根据实际需求预先设置的信息,用户可以利用输入设备(例如键盘、鼠标等)输入日志接收信息,用户输入的日志接收信息可以通过输入端口通知给输出端口,其中,输入端口可以与输出端口通信连接,利用该通信连接输入端口可以将日志接收指示信息发送给输出端口,输出端口可以根据接收到的日志接收信息将新增日志推送给日志接收指示信息所指示的日志接收设备。
需要说明的是,该实施例中的输入端口也可以用一个服务器代替。该实施例通过设置输入端口获取预先设置的用于指示日志接收设备的日志接收指示信息,能够使得输出端口将新增日志比较明确地推送给日志接收指示信息所指示的日志接收设备,不仅符合用户实际需求,而且避免了因无法预先得到日志接收设备导致日志延迟推送的问题,有效地提高了获取内容分发网络日志的效率。
作为一种可选的实施例,日志推送服务器还可以包括:第二处理器,用于通过判断接收到日志接收设备返回的确认消息的时间是否超过预定时间,确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度是否匹配,其中,确认消息用于指示日志接收设备是否成功接收到新增日志;缓存器,用于在第二处理器确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,缓存新增日志。
需要说明的是,日志接收设备在接收到输出端口推送的新增日志之后,可以向日志推送服务器返回确认消息,该确认消息用于通知日志推送服务器是否成功接收到新增日志。该实施例中的第二处理器可以与输出端口通信连接,可以通过判断接收到确认消息的时间是否超过预定时间来确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度是否匹配,其中,预定时间可以根据实际需求进行设定,当接收到确认消息的时间超过预定时间时,第二处理器可以确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,此时有可能会造成日志接收设备遗漏新增日志,导致接收到的日志不完整、不准确;当接收到确认消息的时间未超过预定时间时,第二处理器可以确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度匹配,此时日志接收设备能够顺畅的接收新增日志。为了保证日志接收设备接收到的新增日志的完整性和准确性,该实施例中的缓存器可以分别与第二处理器和输出端口通信连接,可以在第二处理器确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,缓存新增日志,以达到避免遗漏新增日志的问题,进而保证日志接收设备接收到的新增日志的完整性和准确性。
还需要说明的是,该实施例中的第二处理和缓存器也可以用一个服务器代替。该实施例通过设置第二处理器判断输出端口推送新增日志的速度与日志接收设备接收新增日志的速度是否匹配,在不匹配时利用缓存器缓存新增日志,能够避免因两者速度不匹配导致的日志接收设备遗漏新增日志的情形,进而达到了提高日志接收设备接收到的日志的完整性和准确性的效果。
作为一种可选的实施例,第二处理器可以用于在确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,调节输出端口推送新增日志的速度与日志接收设备接收新增日志的速度匹配,并控制输出端口将缓存的新增日志推送给日志接收设备。
需要说明的是,当输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,此时有可能会造成日志接收设备遗漏新增日志,导致接收到的日志不完整、不准确,为了避免上述问题,第二处理器在确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配之后,可以调节输出端口推送新增日志的速度进行,包括调快或者调慢,以使得输出端口推送新增日志的速度与日志接收设备接收新增日志的速度匹配。当第二处理器调节输出端口推送新增日志的速度使其与日志接收设备接收新增日志的速度匹配时,可以控制输出端口先将输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时缓存器中缓存的新增日志推送日志接收设备,以达到提高日志接收设备接收到的日志的完整性和准确性的效果。
作为一种可选的实施例,日志推送服务器还可以包括:第三处理器,可以与本发明实施例中的第二处理器和输出端口相连接,可以用于对新增日志进行格式转换,得到转换后的新增日志,并将转换后的新增日志推送输出端口。
需要说明的是,该实施例中的第三处理器可以分别与第一处理器和输出端口通信连接。节点服务器生成的原始日志中存在很多冗余信息,需要对其进行过滤,第三处理器对第一处理器获取到的新增日志的转换过程可以包括对冗余信息的过滤。此外,用户实际所需的日志格式有很多种,第三处理器对新增日志的转换过程还可以包括按照用户实际需求进行格式拼接,例如,按照用户实际需求进行格式拼接后得到的日志格式参见以下两种举例:
【时间】【线程号】【客户端ip】【Unix时间戳】【GMT时间】【Http method】【url】【url_param】【range】【head_size】【post_size】【文件大小】【mtime】【返回码】【返回头部大小】【发送内容大小(包括头部)】【referer】【host】【user_agent】【cookie】【$connection(clientfd)】【$x_forward_ip】【hit】【via】【server】【location】【accept-language】【accept-charset】【处理时间】【日志抽样比】
【时间】【线程号】【客户端ip】【Http method】【url】【host】【返回码】【请求头部大小】【发送内容大小(包括头部)】【回源IP】【回源延迟】【失败状态(0代表成功)】
还需要说明的是,该实施例中的第三处理器也可以用一个服务器代替。该实施例通过对新增日志进行格式转换,不仅能够去掉冗余信息,提高新增日志的准确度,而且通过根据用户实际需求对新增日志进行格式拼接,能够使得推送给日志接收设备的新增日志更加符合用户实际需求。
本发明还提供了一种优选实施例,图2是根据本发明优选实施例的内容分发网络日志推送系统的示意图,如图2所示,该优选实施例中的内容分发网络日志推送系统可以包括以下几个模块。此处需要说明的是,图2中的箭头代表日志或者消息的传输过程。还需要说明的是,图2中涉及的几个模块中的每个模块均可以是一个服务器或者多个服务器组成的集群。下面将分别对每个模块进行具体介绍:
输入模块10,可以与内容分发网络中的节点服务器通信连接,用于从节点服务器中收集原始日志信息,并可以支持上报、http协议、文件增量获取等多种收集方式。需要说明的是,输入模块可以是一个服务器或者多个服务器组成的集群,输入模块从内容分发网络中的节点服务器收集原始日志信息的过程与本发明上述实施例中日志推送服务器获取新增日志的过程相同,此处不再赘述。
核心模块20,可以与输入模块通信连接,输入模块收集到的日志可以传输给核心模块。核心模块可以是一个服务器或者多个服务器组成的集群。需要说明的是,该核心模块可以作为整个内容分发网络日志推送系统的核心,主要负责日志格式转换、监控集群内部服务器运行状态、任务调度、全局负载均衡、推送数据统计、采用一致性hash实现动态新增服务器、剔除服务器、采用心跳包实时检测服务器运行状态等。具体地,核心模块可以对输入模块传输的原始日志进行格式转换,转换过程已经在本发明上述实施例中进行了具体介绍此处不再赘述。当核心模块是个服务器组成的集群是,核心模块还可以用于监控每个服务器的运行状态,具体采取的方式可以是心跳包实时检测方式,即按照预设时间间隔向每个服务器发送心跳包,若超过预定时间未接收到服务器返回的心跳回包或者超过预定时间服务器未接收到心跳包,则说明该服务器运行异常,此时核心模块可以将该运行异常的服务器进行剔除,以充分保证核心模块和整个日志推送系统的可靠性。核心模块还可以根据需要处理的日志量进行统一的任务调度,控制服务器集群负载均衡,当需要处理的日志量超过预定阈值或者服务器集群中每个服务器的负载量超过一定量时,核心模块可以动态地新增服务器,以达到缓解服务器集群压力,提高整个日志推送系统的可靠性的目的。核心模块还可以统计推送日志的数量以及推送结果,以保证推送日志的完整性和准确性。
缓存模块30,可以分别与核心模块和输出模块通信连接,可以用于在日志接收设备接收日志的速度与输出模块推送日志的速度不匹配时,缓存部分日志,以保证日志接收设备接收的日志的完整性和准确性。此处需要说明的是,缓存模块可以是一个服务器或者多个服务器组成的集群,缓存模块可以通过其内部缓存的日志的数量或者日志长度判断日志接收设备接收日志的速度与输出模块推送日志的速度是否匹配,当缓存模块中缓存的日志的数量或者日志长度超过预定阈值时,可以确定日志接收设备接收日志的速度与输出模块推送日志的速度不匹配,此处为了保证日志接收设备接收到的日志的完整性和准确性,需要对日志接收设备接收日志的速度或输出模块推送日志的速度进行调整,包括调快或者调慢,以使得日志接收设备接收日志的速度与输出模块推送日志的速度匹配,进而达到提高日志接收设备接收到的日志的完整性和准确性的效果。需要说明的是,缓存模块所实现的功能已经在本发明上述实施例中进行了详细介绍,此处不再赘述。
输出模块40,可以与核心模块和缓存模块通信连接,可以用于将日志推送给日志接收设备,并对推送的日志的数据进行统计分析,并上报给核心模块。需要说明的是,输出模块可以是一个服务器或者多个服务器组成的集群,输出模块将日志推送给日志接收设备的具体过程已经在本发明上述实施例中进行了详细介绍,此处不再赘述。
本发明实施例的内容分发网络的日志推送系统可以将CDN日志主动推送给日志接收设备,降低了演示,同时日志接收设备无线处理充分日志的情况,实时性更高,进而降低了客户手机CDN日志的成本。而且,本发明实施例的内容分发网络的日志推送系统采用多机分布式上报,不仅极大提升了上报容量和效率,使得单个服务器不再成为瓶颈,支持水平扩容,当日志量突然增多时,也能实现快速扩容。同时,本发明实施例的内容分发网络的日志推送系统对每个分布式中的服务器进行状态监控,实现异常节点的快速剔除,保证了整个日志推送系统的可靠性。需要说明的是,在实际应用场景中,本发明实施例的内容分发网络的日志推送系统提供的页面上注册日志接收设备的信息,并开启CDN日志上报服务,本发明实施例的内容分发网络的日志推送系统在收到客户注册的信息之后,可以将CDN中节点服务器生成的日志实时推送给指定的接收端,并推送状态、结果记录到系统中。
实施例2
根据本发明实施例,提供了一种内容分发网络日志推送方法的方法实施例。需要说明的是,该实施例的内容分发网络日志推送方法可以应用于本发明实施例1中的任意一种内容分发网络日志推送系统中。
可选地,在本实施例中,上述内容分发网络日志推送方法可以应用于如图3所示的由服务器102和终端104所构成的硬件环境中。如图3所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的内容分发网络日志推送方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的内容分发网络日志推送方法也可以是由安装在其上的客户端来执行。
图4是根据本发明实施例的一种可选的内容分发网络日志推送方法的流程图,如图4所示,该方法可以包括以下步骤:
步骤S202,检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;
步骤S204,在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;
步骤S206,将新增日志推送给日志接收设备。
需要说明的是,上述步骤可以由本发明实施例1中的日志推送服务器执行或者日志推送服务器中的具体结构执行。上述步骤通过实时检测日志记录文件判断内容分发网络中的节点服务器是否生成日志,在生成日志时立即获取并将其推送给日志接收设备,达到了实时地主动推送内容分发网络日志给日志接收设备的目的进而,解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题,实现了提高获取内容分发网络日志的效率的技术效果。
在步骤S202提供的技术方案中,内容分发网路(Content Delivery Network,简称为CDN)能够实时地根据网络流量和各个节点服务器的连接状况、负载状况以及到用户的距离和响应时间等综合信息将用户的请求消息重新导向离用户最近的节点服务器上,其目的是使用户可就近取得所需内容,解决互联网网络拥挤的状况,提高用户访问网站的响应速度。CDN中的多个节点服务器可以分布式布置,每个节点服务器均可以用于接收用户的请求消息,并根据接收到的请求消息生成日志,其中,请求消息可以用于请求网络资源。以第一节点服务器为例,其中,内容分发网络中的多个节点服务器包括第一节点服务器,第一节点服务器可以理解为内容分发网络中的任意一个节点服务器。第一节点服务器在接收到用户的请求消息后,可以根据接收到的请求消息生成日志,该日志为CDN日志,也即CDN中的节点服务器在接收到用户请求时根据用户请求生成的日志。CDN日志中可以包括大量信息,例如,所请求的客户端IP和客户端标识、请求的URL、发送数据大小、HTTP返回码、请求处理时间等信息。第一节点服务器根据请求消息生成的日志可以保存在日志记录文件中,其中,日志记录文件可以存储在第一节点服务器中,用于记录第一节点服务器根据接收到的请求消息所生成的CDN日志。此处需要说明的是,每当第一节点服务器接收到一条请求消息,就可以根据接收到的请求消息新生成日志,该新生成的日志可以保存在日志记录文件中,也就是说,每当第一节点服务器新生成日志时,日志记录文件完成一次更新,以达到日志记录文件中保存的日志的完整性和准确性的目的。
日志推送服务器可以通过检测日志记录文件是否有更新来判断内容分发网络中的节点服务器是否新生成日志。作为一种可选的实施例,日志推送服务器可以通过判断日志记录文件的修改时间是否发生变化,或者,判断日志记录文件的大小是否发生变化,来检测日志记录文件是否有更新。在日志推送服务器判断出日志记录文件的修改时间发生变化或者日志记录文件的大小发生变化时,可以确定日志记录文件有更新。需要说明的是,本发明实施例还可以通过其他判断条件检测日志记录文件是否有更新,此处不做一一举例说明。还需要说明的是,步骤S202可以由本发明实施例1中的第一处理器执行。
在步骤S204提供的技术方案中,当日志推送服务器检测到日志记录文件有更新时,日志推送服务器可以从日志记录文件中获取第一标记指示的新增文件,其中,第一标记可以用于指示日志记录文件中新增日志的位置。需要说明的是,日志记录文件中可以存在多个标记,其中,多个标记中包括第一标记,每个标记可以用于指示一条日志,也即日志记录文件中每新增一条日志时,可以在该新增日志的起始位置处设置标记,以便于日志推送服务器能够快速准确地获取新增日志。还需要说明的是,步骤S204页可以由本发明实施例1中的第一处理器执行。
在步骤S206提供的技术方案中,日志推送服务器在从日志记录文件中获取到第一标记指示的新增日志之后,可以将其主动推送给日志接收设备,其中,日志接收设备可以是服务器。需要说明的是,日志推送服务器可以与日志接收设备通信连接,利用该通信连接可以进行数据交互,例如利用该通信连接日志推送服务器可以将获取到的新增日志推送给日志接收设备。此处需要说明的是,日志推送服务器向日志接收设备推送新增日志时可以采用以下任意一种方式:每检测到一条新增日志立即将其推送给日志接收设备,这样能够提高日志的实时性;缓存新增日志,待缓存的新增日志的数量达到预设阈值时,将缓存的这些新增日志一并推送给日志接收设备,这样虽然降低了日志的实时性,但是一并发送多条新增日志能够减少网络资源的消耗。还需要说明的是,日志接收设备可以是用户预先指定的设备,日志接收设备可以包括但并不限于PC、手机、平板电脑等。用户可以预先设置日志接收指示信息并将其发送给日志推送服务器,日志推送服务器在接收到日志接收指示信息之后,可以对其进行解析以确定该日志接收指示信息所指示的日志接收设备,以便于日志推送服务器在获取到新增日志之后将其推送给该日志接收指示信息所指示的日志接收设备。还需要说明的是,步骤S206可以由本发明实施例1中的输出端口执行。
本发明实施例的内容分发网络日志推送方法通过在检测内容分发网络中的节点服务器新生成日志时,将新生成的日志主动推送给日志接收设备,达到了实时地主动推送内容分发网络日志给日志接收设备的目的,进而解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题,实现了提高获取内容分发网络日志的效率的技术效果。
作为一种可选的实施例,在步骤S206将新增日志推送给日志接收设备之前,该实施例还可以包括:步骤S2051,获取预先设置的日志接收指示信息,其中,日志接收指示信息用于指示日志接收设备。相应地,步骤S206将新增日志推送给日志接收设备可以包括:步骤S2061,将新增日志推送给日志接收指示信息所指示的日志接收设备。
需要说明的是,日志接收信息可以为用户根据实际需求预先设置的信息,用户可以利用输入设备(例如键盘、鼠标等)输入日志接收信息,用户输入的日志接收信息可以用于指示日志接收设备,本发明实施例可以根据接收到的日志接收信息将新增日志推送给日志接收指示信息所指示的日志接收设备。还需要说明的是,步骤S2051可以由本发明实施例1中的输入端口执行,S2061可以由本发明实施例1中的输出端口执行。
该实施例通过获取预先设置的用于指示日志接收设备的日志接收指示信息,新增日志比较明确地推送给日志接收指示信息所指示的日志接收设备,不仅符合用户实际需求,而且避免了因无法预先得到日志接收设备导致日志延迟推送的问题,有效地提高了获取内容分发网络日志的效率。
作为一种可选的实施例,在步骤S206将新增日志推送给日志接收设备之后,该实施例还可以包括以下步骤:
步骤S208,判断接收到日志接收设备返回的确认消息的时间是否超过预定时间,其中,确认消息用于指示日志接收设备是否成功接收到新增日志;
步骤S210,在判断出接收到日志接收设备返回的确认消息的时间超过预定时间时,确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,并缓存新增日志。
需要说明的是,日志接收设备在接收到输出端口推送的新增日志之后,可以向日志推送服务器返回确认消息,该确认消息用于通知日志推送服务器是否成功接收到新增日志。该实施例可以通过判断接收到确认消息的时间是否超过预定时间来确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度是否匹配,其中,预定时间可以根据实际需求进行设定,当接收到确认消息的时间超过预定时间时,可以确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,此时有可能会造成日志接收设备遗漏新增日志,导致接收到的日志不完整、不准确;当接收到确认消息的时间未超过预定时间时,可以确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度匹配,此时日志接收设备能够顺畅的接收新增日志。为了保证日志接收设备接收到的新增日志的完整性和准确性,该实施例中可以分别与第二处理器和输出端口通信连接,可以在输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,缓存新增日志,以达到避免遗漏新增日志的问题,进而保证日志接收设备接收到的新增日志的完整性和准确性。还需要说明的是,步骤S208可以由本发明实施例1中的第二处理器执行,步骤S210可以由本发明实施例1中的缓存器执行。
该实施例通过判断输出端口推送新增日志的速度与日志接收设备接收新增日志的速度是否匹配,在不匹配时利用缓存器缓存新增日志,能够避免因两者速度不匹配导致的日志接收设备遗漏新增日志的情形,进而达到了提高日志接收设备接收到的日志的完整性和准确性的效果。
作为一种可选的实施例,在确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,该实施例还可以包括以下步骤:
步骤S212,调节推送新增日志的速度与日志接收设备接收新增日志的速度匹配;
步骤S214,将缓存的新增日志推送给日志接收设备。
需要说明的是,步骤S212和步骤S214可以由本发明实施例1中的第二处理器执行。当输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,此时有可能会造成日志接收设备遗漏新增日志,导致接收到的日志不完整、不准确,为了避免上述问题,该实施例在确定输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配之后,可以调节输出端口推送新增日志的速度进行,包括调快或者调慢,以使得输出端口推送新增日志的速度与日志接收设备接收新增日志的速度匹配。当调节输出端口推送新增日志的速度使其与日志接收设备接收新增日志的速度匹配之后,可以先将输出端口推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时缓存器中缓存的新增日志推送日志接收设备,以达到提高日志接收设备接收到的日志的完整性和准确性的效果。
作为一种可选的实施例,在步骤S204检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志之后,该实施例还可以包括:步骤S2052,对新增日志进行格式转换,得到转换后的新增日志。相应地,步骤S206将新增日志推送给日志接收设备可以包括:步骤S2062,将转换后的新增日志推送给日志接收设备。
需要说明的是,步骤S2052可以由本发明实施例1中的第三处理器执行,步骤S2062可以由本发明实施例1中的输出端口执行。节点服务器生成的原始日志中存在很多冗余信息,需要对其进行过滤,第三处理器对第一处理器获取到的新增日志的转换过程可以包括对冗余信息的过滤。此外,用户实际所需的日志格式有很多种,第三处理器对新增日志的转换过程还可以包括按照用户实际需求进行格式拼接,例如,按照用户实际需求进行格式拼接后得到的日志格式参见以下两种举例:
【时间】【线程号】【客户端ip】【Unix时间戳】【GMT时间】【Http method】【url】【url_param】【range】【head_size】【post_size】【文件大小】【mtime】【返回码】【返回头部大小】【发送内容大小(包括头部)】【referer】【host】【user_agent】【cookie】【$connection(clientfd)】【$x_forward_ip】【hit】【via】【server】【location】【accept-language】【accept-charset】【处理时间】【日志抽样比】
【时间】【线程号】【客户端ip】【Http method】【url】【host】【返回码】【请求头部大小】【发送内容大小(包括头部)】【回源IP】【回源延迟】【失败状态(0代表成功)】
该实施例通过对新增日志进行格式转换,不仅能够去掉冗余信息,提高新增日志的准确度,而且通过根据用户实际需求对新增日志进行格式拼接,能够使得推送给日志接收设备的新增日志更加符合用户实际需求。
作为一种可选的实施例,在步骤S202检测日志记录文件是否有更新之前,该实施例还可以包括:步骤S2012,设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接,其中,多个节点服务器包括第一节点服务器,日志推送服务器用于将与其通信连接的节点服务器所生成的日志推送给日志接收设备。
需要说明的是,该实施例设置多个日志推送服务器,且这些日志妥善那个服务器可以分布式布置,多个日志推送服务器可以与内容分发网络中的多个节点服务器通信连接,每个日志推送服务器均可以利用通信连接从节点服务器中获取新增日志,并将其推送给日志接收设备。该实施例通过时何止多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接,能够极大地提升日志上报容量和效率。
作为一种可选的实施例,在步骤S2012设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,该实施例还可以包括以下步骤:
步骤S2014,检测多个日志推送服务器的运行状态;
步骤S2016,从多个日志推送服务器中剔除运行异常的日志推送服务器。
需要说明的是,该实施例可以监控每个日志推送服务器的运行状态,具体采取的方式可以是心跳包实时检测方式,即按照预设时间间隔向每个日志推送服务器发送心跳包,若超过预定时间未接收到日志推送服务器返回的心跳回包或者超过预定时间日志推送服务器未接收到心跳包,则说明该日志推送服务器运行异常,此时该实施例可以将该运行异常的日志推送服务器进行剔除,以充分保证将日志推送给日志接收设备的高可靠性。
作为一种可选的实施例,在步骤S2012设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,该实施例还可以包括以下步骤:
步骤S2013,检测多个日志推送服务器的负载量是否超过预定阈值;
步骤S2015,在检测到多个日志推送服务器的负载量超过预定阈值时,增加日志推送服务器至多个日志推送服务器中。
需要说明的是,日志推送服务器的负载量可以为处理日志的数量,当检测到多个日志推送服务器的负载量超过预定阈值时,其中,预定阈值可以根据实际需求进行设定,也就是说多个日志推送服务器已经不能满足现有的需要处理的日志数量,此时该实施例可以通过增加日志推送服务器的方式来缓解处理压力,以达到保证对日志处理的效率。可选地,该实施例还可以在检测到多个日志推送服务器的负载量都不足某一预定阈值时,可以减少日志推送服务器,进而较少不必要的资源浪费,节约成本。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述内容分发网络日志推送方法的内容分发网络日志推送装置。图5是根据本发明实施例的一种可选的内容分发网络日志推送装置的示意图,如图5所示,该装置可以包括:
第一检测单元22,用于检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;第一获取单元24,用于在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;以及第一推送单元26,用于将新增日志推送给日志接收设备。
需要说明的是,该实施例中的第一检测单元22可以用于执行本申请实施例2中的步骤S202,该实施例中的第一获取单元24可以用于执行本申请实施例2中的步骤S204,该实施例中的第一推送单元26可以用于执行本申请实施例2中的步骤S206。
作为一种可选的实施例,如图6所示,该内容分发网络日志推送装置还可以包括:第二获取单元251,用于在将新增日志推送给日志接收设备之前,获取预先设置的日志接收指示信息,其中,日志接收指示信息用于指示日志接收设备;第一推送单元26可以包括:第一推送模块261,用于将新增日志推送给日志接收指示信息所指示的日志接收设备。
需要说明的是,该实施例中的第二获取单元251可以用于执行本申请实施例2中的步骤S2051,该实施例中的第一推送模块261可以用于执行本申请实施例2中的步骤S2061。
作为一种可选的实施例,如图7所示,该内容分发网络日志推送装置还可以包括:判断单元28,用于在将新增日志推送给日志接收设备之后,判断接收到日志接收设备返回的确认消息的时间是否超过预定时间,其中,确认消息用于指示日志接收设备是否成功接收到新增日志;缓存单元210,用于在判断出接收到日志接收设备返回的确认消息的时间超过预定时间时,确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,并缓存新增日志。
需要说明的是,该实施例中的判断单元28可以用于执行本申请实施例2中的步骤S208,该实施例中的缓存单元210可以用于执行本申请实施例2中的步骤S210。
作为一种可选的实施例,如图8所示,该内容分发网络日志推送装置还可以包括:调节单元212,用于在确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,调节推送新增日志的速度与日志接收设备接收新增日志的速度匹配;第二推送单元214,用于将缓存的新增日志推送给日志接收设备。
需要说明的是,该实施例中的调节单元212可以用于执行本申请实施例2中的步骤S212,该实施例中的第二推送单元214可以用于执行本申请实施例2中的步骤S214。
作为一种可选的实施例,如图9所示,第一检测单元22可以包括:第一判断模块222,用于判断日志记录文件的修改时间是否发生变化;第二判断模块224,用于判断日志记录文件的大小是否发生变化。
需要说明的是,该实施例中的第一判断模块222可以用于执行本申请实施例2中的步骤S2022,该实施例中的第二判断模块224可以用于执行本申请实施例2中的步骤S2024。
作为一种可选的实施例,如图10所示,该内容分发网络日志推送装置还可以包括:转换单元252,用于在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志之后,对新增日志进行格式转换,得到转换后的新增日志;第一推送单元26可以包括:第二推送模块262,用于将转换后的新增日志推送给日志接收设备。
需要说明的是,该实施例中的转换单元252可以用于执行本申请实施例2中的步骤S2052,该实施例中的第二推送模块262可以用于执行本申请实施例2中的步骤S2062。
作为一种可选的实施例,如图11所示,该内容分发网络日志推送装置还可以包括:设置单元212,用于在检测日志记录文件是否有更新之前,设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接,其中,多个节点服务器包括第一节点服务器,日志推送服务器用于将与其通信连接的节点服务器所生成的日志推送给日志接收设备。
需要说明的是,该实施例中的设置单元212可以用于执行本申请实施例2中的步骤S212。
作为一种可选的实施例,如图12所示,该内容分发网络日志推送装置还可以包括:第二检测单元214,用于在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的运行状态;剔除单元216,用于从多个日志推送服务器中剔除运行异常的日志推送服务器。
需要说明的是,该实施例中的第二检测单元214可以用于执行本申请实施例2中的步骤S214,该实施例中的剔除单元216可以用于执行本申请实施例2中的步骤S216。
作为一种可选的实施例,如图13所示,该内容分发网络日志推送装置还可以包括:第三检测单元213,用于在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的负载量是否超过预定阈值;增加单元215,用于在检测到多个日志推送服务器的负载量超过预定阈值时,增加日志推送服务器至多个日志推送服务器中。
需要说明的是,该实施例中的第三检测单元213可以用于执行本申请实施例2中的步骤S213,该实施例中的增加单元215可以用于执行本申请实施例2中的步骤S2115。
通过上述模块,可以达到实时地主动推送内容分发网络日志给日志接收设备的目的,进而解决相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题,实现提高获取内容分发网络日志的效率的技术效果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图3所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
实施例4
根据本发明实施例,还提供了一种用于实施上述内容分发网络日志推送方法的服务器或终端。
图14是根据本发明实施例的一种终端的结构框图,如图14所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图14所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的内容分发网络日志推送方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的内容分发网络日志推送方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;以及将新增日志推送给日志接收设备。
处理器201还用于执行下述步骤:在将新增日志推送给日志接收设备之前,获取预先设置的日志接收指示信息,其中,日志接收指示信息用于指示日志接收设备;将新增日志推送给日志接收指示信息所指示的日志接收设备。
处理器201还用于执行下述步骤:在将新增日志推送给日志接收设备之后,判断接收到日志接收设备返回的确认消息的时间是否超过预定时间,其中,确认消息用于指示日志接收设备是否成功接收到新增日志;在判断出接收到日志接收设备返回的确认消息的时间超过预定时间时,确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,并缓存新增日志。
处理器201还用于执行下述步骤:在确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,调节推送新增日志的速度与日志接收设备接收新增日志的速度匹配;将缓存的新增日志推送给日志接收设备。
处理器201还用于执行下述步骤:判断日志记录文件的修改时间是否发生变化;或者,判断日志记录文件的大小是否发生变化。
处理器201还用于执行下述步骤:在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志之后,对新增日志进行格式转换,得到转换后的新增日志;将转换后的新增日志推送给日志接收设备。
处理器201还用于执行下述步骤:在检测日志记录文件是否有更新之前,设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接,其中,多个节点服务器包括第一节点服务器,日志推送服务器用于将与其通信连接的节点服务器所生成的日志推送给日志接收设备。
处理器201还用于执行下述步骤:在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的运行状态;从多个日志推送服务器中剔除运行异常的日志推送服务器。
处理器201还用于执行下述步骤:在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的负载量是否超过预定阈值;在检测到多个日志推送服务器的负载量超过预定阈值时,增加日志推送服务器至多个日志推送服务器中。
采用本发明实施例,提供了一种内容分发网络日志推送的方案。通过实时检测日志记录文件判断内容分发网络中的节点服务器是否生成日志,在生成日志时立即获取并将其推送给日志接收设备,达到了实时地主动推送内容分发网络日志给日志接收设备的目的,进而解决了相关技术将内容分发网络日志存储在特定位置,需要从该特定位置获取内容分发网络日志,导致获取效率较低的技术问题,实现了提高获取内容分发网络日志的效率的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例1至实施例3中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图14所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图14其并不对上述电子装置的结构造成限定。例如,终端还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行内容分发网络日志推送方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,检测日志记录文件是否有更新,其中,日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;
S2,在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志,其中,第一标记用于指示日志记录文件中新增日志的位置;
S3,将新增日志推送给日志接收设备。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将新增日志推送给日志接收设备之前,获取预先设置的日志接收指示信息,其中,日志接收指示信息用于指示日志接收设备;将新增日志推送给日志接收指示信息所指示的日志接收设备。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将新增日志推送给日志接收设备之后,判断接收到日志接收设备返回的确认消息的时间是否超过预定时间,其中,确认消息用于指示日志接收设备是否成功接收到新增日志;在判断出接收到日志接收设备返回的确认消息的时间超过预定时间时,确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配,并缓存新增日志。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在确定推送新增日志的速度与日志接收设备接收新增日志的速度不匹配时,调节推送新增日志的速度与日志接收设备接收新增日志的速度匹配;将缓存的新增日志推送给日志接收设备。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:判断日志记录文件的修改时间是否发生变化;或者,判断日志记录文件的大小是否发生变化。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测到日志记录文件有更新时,从日志记录文件中获取第一标记指示的新增日志之后,对新增日志进行格式转换,得到转换后的新增日志;将转换后的新增日志推送给日志接收设备。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测日志记录文件是否有更新之前,设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接,其中,多个节点服务器包括第一节点服务器,日志推送服务器用于将与其通信连接的节点服务器所生成的日志推送给日志接收设备。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的运行状态;从多个日志推送服务器中剔除运行异常的日志推送服务器。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在设置多个日志推送服务器分别与内容分发网络中的多个节点服务器通信连接之后,检测多个日志推送服务器的负载量是否超过预定阈值;在检测到多个日志推送服务器的负载量超过预定阈值时,增加日志推送服务器至多个日志推送服务器中。
可选地,本实施例中的具体示例可以参考上述实施例1至实施例3中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种内容分发网络日志推送方法,其特征在于,包括:
检测日志记录文件是否有更新,其中,所述日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;
在检测到所述日志记录文件有更新时,从所述日志记录文件中获取第一标记指示的新增日志,其中,所述第一标记用于指示所述日志记录文件中所述新增日志的位置;
以及将所述新增日志推送给日志接收设备。
2.根据权利要求1所述的方法,其特征在于,
在将所述新增日志推送给日志接收设备之前,所述方法还包括:获取预先设置的日志接收指示信息,其中,所述日志接收指示信息用于指示所述日志接收设备;
将所述新增日志推送给日志接收设备包括:将所述新增日志推送给所述日志接收指示信息所指示的所述日志接收设备。
3.根据权利要求1所述的方法,其特征在于,在将所述新增日志推送给日志接收设备之后,所述方法还包括:
判断接收到所述日志接收设备返回的确认消息的时间是否超过预定时间,其中,所述确认消息用于指示所述日志接收设备是否成功接收到所述新增日志;
在判断出接收到所述日志接收设备返回的所述确认消息的时间超过所述预定时间时,确定推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度不匹配,并缓存所述新增日志。
4.根据权利要求3所述的方法,其特征在于,在确定推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度不匹配时,所述方法还包括:
调节推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度匹配;
将缓存的所述新增日志推送给所述日志接收设备。
5.根据权利要求1所述的方法,其特征在于,检测日志记录文件是否有更新包括:
判断所述日志记录文件的修改时间是否发生变化;或者,
判断所述日志记录文件的大小是否发生变化。
6.根据权利要求1所述的方法,其特征在于,
在检测到所述日志记录文件有更新时,从所述日志记录文件中获取第一标记指示的新增日志之后,所述方法还包括:对所述新增日志进行格式转换,得到转换后的新增日志;
将所述新增日志推送给日志接收设备包括:将所述转换后的新增日志推送给所述日志接收设备。
7.根据权利要求1所述的方法,其特征在于,在检测日志记录文件是否有更新之前,所述方法还包括:
设置多个日志推送服务器分别与所述内容分发网络中的多个节点服务器通信连接,其中,所述多个节点服务器包括所述第一节点服务器,所述日志推送服务器用于将与其通信连接的节点服务器所生成的日志推送给所述日志接收设备。
8.根据权利要求7所述的方法,其特征在于,在设置多个日志推送服务器分别与所述内容分发网络中的多个节点服务器通信连接之后,所述方法还包括:
检测所述多个日志推送服务器的运行状态;
从所述多个日志推送服务器中剔除运行异常的日志推送服务器。
9.根据权利要求7所述的方法,其特征在于,在设置多个日志推送服务器分别与所述内容分发网络中的多个节点服务器通信连接之后,所述方法还包括:
检测所述多个日志推送服务器的负载量是否超过预定阈值;
在检测到所述多个日志推送服务器的负载量超过所述预定阈值时,增加日志推送服务器至所述多个日志推送服务器中。
10.一种内容分发网络日志推送系统,其特征在于,包括:
多个日志推送服务器,分别与内容分发网络中的多个节点服务器通信连接,用于检测日志记录文件是否有更新,其中,所述日志记录文件用于记录所述内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志,所述多个节点服务器包括所述第一节点服务器;在检测到所述日志记录文件有更新时,从所述日志记录文件中获取第一标记指示的新增日志,其中,所述第一标记用于指示所述日志记录文件中所述新增日志的位置;将所述新增日志推送给日志接收设备。
11.根据权利要求10所述的系统,其特征在于,所述日志推送服务器包括:
第一处理器,用于检测所述日志记录文件是否有更新;在检测到所述日志记录文件有更新时,获取所述第一标记指示的所述新增日志;
输出端口,用于将所述新增日志推送给所述日志接收设备。
12.根据权利要求11所述的系统,其特征在于,所述日志推送服务器还包括:
输入端口,用于获取预先设置的日志接收指示信息,其中,所述日志接收指示信息用于指示所述日志接收设备,所述输出端口用于将所述新增日志推送给所述日志接收指示信息所指示的所述日志接收设备。
13.根据权利要求11所述的系统,其特征在于,所述日志推送服务器还包括:
第二处理器,用于通过判断接收到所述日志接收设备返回的确认消息的时间是否超过预定时间,确定所述输出端口推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度是否匹配,其中,所述确认消息用于指示所述日志接收设备是否成功接收到所述新增日志;
缓存器,用于在所述第二处理器确定所述输出端口推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度不匹配时,缓存所述新增日志。
14.根据权利要求13所述的系统,其特征在于,所述第二处理器用于在确定所述输出端口推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度不匹配时,调节所述输出端口推送所述新增日志的速度与所述日志接收设备接收所述新增日志的速度匹配,并控制所述输出端口将缓存的所述新增日志推送给所述日志接收设备。
15.根据权利要求11所述的系统,其特征在于,所述日志推送服务器还包括:
第三处理器,用于对所述新增日志进行格式转换,得到转换后的新增日志,并将所述转换后的新增日志推送所述输出端口。
16.根据权利要求10至15中任一项所述的系统,其特征在于,所述多个日志推送服务器分布式布置。
17.一种内容分发网络日志推送装置,其特征在于,包括:
检测模块,用于检测日志记录文件是否有更新,其中,所述日志记录文件用于记录内容分发网络中的第一节点服务器根据接收到的请求消息生成的日志;
推送模块,用于在检测到所述日志记录文件有更新时,从所述日志记录文件中获取第一标记指示的新增日志,其中,所述第一标记用于指示所述日志记录文件中所述新增日志的位置;
接收模块,用于将所述新增日志推送给日志接收设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581707.5A CN106101264B (zh) | 2016-07-20 | 2016-07-20 | 内容分发网络日志推送方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610581707.5A CN106101264B (zh) | 2016-07-20 | 2016-07-20 | 内容分发网络日志推送方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101264A CN106101264A (zh) | 2016-11-09 |
CN106101264B true CN106101264B (zh) | 2019-05-24 |
Family
ID=57449649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610581707.5A Active CN106101264B (zh) | 2016-07-20 | 2016-07-20 | 内容分发网络日志推送方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101264B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107087037A (zh) * | 2017-06-30 | 2017-08-22 | 郑州云海信息技术有限公司 | 一种rest主动推送方法及装置 |
CN110545296A (zh) * | 2018-05-28 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 一种日志数据获取方法、装置及其设备 |
CN111245666B (zh) | 2018-11-29 | 2022-12-06 | 华为技术有限公司 | 数据传输方法、装置及系统 |
CN111258964A (zh) * | 2018-12-03 | 2020-06-09 | 北京京东尚科信息技术有限公司 | 日志处理方法及装置、存储介质、电子设备 |
CN109933569B (zh) * | 2019-01-28 | 2024-03-19 | 平安科技(深圳)有限公司 | 一种文件的合并方法、文件的打开方法及相关设备 |
CN109918106B (zh) * | 2019-02-21 | 2022-05-17 | 广东星辉天拓互动娱乐有限公司 | 一种混合cdn统一源站自动刷新方法及系统 |
CN112685375B (zh) * | 2019-10-18 | 2023-04-28 | 上海哔哩哔哩科技有限公司 | 基于cdn的日志分析方法及装置 |
CN112688980B (zh) * | 2019-10-18 | 2022-10-25 | 上海哔哩哔哩科技有限公司 | 资源分发方法、装置、计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780777A (zh) * | 2012-07-19 | 2012-11-14 | 北京蓝汛通信技术有限责任公司 | 一种日志收集方法及系统 |
CN103001967A (zh) * | 2012-12-13 | 2013-03-27 | 北京奇虎科技有限公司 | 源站服务器和业务推送方法 |
CN104881326A (zh) * | 2015-05-26 | 2015-09-02 | 上海帝联信息科技股份有限公司 | 日志文件处理方法及装置 |
CN105095358A (zh) * | 2015-06-24 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种数据库操作日志获取方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335406B (zh) * | 2014-07-30 | 2018-10-02 | 阿里巴巴集团控股有限公司 | 日志数据处理方法及装置 |
-
2016
- 2016-07-20 CN CN201610581707.5A patent/CN106101264B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780777A (zh) * | 2012-07-19 | 2012-11-14 | 北京蓝汛通信技术有限责任公司 | 一种日志收集方法及系统 |
CN103001967A (zh) * | 2012-12-13 | 2013-03-27 | 北京奇虎科技有限公司 | 源站服务器和业务推送方法 |
CN104881326A (zh) * | 2015-05-26 | 2015-09-02 | 上海帝联信息科技股份有限公司 | 日志文件处理方法及装置 |
CN105095358A (zh) * | 2015-06-24 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种数据库操作日志获取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106101264A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101264B (zh) | 内容分发网络日志推送方法、装置和系统 | |
US10812358B2 (en) | Performance-based content delivery | |
CN106549878B (zh) | 一种业务分流方法和装置 | |
US10027739B1 (en) | Performance-based content delivery | |
CN105338026B (zh) | 数据资源的获取方法、装置和系统 | |
CN107682397B (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
CN106330997B (zh) | 一种用于移动终端应用的内容分发的方法和系统 | |
CN107071399B (zh) | 一种加密视频流的质量评估方法及装置 | |
CN100563214C (zh) | 一种提高访问网络资源速度的方法及系统 | |
CN107181804B (zh) | 资源的下载方法和装置 | |
CN110347501A (zh) | 一种业务检测方法、装置、存储介质及电子设备 | |
CN108270860A (zh) | 环境质量在线监测数据的采集系统及方法 | |
CN108718347A (zh) | 一种域名解析方法、系统、装置及存储介质 | |
CN110430274A (zh) | 一种基于云存储的文件下载方法及系统 | |
CN108600300A (zh) | 日志数据处理方法及装置 | |
CN103401946A (zh) | Http上传加速方法和系统 | |
CN109327511A (zh) | 一种基于http协议的数据请求方法和服务器 | |
CN106878107A (zh) | 基于Linux内核驱动的网络带宽测速方法 | |
CN103248636B (zh) | 离线下载的系统及方法 | |
CN109213742A (zh) | 日志采集方法及装置 | |
CN105281987B (zh) | 路由器及数据上传方法、装置、系统 | |
CN105812833A (zh) | 文件处理方法和装置 | |
CN103795642B (zh) | 一种负载均衡的方法及装置 | |
CN106797384A (zh) | 以不同的协议将请求路由到集群中的相同端点 | |
CN105681266B (zh) | 一种多媒体电话MMTel的通讯集群方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211008 Address after: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |