前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇钓鱼日记范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
春天,河边一片春天的景象,小鸭在水里洗澡,河边柳树吐出了嫩芽,小鱼欢快的在水里游动。还有几位小朋友那这鱼竿在小河里钓鱼。好一幅生机勃勃的景象。想了解更多相关内容,接下来请欣赏:钓鱼初中日记。
钓鱼初中日记1今天,一个阳光明媚的星期天,我的心情也十分的愉快,爸爸说:“我们去钓鱼吧”!钓鱼?怎么钓啊。带着疑惑的我向爸爸问道。爸爸笑着说:“不用怕,我会教你的”。我听了感觉非常好奇,所以心里十分的焦急。非常想亲身体验一下这个有趣的事情。
终于等到了这一时刻,我和爸爸“全副武装”,向公园鱼塘进发。看见爸爸抛出线,装上鱼饵,撒入水中。只见爸爸依然坐在那里一动不动。我学着爸爸的样子,把鱼钩抛入水中。可是过了几十分钟,居然还没有动静,我有点焦急。那天天气很热,爸爸头上的汗珠正源源不断的滚落下来。
我平静了下来,爸爸的鱼上钩了,看见他慢慢收线 ,熟练的操纵着鱼杆,是一条大鱼。爸爸欣喜若狂。焦急的等待换来了收获。我的鱼钩依然是老样子。这次,我彻底的失败了,心里十分的沮丧,但是仔细一想,这点困难就能吓倒我吗?一定不能,我是一个坚强的男子汉。
于是,我再一次抛线,希望这一次不会失败。父亲依然如旧。钓鱼就应该有耐心,有毅力,让自己的心静下来,经过漫长的等待,终于动了,我立刻拉动鱼杆,准备收线,模仿着爸爸刚才的动作,可是一条鱼也没有,只是一根草而已,爸爸看了哈哈大笑,我心如刀割,几乎都要崩溃了,爸爸鼓励我:不要怕困难,你总会成功的,相信自己。
通过爸爸刚才的鼓励,我又精神抖擞,重新站了起来,再一次重复着刚才的动作,我抱着尝试的心态去钓,希望这次能成功,而此时此刻,心里变得异常冷静。皇天不负有心人,终于上钩了,我慢慢收线,小心翼翼的生怕惊跑了鱼儿,这次真的是一条大鱼,非常的让我开心,我终于学会了钓鱼,爸爸称赞我有耐心,我也非常的开心,同时也是我最难忘的第一次钓鱼。
但同时也让我明白了失败是成功之母,不论是做任何事都要有自信,时时刻刻保持这样的心态。
现在想起时,都会有一阵微微的激动,深深的印在了我的脑海里,终身难忘这一深刻的哲理,令我受益无穷。
钓鱼初中日记2上个周末(8月2日星期天),我和爸爸还有几位叔叔去(渠村)钓鱼。
我们开车走了好几个地方,我都晕车了。我们来到了两个小池塘,便抛下鱼钩准备开始了。
我们把鱼钩抛进水里,等鱼咬钩。10分钟过去了,20分钟过去了,还是没有鱼咬钩。突然,一位叔叔大喊道:“有鱼咬钩啦!有鱼咬钩啦!”我们便都围了过去,只见一条又肥又大的黄鲤鱼正在吞吃着吃了一半的鱼饵,对我们还是若无其事,那条鱼占了半个水桶。
接着,一位叔叔跑到了另一个地方钓。那位叔叔真是钓鱼高手,每提一次钩都会钓到条小鱼。我和爸爸也学着叔叔的样子,把鱼钩抛到了池塘,可是好几次都被草缠住了。总算把钩抛下去了。可是一上午过去了,就连一个鱼头也没来要咱们的钩。
这次钓鱼,我们虽然没有钓到一条,但学会了很多钓鱼的经验。要心平气和,细心等待,总会有鱼来咬你的钩。
钓鱼初中日记3今天,我和弟弟、妈妈去钓鱼了。我们一到那儿,我和弟弟就迫不及待地把鱼竿拿了出来。
因为我们是第一次钓鱼,什么经验也没有。所以,我拿起鱼食就弄在了钩子上,一下子把鱼钩甩了下去,左走走,又挪挪,心里不住地祈祷:鱼啊鱼,赶紧上钩吧!我亲爱的鱼!弟弟看着我,也学着我的样子钓起鱼来。结果,你猜怎么着,唉!连一条鱼都没钓上来,让那些鱼白白占了便宜。
我们俩就像一个吃一次饭就能长大的人一样,心里很急,希望能钓一条大鱼让妈妈看看,我们很了不起的!
妈妈看见我们垂头丧气的样子,就开始安慰我们了:不停地动,能钓上鱼来么?你们得静静地钓鱼。没听说过心急吃不了热豆腐吗?只要你们有足够的耐心,才能钓上来大鱼。我们俩又安安静静地坐下来,谁也不说话,暗暗的憋着一股劲儿,非得钓上来一条大鱼不成。哈哈,皇天不负有心人,真的钓上来一条大鱼,我和弟弟乐得手舞足蹈,连妈妈也被我们的情绪给感染了,跟着一起乐呵。
经过这次钓鱼,我明白了一个道理:无论做什么事,都要去有耐心地去对待。
钓鱼初中日记4昨天下午,爸爸带着我去钓鱼。
我们到了钓鱼的地方,爸爸让去搬来凳子,他则帮我穿好了鱼线并穿好了蚯蚓,爸爸把鱼竿向上一抛,下好钩了,再把鱼竿递给我。
我拿着鱼竿聚精会神的盯着鱼漂。突然,鱼漂向下一沉,我激动极了,用力向上拉鱼竿,可是鱼没有上钩。一连好几次我都没有钓到鱼,又伤心又沮丧,快要哭了。爸爸看见了说:“豆豆,不要哭!钓鱼要有耐心才行。钓鱼的时候要看见鱼漂连续的上下浮动,才可以拉鱼竿。”我听了爸爸的话,静静的坐在凳子上,当鱼漂连续浮动的时候我用力地向上拉,哇,终于钓上来一条鱼,我激动地又蹦又跳!我用爸爸教给我的方法,一下子钓上来十一条鱼。
天快黑了,我和爸爸带着我们的胜利果实回家了!
钓鱼初中日记5今天我和爸爸去钓鱼,到了地方,我就看见人山人海的,我们找到了一个地方,立刻把网兜弄下水去,爸爸又把鱼线系在鱼竿上,然后,我又将饵料包在钩外面。
做好了一切准备,我们便开始钓鱼了。我等啊等,不一会儿,我便看见鱼浮有点摇摇晃晃的样子,爸爸这时告诉我:“这是小鱼们在吃钩上的饵料,你千万不能惊动他们,等鱼浮下去一大半的时候,你猛地一拉,就能把他们钓上来了。”我便按照爸爸说的话做,果然钓上来了一条又肥又大的鱼,爸爸那边也不甘示弱,正在我拉鱼上来的时候,鱼也咬了爸爸的钩,爸爸猛地一拉,一条贪吃的渔也被爸爸钓上来了。
然后,我们又钓了好几条鱼,带着我们的战利品回家了。
钓鱼初中日记6那天下午,舅舅突然心血来潮的找我一起去钓鱼。早就听说钓鱼不仅有趣,而且还能锻炼人的耐性,我当然就答应了。
来到鱼塘,一看见水我便来了兴趣,火急火燎的拿着鱼竿坐到池塘边。将鱼钩甩入水中许久,仍然不见有半点变化,拉出来才发现忘了放鱼饵。
再次将鱼钩甩入水中后的几分钟里,我依然没有看到任何变化,看看舅舅也是还没有调到一条小鱼,我不耐烦了:“舅舅,这要钓到什么时候了!”舅舅却只是笑着说了一句:“不急。”是啊,前后好像也只不过十几分钟,这我就坚持不住了。
我只好又强迫自己做了下来,心想:钓鱼也不过如此,真无聊!大概又过了十几分钟,我终于忍不住起身去玩。
不知玩了多长时间,看看舅舅,他已经钓到好几条鱼了,“舅舅,你真了不起,都钓到这么多了!”“没什么了不起的,”舅舅慢条斯理的说“做什么事只要用心去做,就没有做不成的,就像这钓鱼之所以有能锻炼耐性,就是因为需要你耐心的等待!”听了舅舅的话,我惭愧的地下了头。
我又重新坐到了池塘边,果不其然,黄昏时分,我的小桶里装满了鱼。
钓鱼初中日记7今天阳光明媚,是个有玩得好时光。我和姐姐一起去太阳岛游玩。
看到钓鱼池旁热闹非凡。我赶忙跑去看只见池里美丽的小鱼在欢快地游着。有红的,有银的,有黑的。真是漂亮。我便和姐姐去钓鱼。我手握鱼竿开始钓鱼。一只银色的小鱼被我看中。我把鱼饵放到小鱼的旁边。小鱼游过来就要吃鱼饵。因为我第一次钓鱼,所以没等小鱼上钩,我就提起来鱼竿了,鱼没钩着。再去钓时,小鱼就不吃我的饵了。只好在钓别的鱼。有了第一次的经验,不一会儿,我就钓上来2条鱼。交钱后,我和姐姐提着鱼高高兴兴的回家了。
白酒受制“三公消费”,销售额“一落千丈”;红酒僧多粥少,卖酒的比买酒的还多;甚至连常年把持着“中国酒局”的领跑者之一的啤酒,在2014年也首次出现负增长,这是24年来第一次出现这种状况。但与此同时,预调鸡尾酒市场却逆市增长,且增幅迅猛。据中国酿酒工业协会最新统计,预计2020年预调鸡尾酒销售金额有望超百亿元。
一夜之间,这类酒的销售如火如荼,火遍大江南北,火得莫名其妙。不少业内业外人士都不约而同地针对“预调鸡尾酒”列出三大问题:到底什么是RIO预调鸡尾酒?它靠什么火起来的?到底还能火多久?
到底什么是预调鸡尾酒?
其实,这种洋酒+果汁混合调制的低酒精饮品有着悠久的历史,在国外被统称为alcopop。世界上第一瓶调制酒是小花狗柠檬酒,诞生于1993年,由一位澳大利亚人迈克・盖瑞调制而成。盖瑞由此大获成功,这类酒也开始在各国年轻人中盛行。
但在中国,这类酒近年才兴起,尚属于新兴酒类。且和国外市场不同的是,目前领军行业的锐澳(RIO)品牌,打破了国外经营alcopop品牌仅采用单一基酒的限制,率先开创用不同的基酒和不同的果汁混合配制,重新定义了中国的alcopop市场。
中国的alcopop尚没有明确的统一名称,有按照饮用口味称作果味洋酒的,或按照制作方法称作混搭果酒,多数是根据行业代表品牌锐澳(RIO)的方法称为“预调鸡尾酒”。更多的消费者无法对这个专业感极强的“预调鸡尾酒”称呼产生认知,因此亦有人直接把这种以朗姆、白兰地、伏特加等烈酒作为基酒,辅以各口味果汁加以调配而成的混搭酒统称为“RIO酒”。借由行业领军企业锐澳(RIO)的品牌名来统称RIO酒,一方面解决了大家对这类酒的认知困扰,另一方面又给这个“舶来品”的酒精类饮料赋予了一种时尚感。
它靠什么火起来的?
RIO预调鸡尾酒由无名走向小众,从小众迈向大众,原因有三:首先,主力消费人群的更替。80后、85后甚至20世纪90年代初出生的消费人群已开始逐渐登上“主力消费”的舞台,他们对新鲜事物的接受、追捧程度早已不是老一辈人所能企及的,因此RIO酒这类专属年轻人的潮品能够迅速占领“高地”并非偶然现象。
其次,年轻人口的日益迁移。在北京、上海、广州、深圳四大城市里,因求学、工作、婚姻而定居的80后、90后年轻人数量占比已超过了土生土长的年轻人。来自五湖四海的人口“混搭”,让年轻人对于RIO预调酒这类酒传承国外的交友文化深感认同:无论你来自哪个城市、出身背景如何、经济收入如何,只要聚在一起喝RIO预调酒,大家就成为朋友,颇有“朋友不问出处”的流行文化色彩。
最后,RIO预调酒对流行文化的借力。近年来,RIO酒中的锐澳(RIO)、冰锐等多家品牌均齐心进军各大综艺节目、热播电视剧,像《奔跑吧,兄弟》《爱情公寓》《天天向上》《何以笙箫默》等。年轻人群不断受到产品硬性广告的“地毯式轰炸”,成功引起广大人群的跟风消费,从而彻底撬动市场,销售金额呈数倍跳跃式增长也就不足为怪了。
RIO鸡尾酒还能火多久?
在快消饮品行业,每年都会出现一些新热点和新兴子行业。比如核桃露、苹果醋、生榨椰汁等,都会在短时间内达成多轮次的大规模销售成绩,但影响力仅限于行业内,往往都是以昙花一现收尾。回过头来看RIO预调鸡尾酒,笔者也不敢妄自评论,但可以从几方面的趋势来衡量这匹“黑马”的未来发展趋势:
趋势一:消费市场潜力巨大
RIO酒走红时间较短,虽已培育部分粉丝消费者,但作为酒类消费大国和消费人群年轻化基础,RIO这类代表着时尚、青春、娱乐的形象的酒类尚有巨大潜力用户可待挖掘。
趋势二:未来包装或成取胜关键
据相关内部人士透露,RIO酒的消费者中大部分是以18-40岁的女性为主。因为女性喝酒不求喝醉,微醺的状态是刚刚好的。其次,女性购物的动机有很大一部分取决于这个东西好不好看,目前多家经营预调鸡尾酒(RIO酒)的品牌均以缤纷颜色、精致包装打动年轻女性。
趋势三:聚会是主要的消费场合
在购买RIO酒的原因投票中,因朋友聚会选择购买位列第一,随着混搭交友文化的逐渐盛行,朋友聚会的消费力预估将持续增长。
回过头来看,预调鸡尾酒(RIO酒)市场现阶段仍处于蓝海状态,短期来看,像锐澳(RIO)、冰锐、TAKI、红广场等十几家预调鸡尾酒(RIO酒)品牌对这块“蓝海蛋糕”本就吃不完。据内部人士爆料,国内几大传统饮料和白酒品牌其实早已看中RIO酒这片“蓝海”所带来的丰厚利润和无限美好的未来发展前景。像五粮液已于2014年推出“德古拉”品牌,古井贡、水井坊也纷纷斥巨资成立子公司。娃哈哈、康师傅等多家传统饮料企业预计也会在今年年底进军预调鸡尾酒(RIO酒)市场。白酒企业蜂拥而来,可能在进入市场初期的冲击力略显疲软,但随着后期的投入,势必会引起新一轮的市场争夺。由此可见,RIO预调鸡尾酒市场出现百家争鸣的态势将在未来不久的时间内显露无遗!
预调酒引各大巨头竞折腰
在今年成都糖酒会上,有近30家预调酒企业亮相。
关键词:GridSim;Dag图调度;网格计算;网格调度仿真
中图法分类号:TP311 文献标识码:A 文章编号:1009-3044(2011)01-0077-04
GridSim4Dag: A Simulator of Dag Scheduling with GridSim Toolkit
LI Can, DENG Rong
(High Performance Computing Center, Tongji University, Shanghai 201804, China)
Abstract: Since 2002, GridSim, as a popular grid simulator, received much concern for its flexible use and wide range of apply scenarios. However with the limitation of its modeling pattern of task, it is more practical to simulate scheduling of tasks with task pool pattern than tasks of Dag with predecessor-successor relationship. In order to enrich GridSim's simulation functions to better support simulation scheduling of Dag tasks. An improved internal data transfer method P2P (peer-to-peer) is proposed and implemented in this paper and we call the improved GridSim toolkit GridSim4Dag. In the P2P-internal-data-transfer method, predecessor node direct send internal data to successor when it is finished. In this form, we can decrease transmission time, reduce communication cost and lower the transmission error rate. P2P method is not just for scheduling simulation, it can be used in real Grid architectures so that Dag scheduling can be supported better.
Key words: GridSim; Dag scheduling; Grid computing; Grid scheduling simulation
1 概述
随着P2P网格体系结构的不断成熟,越来越多的工作流系统不再使用Client-Server的方式运行,而更多的采用有向无环图(Directed Acyclic Graph,简称为Dag)的方式表示工作流系统中各种任务之间的前驱后继关系[1]。为了能在异构的网格平台中运行Workflow引擎,我们有必要对Dag图的各种调度算法进行研究,如HEFT (HeterogeneousCEarliest-Finish-Time ) 算法、CPOP (Critical-Path-on-a-Processor) 算法[1]。然而,网格[3]环境相当复杂,设施相当昂贵,普通研究者根本不可能在真实的网格环境中去研究各种调度算法,加之网格系统本身的不确定性和不可重复性[3],研究者们普遍采用网格模拟器来研究网格的行为,网格模拟器营运而生。
开源的网格仿真器GridSim[4]以其灵活的使用方式和广阔的应用前景备受网格研究者青睐,在我国,仅2006年至今就有56篇以上的文献使用该平台进行仿真实验[5-7]。
但是,GridSim并不适合Dag的调度,原因在于其提供的任务调度建模方式,是针对任务池型任务的,即所有子任务之间相互独立,没有任何前驱后继的依赖关系。其任务调度的基本思想是: 对每一次仿真,用户(User Broker)将其中的各子任务顺序发送给各资源,资源运行完子任务后将中间结果发回给用户。然而,对有前驱后继关系的Dag图的调度来说,GridSim仍然采用以上的方式来运行,在每一个子任务运行完毕之后,都将其结果发回给用户,再由用户将中间结果发送给对应的后继子任务[4]。这样,同样的中间数据可能要在网络中传输两次或者两次以上。使用面向任务池任务的调度方式来仿真Dag图任务的运行存在诸多问题:如通讯开销大、仿真时间与调度算法计算的理论值不符、出错率高等。
基于以上分析,本文借鉴peer-to-peer网络的思想,提出并实现了基于GridSim中Dag图任务调度的P2P数据传输方式,使得Dag图任务在GridSim中的调度模拟变得更简便,减小了通讯开销,同时减少运行时间,降低通讯出错率,使得可以完全模拟调度算法中对Dag图子任务的调度。P2P数据传输方法的主要思想是:在Dag图的调度中,每个子任务都保存了其后继子任务所在的资源信息,当某个前驱子任务运行完毕时,直接将中间结果发送给其后继子任务所对应的资源,以唤醒其后继子任务的运行。直到所有的子任务都运行完毕,再将总结果发送给用户程序。P2P的方式减少了通讯次数和通讯数据量,从而有效地减少了通讯开销,降低运行时间,降低通讯中数据出错的几率。
本文第2节对GridSim的任务调度模型以及其对Dag图的调度方式进行了详细的剖析。第3节阐述了P2P数据传输方式的基本思想及其运行过程。第4节讲述P2P数据传输方式在GridSim平台上的设计与实现。第5节通过一个实例Dag图,分析其在原始Gridsim下和在改进的P2P传输方式下的仿真结果,证明改进的P2P数据传输方式的优越性以及实现的正确性。第6节对全文进行总结并提出更进一步研究方向。
2 GridSim任务调度方式
2.1 GridSim普通任务调度模型
在GridSim中,仿真过程如下:首先生成资源实体(Grid Resource Entity)和资源信息服务实体(Grid Information Service Entity);当用户将任务提交给用户(User Broker),用户查询资源信息服务实体,获取当前可用资源数量及属性;用户再将任务的各子任务分别发送给对应资源,资源执行完子任务后,将结果返还给用户;待所有子任务执行完毕,用户分析各子任务运行结果,收集整理,产生最终结果并返回给用户[8-9]。交互过程如图1所示。
2.2 GridSim中Dag图调度模型
由于GridSim的任务调度室针对任务池任务设计的,并没有对Dag图的调度做任务特殊的处理,仍然采用普通的调度方式对其仿真。当某个子任务执行完毕之后,中间数据将传送个用户,再有用户将中间结果发送给其后继子任务所在的资源。如此,同样的中间数据在整个网络中传输了两遍,既增加了通讯量,延长了整个Dag图执行的时间(makespan)[1],同时由于网络传送输的不可靠性,增加了由于数据传输出错而导致整个任务失败的可能性。
试举一例,对如图2所示DAG图,共有三个资源Res1、Res2和Res3,可供使用。假设,子任务T1调度到Res1上,T2调度上Res2上,T3和T4调度到Res3上。那么,它在原始GridSim中仿真的时序图如图3.(a)所示。
其中,当T1执行完毕,将结果D1和D2发送给用户,用户再将D1发送到Res2 ,D2发送到Res3以唤醒T2和T3的执行,在T2、T3 执行完之后,分别将D3和D4发送给用户,用户将D3,D4发送给Res3以唤醒T4。直到T4在Res3上运行完毕,将最终结果发送给用户。如此,整个任务执行完毕。以这样的方式运行,每个中间结果(D1,D2,D3,D4)在网络上都传输了两遍或,而且传输量还会随着DAG图复杂性的增长成指数级增长。与此同时,数据传输的出错率被成倍地放大了。
3 P2P数据传输模型
对具有前驱后继依赖关系的Dag图,用户只关心整个Dag图运行的最终结果,并不关心每个子任务执行产生的中间结果。基于此,P2P数据传输模型直接将中间数据传输给后继子任务所在资源。从而达到减少通讯开销,降低通讯出错率的目的。如图3(b)所示,在T1运行完毕后直接将中间数据D1和D2发送给Res2和Res3以唤醒T2和T3,当T2运行完毕后,将结果D3发送给Res3以唤醒T4,由于T3和T4同在Res3上执行,故省去D4的传输时间。从图中可知,与GridSim中原始的传输方式相比,中间数据D1,D2,D3都只传输一次,D4甚至不用传输。使用P2P的数据传输方式大大降低了通讯开销、节省了时间、同时也降低了出错率。
4 GridSim中P2P传输模型设计与实现
GridSim仿真平台包括GridResource,和Grid Information Service(GIS),Gridlet等几种基本功能元件[1],其中GridResource 模拟网格资源。每个网格资源为一个GridResource对象,含多个同构或异构的处理单元,以时分(time shared)或空分(space shared)的方式为网格中的所有用户服务。
GIS模拟网格中的目录服务,是网格的信息中心;所有资源生成之后均需要在GIS上进行登记,供User查询Gridlet 任务。 GridSim仿真环境将任务建模为Gridlet,包含运算量、输入数据量和运行完毕后产生的输出数据量等所有任务属性。
如图4中所示,包gridsim中的类为GridSim提供的原始类,为了扩展GridSim以实现P2P的数据传输,我们扩展了GridSim提供的原始类,如包daggridsim中所示。其中Edge类对Dag图中边建模;DagGridlet 是对Gridlet的扩展,使其包含后继任务所在资源的信息;DagGridResource是对GridResource的扩展。DagSpaceShared是对AllocPolicy的扩展,子任务的发送方式的修改和中间数据的接受及挂起子任务的唤醒都是在DagSpaceShared中实现的。值得一提的是DagGridSimTags,其中只定义个标记,GRIDLET_DATATRANSEFFER,它表示向资源发送消息的类型为中间数据。
4.1 DagGridlet类
GridSim中,使用Gridlet对象对子任务建模,每个Gridlet包含有GridletLength、GridletFileSize和GridletOutputSize等几个域,分别表示子任务的计算量,输入文件大小和输出数据大小。
分析Gridsim对子任务的建模过程,可以看到其不适合DAG图调度的根源在于:Gridsim在设计gridlet数据成员时,将子任务的运行参数gridletLength_和输入输出参数gridletFileSize_、gridletOutputSize_一一对应捆绑在了一起,从而在逻辑上严格对子任务实施了如下限制:
1)每个子任务存在且仅存在唯一的前驱结点、后继结点,即用户(实体)。
2)不存在表示当前子任务后继节点所在的资源信息。
为了能够使Gridsim工具包能为Dag图的调度和运行构造仿真环境,特别是创建工作流应用程序的仿真环境。故而本文对Gridsim进行了较大规模的二次开发,将子任务的输入、输出参数从gridlet中剥离出来形成新类Edge,用以对Dag图中的边建模,令gridlet仅描述与计算相关的子任务属性;以达到全面仿真Dag图在分布式环境下运行过程的目的。
Edge作为Gridlet的内部对象,所包含主要属性包括:
1)destGridlet: 表示此边的后继子任务对应的Gridlet编号。
2)destGridResource: 表示此边后继子任务所在的资源号
3)size:边传输数据的大小,表示从此结点到后继结点所需传输的数据量,
由以上对边Edge的定义,我们可以对Gridlet加以改造以适应其在Gridsim中的仿真调度:改造之后的Gridlet我们称之为DagGridlet,它继承了原先Gridsim中gridlet的所有属性及行为,并添加如下主要数据成员:
1)predeceessorNum_: 表示当前子任务结点的前驱子任务任务个数
2)edgeArray_: Edge类型的数组,表示当前节点所有输出边的集合。
4.2 P2P数据传输方式下Dag图执行流程
使用Edge对子任务之间边进行建模,Dag图的执行可以分为如下步骤:
1)使用静态调度算法[10]即所谓的表调度算法,为每个子任务分配合适合适的资源,如HEFT (HeterogeneousCEarliest-Finish-Time ) 算法、CPOP ( Critical-Path-on-a-Processor ) 算法[2]。因为,在Gridlet建立时就需要为其每一条边建立好对应关系,故此处只能使用静态调度算法,在子任务传送到各资源之前,就为其分配好每一个子任务所在的资源,以便在建立Dag图各子任务前驱后继关系时能在destResource_中填入正确的资源编号。
2)使用对应的调度关系,建立DagGridlet,其中包含有此DagGridlet所对应最优资源的资源号、其与后继结点之间的边Edges、此DagGridlet在对应最优资源上的运行时间等信息;
3)将所有的DagGridlet分别发送到各自对应的资源上,我们可以将此步骤定义为部署(ployment);
4)Dag图各子任务数据传递,当一个子任务运行完毕后,将其数据发送给后继子任务所在的资源并唤醒因等待此子任务而挂起的子任务;
5)当运行到Dag图的出口结点(可能有多个出口结点)时,子任务将最终结果传送给用户(User borker)。
6)用户根据返回的最终结果,整理产生任务的最终结果,发送个用户。
在步骤3)中,我们使用带有GRIDLET_SUBMEIT标记的消息向目标资源发送各子任务,当资源接收到子任务之后,根据其predecessorNum_ 域判断是否为入口结点(predecessorNum_为0表示无前驱,即为入口结点),否则,则将其挂起,等待其前驱子任务运行完毕后再唤醒它。
在步骤4)中,当某个子任务运行完毕之后,判断其是否为出口结点(edgeArray_域为空表示没有输出边,即为出口结点)。如果是,则使用带GRIDLET_RETURN标记的消息将结果发送给用户;否则,使用带有GRIDLET_DATATRANSEFFER标记的消息将结果发送给其后继子任务;而且此时,如果后继子任务不在当前资源上,则还需考虑通讯开销;否则,通讯开销为0。参见如右过程 Procedure 1 finishGridlet()。
资源通过消息标记GRIDLET_DATATRANSFER判断数据是否是前驱子任务发送的中间结果。如果是,首先获取数据,然后调用active过程唤醒相应的子任务。具体过程如下页Procedure 2伪代码片段。
唤醒子任务函数active的伪代码如Procedure 3.
5 实验与分析
考虑运行如下的Dag图,包括十个子任务,其ID分别从0到9(每个圈代表一个子任务),每条边上的数字代表两个子任务之间的通讯量:
假设三个资源分别为P1、P2和P3,各子任务在其上的执行时间如下表如图5.(b)所示:
使用HEFT算法[2]的静态调度结果顺序如下:n0,n2,n3,n1,n4,n5,n8,n6,n7,n9。各资源上运行的子任务如下:
根据HEFT算法各子任务的开始运行时间和运行结束时间如表2.(a)所示:
表2 两种方式下各子任务运行开始及结束时间表
从表中可以看出,整个Dag图运行的makespan是80(秒)。
我们再来看使用GridSim提供的原始方法调度相同的Dag图,任务使用HEFT算法,得到相同的调度方式:
各子任务的开始时间以及影响其开始执行的限制条件如表2.(b)所示
从以上调度方式的运行时间比较,我们可以看出,在原始的Gridsim中模拟Dag图的调度,并不能得到理想的结果。按照HEFT[2]算法的调度方法,图5所示Dag图的总运行时间(makespan)应为80,然而,如果使用原始的GridSim包进行模拟,得到的结果只会是123。两种方式下运行图5所示Dag图的运行时序图如图6所示。
其中,其中箭头表示子任务在不同的处理器上执行时制约起开始的条件,1号子任务在处理器P1上执行完毕的时刻是40,分配到处理器P2上的8号子任务必须等到时刻56(40+16=56,16为通讯开销)才能开始执行。(a)表示使用P2P数据传输方式的GridSim4Dag中的调度运行时序图,(b)表示使用GridSim原始的调度方式的运行时序图,从图中可以看到,由于中间结果的传送,增加了通讯开销,从而增大了整个任务的运行时间。粗箭头表示两种运行方式下个子任务之间制约条件的变化。
通过对GridSim底层的修改,实现P2P的数据传输方式,运行图5所示Dag图的makespan是80,总的周转时间为:80.01000000000022(所谓周转时间是指:任务第一个子任务开始运行到最后一个子任务运行完毕所花的时间),与HEFT算法计算出来的理论值吻合。
6 总结与前瞻
本文提出Dag图在GridSim中运行的一种新的数据传输方式,即P2P的方式,并通过对GridSim中代码的修改,实现GridSim中P2P的中间数据传输方式,并通过实验证实在在改进的GridSim4Dag上仿真Dag图运行的有效性和正确性。
本文设计实现的P2P中间数据传输方式的GridSim4Dag,不仅能扩展GridSim的功能,使其满足Dag仿真的要求,它更深层次的意义在于它符合Dag图调度的逻辑,所以可以应用到更多的真实网格系统中,如Globus,Fura等,所以以后还会进一步研究这种Dag图的调度方式在实际网格中的运行效果,以及其在真实的网格系统中的实现细节。参考文献:
[1] Z Yu and W Shi.An Adaptive Rescheduling Strategy for Grid Workflow Applications[J].Proc.of IPDPS,2007(3).
[2] Haluk Topcuoglu,Min-You Wu.Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing[J].IEEE Transactions on parallel and distributed system,2002,13(3).
[3] 卢鹏,金海,谢夏,等.关于模拟器的研究[J].高性能计算技术,2005,173(2):5-9.
[4] Forster I,Kesselman C,ed al.The Grid: Blueprint for a Future Computing Infrastructure[M].Morgan Kaufmann:San Mateo,CA,1999.
[5] Rajkumar Buyya,Manzur Murshed.GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing[J].CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computing;Pract.Exper,2002(14):1175-1220.
[6] 刘宴兵,杨茜慧,王文斌.基于GridSim ToolKits的网格仿真环境设计与实现[J].计算机科学,2008,35(6):83-85.
[7] 李炯,卢显良,董仕.基于GridSim模拟器的网格资源调度算法研究[J].计算机科学,2008,35(8):95-97.
[8] 邓蓉,陈闳中.GridSim仿真代码生成器GridSimHelper[J].计算机科学,2010(10).
[9] 董子龙.An Anatomy of GridSim[DB/OL].[2005-06-18].浙江大学CAD&CG实验室.
关键词:郭沫若;川端康成;小说;基调
郭沫若和川端康成是东方同时代的重要作家:郭沫若(1892―1978)是中国现代文学的重要作家,川端康成(1899~1972)是同时代日本文学甚至东方文学的领衔作家,对这两个同期重要作家的研究本身就是文学研究不可错过的领域。而且二者创作的文化土壤还有过重叠,郭沫若从23岁到32岁、36岁到46岁长达二十年的日本生活,因此对二者比较研究颇具意趣。
一、郭沫若留日小说的基调:焦躁忏悔
郭沫若的留日小说是指他留学日本时期写的小说以及回国后写的反映日本生活的小说。这些作品时时表现出对生命现状的不满、不安、焦躁和忏悔。他笔下的情绪基本都是饱含激情、程度强烈,绝不平和轻柔。常常因穷困、漂泊而心急如焚:“饽馅,饽馅,饽馅……浮浪,浮浪,浮浪……浮浪的不安,饽馅的缺乏……”[1]p296《喀尔美萝姑娘》疾呼除了爱而不能的焦躁、无奈:“我终竟是人,我不是拿撒勒的耶稣,我也不是阿育国的王子,我在这个世界上的的追求,你不能说我是没有这个权利。我抛别了我的妻儿,我是忍心,但我也无法两全,而我的不负责任的苛罚,我现在也在饱受着了。”[2]p212创作枯竭、江郎才尽之苦、压力不断袭来,陡增焦躁情绪:“他从事文笔的生涯以来,海外的名家作品接触得愈多,他感觉着他自己的不足愈甚。他感觉着自己的生活太单纯了,自己的表现能力太薄弱了。愈感不足,他愈见烦躁,愈见烦躁,他愈见自卑。”[3]p249
焦躁之后,便是无尽的自我忏悔。“我心里在忏悔,我很想跑去跪在我女人的脚下痛哭一场,忏悔我今天对于她的欺罔。”[2]p214 “他忏悔着想去向他的夫人赔罪”[4]p196“我的良心又来苛责我来了。”[2]p219 “他坐在人力车上一路只是忏悔”[3]p257暗自在心里发誓:“我是要做我爱人的丈夫,做我爱子的慈父”,哪怕“当讨口子”,哪怕“死在海外也可以”。
二、川端康成小说的基调:氤氲哀婉
相对于郭沫若的万般焦躁和忏悔而言,川端康成显得平和得多。他的作品的情绪故然少了一些激烈焦虑、埋怨忏悔,却多了几分哀婉,这种哀婉好似不明显的,但却缭绕于作品的首尾、会同在人物的命运之中、浸染着人物的心灵。《雪国》、《古都》、《千只鹤》、《伊豆的》以及一系列掌小说都是如此,难怪学者高慧勤专门编有《川端康成・哀婉小说》这一集子。《雪国》中岛村对付生浮若梦的感叹,驹子爱而不得的怨愁,叶子与意中人生死两茫茫的忆念,再辅之以雪国清寒景象,使全书充溢着悲凉、哀婉的基调。《古都》中千重子自始自终对命运的无奈和与生俱来的孤独感,也时刻缠绕在作品之中。《千只鹤》中菊治迷乱的生活,也蒙上了一层浓郁的哀愁。《伊豆的》中的一片纯情,也在离别中染上了哀婉的格调。
氤氲哀婉是川端康成不同于郭沫若的生命格调。他的创作常常伴随着一种忧伤和凄楚的情调,表现出一种特有的“川端式”的感伤抒情的倾向,在作家心里潜流着孤独、寂寞、忧郁、脆弱、多愁善感,甚至神经质。他那忧虑伤感的情绪,并不是大起大落地宣泄、倾泻出来的,而是在平淡的叙事、写情中尽情地渲染,在清清淡淡、朦朦胧胧的点划下给人似幻如真又如梦如烟的感觉,这就使他那幽怨的思绪罩上缕缕氤氲的轻纱,这种幽怨又融入自然景物之中。即“川端式”的哀愁,是婉转的、淡淡的、纤细的,却又是实在的、可感的、挥之不去的,与人物生命融为一体的。
三、不同基调背后的共同根源:多劫人生
郭沫若留日小说以焦躁忏悔为基调,不同于以氤氲哀婉基调的川端康成小说。但不同基调背后的根源却有着相似之处,这就是二者共同经历了人生的劫难。
郭沫若面临的家庭压力:在他的小说中, 主人公身兼多种角色,然而没有一种角色不带给他痛苦和自责,多种角色相互缠绕的痛苦压抑使他倍感身心疲惫,自己身在其位却不能谋其职的现实使其痛苦、焦躁、忏悔。作为儿子,他被迫违背慈母的叮咛, 多年有家不能回;作为丈夫,他未能给妻子解决衣食的担忧,还让她一个弱女子携带三个幼子经受海行的颠簸;作为父亲, 他没有更多的时间、精力、物质给孩子提供较好的成长环境。
郭沫若深陷时代困惑:他的留日小说,从整体上反映了五四前后,留学日本的中国学生普遍的生命状态和生命体验:“袋里无钱,心头多恨”,他们愁穷、忧个人前途、虑民族命运、苦民族歧视。“他小说中的主人公都生活拮据,朝不保夕,时时为房租、衣食问题弄得焦头烂额,愁眉苦脸,他们受到儿女拖累,寝不安席,为生计撰文也无安静环境;他们漂泊流浪,寄人篱下,遭人歧视,妻子抱怨,时时闹起家庭纠纷。”[5]p310-311
川端康成的孤儿情结:他自幼失去亲人,在寂寞孤独的环境中长大。“我的祖父死于大正三年五月二十四日……在祖父死去之前,祖母在我八岁时去世,母亲在我四岁时去世,父亲在我三岁时去世了。我惟一的姐姐寄在伯母的家里,在我在十岁的时候死了。我的记忆里留下来的直系亲属只有我的祖父。这种孤儿的悲哀从我的处女作就开始在我的作品中形成了一股隐蔽的暗流,这让我感到厌恶。”[6]p16作为孤儿的寂寞、孤独的人生体味,失去家庭温暖、漂泊无着的哀伤和幽怨,成为他许多作品中的一道情感的潜流,贯穿他创作的始终,人们称之为“孤儿情结”。
川端康成与国同殇:他的一生经历了关东大地震、日本无产阶级运动、太平洋战争、战后的萧条与复兴等重要而动荡多变的时期,这些对他生命观具有深刻影响。一九四五年日本战败投降后,川端在《哀愁》这篇散文中感慨道:“战争期间,尤其是战败以后,日本人没有能力感受真正的悲剧和不幸。我过去的这种想法现在变得更加强烈了……战败后,我一味回归到日本自古以来的悲哀之中。我不相信战后的世相和风俗。或许也不相信现实的东西。”[7]p146
四、结束语
郭沫若的留日小说和川端康成的小说在表现个体生命的状态时,小说基调上存在着一定的分歧:焦躁忏悔与氤氲哀婉。这正体现不同作家的生命体验、生命意识同中存异的状况。探讨、比较二者小说的基调,有利于分析他们各自在特定的社会历史环境里,人生境遇、人生观、世界观与艺术审美倾向、文学表现的互动,促进中日文化交流。
[参考文献]
[1]郭沫若.行路难[A].见:郭沫若全集・文学编・第九卷[M].北京:人民文学出版社, 1985:296.
[2]郭沫若.喀尔美萝姑娘[A].见:郭沫若全集・文学编・第九卷[M].北京:人民文学出版社, 1985:212,214,219.
[3]郭沫若.漂流三部曲[A].见:郭沫若全集・文学编・第九卷[M].北京:人民文学出版社, 1985:249,257.
[4]郭沫若.万引.见:郭沫若.郭沫若全集・文学编・第九卷[M].北京:人民文学出版社, 1985:196.
[5]靳明全.文学家郭沫若在日本[M].重庆:重庆出版社,1994:310-311.
【关键词】轨道交通;调度日志;信息管理系统;系统开发
0 引言
随着各地城市轨道交通系统的大力发展,如何保障其安全、快速、高效地运行越来越受到轨道交通运营管理者的重视,而对于日常运营数据特别是调度生产日志的有效管理更成为做到这点的前提条件。据了解,目前针对这种类型的信息数据管理还不够完善,数据管理还处于基本的存储阶段,这就可能造成地铁运营方不能很好地对这些内容加以分析利用,造成一定程度上的资源浪费。为了改变这一现状,笔者以这些日志数据背景,结合实际情况,开发了一套城市轨道交通调度日志信息管理系统。
笔者首先将地铁公司历年的调度数据做一个归类整理,并将其导入数据库。该数据库的建立可以为今后数据分析和其它利用提供有效的数据支持,从而提高数据的利用效率,减少资源浪费。本系统可以方便地实现对调度日志数据的查询、添加、修改、删除等功能,工作人员在日常运营过程中可以随时将调度信息通过系统输入数据库中,同时也可以按需求检索数据,使数据利用更加方便。
1 系统分析和设计
1.1 数据的前期整理和分类
为了建立数据库,需将地铁调度日志进行分类。由于针对这一分类并没有统一的标准,因此笔者通过分析总结日志的内容,制定出一套标准并按此分类。具体的分类标准见图1。
图1 分类结构
1.2 开发工具
本系统采用SQL SERVER 2005作为数据后台,采用Microsoft Active Server Pages(ASP)技术设计实现。
SQL Server是一种非常高效的关系型数据库系统,与Windows NT/2000和Windows XP等操作系统紧密集成,对于当前复杂的客户/服务器系统来说,是一个非常好的一个选择。
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
1.3 系统模块
整个系统共分为4个模块:系统首页、登录模块、信息处理模块、检索模块。
1)系统首页:此页面是各种功能模块的入口,同时会显示诸如当前日期、时间、用户信息等辅助信息。
2)登录模块:该模块主要是检查用户的身份,它会调用数据库中的用户表,检查用户名和密码,同时记录该用户的权限,只有登录成功后才能执行更进一步的操作。
3)信息处理模块:此模块按功能又可分为添加、修改、删除三个子模块,用户可以随时按需处理相应的数据;其中删除数据受到用户权限的限制,只有高级用户才能进行此功能。
4)条件检索模块:该模块可以根据使用者想查阅的信息,输入相应的关键字,系统采用精确查询或者模糊查询的方式来检索相应的信息并输出显示。
1.4 数据库的建立
按照数据库建立的原则:尽量使数据冗余最小化;确保数据的安全性、可靠性;系统的易维护性、易移植性;实现动态的数据库管理。笔者在充分考虑这几点的基础上,设计了系统的数据库。
1.4.1 数据表的设计
本系统数据库取名为rizhi,共有27张表所构成,按表存储数据的类型可分为用户表、分类代码表、日志数据表以及一个备份表。其中用户表存放的是系统的用户信息;分类代码表记录的是每一项分类的代码,如“调整操作类”为B1,“施工操作类”为B2,用于今后的检索;日志数据表是根据图1中的二级分类设立的,共有24个,每一类表名就是之前设定的代码;备份表名为backupTable,用于存放被删除的数据,防止误删除。以下为用户表及日志数据表的结构:
表1 用户表
表2 日志数据表
1.4.2 触发器的创建
为了保证数据的安全,防止误操作,笔者为每个日志数据表都创建了一个delete触发器,当用户在系统中进行删除数据的操作时,该条数据信息会自动保存到backupTable备份表中,用户可以随时恢复。以为B1表创建触发器为例,代码为:
create trigger Del1
on B1 for delete
as
insert into backupTable (line,date,time,jilu,place,diaodu,name) select line,date,time,jilu,place,diaodu,name from deleted
2 系统详细设计
2.1 首页设计
本系统首页为用户提供了各功能模块的链接入口,同时也能实时显示当前日期时间等辅助信息,在用户登陆后,系统会提示当前登录的用户身份以及等级权限。
2.2 登录模块的设计
调度日志对于地铁公司来说属于内部资料,具有一定保密性,因此用户若想对数据进行修改、增减等操作,须以管理员身份登录,否则系统将阻止用户的部分操作。
2.3 信息处理模块设计
该模块是本系统的核心模块,实现的是日志信息的添加、查询、修改等功能。在添加模块中,由于分类比较多,让用户自己输入该条信息的分类显然是不可能的。为此,本系统设计了一个二级联动菜单,用户只要在下拉菜单中做相应的选择,与之对应的二级分类就会显示出来,这样提高了效率,也避免了添加时出现系统错误。其次,在代码设计上,由于有24张日志表,判断用户选择时如果都写成if … then 语句,不但语句冗长,也增加了系统负担。为此,笔者用两条sql语句解决问题,首先从代码表中检索出此分类相应的代码,再通过sql语句将其添加到对应的日志数据表中。主要设计代码为:
if a="" then
Response.Write("alert('请选择分类');window.history.go(-1)")
else
set rs1=server.createobject ("adodb.recordset")
rs1.Open " select ID from daima where erji= '"&a&"' ",conn,3,3 bb=rs1("ID") %>
rs2.open " select * from "& bb &" ",conn,3,3
rs2.addnew
……
rs2.update
rs2.close
Response.Write("alert('新记录已经成功提交!
');window.location=('add.asp')")
end if%>
2.4 检索模块的设计
本系统提供了两种信息检索方式。一种是条件检索,用户通过选择线路、日期、地点等条件,检索出相应的数据;另一种为关键字检索,用户可以在事件描述中输入相应的关键字,如车体号、某车站的信号设备编号等,系统会进行一个关键字的模糊检索,显示出符合条件的数据。
以检索“车辆”数据为例,其sql代码为:select * from b5 where line = '"& xian &"'and date = '" & dt & "'and time = '%" &time & "%' and jilu like '" & jl& "'。其中,xian、dt、time、jl变量是从添加页面表单中获取的线路,日期,时间等信息,这三者采用的是精确检索的方式,最后的记录信息采用的是模糊检索。界面如图 2。
图2 系统检索界面
3 系统的特点及未来的应用
1)系统采用B/S模式设计,界面简洁,使用方便。
2)系统为调度员日常运营调度工作提供方便,帮助其更快准确地做出决策。
3)为轨道交通企业日常运营数据的管理和利用提供了一种新的途径。
4)有效提高了企业数据资源的利用效率。
目前该系统的功能还相对简单,随着信息技术的发展,功能更强大的信息管理系统会不断出现,本系统建立的数据库可在今后的程序开发中得到充分利用,从而提高开发效率。
【参考文献】
[1]黄梯云.管理信息系统[M].北京:高等教育出版社,2009.
[2]王雨竹, 张玉花.SQL Server 2008数据库管理与开发教程[M].北京:人民邮电出版社,2012.
[3]季高荣.中小企业管理信息系统建设研究[D].安徽:安徽大学,2012.
[4]杨德友.学生综合管理信息系统研究与实现[D].成都:西南交通大学,2006.