新闻体系试行手记

 

表明:新闻连串施行手记系列是系小编在日常研究开发中先后遇到的大大小小的标题,恐怕朴实和轻微,但往往却是平时遇上的主题材料。作者对中间比较优秀的加以搜罗,描述,总结和享用。

摘要:此文描述了小编接触过的一些消息体系或平台之间的衔接构型和气象,井底之蛙的计算分享之。

正文

文山会海随笔目录:音信类别推行手记 (http://www.cnblogs.com/taichu/p/5305603.html

作者:太初

转发表明:请指明原版的书文者,连接,及出处。

 

正文

 

在笔者实行中,越到稍微处境下(举例开拓GIS地图应用),客户端的JS代码往往要调用GIS地图引擎的API。

稍微API提供JS接口(版本),那是最有利的,有个别提供诸如FLEX编制程序接口的API,令你在JS中调用,也是可以,但碰到如下景况,分享之。

 

笔者们的客户端是依据GIS地图的选择,用JS代码调用FLEX的API接口,要求通过FLEX的言语在GIS地图上显现(放置)2万个指标(Object)。

方法A(老方法):

  1. 在JS中,通过业务层获得2万个设备的消息数据,诸如数组DEV[20000];
  2. 在JS中,将音信数量打包为hashmap(key -> value);
  3. 在JS中,将hashmap数据结构从JS传入Flex: JS –> Flex;
  4. 在Flex中,获得传播的hashmap结构,并循环展现在GIS地图上;
  5. 在Flex中,通过hashmap结构提供用key查value的劳务:val =
    devicehashmap.get(key);

属性评估&剖析:

  1. 在步骤2,3,4中消耗了20秒左右,数据量是2万个device;首借使手续3异常慢;
  2. 始于估量,JS中结合hashmap结构须要开销自然时间,但相当的少;可惜这种高级结构对JS/Flex两侧是个担任,传入的时候需求做须求的检讨和更改,所以一点也非常的慢;
  3. 其余,思量到JS/Flex相互调用结构相比较复杂,假如传递高档结构,两侧系统轻松在深入分析上不平等而会滋生额外的支出;

(备注:其实还品尝过方法A的变种,便是在JS这里运行循环2万次,每便将一条设备新闻传送给Flex并在GIS地图上呈现Object,就算每趟数据量不大,可是来回调用JS/Flex2万次,效用更低下,所以也放任了,这里就不再斟酌了)

方法B(新方法):

  1. 在JS中,通过业务层获得2万个设施的新闻数据,诸如数组DEV[20000];
  2. 在JS中,将音信数量打包为长字符串String(带约定结构/类似JSON);
  3. 在JS中,将String从JS传入Flex: JS –> Flex;
  4. 在Flex中,获得传播String,并深入分析还原为hashmap,并循环展现在GIS地图上;
  5. 在Flex中,通过hashmap结构提供用key查value的劳务:val =
    devicehashmap.get(key);

质量评估&深入分析:

  1. 在步骤3中消耗了1秒左右(其实是500ms左右),数据量是2万个device;
  2. 起首估摸,非凡的数据结构String,在超越1/4连串中都能很好的互操作,并得到最简便易行的协理和解析(比方大都以bytes字节数组,最后一个是标记,大概有二个微小的高雅的头结构等等),所以传递String相当的大的下挫了光阴支出。而对JS侧,拼接String比组装hashmap更加快些;在Flex侧,自身剖判String组装本人的haspmap(不是了解JS的hashmap结构)也非常的慢。
  3. 一体化上手续1到5消耗在1秒左右,达到必要;

(备注:其实在品味二种别的GIS引擎的时候,大家利用JS/API接口,就从不遭逢如上的难题,那实际上对技巧选型是很要紧的。)

 

总结:

  1. 无数时候,大家付出二个连串,达成了A和B的互相调用和操作,只是达到而已。更加的多景况下实际行使场景必然有数据压力和总体性供给,而假若上了品质,“可用”就远远不够了,还要思虑“可行”;
  2. 从广大的章程中找到具体的,才是终极目标。那其实供给对种种办法的敞亮和比对有尖锐的探讨。但时间有限,经验有限,人力有限,所以不得不做代价有限的尝尝,并连发优化,那或者也是迭代付出或飞速开辟比较提倡的呢。
  3. 品质优化自身在事先的字数已经粗略的聊到,只要有总体性瓶颈,只要未实现物理(理论)可总计的性质边界,就会找到适合的不二等秘书技来优化。
  4. 别的,本领选型也很要紧,对于当前大家接触的多少个GIS引擎,帮忙JSAPI的都未出现仿佛主题素材,而非JS的API接口就须求做额外的研商,尝试和优化。那对手艺选型也是三个值得思虑的事例。

 

相关文章

网站地图xml地图