所有由kylin发布的文章

学会阅读ALEXA报表

学会阅读ALEXA报表

转载请注明: 作者: 阿江 出处: www.ajiang.net

【校正】

现 在可以确定写下面这篇文章的时候我的一些观点是错误的,因为当时ALEXA的数据不仅仅来自网站的访问者,统计代码输出的框架在总的数据中也占有一些权 重。现在新的算法则是不计算统计代码输出的框架的流量的,所以说从ALEXA显示的点击数推断一个网站的“安装了工具条的人”的访问量的方法现在仍然是正 确的,不正确的只是当时对工具条用户总数的推断。

引子

知道AELXA的站长是越来越多了,但是最近我才发现,许多站长并没有仔细的看过ALEXA的报表,而只是看一个数字,就是排名。其实很多时候,AELXA提供的另外两个数据——每百万人的点击数和每人的页面浏览数——才是更值得研究的。

ALEXA的数据来源

虽然几乎是尽人皆知的,但是还是必须强调一下,ALEXA的统计数据来自他们对ALEXA工具条用户所访问的网址信息的收集,就是说,只有当一个网站被“ 安装并且使用了工具条的人”访问时,AELXA才会知道,否则,一个人在自己家里访问一个网站,AELXA怎么可能知道呢?
很显然,如果一个人没有安装工具条,或者安装了但是没有使用(比如关闭了或者他临时用了别的浏览器),那么他访问任何一个网站都是不会被ALEXA知道的。
在后面的文字中,我把“安装并且使用ALEXA工具条的人”简称为“工具条用户”。

理解“每百万人的点击数(Reach per million users)”

我们先举这样一个例子,甲乙二人分别在两个公司上班,甲说:我们公司有100个人认识我,乙说:我们公司有200个人认识我。那么谁在自己的公司里更有名 呢?没办法判断,因为我们不知道他们各自的公司总共有多少人,如果甲的公司总共只有100个人,而乙的公司有500个人,那么很显然是甲在自己的公司里更 有名一点(所有的人都知道他)。
ALEXA也是一样的,因为每天的工具条用户数是不一样的(每天都有安装或者卸载的,安装工具条的人也有不上网的时候),所以如果ALEXA显示实际的点击数字是不利于两天之间的对比的。
比如,昨天有20个工具条用户访问了你的网站,今天还是20个,你一定会认为你的网站的受欢迎度是没有变化的,其实并不是,因为这两天的总的工具条用户是不同的,如果昨天是周四今天是周五,今天总的上网人数增加了很多,而访问你的网站的人并没有增加,这说明你是退步了。
所以ALEXA引入了一个“每百万用户的点击数”这个参数来更加科学的衡量。
比如今天总共有50万个活跃的工具条用户,其中50个访问了你的网站,就是说有万分之一的人访问了你的网站,那么如果有100万个人,就应该有100个人 访问你的网站,所以ALEXA会显示你的百万用户点击数是100。而如果今天有200万个活跃的工具条用户,其中50个访问了你的网站,同样的方法算出 来,百万用户点击数应该是25。
那么每天究竟有多少个ALEXA活跃用户呢?通过我对我要啦统计中“是否安装ALEXA工具条”功能的分析,可以推断出每天全世界总共大约有60~80万 个活跃的使用ALEXA工具条的用户。因为ALEXA显示的百万用户点击数常常是“访问我们网站的ALEXA工具条实际用户数”的1.3~1.5倍。
我要啦统计的用户可以尝试对比一下自己的统计数据和AELXA的百万用户点击数之间的比例关系是不是这样。
不过注意这里可能会有一些偏差,原因是:
① 我要啦统计只能知道访问者是否安装了工具条,并不能判断他是否使用了工具条;
② 同一个用户换个IP上你的网站,会被我要啦统计计数两次,但是是否会被ALEXA计数两次还不得而知,很难说在安装工具条的时候工具条自己会不会生成一个独立的标记;
③ 中美之间网络的畅通程度会影响ALEXA的漏统计率;
④ 每天的工具条用户总数都在发生变化,我们无法知道这个数字。

理解网站排名的依据

AELXA的排名是按照“百万用户点击数”和“每用户浏览页数”两个数据综合评定出来的,但是所占的比重还无法判断。但是至少可以知道:
① 百万用户点击数相等的两个网站,谁的页面浏览量大,谁就排得靠前;
② 每用户浏览页数相等的两个网站,谁的百万用户点击数大,谁就排得靠前;
③ 这两个参数都相当的两个网站,他们的排名也是相当的。

分析AELXA数据

