本披露一般涉及电磁仿真。更具体地,本披露涉及一种用于电磁环境仿真的系统、方法、设备及计算机可读存储介质。
背景技术:
1、针对电磁环境模拟仿真中,电磁空间的探测等活动常常依赖于不同干扰源、探测源在某一位置的场强,基于场强进行比对计算来判断是否被干扰。传统的电磁场强计算会基于某种拟合公式或计算方法,但是当存在海量电磁实体和位置场强查询需求时,基于单机单核的计算方式已难以满足模拟仿真的实时计算需求。
2、有鉴于此,亟需提供一种用于电磁环境仿真的方案,以便提升用于电磁环境模拟仿真的运算资源,以提高仿真处理速度和仿真性能。
技术实现思路
1、为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了用于电磁环境仿真的系统、方法、设备及计算机可读存储介质方案。
2、在第一方面中,本披露提供一种用于电磁环境仿真的系统,包括控制节点和多个计算节点,其中所述控制节点用于根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点;所述计算节点用于基于接收到的所述请求信息,执行相应的操作。
3、在一些实施例中,所述控制节点进一步用于:响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
4、在另一些实施例中,所述计算节点在执行相应的操作中进一步用于:响应于接收到添加仿真对象的请求信息,将所需添加的仿真对象的实体信息添加到所述计算节点的内存中;响应于接收到更新仿真对象的请求信息,将存储于所述内存中的所需更新的仿真对象的实体信息进行更新;响应于接收到执行查询任务的请求信息,基于所述查询任务执行相应的仿真计算。
5、在又一些实施例中,所述控制节点在确定执行所述查询任务的计算节点中进一步用于:基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
6、在一些实施例中,所述控制节点进一步用于:基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
7、在另一些实施例中,所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:其中,表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
8、在又一些实施例中,所述占用率通过下式计算得到:其中,occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,表示已分配任务taski被分配给第m个计算节点的分配时刻。
9、在一些实施例中,所述控制节点还用于:在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;更新各计算节点的占用率,以得到所述各计算节点的更新占用率;依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
10、在另一些实施例中,所述控制节点进一步用于:响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
11、在第二方面中,本披露提供一种用于电磁环境仿真的方法,应用于包括多个计算节点的系统中,所述方法包括:根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点,使得所述计算节点基于接收到的所述请求信息,执行相应的操作。
12、在一些实施例中,所述方法进一步包括:响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
13、在另一些实施例中,确定执行所述查询任务的计算节点包括:基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
14、在又一些实施例中,所述方法进一步包括:基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
15、在一些实施例中,所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:其中,表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
16、在另一些实施例中,所述占用率通过下式计算得到:其中,occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,表示已分配任务taski被分配给第m个计算节点的分配时刻。
17、在又一些实施例中,所述方法还包括:在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;更新各计算节点的占用率,以得到所述各计算节点的更新占用率;依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
18、在一些实施例中,确定是否更新所述占用率队列进一步包括:响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
19、在第三方面中,本披露提供一种用于电磁环境仿真的设备,包括:处理器,其用于执行程序指令;以及存储器,其存储有所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理器执行根据本披露在第一方面中任一所述的方法。
20、在第四方面中,本披露提供一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如本披露在第一方面中任意一项所述的方法。
21、通过如上所提供的用于电磁环境仿真的方案,本披露实施例通过设置包括多个计算节点的系统,有利于提升用于电磁环境模拟仿真的运算资源,以及通过系统中的控制节点根据接收到的请求信息的类型来确定相应的计算节点,使得多个计算节点可以承担相应的请求任务,从而可以实现多个计算节点批量处理仿真计算任务的能力,以提高海量仿真任务的处理效率和仿真性能。