CN112597162B - 数据集采集方法、系统、设备及存储介质 - Google Patents
数据集采集方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112597162B CN112597162B CN202011558655.2A CN202011558655A CN112597162B CN 112597162 B CN112597162 B CN 112597162B CN 202011558655 A CN202011558655 A CN 202011558655A CN 112597162 B CN112597162 B CN 112597162B
- Authority
- CN
- China
- Prior art keywords
- data
- temporary files
- language
- splitting
- acquiring
- 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 57
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001502 supplementing 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06F9/505—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 considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据集采集方法,通过第一语言数据处理节点根据数据获取请求获取到多个第一数据,调用第二语言数据处理节点对多个第一数据特征计算,得到多个目标数据集,并将多个目标数据集存储于数据表单中;本发明实施例相比于用单一语言进行索引,第一语言数据处理节点、第二语言数据处理节点发挥各自的优势,在获取相同的数据量时,通过本发明实施例有效地节省了数据采集的时耗,提高了数据采集的效率。
Description
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种数据集采集方法、系统、计算机设备及计算机可读存储介质。
背景技术
数据集采集作为建模的第一步,实效性以及支持数据量尤为关键。现有行内的数据集采集系统对于数据集采集主要通过数据库取数、数据集导出的方式实现。现有的数据集采集方式支持数据量50w*200列,需要10分钟。且现有的数据采集系统无法实现更高量级的数据量的数据集的采集。
现有数据采集系统采用Python单语言开发,数据采集效率低,数据采集量无法达到更高的量级。
发明内容
有鉴于此,本发明实施例提供了一种数据集采集方法、系统、计算机设备及计算机可读存储介质,用于解决现有的单语言开发的数据集采集系统的数据采集效率低的问题。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种数据集采集方法,包括:
通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句;
基于所述数据获取请求获取第一拆分规则;
基于所述第一拆分规则将所述查询语句拆分为多个子查询语句;
基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件;
通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值;
基于所述多个特征值,得到第一数据集;及
基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中。
可选地,所述通过第一语言数据处理节点获取数据获取请求的步骤之后,包括:
解析所述数据获取请求,得到待获取的多个目标数据对应的多个目标字段名称;
基于所述多个目标字段名称整合预设的数据表单中对应的字段名称,以得到整合后的数据表单。
可选地,所述基于所述数据获取请求获取第一拆分规则的步骤,包括:
获取在预设时间内服务器的配置数据和负载数据;
基于所述配置数据和所述负载数据,从第一拆分规则集合中获取多个第一候选拆分规则;及
基于所述数据获取请求,从所述多个第一候选拆分规则中获取第一拆分规则。
可选地,所述基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件的步骤,包括:
基于所述多个子查询语句生成查询请求,并通过所述第一语言数据处理节点将所述查询请求发送至数仓组件,所述数仓组件用于将所述查询请求转换为多个线程查询任务;
接收所述数仓组件发送的多个线程查询任务;
基于所述多个线程查询任务获取多个第一数据;
根据预设的第三拆分规则将所述多个第一数据拆分保存到对应的多个临时文件中。
可选地,所述通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值还包括:
通过所述第二语言数据处理节点接收所述第一语言数据处理节点发送的调用指令;
基于所述调用指令,通过所述第二语言数据处理节点将所述多个临时文件加载至内存;
基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
可选地,基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值,包括:
识别所述多个临时文件,以获取所述多个临时文件对应的数据类型;
基于所述多个临时文件的数据类型获取对应的特征计算算法;
基于所述特征计算算法和每个临时文件与数据表单中列的对应关系,对所述多个临时文件执行所述多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
可选地,还包括:将获取到的数据表单存储于区块链中。
为了实现上述目的,本发明实施例还提供一种数据集采集系统,包括:
第一获取模块,用于通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句;
第二获取模块,用于基于所述数据获取请求获取第一拆分规则;
第一拆分模块,用于基于所述第一拆分规则将所述查询语句拆分为多个子查询语句;
查询模块,用于基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件;
计算模块,用于通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值;
生成模块,基于所述多个特征值,得到第一数据集;及
第二拆分模块,用于基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述数据集采集方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的数据集采集方法的步骤。
本发明实施例提供的数据集采集方法、系统、计算机设备及计算机可读存储介质,通过第一语言数据处理节点根据数据获取请求获取到多个第一数据,调用第二语言数据处理节点对多个第一数据特征计算,得到多个目标数据集,并将多个目标数据集存储于数据表单中;本发明实施例相比于用单一语言进行索引,第一语言、第二语言数据处理节点发挥各自的优势,在获取相同的数据量时,通过本发明实施例有效地节省了数据采集的时耗,提高了数据采集的效率。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之数据集采集方法的步骤流程图;
图2为本发明实施例一之数据集采集方法中对预设的数据表单的整合的步骤流程图;
图3为本发明实施例一之数据集采集方法中第一拆分规则的获取的步骤流程图;
图4为本发明实施例一之数据集采集方法中多线程数据查询的步骤流程图;
图5为本发明实施例一之数据集采集方法中的特征计算的步骤流程图;
图6为本发明实施例一之数据集采集方法中多进程特征计算的步骤流程图;
图7为本发明实施例二之数据集采集系统的程序模块示意图;
图8为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
请参阅图1,示出了本发明实施例之数据集采集方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
如图1所示,所述数据集采集方法,可以应用于银行系统中,所述方法还可以包括步骤S100~S700,其中:
步骤S100,通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句。
其中,所述第一语言数据处理节点为JAVA语言数据处理节点。
具体的,在进行数据获取之前,在预配置的数据库中预先存储多个数据。所述数据获取请求用于请求通过查询语句获取预配置的数据库中的多个数据。其中,查询语句为sql(结构化查询语言,Structured Query Language)语句,sql语句是对数据库进行操作的一种语言。
在示例性的实施例中,所述方法还需要在根据获取请求获取到目标数据存储在预配置的数据表单中;因此,在接收到获取请求之后,还需要对所述数据表单进行整合、校验。
在示例性的实施例中,请参阅图2,所述步骤S100之后,包括:步骤S101,解析所述数据获取请求,得到待获取的多个目标数据对应的多个目标字段名称;及步骤S102,基于所述多个目标字段名称整合预设的数据表单中对应的字段名称,以得到整合后的数据表单。
具体的,基于数据获取请求,确认需要获取的目标数据在所述预配置的数据表单中是否存在一个字段名称,若存在,则判断该字段名称是否完整或者重复,若不完整,则需要将该字段补充完整;若重复,则需要将该字段重命名或删除等。在所述预配置的数据表单中。
在解析数据获取请求之前,对预配置的数据表单的字段进行整合,有效地保证了在获取到目标数据,将目标数据存储于预配置的数据表单的数据整理有序地进行;使得获取到的目标数据更加有条理。
步骤S200,基于所述数据获取请求获取第一拆分规则。
其中,第一拆分规则可以根据实际需求进行配置拆分的规则,可以根据表格中空值的要求、请求数据的数据量等等来动态配置第一拆分规则。
示例性的,假设sql语句中请求查询的数据量要求为5000w*200列的数据,所述第一拆分规则可以预先配置为以5列进行拆分。
在示例性的实施例中,还可以根据服务器的配置情况、负载情况来获取第一拆分规则。
如图3所示,所述步骤S200还可以进一步包括步骤S201~S203,其中:步骤S201,获取在预设时间内服务器的配置数据和负载数据;步骤S202,基于所述配置数据和所述负载数据,从第一拆分规则集合中获取多个第一候选拆分规则;及步骤S203,基于所述数据获取请求,从所述多个第一候选拆分规则中获取第一拆分规则。
其中,多个第一候选拆分规则为在银行系统内部预先根据一个或多个服务器在不同时间段的负载能力进行配置的。
通过对第一拆分规则的动态配置以及选择,达到了业务端按需取数的效果,有助于数据的获取有效地进行。
步骤S300,基于所述第一拆分规则将所述查询语句拆分为多个子查询语句。
具体的,接上例,可以根据第一拆分规则,拆分出200/5=40个sql子查询语句供后续数据读取。
步骤S400,基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件。
在示例性的实施例中,拆分sql语句后,通过第一语言数据处理节点(即JAVA语言数据处理节点)向HIVE发起查询请求。其中,HIVE是基于Hadoop(分布式系统基础架构)的一个数据仓库工具。所述HIVE数仓组件将所述查询请求转换为MapReduce(映射归约分布)任务,并执行所述任务。
具体的,参阅图4,所述步骤S400还可以进一步包括步骤S401~S404,其中:步骤S401,基于所述多个子查询语句生成查询请求,并通过所述第一语言数据处理节点将所述查询请求发送至数仓组件,所述数仓组件用于将所述查询请求转换为多个线程查询任务;步骤S402,接收所述数仓组件发送的多个线程查询任务;步骤S403,基于所述多个线程查询任务获取多个第一数据;步骤S404,根据预设的第三拆分规则将所述多个第一数据拆分保存到对应的多个临时文件中。
进一步地,JAVA语言数据处理节点通过多线程并发方式向数仓组件发起多线程查询请求,在内存中对查询到的多个第一数据根据预设的第三拆分规则做按列拆分,并且将查询到的多个第一数据保存到对应的临时文件,例如csv文件,csv文件包括csv1文件、csv文件2、...、csvn文件。
示例性的,1个线程可以保存5个临时文件,每个文件只保存1列第一数据的数据内容。所述方法还包括将临时文件与列的对应关系保存到数据表单中。
在示例性的实施例中,所述方法还包括:在数据获取过程中,当多线程并发获取目标数据出错时,生成出错日志,以便溯源。
通过多线程并发查询数据,有效地提高了数据查询的效率。
步骤S500,通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值。
具体的,第二语言数据处理节点为Python语言数据处理节点。
在示例性的实施例中,当临时文件以及临时文件与列的对应关系均保存完毕后,第一语言数据处理节点通过shell脚本调用第二语言数据处理节点对多个第一数据对应的临时文件进行数据集计算以及保存,其中,shell脚本是一种编程语言。
在示例性的实施例中,参阅图5,所述步骤S500还包括如下步骤:步骤S501,通过所述第二语言数据处理节点接收所述第一语言数据处理节点发送的调用指令;步骤S502,基于所述调用指令,通过所述第二语言数据处理节点将所述多个临时文件加载至内存;步骤S503,基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,以生成所述多个临时文件对应的所述多个特征值。
具体的,在Python语言数据处理节点接收到第一语言数据处理节点发送的调用请求后,Python语言数据处理节点响应该调用请求,将所有临时文件加载到内存后,基于所述多个临时文件与数据表单中列的对应关系,按列对临时文件进行多进程特征计算。
在示例性的实施例中,如图6所示,在上述步骤S503之后,所述步骤S500还可以进一步包括步骤S5031~S503,其中:步骤S5031,识别所述多个临时文件,以获取所述多个临时文件对应的数据类型;步骤S5032,基于所述多个临时文件的数据类型获取对应的特征计算算法;步骤S5033,基于所述特征计算算法和每个临时文件与数据表单中列的对应关系,对所述多个临时文件执行所述多进程特征计算,以生成所述多个临时文件对应的所述多个特征值。
具体的,Python语言数据处理节点会自动识别JAVA语言数据处理节点采集到的数据对应的临时文件对应的数据类型,根据识别出的数据类型选择对应的算法进行不同的特征计算,计算各个特征数据分布。数据的类型包括字符型数据、数值型数据。其中,字符型数据:类别总数,类别分类,最高出现频率等;数值型数据:最大值,最小值,平均值,中位数等。
在示例性的实施例中,假设需要请求100万条某个商户的银行流水数据,通过JAVA语言数据处理节点将100万数据拉取出来以临时文件的形式存储在本地,存储了这100万数据对应的临时文件后,Python语言数据处理节点就会从本地的临时文件中读取100万数据,并加载到内存中,在进行特征计算时,可以计算100万数据中的最大值(最大交易金额)、最小值(最小交易金额)、平均值、方差等。还可以计算数据缺失了多少,空值率是多少,字符串出现的频率最高的是哪个字符串,出现的频率是多少。
按照列的维度进行特征计算,列与列互相之间不会影响,因此,临时文件以单列的形式进行存储,可以保证内存最小化的使用。
并且,通过多线程计算特征值,有助于提高特征值计算的效率,进而提高数据获取的效率。
步骤S600,基于所述多个特征值,得到第一数据集。
在示例性的实施例中,按临时文件与列的对应关系全部计算特征值完毕后,将多个进程计算得到的特征值发送到主进程,再在主进程中对所有数据集进行纵向合并。
示例性的,接上例,将多个进程计算得到的特征值发送到主进程,合并成5000w*200列的大数据集。
步骤S700,基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中。
在示例性的实施例中,基于第二拆分规则,将5000w*200列的大数据集,横向拆分,即拆分为1000w*200列的5个大数据集。将横向拆分后的1000w*200列的5个大数据集以PKL格式保存到NAS共享存储,用于后续分布式建模使用。
其中,PKL是Python中用于保存文件的格式,PKL格式文件为二进制格式文件。每个数据集对应一个PKL文件,所述方法还包括建立PKL文件与数据集之间的映射关系。
NAS是连接在网络上,具备资料存储功能的装置,也称为“网络存储器”。
在示例性的实施例中,还包括:将获取到的数据表单存储于区块链中。
其中,区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
将获取到的数据表单上链存储,有助于后续的数据查询结果的溯源和追踪。
本发明实施例通过第一语言数据处理节点根据数据获取请求获取到多个第一数据,调用第二语言数据处理节点对多个第一数据特征计算,得到多个目标数据集,并将多个目标数据集存储于数据表单中;本发明实施例相比于用单一语言进行索引,第一语言、第二语言数据处理节点发挥各自的优势,在获取相同的数据量时,通过本发明实施例有效地节省了数据采集的时耗,提高了数据采集的效率。
实施例二
请继续参阅图7,示出了本发明数据集采集系统的程序模块示意图。在本实施例中,数据集采集系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据集采集方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据集采集系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块800,用于通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句;
第二获取模块810,用于基于所述数据获取请求获取第一拆分规则;
第一拆分模块820,用于基于所述第一拆分规则将所述查询语句拆分为多个子查询语句;
查询模块830,用于基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件;
计算模块840,用于通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值;
生成模块850,基于所述多个特征值,得到第一数据集;及
第二拆分模块860,用于基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中。
在示例性的实施例中,所述第一获取模块800,还用于:解析所述数据获取请求,得到待获取的多个目标数据对应的多个目标字段名称;基于所述多个目标字段名称整合预设的数据表单中对应的字段名称,以得到整合后的数据表单。
在示例性的实施例中,所述第二获取模块810,还用于:获取在预设时间内服务器的配置数据和负载数据;基于所述配置数据和所述负载数据,从第一拆分规则集合中获取多个第一候选拆分规则;及基于所述数据获取请求,从所述多个第一候选拆分规则中获取第一拆分规则。
在示例性的实施例中,所述查询模块830,还用于:基于所述多个子查询语句生成查询请求,并通过所述第一语言数据处理节点将所述查询请求发送至数仓组件,所述数仓组件用于将所述查询请求转换为多个线程查询任务;接收所述数仓组件发送的多个线程查询任务;基于所述多个线程查询任务获取多个第一数据,并根据预设的第三拆分规则将所述多个第一数据拆分保存到对应的多个临时文件中。
在示例性的实施例中,所述计算模块840,还用于:通过所述第二语言数据处理节点接收所述第一语言数据处理节点发送的调用指令;基于所述调用指令,通过所述第二语言数据处理节点将所述多个临时文件加载至内存;基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
在示例性的实施例中,所述计算模块840,还用于:识别所述多个临时文件,以获取所述多个临时文件对应的数据类型;基于所述多个临时文件的数据类型获取对应的特征计算算法;基于所述特征计算算法和每个临时文件与数据表单中列的对应关系,对所述多个临时文件执行所述多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
在示例性的实施例中,还包括:将获取到的数据表单存储于区块链中。
实施例三
参阅图8,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及数据集采集系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如上述实施例的数据集采集系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据集采集系统20,以实现上述实施例的数据集采集方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据集采集系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图7示出了所述实现数据集采集系统20实施例二的程序模块示意图,该实施例中,所述基于数据集采集系统20可以被划分为第一获取模块800、第二获取模块810、第一拆分模块820、查询模块830、计算模块840、生成模块850以及第二拆分模块860。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述数据集采集系统20在所述计算机设备2中的执行过程。所述程序模块800-860的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据集采集系统20,被处理器执行时实现上述实施例的数据集采集方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种数据集采集方法,其特征在于,包括:
通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句,第一语言为JAVA语言;
基于所述数据获取请求获取第一拆分规则;
基于所述第一拆分规则将所述查询语句拆分为多个子查询语句;
基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件;
通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值,第二语言为Python语言;
基于所述多个特征值,得到第一数据集;及
基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中;
其中,所述通过第一语言数据处理节点获取数据获取请求的步骤之后,包括:
解析所述数据获取请求,得到待获取的多个目标数据对应的多个目标字段名称;
基于所述多个目标字段名称整合预设的数据表单中对应的字段名称,以得到整合后的数据表单;
其中,所述基于所述数据获取请求获取第一拆分规则的步骤,包括:
获取在预设时间内服务器的配置数据和负载数据;
基于所述配置数据和所述负载数据,从第一拆分规则集合中获取多个第一候选拆分规则;及
基于所述数据获取请求,从所述多个第一候选拆分规则中获取第一拆分规则;
其中,所述基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件的步骤,包括:
基于所述多个子查询语句生成查询请求,并通过所述第一语言数据处理节点将所述查询请求发送至数仓组件,所述数仓组件用于将所述查询请求转换为多个线程查询任务;
接收所述数仓组件发送的多个线程查询任务;
基于所述多个线程查询任务获取多个第一数据;
根据预设的第三拆分规则将所述多个第一数据拆分保存到对应的多个临时文件中;
其中,所述通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值还包括:
通过所述第二语言数据处理节点接收所述第一语言数据处理节点发送的调用指令;
基于所述调用指令,通过所述第二语言数据处理节点将所述多个临时文件加载至内存;
基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
2.根据权利要求1所述的数据集采集方法,其特征在于,基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值,包括:
识别所述多个临时文件,以获取所述多个临时文件对应的数据类型;
基于所述多个临时文件的数据类型获取对应的特征计算算法;
基于所述特征计算算法和每个临时文件与数据表单中列的对应关系,对所述多个临时文件执行所述多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
3.根据权利要求1所述的数据集采集方法,其特征在于,还包括:将获取到的数据表单存储于区块链中。
4.一种数据集采集系统,其特征在于,包括:
第一获取模块,用于通过第一语言数据处理节点获取数据获取请求,所述数据获取请求包括查询语句,第一语言为JAVA语言;
第二获取模块,用于基于所述数据获取请求获取第一拆分规则;
第一拆分模块,用于基于所述第一拆分规则将所述查询语句拆分为多个子查询语句;
查询模块,用于基于所述多个子查询语句获取多个第一数据,并将所述多个第一数据保存到对应的多个临时文件;
计算模块,用于通过第二语言数据处理节点加载所述多个临时文件,并对所述多个临时文件执行特征计算,生成所述多个临时文件对应的多个特征值,第二语言为Python语言;
生成模块,基于所述多个特征值,得到第一数据集;及
第二拆分模块,用于基于预设的第二拆分规则,将所述第一数据集拆分为多个目标数据集,并将多个目标数据集存储于数据表单中;
其中,所述第一获取模块还用于:
解析所述数据获取请求,得到待获取的多个目标数据对应的多个目标字段名称;
基于所述多个目标字段名称整合预设的数据表单中对应的字段名称,以得到整合后的数据表单;
其中,所述第二获取模块还用于:
获取在预设时间内服务器的配置数据和负载数据;
基于所述配置数据和所述负载数据,从第一拆分规则集合中获取多个第一候选拆分规则;及
基于所述数据获取请求,从所述多个第一候选拆分规则中获取第一拆分规则;
其中,所述查询模块还用于:
基于所述多个子查询语句生成查询请求,并通过所述第一语言数据处理节点将所述查询请求发送至数仓组件,所述数仓组件用于将所述查询请求转换为多个线程查询任务;
接收所述数仓组件发送的多个线程查询任务;
基于所述多个线程查询任务获取多个第一数据;
根据预设的第三拆分规则将所述多个第一数据拆分保存到对应的多个临时文件中;
其中,所述计算模块还用于:
通过所述第二语言数据处理节点接收所述第一语言数据处理节点发送的调用指令;
基于所述调用指令,通过所述第二语言数据处理节点将所述多个临时文件加载至内存;
基于所述多个临时文件与数据表单中列的对应关系,对被加载在所述内存中的多个临时文件执行多进程特征计算,生成所述多个临时文件对应的所述多个特征值。
5.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的数据集采集方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至3中任一项所述的数据集采集方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011558655.2A CN112597162B (zh) | 2020-12-25 | 2020-12-25 | 数据集采集方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011558655.2A CN112597162B (zh) | 2020-12-25 | 2020-12-25 | 数据集采集方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597162A CN112597162A (zh) | 2021-04-02 |
CN112597162B true CN112597162B (zh) | 2023-08-08 |
Family
ID=75202534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011558655.2A Active CN112597162B (zh) | 2020-12-25 | 2020-12-25 | 数据集采集方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597162B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860462B (zh) * | 2023-09-04 | 2023-11-17 | 奇点数联(北京)科技有限公司 | 一种基于数仓切片的多线程数据采集方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967166A (zh) * | 2017-10-18 | 2018-04-27 | 东莞理工学院 | 一种云环境下遥感图像处理服务流实现方法 |
CN108062252A (zh) * | 2016-11-08 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种信息交互方法、对象管理方法及装置和系统 |
CN109344172A (zh) * | 2018-08-31 | 2019-02-15 | 深圳市元征科技股份有限公司 | 一种高并发数据处理方法、装置及客户端服务器 |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110781215A (zh) * | 2019-10-21 | 2020-02-11 | 爱钱进(北京)信息科技有限公司 | 数据的查询方法、装置以及存储介质 |
CN111259036A (zh) * | 2020-01-10 | 2020-06-09 | 苏州达家迎信息技术有限公司 | 一种跨库跨表查询方法、设备、服务器及存储介质 |
CN111444175A (zh) * | 2020-02-27 | 2020-07-24 | 平安科技(深圳)有限公司 | 数据库表格变更方法、装置、计算机设备及存储介质 |
CN111782923A (zh) * | 2020-06-24 | 2020-10-16 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-25 CN CN202011558655.2A patent/CN112597162B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062252A (zh) * | 2016-11-08 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种信息交互方法、对象管理方法及装置和系统 |
CN107967166A (zh) * | 2017-10-18 | 2018-04-27 | 东莞理工学院 | 一种云环境下遥感图像处理服务流实现方法 |
CN109344172A (zh) * | 2018-08-31 | 2019-02-15 | 深圳市元征科技股份有限公司 | 一种高并发数据处理方法、装置及客户端服务器 |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110781215A (zh) * | 2019-10-21 | 2020-02-11 | 爱钱进(北京)信息科技有限公司 | 数据的查询方法、装置以及存储介质 |
CN111259036A (zh) * | 2020-01-10 | 2020-06-09 | 苏州达家迎信息技术有限公司 | 一种跨库跨表查询方法、设备、服务器及存储介质 |
CN111444175A (zh) * | 2020-02-27 | 2020-07-24 | 平安科技(深圳)有限公司 | 数据库表格变更方法、装置、计算机设备及存储介质 |
CN111782923A (zh) * | 2020-06-24 | 2020-10-16 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112597162A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798030B (zh) | 数据表的拆分方法和装置 | |
US9600559B2 (en) | Data processing for database aggregation operation | |
CN112286934A (zh) | 数据库表导入方法、装置、设备及介质 | |
CN112328631A (zh) | 一种生产故障分析方法、装置、电子设备及存储介质 | |
CN112597162B (zh) | 数据集采集方法、系统、设备及存储介质 | |
CN114201511A (zh) | 一种项目管控的方法、装置、计算机设备和存储介质 | |
CN112579608B (zh) | 案件数据查询方法、系统、设备及计算机可读存储介质 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
CN110704437B (zh) | 数据库查询语句的修改方法、装置、设备和存储介质 | |
CN112559363A (zh) | 基于全链路标记的测试用例生成方法、系统、设备和介质 | |
CN112148713A (zh) | 异构数据库之间数据迁移方法及装置 | |
CN109271431B (zh) | 数据抽取方法、装置、计算机设备及存储介质 | |
CN112559221B (zh) | 智能名单处理方法、系统、设备及存储介质 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN112835932B (zh) | 业务表的批量处理方法及装置、非易失性存储介质 | |
CN116208465A (zh) | 一种电力信息通信状况智能监测预警方法及系统 | |
CN113076365B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN113342860A (zh) | 基于通用接口的指标计算方法、装置、设备和存储介质 | |
CN114461363A (zh) | 任务执行方法及装置、计算机可读存储介质 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN113392131A (zh) | 数据处理方法、装置及计算机设备 | |
CN112116403A (zh) | 一种信息推荐方法、装置及设备 | |
CN117573199B (zh) | 一种模型差异对比分析方法、装置、设备及介质 | |
CN108920602B (zh) | 用于输出信息的方法和装置 | |
CN113806356B (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 |