CN106557522A - 一种用于提供定时功能的方法与设备 - Google Patents

一种用于提供定时功能的方法与设备 Download PDF

Info

Publication number
CN106557522A
CN106557522A CN201510639282.4A CN201510639282A CN106557522A CN 106557522 A CN106557522 A CN 106557522A CN 201510639282 A CN201510639282 A CN 201510639282A CN 106557522 A CN106557522 A CN 106557522A
Authority
CN
China
Prior art keywords
intervalometer
cloud
node
mark
timer
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
CN201510639282.4A
Other languages
English (en)
Other versions
CN106557522B (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.)
Alcatel Optical Networks Israel Ltd
Original Assignee
Alcatel Optical Networks Israel 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 Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Priority to CN201510639282.4A priority Critical patent/CN106557522B/zh
Priority to PCT/IB2016/001536 priority patent/WO2017055927A1/en
Publication of CN106557522A publication Critical patent/CN106557522A/zh
Application granted granted Critical
Publication of CN106557522B publication Critical patent/CN106557522B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/21Design, administration or maintenance of databases
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本发明的目的是提供一种为处理和数据相分离的系统提供定时功能的技术。本发明新引入了云定时器,该云定时器至少包括一个第一节点和一个第二节点,第一节点用于接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;第二节点用于当所述定时器的所述过期期限到达时向所述通知者标识对应的网络实体发送定时器超时通知。和现有技术相比,本发明没有破坏Worker-State模型的设计原则,且定时器的启动者可以指定定时器超时时的通知对象和定时器超时通知中携带的信息,弥补了现有技术中的缺陷。云定时器的设计采用了多节点的、冗余备份的原则,符合云计算环境的基本思想。

Description

一种用于提供定时功能的方法与设备
技术领域
本发明涉及通信技术领域,尤其涉及一种提供定时功能的技术。
背景技术
在处理(processing)和数据(data)不相分离的传统应用中,计时器是一种本地资源。图1(a)示出了传统的应用模型的示意图。如图1(a)所示,在传统应用中,计时器和服务逻辑、状态信息一起嵌入到每个应用实例中。传统应用的弹性(elasticity)比较差,即很难改变应用的大小、位置等。而在云计算环境中,弹性是云应用必须具有的特性,没有弹性,应用将无法享受到云计算环境的各种优势。
目前,有一种方案可以提高传统应用的弹性,即将传统的应用模型演进为Worker-State(工人-状态)模型。图1(b)示出了Worker-State模型的示意图。可以看到,在Worker-State模型中,处理和数据是分离的。传统应用中的状态信息(state information)存储在具有弹性、可支持大数据的云数据库(cloud database)中,这里所说的状态信息不仅仅是狭义的和状态相关的信息,而是指广义上的所有的用户数据。而传统应用中的服务逻辑由worker(工人)来实现,所有的服务逻辑都被放在处理池(worker pool)中。这里所说的worker实际上就是处理。那么,传统应用中的计时器在这种Worker-State模型中应该怎么实现呢?
现有技术中主要有两种在Worker-State模型中实现计时器的方案:
第一种:在云数据库中实现
当某一处理向云数据库中插入数据时,会对该数据设置一个到期间隔。当所述间隔到达时,该数据将会被自动删除。实现这种方案的云数据库又可分为两类:
第一类:不向所述处理发送数据删除的通知消息
当上述数据被删除时,云数据库不会向所述处理发送通知消息。Cassandra云数据库采用的就是这种方式。
第二类:向所述处理发送数据删除的通知消息
所述处理可以订阅数据删除事件,当该数据被删除时,云数据库会向所述处理发送通知消息。Redis云数据库采用的就是这种方式。
这两类在云数据库中实现定时器的方法均存在不足。在Worker-State模型中,常常会存在这样的情形:处理需要得到定时器超时的通知,比如,在IMS系统中的S-CSCF(Serving-Call SessionControl Function,服务呼叫会话控制功能)就需要得到UE注册超时的通知。很显然,第一类云数据库不能满足这样的需求。第二类云数据库虽然可以向处理发送数据删除的通知消息,但是,所述通知消息只是用于告知处理该数据已被删除,并没有关于所述数据的任何信息,这样会导致没有完整的数据用来向S-CSCF通知UE的注册超时。而且,该通知消息只能发送给当初订阅该通知消息的处理,而在Worker-State模型,常常会出现当定时器超时时,当初订阅该通知消息的处理已经不存在了,导致该通知消息无法成功发送。
第二种:由处理辅助实现
在这种方案中,定时器由处理来启动,并且在云数据库中保存定时器和处理的对应关系。
当处理发生迁移(relocate)时,定时器也可能随之发生迁移,比如某一会话(session)S1的处理X处理完请求消息Req1后就被删除了,当该会话S1产生请求消息Req2时,处理Y会处理该请求消息2。但是由处理X启动的定时器TimerX还没有超时,处理Y通过查询云数据库获知处理X启动的定时器为TimerX,处理Y会重新启动该定时器TimerX并更新云数据库:更新处理X和定时器TimerX的对应关系为处理Y和定时器TimerX的对应关系。上述这种情况称为定时器的迁移。
这种方案也存在以下不足:
1)在处理侧保留定时器违背了Worker-State模型中处理是无状态的设计原则,而且有些情况下,当处理完成了工作也不能完全释放资源因为由它启动的定时器还在运转,这无疑会造成资源浪费。
2)由于在云数据库中需要保存和更新定时器和处理的对应关系,增加了系统的复杂性。
3)由于存在定时器的迁移,定时器的准确性会降低。
由此可见,现有技术中并没有一种技术方案能很好地解决Worker-State模型中的定时器问题。
发明内容
本发明的目的是提供一种为处理和数据相分离的系统提供定时功能的的方法与设备。
根据本发明的第一个方面,提供了一种在云定时器中为处理和数据相分离的系统提供定时功能的方法,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:A.所述云定时器接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;B.所述云定时器向所述处理发送启动定时器成功的确认消息;C.当所述定时器的所述过期期限到达时,所述云定时器向所述通知者标识对应的网络实体发送定时器超时通知。
优选地,所述启动定时器请求还包含了与所述定时器相关的信息,所述定时器超时通知还包含了所述与所述定时器相关的信息。
优选地,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级,步骤C进一步包括:当所述云定时器向优先级高的网络实体发送所述定时器超时通知失败时,其再向优先级低的网络实体发送所述定时器超时通知。
优选地,所述通知者标识至少包含了所述处理的标识和所述处理所在的处理池的标识,所述处理的优先级高于所述处理池的优先级。
优选地,所述步骤A进一步包括:所述云定时器中的第一节点接收来自所述处理的启动定时器请求;在步骤A和步骤B之间还包括步骤:所述第一节点根据预设的算法和预设的冗余数N(N>1),确定所述云定时器中的启动所述定时器的N个节点;所述第一节点向所述N个节点发送启动定时器请求用于指示所述N个节点启动所述定时器;所述步骤B进一步包括:所述第一节点向所述处理发送启动定时器成功的确认消息;所述步骤C进一步包括:当所述N个节点中的第二节点的所述定时器的所述过期期限到达时,所述第二节点向其余N-1个节点发送取消定时器请求用于指示所述其余N-1个节点取消所述定时器;所述第二节点向所述通知者标识对应的网络实体发送所述定时器超时通知。
根据本发明的第二个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:所述处理向所述云定时器发送启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;响应于来自所述云定时器的启动定时器成功的确认消息,向所述云数据库发送添加数据请求,其中包含了要添加的数据的信息。
根据本发明的第三个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:所述处理接收来自所述云定时器的定时器超时通知,其中包含了与所述定时器相关的信息;根据所述与所述定时器相关的信息,所述处理向所述云数据库发送数据操作请求。
根据本发明的第四个方面,提供了一种为处理和数据相分离的系统提供定时功能的云定时器,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,其中,该云定时器至少包括一个第一节点和一个第二节点,所述第一节点用于接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;并且所述第一节点用于向所述处理发送启动定时器成功的确认消息;所述第二节点用于当所述定时器的所述过期期限到达时向所述通知者标识对应的网络实体发送定时器超时通知。
优选地,所述启动定时器请求还包含了与所述定时器相关的信息,所述定时器超时通知还包含了所述与所述定时器相关的信息。
优选地,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级,当所述第二节点向优先级高的网络实体发送所述定时器超时通知失败时,其再向优先级低的网络实体发送所述定时器超时通知。
优选地,所述通知者标识至少包含了所述处理的标识和所述处理所在的处理池的标识,所述处理的优先级高于所述处理池的优先级。
优选地,所述第一节点还用于:根据预设的算法和预设的冗余数N(N>1),确定所述云定时器中的启动所述定时器的N个节点;
向所述N个节点发送启动定时器请求用于指示所述N个节点启动所述定时器;所述第二节点为所述N个节点中的一个节点,其还用于:当所述第二节点的所述定时器的所述过期期限到达时,向其余N-1个节点发送取消定时器请求用于指示所述其余N-1个节点取消所述定时器。
根据本发明的第五个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的装置,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该装置包括:第一发送装置,用于所述处理向所述云定时器发送启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;第二发送装置,用于响应于来自所述云定时器的启动定时器成功的确认消息,向所述云数据库发送添加数据请求,其中包含了要添加的数据的信息。
根据本发明的第六个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的装置,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该装置包括:接收装置,用于接收来自所述云定时器的定时器超时通知,其中包含了与所述定时器相关的信息;第三发送装置,用于根据所述与所述定时器相关的信息,向所述云数据库发送数据操作请求。
本发明在处理和数据相分离的系统中新引入了云定时器从而实现定时功能,和现有技术相比,其具有以下优势:1)没有破坏Worker-State模型的设计原则,在处理侧不需要保存数据和定时器,使得处理可以更加专注于逻辑的处理,而无需额外增加关于定时器的辅助处理,而且在数据侧也没有增加复杂性。2)定时器的启动者可以指定定时器超时时的通知对象,实现起来非常灵活,而且也避免了定时器超时通知发送失败的情况,从而避免潜在的系统漏洞。3)定时器的启动者可以指定定时器超时通知中携带的信息,方便相关网元的后续处理。4)云定时器的设计采用了多节点的、冗余备份的原则,符合云计算环境的设计思想。5)对比由处理辅助实现的定时器,避免了定时器的迁移,从而提高了其精度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1(a)示出了传统的应用模型的示意图;
图1(b)示出了Worker-State模型的示意图。
图2示出根据本发明一个实施例的应用场景图;
图3示出根据本发明一个实施例的为处理和数据相分离的系统提供定时功能的过程示意图;
图4示出根据本发明一个实施例的在处理X中用于辅助提供定时功能的装置示意图;
图5示出根据本发明一个实施例的在处理Y中用于辅助提供定时功能的装置示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图2示出根据本发明一个实施例的应用场景图。该实施例示出了一个云计算环境中处理和数据相分离的系统。该系统包括一个处理池201、一个云定时器202和一个云数据库203。处理池201由至少一个处理组成,如图所示包含了处理1、处理2、…和处理P。所述云定时器由至少一个节点组成。
其中,云定时器202为本发明新引入的网络实体,通常,其是一个逻辑功能体,由多个节点构成的,这些节点是分布式的,而且这些节点具备的能力是相同的,即可以实现的功能是相同的。在云计算环境中,这些节点可以是虚拟机(Virtual Machine,VM)。出于可靠性的考虑,同一个定时器可以同时在多个节点启动,从而避免了单点故障。云定时器202是基于No-SQL数据库(即云数据库)设计的,所以云定时器202里的节点个数是可以动态调整的。
云定时器202是独立于处理池201和云数据库203的单独的实体。但是,由于其在设计上和云数据库类似,在实际操作中其也可以嵌入到云数据库203中。
图3示出根据本发明一个实施例的为处理和数据相分离的系统提供定时功能的过程示意图。
在该实施例中,会话S1在其存续期间有多个事物(Transaction),其中事务T1对应请求1,事务Tn对应请求n。处理X用来处理请求1,处理Y用来处理请求n。处理X和处理Y均在处理池201中。
云定时器202中包含了节点N1、节点N2、节点N3、节点N4和节点N5。这5个节点具备的能力是相同的。
该过程始于步骤S301。
在步骤S301中,处理X向云定时器202发送启动定时器请求,其中包含了一个定时器的标识Timer1、该定时器对应的过期期限和通知者标识。
这里所说的通知者指的是定时器Timer1超时时云定时器202应该通知的对象。可以看出,和现有技术不同的是,处理X在启动定时器时可以指定该定时器超时时应该通知的对象,这个对象即可以是处理X,也可以是其它实体。这样,定时器Timer1超时时云定时器202应该通知的对象可能不是最初启动该定时器Timer1的实体,实现起来非常灵活。
在另一个实施例中,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级。这样,当定时器Timer1超时时,云定时器202如果向优先级高的网络实体发送定时器超时通知失败时,其再向优先级低的网络实体发送定时器超时通知,从而降低了失败率。
在又一个实施例中,所述通知者标识至少包括了处理X的标识和处理X所在处理池201的标识,且处理X的优先级高于处理池201的优先级。这样,当定时器Timer1超时时,处理X已经不存在了,导致云定时器202向处理X发送定时器超时通知失败,云定时器202会再向处理池201发送定时器超时通知。
在再一个实施例中,云定时器202中的节点N1接收到上述启动定时器请求。然后,节点N1根据预先设置的算法和预先设置的冗余数N(N>1),确定启动该定时器Timer1的N个节点。
这里所述的算法可以是一致性Hash算法等。这里所述的冗余数N指的是在云定时器202中预设的同时启动一个定时器的数量。同时在多个节点上启动同一个定时器主要是为了避免单点故障,这在云计算环境中也是常用的方法。
在该实施例中,云定时器202中预设的算法为Hash算法,预设的冗余数N为3。节点N1根据Hash算法和冗余数3确定启动该定时器Timer1的3个节点为节点N2、节点N3和节点N4。
然后,在步骤S302中,节点N1分别向确定的这N个节点(即节点N2、节点N3和节点N4)发送启动定时器请求,用于指示节点N2、节点N3和节点N4启动定时器Timer1。节点N2、节点N3和节点N4收到该启动定时器请求后会分别启动该定时器Timer1。也就是说,节点N2、节点N3和节点N4会同时运行该定时器Timer1。
这N个节点均知晓同时运行该定时器Timer1的其余N-1个节点。
然后,在步骤S303中,云定时器202向处理X发送启动定时器成功的确认消息,具体的,云定时器202中的节点N1向处理X发送所述启动定时器成功的确认消息。
处理X在收到定时器成功启动的确认后,在步骤S304中,处理X向云数据库203发送添加数据请求,其中包含了处理X要添加到云数据库203的数据的信息。
过了一段时间后,定时器Timer1的上述过期期限到达。虽然节点N2、节点N3和节点N4是同时在运行该定时器Timer1,但由于接收到消息的时刻有先后,或者网络延时或者处理速度等原因,导致在这3个节点上运行的同一定时器Timer1总是会不完全同步,总有一个节点的定时器Timer1最先超时。
在步骤S305中,在这N个节点中定时器Timer1最先超时的节点N4向其余N-1个节点发送取消定时器请求,用于指示其余N-1个节点取消其上运行的定时器Timer1。如图所示,节点N4会向节点N2和节点N3发送取消定时器请求,节点N2和节点N3在收到上述消息后会取消其上运行的定时器Timer1。
然后,在步骤S306中,云定时器202向上述通知者标识对应的网络实体发送定时器超时通知。具体的,云定时器202中的节点N4向上述通知者标识对应的网络实体发送所述定时器超时通知。
在该实施例中,上述通知者标识包括了处理X的标识和处理X所在处理池201的标识,且处理X的优先级高于处理池201的优先级。而此时,处理X由于已经完成任务已被删除了,节点N4向处理X发送上述定时器超时通知失败,因此,节点N4会再向处理池201发送上述定时器超时通知。处理池201收到该通知后,会将该通知发给处理Y,该通知中包含了一个定时器标识即定时器Timer1的标识。
在又一个实施例中,在步骤S301中的启动定时器请求进一步还包括了与该定时器Timer1相关的信息。这些相关的信息可以是:通知对象地址、和该定时器Timer1对应的数据的关键字、定时器Timer1超时时被通知对象要执行的函数等。相应地,在步骤S306中的定时器超时通知还包含了上述与该定时器Timer1相关的信息。这样,定时器的启动者可以决定定时器超时时需要带回的信息。
处理Y在收到上述定时器超时通知后,得知定时器Timer1超时。
然后,在步骤S307中,处理Y会向云数据库203发送数据操作请求。根据定时器超时通知中包含的上述与该定时器Timer1相关的信息(比如和该定时器Timer1对应的数据的关键字)处理Y可以确定与定时器Timer1相关的数据,该请求用于对与定时器Timer1相关的数据进行操作,这些数据可以是步骤S304中处理X添加到云数据库203中的数据,这些操作包括但不限于检索、删除等。
有些情况下,比如请求1为SIP终端注册发起的Register消息,当处理Y收到定时器Timer1超时的通知时,其会通知终端,即请求n为Notify消息,然后,处理Y会直接删除处理X添加到云数据库203中的数据,
而有些情况下,比如请求1为SIP终端建立会话发起的Invite消息,当处理Y收到定时器Timer1超时的通知时,处理Y会检索处理X添加到云数据库203中的数据,然后,检测该会话是否还有效,即请求n为Update消息,处理Y向终端发送Update消息对该会话做心跳检测。
需要指出的是,虽然上述的实施例中节点N1、节点N2、节点N3、节点N4和节点N5完成的功能有所不同,但是每一个节点都具备相同的能力,这样可以大大避免单点故障的发生。对于同一个节点,在不同的事务处理中其实际完成的功能可能有所不同。
图4示出根据本发明一个实施例的在处理X中用于辅助提供定时功能的装置示意图。该装置400包括:第一发送装置401和第二发送装置402。
下面结合图2和图3详细描述该装置400的工作工程。
首先,第一发送装置401向云定时器202发送启动定时器请求,其中包含了一个定时器的标识Timer1、该定时器对应的过期期限和通知者标识。
这里所说的通知者指的是定时器Timer1超时时云定时器202应该通知的对象。可以看出,和现有技术不同的是,处理X在启动定时器时可以指定该定时器超时时应该通知的对象,这个对象即可以是处理X,也可以是其它实体。这样,定时器Timer1超时时云定时器202应该通知的对象可能不是最初启动该定时器Timer1的实体,实现起来非常灵活。
在另一个实施例中,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级。这样,当定时器Timer1超时时,云定时器202如果向优先级高的网络实体发送定时器超时通知失败时,其再向优先级低的网络实体发送定时器超时通知,从而降低了失败率。
在又一个实施例中,所述通知者标识至少包括了处理X的标识和处理X所在处理池201的标识,且处理X的优先级高于处理池201的优先级。这样,当定时器Timer1超时时,处理X已经不存在了,导致云定时器202向处理X发送定时器超时通知失败,云定时器202会再向处理池201发送定时器超时通知。
然后,第二发送装置402响应于来自云定时器202的启动定时器成功的确认消息,向云数据库203发送添加数据请求,其中包含了处理X要添加到云数据库203的数据的信息。
图5示出根据本发明一个实施例的在处理Y中用于辅助提供定时功能的装置示意图。该装置500包括:接收装置501和第三发送装置502。
下面结合图2和图3详细描述该装置500的工作工程。
首先,接收装置501收到来自云定时器202的定时器超时通知,其中包含了一个定时器标识即定时器Timer1的标识和与该定时器Timer1相关的信息。这些相关的信息可以是:通知对象地址、和该定时器Timer1对应的数据的关键字、定时器Timer1超时时被通知对象要执行的函数等。
处理Y在收到上述定时器超时通知后,得知定时器Timer1超时。
然后,第三发送装置502会向云数据库203发送数据操作请求。根据定时器超时通知中包含的上述与该定时器Timer1相关的信息(比如和该定时器Timer1对应的数据的关键字)处理Y可以确定与定时器Timer1相关的数据,该请求用于对与定时器Timer1相关的数据进行操作,这些数据可以是处理X添加到云数据库203中的数据,这些操作包括但不限于检索、删除等。
有些情况下,比如请求1为SIP终端注册发起的Register消息,当处理Y收到定时器Timer1超时的通知时,其会通知终端,即请求n为Notify消息,然后,处理Y会直接删除处理X添加到云数据库203中的数据,
而有些情况下,比如请求1为SIP终端建立会话发起的Invite消息,当处理Y收到定时器Timer1超时的通知时,处理Y会检索处理X添加到云数据库203中的数据,然后,检测该会话是否还有效,即请求n为Update消息,处理Y向终端发送Update消息对该会话做心跳检测。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (14)

