CN107391257A - 业务所需内存容量的预估方法、装置及服务器 - Google Patents

业务所需内存容量的预估方法、装置及服务器 Download PDF

Info

Publication number
CN107391257A
CN107391257A CN201710555958.0A CN201710555958A CN107391257A CN 107391257 A CN107391257 A CN 107391257A CN 201710555958 A CN201710555958 A CN 201710555958A CN 107391257 A CN107391257 A CN 107391257A
Authority
CN
China
Prior art keywords
data
sample cases
structures
memory size
business
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
Application number
CN201710555958.0A
Other languages
English (en)
Other versions
CN107391257B (zh
Inventor
张恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710555958.0A priority Critical patent/CN107391257B/zh
Publication of CN107391257A publication Critical patent/CN107391257A/zh
Application granted granted Critical
Publication of CN107391257B publication Critical patent/CN107391257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种业务所需内存容量的预估方法、装置、服务器及计算机存储介质。其中,所述方法包括:获取业务对应的样本案例,并将获取的样本案例载入至内存;获取样本案例对应的参数信息;基于获取的样本案例和参数信息计算业务所需的内存容量。基于本发明实施例的方案,可以准确地计算出业务所需的内存容量,从而能够使得用户能够按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。

Description

业务所需内存容量的预估方法、装置及服务器
技术领域
本发明涉及计算机技术领域,具体涉及一种业务所需内存容量的预估方法、装置、服务器及计算机存储介质。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的数据处理***,随着互联网的发展,数据库的应用更加广泛,其性能要求也越来越高。目前数据库***必须具备较高的事务处理速度和应用可靠性。
对于Redis这类基于内存的数据库,需要用户根据业务需求申请相对应的内存容量,而一般情况下,用户并不考虑业务实际需要多大的内存容量,认为内存容量越大越好,因而总是申请最大的内存容量,而很多用户可能根据不需要那么大的内存容量,从而导致资源浪费;然而,很多时候是用户不知道业务需要多大的内存容量,为了保证有充足的内存可供使用,而申请最大的内存容量。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的业务所需内存容量的预估方法、业务所需内存容量的预估装置、服务器及计算机存储介质。
根据本发明的一个方面,提供了一种业务所需内存容量的预估方法,包括:
获取业务对应的样本案例,并将获取的样本案例载入至内存;
获取样本案例对应的参数信息;
基于获取的样本案例和参数信息计算业务所需的内存容量。
根据本发明的另一方面,提供了一种业务所需内存容量的预估装置,包括:
样本案例获取模块,适于获取业务对应的样本案例;
载入模块,适于将获取的样本案例载入至内存;
参数信息获取模块,适于获取样本案例对应的参数信息;
计算模块,适于基于获取的样本案例和参数信息计算业务所需的内存容量。
根据本发明的又一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述业务所需内存容量的预估方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述业务所需内存容量的预估方法对应的操作。
根据本发明提供的方案,通过获取业务对应的样本案例,并将获取的样本案例载入至内存,获取样本案例对应的参数信息,基于获取的样本案例和参数信息计算业务所需的内存容量。基于本发明实施例的方案,可以准确地计算出业务所需的内存容量,从而能够使得用户能够按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种业务所需内存容量的预估方法的流程示意图;
图2示出了根据本发明实施例二的一种业务所需内存容量的预估方法的流程示意图;
图3示出了根据本发明实施例三的一种业务所需内存容量的预估装置的结构示意图;
图4示出了根据本发明实施例四的一种业务所需内存容量的预估装置的结构示意图;
图5示出了根据本发明实施例六的一种服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明实施例一的一种业务所需内存容量的预估方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S100,获取业务对应的样本案例,并将获取的样本案例载入至内存。
具体地,可以采用以下方法来获取业务对应的样本案例:
方法一:由用户提供对应的样本案例,例如,可以向用户提供一界面,该界面提供样本案例上传功能,用户点击上传按钮之后,弹出样本案例上传对话框,用户选择需要上传的样本案例,点击对话框中的上传按钮,完成样本案例上传,如此,便可以获取到业务对应的样本案例,然后将获取的样本案例载入至内存,以分析业务所需内存容量。
方法二:可以向用户提供一界面,该界面提供有样本案例选取功能,针对不同的业务,可以提供不同的用于分析内存容量的样本案例,例如,提供一个或多个默认的样本案例,任何用户都可以根据自身需要从中选择一个或多个样本案例,例如,针对电子邮件业务,用户选择一个样本案例来用作分析内存容量的样本案例,另外,还可以提供样本案例编辑功能,用户可以根据需要对缺省值进行调整,从而获取到业务对应的样本案例,然后将获取的样本案例载入至内存,以分析业务所需内存容量。
步骤S101,获取样本案例对应的参数信息。
具体地,针对于获取业务对应的样本案例所采用的方法,下面介绍获取样本案例对应的参数信息所采用的方法:
方法一:界面还提供有参数信息的输入框,用户可以根据自身业务需要在输入框中填写相应的参数信息,如此,便可以获取到样本案例对应的参数信息;当然还可以采用其他方法,例如,可以预先设置多种参数信息,并在界面上显示,用户可以根据自身业务需要选择合适的参数信息。
方法二:预先设置样本案例和参数信息,待用户选择了样本案例后,该样本案例对应的参数信息也就相应的显示在界面上,若用户认为样本案例和参数信息可以用于内存容量的预估,用户可以提供内存容量的预估指令,根据该指令来预估内存容量。若用户认为,默认的参数信息与其业务不相符,可以调整相应的参数信息,待参数信息调整结束后,用户可以提供内存容量的预估指令,根据该指令来预估内存容量。
步骤S102,基于获取的样本案例和参数信息计算业务所需的内存容量。
其中,业务所需的内存容量指与参数信息相对应的样本案例所占用的内存的大小,即,需要分配多大的内存才可以存储与参数信息相对应的样本案例。在将获取的样本案例载入至内存中后,可以基于获取的样本案例和参数信息来计算业务所需的内存容量。
根据本发明上述实施例提供的方法,通过获取业务对应的样本案例,并将获取的样本案例载入至内存,获取样本案例对应的参数信息,基于获取的样本案例和参数信息计算业务所需的内存容量。基于本发明实施例的方案,可以准确地计算出业务所需的内存容量,从而能够使得用户能够按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。
图2示出了根据本发明实施例二的一种业务所需内存容量的预估方法的流程示意图。如图2所示,该方法包括以下步骤:
步骤S200,获取业务对应的样本案例,并将获取的样本案例载入至内存。
步骤S201,获取样本案例对应的参数信息。
其中,参数信息可以包括:数据类型和该数据类型对应的样本案例的案例数量,具体地,数据类型包括以下一种或多种组合:哈希类型(Hash类型)、有序集合类型(Zset类型)、列表类型(List类型)、集合类型(Set类型)和/或字符串类型(String类型)。
样本案例中数据以数据键值(K-V)对方式存储,举例说明,用户提供String类型的样本案例:Key为dbatest,Value为aaaaaaaaaaaaaaaaaaaaaaaaaaaaa,该类型的样本案例的数量为5000个。
图2所示实施例中步骤S200-步骤S201与图1所示实施例中步骤S100-步骤S101类似,这里不再赘述。
步骤S202,对样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体。
在获取到样本案例对应的数据类型后,可以依据其数据类型确定该样本案例中数据值的数据结构体,其中,哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
下面列举了五种数据类型,确定数据值的数据结构体的方法:
(1)若该数据的数据类型为Hash类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果,若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
我们知道,数据键对应的数据值可以包含一个或多个元素,且元素的数据长度可能相同,也可能不同,Zipmap结构体限定了数据键对应的数据值所包含的元素数量和每一元素的数据长度的上限,具体地,Zipmap结构体限定了数据键对应的数据值所包含的元素数量需小于512,且每一元素的数据长度均小于64字节,因此,可以依据Zipmap结构体和Hashtable结构体的特性来设定第一预设阈值和第二预设阈值,例如,可以将第一预设阈值设定为512,将第二预设阈值设定为64字节。
若比较结果具体为元素数量小于512且每一元素的数据长度均小于64字节,则确定该数据键对应的数据值的数据结构体为Zipmap结构体。
若比较结果具体为元素数量大于或等于512且每一元素的数据长度大于或等于64字节,或者,元素数量大于或等于512且每一元素的数据长度小于64字节,或者,元素数量小于512且每一元素的数据长度大于或等于64字节,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
(2)若该数据的数据类型为Zset类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果,若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
其中,Ziplist结构体限定了数据键对应的数据值所包含的元素数量和每一元素的数据长度的上限,具体地,Ziplist结构体限定了数据键对应的数据值所包含的元素数量需小于128,且每一元素的数据长度均小于64字节,因此,可以依据Ziplist结构体和Skiplist结构体的特性来设定第三预设阈值和第四预设阈值,例如,可以将第三预设阈值设定为128,将第四预设阈值设定为64字节。
若比较结果具体为元素数量小于128且数据长度小于64字节,则确定该数据键对应的数据值的数据结构体为Ziplist结构体。
若比较结果具体为元素数量大于或等于128且每一元素的数据长度大于或等于64字节,或者,元素数量大于或等于128且每一元素的数据长度小于64字节,或者,元素数量小于128且每一元素的数据长度大于或等于64字节,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
(3)若该数据的数据类型为List类型,则将各个数据键对应的数据值所包含的元素数量与第五预设阈值进行比较,以及将每一元素的数据长度与第六预设阈值进行比较,得到比较结果,若比较结果具体为元素数量小于第五预设阈值且每一元素的数据长度均小于第六预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
其中,Ziplist结构体限定了数据键对应的数据值所包含的元素数量和每一元素的数据长度的上限,具体地,Ziplist结构体限定了数据键对应的数据值所包含的元素数量需小于512,且每一元素的数据长度均小于64字节,因此,可以依据Ziplist结构体和Linkedlist结构体的特性来设定第五预设阈值和第六预设阈值,例如,可以将第五预设阈值设定为512,将第六预设阈值设定为64字节。
若比较结果具体为元素数量小于512且每一元素的数据长度小于64字节,则确定该数据键对应的数据值的数据结构体为Ziplist结构体。
若比较结果具体为元素数量大于或等于512且每一元素的数据长度大于或等于64字节,或者,元素数量大于或等于512且每一元素的数据长度小于64字节,或者,元素数量小于512且每一元素的数据长度大于或等于64字节,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
(4)若该数据的数据类型为Set类型,则将各个数据键对应的数据值所包含的元素数量与第七预设阈值进行比较,得到比较结果,若比较结果具体为元素数量小于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Intset结构体;若比较结果具体为元素数量大于或等于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
其中,Intset结构体限定了数据键对应的数据值所包含的元素数量的上限,具体地,Intset结构体限定了数据键对应的数据值所包含的元素数量需小于512,因此,可以依据Intset结构体和Hashtable结构体的特性来设定第七预设阈值,例如,可以将第七预设阈值设定为512。
若比较结果具体为元素数量小于512,则确定该数据键对应的数据值的数据结构体为Intset结构体。
若比较结果具体为元素数量大于或等于512,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
(5)若该数据的数据类型为String类型,则判断数据键对应的数据值所包含的每一元素是否符合预设范围;若是,则确定该数据键对应的数据值的数据结构体为Int结构体;若否,则确定该数据键对应的数据值的数据结构体为Raw结构体。
举例说明,数据键对应的数据值所包含的元素可以为1、2、3、4、5,也可以为a、b、c、d、e,数据键对应的数据值所包含的每一元素均符合预设范围,例如,0~9999,则可以确定该数据键对应的数据值的数据结构体为Int结构体,若数据键对应的数据值所包含的元素大于9999,或者为a、b、c、d、e这种字符串类型,则可以确定该数据键对应的数据值的数据结构体为Raw结构体。
步骤S203,根据数据结构体确定内存容量计算算法。
步骤S204,基于内存容量计算算法、样本案例和参数信息计算业务在Redis数据库中所需的内存容量。
在确定了数据键对应的数据值的数据结构体后,该数据结构体对应的内存容量计算算法即可确定,因此,基于内存容量计算算法、样本案例和参数信息来计算业务在Redis数据库中所需的内存容量,其中,数据所需内存容量主要包括:数据键所需内存容量、数据键对应的数据值所需内存容量以及数据结构所需内存容量。
举例说明,以数据类型为String类型为例,其中,Key为dbatest,Value为aaaaaaaaaaaaaaaaaaaaaaaaaaaaa,则该数据所需内存容量=24字节(dictEntry结构)+16字节(redisObject结构)+16字节(Key大小)+32字节(Value大小),其中,dictEntry结构负责保存具体的键值对;redisObject结构用作Value对象,如此便可以计算得到一个样本案例所需的内存容量,样本案例所需的内存容量与案例数量的乘积即为业务所需的内存容量。
步骤S205,根据内存容量向用户提供对应的内存服务。
在计算得到业务所需的内存容量后,可以根据计算得到的内存容量向用户提供对应的内存服务,具体地,可以查找大于或等于内存容量的至少一个预设内存容量;将至少一个预设内存容量中最小的预设内存容量对应的内存服务提供给用户。
一般情况下,会预先设置多个内存容量,例如,设置内存容量分别为1G、5G、10G、100G,基于样本案例和参数信息计算得到业务所需的内存容量为3.5G,这样,可以查找到大于或等于业务所需的内存容量为3.5G的预设内存容量为:5G、10G、100G,而为了节省内存资源,只是将预设内存容量为5G时,所对应的内存服务提供给用户。
根据本发明上述实施例提供的方法,通过获取业务对应的样本案例,并将获取的样本案例载入至内存,获取样本案例对应的参数信息,对样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体,根据数据结构体确定内存容量计算算法,基于内存容量计算算法、样本案例和参数信息计算业务在Redis数据库中所需的内存容量。基于本发明实施例的方案,不同类型的数据,存储时所需要的内存容量不同,通过确定数据的数据结构体,可以准确地计算出业务所需的内存容量,提升了计算的准确性,从而能够指导用户按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。
图3示出了根据本发明实施例三的一种业务所需内存容量的预估装置的结构示意图。如图3所示,该装置包括:样本案例获取模块300、载入模块310、参数信息获取模块320和计算模块330。
样本案例获取模块300,适于获取业务对应的样本案例。
载入模块310,适于将获取的样本案例载入至内存。
参数信息获取模块320,适于获取样本案例对应的参数信息。
计算模块330,适于基于获取的样本案例和参数信息计算业务所需的内存容量。
根据本发明上述实施例提供的装置,通过获取业务对应的样本案例,并将获取的样本案例载入至内存,获取样本案例对应的参数信息,基于获取的样本案例和参数信息计算业务所需的内存容量。基于本发明实施例的方案,可以准确地计算出业务所需的内存容量,从而能够使得用户能够按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。
图4示出了根据本发明实施例四的一种业务所需内存容量的预估装置的结构示意图。如图4所示,该装置包括:样本案例获取模块400、载入模块410、参数信息获取模块420、计算模块430和内存服务模块440。
样本案例获取模块400,适于获取业务对应的样本案例。
载入模块410,适于将获取的样本案例载入至内存。
参数信息获取模块420,适于获取样本案例对应的参数信息。
其中,参数信息包括:数据类型和该数据类型对应的样本案例的案例数量,数据类型包括以下一种或多种组合:哈希类型、有序集合类型、列表类型、集合类型和/或字符串类型。
样本案例中数据以数据键值对方式存储;
计算模块430进一步包括:数据分析单元431,适于对样本案例进行数据分析,确定该样本案例中数据值的数据结构体;
其中,哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体;集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
下面将详细介绍数据分析单元是如何确定数据的数据结构体:
优选地,数据分析单元431进一步适于:若该数据的数据类型为哈希类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
优选地,数据分析单元431进一步适于:若该数据的数据类型为有序集合类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
优选地,数据分析单元431进一步适于:若该数据的数据类型为列表类型,则将各个数据键对应的数据值所包含的元素数量与第五预设阈值进行比较,以及将每一元素的数据长度与第六预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第五预设阈值且每一元素的数据长度均小于第六预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
优选地,数据分析单元431进一步适于:若该数据的数据类型为集合类型,则将各个数据键对应的数据值所包含的元素数量与第七预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Intset结构体;
若比较结果具体为元素数量大于或等于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
优选地,数据分析单元431进一步适于:若该数据的数据类型为字符串类型,则判断数据键对应的数据值所包含的每一元素是否符合预设范围;
若是,则确定该数据键对应的数据值的数据结构体为Int结构体;
若否,则确定该数据键对应的数据值的数据结构体为Raw结构体。
确定单元432,适于根据数据结构体确定内存容量计算算法;
计算单元433,适于基于内存容量计算算法、样本案例和参数信息计算业务所需的内存容量。
在本发明一种优选实施例中,计算模块进一步适于:基于获取的样本案例和参数信息计算业务在Redis数据库中所需的内存容量。
内存服务模块440,适于根据内存容量向用户提供对应的内存服务。
其中,内存服务模块440进一步包括:查找单元441,适于查找大于或等于内存容量的至少一个预设内存容量;
内存服务单元442,适于将至少一个预设内存容量中最小的预设内存容量对应的内存服务提供给用户。
根据本发明上述实施例提供的装置,通过获取业务对应的样本案例,并将获取的样本案例载入至内存,获取样本案例对应的参数信息,对样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体,根据数据结构体确定内存容量计算算法,基于内存容量计算算法、样本案例和参数信息计算业务在Redis数据库中所需的内存容量。基于本发明实施例的方案,不同类型的数据,存储时所需要的内存容量不同,通过确定数据的数据结构体,可以准确地计算出业务所需的内存容量,提升了计算的准确性,从而能够指导用户按需来申请内存容量,克服了现有技术方案无法提前预估业务所需的内存容量,而导致用户每次都申请最大的内存,造成资源浪费的缺陷,节省了服务器资源。
实施例五
本申请实施例五提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的业务所需内存容量的预估方法。
实施例六
图5示出了根据本发明实施例六的一种服务器的结构示意图,本发明具体实施例并不对服务器的具体实现做限定。
如图5所示,该服务器可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述业务所需内存容量的预估方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:获取业务对应的样本案例,并将获取的样本案例载入至内存;获取样本案例对应的参数信息;基于获取的样本案例和参数信息计算业务所需的内存容量。
在一种可选的实施方式中,样本案例中数据以数据键值对方式存储;
程序510还用于使得处理器502在基于获取的样本案例和参数信息计算业务所需的内存容量时:对样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体;
根据数据结构体确定内存容量计算算法;
基于内存容量计算算法、样本案例和参数信息计算业务所需的内存容量。
在一种可选的实施方式中,参数信息包括:数据类型和该数据类型对应的样本案例的案例数量。
在一种可选的实施方式中,数据类型包括以下一种或多种组合:哈希类型、有序集合类型、列表类型、集合类型和/或字符串类型。
在一种可选的实施方式中,哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;
有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;
列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体
集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;
字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
在一种可选的实施方式中,程序510还用于使得处理器502在对样本案例进行数据分析,确定该样本案例中数据的数据结构体时:
若该数据的数据类型为哈希类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
在一种可选的实施方式中,程序510还用于使得处理器502在对样本案例进行数据分析,确定该样本案例中数据的数据结构体时:
若该数据的数据类型为有序集合类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
在一种可选的实施方式中,程序510还用于使得处理器502在对样本案例进行数据分析,确定该样本案例中数据的数据结构体时:
若该数据的数据类型为列表类型,则将各个数据键对应的数据值所包含的元素数量与第五预设阈值进行比较,以及将每一元素的数据长度与第六预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第五预设阈值且每一元素的数据长度均小于第六预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
在一种可选的实施方式中,程序510还用于使得处理器502在对样本案例进行数据分析,确定该样本案例中数据的数据结构体时:
若该数据的数据类型为集合类型,则将各个数据键对应的数据值所包含的元素数量与第七预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Intset结构体;
若比较结果具体为元素数量大于或等于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
在一种可选的实施方式中,程序510还用于使得处理器502在对样本案例进行数据分析,确定该样本案例中数据的数据结构体时:
若该数据的数据类型为字符串类型,则判断数据键对应的数据值所包含的每一元素是否符合预设范围;
若是,则确定该数据键对应的数据值的数据结构体为Int结构体;
若否,则确定该数据键对应的数据值的数据结构体为Raw结构体。
在一种可选的实施方式中,程序510还用于使得处理器502执行以下操作:根据内存容量向用户提供对应的内存服务。
在一种可选的实施方式中,程序510还用于使得处理器502在根据内存容量向用户提供对应的内存服务时:
查找大于或等于内存容量的至少一个预设内存容量;
将至少一个预设内存容量中最小的预设内存容量对应的内存服务提供给用户。
在一种可选的实施方式中,程序510还用于使得处理器502在基于获取的样本案例和参数信息计算业务所需的内存容量时:
基于获取的样本案例和参数信息计算业务在Redis数据库中所需的内存容量。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的业务所需内存容量的预估设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1.一种业务所需内存容量的预估方法,包括:
获取业务对应的样本案例,并将获取的样本案例载入至内存;
获取样本案例对应的参数信息;
基于获取的样本案例和参数信息计算业务所需的内存容量。
A2.根据A1所述的方法,其中,所述样本案例中数据以数据键值对方式存储;
所述基于获取的样本案例和参数信息计算业务所需的内存容量进一步包括:
对所述样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体;
根据所述数据结构体确定内存容量计算算法;
基于所述内存容量计算算法、所述样本案例和所述参数信息计算业务所需的内存容量。
A3.根据A2所述的方法,其中,参数信息包括:数据类型和该数据类型对应的样本案例的案例数量。
A4.根据A3所述的方法,其中,所述数据类型包括以下一种或多种组合:哈希类型、有序集合类型、列表类型、集合类型和/或字符串类型。
A5.根据A4所述的方法,其中,所述哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;
所述有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;
所述列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体;
所述集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;
所述字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
A6.根据A2-A5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为哈希类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
A7.根据A2-A5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为有序集合类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
A8.根据A2-A5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为列表类型,则将各个数据键对应的数据值所包含的元素数量与第五预设阈值进行比较,以及将每一元素的数据长度与第六预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第五预设阈值且每一元素的数据长度均小于第六预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
A9.根据A2-A5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为集合类型,则将各个数据键对应的数据值所包含的元素数量与第七预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Intset结构体;
若比较结果具体为元素数量大于或等于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
A10.根据A2-A5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为字符串类型,则判断数据键对应的数据值所包含的每一元素是否符合预设范围;
若是,则确定该数据键对应的数据值的数据结构体为Int结构体;
若否,则确定该数据键对应的数据值的数据结构体为Raw结构体。
A11.根据A1-A10任一项所述的方法,还包括:
根据所述内存容量向用户提供对应的内存服务。
A12.根据A11所述的方法,其中,所述根据内存容量向用户提供对应的内存服务进一步包括:
查找大于或等于所述内存容量的至少一个预设内存容量;
将所述至少一个预设内存容量中最小的预设内存容量对应的内存服务提供给用户。
A13.根据A1-A12任一项所述的方法,其中,所述基于获取的样本案例和参数信息计算业务所需的内存容量进一步包括:
基于获取的样本案例和参数信息计算业务在Redis数据库中所需的内存容量。
B14.一种业务所需内存容量的预估装置,包括:
样本案例获取模块,适于获取业务对应的样本案例;
载入模块,适于将获取的样本案例载入至内存;
参数信息获取模块,适于获取样本案例对应的参数信息;
计算模块,适于基于获取的样本案例和参数信息计算业务所需的内存容量。
B15.根据B14所述的装置,其中,所述样本案例中数据以数据键值对方式存储;
所述计算模块进一步包括:数据分析单元,适于对所述样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体;
确定单元,适于根据所述数据结构体确定内存容量计算算法;
计算单元,适于基于所述内存容量计算算法、所述样本案例和所述参数信息计算业务所需的内存容量。
B16.根据B15所述的装置,其中,参数信息包括:数据类型和该数据类型对应的样本案例的案例数量。
B17.根据B16所述的装置,其中,所述数据类型包括以下一种或多种组合:哈希类型、有序集合类型、列表类型、集合类型和/或字符串类型。
B18.根据B17所述的装置,其中,所述哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;
所述有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;
所述列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体;
所述集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;
所述字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
B19.根据B15-B18任一项所述的装置,其中,所述数据分析单元进一步适于:若该数据的数据类型为哈希类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
B20.根据B15-B18任一项所述的装置,其中,所述数据分析单元进一步适于:若该数据的数据类型为有序集合类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
B21.根据B15-B18任一项所述的装置,其中,所述数据分析单元进一步适于:若该数据的数据类型为列表类型,则将各个数据键对应的数据值所包含的元素数量与第五预设阈值进行比较,以及将每一元素的数据长度与第六预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第五预设阈值且每一元素的数据长度均小于第六预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Linkedlist结构体。
B22.根据B15-B18任一项所述的装置,其中,所述数据分析单元进一步适于:若该数据的数据类型为集合类型,则将各个数据键对应的数据值所包含的元素数量与第七预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Intset结构体;
若比较结果具体为元素数量大于或等于第七预设阈值,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
B23.根据B15-B18任一项所述的方法,其中,所述数据分析单元进一步适于:若该数据的数据类型为字符串类型,则判断数据键对应的数据值所包含的每一元素是否符合预设范围;
若是,则确定该数据键对应的数据值的数据结构体为Int结构体;
若否,则确定该数据键对应的数据值的数据结构体为Raw结构体。
B24.根据B14-B23任一项所述的装置,其中,所述装置还包括:内存服务模块,适于根据所述内存容量向用户提供对应的内存服务。
B25.根据B24所述的装置,其中,所述内存服务模块进一步包括:
查找单元,适于查找大于或等于所述内存容量的至少一个预设内存容量;
内存服务单元,适于将所述至少一个预设内存容量中最小的预设内存容量对应的内存服务提供给用户。
B26.根据B14-B25任一项所述的装置,其中,所述计算模块进一步适于:基于获取的样本案例和参数信息计算业务在Redis数据库中所需的内存容量。
C27.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A13中任一项所述的业务所需内存容量的预估方法对应的操作。
D28.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A13中任一项所述的业务所需内存容量的预估方法对应的操作。

Claims (10)

1.一种业务所需内存容量的预估方法,包括:
获取业务对应的样本案例,并将获取的样本案例载入至内存;
获取样本案例对应的参数信息;
基于获取的样本案例和参数信息计算业务所需的内存容量。
2.根据权利要求1所述的方法,其中,所述样本案例中数据以数据键值对方式存储;
所述基于获取的样本案例和参数信息计算业务所需的内存容量进一步包括:
对所述样本案例中数据进行数据分析,确定该样本案例中数据值的数据结构体;
根据所述数据结构体确定内存容量计算算法;
基于所述内存容量计算算法、所述样本案例和所述参数信息计算业务所需的内存容量。
3.根据权利要求2所述的方法,其中,参数信息包括:数据类型和该数据类型对应的样本案例的案例数量。
4.根据权利要求3所述的方法,其中,所述数据类型包括以下一种或多种组合:哈希类型、有序集合类型、列表类型、集合类型和/或字符串类型。
5.根据权利要求4所述的方法,其中,所述哈希类型对应的数据结构体包括:Zipmap结构体和Hashtable结构体;
所述有序集合类型对应的数据结构体包括:Ziplist结构体和Skiplist结构体;
所述列表类型对应的数据结构体包括:Ziplist结构体和Linkedlist结构体;
所述集合类型对应的数据结构体包括:Intset结构体和Hashtable结构体;
所述字符串类型对应的数据结构体包括:Raw结构体和Int结构体。
6.根据权利要求2-5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为哈希类型,则将各个数据键对应的数据值所包含的元素数量与第一预设阈值进行比较,以及将每一元素的数据长度与第二预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第一预设阈值且每一元素的数据长度均小于第二预设阈值,则确定该数据键对应的数据值的数据结构体为Zipmap结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Hashtable结构体。
7.根据权利要求2-5任一项所述的方法,其中,所述对所述样本案例进行数据分析,确定该样本案例中数据的数据结构体进一步包括:
若该数据的数据类型为有序集合类型,则将各个数据键对应的数据值所包含的元素数量与第三预设阈值进行比较,以及将每一元素的数据长度与第四预设阈值进行比较,得到比较结果;
若比较结果具体为元素数量小于第三预设阈值且每一元素的数据长度均小于第四预设阈值,则确定该数据键对应的数据值的数据结构体为Ziplist结构体;
若比较结果为其他情况,则确定该数据键对应的数据值的数据结构体为Skiplist结构体。
8.一种业务所需内存容量的预估装置,包括:
样本案例获取模块,适于获取业务对应的样本案例;
载入模块,适于将获取的样本案例载入至内存;
参数信息获取模块,适于获取样本案例对应的参数信息;
计算模块,适于基于获取的样本案例和参数信息计算业务所需的内存容量。
9.一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的业务所需内存容量的预估方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的业务所需内存容量的预估方法对应的操作。
CN201710555958.0A 2017-06-30 2017-06-30 业务所需内存容量的预估方法、装置及服务器 Active CN107391257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710555958.0A CN107391257B (zh) 2017-06-30 2017-06-30 业务所需内存容量的预估方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710555958.0A CN107391257B (zh) 2017-06-30 2017-06-30 业务所需内存容量的预估方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN107391257A true CN107391257A (zh) 2017-11-24
CN107391257B CN107391257B (zh) 2020-10-13

Family

ID=60335445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710555958.0A Active CN107391257B (zh) 2017-06-30 2017-06-30 业务所需内存容量的预估方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107391257B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664249A (zh) * 2018-03-15 2018-10-16 武汉斗鱼网络科技有限公司 提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质
CN109039801A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 分布式集群的套餐超用检测方法及装置、计算设备
WO2023051270A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 内存占用量预估方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499034A (zh) * 2009-03-05 2009-08-05 北京中星微电子有限公司 内存管理方法
CN103678160A (zh) * 2012-08-30 2014-03-26 腾讯科技(深圳)有限公司 一种存储数据的方法和装置
CN104252390A (zh) * 2013-06-28 2014-12-31 华为技术有限公司 资源调度方法、装置和***
CN106250239A (zh) * 2016-07-26 2016-12-21 汉柏科技有限公司 一种网络设备中内存缓存cache的使用方法及装置
CN106790636A (zh) * 2017-01-09 2017-05-31 上海承蓝科技股份有限公司 一种云计算服务器集群的均衡负载***及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499034A (zh) * 2009-03-05 2009-08-05 北京中星微电子有限公司 内存管理方法
CN103678160A (zh) * 2012-08-30 2014-03-26 腾讯科技(深圳)有限公司 一种存储数据的方法和装置
CN104252390A (zh) * 2013-06-28 2014-12-31 华为技术有限公司 资源调度方法、装置和***
CN106250239A (zh) * 2016-07-26 2016-12-21 汉柏科技有限公司 一种网络设备中内存缓存cache的使用方法及装置
CN106790636A (zh) * 2017-01-09 2017-05-31 上海承蓝科技股份有限公司 一种云计算服务器集群的均衡负载***及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664249A (zh) * 2018-03-15 2018-10-16 武汉斗鱼网络科技有限公司 提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质
CN108664249B (zh) * 2018-03-15 2021-07-23 武汉斗鱼网络科技有限公司 提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质
CN109039801A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 分布式集群的套餐超用检测方法及装置、计算设备
WO2023051270A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 内存占用量预估方法、装置及存储介质

Also Published As

Publication number Publication date
CN107391257B (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
US10296303B2 (en) Visual programming system
CN111950225B (zh) 一种芯片布局方法、装置、存储介质和电子设备
US11232257B2 (en) Apparatuses, systems, and methods for providing a visual program for machine vision systems
JP6991983B2 (ja) 機械学習システムをトレーニングする方法及びシステム
CN108037946A (zh) 一种应用程序热更新的方法、***及服务器
US7865780B2 (en) Method for test case generation
US10476959B2 (en) Cloud resource provisioning using blueprint chaining
CN109918205A (zh) 一种边缘设备调度方法、***、装置及计算机存储介质
CN107391257A (zh) 业务所需内存容量的预估方法、装置及服务器
CN107612727A (zh) 分布式健康检查方法、计算设备及计算机存储介质
EP3912074A1 (en) Generating a synchronous digital circuit from a source code construct defining a function call
CN109669773A (zh) 金融数据处理方法、装置、设备和存储介质
CN108365989A (zh) 事件处理方法及装置
CN108280227A (zh) 基于缓存的数据信息处理方法及装置
US20080109329A1 (en) Method and apparatus for variable regulatory or conditional use compliance maximizing use of available inventory
CN108959359A (zh) 一种统一资源定位符语义去重方法、装置、设备和介质
CN107480260A (zh) 大数据实时分析方法、装置、计算设备及计算机存储介质
CN109117475A (zh) 一种文本改写的方法以及相关设备
US10394987B2 (en) Adaptive bug-search depth for simple and deep counterexamples
CN109214692B (zh) 基于用户时序行为的电子书评分方法及电子设备
CN106648839A (zh) 数据处理的方法和装置
CN107391627A (zh) 数据的内存占用分析方法、装置及服务器
CN108509440A (zh) 一种数据处理方法及装置
CN110225082A (zh) 任务处理方法、装置、电子设备和计算机可读介质
US11526791B2 (en) Methods and systems for diverse instance generation in artificial intelligence planning

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