CN114338807B - 一种主机overlay下的消息排序机制 - Google Patents
一种主机overlay下的消息排序机制 Download PDFInfo
- Publication number
- CN114338807B CN114338807B CN202111656348.2A CN202111656348A CN114338807B CN 114338807 B CN114338807 B CN 114338807B CN 202111656348 A CN202111656348 A CN 202111656348A CN 114338807 B CN114338807 B CN 114338807B
- Authority
- CN
- China
- Prior art keywords
- message
- session
- virtual machine
- session identifier
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000007246 mechanism Effects 0.000 title abstract description 16
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供一种主机overlay下的消息排序机制,包括如下步骤:步骤一:主机在overlay下接收到消息,解析消息数据,识别消息内容并生成“消息头”与“消息体”,并通过消息头生成会话标识;步骤二:controller对消息所生成的会话标识值进行累加,net‑agent服务在接收消息后对会话标识进行记录;步骤三:对会话标识进行进一步的识别判断;步骤四:记录下发数据的索引,并对经过处理的配置消息执行相对应的命令,本发明利用算法在发送端和接收端做校验,对传输的消息进行进一步的确定,更好地保证消息的准确传输,通过两个路径下发消息,保证消息的顺序执行,能够保证即使在大规模部署虚拟机物理服务器的场景下,也可以在通过不同数据源的情况下,仍然保证消息的顺序性。
Description
技术领域
本发明涉及计算机网络技术领域,具体为一种主机overlay下的消息排序机制。
背景技术
当前主机overlay产品中,每个虚拟机物理服务器上都运行net-agent服务,而当有一个虚拟机上线或者下线时要通知所有的net-agent服务,而controller会通过两种机制分别向net-agent下发消息,此时保证逻辑存在依赖关系的消息就必须排队执行,不能出现乱序,一旦乱序则消息执行会失败,由于controller与net-agent之间的交互,可能通过Redis广播机制,也可能通过http发送请求数据,对于net-agent而言就会存在消息的不同步情况,在时序上是有概率存在http请求先到达而Redis消息后到达,导致依赖于前后关系的处理流程出现问题,导致程序流程出错。
发明内容
针对现有技术存在的不足,本发明目的是提供一种主机overlay下的消息排序机制,以解决上述背景技术中提出的问题,本发明通过利用算法在发送端和接收端做校验,对传输的消息进行进一步的确定,更好地保证消息的准确传输,解决了现有技术中的问题。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种主机overlay下的消息排序机制,包括如下步骤:
步骤一:在主机中创建运行在虚拟机物理服务器上的主机overlay代理服务net-agent,创建对控制面负责向net-agent服务下发指令的服务的controller,主机在overlay下接收到消息,解析消息数据,识别消息内容并生成“消息头”与“消息体”,并通过消息头生成会话标识;
步骤二:controller对消息所生成的会话标识值进行累加,net-agent服务在接收消息后对会话标识进行记录,并识别该会话标识是否存在,如果存在则继续执行;
步骤三:对会话标识进行进一步的识别判断,判断该会话标识的已经执行的位置索引是否小于本次操作索引,如果判断为非小于,则消息继续执行判断,对会话标识的连续性进行判断,如果判断为不连续,则向controller发送请求,继续发送下一个需要下发的消息;
步骤四:记录下发数据的索引,并对经过处理的配置消息执行相应命令。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,在所述步骤二中,如果判断不存在则表示为第一次创建虚拟机,并对其序号进行识别判断,判断其序号是否从1开始,如果判断结果为“是”,则下发相关配置消息,如果判断结果为“否”,则等待执行,加入队列并通过controller重新下发消息。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,在所述步骤三中,如果消息判断为连续,则下发相关配置消息。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,在所述步骤三中,如果索引判断为小于,则表明此消息已经被执行过了,对该消息直接丢弃。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,所述消息头生成会话标识包括虚拟机代码session_id和索引代码request_id。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,所述session_id表示填写主机overlay下所有虚拟机的ID,即虚拟机从创建开始,就维护的一个session_id,直到该虚拟机被彻底删除,在所述步骤二中的会话标识为session_id。
作为对本发明中所述一种主机overlay下的消息排序机制的改进,所述request_id表示记录操作的索引,从1累加,单调递增,在所述步骤三中会话标识为request_id。
与现有技术相比,本发明的有益效果:
1、本发明利用算法在发送端和接收端做校验,对传输的消息进行进一步的确定,更好地保证消息的准确传输,通过两个路径下发消息,减少消息的依赖,保证消息的顺序执行;
2、本发明能够保证即使在大规模部署虚拟机物理服务器的场景下,也可以在通过不同数据源的情况下,仍然保证消息的顺序性,降低由于消息顺序导致的消息下发错误;
3、本发明通过对消息的多次判断,检验下发消息的性质,更好地对消息进行分类识别,并及时进行数据反馈,在多消息源的情况下,也能提高数据的一致性,更好地进行操作使用。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术中描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一种实施方式,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明工作流程结构示意图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面对本发明具体实施方式中的技术方案进行清楚、完整的描述,以进一步阐述本发明,显然,所描述的具体实施方式仅仅是本发明的一部分实施方式,而不是全部的样式。
本具体实施方式是主机overlay下的消息排序机制,其工作流程结构示意图如图1所示,该主机overlay下的消息排序机制,包括如下步骤:
步骤一:在主机中创建运行在虚拟机物理服务器上的主机overlay代理服务net-agent,创建对控制面负责向net-agent服务下发指令的服务的controller,主机在overlay下接收到消息,解析消息数据,识别消息内容并生成“消息头”与“消息体”,并通过消息头生成会话标识;
步骤二:controller对消息所生成的会话标识值进行累加,net-agent服务在接收消息后对会话标识进行记录,并识别该会话标识是否存在,如果存在则继续执行;
步骤三:对会话标识进行进一步的识别判断,判断该会话标识的已经执行的位置索引是否小于本次操作索引,如果判断为非小于,则消息继续执行判断,对会话标识的连续性进行判断,如果判断为不连续,则向controller发送请求,继续发送下一个需要下发的消息;
步骤四:记录下发数据的索引,并对经过处理的配置消息执行相应命令。
同时,消息头生成会话标识包括虚拟机代码session_id和索引代码request_id,session_id表示填写主机overlay下所有虚拟机的ID,即虚拟机从创建开始,就维护的一个session_id,直到该虚拟机被彻底删除,request_id表示记录操作的索引,从1累加,单调递增。
使用本技术方案时,在主机中创建运行在虚拟机物理服务器上的主机overlay代理服务net-agent,创建对控制面负责向net-agent服务下发指令的服务的controller,主机在overlay下接收到消息,解析消息数据,识别消息内容并生成“消息头”与“消息体”,并通过消息头生成会话标识,controller对消息所生成的会话标识值进行累加,net-agent服务在接收消息后对会话标识进行记录,并识别该会话标识是否存在,如果不存在则表示为第一次创建虚拟机,并对其序号进行识别判断,判断其序号是否从1开始,如果判断结果为“是”,则下发相关配置消息,如果判断结果为“否”,则等待执行,加入队列并通过controller重新下发消息,如果存在则继续执行,对会话标识进行进一步的识别判断,判断该会话标识的已经执行的位置索引是否小于本次操作索引,如果判断小于,则表明此消息已经被执行过了,对该消息直接丢弃,如果判断为非小于,则消息继续执行判断,对会话标识的连续性进行判断,如果判断为连续,则下发相关配置消息,如果判断为不连续,则向controller发送请求,发送下一个需要下发的消息,记录下发数据的索引,并对经过处理的配置消息执行相对应的命令。
以上描述了本发明的主要技术特征和基本原理及相关优点,对于本领域技术人员而言,显然本发明不限于上述示范性具体实施方式的细节,而且在不背离本发明的构思或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将上述具体实施方式看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照各实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (3)
1.一种主机overlay下的消息排序方法,其特征在于,包括如下步骤:
步骤一:在主机中创建运行在虚拟机物理服务器上的主机overlay代理服务net-agent,创建对控制面负责向net-agent服务下发指令的服务的controller,主机在overlay下接收到消息,解析消息数据,识别消息内容并生成“消息头”与“消息体”,并通过消息头生成会话标识;
其中,所述消息头生成会话标识包括虚拟机代码session_id和索引代码request_id;所述request_id表示记录操作的索引,从1累加,单调递增,在所述步骤三中会话标识为request_id;
步骤二:controller对消息所生成的会话标识值进行累加,net-agent服务在接收消息后对会话标识进行记录,并识别该会话标识是否存在,如果存在则继续执行;
步骤三:对会话标识进行进一步的识别判断,判断该会话标识的已经执行的位置索引是否小于本次操作索引,如果索引判断为小于,则表明此消息已经被执行过了,对该消息直接丢弃;如果判断为非小于,则消息继续执行判断,对会话标识的连续性进行判断;如果消息判断为连续,则下发相关配置消息;如果判断为不连续,则向controller发送请求,继续发送下一个需要下发的消息;
步骤四:记录下发数据的索引,并对经过处理的配置消息执行相应命令。
2.根据权利要求1所述的一种主机overlay下的消息排序方法,其特征在于,在所述步骤二中,如果判断不存在则表示为第一次创建虚拟机,并对其序号进行识别判断,判断其序号是否从1开始,如果判断结果为“是”,则下发相关配置消息,如果判断结果为“否”,则等待执行,加入队列并通过controller重新下发消息。
3.根据权利要求1所述的一种主机overlay下的消息排序方法,其特征在于,所述session_id表示填写主机overlay下所有虚拟机的ID,即虚拟机从创建开始,就维护的一个session_id,直到该虚拟机被彻底删除,在所述步骤二中的会话标识为session_id。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111656348.2A CN114338807B (zh) | 2021-12-30 | 2021-12-30 | 一种主机overlay下的消息排序机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111656348.2A CN114338807B (zh) | 2021-12-30 | 2021-12-30 | 一种主机overlay下的消息排序机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338807A CN114338807A (zh) | 2022-04-12 |
CN114338807B true CN114338807B (zh) | 2023-12-22 |
Family
ID=81019911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111656348.2A Active CN114338807B (zh) | 2021-12-30 | 2021-12-30 | 一种主机overlay下的消息排序机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338807B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984734A (zh) * | 2014-05-20 | 2014-08-13 | 中国科学院软件研究所 | 一种面向高性能计算的云服务消息传递方法 |
CN105391619A (zh) * | 2015-10-19 | 2016-03-09 | 掌赢信息科技(上海)有限公司 | 一种保证消息显示顺序的方法和电子设备 |
CN110166411A (zh) * | 2018-02-13 | 2019-08-23 | 华为技术有限公司 | 一种数据传输方法、装置和网络节点 |
CN110572828A (zh) * | 2019-10-24 | 2019-12-13 | 山东省计算中心(国家超级计算济南中心) | 基于国密算法的物联网安全认证方法、系统及终端 |
US10673958B1 (en) * | 2019-08-23 | 2020-06-02 | Capital One Services, Llc | System and method for maintaining user session continuity across multiple devices and/or multiple platforms |
CN111654923A (zh) * | 2016-05-26 | 2020-09-11 | 华为技术有限公司 | 一种通信控制的方法及相关网元 |
CN112737921A (zh) * | 2020-12-23 | 2021-04-30 | 北京百分点科技集团股份有限公司 | 消息交互方法、客户端及通信系统 |
CN113111626A (zh) * | 2020-01-13 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 序列生成的方法、装置、电子设备和存储介质 |
CN113296985A (zh) * | 2021-06-16 | 2021-08-24 | 北京有竹居网络技术有限公司 | 一种消息处理方法及装置 |
-
2021
- 2021-12-30 CN CN202111656348.2A patent/CN114338807B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984734A (zh) * | 2014-05-20 | 2014-08-13 | 中国科学院软件研究所 | 一种面向高性能计算的云服务消息传递方法 |
CN105391619A (zh) * | 2015-10-19 | 2016-03-09 | 掌赢信息科技(上海)有限公司 | 一种保证消息显示顺序的方法和电子设备 |
CN111654923A (zh) * | 2016-05-26 | 2020-09-11 | 华为技术有限公司 | 一种通信控制的方法及相关网元 |
CN110166411A (zh) * | 2018-02-13 | 2019-08-23 | 华为技术有限公司 | 一种数据传输方法、装置和网络节点 |
US10673958B1 (en) * | 2019-08-23 | 2020-06-02 | Capital One Services, Llc | System and method for maintaining user session continuity across multiple devices and/or multiple platforms |
CN110572828A (zh) * | 2019-10-24 | 2019-12-13 | 山东省计算中心(国家超级计算济南中心) | 基于国密算法的物联网安全认证方法、系统及终端 |
CN113111626A (zh) * | 2020-01-13 | 2021-07-13 | 北京沃东天骏信息技术有限公司 | 序列生成的方法、装置、电子设备和存储介质 |
CN112737921A (zh) * | 2020-12-23 | 2021-04-30 | 北京百分点科技集团股份有限公司 | 消息交互方法、客户端及通信系统 |
CN113296985A (zh) * | 2021-06-16 | 2021-08-24 | 北京有竹居网络技术有限公司 | 一种消息处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
"虚拟计算环境中的DHT拓扑构建技术研究综述";张一鸣,卢锡城,李东升;《中国科学》;全文 * |
"Examining the performance of classification algorithms for inbalanced data sets in web author identification ";Alisa A. Vorobeva;《2016 18th Conference of Open Innovations Association and Seminar on Information Security and Protection of Information Technology》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114338807A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3340573A1 (en) | Distributed storage-based file delivery system and method | |
CN106021315B (zh) | 一种应用程序的日志管理方法及系统 | |
CN101102305B (zh) | 管理网络信息处理的系统和方法 | |
CN113282462B (zh) | 应用于区块链和大数据的信息处理方法及大数据平台 | |
CN108874558A (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
CN111970195B (zh) | 数据传输方法和流式数据传输系统 | |
CN114567519B (zh) | 一种多线程并行管理多个智能设备指令消息的方法及装置 | |
CN110705893B (zh) | 一种业务节点管理方法、装置、设备以及存储介质 | |
CN113111043B (zh) | 一种中台源数据文件的处理方法、装置、系统及存储介质 | |
US7933986B2 (en) | Transferring command-lines as a message | |
CN110554929A (zh) | 数据校验方法、装置、计算机设备及存储介质 | |
CN114338807B (zh) | 一种主机overlay下的消息排序机制 | |
CN118260237A (zh) | 一种接口控制器、通信方法、系统、存储介质及程序产品 | |
CN110602229A (zh) | 基于动态切片的终端系统版本下载方法、装置及系统 | |
EP1954043A1 (en) | A method for interface adapting iptv with stream media device | |
US8407336B2 (en) | Supporting apparatus for analyzing computer operation status | |
US8201017B2 (en) | Method for queuing message and program recording medium thereof | |
CN116723154A (zh) | 一种基于负载均衡的路由分发方法及系统 | |
CN107005468B (zh) | 一种待上载的nsd的确定方法及装置 | |
CN107743077B (zh) | 一种评估信息-物理融合系统网络性能的方法及装置 | |
WO2011137678A1 (zh) | 一种在客户端处理多用户并发信令跟踪的方法及系统 | |
CN114780333A (zh) | 一种日志打印控制方法和装置 | |
EP3993353A2 (en) | System and method for managing clusters in an edge network | |
US20070192502A1 (en) | Shell sessions | |
CN115309559A (zh) | 一种基于kvm云平台的虚拟化资源统筹优化系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |