[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111782422B - 分布式消息处理方法、装置、电子设备及存储介质 - Google Patents

分布式消息处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111782422B
CN111782422B CN202010616835.5A CN202010616835A CN111782422B CN 111782422 B CN111782422 B CN 111782422B CN 202010616835 A CN202010616835 A CN 202010616835A CN 111782422 B CN111782422 B CN 111782422B
Authority
CN
China
Prior art keywords
client
message
input parameters
processing result
processing
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
Application number
CN202010616835.5A
Other languages
English (en)
Other versions
CN111782422A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010616835.5A priority Critical patent/CN111782422B/zh
Publication of CN111782422A publication Critical patent/CN111782422A/zh
Application granted granted Critical
Publication of CN111782422B publication Critical patent/CN111782422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了分布式消息处理方法、装置、电子设备及存储介质,涉及人工智能、深度学习、大数据分析领域。具体实现方案为:接收携带输入参数的处理消息,所述输入参数由客户端生成;发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果;接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。采用本申请实施例,可以提高分布式消息处理的安全性。

Description

分布式消息处理方法、装置、电子设备及存储介质
技术领域
本申请涉及信息处理领域。本申请尤其涉及人工智能、深度学习、大数据分析领域、可应用于与大数据分析相关的电子商务系统、安防系统、网络化学习或考试系统、消防系统或电力系统等民生系统、电子政务系统、网络游戏系统、网络信息检索等领域。
背景技术
随着通信技术的发展、智能终端信息处理能力的提高,使得信息处理的模式从最初的单机处理模式(比如,在终端本地处理的模式)、客户端/服务器处理模式(比如,客户端与服务器交互的处理模式)、发展到如今多机协同式运行的分布式处理模式(多个终端之间,或者多个终端与多个服务器之间交互的处理模式)。针对分布式处理模式而言,其相比单机处理模式及客户端/服务器处理模式能加快运算速度,分布式架构还可以适应于不同应用场景需求,具有规模可变性、及为不同应用场景服务的广泛性,使得其在很多计算机应用领域得到了广泛的应用,尤其是一些安全性要求高、保密性要求高的应用领域,比如,考试系统、电子商务系统、安防系统等等。
相关技术中,针对这些应用领域,利用分布式处理模式进行不同应用场景的数据分析及运算可以提高处理速度,但是,安全性有待加强。然而,相关技术中未提供有效的解决方案。
发明内容
本申请提供了一种分布式消息处理方法、装置、电子设备及存储介质。
根据本申请的一方面,提供了一种分布式消息处理方法,包括:
接收携带输入参数的处理消息,所述输入参数由客户端生成;
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果;
接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
根据本申请的另一方面,提供了一种分布式消息处理方法,包括:
通过客户端的收发处理逻辑接收携带输入参数的处理消息,所述输入参数由客户端生成;
通过所述客户端的收发处理逻辑发送携带所述输入参数的请求消息给服务器侧;
所述服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果;
通过所述客户端的收发处理逻辑接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
根据本申请的另一方面,提供了一种分布式消息处理装置,包括:
第一接收模块,用于接收携带输入参数的处理消息,所述输入参数由客户端生成;
第一发送模块,用于发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果;
第二接收模块,用于接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
根据本申请的另一方面,提供了一种分布式消息处理系统,所述系统包括:设置于客户端侧的收发处理逻辑模块、设置于服务器侧的转发模块及数据仲裁模块,其中,
所述收发处理逻辑模块,用于接收携带输入参数的处理消息,所述输入参数由客户端生成;
所述收发处理逻辑模块,用于发送携带所述输入参数的请求消息给所述转发模块,及接收目标消息处理结果;
所述转发模块,用于转发所述请求消息给所述收发处理逻辑模块并基于所述输入参数得到至少一个消息处理结果,及转发所述至少一个消息处理结果给所述数据仲裁模块;
所述数据仲裁模块,用于对所述至少一个消息处理结果进行仲裁,得到所述目标消息处理结果;
其中,所述客户端包括:云客户端。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本申请任意一实施例所提供的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本申请任意一项实施例所提供的方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
采用本申请实施例,可以接收携带输入参数的处理消息,所述输入参数由客户端生成,发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,由于客户端生成的输入参数是经服务器侧转发,以及将该输入参数交由客户端侧的处理逻辑(如其他客户端的处理逻辑)进行运算,以得到至少一个消息处理结果,也就是说,对于客户端而言,输入参数的传输及运算等都是匿名的,服务器侧知晓,而客户端并不知晓,因此,避免了客户端的本地数据篡改,提高了安全性,而且,运算是在客户端侧的处理逻辑执行,不需要占用服务器的运算资源,也提高了整个分布式消息处理的运算速度。服务器侧还可以通过对至少一个消息处理结果进行仲裁(比如优先信任上述其他客户端的运算结果的仲裁),将得到的目标消息处理结果提供给客户端侧,通过仲裁可以提高处理结果的准确性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是应用于本申请实施例的一分布式架构的硬件实体示意图;
图2是根据本申请实施例的分布式消息处理方法的流程示意图;
图3是根据本申请实施例的分布式消息处理方法的流程示意图;
图4是应用本申请实施例的分布式消息处理方法的流程示意图;
图5是根据本申请实施例的分布式消息处理装置的组成结构示意图;
图6是根据本申请实施例的分布式消息处理系统的组成结构示意图;
图7是用来实现本申请实施例的分布式消息处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
图1是应用于本申请实施例的一分布式架构的硬件实体示意图,图1中包括:至少一个终端(终端上可以安装客户端,以运行应用)及至少一个服务器(如各种提供数据源的服务器、用于数据转发的服务器、用于数据仲裁的服务器等)。其中,系统架构中不限于如图1所示的各服务器(服务器11-服务器15、及服务器31-服务器34),还可以为由多个服务器构成的服务器集群,各终端(终端21-终端25)的类型可以是台式机,PC机,手机,一体机等类型。各服务器与各终端、以及各服务器之间可以通过云网络或者骨干网络等有线连接或无线连接的方式建立连接并进行分布式消息传输及对应消息处理,以适应于不同应用(比如与大数据分析相关的电子商务系统、安防系统、网络化学习或考试系统、消防系统或电力系统等民生系统、电子政务系统、网络游戏系统、网络信息检索)等的多种应用场景。
上述图1的例子只是实现本申请实施例的一个系统架构实例,本申请实施例并不限于上述图1所述的系统结构,基于该系统架构,提出本申请各个实施例。
相关技术中,分布式计算需要依赖稳定的服务环境(可以是服务器的运算资源,服务器负载、网络传输稳定性等)。如果该服务环境不稳定,则会导致整个分布式系统无法为客户端提供服务。而且,该分布式计算对客户端来说是可见的、透明的,从而降低了整个分布式系统的安全性。对此,采用本申请如下实施例,分布式计算对于客户端来说是匿名的,从而提高了整个分布式系统的安全性、且安全性相比以往的分布式计算更高,各个客户端可以通过云网络互相连接,或者通过所接入的各个服务器建立连接,如若本申请分布式计算的服务环境不够稳定,还可以将客户端侧的处理逻辑,通过服务器侧的转发,提供给云网络的其他客户端,从而达到客户端之间的动态切换,使得分布式计算的速度更快,也更安全。
根据本申请的实施例,提供了一种分布式消息处理方法,图2是根据本申请实施例的分布式消息处理方法的流程示意图,该方法可以应用于分布式消息处理装置,例如,该装置可以部署于终端(终端上可以安装客户端,以运行应用,如与大数据分析相关的电子商务类应用、安防类应用、网络化学习或考试类应用、消防或电力等民生类的应用、电子政务类应用、网络游戏类应用、网络信息检索类应用)或服务器或其它处理设备执行的情况下,可以执行分布式消息传输、分布式消息处理及获得消息处理结果等等。其中,终端可以为用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,PersonalDigital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图2所示,包括:
S101、接收携带输入参数的处理消息,所述输入参数由客户端生成。
一示例中,输入参数(可以简称为入参)的一种情况是:输入参数可以包括随机数列表。该随机数列表可以在交由客户端侧的处理逻辑前就要生成,由该客户端自己预先生成,该随机数列表还可以由服务器侧下发。之后,执行客户端侧的处理逻辑的情况下,可以在需要使用随机数时,按次序从随机数列表中选取随机数。
一示例中,客户端可以为云客户端,即通过网络连接并位于云端且互相通信的客户端。上述随机数列表的生成,可以由某个云客户端动态生成,在基于随机数列表及客户端侧的处理逻辑执行消息处理后,得到消息处理结果,然后,可以将自己生成的该随机数列表及消息处理结果合成输出参数(可以简称为出参)通过转发服务器将该输出参数转发给用于数据仲裁的数据服务器,由于随机数列表是唯一的,因此,数据服务器信任由该随机数列表及消息处理结果合成得到的输出参数。
需要指出的是,输入参数不限于上述情况,其另一种情况是:输入参数也可以不包括随机数列表,相比上述第一种情况来说安全性更高。
S102、发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果。
一示例中,可以发送携带所述输入参数的请求消息给转发服务器,转发服务器可以将该请求消息转发给客户端侧的处理逻辑,从而,可以通过客户端侧的处理逻辑基于所述输入参数得到至少一个消息处理结果。
S103、接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
一示例中,转发服务器可以将至少一个消息处理结果转发给数据服务器,由数据服务器对所述至少一个消息处理结果,按照信任优先级筛选策略进行仲裁,从而得到所述目标消息处理结果,然后,还可以通过转发服务器将目标消息处理结果返回给发出请求消息的上述客户端。
采用本申请实施例,可以接收携带输入参数的处理消息,所述输入参数由客户端生成,发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,由于客户端生成的输入参数是经服务器侧转发,以及将该输入参数交由客户端侧的处理逻辑(如其他客户端的处理逻辑)进行运算,以得到至少一个消息处理结果,也就是说,对于客户端而言,输入参数的传输及运算等都是匿名的,服务器侧知晓,而客户端并不知晓,因此,避免了客户端的本地数据篡改,提高了安全性,而且,运算是在客户端侧的处理逻辑执行,不需要占用服务器的运算资源,也提高了整个分布式消息处理的运算速度。服务器侧还可以通过对至少一个消息处理结果进行仲裁(比如优先信任上述其他客户端的运算结果的仲裁),将得到的目标消息处理结果提供给客户端侧,通过仲裁可以提高处理结果的准确性。
本申请一实施方式中,所述接收携带输入参数的处理消息,可以包括:通过分布式消息加密的接口,接收所述携带输入参数的处理消息。
其中,所述通过分布式消息加密的接口,接收所述携带输入参数的处理消息,可以包括如下两种情况:
一、从开发平台或应用商店下载软件开发工具包(SDK,Software DevelopmentKit);或者,预先设置所述SDK在所述客户端,并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息,即终端厂商预先设置SDK在客户端。
二、预先设置并实现所述SDK功能的程序代码在所述客户端,运行所述程序代码并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息,即只要可以实现所述SDK的功能代码都在本申请的保护范围之内,不限于SDK的形式。
以SDK来接收携带输入参数的处理消息的一个示例中,通过SDK可以接入客户端,该客户端可以是任意所接入的第三方应用,第三方应用不限于与大数据分析相关的电子商务类应用、安防类应用、网络化学习或考试类应用、消防或电力等民生类的应用、电子政务类应用、网络游戏类应用、网络信息检索类应用等,将接入该客户端的输入参数通过SDK给到转发服务器(转发服务器中可以不设置运算逻辑,仅在客户端设置运算逻辑);转发服务器将输入参数给到任意一个在线的客户端(若不止一个在线客户端,优先转发给其他客户端;若只有一个在线客户端,可以转发给客户端自己,但是对客户端是匿名的,客户端并不会知道这个输入参数是自己之前通过SDK发走的)的处理逻辑进行运算,以得到至少一个消息处理结果;将得到的至少一个消息处理结果通过转发服务器给到用于对该处理结果仲裁的数据服务器(如数据中心)进行仲裁(或称对结果的筛选),得到最终仲裁的目标消息处理结果(如通过投票选择一个最可信的消息处理结果),可以把这个目标消息处理结果通过转发服务器给到该客户端。
采用本实施方式,客户端可以将输入参数通过客户端侧的SDK给到转发服务器,再由转发服务器分发到各个客户端对应的客户端处理逻辑进行运算,运算得到的至少一个消息处理结果给到数据服务器,由数据服务器通过数据仲裁,决定入库数据(如投票选择一个最可信的消息处理结果),由于全程对客户端是匿名的,客户端并不知道谁发的输入参数,谁根据输入参数进行运算,因此本实施方式采用的是匿名式分布式计算,通过匿名式分布式计算,从而提高了安全性,避免了客户端本地数据篡改。
本申请一实施方式中,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,方法还可以包括:发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给其他的非第一客户端(比如云端的第二客户端、第三客户端等)对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。采用本实施方式,多个客户端在线的情况下,优先转发给其他客户端,优先信任别人的运算结果,相比客户端自己运算而言安全性更高。
其中,所述第一客户端、及所述非第一客户端(比如第二客户端、第三客户端)属于同一个应用。采用本实施方式,对同一个应用的客户端运算结果去仲裁,仲裁的目的是选择最佳的消息处理结果,比如,多个客户端加载的该应用都是考试系统,则,通过这种优先信任其他客户端的仲裁方式,提高了安全性。
本申请一实施方式中,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,方法还可以包括:发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给所述第一客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。采用本实施方式,当前只有一个客户端在线的情况下,转发给该客户端自己,但是整个处理过程对该客户端是匿名的,由于是匿名的,因此,客户端仍然不能本地数据篡改,从而提高了安全性。
根据本申请的实施例,提供了一种分布式消息处理方法,图3是根据本申请实施例的分布式消息处理方法的流程示意图,如图3所示,所述方法包括:
S201、通过客户端的收发处理逻辑接收携带输入参数的处理消息,所述输入参数由客户端生成。
一示例中,可以通过客户端的收发处理逻辑由分布式消息加密的接口来接收所述携带输入参数的处理消息。其中,所述客户端的收发处理逻辑的形式,包括:从开发平台或应用商店所下载的SDK、预先设置于客户端内的所述SDK、预先设置于客户端且能实现所述SDK功能的程序代码中的至少一种。
一示例中,输入参数的一种情况是:输入参数可以包括随机数列表。该随机数列表可以在交由客户端侧的处理逻辑前就要生成,由该客户端自己预先生成,该随机数列表还可以由服务器侧下发。之后,执行客户端侧的处理逻辑的情况下,可以在需要使用随机数时,按次序从随机数列表中选取随机数。
一示例中,客户端可以为云客户端,即通过网络连接并位于云端且互相通信的客户端。上述随机数列表的生成,可以由某个云客户端动态生成,在基于随机数列表及客户端侧的处理逻辑执行消息处理后,得到消息处理结果,然后,可以将自己生成的该随机数列表及消息处理结果合成输出参数通过转发服务器将该输出参数转发给用于数据仲裁的数据服务器,由于随机数列表是唯一的,因此,数据服务器信任由该随机数列表及消息处理结果合成得到的输出参数。
需要指出的是,输入参数不限于上述情况,其另一种情况是:输入参数也可以不包括随机数列表,相比上述第一种情况来说安全性更高。
S202、通过所述客户端的收发处理逻辑发送携带所述输入参数的请求消息给服务器侧。
一示例中,可以发送携带所述输入参数的请求消息给转发服务器,以便转发服务器可以将该请求消息转发给客户端侧的处理逻辑,从而,可以通过客户端侧的处理逻辑基于所述输入参数得到至少一个消息处理结果。
S203、所述服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果。
一示例中,转发服务器可以将该请求消息转发给客户端侧的处理逻辑,从而,可以通过客户端侧的处理逻辑基于所述输入参数得到至少一个消息处理结果。
S204、通过所述客户端的收发处理逻辑接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
一示例中,转发服务器可以将至少一个消息处理结果转发给数据服务器,由数据服务器对所述至少一个消息处理结果,按照信任优先级筛选策略进行仲裁,从而得到所述目标消息处理结果,然后,过转发服务器将目标消息处理结果返回给发出请求消息的客户端,通过该客户端的收发处理逻辑接收该目标消息处理结果。
采用本申请实施例,可以通过客户端的收发处理逻辑接收携带输入参数的处理消息,所述输入参数由客户端生成。发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,由于客户端生成的输入参数是经服务器侧转发,以及将该输入参数交由客户端侧的处理逻辑(如其他客户端的处理逻辑)进行运算,以得到至少一个消息处理结果,也就是说,对于客户端而言,输入参数的传输及运算等都是匿名的,服务器侧知晓,而客户端并不知晓,因此,避免了客户端的本地数据篡改,提高了安全性,而且,运算是在客户端侧的处理逻辑执行,不需要占用服务器的运算资源,也提高了整个分布式消息处理的运算速度。服务器侧还可以通过对至少一个消息处理结果进行仲裁(比如优先信任上述其他客户端的运算结果的仲裁),将得到的目标消息处理结果提供给客户端侧,通过仲裁可以提高处理结果的准确性。
本申请一实施方式中,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,所述服务器侧包括转发服务器。其中,所述服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:所述转发服务器转发所述请求消息给其他的非第一客户端(比如第二客户端、第三客户端)对应的处理逻辑;通过所述非第一客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果。这里,所述第一客户端、及所述非第一客户端(比如第二客户端、第三客户端)属于同一个应用。
本申请一实施方式中,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,所述服务器侧包括转发服务器。其中,所述服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:所述转发服务器转发所述请求消息给所述第一客户端对应的处理逻辑;通过所述第一客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果。
本申请一实施方式中,还包括:在所述服务器侧还包括数据处理服务器的情况下,所述转发服务器接收所述至少一个消息处理结果,转发给所述数据处理服务器;所述数据处理服务器对所述至少一个消息处理结果,按照信任优先级筛选策略进行仲裁,得到所述目标消息处理结果。
应用示例:
图4是应用本申请实施例的分布式消息处理方法的流程示意图,包括实施方式400的一个处理线程实例,其中不包含SDK,客户端有本地数据篡改的可能性,还包括实施方式500的一个处理线程实例,设置了SDK,可以避免本地数据的篡改。
如图4所示,针对实施方式500的处理线程实例而言,该分布式消息处理方法基于课件应用(本地客户端)、SDK(设置于本地客户端或云客户端)、转发服务器、云端课件应用(云客户端)、及数据中心共同实现,应用本申请实施例一处理流程包括如下内容:
一、课件应用为本地客户端,本地客户端用于:负责接入SDK,提供第一输入参数;提供处理第一输入参数的客户端侧处理逻辑,根据该客户端侧的处理逻辑并基于第一输入参数得到至少一个消息处理结果,将该消息处理结果作为第一输出参数;负责第一输出参数的上报。
二、课件应用为云客户端,云客户端用于:负责接入SDK,获取所转发的上述第一输入参数;提供处理上述第一输出参数的客户端侧处理逻辑,根据该客户端侧的处理逻辑并基于第一输入参数得到至少一个消息处理结果,将该消息处理结果作为第二输出参数(第二输出参数可能与上述第一输出参数一致,也可能不一致,理论上二者一致那么就可以认为数据更可信);负责上报第二输出参数。
云客户端还可以用于:负责接入SDK,获取自己动态生成的第二输入参数,以便通过设置于客户端的SDK发送给服务器,请求其他客户端对第二输入参数进行运算诸如此类,通过本地客户端及云客户端,可以实现客户端之间的动态组网功能。
其中,云客户端为至少一个,可以分别将各自的输入参数通过各自SDK转发,以及基于各自客户端侧的处理逻辑进行运行,以上报运算得到的各自输出参数。
三、SDK,以设置于本地客户端的SDK为例,用于负责将第一输入参数发送给转发服务器,SDK通过转发服务器,将第一输入参数分发给其他客户端(如云客户端);SDK还可以同时接受转发服务器发来的各输入参数,如其他客户端(如云客户端)对应的输入参数,比如上述第二输入参数。
其中,本地客户端的SDK可以提供分布式加密运算的接口,以接入本地客户端,则本地客户端可以将需要运算的第一输入参数传给SDK,并生成唯一的ID(该ID为了标识输入参数来自于哪个客户端,以使转发服务器可以根据该ID感知到具体的对应客户端)
四、数据中心,用于接收各输出参数(比如接收第一输出参数、第二输出参数等等);提供数据筛选策略及制定入库标准,可以根据该数据筛选策略进行仲裁,以得到最可信的消息处理结果,将最可信的消息处理结果作为入库数据并存入数据库中。
其中,针对该数据筛选策略而言,先信任第一个数据(即第一个消息处理结果),然后信任多数的数据(取多数的消息处理结果)。其中,如果只有两个数据(一个数据是自己运算得到的,则信任非自己的数据。一示例中,数据筛选策略的信任优先级可以包括:1)先信任收到的第一个消息处理结果;2)若当前无其他在线客户端的情况下,即只有一个在线客户端,即:信任“结果A”,“结果A”为该在线客户端运算得到的消息处理结果;3)若有多个在线客户端,由该在线客户端运算得到的消息处理结果与其他在线客户端得到的消息处理结果不一致,则优先信任其他在线客户端得到的消息处理结果,且取多数。
五、转发服务器,用于负责查找在线的且启动同一个应用的客户端,并且随机指定几个客户端(包括本地客户端或云客户端),将各输入参数发给指定的这些客户端。
转发服务器还可以设置定时功能,比如使用定时器来实现该定时功能,并根据该定时器在指定的时间转发各输入参数等。比如,客户端加载的应用为VR场景的回合制游戏应用,比如,针对定时的BOSS对战类游戏,首先,游戏的发起者可以不在线,并可以提前布阵(提供输入参数),开启定时的BOSS对战,通过转发服务器根据该定时器执行分布式的输入参数转发、战斗录像上传等。其中,该回合制游戏应用,不限于VR场景,还可以是网页游戏等等类型。
采用本应用示例,通过各客户端(本地客户端及云客户端)之间的动态组网功能,以构成动态的分布式网络架构。基于该动态的分布式网络架构,可以通过SDK接收各输入参数,通过转发服务器进行各输入参数的转发,执行客户端侧的逻辑运算,以根据各输入参数得到各输出参数,最终在数据中心对各输出参数进行仲裁,从而得到最可信的结果。基于该动态的分布式网络架构,由于对于任意一个客户端的处理,都是匿名的,避免了客户端本地篡改内存,因此提高了安全性。由于逻辑运算位于客户端侧,则无需将运算逻辑写在服务器上,因此,服务器对内容解耦,可以只开发客户端,降低了开发者的开发量,且云客户端还可实现服务器功能,比如在云端的服务器不够用,运算资源紧张等情况下,从而提供了整个服务环境的消息处理效率。
需要指出的是,上述任意一个客户端的输入参数可以进行拆分,并可以提供给多个其他客户端一起运算,也是一种分布式处理,从而进一步提高该动态的分布式网络架构的性能,比如提高运算速度。
根据本申请的实施例,提供了一种分布式消息处理装置,图5是根据本申请实施例的分布式消息处理装置的组成结构示意图,如图5所示,所述装置包括:第一接收模块41,用于接收携带输入参数的处理消息,所述输入参数由客户端生成;第一发送模块42,用于发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果;第二接收模块43,用于接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果仲裁得到的处理结果。
本申请一实施方式中,第一接收模块41,包括第一接收子模块,用于:通过分布式消息加密的接口,接收所述携带输入参数的处理消息。
一示例中,第一接收子模块,还用于下载SDK、或者预先设置所述SDK在所述客户端,并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息。
一示例中,第一接收子模块,还用于预先设置并实现所述SDK功能的程序代码在所述客户端,运行所述程序代码并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息。
本申请一实施方式中,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,第一发送模块42,用于发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给其他的非第一客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。其中,所述第一客户端、及所述非第一客户端属于同一个应用。
本申请一实施方式中,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,所述第一发送模块,用于发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给所述第一客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。
根据本申请的实施例,提供了一种分布式消息处理系统,图6是根据本申请实施例的分布式消息处理系统的组成结构示意图,如图6所示,包括:设置于客户端51侧的收发处理逻辑模块511、设置于服务器61侧的转发模块611及数据仲裁模块612,其中,收发处理逻辑模块511用于接收携带输入参数的处理消息,所述输入参数由客户端生成,收发处理逻辑模块511用于发送携带所述输入参数的请求消息给所述转发模块,及接收目标消息处理结果;转发模块611用于转发所述请求消息给所述收发处理逻辑模块并基于所述输入参数得到至少一个消息处理结果,及转发所述至少一个消息处理结果给所述数据仲裁模块;数据仲裁模块612用于对所述至少一个消息处理结果进行仲裁,得到所述目标消息处理结果。需要指出的是:所述客户端包括:云客户端(或称云端的客户端),与现有客户端不同,云客户端还可以承担服务器的处理功能,比如,除了针对匿名式的分布式计算可以提高安全性这个好处,在云端的服务器不够用,服务环境不稳定时,该云客户端还可以作为服务器来使用,以进行运算,从而可以提高更稳定的服务环境,以保证整个分布式计算的良性运转。
采用本申请实施例,可以接收携带输入参数的处理消息,所述输入参数由客户端生成,发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,由于客户端生成的输入参数是经服务器侧转发,以及将该输入参数交由客户端侧的处理逻辑(如其他客户端的处理逻辑)进行运算,以得到至少一个消息处理结果,也就是说,对于客户端而言,输入参数的传输及运算等都是匿名的,服务器侧知晓,而客户端并不知晓,因此,避免了客户端的本地数据篡改,提高了分布式消息处理的安全性,而且,运算是在客户端侧的处理逻辑执行,不需要占用服务器的运算资源,也提高了整个分布式消息处理的运算速度。服务器侧还可以通过对至少一个消息处理结果进行仲裁(比如优先信任上述其他客户端的运算结果的仲裁),将得到的目标消息处理结果提供给客户端侧,通过仲裁可以提高处理结果的准确性。
本申请一实施方式中,收发处理逻辑模块511用于由分布式消息加密的接口来接收所述携带输入参数的处理消息。其中,收发处理逻辑模块的形式,包括:从开发平台或应用商店所下载的SDK、预先设置于客户端内的所述SDK、预先设置于客户端且能实现所述SDK功能的程序代码中的至少一种。
本申请一实施方式中,客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,转发模块611(可以设置于转发服务器),用于转发所述请求消息给其他的非第一客户端对应的处理逻辑,该非第一客户端对应的处理逻辑可以运行于非第一客户端的收发处理逻辑模块中,以通过该非第一客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果。
本申请一实施方式中,所述第一客户端、及所述非第一客户端属于同一个应用。
本申请一实施方式中,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,转发模块611(可以设置于转发服务器)用于转发所述请求消息给所述第一客户端对应的处理逻辑,该第一客户端对应的处理逻辑可以运行于非第一客户端的收发处理逻辑模块中,以通过所述第一客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果。
本申请一实施方式中,数据仲裁模块612(可以设置于数据处理服务器)用于对所述至少一个消息处理结果,按照信任优先级筛选策略进行仲裁,得到所述目标消息处理结果,可以通过转发模块将所述目标消息处理结果转发给收发处理逻辑模块。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图7所示,是用来实现本申请实施例的分布式消息处理方法的电子设备的框图。该电子设备可以为前述部署设备或代理设备。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的分布式消息处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的分布式消息处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的分布式消息处理方法对应的程序指令/模块(例如,附图5所示的第一接收模块、第一发送模块、第二接收模块等模块)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的分布式消息处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
分布式消息处理方法的电子设备,还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
采用本申请实施例,可以接收携带输入参数的处理消息,所述输入参数由客户端生成,发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给客户端侧的处理逻辑并基于所述输入参数得到至少一个消息处理结果,由于客户端生成的输入参数是经服务器侧转发,以及将该输入参数交由客户端侧的处理逻辑(如其他客户端的处理逻辑)进行运算,以得到至少一个消息处理结果,也就是说,对于客户端而言,输入参数的传输及运算等都是匿名的,服务器侧知晓,而客户端并不知晓,因此,避免了客户端的本地数据篡改,提高了分布式消息处理的安全性,而且,运算是在客户端侧的处理逻辑执行,不需要占用服务器的运算资源,也提高了整个分布式消息处理的运算速度。服务器侧还可以通过对至少一个消息处理结果进行仲裁(比如优先信任上述其他客户端的运算结果的仲裁),将得到的目标消息处理结果提供给客户端侧,通过仲裁可以提高处理结果的准确性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (19)

