CN111752730B - 一种拟态调度判决方法、拟态调度器及可读存储介质 - Google Patents
一种拟态调度判决方法、拟态调度器及可读存储介质 Download PDFInfo
- Publication number
- CN111752730B CN111752730B CN202010895064.8A CN202010895064A CN111752730B CN 111752730 B CN111752730 B CN 111752730B CN 202010895064 A CN202010895064 A CN 202010895064A CN 111752730 B CN111752730 B CN 111752730B
- Authority
- CN
- China
- Prior art keywords
- semantic
- messages
- scheduler
- message
- mimicry
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种拟态调度判决方法,包括:选择器从2N+1个异构执行体的调度队列中选择2M+1个数据报文输出给调度器,M≤N;调度器对2M+1个数据报文进行语义判决并进行存储;若所有数据报文全部完成语义判决,判断优势胜出的数据报文输出。本发明同时还提供一种拟态调度器,规模小、复杂度低;本发明还提供一种可读存储介质。
Description
技术领域
本发明属于拟态安全防御领域,更具体地说,涉及一种拟态调度判决方法、拟态调度器及可读存储介质。
背景技术
网络空间的基本安全态势是“易攻难守”。这种网络安全不平衡态势,究其本源,在于未知安全漏洞、软硬件后门、未知漏洞后门或侧信道。传统的被动防御体系建立在“已知风险”或“已知的未知风险”前提条件上,对泛在的不确定性威胁基本上是不设防的。而“拟态防御”融合多种主动防御要素,以异构性、多样或多元性改变目标系统的相似性、单一性,以动态性、随机性改变目标系统的静态性、确定性,以异构冗余多模裁决机制识别和屏蔽未知威胁与未明威胁,以高可靠性架构增强目标系统服务功能的柔韧性或弹性,以系统的视在不确定属性防御或拒止针对目标系统的不确定性威胁。
拟态防御的核心硬件是拟态调度器。图1展示了一个拟态调度器的框图。一个拟态调度器连接在2N+1(N=1,2,3…)个异构执行体上(图中只画出了5个)。这里异构执行体可以是运行不同操作系统的不同指令集类型的CPU或者处理器模组。输入的数据通过拟态调度器分发到2N+1个异构执行体进行并行计算,并将语义输出集同步的返回到拟态调度器,拟态调度器根据拟态判决准则,选取最大化的语义结果作为输出,这就实现了多模异构冗余的拟态安全。
拟态调度器最易实现的是3冗余度的判决(N=1),通过3个里面选取两个一致的结果,获得拟态判决优势。为了增加拟态调度器的安全性,拟态调度器需要实现更多冗余度的调度,例如5冗余度,以及甚至7或者更高的冗余度等,此外,对于大于3冗余度的实现,拟态调度器还可以实现动态调度,即从2N+1(N=1,2,3…)个冗余度中随机选出2M+1个异构执行体(M=1,2,3…,M≤N)进行判决,以防止侧信道攻击以及对拟态调度规律的探测等方法。
如申请公布日为2020年2月28日,申请公布号为CN110855692A,专利名称为面向拟态构造Web服务器的执行体调度方法提出了一种技术方案,包括:步骤一、生成备选执行体集,随机选取m个执行体,计算各层软件栈的漏洞值均值和漏洞值标准差,筛选位于漏洞值阈值范围内的n个执行体;步骤二、随机选取两个QoS参数,计算QoS参数值;步骤三、将贝叶斯-斯塔克尔伯格博弈模型映射到该拟态构造的web服务器上,构建求解最优调度策略的目标函数;步骤四、将两个QoS参数值带入该目标函数中,得到QoS参数值最优的k个执行体;步骤五、生成随机数r,若r≥ε,则根据该k个执行体对拟态web服务器的异构执行体进行动态调度。
申请公布日为2019年8月27日,申请公布号为CN110177080A,专利名称为拟态交换机、网络设备及系统的中国专利公开了另一种技术方案,包括交换芯片,用于作为数据转发实体,完成对端数据的按规则转发;拟态调度器,用于负责报文数据上送至异构控制引擎执行体和下发至交换芯片的拟态调度;若干异构控制引擎执行体,用于接收拟态调度器上送报文并通过异构等价功能执行体进行数据处理和反馈,该技术方案中的异构控制引擎执行体的数量为n。
上述两个技术方案共同存在的问题在于:在对安全性要求较高,异构冗余度较大的情况下,例如5冗余度,7冗余度甚至11冗余度,如果每次拟态判决选择异构执行体数量过少,则最后输出的结果可能跟实际结果差别过大;如果每次拟态判决选择异构执行体数量较大,由于异构执行体的增加,对应的拟态调度器的构造复杂度也随之增长,拟态调度器的设计难度加大。
因此,有必要实现一种拟态调度器的架构,能够用一种较为简单的系统规模实现从3个异构执行体直到2N+1个异构执行体的判决执行。
发明内容
1. 要解决的问题
针对现有技术中从2N+1个异构执行体中选择2M+1个报文进行语义判决,而且仅做一次语义判决,在异构执行体的数量较多的情况下,如果选择报文数量过少,则最后输出的报文可能跟实际结果差别过大;如果选择报文数量过大,则造成调度器的构造过于复杂等问题;本发明提供一种拟态调度判决方法及和拟态调度器。
2. 技术方案
为了解决上述问题,本发明所采用的技术方案如下:一种拟态调度判决方法,包括以下步骤:
S1、选择器从2N+1个异构执行体的调度队列中选择2M+1个报文输出给调度器,所述调度器为2M+1输入调度器,其中,N≥1且N为正整数,M≤N;
S2、2M+1输入调度器对2M+1个报文进行语义判决,对于语义相同的报文择一存储在语义缓存器中,对于语义不同的报文分别存储在不同的语义缓存器中,各语义缓存器对应的计数器中记入语义相同的报文的数量;记已经存储了报文的语义缓存器的数量为X;如果2N+1个异构执行体的调度队列中的报文全部完成语义判决,则进入步骤S4,否则进入步骤S3;
S3、选择器继续从2N+1个异构执行体的调度队列中剩下的报文中选择Y个报文,连同X个语义缓存器中的X’个报文输入调度器,进行语义判决,其中Y+X’=2M+1,1≤X’≤X,1≤Y﹤2M+1,直至2N+1个异构执行体的调度队列中的报文全部完成语义判决,并且各语义缓存器中存储的报文的语义互不相同;若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1;
S4、根据语义缓存器中存储的报文的数量,判断优势胜出的报文并输出。
在本技术方案中,选择器从2N+1个异构执行体中选择2M+1个报文传输给2M+1输入调度器,2M+1输入调度器对2M+1个报文进行语义判决并根据报文内容进行存储,如果此时全部报文已进行语义判决,则判断优势胜出的报文并输出;如果还有剩余报文没有进行语义判决,则选择器继续从2N+1个异构执行体中选择报文和已经存储的报文一起给2M+1输入调度器,2M+1输入调度器对语义缓存器中缓存的报文和新输入的报文进行语义判决,直至最后输出优势胜出的报文。本技术方案能够解决拟态调度器在冗余度较大的情况下,判决样本过少而导致结果偏差,同时也能解决调度器的构造过于复杂的问题。
进一步地,所述步骤S3具体为,
S31、选择器根据已经存储了报文的语义缓存器的数量X,继续从2N+1个异构执行体的调度队列中剩下的报文中选择Y个报文,并将Y个报文输入给2M+1输入调度器,其中,1≤Y﹤2M+1;
S32、(1)当1≤X﹤2M+1时,X+Y=2M+1,X’=X,调度器将Y个报文分别与已经存储在X个语义缓存器中的报文进行语义判决,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器中记入1;
(2)当X≥2M+1时,选择器从已经存储了报文的X个语义缓存器中选择X’个报文与Y个报文进行语义判决,其中,X’+Y=2M+1,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则遍历X个语义缓存器中的报文,直至Y个报文与X个语义缓存器中存储的报文都进行了语义判决;对于Y个报文中,若某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1;
S5、重复步骤S31、S32直至2N+1个异构执行体中的报文全部完成语义判决,
进一步地,所述步骤S1中选择器从2N+1个异构执行体中选择3个报文输出给2M+1输入调度器,所述2M+1输入调度器为3输入调度器。与现有技术相比,本技术方案每次选择3个报文进行判断,然后再从异构执行体中读取剩下的报文和之前已经进行语义判决过的报文再进行语义判决,直至所有的报文全部处理完,最后输出优势胜出的报文,本技术方案对所有的报文都进行语义判决,确保最终的判断结果的准确性,而且实现起来简单、规模较小、复杂程度低。
进一步地,所述步骤S1中选择器从2N+1个异构执行体中选择报文的策略为顺序挑选或随机挑选。
进一步地,如果X≥N+2,则停止判决。如果已经存储了报文的语义缓存器的数量X≥N+2,则说明在2N+1个报文中,已经有超过一半数量的报文语义不同,那么此时已经没有进行判决的必要,可停止判决以节约资源。
本发明同时提供一种拟态调度器,包括调度器、选择器、若干个语义缓存器、与语义缓存器对应的若干计数器,所述拟态调度器用于执行本发明提供的拟态调度判决方法。
进一步地,所述调度器为3输入调度器。
进一步地,所述异构执行体为基于ARM指令集的ARM处理器、基于MIPS指令集的MIPS处理器、基于POWER指令集的powerPC处理器、基于X86指令集的intel处理器、基于RISC-V指令集的RISC-V处理器中的一个或多个。
本发明还提供一种可读存储介质,所述可读存储介质中存储有程序,该程序被处理器执行时实现本发明提供的拟态调度判决方法。
3. 有益效果
相比于现有技术,本发明的有益效果为:
(1)本发明可适应于从3个异构执行体直到2N+1个异构执行体的所有规模的应用,有助于减少系统规模、降低开发难度;
(2)本发明增加了调度策略中的随机性,可以抵御一定程度的攻击;
(3)本发明结构简单,设计合理,易于制造。
附图说明
图1为现有技术中的拟态调度器示意框图;
图2为本发明的示意框图;
图3为本发明中的语义缓存器和计数器工作示意图。
具体实施方式
下面结合具体实施例对本发明进一步进行描述。
本发明以从2N+1(N≥1且N为正整数)个异构执行体中选择报文进行判决,选用的调度器为2M+1输入调度器(M≤N且M为正整数),在首轮判决时,从2N+1个异构体中选择2M+1个报文进行语义判决,对于语义相同的报文择一存储在语义缓存器中,对于语义不同的报文分别存储在不同的语义缓存器中,各语义缓存器对应的计数器中记入语义相同的报文的数量,将已经存储了报文的语义缓存器的数量记为X。如果第一轮即完成全部2N+1个异构体的报文的判决,则根据语义缓存器中存储的报文的数量,判断优势胜出的报文并输出,一般来说,语义相同数量最多的报文为优势胜出报文。
然后进行第二轮语义判决,第二轮从2N+1个异构执行体中剩余的报文即(2N+1-(2M+1))个报文中选择Y(1≤Y﹤2M+1)个报文与之前X个语义缓存器中的报文进行语义判决。本发明从X个语义缓存器中选择X’个报文,连同Y个报文一起输入调度器,进行语义判决,其中Y+X’=2M+1,1≤X’≤X,1≤Y﹤2M+1,若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1。依此类推,直至2N+1个异构执行体的调度队列中的报文全部完成语义判决,至判决完成时,各语义缓存器中存储的报文的语义互不相同。
为更进一步简化方案,对于第二轮及之后的判决,本发明根据X的数量分别进行处理:
(1)选择器根据已经存储了报文的语义缓存器的数量X,继续从2N+1个异构执行体的调度队列中剩下的报文中选择Y个报文,并将X+Y个报文输入给调度器,其中,1≤Y﹤2M+1。
(2)当1≤X﹤2M+1时,X+Y=2M+1,X’=X,调度器将Y个报文分别与已经存储在X个语义缓存器中的报文进行语义判决,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器中记入1。
(3)当X≥2M+1时,选择器从已经存储了报文的X个语义缓存器中选择X’个报文与Y个报文进行语义判决,其中,X’+Y=2M+1,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则遍历X个语义缓存器中的报文,直至Y个报文与X个语义缓存器中存储的报文都进行了语义判决;对于Y个报文中,若某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1。
重复上述步骤,直到2N+1个异构执行体中的报文全部完成语义判决,然后根据语义缓存器中存储的报文的数量,判断优势胜出的报文并输出。
需要说明的是,本发明中的遍历X个语义缓存器中的报文,指的是X个语义缓存器中的报文都参加了语义判决,这些报文可以是若干个一起和后一周期中选定的Y个报文一起参加语义判决,也可以是单独每一个和后一周期中选定的Y个报文一起参加语义判决。举例来说,当X>X’,此时,Y个报文首先与X’个报文进行判决,如果Y个报文中的全部报文与X’个报文中的一个或多个报文构成语义相同,即,对于Y个报文的某一报文与X’个报文中的某一报文构成语义相同,则相应的语义缓存器的计数器加1;当Y个报文中有Z个报文与X’个报文中的任一报文不构成语义相同,则将Z个报文与A个报文一起进行语义判决,其中Z+A=2M+1,A包括(X-X’)个报文中的一个或多个,并且A可以包括X’个报文中的一个或多个,也可以全部由(X-X’)个报文中的报文构成,也就是说,只要出现不构成语义相同的报文,则将该报文与X个报文中剩下的未进行判决的报文进行比较,直至Y个报文全部完成判决,即,被判决为与X个报文中的其中一个报文语义相同,相应的计数器加1,或者,与X个报文中的任一报文不构成语义相同,报文存入一个新的语义缓存器,相应的计数器记入1。
在进行语义判决的过程中,如果出现已经存储了报文的语义缓存器的数量X≥N+2的情况,则说明在2N+1个报文中,已经有超过一半数量的报文语义不同,那么此时已经没有进行判决的必要,可停止判决以节约资源。
下面具体以从2N+1(N≥1且N为正整数)个异构执行体中第一次选择3个报文进行判决为例进行说明,因此调度器以3输入调度器为例,具体实施时,也可以每次对5个或7个甚至更多个报文进行判决,相应地,调度器也应该调整为5输入调度器、7输入调度器乃至2M+1输入调度器等等,但同时进行报文判决的报文数量越多,拟态调度器的构造复杂度也随之增长,拟态调度器的设计难度加大。拟态调度器最易实现的是3冗余度的判决(即N=1),通过3个里面选取2个一致的结果,获得拟态判决优势,因而本实施例中,同时对3个报文进行语义判决,有助于降低拟态调度器的设计难度和构造复杂度,实现起来较为简单;而且,针对冗余度较大的情况,即异构执行体的数量较多的情况,通过继续从剩下的异构执行体中选取报文进行语义判决,能够确保最终的判断结果的准确性。
如图2所示,本发明中包括选择器、3输入调度器(在图2中以调度器表示)、若干个语义缓存计数器、2N+1个异构执行体以及缓存异构执行体的报文的2N+1个调度队列,其中,N为大于等于1的正整数,3输入调度器接受外部接口传输的数据报文,即数据报文通过外部接口输入到3输入调度器,并下发到2N+1个异构执行体。具体实施时,异构执行体可以是基于不同CPU体系结构的处理器,例如本实施例中的5个异构执行体分别为基于ARM(AdvancedRISC Machine,进阶精简指令集机器)指令集的ARM处理器、基于MIPS(MillionInstructions Per Second,单字长定点指令平均执行速度)指令集的MIPS处理器、基于POWER(Performance Optimization With Enhanced RISC,增强RISC(ReducedInstructionSetComputer,精简指令集计算机)性能优化)指令集的powerPC处理器、基于X86指令集的intel处理器以及基于RISC-V指令集的RISC-V处理器,当然也可以选择基于相同CPU体系结构的处理器,更具体地说,异构执行体可以选择相同的处理器或不同的处理器的组合。为了缓存每个异构执行体发出的异构计算输出数据报文,需要2N+1个调度队列,选择器根据一定的算法从2N+1个缓存队列中每次选出3个进行调度,选择算法可以顺序的方式进行,例如开始第一次选择调度队列1、2、3,第二次选择剩下的调度队列4、5;也可以采用随机方法选择,例如第一次从调度队列1-5中任选3个例如调度队列1、3、4,第二次选择剩下的调度队列2、5。调度队列一旦被选择过读取了异构计算输出数据报文,那么下一个周期就不再对该队列进行选择。
在本实施例中,选择器每周期最多输出3个数据报文A、B、C给3输入调度器,3输入调度器对接收到的数据报文A、B、C进行处理,判断上述数据报文的内容并存储在语义缓存计数器中,每个语义缓存计数器包含一个语义缓存器和一个计数器,一个语义缓存器可以存储一条数据报文,该语义缓存器对应的计数器存储该数据报文对应的语义出现的次数。
下面详细说明一下本发明的工作流程:
本发明中的调度器收到外部接口的数据报文,并分发至2N+1个异构执行体,该分发过程为本领域技术人员所熟知,在此不做赘述。
下面详细说明本发明中的工作过程:
首先,2N+1个异构执行体对接收到的数据报文进行计算,获得2N+1个数据报文发送至2N+1个调度队列,由于计算时间不同,各个报文到达队列的时间可能不同。因此等到2N+1个队列中都已存储当前的数据报文(一般情况下,调度器分发数据报文的时候可以给数据报文添加一个序列号,而异构执行体输出的异构计算输出数据报文可以包含此序列号,如果2N+1个执行体队列都收到了含有此序列号的数据报文,则表示所有队列中都已有当前的数据报文),选择器以事先配置好的策略(即前述的随机选择或者顺序选择)选择3个数据报文进行拟态判决。本实施例中以5个异构执行体为例,3输入调度器需要进行多轮的判决,第一轮,选择器选择了调度队列1、2、3输出,则第二轮选择调度队列4、5输出。拟态判决的核心过程是判断3个数据报文的语义是否相同或不同。在第一轮中,如果3个数据报文(分别是调度队列1输出的报文1、调度队列2输出的报文2和调度队列3输出的报文3)的语义完全相同(例如都是“地址A加1”),则将报文1存入一个语义缓存器,并对该语义缓存器的计数器置为3;如果报文1和报文2的语义相同,而报文3与报文1语义不同(例如报文1和报文2的语义是“地址A加1”,而报文3的语义是“地址A减1”)则将报文1存入一个语义缓存器,并将该语义缓存器的计数器置为2,将报文3存入另一个语义缓存器,并将该语义缓存器的计数器置为1(如图3所示)。如果3个报文均不同,则将3个报文分别存入3个语义缓存器,每个语义缓存器的计数器设置值均为1。
由于本实施例中的调度器只有3个端口,因此,第二轮中,如果语义缓存器中只存储了1个数据报文,例如报文1,则选择器根据上轮调度的结果反馈信息,选择剩下的2个未调度队列中的数据报文,例如调度队列4和5的输出数据报文,并将调度队列4和5的数据报文再加上存储在缓存器中的报文1进行拟态判决;如果语义缓存器中存储了2个数据报文,例如报文1和报文3,则选择器根据上轮调度的结果反馈信息,选择调度剩下的2个未调度队列中的一个,例如调度队列4,加上存储在缓存器中的报文1和报文3进行拟态判决;如果语义缓存器中存储了3个数据报文,例如报文1、2、3,则选择器根据上轮调度的结果反馈信息,选择调度剩下的2个未调度队列中的一个数据报文,例如调度队列4的输出,加上存储在缓存器中的报文1、2进行拟态判决,如果调度队列4中的数据报文和报文1、2都不一致,则再将调度队列4中的数据报文和报文2、3或报文1、3进行语义判决,直至报文1、2、3均参加了语义判决。以此类推,当所有的调度队列中的数据报文都已经参与了拟态判决后,根据语义缓存中的计数结果,判断优势胜出的语义,选定为本次的拟态判断执行结果,并输出至外部接口。
具体实施时,拟态调度过程中可能出现一些异常情况,例如,第一轮选择3个队列的数据报文,而3个数据报文的语义均不一样,则3个语义缓存器中存储了3个数据报文,第二轮调度队列4的数据报文和语义缓存器中的报文1、2和3比较,结果又不一样,则意味着在只有5个异构执行体的本实施例中,至少有4个数据报文输出不同,此时已没有进行继续语义判决的必要,则应当进入报错程序。而引发此种情况的原因可能是程序设计错误、异构执行体同步错误、或者在此数据报文的处理上存在多模态的漏洞,此时整个拟态调度器将交由错误恢复程序进行处理,将系统复位、执行同步、恢复现场等一系列流程。具体实施时,对于2N+1个异构执行体,如果出现N+1个不同语义的数据报文,即出现一半以上的不同语义的数据报文,则已经没有进行语义判决的必要,应当进入报错程序处理。
下面以具体的数据报文内容为例来进行说明语义判决,例如报文1为“给A地址加一”,报文2为“给A地址加2”,报文3为“给A地址减2”,那么可以认为报文1和报文2的语义相同,而报文3的语义不同。那么,可以将报文1存入语义缓存器1,对语义缓存器1对应的计数器设置为2,报文2存入语义缓存器2,对语义缓存器2的计数器设置为1。当然,如果输入的3个语义都相同,那么结果将输入1存入语义缓存器1,对语义缓存器1对应的计数器设置为3,如图3所示。需要说明的是,在此仅仅举一个例子说明数据报文语义判决的含义,须知数据报文语义判决的规则可以根据需要自行设定,而且数据报文的语义判决为现有技术,本领域技术人员对此应当了解。
当第一个周期的3个数据报文处理完毕,如果异构执行体的数量为3个,即只有3个调度队列存储了3条数据报文,那么此时所有异构执行体中的数据报文全部进行了语义判决,则判断优势胜出的语义,选定为本次的拟态判断执行结果,并输出至外部接口,整个拟态调度判决结束。
如果异构执行体的数量很多,第一个周期对3个数据报文进行语义判决后还有未进行语义判决的数据报文,则选择器根据上一周期的语义判决的结果选择剩下的调度队列中的数据报文,如果上一周期缓存了2个语义不同的数据报文,那么本周期选择器选择从一个调度队列读取1个数据报文;如果上一周期缓存了1个语义的数据报文,那么本周期选择器选择从两个调度队列读取2个数据报文,然后选择器将调度队列的数据报文输出给3输入调度器,确保3输入调度器同一时刻只处理3个数据报文;3输入调度器将本周期内选择的调度队列的数据报文和当前语义缓存器中的数据报文进行语义判决,再进行存储。具体地说,如果上一周期缓存了2个不同语义的数据报文,那么本周期选择器只选取1个数据报文,3输入调度器对上一周期缓存的数据报文和本周期选择的1个数据报文进行语义判决,如果本周期选择的1个数据报文和上周期缓存的2种不同语义的数据报文中的任一个语义相同,则将上周期缓存了与本周期选择的报文语义相同的数据报文的语义缓存器对应的计数器加1。如果上一周期缓存了1个数据报文,本周期选择器选取了2个数据报文,3输入调度器对上一周期缓存的1个数据报文和本周期选择的2个数据报文进行语义判决,如果本周期选择的2个数据报文全部和上周期缓存的数据报文语义相同,则将上周期缓存了与本周期选择的数据报文语义相同的数据报文的语义缓存器对应的计数器加2;如果本周期选择的2个数据报文中的其中一个和上周期缓存的数据报文的语义相同,则将上周期缓存了与本周期选择的数据报文语义相同的数据报文的语义缓存器对应的计数器加1,同时将本周期选择的2个数据报文中的另一个存储在另外的语义缓存器中,并将该语义缓存器中的计数器计为1;如果本周期选择的2个数据报文语义相同,但与上周期缓存的数据报文的语义不同,则将本周期选择的2个数据报文中选择一个存储在另外的语义缓存器中,并将该语义缓存器中的计数器计为2。如果上周期缓存了3种不同语义的数据报文,那么本周期只选取1个数据报文,然后将本周期选取的数据报文和上周期缓存的3种不同语义中的两个数据报文进行语义判决,如果本周期选取的数据报文和这两个语义均不同,再将其与上周期缓存的3种不同语义的数据报文中剩下的一个数据报文进行语义判决,如果本周期选取的数据报文与剩下的这一个数据报文语义也不同,则可能是出现多个异构执行体同步问题,程序设计错误或者是小概率的攻击成功,此时整个拟态调度器将交由错误恢复程序进行处理。当所有的调度队列中的数据报文都已经参与了拟态判决后,根据语义缓存中的计数结果,判断优势胜出的语义,选定为本次的拟态判断执行结果,并输出至外部接口。需要说明的是,本发明中的报文与数据报文含义相同。
通过本发明,不仅能够确保最终的判断结果的准确性,而且实现起来简单、规模较小、复杂程度低。
本领域技术人员应当理解,以上所描述的装置实施例仅仅是示意性的,在本申请所提供的实施例所公开的装置和方法,可以通过其它的方式实现。本实施例中所说的通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
Claims (10)
1.一种拟态调度判决方法,其特征在于:包括以下步骤:
S1、选择器从2N+1个异构执行体的调度队列中选择2M+1个报文输出给调度器,所述调度器为2M+1输入调度器,其中N≥1且N为正整数,M≤N;
S2、2M+1输入调度器对2M+1个报文进行语义判决,对于语义相同的报文择一存储在语义缓存器中,对于语义不同的报文分别存储在不同的语义缓存器中,各语义缓存器对应的计数器中记入语义相同的报文的数量;记已经存储了报文的语义缓存器的数量为X;如果2N+1个异构执行体的调度队列中的报文全部完成语义判决,则进入步骤S4,否则进入步骤S3;
S3、选择器继续从2N+1个异构执行体的调度队列中剩下的报文中选择Y个报文,连同X个语义缓存器中的X’个报文一起输入到调度器,进行语义判决,其中Y+X’=2M+1,
若1≤X﹤2M+1,则调度器将Y个报文分别与已经存储在X个语义缓存器中的报文进行语义判决,其中,X’=X,1≤Y﹤2M+1;
若X≥2M+1,则选择器从已经存储了报文的X个语义缓存器中选择X’个报文与Y个报文进行语义判决,其中,X’<X,1≤Y﹤2M+1;
直至2N+1个异构执行体的调度队列中的报文全部完成语义判决,并且各语义缓存器中存储的报文的语义互不相同;若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若从调度队列中选择的某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1;
S4、根据语义缓存器中存储的报文的数量,判断优势胜出的报文并输出,所述优势胜出指语义相同数量最多的报文胜出。
2.根据权利要求1所述的拟态调度判决方法,其特征在于:所述步骤S3具体为,
S31、选择器根据已经存储了报文的语义缓存器的数量X,继续从2N+1个异构执行体的调度队列中剩下的报文中选择Y个报文,并将X+Y个报文输入给调度器,其中,1≤Y﹤2M+1;
S32、(1)当1≤X﹤2M+1时,X+Y=2M+1,X’=X,调度器将Y个报文分别与已经存储在X个语义缓存器中的报文进行语义判决,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器中记入1;
(2)当X≥2M+1时,选择器从已经存储了报文的X个语义缓存器中选择X’个报文与Y个报文进行语义判决,其中,X’+Y=2M+1,如果调度器判决Y个报文中的某一报文与某一语义缓存器中的报文语义相同,则将该语义缓存器对应的计数器加1,如果调度器判决Y个报文中的某一报文与语义缓存器中存储的任何一个报文都不构成语义相同,则遍历X个语义缓存器中的报文,直至Y个报文与X个语义缓存器中存储的报文都进行了语义判决;对于Y个报文中,若某一报文被判决为与X个语义缓存器中存储的报文语义不同,将该报文存储在一个新的语义缓存器中,并在该语义缓存器对应的计数器记入1,若某一报文被判决为与X个语义缓存器中存储的某一报文构成语义相同,则将相应语义缓存器对应的计数器加1;
S33、重复步骤S31、S32直至2N+1个异构执行体中的报文全部完成语义判决。
3.根据权利要求1或2所述的拟态调度判决方法,其特征在于:所述步骤S1中选择器从2N+1个异构执行体中选择3个报文输出给调度器,所述调度器为3输入调度器。
4.根据权利要求3所述的拟态调度判决方法,其特征在于:如果X≥N+2,则停止判决。
5.根据权利要求1或2所述的拟态调度判决方法,其特征在于:所述步骤S1中选择器从2N+1个异构执行体中选择报文的策略为顺序挑选或随机挑选。
6.根据权利要求1或2所述的拟态调度判决方法,其特征在于:如果X≥N+2,则停止判决。
7.一种拟态调度器,包括调度器、选择器,其特征在于:还包括若干个语义缓存器、与语义缓存器对应的若干计数器,所述拟态调度器执行所述权利要求1-6任一权利要求所述的拟态调度判决方法。
8.根据权利要求7所述的拟态调度器,其特征在于:所述调度器为3输入调度器。
9.根据权利要求7所述的拟态调度器,其特征在于:所述异构执行体为基于ARM指令集的ARM处理器、基于MIPS指令集的MIPS处理器、基于POWER指令集的powerPC处理器、基于X86指令集的intel处理器、基于RISC-V指令集的RISC-V处理器中的一个或多个。
10.一种可读存储介质,其特征在于:所述可读存储介质中存储有程序,该程序被处理器执行时实现权利要求1-6任一权利要求所述的拟态调度判决方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895064.8A CN111752730B (zh) | 2020-08-31 | 2020-08-31 | 一种拟态调度判决方法、拟态调度器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895064.8A CN111752730B (zh) | 2020-08-31 | 2020-08-31 | 一种拟态调度判决方法、拟态调度器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752730A CN111752730A (zh) | 2020-10-09 |
CN111752730B true CN111752730B (zh) | 2020-12-04 |
Family
ID=72713448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010895064.8A Active CN111752730B (zh) | 2020-08-31 | 2020-08-31 | 一种拟态调度判决方法、拟态调度器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752730B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277607B (zh) * | 2022-07-15 | 2023-12-26 | 天津市滨海新区信息技术创新中心 | 一种异构系统复杂流量情况下的两级拟态判决方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999008411A3 (en) * | 1997-08-08 | 2000-11-02 | Jonathan Stiebel | New operation for key insertion with folding |
CN110177080A (zh) * | 2019-04-18 | 2019-08-27 | 中国人民解放军战略支援部队信息工程大学 | 拟态交换机、网络设备及系统 |
CN111049677A (zh) * | 2019-11-27 | 2020-04-21 | 网络通信与安全紫金山实验室 | 拟态交换机异构执行体的清洗恢复方法和装置 |
CN111371907A (zh) * | 2020-05-26 | 2020-07-03 | 网络通信与安全紫金山实验室 | 一种基于stp协议的数据同步方法、装置和拟态交换机 |
-
2020
- 2020-08-31 CN CN202010895064.8A patent/CN111752730B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999008411A3 (en) * | 1997-08-08 | 2000-11-02 | Jonathan Stiebel | New operation for key insertion with folding |
CN110177080A (zh) * | 2019-04-18 | 2019-08-27 | 中国人民解放军战略支援部队信息工程大学 | 拟态交换机、网络设备及系统 |
CN111049677A (zh) * | 2019-11-27 | 2020-04-21 | 网络通信与安全紫金山实验室 | 拟态交换机异构执行体的清洗恢复方法和装置 |
CN111371907A (zh) * | 2020-05-26 | 2020-07-03 | 网络通信与安全紫金山实验室 | 一种基于stp协议的数据同步方法、装置和拟态交换机 |
Also Published As
Publication number | Publication date |
---|---|
CN111752730A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Online adaptive interference-aware VNF deployment and migration for 5G network slice | |
US20050097300A1 (en) | Processing system and method including a dedicated collective offload engine providing collective processing in a distributed computing environment | |
CN110602062B (zh) | 基于强化学习的网络主动防御方法及装置 | |
CN111752730B (zh) | 一种拟态调度判决方法、拟态调度器及可读存储介质 | |
Chai et al. | DQ-MOTAG: deep reinforcement learning-based moving target defense against DDoS attacks | |
Wang et al. | SmartChain: Enabling high-performance service chain partition between SmartNIC and CPU | |
Chen et al. | Optimizing network transfers for data analytic jobs across geo-distributed datacenters | |
Kettaneh et al. | Falcon: Low latency, network-accelerated scheduling | |
US20220383304A1 (en) | Distributed network with consensus mechanism | |
Li et al. | Gt-chain: A fair blockchain for intelligent industrial iot applications | |
CN111786967A (zh) | DDoS攻击的防御方法、系统、节点及存储介质 | |
Prakash et al. | Randomized parallel schedulers for switch-memory-switch routers: Analysis and numerical studies | |
Priyadarsini et al. | A secure virtual controller for traffic management in SDN | |
Wu et al. | Tolerating adversarial attacks and byzantine faults in distributed machine learning | |
Tamim et al. | Intelligent o-ran traffic steering for urllc through deep reinforcement learning | |
Hamadi et al. | Boosting distributed constraint satisfaction | |
KR102050828B1 (ko) | 병렬 연산을 이용한 오픈 가상 스위치의 가속화 방법 및 이를 이용한 오픈 가상 스위치 | |
KR20220082898A (ko) | 분산 네트워크의 계산 결과에 대한 판독 액세스 | |
Kogan et al. | Large profits or fast gains: A dilemma in maximizing throughput with applications to network processors | |
Wang et al. | PopFlow: a novel flow management scheme for SDN switch of multiple flow tables based on flow popularity | |
Sombabu et al. | Whittle index based age-of-information aware scheduling for Markovian channels | |
CN115085969B (zh) | 基于Vpp底层框架的拟态架构及裁决方法 | |
Girish et al. | DadGAN: DDOS Anomaly Detection using Generative Adversarial Network | |
CN117938750B (zh) | 调度路由信息的处理方法、装置、设备、存储介质及产品 | |
Moniz | Using Randomized Byzantine Consensus To Improve Blockchain Resilience Under Attack |
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 |