数据钻取方法、代理服务器、服务调用系统及介质与流程

文档序号:23175745发布日期:2020-12-04 14:06阅读:140来源:国知局
数据钻取方法、代理服务器、服务调用系统及介质与流程

本发明涉及数据处理技术领域,尤其涉及数据钻取方法、代理服务器、服务调用系统及计算机可读存储介质。



背景技术:

在基于osp(onlineserviceprovider,在线服务提供商)系统中,为提高系统的鲁棒性,通常需要对系统进行参数级的治理。即通过钻取数据的参数,并基于钻取的参数进行治理。例如,可以根据入参进行服务器路由,根据入参的值做服务降级和/或根据入参的条件输出预定的日志等。但是在相关的osp服务化框架中,一般只能钻取thrift(一种二进制通讯协议)二进制序列化的数据包中的参数,这样导致相关技术的数据钻取方案无法兼容基于json(javascriptobjectnotation,对象标识方法,是一种轻量级的数据交换格式)格式的数据包实现服务调用的系统。因此,相关技术存在兼容性较差的缺陷。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种数据钻取方法、代理服务器、服务调用系统及计算机可读存储介质,旨在达成提高系统数据钻取方案的兼容性的目的。

为实现上述目的,本发明提供一种数据钻取方法,所述数据钻取方法包括以下步骤:

代理服务器接收请求端发送的请求数据;

将所述请求数据的数据格式从初始格式转换为目标格式;

基于数据格式转换后的所述请求数据钻取目标数据。

可选地,所述将所述请求数据的数据格式从初始格式转换为目标格式的步骤之后,还包括:

将数据格式为所述目标格式的所述请求数据发送至目标服务器,其中,所述目标服务器根据所述目标格式的所述请求数据生成响应数据包,并将所述响应数据包发送至所述代理服务器;

接收所述目标服务发送的响应数据包,其中,所述响应数据包的数据格式为所述目标格式;

将所述响应数据包的数据格式从所述目标格式转换为所述初始格式;

将数据格式转换后的所述响应数据包发送至所述请求数据的发起端。

可选地,所述基于数据格式转换后的所述请求数据钻取目标数据的步骤包括:

通过预设的数据钻取工具,钻取经数据格式转换后的所述请求数据中的所述目标数据,其中,所述预设的数据钻取工具用于钻取数据格式为所述目标格式的数据包中的数据。

可选地,所述基于数据格式转换后的所述请求数据钻取目标数据的步骤之后,还包括:

基于所述目标数据执行预设操作,其中,所述目标数据为所述请求数据对应的入参数据,所述预设操作包括以下至少一个:

根据所述入参数据进行服务器路由;

根据所述入参数据进行服务降级;

根据所述入参数据输出目标日志。

可选地,所述基于数据格式转换后的所述请求数据钻取目标数据的步骤之后,还包括:

输出所述目标数据。

可选地,所述代理服务器接收请求端发送的请求数据的步骤之后,还包括:

确定所述请求数据的数据格式;

在所述请求数据的数据格式为预设格式时,执行所述将所述请求数据的数据格式从初始格式转换为目标格式的步骤。

可选地,所述初始格式为json格式;所述目标格式为thrift格式。

此外,为实现上述目的,本发明还提供一种代理服务器,所述代理服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据钻取程序,所述数据钻取程序被所述处理器执行时实现如上所述的数据钻取方法的步骤。

此外,为实现上述目的,本发明还提供一种服务调用系统,如上所述的代理服务器,以及服务请求端和服务提供端,所述代理服务器设置为接收并转发所述服务器请求端发送的请求数据,以及接收并转发所述服务提供端发送的响应数据。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据钻取程序,所述数据钻取程序被处理器执行时实现如上所述的数据钻取方法的步骤。

本发明实施例提出的一种数据钻取方法、代理服务器、服务调用系统及计算机可读存储介质,代理服务器接收请求端发送的请求数据,然后将所述请求数据的数据格式从初始格式转换为目标格式,并基于数据格式转换后的所述请求数据钻取目标数据。由于可以对请求数据进行数据转换,使得代理服务器在钻取数据时,可以兼容种格式的请求数据,从而达成了提高系统数据钻取方案的兼容性的效果。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明数据钻取方法的一实施例的流程示意图;

图3为本发明数据钻取方法的一实施例中的一实施方案的流程示意图;

图4为服务调用系统的信令流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

由于在基于osp(onlineserviceprovider,在线服务提供商)系统中,为提高系统的鲁棒性,通常需要对系统进行参数级的治理。即通过钻取数据的参数,并基于钻取的参数进行治理。例如,可以根据入参进行服务器路由,根据入参的值做服务降级和/或根据入参的条件输出预定的日志等。但是在相关的osp服务化框架中,一般只能钻取thrift(一种二进制通讯协议)二进制序列化的数据包中的参数,这样导致相关技术的数据钻取方案无法兼容基于json(javascriptobjectnotation,对象标识方法,是一种轻量级的数据交换格式)格式的数据包实现服务调用的系统。因此,相关技术存在兼容性较差的缺陷。

