主权项 |
一种考虑数据项大小的实时按需数据广播调度方法,其特征在于:包括以下过程,移动客户端通过上传信道提交自己的请求后,服务器接收请求,先检查该请求是否在广播队列中或者准备队列中,如果在,则直接将请求加入广播队列中或者准备队列中相应数据子项的请求队列中;如果不在,则将请求按请求时间从小到大的顺序加入系统的请求队列中,并为请求分配ID;服务器从系统的请求队列中取出当前时间的请求,查找满足请求的数据项,获取数据项组织成数据项信息,所述数据项信息包括数据项的ID和数据项的内容;服务器根据数据项大小将获取到的数据项进行拆分,并将拆分成的数据子项加入准备队列中;一个数据项拆分成一个以上数据子项,这些数据子项的数据项ID是相同的,但是数据子项ID不同;准备队列首先按数据项的ID排列,同一个数据项ID的数据子项按数据子项ID排列,并且将一个数据项当前的请求保存在拆分所得每个数据子项的请求队列,准备队列中的数据子项称为准备项;服务器周期性的通过调度算法对准备队列中的数据进行调度组织,动态的选择数据子项添加到广播队列中,广播队列中的数据子项被广播出去,广播队列中的数据子项称为广播项;其中,将获取到的数据项进行拆分时采用等大小数据项拆分方式,等大小数据项拆分方式的拆分及调度流程包括以下步骤,步骤a1,初始化;步骤a2,如果当前时间没有请求,则跳转到步骤a7,否则继续进入步骤a3;步骤a3,取出当前时间的请求;步骤a4,获取该请求的数据项,根据等大小数据项的拆分策略将其拆分,根据截止期的调整策略将拆分的数据项的截止期进行调整;步骤a5,对于拆分之后的所有数据子项分别进行处理,处理方式如下,对其中任一数据子项,如果是在广播队列的广播项并且没广播,则将该请求添加到该广播项的请求队列中;否则,如果是准备队列中的准备项,则将该请求添加到该准备项的请求队列中;否则,将该数据子项作为新的准备项加入准备队列,并将请求加入准备队列中新准备项的请求队列中;步骤a6,等待生成新的请求,跳转到步骤a2;步骤a7,根据广播队列进行广播;步骤a8,判断是否刚广播完广播队列中一个不空的广播项,否,则直接进入步骤a9,是,则将该广播项的成功请求信息写入成功请求信息文件,删除该广播项所有请求,删除该广播项,然后进入步骤a9;步骤a9,判断是否广播队列为空,如果否,则直接进入步骤a10,如果广播队列为空,则根据等大小拆分数据项的调度算法生成新的广播队列,然后进入步骤a10;步骤a10,前进一个时间点,如果超过了规定的运行时间,则跳转到步骤a11;否则,跳转步骤a2;步骤a11,读取成功请求信息文件,统计请求信息;或者,将获取到的数据项进行拆分时采用不等大小数据项拆分方式,不等大小数据项拆分方式的拆分及调度流程包括以下步骤,步骤b1,初始化;步骤b2,如果当前时间没有请求,则跳转到步骤b7,否则继续进入步骤b3;步骤b3,取出当前时间的请求;步骤b4,获取该请求的数据项,根据不等大小数据项的拆分策略将其拆分,根据截止期的调整策略将拆分的数据项的截止期进行调整;步骤b5,对于拆分之后的所有数据子项分别进行处理,处理方式如下,对其中任一数据子项,如果是在广播队列的广播项并且没广播,则将该请求添加到该广播项的请求队列中;否则,如果是准备队列中的准备项,则将该请求添加到该准备项的请求队列中;否则,将该数据子项作为新的准备项加入准备队列,并将请求加入准备队列中新准备项的请求队列中;步骤b6,等待生成新的请求,跳转到步骤b2;步骤b7,根据广播队列进行广播;步骤b8,判断是否刚广播完广播队列中一个不空的广播项,否,则直接进入步骤b9,是,则将该广播项的成功请求信息写入成功请求信息文件,删除该广播项所有请求,删除该广播项,然后进入步骤b9;步骤b9,判断是否广播队列为空,如果否,则直接进入步骤b10,如果广播队列为空,则根据不等大小拆分数据项的调度算法生成新的广播队列,然后进入步骤b10;步骤b10,前进一个时间点,如果超过了规定的运行时间,则跳转到步骤b11;否则,跳转步骤b2;步骤b11,读取成功请求信息文件,统计请求信息。 |