掌桥专利:专业的专利平台
掌桥专利
首页

延迟队列实现5G切片成员签约及去签约的方法及系统

文献发布时间:2023-06-19 12:11:54


延迟队列实现5G切片成员签约及去签约的方法及系统

技术领域

本发明涉及互联网技术领域,具体来说,涉及延迟队列实现5G切片成员签约及去签约的方法及系统。

背景技术

5G业务场景允许终端用户因临时需求在极短周期内(如5分钟)使用5G业务,这对切片成员签约及去签约订单处理带来极高的时效要求。目前常见的解决方案有:定时任务、消息延时队列、基于Redis的延时队列等, Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理,Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流,Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentinel和RedisCluster自动分区提供了高可用性。

但以上几种解决方案都存在一些问题:

1、定时任务带来的问题是时效性和性能问题。定时任务不能无间隔的执行任务,导致造成延迟;而且频繁的扫描DB也会导致系统性能损耗严重。

2、消息延时队列的问题是一旦消息发送出去就无法更改事件的到期时间,难以满足业务诉求。

3、Redis延时队列带来的问题是:①直接取消事件代价太高;②当Redis发生意外时,可能会造成数据的丢失;③当消费者线程不断从Redis上获取超时的数据时,消费者宕机或者重启也会造成数据的丢失

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

针对相关技术中的问题,本发明提出延迟队列实现5G切片成员签约及去签约的方法及系统,以克服现有相关技术所存在的上述技术问题。

为此,本发明采用的具体技术方案如下:

延迟队列实现5G切片成员签约及去签约的方法及系统,该方法包括以下步骤:

S1、生产者生成数据并将数据发送至双持久化单元;

S2、双持久化单元对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中;

S3、协调者单元监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者;

S4、消费者接收解析后的目标数据对象,并进行业务处理;

S5、协调者单元收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新;

S6、若目标数据对象更新失败,则进行延迟队列异常补偿处理。

进一步的,所述双持久化单元对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中还包括以下步骤:

S21、生成通用唯一标识符,计算消息到期时间,并格式化事件处理器;

S22、把数据构造成目标数据对象,并放入到延迟队列中;

S23、将关系型数据库中的数据状态进行未处理标记。

进一步的,所述到期时间计算公式为:

T

其中,T

4. 根据权利要求1所述的延迟队列实现5G切片成员签约及去签约的方法,其特征在于,所述协调者单元监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者还包括以下步骤:

S31、从内存数据库延迟队列中不断拉取到期目标数据对象;

S32、解析目标数据对象,根据通用唯一标识符从关系型数据库中获取相同通用唯一标识符的数据对象;

S33、根据关系型数据库的数据对象进行有效性判断;

S34、如果无效或者重复,则直接放弃不再进行分发处理;

S35、如果有效则继续以下处理;

其中,到期判断公式为:T

T

进一步的,所述协调者单元收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新还包括以下步骤:

S51、反馈处理成功,把关系型数据库中的数据对象的数据状态进行已处理标记;

S52、反馈处理失败,把关系型数据库中的数据对象的数据状态进行处理失败标记;

其中,T

T

进一步的,所述若目标数据对象更新失败,则进行延迟队列异常补偿处理还包括以下步骤:

S61、补偿单元定时自动监测关系型数据库中的数据,获取异常数据;

S62、将获取到的异常数据发送到双持久化单元中;

S63、双持久化单元收到数据后进行加工处理后重新放入到延迟队列并持久化到缓存内存数据库中;

S64、当处理的次数达到指定的阈值后不再拉取这部分数据;

S65、提供图形化界面监控延迟队列执行情况,并提供手动补偿能力。

进一步的,所述延迟队列实现5G切片成员签约及去签约的方法还包括取消事件处理;

所述取消事件处理包括以下步骤:

生产者发起取消事件;

双持久化单元接收到数据消息,把关系型数据库中的数据对象的数据状态进行废弃标记;

协调者单元监听内存数据库中延迟队列,从延迟队列中不断拉取到期的目标数据对象;

解析内存数据库中的目标数据对象,采用通用唯一标识符从关系型数据库中获取相同通用唯一标识符的关系型数据库中的数据对象;

进行关系型数据库中的数据对象有效性判断,若关系型数据库中的数据对象无效,则进行废弃标记,直接放弃不再进行分发处理;

其中,到期判断公式为:T

T

进一步的,所述延迟队列实现5G切片成员签约及去签约的方法还包括变更到期时间事件处理;

所述变更到期时间事件处理包括以下步骤:

生产者发起变更到期时间事件;

双持久化单元接收到数据消息,先把关系型数据库中的目标数据对象的数据状态进行废弃标记;

双持久化单元根据请求生成新的目标数据对象,并持久化到内存数据库和关系型数据库中;

协调者单元监听内存数据库中延迟队列,从延迟队列中不断拉取到期的内存数据库中的目标数据对象;

解析内存数据库中的目标数据对象,根据通用唯一标识符从关系型数据库中获取相同通用唯一标识符的关系型数据库中的目标数据对象;

进行关系型数据库中的目标数据对象有效性判断;

其中,若无效即进行关系型数据库中的目标数据对象废弃标记,则直接放弃不再进行分发处理;

若有效,则利用协调者单元把数据分发到不同事件处理器中,并等待消费者的处理结果与反馈建议;

到期判断公式为:T

T

根据本发明的另一个方面,提供了延迟队列实现5G切片成员签约及去签约的系统,该系统包括:

生产者,用于生成数据并将数据发送至双持久化单元;

双持久化单元,用于对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中;

协调者单元,用于监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者;收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新;

消费者,用于接收解析后的目标数据对象,并进行业务处理;

补偿单元,用于若目标数据对象更新失败,则进行延迟队列异常补偿处理

关系型数据库,用于存储关系型数据库延迟队列;

内存数据库,用于存储内存数据库延迟队列。

进一步的,所述对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中包括以下步骤:

生成通用唯一标识符,计算消息到期时间,并格式化事件处理器;

把数据构造成目标数据对象,并放入到延迟队列中;

将关系型数据库中的数据状态进行未处理标记。

本发明的有益效果为:通过缓存和数据库双写机制,解决了直接采用内存数据库做延迟队列因内存不可控带来的消息持久化不可靠问题,通过缓存和数据库双写,实现延迟队列持久化,高可靠,通过双重补偿机制,解决因为消费者端重启导致延迟任务消息丢失的问题,通过双重补偿机制,实现延迟队列数据动态修改、失效的功能,目标数据检索通过采用b+树检索机制,满足大数据集下对高时效性的要求,能达到100ms以内的调度时效,通过图形化界面,实现延迟任务可视化,可运维,可监控,提升运维便捷性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的延迟队列实现5G切片成员签约及去签约方法的流程图

图2是根据本发明实施例的延迟队列实现5G切片成员签约及去签约系统的原理框图

图3是根据本发明实施例的技术方案系统构成图;

图4是根据本发明实施例的系统工作原理流程图;

图5是根据本发明实施例的延迟队列实现5G切片成员签约及去签约的方法中目标数据对象结构图;

图6是根据本发明实施例的延迟队列实现5G切片成员签约及去签约的方法中异常补偿处理流程图;

图7是根据本发明实施例的延迟队列实现5G切片成员签约及去签约的方法中取消事件工作流程图。

图中:

1、生产者;2、双持久化单元;3、协调者单元;4、消费者;5、补偿单元;6、关系型数据库;7、内存数据库。

具体实施方式

为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

根据本发明的实施例,提供了延迟队列实现5G切片成员签约及去签约的方法及系统。

现结合附图和具体实施方式对本发明进一步说明,如图1与图4所示,根据本发明实施例的延迟队列实现5G切片成员签约及去签约的方法及系统,该方法包括以下步骤:

S1、生产者(Producer)生成数据并将数据发送至双持久化单元(DoubleDurability Unit);

其中,用户签约一个有效期为5分钟的5G切片业务,5分钟后需进行去签约处理;

S2、双持久化单元对接收的数据进行加工处理,得到具有目标数据对象(EventData)的延迟队列,并将延迟队列持久化到内存数据库(Redis)和关系型数据库(DB)中;

S3、协调者单元(Coordinator Unit)监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者;

S4、消费者接收解析后的目标数据对象(如签约),并进行业务处理;

S5、协调者单元收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新;

S6、若目标数据对象更新失败,则进行延迟队列异常补偿(Unit)处理。

在一个实施例中,所述双持久化单元对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中还包括以下步骤:

S21、生成通用唯一标识符,计算消息到期时间,并格式化事件处理器;

S22、把数据构造成目标数据对象,并放入到延迟队列中;

S23、将关系型数据库中的数据状态进行未处理标记。

在一个实施例中,所述到期时间计算公式为:

T

其中,T

在一个实施例中,如图5所示,所述协调者单元监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者还包括以下步骤:

S31、从内存数据库延迟队列中不断拉取到期目标数据对象;

S32、解析目标数据对象,根据通用唯一标识符从关系型数据库中获取相同通用唯一标识符的数据对象;

S33、根据关系型数据库的数据对象进行有效性判断;

S34、如果无效或者重复,则直接放弃不再进行分发处理;

其中无效的判断方法:EventData

S35、如果有效则继续以下处理;

其中,到期判断公式为:T

T

在一个实施例中,所述协调者单元收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新还包括以下步骤:

S51、反馈处理成功,把关系型数据库中的数据对象的数据状态进行已处理标记;

S52、反馈处理失败,把关系型数据库中的数据对象的数据状态进行处理失败标记;

其中,T

T

在一个实施例中,如图6所示,所述若目标数据对象更新失败,则进行延迟队列异常补偿处理还包括以下步骤:

S61、补偿单元定时自动监测关系型数据库中的数据,获取异常数据;

S62、将获取到的异常数据发送到双持久化单元中;

S63、双持久化单元收到数据后进行加工处理后重新放入到延迟队列并持久化到缓存内存数据库中;

S64、当处理的次数达到指定的阈值后不再拉取这部分数据,可以避免异常的数据一直被重复处理损耗系统性能,同时采用阈值进行控制;

S65、提供图形化界面监控延迟队列执行情况,并提供手动补偿能力。

在一个实施例中,如图7所示,所述延迟队列实现5G切片成员签约及去签约的方法还包括取消事件处理;

所述取消事件处理包括以下步骤:

生产者发起取消事件,如用户取消签约订购;

双持久化单元接收到数据消息,把关系型数据库中的数据对象的数据状态进行废弃标记;

协调者单元监听内存数据库中延迟队列,从延迟队列中不断拉取到期的目标数据对象;

解析内存数据库中的目标数据对象,采用通用唯一标识符从关系型数据库中获取相同通用唯一标识符的关系型数据库中的数据对象;

进行关系型数据库中的数据对象有效性判断,若关系型数据库中的数据对象无效,则进行废弃标记,直接放弃不再进行分发处理;

其中,到期判断公式为:T

T

在一个实施例中,所述延迟队列实现5G切片成员签约及去签约的方法还包括变更到期时间事件处理;

所述变更到期时间事件处理包括以下步骤:

生产者发起变更到期时间事件;

双持久化单元接收到数据消息,先把关系型数据库中的目标数据对象的数据状态进行废弃标记;

双持久化单元根据请求生成新的目标数据对象,并持久化到内存数据库和关系型数据库中;

协调者单元监听内存数据库中延迟队列,从延迟队列中不断拉取到期的内存数据库中的目标数据对象;

解析内存数据库中的目标数据对象,根据通用唯一标识符从关系型数据库中获取相同通用唯一标识符的关系型数据库中的目标数据对象;

进行关系型数据库中的目标数据对象有效性判断;

其中,若无效即进行关系型数据库中的目标数据对象废弃标记,则直接放弃不再进行分发处理;

若有效,则利用协调者单元把数据分发到不同事件处理器中,并等待消费者的处理结果与反馈建议;

到期判断公式为:T

T

根据本发明的另一个实施例,如图2与图3所示,还提供了延迟队列实现5G切片成员签约及去签约的系统,该系统包括:

生产者1,用于生成数据并将数据发送至双持久化单元;

双持久化单元2,用于对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中;

协调者单元3,用于监听延迟队列,从延迟队列中不断拉取到期目标数据对象,并解析目标数据对象,把解析后不同的目标数据对象分发送到不同的消费者;收到消费者的处理结果反馈,并对内存数据库和关系型数据库中的延迟队列进行目标数据对象更新;

消费者4,用于接收解析后的目标数据对象,并进行业务处理;

补偿单元5,用于若目标数据对象更新失败,则进行延迟队列异常补偿处理

关系型数据库6,用于存储关系型数据库延迟队列;

内存数据库7,用于存储内存数据库延迟队列。

在一个实施例中,所述对接收的数据进行加工处理,得到具有目标数据对象的延迟队列,并将延迟队列持久化到内存数据库和关系型数据库中包括以下步骤:

生成通用唯一标识符,计算消息到期时间,并格式化事件处理器;

把数据构造成目标数据对象,并放入到延迟队列中;

将关系型数据库中的数据状态进行未处理标记。

为了方便理解本发明的上述技术方案,以下就本发明在实际过程中的工作原理或者操作方式进行详细说明。

综上所述,借助于本发明的上述技术方案,通过缓存和数据库双写机制,解决了直接采用内存数据库做延迟队列因内存不可控带来的消息持久化不可靠问题,通过缓存和数据库双写,实现延迟队列持久化,高可靠,通过双重补偿机制,解决因为消费者端重启导致延迟任务消息丢失的问题,通过双重补偿机制,实现延迟队列数据动态修改、失效的功能,目标数据检索通过采用b+树检索机制,满足大数据集下对高时效性的要求,能达到100ms以内的调度时效,通过图形化界面,实现延迟任务可视化,可运维,可监控,提升运维便捷性。

在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 延迟队列实现5G切片成员签约及去签约的方法及系统
  • 延迟队列实现5G切片成员签约及去签约的方法及系统
技术分类

06120113207110