CN116737314A - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116737314A
CN116737314A CN202310699378.4A CN202310699378A CN116737314A CN 116737314 A CN116737314 A CN 116737314A CN 202310699378 A CN202310699378 A CN 202310699378A CN 116737314 A CN116737314 A CN 116737314A
Authority
CN
China
Prior art keywords
container
data processing
containers
attribute information
information
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
Application number
CN202310699378.4A
Other languages
English (en)
Inventor
许明珍
张志成
董杰
张杭俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310699378.4A priority Critical patent/CN116737314A/zh
Publication of CN116737314A publication Critical patent/CN116737314A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本公开提供了一种数据处理方法、装置、电子设备及存储介质,可以应用于分布式技术领域和金融科技领域。该方法包括:响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据;根据容器的健康检查结果,确定多个候选容器;根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器;利用负载均衡设备向第一目标容器发送待处理数据。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及分布式技术领域和金融科技领域,尤其涉及一种数据处理方法、装置、电子设备、介质和程序产品。
背景技术
Kubernetes集群可以是一种通过调用部署在该集群的容器来实现应用的集群,该集群可以包括包括主节点和除主节点之外的其他节点,该主节点可以用于管理部署在该集群的容器等,该其他节点可以包括部署容器的虚拟机。在相关技术中,通常是通过设置仅集群内部的标识和端口,来调用容器。
在实现本公开发明构思的过程中,发明人发现,在容器跨多个集群部署的情况下,由于集群环境较为复杂,容器较多,部署新的容器,需要人工对该新的容器进行配置,以向该新的容器发送数据,浪费了人力资源。并且,由于容器较多,因此,较难将数据发送到满足需求的容器,且易向异常容器发送数据,导致数据较难被及时处理。基于此,存在向容器发送数据的准确性较低的问题。
发明内容
鉴于上述问题,本公开提供了数据处理方法、装置、电子设备、介质和程序产品。
根据本公开的第一个方面,提供了一种数据处理方法,包括:响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据;根据容器的健康检查结果,确定多个候选容器;根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器;利用负载均衡设备向第一目标容器发送待处理数据。
根据本公开的实施例,容器部署在多个集群;根据容器的健康检查结果,确定多个候选容器,包括:根据健康检查结果,调整部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息;根据调整后的容器属性信息,从部署在多个集群的容器中,确定多个候选容器。
根据本公开的实施例,多个集群各自所对应的数据库中,各自存储有多个集群各自部署的容器的容器属性信息;根据健康检查结果,调整部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息,包括:从多个集群各自所对应的数据库中,删除容器检查结果表征异常的异常容器所对应的容器属性信息;以及/或者对容器检查结果表征正常的正常容器进行注册,以使部署正常容器的集群所对应的数据库中,存储有正常容器的容器属性信息。
根据本公开的实施例,根据调整后的容器属性信息,从部署在多个集群的容器中,确定多个候选容器,包括:将调整后的容器属性信息所对应的容器,确定为候选容器。
根据本公开的实施例,根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器,包括:从多个集群各自所对应的数据库中,获取与多个集群各自对应的容器属性信息,其中,容器属性信息包括容器功能信息;将容器功能信息和数据处理需求信息进行匹配,确定功能满足待处理数据的数据处理需求的第一目标容器。
根据本公开的实施例,容器属性信息还包括容器标识信息;利用负载均衡设备向第一目标容器发送待处理数据,包括:利用负载均衡设备,根据容器标识信息,向第一目标容器发送待处理数据。
根据本公开的实施例,上述数据处理方法还包括:通过调用检查接口信息,向容器发送健康检查信息;根据容器的检查反馈信息,确定健康检查结果。
本公开的第二方面提供了一种数据处理装置,包括:解析模块,用于响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据;第一确定模块,用于根据容器的健康检查结果,确定多个候选容器;第二确定模块,用于根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器;第一发送模块,用于利用负载均衡设备向第一目标容器发送待处理数据。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
根据本公开提供的数据处理方法、装置、电子设备、介质和程序产品,由于根据容器的健康检查结果,确定候选容器,保证了容器的可用性,避免了所确定的目标容器存在异常,并且在集群部署新的容器,且该容器正常的情况下,自动将该容器确定为候选容器,提高了确定候选容器的灵活性。基于此,根据所述多个候选容器的容器属性信息和所述数据处理需求信息,可以从候选容器中确定能满足待处理数据数据处理需求的第一目标容器,提高了确定容器的准确性,避免了将待处理数据发送到不满足数据处理需求的容器。在此基础上,利用负载均衡设备向第一目标容器发送数据,可以实现对数据发送流量的控制。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据处理方法的应用场景图;
图2示意性示出了根据本公开实施例的数据处理方法的流程图;
图3示意性示出了根据本公开实施例的数据处理方法的逻辑示意图;
图4示意性示出了根据本公开实施例的数据处理装置的结构框图;以及
图5示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开的实施例提供了一种数据处理方法,包括:响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据。根据容器的健康检查结果,确定多个候选容器。根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器。利用负载均衡设备向第一目标容器发送待处理数据。
图1示意性示出了根据本公开实施例的数据处理方法的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括服务器110、负载均衡设备120、集群131、集群132和集群133。服务器110、负载均衡设备、集群131、集群132和集群133彼此之间均可以存在通信链路的介质,即网络。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以通过终端设备,调用服务器110与负载均衡设备120、集群131、集群132和集群133中的至少一个通过网络进行交互,以接收或发送数据等。终端设备上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器110可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
集群131、集群132和集群133可以是上述Kubernetes集群。集群131、集群132和集群133均可以部署有容器,容器可以用于实现应用功能。例如:在处理交易的情况下,可以利用容器A先处理交易数据,得到经处理的交易数据,再由容器A调用容器B,由容器B处理该经处理的交易数据,得到目标交易数据。容器可以被封装到pod中,该pod可以是集群的创建或者部署的最小单元,一个pod可以封装一个或者多个容器,该pod可以用于存储资源及管理控制容器的运行方式。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由服务器110执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于服务器110中。本公开实施例所提供的数据处理方法也可以由不同于服务器110且能够与终端设备和/或服务器110通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据处理装置也可以设置于不同于服务器110且能够与终端设备和/或服务器110通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2和图3对公开实施例的数据处理方法进行详细描述。
图2示意性示出了根据本公开实施例的数据处理方法的流程图。
如图2所示,该实施例的数据处理方法包括操作S210~操作S240。
在操作S210,响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据。
在操作S220,根据容器的健康检查结果,确定多个候选容器。
在操作S230,根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器。
在操作S240,利用负载均衡设备向第一目标容器发送待处理数据。
根据本公开的实施例,数据处理请求可以包括数据处理需求信息和待处理数据。
数据处理需求信息可以表征待处理数据的数据处理需求,由此,数据处理需求信息可以用于确定处理待处理数据的容器,但不限于此,数据处理需求信息还可以用于确定处理待处理数据所需占用的数据资源。
待处理数据可以是待发送容器,由容器处理的数据。待处理数据可以包括业务数据,该业务数据可以包括交易数据和资产数据等。
根据本公开的实施例,容器可以用于处理与该容器对应的数据。目标容器可以是与上述待处理数据对应的容器,即目标容器所能实现的功能,可以满足与该目标容器对应的待处理数据的数据处理需求。基于此,可以通过目标容器处理该待处理数据。例如:可以将待处理的交易数据发送给用于处理交易数据的目标容器,以处理该待处理的交易数据。
根据本公开的实施例,健康检查结果可以用于确定容器的状态信息。例如:健康检查结果可以用于确定容器处于正常状态或者异常状态。上述正常状态可以包括运行状态等,上述异常状态可以包括停止运行状态等。候选容器可以是处于正常状态的容器。
根据本公开的实施例,容器属性信息可以包括容器接口信息和容器功能信息。容器接口信息可以用于确定向容器发送数据所需调用的接口信息。容器功能信息可以用于确定容器所能实现的功能。其中,容器接口信息可以包括容器IP(Internet Protocol,互联网协议)端口信息等。容器功能信息包括调用功能和计算功能等。
根据本公开的实施例,负载均衡设备可以用于向容器发送待处理数据。例如:容器可以部署在集群,集群可以是Kubernetes集群。负载均衡设备可以根据集群的资源占用信息和容器功能信息,确定目标集群,该目标集群可以是资源占用满足待处理数据的数据处理需求,且部署有功能满足待处理数据的数据处理需求的目标容器的集群。基于此,可以利用负载均衡设备,将待处理数据发送到目标容器。在目标集群部署有多个满足待处理数据的数据处理需求的目标容器,且待处理数据为多个的情况下,该多个目标容器可以按照容器队列,依次分别接收多个待处理数据并进行处理。该容器队列可以是预设的。
根据本公开的实施例,可以解析数据处理请求,得到数据处理请求中的待处理数据的字段信息和数据处理需求的字段信息。
根据本公开的实施例,可以根据容器的健康检查结果,从多个容器中,确定处于运行状态的候选容器。并且,由于候选容器是基于健康检查结果确定的,因此,在集群部署新的容器,且该新的容器处于运行状态的情况下,可以将该新的容器灵活确定为候选容器,由此,实现了自动化将该容器确定为候选容器。基于此,可以将与该容器对应的数据发送给该数据进行处理。
根据本公开的实施例,可以根据多个候选容器的容器属性信息,从多个候选容器中确定容器功能满足待处理数据的数据处理需求的容器为第一目标容器,并利用负载均衡设备向第一目标容器发送待处理数据。
根据本公开的实施例,由于根据容器的健康检查结果,确定候选容器,保证了容器的可用性,避免了所确定的目标容器存在异常,并且在集群部署新的容器,且该容器正常的情况下,自动将该容器确定为候选容器,提高了确定候选容器的灵活性。基于此,根据所述多个候选容器的容器属性信息和所述数据处理需求信息,可以从候选容器中确定能满足待处理数据数据处理需求的第一目标容器,提高了确定容器的准确性,避免了将待处理数据发送到不满足数据处理需求的容器。在此基础上,利用负载均衡设备向第一目标容器发送数据,可以实现对数据发送流量的控制。
根据本公开的实施例,上述数据处理方法还包括:通过调用检查接口信息,向容器发送健康检查信息。根据容器的检查反馈信息,确定健康检查结果。
根据本公开的实施例,检查接口信息可以用于对容器进行健康检查。例如:可以利用检查接口信息,在预设时段,向容器发送健康检查信息。基于此,容器可以对健康检查信息进行反馈。
根据本公开的实施例,检查反馈信息可以是根据容器对健康检查信息的反馈信息和反馈状况确定的。在容器不对健康检查信息进行反馈或者所反馈的信息不满足预设健康检查条件的情况下,可以确定该容器为异常容器。在容器对健康检查信息进行反馈,并且所反馈的信息满足预设健康检查条件的情况下,可以确定容器为正常容器。
根据本公开的实施例,通过调用检查接口信息,向容器发送健康检查信息,由此,可以根据容器的检查反馈信息,确定健康检查结果,基于此,可以准确确定正常的容器,进而可以仅向健康检查通过的容器发送与该容器对应的数据。
根据本公开的实施例,容器部署在多个集群。根据容器的健康检查结果,确定多个候选容器,包括:根据健康检查结果,调整部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息。根据调整后的容器属性信息,从部署在多个集群的容器中,确定多个候选容器。
根据本公开的实施例,可以根据健康检查结果,确定部署在多个集群的容器是否为异常容器。容器属性信息可以存储在数据库中。由此,针对异常容器,可以将该异常容器的容器属性信息从数据库中删除,以对部署在多个集群的容器的容器属性信息进行调整。
针对数据库中未存储有容器属性信息的正常容器,可以将该正常容器的容器属性信息添加到数据库中。
基于此,可以确保数据库中的容器属性信息所对应的容器,均为正常容器。并且,实现了正常容器的自动化发现和注册。
根据本公开的实施例,由于根据健康检查结果调整容器属性信息,并根据调整后的容器属性信息,灵活确定候选容器,由此,可以保证所确定的候选容器均为健康检查通过的容器,避免了将待处理数据发送到健康检查未通过的容器,导致待处理数据难以被及时处理的问题。并且,由于自动化调整容器属性信息,提高了调整效率。
根据本公开的实施例,多个集群各自所对应的数据库中,各自存储有多个集群各自部署的容器的容器属性信息。根据健康检查结果,调整部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息,包括:从多个集群各自所对应的数据库中,删除容器检查结果表征异常的异常容器所对应的容器属性信息。以及/或者对容器检查结果表征正常的正常容器进行注册,以使部署正常容器的集群所对应的数据库中,存储有正常容器的容器属性信息。
根据本公开的实施例,可以基于Kubernetes集群的list watch机制,实现对容器的注册和解注册,该list watch机制可以是Kubernetes集群的异步消息处理机制。
根据本公开的实施例,通过对容器进行注册,可以使该容器的容器属性信息,存储到该容器部署的集群所对应的数据库中。对容器进行解注册,可以是将该容器部署的集群所对应的数据库中的该容器的容器属性信息删除。
例如:容器的生命周期状态可以包括Running(运行)、Waiting(等待)、Failed(失败)、Successed(成功)、Unknown(未知)等。在容器状态为运行状态的情况下,且封装该容器的pod内的container(即外侧容器)状态为运行的情况下,可以确定容器已正常运行,进而可以将容器所在的IP端口或service等信息注册到中间件ETCD中,该ETCD可以是一个键值对数据库,service信息可以包括容器功能信息等。在容器状态不是运行状态,且ETCD中有容器属性信息的情况下,对该容器执行解注册的操作,即从ETCD中删除该容器的容器属性信息。为了避免一个ETCD故障而导致所有集群的容器均难以接收到待处理数据,因此,在多集群场景下,可以针对每个集群都建立一个ETCD,使每个ETCD只处理对应集群的容器的容器属性信息。
基于此,可以根据多个集群各自对应的数据库中的容器属性信息,确定满足待处理数据数据处理需求的目标容器,并利用负载均衡设备向目标容器发送待处理数据。
根据本公开的实施例,通过删除容器检查结果表征异常的异常容器所对应的容器属性信息,以及对容器检查结果表征正常的正常容器进行注册,来对从多个集群各自所对应的数据库中的容器属性信息进行调整,由此,可以保证数据库中的容器属性信息所对应的容器均为健康检查通过的容器,避免了将待处理数据发送到健康检查未通过的容器,导致待处理数据难以被及时处理的问题。
根据本公开的实施例,可以按照上述容器注册得到的时刻信息,对上述多个目标容器进行配置,由此可以得到上述容器队列,进而可以多个目标容器可以按照容器队列,依次分别接收多个待处理数据并进行处理。
根据本公开的实施例,根据调整后的容器属性信息,从部署在多个集群的容器中,确定多个候选容器,包括:将调整后的容器属性信息所对应的容器,确定为候选容器。
根据本公开的实施例,由于调整后的容器属性信息仅包括处于正常状态的正常容器的容器属性信息,因此,根据该调整后的容器属性信息,可以确定处于正常状态的容器,并可以将该处于正常状态的容器作为候选容器。
根据本公开的实施例,通过将调整后的容器属性信息所对应的健康检查通过的容器,确定为候选容器,由此,可以保证确定发送待处理数据的容器为健康检查通过的容器,避免了将待处理数据发送到健康检查未通过的容器,导致待处理数据难以被及时处理的问题。
根据本公开的实施例,根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器,包括:从多个集群各自所对应的数据库中,获取与多个集群各自对应的容器属性信息,其中,容器属性信息包括容器功能信息。将容器功能信息和数据处理需求信息进行匹配,确定功能满足待处理数据的数据处理需求的第一目标容器。
根据本公开的实施例,可以从多个集群各自所对应的数据库中,,获取与多个集群各自对应的容器属性信息,并根据该与多个集群各自对应的容器属性信息,生成负载均衡列表。
基于此,可以在接收到待处理数据的情况下,将负载均衡列表中的容器功能信息和数据处理需求信息进行匹配,确定功能满足待处理数据的数据处理需求的第一目标容器。再利用负载均衡列表中的信息,将待处理数据发给第一目标容器。
根据本公开的实施例,从多个集群各自所对应的数据库中,获取与多个集群各自对应的容器属性信息,基于此,实现了将多个数据库中的容器属性信息的汇总,进而可以全面地将健康检查通过的容器的容器属性信息与数据处理需求信息进行匹配,提高了确定目标容器的准确性。并且,由于根据多个集群各自所对应的数据库中的容器属性信息发送待处理数据,实现了跨集群的数据发送。
根据本公开的实施例,容器属性信息还包括容器标识信息;利用负载均衡设备向第一目标容器发送待处理数据,包括:利用负载均衡设备,根据容器标识信息,向第一目标容器发送待处理数据。
根据本公开的实施例,容器标识信息可以包括第一目标容器的容器标识信息。可以利用负载均衡设备,根据第一目标容器的容器标识信息,向第一目标容器发送待处理数据。
根据本公开的实施例,由于根据容器标识信息发送待处理数据,提高了发送待处理数据的准确性。
图3示意性示出了根据本公开实施例的数据处理方法的逻辑示意图。
如图3所示,服务器可以部署有注册模块304和注册模块307。其中,注册模块304和注册模块307可以用于执行上述注册操作。
可以利用注册模块304,将集群303所对应的容器属性信息注册到数据库305中。可以利用注册模块307,将集群306所对应的容器属性信息注册到数据库307中。
负载均衡设备302可以根据数据库305中的容器属性信息和数据库308中的容器属性信息,发送待处理数据301。负载均衡设备302可以将待处理数据发送到集群303的容器。
服务器还可以部署有健康检查模块309和解注册模块310。其中,健康检查模块309可以用于对容器健康检查,得到健康检查结果,解注册模块310可以用于将健康检查结果表征异常的容器的容器属性信息从数据库308中解注册。
基于上述数据处理方法,本公开还提供了一种数据处理装置。以下将结合图4对该装置进行详细描述。
图4示意性示出了根据本公开实施例的数据处理装置的结构框图。
如图4所示,该实施例的数据处理装置400包括解析模块410、第一确定模块420、第二确定模块430和第一发送模块440。
解析模块410用于响应于接收到数据处理请求,解析数据处理请求,得到数据处理需求信息和待处理数据。在一实施例中,解析模块410可以用于执行前文描述的操作S210,在此不再赘述。
第一确定模块420用于根据容器的健康检查结果,确定多个候选容器。在一实施例中,第一确定模块420可以用于执行前文描述的操作S220,在此不再赘述。
第二确定模块430用于根据多个候选容器的容器属性信息和数据处理需求信息,从多个候选容器中确定第一目标容器。在一实施例中,第二确定模块430可以用于执行前文描述的操作S230,在此不再赘述。
第一发送模块440用于利用负载均衡设备向第一目标容器发送待处理数据。在一实施例中,第一发送模块430可以用于执行前文描述的操作S240,在此不再赘述。
根据本公开的实施例,第一确定模块420包括调整子模块和确定子模块。其中,调整子模块用于根据健康检查结果,调整部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息;确定子模块用于根据调整后的容器属性信息,从部署在多个集群的容器中,确定多个候选容器。
根据本公开的实施例,调整子模块包括删除单元和/或注册单元。其中,删除单元用于从多个集群各自所对应的数据库中,删除容器检查结果表征异常的异常容器所对应的容器属性信息;注册单元用于对容器检查结果表征正常的正常容器进行注册,以使部署正常容器的集群所对应的数据库中,存储有正常容器的容器属性信息。
根据本公开的实施例,确定子模块包括确定单元。其中,确定单元用于将调整后的容器属性信息所对应的容器,确定为候选容器。
根据本公开的实施例,第二确定模块430包括获取子模块和匹配子模块。其中,获取子模块用于从多个集群各自所对应的数据库中,获取与多个集群各自对应的容器属性信息,其中,容器属性信息包括容器功能信息;匹配子模块用于将容器功能信息和数据处理需求信息进行匹配,确定功能满足待处理数据的数据处理需求的第一目标容器。
根据本公开的实施例,第一发送模块440包括发送子模块。其中,发送子模块用于利用负载均衡设备,根据容器标识信息,向第一目标容器发送待处理数据。
根据本公开的实施例,上述数据处理装置还包括第一发送模块440和第三确定模块。其中,第一发送模块用于通过调用检查接口信息,向容器发送健康检查信息;第三确定模块用于根据容器的检查反馈信息,确定健康检查结果。
根据本公开的实施例,解析模块410、第一确定模块420、第二确定模块430和第一发送模块440中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,解析模块410、第一确定模块420、第二确定模块430和第一发送模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,解析模块410、第一确定模块420、第二确定模块430和第一发送模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的方框图。
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。电子设备500还可以包括连接至输入/输出(I/O)接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至输入/输出(I/O)接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的数据处理方法。
在该计算机程序被处理器501执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分509被下载和安装,和/或从可拆卸介质511被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种数据处理方法,包括:
响应于接收到数据处理请求,解析所述数据处理请求,得到数据处理需求信息和待处理数据;
根据容器的健康检查结果,确定多个候选容器;
根据所述多个候选容器的容器属性信息和所述数据处理需求信息,从所述多个候选容器中确定第一目标容器;
利用负载均衡设备向所述第一目标容器发送所述待处理数据。
2.根据权利要求1所述的方法,其中,所述容器部署在多个集群;
所述根据容器的健康检查结果,确定多个候选容器,包括:
根据所述健康检查结果,调整所述部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息;
根据所述调整后的容器属性信息,从所述部署在多个集群的容器中,确定所述多个候选容器。
3.根据权利要求2所述的方法,其中,所述多个集群各自所对应的数据库中,各自存储有所述多个集群各自部署的容器的容器属性信息;
所述根据所述健康检查结果,调整所述部署在多个集群的容器的容器属性信息,得到调整后的容器属性信息,包括:
从所述多个集群各自所对应的数据库中,删除所述容器检查结果表征异常的异常容器所对应的容器属性信息;以及/或者
对所述容器检查结果表征正常的正常容器进行注册,以使部署所述正常容器的集群所对应的数据库中,存储有所述正常容器的容器属性信息。
4.根据权利要求3所述的方法,其中,所述根据所述调整后的容器属性信息,从所述部署在多个集群的容器中,确定所述多个候选容器,包括:
将所述调整后的容器属性信息所对应的容器,确定为所述候选容器。
5.根据权利要求2或3所述的方法,其中,所述根据所述多个候选容器的容器属性信息和所述数据处理需求信息,从所述多个候选容器中确定第一目标容器,包括:
从所述多个集群各自所对应的数据库中,获取与所述多个集群各自对应的容器属性信息,其中,所述容器属性信息包括容器功能信息;
将所述容器功能信息和所述数据处理需求信息进行匹配,确定功能满足所述待处理数据的数据处理需求的所述第一目标容器。
6.根据权利要求5所述的方法,其中,所述容器属性信息还包括容器标识信息;
所述利用负载均衡设备向所述第一目标容器发送所述待处理数据,包括:
利用所述负载均衡设备,根据所述容器标识信息,向所述第一目标容器发送所述待处理数据。
7.根据权利要求1~3中任一项所述的方法,还包括:
通过调用检查接口信息,向所述容器发送健康检查信息;
根据所述容器的检查反馈信息,确定所述健康检查结果。
8.一种数据处理装置,包括:
解析模块,用于响应于接收到数据处理请求,解析所述数据处理请求,得到数据处理需求信息和待处理数据;
第一确定模块,用于根据容器的健康检查结果,确定多个候选容器;
第二确定模块,用于根据所述多个候选容器的容器属性信息和所述数据处理需求信息,从所述多个候选容器中确定第一目标容器;
第一发送模块,用于利用负载均衡设备向所述第一目标容器发送所述待处理数据。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
CN202310699378.4A 2023-06-13 2023-06-13 数据处理方法、装置、电子设备及存储介质 Pending CN116737314A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310699378.4A CN116737314A (zh) 2023-06-13 2023-06-13 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310699378.4A CN116737314A (zh) 2023-06-13 2023-06-13 数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116737314A true CN116737314A (zh) 2023-09-12

Family

ID=87914558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310699378.4A Pending CN116737314A (zh) 2023-06-13 2023-06-13 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116737314A (zh)

Similar Documents

Publication Publication Date Title
CN111400061A (zh) 一种数据处理方法和***
CN114172966B (zh) 单元化架构下的服务调用方法、服务处理方法及装置
CN113900834B (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
CN111427701A (zh) 一种工作流引擎***和业务处理方法
CN114189525B (zh) 服务请求方法、装置和电子设备
CN111767157A (zh) 基于服务网格的请求处理方法和装置
CN114760233B (zh) 业务处理方法、装置、电子设备及存储介质
CN113515271B (zh) 服务代码生成方法、装置、电子设备及可读存储介质
CN113191889A (zh) 风控配置方法、配置***、电子设备及可读存储介质
CN116561013B (zh) 基于目标服务框架的测试方法、装置、电子设备和介质
CN110275701B (zh) 数据处理方法、装置、介质和计算设备
CN110717992B (zh) 调度模型的方法、装置、计算机***和可读存储介质
CN116599855A (zh) 数据传输方法、***、电子设备及存储介质
CN115801764A (zh) 文件传输方法、装置、设备及存储介质
CN116737314A (zh) 数据处理方法、装置、电子设备及存储介质
CN112783903B (zh) 生成更新日志的方法和装置
CN114780361A (zh) 日志生成方法、装置、计算机***及可读存储介质
CN113918525A (zh) 数据交换调度方法、***、电子设备、介质及程序产品
CN113419887A (zh) 主机联机事务异常的处理方法及装置
CN113760262A (zh) 任务处理方法、装置、计算机***和计算机可读存储介质
CN113448652A (zh) 一种请求处理方法和装置
CN113326060A (zh) 业务请求处理方法、装置和***以及业务配置方法和装置
CN115408344B (zh) 日志格式化方法、装置、电子设备及存储介质
CN114969059B (zh) 生成订单信息的方法、装置、电子设备及存储介质
CN117395314A (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