掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式场景下异构数据加工方法及装置

文献发布时间:2023-06-19 10:08:35


一种分布式场景下异构数据加工方法及装置

技术领域

本发明涉及计算机软件技术领域,特别涉及分布式服务技术领域,具体涉及一种分布式场景下异构数据加工方法及装置。

背景技术

随着互联网技术的发展,互联网用户随之急速增长,传统的单体应用系统已经无法满足日益增长的用户压力对系统容量及高可用的需求。通过对单体应用改造为分布式服务模式,能有效的解决不断增长的系统压力,这一点已经在多家大型互联网公司的商品大促中得到验证。

总所周知,在分布式服务技术领域中,注册中心是所有分布式业务系统运行中必不可少的服务发现组件,其用于提供服务注册和订阅,也是分布式服务技术平台最核心的组件之一。但随着企业业务分布式架构的深入转型及业务场景的不断丰富化,注册到注册中心上服务和接入设备规模也在不断增加,单个注册中心存在系统性风险导致系统不可用,业界常见的措施是降低注册服务的注册数据量,或者增强注册中心集群自身的稳定性;另外一种可行的措施是搭建一个异构注册中心,当某个技术栈的注册中心全部宕机后,平台利用另一异构注册中心仍可达到对外提供服务的目的。

但随着异构注册中心异构后,客户端的数据模型必定存在一定的差异,目前还没有方法可将两种不同的注册中心上的数据统一并被服务框架充分利用起来,以实现不同体系注册中心的异构效果。因此,如何提供一种新的方案,解决上述技术问题是本领域亟待解决的技术难题。

发明内容

本发明属于大数据技术领域,本发明所提供的分布式场景下异构数据加工方法及装置,通过对核心数据模型的抽象,求同存异,将异构体系下发到客户端的数据统一转换成共同的数据模型,同时将多个异构系统的数据进行合并,进而实现了提升大规模分布式场景下支撑平台自身的高可用能力。

为了实现上述目的,提供了一种分布式场景下异构数据加工方法,包括:

实时监测异构的多个注册中心上的异构数据;

当所述异构数据发生变化时,对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并;

将加工后的异构数据推送至客户端。

优选地,所述对发生变化的异构数据进行加工包括:

根据分布式服务框架所需数据格式转化推送的异构数据的格式;

根据业务服务维度对格式转化后的多个异构数据进行合并;

将合并后的异构数据所处的分布式服务提供方添加至业务服务的提供方源链表中。

优选地,所述将加工后的异构数据推送至客户端包括:

根据提供方源链表生成负载均衡器规则及路由规则;

根据所述负载均衡器规则及路由规则确定分布式服务提供方;

从筛选后的分布式服务提供方中获取合并后的异构数据,并将合并后的异构数据提送至所述客户端。

优选地,所述实时监测异构的多个注册中心上的异构数据包括:

在每个注册中心设置适配器;

根据所述适配器实施监测所述异构数据。

第二方面,本发明提供一种分布式场景下异构数据加工装置,该装置包括:

数据监测单元,用于实时监测异构的多个注册中心上的异构数据;

数据加工单元,用于对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并;

数据推送单元,用于将加工后的异构数据推送至客户端。

优选地,所述数据加工单元包括:

格式转化模块,用于根据分布式服务框架所需数据格式转化推送的异构数据的格式;

数据合并模块,用于根据业务服务维度对格式转化后的多个异构数据进行合并;

清单添加模块,用于将合并后的异构数据所处的分布式服务提供方添加至业务服务的提供方源链表中。

优选地,所述数据推送单元包括:

规则生成模块,用于根据提供方源链表生成负载均衡器规则及路由规则;

提供方确定模块,用于根据所述负载均衡器规则及路由规则确定分布式服务提供方;

数据推送模块,用于从筛选后的分布式服务提供方中获取合并后的异构数据,并将合并后的异构数据提送至所述客户端。

优选地,所述数据监测单元包括:

适配器设置模块,用于在每个注册中心设置适配器;

数据监测模块,用于根据所述适配器实施监测所述异构数据。

第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现一种分布式场景下异构数据加工方法的步骤。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种分布式场景下异构数据加工方法的步骤。

从上述描述可知,本发明实施例所提供的一种分布式场景下异构数据加工方法及装置,首先实时监测异构的多个注册中心上的异构数据;接着,当异构数据发生变化时,对发生变化的异构数据进行加工;加工包括:转化格式、数据删除、命名修改以及数据合并;最后将加工后的异构数据推送至客户端。本发明可以在异构注册中心模式下多个注册中心的数据模型在业务系统中整合并被业务系统识别利用,进而充分保证异构注册中心技术方案的可行性,提高分布式系统下异构注册中心模式的注册中心高可用能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中提供的一种分布式场景下异构数据加工方法的流程示意图;

图2为本发明的实施例中一种分布式场景下异构数据加工方法步骤200的流程示意图;

图3为本发明的实施例中一种分布式场景下异构数据加工方法步骤300的流程示意图;

图4为本发明的实施例中一种分布式场景下异构数据加工方法步骤100的流程示意图;

图5为本发明的具体应用实例中双技术栈异构注册中心总体架构逻辑示意图;

图6为本发明的具体应用实例中数据清洗与合并装置的工作原理示意图;

图7为本发明的具体应用实例中一种分布式场景下异构数据加工方法的流程示意图;

图8为本发明实施例中一种分布式场景下异构数据加工装置的结构示意图;

图9为本发明实施例中数据加工单元的结构示意图;

图10为本发明实施例中数据推送单元的结构示意图;

图11为本发明实施例中数据监测单元的结构示意图;

图12为本发明的实施例中的电子设备的结构示意图。

具体实施方式

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

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明的实施例提供一种分布式场景下异构数据加工方法的具体实施方式,参见图1,该方法具体包括如下内容:

步骤100:实时监测异构的多个注册中心上的异构数据。

可以理解的是,步骤100中的异构数据是指不同结构的数据,体现在以下五个层次上:

1.计算机体系结构的异构;数据的物理存储来源于不同体系结构的计算机中,如:大型机、小型机、工作站、PC或嵌入式系统中。

2.操作系统的异构;数据的存储来源于不同的操作系统,如:Unix、Windows、Linux、OS/400等。

3.数据格式的异构;数据的存储管理机制不同,可以是关系型数据库系统,如:Oracle、SQL Server、DB2等,也可以是文件行二维数据,如:txt、CSV、XLS等。

4.数据存储地点异构;数据存储在分散的物理位置上,此类情况大多出现在大型机构中,如:销售数据分别存储在北京、上海、日本、韩国等多个分支机构的本地销售系统中。

5.数据存储的逻辑模型异构;数据分别在不同的业务逻辑中存储和维护,从而相同意义的数据存在表现的异构;如:独立的销售系统和独立的采购系统中存在部门的编码不一致等。

需要说明的是,异构数据往往不是一个层面的异构,而是在多个层面上都存在异构。异构数据整合的目标就在于实现不同结构的数据之间的数据信息资源、硬件设备资源和人力资源的合并和共享。

步骤200:当所述异构数据发生变化时,对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并。

具体地,当检测到注册中心上的数据变更时,根据分布式服务框架需要的终态数据格式,转化本次推送的数据格式,可包括数据删除,命名修改,数据加工等操作。接着,根据服务框架服务调用模型,按照业务服务维度,对多个异构系统的数据进行合并处理。

步骤300:将加工后的异构数据推送至客户端。

从上述描述可知,本发明实施例所提供的一种分布式场景下异构数据加工方法,首先实时监测异构的多个注册中心上的异构数据;接着,当异构数据发生变化时,对发生变化的异构数据进行加工;加工包括:转化格式、数据删除、命名修改以及数据合并;最后将加工后的异构数据推送至客户端。本发明可以在异构注册中心模式下多个注册中心的数据模型在业务系统中整合并被业务系统识别利用,进而充分保证异构注册中心技术方案的可行性,提高分布式系统下异构注册中心模式的注册中心高可用能力。

一实施例中,参见图2,步骤200进一步包括:

步骤201:根据分布式服务框架所需数据格式转化推送的异构数据的格式;

具体地,根据分布式服务框架需要的终态数据格式,转化本次推送的数据格式,包括数据删除,命名修改,数据加工等操作。

步骤202:根据业务服务维度对格式转化后的多个异构数据进行合并;

步骤203:将合并后的异构数据所处的分布式服务提供方添加至业务服务的提供方源链表中。

在步骤202以及步骤203中,根据服务框架服务调用模型,按照业务服务维度,对多个异构系统的异构数据进行合并处理,并将新产生的服务提供者信息增加到业务服务的提供方源链表中。

一实施例中,参见图3,步骤300进一步包括:

步骤301:根据提供方源链表生成负载均衡器规则及路由规则;

步骤302:根据所述负载均衡器规则及路由规则确定分布式服务提供方;

步骤303:从筛选后的分布式服务提供方中获取合并后的异构数据,并将合并后的异构数据提送至所述客户端。

在步骤301至步骤303中,将合并过的提供方清单数据将作为整体视图提供者服务框架的负载均衡器及路由规则使用,并根据该规则筛选出符合本次调用需求的提供方。接着,服务框架按照远程调用协议对筛选出的服务提供方发起远程请求调用,完成业务操作。

一实施例中,参见图4,步骤100进一步包括:

步骤101:在每个注册中心设置适配器;

为了有效地监控注册中心中的异构数据,需要共同的接口。但当每个应用程序使用不同的格式和界面提供指标时,很难将所有这些指标收集到一个地方进行可视化和警报。像其他单节点模式一样,适配器模式由模块化的容器组成。不同的应用程序容器可以提供许多不同的监控界面,而适配器容器则可以适应这种异质性以呈现一致的界面。

可以理解的是,将适配器模式应用于监控,其包含用于将由应用程序容器公开的监视接口转换为通用监视系统期望的接口工具。

步骤102:根据所述适配器实施监测所述异构数据。

在步骤101以及步骤102中,每个注册中心都配置有适配器,可以访问并监听这个注册中心的数据变更、并拉取最新数据。

为进一步地说明本申请,本申请提供一种分布式场景下异构数据加工方法的具体应用实例,该具体应用实例具体包括如下内容。

如图5所示,在异构情况下,服务同时向两个不同的注册中心进行数据注册,每个注册中心上都有服务的提供信息,服务消费者同时订阅异构的注册中心,分别获取两个注册中心上的服务数据。

本具体应用实例提供一种分布式场景下异构数据加工系统,参见图6,该系统包括注册中心A、注册中心B、数据清洗装置、数据合并装置以及分布式框架内核。其中数据清洗装置直接对接异构的多个注册中心,每个注册中心都在数据清洗装置中配置有适配器,可以访问并监听对应注册中心的数据变更、拉取最新数据。拉取数据后,清洗装置会对不通的数据进行规整,清洗为统一格式的数据,清洗方法有:删减、增加、修改。数据合并装置,对清洗后的数据,按照服务维度(按需)进行合并,最后实现数据视图的统一,为服务框架调用决策和负载均衡提供可靠的原材料。

参见图7,基于上述的分布式场景下异构数据加工系统,本具体应用实例所提供的分布式场景下异构数据加工方法包括:

步骤S101:异构的两个或者多个注册中心系统在数据变更时,将数据推送给业务系统客户端。

步骤S102:业务系统的数据清理装置检测到数据变更,根据分布式服务框架需要的终态数据格式,转化本次推送的数据格式,包括数据删除,命名修改,数据加工等操作。

步骤S103:将清洗过的数据发送给数据合并装置,合并装置根据服务框架服务调用模型,按照业务服务维度,对多个异构系统的数据进行合并处理,将新产生的服务提供者信息增加到业务服务的提供方源链表中。

步骤S104:合并过的提供方清单数据将作为整体视图提供者服务框架的负载均衡器及路由规则使用,最后筛选出符合本次调用需求的提供方。

步骤S105:分布式服务框架内核按照远程调用协议对筛选后的服务提供方发起远程请求调用,完成业务操作。

从上述描述可知,本发明实施例提供的一种分布式场景下异构数据加工方法,首先实时监测异构的多个注册中心上的异构数据;接着,当异构数据发生变化时,对发生变化的异构数据进行加工;加工包括:转化格式、数据删除、命名修改以及数据合并;最后将加工后的异构数据推送至客户端。

本发明解决了企业业务分布式技术平台达到一定规模后,平台自身部分核心组件如注册中心集群存在的系统性风险的问题。本申请为分布式系统高可用提供了一种异构数据源思路并提供了数据清洗与合并的方法和装置。通过对核心数据模型的抽象,求同存异,将异构体系下发到客户端的数据统一转换成共同的数据模型,同时将多个异构系统的数据进行合并,进而实现了大规模分布式场景下支撑平台自身的高可用能力的提升。其优点如下:

1、异构组件可以有效规避单一技术站带来的系统性风险。

2、数据清洗与合并可以解决异构系统数据模型差异性问题,实现按需取舍异构系统中差异的部分,进而能被业务系统识别。

3、清洗后的数据合并能够实现业务系统的数据视图的全局性,解决单一技术栈故障后数据视图丢失的问题。

基于同一发明构思,本申请实施例还提供了一种分布式场景下异构数据加工装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于一种分布式场景下异构数据加工装置解决问题的原理与一种分布式场景下异构数据加工方法相似,因此一种分布式场景下异构数据加工装置的实施可以参见一种分布式场景下异构数据加工方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本发明的实施例提供一种能够实现分布式场景下异构数据加工方法的分布式场景下异构数据加工装置的具体实施方式,参见图8,分布式场景下异构数据加工装置具体包括如下内容:

数据监测单元10,用于实时监测异构的多个注册中心上的异构数据;

数据加工单元20,用于对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并;

数据推送单元30,用于将加工后的异构数据推送至客户端。

优选地,参见图9,所述数据加工单元20包括:

格式转化模块201,用于根据分布式服务框架所需数据格式转化推送的异构数据的格式;

数据合并模块202,用于根据业务服务维度对格式转化后的多个异构数据进行合并;

清单添加模块203,用于将合并后的异构数据所处的分布式服务提供方添加至业务服务的提供方源链表中。

优选地,参见图10,所述数据推送单元30包括:

规则生成模块301,用于根据提供方源链表生成负载均衡器规则及路由规则;

提供方确定模块302,用于根据所述负载均衡器规则及路由规则确定分布式服务提供方;

数据推送模块303,用于从筛选后的分布式服务提供方中获取合并后的异构数据,并将合并后的异构数据提送至所述客户端。

优选地,参见图11,所述数据监测单元10包括:

适配器设置模块101,用于在每个注册中心设置适配器;

数据监测模块102,用于根据所述适配器实施监测所述异构数据。

从上述描述可知,本发明实施例提供的一种分布式场景下异构数据加工装置,首先实时监测异构的多个注册中心上的异构数据;接着,当异构数据发生变化时,对发生变化的异构数据进行加工;加工包括:转化格式、数据删除、命名修改以及数据合并;最后将加工后的异构数据推送至客户端。

本发明解决了企业业务分布式技术平台达到一定规模后,平台自身部分核心组件如注册中心集群存在的系统性风险的问题。本申请为分布式系统高可用提供了一种异构数据源思路并提供了数据清洗与合并的方法和装置。通过对核心数据模型的抽象,求同存异,将异构体系下发到客户端的数据统一转换成共同的数据模型,同时将多个异构系统的数据进行合并,进而实现了大规模分布式场景下支撑平台自身的高可用能力的提升。其优点如下:

1.异构组件可以有效规避单一技术站带来的系统性风险。

2.数据清洗与合并可以解决异构系统数据模型差异性问题,实现按需取舍异构系统中差异的部分,进而能被业务系统识别。

3.清洗后的数据合并能够实现业务系统的数据视图的全局性,解决单一技术栈故障后数据视图丢失的问题。

本申请的实施例还提供能够实现上述实施例中的一种分布式场景下异构数据加工方法中全部步骤的一种电子设备的具体实施方式,参见图12,电子设备具体包括如下内容:

处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;

其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、功率测量设备以及用户端设备等相关设备之间的信息传输。

处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的一种分布式场景下异构数据加工方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:

步骤100:实时监测异构的多个注册中心上的异构数据;

步骤200:当所述异构数据发生变化时,对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并;

步骤300:将加工后的异构数据推送至客户端。

本申请的实施例还提供能够实现上述实施例中的一种分布式场景下异构数据加工方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的一种分布式场景下异构数据加工方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:

步骤100:实时监测异构的多个注册中心上的异构数据;

步骤200:当所述异构数据发生变化时,对发生变化的异构数据进行加工;所述加工包括:转化格式、数据删除、命名修改以及数据合并;

步骤300:将加工后的异构数据推送至客户端。

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

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

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

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

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

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种分布式场景下异构数据加工方法及装置
  • 一种并行计算场景下分布式数据集合计算方法和系统
技术分类

06120112437740