我正在开发一个Android应用程序,它扫描Android设备(CPU,内存,电池)的容量以及网络和数据的状态以做出决定(使计算卸载到云端)。 为了卸载,您必须确保所有信息(CPU,电池......)不足。对于前: if(电池容量<10%,当前柱塞> 100 mb和......等) 卸货; //在Edge或云服务器中运行该方法 其他 本地执行;
到目前为止,我获得了有关设备和网络的所有信息,但我不知道如何做出决定。我认为优化算法可以帮助我,但我不知道如何在java中实现这个算法。 帮我做一个特别的决定。
答案 0 :(得分:0)
如果你已经有一套你提到的规则/算法,即if(电池容量<10%,当前ram> 100 mb和......等),那么就卸货。将它写入Java应用程序很简单,例如
if((remaining_battery_perc<10)&&(average_ram_usage_mb>100)){
//Start a new thread to offload the data
}
else{
// local execution
}
//wait for the threads to finish their job
// display the result
因此,只要有服务器等待处理数据并将结果发回给您的请求,它就可以正常工作。但是,您必须记住,重复卸载也会消耗大量能量,具体取决于您需要传输的带宽和数据量。
如果你没有卸载算法,它还是一个开放的问题,解决它们的一种方法是将它们建模为Markov Decision Process (MDP)并解决它以获得决策规则。