1.一种分布式消息处理方法,所述方法包括:
接收携带输入参数的处理消息,所述输入参数由第一客户端生成;
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,所述至少一个第二客户端包括所述第一客户端或不包括所述第一客户端;
接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果按照信任优先级筛选策略进行仲裁得到的处理结果,所述信任优先级筛选策略为先信任第一个消息处理结果,然后信任非所述第一客户端且多数的消息处理结果。
2.根据权利要求1所述的方法,其中,所述接收携带输入参数的处理消息,包括:
通过分布式消息加密的接口,接收所述携带输入参数的处理消息。
3.根据权利要求2所述的方法,其中,所述通过分布式消息加密的接口,接收所述携带输入参数的处理消息,包括:
下载软件开发工具包SDK、或者预先设置所述SDK在所述客户端,并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息;
预先设置并实现所述SDK功能的程序代码在所述客户端,运行所述程序代码并通过所述分布式消息加密的接口来接收所述携带输入参数的处理消息。
4.根据权利要求1-3中任一项所述的方法,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端;
其中,所述发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给第二客户端中非第一客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。
5.根据权利要求4所述的方法,所述第一客户端、及所述非第一客户端属于同一个应用。
6.根据权利要求1-3中任一项所述的方法,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端;
其中,所述发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给所述第二客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果,所述第一客户端与所述第二客户端属于同一客户端。
7.一种分布式消息处理方法,所述方法包括:
通过第二客户端的收发处理逻辑接收携带输入参数的处理消息,所述输入参数由第一客户端生成;
通过所述第二客户端的收发处理逻辑发送携带所述输入参数的请求消息给服务器侧;
所述服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果;所述至少一个第二客户端包括所述第一客户端或不包括所述第一客户端;
通过所述第二客户端的收发处理逻辑接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果按照信任优先级筛选策略进行仲裁得到的处理结果,所述信任优先级筛选策略为先信任第一个消息处理结果,然后信任非所述第一客户端且多数的消息处理结果;
所述客户端的收发处理逻辑的形式,包括:从开发平台或应用商店所下载的软件开发工具包SDK、预先设置于客户端内的所述SDK、预先设置于客户端且能实现所述SDK功能的程序代码中的至少一种。
8.根据权利要求7所述的方法,其中,所述通过第二客户端的收发处理逻辑接收携带输入参数的处理消息,包括:
通过第二客户端的收发处理逻辑由分布式消息加密的接口来接收所述携带输入参数的处理消息。
9.根据权利要求7所述的方法,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,所述服务器侧包括转发服务器;
其中,所述服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:
所述转发服务器转发所述请求消息给第二客户端中非第一客户端对应的处理逻辑;
通过所述非第一客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果。
10.根据权利要求9所述的方法,所述第一客户端、及所述非第一客户端属于同一个应用。
11.根据权利要求7所述的方法,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端,所述服务器侧包括转发服务器;
其中,所述服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,包括:
所述转发服务器转发所述请求消息给所述第二客户端对应的处理逻辑;
通过所述第二客户端对应的处理逻辑,基于所述输入参数得到至少一个消息处理结果,所述第一客户端与所述第二客户端属于同一客户端。
12.根据权利要求10-11中任一项所述的方法,还包括:在所述服务器侧还包括数据处理服务器的情况下,
所述转发服务器接收所述至少一个消息处理结果,转发给所述数据处理服务器;
所述数据处理服务器对所述至少一个消息处理结果,按照信任优先级筛选策略进行仲裁,得到所述目标消息处理结果,所述信任优先级筛选策略为先信任第一个消息处理结果,然后信任非所述第一客户端且多数的消息处理结果。
13.一种分布式消息处理装置,所述装置包括:
第一接收模块,用于接收携带输入参数的处理消息,所述输入参数由第一客户端生成;
第一发送模块,用于发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给至少一个第二客户端的处理逻辑并基于所述输入参数得到至少一个消息处理结果,所述至少一个第二客户端包括所述第一客户端或不包括所述第一客户端;
第二接收模块,用于接收目标消息处理结果,其中,所述目标消息处理结果为在所述服务器侧对所述至少一个消息处理结果按照信任优先级筛选策略进行仲裁得到的处理结果,所述信任优先级筛选策略为先信任第一个消息处理结果,然后信任非所述第一客户端且多数的消息处理结果。
14.根据权利要求13所述的装置,其中,所述第一接收模块,包括第一接收子模块,用于:
通过分布式消息加密的接口,接收所述携带输入参数的处理消息。
15.根据权利要求13或14所述的装置,所述客户端侧包括至少两个在线客户端的情况下,生成所述输入参数的客户端为第一客户端;
其中,所述第一发送模块,用于:
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给第二客户端中非第一客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果。
16.根据权利要求13或14所述的装置,所述客户端侧包括一个在线客户端的情况下,生成所述输入参数的客户端为第一客户端;
其中,所述第一发送模块,用于:
发送携带所述输入参数的请求消息给服务器侧,以通过服务器侧转发所述请求消息给所述第二客户端对应的处理逻辑并基于所述输入参数得到至少一个消息处理结果,所述第一客户端与所述第二客户端属于同一客户端。
17.一种分布式消息处理系统,所述系统包括:设置于第二客户端的收发处理逻辑模块、设置于服务器侧的转发模块及数据仲裁模块,其中,
所述收发处理逻辑模块,用于接收携带输入参数的处理消息,所述输入参数由第一客户端生成;
所述收发处理逻辑模块,用于发送携带所述输入参数的请求消息给所述转发模块,及接收目标消息处理结果;
所述转发模块,用于转发所述请求消息给所述收发处理逻辑模块并基于所述输入参数得到至少一个消息处理结果,及转发所述至少一个消息处理结果给所述数据仲裁模块;
所述数据仲裁模块,用于对所述至少一个消息处理结果按照信任优先级筛选策略进行进行仲裁,得到所述目标消息处理结果,所述信任优先级筛选策略为先信任第一个消息处理结果,然后信任非所述第一客户端且多数的消息处理结果;
其中,所述客户端包括:云客户端。
18.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-12中任一项所述的方法。
CN202010616835.5A 2020-06-30 2020-06-30 分布式消息处理方法、装置、电子设备及存储介质 Active CN111782422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010616835.5A CN111782422B (zh) 2020-06-30 2020-06-30 分布式消息处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010616835.5A CN111782422B (zh) 2020-06-30 2020-06-30 分布式消息处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111782422A CN111782422A (zh) 2020-10-16
CN111782422B true CN111782422B (zh) 2023-08-15

