CN110516117A - 图计算的类别型变量存储方法、装置、设备及存储介质 - Google Patents

图计算的类别型变量存储方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110516117A
CN110516117A CN201910663277.5A CN201910663277A CN110516117A CN 110516117 A CN110516117 A CN 110516117A CN 201910663277 A CN201910663277 A CN 201910663277A CN 110516117 A CN110516117 A CN 110516117A
Authority
CN
China
Prior art keywords
classification type
type variable
preset
preset classification
value
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.)
Pending
Application number
CN201910663277.5A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910663277.5A priority Critical patent/CN110516117A/zh
Priority to PCT/CN2019/117028 priority patent/WO2021012497A1/zh
Publication of CN110516117A publication Critical patent/CN110516117A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及大数据技术领域,公开了图计算的类别型变量存储方法、装置、设备及存储介质。图计算的类别型变量存储方法包括:获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数;对多个预置的类别型变量进行统计,得到类别型变量的总个数N,N为正整数;根据预置算法计算每个预置的类别型变量的存储比特数Ki,K为大于0的正整数,i的取值范围为小于等于N的正整数;根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;当检测到读取节点属性的至少一个预置的类别型变量时,按照预置顺序读取至少一个预置的类别型变量的取值。本发明通过比特位存储类别型变量,提高了节点属性的存储资源利用率。

Description

