一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

定时器控制方法及系统、可读存储介质与流程

2021-12-14 22:47:00 来源:中国专利 TAG:


1.本发明涉及船舶技术领域,具体而言,涉及一种定时器控制方法及系统、可读存储介质。


背景技术:

2.船舶自动识别系统ais是现代广泛使用的、有效的助航设备。其研制基础目的是为船舶提供有效的避碰措施。通过在船舶上安装ais设备,工作人员可直观看到周边环境及附近船舶的运行情况。监控系统会依据本船及周边船舶的航向、速度等信息对可能出现的危险情况进行预警。
3.如上描述的ais系统,是以自我为中心的监控需求进行设计的。而在更高层次上,是需要在全局视角进行审视的,且需要在全局和自我之间进行角色切换。此方案的涉及的分布式服务,就是对这一需求的技术实现方案。此服务承载的功能1)以所选船舶为中心进行监控。2)全局的船舶监控。第一个功能的具体内容,在ais设备中已有完整体现,但工作人员不可能随时去每条船上进行感受和监控。第二个功能已有较多成熟产品,如船讯网。要满足条件1)的功能需求,就需要一个高效的数据服务进行支撑。
4.为了满足高性能的访问需求,上述数据服务必须要提供计算和内存两种能力。1)以每条船舶为中心,计算和产生各类预警数据。2)存储每条船舶预警及状态数据。单个服务器很难支撑上述两个能力要求,尤其是计算能力。
5.通过分布式服务设计,上述两个问题就比较容易解决。以区域为船舶对象的划分规则,不同区域船舶归属到不同服务器进行管理。计算和存储能力得到扩展,性能需求得以满足。
6.在船舶预警功能的实现逻辑中,一般都涉及定时器的使用,如定时检测周边船舶运行情况、在多长时间内不远离目标船舶就进行告警等。传统的定时管理器,其生命周期和作用域从属于单个服务内。意味着船舶对象因航行产生归属服务器变化后,定时器就会失效。
7.已有的解决方案中,一般是在业务对象产生服务迁移后,相关定时器数据随之迁移,定时器进行再次创建。设计上较复杂,实现上不统一。


技术实现要素:

8.本发明旨在至少解决或者改善现有技术中存在的技术问题之一。
9.为此,本发明第一方面提供了一种定时器控制方法。
10.本发明第二方面提供了一种定时器控制方法。
11.本发明第三方面提供了一种定时器控制方法。
12.本发明第四方面提供了一种定时器控制系统。
13.本发明第五方面提供了一种定时器控制系统。
14.本发明第六方面提供了一种定时器控制系统。
15.本发明第七方面提供了一种定时器控制系统。
16.本发明第八方面提供了一种可读存储介质。
17.有鉴于此,根据本发明的第一方面,提出了一种定时器控制方法,包括:接收定时器代理发送的定时器信息和网络地址或定时器信息;当接收到定时器信息和网络地址时,根据定时器信息确定业务对象id,并根据业务对象id和网络地址对对应的业务对象的网络地址进行更新;当接收到定时器信息,确定定时器信息的信息类型;当信息类型为定时器通知信息时,将定时器信息包括的业务对象id和定时器id进行绑定;当信息类型为定时任务增删信息时,根据定时器信息包括的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。
18.本发明提供的定时器控制方法,用于定时器服务器。定时器服务器与定时器代理进行交互,通过定时器代理对业务对象的定时器进行控制。当接收到定时器代理发送的网络地址和定时器信息时,说明业务对象发生了迁移。通过确定定时器信息中的业务对象id,将业务对象id与上述网络地址进行绑定,实现对对应业务对象的网络地址的更新。当仅接收到定时器信息,则进一步确定定时器信息的信息类型,当确定信息类型为定时器通知信息时,即业务对象创建定时器的通知信息,则对定时器信息中的业务对象id和定时器id进行绑定;当确定信息类型为定时任务增删信息时,则根据定时信息中的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。本发明提供的定时器控制方法,基于定时器服务器、定时器代理及业务对象的系统架构,对定时器进行控制,定时器服务器独立于业务服务存在,业务对象在不同业务服务器间的移动不会导致定时器的失效,由此可以避免传统定时器中,因在定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题,并且可以降低业务服务的资源损耗。并可以异步响应和处理定时器信息,解决了定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题。
19.另外,传统定时器只能在自身系统内部再次开发实现,本定时器控制方法则提供了为第三方直接提供定时服务的能力。
20.其中,业务对象的迁移是指业务对象在业务服务器间的移动,具体是指业务对象从一个业务服务器移动到另一个业务服务器。
21.根据本发明的上述定时器控制方法,还可以具有以下技术特征:在上述技术方案中,还包括:根据时间信息判断定时任务是否需要触发;当判定定时任务需要触发时,生成定时触发信息;根据定时任务与定时器id的对应关系确定对应的定时器id;根据定时器id确定对应的业务对象id,并根据与业务对象id对应的网络地址确定定时器代理id;将定时触发信息发送给与定时器代理id对应的定时器代理。
22.在该技术方案中,时间信息即定时器中定时任务的定时时间,故而根据时间即可判断定时任务是否到达触发时间,并在判定定时任务需要触发时,生成定时触发信息。同时,根据定时任务与定时器id的对应关系确定出该定时任务所属业务对象,进一步根据业务对象id对应的网络地址确定出定时器代理的定时器代理id,从而可将上述定时触发信息发送给对应的定时器代理,使定时器代理通知到对应的业务对象,从而确保定时任务顺利触发。
23.定时器服务器在一个时隙可以存在多个定时器,这些定时器以list或vector等列
表形式的数据结构进行组织。当时间走到时隙2时,定时管理器需要遍历这个列表,触发定时器。若定时器回调处理逻辑中存在再次添加或删除定时器的逻辑,必然导致列表元素引用地址发生变化。此时,当前用来遍历列表的指针就不能继续使用,否则存在访问异常的严重问题。
24.本发明采用的是异步处理的机制,定时器触发后的逻辑里再次新增、删除定时器操作只会在定时器服务器下一个时间片的处理中才会进行,不会影响当前定时器列表的访问,可以避免上面访问异常的问题。
25.本发明第二方面提供了一种定时器控制方法,包括:接收业务对象发送的定时器信息,其中,定时器信息包括定时器信息的信息类型;判断信息类型是否为业务对象迁移信息;当判断结果为是时,确定业务对象迁移后的业务服务器的网络地址,并将网络地址和定时器信息发送给定时器服务器;当判断结果为否时,将定时器信息转发给定时器服务器。
26.本发明提供的定时器控制方法,用于定时器代理。定时器代理是业务对象与定时器服务器的桥梁。当接收业务对象发送的定时器信息时,首先判断定时器信息的信息类型是否为业务对象迁移信息,若是,则需确定业务对象迁移后的业务服务器的网络地址,并将该网络地址与定时器信息发送给定时器服务器。否则,无需对定时器信息进行处理,直接将定时器信息转发给定时器服务器即可。这样,对于业务对象而言,在发生迁移时,无需考虑业务服务器的网络地址,对于定时器代理而言,仅需对信息类型进行一次判断,无需其他数据处理,从而可以提高定时处理效率,节能网络资源。
27.具体地,可将定时器代理部署在业务服务器上,当业务对象迁移到该业务服务器时,该业务服务器的网络地址即是业务对象发生迁移后的业务服务器的网络地址。
28.本发明第三方面提供了一种定时器控制方法,包括:根据业务运行逻辑生成定时器信息;其中,定时器信息包括以下任一项或其组合:定时器信息的信息类型、业务对象id、定时器id、新增或删除定时任务信息、时间信息。将定时器信息发送至定时器代理。
29.本发明提供的定时器控制方法,用于业务对象。定时器的创建完全由业务对象根据运行逻辑自动触发,并且定时时间也由业务对象确定。定时器服务器只需要根据业务对象的需要,对定时时间进行监控,并在指定时刻点通知它定时时间到了即可。当业务对象发生迁移时,无需其考虑迁移前后的网络地址,这些仅需定时器代理处理即可,定时器代理可获取其迁移后的业务服务器的网络地址。当业务对象需要新增或删除定时任务时,将定时器id及对应的新增和删除任务的需求信息发送给定时器代理,通过定时器代理与定时器服务器进行交互,以使定时器服务器对其定时需求进行控制。
30.在上述任一技术方案中,还包括:接收定时器代理转发的定时器触发信息,并对定时器触发信息进行响应。
31.在该技术方案中,通过接收定时器代理转发的定时器触发信息,并对其进行响应,实现定时器触发。
32.本发明第四方面提供了一种定时器控制系统,包括:存储器,存储有程序或指令;处理器,处理器执行程序或指令时实现如上述技术方案的定时器控制方法的步骤。
33.本发明提供的定时器控制系统包括存储器和处理器。其中,存储器存储有程序或指令,处理器执行上述程序或指令时,能够实现如上述任一技术方案的定时器控制方法的步骤。因此,该定时器控制系统具有该定时器控制方法的全部有益技术效果,在此不再一一
论述。
34.本发明第五方面提供了一种定时器控制系统,包括:接收单元,用于接收定时器代理发送的定时器信息和网络地址或定时器信息;迁移单元,用于当接收到定时器信息和网络地址时,根据定时器信息确定业务对象id,并根据业务对象id和网络地址对对应的业务对象的网络地址进行更新;确定单元,用于当接收到定时器信息,确定定时器信息的信息类型;创建单元,用于当信息类型为定时器通知信息时,将定时器信息包括的业务对象id和定时器id进行绑定;处理单元,用于当信息类型为定时任务增删信息时,根据定时器信息包括的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。
35.本发明提供的定时器控制系统,用于定时器服务器。定时器服务器与定时器代理进行交互,通过定时器代理对业务对象的定时器进行控制。当接收单元接收到定时器代理发送的网络地址和定时器信息时,说明业务对象发生了迁移。通过确定定时器信息中的业务对象id,将业务对象id与上述网络地址进行绑定,实现对对应业务对象的网络地址的更新。当仅接收到定时器信息,则确定单元需进一步确定定时器信息的信息类型,当确定信息类型为定时器通知信息时,即业务对象创建定时器的通知信息,则通过创建单元对定时器信息中的业务对象id和定时器id进行绑定;当确定信息类型为定时任务增删信息时,则通过处理单元根据定时信息中的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。本发明提供的定时器控制系统,基于定时器服务器、定时器代理及业务对象的系统架构,对定时器进行控制,定时器服务器独立于业务服务存在,业务对象在不同业务服务器间的移动不会导致定时器的失效,由此可以避免传统定时器中,因在定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题,并且可以降低业务服务的资源损耗。并可以异步响应和处理定时器信息,解决了定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题。
36.另外,传统定时器只能在自身系统内部再次开发实现,本定时器控制方法则提供了为第三方直接提供定时服务的能力。
37.其中,业务对象的迁移是指业务对象在业务服务器间的移动,具体是指业务对象从一个业务服务器移动到另一个业务服务器。
38.本发明第六方面提供了一种定时器控制系统,包括:接收单元,用于接收业务对象发送的定时器信息,其中,定时器信息包括定时器信息的信息类型;判断单元,用于判断信息类型是否为业务对象迁移信息;迁移单元,用于当判断结果为是时,确定业务对象迁移后的业务服务器的网络地址,并将网络地址和定时器信息发送给定时器服务器;转发单元,当判断结果为否时,将定时器信息转发给定时器服务器。
39.本发明提供的定时器控制系统,用于定时器代理。定时器代理是业务对象与定时器服务器的桥梁。当接收单元接收业务对象发送的定时器信息时,首先通过判断单元判断定时器信息的信息类型是否为业务对象迁移信息,若是,则迁移单元需确定业务对象迁移后的业务服务器的网络地址,并将该网络地址与定时器信息发送给定时器服务器。否则,无需对定时器信息进行处理,直接通过转发单元将定时器信息转发给定时器服务器即可。这样,对于业务对象而言,在发生迁移时,无需考虑业务服务器的网络地址,对于定时器代理而言,仅需对信息类型进行一次判断,无需其他数据处理,从而可以提高定时处理效率,节
能网络资源。
40.具体地,可将定时器代理部署在业务服务器上,当业务对象迁移到该业务服务器时,该业务服务器的网络地址即是业务对象发生迁移后的业务服务器的网络地址。
41.本发明第七方面提供了一种定时器控制系统,包括:生成单元,用于根据业务运行逻辑生成定时器信息;其中,定时器信息携带有定时器信息的信息类型标识,定时器信息包括以下任一项或其组合:业务对象id、定时器id、新增或删除定时任务信息、时间信息;发送单元,用于将定时器信息发送至定时器代理。
42.本发明提供的定时器控制系统,用于业务对象。定时器的创建完全由业务对象根据运行逻辑自动触发,并且定时时间也由业务对象确定。定时器服务器只需要根据业务对象的需要,对定时时间进行监控,并在指定时刻点通知它定时时间到了即可。当业务对象发生迁移时,无需其考虑迁移前后的网络地址,这些仅需定时器代理处理即可,定时器代理可获取其迁移后的业务服务器的网络地址。当业务对象需要新增或删除定时任务时,将定时器id及对应的新增和删除任务的需求信息发送给定时器代理,通过定时器代理与定时器服务器进行交互,以使定时器服务器对其定时需求进行控制。
43.本发明第八方面提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述技术方案的定时器控制方法的步骤。
44.本发明提出的可读存储介质,其存储的程序或指令被执行时,可实现如上述技术方案的定时器控制方法的步骤。因此,具有上述定时器控制方法的全部有益效果,在此不再一一论述。
45.本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
46.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1是本发明一个实施例的定时器控制方法的流程示意图之一;图2是本发明一个实施例的定时器控制方法的流程示意图之二;图3是本发明一个实施例的定时器控制方法的流程示意图之三;图4是本发明一个实施例的定时器控制方法的流程示意图之四;图5是本发明一个实施例的定时器控制方法的流程示意图之五;图6是本发明一个实施例的定时器控制系统的示意框图之一;图7是本发明一个实施例的定时器控制系统的示意框图之二;图8是本发明一个实施例的定时器控制系统的示意框图之三;图9是本发明一个实施例的定时器控制系统的示意框图之四;图10是本发明一个实施例的定时器控制系统的系统架构图;图11是本发明一个实施例的定时器控制系统中的业务服务器的迁移示意图;图12是本发明一个实施例的定时器控制方法的业务对象的定时注册示意图;图13是本发明一个实施例的定时器控制方法的新增定时任务示意图。
具体实施方式
47.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
48.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
49.下面参照图1至图13描述根据本发明一些实施例所述定时器控制方法及系统、可读存储介质。
50.实施例一图1是本发明一个实施例的定时器控制方法的流程示意图之一。其中,该定时器控制方法包括:步骤102,接收定时器代理发送的定时器信息和网络地址或定时器信息;步骤104,当接收到定时器信息和网络地址时,根据定时器信息确定业务对象id并根据业务对象id和网络地址对对应的业务对象的网络地址进行更新;步骤106,当接收到定时器信息,确定定时器信息的信息类型;步骤108,当信息类型为定时器通知信息时,将定时器信息包括的业务对象id和定时器id进行绑定;步骤110,当信息类型为定时任务增删信息时,根据定时器信息包括的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。
51.本实施例提供的定时器控制方法,用于定时器服务器。定时器服务器与定时器代理进行交互,通过定时器代理对业务对象的定时器进行控制。当接收到定时器代理发送的网络地址和定时器信息时,说明业务对象发生了迁移。通过确定定时器信息中的业务对象id,将业务对象id与上述网络地址进行绑定,实现对对应业务对象的网络地址的更新。当仅接收到定时器信息,则进一步确定定时器信息的信息类型,当确定信息类型为定时器通知信息时,即业务对象创建定时器的通知信息,则对定时器信息中的业务对象id和定时器id进行绑定;当确定信息类型为定时任务增删信息时,则根据定时信息中的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。本实施例提供的定时器控制方法,基于定时器服务器、定时器代理及业务对象的系统架构,对定时器进行控制,定时器服务器独立于业务服务存在,业务对象在不同业务服务器间的移动不会导致定时器的失效,由此可以避免传统定时器中,因在定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题,并且可以降低业务服务的资源损耗。并可以异步响应和处理定时器信息,解决了定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题。
52.另外,传统定时器只能在自身系统内部再次开发实现,本定时器控制方法则提供了为第三方直接提供定时服务的能力。
53.其中,业务对象的迁移是指业务对象在业务服务器间的移动,具体是指业务对象从一个业务服务器移动到另一个业务服务器。
54.实施例二
图2是本发明一个实施例的定时器控制方法的流程示意图之二。其中,该定时器控制方法包括:步骤202,接收定时器代理发送的定时器信息和网络地址或定时器信息;步骤204,当接收到定时器信息和网络地址时,根据定时器信息确定业务对象id,并根据业务对象id和网络地址对对应的业务对象的网络地址进行更新;步骤206,当接收到定时器信息,确定定时器信息的信息类型;步骤208,当信息类型为定时器通知信息时,将定时器信息包括的业务对象id和定时器id进行绑定;步骤210,当信息类型为定时任务增删信息时,根据定时器信息包括的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系;步骤212,根据时间信息判断定时任务是否需要触发;当判断结果为是时,执行步骤214;步骤214,生成定时触发信息;步骤216,根据定时任务与定时器id的对应关系确定对应的定时器id;步骤218,根据定时器id确定对应的业务对象id,并根据与业务对象id对应的网络地址确定定时器代理id;步骤220,将定时触发信息发送给与定时器代理id对应的定时器代理。
55.在该实施例中,时间信息即定时器中定时任务的定时时间,故而根据时间即可判断定时任务是否到达触发时间,并在判定定时任务需要触发时,生成定时触发信息。同时,根据定时任务与定时器id的对应关系确定出该定时任务所属业务对象,进一步根据业务对象id对应的网络地址确定出定时器代理的定时器代理id,从而可将上述定时触发信息发送给对应的定时器代理,使定时器代理通知到对应的业务对象,从而确保定时任务顺利触发。
56.定时器服务器在一个时隙可以存在多个定时器,这些定时器以list或vector等列表形式的数据结构进行组织。 当时间走到时隙2时,定时管理器需要遍历这个列表,触发定时器。若定时器回调处理逻辑中存在再次添加或删除定时器的逻辑,必然导致列表元素引用地址发生变化。此时,当前用来遍历列表的指针就不能继续使用,否则存在访问异常的严重问题。
57.本实施例采用的是异步处理的机制,定时器触发后的逻辑里再次新增、删除定时器/定时任务操作只会在定时器服务器下一个时间片的处理中才会进行,不会影响当前定时器列表的访问,可以避免上面访问异常的问题。
58.实施例三图3是本发明一个实施例的定时器控制方法的流程示意图之三。其中,该定时器控制方法包括:步骤302,接收业务对象发送的定时器信息,其中,定时器信息包括定时器信息的信息类型;步骤304,判断信息类型是否为业务对象迁移信息;步骤306,当判断结果为是时,确定业务对象迁移后的业务服务器的网络地址,并将网络地址和定时器信息发送给定时器服务器;步骤308,当判断结果为否时,将定时器信息转发给定时器服务器。
59.本实施例提供的定时器控制方法,用于定时器代理。定时器代理是业务对象与定时器服务器的桥梁。当接收业务对象发送的定时器信息时,首先判断定时器信息的信息类型是否为业务对象迁移信息,若是,则需确定业务对象迁移后的业务服务器的网络地址,并将该网络地址与定时器信息发送给定时器服务器。否则,无需对定时器信息进行处理,直接将定时器信息转发给定时器服务器即可。这样,对于业务对象而言,在发生迁移时,无需考虑业务服务器的网络地址,对于定时器代理而言,仅需对信息类型进行一次判断,无需其他数据处理,从而可以提高定时处理效率,节能网络资源。
60.具体地,可将定时器代理部署在业务服务器上,当业务对象迁移到该业务服务器时,该业务服务器的网络地址即是业务对象发生迁移后的业务服务器的网络地址。
61.实施例四图4是本发明一个实施例的定时器控制方法的流程示意图之四。其中,该定时器控制方法包括:步骤402,根据业务运行逻辑生成定时器信息;步骤404,将定时器信息发送至定时器代理;其中,定时器信息携带有定时器信息的信息类型标识,定时器信息包括以下任一项或其组合:业务对象id、定时器id、新增或删除定时任务信息、时间信息。
62.本实施例提供的定时器控制方法,用于业务对象。定时器的创建完全由业务对象根据运行逻辑自动触发,并且定时时间也由业务对象确定。定时器服务器只需要根据业务对象的需要,对定时时间进行监控,并在指定时刻点通知它定时时间到了即可。当业务对象发生迁移时,无需其考虑迁移前后的网络地址,这些仅需定时器代理处理即可,定时器代理可获取其迁移后的业务服务器的网络地址。当业务对象需要新增或删除定时任务时,将定时器id及对应的新增和删除任务的需求信息发送给定时器代理,通过定时器代理与定时器服务器进行交互,以使定时器服务器对其定时需求进行控制。
63.实施例五图5是本发明一个实施例的定时器控制方法的流程示意图之五。其中,该定时器控制方法包括:步骤502,根据业务运行逻辑生成定时器信息;步骤504,将定时器信息发送至定时器代理;步骤506,接收定时器代理转发的定时器触发信息,并对定时器触发信息进行响应。
64.其中,定时器信息包括以下任一项或其组合:创建定时器的通知信息、业务对象的迁移通知信息、新增或删除定时任务的需求信息,其中,定时任务的需求信息包括定时器的定时时间。
65.在该实施例中,通过接收定时器代理转发的定时器触发信息,并对其进行响应,实现定时器触发。
66.实施例六图6是本发明一个实施例的定时器控制系统600的示意框图之一。其中,该定时器控制系统600包括:存储器602,存储有程序或指令;
处理器604,处理器604执行程序或指令时实现如上述实施例的定时器控制方法的步骤。
67.本实施例提供的定时器控制系统600包括存储器602和处理器604。其中,存储器602存储有程序或指令,处理器604执行上述程序或指令时,能够实现如上述任一实施例的定时器控制方法的步骤。因此,该定时器控制系统600具有该定时器控制方法的全部有益技术效果,在此不再一一论述。
68.实施例七图7是本发明一个实施例的定时器控制系统700的示意框图之二。其中,该定时器控制系统700包括:接收单元702,用于接收定时器代理发送的定时器信息和网络地址或定时器信息;迁移单元704,用于当接收到定时器信息和网络地址时,根据定时器信息确定业务对象id,并根据业务对象id和网络地址对对应的业务对象的网络地址进行更新;确定单元706,用于当接收到定时器信息,确定定时器信息的信息类型;创建单元,用于当信息类型为定时器通知信息时,将定时器信息包括的业务对象id和定时器id进行绑定;处理单元708,用于当信息类型为定时任务增删信息时,根据定时器信息包括的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。
69.本实施例提供的定时器控制系统700,用于定时器服务器。定时器服务器与定时器代理进行交互,通过定时器代理对业务对象的定时器进行控制。当接收单元702接收到定时器代理发送的网络地址和定时器信息时,说明业务对象发生了迁移。通过迁移单元704确定定时器信息中的业务对象id,将业务对象id与上述网络地址进行绑定,实现对对应业务对象的网络地址的更新。当仅接收到定时器信息,则确定单元706需进一步确定定时器信息的信息类型,当确定信息类型为定时器通知信息时,即业务对象创建定时器的通知信息,则通过处理单元708对定时器信息中的业务对象id和定时器id进行绑定;当确定信息类型为定时任务增删信息时,则通过处理单元根据定时信息中的定时器id、增删信息及时间信息新增或删除定时任务,并建立定时任务与定时器id的对应关系。本发明提供的定时器控制系统700,基于定时器服务器、定时器代理及业务对象的系统架构,对定时器进行控制,定时器服务器独立于业务服务存在,业务对象在不同业务服务器间的移动不会导致定时器的失效,由此可以避免传统定时器中,因在定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题,并且可以降低业务服务的资源损耗。并可以异步响应和处理定时器信息,解决了定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题。
70.另外,传统定时器只能在自身系统内部再次开发实现,本定时器控制方法则提供了为第三方直接提供定时服务的能力。
71.其中,业务对象的迁移是指业务对象在业务服务器间的移动,具体是指业务对象从一个业务服务器移动到另一个业务服务器。
72.实施例八图8是本发明一个实施例的定时器控制系统800的示意框图之三。其中,该定时器控制系统800包括:
接收单元802,用于接收业务对象发送的定时器信息,其中,定时器信息包括定时器信息的信息类型;判断单元804,用于判断信息类型是否为业务对象迁移信息;迁移单元806,用于当判断结果为是时,确定业务对象迁移后的业务服务器的网络地址,并将网络地址和定时器信息发送给定时器服务器;转发单元808,当判断结果为否时,将定时器信息转发给定时器服务器。
73.本实施例提供的定时器控制系统800,用于定时器代理。定时器代理是业务对象与定时器服务器的桥梁。当接收单元802接收业务对象发送的定时器信息时,首先通过判断单元804判断定时器信息的信息类型是否为业务对象迁移信息,若是,则迁移单元806需确定业务对象迁移后的业务服务器的网络地址,并将该网络地址与定时器信息发送给定时器服务器。否则,无需对定时器信息进行处理,直接通过转发单元808将定时器信息转发给定时器服务器即可。这样,对于业务对象而言,在发生迁移时,无需考虑业务服务器的网络地址,对于定时器代理而言,仅需对信息类型进行一次判断,无需其他数据处理,从而可以提高定时处理效率,节能网络资源。
74.具体地,可将定时器代理部署在业务服务器上,当业务对象迁移到该业务服务器时,该业务服务器的网络地址即是业务对象发生迁移后的业务服务器的网络地址。
75.实施例九图9是本发明一个实施例的定时器控制系统900的示意框图之四。其中,该定时器控制系统900包括:生成单元902,用于根据业务运行逻辑生成定时器信息;发送单元904,用于将定时器信息发送至定时器代理;其中,定时器信息携带有定时器信息的信息类型标识,定时器信息包括以下任一项或其组合:业务对象id、定时器id、新增或删除定时任务信息、时间信息。
76.本实施例提供的定时器控制系统900,用于业务对象。定时器的创建完全由业务对象根据运行逻辑自动触发,并且定时时间也由业务对象确定。定时器服务器只需要根据业务对象的需要,对定时时间进行监控,并在指定时刻点通知它定时时间到了即可。当业务对象发生迁移时,无需其考虑迁移前后的网络地址,这些仅需定时器代理处理即可,定时器代理可获取其迁移后的业务服务器的网络地址。当业务对象需要新增或删除定时任务时,将定时器id及对应的新增和删除任务的需求信息发送给定时器代理,通过定时器代理与定时器服务器进行交互,以使定时器服务器对其定时需求进行控制。
77.实施例十本实施例提供了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述实施例的定时器控制方法的步骤。
78.本实施例提出的可读存储介质,其存储的程序或指令被执行时,可实现如上述实施例的定时器控制方法的步骤。因此,具有上述定时器控制方法的全部有益效果,在此不再一一论述。
79.实施例十一本实施例提供了一种定时器控制系统,如图10所示,定时器控制系统的系统架构由三部分构成,timer管理器(即定时器服务器)、proxy管理器(代理管理器)、timerproxy客
户端(定时器代理)。
80.proxy管理器管理多个业务服务器的定时器代理。为保证消息传送效率,采用经典的server

client模式,管理器与业务服务器的proxy客户端保持长连接。网络timer管理器在服务器端实现传统的定时器方法
‑‑
定时器轮实现方式。与传统定时管理器不同,此管理器维护了定时器的使用方(业务对象)id及其代理地址。timerproxy客户端是信息交互的桥梁。业务对象通过此proxy可方便的进行定时器的使用操作,就像使用传统本地timer管理器一样。timerproxy在处理网络定时器的定时通知时,要根据通知中附带的业务对象id找到业务对象引用,并触发器定时任务。
81.业务服务器在启动时,向网络timer管理器通知和注册本地timerproxy。业务对象通过本地timerproxy向网络定时器服务添加和删除定时任务,并且业务对象在业务服务器间产生迁移时,也通过它告知网络timer管理器。如图11所示,业务对象b由服务器a迁移到服务器b。业务对象与网络定时管理器的交互是异步方式。timer管理器在检测到定时器触发后,发送定时通知消息到业务对象。业务对象需要有处理异步消息的能力,在处理异步消息的逻辑中响应和处理定时通知。添加、删除和响应定时通知的时序如图12、图13所示。
82.网络定时管理器使用流程:1)给定时器代理配置网络定时器网络地址。
83.2)启动定时器代理。
84.3)各业务对象获取定时器代理,进行定时器的添加、删除和自身的迁移工作。
85.4)各业务对象响应定时通知,处理定时任务。
86.在业务系统规则较复杂时,存在定时任务的处理逻辑中再次添加或删除定时器的逻辑。传统的定时管理器在处理上述逻辑时,存在引用访问异常的情况。
87.定时器管理器在时隙2存在多个定时器,这些定时器以list或vector等列表形式的数据结构进行组织。当时间走到时隙2时,定时管理器需要遍历这个列表,触发定时器。若定时器回调处理逻辑中存在再次添加或删除定时器的逻辑,必然导致列表元素引用地址发生变化。此时,当前用来遍历列表的指针就不能继续使用,否则存在访问异常的严重问题。
88.本实施例的实现的是网络定时服务器,采用异步处理的机制对定时器信息进行处理,定时器触发后的逻辑里再次添加、删除定时器操作只会在网络定时服务器器下一个时间片的处理中才会进行,不会影响当前定时器列表的访问。
89.本实施例提供的定时器控制方法及系统所能实现的有益技术效果:1) 网络定时管理器独立于业务服务存在,降低了业务服务的资源损耗;2) 网络定时器的异步实现方式,天然解决了定时事件处理逻辑中再次添加\移除定时器,导致定时管理器异常的问题;3) 传统定时器只能在自身系统内部再次开发实现,此方案则提供了为第三方直接提供定时服务的能力。
90.在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
91.在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
92.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献