批量数据同步方法和装置与流程

文档序号:12596461阅读:472来源:国知局
批量数据同步方法和装置与流程
本发明涉及数据处理
技术领域
,尤其涉及一种用于应用间的批量数据同步方法和装置。
背景技术
:随着企业信息化程度的日益提高,安装使用的应用项目也越来越多,而应用的开发可能来自于不同的供应商,所使用的开发环境、系统也各不相同,而企业内部或集团企业间经常会需要数据的共享和汇总,必然需要应用之间的数据同步或数据迁移。但是目前,还没有一种方法能够彻底解决不同应用之间的数据同步、共享、交互的问题。当然,在满足能够交互的同时,还需要保障数据的完整性和一致性。技术实现要素:有鉴于此,本发明提供了一种批量数据同步方法和装置,能够自动实现多应用间的数据同步,并能保障数据的一致性和完整性,使得不同应用间能够共享数据。第一方面,本发明实施例提供了一种批量数据同步方法,包括:建立本地数据库,所述本地数据库中包括临时表、历史表和应用数据表;所述临时表、历史表和应用数据表的表项数据结构相同;获取第一应用的数据源数据,所述数据源数据包括数据源字段;设置所述数据源字段与临时表字段的对应关系;根据预设条件,按照所述对应关系,将所述数据源数据导入临时表,形成所述临时表字段;所述临时表中包括由临时表字段构成的多条记录;对比所述临时表与历史表中的记录;如果临时表的第一记录存在于所述历史表中,则确定所述第一记录中的字段是否有更新,如果有更新,则将所述第一记录更新到应用数据表中;如果所述第一记录不存在于所述历史表中,则将所述第一记录插入所述应用数据表中;如果所述临时表中不存在所述历史表中的第二记录,则在所述应用数据表中将相应的记录删除;其中,所述应用数据表用于提供第二应用的数据源数据。优选的,在所述临时表与历史表中的记录全部对比完成后,所述方法还包括:删除所述历史表中的全部记录;将所述临时表中的记录全部导入所述历史表中;清空所述临时表中的记录。优选的,所述设置所述数据源的字段与所述临时表中字段的对应关系具体为:所述数据源的一个字段与所述临时表的一个字段相对应。优选的,所述设置所述数据源的字段与所述临时表中字段的对应关系具体为:所述源数据的多个字段拼接形成一个拼接字段,一个所述拼接字段与所述临时表的一个字段相对应。优选的,所述方法还包括,根据预设时间,对所述临时表、历史表和应用数据表进行备份存储。在第二方面,本发明实施例提供了一种批量数据同步装置,包括:生成单元,用于建立本地数据库,所述本地数据库中包括临时表、历史表和应用数据表;所述临时表、历史表和应用数据表的表项数据结构相同;获取单元,用于获取第一应用的数据源数据,所述数据源数据包括数据源字段;设置单元,用于设置所述数据源字段与临时表字段的对应关系;导入单元,用于根据预设条件,按照所述对应关系,将所述数据源数据导入临时表,形成所述临时表字段;所述临时表中包括由临时表字段构成的多条记录;处理单元,用于对比所述临时表与历史表中的记录;当临时表的第一记录存在于所述历史表中时,则确定所述第一记录中的字段是否有更新,如果有更新,则将所述第一记录更新到应用数据表中;当所述第一记录不存在于所述历史表中,则将所述第一记录插入所述应用数据表中;当所述临时表中不存在所述历史表中的第二记录,则在所述应用数据表中将相应的记录删除;其中,所述应用数据表用于提供第二应用的数据源数据。优选的,所述处理单元还用于,在所述临时表与历史表中的记录全部对比完成后,删除所述历史表中的全部记录;生成导入指令,控制所述导入单元将所述临时表中的记录全部导入所述历史表中;并且,清空所述临时表中的记录。优选的,所述设置单元具体用于,设置所述数据源的一个字段与所述临时表的一个字段相对应。优选的,所述设置单元具体用于,设置所述数据源的拼接字段与所述临时表的一个字段相对应;所述拼接字段为由所述源数据的多个字段拼接形成的拼接字段。优选的,所述装置还包括存储单元,用于根据预设时间,对所述临时表、历史表和应用数据表进行备份存储。本发明实施例提供的批量数据同步方法,能够自动实现多应用间的数据同步,并能保障数据的一致性和完整性,使得不同应用间能够共享数据。附图说明图1为本发明实施例提供的批量数据同步方法的流程图;图2为本发明实施例提供的批量数据同步装置的示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。如图1所示,本发明提供的批量数据同步方法主要包括如下步骤:步骤110,建立本地数据库;具体的,本地数据库中包括临时表、历史表和应用数据表,临时表、历史表和应用数据表的表项数据结构相同;比如在一个具体的例子中,各表的表项数据结构可以如下表1所示。用户标识用户名性别表1本地数据库用于向访问该数据库的一个应用或多个应用提供数据。临时表用来存储从其他的应用导入的数据源数据,历史表用来记录当前向一个应用或多个应用提供的数据,应用数据表中的数据记录与历史表中的相同,由数据接口连接供一个应用或多个应用访问,为一个应用或多个应用提供数据。步骤120,获取第一应用的数据源数据;具体的,第一应用是指提供数据源数据的应用,数据源数据可以存储在云数据库中,或者存储在其它的数据库中。数据源数据包括数据源字段;比如根据上述表1,数据源字段可以包括“财务部一组001”、“李某”、“男”等信息。此外,数据源数据可以是分时段的,比如已经预先规定获取数据源数据的间隔是每周一次,那么每次获取的数据,是更新时间在当前之前一周之内的数据,超出一周之前更新的数据就可以不用获取了。或者可以通过自动记录上次获取数据源数据的时间,然后在本次获取时只对该时间之后更新的数据进行获取。步骤130,设置数据源字段与临时表字段的对应关系;具体的,临时表字段是加载在临时表的表项中的数据字段。数据源字段与临时表字段之间的对应关系可以是一一对应,也可以是多对一的对应关系。比如,数据源的一个字段与临时表的一个字段相对应的情况:数据源中具有A字段,对应到临时表的A字段。又如,源数据的多个字段拼接形成一个拼接字段,一个拼接字段与临时表的一个字段相对应的情况:数据源中具有的A、B、C三个字段拼接后形成字段A+B+C,对应到临时表的A字段。步骤140,对比临时表与历史表中的记录,并根据对比结果相应修改应用数据表;具体的,临时表中包括由临时表字段构成的多条记录;历史表中也包括有历史表字段构成的多条记录;不同表中的记录数量可以不同。对比记录包括两种方式,一种是以临时表的记录为基础,逐条对比历史表的是否存在相同或相应记录,另一种是以历史表的记录为基础,逐条对比临时表中是否存在相同或相应记录。在本实施例中,两种方式都需要执行。在一个以临时表的记录为基础,逐条对比历史表的是否存在相同或相应记录的具体例子中:根据前述例举的数据源字段:“财务部一组001”、“李某”、“男”,当导入临时表后,可以在临时表中形成这样一条数据记录“财务部一组001,李某,男”。如果对比确定在历史表中存在记录“财务部一组001,李某,男”,则说明该记录已经存在于历史表中,且没有更新,则直接获取下一条记录进行对比。如果对比确定在历史表中存在记录“财务部一组001,张某,男”,则说明该记录已经存在于历史表中,但数据发生了更新,则将该记录更新到应用数据表中,然后获取下一条记录进行对比。如果上述记录“财务部一组001,李某,男”不存在于历史表中,则将记录“财务部一组001,李某,男”插入应用数据表中,然后获取下一条记录进行对比。在以历史表的记录为基础,逐条对比临时表中是否存在相同或相应记录中:比如,在历史表中存在一条记录“人事部002,张某,女”,根据该记录在临时表中进行对比,如果不存在该记录,则根据“人事部002”将应用数据表中相应的记录删除。步骤150,在临时表与历史表中的记录全部对比完成后,删除历史表中的全部记录;步骤160,将临时表中的记录全部导入所述历史表中;步骤170,清空临时表中的记录。通过上述步骤150至步骤170,完成历史表中的数据更新,使得历史表中的数据与当前的应用数据表中的数据一致,从而为下次数据同步做好数据准备。进一步的,为了避免数据遗失,还需要定期对临时表、历史表和应用数据表得数据进行备份存储。通过本实施例的批量数据同步方法,能够自动实现多应用间的数据同步,并能保障数据的一致性和完整性,使得不同应用间能够共享数据。相应的,本发明实施例还提供了一种用以实现上述批量数据同步方法的批量数据同步装置,如图2所示,批量数据同步包括:生成单元1、数据服务器10、获取单元2、设置单元3、导入单元4和处理单元5。生成单元1,用于建立本地数据库,数据库建立在数据服务器10中,所述本地数据库中包括临时表、历史表和应用数据表;所述临时表、历史表和应用数据表的表项数据结构相同;获取单元2,用于获取第一应用的数据源数据,所述数据源数据包括数据源字段;设置单元3,用于设置所述数据源字段与临时表字段的对应关系;其中,设置单元3的设置方式可以是,设置数据源的一个字段与临时表的一个字段相对应,也可以设置数据源的拼接字段与临时表的一个字段相对应;拼接字段为由源数据的多个字段拼接形成的拼接字段。导入单元4,用于根据预设条件,按照所述对应关系,将所述数据源数据导入本地数据库的临时表,形成所述临时表字段;所述临时表中包括由临时表字段构成的多条记录;处理单元5,用于对比所述临时表与历史表中的记录;并根据对比结果更新应用数据表中的记录;其中,应用数据表用于提供第二应用的数据源数据。当临时表的一条记录存在于历史表中时,处理器5确定该记录中的字段是否有更新,如果有更新,则将该记录更新到应用数据表中。当临时表的一条记录不存在于历史表中时,处理器5将该记录插入应用数据表中。当临时表中不存在历史表中的一条记录时,处理器5在应用数据表中将相应的记录删除。处理单元5还用于,在临时表与历史表中的记录全部对比完成后,删除历史表中的全部记录;生成导入指令,控制导入单元将临时表中的记录全部导入所述历史表中;并且,清空临时表中的记录。批量数据同步装置中还包括有存储单元6,存储单元6根据预设时间,访问数据服务器10,对所述本地数据库中的所述临时表、历史表和应用数据表进行备份存储。在本例中,获取单元2可以采用数据接口来实现。可以具体采用无线数据接口或有线数据接口。设置单元3可以具体为输入设备,通过用户输入设置数据源字段与临时表字段的对应关系。导入单元4也可以采用数据接口来实现。处理单元5可以采用通用的中央处理器(CentralProcessingUnit,CPU),微处理器,应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。存储单元6可以包括只读存储器(ReadOnlyMemory,ROM),静态存储设备,动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)。数据服务器10为:为客户应用程序提供数据服务的设备,用于应用数据的存储。本发明实施例提供的批量数据同步装置,能够自动实现多应用间的数据同步,并能保障数据的一致性和完整性,使得不同应用间能够共享数据。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1