一种交互方法及装置
专利摘要:本发明提供了一种交互方法及装置,该方法包括:与服务端建立长连接;确定当前业务场景所属的类型;根据所确定的类型获取场景字段值;利用场景字段值生成链路标识,并在当前业务场景运行过程中向服务端发送网络请求时,利用链路标识标记网络请求,以使得服务端响应网络请求得到请求结果之后,基于链路标识向终端反馈请求结果。应用本发明实施例提供的方案,链路标识是用于在当前业务场景从起始到结束的过程中对网络请求进行标记的,针对整个业务场景来生成一个链路标识,利用一个链路标识来实现对整个业务场景中的所有网络请求进行标记,降低了终端生成链路标识次数,相应的,也降低了服务端识别链路标识的次数,从而降低互联网系统的计算资源。
专利说明:
一种交互方法及装置
[0001] 技术领域
[0002] 本发明涉及计算机应用技术领域,特别涉及一种交互方法及装置。
[0003] 背景技术
[0004] 在互联网系统中终端与服务端之间通过长连接交互过程中,为了防止网络请求在网络传输过程中丢失,终端通常会使用链路标识(trace_id)对一次网络请求进行标记,该链路标识用来跟踪网络请求从终端端到服务端。对于同一个网络请求,该网络请求的链路标识在不同服务端间是不变的,通过这个不变的链路标识可以用来查询,搜索和记录该网络请求在不同服务端间的运行情况。
[0005] 但是,在一个长连接过程中,针对每一个网络请求终端均要生成一个链路标识,相应的,服务端则需要识别每一网络请求中的链路标识,这就导致加大了互联网系统的计算资源消耗。同时,不同的链路标识在问题排查的过程中提高了排查难度,增加了排查时间和人力消耗。
[0006] 发明内容
[0007] 为了解决现有技术的问题,本发明实施例提供了一种交互方法及装置。所述技术方案如下:
[0008] 第一方面,提供了一种交互方法,应用于终端,所述方法包括:
[0009] 与服务端建立长连接;
[0010] 确定当前业务场景所属的类型,其中,所述当前业务场景为基于所述长连接与所述服务端进行数据交互的场景;
[0011] 根据所确定的类型获取场景字段值;
[0012] 利用所述场景字段值生成链路标识,并在所述当前业务场景运行过程中向所述服务端发送网络请求时,利用所述链路标识标记所述网络请求,以使得所述服务端响应所述网络请求得到请求结果之后,基于所述链路标识向所述终端反馈所述请求结果。
[0013] 在一个长连接过程中,针对一个业务场景生成一个链路标识,从而利用一个链路标识来实现对整个业务场景中的所有网络请求进行标记,降低了链路标识生成次数,从而能够降低终端的计算资源。并且,链路标识的统一,使得排查问题时可以根据同一个标识,明确问题出现的范围,加快日志搜索的速度,减少排查时耗和人力消耗。
[0014] 可选的,所述确定当前业务场景所属的类型的步骤,包括:
[0015] 确定用于实现所述当前业务场景功能的模块;
[0016] 根据所述模块实现的功能确定所述当前业务场景所属的类型。
[0017] 业务场景不同实现其功能的模块也不同,通过各个模块的功能能够快速确定当前业务场景所属的类型。
[0018] 可选的,所述利用所述场景字段值生成链路标识的步骤之前,还包括:
[0019] 根据所述模块实现的功能获取功能字段值;
[0020] 相应的,所述利用所述场景字段值生成链路标识的步骤,包括:
[0021] 利用所述场景字段值和功能字段值生成链路标识。
[0022] 利用各个模块的功能来确定功能字段值,可以利用功能字段值来细化链路标识。
[0023] 可选的,所述根据所述场景字段值和功能字段值生成链路标识的步骤之前,还包括:
[0024] 获取在所述当前业务场景中进行操作的用户的标识信息;
[0025] 相应的,所述根据所述场景字段值和功能字段值生成链路标识的步骤,包括:
[0026] 根据所述场景字段值、功能字段值和标识信息生成链路标识。
[0027] 在同一业务场景中进行操作的用户可能有多个,因此,可以利用各个用户的标识信息来细化链路标识,以区别各个用户。
[0028] 可选的,所述根据所述场景字段值和功能字段值生成链路标识的步骤之前,还包括:
[0029] 获取针对所述当前业务场景生成的链路标识的历史次数;
[0030] 相应的,所述根据所述场景字段值和功能字段值生成链路标识的步骤,包括:
[0031] 根据所述场景字段值、功能字段值和历史次数生成链路标识。
[0032] 业务场景在每次运行时均会生成一个链路标识,而为了区别业务场景在每次运行时生成的链路标识,可以利用生成链路标识的历史次数来细化链路标识。
[0033] 可选的,所述根据所述场景字段值、功能字段值和标识信息生成链路标识的步骤之前,还包括:
[0034] 获取针对所述当前业务场景生成的链路标识的历史次数;
[0035] 相应的,所述根据所述场景字段值、功能字段值和标识信息生成链路标识的步骤,包括:
[0036] 根据所述场景字段值、功能字段值、标识信息以及历史次数生成链路标识。
[0037] 由于针对一个业务场景只生成一个链路标识,相应的,服务端则可以利用一个链路标识对所有操作日志进行标记,这样当用户需要通过终端查看该业务场景的操作日志时,则可以利用链路标识快速搜索出一次业务场景过程中的所有操作日志。
[0038] 可选的,所述方法还包括:
[0039] 向所述服务端发送的携带有所述链路标识的操作日志搜索请求,以使得所述服务端根据所述链路标识查找操作日志,并将所述操作日志反馈给所述终端,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0040] 接收所述操作日志并展示。
[0041] 第二方面,提供了一种交互方法,应用于服务端,该方法包括:
[0042] 与终端建立长连接;
[0043] 接收所述终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端根据当前业务场景所属的类型生成的、用于在所述当前业务场景运行过程中对网络请求进行标记的标识,所述当前业务场景为基于所述长连接用于所述终端与所述服务端进行数据交互的场景;
[0044] 响应所述网络请求得到请求结果;
[0045] 基于所述链路标识向所述终端反馈所述请求结果。
[0046] 可选的,所述响应所述网络请求得到请求结果的步骤,包括:
[0047] 存储所述链路标识,并将所述链路标识分配给所述服务端内用于响应所述网络请求的组件;
[0048] 基于所述链路标识记录各个所述组件之间用于响应所述网络请求的交互信息;
[0049] 基于所述交互信息得到所述请求结果。
[0050] 可选的,所述方法还包括:
[0051] 接收所述终端发送的携带有所述链路标识的操作日志搜索请求,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0052] 基于所述链路标识搜索所述操作日志;
[0053] 将所述操作日志反馈给所述终端,以使得所述终端展示所述操作日志。
[0054] 第三方面,提供了一种交互装置,应用于终端,包括:
[0055] 第一建立模块,用于与服务端建立长连接;
[0056] 确定模块,用于确定当前业务场景所属的类型,其中,所述当前业务场景为基于所述长连接与所述服务端进行数据交互的场景;
[0057] 获取模块,用于根据所确定的类型获取场景字段值;
[0058] 发送模块,用于利用所述场景字段值生成链路标识,并在所述当前业务场景运行过程中向所述服务端发送网络请求时,利用所述链路标识标记所述网络请求,以使得所述服务端响应所述网络请求得到请求结果之后,基于所述链路标识向所述终端反馈所述请求结果。
[0059] 可选的,所述确定模块,还用于
[0060] 确定用于实现所述当前业务场景功能的模块;
[0061] 根据所述模块实现的功能确定所述当前业务场景所属的类型。
[0062] 可选的,所述获取模块,还用于根据所述模块实现的功能获取功能字段值;
[0063] 相应的,所述发送模块,还用于利用所述场景字段值和功能字段值生成链路标识。
[0064] 可选的,所述获取模块,还用于获取在所述当前业务场景中进行操作的用户的标识信息;
[0065] 相应的,所述发送模块,还用于根据所述场景字段值、功能字段值和标识信息生成链路标识。
[0066] 可选的,所述获取模块,还用于获取针对所述当前业务场景生成的链路标识的历史次数;
[0067] 相应的,所述发送模块,还用于根据所述场景字段值、功能字段值和历史次数生成链路标识。
[0068] 可选的,所述获取模块,还用于获取针对所述当前业务场景生成的链路标识的历史次数;
[0069] 相应的,所述发送模块,还用于根据所述场景字段值、功能字段值、标识信息以及历史次数生成链路标识。
[0070] 可选的,所述装置还包括:
[0071] 展示模块,用于向所述服务端发送的携带有所述链路标识的操作日志搜索请求,以使得所述服务端根据所述链路标识查找操作日志,并将所述操作日志反馈给所述终端,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0072] 接收所述操作日志并展示。
[0073] 第四方面,还提供了一种交互装置,应用于服务端,包括:
[0074] 第二建立模块,用于与终端建立长连接;
[0075] 接收模块,用于接收所述终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端根据当前业务场景所属的类型生成的、用于在所述当前业务场景运行过程中对网络请求进行标记的标识,所述当前业务场景为基于所述长连接用于所述终端与所述服务端进行数据交互的场景;
[0076] 响应模块,用于响应所述网络请求得到请求结果;
[0077] 反馈模块,用于基于所述链路标识向所述终端反馈所述请求结果。
[0078] 可选的,所述响应模块,还用于存储所述链路标识,并将所述链路标识分配给所述服务端内用于响应所述网络请求的组件;
[0079] 基于所述链路标识记录各个所述组件之间用于响应所述网络请求的交互信息;
[0080] 基于所述交互信息得到所述请求结果。
[0081] 可选的,所述装置还包括:搜索模块,用于接收所述终端发送的携带有所述链路标识的操作日志搜索请求,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0082] 基于所述链路标识搜索所述操作日志;
[0083] 将所述操作日志反馈给所述终端,以使得所述终端展示所述操作日志。
[0084] 本发明实施例提供了一种交互方法及装置,能够根据当前业务场景的类型确定场景字段值;利用用于实现所述当前业务场景功能的方式确定功能字段值;根据所述场景字段值和功能字段值生成链路标识。由于生成的链路标识是在当前业务场景从起始到结束的过程中,用于对当前业务场景中的网络请求进行标记的,也就是应用本发明实施例提供的方法,针对整个业务场景来生成一个链路标识,利用一个链路标识来实现对整个业务场景中的所有网络请求进行标记,降低了终端的链路标识生成次数,相应的,降低了服务端识别链路标识的次数,因而能够降低互联网系统的计算资源。同时,链路标识的统一,使得排查问题时可以根据同一个标识,明确问题出现的范围,加快日志搜索的速度,减少排查时耗和人力消耗。
[0085] 附图说明
[0086] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0087] 图1本发明实施例提供的一种交互场景示意图
[0088] 图2是本发明实施例提供的一种交互方法的流程示意图;
[0089] 图3是本发明实施例提供的另一种交互方法的流程示意图;
[0090] 图4是本发明实施例提供的一种交互装置的结构示意图;
[0091] 图5是本发明实施例提供的另一种交互装置的结构示意图;
[0092] 图6是本发明实施例提供的一种计算机设备的结构示意图。
[0093] 具体实施方式
[0094] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0095] 本发明实施例提供了一种交互方法,该方法应用于图1所示的系统框架中,该系统框架包括:终端、服务端,该系统框架应用于音视频直播业务场景时,终端内可以安装有用于提供音视频直播服务的应用程序,服务端内可以包含用于调度、房间管理、信令和流媒体数据管理的各个组件。
[0096] 在实施中,推流开始时,各个终端与服务端建立长连接,然后根据应用程序内各个模块的功能来确定当前业务场景的类型,并根据所确定的类型来获取场景字段值;根据各个模块实现的功能获取功能字段值;获取在当前业务场景中进行操作的用户的标识信息;获取针对当前业务场景生成的链路标识的历史次数;并根据上述场景字段值、功能字段值、标识信息以及历史次数生成一个新的链路标识(trace_id)。该链路标识贯穿于整个推流过程,不管推流过程发生了什么事,如断网重连等,此链路标识均不会改变。
[0097] 终端生成链路标识之后,利用链路标识标记网络请求,并将网络请求发送给服务端,服务端在接收到网络请求之后,提取链路标识并将链路标识下发给用于实现调度、房间管理、信令和流媒体数据管理的各个组件;服务端可以在与各个终端进行进行数据交互过程中,利用链路标识来记录各个组件之间的数据交互过程来得到请求结果反馈给终端,并且可以分别利用链路标识来记录服务端与各个终端进行交互的操作日志,以方便各个终端查找操作日志。
[0098] 图2是本发明实施例提供的一种交互方法的流程示意图,应用于终端,该方法可以包括:
[0099] 步骤200,与服务端建立长连接。
[0100] 在一个长连接过程中终端通常可以向服务端发送多次网络请求,在实施中,客户端与服务端之间进行音视频流传输时,每条音视频流通常包含多次网络请求,因此,通常是基于一个长连接来完成客户端与服务端之间音视频流的传输。
[0101] 步骤210,确定当前业务场景所属的类型。
[0102] 其中,当前业务场景也就是基于上述长连接与服务端进行数据交互的场景。具体的,上述业务场景可以有用于音视频直播的业务场景、用于实时聊天的业务场景等不同的类型。
[0103] 在实施中,每一业务场景又可以包含多个子场景,比如,用于音视频直播的业务场景中可以包含连麦、视频会议等子场景;用于实时聊天的业务场景中可以包含多人群聊、单人聊天等子场景。基于此,在判断当前业务场景的类型时,可以基于业务场景的功能来进行判断,也可以基于业务场景中的子场景的功能来进行判断。
[0104] 在实施中,业务场景功能的实现通常是由一个或多个具有相应功能的模块来完成的,上述模块通过执行自身所定义的代码步骤来实现相应的业务场景功能,比如,在音视频直播业务场景中,通常是由用于音视频数据推流/拉流的模块、用于不同用户之间进行连麦等模块来实现音视频直播服务。因此,一种实现方式中,在确定当前业务场景类型时,可以根据用于实现当前业务场景功能的模块的功能来确定当前业务场景的功能。比如,用于实现当前业务场景功能的模块为用于音视频数据推流/拉流的模块、用于不同用户之间进行连麦的模块时,则可以确定当前业务场景为音视频直播业务场景。
[0105] 步骤220,根据所确定的类型获取场景字段值。
[0106] 在实施中,可以预先设定每一类型对应的场景字段值,比如,音视频直播的业务场景为例,常见的子场景包括连麦和视频会议,相应的,可以用link/meeting来分别作为连麦和视频会议对应的场景字段值。基于此,在确定了当前业务场景的类型之后,也就得到了场景字段值。
[0107] 步骤230,利用场景字段值生成链路标识,并在当前业务场景运行过程中向服务端发送网络请求时,利用链路标识标记网络请求,以使得服务端响应网络请求得到请求结果之后,基于链路标识向终端反馈请求结果。
[0108] 当前业务场景运行过程也就是指当前业务场景由起始到终止的过程。
[0109] 在实施中,得到了用于构成链路标识的场景字段值之后,则可以利用场景字段值来生成链路标识。比如,音视频直播的业务场景中,场景字段值为meeting,相应的,链路标识则可以表示为meeting。
[0110] 生成链路标识之后,则可以在各个当前业务场景运行过程中利用链路标识来对网络请求进行标记,相应的,服务端在接收到网络请求之后,可以存储链路标识,并将链路标识分配给服务端内用于响应网络请求的各个组件;以此来利用链路标识记录各个组件之间用于响应网络请求的交互信息从而得到请求结果;最终根据链路标识将请求结果反馈给终端。
[0111] 应用本发明实施例提供的方案,链路标识的生命周期不再与单一的网络请求相同,而是扩展到整个业务场景的起始到终止,也就是针对整个业务场景生成一个链路标识,利用一个链路标识来实现对整个业务场景中的所有网络请求进行标记,降低了链路标识生成次数,降低了终端的计算资源。
[0112] 在实施中,为了细化链路标识,可以根据用于实现当前业务场景功能的模块的各个功能来生成链路标识的操作部分字段值。
[0113] 具体的,可以预先设定各个模块的功能与功能字段值之间的映射关系,比如,音视频直播的业务场景中,用于音视频数据推流的模块对应的功能字段值为push,用于音视频数据拉流的模块对应的功能字段值为pull。
[0114] 在确定了功能字段值之后,则可以利用场景字段值和功能字段值来生成链路标识,比如,场景字段值为meeting,功能字段值为push,相应的,链路标识则可以表示为meeting_push。
[0115] 在实施中,为了区别在同一业务场景中进行操作的用户,还可以获取用户的标识信息,利用当前业务场景的场景字段值、功能字段值和用户的标识信息生成链路标识。
[0116] 上述用户的标识信息可以包括:用户的身份信息、用户所使用的账号信息用户所使用的终端型号信息等。比如,用户的标识信息可以利用client_host_channelId_userId_UUID字段构成,其中,各个字段可根据实际需要进行调整,以client为例,针对Android/iOS/Window/H5/Mac等终端,可分别填写对应的英文名称,也可简写为A/I/W/H/M等。
[0117] 链路标识的字段中,Host、channeldId和userId可根据不同业务场景进行变更,以音视频直播的业务场景为例,可以使用域名、频道号和用户账号作为用户的标识;对于聊天软件等场景,可用客户的账号、昵称等进行替换。
[0118] 链路标识的字段中,UUID部分可以对应于终端的设备标识,全局唯一,比如可以利用终端的国际移动设备识别码(IMEI,International Mobile Equipment Identity)来作为终端的设备标识码。在实施中,对于网页浏览的业务场景,为了避免大量网页使用相同的设备标识,可用随机数进行替换;也可用设备ID+随机数字的方式进行替换。
[0119] 在实施中,同一业务场景在每次运行时均会生成一个链路标识,为了区别针对同一业务场景在每次起始时所生成的链路标识,可以获取针对当前业务场景生成的链路标识的历史次数,利用当前业务场景的场景字段值、功能字段值和历史次数生成链路标识。由于历史次数是一个全局自增的数值,即每生成一次链路标识自动增加1,因此,在链路标识中增加历史次数的字段值,可以区别针对同一业务场景在每次起始时所生成的链路标识。
[0120] 在实施中,为了同时区别在同一业务场景中进行操作的不同用户和在同一业务场景中进行操作的不同用户,则可以利用当前业务场景的场景字段值、功能字段值、标识信息以及历史次数生成链路标识。此时,链路标识不仅能够标识网络请求,链路标识中还包含用户信息、业务场景信息以及历史次数信息,从而便于快速排查问题,定位链路标识所对应的业务场景。
[0121] 在实施中,由于利用一个链路标识来标记了同一个业务场景由起始到结束的运行过程中,每次与服务端进行数据交互的操作过程,在生产该业务场景的操作日志时,每一个操作记录均可以携带有该链路标识,服务端也会记录各个操作过程生产操作日志,并利用链路标识来标记操作日志,这样当终端需要查询操作日志时,则可以向服务端发送携带有链路标识的操作日志搜索请求;相应的,服务端则可以根据链路标识来搜索操作日志,并将搜索到的操作日志反馈给终端,终端在接收到操作日志之后可以进行展示。
[0122] 由于通过一个链路标识能够快速获得同一业务场景下记录所有操作事件的操作日志,进一步地,通过对操作日志进行过滤,可快速定位出当前用户问题出现的原因、快速确认用户的其他操作行为、确认反馈的用户问题是否为真实问题以及是否存在其他可能引起问题的可疑操作。可以使用实时音视频系统的问题排查时间大幅减少,用户反馈问题可以在分钟级时间内得到确认。
[0123] 在实施中,可以通过Portal将日志进行展示,展示形式可以分两类,一类是以时间为轴,展示不同操作事件发生的先后顺序,确认客户的操作顺序和网络请求顺序。另一类是以时间为X轴,以关键数据的变化为Y轴,展示流状态质量变化的情况。
[0124] 图3是本发明实施例提供的另一种交互方法,应用于服务端,该方法包括:
[0125] 步骤300,与终端建立长连接;
[0126] 在一个长连接过程中终端通常可以向服务端发送多次网络请求,在实施中,客户端与服务端之间进行音视频流传输时,每条音视频流通常包含多次网络请求,因此,通常是基于一个长连接来完成客户端与服务端之间音视频流的传输。
[0127] 步骤310,接收终端发送的携带有链路标识的网络请求。
[0128] 其中,链路标识为终端根据当前业务场景所属的类型生成的、用于在当前业务场景运行过程中对网络请求进行标记的标识,当前业务场景为基于长连接用于终端与服务端进行数据交互的场景。
[0129] 步骤320,响应网络请求得到请求结果。
[0130] 一种实现方式中,服务端在接收到终端发送的携带有链路标识的网络请求之后,可以提取出链路标识进行存储,并将链路标识分配给服务端内用于响应网络请求的各个组件,也就是用于实现相同功能的组件被赋予同一个链路标识,这样各个组件之间在利用链路标识来进行信息交互的过程中,服务端则可以基于链路标识来记录各个组件之间用于响应网络请求的交互信息,最终得到请求结果。
[0131] 步骤330,基于链路标识向终端发送请求结果。
[0132] 在实施中,在得到请求结果之后,可以利用链路标识来确定发送网络请求的终端,并向终端发送请求结果。
[0133] 基于此,链路标识的生命周期不再与单一的网络请求相同,而是扩展到整个业务场景的起始到终止,也就是针对整个业务场景生成一个链路标识,服务端利用一个链路标识即可识别出在整个业务场景运行过程中终端发送的网络请求,降低了服务端的计算资源损耗。
[0134] 在实施中,服务端可以记录与终端在当前业务场景中进行数据交互的操作日志,并利用链路标识来标记操作日志,这样当服务端接收到终端发送的携带有链路标识的操作日志搜索请求,则可以根据链路标识来搜索出整个业务场景中的操作日志,并将操作日志反馈给终端,以使得终端展示操作日志。
[0135] 链路标识的统一,使得排查问题时可以根据同一个标识,明确问题出现的范围,加快日志搜索的速度,减少排查时耗和人力消耗。
[0136] 基于相同的技术构思,本发明实施例还提供了一种交互装置,如图4所示,应用于终端,所述装置包括:
[0137] 第一建立模块400,用于与服务端建立长连接;
[0138] 确定模块410,用于确定当前业务场景所属的类型,其中,所述当前业务场景为基于所述长连接与所述服务端进行数据交互的场景;
[0139] 获取模块420,用于根据所确定的类型获取场景字段值;
[0140] 发送模块430,用于利用所述场景字段值生成链路标识,并在所述当前业务场景运行过程中向所述服务端发送网络请求时,利用所述链路标识标记所述网络请求,以使得所述服务端响应所述网络请求得到请求结果之后,基于所述链路标识向所述终端反馈所述请求结果。
[0141] 可选的,所述确定模块410,还用于
[0142] 确定用于实现所述当前业务场景功能的模块;
[0143] 根据所述模块实现的功能确定所述当前业务场景所属的类型。
[0144] 可选的,所述获取模块420,还用于根据所述模块实现的功能获取功能字段值;
[0145] 相应的,所述发送模块430,还用于利用所述场景字段值和功能字段值生成链路标识。
[0146] 可选的,所述获取模块420,还用于获取在所述当前业务场景中进行操作的用户的标识信息;
[0147] 相应的,所述发送模块430,还用于根据所述场景字段值、功能字段值和标识信息生成链路标识。
[0148] 可选的,所述获取模块420,还用于获取针对所述当前业务场景生成的链路标识的历史次数;
[0149] 相应的,所述发送模块430,还用于根据所述场景字段值、功能字段值和历史次数生成链路标识。
[0150] 可选的,所述获取模块420,还用于获取针对所述当前业务场景生成的链路标识的历史次数;
[0151] 相应的,所述发送模块430,还用于根据所述场景字段值、功能字段值、标识信息以及历史次数生成链路标识。
[0152] 可选的,所述装置还包括:
[0153] 展示模块,用于向所述服务端发送的携带有所述链路标识的操作日志搜索请求,以使得所述服务端根据所述链路标识查找操作日志,并将所述操作日志反馈给所述终端,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0154] 接收所述操作日志并展示。
[0155] 应用本发明实施例提供的方案,链路标识的生命周期不再与单一的网络请求相同,而是扩展到整个业务场景的起始到终止,也就是针对整个业务场景生成一个链路标识,利用一个链路标识来实现对整个业务场景中的所有网络请求进行标记,降低了链路标识生成次数,降低了终端的计算资源。并且,链路标识不仅能够标识网络请求,链路标识中还包含用户信息、业务场景信息以及历史次数信息,从而便于快速排查问题,定位链路标识所对应的业务场景。
[0156] 基于相同的技术构思,本发明实施例还提供了一种交互装置,如图5所示,应用于服务端,所述装置包括:
[0157] 第二建立模块500,用于与终端建立长连接;
[0158] 接收模块510,用于接收所述终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端根据当前业务场景所属的类型生成的、用于在所述当前业务场景运行过程中对网络请求进行标记的标识,所述当前业务场景为基于所述长连接用于所述终端与所述服务端进行数据交互的场景;
[0159] 响应模块520,用于响应所述网络请求得到请求结果;
[0160] 反馈模块530,用于基于所述链路标识向所述终端反馈所述请求结果。
[0161] 可选的,所述响应模块520,还用于存储所述链路标识,并将所述链路标识分配给所述服务端内用于响应所述网络请求的组件;
[0162] 基于所述链路标识记录各个所述组件之间用于响应所述网络请求的交互信息;
[0163] 基于所述交互信息得到所述请求结果。
[0164] 可选的,所述装置还包括:搜索模块,用于接收所述终端发送的携带有所述链路标识的操作日志搜索请求,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
[0165] 基于所述链路标识搜索所述操作日志;
[0166] 将所述操作日志反馈给所述终端,以使得所述终端展示所述操作日志。
[0167] 应用本发明实施例提供的方案,链路标识的生命周期不再与单一的网络请求相同,而是扩展到整个业务场景的起始到终止,也就是针对整个业务场景生成一个链路标识,服务端利用一个链路标识即可识别出在整个业务场景运行过程中终端发送的网络请求,降低了服务端的计算资源损耗。
[0168] 图6是本发明实施例提供的计算机设备的结构示意图。该计算机设备600可因配置或性能不同而产生比较大差异,可以包括一个或一个以上中央处理器622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备600中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在计算机设备600上执行存储介质630中的一系列指令操作。
[0169] 计算机设备600还可以包括一个或一个以上电源624,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘654,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0170] 计算机设备600可以包括有存储器,以及一个或者一个以上的计算机程序,其中一个或者一个以上计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上计算机程序以实现上述任一所述的交互方法。
[0171] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0172] 需要说明的是:上述实施例提供的交互装置、计算机设备以及计算机可读存储介质在实现交互时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的交互装置、计算机设备以及计算机可读存储介质与交互方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0173] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0174] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0175] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求:1.一种交互方法,其特征在于,应用于终端,所述方法包括:
与服务端建立长连接;
确定当前业务场景所属的类型,其中,所述当前业务场景为基于所述长连接与所述服务端进行数据交互的场景;
根据所确定的类型获取场景字段值;
利用所述场景字段值生成链路标识,并在所述当前业务场景运行过程中向所述服务端发送网络请求时,利用所述链路标识标记所述网络请求,以使得所述服务端响应所述网络请求得到请求结果之后,基于所述链路标识向所述终端反馈所述请求结果。
2.如权利要求1所述的方法,其特征在于,所述确定当前业务场景所属的类型的步骤,包括:
确定用于实现所述当前业务场景功能的模块;
根据所述模块实现的功能确定所述当前业务场景所属的类型。
3.如权利要求2所述的方法,其特征在于,所述利用所述场景字段值生成链路标识的步骤之前,还包括:
根据所述模块实现的功能获取功能字段值;
相应的,所述利用所述场景字段值生成链路标识的步骤,包括:
利用所述场景字段值和功能字段值生成链路标识。
4.如权利要求3所述的方法,其特征在于,所述根据所述场景字段值和功能字段值生成链路标识的步骤之前,还包括:
获取在所述当前业务场景中进行操作的用户的标识信息;
相应的,所述根据所述场景字段值和功能字段值生成链路标识的步骤,包括:
根据所述场景字段值、功能字段值和标识信息生成链路标识。
5.如权利要求3所述的方法,其特征在于,所述根据所述场景字段值和功能字段值生成链路标识的步骤之前,还包括:
获取针对所述当前业务场景生成的链路标识的历史次数;
相应的,所述根据所述场景字段值和功能字段值生成链路标识的步骤,包括:
根据所述场景字段值、功能字段值和历史次数生成链路标识。
6.如权利要求4所述的方法,其特征在于,所述根据所述场景字段值、功能字段值和标识信息生成链路标识的步骤之前,还包括:
获取针对所述当前业务场景生成的链路标识的历史次数;
相应的,所述根据所述场景字段值、功能字段值和标识信息生成链路标识的步骤,包括:
根据所述场景字段值、功能字段值、标识信息以及历史次数生成链路标识。
7.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
向所述服务端发送的携带有所述链路标识的操作日志搜索请求,以使得所述服务端根据所述链路标识查找操作日志,并将所述操作日志反馈给所述终端,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
接收所述操作日志并展示。
8.一种交互方法,其特征在于,应用于服务端,所述方法包括:
与终端建立长连接;
接收所述终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端根据当前业务场景所属的类型生成的、用于在所述当前业务场景运行过程中对网络请求进行标记的标识,所述当前业务场景为基于所述长连接用于所述终端与所述服务端进行数据交互的场景;
响应所述网络请求得到请求结果;
基于所述链路标识向所述终端反馈所述请求结果。
9.如权利要求8所述的方法,其特征在于,所述响应所述网络请求得到请求结果的步骤,包括:
存储所述链路标识,并将所述链路标识分配给所述服务端内用于响应所述网络请求的组件;
基于所述链路标识记录各个所述组件之间用于响应所述网络请求的交互信息;
基于所述交互信息得到所述请求结果。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的携带有所述链路标识的操作日志搜索请求,其中,所述操作日志为在所述长连接过程中基于所述当前业务场景所述终端与所述服务端进行数据交互的日志;
基于所述链路标识搜索所述操作日志;
将所述操作日志反馈给所述终端,以使得所述终端展示所述操作日志。
11.一种交互装置,其特征在于,应用于终端,所述装置包括:
第一建立模块,用于与服务端建立长连接;
确定模块,用于确定当前业务场景所属的类型,其中,所述当前业务场景为基于所述长连接与所述服务端进行数据交互的场景;
获取模块,用于根据所确定的类型获取场景字段值;
发送模块,用于利用所述场景字段值生成链路标识,并在所述当前业务场景运行过程中向所述服务端发送网络请求时,利用所述链路标识标记所述网络请求,以使得所述服务端响应所述网络请求得到请求结果之后,基于所述链路标识向所述终端反馈所述请求结果。
12.一种交互装置,其特征在于,应用于服务端,所述装置包括:
第二建立模块,用于与终端建立长连接;
接收模块,用于接收所述终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端根据当前业务场景所属的类型生成的、用于在所述当前业务场景运行过程中对网络请求进行标记的标识,所述当前业务场景为基于所述长连接用于所述终端与所述服务端进行数据交互的场景;
响应模块,用于响应所述网络请求得到请求结果;
反馈模块,用于基于所述链路标识向所述终端反馈所述请求结果。
接收模块,用于接收终端发送的携带有链路标识的网络请求,其中,所述链路标识为所述终端在当前业务场景运行过程中用于对所述当前业务场景中的网络请求进行标记的标识;
响应模块,用于响应所述网络请求得到请求结果;
发送模块,用于基于所述链路标识向所述终端发送所述请求结果。
13.一种计算机设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10任一项所述的交互方法。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的交互方法。
公开号:CN110602171
申请号:CN201910768737.0A
发明人:方鑫杰
申请人:网宿科技股份有限公司
申请日:2019-08-20
公开日:2019-12-20