高并发数据请求的处理方法、装置、设备以及存储介质与流程

文档序号:32439207发布日期:2022-12-06 20:44阅读:108来源:国知局
高并发数据请求的处理方法、装置、设备以及存储介质与流程

1.本发明实施例涉及计算机数据处理技术领域,具体涉及一种高并发数据请求的处理方法、装置、设备以及存储介质。


背景技术:

2.在互联网平台中经常会采取一些如抽奖或秒杀等营销活动,以吸引用户参与和购买。在互联网营销活动中,大量用户在短时间内同时且多次发送请求,因此,为了保证互联网营销活动的正常进行,需要互联网营销活动系统具备高并发的数据处理能力。
3.发明人在实施现有技术的过程中发现,采用有现有技术中的传统数据库等方案不能很好地解决高并发数据请求的处理效率较低的问题。


技术实现要素:

4.鉴于上述问题,本发明实施例提供了一种高并发数据请求的处理方法、装置、设备以及存储介质,用于解决现有技术中存在的效率较低的问题。
5.根据本发明实施例的一个方面,提供了一种高并发数据请求的处理方法,所述方法包括:
6.响应于目标活动页面上的资源订购请求;其中,所述目标活动页面根据第一缓存中的活动配置信息预先生成;所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;所述资源订购请求中包括目标用户标识和目标活动标识;
7.从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;
8.根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;
9.当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
10.在一种可选的方式中,所述方法还包括:
11.响应于活动页面访问请求,所述活动页面访问请求包括所述目标活动标识;
12.从所述第一缓存中获取所述目标活动标识对应的所述活动配置信息;
13.对所述活动配置信息进行校验;
14.当确定所述活动配置信息有效时,根据所述活动配置信息生成所述目标活动页面。
15.在一种可选的方式中,所述前端缓存包括web缓存,所述虚拟机缓存包括jvm缓存;所述方法还包括:
16.从关系型数据库中获取所述活动配置信息;
17.将所述活动配置信息存储到所述jvm缓存中;
18.当接收到所述活动页面访问请求时,将所述活动配置信息从所述jvm缓存同步至所述web缓存中。
19.在一种可选的方式中,所述活动页面访问请求包括访问时间;所述活动配置信息包括活动有效时间;所述目标活动数据包括目标库存信息;所述目标库存信息定时从所述第三缓存同步至所述web缓存中;所述方法还包括:
20.对所述目标库存信息进行验证;
21.当所述目标库存信息满足预设库存条件时,执行所述对所述活动配置信息进行校验的步骤;其中,所述对所述活动配置信息进行校验的步骤包括:当确定所述访问时间与所述活动有效时间匹配时,确定所述活动配置信息有效。
22.在一种可选的方式中,所述目标活动数据还包括活动订单数据;所述活动订单数据包括多个参与机会标识以及各个所述参与机会标识所关联的历史订单信息;所述历史订单信息包括历史订单标识以及所述历史订单标识所关联的关联用户标识;所述方法还包括:
23.在所述活动订单数据中将所述目标用户标识与所述关联用户标识进行匹配;
24.根据匹配到的所述关联用户标识所关联的历史订单标识和所述参与机会标识确定目标机会次数;
25.当所述目标机会次数大于零时,确定所述资源订购请求验证通过。
26.在一种可选的方式中,所述内存数据库缓存包括第一内存数据库和第二内存数据库;所述第一内存数据库包括redis;所述第二内存数据库包括mongodb;所述方法还包括:从所述关系型数据库中获取所述目标库存信息和所述活动订单数据;
27.将所述目标库存信息存储到所述第一内存数据库中,将所述活动订单数据存储到所述第二内存数据库中。
28.在一种可选的方式中,所述资源订购请求中还包括目标资源类型和目标资源数量;所述目标库存信息还包括多个可选资源类型和各个所述可选资源类型对应的可选资源数量;所述方法还包括:
29.将所述目标资源类型与所述可选资源类型进行匹配,根据所述目标资源数据对匹配到的所述可选资源类型对应的可选资源数量进行更新操作;所述更新操作为原子性的;
30.生成所述目标用户标识对应的目标订单数据;所述目标订单数据包括目标订单标识;所述目标订单标识为幂等性的;
31.根据所述目标订单数据对所述活动订单数据进行更新,并将所述目标订单数据通过异步队列的方式发送至所述目标资源类型对应的目标资源管理系统。
32.根据本发明实施例的另一方面,提供了一种高并发数据请求的处理装置,包括:
33.响应模块,用于响应于目标活动页面上的资源订购请求;其中,所述目标活动页面根据第一缓存中的活动配置信息预先生成;所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;所述资源订购请求中包括目标用户标识和目标活动标识;
34.获取模块,用于从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;
35.验证模块,用于根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;
36.更新模块,用于当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
37.根据本发明实施例的另一方面,提供了一种高并发数据请求的处理设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
38.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的高并发数据请求的处理方法的操作。
39.根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使高并发数据请求的处理设备执行所述的高并发数据请求的处理方法的操作。
40.本发明实施例通过根据第一缓存中的活动配置信息预先生成一个目标活动页面;其中,所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;然后响应于目标活动页面上的资源订购请求;所述资源订购请求中包括目标用户标识和目标活动标识;从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;从而根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
41.从而区别于现有技术中在高并发环境下采用传统数据库进行数据存储所导致的高并发数据请求的处理效率较低的问题,本发明实施例通过将活动配置信息和目标活动数据预先从第二缓存以及第三缓存中获取到离用户最近的前端缓存即第一缓存中,并且根据数据的使用频率、重要程度不同,结合不同类型的缓存的读取效率和存储性能,将较早用到的活动配置信息存储于包括虚拟机缓存在内的读取速度较快的第二缓存中;将重要程度高的目标活动数据存储于包括内存数据库缓存在内的性能稳定的第三缓存中,从而在接收到资源订购请求时,能够直接从前端缓存中进行处理和返回,提高了高并发数据请求的处理效率,进而提升了高并发环境下互联网营销活动的用户体验。
42.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
43.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
44.图1示出了本发明实施例提供的高并发数据请求的处理方法的流程示意图;
45.图2示出了本发明实施例提供的高并发数据请求的处理装置的结构示意图;
46.图3示出了本发明实施例提供的高并发数据请求的处理设备的结构示意图。
具体实施方式
47.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
48.在进行本发明实施例的高并发数据请求的处理方法的说明之前,首先对相关名词进行说明:
49.前端缓存,包括http缓存和浏览器缓存,其中,浏览器缓存中包括web缓存,浏览器缓存是指当浏览器请求一个网站的时候,会加载各种各样的资源,对于一些不经常变的内容,浏览器会将其保存在本地的文件中,下次访问相同网站的时候,直接加载这些资源,从而加速访问。
50.使用web缓存的2个主要原因:降低延迟,即web缓存离客户端更近,因此,从缓存请求内容比从源服务器所用时间更少,呈现速度更快,网站就显得更灵敏。降低网络传输,由于副本被重复使用,大大降低了用户的带宽使用,同时保证了带宽请求在一个低水平上,更容易维护。
51.jvm缓存,java虚拟机上的缓存,是非分布式,其特点在于:在接收到客户端的查询请求时,首先在jvm缓存中查看是否有数据,若有则返回至客户端,若无则发送jdbc请求操作数据库进行查询,从数据库中查询到的数据会先存放到jvm缓存中,然后再返回给客户端,这样下次查询数据在jvm缓存可以直接找到,提高了数据获取效率,减轻了服务器访问数据库压力。
52.redis数据库,一种非关系型的开源数据库,其将数据保存在内存中,并且可以定时把内存数据同步到磁盘,即可以将数据持久化,具有支持的数据结构丰富、精准性高、支持分布式的特点。
53.mongodb,一种类似于关系型数据库的内存数据库,易于维护,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询json数据,能存储海量数据,但是不支持事务。由于关系型数据库在大数据量时效率显著下降,mongodb更多时候可以作为关系数据库的一种替代。其中,mongodb数据存在内存中,当内存不够时,只将热点数据放入内存,其他数据存在磁盘,这一点与redis不同。
54.图1示出了本发明实施例提供的高并发数据请求的处理方法的流程图,该方法由计算机处理设备执行。计算机处理设备可以包括手机、笔记本电脑等。如图1所示,该方法包括以下步骤:
55.步骤101:响应于目标活动页面上的资源订购请求;所述资源订购请求中包括目标用户标识和目标活动标识。
56.在本发明的一个实施例中,目标活动页面可以包括互联网营销活动的活动展示页面,其中,互联网营销活动可以包括如秒杀活动、抽奖活动等用户所发送的数据请求具有高并发特点的活动。
57.活动展示页面上展示有活动配置信息、可选资源信息等。其中,活动配置信息用于配置活动的有效时间、活动类型等活动基本信息,有效时间可以是一段预设的时间区间或者时间周期信息,如可以是2021.5.28 00:00:00-2021.6.2 23:59:59,或者是2021年6月-8月的每个周末。活动类型可以是如秒杀、抽奖等。
58.可选资源信息可以包括当前可以秒杀或者抽奖的资源种类和剩余量。资源订购请求用于请求订购所述可选资源信息对应的资源。在本发明的再一个实施例中,资源订购请求可以是通过用户点击目标活动页面上的参与按钮而触发的。
59.在本发明的再一个实施例中,目标活动页面根据第一缓存中的活动配置信息预先
生成;所述活动配置信息从第二缓存中同步至所述第一缓存中。
60.其中,第二缓存与第一缓存是不同种类的缓存,第一缓存具有存储在活动展示页面所在的设备本地的特点,第二缓存具有读写速度快、成本低以及结构相对简单的特点。因此,在本发明的再一个实施例中,所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存。
61.因此,在步骤101之前,目标活动页面的生成过程至少包括:
62.步骤1011:响应于活动页面访问请求,所述活动页面访问请求包括所述目标活动标识。
63.在本发明的一个实施例中,目标活动标识是特异性的,用于标识不同的互联网营销活动相关的数据。
64.步骤1012:从所述第一缓存中获取所述目标活动标识对应的所述活动配置信息。
65.在本发明的一个实施例中,根据目标活动标识在第一缓存中进行查询时,当未查询到时,则返回该活动不存在的提示信息。
66.在本发明的再一个实施例中,所述前端缓存包括web缓存,所述虚拟机缓存包括jvm缓存;步骤1012还包括:步骤121:从关系型数据库中获取所述活动配置信息。
67.在本发明的一个实施例中,关系型数据库用于存储所有与步骤1011中所述的目标活动标识对应的互联网营销活动相关的数据。其中,关系型数据库包括mysql。
68.步骤122:将所述活动配置信息存储到所述jvm缓存中。
69.考虑到关系型数据库的读取速率较慢,而活动配置信息是每一次在接收到用户的活动页面访问请求时都需要进行校验的数据,因此,在本发明的一个实施例中,预先将活动配置信息从关系型数据库中存储到所述jvm缓存中,使得活动配置信息的读取更加快速,从而提高高并发环境下的请求的处理效率。
70.步骤123:当接收到所述活动页面访问请求时,将所述活动配置信息从所述jvm缓存同步至所述web缓存中。
71.需要说明的是,在本发明的再一个实施例中,也可以是定时从jvm缓存进行活动配置信息的获取,根据获取到的活动配置信息对web缓存的刷新。
72.由于web缓存属于前端缓存,其离用户最近,因此读取效率最高,在进行目标活动页面的生成之前,先进行活动是否存在的校验时,可以直接从web缓存中获取活动配置信息进行校验,避免向后端jvm缓存或者关系型数据发送数据请求,省去了在后端缓存或数据库中进行查询和等待返回结果的时间,由此提高高并发环境下的数据处理效率。
73.步骤1013:对所述活动配置信息进行校验。
74.在本发明一个实施例中,对活动配置信息进行校验包括对如活动页面访问请求的发送时间是否在活动有效时间中,活动对应的资源库存是否能够支持活动的进行等。
75.在本发明的再一个实施例中,所述活动页面访问请求包括访问时间;所述活动配置信息包括活动有效时间;所述目标活动数据包括目标库存信息;所述目标库存信息定时从所述第三缓存同步至所述web缓存中。
76.考虑到在实际的秒杀或抽奖等互联网营销活动中,由于用户参与积极性较高,资源库存可能在短时间内就被清空,在这种情况下,后续参与的用户即使是有参与活动的机会或资格,也无法获取资源。因此,在本发明的再一个实施例中,在这种情况下,直接提示用
户活动已经结束即可,而无需进一步生成活动页面,从而省去接收和处理用户所发送资源订购请求的步骤,由此可以进一步简化营销活动的流程,提高高并发数据请求的处理效率。
77.因此,在本发明的再一个实施例中,在对活动配置信息进行校验之前还包括:步骤131:对所述目标库存信息进行验证。
78.在本发明的一个实施例中,可以将目标库存信息与预设的库存阈值进行比较。
79.步骤132:当所述目标库存信息满足预设库存条件时,执行所述对所述活动配置信息进行校验的步骤。
80.在本发明的再一个实施例中,所述对所述活动配置信息进行校验的步骤包括:
81.步骤132:当确定所述访问时间与所述活动有效时间匹配时,确定所述活动配置信息有效。
82.访问时间与活动有效时间匹配指的是访问时间包括在活动有效时间之内,如在活动有效时间为即日起至2021年6月1日23:59:59,当访问时间为2021年6月1日20:00:00,则两者匹配。
83.在本发明的再一个实施例中,还可以生成一个提示页面,活动页面用于在确定目标库存信息不满足所述预设库存条件时,展示“您来晚了,奖品已经被抢光了”等提示信息,或者在访问时间与活动有效时间不匹配时,提示页面用于展示如“活动已经结束”或者“活动还未开始”等提示信息。
84.步骤1014:当确定所述活动配置信息有效时,根据所述活动配置信息生成所述目标活动页面。
85.在本发明的再一个实施例中,在web缓存中还存有一些与页面展示相关的静态页面信息,如页面样式信息、页面多媒体资源信息等,该静态页面信息可以是预先从前述关系型数据库中获取的,当确定所述活动配置信息有效时,根据上述静态页面信息和活动配置信息生成目标活动页面。
86.步骤102:从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中。
87.在互联网营销活动中,目标活动数据是业务正常处理的核心和基础,在资源的正确发放和以及用户的请求的正确响应都需要以目标活动数据为依据,与此同时,考虑到区别于关系型数据库以及虚拟机缓存,内存数据库所具有的支持的数据结构多、性能稳定、支持持久化以及分布式等特点,因此,在本发明的一个实施例中,将目标活动数据缓存于第三缓存中;其中,所述第三缓存包括内存数据库缓存。
88.需要说明的是,目标活动数据从第三缓存中同步至第一缓存中的时机可以是定时的也可以是每一次接收到活动页面访问请求时,从而避免第一缓存的刷新时延所造成的目标活动数据不准确,提高高并发数据请求的处理准确率。
89.步骤103:根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证。
90.对资源订购请求的验证主要包括两个方面,一方面根据目标用户标识进行用户是否具有参与资格即参与机会的校验,另一方面进行资源订购请求所对应的资源库存是否能够满足用户的订购请求的校验。
91.因此,在本发明的一个实施例中,所述目标活动数据还包括活动订单数据;所述活
动订单数据包括多个参与机会标识以及各个所述参与机会标识所关联的历史订单信息;所述历史订单信息包括历史订单标识以及所述历史订单标识所关联的关联用户标识。
92.步骤103还包括:步骤1031:在所述活动订单数据中将所述目标用户标识与所述关联用户标识进行匹配。
93.区别于现有技术中采用的将参与机会相关的订单数据以及各个订单对应的用户和资源数据分为两张表分别进行存储,所导致的存储成本高和查询效率低的问题,在本发明的再一个实施例中,每一个活动标识对应的活动订单数据存储在一张数据表中,该数据表的主键为参与机会标识,由此在一张表中进行查询即可完成资源订购请求的响应,由此提高了高并发数据处理的效率。
94.步骤1032:根据匹配到的所述关联用户标识所关联的历史订单标识和所述参与机会标识确定目标机会次数。
95.在本发明的一个实施例中,确定目标机会次数的过程至少包括:步骤321:对匹配到的所述关联用户标识所关联的历史订单标识的个数进行统计,得到已用机会次数。
96.步骤322:对匹配到的所述关联用户标识所关联的参与机会标识的个数进行统计,得到初始机会次数。
97.需要说明的是,在本发明的再一个实施例中,参与机会标识的确定过程还可以包括:
98.步骤3221:获取用户参与数据;所述用户参与数据包括参与用户标识。
99.步骤3222:当确定所述用户参与数据满足预设机会条件时,生成所述参与机会标识,并将所述参与用户标识确定为与所述参与机会标识关联的关联用户标识。
100.其中,用户参与数据包括用户参与关联活动,其中关联活动是与目标活动页面对应的营销活动相关的其他活动,如在营销活动为某通信运营商的商品兑换券的抽奖活动时,关联活动可以是用户的话费积分兑换活动。如用户在消费额或者积分达到预设阈值或者确定用户完成了某预设动作时,其中,预设动作可以是分享朋友圈、收藏或者评论等。
101.步骤323:将所述初始机会次数和所述已用机会次数的差确定为目标机会次数。
102.举例说明,当关联用户标识为u001时,关联订单标识可以包括o001、o002这两个,而关联机会标识可以包括c001、c002、c003这三个。则目标机会次数为3-2=1次。
103.步骤1033:当所述目标机会次数大于零时,确定所述资源订购请求验证通过。
104.考虑到目标活动数据中的资源库存信息的读写频率都较高,每一次对资源请求进行验证时,都需要首先对资源库存信息是否满足预设库存条件进行验证,而与此同时,活动订单数据的重要程度更高,是整个互联网营销活动的业务支持核心数据,需要进行持久化,并且进行类似于关系型数据库式的存储。
105.因此,在本发明的再一个实施例中,针对上述存储需求,可以采用两种存储性能和特点不同的内存数据库缓存,用来分别存储资源库存信息和活动订单数据。
106.所述内存数据库缓存包括第一内存数据库和第二内存数据库;其中,第一内存数据库应该具有数据存储与读写性能高的特点,第二内存数据库应该具有易于维护、结构简单、近似于关系型数据库的特点。
107.在本发明的再一个实施例中,所述第一内存数据库包括redis;所述第二内存数据库包括mongodb。将活动订单数据在mongodb中进行持久化,即在指定的时间间隔内将
mongodb内存中的数据集快照写入磁盘。
108.在所述根据所述活动配置信息生成所述目标活动页面之前,还包括:
109.步骤1034:从所述关系型数据库中获取所述目标库存信息和所述活动订单数据。
110.步骤1035:将所述目标库存信息存储到所述第一内存数据库中,将所述活动订单数据存储到所述第二内存数据库中。
111.步骤104:当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
112.在本发明的一个实施例中,所述资源订购请求中还包括目标资源类型和目标资源数量;所述目标库存信息还包括多个可选资源类型和各个所述可选资源类型对应的可选资源数量。其中,目标资源类型可以是如流量券、话费券、小家电等虚拟或实体种类。
113.步骤104还包括:步骤1041:将所述目标资源类型与所述可选资源类型进行匹配,根据所述目标资源数据对匹配到的所述可选资源类型对应的可选资源数量进行更新操作;所述更新操作为原子性的。
114.在本发明的一个实施例中,更新操作包括根据目标资源数量对可选资源数量进行对应的扣减。
115.在本发明的再一个实施例中,当目标活动标识对应的活动类型为抽奖活动时,资源订购请求中还可以包括目标中奖概率,目标库存信息中还包括各个所述可选资源类型对应的可选资源等级,以及各个可选资源等级对应的中奖概率区间。
116.当接收到资源订购请求时,将目标中奖概率和各个所述资源概率区间分别进行匹配,获取匹配到的资源概率区间对应的可选资源等级作为目标资源等级。当所述目标资源等级对应的可选资源数量为零时,可以依次查询该目标资源等级对应的下一级可选资源等级对应的可选资源数量,或者默认从最小的可选资源等级开始循环查询可选资源数量,如果所有等级的可选资源数量都为空,则提示用户抽奖活动结束。
117.步骤1042:生成所述目标用户标识对应的目标订单数据;所述目标订单数据包括目标订单标识;所述目标订单标识为幂等性的。
118.通过将幂等性的目标订单标识发送给与资源发放的相关后端系统,如资源管理系统,使得每个订单对应的资源发放情况易于核对和追溯,从而提高了资源发放的准确率,从而提升了高并发数据请求的处理的准确率。
119.步骤1043:根据所述目标订单数据对所述活动订单数据进行更新,并将所述目标订单数据通过异步队列的方式发送至所述目标资源类型对应的目标资源管理系统。
120.目标资源管理系统用于管理目标资源类型对应的资源的生成、存储和发放等资源生命周期,如在目标资源类型为流量券时,目标资源管理系统可以是通信网络计费系统。
121.考虑到异步队列的通知方式可能由于网络或者其他原因导致资源可能没有发放成功,因此,在本发明的再一个实施例中,在通过异步队列的方式通知目标资源管理系统之后,还可以进行资源稽核,从而保证资源百分百发放给用户,提高用户体验。
122.其中,资源稽核的过程可以至少包括:获取异步处理结果,通过定时任务发起稽核对账,校验目标订单标识在目标资源管理系统与当前高并发处理系统是否具有一致性,若不一致或者目标资源管理系统返回的处理结果为失败,则再次通过异步队列,将资源发放请求发送至目标资源管理系统,其中,所述资源发放请求包括所述目标订单标识。
123.区别于现有技术中采用传统数据库所导致的高并发数据请求的处理效率较低,本
发明实施例提供的高并发数据请求的处理方法通过将活动配置信息和目标活动数据预先从第二缓存以及第三缓存中获取到离用户最近的前端缓存即第一缓存中,并且根据数据的使用频率、重要程度不同,结合不同类型的缓存的读取效率和存储性能,将活动配置信息存储于包括虚拟机缓存在内的第二缓存中;将目标活动数据存储于包括内存数据库缓存在内的第三缓存中,从而在接收到资源订购请求时,能够直接从前端缓存中进行处理和返回,从而本发明实施例提供的高并发数据请求的处理方法提高了高并发数据请求的处理效率,从而提升了高并发环境下营销活动的用户体验。
124.图2示出了本发明实施例提供的高并发数据请求的处理装置的结构示意图。如图2所示,该装置200包括:响应模块201、获取模块202、验证模块203、更新模块204。
125.其中,响应模块201,用于响应于目标活动页面上的资源订购请求;其中,所述目标活动页面根据第一缓存中的活动配置信息预先生成;所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;所述资源订购请求中包括目标用户标识和目标活动标识;
126.获取模块202,用于从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;
127.验证模块203,用于根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;
128.更新模块204,用于当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
129.在一种可选的方式中,响应模块201还用于:响应于活动页面访问请求,所述活动页面访问请求包括所述目标活动标识;
130.从所述第一缓存中获取所述目标活动标识对应的所述活动配置信息;
131.对所述活动配置信息进行校验;
132.当确定所述活动配置信息有效时,根据所述活动配置信息生成所述目标活动页面。
133.在一种可选的方式中,所述前端缓存包括web缓存,所述虚拟机缓存包括jvm缓存;响应模块201还用于:
134.从关系型数据库中获取所述活动配置信息;
135.将所述活动配置信息存储到所述jvm缓存中;
136.当接收到所述活动页面访问请求时,将所述活动配置信息从所述jvm缓存同步至所述web缓存中。
137.在一种可选的方式中,所述活动页面访问请求包括访问时间;所述活动配置信息包括活动有效时间;所述目标活动数据包括目标库存信息;所述目标库存信息定时从所述第三缓存同步至所述web缓存中;
138.响应模块201还用于:对所述目标库存信息进行验证;
139.当所述目标库存信息满足预设库存条件时,执行所述对所述活动配置信息进行校验的步骤;其中,所述对所述活动配置信息进行校验的步骤包括:当确定所述访问时间与所述活动有效时间匹配时,确定所述活动配置信息有效。
140.在一种可选的方式中,所述目标活动数据还包括活动订单数据;所述活动订单数据包括多个参与机会标识以及各个所述参与机会标识所关联的历史订单信息;所述历史订单信息包括历史订单标识以及所述历史订单标识所关联的关联用户标识;验证模块203还用于:
141.在所述活动订单数据中将所述目标用户标识与所述关联用户标识进行匹配;
142.根据匹配到的所述关联用户标识所关联的历史订单标识和所述参与机会标识确定目标机会次数;
143.当所述目标机会次数大于零时,确定所述资源订购请求验证通过。
144.在一种可选的方式中,所述内存数据库缓存包括第一内存数据库和第二内存数据库;所述第一内存数据库包括redis;所述第二内存数据库包括mongodb;
145.获取模块202还用于:从所述关系型数据库中获取所述目标库存信息和所述活动订单数据;
146.将所述目标库存信息存储到所述第一内存数据库中,将所述活动订单数据存储到所述第二内存数据库中。
147.在一种可选的方式中,所述资源订购请求中还包括目标资源类型和目标资源数量;所述目标库存信息还包括多个可选资源类型和各个所述可选资源类型对应的可选资源数量;更新模块204还用于:
148.将所述目标资源类型与所述可选资源类型进行匹配,根据所述目标资源数据对匹配到的所述可选资源类型对应的可选资源数量进行更新操作;所述更新操作为原子性的;
149.生成所述目标用户标识对应的目标订单数据;所述目标订单数据包括目标订单标识;所述目标订单标识为幂等性的;
150.根据所述目标订单数据对所述活动订单数据进行更新,并将所述目标订单数据通过异步队列的方式发送至所述目标资源类型对应的目标资源管理系统。
151.区别于现有技术中采用传统数据库所导致的高并发数据请求的处理效率较低,本发明实施例提供的高并发数据请求的处理装置通过将活动配置信息和目标活动数据预先从第二缓存以及第三缓存中获取到离用户最近的前端缓存即第一缓存中,并且根据数据的使用频率、重要程度不同,结合不同类型的缓存的读取效率和存储性能,将活动配置信息存储于包括虚拟机缓存在内的第二缓存中;将目标活动数据存储于包括内存数据库缓存在内的第三缓存中,从而在接收到资源订购请求时,能够直接从前端缓存中进行处理和返回,从而本发明实施例提供的高并发数据请求的处理装置提高了高并发数据请求的处理效率,从而提升了高并发环境下营销活动的用户体验。
152.图3示出了本发明实施例提供的高并发数据请求的处理设备的结构示意图,本发明具体实施例并不对高并发数据请求的处理设备的具体实现做限定。
153.如图3所示,该高并发数据请求的处理设备可以包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。
154.其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述用于高并发数据请求的处理方法实施例中的相关步骤。
155.具体地,程序310可以包括程序代码,该程序代码包括计算机可执行指令。
156.处理器302可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。高并发数据请求的处理设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
157.存储器306,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
158.程序310具体可以被处理器302调用使高并发数据请求的处理设备执行以下操作:
159.响应于目标活动页面上的资源订购请求;其中,所述目标活动页面根据第一缓存中的活动配置信息预先生成;所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;所述资源订购请求中包括目标用户标识和目标活动标识;
160.从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;
161.根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;
162.当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
163.在一种可选的方式中,所述程序310被处理器302调用使高并发数据请求的处理设备执行以下操作:
164.响应于活动页面访问请求,所述活动页面访问请求包括所述目标活动标识;
165.从所述第一缓存中获取所述目标活动标识对应的所述活动配置信息;
166.对所述活动配置信息进行校验;
167.当确定所述活动配置信息有效时,根据所述活动配置信息生成所述目标活动页面。
168.在一种可选的方式中,所述前端缓存包括web缓存,所述虚拟机缓存包括jvm缓存;所述程序310被处理器302调用使高并发数据请求的处理设备执行以下操作:
169.从关系型数据库中获取所述活动配置信息;
170.将所述活动配置信息存储到所述jvm缓存中;
171.当接收到所述活动页面访问请求时,将所述活动配置信息从所述jvm缓存同步至所述web缓存中。
172.在一种可选的方式中,所述活动页面访问请求包括访问时间;所述活动配置信息包括活动有效时间;所述目标活动数据包括目标库存信息;所述目标库存信息定时从所述第三缓存同步至所述web缓存中;所述程序310被处理器302调用使高并发数据请求的处理设备执行以下操作:
173.对所述目标库存信息进行验证;
174.当所述目标库存信息满足预设库存条件时,执行所述对所述活动配置信息进行校验的步骤;其中,所述对所述活动配置信息进行校验的步骤包括:当确定所述访问时间与所述活动有效时间匹配时,确定所述活动配置信息有效。
175.在一种可选的方式中,所述目标活动数据还包括活动订单数据;所述活动订单数据包括多个参与机会标识以及各个所述参与机会标识所关联的历史订单信息;所述历史订单信息包括历史订单标识以及所述历史订单标识所关联的关联用户标识;所述程序310被
处理器302调用使高并发数据请求的处理设备执行以下操作:
176.在所述活动订单数据中将所述目标用户标识与所述关联用户标识进行匹配;
177.根据匹配到的所述关联用户标识所关联的历史订单标识和所述参与机会标识确定目标机会次数;
178.当所述目标机会次数大于零时,确定所述资源订购请求验证通过。
179.在一种可选的方式中,所述内存数据库缓存包括第一内存数据库和第二内存数据库;所述第一内存数据库包括redis;所述第二内存数据库包括mongodb;所述程序310被处理器302调用使高并发数据请求的处理设备执行以下操作:
180.从所述关系型数据库中获取所述目标库存信息和所述活动订单数据;
181.将所述目标库存信息存储到所述第一内存数据库中,将所述活动订单数据存储到所述第二内存数据库中。
182.在一种可选的方式中,所述资源订购请求中还包括目标资源类型和目标资源数量;所述目标库存信息还包括多个可选资源类型和各个所述可选资源类型对应的可选资源数量;
183.所述程序310被处理器302调用使高并发数据请求的处理设备执行以下操作:
184.将所述目标资源类型与所述可选资源类型进行匹配,根据所述目标资源数据对匹配到的所述可选资源类型对应的可选资源数量进行更新操作;所述更新操作为原子性的;
185.生成所述目标用户标识对应的目标订单数据;所述目标订单数据包括目标订单标识;所述目标订单标识为幂等性的;
186.根据所述目标订单数据对所述活动订单数据进行更新,并将所述目标订单数据通过异步队列的方式发送至所述目标资源类型对应的目标资源管理系统。
187.区别于现有技术中采用传统数据库所导致的高并发数据请求的处理效率较低,本发明实施例提供的高并发数据请求的处理设备通过将活动配置信息和目标活动数据预先从第二缓存以及第三缓存中获取到离用户最近的前端缓存即第一缓存中,并且根据数据的使用频率、重要程度不同,结合不同类型的缓存的读取效率和存储性能,将活动配置信息存储于包括虚拟机缓存在内的第二缓存中;将目标活动数据存储于包括内存数据库缓存在内的第三缓存中,从而在接收到资源订购请求时,能够直接从前端缓存中进行处理和返回,从而本发明实施例提供的高并发数据请求的处理设备提高了高并发数据请求的处理效率,从而提升了高并发环境下营销活动的用户体验。
188.本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在高并发数据请求的处理设备上运行时,使得所述高并发数据请求的处理设备执行上述任意方法实施例中的高并发数据请求的处理方法。
189.可执行指令具体可以用于使得高并发数据请求的处理设备执行以下操作:
190.响应于目标活动页面上的资源订购请求;其中,所述目标活动页面根据第一缓存中的活动配置信息预先生成;所述活动配置信息从第二缓存中同步至所述第一缓存中;所述第一缓存包括前端缓存;所述第二缓存包括虚拟机缓存;所述资源订购请求中包括目标用户标识和目标活动标识;
191.从所述第一缓存中获取所述目标活动标识对应的目标活动数据;所述目标活动数据从第三缓存中同步至所述第一缓存中;所述第三缓存包括内存数据库缓存;
192.根据所述目标活动数据和所述目标用户标识对所述资源订购请求进行验证;
193.当所述资源订购请求验证通过时,对所述目标活动数据进行更新。
194.在一种可选的方式中,所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
195.响应于活动页面访问请求,所述活动页面访问请求包括所述目标活动标识;
196.从所述第一缓存中获取所述目标活动标识对应的所述活动配置信息;
197.对所述活动配置信息进行校验;
198.当确定所述活动配置信息有效时,根据所述活动配置信息生成所述目标活动页面。
199.在一种可选的方式中,所述前端缓存包括web缓存,所述虚拟机缓存包括jvm缓存;所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
200.从关系型数据库中获取所述活动配置信息;
201.将所述活动配置信息存储到所述jvm缓存中;
202.当接收到所述活动页面访问请求时,将所述活动配置信息从所述jvm缓存同步至所述web缓存中。
203.在一种可选的方式中,所述活动页面访问请求包括访问时间;所述活动配置信息包括活动有效时间;所述目标活动数据包括目标库存信息;所述目标库存信息定时从所述第三缓存同步至所述web缓存中;所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
204.对所述目标库存信息进行验证;
205.当所述目标库存信息满足预设库存条件时,执行所述对所述活动配置信息进行校验的步骤;其中,所述对所述活动配置信息进行校验的步骤包括:当确定所述访问时间与所述活动有效时间匹配时,确定所述活动配置信息有效。
206.在一种可选的方式中,所述目标活动数据还包括活动订单数据;所述活动订单数据包括多个参与机会标识以及各个所述参与机会标识所关联的历史订单信息;所述历史订单信息包括历史订单标识以及所述历史订单标识所关联的关联用户标识;所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
207.在所述活动订单数据中将所述目标用户标识与所述关联用户标识进行匹配;
208.根据匹配到的所述关联用户标识所关联的历史订单标识和所述参与机会标识确定目标机会次数;
209.当所述目标机会次数大于零时,确定所述资源订购请求验证通过。
210.在一种可选的方式中,所述内存数据库缓存包括第一内存数据库和第二内存数据库;所述第一内存数据库包括redis;所述第二内存数据库包括mongodb;所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
211.从所述关系型数据库中获取所述目标库存信息和所述活动订单数据;
212.将所述目标库存信息存储到所述第一内存数据库中,将所述活动订单数据存储到所述第二内存数据库中。
213.在一种可选的方式中,所述资源订购请求中还包括目标资源类型和目标资源数量;所述目标库存信息还包括多个可选资源类型和各个所述可选资源类型对应的可选资源
数量;所述可执行指令使所述高并发数据请求的处理设备执行以下操作:
214.将所述目标资源类型与所述可选资源类型进行匹配,根据所述目标资源数据对匹配到的所述可选资源类型对应的可选资源数量进行更新操作;所述更新操作为原子性的;
215.生成所述目标用户标识对应的目标订单数据;所述目标订单数据包括目标订单标识;所述目标订单标识为幂等性的;
216.根据所述目标订单数据对所述活动订单数据进行更新,并将所述目标订单数据通过异步队列的方式发送至所述目标资源类型对应的目标资源管理系统。
217.区别于现有技术中采用传统数据库所导致的高并发数据请求的处理效率较低,本发明实施例提供的计算机存储介质通过将活动配置信息和目标活动数据预先从第二缓存以及第三缓存中获取到离用户最近的前端缓存即第一缓存中,并且根据数据的使用频率、重要程度不同,结合不同类型的缓存的读取效率和存储性能,将活动配置信息存储于包括虚拟机缓存在内的第二缓存中;将目标活动数据存储于包括内存数据库缓存在内的第三缓存中,从而在接收到资源订购请求时,能够直接从前端缓存中进行处理和返回,从而本发明实施例提供的计算机存储介质提高了高并发数据请求的处理效率,从而提升了高并发环境下营销活动的用户体验。
218.本发明实施例提供一种高并发数据请求的处理装置,用于执行上述高并发数据请求的处理方法。
219.本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使高并发数据请求的处理设备执行上述任意方法实施例中的高并发数据请求的处理方法。
220.本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的高并发数据请求的处理方法。
221.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
222.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
223.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
224.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法
或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
225.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1