CN108319598B - 数据缓存方法、装置和系统 - Google Patents

数据缓存方法、装置和系统 Download PDF

Info

Publication number
CN108319598B
CN108319598B CN201710029933.7A CN201710029933A CN108319598B CN 108319598 B CN108319598 B CN 108319598B CN 201710029933 A CN201710029933 A CN 201710029933A CN 108319598 B CN108319598 B CN 108319598B
Authority
CN
China
Prior art keywords
user
service
cache
association table
information
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
CN201710029933.7A
Other languages
English (en)
Other versions
CN108319598A (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.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing 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 Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201710029933.7A priority Critical patent/CN108319598B/zh
Publication of CN108319598A publication Critical patent/CN108319598A/zh
Application granted granted Critical
Publication of CN108319598B publication Critical patent/CN108319598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F16/986Document structures and storage, e.g. HTML extensions

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

本申请公开了一种数据缓存方法、装置及系统。设置有多台缓存设备,其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据;在业务处理设备中存储数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;接收到业务请求时,从所述业务请求中提取用户信息;根据用户统计信息确定所述用户信息对应的用户分类;根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备;利用所述数据关联表中所述缓存设备的信息,在所述缓存设备中进行所述业务请求对应的业务数据的读或写。

Description

数据缓存方法、装置和系统
技术领域
本申请涉及计算机技术,特别涉及一种数据缓存方法、装置和系统。
背景技术
在通过互联网为用户提供业务的过程中,后台的多个业务处理设备会并行为大量用户提供服务,同时需要通过接口设备来访问缓存设备,进行业务数据的读取或写入。这种缓存机制下,业务处理设备访问缓存一次需要两次访问操作,一次是业务处理设备访问接口设备,另一次是接口设备访问缓存。这个过程耗时较多,效率较低。
发明内容
本申请实施例提供一种数据缓存方法、装置和系统,可以提高业务数据的存取效率。
本申请实施例的一种数据缓存方法可以包括:
设置多台缓存设备,其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据;
在业务处理设备中存储数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;
接收到业务请求时,从所述业务请求中提取用户信息;
根据用户统计信息确定所述用户信息对应的用户分类;
根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备;
利用所述数据关联表中所述缓存设备的信息,在所述缓存设备中进行所述业务请求对应的业务数据的读或写。
本申请实施例的一种业务处理设备可以包括:
关联表存储模块,用于存储数据关联表,所述数据关联表中记录有用户分类与存储该业务数据的缓存设备的对应关系,其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据;每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;
业务处理模块,用于接收到业务请求时,从所述业务请求中提取用户信息;根据用户统计信息确定所述用户信息对应的用户分类;在所述数据关联表中确定与所述用户分类对应的缓存设备;利用所述数据关联表中所述缓存设备的信息,在所述缓存设备中进行所述业务请求对应的业务数据的读或写。
本申请实施例的一种数据缓存系统可以包括:控制设备、业务处理设备和缓存设备;其中
所述控制设备用于向各业务处理设备提供数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,各缓存设备分别对应一预设的业务数据量范围,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内,以使各业务处理设备根据所述数据关联表在业务请求的业务数据对应的缓存设备中进行所述业务请求对应的业务数据的读或写。
根据上述技术方案,业务处理设备可以根据数据关联表确定需要读取或写入的缓存设备并直接访问该缓存设备,提高了业务数据的存取效率。
附图说明
图1为本申请实施例的一种分布式数据缓存系统的示意图;
图2为本申请实施例的业务处理设备的示意图;
图3为本申请实施例的一种业务数据缓存方法的流程图;
图4为本申请实施例的一种分布式数据缓存系统的示意图;
图5为本申请实施例的数据关联表的一个部分的示意图;
图6为本申请实施例的一种业务数据缓存方法的流程图;
图7为本申请实施例的一种确定缓存设备的流程示意图。
具体实施方式
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”,应当解释为除了之后提到的特征外,其它特征也可以存在。
图1为本申请实施例的一种分布式数据缓存系统的示意图。该系统10可以包括缓存设备11a~11n和业务处理设备12a~12n。
缓存设备11a~11n用于存储业务数据。
业务处理设备12a~12n中存储有数据关联表。数据关联表中记录有用户分类与存储该业务数据的业务处理设备的对应关系。业务处理设备12a~12n可以利用数据关联表确定业务请求的业务数据对应的缓存设备,并在该缓存设备中进行该业务请求的业务数据的读取或写入。
这样,各个业务处理设备和缓存设备就形成了一个分布式的业务处理和数据缓存系统。由于业务处理设备可以根据数据关联表确定需要读取或写入的缓存设备并进行数据存取,提高了业务数据的存取效率。
业务处理设备和缓存设备都可以由独立的设备实现。一些例子中,业务处理设备和缓存设备可以设置在同一个物理设备中,如业务处理设备12b所示。各个设备之间可以通过某种网络通信,例如局域网、广域网,等。各设备间可以采用各种通信机制或通信协议进行通信,例如TCP/IP协议、UDP协议、点到点(Peer-to-Peer)通信机制等。
业务处理设备可以用于为用户提供任一种互联网业务或进行某种业务的监控和数据收集,例如媒体播放业务、社交业务、即时通信业务、媒体推送业务,等。业务请求和业务数据的形式和内容则与具体提供的业务有关。例如,当该系统用于提供媒体推送业务的数据收集时,业务请求可以是用户设备发送的媒体推送获取请求,业务数据则可以包括用户信息、请求来源信息、媒体推送的信息,等。用户信息可以包括用户标识、用户资料(如性别、年龄、职业、终端类型,等),用户的行为信息等。用户标识可以是通用唯一识别码(Universally Unique Identifier)、全局唯一标识符(GUID,Globally UniqueIdentifier),例如,用户的账号(例如邮件地址、即时通信账号、社交系统账号等)、用户使用的终端设备的设备标识(如设备硬件标识码、手机号码、IP地址、广告标示符(identifierfor advertisers,IDFA)等)、应用标识,等。应用标识是指,可以使一用户设备中安装的应用与其它用户设备中安装的同一款应用相区别的标识,例如每个用户使用的腾讯浏览器都有一个唯一的标识,以与其它用户使用的腾讯浏览器相区别。请求来源信息是指发起业务请求的请求方的信息,例如请求业务的应用的信息、请求业务的网页的信息,等。例如,请求媒体推送的应用可以是新闻客户端、浏览器、音/视频客户端、社交客户端,等。媒体推送的信息可以包括媒体推送的标识、展示位置、展示形式、展示时间、展示阶段、展示状态、展示次数、媒体推送的链接,等。
图2为本申请实施例的业务处理设备的示意图。该业务处理设备20可以包括处理器21、通信接口24、存储装置26和总线29。存储装置26中包括操作系统27、通信模块28、关联表存储模块22和业务处理模块23。
处理器21可以有一个或者多个。
业务处理设备20可以利用通信接口24接收用户的业务请求,并通过通信接口24访问缓存设备。
关联表存储模块22可以存储数据关联表。数据关联表中记录有业务数据的信息用户分类与存储该业务数据的缓存设备的对应关系。其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据。每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内。
业务处理模块23可以在接收到业务请求时,从所述业务请求中提取用户信息;根据用户统计信息确定所述用户信息对应的用户分类;在所述数据关联表中确定与所述用户分类对应的缓存设备;利用数据关联表中的缓存设备的信息,在该缓存设备中进行所述业务请求对应的业务数据的读或写。
图3为本申请实施例的一种业务数据缓存方法的流程图。该方法可以应用与包括多台缓存设备的系统。各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据。如图3所示,该方法30可以包括以下步骤。
步骤S31,在业务处理设备中存储数据关联表,所述数据关联表中记录有用户分类与存储该业务数据的缓存设备的对应关系。其中,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内。
步骤S32,接收到业务请求时,从所述业务请求中提取用户信息,根据用户统计信息确定所述用户信息对应的用户分类。
步骤S33,根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备。
步骤S34,利用所述数据关联表中所述缓存设备的信息,在所述缓存设备中进行所述业务请求对应的业务数据的读或写。
这样,业务处理设备可以根据数据关联表确定需要读取或写入的缓存设备并直接访问该缓存设备,提高了业务数据的存取效率。
本申请实施例中,数据关联表可以由一个设备(以下称为控制设备)生成并提供给各业务处理设备。图4为本申请实施例的一种分布式数据缓存系统的示意图。该系统40可以包括缓存设备41a~41n、业务处理设备42a~42n和控制设备43。
控制设备43可以向各业务处理设备提供数据关联表,所述数据关联表中记录有用户分类与存储该业务数据的缓存设备的对应关系,其中,各缓存设备分别对应一预设的业务数据量范围,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内,以使各业务处理设备根据所述数据关联表在业务请求的业务数据对应的缓存设备中进行所述业务请求对应的业务数据的读或写。
缓存设备41a~41n可以按照控制设备43提供的各缓存设备的访问用户数和单用户业务数据量分配内存。当接收到业务处理设备发送的数据存取请求时,将数据写入分配内存块,或者从相应的内存块读取数据提供给业务处理设备。
一些例子中,为了减少缓存设备中的内存碎片,提高访问效率,可以将一些缓存设备配置为仅对较大的内存块进行读写,一些缓存设备配置为仅对较小的内存块进行读写。例如,可以配置缓存设备a仅缓存大小在10k和50k之间的业务数据,缓存设备b仅缓存大小在50k和1M之间的业务数据,等。又例如,可以配置缓存设备1-5缓存大小在10k和50k之间的业务数据,缓存设备6-10缓存大小在50k和1M之间的业务数据,等。这种配置可以通过设计数据关联表中的对应关系实现。
根据一些例子,控制设备43可以根据用户统计信息将各用户按照业务数据量划分为多个用户分类,将所述缓存设备划分为多个对应不同业务数据量范围的缓存设备集合,将属于不同业务数据量范围的用户分类的业务数据关联到不同的缓存设备集合。这样,通过根据业务数据量划分用户并划分缓存设备集合,每个缓存设备集合中的缓存设备都仅缓存大小在某一范围内的数据,可以减少缓存设备中产生的内存碎片,提高缓存利用效率。
一些例子中,可以根据用户统计信息中的用户业务使用频率、用户常用业务等信息对用户进行分类。例如,业务使用频率高的用户,每次使用业务时都会产生该次使用对应的业务数据,因此业务数据量较大。又例如,用户常使用的某类业务需要记录的业务数据较多,也会产生较大的业务数据量。因此,可以根据这些信息生成多个用户分类,每个用户分类对应一个业务使用频率的范围或一种或几种业务。所有业务使用频率落在该范围的用户,或者所有常用业务为该一种或几种业务的用户就可以被认为是属于该用户分类。
一些例子中,可以根据多种用户属性对用户进行多级分类得到所述多个用户分类;针对各用户分类,根据该用户分类的各级分类依据和所述用户统计信息,确定该用户分类中单用户的业务数据量范围。这里,用户属性是指用户的各种信息,例如用户标识、用户资料(如性别、年龄、职业、终端类型,等),用户的行为信息、用户画像数据(即通过大数据技术得到的用户标签信息)、用户当前访问的业务的类型,等。此时,业务处理设备可以从接收到的业务请求中提取用户信息,根据所述用户信息获取所述多种用户属性的属性值,根据所述属性值在所述多个用户分类中确定所述用户信息所属的用户分类。
例如,根据一种信息对用户分类后,可以对得到的多个用户分类中的每个再根据另一种信息分类得到子分类,子分类还可以再进行进一步分类,以此类推。最终得到的最细粒度的分类就可以作为上面的用户分类。各个用户分类可以利用多位的数字或字母进行标识,标识方法可以采用任何可能的方法。例如,可以对各用户分类进行编号,如假设共有N个用户分类,则使用二进制或其它进制表示的数字1~N或0~N-1来标识这N各用户分类。再例如,采用多种信息进行分类的方式时,可以将各分类的关系用树状图来表示,某一层次的节点表示采用某种信息分类得到的类别,其下一层次的节点表示在各类别中进一步采用另一种信息分类得到的子类别。此时,将各节点用一个符号进行标识,从根节点到某个叶节点的符号组合起来就可以标识这个叶节点对应的用户分类。其它例子还可以有其它的标识方法,这里不再赘述。其中,每一层次的多个分类进一步分类时可以分别采用不同的用户属性作为分类依据。
一些例子中,各缓存设备集合可以根据该集合对应的用户分类的用户访问量和单用户的业务数据量来确定。控制设备43可以根据用户统计信息估计各用户分类的访问用户数,根据各缓存设备的缓存使用情况和各用户分类的访问用户数和单用户业务数据量确定各业务数据量范围对应的缓存设备集合。由于不是所有的属于同一个用户分类的用户都会在某个特定的时间段(例如一天、一星期等)内请求业务,而相同时间段内同一分类中提出业务请求的用户的数量(以下简称访问用户数)是基本稳定在某个范围内的,因此可以利用历史信息,例如用户统计信息,业务统计信息等,估算得到。每个用户分类中的用户在特定时段中产生的业务数据量也可以根据用户行为信息、业务信息等估算得到。这样,每个用户分类在特定时间段内需要的内存块的大小及数量就是该用户分类单用户的业务数据量的估值以及该用户分类的访问用户数的估值。例如,用户分类a1的单用户业务数据量估计为10KB,访问用户数为10万;用户分类b3的单用户业务数据量估计为1MB,访问用户数为5万,等。这样,每个用户分类需要的总缓存容量就可以确定,根据各缓存设备的信息,例如缓存使用情况、存储的数据块大小、可用空间、负载情况(例如被访问的频率、单位时间存取次数)、设备能力等,就可以确定各业务数据量范围对应的用户分类需要的缓存设备是哪些,从而确定各缓存设备集合。
一些例子中,控制设备43可以将缓存设备集合对应的各用户分类的访问用户数分配到所述缓存设备集合中的各缓存设备,将各用户分类对应的单用户业务数据量及分配到各缓存设备的访问用户数提供给各缓存设备,使各缓存设备按照各自的访问用户数和单用户业务数据量分配内存。例如,控制设备43可以缓存设备集合对应的各用户分类的访问用户数平均分配或者根据缓存设备的负载情况和负载均衡策略分配到缓存设备集合中的各缓存设备。例如,假设用户分类a1、a2对应缓存设备集合{1,2,3,4,5},a1的单用户业务数据量是10k,访问用户量为500万,a2的单用户业务数据量是20k,访问用户量为500万,则平均分配的方式下,可以配置缓存设备1、2、3、4、5分别分配100万个10k大小的内存块和100万个20k大小的内存块。
经过上面的计算,控制设备43可以根据上面得到的用户分类与缓存设备集合的对应关系、各用户分类的访问用户数和单用户的业务数据量,等,生成数据关联表。数据关联表中可以包括索引和对应的缓存设备的信息。其中,索引可以包括用户分类的标识信息作为缓存设备集合索引。一些例子中,索引还可以包括用户标识信息作为缓存设备索引。图5为本申请实施例的数据关联表的一个部分的示意图。其中,分类数量字段的值为用户分类的总数,集合数量字段的值为缓存设备集合的总数,集合索引字段的值为用户分类的标识,集合字段的值为指向各集合对应的关联关系的指针,用户数量字段的值为该缓存设备集合能够存储的用户数,设备数量字段的值为该缓存设备集合中的缓存设备数量,设备索引字段的值为用户标识信息,设备信息字段的值为缓存设备的信息,例如设备标识、IP地址和端口等。
一些例子中,业务处理设备在步骤S32中,可以利用所述用户标识获取用户分类,利用所述用户分类获得所述索引信息中的缓存设备集合索引,利用所述用户标识获得所述索引信息中的缓存设备索引。然后,业务处理设备可以利用所述索引信息中的缓存设备集合索引在所述数据关联表中确定缓存设备集合,利用所述索引信息中的缓存设备索引在所述缓存设备集合中确定所述缓存设备。
一些例子中,可以针对不同的业务类型分别存储业务数据。例如,对于媒体推送业务的业务数据收集,可以针对各种类型的媒体推送分别进行业务数据收集。业务类型是指按照业务的一种或多种属性对业务分类得到的类型。例如,可以根据业务请求来源对业务进行分类,如,应用A、应用B、应用C等;也可以根据业务的提供方式对业务进行分类,如,媒体推送根据提供方式可以分为信息流、闪屏、贴片等;也可以根据多个属性进行分类,分类方式类似上文中对用户采用多种信息分类的方式。此时,在所述数据关联表中,不同业务类型对应的业务数据可以对应不同的子关联表。上述步骤S32中,业务处理设备可以从所述业务请求中获取用户标识和业务类型,利用所述业务类型获得所述索引信息中的子关联表索引,利用所述用户标识获得所述索引信息中的缓存设备索引。然后,可以利用所述索引信息中的子关联表索引在所述数据关联表中确定子关联表,利用所述索引信息中的缓存设备索引在所述子关联表中确定所述缓存设备。此时,利用所述用户标识获得所述索引信息中的缓存设备索引的方式可以与上述任意例子中的方法相似,例如利用用户标识获得用户分类,从而得到缓存设备集合索引,再根据用户标识的哈希值得到缓存设备索引。
一些例子中,利用所述用户标识获得所述索引信息中的缓存设备索引的方式可以是:将各种用户标识(如UUID、GUID等)依据预设的转换规则转换为缓存设备索引。控制设备43可以将索引的取值范围按照预设的规则对应到多个缓存设备,生成子关联表。这样,子关联表中记录有缓存设备索引信息与存储该业务数据的缓存设备的对应关系。例如,业务处理设备可以从所述业务请求中获取用户标识,可以将业务请求中的用户标识的哈希值作为缓存设备索引,在子关联表中确定该业务请求的业务数据对应的缓存设备。
图6为本申请实施例的一种业务数据缓存方法的流程图。该方法以广告投放数据采集流程为例,描述广告投放数据缓存的过程。如图6所示,该方法60可以包括以下步骤。
步骤S61,业务处理设备收到业务请求,从业务请求中获取业务类型和用户标识。
这里的业务类型可以是请求广告的应用的信息、广告展示形式、内容类型、等中的一个或多个。
步骤S62,业务处理设备根据广告类型获得子表索引,根据子表索引确定数据关联表中的子关联表。
步骤S63,业务处理设备根据用户标识查询用户所属的用户分类,根据用户分类获得缓存设备集合索引,根据缓存设备集合索引在上述子关联表中确定缓存设备集合对应的关联关系条目。
当从业务请求中获得了多种用户标识时,例如QQ号、应用的GUID等,业务处理设备可以根据预设的优先级顺序选择其中优先级最高的用户标识,以此为基准来确定用户所属的用户分类。例如,假设优先级顺序为手机号、QQ号、应用GUID、设备标识,则从获取的用户标识中获取其中优先级最高的标识,利用该优先级最高的标识来获得用户分类。
步骤S64,业务处理设备根据用户标识计算缓存设备索引,在上述关联关系条目中确定该缓存设备索引对应的缓存设备,以该缓存设备作为该业务请求的业务数据对应的缓存设备。
图7为本申请实施例的一种确定缓存设备的流程示意图。其中,标签是指索引中的一部分。
步骤S65,业务处理设备从关联关系条目中获取该缓存设备的标识,生成带有该业务请求的业务数据访问请求的UDP报文,将该UDP报文发到该缓存设备。
如果业务处理设备需要写入业务数据,则可以在UDP报文中加入业务类型、用户分类、用户标识、以及要写入的业务数据等信息。缓存设备收到该UDP报文后,根据用户标识确定是否已经为该用户分配过内存块,如果有,则直接将要写入的数据写入该用户对应的内存块;如果没有,则根据业务类型和用户类型确定要写入的内存块的大小,从可用的该大小的内存块中选择一个,将用户标识、业务数据写入该内存块。
如果业务处理设备需要读取业务数据,则可以在UDP报文中加入业务类型、用户分类、用户标识等信息。缓存设备收到该UDP报文后,根据用户标识查找该用户对应的内存块,并将该内存块中被请求的业务数据读取出来通过UDP报文返回给业务处理设备。
这样,就完成了业务数据在缓存设备中的存取。
一些例子中,控制设备43还可以根据用户统计信息的变化或者业务情况的变化重新生成数据关联表,并将更新后的数据关联表提供给业务处理设备。控制设备43可以计算出每台缓存设备需要分配的内存块大小和数量,并发送分配指令到各缓存设备。更新过程可以在设定的时间执行。例如,根据用户习惯,凌晨的业务访问量较小,此时可以进行内存预分配和调整。更新过程可以按照设定的时间间隔定期执行,例如每天,每十天,等。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。另外,上面描述中采用“第一”、“第二”仅仅为了方便区分具有同一含义的两个对象,并不表示其有实质的区别。
各例中,各模块可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
各模块对应的机器可读指令可以存储在非易失性计算机可读存储介质中,使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
综上所述,权利要求的范围不应局限于以上描述的例子中的实施方式,而应当将说明书作为一个整体并给予最宽泛的解释。

Claims (16)

1.一种数据缓存方法,其特征在于,包括:
设置多台缓存设备,其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据;
在业务处理设备中存储数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;
接收到业务请求时,从所述业务请求中提取用户信息;
根据用户统计信息确定所述用户信息对应的用户分类;
根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备;
利用所述数据关联表中该确定的缓存设备的信息,在该确定的缓存设备中进行所述业务请求对应的业务数据的读或写;
其中,所述根据用户统计信息确定所述用户信息对应的用户分类,包括:
根据用户统计信息中的用户业务使用频率或者用户常用业务信息,将各用户按照业务数据量划分为多个用户分类;
根据所述用户信息获取多种用户属性的属性值,根据所述属性值在所述多个用户分类中确定所述用户信息所属的用户分类。
2.根据权利要求1所述的方法,其特征在于,所述数据关联表根据以下策略配置:将各缓存设备划分为多个对应不同业务数据量范围的缓存设备集合,将属于不同业务数据量范围的用户分类的业务数据关联到不同的缓存设备集合。
3.根据权利要求1所述的方法,其特征在于,所述根据用户统计信息中的用户业务使用频率或者用户常用业务信息,将各用户按照业务数据量划分为多个用户分类,包括:
根据多种用户属性对用户进行多级分类,得到所述多个用户分类;
针对各用户分类,根据该用户分类的各级分类依据和所述用户统计信息,确定该用户分类中单用户的业务数据量范围。
4.根据权利要求2所述的方法,其特征在于,所述将缓存设备划分为多个对应不同业务数据量范围的缓存设备集合,包括:
根据用户统计信息估计各用户分类的访问用户数;
根据各缓存设备的缓存使用情况和各用户分类的访问用户数和单用户业务数据量,确定各业务数据量范围对应的缓存设备集合。
5.根据权利要求1所述的方法,其特征在于,所述根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备,包括:
从所述业务请求中获取用户标识,利用所述用户标识获取所述用户分类,利用所述用户分类获得索引信息中的缓存设备集合索引;
利用所述用户标识获得所述索引信息中的缓存设备索引;
利用所述缓存设备集合索引,在所述数据关联表中确定缓存设备集合;
利用所述缓存设备索引,在所述缓存设备集合中确定所述业务请求对应的缓存设备。
6.根据权利要求1所述的方法,其特征在于,在所述数据关联表中,不同业务类型对应的业务数据对应不同的子关联表;
所述根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备,包括:
从所述业务请求中获取用户标识和业务类型,利用所述业务类型获得索引信息中的子关联表索引,利用所述用户标识获得所述索引信息中的缓存设备索引;
利用所述子关联表索引在所述数据关联表中确定子关联表,利用所述缓存设备索引在所述子关联表中确定所述业务请求对应的缓存设备。
7.一种业务处理设备,其特征在于,包括:
关联表存储模块,用于存储数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,各缓存设备分别对应一预设的业务数据量范围,分别用于存储单用户数据量在相应的业务数据量范围内的业务数据;每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;
业务处理模块,用于接收到业务请求时,从所述业务请求中提取用户信息;根据用户统计信息确定所述用户信息对应的用户分类;根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备;利用所述数据关联表中该确定的缓存设备的信息,在该确定的缓存设备中进行所述业务请求对应的业务数据的读或写;
其中,所述业务处理模块用于,根据用户统计信息中的用户业务使用频率或者用户常用业务信息,将各用户按照业务数据量划分为多个用户分类;根据所述用户信息获取多种用户属性的属性值,根据所述属性值在所述多个用户分类中确定所述用户信息所属的用户分类。
8.根据权利要求7所述的业务处理设备,其特征在于,所述业务处理模块用于,根据多种用户属性对用户进行多级分类,得到所述多个用户分类;针对各用户分类,根据该用户分类的各级分类依据和所述用户统计信息,确定该用户分类中单用户的业务数据量范围。
9.根据权利要求7所述的业务处理设备,其特征在于,所述业务处理模块用于,从所述业务请求中获取用户标识,利用所述用户标识获取所述用户分类,利用所述用户分类获得索引信息中的缓存设备集合索引;利用所述用户标识获得所述索引信息中的缓存设备索引;利用所述缓存设备集合索引,在所述数据关联表中确定缓存设备集合;利用所述缓存设备索引,在所述缓存设备集合中确定所述业务请求对应的缓存设备。
10.根据权利要求7所述的业务处理设备,其特征在于,在所述数据关联表中,不同业务类型对应的业务数据对应不同的子关联表;
所述业务处理模块用于,从所述业务请求中获取用户标识和业务类型,利用所述业务类型获得索引信息中的子关联表索引,利用所述用户标识获得所述索引信息中的缓存设备索引;利用所述子关联表索引在所述数据关联表中确定子关联表,利用所述缓存设备索引在所述子关联表中确定所述业务请求对应的缓存设备。
11.根据权利要求7所述的业务处理设备,其特征在于,所述业务处理模块进一步用于,从控制设备获取所述数据关联表,所述数据关联表由所述控制设备根据以下策略配置:将各缓存设备划分为多个对应不同业务数据量范围的缓存设备集合,将属于不同业务数据量范围的用户分类的业务数据关联到不同的缓存设备集合。
12.一种数据缓存系统,其特征在于,包括:控制设备、业务处理设备和多个缓存设备;
所述控制设备用于,向各业务处理设备提供数据关联表,所述数据关联表中记录有用户分类与缓存设备的对应关系,其中,各缓存设备分别对应一预设的业务数据量范围,每个用户分类的单用户业务数据量在该用户分类对应的缓存设备对应的业务数据量范围内;
所述业务处理设备用于,接收到业务请求时,从所述业务请求中提取用户信息;根据用户统计信息确定所述用户信息对应的用户分类;根据所述用户分类在所述数据关联表中确定所述业务请求对应的缓存设备;利用所述数据关联表中该确定的缓存设备的信息,在该确定的缓存设备中进行所述业务请求对应的业务数据的读或写;
其中,所述业务处理设备用于,根据用户统计信息中的用户业务使用频率或者用户常用业务信息,将各用户按照业务数据量划分为多个用户分类;根据所述用户信息获取多种用户属性的属性值,根据所述属性值在所述多个用户分类中确定所述用户信息所属的用户分类。
13.根据权利要求12所述的系统,其特征在于,所述控制设备用于,将各缓存设备划分为多个对应不同业务数据量范围的缓存设备集合,将属于不同业务数据量范围的用户分类的业务数据关联到不同的缓存设备集合。
14.根据权利要求13所述的系统,其特征在于,所述控制设备用于,根据用户统计信息估计各用户分类的访问用户数;根据各缓存设备的缓存使用情况和各用户分类的访问用户数和单用户业务数据量,确定各业务数据量范围对应的缓存设备集合。
15.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令被至少一个处理器执行时,实现如权利要求1至6中任一项所述的方法。
16.一种业务处理设备,其特征在于,包括存储装置和处理器,所述存储装置中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至6中任一项所述的方法。
CN201710029933.7A 2017-01-16 2017-01-16 数据缓存方法、装置和系统 Active CN108319598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710029933.7A CN108319598B (zh) 2017-01-16 2017-01-16 数据缓存方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710029933.7A CN108319598B (zh) 2017-01-16 2017-01-16 数据缓存方法、装置和系统

Publications (2)

Publication Number Publication Date
CN108319598A CN108319598A (zh) 2018-07-24
CN108319598B true CN108319598B (zh) 2022-02-08

Family

ID=62891676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710029933.7A Active CN108319598B (zh) 2017-01-16 2017-01-16 数据缓存方法、装置和系统

Country Status (1)

Country Link
CN (1) CN108319598B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924954B (zh) * 2018-07-29 2023-11-14 江苏博克斯科技股份有限公司 基于无线网络的水污染监测方法及系统
CN109614347B (zh) * 2018-10-22 2023-07-21 中国平安人寿保险股份有限公司 多级缓存数据的处理方法、装置、存储介质及服务器
CN110659296B (zh) * 2019-09-26 2021-02-12 广州方硅信息技术有限公司 存储方法、装置、设备以及计算机可读介质
CN111046070B (zh) * 2019-11-21 2023-08-18 深圳前海环融联易信息科技服务有限公司 一种智能缓存数据方法、装置、计算机设备及存储介质
CN111143364A (zh) * 2019-12-24 2020-05-12 珠海大横琴科技发展有限公司 一种数据块存储方法、装置、电子设备和存储介质
CN111698177B (zh) * 2020-04-23 2022-10-21 新华三技术有限公司 一种报文处理方法及装置
CN112272210B (zh) * 2020-09-29 2022-02-22 新华三信息安全技术有限公司 一种报文缓存方法及装置
CN112804309B (zh) * 2020-12-31 2022-09-20 中国人寿保险股份有限公司上海数据中心 一种组播推送方法
CN112835682B (zh) * 2021-02-25 2024-04-05 平安消费金融有限公司 一种数据处理方法、装置、计算机设备和可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831772B2 (en) * 2006-12-12 2010-11-09 Sybase, Inc. System and methodology providing multiple heterogeneous buffer caches
CN101499095B (zh) * 2009-03-11 2011-04-27 南京联创科技集团股份有限公司 用于数据共享平台的构建缓冲的方法
CN103226520B (zh) * 2013-04-02 2016-09-07 中国科学院信息工程研究所 集群内存自适应管理方法、服务器集群系统
US9235618B2 (en) * 2013-04-06 2016-01-12 Citrix Systems, Inc. Systems and methods for caching of SQL responses using integrated caching
CN103365658B (zh) * 2013-06-28 2016-09-07 华为技术有限公司 一种资源访问方法和计算机设备
CN103473272B (zh) * 2013-08-20 2017-06-16 小米科技有限责任公司 数据处理方法、装置及系统
CN103646111B (zh) * 2013-12-25 2017-02-15 普元信息技术股份有限公司 大数据环境下实现实时数据关联的系统及方法
CN104104717B (zh) * 2014-06-30 2017-11-03 广州唯品会网络技术有限公司 投放渠道数据统计方法及装置
CN104572860B (zh) * 2014-12-17 2018-01-26 北京皮尔布莱尼软件有限公司 一种数据处理方法和系统
CN105847352B (zh) * 2016-03-22 2019-09-17 聚好看科技股份有限公司 基于分布式缓存系统的扩容方法、装置及分布式缓存系统
CN106021370A (zh) * 2016-05-11 2016-10-12 智者四海(北京)技术有限公司 内存数据库实例的管理方法及装置

Also Published As

Publication number Publication date
CN108319598A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108319598B (zh) 数据缓存方法、装置和系统
CN107819829B (zh) 访问区块链的方法、系统、区块链节点设备及用户终端
US10361931B2 (en) Methods and apparatus to identify an internet domain to which an encrypted network communication is targeted
CN110109953B (zh) 一种数据查询方法、装置及设备
CN109299144B (zh) 一种数据处理方法、装置、系统及应用服务器
CN102656570B (zh) 用于缓存的方法和服务器
JP5974079B2 (ja) 変更ホストネームを使用するグローバル・トラフィック管理
CN101236569B (zh) 一种基于ContextFS上下文文件系统的高效动态路径解析方法
CN102971732A (zh) 键/值存储器的集成分级查询处理的系统结构
KR101376815B1 (ko) 배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법
US20120331085A1 (en) Load balancing based upon data usage
US20170262373A1 (en) Cache Optimization Based On Predictive Routing
US11080115B2 (en) Sampling management of application programming interface (API) requests
CN114513488B (zh) 资源访问方法、装置、计算机设备和存储介质
CN102546668A (zh) 一种独立访问者的统计方法、装置及系统
CN112351088A (zh) 一种cdn缓存方法、装置、计算机设备及存储介质
CN112241474B (zh) 信息处理方法、装置和存储介质
US10327133B2 (en) Making subscriber data addressable as a device in a mobile data network
CN107977381B (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN110300193B (zh) 一种获取实体域名的方法和装置
CN112148925B (zh) 用户标识关联查询方法、装置、设备及可读存储介质
JP6960861B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN109144960B (zh) 根据区域范围在移动互联网内进行数据预取的方法及系统
US11640385B1 (en) Cross-channel consistent user content
CN109672900B (zh) 一种热点内容列表的生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant