节点计算机数据实时传输显示系统的制作方法

文档序号:7715801阅读:246来源:国知局
专利名称:节点计算机数据实时传输显示系统的制作方法
技术领域
本发明涉及计算机软件,大型多用户软件系统,特别涉及一种节点计算机数据实时传输显示系统。
背景技术
目前常用的多用户软件是C/S(客户机/服务器、用户图形界面加数据库结构、应用层加数据库结构),B/S。为了所有用户界面端的数据保持一致的目的,用户要发出命令对数据整体(变化的和没有变化的)进行操作。客户端要发出命令把变化的部分数据写回到数据库服务器端整体数据,其它客户端也要发出命令从数据库服务器端取出需要的那部分数据(不能只操作变化了的那小部分数据)使数据保持一致。(数据实时传输的工业实时监控系统的功能单一这里不涉及)要使系统软件所有节点端(用户端)上变化了的数据自动实时的传输,使整个系统的所有节点端上的数据实时的保持一致是大型软件系统面对的一个难题。现有技术是C/S结构。这种结构通过客户发出指令,把一个完成的表格或者数据包向服务器传送,其它用户再发出指令从服务器上把数据包取来,用这种方式保持不同客户端间的数据一致(C/S系统数据不是实时)。C/S结构的数据以数据包的形式整体传输和展示,不能保持展示的数据整体不变只对变化部分的数据进行操作。其它现有技术更不能使客户端间的数据一致,在这不多涉及。(现有系统数据不能在客户端自动的实时更新和显示。)现在有客户端界面系统的技术问题是一.数据传输不是自动的,用户要发出指令才能传输数据;二 .数据更新不是实时的;三.不能只更新变化的小部分数据;四.向服务器传输的客户太多,数据太大时会出现数据传输瓶颈。现在的分布式数据库可以实时更新(复制)数据库服务器端变化了的数据,但是不能对客户端界面上的某一行数据的变化实时的更新。如果实在要这种实时的数据更新功能,只能在分布式数据库服务器端上面再加一个应用层,用这个应用层把客户端界面上每行的更新变成数据库服务器端数据的改变。然后再用分布式数据库复制功能复制这个改变了的数据。这样做虽然不能做到客户端界面上实时数据,但这是现有技术解决这类问题的方案之一。(下面说的C/S系统一定有用户端数据显示图形界面,不是用SQL等语言的操作节点端系统)。现有技术的缺点1.客户端之间不能自动更新数据客户端之间不能自动更新数据并和其它客户端保持一致。系统中有很多客户端在运行,一个客户端上的数据变化(被更改)了,其它客户端并不知道,数据更不能跟着自动更新。(现在的分布式数据库可以同步复制一一同步更新,即在网络上相互联结的数据库服务器端之间同步的复制数据。这种复制不能直接对客户端上变化了的那一行产生影响。)
2.不能只传输客户端数据中变化了的部分来保持客户端数据一致图形显示界面的客户端不能简单的把它已经展示的整体数据表中发生了变化的那小部分数据传回到服务器,其它图形客户端也不能只把服务器上更改(变化)了的那小部分数据取回到本机已经有的整体数据表中使两个客户端的数据保持一致(既是保持图形客户端已经有的数据整体不变,只在图形客户端间传输和更新变化了的那部分)。如两个客户端图形界面上有相同的数据表(可能一个表是另外一个表的子集), 一个客产端的表中一行数据被更改了,不能简单的只传输变化了的这一行数据来使两个客户端上的数据表保持一致。要传输这个数据表,才能使两个客户端上的数据保持一致。(当然可以用计算机语言,如SQL,只对变化了的这一行数据进行传输。而被传输的这一行数据是一个新的单元,它不能替换要保持一致的客户端上原有完整数据表中的对应那一行。)实际上客户端上的这个所谓的“表”就是数据库服务器中的一行。或者说,一个客户端界面上的某个单元格的数据被更改了,不能简单地只传输这个单元格的数据使两个客户端上的数据保持一致。要传输整个界面上的所有数据。3.数据传输瓶颈由于每次传输的数据是节点端上所需要的完整数据或者表格, 传送的数据量大。而且所有的客户端只对一个服务器端进行传输。当与服务器端交换数据的客户达到一定数量时,必然产生一个时间的滞后等待,最后达到完全不能传送数据了。这种客户端多了后无法传送数据的显现就是数据传输瓶颈。4.数据不实时系统工作时有很多的客户节点端在运行,很多节点端上有同一组数据在被观看或者操作(更改)。一个用户端上的数据被更改了,其它用户端上对应的这部分数据不能跟着自动的更新变化,数据不是实时的。既做不到一个用户端上的数据变化了, 其它用户端上的数据自动跟着变化保持一致。

发明内容
为克服现有技术不足,本发明目的是提供一种节点计算机数据实时传输显示系统,该系统能确保节点端数据表中的小单元数据实时快速同步更新。本发明技术方案如下一种节点计算机数据实时传输显示系统,包括若干个通过网络连接的用于显示数据的节点端,在每个所述节点端上设置有用于存储由原始数据分割成的小单元数据的数模体和显示体,每个显示体绑定一个数模体,该显示体用于读取数模体中存储的小单元数据进行显示、并获取当前展示数据的更改发送给与其绑定的数模体更新该数模体中的存储内容,不同节点端上的用于存储同一个小单元数据的数模体存在对应关系,当一个数模体发生数据改变时,该数模体就作为控制器将更新数据发送至其他节点端上与其对应的数模体,更新与其对应的数模体中存储的内容。所述显示体与数模体的为单向或双向绑定,所述双向绑定数据在显示体和数模体间双向传输,所述单向绑定数据只能单向传输。所述显示体和数模体上加有事件驱动功能,每个所述数模体有自己的地址,并具有用于与其他数模体对应通讯的合约,在合约中描述了与该数模体有对应的其他节点端上的数模体的地址,所述显示体中数据被更改时,显示体按照绑定向数模体传输更改了的数据同时发出一个事件驱动,数模体的数据被更改后按照合约向其它相应的节点端的设有对应地址的数模体传输数据,并发出一个事件驱动更改其它相应的数模体的存储内容。所述合约包括用于确定数模体之间唯一性的六个识别对象体的属性域用户、组、 名字、程序、标题、主机地址。所述一个或者多个节点(进程)构成系统运行所需要的一套完整数据为进程边界。还包括仅设置有数模体用于中转数据的节点端,该节点端通过网络和其他节点端相连。所述的原始数据为表格,所述的小单元数据为表格中的一行。本发明显著优点在于1、把数据分散为每一行一个独立的小单元,节点端数据变化后,按照独立的小单元自动传输变化了的这部分独立单元的数据。表现为,表格中的每行数据被改变了,节点端只单向的发送变化了的数据。即数据变化了只自动的发送变化了数据,单向发送。2、每个独立的单元(每一行)被更改后,产生一个事件驱动,要求发送被更改的部分数据。现有技术没有对更改一行数据的动作加一个事件驱动(只有对一个数据表的更改加一个事件驱动)。3、更改一行发生的事件驱动可以通知独立单元的数据,按照合约实时的传输和更新其它节点端的对应的这一行数据。4、多份同步数据每个节点端全保持有一份同步的完成数据。任何一份同步的数据变化了,这个节点端就会自动地把变化了的部分数据发送给相应的其它节点端更新它原有的数据,这个其它的节点端又会按同样道理向下一个节点端发送变化的数据并更新。节点端数据变化和更新总是使其它节点端的数据也变化和更新,这样系统中的所有节点端的数据总是保持同步一致的。


