CN104933066B - 一种数据处理的方法和系统 - Google Patents
一种数据处理的方法和系统 Download PDFInfo
- Publication number
- CN104933066B CN104933066B CN201410103231.5A CN201410103231A CN104933066B CN 104933066 B CN104933066 B CN 104933066B CN 201410103231 A CN201410103231 A CN 201410103231A CN 104933066 B CN104933066 B CN 104933066B
- Authority
- CN
- China
- Prior art keywords
- data
- export
- data table
- tables
- split
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理的方法和系统,其中,所述方法包括:确定基准数据表和至少一个待拆分数据表,其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准;导出每个所述待拆分数据表中的记录,获取第一导出数据;并,将所述第一导出数据从所述待拆分数据表中删除;将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表,并将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。通过本申请解决了数据查找效率低,服务器承载压力大的问题。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据处理的方法和系统。
背景技术
服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务。通常分为文件服务器、数据库服务器和应用程序服务器。
每天,通过互联网处理的信息以亿计,故,服务器每天都要处理、记录大量的数据信息。随着服务器的运行时间的逐渐增加,服务器中存储的数据量也越来越多,数据量的增加使得服务器在接收用户请求,进行数据查找时消耗的时间也越来越久,查找速度越来越慢,查找效率低,造成数据延时;同时也增加了服务器的承载压力。
以游戏服务器合服为例,随着游戏运行时间的增加,一方面,游戏服务器数据库中存储的数据随着时间的增加也在不断累积增加;另一方面,随着游戏的运行,经常会进行一些服务器的合并,使得合并后的服务器中存储的数据非常庞大。数据量不断增加的游戏服务器的运行速度会越来越慢,查找、获取游戏用户数据的效率也会降低,造成游戏用户登陆游戏延迟,影响用户的游戏体验。
发明内容
本发明实施例提供了一种数据处理的方法和系统,已解决数据查找效率低,服务器承载压力大的问题。
为了解决上述问题,本发明公开了一种数据处理的方法,包括:
确定基准数据表和至少一个待拆分数据表,其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准;
导出每个所述待拆分数据表中的记录,获取第一导出数据;并,将所述第一导出数据从所述待拆分数据表中删除;
将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表,并将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
较佳地,在所述将将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中步骤之后,所述方法还包括:
在设定时间间隔之后,导出所述热数据表内的记录,获取第二导出数据;并,
将所述第二导出数据从所述热数据表中删除;
从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中。
较佳地,在所述从所述基准数据表中获取所述第二导出数据的活跃度标识步骤之后,所述方法还包括:
获取活跃度标识指示为非活跃的第二导出数据;
从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据。
较佳地,在所述将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中步骤之后,所述方法还包括:
接收数据调用请求,从热数据表或冷数据表中获取所述数据调用请求对应的数据;
当从冷数据表中获取所述数据调用请求对应的数据时,将所述基准数据表中所述数据调用请求对应的数据的活跃度标识配置为指示活跃的标识。
较佳地,在所述将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中步骤之后,所述方法还包括:
接收新增数据,并将所述新增数据保存在所述新增数据对应的热数据表中;并,
将所述新增数据对应的唯一记录标识和活跃度标识记录并保存在所述基准数据表中;其中,所述新增数据对应的活跃度标识指示为活跃。
较佳地,在所述导出每个所述待拆分数据表中的记录,获取第一导出数据步骤之后,所述方法还包括:
获取所述第一导出数据的最后使用时间;
当所述第一导出数据的最后一次使用时间满足设定时间标准时,将所述基准数据表中存储的所述第一导出数据的活跃度标识配置为指示活跃的标识。
较佳地,所述待拆分数据表包括:存储扩展数据的数据表,存储装备数据的数据表,存储技能数据的数据表,和存储聊天数据的数据表中的至少一个。
相应地,本发明还公开了一种数据处理的系统,包括:
确定模块,用于确定基准数据表和至少一个待拆分数据表;其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准;
第一导出模块,用于导出每个所述待拆分数据表中的记录,获取第一导出数据;
第一删除模块,用于将所述第一导出数据从所述待拆分数据表中删除;
拆分模块,用于将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表;
第一导入模块,用于将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
较佳地,所述系统还包括:
第二导出模块,用于在所述第一导入模块将将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中之后,且满足设定时间间隔时,导出所述热数据表内的记录,获取第二导出数据;
第二删除模块,用于将所述第二导出数据从所述热数据表中删除;
第二导入模块,用于从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中。
较佳地,所述系统还包括:
活跃度标识获取模块,用于在所述第二导入模块从所述基准数据表中获取所述第二导出数据的活跃度标识之后,获取活跃度标识指示为非活跃的第二导出数据;
第三删除模块,用于从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据(或称为活跃数据,如,某一数据在最近一周内使用过)和冷数据(或称为非活跃数据,如,某一数据在最近三个月内未使用过)。进一步地,将热数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
附图说明
图1是本发明第一实施例中一种数据处理的方法的流程图;
图2是本发明第二实施例中一中数据处理的方法的流程图;
图3是本发明第三实施例中一中数据处理的方法的流程图;
图4是本发明第四实施例中一种数据处理的系统的结构框图;
图5是本发明第五实施例中一种数据处理的系统的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明第一实施例中一种数据处理的方法的流程图。在本实施例中,所述数据处理的方法可以包括如下步骤:
步骤102,确定基准数据表和至少一个待拆分数据表。
其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准。
数据分别存储在服务器数据库中的不同数据表内,每个数据表占用的存储空间不同,存储的数据量也不同。较佳地,在本实施例中,选择满足设定标准的数据表作为待拆分数据表。
步骤104,导出每个所述待拆分数据表中的记录,获取第一导出数据。
步骤106,将所述第一导出数据从所述待拆分数据表中删除。
步骤108,将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表。
步骤110,将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
综上所述,本发明实施例所述的数据处理的方法,将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据和冷数据。进一步地,将热数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
参照图2,示出了本发明第二实施例中一中数据处理的方法的流程图。在本实施例中,所述数据处理的方法可以包括以下步骤:
步骤202,服务器确定基准数据表和至少一个待拆分数据表。
其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准。
通常,可以设置一个基准数据表和数个待拆分数据表,每个待拆分数据表的大小满足一定的设定标准,如,一个服务器数据库中有20个数据表,20个表共占用了200M的空间(其中,三个数据表占用空间分别为40M、60M、80M;剩余17个数据表占用的空间之和为20M)。首先,从20个数据表中选择一个包含有所述待拆分数据表中的记录的唯一记录标识的数据表作为基准数据表。然后,根据20表总的占用空间,可以设定一个标准(如,40M)。当数据表的占用空间大于等于40M时,确定所述数据表为一个待拆分数据表。由此可见,只需要选择3个数据表作为待拆分数据表进行数据拆分即完成了整个服务器数据库中90%的数据的分离,减少了数据分离过程中可能发生错误的次数,提高了数据处理的准确性。
步骤204,服务器导出每个所述待拆分数据表中的记录,获取第一导出数据;并,将所述第一导出数据从所述待拆分数据表中删除。
步骤206,服务器将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表。
步骤208,服务器将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
较佳地,服务器可以从一个记录有数据时间的表中获取所述第一导出数据的最后使用时间。并,
当所述第一导出数据的最后一次使用时间满足设定时间标准时,将所述基准数据表中存储的所述第一导出数据的活跃度标识配置为指示活跃的标识。
在本实施例中,将所述待拆分数据表拆分为热数据表和冷数据表,并把第一导出数据导入对应的热数据表或冷数据表之后。服务器数据库中的数据量每天仍在继续增加,新增加的数据可以存储在热数据表中,故,随着时间的推移,热数据表中的数据量也在不断增加;且,热数据表中的某一热数据随着时间的推移,可能很长一段时间都未使用过了,即,已经成为一个冷数据。因此,为了控制热数据表中数据量,将热数据表中的不符合要求的冷数据删除,所述数据处理的方法还包括:
步骤210,在设定时间间隔之后,服务器导出所述热数据表内的记录,获取第二导出数据;并,将所述第二导出数据从所述热数据表中删除。
步骤212,服务器从所述基准数据表中获取所述第二导出数据的活跃度标识。
步骤214,服务器将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中。
在本实施例中,为了避免导入至所述冷数据表中的第二导出数据与原冷数据表中的冷数据重复,在导入第二数据之前可以先执行如下步骤:
首先,服务器获取活跃度标识指示为非活跃的第二导出数据。
然后,服务器从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据。
在本实施例中,由于数据分别存储在热数据表中和冷数据表中,故,当服务器接收到数据调用请求时,可以执行如下步骤:
第一步,服务器接收数据调用请求,从热数据表或冷数据表中获取所述数据调用请求对应的数据。
第二步,当从冷数据表中获取所述数据调用请求对应的数据时,服务器将所述基准数据表中所述数据调用请求对应的数据的活跃度标识配置为指示活跃的标识。
较佳地,当服务器接收到新增数据时,可以执行如下步骤:
第一步,接收新增数据,并将所述新增数据保存在所述新增数据对应的热数据表中。
第二步,将所述新增数据对应的唯一记录标识和活跃度标识记录并保存在所述基准数据表中。其中,所述新增数据对应的活跃度标识指示为活跃。
综上所述,本发明实施例所述的数据处理的方法,将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据和冷数据。进一步地,将热数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
进一步地,由于热数据是频繁使用的,冷数据被使用的概率很低,故,影响数据查找效率的主要因素在于热数据表的规模,在本发明实施例中,及时将服务器数据库中的冷数据分离出来,减少热数据表的规模,进一步提高了数据查找效率,避免了数据获取过程中的延时。
结合上述实施例,参照图3,示出了本发明第三实施例中一种数据处理的方法的流程图。下面以游戏数据为例来说明本发明实施例所述的数据处理方法的具体流程。
通过对用户的游戏行为进行分析发现,如果某一用户长时间没有登陆游戏,则该用户以后不再登陆游戏的可能性非常大。并且,进一步分析发现,某一游戏的所有用户中,一个月以上没有登陆过游戏的用户占所有游戏用户总量的30%以上,三个月以上没有登陆过游戏的用户占所有游戏用户总量的80%以上。也就是说,在服务器数据库中存储了大量冷数据(长时间不使用的数据)。在本实施例中,通过将这部分冷数据分离出来,以提高服务器的运行速度。具体步骤如下:
步骤302,确定基准数据表和至少一个待拆分数据表。
其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准。
较佳地,游戏数据库中的数据主要可以分为两类:角色数据与全局数据。全局数据是所有玩家都可以看到的数据,例如,玩家商店,帮会,战队等数据。角色数据是单个角色(玩家用户)的所有数据,例如,某一玩家的装备数据、技能数据等数据。由于,所有全局数据之和所占空间不足整个数据库的5%,故,一般不选择存储全局数据的表进行拆分。
在本实施例中,可以从存放角色数据的所有表中选择规模较大的几个表(如,存放角色的扩展数据的表、存放角色的装备数据的表、存放角色的技能数据的表等)作为待拆分数据表。可以但不仅限于选择t_char_2、t_char_3、t_charextra、t_iteminfo、t_skill、t_charsns_1、t_charsns_2、t_achievement_flag和t_achievement_date作为待拆分数据表,将所述待拆分数据表中的数据拆分为热数据和冷数据,并将所述热数据和冷数据分别存储在由所述待拆分数据表拆分后得到的热数据表和冷数据表中。其中,上述待拆分数据表只占服务器数据库中总表数的20%,但是上述待拆分数据表中存储的数据量占服务器数据库中总数据量的80%以上。选取满足设定要求的一定数量的数据表作为待拆分数据表,即实现了减少服务器数据规模、提高服务器运行速度的目的,又减少了数据表拆分、数据迁移过程中可能出现的错误。
例如,一个待拆分数据表的存储了100M的数据,所述待拆分数据表中存储有活跃游戏用户D的数据。如果要从所述待拆分数据表中查找所述活跃游戏用户D的数据,将花费较长的时间。然而,当把所述待拆分数据表拆分为一个热数据表和一个冷数据表之后,热数据表中存储20M的活跃游戏用户的数据,冷数据表中存储80M的非活跃游戏用户的数据。此时,可以直接从大小只有20M的热数据表中查找活跃游戏用户D的数据,提高了数据查找效率。
这里需要说明的是,所述热数据表和所述冷数据表与所述热数据表和冷数据表对应的待拆分数据表的表结构相同,所述热数据表和所述冷数据表可以存储在同一数据库中,也可以分别存储在不同的数据库中,本发明实施例对此不作限制。
较佳地,可以选择t_char_1作为基准数据表。其中,t_char_1表中包含所有游戏用户的唯一记录标识。并,在t_char_1表中插入一列,作为游戏用户的活跃度标识。如,活跃游戏用户的活跃度标识为1,否则,活跃度标识为0。
较佳地,游戏用户的活跃度标识的配置方法具体如下:
当某一游戏用户登陆游戏,则将该游戏用户的活跃度标识配置为1。其中,该游戏用户可以是一个新注册的游戏用户,第一次登陆游戏;也可以是,一个长时间(如,三个月以上)未登陆过游戏的游戏用户,再次登陆游戏。同时,当该游戏用户登陆游戏后,该游戏用户的所有数据均保存在服务器数据库中对应的热数据表中。
当对游戏用户数据进行处理时,获取游戏用户的最后一次登陆时间,当所述最后一次登陆时间满足设定时间标准时,将该游戏用户的活跃度标识配置为1;否则,配置为0。如,游戏用户A的最后一次登陆游戏的时间距离当前时间小于三个月,则将游戏用户A的活跃度标识配置为1;游戏用户B的最后一次登陆游戏的时间距离当前时间超过三个月(大于等于三个月),则将游戏用户B的活跃度标识配置为0。
这里需要说明的是,游戏用户一旦登陆游戏,则游戏用户的数据均保存在对应的热数据表中,且,该游戏用户的活跃度标识也配置为1。故,一般地,在进行数据处理之前,热数据表中存储的数据对应的游戏用户的默认初始活跃度标识均为1。进而,在本实施中,在对热数据表中存储的数据对应的游戏用户的活跃度标识的进行配置时,可以将满足设定时间标准的游戏用户的活跃度标识由1配置为0,但不做逆向操作。
步骤304,导出每个所述待拆分数据表中的记录,获取第一导出数据;并,将所述第一导出数据从所述待拆分数据表中删除。
步骤306,将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表,并将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
步骤308,在设定时间间隔之后,导出所述热数据表内的记录,获取第二导出数据;并,将所述第二导出数据从所述热数据表中删除。
步骤310,从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中。
这里需要说明的是,在数据处理过程中,可以将热数据表中存储的符合条件的数据移动至冷数据表中,但是不作逆向操作(如,将冷数据表中的数据移动至热数据表中)。当冷数据表中的数据对应的游戏用户重新登陆游戏时,服务器可以从冷数据表中读取该游戏用户的数据,并将读取的数据存储至对应的热数据表中。
步骤312,获取活跃度标识指示为非活跃的第二导出数据;
步骤314,从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据。
在本实施例中,可以在游戏进行合服时,对游戏数据进行处理。在合服时,冷数据表中的数据可以通过合服工具MergeDBTransporter进行数据合并。由于在本实施中,将三个月以上未登陆过游戏的用户作为非活跃用户,所述非活跃用户的数据为冷数据。故,在MergeDBTransporter开始运行之后,以及合服结束后三个月以内,不再次对游戏数据进行处理。
综上所述,本发明实施例所述的数据处理的方法,将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据和冷数据。进一步地,将活跃的数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
进一步地,在数据处理完成之后,还可以对处理后的数据进行备份,整个服务器数据库中的数据以表为单位进行备份。如,冷数据表全备、热数据表全备和热数据表增备;其中,增备是指只备份被修改过的数据。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明第四实施例中一种数据处理的系统的结构框图,具体可以包括如下模块:
确定模块402,用于确定基准数据表和至少一个待拆分数据表。其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准。
第一导出模块404,用于导出每个所述待拆分数据表中的记录,获取第一导出数据。
第一删除模块406,用于将所述第一导出数据从所述待拆分数据表中删除。
拆分模块408,用于将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表。
第一导入模块410,用于将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
综上所述,本发明实施例所述的数据处理的系统,将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据和冷数据。进一步地,将活跃的数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
参照图5,示出了本发明第五实施例中一种数据处理的系统的结构框图,具体可以包括如下模块:
确定模块502,用于确定基准数据表和至少一个待拆分数据表。其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准。
在本实施例中,所述待拆分数据表包括但不仅限于:存储扩展数据的数据表,存储装备数据的数据表,存储技能数据的数据表,和存储聊天数据的数据表中的至少一个。所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,所述基准数据表可以包括但不仅限于:t_char_1。
第一导出模块504,用于导出每个所述待拆分数据表中的记录,获取第一导出数据。
第一删除模块506,用于将所述第一导出数据从所述待拆分数据表中删除。
拆分模块508,用于将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表。
第一导入模块510,用于将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中。
较佳地,在本实施例中,可以通过以下模块确定并配置第一导出数据的活跃度标识:
时间获取模块,用于获取所述第一导出数据的最后使用时间。
活跃度标识配置模块,用于在所述第一导出数据的最后一次使用时间满足设定时间标准时,将所述基准数据表中存储的所述第一导出数据的活跃度标识配置为指示活跃的标识。
第二导出模块512,用于在设定时间间隔之后,导出所述热数据表内的记录,获取第二导出数据。
第二删除模块514,用于将所述第二导出数据从所述热数据表中删除。
第二导入模块516,用于从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中。
在本实施例中,为了避免导入至所述冷数据表中的第二导出数据与原冷数据表中的冷数据重复,在所述第二导入模块516从所述基准数据表中获取所述第二导出数据的活跃度标识之后,将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中之前,可以先执行如下模块:
活跃度标识获取模块,用于在所述第二导入模块从所述基准数据表中获取所述第二导出数据的活跃度标识之后,获取活跃度标识指示为非活跃的第二导出数据。
第三删除模块,用于从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据。
在本实施例中,由于数据分别存储在热数据表中和冷数据表中,故,当服务器接收到数据调用请求时,可以执行如下模块:
数据获取模块,用于接收数据调用请求,并从热数据表或冷数据表中获取所述数据调用请求对应的数据。
活跃度标识修改模块,用于在从冷数据表中获取所述数据调用请求对应的数据时,将所述基准数据表中所述数据调用请求对应的数据的活跃度标识配置为指示活跃的标识。
较佳地,当服务器接收到新增数据时,可以执行如下模块:
数据接收模块,用于接收新增数据,并将所述新增数据保存在所述新增数据对应的热数据表中。
保存模块,用于将所述新增数据对应的唯一记录标识和活跃度标识记录并保存在所述基准数据表中。其中,所述新增数据对应的活跃度标识指示为活跃。
综上所述,本发明实施例所述的数据处理的系统,将待拆分数据表拆分为热数据表和冷数据表,并将所述待拆分数据表中的数据分为热数据和冷数据。
进一步地,将活跃的数据存储在热数据表中,将冷数据存储在冷数据表中。服务器在查找数据时,从热数据表或冷数据表中获取数据,由于所述热数据表和所述冷数据表中存储的数据量都小于对应的原待拆分数据表中存储的数据量,故,提高了数据查找的效率,降低了服务器的承载压力。
进一步地,由于热数据是频繁使用的,冷数据被使用的概率很低,故,影响数据查找效率的主要因素在于热数据表的规模,在本发明实施例中,及时将服务器数据库中的冷数据分离出来,减少热数据表的规模,进一步提高了数据查找效率,避免了数据获取过程中的延时。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种数据处理的方法,其特征在于,包括:
确定基准数据表和至少一个待拆分数据表,其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准;
导出每个所述待拆分数据表中的记录,获取第一导出数据;并,将所述第一导出数据从所述待拆分数据表中删除;
将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表,并将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中;
在设定时间间隔之后,导出所述热数据表内的记录,获取第二导出数据;并,
将所述第二导出数据从所述热数据表中删除;
从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中;
获取活跃度标识指示为非活跃的第二导出数据;
从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据;
接收数据调用请求,从热数据表或冷数据表中获取所述数据调用请求对应的数据;
当从冷数据表中获取所述数据调用请求对应的数据时,将所述基准数据表中所述数据调用请求对应的数据的活跃度标识配置为指示活跃的标识。
2.如权利要求1所述的方法,其特征在于,在所述将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中步骤之后,所述方法还包括:
接收新增数据,并将所述新增数据保存在所述新增数据对应的热数据表中;并,
将所述新增数据对应的唯一记录标识和活跃度标识记录并保存在所述基准数据表中;其中,所述新增数据对应的活跃度标识指示为活跃。
3.如权利要求1所述的方法,其特征在于,在所述导出每个所述待拆分数据表中的记录,获取第一导出数据步骤之后,所述方法还包括:
获取所述第一导出数据的最后使用时间;
当所述第一导出数据的最后一次使用时间满足设定时间标准时,将所述基准数据表中存储的所述第一导出数据的活跃度标识配置为指示活跃的标识。
4.如权利要求1所述的方法,其特征在于,所述待拆分数据表包括:存储扩展数据的数据表,存储装备数据的数据表,存储技能数据的数据表,和存储聊天数据的数据表中的至少一个。
5.一种数据处理的系统,其特征在于,所述系统包括:
确定模块,用于确定基准数据表和至少一个待拆分数据表;其中,所述基准数据表中包含有所述待拆分数据表中的记录的唯一记录标识和活跃度标识,每个所述待拆分数据表的大小满足设定标准;
第一导出模块,用于导出每个所述待拆分数据表中的记录,获取第一导出数据;
第一删除模块,用于将所述第一导出数据从所述待拆分数据表中删除;
拆分模块,用于将每个所述待拆分数据表分别拆分为一个热数据表和一个冷数据表;
第一导入模块,用于将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中;
第二导出模块,用于在所述第一导入模块将将活跃度标识指示为活跃的第一导出数据导入至所述第一导出数据对应的热数据表中;否则,导入至所述第一导出数据对应的冷数据表中之后,且满足设定时间间隔时,导出所述热数据表内的记录,获取第二导出数据;
第二删除模块,用于将所述第二导出数据从所述热数据表中删除;
第二导入模块,用于从所述基准数据表中获取所述第二导出数据的活跃度标识,并将活跃度标识指示为活跃的第二导出数据导入至所述第二导出数据对应的热数据表中;否则,导入至所述第二导出数据对应的冷数据表中;
其中,所述系统还包括:
活跃度标识获取模块,用于在所述第二导入模块从所述基准数据表中获取所述第二导出数据的活跃度标识之后,获取活跃度标识指示为非活跃的第二导出数据;
第三删除模块,用于从冷数据表中删除与所述活跃度标识指示为非活跃的第二导出数据相同的数据;
数据获取模块,用于接收数据调用请求,并从热数据表或冷数据表中获取所述数据调用请求对应的数据;
活跃度标识修改模块,用于在从冷数据表中获取所述数据调用请求对应的数据时,将所述基准数据表中所述数据调用请求对应的数据的活跃度标识配置为指示活跃的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410103231.5A CN104933066B (zh) | 2014-03-19 | 2014-03-19 | 一种数据处理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410103231.5A CN104933066B (zh) | 2014-03-19 | 2014-03-19 | 一种数据处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104933066A CN104933066A (zh) | 2015-09-23 |
CN104933066B true CN104933066B (zh) | 2019-03-15 |
Family
ID=54120234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410103231.5A Active CN104933066B (zh) | 2014-03-19 | 2014-03-19 | 一种数据处理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104933066B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153852A (zh) * | 2017-12-22 | 2018-06-12 | 中国平安人寿保险股份有限公司 | 一种数据处理方法、装置、终端设备及存储介质 |
CN109274760A (zh) * | 2018-10-19 | 2019-01-25 | 西安瑜乐文化科技股份有限公司 | 一种移动开发冷热数据拆分方法 |
CN112380217B (zh) * | 2020-11-17 | 2024-04-12 | 安徽鸿程光电有限公司 | 数据处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566986A (zh) * | 2008-04-21 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 联机事务处理中的数据处理方法和装置 |
CN102708188A (zh) * | 2012-05-15 | 2012-10-03 | 苏州阔地网络科技有限公司 | 一种数据分离的方法及系统 |
CN102999526A (zh) * | 2011-09-16 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据库关系表的拆分、查询方法及系统 |
CN103020193A (zh) * | 2012-12-03 | 2013-04-03 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法和设备 |
CN103365881A (zh) * | 2012-03-30 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 基于数据特征的数据存取方法及系统 |
-
2014
- 2014-03-19 CN CN201410103231.5A patent/CN104933066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101566986A (zh) * | 2008-04-21 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 联机事务处理中的数据处理方法和装置 |
CN102999526A (zh) * | 2011-09-16 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据库关系表的拆分、查询方法及系统 |
CN103365881A (zh) * | 2012-03-30 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 基于数据特征的数据存取方法及系统 |
CN102708188A (zh) * | 2012-05-15 | 2012-10-03 | 苏州阔地网络科技有限公司 | 一种数据分离的方法及系统 |
CN103020193A (zh) * | 2012-12-03 | 2013-04-03 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104933066A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230185857A1 (en) | Method and system for providing context based query suggestions | |
CN106487850B (zh) | 一种云环境下获取镜像的方法、装置和系统 | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
WO2017020637A1 (zh) | 一种分布式数据计算的任务分配方法和任务分配装置 | |
CN104123238A (zh) | 数据存储方法及装置 | |
US11288287B2 (en) | Methods and apparatus to partition a database | |
CN109033360B (zh) | 一种数据查询方法、装置、服务器及存储介质 | |
CN103235811B (zh) | 一种数据存储方法及装置 | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN105683928B (zh) | 用于数据高速缓存策略的方法、服务器和存储器设备 | |
CN104933066B (zh) | 一种数据处理的方法和系统 | |
CN103793439A (zh) | 一种实时检索信息获取方法、装置及服务器 | |
EP3640813A1 (en) | Random walk method, apparatus and device, and cluster-based random walk method, apparatus and device | |
CN110427364A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN104281535B (zh) | 一种映射表在内存中的处理方法和装置 | |
WO2014146441A1 (en) | Method, server and system for processing task data | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
CN105094811A (zh) | 一种事件处理的方法和装置 | |
CN106775470A (zh) | 一种数据存储的方法及系统 | |
JPWO2015145762A1 (ja) | データベース管理システム、計算機、データベース管理方法 | |
CN108182204A (zh) | 基于房产交易多维度数据的数据查询的处理方法及装置 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN106570060A (zh) | 一种信息流中数据的随机抽取方法及装置 | |
WO2017172373A1 (en) | Search navigation element | |
US10606652B2 (en) | Determining tenant priority based on resource utilization in separate time intervals and selecting requests from a particular tenant based on the priority |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |