<?xml version="1.0" encoding="gb2312"?><rss version="2.0"><channel><title>nsis</title><link></link><description></description><language>zh-cn</language><generator>Goodspeed Rss</generator><ttl>9</ttl><pubDate>Sat, 11 Oct 2008 06:27:45 GMT</pubDate><category></category><copyright></copyright><docs></docs><item><title>现在该是国产实时数据库重新占领市场的时候</title><pubDate>Sun, 10 Aug 2008 10:04:52 GMT</pubDate><link>http://blog.cechinamag.com/nsis/113599/message.aspx</link><description>&lt;p&gt;&lt;font size="4"&gt;现在该是国产实时数据库重新占领市场的时候&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 十多年前，早在“洋”实时数据库可能还未诞生的时候，国内的实时数据库的先驱者们已经在电力、石化部门取得了可喜的成果，早在上世纪90年代，以NSIS实时数据库为代表的国产实时数据库在国内几个大型炼油厂成功运行，得到用户的好评，并且得到前中国石油化工总公司（今中石化）的技术鉴定。以国外某某公司（还有其代理）为首的一些利益集团，看中了国内实时数据库市场的大肥肉，通过他们在国内权力部门的代言人，大力推销它们的所谓实时数据库产品。他们通过行政命令，强行停止了运行非常稳定，性能优越的国产实时数据库，以他们的所谓实时数据库取而代之。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这些所谓进口“实时数据库”的性能如何，表现如何，用户自有评价，笔者只想从技术上分析它们失败的原因。目前在国内横行的所谓进口“实时数据库”主要有两家，我们在此不便点名，也不允许我们点名，读者心知肚明即可。我们暂且把这两家叫“实时数据库A”和“实时数据库B”，如果说“实时数据库A”在国内已经江河日下的话，那么更差的“实时数据库B”还不知量力想取而代之，其表现更是贻笑天下。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这些所谓进口“实时数据库”原来只不过是DCS系统或仿真系统，稍作修改就拿来进入中国市场了。很可惜，它们从娘胎诞生的那一天起就不服中国水土，或者说不符中国国情，其表现与它们不菲的价格实在是极不相称的。这两个难兄难弟有着共同的弱点，我们下面从技术层面作以分析。（本论坛是技术论坛，我们不想从非技术方面评论，但是实际上正是这些非技术方面的原因起主要作用）&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1。先看看它们的表现&lt;br&gt;&amp;nbsp;实时数据库最根本的性能是“系统实时响应周期”，从我们的经验和企业用户的角度，该周期应该&amp;lt;10秒，而对于运行变化较快的对象的数据，应该是2秒甚至1秒。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ① “实时数据库A”：&lt;strong&gt;&lt;font color="darkgreen"&gt;60&lt;/font&gt;&lt;/strong&gt;秒（他们强行推销CIMS时带的“实时数据库A”在某炼油厂的表现），目前国内大型石化企业几乎让他们全占了，其表现大体如此；&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ② “实时数据库B”：&lt;strong&gt;&lt;font color="darkgreen"&gt;400&lt;/font&gt;&lt;/strong&gt;秒（他们强行推销MES时带的“实时数据库B”在某石化公司的表现），该产品在国内几乎找不到一个象样的成功先例；&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ③ 参考一下NSIS的表现：&lt;strong&gt;&lt;font color="red"&gt;2&lt;/font&gt;&lt;/strong&gt;秒。（有讽刺意味的是②和③现在同时在同一个公司运行）&lt;br&gt;&amp;nbsp;请问这还叫“实时”数据库吗？&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2。数据结构不符合中国国情&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;国外的石化企业可能是集中控制室，集中DCS，其位号可能是统一编号的，因此上述的实时数据库对数据的编号也是统一编号的，就是不管有多少数据，所有数据都统一编号，这就是说，所有数据在结构上是平等的，即一维结构。这样的数据库结构在套用到国内企业时必然会出问题，因为国内企业大都以装置为单位建立DCS控制系统，在给数据定义位号时一般不会考虑其它装置的数据位号。例如：蒸馏和催化都可能有个数据叫TI1101，为了使用所谓进口“实时数据库”，蒸馏只好重编为ZL_TI1101，催化只好重编为CH_TI1101，这样的结构在只更新和检索某一个装置时必然出现效率低下，而且数据越多，性能越差，这可能是进口“实时数据库”普遍低下以至于慢到400秒的原因吧。这种一维结构的实时数据库是不符合中国国情的。（关于数据库结构的问题见本人博客《实时数据库的数据结构》）&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3。计算机病毒的问题解决不了&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;大家知道目前计算机病毒肆略，如果DCS染上计算机病毒，后果不堪设想。以前“规范”的数据采集是以专用的数据采集机与DCS联网，然后数据采集机再与企业网联网，这样的方式，尽管使用了各种方法，各种设备，包括防火墙等以防止计算机病毒的入侵，内行都知道这些都不是根本的方法。曾经出现过他们强行推销“实时数据库B”在某企业被拒绝联网的尴尬。这些实时数据库的开发商都是国际上有名的大公司，真要解决计算机病毒问题是不难的，可惜它们的现行方针就是欺负中国人，欺骗中国市场，不愿意走软件中国化的道路，最后的结果可能就是退出市场。（关于计算机病毒的问题见本人博客《实时数据库的数据采集与DCS计算机病毒的防御》）&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4。工程跟不上&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 实时数据库软件工程是个工程，系统的质量在很大的程度上取决于工程的质量，拿实时数据库的性能来说，影响实时响应周期的主要因素是远程更新与远程检索所使用的网络通信协议和通信方式，（见本人博客《实时数据库的远程更新与远程检索》）。作为商品化的实时数据库，将网络底层通信协议公开是不现实的，这可能是它们表现差的原因之一。另外一点，实时数据库的开发与工程是两家，如果施工人员不了解实时数据库的核心技术，加上某些进口“实时数据库”的结构的不合理，要搞出高质量的实时数据库工程很困难。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;迷信进口的人经常用的一些借口，比如，“进口的都这样，我们也没有办法”。现在他们在技术上碰到了强劲的对手，就难以自圆其说了。其实他们是不愿意，或者说不想放弃他们的既得利益。我们呼吁国内的实时数据库的开发商联合起来，现在该是国产实时数据库重新占领市场的时候，反戈一击，共同抗击这些所谓进口“实时数据库”！&lt;/font&gt;&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/113599/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库与关系数据库</title><pubDate>Sun, 10 Aug 2008 09:57:32 GMT</pubDate><link>http://blog.cechinamag.com/nsis/113596/message.aspx</link><description>&lt;p&gt;&lt;font size="4"&gt;实时数据库与关系数据库&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 从计算机应用发展史看，计算机应用于实时工业控制早于应用于管理信息系统，从这个意义上讲实时数据库的发展早于关系数据库。在国内也的确如此，计算机应用从数值计算到实时工业控制，后来到管理信息系统等应用。实时工业控制在国内早在上世纪70年代就有应用，而管理信息系统的应用从80年代后期开始提出，同时有了关系数据库的应用。只要有实时工业控制，就必然有事实上实时数据库；即使是管理信息系统，从原理上讲也未必一定需要关系数据库，只不过有了关系数据库后，管理信息系统存储与检索数据方便、快捷得多。当然早期的实时数据库仅仅用于工业控制或者工业监测，而且只是单机系统，比现在的实时数据库要简单得多。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1。实时数据库与关系数据库没有什么关系&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;前面讲过计算机应用于实时工业控制早于应用于管理信息系统，就是说，实时数据库与关系数据库可以没有什么关系，或者说实时数据库的建立可以没有关系数据库。事实正是如此，我们在上世纪80年代就开始研制用于电力系统的实时监控系统，系统必然有事实上的实时数据库。可以说，实时数据库的建立是适应实时工业控制的需要，而关系数据库的形成主要是管理信息系统的需要，当然目前关系数据库的应用已经是无处不在了。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2。实时数据库与关系数据库的区别&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 实时数据库的存储介质是内存，而关系数据库的存储介质是外存（磁盘）。实时数据库的结构主要是要适应它要表示的对象，当然也与开发商的开发思路有关，实时数据库的结构目前尚没有统一的标准；关系数据库的基本结构是一张二维的表，加上关系数据库的完美理论与访问标准语言SQL。另一个不同的是实时数据库是作为实时信息系统的核心部分与实时信息系统一起作为一个软件系统，一般没有独立的实时数据库（市场上被称为实时数据库的软件实际上是实时信息系统）；而关系数据库一般是独立作为商品软件出售的。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3。历史数据库与关系数据库&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 实时数据库中将数据存入磁盘保存即历史数据，在实时数据库发展的初期，一般是自己开发文件系统，而且具有一定的检索功能。早期的NSIS系统就是用文件系统存放历史数据的，即使现在也仍然有些实时数据库系统使用文件系统。到90年代，由于提出了开放的概念，而且发现商业关系数据库不但开放，而且存储与检索历史数据更为方便。目前的实时数据库存储历史数据有两种方法：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ① 文件系统加上向关系数据库转换的软件，目前有相当的实时数据库采用此法，这实际上是在原来的系统上加上补丁而已；&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ② 直接从实时数据库中将历史数据存于关系数据库，笔者认为这种方法较好，但是要解决实时数据库的结构向关系数据库的结构映射的技术问题。NSIS实时数据库采用此种方式。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4。实时数据库尚无统一的数据结构与访问原语&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 到目前为止，实时数据库的结构目前尚没有统一的标准，因而不会有类似关系数据库的查询语言SQL那样的统一的实时数据库的查询语言。我们建议，首先为实时数据库，至少为同一行业的实时数据库制订统一结构标准，然后进一步制订访问原语。但是从目前实时数据库的应用的复杂性，应用对象的复杂性，以及开发商的各自为政，加上上面说的实时数据库并非独立系统，这种统一目前难以实现。&lt;/font&gt;&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/113596/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库系统的C/S模式和B/S模式</title><pubDate>Fri, 28 Mar 2008 11:40:59 GMT</pubDate><link>http://blog.cechinamag.com/nsis/77655/message.aspx</link><description>&lt;p&gt;实时数据库系统的C/S模式和B/S模式&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 目前单机的实时数据库系统几乎不存在，毫无疑问的都是网络分布式系统。网络分布式系统现在主要有C/S和B/S两种模式，两种系统各有利弊，但是作为实时系统，笔者的观点是必须以C/S模式为主B/S模式为辅，说得比较极端的话可以没有B/S模式不可以没有C/S模式。例如，作为典型的实时系统的DCS系统，目前几乎都是C/S模式；笔者的NSIS实时数据库系统就是以C/S模式为主B/S模式为辅的。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 道理很简单：IE浏览器≠操作系统，IE浏览器的功能 &amp;lt; &amp;lt; 操作系统的功能。实时系统的主要特点是实时，实时功能就是计算机的速度要比被测量或控制的对象要快，拿计算机的术语说就是能及时响应外界的变化，这种响应有时甚至到微秒级、毫微秒级！这种响应有时连操作系统也无能为力，必须由硬中断完成。当然我们目前讨论的实时数据库系统实时响应一般在秒级，由操作系统的软中断即可响应。IE浏览器+WEB服务器是什么？本质上是一个基于文件、传输的文件的系统——文件服务器而已，可以说谈不上什么实时功能。为了克服IE浏览器功能上的缺陷，一种方法是嵌入微软公司的ActiveX控件，ActiveX控件是什么？实质上是二进制可执行代码，用以弥补IE浏览器的缺陷。现在几乎所有的网站都用ActiveX控件。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActiveX控件的工作往往是与网站的服务器的某个进程通信，实质上仍然是C/S模式的Client端。具体说IE浏览器的实时功能和其它IE浏览器不具备的功能都是由ActiveX控件完成的。完成实时功能的仍然是嵌在B/S模式系统中的C/S模式完成的！我们为NSIS实时数据库系统设计了B/S工作模式，开发了NSIS控件。由于现在IE浏览器对于下载和执行控件的限制很高，控件必须写成可信代码，而且要由微软授权的数字签名，NSIS控件都做到了，这样可以在不降低IE浏览器安全等级的前提下下载和运行NSIS控件。由于NSIS控件是自主编程的，我们将NSIS实时数据库系统客户端的大部分功能编进了控件，例如实时数据刷新、实时与历史曲线、下载与显示流程图等。NSIS控件仍然只与NSIS实时数据库服务器通信而与WEB服务器无关。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 有的客户端功能是连ActiveX控件也完成不了的，还要常规的EXE执行码来完成，在很多网站，包括实时数据库网站可以下载常规的EXE执行码，这样的例子数不胜数，常用的QQ聊天，网络游戏，实质上还是C/S模式。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 毕竟B/S模式还是有优点的，客户只要使用联网的Windows IE登录所需网站即可。单位人员出差甚至可以在外地访问单位的实时数据库。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 顺便说明，本人是微软“派”的，编程以VC++为主，辅以VB、C#和.NET，对J2EE不甚了了，J2EE也许能开发出很好的B/S模式的实时数据库系统来，本人无从评论。&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/77655/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库的数据采集与DCS计算机病毒的防御</title><pubDate>Thu, 20 Dec 2007 16:00:33 GMT</pubDate><link>http://blog.cechinamag.com/nsis/54759/message.aspx</link><description>&lt;p&gt;实时数据库的数据采集与DCS计算机病毒的防御&lt;/p&gt;
&lt;p&gt;实时数据库必须从现场采集数据，这里主要是指从DCS采集数据。目前计算机病毒猖獗是人人头疼的事实，DCS系统运行的一个重要因素就是安全，如果DCS系统染上病毒后果不堪设想。&lt;/p&gt;
&lt;p&gt;从DCS进行数据采集就必须联网？我们以往也是把DCS工程师站直接联入企业网的，现在绝大多数的实时数据库的数据采集方式是专设数据采集PC机，该机插2块网卡，一块联DCS,一块联企业网。这样的方式仍然是挡不住计算机病毒的，现在哪个企业能承担这样大的风险？&lt;/p&gt;
&lt;p&gt;为了DCS系统的安全就不能联网，——不能用TCP/IP协议联网，这就是结论！&lt;/p&gt;
&lt;p&gt;有没有办法既要DCS不联网，又要进行数据采集？答案是肯定的。计算机病毒是利用操作系统的漏洞，使用TCP/IP协议对计算机的操作系统进行攻击，只要我们在DCS侧不使用TCP/IP协议进行数据通信，问题就能解决！&lt;/p&gt;
&lt;p&gt;一个可行的办法是利用串行口（RS232）进行数据通信。有一种通信模块，我们称为RS232—TCP/IP协议转换模块，可以将数据经串行口送出，由该模块间接上网。由于该模块的TCP/IP协议只做到会话层，更没有操作系统，计算机病毒对该模块无效！&lt;/p&gt;
&lt;p&gt;这种通信模块到处有卖的，要但是使用这种通信模块的关键是：必须掌握实时数据库更新的网络会话层协议。除了实时数据库是自行开发的，一般这种低层次的网络会话层协议开发商是不会提供的。商品实时数据库只可能提供TCP/IP的应用层协议，就是说：DCS必须直接联网，或者通过数据采集PC机联网。这样的话就没有办法防御计算机病毒了。&lt;/p&gt;
&lt;p&gt;有的商品实时数据库提供的OPC接口程序是一种OPC客户端，与远程的DCS中的OPC服务器通信，还要承担远程激活OPC服务器的任务。必须是这种数据采集模式，这样的模式到了非改不可的时候了！&lt;/p&gt;
&lt;p&gt;由于NSIS实时数据库的所有网络通信都是基于会话层的，使用上述的数据通信或者其它基于低层协议的数据通信是很容易的事情。当然作为OPC客户端的数据采集程序必须在DCS工程师站上运行，虽说麻烦些，但是可以确保数据采集的安全可靠，也没有远程激活OPC服务器的麻烦！&lt;/p&gt;
&lt;p&gt;利用串行口（RS232）进行数据通信，我们已经在抚顺石油化工公司实时信息系统中成功的运用。串行口的波特率可以设到115200B/s,按送4字节的浮点数计算，可以传送2800数据/秒，系统周期设为2秒的NSIS实时数据库可以达到5600数据/秒/DCS，对于一般的DCS足够了。&lt;/p&gt;
&lt;p&gt;随着计算机技术情况的变化而改进实时数据库的任何方面，正是有自主知识产权的国产实时数据库的优点。&lt;/p&gt;
&lt;p&gt;黄嘉珀&lt;br&gt;2007-12-20&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/54759/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库的图形系统</title><pubDate>Thu, 20 Dec 2007 11:22:52 GMT</pubDate><link>http://blog.cechinamag.com/nsis/54558/message.aspx</link><description>&lt;p&gt;实时数据库的图形系统&lt;/p&gt;
&lt;p&gt;实时数据库已经不是一个单纯的数据库，而是一个系统：实时信息系统，因而实时数据库是个系统工程。对于系统，我前面已经涉及，如在“实时数据库的远程更新与远程检索”一文中已经提及，以后的博客可能多以系统为主。本文讨论的一个方面是实时数据库的图形系统或图形子系统。&lt;/p&gt;
&lt;p&gt;根据本人的经验，图形子系统的复杂程度不亚于实时数据库的任何一个子系统，它的设计与实现必须考虑实时数据库的所有方面。下面是图形系统不得不面对的技术方面。&lt;/p&gt;
&lt;p&gt;① 基于矢量还是基于点阵&lt;br&gt;&amp;nbsp;这是最基本的选择，考虑到目前实时数据库的使用仍然以图形为主，我们选择基于矢量的图形系统。我们利用类的技术，将所有图元都定义为同一种类，一个OBJECT对象，系统对所有图元统一处理，图元的属性以数据（坐标）表示，如图形的放大、缩小、反转、着色、拷贝、删除等基本功能。用矢量图形更能体现石油化工实时信息系统的特点。&lt;/p&gt;
&lt;p&gt;② 立足自主开发图形组态软件，还是利用第三家图形（图象）软件&lt;br&gt;&amp;nbsp;因为我们的战略原则是除了操作系统和语言工具，不依靠任何第三家软件（关系数据库除外），因而我们选择立足自主开发图形组态软件，基于矢量的图形组态软件。实际上我们从上世纪80年代末就开始编制自己的图形组态软件了，从DOS开始，一直升级到现在。微软的mspaint，以至于Macromedia公司的Flash等图形（图象）软件，我们是不用的。因为图形系统的运行方式与实时数据库的结构关系十分密切，选择自主开发图形系统可以充分体现和发挥我们的实时数据库（NSIS实时数据库）的优点和性能。&lt;br&gt;&amp;nbsp;自主开发并不排斥现有第三家软件图形的使用，我们可以使用OLE功能将第三方的图形（图象）作为对象插入。&lt;br&gt;&amp;nbsp;据我所知，大多数实时数据库都配备自己的图形组态软件。&lt;/p&gt;
&lt;p&gt;&lt;br&gt;③ 图形中如何嵌入实时数据&lt;br&gt;&amp;nbsp;使用第三家图形（图象）软件的最大麻烦是对实时数据的组态。自主开发的图形系统就很容易解决此问题，只须将实时数据定义为基本图元即可。自主开发的图形系统很容易将实时数据基本图元与实时数据库（服务器）连接实现实时数据的在线组态。&lt;/p&gt;
&lt;p&gt;④ 图形文件共享，还是每一个客户端都带一套图形文件&lt;br&gt;&amp;nbsp;这是系统设计者面临的大问题，这一问题很多DCS系统没有解决：必须给每个DCS操作站准备一套图形文件。早期的NSIS实时数据库也没有解决。为了实现B/S模式的实时数据库系统，我们不得不解决图形的远程读取技术。前面提到，NSIS实时数据库的远程更新与远程检索都是经过NSIS网络协议进行的，在NSIS网络协议补充了图形传输的网络协议后，问题就解决了，这是自主开发软件和自主制定网络协议的优点：没有不能解决的技术问题。&lt;/p&gt;
&lt;p&gt;⑤ 图形的远程读取&lt;br&gt;&amp;nbsp;我们所说的图形的远程读取或图形文件共享，不是使用共享文件夹共享文件，也不是使用FTP，而是使用NSIS网络协议的图形传输的协议，由服务器端读图形，然后以流的方式分解成基本图元，再送到客户端。有了NSIS网络图形传输的协议，NSIS客户端再也不需要自带图形文件了。我们以前说过，在NSIS实时数据库的核心中，高层的网络应用层协议我们是不用的。NSIS网络图形传输协议效率极高，速度极快。&lt;/p&gt;
&lt;p&gt;⑥ 图形控件&lt;br&gt;&amp;nbsp;关于C/S模式和B/S模式的实时数据库系统我们另文讨论，这里的图形控件是B/S模式的实时数据库系统的重要组成部分。由于我们的NSIS系统全部由MS C++ V6.0 编程而成，所以走ActiveX的方向是必然的。图形控件集成了图形系统的大部分功能，实现图形的远程读取和实时数据的远程读取。&lt;br&gt;&amp;nbsp;为了IE浏览器的安全，我们除了将图形控件写成可信代码以外，还购买了美国VeriSign公司的数字签名证书，将图形控件签名，这样可以在不降低IE的浏览器的安全等级的前提下，下载图形控件。&lt;/p&gt;
&lt;p&gt;本人抛砖引玉写了几篇博客，我在博客所阐明的观点都是本公司开发实时数据库近二十年来在实践中验证的，不敢说最好，至少是可行的。很希望同行们讨论，也欢迎批评，希望看到讨论实践的帖子，少点空谈理论。&lt;/p&gt;
&lt;p&gt;&lt;br&gt;黄嘉珀&lt;br&gt;2007-12-20&lt;br&gt;&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/54558/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>再谈实时数据库的数据结构</title><pubDate>Wed, 12 Dec 2007 10:43:33 GMT</pubDate><link>http://blog.cechinamag.com/nsis/43841/message.aspx</link><description>&lt;p&gt;再谈实时数据库的数据结构&lt;/p&gt;
&lt;p&gt;&lt;br&gt;有网友说“实时数据库不在内部解决测点的层次关系”，这是个伪命题。且不说我们从事的上层实时数据库必须有结构，即使底层的DCS系统的实时数据库实际上都是有层次结构的：&lt;/p&gt;
&lt;p&gt;例如西门子的PCS7的某位号TRC104,在DCS内部表示为S7$Program(2)/TRC104.PV_IN,这实际上已经是三个层次；&lt;br&gt;三个层次分别是模块──内部位号──数据；&lt;/p&gt;
&lt;p&gt;FoxBoro的aw51系列的某位号TI_302,在DCS内部表示为TI313_334AIN:TI_302AIN.PNT,这实际上也是三个层次；&lt;br&gt;三个层次分别是模块──内部位号──数据；&lt;/p&gt;
&lt;p&gt;横河的CS3000，同一个位号TI1101也有两个层次：&lt;/p&gt;
&lt;p&gt;TI1101.PV,TI1101.SV,TI1101.MV,TI1101.MODE,TI1101.ALAM,TI1101.SUM,TI1101.HH,TI1101.LL&lt;br&gt;两个层次是：内部位号──数据；&lt;/p&gt;
&lt;p&gt;&lt;br&gt;这里的数据包括设定值、测量值、输出值、求和、报警、上限、下限等。&lt;/p&gt;
&lt;p&gt;搞过DCS的网友都知道，所谓位号仅仅是给人看的，真正表示数据的是DCS的内部位号，DCS数据的存取均以内部位号为准，以“没有层次的外部位号”是无法存取数据的。所以即使DCS的实时数据库都是有层次的数据结构。说“实时数据库不在内部解决测点的层次关系”是没有根据的。&lt;/p&gt;
&lt;p&gt;我们先前定义的上层实时数据库数据结构：&lt;br&gt;中国石油──石化公司──石化工厂──石化车间（装置）──生产数据（位号）&lt;br&gt;仅仅是DCS多层数据结构的自然延伸而已：&lt;/p&gt;
&lt;p&gt;中国石油──石化公司──石化工厂──石化车间（装置）──DCS模块──内部位号──数据。&lt;/p&gt;
&lt;p&gt;我们先前说的某些进口“实时数据库”对位号的重编正是设法变没层次为有层次，即：&lt;br&gt;“以位号TI1101为例，蒸馏装置重新编为ZL_TI1101，催化装置重新编为CH_TI1101”&lt;/p&gt;
&lt;p&gt;我们所说的多层次的实时数据库的数据结构已经是运行十多年的NSIS石油化工实时信息系统的实时数据库的实际结构，是被实践证实是先进可行的。&lt;br&gt;我很希望网友能举出实例说明没有层次的实时数据库怎样套用到实际上是有层次结构的企业的实时数据上。&lt;/p&gt;
&lt;p&gt;黄嘉珀&lt;br&gt;2007-12-12 10:00&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/43841/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库的远程更新与远程检索</title><pubDate>Fri, 07 Dec 2007 10:25:32 GMT</pubDate><link>http://blog.cechinamag.com/nsis/41647/message.aspx</link><description>&lt;p&gt;实时数据库的远程更新与远程检索&lt;br&gt;&amp;nbsp;——再谈实时数据库的性能指标&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 当今以实时数据库为核心的实时信息系统必定是分布式的实时信息系统，实时数据库的更新与检索自然也就是远程的，实时数据库的数据源在现场，或者说在DCS系统中；实时数据库的用户更是分布在网络上的。一个通常的共识是实时数据库的核心是长驻内存的数据结构。实时数据库的更新简单说来就是数据从DCS的实时数据库的内存到实时信息系统的实时数据库的内存，这种实时数据库的更新的速率，或者说一台计算机内存到另一台计算机内存的数据交换的速率，主要取决与网络实时通信的速率，而网络实时通信的速率主要取决网络通信使用的是何种协议和何种方式，与网络的本身的速率（10M/100M/1000M）关系甚小，而且与有关计算机是否双核、CPU的速度以及内存大小几乎无关。所谓"实时数据位号查询平均数量大于28万位号/秒"等说法是十分不科学的,因为该说法没有说明查询是以什么方式,本地还是远程，是在本地内存到内存，还是服务器的内存到系统客户端的内存。&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp; NSIS实时数据库的更新与检索&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 实时数据库的检索主要发生在实时信息系统的实时数据库的内存与客户端计算机的内存之间，其通信速率与实时数据库的更新是一致的。NSIS实时数据库的更新与检索是基于TCP/IP的会话层协议的，或者说是计算机的内存数据之间通过计算机网络直接交换。这种数据交换或通信速度是极高的。既然是基于会话层的，所以表示层和应用层的协议必须自己定义，这就是NSIS网络协议。换句话说，基于文件的网络上层协议如FTP、HTTP等在NSIS实时数据库的更新与检索中是不使用的。即数据从DCS内存—&amp;gt;NSIS实时数据库内存—&amp;gt;客户端内存，就是NSIS实时数据库的更新与检索的全部内容，这里没有任何文件的概念。即使在B/S模式的NSIS实时信息系统的数据库的更新与检索也没有使用高层协议。&lt;/p&gt;
&lt;p&gt;NSIS网络协议还支持同步和异步两种方式，我们将在“分布式C/S模式的实时信息系统”中讨论。&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp; NSIS实时数据库层次结构与更新与检索的关系&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我们说过，NSIS实时数据库是多维的树状结构，这种分层次的结构对于实时数据库的更新与检索是十分科学的。首先这种结构自然是分组的，如果实时数据库与DCS中OPC的分组一致的话，NSIS实时数据库的更新是极其方便和快速的；这种层次结构使NSIS实时数据库的检索也变得方便和迅速，例如：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 更新：某厂某装置的所有实时数据一次更新；&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 检索：某厂某装置当前时刻的全部实时数据；&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 检索：某厂某装置过去某时刻的全部实时数据，等等。这些更新和检索的执行通常是几毫秒内完成。&lt;br&gt;总之，如同OPC的分组把对位号的检索（这通常是低效率的），变成通过实时数据的内存地址对数据的更新与检索一样，这就是NSIS实时数据库高效率的秘密！&lt;/p&gt;
&lt;p&gt;3.NSIS实时数据库性能指标&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSIS实时数据库性能指标主要是“系统实时响应周期”，即:从DCS的实时数据变化,到实时系统的客户端显示的数据跟随变化的最长周期（更正：应该是最长周期，上文是最短周期，笔误！），例如NSIS实时数据库的系统实时响应周期定为2秒，就是DCS的实时数据变化到系统客户端跟随变化的最长周期为2秒。按照NSIS实时数据库的更新与检索的机理，这一指标还可以远远超过，甚至到毫秒级，仅仅是上层应用系统无此必要。系统实时响应周期2秒是某些进口的所谓实时数据库望尘莫及的！&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; “系统实时响应周期”与实时数据库的数据容量无关，不管数据量多少，都必须服从“系统实时响应周期”这个根本性能指标。在当今计算机的速度和容量都不是问题的前提下，讨论实时数据库的容量是没有意义的，除了某些进口的所谓实时数据库按容量卖钱的骗人把戏！&lt;/p&gt;
&lt;p&gt;黄嘉珀&lt;br&gt;2007-12-7 9:00 &lt;br&gt;&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/41647/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库的数据结构</title><pubDate>Mon, 26 Nov 2007 09:42:56 GMT</pubDate><link>http://blog.cechinamag.com/nsis/38968/message.aspx</link><description>&lt;p&gt;实时数据库的数据结构&lt;br&gt;国内外关于实时数据库的文献很少讨论实时数据库的数据结构或实时数据库的数据库结构问题，而本人则认为这恰恰是实时数据库最根本最核心的技术问题。实时数据库是存放实时数据的，而实时数据是从生产现场来的，它们有自己的数据结构。实时数据库的数据结构必须适应生产现场的实时数据的结构。随便拿来一个实时数据库就往中国企业上套用，笔者认为是行不通的，而且前车之辙也不少见。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1．中国石化企业生产数据的特点&lt;br&gt;&amp;nbsp;中国石化企业的生产组织是一个多层次的结构，以中国石油为例：&lt;br&gt;&amp;nbsp;中国石油──石化公司──石化工厂──石化车间（装置）──生产数据（位号）&lt;br&gt;一般一套装置一套DCS，DCS以下才有生产数据，以数据位号表示一个生产数据。这样从中国石油总公司到生产数据就有5级；如果只考虑石化公司这一级，生产数据有4级的结构。中国石化企业在定义装置数据位号时一般是不会考虑其它装置的位号的，例如某温度TI1101，几乎所有的装置都可能有这样的数据位号。所以要查询数据“TI1101”必须给出石化公司──石化工厂──石化车间（装置）──TI1101这样四个坐标，不管是实时数据还是历史数据都应该是如此。&lt;br&gt;&amp;nbsp;很遗憾，有的进口实时数据库没有这样的结构。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;2．NSIS实时数据库的树状层次结构&lt;br&gt;&amp;nbsp;为了适应中国石化企业生产数据的特点，NSIS实时数据库从90年代设计阶段就一直采用了符合中国国情的多层次的结构，或者说是一个多维的树状结构。NSIS实时数据库逻辑上是四维或五维坐标的结构，它自然地适应了中国石化企业的生产数据结构；NSIS实时数据库在物理上是基于“石化工厂”这一级的，即“石化公司”下属的每个“石化工厂”有一套独立完整的实时数据库和实时信息系统，称为“厂级系统”。多个分布在石化公司的企业网上的“厂级实时数据库”加上“公司级实时数据库”而构成逻辑上的完整的分布式“石化公司”级实时信息系统。这样的结构是符合中国石化企业生产数据的特点的，并且在抚顺石油化工公司成功运行。&lt;br&gt;&amp;nbsp;按照这一模式，我们完全可以构建整个中国石油总公司以至全中国的实时数据库。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;3．实时数据库的树状层次结构的优点&lt;br&gt;&amp;nbsp;① 真实地反映中国石化企业生产数据；&lt;br&gt;&amp;nbsp;② 所有数据可以保留原有位号，不必重新定义；&lt;br&gt;&amp;nbsp;③ 便于生产数据的分组更新和检索；&lt;br&gt;&amp;nbsp;④ 构建多级实时信息系统；&lt;br&gt;&amp;nbsp;⑤ 更新和检索速度级快，与OPC成组读取数据相结合，效率极高。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;4．某些国外实时数据库数据结构的“死穴”&lt;br&gt;&amp;nbsp;某些进口的所谓实时数据库不过是原来的DCS软件或仿真软件稍作修改而成，它们往往带有DCS的烙印，也无所谓数据结构，所有的数据只有一个坐标：位号。所以套用这样的所谓实时数据库来存储中国石化企业的数据就会带来极大的麻烦。以位号TI1101为例，蒸馏装置重新编为ZL_TI1101，催化装置重新编为CH_TI1101,实在是可笑之极！在数据组态例如图形组态时往往要从几千甚至几万个位号中选取一个。这样不分层次的所谓实数据库在更新和检索时效率极低，尤其在数据多时，其系统响应周期甚至长达一分钟之久！&lt;br&gt;&amp;nbsp;没有层次结构是这些所谓实时数据库的“死穴”！就这样的破软件也能卖到数百万元一套，真是欺负我中国无人！&lt;br&gt;&amp;nbsp;这些所谓实数据库还有其它致命的弱点，我准备另文介绍。&lt;br&gt;黄嘉珀&lt;br&gt;2007-11-25 20:00&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><comments></comments><guid>http://blog.cechinamag.com/nsis/38968/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item><item><title>实时数据库开篇</title><pubDate>Mon, 26 Nov 2007 09:41:25 GMT</pubDate><link>http://blog.cechinamag.com/nsis/38967/message.aspx</link><description>受控制工程中文网石林才先生的邀请，希望本人在贵网建立个人博客，就实时数据库（实时信息系统）的技术问题发表看法，恭敬不如从命。本人是工程师，不愿意谈空头理论，只就工程中的几个重大问题进行讨论。以下几点都是工程中已经解决并用于工程中的成熟的技术。本人认为不要为了要追求所谓“最佳”方案就因噎废食，要先解决工程中必须解决的问题，然后再逐步完善技术和理论。另外，本人把实时数据库的话题延伸到实时信息系统，因为只孤立的讨论实时数据库是没有意义的。实时数据库是实时信息系统的核心，但是仅有好的实时数据库是远远不够的，构成一个好的实时信息系统还要解决更多具体的技术。&lt;br&gt;本人准备就实时信息系统中几个重大技术问题一一讨论，这些问题大多已经在我们的工程中解决了。&lt;br&gt;博客目录：&lt;br&gt;一．实时数据库的数据结构&lt;br&gt;二．实时数据库的远程更新与远程检索&lt;br&gt;三．实时数据库与关系数据库&lt;br&gt;四．图形系统与图形的远程存取&lt;br&gt;五．DCS系统的数据采集与计算机病毒的防御&lt;br&gt;六．对OPC-ITEM的数据结构的讨论&lt;br&gt;七．分布式C/S模式的实时信息系统&lt;br&gt;八．实时信息系统的主要性能指标&lt;br&gt;九．关于B/S模式的实时信息系统&lt;br&gt;十．对“数据压缩”的一些看法&lt;br&gt;本人将抽空将以上技术问题一一讨论，并希望网友们参与讨论。&lt;br&gt;黄嘉珀&lt;br&gt;2007-11-25 20:00</description><comments></comments><guid>http://blog.cechinamag.com/nsis/38967/message.aspx</guid><category>实时数据库 工控软件</category><author></author></item></channel></rss>