图1为本发明所述节点计算机数据实时传输显示系统数据传输示意图。图2为本发明所述节点端初始数据传输示意图。图3为本发明所述节点端显示体数据变化事件驱动系统改变示意图。
具体实施例方式本发明所述的节点计算机数据实时传输显示系统具体实施方式
如下1、数据存在方式为了数据能尽快传输可以把每次传输的大数据(系统中的完整数据包、一个表格中完整的数据)分解为小的数据包。然后使这个小数据常驻内存中。把数据分割成比较小的独立单元(表格中的一行为一个独立的单元)每个单元给一个K字节的空间,特殊的单元给两或三个K字节。独立单元中的数据放在Object对象体(储存数据的独立结构)中,每个对象体是内存中的一部分独立的空间,这空间有独立地址以便其它Object能和它交流。Object扮演三种角色View Object (显示体)、Model Object (数模体)、Controller 0bject (控制器),显示体的功能是在屏幕上展示和获取数据、数模体的功能是存储数据、控制器的功能是更新其它数模体中的数据。
所有的显示体全部与数模体绑定的。绑定分为双向和单向,双向绑定数据在显示体和数模体间双向传输,单向绑定数据只能单向传输(显示体表现为只读)。单向或者双向绑定在安装时由配置文件决定。系统启动(服务开启)后数据被读到数模体群中(从硬盘或储存体读到内存中), 每打开一个(用户节点计算机)节点端时产生一群新的数模体,数据被复制到这群新数模体中。每打开一个节点端数据被复制一套到这个用户的数模体群中。所有的数模体全是按照合约与其它的数模体相连接的(每个数模体有自己的入口地址)。用计算机语言实现Object的功能,就是用如C++语言中的Class (类)储存表格每行的数据。这个Class中的数据来源有一个入口,默认的入口是从本机上的服务器上得到数据。配置文件告诉这个Class入口的地址,这个配置文件的地址可以指向网络上的任何一台机器,所以数模体(Model Object)可以和网络上任意一台机器上的节点端交换数据。2、数据的分布为了更快的传输数据,必须把分小了的数据分散储存在网络上的任意节点端。这些节点端上的数据可以被其它节点端进行读写。为了实现快速读写和传输数据,节点端上的数模体与其它节点端上的数模体交换数据,用配置文件在安装时临时指定(说明)哪个节点端和哪个交换数据,其它后续节点端之间按照相同原理安装配置。如果一个节点端与其连接的上一级用户端出现了问题,配置文件会告诉这个节点端找到更上一级的节点端并进行数据交换(现有的技术是客户端全部与一个服务器交换数据)。数据按照表格中的行被分散存储在Objects对象体(数模体)中,也就是小于等于IK的内存空间里,数模体组成节点,它的信息以数据表的形式在界面上展示。节点可以是一个表也可以是多个表。数据分散储存于数模体中,很多数模体组成节点(一般一个节点含一个表格,一个节点也可以含多个表),一个或者多个节点构成系统运行所需要的一套完整数据,暂时称作进程边界。节点是一段运行程序它在内存中被分配出一个空间,它由很多占有独立空间又有入口地址的数模体组成。由很多节点构成完整的系统数据(进程边界),这些节点可以分布于网络上的一个或者多个(机器)节点端中的进程边界中。同一个节点端的数据一般(默认)放在同一台计算机的节点中,也可以放在多台机器的节点中。图中表示的进程边界可以在一台机器上、一个局域网上或者一个广域网上,系统程序运行时数据可以分散的存在于许多个进程 (节点)也可以存在于一个进程中。有些进程是程序中的计算部分,有些进程是储存数据的,所有存放数据的进程组成进程边界。节点按要求存在于计算机网络中的节点端上,数据经过处理后被分散的调到在计算机网络中运行的节点端机器上。最简单的情况是所有数据在一个节点中,在一个进程边界中在一台机器上运行, 这样用户端的的运行速度最快。如果要考虑整个系统运行、传输和硬件占用,就要把数据合理地分布在多节点上多台机器上运行。(一般存放数据的节点数按实际情况而决定)数据的合理分布存放可以使节点端数据之间的交换在最佳的路经中进行(参见图1)。3、启动时大数据的传输
开启服务器时,数据被从硬盘读入内存中的Model Objects数模体中。打开节点端时发生下列事情1.节点端(或者上级的用户)的对象体作为控制器向新产生的数模体 (下一级的数模体)传送数据(由配置文件决定每个节点端如何相连);2.当节点端界面上的表格被打开时数模体向显示体传送数据,并在显示体展示数据;3.当显示体上的数据被装载改后,它向按绑定的数模体证实数据一致。初始化,这里数模体在服务端(或者上一级节点端)作为控制器按照合约向下级的数模体传递复制数据;当打开表格时数模体向作为显示体的对象体Object传递数据;显示体向数模体发回信息证实数据一致了。在启动新的节点端(服务器)时,传输的数据大,是系统运行所需要的全部数据。 网络系统、数据大小、数据的配置位置对新启动的节点端的数据传输速度有影响。这个数据的传输不是实时的,它传输情况类似C/S结构的取服务器上的全部数据。这种启动是一次性的,启动需要一定的时间调数据。启动完成后,不需要再次启动除非系统出了问题。打开一个数据表时,速度比较快。这个过程是从很近(一般是本机)的数模体中调一个表格的数据。所用的时间是CPU计算界面上位置和显示所用。用户端启动完成后, 数据表也打开了,后面表格中的数据就可以实施的更新了。(参见图2)4、运行时数据的动态实时传输这时数据的传输是自动和高速实时,是本系统关键优势的体现。当图形节点端上表格中某一行数据被更改后(显示体中的数据被更改),数据更改时显示体按照绑定向数模体传输更改了的数据同时发出一个事件驱动。数模体的数据被更改后,它按照合约向其它相应的节点端的数模体传输数据更改其它相应的数模体,更改其它节点端上的数模体的顺序由连接那些节点端的路经所决定,节点端的连接路经构成一个树形网。数据的变更有两种途径1、人为更改界面View显示体上的数据后,在显示体上产生一个更新事件传输到绑定它上面的数模体,数模体内的数据被更新;2、Model数模体中的数据改被变了,这个变化了的数模体要按照合约去改变其它相应的数模体。按照合约改变别的数模体的Object称为控制器。由于View Object显示体中的数据只对应表格的一行,这一行数据被更改了相应的数模体要改变并且按照合约更改其它对应的数模体。数模体有了变化按照合约传播性的按照树形网的连接顺序更改其它的数模体,最终整个系统中所有节点端上相应的数模体和这行的数据全自动被更改了。一行数据的量很小,更改整个系统上对应的这一行的数据传输量也是很小的,传输所用的时间很短。这种一个显示体或数模体的数据更改的结果就表现出,整个系统自动实时跟着变化。5、节点端构成系统网 每个节点端使用的数据存在于数模体组中,这些数模体按照合约同其它一些数模体相连并交换数据。实际这个系统在工作中已经没有客户端和服务器端之分了,全是数据交换中的节点。所有的节点都可以自动接收其它节点端的数据更新自己,一个节点端和哪个端相互交换数据是靠配置文件决定的(合约写在配置文件中)。
一个节点端既可以作为客户又可以作为服务器,各端上数据的传送全是双向的。节点端可以被配置为和另外一个节点端交换数据,这两个节点端全有客户和服务两种功能。这样就没有C/S结构很多客户端同时向服务器端传输大量数据的情况,又没有服务器端同时向很多客户端回传数据的情况。对象体中的小数据在许多节点端(服务器)形成的网络链中的上下级间传输,服务器只是这个网络链中的一个节点,数据在多节点网中网状传输。节点端(服务器)可以是一台机器,也可以是多台机器构成。这由多少个进程边界构成一个完整的用户数据,以及进程边界的运行在几台机器所决定。而不是现在C/S结构的许多客户端同一个服务器端多点对一点的大数据传输。这样就没有多点对一点大数据传输的瓶颈问题了。如果不方便配置节点端的地址时,可以加多一个节点端作为中转端,这个中转端服务器和其它的节点端的不同是它没有界面(也就是说没有显示体只有数模体)。这个中转的服务器端可以储存和中转数据,没有用户界面和显示体,也就没有数据变化事件产生的驱动,去产生减缓数据传输的问题。这个中转服务器只是为了方便系统数据在网络中的传输。(参见图3)这里用名词节点端而不是客户端或用户端,因为所有的节点端的功能都是双向的,都有服务器的功能。节点端不同于C/S结构的客户端,它有服务器功能。节点端是个厚重的数据端,节点端都有一套完整的数据,存在于数模体中。当打开界面上的表格时,数据从数模体调入显示体。节点端上的数模体中有完全的数据,显示体只有打开部分才有数据。 这也不同于C/S结构的瘦小客户端,需要那些数据从服务器取哪些数据,本身只保留部分数据。这个系统的节点端之间通讯类似点对点之间的通讯。每个节点端实际是网络间的一个连接点,这个点有服务器的功能,使用中把这些点(服务器)当作客户端使用。所以称这个技术为节点计算机(端)数据实时显示传输系统。本发明不限于上述实施方式,对于本领域普通技术人员而言,对上述实施方式所做出的任何显而易见的改进或变更,都不会超出本发明的构思和所附权利要求的保护范围。
权利要求
1.一种节点计算机数据实时传输显示系统,其特征在于包括若干个通过网络连接的用于显示数据的节点端,在每个所述节点端上设置有用于存储由原始数据分割成的小单元数据的数模体和显示体,每个显示体绑定一个数模体,该显示体用于读取数模体中存储的小单元数据进行显示、并获取当前展示数据的更改发送给与其绑定的数模体更新该数模体中的存储内容,不同节点端上的用于存储同一个小单元数据的数模体存在对应关系,当一个数模体发生数据改变时,该数模体就作为控制器将更新数据发送至其他节点端上与其对应的数模体,更新与其对应的数模体中存储的内容。
2.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于所述显示体与数模体的为单向或双向绑定,所述双向绑定数据在显示体和数模体间双向传输,所述单向绑定数据只能单向传输。
3.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于所述显示体和数模体上加有事件驱动功能,每个所述数模体有自己的地址,并具有用于与其他数模体对应通讯的合约,在合约中描述了与该数模体有对应的其他节点端上的数模体的地址, 所述显示体中数据被更改时,显示体按照绑定向数模体传输更改了的数据同时发出一个事件驱动,数模体的数据被更改后按照合约向其它相应的节点端的设有对应地址的数模体传输数据,并发出一个事件驱动更改其它相应的数模体的存储内容。
4.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于所述合约包括用于确定数模体之间唯一性的六个识别对象体的属性域用户、组、名字、程序、标题、 主机地址。
5.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于所述一个或者多个节点构成系统运行所需要的一套完整数据为进程边界。
6.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于还包括仅设置有数模体用于中转数据的节点端,该节点端通过网络和其他节点端相连。
7.根据权利要求1所述的节点计算机数据实时传输显示系统,其特征在于所述的原始数据为表格,所述的小单元数据为表格中的一行。
全文摘要
本发明涉及一种节点计算机数据实时传输显示系统,包括若干个通过网络连接的用于显示数据的节点端,在每个所述节点端上设置有用于存储由原始数据分割成的小单元数据的数模体和显示体,每个显示体绑定一个数模体,该显示体用于读取数模体中存储的小单元数据进行显示、并获取当前展示数据的更改发送给与其绑定的数模体更新该数模体中的存储内容,不同节点端上的用于存储同一个小单元数据的数模体存在对应关系,当一个数模体发生数据改变时,该数模体就作为控制器将更新数据发送至其他节点端上与其对应的数模体,更新与其对应的数模体中存储的内容,该系统能确保节点端数据表中的小单元数据实时快速同步更新。
文档编号H04L29/06GK102255899SQ20111018633
公开日2011年11月23日 申请日期2011年7月5日 优先权日2011年7月5日
发明者廖锦江 申请人:廖锦江
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1