CN108234210A - 一种内容分发网络的日志处理方法和装置 - Google Patents

一种内容分发网络的日志处理方法和装置 Download PDF

Info

Publication number
CN108234210A
CN108234210A CN201711490056.XA CN201711490056A CN108234210A CN 108234210 A CN108234210 A CN 108234210A CN 201711490056 A CN201711490056 A CN 201711490056A CN 108234210 A CN108234210 A CN 108234210A
Authority
CN
China
Prior art keywords
data
target data
consumer
statistics
subscribing
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.)
Pending
Application number
CN201711490056.XA
Other languages
English (en)
Inventor
杨银波
胡广磊
邓志国
郑中山
常兴亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711490056.XA priority Critical patent/CN108234210A/zh
Publication of CN108234210A publication Critical patent/CN108234210A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种内容分发网络CDN的日志处理方法和装置,该方法包括:采集多个内容分发网络CDN的多种日志文件;按照预设的协议标准从所述多种日志文件中生成多条目标数据;根据所述多条目标数据统计业务数据。逻辑架构清晰,简化了日志文件的处理逻辑,统一了不同内容分发网络CDN的日志数据,提高了数据统计灵活性,可扩展、可运维、服务质量高。

Description

一种内容分发网络的日志处理方法和装置
技术领域
本发明涉及计算机处理的技术领域,特别是涉及一种内容分发网络CDN的日志处理方法和一种内容分发网络CDN的日志处理装置。
背景技术
在网站中经常使用CDN(Content Delivery Network,内容分发网络)对数据进行传输,CDN是通过在现有的网络中增加一层新的网络结构,部署有多个节点,用于缓存数据,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据,提供相应的服务。
在一些大型网站中,除了自身部署CDN之外,还可能融合第三方的CDN,每个CDN的日志格式、上报粒度、延迟周期均可能不同,导致日志处理逻辑复杂,统计指标可控性差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种内容分发网络CDN的日志处理方法和相应的一种内容分发网络CDN的日志处理装置。
依据本发明的一个方面,提供了一种内容分发网络CDN的日志处理方法,包括:
采集多个内容分发网络CDN的多种日志文件;
按照预设的协议标准从所述多种日志文件中生成多条目标数据;
根据所述多条目标数据统计业务数据。
可选地,所述采集多个内容分发网络CDN的多种日志文件,包括:
从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
可选地,所述按照预设的协议标准从所述多种日志文件中生成多条目标数据,包括:
从所述多中日志文件中提取指定类型的多条日志数据;
按照预设的协议标准将所述多条日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
可选地,所述根据所述多条目标数据统计业务数据,包括:
将所述多条目标数据写入消息队列中;
由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
可选地,所述由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据,包括:
由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
可选地,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据,包括:
由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
可选地,所述根据所述目标数据统计业务数据,还包括:
对所述目标数据设置失效时间;
当到达所述失效时间时,从所述消息队列中删除所述目标数据。
可选地,还包括:
从预设的查询接口接收查询请求;
根据所述查询请求从业务数据中选取候选数据;
采用所述候选数据生成查询结果。
可选地,所述根据所述查询请求从业务数据中选取候选数据,包括:
从所述查询请求中提取查询类型、查询条件;
查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
可选地,所述采用所述候选数据生成查询结果,包括:
将所述候选数据按照所述查询条件聚合为查询结果。
根据本发明的另一方面,提供了一种内容分发网络CDN的日志处理装置,包括:
日志文件采集模块,用于采集多个内容分发网络CDN的多种日志文件;
目标数据生成模块,用于按照预设的协议标准从所述多种日志文件中生成目标数据;
业务数据统计模块,用于根据所述多条目标数据统计业务数据。
可选地,所述日志文件采集模块包括:
日志文件接收子模块,用于从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
日志文件拉取子模块,用于调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
可选地,所述目标数据生成模块包括:
日志数据提取子模块,用于从所述多中日志文件中提取指定类型的多条日志数据;
日志数据转换子模块,用于按照预设的协议标准将所述日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
可选地,所述业务数据统计模块包括:
消息队列写入子模块,用于将所述目标数据写入消息队列中;
目标数据提取子模块,用于由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
维度统计子模块,用于由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
可选地,所述目标数据提取子模块包括:
类型提取单元,用于由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
可选地,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述维度统计子模块包括:
第一统计单元,用于由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
第二统计单元,用于由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
第三统计单元,用于由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
可选地,所述业务数据统计模块还包括:
失效时间设置子模块,用于对所述目标数据设置失效时间;
目标数据删除子模块,用于当到达所述失效时间时,从所述消息队列中删除所述目标数据。
可选地,还包括:
查询请求接收模块,用于从预设的查询接口接收查询请求;
候选数据选取模块,用于根据所述查询请求从业务数据中选取候选数据;
查询结果生成模块,用于采用所述候选数据生成查询结果。
可选地,所述候选数据选取模块包括:
查询参数提取子模块,用于从所述查询请求中提取查询类型、查询条件;
业务数据匹配子模块,用于查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
可选地,所述查询结果生成模块包括:
聚合子模块,用于将所述候选数据按照所述查询条件聚合为查询结果。
本发明实施例采集多个内容分发网络CDN的多种日志文件,按照预设的协议标准从多种日志文件中生成目标数据,根据目标数据统计业务数据,逻辑架构清晰,简化了日志文件的处理逻辑,统一了不同内容分发网络CDN的日志数据,提高了数据统计灵活性,可扩展、可运维、服务质量高。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种内容分发网络CDN的日志处理方法实施例的步骤示意流程图;
图2示出了根据本发明一个实施例的一种内容分发网络CDN的结构示意图;
图3示出了根据本发明一个实施例的另一种内容分发网络CDN的日志处理方法实施例的步骤示意流程图;以及
图4示出了根据本发明一个实施例的一种内容分发网络CDN的日志处理装置实施例的结构示意框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种内容分发网络CDN的日志处理方法实施例的步骤示意流程图,具体可以包括如下步骤:
步骤101,采集多个内容分发网络CDN的多种日志文件;
在内容分发网络CDN中,通常具有多个用于传输、缓存数据(如直播流、缓存数据等)的节点,在某个节点接收到客户端、源网站的数据(如直播流、缓存数据等)之后,可以推送至其他节点,在用户访问数据(如直播流、缓存数据等)的时候,通过调度将用户的请求路由或者引导到离用户接入网络最近或者访问效果最佳的节点上,由该节点为用户提供数据(如直播流、缓存数据等);相对于直接访问源网站,这种方式缩短了用户和数据(如直播流、缓存数据等)之间的网络距离,从而达到加速的效果。
需要说明的是,在不同的内容分发网络CDN中,拓扑结构可能有所不同。
在一种实施方式中,内容分发网络CDN的多个节点包括中心节点、父层节点、边缘节点。
在某些情况下,中心节点为资源的超汇聚节点,可以与源网站进行通信,汇聚了大量源网站的资源,这些资源一般为变化较少的资源,例如,视频、图片等等。
在某些情况下,中心节点仅保存文件信息,如URL(Uniform ResourceLocator,统一资源定位符)、大小等,并不直接缓存文件,内容分发网络CDN中的其他节点从该中心节点中获取待缓存的文件的文件信息,在缓存完该文件之后,上报至中心节点,中心节点统计出其他节点缓存的文件。
需要说明的是,在某些内容分发网络CDN中可以部署中心节点,即该部分内容分发网络CDN为中心节点-父层节点-边缘节点的三层结构,在某些内容分发网络CDN中可以不部署中心节点,即该部分内容分发网络CDN为父层节点-边缘节点的二层结构,本发明实施例对此不加以限制。
父层节点为资源的次汇聚节点,一方面,由于在内容分发网络CDN内部,各节点之间一般使用双向光纤等专有的通信线缆进行通信,中心节点与父层节点之间的通信质量有较高的保障,在获取变化较少的资源、外部源网站通信质量较差等情况下,可以与中心节点进行通信,从中心节点获取资源,另一方面,在获取新的资源、进行数据操作(如支付)等情况下,可以与源网站进行通信,从源网站获取资源。
再者,父层节点之间可以相互通信,从而组成父层节点与边缘节点之间的传输路径,即一个节点到另一个节点所经过的中间传输的节点及通信线缆所组成的路径。
具体而言,选取传输路径的方式可以有多种,可以根据实际需求选择如下至少一种方式:
1、选取传输性能符合设定的要求的传输路径。
传输性能是指传输流数据的传输路径的传输能力,可以根据节点间的距离、传输速度、数据丢失率、阻塞状况等确定传输路径的传输性能,通过定期更新每两个节点间的传输性能,根据节点之间的各传输路径的传输性能,选取其中传输性能符合要求或传输性能最好的传输路径。
2、选取经过的节点数量最少的传输路径。
在多条传输路径中选取节点数量最少的传输路径,这样,就可以占用最少的传输资源完成数据从一个节点到另一个节点的传输。
3、选取在一段时间内没有选择过的传输路径。
如果历史上有流数据从一个节点传输至另一个节点,那么,当有新的数据要从这两个之间进行传输,可以在一段时间内没有选择过的各传输路径中选取一条,以避免一直选取同一条传输路径导致该传输路径上的节点负载过重。
当然,上述传输路径的选取方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他传输路径的选取方式,本发明实施例对此不加以限制。另外,除了上述传输路径的选取方式外,本领域技术人员还可以根据实际需要采用其它传输路径的选取方式,本发明实施例对此也不加以限制。
此外,父层节点一般部署有多个运营商的机房,机房之间通过双线光线等专有的通信线缆进行连接,边缘节点一般是部署在某个运营商的网络中,同运营商之间的父层节点的机房可以与边缘节点进行通信。
边缘节点之间具有相互通信的能力,但是,一般情况下,不会直接进行通信。
边缘节点可以接入客户端,例如,手机、平板电脑、电视等等,用于与客户端进行通信,如获取其采集的直播流,或者,将直播流推送至该客户端。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中的内容分发网络CDN。
如图2所示,父层节点为A1、A2、A3、A4,可以按照地理位置进行部署,例如,A1部署在北京、A2部署在上海、A3部署在广州,A4部署在郑州,A1可以与A2进行通信,A2可以与A3进行通信,A3可以与A4进行通信,A4可以与A1进行通信,父层节点之间的循环通信,可以组成环状的父层结构。
此外,每个父层节点可以连接一个或多个边缘节点,边缘节点也可以按照地理位置、运营商等因素进行部署,边缘节点之间一般不直接进行通信,而是经过父层节点进行中转,父层节点A1连接边缘节点A11、A12,父层节点A2连接缘节点A21、A22,父层节点A3连接缘节点A31、A32、A33,父层节点A4连接缘节点A41、A42、A43。
边缘节点接入客户端,如边缘节点A32接入客户端B1,用于接收客户端的数据(如直播流),或者,将数据(如直播流)发送至该客户端。
当然,上述内容分发网络CDN只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他内容分发网络CDN,本发明实施例对此不加以限制。另外,除了上述内容分发网络CDN外,本领域技术人员还可以根据实际需要采用其它内容分发网络CDN,本发明实施例对此也不加以限制。
在本发明实施例中,可以统一日志文件的收集入口,定义规范并采取主动拉取、接口写入两种方式收集日志文件,保证日志文件的完整性和一致性。
因此,一方面,可以从预设的第一数据接口中接收内容分发网络CDN发送的日志文件。
另一方面,可以调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
步骤102,按照预设的协议标准从所述多种日志文件中生成目标数据。
在具体实现中,可以对不同内容分发网络CDN的不同种类的日志文件,进行ETL(Extract-Transform-Load,描述将数据从来源端经过抽取extract、转换transform、加载load至目的端的过程)等数据清洗,按照制定的协议标准生成标准的目标数据。
在本发明的一个实施例中,步骤102可以包括如下子步骤:
子步骤S11,从所述多中日志文件中提取指定类型的多条日志数据。
子步骤S12,按照预设的协议标准将所述多条日志数据转换为多条目标数据。
其中,协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
在具体实现中,各个内容分发网络CDN中的日志文件的数据格式可能不一致,例如,JSON(JavaScript Object Notation,JS对象标记)、XML(eXtensible MarkupLanguage,可扩展标记语言)、文本、协议字段数量命名,等等。
各个内容分发网络CDN中的日志文件的统计粒度可能不一致,例如,1分钟、5分钟,等等。
各个内容分发网络CDN中的日志文件的统计单位可能不一致,例如,bit、k、M,等等。
各个内容分发网络CDN中的日志文件的上报时延可能不一致,例如,分钟、10分钟、20分钟,等等。
各个内容分发网络CDN中的日志文件的数据角色可能不一致,例如,边缘节点、父层节点,等等。
通过制定标准协议,将这些多条日志数据转换为同一标准协议的多条参考数据。
例如,将各个内容分发网络CDN记录的带宽、流量,统一为以bits作为统计单位,以5分钟作为统计粒度,等等。步骤103,根据所述多条目标数据统计业务数据。
在具体实现中,由于内容分发网络CDN上报或主动拉取的日志文件,是从几百、几千台主机上报上来的日志文件,而且各主机上报数据的时延不一致,在ETL处理完成后,可以按照统计维度汇总成一条可用的业务数据。
例如,某一个域名live.***.cn在时间点2017-12-29 10:10:10在100台主机都生成上报日志文件,则收到上报的日志文件100条(时间是有延迟的,比如前后10分钟),在ETL处理完成之后,可以会对这100条日志文件中的目标数据进行合并,形成一条业务数据,例如,将流量累加、带宽重运算,等等。
在本发明的一个实施例中,步骤103可以包括如下子步骤:
子步骤S11,将所述多条目标数据写入消息队列中。
在本发明实施例中,可以在缓存中生成一个消息队列,该消息队列可以支持订阅模式。
将从不同内容分发网络CDN的不同种类的日志文件转换的目标数据写入该队列中进行发布,消费者consumer可以订阅该消息队列中的目标数据,以达到支持重复消费、数据补漏、回滚处理等目的。
子步骤S12,由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据。
在具体实现中,由于目标数据中具有不同的数据类型,为了提供业务数据的统计效率,可以针对不同的数据类型配置相应的消费者consumer。
因此,由订阅某个数据类型的目标数据的消费者consumer,从消息队列中提取该数据类型的目标数据。
在本发明实施例的一个示例中,数据类型可以包括如下的至少一种:
网络数据(如流量、带宽、请求数)、状态码(如404等)、命中数据(在内容分发网络CDN中命中某个文件相关的数据,缓存在该内容分发网络CDN中则为命中,未缓存在该内容分发网络CDN中则为未命中)。
针对网络数据,可以设置一个消费者,用于消费该网络数据,统计出相应的业务数据。
针对状态码,可以设置一个消费者,用于消费该状态码,统计出相应的业务数据。
针对命中数据,可以设置一个消费者,用于消费该命中数据,统计出相应的业务数据。
当然,上述数据类型只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他数据类型,本发明实施例对此不加以限制。另外,除了上述数据类型外,本领域技术人员还可以根据实际需要采用其它数据类型,本发明实施例对此也不加以限制。
子步骤S13,由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
为了方便基于业务数据进行查询,因此,可以消费该目标数据、针对不同的维度统计出相应的业务数据,后续可以针对这些维度进行查询。
在另一个示例中,可以由订阅网络数据的消费者采用网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间(time)、域名(domain)、目录(appname)、角色(role)、地区(area)、运营商(isp)
业务数据聚合完格式:
总体:time、domain、appname、cdn、role、flow、rtimes
地区:time、domain、appname、area(用户所属区域)、cdn、role、flow、rtimes
运营商:time、dom、appname、isp(用户所属运营商)、cdn、role、flow、rtimes
地区运营商都统计:time、domain、appname、area(用户所属区域)、isp(用户所属运营商)、conversation、cdn、role、flow、rtimes
机房:time、domain、appname、idc、area(idc所属区域)、isp(idc所属运营商)、conversation、cdn、role、flow、rtimes
在一个示例中,可以由订阅状态码的消费者采用状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间(time)、域名(domain)、目录(appname)、角色(role)、地区(area)、运营商(isp)
业务数据聚合完格式:
总次数:time、domain、appname、http_code、cdn、role、rtimes
各机房响应码次数:time、domain、appname、http_code、idc、area、isp、cdn、role、rtimes
在另一个示例中,可以由订阅命中数据的消费者采用命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间(time)、域名(domain)、目录(appname)、角色(role)、地区(area)、运营商(isp)
业务数据聚合完格式:
总命中:time、domain、appname、cdn、role、hit、miss
各机房命中次数:time、domain、appname、http_code、idc、area、isp、cdn、role、rtimes
当然,上述业务数据只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他业务数据,本发明实施例对此不加以限制。另外,除了上述业务数据外,本领域技术人员还可以根据实际需要采用其它业务数据,本发明实施例对此也不加以限制。
子步骤S14,对所述目标数据设置失效时间。
子步骤S15,当到达所述失效时间时,从所述消息队列中删除所述目标数据。
在具体实现中,由于消息队列的容量有限,因此,可以对目标数据设置失效时间,如果到达失效时间,则在消息队列中删除该目标数据。
本发明实施例采集多个内容分发网络CDN的多种日志文件,按照预设的协议标准从多种日志文件中生成目标数据,根据目标数据统计业务数据,逻辑架构清晰,简化了日志文件的处理逻辑,统一了不同内容分发网络CDN的日志数据,提高了数据统计灵活性,可扩展、可运维、服务质量高。
参照图3,示出了根据本发明一个实施例的一种内容分发网络CDN的日志处理方法实施例的步骤示意流程图,具体可以包括如下步骤:
步骤301,采集多个内容分发网络CDN的多种日志文件。
步骤302,按照预设的协议标准从所述多种日志文件中生成多条目标数据。
步骤303,根据所述多条目标数据统计业务数据。
步骤304,从预设的查询接口接收查询请求。
在本发明实施例中,可以对外提供查询接口,供租用内容分发网络CDN等用户调用,查询相关的数据。
步骤305,根据所述查询请求从业务数据中选取候选数据。
在具体实现中,基于目标数据统计的业务数据,可以作为中间结果,根据查询请求的需求,选取相关的候选数据,等待进行处理。
在本发明的一个实施例中,步骤305可以包括如下子步骤:
子步骤S21,从所述查询请求中提取查询类型、查询条件。
子步骤S22,查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
在本发明实施例中,用户在调用查询接口时,可以输入查询类型(如网络数据、状态码、命中数据等)、查询条件(如时间(time)、域名(domain)、目录(appname)、角色(role)、地区(area)、运营商(isp)等),生成查询请求。
因此,在接收到查询请求后,从中提取查询类型、查询条件,分别与目标数据的数据类型、统计维度进行匹配,从而选择相关的目标数据,作为候选数据。
步骤306,采用所述候选数据生成查询结果。
对于候选数据,则可以进一步进行统计,生成用户所需的查询结果,并返回给用户(客户端)。
在本发明的一个实施例中,为方便用户查询,业务数据的统计粒度一般较小,因此,可以将候选数据按照查询条件聚合为查询结果。
例如,对于流量,业务数据可以统一为以比特bits进行记录,以每五分钟进行统计,而用户查询一个小时内的流量,则可以将业务数据进行聚合。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了根据本发明一个实施例的一种内容分发网络CDN的日志处理装置实施例的结构示意框图,具体可以包括如下模块:
日志文件采集模块401,用于采集多个内容分发网络CDN的多种日志文件;
目标数据生成模块402,用于按照预设的协议标准从所述多种日志文件中生成多条目标数据;
业务数据统计模块403,用于根据所述多条目标数据统计业务数据。
在本发明的一个实施例中,所述日志文件采集模块401包括:
日志文件接收子模块,用于从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
日志文件拉取子模块,用于调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
在本发明的一个实施例中,所述目标数据生成模块402包括:
日志数据提取子模块,用于从所述多中日志文件中提取指定类型的多条日志数据;
日志数据转换子模块,用于按照预设的协议标准将所述多条日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
在本发明的一个实施例中,所述业务数据统计模块403包括:
消息队列写入子模块,用于将所述多条目标数据写入消息队列中;
目标数据提取子模块,用于由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
维度统计子模块,用于由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
在本发明的一个实施例中,所述目标数据提取子模块包括:
类型提取单元,用于由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
在本发明的一个实施例中,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述维度统计子模块包括:
第一统计单元,用于由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
第二统计单元,用于由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
第三统计单元,用于由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
在本发明的一个实施例中,所述业务数据统计模块403还包括:
失效时间设置子模块,用于对所述目标数据设置失效时间;
目标数据删除子模块,用于当到达所述失效时间时,从所述消息队列中删除所述目标数据。
在本发明的一个实施例中,还包括:
查询请求接收模块,用于从预设的查询接口接收查询请求;
候选数据选取模块,用于根据所述查询请求从业务数据中选取候选数据;
查询结果生成模块,用于采用所述候选数据生成查询结果。
在本发明的一个实施例中,所述候选数据选取模块包括:
查询参数提取子模块,用于从所述查询请求中提取查询类型、查询条件;
业务数据匹配子模块,用于查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
在本发明的一个实施例中,所述查询结果生成模块包括:
聚合子模块,用于将所述候选数据按照所述查询条件聚合为查询结果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的内容分发网络CDN的日志处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种内容分发网络CDN的日志处理方法,包括:
采集多个内容分发网络CDN的多种日志文件;
按照预设的协议标准从所述多种日志文件中生成多条目标数据;
根据所述多条目标数据统计业务数据。
A2、如A1所述的方法,所述采集多个内容分发网络CDN的多种日志文件,包括:
从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
A3、如A1所述的方法,所述按照预设的协议标准从所述多种日志文件中生成多条目标数据,包括:
从所述多中日志文件中提取指定类型的多条日志数据;
按照预设的协议标准将所述多条日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
A4、如A1所述的方法,所述根据所述多条目标数据统计业务数据,包括:
将所述多条目标数据写入消息队列中;
由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
A5、如A4所述的方法,所述由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据,包括:
由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
A6、如A5所述的方法,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据,包括:
由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
A7、如A4所述的方法,所述根据所述目标数据统计业务数据,还包括:
对所述目标数据设置失效时间;
当到达所述失效时间时,从所述消息队列中删除所述目标数据。
A8、如A1-A7任一项所述的方法,还包括:
从预设的查询接口接收查询请求;
根据所述查询请求从业务数据中选取候选数据;
采用所述候选数据生成查询结果。
A9、如A8所述的方法,所述根据所述查询请求从业务数据中选取候选数据,包括:
从所述查询请求中提取查询类型、查询条件;
查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
A10、如A9所述的方法,所述采用所述候选数据生成查询结果,包括:
将所述候选数据按照所述查询条件聚合为查询结果。
本发明实施例还公开了B11、一种内容分发网络CDN的日志处理装置,包括:
日志文件采集模块,用于采集多个内容分发网络CDN的多种日志文件;
目标数据生成模块,用于按照预设的协议标准从所述多种日志文件中生成目标数据;
业务数据统计模块,用于根据所述多条目标数据统计业务数据。
B12、如B11所述的装置,所述日志文件采集模块包括:
日志文件接收子模块,用于从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
日志文件拉取子模块,用于调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
B13、如B11所述的装置,所述目标数据生成模块包括:
日志数据提取子模块,用于从所述多中日志文件中提取指定类型的多条日志数据;
日志数据转换子模块,用于按照预设的协议标准将所述日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
B14、如B11所述的装置,所述业务数据统计模块包括:
消息队列写入子模块,用于将所述目标数据写入消息队列中;
目标数据提取子模块,用于由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
维度统计子模块,用于由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
B15、如B14所述的装置,所述目标数据提取子模块包括:
类型提取单元,用于由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
B16、如B15所述的装置,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述维度统计子模块包括:
第一统计单元,用于由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
第二统计单元,用于由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
第三统计单元,用于由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
B17、如B14所述的装置,所述业务数据统计模块还包括:
失效时间设置子模块,用于对所述目标数据设置失效时间;
目标数据删除子模块,用于当到达所述失效时间时,从所述消息队列中删除所述目标数据。
B18、如B11-B17任一项所述的装置,还包括:
查询请求接收模块,用于从预设的查询接口接收查询请求;
候选数据选取模块,用于根据所述查询请求从业务数据中选取候选数据;
查询结果生成模块,用于采用所述候选数据生成查询结果。
B19、如B18所述的装置,所述候选数据选取模块包括:
查询参数提取子模块,用于从所述查询请求中提取查询类型、查询条件;
业务数据匹配子模块,用于查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
B20、如B19所述的装置,所述查询结果生成模块包括:
聚合子模块,用于将所述候选数据按照所述查询条件聚合为查询结果。

