CN117354389A - 数据上报方法、装置、计算机设备和存储介质 - Google Patents
数据上报方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117354389A CN117354389A CN202311295595.3A CN202311295595A CN117354389A CN 117354389 A CN117354389 A CN 117354389A CN 202311295595 A CN202311295595 A CN 202311295595A CN 117354389 A CN117354389 A CN 117354389A
- Authority
- CN
- China
- Prior art keywords
- service node
- identification information
- group identification
- request
- hit
- 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 141
- 230000004044 response Effects 0.000 claims abstract description 443
- 238000004043 dyeing Methods 0.000 claims abstract description 67
- 238000002474 experimental method Methods 0.000 claims description 260
- 238000012545 processing Methods 0.000 claims description 67
- 238000010200 validation analysis Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 22
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000010186 staining Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种数据上报方法、装置、计算机设备和存储介质。所述方法包括:获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;将所述已处理响应报文上报至所述上一层服务节点,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文。本公开实施例提高了命中实验组标识信息的真实性,从而利用命中实验组标识信息进行分析的结果也更加准确可靠。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种数据上报方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
产品版本在更新的过程中,需要对更新的产品版本进行测试,以发现新版本可能存在的问题。在测试过程中,为了进行实验数据分析,常对实验组和对照组的用户请求进行染色(标记)处理,统计染色后的请求在各实验组的命中情况等指标。
相关技术中,对用户请求分流时,对用户请求进行染色,配置实验组标识,获取用户的运行数据作为实验组的一个实验结果。然而,有些实验的实验策略会对请求内容做一些筛选,按照上述相关技术,一些未满足实验策略生效条件的请求的实验组标识也被认作命中结果,稀释实验指标,导致实验不准确。
发明内容
基于此,有必要针对上述技术问题,提供一种提高命中实验组标识信息的真实性的数据上报方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种数据上报方法,所述方法包括:
一种数据上报方法,应用于请求响应链路的服务节点,其中,所述请求响应链路包括多个服务节点,多个所述服务节点依次对请求进行处理,所述方法包括:
获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;
将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
第二方面,本申请提供了一种数据上报方法,应用于请求响应链路的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,所述方法包括:
获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文;
基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
第三方面,本申请提供了一种数据上报装置,应用于请求响应链路的服务节点,其中,所述请求响应链路包括多个服务节点,多个所述服务节点依次对请求进行处理,所述装置包括:
第一获取模块,用于获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第一确定模块,用于在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;
上报模块,用于将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
在其中一个实施例中,所述第一确定模块,包括:
第一确定子模块,用于从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
写入子模块,用于将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
在其中一个实施例中,所述预设字段的数据结构包括键值对列表结构,所述写入子模块包括:
第一写入单元,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
第二写入单元,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
在其中一个实施例中,所述第一确定模块,包括:
第一获取子模块,用于获取所述当前服务节点的下一层服务节点上报的已处理响应报文;
第一合并子模块,用于合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息;
写入子模块,用于将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文。
在其中一个实施例中,所述合并子模块,包括:
查找单元,用于从所述下一层服务节点对应的已处理响应报文中查找与所述当前服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除单元,用于删除所述下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重的已处理响应报文;
第一合并单元,用于合并所述去重后已处理响应报文中的命中实验组标识信息以及所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息。
在其中一个实施例中,所述请求包括查询请求,所述第一确定模块包括:
第一获取单元,用于获取所述当前服务节点对应的实验策略对应的预设查询字段;
确定单元,用于在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
在其中一个实施例中,所述第一确定模块包括:
第二获取子模块,用于从多个实验组标识信息中获取与所述当前服务节点的实验策略相对应的实验组标识信息;
第二确定子模块,用于确定所述当前服务节点对应的命中实验组标识信息为所述相对应的实验组标识信息。
在其中一个实施例中,所述装置还包括:
第一处理模块,用于在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息确定所述当前服务节点对应的当前实验策略,按照所述当前实验策略对所述请求进行处理;
第二处理模块,用于在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理。
第四方面,本申请提供了一种数据上报装置,应用于请求响应链路的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,所述装置包括:
第二获取模块,用于获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第二确定模块,用于在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文;
生成模块,用于基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
在其中一个实施例中,第二确定模块,包括:
写入子模块,用于从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
在其中一个实施例中,所述预设字段的数据结构包括键值对列表结构,所述写入子模块包括:
第一写入单元,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
第二写入单元,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
在其中一个实施例中,所述生成模块包括:
第三获取子模块,用于在所述起始服务节点包括至少一个下一层服务节点的情况下,分别获取每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息;
第二合并子模块,用于合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,得到目标已处理响应报文。
在其中一个实施例中,所述第三获取子模块包括:
第二获取单元,用于所述下一层服务节点获取再下一层服务节点的已处理响应报文;其中,所述再下一层服务节点为所述下一层服务节点的下一层服务节点;
第二合并单元,用于合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文。
在其中一个实施例中,所述第二合并单元,包括:
查找子单元,用于所述下一层服务节点从所述再下一层服务节点对应的已处理响应报文中查找与所述下一层服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除子单元,用于删除所述再下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重后的已处理响应报文;
合并子单元,用于将所述去重后的已处理响应报文中的命中实验组标识信息合并至所述下一层服务节点对应的响应报文中,得到所述下一层服务节点对应的已处理响应报文。
在其中一个实施例中,所述请求包括查询请求,在所述请求满足所述实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述下一层服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
所述第二确定模块包括:
第一获取单元,用于获取所述当前服务节点对应的实验策略对应的预设查询字段;
确定单元,用于在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
第五方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤或者实现上述的方法的步骤。
第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤或者实现上述的方法的步骤。
第七方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤或者实现上述的方法的步骤。
上述数据上报方法,通过获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息,在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,并将所述命中实验组标识信息写入响应报文的预设字段。其中,满足实验策略生效条件,保障了请求能够按照当前服务节点的实验策略执行,在实际执行的情况下,该实验策略对应的实验组标识信息才被记录和上报。本公开实施例可以逐一对实验组标识信息对应的实验策略进行判断,在实验组标识信息对应的实验策略被真正执行的情况下,才进行上报,因此,本公开实施例提高了命中实验组标识信息的真实性,从而利用命中实验组标识信息进行分析的结果也更加准确可靠。进一步地,本公开实施例通过将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,这种层层上报的方式上报命中实验组标识信息,保障了每一层的命中实验组标识信息都被记录到,提高了命中实验组标识信息上报的全面性。
附图说明
图1为一个实施例中一种数据上报方法的应用环境图;
图2为一个实施例中数据上报方法步骤的流程示意图;
图3为一个实施例中数据上报方法中服务节点的架构图;
图4为另一个实施例中数据上报方法中服务节点的架构图;
图5为另一个实施例中数据上报方法步骤的流程示意图;
图6为又一个实施例中数据上报方法中服务节点的架构图;
图7为一个实施例中数据上报装置的结构框图;
图8为另一个实施例中数据上报装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据上报方法,可以应用于如图1所示的应用环境中。其中,终端100通过网络与服务器200进行通信。例如,终端100向服务器200发送请求,服务器200根据所述请求,返回对应的响应数据。其中,终端100可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。服务器200可以用独立的服务器或者是多个服务器组成的服务器集群来实现。当服务器200采用独立的服务器时,各服务节点可以集成在所述独立的服务中;当服务器200采用多个服务器组成的服务器集群时,每个服务器可以对应一个或几个服务节点。其中,各服务节点顺序排列,服务节点的顺序与请求响应链路处理步骤相对应。
具体地,终端向服务器发送请求,服务器接收到所述请求,所述请求进入请求响应链路。请求响应链路中的起始服务节点获取所述请求的实验染色信息,将所述请求以及实验染色信息向所述起始服务节点的下游各服务节点依次传输。对于下游各服务节点中的其中一个服务节点,例如图1中的服务节点D,服务节点D获取上一层服务节点传输的请求及所述请求对应的实验染色信息,对所述请求是否满足服务节点D对应的实验策略生效条件进行判断。在所述请求满足服务节点D对应的实验策略生效条件的情况下,基于实验染色信息中的实验组标识信息,确定服务节点D对应的命中实验组标识信息。将所述命中实验组标识信息写入响应报文的预设字段。其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应。
具体地,服务节点D还将所述请求及实验染色信息向服务节点D的下游服务节点传输,各下游服务节点按照与服务节点D相近似的方式,在请求满足下游服务节点对应的实验策略生效条件的情况下,基于实验染色信息中的实验组标识信息,确定下游服务节点对应的命中实验组标识信息。服务节点D根据本服务节点的响应报文以及下一层服务节点传输的已处理响应报文,生成服务节点D对应的已处理响应报文。服务节点D将本服务节点对应的已处理响应报文向上一层服务节点传输,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
需要说明的是,请求响应链路中服务节点的种类、数量和顺序与每个请求的处理步骤有关,因此,图1中服务节点D与服务节点C之间可能包括一个或多个服务节点,服务节点D与终止服务节点之间也可能包括一个或多个服务节点。
在一个实施例中,如图2所示,提供了一种数据上报方法,以该方法应用于图1中请求响应链路的服务节点为例进行说明,包括以下步骤:
步骤S201,获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应。
其中,请求可以包括终端向服务器发送的请求,例如数据访问的请求、修改操作的请求等。请求响应链路可以包括在接收到请求以后对上述请求进行处理的步骤,每个步骤可以对应请求响应链路中的一个服务节点,请求处理顺序可以通过服务节点的顺序进行表征。在一示例性实施例中,参考图3所示,请求响应链路中包括多个服务节点,当接收到请求后,各服务节点依次对请求进行处理,服务节点B对请求进行处理时,需要用到服务节点C的处理结果,则请求进入服务节点C,服务节点C对请求进行处理时,需要用到服务节点D的处理结果,则请求进入服务节点D…类似地,一直到达服务节点E。服务节点E完成处理后,将处理结果逐层返回。在一示例性实施例中,每层服务节点的数量不受限制,根据实际应用场景的需求设置。参考图4所述,服务节点B对请求进行处理时,需要用到服务节点C1和服务节点C2的处理结果,则请求分别进入服务节点C1和服务节点C2。服务节点C1对请求进行处理时需要用到服务节点D1和服务节点D2的处理结果,则请求进入服务节点D1和服务节点D2。因此,服务节点B的下一层服务节点的数量不受限制,根据实际应用场景,可以是一个或两个及以上。本公开实施例中,当前服务节点可以包括请求响应链路的任一个服务节点。
在具体实现中,例如:请求包括检索请求,服务节点可以包括请求接入的服务节点、精排序服务节点、粗排序服务节点、索引召回服务节点等。
本公开实施例中,实验染色包括:请求按照实验流量分配方式落到流量分桶为实验组或对照组的流量分桶,则表示对该请求进行了实验染色。请求经实验染色后,具有相对应的实验染色信息。其中,实验染色信息包括与实验相关的信息,例如可以是实验参数、实验参数值、实验组标识信息等。其中,实验组标识信息能够唯一确认该实验组的信息,可选地,可以采用数字、字符或其组合来表示每个实验组标识信息。在一示例性实施例中,也可以采用编码的方式确定实验组标识信息,例如基于请求的标识信息或请求的用户地址,利用哈希算法,对请求进行流量分配,得到请求的实验组标识信息。一般而言,被划分入实验组的请求执行实验组的实验策略,被划分为对照组的请求执行对照组的请求处理策略,其中,对照组的请求处理策略与大盘流量相同。本公开实施例中,不同的实验组标识信息对应不同的实验策略,即实验组标识信息与实验策略相对应。
在具体实现中,例如,对请求进行处理的一个服务节点包括意图识别,大盘流量的请求处理策略包括采用传统的机器学习的方法构建意图识别模型,实验组标识信息对应的实验策略包括采用深度学习的方法构建意图识别模型,不同的处理策略可以体现在使用不同的意图识别模型进行处理。
步骤S203,在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文。
其中,所述实验策略生效条件用于限定请求是否可以按照对应的实验策略进行处理。当满足实验策略生效条件时,按照实验策略对请求进行处理。例如,实验策略生效条件设置为对有新闻性需求的请求进行实验策略的处理。具体而言,对请求进行解析,确认请求是否具有新闻性需求,例如可以通过语义识别模型或检索字段进行确定,在确定请求满足新闻性需求时,按照实验策略对该请求进行处理。其中,命中实验组标识信息用于表征实验组标识信息对应的实验策略被允许执行。
其中,响应报文可以包括实现服务节点之间进行通信的报文,可选的,响应报文可以采用可扩展字段的报文协议,可扩展字段的报文协议是一种允许在协议中动态添加新字段的协议。例如JSON(JavaScript Object Notation)协议,Protobuf(Protocol Buffers)协议,远程过程调用(RPC)协议,其中,JSON协议可以使用对象的键值对来表示字段,可以动态添加新的键值对来扩展协议;在Protobuf协议中,可以使用消息的字段来表示字段,可以动态添加新的字段来扩展协议。在RPC协议中,可以使用结构体的字段来表示字段,动态添加新的字段来扩展协议。
在一个实施例中,服务节点对应的实验策略的数量可以包括一个或多个,例如,服务节点A对应实验策略1、实验策略2、实验策略3。在一示例性实施例中,多个实验策略可以共用相同的实验策略生效条件,比如在上例中,当实验策略生效条件满足时,可以分别执行实验策略1、实验策略2、实验策略3。
在一个实施例中,基于实验染色信息中的实验组标识信息,确定当前服务节点对应的命中实验组标识信息。例如,当前服务节点根据当前服务节点的实验策略,以及实验组标识信息以及实验策略的对应关系,确定候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验标识信息的情况下,确定命中实验组标识信息为所述候选命中实验组标识信息。又例如,当前服务节点包含本服务节点的实验策略对应的实验组标识信息,确定为候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验组标识信息的情况下,确定命中实验组标识信息为所述候选命中实验标识信息。再例如,当前服务节点根据实验组标识信息以及实验策略的对应关系,确定实验染色信息中的实验组标识信息所对应的各个实验策略,从各个实验策略中确定与当前服务节点的实验策略相同的候选实验策略,将候选实验策略对应的实验组标识信息作为命中实验组标识信息。
在一个实施例中,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文。例如,当前服务节点可以独立的对请求按照实验策略进行处理,无需调用其他服务节点的处理结果时,当前服务节点将命中实验组标识信息写入响应报文的预设字段后,得到当前服务节点对应的已处理响应报文。再例如,当前服务节点不能独立的对请求按照实验策略进行处理,需要调用其他服务节点的处理结果时,当前服务节点将调用对象的已处理响应报文中的命中实验组标识信息与当前服务节点的命中实验组标识信息进行合并,将合并后的实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文。
步骤S205,将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
其中,请求对应的响应结果包括请求遍历完请求响应链路的各服务节点,执行各服务节点对应的处理策略后得到的响应结果,其中,处理策略可以包括实验策略以及大盘流量对应的请求处理策略。在一示例性实施例中,目标消息可以包括各个命中实验组标识信息与请求对应的响应结果的组合。在另一示例性实施例中,目标消息也可以包括各个命中实验组标识信息、请求对应的响应结果以及请求对应的实验染色信息中的实验组标识信息的组合。所述目标消息用于提供于需求方,其中,需求方可以包括但不限于实验系统服务端,产品设计服务端,或其他需求端。
在一个实施例中,将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文。在具体实现中,例如,所述上一层服务节点将所述已处理响应报文中的命中实验组标识信息写入响应报文的第一预设字段;将所述上一层服务节点对应的命中实验组标识信息写入响应报文的第二预设字段;生成所述上一层服务节点对应的已处理响应报文。再例如,所述上一层服务节点将所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息进行合并,得到合并后的命中实验组标识信息。将合并后的命中实验组标识信息写入响应报文中的预设字段。
在一个实施例中,直至传输至所述请求响应链路的起始服务节点。其中,起始服务节点可以包括请求响应链路中的首个服务节点,也可以包括请求响应链路中预设功能的服务节点,其中,预设功能例如缓存功能。可以理解的是,预设功能的服务节点也同时可以是请求响应链路中的首个服务节点。在具体的实现过程中,所述上一层服务节点将对应的已处理响应报文中的实验组标识信息上传至再上一层的服务节点,所述再上一层的服务节点将对应的已处理响应报文中的实验组标识信息上传至上游的相邻层的服务节点,以此类推,直至传输至请求响应链路的起始服务节点。
例如,参考3所示,当服务节点C与服务节点D属于相邻层的服务节点,服务节点D和服务节点E属于相邻层的服务节点时,则,服务节点E将服务节点E对应的已处理响应报文上报至服务节点D,服务节点D将服务节点D对应的已处理响应报文上报至服务节点C,服务节点C将服务节点C对应的已处理响应报文上报至服务节点B,得到。
再例如,参考图4所示,当服务节点C1和服务节点D1属于相邻层的服务节点,服务节点C1和服务节点D2属于相邻层的服务节点,服务节点D2和服务节点E属于相邻层的服务节点时,则,服务节点E将服务节点E对应的已处理响应报文上报至服务节点D2,服务节点D2将服务节点D2对应的已处理响应报文上报至服务节点C1,服务节点D1将服务节点D1对应的已处理响应报文上报至服务节点C1,服务节点C1将服务节点C1对应的已处理响应报文上传至服务节点B,服务节点C2将服务节点C2对应的已处理响应报文上传至服务节点B。
上述数据上报方法,通过获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息,在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,并将所述命中实验组标识信息写入响应报文的预设字段。其中,满足实验策略生效条件,保障了请求能够按照当前服务节点的实验策略执行,在实际执行的情况下,该实验策略对应的实验组标识信息才被记录和上报。对比相关技术,在相关技术中,一旦请求被染色后,即确定将请求的响应结果为实验组标识信息下的实验结果,实验组标识信息也被作为命中实验组标识信息。因此,相关技术没有考虑请求的真实执行情况,而本公开实施例可以逐一对实验组标识信息对应的实验策略进行判断,在实验组标识信息对应的实验策略被真正执行的情况下,才进行上报,提高了命中实验组标识信息的真实性,从而利用命中实验组标识信息进行分析的结果也更加准确可靠。进一步地,本公开实施例通过将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,这种层层上报的方式上报命中实验组标识信息,保障了每一层的命中实验组标识信息都被记录到,提高了命中实验组标识信息上报的全面性。
在一个实施例中,步骤S203中的:将所述命中实验组标识信息写入响应报文的预设字段,包括:
从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
其中,远程过程调用协议(RPC,Remote Producer Call Protocol)是一种可以在不同的内存空间实现数据调用的协议。在一示例性实施例中,利用该协议中的扩展字段的接口增加公共响应报文中的字段,其中,扩展字段接口例如AddRespCookie接口。预设字段标识可以自定义的设置,与公共响应报文中已有的字段名称相区分即可,例如,ExptCookieKey。
本公开实施例中,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。当前服务节点在接收到由当前服务节点的下一层服务节点传输的已处理响应报文后,根据预设字段的标识信息,从已处理响应报文中提取出与所述预设字段的标识信息相对应的预设字段的数据,得到了下一层服务节点对应的命中实验组标识信息。
上述数据上报方法中,通过使用远程过程调用协议的公共响应报文中的可扩展的数据结构,并根据预设字段标识,提取已处理响应报文中命中实验组标识信息,保障了数据上报方法的可实现性。
在一个实施例中,所述预设字段的数据结构包括键值对列表结构,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段,包括:
将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
其中,键值对列表结构是一种数据结构,键值对列表结构又称作关联数组或哈希映射,可以利用键进行高效的值的检索和更新。例如,{"name":"John","age":25,"city":"New York"},其中,包含三个键值对,键分别是"name"、"age"和"city",对应的值分别是"John"、25和"New York"。在一示例性实施例中,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。从而实现,基于请求标识,对该请求标识对应的各个命中实验组标识信息进行查询、增加或修改等操作。
上述数据上报方法中,通过将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中,便于实现根据请求的请求标识查询、增加和修改该请求对应的命中实验组标识信息。
在一个实施例中,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文,包括:
获取所述当前服务节点的下一层服务节点上报的已处理响应报文;
合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息;
将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文。
具体的,在一示例性实施例中,当前服务节点包括一个下一层服务节点时,可以根据预设字段标识,将该下一层服务节点的已处理响应报文中的命中实验组标识信息提取,并将提取的命中实验组标识信息与当前服务节点对应的命中实验组标识信息进行合并,得到合并后的命中实验组标识信息。在另一示例性实施例中,当前服务节点包括两个及以上的下一层服务节点时,可以根据预设字段标识,分别提取各个下一层服务节点中的命中实验组标识信息。将各个命中实验组标识信息与当前服务节点对应的命中实验组标识信息进行合并,得到合并后的命中实验组标识信息。
例如,当前服务节点对应的实验组标识信息包括;实验组id1、实验组id2、实验组id3,下一层服务节点对应的实验组标识信息包括;实验组id4、实验组id5、实验组id6,合并后的命中实验组标识信息包括;实验组id1、实验组id2、实验组id3、实验组id4、实验组id5、实验组id6。
本公开实施例,将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文,具体为,将合并后的命中实验组标识信息写入当前服务节点的响应报文的预设字段。因此,通过本公开实施例,能够较为便捷的生成已处理响应报文。
在一个实施例中,合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息,包括:
从所述下一层服务节点对应的已处理响应报文中查找与所述当前服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除所述下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重的已处理响应报文;
合并所述去重后已处理响应报文中的命中实验组标识信息以及所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息。
具体实现方式中,从下一层服务节点对应的已处理响应报文中查找与所述当前服务节点对应的命中实验组标识信息相同的命中实验组标识信息,在一示例性实施例中,可以遍历当前服务节点对应的命中实验组标识信息中的每个实验组标识信息,如果有相同的命中实验组标识信息,则从下一层服务节点对应的已处理响应报文中删除该相同的命中实验组标识信息,得到去重的已处理响应报文。将该去重的已处理响应报文与当前服务节点对应的命中实验组标识信息进行合并。在另一示例性实施例中,也可以遍历当前服务节点对应的命中实验组标识信息,查找与下一层服务节点的已处理响应报文中相同的命中实验组标识信息,在当前服务节点中删除该相同的命中实验组标识信息,得到去重的命中实验组标识信息。将该去重的命中实验组标识信息与下一层服务节点的已处理响应报文中命中实验组标识信息进行合并。可以理解的是,本公开实施例还可以遍历下一层服务节点对应的已处理报文中的每个命中实验组标识信息,本公开对此不做限制。可选的,遍历实验组标识信息数量较少的有助于提高遍历效率。
在一种可能的实现方式中,可以采用自定义的响应报文预设字段的去重及合并方法,例如,MergeFunc(saved_value,new_value,final_value)定义了同一个请求下响应报文预设字段的合并方法,即将new_value合并到已经在当前服务节点中的saved_value形成新的final value。当然,该自定义的函数需要预先在远程过程调用协议中进行注册。
上述数据上报方法中,考虑到当前服务节点实验策略的执行可能依赖下一层的实验结果,而下一层的实验策略与当前的实验策略可以是相同的实验策略,实验组标识信息相同,因此,对于任意两层服务节点在进行合并前,将相同的命中实验组标识信息进行去重处理,可以减少已处理响应报文中预设字段的数据量,提高数据传输效率。
在一个实施例中,所述请求包括查询请求,在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述当前服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
具体地,请求的应用场景之一可以包括查询请求,例如,有新闻性需求的查询请求、有地域性需求的查询请求。以地域性查询请求为例,当前服务节点设置有预设查询字段,将查询请求包含所述预设查询字段,作为满足所述当前服务节点对应的实验策略生效条件的情况。在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。需要说明的是,本公开实施例中的请求的应用场景不限于上述查询请求,例如数据转发的请求,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
在一个实施例中,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,包括:
从多个实验组标识信息中获取与所述当前服务节点的实验策略相对应的实验组标识信息;
确定所述当前服务节点对应的命中实验组标识信息为所述相对应的实验组标识信息。
具体地,实验染色信息中可以包括多个实验,例如意图识别实验、数据查询实验、资源下载实验等。每个实验均对应有实验组标识信息。因此,实验染色信息中可以包含多个实验的实验组标识信息。前服务节点根据当前服务节点的实验策略,以及实验组标识信息以及实验策略的对应关系,确定候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验标识信息的情况下,确定命中实验组标识信息为所述候选命中实验组标识信息。又例如,当前服务节点包含本服务节点的实验策略对应的实验组标识信息,确定为候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验组标识信息的情况下,确定命中实验组标识信息为所述候选命中实验标识信息。再例如,当前服务节点根据实验组标识信息以及实验策略的对应关系,确定实验染色信息中的实验组标识信息所对应的各个实验策略,从各个实验策略中确定与当前服务节点的实验策略相同的候选实验策略,将候选实验策略对应的实验组标识信息作为命中实验组标识信息。
在一个实施例中,在所述获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息,之后还包括:
在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息确定所述当前服务节点对应的当前实验策略,按照所述当前实验策略对所述请求进行处理;
在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理。
具体地,所述预设的处理策略可以包括与大盘流量的请求处理策略相同的请求处理策略。其中,预设的处理策略与当前实验策略可以共同存在于当前服务节点中。在一示例性实施例中,在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理。此时,由于当前服务节点对应的实验组标识信息未命中或未全部命中,例如,在未命中的情况下,当前服务节点对应的实验组标识信息不写入响应报文。再例如,再未全部命中的情况下,将未命中的实验组标识信息不写入响应报文,将命中的实验组标识信息写入响应报文。
上述数据上报方法中,在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理,保障了请求可以得到响应处理。
在一示例性实施例中,如图5所示,提供了一种数据上报方法,应用于请求响应链路的图1中的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,包括以下步骤:
步骤S501,获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应。
其中,起始服务节点可以包括请求响应链路中的首个服务节点,也可以包括请求响应链路中预设功能的服务节点,其中,预设功能例如缓存功能。可以理解的是,预设功能的服务节点也同时可以是请求响应链路中的首个服务节点。
其中,请求可以包括终端向服务器发送的请求,例如数据访问的请求、修改操作的请求等。请求响应链路可以包括在接收到请求以后对上述请求进行处理的步骤,每个步骤可以对应请求响应链路中的一个服务节点,请求处理顺序可以通过服务节点的顺序进行表征。在一示例性实施例中,参考图3所示,请求响应链路中包括多个服务节点,当接收到请求后,各服务节点依次对请求进行处理,服务节点B对请求进行处理时,需要用到服务节点C的处理结果,则请求进入服务节点C,服务节点C对请求进行处理时,需要用到服务节点D的处理结果,则请求进入服务节点D…类似地,一直到达服务节点E。服务节点E完成处理后,将处理结果逐层返回。在一示例性实施例中,每层服务节点的数量不受限制,根据实际应用场景的需求设置。参考图4所述,服务节点B对请求进行处理时,需要用到服务节点C1和服务节点C2的处理结果,则请求分别进入服务节点C1和服务节点C2。服务节点C1对请求进行处理时需要用到服务节点D1和服务节点D2的处理结果,则请求进入服务节点D1和服务节点D2。因此,服务节点B的下一层服务节点的数量不受限制,根据实际应用场景,可以是一个或两个及以上。本公开实施例中,当前服务节点可以包括请求响应链路的任一个服务节点。在具体实现中,例如:请求包括检索请求,服务节点可以包括请求接入的服务节点、精排序服务节点、粗排序服务节点、索引召回服务节点等。
本公开实施例中,实验染色信息包括与实验相关的信息,例如可以是实验参数、实验参数值、实验组标识信息等。其中,实验组标识信息能够唯一确认该实验组的信息,可选地,可以采用数字、字符或其组合来表示每个实验组标识信息。在一示例性实施例中,也可以采用编码的方式确定实验组标识信息,例如基于请求的标识信息或请求的用户地址,利用哈希算法,对请求进行流量分配,得到请求的实验组标识信息。一般而言,被划分入实验组的请求执行实验组的实验策略,被划分为对照组的请求执行对照组的请求处理策略,其中,对照组的请求处理策略与大盘流量相同。本公开实施例中,不同的实验组标识信息对应不同的实验策略,即实验组标识信息与实验策略相对应。
步骤S503,在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文。
其中,所述实验策略生效条件用于限定请求是否可以按照对应的实验策略进行处理。当满足实验策略生效条件时,按照实验策略对请求进行处理。例如,实验策略生效条件设置为对有新闻性需求的请求进行实验策略的处理。具体而言,对请求进行解析,确认请求是否具有新闻性需求,例如可以通过语义识别模型或检索字段进行确定,在确定请求满足新闻性需求时,按照实验策略对该请求进行处理。其中,命中实验组标识信息用于表征实验组标识信息对应的实验策略被允许执行。
其中,响应报文可以包括实现服务节点之间进行通信的报文,可选的,响应报文可以采用可扩展字段的报文协议,可扩展字段的报文协议是一种允许在协议中动态添加新字段的协议。例如JSON(JavaScript Object Notation)协议,Protobuf(Protocol Buffers)协议,远程过程调用(RPC)协议,其中,JSON协议可以使用对象的键值对来表示字段,可以动态添加新的键值对来扩展协议;在Protobuf协议中,可以使用消息的字段来表示字段,可以动态添加新的字段来扩展协议。在RPC协议中,可以使用结构体的字段来表示字段,动态添加新的字段来扩展协议。本公开实施例中,终止服务节点用于表示请求响应链路中最底层的服务节点。终止服务节点中,可设置实验策略也可以不设置实验策略。
在一个实施例中,在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息,即起始服务节点中未缓存与请求相同的请求内容对应的目标信息。将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点。
在一个实施例中,基于实验染色信息中的实验组标识信息,确定当前服务节点对应的命中实验组标识信息。例如,下一层服务节点根据下一层服务节点的实验策略,以及实验组标识信息以及实验策略的对应关系,确定候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验标识信息的情况下,确定命中实验组标识信息为所述候选命中实验组标识信息。又例如,下一层服务节点包含本服务节点的实验策略对应的实验组标识信息,确定为候选命中实验组标识信息,在实验染色信息中的实验组标识信息中存在上述候选命中实验组标识信息的情况下,确定命中实验组标识信息为所述候选命中实验标识信息。再例如,下一层服务节点根据实验组标识信息以及实验策略的对应关系,确定实验染色信息中的实验组标识信息所对应的各个实验策略,从各个实验策略中确定与下一层服务节点的实验策略相同的候选实验策略,将候选实验策略对应的实验组标识信息作为命中实验组标识信息。
步骤S505,基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
其中,请求对应的响应结果包括请求遍历完请求响应链路的各服务节点,执行各服务节点对应的处理策略后得到的响应结果,其中,处理策略可以包括实验策略以及大盘流量对应的请求处理策略。在一示例性实施例中,目标消息可以包括各个命中实验组标识信息与请求对应的响应结果的组合。所述目标消息用于提供于需求方,其中,需求方可以包括但不限于实验系统服务端,产品设计服务端,或其他需求端。
上述数据上报方法,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文。其中,满足实验策略生效条件,保障了请求能够按照当前服务节点的实验策略执行,在实际执行的情况下,该实验策略对应的实验组标识信息才被记录和上报,因此,本公开实施例提高了命中实验组标识信息的真实性,从而利用命中实验组标识信息进行分析的结果也更加准确可靠。
在一个实施例中,将所述命中实验组标识信息写入响应报文的预设字段,包括:
从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
其中,远程过程调用协议(RPC,Remote Producer Call Protocol)是一种可以在不同的内存空间实现数据调用的协议。在一示例性实施例中,利用该协议中的扩展字段的接口增加公共响应报文中的字段,其中,扩展字段接口例如AddRespCookie接口。预设字段标识可以自定义的设置,与公共响应报文中已有的字段名称相区分即可,例如,ExptCookieKey。
本公开实施例中,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。当前服务节点在接收到由当前服务节点的下一层服务节点传输的已处理响应报文后,根据预设字段的标识信息,从已处理响应报文中提取出与所述预设字段的标识信息相对应的预设字段的数据,得到了下一层服务节点对应的命中实验组标识信息。
上述数据上报方法中,通过使用远程过程调用协议的公共响应报文中的可扩展的数据结构,并根据预设字段标识,提取已处理响应报文中命中实验组标识信息,保障了数据上报方法的可实现性。
在一个实施例中,所述预设字段的数据结构包括键值对列表结构,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段,包括:
将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
其中,键值对列表结构是一种数据结构,键值对列表结构又称作关联数组或哈希映射,可以利用键进行高效的值的检索和更新。例如,{"name":"John","age":25,"city":"New York"},其中,包含三个键值对,键分别是"name"、"age"和"city",对应的值分别是"John"、25和"New York"。在一示例性实施例中,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。从而实现,基于请求标识,对该请求标识对应的各个命中实验组标识信息进行查询、增加或修改等操作。
上述数据上报方法中,通过将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中,便于实现根据请求的请求标识查询、增加和修改该请求对应的命中实验组标识信息。
在一个实施例中,所述基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,包括:
在所述起始服务节点包括至少一个下一层服务节点的情况下,分别获取每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息;
合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,得到目标已处理响应报文。
具体的,参考图4所示,以服务节点B作为起始服务节点为例,服务节点B的下一层服务节点包括服务节点C1和服务节点C2,服务节点C1将服务节点C1的已处理响应报文上报至服务节点B,服务节点C2将服务节点C2的已处理响应报文上报至服务节点B,合并服务节点C1的已处理响应报文以及服务节点C2的已处理响应报文,得到目标已处理响应报文。
上述数据上报方法中,通过合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,提高了起始服务节点获得已处理响应报文的全面性。
在一个实施例中,获取所述下一层服务节点的已处理响应报文,包括:
所述下一层服务节点获取再下一层服务节点的已处理响应报文;其中,所述再下一层服务节点为所述下一层服务节点的下一层服务节点;
合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文。
具体的,在一示例性实施例中,下一层服务节点包括一个再下一层服务节点时,可以根据预设字段标识,将该再下一层服务节点的已处理响应报文中的命中实验组标识信息提取,并将提取的命中实验组标识信息与下一层服务节点对应的命中实验组标识信息进行合并,得到合并后的命中实验组标识信息。在另一示例性实施例中,下一层服务节点包括两个及以上的再下一层服务节点时,可以根据预设字段标识,分别提取各个再下一层服务节点中的命中实验组标识信息。将各个命中实验组标识信息与下一层服务节点对应的命中实验组标识信息进行合并,得到合并后的命中实验组标识信息。
例如,下一层服务节点对应的实验组标识信息包括;实验组id1、实验组id2、实验组id3,再下一层服务节点对应的实验组标识信息包括;实验组id4、实验组id5、实验组id6,合并后的命中实验组标识信息包括;实验组id1、实验组id2、实验组id3、实验组id4、实验组id5、实验组id6。
本公开实施例,将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文,具体为,将合并后的命中实验组标识信息写入当前服务节点的响应报文的预设字段。本公开提供了一种较为便捷的已处理响应报文的生成方式。
在一个实施例中,合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文,包括:
所述下一层服务节点从所述再下一层服务节点对应的已处理响应报文中查找与所述下一层服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除所述再下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重后的已处理响应报文;
将所述去重后的已处理响应报文中的命中实验组标识信息合并至所述下一层服务节点对应的响应报文中,得到所述下一层服务节点对应的已处理响应报文。
具体实现方式中,从再下一层服务节点对应的已处理响应报文中查找与所述下一层服务节点对应的命中实验组标识信息相同的命中实验组标识信息,在一示例性实施例中,可以遍历下一层服务节点对应的命中实验组标识信息中的每个实验组标识信息,如果有相同的命中实验组标识信息,则从再下一层服务节点对应的已处理响应报文中删除该相同的命中实验组标识信息,得到去重的已处理响应报文。将该去重的已处理响应报文与下一层服务节点对应的命中实验组标识信息进行合并。在另一示例性实施例中,也可以遍历下一层服务节点对应的命中实验组标识信息,查找与再下一层服务节点的已处理响应报文中相同的命中实验组标识信息,在下一层服务节点中删除该相同的命中实验组标识信息,得到去重的命中实验组标识信息。将该去重的命中实验组标识信息与再下一层服务节点的已处理响应报文中命中实验组标识信息进行合并。可以理解的是,本公开实施例还可以遍历再下一层服务节点对应的已处理报文中的每个命中实验组标识信息,本公开对此不做限制。可选的,遍历实验组标识信息数量较少的有助于提高遍历效率。
在一种可能的实现方式中,可以采用自定义的响应报文预设字段的去重及合并方法,例如,MergeFunc(saved_value,new_value,final_value)定义了同一个请求下响应报文预设字段的合并方法,即将new_value合并到已经在下一层服务节点中的saved_value形成新的final value。当然,该自定义的函数需要预先在远程过程调用协议中进行注册。
上述数据上报方法中,考虑到下一层服务节点实验策略的执行可能依赖下一层的实验结果,而下一层的实验策略与当前的实验策略可以是相同的实验策略,实验组标识信息相同,因此,对于任意两层服务节点在进行合并前,将相同的命中实验组标识信息进行去重处理,可以减少已处理响应报文中预设字段的数据量,提高数据传输效率。
在一个实施例中,所述请求包括查询请求,在所述请求满足所述实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述下一层服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
具体地,请求的应用场景之一可以包括查询请求,例如,有新闻性需求的查询请求、有地域性需求的查询请求。以地域性查询请求为例,当前服务节点设置有预设查询字段,将查询请求包含所述预设查询字段,作为满足所述当前服务节点对应的实验策略生效条件的情况。在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。需要说明的是,本公开实施例中的请求的应用场景不限于上述查询请求,例如数据转发的请求,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
在一个具体的实施例中,本申请方法可以应用于针对查询请求的实验数据上报的场景中。现有技术中,服务器接收到用户的查询请求后,获取与查询请求相关实验染色信息。并执行上述查询请求,得到请求的响应结果,实验染色信息中的实验组标识以及该响应结果一起上报给需求方。而有些实验组标识信息对应的实验策略可能没被执行,导致上述方法的不准确。本申请提供了一种数据上报方法,能够提高命中实验组标识信息的真实性。
参考图6,本公开实施例中的服务节点包括缓存服务节点、精排序服务节点、粗排序服务节点和索引召回服务节点。在实际应用中各服务节点之间可能包含更多层的服务节点或分支服务节点,本公开对此不做限制。
具体地,服务器接收到用户的查询请求,请求到达了缓存服务节点。缓存服务节点可以通过调用实验系统,获得所述请求的实验染色信息,其中实验染色信息包括实验组标识信息、实验策略参数等。根据所述实验组标识信息,从键值对类别中查询与请求相对应的命中实验组标识信息及请求的响应结果。
缓存服务节点在未读取到命中实验组标识信息以及请求的响应结果的情况下,将请求和实验染色信息向下游的服务节点透传。在一示例性实施例中,请求到达了粗排序服务节点,粗排序服务节点对请求是否满足粗排序服务节点的实验策略生效条件进行判断,一方面,在所述查询请求满足上述实验策略生效条件的情况下,例如实验策略生效条件包括是否为新闻性查询请求,即可以通过在请求的查询字段中查询与新闻相关的字段,如果有上述新闻相关的字段,则确定该请求满足新闻性查询请求。接下来,从该请求的实验染色信息中获取实验策略参数,按照粗排序服务节点对应的实验策略对该查询请求进行处理。将实验策略对应的实验组标识信息,例如实验组id1、实验组id2、实验组id3写入响应报文。例如,将上述实验组id1、实验组id2、实验组id3,作为命中实验组标识信息,写入RPC响应报文的预设字段中。另一方面,如果查询请求不满足粗排序服务节点的实验策略生效条件的情况下,则可以按照与大盘流量相同的请求处理策略对请求进行处理。粗粗排序服务节点将请求以及实验染色信息继续向下游节点传输,一直传输到最底层的服务节点,例如索引召回服务节点。下游的各服务节点与粗排序服务节点执行的处理步骤相近似,本公开对此不再赘述。
粗排序服务节点在执行时,需调用下游的索引召回服务节点的执行结果,因此,粗排序服务节点获取到了下游索引召回服务节点的响应报文,将该响应报文中的命中实验组标识信息与粗排序服务节点中保存的命中实验组标识信息进行查重合并,将相同的命中实验组标识信息保留一次,得到已处理响应报文。粗排序服务节点将该已处理响应报文上报,以使上一层的精排序服务节点根据粗排序服务节点对应的已处理响应报文上报中的命中实验组标识信息以及精排序服务节点对应的已处理响应报文的命中实验组标识信息,生成精排序服务节点的已处理响应报文。最后已处理响应报文到达缓存服务节点。
缓存服务节点分别获取每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息;合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,得到目标已处理响应报文。缓存服务节点根据各个命中实验组标识信息、所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。该目标信息可以提供给实验系统端或其他需求方。
缓存服务节点在读取到命中实验组标识信息以及请求的响应结果的情况下,需要将目标消息上报给实验系统端或其他需求方。并将请求的响应结果返回给至上游,例如客户端。
本公开实施例请求响应链路中的各层服务节点逐一对本层实验组标识信息对应的实验策略进行判断,在实验组标识信息对应的实验策略被真正执行的情况下,写入响应报文,进行上报,因此,本公开实施例提高了命中实验组标识信息的真实性,利用命中实验组标识信息进行分析的结果也更加准确可靠。
在一个具体的实施例中,本申请方法还可以应用于会话请求,数据转发请求等多个应用场景中,以会话请求为例,对应的请求响应链路服务节点可以包括缓存服务节点、验证服务节点、授权服务节点、数据查询服务节点、筛选服务节点等。具体实现中,缓存服务节点获取会话请求及与所述会话请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;在所述缓存服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述会话请求及所述实验染色信息传输至所述缓存服务节点的验证服务节点,以使所述验证服务节点对所述请求是否满足所述验证服务节点对应的权限验证策略生效条件进行判断。在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述验证服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的筛选服务节点,得到各层服务节点对应的已处理响应报文;基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,缓存服务节点,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据上报方法的数据上报装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据上报装置实施例中的具体限定可以参见上文中对于数据上报方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种数据上报装置700,包括:应用于请求响应链路的服务节点,其中,所述请求响应链路包括多个服务节点,多个所述服务节点依次对请求进行处理,所述装置700包括:
第一获取模块701,用于获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第一确定模块703,用于在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;
上报模块705,用于将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
在其中一个实施例中,所述第一确定模块,包括:
第一确定子模块,用于从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
写入子模块,用于将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
在其中一个实施例中,所述预设字段的数据结构包括键值对列表结构,所述写入子模块包括:
第一写入单元,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
第二写入单元,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
在其中一个实施例中,所述第一确定模块,包括:
第一获取子模块,用于获取所述当前服务节点的下一层服务节点上报的已处理响应报文;
第一合并子模块,用于合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息;
写入子模块,用于将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文。
在其中一个实施例中,所述合并子模块,包括:
查找单元,用于从所述下一层服务节点对应的已处理响应报文中查找与所述当前服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除单元,用于删除所述下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重的已处理响应报文;
第一合并单元,用于合并所述去重后已处理响应报文中的命中实验组标识信息以及所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息。
在其中一个实施例中,所述请求包括查询请求,所述第一确定模块包括:
第一获取单元,用于获取所述当前服务节点对应的实验策略对应的预设查询字段;
确定单元,用于在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
在其中一个实施例中,所述第一确定模块包括:
第二获取子模块,用于从多个实验组标识信息中获取与所述当前服务节点的实验策略相对应的实验组标识信息;
第二确定子模块,用于确定所述当前服务节点对应的命中实验组标识信息为所述相对应的实验组标识信息。
在其中一个实施例中,所述装置还包括:
第一处理模块,用于在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息确定所述当前服务节点对应的当前实验策略,按照所述当前实验策略对所述请求进行处理;
第二处理模块,用于在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理。
在一个实施例中,如图8所示,提供了一种数据上报装置800,包括:应用于请求响应链路的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,所述装置包括:
第二获取模块801,用于获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第二确定模块803,用于在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文;
生成模块805,用于基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
在其中一个实施例中,第二确定模块,包括:
写入子模块,用于从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
在其中一个实施例中,所述预设字段的数据结构包括键值对列表结构,所述写入子模块包括:
第一写入单元,将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
第二写入单元,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
在其中一个实施例中,所述生成模块包括:
第三获取子模块,用于在所述起始服务节点包括至少一个下一层服务节点的情况下,分别获取每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息;
第二合并子模块,用于合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,得到目标已处理响应报文。
在其中一个实施例中,所述第三获取子模块包括:
第二获取单元,用于所述下一层服务节点获取再下一层服务节点的已处理响应报文;其中,所述再下一层服务节点为所述下一层服务节点的下一层服务节点;
第二合并单元,用于合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文。
在其中一个实施例中,所述第二合并单元,包括:
查找子单元,用于所述下一层服务节点从所述再下一层服务节点对应的已处理响应报文中查找与所述下一层服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除子单元,用于删除所述再下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重后的已处理响应报文;
合并子单元,用于将所述去重后的已处理响应报文中的命中实验组标识信息合并至所述下一层服务节点对应的响应报文中,得到所述下一层服务节点对应的已处理响应报文。
在其中一个实施例中,所述请求包括查询请求,在所述请求满足所述实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述下一层服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
所述第二确定模块包括:
第一获取单元,用于获取所述当前服务节点对应的实验策略对应的预设查询字段;
确定单元,用于在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
上述数据上报装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上报数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据上报方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据上报方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (20)
1.一种数据上报方法,其特征在于,应用于请求响应链路的服务节点,其中,所述请求响应链路包括多个服务节点,多个所述服务节点依次对请求进行处理,所述方法包括:
获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;
将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
2.根据权利要求1所述的方法,其特征在于,将所述命中实验组标识信息写入响应报文的预设字段,包括:
从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
3.根据权利要求2所述的方法,其特征在于,所述预设字段的数据结构包括键值对列表结构,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段,包括:
将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
4.根据权利要求1所述的方法,其特征在于,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文,包括:
获取所述当前服务节点的下一层服务节点上报的已处理响应报文;
合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息;
将所述合并后的命中实验组标识信息写入响应报文的预设字段,得到所述当前服务节点对应的已处理响应报文。
5.根据权利要求4所述的方法,其特征在于,合并所述下一层服务节点对应的已处理响应报文中的命中实验组标识信息与所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息,包括:
从所述下一层服务节点对应的已处理响应报文中查找与所述当前服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除所述下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重的已处理响应报文;
合并所述去重后已处理响应报文中的命中实验组标识信息以及所述当前服务节点对应的命中实验组标识信息,得到合并后的命中实验组标识信息。
6.根据权利要求1所述的方法,其特征在于,所述请求包括查询请求,在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述当前服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
7.根据权利要求1所述的方法,其特征在于,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,包括:
从多个实验组标识信息中获取与所述当前服务节点的实验策略相对应的实验组标识信息;
确定所述当前服务节点对应的命中实验组标识信息为所述相对应的实验组标识信息。
8.根据权利要求1所述的方法,其特征在于,在所述获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息,之后还包括:
在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息确定所述当前服务节点对应的当前实验策略,按照所述当前实验策略对所述请求进行处理;
在所述请求不满足所述当前服务节点对应的实验策略生效条件的情况下,按照预设的处理策略对所述请求进行处理。
9.一种数据上报方法,其特征在于,应用于请求响应链路的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,所述方法包括:
获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文;
基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
10.根据权利要求9所述的方法,其特征在于,将所述命中实验组标识信息写入响应报文的预设字段,包括:
从远程过程调用协议的响应报文中确定预设字段标识;其中,所述预设字段标识为预先在远程过程调用协议中公共响应报文增加的数据结构的标识;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段。
11.根据权利要求10所述的方法,其特征在于,所述预设字段的数据结构包括键值对列表结构,将所述命中实验组标识信息写入所述预设字段标识对应的预设字段,包括:
将所述请求的请求标识写入所述预设字段标识对应的预设字段的键中;
将所述命中实验组标识信息写入所述预设字段标识对应的预设字段的值中。
12.根据权利要求9所述的方法,其特征在于,所述基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,包括:
在所述起始服务节点包括至少一个下一层服务节点的情况下,分别获取每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息;
合并每个所述下一层服务节点返回的已处理响应报文中的命中实验组标识信息以及所述请求的响应结果,得到目标已处理响应报文。
13.根据权利要求12所述的方法,其特征在于,获取所述下一层服务节点的已处理响应报文,包括:
所述下一层服务节点获取再下一层服务节点的已处理响应报文;其中,所述再下一层服务节点为所述下一层服务节点的下一层服务节点;
合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文。
14.根据权利要求13所述的方法,其特征在于,合并所述下一层服务节点对应的命中实验组标识信息以及所述再下一层服务节点的已处理响应报文中的命中实验组标识信息,得到所述下一层服务节点对应的已处理响应报文,包括:
所述下一层服务节点从所述再下一层服务节点对应的已处理响应报文中查找与所述下一层服务节点对应的命中实验组标识信息相同的命中实验组标识信息;
删除所述再下一层服务节点对应的已处理响应报文中的所述相同的命中实验组标识信息,得到去重后的已处理响应报文;
将所述去重后的已处理响应报文中的命中实验组标识信息合并至所述下一层服务节点对应的响应报文中,得到所述下一层服务节点对应的已处理响应报文。
15.根据权利要求9所述的方法,其特征在于,所述请求包括查询请求,在所述请求满足所述实验策略生效条件的情况下,确定命中实验组标识信息为所述实验组标识信息,包括:
获取所述下一层服务节点对应的实验策略对应的预设查询字段;
在所述查询请求中包含所述预设查询字段的情况下,确定命中实验组标识信息为所述实验组标识信息。
16.一种数据上报装置,其特征在于,应用于请求响应链路的服务节点,其中,所述请求响应链路包括多个服务节点,多个所述服务节点依次对请求进行处理,所述装置包括:
第一获取模块,用于获取当前服务节点的上一层服务节点传输的请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第一确定模块,用于在所述请求满足所述当前服务节点对应的实验策略生效条件的情况下,基于所述实验组标识信息,确定所述当前服务节点对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,得到当前服务节点对应的已处理响应报文;
上报模块,用于将所述已处理响应报文上报至所述上一层服务节点,以使所述上一层服务节点基于所述已处理响应报文中的命中实验组标识信息和所述上一层服务节点对应的命中实验组标识信息,生成所述上一层服务节点对应的已处理响应报文,直至传输至所述请求响应链路的起始服务节点,得到对应的目标已处理响应报文,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息;所述各个命中实验组标识信息用于与所述请求对应的响应结果、所述实验组标识信息组合形成目标信息。
17.一种数据上报装置,其特征在于,应用于请求响应链路的起始服务节点,其中,所述请求响应链路包括多个服务节点,多个服务节点依次对请求进行处理,所述装置包括:
第二获取模块,用于获取请求及与所述请求相对应的实验染色信息;其中,所述实验染色信息包括实验组标识信息;实验组标识信息与实验策略对应;
第二确定模块,用于在所述起始服务节点中未读取到与所述实验组标识信息相对应的目标信息的情况下,将所述请求及所述实验染色信息传输至所述起始服务节点的下一层服务节点,以使所述下一层服务节点对所述请求是否满足所述下一层服务节点对应的实验策略生效条件进行判断,在所述请求满足所述实验策略生效条件的情况下,基于所述实验组标识信息,确定所述下一层服务节点相对应的命中实验组标识信息,将所述命中实验组标识信息写入响应报文的预设字段,直至传输至所述请求响应链路的终止服务节点,得到各层服务节点对应的已处理响应报文;
生成模块,用于基于各层服务节点对应的已处理响应报文,得到目标已处理响应报文,存储所述目标已处理响应报文中的各个命中实验组标识信息以及所述请求的响应结果,得到所述目标信息;其中,所述目标已处理响应报文包括所述请求响应链路对应的各个命中实验组标识信息。
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤或者实现权利要求9至15中任一项所述的方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤或者实现权利要求9至15中任一项所述的方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤或者实现权利要求9至15中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311295595.3A CN117354389A (zh) | 2023-10-08 | 2023-10-08 | 数据上报方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311295595.3A CN117354389A (zh) | 2023-10-08 | 2023-10-08 | 数据上报方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117354389A true CN117354389A (zh) | 2024-01-05 |
Family
ID=89364355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311295595.3A Pending CN117354389A (zh) | 2023-10-08 | 2023-10-08 | 数据上报方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117354389A (zh) |
-
2023
- 2023-10-08 CN CN202311295595.3A patent/CN117354389A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021043064A1 (zh) | 社区发现方法、装置、计算机设备和存储介质 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN113127848A (zh) | 一种权限系统数据的存储方法及相关设备 | |
WO2013046667A1 (ja) | 情報システム、その管理方法およびプログラム、データ処理方法およびプログラム、ならびに、データ構造 | |
US20140019454A1 (en) | Systems and Methods for Caching Data Object Identifiers | |
CN110287201A (zh) | 数据访问方法、装置、设备及存储介质 | |
US20230073312A1 (en) | Schema-based data retrieval from knowledge graphs | |
CN115544183A (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
WO2022057525A1 (zh) | 一种数据找回方法、装置、电子设备及存储介质 | |
CN111443899A (zh) | 一种元素处理方法、装置、电子设备及存储介质 | |
CN102193988A (zh) | 一种图形数据库节点数据的检索方法及系统 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN116991800A (zh) | 文件获取系统、方法、装置、计算机设备和存储介质 | |
CN115576947A (zh) | 一种数据管理方法、装置、组合库、电子设备及存储介质 | |
CN108062277B (zh) | 一种电子凭据数据访问方法、装置及系统 | |
CN116233254A (zh) | 业务切流方法、装置、计算机设备和存储介质 | |
CN117354389A (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
CN116821102B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN111988195A (zh) | 用于分组测试的应答方案确定方法、装置、设备及介质 | |
WO2024016789A1 (zh) | 日志数据查询方法、装置、设备和介质 | |
CN117635081B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112632331A (zh) | 一种信息处理方法、系统、电子设备及存储介质 | |
CN117648336A (zh) | 数据查询方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |