CN110399396B - 高效的数据处理 - Google Patents

高效的数据处理 Download PDF

Info

Publication number
CN110399396B
CN110399396B CN201810784302.0A CN201810784302A CN110399396B CN 110399396 B CN110399396 B CN 110399396B CN 201810784302 A CN201810784302 A CN 201810784302A CN 110399396 B CN110399396 B CN 110399396B
Authority
CN
China
Prior art keywords
data
file
memory
data file
pointer table
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
Application number
CN201810784302.0A
Other languages
English (en)
Other versions
CN110399396A (zh
Inventor
A·J·海森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Computational Systems Inc
Original Assignee
Computational Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Computational Systems Inc filed Critical Computational Systems Inc
Publication of CN110399396A publication Critical patent/CN110399396A/zh
Application granted granted Critical
Publication of CN110399396B publication Critical patent/CN110399396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry

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)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种改善计算机运行的方法,其将数据从SQL数据库复制到存储单元中的二进制文件,从而将来自SQL数据库的数据从存储单元传输到记忆体,其中该二进制文件具有数据结构和数据类型。具有数据结构和数据类型的数据文件被配置在记忆体内,并且存储单元中的二进制文件通过单次读/写操作被复制到记忆体中的数据文件。

Description

高效的数据处理
技术领域
本发明涉及数据处理领域。更具体地,本发明涉及通过提供更高效的数据读取和数据定位,特别是储存在计算机存储单元中的数据库的数据,来改善计算机的运行。
背景技术
许多系统和方法产生大量的数据收集和存储。对于现代关系数据库,存储单元(如磁性或光存储介质)中大量数据的保存不成问题。但是,访问这些数据可能非常耗时。例如,从存储单元上的结构化查询语言(SQL)数据库中读取六百万条记录可能需要长达三十秒。三十秒可能看起来不长,但如果有六亿条记录,读取所有数据则需要五十分钟,这对很多应用来说这个时间太长了。
当仅需要读取相对少量的记录时,该时间长度是可接受的,并且可以使用标准SQL管理系统来询问数据库。但是,当要对大数据块进行分析时,或者在需要不同的数据配置时,数据库的标准询问太慢了,上述问题变得更加显著。
作为具体示例,通常收集旋转设备的振动信息,可以快速检测并解决振动特征所表现出来的问题。甚至对于单个设备而言,捕获此类实时信息流会产生大量数据。但是,对于拥有许多此类设备的公司而言,所产生的信息量非常大。经过长时间保存和增加数据,该大量信息将被进一步复杂化。
因为这些信息的数据库非常大并且需要很长时间来询问,所以除非需求急迫或数据量相对小,许多本来希望访问它们的人会被阻止这样做,因此他们并不会为了所有可能对他们有用的分析而访问数据库。
因而,需要能够至少部分地减少诸如上述问题的计算机系统的改进。
发明内容
通过一种改善计算机运行的方法来满足上述和其他需求,其将数据从SQL数据库复制到存储单元中的二进制文件,从而将来自SQL数据库的数据从存储单元中传输到记忆体,其中该二进制文件具有数据结构和数据类型。具有数据结构和数据类型的数据文件被配置在记忆体内,并且存储单元中的二进制文件通过单个读/写操作被复制到记忆体中的数据文件。
根据本发明在此方面的一些实施例中,数据结构包括记录和字段,每条记录具有多个记录与多个字段。在一些实施例中,数据种类包含以下的至少一种:实数、整数与字长。
当对数据文件的记录进行分类时,一些实施例还包括仅遍读整个数据文件一次以找出包含预定数据特征的数据的记录位置。在记忆体中创建指针表,其中指针表包括用于数据文件内每个预定数据特征的第一实例的单个记录位置。从指针表中对应于预定数据特征中的一个所需数据特征的记录位置开始读取数据文件。
当数据文件的记录未分类时,一些实施例还包括仅遍读整个数据文件一次以找到包含预定数据特征的数据的记录位置。在记忆体中创建第一指针表,其中第一指针表包括用于数据文件内的每个预定数据特征的第一实例的单个记录位置。在记忆体中创建第二指针表,其中第二指针表包括,与每个预定数据特征的第一实例的记录位置相关联的、用于数据文件内每个预定数据特征的下一个后续实例的后续记录位置。从第一指针表中对应于预定数据特征的一个所需数据特征的记录位置处开始读取数据文件,并且如果记录位置中的数据不包含所需数据,则于数据文件中迭代地读取第二指针表中与下一个后续实例相关联的记录位置,直至找到所需数据。
用于关联数据文件中的变量的一些实施例包括以下步骤:第一次读取数据文件以确定待关联的每个x和y变量对的平均值
Figure BDA0001733345850000021
和/>
Figure BDA0001733345850000022
第二次读取数据文件以确定对应于每个xi和yi变量的以下三个值,其中i表示变量的数量,
Figure BDA0001733345850000023
Figure BDA0001733345850000024
Figure BDA0001733345850000025
三个值中的每一个都存储在指派给xi和yi变量对的数组的单元中。使用对应于xi和yi变量的每个组合的数组中的三个值,根据以下公式计算相关值r
Figure BDA0001733345850000026
根据本发明的另一方面,描述了一种读取记忆体中的由记录组成的数据文件的方法,其通过仅遍读整个数据文件一次来找到包含预定数据特征的数据的记录位置。在记忆体中创建指针表,其中指针表包括用于数据文件内每个预定数据特征的第一实例的单个记录位置。从指针表中对应于预定数据特征中的一个所需数据特征的记录位置开始读取数据文件。
在一些实施例中,数据文件中的每条记录包括多个字段,并且所有的字段根据预定顺序进行排序。在一些实施例中,数据文件的每条记录包括多个字段,所有的字段根据预定顺序进行排序;并且对应于每个字段,指针表包括与字段的每个预定数据特征的第一实例相关联的单个记录位置。
根据本发明的另一方面,描述了一种通过读取由未分类的记录组成的数据文件以定位所需数据的方法,该方法通过仅遍读整个数据文件一次来找到包含预定数据特征的数据的记录位置,从而实现定位所需数据。在记忆体中创建第一指针表,其中第一指针表包括用于数据文件内的每个预定数据特征的第一实例的单个记录位置。在记忆体中创建第二指针表,其中第二指针表包括,与每个预定数据特征的第一实例的记录位置相关联的、用于数据文件内每个预定数据特征的下一个后续实例的后续记录位置。在第一指针表中对应于预定数据特征的一个所需数据特征的记录位置处开始读取数据文件,并且如果记录位置中的数据不包含所需数据,则于数据文件中迭代地读取第二指针表中与下一个后续实例相关联的记录位置,直至找到所需数据。
在根据本发明的该方面的一些实施例中,对应于数据文件内的每个字段,创建第一指针表和第二指针表。
根据本发明的另一方面,描述了一种关联数据文件中的变量的方法,其中,通过第一次读取数据文件确定待关联的每个x和y变量对的平均值
Figure BDA0001733345850000031
和/>
Figure BDA0001733345850000032
来。;第二次读取数据文件以确定对应于每个xi和yi变量的以下三个值,其中i表示变量的数量,
Figure BDA0001733345850000033
Figure BDA0001733345850000034
Figure BDA0001733345850000035
每个值都存储在指派给xi和yi变量对的数组的单元中。使用对应于xi和yi变量的每个组合的数组中的三个值,根据公式计算相关值r,
Figure BDA0001733345850000036
在一些实施例中,仅针对xi和yi变量的多个唯一组合来计算相关值r。
附图说明
通过结合附图考虑详细描述,本发明的其他优点是显而易见的,其中附图未按比例绘制以更清楚地示出细节,其中相同的附图标记在几个视图中表示相同的元件,并且其中:
图1为用于收集和分析机器的振动数据的计算机系统的原理图;
图2为在单次读/写步骤中将存储单元中的数据库的数据传输到计算机记忆体中的数据文件的方法的图解说明;
图3为图2中所示方法的流程图;
图4为根据本公开的第二实施例的一种选择数据以进行分析的方法的图解说明;
图5为图4中所示方法的流程图;
图6为根据本公开的第三实施例的一种选择数据以进行分析的方法的图解说明;
图7为图6中所示方法的流程图;
图8为根据本公开的实施例的用于计算数据文件中变量对的相关系数的二维数组。
具体实施方式
装置
根据本发明的实施例,图1示意性地解释计算机系统100。在一些实施例中,计算机系统100是以下其中之一:诸如“树莓派”(Raspberry Pi)的嵌入式计算设备、诸如手机或掌上电脑的手持式计算机、诸如平板电脑或笔记本电脑的便携式计算机、诸如个人电脑的台式电脑以及主机电脑。在所述的实施例中,计算机系统100从传感器112接收数据,例如可以从设备110(例如具有转动元件的机器)读取振动数据。在一个实施例中,计算机系统100和传感器112构成了手持式振动分析仪。在其他实施例中,计算机系统100和传感器112构成了安装在设备110上的远程振动分析仪。其他实施例也是可以理解的。
在一些实施例中,计算机系统100包括:模数转换器(ADC)114,用于接收模拟传感器数据并将其转换成数字数据;处理器116,用于对数据执行操作并控制计算机系统100的其他元件;存储装置118,用于(例如在磁性或光学介质上)存储数据;记忆体120,用于存储计算机系统100的操作指令,和当处理器116对数据执行操作时,用于临时存储数据(例如动态随机存取存储器DRAM);以及接口122,用于呈现视觉或听觉信息或与其他系统进行通信。
这里所用的术语数据库指的是存储在数据存储单元118上的数据结构,并且其格式配置为通过诸如SQL数据库程序的数据库管理程序进行读取和写入。术语二进制文件指的是数据文件,其存储在数据存储单元118上,并且其具有由记录和字段组成的平面文件配置。术语数据文件指的是存储在记忆体120上的数据,其具有由记录和字段组成的平面文件配置。
为了克服设置在存储单元118上的数据库的冗长的读取时间,如上所述,所有或部分数据可以被写入存储118中,并可选地在存储118中保存为结构化二进制文件,以便快速传输到记忆体120中。在一个实施例中,将结构化二进制文件从存储118复制到记忆体120所需的时间比使用SQL管理程序将存储单元118上的SQL数据库读入记忆体120中快2000倍。例如,如果读取SQL数据库需要花费30秒来复制数据,那么从存储单元118上对相同数据的二进制文件进行数据复制则仅仅需要15毫秒来读取。这是通过从二进制文件到数据文件的单个块读/写操作来完成的。因而,如果有比这些数据多100倍的数据,二进制文件方法仅仅需要1.5秒,这将比读取SQL数据库所需要的15分钟要实用的多。
作为该过程的一部分,记忆体120中的数据文件和存储单元118中的二进制文件都是根据从SQL数据库提取的数据的性质来配置的。应理解到,在一些实施例中,SQL数据库中所有的数据都将被提取,并且在一些实施例中,SQL数据库中仅仅只有一部分数据将被提取,然而,随着待提取的数据量的增加,本发明的实施例的益处将体现地更加明显。
数据传输
图2以图表形式示出了将存储单元118上的SQL数据库200中的数据复制到存储单元118上的二进制文件210,然后再复制到记忆体120中的数据文件220的方法。在该示例中,存储单元118上的数据库200包括N条记录204,每条记录包括M个字段202,在这些字段中记录了不同的变量。应理解到,SQL数据库200包括任意数量的记录204和字段202,并且图2中描述的数字M和N仅仅是代表性的。图2的SQL数据库中所描述的数据被格式化为平面文件。然而,该描述是出于说明书的清楚起见,并且在SQL数据库200中通常并不使用这种平面文件格式化,而是通常使用关系格式化。
除了包含在SQL数据库200中的实际数据之外,还有元数据。元数据包括,例如记录204的数量N,每条记录204中字段202的数量M、每个字段202中的数据类型以及每个字段202的长度。数据类型包括诸如整数、小整数、实数等的名指示。在大部分实施例中,每个字段202的长度是以数据字节为单位测量的。这里所使用的数据结构指的是诸如记录204的数量N和字段202的数量M之类的元数据。这里所使用的数据类型指的是诸如每个字段202中数据的类型和每个字段202的长度之类的元数据。
SQL数据库200中的元数据用于构造存储单元118上的二进制文件210和记忆体120中的数据文件220。这包括配置过程,例如在适当尺寸的记忆体120中映射出块,使得当数据最终被读入数据文件220时,它可以在一次连续读/写操作中全部完成。在一些实施例中,首先构建二进制文件210的结构,并且在其他实施例中,首先构建数据文件220的结构。
然后从SQL数据库200中读取数据并读入二进制文件210中。在该过程中,包含在SQL数据库200中的数据的结构被修改为二进制文件210的平面文件结构。这可能会花费一些时间,但是只需要进行一次,然后就可以根据需要在存储单元118上保存二进制文件210甚至进行更新。当新的数据输入到SQL数据库200中时,它也可以被添加到二进制文件210中。
当需要将SQL数据库200中的数据加载到记忆体120中进行分析时例如可能由某种事件驱动触发器来决定,,则确定记录204的数值N和字段202的数值M并且在记忆体120中创建所需大小的数组作为数据文件220的起始点。使用单次读/写操作,可以直接将二进制文件210中的数据读入记忆体120中的数据文件220的数组中。由于二进制文件210和数据文件220中的数据结构相同,不需要额外的数据转换。这使得可以将二进制文件210中的数据高效率地传输到数据文件220中并且在获取数据方面节省了大量的时间。
图3中示出了整个系统流程300。如框302所示,首先在存储单元118上创建数据库200,并且如框304所示将数据记录在数据库200中。在各种实施例中,数据是从一个或多个不同的来源(例如,便携式振动分析仪和在线振动分析仪)接收的振动数据。如框306所示,在存储单元118中创建二进制文件210。在期望的时间点,在记忆体120中创建数据文件220,并且,例如通过使用元数据将数据文件220创建为具有与二进制文件210相同的特征。最后,如框310所示,采用单次连续读/写操作将二进制文件210的数据复制到记忆体120中的数据文件220中。二进制文件210的记录数量N和字段数量M也可以记录为二进制文件210和数据文件220中的条目。
以这种方式,提供了一种用于执行从存储单元118到记忆体120的更快的数据读取的方法。
数据访问I
根据一个或多个字段以一种方式或另一种方式对一些数据集进行排序,这使得它们比最初生成数据的顺序更容易分析。该第一数据访问方法涉及这种数据集。
根据该方法,可以根据一些期望的标准对记忆体120中的数据文件220进行排序,例如第一字段202中变量的数字上升值。例如,如果数据文件220的第一字段中的变量是四位整数,则上述分类操作将会导致以1开头的所有变量首先出现在数据文件220中,然后接下来是以2开头的所有变量,以此类推。同样地,会有一些以1开头的变量,另一些以2开头的变量,等等。
例如,如果希望对在第一字段202中具有以数字8开始的变量的那些记录204进行分析,则现有技术系统将必须遍读数据文件220中的多个记录204直到在第一字段202中遇到8开头的变量。如果数据文件220中存在数百万条记录204,则相对而言,这可能浪费大量时间,尤其是如果需要多次执行该操作的话。
因此,根据本发明的实施例,如图4所示,遍读数据文件220一次,并创建索引指针表410。指针表410包含,例如,指针表410中对应每条记录的至少两个字段。继续上述示例,在第一字段402中的是数据文件220的第一字段202的变量的各种索引值。因而,指针表410的该部分402将包含每条记录中0-9个数字中的一个。在指针表410的字段404中具有,所需值在数据文件220中的第一实例的位置描述。该位置描述符可以是诸如记录204的数量,或记忆体120中存储的所需数据的第一实例的地址。从表410到数据文件220的线是包括所需变量第一实例的记录的位置的图形化显示。
再次继续上述示例,如果想要分析以数字8开始的变量,询问指针表410以在第一栏找到数字8,然后从指针表410中读出用于所需变量的第一实例的存储位置,再然后使用该信息以开始读取数据文件220。采用这种方式,节省了与读取不需要的数据相关的时间。
在另一个实施例中,还可以读取指针表410以确定下一个后续变量值的第一实例的存储位置,继续该示例,该后续变量值为数字9。由于获知该存储位置,当读完前8个变量时,将会自动停止读取数据文件220。以这种方式,在读取开始之前了解读取的精确尺寸具有一些益处,例如在读出数据时消除对数据的分析以确定读取的停止,并且还例如,根据需要预先映射具有预定大小的记忆体120的一部分,在该预定大小中放置读取变量。
图5提供了该方法的简化流程图。如框502所示,第一步是创建数据访问结构410。如上所述,如框504所示,这可以通过单次读取数据文件220来实现。然后,如框506所示,用从数据文件220收集的信息来填充数据访问结构410。此后,如框508所示,使用数据访问结构410以输入数据文件220,无论何时从数据文件220检索新数据,都不需要从顶部开始读取数据文件220。
数据访问II
然而在一些实施例中,可能根据具有不立刻反映在接收数据中的结构的多个连续序列来接收数据。例如,在记录204中接收不同的变量202,但是变量202和记录204都不会反映数据被组织的顺序,在本文中也称为数据趋势,并且在不改变数据接收顺序的前提下,分析不同数据趋势具有价值。
在该实施例中,可以向数据添加诸如趋势识别的标记以识别彼此之间的数据趋势。例如,所有属于第一数据趋势的记录204可以标记为a1,所有在第二数据趋势的记录204标记为a2,以此类推,例如数据趋势识别存储在新的变量202字段中。然后,构建指针表410,其中在栏402中具有数据趋势标识符,其中数据趋势标识符用于采用如上所述相同的方式来输入所需数据趋势。
表410中的指针404能够使计算机对数据文件220中的数据进行快速排序,并且还可以用于提供待处理数据的顺序。使用这种方法,可以以非常高效且及时的方式访问趋势数据。根据图4和图5的实施例,使用600万个振动趋势数据的记录进行计算机性能测试,使独立计算机系统的计算机性能提高了一个数量级。具有多个用户的网络可望使用这些方法提供甚至更大的性能改进。
数据访问III
在一些应用中,采用接收的顺序来分析数据是必要的,所以不能根据数据访问I中的实施例来存储这些数据。目标是找到并访问具有特定变量值的所有实例。如图6所示,在一个实施例中,按照最初创建数据的顺序(例如时间序列)保留数据文件220,遍读数据文件220一次,并且在这样做的同时,创建如上所述的指针表410,其在字段404中包括给定变量202的第一实例,以及在字段402中包括各自给定变量202的相关存储位置。
在记忆体120中创建第二指针表610以提供与所需变量602的后续实例相关联的后续记录位置或存储位置。在图6中表示为指针表610,其中箭头表示数据文件220的额外的切入点,所需变量602的后续实例位于数据文件220中。因而,对于在数据访问结构410中索引的每个变量,将存在单独的表610。以这种方式,可以在未排序的数据文件220中相对快速地定位与所需变量值相关的数据,而不需要从顶部多次读取数据文件220。
图7示出了该实施例的方法,其中如框702所示,创建用于数据访问结构410的存储位置。如框704所示,还创建用于指针表610的存储位置。如框706所示,单次遍读数据文件220,并且如框708所示,如上所述用数据填充数据访问结构410和数据指针表610。此后,如框710所示,使用数据访问结构410和指针表610询问数据文件220。
变量相关性
找到存在于给定的记录204的集合中一个变量202和给定的记录204的集合中另一个变量202之间的相关性能够使分析者发现有关创建数据的系统的行为的额外信息。变量202包括机器的振动数据特征、机器特性或机器和机器的振动特征的组合。
参考图8,示出了如何完成这一过程的图解描述。这个任务可以通过以下步骤来可视化:通过在矩阵810的顶部列出每个变量202,然后还在矩阵810的左侧列出那些同样的变量202。列上的变量202被指定为xi,其中i从1变化到M(被分析的变量的总数),并且行下的变量202被指定为yi。给定行和列的交叉处的框为由交叉的行和列表示的两个变量202之间的相关性。
显然,每个变量202与其自身完全相关,因此图表上每一个行和列表示相同变量202(例如x1和y1)的交叉处的框表现为一致,所以不需要对该交叉点进行相关性计算。此外,由“一致”构成的对角线的一侧上,所有这些框表示出与“一致”对角线的另一侧上的这些框完全相同的相关性(x1和y2之间的相关性与x2和y1之间的相关性相同),因此是不需要计算的重复项。因此,如果有M个待关联的变量202,只需要计算
Figure BDA0001733345850000081
个唯一变量202对。
通过如下公式来确定由两个变量202x和y组成的每一个唯一组合之间的相关性r:
Figure BDA0001733345850000091
然而,这个等式通常需要多次遍历数据库的每个记录,以便计算一个给定相关对的值。因而,计算大量记录204的相关系数非常耗时,其中每条记录204具有很多变量202。例如,每次计算具有274个变量202的600万条记录204的相关性花费1.5小时,这对于许多应用来说时间太长了。
根据一个实施例,可以通过使用仅仅两次完全遍读数据库来确定两个唯一变量对202之间的所有相关系数。在第一次读取数据库时,确定待相关的每个x和y变量202对的平均值
Figure BDA0001733345850000092
和/>
Figure BDA0001733345850000093
第二次读取数据文件以确定关于每个xi和yi变量的以下三个值:
Figure BDA0001733345850000094
Figure BDA0001733345850000095
Figure BDA0001733345850000096
如图8所示,上述公式所得的三个值中的每一个都独立存储于为每个xi和yi变量对指定的位于记忆体120中的数组中。在整体相关公式的这三个部分已被单独计算并且对应给定的xi和yi变量202对存储在记忆体120中之后,根据下面给出的标准公式,对xi和yi变量202的每个组合,组合三个部分以产生相关值r,没有进一步向下传递数据的记录:
Figure BDA0001733345850000097
在274个变量202(字段)和600万个数据点(记录204)的测试用例中,根据现有技术(图7)计算需要向下读取所有数据274×274次。然而,使用上述过程,仅仅需要向下读取数据两次。第一种方法花费1.5小时来计算所有的相关系数,而第二种方法仅仅花费18秒,这使计算机性能提高超过两千倍。应理解到,上述过程适于计算超过两个变量202(高阶相互作用)的相关系数,甚至可以更大地节省计算效率。
已经出于说明和描述的目的呈现了本发明的实施例的上述描述。它们并不是穷举的或将本公开限制于所公开的精确形式。根据上述教导,明显的修改或变化是可能的。选择和描述实施例以努力提供本发明的原理及其实际应用的图示,并且由此使得本领域普通技术人员能够在各种实施例中使用本发明,并且具有适合于预期的特定用途的各种修改。当他们按照公平、合法、以及公平的权利来解释时,所有这些修改和变化都在由所附权利要求确定的本发明的范围内。

Claims (5)

1.一种通过将存储单元中的来自SQL数据库的数据传输到记忆体并从记忆体读取所述数据以定位所需数据来改善计算机运行的方法,所述方法包括如下步骤:
将数据从SQL数据库复制到存储单元中的二进制文件,所述二进制文件具有数据结构和数据类型,
在记忆体内配置具有数据结构和数据类型的数据文件,
采用单次读/写操作将存储单元中的二进制文件复制到记忆体中的数据文件
仅遍读整个数据文件一次以找到包含预定数据特征的数据的记录位置,
在记忆体中创建第一指针表,所述第一指针表包括用于数据文件内每个预定数据特征的第一实例的单个记录位置,
在记忆体中创建第二指针表,所述第二指针表包括,与每个预定数据特征的第一实例的记录位置相关联的、用于数据文件内每个预定数据特征的下一个后续实例的后续记录位置,以及
从第一指针表中对应于预定数据特征的一个所需数据特征的记录位置处开始读取数据文件,并且如果记录位置中的数据不包含所需数据,则于数据文件中迭代地读取第二指针表中与下一个后续实例相关联的记录位置,直至找到所需数据。
2.根据权利要求1所述的方法,其中所述数据结构包括记录和字段,且每条记录具有多个记录和多个字段。
3.根据权利要求1所述的方法,其中所述数据类型包含以下的至少一种:实数、整数与字长。
4.一种读取由权利要求1所述方法生成的数据文件的方法,当所述数据文件的记录是已排序时,包括:
仅遍读整个数据文件一次以找到包含预定数据特征的数据的记录位置,
在记忆体中创建指针表,所述指针表包括用于数据文件内每个预定数据特征的第一实例的单个记录位置,以及
从指针表中对应于预定数据特征中的一个所需数据特征的记录位置开始读取数据文件。
5.一种关联由权利要求1所述方法生成的数据文件中的变量的方法,包括如下步骤:
第一次读取数据文件以确定待关联的每个x和y变量对的平均值x和y
第二次读取数据文件以确定每个xi和yi变量的以下三个值,其中i表示变量的数量,
Figure FDA0004122424800000021
Figure FDA0004122424800000022
Figure FDA0004122424800000023
将三个值中的每一个存储在指派给xi和yi变量对的数组的单元中,以及
使用xi和yi变量的每个组合的数组中的三个值,根据以下公式计算相关值r
Figure FDA0004122424800000024
CN201810784302.0A 2018-04-16 2018-07-17 高效的数据处理 Active CN110399396B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/953,815 US10713232B2 (en) 2018-04-16 2018-04-16 Efficient data processing
US15/953,815 2018-04-16