Claims (10)

1.一种内容分发网络CDN的日志处理方法,包括:
采集多个内容分发网络CDN的多种日志文件;
按照预设的协议标准从所述多种日志文件中生成多条目标数据;
根据所述多条目标数据统计业务数据。
2.如权利要求1所述的方法,其特征在于,所述采集多个内容分发网络CDN的多种日志文件,包括:
从预设的第一数据接口中接收内容分发网络CDN发送的日志文件;
和/或,
调用预设的第二数据接口从内容分发网络CDN中拉取日志文件。
3.如权利要求1所述的方法,其特征在于,所述按照预设的协议标准从所述多种日志文件中生成多条目标数据,包括:
从所述多中日志文件中提取指定类型的多条日志数据;
按照预设的协议标准将所述多条日志数据转换为多条目标数据;
其中,所述协议标准包括如下的至少一项:
数据格式、统计粒度、统计单位、上报时延、数据角色。
4.如权利要求1所述的方法,其特征在于,所述根据所述多条目标数据统计业务数据,包括:
将所述多条目标数据写入消息队列中;
由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据;
由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据。
5.如权利要求4所述的方法,其特征在于,所述由订阅所述目标数据的消费者从所述消息队列中提取所述目标数据,包括:
由订阅某个数据类型的目标数据的消费者从所述消息队列中提取所述数据类型的目标数据。
6.如权利要求5所述的方法,其特征在于,所述数据类型包括如下的至少一种:
网络数据、状态码、命中数据;
所述由订阅所述目标数据的消费者采用所述目标数据按照预设的统计维度统计业务数据,包括:
由订阅所述网络数据的消费者采用所述网络数据下的目标数据在如下至少一种统计维度统计带宽、流量、请求数中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述状态码的消费者采用所述状态码下的目标数据在如下至少一种统计维度统计所述状态码的出现次数,作为业务数据:
时间、域名、目录、角色、地区、运营商;
由订阅所述命中数据的消费者采用所述命中数据下的目标数据在如下至少一种统计维度统计命中次数、未命中次数、命中率中的至少一种业务数据:
时间、域名、目录、角色、地区、运营商。
7.如权利要求4所述的方法,其特征在于,所述根据所述目标数据统计业务数据,还包括:
对所述目标数据设置失效时间;
当到达所述失效时间时,从所述消息队列中删除所述目标数据。
8.如权利要求1-7任一项所述的方法,其特征在于,还包括:
从预设的查询接口接收查询请求;
根据所述查询请求从业务数据中选取候选数据;
采用所述候选数据生成查询结果。
9.如权利要求8所述的方法,其特征在于,所述根据所述查询请求从业务数据中选取候选数据,包括:
从所述查询请求中提取查询类型、查询条件;
查找数据类型与所述查询类型匹配、统计维度与所述查询条件匹配的业务数据,作为候选数据。
10.一种内容分发网络CDN的日志处理装置,包括:
日志文件采集模块,用于采集多个内容分发网络CDN的多种日志文件;
目标数据生成模块,用于按照预设的协议标准从所述多种日志文件中生成目标数据;
业务数据统计模块,用于根据所述多条目标数据统计业务数据。
CN201711490056.XA 2017-12-29 2017-12-29 一种内容分发网络的日志处理方法和装置 Pending CN108234210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711490056.XA CN108234210A (zh) 2017-12-29 2017-12-29 一种内容分发网络的日志处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711490056.XA CN108234210A (zh) 2017-12-29 2017-12-29 一种内容分发网络的日志处理方法和装置

