一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种IPTVCDN用户播放日志上报方法和系统与流程

2022-07-30 19:12:01 来源:中国专利 TAG:

一种iptvcdn用户播放日志上报方法和系统
技术领域
1.本发明涉及通信技术领域,具体涉及一种iptvcdn用户播放日志上报方法和系统。


背景技术:

2.iptv业务中,cdn节点分布在各个地域,用户每次播放请求结束后cdn节点会立即生成播放记录到推流节点的日志目录,在cdn通用领域,节点日志上报主要有2种方案:一是当用户请求记录生成后,推流程序将该条日志数据保存到内存中,由程序的日志进程同步进行负责日志解析、提取并上报。二是程序将用户日志写到本地磁盘,其他日志处理程序读取文件后,直接将文件整体上报或者在本地分析完成再上报。iptv行业中,cdn用户播放日志是iptv运营商与片源提供方(简称sp)收入结算的重要依据,其中,用户播放的次数与用户播放的时长最为重要。现有日志上报方案主要存在以下几个问题:
3.1.无法针对iptv业务进行会话id合并。会话id是iptv业务中用户访问cdn时的一个核心指标,会话id的存在代表着用户与cdn服务之间的连接是否还存活。iptv中http协议播放时,在快进、快退、x倍速和暂停等跳跃播放场景时,由于http播放无法保持连接的原因,跳跃播放后,cdn节点会生成多条日志,现有日志上报方法是将生成的日志不区分当前用户是否还在播放直接上报,不能对属于同一个会话id多条日志进行等待、合并上报,造成http协议播放时同一个会话id在跳跃播放场景的日志无任何处理。这样的上报方式将导致cdn播放话单结算费用不准确。特别是快进、快退播放的场景,iptv行业中计费基础为播放时长大于5分钟,计费周期为月,未经合并会引起同一用户产生多条短播放记录,进而无法进行cdn播放媒体资源的准确结算。
4.2.无法根据cdn节点网络情况、日志条数、日志大小等实时负载进行动态调整上报频率。iptv业务中,用户主要播放视频的时间段分布非常不均匀,高峰时间段一般在11-13点、18-21点,同一分钟一个进程,高峰时间段将生成上千条日志,而低峰时间平均为数十条,这样的业务场景,若使用通用cdn日志上报方案将导致cdn节点与日志中心网络带宽使用不均,造成高峰网络瓶颈,低峰网络空闲。


技术实现要素:

5.本发明所要解决的技术问题是无法针对iptv业务进行会话id合并,无法根据cdn节点网络情况、日志条数、日志大小等实时负载进行动态调整上报频率,目的在于提供一种iptvcdn用户播放日志上报方法和系统,通过日志的会话session是否存活进行实时判断,对属于同一个会话session的多条日志进行等待、合并上报,通过日志文件的实时指标判断是否对日志文件内容进行上报,有效应对cdn节点日志生成高低峰、日志条数、日志大小不均匀的现象。
6.本发明通过下述技术方案实现:
7.本发明第一方面提供一种iptvcdn用户播放日志上报方法,具体包括以下步骤:
8.s1、获取cdn节点日志目录下的日志文件内容;
9.s2、按行循环读取日志文件内容,按保存格式需求切割日志文件,保存切割后的日志文件;
10.s3、对读取的日志文件内容的会话session是否存活进行判断:
11.若会话session存活,则执行步骤s2;
12.若会话session结束,则执行步骤s4;
13.s4、保存s3的日志文件内容;
14.s5、根据日志文件的实时指标判断是否对日志文件内容进行上报:
15.若判断结果为上报,则执行步骤s6;
16.若判断结果为不上报,则执行步骤s2;
17.s6、上报日志文件内容。
18.本发明通过对读取的日志文件内容的会话session是否存活进行判断,对属于同一个会话session的多条日志进行等待、合并上报,防止cdn节点生成的日志不区分当前用户是否还在播放直接上报,造成http协议播放时同一个会话id在跳跃播放场景的日志无任何处理,从而导致播放计算不准确的情况,有效的保证cdn业务用户播放日志上报准确、有效,通过日志文件的实时指标判断是否对日志文件内容进行上报,结合日志文件的实时指标,动态输出是否上报的命令,有效应对cdn节点日志生成高低峰、日志条数、日志大小不均匀的现象,能够将cdn用户播放日志进行及时、准确的上报。
19.进一步的,所述s1具体包括:
20.s11、初始化日志进程,获取初始配置参数;
21.s12、将初始参数配置加载到内存中;
22.s13、获取cdn节点日志目录下;
23.s14、判定日志目录内是否有日志,直至判定结果为日志目录内有日志,执行步骤s2。
24.进一步的,所述s2具体包括:
25.s21、按行循环读取日志存储目录中的日志文件内容,日志文件的读取优先级为当前日志、历史日志;
26.s22、对日志文件内容的字段进行解析,对字段进行切割;
27.s23、判断字段是否异常:
28.若字段无异常,执行步骤s3;
29.若字段存在异常,则保存错误日志到本地目录中,对下一条日志文件内容进行解析。
30.s25、保存解析后的日志文件。
31.进一步的,所述cdn会话存活判断步骤具体包括:
32.s31、获取单条日志的会话session值;
33.s32、判断该会话session是否在内存中:
34.若判断为会话session在内存中,则执行步骤s33;
35.若判断为会话session不在内存中,则执行步骤s34;
36.s33、获取该会话session的历史数据;
37.s34、判断会话session是否存活:
38.若判断会话session存活,将本条日志和历史内存中已有的数据合并后进行保存;
39.若判断会话session结束,则解析日志,对已存在日志的播放时间和起止时间进行合并。
40.进一步的,所述判断会话session存活后,还包括:
41.对存活的会话session进行判断是否合并日志上报:
42.若判断结果为合并日志上报,保存本条日志,等待该会话session的下一条日志,对同一会话session的日志进行合并;
43.若判断结果为不合并日志上报,则将本条日志上报。
44.进一步的,所述s5具体包括:
45.s51、根据已完成解析的日志文件内容获取实时指标;
46.s52、对实时指标设置阈值参数;
47.s53、将实时指标与sign符号函数的特性结合,输出上报指令。
48.进一步的,所述s53具体包括:
49.上报指令
50.c-日志中心连通性指标,x-节点连通日志中心的个数,sys
metrics-用户日志实时指标,nos_now-内存数据已发送次数,td_now-距离上一次上报时间差,nol_now-内存中的已有日志条数,slfs_now-单个日志文件大小,nos_set-内存数据发送次数上限,td_set-上报时间差上限、nol_set-内存中日志条数上限、slfs_set-单个日志文件大小上限。
51.进一步的,还包括:步骤s7、对本地用户日志文件进行处理,所述s7具体包括:
52.s71、对上报成功的日志进行移动,获取移动结果:
53.本条日志不移动,下一次扫描时进行二次加载;
54.将用户日志文件移动到本地备份目录;
55.s72、扫描备份目录,查看是否存在过期文件:
56.若存在过期文件,保存过期文件列表,循环删除至整个过期文件列表删除完成。
57.本发明第二方面提供一种iptvcdn用户播放日志上报系统,包括系统初始化模块、任务调度模块、用户日志读取模块和用户日志上报模块:
58.所述系统初始化模块包括:参数配置模块和程序日志模块;
59.所述任务调度模块包括:定时器管理模块和上报指令生成模块;
60.所述用户日志读取模块包括:用户日志扫描模块、用户日志解析模块、会话存活查询模块和用户日志保存模块;
61.所述用户日志处理模块包括:用户日志上报模块和本地用户日志回收模块;
62.s1、系统初始化模块获取cdn节点日志目录下的日志文件内容;
63.s2、定时器管理模块按行循环读取日志文件内容,按保存格式需求切割日志,将切割后的日志保存在内存中;
64.s3、会话存活查询模块对用户日志解析模块读取的日志文件内容的会话session是否存活进行判断:
65.若会话session存活,则执行步骤s2;
66.若会话session结束,则执行步骤s4;
67.s4、用户日志保存模块将保存日志文件内容到系统内存中;
68.s5、用户日志上报模块根据上报指令生成模块生成的上报指令对用户日志保存模块中的日志文件内容进行上报:
69.若指令为发送指标,则执行步骤s6;
70.若指令为暂不发送指标,则执行步骤s2;
71.s6、用户日志上报模块上报日志文件内容;
72.进一步的,所述程序日志模块用于初始化日志进程,所述参数配置模块用于加载系统配置参数到内存中;
73.所述用户日志扫描模块在接收任务调度指令后,按行对日志存储目录进行扫描,将日志文件名称保存成列表,后续模块使用;
74.所述定时器管理模块用于定时获取日志文件内容;
75.所述用户日志解析模块用于将定时器管理模块定时获取的日志文件内容按照一定的规则进行切割解析,保存成iptv日志标准的格式;
76.所述会话存活查询模块用于查询会话session是否存活:
77.若会话session结束,则该条日志将会发送;
78.若会话session存活,则该条日志记录会被保存在内存中,待用户播放结束,即该会话id查询时反馈已经结束,合并该会话id的所有播放时长,统一上报;
79.所述用户日志保存模块用于保存日志解析模块中已经播放结束的日志,并实时反馈已经保存的日志条数,内存大小,重发次数;
80.所述上报指令生成模块用于将实时指标与sign符号函数的特性结合,生成是否将用户日志保存模块中的信息上报的指令;
81.所述日志上报模块用于在接收到任务调度模块发送指令后,提取日志记录保存模块中的数据,对日志文件内容进行上报,并将上报结果反馈给任务调度模块;
82.所述本地日志回收模块用于在上报成功指令收到后,将上报成功的日志移动到本地备份目录,并定时清理本地备份目录中过期日志。
83.本发明与现有技术相比,具有如下的优点和有益效果:
84.1.通过cdn会话实时判断方法,解决iptvcdn用户跳跃播放场景的日志上报。实时请求并判断该会话session是否还在进行cdn数据请求。若还在服务,该条日志将不会上报,直到用户播放完成,该会话session结束请求,汇总用户播放时间后一次上报,这样的方式并不会引起日志上报的延迟,因为用户处于正常播放实际,同时解决了cdn用户播放日志时间太短结算不准确的问题;
85.2.通过结合日志文件的实时指标,动态输出是否上报的命令,有效应对cdn节点日志生成高低峰、日志条数、日志大小不均匀的现象。通过本方法,结合网络的连通性、当前上报内存中的日志条数、日志大小、日志实时性要求,在上报指令算法输出结果的基础上,智能进行日志上报,实现日志上报平稳、准时、准确。
附图说明
86.为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要
使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
87.图1为本发明实施例中的iptvcdn用户播放日志字段示意图;
88.图2为本发明实施例中的iptvcdn用户播放日志上报流程图;
89.图3为本发明实施例中的系统组成模块示意图;
90.图4为本发明实施例中的本地日志消费流程图;
91.图5为本发明实施例中的单条日志解析流程图;
92.图6为本发明实施例中的cdn会话session存活判断流程图;
93.图7为本发明实施例中的智能上报指令算法流程图;
94.图8为本发明实施例中的本地用户日志回收模块工作流程图。
具体实施方式
95.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
96.实施例1
97.如图2,所示,本实施例第一方面提供一种iptvcdn用户播放日志上报方法,具体包括以下步骤:
98.s1、获取cdn节点日志目录下的日志文件内容;
99.s2、按行循环读取日志文件内容,按保存格式需求切割日志文件,保存切割后的日志文件;
100.s3、对读取的日志文件内容的会话session是否存活进行判断:
101.若会话session存活,则执行步骤s2;
102.若会话session结束,则执行步骤s4;
103.s4、保存s3的日志文件内容;
104.s5、根据日志文件的实时指标判断是否对日志文件内容进行上报:
105.若判断结果为上报,则执行步骤s6;
106.若判断结果为不上报,则执行步骤s2;
107.s6、上报日志文件内容。
108.通过对读取的日志文件内容的会话session是否存活进行判断,对属于同一个会话session的多条日志进行等待、合并上报,防止cdn节点生成的日志不区分当前用户是否还在播放直接上报,造成http协议播放时同一个会话id在跳跃播放场景的日志无任何处理,从而导致播放计算不准确的情况,有效的保证cdn业务用户播放日志上报准确、有效,通过日志文件的实时指标判断是否对日志文件内容进行上报,结合日志文件的实时指标,动态输出是否上报的命令,有效应对cdn节点日志生成高低峰、日志条数、日志大小不均匀的现象,能够将cdn用户播放日志进行及时、准确的上报。
109.在一些可能的实施例中,s1具体包括:
110.s11、初始化日志进程,获取初始配置参数;
111.s12、将初始参数配置加载到内存中;
112.s13、获取cdn节点日志目录下;
113.s14、判定日志目录内是否有日志,直至判定结果为日志目录内有日志,执行步骤s2。
114.如图4所示,s2具体包括:
115.s21、按行循环读取日志存储目录中的日志文件内容,日志文件的读取优先级为当前日志、历史日志;
116.s22、对日志文件内容的字段进行解析,对字段进行切割;
117.s23、判断字段是否异常:
118.若字段无异常,执行步骤s3;
119.若字段存在异常,则保存错误日志到本地目录中,对下一条日志文件内容进行解析。
120.s25、保存解析后的日志文件。
121.如图6所示,cdn会话存活判断步骤具体包括:
122.s31、获取单条日志的会话session值;
123.s32、判断该会话session是否在内存中:
124.若判断为会话session在内存中,则执行步骤s33;
125.若判断为会话session不在内存中,则执行步骤s34;
126.s33、获取该会话session的历史数据;
127.s34、判断会话session是否存活:
128.若判断会话session存活,将本条日志和历史内存中已有的数据合并后进行保存;
129.若判断会话session结束,则解析日志,对已存在日志的播放时间和起止时间进行合并。
130.在一些可能的实施例中,判断会话session存活后,还包括:
131.对存活的会话session进行判断是否合并日志上报:
132.若判断结果为合并日志上报,保存本条日志,等待该会话session的下一条日志,对同一会话session的日志进行合并;
133.若判断结果为不合并日志上报,则将本条日志上报。
134.如图7所示,s5具体包括:
135.s51、根据已完成解析的日志文件内容获取实时指标;
136.s52、对实时指标设置阈值参数;
137.s53、将实时指标与sign符号函数的特性结合,输出上报指令。
138.s53具体包括:
139.上报指令
140.c-日志中心连通性指标,x-节点连通日志中心的个数,sys
metrics-用户日志实时指标,nos_now-内存数据已发送次数,td_now-距离上一次上报时间差,nol_now-内存中的已有日志条数,slfs_now-单个日志文件大小,nos_set-内存数据发送次数上限,td_set-上报
时间差上限、nol_set-内存中日志条数上限、slfs_set-单个日志文件大小上限。
141.如图8所示,还包括:步骤s7、对本地用户日志文件进行处理,所述s7具体包括:
142.s71、对上报成功的日志进行移动,获取移动结果:
143.本条日志不移动,下一次扫描时进行二次加载;
144.将用户日志文件移动到本地备份目录;
145.s72、扫描备份目录,查看是否存在过期文件:
146.若存在过期文件,保存过期文件列表,循环删除至整个过期文件列表删除完成。
147.实施例2
148.如图2和图3所示,本实施例第二方面提供一种iptvcdn用户播放日志上报系统,包括系统初始化模块、任务调度模块、用户日志读取模块和用户日志上报模块:
149.系统初始化模块包括:参数配置模块和程序日志模块;
150.任务调度模块包括:定时器管理模块和上报指令生成模块;
151.用户日志读取模块包括:用户日志扫描模块、用户日志解析模块、会话存活查询模块和用户日志保存模块;
152.用户日志处理模块包括:用户日志上报模块和本地用户日志回收模块;
153.s1、系统初始化模块获取cdn节点日志目录下的日志文件内容;
154.s2、定时器管理模块按行循环读取日志文件内容,按保存格式需求切割日志,将切割后的日志保存在内存中;
155.s3、会话存活查询模块对用户日志解析模块读取的日志文件内容的会话session是否存活进行判断:
156.若会话session存活,则执行步骤s2;
157.若会话session结束,则执行步骤s4;
158.s4、用户日志保存模块将保存日志文件内容到系统内存中;
159.s5、用户日志上报模块根据上报指令生成模块生成的上报指令对用户日志保存模块中的日志文件内容进行上报:
160.若指令为发送指标,则执行步骤s6;
161.若指令为暂不发送指标,则执行步骤s2;
162.s6、用户日志上报模块上报日志文件内容;
163.程序日志模块用于初始化日志进程,参数配置模块用于加载系统配置参数到内存中;
164.用户日志扫描模块在接收任务调度指令后,按行对日志存储目录进行扫描,将日志文件名称保存成列表,后续模块使用;
165.定时器管理模块用于定时获取日志文件内容;
166.用户日志解析模块用于将定时器管理模块定时获取的日志文件内容按照一定的规则进行切割解析,保存成iptv日志标准的格式;
167.会话存活查询模块用于查询会话session是否存活:
168.若会话session结束,则该条日志将会发送;
169.若会话session存活,则该条日志记录会被保存在内存中,待用户播放结束,即该会话id查询时反馈已经结束,合并该会话id的所有播放时长,统一上报;
170.用户日志保存模块用于保存日志解析模块中已经播放结束的日志,并实时反馈已经保存的日志条数,内存大小,重发次数;
171.上报指令生成模块用于将实时指标与sign符号函数的特性结合,生成是否将用户日志保存模块中的信息上报的指令;
172.日志上报模块用于在接收到任务调度模块发送指令后,提取日志记录保存模块中的数据,对日志文件内容进行上报,并将上报结果反馈给任务调度模块;
173.本地日志回收模块用于在上报成功指令收到后,将上报成功的日志移动到本地备份目录,并定时清理本地备份目录中过期日志。
174.实施例3
175.如图2所示,
176.系统初始化模块包括:参数配置模块和程序日志模块:
177.参数配置模块用于加载系统配置参数到内存中,配置参数包括:主备日志中心的ip地址、主备端口、cdn系统工程名称,cdn业务节点服务ip、端口、日志目录,日志是否合并,上报频率、单次上报大小等。实时指标包括:内存数据发送次数上限nos_set(numberofsend_set)、上报时间差上限td_set(timedifference_set)、内存中日志条数上限nol_set(numberoflog_set)、单个日志文件大小上限slfs_set(singlelogfilesize_set),这些指标均根据cdn推流节点服务器性能设置在程序配置文件中,参数默认配置为:内存数据发送次数上限nos_set=3、上报时间差上限td_set=3(分钟)、内存中日志条数上限nol_set=10000(条)、单个日志文件大小上限slfs_set=5(mb);
178.程序日志模块用于初始化日志进程,主要进行程序日志进程初始化,初始化任务包括日志保存时间、保存大小、记录级别等基础配置,完成后,系统自动检测本地系统日志文件的情况,进行文件切割、备份、删除操作,同时整个系上报系统在任意位置均可调用日志模块进行程序日志的记录;
179.任务调度模块包括:定时器管理模块和上报指令生成模块:
180.定时器管理模块是整个程序运行的触发器,由定时间隔确定,检测时间间隔可以设置为:日志中心连通性检查频率为10秒一次,日志读取模块运行频率为1分钟一次、历史日志删除模块运行频率10分钟一次;
181.上报指令生成模块是整个程序的核心,结合实时的各类指标,智能生成数据上报指令。实时指标包括:日志中心连通性指标c、内存数据已发送次数nos_now(numberofsend_now)、距离上一次上报时间差td_now(timedifference_now)、内存中的已有日志条数nol_now(numberoflog_now)、单个日志文件大小slfs_now(singlelogfilesize_now),程序根据实时指标,结合sign符号函数的特性,输出结果0/1,其中0指令含义为本次日志暂时不上报,1指令含义为本次日志需要上报。
182.用户日志读取模块包括:用户日志扫描模块、用户日志解析模块、会话存活查询模块、用户日志保存模块:
183.日志扫描模块在接收任务调度指令后,对cdn推流程序的日志目录进行扫描,将日志文件名称以最新时间顺序保存成列表,供后续模块使用。
184.用户日志解析模块将cdn话单日志按照一定的规则进行切割解析,保存成iptv日志标准的格式,解析规则为以“|”符号切割,各字段对应其含义生成字典,若存在某一行日
志不符合iptv规范,则将该条日志单独写入本地磁盘,保存为错误日志文件,由其他监控程序来发现异常并告警。
185.如图6所示,会话存活查询模块,每条话单日志的第一个字段为会话id,该模块为了确保这个会话session已经结束,将该会话session发送给cdn节点服务进行确认,若会话session已经结束,则该条日志将会发送,若会话session还存活,则该条日志记录会被保存在内存中,不会被合并解析上报,待用户播放结束再上报,即该会话id查询时反馈404(代表会话session已经结束),合并该会话session的所有播放时长、播放起止时间后,统一上报。
186.用户日志保存模块,用于保存日志解析模块中已经播放结束的日志,实时反馈已经保存的日志条数,内存大小,重发次数。
187.如图8所示,用户日志处理模块包括:用户日志上报模和本地用户日志回收模块:
188.用户日志上报模块主要负责日志上报,在接收到任务调度模块下发的发送指令后,提取用户日志保存模块中的数据,上报到日志中心,并将上报结果反馈给任务调度模块。若有失败,记录发送次数,待下一次进行调度指令计算时一同传入计算,避免程序无休止的重传。
189.本地日志回收模块主要有两个任务,一是对在上报成功指令收到后,将上报成功的日志移动到本地备份目录,上报失败的日志,将不进行移动,下一次用户日志扫描模块查询时,根据时间顺序再次加载即可;二是对本地的过期日志处理,清理备份目录中日志文件,清理日志的阈值为保存时间,目录中超过7天的日志文件将会被删除。
190.实施例3
191.如图6所示:
192.a1、获取初始配置参数,解析字段,对字段进行切割;
193.a2、判断字段是否异常:
194.若字段无异常,执行步骤a3;
195.若字段存在异常,则保存错误日志到本地目录中,解析下一条日志记录,执行步骤a7;
196.a3、判断会话session是否存活:
197.若会话session存活,执行步骤a4;
198.若会话session结束,执行步骤a5;
199.a4、判断是否合并日志上报:
200.若判断结果为合并日志上报,则将日志数据全部保存到内存中,等待下一次session日志到达,进行id合并,执行步骤a7;
201.若判断结果为不合并日志上报,则将本次记录上传,执行步骤a5;
202.a5、针对特殊业务进行字段的转义,所述特殊业务包括屏幕大小和播放类型;
203.a6、保存解析后的日志字段到内存中,待日志文件内容的实时指标达到发送阈值时上报日志信息;
204.a7、本次解析结束。
205.实施例5
206.iptv领域包括http和rtsp两类业务。其中rtsp播放是长连接,可以发送连接信令,并且有专门的暂停、退出信令,因此程序一定是在用户播放接受后才会生成。而http因为无
法传递连接状态的信息,造成用户每一次连接(播放、拖动、暂停超过5分钟)均生成一条日志,进而生成多条日志,意味着同一会话id播放多次同一影片,而实际的播放行为只是播放1部影片,导致用户播放日志上报与实际播放有偏差。
207.如图1所示,iptvcdn用户播放日志字段包括session、user、ip、start-time和end-time,通过对cdn会话session是否存活实时判断方法,解决iptvcdn用户跳跃播放场景的日志上报。cdn推流程序提供会话session查询,接口访问示例:
208.http://127.0.0.1:12345/getactivesessioninfo?cl_session=1241252
209.若该会话session存活,用户仍在播放中,推流程序会返回该会话的播放内容id、播放协议(http/rtsp)、播放开始时间等,返回json结果如下所示:
[0210][0211]
若该会话session结束,即用户播放结束,则cdn推流程序返回404,即查询会话id不存在。
[0212]
根据接口返回结果,若访问结果是404,则该会话session的日志本次可以上报。若访问结果返回正常json数据,则该条日志将不会上报,直到用户播放完成,用户会话session结束,上报程序汇总用户播放时间后一次上报,排除因用户会话还在进行时,已经生成到本地的日志依然上报,有效的保证cdn业务用户播放日志上报准确、有效。
[0213]
2.智能上报指令生成方法,有效应对cdn节点日志生成高低峰、日志条数、日志大小不均匀的现象。通过本方法,结合统配置参数:内存数据发送次数上限nos_set(numberofsend_set)、上报时间差上限td_set(timedifference_set)、内存中日志条数上限nol_set(numberoflog_set)、单个日志文件大小上限slfs_set(singlelogfilesize_set),动态智能进行日志上报,实现日志上报平稳、准时、准确。
[0214]
前置条件:
[0215]
条件1.已配置上报程序阈值参数,默认配置为:内存数据发送次数上限nos_set=3、上报时间差上限td_set=3(分钟)、内存中日志条数上限nol_set=10000(条)、单个日志文件大小上限slfs_set=5(mb);
[0216]
条件2.主程序已经将日志目录的文件内容解析完成,其文件内容、文件大小、日志条数已经获取并加载到内存中。
[0217]
算法依据符号函数特性:当x》0,sign(x)=1;当x=0,sign(x)=0;当x《0,ign(x)=-1;其中,系统实时参数包括:
[0218]
a.日志中心连通性指标c
[0219]
b.内存数据已发送次数nos_now(numberofsend_now)
[0220]
c.距离上一次上报时间差td_now(timedifference_now)
[0221]
d.内存中的已有日志条数nol_now(numberoflog_now)
[0222]
e.单个日志文件大小slfs_now(singlelogfilesize_now)
[0223]
日志中心连通性指标c计算方式为:程序依次访问主日志中心、备日志中心,该指标为该节点连通日志中心的个数,例如:只与备节点连通,则x=1;若与主备日志中心都连通,则x=2;若都不通,则x=0。输入函数,其结果为1或者0,计算公式为:
[0224]
c=sign(x)
[0225]
用户日志实时指标sys_metrics(systemmetrics)计算方式为:获取系统当前的值,包括:nos_now、td_now、nol_now、slfs_now,系统配置值为:nos_set、td_set、nol_set、slfs_set,将实时指标与系统配置指标求商后,与1取最大值,并将结果与1求差,最后输入符号函数sign,获取结果;
[0226]
计算公式为:
[0227][0228]
其中,4类用户日志实时指标最小值为0,最大为无穷大(单次统计情况)。所遇场景有:
[0229]
场景一:当4类指标最大值小于等于1时,则:
[0230]
进一步计算sys_metrics=sign(0)=0;
[0231]
场景二:当4类指标最大值大于1时,记为max_metric,则:
[0232]
进一步计算sys_metrics=sign(max_metric)=1。
[0233]
将日志中心连通性指标c与用户日志实时指标sys_metrics相乘,结果为1时上报,结果为0时不上报。
[0234]
上报指令计算公式为:
[0235]
上报指令
[0236][0237]
通过以上方法,结合系统的5类实时指标,动态输出是否上报的命令,智能化的将cdn用户播放日志及时、准确上报。
[0238]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献