我们举例来说吧。昨天chelseacn.com的站长跟我说他怀疑有人帮他刷排名,说自己才100IP,就排名十几万了。我于是看了看他的ALEXA数据:
百万用户点击数:5.5
根据前我们所说的那个比例,可以判断每天访问他的网站的“工具条用户”应该大约是三四个。他的网站有100IP左右,每天100个人过来,有三四个装了工具条的人很正常嘛。这个数据没有错。
每用户浏览页面数:11
我看了一下,chelseacn.com是一个资讯站,而且内容很专,访问这个网站的人很可能是对相应内容感兴趣的人,他们看个八九篇文章,再加上首页和栏目页之类的,一个人看个11页也很正常。这个数据也没有错。
所以说,根本没有人帮他刷排名。或者说,只要有三四个人每天上你的网站并且每人浏览11页,那你的排名也可以像他那样达到10万。

阅读ALEXA的注意事项

我们已经知道,每天活跃的工具条用户只有八十万左右,这和每天实际的上网人数是相差很大的。并且这少数安装了工具条的用户很多的是分布在英文语音的国家 的。在中国为数不多的工具条用户中,网站站长又占据着很大的比例。如此少数并且分布不均,可以说他们是不具备代表性的,有时候简单的看看排名实在是没有什 么意义。
当你需要以ALEXA数据为依据时,可能需要注意:

① 排名三万以后的网站之间不宜对比。

这些网站的排名实际上是被少数几个安装工具条的人影响着,偶然性很大。

② 不同类型的网站之间不宜对比。

他们的用户群可能不一样,这些用户安装工具条的比例就会不同。我们可以想象,同样是一万IP的网站,提供免费空间的网站和讲花卉种植的网站的排名可能是天壤之别。

③ 不可以只对比排名。

如果你要投放广告,你应该更关心百万用户点击数,因为这个参数更多的反映出来网站的访问人数。如果你要评价网站内容的受欢迎程度,你应该更关心每用户浏览页面数,吸引人的网站总是能让用户多浏览很多页面。

④ 要注意今日数据和一周数据。

直接写在ALEXA结果页(OverView页)的那个数字是三个月的综合排名,有的网站发展很快,比如是最近一两个月才起来的,用三个月的数据和别的网站对比不太合理。

⑤ 看看流量图的走势。

流量大起大落的网站很可能是靠广告带来的流量,一旦停止广告就会丢失流量。当然也未必是广告带来的,我们至少可以得出这个网站流量不稳定的结论。

后记

不少人认为我的ALEXA数据是作弊出来的,有时候越是解释人家反而会感觉我是在辩解,真有越描越黑的味道。虽然我并不太看重我的ALEXA数据,但是我 却实在不愿意被戴上作弊数据的帽子,我总是希望别人的脑子中有一个真实的我,而不是被歪曲的我。可是我痛恨我自己,一直没有时间拿回那个月光宝盒,好回去 跟他们讲清楚……
今天终于如愿了。

beacon /b’ikən/

beacon  /b'ikən/

共發現 9 筆關於 [beacon] 的資料 (解釋內文之英文單字均可再點入查詢)

資料來源(1): pydict data [pydict]

beacon
煙火,燈塔(vt.)(vi.)照亮

資料來源(2): Taiwan MOE computer dictionary [moecomp]

beacon
引標

資料來源(3): Network Terminology [netterm]

beacon
信標 指標

資料來源(4): Webster's Revised Unabridged Dictionary (1913) [web1913]

Beacon Bea"con, n. [OE. bekene, AS. be['a]cen, b?cen; akin to
OS. b?kan, Fries. baken, beken, sign, signal, D. baak, OHG.
bouhhan, G. bake; of unknown origin. Cf. {Beckon}.]
1. A signal fire to notify of the approach of an enemy, or to
give any notice, commonly of warning.

No flaming beacons cast their blaze afar. --Gay.

2. A signal or conspicuous mark erected on an eminence near
the shore, or moored in shoal water, as a guide to
mariners.

3. A high hill near the shore. [Prov. Eng.]

4. That which gives notice of danger.

Modest doubt is called The beacon of the wise.
--Shak.

{Beacon fire}, a signal fire.

資料來源(5): Webster's Revised Unabridged Dictionary (1913) [web1913]

Beacon Bea"con, v. t. [imp. & p. p. {Beaconed} (?); p. pr. &
vb. n. {Beaconing}.]
1. To give light to, as a beacon; to light up; to illumine.

That beacons the darkness of heaven. --Campbell.

2. To furnish with a beacon or beacons.

資料來源(6): WordNet (r) 2.0 [wn]

beacon
n 1: a fire (usually on a hill or tower) that can be seen from a
distance [syn: {beacon fire}]
2: a radio station that broadcasts a directional signal for
navigational purposes [syn: {radio beacon}]
3: a tower with a light that gives warning of shoals to passing
ships [syn: {lighthouse}, {beacon light}, {pharos}]
v 1: shine like a beacon
2: guide with a beacon

資料來源(7): U.S. Gazetteer (1990) [gazetteer]

Beacon, IA (city, FIPS 5050)
Location: 41.27457 N, 92.68125 W
Population (1990): 509 (192 housing units)
Area: 2.6 sq km (land), 0.0 sq km (water)
Zip code(s): 52534
Beacon, NY (city, FIPS 5100)
Location: 41.50415 N, 73.96599 W
Population (1990): 13243 (5039 housing units)
Area: 12.3 sq km (land), 0.3 sq km (water)
Zip code(s): 12508

資料來源(8): Easton's 1897 Bible Dictionary [easton]

Beacon
a pole (Heb. to'ren) used as a standard or ensign set on the
tops of mountains as a call to the people to assemble themselves
for some great national purpose (Isa. 30:17). In Isa. 33:23 and
Ezek. 27:5, the same word is rendered "mast." (See {Banner}.)


資料來源(9): Internet Dictionary Project [english-spanish]

beacon
atalaya[Noun]


周末—03.29

周末总是过得很快,两周没有回家,都是窝家里上网,看电视,睡觉。。。其实我不想做宅女。

偶尔出去走走,桃花呀什么什么莫名的花都开了,随手拍了几张,感觉还挺不错的,平时上班来回匆匆都没怎么注意,朝八晚六的。

现在去市区基本都是走过去的(可能太无聊了,不想坐车),周末的南大街一直是很拥挤的,这点似乎也习惯了,不觉得奇怪。昨天下午瞎跑了一大圈,跑到人家博物馆里去看油画,没看出来什么跟什么;去玩那个投篮,没发现自己还蛮有天赋,居然能到第三关,某某人就不行了,虽然平时老打篮球,但用力太猛,都弹旁边去了……

晚上回来懒得没做饭,去吃刀削面,回来还在楼梯上摔了,还好只是腿上青了一小块,快七点小郑从南京回来了,我也才刚到家,没做饭害她回来煮面条吃。

然后上了会小网,睡意朦胧地睡了……然后就到今早了,昨天—周末就那么过去了。

QCon 即将到北京…


QCon Beijing 2009

QCon 即将到北京…

QCon全球企业开发大会(QCon Enterprise Software Development Conference)是由C4Media媒体集团InfoQ网站主办的全球顶级技术盛会,每年在伦敦和旧金山召开。自2007年3月份在伦敦召开首次举办以来,已经有包括金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。
2009年,这一在全球企业开发领域享有盛名的大会将首次来到亚洲,来到北京和东京。QCon北京大会将在2009.4.7~2009.4.9在清华科技园国际会议中心举行。秉承QCon伦敦、QCon旧金山的高品质特性,QCon北京大会将不仅是一次顶级技术盛宴,还是一次众星云集的大会!
我们的演讲主题包括:
Java:企业级Java开发 Java语言已经走过了十几……
Agile:敏捷——在路上 软件开发项目中如何协……
Case Studies:网站架构案例分析 你一定想知道……
Architecture:设计优良的架构 如果方向或者目……
RIA:炫富互联网应用 RIA技术让易趣用户可……

SOA Agents:当网格遇上SOA

SOA Agents:当网格遇上SOA

作者 Boris Lublinsky译者 黄璜,审校: 胡键 发布于 2009年3月17日 上午2时7分

社区

 

SOA

 

主题

 

ESB,

 

网格计算

 

标签

 

MapReduce,

 

网格计算

最近几年,SOA获得了巨大进步。它由软件爱好者的实验性实现走向了今天IT的主流。这一进步背后的一个主要驱动力就是对服务接口背后现有企业IT资产的合理运用和虚拟化能力,而这一能力又是与企业业务模型和当下及今后的企业流程高度对齐的。此外,通过引入企业服务总线实现了SOA的进步,而它正是一个虚拟化服务基础设施的模式。通过利用仲裁、服务位置解析、服务水平协议(SLA)支持等,ESB允许软件架构师显著地简化服务基础设施。整个SOA中所缺失的最后一个环节就是企业数据访问。文献[1,2]引入了针对该问题的一个可行性解决方案,企业数据总线(EDB 一种统一访问企业数据的模式)。EDB为SOA虚拟化加入了第三维度,这使得SOA虚拟化可以被分解成:

  • 服务:IT资产的虚拟化;
  • ESB:企业服务访问的虚拟化;
  • EDB:企业数据访问的虚拟化;

在其它SOA开发中,一些文章[3,4,5]建议使用网格技术来增进SOA实现的可伸缩性、高可用性和吞吐量。在这篇文章中,我将讨论如何把网格运用到整体的SOA架构中,并介绍一种在服务实现中利用网格的编程模型。我同时还会讨论一个支持这一架构提议的实验性网格实现。

包含EDB的SOA——整体架构

按照[1,2],带EDB的SOA整体架构如图1所示

图1:包含企业数据总线的SOA架构

在这里,ESB负责调用合适的服务,这是通过利用EDB访问这些服务可能需要的企业数据来实现的[1]。这一架构提供了如下的优势:

  • 显式地分离了服务功能实现(业务逻辑)与企业数据访问逻辑之间的关注点。 
    企业数据总线有效地创建了一个抽象层,将企业数据访问的细节封装在内,为服务实现提供了”标准化接口”。
  • EDB通过将所有对企业数据的访问进行封装,为服务使用的企业语义数据模型[2]与企业应用数据模型之间的所有转换提供了单一的场所。
    结果,服务实现可以通过SOA语义模型来访问企业数据,从而极大简化了企业服务的设计与实现。
  • 服务实现得以访问由EDB提供的所需企业数据,大大简化了服务接口,并在服务消费者和提供者之间提供了松耦合:
    • 因为服务(消费者)可以直接访问数据[2],例如,服务调用并不要求真实的参数值(输入/输出)作为服务调用的一部分来发送。所以作为结果,服务接口可以按照数据引用(键)而不是真实数据来表达。
    • 虽然企业服务模型会随SOA实现的成熟而演化,但数据引用的定义却很少发生变化。其结果是,基于键数据的服务接口将更加稳定。
    • 使用额外数据来扩展服务实现可以在不影响其消费者的情况下办到。

加入网格

EDB的一个可行实现是使用数据网格,如Websphere eXtreme Scale,Oracle Coherence数据网格,GigaSpaces数据与应用网格或者NCache分布式数据网格。

数据网格是为构建某类解决方案而设计的软件系统,其适用的解决方案范围从简单的内存数据库到分布于规模达数千台服务器之上的强大分布式一致缓存。典型的数据网格实现会将数据分割到跨机器存储于内存里的不重合的块中。其结果是,通过标准的流程可达到极高水平的性能和伸缩性。性能是通过并行执行更新和查询(数据的不同部分可以在不同的机器上同时访问)实现的,而伸缩性和容错性则通过在多台机器上复制同一数据得以实现。

图2展示了使用网格作为EDB的实现。网格维持了企业数据的内存拷贝,它代表了企业数据库和应用的状态。

图2 作为EDB的网格

网格的引入允许重新分割存在于多个数据库和应用的数据,以便让它符合企业语义模型。这需要将企业中不同应用/数据库中逻辑相关的数据一起并入到一个统一、内聚的数据表示中,并不可避免地伴随着对企业中重复数据进行合理化。

网格的实现典型的是由发布/订阅机制来支持的,这使得数据变更在网格内存和现有企业应用及数据间保持同步。一个基于网格的仲裁可以利用专为该服务使用而优化的数据模型高速访问企业数据。

尽管基于网格的EDB(图2)简化了对企业数据的高速访问,它仍然有可能要求EDB和服务实现之间进行大量的数据交换。服务必须加载所有所需数据,执行其处理,然后将结果存储回网格中去。

一个更优的架构是让服务执行点离企业数据更近;将服务实现为Agent(代理)的协调人[7],而这些Agent则在包含企业数据的内存空间里执行(图 3)。在这个例子中,服务实现接收一个请求并启动一个或多个Agent,它们在网格节点的上下文里执行,将结果返回给服务实现,服务实现再组合Agent 的执行结果并将服务执行结果返回。

图3 作为Agent协调人的服务

较发布/订阅数据交换模型而言,这一方式提供了如下优势:

  • 它允许操纵本地数据,这极大的提升了整体的服务执行性能,特别是当处理大量数据时(MB或GB的数据)
  • 类似于数据分割,真正的执行被分割到多个网格节点之间,因此更进一步提升了这一架构的性能、伸缩性和可用性。
  • 因为所有服务都可以访问同一数据,当服务执行仅仅只通过最少数目的请求/响应处理数据时,根本没必要传输数据。

软件Agent

Agent的概念可以回溯到分布式人工智能(DAI)的早期研究,当时引入了这一自完备、可交互、并发执行的对象概念。这一对象有某些被封装好的内部状态并能对其它类似对象发来的消息作出响应。根据文献[7],”一个Agent是一个能精确行动以代表用户完成任务的软件组件以及/或硬件。”

在文献[7]中认定的几类Agent如下:

  • 协作式Agent
  • 接口Agent
  • 移动Agent
  • 信息/因特网Agent
  • 反应式Agent
  • 智能Agent

基于(图3)的服务实现架构,我们所说的Agent属于多个类别:

  • 协作式:一个或多个Agent共同实现服务功能。
  • 移动:Agent执行于网格节点上,服务上下文之外。
  • 信息:Agent的执行直接利用了位于网格节点的数据。

在本文接下来的篇幅中,我们将会讨论一个网格的简单实现以及一种可用于构建基于网格的EDB和基于Agent的服务实现的编程模型。

网格实现

在实现网格最困难的挑战之中,包括高可用性,可伸缩性以及数据/执行分割机制。

保证网格高可用性和可伸缩性的一种最简单方式是在网格内部通信中使用消息传递。网格实现可同时从点对点和发布——订阅消息传递中获得益处:

  • 在点对点通信中使用消息传递可支持消费者和提供者之间的解藕。请求并不是直接发送给提供者,而是发送给提供者监视的队列。作为结果,队列提供了:
    • 通过增加监听同一队列的网格节点的数量可以透明地提升整体吞吐量。
    • 通过控制监听队列的线程数量可简单地调节网格节点的负载。
    • 简化负载均衡。不是由消费者来决定调用哪个提供者,而是将请求写入到队列中。提供者在线程能够处理请求时选取请求进行处理。
    • 透明的故障转移支持。如果监听同一队列的一些进程终止了,剩下的仍然会继续选取并处理消息。
  • 发布/订阅消息传递的使用简化了在网格基础设施内实现”广播”。这一支持在同步一个网格配置时将会非常有用。

取决于网格实现,数据/执行分割方式的范围可以从单纯的负载均衡策略(在相同节点的情况下)到对网格数据的动态索引。这一机制既可被硬编码到网格实现里,也可被抽取出来由专门的网格服务(分割管理器)完成。分割管理器的角色是在节点和服务器间分割网格数据,同时还作为在路由请求过程中用来定位节点(节点队列)的”注册中心”。将分割管理器外部化为单独的服务给整体架构引入了附加的灵活性,其实现方式可以是通过使用”可插拔”的分割管理器实现,甚至也可是为不同类型请求实现不同路由机制的多个分割管理器。

整体的网格基础设施,包括分割管理器和网格节点通信,既可以直接以API的形式暴露给网格消费者,在网格请求提交过程中使用;也可以被封装进一系列特别的网格节点(网格Master[控制器])当中。在第一种情况里,一个特定的网格包将负责实现请求分发和(可选的)组合必须对应到一个网格消费者实现的响应。尽管这一选择能够从理论上提供最佳的整体性能,但它通常会在网格实现和消费者之间产生更紧密的耦合[3]。在第二种情况里,网格Master为网格实现了一个外观模式[8],并带来了这一模式的所有优点——在网格消费者看来,它完整地封装了网格功能(以及基础设施)。尽管网格Master实现增加了额外的网络跳跃(因此会有一些性能开销),但松耦合的实现通常更为重要。

图4显示了支持两层(Master/Node实现)结构的整体高级网格架构。

图4 网格高级架构

除了组件之外,上述所提出的架构(图4)还包括了两个附加的部分——网格管理器和代码存储库。

网格管理器提供了图形化的界面,展现现在运行的节点,它们的负载,内存利用率,所支持的数据,等等。

因为重启网格的Node/Master代价可能很昂贵[4],我们需要能够在不重启网格Node/Master的情况下将新代码引入到Node/Master中。这是通过使用代码存储库(目前被实现为Web可访问的jar集合)来实现的。当开发者实现了他们想要将其运行在网格环境上的新代码时,他们可以将其代码存储在存储库里并在执行中动态加载/调用它(使用Java的URLClassLoader)(见下)。

编程模型

为了简化创建运行于网格的应用,我们为在网格上执行的代码设计了一个Job-Items编程模型(图5)。这一模型是Map/Reduce模式[9]的一个变种,它的工作如下图所示:

图5 Job Items模型

  1. 网格消费者向网格Master提交Job请求(以Job容器的形式)。Job容器给Master环境提供了实例化Job必需的所有信息。这包括Job的代码位置(java jar的位置,或是空字符串,解释为本地静态链接的代码),Job的启动类,Job的输入数据和Job的上下文类型,这使得可以在多个分割管理器之间进行选择以拆分Job执行。
  2. 网格Master的运行时实例化Job的类,给它传递合适的Job上下文(分割管理器);Master还负责实例化回应对象,该对象负责给消费者进行回应。一旦创建Job对象,运行时就开始执行它。
  3. Job的起始执行方法使用分割管理器将Job拆分成Item,每个Item被发送给一个特定的网格节点执行——即Map步骤。
  4. 每个目的网格节点接收一个Item执行请求(以Item容器的形式)。Item容器类似Job容器并且提供了足够的信息供网格节点实例化并执行Item。这包括了Item的代码位置,Item的起始类,Item的输入数据和Item的执行类型。
  5. 网格节点的运行时实例化一个Item的类,将其传递给合适的Item上下文和回应对象,该对象负责给Job回应。一旦创建Item对象,运行时就开始执行它。
  6. Item的执行使用一个回应对象来将局部结果发送回Job。这允许一旦一个Item的局部结果变得可用,Job实现就可以开始处理它(Reduce步骤)。如果必要,在这一处理中,附加的Item可以被创建并发送给网格节点。
  7. 一旦局部结果可用,Job就可以使用一个回应者来将它的局部结果发送给消费者。

整个执行过程如下所示(图6)

图6 Job Items执行

Grid Master和Node的执行细节如图7所示

图7 执行细节

在实现Map/Reduce模式的同时,这一编程模型还在所有的层次都提供了对完全异步数据交付的支持。这不仅可以在Job消费者能使用局部回应时显著提升整体性能(例如:交付局部信息给浏览器),同时还通过限制消息的大小(消息块)提升了整体系统的伸缩性和吞吐量[5]

网格接口

使用Job容器作为Job调用机制的同时还为向网格提交Job提供了一种标准接口[6](图8)。我们为该web服务接口提供了两个功能完全相同的方法——invokeJobRaw和invokeJobXML。

图8 GridJobService WSDL

两个方法都允许在网格上调用Job。第一种方式使用MTOM来传递一个二进制序列化的JobContainer类,而第二种方式支持对JobContainer的所有元素以XML编组(图5)。除了JobContainer,两种方法都将传递两个额外的参数给网格:

  • 请求句柄,用来唯一标识请求,并可以被消费者用来将回应与请求相匹配(见后)
  • 回应URL,消费者监听回应的URL。这个URL应当暴露给GridJobServiceReplies服务(图9)

图9 网格Job服务回应的WSDL

Grid Master实现

Grid Master的类图如图10所示。除了实现上述的基本Job运行时以外,Master的软件同时还实现了基本的框架特性,包括线程[7],请求/响应匹配,请求超时等等。

为了支持Item执行的请求/多回应范式,而不是使用”等待回应”(使用消息时一个常见的请求/回应模式),我们决定使用单监听者并构建我们自己的回应匹配机制。最终,我们实现了一个超时机制,保证Job能在一个预定的数据间隔(在Job容器里定义)里从每一个Item得到”第一个”回应。

图10 Grid Master实现

Grid Node实现

Grid Node的类图如图11所示。类似于Master运行时,在这里我们对基本的Item执行进行了框架支持的补充,包括线程,执行超时等等。

图11 Grid Node实现

为了避免Item无限运行而让Node耗尽,我们已实现了一个基于Item执行时间的Item驱逐策略。如果一个Item的执行比它所声明的时间(在Item容器里)运行要长时,将会被终止,超时异常将会被发送回Job。

网格消费者框架

同样,我们还开发了一个消费者实现,用简单的Java API(图12)包装了Web服务(图8,图9)。它利用了内嵌的Jetty Web服务器,并允许提交Job请求给网格,然后注册一个接收回应的回调。

图12 网格消费者

总结

EDB的引入允许架构师进一步简化SOA实现,这是通过在服务实现和企业数据之间引入”标准化的”访问实现的。它同时简化了服务调用和执行模型,还为服务提供了进一步的解耦。使用网格作为EDB实现对EDB的可伸缩性和高可用性提供了支持。最后,使用直接在网格内部执行的服务Agent更进一步提升了可伸缩性和性能。本文所描述的网格的高级架构和编程模型,为这一实现提供了一个简单却健壮的基础。

致谢

非常感谢我在Navteq的同事们,特别是Michael Frey,Daniel Rolf 和Jeffrey Her和我一起讨论并帮助了网格编程模型的实现。

参考资料

1. B. Lublinsky. http://www.infoq.com/articles/SOA-enterprise-data">Incorporating Enterprise Data into SOA. November 2006, InfoQ.

2. Mike Rosen, Boris Lublinsky, Kevin Smith, Mark Balcer. Applied SOA: : Service-Oriented Architecture and Design Strategies. Wiley 2008, ISBN: 978-0-470-22365-9.

3. Art Sedighi. Enterprise SOA Meets Grid. June 2006.

4. David Chappell and David Berry. SOA – Ready for Primetime: The Next-Generation, Grid-Enabled Service-Oriented Architecture.A SOA Magazine, September 2007.

5. David Chappell. Next Generation Grid Enabled SOA.

6. Data grid

7. Hyacinth S. Nwana. Software Agents: An Overview

8. Façade pattern

9. Map Reduce.

查看英文原文SOA Agents──Grid Computing meets SOA


[1]一个企业数据的来源(图1)既可以是一个数据库,也可以是一个现存的企业应用。因此一个EDB既可以实现为数据库访问,也可以是一个同步服务数据和现存企业应用/系统的集成层。
[2]这一规则的例外可能是最终的服务客户端,比如servlet,将服务执行的结果在浏览器端交付给客户。 
[3]这一情况下的高阶耦合是由两个主因导致的——首先,部分网格特定的代码正直接运行于这一网格消费者实现上,这要求在代码每次变更时重建/重启消费者,第二,在这一情况中消费者被要求直接支持网格节点通信所使用的网络协议。
[4]由于缓存数据数量的缘故。
[5]使用这一消息分块是处理大型消息的一种”标准”技巧。它通过避免发送多余的大型消息,减少了处理末尾消息所需的内存数量和网络延迟。
[6]尽管(图8)所展示的Web服务接口有同步接口,但Job的调用却是异步的。结果在Job调用startExecution方法后返回给Job消费者,而不是在Job收到结果之后。在这种情况中使用同步(请求/回应)调用使得在Job初始化和启动时遇到的任何异常都被传给Job消费者。
[7]许多消息传递解决方案都直接支持线程。通常每个消息监听者都在其自己的线程里被启动(并被执行)。结果,控制Job执行线程并发通常通过控制消息监听者的数量来支持。遗憾的是这一支持因消息传递实现而异。因此我们决定不利用消息传递的线程并发,而使用单监听器并推出我们自己的线程池。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

Fwd: Slides On The Go – SlideShare Mobile

SlideShare
SlideShare Newsletter March 2009

Don't want this e-mail? Unsubscribe or stop SlideShare emails altogether.
Remember to Display Images
You can also view this newsletter online

Quick Update: Presentation Camp this Saturday was amazing! Thanks to everyone who came and contributed. Here are the tweets & pictures and slides from the event. The next PresentationCamp is in Seattle on April 4th.

SlideShare comes to your mobile phone!
Slide Share Mobile on iPhone
For all of you presentation junkies, you can now visit SlideShare on your mobile phones.

Just point your phone to http://m.slideshare.com/ (beta)

You can view popular, featured, or latest presentations. You can also search the site, login to save favorites and download to your mobile phone.

Of course we made a presentation about it and also have an FAQ.

 All Your .pptx (and .docx) Are Belong to Us
Yes, SlideShare is now a .pptx & docx hungry beast, so send them our way. You no longer need to save in earlier versions of Office before uploading to SlideShare.

So, by now we support all versions of Office on Mac & PC, and Keynote as well.

Conference Organizers & Speakers:
Get Featured!

We got a huge response to our call for participating in our speaker & conference organizer directories. In case you missed it, here are the links again.

Speakers, we'll add you to our speaker directly and keep a watch on your conference presentations when featuring on our homepage. Join here.

Conference organizers who register
might get a mention in our newsletter to 800,000 SlidesShare users if they provide a registration discount (e.g. coupon code).

Upcoming Events on SlideShare
Museums & the Web – Indianapolis, USA April 14

5th Int'l TYPO3 Conference – Dallas, USA April 16

Next Gen. Data Center Conference – Beijing China April 22

ApacheCon, Amsterdam Netherlands, 23rd – 27th March

 
Popular Presentations
Check out the AIG bonus plan, some slides from SXSW (since thats on everyone's mind) and Design for Startups from Startup2Startup (love all the images)

Whats new with SlideShare
Follow us on Twitter @slideshare.

SlideRocket: Make Great Presentations - Sign Up for Free Trial
     
Send Feedback
You are subscribed as iamfisher@gmail.com
You signed up for the newsletter during registration.
Unsubscribe to stop receiving the newsletter
Edit e-mail notifications (bottom of profile settings)
SlideShare Inc., 739 Bryant Ave, San Francisco, CA 94107

   
 

 

《土地管理法》(修订草案)征求意见稿

国家征地权将受到严格限制

本文来源于《财经网》 2009年03月24日 12:49  共有4条点评

字号: 
《土地管理法》(修订草案)征求意见稿删除了农地非经征用不得用于建设的条款,要求另行制定公益性建设用地目录,同时将征地按”农地产值”补偿改变为按”同地同价”补偿

《财经》记者 常红晓  

《土地管理法》(修订草案)征求意见稿删除了农地非经征用不得用于建设的条款,要求另行制定公益性建设用地目录,同时将征地按”农地产值”补偿改变为按”同地同价”补偿

随着《土地管理法》修订提上议事日程,国家征地权将受到严格限制。

  【《财经网》专稿/记者 常红晓】无论是公益目的还是商业目的,政府强行征用农民土地,酿成了诸多土地冲突和群体性事件,广受社会诟病。随着《土地管理法》修订提上议事日程,国家征地权将受到严格限制,上述状况有望改变。
  近日,《财经》记者获得的《土地管理法》(修订草案)征求意见稿(下称”征求意见稿”)显示,限制国家强制性征地权力,缩小国家征地范围,强化农民土地权利的保护,已成为此次《土地管理法》修订中最为重要的工作。

“农村集体建设用地”可有条件转让
  《财经》记者发现,与现行《土地管理法》相比,”征求意见稿”的章节、内容和篇幅大大拓展。该”征求意见稿”专门新增”土地征收征用”一章,规范土地征收征用的依据、范围、程序和善后事宜。其核心内容是限制政府强制征地权,缩小征地范围,把征地补偿由”农业用途补偿”变为”财产补偿”,并把失地农民纳入”社会保障”。
  首先,删除了现行《土地管理法》关于”所有建设用地必须使用国有土地”的条款,规定”农村集体建设用地”可有条件转让。这就为”集体建设用地进入市场”扫清了障碍。
  现行《土地管理法》第43条规定:”任何单位和个人进行建设,需要使用土地的,必须依法申请使用国有土地。”
  这意味着,所有城市建设用地必须是国有土地,而这些新增国有土地主要靠征用农地。在上述法律规定下,诸如房地产开发等商业性项目都可”合法”依靠政府低价征用农地,然后高价卖出商品房,这严重损害了农民权益。
  为了使农村建设用地获得与国有建设用地同等法律地位,”征求意见稿”新增了第88条,专门规范”集体建设用地流转形式及其范围”。 
  该条款规定:”依法取得的农村集体建设用地使用权,经所在地县级人民政府批准,可以出让、租赁、入股、作价出资等方式,用于非公益性项目。”这意味着,新《土地管理法》框架下,凡是非公益性或商业性建设项目,农民都可以自己所有的”集体建设用地”参与开发经营,可”出让”(实际上就是卖),可”租赁”,可”入股”,也可”作价出资”。
  但该条款也对集体建设用地的交易有所限制:在城镇规划区范围内的集体建设用地,只有在企业破产或被兼并时才能转让。而城镇规划区范围外的集体建设用地,只有商业性或非公益性建设才能”出让、租赁、入股、作价出资”。言外之意就是公益性的建设用地,政府还可以行使强制性征地权。

明确公益性用地范围
  其次,”征求意见稿”明确公益性用地范围,划定政府征地权的边界。
  ”征求意见稿”新增的第68条明确了”征收土地范围”。国家强制征地限定为两类:一类是规划确定的城镇建设用地,二是规划范围外的基础设施、公共管理和服务设施、军事设施等公益性项目。同时,”公益性项目用地目录另行制定。”这意味着,中国将出台公益性用地的详细目录,这对保护农民利益、界定用地性质相当有利。
  上述条款具体为:”为了公共利益的需要,进行下列建设,需要使用集体所有土地的,依法征收为国有:(一)在土地利用总体规划确定的城镇建设用地范围内,国家实施城市规划进行建设;(二)在土地利用总体规划确定的城镇建设用地范围外进行基础设施、公共管理和服务设施、军事设施等公益性项目建设。”
  但土地学者对该条的最后一款存有异议。”征求意见稿”第68条最后一款指出:”对在土地利用总体规划确定的城镇建设用地范围外,为了公共利益的需要进行非公益性项目建设需要征收土地的,依法定程序由国务院或者省、自治区、直辖市人民政府批准。”
  学者指出,该条款事实上承认,”非公益性项目建设可能是为了公共利益需要”。这究竟指的何种情况,哪些项目,应该明确列举。否则该条款一旦通过,容易给地方政府借机扩大征地权提供便利,对农民土地权利保护极为不利。

予以”财产补偿”和”社保补偿”
  第三,征地补偿由”农业用途补偿”改为”财产补偿”和”社保补偿”。
  现行《土地管理法》第47条规定;”征收土地的,按照被征收土地的原用途给予补偿。”在”征求意见稿”中,该条款被删除,代之以”同地同价、公平合理、及时足额”补偿。
  ”征求意见稿”第69条明确:”征收农民集体所有的土地,应当按照同地同价、公平合理、及时足额的原则给予补偿,维护农民的合法权益。”相应地,现行《土地管理法》中凡是按农业产值计算征地补偿总额的条款都被删除。
  土地学者指出,这意味着农地征用补偿不再按农地原产值的一定倍数计算,而是要按”同地同价”补偿。这种补偿已摒弃了计划经济体制下的”产值补偿”,变成一种近于”财产补偿”的”公平合理”的方式。
  在上述条款中,还明确了新的征地补偿的标准:”征地补偿费标准由市、县人民政府根据当地土地资源条件、土地产值、土地区位、土地供求关系和社会经济发展水平等综合因素确定。”该标准还要经省级政府”批准后公布,报国务院土地行政主管部门备案,作为实施土地征收补偿的依据。”这也会增加征地补偿的透明性,减少了暗箱操作空间。
  除了改革征地补偿标准,”征求意见稿”还把失地农民的社会保障列为政府法定责任。该”征求意见稿”第73条和74条,要求确保被征地农民的就业和社会保障权利。
  第73条明确”国家建立被征收土地的农民的社会保障制度”。同时进一步规定,市、县政府应”建立被征收土地的农民的社会保障基金,将被征收土地的农民纳入社会保障。”■

《财经网》既往相关报道:
国土资源部:近期出台”农地入市”办法
“农地入市”办法有望年底出台
农地产权保护远低官方统计
立法农地承包纠纷仲裁 
土地制度改革关键一步 
地权回归 
周其仁:农地制度改革需”上下互动” 
胡存智:集体建设用地如何入市 
蒋省三:农地制度改革正当其时 
刘守英:”农地入市”突破城乡分治
专访中农办主任陈锡文