数据分配方法

文档序号:6594672阅读:645来源:国知局
专利名称:数据分配方法
技术领域
本发明一般涉及一种用于在通过因特网/内联网连接的大量计算机之间提供局部数据的方法。具体来说,本发明涉及一种适合于支持应用系统的数据分配方法,这种应用系统除了共享数据外还具有与数据更新同步分配数据的推(push)式分配功能,而且是在因特网/内联网上构造的。
背景技术
基于常规服务器/客户系统的DBMS(数据库管理系统)在当服务器和客户共享数据时使用“挽-推(pull-push)式分配”,以通过由来自客户的询问分配数据在客户和服务器之间同步数据。
然而,在这种“挽-推式分配”中,有一个缺点在于完成通信所需的时间因询问服务器而增加。另外,指定待分配数据部分的范围无法由客户指定,因此整个数据中的大部分被分配给客户。然而,在使用诸如因特网的广域网的数据分配中,降低业务量很重要,而且并不优选发送大量类似“挽-推式分配”的数据。因此,“挽-推式分配”不适合于广域网上的实时数据分配。
如上所述,在常规DBMS应用中,作为同步彼此通过网络连接的计算机之间的数据的方法的“挽-推式分配”存在下述问题(a)在数据更新时需要的通信时间因客户同步数据所必需的询问而增加;以及(b)由于在客户询问服务器是否存在数据更新时无法从客户分派数据范围,因此客户无法掌握从服务器发送给客户的数据量,这样的话存在发送大量数据的一些情况。

发明内容
根据本发明第一方面,提供一种数据分配方法,用于在服务器的数据库的数据被更新后通过推式分配分配更新的数据给客户,以在服务器和客户之间共享数据,该方法包括使服务器在服务器的数据库中存储包含客户正使用的数据范围的客户管理信息,以及通过在发送数据之前参考客户管理信息使服务器识别将发送给客户的数据。
根据本发明第二方面,提供一种包含数据分配程序的计算机可读介质,用于在服务器的数据库的数据被更新后通过推式分配技术分配更新数据到客户,以在服务器和客户之间共享数据,该程序包括用于下述动作的指令使服务器在服务器的数据库中存储包含客户正使用的数据范围的客户管理信息;以及通过在发送数据之前参考客户管理信息使服务器识别将发送给客户的数据。


图1是根据本发明实施例的数据共享/分配方法的整体配置的功能框图;图2是在根据本发明的实施例的数据共享/分配方法中的“服务器启动处理”的流程图;图3是在根据本发明的实施例的数据共享/分配方法中的“服务器结束处理”的流程图;图4是在根据本发明的实施例的数据共享/分配方法中的“当显示范围未改变时数据自动更新处理”的流程图;图5是在根据本发明的实施例的数据共享/分配方法中的“显示范围内的数据获取处理”的流程图;图6是在根据本发明的实施例的数据共享/分配方法中的“当请求的数据范围没有存储于一般数据中时的处理,在显示范围外的数据获取中,以及在获取数据后的数据自动更新处理”的流程图;图7是在根据本发明的实施例的数据共享/分配方法中的“当请求的数据范围存储于一般数据中时的处理,在显示范围外的数据获取中,以及在获取数据后的数据自动更新处理”的流程图;图8是在根据本发明的实施例的数据共享/分配方法中的“由客户自动更新的设置从On变为Off时的处理”的流程图;图9是在根据本发明的实施例的数据共享/分配方法中的“由客户自动更新的设置从Off变为On时的处理”的流程图;图10是一般数据记录的结构实例的原理图;图11是显示范围数据的结构实例的原理图;图12是客户管理数据的结构实例的原理图;具体实施例方式现在参考附图描述本发明的实施例。涉及本实施例中的信息处理的部分通常是通过借助软件控制计算机实现的。在此情况下,软件通过在物理上使用计算机的硬件实现本发明的这些操作和效果,而现有技术应用于现有技术所通用的软件部分。然而,在此情况下,硬件和软件的种类和配置,以及由软件处理的程度可以各种方式改变。因此,在下面的描述中,使用了实现本发明和实施例中各种功能的虚拟电路框图。
在本实施例中,虽然描述由客户在显示屏上显示的数据作为客户使用的数据实例,但所使用的数据不应局限于此,不用在显示器上显示就能由在后台执行的程序使用的数据可以是客户使用的数据。
本实施例涉及一种数据共享/分配方法,用于适当和有效地管理在彼此相连的每个服务器和客户端中提供的数据库。
图1是用于实现本实施例的数据共享/分配方法的系统的整体配置图。该系统包括在客户一侧提供的客户数据管理器1,在服务器一侧提供服务器数据管理器2,以及服务器数据维护应用3,它们彼此之间通过网络连接。
如图1所示,客户数据管理器1包括客户数据操作器11,用于管理客户数据;客户数据通信器12,用于往返服务器交换数据;用户接口13,用于接受数据获取请求以显示数据作为结果;以及客户端数据库14。
客户端数据库14包括一般数据141、显示范围数据142和整个数据范围143。
一般数据141的每条记录包括指示数据标识的关键字,以及与关键字一一对应的真实数据。用于获取、更新和存储数据的一般数据操作总是通过指定关键字执行的。在本实施例中,在服务器端数据库、客户端数据库以及应用中处理的一般数据是利用二维(平面)上的位置坐标(X坐标和Y坐标)作为关键字的图形数据,如图10所示。除关键字之外的数据字段(属性)包括例如图形类型(例如圆、矩形、尺寸),角度和颜色。
整个范围数据143有一个与服务器拥有的对应整个数据范围的关键字。在获取数据时,可能获得关于从该整个数据范围给出的某一范围的关键字。
显示范围数据142有一个由客户显示的数据的范围。如果由客户显示的显示范围改变,则更新显示范围数据142,并发送更新的数据到服务器。此外,应确保显示为显示范围数据142的数据比实际显示的范围稍大,这样的设计就不会使显示范围数据频繁更新。另外,客户端数据库14的显示范围数据142包括两个点(左下和右上)的四个坐标,它们指定了二维(平面)上的一个矩形显示范围。
客户数据操作器11具有客户数据更新器111,用于更新客户端数据库14中存储的数据;客户数据存储器112,用于新添加数据到客户端数据库14;客户数据获取部分113,用于获取数据以从客户端数据库14显示;数据范围更新器114,用于在客户端修改数据显示范围;以及数据范围获取部分115,用于在客户端获取数据显示范围。
设计客户数据更新器111,通过使用客户数据发送器/接收器122获取的数据以更新数据库中的一般数据141,客户数据发送器/接收器122是在后面将描述的客户数据通信器12中提供的,以发送到客户通信控制器121。此外,设计客户数据更新器111以从一般数据141中搜索待更新的数据的关键字,以及如果发现关键字则更新对应该关键字的真实数据。
设计客户数据存储部分112以存储数据到数据库中的一般数据141中,该数据是通过客户数据发送器/接收器122获得的,以交付给客户通信控制器121。在此情况下,设计客户数据存储部分112,以在一般数据141中存储关键字和与之对应的真实数据。
设计客户数据获取部分113以从一般数据中获取数据,该数据是用户接口13的数据需求部分132所需要的。设计客户数据获取部分113以基于从数据需求部分132交付的“数据范围”,从数据库中的整个范围数据143获取关键字,以从一般数据141搜索获取的关键字,以及如果找到关键字的话则获取对应每个关键字的真实数据。所获取的数据被交付给数据需求部分132。另一方面,无法获取数据的关键字被交付给数据需求部分132。
设计数据范围更新器114,以在当由用户接口13的数据显示131显示的范围改变时更新显示范围数据。设计数据范围更新器114以从数据需求部分132接收修改的显示范围,利用该范围更新数据库中的显示范围数据142。
设计数据范围获取部分115,以获取更新的新显示范围以便在当客户的显示范围更新时通知服务器客户的显示范围的更新。设计数据范围获取部分115,以从显示范围数据142获取当前显示范围以响应来自客户通信控制器121的数据范围获取需求,以发送获取的当前显示范围到客户通信控制器121。
客户数据通信器12装有客户通信控制器121,用于控制客户端数据管理和往返服务器的数据的发送/接收;以及客户数据发送器/接收器122,用于执行往返服务器的数据通信处理。
设计客户通信控制器121以交付从服务器发送的数据给客户数据操作器11,以及在客户的显示范围改变时,从数据范围获取部分115获取新的显示范围以发送该新的显示范围到服务器。设计客户通信控制器121以输出“自动更新设置修改需求”到服务器以响应来自数据需求部分132的“自动更新设置修改需求”。
如果经修改的数据从服务器发送,客户通信控制器121经由客户数据发送器/接收器122接收数据以交付数据给客户数据更新器111,以促使其更新一般数据141。如果数据需求部分132要求未包含在一般数据中的数据,客户通信控制器121命令客户数据发送器/接收器122发送“数据发送需求”到服务器,并经由客户数据发送器/接收器122接收从服务器发送的数据作为结果。接收的数据被交付给客户数据存储器112以存储作为一般数据141中的新数据,以及交付给数据需求部分132用于显示按原样显示数据。
如果客户的显示范围改变,客户通信控制器121从数据需求部分132接收显示范围发送需求到服务器,以从数据范围获取部分115获得新的显示范围,接着,客户通信控制器121交付获取范围给客户数据发送器/接收器122以命令发送显示范围到服务器。如果客户通信控制器121从数据需求部分132接收自动更新设置信息,客户通信控制器121则交付设置信息给客户数据发送器/接收器122以输出自动更新设置修改需求到服务器。
另一方面,设计客户数据发送部分122以响应来自客户通信控制器121的数据发送需求发送数据,以及接收从服务器发送的数据作为结果,发送该数据到客户通信控制器121。
用户接口13装有数据显示器131,用于通过用户的操作显示数据;以及数据需求部分132,用于响应来自数据显示器131的数据请求获取相应数据。
如果数据获取操作是由用户的操作执行的,数据显示器131向数据需求部分132下达数据获取请求,并接收所获取的数据以显示。如果数据自动更新设置被用户的操作修改,数据显示器131向数据需求部分132下达一个自动更新设置修改请求。此外,数据显示器131交付将获取的数据范围给数据显示器132以满足数据获取需求。因此,数据显示器131接收由数据需求部分132获取的数据以显示数据。另外,数据显示器131交付数据自动更新设置信息给数据需求部分132以满足自动更新设置修改需求。
另一方面,设计数据需求部分132以响应来自数据显示器131的数据获取需求,从客户数据获取部分113和客户通信控制器121接收相应数据,以交付该数据该数据显示器131。设计数据需求部分132,以响应来自数据显示器131的自动更新设置修改需求交付自动更新设置信息给客户通信控制器121,以满足自动更新设置修改需求。此外,如果数据需求部分132从数据显示器131接收数据获取范围,则数据需求部分132从客户数据获取部分113获取该范围内存在的数据。
接着,如果获取范围中的数据不在一般数据141中,数据需求部分132交付无法获取的数据的关键字给客户通信控制器121,并从服务器接收客户通信控制器121获取的数据作为结果。另外,数据需求部分132交付从客户数据获取部分113和客户通信控制器121获取的数据给数据显示器。此外,如果数据需求部分132确定由于来自数据显示器131的请求而显示范围改变,数据需求部分132更新显示范围数据,同时交付修改的显示范围到客户通信控制器121以通知服务器数据显示范围发生改变。如果数据需求部分132从数据显示器131接收到自动更新设置信息,数据需求部分132交付该设置信息到客户通信控制器121。
如图1所示,服务器数据管理器2包括服务器数据操作器21,用于管理服务器中的数据;服务器数据通信器2,用于往返客户交换数据;数据监视控制器23,用于控制数据监视的操作;以及服务器端数据库24。
服务器端数据库24包括一般数据241、客户管理数据242、整个范围数据243、以及更新历史数据244。
一般数据241的每条记录包括指示数据标识的关键字,以及与关键字一一对应的真实数据。此外,用于获取、更新和存储数据的一般数据操作总是通过指定关键字执行的。另外,服务器端数据库24的一般数据241通常在其中存储图10中所示的多条记录,而且所有这些记录的关键字部分还在整个范围数据143中注册。
另外,整个范围数据243具有与服务器拥有的整个数据范围对应的关键字。在获取数据时,可能从整个数据范围中获取有关指定范围的关键字。此外,客户端数据库14的整个范围数据143与服务器端数据库24的整个范围数据相同。具有包含于整个范围数据以及包含于范围数据指定的矩形显示范围内的关键字从服务器端数据库的一般数据241拷贝到客户端数据库14的一般数据141。
服务器端数据库24的客户管理数据242在其中存储图12所示的记录,其中为每个客户的数据中添加客户的标识符以便管理每个客户的显示范围以及自动更新设置的出现。
此外,客户管理数据242拥有关于每个客户的数据显示范围和自动更新出现的信息。如果数据被服务器更新,则更新数据的发送受客户管理数据242的控制。如果数据库24中的数据被后面将描述的服务器数据更新器211更新,则更新历史数据242拥有关于更新数据的关键字。
服务器数据操作器装有服务器数据更新器211,用于更新已经存储于数据库24中的数据;服务器数据存储部分212,用于新添加数据到数据库24;服务器数据获取部分213,用于从数据库24获取将发送给客户的数据;数据监视器214,用于在服务器端监视数据的更新;管理数据更新器215,用于更新客户管理信息(在每个客户端的数据范围,自动更新信息);管理数据获取部分216,用于获取客户管理信息;以及更新历史数据获取部分217,用于获取服务器端数据的更新历史数据。
设计服务器数据更新器211以在当用于服务器数据维护的应用3下达数据更新请求时,更新数据库24中的数据。此外,设计服务器数据更新器211,以从应用3接收关键字和真实数据以更新对应该关键字的真实数据,以及在更新历史数据244中存储更新数据的关键字。
设计服务器数据存储部分212以在当用于维护服务器数据的应用下达数据存储请求时,在数据库24中存储数据。此外,设计服务器数据存储部分212以从应用3接收关键字和真实数据以便在数据库24中存储该关键字和真实数据。
设计服务器数据获取部分213,以从数据库24中的一般数据214获取服务器通信控制器221所需的数据。设计服务器数据获取部分213,以从服务器通信控制器221获取从客户发送的关键字以便获取与之对应的真实数据。如果数据监视器214检测到数据的更新,服务器数据获取部分213从服务器通信控制器221接收数据范围,以在从整个范围数据243接收的数据范围中获取关键字。接着,服务器数据获取部分213获取对应于所获取关键字的真实数据,其中数据已经更新。
设计数据监视器214以监视服务器的一般数据241是否被更新。数据监视器214响应来自数据监视启动器231的监视启动请求启动监视,并响应来自数据监视制动器232的监视停止请求停止监视。如果一般数据241被更新,则数据监视器214检测其更新。此刻,数据监视器214获取对应于更新数据的关键字,并交付该关键字给服务器通信控制器221以通知数据的更新。
设计管理数据更新器215以在当服务器通信控制器221请求更新客户管理数据242时,更新客户管理数据242。设计管理数据更新器215以从服务器通信控制器221接收有关客户标识符、新的数据显示范围以及自动更新的出现,以促使接收的信息反映到客户管理数据242。
设计管理数据获取部分216以在当服务器通信控制器221请求获取客户管理数据242时,从客户管理数据242获取需要的信息。设计管理数据获取部分216以基于来自客户管理数据242的客户标识符获取有关数据显示范围和自动更新的出现,以便交付获取的信息给服务器通信控制器221。
设计更新历史数据获取部分217以在当服务器通信控制器221请求获取更新历史数据244时,从更新历史数据244获取对应更新数据的关键字。设计更新历史数据获取部分217,以从更新历史数据244获取对应于更新数据的关键字,以交付该关键字给服务器通信控制器221。另外,在更新历史数据获取部分217获取了关键字后,更新历史数据获取部分217从更新历史数据244中删除该关键字。
数据监视控制器23装有数据监视启动器231用于启动数据监视;以及数据监视制动器232,用于停止数据监视。
设计数据监视启动器231以响应来自服务器通信控制器221的数据监视启动指令启动数据监视器214的操作。此外,当数据监视启动器231从服务器通信控制器221接收到数据监视启动请求时,数据监视启动器231促使数据监视器241启动数据监视。
设计数据监视制动器232以响应来自服务器通信控制器221的数据监视停止请求停止数据监视器214的操作。此外,当数据监视制动器232从服务器通信控制器221接收到数据监视停止请求时,数据监视制动器232促使数据监视器241停止数据监视。
服务器数据通信器22装有服务器通信控制器221,用于控制服务器端数据管理以及往返服务器的数据的发送/接收;以及服务器数据发送器/接收器222,用于往返服务器执行数据通信处理。
设计服务器通信控制器221以从客户接收和发送数据接收发送请求,以交付数据给服务器数据操作器21,以及如果必要的话发送从服务器数据操作器221获取的数据到客户。如果从客户端发送了对应于数据的关键字(该数据并未存储于客户端),服务器通信控制器221从服务器数据发送器/接收器222接收该关键字,以交付接收的关键字给服务器数据获取部分213,以获取对于于该关键字的数据,并交付获取的数据给服务器数据发送器/接收器222以命令其发送交付的数据到客户端。
如果从客户端发送有关客户的显示范围以及自动更新的出现,服务器通信控制器221从服务器数据发送器/接收器222接收信息,以交付接收的信息给管理数据更新器215,以促使其更新客户管理数据242。当启动服务器通信控制器221的执行时,服务器通信控制器221首先转入能往返客户发送/接收数据的状态,并向数据监视启动器231发出数据监视启动请求。
当服务器通信控制器221的操作结束时,服务器通信控制器221转入无法往返客户发送/接收数据的状态,并向数据监视制动器232发出数据监视停止请求。如果服务器通信控制器221从数据监视器214接收到更新数据的通知,服务器通信控制器221从客户管理数据242获取有关客户显示范围和自动更新的出现。如果自动更新“出现”,服务器通信控制器221借助更新历史数据获取部分217从更新历史数据244获取的更新的关键字,并交付客户显示范围的关键字和更新数据给服务器数据获取部分213以请求获取更新数据。接着,服务器通信控制器221交付获取的更新数据给服务器数据发送器/接收器222以命令其发送交付的数据到客户端。
设计服务器数据发送器/接收器222以等待接收发送请求,并从客户端发送数据,以便交付接收的发送请求并发送数据到服务器通信控制器221。因此,如果必要的话,服务器数据发送器/接收器222从服务器通信控制器221接收将发送给客户的数据,并执行数据通信。
下面描述具有上述结构的本实施例的操作。假如这样的话,首先,简要描述每个客户数据管理器和服务器数据管理器的操作;接着,参考流程图描述二者之间的数据处理。
(a)在客户数据管理器1中,当显示范围数据被更新时,新的显示范围将发送至服务器。当数据需求部分132所需的范围中任何一个数据无法从客户数据获取部分113获取时,即,导致发送数据发送请求至服务器,则显示范围被更新。通过执行显示范围数据的更新以及发送显示范围至服务器,从服务器发送的更新数据总是能落入客户的显示范围内。
如果显示范围之外的数据已经作为一般数据141存储,那么每当数据需求部分132请求获取数据时可检查显示范围,而且在显示范围改变时可促使数据范围更新器114实时反映显示范围数据142中的新范围,并发送该数据范围到服务器。
(b)通过发送客户的显示范围到服务器促使服务器管理数据,客户数据管理器1仅管理显示范围,而从服务器发送的更新数据可按其原样交付给客户数据更新器111,以使客户数据更新器111更新数据。
(c)除了当客户向服务器提出数据获取请求时,客户监视更新数据的发送,当其发送数据范围而且提出自动更新设置修改请求时,而且在向服务器提出数据获取请求时暂时停止接受更新的数据。如果该操作结合了上述操作(a)中的显示范围数据的管理操作,则在客户的显示范围改变后总是可能接收到有关改变的显示范围的更新数据。
(d)由于从服务器发送的更新数据通过上述的操作(a)和(c)与客户的显示范围同步,客户可接收从服务器发送的更新数据而不用向服务器周期性地提出数据发送请求。这说明实现了“推式数据分配”,而非常规的“挽-推式数据分配”。
(a)用于执行自动更新处理的条件通过由服务器管理客户管理数据(即,客户中的显示范围自动更新设置)定义。也就是说,通过在客户管理数据中存储客户的显示范围,就能检测对应于显示范围的数据已经更新,而且确定其是否将发送到客户。另外,根据对客户设置的更新数据的“通知”或“不通知”,可确定当更新服务器端数据被更新时是否通知客户更新的数据。
在数据监视器214通知服务器通信控制器221数据已更新后,服务器通信控制器221从管理数据获取部分216获取关于当前正交换数据的客户的信息。对于设置为不执行自动更新的客户来说,则不必从服务器数据获取部分213执行数据获取处理。
另一方面,如果客户为执行自动更新,数据监视器214则为服务器数据获取部分213提供利用自动更新设置获取的客户端显示范围以及从数据监视器214获取的关键字,以便返回更新数据的关键字。接着,服务器数据获取部分213可比较从整个范围数据243获取的关键字与提供给服务器数据获取部分213的关键字,以只获取客户的显示范围内的更新的数据的关键字。如果能识别关键字,则可获取与之对应的数据,这样服务器数据获取部分213就能只获取客户显示范围内的更新数据。
因此,服务器通信控制器221可仅发送显示范围内的更新数据到客户。由此降低了网络负载,以便提高客户中的自动更新速度。
(b)服务器通信控制器221除了在当客户请求发送数据时,请求改变数据范围时,以及请求修改自动更新设置时,只发送数据监视的结果到客户。如果客户发出数据发送请求或数据范围改变请求,则更新数据的获取和发送暂时停止。服务器通信控制器221从服务器数据获取部分213获取对应于从客户端发送的关键字的数据以发送该数据到客户端。
服务器通信控制器221的另一功能在于交付新的客户的显示范围和自动改变设置信息给管理数据更新器215以更新客户管理数据242,新的客户的显示范围是在数据发送请求后立即发送,或在发出数据范围改变请求时发送的,而自动改变设置信息是在发出自动更新设置修改请求时发送的。通过在客户管理数据242的更新结束后获取并发送更新数据,客户的显示范围能与从服务器发送的更新数据的范围同步。
(c)通过数据监视器214的操作,从服务器的更新数据的发送与服务器的数据更新同步执行。另外,由于将发送的数据范围通过操作(b)在客户和服务器之间彼此同步,服务器可发送更新的数据到客户,而无须来自客户的任何周期性数据获取请求。这就实现了“推式数据分配”,而非常规的“挽-推式数据分配”。
[2-3-1.服务器的启动和客户初始数据的获取(图2)]启动服务器,服务器通信控制器221首先能从客户接受数据发送请求(S201)。
接着,服务器通信控制器221向数据监视启动器231发送数据监视启动请求(S202),接着,数据监视启动器231执行数据监视器214以启动数据监视(S203)。
如果客户是在如此启动服务器的状态启动的,客户数据通信控制器121针对将获取的数据向客户数据发送器/接收器122发出数据发送请求(S204)。响应该发送请求,客户数据发送器/接收器122发送初始数据获取请求到服务器(S205)。
在服务器数据发送器/接收器222中,已经从客户接收到初始数据获取请求的服务器从数据库24中取出所需数据以响应来自服务器数据获取部分213的指令(S206、S207)。由此取得的数据通过服务器数据通信部分22发送到客户作为服务器的响应(S208)。
客户的客户数据通信部分12接收从该服务器发送的初始数据(S209)。该接收的数据由客户数据操作器11的数据存储部分112存储于客户端数据库14(S210)。
当服务器的操作结束时,服务器通信控制器221向数据监视制动器232下达数据监视制动请求(S301)。数据监视制动器232停止数据监视器214的运行以停止数据监视(S302)。
最后,服务器通信控制器221落入不接受往返客户的任何数据通信以及来自客户的任何数据发送请求的状态(S303)。
客户数据发送器/接收器122等待来自服务器的数据改变的通知(S401)。用于服务器数据维护的应用3更新服务器的一般数据241(S402)。用于服务器数据维护的应用3交付将更新的数据的关键字和真实数据给服务器数据更新器211(S403)。服务器数据更新器211基于接收的关键字和数据更新一般数据241(S404)。
数据监视器214检测数据的更新,并交付对应更新数据的关键字给服务器通信控制器221(S405)。
当服务器通信控制器221接收关键字时,服务器通信控制器从管理数据获取部分216获取当前显示范围(S406)。
服务器通信控制器221提供从数据监视器214获取的关键字以及从管理数据获取部分216获取的显示范围给服务器数据获取部分213(S407)。服务器数据获取部分213基于该关键字和显示范围获取该范围内的更新数据(S408)。并交付获取的数据给服务器通信控制器221(S409)。
服务器通信控制器221发送从服务器数据获取部分213获取的数据到服务器发送器/接收器222,并发送更新的数据给客户(S410)。
客户数据发送器/接收器122接收发送的更新数据(S411),并交付接收的数据给客户通信控制器121。客户通信控制器121交付接收的数据给客户数据更新器111以更新一般数据141(S412)。
数据显示器131旨在在屏幕上显示显示范围内的数据。接着,数据显示器131向数据需求部分131发出数据获取请求(S501)。数据需求部分132交付从数据显示器131提供的显示范围给客户数据获取部分113(S502)。
客户数据获取部分113根据从数据需求部分132提供的显示范围从整个范围数据143获取该数据范围内的关键字(S503)。接着,根据所获取的关键字从一般数据141检索具有该关键字的数据(S504)。由于可获取有关所有关键字的数据,所获取的数据被交付给数据显示器131(S505)。
[2-3-5-1.获取范围内的数据没有存储于一般数据中的情况(图6)]数据显示器131旨在在屏幕上显示尚未显示的数据。接着,数据显示器131向数据需求部分132发送数据获取请求(S601)。数据需求部分132交付从数据显示器131提供的显示范围给客户数据获取部分113(S602)。
客户数据获取部分113根据从数据需求部分132提供的显示范围从整个范围数据143获取该显示范围内的关键字(S603)。接着,根据所获取的关键字,从一般数据141检索具有该关键字的数据(S604)。接着,从客户数据获取部分113返回尚未获取的关键字(S605)。
数据需求部分132设置一个大于所请求范围的范围作为新显示范围,并向数据范围更新器114发出数据范围更新请求(S606)。数据范围更新器114促使接收范围反映到显示范围数据142(S607)。
数据需求部分132发送从客户数据获取部分113接收到的关键字,以及新的数据范围给客户通信控制器121(S608),并发出数据获取请求(S609)。客户通信控制器121交付接收的未获取的关键字给客户数据发送器/接收器122,并向服务器发出数据发送请求(S610)。在客户通信控制器121发出数据发送请求后,客户通信控制器121立即按新数据范围的顺序跟随未获取的关键字之后发送数据到服务器(S611)。
服务器数据发送器/接收器222接收从客户发送的数据获取请求,新数据范围和未获取关键字(S612),并将它们交付至服务器通信控制器221。服务器通信控制器221暂时停止更新数据的获取和发送(S613)。服务器通信控制器221为服务器器数据获取部分213提供接收的未获取关键字,并下达数据获取请求(S614)。
服务器数据获取部分213获取具有所接收的关键字的数据(S615),并将其返回到服务器通信控制器221。服务器通信控制器221交付具有返回的未获取关键字的数据给服务器数据发送器/接收器222以发送数据到客户(S616)。
当数据发送结束时,服务器通信控制器221交付随同未获取关键字获取的新数据范围给管理数据更新器215以更新客户管理数据242(S617)。
客户数据发送器/接收器122接收从服务器发送的数据(S618),并将其交付给客户通信控制器121。客户通信控制器121交付接收的数据给客户数据存储部分112以更新一般数据141(S619)。存储数据之后,客户通信控制器121交付接收的数据到数据需求部分132,而数据需求部分132交付接收的数据给数据显示器131(S620)。
服务器通信控制器221重新启动已被暂时停止的更新数据的获取和发送(S621)。服务器通信控制器221从管理数据获取部分216获取新的数据范围,并在从服务器发送数据时读出更新历史(S622)。接着,服务器通信控制器221交付更新对应历史的关键字,以及所获取的数据范围到服务器数据获取部分213,以交付获取的数据给服务器数据发送器/接收器222以发送更新数据(S623)。
客户数据发送器/接收器122接收发送的更新数据,并将接收的数据交付给客户通信控制器121(S624)。客户通信控制器121交付接收的数据给客户数据更新器111以更新一般数据141(S625)。
数据显示器131旨在在屏幕上显示尚未显示的数据。接着,数据显示器131向数据需求部分132发出数据获取请求(S701)。数据需求部分132交付从数据显示器131提供的显示范围给客户数据获取部分113(S702)。
客户数据获取部分113根据从数据需求部分132提供的显示范围从整个范围数据143获取该显示范围内的关键字(S703)。接着,为每个所所获取的关键字从一般数据141检索具有该关键字的数据(S704)。由于可获取有关所有关键字的数据,所获取的数据交付给数据显示器131(S705)。
数据需求部分132检测到所请求范围不同于显示范围数据142中管理的范围(S706)。数据需求部分132设置一个大于所需范围的范围作为新显示范围,并向数据范围更新器114发出数据范围更新请求(S707)。数据范围更新器114使接收范围反映到显示范围数据142(S708)。
数据需求部分132交付新数据范围到客户通信控制器121,并发出数据范围改变请求。客户通信控制器121交付接收的数据范围给客户数据发送器/接收器122,并向服务器发出数据范围改变请求(S709)。
服务器数据发送器/接收器222接收从客户发送的新的数据范围,并将其交付给服务器通信控制器221。服务器通信控制器221暂时停止更新数据的获取和发送(S710)。服务器通信控制器221交付接收的新数据范围给管理数据更新器215以更新客户管理数据242(S711)。
服务器通信控制器221重新启动已被暂时停止的更新数据的获取和发送(S712)。服务器通信控制器221从管理数据获取部分216获取新数据范围,并在服务器已更新该数据范围时读出更新历史(S713)。服务器通信控制器221交付对应更新历史的关键字,以及所获取的数据范围到服务器数据获取部分213,以及交付获取数据给服务器数据发送器/接收器222以发送更新数据(S714)。
客户数据发送器/接收器122接收发送的更新数据,并将接收到的数据交付给客户通信控制器121。客户通信控制器121交付接收的数据给客户数据更新器111以更新一般数据141(S715)。
当客户的自动更新设置为On时,自动更新设置由数据显示器131设置为Off(S801)。数据显示器131交付自动更新设置信息给数据需求部分132,并发出自动更新设置修改请求(S802)。
数据需求部分132交付接收的自动更新设置信息给客户通信控制器121,并发出自动更新设置修改请求。客户通信控制器121交付接收的自动更新设置信息给客户数据发送器/接收器122,并向服务器发出自动更新设置修改请求(S803)。
服务器数据发送器/接收器222接收从客户发送的自动更新设置信息(S804),并交付接收的信息给服务器通信控制器221。服务器通信控制器221暂时停止更新数据的获取和发送(S805)。服务器通信控制器221交付接收的自动更新设置信息给管理数据更新器215以更新客户管理数据242(S806)。
服务器通信控制器221重新启动已被暂时停止的更新数据的获取和发送(S807)。然而,由于自动更新设置已变为Off,因此不再执行更新数据的获取。
当客户的自动更新设置为Off时,自动更新设置由数据显示器131设为On(S901)。数据显示器131交付自动更新设置信息给数据需求部分132,并发出自动更新设置修改请求(S902)。
数据需求部分132交付接收的自动更新设置信息给客户通信控制器121,并发出自动更新设置修改请求。客户通信控制器121交付接收的自动更新设置信息给客户数据发送器/接收器122,并向服务器发出自动更新设置修改请求(S903)。
服务器数据发送器/接收器222接收从客户发送的自动更新设置信息,并交付接收的信息到服务器通信控制器221(S904)。服务器通信控制器221暂时停止更新数据的获取和发送(S905)。然而,当前设置为Off,更新数据的获取实际上还未执行。服务器通信控制器221交付接收的自动更新设置信息给管理数据更新器215以更新客户管理数据242(S906)。
服务器通信控制器221重新启动已被暂时停止的更新数据的获取和发送(S907)。由于自动更新设置如上一段所述已变为On,当在重新启动后数据被更新时执行通常的自动更新处理(S908)。
在具有上述结构的本实施例中,客户只拥有服务器中存储的数据范围之外的请求数据,这样在客户端就很容易实现资源管理。如果数据在服务器端被更新,即使没有询问,也能发送更新数据到客户,而且在服务器和客户端更新数据所需的时间能因客户的询问而缩短。
当分配数据给客户时,只有在服务器端已被更新且包含在客户的显示范围内的有差别的数据才被发送,因此就可只发送最少的数据。通信操作数和发送数据量小意味着能快速完成一个数据的更新。因此,可能在诸如因特网的广域网上实时更新数据。
如上所述,根据本发明,可提供一种在多个计算机之间实时更新数据并能降低网络负载的数据共享/分配方法。
权利要求
1.一种在服务器数据库的数据被更新后,通过推式分配为客户分配更新数据,以在服务器和客户之间共享数据的数据分配方法,该方法包括使服务器在服务器的数据库中存储包含客户正使用的数据范围的客户管理信息;以及在发送数据之前,通过参考客户管理信息,使服务器识别将发送给客户的数据。
2.如权利要求1的数据分配方法,其中发送给客户的数据为在更新服务器中更新的数据前后有差别的数据。
3.如权利要求1的数据分配方法,其中客户管理信息包括有关从服务器发送数据到客户的必要性的信息,以及通过在发送前参考客户管理信息致使不发送数据给执行推式分配的客户。
4.如权利要求1的数据分配方法,其中当服务器启动时,准备接受来自客户的数据发送请求,并启动服务器的数据更新监视,以便在服务器执行数据更新时分配更新数据给客户。
5.如权利要求1的数据分配方法,其中当客户启动时,服务器接收用于指定客户所获取的数据的数据发送请求,并从服务器的数据库取出适合数据发送请求的数据,服务器发送取出的数据给客户作为其初始数据。
6.如权利要求1的数据分配方法,其中在客户工作时,服务器从客户接收用于指定客户中未存储数据的数据发送请求,从数据库获取该数据,并发送该数据给客户。
7.如权利要求1的数据分配方法,其中当服务器从客户接收到改变使用的数据范围的通知时,服务器在服务器数据库的客户管理信息中登记所改变的使用数据范围,并在服务器的数据之后被更新时,服务器发送对应于所改变的使用数据范围的更新数据给客户。
8.如权利要求1的数据分配方法,其中服务器从客户接收数据分配拒绝请求,并在客户管理信息中设置数据分配设置为“不分配”,这样即使在改变设置后数据被服务器更新数据,也不会发送数据给客户。
9.如权利要求1的数据分配方法,其中服务器从客户接收数据分配请求,并在客户管理信息中设置数据分配设置为“分配”,这样如果在改变设置后数据被服务器更新,则发送更新数据给客户。
10.如权利要求8的数据分配方法,其中当客户当前使用的数据在服务器中被更新时,服务器从客户管理信息中取出客户的更新设置,而且如果设置为分配设置,则服务器取出对应于客户使用的数据的更新数据,以便使服务器的改变被反映到客户,并发送取出的更新数据给客户,当设置为不分配设置时,服务器结束通知处理,并对于服务器的数据更新继续监视。
11.一种计算机可读介质,包含数据分配程序,用于在服务器数据库的数据被更新后,通过推式分配分配更新数据给客户,以在服务器和客户之间共享数据,该程序包括指令,用于使服务器在服务器的数据库中存储包含客户正在使用的数据范围的客户管理信息;以及通过在发送数据之前参考客户管理信息,使服务器识别将发送给客户的数据。
12.如权利要求11的计算机可读介质,其中发送给客户的数据为在更新服务器中更新的数据前后有差别的数据。
13.如权利要求11的计算机可读介质,其中客户管理信息包括有关从服务器发送数据到客户的必要性的信息,以及通过在发送前参考客户管理信息致使不发送数据给执行推式分配的客户。
14.如权利要求11的计算机可读介质,其中当服务器启动时,准备接受来自客户的数据发送请求,并启动服务器数据更新的监视,以便在服务器执行数据更新时分配更新数据给客户。
15.如权利要求11的计算机可读介质,其中当客户启动时,服务器接收用于指定客户所获取的数据的数据发送请求,并从服务器的数据库取出适合数据发送请求的数据,服务器发送取出的数据给客户作为其初始数据。
16.如权利要求11的计算机可读介质,其中在客户工作时,服务器从客户接收用于指定客户中未存储的数据的数据发送请求,从数据库获取该数据,并发送该数据给客户。
17.如权利要求11的计算机可读介质,其中当服务器从客户接收到改变使用的数据范围的通知时,服务器在服务器数据库的客户管理信息中登记所改变的使用数据范围,并在服务器的数据之后被更新时,服务器发送对应于所改变的使用数据范围的更新数据给客户。
18.如权利要求11的计算机可读介质,其中服务器从客户接收数据分配拒绝请求,并在客户管理信息中设置数据分配设置为“不分配”,这样即使在改变设置后数据被服务器更新也不会发送数据给客户。
19.如权利要求11的计算机可读介质,其中服务器从客户接收数据分配请求,并在客户管理信息中设置数据分配设置为“分配”,这样如果在改变设置后数据被服务器更新,则发送更新数据给客户。
20.如权利要求18的计算机可读介质,其中当客户当前使用的数据在服务器中被更新时,服务器从客户管理信息中取出客户的更新设置,而且如果设置为分配设置,则服务器取出对应于客户使用的数据的更新数据,以便使服务器的改变被反映到客户,并发送取出的更新数据给客户,当设置为不分配设置时,服务器结束通知处理,并对服务器的数据更新继续监视。
全文摘要
在客户和服务器之间实时更新数据能降低网络负载。本发明提供一种用于在服务器数据库的数据被更新后通过推式分配为客户分配更新数据,以在服务器和客户之间共享数据的数据分配方法,该方法包括使服务器在服务器的数据库中存储包含客户正使用的数据范围的客户管理信息,以及通过在发送数据之前参考客户管理信息使服务器识别将发送给客户的数据。
文档编号G06F15/00GK1410900SQ0214422
公开日2003年4月16日 申请日期2002年9月29日 优先权日2001年10月1日
发明者齋藤秀充, 大西康教, 山形義幸 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1