Publications (1)

Publication Number Publication Date
CN108234210A true CN108234210A (zh) 2018-06-29

Family

ID=62647531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711490056.XA Pending CN108234210A (zh) 2017-12-29 2017-12-29 一种内容分发网络的日志处理方法和装置

Country Status (1)

Country Link
CN (1) CN108234210A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710285A (zh) * 2018-11-22 2019-05-03 网宿科技股份有限公司 一种设备升级方法及系统
CN111723130A (zh) * 2020-06-28 2020-09-29 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
CN112685375A (zh) * 2019-10-18 2021-04-20 上海哔哩哔哩科技有限公司 基于cdn的日志分析方法及装置
WO2023093079A1 (zh) * 2021-11-26 2023-06-01 浪潮通信信息系统有限公司 一种分布式边缘云边节点的一致性核查方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838867A (zh) * 2014-03-20 2014-06-04 网宿科技股份有限公司 日志处理方法和装置
CN105827454A (zh) * 2016-04-26 2016-08-03 乐视控股(北京)有限公司 一种构造拓扑状cdn网络模型的方法及系统
US9420050B1 (en) * 2011-08-16 2016-08-16 Verizon Digital Media Services Inc. Log reporting for a federated platform
CN107332719A (zh) * 2017-08-16 2017-11-07 北京云端智度科技有限公司 一种cdn系统内日志实时分析的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420050B1 (en) * 2011-08-16 2016-08-16 Verizon Digital Media Services Inc. Log reporting for a federated platform
CN103838867A (zh) * 2014-03-20 2014-06-04 网宿科技股份有限公司 日志处理方法和装置
CN105827454A (zh) * 2016-04-26 2016-08-03 乐视控股(北京)有限公司 一种构造拓扑状cdn网络模型的方法及系统
CN107332719A (zh) * 2017-08-16 2017-11-07 北京云端智度科技有限公司 一种cdn系统内日志实时分析的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710285A (zh) * 2018-11-22 2019-05-03 网宿科技股份有限公司 一种设备升级方法及系统
CN112685375A (zh) * 2019-10-18 2021-04-20 上海哔哩哔哩科技有限公司 基于cdn的日志分析方法及装置
CN112685375B (zh) * 2019-10-18 2023-04-28 上海哔哩哔哩科技有限公司 基于cdn的日志分析方法及装置
CN111723130A (zh) * 2020-06-28 2020-09-29 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
CN111723130B (zh) * 2020-06-28 2023-07-25 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
WO2023093079A1 (zh) * 2021-11-26 2023-06-01 浪潮通信信息系统有限公司 一种分布式边缘云边节点的一致性核查方法及装置

