发明名称 一种优化数据密集型Web服务组合的并行度计算方法
摘要 本发明公开了一种优化数据密集型Web服务组合的并行度计算方法。本发明首先获取用户输入指定的总花费和总耗时;获取当前基本服务的服务执行价格、响应时间和吞吐量信息。其次所获取到的参数信息,通过制定的并行度上限值和下限值的计算公式获取并行度的可取范围。最后对并行度的取值范围进行调整。本发明提出的方法在大数据的背景下,组合服务需要处理海量数据的情况下,对Web服务并行化执行,以此来提高组合服务的数据处理能力和服务执行效率。并且,基于Web服务并行化执行的模式,对Web服务的并行度进行决策,以平衡组合服务的吞吐量和执行价格之间的关系,使它们的比值最大化,以达到优化组合服务的目的。
申请公布号 CN103873577B 申请公布日期 2017.02.01
申请号 CN201410107815.X 申请日期 2014.03.21
申请人 浙江天正信息科技有限公司;杭州电子科技大学 发明人 俞东进;李畅;杨威;杨朔
分类号 H04L29/08(2006.01)I;G06F17/30(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种优化数据密集型Web服务组合的并行度计算方法,其特征在于该方法的具体步骤是:步骤(1).输入用户指定的对组合服务流程总花费C和总耗时T的限制;步骤(2).获取组合服务流程中各个基本服务S<sub>i</sub>的执行价格C<sub>i</sub>,响应时间T<sub>i</sub>和吞吐量P<sub>i</sub>,i表示第i个基本服务;所述的组合服务由多个基本服务通过并行结构或者并行结构与其它结构组合而成,所述的其它结构包括串行结构、条件选择结构和循环结构;所述的基本服务的执行价格是指服务请求者通过调用服务所需支付的费用;所述的基本服务的响应时间是指从请求服务开始到执行完毕所用时间;所述的基本服务的吞吐量是指单位时间能够处理的数据量;步骤(3).计算并行度,即并行执行的服务数量DOP的下限值p为<maths num="0001"><math><![CDATA[<mrow><mi>p</mi><mo>=</mo><msqrt><mfrac><mrow><mi>B</mi><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>P</mi><mi>i</mi></msub><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>P</mi><mi>i</mi></msub><mrow><mo>(</mo><mrow><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>C</mi><mi>i</mi></msub><mo>+</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>C</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>C</mi><mi>j</mi></msub><mo>*</mo><mi>U</mi><mrow><mo>(</mo><mi>ln</mi><mo>(</mo><mrow><mi>T</mi><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>T</mi><mi>i</mi></msub><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>T</mi><mi>i</mi></msub></mrow><mo>)</mo><mo>-</mo><mi>ln</mi><mi> </mi><mi>A</mi><mo>)</mo></mrow></mrow></mfrac></msqrt></mrow>]]></math><img file="FDA0001117187400000011.GIF" wi="1201" he="391" /></maths>其中,组合服务由m个任务组成,第j个任务由基本服务通过并行结构实现;A,B为大于零的常数,可以由式(1)获得,<maths num="0002"><math><![CDATA[<mrow><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><mi>l</mi><mi>n</mi><mi> </mi><mi>A</mi></mrow></mtd></mtr><mtr><mtd><mi>B</mi></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mfenced open = "(" close = ")"><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow></mrow></mtd><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow></mrow></mtd><mtd><msub><mi>P</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow></mrow></mtd><mtd><msub><mi>P</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfenced open = "(" close = ")"><mtable><mtr><mtd><mi>ln</mi></mtd><mtd><msub><mi>T</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mi>ln</mi></mtd><mtd><msub><mi>T</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mi>ln</mi></mtd><mtd><msub><mi>T</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001117187400000012.GIF" wi="1400" he="371" /></maths>参数U表示如式(2):U=P<sub>3</sub>P<sub>4</sub>...P<sub>m</sub>+P<sub>1</sub>P<sub>4</sub>...P<sub>m</sub>+P<sub>1</sub>P<sub>3</sub>P<sub>4</sub>...P<sub>m</sub>+,...,+P<sub>1</sub>P<sub>3</sub>...P<sub>m‑1</sub>  (2)步骤(4).计算并行执行的服务数量DOP的上限值q为<maths num="0003"><math><![CDATA[<mrow><mi>q</mi><mo>=</mo><mfrac><mrow><mi>C</mi><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>C</mi><mi>i</mi></msub><mo>-</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>C</mi><mi>i</mi></msub></mrow><msub><mi>C</mi><mi>j</mi></msub></mfrac></mrow>]]></math><img file="FDA0001117187400000013.GIF" wi="628" he="243" /></maths>步骤(5).基于实际情况,通过再次调整并行度来获得更精确的取值范围;通过步骤(3)和(4)计算得出了并行执行的服务数量DOP的上限值和下限值,此时如果下限值大于上限值,那么需要用户提高组合服务总花费,否则需要重新选择基本服务。
地址 310006 浙江省杭州市环城西路33号