发明内容
本发明的主要目的在于提供一种数据导入处理方法和装置,以解决在执行数据导入时容易丢失数据的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据导入处理方法。该数据导入处理方法包括:在确定执行数据导入后,选择数据导入的起点,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey;以及由数据导入的起点开始导入数据。
进一步地,由数据导入的起点开始导入数据包括:将物料管理系统中需要导入的数据导入临时表;将临时表中非设定时间段内的数据删除;以及将物料管理系统中重复时间段的数据删除。
进一步地,将物料管理系统中需要导入的数据导入临时表包括:判断数据导入的时间起点;选取物料管理系统中的时间起点对应的数据的最大自增长主键和最小自增长主键;以及将最大自增长主键和最小自增长主键对应的区间内的数据导入临时表中。
进一步地,在将最大自增长主键和最小自增长主键对应的区间内的数据导入临时表中之后,将临时表中非设定时间段内的数据删除包括:将最大自增长主键和最小自增长主键对应的区间之外的数据删除。
进一步地,在由数据导入的起点开始导入数据之后,将当前记录的增量起点和重复导入的时间段的最大自增长主键sessionkey比较,判断是否更新增量起点;如果当前记录的增量起点大于重复导入的时间段的最大自增长主键sessionkey,则不更新增量起点;以及如果当前记录的增量起点小于或等于重复导入的时间段的最大自增长主键sessionkey,则更新增量起点。
为了实现上述目的,根据本发明的另一方面,提供了一种数据导入处理装置。该数据导入处理装置包括:选择单元,用于在确定执行数据导入后,选择数据导入的起点,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey;以及导入单元,用于由数据导入的起点开始导入数据。
进一步地,导入单元包括:导入模块,用于将物料管理系统中需要导入的数据导入临时表;第一删除模块,用于将临时表中非设定时间段内的数据删除;以及第二删除模块,用于将物料管理系统中重复时间段的数据删除。
进一步地,导入模块包括:判断子模块,用于判断数据导入的时间起点;选取子模块,用于选取物料管理系统中的时间起点对应的数据的最大自增长主键和最小自增长主键;以及导入子模块,用于将最大自增长主键和最小自增长主键对应的区间内的数据导入所述临时表中。
进一步地,第一删除模块还用于在将最大自增长主键和最小自增长主键对应的区间内的数据导入临时表中之后,将最大自增长主键和最小自增长主键对应的区间之外的数据删除。
进一步地,判断单元,用于在由数据导入的起点开始导入数据之后,将当前记录的增量起点和重复导入的时间段的最大自增长主键sessionkey比较,判断是否更新增量起点;第一处理单元,用于如果当前记录的增量起点大于重复导入的时间段的最大自增长主键sessionkey,则不更新增量起点;以及第二处理单元,用于如果当前记录的增量起点小于或等于重复导入的时间段的最大自增长主键sessionkey,则更新增量起点。
通过本发明,采用在确定执行数据导入后,选择数据导入的起点,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey;以及由数据导入的起点开始导入数据,解决了在执行数据导入时容易丢失数据的问题,进而达到了防止在执行数据导入时丢失数据的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
根据本发明的实施例,提供了一种数据导入处理方法,该数据导入处理方法用于自动导入数据以防止数据导入时丢失数据。需要说明的是,该数据导入处理方法可以运行在计算机处理设备上。
图1是根据本发明第一实施例的数据导入处理方法的流程图。
如图1所示,该方法包括如下的步骤S101至步骤S102:
步骤S101,选择数据导入的起点。
需要说明的是,在本发明实施例中,数据导入是指数据重新导入,即数据由物料收集系统导入到物料管理系统中,物料即是指数据,并且物料收集系统用于收集来自计算机本地、互联网和用户自制的数据等。
在本发明实施例中,在执行步骤S101之前可以先判断是否执行数据导入任务,其中,判断是否执行数据导入任务的依据可以是判断导入数据的时间配置是否改变,当判断出导入数据的时间配置发生改变时,则判断出执行数据导入任务,否则,当判断出导入数据的时间配置未发生改变时,则判断出不执行数据导入任务。在判断出执行数据导入任务时,则确认执行数据导入。在本发明实施例中,导入数据可以是导入一定时间段内的数据,在导入一定时间段内的数据时可以选择数据导入的起点以执行数据导入,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey,自增长主键sessionkey用于表示导入的数据在物料收集系统和物料管理系统中的顺序,自增长主键sessionkey的值可以为连续的阿拉伯数字,并且随着被导入的数据的增加自增长主键sessionkey的值依次递增1,例如,设定第一个被导入数据的自增长主键sessionkey的值为1,则第二个被导入数据的自增长主键sessionkey的值为2,第三个被导入数据的被导入数据的自增长主键sessionkey的值为3等等。
步骤S102,由数据导入的起点开始导入数据。
在本发明实施例中,可以从物料收集系统中选择自增长主键sessionkey的值大于等于数据导入的起点的数据,并将这些数据导入物料管理系统中。
在本发明实施例中,在由数据导入的起点开始导入数据到物料管理系统中之后,将当前物料管理系统中记录的自增长主键sessionkey起点和重复导入的时间段内的最大自增长主键sessionkey的值进行比较,判断是否更新当前物料管理系统中记录的自增长主键sessionkey起点。其中,如果当前记录的增量起点大于重复导入的时间段的最大自增长主键sessionkey,则不更新增量起点,否则如果当前记录的增量起点小于或等于重复导入的时间段的最大自增长主键sessionkey,则更新增量起点,具体地,应将当前物料管理系统中记录的增量起点更新为该时间段的最大自增长主键sessionkey值。
通过本发明,采用在确定执行数据导入后,选择数据导入的起点,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey;以及由数据导入的起点开始导入数据,解决了在执行数据导入时容易丢失数据的问题,进而达到了防止在执行数据导入时丢失数据的效果。
图2是根据本发明第二实施例的数据导入处理方法的流程图。
如图2所示,该数据导入处理方法包括如下的步骤S201至步骤S204,该实施例可以作为图1所示实施例的优选实施方式。
步骤S201,同图1所示实施例的步骤S101,在此不再赘述。
步骤S202,将物料管理系统中需要导入的数据导入临时表。
在本发明实施例中,临时表可以为物料管理系统的一部分,例如,临时表可以为物料管理系统的缓存机构。物料管理系统中需要导入的数据可以根据时间配置中的预设时间段确定,具体地,可以通过以下步骤将物料管理系统中需要导入的数据导入临时表:首先判断数据导入的时间起点,然后根据数据导入的时间起点确定数据导入的预定时间段,再次选取物料管理系统中的预定时间段对应的数据的最大自增长主键和最小自增长主键,接着通过该预设时间段内对应的最大自增长主键sessionkey和最小自增长主键sessionkey从物料收集系统中选择物料管理系统中需要导入的数据的区间,最后在选出物料管理系统中需要导入的数据区间之后,将上述选出的数据区间内的所有数据导入临时表中,其中,上述选出的数据在临时表中可以按照数据对应的自增长主键sessionkey的大小进行存储。
步骤S203,将临时表中非设定时间段内的数据删除。
需要说明的是,预设时间段可以根据具体需要设定,例如,该预设时间段可以为1天。具体地,可以逐条判断临时表中存储的转化数据对应的时间是否为预设时间段内的时间,如果判断出该数据对应的时间为预设时间段内的时间,则在临时表中保留该数据并将该数据导入物料管理系统中,否则判断出如果该数据对应的时间为不是预设时间段内的时间,则在临时表中删除该数据并且不将该数据导入物料管理系统中。
在本发明实施例中,在步骤S202执行完将最大自增长主键和最小自增长主键对应的区间内的数据导入临时表中之后,将临时表中非设定时间段内的数据删除可以包括将最大自增长主键和最小自增长主键对应的区间之外的数据删除,即将自增长主键大于上述最大自增长主键并且小于上述最小自增长主键的sessionkey对应的数据从临时表中删除。
步骤S204,将物料管理系统中重复时间段的数据删除。
在本发明实施例中,可以根据预设时间段将该预设时间段内的时间对应的数据从物料管理系统中删除,优选地,也可以根据预设时间段内对应的最大自增长主键sessionkey和最小自增长主键sessionkey将上述两个sessionkey值之间的sessionkey对应的数据从物料管理系统中删除,这样可以减少查找数据的量,并且可以缩短查找数据的时间,达到了提高查找效率的效果。
需要说明的是,步骤S202和步骤S204的执行顺序可以互换,并且在上述两个步骤互换之后可以实现相同的目的,进而达到相同的效果。
例如,物料管理系统中的数据已经更新至2013年8月份,现在由于种种原因,需要从物料收集系统中重新导入2013年7月1日的数据,这时,系统的时间配置预设时间段即为2013年7月1日的00:00至2013年7月1日24:00,这样,通过本发明的数据导入处理方法可以获取2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey和最小自增长主键sessionkey,并且将最大自增长主键sessionkey和最小自增长主键sessionkey之间的区间段对应的物料收集系统中数据导入到物料管理系统中临时表中,然后将2013年7月1日的00:00至2013年7月1日24:00时间以外的时间对应的数据从临时表中删除,同时将物料管理系统中2013年7月1日的00:00至2013年7月1日24:00时间以内的时间对应的数据从物料管理系统中删除,最后将临时表中的数据全部导入物料管理系统中,并判断在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值是否大于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值,其中,当判断出在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值大于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值时,则不改变物料管理系统中的最大自增长主键sessionkey,否则当判断出在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值小于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值时,则改变物料管理系统中的最大自增长主键sessionkey为2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值。
通过本发明实施例,采用步骤S202至步骤S204可以用于实现由数据导入的起点开始导入数据的目的,解决了在执行数据导入时容易丢失数据的问题,进而达到了防止在执行数据导入时丢失数据的效果。
根据本发明的实施例,提供了一种数据导入处理装置,该数据导入处理装置用于自动导入数据以防止数据导入时丢失数据。需要说明的是,本发明实施例所提供的数据导入处理装置可以用于执行本发明实施例的数据导入处理方法,本发明实施例的数据导入处理方法也可以通过本发明实施例的数据导入处理装置来执行。
图3是根据本发明第一实施例的数据导入处理装置的示意图。
如图3所示,该装置包括:选择单元10和导入单元20。
选择单元10用于选择数据导入的起点。需要说明的是,在本发明实施例中,数据导入是指数据重新导入,即数据由物料收集系统导入到物料管理系统中,物料即是指数据,并且物料收集系统用于收集来自计算机本地、互联网和用户自制的数据等。
在本发明实施例中,在选择单元10选择数据导入的起点之前可以先判断是否执行数据导入任务,其中,判断是否执行数据导入任务的依据可以是判断导入数据的时间配置是否改变,当判断出导入数据的时间配置发生改变时,则判断出执行数据导入任务,否则,当判断出导入数据的时间配置未发生改变时,则判断出不执行数据导入任务。在判断出执行数据导入任务时,则确认执行数据导入。在本发明实施例中,导入数据可以是导入一定时间段内的数据,在导入一定时间段内的数据时可以通过选择单元10选择数据导入的起点以执行数据导入,其中,起点为要重复导入的时间段内的最小自增长主键sessionkey,自增长主键sessionkey用于表示导入的数据在物料收集系统和物料管理系统中的顺序,自增长主键sessionkey的值可以为连续的阿拉伯数字,并且随着被导入的数据的增加自增长主键sessionkey的值依次递增1,例如,设定第一个被导入数据的自增长主键sessionkey的值为1,则第二个被导入数据的自增长主键sessionkey的值为2,第三个被导入数据的被导入数据的自增长主键sessionkey的值为3等等。
导入单元20用于由数据导入的起点开始导入数据。在本发明实施例中,可以从物料收集系统中选择自增长主键sessionkey的值大于等于数据导入的起点的数据,并由导入单元20将这些数据导入物料管理系统中。
在本发明实施例中,该数据导入处理装置还可以包括:判断单元、第一处理单元和第二处理单元。
判断单元用于在由数据导入的起点开始导入数据到物料管理系统中之后,将当前物料管理系统中记录的自增长主键sessionkey起点和重复导入的时间段内的最大自增长主键sessionkey的值进行比较,判断是否更新当前物料管理系统中记录的自增长主键sessionkey起点。其中,第一处理单元用于如果当前记录的增量起点大于重复导入的时间段的最大自增长主键sessionkey,则不更新增量起点,否则第二处理单元用于如果当前记录的增量起点小于或等于重复导入的时间段的最大自增长主键sessionkey,则更新增量起点。具体地,第二处理单元可以将当前物料管理系统中记录的增量起点更新为该时间段的最大自增长主键sessionkey值。
通过本发明,解决了在执行数据导入时容易丢失数据的问题,进而达到了防止在执行数据导入时丢失数据的效果。
图4是根据本发明第二实施例的数据导入处理装置的示意图。
如图4所示,该实施例可以作为图3所示实施例的优选实施方式,该实施例的数据导入处理装置包括第一实施例的选择单元10和导入单元20,其中,导入单元20包括导入模块201、第一删除模块202和第二删除模块203。
选择单元10的作用与第一实施例中的相同,在此不再赘述。
导入模块201用于将物料管理系统中需要导入的数据导入临时表。在本发明实施例中,临时表可以为物料管理系统的一部分,例如,临时表可以为物料管理系统的缓存机构。物料管理系统中需要导入的数据可以根据时间配置中的预设时间段确定,具体地,导入模块201可以包括判断子模块、选取子模块和导入子模块。其中,判断子模块用于判断数据导入的时间起点,并根据数据导入的时间起点确定数据导入的预定时间段。选取子模块用于选取物料管理系统中的预定时间段对应的数据的最大自增长主键和最小自增长主键,并通过该预设时间段内对应的最大自增长主键sessionkey和最小自增长主键sessionkey从物料收集系统中选择物料管理系统中需要导入的数据的区间,在选出物料管理系统中需要导入的数据区间之后,导入子模块用于将上述选出的数据区间内的所有数据导入临时表中,其中,上述选出的数据在临时表中可以按照数据对应的自增长主键sessionkey的大小进行存储。
第一删除模块202用于将临时表中非设定时间段内的数据删除。需要说明的是,预设时间段可以根据具体需要设定,例如,该预设时间段可以为1天。具体地,可以逐条判断临时表中存储的转化数据对应的时间是否为预设时间段内的时间,如果判断出该数据对应的时间为预设时间段内的时间,则在临时表中保留该数据并将该数据导入物料管理系统中,否则判断出如果该数据对应的时间为不是预设时间段内的时间,则第一删除模块202在临时表中删除该数据并且不将该数据导入物料管理系统中。
在本发明实施例中,在将最大自增长主键和最小自增长主键对应的区间内的数据导入临时表中之后,第一删除模块202将临时表中非设定时间段内的数据删除还可以包括将最大自增长主键和最小自增长主键对应的区间之外的数据删除,即将自增长主键大于上述最大自增长主键并且小于上述最小自增长主键的sessionkey对应的数据从临时表中删除。
第二删除模块203用于将物料管理系统中重复时间段的数据删除。在本发明实施例中,第二删除模块203可以根据预设时间段将该预设时间段内的时间对应的数据从物料管理系统中删除,优选地,第二删除模块203也可以根据预设时间段内对应的最大自增长主键sessionkey和最小自增长主键sessionkey将上述两个sessionkey值之间的sessionkey对应的数据从物料管理系统中删除,这样可以减少查找数据的量,并且可以缩短查找数据的时间,达到了提高查找效率的效果。
例如,物料管理系统中的数据已经更新至2013年8月份,现在由于种种原因,需要从物料收集系统中重新导入2013年7月1日的数据,这时,系统的时间配置预设时间段即为2013年7月1日的00:00至2013年7月1日24:00,这样,通过本发明的数据导入处理装置,选择单元10可以获取2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey和最小自增长主键sessionkey,并且导入模块201将最大自增长主键sessionkey和最小自增长主键sessionkey之间的区间段对应的物料收集系统中数据导入到物料管理系统中临时表中,然后第一删除模块202将2013年7月1日的00:00至2013年7月1日24:00时间以外的时间对应的数据从临时表中删除,同时第二删除模块203将物料管理系统中2013年7月1日的00:00至2013年7月1日24:00时间以内的时间对应的数据从物料管理系统中删除,最后导入单元20将临时表中的数据全部导入物料管理系统中,并且判断单元判断在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值是否大于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值,其中,当判断出在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值大于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值时,则第一处理单元不改变物料管理系统中的最大自增长主键sessionkey,否则当判断出在将临时表中的数据导入物料管理系统中之前该物料管理系统的自增长主键sessionkey的值小于2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值时,则第二处理单元改变物料管理系统中的最大自增长主键sessionkey为2013年7月1日的00:00至2013年7月1日24:00时间段对应的最大自增长主键sessionkey的值。
从以上的描述中,可以看出,本发明解决了在执行数据导入时容易丢失数据的问题,进而达到了防止在执行数据导入时丢失数据的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。