专利名称:非结构化数据同步系统及方法
技术领域:
本发明涉及一种数据同步系统及方法,特别涉及一种运用两步同步方式的非结构化数据同步系统及方法。
背景技术:
随着经济全球化的发展趋势,出现了一大批跨地区、跨国界的大型企业集团。这些企业集团的分支机构分布于世界各地,而各地分支机构需要共享信息以联合作业。因此,如何对其信息进行管控,以实现企业资源的共享,已成为该类企业营运的一个重要组成部分。而信息技术的发展,使得跨机构、跨地域的数据访问与协作成为可能。目前,为了提高数据访问的效率以及减小故障的损失,企业一般采用分布式数据管理系统。
分布式数据管理系统是指物理空间分散、逻辑上通过网络连接在一起的数据存储、管理系统,在该系统中,用户能像访问本地存储区的数据一样使用远程存储区的数据。如2002年6月12日公开的公开号为CN1353836的名为“分布式环境中的文件管理方法和系统”的中国专利,该专利在各客户端设置文件控制器,管理本地文件及控制网络信息交换,并生成包含文件存储位置的元索引以标志网络信息。在用户在某客户端进行文件访问时,通过元索引获得文件存储位置,并将文件复制到本地终端,同时修改元索引信息。该专利解决了特定终端负载集中及文件更新同步的问题,但该系统却存在着客户端数据重复存储、同步过程通讯量较大、客户端操作复杂等问题。
发明内容本发明提供了一种非结构化数据同步系统及方法,使数据同步操作与客户端隔离,从而解决了客户端操作复杂的问题。另外本发明采用两步同步过程,解决了非结构化数据同步过程通讯量较大的问题。
本发明的系统包括若干分支节点以及将这些分支节点相连的网络。分支节点包括一数据库服务器、一FTP服务器及若干客户端。数据库服务器包括一摘要信息表,该摘要信息表与其它分支节点数据库服务器中的摘要信息表保持同步。FTP服务器用于存储非结构化数据,并可与其它分支节点的FTP服务器进行非结构化数据的传送及接收。客户端包括一客户端代理程序,该客户端代理程序包括一数据库操作模块、一用户操作模块及一文件操作模块。其中文件操作模块与FTP服务器连接,用于向FTP服务器发送文件传输命令;数据库操作模块与数据库服务器相连,用于对数据库服务器中的数据进行查询、更新及删除操作;用户操作模块分别与文件操作模块及数据库操作模块相连,为使用者提供操作界面。
该发明还提供一种非结构化数据同步方法。该方法包含以下步骤(a)若干分支节点的数据库服务器间同步非结构化数据摘要信息;(b)第一分支节点的用户操作模块接收用户的数据操作请求,并将该请求发送至该第一分支节点的数据库服务器;(c)第一分支节点的数据库服务器在摘要信息表中搜索用户请求数据的摘要信息,并将搜索结果发送至文件操作模块;(d)文件操作模块判断用户请求信息最新版本位置,若该数据的最新版本在该第一分支节点的FTP服务器,则展示该数据的最新版本给用户,操作结束;若该数据的最新版本不在该第一分支节点的FTP服务器,则第一分支节点的FTP服务器发送同步请求讯息至非结构化数据最新版本所在的第二分支节点;(e)第二分支节点接收同步请求讯息,将非结构化数据最新版本传送至第一分支节点,第一分支节点的用户操作模块将该非结构化数据的最新版本展示给用户;(f)第二分支节点将同步过程信息存储至该第二分支节点数据库服务器中的摘要信息表。
通过本发明,实现了在通讯量相对较小的情况下非结构化数据的实时同步,并且方便了客户端的操作。
图1是本发明非结构化数据同步系统及方法的实施环境图。
图2是本发明非结构化数据同步系统及方法的分支节点架构图。
图3是本发明非结构化数据同步系统及方法的主节点架构图。
图4是本发明非结构化数据同步系统及方法的数据库服务器中非结构化数据的摘要信息表。
图5是本发明非结构化数据同步系统及方法的客户端读取非结构化数据流程图。
图6是本发明非结构化数据同步系统及方法的非结构化数据复制流程图。
具体实施方式如图1所示,是本发明非结构化数据同步系统及方法的实施环境图。该系统由分散在不同地理位置的企业信息系统节点组成,具体包括一主节点110及若干分支节点120、130(图中只画出二个)。这些节点通过企业内部网140相连,且皆采用三层(或多层)结构一数据库服务器(113、123或133),一应用服务器系统(112、122或132),以及分散的客户端(111、121或131)。以下将以主节点110为例,介绍各节点的组成。
主节点110包括一数据库服务器113,一应用服务器系统112及若干客户端111(图中仅画出一个)。数据库服务器113用于存储企业相关的所有结构化数据,并负责管理对数据库的读写和维护,能够迅速执行大量数据的更新和检索。应用服务器系统112包括了企业信息系统中核心的和易变的企业逻辑(规划、运作方法、管理模式等),它的功能是接收输入,处理并返回结果。客户端111是系统应用的用户接口,负责接收用户输入及向用户展示系统处理结果。分支节点120、130的组成结构与主节点110相同。
图2是本发明非结构化数据同步系统及方法的分支节点120结构图。分支节点120的客户端121包括一客户端代理程序201,用于将系统操作封装,使系统操作与用户操作分离,简化了用户操作。该客户端代理程序201包括一用户操作模块202、一数据库操作模块203及一文件操作模块205。分支节点120的应用服务器系统122包括一FTP(File Transfer Protocol)服务器207及一应用程序服务器209。
用户操作模块202为用户提供一图形用户接口(Graphical UserInterface,GUI),方便用户输入。该用户操作模块202与数据库操作模块203及文件操作模块205相连,将系统对FTP服务器207及数据库服务器123的操作结果展示给用户。文件操作模块205与FTP服务器207连接,用于向FTP服务器207发送对文件的操作命令,该命令包括文件打开、关闭、编辑、上传、下载、删除、变更及增加或删除目录夹等操作。文件操作模块205还与数据库操作模块307相连,用于处理数据库操作模块307传送的数据。数据库操作模块203与应用程序服务器209相连,用于生成对数据库服务器123中的数据进行查询、更新及删除等操作命令。数据库操作模块203还负责将数据库服务器123的操作结果传送至文件操作模块205。
FTP服务器207用于存储非结构化数据,如文档、图像、声音及影像等。该FTP服务器207与企业内部网140相连,可通过企业内部网140与其它节点的FTP服务器进行文件传输操作。应用程序服务器209用于连接客户端121与数据库服务器123,将客户端121的数据库操作模块203的数据库操作命令传递至数据库服务器123执行,并将数据库服务器123执行结果传送给数据库操作模块203。
数据库服务器123存储了企业的非结构化数据(如声音、图像、文档及影像)的摘要信息,该摘要信息包括非结构化数据的编号、标题、存储位置及目录、更新日期等信息。该数据库服务器123中的非结构化数据的摘要信息定时与主节点110的数据库服务器113中的非结构化数据摘要信息同步。
图3是本发明非结构化数据同步系统及方法的主节点110结构图。主节点110的客户端111及数据库服务器113的功能与组成与结构与分支节点120相同(见图2)。
主节点110的应用服务器系统112包括一FTP服务器309及一应用程序服务器310。FTP服务器309用于存储非结构化数据,包括文档、图像、声音及影像等。该FTP服务器309与企业内部网140相连,可通过企业内部网140与其它分支节点的FTP服务器进行文件传输操作。应用程序服务器310是该数据同步系统的控制中心,包括一同步控制模块313、一文件传输控制模块311及一数据库连接模块315。同步控制模块313用于控制同步操作的执行,与文件传输控制模块311及数据库连接模块315相连。该同步控制模块313可根据同步请求生成若干同步操作命令,这些同步操作命令包括数据传输命令及更新数据库命令,并发送命令至文件传输控制模块311及数据库连接模块315执行。文件传输控制模块311可接收FTP服务器309的同步请求并将该请求发送到同步控制模块313以生成同步控制命令。同时,文件传输控制模块311还负责解读同步控制模块313的同步命令,并将该同步命令编译为FTP服务器309可执行的指令。数据库连接模块315可执行同步控制模块313的数据库更新命令,将数据同步信息如非结构化数据位置、更新时间等信息更新。
图4是本发明非结构化数据同步系统及方法的数据库服务器113(或213、313)中非结构化数据摘要信息表400。该摘要信息表400包括数据编号401、数据标题403、数据位置405、数据目录407及更新时间409。其中,数据编号401是对应的非结构化数据在企业信息系统中的统一编号,每一非结构化数据有且仅有一唯一的编号。数据标题403是非结构化数据的标题,其可简要描述该非结构化数据的内容。数据位置405是存储非结构化数据的FTP服务器的IP地址,如10.153.24.126。数据目录407是非结构化数据在FTP服务器的目录。更新时间409是上一次对非结构化数据操作的具体时间。分支节点210(或310)的数据库服务器213(或313)中的摘要信息表400定时与主节点110的数据库服务器113中的摘要信息表400同步。例如,可在主节点113的数据库服务器113中设定每三分钟执行一次摘要信息表400的同步步骤。
图5是本发明非结构化数据同步系统及方法的客户端121读取非结构化数据流程图。首先,用户通过用户操作模块202的GUI向系统发送对一非结构化数据的操作请求(步骤S501),该操作可以为阅读或编辑该非结构化数据,该非结构化数据对应一唯一编号。数据库操作模块203将该请求编译为数据库查询语句,并经由应用程序服务器209传送至数据库服务器123。数据库服务器123执行该查询语句,在非结构化数据摘要信息表400的数据编号401栏中查询符合条件的表项(步骤S503)。然后,数据库服务器113将数据编号符合条件的表列发送至文件操作模块205。
文件操作模块205读取表列讯息,并搜索摘要信息表400表列的数据位置405栏(步骤S505)。若在该栏中无本节点200的FTP服务器207的IP地址,则表示该非结构化数据不在该节点,则文件操作模块205经由FTP服务器207向主节点110的同步控制模块313发出数据同步请求讯息,该数据同步请求讯息仅含数据编号(步骤S507),该步骤将在图6详细描述。若本地有该数据,即数据位置405栏有本节点200的FTP服务器207的IP地址,则文件操作模块205进一步比较摘要信息表400表列的更新日期栏(步骤S501)。若对应FTP服务器207的IP地址的表列的更新日期早于其余任一表列的更新日期,即该数据的最新版本不在本节点200,则执行步骤S507。若数据的最新版本在本节点200的FTP服务器207中,则文件操作模块205将该数据直接显示给用户。
图6是本发明非结构化数据同步系统及方法的非结构化数据复制流程图。下文例举分支节点120与主节点110的同步过程进行说明。首先,主节点110的FTP服务器309接收分支节点120的FTP服务器207发送的数据同步请求讯息(步骤S601)。该数据同步请求经由文件传输控制模块311传送至同步控制模块313。同步控制模块313通过数据库连接模块315在数据库服务器113中的摘要信息表400中查询数据同步请求中数据编号,并将查询结果表列传送回同步控制模块313(步骤S603)。
同步控制模块313根据摘要信息表400中的数据位置405栏及更新日期409栏判断该数据最新版本位置(步骤S605)。若数据最新版本不在主节点110的FTP服务器309中,则同步控制模块313发送数据下载命令至文件传输控制模块311,该数据下载命令包括数据的编号、位置及目录,文件传输控制模块311将该下载命令编译成FTP服务器309可直接执行的下载指令,并发送至FTP服务器309,FTP服务器309执行下载指令,从数据最新版本所在节点(如分支节点130)的FTP服务器下载非结构化数据最新版本(步骤S607),同时生成一响应讯息,通知同步控制模块313数据已下载(步骤S608),若数据下载失败,则返回步骤S603。若数据最新版本在主节点110的FTP服务器309上,则同步控制模块313生成一数据上传命令,并将该命令发送至文件传输控制模块311,经文件控制模块311编译的数据上传指令被FTP服务器309执行,相应数据被传送至原请求节点120的FTP服务器207(步骤S609)。若数据上传成功,FTP服务器309将一上传成功讯息经由文件传输控制模块311返回同步控制模块313(步骤S311),同步控制模块313将修改数据库服务器113中的摘要讯息表400。若文件上传失败,则返回步骤S601。
权利要求
1.一种非结构化数据同步系统,该系统包括若干分支节点以及将这些分支节点相连的网络,分支节点包括一数据库服务器,一FTP服务器及若干客户端,其特征在于数据库服务器包括一摘要信息表,该摘要信息表与其它分支节点的数据库服务器中的摘要信息表保持同步;FTP服务器用于存储非结构化数据,并可与其它分支节点的FTP服务器进行非结构化数据的传送及接收;客户端包括一客户端代理程序,该客户端代理程序包括一数据库操作模块、一用户操作模块及一文件操作模块,其中文件操作模块与FTP服务器连接,用于向FTP服务器发送文件传输命令;数据库操作模块与数据库服务器相连,用于对数据库服务器中的数据进行查询、更新及删除操作;用户操作模块分别与文件操作模块及数据库操作模块相连,为使用者提供操作界面。
2.如权利要求1所述的非结构化数据同步系统,其特征在于,其中摘要信息表包括非结构化数据的编号、存储位置、更新时间。
3.如权利要求1所述的非结构化数据同步系统,其特征在于,其中FTP库服务器中存储的非结构化数据为文档、图像、声音及影像数据。
4.如权利要求1所述的非结构化数据同步系统,其特征在于,其中分支节点数据库服务器中的摘要信息表间的同步为定时进行。
5.一种非结构化数据同步方法,其特征是该方法包括以下步骤(a)若干分支节点的数据库服务器间同步非结构化数据摘要信息表;(b)第一分支节点发送同步请求讯息至非结构化数据所在的第二分支节点;(c)第二分支节点接收同步请求讯息,将非结构化数据最新版本传送至第一分支节点,第一分支节点的用户操作模块将该非结构化数据最新版本展示给用户;(d)第二分支节点将同步过程信息存储至该第二分支节点的数据库服务器中的摘要信息表。
6.如权利要求5所述的非结构化数据同步系统,其特征在于,其中摘要信息表包括非结构化数据的编号、存储位置、更新时间。
7.如权利要求5所述的非结构化数据同步系统,其特征在于,其中步骤(a)中的同步为定时进行。
8.如权利要求5所述的非结构化数据同步系统,其特征在于,其中步骤(b)包括以下步骤(b1)第一分支节点的用户操作模块接收用户的数据操作请求,并将该请求发送至该第一分支节点的数据库服务器;(b2)第一分支节点的数据库服务器在摘要信息表中搜索用户请求的数据,并将搜索结果发送至文件操作模块;(b3)文件操作模块判断用户请求数据的最新版本位置;(i)若该数据的最新版本在该第一分支节点的FTP服务器,则打开该数据的最新版本,操作结束;(ii)若该数据的最新版本不在该第一分支节点的FTP服务器,则第一分支节点的FTP服务器发送同步请求讯息至非结构化数据所在的第二分支节点。
9.一种非结构化数据同步方法,其特征是该方法包括以下步骤(a)若干分支节点的数据库服务器间同步非结构化数据的摘要信息;(b)第一分支节点的用户操作模块接收用户数据操作请求,并将该请求发送至该第一分支节点的数据库服务器;(c)第一分支节点的数据库服务器在摘要信息表中搜索用户请求数据,并将搜索结果发送至文件操作模块;(d)文件操作模块判断用户请求数据最新版本位置;(i)若该数据最新版本在该第一分支节点的FTP服务器,则打开该数据的最新版本,操作结束;(ii)若该数据的最新版本不在该第一分支节点的FTP服务器,则第一分支节点的FTP服务器发送同步请求讯息至非结构化数据最新版本所在的第二分支节点;(e)第二分支节点接收同步请求讯息,将非结构化数据最新版本传送至第一分支节点,第一分支节点的用户操作模块将该非结构化数据的最新版本展示给用户;(f)第二分支节点将同步过程的信息存储至该第二分支节点的数据库服务器中的摘要信息表。
10.如权利要求9所述的非结构化数据同步方法,其特征在于,其中摘要信息表包括非结构化数据的编号、存储位置、更新时间。
11.如权利要求9所述的非结构化数据同步方法,其特征在于,其中步骤(a)中的同步为定时进行。
全文摘要
一种非结构化数据同步系统及方法,其通过结构化数据库存储非结构化数据摘要信息,并首先同步摘要信息,然后根据需要执行非结构化数据同步操作,从而实现了在通讯量相对较小的情况下非结构化数据的实时同步。该方法包含以下步骤若干分支节点的数据库服务器间同步非结构化数据摘要信息表;第一分支节点发送同步请求讯息至非结构化数据所在的第二分支节点;第二分支节点接收同步请求讯息,将非结构化数据最新版本传送至第一分支节点;第二分支节点将同步过程的信息存储至该第二分支节点的数据库服务器中的摘要信息表。
文档编号G06F9/06GK1480858SQ0213466
公开日2004年3月10日 申请日期2002年9月3日 优先权日2002年9月3日
发明者李忠一, 林海洪, 樊晓迪 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司