冷热温数据服务器系统及其处理方法与流程

文档序号:11830527阅读:554来源:国知局
冷热温数据服务器系统及其处理方法与流程

本发明涉及数据处理技术领域,具体而言,尤其涉及一种冷热温数据服务器系统及其数据处理方法。



背景技术:

随着大数据的快速发展以及移动终端、云计算和物联网的普及,大数据的应用已深入到各个领域。计算机对数据的处理主要依赖于传统的关系(SQL)数据库或新兴的NOSQL数据库技术。而采用BS(如Web系统)或CS(如手机APP系统)架构的软件系统,随着用户数量的增长,如何高效地处理数据是软件设计人员需要面临的问题。

在对数据的研究中发现,其本身存在两个基本属性即使用频率和时效性。数据的使用频率是指数据被访问的次数,即访问频度。举例说明数据的这两个基本属性:如我们可以定义某学生在校期间的数据为线上数据,而其毕业后的数据为线下数据,很显然线上数据的访问频度必然高于线下数据的访问频度。根据数据被访问的频度,可以简单将数据分为热数据和冷数据。通常,经常被访问的热数据往往是比例较小的,大致在10%~15%左右,而剩下的大部分数据是冷数据。

如果无视上述数据的基本属性,而一味采用传统的数据库技术处理数据,则当数据被大量和频繁地被访问时,会造成数据库压力陡增,系统不稳定、响应慢、甚至停机等诸多问题。



技术实现要素:

有鉴于此,本发明提供一种冷热温数据服务器系统及其数据处理方法,旨在提高对数据的处理效率,解决由于过度依赖传统数据库技术所带来的系统压力问题。

本发明的额外方面和优点将部分地在下面的描述中阐述,并且部分地将从描述中变得显然,或者可以通过本发明的实践而习得。

本发明一方面公开了一种冷热温数据服务器系统,包括:服务器和与所述服务器通信连接的至少一个数据库;所述服务器包括:内存储器及处理模块;所述处理模块用于判定数据的属性即冷热程度,若所述数据为热数据,则存储所述数据至所述内存储器中;若所述数据为冷数据,则存储所述数据至所述至少一个数据库中;而对于需要持久保存的数据,则根据需要进行持久化处理。

于一实施例中,所述至少一个数据库包括:第一数据库和第二数据库;所述处理模块还用于判断所述冷数据的数据热度,如果所述数据为温数据,则存储温数据至所述第一数据库中;如果所述数据为极冷数据,则存储所述数据至所述第二数据库中;所述极冷数据的访问频度低于所述温数据的访问频度。

于另一实施例中,所述处理模块还用于接收数据访问请求,所述数据访问的请求中携带数据的冷热属性,系统根据所述属性确定所述待访问数据的存储位置,从确定的存储位置中根据所述数据访问请求对所述待访问数据进行相关操作。

于再一实施例中,所述处理模块还用于接收数据访问请求,并依次在所述内存储器、所述第一数据库和所述第二数据库中查找所述数据访问请求所请求访问的待访问数据,一旦找到所述待访问数据,则停止查找并根据所述数据访问请求的指示对所述待访问数据进行操作。

于再一实施例中,所述内存储器对所述第一类型数据中的可共享数据采用享元模式进行处理。

于再一实施例中,所述服务器为分布式服务器,每个分布式服务器分别通信连接各自相应的所述至少一个数据库,以形成集群式冷热温数据服务器系统。

本发明另一方面公开了一种冷热温数据处理方法,应用于冷热温数据服务器系统,所述冷热温数据服务器系统包括服务器及与所述服务器通信连接的至少一个数据库,包括:判定数据的属性;以及如果所述数据的属性为第一数据属性,则将所述数据存储在所述服务器的内存储器中;如果所述数据的属性为第二数据属性,则将所述数据存储在所述至少一个数据库中;其中所述第一数据属性为热数据或极热数据,所述第二数据属性为冷数据。对于需要持久保存的数据,则做持久化处理。

于一实施例中,所述至少一个数据库包括第一数据库和第二数据库,所述数据处理方式还包括:如果所述数据的属性为冷数据,则需要进一步判断所述数据的冷热属性;以及如果所述数据为温数据,则存储所述温数据至所述第一数据库中;如果所述数据为极冷数据,则存储极冷数据至所述第二数据库中;其中所述极冷数据的访问频度低于所述温数据的访问频度。

于另一实施例中,该方法还包括:接收数据访问请求,所述数据访问请求中携带有待访问数据的冷热属性;系统根据所述属性确定待访问数据的存储位置;及从确定的存储位置中根据所述数据访问请求的指示对所述待访问数据进行操作;其中,所述属性包括:热数据、温数据以及冷数据,热数据的访问频度高于温数据,温数据的访问频度高于冷数据的访问频度。

于再一实施例中,该方法还包括:接收数据访问请求;依次在所述内存储器、所述第一数据库和所述第二数据库中查找所述数据访问请求所请求访问的待访问数据;以及如果找到所述待访问数据,则停止查找并根据所述数据访问请求的指示对所述待访问数据进行操作。对于热数据或者极热数据而言,系统仅需访问内存数据而已。

根据本发明提供的冷热温数据服务器系统及其采用的冷热温数据处理方法,在处理数据时,充分考虑数据属性,对不同属性的数据采取不同的处理方式,摆脱了对传统数据库的依赖,提高了系统的数据处理能力、提升了系统的性能并增强了系统的稳定性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。

图1为根据一示例实施例示出的冷热温数据服务器系统的结构图。

图2为根据另一示例实施例示出的冷热温数据服务器系统的结构图。

图3为根据一示例实施例示出的冷热温数据处理方法的流程图。

图4为根据另一示例实施例示出的冷热温数据处理方法的流程图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。

所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员应意识到,没有所述特定细节中的一个或更多,或者采用其它的方法、组元等,也可以实践本发明的技术方案。在其它情况下,不详细示出或描述公知结构或者操作以避免模糊本发明。

图1为根据一示例实施例示出的冷热温数据服务器系统的结构图。如图1所示,冷热温数据服务器系统10包括:服务器110及至少一个数据库120。

其中,服务器110包括:处理模块1110及内存储器1120。

处理模块1110用于判断数据的属性,该属性包括根据数据的访问频度划分的冷数据及热数据;如果该数据的属性为热数据,即频繁被访问的数据,例如:某学校在校生数据、电厂SIS系统中产生的实时生产数据等,则处理模块1110将该数据存储至服务器110的内存储器1120中;而如果该数据的属性为冷数据,即访问频度低的数据,例如:某学校毕业生数据、电厂SIS系统中一年以前的生产数据等,则处理模块1110将该数据存储在至少一个数据库120中。对于需持久化的数据处理模块1110则做相应的处理。

内存储器1120位于服务器110中,用于存储数据属性为热数据的数据。内存储器1120可以为随机存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only-Memory,EPROM)或电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only-Memory,EEPROM)。

在一些实施例中,内存储器1120对于存储在其中的热数据中的可共享数据采用享元模式(FlyWeight)进行处理。具体地,在大量数据存储时,通常其中有一部分数据是重复的或可共享的;如果仅仅对数据做缓存处理,则这些重复数据会占用令人无法接受的大量内存空间。因此,对于这些重复数据,可以设计一种共享方式,采用共享的方式来存储这些重复数据,从而减少系统中对内存的使用量。相比于各种类型的数据库,内存储器的存储量会受到一定的限制,因此将享元模式应用于内存储器1120中,可以避免重复生成大量可共享的数据,从而显著地提高了存储效率、降低了内存资源的消耗。

至少一个数据库120与服务器110之间通信连接,包括有线连接、无线连接等,本发明不以此为限。至少一个数据120可以为传统的关系数据库或NOSQL数据库,用于存储访问频度低的冷数据。

处理模块1110还用于接收数据访问请求,如果该数据访问请求中携带有待访问数据的属性,则处理模块1110根据该属性确定待访问数据的存储位置。例如如果待访问数据的属性为热数据,则处理模块1110确定该待访问数据存储在内存储器1120中;而如果待访问数据的属性为冷数据,则处理模块1110确定该待访问数据存储在至少一个数据库120中。

而如果该数据访问请求中未携带有待访问数据的冷热属性,则处理模块1110还用于在内存储器1120及至少一个数据库120中查找待访问数据,以确定其存储位置。在一些实施例中,内存储器1120的查找顺序为:内存储器1120->至少一个数据库120。也即处理模块1110先在内存储器1120中查找,如果找不到,则在至少一个数据库120中寻找。

进一步地,处理模块1110在确定了待访问数据的存储位置后,还用于从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。该操作例如包括:对数据的“增”、“删”、“改”、“查”操作。也即,如果该待访问数据存储在内存储器1120中,则在该内存储器1120中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在至少一个数据库120中,则在数据库120中进行对数据的“增”、“删”、“改”、“查”操作。若数据的热度发生变化,则处理模块1110会针对变化进行适当处理。对于要长久保存的数据,处理模块1110需要做相应的持久化处理。

在一些实施例中,服务器110基于轻量的HTTP通信协议设计,通过轻量协议的使用,可以增加服务器110对数据的处理能力。

在一些实施例中,服务器110还可以为分布式服务器(图中未示出),每个分布式服务器分别通信连接其各自对应的至少一个数据库,从而形成集群式冷热温数据服务器系统。搭建集群环境,而利用负载均衡技术将请求分散到集群中,从而降低单个服务器的处理压力,提高数据处理速度。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。

图2为根据另一示例实施例示出的冷热温数据服务器系统的结构图。如图2所示,冷热温数据服务器系统20与图1中所示的冷热温数据服务器系统10的区别在于:冷热温数据服务器系统20中的至少一个数据库220包括:第一数据库2210和第二数据库2220。对于与冷热温数据服务器系统10相同的部分,则不再赘述。

对于冷数据,处理模块2110还用于进一步判断冷数据的冷热程度,如果冷数据的属性为第一属性,则存储该冷数据至第一数据库2210中;而如果冷数据的属性为第二属性,则存储该冷数据至第二数据库2210中。在一些实施例中,冷数据的属性仍是以数据的被访问频率而划分的,第二属性数据的访问频度低于第一属性的访问频度。第二属性数据为极冷数据,例如依据年限划分,某城市的气象数据中的前一年降水数据与十年前的降水数据。

在一些实施例中,第一数据库2210例如为NOSQL数据库,第二数据库2220例如为传统的关系数据库(SQL数据库),但本发明不以此为限。

在数据被访问时,处理模块2110还用于接收数据的访问请求,如果其中携带有待访问数据的冷热属性,则处理模块2110根据该属性,确定待访问数据的存储位置。例如,待访问数据为热数据,则处理模块2110确定其存储位置为内存储器2120;而如果待访问数据为冷数据,且其属性为相对而言较热的温数据,则确定其存储位置为第一数据库2210;若待访问数据为冷数据,且其属性为冷数据,则确定其存储位置为第二数据库2210。

而如果访问请求中未携带有待访问数据的属性,则处理模块2110在内存储器2120、第一数据库2210及第二数据库2220中查找该待访问数据的位置。在一些实施例中,定义该查找顺序为:内存储器2120->第一数据库2210->第二数据库2220。也即处理模块2110先在内存储器2120中查找,如果没有则在第一数据库2210中查找,而如果仍然没有则在第二数据库2220中查找。

进一步地,处理模块2110在确定了待访问数据的存储位置后,还用于从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。该操作例如包括:对数据的“增”、“删”、“改”、“查”操作。也即,如果该待访问数据存储在内存储器1120中,则在该内存储器2120中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在第一数据库2210中,则在第一数据库2210中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在第二数据库2220中,则在第二数据库2220中进行对数据的“增”、“删”、“改”、“查”操作。对需要进行长久保存的数据,处理模块2110会做相应的“持久化”操作。

本发明提供的冷热温数据服务器系统,在处理数据时,充分考虑数据属性,对不同属性的数据采取不同的处理方式,摆脱了对传统数据库的依赖,提高了系统的数据处理能力、提升了系统的性能并增强了系统的稳定性。

需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

下述为本发明方法实施例,可以应用于本发明系统实施例中。对于本发明方法实施例中未披露的细节,请参照本发明系统实施例。

图3为根据一示例实施例示出的冷热温数据处理方法的流程图。如图3所示,该方法30包括:

步骤S310,判断数据的属性。

例如,处理模块1110判断数据的属性,该属性包括根据数据的访问频度划分的冷数据及热数据。

步骤S320,根据数据的属性,将数据存储在相应的位置。

例如,如果该数据的属性为热数据,即经常被访问的数据,例如:某学校在校生数据、电厂SIS系统中产生的实时生产数据等,则处理模块1110将该数据存储至服务器110的内存储器1120中;而如果该数据的属性为冷数据,即访问频度低的数据,例如:某学校毕业生数据、电厂SIS系统中一年以前的生产数据等,则处理模块1110将该数据存储在至少一个数据库120中。对于需持久化保存的数据,则做相应处理。

在一些实施例中,采用享元模式存储热数据中的共享数据。具体地,在大量数据存储时,通常其中有一部分数据是重复的,这些重复数据会占用令人无法接受的内存空间。因此,对于这些重复数据,可以设计一种共享方式,采用共享的方式来存储这些重复数据,从而减少内存的使用量。相比于各种类型的数据库,内存储器的存储量会受到一定的限制,因此将享元模式存储方式应用于内存储器1120中,可以避免重复数据占用大量内存,显著地提高了存储效率、降低了内存资源的消耗。

步骤S330,接收数据访问请求,如果该数据访问请求中携带有待访问数据的属性,则根据该数据属性确定待访问数据的存储位置。

例如,如果待访问数据的属性为热数据,则处理模块1110确定该待访问数据存储在内存储器1120中;而如果待访问数据的属性为冷数据,则处理模块1110确定该待访问数据存储在至少一个数据库120中。