1.一种在云定时器中为处理和数据相分离的系统提供定时功能的方法,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:
A.所述云定时器接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;
B.所述云定时器向所述处理发送启动定时器成功的确认消息;
C.当所述定时器的所述过期期限到达时,所述云定时器向所述通知者标识对应的网络实体发送定时器超时通知。
2.根据权利要求1所述的方法,其中,所述启动定时器请求还包含了与所述定时器相关的信息,所述定时器超时通知还包含了所述与所述定时器相关的信息。
3.根据权利要求1所述的方法,其中,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级,步骤C进一步包括:当所述云定时器向优先级高的网络实体发送所述定时器超时通知失败时,其再向优先级低的网络实体发送所述定时器超时通知。
4.根据权利要求3所述的方法,其中,所述通知者标识至少包含了所述处理的标识和所述处理所在的处理池的标识,所述处理的优先级高于所述处理池的优先级。
5.根据权利要求1或2或3或4所述的方法,其中,所述步骤A进一步包括:所述云定时器中的第一节点接收来自所述处理的启动定时器请求;
在步骤A和步骤B之间还包括步骤:
所述第一节点根据预设的算法和预设的冗余数N(N>1),确定所述云定时器中的启动所述定时器的N个节点;
所述第一节点向所述N个节点发送启动定时器请求用于指示所述N个节点启动所述定时器;
所述步骤B进一步包括:所述第一节点向所述处理发送启动定时器成功的确认消息;
所述步骤C进一步包括:
当所述N个节点中的第二节点的所述定时器的所述过期期限到达时,所述第二节点向其余N-1个节点发送取消定时器请求用于指示所述其余N-1个节点取消所述定时器;
所述第二节点向所述通知者标识对应的网络实体发送所述定时器超时通知。
6.一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:
所述处理向所述云定时器发送启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;
响应于来自所述云定时器的启动定时器成功的确认消息,向所述云数据库发送添加数据请求,其中包含了要添加的数据的信息。
7.一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:
所述处理接收来自所述云定时器的定时器超时通知,其中包含了与所述定时器相关的信息;
根据所述与所述定时器相关的信息,所述处理向所述云数据库发送数据操作请求。
8.一种为处理和数据相分离的系统提供定时功能的云定时器,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,其中,该云定时器至少包括一个第一节点和一个第二节点,
所述第一节点用于接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;
并且所述第一节点用于向所述处理发送启动定时器成功的确认消息;
所述第二节点用于当所述定时器的所述过期期限到达时向所述通知者标识对应的网络实体发送定时器超时通知。
9.根据权利要求8所述的云定时器,其中,所述启动定时器请求还包含了与所述定时器相关的信息,所述定时器超时通知还包含了所述与所述定时器相关的信息。
10.根据权利要求8所述的云定时器,其中,所述通知者标识包括至少一个网络实体的标识,每个网络实体对应不同的优先级,当所述第二节点向优先级高的网络实体发送所述定时器超时通知失败时,其再向优先级低的网络实体发送所述定时器超时通知。
11.根据权利要求8所述的云定时器,其中,所述通知者标识至少包含了所述处理的标识和所述处理所在的处理池的标识,所述处理的优先级高于所述处理池的优先级。
12.根据权利要求8或9或10或11所述的云定时器,其中,
所述第一节点还用于:
根据预设的算法和预设的冗余数N(N>1),确定所述云定时器中的启动所述定时器的N个节点;
向所述N个节点发送启动定时器请求用于指示所述N个节点启动所述定时器;
所述第二节点为所述N个节点中的一个节点,其还用于:
当所述第二节点的所述定时器的所述过期期限到达时,向其余N-1个节点发送取消定时器请求用于指示所述其余N-1个节点取消所述定时器。
13.一种在处理中为处理和数据相分离的系统辅助提供定时功能的装置,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该装置包括:
第一发送装置,用于所述处理向所述云定时器发送启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;
第二发送装置,用于响应于来自所述云定时器的启动定时器成功的确认消息,向所述云数据库发送添加数据请求,其中包含了要添加的数据的信息。
14.一种在处理中为处理和数据相分离的系统辅助提供定时功能的装置,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该装置包括:
接收装置,用于接收来自所述云定时器的定时器超时通知,其中包含了与所述定时器相关的信息;
第三发送装置,用于根据所述与所述定时器相关的信息,向所述云数据库发送数据操作请求。
CN201510639282.4A 2015-09-30 2015-09-30 一种用于提供定时功能的方法与设备 Expired - Fee Related CN106557522B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510639282.4A CN106557522B (zh) 2015-09-30 2015-09-30 一种用于提供定时功能的方法与设备
PCT/IB2016/001536 WO2017055927A1 (en) 2015-09-30 2016-09-28 Methods and apparatuses for providing timing functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510639282.4A CN106557522B (zh) 2015-09-30 2015-09-30 一种用于提供定时功能的方法与设备

Publications (2)

Publication Number Publication Date
CN106557522A true CN106557522A (zh) 2017-04-05
CN106557522B CN106557522B (zh) 2020-06-12

Family

ID=57233779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510639282.4A Expired - Fee Related CN106557522B (zh) 2015-09-30 2015-09-30 一种用于提供定时功能的方法与设备

Country Status (2)

Country Link
CN (1) CN106557522B (zh)
WO (1) WO2017055927A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107730126A (zh) * 2017-10-23 2018-02-23 山东浪潮通软信息科技有限公司 一种实现定时的方法及装置
CN110351223A (zh) * 2018-04-02 2019-10-18 腾讯科技(深圳)有限公司 定时提醒方法、装置和计算机程序介质
WO2022127302A1 (zh) * 2020-12-17 2022-06-23 中兴通讯股份有限公司 一种定时器系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510469B (zh) * 2019-01-31 2023-04-25 上海哔哩哔哩科技有限公司 一种消息处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014142358A1 (en) * 2013-03-15 2014-09-18 Ricoh Company, Limited Distribution control system, distribution control method, and computer-readable storage medium
US20150078237A1 (en) * 2010-12-27 2015-03-19 Microsoft Corporation Power management via coordination and selective operation of timer-related tasks
CN104601533A (zh) * 2013-10-31 2015-05-06 阿尔卡特朗讯 一种用于关闭Diameter连接的方法与设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150078237A1 (en) * 2010-12-27 2015-03-19 Microsoft Corporation Power management via coordination and selective operation of timer-related tasks
WO2014142358A1 (en) * 2013-03-15 2014-09-18 Ricoh Company, Limited Distribution control system, distribution control method, and computer-readable storage medium
CN104601533A (zh) * 2013-10-31 2015-05-06 阿尔卡特朗讯 一种用于关闭Diameter连接的方法与设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107730126A (zh) * 2017-10-23 2018-02-23 山东浪潮通软信息科技有限公司 一种实现定时的方法及装置
CN110351223A (zh) * 2018-04-02 2019-10-18 腾讯科技(深圳)有限公司 定时提醒方法、装置和计算机程序介质
CN110351223B (zh) * 2018-04-02 2021-09-17 腾讯科技(深圳)有限公司 定时提醒方法、装置和计算机程序介质
WO2022127302A1 (zh) * 2020-12-17 2022-06-23 中兴通讯股份有限公司 一种定时器系统及方法

Also Published As

Publication number Publication date
WO2017055927A1 (en) 2017-04-06
CN106557522B (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
JP5191062B2 (ja) ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム
CN114341792B (zh) 存储集群之间的数据分区切换
US9569517B1 (en) Fault tolerant distributed key-value storage
CN101989922B (zh) 用于恢复会话初始协议事务的方法和系统
US20190220361A1 (en) Monitoring Containers In A Distributed Computing System
JP6557323B2 (ja) データベース障害時のデータ記憶
CN106557522A (zh) 一种用于提供定时功能的方法与设备
JP2019516171A (ja) サービス処理方法、デバイス、及びシステム
CN109408590B (zh) 分布式数据库的扩容方法、装置、设备及存储介质
CN111314479A (zh) 一种数据处理方法和设备
CN109740381A (zh) 一种跨文件系统的权限控制方法、装置、设备及存储介质
US9614646B2 (en) Method and system for robust message retransmission
CN103823708B (zh) 虚拟机读写请求处理的方法和装置
US9935844B2 (en) Reducing internodal communications in a clustered system
CN106331081B (zh) 一种信息同步方法及装置
US8031637B2 (en) Ineligible group member status
JP2020184325A (ja) レプリカ処理方法、ノード、ストレージシステム、サーバ及び読み取り可能な記憶媒体
CN107516048B (zh) 一种控制分布式文件系统中文件访问的方法与设备
CN107025257A (zh) 一种事务处理方法及装置
CN106534227B (zh) 用于扩展分布式一致性服务的方法和设备
CN106341497A (zh) 数字id生成方法及装置
CN110471906B (zh) 数据库切换方法、装置及设备
CN112363980A (zh) 一种分布式系统的数据处理方法及装置
US11838207B2 (en) Systems for session-based routing
CN112698783A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200612

Termination date: 20200930