CN111245822B - 远程过程调用处理方法、装置及计算机存储介质 - Google Patents

远程过程调用处理方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN111245822B
CN111245822B CN202010019549.0A CN202010019549A CN111245822B CN 111245822 B CN111245822 B CN 111245822B CN 202010019549 A CN202010019549 A CN 202010019549A CN 111245822 B CN111245822 B CN 111245822B
Authority
CN
China
Prior art keywords
client
rpc
quota
calling
remote procedure
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
CN202010019549.0A
Other languages
English (en)
Other versions
CN111245822A (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 Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Xiaomi Pinecone Electronic 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 Xiaomi Pinecone Electronic Co Ltd filed Critical Beijing Xiaomi Pinecone Electronic Co Ltd
Priority to CN202010019549.0A priority Critical patent/CN111245822B/zh
Publication of CN111245822A publication Critical patent/CN111245822A/zh
Application granted granted Critical
Publication of CN111245822B publication Critical patent/CN111245822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/133Protocols for remote procedure calls [RPC]
    • 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/547Remote procedure calls [RPC]; Web services
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开是关于一种远程过程调用处理方法及装置、计算机存储介质,属于计算机技术领域;所述远程过程调用处理方法包括:确定每个客户端的远程过程调用(RPC)请求的频次;获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。

Description

远程过程调用处理方法、装置及计算机存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种远程过程调用处理方法、装置及计算机存储介质。
背景技术
在分布式系统中,各个组件之间通过远程过程调用(Remote Procedure Call,RPC)进行交互,各个服务模块通过RPC为相应客户端提供功能服务。在多租户分布式系统中,多个用户共同使用分布式系统提供的服务,在这种场景中,常常有些用户的应用程序由于程序错误(bug)或者不合理的使用方式产生过多的RPC调用,而这些过多的RPC调用可能会导致系统负载过高,从而影响其他用户的使用。
发明内容
本公开提供一种远程过程调用处理方法、装置及计算机存储介质。
根据本公开实施例的第一方面,提供一种远程过程调用处理方法,包括:
确定每个客户端的远程过程调用(RPC)请求的频次;
获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;
根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。
上述方案中,所述方法还包括:
根据客户端优先级,预先为每个客户端配置所述可调用额度;其中,客户端优先级越高,被配置的可调用额度越大。
上述方案中,所述预先为每个客户端配置所述可调用额度,包括:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统最大调用额度值。
上述方案中,所述根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,包括:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
上述方案中,所述根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,包括:
当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用。
上述方案中,所述根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,包括:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
根据本公开实施例的第二方面,提供一种远程过程调用处理装置,包括:
确定单元,被设置为确定每个客户端的远程过程调用(RPC)请求的频次;
获取单元,被设置为获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;
处理单元,被设置为根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。
上述方案中,所述装置还包括:
配置单元,被设置为根据客户端优先级,预先为每个客户端配置所述可调用额度;其中,客户端优先级越高,被配置的可调用额度越大。
上述方案中,所述配置单元,被设置为:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统最大调用额度值。
上述方案中,所述处理单元,被设置为:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
上述方案中,所述处理单元,被设置为:
当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用。
上述方案中,所述处理单元,被设置为:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
根据本公开实施例的第三方面,提供一种远程过程调用处理装置,包括:
处理器;
用于存储可执行指令的存储器;
其中,所述处理器被设置为:执行所述可执行指令时实现前述根据本公开实施例的第一方面中任意一个方案所述的远程过程调用处理方法。
根据本公开实施例的第四方面,提供一种计算机存储介质,所述计算机存储介质中存储有可执行指令,所述可执行指令被处理器执行时,使得所述处理器执行前述根据本公开实施例的第一方面中任意一个方案所述的远程过程调用处理方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
确定每个客户端的RPC请求的频次;获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理;如此,由于为每个客户端预先配置了可调用额度,根据为每个客户端配置的可调用额度以及每个客户端的RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,能够解决多租户环境下不同用户之间的互相干扰的问题,避免因一个用户高频率的访问请求可能会使得其他用户无法获得访问服务的情况发生。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种远程过程调用处理方法的流程示意图;
图2是根据一示例性实施例示出的另一种远程过程调用处理方法的流程示意图;
图3是根据一示例性实施例示出的又一种远程过程调用处理方法的流程示意图;
图4是根据一示例性实施例示出的一种远程过程调用处理装置的框图;
图5是根据一示例性实施例示出的一种用于实现远程过程调用处理的装置800的框图;
图6是根据一示例性实施例示出的一种用于实现远程过程调用处理的装置900的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”及“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。
实施例一
图1是根据一示例性实施例示出的一种远程过程调用处理方法的流程图,如图1所示,该远程过程调用处理方法可以应用于分布式系统的服务端中,该服务端包括但不限于:个人电脑(Personal Computer,PC)、或者服务器等,所述服务器可以是云服务器或普通服务器。如图1所示,该远程过程调用处理方法包括以下步骤:
在步骤S11中,确定每个客户端的远程过程调用(RPC)请求的频次;
在步骤S12中,获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;
在步骤S13中,根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。
本公开实施例中,所述客户端是指分布式系统的客户端。
本公开实施例中,所述单位时间是指一定时间内。
示例性地,所述的那位时间为一毫秒、或一秒或一分钟或一小时等。
本公开实施例中,所述调用管控处理包括允许调用或者不允许调用。也就是说,所述调用管控处理包括允许使用服务资源或者不允许使用服务资源。
如此,由于为每个客户端预先配置了可调用额度,根据为每个客户端配置的可调用额度以及每个客户端的RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,能够解决多租户环境下不同用户之间的互相干扰的问题,避免因一个用户高频率的访问请求可能会使得其他用户无法获得访问服务的情况发生。
本实施例公开另一种远程过程调用处理的方法。图2示出了另一种远程过程调用处理方法的流程图,如图2所示,图1所示的远程过程调用处理方法,还包括:步骤S20:根据客户端优先级,预先为每个客户端配置所述可调用额度。
其中,客户端优先级越高,被配置的可调用额度越大。
如此,根据客户端的优先级,为客户端配置可调用额度,能够有助于为客户端提供更好的调用服务,从而有助于提高用户使用体验。
示例性地,分布式系统中包括服务器和3个客户端,这3个客户端分别记为客户端A、客户端B和客户端C;客户端A的优先级高于客户端B的优先级,客户端B的优先级高于客户端C的优先级,客户端A的优先级高于客户端C的优先级;那么,系统为客户端A配置的可调用额度为x%,系统为客户端B配置的可调用额度为y%,系统为客户端C配置的可调用额度为z%,则有,x%>y%>z%。
在一些实施方式中,预先为每个客户端配置所述可调用额度,包括:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%。
假设系统共支持客户端A、客户端B和客户端C三个客户端,系统为客户端A配置的可调用额度为x%,系统为客户端B配置的可调用额度为y%,系统为客户端C配置的可调用额度为z%,则有,x%+y%+z%=100%。如此,为系统所支持的所有客户端配置的可调用额度的百分比总和等于100%,在实际应用中能够为各个客户端提供明确的调用支持依据。
假设系统共支持客户端A、客户端B和客户端C三个客户端,系统为客户端A配置的可调用额度为x%,系统为客户端B配置的可调用额度为y%,系统为客户端C配置的可调用额度为z%,则有,x%+y%+z%>100%。如此,能够保证每个客户端有一个服务最低保障。
示例性地,系统共支持客户端A和客户端B两个客户端,客户端A的可调用额度设置为50%,客户端B的可调用额度设置为80%,则系统可保障客户端B能获得至少50%的服务能力,而保障客户端A至少可获得20%的服务能力。
如此,根据客户端的优先级,为客户端提供用百分比形式表示的可调用额度,能够有助于为客户端提供更好的调用服务,从而有助于提高用户使用体验。
在一些实施方式中,预先为每个客户端配置所述可调用额度,包括:
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统最大调用额度值。
仍以上述例子为例,假设系统共支持客户端A、客户端B和客户端C三个客户端,系统最大调用额度值为d,而系统为客户端A配置的可调用额度为d1,系统为客户端B配置的可调用额度为d2,系统为客户端C配置的可调用额度为d3,那么,d1+d2+d3=d,或者,d1+d2+d3<d。在实际应用中,能够为各个客户端提供明确的调用支持依据。
如此,根据客户端的优先级,为客户端提供用具体数值形式表示的可调用额度,能够有助于为客户端提供更好的调用服务,从而有助于提高用户使用体验。
本实施例公开了又一种远程过程调用处理的方法。图3示出了又一种远程过程调用处理方法的流程图,如图3所示,图1所示的远程过程调用处理中的步骤13包括:
步骤S131:当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
下面列举一使用场景,假定系统有三个用户甲、乙、丙,系统能提供的最大调用额度为10000次/秒,系统管理员为用户甲、乙、丙分配的百分比可调用额度分别为50%、30%、20%。某个时间点,用户甲的访问频次为100次/秒,用户乙的频次为10次/秒,用户丙的频次为20次/秒。之后用户甲的访问量开始增长,用户乙和用户丙的频次保持不变,这种情况下用户甲的访问频次可逐步增长到10000-10-20=9970次/秒。
在一些实施例中,如图3所示,图1所示的远程过程调用处理中的步骤13还包括:
步骤S132:当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用。
其中,所述第一客户端为系统支持的所有客户端中的任一个客户端,所述第二客户端是所述所有客户端中除所述第一客户端之外的客户端。所述第二客户端的个数可以是一个或多个。
下面列举一使用场景,假定系统有三个用户甲、乙、丙,系统能提供的最大调用额度为10000次/秒,系统管理员为用户甲、乙、丙分配的百分比可调用额度分别为50%、30%、20%。某个时间点,用户甲的访问频次为5500次/秒,用户乙的访问频次为1000次/秒,用户丙的访问频次为2500次/秒。之后用户乙的访问频次开始增长,当用户乙增长到2000次/秒后,如果用户乙继续增长,则系统会根据随机原则或优先级原则,降低用户甲或者用户丙被允许访问的次数,直到用户甲或用户乙的访问频次到达允许的可调度范围内。需要说明的是,优先级原则是指用户优先级越高越晚降低,或是,用户优先级越高降低越少。
在一些实施例中,如图3所示,图1所示的远程过程调用处理中的步骤13还包括:
步骤S133:当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
下面列举一使用场景,假定系统有三个用户甲、乙、丙,系统能提供的最大调用额度为10000次/秒,系统管理员为用户甲、乙、丙分配的百分比可调用额度分别为50%、30%、20%。某个时间点,用户甲的访问频次为6000次/秒,用户乙的频次为1000次/秒,用户丙的访问频次为2000次/秒。之后,用户乙的频次开始增加,当用户乙增长到2000次/秒后如果继续增长,则用户甲能被允许的访问频次会被降低,如果用户乙增长到2500次/秒,则用户甲能被允许的访问会降低到5500次/秒。如此,为每个用户配置一个可调用额度,系统过载后超过可调用额度的请求将会被系统剥夺。
本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本公开实施例所述的技术方案,获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理;如此,由于为每个客户端预先配置了可调用额度,根据为每个客户端配置的可调用额度以及每个客户端的RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,能够解决多租户环境下不同用户之间的互相干扰的问题,避免因一个用户高频率的访问请求可能会使得其他用户无法获得访问服务的情况发生。
实施例二
图4是根据一示例性实施例示出的一种远程过程调用处理装置的框图。该远程过程调用处理装置应用于分布式系统的服务器端,参照图4,该装置包括确定单元10、获取单元20和处理单元30。
确定单元10,被设置为确定每个客户端的远程过程调用(RPC)请求的频次;
获取单元20,被设置为获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;
处理单元30,被设置为根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。
在一些实施例中,所述装置还包括:
配置单元40,被设置为根据客户端优先级,预先为每个客户端配置所述可调用额度;其中,客户端优先级越高,被配置的可调用额度越大。
在一些实施方式中,所述配置单元40,被设置为:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统最大调用额度值。
在一些实施方式中,所述处理单元30,被设置为:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
在一些实施方式中,所述处理单元30,被设置为:
当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用。
在一些实施方式中,所述处理单元30,被设置为:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实际应用中,上述确定单元10、获取单元20、处理单元30和配置单元40的具体结构均可由该远程过程调用处理装置或该远程过程调用处理装置所属服务器中的中央处理器(CPU,Central Processing Unit)、微处理器(MCU,Micro Controller Unit)、数字信号处理器(DSP,Digital Signal Processing)或可编程逻辑器件(PLC,Programmable LogicController)等实现。
本领域技术人员应当理解,本公开实施例的远程过程调用处理装置中各处理模块的功能,可参照前述应用于远程过程调用处理方法的相关描述而理解,本公开实施例的远程过程调用处理装置中各处理模块,可通过实现本公开实施例所述的功能的模拟电路而实现,也可以通过执行本公开实施例所述的功能的软件在电子设备上的运行而实现。
本公开实施例所述的远程过程调用处理装置,能够解决多租户环境下不同用户之间的互相干扰的问题,避免因一个用户高频率的访问请求可能会使得其他用户无法获得访问服务的情况发生。
本公开实施例还记载了一种远程过程调用处理装置,所述装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任意一个技术方案提供的远程过程调用处理方法。
作为一种实施方式,所述处理器执行所述程序时实现:
确定每个客户端的RPC请求的频次;
获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征单位时间可调用RPC请求的最大次数;
根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理。
作为一种实施方式,所述处理器执行所述程序时实现:
根据客户端优先级,预先为每个客户端配置所述可调用额度。
作为一种实施方式,所述处理器执行所述程序时实现:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统最大调用额度值。
作为一种实施方式,所述处理器执行所述程序时实现:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
作为一种实施方式,所述处理器执行所述程序时实现:
当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用。
作为一种实施方式,所述处理器执行所述程序时实现:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
本申请实施例提供的远程过程调用处理装置,能够解决多租户环境下不同用户之间的互相干扰的问题,避免因一个用户高频率的访问请求可能会使得其他用户无法获得访问服务的情况发生。
本申请实施例还记载了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述各个实施例所述的远程过程调用处理方法。也就是说,所述计算机可执行指令被处理器执行之后,能够实现前述任意一个技术方案提供的远程过程调用处理方法。
本领域技术人员应当理解,本实施例的计算机存储介质中各程序的功能,可参照前述各实施例所述的远程过程调用处理方法的相关描述而理解。
图5是根据一示例性实施例示出的用于实现远程过程调用处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O,Input/Output)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(TouchPanel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(microphone,简称MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)或电荷耦合元件(Charge-coupledDevice,CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(Near FieldCommunication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,RFID)技术,红外数据协会(Infrared Data Association,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Blue Tooth,BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable GateArray,FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述远程过程调用处理方法。
在示例性实施例中,还提供了一种包括可执行指令的非临时性的计算机存储介质,例如包括可执行指令的存储器804,上述可执行指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性的计算机存储介质可以是ROM、随机存取存储器(RandomAccess Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是根据一示例性实施例示出的用于实现远程过程调用处理的装置900的框图。例如,装置900可以被提供为一服务器。参照图6,装置900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述远程过程调用处理方法。
装置900还可以包括一个电源组件926被配置为执行装置900的电源管理,一个有线或无线网络接口950被配置为将装置900连接到网络,和一个输入输出(I/O)接口958。装置900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种远程过程调用处理方法,其特征在于,应用于多租户分布式系统,包括:
确定每个客户端的远程过程调用RPC请求的频次;
获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征每个客户端单位时间可调用RPC请求的最大次数;
根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,其中,所述调用管控处理包括:响应RPC请求或控制RPC请求退出调用;所述控制RPC请求退出调用包括:当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起RPC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用;其中,所述第一客户端为系统支持的所有客户端中的任一个客户端,所述第二客户端是所述所有客户端中除所述第一客户端之外的客户端,所述第二客户端的个数是一个或多个。
2.根据权利要求1所述的远程过程调用处理方法,其特征在于,所述方法还包括:
根据客户端优先级,预先为每个客户端配置所述可调用额度;
其中,客户端优先级越高,被配置的可调用额度越大。
3.根据权利要求2所述的远程过程调用处理方法,其特征在于,
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统支持的最大调用额度值。
4.根据权利要求1所述的远程过程调用处理方法,其特征在于,所述根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,包括:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值;
响应所述第一客户端的RPC请求。
5.根据权利要求1所述的远程过程调用处理方法,其特征在于,所述根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,包括:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
6.一种远程过程调用处理装置,其特征在于,包括:
确定单元,被设置为确定每个客户端的远程过程调用RPC请求的频次;
获取单元,被设置为获取为每个客户端预先配置的可调用额度;其中,所述可调用额度用于表征每个客户端单位时间可调用RPC请求的最大次数;
处理单元,被设置为根据所述可调用额度以及所述RPC请求的频次,对每个客户端的RPC请求进行调用管控处理,其中,所述调用管控处理包括:响应RPC请求或控制RPC请求退出调用;所述控制RPC请求退出调用包括:当第一客户端的RPC请求的频次超出为所述第一客户端配置的第一可调用额度时,若第二客户端发起PRC请求的频次增大且在为所述第二客户端配置的第二可调用额度范围内,则控制所述第一客户端的超出所述第一可调用额度的RPC请求退出调用;其中,所述第一客户端为系统支持的所有客户端中的任一个客户端,所述第二客户端是所述所有客户端中除所述第一客户端之外的客户端,所述第二客户端的个数是一个或多个。
7.根据权利要求6所述的远程过程调用处理装置,其特征在于,所述装置还包括:
配置单元,被设置为根据客户端优先级,预先为每个客户端配置所述可调用额度;其中,客户端优先级越高,被配置的可调用额度越大。
8.根据权利要求7所述的远程过程调用处理装置,其特征在于,所述配置单元,被设置为:
为系统所支持的所有客户端配置的可调用额度的百分比总和大于或等于100%;
或者
为系统所支持的所有客户端配置的可调用额度值的数值总和大于或等于系统支持的最大调用额度值。
9.根据权利要求6所述的远程过程调用处理装置,其特征在于,所述处理单元,被设置为:
当第一客户端发起RPC请求时,若无其他客户端发起RPC请求,则确定当前所述第一客户端的可调用额度为系统最大调用额度值,响应所述第一客户端的RPC请求。
10.根据权利要求6所述的远程过程调用处理装置,其特征在于,所述处理单元,被设置为:
当系统所支持的所有客户端同时发起RPC请求时,按照为每个客户端配置的可调用额度响应每个客户端的RPC请求。
11.一种远程过程调用处理装置,包括:
处理器;
用于存储可执行指令的存储器;
其中,所述处理器被设置为:执行所述可执行指令以实现权利要求1至5任一项所述的远程过程调用处理方法。
12.一种计算机存储介质,所述计算机存储介质中存储有可执行指令,所述可执行指令被处理器执行时,使得所述处理器执行权利要求1至5任一项所述的远程过程调用处理方法。
CN202010019549.0A 2020-01-08 2020-01-08 远程过程调用处理方法、装置及计算机存储介质 Active CN111245822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010019549.0A CN111245822B (zh) 2020-01-08 2020-01-08 远程过程调用处理方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010019549.0A CN111245822B (zh) 2020-01-08 2020-01-08 远程过程调用处理方法、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111245822A CN111245822A (zh) 2020-06-05
CN111245822B true CN111245822B (zh) 2023-03-14

Family

ID=70874350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010019549.0A Active CN111245822B (zh) 2020-01-08 2020-01-08 远程过程调用处理方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111245822B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783672B (zh) * 2021-01-27 2024-04-05 传神语联网网络科技股份有限公司 一种远程过程调用处理方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374154A (zh) * 2008-10-22 2009-02-25 成都市华为赛门铁克科技有限公司 一种远程过程调用请求的处理方法和装置
US7912951B2 (en) * 2008-10-28 2011-03-22 Vmware, Inc. Quality of service management
CN104243405B (zh) * 2013-06-08 2017-09-29 华为技术有限公司 一种请求处理方法、装置及系统
CN106209737B (zh) * 2015-05-04 2019-11-05 阿里巴巴集团控股有限公司 控制远程服务调用频率的方法和装置
CN107480251A (zh) * 2017-08-14 2017-12-15 福建新大陆软件工程有限公司 一种管理数据访问的系统
CN109428926B (zh) * 2017-08-31 2022-04-12 北京京东尚科信息技术有限公司 一种调度任务节点的方法和装置
CN110377415A (zh) * 2018-04-12 2019-10-25 华为技术有限公司 一种请求处理方法和服务器
CN110598138B (zh) * 2018-06-12 2024-10-18 北京京东尚科信息技术有限公司 基于缓存的处理方法和装置
CN109688162B (zh) * 2019-02-19 2021-12-21 浪潮通用软件有限公司 一种多租户的数据分库实现方法和系统

Also Published As

Publication number Publication date
CN111245822A (zh) 2020-06-05

Similar Documents

Publication Publication Date Title
CN107040591B (zh) 一种对客户端进行控制的方法及装置
CN109582400B (zh) 程序调用方法及装置
RU2642843C2 (ru) Способ и устройство обработки записи контактов
CN112187862A (zh) 一种任务处理方法、装置和用于任务处理的装置
CN113220482A (zh) 调用请求处理方法、装置、电子设备及存储介质
CN105208089A (zh) 信息显示方法、装置及系统
CN107436782B (zh) 应用程序静默安装方法及装置
CN110166564B (zh) 信息通信方法、终端及存储介质
CN111245822B (zh) 远程过程调用处理方法、装置及计算机存储介质
CN109376013B (zh) 负载均衡方法及装置
CN109062625B (zh) 应用程序加载的方法、装置及可读存储介质
CN107371222B (zh) 虚拟卡禁用方法及装置
CN105786561B (zh) 进程调用的方法及装置
CN112839065A (zh) 信息处理方法、装置、第一设备及存储介质
US11737022B2 (en) Delay adjustment method and device, electronic device and storage medium
CN114090303B (zh) 软件模块调度方法、装置、电子设备、存储介质及产品
CN116089099A (zh) 一种通信方法、装置、电子设备及存储介质
CN115671715A (zh) 云游戏的资源调度方法、装置、系统和电子设备
CN116841625A (zh) 基于安卓的usb网卡配置方法、装置、设备及存储介质
CN109032583B (zh) 数据交互方法及装置
CN108924085B (zh) 网络调度方法、装置及存储介质
CN112286687A (zh) 一种资源处理方法及装置
US20210410015A1 (en) Method and device for message transmission
CN114391299A (zh) 共享指示方法和装置、共享确定方法和装置
CN109583180A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Applicant after: Beijing Xiaomi pinecone Electronic Co.,Ltd.

Address before: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant