一种页面展示方法、装置、业务服务器及存储介质与流程

文档序号:27825042发布日期:2021-12-07 20:13阅读:57来源:国知局
一种页面展示方法、装置、业务服务器及存储介质与流程

1.本发明实施例涉及计算机技术领域,尤其涉及一种页面展示方法、装置、业务服务器及存储介质。


背景技术:

2.现有电商模式存在各式各样的用于提高物品出库概率的活动,示例性的,在一次活动过程中,运营人员可以通过电商系统提前向固定数量或者固定等级的用户、甚至是面向全网用户集中推送某物品的活动消息,比如10点抢获定量库存并且低于市场价值属性的物品。那么,收到活动消息的用户很可能会在10点左右访问该物品所在的物品详情页面以进行物品获取操作,这意味着几秒钟内电商系统需要向大量用户展示该物品详情页面,那么该物品详情页面的每秒查询率(query per second,qps)很可能会在瞬间超过该电商系统所在的服务器所能承受的阈值,这将导致服务器宕机。
3.为了解决这一问题,现有技术主要采用限流机制,其会在服务器qps达到阈值时进行服务器的排队,即服务器暂时停止向后续到来的用户展示物品详情页面,由此避免了服务器可能出现的宕机问题。
4.在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:限流机制被触发后,服务器无法对任意物品的物品详情页面进行展示,这会对用户使用体验和物品出库概率均带来了较大的影响。


技术实现要素:

5.本发明实施例提供了一种页面展示方法、装置、业务服务器及存储介质,解决了物品详情页面无法有效展示的问题。
6.第一方面,本发明实施例提供了一种页面展示方法,应用于业务服务器,可以包括:
7.在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品;
8.若是,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据;
9.将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
10.第二方面,本发明实施例还提供了一种页面展示装置,配置于业务服务器,可以包括:
11.物品确定模块,用于在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品;
12.数据读取模块,用于若是,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,基于各数据读取策略读取相应的业务数据;
13.页面展示模块,用于将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
14.第三方面,本发明实施例还提供了一种业务服务器,可以包括:
15.一个或多个处理器;
16.存储器,用于存储一个或多个程序;
17.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的页面展示方法。
18.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的页面展示方法。
19.本发明实施例的技术方案,通过获取与监测到的用于访问页面的访问触发事件对应的访问信息,可以确定与访问信息对应的待访问物品是否为目标物品,由此能够从各待访问物品中得到可能会导致业务服务器宕机的目标物品;如果待访问物品是目标物品,则可以获取该目标物品所在的物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据,由此能够采用不会对业务服务器和/或与该业务服务器通讯连接的缓存服务器造成过大压力的方式读取到那些对于触发用户比较重要的业务数据;进而,将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。上述技术方案,通过获取得到的可能导致业务服务器宕机的目标物品所在的物品详情页面中各业务数据的数据读取策略,完成存在读取需求的业务数据的读取工作,由此实现了物品详情页面的有效展示的效果,进一步达到了增强用户使用体验的效果。
附图说明
20.图1是本发明实施例一中的一种页面展示方法的流程图;
21.图2是本发明实施例一中的一种页面展示方法中可选示例的示意图;
22.图3是本发明实施例二中的一种页面展示方法的流程图;
23.图4是本发明实施例二中的一种页面展示方法中可选示例的示意图;
24.图5是本发明实施例三中的一种页面展示方法的流程图;
25.图6是本发明实施例四中的一种页面展示方法的流程图;
26.图7是本发明实施例四中的一种页面展示方法中可选示例的示意图;
27.图8是本发明实施例四中的一种页面展示方法中可选示例的流程图;
28.图9是本发明实施例五中的一种页面展示装置的结构框图;
29.图10是本发明实施例六中的一种业务服务器的结构示意图。
具体实施方式
30.下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
31.在介绍本发明实施例之前,先对本发明实施例的应用场景进行示例性说明:如果某个物品在瞬间的访问量、或是说其所在的物品详情页面的qps可能超过电商系统所在的
服务器所能承受的阈值,这样的物品可以称之为目标物品或是热点物品。需要说明的是,现有的限流机制往往是针对全部的物品的物品详情页面的服务,而不是针对某个固定的库存量单元(stock keeping unit,sku)或是网际协议(internet protocol,ip)地址,这意味着当热点商品的访问量超过阈值时会对服务器起到决定性的保护作用,但是其它物品、甚至是99%的物品都没有参与到本次的活动中,这些物品同样也在限流机制内,这使得用户无法对任意物品的物品详情页面进行访问,用户使用体验和物品出库概率很差。
32.为了解决上述问题,本发明各实施例提出了下述页面展示方法。
33.实施例一
34.图1是本发明实施例一中提供的一种页面展示方法的流程图。本实施例可适用于展示物品详情页面的情况,尤其适用于基于与目标物品的物品详情页面中各业务数据相匹配的来读取业务数据以保证每个物品详情页面有效展示的情况。该方法可以由本发明实施例提供的页面展示装置来执行,该装置可由软件和/或硬件的方式实现,该装置可以集成在业务服务器上。
35.参见图1,本发明实施例的方法具体包括如下步骤:
36.s110、在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品。
37.其中,访问触发事件可以是触发用户通过业务客户端触发的用于对相应的物品详情页面进行访问的事件,示例性的,业务客户端在监测到某页面链接被点击的点击触发事件时,其可以将获取到相应的页面链接发送给业务服务器,以使该业务服务器监测到与该页面链接对应的访问触发事件。访问信息可以是与该访问触发事件对应的与用户待访问的物品详情页面、物品(即待访问物品)、业务服务器等等有关的信息,比如物品详情页面的页面链接、待访问物品的待访问物品信息、业务服务器的占用状态信息等等。该物品详情页面可以是为该待访问物品进行详情介绍、提供获取渠道等等信息的页面,业务服务器可以是用于获取该物品详情页面所需要的各种业务数据、并将该业务数据发送给业务客户端的服务器。
38.进一步,目标物品可以是在瞬间的访问量、或是说其所在的物品详情页面的qps可能超过业务服务器所能承受的阈值的物品,这样的物品也可以称之为热点物品。确定与访问信息对应的待访问物品是否为目标物品的方式有多种,比如将根据访问信息确定目标物品的物品确定策略写入业务代码中或通过规则引擎的方式将该物品确定策略写入脚本中,由此通过调用相应的业务代码或是脚本即可以获取到物品确定策略,然后根据该访问信息和物品确定策略之间的匹配度确定待访问物品是否为目标物品。需要说明的是,业务代码可以是用于对物品详情页面中的各种业务逻辑进行处理的业务服务器中的主代码,脚本是与该业务代码间未存在耦合关系的可以通过后台管理配置的文件,其配置过程无需停止业务代码的执行,灵活性较好。
39.s120、若是,则获取目标物品所在的物品详情页面中各个业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据。
40.其中,物品详情页面中可以包括多个业务数据,如主图数据、标题数据、价格数据、预约数据、预售数据、秒杀数据、促销数据、评价数据、客服数据等等,每个业务数据可以具有相应的数据读取策略,该数据读取策略可以对该业务数据如何进行读取进行限定,如是
否读取该业务数据、从何种渠道读取该业务数据等等。在此基础上,如果待访问物品是目标物品,则可以获取该目标物品所在的物品详情页面中各个业务数据的数据读取策略,并基于各数据读取策略读取到相应的业务数据。示例性的,数据读取策略程可通过调用业务代码或脚本得到,该脚本可以是通过规则引擎预先对数据读取策略进行配置的文件。再示例性的,以某业务数据为例,可以先基于其对应的数据读取策略确定是否读取该业务数据,若是再根据该数据读取策略确定从何种渠道读取该业务数据,比如直接从业务服务器中的缓存位置上读取、从与业务服务器通讯连接的缓存服务器中读取等,该缓存服务器中可存储有与各业务数据分别对应的缓存数据。
41.上述步骤设置的意义在于,由于目标物品是有可能会造成业务服务器宕机的物品,业务服务器的宕机意味着任意的目标物品或是普通的待访问物品所在的物品详情页面均无法进行展示。为了避免这一情况的出现,当待访问物品是目标物品时,可以根据各业务数据相对于触发用户的重要性,采用相应的数据读取策略来读取业务数据,该触发用户可以是触发访问触发事件的用户,如仅读取对触发用户比较重要的业务数据、能够从业务服务器中读取到的业务数据则从业务服务器中直接读取,即尽可能减少业务服务器和缓存服务器间的信息交互,由此保证了缓存服务器的正常工作,因为缓存服务器的正常工作是业务服务器能够正常工作的有效保证,由此实现了任意的待访问物品(即目标物品和除目标物品之外的待访问物品)所在的物品详情页面能够有效展示的效果。
42.在此基础上,可选的,针对于那些并非是目标物品的待访问物品,由于其在瞬间的访问量、或是说其所在的物品详情页面qps不会超过业务服务器所能承受的阈值,即其不会导致业务服务器出现宕机情况,因此该待访问物品所在的物品详情页面中全部的业务数据均可进行读取,以便给用户提供完整的物品详情页面,以使用户基于该物品详情页面对该待访问物品进行详细了解。
43.s130、将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
44.其中,读取得到的各业务数据可能是物品详情页面中全部的业务数据,也可能是触发用户比较重要的数据,这是因为针对某次活动中的目标物品,只有部分业务数据比如该目标物品的获取渠道、价值、库存量等对触发用户而言是比较重要的,因此可以只读取这些业务数据。将读取得到的业务数据发送给与业务服务器通讯连接的用户所在的业务客户端上,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
45.需要说明的是,上述页面展示方法可以应用于业务服务器,该业务服务器可以是一个单机服务器,也可以是一个服务器集群。当其是一个单机服务器时,其以单机服务器为执行主体确定是否对与目标物品相对应的各业务数据的读取过程进行控制,由此提高了单机服务器的中央处理器(central processing unit,cpu)和内存的使用率。
46.本发明实施例的技术方案,通过获取与监测到的用于访问页面的访问触发事件对应的访问信息,可以确定与访问信息对应的待访问物品是否为目标物品,由此能够从各待访问物品中得到可能会导致业务服务器宕机的目标物品;如果待访问物品是目标物品,则可以获取该目标物品所在的物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据,由此能够采用不会对业务服务器和/或与该业务服务器通讯连接的缓存服务器造成过大压力的方式读取到那些对于触发用户比较重要的业务数据;进
而,将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。上述技术方案,通过获取得到的可能导致业务服务器宕机的目标物品所在的物品详情页面中各业务数据的数据读取策略,完成存在读取需求的业务数据的读取工作,由此实现了物品详情页面的有效展示的效果,进一步达到了增强用户使用体验并且增强拉新用户的效果。
47.一种可选的技术方案,在此基础上,可选的,若是,则获取目标物品所在的物品详情页面中各个业务数据的数据读取策略,可以包括:若是,则确定访问触发事件的触发次数是否超过预设次数阈值;若否,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,否则,将预设标识发送给业务客户端,以使业务客户端在接收到预设标识之后展示排队提示信息。其中,在待访问物品是目标物品时,还可以通过访问触发事件的触发次数是否超过预设次数阈值来判断一下本次到来的访问触发事件是否有可能导致业务服务器宕机。如果不会导致业务服务器宕机,则可以读取相应的业务数据。但是,如果其可能会导致业务服务器宕机,则可以不再读取与本次访问触发事件对应的业务数据,直接将预设标识发送给业务客户端,以使业务客户端在接收到该预设标识之后展示排队提示信息,即通过限流的方式保证了业务服务器的正常工作。当然,对于那些非目标物品的待访问物品,仍然可以对该待访问物品的访问需求进行处理,由此在保证业务服务器的正常工作的情况下,实现了那些未参与到活动中的待访问物品所在的物品详情页面的正常展示的效果。除此之外,考虑到有些活动要求提前预约过的用户方能有资格参加活动,如果预约人数已超过业务服务器的可承载人数,那么在活动进行期间很有可能会出现业务服务器宕机的情况。因此,当预约人数超过预设预约阈值时,也可以采用上述限流手段来保证业务服务器的正常工作,进而保证了预约成功的用户在活动进行期间能够成功访问到相应的物品详情页面。
48.可选的,在上述技术方案的基础上,在若是之后,还可以包括:获取预先配置的报警接收对象的信息接收方式,基于信息接收方式向报警接收对象发送报警信息。其中,报警接收对象可以是需要接收到报警信息的对象,信息接收方式可以是报警接收对象能够接收到报警信息的方式,示例性的,如图2所示,其可以是报警周期、通知方式等。这些内容可以通过规则引擎预先配置。上述方案设置的好处在于,在待访问物品是目标物品,尤其是在电商系统预先未知可能出现目标物品时,可以将业务服务器可能宕机的情况及时反馈给报警接收对象,以使报警接收对象及时监控业务服务器的工作状态、主动变更相应配置等等以保证业务服务器的正常工作,其为目标物品对服务的冲击和报警提供了一种很好的变现方式。
49.实施例二
50.图3是本发明实施例二中提供的一种页面展示方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,确定与访问信息对应的待访问物品是否为目标物品,可以包括:调用预先配置的物品确定脚本,得到物品确定策略;将访问信息与物品确定策略进行匹配,确定与访问信息对应的待访问物品是否为目标物品。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
51.参见图3,本实施例的方法具体可以包括如下步骤:
52.s210、在监测到访问页面的访问触发事件时,获取与访问触发事件对应的访问信
息。
53.s220、调用预先配置的物品确定脚本,得到物品确定策略;将访问信息与物品确定策略进行匹配,确定与访问信息对应的待访问物品是否为目标物品。
54.其中,物品确定脚本是基于规则引擎预先配置的脚本,通过调用预先配置的物品确定脚本得到物品确定策略的过程,相当于通过应用相应的规则引擎来得到物品确定策略的过程。物品确定策略可以是配置于物品确定脚本中的用于确定与访问信息对应的待访问物品是否为目标物品的策略,其可以设定了什么样的访问信息对应的待访问物品是目标物品,因此在物品确定策略中若存在与访问信息相匹配的内容,则可以认为该访问信息对应的待访问物品是目标物品。
55.需要说明的是,规则引擎可以是一种嵌入在应用程序中的组件,其实现了将业务决策从应用程序的业务代码中分离出来,并且基于预先定义的语义模块编写业务决策的效果,即基于规则引擎可以将某些业务逻辑从业务代码中抽离出来,并将其作为可配置化的内容。实际应用中,可选的,上述规则引擎可以是drools、rete、mvel等等,其中,mvel为mvflex表达式语言(mvflex expression language)的缩写,相较于其余的规则引擎,其具有更高的灵活性,可以基于脚本定义阈值、业务等脚本。需要说明的是,通过脚本预先配置物品确定策略的好处在于,脚本编写过程无需嵌入到业务代码中,并且在脚本发生变化时可以直接更改脚本而无需上线,这不会对业务代码的实现过程造成任何影响,由此降低了业务代码和物品确定脚本间的耦合度,有利于物品确定脚本的维护和扩展。
56.s230、若是,则获取目标物品所在的物品详情页面中各个业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据。
57.s240、将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
58.本发明实施例的技术方案,通过调用预先配置的物品确定脚本来得到物品确定策略,并根据访问信息与物品确定策略间的匹配度来确定与访问信息对应的待访问物品是否为目标物品,其利用规则引擎可以根据实际情况动态创建各种样式的物品确定脚本、动态更新物品确定脚本且实时生效,即相关人员可以随时对物品确定脚本进行变更,且在物品确定脚本出现变更后,可以立即执行变更后的物品确定脚本,无需修改业务代码且无需暂停业务代码的执行,两者相互独立,由此实现了基于动态配置实时识别目标物品的效果。除此外,通过规则引擎运用丰富的脚本和规则,还可以提高服务高可用性和物品获取转化率。
59.在此基础上,可选的,访问信息可以包括访问信息对应的待访问物品的待访问物品信息和/或待访问物品对业务服务器的占用状态信息,其中待访问物品信息可以是待访问物品的属性信息,该属性信息可以是唯一标识信息如sku、身份标识号(identification,id)等等,也可以是属性补偿信息比如是否自营、是否全球购、是否预约、是否预售、是否秒杀、是否闪购等等;占用状态信息可以是与待访问物品对业务服务器自身资源的占用状态有关的信息,比如cpu占用率、内存占用率等等。
60.相应的,将访问信息与物品确定策略进行匹配,确定与访问信息对应的待访问物品是否为目标物品,可以包括:基于物品确定策略获取预先配置的目标物品的目标物品信息、和/或处于目标状态的业务服务器的目标状态信息;根据待访问物品信息和目标物品信息、和/或占用状态信息以及目标状态信息,确定待访问物品是否为目标物品。其中,目标物
品信息可以是预先配置的目标物品的属性信息,若待访问物品信息是目标物品信息中的某个物品信息,则可将待访问物品作为目标物品。示例性的,如图4所示,根据唯一标识信息可以唯一地确定某个物品,因此根据唯一标识信息可以确定待访问物品是否为目标物品,目标物品的物品id已预先配置。目标状态信息可以是预先配置的与处于目标状态的业务服务器自身资源的占用状态有关的信息,其中,处于目标状态的业务服务器可以是很可能即将出现宕机的服务器,因此当占用状态信息是目标状态信息中的某个状态信息时,这说明此时的业务服务器已经处于目标状态,那么待访问物品是目标物品。除此外,还可以根据待访问物品信息和目标物品信息、及占用状态信息和目标状态信息确定待访问物品是否为目标物品,这样设置的原因在于,考虑到电商系统可能预先未知目标物品的唯一标识信息,其根据待访问物品信息的唯一标识信息无法直接确定待访问物品是否为目标物品,此时可以根据待访问物品信息中的属性补偿信息和占用状态信息来共同确定待访问物品是否为目标物品。上述技术方案,针对不同情况可以采用不同方案识别待访问物品是否为目标物品,由此实现了目标物品的准确识别的效果。
61.实施例三
62.图5是本发明实施例三中提供的一种页面展示方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,获取目标物品所在的物品详情页面中各业务数据的数据读取策略,可以包括:调用与目标物品所在的物品详情页面对应的预先配置的数据读取脚本,分别得到物品详情页面中各业务数据的数据读取策略。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
63.参见图5,本实施例的方法具体可以包括如下步骤:
64.s310、在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品。
65.s320、若是,则调用与目标物品所在的物品详情页面对应的预先配置的数据读取脚本,分别得到物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据。
66.其中,数据读取脚本可以是基于规则引擎预先配置的与物品详情页面存在对应关系的脚本,通过调用预先配置的数据读取脚本得到数据读取策略的过程,相当于通过应用相应的规则引擎来得到数据读取策略的过程。该数据读取策略可以是配置于数据读取脚本中的用于读取相应的业务数据的策略,其可以设定各种业务数据通过什么样的读取方式进行读取。另外,通过规则引擎创建以及获取数据读取策略的具体效果与通过规则引擎确定以及获取物体确定策略类似,在此不再赘述。
67.s330、将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
68.本发明实施例的技术方案,通过调用预先配置的数据读取脚本来得到数据读取策略,其利用规则引擎可以根据实际情况动态创建各种的数据读取脚本、动态更新数据读取脚本且实时生效,即相关人员可以随时对数据读取脚本进行变更,且在数据读取脚本出现变更后,可以立即执行变更后的数据读取脚本,无需修改业务代码并且无需暂停业务代码的执行,两者相互独立,由此实现了基于动态配置得到数据读取策略的效果。
69.在此基础上,上述页面展示方法,还可以包括:在监测到调整脚本的调整触发事件
时,获取与调整触发事件对应的待调整的数据读取脚本和调整操作;基于调整操作对待调整的数据读取脚本进行调整,基于调整结果更新待调整的数据读取脚本。其中,调整操作是对待调整的数据读取脚本进行调整的操作,比如修改、增加、删除等。由于数据读取脚本是基于规则引擎预先配置的脚本,在对待调整的数据读取脚本进行调整后,可以立即更新并且立即执行调整后的数据读取脚本,由此达到了与业务代码解耦合的数据读取脚本的调整效果。
70.实施例四
71.图6是本发明实施例四中提供的一种页面展示方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,基于各数据读取策略读取相应的业务数据,具体可以包括:基于各数据读取策略确定各业务数据中的待读取数据,对待读取数据进行读取。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
72.参见图6,本实施例的方法具体可以包括如下步骤:
73.s410、在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品。
74.s420、若是,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,基于各数据读取策略确定各业务数据中的待读取数据,对待读取数据进行读取。
75.其中,考虑到在一次活动过程中,目标物品所在的物品详情页面中各业务数据对触发用户的重要性存在差异,示例性的,在一次抢获互动中,目标物品的获取渠道、价值、库存量等等对触发用户而言是比较重要的,而广告信息对触发用户而言是不重要的。因此,可以基于各数据读取策略确定各业务数据中的待读取数据,该待读取数据是各业务数据中对触发用户而言比较重要的数据,进而对这些待读取数据进行读取,并且对于那些业务数据中除待读取数据以外的业务数据不再进行读取和展示。
76.在此基础上,可选的,正如上文所述,数据读取策略可基于数据读取脚本的调用得到,并且待读取数据的确定过程可以理解为业务数据的降级过程,这意味着可以通过规则引擎实现目标物品所在的物品详情页面中某些业务数据的降级,动态控制楼层上下线,即动态控制物品详情页面中各业务数据的展示位的上下线,对与目标物品无关的服务进行针对性保护,由此提升了目标物品的有效调用率和服务可用率,进而提升了用户使用体验。在实际应用中,可选的,待读取数据的增加或删除可以通过增加或删除相应的业务来实现,示例性的,如图7所示,在监测到增加业务或是删除业务的按钮被点击的点击触发事件时,可以确定与该点击触发事件对应的增删数据(即某业务数据)和增删操作,并基于该增删操作将该增删数据作为待读取数据、或是将其从待读取数据中删除。
77.s430、将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
78.本发明实施例的技术方案,通过各个数据读取策略确定各业务数据中的待读取数据,进而对该待读取数据进行读取,这意味着无需从缓存服务器中读取每个业务数据,只需读取对触发用户比较重要的待读取数据,由此降低了业务服务器和缓存服务器间的信息交互,通过业务数据的有效降级实现了目标物品的有效调用的效果。
79.考虑到如果大部分相同的业务数据均从缓存服务器中读取对应的缓存数据,这可以尽可能地满足高并发访问的诉求。但是,目标物品的访问量很可能使得缓存服务器的qps
在瞬间超过该缓存服务器所能承受的阈值,而且目标物品所涉及到的业务数据大多固定,这意味着这些业务数据往往会固定存储于缓存服务器中的某个缓存分片上,针对这样的缓存分片,其瞬间的流量会使得该缓存服务器压力倍增,链接数突增最终导致宕机,缓存服务无法获取到业务数据而转向数据库中查询,这样数据库更加难以支撑,各个业务服务器处于雪崩状态,整个服务崩溃后导致物品详情页面加载过慢或者无法展示,这将直接影响用户使用体验和引发大量投诉,甚至因为物品详情页面的崩溃而拉低了目标物品的物品获取概率。
80.为了解决这一问题,一种可选的技术方案,基于各数据读取策略确定各业务数据中的待读取数据,对待读取数据进行读取,具体可以包括:基于各数据读取策略确定各业务数据中的待读取数据、及各待读取数据的读取渠道,基于读取渠道读取相应的待读取数据。即基于各数据读取策略除确定各业务数据中的待读取数据外,还可以确定各业务数据的读取渠道,该读取渠道可以表示出从哪个渠道读取到待读取数据,进而基于该读取渠道读取相应的待读取数据。示例性的,如果待读取数据是在活动期间实时变化的业务数据,比如库存量等,那么其对应的读取渠道可以是接口读取,基于待读取数据对应的数据读取接口从缓存服务器中读取待读取数据,由此可以得到当前时刻最准确的待读取数据;当然,如果待读取数据是在活动期间固定不变的业务数据,如价值属性、获取渠道等,那么其对应的读取渠道可以是本地读取,确定待读取数据在业务服务器中的缓存位置,从缓存位置中读取待读取数据。在实际应用中,可选的,待读取数据的读取渠道可以通过规则引擎进行预先配置,即可以借助规则引擎对待读取数据实现本地缓存切换,动态降级服务,由此提高了服务可用性且提升了用户使用体验。示例性的,如图7所示,业务名称可以是业务数据的名称,在监测到脚本的按钮被点击的点击触发事件时,可以根据与该点击触发事件对应的待读取数据的读取渠道相关的脚本进行显示,并根据相应的修改操作对该脚本进行修改,由此实现了读取渠道的动态配置和动态变更的效果。
81.上述方案设置的好处在于,假设个某物品详情页面需要调用n个数据读取接口方能实现物品详情页面的正常显示,但是针对目标物品而言,这n个数据读取接口中m个数据读取接口的调用才是有效调用,即通过调用这m个数据读取接口得到的业务数据才是对触发用户重要的待读取数据。在此基础上,m个待读取数据中o个待读取数据在活动期间是实时变化的业务数据,这意味着这o个待读取数据需要通过调用所对应的数据读取接口来得到,其余的m

