CN107346308A - 一种集群系统中数据的调用方法及装置 - Google Patents

一种集群系统中数据的调用方法及装置 Download PDF

Info

Publication number
CN107346308A
CN107346308A CN201610290417.5A CN201610290417A CN107346308A CN 107346308 A CN107346308 A CN 107346308A CN 201610290417 A CN201610290417 A CN 201610290417A CN 107346308 A CN107346308 A CN 107346308A
Authority
CN
China
Prior art keywords
data
processing equipment
service providing
providing device
cluster management
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
CN201610290417.5A
Other languages
English (en)
Other versions
CN107346308B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610290417.5A priority Critical patent/CN107346308B/zh
Publication of CN107346308A publication Critical patent/CN107346308A/zh
Application granted granted Critical
Publication of CN107346308B publication Critical patent/CN107346308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/466Transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种集群系统中数据的调用方法及装置,当集群系统中的集群管理中心在向多个处理设备发送缓存更新指令后,避免该多个处理设备在同一时间向同一服务提供设备发送数据调用请求,使得该服务提供设备接收到的数据调用请求不超过该服务提供设备在单位时间内的最大事务处理量,从而解决现有技术中服务提供设备在接收到的并发事务超出该服务提供设备在单位时间内的最大事务处理量时,该服务提供设备容易宕机,而导致的整个集群系统不能正常运行的问题。

Description

一种集群系统中数据的调用方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种集群系统中数据的调用方法及装置。
背景技术
随着信息化社会的发展,通过网络执行的业务的数量也在急剧增加,而单一设备的运行能力很难满足人们对于大量业务的处理需求,于是人们开始采用集群系统进行大量业务的处理。
集群系统可以将一个任务分解为多个子任务,并将各子任务分别发送至多台处理设备分别执行(即,每台设备只需执行少量的任务即可),这种方法在保证该业务正常执行的同时,减少了每台处理设备需要处理的业务量(即,减少了每台设备需要进行的数据处理的任务量)。
在集群系统中,一般还可以按照各设备的功能,将各设备分为两大类,一类是专门用来处理业务的设备,也就是处理设备,另一类是存储用于处理业务的数据的设备,称之为服务提供设备,当然,该服务提供设备也可以是第三方服务提供设备。而由于集群系统的这种结构形式,各处理设备并不存储用于处理业务的数据,所以在各处理设备处理业务之前,各处理设备还需向服务提供设备发起数据调用请求,调用处理业务所需的数据,这就导致各处理设备与各业务提供方之间的数据交换量很大,不仅增加了各处理设备和各服务提供设备的运行压力,也增加了网络运行压力。
为了解决上述问题,在现有技术中,对于一些更新时间周期较长的数据(即,时效性不强的数据),由于服务提供设备在很长的时间内不会对该时效性不强的数据进行更新,所以各处理设备可将这种时效性不强的数据保存在本地,从而在服务提供设备更新该数据之前,无需重新从服务提供设备中调用该数据,而可直接从处理设备本地获取该数据,以避免处理设备与服务提供设备之间频繁的数据交换,并使各处理设备的负载降低。
具体的,现有技术中集群系统的结构示意图,如图1所示。
在图1所示的集群系统中,可通过集群管理中心来控制每一台处理设备,即,由集群管理中心向该集群系统中的各处理设备发送需要执行的数据处理任务。针对每一台处理设备,当该处理设备被配置到该集群系统中时,该处理设备同时也会被配置用于判断数据时效性的缓存规则,并作为该集群系统中的一个具有缓存机制的处理设备。
针对每一个具有缓存机制的处理设备,当接收到服务提供设备发送的数据时,根据该缓存规则判断该数据是否可以进行缓存(即,判断该数据是否为时效性不强的数据),若是则将该数据保存在本地中,以便后续在需要使用该数据时可以不用再向服务提供设备调用该数据,而是直接从本地调用该数据,若否则不保存。当接收到该集群管理中心发送的缓存更新指令时,根据本地保存的数据,向服务提供设备发送数据调用请求,并在接收到服务提供设备返回的更新后的数据后,将该更新后的数据继续保存在本地以供使用。
可见,通过上述缓存机制,可以使集群系统中各处理设备的负载低,并且也可减少各处理设备对服务提供设备的访问频率。
但是,由于集群系统中存在的具有缓存机制的处理设备的数量可能会很多,而集群管理中心发送的缓存更新指令几乎可以在同时发送至各具有缓存机制的处理设备,这就导致可能会有大量的具有缓存机制的处理设备在同一时间向同一服务提供设备发送数据调用请求,对于服务提供设备来说每一个数据调用请求都是一个事务,而该服务提供设备的事务处理能力是有上限的,当遇到大量并发的事务超出该服务提供设备的事务处理上限时,该服务提供设备就很容易宕机,从而导致整个集群系统不能正常运行。
发明内容
本申请实施例提供一种集群系统中数据的调用方法,用于解决大量并发的事务超出服务提供设备的事务处理上限时,该服务提供设备容易宕机,从而导致整个集群系统不能正常运行的问题。
本申请实施例还提供另一种集群系统中数据的调用方法,用于解决大量并发的事务超出服务提供设备的事务处理上限时,该服务提供设备容易宕机,从而导致整个集群系统不能正常运行的问题。
本申请实施例提供一种集群系统中数据的调用装置,用于解决大量并发的事务超出服务提供设备的事务处理上限时,该服务提供设备容易宕机,从而导致整个集群系统不能正常运行的问题。
本申请实施例还提供另一种集群系统中数据的调用装置,用于解决大量并发的事务超出服务提供设备的事务处理上限时,该服务提供设备容易宕机,从而导致整个集群系统不能正常运行的问题。
本申请实施例采用下述技术方案:
一种集群系统中数据的调用方法,所述集群系统中至少包括集群管理中心、若干处理设备以及服务提供设备,所述方法包括:
针对任一处理设备,当该处理设备接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
该处理设备根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断是否需要进行时间离散缓存更新;
若是,则确定该处理设备自身的休眠时长,并在等待所述休眠时长后,根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,该处理设备自身的休眠时长与其他各处理设备的休眠时长不完全相同;
若否,则根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
另一种集群系统中数据的调用方法,所述集群系统中至少包括集群管理中心、若干处理设备以及服务提供设备,所述方法包括:
所述集群管理中心实时监控所述服务提供设备的最大事务处理量;
向各处理设备发送缓存更新指令;
接收各处理设备在接收到所述缓存更新指令后返回的查询请求;
根据所述查询请求,将实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
一种集群系统中数据的调用装置,所述调用装置位于集群系统中,所述集群系统至少包括集群管理中心、若干个所述调用装置以及服务提供设备;所述调用装置包括:
接收模块,接收所述集群管理中心发送的缓存更新指令;
查询模块,当所述接收模块接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
判断执行模块,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断所述调用装置自身是否需要进行时间离散缓存更新,若是,则确定所述调用装置自身的休眠时长,并在等待所述休眠时长后,根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,所述调用装置自身的休眠时长与所述集群系统中的其他调用装置的休眠时长不完全相同,若否,则根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
另一种集群系统中数据的调用装置,所述调用装置位于集群系统中,所述集群系统至少包括所述调用装置、若干处理设备以及服务提供设备;所述调用装置包括:
监控模块,实时监控各服务提供设备的最大事务处理量;
更新模块,向各处理设备发送缓存更新指令;
查询模块,接收各处理设备在接收到所述更新模块发送的所述缓存更新指令后返回的查询请求;
结果返回模块,根据所述查询请求,将所述监控模块实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
当集群系统中的集群管理中心在向多个处理设备发送缓存更新指令后,避免该多个处理设备在同一时间向同一服务提供设备发送数据调用请求,使得该服务提供设备接收到的数据调用请求不超过该服务提供设备在单位时间内的最大事务处理量,从而解决现有技术中服务提供设备在接收到的并发事务超出该服务提供设备在单位时间内的最大事务处理量时,该服务提供设备容易宕机,而导致的整个集群系统不能正常运行的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为集群系统结构示意图;
图2是本申请实施例提供一种集群系统中数据的调用过程;
图3是本申请实施例提供一种集群系统中数据的调用过程;
图4是本申请实施例提供一种集群系统中数据的调用装置的结构示意图;
图5是本申请实施例提供一种集群系统中数据的调用装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图2为本申请实施例提供的集群系统中数据的调用过程,其中,该集群系统至少包括:集群管理中心、若干处理设备以及服务提供设备。
另外,该集群系统的结构如图1所示,本申请所述的数据调用过程均在该集群系统中进行,并且该集群管理中心实时监控在该集群系统中该服务提供设备的最大事务处理量,以便后续步骤的执行。则图2所示的集群系统数据调用过程,具体包括以下步骤:
S101:针对任一处理设备,当该处理设备接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量。
在本申请实施例1中,由于只有在该集群系统中的各处理设备存在缓存机制时,才会出现本申请中所述的,当多个处理设备同时接收到缓存更新指令,该多个处理设备同时向该服务提供设备发起数据调用请求时,该服务提供设备容易宕机,从而导致整个集群系统不能正常运行的问题,所以在本申请中所述的处理设备均可以是具有缓存机制的处理设备,即,在本申请中所述的处理设备均可默认为是具有缓存机制的处理设备,后续不再赘述。
进一步的,在本申请中,为了避免多个处理设备向该服务提供设备同时发送数据调用请求的情况出现,针对任一处理设备,当该处理设备接收到更新缓存指令时,该处理设备需要先确定该服务提供设备的处理事务的能力,以及该服务提供设备将要处理的事务总数量,以便后续步骤的进行。
具体的,针对任一处理设备,当该处理设备接收到所述集群管理中心的缓存更新指令时,该处理设备并不直接根据本地保存的数据向该服务提供设备发送数据调用请求,而是先向该集群管理中心查询该服务提供设备在单位时间内的最大事务处理量,以及该集群管理中心发送该缓存更新指令对应的所有发送目标的总数量,以便后续该处理设备可以确定自身向该服务提供设备发送数据调用请求的时机。其中,为了方便后续描述,将该服务提供设备在单位时间内的最大事务处理量简称为最大事务处理量,将该集群管理中心发送该缓存更新指令对应的所有发送目标的总数量简称为总数量,则该处理设备可通过一条查询请求向该集群管理中心查询该最大事务处理量以及该总数量,也可以通过两条查询请求,分别向该集群管理中心查询该最大事务处理量以及该总数量,即,本申请对查询请求的数量并不做具体限定。
需要说明的是,在本申请中,该缓存更新指令对应的所有发送目标,即为接收到该缓存更新指令的所有处理设备。另外,该处理设备可以是服务器,也可以是终端(如,个人电脑、手机、平板电脑等),只要该处理设备可以在该集群管理中心的控制下,执行相应的指令即可,当然,由于一般集群系统仅用于企业的业务执行,所以通常情况下该处理设备为服务器。
例如,假设在某集群系统中,存在100个处理设备,并以处理设备1~100进行标识,并且在该集群系统中还存在集群管理中心A和服务提供设备B。则,针对处理设备1,当该处理设备1接收到该集群管理中心A发送的缓存更新指令时,该处理设备1向该集群管理中心A发送查询请求,以查询该服务提供设备B在1秒内的最大事务处理量,以及该集群管理中心A发送的该缓存更新指令的所有发送目标(即,接收到该缓存更新指令的所有处理设备)。
S102:该处理设备根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断是否需要进行时间离散缓存更新,若是,则执行步骤S103,若否,则执行步骤S104。
在本申请实施例1中,当该处理设备向该集群管理中心发送了查询请求后,便可以根据该集群管理中心返回的查询结果,判断自身是否需要进行时间离散缓存更新,即,确定根据该缓存更新指令该处理设备向该服务提供设备发送数据调用请求的时机,以便当向该服务提供设备发送的数据调用请求超出了该服务提供设备单位时间内的最大事务处理量时,该处理设备后续可以确定一个与其他处理设备不完全相同的发送数据调用请求的时间(即,进行时间离散缓存更新),以减轻该服务提供设备的运行压力,降低该服务提供设备宕机的几率。
具体的,该处理设备根据该集群管理中心返回的查询结果,确定该最大事务处理量以及该总数量(即,该缓存更新指令对应的所有处理设备的总数量),并判断该最大事务处理量是否不小于该总数量,若是,则该处理设备可以确定该服务提供设备可以承受各处理设备同时向该服务提供设备发送的数据调用请求而不会宕机,即,该服务提供设备的事务处理能力高于或者等于预计要发送给该服务提供设备的数据调用请求(即,高于或者等于该服务提供设备将要处理的事务量),于是可以进一步确定该处理设备无需进行时间离散缓存更新,并执行步骤S104,若否,则该处理设备可以确定该服务提供设备在接收各处理设备同时向该服务提供设备发送的数据调用请求时,有较大几率会造成该服务提供设备宕机,所以该处理设备可以进一步的确定需要进行时间离散缓存更新,并执行步骤S105。
另外,由于通常设备(在本申请中可理解为该集群系统中的各处理设备以及该服务提供设备)的运行状态是实时变化的,并且在该集群系统中各设备均是通过网络连接的,而网络连接也同样存在数据传输的,所以该处理设备根据查询结果确定的该最大事务处理量以及该总数量可能存在误差,所以在该处理设备判断是否需要进行时间离散缓存更新时,除了对比该最大事务处理量是否不小于该总数量以外,为了增大冗余,当该最大事务处理量不小于该总数量时,该处理设备还可以进一步确定该总数量与该最大事务处理量的比值,当该比值大于预设的阈值时,同样可以确定该处理设备需要进行时间离散更新,而只有当该比值也不大于该预设的阈值时,才无需进行时间离散更新(如,假设该预设的阈值为0.8,则当该总数量与该最大事务处理量的比值不大于0.8,即,当该总数量不超过该最大事务处理量的80%时,该处理设备才确定无需进行时间离散更新)。
需要说明的是,在本申请中所述的时间离散缓存更新,即,在时间上离散进行的缓存更新,具体在各处理设备上就是各处理设备在时间上离散的向该服务提供设备发送数据调用请求。
继续沿用上例,假设该服务提供设备B在1秒内的最大事务处理量为80,而该集群管理中心A发送该缓存更新指令对应的所有发送目标的总数量为100,即,该集群系统中所有的处理设备均接收到了该缓存更新指令,则针对该处理设备1,该处理设备1根据该集群管理中心返回的查询结果,可以确定该最大事务处理量为80以及该总数量为100,则进一步的,该处理设备1还可以判断该最大事务处理量小于该总数量,确定需要进行时间离散更新缓存并执行步骤S103。
S103:确定该处理设备自身的休眠时长,并在等待所述休眠时长后,根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,该处理设备自身的休眠时长与其他各处理设备的休眠时长不完全相同。
在本申请实施例1中,当该处理设备确定需要进行时间离散缓存更新后,该处理设备便可确定自身的休眠时长,并且由于该处理设备确定的自身的休眠时长与其他各处理设备的休眠时长不完全相同,所以后续可以使各处理设备发送数据调用请求的时间点均不完全相同(即,达到时间离散的效果),从而使的该服务提供设备接收到的数据调用请求在时间上是离散的而不是集中的,进而使得该服务提供设备的瞬时运行压力大大减小,降低了该服务提供设备的宕机几率。
具体的,首先该处理设备可根据公式确定该处理设备自身的休眠时长,其中K为该处理设备在预设的数值范围内生成随机数,N为该最大事务处理量,则该处理设备是根据所述最大事务处理量的倒数和所述随机数的乘积,确定该处理设备自身的休眠时长的,其中,由于K为该处理设备在预设的数值范围内生成随机数,所以各处理设备所生成的随机数不完全相同,于是通过该公式,该处理设备确定的自身休眠时长与其他各处理设备的休眠时长不完全相同。
其次,当该处理设备在等待该休眠时长后,该处理设备便可根据本地保存的数据,向该服务提供设备发送数据调用请求,即,该数据调用请求是向该服务提供设备请求调用在该服务提供设备中与该设备本地保存的数据相应的数据的。
最后,该处理设备在接收到该服务提供设备返回的数据后,根据该服务提供设备返回的数据更新本地保存的数据,即,将在该处理设备本地保存的时效性不强的数据更新为该服务提供设备提供的更新数据。
在本申请中,由于各处理设备之间的休眠时长并不完全相同,所以当各设备在等待自身的休眠时长后,再向该服务提供设备发送数据调用请求时的时间点就会呈现离散的状态,即,各处理设备向该服务提供设备发送调用请求的时间点不再集中,于是,该处理设备就不会在同一时间接收到由大量处理设备发送的数据调用请求,而是陆续的接收到由大量处理设备发送的数据调用请求,减小了该服务提供设备由于瞬时运行压力大增而导致的宕机几率。
另外,该处理设备在计算自身休眠时长时,还可以采用其他离散公式,如,具体对于该集群系统中的各处理设备采用何种离散公式计算自身的休眠时长,本申请并不做限定。
当然,对于各处理设备在等待的自身休眠时长后,向该服务提供设备发送数据调用请求的时间点在时间轴上的离散范围,也即各处理设备在理论上的离散时间的范围也可进行限定(在上述公式中体现为),如,使该离散时间的范围在1秒以内,以便使得各处理设备在运行时所使用的本地保存的数据尽量统一,减少数据不一致带来的误差。
进一步的,若该服务提供设备中对应的数据并没有被更新,则为了减轻网络运行压力,该服务提供设备可以仅返回无需更新的消息,而无需将对应的数据再次发送给该处理设备,使得该处理设备在接收到该消息后,可以确定本地保存的数据无需更新,则后续该处理设备也就无需向该服务提供设备发送数据调用请求。
继续沿用上例,假设该处理设备1根据公式计算自身的休眠时长,该处理设备1随机生成的K值的取值范围为0≤K≤1,随机生成的K=0.06,并且,该处理设备1本地保存的数据如表1所示。
数据标识 数据值
数据a X
数据b Y
表1
于是,该处理设备可以确定自身的休眠时长为秒,于是该处理设备1在确定了自身休眠时长后,等待0.769秒后,再向该服务提供设备B发送数据调用请求,以调用数据a和数据b。进一步假设,该服务提供设备中对应的数据如表2所示。
数据标识 数据值
数据a X1
数据b Y1
表2
则,该服务提供设备根据该处理设备1的调用请求,向该处理设备1返回当前该服务提供设备中的数据a和数据b,即表2所示的数据。而该处理设备1在接收到该服务提供设备B返回的数据后,可以根据该数据更新本地保存的数据a和数据b,即将表1中的数据a和数据b的数值更新为X1和Y1。
并且,由于处理设备1~100均随机生成K值,所以各处理设备的K值不完全一致,各处理设备确定的休眠时间也不完全一致,于是,该服务提供设备B接收到的数据调用请求在时间上是离散的,降低了该该服务提供设备B宕机的几率。
S104:根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
在本申请实施例1中,若该处理设备确定无需进行时间离散更新时,便可进行与现有技术中相同的数据更新过程。
具体的,该处理设备可向该服务提供设备发送数据调用请求,并根据该服务提供设备返回的数据更新本地保存的数据。
需要说明的是,实施例1所提供方法的各步骤的执行主体均为同一设备。
通过如图2所示的集群系统中数据的调用方法,针对任一处理设备,由于该处理设备在接收到该集群管理中心的缓存更新指令时,并不直接根据本地保存的数据向该服务提供设备发送数据调用请求,而是先向该集群管理中心查询该服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量,并根据该集群管理中心返回的该最大事务处理量以及该总数量,判断是否需要进行时间离散缓存更新,若是,则进一步确定自身的休眠时长,并在等待该休眠时长后,在根据本地保存的数据向该服务提供设备发送数据调用请求,最后再根据该服务提供设备返回的数据更新本地保存的数据,若否,则无需确定自身休眠时长,而可直接向该服务提供设备发送数据调用请求,最后再根据该服务提供设备返回的数据更新本地保存的数据,并且,其中该处理设备确定的自身休眠时长与其他各处理设备的休眠时长不完全相同。可见,通过本申请,当该集群系统中的处理设备向该服务提供设备发起的数据调用请求,有较大几率导致该服务提供设备宕机时,各需要向该服务除提供设备发送数据调用请求的处理设备,可以确定一个与其他各处理设备不完全相同的休眠时长,使得各处理设备向该服务提供设备发送的数据调用请求的时间点在时间轴上是离散的,从而降低该处理设备在瞬时接收到的数据调用请求的数量,进而使得该处理设备的宕机几率降低,使该集群系统正常运行的几率增加。
另外,与现有技术相同在该集群系统中的服务提供设备可以有多个,即,该集群系统中可存在多个服务提供设备,则此时,该集群管理中心可以根据各服务提供设备的设备标识,确定需要发送缓存更新指令的处理设备,并且,为了简化该集群系统中各处理设备的标识与各服务提供设备的对应关系,以方便对该集群系统中对各处理设备以及各服务提供设备进行管理,所以在该集群系统中每一个处理设备可对应唯一的一个服务提供设备,当然,一个服务提供设备可以对应于多个处理设备。
于是在本申请中,针对任一处理设备,由于该处理设备对应唯一的一个服务提供设备,所以当该处理设备接收到该缓存更新指令后,可以根据本地保存的数据,确定对应的服务提供设备的设备标识,并向该集群管理中心查询该设备标识对应的服务提供设备在单位时间内的最大事务处理量,以及该集群管理中心发送该缓存更新指令对应的所有发送目标的总数量,而后续的数据调用过程与步骤S102~步骤S104一致,不再赘述。也就是说,本申请实施例提供的集群系统中数据的调用方法并不具体限定该集群系统中存在多个服务提供设备还是一个服务提供设备。需要说明的是,在该集群系统中可存在多个服务提供设备的情况下,对应于该集群管理中心的数据的调用过程后续会在本申请实施例2中单独进行说明。
进一步的,在集群系统实际应用过程中,各处理设备可运行至少一个应用程序实例,而由现有集群技术可知,该应用程序实例实际上也可以视为在该集群系统中单独进行数据处理任务的单元。例如,某集群系统中存在10个处理设备,并且每台处理设备上均运行有10个应用程序示例,则该集群系统中有100个应用程序实例在运行,即,该集群系统中存在100个数据处理任务的单元。而本申请所述的方法不仅可应用在各处理设备上,也可运行在该集群管理系统的每一个应用程序实例上。
具体的,首先,在该集群系统中的任一处理设备通过运行的每个应用程序实例分别接收该集群管理中心向该每个应用程序实例分别发送的缓存更新指令。
其次,针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,向该集群管理中心查询该服务提供设备在单位时间内的最大事务处理量,以及该集群管理中心发送该缓存更新指令对应的所有发送目标的总数量。
之后,根据该集群管理中心返回的该最大事务处理量和该总数量,针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,判断该应用程序实例是否需要进行时间离散缓存更新,若是,则该处理设备通过运行的该应用程序实例,确定该应用程序实例的休眠时长,并向该服务提供设备发送数据调用请求,并根据该服务提供设备返回的数据更新本地保存的数据,若否,则该处理设备通过运行的该应用程序实例,向该服务提供设备发送数据调用请求,并根据该服务提供设备返回的数据更新本地保存的数据,其中该应用程序实例的休眠时长与其他应用程序实例的休眠时长不完全相同。
更进一步的,由于在现有技术中,处理设备在确定是否要将数据进行本地保存时,一般是该处理设备根据人工对该处理设备设置的缓存规则来判断的,而该缓存规则通常并不是由服务提供设备来设置的,也就是说,决定该处理设备是否要对一个数据进行本地保存的规则,不是由该数据对应的服务提供设备确定的。而通常情况下,由于该服务提供方提供的数据更新时间是由该服务提供方来确定的,并且数据的更新时间也不一定是周期性的更新,所以只有该服务提供设备才能明确该服务提供设备提供的数据的更新时间,于是现有技术中各处理设备判断是否需要对数据进行本地保存的方法,可能导致各处理设备在将数据保存在本地时,可能保存的不是时效性不强的数据,进而导致各处理设备在进行业务处理时出现错误的几率增加。
于是在本申请中,针对该集群系统中的任一处理设备,该处理设备接收该服务提供设备发送的缓存规则,并根据该缓存规则,将从该服务提供设备中调用的数据保存在本地。通过上述过程,由于该处理设备中的缓存规则是由该服务提供设备发送的,所以可以使该处理设备中保存的缓存规则更加准确,从而进一步提高该集群系统的运行效率。
具体的,该处理设备可向该服务提供设备发送调用缓存规则的请求,并接收该服务提供设备发送的缓存规则,或者在该集群系统中,当该服务提供设备中的缓存规则更新时,该服务提供设备可根据一段时间内的历史记录主动向各处理设备发送更新后的缓存规则,其中,各处理设备可以是在一段时间内向该服务提供设备发送数据调用请求的处理设备,并且,该一段时间的时间长度可以由人工根据经验设定,如,服务提供设备的工作人员设定该一段时间为1个月,则该服务提供设备可根据最近1个月内的历史记录,确定向该服务提供设备发送数据调用请求的处理设备,并向确定个各处理设备发送更新后的缓存规则。
另外,由于一个集群系统中至少包含一个任务,即,该集群系统中可以包含若干任务,并且针对每一个任务,该集群系统都可以将该任务分解为若干子任务,并通过集群管理中心将各子任务分别发送至多台处理设备分别执行,所以在现有技术中,为了区分处理不同任务的子任务的各处理设备,针对每一个处理设备,该集群管理中心在将子任务发送至该处理设备执行的同时,也将该子任务所属的任务标识一同发送至该处理设备,并使该处理设备将该任务标识保存在本地。
于是,在本申请中,针对每一个处理设备,当该处理设备在接收到由服务提供发送的缓存规则后,该处理设备可以根据缓存规则将需要本地保存的数据的数据标识与本地保存的任务标识一同发送至该集群管理中心,以使该集群管理中心可以保存该处理设备的标识、数据标识以及任务标识的对应关系,以便后续可以根据任务标识和/或数据标识确定需要发送缓存更新指令的处理设备。
当然,该处理设备也可以直接建立该数据标识、任务标识和该处理设备的标识的对应关系,并将该对应关系发送至该集群管理中心,使该集群管理中心只需将该对应关系保存即可,并在后续根据需要通过该对应关系确定该处理设备的标识。
实施例2
基于图3所示的集群系统中数据的调用过程,本申请实施例还对应提供另一种集群系统中数据的调用过程,如图3所示。
图3是本申请实施例提供一种集群系统中数据的调用过程,其中,该集群系统至少包括:集群管理中心、若干处理设备以及服务提供设备,图2具体包括以下步骤:
S201:所述集群管理中心实时监控所述服务提供设备的最大事务处理量。
在本申请实施例2中,由于后续该集群管理中心还需要向该集群系统中的处理设备发送该服务提供设备的最大事务处理量,所以该集群管理中心还可以实时监控该服务提供设备的最大事务处理量,以便后续当需要向各处理设备发送时,可以直接发送该服务提供设备的最大事务处理量至各处理设备。
并且,由于该服务提供设备的运行状态是动态变化的,也就是说在各个时间点都有可能不完全相同,所以为了后续可以向各处理设备提供较为准确的该最大事务处理量,该集群管理中心可实时监控该服务提供设备的最大事务处理量。
S202:向各处理设备发送缓存更新指令。
在本申请实施例2中,由于该集群系统中的各处理设备具有缓存机制,也就是说各处理设备根据缓存规则在本地保存数据,虽然根据缓存规则在本地保存的数据一般是时效性不强的数据,但是仍然存在提供该数据的服务提供设备对该数据进行更新的情况,而若各处理设备在服务提供设备更新该数据后,没有相应的更新本地保存的该数据,则可能导致业务异常,所以为了保证业务的正常执行,该集群管理中心还可可向各处理设备发送缓存更新指令,以使各处理设备向该服务提供设备调用该更新后的数据。
具体的,由于该集群管理中心可保存各处理设备的标识、各数据标识以及各任务标识之间的对应关系,所以在本申请中该集群管理中心可以根据各数据标识和/或任务标识,确定对应的处理设备,并向对应的处理设备发送缓存更新指令。各处理设备的标识、各数据标识以及各任务标识之间的对应关系可如表3所示。
表3
通过表3可见,该集群管理中心既可通过数据标识确定对应的处理设备,也可通过任务标识确定对应的处理设备,并且,也可以通过数据标识以及任务标识确定对应的处理设备。其中,当以数据标识确定对应的处理设备时,确定的各处理设备可以仅对该数据标识对应的数据进行更新,即,该集群管理中心发送的缓存更新指令可仅针对于该数据标识对应的数据,而当以任务标识确定对应的处理设备时,确定的各处理设备可对本地保存的所有数据进行更新,该集群管理中心发送的缓存更新指令时针对于该任务标识下的所有数据标识对应的数据的。
S203:接收各处理设备在接收到所述缓存更新指令后返回的查询请求。
在本申请实施例2中,该集群管理中心在向各处理设备发送缓存更新指令后,由于各处理设备还可向该集群管理中心查询该服务提供设备单位时间内的最大事务处理量,以及该集群管理中心发送该缓存更新指令对应的所有发送目标的总数量,所以该集群管理中心还可接收各处理设备发送的查询请求,所述查询请求具体为查询该最大事务处理量以及该总数量。
S204:根据所述查询请求,将实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
在本申请实施例2中,当该集群管理中心在接收到该查询请求后,便可根据步骤S201中实时监控的该最大事务处理量以及在步骤S202中向各处理设备发送缓存更新指令的目标总数量,确定需要向各处理设备返回的查询结果,并返回,以使各处理设备可以继续执行在步骤S202中接收到的缓存更新指令。
具体的,由于该集群管理中心实时监控各服务提供设备的最大事务处理量,并且各处理设备的缓存更新指令也是由该集群管理中心发送的,所以该集群管理中心可以确定该最大事务处理量以及该总数量,并根据各处理设备的查询请求,返回对应的查询结果。以使得各处理设备可以判断自身是否需要进行时间离散缓存更新,并根据判断结果执行对应的操作,达到使该集群管理中心的服务提供设备的宕机几率降低,并使该集群系统正常运行。
当然,本申请实施例2是与本申请实施例1相对应的实施例,所以根据在在本申请实施例1中的论述,在本申请实施例2中,该集群系统中的服务提供设备可以至少有一个,并且,各处理设备可运行至少一个应用程序实例,并由运行在各处理设备中的各应用程序实例响应于该集群管理中心的缓存指令,并继续执行后续的操作,本申请对此不再赘述。
另外,对于该集群系统中可存在多个服务提供设备的情况,针对在该集群系统中的每一个处理设备,由于该处理设备均唯一的对应于一个服务提供设备,即,该处理设备通过唯一的一个服务提供设备调用数据,所以当该集群管理中心向各处理设备发送缓存更新指令时,该集群管理中心可以根据各服务提供设备的设备标识,确定需要发送缓存更新指令的处理设备。
具体的,由于在该集群系统中的各处理设备并不全部对应于同一个服务提供设备,所以在该集群管理中心发送缓存更新指令时,为了能够向对应于同一个服务提供设备的各处理设备发送缓存更新指令,该集群管理中心还可预先保存的各处理设备的标识与各服务提供设备的设备标识的对应关系。
由于一般情况下,缓存更新指令的发送是因为服务提供设备更新了自身提供的数据,该集群系统中使用该数据的处理设备需要相应的对本地保存的数据进行更新,所以当该集群管理中心需要发送缓存更新指令时,该集群管理中心可先确定服务提供设备的设备标识,之后再通过该服务提供设备的设备标识与各处理设备的标识对应关系,确定需要发送缓存更新指令的各处理设备,并且向确定的各处理设备发送缓存更新指令,后续该集群管理中心可接收各处理设备返回的查询请求,并根据该查询请求中携带的设备标识,将实施监控的具有该设备标识的服务提供设备的最大事务处理量,以及发送该缓存更新指令对应的所有发送目标的总数量发送给各处理设备,则后续的过程与步骤S105中一致,该集群管理中心完成数据的调用过程。
在本申请中,由于该集群管理中心中可保存各处理设备的标识、各数据标识以及各任务标识之间的对应关系,而在该集群系统中存在多个服务提供设备的情况下,该集群管理中心还可保存各处理设备的标识与各服务提供设备的设备标识的对应关系,所以在该集群系统中存在多个服务提供设备的情况下,该集群管理中心中可保存各处理设备的标识、各数据标识、各服务提供设备的设备标识以及各任务标识之间的对应关系。当然后续为了方便描述,在本申请中仅以该集群系统中仅存在一个服务提供设备为例进行说明。
进一步的,在步骤S202中该集群管理中心发送缓存更新指令的时机,可由工作人员人决定,或者,该缓存更新指令的发送时机也可由该集群管理中心根据预先保存的更新策略确定。
其中,该集群管理中心中预先保存的更新策略可由工作人员根据人工经验设定,也可由工作人员根据该服务提供设备的数据更新周期或更新时间确定,并且,由于只有时效性不强的数据才需要采用更新策略,所以可以仅针对各处理设备需要本地保存的数据(即,时效性不强的数据),确定该数据对应的更新策略。其中,由于各数据均由服务提供设备提供,所以根据该服务提供设备的数据更新周期或更新时间确定的更新策略更加准确。
具体的,针对该服务提供设备提供的每一个数据,该集群管理中心可通过该服务提供设备确定该数据的更新周期或者更新时间,并以该数据的更新周期或者更新时间作为该数据的更新策略。当任一数据标识对应的数据的更新策略到达更新时间的时间点或者更新周期的时间点时,由于该集群管理中心保存有各处理设备的标识、各数据标识以及各任务标识之间的对应关系,所以该集群管理中心便可根据该数据的数据标识,确定对应的各处理设备,并向确定的各处理设备发送缓存更新指令,并且,该缓存更新指令中还可以携带有该数据的数据标识,以便各处理设备可根据该数据的数据标识,确定仅需要对该数据进行更新,以减处理设备需要更新的数据的量。
更进一步的,该更新策略不仅可以根据数据的更新周期或更新时间确定,同时还可以根据任务的需要确定,即通过任务标识确定需要发送缓存更新指令的各处理设备,具体的,该集群管理中心可以根据需要,针对任一任务标识对应的任务,确定该任务的更新时间点,当达到该任务更新时间点时,该集群管理中心便可根据保存的各处理设备的标识、各数据标识与各任务标识的对应关系,该任务标识对应的各处理设备发送缓存更新指令。例如,一个报账任务需要每天更新一次账目明细等数据,则该报账任务的更新时间点便可确定为每天的零点整,即,在每天的零点整,该集群管理中心都会根据该报账任务的任务标识,确定对应的各处理设备,并向确定的各处理设备发送缓存更新指令。
在本申请中,由于在该集群系统中存在多个服务提供设备的情况时,该集群管理中心中还可保存各处理设备的标识、各数据标识、各服务提供设备的设备标识以及各任务标识之间的对应关系,所以该更新策略还可以根据各服务提供设备的更新而确定,即,当该集群管理中心监测到任一服务提供设备进行更新操作时,该集群管理中心根据该对应关系,确定与该服务提供设备的设备标识对应的各处理设备的标识,并向确定的各处理设备的标识对应的处理设备发送缓存更新指令。
需要说明的是,实施例2所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S201和步骤S202的执行主体可以为设备1,步骤S203的执行主体可以为设备2;又比如,步骤S201的执行主体可以为设备1,步骤S202和步骤S203的执行主体可以为设备2;等等。
实施例3
基于图2所示的集群系统中数据的调用过程,本申请实施例还提供一种集群系统中数据的调用装置,如图4所示。
图4是本申请实施例提供一种集群系统中数据的调用装置的结构示意图,所述调用装置位于集群系统中,所述集群系统至少包括集群管理中心、若干个所述调用装置以及服务提供设备;所述调用装置包括:
接收模块301,接收所述集群管理中心发送的缓存更新指令;
查询模块302,当所述接收模块301接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
判断执行模块303,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断所述调用装置自身是否需要进行时间离散缓存更新,若是,则确定所述调用装置自身的休眠时长,并在等待所述休眠时长后,根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,所述调用装置自身的休眠时长与所述集群系统中的其他调用装置的休眠时长不完全相同,若否,则根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
所述调用装置还包括:
缓存模块304,接收所述服务提供设备发送的缓存规则,根据所述缓存规则,从所述服务提供设备中调用数据并保存在本地。
所述缓存模块304,确定保存在本地的所述数据对应的数据标识,并将所述数据标识以及该处理设备的标识发送至所述集群管理中心,以使所述集群管理中心建立并保存所述数据标识与该处理设备的标识的对应关系。
所述判断执行模块303,判断所述最大事务处理量是否不小于所述总数量,若是,则确定无需进行时间离散缓存更新,若否,确定需要进行时间离散缓存更新。
所述判断执行模块303,在确定需要进行时间离散缓存更新时,在预设的数值范围内生成随机数,其中,针对每个调用装置预设的数值范围相同或不完全相同,根据所述最大事务处理量和所述随机数,确定所述调用装置自身的休眠时长。
所述判断执行模块303,在确定所述调用装置自身的休眠时长时,确定所述最大事务处理量的倒数,根据所述倒数与所述随机数的乘积,确定所述调用装置自身的休眠时长。
每个调用装置上运行至少一个应用程序实例;
所述接收模块301,通过运行的每个应用程序实例分别接收所述集群管理中心向所述每个应用程序实例分别发送的缓存更新指令;
所述查询模块302,针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
所述判断执行模块303,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,判断该应用程序实例是否需要进行时间离散缓存更新,若是,则针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,确定该应用程序实例的休眠时长,并在等待所述休眠时长后,根据该应用程序实例在所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,所述集群系统中每个调用设备上运行的各应用程序实例的休眠时长不完全相同,若否,则针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,根据该应用程序实例在所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
具体的,上述如图4所示的集群系统中数据的调用装置可以位于该集群系统的各处理设备中。
实施例4
基于图3所示的集群系统中数据的调用过程,本申请实施例还提供一种集群系统中数据的调用装置,如图5所示。
图5是本申请实施例提供一种集群系统中数据的调用装置的结构示意图,针对所述集群管理中心,所述调用装置包括:
监控模块401,实时监控各服务提供设备的最大事务处理量;
更新模块402,向各处理设备发送缓存更新指令;
查询模块403,接收各处理设备在接收到所述更新模块402发送的所述缓存更新指令后返回的查询请求;
结果返回模块404,根据所述查询请求,将所述监控模块401实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
更新模块402,确定需要更新的数据的数据标识,根据预先保存的各数据标识与各处理设备的标识的对应关系,确定所述需要更新的数据的数据标识对应的各处理设备的标识,分别向确定的各处理设备的标识对应的处理设备发送缓存更新指令。
具体的,上述如图5所示的集群系统数据调用装置可以位于集群管理中心中,该集群管理中心可以位于一台设备中,也可是由多台设备组成的系统。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种集群系统中数据的调用方法,其特征在于,所述集群系统中至少包括集群管理中心、若干处理设备以及服务提供设备,所述方法包括:
针对任一处理设备,当该处理设备接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
该处理设备根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断是否需要进行时间离散缓存更新;
若是,则确定该处理设备自身的休眠时长,并在等待所述休眠时长后,根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,该处理设备自身的休眠时长与其他各处理设备的休眠时长不完全相同;
若否,则根据该处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
2.如权利要求1所述的方法,其特征在于,该处理设备在本地保存数据,具体包括:
该处理设备接收所述服务提供设备发送的缓存规则;
根据所述缓存规则,从所述服务提供设备中调用数据并保存在本地。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
该处理设备确定保存在本地的所述数据对应的数据标识;
将所述数据标识以及该处理设备的标识发送至所述集群管理中心,以使所述集群管理中心建立并保存所述数据标识与该处理设备的标识的对应关系。
4.如权利要求1所述的方法,其特征在于,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断是否需要进行时间离散缓存更新,具体包括:
判断所述最大事务处理量是否不小于所述总数量;
若是,则确定无需进行时间离散缓存更新;
若否,确定需要进行时间离散缓存更新。
5.如权利要求1所述的方法,其特征在于,确定该处理设备自身的休眠时长,具体包括:
该处理设备在预设的数值范围内生成随机数,其中,针对每个处理设备预设的数值范围相同或不完全相同;
根据所述最大事务处理量和所述随机数,确定该处理设备自身的休眠时长。
6.如权利要求5所述的方法,其特征在于,根据所述最大事务处理量和所述随机数,确定该处理设备自身的休眠时长,具体包括:
确定所述最大事务处理量的倒数;
根据所述倒数与所述随机数的乘积,确定该处理设备自身的休眠时长。
7.如权利要求1所述的方法,其特征在于,每个处理设备上运行至少一个应用程序实例;
该处理设备接收所述集群管理中心的缓存更新指令,具体包括:
该处理设备通过运行的每个应用程序实例分别接收所述集群管理中心向所述每个应用程序实例分别发送的缓存更新指令;
向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量,具体包括:
针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
该处理设备根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断是否需要进行时间离散缓存更新,具体包括:
根据所述集群管理中心返回的所述最大事务处理量和所述总数量,针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,判断该应用程序实例是否需要进行时间离散缓存更新;
确定该处理设备自身的休眠时长,具体包括:
针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,确定该应用程序实例的休眠时长;
向所述服务提供设备发送数据调用请求,并根所述据服务提供设备返回的数据更新本地保存的数据,具体包括:
针对该处理设备上运行的每个应用程序实例,该处理设备通过运行的该应用程序实例,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
8.一种集群系统中数据的调用方法,其特征在于,所述集群系统中至少包括集群管理中心、若干处理设备以及服务提供设备,所述方法包括:
所述集群管理中心实时监控所述服务提供设备的最大事务处理量;
向各处理设备发送缓存更新指令;
接收各处理设备在接收到所述缓存更新指令后返回的查询请求;
根据所述查询请求,将实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
9.如权利要求8所述的方法,其特征在于,向各处理设备发送缓存更新指令,具体包括:
所述集群管理中心确定需要更新的数据的数据标识;
根据预先保存的各数据标识与各处理设备的标识的对应关系,确定所述需要更新的数据的数据标识对应的各处理设备的标识;
分别向确定的各处理设备的标识对应的处理设备发送缓存更新指令。
10.一种集群系统中数据的调用装置,其特征在于,所述调用装置位于集群系统中,所述集群系统至少包括集群管理中心、若干个所述调用装置以及服务提供设备;所述调用装置包括:
接收模块,接收所述集群管理中心发送的缓存更新指令;
查询模块,当所述接收模块接收到所述集群管理中心的缓存更新指令时,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
判断执行模块,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,判断所述调用装置自身是否需要进行时间离散缓存更新,若是,则确定所述调用装置自身的休眠时长,并在等待所述休眠时长后,根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,所述调用装置自身的休眠时长与所述集群系统中的其他调用装置的休眠时长不完全相同,若否,则根据所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
11.如权利要求10所述的装置,其特征在于,所述调用装置还包括:
缓存模块,接收所述服务提供设备发送的缓存规则,根据所述缓存规则,从所述服务提供设备中调用数据并保存在本地。
12.如权利要求11所述的装置,其特征在于,所述缓存模块,确定保存在本地的所述数据对应的数据标识,并将所述数据标识以及该处理设备的标识发送至所述集群管理中心,以使所述集群管理中心建立并保存所述数据标识与该处理设备的标识的对应关系。
13.如权利要求10所述的装置,其特征在于,所述判断执行模块,判断所述最大事务处理量是否不小于所述总数量,若是,则确定无需进行时间离散缓存更新,若否,确定需要进行时间离散缓存更新。
14.如权利要求10所述的装置,其特征在于,所述判断执行模块,在确定需要进行时间离散缓存更新时,在预设的数值范围内生成随机数,其中,针对每个调用装置预设的数值范围相同或不完全相同,根据所述最大事务处理量和所述随机数,确定所述调用装置自身的休眠时长。
15.如权利要求14所述的装置,其特征在于,所述判断执行模块,在确定所述调用装置自身的休眠时长时,确定所述最大事务处理量的倒数,根据所述倒数与所述随机数的乘积,确定所述调用装置自身的休眠时长。
16.如权利要求10所述的装置,其特征在于,每个调用装置上运行至少一个应用程序实例;
所述接收模块,通过运行的每个应用程序实例分别接收所述集群管理中心向所述每个应用程序实例分别发送的缓存更新指令;
所述查询模块,针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,向所述集群管理中心查询所述服务提供设备在单位时间内的最大事务处理量,以及所述集群管理中心发送所述缓存更新指令对应的所有发送目标的总数量;
所述判断执行模块,根据所述集群管理中心返回的所述最大事务处理量和所述总数量,针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,判断该应用程序实例是否需要进行时间离散缓存更新,若是,则针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,确定该应用程序实例的休眠时长,并在等待所述休眠时长后,根据该应用程序实例在所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,所述集群系统中每个调用设备上运行的各应用程序实例的休眠时长不完全相同,若否,则针对所述调用装置上运行的每个应用程序实例,通过运行的该应用程序实例,根据该应用程序实例在所述调用装置本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
17.一种集群系统中数据的调用装置,其特征在于,所述调用装置位于集群系统中,所述集群系统至少包括所述调用装置、若干处理设备以及服务提供设备;所述调用装置包括:
监控模块,实时监控各服务提供设备的最大事务处理量;
更新模块,向各处理设备发送缓存更新指令;
查询模块,接收各处理设备在接收到所述更新模块发送的所述缓存更新指令后返回的查询请求;
结果返回模块,根据所述查询请求,将所述监控模块实时监控的所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量发送给各处理设备,以使各处理设备根据所述最大事务处理量,以及发送所述缓存更新指令对应的所有发送目标的总数量,判断各处理设备是否需要进行时间离散缓存更新,若是,则各处理设备确定自身的休眠时长,并在等待所述休眠时长后,根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据,其中,各处理设备之间的休眠时长不完全相同,若否,则根据各处理设备本地保存的数据,向所述服务提供设备发送数据调用请求,并根据所述服务提供设备返回的数据更新本地保存的数据。
18.如权利要求17所述的装置,其特征在于,所述更新模块,确定需要更新的数据的数据标识,根据预先保存的各数据标识与各处理设备的标识的对应关系,确定所述需要更新的数据的数据标识对应的各处理设备的标识,分别向确定的各处理设备的标识对应的处理设备发送缓存更新指令。
CN201610290417.5A 2016-05-04 2016-05-04 一种集群系统中数据的调用方法及装置 Active CN107346308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610290417.5A CN107346308B (zh) 2016-05-04 2016-05-04 一种集群系统中数据的调用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610290417.5A CN107346308B (zh) 2016-05-04 2016-05-04 一种集群系统中数据的调用方法及装置

