本申请涉及数据统计领域,具体而言,涉及一种数据统计管理方法及装置。
背景技术
随着网络技术的广泛应用,网络中的数据流量也越来越多。为了方便网络管理者掌握大量网络数据信息,迫切地希望提供一种直观的、快速的数据统计管理方法。
尤其是在仓库管理领域,管理者需要及时掌握各管辖区域内仓库的具体情况以及外租情况,另外,管理者还需要实时了解客户的跟进、流失以及客户对不同仓库的报价和结单情况,以便管理者针对每个阶段客户的流失率或者增长率进行掌控,从而完善对仓库的管理体制。而现有的数据统计过程大多由工作人员对数据进行手动输入,由于庞大的数据量很容易造成工作人员的视觉疲劳,输入数据错误的情况时常发生,造成管理者无法根据统计数据进行准确的经营管理。
针对相关技术中数据统计准确度低,数据获取速度慢的问题,目前尚未提出有效的解决方案。
技术实现要素:
本申请的主要目的在于提供一种数据统计管理方法及装置,以解决数据统计准确度低,数据获取速度慢的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据统计管理方法。
根据本申请的数据统计管理方法,用于主服务器端,所述方法包括:接收第一用户的第一查询指令;根据所述第一查询指令得到第一数据的预查询结果;判断所述第一数据的预查询结果是否满足预设缓存条件;以及如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器。
进一步的,根据所述第一查询指令得到第一数据的预查询结果包括:根据所述第一查询指令得到第一数据的分类结果;根据所述第一数据的分类结果得到第一数据的存储量;判断所述第一预查询结果是否满足预设缓存条件包括:判断所述第一数据的存储量是否满足预设缓存容量;如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器包括:如果所述第一数据的存储量大于所述预设缓存容量,则将所述第一查询指令发送至从服务器。
进一步的,根据所述第一查询指令得到第一数据的预查询结果包括:根据所述第一查询指令得到第一数据的分类结果;根据所述第一数据的分类结果得到第一数据的缓存速度;判断所述第一预查询结果是否满足预设缓存条件包括:判断所述第一数据的缓存速度是否满足预设缓存速度;如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器包括:如果所述第一数据的缓存速度低于所述预设缓存速度,则将所述第一查询指令发送至从服务器。
为了实现上述目的,根据本申请的另一方面,提供了一种数据统计管理装置。
根据本申请的数据统计管理装置,用于主服务器端,包括:第一接收模块,用于接收第一用户的第一查询指令;处理模块,用于根据所述第一查询指令得到第一数据的预查询结果;判断模块,用于判断所述第一数据的预查询结果是否满足预设缓存条件;指令发送模块,用于如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器。
进一步的,所述处理模块包括:第一处理单元,用于根据所述第一查询指令得到第一数据的分类结果;第二处理单元,用于根据所述第一数据的分类结果得到第一数据的存储量;所述判断模块包括:第一判断单元,用于判断所述第一数据的存储量是否满足预设缓存容量;所述指令发送模块包括:第一指令发送单元,用于如果所述第一数据的存储量大于所述预设缓存容量,则将所述第一查询指令发送至从服务器。
进一步的,所述处理模块包括:第三处理单元,用于根据所述第一查询指令得到第一数据的分类结果;第四处理单元,用于根据所述第一数据的分类结果得到第一数据的缓存速度;所述判断模块包括:第二判断单元,用于判断所述第一数据的缓存速度是否满足预设缓存速度;所述指令发送模块包括:第二指令发送单元,用于如果所述第一数据的缓存速度低于所述预设缓存速度,则将所述第一查询指令发送至从服务器。
为了实现上述目的,根据本申请的另一个方面,提供了一种数据统计管理方法。
根据本申请的数据统计管理方法,用于从服务器端,所述方法包括:接收主服务器的第一查询指令;根据预设数据拆分规则获取所述第一数据;向数据查询终端发送所述第一数据。
进一步的,根据预设数据拆分规则调取所述第一数据包括:根据预设数据拆分规则生成数据分布列表,所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置;根据所述数据分布列表将待缓存的所述第一数据缓存至缓存节点中;向数据查询终端发送所述第一数据包括:从所述缓存节点中获取所述第一数据;将所述第一数据发送给数据查询终端。
为了实现上述目的,根据本申请的另一方面,提供了一种数据统计管理装置。
根据本申请的数据统计管理装置,用于从服务器端,包括:第二接收模块,用于接收主服务器的第一查询指令;分布缓存模块,用于根据预设数据拆分规则获取所述第一数据;发送模块,用于向数据查询终端发送所述第一数据。
进一步的,所述分布缓存模块包括:生成单元,用于根据预设数据拆分规则生成数据分布列表,所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置;缓存单元,用于根据所述数据分布列表将待缓存的所述第一数据缓存至缓存节点中;
所述发送模块包括:获取单元,用于从所述缓存节点中获取所述第一数据;发送单元,用于将所述第一数据发送给数据查询终端。
在本申请实施例中,在主服务器端接收第一用户的第一查询指令,根据第一查询指令得到第一数据的预查询结果,判断第一数据的预查询结果是否满足预设缓存条件,如果第一数据的查询结果不满足预设缓存条件,则将第一查询指令发送至从服务器。在从服务器端接收主服务器端发送的第一查询指令,根据预设数据拆分规则获取第一数据,从服务器端向数据查询终端发送第一数据,达到了根据查询指令对查询数据类型进行判断后,根据数据类型的不同主服务器和从服务器分别向数据查询终端进行查询数据的发送。通过从服务器向数据查询终端发送查询数据时,通过分布式缓存方式对查询数据进行预缓存后再向数据查询终端发送,从而实现了大大提高查询数据速度的技术效果,进而解决了数据统计准确度低,数据获取速度慢的的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明数据统计管理方法用于主服务器端的流程框图;
图2是本发明数据统计管理方法用于主服务器端中第一实施例的流程框图;
图3是本发明数据统计管理方法用于主服务器端中第二实施例的流程框图;
图4是本发明数据统计管理装置用于主服务器端的结构框图;
图5是本发明数据统计管理装置用于主服务器端中第一实施例的结构框图;
图6是本发明数据统计管理装置用于主服务器端中第二实施例的结构框图;
图7是本发明数据统计管理方法用于从服务器端的流程框图;
图8是本发明数据统计管理方法用于从服务器端的第三实施例的流程框图;
图9是本发明数据统计管理装置用于从服务器端的结构框图;
图10是本发明数据统计管理装置用于从服务器端中第三实施例的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,该方法用于主服务器端,包括如下的步骤s102至步骤s108:
步骤s102,接收第一用户的第一查询指令;
优选的,所述第一查询指令为可通过移动终端的操控键盘或者触摸显示屏发送的用户查询数据的查询指令信息。
具体的,所述移动终端可以为智能手机、平板电脑等具有向服务器端发送查询指令信息的电子设备。
步骤s104,根据所述第一查询指令得到第一数据的预查询结果;
优选的,得到所述第一数据的与查询结果的步骤包括但不限于:主服务器将接收到的第一查询指令发送给数据库;数据库根据所述第一查询指令调取对应的数据信息;数据库将调取的数据信息发送给主服务器。具体的,由于移动终端、主服务器和数据库之间的数据接口是已经明确被定义了的,因此查询数据指令信息和调取的数据信息可以在数据终端、主服务器和数据库之间进行传输。
具体的,可通过所述主服务器从所述数据库中调取的数据信息为高机密性信息或者只供公司员工了解的数据信息,如客户统计信息:客户跟进信息、客户流失信息、报价信息和销售信息等,可在所述主服务器端对可调取的数据信息进行设定。
步骤s106,判断所述第一数据的预查询结果是否满足预缓存条件;
具体的,根据主服务器的不同其自身对数据的缓存能力也各不相同,其主服务器中自身的数据处理器性能是影响数据缓存能力的一个重要因素,从而主服务器的数据缓存能力决定了主服务器的预缓存条件,其预缓存条件必须满足数据缓存能力,使主服务器对达到预缓存条件的数据能够顺利进行缓存处理,进而将缓存的数据对外发送。
步骤s108,如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器;如果满足所述预设缓存条件,则向数据终端发送所述第一数据。
根据本申请的实施例,作为实施例中的优选,如图2所示,还包括如下步骤s1021至步骤s1081:
步骤s1021:接收第一用户的第一查询指令;
根据所述第一查询指令得到第一数据的预查询结果包括:
步骤s1041:根据所述第一查询指令得到第一数据的分类结果;
优选的,数据管理人员在进行数据存储过程中,根据数据类型的不同对数据进行分类,数据的具体分类标准和类别可由数据管理人员进行定义,在数据库中不同类型的数据进行分别存储,主服务器根据第一查询指令需要获取的数据类型调取相应的数据类别。
步骤s1042:根据所述第一数据的分类结果得到第一数据的存储量;
优选的,根据调取的数据类别获取对应数据类别中数据的存储量。
判断所述第一预查询结果是否满足预设缓存条件包括:
步骤s1061:判断所述第一数据的存储量是否满足预设缓存容量;
优选的,将第一数据的存储量与主服务器的预缓存容量进行对比,判断所需缓存的第一数据的存储量是否大于主服务器的预缓存容量。如果第一数据的存储量大于主服务器的预缓存容量,则主服务器无法对第一数据进行缓存;如果第一数据的存储量小于或者等于主服务器的预缓存容量,则主服务器能够对第一数据进行缓存。
如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器包括:
步骤s1081:如果所述第一数据的存储量大于所述预设缓存容量,则将所述第一查询指令发送至从服务器。
优选的,如果第一数据的存储量大于主服务器的预缓存容量,则主服务器无法对第一数据进行缓存,主服务器将第一查询指令发送给从服务器进行处理。
根据本申请的另一实施例,作为实施例中的优选,如图3所示,还包括如下步骤s1022至步骤s1082:
步骤s1022:接收第一用户的第一查询指令;
根据所述第一查询指令得到第一数据的预查询结果包括:
步骤s1043:根据所述第一查询指令得到第一数据的分类结果;
优选的,数据管理人员在进行数据存储过程中,根据数据类型的不同对数据进行分类,数据的具体分类标准和类别可由数据管理人员进行定义,在数据库中不同类型的数据进行分别存储,主服务器根据第一查询指令需要获取的数据类型调取相应的数据类别。
步骤s1044:根据所述第一数据的分类结果得到第一数据的缓存速度;
优选的,根据调取的数据类别获取对应数据类别中数据的存储量,在存储量满足主服务器缓存条件的情况下,主服务器度对第一数据进行预缓存,从而根据预缓存时间得到对第一数据的预缓存速度,给预缓存速度可视为第一数据实际状况下的缓存速度。
判断所述第一预查询结果是否满足预设缓存条件包括:
步骤s1062:判断所述第一数据的缓存速度是否满足预设缓存速度;
优选的,数据管理人员在对第一数据进行缓存前可对缓存速度或者缓存时间进行预估,将主服务器的预缓存速度与设定的缓存速度进行对比,或者缓存时间换算成缓存速度与预缓存速度进行对比,判断所需缓存的第一数据的缓存速度是否低于主服务器的预缓存速度。如果第一数据的缓存速度低于主服务器的预缓存速度,则主服务器无法对第一数据进行缓存;如果第一数据的缓存速度高于或者等于主服务器的预缓存速度,则主服务器能够对第一数据进行缓存。
如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器包括:
步骤s1082:如果所述第一数据的缓存速度低于所述预设缓存速度,则将所述第一查询指令发送至从服务器。
优选的,如果第一数据的缓存速度低于主服务器的预缓存速度,则主服务器无法对第一数据进行缓存,主服务器将第一查询指令发送给从服务器进行处理。
如图7所示,该方法用于从服务器端,包括如下的步骤s112至步骤s116:
步骤s112:接收主服务器的第一查询指令;
具体的,在步骤s108的前提下,从服务器接收主服务转发的第一查询指令。
步骤s114:根据预设数据拆分规则获取所述第一数据;
具体的,可通过所述从服务器从所述数据库中调取的数据信息为普通信息或者可供客户了解的数据信息,如仓储统计信息:仓库的数量信息、仓库的位置信息、仓库的面积信息和仓库的租赁价格信息等,可在所述从服务器端对可调取的数据信息进行设定。由于从服务器端所要缓存的数据量远远大于主服务器端所要缓存的数据量,因此,从服务器在对所查询的数据进行缓存时,采用分布式缓存的方式。
具体的,如图8所示,步骤s114又包括步骤s1141至步骤s1142:
步骤s1141:根据预设数据拆分规则生成数据分布列表,所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置;
具体的,从服务器内设置有集群管理器,集群管理器根据数据管理人员的预设操作生成数据拆分规则,所述数据拆分规则用于描述待缓存数据的拆分方式;集群服务器将所述数据拆分规则发送至从服务器,以便从服务器接收到缓存请求时,依据所述数据拆分规则生成数据分布列表,并依据所述数据分布列表将待缓存的数据缓存至缓存节点中;所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置。
在本步骤中从服务器在接收到第一查询指令之后,可以根据集群管理器下发的数据拆分规则生成数据分布列表,其中数据拆分规则用于表示一个待缓存的数据应该按照什么方式进行拆分,数据分布列表则包括拆分后的、数据的各分片,以及各分片在缓存节点中的存储位置。具体的,从服务器可以根据数据拆分规则对待缓存的数据进行分片,并制定各分配在缓存节点中的存储位置,从而得到数据分布列表。例如,假设待缓存的数据的大小为100m,则代理服务器可以将该100m数据平均分成5份,则每一分片的大小就是20m,接着从服务器可以将这5份分配的数据随机指定缓存节点中的存储位置。当然,从服务器在为缓存的数据进行分片时,还可以分成大小不均匀的分片,或者在指定的存储位置时,优先指定缓存使用率最小或者剩余缓存空间最大的缓存节点作为待缓存节点。其中缓存使用率指的是个缓存节点中缓存空间的利用率。
在实际应用中,在部署缓存节点的时候可以将各缓存节点部署为主缓存节点或部署为备份缓存节点。其中主缓存节点可以执行读写操作,而备份缓存节点可以执行读操作,备份缓存节点缓存的数据是主缓存节点的子集。这样,如果数据同时在主缓存节点和备份缓存节点进行缓存,且主缓存节点发生了故障,则可以从备份缓存节点恢复缓存的数据。
步骤s1142:根据所述数据分布列表将待缓存的所述第一数据缓存至缓存节点中。
具体的,从服务器中的缓存节点在缓存数据的时候,因为待缓存的数据的大小不同,占用的物理存储空间可能也不同,所以一般情况下连续的缓存数据可能并不在连续的物理存储位置上。在本申请缓存数据的时候,对于不同的待缓存的数据,如果大于一定大小可以将其进行拆分,拆分成多个大小相同或者不同的数据分片,使得向缓存节点存储数据的时候可以加快缓存速度。例如,在待缓存的数据大于100m时,将其拆分为5个20m的数据分片分别进行存储,具体的集群管理器可以依据大于200m的时候,将其分为大小相同的五个数据分片。
步骤s116:向数据查询终端发送所述第一数据。
具体的,如图8所示,步骤s116又包括步骤s1161至步骤s1162:
步骤s1161:从所述缓存节点中获取所述第一数据;
步骤s1162:将所述第一数据发送给数据查询终端。
具体的,所述从服务器将从缓存节点中获取的数据信息发送给所述移动终端,所述第一用户可通过移动终端查看所要查询的第一数据。
从以上的描述中,可以看出,本发明实现了如下技术效果:
在主服务器端接收第一用户的第一查询指令,根据第一查询指令得到第一数据的预查询结果,判断第一数据的预查询结果是否满足预设缓存条件,如果第一数据的查询结果不满足预设缓存条件,则将第一查询指令发送至从服务器。在从服务器端接收主服务器端发送的第一查询指令,根据预设数据拆分规则获取第一数据,从服务器端向数据查询终端发送第一数据,达到了根据查询指令对查询数据类型进行判断后,根据数据类型的不同主服务器和从服务器分别向数据查询终端进行查询数据的发送。通过从服务器向数据查询终端发送查询数据时,通过分布式缓存方式对查询数据进行预缓存后再向数据查询终端发送,从而实现了大大提高查询数据速度的技术效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,还提供了一种用于实施上述方法的数据统计管理装置,该装置用于主服务器端,如图4所示,包括:
第一接收模块,用于接收第一用户的第一查询指令;优选的,所述第一查询指令为可通过移动终端的操控键盘或者触摸显示屏发送的用户查询数据的查询指令信息。
处理模块,用于根据所述第一查询指令得到第一数据的预查询结果;优选的,得到所述第一数据的与查询结果的步骤包括但不限于:主服务器将接收到的第一查询指令发送给数据库;数据库根据所述第一查询指令调取对应的数据信息;数据库将调取的数据信息发送给主服务器。具体的,由于移动终端、主服务器和数据库之间的数据接口是已经明确被定义了的,因此查询数据指令信息和调取的数据信息可以在数据终端、主服务器和数据库之间进行传输。具体的,可通过所述主服务器从所述数据库中调取的数据信息为高机密性信息或者只供公司员工了解的数据信息,如客户统计信息:客户跟进信息、客户流失信息、报价信息和销售信息等,可在所述主服务器端对可调取的数据信息进行设定。
判断模块,用于判断所述第一数据的预查询结果是否满足预设缓存条件;具体的,根据主服务器的不同其自身对数据的缓存能力也各不相同,其主服务器中自身的数据处理器性能是影响数据缓存能力的一个重要因素,从而主服务器的数据缓存能力决定了主服务器的预缓存条件,其预缓存条件必须满足数据缓存能力,使主服务器对达到预缓存条件的数据能够顺利进行缓存处理,进而将缓存的数据对外发送。
指令发送模块,用于如果不满足所述预设缓存条件,则将所述第一查询指令发送至从服务器;如果满足所述预设缓存条件,则向数据终端发送所述第一数据。
如图5所示,本发明的第一实施例中,
所述处理模块包括:
第一处理单元,用于根据所述第一查询指令得到第一数据的分类结果;优选的,数据管理人员在进行数据存储过程中,根据数据类型的不同对数据进行分类,数据的具体分类标准和类别可由数据管理人员进行定义,在数据库中不同类型的数据进行分别存储,主服务器根据第一查询指令需要获取的数据类型调取相应的数据类别。
第二处理单元,用于根据所述第一数据的分类结果得到第一数据的存储量;优选的,根据调取的数据类别获取对应数据类别中数据的存储量。
所述判断模块包括:
第一判断单元,用于判断所述第一数据的存储量是否满足预设缓存容量;优选的,将第一数据的存储量与主服务器的预缓存容量进行对比,判断所需缓存的第一数据的存储量是否大于主服务器的预缓存容量。如果第一数据的存储量大于主服务器的预缓存容量,则主服务器无法对第一数据进行缓存;如果第一数据的存储量小于或者等于主服务器的预缓存容量,则主服务器能够对第一数据进行缓存。
所述指令发送模块包括:
第一指令发送单元,用于如果所述第一数据的存储量大于所述预设缓存容量,则将所述第一查询指令发送至从服务器。优选的,如果第一数据的存储量大于主服务器的预缓存容量,则主服务器无法对第一数据进行缓存,主服务器将第一查询指令发送给从服务器进行处理。
如图6所示,本发明的第二实施例中,
所述处理模块包括:
第三处理单元,用于根据所述第一查询指令得到第一数据的分类结果;优选的,数据管理人员在进行数据存储过程中,根据数据类型的不同对数据进行分类,数据的具体分类标准和类别可由数据管理人员进行定义,在数据库中不同类型的数据进行分别存储,主服务器根据第一查询指令需要获取的数据类型调取相应的数据类别。
第四处理单元,用于根据所述第一数据的分类结果得到第一数据的缓存速度;优选的,根据调取的数据类别获取对应数据类别中数据的存储量,在存储量满足主服务器缓存条件的情况下,主服务器度对第一数据进行预缓存,从而根据预缓存时间得到对第一数据的预缓存速度,给预缓存速度可视为第一数据实际状况下的缓存速度。
所述判断模块包括:
第二判断单元,用于判断所述第一数据的缓存速度是否满足预设缓存速度;优选的,数据管理人员在对第一数据进行缓存前可对缓存速度或者缓存时间进行预估,将主服务器的预缓存速度与设定的缓存速度进行对比,或者缓存时间换算成缓存速度与预缓存速度进行对比,判断所需缓存的第一数据的缓存速度是否低于主服务器的预缓存速度。如果第一数据的缓存速度低于主服务器的预缓存速度,则主服务器无法对第一数据进行缓存;如果第一数据的缓存速度高于或者等于主服务器的预缓存速度,则主服务器能够对第一数据进行缓存。
所述指令发送模块包括:
第二指令发送单元,用于如果所述第一数据的缓存速度低于所述预设缓存速度,则将所述第一查询指令发送至从服务器。优选的,如果第一数据的缓存速度低于主服务器的预缓存速度,则主服务器无法对第一数据进行缓存,主服务器将第一查询指令发送给从服务器进行处理。
根据本发明实施例,还提供了一种用于实施上述方法的数据统计管理装置,该装置用于从服务器端,如图9所示,包括:
第二接收模块,用于接收主服务器的第一查询指令;具体的,从服务器接收主服务转发的第一查询指令。
分布缓存模块,用于根据预设数据拆分规则获取所述第一数据;具体的,可通过所述从服务器从所述数据库中调取的数据信息为普通信息或者可供客户了解的数据信息,如仓储统计信息:仓库的数量信息、仓库的位置信息、仓库的面积信息和仓库的租赁价格信息等,可在所述从服务器端对可调取的数据信息进行设定。由于从服务器端所要缓存的数据量远远大于主服务器端所要缓存的数据量,因此,从服务器在对所查询的数据进行缓存时,采用分布式缓存的方式。
发送模块,用于向数据查询终端发送所述第一数据。
如图8所示,本发明的第三实施例中,
所述分布缓存模块包括:
生成单元,用于根据预设数据拆分规则生成数据分布列表,所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置;具体的,从服务器内设置有集群管理器,集群管理器根据数据管理人员的预设操作生成数据拆分规则,所述数据拆分规则用于描述待缓存数据的拆分方式;集群服务器将所述数据拆分规则发送至从服务器,以便从服务器接收到缓存请求时,依据所述数据拆分规则生成数据分布列表,并依据所述数据分布列表将待缓存的数据缓存至缓存节点中;所述数据分布列表包括:待缓存数据的各数据分片大小和各数据分片在缓存节点中的存储位置。在本步骤中从服务器在接收到第一查询指令之后,可以根据集群管理器下发的数据拆分规则生成数据分布列表,其中数据拆分规则用于表示一个待缓存的数据应该按照什么方式进行拆分,数据分布列表则包括拆分后的、数据的各分片,以及各分片在缓存节点中的存储位置。具体的,从服务器可以根据数据拆分规则对待缓存的数据进行分片,并制定各分配在缓存节点中的存储位置,从而得到数据分布列表。当然,从服务器在为缓存的数据进行分片时,还可以分成大小不均匀的分片,或者在指定的存储位置时,优先指定缓存使用率最小或者剩余缓存空间最大的缓存节点作为待缓存节点。其中缓存使用率指的是个缓存节点中缓存空间的利用率。在实际应用中,在部署缓存节点的时候可以将各缓存节点部署为主缓存节点或部署为备份缓存节点。其中主缓存节点可以执行读写操作,而备份缓存节点可以执行读操作,备份缓存节点缓存的数据是主缓存节点的子集。这样,如果数据同时在主缓存节点和备份缓存节点进行缓存,且主缓存节点发生了故障,则可以从备份缓存节点恢复缓存的数据。
缓存单元,用于根据所述数据分布列表将待缓存的所述第一数据缓存至缓存节点中;具体的,从服务器中的缓存节点在缓存数据的时候,因为待缓存的数据的大小不同,占用的物理存储空间可能也不同,所以一般情况下连续的缓存数据可能并不在连续的物理存储位置上。在本申请缓存数据的时候,对于不同的待缓存的数据,如果大于一定大小可以将其进行拆分,拆分成多个大小相同或者不同的数据分片,使得向缓存节点存储数据的时候可以加快缓存速度。
所述发送模块包括:
获取单元,用于从所述缓存节点中获取所述第一数据;
发送单元,用于将所述第一数据发送给数据查询终端。具体的,所述从服务器将从缓存节点中获取的数据信息发送给所述移动终端,所述第一用户可通过移动终端查看所要查询的第一数据。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。