Publications (2)

Publication Number Publication Date
CN110399396A CN110399396A (zh) 2019-11-01
CN110399396B true CN110399396B (zh) 2023-07-04

Family

ID=68053205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810784302.0A Active CN110399396B (zh) 2018-04-16 2018-07-17 高效的数据处理

Country Status (3)

Country Link
US (1) US10713232B2 (zh)
CN (1) CN110399396B (zh)
DE (1) DE102019106724A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031908B (zh) * 2021-03-25 2023-06-06 统信软件技术有限公司 一种有序数据处理方法及计算设备
CN114138714B (zh) * 2022-02-08 2022-05-24 上海金仕达软件科技有限公司 数据迁移的方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681218B1 (en) * 1999-11-04 2004-01-20 International Business Machines Corporation System for managing RDBM fragmentations
US6795868B1 (en) * 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
CN1851701A (zh) * 2005-11-29 2006-10-25 华为技术有限公司 一种二进制数据的访问方法
CN103221949A (zh) * 2010-07-27 2013-07-24 甲骨文国际公司 Mysql数据库的异构的基于日志的复制

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774321B2 (en) * 2005-11-07 2010-08-10 Microsoft Corporation Partial XML validation
US10262050B2 (en) * 2015-09-25 2019-04-16 Mongodb, Inc. Distributed database systems and methods with pluggable storage engines
US8458203B2 (en) * 2011-07-11 2013-06-04 Microsoft Corporation Optimizing data processing using dynamic schemas
US10824622B2 (en) * 2013-11-25 2020-11-03 Sap Se Data statistics in data management systems
US10853323B2 (en) * 2015-07-23 2020-12-01 Netapp Inc. Deduplicating extents across systems based upon indications of shared extents provided by clients
US10146833B1 (en) * 2016-03-30 2018-12-04 Amazon Technologies, Inc. Write-back techniques at datastore accelerators
US10275489B1 (en) * 2016-03-30 2019-04-30 Amazon Technologies, Inc. Binary encoding-based optimizations at datastore accelerators
US10191663B1 (en) * 2016-09-19 2019-01-29 Amazon Technologies, Inc. Using data store accelerator intermediary nodes and write control settings to identify write propagation nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681218B1 (en) * 1999-11-04 2004-01-20 International Business Machines Corporation System for managing RDBM fragmentations
US6795868B1 (en) * 2000-08-31 2004-09-21 Data Junction Corp. System and method for event-driven data transformation
CN1851701A (zh) * 2005-11-29 2006-10-25 华为技术有限公司 一种二进制数据的访问方法
CN103221949A (zh) * 2010-07-27 2013-07-24 甲骨文国际公司 Mysql数据库的异构的基于日志的复制

Also Published As

Publication number Publication date
US20190318023A1 (en) 2019-10-17
DE102019106724A1 (de) 2019-10-17
CN110399396A (zh) 2019-11-01
US10713232B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
US6973452B2 (en) Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
US8862566B2 (en) Systems and methods for intelligent parallel searching
US10417265B2 (en) High performance parallel indexing for forensics and electronic discovery
CN103902702A (zh) 一种数据存储系统和存储方法
CN110659282B (zh) 数据路由的构建方法、装置、计算机设备和存储介质
CN103218365A (zh) 一种SSTable文件数据处理方法及其系统
CN103902701A (zh) 一种数据存储系统和存储方法
CN108829707A (zh) 跨业务域的大数据智能分析系统及方法
CN110399396B (zh) 高效的数据处理
CN108280226B (zh) 数据处理方法及相关设备
WO2015168988A1 (zh) 一种数据索引创建方法、装置及计算机存储介质
AU2018345147B2 (en) Database processing device, group map file production method, and recording medium
CN107430633B (zh) 用于数据存储的系统及方法和计算机可读介质
JP2004192657A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
US20230267123A1 (en) Database management system and associated methods
Gayathiri et al. Big health data processing with document-based Nosql database
CN117540056B (zh) 数据查询的方法、装置、计算机设备和存储介质
CN112364007B (zh) 基于数据库的海量数据交换方法、装置、设备和存储介质
RU2325690C1 (ru) Многомерная база данных и способ доступа к многомерной базе данных
Chandrasekhar et al. Storage and retrieval of large data sets: Dimensionality reduction and nearest neighbour search
CN117312306A (zh) 金融业务数据表转换方法、装置、设备、介质和程序产品
CN117951118A (zh) 岩土工程勘察大数据归档方法及系统
CN114996314A (zh) 一种数字探查方法及系统、电子设备、存储介质
CN116010668A (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