Publications (2)

Publication Number Publication Date
CN107346308A true CN107346308A (zh) 2017-11-14
CN107346308B CN107346308B (zh) 2020-07-28

Family

ID=60253639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610290417.5A Active CN107346308B (zh) 2016-05-04 2016-05-04 一种集群系统中数据的调用方法及装置

Country Status (1)

Country Link
CN (1) CN107346308B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107911248A (zh) * 2017-11-27 2018-04-13 北京百度网讯科技有限公司 升级方法和装置
CN112256712A (zh) * 2020-10-20 2021-01-22 北京思特奇信息技术股份有限公司 流程管理的子指令处理方法、系统、存储介质及电子设备
CN113542218A (zh) * 2021-06-07 2021-10-22 南京地铁建设有限责任公司 数据传输方法、电力监控设备、运维设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192228A (zh) * 2006-12-01 2008-06-04 阿里巴巴公司 一种数据库交互处理方法及系统
CN101266624A (zh) * 2008-05-13 2008-09-17 北京润乾信息系统技术有限公司 一种报表计算任务并发控制的方法
CN101364230A (zh) * 2008-09-24 2009-02-11 金蝶软件(中国)有限公司 一种并发访问控制方法及装置
CN102024008A (zh) * 2009-09-09 2011-04-20 浙江省电力公司 一种Web服务器的并发数限制方法
US20130346380A1 (en) * 2012-06-26 2013-12-26 Sap Ag Database access acceleration
CN104408088A (zh) * 2014-11-11 2015-03-11 北京奇虎科技有限公司 并发请求的控制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192228A (zh) * 2006-12-01 2008-06-04 阿里巴巴公司 一种数据库交互处理方法及系统
CN101266624A (zh) * 2008-05-13 2008-09-17 北京润乾信息系统技术有限公司 一种报表计算任务并发控制的方法
CN101364230A (zh) * 2008-09-24 2009-02-11 金蝶软件(中国)有限公司 一种并发访问控制方法及装置
CN102024008A (zh) * 2009-09-09 2011-04-20 浙江省电力公司 一种Web服务器的并发数限制方法
US20130346380A1 (en) * 2012-06-26 2013-12-26 Sap Ag Database access acceleration
CN104408088A (zh) * 2014-11-11 2015-03-11 北京奇虎科技有限公司 并发请求的控制方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107911248A (zh) * 2017-11-27 2018-04-13 北京百度网讯科技有限公司 升级方法和装置
CN112256712A (zh) * 2020-10-20 2021-01-22 北京思特奇信息技术股份有限公司 流程管理的子指令处理方法、系统、存储介质及电子设备
CN113542218A (zh) * 2021-06-07 2021-10-22 南京地铁建设有限责任公司 数据传输方法、电力监控设备、运维设备及存储介质

