CN109656948B - 位图数据处理方法、装置、计算机设备和存储介质 - Google Patents
位图数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109656948B CN109656948B CN201811360595.6A CN201811360595A CN109656948B CN 109656948 B CN109656948 B CN 109656948B CN 201811360595 A CN201811360595 A CN 201811360595A CN 109656948 B CN109656948 B CN 109656948B
- Authority
- CN
- China
- Prior art keywords
- data
- bitmap
- storage
- operation member
- list
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种位图数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取位图运算指令;根据所述位图运算指令获取数据存储列表;从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种位图数据处理方法、装置、计算机设备和存储介质。
背景技术
随着数据处理技术的发展,出现了使用位图技术存储数据的方式,通过位图技术存储的数据,可以加快从大量数据中查询某个数据的速度,有时,还需要对位图进行逻辑运算。
然而,通过位图存储数据的过程中,对于每个数据都会存在一个位图。传统的位图逻辑运算方法中,需要先对两个位图进行逻辑运算得到临时位图,将得到的临时位图再与第三个位图进行逻辑运算,直至所有位图运算结束。当需要参与运算的位图数量很多时,需要读取的位图数据量很大,降低了位图运算的速度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升位图运算速度的位图数据处理方法、装置、计算机设备和存储介质。
一种位图数据处理方法,所述方法包括:
获取位图运算指令;
根据所述位图运算指令获取数据存储列表;
从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;
根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
一种位图数据处理装置,其特征在于,所述装置包括:
指令获取模块,用于获取位图运算指令;
列表获取模块,用于根据所述位图运算指令获取数据存储列表;
集合获取模块,用于从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
列表查询模块,用于在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;
位图生成模块,用于根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取位图运算指令;
根据所述位图运算指令获取数据存储列表;
从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;
根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取位图运算指令;
根据所述位图运算指令获取数据存储列表;
从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;
根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
上述位图数据处理方法、装置、计算机设备和存储介质,通过位图运算指令、数据存储列表和从位图运算指令中提取的数据运算成员集合,在数据存储列表中查询数据运算成员集合中的数据运算成员,根据数据查询结果生成数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
附图说明
图1为一个实施例中位图数据处理方法的应用环境图;
图2为一个实施例中位图数据处理方法的流程示意图;
图3为一个实施例中获取数据存储列表的步骤的流程示意图;
图4为一个实施例中得到数据查询结果的步骤的流程示意图;
图5为一个实施例中生成运算结果位图的步骤的流程示意图;
图6为一个实施例中对运算位图进行数值调整的步骤的流程示意图;
图7为一个实施例中位图数据处理的示意图;
图8为一个实施例中位图数据处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的位图数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种位图数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取位图运算指令。
其中,位图运算指令是指示服务器对数据库列表中指定的数据运算成员进行位图运算的指令。数据库可以是多维数据库。
具体地,终端获取用户触发的对数据存储列表中数据运算成员进行位图运算的位图运算请求,根据数据运算成员和数据存储列表标识,生成位图运算指令。数据存储列表可以是多维数据库中一个维度中存储数据的列表。比如,数据存储列表可以是多维数据库一个维度中的int32列表,在int32列表中,每一个数据采用32位存储。终端通过网络将位图运算指令发送至服务器。服务器接收位图运算指令。
步骤204,根据位图运算指令获取数据存储列表。
具体地,服务器对获取到的位图运算指令进行解析,得到位图运算指令中的数据存储列表标识。服务器提取数据存储列表标识,在数据库中查询与数据存储列表标识对应的数据存储列表。
步骤206,从位图运算指令中提取数据运算成员,得到数据运算成员集合。
其中,数据运算成员是数据存储列表中的存储数据,服务器根据位图运算指令对数据运算成员进行位图运算。
具体地,服务器对获取到的位图运算指令进行解析,得到位图运算指令中的数据运算成员。服务器以得到的数据运算成员作为数据运算成员集合。数据运算成员集合中包括至少一个数据运算成员。
在一个实施例中,数据运算成员集合中包含多个数据运算成员,数据运算成员的数量可以大于32个。
步骤208,在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果。
具体地,服务器读取数据存储列表中的全部存储数据,并在数据运算成员集合中查询与读取到的存储数据匹配的数据运算成员。当服务器在数据运算成员集合中查询到与读取到的存储数据匹配的数据运算成员时,获取读取到的存储数据在数据存储列表中的存储位置,根据读取到的存储数据和获取到的存储位置得到数据查询结果。
在一个实施例中,服务器还可以从数据存储列表中按照存储顺序逐个读取存储数据,在数据运算成员集合中查询与读取到的存储数据匹配的数据运算成员。
步骤210,根据数据查询结果生成数据运算成员集合对应的运算结果位图。
具体地,服务器提取数据查询结果中的数据运算成员及数据运算成员对应的存储位置,根据数据运算成员对应的存储位置,在运算位图中查询与提取到的存储位置对应的数值位置。服务器确定与提取到的存储位置对应的数值位置后,对运算位图中的数值进行调整,得到数据运算成员集合对应的运算结果位图。运算位图可以是与数据运算成员集合对应的初始位图。
在一个实施例中,服务器在运算位图中确定与提取到的存储位置对应的数值位置后,将确定的数值位置对应的数值调整为预设第一数值,再将运算位图中尚未进行数值调整的数值位置对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。
在一个实施例中,服务器识别位图运算指令中的位图运算类型,根据识别到的位图运算类型对数据查询结果中的存储数据进行位图运算,得到预设第一数值,将预设第一数值添加到运算位图中确定的数值位置。位图运算指令中的位图运算类型可以是或运算类型、或非运算类型、异或运算类型及同或运算类型中的至少一种。
本实施例中,通过位图运算指令、数据存储列表和从位图运算指令中提取的数据运算成员集合,在数据存储列表中查询数据运算成员集合中的数据运算成员,根据数据查询结果生成数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
如图3所示,在一个实施例中,步骤204具体还包括获取数据存储列表的步骤,该步骤具体包括如下步骤:
步骤302,提取位图运算指令中的数据存储列表标识。
具体地,服务器获取终端发送的位图运算指令,对位图运算指令进行解析,得到位图运算指令中的数据存储列表标识。数据存储列表标识为数据存储列表的唯一标识,数据存储列表标识可以是数据存储列表的存储地址,还可以是数据存储列表中存储数据对应的特征数据。
步骤304,根据数据存储列表标识,查询数据存储列表。
具体地,服务器在数据库中查询与提取到的数据存储列表标识对应的数据存储列表,将查询到的数据存储列表加载到内存中,准备对数据存储列表中的数据运算成员进行位图运算。
在一个实施例中,数据存储列表标识为数据存储列表的存储地址。服务器访问数据存储列表的存储地址对应的存储空间,从访问的存储空间中提取存储的数据存储列表。
本实施例中,提取位图运算指令中的数据存储列表标识,根据数据存储列表标识,查询数据存储列表,提高了在数据库中获取数据存储列表的准确性。
如图4所示,在一个实施例中,步骤208具体还包括得到数据查询结果的步骤,该步骤具体包括如下步骤:
步骤402,按照存储顺序依次读取数据存储列表中的存储数据。
具体地,服务器获取到数据存储列表后,按照存储数据的存储顺序,依次读取数据存储列表中的存储数据。
在一个实施例中,数据存储列表中的存储数据按列存储,服务器可以按照从数据存储列表的头部自上而下的顺序依次读取存储数据。
步骤404,在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员。
具体地,服务器读取到数据存储列表中的存储数据后,触发数据运算成员查询指令,根据数据运算成员查询指令在数据运算成员集合中查询与读取到的存储数据匹配的数据运算成员。
在一个实施例中,服务器将读取到的存储数据与数据运算成员集合中的数据运算成员逐一进行比较,当数据运算成员集合中存在于读取到的存储数据相同的数据运算成员时,将与读取到的存储数据相同的数据运算成员作为与读取到的存储数据匹配的数据运算成员。
步骤406,当查询到与读取到的存储数据匹配的数据运算成员,获取读取到的存储数据在数据存储列表中的存储位置。
具体地,服务器在数据运算成员集合中查询到与读取到的存储数据匹配的数据运算成员后,触发位置获取指令,根据位置获取指令获取读取到的存储数据在数据存储列表中的存储位置。若服务器未在数据运算成员集合中查询到与读取到的存储数据匹配的运算数据成员,确认读取到的存储数据为非运算数据成员,继续按照存储顺序依次读取数据存储列表中的存储数据。
步骤408,根据读取到的存储数据和获取到的存储位置生成数据查询结果。
具体地,服务器在数据运算成员集合中查询到与读取到的存储数据匹配的数据运算成员后,确定读取到的存储数据为需要进行位图运算的数据运算成员。服务器根据读取到的存储数据及存储数据在数据存储列表中的存储位置得到数据查询结果,数据查询结果可以是记录数据运算成员存储位置的列表。
本实施例中,按照存储顺序依次读取数据存储列表中的存储数据,在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员,当查询到与读取到的存储数据匹配的数据运算成员时,确定读取到的存储数据是数据运算成员,再获取读取到的存储数据在数据存储列表中的存储位置,根据读取到的存储数据和获取到的存储位置生成数据查询结果,提高了获取数据查询结果的准确性。
如图5所示,在一个实施例中,步骤210具体还包括生成运算结果位图的步骤,该步骤具体包括如下步骤:
步骤502,提取数据查询结果中数据运算成员对应的存储位置。
具体地,服务器获取数据查询结果,从数据查询结果中提取记录的各数据运算成员在数据存储列表中的存储位置。
步骤504,根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置。
其中,运算位图是服务器构建的与数据存储列表长度相同的位图,服务器对运算位图进行数值调整后得到运算结果位图。
具体地,服务器从数据查询结果中提取到运算数据成员在数据存储列表中的存储位置后,在运算位图中查询对应的数值位置,将查询到的数值位置作为与确定的数据运算成员对应的数值位置。
在一个实施例中,服务器提取到的存储位置及运算位图中的数值位置可以是行数数值。服务器提取到数据运算成员在数据存储列表中的行数数值后,在运算位图中查询相同行数数值的数值位置,将查询到的数值位置作为与确定的数据运算成员对应的数值位置。
步骤506,根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图。
其中,运算结果位图是对数据运算成员集合中的数据运算成员进行位图运算所得结果的位图。
具体地,服务器在运算位图中确定与数据运算成员对应的数值位置后,再确定运算位图中非数据运算成员对应的数值位置,按照预设规则,对运算位图中数据运算成员对应的数值位置和非数据运算成员对应的数值位置进行数值调整,得到数据运算成员集合对应的运算结果位图。
本实施例中,提取数据查询结果中数据运算成员对应的存储位置,根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置,再根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图,无需读取各数据运算成员的位图,而是根据数据运算成员在数据存储列表中的存储位置得到运算结果位图,提升了位图运算的速度。
如图6所示,在一个实施例中,步骤506具体还包括对运算位图进行数值调整的步骤,该步骤具体包括如下步骤:
步骤602,将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值。
具体地,服务器在运算位图中确定与数据运算成员对应的数值位置后,按照预设规则,将数据运算成员对应的数值位置所对应的数值调整为预设第一数值。
步骤604,根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置。
具体地,服务器在运算位图中确定与数据运算成员对应的数值位置后,将运算位图中余下的数值位置作为非数据运算成员对应的数值位置。
步骤606,将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。
具体地,服务器确定运算位图中非数据运算成员对应的数值位置后,按照预设规则,将非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。预设第一数值和预设第二数值是相反的二进制数值。
本实施例中,将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值,根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置,将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图,提高了得到运算结果位图的准确性。
举例说明,图7为一个实施例中位图数据处理的示意图。具体地,参照图7,服务器识别位图运算指令中的位图运算类型为或运算类型为例。服务器根据位图运算指令,对数据存储列表中的数据运算成员集合{3,4}中的数据运算成员3和数据运算成员4进行位图运算。在实际应用中,本申请方案可以对多个数据运算成员进行位图运算,此处仅列举两个数据运算成员。服务器按照存储顺序依次读取数据存储列表中的存储数据。服务器读取到存储数据3时,在数据运算成员集合{3,4}中进行查询,查询到与存储数据3匹配的数据运算成员3,获取存储数据3在数据存储列表中的存储位置为第1行,确定运算位图的第1行是与数据运算成员集合中的数据运算成员对应的数值位置,并将运算位图第1行所对应的数值调整为预设第一数值1。
当服务器读取到存储数据2,在数据运算成员集合{3,4}中进行查询,未查询到与存储数据2匹配的数据运算成员,服务器将继续读取数据存储列表。当服务器读取到存储数据4,在数据运算成员集合{3,4}中进行查询,查询到与存储数据4匹配的数据运算成员4,获取存储数据4在数据存储列表中的存储位置为第3行,将运算位图第4行所对应的数值调整为预设第一数值1。服务器读取数据存储列表完毕后,将运算位图中未经数值调整的数值位置对应的数值调整为预设第二数值,得到数据运算成员{3,4}的运算结果位图。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种位图数据处理装置800,包括:指令获取模块802、列表获取模块804、集合获取模块806、列表查询模块808和位图生成模块810,其中:
指令获取模块802,用于获取位图运算指令。
列表获取模块804,用于根据位图运算指令获取数据存储列表。
集合获取模块806,用于从位图运算指令中提取数据运算成员,得到数据运算成员集合。
列表查询模块808,用于在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果。
位图生成模块810,用于根据数据查询结果生成数据运算成员集合对应的运算结果位图。
本实施例中,通过位图运算指令、数据存储列表和从位图运算指令中提取的数据运算成员集合,在数据存储列表中查询数据运算成员集合中的数据运算成员,根据数据查询结果生成数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
在一个实施例中,列表获取模块804包括:标识提取模块和查询模块,其中:
标识提取模块,用于提取位图运算指令中的数据存储列表标识。
查询模块,用于根据数据存储列表标识,查询数据存储列表。
本实施例中,提取位图运算指令中的数据存储列表标识,根据数据存储列表标识,查询数据存储列表,提高了在数据库中获取数据存储列表的准确性。
在一个实施例中,列表查询模块808包括:数据读取模块、成员查询模块、位置获取模块和结果生成模块,其中:
数据读取模块,用于按照存储顺序依次读取数据存储列表中的存储数据。
成员查询模块,用于在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员。
位置获取模块,用于当查询到与读取到的存储数据匹配的数据运算成员,获取读取到的存储数据在数据存储列表中的存储位置。
结果生成模块,用于根据读取到的存储数据和获取到的存储位置生成数据查询结果。
本实施例中,按照存储顺序依次读取数据存储列表中的存储数据,在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员,当查询到与读取到的存储数据匹配的数据运算成员时,确定读取到的存储数据是数据运算成员,再获取读取到的存储数据在数据存储列表中的存储位置,根据读取到的存储数据和获取到的存储位置生成数据查询结果,提高了获取数据查询结果的准确性。
在一个实施例中,位图生成模块810还包括:位置提取模块、位置确定模块和数值调整模块,其中:
位置提取模块,用于提取数据查询结果中数据运算成员对应的存储位置。
位置确定模块,用于根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置。
数值调整模块,用于根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图。
本实施例中,提取数据查询结果中数据运算成员对应的存储位置,根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置,再根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图,无需读取各数据运算成员的位图,而是根据数据运算成员在数据存储列表中的存储位置得到运算结果位图,提升了位图运算的速度。
在一个实施例中,位图生成模块810还用于将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值;根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置;将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。
本实施例中,将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值,根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置,将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图,提高了得到运算结果位图的准确性。
关于位图数据处理装置的具体限定可以参见上文中对于位图数据处理方法的限定,在此不再赘述。上述位图数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用于位图数据处理过程中所需的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现一种位图数据处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取位图运算指令;根据位图运算指令获取数据存储列表;从位图运算指令中提取数据运算成员,得到数据运算成员集合;在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果;根据数据查询结果生成数据运算成员集合对应的运算结果位图。
在一个实施例中,根据位图运算指令获取数据存储列表包括:提取位图运算指令中的数据存储列表标识;根据数据存储列表标识,查询数据存储列表。
在一个实施例中,在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果包括:按照存储顺序依次读取数据存储列表中的存储数据;在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员;当查询到与读取到的存储数据匹配的数据运算成员,获取读取到的存储数据在数据存储列表中的存储位置;根据读取到的存储数据和获取到的存储位置生成数据查询结果。
在一个实施例中,根据数据查询结果生成数据运算成员对应的运算结果位图包括:提取数据查询结果中数据运算成员对应的存储位置;根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置;根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图。
在一个实施例中,根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图,包括:将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值;根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置;将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。
本实施例中,通过位图运算指令、数据存储列表和从位图运算指令中提取的数据运算成员集合,在数据存储列表中查询数据运算成员集合中的数据运算成员,根据数据查询结果生成数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取位图运算指令;根据位图运算指令获取数据存储列表;从位图运算指令中提取数据运算成员,得到数据运算成员集合;在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果;根据数据查询结果生成数据运算成员集合对应的运算结果位图。
在一个实施例中,根据位图运算指令获取数据存储列表包括:提取位图运算指令中的数据存储列表标识;根据数据存储列表标识,查询数据存储列表。
在一个实施例中,在数据存储列表中查询数据运算成员集合中的数据运算成员,得到数据查询结果包括:按照存储顺序依次读取数据存储列表中的存储数据;在数据运算成员集合查询与读取到的存储数据匹配的数据运算成员;当查询到与读取到的存储数据匹配的数据运算成员,获取读取到的存储数据在数据存储列表中的存储位置;根据读取到的存储数据和获取到的存储位置生成数据查询结果。
在一个实施例中,根据数据查询结果生成数据运算成员对应的运算结果位图包括:提取数据查询结果中数据运算成员对应的存储位置;根据提取到的存储位置,在运算位图中确定数据运算成员对应的数值位置;根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图。
在一个实施例中,根据数据运算成员对应的数值位置对运算位图中的数值进行调整,生成数据运算成员集合对应的运算结果位图,包括:将运算位图中数据运算成员对应的数值位置所对应的数值调整为预设第一数值;根据数据运算成员对应的数值位置,确定运算位图中非数据运算成员对应的数值位置;将运算位图中非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到数据运算成员集合对应的运算结果位图。
本实施例中,通过位图运算指令、数据存储列表和从位图运算指令中提取的数据运算成员集合,在数据存储列表中查询数据运算成员集合中的数据运算成员,根据数据查询结果生成数据运算成员集合对应的运算结果位图。在位图运算过程中,无需读取各数据运算成员的位图,而是根据数据存储列表直接生成数据运算成员集合对应的运算结果位图,减少了需要读取位图数量,从而提升了位图运算的速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种位图数据处理方法,所述方法包括:
获取位图运算指令;其中,所述位图运算指令是对数据库列表中指定的数据运算成员对应的位图进行位图运算的指令,所述位图运算指令根据数据运算成员和数据存储列表标识生成;所述数据存储列表标识包括数据存储列表的存储地址;
根据所述位图运算指令获取数据存储列表;
从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;其中,所述数据查询结果用于表征所述数据存储列表中的每一位存储数据与所述数据运算成员是否匹配;
根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述位图运算指令获取数据存储列表包括:
提取所述位图运算指令中的数据存储列表标识;
根据所述数据存储列表标识,查询数据存储列表。
3.根据权利要求1所述的方法,其特征在于,所述在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果包括:
按照存储顺序依次读取所述数据存储列表中的存储数据;
在所述数据运算成员集合查询与读取到的存储数据匹配的数据运算成员;
当查询到与读取到的存储数据匹配的数据运算成员,获取所述读取到的存储数据在所述数据存储列表中的存储位置;
根据所述读取到的存储数据和获取到的存储位置生成数据查询结果。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据查询结果生成所述数据运算成员对应的运算结果位图包括:
提取所述数据查询结果中数据运算成员对应的存储位置;
根据所述提取到的存储位置,在运算位图中确定所述数据运算成员对应的数值位置;
根据所述数据运算成员对应的数值位置对所述运算位图中的数值进行调整,生成所述数据运算成员集合对应的运算结果位图。
5.根据权利要求4所述的方法,其特征在于,所述根据数据运算成员对应的数值位置对所述运算位图中的数值进行调整,生成所述数据运算成员集合对应的运算结果位图,包括:
将所述运算位图中所述数据运算成员对应的数值位置所对应的数值调整为预设第一数值;
根据所述数据运算成员对应的数值位置,确定所述运算位图中非数据运算成员对应的数值位置;
将所述运算位图中所述非数据运算成员对应的数值位置所对应的数值调整为预设第二数值,得到所述数据运算成员集合对应的运算结果位图。
6.一种位图数据处理装置,其特征在于,所述装置包括:
指令获取模块,用于获取位图运算指令;其中,所述位图运算指令是对数据库列表中指定的数据运算成员对应的位图进行位图运算的指令,所述位图运算指令根据数据运算成员和数据存储列表标识生成;所述数据存储列表标识包括数据存储列表的存储地址;
列表获取模块,用于根据所述位图运算指令获取数据存储列表;
集合获取模块,用于从所述位图运算指令中提取数据运算成员,得到数据运算成员集合;
列表查询模块,用于在所述数据存储列表中查询所述数据运算成员集合中的数据运算成员,得到数据查询结果;其中,所述数据查询结果用于表征所述数据存储列表中的每一位存储数据与所述数据运算成员是否匹配;
位图生成模块,用于根据所述数据查询结果生成所述数据运算成员集合对应的运算结果位图。
7.根据权利要求6所述的装置,其特征在于,所述列表查询模块包括:
数据读取模块,用于按照存储顺序依次读取所述数据存储列表中的存储数据;
成员查询模块,用于在所述数据运算成员集合查询与读取到的存储数据匹配的数据运算成员;
位置获取模块,用于当查询到与读取到的存储数据匹配的数据运算成员,获取所述读取到的存储数据在所述数据存储列表中的存储位置;
结果生成模块,用于根据所述读取到的存储数据和获取到的存储位置生成数据查询结果。
8.根据权利要求6所述的装置,其特征在于,所述位图生成模块包括:
位置提取模块,用于提取所述数据查询结果中数据运算成员对应的存储位置;
位置确定模块,用于根据所述提取到的存储位置,在运算位图中确定所述数据运算成员对应的数值位置;
数值调整模块,用于根据所述数据运算成员对应的数值位置对所述运算位图中的数值进行调整,生成所述数据运算成员集合对应的运算结果位图。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360595.6A CN109656948B (zh) | 2018-11-15 | 2018-11-15 | 位图数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360595.6A CN109656948B (zh) | 2018-11-15 | 2018-11-15 | 位图数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656948A CN109656948A (zh) | 2019-04-19 |
CN109656948B true CN109656948B (zh) | 2021-01-22 |
Family
ID=66110942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811360595.6A Active CN109656948B (zh) | 2018-11-15 | 2018-11-15 | 位图数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656948B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078920B (zh) * | 2019-11-22 | 2021-09-03 | 北京云宽志业网络技术有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663116A (zh) * | 2012-04-11 | 2012-09-12 | 中国人民大学 | 面向列存储数据仓库的多维olap查询处理方法 |
CN103314377A (zh) * | 2011-01-12 | 2013-09-18 | 国际商业机器公司 | 稀疏索引表组织 |
CN105630972A (zh) * | 2015-12-24 | 2016-06-01 | 网易(杭州)网络有限公司 | 数据处理方法及装置 |
CN107221067A (zh) * | 2017-05-22 | 2017-09-29 | 深圳市穗彩科技开发有限公司 | 一种流水号存取控制方法及系统 |
CN107704527A (zh) * | 2017-09-18 | 2018-02-16 | 华为技术有限公司 | 数据存储方法、装置及存储介质 |
-
2018
- 2018-11-15 CN CN201811360595.6A patent/CN109656948B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103314377A (zh) * | 2011-01-12 | 2013-09-18 | 国际商业机器公司 | 稀疏索引表组织 |
CN102663116A (zh) * | 2012-04-11 | 2012-09-12 | 中国人民大学 | 面向列存储数据仓库的多维olap查询处理方法 |
CN105630972A (zh) * | 2015-12-24 | 2016-06-01 | 网易(杭州)网络有限公司 | 数据处理方法及装置 |
CN107221067A (zh) * | 2017-05-22 | 2017-09-29 | 深圳市穗彩科技开发有限公司 | 一种流水号存取控制方法及系统 |
CN107704527A (zh) * | 2017-09-18 | 2018-02-16 | 华为技术有限公司 | 数据存储方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109656948A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558440B (zh) | 数据批量处理方法、装置、计算机设备及存储介质 | |
CN109558404B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN111143462B (zh) | 数据导出的方法、装置、计算机设备和存储介质 | |
CN109492019B (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
CN109189799B (zh) | 业务数据查询方法、装置、计算机设备及存储介质 | |
CN109902272B (zh) | 电子表格数据处理方法、装置、计算机设备和存储介质 | |
CN110750267B (zh) | 业务信息更新方法、装置、计算机设备和存储介质 | |
CN109597571B (zh) | 数据存储方法、数据读取方法、装置和计算机设备 | |
CN108717426B (zh) | 企业数据的更新方法、装置、计算机设备及存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110213392B (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
CN109413153B (zh) | 数据爬取方法、装置、计算机设备和存储介质 | |
CN109614399B (zh) | 位图数据查询方法、装置、计算机设备和存储介质 | |
CN109460541B (zh) | 词汇关系标注方法、装置、计算机设备和存储介质 | |
CN110555165B (zh) | 信息识别方法、装置、计算机设备和存储介质 | |
CN110457401B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110275703B (zh) | 键值对数据的赋值方法、装置、计算机设备和存储介质 | |
CN109656948B (zh) | 位图数据处理方法、装置、计算机设备和存储介质 | |
CN111208941A (zh) | 文件管理方法、装置、计算机设备和计算机可读存储介质 | |
CN109656474B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110569083A (zh) | 图像分割处理方法、装置、计算机设备和存储介质 | |
CN111178024B (zh) | 数据表拼接方法、装置、计算机设备和存储介质 | |
CN110597782B (zh) | 数据库动态切换方法、装置、计算机设备和存储介质 | |
CN110265104B (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 |