一种多域多源协同共场景软件重构实现方法

文档序号:25041961发布日期:2021-05-14 11:01阅读:136来源:国知局
一种多域多源协同共场景软件重构实现方法

1.本发明属于计算机软件技术领域,具体涉及一种多域多源协同共场景软件重构实现方法。


背景技术:

2.随着混合现实多人异地交互需求而发展的,采用空间锚点、空间时间辅助定位等技术,通过系统网络服务器将远程各个终端的空间定位在虚拟空间与真实空间进行同步,从而实现空间的定位,在确定空间定位的基础上协调各个终端的操作同步和响应同步,利用混合现实mr及扩展现实xr思想将多域多源协同共场景全息显示,实现跨域场景的共享,完成基于任务全过程的系统应用和应急保障。
3.目前,软件重构技术主要采用“bootloader+app”方式,将完整的软件功能模块的可执行代码,用连续地址的遥控注入方式注入到应用设备,以替代原来的功能模块。但这些方法无法保留初始软件版本,一旦二次加载的app出现异常,无法及时修复,将会对任务造成影响。
4.另外,多域多源协同共场景条件下软件重构还没有涉及,同时,有时仅需对部分代码进行修改,例如某个控制算法等。由于协同通信带宽的限制,若仍使用整体代码更新的方式,则会造成时间和资源的浪费,处理过程复杂风险高。


技术实现要素:

5.本发明的目的是提供一种多域多源协同共场景软件重构实现方法,能够用于对局部代码进行更新。
6.本发明所采用的技术方案是,一种多域多源协同共场景软件重构实现方法,具体按照以下步骤实施:
7.步骤1、建立多域多源无线协同共场景模型;
8.步骤2、对多域多源无线协同共场景模型域内采用广播最佳搜索选择方法实现域内节点的协同;域间采用深度优先搜索选择方法实现域间协同和功率优化,形成多域多源无线协同共场景策略;
9.步骤3、通过多源无线协同功率最小策略对步骤2得到的共场景策略进行优化;
10.步骤4、将重构的代码通过无线通信链路发送至优化的共场景策略管理控制的计算机,该计算机采用“重构程序app1+原程序app2”的方式,将重构的代码移植在重构程序app1中,app1映射到内部闪存地址;若app1无法正常运行,系统熔断响应并跳转至原程序app2,运行原程序app2执行原来升级前的基本任务。
11.步骤1具体过程为:
12.多域多源无线协作同场景网络系统中有不同的协作域定义为:s1,s2,

,s
l
,l为协作域数量,每个协作域内有m个节点d
l1
,d
l2
,

,d
lm
,l=1,2,

,l其中,s1与s2,s3,

,s
l
是域间友邻关系,在不同s1,

,s
l
域内节点的关系分别为父子关系;
13.对各个协作域之间建立可逆且等效的信道,每个信道相互独立且服从rayleigh衰落模型;
14.设每个协作域内的源节点d
li
与域内对应协同节点之间的信道增益(d
li
,d
lj
)(d
li
,d
lj
∈s
l
,i≠j,j=1,2,

,m

1);
15.系统在协同时会受到均值为0,方差为σ0的加性高斯白噪音的干扰,若每个节点的发射功率为p
j
,那么信噪比表示为ρ=p
j
/σ0。
16.步骤2具体过程为:
17.当对多域多源无线协同共场景模型内任一个协作域内源节点与其他协作域内节点协同共场景时,需要分别考虑域内节点协同,以及域间节点协同;
18.域内节点协同:d
li
与d
lm
同属于域s
l
,节点d
li
发送数据需要与d
lm
协同,采用域内广播最优搜索选择方法,即域内其它m

1个源节点收到消息后,分别解码d
li
的数据信息,均作为中继节点,选出的域内最佳协同目的节点d
lm

19.域间节点协同:构造调用递归函数dfs(
·
),用来标记和访问的节点d
i
,建立关联的邻接表函数list(
·
);当节点不属于同一个域内时,采用域间深度优先搜索选择方法,选出域间解码最接近的节点为最佳协同目的节点d
lk

20.域内节点协同和域间节点协同形成多域多源无线协同共场景策略。
21.域间节点协同具体过程为:
22.节点d
1i
∈s1,节点d
2i
∈s2,且区域s2的节点d
2i
是源节点d
1i
邻接表的第一个节点元素,即且没有被搜索过,利用递归调用函数dfs(
·
)来标识并访问节点d
2i
,即dfs(d
1i
,d
2i
)=d
2i
,系统将节点d
1i
和节点d
2i
的邻接表的当前位置压入栈中;
23.节点d
1i
和节点d
2i
的邻接表已经搜索过,因此递归函数dfs(
·
)跳过该节点;区域s2的节点d
2i
采用域内广播最优搜索选择方法,选出区域s2内d
2i
的最佳协同目的节点d
2n

24.同理,在区域s
l
找到节点d
1i
邻接表的第一个节点元素d
li
,即dfs(d
1i
,d
li
)=d
li
,采用域内广播最优搜索选择方法,选出区域s
l
内d
li
最佳协同目的节点d
lk

25.步骤3具体过程为:
26.每个源节点采用正交传输机制与各自目标节点间进行通信,中继节点进行协作时遵循正交信道原则,中继节点通信时与被协作的源节点采用相同的码本,源节点与目的节点之间的信息效率为r;
27.最佳协同目的节点的最小可靠传输功率分配系数k
i
由信息效率r得到,即:
[0028][0029][0030]
其中,为域内或域间的节点间的信道增益;
[0031]
假设每个源节点的所有中继节点已经进行全部遍历,在域内s1源节点d
1i
选择一个中继节点d
1p
,分配给其最低的可靠传输功率,并由中心控制单元计算判断其剩余功率,能否使其他节点需要通过该中继节点协作的源节点协同成功,若能够支持,则该中继节点将有
资格成为源节点的备选中继节点,否则不予考虑;以此类推,直到遍历完域内的所有情况;在所有中继节点选择情况中选择一组中继节点{d
1p
,d
1p+1
,d
1p+2


,d
1p+m
},(m=1,2,

,d1‑
1),使得协同链路成功的个数最小化;
[0032]
同理,对于不同域协同采用域间深度优先搜索选择方法完成域间节点设计,采用域内方法计算协作域s
l
中中继节点表述为:{d
lp
,d
lp+1
,d
lp+2


,d
lp+m
},(m=1,2,

,d
l

1);
[0033]
当域内有多个中继节点时,在分配给中继节点最小的可靠传输功率后,如果剩余功率无法继续支持需要该中继节点进行协作的源节点,则该中继节点会被移除所在源节点的集合;
[0034]
设该中继节点总的数量为d,即d=d1+d2…
+d
l
,优先选择能够使d最小的中继节点数作为最佳中继节点数,若存在多个最小的情况,则随机选择一个;
[0035]
在d最小的情况下,通过优化协同共场景传输信息速率和分布式功率p
i
分配实现共场景策略优化。
[0036]
优化协同共场景传输信息速率r和分布式功率p
i
分配过程为:
[0037]
信息速率r由(1)式变形为则优化函数可以表示为:
[0038][0039]
本发明有益效果是:
[0040]
本发明一种多域多源协同共场景软件重构实现方法,能够降低系统失败风险,提高任务执行的可靠性,简化软件重构的设计。同时,该方法还可用于对局部代码进行更新,适用于多域多源调制解调器的代码移植重构。
附图说明
[0041]
图1是本发明中多域多源无线协同共场景示意图;
[0042]
图2是本发明中多域多源协同共场景在线重构关系图;
[0043]
图3是本发明中协同共场景的软件重构示意图;
[0044]
图4是本发明实施例中16qam连续信号定时同步星座图;
[0045]
图5是本发明实施例中16qam连续信号载波同步星座图;
[0046]
图6是本发明实施例中16音信号定时同步后符号映射图;
[0047]
图7是本发明实施例中16音信号载波同步后符号的形态图;
[0048]
图8是本发明实施例中功率分配最小与理想情况下的网络中断概率仿真对比图。
具体实施方式
[0049]
下面结合具体实施方式对本发明进行详细说明。
[0050]
本发明一种多域多源协同共场景软件重构实现方法,具体按照以下步骤实施:
[0051]
步骤1、建立多域多源无线协同共场景模型;
[0052]
步骤1具体过程为:
[0053]
多域多源无线协作同场景网络中有不同的协作域s1,s2,

,s
l
,l为协作域数量,多
域多源无线协作同场景网络系统中有不同的协作域定义为:s1,s2,

,s
l
,l为协作域数量,每个协作域内有m个节点d
l1
,d
l2
,

,d
lm
,l=1,2,

,l其中,s1与s2,s3,

,s
l
是域间友邻关系,在不同s1,

,s
l
域内节点的关系分别为父子关系;
[0054]
如图1所示,以三个协作区域为例,协作域s1内有m个节点d1,d2,

,d
m
,协作域s2内有n个节点r1,r2,

,r
n
,协作域s3内有k个节点e1,e2,

,e
k
。网络中各个节点相互协作。
[0055]
对各个协作域之间建立可逆且等效的信道,每个信道相互独立且服从rayleigh衰落模型;
[0056]
设每个协作域内的源节点d
li
与域内对应协同节点之间的信道增益(d
li
,d
lj
)(d
li
,d
lj
∈s
l
,i≠j,j=1,2,

,m

1);
[0057]
设s1域内的源节点d
i
与域内对应协同节点之间的信道增益h(d
i
,d
j
)(d
i
,d
j
∈s1,i≠j,j=1,2,

,m

1),源节点d
i
与域s2的节点r
i
间的信道增益h(d
i
,r
j
)(d
i
∈s1,r
j
∈s2,i=1,2,

,m,j=1,2,

,n),源节点d
i
与域s3的节点e
j
间的信道增益h(d
i
,e
j
)(d
i
∈s1,e
j
∈s3,i=1,2,

,m,j=1,2,

,k)。
[0058]
所有的信道都是可逆等效的,系统在协同时会受到均值为0,方差为σ0的加性高斯白噪音的干扰,若每个节点的发射功率为p
j
,那么信噪比表示为ρ=p
j
/σ0。
[0059]
步骤2、对多域多源无线协同共场景模型域内采用广播最佳搜索选择方法实现域内节点的协同;域间采用深度优先搜索选择方法实现域间协同和功率优化,形成多域多源无线协同共场景策略;
[0060]
步骤2具体过程为:
[0061]
当对多域多源无线协同共场景模型内任一个协作域内源节点与其他协作域内节点协同共场景时,需要分别考虑域内节点协同,以及域间节点协同;
[0062]
域内节点协同:d
li
与d
lm
同属于域s
l
,节点d
li
发送数据需要与d
lm
协同,采用域内广播最优搜索选择方法,即域内其它m

1个源节点收到消息后,分别解码d
li
的数据信息,均作为中继节点,选出的域内最佳协同目的节点d
lm

[0063]
域间节点协同:构造调用递归函数dfs(
·
),用来标记和访问的节点d
i
,建立关联的邻接表函数list(
·
);当节点不属于同一个域内时,采用域间深度优先搜索选择方法,选出域间解码最接近的节点为最佳协同目的节点d
lk

[0064]
域间节点协同具体过程为:
[0065]
节点d
1i
∈s1,节点d
2i
∈s2,且区域s2的节点d
2i
是源节点d
1i
邻接表的第一个节点元素,即且没有被搜索过,利用递归调用函数dfs(
·
)来标识并访问节点d
2i
,即dfs(d
1i
,d
2i
)=d
2i
,系统将节点d
1i
和节点d
2i
的邻接表的当前位置压入栈中;
[0066]
节点d
1i
和节点d
2i
的邻接表已经搜索过,因此递归函数dfs(
·
)跳过该节点;区域s2的节点d
2i
采用域内广播最优搜索选择方法,选出区域s2内d
2i
的最佳协同目的节点d
2n

[0067]
同理,在区域s
l
找到节点d
1i
邻接表的第一个节点元素d
li
,即dfs(d
1i
,d
li
)=d
li
,采用域内广播最优搜索选择方法,选出区域s
l
内d
li
最佳协同目的节点d
lk

[0068]
域内节点协同和域间节点协同形成多域多源无线协同共场景策略。
[0069]
在域内采用域内广播最优搜索选择方法,域间采用域间深度优先搜索选择方法的基础上,为了保证系统可靠性的前提下,怎样选出最佳中继节点协同目的节点,提出一种功
耗最小条件下,系统传输的信息速率最大的方法。该方法在满足使得协作传输成功的最小功率前提下,协同网络信息传输速率最大,从而达到降低系统功耗,提升整个系统利用效能的目的。
[0070]
步骤3、通过多源无线协同功率最小策略对步骤2得到的共场景策略进行优化;
[0071]
步骤3具体过程为:
[0072]
每个源节点采用正交传输机制与各自目标节点间进行通信,中继节点进行协作时遵循正交信道原则,中继节点通信时与被协作的源节点采用相同的码本,源节点与目的节点之间的信息效率为r。
[0073]
为了能够保证多域协同成功,且使得系统的功耗最小,功率可分配为刚好能够让每个源节点在各自中继节点的协同工作。在此考虑最佳中继节点与目的节点间的信道质量情况,不考虑采用将两者进行合并接收的形式。
[0074]
因此,最佳协同目的节点的最小可靠传输功率分配系数k
i
由信息效率r得到,即:
[0075]
r=log2(1+k
i
ρ
i
|g
i
(n
i
,n
j
)|2)
ꢀꢀꢀ
(1)
[0076][0077]
其中,g
i
(n
i
,n
j
)为域内或域间节点n
i
,n
j
间的信道增益;信道增益均为循环对称复高斯随机变量,且方差分别为ρ
i
=p
i
/n0表示节点i的信噪比,p
i
,n0分别是节点i的发射功率和白噪声功率。
[0078]
假设每个源节点的所有中继节点已经进行全部遍历,在域内s1源节点d
1i
选择一个中继节点d
1p
,分配给其最低的可靠传输功率,并由中心控制单元计算判断其剩余功率,能否使其他节点需要通过该中继节点协作的源节点协同成功,若能够支持,则该中继节点将有资格成为源节点的备选中继节点,否则不予考虑;以此类推,直到遍历完域内的所有情况;在所有中继节点选择情况中选择一组中继节点{d
1p
,d
1p+1
,d
1p+2


,d
1p+m
},(m=1,2,

,d1‑
1),使得协同链路成功的个数最小化;
[0079]
同理,对于不同域协同采用域间深度优先搜索选择方法完成域间节点设计,采用域内方法计算协作域s
l
中中继节点表述为:{d
lp
,d
lp+1
,d
lp+2


,d
lp+m
},(m=1,2,

,d
l

1);
[0080]
该方法最佳中继不再以全功率进行转发,而是以最小的可靠传输功率进行协作,当域内有多个中继节点时,在分配给中继节点最小的可靠传输功率后,如果剩余功率无法继续支持需要该中继节点进行协作的源节点,则该中继节点会被移除所在源节点的集合;
[0081]
设该中继节点总的数量为d,即d=d1+d2…
+d
l
,选择的中继节点数不同,d的值也会不同。优先选择能够使d最小的中继节点数作为最佳中继节点数,若存在多个最小的情况,则随机选择一个;
[0082]
为实现多域多源节点协同共场景,在选择d最小的前提下,通过优化协同共场景传输信息速率和分布式功率p
i
分配实现共场景策略优化。
[0083]
优化协同共场景传输信息速率r和分布式功率p
i
分配过程为:
[0084]
信息速率r由(1)式变形为则优化函数可以表示为:
[0085][0086]
d越小意味着选择该中继对以后的中继节点数量选择影响就越小,即为后续的中继节点数选择保留了更大的空间,系统功耗与信息速率优化就会变得简单,因此,该方法在选择中继节点时,选择使d最小的中继节点数作为选择功耗优化的条件。该方法在分配给最佳中继节点最小的可靠传输功率后,如果功率仍有剩余,还可以继续支持其共享集中的其它节点,直到功率耗尽或无可支持的源节点为止,这样分配的好处是可以更有效地减少冲突。
[0087]
步骤4、通过系统网络服务器将远程各个终端的空间定位在真实空间进行同步,从而实现空间的定位,在确定空间定位的基础上协调各个终端的操作同步和响应同步,采用空间锚点、空间时间辅助定位等思想,基于多域多源无线协同共场景协同功率最小方法,将多域多源协同共场景全息显示,实现跨域场景的共享。
[0088]
将重构的代码通过无线通信链路发送至优化的共场景策略管理控制的计算机,该计算机采用“重构程序app1+原程序app2”的方式,将重构的代码移植在重构程序app1中,app1映射到内部闪存地址;若app1无法正常运行,系统熔断响应并跳转至原程序app2,运行原程序app2执行原来升级前的基本任务。
[0089]
将重构的代码通过无线通信链路发送至优化的共场景策略管理控制的计算机后,计算机通过emif、uart、spi、usb、ethernet等通信方式转发给应用嵌入式系统。应用嵌入式系统可根据与数据管理控制计算机间的通信方式配置不同的接口芯片。
[0090]
为了验证上述dsp多域多源重构方法的可行性,在实验室环境中进行了dsp子程序的远程更新仿真验证,如图2所示。以一个同步终端视角为例,实现多域软件重构。终端系统中采用dsp芯片作为主控制器,通过外部存储器接口emif/uart与fpga互连,而fpga作为sdram、flash、prom、can接口等各种外部设备的管理器,实现dsp对各种外设的访问。
[0091]
加电启动原始的dsp软件系统,也可以通过flash加载更新的dsp软件系统。而当flash中的软件需要更新时,首先通过通信接口将准备好的更新代码数据发送到计算机,然后由计算机利用can总线将更新代码数据传送至dsp,并暂时存储在sdram中,接着由dsp将更新程序代码写入flash进行软件升级,升级结束后重新上电启动dsp即可使新代码得到执行。
[0092]
本发明一种基于多域多源协同共场景的软件重构方法,其核心思想是采用“重构程序+原程序”组合方式,如图3所示,将bootloader功能藕合在重构程序app1中,app1映射到内部闪存(flash)地址,app1的更新不会修改原来程序app2,若app1无法正常运行时,系统跳转至app2(app2映射的内存为prom),运行app2执行原来升级前的基本任务,降低了系统失败风险,提高了任务执行的可靠性,简化了软件重构的设计。
[0093]
本发明的dsp软件加载过程分两级进行:一级升级优化和二级恢复备份。一级升级优化加载是在dsp复位后,主要包括系统初始化设置、crc校验、版本检验、代码数据拷贝等,并由dsp硬件通过dma或edma方式从dsp外部ce1空间(flash)拷贝1kb或64kb的bootloader代码到内部地址0的高速ram中,并从内部地址0开始执行加载;二级恢复备份加载是在一级加载的基础上,通过bootloader选择将原始的用户程序由加载地址拷贝到运行地址。
[0094]
在软件层面上,针对硬件实现的多系统存储冗余设计方案,设计了支持在运行升级、系统检错、选择启动和加载系统四大功能的引导系统。该系统支持多系统启动和校验,并能实现在线升级flash中的系统,且升级成功后选择更新后的系统启动,在prom中保留的是最初系统,它用来保证当flash中的系统启动失败时,系统仍能正常启动。它具有高可靠性、高灵活性的特点,可以很好地满足系统的高可靠性要求。
[0095]
软件重构具体步骤
[0096]
(1)系统初始化设置,以便加载程序bootloader通过emif对flash、prom和sdram进行访问;
[0097]
(2)读取flash获取系统拷贝表,并利用拷贝表的长度来判断系统是空表还是有效表格,如果有效则进行系统crc校验;
[0098]
(3)如果系统crc校验成功,选择“app1主程序”升级加载,bootloader便开始按照拷贝表要求,一段一段地进行代码和数据复制,直到遇到拷贝表的结束标志;
[0099]
(4)如果系统crc校验失败,系统启动“app2备份”程序,bootloader会自动选择prom中的原始系统启动;
[0100]
(5)根据设计需要判定是否继续下一次升级加载;
[0101]
(6)跳转到c语言入口地址,初始化c语言环境,并进入main函数执行用户代码。
[0102]
实施例
[0103]
为了验证上述多域多源共场景重构方法的可行性,在实验室环境中进行了16音连续信号解调算法的远程更新验证,并与仿真结果进行对比分析,验证了方法的有效性,在线重构关系如图2所示。
[0104]
重构16音连续信号解调器,软件需要完成timing_16音、carrier_16音、symtobit_16音三个组件的软件代码协同编译和调试。分别根据对应的功能算法要求,修改和添加需要改动的软件代码,编译并调试,然后复用相应的软件代码,再次编译调试通过后,软件同步加载,与组件框架代码合并,生成新的组件。16音连续信号的载波同步、定时同步后信号采样点的仿真星座图如图4和图5所示。
[0105]
基于多域多源软件重构方法,通过实时监控定时同步和载波同步,定时同步后符号映射呈三个幅度的环形散布,如图6所示,载波同步后符号映射呈16个团状聚集,能够正确反映16音信号定时同步和载波同步后符号的形态,如图7所示,表征组件运行结果的正确性。
[0106]
本节对所提的中继选择方法进行仿真。利用香农极限定理,当中继节点与目标节点间的互信息量小于信道容量时,系统将发生中断。这种实验方法侧重观察由信道本身变化所导致的中断对系统通信性能的影响。实验时考虑网络中断率对算法的影响,网络中断是指任何一条链路发生中断,就视为全网中断。无特殊说明下,仿真中所有信道均是独立的且服从rayleigh衰落,各仿真参数设置为:d=6,r=1(bps)/hz,
[0107]
令信源信噪比(ρ)从8db以1db为增量增长至15db,且每次误比特率计算均取1000次的平均值,得到16音信号的误比特率如表1所示。
[0108]
表1 16音信号解调误比特率
[0109]
[0110][0111]
图8为功率分配最小与理想情况下的网络中断概率仿真对比图。从图中可以观察到,随着snr的增加,误比特率减小,中断概率也随之减小。从表1和图8可以看出,在相同snr时,解调的误比特率与理论情况下的标准值相差较小;在相同的误比特率值时,信号snr较低时,恶化大约为1db,信号snr较高时,恶化大约为1.5db。但当误比特率低于0.001(信噪比大约高于10.5db)时,通过信道编码很容易将误比特率降为0,此时所带来的性能恶化可以忽略不计。本发明所提方法的目标节点只考虑了中继节点的功率结果,在中断性能相近的情况下降低了接收机的复杂度,因此具有较好的实用价值。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1