CN105095503A - 应用于SaaS云系统的个性化动态数据结构设计方法 - Google Patents
应用于SaaS云系统的个性化动态数据结构设计方法 Download PDFInfo
- Publication number
- CN105095503A CN105095503A CN201510545944.1A CN201510545944A CN105095503A CN 105095503 A CN105095503 A CN 105095503A CN 201510545944 A CN201510545944 A CN 201510545944A CN 105095503 A CN105095503 A CN 105095503A
- Authority
- CN
- China
- Prior art keywords
- data
- dyn
- field
- data structure
- personalized
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用于SaaS云系统的个性化动态数据结构设计方法,包括以下步骤:S1、设计数据表dyn_struct;S2、设计数据表dyn_data;S3、进行个性化数据保存。本发明通过设计一种动态数据结构,实现为不同SaaS系统用户提供个性化服务的功能,很好地解决了SaaS模式中的个性化数据结构设计和存储的问题。
Description
技术领域
本发明属于计算机云计算技术领域,具体涉及一种应用于SaaS云系统的个性化动态数据结构设计方法的设计。
背景技术
软件即服务(SaaS,SoftwareasaService)是在21世纪开始兴起的一种创新的软件应用模式。它明确的将软件定义为一种服务,将供需双方对软件商品的需求定义为对软件服务的需求,从而将软件商业模式从商品供需模式转换为服务供需模式,成为现代服务业中的一种特有的商业模式。从租用者的角度来看,SaaS模式消除了企业购买、构建和维护基础设施和应用程序的需要。在这种模式下,企业可以通过互联网低廉、便捷地取得所需软件,不需要大量的软硬件投入、人员维护等,从而节省大量成本,同时还能享受及时升级的服务。
SaaS不仅仅是商业模式上的创新,其要取得成功更依赖于技术架构的创新。由于SaaS系统需要同时为多个租户同时服务,因此SaaS系统的并发访问量、数据存储和检索量都极大。不过幸运的是,随着技术的进步,特别是硬件配置的大幅度提高和软件水平的发展,我们完全可以采用成熟的缓存技术、静态化技术、负载均衡和集群技术等手段,大幅度地提高系统响应速度和工作效率。
然而SaaS模式本身存在着用户的个性化需求和SaaS统一服务功能的矛盾,也就是说,多个租户同时租赁某项SaaS服务,由于服务是统一部署在云端,因此为所有租户提供的功能体系是相同的,如果某个租户有着特殊的数据结构要求,就不能满足了。
目前市面上的SaaS系统以ERP或面向教育的URP最具代表性。这类系统的重要特征是结构化数据占绝大多数,业务功能直接与数据结构相关,后端的数据存储以SQL数据库为主,因此其数据结构的设计直接决定了其业务功能的范围。
与普通ERP/URP系统不同,SaaS系统需要同时为多个租户单位服务,数据结构设计除了需要遵循通用的范式要求以外,还需要区分不同的租户数据,目前流行的包括分表和分模式两种不同的设计:
分表式设计将所有租户的同类业务数据集中存放到同一表中,以不同的租户外键进行区分,以某业务数据表为例,如图1所示,显然分表式设计使得所有租户的业务数据表具有完全相同的数据结构,不能单独扩充某租户的表结构。
分模式(Schema)的设计方式将不同租户数据分属不同的数据库模式下,如图2所示,每个不同租户分别访问各自的数据模式实例,相互独立。理论上,这样的设计使得不同租户的数据表结构可以不同,而不会有交叉影响。然而从实际部署和运维角度,如果不同租户的数据实例不同,这将为未来的数据统一升级和维护带来极大的麻烦,甚至危险。因此在大部分情况下,我们希望或者必须保证所有租户的数据实例结构保持一致。
从上面的分析可以看出,无论采用分表还是分模式方式的设计,都不能很好地解决由于租户不同的业务需求而带来的数据结构个性化的问题。
发明内容
本发明的目的是为了解决现有技术中由于租户不同的业务需求而带来的数据结构个性化的问题,提出了一种应用于SaaS云系统的个性化动态数据结构设计方法。
本发明的技术方案为:一种应用于SaaS云系统的个性化动态数据结构设计方法,包括以下步骤:
S1、设计数据表dyn_struct;
S2、设计数据表dyn_data;
S3、进行个性化数据保存。
进一步地,步骤S1中数据表dyn_struct具体为:
进一步地,步骤S2中数据表dyn_data具体为:
进一步地,步骤S3包括以下分步骤:
S31、设某租户数据表增加个性化字段F,字段类型为T,而这个字段在其它租户中是没有的,则在属于该租户的数据分区或模式下的dyn_struct表中新建一条记录:dyn_field_name=F,dyn_field_type=T,dyn_field_order=1,设新建该记录后,其主键值为K;
S32、在dyn_data表中根据需要插入不同用户的生日信息,第N号用户的F字段值为V,则对应的数据信息为:user_fk=N,dyn_struct_fk=K,dyn_data_value=V。
本发明的有益效果是:本发明通过设计一种动态数据结构,实现为不同SaaS系统用户提供个性化服务的功能,很好地解决了SaaS模式中的个性化数据结构设计和存储的问题。
附图说明
图1为分表式设计业务数据表结构图。
图2为分模式设计不同租户数据结构示意图。
图3为本发明提供的应用于SaaS云系统的个性化动态数据结构设计方法流程图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
本发明提供了一种应用于SaaS云系统的个性化动态数据结构设计方法,如图3所示,包括以下步骤:
S1、设计数据表dyn_struct,用于保存动态数据结构信息:
S2、设计数据表dyn_data,用于保存动态数据结构下的具体数据值:
S3、进行个性化数据保存。
设某租户数据表增加个性化字段F,字段类型为T(包括字符串、数值、日期等),而这个字段在其它租户中是没有的,设计步骤如下:
S31、在属于该租户的数据分区或模式下的dyn_struct表中新建一条记录:dyn_field_name=F,dyn_field_type=T,dyn_field_order=1(后续字段依次增加),即将为该租户新增一个动态字段,字段名为F,字段类型为T,顺序为1。设新建该记录后,其主键值为K。
S32、在dyn_data表中根据需要插入不同用户的生日信息,第N号用户的F字段值为V,则对应的数据信息为:user_fk=N,dyn_struct_fk=K,dyn_data_value=V,即对于新增的动态字段K,N号用户对应的数据值为V。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (4)
1.一种应用于SaaS云系统的个性化动态数据结构设计方法,其特征在于,包括以下步骤:
S1、设计数据表dyn_struct;
S2、设计数据表dyn_data;
S3、进行个性化数据保存。
2.根据权利要求1所述的个性化动态数据结构设计方法,其特征在于,所述步骤S1中数据表dyn_struct具体为:
3.根据权利要求1所述的个性化动态数据结构设计方法,其特征在于,所述步骤S2中数据表dyn_data具体为:
4.根据权利要求1-3任一所述的个性化动态数据结构设计方法,其特征在于,所述步骤S3包括以下分步骤:
S31、设某租户数据表增加个性化字段F,字段类型为T,而这个字段在其它租户中是没有的,则在属于该租户的数据分区或模式下的dyn_struct表中新建一条记录:dyn_field_name=F,dyn_field_type=T,dyn_field_order=1,设新建该记录后,其主键值为K;
S32、在dyn_data表中根据需要插入不同用户的生日信息,第N号用户的F字段值为V,则对应的数据信息为:user_fk=N,dyn_struct_fk=K,dyn_data_value=V。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545944.1A CN105095503A (zh) | 2015-08-31 | 2015-08-31 | 应用于SaaS云系统的个性化动态数据结构设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545944.1A CN105095503A (zh) | 2015-08-31 | 2015-08-31 | 应用于SaaS云系统的个性化动态数据结构设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095503A true CN105095503A (zh) | 2015-11-25 |
Family
ID=54575938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510545944.1A Pending CN105095503A (zh) | 2015-08-31 | 2015-08-31 | 应用于SaaS云系统的个性化动态数据结构设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095503A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912597A (zh) * | 2016-03-31 | 2016-08-31 | 华南师范大学 | 在多租户数据库中存储租户结构化数据的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537317A (zh) * | 2015-01-13 | 2015-04-22 | 华南师范大学 | 租户对自定义数据库访问的控制方法、装置和系统 |
-
2015
- 2015-08-31 CN CN201510545944.1A patent/CN105095503A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537317A (zh) * | 2015-01-13 | 2015-04-22 | 华南师范大学 | 租户对自定义数据库访问的控制方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
杜佳等: ""SaaS数据扩展模型研究"", 《情报杂志》 * |
罗小利等: ""SaaS软件服务基于大规模定制的数据层架构研究"", 《电信科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912597A (zh) * | 2016-03-31 | 2016-08-31 | 华南师范大学 | 在多租户数据库中存储租户结构化数据的方法 |
CN105912597B (zh) * | 2016-03-31 | 2019-05-17 | 华南师范大学 | 在多租户数据库中存储租户结构化数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033938B (zh) | 基于二级映射的集群动态扩展方法 | |
Aboutorabiª et al. | Performance evaluation of SQL and MongoDB databases for big e-commerce data | |
CN107665246B (zh) | 基于图数据库的动态数据迁移方法及图数据库集群 | |
US20120109926A1 (en) | Scoped database connections | |
US9633095B2 (en) | Extract, transform and load (ETL) system and method | |
US20140188784A1 (en) | Systems and methods for data-warehousing to facilitate advanced business analytic assessment | |
CN103425762A (zh) | 基于Hadoop平台的电信运营商海量数据处理方法 | |
CN101504672A (zh) | 一种动态配置实体数据表的方法和系统 | |
CN105069109A (zh) | 一种分布式数据库扩容的方法和系统 | |
CN106503040B (zh) | 适用sql查询方法的kv数据库及其创建方法 | |
CN104462421A (zh) | 基于键-值数据库的多租户扩展方法 | |
CN106446144A (zh) | 一种基于kettle的大数据平台数据抽取和统计方法 | |
CN104298761A (zh) | 一种异构软件系统间主数据匹配的实现方法 | |
CN104462462A (zh) | 基于业务变化频度的数据仓库建模方法和建模装置 | |
CN110489490A (zh) | 基于分布式数据库的数据存储和查询方法 | |
CN105138638A (zh) | 一种基于应用层的数据库分布方法 | |
CN104391899A (zh) | 一种集中清算系统的数据管理方法及系统 | |
CN105160036B (zh) | 一种企业非银信息查询方法 | |
US20030191727A1 (en) | Managing multiple data mining scoring results | |
US20230015950A1 (en) | Method and system for converting database applications into blockchain applications | |
CN110472996A (zh) | 一种客户信息管理方法和系统 | |
CN105095503A (zh) | 应用于SaaS云系统的个性化动态数据结构设计方法 | |
CN102081644A (zh) | 一种数义分离的数据存储方法 | |
US10459820B2 (en) | Document clustering in in-memory databases | |
CN206003092U (zh) | 图数据库系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |