一种事件处理的方法、服务器及系统技术方案

技术编号:19011558 阅读:45 留言:0更新日期:2018-09-22 10:58
本发明专利技术实施例提供了一种事件处理的方法、服务器及系统,其中所述方法包括:接收下游系统发送的事件信息,其中,所述事件信息包括事件标识;如果在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息;将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中。本发明专利技术实施例可以使得事件状态信息不存在任何一台上游节点中,而是统一存储在共享缓存中,实现了事件状态信息与上游节点的分离,使得本发明专利技术实施例能够应用于所有场景的状态信息。

【技术实现步骤摘要】
一种事件处理的方法、服务器及系统
本专利技术涉及电话数据处理领域,特别是涉及一种事件处理的方法、服务器及系统。
技术介绍
为了提升整体应用的可靠性,提升系统的并发性能,在状态服务中,现有技术通常采用状态节点通讯粘性或者主备服务模式进行状态迁移,但上述两种方式分别存在以下不足:针对状态节点通讯粘性的方式,状态节点分发一般是根据某一个特定的属性值做hash取余算法,唯一命中某一服务节点,而hash取余算法的分母就是应用节点的数量,所以在新增或减少应用节点时,对hash取余算法都有影响,使得节点无法扩容。另一方面,由于节点的数据保持在服务器的内存中,数据由节点本身维护,当应用节点故障时,内存数据随即消失,无法恢复。针对主备服务模式的方式,通讯节点只在主服务上进行状态维护,当主节点出现故障时,备份节点立即启用,这种方案只能维持简单的场景状态逻辑,当遇上复杂的场景时,状态无法变更。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种事件处理的方法、服务器及系统。为了解决上述问题,本专利技术实施例公开了一种事件处理的方法,所述方法包括:接收下游系统发送的事件信息,其中,所述事件信息包括事件标识;如果在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息;将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中。优选地,所述事件标识包括业务对象标识以及事件序号,在所述在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息之前,还包括:在共享缓存数据库中查找所述业务对象标识以及事件序号;若均查找到所述业务对象标识以及所述事件序号,则判定所述事件标识查找成功;若查找到所述业务对象标识但没有查找到所述事件序号,或者,均没有查找到所述业务对象标识以及所述事件序号,则判定所述事件标识查找失败。优选地,所述将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中,包括:若均没有查找到所述业务对象标识以及所述事件序号,则将所述业务对象标识作为主键,所述事件序号以及所述事件状态信息作为所述主键对应的值,写入所述共享缓存数据库中;若查找到所述业务对象标识但没有查找到所述事件序号,则将所述事件序号以及所述事件状态信息覆盖所述业务对象标识下的原有记录。优选地,所述方法还包括:若在预设的共享缓存数据库中查找到所述事件标识,或者,在所述将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中以后,则向所述下游系统返回处理完成信息。优选地,在所述接收下游系统发送的事件信息的步骤之前,所述方法还包括:向下游系统发送订阅消息。本专利技术实施例还公开了一种事件处理的方法,所述方法包括:向第一上游节点发送事件信息,其中,所述事件信息包括事件标识;若在预设时间段内没有接收到所述第一上游节点发送的处理完成消息,则将所述事件信息发送至第二上游节点;其中,所述处理完成消息为所述第一上游节点在预设的共享缓存数据库中没有查找到所述事件标识时,基于所述事件标识获取对应的事件状态信息,并将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中后生成的消息,或者,所述第一上游节点在预设的共享缓存数据库中查找到所述事件标识时生成的消息;优选地,所述方法还包括:接收新增节点的订阅消息;基于所述订阅消息,向所述新增节点进行消息分发。本专利技术实施例还公开了一种事件处理的服务器,所述服务器包括:事件信息接收模块,用于接收下游系统发送的事件信息,其中,所述事件信息包括事件标识;事件状态信息获取模块,用于如果在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息;信息写入模块,用于将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中。本专利技术实施例还公开了一种事件处理的系统,所述系统包括:事件信息发送模块,用于向第一上游节点发送事件信息,其中,所述事件信息包括事件标识;重发模块,用于若在预设时间段内没有接收到所述第一上游节点发送的处理完成消息,则将所述事件信息发送至第二上游节点;其中,所述处理完成消息为所述第一上游节点在预设的共享缓存数据库中没有查找到所述事件标识时,基于所述事件标识获取对应的事件状态信息,并将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中后生成的消息,或者,所述第一上游节点在预设的共享缓存数据库中查找到所述事件标识时生成的消息;本专利技术实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。本专利技术实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。本专利技术实施例包括以下优点:在本专利技术实施例中,上游节点在接收到下游系统发送的事件信息以后,可以在预设的共享缓存数据库中查找该事件信息中的事件标识,如果查找失败,则基于该事件标识获取对应的事件状态信息,并将该事件标识以及对应的事件状态信息写入共享缓存数据库中,事件状态信息不存在任何一台上游节点中,而是统一存储在共享缓存中,实现了事件状态信息与上游节点的分离,使得本专利技术实施例能够应用于所有场景的状态信息。另外,在本专利技术实施例中,下游系统可以根据判断预设时间段内是否接收到上游节点发送的处理完成消息,来判断该上游节点是否发生故障,当判定该上游节点发生故障时,即可将同一业务对象的同一事件信息发送至其他上游节点进行处理,降低故障节点对状态变更的影响,使得单一应用节点故障时,对业务无影响,保障了业务的可用性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术的一种事件处理的方法实施例一的步骤流程图;图2是本专利技术的一种事件处理的方法实施例一中的状态迁移示意图一;图3是本专利技术的一种事件处理的方法实施例一中的状态迁移示意图二;图4是本专利技术的一种事件处理的方法实施例二的步骤流程图;图5是本专利技术的一种事件处理的服务器实施例的结构框图;图6是本专利技术的一种事件处理的系统实施例的结构框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中,涉及下游系统与上游节点的数据交互,其中,下游系统可以包括语音系统以及消息分发应用,语音系统可以为电话接入设备,用于产生与电话相关的原始事件,并将该事件的事件信息经由消息分发应用分发至上游节点,上游节点可以为进行事件处理的节点,例如,上游节点可以包括进行事件状态处理的上游应用。本专利技术实施例可以将所有上游节点组成一个集群,集群中所有节点可以将基于事件获取的状态信息更新至共享缓存数据库中,当某一节点故障时,切换到集群中其他节点的同时,其他节点可以更新共享本文档来自技高网...
一种事件处理的方法、服务器及系统

【技术保护点】
1.一种事件处理的方法,其特征在于,所述方法包括:接收下游系统发送的事件信息,其中,所述事件信息包括事件标识;如果在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息;将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中。

【技术特征摘要】
1.一种事件处理的方法,其特征在于,所述方法包括:接收下游系统发送的事件信息,其中,所述事件信息包括事件标识;如果在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息;将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中。2.根据权利要求1所述的方法,其特征在于,所述事件标识包括业务对象标识以及事件序号,在所述在预设的共享缓存数据库中没有查找到所述事件标识,则基于所述事件标识获取对应的事件状态信息之前,还包括:在共享缓存数据库中查找所述业务对象标识以及事件序号;若均查找到所述业务对象标识以及所述事件序号,则判定所述事件标识查找成功;若查找到所述业务对象标识但没有查找到所述事件序号,或者,均没有查找到所述业务对象标识以及所述事件序号,则判定所述事件标识查找失败。3.根据权利要求2所述的方法,其特征在于,所述将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中,包括:若均没有查找到所述业务对象标识以及所述事件序号,则将所述业务对象标识作为主键,所述事件序号以及所述事件状态信息作为所述主键对应的值,写入所述共享缓存数据库中;若查找到所述业务对象标识但没有查找到所述事件序号,则将所述事件序号以及所述事件状态信息覆盖所述业务对象标识下的原有记录。4.根据权利要求1所述的方法,其特征在于,还包括:若在预设的共享缓存数据库中查找到所述事件标识,或者,在所述将所述事件标识以及对应的事件状态信息写入所述共享缓存数据库中以后,则向所述下游系统返回处理完成信息。5.根据权利要求1-4任一项所述的方法,其特征在于,在所述接收下游系统发送的事件信息的步骤之前,还包括:向下游系统发送订阅消息。6.一种事件处理的方法,其特征在于,所述方法包括:向第一上游节点发送事件信息,其中,所述事件信息包括事件标识;若在预设时间段内没有接收到所述第一上游节点发送的处理完成消息,...

【专利技术属性】
技术研发人员:刘晓丰杨博为
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

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

1