步骤S340,如果该数据访问请求中未携带有待访问数据的属性,则在可能的存储位置中依次寻找该待访问数据。

例如,处理模块1110在内存储器1120及至少一个数据库120中查找待访问数据,以确定其存储位置。在一些实施例中,内存储器1120的查找顺序为:内存储器1120->至少一个数据库120。也即处理模块1110先在内存储器1120中查找,如果找不到,则在至少一个数据库120中寻找。

步骤S350,在确定了待访问数据的存储位置后,从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。

例如,处理模块1110在确定了待访问数据的存储位置后,还用于从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。该操作例如包括:对数据的“增”、“删”、“改”、“查”操作。也即,如果该待访问数据存储在内存储器1120中,则在该内存储器1120中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在至少一个数据库120中,则在数据库120中进行对数据的“增”、“删”、“改”、“查”操作。而对于需要进行长久保存的数据,则做相应的“持久化”处理。

图4为根据另一示例实施例示出的冷热温数据处理方法的流程图。

步骤S410,判断数据的属性。

例如,处理模块2110判断数据的属性,该属性包括根据数据的访问频度划分的冷数据及热数据。

步骤S420,根据数据的属性或者数据的属性和子属性,将数据存储在相应的位置。

例如,如果该数据的属性为热数据,即经常被访问的数据,例如:某学校在校生数据、电厂SIS系统中产生的实时生产数据等,则处理模块2110将该数据存储至服务器210的内存储器2120中;而如果该数据的属性为冷数据,即访问频度低的数据,例如:某学校毕业生数据、电厂SIS系统中一年以前的生产数据等,则处理模块2110将该数据存储在至少一个数据库220中。

在一些实施例中,采用享元模式存储热数据中的共享数据。具体地,在大量数据存储时,通常其中有一部分数据是重复的,这些重复数据占用了令人无法接受的大量内存。因此,对于这些重复数据,可以设计一种共享方式,采用共享的方式来存储这些重复数据,从而减少内存的使用量。相比于各种类型的数据库,内存储器的存储量会受到一定的限制,因此将享元模式应用于内存储器2120中,可以避免重复数据占用大量内存空间,显著地提高了存储效率、降低了内存资源的消耗。

进一步地,对于冷数据,处理模块2110还用于进一步判断冷数据的冷热属性,如果冷数据的属性为较热数据即温数据,则存储该数据至第一数据库2210中;而如果冷数据的属性为较冷数据,则存储该冷数据至第二数据库2210中。在一些实施例中,冷数据的冷热属性仍是以数据的被访问频率而划分的,极冷数据的访问频度低于温数据的访问频度。

在一些实施例中,第一数据库2210例如为NOSQL数据库,第二数据库2220例如为传统的关系数据库(SQL数据库),但本发明不以此为限。

步骤S430,接收数据访问请求,如果该数据访问请求中携带有待访问数据的冷热属性,则根据该数据的属性确定待访问数据的存储位置。

例如,处理模块2110根据该属性,确定待访问数据的存储位置。例如,待访问数据为热数据,则处理模块2110确定其存储位置为内存储器2120;而如果待访问数据为冷数据,且其属性为温数据,则确定其存储位置为第一数据库2210;若待访问数据为冷数据,且其属性极冷数据,则确定其存储位置为第二数据库2210。

步骤S440,而如果该数据访问请求中未携带有待访问数据的冷热属性,则在可能的存储位置中依次寻找该待访问数据。

例如,处理模块2110在内存储器2120、第一数据库2210及第二数据库2220中查找该待访问数据的位置。在一些实施例中,定义该查找顺序为:内存储器2120->第一数据库2210->第二数据库2220。也即处理模块2110先在内存储器2120中查找,如果没有则在第一数据库2210中查找,而如果仍然没有则在第二数据库2220中查找。

步骤S450,在确定了待访问数据的存储位置后,从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。

例如,处理模块2110在确定了待访问数据的存储位置后,还用于从该确定的存储位置中根据数据访问请求中的指示,对该待访问数据进行操作。该操作例如包括:对数据的“增”、“删”、“改”、“查”操作。也即,如果该待访问数据存储在内存储器2120中,则在该内存储器2120中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在第一数据库2210中,则在第一数据库2210中进行对数据的“增”、“删”、“改”、“查”操作;而如果该待访问数据存储在第二数据库2220中,则在第二数据库2220中进行对数据的“增”、“删”、“改”、“查”操作。对于要长久保存的数据,处理模块2110需要进行“持久化”处理。

本发明提供的冷热温数据处理方法,在处理数据时,充分考虑数据属性,对不同属性的数据采取不同的处理方式,摆脱了对传统数据库的依赖,提高了系统的数据处理能力、提升了系统的性能并增强了系统的稳定性。

本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。

以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1