CN104408165B - 高并发下的数据存储方法和装置 - Google Patents

高并发下的数据存储方法和装置 Download PDF

Info

Publication number
CN104408165B
CN104408165B CN201410743790.2A CN201410743790A CN104408165B CN 104408165 B CN104408165 B CN 104408165B CN 201410743790 A CN201410743790 A CN 201410743790A CN 104408165 B CN104408165 B CN 104408165B
Authority
CN
China
Prior art keywords
specific data
data information
stored
cryptographic hash
collection
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
Application number
CN201410743790.2A
Other languages
English (en)
Other versions
CN104408165A (zh
Inventor
樊进忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHANJET INFORMATION TECHNOLOGY Co Ltd
Original Assignee
CHANJET INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHANJET INFORMATION TECHNOLOGY Co Ltd filed Critical CHANJET INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410743790.2A priority Critical patent/CN104408165B/zh
Publication of CN104408165A publication Critical patent/CN104408165A/zh
Application granted granted Critical
Publication of CN104408165B publication Critical patent/CN104408165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种高并发下的数据存储方法和一种高并发下的数据存储装置,其中,所述高并发下的数据存储方法包括:步骤102,获取用户访问应用程序时产生的特定数据信息;步骤104,将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;步骤106,按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分。通过本发明的技术方案,可以有效地避免高并发下的单点阻塞问题,以及可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性。

Description

高并发下的数据存储方法和装置
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种高并发下的数据存储方法和一种高并发下的数据存储装置。
背景技术
目前,在互联网的应用中,经常会出现较为火爆的短链接,在短时间内就有数以万计的人点击、跳转,因此,所有的应用都需要支持大用户并发,任何一个单点问题都会影响***的性能;而且,对于正在由传统软件包企业向移动互联网转型的企业,传统软件包产品的用户并发数基本是固定,对用户并发数的要求也不高,而移动互联网产品端的用户数是不断增长的,而且用户的使用是不间断的,随时都有可能出现大量的用户使用,任何一个点存在单点问题,都将会影响***的性能和用户的体验。
随着应用对高性能需求的增加,解决高并发下的单点问题的设计方案也由原来的数据库模式,转向数据库加缓存的模式,而且,常用的、高效率的数据运算也需要在内存中完成,通过这种实现模式才能够满足移动互联网应用的需求。另外,数据更新后,为了保证数据的安全性、可靠性,还需要把缓存中的部分数据持久化到数据库中。
在开发工作圈应用时,预估有100万个圈子,100万用户,100万个帖子,每个用户加入至少50个圈子,每个帖子至少100个评论,根据以上需求,***需要支持十万用户并发,每个事务处理的时间都需要在毫秒级,并且这个应用还需要支持千万级的用户发帖。而且,更新圈子最后查看时间时,若采用直接调用数据库的更新接口对最后查看时间进行持久化的技术方案,如图1所示,由于业务需求对应用的性能要求很高,在进行性能压力测试时,通过数据库更新最后查看时间一直出现阻塞状态。
因此,需要一种高并发下的数据存储方法,可以有效地避免高并发下的单点阻塞问题,并且能够高效地将数据持久化到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
发明内容
本发明所要解决的技术问题在于,提供一种高并发下的数据存储方法,通过将数据分布存储到不同的服务器的不同服务节点上,以及采用异步读取数据的方式将数据持久化到数据库中,可以有效地避免高并发下的单点阻塞问题,并且能够高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
根据本发明的一个方面,提供了一种高并发下的数据存储方法,包括:步骤102,获取用户访问应用程序时产生的特定数据信息;步骤104,将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;步骤106,按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分。
在该技术方案中,通过将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点(比如,有4个服务器,每个服务器上有8个节点,当然也可以是其他配置)上进行缓存,可以有效地避免高并发下的单点阻塞问题;另一方面,通过每隔预设时间间隔(比如5分钟)按预设规则将所有服务节点上存储的部分特定数据信息(即特定数据信息集,比如,某个时间段内保存到服务器上的特定数据信息)持久化存储到数据库中,即通过异步读取数据的方式将特定数据信息存储到数据库中,可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
在上述技术方案中,优选地,所述步骤104具体包括:获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
在该技术方案中,通过预定算法(比如一致性哈希算法)将获取的特定数据信息(比如,最后阅读时间)的第一计算值(比如,键值)转换为第一哈希值,然后根据该第一哈希值将对应的特定数据信息存储到多个服务器的多个服务节点的其中一个服务节点上,即可以有效地实现将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点上进行缓存,可以在满足其他线程读取需求的同时,有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述预设规则具体包括:获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
在该技术方案中,在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过将特定数据信息集中的每一个特定数据信息的第二计算值转换为对应的第二哈希值,且第二计算值、第二哈希值分别与第一计算值、第一哈希值相同,可以为从高效地将特定数据信息集存储到数据库中提供有利的前提保障。
在上述技术方案中,优选地,所述预设规则具体还包括:获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
在该技术方案中,在将在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过所有服务器中存储的所有特定数据信息进行排序,可以有效地提高特定数据信息的比对效率,进而保证特定数据信息集的获取效率。
在上述技术方案中,优选地,所述步骤106还包括:当将所述特定信息集存储至所述数据库中后,将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
在该技术方案中,在将特定信息集存储到数据库中后,将其在对应的服务节点中删除,以便于为缓存新的特定数据信息提供足够的存储空间,进而有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
在该技术方案中,特定数据信息包括但不限于用户访问应用程序的最后阅读时间;预设时间间隔包括但不限于5分钟,可以根据用户访问量、服务器配置等进行设置;预定算法可以为一致性哈希算法,但不限于此。
根据本发明的另一方面,提出了一种高并发下的数据存储装置,其特征在于,包括:获取模块,获取用户访问应用程序时产生的特定数据信息;第一控制模块,控制将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;第二控制模块,控制按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分。
在该技术方案中,通过将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点(比如,有4个服务器,每个服务器上有8个节点,当然也可以是其他配置)上进行缓存,可以有效地避免高并发下的单点阻塞问题;另一方面,通过每隔预设时间间隔(比如5分钟)按预设规则将所有服务节点上存储的部分特定数据信息(即特定数据信息集,比如,某个时间段内保存到服务器上的特定数据信息)持久化存储到数据库中,即通过异步读取数据的方式将特定数据信息存储到数据库中,可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
在上述技术方案中,优选地,所述第一控制模块具体包括:第一计算模块,用于获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及所述第一控制模块还用于:控制根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
在该技术方案中,通过预定算法(比如一致性哈希算法)将获取的特定数据信息(比如,最后阅读时间)的第一计算值(比如,键值)转换为第一哈希值,然后根据该第一哈希值将对应的特定数据信息存储到多个服务器的多个服务节点的其中一个服务节点上,即可以有效地实现将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点上进行缓存,可以在满足其他线程读取需求的同时,有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述第二控制模块具体包括:第二计算模块,用于获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,并按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
在该技术方案中,在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过将特定数据信息集中的每一个特定数据信息的第二计算值转换为对应的第二哈希值,且第二计算值、第二哈希值分别与第一计算值、第一哈希值相同,可以为从高效地将特定数据信息集存储到数据库中提供有利的前提保障。
在上述技术方案中,优选地,所述第二控制模块具体还包括:排序模块,用于获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;以及所述第二控制模块还用于:根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
在该技术方案中,在将在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过所有服务器中存储的所有特定数据信息进行排序,可以有效地提高特定数据信息的比对效率,进而保证特定数据信息集的获取效率。
在上述技术方案中,优选地,所述第二控制模块具体还包括:删除模块,当将所述特定信息集存储至所述数据库中后,用于将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
在该技术方案中,在将特定信息集存储到数据库中后,将其在对应的服务节点中删除,以便于为缓存新的特定数据信息提供足够的存储空间,进而有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
在该技术方案中,特定数据信息包括但不限于用户访问应用程序的最后阅读时间;预设时间间隔包括但不限于5分钟,可以根据用户访问量、服务器配置等进行设置;预定算法可以为一致性哈希算法,但不限于此。
通过上述技术方案,可以有效地避免高并发下的单点阻塞问题,以及可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
附图说明
图1示出了相关技术中的直接将数据持久化存储到数据库中的流程示意图;
图2示出了根据本发明的一个实施例的高并发下的数据存储方法的流程示意图;
图3示出了根据本发明的一个实施例的高并发下的数据存储装置的结构示意图;
图4示出了根据本发明的另一个实施例的高并发下的数据存储方法的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图2示出了根据本发明的一个实施例的高并发下的数据存储方法的流程示意图。
如图2所示,根据本发明的一个实施例的高并发下的数据存储方法,包括:步骤102,获取用户访问应用程序时产生的特定数据信息;步骤104,将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;步骤106,按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分。
在该技术方案中,通过将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点(比如,有4个服务器,每个服务器上有8个节点,当然也可以是其他配置)上进行缓存,可以有效地避免高并发下的单点阻塞问题;另一方面,通过每隔预设时间间隔(比如5分钟)按预设规则将所有服务节点上存储的部分特定数据信息(即特定数据信息集,比如,某个时间段内保存到服务器上的特定数据信息)持久化存储到数据库中,即通过异步读取数据的方式将特定数据信息存储到数据库中,可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
在上述技术方案中,优选地,所述步骤104具体包括:获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
在该技术方案中,通过预定算法(比如一致性哈希算法)将获取的特定数据信息(比如,最后阅读时间)的第一计算值(比如,键值)转换为第一哈希值,然后根据该第一哈希值将对应的特定数据信息存储到多个服务器的多个服务节点的其中一个服务节点上,即可以有效地实现将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点上进行缓存,可以在满足其他线程读取需求的同时,有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述预设规则具体包括:获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
在该技术方案中,在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过将特定数据信息集中的每一个特定数据信息的第二计算值转换为对应的第二哈希值,且第二计算值、第二哈希值分别与第一计算值、第一哈希值相同,可以为从高效地将特定数据信息集存储到数据库中提供有利的前提保障。
在上述技术方案中,优选地,所述预设规则具体还包括:获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
在该技术方案中,在将在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过所有服务器中存储的所有特定数据信息进行排序,可以有效地提高特定数据信息的比对效率,进而保证特定数据信息集的获取效率。
在上述技术方案中,优选地,所述步骤106还包括:当将所述特定信息集存储至所述数据库中后,将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
在该技术方案中,在将特定信息集存储到数据库中后,将其在对应的服务节点中删除,以便于为缓存新的特定数据信息提供足够的存储空间,进而有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
在该技术方案中,特定数据信息包括但不限于用户访问应用程序的最后阅读时间;预设时间间隔包括但不限于5分钟,可以根据用户访问量、服务器配置等进行设置;预定算法可以为一致性哈希算法,但不限于此。
图3示出了根据本发明的一个实施例的高并发下的数据存储装置的结构示意图。
如图3所示,根据本发明的一个实施例的高并发下的数据存储装置,
包括:获取模块302,获取用户访问应用程序时产生的特定数据信息;第一控制模块304,控制将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;第二控制模块306,控制按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分。
在该技术方案中,通过将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点(比如,有4个服务器,每个服务器上有8个节点,当然也可以是其他配置)上进行缓存,可以有效地避免高并发下的单点阻塞问题;另一方面,通过每隔预设时间间隔(比如5分钟)按预设规则将所有服务节点上存储的部分特定数据信息(即特定数据信息集,比如,某个时间段内保存到服务器上的特定数据信息)持久化存储到数据库中,即通过异步读取数据的方式将特定数据信息存储到数据库中,可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
在上述技术方案中,优选地,所述第一控制模块304具体包括:第一计算模块3042,用于获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及所述第一控制模块还用于:控制根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
在该技术方案中,通过预定算法(比如一致性哈希算法)将获取的特定数据信息(比如,最后阅读时间)的第一计算值(比如,键值)转换为第一哈希值,然后根据该第一哈希值将对应的特定数据信息存储到多个服务器的多个服务节点的其中一个服务节点上,即可以有效地实现将不同用户访问应用程序时产生的特定数据信息(比如,最后阅读时间)分布存储到不同服务器的不同服务节点上进行缓存,可以在满足其他线程读取需求的同时,有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述第二控制模块306具体包括:第二计算模块3062,用于获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,并按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
在该技术方案中,在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过将特定数据信息集中的每一个特定数据信息的第二计算值转换为对应的第二哈希值,且第二计算值、第二哈希值分别与第一计算值、第一哈希值相同,可以为从高效地将特定数据信息集存储到数据库中提供有利的前提保障。
在上述技术方案中,优选地,所述第二控制模块306具体还包括:排序模块3064,用于获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;以及所述第二控制模块306还用于:根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
在该技术方案中,在将在将特定数据信息集(比如,某个时间段内保存到服务器上的特定数据信息)存储到数据库中之前,通过所有服务器中存储的所有特定数据信息进行排序,可以有效地提高特定数据信息的比对效率,进而保证特定数据信息集的获取效率。
在上述技术方案中,优选地,所述第二控制模块306具体还包括:删除模块3066,当将所述特定信息集存储至所述数据库中后,用于将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
在该技术方案中,在将特定信息集存储到数据库中后,将其在对应的服务节点中删除,以便于为缓存新的特定数据信息提供足够的存储空间,进而有效地避免高并发下的单点阻塞问题。
在上述技术方案中,优选地,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
在该技术方案中,特定数据信息包括但不限于用户访问应用程序的最后阅读时间;预设时间间隔包括但不限于5分钟,可以根据用户访问量、服务器配置等进行设置;预定算法可以为一致性哈希算法,但不限于此。
图4示出了根据本发明的另一个实施例的高并发下的数据存储方法的流程示意图。
如图4所示,根据本发明的另一个实施例的高并发下的数据存储方法,具体包括:
步骤402,获取用户点击查询成员圈子(应用程序)的最后阅读时间(特定数据信息);
步骤404,获取最后阅读时间的键值(第一计算值);
步骤406,根据一致性哈希算法(预定算法)将键值转为一致性哈希值(第一哈希值);
步骤408,根据一致性哈希值将最后阅读时间存储到一个服务节点中;
步骤410,每隔5分钟(预设时间间隔)从所有服务器的所有服务节点中获取一批最后阅读时间的键值(第二计算值),并根据一致性哈希算法(预定算法)将键值转为一致性哈希值(第二哈希值);
步骤412,所有服务器的所有服务节点中存储的最后阅读时间的数据长度列表;
步骤414,根据每个数据长度列表的数据长度,将所有服务器的所有服务节点中存储的所有最后阅读时间按降序排序;
步骤416,根据需要获取的一批最后阅读时间的所有一致性哈希值,从排好序的所有最后阅读时间中获取需要的一批最后阅读时间,并将该批最后阅读时间存储到数据库中;
步骤418,在该批最后阅读时间所在的服务节点中,将该批最后阅读时间删除。
因此,根据本发明的技术方案,可以有效地避免高并发下的单点阻塞问题,以及可以高效地将数据持久化存储到数据库中,并保证数据的安全性和可靠性,同时提高***每秒处理的事物数,进而提高***性能。
在本发明中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,术语“一个实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种高并发下的数据存储方法,其特征在于,包括:
步骤102,获取用户访问应用程序时产生的特定数据信息;
步骤104,将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;
步骤106,按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分;
所述步骤104具体包括:
获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
2.根据权利要求1所述的高并发下的数据存储方法,其特征在于,所述预设规则具体包括:
获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
3.根据权利要求2所述的高并发下的数据存储方法,其特征在于,所述预设规则还包括:
获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;
根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
4.根据权利要求1至3中任一项所述的数据存储方法,其特征在于,所述步骤106还包括:当将所述特定信息集存储至所述数据库中后,将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
5.根据权利要求1至3中任一项所述的数据存储方法,其特征在于,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
6.一种高并发下的数据存储装置,其特征在于,包括:
获取模块,获取用户访问应用程序时产生的特定数据信息;
第一控制模块,控制将所述特定数据信息存储至服务节点中,所述服务节点为多个服务器中包含的所有服务节点中的任一个;
第二控制模块,控制按预设规则每隔预设时间间隔获取所述所有服务节点中存储的特定数据信息集,并将所述特定数据信息集存储至数据库中,其中,所述特定数据信息集为所述所有服务节点中存储的所有所述特定数据信息的一部分;
所述第一控制模块具体包括:
第一计算模块,用于获取所述特定数据信息的第一计算值,并按照预定算法将所述第一计算值转换为第一哈希值,以及所述第一控制模块还用于:控制根据所述第一哈希值将所述特定数据信息存储至所述服务节点中。
7.根据权利要求6所述的高并发下的数据存储装置,其特征在于,所述第二控制模块具体包括:
第二计算模块,用于获取所述特定数据信息集中所有所述特定数据信息对应的第二计算值,并按照所述预定算法将所有所述第二计算值转换为对应的第二哈希值,其中,所述第二哈希值与所述第一哈希值相同,所述第二计算值与所述第一计算值相同。
8.根据权利要求7所述的高并发下的数据存储装置,其特征在于,所述第二控制模块具体还包括:
排序模块,用于获取所述所有服务节点中存储的所有所述特定数据信息对应的数据长度列表,并根据所有所述数据长度列表的数据长度,将所有所述数据长度列表按降序排列;以及所述第二控制模块还用于:
根据所述第二哈希值从按所述数据列表的数据长度降序排列的所述所有所述特定数据信息中获取所述特定信息集,并将所述特定信息集存储至所述数据库中。
9.根据权利要求6至8中任一项所述的数据存储装置,其特征在于,所述第二控制模块具体还包括:
删除模块,当将所述特定信息集存储至所述数据库中后,用于将所述特定信息集中的所述特定数据信息从对应的所述服务节点中删除。
10.根据权利要求6至8中任一项所述的数据存储装置,其特征在于,所述特定数据信息为用户访问应用程序的最后阅读时间,所述预设时间间隔为5分钟,以及所述预定算法为一致性哈希算法。
CN201410743790.2A 2014-12-08 2014-12-08 高并发下的数据存储方法和装置 Active CN104408165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410743790.2A CN104408165B (zh) 2014-12-08 2014-12-08 高并发下的数据存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410743790.2A CN104408165B (zh) 2014-12-08 2014-12-08 高并发下的数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN104408165A CN104408165A (zh) 2015-03-11
CN104408165B true CN104408165B (zh) 2018-04-13

Family

ID=52645796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410743790.2A Active CN104408165B (zh) 2014-12-08 2014-12-08 高并发下的数据存储方法和装置

Country Status (1)

Country Link
CN (1) CN104408165B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934037A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种高并发实现数据库快速加载数据的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152352A (zh) * 2013-03-15 2013-06-12 北京邮电大学 一种基于云计算环境的全信息安全取证监听方法和***
CN103299331A (zh) * 2010-08-27 2013-09-11 黑鹰网络股份有限公司 具有储蓄特征的预付卡
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法
CN104156380A (zh) * 2014-03-04 2014-11-19 深圳信息职业技术学院 一种分布式存储器哈希索引方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968432B2 (en) * 2003-05-16 2005-11-22 International Business Machines Corporation Method and system for altering a sequence number assignment pattern while preserving integrity and high concurrency in a multi-system shared disk environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299331A (zh) * 2010-08-27 2013-09-11 黑鹰网络股份有限公司 具有储蓄特征的预付卡
CN103152352A (zh) * 2013-03-15 2013-06-12 北京邮电大学 一种基于云计算环境的全信息安全取证监听方法和***
CN104156380A (zh) * 2014-03-04 2014-11-19 深圳信息职业技术学院 一种分布式存储器哈希索引方法及***
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法

Also Published As

Publication number Publication date
CN104408165A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
US9317542B2 (en) Declarative specification of data integration workflows for execution on parallel processing platforms
CN102682059B (zh) 用于将用户分配到集群的方法和***
US8635250B2 (en) Methods and systems for deleting large amounts of data from a multitenant database
US8380680B2 (en) Piecemeal list prefetch
CN109034988B (zh) 一种会计分录生成方法和装置
US20120072992A1 (en) Securing sensitive data for cloud computing
CN107315776A (zh) 一种基于云计算的数据管理***
CN106605221A (zh) 具有用于即时索引的方法的多用户搜索***
CN108171528B (zh) 一种归因方法及归因***
US20170154067A1 (en) Real time big data master data management
US10893091B2 (en) Management of asynchronous content post and media file transmissions
CN111046237A (zh) 用户行为数据处理方法、装置、电子设备及可读介质
CN104850627A (zh) 进行分页展示的方法及装置
US11362997B2 (en) Real-time policy rule evaluation with multistage processing
US20190372880A1 (en) Deserialization service
CN113051480A (zh) 资源推送方法、装置、电子设备及存储介质
US20100036892A1 (en) Determination of an updated data source from disparate data sources
US11409724B2 (en) Hashed balanced tree data structure
US9830377B1 (en) Methods and systems for hierarchical blocking
CN107450976A (zh) 一种高性能计算***的用户统一管理方法
EP2972970B1 (en) Locale-based sorting on mobile devices
CN113641706B (zh) 数据查询的方法和装置
CN104408165B (zh) 高并发下的数据存储方法和装置
WO2018001120A1 (zh) 一种便于支付主体扩展的方法和装置
CN115002211B (zh) 基于云原生的售后微服务实现方法、装置、设备及介质

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