CN113986409A - 信息交互方法、装置、设备及存储介质 - Google Patents
信息交互方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113986409A CN113986409A CN202111076156.4A CN202111076156A CN113986409A CN 113986409 A CN113986409 A CN 113986409A CN 202111076156 A CN202111076156 A CN 202111076156A CN 113986409 A CN113986409 A CN 113986409A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- terminal
- rendering
- user interface
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000003993 interaction Effects 0.000 title claims abstract description 56
- 238000009877 rendering Methods 0.000 claims abstract description 74
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 abstract description 27
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 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/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本公开涉及一种信息交互方法、装置、设备及存储介质,信息交互方法包括:发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染;接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。本公开提供的信息交互方法,缩短了用户界面的渲染时长,增加了用户与用户界面之间的可交互时长,同时保障了核心功能的稳定性,且有利于不断地扩展新业务。
Description
技术领域
本公开涉及信息技术领域,尤其涉及一种信息交互方法、装置、设备及存储介质。
背景技术
随着科技的不断发展,用户可以在终端上安装各种不同功能的应用程序(Application,APP),从而享受各种不同的服务便利。
通常情况下,终端向第一服务器发送请求信息后,第一服务器向终端发送响应信息。进一步,终端可以将该响应信息在用户界面上进行渲染,从而使得终端可以显示该响应信息。
但是,本申请的发明人发现,用户界面的渲染时间较长,导致用户与用户界面之间的交互时间较短,从而降低了用户体验。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种信息交互方法、装置、设备及存储介质,缩短了用户界面的渲染时长,增加了用户与用户界面之间的可交互时长,同时保障了核心功能的稳定性,且有利于不断地扩展新业务。
第一方面,本公开实施例提供一种信息交互方法,应用于终端,包括:
发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;
接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染;
接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
第二方面,本公开实施例提供一种信息交互方法,应用于第一服务器,包括:
接收终端发送的请求信息;
根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回给所述终端的;
发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
第三方面,本公开实施例提供一种信息交互装置,集成于终端,包括:
发送模块,用于发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;
接收模块,用于接收所述第一服务器返回的所述第一数据;
渲染模块,用于根据所述第一数据对用户界面进行渲染;
所述接收模块还用于:接收所述第二数据;
所述渲染模块还用于:根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
第四方面,本公开实施例提供一种信息交互装置,集成于第一服务器,包括:
接收模块,用于接收终端发送的请求信息;
确定模块,用于根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回给所述终端的;
发送模块,用于发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
第五方面,本公开实施例提供一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面以及第二方面所述的方法。
第六方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面以及第二方面所述的方法。
本公开实施例提供的信息交互方法、装置、设备及存储介质,通过向第一服务器发送请求信息,使所述第一服务器基于所述请求信息确定需要返回给终端的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;终端接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染;终端接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染的技术手段,实现了针对一次请求进行多路、多段响应,使得终端可以分批渲染用户界面,进而缩短了一次渲染所耗时长,保证较长的可交互时长;通过分别获取第一数据以及第二数据,换言之,通过解耦第一数据以及第二数据,达到了提高第一数据获取稳定性的目的,进而保障核心功能的稳定性,且有利于不断地扩展新业务。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的场景示意图;
图2为本公开实施例提供的信息交互方法流程示意图;
图3为本公开实施例提供的信息交互方法流程示意图;
图4为本公开实施例提供的终端与服务器之间交互的场景示意图;
图5为本公开一实施例提供的一种信息交互的过程示意图;
图6为本公开实施例提供的信息交互装置的结构示意图;
图7为本公开实施例提供的信息交互装置的结构示意图;
图8为本公开实施例提供的电子设备实施例的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
随着网络以及终端技术的不断发展,随时随地网购已经成为一种生活常态。参考如图1所示的一种场景示意图,用户可以在终端100上安装各种购物应用程序,从而基于购物应用程序进行网上购物。在基于购物应用程序进行网上购物时,终端100与服务器110之间会频繁交互数据,或者说是终端100会频繁地向服务器110请求数据,服务器110根据终端100发送的请求生成响应数据,并向终端100下发响应数据,终端100根据接收到的响应数据进行用户界面渲染。例如,在用户触发“购物车”控件时,终端100向服务器110请求购物车内的相关数据,例如用户加入购物车的商品信息,服务器110在接收到请求时,获取相关数据并下发至终端100,终端100根据接收到的相关数据进行用户界面的渲染,最终呈现给用户的便是购物车页面。在用户触发某“订单”控件时,终端100向服务器110请求该订单的相关数据,例如该订单包括的商品信息、订单金额、收货人、收货地址等数据,服务器110在接收到请求时,获取相关数据并下发至终端100,终端100根据接收到的相关数据进行用户界面的渲染,最终呈现给用户的便是该订单的详情页面。
目前,终端100与服务器110交互数据的流程包括两种。其中一种是:终端100向服务器110发送一次请求,服务器110根据该请求获取全部的相关数据,而后向终端100一次性反馈全部的相关数据;显然该种交互方式下服务器110向终端100反馈的数据流较大,势必存在数据传输耗时较长的问题,同时终端100在基于接收到的数据进行用户界面渲染时,由于数据量较大,导致渲染时长较长,同时服务器110获取全部相关数据所消耗的时长也较长,最终导致用户的等待时长较长,可交互时长较短,给用户带来较差的交互体验。另一种是:终端100向服务器110发送多次请求,但多次请求之间有时序关系和依赖关系,服务器110根据第一次请求进行第一次响应,并向终端100反馈第一次的响应数据,终端100根据接收到的第一次的响应数据再向服务器110发送第二次请求;该种交互方式下终端的逻辑较复杂,进而导致渲染时长较长,用户的可交互时长较短。
另外,随着各种营销策略的快速迭代,在“大中台、小前台”(其中,“中台”指资源整合、能力沉淀的平台体系,为“前台”的业务开展提供底层的技术、数据等资源和能力的支持,“前台”指贴近用户、商家的业务部门,包括零售电商、广告业务、云计算、物流以及其它创新业务)的架构体系下,基础链路以及各种新业务都集中向同一套系统聚拢,如何支撑新业务的快速发展遇到了较大挑战。
针对上述问题,本公开实施例提供了一种信息交互方法,下面结合具体的实施例对该方法进行介绍。
图2为本公开实施例提供的信息交互方法流程图。本实施例可适用于终端,具体是终端与服务器进行信息交互的场景,该方法可以由信息交互装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如终端,具体包括但不限于智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机、智能家居设备等。如图2所示,该方法具体步骤如下:
S201、发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的。
其中,请求信息在用户基于用户界面点击了某控件时被触发。例如用户在某购物应用点击“购物车”标签,与“购物车”相关联的请求信息被触发,即终端向第一服务器发送请求信息,以请求与“购物车”相关的数据,例如添加到购物车中的商品数据。
第一服务器在接收到终端发送的请求信息时,根据请求信息确定需要返回给终端的第一数据和第二数据。其中,第一数据具体可以是核心数据(后续中的核心数据即指第一数据),第二数据具体可以是非核心数据(后续的非核心数据即指第二数据),核心数据是用户界面渲染所必须的数据,非核心数据是用户界面渲染非必须的数据。换言之核心数据指用于实现与请求信息对应的核心功能的数据,例如与“购物车”相关联的请求信息对应的核心功能是显示购物车页面,对应的核心数据为添加到购物车中的商品数据。非核心数据指用于实现与请求信息对应的非核心功能的数据,例如与“购物车”相关联的请求信息对应的非核心数据是除商品数据之外的其它数据,例如进入直播间的控件数据、相关商品的推荐数据、营销活动数据等,例如满200元减20元的营销活动数据,以及哪些商品参与该营销活动的数据。具体的,例如请求信息是用户点击“购物车”标签时触发的请求信息,则对应的核心数据是用户已经添加至购物车的商品列表数据,例如用户添加到购物车的商品为一双鞋子,则该鞋子的相关数据即为核心数据,而应用基于该鞋子自动推荐的可搭配的袜子的购买链接则为非核心数据。具体的,在第一服务器接收到终端发送的请求信息时,获取对应的核心数据,并触发用于获取非核心数据的异步获取操作,即用于获取核心数据的执行主体和用于获取非核心数据的执行主体为两个不同的执行主体,因此,获取核心数据的操作与获取非核心数据的操作可以同时进行,两个获取操作互不影响。换言之,实现了核心数据与非核心数据的解耦。通过解耦核心数据与非核心数据,可提高核心数据的获取稳定性,进而保证核心功能的稳定性。其中,将核心数据返回给终端和将非核心数据返回给终端是异步方式,即异步地分别将核心数据和非核心数据返回给终端。当终端接收到核心数据时,优先基于核心数据进行用户界面渲染,当终端接收到非核心数据时,再根据核心数据和非核心数据对用户界面进行合并渲染,渲染过程对用户来说是无感知的,即用户不会感觉到用户界面发生跳变。
在一些实施例中,触发针对非核心数据的异步获取操作,包括:
触发第一服务器中的预设应用异步获取请求信息对应的非核心数据;即请求信息对应的非核心数据通过部署在第一服务器中的预设应用异步获取。
在一些实施例中,触发针对非核心数据的异步获取操作,包括:
触发第二服务器异步获取所述请求信息对应的非核心数据;即请求信息对应的非核心数据通过与第一服务器不同的其它服务器异步获取。该种实施方式,可进一步降低对第一服务器系统资源的占用与消耗,使得第一服务器可仅为核心数据服务,即仅获取请求信息对应的核心数据,可进一步保证核心数据的获取稳定性与获取速度,进而保证核心功能的稳定性以及使终端尽快获取到核心数据以进行用户界面渲染,达到缩短用户等待时长,增加可交互时长的目的,有利于提升用户的交互体验。
S202、接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染。
在一些实施例中,接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染,包括:接收所述第一服务器返回的所述第一数据、以及所述请求信息对应的请求标识,并根据所述第一数据对用户界面进行渲染。其中,所述请求信息对应的请求标识用于关联异步接收到的第一数据和第二数据。
S203、接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
在一些实施方式中,接收所述第二数据,包括:接收所述第一服务器返回的所述第二数据;或者接收第二服务器返回的所述第二数据,所述第一服务器用于触发所述第二服务器异步获取所述第二数据。即第二数据可以是第一服务器获取到的,也可以是第一服务器触发第二服务器,通过第二服务器获取到的。如果第二数据是第一服务器获取到的,则由第一服务器直接返回给终端;如果第二数据是第二服务器获取到的,则由第二服务器直接返回给终端。
具体的,接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染,包括:接收所述第二数据以及所述请求标识,并根据所述请求标识,将所述第二数据和所述第一数据进行合并,得到第三数据;根据所述第三数据对所述用户界面进行渲染。其中,所述请求信息对应的请求标识用于关联异步接收到的第一数据和第二数据,即用于确定属于同一用户界面的第一数据和第二数据。其中,第一数据指核心数据,可以是全量协议格式的数据;第二数据指非核心数据,可以是差量协议格式的数据。将第一数据和第二数据合并后得到的第三数据的数据格式与第一数据的数据格式相同,是全量协议格式的数据。
步骤S202与步骤S203的实质是首先基于核心数据对用户界面进行第一次渲染,然后再基于非核心数据对用户界面进行第二次渲染。在基于核心数据对用户界面进行第一次渲染之后,便实现了基础功能或者说是实现了核心功能,用户界面为可交互状态,用户便可基于用户界面进行交互操作,因此优先基于核心数据对用户界面进行第一次渲染,可达到提高可交互时长的目的,且基于核心数据对用户界面进行渲染,相比于基于核心数据以及非核心数据对用户界面进行渲染时的耗时较短,给用户带来一种“稳定顺滑”的交互体验;当用户触发某控件时,可以立即看到对应的页面,而无需等待较长时间,给用户一种卡顿的交互体验。例如,在用户点击“购物车”标签时,与“购物车”相关联的请求信息被触发,终端向第一服务器发送该请求信息,第一服务器根据该请求信息获取与“购物车”相关的数据,即核心数据,例如添加到购物车中的商品数据;第一服务器获取到添加到购物车中的商品数据之后,将商品数据下发至终端,终端根据商品数据对用户界面进行渲染,即显示购物车页面,在购物车页面显示有添加到购物车的商品信息,用户基于购物车页面可以选择具体的商品进行购买,或查看商品的详情页等进行有效的交互操作。因此,优先基于核心数据对用户界面进行第一次渲染,可达到提高可交互时长的目的,给用户带来一种“稳定顺滑”的交互体验。
在保证核心链路(核心链路例如是用户触发“购物车”即可看到“购物车”页面,看到添加到购物车中的商品信息,并可进行购买、浏览等交互操作)稳定性的同时为了支持更多的业务,针对与非核心链路相关的非核心数据进行第二次渲染,以使非核心数据显示在用户界面,使非核心数据相关的业务逻辑运行在用户界面。非核心数据例如是营销活动数据,如满200元减20元的营销活动数据,非核心数据相关的业务逻辑例如是哪些商品参与满200减20的营销活动,哪些商品不参与该营销活动。在基于营销活动数据对用户界面进行第二次渲染之后,用户在购物车选中一些商品时,商品对应的金额会自动满减,并给出一些凑单提示,以使用户所购买的商品能够参与当前的营销活动。
在一些实施例中,终端优先获取到核心数据,在获取到核心数据之后才获取到非核心数据,此时直接执行步骤S202和步骤S203的操作即可。
在另一些实施例中,终端优先获取到非核心数据,在获取到非核心数据之后才获取到核心数据,此时终端可在获取到核心数据时对核心数据以及非核心数据同时进行渲染,此种实施方式中,终端只进行一次渲染操作。可以理解的是,对核心数据以及非核心数据同时进行渲染,相比于仅对核心数据进行渲染所消耗的时间较长,因此也可以优先对核心数据进行渲染,然后再对非核心数据进行渲染,
本实施例实现了针对终端的一次请求进行多路、多段响应,使得终端可以分批渲染用户界面,并优先渲染核心数据,进而缩短了一次渲染所耗时长,且而保证较长的可交互时长;通过分别获取核心数据以及非核心数据,换言之,通过解耦核心数据以及非核心数据,达到了提高核心数据获取稳定性的目的,进而保障核心功能的稳定性,且有利于不断地扩展新业务。
图3为本公开实施例提供的信息交互方法流程图。本实施例可适用于上述实施例所述的第一服务器,具体是第一服务器与终端进行信息交互的场景,该方法可以由信息交互装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器。如图3所示,该方法具体步骤如下:
S301、接收终端发送的请求信息。
S302、根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中,所述第一数据与所述第二数据是异步返回给所述终端的。
在一些实施例中,确定需要返回给所述终端的第一数据和第二数据,包括:
获取所述第一数据,以及触发本地的预设应用异步获取所述第二数据;或者获取所述第一数据,以及触发第二服务器异步获取所述第二数据。所述预设应用或所述第二服务器用于从至少一个下游系统中异步获取所述第二数据。
如图4所示的一种终端与服务器之间交互的场景图,当终端400检测到用户的交互操作时,向第一服务器410发送请求信息,第一服务器410接收到请求信息时,获取请求信息对应的核心数据,并触发用于获取请求信息对应的非核心数据的异步获取操作,具体可以是触发第一服务器410本地的预设应用,通过预设应用异步获取请求信息对应的非核心数据。或者第一服务器410触发第二服务器420,通过第二服务器420异步获取请求信息对应的非核心数据。
进一步的,在一些实施例中,第一服务器410本地的预设应用或第二服务器420从至少一个下游系统430中异步获取请求信息对应的非核心数据。可以理解的是,由于一台服务器的资源有限,当业务逻辑较复杂或者业务数据较多时,需要通过服务器集群实现,服务器集群例如是由第一服务器410、第二服务器420以及至少一个下游系统430组成。
S303、发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
本实施例实现了针对终端的一次请求,服务器进行多路、多段、多次响应,具体的,接收请求信息的服务器基于请求信息获取与请求信息对应的核心数据,并触发用于获取非核心数据的异步获取操作,即针对核心数据和非核心数据的获取采用多路响应,在向终端反馈数据时,分别反馈核心数据和非核心数据,即多次响应,使得终端可以分批渲染用户界面,并优先渲染核心数据,进而缩短了一次渲染所耗时长,且而保证较长的可交互时长;通过分别获取核心数据以及非核心数据,换言之,通过解耦核心数据以及非核心数据,达到了提高核心数据获取稳定性的目的,进而保障核心功能的稳定性(或者说是保障核心链路的稳定性),且有利于不断地扩展、支持新业务。
在上述各实施例的基础上,结合应用场景对上述信息交互过程进行进一步说明,具体是在购物场景下以交易链路是核心链路为例进行说明。参考如图5所示的一种信息交互的过程示意图,信息交互过程涉及用户、客户端(安装于终端的应用程序)、核心系统(指为交易链路提供基础数据计算能力的应用,该应用通常部署在服务器,例如上述实施例中所述的第一服务器)、解耦层应用(对应上述实施例中所述的预设应用)以及至少一个下游系统(图5中示意性地出3个下游系统)。
基于如图5所示的交互架构,其中步骤11-18为同步链路,即从客户端向核心系统发送第一次主动请求(也是唯一一次主动请求)、核心系统获取核心数据、核心系统向客户端反馈核心数据到客户端首次渲染(即渲染核心数据)的过程;其中步骤21-29为异步链路,即从解耦层应用获取非核心数据、组装非核心数据到将非核心数据反馈给客户端的过程。
图5示出了用户打开客户端页面后,客户端从发出第一次主动请求到收到多路响应进行页面渲染的完整时序,概括性的上述过程包含三个主要环节:(1)、服务端主接口数据解析与下发;(2)、服务端异步链路非核心数据的解析与下发;(3)、客户端接收多路响应并进行页面渲染。
更为详细的信息交互过程具体为:其中,同步链路包括如下步骤:步骤11:用户浏览页面,例如用户进入购物车页或者打开某订单的操作。步骤12:客户端根据用户的交互操作,或者说根据用户的交互行为,生成相关参数(该参数与核心数据关联,但与非核心数据可以关联也可以不关联),基于相关参数生成请求信息,并将请求信息发送至核心系统,即客户端向核心系统发送第一次主动请求,也是唯一一次请求。步骤13、核心系统在接收到请求后生成与该请求对应的核心数据,具体的,为保证核心链路的稳定性及接口耗时,核心系统在接收到客户端发送的请求后只对影响用户交互操作的核心数据进行计算解析,例如在用户打开购物车的场景下,核心系统获取的核心数据包括添加到购物车的商品列表,商品列表中每个商品的名称、价格、详情链接、购买入口等基本数据。步骤14、核心系统向解耦层应用发送解耦消息,触发解耦层应用获取非核心数据的操作,或者说告知解耦层应用获取非核心数据,解耦层应用关联的异步链路将会对该解耦消息进行响应,即按照解耦消息的指示执行获取非核心数据的操作,从而实现了核心数据与非核心数据解耦的目的。可以理解的是,步骤14与步骤13可以同时执行,也可以先执行步骤13,后执行步骤14。解耦层应用与核心系统可以部署在同一台服务器,也可以分别部署在不同的服务器。步骤15、执行一些辅助工作,用于辅助核心数据能够被成功地发送到客户端;例如,核心数据可能有多个,或者多个核心数据的来源不同,步骤15可以将该多个核心数据进行合成或组合;再例如,步骤15用于获取客户端标识、请求标识等,从而确定核心数据是哪个客户端的哪次请求所对应的响应。步骤15可以在步骤14之前执行,也可以在步骤14之后执行,由于执行步骤15会消耗一定时间,因此如果步骤15在步骤14之前执行,可能使得步骤14被延后执行,即获取非核心数据可能会被延后,而如果步骤15在步骤14之后执行,可以使得非核心数据被提前获取。步骤16、核心系统将核心数据返回给客户端。步骤17、客户端接收到第一次响应,即核心数据,通过对主接口数据解析获得核心数据(这是因为核心系统通过主接口将核心数据反馈给客户端),并进行第一次页面渲染。步骤18、客户端异步等待非核心数据的到来,在非核心数据到来时,进行标准化增量协议解析,即对非核心数据进行解析,进一步进行第二次页面渲染,将非核心数据渲染到用户界面,例如将营销数据渲染到用户界面。
异步链路包括如下步骤:步骤21、解耦层应用接收核心系统发送的解耦消息(即图5中的MetaQ解耦消息,MetaQ解耦消息包括客户端标识udtid,请求标识bizId,即客户端向核心系统发送的主动请求的标识,请求标识bizId用于关联请求对应的核心数据和非核心数据;MetaQ是一款分布式、队列模型的消息中间件),该解耦消息的实质也是一种请求,用于请求解耦层应用获取非核心数据;解耦层应用根据解耦消息以及请求标识bizId并发处理业务逻辑,此时可能包含对多个下游系统的调用。在一种可选实施方式中,MetaQ解耦消息除了包括客户端标识udtid和请求标识bizId,还可以包括全部的核心数据或部分的核心数据,从而使得解耦层应用可以根据本次请求和全部的核心数据获取非核心数据,或者根据本次请求和部分核心数据获取非核心数据。步骤22、步骤23、步骤24、步骤25、步骤26以及步骤27均为解耦层应用并行处理获取非核心数据的流程。步骤28、将通过步骤25、步骤26和步骤27反馈的各非核心数据进行组装、拼装或者合并,例如按照和客户端约定的标准化异步增量协议进行拼装;该步骤28的逻辑也可由客户端来完成,即解耦层应用不对分散的非核心数据进行合并,而是将多个非核心数据分别发送给客户端,由客户端完成合并的操作。步骤29、对非核心数据按照标准化协议处理后,使用ACCS(AlibabaCloud ChannelService,阿里云渠道服务)消息通道将非核心数据返回到客户端,完成非核心数据的异步补充;其中,ACCS是一种通道服务,具备实施推送消息的能力。
上述信息交互过程的主要思想是:客户端向服务端发送一次请求,客户端先接收到服务端反馈的核心数据,并进行第一次页面渲染,随后客户端接收到非核心数据,再进行第二次渲染,以将非核心数据渲染出来。在一种可选实施例中,非核心数据比核心数据优先到达客户端,此时,客户端在接收到非核心数据后,并不渲染,而是等待核心数据,等接收到核心数据后,将非核心数据和核心数据一起渲染到用户界面,即页面。
概括性的,客户端进行一次主动请求,服务端将核心数据与非核心数据分多路返回给客户端,客户端进行分批渲染或者合并渲染,在不影响基本信息表达的基础上,支撑营销等业务数据的表达,可极大地提高用户的可交互时长。
服务端侧,核心系统只负责计算核心数据,保障稳定性及耗时,同时在接收到客户端发送的请求后,拼装参数信息触发非核心数据的计算。设计解耦层,负责接收核心系统的异步消息,计算拼装非核心数据并推送给客户端。通过本实施例提供的信息交互方法,保障了核心数据又稳又快,同时也支撑了业务非核心数据的表达。
本公开实施例提供的信息交互方法,客户端只需进行一次请求,服务端将核心数据与非核心数据分多路下发给客户端,减少了客户端多次请求的上行网络时间;一次请求多路下发,减少了不必要的解析拼参的时间及网络耗时,同时核心数据首先响应并进行渲染,可提高用户的可交互时长,带来更好的使用体验。客户端无需对服务端的响应进行解析并拼装下一次请求参数,无需关注业务逻辑,只做响应接收及页面渲染工作。核心数据与非核心数据的依赖由服务端完成。一次请求,多路响应:客户端发起一次请求,服务端响应一个核心数据给客户端进行首屏渲染,并同时异步补偿本次请求中核心数据关联的非核心数据(例如营销氛围等信息),达到了提高用户体验并增加用户可交互时长的目的。核心应用稳定性保障:核心数据与非核心数据解耦,保障核心应用的稳定性和耗时,同时给业务快速发展迭代带来更多可能性。核心数据与非核心数据并行计算、分多路分别返回到客户端进行异步渲染的方式,既保证了核心链路的稳定性,又提高了用户的交互体验。
图6为本公开实施例提供的信息交互装置的结构示意图。本公开实施例提供的信息交互装置可以执行在终端(或者说在客户端)执行的信息交互方法实施例提供的处理流程,如图6所示,该信息交互装置包括:发送模块610、接收模块620和渲染模块630。
其中,发送模块610,用于发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;接收模块620用于接收所述第一服务器返回的所述第一数据;渲染模块630用于根据所述第一数据对用户界面进行渲染。接收模块620还用于:接收所述第二数据;渲染模块630还用于:根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
可选的,接收模块620具体用于接收所述第一服务器返回的所述第二数据;或者接收第二服务器返回的所述第二数据,所述第一服务器用于触发所述第二服务器异步获取所述第二数据。
接收模块620具体用于接收所述第一服务器返回的所述第一数据、以及所述请求信息对应的请求标识;接收所述第二数据以及所述请求标识。
渲染模块630包括:合并单元,用于根据所述请求标识,将所述第二数据和所述第一数据进行合并,得到第三数据;渲染单元,用于根据所述第三数据对所述用户界面进行渲染。
图6所示实施例的信息交互装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本公开实施例提供的信息交互装置的结构示意图。本公开实施例提供的信息交互装置可以执行在第一服务器执行的信息交互方法实施例提供的处理流程,如图7所示,该信息交互装置包括:接收模块710、确定模块720和发送模块730。
其中,接收模块710,用于接收终端发送的请求信息;确定模块720,用于根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回给所述终端的;发送模块730,用于发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
可选的,获取模块720具体用于:获取所述第一数据,以及触发本地的预设应用异步获取所述第二数据;或者获取所述第一数据,以及触发第二服务器异步获取所述第二数据。所述预设应用或所述第二服务器用于从至少一个下游系统中异步获取所述第二数据。
可选的,所述预设应用或所述第二服务器用于从至少一个下游系统中异步获取所述请求信息对应的非核心数据。
以上描述了信息交互装置的内部功能和结构,该装置可实现为一种电子设备。图8为本公开实施例提供的电子设备实施例的结构示意图。如图8所示,该电子设备包括存储器151和处理器152。
存储器151,用于存储程序。除上述程序之外,存储器151还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器151可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器152,与存储器151耦合,执行存储器151所存储的程序,以用于:
向第一服务器发送请求信息,所述第一服务器用于获取所述请求信息对应的核心数据,以及触发针对非核心数据的异步获取操作,所述非核心数据与所述请求信息对应;在接收到所述第一服务器反馈的所述核心数据时,根据所述核心数据对用户界面进行渲染;在接收到所述非核心数据时,根据所述非核心数据对所述用户界面进行再次渲染。
进一步,如图8所示,电子设备还可以包括:通信组件153、电源组件154、音频组件155、显示器156等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
通信组件153被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件153经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件153还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件154,为电子设备的各种组件提供电力。电源组件154可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件155被配置为输出和/或输入音频信号。例如,音频组件155包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器151或经由通信组件153发送。在一些实施例中,音频组件155还包括一个扬声器,用于输出音频信号。
显示器156包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种信息交互方法,其中,所述方法包括:
发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;
接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染;
接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
2.根据权利要求1所述的方法,其特征在于,接收所述第二数据,包括:
接收所述第一服务器返回的所述第二数据;或者
接收第二服务器返回的所述第二数据,所述第一服务器用于触发所述第二服务器异步获取所述第二数据。
3.根据权利要求1或2所述的方法,其特征在于,接收所述第一服务器返回的所述第一数据,并根据所述第一数据对用户界面进行渲染,包括:
接收所述第一服务器返回的所述第一数据、以及所述请求信息对应的请求标识,并根据所述第一数据对用户界面进行渲染;
接收所述第二数据,并根据所述第二数据和所述第一数据对所述用户界面进行合并渲染,包括:
接收所述第二数据以及所述请求标识,并根据所述请求标识,将所述第二数据和所述第一数据进行合并,得到第三数据;
根据所述第三数据对所述用户界面进行渲染。
4.一种信息交互方法,其中,所述方法包括:
接收终端发送的请求信息;
根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中,所述第一数据与所述第二数据是异步返回给所述终端的;
发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
5.根据权利要求4所述的方法,其特征在于,确定需要返回给所述终端的第一数据和第二数据,包括:
获取所述第一数据,以及触发本地的预设应用异步获取所述第二数据;或者
获取所述第一数据,以及触发第二服务器异步获取所述第二数据。
6.根据权利要求5所述的方法,其特征在于,所述预设应用或所述第二服务器用于从至少一个下游系统中异步获取所述第二数据。
7.一种信息交互装置,其中,包括:
发送模块,用于发送请求信息至第一服务器,所述第一服务器用于基于所述请求信息确定需要返回的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回的;
接收模块,用于接收所述第一服务器返回的所述第一数据;
渲染模块,用于根据所述第一数据对用户界面进行渲染;
所述接收模块还用于:接收所述第二数据;
所述渲染模块还用于:根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
8.一种信息交互装置,其中,包括:
接收模块,用于接收终端发送的请求信息;
确定模块,用于根据所述请求信息,确定需要返回给所述终端的第一数据和第二数据,其中所述第一数据与所述第二数据是异步返回给所述终端的;
发送模块,用于发送所述第一数据至所述终端,所述终端用于根据所述第一数据对用户界面进行渲染,并且当所述终端接收所述第二数据时,所述终端还用于根据所述第二数据和所述第一数据对所述用户界面进行合并渲染。
9.一种电子设备,其中,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111076156.4A CN113986409A (zh) | 2021-09-14 | 2021-09-14 | 信息交互方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111076156.4A CN113986409A (zh) | 2021-09-14 | 2021-09-14 | 信息交互方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986409A true CN113986409A (zh) | 2022-01-28 |
Family
ID=79735835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111076156.4A Pending CN113986409A (zh) | 2021-09-14 | 2021-09-14 | 信息交互方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986409A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8201082B1 (en) * | 2002-06-17 | 2012-06-12 | Amazon.Com, Inc. | Dynamic generation of documents |
CN103761317A (zh) * | 2014-01-27 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 一种多线程异步渲染系统及方法 |
CN103886036A (zh) * | 2014-03-06 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 一种用于呈现页面的方法和装置 |
WO2016026384A1 (zh) * | 2014-08-20 | 2016-02-25 | 阿里巴巴集团控股有限公司 | 一种客户端页面显示方法、装置及系统 |
JP2016159437A (ja) * | 2015-02-26 | 2016-09-05 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
CN109388766A (zh) * | 2017-08-07 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 页面加载的方法和装置 |
CN112052064A (zh) * | 2020-09-28 | 2020-12-08 | 深圳前海微众银行股份有限公司 | 小程序页面跳转方法、装置、设备与计算机可读存储介质 |
CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
-
2021
- 2021-09-14 CN CN202111076156.4A patent/CN113986409A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8201082B1 (en) * | 2002-06-17 | 2012-06-12 | Amazon.Com, Inc. | Dynamic generation of documents |
CN103761317A (zh) * | 2014-01-27 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 一种多线程异步渲染系统及方法 |
CN103886036A (zh) * | 2014-03-06 | 2014-06-25 | 百度在线网络技术(北京)有限公司 | 一种用于呈现页面的方法和装置 |
WO2016026384A1 (zh) * | 2014-08-20 | 2016-02-25 | 阿里巴巴集团控股有限公司 | 一种客户端页面显示方法、装置及系统 |
JP2016159437A (ja) * | 2015-02-26 | 2016-09-05 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
CN109388766A (zh) * | 2017-08-07 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 页面加载的方法和装置 |
CN112052064A (zh) * | 2020-09-28 | 2020-12-08 | 深圳前海微众银行股份有限公司 | 小程序页面跳转方法、装置、设备与计算机可读存储介质 |
CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347722B (zh) | 交互系统、方法、客户端及后台服务器 | |
CN109542427B (zh) | 一种系统定制方法、装置及电子设备和存储介质 | |
US9258691B2 (en) | Merchant server programmed for user acquisition within a repeat payment computer system | |
CN104753911A (zh) | 一种基于社交应用的信息处理方法、相关装置及系统 | |
KR102219275B1 (ko) | 설치-후 어플리케이션 인터렉션 개선하기 | |
CN113935813A (zh) | 信息显示方法、装置、电子设备和存储介质 | |
CN112527248A (zh) | 请求处理方法、装置及电子设备 | |
CN113420243A (zh) | 页面处理方法、装置及电子设备 | |
WO2014116285A1 (en) | Card linked offers | |
CN108122124B (zh) | 信息推送方法、平台及系统 | |
CN113065909A (zh) | 页面的访问处理、配置处理方法、装置及电子设备 | |
CN105976201B (zh) | 用于电商系统的购买行为监控方法及装置 | |
US20130173460A1 (en) | Apparatus and method for sharing content information in a communication system and a system thereof | |
CN107705182B (zh) | 用于确定订单来源的方法和装置 | |
CN110827037A (zh) | 基于区块链的数据交互方法和装置 | |
CN116228358A (zh) | 购物订单的处理方法、装置及电子设备 | |
CN113986409A (zh) | 信息交互方法、装置、设备及存储介质 | |
CN111951066A (zh) | 对订单进行合成批次处理的系统、方法、装置及电子设备 | |
CN115760296A (zh) | 页面数据处理与浏览方法、终端设备及存储介质 | |
CN112000746B (zh) | 数据管理方法、装置及服务器 | |
US20220398345A1 (en) | Transparent reporting and control of personal data used to deliver targeted content | |
US11776008B2 (en) | Contextual prediction system and method | |
CN116433310A (zh) | 商品推荐方法、装置、电子设备及存储介质 | |
US9066222B2 (en) | Mobile billing operator server programmed for user acquisition within a repeat payment computer system | |
CN106296234B (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 |