数据操作方法和数据管理服务器与流程

文档序号:11407165阅读:256来源:国知局
本发明涉及数据库
技术领域
:,尤其涉及一种数据操作方法和数据管理服务器。
背景技术
::基于资源最大化共享的目的,在数据库存储数据时,软件即服务(softwareasaservice,简称saas)提供商优先选择共享数据库、共享数据表模式,即在数据库中的一个数据表中同时存储多个租户的数据,通过租户标识字段识别数据所属的租户,这样能够实现数据库资源共享程度最高、资源开销最小,从而支持大规模中小企业达到收益最大化。现有技术中,在共享数据库、共享数据表模式下租户定制字段有着有巨大的差异性,导致实现租户定制需求非常复杂。现有技术在解决租户灵活定制的同时带来数据读写复杂的问题,而这种复杂性是不应该被用户感知的,用户只需知道表的所有字段(基线字段和租户的定制字段),并不需要关注数据库扩展的复杂数据存储模型。为了避免租户进行数据处理的复杂性并提高开发效率,现有数据管理模型需要对用户提交的数据操作结构化查询语言(structuredquerylanguage,简称sql)先解析,再根据定制元数据翻译重写面向实际存储模型的sql,这个步骤一般都比较复杂,并且每次sql请求都要重复该步骤,这样在大并发量时会消耗大量的性能资源,并降低系统性能。另外,由于多租户共享数据表,为了隔离租户数据,会在重写sql时增加租户标识(identification,简称id)进行过滤,但这只是逻辑上隔离,数据并未进行物理隔离。在这种情况下,有可能出现在增加租户id进行过滤之前,通过sql注入等攻击方法绕过根据租户id过滤的现象,发生租户之间的数据泄露干扰,因此存在潜在的数据安全隐患。技术实现要素:本发明提供了一种数据操作方法和数据管理服务器,能够避免复杂的sql重写过程,提高数据操作效率,同时能够保证租户的数据安全。第一方面,提供了一种数据操作方法,所述方法包括:获取租户的标识和数据操作请求,所述数据操作请求用于请求对所述租户的数据进行数据操作,所述数据操作请求包括所述数据对应的第一表名;根据所述租户的标识和所述第一表名确定所述数据在所述第一数据库中对应的数据表的第二表名,其中所述第一数据库用于存储多个租户各自的数据表,每个租户的数据表与所述每个租户的标识相对应,所述租户为所述多个租户之一;将所述数据操作请求对应的第一结构化查询语言sql中的所述第一表名替换为所述第二表名;请求所述第一数据库执行替换后的第一sql,完成对所述数据的所述数据操作。其中,所述数据操作为读操作或写操作。可选地,获取租户的标识包括:接收saas应用服务器发送的租户的标识。可选地,获取数据操作请求对包括:接收saas应用服务器发送的数据操作请求。需要说明的是,所述数据操作请求可以为sql,也可以为其他查询语言,例如领域特定语言(domainspecificlanguage,简称dsl)。当所述数据操作请求为sql时,所述第一sql即为所述数据操作请求本身;当所述数据操作请求为其他查询语言时,所述方法还包括:将所述数据操作请求转换为sql,得到所述第一sql。可选地,所述第一数据库为内存数据库。通过内存计算能够进一步提高数据操作性能。本发明中,数据管理服务器只需将sql中的数据对应的表名替换为该数据在数据库中对应的表名,然后请求数据库执行替换后的sql即可对数据进行数据操作,能够避免复杂的sql重写过程,提高数据操作效率。同时,由于在数据库中每个租户的数据表相互隔离,能够防止租户之间数据干扰,保证数据安全。结合第一方面,在第一方面的第一种可能的实现方式中,在所述获取第一sql之前,所述方法还包括:获取基线表的元数据;根据所述租户的标识和基线表的表名生成所述第二表名;根据所述第二表名和所述基线表的元数据生成第二sql,所述第二sql用于创建所述数据表;请求所述第一数 据库执行所述第二sql。这样能够在第一数据库中为租户创建数据表。例如,数据管理服务器可以被配置为当监测到所述租户开通了服务之后,根据所述租户的标识和所述基线表的表名生成所述第二表名,并根据所述第二表名和所述基线表的元数据生成用于创建所述数据表的第二sql。此时,所述数据表包括基线字段。可选地,当所述第一数据库创建的所述数据表无法满足所述租户的需求时,数据管理服务器可以获取所述租户提交的(例如通过saas应用服务器提交)更新数据表的请求。所述请求中可以包括所述租户的定制字段的元数据,所述数据管理服务器根据所述租户的定制字段的元数据生成用于更新所述数据表的sql,并请求所述第一数据库执行所述sql,即可完成所述租户的数据表的更新和扩展。这样能够满足多租户共享数据库情况下表结构的灵活扩展。此时,所述数据表包括基线字段和所述租户的定制字段。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述数据操作为写操作,所述方法还包括:获取所述数据表的数据更新信息;根据所述数据表的数据更新信息,对所述数据表中更新的数据进行备份。其中,所述数据更新信息可以包括更新的字段名称以及更新的值。当对第一数据库中的数据表进行写操作时,数据表中的数据会发生变化,此时获取数据表的数据更新信息,对数据表中更新的数据进行备份能保证数据的持久化存储。可选地,当所述数据操作为读操作时,对第一数据库中的数据表进行数据读操作,此时数据表中的数据不发生变化。通过对第一数据库中存储的租户的数据表中的数据进行备份,能够保证数据安全,以对数据进行持久化的存储。结合的第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述数据表的数据更新信息,对所述数据表中更新的数据进行备份包括:根据所述数据表的数据更新信息,请求第二数据库更新备份的所述数据表中的数据。所述第二数据库用于对所述第一数据库中的所述多个租户的数据表中的数据进行备份。第一数据库也可以称为主数据库,第二数据库也可以称为 从数据库。结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在所述第二数据库中所述多个租户各自的数据表中的数据存储在共享的业务数据表中,所述根据所述数据更新信息,请求第二数据库更新备份的所述数据表的数据包括:获取基线表的元数据;根据所述数据更新信息和所述基线表的元数据生成第三sql,所述第三sql用于更新所述业务数据表中所述数据表的数据;请求所述第二数据库执行所述第三sql。可选地,如果所述数据表为根据所述租户的定制字段更新后的数据表,此时所述数据表包括所述租户的定制字段,则所述方法还包括:获取所述租户的定制字段的元数据和映射元数据,所述映射元数据用于指示所述数据表中所述租户的定制字段在所述业务数据表中所对应的字段;所述根据所述数据更新信息和所述基线表的元数据生成第三sql包括:根据所述数据更新信息、所述基线表的元数据、所述租户的定制字段的元数据和所述映射元数据生成所述第三sql。所述第二数据库中可以采用共享的业务数据表存储多个租户的数据表中的数据,此时第二数据库的数据模型与第一数据库的数据模型不同,因此数据管理服务器需要根据第一数据库中的数据更新信息生成适用于第二数据库的sql,以用于第二数据库更新数据的sql。可选地,在所述第二数据库中还可以分别存储多个租户各自的数据表,即所述第二数据库可以采用第一数据库相同的数据模型存储多个租户的数据。此时数据管理服务器请求第二数据库执行替换后的第一sql即可完成对所述数据的所述数据操作。结合第一方面的第二种至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述获取所述数据表的数据更新信息包括:解析所述替换后的第一sql,获取所述数据表的数据更新信息;或者,读取日志文件,获取所述数据表的数据更新信息。例如,数据管理服务器可以定时检测第一数据库连接,获取数据操作的sql。或者,数据管理服务器还可以定时读取日志文件更新时间或文件大小判断日志发生变更,读取变更后的数据进行分析获取数据更新信息。结合第一方面或第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中,还包括:当所述第一数据库中的基线表的元数据 和/或所述租户的定制字段的元数据发生变更时,根据变更后的基线表的元数据和/或所述租户的定制字段的元数据生成第四sql,所述第四sql用于更新所述数据表;请求所述第一数据库执行所述第四sql。通过根据变更后的基线表的元数据和/或租户的定制字段的元数据生成sql,并在第一数据库中执行该sql,能够实现基线表升级和/或租户再次定制数据表的同步。第二方面,提供了一种数据管理服务器,包括用于执行第一方面或第一方面的任一种可能实现方式所述的方法的单元。第三方面,提供了一种数据管理服务器,包括:处理器、存储器和总线系统,所述处理器和所述存储器通过所述总线系统相连,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,使得所述数据管理服务器执行如第一方面或第一方面的任一种可能的实现方式所述的方法。第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序使得数据管理服务器执行上述第一方面或第一方面的任一种可能的实现方式所述的方法。第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被数据管理服务器运行时,使得所述数据管理服务器执行上述第一方面或第一方面的任一种可能的实现方式所述的方法。本发明中,数据管理服务器只需将sql中数据对应的表名替换为该数据在数据库中对应的表名,然后请求数据库执行替换后的sql即可对数据进行数据操作,能够避免复杂的sql重写过程,提高数据操作效率。同时,由于在数据库中每个租户的数据表相互隔离,能够防止租户之间数据干扰,保证数据安全。附图说明图1是根据本发明实施例的网络部署示意图;图2是根据本发明实施例的数据管理服务器的结构示意图;图3是根据本发明实施例的数据操作方法的示意性流程图;图4是根据本发明另一实施例的数据管理服务器的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。为方便理解本发明实施例,首先介绍本发明实施例描述中涉及到的术语:基线表(baselinetable)的元数据:定义基线表的信息描述,包括但不限于表名、字段名(fieldname)、字段类型(fieldtype)、索引、主键、外键等;定制字段的元数据:定义定制字段的信息描述,包括但不限于字段名、字段类型、索引等;定制表的元数据:定义定制表的信息描述,包括但不限于表名、字段名、字段类型、索引、主键、外键等,其中定制表由多个定制字段组成;租户:订购使用saas应用系统的企业,企业职员为用户。例如,字段类型可以为“int”、“string”等。以租户的数据表为职员表为例,租户的数据表中字段名可以包括name(姓名)、age(年龄)、sex(性别)、tel(电话)等。下文中将基线表中的字段描述为基线字段。数据库创建的每个租户的数据表中均包括基线字段,根据租户的个性化定制需求,还可以包括租户的定制字段。本发明实施例中在多租户共享的数据库中面向租户进行数据建模,根据租户定制扩展模型构建租户特有的数据模型,为租户提供数据读写。每个租户的数据作为独立的数据表进行存储,每个租户的数据表和每个租户的标识相对应,使得各个租户的数据表之间形成物理隔离。也就是说,每个数据表只存一个租户的数据,每个数据表包括基线字段和一个租户所有的定制字段。同时,租户的数据读写操作重定向到数据库中该租户的数据表,无需进行复杂的sql解析、重写过程,提升了操作的灵活性。另外租户的数据表从物理上进行隔离能够避免数据泄露干扰,保证数据安全。为了保证数据的持久化存储,还可以对数据库中存储的租户的数据表进行备份。例如,可以采用文件存储的方式对该数据库中所有租户的数据进行备 份,如可以采用json格式或xml(extensiblemarkuplanguage,可扩展标记语言)格式的文件存储。还可以采用磁盘存储的方式对该数据库中所有租户的数据进行备份。还可以通过另一数据库中对租户的数据进行备份。例如,主数据库用于存储多个租户各自的数据表,每个租户的数据表与每个租户的标识相对应,从数据库用于对主数据库中存储的租户的数据进行备份。例如,从数据库中所有租户可以共享业务数据表,该业务数据表包括所有租户的数据表中的数据;或者从数据库中也可以按照主数据库中的数据模型存储多个租户的数据表。图1是本发明实施例的网络部署示意图。应注意,图1所示仅以从数据库对主数据库备份为例进行描述,还可以采用上述其他方式对主数据库中的数据进行备份。租户的用户可以通过saas应用服务器发起数据操作请求。saas应用服务器可以根据发起数据操作请求的用户所属的租户的标识,请求数据管理服务器按租户读、写数据。数据管理服务器可以监听saas应用服务器发起的连接,获取租户发起的数据操作请求,并请求主数据库执行相应的数据操作。数据管理服务器还可以根据基线表的元数据、租户的定制字段的元数据请求主数据库为租户创建包含基线字段和租户的定制字段的数据表。主数据库面向租户进行数据建模,根据租户的定制扩展模型构建租户特有的数据模型,为租户提供数据操作。租户的数据读写都重定向到数据库中租户的数据表,能够避免复杂的sql重写过程,提高数据操作效率。主数据库可以包括多个租户各自的数据表。每个租户的数据表与每个租户的标识相对应。主数据库可以根据数据管理服务器的请求对租户的数据表执行相应的数据操作。由于租户的数据表形成了物理隔离,使得租户只能对租户自身的数据表进行数据操作,防止了租户之间的数据干扰,保证了租户的数据安全。每个租户的数据表可以包括基线表字段和租户的定制字段。基线表字段和租户的定制字段的类型可以一致。从数据库可以用于备份主数据库。例如,从数据库可以存储多个租户共享的业务数据表,业务数据表包括数据库中的多个租户的数据表的数据,通 过租户的标识字段值进行租户数据隔离。从数据库中表结构可以保持不变,以固定模型存储多租户数据,可以实现对主数据库中的数据进行稳定长久的存储。主数据库在对数据表进行数据操作时,对数据表的数据写操作通过异步的方式把写的数据更新到从数据库中进行存储。例如,数据管理服务器监听到主数据库完成对数据的数据操作并把操作结果反馈给saas应用服务器之后,数据管理服务器再请求从数据库执行主数据库中的数据操作。另外,为了保证主数据库和从数据库的数据同步保持一致,如果从数据在执行更新数据的备份过程中失败时,数据管理服务器还可以请求主数据库将数据恢复到更新之前的值。需要说明的是,当主数据库可用时,数据管理服务器可以优先在主数据库中进行数据操作。当主数据库不可用时,数据管理服务器还可以通过sql翻译、重写直接请求从数据库进行数据操作。本发明实施例中,可以建立包括主数据库和从数据库的二级数据库,以从数据库作为一级数据库构建租户数据扩展模型并根据扩展模型存储租户数据且保证数据结构的固定性;以主数据库作为二级数据库面向租户进行数据建模,根据租户定制扩展模型构建租户特有的数据模型,为租户提供数据读写,所有租户数据读写都重定向到主数据库中租户的数据表,能够避免复杂的sql重写过程,提高数据操作效率,同时能够保证租户的数据安全。图2所示为根据本发明实施例的数据管理服务器200的结构示意图。如图2所示,数据管理服务器200可包括处理器201、存储器202、网络接口203和总线系统204。数据管理服务器200可以通过网络接口203与saas应用服务器进行通信。处理器201控制数据管理服务器200的操作,处理器201还可以称为中央处理单元(centralprocessingunit,简称cpu)。存储器202可以包括只读存储器和随机存取存储器,并向处理器201提供指令和数据。存储器202的一部分还可以包括非易失性随机存取存储器(nvram)。具体的应用中,客户端200的各个组件通过总线系统204耦合在一起,其中总线系统204除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统204。在本发明实施例中,处理器201可以通过调用存储器202存储的操作指令,使得数据管理服务器执行根据本发明实施例的数据操作方法的相应流程,具体可参考下文图3所示的根据本发明实施例的数据操作方法300的相关描述,为避免重复,在此不再赘述。下文中本发明实施例揭示的数据操作方法300可以应用于处理器201中,或者由处理器201实现。处理器201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器201可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器202,处理器201读取存储器202中的信息,结合其硬件完成本发明实施例所公开的方法的步骤。存储器202中还可以存储创建数据表所需的数据,例如,基线表的元数据、定制字段的元数据、定制表的元数据、映射元数据等。图3是根据本发明实施例的数据操作方法300的示意性流程图。如图3所示,数据操作方法300包括如下内容。301、租户的用户向saas应用服务器提交请求信息,请求对租户的数据进行数据操作。具体的,数据操作为读操作或写操作。302、saas应用服务器根据用户提交的请求信息,确定该数据操作对应的sql,该sql中包括该数据对应的第一表名。第一表名可以为租户获知的表名。例如,第一表名可以为呈现给租户的表名。第一表名可以与基线表的表名一致。另外,saas应用服务器还可以根据用户的标识确定该用户所属的租户的标识。303、saas应用服务器与数据管理服务器建立连接,向数据管理服务器发送该sql。可选地,还可以向数据管理服务器发送该租户的标识。需要说明的是,saas应用服务器可以同时发送sql和租户的标识,也可以分开发送sql和租户的标识,本发明实施例对此并不限定。304、数据管理服务器接收saas应用服务器发送的sql和租户的标识,根据租户的标识和第一表名确定该数据在主数据库中对应的数据表的第二表名,并将该sql中的第一表名替换为第二据表名。第二表名为该数据对应的数据表在第一数据库中存储的表名。第一表名与租户的标识无关,第二表名与租户的标识相关。例如,第一表名为“职员表”,第二表名为“职员表-租户a”。305、数据管理服务器请求主数据库中执行替换后的sql。306、主数据库执行替换后的sql,完成对该租户的数据的数据操作。具体的,主数据库根据第二表名确定执行数据操作的数据表,对该数据表中的数据进行数据操作。本发明实施例中,数据管理服务器只需将sql中数据对应的表名替换为该数据在数据库中对应的表名,然后请求数据库执行替换后的sql即可对数据进行数据操作,能够避免复杂的sql重写过程,提高数据操作效率。同时,由于在数据库中每个租户的数据表相互隔离,能够防止租户之间数据干扰,保证数据安全。需要说明的是,当数据操作为写操作时,由于主数据库中数据表的数据发生了变更,需要将发生变更的信息同步到从数据库中。此时,还需要执行以下步骤307~309。307、数据管理服务器获取数据表的数据更新信息。数据更新信息可以包括更新的字段名称和更新的值。308、数据管理服务器根据数据表的数据更新信息,请求从数据库更新存储的数据。例如,从数据库中多个租户的数据存储在共享的业务数据表中。具体地,数据管理服务器可以获取基线表的元数据、租户的定制字段元数据和映射元数据,该映射元数据用于指示数据表中租户的定制字段在从数据库存储的业务数据表中所对应的字段;根据数据更新信息、基线表的元数据、租户的定 制字段的元数据和映射元数据生成sql,该sql用于更新该数据表;请求从数据库执行该sql。例如,映射元数据中可以包括租户的标识、租户的定制字段与业务数据表中的字段的对应关系。表1所示为租户的定制字段的元数据的例子,表2所示为映射元数据的例子,表3所示为从数据库中租户共享的业务数据表的例子,根据表2即可确定各租户的定制字段在业务数据表中所对应的字段。表1租户(tenant)表名(tablename)字段名(fieldname)类型(type)a职员表性别stringb职员表年龄intb职员表idstringc职员表qqstringc职员表电话stringc职员表年龄int表2租户表名字段名映射字段名a职员表性别flex0b职员表年龄flex0b职员表idflex1c职员表qqflex0c职员表电话flex1c职员表年龄flex2表3租户表名flex0flex1flex2…flexna职员表男性b职员表25100ac职员表1452135…30需要说明的是,如果租户的数据表中只包括基线字段时,数据管理服务器根据数据更新信息和基线表的元数据生成用于更新数据的sql,请求从数据库执行该sql即可完成更新。309、从数据库更新业务数据表的数据。需要说明的是,在步骤301之前,数据管理服务器还需要在主数据库中为每个租户创建数据表。具体地,数据管理服务器根据租户的标识和基线表的表名生成租户的数据表在主数据库中存储的表名(即第二表名),并根据该租户的数据表的表名和基线表的元数据生成用于创建该租户的数据表的sql,然后请求所述主数据库执行该sql,创建该租户的数据表。此时,创建的该租户的数据表中只包括基线字段。可选地,当第一数据库创建的数据表无法满足租户的需求时,租户可以提交(例如通过saas应用服务器提交)更新数据表的请求,相应地数据管理服务器可以获取该更新数据表的请求。该请求中可以包括租户的定制字段的元数据,数据管理服务器根据租户的定制字段的元数据生成用于更新数据表的sql,并请求所述第一数据库执行该sql,即可完成租户的数据表的更新和扩展,这样能够满足多租户共享数据库情况下表结构的灵活扩展。此时,更新后的数据表包括基线字段和租户的定制字段。可选地,初始启动从数据库时,如果从数据库检测到主数据库中数据表创建完成,则从数据库会按租户将初始化数据同步到租户在主数据库中的数据表中。将初始化数据同步到租户的数据表中之后,用户可以通过数据管理服务器对主数据库中的数据表进行数据操作。其中,初始化数据可以包括系统通用数据以及初始化运行所需的数据。相应地,数据管理服务器还可以接收从数据库的数据同步请求,并根据该数据同步请求,请求主数据库中将该初始化数据同步到为租户创建的数据表中。图4是根据本发明实施例的数据管理服务器的结构示意图。如图4所示,数据管理服务器400包括:获取单元410和处理单元420。获取单元410用于获取租户的标识和数据操作请求,数据操作请求用于请求对租户的数据进行数据操作,数据操作请求包括数据对应的第一表名。处理单元420用于根据获取单元410获取的租户的标识和第一表名确定数据在第一数据库中对应的数据表的第二表名,其中第一数据库用于存储多 个租户的数据表,每个租户的数据表与每个租户的标识相对应,该租户为多个租户之一。第一数据库可以为内存数据库,这样能够进一步提高数据的读写操作效率。处理单元420还用于将数据操作请求对应的第一sql中的第一表名替换为第二表名;并请求第一数据库执行替换后的第一sql,以完成对数据表中数据的数据操作。本发明实施例中,数据管理服务器只需将sql中的表名替换为在数据库中的表名,然后请求数据库执行替换后的sql即可对数据进行读写操作,能够避免复杂的sql重写过程,提高数据操作效率。同时,由于在数据库中每个租户的数据表相互隔离,能够防止租户之间数据干扰,保证数据安全。可选地,获取单元410还用于,在获取第一sql之前,获取基线表的元数据。相应地,处理单元420还用于:根据租户的标识和该基线表的表名生成第二表名;根据第二表名和基线表的元数据生成第二sql,第二sql用于创建数据表;请求第一数据库执行第二sql。可选地,数据管理服务器400还可以包括存储单元430,存储单元430可用于存储创建租户的数据表所需的数据,如基线表的元数据、租户的定制字段的元数据等。获取单元410可以具体用于从存储单元430获取基线表的元数据和租户的定制字段的元数据。可选地,数据操作为写操作。相应地,获取单元410还用于,获取数据表的数据更新信息;处理单元420还用于,根据数据表的数据更新信息,对数据表中更新的数据进行备份。可选地,处理单元420具体用于:根据数据表的数据更新信息,请求第二数据库更新备份的数据表的数据。可选地,在第二数据库中多个租户各自的数据表中的数据可以存储在共享的业务数据表中。相应地,获取单元410还用于,获取基线表的元数据。处理单元420还用于:根据数据更新信息和基线表的元数据生成第三sql,第三sql用于更新第二数据库中存储的业务数据表的数据;请求第二数据库执行第三sql。可选地,获取单元410具体用于:根据替换后的第一sql,获取数据表的数据更新信息;或者,根据日志文件,获取数据表的数据更新信息。可选地,处理单元420还用于:当第一数据库中的基线表的元数据和/或租户的定制字段的元数据发生变更时,根据变更后的基线表的元数据和/或租户的定制字段的元数据生成第四sql,第四sql用于更新数据表;请求第一数据库执行第四sql。根据本发明实施例的数据管理服务器400可对应于方法300中的数据管理服务器,并且数据管理服务器400中的各个单元的上述和其他操作和/或功能分别为了实现图3所示的方法300的相应流程。为了简洁,在此不再赘述。应注意,本发明实施例中的获取单元410和处理单元420可以由图2所示的数据管理服务器200中的处理器201实现。存储单元430可以由图2所示的数据管理服务器200中的存储器202实现。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一 个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1