CN101582081A - 一种数据比对的方法及装置 - Google Patents
一种数据比对的方法及装置 Download PDFInfo
- Publication number
- CN101582081A CN101582081A CNA2009101077461A CN200910107746A CN101582081A CN 101582081 A CN101582081 A CN 101582081A CN A2009101077461 A CNA2009101077461 A CN A2009101077461A CN 200910107746 A CN200910107746 A CN 200910107746A CN 101582081 A CN101582081 A CN 101582081A
- Authority
- CN
- China
- Prior art keywords
- data
- comparison
- internal memory
- compared
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种数据比对的方法和装置,所述方法包括以下处理步骤:1.采集原始数据,生成比对和被比对数据;2.将比对数据读入内存;3.逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。所述装置包括包含数据提取模块和数据比对模块,其中:数据提取模块采集原始数据,生成比对和被比对数据;数据比对模块将比对数据读入内存,逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。本发明减少了数据比对对软、硬件环境的依赖,提高了比对效率。
Description
技术领域
本发明涉及电信技术领域,特别涉及一种数据的比对方法及装置。
背景技术
当前,随着通讯业的不断发展,相关软件系统也越来越复杂。软件系统一般都包含许多的子系统和外围系统,为了保证这些系统数据的一致性,我们经常需要比较各系统间的同类数据,做相应的处理,使其保持一致,以保证整个系统的正常运行。
在通讯行业内,需要比较的这类数据量通常十分庞大,采用一般的文本比较工具来比对很容易出错,目前业内也有很多其他比对方法:
采用第三方工具,诸如ue、merge等工具软件结合使用来比对;在数据库中通过存储过程采用游标的方式来比对;采用hash表存储数据的方式来比对。
下面首先对几个术语进行说明:
Hash表一种常用的数据存储结构,又叫哈希表或散列表。
线性表一种常用的数据存储结构,其逻辑结构简单,便于实现和操作。
Merge一种文本比较工具。
上述方法1用来比较小数据量的文件数据时还可以胜任,但如果用来处理大量数据的时候,往往操作者会顾此失彼,产生很多错误,导致比对效率十分低下;方法2所采用的方式是借助数据库的特性来处理、完成比对工作,这不失为一个简便的处理方式,但是其缺点正是数据库本身固有且无法克服的:对系统软、硬件环境的依赖性高,处理速度也很慢;方法3是当前被普遍采用的一种比对方法,相对于前面的两种方式,其拥有处理效率较高的优势,但是经过测试发现其在处理海量数据的时候,对计算机的软、硬件的要求很高,对内存的占用率特别大。
可见,现有技术中的数据比对方法,或是比对效率低下,或是虽然效率较高,但对系统软、硬件环境的依赖性高,仍有待改进。
发明内容
本发明提供了一种数据比对的方法与装置,能够在数据比对时提高数据比对的效率。
为了解决上述技术问题,本发明采用了如下技术方案:
一种数据的比对方法,包含以下处理步骤:
1、采集原始数据,生成比对数据和被比对数据;
2、将比对数据读入内存;
3、逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。
在上述数据比对方法的一种实施例中,对内存中所述比对数据进行快速排序。
在上述数据比对方法的一种实施例中,在内存中采用紧凑的线性表结构存储所述比对数据。
在上述数据比对方法的一种实施例中,所述原始数据的数据格式包括文本数据格式、或数据库表数据格式。
在上述数据比对方法的一种实施例中,所述的比对数据和被对比数据的数据格式是文本数据格式。
在上述数据比对方法的一种实施例中,还包含以下处理步骤:采用读取配置文件的方式对来比对结果做出相应的处理。
在上述数据比对方法的一种实施例中,还包含以下处理步骤:设置用于记录数据比对过程中信息的日志文件。
本发明还公开了一种数据比对装置,包含数据提取模块和数据比对模块,其中:
数据提取模块采集原始数据,生成比对数据和被比对数据;
数据比对模块将比对数据读入内存;
数据比对模块逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。
与现有技术相比,本发明的有益效果在于:
本发明首先采集原始数据,生成比对和被比对的两部分数据。进行比对时先将比对数据读入内存,然后逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。如此,原始数据经过处理生成比对和被比对数据,将比对数据读入内存,逐条读取被比对数据,与内存中的比对数据比较,可以提高数据比对效率。
附图说明
图1示例性的描述了本发明的比对流程图;
图2示例性的描述了一般数据存储结构和紧凑数据存储结构的对比,其中图2A为一般数据存储结构,图2B为紧凑数据存储结构;
图3示例性的描述了本发明的结构图;
图4示例性的描述了本发明的数据存储链表图;
图5示例性的描述了本发明的尾号线性图;
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明:
本发明一个实施例的数据比对方法,其比对的总体流程可以按如下处理步骤进行:
1、采集原始数据,生成比对数据和被比对数据;
2、将比对数据读入内存;
3、逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。
下面对上述步骤进行详细说明。如图1所示,在步骤S1中,首先采集原始数据,生成比对数据和被比对数据。在本例中,比对数据和被对比数据的数据格式设置为文本数据,可以将比对数据和被比对数据置入到文本文件中,每条数据在该文本文件中占一行,其存储格式为“数据|比对参数”,其中“|”为分隔符,比对参数由用户根据自己的需求自行定义。将比对数据和被比对数据格式设置为文本数据,可以提高数据读入内存的速度,提高比对效率。原始数据的数据格式可以包括文本数据格式、或数据库表数据格式,其中,数据库格式不受数据库类型的限制,当然,也可以是其他格式的数据。
在步骤S2中,进行配置文件的读取和日志文件的初始化。其中,配置文件由用户进行配置,以根据比对结果执行一些相应的处理,可以根据用户的需要随时修改。配置文件中可以包含一个或多个配置项,每一个配置项的一般格式为:比对结果|动作,即在满足某种比对结果时,则执行该比对结果对应的动作。通过配置文件可以快速地修改对比对结果的要求和相应的执行处理,实现了比较复杂的逻辑,令操作简便、快捷。
日志文件用来记录整个数据比对过程中的信息,包括系统错误日志、操作错误日志、操作日志等,用户可以方便快捷地在日志文件找到自己所需要的信息,以便对各种错误信息、操作及对比结果进行跟踪。
另一方面,读取配置文件时出现错误,则将失败结果记录在系统错误日志中,结束比对程序。
在步骤S3中,将比对数据读入内存,若在读取某一个比对数据时出现错误,则将错误记录在操作错误日志中,转而读取下一个比对数据。
在本例中,将比对数据读入内存后,对比对数据在内存中进行快速排序,以提高查找速度。
此外,在内存中,可以采用紧凑的线性表结构来存储比对数据。紧凑的线性表存储结构如图2B所示,图中,示例了三个数据“13311111234”、“13311111235”、“13311111236”,每个数据分成若干数据小段存储,即由图示的两个箭头分成的3个数据小段,从左至右称为头段、中段、尾段。上述3个数据的头段和中段相同,而只有尾段不同,因此,这些数据在存储时仅需要将前面相同的数据小段(头段和中段)存储一次,不同的尾段数据存储在尾段线性表中。和一般数据存储结构如图2A相比,紧凑线性表结构减少了数据冗余,节约了内存空间,减少了对系统资源的占用。
在步骤S4中,逐条读取被比对数据,若读取某一个被比对数据时出现错误,则记录入操作错误日志中,转而读取下一个被比对数据。
逐条读取被比对数据,与内存中的比对数据做比较,若在内存中找不到该被比对数据,则记录入操作错误日志中,继续读取下一个被比对数据。若在内存中找到该被比对数据,则进行被比对数据中和比对数据中比对参数的比较,并将比对结果与配置文件中的比对结果做比较,如果与配置文件的某条比对结果相符,则按照配置文件中该条比对结果相对应的动作对此被对比数据进行处理,将此被对比数据与处理结果记录在操作日志中。做比较时按上述紧凑线性表格式逐段比较,先比对头段,头段一致,再比对中段,中段一致,再继续比较尾段,直到比较完尾段数据。若前一比对不一致,则不需要再比较后面的数据段,直接读取下一个被比对数据。
在步骤S5中,被对比数据读取完毕,比对程序结束。
在以上所述任意步骤中,若用户选择退出,则直接结束比对程序。
本发明示例的一种数据比对装置,如图3所示,包含数据提取模块和数据比对模块,其中:数据提取模块采集原始数据,生成比对数据和被比对数据;数据比对模块将比对数据读入内存;数据比对模块逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。该数据比对装置的工作方式类似于前述的数据比对方法,不再赘述。
下面以联通用户号码处理为实例具体说明比对流程:
步骤101:从数据库A中提取数据,生成比对数据,以文本形式输出,格式为“号码|状态”,即比对数据是联通用户号码,比对参数是各号码的状态。在该输出的文本中,每条记录占一行,其中“|”为分隔符;状态以0、1表示,0表示用户处于正常状态,1表示用户处于停机状态。
步骤102,重复上述操作从另一数据库B中提取数据,生成的被比对数据以文本形式输出,格式同上;
步骤201:读取配置文件,初始化日志文件;若读取配置文件出现错误,则将失败结果记录在系统错误日志中,结束比对程序。
在此实施例中,针对联通用户号码状态作如下配置:1:0:90001,其中比对结果为1:0,表示此号码用户在比对数据中处于正常状态,在被比对数据中处于停机状态,90001表示注销此号码用户的动作。此配置文件对比对结果的具体要求是,如果一个用户号码在比对数据中为正常状态,在被比对数据中处于停机状态,则注销该用户号码。
步骤202:将比对数据读入内存,若在读取某一个比对数据时出现错误,则记录入操作错误日志中,转而读取下一个比对数据。
步骤203:将比对数据读入内存后进行快速排序,以提高查找速度;
步骤204:数据读入内存后,按照紧凑的线性表结构储存数据;数据存储链表如图4所示:先将手机号码分3位的前缀数、4位号段数、4位尾号,存储时前缀数组以数据前缀为下标,用于存储号段数组的首地址,号段数组以号段数为下标,用于存放尾号链表的首地址,尾号线性列表用于存放尾号及比对参数。紧凑的线性表结构如图2B所示,以手机号码为例,13311111234、13311111235、13311111236这三个手机号码在存储时,相同的前3位和中间4位只需要存储一次,分别存储在前缀数组和号段数组中,不同的后4位则存储在尾号线性表中。尾号线性列表说明如图5所示:USERINFO_T是一个存放4位号码和1位状态的结构。
步骤301:读取被比对数据,若读取某一个被比对数据时出现错误,则记录入操作错误日志中,继续读取下一个被比对数据。
读取被比对数据,分离用户号码,与内存中的比对数据做比对,如果找不到该用户号码,则记录入操作错误日志中,继续读取下一个被比对数据;如果在内存中找到该用户号码,则查看被比对数据中和比对数据中的状态数据,并与配置文件中的比对结果参数做比较,如果符合比对结果的要求,即此用户号码在比对数据中处于正常状态,在被比对数据中处于停机状态,则对该用户号码做注销该用户号码的处理,并将该用户号码和处理结果记录入操作日志中,然后继续读取下一个被比对数据。被比对数据中的用户号码与比对数据的用户号码进行比对时,先比对手机号码前三位,前三位一致,再比对手机号码中间四位,中间四位一致,再继续比对后四位及状态。如果前一比对不一致,则不需要再比较后面的数据段了,直接读取下一个被比对的用户号码。
步骤302,被比对数据读取完毕,结束程序。
在以上任一步骤中,若用户选择退出,则直接结束比对程序。
本发明的数据比对方法和装置,针对数据的比较,采用了先采集原始数据,生成比对数据与被比对数据,然后将比对数据读入内存,采用紧凑的线性表结构存储数据并快速排序,逐条读取被比对数据,与内存中的比对数据比较,输出比较结果,因而解决了现有比对技术中比对时间、比对效率和比对依赖软、硬件环境的相互矛盾,减少了数据比对时对软、硬件环境的依赖,节约了内存空间,减少对系统资源的占用,提高了比对效率。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,但这只是为便于理解而举的实例,不应认为本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,可以做出各种可能的等同改变或替换,这些改变或替换都应属于本发明的保护范围。
Claims (10)
1、一种数据的比对方法,其特征在于,包含以下处理步骤:
(1)采集原始数据,生成比对数据和被比对数据;
(2)将比对数据读入内存;
(3)逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。
2、如权利要求1所述的数据比对方法,其特征在于,在所述步骤(2)之后对内存中所述比对数据进行快速排序。
3、如权利要求1所述的数据比对方法,其特征在于,在内存中采用紧凑的线性表结构存储所述比对数据。
4、如权利要求1所述的数据比对方法,其特征在于,所述原始数据的数据格式包括文本数据格式、或数据库表数据格式。
5、如权利要求1所述的数据比对方法,其特征在于,所述比对数据和被对比数据的数据格式是文本数据格式。
6、如权利要求1所述的数据比对方法,其特征在于,还包含以下处理步骤:采用读取配置文件的方式来对比对结果做出相应的处理。
7、如权利要求1所述的数据比对方法,其特征在于,还包含以下处理步骤:设置用于记录数据比对过程中信息的日志文件。
8、一种数据的比对装置,其特征在于,包含数据提取模块和数据比对模块,其中:
数据提取模块采集原始数据,生成比对数据和被比对数据;
数据比对模块将比对数据读入内存;
数据比对模块逐条读取被比对数据,与内存中的比对数据比较,输出比较结果。
9、一种数据的比对装置,其特征在于,数据比对模块对内存中的所述比对数据进行快速排序。
10、一种数据的比对装置,其特征在于,数据比对模块在内存中采用紧凑的线性表结构存储所述比对数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101077461A CN101582081A (zh) | 2009-05-25 | 2009-05-25 | 一种数据比对的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101077461A CN101582081A (zh) | 2009-05-25 | 2009-05-25 | 一种数据比对的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101582081A true CN101582081A (zh) | 2009-11-18 |
Family
ID=41364229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009101077461A Pending CN101582081A (zh) | 2009-05-25 | 2009-05-25 | 一种数据比对的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101582081A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375886A (zh) * | 2011-10-21 | 2012-03-14 | 北京锐安科技有限公司 | 一种多通道高速数据比对方法 |
CN103440231A (zh) * | 2013-09-02 | 2013-12-11 | 北京网秦天下科技有限公司 | 用于比较文本的设备和方法 |
CN104331467A (zh) * | 2014-10-31 | 2015-02-04 | 上海玮舟微电子科技有限公司 | 一种数据查询方法及系统 |
CN105653554A (zh) * | 2014-11-14 | 2016-06-08 | 卓望数码技术(深圳)有限公司 | 一种文件数据比对方法和系统 |
CN105787109A (zh) * | 2016-03-22 | 2016-07-20 | 农信银资金清算中心有限责任公司 | 支付清算系统的对账方法及装置 |
CN106844617A (zh) * | 2017-01-18 | 2017-06-13 | 北京万方数据股份有限公司 | 一种数据存储方法及系统 |
CN107329846A (zh) * | 2017-07-11 | 2017-11-07 | 深圳市信义科技有限公司 | 基于大数据技术的大指数据比对方法 |
CN108121303A (zh) * | 2016-11-30 | 2018-06-05 | 沈阳中科博微科技股份有限公司 | 一种应用于制造设备统计分析过程的日志记录方法 |
CN108153784A (zh) * | 2016-12-06 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 同步数据处理方法和装置 |
CN108228443A (zh) * | 2016-12-14 | 2018-06-29 | 北京国双科技有限公司 | 一种web应用的测试方法及装置 |
CN110600090A (zh) * | 2019-08-23 | 2019-12-20 | 和宇健康科技股份有限公司 | 一种临床检验数据处理方法、装置、介质及终端设备 |
CN111143469A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 一种数据对账方法、装置、电子设备及存储介质 |
CN111191436A (zh) * | 2020-01-03 | 2020-05-22 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及计算机存储介质 |
-
2009
- 2009-05-25 CN CNA2009101077461A patent/CN101582081A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375886A (zh) * | 2011-10-21 | 2012-03-14 | 北京锐安科技有限公司 | 一种多通道高速数据比对方法 |
CN103440231A (zh) * | 2013-09-02 | 2013-12-11 | 北京网秦天下科技有限公司 | 用于比较文本的设备和方法 |
CN104331467B (zh) * | 2014-10-31 | 2019-02-26 | 上海玮舟微电子科技有限公司 | 一种数据查询方法及系统 |
CN104331467A (zh) * | 2014-10-31 | 2015-02-04 | 上海玮舟微电子科技有限公司 | 一种数据查询方法及系统 |
CN105653554A (zh) * | 2014-11-14 | 2016-06-08 | 卓望数码技术(深圳)有限公司 | 一种文件数据比对方法和系统 |
CN105653554B (zh) * | 2014-11-14 | 2019-07-16 | 卓望数码技术(深圳)有限公司 | 一种文件数据比对方法和系统 |
CN105787109A (zh) * | 2016-03-22 | 2016-07-20 | 农信银资金清算中心有限责任公司 | 支付清算系统的对账方法及装置 |
CN108121303A (zh) * | 2016-11-30 | 2018-06-05 | 沈阳中科博微科技股份有限公司 | 一种应用于制造设备统计分析过程的日志记录方法 |
CN108153784A (zh) * | 2016-12-06 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 同步数据处理方法和装置 |
CN108228443A (zh) * | 2016-12-14 | 2018-06-29 | 北京国双科技有限公司 | 一种web应用的测试方法及装置 |
CN106844617B (zh) * | 2017-01-18 | 2018-11-30 | 北京万方数据股份有限公司 | 一种数据存储方法及系统 |
CN106844617A (zh) * | 2017-01-18 | 2017-06-13 | 北京万方数据股份有限公司 | 一种数据存储方法及系统 |
CN107329846A (zh) * | 2017-07-11 | 2017-11-07 | 深圳市信义科技有限公司 | 基于大数据技术的大指数据比对方法 |
CN107329846B (zh) * | 2017-07-11 | 2020-06-12 | 深圳市信义科技有限公司 | 基于大数据技术的大指数据比对方法 |
CN110600090A (zh) * | 2019-08-23 | 2019-12-20 | 和宇健康科技股份有限公司 | 一种临床检验数据处理方法、装置、介质及终端设备 |
CN111143469A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 一种数据对账方法、装置、电子设备及存储介质 |
CN111143469B (zh) * | 2019-12-27 | 2023-10-20 | 杭州数梦工场科技有限公司 | 一种数据对账方法、装置、电子设备及存储介质 |
CN111191436A (zh) * | 2020-01-03 | 2020-05-22 | 北大方正集团有限公司 | 版式文档的比对方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101582081A (zh) | 一种数据比对的方法及装置 | |
CN101236554B (zh) | 一种数据库海量数据比对的方法 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN108205577B (zh) | 一种数组构建、数组查询的方法、装置及电子设备 | |
CN103200293A (zh) | 一种导入通讯录文件过程中自动合并重名联系人的方法 | |
EP3640813B1 (en) | Cluster-based random walk method and apparatus | |
CN109522316A (zh) | 日志处理方法、装置、设备和存储介质 | |
CN101630323A (zh) | 确定自动机的空间压缩方法 | |
CN101763433B (zh) | 一种数据存储系统及方法 | |
CN102387179A (zh) | 分布式文件系统及其结点、存储方法和存储控制方法 | |
CN103037344A (zh) | 一种话单去重方法及装置 | |
CN102521356A (zh) | 基于确定有限状态自动机的正则表达式匹配设备和方法 | |
CN101833511B (zh) | 数据管理方法、装置和系统 | |
CN103246549A (zh) | 一种数据转存的方法及系统 | |
CN107423321B (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN102004787A (zh) | 基于办公软件插件的多应用场景表单合并的方法 | |
CN107798035A (zh) | 一种数据处理方法及终端 | |
CN111245907B (zh) | 一种基于规则匹配的事件处理方法及系统 | |
CN102982147B (zh) | 一种提高数据信息整合效率的方法和装置 | |
CN106407226B (zh) | 一种数据处理方法、备份服务器及存储系统 | |
CN101727199A (zh) | 一种输入方法和输入装置 | |
CN102257498B (zh) | 配置文件的注释生成方法及配置文件生成设备 | |
CN108241639B (zh) | 一种数据去重方法 | |
CN103207916A (zh) | 元数据处理的方法和装置 | |
CN110413724B (zh) | 一种数据检索方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20091118 |