1.一种基于云计算和大数据的任务处理优化系统,其特征在于,优化系统包括:数据获取模块:用于获取用户全部进程对应的进程标识符PID、进程状态、内存参数和父进程ID,得到总进程参数;获取云计算平台中待选处理器的相关信息,得到待选信息,根据待选信息确定备选处理器序列;根据进程标识符PID和父进程ID,对进程进行筛选,得到可调参数和可调进程;根据可调参数,在备选处理器序列中确定目标处理器;
性能匹配模块:用于获取目标处理器的性能指数,计算每个目标处理器的综合性能指数;获取每个目标处理器对应的目标处理器节点数、序号和转换引擎信息,构造目标处理器的功能矩阵,记作矩阵TSC;根据每个目标处理器的综合性能指数、矩阵TSC和每个目标处理器的节点数,为每个可调进程的线程分配目标处理器;
任务匹配模块:用于汇总每个目标处理器的被分配线程,使用轮盘调度算法,为每个可调进程的线程分配执行数;
持续监测模块:用于监测用户的新添加的任务进程,并处理;
所述数据获取模块的工作流程如下:
流程A1:通过tasklist命令,获取用户全部进程的PID,记作检索PID;根据检索PID,使用readlink()函数读取/proc/[pid]/cmdline文件中全部进程的进程参数,得到总进程参数;
进程参数包括:进程标识符PID、进程状态、内存参数和PPID;
进程状态包括:运行态、等待态、终止态;
流程A2:获取云计算平台中待选处理器的相关信息,得到待选信息;根据待选信息确定备选处理器序列;流程A2包括:流程A21:获取云计算平台中,处理器状态为空闲的处理器,作为待选处理器;获取待选处理器的信息,作为待选信息;
待选信息包括:待选处理器的CPU主频、CPU内核数、CPU缓存大小和CPU制程;
流程A22:统计待选处理器的个数,记作n;将待选处理器的CPU主频、CPU内核数、CPU缓存大小和CPU制程,分别记作oMF、oMN、oMS和oML;
第1个待选处理器的待选信息:oMF1、oMN1、oMS1和oML1;
第2个待选处理器的待选信息:oMF2、oMN2、oMS2和oML2;
以此类推,第n个待选处理器的待选信息:oMFn、oMNn、oMSn和oMLn;
流程A23:定义计算式11:
MP(i)=(oMFi*oMii*oMSi)/oMLi;其中,i表示1~n;
MP(i)、oMFi、oMii、oMSi和oMLi,分别表示第i个待选处理器的CPU综合性能指数、CPU主频、CPU内核数、CPU缓存大小和CPU制程;
将待选信息代入计算式11中,计算第1~第n个待选处理器对应的CPU综合性能指数MP(1)~MP(n);
流程A24:将第1~第n个待选处理器,按MP(1)~MP(n)降序的顺序排列,得到备选处理器序列;
流程A3:在总进程参数中,汇总进程状态为运行态的进程参数,作为集合Ⅰ,集合Ⅰ中元素总数记作z1;
汇总进程状态为等待态的进程参数,作为集合Ⅱ,集合Ⅱ中元素总数记作z2;
汇总进程状态为终止态的进程参数,作为集合Ⅲ,集合Ⅲ中元素总数记作z3;
所述流程A3的后续流程如下:
流程A4:定义判断式12:PPID(Ⅱ)i∈Ⅰ[PID(Ⅰ)1~PID(Ⅰ)z1];其中,i表示1~z2,PPID(Ⅱ)i表示集合Ⅱ中第i个集合Ⅱ中对应的父进程ID;Ⅰ[PID(Ⅰ)1~PID(Ⅰ)z1]表示集合Ⅰ中,第1~第z1个进程参数对应的进程ID;
定义判断式13:PPID(Ⅱ)i∈Ⅲ[PID(Ⅲ)1~PID(Ⅲ)z3];其中,Ⅲ[PID(Ⅲ)1~PID(Ⅲ)z3]表示集合Ⅲ中,第1~第z3个进程参数对应的进程ID;
流程A5:将集合Ⅱ中的进程参数代入判断式12和判断式13中,汇总不满足判断式12和判断式13的进程参数,作为可调参数;统计可调参数的数量,记作cn;
流程A6:在总进程参数中,读取可调参数对应的内存参数,记作CS1~CScn;计算CS1~CScn的和,记作ACS;
流程A7:获取备选处理器序列中,第1~第n个备选处理器的内存大小,记作ZS1~ZSn;
定义备选处理器内存大小的累加值AZS(1~j);
;其中,j为自然数,j≤n;AZS(1~j)表示:在备选处理器序列中,从第1~第j个备选处理器的内存大小的累加值;ZSi表示:备选处理器序列中,第i个备选处理器的内存大小;
流程A8:将j的初始值设置为2,计算第1~第j个备选处理器内存大小的累加值AZS(1~j);
若AZS(1~j)≥ACS;则将第1~第j个备选处理器作为目标处理器;
若AZS(1~j)<ACS;则j在原有的基础上加1,再次计算第1~第j个备选处理器内存大小的累加值AZS(1~j),并比较AZS(1~j)与ACS的大小,直至AZS(1~j)≥ACS;
流程A9:在全部进程中,汇总可调参数对应的进程作为可调进程,进入性能匹配模块。
2.根据权利要求1所述的一种基于云计算和大数据的任务处理优化系统,其特征在于,所述性能匹配模块的工作流程如下:性能匹配模块的工作流程如下:
流程B1:将目标处理器的数量,记作m;计算第1~第m个目标处理器对应的综合性能指数P1~Pm;
流程B2:获取每个目标处理器对应的目标处理器节点数、序号和转换引擎信息,构造目标处理器的功能矩阵,记作矩阵TSC;流程B2包括:流程B21:获取第1~第m个目标处理器的目标处理器节点数,记作T1、T2~Tm;
获取第1~第m个目标处理器对应的序号和转换引擎信息,根据目标处理器的序号和转换引擎信息,获取第1~第m个目标处理器对应的转换服务类型;
流程B22:统计全部转换服务类型的数量,记作k;k≥m;
定义集合S表示第1~第m个目标处理器全部的转换服务,集合S={S1,S2~Sk};
流程B23:构造k×m,且矩阵元素都为0的二维矩阵oTSC;
根据第1~第m个目标处理器在集合S中转换服务类型的对应关系,填充二维矩阵oTSC,得到矩阵TSC;
流程B3:将可调进程的数量,记作Rn;根据每个目标处理器的综合性能指数、矩阵TSC和每个目标处理器的节点数,为第1~第Rn个可调进程分配目标处理器。
3.根据权利要求2所述的一种基于云计算和大数据的任务处理优化系统,其特征在于,所述流程B1的具体工作流程如下:流程B11:获取第1~第m个目标处理器的性能指数;
性能指数包括:目标处理器的CPU主频、CPU内核数、RAM大小和RAM主频;
将目标处理器的CPU主频、CPU内核数、RAM大小和RAM主频,分别记作MF、MN、RS和RF;
第1个目标处理器对应的四元组{MF1,MN1,RS1,RF1};
第2个目标处理器对应的四元组{MF2,MN2,RS2,RF2};
依此类推,第m个目标处理器对应的四元组{MFm,MNm,RSm,RFm};
流程B12:将MF1~MFm,按降序排列,得到指数序列1;
将MN1~MNm,按降序排列,得到指数序列2;
将RS1~RSm,按降序排列,得到指数序列3;
将RF1~RFm,按降序排列,得到指数序列4;
流程B13:分别读取指数序列1~4对应的首项和末项,记作max(MF)、min(MF);max(MN)、min(MN);max(RS)、min(RS);max(RF)、min(RF);
定义转换公式21~24,将第1~第m个目标处理器对应的性能指数映射到区间[0,1]内;
转换公式21:;其中,MFi和,分别表示第i个目标处理器对应的CPU主频和CPU主频的处理值;
转换公式22:;其中,MNi和,分别表示第i个目标处理器对应的CPU内核数和CPU内核数的处理值;
转换公式23:;其中,RSi和,分别表示第i个目标处理器对应的RAM大小和RAM大小的处理值;
转换公式24:;其中,RFi和,分别表示第i个目标处理器对应的RAM主频和RAM主频的处理值;
其中,转换公式21~24中的i,都表示1~m。
4.根据权利要求3所述的一种基于云计算和大数据的任务处理优化系统,其特征在于,所述流程B13的后续流程如下:流程B14:将第1~第m个目标处理器对应的MF1~MFm,MN1~MNm,RS1~RSm和RF1~RFm,分别代入转换公式21~24中,计算第1~第m个目标处理器对应的CPU主频处理值~;
CPU内核数处理值~;
RAM大小处理值~;
RAM主频处理值~;
流程B15:计算第1个目标处理器的综合性能指数P1;
流程B151:将第1个目标处理器对应的CPU主频处理值、CPU内核数处理值、RAM大小处理值和RAM主频处理值,分别记作a1、a2、a3和a4;
流程B152:使用MaCh.random()函数,在(0,1)的区间内随机生成权重参数μ1、μ2、μ3和μ4;μ1、μ2、μ3和μ4满足的约束条件如下:μ1+μ2+μ3+μ4=1;
μ1/a1=μ2/a2=μ3/a3=μ4/a4=1;
流程B153:读取第1个目标处理器对应的性能指数MF1、MN1、RS1和RF1;
计算第1个目标处理器的综合性能指数P1,P1的计算式如下:P1=MF1*μ1+MN1*μ2+RS1*μ3+RF1*μ4;
流程B16:重复执行计算第1个目标处理器综合性能指数P1的相同流程,计算第2~第m个目标处理器对应的综合性能指数P2~Pm。
5.根据权利要求2所述的一种基于云计算和大数据的任务处理优化系统,其特征在于,所述流程B3的具体流程如下:流程B31:定义一个1×m的一维矩阵P表示第1~第m个目标处理器的综合性能;矩阵P=[1/P1 1/P2 ~ 1/Pm];其中,m表示目标处理器的个数;
流程B32:为第1个可调进程分配目标处理器;
流程B33:重复为第1个可调进程分配目标处理器的相同流程,为第2~第Rn个可调进程分配目标处理器。
6.根据权利要求5所述的一种基于云计算和大数据的任务处理优化系统,其特征在于,所述流程B32的具体流程如下:流程B321:在虚拟机中,模拟执行第1个可调进程;
在虚拟机中,使用Toolhelp32快照,获取第1个可调进程的全部线程,统计全部线程数量,记作tt;
使用Thread32First和Thread32Next函数,获取第1~第tt个线程对应的操作码和操作时间;
流程B322:根据第1~第tt个线程的操作码,创建一个k×1的一维矩阵,表示第1个可调进程的任务服务矩阵,记作矩阵F;
根据第1~第tt个线程的操作时间,创建一个k×1的一维矩阵,表示第1个可调进程的任务时间矩阵,记作矩阵V;
流程B323:将矩阵V与矩阵P相乘,得到k×m的二维矩阵,记作矩阵ETC;
将矩阵ETC中的元素,记作ETC(j,i);其中,j表示1~k,i表示1~m;ETC(j,i)表示:在第1个可调进程中,第j个线程在第i个处理器的处理时间;
流程B324:获取第1~第m个目标处理器的目标处理器节点数T1、T2~Tm;
将矩阵TSC中转置,得到矩阵TSC(T);
将矩阵ETC与矩阵TSC(T)相乘,得到k×k的二维矩阵,记作矩阵PTC;
将矩阵ETC中的元素,记作ETC(y,x);其中,x和y,都表示1~k;PTC(y,x)表示:将第1个可调进程中的第y个线程,分配到处理器节点数为Tx的目标处理器中;
流程B325:遍历矩阵ETC中的元素:ETC(1,1)~ETC(m,m);
定义判断式25:ETC(m,n)≠null∩ETC(m,n)≠0;其中,m和m都表示1~k,ETC(m,n)表示矩阵ETC中,第m行第m列的元素;
流程B326:确定第1个线程的目标处理器;将m的初始值设置为1,n的表示范围设置为1~k;
将矩阵ETC中的ETC(1,1)~ETC(1,m)代入判断式25;标记出满足判断式25的元素,作为待选元素;
选择元素值最小的待选元素,作为确定元素,读取确定元素对应的目标处理器,作为分配处理器;将第1个线程分配到分配处理器中;
流程B327:重复确定第1个线程的目标处理器的相同流程,为第1个可调进程中的,第2~第tt个线程分配目标处理器。