CN103198132B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN103198132B CN103198132B CN201310125933.9A CN201310125933A CN103198132B CN 103198132 B CN103198132 B CN 103198132B CN 201310125933 A CN201310125933 A CN 201310125933A CN 103198132 B CN103198132 B CN 103198132B
- Authority
- CN
- China
- Prior art keywords
- date
- primary key
- data
- data record
- day
- 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
- 238000003672 processing method Methods 0.000 title abstract description 8
- 238000006243 chemical reaction Methods 0.000 claims description 61
- 238000000034 method Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 8
- 238000013479 data entry Methods 0.000 abstract 2
- 230000008859 change Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 238000004140 cleaning Methods 0.000 description 12
- 238000011068 loading method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法和装置,涉及数据仓库领域。本发明通过对数据源中的数据记录标注主键标志和参与次主键运算标志,根据标注有参与次主键运算标志的字段生成次主键,通过次主键识别数据记录中的受关注的数据项字段是否发生改变,无须对数据字段作逐个判断,从而提高了数据变化的识别效率;并且,在数据记录中引入开始/有效/结束日期,分别表示受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间,当次主键变化时,说明数据记录发生变化,相应地更新数据记录及其开始/有效/结束日期,确保数据记录条数即是数据变化的次数,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
Description
技术领域
本发明涉及数据仓库领域,特别涉及一种数据处理方法和装置。
背景技术
数据仓库中多渠道的数据来源导致相似重复记录增多,严重影响数据利用效率和决策质量。相似重复记录的检测和消除成为数据仓库、知识发现等领域的热点研究问题。
数据记录变化指的是主键相同而部分非主键列或者全部非主键列的值发生了变化。目前采用逐个判断数据字段的方法,来识别数据记录是否发生变化。在数据字段较多的情况下,需要进行多次判断才能识别出数据记录是否发生变化,因此,数据变化的识别效率较低。
并且,目前采用一种基于距离的聚类算法进行重复数据筛选的方法,该方法无法识别数据的变化过程。
基于目前数据仓库领域存在的数据变化识别效率较低以及无法识别数据变化过程的问题,现有技术还没有相应的解决方案。
发明内容
本发明实施例所要解决的一个技术问题是:数据变化识别效率较低以及无法识别数据变化过程的问题。
本发明实施例的一个方面提供了一种数据处理方法,包括:对数据源中的数据记录标注主键标志和参与次主键运算标志;根据标注有参与次主键运算标志的字段生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变;在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间;根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换。
本发明实施例的另一个方面提供了一种数据处理装置,包括:标注单元,用于对数据源中的数据记录标注主键标志和参与次主键运算标志;次主键生成单元,用于根据标注有参与次主键运算标志的字段生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变;日期形成单元,用于在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间;数据转换单元,用于根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换。
本发明通过对数据源中的数据记录标注主键标志和参与次主键运算标志,根据标注有参与次主键运算标志的字段生成次主键,通过次主键识别数据记录中的受关注的数据项字段是否发生改变,无须对数据字段作逐个判断,从而提高了数据变化的识别效率;并且,在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间,当次主键变化时,说明数据记录发生变化,相应地更新数据记录及其开始日期、有效日期和结束日期,确保数据记录条数即是数据变化的次数,这种方法记录的历史数据,用某一个日期进行数据匹配时,在相同主键的记录中只能匹配到一条数据,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明针对ETL的清洗加载转换过程的原理示意图。
图2为本发明断点转换算法原理示意图。
图3为本发明数据处理方法一个实施例的流程示意图。
图4为本发明数据处理装置一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决数据变化识别效率较低以及无法识别数据变化过程的问题,本发明提出一种ETL(Extraction-Transformation-Loading,提取、转换和加载)过程的数据处理方法。ETL过程负责将分布的、异构数据源中的数据,如关系数据、平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
图1为本发明针对ETL的清洗加载转换过程的原理示意图。如图1所示,对数据源进行清洗,并保存到临时文件,将临时文件中的内容加载到临时数据库,经过一定的转换算法,如正常转换算法、重复转换算法、断点转换算法等,保持到目标数据库。
其中的清洗功能:可以采用java实现,用于完成源数据记录或者数据文本的读取,并按清洗规则(本发明使用清洗策略描述)对数据记录进行逐条处理生成次主键,并生成清洗后的数据记录或者数据文本。
其中的加载功能:可以采用java实现,通过加载算法的解析和执行,完成清洗后数据记录或者数据文本的进入临时数据库。
其中的转换功能:可以采用java实现,用于转换算法的解析和执行,完成临时数据的转换,并到目标数据库的入库过程。
下面对图1中所涉及的各部分进行详细说明。
(1)数据源描述
数据源是指即将进入数据仓库的各个业务系统的数据。数据源描述是描述数据源表或文件清洗所需的属性和规则,本发明中可以采用excel格式进行描述,易于对描述内容进行扩充。数据源描述的主要内容包括:字段名、字段中文名、字段类型、字段长度、主键标志、参与次主键运算标志、其他清洗规则项。
表1为采用excel格式进行数据源描述的一个示例。如表1所示,根据主键标志Y,ID为主键;根据参与次主键运算标志Y,ID、ACTNUM、BCBACT、BNKACT、STRUSEFLG为参与次主键运算的字段。
需要说明的是,参与次主键运算的字段通常包括主键和受关注的数据项字段,其中受关注的数据项字段可以是一个或多个,可以根据实际需求灵活设置。例如,在表1中,ID为主键,ACTNUM、BCBACT、BNKACT、STRUSEFLG为受关注的数据项字段。
表1
(2)算法生成器
可以采用java实现,用于数据源描述的读取和解析,生成清洗、加载、转换功能所需的清洗策略描述、加载算法和转换算法。
(3)清洗策略描述
由算法生成器读取和解析excel格式的数据源描述,生成格式基于XML,内容包括字段名、字段中文名、字段类型、字段长度、主键标志、参与次主键运算标志、其他清洗规则项等内容。
清洗功能依据清洗策略描述对记录进行清洗,并根据所有标注有参与次主键运算标志的字段生成次主键,并将次主键添加到数据记录中。具体地,次主键生成方法为:根据原始数据记录(主键相同的数据记录中开始日期最早的记录)中的主键和受关注的数据项字段,生成次主键的初始值,当受关注的数据项字段的内容发生变化时,改变次主键的值,保持主键的值不变。可见,通过次主键识别数据记录中的受关注的数据项字段是否发生改变,无须对数据字段作逐个判断,从而提高了数据变化的识别效率。
(4)加载算法
基于数据库加工模式,由算法生成器根据目标数据库的产品类型自动生成基于数据库的数据入库脚本,加载算法包括加载前的临时表创建和文件的加载入库两个步骤,例如:当数据库是sybase ase时,算法生成器会按照sybase ase的bcp语法标准生成加载算法;当数据库是sybaseIQ时,算法生成器会按照IQ的load data语法标准生成加载算法。
(5)转换算法
由算法生成器根据目标数据库的产品类型的数据库语法生成,通过记录数据的变化过程完成历史数据的积累。转换算法主要包括正常转换算法、重复转换算法、断点转换算法。
本发明提出了一种基于次主键的数据记录方法,该方法在包括主键和次主键的数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间。当数据一直未变化时,只需记录一条数据;当数据发生变化时,需要记录的数据条数即是数据变化的次数。这种方法记录的历史数据,用某一个日期进行数据匹配时,在相同主键的记录中只能匹配到一条数据,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
下面对基于次主键的数据记录方法进行举例说明。假设一个数据记录主键为P,次主键在F,数据列有A和B,其中P和A参与次主键运算,完成2013-4-1至2013-4-30的数据累积。
情况1:该数据一直未发生变化,则本发明记录1条数据为:
主键 | A | B | 次主键 | 开始日期 | 有效日期 | 结束日期 |
P | A1 | B1 | F1 | 2013-4-1 | 2013-4-30 | 2999-12-31 |
需要说明的是,对于结束日期为当前日期之后的预设日期(在本发明中用E’表示),通常将E’设置为远大于当前日期的一个日期,例如,2999-12-31,如果结束日期为E’,则表示该数据记录没有结束。
情况2:在2013-4-3日A列数据发生变化,则本发明记录2条数据:
主键 | A | B | 次主键 | 开始日期 | 有效日期 | 结束日期 |
P | A1 | B1 | F1 | 2013-4-1 | 2013-4-2 | 2013-4-2 |
P | A2 | B1 | F2 | 2013-4-3 | 2013-4-30 | 2999-12-31 |
情况3:在2013-4-3日和2013-4-15日A列数据发生变化,则本发明记录3条数据:
主键 | A | B | 次主键 | 开始日期 | 有效日期 | 结束日期 |
P | A1 | B1 | F1 | 2013-4-1 | 2013-4-2 | 2013-4-2 |
P | A2 | B1 | F2 | 2013-4-3 | 2013-4-14 | 2013-4-14 |
P | A3 | B1 | F3 | 2013-4-15 | 2013-4-30 | 2999-12-31 |
情况4:A列数据一直未变化,B列数据变化,由于B列不参与次主键运算,故认为数据未发生变化,记录数据1条,B列记录最后一次B列的值:
主键 | A | B | 次主键 | 开始日期 | 有效日期 | 结束日期 |
P | A1 | B2 | F1 | 2013-4-1 | 2013-4-30 | 2999-12-31 |
后续,可以根据主键、次主键、开始日期、有效日期和结束日期,结合一定的转换算法(如正常转换算法、重复转换算法、断点转换算法)对数据记录进行数据转换。下面对转换算法进行说明。
正常转换算法
按照数据发生的日期顺序并连续地进行转换入库。根据正常转换算法进行数据转换的过程如下:
将第n天的数据记录描述为Rn(P,Fn,Sn,Vn,En),第n-1天的数据记录描述为:Rn-1(P,Fn-1,Sn-1,Vn-1,En-1)。P表示主键,F表示次主键,带下角标的F表示某一天记录的次主键,例如,Fn表示第n天记录的次主键,Fn-1表示第n-1天记录的次主键,S表示开始日期,V表示有效日期,E表示结束日期,数据记录的描述R表示数据记录包括数据项P、F、S、V、E;n表示当前日期,n-1表示当前日期的前一天。S、V、E、R带小角标的含义与F带下角标的含义相同,例如,Sn表示第n天记录的开始日期,这里不再一一赘述。
第一步:当前日期与其前一天的次主键进行比较,即比较Fn和Fn-1。如果Fn=Fn-1,则跳转到第二步;如果Fn≠Fn-1,则跳转到第三步。
第二步:删除数据Rn-1,新建一条数据记录,开始日期为Sn-1,有效日期为n,结束日期为E’(E’为当前日期之后的预设日期,通常将E’设置为远大于当前日期的一个日期,例如,2999-12-31,如果结束日期为E’,则表示该数据记录没有结束),其他数据列不变,新建的数据记录可以描述为Rn(P,Fn-1,Sn-1,n,E’),算法结束。
第三步:更新数据记录Rn-1的有效日期为当前日期的前一天n-1,结束日期为当前日期的前一天n-1,即更新后的数据记录可以描述为Rn-1(P,Fn-1,Sn-1,n-1,n-1);然后继续执行第四步。
第四步:新建一条数据记录Rn,其开始日期为当前日期n,有效日期为当前日期n,结束日期为E’,即新建的数据记录可以描述为Rn(P,Fn,n,n,E’),算法结束。
重复转换算法
已经完成了转换处理的数据再进行相同日期的一次或者多次转换。根据重复转换算法进行数据转换的过程如下:
第一步:将数据记录恢复到当前日期的前一天的状态,即扫描所有已转换数据中开始日期、有效日期包含当前日期,结束日期为当前日期的前一天的数据记录。
如果此时的开始日期是当前日期,删除该数据记录;
如果此时的有效日期是当前日期,修改有效日期为当前日期的前一天;
如果此时的结束日期为当前日期的前一天,修改结束日期为E’,E’例如可以是2999-12-31。
第二步:继续使用“正常转换算法”,即可完成转换。
断点转换算法
当前日期的前、后日期数据都已经入库的情况下进行的当前日期数据的转换。如图2所示,根据断点转换算法进行数据转换的过程如下:
本算法的核心设计和实现思路如下图:(F代表次主键)
情况1:如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天和其后一天的次主键相同,则数据记录不需要更改。
情况2:如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天或其后一天的次主键不同,实际数据从当日前一天、当日、当日后一天发生了3次变化,因此把原来的一条记录更新为3条记录,记录方式为:将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天。
情况3:如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键相同、与其后一天的次主键不同,则将前一天数据记录的有效日期和结束日期改为当前日期;
情况4:如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天和后一天的次主键都不同,则将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天。
情况5:如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键不同,与其后一天的次主键相同,则将后一天数据记录的开始日期改为当前日期。
基于上述ETL过程,本发明提出了一种数据处理方法,如图3所示,该方法包括以下步骤:
步骤301,对数据源中的数据记录标注主键标志和参与次主键运算标志。
步骤302,根据标注有参与次主键运算标志的字段生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变。
其中,标注有参与次主键运算标志的字段包括:标注有主键标志的主键和受关注的数据项字段。
则根据标注有参与次主键运算标志的字段生成次主键的一种方法为:根据原始数据记录中的主键和受关注的数据项字段,生成次主键的初始值,其中的原始数据记录是指主键相同的数据记录中开始日期最早的记录;当受关注的数据项字段的内容发生变化时,改变次主键的值,保持主键的值不变。
步骤303,在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间。
当数据一直未变化时,只需记录一条数据;当数据发生变化时,需要记录的数据条数即是数据变化的次数。这种方法记录的历史数据,用某一个日期进行数据匹配时,在相同主键的记录中只能匹配到一条数据,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
其中,开始日期、有效日期和结束日期的变化可以参考前述,这里不再赘述。
步骤304,根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换。
其中,数据转换可以采用前述的正常转换算法、重复转换算法、或者断点转换算法,具体转换过程参考前述,这里不再赘述。
上述实施例,通过对数据源中的数据记录标注主键标志和参与次主键运算标志,根据标注有参与次主键运算标志的字段生成次主键,通过次主键识别数据记录中的受关注的数据项字段是否发生改变,无须对数据字段作逐个判断,从而提高了数据变化的识别效率;并且,在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间,当次主键变化时,说明数据记录发生变化,相应地更新数据记录及其开始日期、有效日期和结束日期,确保数据记录条数即是数据变化的次数,这种方法记录的历史数据,用某一个日期进行数据匹配时,在相同主键的记录中只能匹配到一条数据,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
本发明提出了一种数据处理装置,如图4所示,该装置包括:
标注单元401,用于对数据源中的数据记录标注主键标志和参与次主键运算标志;
次主键生成单元402,用于根据标注有参与次主键运算标志的字段生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变;
日期形成单元403,用于在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间;
数据转换单元404,用于根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换。
其中,标注有参与次主键运算标志的字段包括:标注有主键标志的主键和受关注的数据项字段。
次主键生成单元402,具体用于根据原始数据记录中的主键和受关注的数据项字段,生成次主键的初始值,其中的原始数据记录是指主键相同的数据记录中开始日期最早的记录;当受关注的数据项字段的内容发生变化时,改变次主键的值,保持主键的值不变。
其中,受关注的数据项字段有一个或多个。
一种情况下,数据转换单元可以根据正常转换算法进行数据转换,具体地,数据转换单元404,具体用于:将第n天的数据记录描述为Rn(P,Fn,Sn,Vn,En),第n-1天的数据记录描述为:Rn-1(P,Fn-1,Sn-1,Vn-1,En-1);比较Fn和Fn-1;如果Fn=Fn-1,删除数据记录Rn-1,新建一条数据记录,描述为Rn(P,Fn-1,Sn-1,n,E’);如果Fn≠Fn-1,更新数据记录Rn-1(P,Fn-1,Sn-1,n-1,n-1),新建一条数据记录,描述为Rn(P,Fn,n,n,E’);其中,P表示主键,F表示次主键,S表示开始日期,V表示有效日期,E表示结束日期,数据记录的描述R表示数据记录包括数据项P、F、S、V、E;n表示当前日期,n-1表示当前日期的前一天,E’表示当前日期n之后的预设日期,如果结束日期为E’,则表示该数据记录没有结束。
再一种情况下,数据转换单元可以根据重复转换算法进行数据转换,具体地,数据转换单元404在比较Fn和Fn-1之前还用于:将数据记录恢复到当前日期的前一天的状态;如果此时的开始日期是当前日期,删除该数据记录;如果此时的有效日期是当前日期,修改有效日期为当前日期的前一天;如果此时的结束日期为当前日期的前一天,修改结束日期为E’。
另一种情况下,数据转换单元可以根据断点转换算法进行数据转换,具体地,数据转换单元404,具体用于:
如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天和其后一天的次主键相同,则数据记录不需要更改;
或者,如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天或其后一天的次主键不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键相同、与其后一天的次主键不同,将前一天数据记录的有效日期和结束日期改为当前日期;
或者,如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天和后一天的次主键都不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键不同,与其后一天的次主键相同,将后一天数据记录的开始日期改为当前日期。
上述实施例,通过对数据源中的数据记录标注主键标志和参与次主键运算标志,根据标注有参与次主键运算标志的字段生成次主键,通过次主键识别数据记录中的受关注的数据项字段是否发生改变,无须对数据字段作逐个判断,从而提高了数据变化的识别效率;并且,在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间,当次主键变化时,说明数据记录发生变化,相应地更新数据记录及其开始日期、有效日期和结束日期,确保数据记录条数即是数据变化的次数,这种方法记录的历史数据,用某一个日期进行数据匹配时,在相同主键的记录中只能匹配到一条数据,因此不仅可以记录历史数据变化情况,而且可以使数据记录数达到最小。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,包括:
对数据源中的数据记录标注主键标志和参与次主键运算标志;其中,标注有参与次主键运算标志的字段包括:标注有主键标志的主键和受关注的数据项字段;
根据主键以及受关注的数据项字段的内容是否发生变化生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变;
在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间;
根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换;
所述根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换包括:
将第n天的数据记录描述为Rn(P,Fn,Sn,Vn,En),第n-1天的数据记录描述为:Rn-1(P,Fn-1,Sn-1,Vn-1,En-1);
比较Fn和Fn-1;
如果Fn=Fn-1,删除数据记录Rn-1,新建一条数据记录,描述为Rn(P,Fn-1,Sn-1,n,E’);
如果Fn≠Fn-1,更新数据记录Rn-1(P,Fn-1,Sn-1,n-1,n-1),新建一条数据记录,描述为Rn(P,Fn,n,n,E’);
其中,P表示主键,F表示次主键,S表示开始日期,V表示有效日期,E表示结束日期,数据记录的描述R表示数据记录包括数据项P、F、S、V、E;n表示当前日期,n-1表示当前日期的前一天,E’表示当前日期n之后的预设日期,如果结束日期为E’,则表示该数据记录没有结束。
2.根据权利要求1所述的方法,其特征在于,
所述生成次主键包括:
根据原始数据记录中的主键和受关注的数据项字段,生成次主键的初始值,其中的原始数据记录是指主键相同的数据记录中开始日期最早的记录;
当受关注的数据项字段的内容发生变化时,改变次主键的值,保持主键的值不变。
3.根据权利要求1或2所述的方法,其特征在于,所述受关注的数据项字段有一个或多个。
4.根据权利要求1所述的方法,其特征在于,在比较Fn和Fn-1之前还包括:
将数据记录恢复到当前日期的前一天的状态;如果此时的开始日期是当前日期,删除该数据记录;如果此时的有效日期是当前日期,修改有效日期为当前日期的前一天;如果此时的结束日期为当前日期的前一天,修改结束日期为E’。
5.根据权利要求1所述的方法,其特征在于,所述根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换包括:
如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天和其后一天的次主键相同,则数据记录不需要更改;
或者,
如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天或其后一天的次主键不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键相同、与其后一天的次主键不同,将前一天数据记录的有效日期和结束日期改为当前日期;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天和后一天的次主键都不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键不同,与其后一天的次主键相同,将后一天数据记录的开始日期改为当前日期。
6.一种数据处理装置,包括:
标注单元,用于对数据源中的数据记录标注主键标志和参与次主键运算标志;其中,标注有参与次主键运算标志的字段包括:标注有主键标志的主键和受关注的数据项字段;
次主键生成单元,用于根据主键以及受关注的数据项字段的内容是否发生变化生成次主键,并将该次主键添加到该数据记录中,次主键用于识别数据记录中的受关注的数据项字段是否发生改变;
日期形成单元,用于在数据记录中引入开始日期、有效日期和结束日期,分别表示数据记录中的受关注的数据项字段开始出现的时间、持续有效的时间和结束的时间;
数据转换单元,用于根据标注有主键标志的主键、次主键、开始日期、有效日期和结束日期,对数据记录进行数据转换,包括:
将第n天的数据记录描述为Rn(P,Fn,Sn,Vn,En),第n-1天的数据记录描述为:Rn-1(P,Fn-1,Sn-1,Vn-1,En-1);
比较Fn和Fn-1;
如果Fn=Fn-1,删除数据记录Rn-1,新建一条数据记录,描述为Rn(P,Fn-1,Sn-1,n,E’);
如果Fn≠Fn-1,更新数据记录Rn-1(P,Fn-1,Sn-1,n-1,n-1),新建一条数据记录,描述为Rn(P,Fn,n,n,E’);
其中,P表示主键,F表示次主键,S表示开始日期,V表示有效日期,E表示结束日期,数据记录的描述R表示数据记录包括数据项P、F、S、V、E;n表示当前日期,n-1表示当前日期的前一天,E’表示当前日期n之后的预设日期,如果结束日期为E’,则表示该数据记录没有结束。
7.根据权利要求6所述的装置,其特征在于,
次主键生成单元,具体用于根据原始数据记录中的主键和受关注的数据项字段,生成次主键的初始值,其中的原始数据记录是指主键相同的数据记录中开始日期最早的记录;当受关注的数据项字段的内容发生变化时,改变次主键的值,保持主键的值不变。
8.根据权利要求6或7所述的装置,其特征在于,所述受关注的数据项字段有一个或多个。
9.根据权利要求6所述的装置,其特征在于,所述数据转换单元在比较Fn和Fn-1之前还用于:
将数据记录恢复到当前日期的前一天的状态;如果此时的开始日期是当前日期,删除该数据记录;如果此时的有效日期是当前日期,修改有效日期为当前日期的前一天;如果此时的结束日期为当前日期的前一天,修改结束日期为E’。
10.根据权利要求6所述的装置,其特征在于所述数据转换单元,具体用于:
如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天和其后一天的次主键相同,则数据记录不需要更改;
或者,
如果当前日期的前一天和后一天的次主键相同,并且当前日期的次主键与其前一天或其后一天的次主键不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键相同、与其后一天的次主键不同,将前一天数据记录的有效日期和结束日期改为当前日期;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天和后一天的次主键都不同,将前一天数据记录的有效日期和结束日期都更新为前一天;新增一条数据记录,其开始日期、有效日期、结束日期都是当前日期;将后一天数据记录的开始日期改为后一天;
或者,
如果当前日期的前一天和后一天的次主键不同,并且当前日期的次主键与其前一天的次主键不同,与其后一天的次主键相同,将后一天数据记录的开始日期改为当前日期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310125933.9A CN103198132B (zh) | 2013-04-12 | 2013-04-12 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310125933.9A CN103198132B (zh) | 2013-04-12 | 2013-04-12 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103198132A CN103198132A (zh) | 2013-07-10 |
CN103198132B true CN103198132B (zh) | 2016-09-28 |
Family
ID=48720689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310125933.9A Active CN103198132B (zh) | 2013-04-12 | 2013-04-12 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103198132B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446976A (zh) * | 2014-06-25 | 2016-03-30 | 北大方正集团有限公司 | 业务表的处理方法及装置 |
CN104750787B (zh) * | 2015-03-12 | 2018-10-12 | 国家电网公司 | 数据集成处理系统和集成处理方法 |
CN106155995B (zh) * | 2015-04-16 | 2019-07-12 | 上海爱韦讯信息技术股份有限公司 | 基于fog数据的数据项编写系统及方法 |
CN106569731B (zh) * | 2015-10-10 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN105721256B (zh) * | 2016-04-25 | 2019-05-03 | 北京威努特技术有限公司 | 一种分布式部署审计平台的审计数据去重方法 |
CN109921970B (zh) * | 2019-03-14 | 2021-06-29 | 北京经纬恒润科技股份有限公司 | 一种数据处理方法及系统 |
CN110688395A (zh) * | 2019-10-18 | 2020-01-14 | 政采云有限公司 | 一种信息查询方法、装置、信息统计方法及相关设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1591916B1 (en) * | 2004-04-26 | 2013-11-06 | Sap Ag | Method, computer program and device for deleting data sets contained in a table system |
US20070143250A1 (en) * | 2005-12-20 | 2007-06-21 | Beckman Coulter, Inc. | Adaptable database system |
CN100576203C (zh) * | 2005-12-31 | 2009-12-30 | 中国工商银行股份有限公司 | 多表连接方法 |
CN100383793C (zh) * | 2006-03-17 | 2008-04-23 | 华为技术有限公司 | 一种在实时数据库中实现更新数据的方法和系统 |
EP2079020B1 (en) * | 2008-01-03 | 2013-03-20 | Accenture Global Services Limited | System amd method for automating ETL applications |
CN102096663A (zh) * | 2009-12-14 | 2011-06-15 | 深圳速浪数字技术有限公司 | 一种数据表编辑方法及数据库服务器 |
CN102135995A (zh) * | 2011-03-17 | 2011-07-27 | 新太科技股份有限公司 | 一种etl数据清洗设计方法 |
-
2013
- 2013-04-12 CN CN201310125933.9A patent/CN103198132B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103198132A (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198132B (zh) | 数据处理方法和装置 | |
US8078570B2 (en) | Versioning data warehouses | |
US8086548B2 (en) | Measuring document similarity by inferring evolution of documents through reuse of passage sequences | |
Agarwal et al. | Approximate incremental big-data harmonization | |
US11037096B2 (en) | Delivery prediction with degree of delivery reliability | |
US8473955B2 (en) | Reducing processing overhead and storage cost by batching task records and converting to audit records | |
CN102012857B (zh) | 一种对Web页面进行自动化测试的装置及方法 | |
CN106991100B (zh) | 数据导入方法及装置 | |
CN103942220A (zh) | 一种适用于it运维系统的工单智能关联知识库知识的方法 | |
Raś et al. | From data to classification rules and actions | |
CN107168868B (zh) | 一种基于采样和集成学习的软件更改缺陷预测方法 | |
CN102122280A (zh) | 一种智能提取内容对象的方法及系统 | |
US10444742B2 (en) | Material recommendation apparatus | |
CN113268667B (zh) | 一种基于中文评论情感引导的序列推荐方法及系统 | |
CN115358643B (zh) | 一种基于消息的上下游单据的生成方法、装置及存储介质 | |
US10146881B2 (en) | Scalable processing of heterogeneous user-generated content | |
CN110990055B (zh) | 一种基于程序分析的Pull Request功能分类方法 | |
CN107169003B (zh) | 一种数据关联方法及装置 | |
Machanavajjhala et al. | Collective extraction from heterogeneous web lists | |
CN112364169B (zh) | 基于nlp的wifi识别方法、电子设备和介质 | |
CN112184321A (zh) | 一种客户数据快速筛选方法、装置及系统 | |
CN116579422A (zh) | 标准数字化转型方法、模块及标准数据治理信息服务系统 | |
CN103970792A (zh) | 一种基于索引进行文件比对的方法和装置 | |
US11822563B2 (en) | Scoring potential actions for machine learning based recommendations | |
CN112115362B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |