对数据表中记录进行分级别冗余存储的方法转让专利

申请号 : CN201710600474.3

文献号 : CN107491360B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段吉民刘明伟刘广寅

申请人 : 山东九州信泰信息科技股份有限公司

摘要 :

本发明公开一种对数据表中记录进行分级别冗余存储的方法,该方法用一套基于服务节点的云计算架构,对数据表的记录设置不同级别,并利用导航式数据存储技术,实现数据记录的分级别设置存储冗余度。该方法克服对软硬件环境的依赖性,并根据数据记录的重要程度分别设置不同的存储节点和冗余度,占用系统资源低,执行效率高。

权利要求 :

1.一种对数据表中记录进行分级别冗余存储的方法,其特征在于:包括以下步骤:

S01)、搭建一个由多个可以独立运行的服务节点组成的云服务平台,所述服务节点包括管理节点A、日志节点L、数据存储节点D和服务提供节点S;S02)、初始化管理节点A,初始化完成后,管理节点A向其他服务节点提供认证所需的Key文件和口令;S03)、把参与云计算的所有服务节点向管理节点A注册使其加入云计算平台,注册时需要提供Key文件和口令作为认证依据,注册后可以在管理节点A上看到所有的服务节点信息,为后期设置冗余存储做好准备;S04)、在管理节点A上设置数据存储分布的规则,把不同安全级别要求的记录,依据主键取值范围,设置到不同的数据存储节点上保存,并把这个设置信息保存为数据存储规则,保存后,将该信息下发到对应的服务提供节点S和数据存储节点D;S05)、根据设置的数据冗余存储规则处理来自用户的数据操作请求。

2.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:安全级别要求高的记录,可以同时存储在多个数据存储节点D上,以实现冗余存储。

3.根据权利要求1或2所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:数据存储规则为:取值范围在1 19999的主键ID存储在数据存储节点D1上,取值范围在~

20000 29999的主键ID存储在数据存储节点D1上,取值范围在30000 39999的主键ID存储在~ ~

数据存储节点D2上,取值范围在40000 49999的主键ID存储在数据存储节点D2上,取值范围~

在30000 39999的主键ID存储在数据存储节点D3上,取值范围大于49999的主键ID存储在数~

据存储节点D3上,针对取值范围在30000 39999之间的数据采用冗余的存储方式进行保存。

~

4.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:初始化管理节点A的过程为:启动管理节点A,管理节点A启动成功后,查询本地数据库,获取本服务节点配置信息放入内存,配置信息获取成功后,进入等待状态,等待数据存储节点D、服务提供节点S和日志节点L前来注册。

5.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:步骤S03中,向管理节点A注册的服务节点包括数据存储节点D、服务提供节点S和日志节点L。

6.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:参与云计算的服务节点向管理节点A注册的过程为:启动欲注册的服务节点,该服务节点启动成功后,查询本地数据库,获取本服务节点配置信息放入内存,配置信息获取成功后,向管理节点A注册,此时提供管理节点A提供的服务注册码和服务访问密码,向管理节点A发出注册请求,管理节点A接收到注册请求后,进行验证,验证通过后把欲注册服务节点的信息保存到自身资源库中,此时在管理节点A的管理控制平台上,新增了注册的服务节点。

7.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:在管理节点A完成所有节点的注册后,在管理节点的数据库中包含所述节点的信息,框架管理员可以手动设定各个节点之间的访问规则以及访问信息授权,设定后以上规则后,管理节点A通过调用服务提供节点S和数据存储节点D的导航下载功能,把设定好的规则发送到所有数据存储节点D和服务提供节点S中,针对取值范围在30000到39999之间的数据,采用冗余的存储方式进行保存;服务提供节点S接收到数据存储规则后,在接收到数据存储的请求后,依照规则把数据存储到不同的数据存储节点中;数据存储节点D接收到数据存储规则后,对数据进行验证是否符合接收到的数据存储规则,如果符合则存储,如果不符合则返回非法存储的信息。

8.根据权利要求1所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:步骤S05中,云服务平台处理来自用户的数据操作请求包括数据的插入、修改、删除和查询操作。

9.根据权利要求1或8所述的对数据表中记录进行分级别冗余存储的方法,其特征在于:当服务提供节点S接收到有关数据增删改查的操作请求时,首先通过服务提供节点S自带的条件分析引擎,结合数据存储规则,对用户发送的信息包进行分解,分解后的信息被分别发送到包含有目标数据的数据存储节点D上,各个数据存储节点D并行执行,并把执行结果反馈给服务提供节点S,在服务提供节点S的数据接收分析引擎对数据汇总整理后,再反馈给发送请求的用户。

说明书 :

对数据表中记录进行分级别冗余存储的方法

技术领域

[0001] 本发明涉及一种对数据表中记录进行分级别冗余存储的方法,属于信息技术的数据安全与防护领域,适用于互联网云计算环境下,对同一个数据表中重要程度不同的记录进行分级别冗余存储。

背景技术

[0002] 目前主流的云计算节点数据冗余存储的方式,还是通过传统的模式来实现,这些模式包括数据库管理系统自带的工具进行冗余设置、由操作系统提供冗余存储、基于存储的硬件设备进行冗余防护(例如:RAID1、RAID3或者RAID10)等。
[0003] 传统模式在新的云计算环境下,存在以下的问题:
[0004] 1、对特定的硬件环境、操作系统、数据库管理系统和虚拟主机系统依赖程度高。例如:Oracle的冗余工具无法对SQLServer的数据文件进行冗余防护;Linux下的工具无法冗余防护Windows系统下的目录等问题。
[0005] 2、冗余操作占用空间多,效率低下,在传统冗余防护的环境下,有效数据占据比例太低。通常一个数据库中,绝大多数的数据是不会频繁修改的,比如银行的流水账,已经产生的流水账目是不能修改的。而一个应用系统中,大多数操作产生的操作日志,与具体业务是无关的。
[0006] 因此如果需要针对业务的个性化要求,对同一个表中不同重要性的记录进行分别冗余存储时,目前的常规软硬件工具还做不到。而且在互联网云计算的环境下,多个数据库系统分布在世界各地,传统的技术也无法真正实现对分散在多个服务器上表中的记录进行有效冗余存储防护的目标。
[0007] 在云计算环境中,单个表中数据量巨大,而且表中的记录重要性不同,对于重点、敏感的记录信息集合,往往需要设置更高安全级别的冗余存储方法。而传统备份技术无法克服对软硬件环境的依赖性,对整个云计算环境的数据无法进行有效的冗余存储,或者在冗余存储中,存在无效数据占据大量存储空间的问题。

发明内容

[0008] 本发明要解决的技术问题是提供一种对数据表中记录进行分级别冗余存储的方法,该方法基于服务节点,克服对软硬件环境的依赖性,并根据数据记录的重要程度分别设置不同的存储节点和冗余度,占用系统资源低,执行效率高。
[0009] 为了解决所述技术问题,本发明采用的技术方案是:一种对数据表中记录进行分级别冗余存储的方法,包括以下步骤:S01)、搭建一个由多个可以独立运行的服务节点组成的云服务平台,所述服务节点包括管理节点A、日志节点L、数据存储节点D和服务提供节点S;S02)、初始化管理节点A,初始化完成后,管理节点A向其他服务节点提供认证所需的Key文件和口令;S03)、把参与云计算的所有服务节点向管理节点A注册使其加入云计算平台,注册时需要提供Key文件和口令作为认证依据,注册后可以在管理节点A上看到所有的服务节点信息,为后期设置冗余存储做好准备;S04)、在管理节点A上设置数据存储分布的规则,把不同安全级别要求的记录,依据主键取值范围,设置到不同的数据存储节点上保存,并把这个设置信息保存为数据存储规则,保存后,将该信息下发到对应的服务提供节点S和数据存储节点D;S05)、根据设置的数据冗余存储规则处理来自用户的数据操作请求。
[0010] 本发明所述对数据表中记录进行分级别冗余存储的方法,安全级别要求高的记录,可以同时存储在多个数据存储节点D上,以实现冗余存储。
[0011] 本发明所述对数据表中记录进行分级别冗余存储的方法,取值范围在1 19999的~主键ID存储在数据存储节点D1上,取值范围在20000 29999的主键ID存储在数据存储节点~
D1上,取值范围在30000 39999的主键ID存储在数据存储节点D2上,取值范围在40000~ ~
49999的主键ID存储在数据存储节点D2上,取值范围在30000 39999的主键ID存储在数据存~
储节点D3上,取值范围大于49999的主键ID存储在数据存储节点D3上,针对取值范围在
30000 39999之间的数据采用冗余的存储方式进行保存。
~
[0012] 本发明所述对数据表中记录进行分级别冗余存储的方法,初始化管理节点A的过程为:启动管理节点A,管理节点A启动成功后,查询本地数据库,获取本服务节点配置信息放入内存,配置信息获取成功后,进入等待状态,等待数据存储节点D、服务提供节点S和日志节点L前来注册。
[0013] 本发明所述对数据表中记录进行分级别冗余存储的方法,步骤S03中,向管理节点A注册的服务节点包括数据存储节点D、服务提供节点S和日志节点L。
[0014] 本发明所述对数据表中记录进行分级别冗余存储的方法,参与云计算的服务节点向管理节点A注册的过程为:启动欲注册的服务节点,该服务节点启动成功后,查询本地数据库,获取本服务节点配置信息放入内存,配置信息获取成功后,向管理节点A注册,此时提供管理节点A提供的服务注册码和服务访问密码,向管理节点A发出注册请求,管理节点A接收到注册请求后,进行验证,验证通过后把欲注册服务节点的信息保存到自身资源库中,此时在管理节点A的管理控制平台上,新增了注册的服务节点。
[0015] 本发明所述对数据表中记录进行分级别冗余存储的方法,在管理节点A完成所有节点的注册后,在管理节点的数据库中包含所述节点的信息,框架管理员可以手动设定各个节点之间的访问规则以及访问信息授权,设定后以上规则后,管理节点A通过调用服务提供节点S和数据存储节点D的导航下载功能,把设定好的规则发送到所有数据存储节点D和服务提供节点S中,针对取值范围在30000到39999之间的数据,采用冗余的存储方式进行保存;服务提供节点S接收到数据存储规则后,在接收到数据存储的请求后,依照规则把数据存储到不同的数据存储节点中;数据存储节点D接收到数据存储规则后,对数据进行验证是否符合接收到的数据存储规则,如果符合则存储,如果不符合则返回非法存储的信息。
[0016] 本发明所述对数据表中记录进行分级别冗余存储的方法,步骤S05中,云服务平台处理来自用户的数据操作请求包括数据的插入、修改、删除和查询操作。
[0017] 本发明所述对数据表中记录进行分级别冗余存储的方法,当服务提供节点S接收到有关数据增删改查的操作请求时,首先通过服务提供节点S自带的条件分析引擎,结合数据存储规则,对用户发送的信息包进行分解,分解后的信息被分别发送到包含有目标数据的数据存储节点D上,各个数据存储节点D并行执行,并把执行结果反馈给服务提供节点S,在服务提供节点S的数据接收分析引擎对数据汇总整理后,再反馈给发送请求的用户。
[0018] 本发明的有益效果:1、本发明所述方法基于多个可以独立运行的服务节点,能够适应云计算环境下复杂的软硬件设备和多种开发语言,不依赖特定的设备或软件,而现有技术都是依赖特定硬件、操作系统或者软件工具来实现,相比现有技术,本发明所述方法具有较强的兼容性。2、本方法根据数据记录的重要程度,分别设置不同的存储节点和冗余度,然后针对不同存储节点制定相应的存储规则,使用一种化整为零的形式完成各自节点的冗余存储,可以并行执行,不影响正常业务执行。而传统备份一次必须对整个数据库进行完整的备份,所需时间长,产生的文件大,占用主机资源多,甚至会干扰到正常业务的应用。因此本方法具有占用系统资源低、执行效率高的特点。3、保护敏感数据,重要程度高的记录属于需要重点保护的对象,按照记录的重要性级别进行切分后,在各个节点可以分别执行各自的数据插入、修改、删除等操作,把需要重点保护的敏感数据放置在安全级别更高的环境中,可以有效防范信息外泄。而传统方式,只要泄漏一个备份文件,整个数据库里所有敏感数据就全部被泄漏出去了。因此本可以保护敏感数据。

附图说明

[0019] 图1为将数据存储规则下发的流程图;
[0020] 图2为云计算平台处理数据操作请求的流程图。

具体实施方式

