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

一种数据采集方法、系统、终端及计算机可读存储介质与流程

2021-11-05 18:55:00 来源:中国专利 TAG:


1.本发明涉及数据采集技术领域,尤其涉及一种数据采集方法、系统、终端及计算机可读存储介质。


背景技术:

2.flume是开源日志系统,是一个分布式、可靠性和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据,flume提供从本地文件(spooling directory source)、实时日志(taildir、exec)、rest消息、thift、avro、syslog、kafka等数据源上收集数据的能力;同时,flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。
3.由于业务(就是需要处理的各种事务)追求实时性,所以数据的采集就需要满足低延迟性,实时性,稳定性这些性能以支撑业务;目前现有技术中大部分都是采用的flume技术采集数据,但是flume技术采集不具有实时性,不稳定,时常由于内存gc(垃圾回收)异常。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明的主要目的在于提供一种数据采集方法、系统、终端及计算机可读存储介质,旨在解决现有技术中数据采集方式不具有实时性和不稳定的问题。
6.为实现上述目的,本发明提供一种数据采集方法,所述数据采集方法包括如下步骤:
7.监测预设接口,实时将数据采集到内存中;
8.获取保存在所述内存中的数据,将所述数据发送给web平台;
9.所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。
10.可选地,所述的数据采集方法,其中,所述预设接口包括http接口。
11.可选地,所述的数据采集方法,其中,所述数据包括:结构化的日志数据和非重复性结构化的业务数据。
12.可选地,所述的数据采集方法,其中,所述获取保存在所述内存中的数据,将所述数据发送给web平台,具体包括:
13.获取所述内存中的所述结构化的日志数据和所述非重复性结构化的业务数据;
14.将所述内存中的所述结构化的日志数据和所述非重复性结构化的业务数据发送给所述web平台的接口。
15.可选地,所述的数据采集方法,其中,所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中,具体包括:
16.所述web平台通过接口成功接收所述结构化的日志数据和所述非重复性结构化的业务数据;
17.所述web平台通过内置自定义的采集脚本将所述结构化的日志数据和所述非重复性结构化的业务数据实时写入到分布式日志系统中。
18.可选地,所述的数据采集方法,其中,所述采集脚本的内容为解析http请求的body数据。
19.可选地,所述的数据采集方法,其中,所述web平台为通过lua扩展nginx实现的可伸缩的web平台。
20.此外,为实现上述目的,本发明还提供一种数据采集系统,其中,所述数据采集系统包括:
21.数据采集模块,用于监测预设接口,实时将数据采集到内存中;
22.数据传输模块,用于获取保存在所述内存中的数据,将所述数据发送给web平台;
23.数据写入模块,用于所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。
24.此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据采集程序,所述数据采集程序被所述处理器执行时实现如上所述的数据采集方法的步骤。
25.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有数据采集程序,所述数据采集程序被处理器执行时实现如上所述的数据采集方法的步骤。
26.本发明通过监测预设接口,实时将数据采集到内存中;获取保存在所述内存中的数据,将所述数据发送给web平台;所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。本发明统一了采集数据的方式,无需部署其他组件,保证了数据采集的低延迟性,实时性,稳定性。
附图说明
27.图1是本发明数据采集方法的较佳实施例的流程图;
28.图2是本发明数据采集方法的较佳实施例中数据采集过程的示意图;
29.图3是本发明数据采集系统的较佳实施例的原理示意图;
30.图4为本发明终端的较佳实施例的运行环境示意图。
具体实施方式
31.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
32.本发明较佳实施例所述的数据采集方法,如图1和图2所示,所述数据采集方法包括以下步骤:
33.步骤s10、监测预设接口,实时将数据采集到内存中。
34.具体地,所述预设接口包括http接口,http接口就是一种基于http服务的api,是系统之间交互的一种约定,所谓的web service其实也就是一种http接口,只不过它是比较规范的、通用的。http接口最主要的作用是能够较好地解决不同系统(可能是功能不同、开
发语言不同、服务商不同,等等,但都是基于http服务的)之间的交互的需求,比如像微信公众号的各种接口,不管是使用java开发还是php进行开发,不管是a公司在开发还是b公司在开发,也不管是要做商城系统还是做企业宣传网站,都一样可以很好地调用。
35.本发明数据采集方式支持http(post和get)请求方式,通过监测http接口实时将数据采集到内存。
36.步骤s20、获取保存在所述内存中的数据,将所述数据发送给web平台。
37.其中,所述数据包括:结构化的日志数据和非重复性结构化的业务数据。
38.具体地,所述步骤s20具体包括:获取所述内存中的所述结构化的日志数据(例如,如图2所示,从电视机获取的日志数据,日志数据就是记录it系统产生的过程性事件记录数据)和所述非重复性结构化的业务数据;将所述内存中的所述结构化的日志数据和所述非重复性结构化的业务数据发送给所述web平台(即openresty)的接口。
39.其中,openresty(又称:ngx_openresty)是一个基于nginx的可伸缩的web平台,提供了很多高质量的第三方模块,即openresty为通过lua扩展nginx实现的可伸缩的web平台。
40.openresty是一个强大的web应用服务器,web开发人员可以使用lua脚本语言调动nginx支持的各种c以及lua模块,更主要的是在性能方面,openresty可以快速构造出足以胜任10k以上并发连接响应的超高性能web应用系统。
41.步骤s30、所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。
42.具体地,所述步骤s30具体包括:所述web平台(openresty)通过接口成功接收所述结构化的日志数据和所述非重复性结构化的业务数据;所述web平台(openresty)通过内置自定义的采集脚本将所述结构化的日志数据和所述非重复性结构化的业务数据实时写入到分布式日志系统(kafka)中。
43.其中,脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件;脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常是以文本(ascⅱ)保存,只是在被调用时进行解释或者编译。所述采集脚本的内容为解析http请求的body数据。
44.kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做mq系统),常见可以用于web/nginx日志、访问日志,消息服务等。主要应用场景是:日志收集系统和消息系统。
45.也就是说,openresty接收到数据后,通过内置的脚本将数据直接实时写入kafka,保证了低延迟性,实时性,稳定性。
46.本发明中,数据通过http请求提交到openresty的接口处,openresty内置自定义的采集脚本将数据直接写入kafka,脚本支持lua语言,c语言编写。脚本内容是解析http请求的body数据,将body数据发送到配置的kafka服务。
47.进一步地,如图3所示,基于上述数据采集方法,本发明还相应提供了一种数据采集系统,所述数据采集系统包括:
48.数据采集模块51,用于监测预设接口,实时将数据采集到内存中;
49.数据传输模块52,用于获取保存在所述内存中的数据,将所述数据发送给web平
台;
50.数据写入模块53,用于所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。
51.本发明提出了一套基于openresty高性能数据采集系统,统一了采集数据的方式,无需部署其他组件,保证了低延迟性,实时性,稳定性。例如数据部采集订单业务端的数据,业务端的同事编写代码将订单数据提交到openresty的接口,数据部这边就会实时采集并写入kafka。
52.本发明的关键点在于:先前使用的方案是nginx flume kafka,目前的方案是openresty kafka,流程上少了一个环节。统一了数据采集方案,增加业务采集时,只需直接部署openresty,包含上传自定义的采集脚本,无需编写任何代码,即可实时的采集到kafka,保证了低延迟性,实时性,稳定性。
53.进一步地,如图4所示,基于上述数据采集方法和系统,本发明还相应提供了一种终端,所述终端包括处理器10、存储器20及显示器30。图4仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
54.所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有数据采集程序40,该数据采集程序40可被处理器10所执行,从而实现本技术中数据采集方法。
55.所述处理器10在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述数据采集方法等。
56.所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端的信息以及用于显示可视化的用户界面。所述终端的部件10

30通过系统总线相互通信。
57.在一实施例中,当处理器10执行所述存储器20中数据采集程序40时实现以下步骤:
58.监测预设接口,实时将数据采集到内存中;
59.获取保存在所述内存中的数据,将所述数据发送给web平台;
60.所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。
61.其中,所述预设接口包括http接口。
62.其中,所述数据包括:结构化的日志数据和非重复性结构化的业务数据。
63.其中,所述获取保存在所述内存中的数据,将所述数据发送给web平台,具体包括:
64.获取所述内存中的所述结构化的日志数据和所述非重复性结构化的业务数据;
65.将所述内存中的所述结构化的日志数据和所述非重复性结构化的业务数据发送给所述web平台的接口。
66.其中,所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中,具体包括:
67.所述web平台通过接口成功接收所述结构化的日志数据和所述非重复性结构化的业务数据;
68.所述web平台通过内置自定义的采集脚本将所述结构化的日志数据和所述非重复性结构化的业务数据实时写入到分布式日志系统中。
69.其中,所述采集脚本的内容为解析http请求的body数据。
70.其中,所述web平台为通过lua扩展nginx实现的可伸缩的web平台。
71.本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有数据采集程序,所述数据采集程序被处理器执行时实现如上所述的数据采集方法的步骤。
72.综上所述,本发明提供一种数据采集方法、系统、终端及计算机可读存储介质,所述方法包括:监测预设接口,实时将数据采集到内存中;获取保存在所述内存中的数据,将所述数据发送给web平台;所述web平台接收到所述数据后,通过内置脚本将所述数据实时写入到分布式日志系统中。本发明统一了采集数据的方式,无需部署其他组件,保证了数据采集的低延迟性,实时性,稳定性。
73.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
74.当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
75.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

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

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

相关文献