为解决相关技术的上述缺陷,本发明提出一种数据钻取方法,其主要解决方案包括以下步骤:

代理服务器接收请求端发送的请求数据;

将所述请求数据的数据格式从初始格式转换为目标格式;

基于数据格式转换后的所述请求数据钻取目标数据。

由于可以对请求数据进行数据转换,使得代理服务器在钻取数据时,可以兼容种格式的请求数据,从而达成了提高系统数据钻取方案的兼容性的效果。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是服务调用系统的代理服务器。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1003,,存储器1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作网络通信模块以及数据钻取程序。

在图1所示的终端中,网络接口1003主要用于连接系统的其它端;处理器1001可以用于调用存储器1004中存储的数据钻取程序,并执行以下操作:

代理服务器接收请求端发送的请求数据;

将所述请求数据的数据格式从初始格式转换为目标格式;

基于数据格式转换后的所述请求数据钻取目标数据。

进一步地,处理器1001可以调用存储器1004中存储的数据钻取程序,还执行以下操作:

将数据格式为所述目标格式的所述请求数据发送至目标服务器,其中,所述目标服务器根据所述目标格式的所述请求数据生成响应数据包,并将所述响应数据包发送至所述代理服务器;

接收所述目标服务发送的响应数据包,其中,所述响应数据包的数据格式为所述目标格式;

将所述响应数据包的数据格式从所述目标格式转换为所述初始格式;

将数据格式转换后的所述响应数据包发送至所述请求数据的发起端。

进一步地,处理器1001可以调用存储器1004中存储的数据钻取程序,还执行以下操作:

通过预设的数据钻取工具,钻取经数据格式转换后的所述请求数据中的所述目标数据,其中,所述预设的数据钻取工具用于钻取数据格式为所述目标格式的数据包中的数据。

进一步地,处理器1001可以调用存储器1004中存储的数据钻取程序,还执行以下操作:

基于所述目标数据执行预设操作,其中,所述目标数据为所述请求数据对应的入参数据,所述预设操作包括以下至少一个:

根据所述入参数据进行服务器路由;

根据所述入参数据进行服务降级;

根据所述入参数据输出目标日志。

进一步地,处理器1001可以调用存储器1004中存储的数据钻取程序,还执行以下操作:

输出所述目标数据。

进一步地,处理器1001可以调用存储器1004中存储的数据钻取程序,还执行以下操作:

确定所述请求数据的数据格式;

在所述请求数据的数据格式为预设格式时,执行所述将所述请求数据的数据格式从初始格式转换为目标格式的步骤。

参照图2,在本发明数据钻取方法的一实施例中,所述数据钻取方法包括以下步骤:

步骤s10、代理服务器接收请求端发送的请求数据;

步骤s20、将所述请求数据的数据格式从初始格式转换为目标格式;

步骤s30、基于数据格式转换后的所述请求数据钻取目标数据。

在基于osp(onlineserviceprovider,在线服务提供商)系统中,为提高系统的鲁棒性,通常需要对系统进行参数级的治理。即通过钻取数据的参数,并基于钻取的参数进行治理。例如,可以根据入参进行服务器路由,根据入参的值做服务降级和/或根据入参的条件输出预定的日志等。但是在相关的osp服务化框架中,一般只能钻取thrift(一种二进制通讯协议)二进制序列化的数据包中的参数,这样导致相关技术的数据钻取方案无法兼容基于json(javascriptobjectnotation,对象标识方法,是一种轻量级的数据交换格式)格式的数据包实现服务调用的系统。因此,相关技术存在兼容性较差的缺陷。

为解决上述缺陷,本发明实施例提出一种数据钻取方法,使得可以对数据格式为json的数据包进行数据钻取,从而基于钻取到的数据,对基于json数据格式的osp系统进行参数级治理,以提高系统的鲁棒性。提高osp系统参数级治理功能的兼容性。

在本实施例中,osp服务框架下的系统中的osp服务请求端(clientsdk)可以通过代理服务器向目标服务器(ospserver,osp服务提供端,)发送请求数据。其中,当目标服务器接收到上述请求数据后,可以响应上述请求数据,即基于上述请求数据中的参数执行对应的业务逻辑。然后根据执行结果生成响应数据包,并通过代理服务器将上述响应数据包发送至上述osp服务请求端。其中,上述代理服务器上设置有参数级治理模块,所述参数及治理模块用于钻取osp服务请求端发送的请求数据中的目标数据,并基于目标数据做参数级治理。