Also Published As

Publication number Publication date
CN107346308B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
EP3629165A1 (en) Accelerated resource allocation techniques
US9330368B2 (en) Routing service requests based on lowest actual cost within a federated virtual service cloud
Ishii et al. Elastic stream computing with clouds
US9722945B2 (en) Dynamically identifying target capacity when scaling cloud resources
CN105939225B (zh) 一种业务执行的方法及装置
Canali et al. Joint minimization of the energy costs from computing, data transmission, and migrations in cloud data centers
CN112559182B (zh) 资源分配方法、装置、设备及存储介质
Chiang et al. Profit Optimization in SLA‐Aware Cloud Services with a Finite Capacity Queuing Model
CN104243537A (zh) 一种云计算环境下的自动伸缩方法和系统
CN107346308A (zh) 一种集群系统中数据的调用方法及装置
CN108648075A (zh) 数字资产兑换的方法及装置
US10009416B2 (en) Perfect application capacity analysis for elastic capacity management of cloud-based applications
Kim et al. Prediction based sub-task offloading in mobile edge computing
CN107241380A (zh) 用于基于时间调整的负载均衡的方法和设备
WO2024094104A1 (zh) 一种动态反馈加权云存储资源调度方法、装置及设备
CN106936867A (zh) 一种业务请求的响应方法及装置
CN106936882A (zh) 一种商品电子交易系统
CN108845869A (zh) 并发请求控制方法、装置、计算机设备和存储介质
CN110413918A (zh) 数据发送方法、装置、设备及存储介质
Kumar et al. A Hybrid Eagle’s Web Swarm Optimization (EWSO) technique for effective cloud resource management
CN117076195A (zh) 参数的调整方法、装置、存储介质及电子装置
CN111770150A (zh) 访问流量控制方法、装置及电子设备
Firdhous et al. An enhanced quality of service-based trust model for cloud computing
CN113542027B (zh) 一种基于分布式服务架构的流量隔离方法、装置和系统
Chandak et al. Multi agent based resource provisioning in fog computing

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

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240228

Address after: 128 Meizhi Road, Guohao Times City # 20-01, Singapore 189773

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands