CN112000394A - 用于访问小程序的方法、装置、设备以及存储介质 - Google Patents
用于访问小程序的方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN112000394A CN112000394A CN202010880567.8A CN202010880567A CN112000394A CN 112000394 A CN112000394 A CN 112000394A CN 202010880567 A CN202010880567 A CN 202010880567A CN 112000394 A CN112000394 A CN 112000394A
- Authority
- CN
- China
- Prior art keywords
- access request
- determining
- cache
- target data
- client
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000004044 response Effects 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 19
- 238000011084 recovery Methods 0.000 claims description 12
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000004075 alteration Effects 0.000 claims 1
- 230000036316 preload Effects 0.000 claims 1
- 239000000126 substance Substances 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了用于访问小程序的方法、装置、设备以及存储介质,涉及互联网、小程序开发领域。具体实现方案为:接收客户端发送的针对小程序的访问请求;对访问请求进行解析,确定访问请求所请求的目标数据;响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求;接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。本实现方式可以有效地提升小程序落地页的显示速度,提高用户的浏览体验。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网、小程序开发领域,尤其涉及用于访问小程序的方法、装置、设备以及存储介质。
背景技术
随着小程序的爆发性增长,在超级APP上通过小程序的方式提供服务的场景越来越多。小程序落地页打开的速度从一定程度上决定了用户的使用体验。而业界针对小程序的优化,普遍聚焦在客户端框架、前端渲染和加载性能的提升上,这样的做法可以有效解决小程序在端的加载和渲染性能瓶颈。但现有的方法提升性能有限。
发明内容
提供了一种用于访问小程序的方法、装置、设备以及存储介质。
根据第一方面,提供了一种用于访问小程序的方法,包括:接收客户端发送的针对小程序的访问请求;对访问请求进行解析,确定访问请求所请求的目标数据;响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求;接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。
根据第二方面,提供了一种用于访问小程序的装置,包括:请求接收单元,被配置成接收客户端发送的针对小程序的访问请求;请求解析单元,被配置成对访问请求进行解析,确定访问请求所请求的目标数据;请求转发单元,被配置成响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求;数据转发单元,被配置成接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。
根据第三方面,提供了一种用于访问小程序的电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。
根据本申请的技术解决了现有的小程序访问方法不能打开落地页的速度提升有限的问题,可以有效地提升小程序落地页的显示速度,提高用户的浏览体验。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请的一个实施例可以应用于其中的示例性***架构图;
图2是根据本申请的用于访问小程序的方法的一个实施例的流程图;
图3是根据本申请的用于访问小程序的方法的一个应用场景的示意图;
图4是根据本申请的用于访问小程序的方法的另一个实施例的流程图;
图5是根据本申请的用于访问小程序的装置的一个实施例的结构示意图;
图6是用来实现本申请实施例的用于访问小程序的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于访问小程序的方法或用于访问小程序的装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102,代理服务器103和服务器104。网络用以在终端设备101、102,代理服务器103和服务器104之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络104与代理服务器103、服务器105交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如搜索类应用、社交平台类应用等。这些应用可以作为小程序的宿主应用。
终端设备101、102可以是硬件,也可以是软件。当终端设备101、102为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、车载电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
代理服务器103可以是用于提供代理的服务器,例如对终端设备101、102发送的请求进行转发或处理的服务器。代理服务器103还可以与服务器104进行交互,例如将终端设备101、102的请求转发给服务器104,或者将服务器104的反馈发送给终端设备101、102。
服务器104可以是提供各种服务的服务器,例如对终端设备101、102上运行的小程序提供支持的后台服务器。后台服务器可以代理服务器103发送的请求,也可以接收终端设备101、102的请求,并确定请求针对的数据,然后将数据反馈给终端设备101、102。
需要说明的是,代理服务器103、服务器104可以是硬件,也可以是软件。当代理服务器103、服务器104为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当代理服务器103、服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于访问小程序的方法一般由代理服务器103、执行。相应地,用于访问小程序的装置一般设置于代理服务器103、中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于访问小程序的方法的一个实施例的流程200。本实施例的用于访问小程序的方法,包括以下步骤:
步骤201,接收客户端发送的针对小程序的访问请求。
本实施例中,用于访问小程序的方法的执行主体(例如图1中的代理服务器103)可以接收客户端(例如图1中的终端设备101、102)发送的针对小程序的访问请求。上述小程序可以是寄宿在客户端上的安装的其它宿主应用的小程序。用户可以通过各种操作来发送针对小程序的访问请求。例如,用户可以通过点击小程序的标识来发送针对小程序的访问请求。可以理解的是,上述访问请求中可以包括小程序的标识、请求针对的数据。
步骤202,对访问请求进行解析,确定访问请求所请求的目标数据。
执行主体在接收到上述访问请求后,可以对访问请求进行解析,确定访问请求所请求的目标数据。上述目标数据例如可以是访问的页面、请求的音乐等等。
步骤203,响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求。
执行主体在确定目标数据后,可以查询预设的缓存数据库,判断预设的缓存数据库中是否存储有目标数据。如果未存储有目标数据,则执行主体可以向服务端(例如图1所示的服务器104)发送访问请求。服务端在接收到上述访问请求后,可以对访问请求进行解析,获取到目标数据。然后,服务端可以将获取到的目标数据发送给执行主体。
步骤204,接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。
执行主体在接收到服务端发送的目标数据后,可以将目标数据缓存在缓存数据库。同时也可以将目标数据转发给客户端,这样,客户端在接收到目标数据后,可以根据上述目标数据显示小程序的落地页。
继续参见图3,其示出了根据本申请的用于访问小程序的方法的一个应用场景的示意图。在图3的应用场景中,用户通过手机301上安装的宿主应用A访问小程序b,这样,小程序b向代理服务器302发送访问请求。代理服务器302对访问请求进行解析,确定目标数据。然后,代理服务器302查询缓存数据库303。如果缓存数据库303中未存储目标数据,代理服务器302将访问请求转发给服务端304。服务端304确定出目标数据,然后转发给代理服务器302。代理服务器302将目标数据缓存在缓存数据库303,然后转发给手机301。
本申请的上述实施例提供的用于访问小程序的方法,可以通过在代理服务器通信的缓存数据库中缓存目标数据,从而能够有效地提升小程序落地页的显示速度,提高用户的浏览体验。
在本实施例的一些可选的实现方式中,上述方法还可以进一步包括图2中未示出的以下步骤:响应于确定预设的缓存数据库中存储有目标数据,将目标数据发送给客户端,以供显示小程序的落地页。
本实现方式中,如果执行主体确定预设的缓存数据库中存储有目标数据,则可以直接读取上述目标数据,然后将目标数据发送给客户端,以供显示小程序的落地页。
继续参见图4,其示出了根据本申请的用于访问小程序的方法的另一个实施例的流程400。如图4所示,本实施例的用于访问小程序的方法可以包括以下步骤:
步骤401,接收客户端发送的配置信息;加载配置信息。
本实施例中,执行主体还可以接收客户端发送的配置信息。配置信息可以用于指示访问请求是否允许被处理。上述配置信息可以用于配置统一资源标识符列表、容灾信息、缓存延时等信息。这里,统一资源标识符列表用于表示合法的统一资源标识符。也就是说,如果发送请求的统一资源标识符位于上述统一资源标识符列表中,则上述请求可以被处理。容灾信息表示在出现访问错误或无回应的状态下的处理信息。缓存延时表示在出现访问错误或无回应的状态下对缓存的设置。执行主体可以在启动时加载上述配置信息。
步骤402,确定统一资源标识符列表是否包括访问请求的统一资源标识符;响应于确定统一资源标识符列表包括访问请求的统一资源标识符,接收客户端发送的针对小程序的访问请求。
执行主体可以对访问请求进行解析,确定访问请求的统一资源标识符。然后,可以查询上述统一资源标识符列表,判断上述统一资源标识符列表中是否包括上述访问请求的统一资源标识符。如果包括,则说明上述客户端发送的请求可以被处理,则执行主体可以接收客户端发送的针对小程序的访问请求。
步骤403,确定数字签名是否与预设的第一密钥和第二密钥匹配;响应于确定数字签名与第一密钥和第二密钥匹配,确定访问请求所请求的目标数据。
本实施例中,上述访问请求还可以包括数字签名。执行主体可以首先得到访问请求中的数字签名。然后对上述数字签名进行解析,确定数字签名是否与预设的第一密钥和第二密钥匹配。这里,匹配是指对数字签名进行一系列计算之后可以得到第一密钥和第二密钥。如果执行主体确定数字签名与第一密钥和第二密钥匹配,则可以继续对访问请求进行解析,得到目标数据。上述第一密钥可以确定访问请求的发送方是否是合法的请求方。第二密钥可以用于生成数字签名。
在本实施例的一些可选的实现方式中,上述数字签名可以通过图4中未示出的以下步骤来得到:确定访问请求调用的接口;根据接口包括的至少一个参数、第一密钥、第二密钥,生成数字签名。
本实现方式中,执行主体可以对访问请求进行解析,确定访问请求调用的接口。然后,可以确定接口包括的至少一个参数。最后,根据各参数、第一密钥、第二密钥,生成数字签名。具体的,执行主体可以将各参数以及第二密钥相加,得到的和与第一密钥相加,再利用MD5计算,将得到的值作为数字签名。
步骤404,响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求。
步骤405,接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。
步骤406,确定当前容灾次数以及确定当前缓存状态;响应于确定当前容灾次数小于预设阈值以及当前缓存状态为开启,接收客户端发送的针对小程序的访问请求。
执行主体还可以确定当前容灾次数以及确定当前缓存状态。具体的,执行主体可以从本地参数中确定上述两个参数。如果当前容灾次数小于预设阈值,则说明执行主体当前可以处理针对小程序的请求。如果当前容灾次数大于或等于预设阈值,则说明执行主体当前处于故障状态,不能处理请求。当前缓存状态用于表示当前是否能够缓存数据。当前缓存状态包括开启和关闭,在开启的时候,说明当前能够缓存数据。在关闭的时候,说明当前不能够缓存数据。如果上述当前容灾次数小于预设阈值,同时当前缓存状态为开启,则说明当前可以处理访问请求,即可以接收客户端发送的针对小程序的访问请求。
在本实施例的一些可选的实现方式中,执行主体可以通过以下步骤确定当前容灾次数:向服务端发送心跳包;记录在预设时长内未接收到服务端返回的、针对心跳包的响应信息的次数为当前容灾次数。
本实现方式中,执行主体还可以每隔一段时间向服务端发送心跳包,以确定服务端是否可用。如果在预设时长内接收到来自服务端的针对上述心跳包的响应信息,说明服务端当前可用。如果在预设时长内接收到来自服务端的针对上述心跳包的响应信息,则记录当前容灾次数。例如当前容灾次数为0,如果在预设时长内接收到来自服务端的针对上述心跳包的响应信息,当前容灾次数+1,即变为1。
在本实施例的一些可选的实现方式中,执行主体还可以通过以下步骤实时更新当前容灾次数:响应于接收到客户端发送的针对目标数据的响应信息,减小当前容灾次数的值。
本实现方式中,如果执行主体接收到客户端发送的针对目标数据的响应信息,说明当前客户端与执行主体的交互正常,则可以减小当前容灾次数的值。
在本实施例的一些可选的实现方式中,上述方法还可以进一步包括以下步骤:确定配置信息对应的交互数据;在发送心跳包的间隙,将交互数据缓存在缓存数据库。
执行主体可以确定配置信息对应的交互数据。例如上述交互数据可以包括图片、音频等等。执行主体可以在发送心跳包的间隙,将交互数据缓存在缓存数据库。即预加载交互数据。这样加快客户端访问交互数据的速度。
步骤407,确定缓存状态变更时长;确定缓存状态变更时刻与当前时刻之间的失效时长;响应于确定失效时长大于或等于缓存变更时长,变更当前缓存状态。
本实施例中,执行主体可以确定缓存状态变更时长。上述缓存状态变更时长用于表示变更缓存状态所需的时长。具体的,上述缓存状态变更时长用于表示缓存状态由关闭变更为开启所需的时长。执行主体可以计算缓存状态变更时刻与当前时刻之间的失效时长。这里,缓存状态变更时刻是指缓存状态变更的时刻,例如由开启状态变更为关闭状态的时刻。如果失效时长大于或等于缓存变更时长,则可以变更当前缓存状态。
在本实施例的一些可选的实现方式中,上述配置信息还可以包括缓存失效时长。执行主体可以通过以下步骤确定缓存状态变更时长:根据当前容灾次数以及缓存失效时长,确定缓存状态变更时长。
本实现方式中,缓存失效时长可以是缓存失效的最小时间单位。执行主体可以根据当前容灾次数以及缓存失效时长,确定缓存状态变更时长。具体的,执行主体可以将当前容灾次数与缓存失效时长相乘,得到的积作为缓存状态变更时长。
步骤408,响应于确定当前容灾次数等于预设阈值以及当前缓存状态为开启,将当前缓存状态变更为关闭。
如果执行主体确定当前容灾次数等于预设阈值,说明执行主体当前不可用,如果当前缓存状态为开启,则执行主体可以将当前缓存状态变更为关闭。
步骤409,从缓存数据库中获取通用组件集合以及将组件集合发送给客户端;接收客户端发送的自定义组件以及将自定义组件存储在缓存数据库中。
本实施例中,执行主体还可以向客户端提供通用组件集合。小程序的页面中可以包括上述通用组件集合中的组件。这里,客户端可以为开发者所使用的客户端。执行主体还可以接收客户端发送的自定义组件,并将自定义组件存储在缓存数据库中。这样,方便用户下次利用上述自定义组件。
本申请的上述实施例提供的用于访问小程序的方法,通过对组件进行网络请求以及将组件进行缓存,结合向服务端发送心跳包以及预加载交互数据,进一步稳定提升了小程序的打开速度的同时,兼顾到了中长尾的小程序开发者的能力资源问题,给开发者代理便利的同时,给用户提供了极致的体验。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于访问小程序的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于访问小程序的装置500包括:请求接收单元501、请求解析单元502、请求转发单元503和数据转发单元504。
请求接收单元501,被配置成接收客户端发送的针对小程序的访问请求。
请求解析单元502,被配置成对访问请求进行解析,确定访问请求所请求的目标数据;
请求转发单元503,被配置成响应于确定预设的缓存数据库中未存储目标数据,向服务端发送访问请求;
数据转发单元504,被配置成接收服务端发送的目标数据,将目标数据缓存在缓存数据库以及转发给客户端,以供显示小程序的落地页。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的数据发送单元,被配置成响应于确定预设的缓存数据库中存储有目标数据,将目标数据发送给客户端,以供显示小程序的落地页。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的配置加载单元,被配置成:接收客户端发送的配置信息;加载配置信息。
在本实施例的一些可选的实现方式中,配置信息包括统一资源标识符列表。请求接收单元501可以进一步被配置成:确定统一资源标识符列表是否包括访问请求的统一资源标识符;响应于确定统一资源标识符列表包括访问请求的统一资源标识符,接收客户端发送的针对小程序的访问请求。
在本实施例的一些可选的实现方式中,配置信息包括容灾次数对应的预设阈值以及缓存状态。请求接收单元501可以进一步被配置成:确定当前容灾次数以及确定当前缓存状态;响应于确定当前容灾次数小于预设阈值以及当前缓存状态为开启,接收客户端发送的针对小程序的访问请求。
在本实施例的一些可选的实现方式中,请求接收单元501可以进一步被配置成:向服务端发送心跳包;记录在预设时长内未接收到服务端返回的、针对心跳包的响应信息的次数为当前容灾次数。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的缓存状态变更单元,被配置成:确定缓存状态变更时长;确定缓存状态变更时刻与当前时刻之间的失效时长;响应于确定失效时长大于或等于缓存变更时长,变更当前缓存状态。
在本实施例的一些可选的实现方式中,配置信息还包括缓存失效时长。缓存状态变更单元进一步被配置成:根据当前容灾次数以及缓存失效时长,确定缓存状态变更时长。
在本实施例的一些可选的实现方式中,缓存状态变更单元进一步被配置成:响应于确定当前容灾次数等于预设阈值以及当前缓存状态为开启,将当前缓存状态变更为关闭。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的容灾次数确定单元,被配置成:响应于接收到客户端发送的针对目标数据的响应信息,减小当前容灾次数的值。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的预加载单元,被配置成:确定配置信息对应的交互数据;在发送心跳包的间隙,将交互数据缓存在缓存数据库。
在本实施例的一些可选的实现方式中,访问请求包括数字签名。请求解析单元502可以进一步被配置成:确定数字签名是否与预设的第一密钥和第二密钥匹配;响应于确定数字签名与第一密钥和第二密钥匹配,确定访问请求所请求的目标数据。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的签名生成单元,被配置成:确定访问请求调用的接口;根据接口包括的至少一个参数、第一密钥、第二密钥,生成数字签名。
在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的组件缓存单元,被配置成:从缓存数据库中获取通用组件集合以及将组件集合发送给客户端;接收客户端发送的自定义组件以及将自定义组件存储在缓存数据库中。
应当理解,用于访问小程序的装置500中记载的单元501至单元504分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用于访问小程序的方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的执行用于访问小程序的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的执行用于访问小程序的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的执行用于访问小程序的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的执行用于访问小程序的方法对应的程序指令/模块(例如,附图5所示的请求接收单元501、请求解析单元502、请求转发单元503和数据转发单元504)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的执行用于访问小程序的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据执行用于访问小程序的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至执行用于访问小程序的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行用于访问小程序的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与执行用于访问小程序的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,可以有效地提升小程序落地页的显示速度,提高用户的浏览体验。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (30)
1.一种用于访问小程序的方法,包括:
接收客户端发送的针对小程序的访问请求;
对所述访问请求进行解析,确定所述访问请求所请求的目标数据;
响应于确定预设的缓存数据库中未存储所述目标数据,向服务端发送所述访问请求;
接收所述服务端发送的所述目标数据,将所述目标数据缓存在所述缓存数据库以及转发给所述客户端,以供显示所述小程序的落地页。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定预设的缓存数据库中存储有所述目标数据,将所述目标数据发送给所述客户端,以供显示所述小程序的落地页。
3.根据权利要求1所述的方法,其中,所述方法还包括:
接收所述客户端发送的配置信息;
加载所述配置信息。
4.根据权利要求3所述的方法,其中,所述配置信息包括统一资源标识符列表;以及
所述接收客户端发送的针对小程序的访问请求,包括:
确定所述统一资源标识符列表是否包括所述访问请求的统一资源标识符;
响应于确定所述统一资源标识符列表包括所述访问请求的统一资源标识符,接收客户端发送的针对小程序的访问请求。
5.根据权利要求3所述的方法,其中,所述配置信息包括容灾次数对应的预设阈值以及缓存状态;以及
所述接收客户端发送的针对小程序的访问请求,包括:
确定当前容灾次数以及确定当前缓存状态;
响应于确定所述当前容灾次数小于所述预设阈值以及当前缓存状态为开启,接收客户端发送的针对小程序的访问请求。
6.根据权利要求5所述的方法,其中,所述确定当前容灾次数,包括:
向所述服务端发送心跳包;
记录在预设时长内未接收到所述服务端返回的、针对所述心跳包的响应信息的次数为当前容灾次数。
7.根据权利要求5所述的方法,其中,所述方法还包括:
确定缓存状态变更时长;
确定缓存状态变更时刻与当前时刻之间的失效时长;
响应于确定所述失效时长大于或等于所述缓存变更时长,变更当前缓存状态。
8.根据权利要求6所述的方法,其中,所述配置信息还包括缓存失效时长;以及
所述确定缓存状态变更时长,包括:
根据当前容灾次数以及所述缓存失效时长,确定缓存状态变更时长。
9.根据权利要求6所述的方法,其中,所述方法还包括:
响应于确定所述当前容灾次数等于所述预设阈值以及当前缓存状态为开启,将当前缓存状态变更为关闭。
10.根据权利要求5所述的方法,其中,所述方法还包括:
响应于接收到所述客户端发送的针对所述目标数据的响应信息,减小所述当前容灾次数的值。
11.根据权利要求3所述的方法,其中,所述方法还包括:
确定所述配置信息对应的交互数据;
在发送心跳包的间隙,将所述交互数据缓存在所述缓存数据库。
12.根据权利要求1所述的方法,其中,所述访问请求包括数字签名;以及
所述对所述访问请求进行解析,确定所述访问请求所请求的目标数据,包括:
确定所述数字签名是否与预设的第一密钥和第二密钥匹配;
响应于确定所述数字签名与所述第一密钥和所述第二密钥匹配,确定所述访问请求所请求的目标数据。
13.根据权利要求12所述的方法,其中,所述方法还包括:
确定所述访问请求调用的接口;
根据所述接口包括的至少一个参数、所述第一密钥、所述第二密钥,生成所述数字签名。
14.根据权利要求1所述的方法,其中,所述方法还包括:
从所述缓存数据库中获取通用组件集合以及将所述组件集合发送给所述客户端;
接收所述客户端发送的自定义组件以及将所述自定义组件存储在所述缓存数据库中。
15.一种用于访问小程序的装置,包括:
请求接收单元,被配置成接收客户端发送的针对小程序的访问请求;
请求解析单元,被配置成对所述访问请求进行解析,确定所述访问请求所请求的目标数据;
请求转发单元,被配置成响应于确定预设的缓存数据库中未存储所述目标数据,向服务端发送所述访问请求;
数据转发单元,被配置成接收所述服务端发送的所述目标数据,将所述目标数据缓存在所述缓存数据库以及转发给所述客户端,以供显示所述小程序的落地页。
16.根据权利要求15所述的装置,其中,所述装置还包括:
数据发送单元,被配置成响应于确定预设的缓存数据库中存储有所述目标数据,将所述目标数据发送给所述客户端,以供显示所述小程序的落地页。
17.根据权利要求15所述的装置,其中,所述装置还包括配置加载单元,被配置成:
接收所述客户端发送的配置信息;
加载所述配置信息。
18.根据权利要求17所述的装置,其中,所述配置信息包括统一资源标识符列表;以及
所述请求接收单元进一步被配置成:
确定所述统一资源标识符列表是否包括所述访问请求的统一资源标识符;
响应于确定所述统一资源标识符列表包括所述访问请求的统一资源标识符,接收客户端发送的针对小程序的访问请求。
19.根据权利要求17所述的装置,其中,所述配置信息包括容灾次数对应的预设阈值以及缓存状态;以及
所述请求接收单元进一步被配置成:
确定当前容灾次数以及确定当前缓存状态;
响应于确定所述当前容灾次数小于所述预设阈值以及当前缓存状态为开启,接收客户端发送的针对小程序的访问请求。
20.根据权利要求19所述的装置,其中,所述请求接收单元进一步被配置成:
向所述服务端发送心跳包;
记录在预设时长内未接收到所述服务端返回的、针对所述心跳包的响应信息的次数为当前容灾次数。
21.根据权利要求19所述的装置,其中,所述装置还包括缓存状态变更单元,被配置成:
确定缓存状态变更时长;
确定缓存状态变更时刻与当前时刻之间的失效时长;
响应于确定所述失效时长大于或等于所述缓存变更时长,变更当前缓存状态。
22.根据权利要求21所述的装置,其中,所述配置信息还包括缓存失效时长;以及
所述缓存状态变更单元进一步被配置成:
根据当前容灾次数以及所述缓存失效时长,确定缓存状态变更时长。
23.根据权利要求19所述的装置,其中,缓存状态变更单元进一步被配置成:
响应于确定所述当前容灾次数等于所述预设阈值以及当前缓存状态为开启,将当前缓存状态变更为关闭。
24.根据权利要求19所述的装置,其中,所述装置还包括容灾次数确定单元,被配置成:
响应于接收到所述客户端发送的针对所述目标数据的响应信息,减小所述当前容灾次数的值。
25.根据权利要求17所述的装置,其中,所述装置还包括预加载单元,被配置成:
确定所述配置信息对应的交互数据;
在发送心跳包的间隙,将所述交互数据缓存在所述缓存数据库。
26.根据权利要求15所述的装置,其中,所述访问请求包括数字签名;以及
所述请求解析单元进一步被配置成:
确定所述数字签名是否与预设的第一密钥和第二密钥匹配;
响应于确定所述数字签名与所述第一密钥和所述第二密钥匹配,确定所述访问请求所请求的目标数据。
27.根据权利要求26所述的装置,其中,所述装置还包括签名生成单元,被配置成:
确定所述访问请求调用的接口;
根据所述接口包括的至少一个参数、所述第一密钥、所述第二密钥,生成所述数字签名。
28.根据权利要求15所述的装置,其中,所述装置还包括组件缓存单元,被配置成:
从所述缓存数据库中获取通用组件集合以及将所述组件集合发送给所述客户端;
接收所述客户端发送的自定义组件以及将所述自定义组件存储在所述缓存数据库中。
29.一种用于访问小程序的电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880567.8A CN112000394B (zh) | 2020-08-27 | 2020-08-27 | 用于访问小程序的方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880567.8A CN112000394B (zh) | 2020-08-27 | 2020-08-27 | 用于访问小程序的方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000394A true CN112000394A (zh) | 2020-11-27 |
CN112000394B CN112000394B (zh) | 2024-01-09 |
Family
ID=73471613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010880567.8A Active CN112000394B (zh) | 2020-08-27 | 2020-08-27 | 用于访问小程序的方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000394B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506582A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 小程序数据包处理方法、装置、设备及介质 |
CN112732999A (zh) * | 2021-01-21 | 2021-04-30 | 建信金融科技有限责任公司 | 静态容灾方法、***、电子设备及存储介质 |
CN113553074A (zh) * | 2021-07-23 | 2021-10-26 | 北京百度网讯科技有限公司 | 小程序分发控制方法、装置、电子设备以及存储介质 |
CN113905091A (zh) * | 2021-09-15 | 2022-01-07 | 盐城金堤科技有限公司 | 用于对访问请求进行处理的方法及装置 |
CN114490752A (zh) * | 2021-12-31 | 2022-05-13 | 北京声智科技有限公司 | 一种数据获取方法、装置、电子设备和存储介质 |
CN114510296A (zh) * | 2022-02-25 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种小程序存储调用方法、装置以及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185051A1 (en) * | 2010-01-27 | 2011-07-28 | Arcot Systems, Inc. | Client device identification through cache manipulation |
US20120144202A1 (en) * | 2010-12-06 | 2012-06-07 | Verizon Patent And Licensing Inc. | Secure authentication for client application access to protected resources |
US20120297041A1 (en) * | 2011-05-20 | 2012-11-22 | Citrix Systems, Inc. | Shell Integration on a Mobile Device for an Application Executing Remotely on a Server |
CN110333912A (zh) * | 2019-07-11 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 一种小程序数据预取的方法、装置及计算机可读存储介质 |
CN110347488A (zh) * | 2019-07-08 | 2019-10-18 | 北京字节跳动网络技术有限公司 | 一种服务处理方法、装置、终端设备及存储介质 |
CN111222062A (zh) * | 2020-01-09 | 2020-06-02 | 百度在线网络技术(北京)有限公司 | 小程序的运行方法、装置、电子设备和存储介质 |
CN111382362A (zh) * | 2020-03-13 | 2020-07-07 | 百度在线网络技术(北京)有限公司 | 小程序处理方法、装置、设备及存储介质 |
CN111586126A (zh) * | 2020-04-28 | 2020-08-25 | 百度在线网络技术(北京)有限公司 | 小程序预下载方法、装置、设备及存储介质 |
-
2020
- 2020-08-27 CN CN202010880567.8A patent/CN112000394B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110185051A1 (en) * | 2010-01-27 | 2011-07-28 | Arcot Systems, Inc. | Client device identification through cache manipulation |
US20120144202A1 (en) * | 2010-12-06 | 2012-06-07 | Verizon Patent And Licensing Inc. | Secure authentication for client application access to protected resources |
US20120297041A1 (en) * | 2011-05-20 | 2012-11-22 | Citrix Systems, Inc. | Shell Integration on a Mobile Device for an Application Executing Remotely on a Server |
CN110347488A (zh) * | 2019-07-08 | 2019-10-18 | 北京字节跳动网络技术有限公司 | 一种服务处理方法、装置、终端设备及存储介质 |
CN110333912A (zh) * | 2019-07-11 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 一种小程序数据预取的方法、装置及计算机可读存储介质 |
CN111222062A (zh) * | 2020-01-09 | 2020-06-02 | 百度在线网络技术(北京)有限公司 | 小程序的运行方法、装置、电子设备和存储介质 |
CN111382362A (zh) * | 2020-03-13 | 2020-07-07 | 百度在线网络技术(北京)有限公司 | 小程序处理方法、装置、设备及存储介质 |
CN111586126A (zh) * | 2020-04-28 | 2020-08-25 | 百度在线网络技术(北京)有限公司 | 小程序预下载方法、装置、设备及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506582A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 小程序数据包处理方法、装置、设备及介质 |
CN112506582B (zh) * | 2020-12-18 | 2024-04-09 | 北京百度网讯科技有限公司 | 小程序数据包处理方法、装置、设备及介质 |
CN112732999A (zh) * | 2021-01-21 | 2021-04-30 | 建信金融科技有限责任公司 | 静态容灾方法、***、电子设备及存储介质 |
CN112732999B (zh) * | 2021-01-21 | 2023-06-09 | 建信金融科技有限责任公司 | 静态容灾方法、***、电子设备及存储介质 |
CN113553074A (zh) * | 2021-07-23 | 2021-10-26 | 北京百度网讯科技有限公司 | 小程序分发控制方法、装置、电子设备以及存储介质 |
CN113553074B (zh) * | 2021-07-23 | 2023-07-25 | 北京百度网讯科技有限公司 | 小程序分发控制方法、装置、电子设备以及存储介质 |
CN113905091A (zh) * | 2021-09-15 | 2022-01-07 | 盐城金堤科技有限公司 | 用于对访问请求进行处理的方法及装置 |
CN113905091B (zh) * | 2021-09-15 | 2023-09-01 | 盐城天眼察微科技有限公司 | 用于对访问请求进行处理的方法及装置 |
CN114490752A (zh) * | 2021-12-31 | 2022-05-13 | 北京声智科技有限公司 | 一种数据获取方法、装置、电子设备和存储介质 |
CN114510296A (zh) * | 2022-02-25 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种小程序存储调用方法、装置以及设备 |
CN114510296B (zh) * | 2022-02-25 | 2024-02-02 | 支付宝(杭州)信息技术有限公司 | 一种小程序存储调用方法、装置以及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112000394B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000394B (zh) | 用于访问小程序的方法、装置、设备以及存储介质 | |
EP3058481B1 (en) | Acceleration based on cached flows | |
CN112073994A (zh) | 用于空中升级的方法、装置、电子设备及可读存储介质 | |
CN109918191B (zh) | 一种业务请求防频的方法和装置 | |
CN112100481A (zh) | 搜索方法、搜索装置、电子设备和存储介质 | |
CN111770161B (zh) | https的嗅探跳转方法和装置 | |
CN111881387B (zh) | 用于小程序的数据处理方法、装置、设备和介质 | |
KR102572726B1 (ko) | 호스팅 애플리케이션의 컴파일 최적화 방법, 장치, 전자 기기 및 판독 가능 저장 매체 | |
KR20220025645A (ko) | 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체 | |
CN111782254A (zh) | 用于升级对象的方法、装置、设备以及存储介质 | |
CN110765075A (zh) | 自动驾驶数据的存储方法和设备 | |
CN112817656A (zh) | 小程序运行方法和装置 | |
CN112084395A (zh) | 搜索方法、搜索装置、电子设备和存储介质 | |
CN113158098A (zh) | 页面生成方法、装置、设备和介质 | |
US10180914B2 (en) | Dynamic domain name service caching | |
CN112069137A (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
US11748438B2 (en) | Customizable redaptor extensions for single-page web applications | |
CN114513468B (zh) | 一种Sentinel中流量防护方法、装置、设备、存储介质及产品 | |
CN113094139B (zh) | Ui样式更新方法和装置 | |
CN112379945B (zh) | 用于运行应用的方法、装置、设备以及存储介质 | |
US11689630B2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN112579096B (zh) | 小程序启动文件的编译、加载方法、装置、设备和介质 | |
CN115639953A (zh) | 数据迁移方法和装置 | |
CN111639116B (zh) | 数据访问连接会话保护方法以及装置 | |
CN111835857B (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 |