CN110351315A - 数据处理的方法、系统及存储介质、电子装置 - Google Patents
数据处理的方法、系统及存储介质、电子装置 Download PDFInfo
- Publication number
- CN110351315A CN110351315A CN201810291664.6A CN201810291664A CN110351315A CN 110351315 A CN110351315 A CN 110351315A CN 201810291664 A CN201810291664 A CN 201810291664A CN 110351315 A CN110351315 A CN 110351315A
- Authority
- CN
- China
- Prior art keywords
- data
- resolver
- adapter
- parsing
- format
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本发明提供了一种数据处理的方法、系统及存储介质、电子装置。其中,该方法包括:通过适配器根据需求配置的接口获取数据;将获取的数据通过解析器解析;通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;通过分发器将所述中间格式的数据发送至消息队列中间件。通过本发明,解决了设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题,进而达到了对不同格式数据的统一处理的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据处理的方法、系统及存储介质、电子装置。
背景技术
近年来随着互联网行业的不断发展,基于互联网提供服务的形式多种多样,实时掌握业务服务的状态成为服务提供商运维中关键的环节。以IPTV(Internet ProtocolTelevision,交互式网络电视)/OTT(Over The Top)等业务为例,运营商对于视频服务质量的监控需求越来越迫切、实时掌握视频服务的质量对于不断提高运营商的服务水平,提高市场竞争力有着至关重要的作用。服务设备运行期间产生的关键指标数据往往是衡量业务服务状态与质量的标准,如何从网络设备获取关键指标数据成为监控的关键,目前流行的方式是在设备中嵌入探针(Probe)模块用于采集相关指标,定期向指定采集服务器上报指标(QoE)数据,网络上的设备具有多样性、相同的设备不同的版本采集的数据格式不尽相同,如何能够灵活、快速高效的开发部署采集装置、服务成为越来越迫切的需求。
在现有技术中,设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题。针对这类问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理的方法、系统及存储介质、电子装置,以至少解决相关技术中设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题。
根据本发明的一个实施例,提供了一种数据处理方法,包括:通过适配器根据需求配置的接口获取数据;将获取的数据通过解析器解析;通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;通过分发器将所述中间格式的数据发送至消息队列中间件。
可选地,通过适配器根据需求配置的接口获取数据,包括:通过适配器根据需求配置的接口获取不同协议类型的数据和/或不同格式的数据。
可选地,将获取的所述数据通过解析器解析包括:所述解析器依据所述数据的特征信息判断是否能够对所述数据进行解析;在判断结果为是的情况下,对所述数据进行解析;在判断结果为否的情况下,过滤所述数据。
可选地,通过模板引擎根据指定模板将解析的数据生成中间格式的数据,包括:通过应用模板引擎的过滤规则将解析后的数据过滤;当数据过滤的结果返回真时,则判定数据为合法数据并应用模板引擎生成中间格式的数据。
可选地,将数据通过解析器解析之后,所述方法还包括:
通过拦截器获取所述数据,并对数据增加附加信息,其中,附加信息包括:对数据进行分组划分所需要的信息、地理位置的信息。
根据本发明的另一个实施例,提供了一种数据处理的系统,包括:适配器、解析器、模板引擎、分发器,其中,适配器,用于获取数据;解析器,用于将获取的数据进行解析;模板引擎,用于根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;分发器,用于将中间格式的数据发送至消息队列中间件。
可选地,适配器,还包括:
适配器,还用于获取不同协议类型的数据和/或不同格式的数据;和/或
所述系统还包括:
接收器,用于接收适配器获取的所述数据,并将数据存入内部缓存队列;和/或
在系统包括多个解析器时,通过多个解析器组成解析器栈。
可选地,所述系统还包括:拦截器,用于将解析器解析的数据增加附加信息,其中,所述附加信息包括:对数据进行分组划分所需要的信息、地理位置的信息。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于通过适配器根据需求配置的接口获取数据;将获取的数据通过解析器解析;通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;通过分发器将所述中间格式的数据发送至消息队列中间件,因此,解决了设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题,进而达到了对不同格式数据的统一处理的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据处理的方法的流程图;
图2是根据本发明实施例的一种数据处理的系统结构框图;
图3是根据本发明可选实施例的一种数据接入装置、系统结构图;
图4是根据本发明可选实施例的适配器层由可插拔式的适配器组成结构图;
图5是根据本发明可选实施例的接收层负责接收数据适配器接入的数据结构图;
图6是根据本发明可选实施例的一种模板引擎实现方法流程图;
图7是根据本发明可选实施例的数据处理装置的主要组成部件流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
根据本发明实施例,提供了一种数据处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据处理的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,通过适配器根据需求配置的接口获取数据;
步骤S104,将获取的数据通过解析器解析;
步骤S106,通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;
步骤S108,通过分发器将中间格式的数据发送至消息队列中间件。
通过上述步骤,通过适配器根据需求配置的接口获取数据;将获取的数据通过解析器解析;通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;通过分发器将所述中间格式的数据发送至消息队列中间件。解决了设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题,进而达到了对不同格式数据的统一处理的效果。
具体而言,本发明中的适配器在接入一种新数据源、新类型的数据时只需要开发对应的适配器即可,解析器对从适配器获取的数据进行解析,由模板引擎将解析的数据生成预先配置的统一数据格式,分发器将生成统一格式的数据发送至消息中间队列件,因此,设备可以灵活的处理接入的不同格式的数据,将其不同格式的数据转化统一系统预先设置的数据格式,避免了自身数据的进出,降低了设备数据接入本身吞吐量的效果。
需要说明的是,本发明实施例的数据接入是对原始数据的采集接入,数据处理是对采集的数据进行中间格式的转换。
在一个可选实施例中,通过适配器根据需求配置的接口获取数据,包括上述步骤S102可以通过以下步骤实现:通过适配器根据需求配置的接口获取不同协议类型的数据和/或不同格式的数据。
在执行完步骤S102之后,还可以执行以下技术方案:通过接收器将获取的数据存入内部缓存队列。
需要说明的是,在本发明实施例中,将所述数据通过解析器解析之后,还可以执行以下技术方案:通过拦截器获取数据,并对数据增加附加信息,其中,附加信息可以理解为是由原有解析后数据生成的或匹配的信息,具体可以是对数据进行分组划分所需要的信息、地理位置的信息,当然,附加信息并不限于此,在实际操作过程中,可以根据需要灵活增加附加信息的内容。
需要进一步说明的是,拦截器也可叫做过滤器实现对获取的数据进行二次信息的处理,即可以对解析的数据进行分组信息、地理位置信息、时间信息等,可以根据数据最终处理需求进行附加信息的二次处理,方便数据接入处理。
可选地,可以通过多个解析器设置一个解析器栈,通过解析器栈中栈顶的解析器解析数据。
需要进一步说明的是,为了方便不同格式的数据解析,将多个解析器注册到解析器栈的形式,而通过引入解析器栈也可实现相同数据不同方式解析的目的。
可选地,将获取的数据通过解析器解析包括:解析器依据数据的特征信息判断是否能够对数据进行解析;在判断结果为是的情况下,对数据进行解析;在判断结果为否的情况下,过滤数据。具体在本发明实施例中,解析过程是通过从栈顶至栈底依次遍历解析器栈,直到找到其中某个解析器对此数据是否可解析的判断返回“是/真”时,停止遍历并用此解析器数据,如果没有可选解析器返回“是/真”,则数据被过滤掉。
其中,数据的特征信息可以包括数据格式(例如,XML(Extensible MarkupLanguage)、JSON(JavaScript Object Notation,JS对象标记)、CSV(Comma-SeparatedValues,逗号分隔值)、HTML(Hyper Text Markup Language,超文本标记语言)等)、数据的属性(例如,同一种格式数据的不同版本等)。此外,当解析器栈针对相同格式的数据注册多个解析器时,并且不同的解析器对部分特征数据敏感的情况下(是否可解析方法返回真),相同格式的数据可实现由不同解析器解析。
步骤S106可以有多种实现方式,在一个可选实施例中:通过应用模板引擎的过滤规则将解析后的数据过滤;当数据过滤的结果返回真时,则判定数据为合法数据并应用模板引擎生成中间格式的数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图2是根据本发明实施例的一种数据处理的系统结构框图,如图2所示,该系统包括:
适配器201、解析器203、模板引擎205、分发器207,其中,适配器201,用于获取数据;解析器203,用于将获取的数据进行解析;模板引擎205,用于根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;分发器207,用于将中间格式的数据发送至消息队列中间件。
采用如图2所示的系统,解决了数据接入与数据处理过程融合在一起,影响数据接入本身吞吐量的问题,进而达到了将多源数据进行统一的处理,使数据接入与数据处理分离,降低数据接入本身吞吐量的效果。
可选地,所述适配器201,还用于获取不同协议类型的数据和/或不同格式的数据。
可选地,所述系统还包括:接收器209,用于接收适配器获取的数据,并将数据存入内部缓存队列。
可选地,在系统包括多个解析器时,通过多个解析器组成解析器栈。
可选地,所述系统还包括:拦截器2011,用于将解析器解析的数据增加附加信息,其中,所述附加信息包括:对数据进行分组划分所需要的信息、地理位置的信息。
从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):解决了设备接收到的数据存在不同格式,而设备无法灵活的对接收到的数据进行处理的问题,进而达到了对不同格式数据的统一处理的效果。
以下结合优选实施例对上述数据处理方法进行说明,但不用于限定本发明实施例的保护范围。
优选实施例1
在本优选实施例所提供的基于消息队列的数据处理方法中,其中,所提及的消息队列(MQ)指保存接入数据经解析后生成的结果。
此外,数据接入是指将基于某种传输协议(TCP(Transmission ControlProtocol,传输控制协议)、HTTP[s](Hyper Text Transfer Protocol over SecureSocket layer)、FTP(File Transfer Protocol,文件传输协议)等)获取到的一种格式数据(如XML(Extensible Markup Lananage)、JSON(JavaScript Object Notation,JS对象标记)、CSV(Comma-Separated Values,逗号分隔值)、纯文本等)依据一定的规则(解析)转换成另外一种格式供后续流程处理。
本优选实施例中,通过将接收到的数据(消息)经由解析器解析并根据指定模板由模板引擎生成中间格式消息转发至消息队列(MQ),从而避免因持久化(包括但不限于保存至数据库、Hadoop(一种分布式文件系统))等耗时操作影响接入系统的处理性能。其中,通过将数据接入层与持久化层的分离达到解耦的目的,数据接入包括但不限于基于HTTP[s]、FTP等协议的形式。
本优选实施例中,通过将采集原始数据经由解析器解析并转换成内部统一数据格式存入消息队列,将数据进行统一的简化处理。
本优选实施例的数据处理装置、系统主要构件包括:接口适配器(Adaptor);接收器(Acceptor);解析器(Parser);拦截器(Interceptor)/过滤器(Filter);分发器(Dispatcher);模板引擎(Template Engine);消息队列中间件(MQ),其中:
接口适配器(Adaptor)(相当于实施例中的适配器)主要功能:用于适配各种协议的接口、包括但不限于HTTP[s]、FTP等协议上报数据,对于需要根据请求内容给出响应的消息(包括但不限于HTTP[s]类型)按照局部解析的方式以实现快速响应。接口适配器接入数据后将数据发送至接收器。
接收器(Acceptor)主要功能:接收器接收由接口适配器采集的原始上报数据并将该数据存入内部缓存队列起到内部缓冲作用,从而使得消息接收与消息处理以准异步的方式进行,以提高数据接入效率。
解析器(Parser)主要功能:解析器本身寄存于解析线程内部,解析线程可以注入多种解析器以构成解析器栈。解析器包括两个主要方法,判断给定数据是否可解析的判别方法以及解析数据的解析方法。解析线程负责从接收器内部缓存队列(Blocking queue)中获取数据,通过栈顶遍历解析器栈中的每个解析器,当某个解析器判断该数据可被解析后,则选中该解析器完全解析此数据。通过引入解析器栈使得越靠近栈顶的解析器解析优先级越高。
引入解析器栈可以实现以下目的:
1、通过注册到栈顶的解析器判定解析数据的方法始终返回真时,解析器可以使所有数据均由此解析器解析;
2、通过清空解析器栈即可过滤掉所有接受器接收的数据;
3、注册到解析器栈中的所有解析器的判定可解析数据的方法始终返回假,则可过滤掉所有接收器接收的数据;
4、通过注册不同的解析器到解析器栈可以实现相同格式数据由不同解析器解析的效果,由解析器判别是否可解析数据方法加以区分。
解析器栈在系统运行中可随时根据配置动态更新。数据解析过程中解析线程将解析的数据根据预定义的模板由模板引擎生成格式中立的中间消息体(相当于实施例中的中间格式的数据)派发致分发器。所述方法、系统可以根据配置创建多个解析线程实例在多核CPU服务器上达到并行处理的目的以提高系统解析效率。
拦截器(Interceptor)/过滤器(Filter)主要功能:根据解析后的消息依据一定的规则给消息体(相当于实施例中的解析器解析的数据)增加附加信息(如分组信息等),系统可同时注册多个拦截器/过滤器构成拦截器/过滤器链,解析器在解析数据过程中的特定事件点(如解析开始、解析结束等)调用拦截器/解析器链。
分发器(Dispatcher)的主要功能:分发器负责将解析后由模板引擎生成的中立格式消息(相当于实施例中的中间格式的数据)发送至消息队列中间件(MQ)。
模板引擎(Template Engine)负责将由解析器(Parser)解析后消息体(相当于实施例中的解析器解析后的数据)根据预定义模板生成系统内统一消息格式(相当于实施例中生成统一的中间格式的数据),在需要改变格式时只需要修改预定义模板即可,从而达到灵活可定制化目的。
消息队列中间件(MQ)是一个泛称,凡是支持消息队列语义的实现均适用,包括但不限于如Kafka、RabbitMQ、Redis、ZeroMQ、ActiveMQ等。
本优选实施例中,所述数据接入装置、系统提供一种简单的数据接入方法,即接入一种新类型数据只需要提供适配器(非必要项,某些场景可复用已有适配器)以及相应解析器即可,所述数据接入装置、系统对于相同格式的数据可以同时注册多个解析器从而实现同种格式差异化解析的目的。
本优选实施例中,构建的数据接入装置、系统,将数据格式的差异隔离在解析器层面,由具体的解析器处理特定格式的数据并根据模板引擎生成统一的系统内部可识别的消息体结构,以达到多源接入,统一处理的目的。构建的数据接入装置、系统将数据接入与数据解析异步化从而达到高效接入的目的。
本优选实施例提供了一种具有结构简单、处理高效、可扩展、快速接入新格式数据、部署快捷的数据采集接入前的数据处理方法、装置及系统。致力于将接入问题聚焦于数据如何高效的解析,将数据如何生成与处理问题空间简化。使得关注点始终在数据解析层面上。
优选实施例2
如图3所示,本优选实施例提供了一种数据处理装置、系统的结构图,该系统主要包括:
适配器层,结合图4所示中适配器层由可插拔式的适配器组成结构图。
401表示基于HTTP协议的数据接入适配器;
402表示基于FTP协议的数据接入适配器;
403表示基于数据库协议的数据接入适配器;
可插拔式适配器负责对一类数据源(HTTP、FTP、DB等)的数据的接入,这里所述可插拔包括但不限于以服务注入、服务提供者、依赖注入等形式,接入一种新数据源只需要开发对应的适配器即可。
接收器层,结合图5所示接收层负责接收数据适配器接入的数据结构图,实现上可以选择但不限于阻塞式队列(Blocking Queue),队列本身可以根据需要设置容量大小,接入适配器将原始数据放入接收器存队列时,如判断队列已满,则可以在响应消息中回复服务器错误(以HTTP为例,回复状态码503),用于反馈服务器处于繁忙状态,以便后续重传此次数据。
数据解析层,数据解析层由数据解析线程构成,解析线程实例数由系统配置给出。系统启动后根据已配置的解析器并按照配置顺序创建解析器栈,每个解析线程中包含对解析器栈的拷贝。解析线程启动后从接收器中的阻塞式缓存队列中获取数据,并轮询解析器栈中的解析器,直至其中某个解析器返回可接收此数据的状态,则选用该解析器对数据进行完全解析,解析器在解析过程中可以根据配置的拦截器/过滤器栈对解析结果进行过滤以增加附加信息。
如图6所示,还提供了一种模板引擎实现方法流程图,模板引擎具有如下特质:
1、模板支持过滤规则,在应用模板前先应用过滤规则于解析后的消息体,如果返回真(true),则判定该消息体为合法消息并应用模板生成中立消息格式(相当于实施例中的中间格式的数据)。反之判定为非法消息可以选择将非法消息输出日志或其他介质用于排障等操作;
2、支持建值对(key-value)形式的变量替换;
3、变量定义以形如:${name}形式给出;
4、变量可以定义默认值形如:${name:=default Value};
5、变量可以继承其它变量结果形如:${name:=${others}};
6、变量支持切片(slice)操作形如:${name:1,3}。
数据分发器层,分发器的构成实质上是消息队列中间件客户端,负责将由模板引擎生成的结果发送到消息队列中间件。另外,分发器本身可以设置二级缓存用于缓存未发送至消息队列中间件的数据,待数据量达到一定尺寸后(消息数量、消息总量大小等度量值)可批量向消息队列发送以减少与消息队列中间件的交互次数并提高网络带宽利用率。
消息队列中间件(MQ)是一个泛称,凡是支持消息队列语义的实现均适用,包括但不限于如Kafka、RabbitMQ、Redis、ZeroMQ、ActiveMQ等。
如图7所示,还提供了一种数据处理装置的主要组成部件的流程示意图,在附图7中,接入适配器接入不同协议的数据,进而数据接收器接收接入适配器接入的数据并存入内部缓冲队列,以便数据接下来的处理,而数据解析器对接入适配器的数据或者数据接收器存入内部缓冲队列的数据进行解析,接着数据分发器将解析的数据发送至消息队列中间件。
综上所述,本发明优选实施例提供了一种简单的接入新格式数据的方法,通过开发对应格式的解析器并压入解析器栈中即可实现对该数据的处理。对于同种格式(如json)不同类型(如不同接口上报)的数据可通过注册不同的解析器在解析器层加以区分,此时不同类型的解析器判别是否可解析方法中只对特定类型返回真。另外,解析器解析后的数据结构一般以键值对形式给出。数据完成解析后根据数据类型从模板组中选择对应模板生成最终结果数据并将数据传入数据分发器层。
优选实施例3
本优选实施例中,以网络设备内置探针(Probe)定期向接入服务器上传采集数据为例具体说明接入流程:
网络设备探针以HTTP协议POST方式并以XML格式上报设备采集数据到接入服务器开放的给定URL地址。
HTTP接入适配器读取POST内容并将内容发送至接收器,接收器局部解析该消息体并组织回复报文,同时判断此时接收缓存队列是否已满,如果已满则回复503错误(以HTTP为例,回复状态码503)给探针,反之将上报内容放入缓存队列并回复探针响应内容。
解析线程以阻塞式的方式消费接收器内接收队列的缓存数据,如有待消费数据则由某个消费线程获取并对数据解析,此时从解析器栈中选择可解析XML报文的解析器,选出的解析器负责完全解析此份数据同时调用过滤器栈中每个过滤器为解析后数据添加额外信息,解析过程中如遇到可以生成目标结果事件时调用模板引擎生成目标结果并将结果发送至数据分发层。
数据分发器收集目标结果并以批量方式提交到消息队列中间件。
在本优选实施例中,数据源差异由接入适配器消除;数据格式差异由解析器消除,整个接入装置、系统流程不变,并不需要过多的配置即可完成新数据源、数据格式的数据接入。即,提供了一种高效、灵活、高度可定制化的数据采集、接入方法,将数据接入抽象为数据适配与解析,通过本优选实施例中的方法构建的系统可以快速完成一种新格式数据的接入工作而不影响原有功能,所述接入装置、系统通过引入可插拔式适配器简化基于不同传输协议数据接入流程。
本优选实施例中,所述接入装置、系统对于同种协议的数据可重用接入适配器,数据格式差异由注册到解析器栈中的解析器加以区分,从而实现相同协议不同格式数据统一接入、区别处理的目的。所述接入装置、系统通过调整解析器栈布局可实现相同格式数据差异化处理的目的。
本优选实施例中,通过将接入协议层(HTTP[s]、FTP)剥离、使得按照不同协议接入的数据都可以统一的发送至消息队列(MQ)。使后续数据流程进一步统一化。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过适配器根据需求配置的接口获取数据;
S2,将获取的数据通过解析器解析;
S3,通过模板引擎根据指定模板将解析的数据生成中间格式的数据,其中,中间格式包括:预先配置的统一数据格式;
S4,通过分发器将中间格式的数据发送至消息队列中间件。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S5,通过适配器根据需求配置的接口获取不同协议类型的数据和/或不同格式的数据;
S6,将获取的数据通过解析器解析包括:解析器依据所述数据的特征信息判断是否能够对数据进行解析;
在判断结果为是的情况下,对数据进行解析;
在判断结果为否的情况下,过滤所述数据;
S7,通过模板引擎根据指定模板将解析的所述数据生成中间格式的数据,包括:
通过应用模板引擎的过滤规则将解析后的所述数据过滤;
当所述数据过滤的结果返回真时,则判定所述数据为合法数据并应用所述模板引擎生成中间格式的数据。
S8,数据通过解析器解析之后,通过拦截器获取所述数据,并对数据增加附加信息,其中,附加信息包括:对数据进行分组划分所需要的信息、地理位置的信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理的方法,其特征在于,包括:
通过适配器根据需求配置的接口获取数据;
将获取的所述数据通过解析器解析;
通过模板引擎根据指定模板将解析的所述数据生成中间格式的数据,其中,所述中间格式包括:预先配置的统一数据格式;
通过分发器将所述中间格式的数据发送至消息队列中间件。
2.根据权利要求1所述的方法,其特征在于,通过适配器根据需求配置的接口获取数据,包括:
通过适配器根据需求配置的接口获取不同协议类型的数据和/或不同格式的数据。
3.根据权利要求1所述的方法,其特征在于,所述将获取的所述数据通过解析器解析包括:
所述解析器依据所述数据的特征信息判断是否能够对所述数据进行解析;
在判断结果为是的情况下,对所述数据进行解析;
在判断结果为否的情况下,过滤所述数据。
4.根据权利要求1所述的方法,其特征在于,通过模板引擎根据指定模板将解析的所述数据生成中间格式的数据,包括:
通过应用模板引擎的过滤规则将解析后的所述数据过滤;
当所述数据过滤的结果返回真时,则判定所述数据为合法数据并应用所述模板引擎生成中间格式的数据。
5.根据权利要求1所述的方法,其特征在于,将所述数据通过解析器解析之后,所述方法还包括:
通过拦截器获取所述数据,并对所述数据增加附加信息,其中,所述附加信息包括:对所述数据进行分组划分所需要的信息、地理位置的信息。
6.一种数据处理的系统,其特征在于,所述系统包括适配器、解析器、模板引擎、分发器,其中,
适配器,用于获取数据;
解析器,用于将获取的所述数据进行解析;
模板引擎,用于根据指定模板将解析的所述数据生成中间格式的数据,其中,所述中间格式包括:预先配置的统一数据格式;
分发器,用于将所述中间格式的数据发送至消息队列中间件。
7.根据权利要求6所述的系统,其特征在于,所述适配器,还包括:
所述适配器,还用于获取不同协议类型的数据和/或不同格式的数据;和/或
所述系统还包括:
接收器,用于接收所述适配器获取的所述数据,并将所述数据存入内部缓存队列;和/或
在所述系统包括多个解析器时,通过所述多个解析器组成解析器栈。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:
拦截器,用于将所述解析器解析的所述数据增加附加信息,其中,所述附加信息包括:对所述数据进行分组划分所需要的信息、地理位置的信息。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810291664.6A CN110351315A (zh) | 2018-04-03 | 2018-04-03 | 数据处理的方法、系统及存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810291664.6A CN110351315A (zh) | 2018-04-03 | 2018-04-03 | 数据处理的方法、系统及存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110351315A true CN110351315A (zh) | 2019-10-18 |
Family
ID=68173621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810291664.6A Pending CN110351315A (zh) | 2018-04-03 | 2018-04-03 | 数据处理的方法、系统及存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351315A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193656A (zh) * | 2019-12-03 | 2020-05-22 | 中国建设银行股份有限公司 | 一种消息推送方法和装置 |
CN111753007A (zh) * | 2020-06-16 | 2020-10-09 | 国家电网有限公司客户服务中心 | 一种基于多系统下可插拔式组件数据汇聚系统及汇聚方法 |
US20210182235A1 (en) * | 2019-12-17 | 2021-06-17 | Visa International Service Association | Metadata-driven distributed dynamic reader and writer |
CN114417408A (zh) * | 2022-01-18 | 2022-04-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043836A (zh) * | 2010-12-01 | 2011-05-04 | 北京迅捷英翔网络科技有限公司 | 数据适配装置和方法 |
CN102043837A (zh) * | 2010-12-01 | 2011-05-04 | 北京迅捷英翔网络科技有限公司 | 数据整合系统和方法 |
CN103095609A (zh) * | 2013-01-09 | 2013-05-08 | 大唐软件技术股份有限公司 | 一种基于物联网终端的接入适配方法和装置 |
CN104268143A (zh) * | 2014-08-08 | 2015-01-07 | 华迪计算机集团有限公司 | Xml数据的处理方法和装置 |
CN106254172A (zh) * | 2016-07-14 | 2016-12-21 | 东软集团股份有限公司 | 异构应用数据采集方法及装置 |
US20170006135A1 (en) * | 2015-01-23 | 2017-01-05 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
CN107332849A (zh) * | 2017-07-06 | 2017-11-07 | 李长云 | 一种传感数据解析方法及装置 |
-
2018
- 2018-04-03 CN CN201810291664.6A patent/CN110351315A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043836A (zh) * | 2010-12-01 | 2011-05-04 | 北京迅捷英翔网络科技有限公司 | 数据适配装置和方法 |
CN102043837A (zh) * | 2010-12-01 | 2011-05-04 | 北京迅捷英翔网络科技有限公司 | 数据整合系统和方法 |
CN103095609A (zh) * | 2013-01-09 | 2013-05-08 | 大唐软件技术股份有限公司 | 一种基于物联网终端的接入适配方法和装置 |
CN104268143A (zh) * | 2014-08-08 | 2015-01-07 | 华迪计算机集团有限公司 | Xml数据的处理方法和装置 |
US20170006135A1 (en) * | 2015-01-23 | 2017-01-05 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
CN106254172A (zh) * | 2016-07-14 | 2016-12-21 | 东软集团股份有限公司 | 异构应用数据采集方法及装置 |
CN107332849A (zh) * | 2017-07-06 | 2017-11-07 | 李长云 | 一种传感数据解析方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193656A (zh) * | 2019-12-03 | 2020-05-22 | 中国建设银行股份有限公司 | 一种消息推送方法和装置 |
US20210182235A1 (en) * | 2019-12-17 | 2021-06-17 | Visa International Service Association | Metadata-driven distributed dynamic reader and writer |
US11449461B2 (en) * | 2019-12-17 | 2022-09-20 | Visa International Service Association | Metadata-driven distributed dynamic reader and writer |
CN111753007A (zh) * | 2020-06-16 | 2020-10-09 | 国家电网有限公司客户服务中心 | 一种基于多系统下可插拔式组件数据汇聚系统及汇聚方法 |
CN114417408A (zh) * | 2022-01-18 | 2022-04-29 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8806550B1 (en) | Rules engine for troubleshooting video content delivery network | |
US9729557B1 (en) | Dynamic throttling systems and services | |
CN110351315A (zh) | 数据处理的方法、系统及存储介质、电子装置 | |
CN106131213B (zh) | 一种服务管理方法和系统 | |
US9736258B2 (en) | Assessment of content delivery services using performance measurements from within an end user client application | |
US8843618B2 (en) | Cloud service information overlay | |
US10963040B2 (en) | Generating storyboard for a knowledge base in virtual mobile management | |
CN108471366A (zh) | 一种面向云原生应用的立体监控系统 | |
US8898731B2 (en) | Association of service policies based on the application of message content filters | |
CN106302445B (zh) | 用于处理请求的方法和装置 | |
US9137172B2 (en) | Managing multiple proxy servers in a multi-tenant application system environment | |
CN110457178A (zh) | 一种基于日志采集分析的全链路监控告警方法 | |
CA2887278A1 (en) | Modified content delivery based on network conditions | |
CN103312684B (zh) | 用于优化网络中内容传递的方法和信息处理系统 | |
US9554323B2 (en) | Generating sequenced instructions for connecting through captive portals | |
EP3796167B1 (en) | Router management by an event stream processing cluster manager | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
US11522812B1 (en) | Workflows for configuring the ingestion of user data from a service provider network into a data intake and query system | |
CN111447170B (zh) | 数据处理方法及其系统、计算机系统及计算机可读介质 | |
CN103179217A (zh) | 一种用于web应用服务器群组的负载均衡方法和装置 | |
CN103577251A (zh) | 基于事件的互联网计算处理系统及方法 | |
CN103577180B (zh) | 数据处理方法及装置 | |
CN113453025A (zh) | 数据获取方法及装置 | |
CN108512889A (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
WO2018149479A1 (en) | Distributed meta messaging computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191018 |
|
RJ01 | Rejection of invention patent application after publication |