Similar Documents

Publication Publication Date Title
US11567960B2 (en) Isolated execution environment system monitoring
US11855863B1 (en) Animated visualizations of network activity across network address spaces
US20220156335A1 (en) Streaming data processing
US10447772B2 (en) Managed function execution for processing data streams in real time
US20210049177A1 (en) Multi-partitioning for combination operations
CN108234210A (zh) 一种内容分发网络的日志处理方法和装置
US11281706B2 (en) Multi-layer partition allocation for query execution
US11567993B1 (en) Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US9276828B2 (en) System and method for a service metering framework in a network environment
US12079175B2 (en) Streaming synthesis of distributed traces from machine logs
CN108234639A (zh) 一种基于内容分发网络cdn的数据访问方法和装置
US20180089259A1 (en) External dataset capability compensation
US20180089306A1 (en) Query acceleration data store
CN104601736B (zh) 一种短url服务的实现方法及装置
US11663219B1 (en) Determining a set of parameter values for a processing pipeline
US11714823B1 (en) Generating metric data from log data using metricization rules
CN108234207A (zh) 一种基于内容分发网络cdn的故障定位方法和装置
US11675473B1 (en) User interface for summarizing data to generate previews of metric data
CN108173952A (zh) 一种内容分发网络cdn的数据访问方法和装置
CN108234638A (zh) 一种基于内容分发网络cdn的数据处理方法和装置
CN108173953A (zh) 一种基于内容分发网络cdn的文件分发方法和装置
CN105871607B (zh) 信息处理方法及服务平台
CN108234632A (zh) 一种内容分发网络cdn的数据分发方法和装置
CN106331172A (zh) 一种应用于内容分发网络的资源检测方法及装置
CN104461893B (zh) 数据处理方法与数据处理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180629