数据处理方法及装置与流程

文档序号:12733898阅读:157来源:国知局
本发明涉及数据存取
技术领域
:,尤其涉及一种数据处理方法及装置。
背景技术
::随着互联网技术的迅猛发展,现有系统的数据越来越多,这对于系统的高并发处理以及实时响应的能力的要求更高。然而,目前已存在的技术中,都是后台一台数据库进行数据存取,没有一个好的方法提高系统的性能和容错能力。之前系统数据的存取是使用一台线上数据库和一台备份库,且数据库中每一个功能各自对应一张表。随着数据越来越多,通过数据分区等手段虽然能提高一定的效率,但是若分区里的数据非常多,数据的查询效率仍然很低。此外,若在线上库非自然宕机,则需要人工介入,以切换程序数据源到备份库,否则系统将不能正常运行。技术实现要素:针对现有数据存取方式处理数据的效率低、需要干预等缺陷,本发明提出如下技术方案:本发明一方面提供了一种数据处理方法,包括:接收数据存储请求信息;从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点;更新所述数据库连接节点对应的本地数据库,并生成同步操作信息;将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。可选地,所述数据存储请求信息中包括当前时间戳信息;相应地,所述从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,包括:从预先定义的数据库连接池中,获取与所述当前时间戳信息对应的数据库连接节点。可选地,所述从预先定义的数据库连接池中,获取与所述当前时间戳信息对应的数据库连接节点,包括:通过所述当前时间戳信息与数据库台数取余的方式,从所述数据库连接池的连接队列中获取与所述当前时间戳信息对应的数据库连接节点。可选地,所述方法还包括:定时查询各数据连接节点是否存活;若查询获知某一数据连接节点不存活,则将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除。可选地,所述更新所述数据库连接节点对应的本地数据库,包括:将接收到的业务数据存储到所述数据库连接节点对应的本地数据库中与当前日期对应的翻转表中。可选地,所述方法还包括:接收数据查询请求信息;其中,所述数据查询请求信息包括目标数据的存储日期;根据所述存储日期从对应的翻转表中获取所述目标数据。另一方面,本发明还提供了一种数据处理装置,包括:存储请求接收单元,用于接收数据存储请求信息;连接节点获取单元,用于从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点;操作信息生成单元,用于更新所述数据库连接节点对应的本地数据库,并生成同步操作信息;操作信息发送单元,用于将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。可选地,所述数据存储请求信息中包括当前时间戳信息;相应地,所述连接节点获取单元具体用于从预先定义的数据库连接池中,获取与所述当前时间戳信息对应的数据库连接节点。可选地,所述连接节点获取单元还用于通过所述当前时间戳信息与数据库台数取余的方式,从所述数据库连接池的连接队列中获取与所述当前时间戳信息对应的数据库连接节点。可选地,所述装置还包括:连接节点查询单元,用于定时查询各数据连接节点是否存活;以及,当查询获知某一数据连接节点不存活时,将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除。本发明提供的数据处理方法及装置,通过接收数据存储请求信息,从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,并更新所述数据库连接节点对应的本地数据库,并生成同步操作信息,进而将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库,可以解决海量数据处理效率低下的问题,实现优化数据存储,进而可以提升数据查询效率以及容错能力。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一个实施例的数据处理方法的流程示意图;图2为本发明一个实施例的数据处理装置的结构示意图;图3为本发明另一个实施例的数据处理系统的结构示意图;图4为本发明一个实施例的分布式数据库的建立结果示意图;图5为本发明一个实施例的翻转表的建立结果示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一个实施例的数据处理方法的流程示意图;如图1所示,该方法,包括:S1:接收数据存储请求信息;具体地,数据处理器接收用户发送的用于进行数据存储的数据存储请求信息。S2:从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点;进一步地,作为本实施例的优选,所述数据存储请求信息中包括当前时间戳信息;在此基础上,步骤S2所述从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,可以包括:从预先定义的数据库连接池中,获取与所述当前时间戳信息对应的数据库连接节点。其中,作为本实施的一种可选的实施方式,步骤S2所述从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,具体可以包括:通过所述当前时间戳信息与数据库台数取余的方式,从所述数据库连接池的连接队列中获取与所述当前时间戳信息对应的数据库连接节点。S3:更新所述数据库连接节点对应的本地数据库,并生成同步操作信息;具体地,所述数据处理器更新所述数据库连接节点对应的本地数据库,并生成同步操作信息。S4:将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。具体地,所述数据处理器将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。本发明实施例的数据处理方法,通过接收数据存储请求信息,从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,并更新所述数据库连接节点对应的本地数据库,并生成同步操作信息,进而将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库,可以解决海量数据处理效率低下的问题,实现优化数据存储,进而可以提升数据查询效率以及容错能力。进一步地,作为上述方法实施例的优选,所述方法还可以包括:定时查询各数据连接节点是否存活;若查询获知某一数据连接节点不存活,则将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除。具体地,所述数据处理器定时查询各数据连接节点是否存活,并当查询获知某一数据连接节点不存活时,将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除。可以理解的是,通过定时查询各数据连接节点是否存活,并在获知某一数据连接节点不存活的情况下,将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除,可以及时发现不可用的数据连接节点,降低数据存储的失败率。进一步地,作为上述方法实施例的优选,所述更新所述数据库连接节点对应的本地数据库,可以包括:将接收到的业务数据存储到所述数据库连接节点对应的本地数据库中与当前日期对应的翻转表中。在此基础上,所述方法还可以包括:接收数据查询请求信息;其中,所述数据查询请求信息包括目标数据的存储日期;根据所述存储日期从对应的翻转表中获取所述目标数据。图2为本发明一个实施例的数据处理装置的结构示意图;如图2所示,该装置包括存储请求接收单元10、连接节点获取单元20、操作信息生成单元30以及操作信息发送单元40,其中:存储请求接收单元10用于接收数据存储请求信息;连接节点获取单元20用于从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点;操作信息生成单元30用于更新所述数据库连接节点对应的本地数据库,并生成同步操作信息;操作信息发送单元40用于将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。具体地,本实施例的数据处理装置进行数据处理的流程包括:存储请求接收单元10接收数据存储请求信息;连接节点获取单元20从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点;操作信息生成单元30更新所述数据库连接节点对应的本地数据库,并生成同步操作信息;操作信息发送单元40将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库。本实施例所述的装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。进一步地,作为上述装置实施例的优选,所述数据存储请求信息中包括当前时间戳信息;相应地,所述连接节点获取单元20可以具体用于从预先定义的数据库连接池中,获取与所述当前时间戳信息对应的数据库连接节点。进一步地,作为上述装置实施例的优选,所述连接节点获取单元20还可以通过所述当前时间戳信息与数据库台数取余的方式,从所述数据库连接池的连接队列中获取与所述当前时间戳信息对应的数据库连接节点。进一步地,作为上述装置实施例的优选,所述装置还包括:连接节点查询单元,用于定时查询各数据连接节点是否存活;以及,当查询获知某一数据连接节点不存活时,将所述不存活的数据连接节点从所述数据库连接池的连接队列中删除。本实施例的数据处理装置,通过接收数据存储请求信息,从预先定义的数据库连接池中获取与所述数据存储请求信息对应的数据库连接节点,并更新所述数据库连接节点对应的本地数据库,并生成同步操作信息,进而将所述同步操作信息发送给网络中的其他节点,以使所述其他节点根据所述同步操作信息更新所述其他节点各自的本地数据库,可以解决海量数据处理效率低下的问题,实现优化数据存储,进而可以提升数据查询效率以及容错能力。需要说明的是,对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。下面以一具体的实施例来说明本发明,但不限定本发明的保护范围。图3为本发明另一个实施例的数据处理系统的结构示意图;如图3所示,本实施例的数据处理系统包括多台数据库,且其中任意一台数据库里的数据更新,均会实时同步到其他几台数据库中。所述数据处理系统进行数据处理的方法包括:预先定义一个用于存储各数据连接的数据库连接池,并根据当前时间戳(精确到毫秒),通过与数据库台数取余的方式从所述数据库连接池里的连接队列里获取数据库连接;进一步地,作为本实施例的优选,所述数据库连接池还可以提供一个定时任务,用于定时查询配置的各数据库连接节点是否存活;如果不存活,则从所述数据库连接池里的连接队列中删除这个不存活的连接节点,并可以向运行人员发出告警,具体地,图4示出了本发明一个实施例的分布式数据库建立结果;其中,Ucollatb、upaybs1a等表示不同的登录用户;UPOFFDEV、UPONDEV分别表示离线数据库和在线数据库。进一步地,所述数据处理系统进行数据处理的方法还包括:建立table表(翻转表);具体地,在每一分布式数据库中均创建7张数据结构相同的表(所述表均具有创建日期字段yyyyMMdd,其位于所创建表格的文件中):table_0、table_1、table_2、table_3、table_4、table_5、table_6。举例来说,在操作数据库中table表(即向表中存储数据,或从表中查询数据)时,可以利用表的创建日期(可以精确到日),获取相应表。例如,若当前日期为星期i,则当前应操作的数据库的table表为table_(i-1)。即,所述7张表的情况为,表0是星期一,表1是星期二……。将不同日期的数据分别存储在不同的表中所得到的表即为翻转表。具体地,本实施例的翻转表建表样例如图5所示。可以理解的是,本实施例中的7张表是根据一周中所包含的天数在本发明的其他实施例中,还可以根据一年中所包含的月数,采用6张表的形式,如表0是1~2月,表1是3~4月等等,本发明对此不进行限定。可以理解的是,按照本实施例的数据处理方法创建所述翻转表后,即可在进行业务数据存储时,将原数据分成7张翻转表进行存储,通过将不同日期的数据存放到不同的日期表中,减少每张表的数据量,进而提高数据查询效率。进一步地,在读取所述分布式数据库中的数据时,根据业务需要按照存储日期读取相应日期对应的翻转表数据,会将数据查询工作量缩小至现有方案的七分之一,大大提高表数据的查询效率,减少用户查询等待时间,增加用户的系统使用满意度。以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1