CN105930502B - 一种收集数据的系统、客户端和方法 - Google Patents

一种收集数据的系统、客户端和方法 Download PDF

Info

Publication number
CN105930502B
CN105930502B CN201610302731.0A CN201610302731A CN105930502B CN 105930502 B CN105930502 B CN 105930502B CN 201610302731 A CN201610302731 A CN 201610302731A CN 105930502 B CN105930502 B CN 105930502B
Authority
CN
China
Prior art keywords
data
field
type
value
piece
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.)
Expired - Fee Related
Application number
CN201610302731.0A
Other languages
English (en)
Other versions
CN105930502A (zh
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 CN201610302731.0A priority Critical patent/CN105930502B/zh
Publication of CN105930502A publication Critical patent/CN105930502A/zh
Application granted granted Critical
Publication of CN105930502B publication Critical patent/CN105930502B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

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 Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种收集数据的系统、客户端和方法,属于互联网技术领域。本发明的方案包括:在不同的生产服务器上分别部署客户端,客户端将所获取的数据按照对应的不同类别的业务分类存放,在每种类别业务对应的定时周期结束时,客户端将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。本发明的技术方案,可以传送包含任意个数字段的数据,使得数据的传送不再有诸多限制,并在客户端对数据进行了归并处理,因此避免了因传输大量的相同或类似的数据,造成网络堵塞和延迟的问题。

Description

一种收集数据的系统、客户端和方法
本发明专利申请是申请日为2012年10月22日、申请号为201210404918.3、名称为“一种收集数据的系统、客户端和方法”的中国发明专利申请的分案申请。
技术领域
本发明涉及互联网技术领域,具体涉及一种收集数据的系统、客户端和方法。
背景技术
互联网时代的后台数据非常重要而且庞大,比如日志数据和统计数据。这些后台数据可能是后台工程师分析程序运行状况的第一手资料,也可能是业务运营决策所依赖的第一参考。然而大流量的网站一般都有上千万台生产服务器,且分布于各个不同的机房。日志文件或统计数据就会存放在这些网络异构且分布零散的生产服务器上,给日志的收集、传输、汇总及分析带来很大的困难。目前有一些开源的软件可以用来收集这些日志,但也存在着很多不能解决的情况。
目前较为常用的一些开源软件例如Scribe,可以达到简单收集日志数据的目的。
Scribe是当前的一个大型的社交网络服务网站的开源的日志收集系统,在该大型的社交网络服务网站内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统HDFS等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。当中央存储系统的网络或者机器出现故障时,scribe会将日志转存到本地或者另一个位置,当中央存储系统恢复后,scribe会将转存的日志重新传输给中央存储系统。其通常与Hadoop结合使用,scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理。
图1是现有的Scribe收集日志的示意图。如图1所示,Scribe从作为种数据源的各应用上收集数据,放到一个共享队列上,然后push到后端的中央存储系统上。当中央存储系统出现故障时,scribe可以暂时把日志写到本地文件中,待中央存储系统恢复性能后,scribe把本地日志续传到中央存储系统上。
各个数据源须通过THRIFT(由于采用了THRIFT,客户端可以采用各种语言编写向scribe传输数据,每条数据记录包含一个category和一个message)。可以在scribe配置用于监听端口的THRIFT线程数(默认为3)。在后端,scribe可以将不同category的数据存放到不同目录中,以便于进行分别处理。后端的日志存储方式可以是各种各样的store,包括:file(文件),buffer(双层存储,一个主储存,一个副存储),network(另一个scribe服务器)等。
但是scribe存在如下缺点:
(1)scribe的一个缺点是前端组织数据不灵活,只能使用两个字段,即catagory和message,在生产服务器的应用程序中,如果想用scribe发送数据,则每条数据只能有catagory和message两个字段,如果想传送多个字段,则必须自己组织数据,将要传送的多个数据合并到message里面。在后期分析数据时还要自己解析message,得到原来的多个字段。这给数据的传输造成了诸多的限制和不便。
(2)另一个缺点是,scribe会接收每一条数据,并把它们忠实地记录在本地缓存,以一定频率批量发送数据,即便两条数据的category和message是一模一样的。这在数据传输量很大、传输频率很高时,容易造成严重的网络堵塞和延迟。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的收集数据的系统、客户端和相应的收集数据的方法。
依据本发明的一个方面,提供了一种收集数据的系统,其中,该系统包括:服务器端和部署于不同生产服务器上的多个客户端,
所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分类存放;
其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;每种类别业务都有一个对应的定时周期;
所述客户端,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给所述服务器端;
所述服务器端,适于从各客户端接收数据,并进行存储或转发。
可选地,所述客户端,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。
可选地,所述客户端,进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
可选地,所述服务器端,适于将所接收的数据转发给其它的服务器,或转发到数据库设备,或保存成本地文件。
根据本发明的另一方面,提供了一种收集数据的客户端,其中,该客户端包括:数据获取单元、归并处理单元和多个存储单元,所述多个存储单元分别对应不同类别的业务,且每个存储单元都有一个对应的定时周期;
所述数据获取单元,适于从生产服务器获取对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分发到对应的存储单元进行保存;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;
每个存储单元,适于保存来自数据获取单元的数据;
所述归并处理单元,适于在每个存储单元对应的定时周期结束时,将该存储单元所保存的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。
可选地,所述归并处理单元,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。
可选地,归并处理单元,进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
根据本发明的又一方面,提供了一种收集数据的方法,其中,该方法包括:
部署于生产服务器上的客户端获取该生产服务器所产生的对应不同类别业务的数据;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;
所述客户端将所获取的数据按照对应的不同类别的业务分类存放;其中,每种类别业务都有一个对应的定时周期;
对于每种类别业务,所述客户端在对应定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。
可选地,所述将标识有关键码的字段的值相同的数据归并为一条数据包括:
对于没有标识关键码的字段,按照不同的类型进行不同的归并处理。
可选地,所述对于没有标识关键码的字段,按照不同的字段类型进行不同的归并处理包括以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
根据本发明的这种在不同的生产服务器上分别部署客户端,各客户端将收集的数据发给服务器端,其中客户端将所获取的数据按照对应的不同类别的业务分类存放,每条数据包含一个以上的不同类型的字段,在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端的技术方案,可以传送任意个字段的数据,且在客户端就进行了数据归并处理,由此解决了现有的scribe只允许每条数据只能有catagory和message两个字段,从而使得数据的传送有诸多限制的问题,以及解决了现有的scribe在前端只是忠实地记录数据,不进行归并处理,导致数据传输量大、传输频率高,容易造成网络堵塞和延迟的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是现有的Scribe收集日志的示意图;
图2示出了根据本发明一个实施例的一种收集数据的系统的框图;
图3示出了根据本发明一个实施例的一种收集数据的客户端的结构图;
图4示出了根据本发明一个实施例的一种收集数据的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示出了根据本发明一个实施例的一种收集数据的系统的框图。如图2所示,该系统包括:服务器端202和多个客户端201。多个客户端201分别部署于不同的需要收集各种数据的生产服务器上。每个客户端201收集自身所在生产服务器所产生的数据并发送给服务器端202,服务器端202接收各个客户端201发回的数据,进行本地存储或者转发给其他的服务器。具体来说:
每个客户端201,适于获取生产服务器所产生的对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分类存放。其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;每种类别业务都有一个对应的定时周期;
每个客户端201,在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给所述服务器端202;
服务器端202,适于从各客户端201接收数据,并进行存储或转发。
这里,同一种类别业务的数据的数据格式相同,即数据所包含的字段个数和各字段的类型都相同。各类别的业务的可以根据实际需求定义数据的格式,即可以根据实际业务需求定义一条数据所包含的字段个数和各字段的类型。例如,可以定义如下类型的字段:求和类型(SUM_INT)、求平均类型(AVG_INT)、最大值类型(MAX_INT)、常字符类型(CONST_STRING)和累加字符类型(CONST_STRING)等。
设置这些字段的目的是为了针对各种不同类型业务的数据做各种优化处理,使得数据占用空间少,在分析处理数据时速度更快,占用内存更少,更容易识别每个字段的含义,并为后面的归并做好准备。
每个客户端201根据配置维护多个“盒子”,每个盒子存放相同格式的数据。也就是说一种类别业务对应一个“盒子”,该类别业务的数据存放到该对应的盒子里。客户端201将收集到的数据,根据其数据格式决定存放在哪个盒子中。在某个盒子的一个周期结束时,客户端201将该盒子中的数据做一次归并处理,然后发送给服务器端202。
在本发明中,作为归并的依据,在数据的某些字段上标识关键码(“Key”属性),在做数据归并时,会比较数据中的标识有关键码的字段,只有标识有关键码的字段的值相同的数据才可以归并为一条数据。
客户端201在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。即字段类型不同,其归并方式也不同。
客户端201,在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,可以采用以下一种或多种的组合:
(1)对于求和类型的字段:在归并时,将标识有关键码的字段的值相同的各数据的求和类型字段上的数值相加,其和作为归并后数据的求和类型字段的值;
(2)对于求平均类型的字段:在归并时,将标识有关键码的字段的值相同的各数据的求平均类型字段上的数值求平均,其均值作为归并后数据的求平均类型字段的值;
(3)对于最大值类型的字段:在归并时,从标识有关键码的字段的值相同的各数据的最大值类型字段上的值中找出最大值,作为归并后数据的最大值类型字段的值;
(4)对于常字符类型的字段:在归并时,从标识有关键码的字段的值相同的各数据中取第一条数据的常字符类型字段上的值,作为归并后数据的常字符类型字段的值;
(5)对于累加字符类型的字段:在归并时,将标识有关键码的字段的值相同的各数据的累加字符类型字段上的字符按指定顺序串接后,作为归并后数据的累加字符类型字段的值。
以上举例了5种字段类型以及其各自对应的归并方式。但本发明中的字段类型不限于以上的5种,可以根据实际业务需求定义更多类型的字段以及其归并方式。例如还可以定义浮点数求平均类型(AVG_FLOAT),最小值类型(MIN_INT)和浮点数求和类型(SUM_FLOAT)等,这里不再一一详述。
下面给出一个对数据进行归并处理的具体例子。
定义一个登陆业务的数据格式,该数据格式用于对登陆业务——“一个用户访问一个页面的次数”的数据进行记录,对应地在客户端上维护一个“盒子”,叫“Login”,周期是300秒,则数据格式具体为:
Login(300):user_id KEY_STR,script KEY_STR,number SUM_INT,datetimeTIME_FLOOR;
该数据格式包括4个字段,前两个字段user_id和script上标识有关键码KEY_STR,后两个字段number和datetime的类型分别为求和类型(SUM_INT)和地板时间类型(TIME_FLOOR)。
定义完成之后,就可以在生产服务器上发送符合各个字段类型的数据,部署于该生产服务器上的客户端对发送的数据进行收集。比如在2012-09-21 00:00:00到2012-09-21 00:04:59之间客户端收集的数据如表1所示:
ZK Index.php 1 2012-09-21 00:00:00
ZK Index.php 1 2012-09-21 00:01:03
ZK Index.php 5 2012-09-21 00:01:23
ZK Login.php 2 2012-09-21 00:02:14
HGL Login.php 2 2012-09-21 00:02:14
ZK Index.php 3 2012-09-21 00:03:19
HGL Index.php 7 2012-09-21 00:04:10
HGL Index.php 10 2012-09-21 00:04:34
表1
表1所示的数据是同属于登陆业务的数据,其格式相同,因此被客户端放入“Login”盒子中。在300秒的周期到了之后,客户端会对“Login”这个盒子中的数据做一次归并,归并结果如表2所示:
ZK Index.php 10 2012-09-21 00:00:00 第1,2,3,6条的归并结果
ZK Login.php 2 2012-09-21 00:00:00 第4条的归并结果
HGL Index.php 17 2012-09-21 00:00:00 第7,8条的归并结果
HGL Login.php 2 2012-09-21 00:00:00 第5条的归并结果
表2
表2的最后一列是对归并的说明。可见,由于表1中的第1、2、3和6条数据的标识有关键码的前两个字段的内容相同,因此可以合并成一条数据,合并后的数据的:前两个字段仍为原来的值;第三个字段为求和类型,因此其值为表1中的第1、2、3和6条数据的第三个字段中的数据的和,具体为10;第四个字段为地板时间类型,因此其值为本周期的起始时间。以此类推,表1中的第4条数据合并、表1中的第7和第8条数据可以合并,以及表1中的第5条数据合并。合并结果参见表2。
这样,在一个周期(2012-09-21 00:00:00到2012-09-21 00:04:59)内输入“Login”盒子的数据条目是8条数据,发送给服务器端202时只发送了4条数据。
服务器端202,适于接收各个客户端201发送的数据,并将所接收的数据转发给其它的服务器,或转发到数据库设备(如MySQL服务器),或保存成本地文件。
可见,服务器端202接收各个客户端发回的数据,而且服务器端202接收到数据后还可以转发给其他的服务器或数据库设备,即扮演“代理”角色。这样可以适用于异构的网络环境或机房。
由上述可见,本发明这种收集数据的系统,由于在客户端对数据进行了灵活的处理和归并,故可以实现对日志的收集,又能用于应用打点统计。
下面介绍客户端201的组成结构。
图3示出了根据本发明一个实施例的一种收集数据的客户端的结构图。如图3所示,该客户端包括:数据获取单元301、归并处理单元303和多个存储单元302,多个存储单元302分别对应不同类别的业务,且每个存储单元302都有一个对应的定时周期。其中:
数据获取单元301适于从生产服务器获取对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分发到对应的存储单元302进行保存;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;
每个存储单元302适于保存来自数据获取单元301的数据;
归并处理单元303适于在每个存储单元302对应的定时周期结束时,将该存储单元302所保存的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。
这里,同一种类别业务的数据的数据格式相同,即数据所包含的字段个数和各字段的类型都相同。各类别的业务的可以根据实际需求定义数据的格式,即可以根据实际业务需求定义一条数据所包含的字段个数和各字段的类型。
在本发明的一个实施例中,归并处理单元303进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。
在本发明的一个实施例中,归并处理单元303进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
图4示出了根据本发明一个实施例的一种收集数据的方法的流程图。如图4所示,该方法包括:
步骤S410,部署于生产服务器上的客户端获取该生产服务器所产生的对应不同类别业务的数据;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;
这里,同一种类别业务的数据的数据格式相同,即数据所包含的字段个数和各字段的类型都相同。
步骤S420,客户端将所获取的数据按照对应的不同类别的业务分类存放;其中,每种类别业务都有一个对应的定时周期;
步骤S430,对于每种类别业务,客户端在对应定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端。
其中,在步骤S430中,将标识有关键码的字段的值相同的数据归并为一条数据包括:对于没有标识关键码的字段,按照不同的类型进行不同的归并处理。这种对于没有标识关键码的字段,按照不同的字段类型进行不同的归并处理包括以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
综上所述,本发明的这种在不同的生产服务器上分别部署客户端,各客户端将收集的数据发给服务器端,其中客户端将所获取的数据按照对应的不同类别的业务分类存放,每条数据包含一个以上的不同类型的字段,在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端的技术方案,可以传送任意个字段的数据,且在客户端就进行了数据归并处理,由此解决了现有的scribe只允许每条数据只能有catagory和message两个字段,从而使得数据的传送有诸多限制的问题,以及解决了现有的scribe在前端只是忠实地记录数据,不进行归并处理,导致数据传输量大、传输频率高,容易造成网络堵塞和延迟的问题。本发明的技术方案,能够节省带宽、部署简单、容易维护且性能高效,本发明的技术方案更大程度上满足了网络数据传输时,对日志传输的灵活多变的需求。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据收集系统中的客户端和服务器端的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种收集数据的系统,其中,该系统包括:服务器端和部署于不同生产服务器上的多个客户端,
所述客户端,适于获取生产服务器所产生的对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分类存放;
其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码;每种类别业务都有一个对应的定时周期,同一种类别业务的数据的数据格式相同;
所述客户端,进一步适于在每种类别业务对应的定时周期结束时,将所保存的一个定时周期内该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据后发送给所述服务器端;
所述服务器端,适于从各客户端接收数据,并进行存储或转发;
所述客户端,适于定义如下至少一种类型的字段:求和类型、求平均类型、最大值类型、常字符类型和累加字符类型。
2.如权利要求1所述的系统,其中,
所述客户端,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的,标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。
3.如权利要求2所述的系统,其特征在于,
所述客户端,进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
4.如权利要求1至3中任一项所述的系统,其特征在于,
所述服务器端,适于将所接收的数据转发给其它的服务器,或转发到数据库设备,或保存成本地文件。
5.一种收集数据的客户端,其中,该客户端包括:数据获取单元、归并处理单元和多个存储单元,所述多个存储单元分别对应不同类别的业务,且每个存储单元都有一个对应的定时周期;
所述数据获取单元,适于从生产服务器获取对应不同类别业务的数据,将所获取的数据按照对应的不同类别的业务分发到对应的存储单元进行保存;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码,同一种类别业务的数据的数据格式相同;
每个存储单元,适于保存来自数据获取单元的数据;
所述归并处理单元,适于在每个存储单元对应的定时周期结束时,将该存储单元所保存的一个定时周期内数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端;
所述客户端,适于定义如下至少一种类型的字段:求和类型、求平均类型、最大值类型、常字符类型和累加字符类型。
6.如权利要求5所述的客户端,其中,
所述归并处理单元,进一步适于在每种类别业务对应的定时周期结束时,将所保存的该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据时,对没有标识关键码的字段,按照不同的类型进行不同的归并处理。
7.如权利要求6所述的客户端,其中,
归并处理单元,进一步适于在按照不同的类型对没有标识关键码的字段进行不同的归并处理时,采用以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
8.一种收集数据的方法,其中,该方法包括:
部署于生产服务器上的客户端获取该生产服务器所产生的对应不同类别业务的数据;其中,每条数据包含一个以上的字段,不同的字段具有不同的类型,且每条数据的至少一个字段标识有关键码,同一种类别业务的数据的数据格式相同;
所述客户端将所获取的数据按照对应的不同类别的业务分类存放;其中,每种类别业务都有一个对应的定时周期;
对于每种类别业务,所述客户端在对应定时周期结束时,将所保存的一个定时周期内该类别业务的数据中的标识有关键码的字段的值相同的数据归并为一条数据后发送给服务器端;
所述客户端,适于定义如下至少一种类型的字段:求和类型、求平均类型、最大值类型、常字符类型和累加字符类型。
9.如权利要求8所述的方法,其中,所述将标识有关键码的字段的值相同的数据归并为一条数据包括:
对于没有标识关键码的字段,按照不同的类型进行不同的归并处理。
10.如权利要求9所述的方法,其中,所述对于没有标识关键码的字段,按照不同的字段类型进行不同的归并处理包括以下一种或多种的组合:
对于求和类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值相加,其和作为归并后该字段的值;
对于求平均类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的数值求平均,其均值作为归并后该字段的值;
对于最大值类型的字段,从标识有关键码的字段的值相同的各数据的该字段上的值中找出最大值,作为归并后该字段的值;
对于常字符类型的字段,从标识有关键码的字段的值相同的各数据中取第一条数据的该字段上的值,作为归并后该字段的值;
对于累加字符类型的字段,将标识有关键码的字段的值相同的各数据的该字段上的字符按指定顺序串接后,作为归并后该字段的值。
CN201610302731.0A 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法 Expired - Fee Related CN105930502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610302731.0A CN105930502B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610302731.0A CN105930502B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法
CN201210404918.3A CN102937984B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201210404918.3A Division CN102937984B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法

Publications (2)

Publication Number Publication Date
CN105930502A CN105930502A (zh) 2016-09-07
CN105930502B true CN105930502B (zh) 2020-04-10

Family

ID=47696881

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210404918.3A Active CN102937984B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法
CN201610302731.0A Expired - Fee Related CN105930502B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210404918.3A Active CN102937984B (zh) 2012-10-22 2012-10-22 一种收集数据的系统、客户端和方法

Country Status (1)

Country Link
CN (2) CN102937984B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699718B (zh) * 2013-12-10 2019-04-12 阿里巴巴集团控股有限公司 用于快速引入业务数据的方法和装置
CN104090938A (zh) * 2014-06-26 2014-10-08 广州金山网络科技有限公司 一种提交数据的方法及装置
CN109064317B (zh) * 2018-08-10 2021-04-02 玖富金科控股集团有限责任公司 一种数据接收与转发方法、电子设备和可读存储介质
CN109491815A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 基于多阶段的数据生成方法、装置和计算机设备
CN110826307A (zh) * 2019-10-31 2020-02-21 北京字节跳动网络技术有限公司 业务对象的创建方法及设备
CN110995839B (zh) * 2019-12-03 2022-09-20 北京搜狐新媒体信息技术有限公司 广告系统性能的分析方法、装置和计算机存储介质
CN112416972A (zh) * 2020-09-25 2021-02-26 上海哔哩哔哩科技有限公司 实时数据流处理方法、装置、设备、及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN102637142A (zh) * 2012-04-13 2012-08-15 浪潮(北京)电子信息产业有限公司 一种实现日志管理的计算机系统及其方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737600A (en) * 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
US20060129415A1 (en) * 2004-12-13 2006-06-15 Rohit Thukral System for linking financial asset records with networked assets
CN100423001C (zh) * 2006-09-26 2008-10-01 北京北大方正电子有限公司 一种信息归并方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN102637142A (zh) * 2012-04-13 2012-08-15 浪潮(北京)电子信息产业有限公司 一种实现日志管理的计算机系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《统一网络安全管理中数据采集代理的设计和实现》;庄欣;《中国优秀硕士学位论文全文数据库》;20091115;第16-61页 *

Also Published As

Publication number Publication date
CN102937984B (zh) 2016-06-08
CN102937984A (zh) 2013-02-20
CN105930502A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105930502B (zh) 一种收集数据的系统、客户端和方法
US11182098B2 (en) Optimization for real-time, parallel execution of models for extracting high-value information from data streams
CN107895009B (zh) 一种基于分布式的互联网数据采集方法及系统
US12008027B2 (en) Optimization for real-time, parallel execution of models for extracting high-value information from data streams
CN101202966B (zh) 一种用户信息的收集方法、系统及设备
CN102902813A (zh) 日志收集系统
WO2017071179A1 (zh) 基于流量分析识别用户行为对象的方法和装置
CN111459986A (zh) 数据计算系统及方法
CN109063158B (zh) 一种网站访问排名信息查询的方法、设备、系统及介质
CN110928934A (zh) 一种用于业务分析的数据处理方法和装置
EP3030976A1 (en) Method for processing and displaying real-time social data on map
CN109033188A (zh) 一种元数据采集方法、装置、服务器和计算机可读介质
CN108228664B (zh) 非结构化数据处理方法及装置
CN107391606A (zh) 基于Storm的日志处理方法及装置
CN107704357B (zh) 日志生成方法和装置
CN108932640B (zh) 用于处理订单的方法和装置
Sharma et al. Recent trends in big data ingestion tools: A study
JP5024453B2 (ja) 業務フロー分散処理システム及び方法
CN103036746B (zh) 基于网络中间点的网页响应时间被动测量方法及系统
CN107679097A (zh) 一种分布式数据处理方法、系统和存储介质
WO2017091774A1 (en) Optimization for real-time, parallel execution of models for extracting high-value information from data streams
CN113779017A (zh) 数据资产管理的方法和装置
CN111723063A (zh) 一种离线日志数据处理的方法和装置
CN106549914B (zh) 一种独立访问者的识别方法及装置
CN112783754B (zh) 一种对页面进行测试的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200410

CF01 Termination of patent right due to non-payment of annual fee