[0021] 下面结合附图和具体实施例对本发明作进一步的说明。
[0022] 本实施例公开一种对数据表中记录进行分级别冗余存储的方法,该方法实施前,首先进行软硬件环境准备,包括:
[0023] 设备:三台服务器,交换机
[0024] 操作系统:Server2008或者Linux都可
[0025] 软件:MySQL5.1以上版本、Tomcat6以上版本、Java1.7以上版本
[0026] 技术准备:WebService WSDL通信协议、SpringMVC Web框架
[0027] 具体实施步骤为:
[0028] 第一步、搭建一个云计算平台,在三台服务器上完成软件安装,然后在每台服务器上创建三个服务节点,一共9个服务节点。其中包括:管理节点A,数据存储节点D1、D2、D3、D4、D5,服务提供节点S1、S2以及日志节点L1。首先启动管理节点A,然后启动数据存储节点、服务提供节点、日志节点。
[0029] 服务节点可以理解为一个服务器上的一组服务进程,这一组服务进程可以互相配合,完成云计算所需的服务请求。每一个服务节点都有自己的属性,节点属性是指服务节点上这一组服务进程能够提供的功能。每个服务节点有自己基本的节点属性,并提供基本的服务通讯接口(例如节点登录、节点身份验证等)。此外,每个节点根据预设的功能不同,提供额外的服务。节点根据属性(即提供的服务)的不同,分为几大类:
[0030] 管理节点A:负责管理整个云计算架构中,所有服务节点;负责节点的安全认证和导航信息的发布;
[0031] 日志节点L:负责记录各个节点的操作日志信息;
[0032] 数据存储节点D:负责按照预设值,存储提交的数据信息。并把操作日志信息发送给日志节点L进行保存。
[0033] 服务提供节点S:负责响应用户发送的各类请求,并进行分析汇总,把分析拆分后的信息,发送给各个数据存储节点D,并接收、汇总数据存储节点D的应答信息。
[0034] 第二步、初始化管理节点A
[0035] 1、管理节点A启动
[0036] 管理节点A启动成功后,查询本地数据库获取本服务节点配置信息放入内存。配置信息包含:序号 内容 类型 示例
1 服务注册码 String IP141-SERVER-KEY
2 服务访问地址 String http://192.168.1.100:8080/Manager/webservices,支持Https
3 服务访问用户名 String Admin
4 服务访问密码 String 123(支持MD5等多种方式加密)
5 服务节点类型 String A:管理节点
6 服务节点版本 String 1.0
[0037] 配置信息获取成功后,进入等待状态,等待数据存储服务节点、服务节点和日志节点前来注册。
[0038] 第三步、初始化云服务平台中其他节点,并向管理节点A注册,具体为:
[0039] 1、数据存储节点D启动
[0040] 节点启动成功后,查询本地数据库获取本服务节点配置信息放入内存。配置信息包含:
[0041]
[0042] 配置信息获取成功后,向管理服务节点注册操作,此时提供管理节点A提供的服务注册码和服务访问密码,向管理节点A发出注册请求,管理节点A接收到注册请求后,进行验证,验证通过后把数据存储节点D的信息保存到自身资源库中,此时在A的管理控制平台上,就可以看到新增了一个数据存储节点D。
[0043] 2、服务提供类节点S启动
[0044] 节点启动成功后,查询本地数据库获取本服务节点配置信息放入内存。配置信息包含:序号 内容 类型 示例
1 服务注册码 String IP143-SERVER-KEY
2 服务访问地址 String http://192.168.1.102:8080/Manager/webservices,支持Https
3 服务访问用户名 String Admin
4 服务访问密码 String 123(支持MD5等多种方式加密)
5 服务节点类型 String S:服务节点
6 服务节点版本 String 1.0
7 管理服务节点访问地址 String http://192.168.1.100:8080/Manager/webservices
8 管理服务节点访问用户 String Admin
9 管理服务节点访问密码 String 123
[0045] 配置信息获取成功后,向管理服务节点注册操作,此时提供管理节点A提供的服务注册码和服务访问密码,向管理节点A发出注册请求,A接收到注册请求后,进行验证,验证通过后把服务提供节点S的信息保存到自身资源库中。此时在A的管理控制平台上,就可以看到新增了一个服务提供节点S。
[0046] 3、日志节点L启动
[0047] 节点启动成功后,查询本地数据库获取本服务节点配置信息放入内存。配置信息包含:
[0048]
[0049] 配置信息获取成功后,向管理服务节点注册操作,此时提供管理节点A提供的服务注册码和服务访问密码,向管理节点A发出注册请求,A接收到注册请求后,进行验证,验证通过后把日志节点L的信息保存到自身资源库中。此时在A的管理控制平台上,就可以看到新增了一个日志节点L。
[0050] 第四步、设置数据冗余存储规则
[0051] 在管理节点A完成所有节点的注册操作后,在管理节点A的数据库中,包含所有节点的信息。框架管理员可以进行手动设定各个节点之间的访问规则以及访问信息授权。
[0052] 举例说明管理节点的数据库中服务访问规则设定功能如下:
[0053] 数据存储内容:序号 说明 长度
1 用户账户 32
2 用户姓名 10
3 性别 2
4 身份证号码 18
5 联系方式 32
6 家庭地址 128
7 主键ID 32 主键,唯一识别
[0054] 管理服务节点设置数据存储规则:序号 说明 存储节点
1 主键ID  取值范围1 19999 数据存储节点D1
~
2 主键ID  取值范围20000 29999 数据存储节点D1
~
3 主键ID  取值范围30000 39999 数据存储节点D2
~
4 主键ID  取值范围40000 49999 数据存储节点D2
~
5 主键ID  取值范围30000 39999 数据存储节点D3
~
6 主键ID  取值范围 >49999 数据存储节点D3
[0055] 管理服务节点设定好以上规则后,通过调用服务节点和数据存储节点的导航下载功能(WebService服务),把设定完成的规则发送到所有存储和服务节点中。对取值范围在30000到39999之间的数据,采用了冗余的存储方式进行保存。
[0056] 如图1所示,为将数据冗余存储规则下发的流程图。服务节点接收到数据存储规则后,在接收到数据存储的请求后,依照规则对数据存储到不同的数据存储节点中。
[0057] 数据存储节点接受到数据存储后,对数据进行验证是否服务接收到的存储规则,如果符合则存储,如果不符合则返回非法存储的信息。
[0058] 第五步、处理用户请求
[0059] 在完成第四步设置数据存储节点的存储规则后,云服务平台就可以正常接收来自用户的数据操作请求,通常包括数据的插入,修改,删除和查询操作。如图2所示,为云计算平台处理数据操作请求的流程图。
[0060] 5-1、插入操作:当服务提供节点S1(或者S2)接收到添加一条记录的请求时,由服务提供节点S1依据依据应用程序的需求创建一条唯一性主键Kx,并根据Kx的取值信息,结合S1节点自身的数据存储规则,把信息包与Kx一起发送到对应的数据存储节点Dn上,由数据存储节点并行完成数据的插入操作。当对应同一个记录有多个数据存储节点时,S1会分别向这些数据存储节点发送相同的信息包,并等待他们各自应答。
[0061] 5-2、更新操作:当服务提供节点S1接收到一条更新操作时,首先通过“条件分析引擎”分析更新的条件与本节点存储的数据规则之间的关系,然后把更新条件发送给对应的数据存储节点Dn;Dn接收到请求后,会分别把各自记录集合中,符合该条件的结果记录集的唯一性主键Kx反馈回来,再通过“数据接收分析引擎”对采集回来的Kx集合进行过滤,最终确定需要执行更新操作的Kx的范围,以及涉及到的数据存储节点Dn的集合。最后向这些数据存储节点发送包含有Kx主键集合的更新命令,由各个数据存储节点并发执行。
[0062] 5-3,删除操作:当服务提供节点S1接收到一条删除操作时,首先通过“条件分析引擎”,分析“删除记录条件”与本节点存储的“数据规则”之间的关系,然后把删除条件发送给对应的数据存储节点Dn;Dn接收到请求后,会分别把各自记录集合中,符合该条件的记录的唯一性主键Kx反馈回来。S1通过“数据接收分析引擎”对采集回来的Kx集合进行合并分析,筛选出最终需要删除的记录的Kx集合,并把这个集合,连同删除命令,一起发送给所有符合要求的Dn节点,执行删除操作。当记录存在冗余节点时,S1依据规则,向所有节点发送对应的删除指令。
[0063] 5-4,查询操作:当S1接收到一条查询命令时,首先通过“条件分析引擎”,分析查询条件与要获取的列名;然后把分析后的查询条件分别发送给包含有这些查询条件的数据存储节点Dn;Dn接收到请求后,在各自服务节点内部进行查询,找到符合条件的结果集,并把结果集中唯一性主键Kx形成一个应答,反馈给S1。S1通过“数据接收分析引擎”对多个节点反馈的结果集进行统一分析过滤,并把最终符合要求的结果集的Kx集合提取出来,结合数据存储规则的信息,确定最终需要接收查询指令的数据存储节点Dn的集合,并向集合中的数据存储节点发送请求。各个节点接收到包含有主键Kx的查询请求后,提取对应的列,形成应答包,反馈给S1 。S1汇总所有的应答包之后,合并成结果集,反馈给用户。
[0064] 通过以上的方式,可以有效完成对数据表中记录进行分级别冗余存储,保护数据在遭遇意外硬件故障时,不会丢失,并有效利用存储空间,存储有效数据信息。
[0065] 以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。