|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
最近的一段时间,一直在折腾IEC61970规范。
9 q/ g* ~/ J+ a' U在这儿,写下自己的一些体会。$ `2 j* C& O7 J0 L' c
系统的集成,有两个方向。一个是针对不同的平台,定制专用的格式;另一个是假定有一种格式,这样的格式能为大多数的平台所解析。# p! |" S5 Q" V# r7 [
xml是个好东西。由于其为主流的技术所支持,由于其自解析特性,虽然比起平台专用定制技术来:1)更臃肿,更繁琐;2)与事务逻辑的耦合太过紧密;3)与诸如Microsoft XML技术直接耦合;4)有悖于流的本质,需要在所有的数据都收取完整之后,才能进行解析。
$ I/ |: \ P5 K1 X4 K% v也因此,基于CIM来构筑平台的数据部分,是恰当的。/ D" P5 m8 Q" Q$ V/ h U
但是在接口方面,规范采用了CORBA的组件技术。
# o! D4 m! B/ g. t9 P" K由于CORBA、COM/DCOM、JAVA/RMI等三种主流组件技术之间的不能兼容,由于三种技术都拥用相当多的用户,所以,我不认为采用某一种技术有比另外两种技术有更充分的理由。- U+ O: x: ~ }/ i h7 Y# Q
我个人的经验来看,组件技术在实时性方面的表现,不够好,如果接入规模一大,更成问题。5 a0 z- U, T" H9 _6 e. N
至少是基于以上的两种原因,我选择了更底层的技术。& x+ \# X+ _! M w. W
还是采用xml,这次不仅是对数据进行封装,对方法也以xml进行封装。为什么不呢?xml是个好东西。! { H( a1 L& x: g) w. F
采用udp协议。为什么不是tcp?因为为了响应速度,也因为平台因此不需要维护tcp连接,也因为相当多的情况下,无需知道数据已确切地送到目的地。+ x: Z0 B" K6 [8 I/ C" G/ l$ ^
采用iocp技术构筑平台。为什么不是其它?我无法给出理由,但是微软有专门的检测报告,说明iocp是大规模接入下可伸缩性能最好的一种winsocket方式。那我为什么不采用它?: b3 F& ^% N, g7 \6 O% G" ^" u* a* h
[..........待续] |
评分
-
查看全部评分
|