CN112650804B - 大数据接入方法、装置、系统及存储介质 - Google Patents
大数据接入方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN112650804B CN112650804B CN202011610963.5A CN202011610963A CN112650804B CN 112650804 B CN112650804 B CN 112650804B CN 202011610963 A CN202011610963 A CN 202011610963A CN 112650804 B CN112650804 B CN 112650804B
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- json
- http request
- url
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Abstract
本申请涉及一种大数据接入方法、装置、系统及存储介质,属于计算机技术领域,该方法包括:接收HTTP请求;对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据;所述Json数据通过校验后,根据预先生成的Java Bean对象的Jar包,将所述Json数据自动转换成对应的Java Bean对象,以供数据库存储。本申请可以解决当目前硬编码的方式在针对数据格式增多或者数据格式易变,以及针对数据业务处理需要更新时,需要设置特定的代码进行处理,导致软件的复杂度较高的问题。
Description
技术领域
本申请涉及大数据接入方法、装置、系统及存储介质,属于计算机技术领域。
背景技术
在视频监控系统大数据管理中心,需要各个厂商把其摄像头采集的视频、图片、人员信息、车辆信息等格式化的信息上传到大数据中心,在大数据接入的过程中,各个厂商上传的数据都有局部的差异,需要针对性地进行调整;其次,上传的数据中有些字段信息是没有的,需要数据接入模块在收到数据之后进行补齐,然后才能存储;同时因为业务的不断发展,会不断有新的类型数据需要进行接入。
监控摄像头采集到的数据或者其他的结构化数据业务,以http+json的协议方式发送到后台数据中心进行存储,在进行存储时,需要进行代码开发,目前采用硬编码的方式完成数据接入。
当数据格式增多或者数据格式易变,以及针对数据业务处理需要更新时,目前硬编码的方式在数据接入中的问题是:针对不同的厂商的数据差异性,需要特定的代码进行处理;针对数据中特定字段的缺失,需要特定代码进行补齐;不断新增的数据类型或者数据字段,给软件造成了不断整体更新的复杂度。
发明内容
本申请提供了一种大数据接入方法,可以解决当目前硬编码的方式在面对数据格式增多或者数据格式易变,以及数据业务处理需要更新时,需要设置特定的代码进行处理,导致软件的复杂度较高的问题。
本申请提供如下技术方案:
本申请实施例的第一方面,提供了一种大数据接入方法,所述方法包括:
接收HTTP请求;
对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;
根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,所校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验,其中,每一种协议数据对应一个校验数据;
所述Json数据通过校验后,调用预先生成的Jar包提供的接口,将所述Json数据自动转换成对应的JavaBean对象,以供数据库存储;所述JAR包内包含每一种协议数据的Json数据自动生成的JavaBean对象。
本申请技术方案基于Netty构架,通过元数据管理中心对每种协议数据进行描述,根据生成的Jar包,对不同的协议数据自动转换转换成对应的JavaBean对象,并存储。本申请可以实现大数据的自动接入,不需要特定的代码执行数据的更新和补齐处理,简化软件执行过程。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,所述接收HTTP请求之前,还包括构建元数据管理中心的步骤:
对每种协议数据指定唯一协议名称、Json模式和对应的HTTP请求的URL,各协议数据对应的唯一协议名称、Json模式和对应的HTTP请求的URL形成元数据管理中心,所述元数据管理中心用于管理各种协议数据的描述;
其中,每一种协议数据对应一个URL,每一个Json模式对应一种协议数据的类型,所述Json模式即为所述校验数据。
本申请技术方案通过构建元数据管理中心,管理各种协议数据的描述,对每一种待接入数据,可以根据校验数据、唯一字符名字查找对应的协议类型,实现自动接入。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,所述根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,包括:
通过所述HTTP请求携带的URL,查找元数据管理中心内相对应的URL;
确定和所述元数据管理中心的URL相匹配的唯一协议名称;
根据所述唯一协议名称,确定对应的Json模式。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,所述接收HTTP请求之前,还包括生成Jar包的步骤:
根据每种协议数据对应的所述Json模式数据,采用jsonschema2pojo工具,自动化进行JavaBean代码的生成,以将每种协议数据的Json数据自动生成对应的JavaBean对象;
所有生成的JavaBean对象自动打包成一个Jar包,且所述Jar包提供一个实现JavaBean对象的接口。
本申请技术方案通过jsonschema2pojo工具自动化进行JavaBean代码的生成,当有新增协议时,只需要再次执行自动化JavaBean代码的生成的步骤即可,实现JavaBean对象自动转换的过程。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,所述生成Jar包的步骤,还包括:
当新增协议类型或者改变协议字段之后,将所述自动化进行JavaBean代码的生成的步骤重新执行,以包含新增协议的JavaBean对象的Jar包。
本申请技术方案在新增协议或协议变更后,只需要重新执行自动化Java Bean代码的生成的步骤,使新生成的Jar包内包含新的协议类型,当新增的协议数据需要接入时,只需要直接调用Jar包即可实现自动接入。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,服务端配置有IO主线程池和逻辑线程池,通过所述IO主线程池处理接收到的所述HTTP请求;
所述IO主线程池将得到的所述Java Bean对象放入逻辑线程池进行数据字段的更新和补齐处理,以使所述JavaBean对象的处理独立于所述HTTP请求的处理。
本申请技术方案通过逻辑线程池处理JavaBean对象,将业务处理与IO流程的处理独立开来,使得业务处理不影响HTTP请求的接收处理。
进一步地,根据本申请实施例第一方面所述的大数据接入方法,所述逻辑线程池配置有多个插件构成的插件链;
每个所述JavaBean对象的数据更新和补齐通过单独的插件进行处理。
本申请技术方案通过在逻辑线程池内设置插件链的形式实现JavaBean对象的处理,当某协议数据更新或者变更字段时,只需要更新插件版本即可,不需要更新整个软件程序。
本申请实施例的第二方面,提供了一种大数据接入装置,所述装置应用于基于Netty搭建的服务端,所述装置包括:
数据接收模块,用于接收HTTP请求;
数据解析模块,用于对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;
数据校验模块,用于根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,所校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验,其中,每一种协议数据对应一个校验数据;
数据转换模块,用于用于所述Json数据通过校验后,调用预先生成的JAR包提供的接口,将所述Json数据自动转换成对应的JavaBean对象,以供数据库存储;所述JAR包内包含每一种协议数据的Json数据自动生成的JavaBean对象。
本申请技术方案基于Netty构架,通过元数据管理中心对每种协议数据进行描述,根据生成的Jar包,对不同的协议数据自动转换转换成对应的JavaBean对象,并存储。本申请可以实现大数据的自动接入,不需要特定的代码执行数据的更新和补齐处理,简化软件执行过程。
本申请实施例的第三方面,提供一种大数据接入系统,所述系统包括处理器和存储器,所述存储器中存储有程序,所述程序由所述处理器加载并执行,以实现本申请实施例的第一方面所述的大数据接入方法的步骤。
本申请实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时,用于实现本申请实施例的第一方面所述的大数据接入方法的步骤。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的可用于实现本申请大数据接入方法和装置的系统架构;
图2是本申请一个实施例提供的大数据接入方法的流程图;
图3是本申请另一个实施例提供的大数据接入装置的框图;
图4是本申请另一个实施例提供的大数据接入系统的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
图1示出了可以应用本申请的用于实现大数据接入方法或用于实现大数据接入装置的实施例的示例性系统架构100。
如图1所示,本实施例系统架构100为netty搭建的系统构架,可以包括客户端101、服务端102和数据库103。客户端101、服务端102和数据库103之间通过有线网络或无线网络连接。
用户可以使用客户端101通过网络与服务端102交互,以接收或发送消息等,例如客户端101可以向服务端102发送HTTP请求,并接收服务端102返回的HTTP响应。客户端101上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
客户端101可以是硬件,也可以是软件。当客户端101为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当客户端101为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。本实施例在此不做具体限定。
服务端102可以是提供各种服务的服务器,例如对客户端101发送的HTTP请求进行处理的WEB服务器,本实施例所述WEB服务器对接收到的HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,对所述Json数据的描述是否符合标准协议规范进行校验,在所述Json数据通过校验后,调用预先自动化生成的转换脚本,将所述Json数据自动转换成对应的Java Bean对象,并发送HTTP响应到客户端102;最后对所述JavaBean对象进行数据的更新和补齐处理,并发送至数据库进行存储。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
数据库103用于存储对客户端的响应结果。
需要说明的是,本公开的实施例所提供的用于实现大数据接入的方法由服务端102执行,相应地,用于实现大数据接入装置设置于服务端102中。
应该理解,图1中的客户端101、服务端102和数据库103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端101、服务端102和数据库103。
图2是本申请一个实施例提供的大数据接入方法的流程图,基于图1所示的构架,本申请实施例的大数据接入方法应用于Netty搭建的服务端102,以服务端102为执行主体,如图2所示,所述大数据接入方法,包括:
S201:接收HTTP请求。
具体地,HTTP协议工作于客户端-服务端架构上,浏览器作为HTTP客户端,向HTTP服务端即WEB服务器,发送所有HTTP请求。用户在客户端进行操作时,可以触发上述HTTP请求。
S202:对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL。
具体地,HTTP请求中携带有请求行、请求头以及请求体,本实施例通过接收用户在客户端触发的http请求,解析出所述HTTP请求中携带的请求行、请求头以及请求体。
请求体是HTTP请求报文的报文体,它承载多个请求参数的数据,请求体中的请求参数通常以Json数据来表达,本实施例获取的Json数据就是请求体中的请求参数的数据,即:待接入协议数据对应的Json格式的数据。
请求行中包含请求对应的URL(Uniform Resource Location,统一资源定位符)字段,URL是Internet上的地址簿,例如:https://www.baidu.com。通过URL可以到达任何一个地方寻找需要的内容,比如文件、数据库、图像等。
本实施例中每一种类型的协议数据对应一个URL。
S203:根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据。
具体地,所校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验。本申请实施例中,每种协议类型的数据,都配置有唯一协议名称、Json Schema(Json模式)和对应HTTP请求的URL,各协议数据对应的唯一协议名称、Json模式(Json Schema)和对应HTTP请求的URL形成一个元数据管理中心,以管理不同类型的协议数据的描述。
其中,Json Schema就是查找的校验数据,用于对Json数据的描述是否符合标准协议规范进行校验,Json Schema可以充分地描述每种协议数据格式中具体的字段名字和自动类型,以及字段的限制条件。
例如,Json数据可以是:{"city":"chicago","number":20,"user":{"name":"Alex","age":20}};对应的Json Schema为:{"type":"object","properties":{"city":{"type":"string"},"number":{"type":"number"},"user":{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"number"}}}}}。
本申请实施例首先通过获取的URL,查找元数据管理中心内相对应的URL,然后确定和所述元数据管理中心的URL相匹配的唯一协议名称,最后根据所述唯一协议名称,确定对应的Json Schema。
使用Json Schema对获取的Json数据进行校验,自动验证Json数据是否满足描述的需求,包括:某些必须的字段是否存在,某个特定自动的字符串长度是否在限制的范围内等。
S204:所述Json数据通过校验后,调用预先生成的Jar包提供的接口,将所述Json数据自动转换成对应的Java Bean对象,以供数据库存储。
所述Jar包内包含每一种协议数据的Json数据转换成的Java Bean对象。
本申请实施例使用jsonschema2pojo工具,自动化进行Java Bean对象的生成,每个Json Schema对应一种协议数据的类型,对应协议数据的Json数据生成一个具体的JavaBean对象,所有生成Java Bean对象会自动打包成一个Jar包。
同时,Jar包提供一个接口,例如:public interface Transform String To Bean{Object Transform(String Unique Name,String Json Data);}。通过调用该接口,可以实现将某种协议数据的Json数据自动转成对应的Java Bean对象,每种协议数据对应的协议名称通过unique name字段来进行表示。
当新增了协议类型,或者改变了协议字段之后,将自动化进行Java Bean对象生成的过程重新执行,生成的Jar包内会加入新增协议的JavaBean对象,同时接口实现内也会新增协议的反串行化方法。
进一步地,本申请实施例设置了数据处理线程池,包括IO主线程池和逻辑线程池,IO主线程池负责客户端HTTP请求的接收和处理,逻辑线程池负责业务逻辑的数据处理。IO主线程池包括多个IO处理线程,逻辑线程池包括多个工作线程。
IO主线程池将HTTP请求的Json数据串行化为Java Bean对象后,将Java Bean对象输入至逻辑线程池进行处理,当检测到有协议数据内容发生字段缺失或者有错误时,通过对应的工作线程对Java Bean对象的数据字段进行更新和补齐,当处理完成之后,最后生成的Http响应会通过Netty的IO主线程池返回给客户端。
本实施例通过使用逻辑线程池来进行业务逻辑的实际处理,通过逻辑线程池将业务逻辑处理和Netty的IO线程进行隔离,将业务逻辑的数据处理独立起来,在进行业务逻辑处理的时候,不影响Netty的HTTP请求的接收线程。
进一步地,所述逻辑线程池内配置插件链,数据的更新和补齐处理可以使用独立的插件来进行实现。
本申请实施例将业务独有的处理Java Bean对象的代码封装在业务处理Jar包的实现内,每个插件实现一个Jar包接口(Transform),例如,public interface Transform{Object Transform(String uniquename,Object databean);}。通过检测业务处理jar包的内容,来调用相应jar包接口对应的业务处理Jar包内的代码。对应的工作线程将反串行化的Java Bean对象和唯一协议名称作为参数进行调用,返回处理完成之后的Java Bean对象,通过unique name字段可以区分对应的Object具体是哪个JavaBean对象。
业务逻辑的数据处理流程中引入插件链的机制,插件链的执行是在逻辑线程池之内的,当某个独立的业务流程需要更新时,只需要更换其新的插件版本即可,整体的主流程不需要进行更新。
可选地,本申请实施例在步骤S201之前,还包括构建元数据管理中心的步骤:
对每种协议数据指定其唯一协议名称、Json Schema和对应的HTTP请求的URL,形成一个元数据管理中心,管理各种协议数据的描述。具体细节请参照上述S203的描述。
可选地,本申请实施例在步骤S201之前,还包括生成Java Bean的Jar包的步骤:
根据Json Schema数据,使用jsonschema2pojo自动化进行Java Bean代码生成,每个Json Schema对应一种协议的数据类型,会将对应的Json数据生成一个具体的JavaBean对象。
所有生成的JavaBean对象会自动打包成一个Jar包,同时,Jar包提供一个接口,例如:public interface Transform String To Bean{Object Transform(StringUniqueName,String JsonData);}。
通过调用该接口,获取Jar包内与所述Json数据对应的JavaBean对象,实现将某种协议数据的Json数据自动转成对应的JavaBean对象,每种协议数据对应的唯一协议名称通过unique name字段来进行表示。
当新增了协议类型,或者改变了协议字段之后,将自动化进行JavaBean代码的生成的过程重新执行,生成的Jar包内会加入新增协议的JavaBean对象,同时接口实现内也会新增协议的反串行化方法。
具体细节请参照上述S204的描述。
综上所述,本申请实施例通过使用Json Schema来描述业务逻辑形成元数据管理中心,Netty根据元数据的URL,Json Schema和自动生成的JavaBean的Jar包,可以完成HTTP的JSON数据到JavaBean对象的转换;利用逻辑线程池将业务逻辑和Netty的IO主线程进行隔离的方式,将业务数据的处理独立起来;业务处理的流程中引入插件链的机制,数据纠正和数据补齐可以使用独立的插件来进行实现,当业务更新时更新最小粒度的插件包即可。
图3是本申请一个实施例提供的大数据接入装置的框图,本实施例以该装置应用于图1所示的服务端102为例进行说明。该装置至少包括以下几个模块:
数据接收模块301,被配置为用于接收HTTP请求;
请求解析模块302,被配置为用于对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;
数据校验模块303,被配置为用于根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,所校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验,其中,每一种协议数据对应一个校验数据;
数据转换模块304,被配置为用于所述Json数据通过校验后,调用预先生成的JAR包提供的接口,将所述Json数据自动转换成对应的JavaBean对象,以供数据库存储;所述JAR包内包含每一种协议数据的Json数据自动生成的JavaBean对象。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的大数据接入装置在进行大数据接入时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将大数据接入装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的大数据接入装置与阻塞检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本申请一个实施例提供的大数据接入系统的框图,该装置可以是平板电脑、笔记本电脑、台式电脑或服务器。本实施例的大数据接入系统至少包括处理器和存储器。
处理器可以包括一个或多个处理核心,比如:4核心处理器、6核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics ProcessingUnit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现本申请中方法实施例提供的阻塞检测方法。
在一些实施例中大数据接入系统还可选包括有:外围设备接口和至少一个外围设备。处理器、存储器和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,大数据接入系统还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的大数据接入方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的大数据接入方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种大数据接入方法,应用于基于Netty搭建的服务端,其特征在于,所述方法包括:
接收HTTP请求;
对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;
根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,所述校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验,其中,每一种协议数据对应一个校验数据;每一种所述协议数据对应一个所述URL,每一个Json模式对应一种所述协议数据的类型,所述Json模式即为所述校验数据;
所述Json数据通过校验后,通过调用预先生成的Jar包提供的接口,将所述Json数据自动转换成对应的Java Bean对象,以供数据库存储;所述Jar包内包含每一种协议数据的Json数据自动生成的Java Bean对象;
所述服务端配置有IO主线程池和逻辑线程池,通过所述IO主线程池处理接收到的所述HTTP请求;所述IO主线程池将所述Json数据转换得到的所述Java Bean对象放入逻辑线程池进行数据字段的更新和补齐处理,使所述Java Bean对象的处理独立于所述HTTP请求的处理。
2.根据权利要求1所述的大数据接入方法,其特征在于,所述接收HTTP请求之前,还包括构建元数据管理中心的步骤:
对每种协议数据指定唯一协议名称、Json模式和对应的HTTP请求的URL,各协议数据对应的唯一协议名称、Json模式和对应的HTTP请求的URL形成元数据管理中心,所述元数据管理中心用于管理各种协议数据的描述。
3.根据权利要求2所述的大数据接入方法,其特征在于,所述根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,包括:
通过所述HTTP请求携带的URL,查找元数据管理中心内相对应的URL;
确定和所述元数据管理中心的URL相匹配的唯一协议名称;
根据所述唯一协议名称,确定对应的Json模式。
4.根据权利要求1所述的大数据接入方法,其特征在于,所述接收HTTP请求之前,还包括生成Jar包的步骤:
根据每种协议数据对应的所述Json模式数据,采用jsonschema2pojo工具,自动化进行Java Bean对象的生成,以将每种协议数据的Json数据自动生成对应的Java Bean对象;
所有生成的Java Bean对象自动打包成一个Jar包,且所述Jar包提供一个实现JavaBean对象转换的接口。
5.根据权利要求4所述的大数据接入方法,其特征在于,所述生成Jar包的步骤,还包括:
当新增协议类型或者改变协议字段之后,将所述自动化进行Java Bean对象生成的步骤重新执行,以生成包含新增协议的Java Bean对象的Jar包。
6.根据权利要求1所述的大数据接入方法,其特征在于,所述逻辑线程池配置有多个插件构成的插件链;
每个所述Java Bean对象的数据更新和补齐通过单独的插件进行处理。
7.一种大数据接入装置,应用于基于Netty搭建的服务端,其特征在于,包括:
数据接收模块,用于接收HTTP请求;
数据解析模块,用于对所述HTTP请求进行解析,以获取待接入协议数据对应的Json数据和URL;
数据校验模块,用于根据所述URL,从预先创建的元数据管理中心查找待接入协议数据对应的校验数据,所校验数据用于对所述Json数据的描述是否符合标准协议规范进行校验,其中,每一种协议数据对应一个校验数据;每一种所述协议数据对应一个所述URL,每一个Json模式对应一种所述协议数据的类型,所述Json模式即为所述校验数据;
数据转换模块,用于所述Json数据通过校验后,调用预先生成的JAR包提供的接口,将所述Json数据自动转换成对应的Java Bean对象,以供数据库存储;所述JAR包内包含每一种协议数据的Json数据自动生成的Java Bean对象;所述服务端配置有IO主线程池和逻辑线程池,通过所述IO主线程池处理接收到的所述HTTP请求;所述IO主线程池将所述Json数据转换得到的所述Java Bean对象放入逻辑线程池进行数据字段的更新和补齐处理,使所述Java Bean对象的处理独立于所述HTTP请求的处理。
8.一种大数据接入系统,所述系统包括处理器和存储器,所述存储器中存储有程序,其特征在于,所述程序由所述处理器加载并执行,以实现如权利要求1至6任一项所述的大数据接入方法的步骤。
9.一种计算机可读存储介质,所述存储介质中存储有程序,其特征在于,所述程序被处理器执行时,用于实现如权利要求1至6任一项所述的大数据接入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610963.5A CN112650804B (zh) | 2020-12-30 | 2020-12-30 | 大数据接入方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610963.5A CN112650804B (zh) | 2020-12-30 | 2020-12-30 | 大数据接入方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650804A CN112650804A (zh) | 2021-04-13 |
CN112650804B true CN112650804B (zh) | 2023-02-28 |
Family
ID=75364269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011610963.5A Active CN112650804B (zh) | 2020-12-30 | 2020-12-30 | 大数据接入方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650804B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114995813B (zh) * | 2022-06-28 | 2023-12-19 | 上海中汇亿达金融信息技术有限公司 | 交易所api模块及相关的交易所应用平台 |
CN117573762B (zh) * | 2024-01-15 | 2024-04-16 | 杭州数云信息技术有限公司 | 数据连接平台的数据处理方法及装置、存储介质、服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108471433B (zh) * | 2018-01-25 | 2021-07-13 | 中国平安人寿保险股份有限公司 | 一种配置化的同步消息验证接收方法、系统及存储介质 |
CN111835710B (zh) * | 2020-05-29 | 2023-08-15 | 中国平安财产保险股份有限公司 | 校验请求体的方法、装置、计算机设备和存储介质 |
CN111752826A (zh) * | 2020-06-03 | 2020-10-09 | 五八有限公司 | 一种接口测试方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011610963.5A patent/CN112650804B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112650804A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019350B (zh) | 基于配置信息的数据查询方法和装置 | |
CN108920222B (zh) | 一种基于规则引擎的业务处理方法和装置 | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN110471848B (zh) | 一种动态返回报文的方法和装置 | |
CN110795315A (zh) | 监控业务的方法和装置 | |
CN111125107A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN109992406A (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN113076153A (zh) | 一种接口调用方法和装置 | |
CN113312032A (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
US9832322B1 (en) | Techniques to transform network resource requests to zero rated network requests | |
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机系统 | |
CN110928594A (zh) | 服务开发方法和平台 | |
CN111176641B (zh) | 流程节点执行方法、装置、介质及电子设备 | |
CN110795135A (zh) | 一种实现注解式配置的方法和装置 | |
CN111783010B (zh) | 网页空白页面监测方法、装置、终端及存储介质 | |
EP2954428A1 (en) | Methods and apparatus for efficient execution of modules | |
CN113726855B (zh) | 服务聚合方法、装置、电子设备以及计算机可读存储介质 | |
CN111460020B (zh) | 用于解析消息的方法、装置、电子设备和介质 | |
CN109669720B (zh) | 基于Promise的链式异步请求处理方法、装置及电子设备 | |
CN113138772B (zh) | 数据处理平台的构建方法、装置、电子设备和存储介质 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN112835609A (zh) | 一种修改依赖包下载地址的方法和装置 | |
CN113362097B (zh) | 一种用户确定方法和装置 | |
CN112688863B (zh) | 网关数据处理方法、装置及电子设备 | |
CN115422067A (zh) | 一种接口测试方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |