利索能及
我要发布
收藏
专利号: 2021107748973
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向交通数据流的最优排序算法选择方法,其特征在于,所述方法包括以下步骤:

1)、获得各排序算法的运行时间‑数据量‑线程数关系拟合函数并创建算法库,过程如下:

1.1)、首先通过本地环境测试得到快速排序时间远优于其他排序算法时的最小数据规模S_max,并将所有算法标志位置1,即可用;

1.2)、创建各排序算法对应的计算内存资源消耗的函数;

1.3)、按运行时间‑数据量‑线程数关系构造中所阐述的方式,计算每个算法的拟合函数;

2)、获取计算参数并进行剪枝,过程如下:

2.1)、获取计算机CPU核数、可用内存大小以及待排序的数据量大小S_num;

2.2)、若S_max

2.3)、根据算法库中各排序算法的计算内存资源消耗函数,获取预计消耗内存大小,假设预计消耗3G内存,而当前可用内存大小为2G,将该算法标志位置为0,若所有算法标志位都为0,则算法选择结束,等待资源释放内存充足;若存在标志位为1的排序算法则执行步骤

3);

3)、通过已知拟合函数,计算获取当前条件下最优排序算法,过程如下:

3.1)、通过拟合函数计算可用排序算法的时间开销Tn和线程数Kn;

3.2)、若采用时间优先策略,将可用排序算法按照时间开销升序排列,反之将可用排序算法按照内存开销升序排列,内存开销在2.3)中算得。

2.如权利要求1所述的一种面向交通数据流的最优排序算法选择方法,其特征在于,所述方法所述步骤3)中,交通数据流不间断,前一个时间窗口排序时间过长会导致后续时间窗口数据阻塞,所以采取时间开销升序排列。

3.如权利要求1或2所述的一种面向交通数据流的最优排序算法选择方法,其特征在于,在Window10系统下,平均每个线程540KB,考虑线程内存消耗,计算排序算法1(6线程)、排序算法2(8线程)和排序算法3(5线程)预计消耗总内存:排序算法1(M1+3240KB)、排序算法2(M2+4320KB)、排序算法3(M3+2700KB);排序算法1预计消耗总内存大于当前可用内存,则考虑排序算法2,若小于当前内存,则选择该排序算法为当前最优排序策略,排序算法选择结束,排序算法2、3同理判断,若排序算法3预计消耗总内存也大于当前可用内存,即所有排序算法均不满足条件,则排序算法选择结束,等待资源释放内存充足。

4.如权利要求1或2所述的一种面向交通数据流的最优排序算法选择方法,其特征在于,所述步骤1)中,创建算法库的过程为:i)根据排序算法性能测试的结果构建运行时间‑数据量‑线程数关系;

ii)参照各排序算法的空间复杂度构造排序算法的资源计算函数,提供一个大于等于实际值的估值,避免选用因过度使用内存导致系统宕机的算法;

iii)参照各排序算法的时间复杂度构造各排序算法的拟合函数,提供一个目标拟合函数,且除了快速排序拟合函数,其他排序算法的拟合函数的数据量自变量都不超过临界值S_max,减少拟合资源耗费。

5.如权利要求1或2所述的一种面向交通数据流的最优排序算法选择方法,其特征在于,所述步骤1)中,算法库创建中的时间‑数据量‑线程数关系,算法库内各排序算法的运行时间‑数据量‑线程数关系分别对应一个曲面,曲面由各排序算法在不同数据量不同线程数下的实际运行时间拟合而成,各排序算法的运行时间‑数据量‑线程数关系构造的过程为:i)进行各排序算法在不同线程数和不同数据量大小下的时间测试;

ii)利用最小二乘法拟合各排序算法对应不同线程、不同数据量下耗费时间的曲面函数;

iii)该曲面函数得出后会被记录存储供实际应用时调用。

6.如权利要求1或2所述的一种面向交通数据流的最优排序算法选择方法,其特征在于,所述步骤3)中,最优排序算法选择的过程为:i)获取计算机CPU核数、可用内存大小以及待排序的数据量大小S_num;

ii)如果S_num大于S_max,则仅考虑快速排序,否则需要考虑所有排序算法;

iii)对所有可能的排序算法利用资源计算函数,计算出各个排序算法所需的预估内存资源消耗,如果所需内存资源消耗量大于实际可用内存,则拒绝该排序算法,否则接受该排序算法为候选排序算法;

iv)对所有候选排序算法利用拟合函数,计算出所有候选排序算法在当前环境下的最优线程数和最小排序时间;

v)针对交通数据流的实时性特点,即交通场景对时间要求比较高,所以对所有候选排序算法的最小排序时间进行排序,取其中最小排序时间最小的排序算法,该排序算法即当前环境下最优排序算法,同时更新预测表中相应时间段的排序算法信息。