一种数据调用方法、装置、设备及系统与流程

文档序号:19737611发布日期:2020-01-18 04:43阅读:178来源:国知局
一种数据调用方法、装置、设备及系统与流程

本申请涉及计算机技术领域,尤其涉及一种数据调用方法、装置、设备及系统。



背景技术:

随着信息技术的发展,网络服务商(例如网站或应用程序app)可以为用户提供丰富的业务服务。对网络服务商而言,在软件开发阶段,开发者会针对不同的业务服务进行开发、调试,通常,不同功能的业务服务分配在不同机器上完成开发、调试。那么,这就存在不同业务服务的版本之间的数据调用。

随着服务内容和类型的增加,对数据的调用进程可能包括基于调用关系的多个服务,增加了调用关系的复杂度和调用路径的长度,这可能存在调试过程中对服务调用出错的问题。



技术实现要素:

本申请实施例要解决的技术问题是,现有技术存在软件调试过程中对服务调用出错的问题。

本申请实施例采用下述技术方案:

本申请实施例提供一种数据调用方法,包括:

确定基于至少一个服务调用关系构成的数据调用进程;

判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

根据判断结果确定所述至少一个服务调用关系中的服务路由。

本申请实施例还提供一种数据调用方法,包括:

确定基于至少一个服务调用关系构成的数据调用进程;

若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

本申请实施例还提供一种数据调用装置,包括:

调用进程确定模块,确定基于至少一个服务调用关系构成的数据调用进程;

判断模块,判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

服务路由确定模块,根据判断结果确定所述至少一个服务调用关系中的服务路由。

本申请实施例还提供一种数据调用装置,包括:

确定模块,确定基于至少一个服务调用关系构成的数据调用进程;

建立模块,若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

本申请实施例还提供一种数据调用系统,包括:

基础环境层,运行至少一服务的基础功能版本;

调试环境层,运行目标调试版本,所述目标调试版本是对所述基础环境层中相应服务的基础功能版本的特例;

调用控制层,确定基于至少一个服务调用关系构成的数据调用进程,并判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,根据判断结果确定所述至少一个服务调用关系中的服务路由。

本申请实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

根据判断结果确定所述至少一个服务调用关系中的服务路由。

本申请实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

根据判断结果确定所述至少一个服务调用关系中的服务路由。

本申请实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

本申请实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

在确定基于至少一个服务调用关系构成的数据调用进程时,可以判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例,之后根据判断结果确定所述至少一个服务调用关系中的服务路由。在这种情况下,在调用服务时,事先判断需要调用的服务是否关联至目标调试版本,可以确定当前需要调用的服务的版本,根据判断结果确定路由至服务的具体版本,进而解决调用出错的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例提供的一种数据调用系统的结构示意图;

图2为图1所示数据调用系统的一个应用示例的结构图;

图3为本说明书实施例提供的一种数据调用方法的流程示意图;

图4为本说明书实施例提供的一种服务调用关系的示意图;

图5为本说明书实施例提供的一种数据调用方法的流程示意图;

图6为本说明书实施例提供的图3所示数据调用方法的一种应用示例的流程图;

图7为本说明书实施例提供的图5所示数据调用方法的一个应用示例的流程图;

图8为本说明书实施例提出的一种数据调用装置的结构示意图;

图9为本说明书实施例提出的一种数据调用装置的结构示意图。

具体实施方式

对现有技术存在的问题进行分析发现,现有技术提供两种软件开发环境策略。其中一种策略给每个开发者分配一个全量的基础环境,所谓基础环境是一个全套服务的运行环境,通常运行相对稳定的服务版本(以下称基础功能版本),供软件研发中的调试调用。由于基础环境需要配置的机器资源较多,例如机器资源的数量为单个基础环境资源乘以开发者人数。这种模式可以避免机器之间的相互调用,但当基础环境更新时,需要为每台机器进行配置更新,这需要较大维护工作量来维护这多配置。另一种策略是,所有开发者共用一个基础环境,所有需要调试的软件都部署到相应基础环境中。各开发者分别对软件中对应不同服务的一部分进行开发、修改,这样同一软件的多个版本在合并后部署到基础环境中,形成更新版本。这样,在基础环境中同时部署稳定调试服务的基础功能版本及更新版本,在调试调用服务时,这导致很难精确区分基础功能版本及对应的更新版本,存在调用出错的问题,甚至在区分各更新版本方面也存在同样的问题。一旦调试出现问题,由于不同版本之间的相互影响,存在很难区分是哪个版本出现问题。另外,由于调试者需要将软件发布到基础环境,每次对软件的改动均要重新部署,影响开发效率。

本说明书实施例提出一种改进的数据调用方法、装置、设备及系统,确定基于至少一个服务调用关系构成的数据调用进程;判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;根据判断结果确定所述至少一个服务调用关系中的服务路由。利用本说明书实施例记载的技术方案,在调用时,事先判断需要调用的服务是否关联至目标调试版本,可以确定当前需要调用的服务的版本,并根据判断结果确定路由至服务的具体版本,进而解决调用出错的问题。

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本说明书实施例提供的一种数据调用系统的结构示意图,所述结构如下所示。

数据调用系统可以包括:基础环境层101、调试环境层102和调用控制层103;

基础环境层101用于:运行至少一服务的基础功能版本;

调试环境层102用于:运行目标调试版本,该目标调试版本是对基础环境层101中相应服务的基础功能版本的特例;

调用控制层103用于:确定基于至少一个服务调用关系构成的数据调用进程;判断所述至少一个服务调用关系中的服务是否关联至目标调试版本;根据判断结果确定所述至少一个服务调用关系中的服务路由。

在一个应用示例中,基础环境层101可以提供全套的服务运行环境,它通常运行相对稳定的服务版本,例如服务a、服务b、服务c、服务d、服务e等其他基础服务,供软件研发中的调试调用。

调试环境层102在形式上可以是虚拟的运行环境,在使用功能上可以是一套独立完整的调试环境。在实际应用中,当前软件开发者在调试环境层102中对软件服务(如服务a和服务b)进行修改,目标调试版本的服务a'和服务b'还是存储在本地,而其余软件服务c、服务d和服务e可以借助于调用控制层103路由至基础环境层101,从基础环境层101中调用得到。

服务在相应机器中运行,因此图1中所示基础环境层101中基础功能版本的服务a和服务b分别对应机器a和b,基础环境层101中的其他机器并未一一列出;图1中所示调试环境层102中目标调试版本的服务a'和b'分别对应机器a'和b'。

参考实线箭头标识的数据调用进程,当调用控制层103接收到机器a'发送的数据调用请求之后,判定至少一个服务调用关系中的服务关联至目标调试版本,确定对目标调试版本所在机器b'的服务路由,可以进一步从调试环境层102中服务的目标调试版本。

参考虚线箭头标识的数据调用进程,当调用控制层103接收到机器a发送的数据调用请求之后,判定至少一个服务调用关系中的服务未关联至目标调试版本,确定对基础功能版本所在机器b的服务路由,可以进一步从基础环境层101中服务的基础功能版本。

在这种情况下,基础环境层101和调试环境层102之间可以视为隔离,可以解决调用出错的问题。调试者可以在本地的调试环境层102进行调试,不会对其他调试环境层102中的服务版本造成影响,也不会受到其他调试环境层102中的服务版本的影响,在出现调试错误时,也可以精确确定是哪个版本出了问题。另外,每次对软件服务的修改限定在本地,无需在基础环境层101及其他调试环境层102反复部署,软件开发效率高。

利用本说明书实施例记载的数据调用系统,每个用户在调试环境层102开发少数调试中不稳定的服务,剩余服务通过隔离技术由基础环境层101提供服务的基础功能版本作为补充。这样,数据调用系统中可以定义多套调试环境层102,从效果上看,每个用户似乎都独占整个调试环境层102,而实际上其中大部分服务是由基础环境层101提供的。

图2为图1所示数据调用系统的一个应用示例的结构图。

本说明书实施例记载的调用控制层200可以包括域名系统(英文:domainnamesystem,缩写:dns)201、插件接入层202和负载均衡层203。域名系统201用于对数据调用请求中的数据调用节点的标识信息进行解析,确定域名信息。插件接入层202用来判断至少一个服务调用关系中的服务是否关联至目标调试版本,并将服务路由发送至负载均衡层203。负载均衡层203用于根据对服务对应的ip地址列表中服务。负载均衡可以提供一种有效透明的方法,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

图3为本说明书实施例提供的一种数据调用方法的流程示意图,所述方法如下所示。本说明书实施例描述了对目标调试版本的定义阶段。

步骤301:确定基于至少一个服务调用关系构成的数据调用进程。

数据调用进程可以是指基于服务调用关系形成的服务调用链路,在一个完整的应用程序软件中,各服务数据之间可以是相互依赖的。例如,对数据a的调用路径:x→y→z,其中x的依赖条件包括服务y,服务y的依赖条件包括服务z,因此x→y,y→z分别表示两个服务调用关系,通过依次调用服务y、z最终得到数据x。在本说明书实施例中,数据调用进程还可以包括基于调用关系级联的其他数量的服务调用关系。

作为一个应用示例,服务调用关系可以是同一个软件中两不同服务之间的调用,例如一服务开发者在开发促销的内容,比如购物车(例如服务x),这依赖于促销的广告(服务y);服务调用关系还可以是两个不同软件应用之间的调用,例如当前正在开发的应用需要调用另一个应用的服务,例如当前正在开发的应用需要调用另一个应用中的促销广告,在打开当前正在开发的应用的相应界面时,则显示从另一个应用中调用的促销广告内容。

在本说明书实施例中,数据调用进程中可以包括一个服务调用关系,此时需要调用的数据即为服务。因此,当前软件开发者在软件服务开发进程或调试进程中,可以确定基于至少一个服务调用关系构成的数据调用进程。

在本说明书实施例中,在数据调用系统中,当前软件开发者在服务的目标调试版本开发过程中,可以将当前服务的目标调试版本的开发信息发送至调用控制层,所述目标调试版本的开发信息可以记载数据调用进程,数据调用进程可以包括至少一个服务调用关系。调用控制层可以接收至少一个服务的所述目标调试版本的开发信息;对接收到的至少一个服务的所述目标调试版本的开发信息进行处理,进而确定基于所述目标调试版本的至少一个服务调用关系的数据调用进程。

在本说明书实施例中,根据所述服务调用关系,可以得到服务调用节点的标识信息、服务来源节点的标识信息及服务标识信息等信息。

步骤303:若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

在这种情况下,服务调用关系中的服务关联至目标调试版本,而非关联至基础功能版本。这样,在调试调用阶段,当接收到对该服务的调用请求时,可以首先判断是否存在所述关联,若是,则确定服务路由至目标调试版本,而非路由至基础功能版本。

在本说明书实施例中,建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,可以包括:

确定所述服务调用关系中的至少一个调用关系节点的标识信息;

建立所述至少一个调用关系节点的标识信息与目标调试版本的标识信息之间的关联。

在这种情况下,所述调用关系节点的标识信息可以是服务调用节点的标识信息和/或服务来源节点的标识信息。建立所述至少一个调用关系节点的标识信息与目标调试版本的标识信息之间的关联,可以包括:

建立所述数据调用进程的起始节点的标识信息与目标调试版本的标识信息之间的关联。这样,结合上文关于图1的内容,所述数据调用进程的起始节点定义在对应的调试环境层。

在本说明书实施例中,所述调用关系节点的标识信息可以包括调用关系节点的名称、域名等,例如机器名称、机器配置的域名。这样,确定服务调用关系中至少一个调用关系节点的标识信息,包括:

确定服务调用关系中至少一个调用关系节点的域名;

建立至少一个调用关系节点的标识信息与目标调试版本之间的关联,可以包括:

建立至少一个调用关系节点的域名与目标调试版本之间的关联。

在本说明书实施例中,建立所述至少一个调用关系节点的标识信息与目标调试版本的标识信息之间的关联,可以包括:

若所述数据调用进程包括联调的至少两个所述服务调用关系,则将所述至少两个所述服务调用关系分别对应的不同目标调试版本标记为同一调试环境标识信息;

建立所述至少一个调用关系节点的标识信息与所述同一调试环境标识信息之间的关联。

在一个应用示例中,参照图4,其中一个调试环境层t1包括服务调用关系i:u→v;另一个调试环境层t2包括服务调用关系ii:w→h,由于v的依赖条件包含w,则这两个调试环境层t1和t2可以合并为一个调试环境层t,其服务调用关系iii表示为u→v→w→h。这里所谓“合并”并非物理意义上的合并,而是基于服务调用关系进行虚拟合并,并配置一个调试环境标识信息。

在本说明书实施例中,在建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联之后,可以存储至少一个服务调用关系中的服务与目标调试版本之间的关联。例如,将所述服务调用关系中的服务与目标调试版本之间的关联存入缓存,供调试调用。

利用本说明书实施例记载的技术方案,根据服务调用关系,定义了数据调用进程中的被服务与目标调试版本之间的关联关系,这种关联关系使得对应目标调试版本的调用关系节点之间构成了一种虚拟的隔离环境,独立于基础功能版本之外,这样在对调试时,可以解决对服务版本调用出错的问题。

图5为本说明书实施例提供的一种数据调用方法的流程示意图,所述方法如下所示。本说明书实施例记载的技术方案为调试阶段的数据调用流程。

步骤502:确定基于至少一个服务调用关系构成的数据调用进程。

在本说明书实施例中,步骤502的执行主体可以是软件调试节点,例如开发软件的运行机器,确定数据调用进程中的至少一个服务调用关系。

在本说明书实施例中,结合图1所示数据调用系统,步骤502的执行主体还可以是调用控制层,调用控制层根据接收到的数据调用请求,确定基于至少一个服务调用关系构成的数据调用进程。具体地,在确定基于至少一个服务调用关系构成的数据调用进程之前,可以接收数据调用请求,所述数据调用请求中包括对数据的调用信息;此时,可以根据所述对数据的调用信息,确定基于至少一个服务调用关系构成的数据调用进程。

其中,数据调用请求中可以携带调用关系节点的标识信息,对数据的调用信息可以包括数据来源的标识信息、数据的标识信息、数据调用进程中所包含的至少一个服务调用关系中的至少一种及其他信息,在此不再一一列举。这有助于调用控制层确定数据调用进程及其中的至少一个服务调用关系。

具体地,调用控制层可以根据所述数据的摘要信息来确定至少一个服务调用关系,或者从数据的调用信息中直接获取数据调用进程及所包含的至少一个服务调用关系。

步骤504:判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例。

其中,特例可以是指对服务的基础功能版本的具体示例,例如若服务为广告,其基础功能版本为普通广告,其目标调试版本为促销广告。

在本说明书实施例中,判断至少一个服务调用关系中的服务是否关联至目标调试版本,可以包括:

获取服务调用关系中至少一个调用关系节点的标识信息;

判断所述至少一个调用关系节点的标识信息是否关联至目标调试版本。

此时,调用关系节点的标识信息可以包括机器名称、机器配置的域名等。

这样,判断至少一个调用关系节点的标识信息是否关联至目标调试版本,可以包括:

对至少一个调用关系节点的标识信息进行解析,确定所述至少一个调用关系节点的域名;

根据所述至少一个调用关系节点的域名,判断所述至少一个调用关系节点的标识信息是否关联至目标调试版本。

在本说明书实施例中,判断至少一个调用关系节点的标识信息是否关联至目标调试版本,可以包括:

判断数据调用进程的起始节点的标识信息是否关联至目标调试版本。

其中,判断数据调用进程的起始节点的标识信息是否关联至目标调试版本,可以包括:判断数据调用进程的起始节点的标识信息是否关联至至少一个目标调试版本。例如,在数据调用进程:a0→b0→c0中,可以判断a0对应的起始节点的标识信息是否关联至b0和c0中至少一个对应的目标调试版本。

如果在确定数据调用进程中的至少一个服务调用关系之前,接收数据调用请求,则此处的数据调用进程的起始节点为数据调用请求的发起节点。

在这种情况下,若数据调用进程的起始节点的标识信息关联至目标调试版本,则说明所述起始节点与目标调试版本所属调用关系节点可以是属于同一调试环境层中,或两者属于不同调试环境层。

在本说明书实施例中,若数据调用进程的起始节点的标识信息未关联至目标调试版本,则可以确定该至少一个调用关系节点的服务路由至目标调试版本。

在本说明书实施例中,若数据调用进程的起始节点的标识信息未关联至目标调试版本,可以进一步判断所述数据调用进程中的至少一个其他调用关系节点的标识信息是否关联至目标调试版本。之后,可以根据对至少一个其他调用关系节点的标识信息是否关联至目标调试版本的判断结果,确定至少一个服务调用关系中的服务路由。例如,对数据调用进程a0→b0→c0,若a0、b0对应的调用关系节点的标识信息均未关联至目标调试版本,则可以确定b0→c0中的服务路由至c0的基础功能版本;若a0对应的调用关系节点的标识信息均未关联至目标调试版本,但b0对应的调用关系节点的标识信息均关联至目标调试版本,则可以确定b0→c0中的服务路由至c0的目标调试版本。

在本说明书实施例中,可以基于调用关系节点的标识信息与目标调试版本的标识信息之间的映射关系,匹配所述至少一个调用关系节点的标识信息;之后,根据匹配结果,判断至少一个调用关系节点的标识信息是否关联至目标调试版本。

参考上文关于步骤303的内容,可以事先根据服务调用关系建立调用关系节点的标识信息与目标调试版本的标识信息之间的映射关系。

例如在一个数据调用进程中级联在一起的调用关系节点中,若至少一个调用关系节点开发的服务包括基础功能版本和目标调试版本,则可以事先在该目标调试版本的标识信息与至少一个调用关系节点的标识信息之间建立映射关系。这样,在调试调用时,则可以利用各调用关系节点的标识信息去匹配所述映射关系,查询至少一个调用关系节点的标识信息是否具有匹配的目标调试版本。

若查询到至少一个调用关系节点的标识信息匹配至目标调试版本,则可以确定至少一个调用关系节点的标识信息关联至目标调试版本,反之未查询到各调用关系节点的标识信息匹配至目标调试版本,则可以确定各调用关系节点的标识信息未关联至目标调试版本。

在本说明书实施例中,基于调用关系节点的标识信息与目标调试版本的标识信息之间的映射关系,匹配至少一个调用关系节点的标识信息,包括:

根据至少一个调用关系节点的标识信息,查询调用关系节点的标识信息与目标调试版本的标识信息之间映射关系的存储区。

在本说明书实施例中,所述存储区可以为缓存(称作cache),可以查询调用关系节点的标识信息与目标调试版本的标识信息之间映射关系的缓存。首先从缓存中查找需要的数据,如果找到了则可以直接执行,找不到的话则可以从内存数据库中查找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。

在本说明书实施例中,如果事先将至少两个联调的不同目标调试版本标记为同一调试环境标识信息时,则基于所述调用关系节点的标识信息与目标调试版本的标识信息之间的映射关系,匹配至少一个调用关系节点的标识信息,可以包括:

基于调用关系节点的标识信息与所述同一调试环境标记信息之间的映射关系,匹配所述至少一个调用关系节点的标识信息。

在本说明书实施例中,判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,可以包括:

判断数据的依赖条件是否包括至少一个服务的目标调试版本。

所谓数据的依赖条件是指实现该数据的结果的依赖条件。

其中,可以根据所述数据本身确定该数据的依赖条件,之后判断所确定的数据的依赖条件是否包括至少一个服务的目标调试版本。具体地,可以调用所述数据的摘要信息;根据所述数据的摘要信息确定所述数据的依赖条件。

在一个应用示例中,若对一软件服务的数据进行修改,在所述数据中写入了数据的依赖条件或对数据更新了依赖条件,如域名、依赖的服务名称等信息。例如,在原数据中指明对基础功能版本的调用,而在修改后的数据中指明对目标调试版本的调用。

步骤506:根据判断结果确定所述至少一个服务调用关系中的服务路由。

这里对所述至少一个服务调用关系中的服务是否关联至目标调试版本的判断结果,可以包括是或否。则根据判断结果确定所述至少一个服务调用关系中的服务路由,包括:

若所述判断结果为是,则确定对所述目标调试版本的服务路由;

若所述判断结果为否,则确定对所述基础功能版本的服务路由。

参考对步骤504的内容,在判断所述数据调用进程的起始节点的标识信息是否关联至目标调试版本时,若判断结果为是,则可以确定对目标调试版本的服务路由;若判断结果为否,则可以确定对基础功能版本的服务路由。

在本说明书实施例中,在判断结果为否时,说明数据调用进程的起始节点独立于调试环境层之外,此时还可以继续判断所述数据调用进程中的至少一个其他调用关系节点的标识信息是否关联至目标调试版本。在这种情况下,根据对所述至少一个其他调用关系节点的标识信息是否关联至目标调试版本的判断结果,确定所述至少一个服务调用关系中的服务路由。

具体地,若判断结果为是,则可以确定对目标调试版本的服务路由。

但是,若判定各所述其他调用关系节点的标识信息未关联至目标调试版本,则确定所述至少一个服务调用关系中的服务路由至所述基础功能版本。

当本说明书实施例的执行主体为调用控制层时,在确定服务路由后,可以根据所确定的服务路由,启动数据调用进程,调用得到所述数据;

发送所调用得到的数据,所述调用得到的数据用于调试。调用得到的数据被发送至调试者。

当本说明书实施例的执行主体为开发者,则在确定服务路由后,可以直接调用数据。

这里启动数据调用进程,包括基于数据调用进程中的服务调用关系依次服务,至得到所述数据。

利用本说明书实施例记载的数据调用方案,可以根据对服务调用关系中服务是否关联至目标调试版本的判断结果,确定服务是路由至基础功能版本还是路由至目标调试版本。这可以解决调用出错的问题。

图6为本申请实施例提供的图3所示数据调用方法的一种应用示例的流程图,所述方法如图所示。

步骤601:获取调试环境标识信息,调试环境标识信息包括表征多个服务的目标调试版本的标识信息和机器的ip信息(可以看作调用关系节点的标识信息);

步骤603:将调试环境标识信息存储到数据库;

步骤605:将调试环境标识信息同步至缓存;

步骤607:获取基础环境标识信息,基础环境标识信息可以包括基础服务的域名信息;

步骤609:关联基础环境标识信息与调试环境标识信息;

步骤611:将基础环境标识信息与调试环境标识信息的关联发送至插件接入层;

步骤613:将基础环境标识信息与调试环境标识信息的关联发送至负载均衡层。

图7为本申请实施例提供的图5所示数据调用方法的一个应用示例的流程图。

步骤702:通过请求获取请求发起节点的标识信息;和

步骤704:通过请求获取数据来源节点的域名信息,这里的数据可以是软件服务数据;

步骤706:解析请求发起节点的标识信息,得到ip信息;

步骤708:调用缓存匹配请求发起节点的ip信息;

若匹配,则确定请求发起节点的ip信息关联至服务的目标调试版本,执行步骤710,组合目标调试版本的信息和数据来源节点的域名信息,得到调试环境调用信息;

步骤712:携带所述调试环境调用信息调用负载均衡层;

步骤714:根据携带的调试环境调用信息路由至数据来源节点对应的机器。

在本说明书另一替换例中,执行步骤716:通过请求获取数据来源节点的ip信息;

步骤718:调用缓存匹配数据来源节点的ip信息;

若匹配,则执行步骤710。

若执行步骤718和步骤708的匹配结果均为不匹配,则可以执行步骤720:正常调用负载均衡;之后,

执行步骤722:负载均衡携带基础环境调用信息至数据来源节点对应的机器。

参考上文图6中的内容,负载均衡层中存储基础环境标识信息与调试环境标识信息的关联,可以根据需要路由至对应环境中的机器。

图8为本说明书实施例提出的一种数据调用装置的结构示意图,所述结构如下所示。

数据调用装置可以包括:

调用进程确定模块801,确定基于至少一个服务调用关系构成的数据调用进程;

判断模块802,判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

服务路由确定模块803,根据判断结果确定所述至少一个服务调用关系中的服务路由。

可选地,判断所述至少一个服务调用关系中的被服务是否关联至目标调试版本,包括:

获取所述服务调用关系中的至少一个调用关系节点的标识信息;

判断所述至少一个调用关系节点的标识信息是否关联至目标调试版本。

可选地,判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,包括:

判断所述数据的依赖条件是否包括至少一个服务的目标调试版本。

基于同一发明构思,本说明书实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

根据判断结果确定所述至少一个服务调用关系中的服务路由。

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。

基于同一发明构思,本说明书实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

判断所述至少一个服务调用关系中的服务是否关联至目标调试版本,所述目标调试版本是对所述服务的基础功能版本的特例;

根据判断结果确定所述至少一个服务调用关系中的服务路由。

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。

图9为本说明书实施例提出的一种数据调用装置的结构示意图,所述结构如下所示。

数据调用装置可以包括:

确定模块901,确定基于至少一个服务调用关系构成的数据调用进程;

建立模块902,若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

可选地,建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,包括:

确定所述服务调用关系中的至少一个调用关系节点的标识信息;

建立所述至少一个调用关系节点的标识信息与目标调试版本之间的关联。

基于同一发明构思,本说明书实施例还提供一种电子设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。

基于同一发明构思,本说明书实施例还提供一种计算机可读存储介质,包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:

确定基于至少一个服务调用关系构成的数据调用进程;

若所述至少一个服务调用关系中的服务的版本包括目标调试版本,则建立所述至少一个服务调用关系中的服务与目标调试版本之间的关联,所述目标调试版本是对所述服务的基础功能版本的特例。

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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