CN117093640A - 基于池化技术的数据抽取方法及装置 - Google Patents
基于池化技术的数据抽取方法及装置 Download PDFInfo
- Publication number
- CN117093640A CN117093640A CN202311347005.7A CN202311347005A CN117093640A CN 117093640 A CN117093640 A CN 117093640A CN 202311347005 A CN202311347005 A CN 202311347005A CN 117093640 A CN117093640 A CN 117093640A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- target data
- pool
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000013075 data extraction Methods 0.000 title claims abstract description 76
- 238000011176 pooling Methods 0.000 title claims abstract description 19
- 238000005516 engineering process Methods 0.000 title claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000000605 extraction Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于池化技术的数据抽取方法及装置,包括:获取配置信息;根据配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;从各业务数据库抽取目标数据并缓存;当抽取的目标数据达到一次缓存数据量后,通过至少一个CPU核心使用线程池中的至少一个线程调用连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU核心被配置为处理一个线程。可以根据每个现场的硬件情况及数据情况生成参数配置信息,基于参数配置信息配置线程池、连接池,可最大限度的提升数据抽取、写入的整体效率,合理利用服务器资源。
Description
技术领域
本申请涉及医疗数据处理技术领域,尤其涉及一种基于池化技术的数据抽取技术。
背景技术
在从各业务数据库抽取数据进行分布式存储时,现有技术一般通过使用分布式数据库自带的数据抽取工具抽取数据,或者自行开发的数据抽取工具抽取数据;当抽取数据量较大时,需要分批次获取预设数量的数据,再通过一数据写入执行线程建立与各分布式存储节点的连接,并将读取的数据写入各分布式存储节点中,由于数据写入速度较慢,因此当数据写入未完成时,数据抽取端将被迫暂停数据的读操作,等待写操作完成,写操作完成后执行线程断开与各节点连接,重新读取一批数据到内存中缓存,重复上述操作,数据抽取效率低;不仅数据写入时数据读取需要等待消耗了时间,而且在数据重新读入时数据写入也是中断状态,需要等待读取时间,且数据再次写入时,需要重新建立与分布式存储节点的连接,也会降低数据的整体抽取效率,加大资源的占用。
现有技术中也有线程池、连接池等技术手段,但都没有用于数据抽取的场景,且线程池、连接池、数据批量抽取数一般通过人为预先配置参数的方式进行初始化配置,无法及时适应多现场、多数据库的自动快速的抽取数据的需求。
发明内容
本申请的一个目的是提供一种基于池化技术的数据抽取方法及装置,旨在最大限度的利用服务器资源,提升数据抽取、写入的整体效率。
为实现上述目的,本申请的一些实施例提供了一种基于池化技术的数据抽取方法,应用于服务端,所述方法包括:获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;从各业务数据库抽取目标数据并缓存;当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU核心被配置为处理一个线程。
可选地,其中,确定数据抽取总量的方法,包括:根据所述配置信息中的业务数据库信息,获取目标抽取数据表;根据所述目标抽取数据表的数据量及表结构的数据列信息,计算获得单条目标抽取数据的大小及数据抽取总量。
可选地,其中,确定线程池的线程数量的方法包括:根据所述配置信息中的服务端信息,确定服务端的CPU核心数;根据所述CPU核心数确定线程数量并生成线程池;其中,所述线程数量不少于所述CPU核心数,和/或所述线程数量是所述CPU核心数的预定倍数。
可选地,其中,确定连接池的连接数量的方法包括:根据所述配置信息中的服务端信息,确定服务端的CPU核心数;根据所述配置信息中的分布式数据库信息,确定分布式数据库的分布式节点数;根据所述CPU核心数和所述分布式节点数确定连接数量并生成连接池;其中,所述连接数量数不少于所述CPU核心数和所述分布式节点数之积,和/或所述连接数量是所述CPU核心数和所述分布式节点数之积的预定倍数。
可选地,确定一次缓存数据量的方法包括:根据所述配置信息中的服务端信息,确定服务端的运行内存数;获取缓存系数;所述缓存系数为预设和/或基于服务端的可的运行状态确定;根据所述运行内存数和所述缓存系数计算可用内存;根据所述可用内存、各目标抽取数据表的单条数据的数据大小、线程数量设置一次缓存数据量。
可选地,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据,包括:当抽取的所述目标数据达到所述一次缓存数据量后,使用CPU核心调用所述线程池中的一个线程,将所述目标数据推送至线程队列;调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点;在写入完成后,将调用的一条或多条连接释放至所述连接池。
可选地,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据,还包括:确定处理写入目标数据的所述CPU核心数是否超出预设数;若未超出,则通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;若已超出,则调用所述线程池中的一个空闲线程,将所述目标数据推送至线程队列,等待写入线程写入结束。
可选地,所述从各业务数据库抽取目标数据并缓存,包括:根据所述业务数据库信息,和/或所述分布式数据库信息,和/或预设抽取时间,确定要开启的数据抽取进程数及各数据抽取进程所要抽取的目标数据。
可选地,所述调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点,包括:根据缓存的所述目标数据中的标识信息,计算哈希值,并与分布式存储节点取模,确定各条目标数据所对应的分布式存储节点;调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入对应的分布式存储节点。
根据本申请的另一方面,本申请还提供了一种基于池化技术的数据抽取装置,包括:数据获取模块,用于获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;数据计算模块,用于根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;抽取缓存模块,用于从各业务数据库抽取目标数据并缓存;数据处理模块,用于当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU被配置为对应一个线程。
本申请的上述技术方案,通过自动获取每个现场的硬件情况及数据库结构,根据每个现场的硬件情况及数据情况,生成配置信息(包括业务数据库信息和/或分布式数据库信息和/或服务端信息);并根据所述配置信息配置线程池、连接池等(即确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数),并在从各业务数据库抽取目标数据并缓存后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据,可以合理利用服务器资源,最大限度的提升数据抽取、写入的整体效率。
附图说明
图1为本申请实施例提供的基于池化技术的数据抽取方法的流程图;
图2为本申请实施例提供的数据抽取架构图;
图3为本申请实施例提供的数据写入架构图;
图4为本申请实施例提供的初始化系统配置流程图;
图5为本申请实施例提供的基于池化技术的数据抽取装置的结构示意图;
图6为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,本申请的一实施例提供了一种基于池化技术的数据抽取方法,所述方法包括:
步骤S101:获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;
具体地,获取的配置信息为与数据抽取相关配置信息,包括读取用户自定义配置文件信息及服务端信息,读取用户自定义配置文件信息可以包括要抽取的业务数据库信息和要写入的分布式数据库信息,要抽取的业务数据库信息可以是一个或多个业务数据库,要写入的分布式数据库信息可以是各存储节点信息,如存储节点数、存储节点地址等信息。同时,还可以读取运行该数据抽取方法的计算机信息(服务硬件信息),包括如CPU核心数、运行内存数等。
用户配置信息可以是用户预先生成的,也可以是用户直接输入的,还可以为获取数据抽取现场的所有数据库及服务器信息,基于用户的可视化配置或者选择操作生成的。
步骤S102:根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;
步骤S103:从各业务数据库抽取目标数据并缓存;
具体地,如图2所示,为数据抽取的框架图,其中,业务数据库可以是MySQL、SQLServer、Oracle、Postgre SQL等任意数据库,其中,JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。Config为配置信息,可以获取业务数据库信息、分布式数据库信息和服务端信息,服务端为运行该数据抽取方法的计算机设备,可以是本地服务器也可以是云端配置的服务器。
步骤S104:当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU核心被配置为处理一个线程。具体地,如图3所示,为数据写入的框架图,其中,Config为配置信息,可以获取业务数据库信息、分布式数据库信息和服务端信息,Solr Client(Pool)表示连接池,Thread Pool表示为线程池,Retry为重试机制,网络或者程序错误的时候重试机制可以保证数据百分百的写入到相关分布式存储数据库中。
具体地,如图4所示,初始化系统配置包括:读取/获取配置文件(包括用户自定义配置文件及服务硬件信息)进行综合计算,得到文档大小(要抽取的数据总量)、队列大小(一次缓存数据量)以及连接池和线程池的数量,进而可以设置线程池和连接池的大小,完成系统初始化。
作为一种可选地实施例,确定数据抽取总量的方法,包括:
根据所述配置信息中的业务数据库信息,获取目标抽取数据表;
根据所述目标抽取数据表的数据量及表结构的数据列信息,计算获得单条目标抽取数据的大小及数据抽取总量。具体地,根据用户配置信息中的要抽取的业务数据库信息,查询一个目标抽取数据表中的数据量及表结构的数据列信息,计算获得单条目标抽取数据的大小及数据总量;单条数据大小=每列单元格的大小*该目标抽取数据表的列数。
作为一种可选地实施例,确定线程池的线程数量的方法包括:
根据所述配置信息中的服务端信息,确定服务端的CPU核心数;
根据所述CPU核心数确定线程数量并生成线程池;
其中,所述线程数量不少于所述CPU核心数,和/或所述线程数量是所述CPU核心数的预定倍数。
具体地,根据服务器CPU核心数,生成包含一定数量线程的线程池,线程池线程数=CPU核心数*2,每一CPU核心均可以使用一数据写入线程,同时为了避免线程故障,或者因为数据写入时间过长,而造成缓存不足,必须要停止等待的情形发生,因此需要在线程池中预留一定数量的备用线程,在主线程缓存空间均被占用的的情况下,向备用线程缓存数据。
作为一种可选地实施例,确定连接池的连接数量的方法包括:
根据所述配置信息中的服务端信息,确定服务端的CPU核心数;
根据所述配置信息中的分布式数据库信息,确定分布式数据库的分布式节点数;
根据所述CPU核心数和所述分布式节点数确定连接数量并生成连接池;其中,所述连接数量数不少于所述CPU核心数和所述分布式节点数之积,和/或所述连接数量是所述CPU核心数和所述分布式节点数之积的预定倍数。
具体地,根据服务器CPU核心数、分布式节点数,生成包含一定数量连接的连接池,连接池连接数=CPU核心数*分布式节点数*2,每一CPU核心均可以使用一个线程调用一条或多条连接向一个或多个分布式存储节点写入数据,同时,多个CPU核心均可以同时使用多个线程同时使用多条连接向多个个分布式存储节点同时写入数据。同时为了避免连接死机或长时间无响应故障,因此需要在连接池中预留一定数量的备用连接。
作为一种可选地实施例,确定一次缓存数据量的方法包括:根据所述配置信息中的服务端信息,确定服务端的运行内存数;获取缓存系数;所述缓存系数为预设和/或基于服务端的可的运行状态确定;根据所述运行内存数和所述缓存系数计算可用内存;根据所述可用内存、各目标抽取数据表的单条数据的数据大小、线程数量设置一次缓存数据量。
具体地,根据获取的运行内存数及缓存系数计算可用内存,根据可用内存、各目标抽取数据表的单条数据的数据大小、线程数、进程数设置一次缓存数据量,单条的数据较大时缓存的数据条数相对变少,以此来自动适配不同现场的不同数据库结构,通过设置缓存系数将数据抽取对正常的业务运行的影响降到了最低。一个数据抽取进程的一次缓存数据量=(内存大小*缓存系数)/(单条数据大小*线程数*进程数)。
可选地,可以基于服务器的运行状态选择合适的缓存系数,例如,8G内存,现有在运行的2个系统已占用2G运行内存,则缓存系数可以设置为0.7,若现有在运行的1个系统已占用0.5G运行内存,则缓存系数可以设置为0.8,甚至更高,既可以充分利用内存空间进行批量操作,又可以不影响业务系统的正常运行。
作为一种可选地实施例,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据,包括:当抽取的所述目标数据达到所述一次缓存数据量后,使用CPU核心调用所述线程池中的一个线程,将所述目标数据推送至线程队列;调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点;在写入完成后,将调用的一条或多条连接释放至所述连接池。
具体地,采用流处理技术从各业务数据库获取数据并缓存,达到一次缓存数据量后,调用线程池的一个线程,将缓存数据推送至线程队列,根据缓存数据中的EMPIID,计算哈希值,并根据节点数量取模,确定各条数据所对应的分布式存储节点,调用连接池中的一条或多条连接,将线程队列中的数据分别写入各分布式存储节点;写入完成后释放连接至连接池。
作为一种可选地实施例,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据,还包括:确定处理写入目标数据的所述CPU核心数是否超出预设数(服务端的CPU核心数);若未超出,则通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;若已超出,则调用所述线程池中的一个空闲线程,将所述目标数据推送至线程队列,等待写入线程写入结束,直至所述线程池中的所有备用线程都被缓存数据占满,线程池中无空闲线程。
作为一种可选地实施例,所述从各业务数据库抽取目标数据并缓存,包括:根据所述业务数据库信息,和/或所述分布式数据库信息,和/或预设抽取时间,确定要开启的数据抽取进程数及各数据抽取进程所要抽取的目标数据。
作为一种可选地实施例,所述调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点,包括:
根据缓存的所述目标数据中的标识信息,计算哈希值,并与分布式存储节点取模,确定各条目标数据所对应的分布式存储节点;
调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入对应的分布式存储节点。
作为本申请一种具体地实施方式:只在一个程序运行节点设置一个数据抽取进程,通过设置线程池将一次缓存数量由现有技术的可用内存量,降低至可用内存量的“1/线程池中的线程数”,从而降低单次缓存数据的写入时间,避免数据抽取进程需要长时间堵塞等待缓存数据写入,提高数据抽取效率;并通过设立连接池,可以同时有与CPU核心数相等数量的线程即4个线程同时向4个节点写入数据,避免了现有技术中数据写入时需要单一线程一一与各分布式存储节点建立连接后才能进行写入,写入完成后再断开连接的方式,提高了数据写入效率。
具体地:本申请的方案就是将现有技术的一次读取并缓存8000条数据,读取等待,再通过一条线程队列,与各存储节点建立连接,依次写入,写入完成后断开连接,重新读取并缓存8000条数据。转变为本申请的一次读取并缓存1000条数据,推送至线程池中第一线程队列,第一CPU核心负责处理该携带有1000条数据的该条线程队列,调用连接池中与各存储节点的连接,依次写入,写入完成后释放连接,同时数据读取端推送完成后继续读取并缓存下一批1000条数据数据,继续推送至线程池中第二线程队列,第二CPU核心负责处理该携带有1000条数据的该条线程队列,调用连接池中与各存储节点的连接,依次写入,写入完成后释放连接,以此类推读取第三批、第四批1000条数据并完成推送及写入。当读取第五到第八批数据时,监听前面4批数据写入是否完成,写入完成则调用已经缓存完成的的第五到第八批的其中一条线程队列,通过完成写入任务的CPU核心将数据写入各存储节点,以此类推,完成写入一条线程,则线程池中已经缓存有数据的排队线程进行写入。因此本申请除开始一段时间之外,始终保持4条线程并行写入数据,相比于现有技术通过单条线程写入方式速度提升4倍以上,同时避免写入完成后等待数据读取时间,以及再次写入时重新与各存储节点建立连接的时间,进一步提高数据抽取效率。上述方法可以读一批写一批,直至每一CPU核心均被线程所占用,多线程并行写入后,则转变为读一批排队,直至线程池中的每一线程均被缓存数据所占用,进一步缩小等待时间。也可以是读4批同时开始并行写入,再读的缓存数据在线程池中的其他线程内进行排队。
作为一种可选地实施例,根据要抽取的业务数据库信息、要写入的分布式数据库信息及抽取时间控制要求中的至少一个或两个信息,确定要开启的进程数及各进程所要抽取的数据信息。具体而言,可以根据数据表的数量、可以使用的数据抽取节点数量、各数据表中的数据量、可运行数据抽取服务器的硬件信息、以及预设的或者用户配置的数据抽取时间要求,确定需要开启的进程数及每一进程所分配的待抽取数据,例如要抽取的数据表数量为3个,表A有10000条数据,一条采用4核处理器的计算机所运行的数据抽取进程需要10秒,表B有5000条数据,一条采用4核处理器的计算机所运行的数据抽取进程需要5秒,表C有5000条数据,一条采用4核处理器的计算机所运行的数据抽取进程需要5秒。若没有其他要求,则默认采用一个4核数据抽取节点服务器,开启一条数据抽取进程,一次抽取表A/B/C,数据抽取完成总时间为10+5+5=20秒;当有用户设置或者预设数据抽取时间不超过10秒时,则需要采用两个4核数据抽取节点,同时运行两条数据抽取进程,一条进程抽取表A的数据,另一条抽取表B/C的数据,数据抽取总时间为10秒;当要求5S内完成时,则可以采用4个4核数据抽取节点,同时运行4条数据抽取进程,对表A进行分片,2条进程在各自分片内同时抽取表A的数据,一条抽取表B的数据,一条抽取表C的数据,数据抽取总时间为5秒,或者,可以采用1个8核数据抽取节点+2个4核数据抽取节点,同时运行3条数据抽取进程,8核节点运行一条进程抽取表A的数据,4核节点各运行一条进程抽取表B和表C的数据,数据抽取总时间为5秒。
本申请中的连接池化技术可以在使用的时候快速获取到相关连接并且保证每个连接的存活时间,当存活时间超过预设时间时使得该连接失效,重新调用新的连接进行重试,重新写入数据,避免因为连接长时间无法写入造成连接长时间堵塞,影响数据抽取效率。写入线程池化技术,可以通过多线程写入数据保证服务器性能得到最大程度上的使用。
在本申请中,还可以添加重试机制:在网络或者程序错误的时候重试机制可以保证数据百分百的写入到相关分布式存储数据库中。
根据本申请的另一实施例,本申请还提供了一种基于池化技术的数据抽取装置,如图5所示,包括:
数据获取模块,用于获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;
数据计算模块,用于根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;
抽取缓存模块,用于从各业务数据库抽取目标数据并缓存;
数据处理模块,用于当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU被配置为对应一个线程。
关于装置的具体限定可参见上文中对于基于池化技术的数据抽取方法的限定,在此不再赘述。上述基于池化技术的数据抽取装置中的各个模块/单元可全部或部分通过软件、硬件及其组合来实现。上述各模块/单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,本申请提供了一种计算机设备,所述计算机设备包括:通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器存储有计算机程序指令的存储器,所述计算机程序指令在被执行时使所述处理器执行基于池化技术的数据抽取方法的步骤。
本申请实施例提供的计算机设备,可以是服务器,也可以是客户端或者其他计算机网络通信设备;如图6所示,为本申请实施例提供的计算机设备的结构示意图。
处理器601、存储器602、接口604、总线605,处理器601与存储器602、接口604相连,总线605分别连接处理器601、存储器602以及接口604,接口604用于接收或者发送数据,处理器601是单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。存储器602可以为随机存取存储器(randomaccess memory,RAM) ,也可以为非易失性存储器(non-volatile memory) ,例如至少一个硬盘存储器。存储器602用于存储计算机执行指令。具体的,计算机执行指令中可以包括程序603。
本实施例中,该处理器601调用程序603时,可以使图6中的管理服务器执行防微环的报文发送的操作,具体此处不再赘述。
应理解,本申请上述实施例提供的处理器,可以是中央处理单元(centralprocessing unit,CPU) ,还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,DSP)、专用集成电路 (application-specific integrated circuit ,ASIC) 、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的计算机设备中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还需要说明的是,当计算机设备包括处理器(或处理单元)与存储器时,本申请中的处理器可以是与存储器集成在一起的,也可以是处理器与存储器通过接口连接,可以根据实际应用场景调整,并不作限定。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机设备(客户端或服务器)实现上述方法中所涉及的控制器的功能,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在另一种可能的设计中,当该芯片系统为用户设备或接入网等内的芯片时,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该客户端或管理服务器等内的芯片执行常识问答方法的步骤。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是客户端或管理服务器等内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
应理解,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
应理解,本申请以上实施例中的提及的控制器或处理器,可以是中央处理单元(central processing unit,CPU) ,还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等中的一种或多种的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的计算机设备或芯片系统等中的处理器或控制器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机可读指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案的步骤。该计算机可以为上述计算机设备(客户端或服务器或者其他计算机网络通信设备)。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
此外,本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行所述控制代码执行的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.基于池化技术的数据抽取方法,其特征在于,应用于服务端,所述方法包括:
获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;
根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;
从各业务数据库抽取目标数据并缓存;
当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU核心被配置为处理一个线程。
2.根据权利要求1所述的方法,其特征在于,确定数据抽取总量的方法,包括:
根据所述配置信息中的业务数据库信息,获取目标抽取数据表;
根据所述目标抽取数据表的数据量及表结构的数据列信息,计算获得单条目标抽取数据的大小及数据抽取总量。
3.根据权利要求1所述的方法,其特征在于,确定线程池的线程数量的方法包括:
根据所述配置信息中的服务端信息,确定服务端的CPU核心数;
根据所述CPU核心数确定线程数量并生成线程池;
其中,所述线程数量不少于所述CPU核心数,和/或所述线程数量是所述CPU核心数的预定倍数。
4.根据权利要求1所述的方法,其特征在于,确定连接池的连接数量的方法包括:
根据所述配置信息中的服务端信息,确定服务端的CPU核心数;
根据所述配置信息中的分布式数据库信息,确定分布式数据库的分布式节点数;
根据所述CPU核心数和所述分布式节点数确定连接数量并生成连接池;
其中,所述连接数量数不少于所述CPU核心数和所述分布式节点数之积,和/或所述连接数量是所述CPU核心数和所述分布式节点数之积的预定倍数。
5.根据权利要求1至4任一项所述的方法,其特征在于,确定一次缓存数据量的方法包括:
根据所述配置信息中的服务端信息,确定服务端的运行内存数;
获取缓存系数;所述缓存系数为预设和/或基于服务端的可的运行状态确定;
根据所述运行内存数和所述缓存系数计算可用内存;
根据所述可用内存、各目标抽取数据表的单条数据的数据大小、线程数量设置一次缓存数据量。
6.根据权利要求5所述的方法,其特征在于,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据,包括:
当抽取的所述目标数据达到所述一次缓存数据量后,使用CPU核心调用所述线程池中的一个线程,将所述目标数据推送至线程队列;
调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点;
在写入完成后,将调用的一条或多条连接释放至所述连接池。
7.根据权利要求1所述的方法,其特征在于,所述当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据,还包括:
确定处理写入目标数据的所述CPU核心数是否超出预设数;
若未超出,则通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向分布式数据库的一个或多个分布式存储节点写入目标数据;
若已超出,则调用所述线程池中的一个空闲线程,将所述目标数据推送至线程队列,等待写入线程写入结束。
8.根据权利要求1所述的方法,其特征在于,所述从各业务数据库抽取目标数据并缓存,包括:
根据所述业务数据库信息,和/或所述分布式数据库信息,和/或预设抽取时间,确定要开启的数据抽取进程数及各数据抽取进程所要抽取的目标数据。
9.根据权利要求6所述的方法,其特征在于,所述调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入分布式数据库的各分布式存储节点,包括:
根据缓存的所述目标数据中的标识信息,计算哈希值,并与分布式存储节点取模,确定各条目标数据所对应的分布式存储节点;
调用所述连接池中的一条或多条连接,将所述线程队列中的所述目标数据分别写入对应的分布式存储节点。
10.基于池化技术的数据抽取装置,其特征在于,包括:
数据获取模块,用于获取配置信息,其中,所述配置信息包括业务数据库信息,和/或分布式数据库信息,和/或服务端信息;
数据计算模块,用于根据所述配置信息,确定数据抽取总量、线程池的线程数量、连接池的连接数量、一次缓存数据量,以及服务端的CPU核心数、运行内存数;
抽取缓存模块,用于从各业务数据库抽取目标数据并缓存;
数据处理模块,用于当抽取的所述目标数据达到所述一次缓存数据量后,通过至少一个CPU核心使用所述线程池中的至少一个线程调用所述连接池中的一条或多条连接向所述分布式数据库的一个或多个分布式存储节点写入目标数据;其中,每个CPU被配置为对应一个线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311347005.7A CN117093640B (zh) | 2023-10-18 | 2023-10-18 | 基于池化技术的数据抽取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311347005.7A CN117093640B (zh) | 2023-10-18 | 2023-10-18 | 基于池化技术的数据抽取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117093640A true CN117093640A (zh) | 2023-11-21 |
CN117093640B CN117093640B (zh) | 2024-01-23 |
Family
ID=88781452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311347005.7A Active CN117093640B (zh) | 2023-10-18 | 2023-10-18 | 基于池化技术的数据抽取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093640B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065644A1 (en) * | 2006-09-08 | 2008-03-13 | Sybase, Inc. | System and Methods For Optimizing Data Transfer Among Various Resources In A Distributed Environment |
US20140168245A1 (en) * | 2012-12-19 | 2014-06-19 | Nvidia Corporation | Technique for performing memory access operations via texture hardware |
US20180060402A1 (en) * | 2016-08-29 | 2018-03-01 | International Business Machines Corporation | Managing software asset environment using cognitive distributed cloud infrastructure |
WO2019154394A1 (zh) * | 2018-02-12 | 2019-08-15 | 中兴通讯股份有限公司 | 分布式数据库集群系统、数据同步方法及存储介质 |
CN112685196A (zh) * | 2020-12-24 | 2021-04-20 | 平安普惠企业管理有限公司 | 适用于分布式技术的线程池管理方法、装置、设备及介质 |
CN112905323A (zh) * | 2021-02-09 | 2021-06-04 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113157410A (zh) * | 2021-03-30 | 2021-07-23 | 北京大米科技有限公司 | 线程池调节方法、装置、存储介质及电子设备 |
CN113590285A (zh) * | 2021-07-23 | 2021-11-02 | 上海万物新生环保科技集团有限公司 | 一种用于线程池参数动态设置的方法、系统及设备 |
CN114880386A (zh) * | 2022-04-06 | 2022-08-09 | 北京宇信科技集团股份有限公司 | 一种任务调度平台及任务调度方法 |
CN115525631A (zh) * | 2022-10-31 | 2022-12-27 | 华润数字科技有限公司 | 数据库数据迁移方法、装置、设备、存储介质 |
WO2023065749A1 (zh) * | 2021-10-20 | 2023-04-27 | 北京锐安科技有限公司 | 分布式数据库的内嵌方法、装置、设备及存储介质 |
CN116303494A (zh) * | 2023-02-22 | 2023-06-23 | 国泰君安证券股份有限公司 | 基于分布式数据库对证券核心交易系统的海量多源异构数据进行一致性分析的系统及其方法 |
-
2023
- 2023-10-18 CN CN202311347005.7A patent/CN117093640B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065644A1 (en) * | 2006-09-08 | 2008-03-13 | Sybase, Inc. | System and Methods For Optimizing Data Transfer Among Various Resources In A Distributed Environment |
US20140168245A1 (en) * | 2012-12-19 | 2014-06-19 | Nvidia Corporation | Technique for performing memory access operations via texture hardware |
US20180060402A1 (en) * | 2016-08-29 | 2018-03-01 | International Business Machines Corporation | Managing software asset environment using cognitive distributed cloud infrastructure |
WO2019154394A1 (zh) * | 2018-02-12 | 2019-08-15 | 中兴通讯股份有限公司 | 分布式数据库集群系统、数据同步方法及存储介质 |
CN112685196A (zh) * | 2020-12-24 | 2021-04-20 | 平安普惠企业管理有限公司 | 适用于分布式技术的线程池管理方法、装置、设备及介质 |
CN112905323A (zh) * | 2021-02-09 | 2021-06-04 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113157410A (zh) * | 2021-03-30 | 2021-07-23 | 北京大米科技有限公司 | 线程池调节方法、装置、存储介质及电子设备 |
CN113590285A (zh) * | 2021-07-23 | 2021-11-02 | 上海万物新生环保科技集团有限公司 | 一种用于线程池参数动态设置的方法、系统及设备 |
WO2023065749A1 (zh) * | 2021-10-20 | 2023-04-27 | 北京锐安科技有限公司 | 分布式数据库的内嵌方法、装置、设备及存储介质 |
CN114880386A (zh) * | 2022-04-06 | 2022-08-09 | 北京宇信科技集团股份有限公司 | 一种任务调度平台及任务调度方法 |
CN115525631A (zh) * | 2022-10-31 | 2022-12-27 | 华润数字科技有限公司 | 数据库数据迁移方法、装置、设备、存储介质 |
CN116303494A (zh) * | 2023-02-22 | 2023-06-23 | 国泰君安证券股份有限公司 | 基于分布式数据库对证券核心交易系统的海量多源异构数据进行一致性分析的系统及其方法 |
Non-Patent Citations (1)
Title |
---|
郑秋梅, 任平红, 吴奕: "池化资源技术在分布式Web系统中的应用", 控制工程, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN117093640B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106795B2 (en) | Method and apparatus for updating shared data in a multi-core processor environment | |
US10521393B2 (en) | Remote direct memory access (RDMA) high performance producer-consumer message processing | |
TW201833792A (zh) | 用戶介面渲染方法及裝置 | |
WO2023103296A1 (zh) | 一种写数据高速缓存的方法、系统、设备和存储介质 | |
CN103970520A (zh) | MapReduce架构中的资源管理方法、装置和架构系统 | |
US9747210B2 (en) | Managing a lock to a resource shared among a plurality of processors | |
CN107016016B (zh) | 一种数据处理的方法及装置 | |
CN111708738B (zh) | 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统 | |
CN104104705B (zh) | 分布式存储系统的接入方法和设备 | |
CN109347936B (zh) | Redis代理客户端的实现方法、系统、存储介质及电子设备 | |
CN112068960A (zh) | 一种cpu资源分配方法、装置、存储介质及设备 | |
CN110851276A (zh) | 一种业务请求处理方法、装置、服务器和存储介质 | |
US9747114B2 (en) | Information processing apparatus, boot up method, and computer-readable storage medium storing boot up program | |
CN117093640B (zh) | 基于池化技术的数据抽取方法及装置 | |
US20180139149A1 (en) | Multi-cloud resource reservations | |
CN116340889A (zh) | 基于大数据平台的数据采集方法及系统 | |
CN114281872B (zh) | 分布式序列号的生成方法、装置、设备及可读存储介质 | |
JP7427775B2 (ja) | ストアドプロシージャの実行方法、装置、データベースシステム及び記憶媒体 | |
US10884477B2 (en) | Coordinating accesses of shared resources by clients in a computing device | |
US12112042B2 (en) | Cache mirroring method | |
US20200319915A1 (en) | Disaggregated rack mount storage side transaction support | |
US9342134B2 (en) | Power consumption reduction in a computing device | |
CN116547660A (zh) | 使用全局时间戳的分布式数据库事务的方法和装置 | |
CN108664414B (zh) | Ddr内存配置空间访问方法及装置 | |
CN117194549B (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 |