CN110968267A - 数据管理方法、装置、服务器及系统 - Google Patents
数据管理方法、装置、服务器及系统 Download PDFInfo
- Publication number
- CN110968267A CN110968267A CN201911118241.5A CN201911118241A CN110968267A CN 110968267 A CN110968267 A CN 110968267A CN 201911118241 A CN201911118241 A CN 201911118241A CN 110968267 A CN110968267 A CN 110968267A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- stored
- levels
- storage devices
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013523 data management Methods 0.000 title claims abstract description 37
- 238000007726 management method Methods 0.000 claims abstract description 115
- 230000015654 memory Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 12
- 238000001914 filtration Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供的一种数据管理方法、装置、服务器及系统。其中,一种数据管理方法,应用于管理服务器,接收数据的查找指令;从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合查找指令的数据;当读取失败时,返回执行从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据,否则,将读取成功的数据作为查找指令的查找结果;其中,存储级别为按照各存储装置的数据查找效率的差异以及存储空间大小的差异划分得到的;按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。本方案可以实现兼顾数据的查找效率和完整性的效果。
Description
技术领域
本发明涉及数据管理技术领域,特别是涉及一种数据管理方法、装置、服务器及系统。
背景技术
在数据管理中,为了应对相对而言较大的数据存储量,通常将数据存储在远程数据库中,其中,远程数据库为管理服务器管理的数据库。例如,将任一客户端的用户数据、用于进行敏感词过滤的敏感词库等等数据,存储在与客户端对应的管理服务器管理的数据库中。然而,远程数据库与管理服务器的通讯距离相对而言较远,访问远程数据库耗时相对而言较长,导致数据的查找效率相对而言较低。
相关技术中,可以将数据存储在管理服务器的本地或内存中,以便管理服务器查找数据时,能够以管理服务器访问自身的本地或内存时的访问速度相对而言较快,提高数据的查找效率。但是,管理服务器的本地以及内存的存储装置有限,并且,容易存在管理服务器断电重启以及磁盘存储空间不足等异常情况造成的数据缺失,导致存储的数据不够完整。
发明内容
本发明实施例的目的在于提供一种数据管理方法、装置、服务器及系统,以实现兼顾数据的查找效率和完整性的效果。具体技术方案如下:
第一方面,本发明实施例提供了一种数据管理方法,应用于管理服务器,该方法包括:
接收数据的查找指令;
从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;
当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果;
其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少。
可选的,所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
管理服务器对所述不同存储级别分别对应的存储装置中的已存储数据进行更新的方式,包括:
当监测到对所述已存储数据的检查指令时,按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同;
如果不相同,利用所述存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新所述存储级别相邻的存储装置中高级别的存储装置中的已存储数据。
可选的,所述不同存储级别分别对应的存储装置,还用于将所述管理服务器写入的待存储数据的数据标识存储为已存储数据标识;所述待存储数据的数据标识为对所述待存储数据进行散列计算得到的散列值;
所述按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同,包括:
按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据标识是否相同;
如果不相同,判定所述存储级别相邻的存储装置中的已存储数据不相同,否则,判定所述存储级别相邻的存储装置中的已存储数据相同。
可选的,对所述已存储数据进行调整的方式,包括:
当接收到对所述已存储数据的调整指令时,按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据;
对所述调整后的数据进行散列计算,得到调整后的数据标识;
利用所述调整后的数据标识,覆盖所述已存储数据标识。
可选的,管理服务器将所述待数据写入所述不同存储级别分别对应的存储装置的方式,包括:
将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置;
所述按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据,包括:
利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象;
所述对所述调整后的数据进行散列计算,得到调整后的数据标识,包括:
对所述新的哈希树对象进行散列计算,得到调整后的数据标识。
可选的,所述将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置,包括:
将所述待存储数据转换为哈希树对象,并对所述哈希树对象进行序列化处理,得到哈希树对象的序列;
将所述哈希树对象的序列写入所述不同存储级别分别对应的存储装置;
在所述利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象之后,所述方法还包括:
对所述新的哈希树对象进行序列化处理,得到新的哈希树对象的序列;
所述对所述新的哈希树对象进行散列计算,得到调整后的数据标识,包括:
对所述新的哈希树对象的序列进行散列计算,得到调整后的数据标识。
可选的,按照所述存储级别从高到低的顺序排列,所述不同存储级别的存储装置包括:所述管理服务器的内存、所述管理服务器管理的键值存储数据库以及所述管理服务器管理的非键值存储数据库;
所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述管理服务器将所述待存储数据写入不同存储级别的存储装置的方式,包括:
将所述待存储数据写入所述非键值存储数据库和所述键值存储数据库;
在目标业务启动时将所述待存储数据加载至所述管理服务器的内存中;其中,所述目标业务为使用所述已存储数据的业务。
第二方面,本发明实施例提供了一种数据管理装置,应用于管理服务器,该装置包括:
接收模块,用于接收数据的查找指令;
读取模块,用于从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果;
其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少。
可选的,所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述装置还包括更新模块,用于:
当监测到对所述已存储数据的检查指令时,按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同;
如果不相同,利用所述存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新所述存储级别相邻的存储装置中高级别的存储装置中的已存储数据。
可选的,所述不同存储级别分别对应的存储装置,还用于将所述管理服务器写入的待存储数据的数据标识存储为已存储数据标识;所述待存储数据的数据标识为对所述待存储数据进行散列计算得到的散列值;
所述更新模块,具体用于:
按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据标识是否相同;
如果不相同,判定所述存储级别相邻的存储装置中的已存储数据不相同,否则,判定所述存储级别相邻的存储装置中的已存储数据相同。
可选的,所述装置还包括调整模块,用于:
当接收到对所述已存储数据的调整指令时,按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据;
对所述调整后的数据进行散列计算,得到调整后的数据标识;
利用所述调整后的数据标识,覆盖所述已存储数据标识。
可选的,所述装置还包括写入模块,用于:
将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置;
所述调整模块,具体用于:
利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象;
对所述新的哈希树对象进行散列计算,得到调整后的数据标识。
可选的,所述写入模块,具体用于:
将所述待存储数据转换为哈希树对象,并对所述哈希树对象进行序列化处理,得到哈希树对象的序列;
将所述哈希树对象的序列写入所述不同存储级别分别对应的存储装置;
所述调整模块还用于:
在所述利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象之后,对所述新的哈希树对象进行序列化处理,得到新的哈希树对象的序列;
所述调整模块具体用于:
对所述新的哈希树对象的序列进行散列计算,得到调整后的数据标识。
可选的,按照所述存储级别从高到低的顺序排列,所述不同存储级别的存储装置包括:所述管理服务器的内存、所述管理服务器管理的键值存储数据库以及所述管理服务器管理的非键值存储数据库;
所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述装置还包括写入模块,用于:
将所述待存储数据写入所述非键值存储数据库和所述键值存储数据库;
在目标业务启动时将所述待存储数据加载至所述管理服务器的内存中;其中,所述目标业务为使用所述已存储数据的业务。
第三方面,本发明实施例提供了一种数据管理系统,该系统包括管理服务器和不同存储级别分别对应的存储装置;
所述不同存储级别分别对应的存储装置,用于存储数据;所述不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少
所述管理服务器,用于接收数据的查找指令;从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果。
第四方面,本发明实施例提供了一种服务器,该服务器包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第一方面提供的数据管理方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面提供的数据管理方法的步骤。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤,相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找。因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例提供的数据管理方法的流程示意图;
图2为本发明一实施例提供的数据管理方法中,不同存储级别分别对应的存储装置中的已存储数据的更新方式的流程示意图;
图3为本发明一实施例提供的数据管理方法中,不同存储级别分别对应的存储装置中的已存储数据的更新方式的示例图;
图4为本发明一实施例提供的数据管理装置的结构示意图;
图5为本发明一实施例提供的数据管理系统的结构示意图;
图6为本发明一实施例提供的服务器的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明一实施例的数据管理方法进行介绍。
本发明实施例提供的数据管理方法,可以应用于管理服务器,在具体应用中,管理服务器可以是多种的,具体可以包括台式计算机、便携式计算机、互联网电视、智能移动终端、服务器以及可穿戴式智能终端等等,在此不作限定,任何可以实现本发明实施例的电子设备,均可作为本发明中的管理服务器,属于本发明实施例的保护范围。
如图1所示,本发明一实施例的数据管理方法的流程,该方法可以包括:
S101,接收数据的查找指令。
在具体应用中,数据的查找指令可以是多种的。示例性的,数据的查找指令可以是直接表明查找数据的查找指令,例如,查找用户U1的关注列表的查找指令。或者,示例性的,数据的查找指令可以是需要进行数据查找的指令,例如,需要查找关键词的关键词识别指令以及需要查找敏感词的敏感词过滤指令等等。任何关于数据查找的指令,均可作为本发明的数据的查找指令,本实施例对此不作限制。其中,数据的查找指令可以是与管理服务器对应的客户端发送的,或者,可以是管理服务器自身按照定期查找的设置触发的。
S102,从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合查找指令的数据;当读取失败时,执行步骤S102;当读取成功时,执行步骤S103。其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。
为了兼顾数据的查找效率和完整性,可以从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合查找指令的数据;当读取失败时,表明读取失败的存储装置存在数据缺失,因此,为了提高数据全面性和兼顾数据查找效率,可以执行步骤S102。并且,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。由此,可以保证数据查找的过程相当于每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据;并且,读取失败时,在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找。
其中,不同存储级别与存储装置的对应具体可以是多种的。示例性的,同一存储级别可以对应一个存储装置,或者,同一存储级别可以对应多个存储装置。示例性,不同存储级别分别对应的存储装置,可以包括:按照存储级别从低到高的顺序,存储级别SL1对应存储装置SD1,存储级别SL2对应存储装置SD2,存储级别SL3对应存储装置SD3,存储级别SL4对应存储装置SD4。其中,从各存储装置中查找数据的数据查找效率的比较结果为:存储装置SD1<存储装置SD2<存储装置SD3<存储装置SD4;各存储装置的存储空间大小的比较结果为:存储装置SD1>存储装置SD2>存储装置SD3>存储装置SD4。举例而言,存储装置SD1具体可以包括管理服务器管理的非键值数据库,存储装置SD2具体可以包括管理服务器管理的键值数据库,存储装置SD2具体可以包括管理服务器管理的键值数据库,存储装置SD3具体可以包括管理服务器的硬盘,存储装置SD4具体可以包括管理服务器的内存。
上述四种存储级别为示例性说明,任何符合上述存储级别划分规则的不同存储级别,均可用于本发明,本实施例对此不作限制。
S103,将读取成功的数据作为查找指令的查找结果。
读取成功时,表明所读取的数据为符合查找指令的数据,因此,可以将读取成功的数据作为查找指令的查找结果。为了便于理解,下面以敏感词过滤的应用场景为例对本发明的数据查找方法进行具体说明。
示例性的,当管理服务器接收到客户端发送的待检测文本时,表明需要对待检测文本进行敏感词过滤,因此,相当于接收到敏感词查找指令。并且,在敏感词过滤的应用场景中,存储装置存储的数据为敏感词词库。管理服务器可以从尚未读取失败过的存储级别SL1对应存储装置SD1,存储级别SL2对应存储装置SD2,存储级别SL3对应存储装置SD3以及存储级别SL4对应存储装置SD4中,选择存储级别最高的存储装置SD4,读取与待检测文本中的词语相同的数据。当读取失败时,可以从尚未读取失败过的存储级别SL1对应存储装置SD1,存储级别SL2对应存储装置SD2以及存储级别SL3对应存储装置SD3中,选择存储级别最高的存储装置SD3,读取与待检测文本中的词语相同的数据。当读取成功时,表明待检测文本中存在作为查找结果的敏感词。以此类推,如果读取完所有存储装置时均未读取到与待检测文本中的词语相同的数据,即当不存在未读取失败过的存储装置时,表明待检测文本中不存在敏感词,可以结束敏感词过滤。另外,当读取成功时,可以将查找结果返回给发送待检测文本的客户端。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤;相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找,因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
可选的,按照上述存储级别从高到低的顺序排列,上述不同存储级别的存储装置可以包括:管理服务器的内存、管理服务器管理的键值存储数据库以及管理服务器管理的非键值存储数据库;
上述不同存储级别分别对应的存储装置,用于将管理服务器写入的待存储数据存储为已存储数据;
相应的,上述管理服务器将待存储数据写入不同存储级别的存储装置的方式,具体可以包括如下步骤:
将待存储数据写入非键值存储数据库和键值存储数据库;
在目标业务启动时将待存储数据加载至管理服务器的内存中;其中,目标业务为使用已存储数据的业务。
在具体应用中,非键值存储数据库可以包括MySQL数据库和Oracle数据库等等。其中,MySQL数据库是一种开放源代码的关系型数据库管理系统,可以使用最常用结构化查询语言进行数据库操作;Oracle数据库是甲骨文公司提供的具有数据库管理功能、且以分布式数据库为核心的关系型数据库。键值存储数据库可以包括Redis(Remote DictionaryServer,远程数据服务)数据库,和LevelDB数据库等等。其中,Redis数据库是一种为了应对大数据存储的key-value数据库,遵守BSD协议,完全开源免费;LevelDB数据库是一种Google(谷歌)公司开源的key-value数据库。将待存储数据写入非键值存储数据库和键值存储数据库的顺序,可以是同时写入,或者,先后写入。并且,同时写入有利于提高写入效率。
并且,目标业务为使用已存储数据的业务,相当于使用上述步骤S103中的查找结果。因此,目标业务具体可以包括与管理服务器对应的客户端的业务,或者管理服务器自身的业务。例如,与客户端对应的直播客户端的直播业务,或者,管理服务器自身的用户管理业务等等。在目标业务启动时将待存储数据加载至管理服务器的内存中,具体可以是多种的。示例性的,可以从非键值存储数据库和键值存储数据库中的任一数据库中,获取已存储数据并加载至管理服务器的内存中;并且,所获取的已存储数据的数据量,取决于管理服务器的内存的容量大小。具体的,当管理服务器的内存的容量大于预设容量阈值时,可以获取全部的已存储数据;当管理服务器的内存的容量小于预设容量阈值时,可以获取与该容量对应的已存储数据。其中,获取与该容量对应的已存储数据时,可以获取与该容量对应的、且符合指定条件的已存储数据;指定条件可以包括被查找次数大于预设次数阈值,数据量大于预设数据量阈值等等条件中的至少一种。
在本可选实施例中,由于待存储数据已存储在管理服务器管理的键值存储数据库和非键值存储数据库中,因此,可以在目标业务启动时将待存储数据加载至管理服务器的内存中,从而减少目标业务未启动时加载待存储数据对管理服务器性能的影响。
如图2所示,上述不同存储级别分别对应的存储装置,用于将管理服务器写入的待存储数据存储为已存储数据;相应的,本发明一实施例提供的数据管理方法中,不同存储级别分别对应的存储装置中的已存储数据的更新方式的流程,具体可以包括如下步骤:
S201,当监测到对已存储数据的检查指令时,按照存储级别从低到高的顺序,依次判断存储级别相邻的存储装置中的已存储数据是否相同;如果不相同,执行步骤S202。
S202,利用存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新存储级别相邻的存储装置中高级别的存储装置中的已存储数据。
在具体应用中,待存储数据的数据形式可以是多种的。示例性的,待存储数据可以是将数据输入哈希树函数后,得到的哈希树对象;或者,对数据进行序列化后,得到的序列;或者,将数据输入哈希树函数得到的哈希树对象,并对哈希树对象进行序列化后,得到的序列。并且,上述步骤S201中对已存储数据的检查指令的监测方式可以是多种的。示例性的,当对已存储数据进行定时检查时,可以监测当前时刻是否为预设的检查时刻,如果是预设的检查时刻,则监测到检查指令;或者,可以监测是否接收到数据检查模块定时发出的检查指令,如果接收到,则监测到检查指令。或者,示例性的,当对已存储数据的检查按照维护人员输入的检查指令进行时,如果接收到该检查指令,则监测到检查指令。
当监测到对已存储数据的检查指令时,可以按照存储级别从低到高的顺序,依次判断存储级别相邻的存储装置中的已存储数据是否相同。并且,存储级别越高,存储装置的存储空间越小,低级别的存储装置中的已存储数据相对而言比高级别的存储装置中的已存储数据更加完整。因此,如果不相同,表明存储级别相邻的存储装置中:高级别的存储装置中的已存储数据可能不完整或者未更新。因此,可以执行步骤S202,以利用相对而言更完整的已存储数据更新不够完整的已存储数据,提高存储级别相邻的存储装置中高级别的存储装置中的已存储数据的完整性,并实现已存储数据的自动更新。并且,利用存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新存储级别相邻的存储装置中高级别的存储装置中的已存储数据,具体可以包括:将存储级别相邻的存储装置中:高级别的存储装置中的已存储数据,替换为低级别的存储装置中的已存储数据。另外,如果相同,表明不存在已存储数据的缺失或者未更新,此时,可以进行下一次判断,直到所有存储装置均进行过已存储数据的判断,确定对已存储数据的更新完毕。
示例性的,存储级别SL1对应存储装置SD1,存储级别SL2对应存储装置SD2,存储级别SL3对应存储装置SD3以及存储级别SL4对应存储装置SD4,其中,存储级别从低到高依次为:存储级别SL1、存储级别SL2、存储级别SL3以及存储级别SL4。上述步骤S201至S202即:判断存储装置SD1与存储装置SD2中的已存储数据是否相同,如果不相同,利用存储装置SD1中的已存储数据更新存储装置SD2中的已存储数据;进而判断存储装置SD2与存储装置SD3中的已存储数据是否相同,如果不相同,利用存储装置SD2中的已存储数据更新存储装置SD3中的已存储数据。此时,存储装置SD2中的已存储数据是利用存储装置SD1中的已存储数据进行更新得到的,因此,与同时判断存储装置SD1与存储装置SD2中的已存储数据是否相同、存储装置SD2与存储装置SD3中的已存储数据是否相同、存储装置SD3与存储装置SD4中的已存储数据是否相同相比,依次判断可以减少另一判断同时判断造成的另一判断中,级别低的存储装置中数据可能不完整或未更新,进而导致判断结果不够准确的问题。例如,在同时进行判断时,存储装置SD2没有进行更新,可能存在数据缺失,造成存储装置SD2与存储装置SD3中的已存储数据是否相同的判断中,所利用的存储装置SD2中的已存储数据可能缺失,进而导致判断结果不准确的问题。依次判断还可以保证在判断结果为相同时,进行下一次判断,直到所有存储装置都进行过判断。举例而言,如果判断结果为储装置SD1与存储装置SD2中的已存储数据相同,可以判断存储装置SD2与存储装置SD3中的已存储数据是否相同。类似的,可以实现对存储装置SD3、存储装置SD4中已存储数据的判断以及更新。
在上述图2实施例中,通过按照存储级别从低到高的顺序,依次判断存储级别相邻的存储装置中的已存储数据是否相同,进而在不相同时,利用存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新存储级别相邻的存储装置中高级别的存储装置中的已存储数据,从而提高存储级别相邻的存储装置中高级别的存储装置中的已存储数据的完整性。并且,依次判断有利于在进行处于当前判断之后的下一次判断时,该下一次判断中级别高的存储装置已经过判断,完整性得到提高,从而减少同时判断造成的另一判断中,级别低的存储装置中数据可能不完整,进而导致判断结果不够准确的问题。
在一种可选的实施方式中,上述不同存储级别分别对应的存储装置,还用于将管理服务器写入的待存储数据的数据标识存储为已存储数据标识;待存储数据的数据标识为对待存储数据进行散列计算得到的散列值;
相应的,上述按照存储级别从低到高的顺序,依次判断存储级别相邻的存储装置中的已存储数据是否相同,具体可以包括如下步骤:
按照存储级别从低到高的顺序,依次判断存储级别相邻的存储装置中的已存储数据标识是否相同;
如果不相同,判定存储级别相邻的存储装置中的已存储数据不相同,否则,判定存储级别相邻的存储装置中的已存储数据相同。
在具体应用中,对待存储数据进行散列计算,得到散列值,具体可以是多种的。示例性的,对待存储数据进行散列计算具体可以是将待存储数据输入哈希(Hash)函数中,或者将待存储数据输入MD5(Message-Digest Algorithm,信息摘要算法)中。其中,MD5为一种密码散列函数,可以确保通讯传输前后,所传输数据的完整性和一致性。由于待存储数据的数据标识为待存储数据的散列值,并且已存储数据和待存储数据为相同的数据,区别在于已存储数据已存储在存储装置中。类似的,已存储数据标识与待存储数据的数据标识相同,区别在于已存储数据标识已存储在存储装置中。因此,已存储数据标识为已存储数据的散列值,相同的已存储数据标识对应的已存储数据相同,可以利用已存储数据标识进行已存储数据的更新。
在本可选实施例中,通过将待存储数据的散列值作为该待存储数据的数据标识,并由存储装置进行存储,得到已存储数据标识,进而可以在对已存储数据的更新中直接判断已存储数据标识是否相同即可。与判断数据量相对而言较大的已存储数据是否相同相比,可以提高判断效率,从而提高数据更新效率。为了便于理解,下面以示例性描述的方式,对上述可选实施例进行具体说明:
示例性的,如图3所示,按照存储级别从高到低的顺序排列,不同存储级别的存储装置包括:管理服务器的内存、管理服务器管理的键值存储数据库以及所述管理服务器管理的非键值存储数据库。此时,本发明一实施例提供的数据管理方法中,不同存储级别分别对应的存储装置中的已存储数据的更新方式,可以包括:
S301,当监测到对已存储数据的检查指令时,判断管理服务器管理的非键值存储数据库中的已存储数据标识,与管理服务器管理的键值存储数据库中的已存储数据标识是否相同;如果不相同,执行步骤S302;如果相同,执行步骤S303。
S302,利用管理服务器管理的非键值存储数据库中的已存储数据,更新管理服务器管理的键值存储数据库中的已存储数据。
S303,判断管理服务器的内存中的已存储数据标识,与管理服务器管理的键值存储数据库中的已存储数据标识是否相同;如果不相同,执行步骤S304;如果相同,执行步骤S305。
S304,利用管理服务器管理的键值存储数据库中的已存储数据,更新管理服务器的内存中的已存储数据。
S305,不同存储级别分别对应的存储装置中的已存储数据的更新完毕。
上述步骤S301至步骤S305与本发明图2可选实施例的步骤相似,区别在于为了便于理解,图3实施例中示例性地给出了具体的存储装置。对于相同部分在此不再赘述,详见上述本发明图2可选实施例的描述。
可选的,对上述已存储数据进行调整的方式,具体可以包括如下步骤:
当接收到对已存储数据的调整指令时,按照调整指令,对已存储数据进行调整,得到调整后的数据;
对调整后的数据进行散列计算,得到调整后的数据标识;
利用调整后的数据标识,覆盖已存储数据标识。
在具体应用中,对已存储数据的调整指令具体可以包括:用于添加新数据的添加指令、用于修改已有数据的修改指令以及用于删除已有数据的删除指令。相应的,照调整指令,对已存储数据进行调整,得到调整后的数据,具体可以包括:将添加指令对应的新数据添加至已存储数据中;将修改指令对应的待修改的已存储数据修改为符合修改指令的数据;对删除指令对应的已存储数据进行删除。在此基础上,为了保证调整后的数据标识与存储装置中的已存储数据一致,以保证后续利用数据标识对已存储数据进行的更新的准确性。因此,需要对调整后的数据进行散列计算,得到调整后的数据标识,并利用调整后的数据标识,覆盖已存储数据标识。
可选的,管理服务器将上述待数据写入不同存储级别分别对应的存储装置的方式,具体可以包括:
将待存储数据转换为哈希树对象,并将哈希树对象写入不同存储级别分别对应的存储装置;
相应的,上述按照调整指令,对已存储数据进行调整,得到调整后的数据,具体可以包括如下步骤:
利用调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象;
相应的,上述对调整后的数据进行散列计算,得到调整后的数据标识,具体可以包括如下步骤:
对新的哈希树对象进行散列计算,得到调整后的数据标识。
其中,哈希树是一种持久性的数据结构,用于实现集合和映射。哈希树具体可以为Trie(字典树)树,又称前缀树,用于快速检索、统计及排序等;优点是:相对而言最大限度地减少无谓的字符串比较,查询效率比哈希表高,核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。相应的,哈希树对象为哈希树结构的数据,因此,当将待存储数据转换为哈希树对象,并将哈希树对象写入不同存储级别分别对应的存储装置时,已存储数据为哈希树结构的数据:已存储的哈希树对象。
在此基础上,调整已存储的哈希树对象时,利用调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象,具体可以包括:将添加指令对应的新数据添加至已存储的哈希树对象中;将修改指令对应的待修改的已存储数据修改为符合修改指令的修改后的数据,将修改后的数据和已存储的哈希树对象中未修改的数据输入哈希树模型进行转换,得到新的哈希树对象;将已存储的哈希树对象中,除删除指令对应的数据以外的数据输入哈希树模型进行转换,得到新的哈希树对象。并且,为了提高存储空间的利用率,可以使用新的哈希树对象覆盖相应的调整前的哈希树对象。另外,对哈希树对象进行的散列计算与对待存储数据进行的散列计算相似,区别在于计算对象不同,对应相同部分在此不再赘述,详见上述实施例中对待存储数据进行的散列计算的描述。
本可选实施例中,通过将待存储数据转换为哈希树对象,可以进一步提高数据的查找效率。并且,利用调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象,对新的哈希树对象进行散列计算,得到调整后的数据标识,进而利用调整后的数据标识,覆盖已存储数据标识,从而提高后续更新存储装置中数据时,已存储数据和已存储数据标识的准确度。
可选的,上述将待存储数据转换为哈希树对象,并将哈希树对象写入不同存储级别分别对应的存储装置,具体可以包括如下步骤:
将待存储数据转换为哈希树对象,并对哈希树对象进行序列化处理,得到哈希树对象的序列;
将哈希树对象的序列写入不同存储级别分别对应的存储装置;
相应的,在上述利用调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象之后,本发明实施例提供的数据管理方法,还可以包括如下步骤:
对新的哈希树对象进行序列化处理,得到新的哈希树对象的序列;
相应的,对新的哈希树对象进行散列计算,得到调整后的数据标识,具体可以包括如下步骤:
对新的哈希树对象的序列进行散列计算,得到调整后的数据标识。
序列化(Serialization)是指将数据对象转换成字节流(例如字符串以及进制串等等)的过程。与之对应的反序列化,是指将序列化后的字节流,转换回数据对象的过程。通过序列化与反序列化,可以达到数据对象的长期存储及通讯传输的目的。示例性的,对新的哈希树对象进行序列化处理,得到新的哈希树对象的序列,具体可以包括:将新的哈希树对象输入预设的序列化标准格式函数,得到新的哈希树对象的序列。其中,预设的序列化标准格式函数具体可以包括:JSON(JavaScript Object Notation,JS对象简谱)函数、XML(Extensible Markup Language,可扩展标记语言)函数等等。其中,JSON是一种轻量级的数据交换格式,具有简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。XML是一种允许用户对自己的标记语言进行定义的源语言,适合万维网传输,可以提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
本实施例通过将待存储数据转换为哈希树对象,并对哈希树对象进行序列化处理,得到哈希树对象的序列,可以在利用哈希树对象提高后续数据查找效率的同时,利用哈希树对象的序列实现对哈希树对象的长期存储并提高传输效率。另外,在得到符合查找指令的查找结果后,本发明实施例提供的数据管理方法还可以包括:对读取成功的数据进行反序列化处理,得到哈希树对象,并将所得到的哈希树对象作为所述查找指令的查找结果。
为了便于理解,下面以示例性描述的形式,对上述实施例进行说明。示例性的,在敏感词过滤的应用场景中,管理服务器可以将敏感词库输入预设的哈希树函数进行转换,得到哈希树对象,例如前缀树对象,并将得到的哈希树对象输入预设的序列化函数,得到哈希树对象的序列。将哈希树对象的序列写入不同存储级别分别对应的存储装置中。在此基础上,可以定时对所存储的哈希树对象的序列进行调整以及更新,以提高数据的准确度和完整性。当接收到客户端发送的待检测文本时,可以按照上述任一实施例的方式查找存储装置存储为哈希树对象的序列的敏感词库,并在查找中利用DFA(Deterministic FiniteAutomato,确定有穷自动机)算法,确定查找到的数据是否为符合查找条件的数据:即是否与待检测文本中的词语相同。由此,实现兼顾查找效率和数据完整性的敏感词过滤。其中,DFA算法为一种敏感词过滤算法,通过单次遍历待检测文本,即可检测出文本中所有敏感词,相对而言匹配效率较高。
相应于上述方法实施例,本发明一实施例还提供了数据管理装置。
如图4所示,本发明一实施例的数据管理装置,应用于管理服务器,该装置可以包括:
接收模块401,用于接收数据的查找指令;
读取模块402,用于从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果;
其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤;相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找,因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
可选的,按照所述存储级别从高到低的顺序排列,所述不同存储级别的存储装置包括:所述管理服务器的内存、所述管理服务器管理的键值存储数据库以及所述管理服务器管理的非键值存储数据库;
所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述装置还包括写入模块,用于:
将所述待存储数据写入所述非键值存储数据库和所述键值存储数据库;
在目标业务启动时将所述待存储数据加载至所述管理服务器的内存中;其中,所述目标业务为使用所述已存储数据的业务。
可选的,所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述装置还包括更新模块,用于:
当监测到对所述已存储数据的检查指令时,按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同;
如果不相同,利用所述存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新所述存储级别相邻的存储装置中高级别的存储装置中的已存储数据。
可选的,所述不同存储级别分别对应的存储装置,还用于将所述管理服务器写入的待存储数据的数据标识存储为已存储数据标识;所述待存储数据的数据标识为对所述待存储数据进行散列计算得到的散列值;
所述更新模块,具体用于:
按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据标识是否相同;
如果不相同,判定所述存储级别相邻的存储装置中的已存储数据不相同,否则,判定所述存储级别相邻的存储装置中的已存储数据相同。
可选的,所述装置还包括调整模块,用于:
当接收到对所述已存储数据的调整指令时,按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据;
对所述调整后的数据进行散列计算,得到调整后的数据标识;
利用所述调整后的数据标识,覆盖所述已存储数据标识。
可选的,所述装置还包括写入模块,用于:
将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置;
所述调整模块,具体用于:
利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象;
对所述新的哈希树对象进行散列计算,得到调整后的数据标识。
可选的,所述写入模块,具体用于:
将所述待存储数据转换为哈希树对象,并对所述哈希树对象进行序列化处理,得到哈希树对象的序列;
将所述哈希树对象的序列写入所述不同存储级别分别对应的存储装置;
所述调整模块还用于:
在所述利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象之后,对所述新的哈希树对象进行序列化处理,得到新的哈希树对象的序列;
所述调整模块具体用于:
对所述新的哈希树对象的序列进行散列计算,得到调整后的数据标识。
如图5所示,本发明一实施例的数据管理系统,该系统可以包括:
管理服务器501和不同存储级别分别对应的存储装置502;不同存储级别分别对应的存储装置502具体可以包括:存储级别SL1对应的存储装置502、存储级别SL2对应的存储装置502,……以及存储级别SLn对应的存储装置502,n为存储级别的序号;
所述不同存储级别分别对应的存储装置502,用于存储数据;所述不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少
所述管理服务器501,用于接收数据的查找指令;从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤;相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找,因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
相应于上述实施例,本发明实施例还提供了一种服务器,如图6所示,该服务器可以包括:
处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器通603过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行上述存储器603上所存放的计算机程序时,实现上述实施例中任一数据管理方法的步骤。
可以理解的是,在具体应用中,本实施例中的服务器为管理服务器。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤;相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找,因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例提供的计算机可读存储介质,包含于服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述实施例中任一数据管理方法的步骤。
本发明实施例提供的方案中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;并且,按照存储级别从低到高的顺序,数据查找效率逐级提高,且存储空间大小逐级减少。因此,管理服务器在接收到数据的查找指令时,从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据;进而在读取失败时,返回执行从尚未读取失败过的不同级别的存储装置中,选择级别最高的存储装置,读取符合查找指令的数据的步骤;相当于管理服务器每次查找数据时均为从可以进行数据查找的存储装置中,选择数据查找效率最高的存储装置查找数据。因此,相对而言可以保证数据查找效率。并且,读取失败表明该存储装置可能缺失所查找的数据,此时,在下一存储级别的存储装置中查找数据,相当于在相对而言存储空间更大从而保存有更加完整的数据的存储装置中进行查找,因此,可以保证数据的完整性。可见通过本发明,可以实现兼顾数据的查找效率和完整性的效果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字运维人员线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:DVD(Digital Versatile Disc,数字通用光盘))、或者半导体介质(例如:SSD(Solid StateDisk,固态硬盘))等。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据管理方法,其特征在于,应用于管理服务器,所述方法包括:
接收数据的查找指令;
从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;
当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果;
其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少。
2.根据权利要求1所述的方法,其特征在于,所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
管理服务器对所述不同存储级别分别对应的存储装置中的已存储数据进行更新的方式,包括:
当监测到对所述已存储数据的检查指令时,按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同;
如果不相同,利用所述存储级别相邻的存储装置中低级别的存储装置中的已存储数据,更新所述存储级别相邻的存储装置中高级别的存储装置中的已存储数据。
3.根据权利要求2所述的方法,其特征在于,所述不同存储级别分别对应的存储装置,还用于将所述管理服务器写入的待存储数据的数据标识存储为已存储数据标识;所述待存储数据的数据标识为对所述待存储数据进行散列计算得到的散列值;
所述按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据是否相同,包括:
按照所述存储级别从低到高的顺序,依次判断所述存储级别相邻的存储装置中的已存储数据标识是否相同;
如果不相同,判定所述存储级别相邻的存储装置中的已存储数据不相同,否则,判定所述存储级别相邻的存储装置中的已存储数据相同。
4.根据权利要求3所述的方法,其特征在于,对所述已存储数据进行调整的方式,包括:
当接收到对所述已存储数据的调整指令时,按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据;
对所述调整后的数据进行散列计算,得到调整后的数据标识;
利用所述调整后的数据标识,覆盖所述已存储数据标识。
5.根据权利要求4所述的方法,其特征在于,管理服务器将所述待数据写入所述不同存储级别分别对应的存储装置的方式,包括:
将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置;
所述按照所述调整指令,对所述已存储数据进行调整,得到调整后的数据,包括:
利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象;
所述对所述调整后的数据进行散列计算,得到调整后的数据标识,包括:
对所述新的哈希树对象进行散列计算,得到调整后的数据标识。
6.根据权利要求5所述的方法,其特征在于,所述将所述待存储数据转换为哈希树对象,并将所述哈希树对象写入所述不同存储级别分别对应的存储装置,包括:
将所述待存储数据转换为哈希树对象,并对所述哈希树对象进行序列化处理,得到哈希树对象的序列;
将所述哈希树对象的序列写入所述不同存储级别分别对应的存储装置;
在所述利用所述调整指令对应的数据和已存储的哈希树对象,获取新的哈希树对象之后,所述方法还包括:
对所述新的哈希树对象进行序列化处理,得到新的哈希树对象的序列;
所述对所述新的哈希树对象进行散列计算,得到调整后的数据标识,包括:
对所述新的哈希树对象的序列进行散列计算,得到调整后的数据标识。
7.根据权利要求1所述的方法,其特征在于,按照所述存储级别从高到低的顺序排列,所述不同存储级别的存储装置包括:所述管理服务器的内存、所述管理服务器管理的键值存储数据库以及所述管理服务器管理的非键值存储数据库;
所述不同存储级别分别对应的存储装置,用于将所述管理服务器写入的待存储数据存储为已存储数据;
所述管理服务器将所述待存储数据写入不同存储级别的存储装置的方式,包括:
将所述待存储数据写入所述非键值存储数据库和所述键值存储数据库;
在目标业务启动时将所述待存储数据加载至所述管理服务器的内存中;其中,所述目标业务为使用所述已存储数据的业务。
8.一种数据管理装置,其特征在于,应用于管理服务器,所述装置包括:
接收模块,用于接收数据的查找指令;
读取模块,用于从尚未读取失败过的不同存储级别分别对应的存储装置中,选择存储级别最高的存储装置,读取符合所述查找指令的数据;当读取失败时,返回执行所述从尚未读取失败过的不同存储级别分别对应的存储装置中,选择级别最高的存储装置,读取符合所述查找指令的数据的步骤,否则,将读取成功的数据作为所述查找指令的查找结果;
其中,不同存储级别分别对应的存储装置的存储级别,为按照从各存储装置中查找数据的数据查找效率的差异,以及各存储装置的存储空间大小的差异划分得到的;按照所述存储级别从低到高的顺序,所述数据查找效率逐级提高,且所述存储空间大小逐级减少。
9.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如权利要求1-7任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911118241.5A CN110968267B (zh) | 2019-11-15 | 2019-11-15 | 数据管理方法、装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911118241.5A CN110968267B (zh) | 2019-11-15 | 2019-11-15 | 数据管理方法、装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968267A true CN110968267A (zh) | 2020-04-07 |
CN110968267B CN110968267B (zh) | 2024-05-31 |
Family
ID=70030682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911118241.5A Active CN110968267B (zh) | 2019-11-15 | 2019-11-15 | 数据管理方法、装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968267B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611238A (zh) * | 2020-04-08 | 2020-09-01 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120036317A1 (en) * | 2009-03-31 | 2012-02-09 | Takashi Torii | Storage system and storage access method and program |
CN106302172A (zh) * | 2015-05-18 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 同时支持哈希查找和路由查找的存储、查找方法和装置 |
WO2018099107A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理的方法和装置、计算机存储介质 |
CN109542961A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安财产保险股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-15 CN CN201911118241.5A patent/CN110968267B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120036317A1 (en) * | 2009-03-31 | 2012-02-09 | Takashi Torii | Storage system and storage access method and program |
CN106302172A (zh) * | 2015-05-18 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 同时支持哈希查找和路由查找的存储、查找方法和装置 |
WO2018099107A1 (zh) * | 2016-12-02 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理的方法和装置、计算机存储介质 |
CN109542961A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安财产保险股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611238A (zh) * | 2020-04-08 | 2020-09-01 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
CN111611238B (zh) * | 2020-04-08 | 2021-08-31 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110968267B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230289255A1 (en) | Automatic correlation of dynamic system events within computing devices | |
CN111247518B (zh) | 用于数据库分片的方法和系统 | |
US11429566B2 (en) | Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo | |
US10936559B1 (en) | Strongly-consistent secondary index for a distributed data set | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
CN113010476B (zh) | 元数据查找方法、装置、设备及计算机可读存储介质 | |
CN108140022B (zh) | 数据查询方法和数据库系统 | |
US11080239B2 (en) | Key value store using generation markers | |
CN110968267B (zh) | 数据管理方法、装置、服务器及系统 | |
CN113986921A (zh) | 一种黑名单查询方法、系统、电子设备及存储介质 | |
CN111209304B (zh) | 数据处理方法、装置及系统 | |
CN113849482A (zh) | 一种数据迁移方法、装置及电子设备 | |
US20220365905A1 (en) | Metadata processing method and apparatus, and a computer-readable storage medium | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
CN112685474A (zh) | 应用管理方法、装置、设备和存储介质 | |
CN108733678B (zh) | 一种数据搜索的方法、装置和相关设备 | |
US11537559B2 (en) | Client generated aggregated indices | |
US11948024B2 (en) | Automated dynamic payload testing of OData APIs | |
US11947822B2 (en) | Maintaining a record data structure using page metadata of a bookkeeping page | |
CN114268540B (zh) | 规则引擎的优化方法、装置及设备 | |
WO2024016789A1 (zh) | 日志数据查询方法、装置、设备和介质 | |
CN110213314B (zh) | 确定存储节点的方法、装置、服务器 | |
CN114328521A (zh) | 索引库的更新方法及装置 | |
CN115291794A (zh) | 一种数据处理方法、装置及电子设备 | |
CN117493303A (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 |