由于在相关技术中,参数级治理模块一般基于thrift二进制序列化的请求数据钻取目标数据,而当请求数据为json字符串时,则无法根据json字符串获取目标数据。因此,代理服务器可以在接收到请求数据时,先确定上述请求数据的对应的数据格式。当上述请求数据的数据格式为预设格式时,上述步骤s20和步骤s30。否则,直接基于接收到的请求数据钻取上述目标数据。

其中,在本实施例中,上述预设格式可以设置为json格式。即当代理服务器接收到一json字符串时,先将json字符串转换并序列化为thrift二进制格式的请求数据包。然后基于转换后的请求数据包,钻取上述目标数据。这样使得osp系统的服务请求端在基于json字符串请求osp服务提供端(即目标服务器)提供服务时,代理服务器可以基于json字符串获取目标数据。

当代理服务器基于数据格式转换后的请求数据包钻取到上述目标数据后,可以基于上述目标数据执行预设操作。其中,上述目标数据可以是请求数据定的入参。当获取到请求数据对应的入参后,可以根据入参做服务器路由,根据入参的值做服务降级和/或根据入参的调节输出目标日志等。

具体地,路由(routing)是指从源到目的地时,决定端到端路径的网络范围的进程。路由工作在osi(opensysteminterconnect,开放式系统互联)参考模型第三层,即网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。可选地,路由器通常连接两个或多个由ip子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。

服务降级是指,在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延最终导致整个系统的瘫痪。因此,为避免上述现象的发生,可以进行服务降级操作。

参照图3,在本实施例中,步骤s20之后,还包括:

步骤s40、将数据格式为所述目标格式的所述请求数据发送至目标服务器,其中,所述目标服务器根据所述目标格式的所述请求数据生成响应数据包,并将所述响应数据包发送至所述代理服务器;

步骤s50、接收所述目标服务发送的响应数据包,其中,所述响应数据包的数据格式为所述目标格式;

步骤s60、将所述响应数据包的数据格式从所述目标格式转换为所述初始格式;

步骤s70、将数据格式转换后的所述响应数据包发送至所述请求数据的发起端。

当代理服务器接收到格式为json字符串的请求数据时,将json字符串转换并序列化为thrift二进制格式的请求数据包。然后将上述请求数据包发送至目标服务器。当目标服务器接收到上述请求数据包后,对上述请求数据包进行反序列化操作,并执行对应上述请求数据包对应的业务逻辑,然后基于执行结果生成响应数据包。并将上述响应数据包发送至代理服务器。因此,代理服务器接收到的是thrift二进制格式的响应数据包。进一步地,当代理服务器接收到thrift二进制格式的响应数据包后,可以将thrift二进制格式的响应数据包转换为json字符串的数据包,然后将转换后的响应数据包,作为osp服务请求端发出的请求数据的响应数据,发送至osp服务请求端(即服务调用端)。

可选地,当钻取到目标数据后,也可以直接将目标数据发送到预设的接收终端。以输出上述目标数据。

在本实施例公开的技术方案中,代理服务器接收请求端发送的请求数据,然后将所述请求数据的数据格式从初始格式转换为目标格式,并基于数据格式转换后的所述请求数据钻取目标数据。由于可以对请求数据进行数据转换,使得代理服务器在钻取数据时,可以兼容种格式的请求数据,从而达成了提高系统数据钻取方案的兼容性的效果。

此外,本发明实施例还提出一种代理服务器,所述代理服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据钻取程序,所述数据钻取程序被所述处理器执行时实现如上各个实施例所述的数据钻取方法的步骤。

此外,本发明实施例还提出一种服务调用系统,上述服务调用系统包括服务请求端,代理服务器和服务提供端,上述代理服务器设置为接收并转发上述服务器请求端发送的请求数据,以及接收并转发上述服务提供端发送的响应数据,所述代理服务器还设置为实现如上各个实施例所述的数据钻取方法的步骤。

具体地,参照图4,上述服务请求端(即调用端)将json字符串格式的请求数据发送至代理服务器,代理服务器接收到json字符串格式的请求数据后,对json字符串格式的请求数据进行转换并序列化为thrift二进制格式的请求数据包,并将thrift二进制格式的请求数据包发送至服务提供端(业务服务器),服务提供端接收到thrift二进制格式的请求数据包后,基于thrift二进制格式的请求数据包执行业务逻辑,并基于执行结果生成响应数据包。其中,该响应数据包为thrift二进制格式。在服务提供端生成thrift二进制格式的响应数据包后,将thrift二进制格式的响应数据发送至所述代理服务器。代理服务器接收到该thrift二进制格式的响应数据包后,将接收到的thrift二进制格式的响应数据包转换为json字符串格式的响应数据包,并发送至上述服务请求端。其中,代理服务器还可以基于根据经json字符串格式的请求数据,转换并序列化而得到的thrift二进制格式的请求数据包,钻取目标数据。并基于上述目标数据进行参数级治理。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据钻取程序,所述数据钻取程序被处理器执行时实现如上各个实施例所述的数据钻取方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台代理服务器执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1