CN111125070A - 一种数据交换方法及平台 - Google Patents
一种数据交换方法及平台 Download PDFInfo
- Publication number
- CN111125070A CN111125070A CN201911133821.1A CN201911133821A CN111125070A CN 111125070 A CN111125070 A CN 111125070A CN 201911133821 A CN201911133821 A CN 201911133821A CN 111125070 A CN111125070 A CN 111125070A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- database
- temporary
- target database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013507 mapping Methods 0.000 claims abstract description 42
- 238000003860 storage Methods 0.000 claims abstract description 34
- 238000007781 pre-processing Methods 0.000 claims abstract description 19
- 238000004140 cleaning Methods 0.000 claims abstract description 16
- 238000007726 management method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000004069 differentiation Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据交换方法,包括:根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库;采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;采用内存映射方式将内存中的临时数据库映射到目标数据库进行存储,解决现有技术不能有效使用***内存的问题。
Description
技术领域
本申请涉及大数据处理领域,具体涉及一种数据交换方法,同时涉及一种数据交换平台。
背景技术
提高数据交换的高效率永远是涉及数据领域的软件产品孜孜不倦所追求的目标,各家厂商都有自己独特技术,技术好坏的评判标准主要看速度。
在相同的硬件环境下,实现数据交换的高效率,现有技术主要是通过提高CPU运行效率,或者对IO设备读写文件的算法和存取方式的改进这些技术来实现的。
现有技术虽然也是提高CPU运行效率,提高IO设备读写能力,但为了适应多任务处理和兼容性的原因,均采用保守的内存使用,而且为了方便普通用户使用,为了遵循易用至上原则,***设置均不对使用内存直接进行管理控制,交由***智能判定和控制,这就造成很多场景下配置内存大的计算机由于实际运行内存小造成资源浪费和性能低下,而配置内存小的计算机又运行缓慢。
发明内容
本申请提供一种数据交换方法,解决现有技术不能有效使用***内存的问题。
本申请提供一种数据交换方法,包括:
根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库;
采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;
采用内存映射方式将内存中的临时数据库映射到目标数据库进行存储。
优选的,在根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库的步骤之前,还包括:
根据***资源预先对数据交换方法设置可用的***资源。
优选的,所述根据目标数据库的存储格式对抽取的数据进行预处理的步骤之前,还包括:
从不同的数据源抽取不同格式的数据。
优选的,所述根据目标数据库的存储格式对抽取的数据进行预处理,包括:
获取目标数据库的存储格式;
将抽取的数据根据目标数据的存储格式进行预处理,获取与目标数据库的存储格式相同的数据。
优选的,对所述临时数据库中的数据进行清洗和转换,包括:
通过清洗去除临时数据库中的脏数据和不完整的数据;
对清洗后的数据,通过转换对临时数据库中的数据进行业务规则的计算和聚合。
本申请同时提供一种数据交换平台,其特征在于,包括:
***监控模块,用于对数据交换平台的运行进行监控;
***管理模块,用于对数据交换平台的权限、配置进行管理;
数据操作模块,用于对抽取的数据进行预处理,将经过预处理的数据映射到内存中的临时数据库;采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;
数据存储模块,用于采用内存映射方式将内存中的临时数据库加载至目标数据库进行存储;同时对已存储的数据进行管理和清理;
消息管理模块,用于发布订阅的服务;
服务集成模块,用于对数据交换平台提供的服务进行管理。
优选的,所述***监控模块,还包括:
通过日志存储数据交换平台的运行数据并提供查询服务;
为数据交换平台存储的数据提供报表统计功能。
优选的,所述***管理模块,还包括:
对用户定义的作业进行界面配置化的作业定义,分别对数转换作业和数据分发作业进行管理。
优选的,所述数据操作模块,还包括:
对存入内存中的临时目标数据库中的数据进行压缩与加密。
优选的,所述消息管理模块,用于发布订阅的服务,包括:
数据交换平台对存储的数据进行分类,在消息队列中建立适合的主题,将所述分类数据按照主题发送至数据订阅方。
本申请提供一种数据交换方法,采用多核多线程的方式,对数据进行清洗和转换,并将清洗和转换完成的数据存入内存中,再使用内存映射的方式将数据存入目标数据库,提高数据清洗和转换的效率,以及数据存储效率,解决现有技术不能有效使用***内存的问题。
附图说明
图1是本申请实施例提供的一种数据交换方法的流程示意图;
图2是本申请实施例涉及的数据交换体系结构示意图;
图3是本申请实施例涉及的检测控制模块的结构示意图;
图4是本申请实施例涉及的文本文件内存映射示意图;
图5是本申请实施例涉及的内存映射的按需调页法使用的各种数据结构示意图;
图6是本申请实施例涉及的内存映射文件的流程示意图;
图7是本申请实施例涉及的多核多线程锁竞争导致的串行化的区别示意图;
图8(a)是本申请实施例涉及的单核任务调度示意图;
图8(b)是本申请实施例涉及的多核任务调度示意图;
图9为本申请实施例提供的一种数据交换平台的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
图1为本申请提供的一种数据交换方法的流程示意图,图2为本申请提供的数据交换体系结构示意图,下面结合图1和图2对本申请实施例提供的方法进行详细说明。
步骤S101,根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库。
本申请提供的数据交换方法,是针对大量数据进行处理,获得精准数据的一种方法,在数据处理时,会大量消耗***资源。提高数据交换的高效率永远是涉及数据领域追求的目标。技术好坏的评判标准主要看速度,在相同的硬件环境下,实现数据交换的高效率,主要是通过提高CPU运行效率,或者对IO设备读写文件的算法和存取方式的改进这些技术来实现的。
现有技术虽然也是提高CPU运行效率,提高IO设备读写能力,但为了适应多任务处理和兼容性的原因,均采用保守的内存使用,而且为了方便普通用户使用,为了遵循易用至上原则,***设置均不对使用内存直接进行管理控制,交由***智能判定和控制,这就造成很多场景下配置内存大的计算机由于实际运行内存小造成资源浪费和性能低下,而配置内存小的计算机又运行缓慢。但实际上使用数据交换多为专业人士,知道如何控制内存使用,追求的就是性能至上,所以,本申请提供的技术方案,在对数据进行处理之前,根据***资源预先对数据交换方法设置可用的***资源。具体的,自动检测出技术方案运行的操作***的内存,给出可使用的内存上限,并智能给出建议,由使用者自动控制使用的内存,并且可能设置多核CPU使用核心数量,也可以使用建议的***资源使用方案。这样能有效提升***资源的利用率,提升数据处理的效率。由检测控制模块实现这一功能。为了更灵活的适应各大种操作***,采用三部分独立模块,检测模块、设置模块、控制模块,如图3所示,
检测模块,用于检测操作***当前内存使用量和最大空闲内存,在Windows***中,使用的是Wmic方式来实现检测的。
设置模块,包括用户设置界面、智能建议数据文件。用户设置界面把检测结果显示出来,并通过智能建议数据文件提出智能建议,使***显得更加友好智能化。
控制模块,根据设置模块的设置值,控制主程序最大内存和使用CPU核心数量。
在检测控制模块设置完成后,从不同的数据源抽取不同格式的数据,根据目标数据库的存储格式对抽取的数据进行预处理。包括:获取目标数据库的存储格式,从图2中可以看出,将抽取的数据根据目标数据的存储格式进行预处理,获取与目标数据库的存储格式相同的数据。数据源有很多种,包括数据库、文件等格式的数据,那么抽取的数据也是多种格式的,而最终获得的数据存储于数据仓库中,数据仓库就为目标数据库。为了便于存储,首先在抽取的过程中,就可以把数据转换成SQL语句,完成对抽取的数据的预处理,这样便于最后的存储。
完成数据的预处理之后,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库。
内存映射文件技术是现代多线程操作***都提供的一种新的文件数据存取机制,利用内存映射文件技术,***可以在地址空间中为文件保留一部分空间,并将文件映射到这块保留空间,一旦文件被映射后,操作***将管理页映射、缓冲以及高速缓冲等任务,而不需要调用分配、释放内存块和文件输入/输出的API函数,也不需要***自身提供任何缓冲算法。
由于所有用户进程总的虚拟地址空间比可用的物理内存大很多,因此只有最常用的部分才与物理页帧关联。这不是问题,因为大多数程序只占用实际可用内存的一小部分。
在将磁盘上的数据映射到进程的虚拟地址空间的时,内核必须提供数据结构,以建立虚拟地址空间的区域和相关数据所在位置之间的关联。例如,在映射文本文件时,映射的虚拟内存区必须关联到文件***的硬盘上存储文件内容的区域。如图4所示。当然,这只是给出的简化图,因为文件数据在硬盘上的存储通常并不是连续的,而是分布到若干小的区域。内核利用address_space数据结构,提供一组方法从后备存储器读取数据。例如,从文件***读取。因此address_space形成了一个辅助层,将映射的数据表示为连续的线性区域,提供给内存管理子***。
按需分配和填充页称为按需调页法。它基于处理器和内核之间的交互,使用的各种数据结构如图5所示。当遇到大数据量文件时,内存映射文件技术能够为我们分配一块足够大的内存来满足请求。这一显著特点是与操作***的内存管理有密切关系的。在操作***中,每个进程都拥有各自的地址空间,虽然它们可以具有相同值的指针来进行寻址,但是为了保证进程之间的相互独立性,一个进程不能存取另一个进程的私有数据,这样就使***的健壮性得到了增强;另一方面,每个进程都用地址空间,但这地址空间仅仅是虚拟地址而不是真正的实际物理内存。一般情况下,只有在需要的时候,才会有操作***为之提交,在不同情况下,***提交的物理内存的类型是不同的,可能是RAM,也可能是硬盘模拟的虚拟内存。总之,正是由于操作***的内存管理,内存映射文件技术才得以实现。
内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非***的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由***直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的***往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。
内存映射文件并不是简单的文件I/O操作,实际用到了Windows的核心编程技术--内存管理。“映射”就是建立一种对应关系,在这里主要是指硬盘上文件的位置与进程逻辑地址空间中一块相同区域之间一一对应,这种关系纯属是逻辑上的概念,物理上是不存在的,原因是进程的逻辑地址空间本身就是不存在的,在内存映射过程中,并没有实际的数据拷贝,文件没有被载入内存,只是逻辑上放入了内存,具体到代码,就是建立并初始化了相关的数据结构,这个过程有***调用mmap()实现,所以映射的效率很高。具体流程如图6所示。具体的步骤如下:
(1)调用mmap(),相当于要给进行内存映射的文件分配了虚拟内存,它会返回一个指针ptr,这个ptr所指向的是一个逻辑地址,要操作其中的数据,必须通过MMU将逻辑地址转换成物理地址,如图6中过程2所示。
(2)建立内存映射并没有实际拷贝数据,这时,MMU在地址映射表中是无法找到与ptr相对应的物理地址的,也就是MMU失败,将产生一个缺页中断,缺页中断的中断响应函数会在swap中寻找相对应的页面,如果找不到(也就是该文件从来没有被读入内存的情况),则会通过mmap()建立的映射关系,从硬盘上将文件读取到物理内存中,如图6中过程3所示。
(3)如果在拷贝数据时,发现物理内存不够用,则会通过虚拟内存机制(swap)将暂时不用的物理页面交换到硬盘上,如图6中过程4所示。
步骤S102,采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库。
采用多核多线程的方式,与单核多线程的区别在于以下几点:
(1)锁竞争导致的串行化的区别
在单核***中如果某个线程获取了锁,那么这个线程将获取CPU的运行时间,其他线程将被阻塞。但CPU始终处于运行状态,影响计算时间的其实只是加锁和解锁的时间。并不会发生CPU空闲的现象。
但多核***中情况发生了本质的变换,如果线程A和B使用同一把锁,但运行在不同的CPU上,如果A得到了锁,那么A线程所在CPU则处于运行状态,线程B处于阻塞状态,B线程所在CPU则处于空闲状态。浪费了一个CPU的运算时间。如图7所示。
(2)线程分解与执行的区别
在单核CPU中,对于客户端软件而言,采用多线程方式通常都是创建线程并将其放在后台执行,避免阻塞客户界面操作,提高性能。而在多CPU中,线程的分解将不再局限与此。多核CPU分解多线程是为了让计算分配到各个CPU核上去执行。大幅度提高工作效率。
(3)CPU负载均衡的区别
在单核CPU中,并不需要考虑CPU间负载均衡的问题,因为无论线程如何切换,CPU始终处于工作状态,它并不会影响程序运行的总时间。但对于多核CPU,则一定要考虑负载均衡的问题,避免出现负载小的CPU出现空闲等待的现象。
加速比(speedup),是同一个任务在单处理器***和并行处理器***中运行消耗的时间的比率,用来衡量并行***或程序并行化的性能和效果。
一个简单加速比的例子:
一个4核CPU有4个任务,各任务分别耗时20ms,5ms,3ms,2ms
优化负载后个任务时间为10ms,8ms,6ms,6ms
多核CPU的效率变为75%,提高的幅度还是很大的。
(4)任务调度策略的区别
在单核中,任务调度的主要工作是为个任务间取得一定的分时效果,简单的说就是保证优先级高的线程可以抢占CPU时间,先运行。在这种情况下程序员更多的是需要考虑任务的优先级。
在多核程序中,不单是要考虑任务的优先级,也要考虑各个任务的耗时,使负载均衡,提高加速比和CPU效率。在多核程序中,操作***并不清楚我们任务的耗时,所以无法采用对我们程序最优化的调度策略来使负载均衡,因此,任务调度策略的选择也是程序员要考虑的问题。
(5)CPU Cache存取的区别
在单核***中,同一时刻只有一个硬件线程在执行,因此单核CPU是不存在Cache存储问题的。但在多核CPU中,情况则发生了变化。问题主要是因为CPU读取Cache时是以行为单位,如果两个硬件线程同时执行时,会造成两个硬件线程写同一Cache的问题,造成竞争降低效率。
(6)任务优先级抢占的区别
在单核CPU情况下,优先级抢占调度是一种常见的调度策略。在多核CPU中,由于有多个任务可以同时在不同的核中运行,优先级在局部发生了变化,有可能发生低优先级的任务先完成的现象。在多核***中需要重新考虑任务的调度策略。
例如:任务T1,T2,T3,T4,优先级为T4>T3>T2=T1,图8(a)和图8(b)将表示出单核与多核在任务调度时的区别。
从图8(b)中表示情况是虽然T4的优先级高于T3,但T4并没有像图8(a)单核CPU中先于T3完成而是基本时间相差不大。
以上详细介绍了多核多线程的相关技术及优点,接下来采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换。通过清洗去除临时数据库中的脏数据和不完整的数据,对清洗后的数据,再通过转换对临时数据库中的数据进行业务规则的计算和聚合。从图2可以看出,经过数据的抽取、清洗和转换,数据的格式,数据的精准性都获得了提高,所以,数据的核心处理已基本完成,然后把数存入内存中的临时目标数据库。
步骤S103,采用内存映射方式将内存中的临时数据库映射到目标数据库进行存储。
数据交换的最后一步就是采用内存映射方式将内存中的临时数据库映射到目标数据库进行存储。内存映射方式在前面的步骤已详细介绍过,下面不再进行说明。目标数据库为数据仓库,数据交换的最终数据存入数据仓库中。
本申请提供的一种数据交换方法,基于同一发明构思,本申请同时提供一种数据交换平台,其结构如图9所示,包括:***监控模块,用于对数据交换平台的运行进行监控;
***管理模块,用于对数据交换平台的权限、配置进行管理;
数据操作模块,用于对抽取的数据进行预处理,将经过预处理的数据映射到内存中的临时数据库;采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;
数据存储模块,用于采用内存映射方式将内存中的临时数据库加载至目标数据库进行存储;同时对已存储的数据进行管理和清理;
消息管理模块,用于发布订阅的服务;
服务集成模块,用于对数据交换平台提供的服务进行管理。
优选的,所述***监控模块,还包括:
通过日志存储数据交换平台的运行数据并提供查询服务;
为数据交换平台存储的数据提供报表统计功能。
优选的,所述***管理模块,还包括:
对用户定义的作业进行界面配置化的作业定义,分别对数转换作业和数据分发作业进行管理。
优选的,所述数据操作模块,还包括:
对存入内存中的临时目标数据库中的数据进行压缩与加密。
优选的,所述消息管理模块,用于发布订阅的服务,包括:
数据交换平台对存储的数据进行分类,在消息队列中建立适合的主题,将所述分类数据按照主题发送至数据订阅方。
数据交换***的各个模块由各个子模块完成相应的功能。例如,***监控模块,包括:作业监控子模块、日志查询子模块、报表统计子模块、异常告警等模块。例如,日志查询子模块,用来存储数据交换平台的运行数据,并提供查询服务。报表统计子模块,用于为数据交换平台存储的数据提供报表统计功能。
数据操作模块中的文件压缩与加密子模块,用于对存入内存中的临时目标数据库中的数据进行压缩与加密。各个子模块的功能就不再一一详细说明。
本申请提供一种数据交换方法,采用多核多线程的方式,对数据进行清洗和转换,并将清洗和转换完成的数据存入内存中,再使用内存映射的方式将数据存入目标数据库,提高数据清洗和转换的效率,以及数据存储效率,解决现有技术不能有效使用***内存的问题。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,而这些未脱离本发明精神和范围的任何修改或者等同替换,其均在申请待批的本发明的权利要求保护范围之内。
Claims (10)
1.一种数据交换方法,其特征在于,包括:
根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库;
采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;
采用内存映射方式将内存中的临时数据库映射到目标数据库进行存储。
2.根据权利要求1所述的方法,其特征在于,在根据目标数据库的存储格式对抽取的数据进行预处理,采用内存映射的方式,将经过预处理的数据映射到内存中的临时数据库的步骤之前,还包括:
根据***资源预先对数据交换方法设置可用的***资源。
3.根据权利要求1所述的方法,其特征在于,所述根据目标数据库的存储格式对抽取的数据进行预处理的步骤之前,还包括:
从不同的数据源抽取不同格式的数据。
4.根据权利要求1所述的方法,其特征在于,所述根据目标数据库的存储格式对抽取的数据进行预处理,包括:
获取目标数据库的存储格式;
将抽取的数据根据目标数据的存储格式进行预处理,获取与目标数据库的存储格式相同的数据。
5.根据权利要求1所述的方法,其特征在于,对所述临时数据库中的数据进行清洗和转换,包括:
通过清洗去除临时数据库中的脏数据和不完整的数据;
对清洗后的数据,通过转换对临时数据库中的数据进行业务规则的计算和聚合。
6.一种数据交换平台,其特征在于,包括:
***监控模块,用于对数据交换平台的运行进行监控;
***管理模块,用于对数据交换平台的权限、配置进行管理;
数据操作模块,用于对抽取的数据进行预处理,将经过预处理的数据映射到内存中的临时数据库;采用多核多线程的方式,对所述临时数据库中的数据进行清洗和转换,将清洗和转换完成的数据存入内存中的临时目标数据库;
数据存储模块,用于采用内存映射方式将内存中的临时数据库加载至目标数据库进行存储;同时对已存储的数据进行管理和清理;
消息管理模块,用于发布订阅的服务;
服务集成模块,用于对数据交换平台提供的服务进行管理。
7.根据权利要求6所述的平台,其特征在于,所述***监控模块,还包括:
通过日志存储数据交换平台的运行数据并提供查询服务;
为数据交换平台存储的数据提供报表统计功能。
8.根据权利要求6所述的平台,其特征在于,所述***管理模块,还包括:
对用户定义的作业进行界面配置化的作业定义,分别对数转换作业和数据分发作业进行管理。
9.根据权利要求6所述的平台,其特征在于,所述数据操作模块,还包括:
对存入内存中的临时目标数据库中的数据进行压缩与加密。
10.根据权利要求6所述的平台,其特征在于,所述消息管理模块,用于发布订阅的服务,包括:
数据交换平台对存储的数据进行分类,在消息队列中建立适合的主题,将所述分类数据按照主题发送至数据订阅方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911133821.1A CN111125070A (zh) | 2019-11-19 | 2019-11-19 | 一种数据交换方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911133821.1A CN111125070A (zh) | 2019-11-19 | 2019-11-19 | 一种数据交换方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111125070A true CN111125070A (zh) | 2020-05-08 |
Family
ID=70495793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911133821.1A Pending CN111125070A (zh) | 2019-11-19 | 2019-11-19 | 一种数据交换方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125070A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290973A (zh) * | 2020-05-11 | 2020-06-16 | 深圳市科信通信技术股份有限公司 | 数据写入方法、装置、计算机设备及存储介质 |
CN112187953A (zh) * | 2020-10-13 | 2021-01-05 | 南开大学 | 一种基于json的基因本体映射***及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184132A (zh) * | 2007-12-19 | 2008-05-21 | ***通信集团黑龙江有限公司 | 基于内存文件与实时同步技术的快速固定费用计算*** |
US20100318752A1 (en) * | 2009-06-16 | 2010-12-16 | Freescale Semiconductor, Inc. | Event Triggered Memory Mapped Access |
CN103995736A (zh) * | 2011-06-17 | 2014-08-20 | 天津书生软件技术有限公司 | 一种传递共享内存的方法和装置 |
CN105515819A (zh) * | 2015-07-14 | 2016-04-20 | 国家电网公司 | 一种基于iec61850的通信组件与应用组件的数据接口方法及*** |
CN106528786A (zh) * | 2016-11-08 | 2017-03-22 | 国网山东省电力公司电力科学研究院 | 快速迁移多源异构电网大数据到HBase的方法及*** |
CN107609159A (zh) * | 2017-09-26 | 2018-01-19 | 恒生电子股份有限公司 | 用于数据加载的方法、装置及计算机可读介质 |
CN107895044A (zh) * | 2017-11-30 | 2018-04-10 | 锐捷网络股份有限公司 | 一种数据库数据处理方法、装置和*** |
CN108073688A (zh) * | 2017-11-20 | 2018-05-25 | 苏宁云商集团股份有限公司 | 一种数据迁移的方法及装置 |
CN109635024A (zh) * | 2018-11-23 | 2019-04-16 | 华迪计算机集团有限公司 | 一种数据迁移方法及*** |
-
2019
- 2019-11-19 CN CN201911133821.1A patent/CN111125070A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184132A (zh) * | 2007-12-19 | 2008-05-21 | ***通信集团黑龙江有限公司 | 基于内存文件与实时同步技术的快速固定费用计算*** |
US20100318752A1 (en) * | 2009-06-16 | 2010-12-16 | Freescale Semiconductor, Inc. | Event Triggered Memory Mapped Access |
CN103995736A (zh) * | 2011-06-17 | 2014-08-20 | 天津书生软件技术有限公司 | 一种传递共享内存的方法和装置 |
CN105515819A (zh) * | 2015-07-14 | 2016-04-20 | 国家电网公司 | 一种基于iec61850的通信组件与应用组件的数据接口方法及*** |
CN106528786A (zh) * | 2016-11-08 | 2017-03-22 | 国网山东省电力公司电力科学研究院 | 快速迁移多源异构电网大数据到HBase的方法及*** |
CN107609159A (zh) * | 2017-09-26 | 2018-01-19 | 恒生电子股份有限公司 | 用于数据加载的方法、装置及计算机可读介质 |
CN108073688A (zh) * | 2017-11-20 | 2018-05-25 | 苏宁云商集团股份有限公司 | 一种数据迁移的方法及装置 |
CN107895044A (zh) * | 2017-11-30 | 2018-04-10 | 锐捷网络股份有限公司 | 一种数据库数据处理方法、装置和*** |
CN109635024A (zh) * | 2018-11-23 | 2019-04-16 | 华迪计算机集团有限公司 | 一种数据迁移方法及*** |
Non-Patent Citations (1)
Title |
---|
程兴园;: "物联网交通数据交换平台关键技术探讨", no. 03 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290973A (zh) * | 2020-05-11 | 2020-06-16 | 深圳市科信通信技术股份有限公司 | 数据写入方法、装置、计算机设备及存储介质 |
CN112187953A (zh) * | 2020-10-13 | 2021-01-05 | 南开大学 | 一种基于json的基因本体映射***及方法 |
CN112187953B (zh) * | 2020-10-13 | 2022-05-03 | 南开大学 | 一种基于json的基因本体映射***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109983441B (zh) | 用于批作业的资源管理 | |
CN107038069B (zh) | Hadoop平台下动态标签匹配DLMS调度方法 | |
US10503704B2 (en) | Isolating resources and performance in a database management system | |
US5784698A (en) | Dynamic memory allocation that enalbes efficient use of buffer pool memory segments | |
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
CN103098014B (zh) | 存储*** | |
US20090100249A1 (en) | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core | |
JPH07175698A (ja) | ファイルシステム | |
US9135262B2 (en) | Systems and methods for parallel batch processing of write transactions | |
CN109144710A (zh) | 资源调度方法、装置及计算机可读存储介质 | |
Li et al. | Improving preemptive scheduling with application-transparent checkpointing in shared clusters | |
CN111125070A (zh) | 一种数据交换方法及平台 | |
EP1760580A1 (en) | Processing operation information transfer control system and method | |
US10579419B2 (en) | Data analysis in storage system | |
US20090187614A1 (en) | Managing Dynamically Allocated Memory in a Computer System | |
Bétourné et al. | Process management and resource sharing in the multiaccess system in ESOPE | |
US8010963B2 (en) | Method, apparatus and program storage device for providing light weight system calls to improve user mode performance | |
CN114816777A (zh) | 命令处理装置、方法、电子设备以及计算机可读存储介质 | |
EP0362903A2 (en) | A special purpose processor for off-loading many operating system functions in a large data processing system | |
EP3602309B1 (en) | A memory allocation manager and method performed thereby for managing memory allocation | |
CN115878910A (zh) | 线路查询方法、装置和存储介质 | |
Chen et al. | A real-time scheduling strategy based on processing framework of Hadoop | |
JPH0877026A (ja) | 情報処理方法とその装置 | |
CN114253713B (zh) | 一种基于reactor的异步批处理方法及*** | |
JP5847313B2 (ja) | 情報処理装置 |
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: 20200508 |