图计算的类别型变量存储方法、装置、设备及存储介质
技术领域
本发明涉及节点存储领域,尤其涉及一种图计算的类别型变量存储方法、装置、设备及存储介质。
背景技术
图数据挖掘是关系挖掘和群体画像中的重要方法。图数据由节点和边组成,图中的节点用于表示发生连接的主体,边用来表示主体之间的关联,边越密集,边权重越大,表示关联越强。图数据主要由节点属性和边属性构成,在图计算中涉及大量节点属性的数据存储。
节点属性的数据存储包括大量类别型变量,例如,判定节点属于哪一种特定类别,其类别从1到n,n为大于1的正整数,类别型变量的取值一般以整数的形式来表示。在典型的图计算环境中,对于分布式图处理框架GraphX或者Giraph,通常以int32类型或者int64类型方式对节点属性的类别型变量进行存储,也就是单个类别型变量占用32比特或者64比特的内存空间。
目前大规模图数据往往包含亿级节点,采用现有技术中存储节点属性的算法会耗费大量内存,因此,如何减少存储节点属性导致消耗大量存储资源,是大规模图计算需要解决的关键问题。
发明内容
本发明的主要目的在于解决了大规模图计算中采用整型存储节点属性的类别型变量导致消耗大量存储资源的技术问题。
为实现上述目的,本发明第一方面提供了一种图计算的类别型变量存储方法,包括:获取节点属性的多个预置的类别型变量,所述预置的类别型变量的取值为整数;对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数;根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数;根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;当检测到读取所述节点属性的至少一个预置的类别型变量时,按照所述预置顺序读取至少一个预置的类别型变量的取值。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数包括:确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,所述预置类别包括至少一个整数值;根据比特数计算公式对每个预置的类别型变量进行计算,得到每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数,所述比特数计算公式如下:Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。
可选的,在本发明第一方面的第二种实现方式中,所述根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储包括:读取节点标签数据存储空间,所述节点标签数据存储空间用于存储所述节点属性的多个预置类型变量的取值,所述预置类型变量包括类别型变量;根据每个预置的类别型变量的存储比特数Ki对所述节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间;将多个预置的类别型变量的取值按照所述预置顺序写入到所述划定的存储比特位区间上。
可选的,在本发明第一方面的第三种实现方式中,所述根据每个预置的类别型变量的存储比特数Ki对所述节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间包括:从所述节点标签数据存储空间中确定初始比特位;根据所述初始比特位对每个预置的类别型变量的存储比特数Ki进行顺序加法运算,得到每个预置的类别型变量的起始比特位和结束比特位,并记录每个预置的类别型变量的起始比特位和结束比特位;根据每个预置的类别型变量的起始比特位和结束比特位进行统计,得到划定的存储比特位区间。
可选的,在本发明第一方面的第四种实现方式中,所述将多个预置的类别型变量的取值按照所述预置顺序写入到所述划定的存储比特位区间上包括:读取N个预置的类别型变量各自对应的起始比特位和结束比特位;根据所述各自对应的起始比特位和结束比特位将N个预置的类别型变量按照所述预置顺序依次写入到所述划定的存储比特位区间上。
可选的,在本发明第一方面的第五种实现方式中,所述对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数包括:将每个预置的类别型变量的数量设置为1;对多个预置的类别型变量的数量进行求和运算,得到所述预置的类别型变量的总个数N,其中,N正整数。
可选的,在本发明第一方面的第六种实现方式中,所述当检测到读取所述节点属性的至少一个预置的类别型变量时,按照所述预置顺序读取多个预置的类别型变量的取值包括:接收读取所述节点属性的至少一个预置的类别型变量的请求;按照所述预置顺序依次读取至少一个预置的类别型变量各自对应的起始比特位和结束比特位;根据所述各自对应的起始比特位和结束比特位从所述划定的存储比特位区间中依次读取至少一个预置的类别型变量的取值,并将至少一个预置的类别型变量的取值依次赋值给对应的类别型变量。
本发明第二方面提供了一种图计算的类别型变量存储装置,包括:获取单元,用于获取节点属性的多个预置的类别型变量,所述预置的类别型变量的取值为整数;统计单元,用于对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数;计算单元,用于根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数;存储单元,用于根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;读取单元,当检测到读取所述节点属性的至少一个预置的类别型变量时,用于按照所述预置顺序读取至少一个预置的类别型变量的取值。
可选的,在本发明第二方面的第一种实现方式中,所述计算单元具体用于:确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,所述预置类别包括至少一个整数值;根据比特数计算公式对每个预置的类别型变量进行计算,得到每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数,所述比特数计算公式如下:Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。
可选的,在本发明第二方面的第二种实现方式中,所述存储单元还包括:读取子单元,用于读取节点标签数据存储空间,所述节点标签数据存储空间用于存储所述节点属性的多个预置类型变量的取值,所述预置类型变量包括类别型变量;划分子单元,用于根据每个预置的类别型变量的存储比特数Ki对所述节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间;写入子单元,用于将多个预置的类别型变量的取值按照所述预置顺序写入到所述划定的存储比特位区间上。
可选的,在本发明第二方面的第三种实现方式中,所述划分子单元具体用于:从所述节点标签数据存储空间中确定初始比特位;根据所述初始比特位对每个预置的类别型变量的存储比特数Ki进行顺序加法运算,得到每个预置的类别型变量的起始比特位和结束比特位,并记录每个预置的类别型变量的起始比特位和结束比特位;根据每个预置的类别型变量的起始比特位和结束比特位进行统计,得到划定的存储比特位区间。
可选的,在本发明第二方面的第四种实现方式中,所述写入子单元具体用于:读取N个预置的类别型变量各自对应的起始比特位和结束比特位;根据所述各自对应的起始比特位和结束比特位将N个预置的类别型变量按照所述预置顺序依次写入到所述划定的存储比特位区间上。
可选的,在本发明第二方面的第五种实现方式中,所述统计单元具体用于:将每个预置的类别型变量的数量设置为1;对多个预置的类别型变量的数量进行求和运算,得到所述预置的类别型变量的总个数N,其中,所述N为正整数。
可选的,在本发明第二方面的第六种实现方式中,所述读取单元具体用于:接收读取所述节点属性的至少一个预置的类别型变量的请求;按照所述预置顺序依次读取至少一个预置的类别型变量各自对应的起始比特位和结束比特位;根据所述各自对应的起始比特位和结束比特位从所述划定的存储比特位区间中依次读取至少一个预置的类别型变量的取值,并将至少一个预置的类别型变量的取值依次赋值给对应的类别型变量。
本发明第三方面提供了一种图计算的类别型变量存储设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述图计算的类别型变量存储设备执行上述第一方面所述的方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本发明的第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供的技术方案中,获取节点属性的多个预置的类别型变量,所述预置的类别型变量的取值为整数;对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数;根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数;根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;当检测到读取所述节点属性的至少一个预置的类别型变量时,按照所述预置顺序读取至少一个预置的类别型变量的取值。本发明实施例中,通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
附图说明
图1为本发明实施例中图计算的类别型变量存储方法的一个实施例示意图;
图2为本发明实施例中图计算的类别型变量存储方法的另一个实施例示意图;
图3为本发明实施例中图计算的类别型变量存储装置的一个实施例示意图;
图4为本发明实施例中图计算的类别型变量存储装置的另一个实施例示意图;
图5为本发明实施例中图计算的类别型变量存储设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种图计算的类别型变量存储方法、装置、设备及存储介质,用于通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图计算中数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中图计算的类别型变量存储方法的一个实施例包括:
101、获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数;
服务器获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数。具体的,服务器通过一个预置参数记录节点属性的多个预置的类别型变量;服务器从预置参数中读取节点属性的多个预置的类别型变量,该预置参数还用于指示节点属性的多个预置的类别型变量存储的预置顺序,预置的类别型变量的取值为整数。
需要说明的是,节点属性是节点的特征属性,节点用于表示图中发生连接的主体,各个节点之间通过边进行关联,图由节点和边构成。在图计算中采用多种类型变量指示节点属性,将表示所属类型的变量作为类别型变量。
102、对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数;
服务器对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数。具体的,服务器设置预置的类别型变量的总个数的初始值为0;服务器根据初始值对节点属性的多个预置的类别型变量进行逐个加1计算,得到预置的类别型变量的总个数N,N为正整数。例如,服务器从预置参数中读取节点属性的3个预置的类别型变量A、B和C,则服务器确定预置的类别型变量的总个数N为3。
需要说明的是,类别型变量属于数值型变量,数值型变量是说明事物数字特征的一个名称,其取值是数值型数据,类别型变量为根据不同的整数值表示所属的类别,也就是类别型变量是指用0、1、2等数字表示不同类别属性的变量。例如,将某节点用户年龄属性划分为18岁以下、18岁到25岁、25岁到65岁和65岁以上四个年龄区间,服务器使用1、2、3和4按照由小到大的顺序依次标识四个年龄区间,而表示年龄区间的变量就是类别型变量,取值范围从1到4,共4种类别。
103、根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数;
服务器根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数。具体的,当检测到预置的类别型变量的总个数N大于0时,服务器确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,预置类别包括至少一个整数值;服务器根据比特数计算公式对每个预置的类别型变量进行计算,得到每个类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数,比特数计算公式为Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。例如,针对预置的类别型变量D,服务器计算D的预置类别总数量n为4,根据比特数计算公式计算D的存储比特数K1为2;针对预置的类别型变量E,服务器计算E的预置类别总数量n为7,则得到存储比特数K2为3;针对预置的类别型变量F,服务器计算F的预置类别总数量n为3,则得到存储比特数K3为2,其中,1、2和3为i的取值范围。
需要说明的是,比特(binary system,BIT),是信息量单位,是由英文BIT音译而来。同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位,信号的比特数等于信号取值数量以2为底数的对数值。
104、根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;
服务器根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储。其中,预置顺序根据预置参数进行确定,具体的,服务器根据每个预置的类别型变量的存储比特数Ki和预置顺序计算每个预置的类别型变量的起始比特位和结束比特位;服务器根据每个预置的类别型变量的起始比特位和结束比特位存储每个预置的类别型变量的取值。
举例说明,一个节点属性包括3个预置的类别型变量D、E和F,其中,D占有2个比特位,E占有3个比特位,F占有2个比特位,预置的类别型变量D的取值为1,预置的类别型变量E的取值为3,预置的类别型变量F的取值为2,服务器根据预置顺序存储D、E和F的取值,服务器依次将D、E和F的取值分别存储在第99-100位、第101-103位和第104-105位,那么D的起始比特位和结束比特位为99和100,E的起始比特位和结束比特位为101和103,F的起始比特位和结束比特位为104和105。
105、当检测到读取节点属性的至少一个预置的类别型变量时,按照预置顺序读取至少一个预置的类别型变量的取值。
当检测到读取节点属性的至少一个预置的类别型变量时,服务器按照预置顺序读取至少一个预置的类别型变量的取值,具体的,当图计算完成时,服务器按照预置顺序读取至少一个预置的类别型变量的取值,该预置顺序与步骤104的存储顺序保持一致。例如,针对预置的类别型变量D、E和F,其中,D占用2个比特位,E占用2个比特位,F占用3个比特位,预置顺序为D、F和E,若服务器将D、F和E的取值1、3和2分别存储在第99-100位、第101-103位和第104-105位,则服务器依次从第99-100位、第101-103位和第104-105位中读取D、F和E对应的取值,D的取值为1,E的取值为3,F的取值为2,并将D、F和E对应的取值1、3和2分别赋值给变量D、F和E。
本发明实施例中,通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图计算中数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
请参阅图2,本发明实施例中图计算的类别型变量存储方法的另一个实施例包括:
201、获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数;
服务器获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数。具体的,服务器通过一个预置参数记录节点属性的多个预置的类别型变量;服务器从预置参数中读取节点属性的多个预置的类别型变量,该预置参数还用于指示节点属性的多个预置的类别型变量存储的预置顺序,预置的类别型变量的取值为整数。
需要说明的是,节点属性是节点的特征属性,节点用于表示图中发生连接的主体,各个节点之间通过边进行关联,图由节点和边构成。在图计算中采用多种类型变量指示节点属性,将表示所属类型的变量作为类别型变量。
202、对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数;
服务器对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数。具体的,服务器设置预置的类别型变量的总个数的初始值为0;服务器将每个预置的类别型变量的数量设置为1;服务器对多个预置的类别型变量的数量进行求和运算,得到预置的类别型变量的总个数N,其中,N为正整数。例如,服务器从预置参数中读取节点属性M的预置的类别型变量A、B和C,则服务器对预置的类别型变量A、B和C进行逐个加1计算,服务器确定预置的类别型变量的总个数N为3。
需要说明的是,类别型变量属于数值型变量,数值型变量是说明事物数字特征的一个名称,其取值是数值型数据,类别型变量为根据不同的整数值表示所属的类别,也就是类别型变量是指用0、1、2等数字表示不同类别属性的变量。例如,类别型变量D表示年龄区间,服务器使用1、2、3和4按照由小到大的顺序依次表示预置年龄区间,类别型变量E表示星期与周的序数关系,使用1到7依次表示周日到周六,类别型变量F表示学历水平,使用1到3分别表示高中学历、大学学历和研究生学历,服务器统计得到的类别型变量的总个数为3。
203、根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数;
服务器根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数。具体的,服务器确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,预置类别包括至少一个整数值;服务器根据比特数计算公式对每个预置的类别型变量进行计算,得到每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数,比特数计算公式为Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。
举例说明,针对表示预置的类别型变量D,服务器计算D的预置类别总数量n为4,根据比特数计算公式进行计算得到D的存储比特数K1为2;针对预置的类别型变量E,服务器计算E的预置类别总数量n为7,则得到存储比特数K2为3;针对预置的类别型变量F,服务器计算F的预置类别总数量n为3,则得到存储比特数K3为2。其中,1、2和3为i的取值范围。
需要说明的是,比特(binary system,BIT),是信息量单位,是由英文BIT音译而来。同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位,信号的比特数等于信号取值数量以2为底数的对数值。
204、读取节点标签数据存储空间,节点标签数据存储空间用于存储节点属性的多个预置类型变量的取值,预置类型变量包括类别型变量;
服务器读取节点标签数据存储空间,节点标签数据存储空间用于存储节点属性的多个预置类别变量的取值,预置类型变量包括类别型变量。服务器对预置类型变量的取值进行存储时,根据预置类型变量的类型进行存储空间的划分,其中,预置类别型变量还可以包括整型变量和浮点型变量,具体此处不做限定。例如,针对一个节点属性,该节点包括1个用于指示身份证号码的预置类别变量B、1个用于指示手机号码的预置类别变量C以及3个预置的类别型变量D、E和F,服务器计算得到预置类别变量B占用61比特,与之泪别变量C占用37比特,3个预置的类别型变量各占用2比特、3比特和2比特,则服务器从节点标签数据的存储空间中确定占用105比特,其中,预置的类别型变量占用7比特。
需要说明的是,当节点标签数据存储空间对节点属性的类别型变量的取值进行存储时,并不存储类别型变量的名称,存储类别型变量的名称通过内存空间进行存储。
205、根据每个预置的类别型变量的存储比特数Ki对节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间;
服务器根据每个预置的类别型变量的存储比特数Ki对节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间,具体的,服务器从节点标签数据存储空间中确定初始比特位;服务器根据初始比特位对每个预置的类别型变量的存储比特数Ki进行顺序加法运算,得到每个预置的类别型变量的起始比特位和结束比特位,并记录每个预置的类别型变量的起始比特位和结束比特位;服务器根据每个预置的类别型变量的起始比特位和结束比特位进行统计,得到划定的存储比特位区间。例如,一个节点属性包括3个预置的类别型变量D、E和F,其中,D占有2个比特位,E占有3个比特位,F占有2个比特位,服务器确定划定的存储比特位区间为7个比特。预置的类别型变量D的取值为1,预置的类别型变量E的取值为3,预置的类别型变量F的取值为2,服务器根据预置顺序存储D、E和F的取值,服务器依次将D、E和F的取值分别存储在第99-100位、第101-103位和第104-105位,那么D的起始比特位和结束比特位为99和100,E的起始比特位和结束比特位为101和103,F的起始比特位和结束比特位为104和105。
需要说明的是,对于包含亿级节点的整张图数据,由于每个节点的标签数据的类型是一致的,针对全局图数据,服务器预设一组变量按照预置顺序存储预置的类别型变量的起始比特位和结束比特位。
206、将多个预置的类别型变量的取值按照预置顺序写入到划定的存储比特位区间上;
服务器将多个预置的类别型变量的取值按照预置顺序写入到划定的存储比特位区间上。具体的,服务器读取N个预置的类别型变量各自对应的起始比特位和结束比特位;服务器根据各自对应的起始比特位和结束比特位将N个预置的类别型变量按照预置顺序依次写入到划定的存储比特位区间上。
需要说明的是,预置顺序为预先设置的不同类别型数据存储顺序。图数据包括属性数据和拓扑数据,其中,图计算中节点属性数据由属性表存储,可通过键值key-value形式实现存储,也可通过链接或链表的方式实现存储,具体此处不做限定。
207、当检测到读取节点属性的至少一个预置的类别型变量时,按照预置顺序读取至少一个类别型变量的取值。
当检测到读取节点属性的至少一个预置的类别型变量时,服务器按照预置顺序读取至少一个预置的类别型变量的取值。具体的,服务器接收读取节点属性的至少一个预置的类别型变量的请求;服务器按照预置顺序依次读取至少一个预置的类别型变量各自对应的起始比特位和结束比特位;服务器根据各自对应的起始比特位和结束比特位从划定的存储比特位区间中依次读取至少一个预置的类别型变量的取值,并将至少一个预置的类别型变量的取值依次赋值给对应的类别型变量。
举例说明,服务器按照预置顺序读取至少一个预置的类别型变量的取值,该预置顺序与步骤206的存储顺序保持一致。例如,针对预置的类别型变量D、E和F,其中,D占用2个比特位,E占用2个比特位,F占用3个比特位,预置顺序为D、F和E,若服务器将D、F和E的取值1、3和2分别存储在第99-100位、第101-103位和第104-105位,则服务器依次从第99-100位、第101-103位和第104-105位读取D、F和E对应的取值,D的取值为1,E的取值为3,F的取值为2,并将D、F和E对应的取值1、3和2分别赋值给预置的类别型变量D、F和E。
可以理解的是,图计算本身是在图上,利用节点标签数据进行预置运算,服务器按照预置顺序读取每个预置的类别型变量的取值,在运算过程中,图计算对节点标签数据进行更新操作。当图计算完成时,服务器读取节点标签数据并发送给终端进行数据展示。
本发明实施例中,通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图计算中数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
上面对本发明实施例中图计算的类别型变量存储方法进行了描述,下面对本发明实施例中图计算的类别型变量存储装置进行描述,请参阅图3,本发明实施例中图计算的类别型变量存储装置的一个实施例包括:
获取单元301,用于获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数;
统计单元302,用于对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数;
计算单元303,用于根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数;
存储单元304,用于根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;
读取单元305,当检测到读取节点属性的至少一个预置的类别型变量时,用于按照预置顺序读取至少一个预置的类别型变量的取值。
本发明实施例中,通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图计算中数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
请参阅图4,本发明实施例中图计算的类别型变量存储装置的另一个实施例包括:
获取单元301,用于获取节点属性的多个预置的类别型变量,预置的类别型变量的取值为整数;
统计单元302,用于对多个预置的类别型变量进行统计,得到预置的类别型变量的总个数N,N为正整数;
计算单元303,用于根据预置算法计算每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数;
存储单元304,用于根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;
读取单元305,当检测到读取节点属性的至少一个预置的类别型变量时,用于按照预置顺序读取至少一个预置的类别型变量的取值。
可选的,计算单元303还可以具体用于:
确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,预置类别包括至少一个整数值;
根据比特数计算公式对每个预置的类别型变量进行计算,得到每个预置的类别型变量的存储比特数Ki,Ki为正整数,i的取值范围为小于等于N的正整数,比特数计算公式如下:
Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。
可选的,存储单元304还可进一步包括:
读取子单元3041,用于读取节点标签数据存储空间,节点标签数据存储空间用于存储节点属性的预置类型变量的取值,预置类型变量包括类别型变量;
划分子单元3042,用于根据每个预置的类别型变量的存储比特数Ki对节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间;
写入子单元3043,用于将多个预置的类别型变量的取值按照预置顺序写入到划定的存储比特位区间上。
可选的,划分子单元3042还可以具体用于:
从节点标签数据存储空间中确定初始比特位;
根据初始比特位对每个预置的类别型变量的存储比特数Ki进行顺序加法运算,得到每个预置的类别型变量的起始比特位和结束比特位,并记录每个预置的类别型变量的起始比特位和结束比特位;
根据每个预置的类别型变量的起始比特位和结束比特位进行统计,得到划定的存储比特位区间。
可选的,写入子单元3043还可以具体用于:
读取N个预置的类别型变量各自对应的起始比特位和结束比特位;
根据各自对应的起始比特位和结束比特位将N个预置的类别型变量按照预置顺序依次写入到划定的存储比特位区间上。
可选的,统计单元302还可以具体用于:
将每个预置的类别型变量的数量设置为1;
对多个预置的类别型变量的数量进行求和运算,得到预置的类别型变量的总个数N,其中,N正整数。
可选的,读取单元305还可以具体用于:
接收读取节点属性的至少一个预置的类别型变量的请求;
按照预置顺序依次读取至少一个预置的类别型变量各自对应的起始比特位和结束比特位;
根据各自对应的起始比特位和结束比特位从划定的存储比特位区间中依次读取至少一个预置的类别型变量的取值,并将至少一个预置的类别型变量的取值依次赋值给对应的类别型变量。
本发明实施例中,通过采用比特位对节点属性的多个类别型变量的取值按照预置顺序进行存储和读取,提高了图计算中数据存储效率和读取效率,同时提高了节点属性的存储资源利用率。
上面图3和图4从模块化功能实体的角度对本发明实施例中的图计算的类别型变量存储装置进行详细描述,下面从硬件处理的角度对本发明实施例中图计算的类别型变量存储设备进行详细描述。
图5是本发明实施例提供的一种图计算的类别型变量存储设备的结构示意图,该图计算的类别型变量存储设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序509或数据509的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对图计算的类别型变量存储中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在图计算的类别型变量存储设备500上执行存储介质508中的一系列指令操作。
图计算的类别型变量存储设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的图计算的类别型变量存储设备结构并不构成对图计算的类别型变量存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种图计算的类别型变量存储方法,其特征在于,包括:
获取节点属性的多个预置的类别型变量,所述预置的类别型变量的取值为整数;
对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数;
根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数;
根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;
当检测到读取所述节点属性的至少一个预置的类别型变量时,按照所述预置顺序读取至少一个预置的类别型变量的取值。
2.根据权利要求1所述的图计算的类别型变量存储方法,其特征在于,所述根据预置算法计算每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数包括:
确定每个预置的类别型变量指示的预置类别总数量n,n为正整数,所述预置类别包括至少一个整数值;
根据比特数计算公式对每个预置的类别型变量进行计算,得到每个预置的类别型变量的存储比特数Ki,所述Ki为正整数,i的取值范围为小于等于所述N的正整数,所述比特数计算公式如下:
Ki=ceil(log2n),其中,log2n表示以2为底n的对数,ceil表示向上取整。
3.根据权利要求1所述的图计算的类别型变量存储方法,其特征在于,所述根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储包括:
读取节点标签数据存储空间,所述节点标签数据存储空间用于存储所述节点属性的多个预置类型变量的取值,所述预置类型变量包括类别型变量;
根据每个预置的类别型变量的存储比特数Ki对所述节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间;
将多个预置的类别型变量的取值按照所述预置顺序写入到所述划定的存储比特位区间上。
4.根据权利要求3所述的图计算的类别型变量存储方法,其特征在于,所述根据每个预置的类别型变量的存储比特数Ki对所述节点标签数据存储空间按照预置顺序进行划分,得到划定的存储比特位区间包括:
从所述节点标签数据存储空间中确定初始比特位;
根据所述初始比特位对每个预置的类别型变量的存储比特数Ki进行顺序加法运算,得到每个预置的类别型变量对应的起始比特位和结束比特位,并记录每个预置的类别型变量对应的起始比特位和结束比特位;
根据每个预置的类别型变量对应的起始比特位和结束比特位进行统计,得到划定的存储比特位区间。
5.根据权利要求4所述的图计算的类别型变量存储方法,其特征在于,所述将多个预置的类别型变量的取值按照所述预置顺序写入到所述划定的存储比特位区间上包括:
读取N个预置的类别型变量各自对应的起始比特位和结束比特位;
根据所述各自对应的起始比特位和结束比特位将N个预置的类别型变量的取值按照所述预置顺序依次写入到所述划定的存储比特位区间上。
6.根据权利要求1所述的图计算的类别型变量存储方法,其特征在于,所述对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数包括:
将每个预置的类别型变量的数量设置为1;
对多个预置的类别型变量的数量进行求和运算,得到所述预置的类别型变量的总个数N,其中,所述N为正整数。
7.根据权利要求1至6中任一项所述的图计算的类别型变量存储方法,其特征在于,所述当检测到读取所述节点属性的至少一个预置的类别型变量时,按照所述预置顺序读取至少一个预置的类别型变量的取值包括:
接收读取所述节点属性的至少一个预置的类别型变量的请求;
按照所述预置顺序依次读取至少一个预置的类别型变量各自对应的起始比特位和结束比特位;
根据所述各自对应的起始比特位和结束比特位从所述划定的存储比特位区间中依次读取至少一个预置的类别型变量的取值,并将至少一个预置的类别型变量的取值依次赋值给对应的类别型变量。
8.一种图计算的类别型变量存储装置,其特征在于,所述图计算的类别型变量存储装置包括:
获取单元,用于获取节点属性的多个预置的类别型变量,所述预置的类别型变量的取值为整数;
统计单元,用于对多个预置的类别型变量进行统计,得到所述预置的类别型变量的总个数N,所述N为正整数;
计算单元,用于根据预置算法计算每个预置的类别型变量的存储比特数Ki,K为正整数,i的取值范围为小于等于所述N的正整数;
存储单元,用于根据每个预置的类别型变量的存储比特数Ki和预置顺序对每个预置的类别型变量的取值进行存储;
读取单元,当检测到读取所述节点属性的至少一个预置的类别型变量时,用于按照所述预置顺序读取至少一个预置的类别型变量的取值。
9.一种图计算的类别型变量存储设备,其特征在于,所述图计算的类别型变量存储设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述图计算的类别型变量存储设备执行如权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述方法的步骤。
CN201910663277.5A 2019-07-22 2019-07-22 图计算的类别型变量存储方法、装置、设备及存储介质 Pending CN110516117A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910663277.5A CN110516117A (zh) 2019-07-22 2019-07-22 图计算的类别型变量存储方法、装置、设备及存储介质
PCT/CN2019/117028 WO2021012497A1 (zh) 2019-07-22 2019-11-11 图计算的类别型变量存储方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910663277.5A CN110516117A (zh) 2019-07-22 2019-07-22 图计算的类别型变量存储方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN110516117A true CN110516117A (zh) 2019-11-29

