CN106855862A - 一种快速比较方法及装置 - Google Patents
一种快速比较方法及装置 Download PDFInfo
- Publication number
- CN106855862A CN106855862A CN201510901012.6A CN201510901012A CN106855862A CN 106855862 A CN106855862 A CN 106855862A CN 201510901012 A CN201510901012 A CN 201510901012A CN 106855862 A CN106855862 A CN 106855862A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- value
- key assignments
- field
- 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
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/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种快速比较方法及装置,包括:根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。解决了现有技术中比较方法耗时很长、且会占用大量数据库资源,严重时还会因为占用大量的数据库资源而导致系统内存溢出,从而影响系统的正常使用的问题。
Description
技术领域
本发明涉及大规模数据比较领域,尤其涉及一种快速比较方法及装置。
背景技术
在电信软件计费系统的研发过程中,按照运营商规范,完成计费软件新版本、新需求开发测试。新版系统割接上线时,必须用新老版本计费系统,分别处理若干天全省用户通信记录,然后对处理结果进行分析。验证新研发版本,是否兼容先前版本,并且支持研发新功能。
BOSS(Business and Operation Support System,BOSS)指的是业务运营支撑系统。BOSS系统输出结果的比对分析中,需确定新版本系统中,参数表、资料表、清单表、帐单表等,是否兼容老系统数据表,这些表数据量普遍较大。需要对新老版本中的同一数据表进行数据比对,从而确定新版本的BOSS系统中的数据表是否和老版本的BOSS系统中的数据表一致。
现有的数据表的比较方法为:从新BOSS系统中获取一个数据表A’,从老版本的BOSS系统中获取与数据表A’对应的数据表A;从数据表A’中获取一个唯一标识该表中的一条记录的键值a,其中,一条记录中包含多个字段;逐个比对数据表A中是否存在键值a,如果存在,比较数据表A’的键值a对应的记录中的字段与数据表A的键值a对应的记录中的字段。
这数据表比较方法需要用数据表A’中的一条记录(对应一个键值)逐条比对另一数据表A中的每条记录,直到在数据表A中找到与相同的键值为止。当遇到数据量较大的数据表时,这种比较方法耗时很长、且会占用大量数据库资源,严重时还会因为占用大量的数据库资源而导致系统内存溢出,从而影响系统的正常使用。
发明内容
本发明提一种快速比较方法及装置,用以解决现有技术中比较方法耗时很长、且会占用大量数据库资源,严重时还会因为占用大量的数据库资源而导致系统内存溢出,从而影响系统的正常使用的问题。
本发明实施例提供一种快速比较方法,包括:根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
本发明实施例由于确定了第一比较数据表与第二比较数据表,第一比较数据表中与第二比较数据表中具有相同键值的记录对应了起来,避免了现有技术中的需要根据一个表中的键值查找另一表中相同键值的步骤,提高了比较速率,减少了比较次数,从而达到系统资源消耗和及时性平衡的目的,减少数据表的比较耗时,节省数据库资源,并满足数据比较时效性要求。
进一步地,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
本发明上述实施例中,将所有组中不相同的值对应的键值以及键值对应的所有字段和字段的值转移到第三数据表中可以利用第三数据表分析第一比较表与第二比较表的原因,并且可以在比较后再集中分析产生第三数据表的原因,加快了比较速度。
进一步地,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同得目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
本发明上述实施例中,可以对目标字段设置优先级,对于所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值,步长值即为优先级,也就是说将不相同的值的组对应的目标字段的优先级提高,以便对后续分区进行调整时,按照新的目标字段的优先级进行比较,从而提高比较速度。
进一步地,根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表,包括:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值;
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
本发明上述实施例中,在进行全外连接后,将第一数据表中与第二数据表具有相同键值,以及键值对应的字段及字段值组成第一比较数据表,同理,组成第二数据表,以使在后续比较的时候能够获得第一比较数据表与第二比较数据表中键值相等的对应键值,减少了比较的数据量。
进一步地,将需要进行比较的第一数据表与第二数据表进行全外连接之后,还包括:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于所述第三数据表中。
本发明上述实施例中,将第一数据表与第二数据表中有的数据而第一比较数据表与第二比较数据表没有的数据移到第三数据表,第三数据表在预设空间内,既可以减少在后续比较中第一比较数据表与第二比较数据表中都有对应的键值相等的键值,又可以在预设空间内调用第三数据表分析导致第一数据表与第一比较数据表不同的原因,第二数据表与第二比较数据表不同的原因,由于第三数据表存储于预设空间中,减少了使用服务进行服务器访问系统全局区的次数,并且减少了对CPU资源的占用。
本发明实施例提供一种快速比较装置,包括:确定单元,用于根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;分区单元,用于按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;比较单元,用于针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
进一步地,所述比较单元,还用于:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
进一步地,所述比较单元,还用于:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
进一步地,所述确定单元,还用于:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值,
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
进一步地,所述确定单元,还用于:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种比较方法的流程示意图;
图2为本发明实施例提供的一种比较方法的流程示意图;
图3为本发明实施例提供的一种比较装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种快速比较方法,包括:根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
下面结合说明书附图对本发明实施例作进一步详细描述。
本发明实施例提供一种快速比较方法,如图1所示,其中:
步骤S101,根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;
步骤S102,按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;
步骤S103,针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
在本发明上述实施例中,第一数据表可以是新系统的数据表,也可以是老版本的数据表,同样的,第二数据表可以是新系统的数据表,也可以是老版本的数据表。第一数据表是新系统的数据表时,第二数据表为老版本的数据表,第二数据表是新系统的数据表时,第一数据表为老版本的数据表。
在本发明上述实施例中,以表1为例,在表1中,学生编号为主键,则学生编号对应的1即为键值,而学生编号对应的6个属性,则称为字段,6个字段对应的信息就是字段值,在表10中,姓名、性别、年龄等字段对应的李X、男、20就是字段值。
学生编号 | 姓名 | 性别 | 年龄 | 专业 | 家庭住址 | 电话 |
1 | 李X | 男 | 20 | XX | XXX | 15XXXX |
表1学生文件的记录结构
其中,在步骤S101中,根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表,包括:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值,
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
在本发明上述实施例中,全外连接就是将第一数据表与第二数据表中的内容对应起来,下面举例说明,第一数据表中的内容见表2,第二数据表中的内容见表3:
用户ID | 短信收费 | 彩信收费 | 语音收费 | 数据收费 |
1 | 5 | 3 | 32 | 40 |
2 | 3 | 22 | 5 | 26 |
3 | 13 | 5 | 32 | 18 |
4 | 23 | 28 | 14 | 15 |
表2为第一数据表的数据内容
用户ID | 短信收费 | 彩信收费 | 语音收费 | 数据收费 |
1 | 5 | 3 | 32 | 40 |
2 | 3 | 22 | 18 | 26 |
4 | 23 | 28 | 14 | 15 |
5 | 15 | 8 | 29 | 26 |
表3为第二数据表的数据内容
则将第一数据表与第二数据表进行全外连接后,得到的结果如表4所示:
表4为第一数据表与第二数据表进行全外连接后的结果
其中,在步骤S101中,将需要进行比较的第一数据表与第二数据表进行全外连接之后,还包括:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于所述第三数据表中。
根据上述内容,以及表2、表3、表4中的内容,可以举例说明,根据表4中全外连接的结果,得到第一比较数据表如表5所示,以及第二比较数据表,如表6所示:
用户ID | 短信收费 | 彩信收费 | 语音收费 | 数据收费 |
1 | 5 | 3 | 32 | 40 |
2 | 3 | 22 | 5 | 26 |
4 | 23 | 28 | 14 | 15 |
表5为第一比较数据表的数据内容
用户ID | 短信收费 | 彩信收费 | 语音收费 | 数据收费 |
1 | 5 | 3 | 32 | 40 |
2 | 3 | 22 | 18 | 26 |
4 | 23 | 28 | 14 | 15 |
表6为第二比较数据表的数据内容
在步骤S102中,按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;
可选的,预先划分的时间段可以为设定时长为步长进行分区,例如,第一比较数据表与第二比较数据表都是在2小时内接收到的数据表,则以30分钟为步长条件将第一数据表与第二数据表进行分区,则在前30分钟内接收到的第一比较数据表与第二比较数据表分别划分为一个区,在在30分钟到60分钟划分为另一个区,以此类推,将第一比较数据表与第二比较数据表分别划分为4个区。
如表7所示,表7表示第一比较数据表在两个小时内接收的完整数据表:
表7表示第一比较数据表在两个小时内接收的完整数据表
将第一比较数据表按照时间步长30分钟进行分区,也就是说将第一比较数据表在前30分钟接收到的数据划分为第一组,即用户ID号为1、2、4、5、6对应的键值、字段以及字段值为第一分区;将第一比较表中30分钟到60分钟接收到的数据划分为第二分区,即用户ID号为7、8、9对应的键值、字段以及字段值为第一分区;将第一比较表中60分钟到90分钟接收到的数据划分为第三分区,即用户ID号为10、11对应的键值、字段以及字段值为第三分区;将第一比较表中90分钟到120分钟接收到的数据划分为第四分区,即用户ID号为12、13、14、15对应的键值、字段以及字段值为第四分区
根据以上分区原理,可以对第二比较表同样按照时间步长30分钟进行分区,将第二比较数据在两个小时接收到的数据表划分为四个分区。
其中,在步骤S103中,目标字段是需要进行比较的字段,是根据比较方法的需求可以自行设置的,目标字段的个数至少为一个,并且目标字段也位于第三数据表中,以表5或表6中的内容为例,目标字段至少为一个,可以为短信收费、彩信收费、语音收费、数据收费任一一个为目标字段,也可以是多个,即任意几个的组合。
其中,在步骤S103中,针对同一个时间段的分区就是根据同样的时间划分规则划分的第一比较数据表与第二比较数据表的分区,以上文中的例子来说,就是针对一个30分钟的第一比较数据表与第二比较数据表的分区,并且根据表5与表6中的内容为例,假设表5与表6为第一比较数据表与第二比较数据表在第一个30分钟的分区内容,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较。
以表5与表6中的内容为例,目标字段为彩信收费、语音收费,则将表5、表6中两个键值对应的相同的目标字段的值作为一组,即用户ID值为键值,则将用户ID值相等的对应的相同的目标字段的值作为一组,如表8、表9、表10所示,
1 | 5 | 3 | 32 | 40 |
1 | 5 | 3 | 32 | 40 |
表8为两个键值对应的相同的目标字段的值作为一组的内容
2 | 3 | 22 | 5 | 26 |
2 | 3 | 22 | 18 | 26 |
表9为两个键值对应的相同的目标字段的值作为一组的内容
4 | 23 | 28 | 14 | 15 |
4 | 23 | 28 | 14 | 15 |
表10为两个键值对应的相同的目标字段的值作为一组的内容
目前目标字段的排序为彩信收费、语音收费,按照目前目标字段的排序分别对三组目标字段对应的字段值进行比较。
其中,在步骤S103中,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
以表8、表9、表10为例,比较三组中目标字段的值,首先比较表8这一组中彩信收费对应的字段值,结果是相等的,然后比较表9中语音收费对应的字段值也是相等的;比较表10中彩信收费对应的字段值,结果是相等的,比较语音收费对应的字段值,语音收费对应的字段值不等,则将用户ID为2的键值,以及用户ID为2对应的字段以及字段值都放入第三数据表中;比较表10中彩信收费对应的字段值,结果是相等的,然后比较语音收费对应的字段值也是相等的。
在步骤S103中,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同得目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
在本发明上述实施例中,可选的,在比较开始时,设置目标字段时,每一个目标字段的优先级都是统一的,可以设置为0,当将两个键值对应的相同得目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较,比较结果有不相同的值时,则将不相同的值的组对应的目标字段的优先级加一步长值。步长值可以根据用户需要设定,可以是加一个优先级。
以表9为例,目标字段为彩信收费、语音收费,目标字段的排序也为彩信收费、语音收费,两个目标字段的优先级都是0,则根据表9的比较结果,语音收费字段对应的字段值不一致,则将语音收费字段的优先级加1,则语音收费的优先级就优于彩信收费字段,在第一比较表数据表与第二比较数据表的本次分区比较结束后,即在30分钟分区内比较完毕后,在下一个30分钟分区进行比较时,根据新的目标字段的优先级进行排序,按照排序后的目标字段进行比较,也就是说,下一个分区进行比较时,目标字段的排列顺序为语音收费、彩信收费,并且语音收费的优先级高于彩信收费的优先级。
为了便于本领域技术人员的理解,在此举例说明,本发明实施例提供一种快速比较方法,如图2所示,在本发明实施例中,目标字段为F1、F2、F3、F4....Fn,待比较的第一数据表为T,第二数据表为T`,以第一数据表T与第二数据表T`存放各类业务通话清单为例,两张表中的主键为key,key的值为键值。第一比较数据表为t,第二比较数据表为t‘,将第一比较数据表t和第二比较数据表为t‘按预设时间的步长划分为12个分区,并且分配空间M存放预设字段,分配空间N存放第三数据表。
所述预设字段按照<字段名,优先级>构成,存储结构设计如表11所示:
表11预设字段存储结构设计
在分配空间M中,所有,所有预设字段的优先级初始化为0,所有预设字段初始按照默认顺序进行排序,若预设字段的优先级有变化时,按照按优先级从大到小的顺序进行排列。
步骤S201,对第一数据表T和第二数据表T`进行全外连接,得到第一比较数据表t和第二比较数据表t’;
步骤S202,从第一数据表t和第二比较数据表t‘同一个时间段对应的分区中获取相同的两个键值;
步骤S203,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;
步骤S204,判断每组中的值是否相等,若相等,则执行步骤S202,若不相等,则执行步骤S205;
步骤S205,将同一组中不相等的值对应的所述键值,以及对应的所有字段和字段的值转移到第三数据表中。
在本发明上述实施例中,定义主键、键值、字段、字段值作为一条记录,所以在本发明上述实施例中,获取键值相等的一组记录,从分配空间M中的第一预设字段开始对记录中的字段进行比较,若两条记录中相同字段的字段值不同,则停止比较,将这两条记录存放到第三数据表中,并在分配空间M中该预设字段的优先级加1,在进行下一个分区比较的时候,对预设字段按照优先级进行排序,利用更新排序的预设字段进行比较。
若第三数据表中未写入任何记录,则说明第一数据表T和第二数据表T`完全相同,若第三数据表中有数据,则分析第一数据表T和第二数据表T`不同的原因。
可选的,在本发明实施例中,可以建立第三数据表中数据与对应错误的原因的对应关系,在检测到第三数据表中的错误数据信息时,查找对应的错误类型,以便解决两个数据表中数据不同的问题。
例如第三数据表中出现乱码,则说明新老系统中保存数据的文件格式不一致,可能老系统保存的数据格式为rar,但是新系统保存的格式为txt;
或者第三数据表中保存的是第一数据表中有的键值而第二数据表中没有的键值记录,或者是第二数据表中有的键值而第一数据表中没有的键值记录,是由于旧系统过去有BUG或其他原因,导致部分数据是不完整的,但新系统对该数据可能要求是必填的,所以导致两个数据表中的记录不一致。
基于相同的技术构思,本发明实施例提供一种快速比较装置,如图3所示,包括:
确定单元301,用于根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;
分区单元302,用于按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;
比较单元303,用于针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;其中,所述目标字段为需要进行比较的字段。
进一步地,所述比较单元303,还用于:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
进一步地,所述比较单元303,还用于:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
进一步地,所述确定单元301,还用于:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值,
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
进一步地,所述确定单元301,还用于:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种快速比较方法,其特征在于,所述方法包括:
根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;
按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;
针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;
其中,所述目标字段为需要进行比较的字段。
2.根据权利要求1所述的方法,其特征在于,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
3.根据权利要求2所述的方法,其特征在于,针对同一个时间段的分区中相同的两个键值,将两个键值对应的相同得目标字段的值作为一组,按照目标字段的比较顺序,对每组中的值进行比较之后,还包括:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
4.根据权利要求1~3任一所述的方法,其特征在于,根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表,包括:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值;
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
5.根据权利要求4所述的方法,其特征在于,将需要进行比较的第一数据表与第二数据表进行全外连接之后,还包括:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于所述第三数据表中。
6.一种快速比较装置,其特征在于,包括:
确定单元,用于根据需要进行比较的第一数据表与第二数据表进行全外连接的结果,确定第一比较数据表与第二比较数据表;
分区单元,用于按照预先划分的时间段,分别将所述第一比较数据表和所述第二比较数据表划分为多个分区;
比较单元,用于针对同一个时间段对应的分区中相同的两个键值,将两个键值对应的相同的目标字段的值作为一组,按照当前目标字段的比较顺序,对每组中的值进行比较;
其中,所述目标字段为需要进行比较的字段。
7.根据权利要求6所述的装置,其特征在于,所述比较单元,还用于:
若所有组中的值都相同,则保留所述两个键值;
若所有组中有不相同的值,则将所述两个键值,以及对应的所有字段和字段的值转移到第三数据表中。
8.根据权利要求7所述的装置,其特征在于,所述比较单元,还用于:
若所有组中有不相同的值,则将不相同的值的组对应的目标字段的优先级加一步长值;
根据每个目标字段当前的优先级,对当前目标字段的比较顺序进行调整。
9.根据权利要求6~8任一所述的装置,其特征在于,所述确定单元,还用于:
根据需要进行比较的所述第一数据表与所述第二数据表进行全外连接的结果,确定所述第一数据表与所述第二数据表中相同的键值,
将所述第一数据表中与所述第二数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第一比较数据表,将所述第二数据表中与所述第一数据表中相同的键值、所述键值对应的字段以及字段的值组成所述第二比较数据表。
10.根据权利要求9所述的装置,其特征在于,所述确定单元,还用于:
将所述第一数据表中与所述第二数据表中不同的键值、所述键值对应的字段以及字段的值置于所述第三数据表中;以及
将所述第二数据表中与所述第一数据表中不同的键值、所述键值对应的字段以及字段的值置于所述第三数据表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901012.6A CN106855862B (zh) | 2015-12-08 | 2015-12-08 | 一种快速比较方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901012.6A CN106855862B (zh) | 2015-12-08 | 2015-12-08 | 一种快速比较方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106855862A true CN106855862A (zh) | 2017-06-16 |
CN106855862B CN106855862B (zh) | 2020-09-08 |
Family
ID=59132943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510901012.6A Active CN106855862B (zh) | 2015-12-08 | 2015-12-08 | 一种快速比较方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106855862B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266598A (zh) * | 2019-06-20 | 2019-09-20 | 深圳市网心科技有限公司 | 一种路由信息处理方法、装置、设备及可读存储介质 |
CN110362574A (zh) * | 2019-06-27 | 2019-10-22 | 东软集团股份有限公司 | 数据比对方法、装置、存储介质及电子设备 |
CN112269795A (zh) * | 2020-10-31 | 2021-01-26 | 武汉中海庭数据技术有限公司 | 一种nds数据快速测试和验证的方法 |
CN114490693A (zh) * | 2022-02-17 | 2022-05-13 | 平安普惠企业管理有限公司 | 数据修改方法、装置、电子设备及存储介质 |
CN117120995A (zh) * | 2022-03-24 | 2023-11-24 | 维萨国际服务协会 | 有效连接时间序列数据表的系统、方法和计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188179A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | Encrypted file system using TCPA |
CN103168300A (zh) * | 2010-08-06 | 2013-06-19 | 移动解决方案公司 | 具有外连接的立即实体化视图的增量维护 |
CN104142954A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 一种基于频度分区的数据表比对更新方法与装置 |
CN104731814A (zh) * | 2013-12-23 | 2015-06-24 | 北京宸瑞科技有限公司 | 数据灵活比对分析系统及方法 |
-
2015
- 2015-12-08 CN CN201510901012.6A patent/CN106855862B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188179A1 (en) * | 2002-03-28 | 2003-10-02 | International Business Machines Corporation | Encrypted file system using TCPA |
CN103168300A (zh) * | 2010-08-06 | 2013-06-19 | 移动解决方案公司 | 具有外连接的立即实体化视图的增量维护 |
CN104142954A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 一种基于频度分区的数据表比对更新方法与装置 |
CN104731814A (zh) * | 2013-12-23 | 2015-06-24 | 北京宸瑞科技有限公司 | 数据灵活比对分析系统及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266598A (zh) * | 2019-06-20 | 2019-09-20 | 深圳市网心科技有限公司 | 一种路由信息处理方法、装置、设备及可读存储介质 |
CN110362574A (zh) * | 2019-06-27 | 2019-10-22 | 东软集团股份有限公司 | 数据比对方法、装置、存储介质及电子设备 |
CN110362574B (zh) * | 2019-06-27 | 2022-02-15 | 东软集团股份有限公司 | 数据比对方法、装置、存储介质及电子设备 |
CN112269795A (zh) * | 2020-10-31 | 2021-01-26 | 武汉中海庭数据技术有限公司 | 一种nds数据快速测试和验证的方法 |
CN112269795B (zh) * | 2020-10-31 | 2022-05-13 | 武汉中海庭数据技术有限公司 | 一种nds数据快速测试和验证的方法 |
CN114490693A (zh) * | 2022-02-17 | 2022-05-13 | 平安普惠企业管理有限公司 | 数据修改方法、装置、电子设备及存储介质 |
CN117120995A (zh) * | 2022-03-24 | 2023-11-24 | 维萨国际服务协会 | 有效连接时间序列数据表的系统、方法和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN106855862B (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106855862A (zh) | 一种快速比较方法及装置 | |
CN108009261B (zh) | 一种数据同步方法、装置及电子设备 | |
CN101860449B (zh) | 一种数据查询方法、装置及系统 | |
CN103970870A (zh) | 数据库查询方法和服务器 | |
EP2901344A1 (en) | System and method for flexible distributed massively parallel processing (mpp) database | |
CN110555012A (zh) | 数据迁移方法及装置 | |
CN101446962A (zh) | 一种数据转换方法、装置及数据处理系统 | |
CN110941602B (zh) | 数据库的配置方法、装置、电子设备及存储介质 | |
CN106503108A (zh) | 地理位置检索方法和装置 | |
WO2017092444A1 (zh) | 基于Hadoop的日志数据挖掘方法及系统 | |
CN109388636A (zh) | 业务数据插入数据库方法、装置、计算机设备及存储介质 | |
CN106021512A (zh) | 一种页面刷新方法及装置 | |
CN103389976A (zh) | 用于终端的搜索方法及系统 | |
CN110580255A (zh) | 一种存储并检索数据的方法以及系统 | |
CN106649210A (zh) | 一种数据转换方法及装置 | |
CN106649385B (zh) | 基于HBase数据库的数据排序方法和装置 | |
CN110555034B (zh) | 一种数据查询分页方法、装置、服务器及介质 | |
CN112732711B (zh) | 一种数据存储方法、装置及电子设备 | |
CN108804676B (zh) | 一种帖子排序方法、装置、设备及计算机可读存储介质 | |
CN101639851A (zh) | 一种数据存储、查询的方法和装置 | |
CN113177050A (zh) | 一种数据均衡的方法、装置、查询系统及存储介质 | |
CN106933873A (zh) | 一种跨平台数据查询方法和设备 | |
CN106202374A (zh) | 一种数据处理方法及装置 | |
CN106682107B (zh) | 数据库表关联关系确定方法及装置 | |
CN101799803B (zh) | 信息处理方法、模块及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |