CN116089436A - 一种大数据量的数据稽核方法和电子设备 - Google Patents
一种大数据量的数据稽核方法和电子设备 Download PDFInfo
- Publication number
- CN116089436A CN116089436A CN202211511195.7A CN202211511195A CN116089436A CN 116089436 A CN116089436 A CN 116089436A CN 202211511195 A CN202211511195 A CN 202211511195A CN 116089436 A CN116089436 A CN 116089436A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- spliced
- piece
- extracting
- 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 87
- 238000013075 data extraction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims 3
- 238000012545 processing Methods 0.000 abstract description 25
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000010354 integration Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种大数据量的数据稽核方法和电子设备,涉及大数据处理领域。为待比较的第一文件和第二文件中每一行数据赋予身份编码,并为第一文件中的行数据和第二文件中的行数据分别设置相反的标志位。这样,将第一文件和第二文件中拼接后的数据进行合并后,第一文件和第二文件中身份编码相同的数据就会被抵消,剩余的数据即为第一文件和第二文件的差异数据。该方法可以快速获取两个大数据量文件的行级差异,提高了数据稽核的准确性。
Description
技术领域
本申请涉及大数据处理领域,尤其涉及一种大数据量的数据稽核方法和电子设备。
背景技术
数据集成,就是将分散的数据库中的数据,逻辑地或物理地集成到一个数据集合中。在数据集成过程中,需要保证数据库在集成前后的数据一致性。如果数据集成后与集成前差异较大,会导致数据不准确,带来严重问题。例如,实时集成场景中,数据集成的误差可能导致实时大屏数据失真,无法很好地提供数据支持。例如,离线集成场景中,数据集成的误差可能导致后续更大数量级的数据计算引入误差,极大浪费计算资源。如何快速准确地对比出集成后数据与集成前数据之间的差异,是一个需要解决的问题。
发明内容
本申请实施例提供一种大数据量的数据稽核方法和电子设备,能够快速地对大数据量的数据文件进行行级稽核,快速得到准确的数据差异。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种大数据量的数据稽核方法,该方法包括:获取待比较的第一文件和第二文件;分别对第一文件和第二文件进行数据抽取,获取第一文件对应的第一数据和第二文件对应的第二数据。分别对第一数据和第二数据中每一条数据进行字段拼接,生成第一数据和第二数据中每一条数据的拼接字段;并生成第一数据和第二数据中每一条数据的拼接字段对应的身份编码,用于唯一标识一个拼接字段;为第一数据对应的拼接字段赋第一标志位,为第二数据对应的拼接字段赋第二标志位,第一标志位与第二标志位为相反的两个数,第一标志位与第二标志位之和为0。根据第一数据中每一条数据对应的身份编码、对应的拼接字段和第一标志位生成第一数据中每一条数据的拼接数据;根据第二数据中每一条数据对应的身份编码、对应的拼接字段和第二标志位生成第二数据中每一条数据的拼接数据;将根据第一数据生成的拼接数据和根据第二数据生成的拼接数据合并入结果文件;其中,在合并入结果文件过程中,身份编码相同且标志位之和为0的拼接数据被删除;这样,结果文件仅包括第一文件和第二文件的差异数据。其中,差异数据的标志位为第一标志位,表示该条数据存在于第一文件且不存在于第二文件;差异数据的标志位为第二标志位,表示该条数据存在于第二文件且不存在于第一文件。
在该方法中,为待比较的第一文件和第二文件中每一行数据赋予身份编码,并为第一文件中的行数据和第二文件中的行数据分别设置相反的标志位。这样,将第一文件和第二文件中拼接后的数据进行合并后,第一文件和第二文件中相同的数据就会被抵消,剩余的数据即为第一文件和第二文件的差异数据。该方法可以快速获取两个大数据量文件的行级差异,提高了数据稽核的准确性。
基于第一方面,在一种可能的实施方式中,将根据第一数据生成的拼接数据和根据第二数据生成的拼接数据合并入结果文件时,将身份编码相同且标志位相同的拼接数据合并为一条拼接数据。这样,如果同样的差异数据在第一文件或第二文件中出现多次,可以在结果文件中用一行数据进行显示;根据结果文件中一行数据就能够清晰地看出差异数据在一个文件中出现的次数,并且减少了结果文件中的数据量,更方便查看。
基于第一方面,在一种可能的实施方式中,身份编码为一条数据的拼接字段的校验和;比如CRC32。这样就能实现唯一标识拼接字段。
基于第一方面,在一种可能的实施方式中,对第一文件进行数据抽取,获取第一数据,包括:读取第一文件中每一条数据的全部字段,获取第一数据;对第二文件进行数据抽取,获取第二数据,包括:读取第二文件中每一条数据的全部字段,获取第二数据。
基于第一方面,在另一种可能的实施方式中,对第一文件进行数据抽取,获取第一数据,包括:读取第一文件中每一条数据的部分字段,获取第一数据;对第二文件进行数据抽取,获取第二数据,包括:读取第二文件中每一条数据的部分字段,获取第二数据。
也就是说,可以根据关键的字段进行数据稽核,去除冗余信息,提高数据稽核的速率。
基于第一方面,在一种可能的实施方式中,对第一文件进行数据抽取,获取第一数据,包括:多次抽取第一文件中的数据;其中,每次抽取第一文件中N行数据,获取一组第一数据。对第二文件进行数据抽取,获取第二数据,包括:多次抽取第二文件中的数据;其中,每次抽取第二文件中N行数据,获取一组第二数据。其中,N大于或等于1。
对第一文件或第二文件进行多次抽取,一方面节约处理器计算资源,一方面可以提高处理速率。
基于第一方面,在一种可能的实施方式中,将根据第一数据生成的拼接数据和根据第二数据生成的拼接数据合并入结果文件,包括:根据第一数据生成的拼接数据生成第一临时文件;根据第二数据生成的拼接数据生成第二临时文件;根据第一临时文件和第二临时文件生成结果文件。
其中,根据第一临时文件和第二临时文件生成结果文件,包括:依次将第一临时文件和第二临时文件中的拼接数据写入至少一个中间文件;其中,每次将一个第一临时文件或一个第二临时文件写入中间文件后,中间文件中身份编码相同且标志位之和为0的拼接数据被删除;根据中间文件获取结果文件。
基于第一方面,在一种可能的实施方式中,中间文件的名称包括中间文件中拼接数据的身份编码的最小值和最大值。这样,可以通过中间文件的名称方便地获取中间文件包含的数据的身份编码取值范围,也方便对中间文件中的数据进行排序以及对中间文件进行排序;还可以方便快速地查找中间文件;提高大数据量数据稽核的处理速率。
基于第一方面,在一种可能的实施方式中,不同的中间文件包含的身份编码区间不重叠。
基于第一方面,在一种可能的实施方式中,多个中间文件按照中间文件中包含的身份编码的大小顺序排列。
基于第一方面,在一种可能的实施方式中,该方法还包括:如果相邻的中间文件包含的拼接数据的总条数小于或等于预设阈值,将相邻的中间文件合并为一个中间文件。如果中间文件包含的拼接数据的条数大于预设阈值,将中间文件拆分为多个中间文件,使得拆分后的每个中间文件包含的拼接数据的条数小于或等于预设阈值。这样的话,一个中间文件包括的数据行数不会过于多或过于少,可以提高在中间文件中插入数据时查找相应中间文件的速度,也提高了数据稽核的整体速率。
基于第一方面,在一种可能的实施方式中,中间文件中的拼接数据按照身份编码的大小顺序排列。
基于第一方面,在一种可能的实施方式中,一条数据为一行数据,可以进行第一文件和第二文件的行级数据稽核。
基于第一方面,在一种可能的实施方式中,第二文件是对第一文件进行数据集成生成的。
基于第一方面,在一种可能的实施方式中,第一标志位为1,第二标志位为-1;或者,第一标志位为-1,第二标志位为1。这样,计算简单,可以方便快速的进行稽核。
第二方面,提供了一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项所述的大数据量的数据稽核方法。
第四方面,提供了一种电子设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的大数据量的数据稽核方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的大数据量的数据稽核方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的大数据量的数据稽核方法。
第七方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的大数据量的数据稽核方法所适用的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的大数据量的数据稽核方法的流程示意图;
图3为本申请实施例提供的大数据量的数据稽核方法的一种实例示意图;
图4为本申请实施例提供的大数据量的数据稽核方法的流程示意图;
图5为本申请实施例提供的大数据量的数据稽核方法的一种实例示意图;
图6为本申请实施例提供的大数据量的数据稽核方法的一种实例示意图;
图7为本申请实施例提供的一种电子设备结构组成示意图;
图8为本申请实施例提供的一种芯片系统的示意图。
具体实施方式
在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
随着大数据处理的快速发展,越来越多的场景需要进行数据集成。数据集成即将源数据库的数据抽取到目的数据库中的过程。例如,数据库文件可以包括可扩展标记语言(extensible markup language,XML)文档、超文本标记语言(hypertext markuplanguage,HTML)文档、电子邮件、普通文件等。数据库中包括大数据量的数据。在数据集成过程中,需要保证源数据库和目的数据库中数据的一致性。如果集成到目的数据库中的数据与源数据库中的数据差异较大,会带来严重问题。因此,需要对目的数据库中的数据与源数据库中的数据进行稽核,减少误差。
在一种实现方式中,数据库中的数据包括至少一个主键,可以基于主键对源数据库和目的数据库进行关联对比,比较目的数据库与源数据库中字段间的差异。但是这种方法局限于单一数据库,无法跨库对比。并且,如果数据中没有主键,就无法实现关联对比。
在一种实现方式中,统计目的数据库与源数据库中的数据的关键信息,比如数据总数量、数据字段值等。通过对比关键信息的分布情况获取目的数据库与源数据库的差异。这样方法一般应用于粗颗粒度的数据,无法识别到行级差异;而且该方法依赖于设备强大的计算能力,如果数据量太大,设备的计算能力可能无法支持。
在一种实现方式中,将源数据库和目的数据库的数据均抽取到内存中,基于大数据计算引擎进行内存对比,获取目的数据库与源数据库的差异。该方法需要将全部数据都记录到内存中,占用大量内存资源,计算资源成本较高。
本申请实施例提供一种大数据量的数据稽核方法,为数据库中每一行数据赋予一个身份编码,基于与LSM-Tree(log structured merge tree)类似的方法,对行级数据进行排序并分级处理,对行级数据进行对比、抵消、合并,使得数据库中相同的行级数据被抵消,从而获取目的数据库与源数据库的行级数据差异。既可以获取源数据库和目的数据库中数据的行级差异,实现数据库的准确对比;又不占用大量的计算资源,能够高效且低功耗的实现。
需要说明的是,本申请实施例提供的大数据量的数据稽核方法可以应用于比较任意两个数据文件,并不局限于源数据库文件和目的数据库文件。本申请实施例中,以比较源数据库文件和目的数据库文件的数据差异为例进行介绍。下述实施例中,将源数据库文件称为第一文件,将目的数据库文件称为第二文件。
本申请实施例提供的方法可以应用于具备大数据处理能力的电子设备。上述电子设备可以包括服务器、手机、平板电脑、笔记本电脑、个人电脑(personal computer,PC)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、智能家居设备(比如,智能电视、智慧屏、大屏、智能音箱、智能空调等)、个人数字助理(personaldigital assistant,PDA)、可穿戴设备(比如,智能手表、智能手环等)、车载设备、虚拟现实设备等,本申请实施例对此不做任何限制。在本申请实施例中,上述电子设备是可以运行操作系统,安装应用程序的电子设备。可选地,电子设备运行的操作系统可以是系统,系统,系统等。
示例性的,请参考图1,其示出了一种电子设备100的结构示意图。电子设备100可包括处理器110,外部存储器接口120,内部存储器121,音频模块130,扬声器130A,麦克风130B,显示屏140,通信模块150,电源模块160,输入装置170,传感器模块180等。其中,传感器模块180可以包括压力传感器、触摸传感器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。
其中,控制器是电子设备100的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
应用处理器上可以运行电子设备100的操作系统,用于管理电子设备100的硬件与软件资源。比如,管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络、管理文件系统、管理驱动程序等。操作系统也可以用于提供一个让用户与系统交互的操作界面。其中,操作系统内可以安装各类软件,比如,驱动程序,应用程序(application,App)等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行本申请一些实施例中所提供的应用运行方法,以及各种应用以及数据管理等。内部存储器121可以包括代码存储区和数据存储区。其中,数据存储区可存储电子设备100使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universalflash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行本申请实施例中所提供的应用运行方法,以及其他应用及数据管理。
电子设备100可以通过音频模块130,扬声器130A,麦克风130B,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块130用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块130还可以用于对音频信号编码和解码。在一些实施例中,音频模块130可以设置于处理器110中,或将音频模块130的部分功能模块设置于处理器110中。
扬声器130A,也称“喇叭”,用于将音频电信号转换为声音信号。
麦克风130B,也称“话筒”,“传声器”,用于将声音信号转换为电信号。用户可以通过人嘴靠近麦克风130B发声,将声音信号输入到麦克风130B。
电子设备100的通信功能可以通过天线1,天线2以及通信模块150等实现。
通信模块150可以提供应用在电子设备100上的包括蜂窝,Wi-Fi,蓝牙(bluetooth,BT),无线数传模块(例如,433MHz,868MHz,915MHz)等无线通信的解决方案。通信模块150可以是集成至少一个通信处理模块的一个或多个器件。通信模块150经由天线1或者天线2接收电磁波,将电磁波信号滤波以及调频处理,将处理后的信号发送到处理器110。通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1或者天线2转为电磁波辐射出去。例如,电子设备100可以通过通信模块150获取源数据库、目的数据库;其中,源数据库是数据集成前的数据库,目的数据库是数据集成后的数据库。将源数据库的数据进行抽取、集成,就形成了目的数据库。
电子设备100通过GPU,显示屏140,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏140,N为大于1的正整数。本申请实施例中,显示屏140可以用于显示UI,以及接收用户对UI的操作。例如,显示屏140上可以显示根据本申请实施例提供的方法获取到的源数据库和目的数据库的差异数据。
在一些实施例中,显示屏140上设置有压力传感器、触摸传感器等。压力传感器用于感受压力信号,可以将压力信号转换成电信号。当有触摸操作作用于显示屏140,电子设备100根据压力传感器检测所述触摸操作强度。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。触摸传感器,也称“触控面板”,可以与显示屏140组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。还可以通过显示屏140提供与触摸操作相关的视觉输出。
电源模块160,可以用于向电子设备100包含的各个部件供电。在一些实施例中,该电源模块160可以是电池,如可充电电池。
输入装置170可以包括键盘、鼠标器等。键盘用于将英文字母、数字、标点符号等输入电子设备100,从而向电子设备100发出命令,输入数据等。鼠标器是电子设备100显示系统纵横坐标定位的指示器,用于向电子设备100输入指令等。其中,输入装置170可以通过有线连接方式连接电子设备100,比如,输入装置170通过GPIO接口、USB接口等连接电子设备100。输入装置170还可以通过无线方式连接电子设备100,比如,输入装置170通过蓝牙、红外等方式连接电子设备100。
示例性的,参考图2,本申请实施例提供的大数据量的数据稽核方法可以包括:
S201、获取第一文件和第二文件。
在一些实施例中,第一文件是源数据库文件,第二文件是目的数据库文件;也就是说,第二文件是将第一文件进行数据集成获取到的。为了保证第一文件和第二文件中数据的一致性,需要对第一文件和第二文件进行数据稽核。
示例性的,第一文件包括表1所示内容,第二文件包括表2所示内容。其中,Id表示序号,Name表示名字,Age表示年龄,Add表示地址。
表1
Id | Name | Age | Add |
1 | xiaoming | 20 | 北京市 |
2 | xiaofang | 20 | 西安市 |
3 | xiaozhi | 20 | 上海市 |
表2
Id | Name | Age | Add |
1 | xiaoming | 20 | 北京市 |
需要说明的是,本申请实施例以第一文件和第二文件中的数据以表格形式保存为例进行示例。在另一些实施例中,第一文件和第二文件中的数据可以是其他形式。
S202、对第一文件进行数据抽取,获取第一数据;对第二文件进行数据抽取,获取第二数据。
分别对第一文件和第二文件进行数据抽取。示例性的,第一文件为src.dat,第二文件为tar.dat。
在一种实现方式中,在进行数据抽取时,读取第一文件或第二文件中每一行数据中的全部字段。
示例性的,对第一文件中每一行数据中的全部字段进行数据抽取,获取的数据如表3所示:
表3
1 | xiaoming | 20 | 北京市 |
2 | xiaofang | 20 | 西安市 |
3 | xiaozhi | 20 | 上海市 |
示例性的,对第二文件中每一行数据中的全部字段进行数据抽取,获取的数据如表4所示:
表4
1 | xiaoming | 20 | 北京市 |
在另一种实现方式中,在进行数据抽取时,读取第一文件或第二文件中每一行数据中的指定字段。在一种示例中,指定字段包括Id、Name和Age。
示例性的,对第一文件中每一行数据中的指定字段进行数据抽取,获取的数据如表5所示:
表5
1 | xiaoming | 20 |
2 | xiaofang | 20 |
3 | xiaozhi | 20 |
示例性的,对第二文件中每一行数据中的指定字段进行数据抽取,获取的数据如表6所示:
表6
1 | xiaoming | 20 |
可选的,在一些实施方式中,对第一文件和第二文件进行数据抽取时,可以分批次进行抽取。也就是说,对第一文件进行多次数据抽取,获取多组第一数据;对第二文件进行多次数据抽取,获取多组第二数据。
示例性的,对第一文件和第二文件分别进行文件扫描,抽取第一文件或第二文件中的数据;每次抽取N行数据;其中,N大于或等于1。可以理解的,如果第一文件或第二文件中未抽取的数据不足N行,可以抽取小于N行的数据。
在一种实现方式中,先对第一文件进行文件扫描,第一文件的数据抽取完成后,再对第二文件进行文件扫描。示例性的,先抽取第一文件的N行数据,获取一组第一数据;然后再抽取第一文件的N行数据,获取一组第一数据;……;直至第一文件完成扫描后,开始抽取第二文件的N行数据,获取一组第二数据;然后再抽取第二文件的N行数据,获取一组第二数据;……;直至第二文件完成扫描。
在另一种实现方式中,轮流对第一文件和第二文件进行文件扫描。示例性的,先抽取第一文件的N行数据,获取一组第一数据;然后抽取第二文件的N行数据,获取一组第二数据;接着抽取第一文件的N行数据,获取一组第一数据;之后抽取第二文件的N行数据,获取一组第二数据;……,直至第一文件和第二文件都完成扫描。
在另一种实现方式中,分别对第一文件和第二文件独立的进行文件扫描。比如,并行地对第一文件和第二文件分别进行数据抽取;获取多组第一数据以及多组第二数据。
需要说明的是,在每次对第一文件或第二文件进行文件扫描时,可以不按照数据行从先到后的顺序进行数据抽取,而是随机地抽取N行数据。
示例性的,第一文件为src.dat,第二文件为tar.dat。对第一文件和第二文件中每一行数据中的指定字段进行数据抽取。在一种示例中,N的值为2;也就是说,每次从src.dat中抽取2行数据,每次从tar.dat中抽取2行数据。可以理解的,如果第一文件或第二文件中未抽取的数据不足2行,可以抽取小于2行的数据。
示例性的,对第一文件src.dat进行抽取,每次抽取2行数据。
第一次抽取的数据如表7所示:
表7
1 | xiaoming | 20 |
3 | xiaozhi | 20 |
第二次抽取的数据如表8所示:
表8
2 | xiaofang | 20 |
对第二文件tar.dat进行抽取,每次抽取2行数据(如果未抽取数据不足2行,可以抽取小于2行)。
示例性的,第一次抽取的数据如表9所示:
表9
1 | xiaoming | 20 |
需要说明的是,为了清晰地说明本申请实施例提供的稽核方法的原理,上述示例中第一文件和第二文件中的数据行数都比较少。在实际应用中,第一文件和第二文件包括的数据行数可以更多,也就是说第一文件和第二文件都是大数据量(比如PB级)的数据文件。
第一文件和第二文件都是大数据量的数据文件,对第一文件和第二文件进行分批抽取,这样后续处理步骤可以基于抽取后的第一数据和第二数据来分批次执行。这样一方面节约处理器计算资源,一方面可以提高处理速率。
S203、对第一数据和第二数据中每一行数据进行字段拼接,分别形成拼接字段。
在一种示例中,以指定分隔符,对每一行数据进行字段拼接。分隔符用于标识文字分隔的位置。示例性的,指定分隔符为“-”。
示例性的,以抽取的指定字段包括Id、Name和Age为例。如图3所示,对第一组第一数据中第一行数据进行字段拼接后,形成的拼接字段为:1-xiaoming-20;对第一组第一数据中第二行数据进行字段拼接后,形成的拼接字段为:3-xiaozhi-20;对第二组第一数据中第一行数据进行字段拼接后,形成的拼接字段为:2-xiaofang-20;对第二数据中第一行数据进行字段拼接后,形成的拼接字段为:1-xiaoming-20。
S204、针对第一数据和第二数据中每一行拼接字段生成对应的身份编码。
身份编码用于唯一标识一个拼接字段,可以用于区分不同的拼接字段。也就是说,相同的拼接字段对应同一个身份编码,不同的拼接字段对应不同的身份编码。
在一种实现方式中,计算每个拼接字段的校验和。将拼接字段的校验和作为拼接字段的身份编码。
示例的,采用循环冗余校验(CRC32)计算每个拼接字段的校验和。仍然参考图3,第一组第一数据中第一行数据的拼接字段1-xiaoming-20的校验和为3942448752,第一组第一数据中第二行数据的拼接字段3-xiaozhi-20的校验和为582170537,第二组第一数据中第一行数据的拼接字段2-xiaofang-20的校验和为3110224937,第二数据中第一行数据的拼接字段1-xiaoming-20的校验和为3942448752。
S205、为第一数据对应的拼接字段赋第一标志位,为第二数据对应的拼接字段赋第二标志位;其中,第一标志位与第二标志位的和为0。
第一标志位和第二标志位用于区分第一数据和第二数据,第一标志位与第二标志位相反。在一种实现方式中,第一标志位与第二标志位的和为0,这样就可以抵消第一数据和第二数据中相同的数据,实现将第一数据和第二数据中的差异数据提取出来。
在一种示例中,第一标志位设置为1,第二标志位设置为-1。
S206、获取第一数据和第二数据中每一行数据对应的拼接数据;拼接数据由身份编码、标志位以及拼接字段组成。
在一种示例中,第一数据中每一行数据对应的拼接数据包括身份编码、第一标志位以及拼接字段。
示例性的,如图3,第一组第一数据中第一行数据的拼接数据为3942448752,1,1,“xiaoming”,20;第一组第一数据中第二行数据的拼接数据为582170537,1,3,“xiaozhi”,20;第二组第一数据中第一行数据的拼接数据为3110224937,1,2,“xiaofang”,20。
第二数据中第一行数据的拼接数据为3942448752,-1,1,“xiaoming”,20。
S207、根据第一数据形成的拼接数据生成第一临时文件,根据第二数据形成的拼接数据生成第二临时文件。
将第一数据中每一行数据形成的拼接数据都写入第一临时文件,将第二数据中每一行数据形成的拼接数据都写入第二临时文件。在一种实现方式中,每组第一数据分别对应写入一个第一临时文件,每组第二数据分别对应写入一个第二临时文件。
示例性的,参考图3,第一组第一数据生成的拼接数据包括3942448752,1,1,“xiaoming”,20;582170537,1,3,“xiaozhi”,20;第二组第一数据生成的拼接数据包括3110224937,1,2,“xiaofang”,20。将第一组第一数据生成的拼接数据写入一个第一临时文件src_tmp1.dat。将第二组第一数据生成的拼接数据写入另一个第一临时文件src_tmp2.dat。第二数据生成的拼接数据包括3942448752,-1,1,“xiaoming”,20。将第二数据生成的拼接数据写入第二临时文件tar_tmp1.dat。
S208、将第一临时文件和第二临时文件进行数据合并、数据抵消,生成结果文件;结果文件中包括差异数据。
在一种实现方式中,将全部第一临时文件中第一数据生成的拼接数据与全部第二临时文件中第二数据生成的拼接数据,进行合并。
在合并时,对于身份编码相同的两行数据,计算两行数据的标志位之和。
在一种示例中,身份编码相同的两行数据的标志位之和为0,表示这两行数据完全相同,并且一行数据在第一文件另一行数据在第二文件,这两行数据可以抵消;在结果文件中将这两行数据删除。
示例性的,第一数据生成的拼接数据包括3942448752,1,1,“xiaoming”,20;3110224937,1,2,“xiaofang”,20;582170537,1,3,“xiaozhi”,20。第二数据生成的拼接数据包括3942448752,-1,1,“xiaoming”,20。
由于3942448752,1,1,“xiaoming”,20的标志位为1;3942448752,-1,1,“xiaoming”,20的标志位为-1;标志位之和为0;3942448752,1,1,“xiaoming”,20与3942448752,-1,1,“xiaoming”,20的身份编码相同,3942448752,1,1,“xiaoming”,20与3942448752,-1,1,“xiaoming”,20互相抵消,都删除。
这样,第一数据生成的拼接数据与第二数据生成的拼接数据合并后,包括的拼接数据包括3110224937,1,2,“xiaofang”,20;582170537,1,3,“xiaozhi”,20。
将全部第一临时文件和全部第二临时文件中的数据进行合并、抵消后,生成结果文件,结果文件中包括3110224937,1,2,“xiaofang”,20;582170537,1,3,“xiaozhi”,20。也就是说,获取到的差异数据包括3110224937,1,2,“xiaofang”,20;582170537,1,3,“xiaozhi”,20。根据差异数据的标志位可以确定其所属的文件。如果差异数据的标志位为第一标志位,表示该差异数据是第一文件中存在且第二文件中不存在的数据。示例性的,3110224937,1,2,“xiaofang”,20的标志位为1,表示该数据在第一文件中存在且在第二文件中不存在。如果差异数据的标志位为第二标志位,表示该差异数据在第二文件中存在且在第一文件中不存在。
在一种示例中,身份编码相同的两行数据的标志位之和不为0,表示这两行数据完全相同,并且这两行数据都在第一文件或者都在第二文件,可以将这两行数据合并;在结果文件中保留其中一行数据,并将该行数据的标志位的值修改为上述身份编码相同的两行数据的标志位之和。
示例性的,一个第一临时文件包括3110224937,1,2,“xiaofang”,20;另一个第一临时文件也包括3110224937,1,2,“xiaofang”,20;将两个第一临时文件合并。两行数据的身份编码都是3110224937,标志位之和为2;合并后的结果文件中可以仅保留一行数据,该行数据的身份编码为3110224937,标志位为2,该行数据为3110224937,2,2,“xiaofang”,20。这样,如果同样的差异数据在第一文件或第二文件中出现多次,可以在结果文件中用一行数据进行显示;根据结果文件中一行数据就能够清晰地看出差异数据在一个文件中出现的次数,并且减少了结果文件中的数据量,更方便查看。
本申请实施例提供了一种大数据量的数据稽核方法,为待比较的第一文件和第二文件中每一行数据赋予身份编码,并为第一文件中的行数据和第二文件中的行数据分别设置相反的标志位。这样,将第一文件和第二文件中拼接后的数据进行合并后,第一文件和第二文件中相同的数据就会被抵消,剩余的数据即为第一文件和第二文件的差异数据。采用本申请实施例提供的大数据量的数据稽核方法进行数据稽核,可以快速获取两个大数据量文件的行级差异,提高了数据稽核的准确性。
在一些实施例中,在将临时文件合并生成结果文件时,基于排序和分层的方法进行数据合并,这样可以提高数据稽核的速度;尤其在大数据量场景下,对于稽核速度的提升很明显。
如图4所示,该方法可以包括:
获取全部的第一临时文件和全部的第二临时文件,可以根据临时文件生成中间文件。在一种实现方式中,中间文件的名称包括:该中间文件包括的数据中身份编码最小值和身份编码最大值;示例性的,中间文件的名称为:身份编码最小值-身份编码最大值。这样,可以通过中间文件的名称方便地获取中间文件包含的数据的身份编码取值范围,也方便对中间文件中的数据进行排序以及对中间文件进行排序。
在一种示例中,第一批,获取一个第一临时文件,由于是处理的第一个临时文件,不存在已经形成的中间文件。直接将该第一临时文件中的N行数据写入中间文件一。
示例性的,参考图5,第一批,获取src_tmp1.dat。根据src_tmp1.dat中的2行数据形成中间文件一。中间文件一包括3942448752,1,1,“xiaoming”,20和582170537,1,3,“xiaozhi”,20;共2行数据。中间文件一的名称为582170537-3942448752.dat。
在一种实现方式中,中间文件中的数据按照身份编码的值从小到大的顺序排列。示例性的,如图5所示,582170537-3942448752.dat中的数据顺序为:
582170537,1,3,“xiaozhi”,20
3942448752,1,1,“xiaoming”,20
第二批,获取一个第二临时文件。由于已经存在中间文件一(身份编码最小值为数值一,身份编码最大值为数值二),判断将该第二临时文件中的数据写入中间文件一,或者根据该第二临时文件中的数据生成中间文件二。
在一种实现方式中,根据第二临时文件中数据的身份编码的值进行判断。如果该身份编码的值在中间文件一包括的身份编码取值范围内(大于或等于第一值,并且小于或等于第二值),将该第二临时文件中的数据写入中间文件一;如果该身份编码的值不在中间文件一包括的身份编码取值范围内(小于第一值,或者大于第二值),根据该第二临时文件中的数据生成中间文件二。
示例性的,继续参考图5,获取tar_tmp1.dat的1行数据,获取数据3942448752,-1,1,“xiaoming”,20;其身份编码为3942448752。3942448752在中间文件一(582170537-3942448752.dat)包括的身份编码取值范围内,将3942448752,-1,1,“xiaoming”,20写入中间文件一。中间文件一包含的数据按照身份编码从小到大的顺序进行。
示例性的,582170537-3942448752.dat包括:
582170537,1,3,“xiaozhi”,20
3942448752,1,1,“xiaoming”,20
3942448752,-1,1,“xiaoming”,20
进一步的,在新写入数据后,可以对中间文件进行数据合并、抵消。在一种实现方式中,将标志位之间为0、身份编码相同的两行数据进行抵消,从中间文件中删除。示例性的,中间文件一中,3942448752,1,1,“xiaoming”,20和3942448752,-1,1,“xiaoming”,20的身份编码相同;将二者的标志位相加为0,也就是说二者的标志位相反;这两行数据可以抵消。
示例性的,进行数据合并、抵消后,中间文件一包括:
582170537,1,3,“xiaozhi”,20
相应的,中间文件一的名称修改为582170537-582170537.dat。
在一种实现方式中,如果身份编码相同的两行数据的标志位之和不为0,可以在中间文件中保留其中一行数据,并将该行数据的标志位的值修改为上述身份编码相同的两行数据的标志位之和。示例性的,如果中间文件包括2行数据:3942448752,1,1,“xiaoming”,20和3942448752,1,1,“xiaoming”,20;二者的身份编码相同,标志位相加为2。对中间文件进行数据合并后,该中间文件包括1行数据:3942448752,2,1,“xiaoming”,20。
第三批,获取第二个第一临时文件。由于已经存在中间文件一(身份编码最小值为数值一,身份编码最大值为数值二),判断将第二个第一临时文件中的数据写入中间文件一,或者根据第二个第一临时文件中的数据生成中间文件二。
示例性的,继续参考图5,获取src_tmp2.dat的1行数据,获取数据3110224937,1,2,“xiaofang”,20;其身份编码为3110224937。中间文件一的名称为582170537-582170537.dat,也就是说,中间文件一的数据的身份编码最小值和最大值都为582170537;3110224937不属于中间文件一包括的身份编码取值范围内。根据3110224937,1,2,“xiaofang”,20生成中间文件二,中间文件二的名称为3110224937-3110224937.dat。中间文件二中包含1行数据,不需要进行数据合并、抵消。
在一种实现方式中,中间文件按照其名称中包括的身份编码从小到大的顺序进行排列。
示例性的,中间文件一和中间文件二的排列顺序为:
582170537-582170537.dat
3110224937-3110224937.dat
在一种实现方式中,在每次生成中间文件后,根据中间文件包括的数据行数进行中间文件的文件合并或文件拆分。在一种示例中,可以设置预设阈值M(比如M为1000),表示一个中间文件包括的数据行数的最大值。如果一个中间文件包括的数据行数大于该预设阈值M,将该中间文件进行拆分,使得拆分后的中间文件包括的数据行数小于或等于预设阈值M;并且,拆分后的两个或更多个中间文件包含的身份编码区间不重叠。如果相邻两个或更多个中间文件包括的数据行数总和小于或等于预设阈值M,将相邻两个或更多个中间文件合并为一个中间文件。这样的话,一个中间文件包括的数据行数不会过于多或过于少,可以提高在中间文件中插入数据时查找相应中间文件的速度,也提高了数据稽核的整体速率。
示例性的,参考图5,将中间文件一582170537-582170537和中间文件二3110224937-3110224937.dat合并为一个中间文件582170537-3110224937.dat,包括数据如下:
582170537,1,3,“xiaozhi”,20
3110224937,1,2,“xiaofang”,20
到此,全部第一临时文件和全部第二临时文件都处理完成,停止读取临时文件,也停止生成中间文件。中间文件582170537-3110224937.dat即为最终的结果文件final.dat。可以从结果文件获取到第一文件和第二文件的差异数据。
示例性的,582170537,1,3,“xiaozhi”,20的标志位为1;表示3,“xiaozhi”,20存在于第一文件且不存在于第二文件中。3110224937,1,2,“xiaofang”,20的标志位为1;表示2,“xiaofang”,20存在于第一文件且不存在于第二文件中。
在根据临时文件生成结果文件过程中,对于临时文件和中间文件中的数据都分别进行排序,对于多个中间文件也根据其名称中的身份编码进行排序;将身份编码相近的数据放入一个中间文件;并且对中间文件分层次进行合并和拆分;可以快速地进行数据查找、数据合并,低资源消耗地实现了快速地大数据量的数据稽核。
在一种示例中,如图6所示,获取到第一文件src.dat和第二文件tar.dat;根据src.dat和tar.dat生成多个临时文件。在第一层,根据多个临时文件生成了中间文件1-100.dat、240-330.dat、560-930.dat、980-991.dat。其中每个中间文件中包括的数据按照身份编码从小到大的顺序排列;4个中间文件的名称中包括的身份编码区间互相不重叠,并且中间文件也按照名称中身份编码从小到大的顺序排列。如果预设阈值M为1000,可以分多次对相邻的中间文件进行合并。每次合并后,新的中间文件中包括的数据按照身份编码从小到大的顺序排列;新的中间文件的名称中包括的身份编码区间互相不重叠,并且新的中间文件按照名称中身份编码从小到大的顺序排列。以此类推,在多次合并后,生成一个中间文件(即结果文件)1-991.dat。
本申请实施例提供的大数据量的数据稽核方法,为待比较的第一文件和第二文件中每一行数据赋予身份编码,并为第一文件中的行数据和第二文件中的行数据分别设置相反的标志位;生成临时文件。根据临时文件中的数据,顺序的、分层的进行数据合并、抵消;将身份编码相同且标志位之和为0的数据删除,将身份编码相同且标志位相同的数据合并,就可以获取第一文件和第二文件的行级数据差异。并且在根据临时文件生成结果文件过程中,对中间文件进行排序,分层次进行文件合并和文件拆分;可以低功耗实现快速地大数据量的数据稽核。本申请实施例提供的大数据量的数据稽核方法,实现了快速地对大数据量的数据文件进行行级稽核。
可以理解的是,本申请实施例提供的电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一种示例中,请参考图7,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备700包括:处理单元710和存储单元720。
其中,处理单元710,用于对电子设备700的动作进行控制管理。存储单元720用于保存电子设备700的程序代码和数据,处理单元710调用存储单元720存储的程序代码,以执行以上方法实施例中的各个步骤。
当然,上述电子设备700中的单元模块包括但不限于上述处理单元710和存储单元720。例如,电子设备700中还可以包括显示单元、通信单元、电源单元等。显示单元用于显示电子设备700的用户界面,例如,显示结果文件;再例如,可以显示获取到的第一文件和第二文件等。通信单元用于电子设备700与其他电子设备进行通信;例如,电子设备700可以通过通信单元从其他设备获取第一文件和第二文件;再例如,电子设备700可以通过通信单元向其他设备发送结果文件。电源单元用于对电子设备700供电。
其中,处理单元710可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),图形处理器(graphics processing unit,GPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integratedcircuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元720可以是存储器。显示单元可以是显示屏等。
例如,处理单元710为处理器(如图1所示的处理器110),存储单元720可以为存储器(如图1所示的内部存储器121),显示单元可以为显示屏(如图1所示的显示屏140)。本申请实施例所提供的电子设备700可以为图1所示的电子设备100。其中,上述处理器、存储器、显示屏等可以连接在一起,例如通过总线连接。处理器调用存储器存储的程序代码,以执行以上方法实施例中的各个步骤。
本申请实施例还提供一种芯片系统(例如,片上系统(system on a chip,SoC)),如图8所示,该芯片系统包括至少一个处理器801和至少一个接口电路802。处理器801和接口电路802可通过线路互联。例如,接口电路802可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路802可用于向其它装置(例如处理器801或者电子设备的触摸屏)发送信号。示例性的,接口电路802可读取存储器中存储的指令,并将该指令发送给处理器801。当所述指令被处理器801执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种大数据量的数据稽核方法,其特征在于,所述方法包括:
获取第一文件和第二文件;
对所述第一文件进行数据抽取,获取第一数据,所述第一数据包括至少一条数据;
对所述第二文件进行数据抽取,获取第二数据,所述第二数据包括至少一条数据;
分别对所述第一数据和所述第二数据中每一条数据进行字段拼接,生成所述第一数据和所述第二数据中每一条数据的拼接字段;
生成所述第一数据和所述第二数据中每一条数据的拼接字段对应的身份编码,所述身份编码用于唯一标识一个拼接字段;
根据所述第一数据中每一条数据对应的身份编码、对应的拼接字段和第一标志位生成所述第一数据中每一条所述数据的拼接数据;
根据所述第二数据中每一条数据对应的身份编码、对应的拼接字段和第二标志位生成所述第二数据中每一条所述数据的拼接数据;其中,所述第一标志位和所述第二标志位不同,所述第一标志位和所述第二标志位之和为0;
将根据所述第一数据生成的拼接数据和根据所述第二数据生成的拼接数据合并入结果文件;其中,身份编码相同且标志位之和为0的拼接数据被删除;
所述结果文件包括所述第一文件和所述第二文件的差异数据。
2.根据权利要求1所述的方法,其特征在于,所述身份编码为所述一条数据的拼接字段的校验和。
3.根据权利要求1所述的方法,其特征在于,
所述对所述第一文件进行数据抽取,获取第一数据,包括:
读取所述第一文件中每一条数据的全部字段,获取第一数据;
所述对所述第二文件进行数据抽取,获取第二数据,包括:
读取所述第二文件中每一条数据的全部字段,获取第二数据。
4.根据权利要求1所述的方法,其特征在于,
所述对所述第一文件进行数据抽取,获取第一数据,包括:
读取所述第一文件中每一条数据的部分字段,获取第一数据;
所述对所述第二文件进行数据抽取,获取第二数据,包括:
读取所述第二文件中每一条数据的部分字段,获取第二数据。
5.根据权利要求1所述的方法,其特征在于,
所述对所述第一文件进行数据抽取,获取第一数据,包括:
多次抽取所述第一文件中的数据;其中,每次抽取所述第一文件中N行数据,获取一组第一数据;
对所述第二文件进行数据抽取,获取第二数据,包括:
多次抽取所述第二文件中的数据;其中,每次抽取所述第二文件中N行数据,获取一组第二数据;
其中,N大于或等于1。
6.根据权利要求1所述的方法,其特征在于,所述将根据所述第一数据生成的拼接数据和根据所述第二数据生成的拼接数据合并入结果文件,包括:
根据所述第一数据生成的拼接数据生成第一临时文件;
根据所述第二数据生成的拼接数据生成第二临时文件;
根据所述第一临时文件和所述第二临时文件生成结果文件。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一临时文件和所述第二临时文件生成结果文件,包括:
依次将所述第一临时文件和所述第二临时文件中的拼接数据写入至少一个中间文件;其中,每次将一个第一临时文件或一个第二临时文件写入中间文件后,身份编码相同且标志位之和为0的拼接数据被删除;
根据所述中间文件获取所述结果文件。
8.根据权利要求7所述的方法,其特征在于,所述中间文件的名称包括所述中间文件中拼接数据的身份编码的最小值和最大值。
9.根据权利要求7所述的方法,其特征在于,不同的中间文件包含的身份编码区间不重叠。
10.根据权利要求9所述的方法,其特征在于,多个所述中间文件按照中间文件中包含的身份编码的大小顺序排列。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
如果相邻的中间文件包含的拼接数据的总条数小于或等于预设阈值,将所述相邻的中间文件合并为一个中间文件。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
如果中间文件包含的拼接数据的条数大于预设阈值,将所述中间文件拆分为多个中间文件,使得拆分后的每个中间文件包含的拼接数据的条数小于或等于预设阈值。
13.根据权利要求7所述的方法,其特征在于,所述中间文件中的拼接数据按照身份编码的大小顺序排列。
14.根据权利要求1-13中任意一项所述的方法,其特征在于,所述方法还包括:
将根据所述第一数据生成的拼接数据和根据所述第二数据生成的拼接数据合并入结果文件时,将身份编码相同且标志位相同的拼接数据合并为一条拼接数据。
15.根据权利要求1-13中任意一项所述的方法,其特征在于,
所述一条数据为一行数据。
16.根据权利要求1-13中任意一项所述的方法,其特征在于,
所述第二文件是对所述第一文件进行数据集成生成的。
17.根据权利要求1-13中任意一项所述的方法,其特征在于,
所述第一标志位为1,所述第二标志位为-1;或者,
所述第一标志位为-1,所述第二标志位为1。
18.一种电子设备,其特征在于,包括:处理器和存储器;所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如权利要求1-17中任意一项所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-17中任意一项所述的方法。
20.一种芯片系统,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器执行所述存储其中存储的计算机程序,以实现如权利要求1-17中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511195.7A CN116089436B (zh) | 2022-11-29 | 2022-11-29 | 一种大数据量的数据稽核方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511195.7A CN116089436B (zh) | 2022-11-29 | 2022-11-29 | 一种大数据量的数据稽核方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089436A true CN116089436A (zh) | 2023-05-09 |
CN116089436B CN116089436B (zh) | 2023-11-07 |
Family
ID=86201481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211511195.7A Active CN116089436B (zh) | 2022-11-29 | 2022-11-29 | 一种大数据量的数据稽核方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089436B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN105989089A (zh) * | 2015-02-12 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据对比方法及装置 |
CN107943988A (zh) * | 2017-12-01 | 2018-04-20 | 中国银行股份有限公司 | 一种数据拼接方法及装置 |
CN109376152A (zh) * | 2018-09-13 | 2019-02-22 | 广州帷策智能科技有限公司 | 大数据系统文件数据准备方法和系统 |
CN111858738A (zh) * | 2020-07-30 | 2020-10-30 | 山东健康医疗大数据有限公司 | 数据信息传输方法、装置及计算机可读介质 |
CN114258541A (zh) * | 2019-10-18 | 2022-03-29 | 北京欧珀通信有限公司 | 数据合并方法、装置、电子设备及存储介质 |
US20220342739A1 (en) * | 2019-09-19 | 2022-10-27 | Huawei Technologies Co., Ltd. | Method for determining faulty computing core in multi-core processor and electronic device |
CN115328898A (zh) * | 2022-08-09 | 2022-11-11 | 北京锐安科技有限公司 | 一种数据处理方法、装置、电子设备及介质 |
-
2022
- 2022-11-29 CN CN202211511195.7A patent/CN116089436B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN105989089A (zh) * | 2015-02-12 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据对比方法及装置 |
CN107943988A (zh) * | 2017-12-01 | 2018-04-20 | 中国银行股份有限公司 | 一种数据拼接方法及装置 |
CN109376152A (zh) * | 2018-09-13 | 2019-02-22 | 广州帷策智能科技有限公司 | 大数据系统文件数据准备方法和系统 |
US20220342739A1 (en) * | 2019-09-19 | 2022-10-27 | Huawei Technologies Co., Ltd. | Method for determining faulty computing core in multi-core processor and electronic device |
CN114258541A (zh) * | 2019-10-18 | 2022-03-29 | 北京欧珀通信有限公司 | 数据合并方法、装置、电子设备及存储介质 |
CN111858738A (zh) * | 2020-07-30 | 2020-10-30 | 山东健康医疗大数据有限公司 | 数据信息传输方法、装置及计算机可读介质 |
CN115328898A (zh) * | 2022-08-09 | 2022-11-11 | 北京锐安科技有限公司 | 一种数据处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116089436B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104008064B (zh) | 用于多级存储器压缩的方法和系统 | |
CN108038112B (zh) | 文件处理方法、移动终端及计算机可读存储介质 | |
CN112395978A (zh) | 行为检测方法、装置及计算机可读存储介质 | |
CN111476225B (zh) | 基于人工智能的车内人脸识别方法、装置、设备及介质 | |
CN112016312A (zh) | 数据关系抽取方法、装置、电子设备及存储介质 | |
CN113806434B (zh) | 大数据处理方法、装置、设备及介质 | |
CN112257436A (zh) | 文本检测方法及装置 | |
CN109284108B (zh) | 无人车数据存储方法、装置、电子设备及存储介质 | |
CN112966824A (zh) | 推理库的部署方法、装置和电子设备 | |
US20140358517A1 (en) | Method for providing text conversion service and electronic device thereof | |
US10019456B2 (en) | Recovering free space in nonvolatile storage with a computer storage system supporting shared objects | |
CN116089436B (zh) | 一种大数据量的数据稽核方法和电子设备 | |
CN112733551A (zh) | 文本分析方法、装置、电子设备及可读存储介质 | |
CN107729347B (zh) | 同义标签的获取方法、装置、设备及计算机可读存储介质 | |
CN107609119B (zh) | 文件处理方法、移动终端及计算机可读存储介质 | |
CN114170366B (zh) | 基于点线特征融合的三维重建方法及电子设备 | |
CN112783971B (zh) | 交易记录方法、交易查询方法、电子设备及存储介质 | |
CN110750465B (zh) | 系统升级的方法、数据处理方法及装置、设备 | |
CN114331745A (zh) | 数据处理方法、系统、程序产品、介质和电子设备 | |
CN109558387B (zh) | 身份证号的处理方法、装置、存储介质及终端 | |
CN113822215A (zh) | 设备操作指引文件生成方法、装置、电子设备及存储介质 | |
CN108280139B (zh) | Poi数据的处理方法、装置、设备及计算机可读存储介质 | |
US20230281130A1 (en) | Key packing for flash key value store operations | |
KR20200112386A (ko) | 전자 장치 및 그 제어 방법 | |
JP2018181196A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |