一种基于电价的非实时数据传输调度方法与流程

文档序号:11206150阅读:579来源:国知局

本发明涉及数据传输调度。



背景技术:

目前云计算和大数据广泛的应用于生产生活的各个领域,云计算和大数据的应用中存在一种典型应用场景,由区域性数据终端采集基础数据上送至数据中心,再由数据中心进行数据分析、数据挖掘等,以产生出有实用价值的信息,以支撑用户的行为和决策。对于上送的数据通常是分为实时数据和非实时数据。实时数据为且有时效性,必须立即处理的数据,例如当前表计的表头值、告警信息等。非实时数据为不具有时效性的数据,如历史能耗值、数月以前的统计值。实时数据需要上传当时就被数据中心存储或处理掉,而非实时数据则可以被延迟处理和重传。非实时数据往往数据量比较大,持续传输时间较长。当区域性数据终端向数据中心请求上传非实时数据时,数据中心需要根据数据中心处理承受情况、网络承受情况、能耗情况以及传输成本等各个方面因素做出调度,合理安排终端数据上传时间。



技术实现要素:

本发明所要解决的问题:降低非实时数据的传输成本。

为解决上述问题,本发明采用的方案如下:

一种基于电价的非实时数据传输调度方法,涉及客户端和服务端,该方法包括以下步骤:

s1:客户端向服务端发送数据传输请求信息,所述数据传输请求信息至少包含数据大小;

s2:服务端接收到数据传输请求信息后,根据数据大小、数据传输速率以及分时电价表计算不同时段下的数据传输成本;然后从不同时段所对应的数据传输成本中选择数据传输所需成本最低的时段作为数据传输时段;再将数据传输时段发送给客户端;

s3:客户端接收到数据传输时段后,启动定时数据传输任务在所述的数据传输时段进行数据传输。

进一步,所述步骤s2中,所述计算不同时段下数据传输所需成本时还根据数据传输速率进行计算。

进一步,所述步骤s1中,所述数据传输请求信息还包含客户端分时电价表。

进一步,所述步骤s2中,得到数据传输时段后,判断当前是否处于该数据传输时段,假如当前处于该数据传输时段,则启动数据传输。

进一步,所述步骤s2包括以下步骤:

s21,计算一天96个时间段的传输速率;

s22,将客户端分时电价表和服务端分时电价表分别转换成96个时间段的分段电价表;

s23,以96个时间段的开始时间作为传输开始时间,根据96个时间段的传输速率,计算96个传输开始时间之下数据传输所需的时间段,并对数据传输所需的时间段所对应的电价进行累加得到96个传输开始时间之下的数据传输成本。

s24,从96个传输开始时间之下的数据传输成本中找出最低数据传输成本所对应的传输开始时间作为数据传输时段。

进一步,当进行非实时数据传输时,记录了每次非实时数据传输的传输速率和相应的时间段;所述步骤s21具体为:计算一天96个时间段的历史非实时数据的传输速率的平均值,再根据最高数据传输速率设定值修正后得到一天96个时间段的传输速率。

本发明的技术效果如下:本发明通过分时电价结合数据传输速率实现对非实时数据的传输调度,使得非实时数据传输的成本最低,考虑到电价低时,公共网络性能状态也通常处于较好状态,因此,两者相结合能够大大减少非实时数据传输成本。

具体实施方式

下面对本发明做进一步详细说明。

本实施例的一种基于电价的非实时数据传输调度系统,包括客户端和服务端。其中客户端是区域性数据终端所实现的模块,服务端是数据中心所实现的模块。比如,例如上海某医院本地能耗采集系统是其中的客户端,而位于北京的全国医院能耗集中管理系统则是其中的服务端。当作为客户端的上海医院本地能耗采集系统需要将一个月或一个季度的能耗数据上传至全国医院能耗集中管理系统中时,数据量非常大,往往要耗时4~5小时,甚至耗时7~8小时,如此长时间数据传输,耗电量也非常大。为此本实施例采用如下方法进行调度。

s1,客户端向服务端发送数据传输请求信息,数据传输请求信息至少包含数据大小。

s2,服务端接收到数据传输请求信息后,根据数据大小、数据传输速率以及分时电价表计算不同时段下的数据传输成本;然后从不同时段所对应的数据传输成本中选择数据传输所需成本最低的时段作为数据传输时段;再将数据传输时段发送给客户端。

s3,客户端接收到数据传输时段后,启动定时数据传输任务在所述的数据传输时段进行数据传输。

步骤s2的所述根据数据大小、数据传输速率以及分时电价表计算不同时段下的数据传输成本中,数据大小是步骤s1客户端通过数据传输请求信息发送给服务端,用于表示即所要传输数据的字节数。数据传输速率由两方面所确定:

第一方面是对最高数据传输速率设定。由于服务端通常连接有很多客户端,客户端和服务端之间除了有非实时数据传输之外,还需要传输实时数据。为避免网络传输堵塞,保证实时数据能够及时从客户端传送到服务端或者从服务端传送到客户端,需要限定非实时数据的传输速率。

第二方面是通过历史数据传输速率。虽然本实施例限定了客户端非实时数据的最高数据传输速率,但由于数据通过公共网络进行,不同时段下公共网络数据传输性能相差很大。为此,本实施例在进行非实时数据传输时,记录了每次非实时数据传输的传输速率和相应的时间段。然后计算不同时间段内的历史非实时数据的传输速率的平均值,再根据最高数据传输速率设定值修正后,作为上述计算不同时段下的数据传输成本的输入。

具体来说,本实施例中,将每隔15分钟作为一个时间段,然后计算一天当中96个时间段下历史非实时数据的传输速率的平均值得到一天96个时间段的传输速率。然后对这96个时间段的传输速率根据最高数据传输速率设定值进行修正:倘若某个时段的传输速率超过最高数据传输速率的设定值,则将最高数据传输速率作为该时段下的传输速率。最后将修正后的96个时间段的传输速率作为计算不同时段下的数据传输成本的输入。

分时电价表分为客户端分时电价表和服务端分时电价表。客户端分时电价表用于计算非实时数据传输时客户端所需要消耗的数据传输成本,服务端分时电价表用于计算非实时数据传输时服务端所需要消耗的数据传输成本。客户端所需要消耗的数据传输成本和服务端所需要消耗的数据传输成本相加后得到最终的数据传输成本。客户端分时电价表可以通过前述步骤s1发送至服务端,此时步骤s1中,数据传输请求信息还包含客户端分时电价表。客户端分时电价表也可以是服务端所预先设定并存储的数据。服务端分时电价表总是预先设定并存储的数据。

步骤s2的过程可以具体化为如下:

s21,计算一天96个时间段的传输速率;具体方法如前所述。

s22,将客户端分时电价表和服务端分时电价表分别转换成96个时间段的分段电价表,由此得到96个时间段的客户端分段电价表和服务端分段电价表。

比如客户端分时电价表为:8:00~20:59的电价为0.5元/度,21:00~7:59的电价为0.3元/度,则可以得到客户端分段电价表如下:第1至32时间段的单位电价为30,第33至84时间段的单位电价为50,第85至96时间段的单位电价为30。服务端分时电价表为:9:00~21:59的电价为0.5元/度,22:00~8:59的电价为0.3元/度,则可以得到服务端分段电价表如下:第1至36时间段的单位电价为30,第37至88时间段的电价为50,第89至96时间段的电价为30。再根据服务端耗电量是客户端耗电量的1.5倍的估算比例,修正服务端分段电价表为:第1至36时间段的单位电价为45,第37至88时间段的电价为75,第89至96时间段的电价为45。需要指出的是,这里所采用的单位电价基于单位时间内传输所消耗的电量相同的假设,因此,无需考虑实际真正需要消耗的电量。而实际真正需要消耗的电量,是计算机在进行非实时数据传输的情况下所需消耗电量相对于不进行所非实时数据传输情况下所需消耗电量相比之下的增量,在现有的技术条件下难以采集和计算。

s23,以96个时间段的开始时间作为传输开始时间,根据96个时间段的传输速率,计算96个传输开始时间之下数据传输所需的时间段,并对数据传输所需的时间段所对应的电价进行累加得到96个传输开始时间之下的数据传输成本。具体来说,比如,第71个时间段的开始时间为17点30分,然后一天96个时间段的传输速率,计算出以17点30分作为传输开始时间时所需要跨越的时间段,比如计算得到需要跨越32个时间段,32个时间段也意味着以17点30分作为传输开始时间时估计的传输时间为7小时45分钟至8小时。传输所需的32个时间段分别为第71至96个时间段以及第二天的第1至第6个时间段。按照客户端分段电价表:第1至32时间段的单位电价为30,第33至84时间段的单位电价为50,第85至96时间段的单位电价为30,可以计算出,客户端数据传输成本=50*14+30*18=1240;按照服务端分段电价表:第1至36时间段的单位电价为45,第37至88时间段的电价为75,第89至96时间段的电价为45,可以计算出,服务端数据传输成本=75*18+45*14=1980。客户端数据传输成本和服务端数据传输成本相加得到的以17点30分作为传输开始时间的总数据传输成本为1240+1980=3220。同样的方法可以计算出,0点0分作为传输开始时间的总数据传输成本,0点15分作为传输开始时间的总数据传输成本,0点30分作为传输开始时间的总数据传输成本,...,等96个数据传输成本。

s24,从96个传输开始时间之下的数据传输成本中找出最低数据传输成本所对应的传输开始时间作为数据传输时段。比如,最终计算得出第4个数据传输成本最低,而第4个数据传输成本对应的开始时间为0点45分,则将0点45分作为数据传输时段。

s25,判断当前是否处于该数据传输时段,假如当前处于该数据传输时段,则启动数据传输,否则将该数据传输时段发送给客户端,由客户端启动定时数据传输任务。具体来说,比如,当前时间为0点23分,假如前述步骤s21至s24得到的数据传输时段为0点15分,当前时间0点23分处于0点15分~0点30分的时间段内,则直接进行数据传输。假如前述步骤s21至s24得到的数据传输时段为0点45分,显然当前时间0点23分并不处于0点45分~1点00分的时间段内,则将该数据传输时段,也就是0点45分,发送给客户端,然后客户启动定时数据传输任务。当时间到达0点45分数据传输时段时,客户端向服务端发送非实时数据。

上述步骤s21至步骤s25中,其中步骤s21至s23是“根据数据大小、数据传输速率以及分时电价表计算不同时段下的数据传输成本”的过程,步骤s24是“从不同时段所对应的数据传输成本中选择数据传输所需成本最低的时段作为数据传输时段”的过程。

需要说明的是,本实施例仅仅是针对根据分时电价作出的非实时数据传输调度,实际应用中通常还需要考虑多客户端同时请求非实时数据传输时避免不同客户端同时进行非实时数据传输等之类的问题。在本发明的基础上结合其他问题进行数据传输调度同样在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1