CN115086303B - 一种多数据源数据转发器及其设计方法 - Google Patents
一种多数据源数据转发器及其设计方法 Download PDFInfo
- Publication number
- CN115086303B CN115086303B CN202210745973.2A CN202210745973A CN115086303B CN 115086303 B CN115086303 B CN 115086303B CN 202210745973 A CN202210745973 A CN 202210745973A CN 115086303 B CN115086303 B CN 115086303B
- Authority
- CN
- China
- Prior art keywords
- data
- source
- communication
- service
- channel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013461 design Methods 0.000 title claims abstract description 9
- 238000004891 communication Methods 0.000 claims abstract description 72
- 238000011161 development Methods 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000012216 screening Methods 0.000 claims abstract description 7
- 238000001914 filtration Methods 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 6
- 238000007667 floating Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 239000011800 void material Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种多数据源数据转发器及其设计方法,旨在实现在统一转发通信架构下,仅修改业务端逻辑。本方案主要按照三层结构:业务层,转发层,配置层,业务层主要完成按需数据转发:包含数据过滤,数据标准转化,数据筛选等流程;转发层主要完成数据源通信建立,数据通道建立,目标源通信建立,严格按照“source‑channel‑sink”的通信模式进行开发;配置层:主要完成数据源的配置,包含目标,数据源,定时任务,缓存大小等基础配置。通信框框架选择Netty,该技术为高性能、高可拓展性的异步事件驱动的网络应用程序框架,极大地简化了TCP和UDP客户端和服务器端开发等网络编程。
Description
技术领域
本发明涉及一种多数据源数据转发器及其设计方法,属于数据转发器技术领域。
背景技术
由于工业互联网涉及领域多,覆盖子行业广,产生数据种类,数据标准也不统一,因此数据治理,数据共享和数据融合作为工业大数据的排头兵应用而生。如何跨行业的数据共享?如何解决多数据源的数据传输?如何高效可靠的进行数据传输?如何将业务数据和物联数据融合?这些都是急需解决的重点问题。上述为工业互联网费大数据业务在数据共享的问题和急需解决的困难。
主要解决跨行业,跨公司级的数据共享,多数据源数据可靠传输,业务和物联数据高效融合等问题,现有技术存在以下不足:
(1)如何实现工业大数据跨行业目标数据源标准的统一:由于工业大数据涉及行业和领域多,数据来源广,数据种类多乱杂情况突出
(2)如何实现数据转发由于网络带宽导致数据丢失后的数据补传方式:由于数据传输依赖于网络,因为在异常网络情况下如何降低和避免数据丢失至关重要
(3)如何保障数据在转发过程中的数据安全且不被恶意攻击:程序在公有云部署则有被恶意攻击的可能,如何保障数据传输安全,防止恶意攻击尤为关键
发明内容
本发明的目的在于克服现有技术中的不足,提供一种多数据源数据转发器及其设计方法,能够实现多数据源数据可靠传输。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供一种多数据源数据转发器,包括业务层,转发层,配置层和通信框架;
所述业务层用于按需数据转发:包含数据过滤,数据标准转化,数据筛选流程;
所述转发层用于完成数据源通信建立,数据通道建立,目标源通信建立,按照“source-channel-sink”的通信模式进行开发;
所述配置层用于完成数据源的配置;
通信框架为Netty。
第二方面,本发明提供了一种多数据源数据转发器的设计方法,包括以下步骤:
设置业务层,所述业务层用于按需数据转发:包含数据过滤,数据标准转化,数据筛选流程;
设置转发层,所述转发层用于完成数据源通信建立,数据通道建立,目标源通信建立,按照“source-channel-sink”的通信模式进行开发;
设置配置层,所述配置层用于完成数据源的配置;
选择Netty作为通信框架。
进一步的,设置配置层的方法包括:
配置层采用Scheduled缓存业务数据和数据类型,根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上;
数据类型以集合形式MAP存储,基础结构为“sourceN-dataType”和“sinkN-dataType”。
进一步的,根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上,包括:
业务数据大小以“1024M”为依据,更新频率以“10”分钟为依据,利用业务类型表达式:
如果业务数据>1024M且更新频率>10,则业务数据入Redis;
如果业务数据<1024M且更新频率>10,则业务数据入消息队列;
如果业务数据<1024M且更新频率<10,则业务数据入本地内存。
进一步的,所述方法还包括:添加soruce资源:从dataSet中获取source,并将抽取数据源配置依次加载到soruce队列中,并采用抽象工厂模式针对不同通信类型创建预初始化通信池,使用kafka创建kafka source,使用tcp创建tcp source;
Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接。
进一步的,Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接,包括:
步骤一:创建source抽象工厂接口类;
步骤二:创建不同类型的通信实现类;
步骤三:实现各source实例。
进一步的,设置业务层的方法包括:
获取source基础实时数据,并在配置表中增加数据字典限制;
数据标准规范包括时间数据格式,浮点型数据格式,整型/长整型数据格式,货比格式,布尔型格式的转义,保障数据数据格式的一致性。
进一步的,所述方法还包括添加channel资源:
channel设计兼容内存,消息队列和文件管道,分别对应“Memory Channel”,“MQChannel”和“File Channel”,其中MQ主要包括:kafka,activemq,rabbitmq, rocketmq;
该channel全部进行组件化封装,在配置中选择对应数据通道。
进一步的,数据通道的选择方法包括:
基本公式=R*S*D;R:可靠性;S:传输速度;D:存储介质;R取值范围为[-1,1];S取值范围[10,20,...,100];D取值为[0,1]
若基本公式<0,选择相应的方案为Memory Channel;
若基本公式=0,选择相应的方案为File Channel;
若基本公式>0,选择相应的方案为MQ Channel;
根据项目不同的数据需求,结合数据源的目标源,在配置中选择合理的 channel通道。
进一步的,所述方法还包括添加sink资源:
从dataSet中获取sink,并将写入数据源配置依次加载到sink队列中;
采用抽象工厂模式针对不同通信类型创建预初始化通信池,kafka创建kafkasink,tcp创建tcp sink;
sink资源按照抽象工厂模式建立,根据dataSet中的sink获取响应的通信连接,包括:
步骤一:创建sink抽象工厂接口类
public interface SinkFactory{public void getType(String dataType);}
步骤二:创建不同类型的通信实现类
public class Kafka implements SinkFactory{public abstract voidgetType (String dataType){returnnew SinkType(dataType)}}
步骤三:实现以kafka为例的kafka sink实例
SinkFactory sinkFactory=new SinkFactory(“kafka”);
Kafkakafka=sinkFactory.getType(“kafka”)。
与现有技术相比,本发明所达到的有益效果:
1、本发明采用“source-channel-sink”通信模式开发,简化通信流程、保障通信可靠性和高效传输。
2、本发明采用“按需汇聚”和“按数汇聚”,做到业务产生数据,数据催生业务,从而实现数据共享,数据互补和数据开放。
3、本方案实现多数据源数据转发,保障数据传输的多样性,更好的适用市场和业务需求。
4、本方案二次开发均需将生产源和消费源写入到sink和source层即可,无需更改核心代码逻辑,简化开发流程,节约开发成本。
5、本方案通信组件均采用主流开源组件,移植性高,耦合度低,适配性强。
附图说明
图1是本发明的方法流程图。
图2是本发明的框架图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
本实施例提供一种,主要解决跨行业,跨公司级的数据共享,多数据源数据可靠传输,业务和物联数据高效融合等问题。该专利中支持多数据源的共享,可靠传输和数据融合尤为关键,因此数据源支持目前主流的通信方式:TCP, UDP,HTTP,消息队列(KAFKA)等,通信框架选择高性能、高可拓展性的异步事件驱动的网络应用程序框架Netty,数据融合采用定时任务+缓存方式实现,进而保证整个数据转发流程的可靠性,可用性和稳定性。多数据源转发使用“source-channel-sink”通信模式,采用三层分级技术实现,做到业务纵向扩展,技术横向提升,进而保障从“源数据-中间数据-目标数据”的合理转义和转发,防止数据在转义和转发过程中的数据偏离和数据丢失,从而保障数据传输效率最大化。
kafka:开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者在网站中的所有动作流数据。
Netty:由JBOSS提供的一个java开源框架,现为Github上的独立项目。 Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
Sink:生产源或目标源,主要将产生的数据写入到目标数据源。
Source:消费源或数据源,主要采集转发数据源的基础数据。
Channel:数据通道,主要用来区分讲源数据转发至目标数据源。
Scheduled:定时任务,按照定时规则定时刷新业务数据。
Cache:缓存,只要缓存转发器在不同业务场景下的有任务数据,并结合Scheduled使用。
本发明提出一种标准的多数据源转发方案,旨在实现在统一转发通信架构下,仅修改业务端逻辑。本多数据源转发器主要按照三层结构:业务层,转发层,配置层,业务层主要完成按需数据转发:包含数据过滤,数据标准转化,数据筛选等流程;转发层主要完成数据源通信建立,数据通道建立,目标源通信建立,严格按照“source-channel-sink”的通信模式进行开发;配置层:主要完成数据源的配置,包含目标,数据源,定时任务,缓存大小等基础配置。通信框框架选择Netty,该技术为高性能、高可拓展性的异步事件驱动的网络应用程序框架,极大地简化了TCP和UDP客户端和服务器端开发等网络编程。
本发明提供了多数据源数据转发器的设计方法,包括以下步骤:
(1)配置层采用Scheduled缓存业务数据和数据类型,选择业务数据存储在内存还是缓存Redis上,业务数据大小以“1024M”为依据,更新频率以“10”分钟为依据,利用业务类型表达式:
If(DataSize>1024M&&Scheduled>10m)业务数据入Redis;
IF(DataSize<1024M&&Scheduled>10m)业务数据入消息队列;
IF(DataSize<1024M&&Scheduled<10m)业务数据入本地内存;
数据类型以集合形式MAP存储,基础结构为“sourceN-dataType”和“sinkN-dataType”,本发明主要提供:kafka,tcp,udp,http,mqtt,webservice,符合restful的接口协议,符合主流socket通信协议。以消费者为kafka,生产者为Tcp为例定义数据类型:
Map<String,String>dataset=new HashMap<>();
dataset.put(“source0”,”kafka”);
dataset.put(“sink0”,”tcp”);
(2)soruce资源添加,根据步骤(1)从dataSet中获取source,并将抽取数据源配置依次加载到soruce队列中,并采用抽象工厂模式针对不同通信类型创建预初始化通信池,kafka创建kafka source,tcp创建tcp source。Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接,例如:
步骤一:创建source抽象工厂接口类
public interface SourceFactory{public void getType(String dataType);}
步骤二:创建不同类型的通信实现类
public class Kafka implements SourceFactory{public abstract voidgetType (String dataType){returnnew SourceType(dataType)}}
步骤三:实现以kafka为例的kafka source实例
SourceFactory sourceFactory=new SourceFactory(“kafka”);
Kafkakafka=sourceFactory.getType(“kafka”);
(3)业务处理层主要完成基础数据治理,包含数据字典规范,数据标准规范,数据筛选规范,数据字典规范包含车联网物联数据的字段转化,例如车牌颜色,终端编号,车辆类型等均需按照国标或部表进行适配,从步骤二获取source 基础实时数据,并在配置表中增加数据字典限制,例如:在配置文件中增加参数IsDictionary=True,然后将字典类型数据依次加入到字典集合中 DictionaryMap中,和source中的数据进行字典数据转义,例如:车身颜色字典转换
SouceData.put(“vehicleColor”, DictionaryMap.get(“VehicleColor”).get(SouceData.get(“vehicleColor”)))
数据标准规范主要为时间数据格式,浮点型数据格式,整型/长整型数据格式,货比格式,布尔型格式的转义,例如:在配置文件中增加参数IsStandard=True,然后将标准类型数据依次加入到标准集合中StandardMap中,和source中的数据进行标准数据转义,保障数据数据格式的一致性,例如:终端GPS时间转换
SouceData.put(“gpsTime”,
SouceData.get(“gpsTime”).format(DateTimeFormatter.ofPattern(DictionaryMap. get(“gpsTime”)))
DictionaryMap.get(“gpsTime”)的样本值为:yyyy-MM-dd HH:mm:ss
该步骤主要完成数据的基础治理和清洗作用,对非标和噪声数据进行标准处理,为下一步提供基础数据。
(4)channel资源添加,channel设计主要兼容内存,消息队列和文件管道,分别对应“Memory Channel”,“MQ Channel”和“File Channel”,其中MQ主要包括:kafka,activemq,rabbitmq,rocketmq。该channel全部进行组件化封装,仅需在配置中选择对应数据通道即可。数据通道的选择本方案有配置公式:
基本公式=R*S*D;R:可靠性;S:传输速度;D:存储介质;R取值范围为[-1,1];S取值范围[10,20,...,100];D取值为[0,1]
基本公式<0,选择相应的方案为Memory Channel;例如小数据量快速内存传输,R=-1,S=40,D=1
基本公式=0,选择相应的方案为File Channel;针对数据补传的磁盘传输,R=1,S=20,D=0
基本公式>0,选择相应的方案为MQ Channel;针对流式数据传输, R=1,S=20,D=1
根据项目不同的数据需求,结合步骤(1)的数据源的目标源,在配置中选择合理的channel通道。
注意:针对需要数据补传的数据通道主要是为source和sink建立数据通道和绑定关系,防止数据在数据传输过程中的数据迷失和数据紊乱现象。
(5)sink资源添加,主要目标或生产数据源的建立,根据步骤(1)从dataSet 中获取sink,并将写入数据源配置依次加载到sink队列中,并采用抽象工厂模式针对不同通信类型创建预初始化通信池,kafka创建kafka sink,tcp创建tcp sink。 sink资源按照抽象工厂模式建立,根据dataSet中的sink获取响应的通信连接,例如:
步骤一:创建sink抽象工厂接口类
public interface SinkFactory{public void getType(String dataType);}
步骤二:创建不同类型的通信实现类
public class Kafka implements SinkFactory{public abstract voidgetType (String dataType){returnnew SinkType(dataType)}}
步骤三:实现以kafka为例的kafka sink实例
SinkFactory sinkFactory=new SinkFactory(“kafka”);
Kafkakafka=sinkFactory.getType(“kafka”);
与现有技术相比,本发明所达到的有益效果:
采用“source-channel-sink”通信模式开发,简化通信流程、保障通信可靠性和高效传输。
采用“按需汇聚”和“按数汇聚”,做到业务产生数据,数据催生业务,从而实现数据共享,数据互补和数据开放。
本方案实现多数据源数据转发,保障数据传输的多样性,更好的适用市场和业务需求。
本方案二次开发均需将生产源和消费源写入到sink和source层即可,无需更改核心代码逻辑,简化开发流程,节约开发成本。
本方案通信组件均采用主流开源组件,移植性高,耦合度低,适配性强。
本方案采用“source-channel-sink”通信模式开发,简化通信流程、保障通信可靠性和高效传输。
采用“按需汇聚”和“按数汇聚”,做到业务产生数据,数据催生业务,从而实现数据共享,数据互补和数据开放。
本方案实现多数据源数据转发,保障数据传输的多样性,更好的适用市场和业务需求。
本方案二次开发均需将生产源和消费源写入到sink和source层即可,无需更改核心代码逻辑,简化开发流程,节约开发成本。
本方案通信组件均采用主流开源组件,移植性高,耦合度低,适配性强。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种多数据源数据转发器,其特征在于,包括设置业务层的模块,设置转发层的模块,设置配置层的模块和通信框架;
所述业务层用于按需数据转发:包含数据过滤,数据标准转化,数据筛选流程;
所述转发层用于完成数据源通信建立,数据通道建立,目标源通信建立,按照“source-channel-sink”的通信模式进行开发;
所述配置层用于完成数据源的配置;
通信框架为Netty;
设置配置层的方法包括:
配置层采用Scheduled缓存业务数据和数据类型,根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上;
数据类型以集合形式MAP存储,基础结构为“sourceN-dataType”和“sinkN-dataType”;
根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上,包括:
业务数据大小以“1024M”为依据,更新频率以“10”分钟为依据,利用业务类型表达式:
如果业务数据 > 1024M 且 更新频率> 10,则业务数据入Redis;
如果业务数据 < 1024M 且 更新频率> 10,则业务数据入消息队列;
如果业务数据 < 1024M 且 更新频率 < 10,则业务数据入本地内存;
所述方法还包括:添加soruce资源:
从dataSet中获取source,并将抽取数据源配置依次加载到soruce队列中,并采用抽象工厂模式针对不同通信类型创建预初始化通信池,使用kafka创建kafka source,使用tcp创建tcp source;
Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接。
2.一种多数据源数据转发器的设计方法,其特征在于,该设计方法用于如权利要求1所述的多数据源数据转发器,包括以下步骤:
所述业务层用于按需数据转发:包含数据过滤,数据标准转化,数据筛选流程;
所述转发层用于完成数据源通信建立,数据通道建立,目标源通信建立,按照“source-channel-sink”的通信模式进行开发;
所述配置层用于完成数据源的配置;
选择Netty作为通信框架;
设置配置层的方法包括:
配置层采用Scheduled缓存业务数据和数据类型,根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上;
数据类型以集合形式MAP存储,基础结构为“sourceN-dataType”和“sinkN-dataType”;
根据业务数据和更新频率为依据选择业务数据存储在内存还是缓存Redis上,包括:
业务数据大小以“1024M”为依据,更新频率以“10”分钟为依据,利用业务类型表达式:
如果业务数据 > 1024M 且 更新频率> 10,则业务数据入Redis;
如果业务数据 < 1024M 且 更新频率> 10,则业务数据入消息队列;
如果业务数据 < 1024M 且 更新频率 < 10,则业务数据入本地内存;
所述方法还包括:添加soruce资源:
从dataSet中获取source,并将抽取数据源配置依次加载到soruce队列中,并采用抽象工厂模式针对不同通信类型创建预初始化通信池,使用kafka创建kafka source,使用tcp创建tcp source;
Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接。
3.根据权利要求2所述的多数据源数据转发器的设计方法,其特征在于,Source资源按照抽象工厂模式建立,根据dataSet中的source获取响应的通信连接,包括:
步骤一:创建source抽象工厂接口类;
步骤二:创建不同类型的通信实现类;
步骤三:实现各source实例。
4.根据权利要求2所述的多数据源数据转发器的设计方法,其特征在于,设置业务层的方法包括:
获取source基础实时数据,并在配置表中增加数据字典限制;
数据标准规范包括时间数据格式,浮点型数据格式,整型/长整型数据格式,货比格式,布尔型格式的转义,保障数据数据格式的一致性。
5.根据权利要求4所述的多数据源数据转发器的设计方法,其特征在于,所述方法还包括添加channel资源:
channel设计兼容内存,消息队列和文件管道,分别对应“Memory Channel”,“MQChannel”和“File Channel”,其中MQ包括:kafka,activemq,rabbitmq,rocketmq;
该channel全部进行组件化封装,在配置中选择对应数据通道。
6.根据权利要求5所述的多数据源数据转发器的设计方法,其特征在于,数据通道的选择方法包括:
基本公式=R*S*D;R:可靠性;S:传输速度;D:存储介质;R取值范围为[-1,1];S取值范围[10,20,...,100];D取值为[0,1]
若基本公式<0,选择相应的方案为Memory Channel;
若基本公式=0,选择相应的方案为File Channel;
若基本公式>0,选择相应的方案为MQ Channel;
根据项目不同的数据需求,结合数据源的目标源,在配置中选择合理的channel通道。
7.根据权利要求6所述的多数据源数据转发器的设计方法,其特征在于,所述方法还包括添加sink资源:
从dataSet中获取sink,并将写入数据源配置依次加载到sink队列中;
采用抽象工厂模式针对不同通信类型创建预初始化通信池,kafka创建kafka sink,tcp创建tcp sink;
sink资源按照抽象工厂模式建立,根据dataSet中的sink获取响应的通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745973.2A CN115086303B (zh) | 2022-06-29 | 2022-06-29 | 一种多数据源数据转发器及其设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745973.2A CN115086303B (zh) | 2022-06-29 | 2022-06-29 | 一种多数据源数据转发器及其设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086303A CN115086303A (zh) | 2022-09-20 |
CN115086303B true CN115086303B (zh) | 2024-05-17 |
Family
ID=83255684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210745973.2A Active CN115086303B (zh) | 2022-06-29 | 2022-06-29 | 一种多数据源数据转发器及其设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086303B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250410A (zh) * | 2016-07-21 | 2016-12-21 | 广州安望信息科技有限公司 | 一种基于flume***的数据处理方法及其装置 |
CN108400992A (zh) * | 2018-03-06 | 2018-08-14 | 电信科学技术第五研究所有限公司 | 一种流式通信数据协议解析软件框架实现***及方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及*** |
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集***及其数据传输方法、装置 |
CN112328569A (zh) * | 2020-07-31 | 2021-02-05 | 山东云缦智能科技有限公司 | 基于Flume分布式数据收集架构的构建方法 |
CN113918533A (zh) * | 2021-09-07 | 2022-01-11 | 杭州和佳汇智技术有限公司 | 一种基于大数据方向的rcs统一消息云服务***及其使用方法 |
CN114090563A (zh) * | 2021-11-30 | 2022-02-25 | 武汉众邦银行股份有限公司 | 一种基于flume***的快速数据处理方法及装置 |
CN114547175A (zh) * | 2022-03-01 | 2022-05-27 | 北京京东振世信息技术有限公司 | 一种数据处理方法、装置、存储介质及计算机*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668908B2 (en) * | 2001-12-14 | 2010-02-23 | Microsoft Corporation | System and method for generalized and distributed scalable eventing system |
-
2022
- 2022-06-29 CN CN202210745973.2A patent/CN115086303B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250410A (zh) * | 2016-07-21 | 2016-12-21 | 广州安望信息科技有限公司 | 一种基于flume***的数据处理方法及其装置 |
CN108400992A (zh) * | 2018-03-06 | 2018-08-14 | 电信科学技术第五研究所有限公司 | 一种流式通信数据协议解析软件框架实现***及方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及*** |
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集***及其数据传输方法、装置 |
CN112328569A (zh) * | 2020-07-31 | 2021-02-05 | 山东云缦智能科技有限公司 | 基于Flume分布式数据收集架构的构建方法 |
CN113918533A (zh) * | 2021-09-07 | 2022-01-11 | 杭州和佳汇智技术有限公司 | 一种基于大数据方向的rcs统一消息云服务***及其使用方法 |
CN114090563A (zh) * | 2021-11-30 | 2022-02-25 | 武汉众邦银行股份有限公司 | 一种基于flume***的快速数据处理方法及装置 |
CN114547175A (zh) * | 2022-03-01 | 2022-05-27 | 北京京东振世信息技术有限公司 | 一种数据处理方法、装置、存储介质及计算机*** |
Non-Patent Citations (2)
Title |
---|
Flume: 数据采集机制;Diamon;《URL:https://zhuanlan.zhihu.com/p/402175650》;第1-25页 * |
基于日志采集技术的安全事件***的设计与实现;冯超;《中国优秀硕士学位论文全文数据库》;第二章-第四章 * |
Also Published As
Publication number | Publication date |
---|---|
CN115086303A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10038762B2 (en) | Request and response decoupling via pluggable transports in a service oriented pipeline architecture for a request response message exchange pattern | |
CN110716744A (zh) | 一种数据流处理方法、***和计算机可读存储介质 | |
US20140201418A1 (en) | Net-centric adapter for interfacing enterprises systems to legacy systems | |
US8135785B2 (en) | System and method for processing messages using pluggable protocol processors in a service-oriented pipeline architecture | |
CN112069265A (zh) | 配置数据的同步方法、业务数据***、计算机***和介质 | |
US8352619B2 (en) | Method and system for data processing | |
CN104021452A (zh) | 一种对云计算服务器端实现各个业务***整合的方法 | |
CN106713469B (zh) | 用于分布式容器的动态加载方法、装置及*** | |
WO2023165483A1 (zh) | 设备管理方法和设备管理*** | |
CN112671697A (zh) | 综合监控***的数据处理方法、装置和*** | |
US20230133020A1 (en) | Accelerator or accelerated functions as a service using networked processing units | |
CN112527523A (zh) | 面向高性能计算多云的分布式消息传递方法及*** | |
CN115086303B (zh) | 一种多数据源数据转发器及其设计方法 | |
CN113556387A (zh) | 边缘网关控制方法及***、装置、电子设备、存储介质 | |
CN113329042A (zh) | 消息处理方法及***、车联网***、服务器、电子设备 | |
US20220400082A1 (en) | Ephemeral data stream routing service | |
CN105354058A (zh) | 一种文件更新方法及装置 | |
CN112187916B (zh) | 一种跨***的数据同步方法与装置 | |
CN112910998A (zh) | 边缘节点与云数据协同方法、装置及计算机可读介质 | |
US12021921B2 (en) | Data plane reduction for eventing components | |
CN116320088B (zh) | 一种实现aaa转发的方法及装置 | |
CN117520135A (zh) | 一种接口测试的方法和装置 | |
Timilsina | A Framework for Location Independent Data and Compute for Data Intensive Science | |
CN117097816A (zh) | 一种基于多中介感知的跨协议消息分析处理*** | |
CN113467883A (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 |