o个待读取数据可以从业务服务器中直接读取得到。这样一来,经由一次访问触发事件需要调用n个数据读取接口降低为o个数据读取接口,该数据读取接口的调用数量的显著降低在较大程度上缓解了缓存服务器的使用压力、并且降低了缓存服务器和业务服务器间的链接数,由此保证了缓存服务器的正常工作。
82.在此基础上,可选的,考虑到业务服务器中存储的待读取数据也是从缓存服务器中读取得到的,这意味着在热启动时无法从业务服务器中读取到待读取数据,因此在从缓存位置中读取待读取数据时,可以先判断缓再存位置上是否缓存有待读取数据,若是则可以直接读取,否则可以基于数据读取接口从缓存服务器中读取待读取数据,并将读取到的待读取数据缓存在缓存位置上,以便为下一次从缓存位置中读取待读取数据做好准备。
83.为了更好地理解上述各步骤的具体实现过程,下面结合具体示例对各实施例所述的页面展示方法进行示例性的说明。示例性的,如图8所示,在接收到触发用户触发的访问
触发事件(即用户请求)后,基于mvel规则引擎判断其对应的访问信息是否命中预先配置的物品确定策略中的目标状态信息,若否则说明相应的待访问物品不是目标物品,可以对其进行正常访问;若是则可以进一步判断该访问信息是否命中该物品确定策略中的属性补偿信息。若否则说明相应的待访问物品不是目标物品,可以对其进行正常访问,否则确定该待访问物品是目标物品。当待访问物品是目标物品时,可以发送报警信息,并且基于访问触发事件的触发次数确定是否启用限流机制。若是则停止访问并且将预设标识(code)返回给业务客户端以使该业务客户端进行排队提示,否则针对该目标物品所在的物品详情页面中的每个业务数据,可以基于mvel规则引擎来判断该业务数据是否需要保留(即是否需要读取该业务数据)。若否则可以不再调用相应的数据读取接口来读取数据,否则进一步判断在业务服务器中是否存储有该业务数据的缓存数据。若是则可以直接从业务服务器中读取缓存数据,否则可以从相应的数据读取接口中读取缓存数据,并将该缓存数据缓存到本地缓存中。将读取到的各业务数据进行组装,并将组装结果发送给业务客户端,以使业务客户端根据接收到的组装结果展示物品详情页面。上述示例可以通过规则引擎的方式实现在后台管理页面对阈值、策略等数据进行配置,由此减少了业务代码的耦合,并且提高了维护性和扩展性。具体的,其通过在后台管理页面中可以根据不同业务数据配置对应的缓存和过期时间,配置物品访问量的预设阈值和报警接收人对象,还可以根据活动场景配置相应的必须读取的业务数据,由此实现了目标物品的有效调用、缓存保护和限流的效果。
84.实施例五
85.图9为本发明实施例五提供的页面展示装置的结构框图,该装置可配置于业务服务器中,可用于执行上述任意实施例所提供的页面展示方法。该装置与上述各实施例的页面展示方法属于同一个发明构思,在页面展示装置的实施例中未详尽描述的细节内容,可以参考上述页面展示方法的实施例。参见图9,该装置具体可包括:物品确定模块510、数据读取模块520和页面展示模块530。
86.物品确定模块510,用于在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品;
87.数据读取模块520,用于若是,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,基于各数据读取策略读取相应的业务数据;
88.页面展示模块530,用于将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
89.可选的,物品确定模块510,具体可以包括:
90.策略得到单元,用于调用预先配置的物品确定脚本,得到物品确定策略;
91.物品确定单元,用于将访问信息与物品确定策略进行匹配,确定与访问信息对应的待访问物品是否为目标物品。
92.在此基础上,可选的,物品确定单元,具体可以用于:
93.访问信息包括与访问信息对应的待访问物品的待访问物品信息、和/或待访问物品对业务服务器的占用状态信息,基于物品确定策略获取预先配置的目标物品的目标物品信息、和/或处于目标状态的业务服务器的目标状态信息;
94.根据待访问物品信息和目标物品信息、和/或占用状态信息和目标状态信息,确定待访问物品是否为目标物品。
95.可选的,数据读取模块520,具体可以包括:
96.策略获取单元,用于调用与目标物品所在的物品详情页面对应的预先配置的数据读取脚本,分别得到物品详情页面中各业务数据的数据读取策略。
97.在此基础上,可选的,该装置还可包括:
98.操作获取模块,用于在监测到调整脚本的调整触发事件时,获取与调整触发事件对应的待调整的数据读取脚本和调整操作;
99.脚本更新模块,用于基于调整操作对待调整的数据读取脚本进行调整,基于调整结果更新待调整的数据读取脚本。
100.可选的,数据读取模块520,具体可以包括:
101.数据读取子模块,用于基于各数据读取策略确定各业务数据中的待读取数据,对待读取数据进行读取。
102.在此基础上,可选的,数据读取子模块,具体可以包括:
103.数据读取单元,用于基于各数据读取策略确定各业务数据中的待读取数据、及各待读取数据的读取渠道,基于读取渠道读取相应的待读取数据。
104.在此基础上,可选的,数据读取单元,具体可以包括:
105.第一数据读取子单元,用于读取渠道包括接口读取,基于待读取数据对应的数据读取接口从缓存服务器中读取待读取数据;和/或,
106.第二数据读取子单元,用于读取渠道包括本地读取,确定待读取数据在业务服务器中的缓存位置,从缓存位置中读取待读取数据。
107.在此基础上,可选的,第二数据读取子单元,具体可以包括:
108.数据缓存子子单元,用于判断缓存位置上是否缓存有待读取数据,若否,则基于数据读取接口从缓存服务器中读取待读取数据,并将读取得到的待读取数据缓存在缓存位置上。
109.可选的,数据读取模块520,可以包括:
110.次数判断单元,用于若是,则确定访问触发事件的触发次数是否超过预设次数阈值;
111.信息展示单元,用于若否,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,否则,将预设标识发送给业务客户端,以使业务客户端在接收到预设标识之后展示排队提示信息。
112.在上述装置的基础上,可选的,该装置还可以包括:
113.信息发送给模块,用于获取预先配置的报警接收对象的信息接收方式,并基于信息接收方式向报警接收对象发送报警信息。
114.本发明实施例五提供的页面展示装置,通过物品确定模块获取与监测到的用于访问页面的访问触发事件对应的访问信息,可以确定与访问信息对应的待访问物品是否为目标物品,由此能够从各待访问物品中得到可能会导致业务服务器宕机的目标物品;数据读取模块如果待访问物品是目标物品,则可以获取该目标物品所在的物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据,由此能够采用不会对业务服务器和/或与该业务服务器通讯连接的缓存服务器造成过大压力的方式读取到那些对于触发用户比较重要的业务数据;进而,页面展示模块将读取到的各业务数据发送给业
务客户端,以使该业务客户端根据接收到的各业务数据对物品详情页面进行展示。上述装置,通过获取得到的可能导致业务服务器宕机的目标物品所在的物品详情页面中各业务数据的数据读取策略,完成存在读取需求的业务数据的读取工作,由此实现了物品详情页面的有效展示的效果,进一步达到了增强用户使用体验并且增强拉新用户的效果。
115.本发明实施例所提供的页面展示装置可执行本发明任意实施例所提供的页面展示方法,具备执行方法相应的功能模块和有益效果。
116.值得注意的是,上述页面展示装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
117.实施例六
118.图10为本发明实施例六提供的一种业务服务器的结构示意图,参见图10,该业务服务器包括存储器610、处理器620、输入装置630和输出装置640。该业务服务器中的处理器620的数量可以是一个或多个,图10中以一个处理器620为例;业务服务器中的存储器610、处理器620、输入装置630和输出装置640可以通过总线或其它方式连接,图10中以通过总线650连接为例。
119.存储器610作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的页面展示方法对应的程序指令/模块(例如,页面展示装置中的物品确定模块510、数据读取模块520和页面展示模块530)。处理器620通过运行存储在存储器610中的软件程序、指令及模块,从而执行业务服务器的各种功能应用以及数据处理,即实现上述页面展示方法。
120.存储器610可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据业务服务器的使用所创建的数据等。此外,存储器610可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器610可进一步包括相对于处理器620远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
121.输入装置630可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
122.实施例七
123.本发明实施例七提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种页面展示方法,该方法包括:
124.在监测到访问页面的访问触发事件时,获取访问触发事件对应的访问信息,确定与访问信息对应的待访问物品是否为目标物品;
125.若是,则获取目标物品所在的物品详情页面中各业务数据的数据读取策略,并基于各数据读取策略读取相应的业务数据;
126.将读取到的各业务数据发送给业务客户端,以使业务客户端根据接收到的各业务数据对物品详情页面进行展示。
127.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的页面展示
方法中的相关操作。
128.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
129.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1