CN113225396B - 一种热点数据包分流方法、装置、电子设备及介质 - Google Patents
一种热点数据包分流方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN113225396B CN113225396B CN202110487441.9A CN202110487441A CN113225396B CN 113225396 B CN113225396 B CN 113225396B CN 202110487441 A CN202110487441 A CN 202110487441A CN 113225396 B CN113225396 B CN 113225396B
- Authority
- CN
- China
- Prior art keywords
- data packet
- inventory
- hot spot
- deduction
- storage cluster
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种热点数据包分流方法、装置、电子设备及介质。其中方法包括:从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。采用本申请实施例,有助于减少存储集群的负载,并降低运维成本。可选的,本申请涉及的数据包可存储于区块链中,进而可以从该区块链上拉取热点数据包的库存存储至缓存区域中。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种热点数据包分流方法、装置、电子设备及介质。
背景技术
随着计算机技术的发展,经常容易面临高并发的现象,如当有大量请求访问某个数据包时,就会出现热点数据包,进而容易导致存储集群负载高,出现服务崩溃等现象。目前,为了在出现热点数据包时,降低存储集群的负载,防止服务崩溃等,通常采用隔离热点数据包的方式来减少影响。然而,发明人在实践中发现,通过隔离热点数据包的方式减少热点数据包带来的影响需要耗费较多的人力资源,运维成本较高。
发明内容
本申请实施例提供了一种热点数据包分流方法、装置、电子设备及介质,有助于降低存储集群的负载,并降低运维成本。
一方面,本申请实施例提供了一种热点数据包分流方法,该方法包括:
从多个数据包中确定出热点数据包;
根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
另一方面,本申请实施例提供了一种热点数据包分流装置,该装置包括:
热点数据包确定模块,用于从多个数据包中确定出热点数据包;
处理模块,用于根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
所述处理模块,还用于从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
再一方面,本申请实施例提供了一种电子设备,其特征在于,所述电子设备包括处理器和存储装置,所述处理器与所述存储装置相互连接,其中,所述存储装置用于存储计算机程序指令,所述处理器被配置用于执行如下步骤:
从多个数据包中确定出热点数据包;
根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如下步骤:
从多个数据包中确定出热点数据包;
根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
本申请实施例能够从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,从而实现热点数据包的分流,由此可以减少存储集群的负载,并降低运维成本。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种活动的访问请求次数效果示意图;
图2是本申请实施例提供的一种热点数据包分流方法的示意图;
图3是本申请实施例提供的一种热点数据包分流方法的流程示意图;
图4是本申请实施例提供的一种数据包存储方法的效果示意图;
图5是本申请实施例提供的一种数据包配置界面的效果示意图;
图6是本申请实施例提供的另一种热点数据包分流方法的流程示意图;
图7是本申请实施例提供的一种热点数据包分流方法的应用流程示意图;
图8是本申请实施例提供的另一种热点数据包分流方法的应用流程示意图;
图9是本申请实施例提供的一种活动效果的示意图;
图10是本申请实施例提供的又一种热点数据包分流方法的应用流程示意图;
图11是本申请实施例提供的一种热点数据包分流装置的结构示意图;
图12是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请的技术方案可运用在电子设备中,该电子设备可以是服务器,比如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例提出一种热点数据包分流方案,能够根据热点数据包的特征信息如消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,以便于在接收到数据包扣除指令时,从缓存区域中扣除热点数据包的库存,从而实现热点数据包的分流,由此可以减少存储集群的负载,并降低运维成本。
本申请中的数据包可以是指以关键字-值结构(key-value结构)进行存储的数据,一个key-value即可以称为一个数据包。以key-value结构存储的数据通常具有查询速度快、存储数据量大或支持高并发等特点,以key-value结构存储的数据库可以被称为key-value存储***,可以通过key快速查询到该key对应的 value,如Redis、Berkeley DB或MemcacheDB等等,此处不做限制。本申请中的数据包还可以是以表格结构存储的数据,如哈希表(散列表)等,该数据包还可以是其他形式的数据,本申请不做限定。
可以理解,热点数据包还可以叫做热key、热点包或其余名称,本申请不做限定。
本申请中的缓存区域可以是指电子设备对应的缓存区域,如本地存储区域,该缓存区域可以是ehcache或hashmap等,该缓存区域还可以是共享内存(shared memory),此处不做限制。该共享内存可以为多处理器的计算机***中,可以被不同中央处理器(CPU)访问的大容量内存。
本申请的技术方案还可以运用在区块链领域中。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链 (Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。例如,申请涉及的存储集群可以为区块链,该区块链上的每个节点可用于存储多个数据包,进而该电子设备可以从该区块链上拉取热点数据包的库存存储至缓存区域中。又如,还可以通过区块链记录热点数据包的库存的记录,即通过区块链记录热点数据包的库存被扣除的时间、被扣除的库存数量、扣除热点数据包库存的用户信息等,以便于查询热点数据包的消耗记录。
在一些场景中,例如一次大型活动中,如高价值商品或礼包的秒杀活动,该活动中涉及的礼包或商品A可以对应数据包A,若该数据包A的访问请求次数大于访问请求次数预设值,则数据包A可以被确定为热点数据包,即热key,通常该活动中针对热点数据包的访问请求在活动初期的时并发较高,活动中后期的访问量逐渐放缓。例如,请参见图1,图1为本申请实施例提供的一种活动的访问请求次数效果示意图,图中101所示位置为该活动过程中的峰值,可以看到,该活动过程中的峰值明显,短时间内接收大量访问请求,容易对存储集群造成高负载。由此,本申请的实施例提出一种从存储集群拉取热点数据包的库存存储至缓存区域的方案,可通过将热点数据包缓存在本地缓存区域中,实现分流。以便于在后续扣除该热点数据包时,可优先从缓存区域中扣除热点数据包的库存,从而可以减少从存储集群扣除热点数据包的库存的次数,以不依赖对热点数据包进行缓存或隔离的情况下,减少存储集群的负载,由此可以降低热点数据包对存储集群的不良影响。请参见图2,图2是本申请实施例提供的一种热点数据包分流方法的示意图,电子设备从存储集群中拉取热点数据包的库存存储至缓存区域中,数据包扣除指令从缓存区域中扣除热点数据包。
在一种可能的实施方式中,本申请提出的热点数据包分流方案能够应用于游戏等场景中。在对游戏运营的过程中,通常需要通过策划游戏活动吸引用户,如注册游戏领取礼包或邀请未注册用户领取礼包,从而吸引新用户,或通过邀请长时间未上线的用户重新登陆游戏则可获取礼包,从而吸引老用户。在开展此类活动时,该用于吸引用户的礼包容易产生大量访问请求,即该存储该礼包的数据包容易成为热点数据包,则可通过本方案的实施,可以减少该热点数据包对存储集群的造成的压力,从而实现游戏平台的优化。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的描述,本申请实施例提出一种热点数据包分流方法。请参见图3,该热点数据包分流方法可以包括步骤S301-S303。
S301、从多个数据包中确定出热点数据包。
其中,该多个数据包可以是存储在存储集群中的数据包,该存储集群可以是传统存储***,也可以是分布式存储***,还可以是云存储***,此处不做限制。可选的,该热点数据包可以是存储集群访问速度满足预设速度条件(如超过速度阈值)的数据包,该存储集群访问速度可以是单位时间内接收到的针对该热点数据包的访问请求次数,该单位时间可以是1秒,也可以是1分钟,此处不做限制;该热点数据包也可以是对存储集群的压力值满足预设压力条件 (如超过压力阈值)的数据包,该压力值可以是根据单位时间内的访问次数计算得到的数值,此处不做限制。也就是说,当该数据包满足热点数据包确定条件时,将该数据包确定为热点数据包,该数据包确定条件可以为数据包的存储集群访问速度满足预设速度条件或对存储集群的压力值满足预设压力条件等,此处不做限制。
例如,在一种可能的实施方式中,从多个数据包中确定出热点数据包可以包括以下步骤:根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度;获取权重信息,根据本地访问速度与权重信息确定每个数据包对应的存储集群访问速度;将存储集群访问速度满足预设速度条件的数据包确定为热点数据包。
其中,该访问请求信息可以包括访问请求的目的或访问请求的时间等信息,该访问请求可以为读请求、写请求或读写请求等等,该访问请求的时间可以为客户端接收到的该请求的时间或该电子设备接收到该访问请求的时间等等,此处不做限制。该本地访问速度可以用于指示电子设备单位时间内接收到的访问请求次数,例如,该单位时间为1秒,电子设备检测到在1秒内接收到访问请求5000次,则表示该本地访问速度为5000次/秒。该单位时间可以是指在根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度前的时间长度为单位时间的相邻时间段,例如,根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度的时间点为t(0),则该单位时间可以是指t(-1)-t(0),该 t(-1)在t(0)之前且t(-1)与t(0)之间的时间长度为单位时间,该单位时间内接收到的访问请求次数为该本地访问速度;该单位时间也可以是指在根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度前预设时间长度的时间段内单位时间中访问请求次数最多的时间段,例如,根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度的时间点为t(0),该预设时间长度的时间段为t(-10)-t(0),该t(-10)在t(0)之前且t(-10)与t(0)之间的时间长度大于或等于单位时间,则可以检测到t(-10)-t(0)之间t(-5)-t(-4)是访问请求次数最多的时间段,则t(-5)-t(-4)为该单位时间,该单位时间内接收到的访问请求次数为该本地访问速度。
其中,该权重信息可用于指示本地访问速度与存储集群访问速度之间的对应关系,该存储集群访问速度可以用于指示存储集群单位时间内接收到的访问请求次数,该本地访问速度与存储集群访问速度之间的对应关系可以为倍数关系,也可以为其他数学关系,此处不做限制。例如,在如图2所示的热点数据包分流***中,存在存储集群和至少一个电子设备如服务器,则可以获取每个服务器在该***中的权重值对应为W(每个电子设备对应的W可以相同也可以不同),即本地访问远程存储的权重值,比如可通过代理程序(如Proxy)访问本地调度的Agent程序获取;还可以得到存储集群的综合权重值为W_A,比如与Agent通信得到远程存储的所有权重综合。该代理程序(Proxy)可用于接收用户的访问请求,并将请求发送给服务器,该Agent程序可以为用户接口的客户端程序。则可以根据权重值及综合权重值得到每个电子设备对应的占用比例 (即远程的存储节点的放大值)为W_A/W(假设记为K,即K=W_A/W),若本地访问速度与存储集群访问速度之间的关系(即权重信息)为存储集群访问速度=本地访问速度*K,检测到电子设备中针对数据包A单位时间内接收到的访问请求次数为500次,即针对数据包A的本地访问速度为500次/秒,则可以得到该存储集群访问速度为500*K次/秒。
例如,可选的,该预设速度条件可以是针对数据包的存储集群访问速度大于或等于速度阈值,即当数据包的存储集群访问速度大于或等于速度阈值时,将该数据包确定为热点数据包。例如,存储集群中存在数据包A、数据包B以及数据包C,每个数据包对应的存储集群访问速度分别为5000次/秒、6000次/ 秒、7000次/秒,若该速度阈值为5500次/秒,则可以将数据包B和数据包C确定为热点数据包。可选的,该预设速度条件也可以是检测到数据包存在热点标记,比如相关人员根据经验确定该数据包可能会成为热点数据包,就对该数据包进行热点标记,当检测到该数据包存在热点标记时,则可将该数据包确定为热点数据包。
又如,可选的,可以通过选择最久未使用/最近最少使用(Least Recently Used,LRU)的方法统计出本地访问速度从高到低排序为前N个的数据包,N为正整数。该LRU是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。例如,该方法赋予每个数据包一个访问字段,该访问字段用来记录数据包自上次被访问以来所经历的时间t(t>0),当须淘汰一个数据包时,选择现有数据包中t值最大的数据包,即最近最少使用的页面予以淘汰,即可以得到前N个未被淘汰的数据包,该前N个数据包的本地访问速度对应为{S1,S2,S3······SN},从而只需统计前N个数据包的本地访问速度,减少计算量,提高效率。从而检测该前N个数据包对应的存储集群访问速度满足预设速度条件的数据包,并将该满足预设速度条件的数据包确定为热点数据包。
在一种可能的实施方式中,从多个数据包中确定出热点数据包还可以包括以下步骤:根据针对每个数据包的访问请求信息确定多个数据包的本地压力值;获取权重信息,根据本地压力值与权重信息确定每个数据包对应的存储集群压力值;将存储集群压力值满足预设压力条件的数据包确定为热点数据包。
其中,本地压力值用于指示数据包对电子设备的压力或影响,比如可以根据每个数据包的本地访问速度进行计算得到。可选的,该本地压力值与本地访问速度可以成比例关系,本地访问速度越大则本地压力值越大。进一步可选的,可以通过选择LRU的方法统计出每个数据包的影响因子,该影响因子可以用于确定每个数据包的访问请求次数与对应的数据包对电子设备的压力值的关系,换句话说就是,每个数据包的访问请求次数对电子设备的影响可能是不同的,则通过影响因子及访问请求次数可以计算出对应数据包的本地压力值,本地压力值从高到低排序为前N个的数据包,N为正整数,该前N个数据包的本地压力值对应为{T1,T2,T3······TN},从而只需统计前N个数据包的本地压力值,减少计算量,提高效率。
其中,该权重信息可用于指示压力值与存储集群压力值之间的对应关系,该存储集群访问压力值可以用于指示数据包对存储集群的压力或影响。可选的,该本地压力值与存储集群压力值之间的对应关系可以为倍数关系,也可以为其他数学关系,此处不做限制。例如,在如图2所示的热点数据包分流***中,存在存储集群和至少一个服务器,则可以获取每个服务器在该***中的权重值对应为W(每个电子设备对应的W可以相同也可以不同),即本地访问远程存储的权重值,比如可通过代理程序(如Proxy)访问本地调度的Agent程序获取;还可以得到存储集群的综合权重值为W_A,比如与Agent通信得到远程存储的所有权重综合。该代理程序(Proxy)用于接收用户的访问请求,并将访问请求发送给访问请求指示的目标位置,该Agent程序可以为用户接口的客户端程序。则可以根据权重值及综合权重值得到每个电子设备对应的占用比例(即远程的存储节点的放大值)为W_A/W(假设记为K,即K=W_A/W),若本地压力值与存储集群压力值之间的对应关系(即权重信息)为存储集群压力值=本地压力值*K,检测到服务器中针对数据包A的本地压力值为TN时,则可以得到该存储集群压力值为TN*K。
例如,可选的,该预设压力条件可以是针对数据包的存储集群压力值大于或等于压力阈值,则当数据包的存储集群压力值大于或等于压力阈值时,将该数据包确定为热点数据包。例如,存储集群中存在数据包A、数据包B以及数据包C,每个数据包对应的存储集群压力值分别为X、Y和Z,该压力阈值为P, X、Y、Z以及P均大于0,且P大于X、Y,小于Z,则可以将数据包C确定为热点数据包。可选的,该预设压力条件也可以是检测到数据包存在热点标记,比如相关人员根据经验确定该数据包可能会成为热点数据包,就对该数据包进行热点标记,当检测到该数据包存在热点标记时,则可将该数据包确定为热点数据包。
在一种可能的实施方式中,当该存储集群存储该多个数据包时,可以对存储集群进行分片处理,从而将该多个数据包存储至该存储集群中的多个节点中,该多个节点可以是指该存储集群中的多台存储设备,则该存储集群中的每个节点可以对应一个分片,该一个分片中可以存储一个或多个数据包。由此可以使得针对该存储集群的负载可以分散到多个分片上,从而减少热点数据包带来的不良影响。可选的,在对该多个数据包进行分片处理后,可以通过构建路由记录每个分片与数据包的对应关系,当检测到访问请求时,通过该路由为该访问请求确定该访问请求针对的数据包所存储的分片位置。则在确定存储集群压力值后可以通过该路由记录的信息确定该数据包对每个分片的分片压力值,从而根据该数据包的分片压力值确定热点数据包。例如,可以将分片压力值满足预设压力条件的数据包确定为热点数据包。
可选的,当该存储集群存储该热点数据包时,可以将该热点数据包分别存储至存储集群的多个分片中,从而减少热点数据包对存储集群造成的压力值,换句话说就是,将热点数据包的库存存储至多个分片上,让多个分片分摊热点数据包的访问请求,从而减少热点数据包对存储集群的造成的不良影响。请参见图4所示,图4是本申请实施例提供的一种数据包存储方法的效果示意图,在该图中,数据包的库存可以分摊至存储集群中的多个分片。
在一种可能的实施方式中,在接收针对数据包的访问请求时,通常会通过负载均衡组件(如CL5),使得针对数据包的访问请求能够均衡的分配至存储集群中的每个分片,或者能够均衡的分配至每个电子设备,以避免某个分片或电子设备负载过高。可选的,可以通过上述权重信息,计算本地访问速度与存储集群访问速度的对应关系,从而通过服务发现组件将针对热点数据包的访问请求均衡的分配至存储集群的分片或电子设备。该服务发现组件可用于根据访问请求的相关信息去执行该访问请求对应的操作。
在一种可能的实施方式中,该多个数据包的可以通过数据包配置界面配置每个数据包对应的库存总量以及相关条件,以便于用户能够根据该数据包配置界面中的数据实现对每个数据包的扣除。例如,请参照图5,图5是本申请实施例提供的一种数据包配置界面的效果示意图,数据包可以为礼包,在该数据包配置界面中,可以对数据包的产品名称、物品类型、单次获得数量、物品单价、概率或礼包限量信息等进行配置,此处不做限制。可选的,该数据包配置界面可以应用于电商或游戏营销活动中,为该活动中出现的商品或礼包进行配置,以实现通过该商品或礼包去拉回流或拉新。在一些场景中,通过该数据包配置界面进行配置时,通常需要数据包的库存数量(即礼包限量的数量)以及单次获得数量(即用户在活动中一次数据包扣除指令指示扣除的数量)进行配置,一般如果配置的数据包的库存数量小,供小于求,则对应的物品单价会比较高,如稀有物品或稀有道具等,如果配置的数据包的库存数量较大,供大于求,对应的物品单价相对低;在一些场景中,通过该数据包配置界面进行配置时,一般对用于拉回流的部分数据包只配置了数据包的库存数量,对单次获得数量等信息不进行限制。
S302、根据热点数据包的消耗速度确定目标拉取数量。
其中,该消耗速度用于指示每个数据包对应库存的扣除速度,换句话说就是在单位时间内数据包减少的库存数量。该目标拉取数量用于指示电子设备从存储集群中拉取数据包的库存数量。
可选的,该消耗速度可以根据针对该热点数据包的数据包扣除指令进行计算或预测,该消耗速度还可以根据热点数据包的历史访问请求信息进行计算或预测,该消耗速度还可以根据相关人员根据经验进行预测,从而设定该数据包消耗速度。进一步可选的,该消耗速度可以是某一单位时间内的扣除库存量,或者可以是多个单位时间内的平均扣除库存量,等等,本申请不做限定。由此可以根据实际的消耗情况确定目标拉取数量,即按需拉取,能够使得存储在缓存区域中的数量在短时间内消耗,避免该热点数据包对缓存区域的存储空间长时间占用。
例如,在一种可能的实施方式中,该消耗速度可以根据针对该热点数据包的数据包扣除指令进行预测,该数据包扣除指令用于指示扣除数据包的库存。具体的,在单位时间内接收到N次数据包扣除指令,该N次数据包扣除指令指示扣除热点数据包的M个库存,则该热点数据包的消耗速度为M个/秒。该单位时间指在获取热点数据包的消耗速度前的时间长度为单位时间的相邻时间段,例如,获取热点数据包的消耗速度的时间点为t(0),则该单位时间可以是指 t(-1)-t(0),该t(-1)在t(0)之前且t(-1)与t(0)之间的时间长度为单位时间,t(-1)与t(0) 之间接收到的数据包扣除指令指示扣除的热点数据包的库存为对应的消耗速度;该单位时间也可以是指在获取热点数据包的消耗速度前预设长度的时间段内单位时间中数据包扣除指令指示扣除的库存数量最多的时间段,例如,获取热点数据包的消耗速度的时间点为t(0),该预设时间长度的时间段为t(-10)-t(0),该 t(-10)在t(0)之前且t(-10)与t(0)之间的时间长度大于或等于单位时间,则可以检测到t(-10)-t(0)之间t(-5)-t(-4)是数据包扣除指令指示扣除的库存数量最多的时间段,则t(-5)-t(-4)为该单位时间,t(-5)-t(-4)接收到的数据包扣除指令指示扣除的热点数据包的库存为对应的消耗速度。
又如,在一种可能的实施方式中,该消耗速度还可以根据热点数据包的历史访问请求信息进行预测。该历史访问请求信息可以为在获取该消耗速度前的预设时间长度的时间段内的访问请求信息,例如在获取该消耗速度前10秒内接收到的访问请求次数,也可以是该热点数据包的存储集群访问速度,此处不做限制。例如,可以根据历史访问请求信息确定历史访问请求信息与消耗速度之间数学关系,从而在获取了历史访问请求信息后,根据该数学关系确定热点数据包的消耗速度。例如,历史访问请求信息指示在获取消耗速度前1秒内接收到的访问请求次数为Y次,若历史访问请求信息与消耗速度之间数学关系可以为每有H次访问请求,可以对应扣除1个热点数据包的库存,则可以得到该热点数据包的消耗速度为Y/H,其中Y为正整数,H为正数。又如,在获取热点数据包的本地访问速度之后,根据权重信息计算出热点数据包的存储集群访问速度,该存储集群访问速度为U次/秒,若历史访问请求信息与消耗速度之间的数学关系可以为存储集群访问速度乘P,P为整数,则可以得到该热点数据包的消耗速度为U*P次/秒。
又如,在一种可能的实施方式中,该消耗速度还可以根据相关人员根据经验进行预测。例如,相关人员在举行大型活动时,涉及到某个商品的数据包,该数据包可能为热点数据包,根据过去开展的活动经验,可以预测该商品进行销售时单位时间内可以售出M个,即单位时间内扣除的库存数量为M个,则可以得到该热点数据包的消耗速度为M个/秒。
在一种可能的实施方式中,根据热点数据包的消耗速度确定目标拉取数量可以通过消耗速度与目标拉取数量之间的数学关系进行确定。例如,该热点数据包为的消耗速度为5000个/秒,若消耗速度与目标拉取数量之间的数学关系可以为目标拉取数量=消耗速度*G,则目标拉取数量为5000*G个。
在一种可能的实施方式中,根据热点数据包的消耗速度确定目标拉取数量还可以包括:获取热点数据包的消耗速度和幻读时间,根据消耗速度和幻读时间确定目标拉取数量。其中,该幻读时间用于指示每个数据包的库存产生幻读的时间,幻读是指可重复读事务隔离级别下,当某个事务在读取某个范围的记录的时候,另外一个事务又在该范围***了新的记录,当前事务再次读取这个范围的记录,会产生幻行(Phantom Data)的现象,例如当数据包的库存管理端查询该热点数据包一定查询范围内的库存记录时,一个数据包扣除指令指示扣除了1个热点数据包的库存,即在该查询范围内***了新的库存记录,当数据包的库存管理端查询再次查询该查询范围内的库存记录时,会显示该***的新的库存记录,即产生幻读。该幻读时间可以通过配置文件进行设置,也可以根据实际业务过程中产生幻读的时间进行计算,此处不做限制。根据消耗速度和幻读时间确定目标拉取数量可以为通过消耗速度、幻读时间与目标拉取数量之间的数学关系得到目标拉取数量。例如,当消耗速度为5000个/秒,幻读时间为 1s,根据数学关系目标拉取数量=消耗速度*幻读时间,可以得到该目标拉取速度可以为5000个。
S303、从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
其中,从存储集群中拉取热点数据包的目标拉取数量的库存时,会对应减少该存储集群中热点数据包的库存,将拉取的目标拉取数量的库存存储至缓存区域时,可以将该热点数据包存储至缓存区域,并将该热点数据包的库存确定为目标拉取数量对应的库存,即在存储集群中的减少的热点数据包的库存,会在缓存区域中增加。例如,存储集群中热点数据包A对应的库存数量有5000个,电子设备从存储集群中200个(即目标拉取数量)库存,则存储集群中该热点数据包A的库存变为4800个,缓存区域存在该热点数据包A的库存数量为200 个。
在一种可能的实施方式中,当检测到热点数据包的满足拉取条件时,从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。其中,该拉取条件可以包括以下一项或多项:热点数据包在存储集群中的库存剩余量大于或等于第一预设值、热点数据包对存储集群的压力值大于或等于第二预设值。可选的,该拉取条件还可以为该热点数据包的剩余库存比例大于或等于第三预设值,还可以为该热点数据包对分片的分片压力值大于或等于第四预设值,此处不做限制。其中,预设值如第一、第二、第三、第四预设值可以预先设置得到,或者可以基于统计的历史数据计算出,等等。
在一种可能的实施方式中,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域,还可以包括以下步骤:确定热点数据包在存储集群中的库存剩余量;当存储集群中的库存剩余量大于或等于第一预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。具体的,该热点数据包在存储集群中的库存剩余量用于指示当前时刻该热点数据包在存储集群中的库存数量,该当前时刻可以为从存储集群中拉取热点数据包的目标拉取数量的库存的时刻,也可以为获取热点数据包的消耗速度的时刻,此处不做限制。例如,该第一预设值为300个时,若该热点数据包的库存剩余量为500个,显然,该库存剩余量大于或等于第一预设值,则从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,若该热点数据包的库存剩余量为200个,显然,该库存剩余量小于第一预设值,则不从存储集群中拉取热点数据包的目标拉取数量的库存。
可选的,还可以通过记录每次礼包扣除请求指示扣除的库存数量确定该热点数据包的消耗值,从而根据该热点数据包配置的库存总量与数据包消耗值确定剩余库存比例,例如该热点数据包的消耗值为Cost,该热点数据包配置的库存总量为ALL,则该剩余库存比例可以为ALL/Cost。在确定该热点数据包的剩余库存比例后,当该剩余库存比例大于或等于第三预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。其中,该第三预设值也可称为消耗阈值,可以从配置文件中读取。
在一种可能的实施方式中,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域,还可以包括以下步骤:当该热点数据包对存储集群的存储集群压力值大于或等于第二预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。例如,该热点数据包对存储集群的存储集群压力值为M,该第二预设值为H,当该存储集群压力值M大于或等于第二预设值H时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,当该存储集群压力值M小于第二预设值H时,则不从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。可选的,当存储集群包括多个分片时,还可以检测该热点数据包对存储该热点数据包的分片对应的分片压力值,当该分片压力值大于或等于第四预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。
在一种可能的实施方式中,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域,还可以包括以下步骤:确定热点数据包在存储集群中的库存剩余量;当存储集群中的库存剩余量大于或等于第一预设值,且该热点数据包对存储集群的存储集群压力值大于或等于第二预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。例如,当检测到第一预设值为300个,且第二预设值为M时,若该热点数据包的库存余量为500 个,对存储集群的存储集群压力值为H(H大于M)时,显然,该库存余量大于或等于第一预设值,且存储集群压力值大于或等于第二预设值,则从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中;若该热点数据包的库存余量为200个(小于第一预设值300个),或存储集群压力值小于第二预设值M时,则不从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中。
在一种可能的实施方式中,若检测到热点数据包的类型大于或等于类型预设值时,可以对缓存区域进行分割,将该缓存区域分割为多个缓存空间,并将从存储集群中拉取的热点数据包的目标拉取数量的库存存储至缓存区域中目标缓存空间中。例如,检测到存储集群中存在的热点数据包有N个,并且能够从存储集群中拉取该N类热点数据包的库存存储至缓存区域中,对缓存区域进行分割,如通过物理方式对该缓存区域进行隔离或通过软件方式使得分割后的每个缓存空间之间存储的内容互不干扰,则可以得到分割后的N个缓存空间的编号,如通过模数的方式计算得到每个缓存空间对应的模数值,该模数值则为该缓存空间的编号,从而将从存储集群中拉取的热点数据包的库存存储至对应的缓存空间,该N个缓存空间可以存储对应存储上述N类不同类型的数据包。
本申请实施例能够从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,从而可以减少大量数据包扣除指令从存储集群中扣除热点数据包的库存,由此可以减少存储集群的负载,并降低热点数据包带来的不良影响。
请参见图6,图6是本申请实施例提供的一种热点数据包分流方法的流程示意图。该热点数据包分流方法可以由电子设备执行。如图6所示,该热点数据包分流方法可包括以下步骤S601-S605。
S601、从多个数据包中确定出热点数据包;
S602、根据热点数据包的消耗速度确定目标拉取数量,消耗速度用于指示每个数据包对应库存的扣除速度;
S603、从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
步骤S601-S603可以参照步骤S301-S303,此处不做赘述。
S604、接收针对热点数据包的数据包扣除指令。
其中,该数据包扣除指令用于指示扣除数据包的库存,该数据包扣除指令可以用于指示目标扣除数量。可以理解,在一些场景中,该数据包扣除指令也可不指示扣除数量,比如默认扣除数量为1,则每接收到一次数据包扣除指令,则扣除该热点数据包的库存1。
在一种可能的实施方式中,该数据包扣除指令指示扣除目标扣除数量可以通过如图5所示的数据包配置界面进行配置,如通过对数据包单次获取数量的配置,可以确定每个数据包扣除指令指示扣除的目标扣除数量均为该配置的单次获取数量,换句话说就是,通过对该单次获取数量的配置,可以实现每次数据包扣除指令指示扣除的目标扣除数量一致,以便于在扣除数据包的库存时,可以直接根据该单次获取数量进行扣除,提高扣除数据包库存的效率。
S605、根据数据包扣除指令,从缓存区域或存储集群中扣除热点数据包的库存。
其中,根据数据包扣除指令,从缓存区域扣除热点数据包的库存可以是由于缓存区域中热点数据包的库存数量大于或等于目标扣除数量,或者当缓存区域中热点数据包的库存数量小于目标扣除数量,从存储集群中拉取热点数据包的库存后,再从缓存区域中扣除热点数据包的库存;根据数据包扣除指令,从存储集群中扣除热点数据包的库存可以是由于从存储集群中拉取热点数据包的目标拉取数量的库存失败,或者该热点数据包不再满足热点数据包的拉取条件,或者热点数据包的不再满足热点数据包确定条件(即不再是热点数据包),此处不做限制。
在一种可能的实施方式中,当检测到缓存区域中热点数据包的库存数量大于或等于目标扣除数量时,从缓存区域中扣除热点数据包的目标扣除数量的库存。该缓存区域中热点数据包的库存数量用于指示存储于缓存区域的热点数据包的库存对应的数量,该热点数据包的库存为通过步骤S603中从存储集群中拉取的库存。从缓存区域中扣除热点数据包的目标扣除数量的库存时,会减少该缓存区域中热点数据包目标扣除数量对应的库存,换句话说就是,响应于该数据包扣除指令,从缓存区域中扣除目标拉取数量的库存,从而减少从存储集群扣除热点数据包的库存的次数,以减少对存储集群造成高负载的可能。例如,该缓存区域中热点数据包的库存为100个,当检测到数据包扣除指令指示的目标扣除数量为5个时,显然,该缓存区域中的库存大于目标扣除数量,则从缓存区域中扣除该5个库存,从而得到该缓存区域的热点数据包的库存为95个。
在一种可能的实施方式中,当检测到缓存区域中热点数据包的库存数量小于目标扣除数量时,检测热点数据包在存储集群中的库存剩余量;当存储集群中的库存剩余量大于阈值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中;从缓存区域中扣除热点数据包的目标扣除数量的库存。其中,该热点数据包在存储集群中的库存剩余量用于指示当前时刻该热点数据包在存储集群中的库存数量,该当前时刻可以为接收数据包扣除指令的时刻,也可以为检测热点数据包在存储集群中的库存剩余量的时刻,此处不做限制。当存储集群中的库存剩余量大于第一预设值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,具体描述可以参照步骤S303,此处不做赘述。从存储集群中拉取目标拉取数量的库存后,可以使得该缓存区域中的库存数量能够大于目标扣除数量,然后从该缓存区域中扣除该目标扣除数量的库存。例如,缓存区域中的库存数量为3个,数据包扣除指令指示的目标扣除数量为5个,显然该缓存区域中的库存数量小于目标扣除数量,则检测存储集群中的热点数据包的库存剩余量,若该库存剩余量大于阈值,则从存储集群中拉取目标拉取数量对应的库存存储至缓存区域中,若该目标拉取数量为100 个,则可以得到该缓存区域中的库存数量为103个,然后从该缓存区域中的103 个库存中扣除目标扣除数量5个的库存。
可选的,当检测到缓存区域中热点数据包的库存数量小于目标扣除数量,从存储集群中拉取热点数据包的目标拉取数量的库存之前,可以根据步骤S102 的相关描述重新确定目标拉取数量,再根据该重新确定的目标拉取数量从存储集群中拉取热点数据包的库存。换句话说就是,该目标拉取数量可以根据从存储集群中拉取库存时计算的消耗速度进行确定,即可以根据实际消耗速度动态确定该目标拉取数量,从而使得目标拉取数量的确定更加符合实际。
在一种可能的实施方式中,当从存储集群中拉取热点数据包的目标拉取数量的库存失败时,若接收到针对热点数据包的数据包扣除指令,从存储集群中扣除热点数据包的目标扣除数量的库存。其中,从存储集群中拉取热点数据包的目标拉取数量的库存失败可能是因为存储集群中的剩余库存量小于第一预设值,也可能是由于***错误导致拉取失败,还可能是因为缓存区域内存不足,此处不做限制。由于从存储集群中拉取热点数据包的目标拉取数量的库存失败,则从存储集群中扣除热点数据包目标扣除数量的库存,由此可以避免在缓存区域无法从存储集群拉取库存时,数据包扣除指令仍等候从缓存区域扣除目标扣除数量的库存,减少用户等候响应的时间,以提高用户体验。
在一种可能的实施方式中,当目标扣除数量大于预设扣除数量时,确定针对热点数据包的超额库存数量;从缓存区域中扣除热点数据包的预设扣除数量的库存;返回提示信息,以提示超额库存数量的库存扣除失败。其中,该预设扣除数量可以为相关人员设置的数值,该设置的值可以为缓存区域中单位时间内允许扣除数据包的库存的最大数量,若超过该预设扣除数量可能会导致从该缓存区域读写数据的崩溃。该超额库存数量用于指示目标扣除数量与预设库存数量之间的库存差值,例如,针对热点数据包A的目标扣除数量为100个,该预设扣除数量为105个,则针对该热点数据包的超额库存数量可以为5个。该提示信息用于提示超额库存数量的库存扣除失败。可选的,从缓存区域中扣除热点数据包的预设扣除数量的库存时,若该预设扣除数量大于缓存区域中的库存数量,则检测热点数据包在存储集群中的库存剩余量;当存储集群中的库存剩余量大于阈值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中;从缓存区域中扣除热点数据包的目标扣除数量的库存。换句话说就是,当检测到超额库存数量时,不对该超额库存数量进行扣除,仅扣除未超额的部分库存,并返回提示信息。由此可以避免单位时间内大量库存的扣除导致用户等候响应的时间过长,减少高负载带来的不良影响。
在一种可能的实施方式中,当检测到多个数据包扣除指令时,确定单位时间内扣除接收到的数据包扣除指令的次数,当该单位时间内接收到的数据包扣除指令的次数大于或等于预设指令数量时,确定针对该热点数据包的超额数据包扣除指令,根据该超额数据包扣除指令返回提示信息以提示数据包扣除失败,根据除去该超额数据包扣除指令的数据包扣除指令从缓存区域中扣除热点数据包的库存。该预设指令数量可以为相关人员设置的数值,该设置的值可以为缓存区域中单位时间内允许执行的数据包扣除指令的最大数量,若执行超过该预设指令数量的数据包扣除指令可能会导致从该缓存区域读写数据的崩溃。该超额数据包指令为单位时间内接收到的大于预设指令数量的数据包扣除指令,该超额数据包扣除指令可以通过随机确定,也可以对数据扣除指令指示扣除的目标扣除数量进行排序,将目标扣除数量最小的一个或多个目标扣除数量之和等于超额库存数量的数据包确定为超额库存数据包,还可以对数据扣除指令指示扣除的目标扣除数量进行排序,将目标扣除数量最大的一个或多个目标扣除数量之和等于超额库存数量的数据包确定为超额库存数据包,此处不做限制。该提示信息用于提示该超额数据包扣除指令的发起用户该数据包扣除指令执行失败。例如,在单位时间内检测到针对热点数据包A的扣除指令2000次,若该预设指令数量为1500个,则随机确定500个超额数据包扣除指令,并返回提示信息以提示数据包扣除失败,从而仅根据除该超额数据包扣除指令外的数据包扣除指令执行数据包扣除操作,由此可以通过对超过预设指令数量的数据包扣除指令进行拒绝,减少大量数据包扣除指令的请求带来的不良影响,避免单位时间内大量库存的扣除导致用户等候响应的时间过长,以提高用户体验。
在一种可能的实施方式中,若该缓存区域被分割为多个缓存空间,则可以根据数据包扣除指令从该热点数据包存储的缓存空间中扣除目标扣除数量的库存。例如,检测到数据包扣除指令指示扣除的热点数据包的库存为热点数据包A 的库存,则确定热点数据包A所在的缓存空间的编号为AC1101,根据该缓存空间的编号访问该热点数据包的缓存空间,若检测到该缓存空间中热点数据包的库存数量大于或等于目标扣除数量时,从该缓存空间中扣除热点数据包的目标扣除数量的库存;当检测到缓存空间中热点数据包的库存数量小于目标扣除数量时,检测热点数据包在存储集群中的库存剩余量,当存储集群中的库存剩余量大于阈值时,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存空间中,从该缓存空间中扣除热点数据包的目标扣除数量的库存。
在一种可能的实施方式中,在接收到数据包扣除指令后,当检测到缓存区域存在热点数据包的库存时,从缓存区域中扣除热点数据包的库存。例如,通过数据包配置界面配置了单次获取数量为1次,则每个数据包扣除指令指示扣除的库存为1个,当缓存区域存在该热点数据包的库存时,即该热点数据包的库存大于或等于1个,则从缓存区域扣除1个库存。可选的,在接受到数据包的扣除指令后,检测到缓存区域存在热点数据包的库存,则直接扣除该缓存区域中得库存,若扣除该缓存区域的全部库存后,检测到该数据包扣除指令指示扣除的目标扣除数量大于该缓存区域中的全部库存,则可以从存储集群中拉取目标拉取数量的库存,以便于该数据包扣除指令扣除目标扣除数量的库存,或者从本数据包访问***中的其他缓存区域中扣除其余目标扣除数量的库存。
在一种可能的实施方式中,当热点数据包不再满足热点数据包的热点数据包确定条件时,停止从存储集群中拉取热点数据包的库存,当检测到数据包扣除指令时,从存储集群中扣除热点数据包目标扣除数量的库存。换句话说就是,由于当热点数据包不再满足热点数据包确定条件,如通过活动过程中对该热点数据包的库存的消耗,该热点数据包的库存剩余量逐步减少,针对该热点数据包的访问请求也如图3所示逐渐放缓,该热点数据不再为热点数据包,从而在检测到数据包扣除指令时,可以直接从存储集群中扣除热点数据包的目标扣除数量的库存。
在一种可能的实施方式中,从存储集群中拉取热点数据包的库存的时机可以是在该数据包能够进行扣除之后,检测到数据包扣除指令,再从存储集群中拉取库存。例如,某次活动从时间t开始,则该活动中的热点数据包只能在t时刻之后才能进行扣除,则在活动开始后,接收数据包扣除指令,再计算热点数据包的消耗速度,从而从存储集群中拉取目标数量的库存。可选的,从存储集群中拉取热点数据包的库存的时机还可以是在该数据包能够进行扣除之前,通过对热点数据包的消耗速度的预测,提前从存储集群中拉取库存。例如,在一次秒杀活动中,大量的数据包扣除请求需要在一定时间内完成(即极限情况下的秒杀),而从存储集群中拉取库存需要一定时间,则可以通过对活动及你行宝贝,预测该活动中热点数据包的消耗速度(如在活动开始10秒之内,热点数据包的消耗速度为1.5w/秒),提前拉取至缓存区域。
例如,以数据包为某种礼包为例。本申请可采用流控的思想,采用LRU方式统计出礼包访问类型影响因子T,通过访问路由得到存储集群中每个分片对存储集群的权重(即访问本地局部路由信息权重的服务调用信息),则可以得到针对前N个礼包(即前N个数据包)的访问请求对分片的压力排序为{T1,T2,T3… Tk…TN},且对应的消耗速度为{C1,C2,…Ck…CN}。进而可通过Proxy程序访问Agent程序,得到本地访问远程存储的权重值为W,并计算与Agent通信得到远程存储的所有权重综合W_A,则远程的存储节点的放大值为K=W_A/W,对应前N个的礼包的访问速度为{T1*K,T2*K,…TN*K},则可以根据该礼包的访问速度确定出热点数据包(即热Key),并计算该热点数据包剩余库存比例,如每次访问远端存储时返回该热点数据包的消耗值Cost,该热点数据包配置的库存总量为ALL(即本地程序分发的配置总量),计算出该热点数据包的剩余余量比例R=ALL/Cost。如果R值大于第三预设值R_C(也可称为消耗阈值),并计算得到该热点数据包对存储集群中单个分片的分片压力值大于第四预设值 (也可称为单个分片压力预警值)则从存储集群中拉取目标拉取数量的库存,该拉取的库存值可以为F=Ck*Tm(Ck可以为该热点数据包的消耗速度,Tm为幻读时间)。从存储集群中拉取库存值F成功之后,直接将F存储到本地的共享内存(即缓存区域)中。由于每个礼包或者商品(即数据包)访问次数不同,如果热key很多的情况,可以对共享内存可以采用模数的方式进行分割,得到多个缓存空间,当检测到数据包扣除指令(即客户端有扣除动作),该数据包扣除指令指示了扣除目标拉取数量的库存,检查对应模数值的缓存空间的库存是否大于目标扣除数量,如果缓存空间的库存大于目标扣除数量,则直接扣除目标扣除数量的库存,如果没有,检查对应的R值(即热点数据包的剩余余量比例),如果R值大于R_C,从存储集群中扣除F值并存储到共享内存中,以便于其他数据包扣除指令进行扣除。
又如,请参见图7,图7是本申请实施例提供的一种热点数据包分流方法的应用流程示意图,如图7所示,整个数据包分流方法的应用过程主要涉及用户集群、代理程序、工作模块、缓存区域以及存储集群等等。具体的,客户集群发起针对热点数据包的数据包扣除指令后,执行步骤701,代理程序(如proxy 程序)接收该针对热点数据包的数据包扣除指令,然后代理程序通过解析数据包扣除指令,确定该热点数据包存储的位置,然后执行步骤702,调用工作模块执行数据包扣除指令,该工作模块像是代理程序下的“员工”,由该工作模块具体执行从缓存区域或存储集群中扣除热点数据包的库存;工作模块执行步骤703,从缓存区域中扣除热点数据包,若缓存区域中热点数据包的库存小于数据包扣除指令指示的目标扣除数量,则执行步骤704,电子设备从存储集群中拉取热点数据包的库存存储至缓存区域,以便于工作模块根据该数据包扣除指令从缓存区域中扣除热点数据包的目标扣除数量的库存。
再如,请参见图8,图8是本申请实施例提供的一种热点数据包分流方法的应用流程示意图。若从缓存区域中扣除热点数据包的库存时,该热点数据包的扣除过程可以如图8所示,整个过程可以参照图8所示,涉及用户端、代理程序、工作模块、缓存区域以及存储集群等。具体的,用户端发起数据包扣除指令(步骤801),代理程序对该数据包扣除指令进行检查,若该数据包扣除指令检查未通过(步骤802),如该用户端的网络状态出问题,或根据该热点数据包 A的数据包扣除指令大于预设指令数量,为减少负载而拒绝该数据包扣除指令,则直接返回用户端该数据包扣除指令扣除热点数据包失败;若该代理程序检查通过,则执行步骤806,调用工作模块从缓存区域中扣除热点数据包的库存,在这之前代理程序可以执行步骤803和804,统计针对热点数据包的访问请求信息,并根据热点数据包的消耗速度确定目标拉取数量,以便于缓存区域执行步骤805,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中;工作模块在接收到代理程序分发的指令时,访问缓存区域,若缓存区域中热点数据包的库存大于目标扣除数量,则扣除热点数据包的库存(步骤807),并且执行步骤809,更新缓存区域存储的热点数据包的库存数量;工作模块向代理程序反馈热点数据包的库存扣除成功(步骤808),则代理程序返回客户端数据包扣除成功。若从存储集群中拉取热点数据包的目标拉取数量的库存失败时,从存储集群中扣除热点数据包的库存,即步骤810,从而代理程序可以向用户端反馈数据包扣除成功。请参见图9,图9是本申请实施例提供的一种活动效果的示意图,图9中(a)图所示为应用该数据包分流方法后的访问请求次数的变化值,图中 901所示为该热点数据包的访问请求次数的峰值,随着时间的推移,针对该热点数据包的访问请求次数逐渐放缓。图9中(b)图所示为应用该数据包分流方法后热点数据包对存储集群的压力值变化,图中902所示为执行该数据包分流方法的时间点,显然,在执行该热点数据包分流方法后,该热点数据包对存储集群的压力值得到了减小,针对该数据包的每秒查询率(QPS)也得到了减少。并且,由于该方案的整个过程中都是由服务器根据数据包的访问请求信息、消耗速度、相关预设值或权重信息等信息执行对应的操作,为不需要人工介入,大大降低了运维成本。进一步的,由于活动通常具有只有小部分数据包的访问次数较多,大部分数据包的访问次数较少(即“长尾效应”),则在查询每个数据包对应的库存时候准确度较高,这是由于访问次数较少的数据包不满足库存的拉取条件(如数据包的存储集群访问速度小于速度阈值、库存余量小于第一预设值等),则不会将该尾部的数据包拉取至缓存区域,则存储集群中的库存数量为该数据包对应的实时库存,查询的库存准确率更高。
请参见图10,图10是本申请实施例提供的一种热点数据包分流方法的应用流程示意图。在从存储集群拉取热点数据包目标拉取数量的库存失败,或该热点数据包不再满足热点数据包的热点数据包确定条件等情况时,数据包扣除指令不再从缓存区域中扣除热点数据包的库存,而从存储集群中扣除热点数据包的库存,具体可以参见图10所示,主要涉及用户端、代理程序、用户维度的数据包以及存储集群等,该用户维度的数据包为存储每个用户的相关信息的数据包,该用户维度的数据包具有对应的数值,该用户维度的数据包的数值用于指示每个用户能够获取该热点数据包的数量。具体的,用户端发起数据包扣除指令(步骤1001),代理程序对该数据包扣除指令进行检查,若该数据包扣除指令检查未通过,则执行步骤1002,返回用户端该数据包扣除指令扣除热点数据包失败;若该数据包指令检查通过,则代理程序执行步骤1003,锁定用户维度数据包的数值,并锁定成功(步骤1001);代理程序执行步骤1005,检测存储集群中数据包的库存数量,并检测到存储集群中数据包的库存数量大于目标扣除数量(步骤1001);然后代理程序执行步骤1007,扣除用户维度数据包的数值,更新用户维度的数据包的数值,并且代理程序执行步骤1010,从存储集群中扣除数据包的库存,更新数据包的库存。可选的,当用户维度的数据包的数值扣除失败时,回滚至用户维度的数据包,再次检查用户维度的数据包的数值,取消对用户维度数值的锁定,并将该扣除数据包库存的失误回滚至用户端。
本申请实施例能够从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,从而实现热点数据包的分流,以便于在检测到数据包扣除指令时,从缓存区域或存储集群中扣除热点数据包,由此可以减少存储集群的负载,并降低运维成本。
基于上述热点数据包分流方法实施例的描述,本申请实施例还公开了一种热点数据包分流装置,该装置可以配置于上述的电子设备如服务器中,例如装置可以是运行于该电子设备中的一个计算机程序(包括程序代码)。该装置可以执行图11所示的方法。请参见11,该装置可以运行如下模块:
热点数据包确定模块1101,用于从多个数据包中确定出热点数据包;
处理模块1102,用于根据热点数据包的消耗速度确定目标拉取数量,消耗速度用于指示每个数据包对应库存的扣除速度;
处理模块1102,还用于从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
在一种实施方式中,处理模块1102在用于根据热点数据包的消耗速度确定目标拉取数量时,具体可用于:
获取热点数据包的消耗速度和幻读时间,幻读时间用于指示每个数据包的库存产生幻读的时间;
根据消耗速度和幻读时间确定目标拉取数量。
在一种实施方式中,处理模块1102还用于接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当检测到缓存区域中热点数据包的库存数量大于或等于目标扣除数量时,从缓存区域中扣除热点数据包的目标扣除数量的库存。
在一种实施方式中,处理模块1102还用于接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当检测到缓存区域中热点数据包的库存数量小于目标扣除数量时,检测热点数据包在存储集群中的库存剩余量;
当存储集群中的库存剩余量大于阈值时,从存储集群中拉取热点数据包的库存并存储至缓存区域中;
从缓存区域中扣除热点数据包的目标扣除数量的库存。
在一种实施方式中,处理模块1102还用于从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中,具体用于:
当检测到热点数据包的满足拉取条件时,从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
其中,拉取条件可以包括以下一项或多项:热点数据包在存储集群中的库存剩余量大于或等于第一预设值或热点数据包对存储集群的压力值大于或等于第二预设值。
在一种实施方式中,处理模块1102还用于接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当目标扣除数量大于预设扣除数量时,确定针对热点数据包的超额库存数量,超额库存数量用于指示目标扣除数量与预设库存数量之间的库存差值;
从缓存区域中扣除热点数据包的预设扣除数量的库存;
返回提示信息,提示信息用于提示超额库存数量的库存扣除失败。
在一种实施方式中,处理模块1102在用于从多个数据包中确定出热点数据包时,具体可用于:
根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度;
获取权重信息,权重信息用于指示本地访问速度与存储集群访问速度之间的对应关系;
根据本地访问速度与权重信息确定每个数据包对应的存储集群访问速度;
将存储集群访问速度满足预设条件的数据包确定为热点数据包。
在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,本申请不做限定。
本申请实施例能够从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,从而实现热点数据包的分流,由此可以减少存储集群的负载,并降低运维成本。
再请参见图12,是本申请实施例的一种电子设备的结构示意图,本申请实施例的电子设备可包括处理器1201以及存储装置1202。可选的,该电子设备还可包括网络接口1203。进一步可选的,该电子设备还可包括供电模块等结构。其中,处理器1201、存储装置1202以及网络接口1203之间可以交互数据,网络接口1203受处理器的控制用于收发消息,存储装置1202用于存储计算机程序,计算机程序包括程序指令,处理器1201用于执行存储装置1202存储的程序指令。其中,处理器1201被配置用于调用程序指令执行上述方法。
存储装置1202可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置1202也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置1202还可以包括上述种类的存储器的组合。
处理器1201可以是中央处理器1201(central processing unit,CPU)。在一个实施例中,处理器1201还可以是图形处理器1201(Graphics Processing Unit, GPU)。处理器1201也可以是由CPU和GPU的组合。
在一个实施例中,存储装置1202用于存储程序指令。处理器1201可以调用程序指令,执行以下步骤:
从多个数据包中确定出热点数据包;
根据热点数据包的消耗速度确定目标拉取数量,消耗速度用于指示每个数据包对应库存的扣除速度;
从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
在一种实施方式中,处理器1201在执行根据热点数据包的消耗速度确定目标拉取数量时,具体可执行:
获取热点数据包的消耗速度和幻读时间,幻读时间用于指示每个数据包的库存产生幻读的时间;
根据消耗速度和幻读时间确定目标拉取数量。
在一种实施方式中,处理器1201还可执行:接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当检测到缓存区域中热点数据包的库存数量大于或等于目标扣除数量时,从缓存区域中扣除热点数据包的目标扣除数量的库存。
在一种实施方式中,处理器1201还可执行:接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当检测到缓存区域中热点数据包的库存数量小于目标扣除数量时,检测热点数据包在存储集群中的库存剩余量;
当存储集群中的库存剩余量大于阈值时,从存储集群中拉取热点数据包的库存并存储至缓存区域中;
从缓存区域中扣除热点数据包的目标扣除数量的库存。
在一种实施方式中,处理器1201在执行从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中,具体执行:
当检测到热点数据包的满足拉取条件时,从存储集群中拉取热点数据包的目标拉取数量的库存,并将拉取的库存存储至缓存区域中。
其中,拉取条件可以包括以下一项或多项:热点数据包在存储集群中的库存剩余量大于或等于第一预设值或热点数据包对存储集群的压力值大于或等于第二预设值。
在一种实施方式中,处理器1201还可执行:
接收针对热点数据包的数据包扣除指令,数据包扣除指令指示了目标扣除数量;
当目标扣除数量大于预设扣除数量时,确定针对热点数据包的超额库存数量,超额库存数量用于指示目标扣除数量与预设库存数量之间的库存差值;
从缓存区域中扣除热点数据包的预设扣除数量的库存;
返回提示信息,提示信息用于提示超额库存数量的库存扣除失败。
在一种实施方式中,处理器1201在执行从多个数据包中确定出热点数据包时,具体可执行:
根据针对每个数据包的访问请求信息确定多个数据包的本地访问速度;
获取权重信息,权重信息用于指示本地访问速度与存储集群访问速度之间的对应关系;
根据本地访问速度与权重信息确定每个数据包对应的存储集群访问速度;
将存储集群访问速度满足预设条件的数据包确定为热点数据包。
本申请实施例能够从多个数据包中确定出热点数据包,并根据热点数据包的消耗速度确定目标拉取数量,从存储集群中拉取热点数据包的目标拉取数量的库存存储至缓存区域中,从而实现热点数据包的分流,以便于在检测到数据包扣除指令时,从缓存区域或存储集群中扣除热点数据包,由此可以减少存储集群的负载,并降低运维成本。
具体实现中,本申请实施例中所描述的装置、处理器1201、存储装置1202 等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
本申请实施例中还提供一种计算机(可读)存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时,可执行上述方法实施例中所执行的部分或全部步骤。可选的,该计算机存储介质可以是易失性的,也可以是非易失性的。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序指令,该程序指令可存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该程序指令,处理器执行该程序指令,使得该计算机执行上述方法中所执行的部分或全部步骤,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (9)
1.一种热点数据包分流方法,其特征在于,包括:
从多个数据包中确定出热点数据包;
根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中;
其中,所述根据所述热点数据包的消耗速度确定目标拉取数量,包括:
获取所述热点数据包的消耗速度和幻读时间,所述幻读时间用于指示每个数据包的库存产生幻读的时间;根据所述消耗速度和所述幻读时间确定目标拉取数量。
2.根 据权利要求1所述方法,其特征在于,所述方法还包括:
接收针对所述热点数据包的数据包扣除指令,所述数据包扣除指令指示了目标扣除数量;
当检测到所述缓存区域中所述热点数据包的库存数量大于或等于所述目标扣除数量时,从所述缓存区域中扣除所述热点数据包的所述目标扣除数量的库存。
3.根据权利要求1所述方法,其特征在于,所述方法还包括:
接收针对所述热点数据包的数据包扣除指令,所述数据包扣除指令指示了目标扣除数量;
当检测到所述缓存区域中所述热点数据包的库存数量小于所述目标扣除数量时,检测所述热点数据包在所述存储集群中的库存剩余量;
当所述存储集群中的库存剩余量大于阈值时,从所述存储集群中拉取所述热点数据包的库存并存储至缓存区域中;
从所述缓存区域中扣除所述热点数据包的所述目标扣除数量的库存。
4.根据权利要求1所述方法,其特征在于,所述方法还包括:
接收针对所述热点数据包的数据包扣除指令,所述数据包扣除指令指示了目标扣除数量;
当所述目标扣除数量大于预设扣除数量时,确定针对所述热点数据包的超额库存数量,所述超额库存数量用于指示所述目标扣除数量与预设库存数量之间的库存差值;
从所述缓存区域中扣除所述热点数据包的所述预设扣除数量的库存;
返回提示信息,所述提示信息用于提示所述超额库存数量的库存扣除失败。
5.根据权利要求1-4任一项所述方法,其特征在于,所述从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中,包括:
当检测到所述热点数据包的满足拉取条件时,从所述存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中;
其中,所述拉取条件包括以下任一项或多项:所述热点数据包在存储集群中的库存剩余量大于或等于第一预设值,所述热点数据包对存储集群的压力值大于或等于第二预设值。
6.根据权利要求1-4任一项所述方法,其特征在于,所述从多个数据包中确定出热点数据包,包括:
根据针对每个数据包的访问请求信息确定所述多个数据包的本地访问速度;
获取权重信息,所述权重信息用于指示所述本地访问速度与存储集群访问速度之间的对应关系;
根据所述本地访问速度与所述权重信息确定每个数据包对应的存储集群访问速度;
将所述存储集群访问速度满足预设速度条件的数据包确定为热点数据包。
7.一种热点数据包分流装置,其特征在于,包括:
热点数据包确定模块,用于从多个数据包中确定出热点数据包;
处理模块,用于根据所述热点数据包的消耗速度确定目标拉取数量,所述消耗速度用于指示每个数据包对应库存的扣除速度;
所述处理模块,还用于从存储集群中拉取所述热点数据包的所述目标拉取数量的库存,并将拉取的库存存储至缓存区域中;
其中,所述处理模块根据所述热点数据包的消耗速度确定目标拉取数量,具体用于:获取所述热点数据包的消耗速度和幻读时间,所述幻读时间用于指示每个数据包的库存产生幻读的时间;根据所述消耗速度和所述幻读时间确定目标拉取数量。
8.一种电子设备,其特征在于,包括处理器和存储装置,所述处理器与所述存储装置相互连接,其中,所述存储装置用于存储计算机程序指令,所述处理器被配置用于执行所述程序指令,实现如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110487441.9A CN113225396B (zh) | 2021-04-30 | 2021-04-30 | 一种热点数据包分流方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110487441.9A CN113225396B (zh) | 2021-04-30 | 2021-04-30 | 一种热点数据包分流方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225396A CN113225396A (zh) | 2021-08-06 |
CN113225396B true CN113225396B (zh) | 2022-08-12 |
Family
ID=77090778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110487441.9A Active CN113225396B (zh) | 2021-04-30 | 2021-04-30 | 一种热点数据包分流方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225396B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373347A (zh) * | 2015-10-23 | 2016-03-02 | 浪潮(北京)电子信息产业有限公司 | 一种存储***的热点数据识别和调度方法及*** |
CN109726074A (zh) * | 2018-08-31 | 2019-05-07 | 网联清算有限公司 | 日志处理方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655842B2 (en) * | 2009-08-17 | 2014-02-18 | Yahoo! Inc. | Push pull caching for social network information |
WO2011157150A2 (zh) * | 2011-05-31 | 2011-12-22 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及*** |
CN108683695A (zh) * | 2018-03-23 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 热点访问处理方法、缓存访问代理设备及分布式缓存*** |
CN111432039A (zh) * | 2020-06-15 | 2020-07-17 | 北京金山云网络技术有限公司 | Cdn中数据请求方法、装置、设备和cdn节点 |
CN112115167B (zh) * | 2020-08-21 | 2022-11-18 | 苏宁云计算有限公司 | 缓存***热点数据访问方法、装置、设备和存储介质 |
CN112076464B (zh) * | 2020-09-04 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据请求处理方法、装置、计算机设备及存储介质 |
CN112615907B (zh) * | 2020-12-04 | 2022-09-06 | 北京齐尔布莱特科技有限公司 | 一种数据同步***及方法 |
-
2021
- 2021-04-30 CN CN202110487441.9A patent/CN113225396B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373347A (zh) * | 2015-10-23 | 2016-03-02 | 浪潮(北京)电子信息产业有限公司 | 一种存储***的热点数据识别和调度方法及*** |
CN109726074A (zh) * | 2018-08-31 | 2019-05-07 | 网联清算有限公司 | 日志处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
一种高并发分布式缓存服务架构;王剑冰;《黑龙江科技信息》;20161105(第31期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113225396A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884810B1 (en) | Workload management using blockchain-based transaction deferrals | |
US10862957B2 (en) | Dissemination of node metrics in server clusters | |
US11075982B2 (en) | Scaling hosts in distributed event handling systems | |
US9692849B2 (en) | Method and node entity for enhancing content delivery network | |
US9965515B2 (en) | Method and device for cache management | |
US20190220201A1 (en) | Methods, apparatuses, and computer program products for controlling write requests in storage system | |
US9569742B2 (en) | Reducing costs related to use of networks based on pricing heterogeneity | |
US10713223B2 (en) | Opportunistic gossip-type dissemination of node metrics in server clusters | |
US20160239229A1 (en) | Hierarchical scale unit values for storing instances of data | |
CN106170016A (zh) | 一种处理高并发数据请求的方法和*** | |
CN107451853B (zh) | 一种红包实时派发的方法、装置、***及存储介质 | |
US20100318584A1 (en) | Distributed Cache Availability During Garbage Collection | |
CN111737168A (zh) | 一种缓存***、缓存处理方法、装置、设备及介质 | |
CN110909978A (zh) | 资源处理方法、装置、服务器及计算机可读存储介质 | |
CN107872517A (zh) | 一种数据处理方法及装置 | |
US20140059162A1 (en) | Distributed information synchronization | |
CN108629653A (zh) | 一种低延时库存扣减服务***及方法 | |
CN106973091B (zh) | 分布式内存数据重分布方法及***、主控服务器 | |
US10678192B1 (en) | Optimization of production systems | |
CN113225396B (zh) | 一种热点数据包分流方法、装置、电子设备及介质 | |
US20230336368A1 (en) | Block chain-based data processing method and related apparatus | |
JP2012018607A (ja) | 分散キャッシュシステム | |
CN107295059A (zh) | 业务推送量的统计***及方法 | |
CN111905362A (zh) | 游戏公会的加载方法和服务器 | |
CN111260272A (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 |