CN106686031B - 将应用升级为SaaS模式的方法及装置 - Google Patents

将应用升级为SaaS模式的方法及装置 Download PDF

Info

Publication number
CN106686031B
CN106686031B CN201510757743.8A CN201510757743A CN106686031B CN 106686031 B CN106686031 B CN 106686031B CN 201510757743 A CN201510757743 A CN 201510757743A CN 106686031 B CN106686031 B CN 106686031B
Authority
CN
China
Prior art keywords
object set
user
database object
database
operation command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201510757743.8A
Other languages
English (en)
Other versions
CN106686031A (zh
Inventor
林填彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Winbond Cloud Ltd By Share Ltd
Original Assignee
Guangdong Winbond Cloud Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Winbond Cloud Ltd By Share Ltd filed Critical Guangdong Winbond Cloud Ltd By Share Ltd
Priority to CN201510757743.8A priority Critical patent/CN106686031B/zh
Publication of CN106686031A publication Critical patent/CN106686031A/zh
Application granted granted Critical
Publication of CN106686031B publication Critical patent/CN106686031B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service

Abstract

本发明适用于信息技术领域,提供了将应用升级为SaaS模式的方法及装置。该方法包括:配置数据库对象集合与存储节点上的数据库的映射关系;根据用户与数据库对象集合的对应关系建立关系表;当检测到第一用户对应的指定类型的操作命令时,根据关系表确定与第一用户对应的数据库对象集合;根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中。本发明实现了将非SaaS模式的现有应用升级为SaaS模式,且降低了将非SaaS模式的应用升级为SaaS模式的实现难度,降低了数据库压力,减小了应用在SaaS模式下的后期维护难度。

Description

将应用升级为SaaS模式的方法及装置
技术领域
本发明属于信息技术领域,尤其涉及将应用升级为SaaS模式的方法及装置。
背景技术
SaaS是(Software-as-a-Service,软件即服务)的简称,随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。SaaS与“on-demandsoftware(按需软件)”,“ASP(the Application Service Provider,应用服务提供商)”,“hosted software(托管软件)”具有相似的含义。SaaS是一种通过互联网提供软件的模式,提供商将应用软件统一部署在自己的服务器上,用户可以根据自己的实际需求,通过互联网向提供商定购所需的应用软件服务,按定购的服务数量和时间长短向提供商支付费用,并通过互联网获得提供商提供的服务。在SaaS模式中,用户不需要再购买软件,而改用向提供商租用基于互联网的软件,来管理企业经营活动,且无需对软件进行维护,提供商会全权管理和维护软件。提供商在向用户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。
现有技术中,将非SaaS模式的现有应用升级为SaaS模式包括两种方式。第一种方式是为每一个现有应用部署一个容器,再另设一个应用来管控所有的容器。第二种方式是在现有应用的每个相关表中加入租户标志。其中,第一种方式需要部署大量的容器,硬件成本较高,且后期升级维护较困难。第二种方式需要对现有应用进行大量的修改,修改后的应用的稳定性较难以控制,且如果现有应用对应的单表数据量大,则会对后期数据库优化带来很大压力。
综上,现有的将应用升级为SaaS模式的方式较繁琐且后期维护难度较大的问题。
发明内容
鉴于此,本发明实施例提供了一种将应用升级为SaaS模式的方法,以解决现有的将应用升级为SaaS模式的方式较繁琐且后期维护难度较大的问题。
第一方面,本发明实施例提供了一种将应用升级为SaaS模式的方法,包括:
配置数据库对象集合与存储节点上的数据库的映射关系;
根据用户与所述数据库对象集合的对应关系建立关系表;
当检测到第一用户对应的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合;
根据所述指定类型的操作命令以及所述数据库对象集合对应的标识符生成新的操作命令,并将所述新的操作命令输出至与所述数据库对象集合对应的所述存储节点上的数据库中。
第二方面,本发明实施例提供了一种将应用升级为SaaS模式的装置,包括:
配置单元,用于配置数据库对象集合与存储节点上的数据库的映射关系;
建立单元,用于根据用户与所述数据库对象集合的对应关系建立关系表;
确定单元,用于当检测到第一用户对应的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合;
生成单元,用于根据所述指定类型的操作命令以及所述数据库对象集合对应的标识符生成新的操作命令,并将所述新的操作命令输出至与所述数据库对象集合对应的所述存储节点上的数据库中。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过配置数据库对象集合与存储节点上的数据库的映射关系,根据用户与数据库对象集合的对应关系建立关系表,当检测到第一用户对应的指定类型的操作命令时,根据关系表确定与所述第一用户对应的数据库对象集合,再根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中,由此实现了将非SaaS模式的现有应用升级为SaaS模式,且降低了将非SaaS模式的应用升级为SaaS模式的实现难度,降低了数据库压力,减小了应用在SaaS模式下的后期维护难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的将应用升级为SaaS模式的方法的实现流程图;
图2是本发明另一实施例提供的将应用升级为SaaS模式的方法的实现流程图;
图3是本发明实施例提供的将应用升级为SaaS模式的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的将应用升级为SaaS模式的方法的实现流程图,参照图1:
在步骤S101中,配置数据库对象集合与存储节点上的数据库的映射关系。
在本发明实施例中,采用数据库中间件来实现将非SaaS模式的现有应用升级为SaaS模式。具体地,数据库中间件可以采用MyCat。启动MyCat后,配置数据库对象集合与存储节点上的数据库的映射关系。其中,数据库对象集合可以为Schema,存储节点上的数据库指的是物理数据库。数据库对象集合与存储节点上的数据库的映射关系指的是,数据库对象集合在存储节点上的数据库中的地址,该地址可以包括IP(Internet Protocol,网际协议)地址和端口号。
在步骤S102中,根据用户与数据库对象集合的对应关系建立关系表。
优选地,根据用户与数据库对象集合的对应关系建立关系表包括:
根据租户与数据库对象集合的对应关系建立第一关系表;
根据租户与用户的对应关系建立第二关系表。
其中,第一关系表维护租户与数据库对象集合的对应关系,第二关系表维护租户与用户的对应关系。其中,租户与用户是一对多的关系。
优选地,数据库对象集合对应的租户的总数小于预设值。
在本发明实施例中,通过控制数据库对象集合对应的租户的总数小于预设值,降低了单个数据库所要处理的总数据量,从而减轻了数据库的压力,减小了应用在SaaS模式下的后期维护难度。
在步骤S103中,当检测到第一用户对应的指定类型的操作命令时,根据关系表确定与第一用户对应的数据库对象集合。
其中,指定类型的操作命令可以为SQL(Structured Query Language,结构化查询语言)语句。
需要说明的是,本实施例第一用户是指某一用户,“第一”在此仅为表述和指代的方便,并不意味着在本发明的具体实现方式中一定会有与之对应的第一用户。
在步骤S104中,根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中。
作为本发明的一个实施例,当检测到第一用户对应的指定类型的操作命令时,拦截该指定类型的操作命令,根据数据库对象集合对应的标识符将指定类型的操作命令加入注解,生成新的操作命令。例如,指定类型的操作命令为SQL语句,数据库对象集合对应的标识符为/*!mycat:schema=?*/,则新的操作命令为(/*!mycat:schema=?*/+原SQL语句)。在生成新的操作命令后,将新的操作命令输出至数据库对象集合对应的存储节点上的数据库中。
图2示出了本发明另一实施例提供的将应用升级为SaaS模式的方法的实现流程图,参照图2:
在步骤S201中,配置数据库对象集合与存储节点上的数据库的映射关系;
在步骤S202中,根据用户与数据库对象集合的对应关系建立关系表;
在步骤S203中,将关系表存储在内存中;
在步骤S204中,当检测到第一用户对应的指定类型的操作命令时,根据内存中存储的关系表确定与第一用户对应的数据库对象集合;
在步骤S205中,根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中。
作为本发明的一个实施例,将关系表存储在内存中。由于将关系表存储在内存中,因此,在后续检测到第一用户对应的指定类型的操作命令时,从内存中存储的关系表中确定与第一用户对应的数据库对象集合,从而大大提高了将应用升级为SaaS模式的效率。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例通过配置数据库对象集合与存储节点上的数据库的映射关系,根据用户与数据库对象集合的对应关系建立关系表,当检测到第一用户对应的指定类型的操作命令时,根据关系表确定与所述第一用户对应的数据库对象集合,再根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中,由此实现了将非SaaS模式的现有应用升级为SaaS模式,且降低了将非SaaS模式的应用升级为SaaS模式的实现难度,降低了数据库压力,减小了应用在SaaS模式下的后期维护难度。
图3示出了本发明实施例提供的将应用升级为SaaS模式的装置的结构框图,该装置可以用于运行图1或图2所示的将应用升级为SaaS模式的方法。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图3,该装置包括:
配置单元31,用于配置数据库对象集合与存储节点上的数据库的映射关系;
建立单元32,用于根据用户与所述数据库对象集合的对应关系建立关系表;
确定单元33,用于当检测到第一用户对应的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合;
生成单元34,用于根据所述指定类型的操作命令以及所述数据库对象集合对应的标识符生成新的操作命令,并将所述新的操作命令输出至与所述数据库对象集合对应的所述存储节点上的数据库中。
优选地,所述建立单元32包括:
第一建立子单元321,用于根据租户与所述数据库对象集合的对应关系建立第一关系表;
第二建立子单元322,用于根据所述租户与用户的对应关系建立第二关系表。
优选地,所述数据库对象集合对应的所述租户的总数小于预设值。
优选地,所述装置还包括:
存储单元35,用于将所述关系表存储在内存中。
优选地,所述确定单元34具体用于:
当检测到第一用户对应的指定类型的操作命令时,根据内存中存储的所述关系表确定与所述第一用户对应的所述数据库对象集合。
本发明实施例通过配置数据库对象集合与存储节点上的数据库的映射关系,根据用户与数据库对象集合的对应关系建立关系表,当检测到第一用户对应的指定类型的操作命令时,根据关系表确定与所述第一用户对应的数据库对象集合,再根据指定类型的操作命令以及数据库对象集合对应的标识符生成新的操作命令,并将新的操作命令输出至与数据库对象集合对应的存储节点上的数据库中,由此实现了将非SaaS模式的现有应用升级为SaaS模式,且降低了将非SaaS模式的应用升级为SaaS模式的实现难度,降低了数据库压力,减小了应用在SaaS模式下的后期维护难度。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种将应用升级为SaaS模式的方法,其特征在于,包括:
配置数据库对象集合与存储节点上的数据库的映射关系;
根据待升级应用的用户与所述数据库对象集合的对应关系建立关系表;
当检测到第一用户对应的对于所述待升级应用的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合;
根据所述指定类型的操作命令以及所述数据库对象集合对应的标识符生成新的操作命令,并将所述新的操作命令输出至与所述数据库对象集合对应的所述存储节点上的数据库中,以将所述待升级应用升级为SaaS模式。
2.如权利要求1所述的方法,其特征在于,所述根据用户与所述数据库对象集合的对应关系建立关系表包括:
根据租户与所述数据库对象集合的对应关系建立第一关系表;
根据所述租户与用户的对应关系建立第二关系表。
3.如权利要求2所述的方法,其特征在于,所述数据库对象集合对应的所述租户的总数小于预设值。
4.如权利要求1所述的方法,其特征在于,在所述根据用户与所述数据库对象集合的对应关系建立关系表之后,所述当检测到第一用户对应的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合之前,所述方法还包括:
将所述关系表存储在内存中。
5.如权利要求4所述的方法,其特征在于,所述当检测到第一用户对应的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合具体为:
当检测到第一用户对应的指定类型的操作命令时,根据内存中存储的所述关系表确定与所述第一用户对应的所述数据库对象集合。
6.一种将应用升级为SaaS模式的装置,其特征在于,包括:
配置单元,用于配置数据库对象集合与存储节点上的数据库的映射关系;
建立单元,用于根据待升级应用的用户与所述数据库对象集合的对应关系建立关系表;
确定单元,用于当检测到第一用户对应的对于所述待升级应用的指定类型的操作命令时,根据所述关系表确定与所述第一用户对应的所述数据库对象集合;
生成单元,用于根据所述指定类型的操作命令以及所述数据库对象集合对应的标识符生成新的操作命令,并将所述新的操作命令输出至与所述数据库对象集合对应的所述存储节点上的数据库中,以将所述待升级应用升级为SaaS模式。
7.如权利要求6所述的装置,其特征在于,所述建立单元包括:
第一建立子单元,用于根据租户与所述数据库对象集合的对应关系建立第一关系表;
第二建立子单元,用于根据所述租户与用户的对应关系建立第二关系表。
8.如权利要求7所述的装置,其特征在于,所述数据库对象集合对应的所述租户的总数小于预设值。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
存储单元,用于将所述关系表存储在内存中。
10.如权利要求9所述的装置,其特征在于,所述确定单元具体用于:
当检测到第一用户对应的指定类型的操作命令时,根据内存中存储的所述关系表确定与所述第一用户对应的所述数据库对象集合。
CN201510757743.8A 2015-11-09 2015-11-09 将应用升级为SaaS模式的方法及装置 Expired - Fee Related CN106686031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510757743.8A CN106686031B (zh) 2015-11-09 2015-11-09 将应用升级为SaaS模式的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510757743.8A CN106686031B (zh) 2015-11-09 2015-11-09 将应用升级为SaaS模式的方法及装置

Publications (2)

Publication Number Publication Date
CN106686031A CN106686031A (zh) 2017-05-17
CN106686031B true CN106686031B (zh) 2020-02-07

Family

ID=58864331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510757743.8A Expired - Fee Related CN106686031B (zh) 2015-11-09 2015-11-09 将应用升级为SaaS模式的方法及装置

Country Status (1)

Country Link
CN (1) CN106686031B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943868B (zh) * 2017-11-10 2021-12-24 顺丰科技有限公司 支持系统信息友好查看的数据库中间件的方法及设备
CN109388631A (zh) * 2018-10-11 2019-02-26 山东浪潮通软信息科技有限公司 一种多租户的数据库分库实现方法
CN111984712B (zh) * 2019-05-24 2022-12-13 中移(苏州)软件技术有限公司 一种信息处理方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104106073A (zh) * 2011-12-21 2014-10-15 阿卡麦科技公司 安全策略编辑器
CN104813285A (zh) * 2012-12-03 2015-07-29 惠普发展公司,有限责任合伙企业 应用与基础设施蓝图的结合

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612439B2 (en) * 2009-06-30 2013-12-17 Commvault Systems, Inc. Performing data storage operations in a cloud storage environment, including searching, encryption and indexing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104106073A (zh) * 2011-12-21 2014-10-15 阿卡麦科技公司 安全策略编辑器
CN104813285A (zh) * 2012-12-03 2015-07-29 惠普发展公司,有限责任合伙企业 应用与基础设施蓝图的结合

Also Published As

Publication number Publication date
CN106686031A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
US10142180B2 (en) Method and system for providing unified configuration information to disparate system software components
US8972934B2 (en) Support for temporally asynchronous interface extensions
CN102982141B (zh) 一种实现分布式数据库代理的方法及装置
US9661064B2 (en) Systems and methods for deploying legacy software in the cloud
US8375130B2 (en) Shared resource discovery, configuration, and consumption for networked solutions
KR102376713B1 (ko) 복합 파티션 함수 제공 기법
CN110249307A (zh) 用于在区块链上执行原生合约的系统和方法
US9229771B2 (en) Cloud bursting and management of cloud-bursted applications
CN109639750B (zh) 业务数据处理方法及设备
CN103916482A (zh) 一种基于sqlite的数据同步传输方法
CN104050248B (zh) 一种文件存储系统及存储方法
CN112217656B (zh) Sd-wan系统中的网络设备的配置信息同步方法和装置
CN102202087B (zh) 一种标识存储设备的方法及系统
CN108196787B (zh) 集群存储系统的配额管理方法以及集群存储系统
CN105100051A (zh) 实现数据资源访问权限控制的方法及系统
CN102866998A (zh) 一种同步系统中集中式密码管理方法和系统
CN111556158B (zh) 物联网平台的接入方法、接入装置、接入设备及存储介质
CN106686031B (zh) 将应用升级为SaaS模式的方法及装置
US20160014236A1 (en) Network-independent programming model for online processing in distributed systems
KR20110106382A (ko) 웹 기반 도표 시각화를 위한 확장성
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
US20160191309A1 (en) Cloud system configuration method, server and device
CN103414762A (zh) 云备份方法和装置
CN111491012B (zh) SaaS多租户数据隔离访问方法、装置、电子设备及存储介质
CN104216721A (zh) 一种在操作系统启动之前下发配置的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200207

Termination date: 20211109