(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111673791.0
(22)申请日 2021.12.31
(71)申请人 广东国腾量子科技有限公司
地址 526238 广东省肇庆市高新区北江大
道18号富民大厦1319室
(72)发明人 郭邦红 蒙涛 苏敏华 胡敏
(51)Int.Cl.
H04L 67/55(2022.01)
H04L 67/02(2022.01)
H04L 67/141(2022.01)
H04L 69/16(2022.01)
G06F 9/50(2006.01)
G06F 9/54(2006.01)
G06F 17/16(2006.01)
(54)发明名称
一种基于动态决策模型的消息推送服务系
统及方法
(57)摘要
本发明公开了一种基于动态决策模型的消
息推送服务系统及方法, 所述方法通过量子通信
与经典通信客户端同时发送多个消息到中间件;
中间件收到多个消息后利用动态决策计算模型
给每一个消息分配对应的推送 服务, 并采用推送
服务将多个消息推送到服务端; 服务端收到多个
消息后, 给各个消息分别创建一个结构体以及
socket; 服务端创建一个双向链表并同时将结构
体插入双向链表; 服务端通过查找双向链表获取
socket对消息进行回复并通过中间件发往客户
端。 本发明通过在中间件封装了一个动态决策模
型来将客户端的消息推送到服务端以及, 提升系
统的吞吐量, 保证 了信息传达的时效性。
权利要求书3页 说明书8页 附图3页
CN 114401315 A
2022.04.26
CN 114401315 A
1.一种基于动态决策模型的消息推送服务系统, 其特征在于, 包括客户端、 中间件、 服
务端及线程创建模块, 所述中间件包括动态决策计算模块和服务推送模块, 所述服务端包
括插入模块和查找模块, 其中:
所述线程创建模块用户建立主干线程以及根据socket创建一个与所述socket相关的
线程以及线程 ID;
所述客户端通过主干线程同时发送多个消息 到所述中间件;
所述中间件收到所述多个消息后利用动态决策计算模块对每一个消息进行计算得到
所有消息的决策值;
所述服务推送模块根据 所述决策值落入的决策值域来分配每个消息对应的推送服务,
并根据对应的推送服 务将多个消息推送到服 务端;
所述服务端收用于接收消息并为每一个消息创建一个socket及每个socket对应创建
一个结构体, 同时所述 服务端创建一个双向链 表;
所述插入模块用于将所述结构体插 入所述双向链 表中;
所述查找模块用于通过所述双向链表获取所述结构体的线程ID, 并根据线程ID获取所
述socket的信息 。
2.一种基于动态决策模型的消息推送服务方法, 其特征在于, 应用了如权利要求1所述
的一种基于动态决策模型的消息推送 服务系统, 所述方法应用了客户端、 中间件和服务端,
所述方法包括如下步骤:
步骤1: 所述客户端、 中间件与服务端同时启动, 建立主干线程, 客户端通过主干线程同
时发送多个消息 到所述中间件;
步骤2: 所述中间件收到所述多个消息后利用动态决策计算模型对每一个消息进行计
算得到所有消息的决策值; 中间件根据所述决策值落入的决策值域来分配每个消息对应的
推送服务, 并根据对应的推送服 务将多个消息推送到服 务端;
步骤3: 所述服务端收到多个消息后, 给各个消息分别创建一个socket, 并给每个
socket创建一个线程以及线程 ID;
所述服务端同时为每 个socket创建一个结构体, 所述结构体包 含所述线程 ID;
步骤4: 所述 服务端创建一个双向链 表, 并将所述结构体插 入所述双向链 表中;
步骤5: 所述服务端通过查找双向链表获取所述结构体的线程ID, 并根据线程ID获取所
述socket的信息;
步骤6: 所述服务端通过使用所述socket给各个消息进行回复并向中间件发送回复消
息;
步骤7: 所述中间件收到所述回复消息后利用动态决策计算模型给每一个回复消息计
算出一个决策值;
中间件根据所述决策值落入的决策值域来分配每个回复消息对应的推送服务, 并根据
对应的推送服 务将多个回复消息推送到客户端;
步骤8: 当客户端与服务端的任一个消息的通信结束时, 主线程查找双向链表获取这个
消息的socket, 并通过 所述socket的线程 ID来关闭该通信。
3.根据权利要求2所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述推送服 务至少有3个, 分别为 WebSocket、 l ong‑polling长轮询和Ajax poll轮询。权 利 要 求 书 1/3 页
2
CN 114401315 A
24.根据权利要求3所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述WebSocket推送服务的决策值域为[1,5), 所述long ‑polling长轮询推送服务的决策值域
为[5,7), 所述Ajax poll轮询推送服 务的决策值 域为[7, 10]。
5.根据权利要求2所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述结构体还包括当前客户端的连接ID号、 ip地址、 端口号、 发起连接请求的时间和是否长连
接。
6.根据权利要求2所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述步骤2的动态决策计算模型的计算 步骤如下:
步骤2‑1: 中间件收到消息后, 根据熵权法计算实时性要求、 用户所属权限组和服务器
负载的权 重向量, 分别为d1、 d2和d3;
步骤2‑2: 根据层次分析法决策模型来计算该消息最终的决策值D。
7.根据权利要求6所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述步骤2‑1的熵权法计算过程如下:
步骤A: 对消息的实时性要求、 用户所属权限组和服务器负载数据 形成原始指标数据矩
阵X;
步骤B: 将所述矩阵X规范化处 理得到矩阵Y, 计算公式如下:
步骤C: 计算第i个 推送方案下第j个指标的评价 值比重pij, 计算公式为:
步骤D: 计算第j个指标的嫡值 为Ej, 计算公式为:
步骤E: 将嫡值Ej转换为权 重值dj, 计算公式为:
8.根据权利要求6所述的一种基于动态决策模型的消息推送服务方法, 其特征在于, 所
述步骤2‑2的层次分析法决策模型计算 步骤如下:
步骤a: 对消息的系统吞吐量、 服务可靠性和平均服务时间分别设置一组对比数据; 对
比数据分别用矩阵B1, 矩阵B2和矩阵B3表示;
步骤b: 检验矩阵B1, 矩阵B2和矩阵B3的一致性;
步骤c: 计算实时性要求、 用户所属权限组和 服务器负载对总目标的权重, 分别用β1、 β2
和β3表示;
步骤d: 对层次总排序的一 致性进行检验;
步骤e: 计算综合权 重向量 η, 计算公式为:
权 利 要 求 书 2/3 页
3
CN 114401315 A
3
专利 一种基于动态决策模型的消息推送服务系统及方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 01:59:17上传分享