CN103297477B - 一种数据采集上报系统及数据处理方法和代理服务器 - Google Patents
一种数据采集上报系统及数据处理方法和代理服务器 Download PDFInfo
- Publication number
- CN103297477B CN103297477B CN201210053786.4A CN201210053786A CN103297477B CN 103297477 B CN103297477 B CN 103297477B CN 201210053786 A CN201210053786 A CN 201210053786A CN 103297477 B CN103297477 B CN 103297477B
- Authority
- CN
- China
- Prior art keywords
- data
- sorting
- proxy server
- file
- judge
- 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.)
- Active
Links
Abstract
本发明适用于通讯技术领域,提供了一种数据采集上报系统,所述系统包括:一台或多台业务客户端、一台或多台代理服务器、数据处理服务器、以及资讯分享服务器;当业务客户端有数据上报时,业务客户端将所述数据上报到代理服务器;代理服务器接收业务客户端上报的数据,根据配置文件对所述数据进行分拣,并实时地转发给数据处理服务器进行相应的处理和/或资讯分享服务器进行数据的发布。本发明能够给各个业务客户端提供一个统一的数据上报通道,并且能够将上报数据中需要的字段自动分拣出来,发送到各个数据的需求方;另外,还支持准实时的数据落地和实时的数据转发两种上报类型,可满足这方面的需求。
Description
技术领域
本发明属于通讯技术领域,尤其涉及一种数据采集上报系统及数据处理方法和代理服务器。
背景技术
当前互联网系统使用Logsys作为业务数据上报的解决方案,该LogSys是指:老的数据上报系统,通过将业务上报的数据汇总到一台处理机器上之后再统一入库。Logsys提供API(ApplicationProgrammingInterface,应用程序编程接口)给到用户端,用户端调用API先直接写本地文件,通过一个Agent程序定时将本地文件发送到统一的处理机器上进行汇总,再将数据入库给统计分析方使用,所有业务的配置统一放在相同的配置文件中。
Logsys系统的所有业务配置都放在一个配置文件中,而配置文件则部署在业务机上,造成即使是与本业务无关的配置,也需要一起放在机器上,并且业务数量多以后,配置文件非常庞大,不便于管理。
Logsys不支持实时的上报,所有数据都要先收拢到一个统一的处理机器上,再定时入库,无法满足业务对实时统计信息的要求。
发明内容
本发明的目的在于提供一种数据采集上报系统及数据处理方法和代理服务器,旨在解决现有互联网系统使用Logsys作为业务数据上报的解决方案,不能实时将数据上报至不同的服务器中处理,且需要定时将数据入库,无法满足业务对实时统计信息的要求的问题。
本发明是这样实现的,一种数据采集上报系统,所述系统包括:一台或多台业务客户端、一台或多台代理服务器、数据处理服务器、以及资讯分享服务器;
当业务客户端有数据上报时,业务客户端将所述数据上报到代理服务器;代理服务器接收业务客户端上报的数据,根据配置文件对所述数据进行分拣,并实时地转发给数据处理服务器进行相应的处理和/或资讯分享服务器进行数据的发布。
本发明的另一目的在于提供一种数据处理方法,所述方法包括以下步骤:
接收数据;
根据配置文件对所述数据进行分拣;
实时地将分拣后的数据转发给对应的接收方。
本发明的另一目的在于提供一种代理服务器,所述代理服务器包括:
数据接收模块,用于接收数据;
分拣模块,用于根据配置文件对所述数据进行分拣;
转发模块,用于实时地将分拣后的数据转发给对应的接收方。
在本发明中,能够给各个业务客户端提供一个统一的数据上报通道,并且能够将上报数据中需要的字段自动分拣出来,发送到各个数据的需求方;另外,还支持准实时的数据落地和实时的数据转发两种上报类型,可满足这方面的需求。
附图说明
图1是本发明实施例提供的数据采集上报系统的结构示意图。
图2是本发明实施例提供的数据处理方法的实现流程示意图。
图3是本发明实施例提供的代理服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,为本发明实施例提供的数据采集上报系统的结构。为了便于说明,仅示出了与本发明实施例相关的部分。
所述数据采集上报系统主要包括:一台或多台业务客户端、一台或多台代理服务器、数据处理服务器、以及资讯分享服务器。
在本发明实施例中,所述数据处理服务器主要包括:数据安全处理服务器、数据分析服务器、数据监控服务器、以及数据调试服务器等等。
当业务客户端有数据上报时,业务客户端将所述数据上报到代理服务器;代理服务器接收业务客户端上报的数据,根据配置文件对所述数据进行分拣,并实时地转发给数据处理服务器进行相应的处理和/或资讯分享服务器进行数据的发布。
在本发明实施例中,数据处理服务器进行相应的处理主要包括:对数据进行安全处理,对数据进行分析,对数据进行监控,和/或对数据进行调试等相关操作。
在本发明实施例中,业务客户端部署有Agent程序,当有数据上报时,通过本地的进程与Agent程序进行交互,Agent程序将所述数据上报到代理服务器。
进一步的,调用API写数据,业务进程接收到数据请求后,无条件地向代理服务器做转发;如果业务进程短时间内无法正常上报到Agent程序,则会先自动将数据存储到本地,等到可以正常联通后,再进行上报。
作为本发明一优选实施例,所述数据采集上报系统还包括:管理服务器。
所述管理服务器:主要负责下发业务配置到代理服务器,以及监控业务客户端和代理服务器的心跳情况,对异常情况给出警告。
在本发明实施例中,代理服务器接收到一条数据后,判断是管理服务器发来的管理请求(本实施例中,管理请求是指配置下发请求)还是业务客户端的数据上报请求;如果是配置下发请求,则代理服务器更新内存中的配置库,该更新配置库不需要重启程序,因此有助于避免丢失数据。如果是业务客户端的数据上报请求,则代理服务器读取内存中最新的配置;判断该数据是否需要转发;若需要转发,则进一步判断是否需要分拣,如果需要分拣则将需要的字段分拣出来,并发到指定的数据接收方。如果判断该数据不需要转发,则进一步判断该数据是否需要落地(本实施例中,落地是指将数据放置在资讯分享服务器中);若需要落地,则进一步判断是否要分拣,将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
在本发明实施例中,对于上述的数据发送到分布式存储集群的资讯分享服务器,其有一系列的发送和容灾的策略,具体阐述如下:
当一个在active目录的文件达到指定大小,或者超过指定时间后,将被自动移动到Ready目录,ready目录下的文件会被发送到分布式存储集群的资讯分享服务器,具体由三个线程来完成:
发送线程的工作说明:
<1>启动时将文件从Sent目录移动到Ready目录;
<2>扫描Ready目录,将要发送的文件读取,并压缩;
<3>将压缩后的文件发送到资讯分享服务器;
<4>如果发送成功,将源文件移动到Sent目录;
<5>如果发送失败(可进行多次重试),将源文件移动到Defer目录;
接收线程的工作说明:
<1>从资讯分享服务器接收回包;
<2>从Sent目录中查找跟回包中seq对应的文件;
<3>若查找到,且返回成功,将文件删除处理;
<4>若查找到,却返回失败,且文件重试次数未满,则放回Ready重试;
<5>若返回失败,且重试次数已满,则放入Defer;
主线程的工作说明:
<1>从Defer目录扫描文件,若找到,且文件未超过重试的时间范围,则放入ready等待重发,并告警;
<2>若找到但重试时间范围已经超过,则放入failed,并告警。
在本发明实施例中,管理服务器负责下发业务配置到代理服务器,其中,配置文件格式如下:
在本发明实施例中,对配置文件说明如下:
通过appname建立一个对业务的标识,不同业务用不同的配置文件,业务在初始化上报API的类的时候,输入一个appname,该名字与配置中的appname一致,则说明此配置是该业务的配置。
Prototype表示可支持字符串协议和二进制协议两种。
Transmit表示实时转发的配置,name表示数据接收方的名字(可对应出接收方server的IP),keys代表接收方需要的字段,sampling代表采样率。
Filedrop表示落地数据的配置,keys表示落地的字段,sampling采样率,dropname表示落地到存储集群用的名字。
一组Transmit和一组filedrop可以包含在一个logtype的项中,而一个配置文件中的logtype可以有多组,如此可以实现同一个业务,灵活的上报配置方案。
请参阅图2,为本发明实施例提供的数据处理方法的实现流程,其包括以下步骤:
在步骤S101中,接收数据;
在步骤S102中,根据配置文件对所述数据进行分拣;
在本发明实施例中,根据配置文件对所述数据进行分拣,将需要的字段分拣出来。
在步骤S103中,实时地将分拣后的数据转发给对应的接收方。
作为本发明一实施例,在步骤S101之后还包括:
判断所述数据是管理服务器发来的配置下发请求还是业务客户端的数据上报请求;
如果是配置下发请求,则更新内存中的配置库;
如果是业务客户端的数据上报请求,则读取内存中最新的配置;
判断该数据是否需要转发;
若需要转发,则进一步判断是否需要分拣;
如果需要分拣,则执行步骤S102;
如果判断该数据不需要转发,则进一步判断该数据是否需要落地;
若需要落地,则进一步判断是否要分拣,将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
作为本发明另一实施例,所述方法还包括:
当一个在active目录的文件达到指定大小,或者超过指定时间后,将被自动移动到Ready目录,ready目录下的文件会被发送到分布式存储集群的资讯分享服务器。
请参阅图3,为本发明实施例提供的代理服务器的结构。为了便于说明,仅示出了与本发明实施例相关的部分。
所述代理服务器包括:数据接收模块101、分拣模块102、以及转发模块103。
数据接收模块101,用于接收数据。
分拣模块102,用于根据配置文件对所述数据进行分拣。
转发模块103,用于实时地将分拣后的数据转发给对应的接收方。
在本发明实施例中,分拣模块102,具体用于根据配置文件对所述数据进行分拣,将需要的字段分拣出来。
作为本发明一实施例,所述代理服务器还包括:请求判断模块、更新模块、读取模块、转发判断模块、分拣判断模块、落地判断模块、以及文件生成模块。
请求判断模块,用于判断所述数据是管理服务器发来的配置下发请求还是业务客户端的数据上报请求;
更新模块,用于如果判断出是配置下发请求,则更新内存中的配置库;
读取模块,用于如果是判断出是业务客户端的数据上报请求,则读取内存中最新的配置;
转发判断模块,用于判断该数据是否需要转发;
分拣判断模块,用于若需要转发,则进一步判断是否需要分拣;
分拣模块102,还用于如果需要分拣,则根据配置文件对所述数据进行分拣;
落地判断模块,用于如果判断该数据不需要转发,则进一步判断该数据是否需要落地;
分拣判断模块,还用于若需要落地,则进一步判断是否要分拣,
文件生成模块,用于将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
作为本发明另一实施例,所述代理服务器还包括:移动模块。
所述移动模块,用于当一个在active目录的文件达到指定大小,或者超过指定时间后,将被自动移动到Ready目录,ready目录下的文件会被发送到分布式存储集群的资讯分享服务器。
综上所述,本发明实施例能够给各个业务客户端提供一个统一的数据上报通道,并且能够将上报数据中需要的字段自动分拣出来,发送到各个数据的需求方;另外,还支持准实时的数据落地和实时的数据转发两种上报类型,可满足这方面的需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据采集上报系统,其特征在于,所述系统包括:一台或多台业务客户端、一台或多台代理服务器、数据处理服务器、资讯分享服务器以及管理服务器;
当业务客户端有数据上报时,业务客户端将所述数据上报到代理服务器;代理服务器接收业务客户端上报的数据,根据配置文件对所述数据进行分拣,并实时地转发给数据处理服务器进行相应的处理和/或资讯分享服务器进行数据的发布;
所述管理服务器:负责下发业务配置到代理服务器,以及监控业务客户端和代理服务器的心跳情况,对异常情况给出警告;
所述代理服务器接收到一条数据后,判断是管理服务器发来的管理请求还是业务客户端的数据上报请求;如果是配置下发请求,则代理服务器更新内存中的配置库,该更新配置库不需要重启程序;如果是业务客户端的数据上报请求,则代理服务器读取内存中最新的配置;判断该数据是否需要转发;若需要转发,则进一步判断是否需要分拣,如果需要分拣则将需要的字段分拣出来,并发到指定的数据接收方;如果判断该数据不需要转发,则进一步判断该数据是否需要落地;若需要落地,则进一步判断是否要分拣,将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
2.如权利要求1所述的数据采集上报系统,其特征在于,所述业务客户端部署有Agent程序,当有数据上报时,通过本地的进程与Agent程序进行交互,Agent程序将所述数据上报到代理服务器。
3.一种数据处理方法,其特征在于,所述方法包括以下步骤:
接收数据;
根据配置文件对所述数据进行分拣;
实时地将分拣后的数据转发给对应的接收方;
在所述接收数据的步骤之后,还包括:
判断所述数据是管理服务器发来的配置下发请求还是业务客户端的数据上报请求;
如果是配置下发请求,则更新内存中的配置库;
如果是业务客户端的数据上报请求,则读取内存中最新的配置;
判断该数据是否需要转发;
若需要转发,则进一步判断是否需要分拣;
如果需要分拣,则执行所述根据配置文件对所述数据进行分拣的步骤;
如果判断该数据不需要转发,则进一步判断该数据是否需要落地;
若需要落地,则进一步判断是否要分拣,将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
4.如权利要求3所述的方法,其特征在于,所述根据配置文件对所述数据进行分拣的步骤,具体为:
根据配置文件对所述数据进行分拣,将需要的字段分拣出来。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
当一个在active目录的文件达到指定大小,或者超过指定时间后,将被自动移动到Ready目录,ready目录下的文件会被发送到分布式存储集群的资讯分享服务器。
6.一种代理服务器,其特征在于,所述代理服务器包括:
数据接收模块,用于接收数据;
分拣模块,用于根据配置文件对所述数据进行分拣;
转发模块,用于实时地将分拣后的数据转发给对应的接收方;
请求判断模块,用于判断所述数据是管理服务器发来的配置下发请求还是业务客户端的数据上报请求;
更新模块,用于如果判断出是配置下发请求,则更新内存中的配置库;
读取模块,用于如果是判断出是业务客户端的数据上报请求,则读取内存中最新的配置;
转发判断模块,用于判断该数据是否需要转发;
分拣判断模块,用于若需要转发,则进一步判断是否需要分拣;
所述分拣模块,还用于如果需要分拣,则根据配置文件对所述数据进行分拣;
落地判断模块,用于如果判断该数据不需要转发,则进一步判断该数据是否需要落地;
分拣判断模块,还用于若需要落地,则进一步判断是否要分拣,
文件生成模块,用于将需要分拣的字段分拣出来,生成文件,将生成的文件放置在命名为active的目录中。
7.如权利要求6所述的代理服务器,其特征在于,
所述分拣模块,具体用于根据配置文件对所述数据进行分拣,将需要的字段分拣出来。
8.如权利要求6所述的代理服务器,其特征在于,所述代理服务器还包括:
移动模块,用于当一个在active目录的文件达到指定大小,或者超过指定时间后,将被自动移动到Ready目录,ready目录下的文件会被发送到分布式存储集群的资讯分享服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210053786.4A CN103297477B (zh) | 2012-03-02 | 2012-03-02 | 一种数据采集上报系统及数据处理方法和代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210053786.4A CN103297477B (zh) | 2012-03-02 | 2012-03-02 | 一种数据采集上报系统及数据处理方法和代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297477A CN103297477A (zh) | 2013-09-11 |
CN103297477B true CN103297477B (zh) | 2016-03-02 |
Family
ID=49097789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210053786.4A Active CN103297477B (zh) | 2012-03-02 | 2012-03-02 | 一种数据采集上报系统及数据处理方法和代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297477B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647802B (zh) * | 2013-11-20 | 2017-11-24 | 张若渊 | 移动网络数据传送系统及方法 |
CN104092556A (zh) * | 2013-12-13 | 2014-10-08 | 腾讯数码(天津)有限公司 | 基于分布式系统的监控方法、装置及系统 |
CN104753805B (zh) * | 2013-12-31 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 分布式流量控制方法、服务器和系统 |
CN109660613B (zh) * | 2018-12-11 | 2021-10-22 | 网宿科技股份有限公司 | 文件传输方法及系统 |
CN111723139A (zh) * | 2020-06-15 | 2020-09-29 | 北京首汽智行科技有限公司 | 一种数据上报方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117921A1 (zh) * | 2008-03-28 | 2009-10-01 | 华为技术有限公司 | 分布式网络管理系统、网管服务器和方法 |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
-
2012
- 2012-03-02 CN CN201210053786.4A patent/CN103297477B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117921A1 (zh) * | 2008-03-28 | 2009-10-01 | 华为技术有限公司 | 分布式网络管理系统、网管服务器和方法 |
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103297477A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8825752B1 (en) | Systems and methods for providing intelligent automated support capable of self rejuvenation with respect to storage systems | |
WO2020147419A1 (zh) | 监控方法、装置、计算机设备及存储介质 | |
CN103297477B (zh) | 一种数据采集上报系统及数据处理方法和代理服务器 | |
CN100570607C (zh) | 用于多处理环境中的数据聚合的方法和系统 | |
CN104092718A (zh) | 分布式系统及分布式系统中配置信息的更新方法 | |
CN103064731A (zh) | 一种提高消息队列系统性能的装置及其方法 | |
CN112565415B (zh) | 一种基于云边协同的跨地域资源纳管系统和纳管方法 | |
CN102761528A (zh) | 数据管理系统及方法 | |
CN104536965A (zh) | 一种大数据条件下的数据查询展示系统及方法 | |
US20130139178A1 (en) | Cluster management system and method | |
CN101594256A (zh) | 容灾方法、装置和系统 | |
CN103514173A (zh) | 数据处理的方法和节点设备 | |
CN103152390A (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
WO2022063032A1 (zh) | 一种面向分布式系统的故障信息关联上报方法及相关设备 | |
CN105183299A (zh) | 一种人机界面服务处理系统和方法 | |
CN108932182B (zh) | 一种消息总线性能测试方法及系统 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN112417042A (zh) | 一种处理业务请求的方法和装置 | |
CN104506893A (zh) | 一种信息更新方法、云端服务器及crm服务器 | |
CN108877188A (zh) | 一种环保数据并发采集及多网络发布方法和装置 | |
CN108259605B (zh) | 一种基于多数据中心的数据调用系统及方法 | |
CN112068963B (zh) | 一种嵌入式系统分布式调度系统 | |
CN103929455A (zh) | 包含网络存储设备的异步文件传输系统及其传输方法 | |
CN112417050A (zh) | 数据同步方法和装置、系统、存储介质及电子装置 | |
CN102984739A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190802 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |