内存数据的同步方法和装置与流程

文档序号:11830404阅读:256来源:国知局
内存数据的同步方法和装置与流程
本发明涉及数据处理技术,尤其涉及一种内存数据的同步方法和装置。
背景技术
:随着各类业务的应用和发展,各类业务会产生大量的同步数据,其中业务为用户在营业厅开户的业务,用户激活产品的业务、用户购买产品包的业务等等,需要将各业务的数据同步下来,使得用户可以正常使用各业务。现有技术中,在对各业务的数据进行数据同步的时候,参照各业务被写入的先后时间次序去进行数据的数据同步,从而将最先被写入的数据首先进行数据同步,将最后被写入的数据最后进行数据同步,进而完成各业务的数据同步的处理。然而现有技术中,业务会产生及时性要求比较高、时效性要求比较高的数据,现有技术中的数据同步的方法,无法将这些及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,进而造成数据的有效性降低或丢失,以及业务无法被用户使用的情况。技术实现要素:本发明提供一种内存数据的同步方法和装置,用以解决现有技术中无法将这些及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,进而造成数据的有效性降低或丢失,以及业务无法被用户使用的情况的问题。本发明的一方面是提供一种内存数据的同步方法,包括:获取DB(Database,简称DB)数据库中的第一待同步数据表,其中,所述第一待同步数据表中具有设置了优先级的数据的信息;判断所述第一待同步数据表中,是否具有数据的信息;在确定所述第一待同步数据表中具有数据的信息的时候,依据所述第一待同步数据表中表征的各数据的优先级次序,将所述第一待同步数据表中表征的各数据进行数据同步。本发明的另一方面是提供一种内存数据的同步装置,包括:第一获取模块,用于获取DB数据库中的第一待同步数据表,其中,所述第一待同步数据表中具有设置了优先级的数据的信息;第一判断模块,用于判断所述第一待同步数据表中,是否具有数据的信息;第一同步模块,用于在确定所述第一待同步数据表中具有数据的信息的时候,依据所述第一待同步数据表中表征的各数据的优先级次序,将所述第一待同步数据表中表征的各数据进行数据同步。本发明通过访问并获取DB数据库中的第一待同步数据表中的数据的信息,在第一待同步数据表中具有设置了优先级的数据的信息,在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。从而可以将及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,保证了数据的有效性和及时性,防止数据的丢失以及业务无法被用户使用的情况,进而保证了各业务、尤其是及时性要求比较高、时效性要求比较高的业务的正常运转和使用。附图说明图1为本发明实施例一提供的内存数据的同步方法的流程图;图2为本发明实施例二提供的内存数据的同步方法的流程图;图3为本发明实施例三提供的内存数据的同步装置的结构示意图;图4为本发明实施例四提供的内存数据的同步装置的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例一提供的内存数据的同步方法的流程图,如图1所示,本实施例的方法包括:步骤101、获取DB数据库中的第一待同步数据表,其中,第一待同步数据表中具有设置了优先级的数据的信息。在本实施例中,具体的,本实施例的执行主体可以是内存数据的同步装置、或者服务器、或者其他可执行本方法的装置或设备。在各类应用程序、以及各类基于数据的服务中,都具有各类业务,各业务有用户开户的业务、用户在营业厅开户的业务,用户激活产品的业务、用户购买产品包的业务、用户更改账号的业务等等。每一类业务分别对应着一个内存数据库;可以将内存数据库设置了一个服务器或者其他设备中,具体来说,可以将每一类业务对应的内存数据库,分别设置在一个实体设备中,或者,将每一个业务对应的内存数据库,设置在同一个实体设备中,但是这些实体设备都是归属于本实施例的执行主体的。在内存数据的同步装置的各内存数据库进行初始化的时候,由于每一个内存数据库对应着一个信息表,该信息表中存储有业务的各项信息,内存数据库中要对需要同步的信息表,进行表结构创建和存储空间分配;各内存数据库定期轮询的访问DB数据库中需要同步的数据的信息。在DB数据库中,具有待同步的数据的信息表。表1为DB数据库中的信息表,表1可以称为Table:CACHE_TABLE_DIC,如表1所示:表1DB数据库中的信息表NODEIDTABLEIDTBLNAMERECSIZERECNUM5310000820082IPLIVETVINCSC4850002014300081001PCMERCHANTINFO3401000其中,NODEID表征了信息表所归属的服务器的ID,TABLEID表征了信息表的ID,TBLNAME表征了信息表的表名,RECSIZE表征了信息表的内存大小,RECNUM表征了信息表的数据量。首先,各内存数据库,定时扫描DB数据库,获取DB数据库中的第一待同步数据表,在第一待同步数据表中具有各业务的不同数据的信息,并且这些数据是设置了优先级的,具体来说,由于各业务的信息表具有优先级,从而信息表的数据是具有优先级的。其中,DB数据库可以设置在本实施例的执行主体上。举例来说,开户业务的内存数据库,周期性的访问DB数据库中的第一待同步数据表;或者,激活业务的内存数据库,周期性的访问DB数据库中的第一待同步数据表。步骤102、判断第一待同步数据表中,是否具有数据的信息。在本实施例中,具体的,内存数据的同步装置的每一个内存数据库在访问了DB数据库中的第一待同步数据表的时候,需要判断出第一待同步数据表中,是否具有针对于当前内存数据库表征的业务的数据的信息。举例来说,开户业务的内存数据库,在访问DB数据库中的第一待同步数据表的时候,判断在第一待同步数据表中,是否具有开户业务的数据的信息。再举例来说,激活业务的内存数据库,在访问DB数据库中的第一待同步数据表的时候,判断在第一待同步数据表中,是否具有激活业务的数据的信息。步骤103、在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。在本实施例中,具体的,在内存数据的同步装置的每一个内存数据库,确定DB数据库中的第一待同步数据表中,具有针对当前内存数据库表征的业务的数据的信息的时候,就可以对第一待同步数据表中表征的各数据,进行数据同步了。具体来说,每一个内存数据库获取了第一待同步数据表中的各数据的信息之后,由于在这些数据中确定了优先级,从而可以依据各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。举例来说,开户业务的内存数据库,在访问DB数据库中的第一待同步数据表的开户业务的数据的信息的时候,获取了A用户的开户业务的数据的信息,该数据定义了优先级为第一级;激活业务的内存数据库,在访问DB数据库中的第一待同步数据表的激活业务的数据的信息的时候,获取了A用户的激活业务的数据的信息,该数据定义了优先级为第二级;从而之后,就可以依据以上两个数据的优先级次序,首先将A用户的开户业务的数据进行数据同步,然后将A用户的激活业务的数据进行数据同步。再举例来说,用户购买产品包的业务的内存数据库,在访问DB数据库中的第一待同步数据表的购买产品包的业务的数据的信息的时候,获取了A用户的购买产品包的业务的数据的信息、B用户的购买产品包的业务的数据的信息、C用户的购买产品包的业务的数据的信息,这三个数据中分别依次定义了优先级为第二级、第一级、第三级,从而就可以依据以上三个数据的优先级次序,首先将B用户的购买产品包的业务的数据进行数据同步,然后将A用户的购买产品包的业务的数据进行数据同步,最后将C用户的购买产品包的业务的数据进行数据同步。本实施例通过访问并获取DB数据库中的第一待同步数据表中的数据的信息,在第一待同步数据表中具有设置了优先级的数据的信息,在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。从而可以将及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,保证了数据的有效性和及时性,防止数据的丢失以及业务无法被用户使用的情况,进而保证了各业务、尤其是及时性要求比较高、时效性要求比较高的业务的正常运转和使用。图2为本发明实施例二提供的内存数据的同步方法的流程图,在实施例一的基础上,如图2所示,本实施例的方法,在步骤101之前,还包括:步骤201、获取数据,并确定数据中是否被定义了优先级;在确定数据被定了优先级时,将数据所归属的信息表的信息写入至第一待同步数据表中;在确定数据未被定优先级时,将数据所归属的信息表的信息写入至第二待同步数据表中。在本实施例中,具体的,本实施例的执行主体可以是内存数据的同步装置、或者服务器、或者其他可执行本方法的装置或设备。可以将DB数据库设置在本实施例的执行主体中。DB数据库在确定有新数据写入到DB数据库的时候,DB数据库就会将新数据写入到第一待同步数据表和第二待同步数据表中,第一待同步数据表为存储设置了优先级的数据的表,第二待同步数据表为存储未设置优先级的数据的表。第一待同步数据表包括了优先级表和信息数据表,信息数据表中包括了信息表的信息,信息数据表可以称为Table:CACHE_SYN_URGENT;优先级表中设定了信息表的优先级,优先级表可以称为CACHE_TABLE_URGENT。在有新数据进入到DB数据库中的时候,会将该数据放入到与该数据对应的业务的信息表中去,然后将该业务的信息表具有新数据的信息放入到信息数据表中,由于每一个业务的信息表都设定了优先级,从而需要将优先级的信息存入到优先级表中去。表2为信息数据表,表3为优先级表,如表2和表3所示:表2信息数据表其中,CACHEDBNODE表征了信息表所归属的服务器的名称,TABLEID表征了信息表的ID,TBLNAME表征了信息表的表名,OP、KEYID、KEYNAME、以及SYNCOUNT为信息表的附加信息,GENERATEDATE为时间信息。表3优先级表TABLEIDTBLNAMEPRIORITY20082IPLIVETVINCSC181001PCMERCHANTINFO2其中,TABLEID表征了信息表的ID,TBLNAME表征了信息表的表名,PRIORITY表征了信息表的优先级。具体来说,DB数据库采用DB脚本创建获取数据的过程,需要将存储了新数据的信息表的各信息,写入到第一待同步数据表和第二待同步数据表中。在DB数据库中具有各个业务的信息表,例如开户业务具有一个信息表,激活业务具有一个信息表,可以为信息表设定优先级,可知,在本发明中,优先级是针对信息表而言的。首先判断信息表中的新数据是否具有优先级,即判断写入了新数据的信息表是否设定了优先级;若确定信息表中的新数据具有优先级,此时可知写入了新数据的信息表设定了优先级,则可以将该数据所归属的信息表的信息写入到第一待同步数据表中,此时,是首先将数据所归属的信息表的信息写入到信息数据表中,然后将数据所归属的信息表的优先级信息写入到优先级表中;若确定信息表中的新数据不具有优先级,此时可知写入了新数据的信息表未被设定了优先级,则可以将该数据所归属的信息表的信息写入到第二待同步数据表中。以下为创建内存数据表、和将数据写入至第一待同步数据表的SQL语句的示例:根据以上示例,可知,确定信息表中的新数据具有优先级,此时可知写入了新数据的信息表设定了优先级,可以将数据所归属的信息表的信息写入到信息数据表中,然后将数据所归属的信息表的优先级信息写入到优先级表中。举例来说,在DB数据库中具有N个业务的信息表,例如开户业务的信息表、注销业务的信息表、修改业务的信息表等等;可以为这些信息表中的一部分信息表设定优先级,从而N个业务的信息表中的M个业务的信息表具有优先级,其中M小于N;新数据写入到DB数据库的时候,会根据该新数据所归属的业务,将该新数据放入到该业务的信息表中,可以是开户业务,从而会将该数据写入到开户业务的信息表中;然后,若确定出开户业务的信息表具有优先级,会在信息数据表中写入开户业务的信息表中写入了新数据,并在优先级表中写入了开户业务的信息表的优先级的信息;若确定出开户业务的信息表不具有优先级,会在第二待同步数据表中写入开户业务的信息表中写入了新数据。步骤102,具体包括:确定信息数据表中的信息表是否具有新数据,并依据优先级表确定具有新数据的信息表的优先级。在本实施例中,具体的,在内存数据的同步装置的各内存数据库进行初始化之后,各内存数据库分别周期性的定时扫描DB数据库中的第一待同步数据表,从而可以确定第一待同步数据表中的信息数据表中,是否表明各业务的信息表中具有新数据;从而在确定第一待同步数据表中的信息数据表中,表明各业务的信息表中具有新数据的时候,可以在第一待同步数据表中的优先级表中,去确定具有新数据的各业务的信息表的优先级。然后去根据第一待同步数据表中的优先级表中的各业务的信息表的优先级,将具有新数据的、且具有优先级的信息表中的数据进行数据同步。举例来说,开户业务的内存数据库定时扫描DB数据库中的第一待同步数据表,去确定在第一待同步数据表中的信息数据表中,是否表明开户业务的信息表中具有新数据;若确定开户业务的信息表中具有新数据,则可以在第一待同步数据表中的优先级表中,去确定开户业务的信息表的优先级;然后根据开户业务的信息表的优先级的次序,将具有新数据的开户业务的信息表中新数据进行数据同步。还包括:步骤202、在确定第一待同步数据表中不具有数据的信息的时候,获取DB数据库中的第二待同步数据表,其中,第二待同步数据表中具有未设置优先级的数据的信息。在本实施例中,具体的,若各内存数据库分别周期性的定时扫描DB数据库中的第一待同步数据表,确定出第一待同步数据表中的信息数据表中,表明各业务的信息表中不具有新数据;则各内存数据库可以获取DB数据库中的第二待同步数据表,在第二待同步数据表中具有各业务的信息表的信息,而此时这些业务的信息表是没有设置优先级的,从而第二待同步数据表中具有为设置优先级的数据的信息。表4为第二待同步数据表,表4可以称为Table:CACHE_SYN_TABLE,如表4所示:表4第二待同步数据表其中,CACHEDBNODE表征了信息表所归属的服务器的名称,TABLEID表征了信息表的ID,TBLNAME表征了信息表的表名,OP、KEYID、KEYNAME、以及SYNCOUNT为信息表的附加信息,GENERATEDATE为时间信息。此时,表4中表征的信息表是没有设定优先级,进而表4中表征的信息表中的存储数据是没有优先级的。举例来说,在有通话业务的数据被存储到通话业务的信息表中的时候,由于通话业务的信息表没有优先级,从而会在第二待同步数据表中写入通话业务的信息表中存储了新数据。步骤203、判断第二待同步数据表中,是否具有数据的信息。在本实施例中,具体的,首先判断在第二待同步数据表中业务的信息表的信息,表明是否有新数据写入到了业务的信息表中,从而确定第二待同步数据表中,是否具有数据的信息。举例来说,在有通话业务的数据被存储到通话业务的信息表中的时候,由于通话业务的信息表没有优先级,从而会在第二待同步数据表中写入通话业务的信息表中存储了新数据;从而可以根据第二待同步数据表中的信息,可以确定出通话业务的信息表中是否有新数据,进而确定出未被设定优先级的信息表中是否有新数据被写入。步骤204、在确定第二待同步数据表中具有数据的信息的时候,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步。在本实施例中,具体的,在各业务的内存数据库确定出第二待同步数据表中具有数据的信息的时候,可以确定未被设定优先级的信息表中有新数据被写入,从而可以根据第二待同步数据表中表征的各信息表,依据各信息表中的各数据的存储次序,将各信息表中的各数据进行数据同步,从而将第二待同步数据表中表征的各数据进行数据同步。举例来说,通话业务的内存数据库可以根据第二待同步数据表中的信息,可以确定出通话业务的信息表中有新数据,通话业务的信息表是没有优先级的;在第二待同步数据表中存储有通话业务的信息表的信息,从而通话业务的内存数据库可以依据第二待同步数据表中存储的通话业务的信息表的信息,在通话业务的信息表中找到通话业务的新数据,同时由于在通话业务的信息表中各数据具有存储次序,进而通话业务的内存数据库可以依据通话业务的新数据的存储次序,将该通话业务的新数据进行数据同步。在各业务的内存数据库确定出第二待同步数据表中不具有数据的信息的时候,则可以结束此次扫描DB数据库的过程。在步骤103之后,还包括:步骤205、获取DB数据库中的第二待同步数据表,其中,第二待同步数据表中具有未设置优先级的数据的信息;判断第二待同步数据表中,是否具有数据的信息;在确定第二待同步数据表中具有数据的信息的时候,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步。在本实施例中,具体的,在步骤103中,将第一待同步数据表中表征的各数据进行数据同步之后,即将第一待同步数据表中表征的业务的信息表中,所存储的新数据,进行数据同步之后,各业务的内存数据库可以继续扫描DB数据库中的第二待同步数据表,去将没有设定优先级的、且存储了新数据的信息表中的新数据进行数据同步,该过程与202~步骤204中所描述的过程相同。本实施例通过在确定数据被定了优先级时,将数据所归属的信息表的信息写入至第一待同步数据表中;在确定数据未被定优先级时,将数据所归属的信息表的信息写入至第二待同步数据表中;从而可以将设定了优先级的信息表中的信息,写入到第一待同步数据表中,由于信息表具有优先级,进而信息表中的数据也具有优先级,在第一待同步数据表中具有未设置优先级的数据的信息;可以将具有优先级、不具有优先级的信息表的信息分别存储。通过首先访问并获取DB数据库中的第一待同步数据表中的数据的信息,在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步;然后访问第二待同步数据表中的数据的信息,在确定第二待同步数据表中具有数据的信息时,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步,进而首先将具有优先级的数据先进行数据同步,同时可以将优先级较高的数据先进行数据同步,再将不具有优先级的数据先进行数据同步;从而可以将及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,保证了数据的有效性和及时性,防止数据的丢失以及业务无法被用户使用的情况,进而保证了各业务、尤其是及时性要求比较高、时效性要求比较高的业务的正常运转和使用。图3为本发明实施例三提供的内存数据的同步装置的结构示意图,如图3所示,本实施例提供的装置,包括:第一获取模块31,用于获取DB数据库中的第一待同步数据表,其中,第一待同步数据表中具有设置了优先级的数据的信息;第一判断模块32,用于判断第一待同步数据表中,是否具有数据的信息;第一同步模块33,用于在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。本实施例的内存数据的同步装置可执行本发明实施例一提供的内存数据的同步方法,其实现原理相类似,此处不再赘述。本实施例通过访问并获取DB数据库中的第一待同步数据表中的数据的信息,在第一待同步数据表中具有设置了优先级的数据的信息,在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步。从而可以将及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,保证了数据的有效性和及时性,防止数据的丢失以及业务无法被用户使用的情况,进而保证了各业务、尤其是及时性要求比较高、时效性要求比较高的业务的正常运转和使用。图4为本发明实施例四提供的内存数据的同步装置的结构示意图,在实施例三的基础上,如图4所示,本实施例提供的装置,还包括:第二获取模块41,用于在确定第一待同步数据表中不具有数据的信息的时候,获取DB数据库中的第二待同步数据表,其中,第二待同步数据表中具有未设置优先级的数据的信息;第二判断模块42,用于判断第二待同步数据表中,是否具有数据的信息;第二同步模块43,用于在确定第二待同步数据表中具有数据的信息的时候,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步。还包括:第三获取模块44,用于在第一同步模块33将第一待同步数据表中的各数据进行数据同步之后,获取DB数据库中的第二待同步数据表,其中,第二待同步数据表中具有未设置优先级的数据的信息;第三判断模块45,用于判断第二待同步数据表中,是否具有数据的信息;第三同步模块46,用于在确定第二待同步数据表中具有数据的信息的时候,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步。第一待同步数据表,包括了优先级表和信息数据表,信息数据表中包括了信息表的信息,优先级表中包括了信息表的优先级;相应的,第一判断模块32,具体用于:确定信息数据表中的信息表是否具有新数据,并依据优先级表确定具有新数据的信息表的优先级。还包括:写入模块47,用于在第一获取模块31获取DB数据库中的第一待同步数据表之前,获取数据,并确定数据中是否被定义了优先级;在确定数据被定了优先级时,将数据所归属的信息表的信息写入至第一待同步数据表中;在确定数据未被定优先级时,将数据所归属的信息表的信息写入至第二待同步数据表中。本实施例的内存数据的同步装置可执行本发明实施例二提供的内存数据的同步方法,其实现原理相类似,此处不再赘述。本实施例通过在确定数据被定了优先级时,将数据所归属的信息表的信息写入至第一待同步数据表中;在确定数据未被定优先级时,将数据所归属的信息表的信息写入至第二待同步数据表中;从而可以将设定了优先级的信息表中的信息,写入到第一待同步数据表中,由于信息表具有优先级,进而信息表中的数据也具有优先级,在第一待同步数据表中具有未设置优先级的数据的信息;可以将具有优先级、不具有优先级的信息表的信息分别存储。通过首先访问并获取DB数据库中的第一待同步数据表中的数据的信息,在确定第一待同步数据表中具有数据的信息的时候,依据第一待同步数据表中表征的各数据的优先级次序,将第一待同步数据表中表征的各数据进行数据同步;然后访问第二待同步数据表中的数据的信息,在确定第二待同步数据表中具有数据的信息时,依据第二待同步数据表中表征的各数据的存储次序,将第二待同步数据表中表征的各数据进行数据同步,进而首先将具有优先级的数据先进行数据同步,同时可以将优先级较高的数据先进行数据同步,再将不具有优先级的数据先进行数据同步;从而可以将及时性要求比较高、时效性要求比较高的数据及时的进行数据同步处理,保证了数据的有效性和及时性,防止数据的丢失以及业务无法被用户使用的情况,进而保证了各业务、尤其是及时性要求比较高、时效性要求比较高的业务的正常运转和使用。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1