CN111049779A - 信息处理方法、电子设备以及计算机程序产品 - Google Patents

信息处理方法、电子设备以及计算机程序产品 Download PDF

Info

Publication number
CN111049779A
CN111049779A CN201811191661.1A CN201811191661A CN111049779A CN 111049779 A CN111049779 A CN 111049779A CN 201811191661 A CN201811191661 A CN 201811191661A CN 111049779 A CN111049779 A CN 111049779A
Authority
CN
China
Prior art keywords
message
client
clients
period
priority
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.)
Granted
Application number
CN201811191661.1A
Other languages
English (en)
Other versions
CN111049779B (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201811191661.1A priority Critical patent/CN111049779B/zh
Priority to US16/367,386 priority patent/US11122146B2/en
Publication of CN111049779A publication Critical patent/CN111049779A/zh
Application granted granted Critical
Publication of CN111049779B publication Critical patent/CN111049779B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了信息处理方法、电子设备以及计算机程序产品。根据一个实施例,该方法包括:由第一客户端获取消息池中的第一消息的元数据;响应于元数据指示第一消息与第一客户端相关联,由第一客户端提取第一消息;响应于元数据指示第一消息与第二客户端相关联,确定第一消息的优先级;以及响应于确定第一消息的优先级超过预定阈值,由第一客户端向第二客户端发出第一呼叫消息以使第二客户端提取与第二客户端相关联的第一消息。本公开的实施例可以缓解服务器的压力并且有效降低延迟。

Description

信息处理方法、电子设备以及计算机程序产品
技术领域
本公开涉及信息处理的方法,更具体地涉及用于服务器和客户端的信息处理的方法、电子设备以及计算机程序产品。
背景技术
随着基于云的数据保护越来越受欢迎,用户开始将他们的数据备份到部署在云(公共空间,例如互联网)上的数据保护服务器,以便所备份的数据始终可用。对于企业用户,通常设置有NAT(Network Address Translation,即网络地址转换)网关和/或防火墙,NAT网关和/或防火墙允许企业网络中的计算机互相访问以及访问互联网,但是互联网上的计算机无法访问企业网络内的任何计算机。
NAT网关和/或防火墙的存在为需要直接访问客户端计算机的服务器制造了障碍。例如,服务器可能需要浏览客户端侧的数据以进行备份、或者需要要求客户端立即开始备份/恢复工作。
发明内容
基于上述问题,根据本公开内容的示例实施方式,提供了一种信息处理的方案。
在本公开内容的第一方面中,提供了一种信息处理的方法。具体地,该方法包括:由第一客户端获取消息池中的第一消息的元数据;响应于元数据指示第一消息与第一客户端相关联,由第一客户端提取第一消息;响应于元数据指示第一消息与第二客户端相关联,确定第一消息的优先级;以及响应于确定第一消息的优先级超过预定阈值,由第一客户端向第二客户端发出第一呼叫消息以使第二客户端提取与第二客户端相关联的第一消息。
在本公开内容的第二方面中,提供了一种信息处理的方法。该方法包括:在服务器处设置消息池中的消息的元数据;至少部分地基于与服务器相关联的客户端的数目来确定用于客户端访问消息池中消息的周期;将该周期的配置发送给客户端,以便客户端按照该周期来访问所述消息池。
在本公开内容的第三方面中,提供了一种电子设备。该电子设备包括:包括处理器;以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使电子设备执行动作,动作包括:由第一客户端获取消息池中的第一消息的元数据;响应于元数据指示第一消息与第一客户端相关联,由第一客户端提取第一消息;响应于元数据指示第一消息与第二客户端相关联,确定第一消息的优先级;以及响应于确定第一消息的优先级超过预定阈值,由第一客户端向第二客户端发出第一呼叫消息以使第二客户端提取与第二客户端相关联的第一消息。
在本公开内容的第四方面中,提供了一种电子设备。该电子设备包括:处理器;以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使电子设备执行动作,动作包括:在服务器处设置消息池中的消息的元数据;至少部分地基于与服务器相关联的多个客户端的数目来确定用于多个客户端中的客户端访问消息池中消息的周期;将周期的配置发送给多个客户端中的客户端,以便多个客户端中的客户端按照周期来访问消息池。
在本公开内容的第五方面中,提供了计算机程序产品。计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备执行根据本公开内容的第一方面或第二方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开内容的实施方式的关键或重要特征,亦非用于限制本公开内容的范围。本公开内容的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开内容的各实施方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例可以在其中被实现的网络的示意图。
图2示出了根据本公开的实施例的信息处理过程的流程图。
图3示出了根据本公开的实施例的客户端从消息池提取消息的一个示例的示意图。
图4示出了根据本公开的实施例的客户端侧的信息处理的方法的过程框图。
图5示出了根据本公开的实施例的服务器侧的信息处理的方法的过程框图。
图6示出了可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的实施方式。虽然附图中显示了本公开内容的某些实施方式,然而应当理解的是,本公开内容可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施方式,相反提供这些实施方式是为了更加透彻和完整地理解本公开内容。应当理解的是,本公开内容的附图及实施方式仅用于示例性作用,并非用于限制本公开内容的保护范围。
在本公开内容的实施方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例/实施方式”或“该实施例/实施方式”应当理解为“至少一个实施例/实施方式”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了本公开的实施例可以在其中被实现的网络100的示意图。网络100包括子网110和服务器120。例如,子网110可以是NAT子网或者其它类型的子网。子网110可以包括多个客户端111、112……113。客户端111、112、……、113例如可以是计算机或其它任何终端。服务器120可以是云服务器或者其它类型的服务器。子网110中的客户端与服务器120可以经由网关和/或防火墙进行通信连接。
由于网关和/或防火墙的存在,子网110中的客户端111、112……113可以互相访问、或者访问互联网(例如访问服务器120),但是互联网中的设备不能主动直接访问子网110。例如,服务器120无法主动直接访问子网110中的客户端111、112……113。然而,在一些情况下,服务器120需要访问客户端111、112……113上的数据(例如为了备份、读取、存储等目的)或者请求客户端111、112……113执行操作(例如开始数据备份/恢复操作等)。由于无法主动访问客户端,在这种情况下,服务器120可以针对某个客户端生成消息,该消息指示服务器120期望客户端执行的任务(例如,发送数据、执行操作等)。客户端111、112……113可以通过访问服务器120提取这些消息,并且执行相应的任务。
图1示出了消息池130,其中包括服务器120所生成针对一个或多个客户端的多个消息,例如消息131、132、133、134、135,等等。出于示例目的,图1的消息池130中仅示出针对客户端111和112的消息。取决于服务器120对某个目标客户端的访问目的,消息131、132、133、134、135可以是请求消息、带有数据的消息等各种类型。消息池130可以存储在服务器120内或者可以在服务器120可访问的任何其它外部存储装置上。
消息池130中的每个消息至少可以被定义有净负荷、元数据。作为示例,净负荷可以包括任务类型、任务参数和任务窗口等,以及元数据可以包括优先级、目标客户端等。作为示例,目标客户端例如可以由客户端名称、客户端IP和客户端端口等信息中的一项或多项来指示。客户端111、112……113可以访问服务器120,并且根据消息的元数据来从消息池130中提取属于自己的消息。
应当理解,图1中示出的设备数目、消息数目、以及设备之间的布置仅是一个示例。在其他实现中,可以包括更多、更少或其他不同数目的客户端,服务器生成的消息池也可以包括更多、更少、或者针对其他不同客户端的消息。
在服务器不能主动访问客户端的这种场景中,由于依赖于客户端对消息的提取才能继续执行服务器期望的操作,如何处理客户端对服务器侧的消息的提取将影响系统效率。在常规方案中,客户端将以基本固定的周期反复访问消息池并提取属于自己的消息。周期通常设置为超过15秒甚至几分钟,以避免在客户端数目很大的情况下涌入过多提取请求。
然而,常规方案存在多种问题。例如,客户端始终以基本固定的周期提取消息,这也意味着所有客户端依次完成一次访问和提取的时间窗口的长度也是固定的。在这种情况下,当客户端数目增加时,服务器的压力也将持续增大。此外,这种方案仅适用于能够容忍延迟的任务。例如,计划的备份任务通常安排有1小时到几小时的备份时间窗口。与用于实际备份的时间和整个备份时间窗口相比,即使任务交付延迟几分钟也不会影响最终结果。但是,对于需要客户端立即响应的任务,这将是一个大问题。例如,用户可能正在等待用户界面(UI)响应浏览请求,或者他们需要立即启动恢复请求以减少业务损失。
根据本公开的实施例,提供了用于客户端和服务器的信息处理的方案。在本公开的方案中,客户端访问服务器并且提取消息的周期至少可以部分基于客户端数目来确定。由此,该周期是动态确定的,而不再是固定的。此外,当客户端在访问消息池时,如果发现了与其它客户端相关联的高优先级的消息时,客户端可以呼叫其它客户端,以便其它客户端能够从服务器快速提取高优先级的消息。本公开的方案可以缓解服务器的压力,同时将延迟控制在更低的水平。
以下将参考附图来详细描述本公开的实施例。图2示出了根据本公开的一个实施例的信息处理过程200的流程图。过程200可以在图1中的网络100中被实现。过程200涉及服务器120、客户端111和112、以及可能还涉及客户端113。为了讨论的目的,将参考图1来描述过程200。
当服务器120需要从子网110的客户端111、112……113获取数据时,服务器120针对客户端111、112……113生成消息,并将所生成的消息放入消息池130中。为了确定消息的属性,服务器120将设置205消息的元数据。通常,元数据至少可以包括消息的目标客户端和优先级。当客户端访问消息池130中的消息时可以获取消息的元数据以便于提取。
在本公开的某些实施例中,元数据中包括的消息的优先级可以基于消息的紧急程度来设置。例如,需要立即处理的消息可以被设置成更大的数字值,而非紧急的消息可以被设置成较低的数字值。在本公开的某些实施例中,消息的优先级可以随着等待时间的增长而递增。例如,可以有内部线程以一定的时间间隔扫描消息池内的消息,如果扫描到尚未被提取的消息,则增加该消息的优先级;或者,可以有定时器来对消息的等待时间进行计时,如果定时器的值超过某个时间长度,将增加消息的优先级。设置优先级有助于优化客户端的提取,以及更合理地安排提取。在一个示例中,消息的元数据中可以包含指示级别的数字值,诸如P3,用于指示消息的优先级。
服务器120将至少部分地基于与服务器120相关联的客户端111、112……113的数目来确定210用于客户端111、112……113中的客户端访问消息池中消息的周期。根据本公开的实施例,服务器120可以根据当前与之相关联的客户端的数目来动态的调整这些客户端访问消息池130的周期。
通常,子网110中的客户端111、112……113之间存在一定的访问间隔,这些访问间隔可以是均匀的或者是不均匀。在本公开的某些实施例中,在确定客户端访问消息池的周期时,可以基于客户端的数目和访问间隔来确定子网110中的客户端111、112……113访问消息池130所需要的时间窗口的长度,并且基于时间窗口的长度是否超过预定阈值来决定如何设置周期。例如,如果所需要的时间窗口的长度低于预定阈值,则客户端访问消息池的周期可以被确定为与客户端的数目正相关。即,当子网110中的客户端数目增加时,该周期的长度也可以相应的增加,当客户端数目减少时,该周期的长度也可以相应的减少。在另外一些情况中,如果所需要的时间窗口的长度将超过预定阈值,则客户端访问消息池的周期可以被设置为固定值。例如,当子网110中的客户端数目过多时,随着客户端数目的增加,客户端访问消息池的周期不再继续增加,而是保持不变。
在本公开的某些实施例中,客户端访问消息池的周期还可以通过计算客户端访问消息池之后的休眠时间段来确定,休眠时间段与访问消息池的周期相对应。在休眠时间段内,客户端将进行休眠,并且在休眠时间段到期后进行消息池的访问。
以下将对上述内容进行示例性说明。仅为了清楚的目的,假设客户端之间的访问间隔被设置为均匀间隔。在该示例中,可以通过公式(1)至公式(3)来确定子网110中的客户端(例如客户端111、112或113)的访问消息池的周期。首先,可以根据公式(1)来确定客户端之间的访问间隔,公式(1)如下:
Figure BDA0001827649230000071
其中,MinimalInterval表示待确定的子网110中的所有客户端之间的访问间隔,MINIMAL_INTERVAL表示预定义的初始访问间隔,MAX_CYCLE_TIME表示系统允许的最大时间窗口(表示所有客户端依次完成一次访问所需要的时间长度),Numclients表示客户端数目。
下面将通过一个示例来说明确定客户端的访问间隔的过程。假设MINIMAL_INTERVAL=2s,MAX_CYCLE_TIME=10s。当客户端数目Numclients为3时,可以确定MINIMAL_INTERVAL小于
Figure BDA0001827649230000072
根据公式(1),3个客户端之间的访问间隔MinimalInterval将取MINIMAL_INTERVAL和
Figure BDA0001827649230000073
之间的最小值,因此MinimalInterval=MINIMAL_INTERVAL,即最小时间间隔MinimalInterval为2秒。同时,三个客户端依次完成一次访问和提取消息所需要的实际时间长度(即实际的时间窗口)为6秒。
然后,如果添加了1个新客户端,即客户端数目Numclients变为4。可以确定MINIMAL_INTERVAL仍然小于
Figure BDA0001827649230000081
因此,根据公式(1),MinimalInterval=MINIMAL_INTERVAL,即访问间隔MinimalInterval仍然为2秒。此外,实际的时间窗口的长度增加到8秒。
接下来,如果继续添加了2个新的客户端,客户端数目Numclients变为6。此时,可以确定MINIMAL_INTERVAL大于
Figure BDA0001827649230000082
因此,根据公式(1),
Figure BDA0001827649230000083
即访问间隔
Figure BDA0001827649230000084
此外,实际的时间窗口等于系统允许的最大时间窗口(即10秒)。
在确定了客户端的均匀访问间隔之后,多个客户端在一个循环内访问消息池的时间窗口可以被计算为客户端的数目与访问间隔的乘积。多个客户端可能连续多次访问消息池。所有客户端对消息池的第n次访问循环(即第n个时间窗口)的起始时间戳可以被确定为如下:
Figure BDA0001827649230000085
其中,Cyclen表示第n次循环(即第n个时间窗口)的起始时间戳,INIT_TIME_STAMP表示第1次循环的起始时间戳,MinimalInterval表示公式(1)中所确定的访问间隔,Numclients表示客户端数目。
基于此,特定客户端的下一个休眠时间段(该客户端两次访问之间的间隔,即访问周期)可以被确定为:
Interval(n,x)=(Cyclen+1+x×MinimalIntervaln+1)-CheckInTime(n,x)
(3)
其中,Interval(n,x)表示第x个客户端在第n个循环时间窗口获得的下一个休眠时间段,MinimalIntervaln+1表示第n+1个时间窗口中的访问间隔,CheckInTime(n,x)表示第x个客户端在第n个时间窗口中访问和提取消息的时间戳。
通过公式(1)至公式(3),可以根据子网110中的客户端数目来确定子网110中的客户端的休眠时间段,从而实现动态的调整客户端访问消息池的周期。以此方式,当客户端数目较少时,以系统预定义的初始访问间隔作为所有客户端的访问间隔,这可以随着客户端数目的变化而调整每次循环的时间长度,从而减缓了服务器的压力。如当客户端数目过多时,实际的时间窗口将被固定为系统允许的最大时间窗口,这可以避免时间窗口过大而导致的严重延迟。
要注意的是,公式(1)至(3)仅是实现本公开的实施例的示例,也可以以其它方式优化客户端访问服务器的周期。例如,多个客户端之间的访问间隔可以是不均匀的,或者在实际时间窗口未达到最大时间窗口的情况下,随着客户端数目的增加,访问间隔可以是变化的。
返回继续参考图2,服务器120将所确定的该周期的配置发送215给子网110中的客户端(例如客户端111、112或可能还有客户端113),以便这些客户端按照该周期来访问消息池130,以从中提取属于自己的消息。以下将从客户端111的角度来描述客户端侧的消息提取过程。
客户端111从服务器120获取220消息池130中的消息的元数据。如以上提及的,该元数据包含有目标客户端和优先级等信息。客户端通过获取元数据,客户端111可以判断消息池130中的消息131、132……135中的哪些消息与自己相关联。
如果客户端111确定元数据指示某个消息与客户端111相关联,则客户端111提取225该消息。例如,在图1的示例中,客户端111可以获取消息131的元数据,如果消息131的元数据指示消息131与客户端111相关联,则由客户端111提取225消息131。客户端111在提取消息131之后,将对消息131进行相应的处理。
在本公开的某些实施例中,如果客户端111访问消息池130时,发现了多个与自己相关联的消息。客户端111可以比较这些消息之间的优先级,并优先提取优先级高的消息。然而,客户端111也可以按照其它方式进行提取。例如,一旦客户端发现消息与自己相关联,客户端可以立即提取,而不用考虑优先级。
作为示例,如果客户端111获取消息132的元数据并且确定元数据指示消息132与另一客户端112相关联,则客户端111确定消息132的优先级。在客户端111确定消息132的优先级超过预定阈值的情况下,由客户端111向另一客户端112发出呼叫消息。随后,客户端112收到呼叫消息后可以立即从消息池提取消息132。
通常,消息132的优先级超过预定阈值,这意味着消息132是需要立即处理的紧急消息。客户端111发现该紧急消息与另一客户端112相关联之后,客户端111通过向客户端112发出呼叫消息来通知客户端112需要立即提取和处理该紧急消息。
在本公开的某些实施例中,客户端111可以响应于来自其他客户端的呼叫消息来从服务器120的消息池130中提取消息。例如,如果客户端113在访问服务器120并获取消息的元数据时发现与客户端111相关联的某一消息是优先级超过预定阈值的紧急消息,则客户端113将向客户端111发送245呼叫消息。客户端111从客户端113接收呼叫消息后,直接从服务器120的消息池130中提取250该紧急消息。
为了更清楚的描述本公开的上述实施例,图3示出了在客户端111、112从消息池130提取消息的一个具体示例。在图3中,为了便于说明本公开,假设消息池130中包括针对两个客户端111和112的消息。此外,进一步假设客户端111或112最多可以同时处理1个消息,以及优先级大于或等于预定阈值P5的消息为紧急消息。
如图3所示,时间轴上存在t1-t5的5个时间点。在初始阶段t1,服务器120生成了需要客户端111和客户端112提取的消息131、132、133、134和135,并将这5个消息放入消息池130。作为示例,这5个消息的元数据信息如下:消息131的目标客户端是111,其优先级为P10;消息132的目标客户端为客户端112,其优先级为P5;消息133的目标客户端为客户端112,其优先级为P4;消息134的目标客户端为客户端111,其优先级为P4;以及消息135的目标客户端为客户端111,优先级为P1。
在t2处,客户端111访问消息池130以进行提取。客户端111发现消息131与自己相关联,从而提取了消息131并对消息131进行处理。同时,客户端111发现消息132的目标客户端是客户端112,以及消息132的优先级是P5。消息132的优先级等于预定阈值P5,因此消息132是紧急消息。由于客户端111发现了与另一客户端112相关联的紧急消息,客户端111向客户端112发送呼叫消息。然后,客户端112立即从消息池130提取了消息132并对消息132进行处理。
在t3处,客户端112访问消息池130以进行提取。客户端112没有发现任何紧急消息。如上所述,假设每个客户端最多可以同时处理1个消息。由于客户端112仍然在处理消息132,而不能再处理其它的消息,因此客户端112不再提取新的消息。
在t4处,客户端111再次访问消息池130以进行提取。此时,服务器中仍然存在未被提取和处理的3个消息,即消息133、134和135。由于这3个消息经过了第一个循环之后仍未被提取,因此假设消息133、134和135的优先级将会递增。如图3所示,消息133的优先级增加到P5,消息134的优先级增加到P5,并且消息135的优先级增加到P2。此外,在t3到t4之间,客户端112已经完成了对消息132的处理。但是,客户端111仍然在处理消息131,因此客户端111在t4将不会提取任何新的消息。同时,客户端111会访问消息池130中的消息133、134和135。当客户端111发现消息133是紧急消息并且消息133与客户端112相关联时,客户端111向客户端112发出呼叫。已经处理完消息132的客户端112响应于客户端111的呼叫而提取消息133并进行处理。
在t5处,客户端112访问消息池130以进行提取。此时,客户端111完成了对消息131的处理。由于客户端112正在处理消息133,因此客户端112不再提取新的消息。然而,当客户端112访问消息池130时,客户端112发现了与客户端111相关联的消息134是紧急消息。客户端112呼叫客户端111,由此客户端111从消息池提取消息134并处理消息134。
如图3所示,与常规方案相比,根据本公开的实施例的方案在第1个循环中为客户端112节省了1个访问间隔的时间,在第2个循环中为客户端111和客户端112节省了至少1个访问间隔的时间。本公开的方案通过提供呼叫功能有效地降低了客户端提取和处理消息的延迟。
表1示出了常规方案与本公开方案的一个示例实现的比较数据。用于比较的常规方案为以上提及的客户端利用固定间隔访问消息池的方案。在表1中,延迟表示目标客户端提取消息(包含了周期性访问和提取消息、以及由于被呼叫而直接提取消息两者)的时间戳减去消息放入消息池130的时间戳的差值,固定间隔表示在常规方案中每个客户端自身访问服务器的周期时间,MI表示公式(1)中MINIMAL_INTERVAL,MCT表示公式(1)中的MAX_CYCLE_TIME。
表1
Figure BDA0001827649230000121
如表1所示,客户端数目越多,常规方案将带来越大的延迟。例如,当客户端数目为5和60时,常规方案的延迟小于30秒,当客户端数目为1200时,常规方案的延迟达到小于10分钟。与此相比,根据本公开的实施例的方案,延迟较低,例如甚至最多能够被减少到大约1秒。此外,根据本公开的实施例的延迟不会随着客户端数目的增加而大幅增加。
此外,常规方案中服务器的压力也会随着客户端数目增加而增加。例如,从表1可以看出,当客户端数目为5时,常规方案的服务器压力为10请求/分钟;而当客户端数目为60和1200时,常规方案的服务器压力将达到120请求/分钟。与此相比,根据本公开的实施例的方案的服务器压力始终保持在大约60请求/分钟。由此可见,本方案可以将服务器压力保持在稳定水平,而不会随着客户端数目增加而增加。
概括而言,与具有固定间隔的常规方案相比,根据本公开的实施例的解决方案具有更低的延迟以及更平滑的服务器压力。这将改善用户体验,并且降低由于不正确配置(例如采用常规配置应对大量增加的业务规模)导致服务器崩溃的可能性。
下面参考图4和图5,图4示出了客户端侧的信息处理的方法400的过程框图。方法400从第一客户端的角度来描述。第一客户端可以是客户端111、112、……、113中的任一个客户端处。方法400中涉及的第二客户端和第三客户端可以是客户端111、112、……、113中除了第一客户端之外的任何一个相同或不同客户端。
在框401处,由第一客户端获取消息池中的第一消息的元数据。在框402处,确定第一消息是否与第一客户端相关联。在框403处,响应于第一消息是与第一客户端相关联,由第一客户端提取第一消息。在框404处,如果第一消息不与第一客户端相关联,则确定第一消息是否与第二客户端相关联。在框405处,响应于第一消息与第二客户端相关联,确定第一消息的优先级。在框406处,确定第一消息的优先级是否超过预定阈值。在框406处,响应于第一消息的优先级超过预定阈值,由第一客户端向第二客户端发出第一呼叫消息以使第二客户端提取与第二客户端相关联的第一消息。
在本公开的某些实施例中,由第一客户端提取第一消息还包括:将第一消息的优先级与第三消息的优先级相比较,第三消息与第一客户端相关联;响应于第一消息的优先级超过第三消息的优先级,第一客户端提取第一消息。
在本公开的某些实施例中,第一客户端从第三客户端接收第二呼叫消息,第二呼叫消息指示消息池中具有与第一客户端相关联的第二消息,并且第二消息的优先级超过预定阈值;以及响应于第二呼叫消息,由第一客户端提取第二消息。
在本公开的某些实施例中,第一客户端从服务器接收关于周期的配置,第一客户端被配置为以该周期获取消息池中的消息的元数据。
在本公开的某些实施例中,关于该周期的配置是客户端获取元数据之后的休眠时间段,在休眠时间段内所述客户端停止获取所述消息池中的消息的元数据。
图5示出了根据本公开的实施例的服务器侧的信息处理的方法500的过程框图。方法500可以被实现在服务器120处。
如图5所示,在框501处,在服务器处设置消息池中的消息的元数据。在框502处,至少部分地基于与服务器相关联的客户端的数目来确定用于客户端访问消息池中消息的周期。在框503处,将周期的配置发送给客户端,以便客户端按照所述周期来访问所述消息池。
在本公开的某些实施例中,设置元数据可以包括设置消息的优先级。更具体地,可以基于消息的紧急程度来设置消息的优先级。此外,设置消息的优先级还可以包括由服务器以固定的时间间隔扫描消息池中的消息,以及响应于扫描到消息池中的消息,递增被扫描到的消息的优先级。在本公开的某些实施例中,确定用于客户端访问消息池中消息的周期可以包括:基于与服务器相关联的客户端的数目和这些客户端之间的访问间隔的长度来确定这些客户端访问消息池所需的时间窗口的长度;以及响应于确定的时间窗口的长度低于阈值,设置该周期的长度与客户端的数目正相关。
在本公开的某些实施例中,确定用于客户端访问消息池中消息的周期可以包括:基于与服务器相关联的客户端的数目和这些客户端之间的访问间隔的长度来确定这些客户端访问所述消息池所需的时间窗口的长度;以及响应于确定的时间窗口的长度超过阈值,设置所述周期的长度为固定值。
在本公开的某些实施例中,确定用于客户端的周期可以包括:计算客户端访问所述消息池中消息之后的休眠时间段,该休眠时间段与上述周期相对应。
在某些实施例中,将计算出的休眠时间段发送给客户端,以便在休眠时间段内停止客户端对消息池的访问。
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。设备600可以被实现为图1的服务器120或者子网110中的任一个客户端。设备600可以用于实现图4或图5的方法400或500。
如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的方法或处理,方法400或500。例如,在一些实施例中,方法400或500可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的过程200的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法400或500。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (27)

1.一种信息处理方法,包括:
由第一客户端获取消息池中的第一消息的元数据;
响应于所述元数据指示所述第一消息与所述第一客户端相关联,由第一客户端提取所述第一消息;
响应于所述元数据指示所述第一消息与第二客户端相关联,确定所述第一消息的优先级;以及
响应于确定所述第一消息的优先级超过预定阈值,由所述第一客户端向所述第二客户端发出第一呼叫消息以使所述第二客户端提取与所述第二客户端相关联的所述第一消息。
2.根据权利要求1所述的方法,还包括:
所述第一客户端从第三客户端接收第二呼叫消息,所述第二呼叫消息指示所述消息池中具有与所述第一客户端相关联的第二消息,并且所述第二消息的优先级超过预定阈值;以及
响应于所述第二呼叫消息,由所述第一客户端提取所述第二消息。
3.根据权利要求1所述的方法,其中所述第一客户端被配置为以可配置的周期获取所述消息池中的消息的元数据,所述方法还包括:
从服务器接收关于所述周期的配置。
4.根据权利要求3所述的方法,其中关于所述周期的配置是所述客户端获取元数据之后的休眠时间段,在所述休眠时间段内所述客户端停止获取所述消息池中的消息的元数据。
5.根据权利要求1所述的方法,其中由第一客户端提取所述第一消息还包括:
将所述第一消息的优先级与第三消息的优先级相比较,所述第三消息与所述第一客户端相关联;
响应于所述第一消息的优先级超过所述第三消息的优先级,所述第一客户端提取所述第一消息。
6.一种信息处理的方法,包括:
在服务器处设置消息池中的消息的元数据;
至少部分地基于与所述服务器相关联的多个客户端的数目来确定用于所述多个客户端中的客户端访问消息池中消息的周期;
将所述周期的配置发送给所述多个客户端中的客户端,以便所述多个客户端中的客户端按照所述周期来访问所述消息池。
7.根据权利要求6所述的方法,其中确定所述周期包括:
基于所述多个客户端的数目和所述多个客户端之间的访问间隔的长度来确定所述多个客户端访问所述消息池所需的时间窗口的长度;
响应于确定的时间窗口的长度低于阈值,设置所述周期的长度与所述多个客户端的数目正相关。
8.根据权利要求7所述的方法,其中确定所述周期还包括:
响应于确定的时间窗口的长度超过阈值,设置所述周期的长度为固定值。
9.根据权利要求6至8中任一项所述的方法,其中确定所述周期包括:
计算所述多个客户端中的客户端访问所述消息池中消息之后的休眠时间段,所述休眠时间段与所述周期相对应。
10.根据权利要求9所述的方法,其中将所述周期的配置发送给所述多个客户端中的客户端包括:
将计算出的休眠时间段发送给所述多个客户端中的客户端,以便在所述休眠时间段内停止所述多个客户端中的客户端对所述消息池的访问。
11.根据权利要求6所述的方法,其中设置所述元数据包括:
设置所述消息的优先级。
12.根据权利要求11所述的方法,其中设置所述消息的优先级包括:
基于消息的紧急程度来设置消息的优先级。
13.根据权利要求11或12所述的方法,其中设置所述消息的优先级包括:
服务器以固定的时间间隔扫描所述消息池中的消息;以及
响应于扫描到所述消息池中的消息,递增被扫描到的消息的优先级。
14.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
由第一客户端获取消息池中的第一消息的元数据;
响应于所述元数据指示所述第一消息与所述第一客户端相关联,由第一客户端提取所述第一消息;
响应于所述元数据指示所述第一消息与第二客户端相关联,确定所述第一消息的优先级;以及
响应于确定所述第一消息的优先级超过预定阈值,由所述第一客户端向所述第二客户端发出第一呼叫消息以使所述第二客户端提取与所述第二客户端相关联的所述第一消息。
15.根据权利要求14所述的电子设备,所述动作还包括:
所述第一客户端从第三客户端接收第二呼叫消息,所述第二呼叫消息指示所述消息池中具有与所述第一客户端相关联的第二消息,并且所述第二消息的优先级超过预定阈值;以及
响应于所述第二呼叫消息,由所述第一客户端提取所述第二消息。
16.根据权利要求14所述的电子设备,其中所述第一客户端被配置为以可配置的周期获取所述消息池中的消息的元数据,所述动作还包括:
从服务器接收关于所述周期的配置。
17.根据权利要求16所述的电子设备,其中关于所述周期的配置是所述客户端获取元数据之后的休眠时间段,在所述休眠时间段内所述客户端停止获取所述消息池中的消息的元数据。
18.根据权利要求14所述的电子设备,其中由第一客户端提取所述第一消息还包括:
将所述第一消息的优先级与第三消息的优先级相比较,所述第三消息与所述第一客户端相关联;
响应于所述第一消息的优先级超过所述第三消息的优先级,所述第一客户端提取所述第一消息。
19.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
在服务器处设置消息池中的消息的元数据;
至少部分地基于与所述服务器相关联的多个客户端的数目来确定用于所述多个客户端中的客户端访问消息池中消息的周期;
将所述周期的配置发送给所述多个客户端中的客户端,以便所述多个客户端中的客户端按照所述周期来访问所述消息池。
20.根据权利要求19所述的电子设备,其中确定所述周期包括:
基于所述多个客户端的数目和所述多个客户端之间的访问间隔的长度来确定所述多个客户端访问所述消息池所需的时间窗口的长度;
响应于确定的时间窗口的长度低于阈值,设置所述周期的长度与所述多个客户端的数目正相关。
21.根据权利要求20所述的电子设备,其中确定所述周期还包括:
响应于确定的时间窗口的长度超过阈值,设置所述周期的长度为固定值。
22.根据权利要求19至21中任一项所述的电子设备,其中确定所述周期包括:
计算所述多个客户端中的客户端访问所述消息池中消息之后的休眠时间段,所述休眠时间段与所述周期相对应。
23.根据权利要求22所述的电子设备,其中将所述周期的配置发送给所述多个客户端中的客户端包括:
将计算出的休眠时间段发送给所述多个客户端中的客户端,以便在所述休眠时间段内停止所述多个客户端中的客户端对所述消息池的访问。
24.根据权利要求19所述的电子设备,其中设置所述元数据包括:
设置所述消息的优先级。
25.根据权利要求24所述的电子设备,其中设置所述消息的优先级包括:
基于消息的紧急程度来设置消息的优先级。
26.根据权利要求24或25所述的电子设备,其中设置所述消息的优先级包括:
服务器以固定的时间间隔扫描所述消息池中的消息;以及
响应于扫描到所述消息池中的消息,递增被扫描到的消息的优先级。
27.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使设备执行根据权利要求1至5中任一项所述的方法或执行根据权利要求6至13中任一项所述的方法。
CN201811191661.1A 2018-10-12 2018-10-12 信息处理方法、电子设备以及计算机可读介质 Active CN111049779B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811191661.1A CN111049779B (zh) 2018-10-12 2018-10-12 信息处理方法、电子设备以及计算机可读介质
US16/367,386 US11122146B2 (en) 2018-10-12 2019-03-28 Information processing method, electronic device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811191661.1A CN111049779B (zh) 2018-10-12 2018-10-12 信息处理方法、电子设备以及计算机可读介质

Publications (2)

Publication Number Publication Date
CN111049779A true CN111049779A (zh) 2020-04-21
CN111049779B CN111049779B (zh) 2022-04-26

Family

ID=70160697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811191661.1A Active CN111049779B (zh) 2018-10-12 2018-10-12 信息处理方法、电子设备以及计算机可读介质

Country Status (2)

Country Link
US (1) US11122146B2 (zh)
CN (1) CN111049779B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200380143A1 (en) * 2019-05-31 2020-12-03 Apple Inc. Providing user information in association with messaging

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066513A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법
US20110107084A1 (en) * 2009-11-05 2011-05-05 Verizon Patent And Licensing, Inc. System for and method for relaying messages
CN102117287A (zh) * 2009-12-30 2011-07-06 成都市华为赛门铁克科技有限公司 分布式文件系统访问方法、元数据服务器及客户端
US20110252240A1 (en) * 2010-04-07 2011-10-13 Gordie Freedman Mobile Device Management
CN102624646A (zh) * 2010-12-29 2012-08-01 阿瓦雅公司 用于传送消息的方法和系统
CN102959514A (zh) * 2010-06-24 2013-03-06 阿尔卡特朗讯 在计算机网络中发送数据的方法、系统、服务器、设备、计算机程序和计算机程序产品
CN105512279A (zh) * 2015-12-04 2016-04-20 华为技术有限公司 一种元数据访问方法、相关设备及系统
US9420106B1 (en) * 2015-03-05 2016-08-16 Xerox Corporation Methods and systems for assigning priority to incoming message from customer
CN106250270A (zh) * 2016-07-28 2016-12-21 四川新环佳科技发展有限公司 一种云计算平台下的数据备份方法
CN106603633A (zh) * 2016-11-28 2017-04-26 上海斐讯数据通信技术有限公司 一种连接建立方法及服务器
WO2018027811A1 (zh) * 2016-08-11 2018-02-15 华为技术有限公司 通信方法、装置及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269452B1 (en) * 1998-04-27 2001-07-31 Cisco Technology, Inc. System and method for fault recovery for a two line bi-directional ring network
US8706145B2 (en) * 2007-07-10 2014-04-22 Qualcomm Incorporated Multihop paging of a peer in a peer-to-peer communication network

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066513A (ko) * 2007-01-11 2008-07-16 삼성전자주식회사 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법
CN101227245A (zh) * 2007-01-11 2008-07-23 三星电子株式会社 元数据信息提供服务器、客户端装置、提供元数据信息的方法
US20110107084A1 (en) * 2009-11-05 2011-05-05 Verizon Patent And Licensing, Inc. System for and method for relaying messages
CN102117287A (zh) * 2009-12-30 2011-07-06 成都市华为赛门铁克科技有限公司 分布式文件系统访问方法、元数据服务器及客户端
US20110252240A1 (en) * 2010-04-07 2011-10-13 Gordie Freedman Mobile Device Management
CN102959514A (zh) * 2010-06-24 2013-03-06 阿尔卡特朗讯 在计算机网络中发送数据的方法、系统、服务器、设备、计算机程序和计算机程序产品
CN102624646A (zh) * 2010-12-29 2012-08-01 阿瓦雅公司 用于传送消息的方法和系统
US9420106B1 (en) * 2015-03-05 2016-08-16 Xerox Corporation Methods and systems for assigning priority to incoming message from customer
CN105512279A (zh) * 2015-12-04 2016-04-20 华为技术有限公司 一种元数据访问方法、相关设备及系统
CN106250270A (zh) * 2016-07-28 2016-12-21 四川新环佳科技发展有限公司 一种云计算平台下的数据备份方法
WO2018027811A1 (zh) * 2016-08-11 2018-02-15 华为技术有限公司 通信方法、装置及设备
CN106603633A (zh) * 2016-11-28 2017-04-26 上海斐讯数据通信技术有限公司 一种连接建立方法及服务器

Also Published As

Publication number Publication date
CN111049779B (zh) 2022-04-26
US11122146B2 (en) 2021-09-14
US20200120184A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
US9984013B2 (en) Method, controller, and system for service flow control in object-based storage system
US20180213031A1 (en) System and method to balance servers based on server load status
JP6514699B2 (ja) リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化
US8849896B2 (en) Dynamic polling control for content distribution
CN107547629B (zh) 客户端静态资源下载的方法、装置、电子设备和可读介质
WO2021238796A1 (zh) 下载任务异步处理方法、装置、系统和存储介质
US11146660B2 (en) Information packet download method for preventing high concurrency, electronic device and storage medium
CN110888735A (zh) 基于一致性哈希的分布式消息分发方法、装置和调度节点
US20220263871A1 (en) Executing code injected into an intercepted application response message to eliminate accumulation of stale computing sessions
US20160065673A1 (en) System, method, and medium for managing priority in requests to in-memory data grid (imdg)
CN110430062B (zh) 登录请求处理方法、装置、设备及介质
US10645183B2 (en) Redirection of client requests to multiple endpoints
CN111049779B (zh) 信息处理方法、电子设备以及计算机可读介质
CN109947081B (zh) 网联车辆控制方法及装置
CN112422705A (zh) 一种服务器、数据处理方法及介质
CN112583895A (zh) Tcp通信方法、系统及装置
CN114615073A (zh) 访问流量控制方法及其装置、设备、介质
CN115484045A (zh) 一种基于api网关的统一身份认证方法及系统
WO2020098773A1 (zh) 一种请求响应方法、装置、边缘节点和鉴权系统
CN111327437B (zh) 流表处理方法、流表处理装置以及sdn网络系统
CN110324370B (zh) 服务端向客户端推送数据的方法和装置
CN114500380A (zh) 流量控制方法、装置及电子设备
CN111159236A (zh) 数据处理方法、装置、电子设备及存储介质
CN113220491B (zh) 远程调用自适应负载均衡方法、装置、系统及计算机装备
US10873599B1 (en) Providing application security using causal graph

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