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

一种日志的采集方法、装置、计算机设备和存储介质与流程

2022-03-16 12:40:46 来源:中国专利 TAG:


1.本发明实施例涉及大数据的技术领域,尤其涉及一种日志的采集方法、装置、计算机设备和存储介质。


背景技术:

2.日志文件在计算机系统中是一个广泛的概念,任何程序都有可能输出日志文件,日志的内容、规模和用途也各不相同。
3.毫无疑问,日志文件中包含了大量的信息,其中包含了技术人员会感兴趣的信息,例如,从日志文件中中获取网站每类页面的pv值(pageview,页面访问量)、独立ip数(即去重之后的ip数量)、客户端的负载状态、客户端出现的异常,等等,以便更新产品、更好地为用户服务。
4.部分技术人员会感兴趣的信息是由客户端的设备采集,信息的采集规则预先由服务端下发至客户端,客户端按照该采集规则采集信息之后将该信息记录至日志文件中,并上传服务端进行分析。
5.一些大型的客户端大多是模块化进行开发的,即,一个团队负责一个客户端的模块,在某个团队对某些新版本的页面进行灰度测试的场景中,采集规则经常会发生变化,新的采集规则预先分发至客户端,客户端会按照新的采集规则记录日志文件,在灰度测试完毕之后,重新将原有的采集规则分发至这些客户端,这些客户端重新将新的采集规则替换为原有的分发规则。
6.由于并不知晓哪些客户端会访问新版本的页面,导致采集规则分发客户端的数量较为庞大,消耗的资源较多,效率较低,并且,反复替换采集规则容易出现异常,对客户端的正常运行造成影响。


技术实现要素:

7.本发明实施例提出了一种日志的采集方法、装置、计算机设备和存储介质,以解决如何提高分发日志文件的采集规则的效率、减少异常的问题。
8.第一方面,本发明实施例提供了一种日志的采集方法,应用于客户端,所述方法包括:
9.加载页面;
10.从所述页面中查找对所述页面配置的个性采集规则;
11.根据所述个性采集规则采集在访问所述页面时生成的数据;
12.将所述数据写入日志文件中;
13.将所述日志文件传输至日志服务器进行存储。
14.可选地,所述加载页面,包括:
15.向网页服务器发送加载请求;
16.接收所述网页服务器针对所述加载请求返回的、用于灰度测试的页面;
17.对所述页面进行解析、渲染。
18.可选地,所述从所述页面中查找对所述页面配置的个性采集规则,包括:
19.识别所述页面的版本;
20.若所述版本表示灰度测试,则在所述页面中读取对所述页面配置的个性采集规则。
21.可选地,所述在所述页面中读取对所述页面配置的个性采集规则,包括:
22.在所述页面中查找预设的标签;
23.在所述标签中读取对所述页面配置的个性采集规则。
24.可选地,所述在所述标签中读取对所述页面配置的个性采集规则,包括:
25.在所述标签中读取密文;
26.查询为所述客户端配置的密钥;
27.执行预设的对称密钥算法、使用所述密钥对所述密文解密,获得对所述页面配置的个性采集规则。
28.可选地,所述根据所述个性采集规则采集在访问所述页面时生成的数据,包括:
29.查询为所述客户端配置的共性采集规则;
30.将所述共性采集规则与所述个性采集规则结合为目标采集规则;
31.按照所述目标采集规则采集在访问所述页面时生成的数据。
32.可选地,所述将所述共性采集规则与所述个性采集规则结合为目标采集规则,包括:
33.若所述页面用于灰度测试,则删除与所述灰度测试无关的所述共性采集规则、剩余与所述灰度测试相关的所述共性采集规则;
34.在与所述灰度测试相关的所述共性采集规则的基础上添加所述个性采集规则,获得目标采集规则。
35.第二方面,本发明实施例还提供了一种日志的采集装置,应用于客户端,所述装置包括:
36.页面加载模块,用于加载页面;
37.采集规则查找模块,用于从所述页面中查找对所述页面配置的个性采集规则;
38.访问数据采集模块,用于根据所述个性采集规则采集在访问所述页面时生成的数据;
39.日志文件生成模块,用于将所述数据写入日志文件中;
40.日志文件传输模块,用于将所述日志文件传输至日志服务器进行存储。
41.可选地,所述页面加载模块还用于:
42.向网页服务器发送加载请求;
43.接收所述网页服务器针对所述加载请求返回的、用于灰度测试的页面;
44.对所述页面进行解析、渲染。
45.可选地,所述采集规则查找模块还用于:
46.识别所述页面的版本;
47.若所述版本表示灰度测试,则在所述页面中读取对所述页面配置的个性采集规则。
48.可选地,所述采集规则查找模块还用于:
49.在所述页面中查找预设的标签;
50.在所述标签中读取对所述页面配置的个性采集规则。
51.可选地,所述采集规则查找模块还用于:
52.在所述标签中读取密文;
53.查询为所述客户端配置的密钥;
54.执行预设的对称密钥算法、使用所述密钥对所述密文解密,获得对所述页面配置的个性采集规则。
55.可选地,所述访问数据采集模块还用于:
56.查询为所述客户端配置的共性采集规则;
57.将所述共性采集规则与所述个性采集规则结合为目标采集规则;
58.按照所述目标采集规则采集在访问所述页面时生成的数据。
59.可选地,所述访问数据采集模块还用于:
60.若所述页面用于灰度测试,则删除与所述灰度测试无关的所述共性采集规则、剩余与所述灰度测试相关的所述共性采集规则;
61.在与所述灰度测试相关的所述共性采集规则的基础上添加所述个性采集规则,获得目标采集规则。
62.第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
63.一个或多个处理器;
64.存储器,用于存储一个或多个程序,
65.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的日志的采集方法。
66.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的日志的采集方法。
67.在本实施例中,加载页面,从页面中查找对页面配置的个性采集规则,根据个性采集规则采集在访问页面时生成的数据,将数据写入日志文件中,将日志文件传输至日志服务器进行存储,访问页面的客户端被分发个性采集规则,精准控制个性采集规则分发客户端的数量,消耗的资源较少,效率较高,并且,个性采集规则在访问页面时生效,属于临时性质,避免反复替换采集规则,减少异常的发生,保证客户端的正常运行。
附图说明
68.图1为本发明实施例一提供的一种日志的采集方法的流程图;
69.图2为本发明实施例二提供的一种日志的采集装置的结构示意图;
70.图3为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
71.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
72.实施例一
73.图1为本发明实施例一提供的一种日志的采集方法的流程图,本实施例可适用于在页面配置日志文件的采集规则的情况,该方法可以由日志的采集装置来执行,该日志的采集装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,个人电脑、移动终端、智能穿戴设备,等等,具体包括如下步骤:
74.步骤101、加载页面。
75.本实施例可应用于客户端,该客户端可向网页服务器(web服务器)发送加载请求,该加载请求可以是指用户发出的加载某个页面的指示。
76.例如,用户可以通过点击某链接来打开一个页面,或者在地址栏输入网址来打开一个页面等等。当用户点击某链接的指示时,就相当于接收到了加载页面的加载请求;同样,当在地址栏输入某网址并点击确定按钮或按下回车键时,也相当于接收到了加载页面的加载请求。
77.其中,加载请求的内容可以包括用户请求加载的页面的标识和/或页面的特征。页面的标识可以是能够代表一个唯一确定的网页的信息,例如统一资源标识符(uniform resource identifier,uri),统一资源标识符又具体可以包括统一资源定位符(uniform resource locator,url),或者统一资源名称(uniform resource name,urn)等等。
78.网页服务器在接收到加载请求时,可将页面发送至客户端,客户端加载该页面,供用户浏览。
79.示例性地,加载页面的过程可以如下:
80.1.当检测到用户输入网址(假设是个html(hypertext markup language,超文本标记语言)页面,并且是第一次访问)时,客户端向web服务器发出请求加载该网址指示的网页,web服务器返回对应的html文本。
81.2.客户端开始载入html文本的源代码,当检测到<head>标签内有一个<link>标签时,则需要引用外部css文件;
82.3.客户端向v服务器发出css文件的请求,web服务器返回对应的css文件;
83.4.客户端继续载入html文本中<body>部分的代码,此时css文件已经接收到,可以开始渲染页面;
84.5.当客户端在html文本中检测到一个<img>标签时,需要引用了一张图片,则向web服务器发送加载图片的请求。此时客户端不会等待图片下载完,而是继续渲染后面的代码;
85.6.web服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此客户端需要重新渲染这部分代码;
86.7.当客户端检测到一个包含一行javascript代码的<script>标签时,则立即运行;
87.8.采用javascript脚本执行了上述语句,其命令客户端隐藏掉代码中的某个<div>(style.display=”none”),由于缺少了<div>元素,客户端需要重新渲染这部分代码;
88.9.当检测到</html>时,渲染完成;
89.10.当用户点击界面中的“换肤”按钮,javascript让客户端换了<link>标签的css路径;
90.11.客户端采用<div>、<span>、<ul>、<li>等各元素,并向服务器请求新的css文件,重新渲染页面。
91.进一步而言,该客户端可向网页服务器(web服务器)发送加载请求,网页服务器在接收到加载请求时,查找灰度测试的页面,并将该页面发送至客户端,客户端可接收网页服务器针对加载请求返回的、用于灰度测试的页面,从而对页面进行解析、渲染。
92.其中,灰度测试,又称灰度发布,金丝雀发布,是指在黑与白之间能够平滑过渡的一种发布方式。在其上可以进行a/b testing,即让一部分用户继续用产品特性a(如原有版本的页面),一部分用户开始用产品特性b(如新版本的页面),如果用户对b没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到b上面来。
93.灰度测试是对某一产品的发布逐步扩大使用群体范围,也叫灰度放量。灰度测试可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度测试开始到结束期间的这一段时间,称为灰度期。
94.灰度测试能及早获得用户的意见反馈,完善页面中的产品功能,提升产品质量,让用户参与产品测试,加强与用户互动,降低产品升级所影响的用户范围。
95.一般情况下,灰度测试的步骤如下:
96.1、定义目标。
97.2、选定策略:包括用户规模、发布频率、功能覆盖度、回滚策略、运营策略、新旧系统部署策略等。
98.3、筛选用户:包括用户特征、用户数量、用户常用功能、用户范围等。
99.4、部署系统:部署新系统、部署用户行为分析系统(web analytics)、设定分流规则、运营数据分析、分流规则微调。
100.5、发布总结:用户行为分析报告、用户问卷调查、社会化媒体意见收集、形成产品功能改进列表。
101.6、产品完善。
102.7、新一轮灰度发布或完整发布。
103.步骤102、从页面中查找对页面配置的个性采集规则。
104.在本实施例中,web服务器可在页面中单独为日志文件配置采集规则,即,采样日志文件中的数据的规则,客户端可从页面中读取该采集规则,为便于区分,该采集规则可记为个性采集规则。
105.在具体实现中,可以从web服务器针对加载请求返回的响应中识别当前页面的版本。
106.若该版本表示灰度测试,则可以在页面中读取对页面配置的个性采集规则。
107.若该版本表示稳定使用,则可以在本地的配置文件中读取对页面配置的采集规则。
108.进一步而言,html等文档可支持自定义的标签,因此,可在当前页面的文档中设置自定义标签,将对该文档配置的个性采集规则写入该页面的文档中。
109.以html文档为例,在自定义标签时,设置《html》标签的xmlns属性。例如,可以这样
声明:《html xmlns:article》。这是因为html文档有一个默认的“名字空间”,《div》,《p》等标签就处在这个默认的“名字空间”中。这个默认的“名字空间”中并不包含自定义标签,此时,可自定义一个“名字空间”,让自定义标签处在这个自定义的“名字空间”中,也就是说,自定义标签的名称前要指明它所在的“名字空间”,而自定义标签的样式,既可以在《style》标签中设定,也可以在使用时设定它的style属性(内联式设定)。
110.那么,客户端可以在页面中查找预设的标签,从而在标签中读取对页面配置的个性采集规则,既不影响页面的正常显示,也保证了页面与个性化规则的一一对应。
111.此外,为了提高个性化标签的安全性,web服务器可以使用对称密钥算法对个性化标签进行加密,得到密文,并将密文写入自定义标签中。
112.此时,客户端可在标签中读取密文,查询为客户端配置的密钥,从而执行预设的对称密钥算法、使用该密钥对密文解密,获得对页面配置的个性采集规则,可有效防止对个性化规则的篡改,提高了个性化规则的安全性。
113.步骤103、根据个性采集规则采集在访问页面时生成的数据。
114.客户端在读取为当前页面配置的个性化规则之后,可以加载个性采集规则,按照个性采集规则的规定,在访问页面的期间,采集相应的数据。
115.在具体实现中,可以查询为客户端配置的共性采集规则,共性采集规则为对稳定使用的页面配置的采集规则,可预先分发至客户端,并存储在客户端本地。
116.由于灰度测试的页面与稳定使用的页面在产品的功能上一般至少部分相同,差异之处根据版本修改的幅度而定,个性采集规则体现了对共性采集规则的修订,那么,将共性采集规则与个性采集规则进行比较,使得可以将共性采集规则与个性采集规则结合为目标采集规则,从而按照目标采集规则采集在访问页面时生成的数据。
117.进一步而言,若页面用于灰度测试,则删除与灰度测试无关的共性采集规则、剩余与灰度测试相关的共性采集规则,例如,稳定使用的页面具有一个用于直播的view(视图),灰度测试的页面删减了该用于直播的view(视图),那么,可删除表示检测用于直播的view(视图)是否正确加载、加载直播数据的延时等共性采集规则。
118.需要说明的是,在结束当前页面的访问之后,共性采集规则恢复原有的状态。
119.此外,在与灰度测试相关的共性采集规则的基础上添加个性采集规则,获得目标采集规则。
120.例如,灰度测试的页面相比于稳定使用的页面,增加了一个用于直播的view(视图),灰度测试的其中一个目的是测试新的用于直播的view(视图)是否正确加载、用于直播的view(视图)是否被客户端中第三方插件拦截,那么,可以增加表示检测用于直播的view(视图)是否正确加载、用于直播的view(视图)是否被第三方插件拦截等个性采集规则。
121.步骤104、将数据写入日志文件中。
122.客户端按行将采集到的数据写入日志文件中,直至页面访问结束。
123.步骤105、将日志文件传输至日志服务器进行存储。
124.客户端建立缓存队列,将日志文件存储至缓存队列中,并将缓存队列中的日志文件发送至日志服务器进行存储,待技术人员调用、分析。
125.在本实施例中,加载页面,从页面中查找对页面配置的个性采集规则,根据个性采集规则采集在访问页面时生成的数据,将数据写入日志文件中,将日志文件传输至日志服
务器进行存储,访问页面的客户端被分发个性采集规则,精准控制个性采集规则分发客户端的数量,消耗的资源较少,效率较高,并且,个性采集规则在访问页面时生效,属于临时性质,避免反复替换采集规则,减少异常的发生,保证客户端的正常运行。
126.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
127.实施例二
128.图2为本发明实施例二提供的一种日志的采集装置的结构框图,应用于客户端,所述装置具体可以包括如下模块:
129.页面加载模块201,用于加载页面;
130.采集规则查找模块202,用于从所述页面中查找对所述页面配置的个性采集规则;
131.访问数据采集模块203,用于根据所述个性采集规则采集在访问所述页面时生成的数据;
132.日志文件生成模块204,用于将所述数据写入日志文件中;
133.日志文件传输模块205,用于将所述日志文件传输至日志服务器进行存储。
134.在本发明的一个实施例中,所述页面加载模块201还用于:
135.向网页服务器发送加载请求;
136.接收所述网页服务器针对所述加载请求返回的、用于灰度测试的页面;
137.对所述页面进行解析、渲染。
138.在本发明的一个实施例中,所述采集规则查找模块202还用于:
139.识别所述页面的版本;
140.若所述版本表示灰度测试,则在所述页面中读取对所述页面配置的个性采集规则。
141.在本发明的一个实施例中,所述采集规则查找模块202还用于:
142.在所述页面中查找预设的标签;
143.在所述标签中读取对所述页面配置的个性采集规则。
144.在本发明的一个实施例中,所述采集规则查找模块202还用于:
145.在所述标签中读取密文;
146.查询为所述客户端配置的密钥;
147.执行预设的对称密钥算法、使用所述密钥对所述密文解密,获得对所述页面配置的个性采集规则。
148.在本发明的一个实施例中,所述访问数据采集模块203还用于:
149.查询为所述客户端配置的共性采集规则;
150.将所述共性采集规则与所述个性采集规则结合为目标采集规则;
151.按照所述目标采集规则采集在访问所述页面时生成的数据。
152.在本发明的一个实施例中,所述访问数据采集模块203还用于:
153.若所述页面用于灰度测试,则删除与所述灰度测试无关的所述共性采集规则、剩
余与所述灰度测试相关的所述共性采集规则;
154.在与所述灰度测试相关的所述共性采集规则的基础上添加所述个性采集规则,获得目标采集规则。
155.本发明实施例所提供的日志的采集装置可执行本发明任意实施例所提供的日志的采集方法,具备执行方法相应的功能模块和有益效果。
156.实施例三
157.图3为本发明实施例三提供的一种计算机设备的结构示意图。图3示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图3显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
158.如图3所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
159.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
160.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
161.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
162.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
163.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器
以及数据备份存储系统等。
164.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的日志的采集方法。
165.实施例四
166.本发明实施例四还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述日志的采集方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
167.其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
168.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献