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

一种油气管道多业务数据的动态传输、加载方法以及系统与流程

2022-11-12 11:51:26 来源:中国专利 TAG:


1.本发明涉及数字化管道建设技术领域,具体涉及一种油气管道多业务数据的动态传输、加载方法以及系统。


背景技术:

2.随着计算机技术的日益流行与运用,在信息化和数字化浪潮的推动下,油气管道企业构建了越来越多的多业务系统,导致油气管道的各个业务系统间数据不通,形成数据孤岛,动态数据加载缓慢,在运营过程中,许多问题往往因此不能得到及时的处理。
3.传统的动态数据加载技术架构单一,单机器资源,扩展能力有限,容量小,性能低。随着物联网技术的成熟和信息化发展,油气管道行业建成的信息化系统和物联网系统很好支撑了管道运维业务管理,并广泛运用于油气管道行业,随之产生大量实时的检测、异常告警等动态数据。但相关系统建设时,并没有考虑随着业务发展需要从全局角度出发整体综合的观察管道运维情况,因此无形中形成了很多烟囱式系统,产生了大量的孤岛式动态数据。如管道公司的scada系统中,通常点位数有6000 个,每秒动态产生6000 条数据,每小时累计产生1.7gb左右的数据量。
4.为了实现智慧管道建设目标,首先就要实现数据的全面统一。然而依靠传统结构单一的动态数据加载技术和配套的传统关系型数据库,难以承载具有时效性高、数据量大、结构多样等特点的动态数据的加载。
5.公开号为cn103077134a,专利名称为一种嵌入式系统中实现多管道数据传输的方法和装置、的专利文献记载了一种嵌入式系统中实现多管道数据传输的方法和装置,通过在主机网络中的实体之间创建动态通道,实现多管道数据传输,并为每个管道设置对应的传输缓冲区,从而避免各管道之间可能出现交叉的情况,减少了实体之间的数据传输错误,提高了数据传输的可靠性;由于动态管道可被动态地创建和删除,避免了对管理资源的长期占用,节省了主机的资源。此外,该装置还能够实现集中式控制,支持网络拓扑结构,设施简单,部署方便,支持底层的多种数据载体,适用于多种应用场景,错误处理能力强,可兼容多种硬件平台。公开号为cn110147356a,专利名称为数据传输方法及装置、的专利文献记载了公开了一种数据传输方法及装置,其中该方法包括:对不同数据源进行定制化采集以获得不同的采集数据,并将不同的采集数据解析成统一数据格式的数据包;将所述统一数据格式的数据包写入数据管道进行缓存;读取所述数据管道中缓存的数据包,并将读取的数据包写入下游数据存储服务,以实现数据传输;在数据传输的过程中,根据所述下游数据存储服务的预设流量峰值对读取数据的流量速率进行限制。
6.这些技术虽然都能实现动态传输加载功能,提高加载速度,但都是通过上层应用直接与多业务数据库系统对接,导致应用数据冗余,设计臃肿,并不能真正实现动态数据的高效加载和及时同步。


技术实现要素:

