日志管理方法及装置和电子设备与流程
- 国知局
- 2024-08-02 14:47:40
本说明书实施例涉及通信领域,尤其涉及一种日志管理方法及装置和电子设备。
背景技术:
1、内容分发网络(content delivery network,cdn)是一个分布在不同地理位置的服务器集群。cdn可以利用这些不同地理位置的服务器,为终端用户分配最近的服务器,从而可以快速提供终端用户所需的互联网内容(如html网页、javascript 文件、样式表、图像和视频等等)。
2、cdn边缘节点是位于cdn的逻辑极限或“边缘”的计算机,cdn边缘节点可提供进入cdn的入口点。cdn边缘节点的主要目的是将内容存储在尽可能靠近发出请求的客户端计算机的位置,从而减少延迟并缩短页面加载时间。
3、对于cdn边缘节点,其面临日志管理困难的问题。具体地,由于每个cdn边缘节点可以对接多个不同的租户(即使用该节点的用户),而每个租户各自会产生相应的日志;这些日志在cdn边缘节点中缺乏有效的隔离和归类机制,导致日志混杂在一起,难以进行管理。
技术实现思路
1、本说明书实施例提供的一种日志管理方法及装置和电子设备,用以解决日志混杂难以管理的问题。
2、根据本说明书实施例的第一方面,提供一种日志管理方法,应用于从多个cdn边缘节点构成的边缘集群中选举出的管理节点,所述管理节点执行以下步骤以处理每个cdn边缘节点上的日志:
3、读取cdn边缘节点中存储的日志,从所述日志中提取域名字段;
4、以所述域名字段为分类维度,将所述域名字段和对应的日志存储到树形的日志数据结构;其中,所述日志数据结构由一级节点、位于一级节点下的二级节点、位于二级节点下的三级节点以及与三级节点关联的日志列表构成,所述一级节点用于存储所述域名字段中的顶级域名、所述二级节点用于存储所述域名字段中的二级域名、所述三级节点用于存储所述域名字段中除顶级域名、二级域名之外的剩余内容,所述日志列表用于存储所述域名字段对应的日志。
5、可选的,所述管理节点通过以下方式从所述多个cdn边缘节点中选举得出:
6、根据当前时间点和日志采集周期计算选举时间点,并在选举时间点时通过与所述边缘集群对应的键值对存储服务选举一个cdn边缘节点为管理节点。
7、可选的,所述根据当前时间点和日志采集周期计算选举时间点,并在选举时间点时通过与所述边缘集群对应的键值对存储服务选举一个cdn边缘节点为管理节点,包括:
8、cdn边缘节点i计算m=t mod p;其中,i为cdn边缘节点的序号、m为余数、t为当前时间点、p为日志采集周期;
9、当m为0时,向与所述边缘集群对应的键值对存储服务发送键为t、值为i的set指令,由所述键值对存储服务将第一个接收到的set指令对应的cdn边缘节点i设置为管理节点。
10、可选的,在向与所述边缘集群对应的键值对存储服务发送键为t、值为i的set指令之前,还包括:
11、向与所述边缘集群对应的键值对存储服务发送键为tp的get指令,查询所述键值对存储服务中是否设置有tp的键,且tp的键对应的值为i;其中,tp=t-p;
12、如果是,将负载均衡因子设置为第一数值;如果不是,将负载均衡因子设置为小于第一数值的第二数值;
13、基于设置后的负载均衡因子和所述cdn边缘节点i的资源使用率计算休眠时长,并进行所述休眠时长的休眠;
14、在休眠结束后,执行向与所述边缘集群对应的键值对存储服务发送键为t、值为i的set指令的步骤。
15、可选的,所述休眠时长t'=(t×r)×f;其中,t是默认休眠时长,r为资源使用率,f是设置后的负载均衡因子;
16、所述资源使用率r=(m/ma)+(d/d);其中,ma为cdn边缘节点i的总内存、m为cdn边缘节点i的已用内存、d为cdn边缘节点i的外存总量、d为cdn边缘节点i的已用外存。
17、可选的,在将所述域名字段存储到树形的日志数据结构之后,还包括:
18、在所有cdn边缘节点上的日志的域名字段存储到树形的日志数据结构之后,按照预设隔离规则,将所述日志数据结构的日志列表中的日志存储到不同的存储设备;
19、其中,所述预设隔离规则包括:
20、对于不关心日志完整性的日志,存储到管理节点的本地机械盘;
21、关心日志完整性且可容忍日志服务短期故障的日志,存储到管理节点的上挂载了磁盘冗余阵列的磁盘;
22、关心日志完整性且不可容忍日志服务短期故障的日志,存储到与所述边缘集群对应的外部分布式存储。
23、可选的,所述不同的存储设备对应不同的根路径,并以键值对的路径数据结构为所述日志列表中的日志配置对应的存储设备的根路径;其中,所述键值对的键为日志的域名、值为根路径。
24、可选的,所述日志数据结构提供有add指令和flush指令;
25、所述以所述域名字段为分类维度,将所述域名字段和对应的日志存储到树形的日志数据结构,包括:
26、调用日志数据结构提供的add指令,将所述域名字段和对应的日志发送给所述日志数据结构,由所述日志数据结构以所述域名字段为分类维度,存储所述域名字段和对应的日志;
27、所述按照预设隔离规则,将所述日志数据结构的日志列表中的日志存储到不同的存储设备,包括:
28、调用日志数据结构提供的flush指令,且所述flush指令不携带参数,由所述日志数据结构遍历所有由一级节点、二级节点和三级节点构成的域名字段,并按照预设隔离规则将每个域名字段对应的三级节点关联的日志列表中的日志,存储到不同的存储设备;
29、并在全部日志列表存储完成后,清空所有日志列表。
30、可选的,所述日志数据结构还提供有length指令;在将所述域名字段和对应的日志存储到树形的日志数据结构之后,还包括:
31、调用日志数据结构提供的length指令、且所述length指令携带有所述域名字段,由所述日志数据结构响应于所述length指令查询所述域名字段所对应的三级节点关联的日志列表的列表长度;
32、在所述列表长度达到预设长度时,调用日志数据结构提供的flush指令、且所述flush指令携带有所述域名字段,由所述日志数据结构按照预设隔离规则,将所述域名字段对应的三级节点关联的日志列表中的日志存储到不同的存储设备;以及,在存储完成后情况所述日志列表。
33、可选的,所述管理节点生成文件名包含t的本地文件;
34、所述管理节点在读取所有cdn边缘节点中存储的日志,并将所有日志中提取的域名字段和对应的日志存储到日志数据结构之后,删除文件名包含t的本地文件;以及,向所述键值对存储服务发送键为t的del指令,删除所述键值对存储服务中设置的键为t、值为i的键值对。
35、可选的,在读取cdn边缘节点中存储的日志之前,还包括:
36、检查本地文件中是否存在文件名包含t的本地文件;
37、所述读取cdn边缘节点中存储的日志,包括:
38、如果存在,读取cdn边缘节点中的文件名包含t的日志文件;所述cdn边缘节点以日志采集周期为分割时长,对本地日志分割为若干日志文件,每个日志文件包含每个日志采集周期的选举时间点t。
39、根据本说明书实施例的第二方面,提供一种日志管理装置,应用于从多个cdn边缘节点构成的边缘集群中选举出的管理节点,所述管理节点执行以下单元以处理每个cdn边缘节点上的日志:
40、读取单元,读取cdn边缘节点中存储的日志,从所述日志中提取域名字段;
41、存储单元,以所述域名字段为分类维度,将所述域名字段和对应的日志存储到树形的日志数据结构;其中,所述日志数据结构由一级节点、位于一级节点下的二级节点、位于二级节点下的三级节点以及与三级节点关联的日志列表构成,所述一级节点用于存储所述域名字段中的顶级域名、所述二级节点用于存储所述域名字段中的二级域名、所述三级节点用于存储所述域名字段中除顶级域名、二级域名之外的剩余内容,所述日志列表用于存储所述域名字段对应的日志。
42、根据本说明书实施例的第三方面,提供一种电子设备,包括:
43、处理器;
44、用于存储处理器可执行指令的存储器;
45、其中,所述处理器被配置为上述任一项日志管理方法。
46、本说明书实施例,提供了一种日志管理方案,通过从多个cdn边缘节点中选举一个管理节点,由该管理节点统一读取所有cdn边缘节点中的日志,并将日志和日志的域名字段发送给树形的日志数据结构,由日志数据结构以域名字段为分类维度,将相同域名字段的日志统一存储到一个日志列表中;从而实现对混杂日志进行分类。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243932.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表