Family

ID=68623409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910663277.5A Pending CN110516117A (zh) 2019-07-22 2019-07-22 图计算的类别型变量存储方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110516117A (zh)
WO (1) WO2021012497A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075237A (zh) * 2006-06-28 2007-11-21 腾讯科技(深圳)有限公司 一种数据存储方法、数据读取方法以及数据检索方法
CN102112986A (zh) * 2008-07-31 2011-06-29 微软公司 对基于列的数据编码的结构的高效的大规模处理
CN108804039A (zh) * 2018-06-04 2018-11-13 平安科技(深圳)有限公司 自适应的数据恢复流控方法、装置、电子设备及存储介质
CN109035032A (zh) * 2018-06-11 2018-12-18 中国平安人寿保险股份有限公司 数据结构化处理方法、装置、计算机设备及存储介质
US10171104B1 (en) * 2017-11-08 2019-01-01 International Business Machines Corporation Encoding variable length integers for graph compression

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512912B1 (en) * 2003-08-16 2009-03-31 Synopsys, Inc. Method and apparatus for solving constraints for word-level networks
CN106611037A (zh) * 2016-09-12 2017-05-03 星环信息科技(上海)有限公司 用于分布式图计算的方法与设备
CN106777351B (zh) * 2017-01-17 2019-08-09 中国人民解放军国防科学技术大学 基于art树分布式系统图存储计算系统及其方法
CN109189994B (zh) * 2018-06-27 2021-11-09 北京中科睿芯科技集团有限公司 一种面向图计算应用的cam结构存储系统
CN109886412B (zh) * 2019-01-11 2021-06-08 合肥本源量子计算科技有限责任公司 一种量子程序的持久化存储方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075237A (zh) * 2006-06-28 2007-11-21 腾讯科技(深圳)有限公司 一种数据存储方法、数据读取方法以及数据检索方法
CN102112986A (zh) * 2008-07-31 2011-06-29 微软公司 对基于列的数据编码的结构的高效的大规模处理
US10171104B1 (en) * 2017-11-08 2019-01-01 International Business Machines Corporation Encoding variable length integers for graph compression
CN108804039A (zh) * 2018-06-04 2018-11-13 平安科技(深圳)有限公司 自适应的数据恢复流控方法、装置、电子设备及存储介质
CN109035032A (zh) * 2018-06-11 2018-12-18 中国平安人寿保险股份有限公司 数据结构化处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2021012497A1 (zh) 2021-01-28