7.为了解决油气管道的各个业务系统间数据不通,形成数据孤岛,动态数据加载缓慢等技术问题,本发明提供一种油气管道多业务数据的动态传输、加载方法以及系统。
8.为了解决上述技术问题,本发明提供一种油气管道多业务数据的动态传输、加载方法,其的技术方案如下:
9.一种油气管道多业务数据的动态传输、加载方法,包括如下步骤:
10.根据所述油气管道多业务数据的大小以及数据生成速度,自动配置数据传输通道数量、并发数以及线程数;
11.根据自动配置的所述数据传输通道数量、所述并发数以及所述线程数采集或同步所述油气管道多业务数据,得到动态同步数据;
12.将所述动态同步数据存储到动态数据存储模块中;
13.从所述动态数据存储模块中读取所述动态同步数据,并向外提供动态数据共享接口;
14.上层应用通过访问所述动态数据共享接口加载所述动态同步数据,实现所述油气管道多业务数据的数据处理工作;其中,所述数据处理具体为数据传输或数据加载。
15.本发明的有益效果是:本发明通过利用数据同步技术获取油气管道多业务数据,并将油气管道多业务数据的数据结构调整为向无环图数据拓扑结构,再利用中间存储模块动态数据存储模块存储器同步之后的动态同步数据并让上层应用通过访问统一的数据共享接口,获取其油气管道多业务数据;通过多线程,多通道的设计思想,充分利用机器资源,极大提升数据同步速度,为更多应用场景的实现提供了可靠的基础技术保障。还通过数据动态存储以及对存储的动态数据进行共享的方式,对外暴露一致接口协议,帮助上层应用删减代码、精简设计,易于后期维护。
16.在上述技术方案的基础上,本发明还可以做如下改进。
17.进一步,根据自动配置的所述数据传输通道数量、所述并发数以及所述线程数采集或同步所述油气管道多业务数据,得到动态同步数据,包括如下步骤:
18.根据自动配置的所述数据传输通道数量、所述并发数以及所述线程数采集或同步所述油气管道多业务数据;
19.建立有向无环图数据拓扑结构,利用所述有向无环图数据拓扑结构建立所述油气管道多业务数据的关联结构,得到所述动态同步数据。
20.采用上述进一步方案的有益效果是,通过利用有向无环图数据拓扑结构对多步骤业务关联进行构建,使得动态数据在流转过程中可以进行处理,完成额外数据关联的需求。
21.进一步,在采集或同步所述油气管道多业务数据过程中,还生成有对应的数据处理日志。采用上述进一步方案的有益效果是,通过生成数据处理日志能记录数据采集以及数据同步的操作过程,能够实现有迹可循,有章可循的追踪功能。
22.进一步,将所述动态同步数据存储到动态数据存储模块中,包括如下步骤:
23.利用动态分区方法,将所述动态同步数据按照时间字段进行分区,并将分区之后的所述动态同步数据存储在所述动态数据存储模块中。
24.采用上述进一步方案的有益效果是,利用动态分区技术,将动态同步数据按照时间字段进行分区,使得上层应用可以高效的加载动态同步数据。
25.进一步,将分区之后的所述动态同步数据存储在所述动态数据存储模块中,包括如下步骤:
26.将分区之后的所述动态同步数据按照列式存储格式存储在所述动态数据存储模块中。
27.采用上述进一步方案的有益效果是,列式存储格式在查询时可以只读取涉及的列,并且列可以直接作为索引,非常高效,而行式存储则必须读入整行。列式存储的投影操作非常高效。在数据稀疏的情况下,压缩率比行式存储高很多,甚至可以考虑将相关的表进行预先连接,来完全避免投影操作。
28.进一步,将所述动态同步数据存储到动态数据存储模块中,还包括如下步骤:将所述动态同步数据以及所述数据处理日志存储到动态数据存储模块中。
29.进一步,根据所述油气管道多业务数据的大小以及数据生成速度,自动配置数据传输通道数量、并发数以及线程数,包括如下步骤:
30.根据所述油气管道多业务数据的大小以及数据生成速度,基于分布式系统设计模型自动配置所述分布式系统每个节点的数据传输通道数量、并发数以及线程数。
31.采用上述进一步方案的有益效果是,运用分布式设计系统理念,多节点响应以及数据副本的架构思想。使得本技术能够对轻松应对海量的动态数据进行传输或加载,极大的满足上层应用对动态数据加载的时效要求。
32.进一步,从所述动态数据存储模块中读取所述动态同步数据,并向外提供动态数据共享接口,包括如下步骤:从所述动态数据存储模块中读取所述动态同步数据,并基于接口统一原则向外提供所述动态数据共享接口。
33.采用上述进一步方案的有益效果是,基于接口统一原则能够在编写一段新的并且能够和系统函数的其他部分保持一致的代码需要花些心思和努力更少。通过接口统一原则能够重复使用运行在系统其他部分的代码,从而达到节约开发时间和后期维护的时间,降低运营成本。
34.为了解决上述技术问题,本发明提供一种油气管道多业务数据的动态传输、加载系统,其的技术方案如下:
35.一种油气管道多业务数据的动态传输、加载系统,包括,
36.动态数据同步模块,用于根据所述油气管道多业务数据的大小以及数据生成速度,自动配置数据传输通道数量、并发数以及线程数;根据自动配置的所述数据传输通道数量、所述并发数以及所述线程数采集或同步所述油气管道多业务数据,得到动态同步数据;
37.动态数据存储模块,用于将存储所述动态同步数据;
38.动态数据共享模块,用于从所述动态数据存储模块中读取所述动态同步数据,并向外提供动态数据共享接口;其中,上层应用通过访问所述动态数据共享接口加载所述动态同步数据,实现所述油气管道多业务数据的数据处理工作;其中,所述数据处理具体为数据传输或数据加载。
附图说明
39.图1为本发明实施例中一种油气管道多业务数据的动态传输、加载方法的流程框图;
40.图2位本发明实施例中一种油气管道多业务数据的动态传输、加载系统的结构原理框图。
具体实施方式
41.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
42.如图1所示,本实施例提供一种油气管道多业务数据的动态传输、加载方法,包括如下步骤:
43.s1.根据上述油气管道多业务数据的大小以及数据生成速度,自动配置数据传输通道数量、并发数以及线程数;其具体步骤为,根据上述油气管道多业务数据的大小以及数据生成速度,基于分布式系统设计模型自动配置上述分布式系统每个节点的数据传输通道数量、并发数以及线程数。
44.s2.根据自动配置的上述数据传输通道数量、上述并发数以及上述线程数采集或同步上述油气管道多业务数据,得到动态同步数据。
45.其具体步骤为,根据自动配置的上述数据传输通道数量、上述并发数以及上述线程数采集或同步上述油气管道多业务数据;建立有向无环图数据拓扑结构,利用上述有向无环图数据拓扑结构将上述油气管道多业务数据建立数据关联结构,得到上述动态同步数据;在采集或同步上述油气管道多业务数据过程中,还生成有对应的数据处理日志。
46.s3.将上述动态同步数据存储到动态数据存储模块中;其具体步骤为,利用动态分区技术,将上述动态同步数据按照时间字段进行分区,将分区之后的上述动态同步数据按照列式存储格式存储在上述动态数据存储模块中,并将上述数据处理日志存储到动态数据存储模块中。
47.s4.从上述动态数据存储模块中读取上述动态同步数据,并向外提供一致性的动态数据共享接口,具体地,从上述动态数据存储模块中读取上述动态同步数据,并基于接口统一原则向外提供上述动态数据共享接口。
48.s5.上层应用通过访问上述动态数据共享接口加载上述动态同步数据,实现上述油气管道多业务数据的数据处理工作;其中,数据处理具体为数据传输或数据加载。
49.本发明实施例通过利用数据同步技术获取油气管道多业务数据,并将油气管道多业务数据的数据结构调整为向无环图数据拓扑结构,再利用中间存储模块动态数据存储模块存储器同步之后的动态同步数据并让上层应用通过访问统一的数据共享接口,获取其油气管道多业务数据;本发明实施例融合了分布式,多线程,多通道的设计思想,充分利用机器资源,同步500m的液位数据只需10秒钟左右,极大提升数据同步速度,为更多应用场景的实现提供了可靠的基础技术保障。运用分布式设计系统理念,高可用、水平扩展、横向部署这些分布式系统特点,使得动态数据存储模块具有存储海量历史数据的基本条件。当存储空间不够的时候,经过预估未来数据量的增量情况,适当增加机器资源即可。本发明实施例通过数据动态存储以及对存储的动态数据进行共享的方式,对外提供一致接口协议,帮助上层应用删减代码、精简设计,易于后期维护。
50.实施例2
51.本实施例提供一种油气管道多业务数据的动态传输、加载系统,包括,
52.动态数据同步模块,用于根据上述油气管道多业务数据的大小以及数据生成速度,自动配置数据传输通道数量、并发数以及线程数;根据自动配置的上述数据传输通道数量、上述并发数以及上述线程数采集或同步上述油气管道多业务数据,得到动态同步数据;其中,油气管道多业务数据是由数据采集与监视控制系统获取油气管道的各个参数以及业务数据所得到的。
53.动态数据存储模块,用于将存储上述动态同步数据;
54.动态数据共享模块,用于从上述动态数据存储模块中读取上述动态同步数据,并向外提供动态数据共享接口;其中,上层应用通过访问上述动态数据共享接口加载上述动态同步数据,实现上述油气管道多业务数据的数据处理工作;其中,所述数据处理具体为数据传输或数据加载。
55.动态数据同步模块、动态数据存储模块以及动态数据共享模块的设置步骤以及方法具体为:
56.基于分布式系统的设计思想,设置动态数据同步模块来代替上册应用与多业务数据库直接进行动态数据对接以获取动态数据源,并依据动态数据量大小和数据生成速度,自动配置通道数量、并发数和线程数,以实现动态数据同步功能。
57.设置动态数据存储模块,通过在动态数据存储模块中建立对应的数据模型,将同步后的动态数据存储在动态数据存储模块中。
58.设置动态数据共享模块,利用动态数据共享模块读取动态数据存储模块中保存的动态数据,并对外提供一致性的动态数据共享接口,上层应用通过访问动态数据共享模块的动态数据共享接口,能够实时加载动态数据。
59.另外,通过配置有向无环图,让油气管道多业务数据对应多步骤业务进行关联,使得动态数据在流转过程中可以进行处理,完成额外数据关联的需求。这是因为考虑到数据加载过程中,对于一些较为复杂的业务动态数据,需要进行数据清洗的处理。例如:泄露监测、关键设备设施健康监测、生产计量、数据采集与监控系统等相关的动态数据,在同步时往往需要关联一些设备描述数据,进行数据过滤、数据补充的操作。但传统动态数据加载技术存在同步配置操作复杂、有向无环图功能简单的问题,无法处理较为复杂的业务动态数据处理,更加无法对动态数据做到预期的清洗效果。
60.动态数据共享模块是专门用于解决动态数据同步缓慢的问题。动态数据同步模块利用分布式系统设计思想,研发出多通道、多线程、可追踪、有向无环图的数据同步功能。其多通道基于计算机的多核资源,通过编写代码操作计算机的多核资源,实现多通道数据处理。多线程基于计算机的线程资源,通过编写代码操作计算机的线程资源,实现多线程数据处理。可追踪通过在后台记录数据处理的相关日志,利用日志实现有迹可循,有章可循的追踪功能。有向无环图通过面向对象编程,将每个步骤抽象为一个对象实体,通过对象间的通讯,实现有向无环图功能。分布式的设计使得单机器资源不能满足动态数据快速同步需求时,可以通过水平扩展计算机资源,机器资源的通过公有云或者私有云的方式来进行管理的,当资源不够的时候,可以通过通过云来对资源进行添加,实现水平扩展。增加动态数据同步线程数或者通道数,实现线性扩展数据加载能力来解决问题。
61.动态数据同步模块组件在其内部构建对接多业务数据库协议类型的接口,替代上层应用,直接对接各种异构数据。如油气流量、储罐液位、管道进出口压力等动态数据,就存
储在关系型数据库当中。动态数据同步模块组件的多数据库业务系统访问协议类型的实现使得上层应用可以规避对接多业务数据系统的异构数据,以期减少数据冗余、精简设计、保持低耦合高内聚的软件工程原则。规避上层应用中的数据冗余,设计臃肿,
62.在动态数据同步模块组件规避上层应用对接多业务数据库系统的数据访问协议类型后,本发明为了简化上层应用的对接步骤,设置了动态数据共享模块组件。动态数据共享模块组件作为本技术的唯一数据共享接口,极大的方便上层应用对多业务数据系统的动态数据访问需求,上层应用只需要与本技术动态数据共享模块提供的动态数据共享接口交互即可。
63.本发明设计的动态数据存储模块组件主要是用于解决单机器资源存储大数据量的动态数据的局限性。动态数据存储模块组件借助互联网领域分布式系统的设计理念,高可用、分布式、水平扩展、大容量和多类型数据处理等特点,解决传统动态数据加载技术的机器资源不能水平扩展、计算能力有限和存储空间局限性大等主要缺点。当数据量急剧上升时,可以通过添加机器资源,来增加存储空间、提高计算能力。传统动态数据加载技术由于历史数据的累计,使得动态数据的加载性能越来越低。本发明的动态数据存储模块组件天然分布式的结构,动态分区的特点,冷热数据的隔离,使得海量历史数据的存储与热动态数据的加载都变得易于可存可取。
64.另外,传统动态数据加载技术随着海量数据的涌入,虽然可以添加索引,但是随着海量数据的历史存储,索引数据也随之增加,导致在有索引的情况下,上层应用加载起动态数据来非常缓慢,业务系统调用起来非常耗时。本技术动态数据存储模块组件服务功能通过实现列式存储、分片存储、内存缓冲、动态分区等技术思想,大大提高动态数据加载效率,高效服务于上层应用。列式存储打破传统数据库行存储的模式,通过合并树将每个字段按照列来编排存储。分片存储通过利用分部署的机器资源,将数据分散存储到多个机器上面,即分片存储。内存缓冲通过利用内存缓冲区,对数据进行缓存,将磁盘中的数据提前读取到内存中,提高数据访问效率。动态分区通过提取数据共性例如某些数据都与某个时间节点相关,那么可以将这些数据都划入以时间为分区的目录中,分目录存取,划分数据,同一类的数据归到同一个分区,加快访问效率。在列式存储技术中,传统动态数据加载技术在加载动态数据时往往是一整行数据的返回,上层应用在多数据情况下只需读取有限字段的数据,并不是一整行的数据,因此传统动态数据加载技术这种整行数据的读取方式极大的增加机器资源i/o口的消耗,无法优化加载速度。而列式存储可以做到只返回指定数据项的读取与加载,可以减少没有必要的数据项的读取与加载,降低机器资源i/o口的消耗,提高动态数据的加载速度。
65.也就是说,本发明的动态数据加载技术通过设置动态数据同步模块、动态数据共享模块和动态数据存储模块三大功能组件,分别用于实现动态数据同步、动态数据共享和动态数据存储的功能。
66.以原油流量数据为例,其动态数据加载或传输过程如下:
67.s11.访问动态数据同步模块的可视化操作界面,在该界面可以进行动态数据同步的相关配置,实现动态数据同步功能。在界面添加原油流量动态数据源的配置,选择具体对应的数据访问协议类型。
68.s12.原油流量动态数据源与动态数据同步模块组件连通后,选择需要同步的具体
字段。然后在动态数据存储模块建立好对应的数据模型,其数据模型即数据库中数据表的结构。存储从原油流量动态数据源端同步过来的数据。
69.动态数据同步模块组件对外提供多业务数据库数据访问协议类型的接口,同步原油流量动态数据,对内将原油流量动态数据保存在动态数据存储模块组件提供的存储空间。
70.当原油流量动态数据源与动态数据同步模块实现连通后,根据动态数据量大小、数据生成速度,配置合理通道数量、并发数以及线程数。配置合理通道数量、并发数以及线程数是通过代码操作计算机底层的进程与线程实现对通道数量、并发数和线程数的配置。一般来说数据量在50m/s时,通道数配置为1,线程数为1;在100m/s时,通道数为2,线程数为2;在500m/s时,通道数为3,线程数为3。也不是越多越好,合适才最重要。然后在可视化动态数据同步模块操作界面,进行时间调度的设置,实时同步原油流量动态数据,中间下沉到动态数据存储模块组件。
71.动态数据同步模块的动态数据实时同步到动态数据存储模块组件,为上层应用共享动态数据提供存储保障。这里的原油流量动态数据将被实时同步到动态数据存储模块组件中的对应数据模型中,利用动态分区技术,将原油流量动态数据按照时间字段进行分区,使得上层应用可以高效的加载动态数据。分区方式为按照数据特性进行目录划分,同一类的数据划分的同一个目录中。
72.s13.上层应用通过访问动态数据共享模块的动态数据共享接口,实时加载原油流量动态数据。动态数据共享模块组件对外提供一致性的数据共享接口,对内读取动态数据存储模块组件中保存的原油流量动态数据。
73.其中,动态数据共享模块作为本技术的动态数据对外共享服务功能,使得上层应用规避对接多种异构数据访问协议类型,只需对接动态数据共享模块即可访问实时同步海量动态数据。动态数据共享模块提供利用java、c#、c/c 、python、javascript等语言编辑的程序的访问接口,满足多种服务以及多处共享的动态数据加载需求。
74.本发明实施例所设计的动态数据传输、加载系统,通过设置动态数据加载中间件,既能够解决时效性高、数据量大、结构多样的多源异构业务系统数据统一采集问题,又能够对上层应用进行精简设计,缓解上层应用的动态加载压力,便于上层应用的后期维护。
75.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献