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

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

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种提供定时功能的技术。
技术介绍
在处理(processing)和数据(data)不相分离的传统应用中,计时器是一种本地资源。图1(a)示出了传统的应用模型的示意图。如图1(a)所示,在传统应用中,计时器和服务逻辑、状态信息一起嵌入到每个应用实例中。传统应用的弹性(elasticity)比较差,即很难改变应用的大小、位置等。而在云计算环境中,弹性是云应用必须具有的特性,没有弹性,应用将无法享受到云计算环境的各种优势。目前,有一种方案可以提高传统应用的弹性,即将传统的应用模型演进为Worker-State(工人-状态)模型。图1(b)示出了Worker-State模型的示意图。可以看到,在Worker-State模型中,处理和数据是分离的。传统应用中的状态信息(stateinformation)存储在具有弹性、可支持大数据的云数据库(clouddatabase)中,这里所说的状态信息不仅仅是狭义的和状态相关的信息,而是指广义上的所有的用户数据。而传统应用中的服务逻辑由worker(工人)来实现,所有的服务逻辑都被放在处理池(workerpool)中。这里所说的worker实际上就是处理。那么,传统应用中的计时器在这种Worker-State模型中应该怎么实现呢?现有技术中主要有两种在Worker-State模型中实现计时器的方案:第一种:在云数据库中实现当某一处理向云数据库中插入数据时,会对该数据设置一个到期间隔。当所述间隔到达时,该数据将会被自动删除。实现这种方案的云数据库又可分为两类:第一类:不向所述处理发送数据删除的通知消息当上述数据被删除时,云数据库不会向所述处理发送通知消息。Cassandra云数据库采用的就是这种方式。第二类:向所述处理发送数据删除的通知消息所述处理可以订阅数据删除事件,当该数据被删除时,云数据库会向所述处理发送通知消息。Redis云数据库采用的就是这种方式。这两类在云数据库中实现定时器的方法均存在不足。在Worker-State模型中,常常会存在这样的情形:处理需要得到定时器超时的通知,比如,在IMS系统中的S-CSCF(Serving-CallSessionControlFunction,服务呼叫会话控制功能)就需要得到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个节点取消所述定时器;所述第二节点向所述通知者标识对应的网络实体发送所述定时器超时通知。根据本专利技术的第二个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:所述处理向所述云定时器发送启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;响应于来自所述云定时器的启动定时器成功的确认消息,向所述云数据库发送添加数据请求,其中包含了要添加的数据的信息。根据本专利技术的第三个方面,提供了一种在处理中为处理和数据相分离的系统辅助提供定时功能的方法,所述系统包括一个处理池、一个云数据库和一个云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:所述处理接收来自所述云定时器的定时器超时通知,其中包含了与所述定时器相关的信息;根据所述与所述定时器相关的信息,所述处理向所述云数据库发送数据操作请求。根据本专利技术的第四个方面,提供了一种为处理和数据相分离的系统提供定时功能的云定时器,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个本文档来自技高网
...

【技术保护点】
一种在云定时器中为处理和数据相分离的系统提供定时功能的方法,所述系统包括一个处理池、一个云数据库和所述云定时器,所述处理池由至少一个处理组成,所述云定时器由至少一个节点组成,该方法包括以下步骤:A.所述云定时器接收来自一个处理的启动定时器请求,其中包含了一个定时器的标识、过期期限和通知者标识;B.所述云定时器向所述处理发送启动定时器成功的确认消息;C.当所述定时器的所述过期期限到达时,所述云定时器向所述通知者标识对应的网络实体发送定时器超时通知。

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

【专利技术属性】
技术研发人员:聂非王春蕾
申请(专利权)人:阿尔卡特朗讯
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1