CN111381977A - 消息处理方法及设备 - Google Patents

消息处理方法及设备 Download PDF

Info

Publication number
CN111381977A
CN111381977A CN201811631399.8A CN201811631399A CN111381977A CN 111381977 A CN111381977 A CN 111381977A CN 201811631399 A CN201811631399 A CN 201811631399A CN 111381977 A CN111381977 A CN 111381977A
Authority
CN
China
Prior art keywords
message
kafka
processed
message queue
queue
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
CN201811631399.8A
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.)
New Founder Holdings Development Co ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201811631399.8A priority Critical patent/CN111381977A/zh
Publication of CN111381977A publication Critical patent/CN111381977A/zh
Pending legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种消息处理方法及设备,该方法包括:监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入第一Kafka消息队列,第二服务端为第一Kafka消息队列对应的消息写入端;若监听到第一Kafka消息队列中有第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及第一服务端中预存的消息处理方法,对第一待处理消息进行相应处理。本实施例提供的方法通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问。

Description

消息处理方法及设备
技术领域
本发明实施例涉及数据通讯技术领域,尤其涉及一种消息处理方法及设备。
背景技术
***流程控制广泛用于流程自动化,它是由***流程再造和工作流技术发展而来的,目前是信息化技术的发展前沿。
现有在软件***的***处理流程控制领域,开发人员往往采用基于数据库的表记录或者表字段状态位的方式来实现***各个服务端之间的流程衔接。
然而,这种模式不仅各个服务端高度依赖于数据库,而且容易对数据库造成较大的访问压力,从而影响其他正常在线业务的访问。
发明内容
本发明实施例提供一种消息处理方法及设备,以克服现有***处理流程控制中各个服务端高度依赖于数据库,对数据库造成较大的访问压力,影响其他正常在线业务访问的问题。
第一方面,本发明实施例提供一种消息处理方法,所述方法应用于第一服务端,包括:
监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端;
若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
在一种可能的设计中,在所述对所述第一待处理消息进行相应处理之后,还包括:
根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
在一种可能的设计中,在所述根据处理结果将第二待处理消息写入第二Kafka消息队列之后,还包括:
删除写入所述第一Kafka消息队列中的所述第一待处理消息。
在一种可能的设计中,所述第一服务端中服务端的个数为多个;
所述根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理包括:
根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理;
根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
在一种可能的设计中,上述方法还包括:
根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
第二方面,本发明实施例提供另一种消息处理方法,所述方法应用于第二服务端,包括:
将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
第三方面,本发明实施例提供一种消息处理设备,所述设备应用于第一服务端,包括:
消息监听模块,用于监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端;
消息处理模块,用于若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
在一种可能的设计中,上述的设备,还包括:
第一消息写入模块,用于在所述消息处理模块对所述第一待处理消息进行相应处理之后,根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
在一种可能的设计中,上述的设备,还包括:
信息删除模块,用于在所述第一消息写入模块根据处理结果将第二待处理消息写入第二Kafka消息队列之后,删除写入所述第一Kafka消息队列中的所述第一待处理消息。
在一种可能的设计中,所述第一服务端中服务端的个数为多个;
所述消息处理模块包括:第一处理单元,用于根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理;
第二处理单元,用于根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,返回所述第一处理单元,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
在一种可能的设计中,上述的设备,还包括:
处理方法确定模块,用于根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
第四方面,本发明实施例提供另一种消息处理设备,所述设备应用于第二服务端,包括:
第二消息写入模块,用于将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
第五方面,本发明实施例提供一种消息处理设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的消息处理方法。
第六方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的消息处理方法。
本实施例提供的消息处理方法及设备,在监听到第一Kafka消息队列中有第一待处理消息写入时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及第一服务端中预存的消息处理方法,对第一待处理消息进行相应处理,其中,第一待处理消息由第二服务端写入第一Kafka消息队列,第二服务端为第一Kafka消息队列对应的消息写入端,即通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的消息处理***的架构示意图;
图2为本发明实施例提供的消息处理方法的流程示意图一;
图3为本发明实施例提供的基于多个消息队列的***流程控制的示意图;
图4为本发明实施例提供的消息处理方法的流程示意图二;
图5为本发明实施例提供的消息处理方法的流程示意图三;
图6为本发明实施例提供的消息处理方法的应用实例示意图;
图7为本发明实施例提供的消息处理设备的结构示意图一;
图8为本发明实施例提供的消息处理设备的结构示意图二;
图9为本发明实施例提供的消息处理设备的结构示意图三;
图10为本发明实施例提供的消息处理设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的消息处理***的架构示意图。如图1所示,本实施例提供的***包括服务端101、数据库102和服务端103。其中,服务端101和服务端103可以为服务器,服务端可以向客户端提供资源,保存客户端数据等。本实施例对服务端的功能和数量不做特别限制,这里仅以两个服务端和一个数据库为例对***处理流程控制中各个服务端之间的信息处理进行介绍。
首先服务端101将待处理消息发送至数据库102,数据库102记录该消息,具体地,数据库102可以以表记录或者表字段状态位的方式记录上述消息,然后数据库102将上述消息发送至服务端103处理,实现服务端101和服务端103之间的流程衔接。
然而,这种模式不仅各个服务端高度依赖于数据库,而且容易对数据库造成较大的访问压力,从而影响其他正常在线业务的访问。为了解决该技术问题,本实施例提供一种消息处理方法,该方法通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问。下面采用详细的实施例进行详细说明。
图2为本发明实施例提供的消息处理方法的流程示意图一,本实施例的执行主体可以为第一服务端,其中,第一服务端中服务端个数可以为一个或多个,本实施例此处不做特别限制。如图2所示,该方法包括:
S201、监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端。
这里,第二服务端将待处理消息写入第一Kafka消息队列,其中,待处理消息可以包括图片、文字等,具体的,第二服务端可以在接收到写入指令后,将待处理消息写入第一Kafka消息队列,还可以监听是否有待处理消息,如果有,将待处理消息写入第一Kafka消息队列。其中,Kafka是一个开源流处理平台,一种高吞吐量的分布式发布订阅消息***,它可以处理消费者规模的网站中的所有动作流数据。
如图3所示,一个实施例中通过服务端1到服务端4的四个服务端,以及Kafka消息队列1到Kafka消息队列3的三个消息队列来实现对某个消息的顺序处理。在图3所示的基于多个消息队列的流程控制过程中,服务端1将待处理消息写入Kafka消息队列1,其中,服务端1为Kafka消息队列1的消息写入端,服务端2监听Kafka消息队列1是否有待处理消息写入,其中,服务端2为Kafka消息队列1的消息接收端。
S202、若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
可选的,所述第一服务端中服务端的个数为多个;所述根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理可以包括:
根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理;
根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
具体的,Kafka消息队列与消息接收端的对应关系和Kafka消息队列与消息写入端的对应关系,可以根据实际情况设置,例如图3所示,Kafka消息队列1的消息写入端为服务端1,Kafka消息队列1的消息接收端为服务端2。
另外,服务端中预存的消息处理方法也可以根据实际情况设置,例如上述图3中,服务端1写入Kafka消息队列1的待处理消息为图片,实际情况需要对该图片进行去噪,可以设置服务端2中的消息处理方法为图片去噪,服务端2在监听到Kafka消息队列1中有上述待处理消息写入时,根据设置的消息处理方法对图片进行去噪处理。
同理,第一服务端中的服务端个数也可以根据实际情况设置,还以图3中为例,服务端1写入Kafka消息队列1的待处理消息为图片,实际情况需要依次对该图片进行去噪、去畸变和剪裁处理,可以依次设置服务端2、服务端3和服务端4实现上述操作,并且各个服务端之间通过Kafka消息队列进行流程衔接,可以设置服务端2为Kafka消息队列2的消息写入端,服务端3为Kafka消息队列2的消息接收端,进一步设置服务端3为Kafka消息队列3的消息写入端,服务端4为Kafka消息队列3的消息接收端,实现对上述图片的处理。
本实施例提供的消息处理方法,第一服务端在监听到第一Kafka消息队列中有第一待处理消息写入时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及第一服务端中预存的消息处理方法,对第一待处理消息进行相应处理,其中,第一待处理消息由第二服务端写入第一Kafka消息队列,第二服务端为第一Kafka消息队列对应的消息写入端,通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问。
图4为本发明实施例提供的消息处理方法的流程示意图二,本实施例在图2实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图4所示,该方法包括:
S401、监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端。
这里,第一服务端可以实时监听第一Kafka消息队列中是否有第一待处理消息写入,也可以在预设时间监听,具体监听方式可以根据实际需要设置。
S402、若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
具体的,用户可以通过客户端预先设置服务端中的消息处理方法,并将设置的服务端与消息处理方法的对应关系保存在预设位置,其中,用户可以根据实际情况设置服务端中消息处理方法,满足多种应用场景需要。
在第一服务端监听到上述第一Kafka消息队列中有第一待处理消息写入时,根据上述服务端与消息处理方法的对应关系,确定第一服务端中预存的消息处理方法。
S403、根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
这里,第一服务端中服务端的个数可以为一个或多个,具体第一服务端中服务端的个数可以根据实际情况设置,例如第一服务端中服务端的个数为多个,第一服务端首先根据上述Kafka消息队列与消息接收端的对应关系,在第一服务端中确定第一Kafka消息队列对应的消息接收端,根据第一Kafka消息队列对应的消息接收端中预存的消息处理方法对第一待处理消息进行相应处理。然后根据处理结果将第三待处理消息写入目标Kafka消息队列,该目标Kafka消息队列根据上述Kafka消息队列与消息写入端的对应关系确定,将目标Kafka消息队列作为新的第一Kafka消息队列,重新执行上述根据Kafka消息队列与消息接收端的对应关系,在第一服务端中确定第一Kafka消息队列对应的消息接收端的步骤,直到第一服务端中各个服务端按照预先设置的消息处理流程完成对第一待处理消息的处理。其中,第一服务端中服务端的功能可以根据实际情况设置。上述第三待处理消息可以直接为第一待处理消息的处理结果,也可以为对第一待处理消息处理结果进一步加工后的结果,例如第一待处理消息为图片,第一待处理消息的处理结果为图片去噪后的结果,第三待处理消息可以直接为上述图片去噪后的结果,也可以为对上述图片去噪后的结果进一步进行编码压缩等的结果。
S404、根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
S405、删除写入所述第一Kafka消息队列中的所述第一待处理消息。
第一服务端在根据上述处理结果将第二待处理消息写入第二Kafka消息队列后,可以删除写入第一Kafka消息队列中的所述第一待处理消息,释放空间,提高运行速度。
具体的,如果第一服务端中服务端的个数为多个时,例如上述图3,第二服务端可以为服务端1,第一服务端中的服务端可以包括服务端2和服务端3,第三服务端可以为服务端4,服务端2在根据处理结果将相应的处理消息写入Kafka消息队列2后,可以删除写入服务端1中的消息,同理,服务端3在根据处理结果将相应的处理消息写入Kafka消息队列3后,可以删除写入服务端2中的消息。
本实施例提供的消息处理方法,第一服务端在监听到第一Kafka消息队列中有第一待处理消息写入时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及第一服务端中预存的消息处理方法,对第一待处理消息进行相应处理,根据处理结果将第二待处理消息写入第二Kafka消息队列,通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问,同时通过删除写入第一Kafka消息队列中的第一待处理消息,释放空间,提高运行速度。
图5为本发明提供的一种消息处理方法的的流程示意图三,如图5所示,本实施例的方法的执行主体可以为第二服务端,该方法可以包括:
S501、将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
本实施例提供的消息处理方法,通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问。
为了更好地理解上述方法,以下详细阐述一个本发明消息处理方法的应用实例。
结合上述各个实施例,在本实施例中,以第一服务端、第二服务端和第三服务端之间通过第一Kafka消息队列、第二Kafka消息队列的交互过程为例进行说明,其中,第一服务端中服务端个数为一个,这种说明并不用以对本发明方案构成限定。
如图6所示,本应用实例可以包括:
S601、第二服务端将第一待处理消息写入第一Kafka消息队列。
S602、第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
S603、第一服务端根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
S604、第一服务端根据处理结果将第二待处理消息写入第二Kafka消息队列。
S605、第一服务端删除写入所述第一Kafka消息队列中的所述第一待处理消息。
S606、第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
从以上描述可知,本实施例第一服务端在监听到第一Kafka消息队列中有第一待处理消息写入时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及第一服务端中预存的消息处理方法,对第一待处理消息进行相应处理,根据处理结果将第二待处理消息写入第二Kafka消息队列,通过多个Kafka消息队列实现在不同服务端之间的***处理流程控制,无需依赖于数据库,减轻对数据库造成较大的访问压力,保证其他正常在线业务的访问,同时通过删除写入第一Kafka消息队列中的第一待处理消息,释放空间,提高运行速度。
图7为本发明实施例提供的消息处理设备的结构示意图一。如图7所示,该消息处理设备70应用于第一服务端,可以包括:消息监听模块701和消息处理模块702。
其中,消息监听模块701,用于监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端。
消息处理模块702,用于若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本发明实施例提供的消息处理设备的结构示意图二。如图8所示,本实施例在图7实施例的基础上,还包括:第一消息写入模块703、信息删除模块704和处理方法确定模块705。
在一种可能的设计中,第一消息写入模块703,用于在所述消息处理模块702对所述第一待处理消息进行相应处理之后,根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
在一种可能的设计中,信息删除模块704,用于在所述第一消息写入模块703根据处理结果将第二待处理消息写入第二Kafka消息队列之后,删除写入所述第一Kafka消息队列中的所述第一待处理消息。
在一种可能的设计中,所述第一服务端中服务端的个数为多个。所述消息处理模块702包括:第一处理单元7021和第二处理单元7022。
其中,第一处理单元7021,用于根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理。
第二处理单元7022,用于根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,返回所述第一处理单元,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
在一种可能的设计中,处理方法确定模块705,用于根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图9为本发明实施例提供的消息处理设备的结构示意图三。如图9所示,该消息处理设备90应用于第二服务端,可以包括第二消息写入模块901。
其中,第二消息写入模块901,用于将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图10为本发明实施例提供的消息处理设备的硬件结构示意图。如图10所示,本实施例的消息处理设备100包括:处理器1001以及存储器1002;其中
存储器1002,用于存储计算机执行指令;
处理器1001,用于执行存储器存储的计算机执行指令,以实现上述实施例中消息处理设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器1002既可以是独立的,也可以跟处理器1001集成在一起。
当存储器1002独立设置时,该消息处理设备还包括总线1003,用于连接所述存储器1002和处理器1001。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的消息处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种消息处理方法,其特征在于,所述方法应用于第一服务端,包括:
监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端;
若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
2.根据权利要求1所述的方法,其特征在于,在所述对所述第一待处理消息进行相应处理之后,还包括:
根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
3.根据权利要求2所述的方法,其特征在于,在所述根据处理结果将第二待处理消息写入第二Kafka消息队列之后,还包括:
删除写入所述第一Kafka消息队列中的所述第一待处理消息。
4.根据权利要求1所述的方法,其特征在于,所述第一服务端中服务端的个数为多个;
所述根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理包括:
根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理;
根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
5.根据权利要求1所述的方法,其特征在于,还包括:
根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
6.一种消息处理方法,其特征在于,所述方法应用于第二服务端,包括:
将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
7.一种消息处理设备,其特征在于,所述设备应用于第一服务端,包括:
消息监听模块,用于监听第一Kafka消息队列中是否有第一待处理消息写入,所述第一待处理消息由第二服务端写入所述第一Kafka消息队列,所述第二服务端为所述第一Kafka消息队列对应的消息写入端;
消息处理模块,用于若监听到所述第一Kafka消息队列中有所述第一待处理消息写入,则根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
8.根据权利要求7所述的设备,其特征在于,还包括:
第一消息写入模块,用于在所述消息处理模块对所述第一待处理消息进行相应处理之后,根据处理结果将第二待处理消息写入第二Kafka消息队列,以使第三服务端在监听到所述第二Kafka消息队列中的所述第二待处理消息时,根据所述第三服务端中预存的消息处理方法对所述第二待处理消息进行相应处理,所述第三服务端为所述第二Kafka消息队列对应的消息接收端。
9.根据权利要求8所述的设备,其特征在于,还包括:
信息删除模块,用于在所述第一消息写入模块根据处理结果将第二待处理消息写入第二Kafka消息队列之后,删除写入所述第一Kafka消息队列中的所述第一待处理消息。
10.根据权利要求7所述的设备,其特征在于,所述第一服务端中服务端的个数为多个;
所述消息处理模块包括:第一处理单元,用于根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端,根据所述第一Kafka消息队列对应的消息接收端中预存的消息处理方法对所述第一待处理消息进行相应处理;
第二处理单元,用于根据处理结果将第三待处理消息写入目标Kafka消息队列,所述目标Kafka消息队列根据所述Kafka消息队列与消息写入端的对应关系确定,将所述目标Kafka消息队列作为新的第一Kafka消息队列,返回所述第一处理单元,重新执行所述根据所述Kafka消息队列与消息接收端的对应关系,在所述第一服务端中确定所述第一Kafka消息队列对应的消息接收端的步骤。
11.根据权利要求7所述的设备,其特征在于,还包括:
处理方法确定模块,用于根据预存的服务端与消息处理方法的对应关系,确定所述第一服务端中预存的消息处理方法。
12.一种消息处理设备,其特征在于,所述设备应用于第二服务端,包括:
第二消息写入模块,用于将第一待处理消息写入第一Kafka消息队列,以使第一服务端在监听到所述第一Kafka消息队列中的所述第一待处理消息时,根据预设的Kafka消息队列与消息接收端的对应关系,Kafka消息队列与消息写入端的对应关系,以及所述第一服务端中预存的消息处理方法,对所述第一待处理消息进行相应处理。
13.一种消息处理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的消息处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的消息处理方法。
CN201811631399.8A 2018-12-29 2018-12-29 消息处理方法及设备 Pending CN111381977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811631399.8A CN111381977A (zh) 2018-12-29 2018-12-29 消息处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811631399.8A CN111381977A (zh) 2018-12-29 2018-12-29 消息处理方法及设备

Publications (1)

Publication Number Publication Date
CN111381977A true CN111381977A (zh) 2020-07-07

Family

ID=71217770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811631399.8A Pending CN111381977A (zh) 2018-12-29 2018-12-29 消息处理方法及设备

Country Status (1)

Country Link
CN (1) CN111381977A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667614A (zh) * 2020-12-25 2021-04-16 大众问问(北京)信息科技有限公司 一种数据处理方法、装置及计算机设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102112990A (zh) * 2008-06-27 2011-06-29 微软公司 为计算过程授予最小特权访问
CN102970353A (zh) * 2012-11-08 2013-03-13 大唐软件技术股份有限公司 一种业务数据处理的方法及***
CN106302647A (zh) * 2016-07-29 2017-01-04 深圳前海微众银行股份有限公司 消息分发方法及服务器
CN107977275A (zh) * 2017-12-05 2018-05-01 腾讯科技(深圳)有限公司 基于消息队列的任务处理方法及相关设备
CN108256002A (zh) * 2017-12-31 2018-07-06 广东欧珀移动通信有限公司 跨机房数据同步方法、装置、***以及服务器
CN108255620A (zh) * 2018-01-08 2018-07-06 北京奇艺世纪科技有限公司 一种业务逻辑处理方法、装置、业务服务器及***
CN108809855A (zh) * 2018-05-24 2018-11-13 北京三快在线科技有限公司 消息管理方法、装置及电子设备
CN108920281A (zh) * 2018-07-20 2018-11-30 深圳码隆科技有限公司 大规模图片处理方法及***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102112990A (zh) * 2008-06-27 2011-06-29 微软公司 为计算过程授予最小特权访问
CN102970353A (zh) * 2012-11-08 2013-03-13 大唐软件技术股份有限公司 一种业务数据处理的方法及***
CN106302647A (zh) * 2016-07-29 2017-01-04 深圳前海微众银行股份有限公司 消息分发方法及服务器
CN107977275A (zh) * 2017-12-05 2018-05-01 腾讯科技(深圳)有限公司 基于消息队列的任务处理方法及相关设备
CN108256002A (zh) * 2017-12-31 2018-07-06 广东欧珀移动通信有限公司 跨机房数据同步方法、装置、***以及服务器
CN108255620A (zh) * 2018-01-08 2018-07-06 北京奇艺世纪科技有限公司 一种业务逻辑处理方法、装置、业务服务器及***
CN108809855A (zh) * 2018-05-24 2018-11-13 北京三快在线科技有限公司 消息管理方法、装置及电子设备
CN108920281A (zh) * 2018-07-20 2018-11-30 深圳码隆科技有限公司 大规模图片处理方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667614A (zh) * 2020-12-25 2021-04-16 大众问问(北京)信息科技有限公司 一种数据处理方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
CN108255989B (zh) 图片存储方法、装置、终端设备及计算机存储介质
JP6715334B2 (ja) Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体
CN111338628B (zh) 组件渲染方法及设备
US10318612B2 (en) System and method for implementing screen capture
CN112506950A (zh) 数据聚合处理方法、计算节点、计算集群及存储介质
CN110069217B (zh) 一种数据存储方法及装置
CN114374392A (zh) 一种数据压缩存储方法、装置、终端设备及可读存储介质
US9984102B2 (en) Preserving high value entries in an event log
CN111381977A (zh) 消息处理方法及设备
CN110377276B (zh) 源代码文件管理方法及设备
CN108491315A (zh) 页面驻留时长的统计方法、装置及计算机可读存储介质
CN111857574A (zh) 一种写请求数据压缩方法、***、终端及存储介质
US9524203B1 (en) Selective memory dump using usertokens
CN111858590B (zh) 一种存储***元数据组织方法、***、终端及存储介质
CN108959405B (zh) 数据的强一致性读取方法及终端设备
CN110703988B (zh) 一种分布式存储的存储池创建方法、***、终端及存储介质
CN114968297A (zh) Ota升级方法、电子设备及芯片***
CN111367750A (zh) 一种异常处理方法、装置及其设备
CN104572350A (zh) 一种元数据处理方法及装置
CN111125041A (zh) 数据读取方法、电子设备和计算机程序产品
CN110134691B (zh) 数据校验方法、装置、设备和介质
CN113031851B (zh) 数据快照方法、装置及设备
CN117391834A (zh) 异常用户处理方法、装置、服务器及存储介质
CN111414162B (zh) 一种数据处理方法、装置及其设备
US20150339166A1 (en) Memory management for virtual machines

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230627

Address after: 3007, Hengqin International Financial Center Building, No. 58 Huajin Street, Hengqin New District, Zhuhai City, Guangdong Province, 519030

Applicant after: New founder holdings development Co.,Ltd.

Applicant after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District, Cheng Fu Road, No. 298, Zhongguancun Fangzheng building, 9 floor

Applicant before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Applicant before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200707