Family

ID=72761464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010616835.5A Active CN111782422B (zh) 2020-06-30 2020-06-30 分布式消息处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111782422B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259106A (ja) * 2004-02-09 2005-09-22 Ricoh Co Ltd 仲介装置、分散処理システム、データ転送方法、プログラム及び記録媒体
JP2007310710A (ja) * 2006-05-19 2007-11-29 Nec Corp クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
CN103647820A (zh) * 2013-12-09 2014-03-19 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
CN105681404A (zh) * 2016-01-04 2016-06-15 北京百度网讯科技有限公司 用于分布式缓存系统的元数据节点管理方法和装置
CN105991418A (zh) * 2015-02-16 2016-10-05 阿里巴巴集团控股有限公司 通讯方法、装置、服务器及电子设备
CN109582466A (zh) * 2017-09-29 2019-04-05 北京金山软件有限公司 一种定时任务执行方法、分布式服务器集群及电子设备
CN110958249A (zh) * 2019-12-03 2020-04-03 望海康信(北京)科技股份公司 信息处理方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001268674B2 (en) * 2000-06-22 2007-04-26 Microsoft Technology Licensing, Llc Distributed computing services platform

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259106A (ja) * 2004-02-09 2005-09-22 Ricoh Co Ltd 仲介装置、分散処理システム、データ転送方法、プログラム及び記録媒体
JP2007310710A (ja) * 2006-05-19 2007-11-29 Nec Corp クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
CN103647820A (zh) * 2013-12-09 2014-03-19 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
CN105991418A (zh) * 2015-02-16 2016-10-05 阿里巴巴集团控股有限公司 通讯方法、装置、服务器及电子设备
CN105681404A (zh) * 2016-01-04 2016-06-15 北京百度网讯科技有限公司 用于分布式缓存系统的元数据节点管理方法和装置
CN109582466A (zh) * 2017-09-29 2019-04-05 北京金山软件有限公司 一种定时任务执行方法、分布式服务器集群及电子设备
CN110958249A (zh) * 2019-12-03 2020-04-03 望海康信(北京)科技股份公司 信息处理方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yannan Sun, Tess Williams.A comparative study of distribution system parameter estimation methods.2016 IEEE Power and Energy Society General Meeting (PESGM).2016,1-5. *

