CN114139039A - 服务稳定性确定方法、装置、设备以及存储介质 - Google Patents

服务稳定性确定方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN114139039A
CN114139039A CN202111456966.2A CN202111456966A CN114139039A CN 114139039 A CN114139039 A CN 114139039A CN 202111456966 A CN202111456966 A CN 202111456966A CN 114139039 A CN114139039 A CN 114139039A
Authority
CN
China
Prior art keywords
service
search request
level
response result
search
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
Application number
CN202111456966.2A
Other languages
English (en)
Other versions
CN114139039B (zh
Inventor
甄真
尹劲草
李多
陈佳捷
范彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN202210855728.7A priority Critical patent/CN114996557B/zh
Priority to CN202111456966.2A priority patent/CN114139039B/zh
Publication of CN114139039A publication Critical patent/CN114139039A/zh
Application granted granted Critical
Publication of CN114139039B publication Critical patent/CN114139039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种服务稳定性确定方法、装置、设备和介质,涉及计算机技术领域,尤其涉及智能搜索技术领域。该服务稳定性确定方法实现方案为:利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应第一搜索请求的第一响应结果,其中,第一服务序列中包括多级目标服务分别对应的第一服务实例;将第一服务序列中的第i‑1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i‑1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应第二搜索请求的第二响应结果;根据第一响应结果和第二响应结果,确定第i级目标服务的服务稳定性。

Description

服务稳定性确定方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及智能搜索技术领域。
背景技术
随着分布式服务架构的发展,特别是微服务等设计理念在系统中的应用,服务系统的模块变得越来越多,业务的调用链也越来越复杂。以分布式搜索引擎为例,对于用户的一个搜索请求,会经过多级服务来召回搜索结果。
但由于分布式搜索引擎经常面临海量的变更和异常,相同的搜索请求可能会召回不同的搜索结果。搜索结果的差异率在不同时间呈现不同的值,有时甚至会突涨。较为准确地发现搜索结果的差异率变化的原因,对搜索服务的稳定性至关重要。
发明内容
本公开提供了一种用于服务稳定性确定方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种服务稳定性确定方法,包括:
利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应上述第一搜索请求的第一响应结果,其中,上述第一服务序列中包括多级目标服务分别对应的第一服务实例;
将上述第一服务序列中的第i-1级第一服务实例响应上述第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便上述第二服务序列从上述第i级第二服务实例开始,基于上述第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应上述第二搜索请求的第二响应结果,其中,上述第二服务序列中包括多级上述目标服务分别对应的第二服务实例,上述第一搜索请求和上述第二搜索请求的搜索请求内容相同,i为大于等于2的整数;
根据上述第一响应结果和上述第二响应结果,确定第i级目标服务的服务稳定性。
根据本公开的另一方面,提供了一种服务稳定性确定装置,包括:
第一输出模块,用于利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应上述第一搜索请求的第一响应结果,其中,上述第一服务序列中包括多级目标服务分别对应的第一服务实例;
第二输出模块,用于将上述第一服务序列中的第i-1级第一服务实例响应上述第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便上述第二服务序列从上述第i级第二服务实例开始,基于上述第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应上述第二搜索请求的第二响应结果,其中,上述第二服务序列中包括多级上述目标服务分别对应的第二服务实例,上述第一搜索请求和上述第二搜索请求的搜索请求内容相同,i为大于等于2的整数;
第一确定模块,用于根据上述第一响应结果和上述第二响应结果,确定第i级目标服务的服务稳定性。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用服务稳定性确定方法的示例性系统架构;
图2示意性示出了根据本公开实施例的服务稳定性确定方法的流程图;
图3示意性示出了根据本公开实施例的发布订阅服务的示意图;
图4示意性示出了根据本公开实施例的利用发布订阅服务进行共享的方法示意图;
图5示意性示出了根据本公开实施例的构造第二搜索请求和第四搜索请求的方法示意图;
图6示意性示出了根据本公开实施例的可以应用服务稳定性确定方法的整体模块构成图;
图7示意性示出了根据本公开的实施例的服务稳定性确定装置的框图;以及
图8示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
分布式搜索引擎经常面临变更。例如,云原生系统下的搜索引擎具有更快的迭代周期,多级服务定期的代码升级,以及策略词典的升级等等导致搜索引擎的变更。分布式搜索引擎也经常面临异常。例如,由于搜索引擎的变更导致搜索异常,或者网络和机器故障等原因导致搜索异常。
由于分布式搜索引擎经常面临海量的变更和异常,相同的搜索请求可能会召回不同的搜索结果。
针对两次同样的搜索请求,该两次搜索请求可以称为一个请求对pair,如果两次的搜索结果不一致,那么可以称为有差异diff。在一段时间内,有差异diff的搜索请求对pair数量除以总的搜索请求对pair数量,称为diff率,即差异率。diff率越大,代表不一致性越大,即搜索的稳定性越差。
在相关技术中,可以基于搜索请求跟踪(即trace)的方案,分析有差异的搜索请求对pair的跟踪数据,寻找最先引入差异的阶段。
但是,一个搜索请求的搜索结果一般是由多个服务来排序确定的。例如,服务B召回了3条网页结果并进行了排序b1->b2->b3。服务A召回了2条网页结果a1->a3(a2被策略过滤),并与服务B的搜索结果共同排序a1->b1->b2->a3(b3被策略过滤)。
但针对同一个搜索请求,由于服务B不稳定,导致排序顺序略有变化,结果为b2->b1->b3;将服务A的搜索结果同服务B的搜索结果一起排序后,结果为a1->b2->b1->a3(b3被策略过滤)。
如此,相同的搜索请求产出了a1->b1->b2->a3以及a1->b2->b1->a3两种排序结果,即为搜索结果有差异。
由于服务B先对搜索结果进行第一次排序,然后,再由服务A做进一步的排序。在这种情况下,无法回答服务A和服务B对最终搜索结果的贡献度分别有多大。这是因为,服务B返回到服务A的结果,除了统一资源地址url顺序之外,也包含了其他特征信息,例如相关性权重、时效性权重等等,在这些特征信息中,有些会影响到服务A的排序,有些不会影响。如果服务B返回给服务A的结果有差异,那么无法确定这些差异对最终搜索结果差异的贡献度有多大。
在相关技术中,还可以基于外部控制的方式来分析稳定性。比如,将一个服务全部的程序版本、使用到的数据通过外部搜索和修复的方式保持一致,但通过外部控制的方式很难控制住外部因素,并且控制过程中对服务的变更效率带来损失,成本大。
为了较好的保障搜索服务的稳定性,在实现本公开的过程中发现,可以通过分析某个服务对搜索差异的贡献率来有针对性地对服务进行治理。为了较为准确地分析服务对搜索差异的贡献率,本公开的实施例提供了一种服务稳定性确定方法,包括:利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应第一搜索请求的第一响应结果,其中,第一服务序列中包括多级目标服务分别对应的第一服务实例;将第一服务序列中的第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应第二搜索请求的第二响应结果,其中,第二服务序列中包括多级目标服务分别对应的第二服务实例,第一搜索请求和第二搜索请求的搜索请求内容相同,i为大于等于2的整数;根据第一响应结果和第二响应结果,确定第i级目标服务的服务稳定性。
图1示意性示出了根据本公开实施例的可以应用服务稳定性确定方法的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户搜索请求等数据进行分析等处理,并将处理结果(例如根据用户搜索请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的服务稳定性确定方法一般可以由服务器105执行。相应地,本公开实施例所提供的服务稳定性确定系统一般可以设置于服务器105中。本公开实施例所提供的服务稳定性确定方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的服务稳定性确定系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的服务稳定性确定方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的服务稳定性确定系统也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
例如,搜索请求可以根据用户操作实时生成,其中,操作可以是用户在终端设备101、102或103中的任意一个(例如,终端设备101,但不限于此)上进行,然后,终端设备101可以在本地执行本公开实施例所提供的服务稳定性确定方法,或者将搜索请求发送到其他终端设备、服务器、或服务器集群,并由接收该搜索请求的其他终端设备、服务器、或服务器集群来执行本公开实施例所提供的服务稳定性确定方法。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的服务稳定性确定方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应第一搜索请求的第一响应结果,其中,第一服务序列中包括多级目标服务分别对应的第一服务实例。
根据本公开的实施例,第一服务序列属于逻辑概念,可以用于描述在响应某个搜索请求时需要调用的服务。利用第一服务序列中的第一服务实例响应第一搜索请求可以是利用第一服务序列中的第一服务实例依次响应第一搜索请求。对于一个搜索请求,可以认为该搜索请求的搜索结果依次由第一服务序列中的服务生成。
根据本公开的实施例,第一服务序列例如可以记作:Servicel->Service2->...->Service{i-1}->Service{i}->Service{i+1}->...->Service{n}。
根据本公开的实施例,第一服务序列中的服务数量可以由本领域技术人员根据实际应用情况而灵活设置,本公开实施例不对第一服务序列中的服务数量进行限定。
根据本公开的实施例,第一服务实例属于物理概念,可以用于描述在响应某个搜索请求时具体调用的第一服务序列中的实例。对于一个搜索请求,可以认为该搜索请求的搜索结果依次由第一服务序列中的第一服务实例生成,第一服务实例例如可以记作:Service1_Instance1->Service2_Instance1->...->Service{i-1}_Instance1->Service{i}_Instance1->Ser vice{i+1}_Instance1->...->Service{n}_Instancel。
根据本公开的实施例,多级目标服务可以属于微服务架构,某个搜索请求可以通过A1->A2->...->An的多级目标服务来召回搜索结果。
根据本公开的实施例,第一搜索请求可以为客户端向服务器发送的一个搜索请求报文,第一搜索请求可以包含搜索请求的方法、URL、协议版本、搜索请求头部和搜索请求数据等。
根据本公开的实施例,第一响应结果可以为第一服务序列中的第一服务实例接收并处理客户端发过来的搜索请求报文后,返回的响应消息,第一响应结果可以包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据等。
在操作S220,将第一服务序列中的第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应第二搜索请求的第二响应结果,其中,第二服务序列中包括多级目标服务分别对应的第二服务实例,第一搜索请求和第二搜索请求的搜索请求内容相同,i为大于等于2的整数。
根据本公开的实施例,共享可以理解为当第一搜索请求流经Service{i}_Instance1时,将第一搜索请求从Service{i-1}_Instance1获取到的响应结果共享至Service{i}_Instance2,以便于第二服务序列中的第二服务实例基于该响应结果进行后续的处理。
根据本公开的实施例,第二服务序列属于逻辑概念,可以用于描述在响应某个搜索请求时需要调用的服务。对于一个搜索请求,可以认为该搜索请求的搜索结果依次由第二服务序列中的服务生成,第二服务序列例如可以记作:Service{i}->Service{i+1}->...->Service{n}。
根据本公开的实施例,第二服务序列中的服务数量可以由本领域技术人员根据实际应用情况而灵活设置,本公开实施例不对第二服务序列中的服务数量进行限定。
根据本公开的实施例,第二服务实例属于物理概念,可以用于描述在响应某个搜索请求时具体调用的第二服务序列中的实例。对于一个搜索请求,可以认为该搜索请求的搜索结果依次由第二服务序列中的第二服务实例生成,第二服务实例例如可以记作:Service{i}_Instance2->Service{i+1}_Instance2->...->Service{n}_Instance2。
根据本公开的实施例,在第一服务实例和第二服务实例中,对应不同服务的具体服务实例,例如:Service{i}instance1和Service{i}instance2、Service{i+1}_instance1和Service{i+1}_instance2...Service{n}_Instance1和Service{n}_Instance2,可以表示相同服务中的不同实例,可以等价于分布式服务中的不同分片。
根据本公开的实施例,第二搜索请求和第一搜索请求所包含的搜索请求内容相同,例如可以为相同内容的不同表述,或者内容和表述都相同。
根据本公开的实施例,第二响应结果可以为第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果,响应第二搜索请求得到的响应消息,第二响应结果可以包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据等。
在操作S230,根据第一响应结果和第二响应结果,确定第i级目标服务的服务稳定性。
根据本公开的实施例,由于在架构上,在多级服务中,对于服务有弱依赖性,例如,在第一服务序列Servicel->Service2->...->Service{i-1}->Service{i}->Service{i+1}-...->Service{n}中,如果Service{i}未能正常响应,可能会导致第一服务序列将Service{i-1}的响应结果作为最终响应结果输出,因此存在搜索请求成功率<100%的情况,Service{i-1}与Service{n}的响应结果可能会不同,从而可能会导致对相同内容搜索请求的响应结果有区别。
根据本公开的实施例,在策略上,由于服务序列中的服务可以存储在服务器中,例如redis服务器,该服务器的更新可能会导致存储在服务器中的服务序列产生变更,从而可能需要由不同的服务响应相同的搜索请求,因此可能会导致响应结果不完全相同。
根据本公开的实施例,可以根据第一响应结果和第二响应结果的内容是否相同,或者还可以根据第一响应结果和第二响应结果的内容相似度来确定第i级目标服务的服务稳定性。
根据本公开的实施例,通过将某个服务在两个相同内容的搜索请求中需要的局部结果全部共享,从而只保留了目标服务在处理结果的逻辑上的差异,实现了较为准确地分析第i级目标服务的服务稳定性的技术效果。
下面参考图3~图6,结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的发布订阅服务的示意图。
根据本公开的实施例,可以将第一服务序列中的第i级第一服务实例作为发布方,第二服务序列中的第i级第二服务实例作为订阅方,构建发布订阅服务,以便基于发布订阅服务共享第i-1级第一服务实例的响应结果。
如图3所示,发布订阅服务可以理解为一个节点请求另一个节点提供的服务,发布订阅服务可以提供如下两个RPC(Remote Procedure Call,远程过程调用):
publish(key,value)
subscribe(key,time_threshold)→value或null
其中,publish表示发布方,subscribe表示订阅方,key表示搜索请求、服务序列和服务实例的标识,value表示第i-1级第一服务实例的响应结果,time_threshold表示时间阈值。
图4示意性示出了根据本公开实施例的利用发布订阅服务进行共享的方法示意图。
如图4所示,将第一服务序列中的第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例包括:
利用发布订阅服务,通过第i级第一服务实例将第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例。
根据本公开的实施例,发布方可以在第一搜索请求流经Service{i}Instance1时,将第一搜索请求从Service{i-1}Instance1获取到的响应结果,即value,发布到发布订阅服务;并关联第一搜索请求、第一服务序列和第一服务实例的标识,即key;发布方染色内容可以记作:Service{i}publish key。
根据本公开的实施例,订阅方可以在第二搜索请求流经Service{i}Instance2时,直接从发布订阅服务订阅key所关联的value,并基于此value进行后续的处理;订阅方染色内容可以记作:Service{i}subscribe key。
根据本公开的实施例,后续的处理可以理解为由Service{i}Instance2->发布订阅服务,代替了Service{i+1}Instance2的响应结果。
根据本公开的实施例,例如,如果在订阅方发起搜索请求时,key对应的value已经发布,则订阅方返回value;否则,继续等待,直到超过time threshold,订阅方返回null。
根据本公开的实施例,时间阈值可以由本领域技术人员根据实际应用情况而灵活设置,本公开实施例不对时间阈值进行限定。
根据本公开的实施例,根据第一响应结果和第二响应结果,确定第i级目标服务的服务稳定性包括:
在第一响应结果与第二响应结果相同的情况下,确定第i级目标服务提供的服务稳定;在第一响应结果与第二响应结果不相同的情况下,确定第i级目标服务提供的服务不稳定。
根据本公开的实施例,可以通过度量文本相似度来判断第一响应结果与第二响应结果是否相同,度量文本相似度的方法可以包括:关键词匹配方法,例如N-gram相似度;余弦相似度方法,例如将文本映射到向量空间;深度学习方法,例如基于DSSM(DeepStructured Semantic Models,深度学习语义匹配模型),基于卷积神经网络的ConvNet,以及基于LSTM(Long Short-Term Memory,长短期记忆人工神经网络)等方法。
根据本公开的实施例,确定目标服务对稳定性的影响程度的方法包括:
确定第i+1级目标服务的服务稳定性;根据第i级目标服务的服务稳定性和第i+1级目标服务的服务稳定性,确定第i级目标服务对服务稳定性的影响程度。
根据本公开的实施例,第i级目标服务与第i级第一服务实例相对应;第i+1级目标服务与第i+1级第一服务实例相对应。
根据本公开的实施例,确定第i+1级目标服务的服务稳定性的方法,可以与确定第i级目标服务的服务稳定性的方法流程相同,根据响应结果的内容是否相同,或者还可以根据响应结果的内容相似度来确定第i+1级目标服务的服务稳定性。
根据本公开的实施例,可以基于追踪方案,例如分析产生差异的搜索请求的追踪数据,寻找最先引入差异的阶段;也可以基于外部控制,例如将一个服务全部的程序版本和使用到的数据,通过外部搜索和修复的方式保持一致;还可以根据第i级目标服务的结果差异率和第i+1级目标服务的结果差异率等方法,来确定第i级目标服务对服务稳定性的影响程度。
根据本公开的实施例,通过根据第i级目标服务的服务稳定性和第i+1级目标服务的服务稳定性,实现了较为准确地确定目标服务对服务稳定性的影响程度,从而分析各个目标服务对搜索结果服务稳定性的贡献率,可以快速确定影响程度最严重的目标服务,继而有针对性地对该目标服务进行优化。
根据本公开的实施例,筛选第一搜索请求和第三搜索请求的方法包括:
获取搜索请求集合,其中,搜索请求集合中包括多个搜索请求;从搜索请求集合中筛选第一预设数量的第一搜索请求和/或第二预设数量的第三搜索请求。
根据本公开的实施例,搜索请求集合中可以包括用户通过客户端实时搜索的搜索请求,也可以包括服务器中存储的历史搜索请求等。
根据本公开的实施例,搜索请求方法可以包括:GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、PATCH、CONNECT等。
根据本公开的实施例,GET方法可以指申请获取资源,而不对服务器产生任何其他影响;HEAD方法和GET方法类似,但是可以要求服务器返回头部信息,可以不需要传输任何实际内容;POST方法可以指客户端向服务器提交数据,会影响服务器,服务器可能根据收到的数据动态创建新的资源,也可能更新原有的资源;PUT方法可以指上传某个资源;DELETE方法可以指删除某个资源;TRACE方法可以要求目标服务器返回原始HTTP请求的内容,可以用来查看中间服务器对HTTP请求的影响;OPTIONS方法可以指查看服务器对某个特定URL都支持哪些请求;PATCH方法可以指对某个资源做部分修改;CONNECT方法可以用于某些代理服务器,可以把请求的连接转化为一个安全隧道。
根据本公开的实施例,对于目标服务的服务稳定性和影响程度的分析,属于在小流量实验,可以不使用全量搜索请求数据而使用部分流量,因此可以对搜索请求集合进行筛选。
根据本公开的实施例,第一预设数量可以小于或者等于搜索请求集合中所包含的搜索请求数量。
根据本公开的实施例,第一预设数量的具体数值可以由本领域技术人员根据实际应用情况而灵活设置,本公开实施例不对第一预设数量的具体数值进行限定。
根据本公开的实施例,第二预设数量可以小于或者等于搜索请求集合中所包含的搜索请求数量。
根据本公开的实施例,第二预设数量的具体数值可以由本领域技术人员根据实际应用情况而灵活设置,本公开实施例不对第二预设数量的具体数值进行限定。
根据本公开的实施例,第一预设数量和第二预设数量可以相同,也可以不同,本公开不对第一预设数量和第二预设数量是否相同作限定。
根据本公开的实施例,第三搜索请求可以为客户端向服务器发送的一个搜索请求报文,第三搜索请求可以包含请求的方法、URL、协议版本、请求头部和请求数据等。
根据本公开的实施例,第三搜索请求和第一搜索请求的搜索请求内容可以相同,也可以不同,本公开不对第三搜索请求和第一搜索请求的搜索请求内容是否相同作限定。
根据本公开的实施例,通过从搜索请求集合中筛选出第一预设数量的第一搜索请求和/或第二预设数量的第三搜索请求,实现了对全量搜索请求数据的流量筛选,使得部分流量即可以满足置信需求,同时避免了浪费资源,缓解了存储压力。
图5示意性示出了根据本公开实施例的构造第二搜索请求和第四搜索请求的方法示意图。
如图5所示,构造第二搜索请求和第四搜索请求的方法包括:
根据第一搜索请求构造第二搜索请求,以使得第二搜索请求和第一搜索请求的搜索请求内容相同,其中,第二搜索请求的数量与第一搜索请求的数量相同;根据第三搜索请求构造第四搜索请求,以使得第四搜索请求和第三搜索请求的搜索请求内容相同,其中,第四搜索请求的数量与第三搜索请求的数量相同。
根据本公开的实施例,第二搜索请求和第一搜索请求的搜索请求内容和数量均相同。
根据本公开的实施例,构造第二搜索请求的方法也可以理解为对第一搜索请求进行的复制和分裂。
根据本公开的实施例,可以利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应第一搜索请求的第一响应结果,将第一服务序列中的第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应第二搜索请求的第二响应结果。
根据本公开的实施例,第四搜索请求和第三搜索请求的搜索请求内容和数量均相同。
根据本公开的实施例,构造第四搜索请求的方法也可以理解为对第三搜索请求进行的复制和分裂。
根据本公开的实施例,可以利用第一服务序列中的第一服务实例响应第三搜索请求,输出用于最终响应第三搜索请求的第三响应结果,将第一服务序列中的第i-1级第一服务实例响应第三搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果响应第四搜索请求,输出用于最终响应第四搜索请求的第四响应结果。
根据本公开的实施例,通过根据第一搜索请求构造内容和数量均相同第二搜索请求,根据第三搜索请求构造内容和数量均相同第四搜索请求,以便于后续根据第一搜索请求和第二搜索请求确定第i级目标服务的服务稳定性,根据第三搜索请求和第四搜索请求确定第i+1级目标服务的服务稳定性。
根据本公开的实施例,确定第i+1级目标服务的服务稳定性的方法包括:
利用第一服务序列中的第一服务实例响应第三搜索请求,输出用于最终响应第三搜索请求的第三响应结果;将第一服务序列中的第i级第一服务实例响应第三搜索请求得到的响应结果,共享至第二服务序列中的第i+1级第二服务实例,以便第二服务序列从第i+1级第二服务实例开始,基于第i级第一服务实例的响应结果响应第四搜索请求,输出用于最终响应第四搜索请求的第四响应结果,其中,第三搜索请求和第四搜索请求的搜索请求内容相同;根据第三响应结果和第四响应结果,确定第i+1级目标服务的服务稳定性。
根据本公开的实施例,第三响应结果可以为第一服务序列中的第一服务实例接收并处理客户端发过来的搜索请求报文后,返回的响应消息,第三响应结果可以包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据等。
根据本公开的实施例,第四响应结果可以为第二服务序列从第i+1级第二服务实例开始,基于第i级第一服务实例的响应结果,响应第四搜索请求得到的响应消息,第四响应结果可以包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据等。
根据本公开的实施例,可以根据第三响应结果和第四响应结果的内容是否相同,或者还可以根据第三响应结果和第四响应结果的内容相似度来确定第i级目标服务的服务稳定性。
根据本公开的实施例,通过将某个服务在两个相同内容的搜索请求中需要的局部结果全部共享,从而只保留了目标服务在处理结果的逻辑上的差异,实现了较为准确地分析第i+1级目标服务的的服务稳定性的技术效果。
根据本公开的实施例,确定目标服务的结果差异率的方法包括:
根据多个第一搜索请求对中每个第一搜索请求对分别对应的第一响应结果和第二响应结果,确定第i级目标服务的结果差异率;根据多个第二搜索请求对中每个第二搜索请求对分别对应的第三响应结果和第四响应结果,确定第i+1级目标服务的结果差异率。
根据本公开的实施例,第一搜索请求对可以包括第一搜索请求和与该第一搜索请求对应的第二搜索请求。
根据本公开的实施例,确定第i级目标服务的结果差异率可以理解为衡量第一响应结果和第二响应结果的一致性,如果在多个第一搜索请求对中,每个第一搜索请求对分别对应的第一响应结果和第二响应结果不一致,可以认为目标服务的结果存在差异。
根据本公开的实施例,可以利用在相同时间段内,结果存在差异的第一搜索请求对的数量除以总的第一搜索请求对的数量,得到结果差异率。
根据本公开的实施例,第i级目标服务的结果差异率可以表示为diff_Service{i},结果差异率越大,可以表示响应结果的不一致性越大。
根据本公开的实施例,第二搜索请求对可以包括第三搜索请求和第四搜索请求。
根据本公开的实施例,确定第i+1级目标服务的结果差异率可以理解为衡量第三响应结果和第四响应结果的一致性,如果在多个第二搜索请求对中,每个第二搜索请求对分别对应的第三响应结果和第四响应结果不一致,可以认为目标服务的结果存在差异。
根据本公开的实施例,可以利用在相同时间段内,结果存在差异的第二搜索请求对的数量除以总的第二搜索请求对的数量,得到结果差异率。
根据本公开的实施例,第i+1级目标服务的结果差异率可以表示为diff_Service{i+1},结果差异率越大,可以表示响应结果的不一致性越大。
根据本公开的实施例,根据第i级目标服务的结果差异率和第i+1级目标服务的结果差异率,确定第i级目标服务对服务稳定性的影响程度。
根据本公开的实施例,通过利用发布订阅服务使局部结果共享,例如在多级服务a->b->c中,总的结果差异率为X%,如果b->c的结果差异率率为Y%,则X%-Y%可以表示消除了服务b和服务c引入的结果差异率,由服务a引入的结果差异率。
根据本公开的实施例,第i级目标服务对服务稳定性的影响程度,也可以理解为第i级目标服务对最终响应结果产生差异的贡献度,可以表示为:diff_Service{i}-diff_Service{i+1}。
根据本公开的实施例,通过根据第一响应结果和第二响应结果,确定第i级目标服务的结果差异率,根据第三响应结果和第四响应结果,确定第i+1级目标服务的结果差异率,再根据第i级目标服务的结果差异率和所述第i+1级目标服务的结果差异率,确定第i级目标服务对服务稳定性的影响程度,可以准确地分析各个服务对响应结果差异率的贡献度,便于确定对服务稳定性影响程度最严重的目标服务,从而有针对性地进行差异率的优化。
图6示意性示出了根据本公开实施例的可以应用服务稳定性确定方法的整体模块构成图。
如图6所示,可以应用服务稳定性确定方法的整体模块包括构建模块和搜索系统。
根据本公开的实施例,构建模块可以构建发布订阅服务,该发布订阅服务可以作为前置依赖服务连接到搜索系统中的各模块,可以由任一模块发起发布或者订阅指令。
根据本公开的实施例,搜索系统包括构造模块、第一服务序列、第二服务序列、第一输出模块、第二输出模块、第三输出模块和第四输出模块。
根据本公开的实施例,构造模块可以与筛选模块和第三确定模块进行联动。
根据本公开的实施例,在获取到每一个搜索请求集合后,构造模块请求筛选模块来决定该流量是否要由第三确定模块进行结果差异率计算。
根据本公开的实施例,筛选模块可以根据人工配置,决定对多大比例的流量进行筛选,可以筛选出第一搜索请求和第三搜索请求。
根据本公开的实施例,构造模块可以根据第一搜索请求构造第二搜索请求,根据第三搜索请求构造第四搜索请求。
根据本公开的实施例,第一输出模块可以输出第一响应结果,该第一响应结果由第一搜索请求经过第一服务序列中的第一服务实例得到。
根据本公开的实施例,第二输出模块可以输出第二响应结果,该第二响应结果由第二搜索请求经过第二服务序列中的第二服务实例得到。
根据本公开的实施例,第三输出模块可以输出第三响应结果,该第三响应结果由第三搜索请求经过第一服务序列中的第一服务实例得到。
根据本公开的实施例,第四输出模块可以输出第四响应结果,该第四响应结果由第四搜索请求经过第二服务序列中的第二服务实例得到。
根据本公开的实施例,构造模块可以对第一响应结果和第二响应结果、第三响应结果和第四响应结果进行对比,检验是否一致,并将检验结论记录到日志。
根据本公开的实施例,构造模块还可以将第一响应结果和第二响应结果、第三响应结果和第四响应结果分别进行合并,返回给用户。
根据本公开的实施例,第三确定模块收集构造模块日志中的检验结论,计算筛选的搜索请求的结果差异率。
图7示意性示出了根据本公开的实施例的服务稳定性确定装置的框图。
如图7所示,服务稳定性确定装置700包括第一输出模块710、第二输出模块720和第一确定模块730。
第一输出模块710,用于利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应第一搜索请求的第一响应结果,其中,第一服务序列中包括多级目标服务分别对应的第一服务实例。
第二输出模块720,用于将第一服务序列中的第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便第二服务序列从第i级第二服务实例开始,基于第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应第二搜索请求的第二响应结果,其中,第二服务序列中包括多级目标服务分别对应的第二服务实例,第一搜索请求和第二搜索请求的搜索请求内容相同,i为大于等于2的整数。
第一确定模块730,用于根据第一响应结果和第二响应结果,确定第i级目标服务的服务稳定性。
根据本公开的实施例,通过将某个服务在两个相同内容的搜索请求中需要的局部结果全部共享,从而只保留了目标服务在处理结果的逻辑上的差异,实现了较为准确地分析第i级目标服务的的服务稳定性的技术效果。
根据本公开的实施例,服务稳定性确定装置700还包括构建模块。
构建模块,用于将第一服务序列中的第i级第一服务实例作为发布方,第二服务序列中的第i级第二服务实例作为订阅方,构建发布订阅服务,以便基于发布订阅服务共享第i-1级第一服务实例的响应结果。
根据本公开的实施例,第二输出模块720包括共享单元。
共享单元,用于利用发布订阅服务,通过第i级第一服务实例将第i-1级第一服务实例响应第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例。
根据本公开的实施例,第一确定模块730包括第一确定单元和第二确定单元。
第一确定单元,用于在第一响应结果与第二响应结果相同的情况下,确定第i级目标服务提供的服务稳定。
第二确定单元,用于在第一响应结果与第二响应结果不相同的情况下,确定第i级目标服务提供的服务不稳定。
根据本公开的实施例,服务稳定性确定装置700还包括第二确定模块和第三确定模块。
第二确定模块,用于确定第i+1级目标服务的服务稳定性。
第三确定模块,用于根据第i级目标服务的服务稳定性和第i+1级目标服务的服务稳定性,确定第i级目标服务对服务稳定性的影响程度。
根据本公开的实施例,其中,第i级目标服务与第i级第一服务实例相对应;第i+1级目标服务与第i+1级第一服务实例相对应。
根据本公开的实施例,服务稳定性确定装置700还包括获取模块和筛选模块。
获取模块,用于获取搜索请求集合,其中,搜索请求集合中包括多个搜索请求。
筛选模块,用于从搜索请求集合中筛选第一预设数量的第一搜索请求和/或第二预设数量的第三搜索请求。
根据本公开的实施例,服务稳定性确定装置700还包括第一构造模块和第二构造模块。
第一构造模块,用于根据第一搜索请求构造第二搜索请求,以使得第二搜索请求和第一搜索请求的搜索请求内容相同,其中,第二搜索请求的数量与第一搜索请求的数量相同。
第二构造模块,用于根据第三搜索请求构造第四搜索请求,以使得第四搜索请求和第三搜索请求的搜索请求内容相同,其中,第四搜索请求的数量与第三搜索请求的数量相同。
根据本公开的实施例,服务稳定性确定装置700还包括第三输出模块、第四输出模块。
第三输出模块,用于利用第一服务序列中的第一服务实例响应第三搜索请求,输出用于最终响应第三搜索请求的第三响应结果。
第四输出模块,用于将第一服务序列中的第i级第一服务实例响应第三搜索请求得到的响应结果,共享至第二服务序列中的第i+1级第二服务实例,以便第二服务序列从第i+1级第二服务实例开始,基于第i级第一服务实例的响应结果响应第四搜索请求,输出用于最终响应第四搜索请求的第四响应结果,其中,第三搜索请求和第四搜索请求的搜索请求内容相同。
其中,第二确定模块还用于根据第三响应结果和第四响应结果,确定第i+1级目标服务的服务稳定性。
根据本公开的实施例,第一搜索请求与第二搜索请求为第一搜索请求对中的两个搜索请求,第三搜索请求与第四搜索请求为第二搜索请求对中的两个搜索请求。
其中,第一确定模块包括第三确定单元。
第三确定单元,用于根据多个第一搜索请求对中每个第一搜索请求对分别对应的第一响应结果和第二响应结果,确定第i级目标服务的结果差异率。
其中,第二确定模块包括第四确定单元。
第四确定单元,用于根据多个第二搜索请求对中每个第二搜索请求对分别对应的第三响应结果和第四响应结果,确定第i+1级目标服务的结果差异率。
根据本公开的实施例,第三确定模块包括第五确定单元。
第五确定单元,用于根据第i级目标服务的结果差异率和第i+1级目标服务的结果差异率,确定第i级目标服务对服务稳定性的影响程度。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一输出模块710、第二输出模块720和第一确定模块730中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一输出模块710、第二输出模块720和第一确定模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一输出模块710、第二输出模块720和第一确定模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中服务稳定性确定装置部分与本公开的实施例中服务稳定性确定方法部分是相对应的,服务稳定性确定装置部分的描述具体参考服务稳定性确定方法部分,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如服务稳定性确定方法。例如,在一些实施例中,服务稳定性确定方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的服务稳定性确定方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行服务稳定性确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (25)

1.一种服务稳定性确定方法,包括:
利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应所述第一搜索请求的第一响应结果,其中,所述第一服务序列中包括多级目标服务分别对应的第一服务实例;
将所述第一服务序列中的第i-1级第一服务实例响应所述第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便所述第二服务序列从所述第i级第二服务实例开始,基于所述第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应所述第二搜索请求的第二响应结果,其中,所述第二服务序列中包括多级所述目标服务分别对应的第二服务实例,所述第一搜索请求和所述第二搜索请求的搜索请求内容相同,i为大于等于2的整数;
根据所述第一响应结果和所述第二响应结果,确定第i级目标服务的服务稳定性。
2.根据权利要求1所述的方法,还包括:
确定第i+1级目标服务的服务稳定性;以及
根据所述第i级目标服务的服务稳定性和所述第i+1级目标服务的服务稳定性,确定所述第i级目标服务对服务稳定性的影响程度。
3.根据权利要求2所述的方法,还包括:
利用所述第一服务序列中的第一服务实例响应第三搜索请求,输出用于最终响应所述第三搜索请求的第三响应结果;
将所述第一服务序列中的第i级第一服务实例响应所述第三搜索请求得到的响应结果,共享至第二服务序列中的第i+1级第二服务实例,以便所述第二服务序列从所述第i+1级第二服务实例开始,基于所述第i级第一服务实例的响应结果响应第四搜索请求,输出用于最终响应所述第四搜索请求的第四响应结果,其中,所述第三搜索请求和所述第四搜索请求的搜索请求内容相同;
其中,所述确定第i+1级目标服务的服务稳定性包括:
根据所述第三响应结果和所述第四响应结果,确定第i+1级目标服务的服务稳定性。
4.根据权利要求3所述的方法,其中,所述第一搜索请求与所述第二搜索请求为第一搜索请求对中的两个搜索请求,所述第三搜索请求与所述第四搜索请求为第二搜索请求对中的两个搜索请求;
其中,根据所述第一响应结果和所述第二响应结果,确定第i级目标服务的服务稳定性包括:
根据多个所述第一搜索请求对中每个所述第一搜索请求对分别对应的所述第一响应结果和所述第二响应结果,确定所述第i级目标服务的结果差异率;
其中,根据所述第三响应结果和所述第四响应结果,确定第i+1级目标服务的服务稳定性包括:
根据多个所述第二搜索请求对中每个所述第二搜索请求对分别对应的所述第三响应结果和所述第四响应结果,确定所述第i+1级目标服务的结果差异率。
5.根据权利要求4所述的方法,其中,根据所述第i级目标服务的服务稳定性和所述第i+1级目标服务的服务稳定性,确定所述第i级目标服务对服务稳定性的影响程度包括:
根据所述第i级目标服务的结果差异率和所述第i+1级目标服务的结果差异率,确定所述第i级目标服务对服务稳定性的影响程度。
6.根据权利要求2所述的方法,其中,所述第i级目标服务与第i级第一服务实例相对应;所述第i+1级目标服务与第i+1级第一服务实例相对应。
7.根据权利要求3~6中任一项所述的方法,还包括:
获取搜索请求集合,其中,所述搜索请求集合中包括多个搜索请求;
从所述搜索请求集合中筛选第一预设数量的所述第一搜索请求和/或第二预设数量的所述第三搜索请求。
8.根据权利要求1或3所述的方法,还包括:
根据所述第一搜索请求构造所述第二搜索请求,以使得所述第二搜索请求和所述第一搜索请求的搜索请求内容相同,其中,所述第二搜索请求的数量与所述第一搜索请求的数量相同;
根据所述第三搜索请求构造所述第四搜索请求,以使得所述第四搜索请求和所述第三搜索请求的搜索请求内容相同,其中,所述第四搜索请求的数量与所述第三搜索请求的数量相同。
9.根据权利要求1所述的方法,还包括:
将所述第一服务序列中的第i级第一服务实例作为发布方,所述第二服务序列中的第i级第二服务实例作为订阅方,构建发布订阅服务,以便基于所述发布订阅服务共享所述第i-1级第一服务实例的响应结果。
10.根据权利要求9所述的方法,其中,将所述第一服务序列中的第i-1级第一服务实例响应所述第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例包括:
利用所述发布订阅服务,通过所述第i级第一服务实例将所述第i-1级第一服务实例响应所述第一搜索请求得到的响应结果,共享至所述第二服务序列中的第i级第二服务实例。
11.根据权利要求1所述的方法,其中,根据所述第一响应结果和所述第二响应结果,确定第i级目标服务的服务稳定性包括:
在所述第一响应结果与所述第二响应结果相同的情况下,确定所述第i级目标服务提供的服务稳定;
在所述第一响应结果与所述第二响应结果不相同的情况下,确定所述第i级目标服务提供的服务不稳定。
12.一种服务稳定性确定装置,包括:
第一输出模块,用于利用第一服务序列中的第一服务实例响应第一搜索请求,输出用于最终响应所述第一搜索请求的第一响应结果,其中,所述第一服务序列中包括多级目标服务分别对应的第一服务实例;
第二输出模块,用于将所述第一服务序列中的第i-1级第一服务实例响应所述第一搜索请求得到的响应结果,共享至第二服务序列中的第i级第二服务实例,以便所述第二服务序列从所述第i级第二服务实例开始,基于所述第i-1级第一服务实例的响应结果响应第二搜索请求,输出用于最终响应所述第二搜索请求的第二响应结果,其中,所述第二服务序列中包括多级所述目标服务分别对应的第二服务实例,所述第一搜索请求和所述第二搜索请求的搜索请求内容相同,i为大于等于2的整数;
第一确定模块,用于根据所述第一响应结果和所述第二响应结果,确定第i级目标服务的服务稳定性。
13.根据权利要求12所述的装置,还包括:
第二确定模块,用于确定第i+1级目标服务的服务稳定性;以及
第三确定模块,用于根据所述第i级目标服务的服务稳定性和所述第i+1级目标服务的服务稳定性,确定所述第i级目标服务对服务稳定性的影响程度。
14.根据权利要求13所述的装置,还包括:
第三输出模块,用于利用所述第一服务序列中的第一服务实例响应第三搜索请求,输出用于最终响应所述第三搜索请求的第三响应结果,
第四输出模块,用于将所述第一服务序列中的第i级第一服务实例响应所述第三搜索请求得到的响应结果,共享至第二服务序列中的第i+1级第二服务实例,以便所述第二服务序列从所述第i+1级第二服务实例开始,基于所述第i级第一服务实例的响应结果响应第四搜索请求,输出用于最终响应所述第四搜索请求的第四响应结果,其中,所述第三搜索请求和所述第四搜索请求的搜索请求内容相同;
其中,第二确定模块还用于根据所述第三响应结果和所述第四响应结果,确定第i+1级目标服务的服务稳定性。
15.根据权利要求14所述的装置,其中,所述第一搜索请求与所述第二搜索请求为第一搜索请求对中的两个搜索请求,所述第三搜索请求与所述第四搜索请求为第二搜索请求对中的两个搜索请求;
其中,第一确定模块包括:
第三确定单元,用于根据多个所述第一搜索请求对中每个所述第一搜索请求对分别对应的所述第一响应结果和所述第二响应结果,确定所述第i级目标服务的结果差异率;
其中,第二确定模块包括:
第四确定单元,用于根据多个所述第二搜索请求对中每个所述第二搜索请求对分别对应的所述第三响应结果和所述第四响应结果,确定所述第i+1级目标服务的结果差异率。
16.根据权利要求15所述的装置,其中,第三确定模块包括:
第五确定单元,用于根据所述第i级目标服务的结果差异率和所述第i+1级目标服务的结果差异率,确定所述第i级目标服务对服务稳定性的影响程度。
17.根据权利要求13所述的装置,其中,所述第i级目标服务与第i级第一服务实例相对应;所述第i+1级目标服务与第i+1级第一服务实例相对应。
18.根据权利要求14~17中任一项所述的装置,还包括:
获取模块,用于获取搜索请求集合,其中,所述搜索请求集合中包括多个搜索请求;
筛选模块,用于从所述搜索请求集合中筛选第一预设数量的所述第一搜索请求和/或第二预设数量的所述第三搜索请求。
19.根据权利要求12或14所述的装置,还包括:
第一构造模块,用于根据所述第一搜索请求构造所述第二搜索请求,以使得所述第二搜索请求和所述第一搜索请求的搜索请求内容相同,其中,所述第二搜索请求的数量与所述第一搜索请求的数量相同;
第二构造模块,用于根据所述第三搜索请求构造所述第四搜索请求,以使得所述第四搜索请求和所述第三搜索请求的搜索请求内容相同,其中,所述第四搜索请求的数量与所述第三搜索请求的数量相同。
20.根据权利要求12所述的装置,还包括:
构建模块,用于将所述第一服务序列中的第i级第一服务实例作为发布方,所述第二服务序列中的第i级第二服务实例作为订阅方,构建发布订阅服务,以便基于所述发布订阅服务共享所述第i-1级第一服务实例的响应结果。
21.根据权利要求20所述的装置,其中,第二输出模块包括:
共享单元,用于利用所述发布订阅服务,通过所述第i级第一服务实例将所述第i-1级第一服务实例响应所述第一搜索请求得到的响应结果,共享至所述第二服务序列中的第i级第二服务实例。
22.根据权利要求12所述的装置,其中,第一确定模块包括:
第一确定单元,用于在所述第一响应结果与所述第二响应结果相同的情况下,确定所述第i级目标服务提供的服务稳定;
第二确定单元,用于在所述第一响应结果与所述第二响应结果不相同的情况下,确定所述第i级目标服务提供的服务不稳定。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的方法。
25.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现根据权利要求1-11中任一项所述的方法。
CN202111456966.2A 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质 Active CN114139039B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210855728.7A CN114996557B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质
CN202111456966.2A CN114139039B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111456966.2A CN114139039B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210855728.7A Division CN114996557B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN114139039A true CN114139039A (zh) 2022-03-04
CN114139039B CN114139039B (zh) 2022-08-09

Family

ID=80386657

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210855728.7A Active CN114996557B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质
CN202111456966.2A Active CN114139039B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210855728.7A Active CN114996557B (zh) 2021-11-30 2021-11-30 服务稳定性确定方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (2) CN114996557B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115201679A (zh) * 2022-06-27 2022-10-18 重庆理工大学 一种计及不一致性的储能电池系统状态估算方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078697A (zh) * 2012-12-11 2013-05-01 中国船舶重工集团公司第七一九研究所 一种分布式时钟同步方法
CN105474166A (zh) * 2013-03-15 2016-04-06 先进元素科技公司 用于有目的计算的方法和系统
CN108733707A (zh) * 2017-04-20 2018-11-02 腾讯科技(深圳)有限公司 一种确定搜索功能稳定性及装置
CN108932248A (zh) * 2017-05-24 2018-12-04 苏宁云商集团股份有限公司 一种搜索实现方法及系统
CN111680210A (zh) * 2020-05-26 2020-09-18 北京三快在线科技有限公司 信息搜索方法、装置、搜索网关及存储介质
CN111897604A (zh) * 2020-07-30 2020-11-06 北京百度网讯科技有限公司 服务调用的调用数据处理方法及装置
CN113312037A (zh) * 2021-06-15 2021-08-27 北京百度网讯科技有限公司 应用于微服务的数据处理方法、装置、设备和存储介质
EP3886399A1 (en) * 2019-01-18 2021-09-29 Huawei Technologies Co., Ltd. Method for invoking server and proxy server

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100036840A1 (en) * 2005-09-09 2010-02-11 Pitts William M Presentation of Search Results
CN110968723B (zh) * 2018-09-29 2023-05-12 深圳云天励飞技术有限公司 一种图像特征值的搜索方法、装置及电子设备
CN111316303B (zh) * 2019-07-02 2023-11-10 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN111211991B (zh) * 2019-12-31 2022-06-28 联想(北京)有限公司 一种资产处理方法、系统及终端设备
CN111464612B (zh) * 2020-03-30 2022-05-03 中科九度(北京)空间信息技术有限责任公司 一种恶劣环境下提供稳定计算服务的方法
CN112256417B (zh) * 2020-10-23 2024-03-29 上海豹云网络信息服务有限公司 一种数据请求处理方法、装置及计算机可读存储介质
CN112579897B (zh) * 2020-12-16 2023-07-28 北京百度网讯科技有限公司 信息搜索方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078697A (zh) * 2012-12-11 2013-05-01 中国船舶重工集团公司第七一九研究所 一种分布式时钟同步方法
CN105474166A (zh) * 2013-03-15 2016-04-06 先进元素科技公司 用于有目的计算的方法和系统
CN108733707A (zh) * 2017-04-20 2018-11-02 腾讯科技(深圳)有限公司 一种确定搜索功能稳定性及装置
CN108932248A (zh) * 2017-05-24 2018-12-04 苏宁云商集团股份有限公司 一种搜索实现方法及系统
EP3886399A1 (en) * 2019-01-18 2021-09-29 Huawei Technologies Co., Ltd. Method for invoking server and proxy server
CN111680210A (zh) * 2020-05-26 2020-09-18 北京三快在线科技有限公司 信息搜索方法、装置、搜索网关及存储介质
CN111897604A (zh) * 2020-07-30 2020-11-06 北京百度网讯科技有限公司 服务调用的调用数据处理方法及装置
CN113312037A (zh) * 2021-06-15 2021-08-27 北京百度网讯科技有限公司 应用于微服务的数据处理方法、装置、设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LIU MENGXU: "Practical Application of Improving the System Reliability and Stability via Microservices Architecture", 《2021 7TH INTERNATIONAL SYMPOSIUM ON SYSTEM AND SOFTWARE RELIABILITY (ISSSR)》 *
冯志勇 等: "微服务技术发展的现状与展望", 《计算机研究与发展》 *
刘嘉裕: "基于分布式微服务全链路实时监控系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115201679A (zh) * 2022-06-27 2022-10-18 重庆理工大学 一种计及不一致性的储能电池系统状态估算方法
CN115201679B (zh) * 2022-06-27 2024-09-17 重庆理工大学 一种计及不一致性的储能电池系统状态估算方法

Also Published As

Publication number Publication date
CN114139039B (zh) 2022-08-09
CN114996557A (zh) 2022-09-02
CN114996557B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN114363019B (zh) 钓鱼网站检测模型的训练方法、装置、设备及存储介质
JP2023036681A (ja) タスク処理方法、処理装置、電子機器、記憶媒体及びコンピュータプログラム
CN116560661A (zh) 代码优化方法、装置、设备及存储介质
CN114139039B (zh) 服务稳定性确定方法、装置、设备以及存储介质
CN113220710B (zh) 数据查询方法、装置、电子设备以及存储介质
CN113239054A (zh) 信息生成方法、相关装置及计算机程序产品
CN110728118B (zh) 跨数据平台的数据处理方法、装置、设备及存储介质
CN114995719B (zh) 列表渲染方法、装置、设备以及存储介质
CN113590447B (zh) 埋点处理方法和装置
CN112052152A (zh) 一种模拟测试的方法和装置
CN113722593B (zh) 事件数据处理方法、装置、电子设备和介质
CN113656689B (zh) 模型生成方法和网络信息的推送方法
CN112925623B (zh) 任务处理方法、装置、电子设备和介质
CN113297087A (zh) 测试方法和装置
CN113239296B (zh) 小程序的展示方法、装置、设备和介质
CN115563183B (zh) 查询方法、装置及程序产品
US11983093B2 (en) Tracking status of managed time series processing tasks
CN114969059B (zh) 生成订单信息的方法、装置、电子设备及存储介质
CN112818197B (zh) 搜索方法、装置、电子设备以及存储介质
US11797388B1 (en) Systems and methods for lossless network restoration and syncing
CN113760886B (zh) 提供数据服务的方法、装置、设备和计算机可读介质
CN116226148A (zh) 一种信息更新方法、装置、设备及存储介质
CN115221112A (zh) 一种文档界面生成的方法及相关设备
CN116360892A (zh) 一种分布式业务系统的功能扩展方法、装置、设备及介质
CN116010744A (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