Similar Documents

Publication Publication Date Title
US7779008B2 (en) Parallel partition-wise aggregation
CN102521411B (zh) 公式及公式数据处理装置和公式及公式数据处理方法
US6381601B1 (en) Grouping and duplicate removal method in a database
CN109800936B (zh) 基于树状搜寻的调度方法与使用该方法的电子装置
CN108415845A (zh) Ab测试系统指标置信区间的计算方法、装置和服务器
US11768825B2 (en) System and method for dependency analysis in a multidimensional database environment
CN104008420A (zh) 一种基于自动编码机的分布式离群点检测方法及系统
CN107153836A (zh) 一种业务参数选取方法及相关设备
CN109446205A (zh) 判断数据状态的装置和方法以及数据更新的装置和方法
CN104636349A (zh) 一种索引数据压缩以及索引数据搜索的方法和设备
CN103064991A (zh) 一种海量数据聚类方法
CN110245155A (zh) 数据处理方法、装置、计算机可读存储介质及终端设备
CN105302838A (zh) 分类方法、查找方法和设备
US20170091244A1 (en) Searching a Data Structure
CN110516117A (zh) 图计算的类别型变量存储方法、装置、设备及存储介质
CN111190893B (zh) 建立特征索引的方法和装置
CN116562373A (zh) 数据挖掘方法、装置、设备和介质
CN106980673A (zh) 内存数据库表索引更新方法及系统
WO2017139547A1 (en) Data mining using categorical attributes
CN108280224B (zh) 万级维度数据生成方法、装置、设备以及存储介质
CN103713962B (zh) 一种检测数据链表方法及电子设备
CN103957012A (zh) 一种dfa矩阵的压缩方法及装置
CN112784818A (zh) 基于分组式主动学习在光学遥感图像上的识别方法
CN112528613A (zh) 一种数据表生成方法及其相关设备
CN112540843A (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