CN117453665B - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117453665B CN117453665B CN202311303375.0A CN202311303375A CN117453665B CN 117453665 B CN117453665 B CN 117453665B CN 202311303375 A CN202311303375 A CN 202311303375A CN 117453665 B CN117453665 B CN 117453665B
- Authority
- CN
- China
- Prior art keywords
- consumption
- instance
- server
- token
- data
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000004140 cleaning Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、设备及存储介质。该方法包括:调用消费服务器中的任一消费实例,接收该任一消费实例对应的业务集群产生的业务数据,由该任一消费实例对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,可以将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理。由于一个任务处理设备可以对应多个消费实例,采用本发明实施例,可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着互联网和移动设备的普及,海量的数据和信息正在以前所未有的速度和规模增长着,传统的数据处理方式是一对一的kafka集群消费模式,即一个消费实例对应一个下游处理任务,使得下游处理任务所需的数据全来自其对应的一个消费实例,导致该消费实例需要清洗的数据规模巨大的同时清洗流程也将及其复杂。所以这样的消费模型势必会带来巨大的资源使用成本的问题,也会影响数据处理效率。因此如何在减小资源使用成本的情况下完成大规模的数据处理任务是一个亟需解决的问题。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据处理方法、装置、设备及存储介质,实现了在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
第一方面,本发明实施例提供了一种数据处理方法,包括:
调用消费服务器中的任一消费实例,接收任一消费实例对应的业务集群产生的业务数据;其中,任一消费实例对应的业务集群包括至少一个业务服务器;
通过任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
将清洗后的业务数据发送至任一消费实例对应的任务处理设备,以使任务处理设备对来自任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,任务处理设备将消费数据发送至任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
可见,本申请实施例中,通过调用消费服务器中的任一消费实例,接收该任一消费实例对应的业务集群产生的业务数据,由该任一消费实例对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,可以将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理。由于一个任务处理设备可以对应多个消费实例,也就是说,该任务处理设备所需的数据可以来自对应的多个消费实例,即该任务处理设备对应的各个消费实例可以对各自接收到的业务数据进行清洗,并将各个清洗后的业务数据发送至该任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理,得到消费数据。那么各个消费实例可以用于清洗得到部分消费数据,因此各个消费实例需要清洗的数据规模大大减少,同时各个消费实例的清洗流程也变得快捷。基于此,本申请实施例可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
在一种可选的实施方式中,该方法还包括:
接收***集群中的各个***服务器广播的消费实例更新消息;其中,消费实例更新消息是各个***服务器基于元数据管理中心发送的比对结果生成的,比对结果是元数据管理中心将元数据管理中心存储的关于消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的;
基于消费实例更新消息,判断是否对任一消费服务器中的消费实例进行更新;
基于判断结果,对任一消费服务器中的消费实例进行管理。
在一种可选的实施方式中,基于消费实例更新消息,判断是否对任一消费服务器中的消费实例进行更新包括:
若消费实例更新消息指示创建新的消费实例,则判断任一消费服务器的优先级,优先级包括第一优先级或者第二优先级,第一优先级表征:相应消费服务器具备部署一类业务集群对应的消费实例的权限,第二优先级表征:相应消费服务器具备部署多类业务集群对应的消费实例的权限;
若任一消费服务器的优先级为第一优先级,且任一消费服务器未部署消费实例或者任一消费服务器部署的消费实例的实例类型与消费实例更新消息指示创建的消费实例的实例类型相同,则确定对任一消费服务器中的消费实例进行更新;
若任一消费服务器的优先级为第一优先级,且任一消费服务器部署的消费实例的实例类型与消费实例更新消息指示创建的消费实例的实例类型不相同,则确定不对任一消费服务器中的消费实例进行更新;
若任一消费服务器的优先级为第二优先级,则确定对任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,基于判断结果,对任一消费服务器中的消费实例进行管理包括:
若判断结果指示对任一消费服务器中的消费实例进行更新,则从元数据管理中心的令牌桶中获取令牌;
若成功获取到令牌,且令牌的令牌标识不为门限值,则确定对任一消费服务器中的消费实例进行更新;
若未成功获取到令牌,或者成功获取到令牌但令牌的令牌标识为门限值,则确定不对任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,基于消费实例更新消息,判断是否对任一消费服务器中的消费实例进行更新包括:
若判断结果指示创建新的消费实例,则从元数据管理中心的令牌桶中获取令牌;
若成功获取到令牌,且令牌的令牌标识不为门限值,则确定对任一消费服务器中的消费实例进行更新;
若未成功获取到令牌,或者成功获取到令牌但令牌的令牌标识为门限值,则确定不对任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,该方法还包括:
在成功创建新的消费实例之后,释放令牌,并向元数据管理中心发送通知消息,以使元数据管理中心在确定通知消息指示任一消费服务器成功创建新的消费实例之后,对令牌的令牌标识进行更新,元数据管理中心基于更新后的令牌标识对令牌桶中的令牌标识进行更新。
在一种可选的实施方式中,该方法还包括:
在成功创建新的消费实例之后,将新创建的消费实例的元数据发送至元数据管理中心,以使元数据管理中心对关于消费集群中部署的各个消费实例的元数据进行更新。
在一种可选的实施方式中,基于判断结果,对任一消费服务器中的消费实例进行管理包括:
若任一消费服务器的优先级为第二优先级,且判断结果指示对任一消费服务器中的消费实例进行更新,则从任一消费服务器部署的消费实例中确定目标领导消费实例,目标领导消费实例的实例类型与消费实例更新消息指示创建的消费实例的实例类型相同,且目标领导消费实例用于对待创建的同类型消费实例进行管理;
在成功创建新的消费实例之后,通过目标领导消费实例,检测任一消费服务器新创建的同类型消费实例的数量总和是否等于消费实例更新消息指示的同类型消费实例的数量;
若通过目标领导消费实例检测到任一消费服务器新创建的同类型消费实例的数量总和等于消费实例更新消息指示的同类型消费实例的数量,则停止创建同类型消费实例。
在一种可选的实施方式中,该方法还包括:
检测任一消费服务器中的任一消费实例的状态;
若检测到任一消费服务器中的任一消费实例处于异常状态,则中断消费实例;
创建消费实例,并将中断的消费实例替换为创建的消费实例,其中,创建的消费实例的数据清洗逻辑和中断的消费实例的数据清洗逻辑相同。
第二方面,本发明实施例提供了一种数据处理装置,该装置包括:
接收单元,用于调用消费服务器中的任一消费实例,接收任一消费实例对应的业务集群产生的业务数据;其中,任一消费实例对应的业务集群包括至少一个业务服务器;
清洗单元,通过任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
发送单元,将清洗后的业务数据发送至任一消费实例对应的任务处理设备,以使任务处理设备对来自任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,任务处理设备将消费数据发送至任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
第三方面,本发明实施例提供了一种服务器,该服务器包括存储器、通信接口以及处理器,其中,存储器、通信接口和处理器相互连接;存储器存储有计算机程序,处理器调用所述存储器中存储的计算机程序,用于实现上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
第五方面,本发明实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第六方面,本发明实施例提供了一种计算机程序,该计算机程序包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种数据处理***的结构示意图;
图2是本申请实施例提供的一种数据处理方法流程图;
图3是本申请实施例提供的一种消费实例部署管理方法流程图;
图4是本申请实施例提供的一种令牌桶机制示意图;
图5是本申请实施例提供的一种数据处理架构图;
图6是本申请实施例提供的一个集群与下游任务处理设备关系示意图;
图7是本申请实施例提供的一种动态部署管理消费实例的方法流程图;
图8是本申请实施例提供的一种数据处理装置示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本申请中,采用了诸如S201、S202等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S202后执行S201等,但这些均应在本申请的保护范围之内。
请参见图1,图1是本申请实施例提供的一种数据处理***的结构示意图。图1所示的设备形态用于举例并不构成对本申请实施例的限定。如图1所示,该数据处理***中可以包括至少一个消费服务器(该消费服务器上部署至少一个消费实例,如图1所示的Ps消费实例或者小程序消费实例)、该消费服务器上的任一消费实例对应的至少一个业务集群(该业务集群至少包括一个业务服务器)和该消费服务器上的任一消费实例对应的至少一个任务处理设备(该任务处理设备功能可以集成在该消费服务器中)。
其中,该消费服务器上部署的任一消费实例可以接收该任一消费实例对应的业务服务器产生的业务数据,由该任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据,将清洗后的业务数据发送至该任一消费实例对应的任务处理设备,以使该任务处理设备对来自该任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,任务处理设备将该消费数据发送至该任务处理设备对应的客户端。
可选的,该消费服务器上可以集成一个定时任务,用于周期性或者实时检测该消费服务器中的任一消费实例的状态。若检测到所述任一消费服务器中的任一消费实例处于异常状态包括线程卡死或者线程挂起等,则中断该消费实例,创建消费实例,并将中断的消费实例替换为创建的消费实例。
可选的,该数据处理***还可以包括***服务器和元数据管理中心。该元数据管理中心可以接收并存储来自消费服务器中部署的各个消费实例的元数据,将该关于消费服务器中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到比对结果,再将该比对结果发送给***服务器,使该***服务器基于该接收到的比对结果生成消费实例更新消息,并将该消费实例更新消息广播至消费服务器,使消费服务器可以基于该接收到的消费实例更新消息判断是否对该消费服务器中的消费实例进行更新,再基于该判断结果,对该消费服务器中的消费实例进行管理。
可见,本申请实施例中,通过调用消费服务器中的任一消费实例,接收该任一消费实例对应的业务集群产生的业务数据,由该任一消费实例对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,可以将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理,由于一个任务处理设备可以对应多个消费实例,也就是说,该任务处理设备所需的数据可以来自对应的多个消费实例,即该任务处理设备对应的各个消费实例可以对各自接收到的业务数据进行清洗,并将各个清洗后的业务数据发送至该任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理,得到消费数据。那么各个消费实例可以用于清洗得到部分消费数据,因此各个消费实例需要清洗的数据规模大大减少,同时各个消费实例的清洗流程也变得快捷,也因此可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
结合图1所示的***的结构示意图,该数据处理***的应用可以参见图2所示的一种数据处理方法流程图,该数据处理方法应用于消费集群中的任一消费服务器中,如图所示,
S201、调用消费服务器中的任一消费实例,接收任一消费实例对应的业务集群产生的业务数据。
如图1所示的***的结构示意图中包括三个业务集群和四个消费实例,三个业务集群分别为Ps业务集群、shield业务集群和小程序业务集群,四个消费实例分别为Ps消费实例1、Ps消费实例2、shield消费实例和小程序消费实例。Ps消费实例1和Ps消费实例2对应Ps业务集群,shield消费实例对应shield业务集群,小程序消费实例对应小程序业务集群。所以调用Ps消费实例1和Ps消费实例2可以接收对应的Ps业务集群产生的业务数据,调用shield消费实例可以接收对应的shield业务集群产生的业务数据,调用小程序消费实例可以接收对应的小程序业务集群产生的业务数据。
其中,任一消费实例对应的业务集群包括至少一个业务服务器,示例性的,如图1所示的***的结构示意图中包括三个业务集群,分别为Ps业务集群、shield业务集群和小程序业务集群,其中Ps业务集群可以包括10台业务服务器,shield业务集群可以包括10台业务服务器,小程序业务集群可以包括5台业务服务器。
S202、通过任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据。
不同消费实例的数据清洗逻辑不同,一个消费实例的数据清洗逻辑可以根据具体需求和场景不同而不同,示例性的,一个消费实例的清洗逻辑可以包括从对应的业务集群接收到业务数据;对该接收到的业务数据进行清洗和修正,以满足指定的要求,得到清洗后的业务数据;再对该清洗后的业务数据进行进一步的验证,确保数据的准确性和完整性;根据业务要求,将该清洗后的业务数据转发至对应的任务处理设备。其中,对接收到的业务数据进行清洗和修正可以包含:数据格式校验,如字段是否完整、数据是否符合预期的格式等;数据纠错,如对异常或者错误的数据进行修复或标记;数据转换,对数据进行规范化处理,如日期格式的转换、单位转换等;数据过滤,根据指定条件过滤掉不需要的数据等。
进一步的,由于多个任务处理设备需要的数据可以由同样的清洗逻辑得到,所以任一个消费实例也可以对应多个任务处理设备,即任一个消费实例可以对接收的业务数据进行清洗,得到清洗后的业务数据,将该清洗后的业务数据发送至各个该消费实例对应的任务处理设备,实现数据复用,因此也可以进一步在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
S203、将清洗后的业务数据发送至任一消费实例对应的任务处理设备,以使任务处理设备对来自任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据。
一个任务处理设备可以对应多个消费实例,一个消费实例也可以对应多个任务处理设备。示例性的,一个任务处理设备对应多个消费实例时,该多个消费实例得到清洗后的业务数据后,分别将各自得到的该业务数据发送至该任务处理设备,以使任务处理设备对来自任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据。一个消费实例对应多个任务处理设备时,该消费实例得到清洗后的业务数据后,将得到的该业务数据发送至对应的多个任务处理设备,以使各个任务处理设备对来自任务处理设备对应该消费实例的清洗后的业务数据进行处理,得到消费数据。
其中,任务处理设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,该任务处理设备的功能也可以是集成在消费服务器中。
结合图1所示的***的结构示意图,该数据处理***中消费实例的部署管理可以参见图3所示的一种消费实例部署管理方法流程图,该消费实例部署管理方法应用于消费集群中的任一消费服务器中,如图所示,
S301、接收***集群中的各个***服务器广播的消费实例更新消息。
其中,该消费实例更新消息的生成过程可以包括:任一任务处理设备或者用户可以将需要部署的消费实例全量数据写入指定数据库中,元数据管理中心可以获取该需要部署的消费实例全量数据,与该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据进行比对,得到比对结果,将该比对结果发送至***集群中的各个***服务器,该各个***服务器可以基于该元数据管理中心发送的比对结果生成该消费实例更新消息。
该更新消息可以指示包括创建新的消费实例,销毁某一消费实例或者对某一消费实例的相关信息进行更新等操作。
可选的,该元数据管理中心可以集成一个定时任务,用于周期性或者实时性将该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对。示例性的,可以设置一个周期为30分钟,举例来说,假设该数据处理***在某一天0点部署成功,开始运行,那么该元数据管理中心在00:00将该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对,在00:30再次进行上述操作,然后不断重复。
S302、基于消费实例更新消息,判断是否对任一消费服务器中的消费实例进行更新。
在一种实现方式中,若该消费实例更新消息指示创建新的消费实例,则判断该任一消费服务器的优先级,该优先级包括第一优先级或者第二优先级,其中,第一优先级表征:相应消费服务器具备部署一类业务集群对应的消费实例的权限,第二优先级表征:相应消费服务器具备部署多类业务集群对应的消费实例的权限。
若该任一消费服务器的优先级为第一优先级,且该任一消费服务器未部署消费实例或者该任一消费服务器部署的消费实例的实例类型与该消费实例更新消息指示创建的消费实例的实例类型相同,则确定对该任一消费服务器中的消费实例进行更新。
若该任一消费服务器的优先级为第一优先级,且该任一消费服务器部署的消费实例的实例类型与该消费实例更新消息指示创建的消费实例的实例类型不相同,则确定不对该任一消费服务器中的消费实例进行更新;
若该任一消费服务器的优先级为第二优先级,则确定对该任一消费服务器中的消费实例进行更新。
示例性的,假设三个消费服务器优先级都为第一优先级,其中一个第一消费服务器已部署ps消费实例,一个第二消费服务器已部署小程序消费实例,一个第三消费服务器未部署任一消费实例,同时还有一个第四消费服务器为第二优先级且已部署小程序消费实例,此时该四个消费服务器同时接收到***服务器广播的消费实例更新消息,该消费实例更新消息指示创建新的ps消费实例,则第一消费服务器确定对该服务器中的消费实例进行更新,第二消费服务器确定不对该消费服务器中的消费实例进行更新,第三消费服务器确定对该服务器中的消费实例进行更新,第四消费服务器确定对该服务器中的消费实例进行更新。
在另一种实现方式中,可以参见图4的一种令牌桶机制示意图,若该判断结果指示创建新的消费实例,则从元数据管理中心的令牌桶中获取令牌。
若成功获取到该令牌,且该令牌的令牌标识不为门限值,则确定对该任一消费服务器中的消费实例进行更新,且在成功创建新的消费实例之后,释放该令牌,并向该元数据管理中心发送通知消息,以使该元数据管理中心在确定该通知消息指示该任一消费服务器成功创建新的消费实例之后,对该令牌的令牌标识进行更新,该元数据管理中心基于更新后的令牌标识对该令牌桶中的令牌标识进行更新。
若未成功获取到该令牌,或者成功获取到该令牌但该令牌的令牌标识为门限值,则确定不对该任一消费服务器中的消费实例进行更新。
其中,令牌标识可以包括数字或者字母符号等,示例性的,该令牌标识为数字时,消费实例更新消息指示创建10个消费实例,门限值可以为0,令牌桶的数字可以为10,该令牌桶的数字由元数据管理中心在向***服务器发送比对结果前,基于该比对结果写入。若消费服务器成功获取该令牌,且该令牌数字为1到10之间的任一整数,则确定对该消费服务器中的消费实例进行更新,且在成功创建新的消费实例之后,释放该令牌,并向该元数据管理中心发送通知消息,以使该元数据管理中心在确定该通知消息指示该消费服务器成功创建新的消费实例之后,对该令牌的令牌数字进行递减更新。若消费服务器未成功获取到该令牌,或者成功获取到该令牌但该令牌的令牌标识为0,则确定不对该消费服务器中的消费实例进行更新。且当成功获取到该令牌但该令牌的令牌标识为0时,消费服务器不再进行获取令牌操作。
令牌桶数字进行递增更新时同理。
S303、基于判断结果,对任一消费服务器中的消费实例进行管理。
在一种实现方式中,若在步骤S302中,消费实例更新消息指示创建新的消费实例,判断该任一消费服务器的优先级为第二优先级,且该判断结果指示对该任一消费服务器中的消费实例进行更新,则从该任一消费服务器部署的消费实例中确定目标领导消费实例,该目标领导消费实例的实例类型与该消费实例更新消息指示创建的消费实例的实例类型相同,且该目标领导消费实例用于对待创建的同类型消费实例进行管理,该目标领导消费实例可以是预先指定,也可以是数据处理过程中按需部署得到。
在成功创建新的消费实例之后,通过该目标领导消费实例,检测该任一消费服务器新创建的同类型消费实例的数量总和是否等于该消费实例更新消息指示的同类型消费实例的数量。若通过该目标领导消费实例检测到该任一消费服务器新创建的同类型消费实例的数量总和等于该消费实例更新消息指示的同类型消费实例的数量,则停止创建同类型消费实例。
举例来说,一个优先级为第二优先级的消费服务器,该消费服务器上部署了5个ps消费实例,其中包括ps领导消费实例,还部署了9个小程序消费实例,其中包括小程序领导消费实例。当消费实例更新消息指示创建3个新的ps消费实例和1个新的小程序消费实例,该消费服务器在成功创建1个新的ps消费实例后,ps领导消费实例检测该消费服务器新创建的ps消费实例的数量总和不等于该消费实例更新消息指示的ps消费实例的数量,则可以继续创建该ps消费实例;该消费服务器在成功创建1个新的小程序消费实例后,小程序领导费实例检测该消费服务器新创建的小程序消费实例的数量总和等于该消费实例更新消息指示的小程序消费实例的数量,则停止创建该小程序消费实例。
可选的,该任一消费服务器在成功创建新的消费实例之后,将新创建的消费实例的元数据发送至元数据管理中心,以使元数据管理中心对关于消费集群中部署的各个消费实例的元数据进行更新。该元数据包括部署该新创建的消费实例的消费服务器的ip地址和该新创建的消费实例的数据过滤条件。该元数据管理中心存储的数据包括新的需要接受转发数据的集群元数据和该元数据管理中心自身元数据,该新的需要接受转发数据的集群可以包括业务集群或者任务处理设备集群。
1、新的需要接受转发数据的集群元数据
可以参见图5所示的一种数据处理架构图,如图5所示,该新的需要接受转发数据的集群向该元数据管理中心提交该新的需要接受转发数据的集群的元数据包括基础信息和该新的需要接受转发数据的集群的数据过滤条件,该元数据管理中心基于该提交的元数据将流量转发给该新的需要接受转发数据的集群。
其中,当该新的需要接受转发数据的集群是某一业务集群时,该某一业务集群的基础信息包括该业务集群中所有业务服务器的ip地址和来自该业务集群的业务数据要写入的文件名称;当该新的需要接受转发数据的集群是某一任务处理设备集群时,该某一任务处理设备集群的基础信息包括该任务处理设备集群中所有任务处理设备的ip地址包括集成该任务处理设备功能的服务器的ip地址,以及该任务处理设备集群中任一任务处理设备需要获取的来自目标类型业务集群包含的所有服务器的ip地址,该目标类型业务集群至少包括一个类型的业务集群,举例来说,该任务处理设备集群需要获取来自小程序集群的业务数据,则该任务处理设备集群的基础信息包括该任务处理设备集群中所有任务处理设备的ip地址和该小程序集群包含的所有服务器的地址。
其中,该新的需要接受转发数据的集群的数据过滤条件,示例性的,假设该数据过滤条件:params.userId!=null,待转发的数据为:
{
"params":{
"userId":"aaa-asd-v-qweq-h",
"age":12
}
}
由于该待转发的数据的userId为“aaa-asd-v-qweq-h”满足过滤条件所以可以将该待转发的数据转发至该新的需要接受转发数据的集群,若待转发的数据的userId为“null”,则该待转发的数据不会被转发至该新的需要接受转发数据的集群。
2、该元数据管理中心自身元数据
结合图1所示的***的结构示意图,该元数据管理中心管理包括***集群、消费集群、业务集群以及任务处理设备集群等众多集群,可以理解的,该元数据管理中心自身元数据包括该元数据管理中心管理的众多集群包含的所有服务器的ip地址、来自该元数据管理中心管理的业务集群的业务数据要写入的文件名称、来自该元数据管理中心管理的业务集群的业务数据要写入的任一文件对应的所有消费实例数量、运行该任一文件对应的所有消费实例的服务器数量、该任一文件对应的所有消费实例所在的各个服务器的ip地址、该各个服务器上对应该任一文件的消费实例数量以及该元数据管理中心管理的各个集群各自对应的下游任务处理设备等数据。
举例来说,若该元数据管理中心管理一个sheild业务集群,该sheild业务集群包含一个业务服务器,该业务服务器ip地址为10.20.44.11:8888,则该元数据管理中心管理的众多集群包含的所有服务器的ip地址为10.20.44.11:8888,进一步的,若该sheild业务集群产生的业务数据要写入文件“sheild_get_reports”,则该元数据管理中心自身元数据包括该sheild业务集群产生的业务数据要写入文件“sheild_get_reports”;示例性的,若该“sheild_get_reports”对应的消费实例有400个,需要40台消费服务器,则每台消费服务器上有10个消费实例,则来自该元数据管理中心管理的业务集群的业务数据要写入的任一文件对应的所有消费实例数量和运行该任一文件对应的所有消费实例的服务器数量为“sheild_get_reports”对应的消费实例400个,需要40台消费服务器,每台消费服务器上有10个消费实例,进一步的,运行该任一文件对应的所有消费实例的服务器数量、该任一文件对应的所有消费实例所在的各个服务器的ip地址和该各个服务器上对应该任一文件的消费实例数量可以是:“sheild_get_reports”分布在服务器10.11.33.66(10个消费实例)、10.11.33.07(10个消费实例)、10.11.33.68(10个消费实例)、10.11.33.69(10个消费实例);该元数据管理中心管理的各个集群各自对应的下游任务处理设备可以参见图6所示的一个集群与下游任务处理设备关系示意图,如图所示,该元数据管理中心管理的“sheild_get_reports”被下游model_1_topic、model_2_topic、model_3_topic三个任务处理设备订阅,即该元数据管理中心管理的“sheild_get_reports”与model_1_topic、model_2_topic、model_3_topic分别对应。
在一种实施方式中,该数据处理***中消费实例的动态部署管理可以参见图7所示的一种动态部署管理消费实例的方法流程图,该动态部署管理消费实例的方法应用于消费集群中的任一消费服务器中,如图所示。
S701、接收***集群中的各个***服务器广播的消费实例更新消息。
任一任务处理设备或者用户可以将需要部署的消费实例全量数据写入指定数据库中,元数据管理中心可以集成一个定时任务以周期性获取该需要部署的消费实例全量数据,与该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据进行比对,得到比对结果,将该比对结果发送至***集群中的各个***服务器,该各个***服务器可以基于该元数据管理中心发送的比对结果生成该消费实例更新消息。
该更新消息可以指示包括创建新的消费实例,销毁某一消费实例或者对某一消费实例的相关信息进行更新等操作。
S702、基于该消费实例更新消息,判断是否对该任一消费服务器中的消费实例进行更新。
S703、若该更新消息指示对销毁某一消费实例或者对某一消费实例的相关信息进行更新等操作,则对该特定消费实例进行执行该操作。
S704、若该消费实例更新消息指示创建新的消费实例,则判断该任一消费服务器的优先级。
该判断方法与上述步骤S302中判断优先级的方法相同,故此处不再赘述。
S705、若判断优先级后得到判断结果指示对该任一消费服务器中的消费实例进行更新,则触发令牌桶机制。
若该判断结果指示对该任一消费服务器中的消费实例进行更新,则从元数据管理中心的令牌桶中获取令牌,若成功获取到该令牌,且该令牌的令牌标识不为门限值,则确定对该任一消费服务器中的消费实例进行更新;若未成功获取到该令牌,或者成功获取到该令牌但该令牌的令牌标识为门限值,则确定不对该任一消费服务器中的消费实例进行更新。该令牌桶机制与上述步骤S302中的一种令牌桶机制相同,故此处不再赘述。
S706、成功创建新的消费实例之后,释放该令牌,并向该元数据管理中心发送通知消息。
使该元数据管理中心在确定该通知消息指示该任一消费服务器成功创建新的消费实例之后,对该令牌的令牌标识进行更新,该元数据管理中心可以基于更新后的令牌标识对该令牌桶中的令牌标识进行更新,并且在成功创建新的消费实例之后,还需将新创建的消费实例的元数据发送至该元数据管理中心,以使该元数据管理中心对关于所述消费集群中部署的各个消费实例的元数据进行更新。使该元数据管理中心可以周期性地将该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的比对结果,对该数据处理***中的消费实例进行动态管理部署。
进一步的,该消费集群中的任一消费服务器中还可以集成定时任务,用于检测该任一消费服务器中的任一消费实例的状态,若检测到所述任一消费服务器中的任一消费实例处于异常状态,则中断该消费实例,进行创建消费实例操作,并将该中断的消费实例替换为该创建的消费实例,其中,该创建的消费实例的数据清洗逻辑和该中断的消费实例的数据清洗逻辑相同,使该数据处理***中的消费实例处于正常运行状态,保障了该消费集群的高可用性。
在该数据***的应用中可以通过调用消费服务器中的任一消费实例,可以接收该任一消费实例对应的业务集群产生的业务数据,并由该任一消费实例对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理。由于其中任一消费实例可以对应多个任务处理设备,任一个任务处理设备也可以对应多个消费实例,因此该数据处理***可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
基于相关实施例的描述,本申请实施例还提供了一种数据处理装置,该数据处理装置可以执行图1到图7所示的消费服务器执行的操作。请参见图8,图8是本申请实施例提供的一种数据处理装置示意图。如图8所示,该数据处理装置可包括但不限于接收单元801、清洗单元802以及发送单元803。
接收单元801,用于调用消费服务器中的任一消费实例,接收该任一消费实例对应的业务集群产生的业务数据;其中,该任一消费实例对应的业务集群包括至少一个业务服务器;
清洗单元802,用于通过该任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
发送单元803,用于将该清洗后的业务数据发送至所述任一消费实例对应的任务处理设备,以使该任务处理设备对来自该任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,该任务处理设备将该消费数据发送至该任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
该数据处理装置还包括判断单元804和管理单元805;
接收单元801,还用于接收***集群中的各个***服务器广播的消费实例更新消息;其中,该消费实例更新消息是该各个***服务器基于元数据管理中心发送的比对结果生成的,该比对结果是该元数据管理中心将该元数据管理中心存储的关于该消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的;
判断单元804,用于基于该消费实例更新消息,判断是否对该任一消费服务器中的消费实例进行更新;
管理单元805,用于基于判断结果,对该任一消费服务器中的消费实例进行管理。
在一种可选的实施方式中,判断单元804,用于若所述消费实例更新消息指示创建新的消费实例,则判断所述任一消费服务器的优先级,所述优先级包括第一优先级或者第二优先级,所述第一优先级表征:相应消费服务器具备部署一类业务集群对应的消费实例的权限,所述第二优先级表征:相应消费服务器具备部署多类业务集群对应的消费实例的权限;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器未部署消费实例或者所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,则确定对所述任一消费服务器中的消费实例进行更新;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型不相同,则确定不对所述任一消费服务器中的消费实例进行更新;
若所述任一消费服务器的优先级为第二优先级,则确定对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,管理单元805,用于若所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则确定对所述任一消费服务器中的消费实例进行更新;
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则确定不对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,判断单元804,用于若所述判断结果指示创建新的消费实例,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则确定对所述任一消费服务器中的消费实例进行更新;
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则确定不对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,管理单元805,还用于在成功创建新的消费实例之后,释放所述令牌,并向所述元数据管理中心发送通知消息,以使所述元数据管理中心在确定所述通知消息指示所述任一消费服务器成功创建新的消费实例之后,对所述令牌的令牌标识进行更新,所述元数据管理中心基于更新后的令牌标识对所述令牌桶中的令牌标识进行更新。
在一种可选的实施方式中,管理单元805,还用于在成功创建新的消费实例之后,将新创建的消费实例的元数据发送至所述元数据管理中心,以使所述元数据管理中心对关于所述消费集群中部署的各个消费实例的元数据进行更新。
在一种可选的实施方式中,管理单元805,用于若所述任一消费服务器的优先级为第二优先级,且所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述任一消费服务器部署的消费实例中确定目标领导消费实例,所述目标领导消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,且所述目标领导消费实例用于对待创建的同类型消费实例进行管理;
在成功创建新的消费实例之后,通过所述目标领导消费实例,检测所述任一消费服务器新创建的同类型消费实例的数量总和是否等于所述消费实例更新消息指示的同类型消费实例的数量;
若通过所述目标领导消费实例检测到所述任一消费服务器新创建的同类型消费实例的数量总和等于所述消费实例更新消息指示的同类型消费实例的数量,则停止创建同类型消费实例。
在一种可选的实施方式中,管理单元805,还用于检测所述任一消费服务器中的任一消费实例的状态;
若检测到所述任一消费服务器中的任一消费实例处于异常状态,则中断所述消费实例;
创建消费实例,并将中断的消费实例替换为创建的消费实例,其中,所述创建的消费实例的数据清洗逻辑和所述中断的消费实例的数据清洗逻辑相同。
本申请实施例中,在该数据***的应用中可以调用消费服务器中的任一消费实例,接收单元801可以接收该任一消费实例对应的业务集群产生的业务数据,并由清洗单元802对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,发送单元803将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理。由于任一个任务处理设备也可以对应多个消费实例,因此该数据处理***可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
本申请实施例还提供一种服务器,请参见图9,图9是本申请实施例提供的一种服务器的结构示意图。如图9所示,该服务器至少包括处理器901、存储器902和通信接口903可通过总线904或其他方式连接,本申请实施例以通过总线904连接为例。本申请实施例的处理器901可通过运行存储器902中存储的计算机程序,执行前述数据处理方法中服务器的操作,例如:
调用消费服务器中的任一消费实例,接收所述任一消费实例对应的业务集群产生的业务数据;其中,所述任一消费实例对应的业务集群包括至少一个业务服务器;
通过所述任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
将所述清洗后的业务数据发送至所述任一消费实例对应的任务处理设备,以使所述任务处理设备对来自所述任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,所述任务处理设备将所述消费数据发送至所述任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
在一种可选的实施方式中,处理器901还用于执行如下操作:
接收***集群中的各个***服务器广播的消费实例更新消息;其中,所述消费实例更新消息是所述各个***服务器基于元数据管理中心发送的比对结果生成的,所述比对结果是所述元数据管理中心将所述元数据管理中心存储的关于所述消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的;
基于所述消费实例更新消息,判断是否对所述任一消费服务器中的消费实例进行更新;
基于判断结果,对所述任一消费服务器中的消费实例进行管理。
在一种可选的实施方式中,所述处理器901基于所述消费实例更新消息,判断是否对所述任一消费服务器中的消费实例进行更新时,具体用于执行如下操作:
若所述消费实例更新消息指示创建新的消费实例,则判断所述任一消费服务器的优先级,所述优先级包括第一优先级或者第二优先级,所述第一优先级表征:相应消费服务器具备部署一类业务集群对应的消费实例的权限,所述第二优先级表征:相应消费服务器具备部署多类业务集群对应的消费实例的权限;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器未部署消费实例或者所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,则确定对所述任一消费服务器中的消费实例进行更新;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型不相同,则确定不对所述任一消费服务器中的消费实例进行更新;
若所述任一消费服务器的优先级为第二优先级,则确定对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,所述处理器901基于判断结果,对所述任一消费服务器中的消费实例进行管理,具体用于执行如下操作:
若所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则确定对所述任一消费服务器中的消费实例进行更新;
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则确定不对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,所述处理器901基于所述消费实例更新消息,判断是否对所述任一消费服务器中的消费实例进行更新,执行如下操作:
若所述判断结果指示创建新的消费实例,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则确定对所述任一消费服务器中的消费实例进行更新;
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则确定不对所述任一消费服务器中的消费实例进行更新。
在一种可选的实施方式中,处理器901,还执行如下操作:
在成功创建新的消费实例之后,释放所述令牌,并向所述元数据管理中心发送通知消息,以使所述元数据管理中心在确定所述通知消息指示所述任一消费服务器成功创建新的消费实例之后,对所述令牌的令牌标识进行更新,所述元数据管理中心基于更新后的令牌标识对所述令牌桶中的令牌标识进行更新。
在一种可选的实施方式中,处理器901,还执行如下操作:
在成功创建新的消费实例之后,将新创建的消费实例的元数据发送至所述元数据管理中心,以使所述元数据管理中心对关于所述消费集群中部署的各个消费实例的元数据进行更新。
在一种可选的实施方式中,处理器901基于判断结果,对所述任一消费服务器中的消费实例进行管理,执行如下操作:
若所述任一消费服务器的优先级为第二优先级,且所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述任一消费服务器部署的消费实例中确定目标领导消费实例,所述目标领导消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,且所述目标领导消费实例用于对待创建的同类型消费实例进行管理;
在成功创建新的消费实例之后,通过所述目标领导消费实例,检测所述任一消费服务器新创建的同类型消费实例的数量总和是否等于所述消费实例更新消息指示的同类型消费实例的数量;
若通过所述目标领导消费实例检测到所述任一消费服务器新创建的同类型消费实例的数量总和等于所述消费实例更新消息指示的同类型消费实例的数量,则停止创建同类型消费实例。
在一种可选的实施方式中,处理器901,还执行如下操作:
检测所述任一消费服务器中的任一消费实例的状态;
若检测到所述任一消费服务器中的任一消费实例处于异常状态,则中断所述消费实例;
创建消费实例,并将中断的消费实例替换为创建的消费实例,其中,所述创建的消费实例的数据清洗逻辑和所述中断的消费实例的数据清洗逻辑相同。
本申请实施例中,在该数据***的应用中可以调用消费服务器中的任一消费实例,处理器901可以接收该任一消费实例对应的业务集群产生的业务数据,并由对该接收到的业务数据进行数据清洗,得到清洗后的业务数据,将该清洗后的业务数据发送至该任一消费实例对应的任务处理设备,使该任务处理设备对来自各个消费实例的清洗后的业务数据进行处理。由于任一个任务处理设备也可以对应多个消费实例,因此该数据处理***可以在仅使用少量资源的情况下,完成大规模的数据清洗与流量分发工作。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述任一方法实施例中的步骤。
本申请实施例还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行上述任一方法实施例中的步骤。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种数据处理方法,其特征在于,所述数据处理方法应用于消费集群中的任一消费服务器中,所述方法包括:
接收***集群中的各个***服务器广播的消费实例更新消息;其中,所述消费实例更新消息是所述各个***服务器基于元数据管理中心发送的比对结果生成的,所述比对结果是所述元数据管理中心将所述元数据管理中心存储的关于所述消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的;
若所述消费实例更新消息指示创建新的消费实例,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则生成用于指示对所述任一消费服务器中的消费实例进行更新的判断结果;
基于所述判断结果,对所述任一消费服务器中的消费实例进行管理;
调用所述任一消费服务器中的任一消费实例,接收所述任一消费实例对应的业务集群产生的业务数据;其中,所述任一消费实例对应的业务集群包括至少一个业务服务器;
通过所述任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
将所述清洗后的业务数据发送至所述任一消费实例对应的任务处理设备,以使所述任务处理设备对来自所述任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,所述任务处理设备将所述消费数据发送至所述任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述消费实例更新消息指示创建新的消费实例,则判断所述任一消费服务器的优先级,所述优先级包括第一优先级或者第二优先级,所述第一优先级表征:相应消费服务器具备部署一类业务集群对应的消费实例的权限,所述第二优先级表征:相应消费服务器具备部署多类业务集群对应的消费实例的权限;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器未部署消费实例或者所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,则生成用于指示对所述任一消费服务器中的消费实例进行更新的判断结果;
若所述任一消费服务器的优先级为第一优先级,且所述任一消费服务器部署的消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型不相同,则生成用于指示不对所述任一消费服务器中的消费实例进行更新的判断结果;
若所述任一消费服务器的优先级为第二优先级,则生成用于指示对所述任一消费服务器中的消费实例进行更新的判断结果。
3.如权利要求2所述的方法,其特征在于,所述基于所述判断结果,对所述任一消费服务器中的消费实例进行管理,包括:
若所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述元数据管理中心的令牌桶中获取令牌;
若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则对所述任一消费服务器中的消费实例进行更新;
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则不对所述任一消费服务器中的消费实例进行更新。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若未成功获取到所述令牌,或者成功获取到所述令牌但所述令牌的令牌标识为门限值,则生成用于指示不对所述任一消费服务器中的消费实例进行更新的判断结果。
5.如权利要求1或3所述的方法,其特征在于,所述方法还包括:
在成功创建新的消费实例之后,释放所述令牌,并向所述元数据管理中心发送通知消息,以使所述元数据管理中心在确定所述通知消息指示所述任一消费服务器成功创建新的消费实例之后,对所述令牌的令牌标识进行更新,所述元数据管理中心基于更新后的令牌标识对所述令牌桶中的令牌标识进行更新。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
在成功创建新的消费实例之后,将新创建的消费实例的元数据发送至所述元数据管理中心,以使所述元数据管理中心对关于所述消费集群中部署的各个消费实例的元数据进行更新。
7.如权利要求2所述的方法,其特征在于,所述基于所述判断结果,对所述任一消费服务器中的消费实例进行管理,包括:
若所述任一消费服务器的优先级为第二优先级,且所述判断结果指示对所述任一消费服务器中的消费实例进行更新,则从所述任一消费服务器部署的消费实例中确定目标领导消费实例,所述目标领导消费实例的实例类型与所述消费实例更新消息指示创建的消费实例的实例类型相同,且所述目标领导消费实例用于对待创建的同类型消费实例进行管理;
在成功创建新的消费实例之后,通过所述目标领导消费实例,检测所述任一消费服务器新创建的同类型消费实例的数量总和是否等于所述消费实例更新消息指示的同类型消费实例的数量;
若通过所述目标领导消费实例检测到所述任一消费服务器新创建的同类型消费实例的数量总和等于所述消费实例更新消息指示的同类型消费实例的数量,则停止创建同类型消费实例。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述任一消费服务器中的任一消费实例的状态;
若检测到所述任一消费服务器中的任一消费实例处于异常状态,则中断所述消费实例;
创建消费实例,并将中断的消费实例替换为创建的消费实例,其中,所述创建的消费实例的数据清洗逻辑和所述中断的消费实例的数据清洗逻辑相同。
9.一种数据处理装置,其特征在于,所述装置包括:
接收单元,用于接收***集群中的各个***服务器广播的消费实例更新消息;其中,所述消费实例更新消息是所述各个***服务器基于元数据管理中心发送的比对结果生成的,所述比对结果是所述元数据管理中心将所述元数据管理中心存储的关于消费集群中部署的各个消费实例的元数据,与需部署的关于消费实例的全量数据进行比对得到的;
判断单元,用于若所述消费实例更新消息指示创建新的消费实例,则从所述元数据管理中心的令牌桶中获取令牌;若成功获取到所述令牌,且所述令牌的令牌标识不为门限值,则生成用于指示对任一消费服务器中的消费实例进行更新的判断结果;
管理单元,用于基于所述判断结果,对所述任一消费服务器中的消费实例进行管理;
所述接收单元,还用于调用消费服务器中的任一消费实例,接收所述任一消费实例对应的业务集群产生的业务数据;其中,所述任一消费实例对应的业务集群包括至少一个业务服务器;
清洗单元,通过所述任一消费实例对接收到的业务数据进行数据清洗,得到清洗后的业务数据;
发送单元,将所述清洗后的业务数据发送至所述任一消费实例对应的任务处理设备,以使所述任务处理设备对来自所述任务处理设备对应的各个消费实例的清洗后的业务数据进行处理,得到消费数据,所述任务处理设备将所述消费数据发送至所述任务处理设备对应的客户端;其中,一个任务处理设备对应多个消费实例。
10.一种服务器,其特征在于,所述服务器包括存储器、通信接口以及处理器,其中,所述存储器、所述通信接口和所述处理器相互连接;所述存储器存储有计算机程序,所述处理器调用所述存储器中存储的计算机程序,用于实现权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311303375.0A CN117453665B (zh) | 2023-10-09 | 2023-10-09 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311303375.0A CN117453665B (zh) | 2023-10-09 | 2023-10-09 | 一种数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453665A CN117453665A (zh) | 2024-01-26 |
CN117453665B true CN117453665B (zh) | 2024-06-25 |
Family
ID=89593811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311303375.0A Active CN117453665B (zh) | 2023-10-09 | 2023-10-09 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453665B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220914A (zh) * | 2022-07-05 | 2022-10-21 | 北京车智赢科技有限公司 | 一种数据处理方法、***及计算设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905435A (zh) * | 2017-12-08 | 2019-06-18 | 京东方科技集团股份有限公司 | 资源订阅方法及***、存储介质、电子设备 |
CN109672627A (zh) * | 2018-09-26 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于集群服务器的业务处理方法、平台、设备及存储介质 |
CN117076453A (zh) * | 2019-01-17 | 2023-11-17 | 创新先进技术有限公司 | 一种批量任务处理方法、装置及设备 |
CN110365752B (zh) * | 2019-06-27 | 2022-04-26 | 北京大米科技有限公司 | 业务数据的处理方法、装置、电子设备和存储介质 |
CN112118315A (zh) * | 2020-09-18 | 2020-12-22 | 北京有竹居网络技术有限公司 | 数据处理***、方法、装置、电子设备和存储介质 |
CN113076248B (zh) * | 2021-04-08 | 2021-11-30 | 马上消费金融股份有限公司 | 一种应用处理方法、装置、设备及可读存储介质 |
CN113946362B (zh) * | 2021-09-02 | 2022-08-16 | 贝壳找房(北京)科技有限公司 | 消费数据处理方法及存储介质 |
CN114138472A (zh) * | 2021-11-22 | 2022-03-04 | 青岛海信智慧生活科技股份有限公司 | 业务数据处理方法、装置和*** |
WO2023151268A1 (zh) * | 2022-02-14 | 2023-08-17 | 华为云计算技术有限公司 | 一种业务分流方法、装置及*** |
CN115102857A (zh) * | 2022-05-31 | 2022-09-23 | 深圳市大头兄弟科技有限公司 | 客户端配置数据的更新方法、装置、设备及存储介质 |
CN116225719A (zh) * | 2023-03-15 | 2023-06-06 | 马上消费金融股份有限公司 | 数据清理方法、装置及电子设备、计算机可读存储介质 |
-
2023
- 2023-10-09 CN CN202311303375.0A patent/CN117453665B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220914A (zh) * | 2022-07-05 | 2022-10-21 | 北京车智赢科技有限公司 | 一种数据处理方法、***及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117453665A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106817295B (zh) | 一种消息处理装置和方法 | |
JP6332774B2 (ja) | ネットワーク機能仮想化nfv障害管理の装置、デバイス、および方法 | |
CN109600375B (zh) | 消息跟踪方法、装置、电子设备及存储介质 | |
CN109783258B (zh) | 一种消息处理方法、装置及服务器 | |
KR101365840B1 (ko) | 이벤트 모니터의 동작의 방법, 컴퓨터 판독가능 매체 및 작업 아이템 이벤트 모니터 | |
CN111708619B (zh) | 基于消息队列和数据库的分布式事务处理方法及*** | |
CN114328029B (zh) | 一种应用资源的备份方法、装置、电子设备及存储介质 | |
CA3065729A1 (en) | Business rules processing framework | |
CN117453665B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112905197A (zh) | 一种信息处理方法、装置、***、电子设备及存储介质 | |
CN113849160B (zh) | 编译任务的动态迁移方法、装置、电子设备及存储介质 | |
CN112579325B (zh) | 一种业务对象的处理方法、装置、电子设备和存储介质 | |
CN115580522A (zh) | 一种容器云平台运行状态的监控方法及装置 | |
CN111884932B (zh) | 一种链路确定方法、装置、设备和计算机可读存储介质 | |
CN111143318B (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
CN114138615A (zh) | 一种业务告警处理方法、装置、设备及存储介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN110618943B (zh) | 安防服务测试方法、装置、电子设备及可读存储介质 | |
CN112765188A (zh) | 配置信息处理方法、配置管理***、电子设备及存储介质 | |
CN112488462A (zh) | 一种工作流数据的统一推送方法、装置及介质 | |
CN115793968A (zh) | 一种数据迁移方法、装置及电子设备 | |
CN118233470A (zh) | 集群扩容方法、装置、通信设备及存储介质 | |
CN117950692A (zh) | 灰度测试场景下节点配置数据的更新方法、***及装置 | |
CN117390112A (zh) | 数据同步方法、装置、存储介质及计算机设备 | |
CN115271501A (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 |