Also Published As

Publication number Publication date
CN111782422A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111741026A (zh) 一种跨链事务请求处理方法、装置、设备以及存储介质
CN111131317B (zh) 一种基于区块链的数据处理方法、装置、设备和介质
CN111880695A (zh) 一种屏幕共享方法、装置、设备及存储介质
CN112380464B (zh) 一种短链接生成方法以及相关设备
CN111965996A (zh) 智能设备控制方法、装置、设备和存储介质
CN110545541A (zh) 防御攻击行为的方法、装置、设备、终端和介质
CN107908482B (zh) 一种信息传送方法、设备及计算机可读介质
CN112989400B (zh) 一种隐私事务处理方法、装置、电子设备和介质
CN110430292B (zh) 邀请登录网络平台的方法、装置、电子设备及可读介质
CN103634419A (zh) 终端的远程控制方法及终端
CN112511412B (zh) 信息的发送方法及装置、电子设备和可读存储介质
JP2023504956A (ja) 性能検出方法、装置、電子機器及びコンピュータ可読媒体
CN111787088A (zh) 小程序数据处理的方法和装置
CN111770170B (zh) 请求处理方法、装置、设备和计算机存储介质
CN111782422B (zh) 分布式消息处理方法、装置、电子设备及存储介质
CN112069137B (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质
CN111615171B (zh) 无线局域网的接入方法和装置
CN114143000A (zh) 基于不经意传输协议与秘密分享的匿踪查询方法及装置
US20150156157A1 (en) Association method and device for communications modes
CN111813407B (zh) 游戏开发方法、游戏运行方法、装置和电子设备
CN111770165A (zh) 用于上传文件的方法、装置、电子设备及可读存储介质
CN113806723B (zh) 双因子认证方法和装置
CN112417326B (zh) Url的转换方法和装置、电子设备和存储介质
CN110947182A (zh) 事件应对方法、装置、游戏终端及介质
WO2023098012A1 (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
GR01 Patent grant