CN108279943A - 索引加载方法和装置 - Google Patents
索引加载方法和装置 Download PDFInfo
- Publication number
- CN108279943A CN108279943A CN201710007015.4A CN201710007015A CN108279943A CN 108279943 A CN108279943 A CN 108279943A CN 201710007015 A CN201710007015 A CN 201710007015A CN 108279943 A CN108279943 A CN 108279943A
- Authority
- CN
- China
- Prior art keywords
- storage data
- load
- group
- index
- thread
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
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
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种索引加载方法和装置。
背景技术
在基于磁盘或者共享内存的存储系统里,索引是相对原始存储而言,相对独立的内存存储数据结构。以缓存系统为例,索引的存储内容一般是对应存储数据值的指针,其中,指针可以理解为存储一个变量地址的的对象。
为了方便维护和高效使用,索引一般存储在服务器的缓存服务进程的内存里,所以当缓存服务重启时(即杀死原服务进程,重新启动新服务进程时),内存里的索引需要从零开始加载。目前的索引加载方法,是遍历扫描存储空间中的全部存储数据,根据存储数据在缓存服务进程的内存中重建索引结构。
现有的索引加载方法,当存储数据的数量不大时,加载速度尚可接受。但是,当数据量特别大时,比如存储了50G字节(Bbyte)的数据,每个数据占用50字节的空间,则一共是10亿条数据记录,遍历10亿次的开销是巨大的,一般的2.0Ghz主频的Linux服务器完成这样的重建至少需要几十分钟,对于缓存服务重启来说,这样的时间消耗是不可以接受的。
因此,如何提升缓存服务重启时的索引加载速度,避免存储的数据量较大时缓存服务重启时间过久,是当前亟需解决的技术问题。
发明内容
本发明实施例的主要目的在于提供一种索引加载方法和装置,旨在提高缓存服务重启时的索引加载速度,解决存储的数据量较大时缓存服务重启时间过久的技术问题。
为达以上目的,一方面提出一种索引加载方法,所述方法包括以下步骤:
将存储数据拆分为至少两组;
创建至少两个加载线程;
利用各个加载线程并行扫描各组存储数据进行索引加载。
可选地,所述将存储数据拆分为至少两组包括:
将存储空间拆分为至少两个子空间;
建立存储数据的键值与子空间的映射关系;
根据所述映射关系将存储数据分组写入各个子空间内。
可选地,所述创建至少两个加载线程包括:
获取每一组存储数据的存储地址;
为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址。
可选地,所述为每一组存储数据创建一个加载线程的步骤的同时还包括:
为每一组存储数据分配一个加载索引的内存空间。
可选地,所述利用各个加载线程并行扫描各组存储数据进行索引加载包括:利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表。
另一方面,提出一种索引加载装置,所述装置包括:
拆分模块,用于将存储数据拆分为至少两组;
创建模块,用于创建至少两个加载线程;
扫描模块,用于利用各个加载线程并行扫描各组存储数据进行索引加载。
可选地,所述拆分模块用于:将存储空间拆分为至少两个子空间,建立存储数据的键值与子空间的映射关系,根据所述映射关系将存储数据分组写入各个子空间内。
可选地,所述创建模块用于:获取每一组存储数据的存储地址;为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址。
可选地,所述创建模块还用于:为每一组存储数据分配一个加载索引的内存空间。
可选地,所述扫描模块用于:利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表。
本发明实施例所提供的一种索引加载方法,通过将存储数据拆分成多组,并创建多个加载线程,利用多个加载线程并行扫描多组存储数据,实现了多线程并发加载,使得加载速度成倍提高,从而大大提升了缓存服务重启后的索引加载速度,解决了存储的数据量较大时缓存服务重启时间过久的技术问题。
附图说明
图1是本发明第一实施例的索引加载方法的流程图;
图2是本发明实施例中存储数据被拆分后的示意图;
图3是本发明实施例中将存储数据拆分为至少两组的步骤的具体流程图;
图4是本发明实施例中并发加载索引的示意图;
图5是本发明实施例中通过主线程控制索引加载流程的示意图;
图6是本发明第二实施例的索引加载装置的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参见图1,提出本发明第一实施例的索引加载方法,所述方法包括以下步骤:
S11、将存储数据拆分为至少两组。
本步骤S11中,对整个存储数据进行拆分,可以根据需要拆分成两组或者多组,优选每一组存储数据的大小相等。如图2所示,可以将整个存储数据等分为K(K≥2)组,每一组有n(n≥2)条数据。
如图3所示,本发明实施例中,优选通过以下方式进行存储数据拆分:
S111、将整个存储空间拆分为至少两个子空间。
假设整个存储空间的大小为50G字节,拆分为K个子空间,则每个子空间的大小为50G/K字节,这里的拆分为逻辑拆分,因此K个子空间可以是一整块物理连续存储空间。
S112、建立存储数据的键值与子空间的映射关系。
比如按号段划分子空间(即子空间1、子空间2…子空间K),映射关系的函数表达式为f(x)=x%K,其中,f(x)为子空间的号段,x为存储数据的键值(key)。
S113、根据映射关系将存储数据分组写入各个子空间内。
本发明实施例中,在进行数据写入时,不像现有技术那样直接将所有存储数据均写入同一个存储区域,而是先根据存储数据的键值确定其对应的子空间,然后顺序写入对应的子空间中,从而将不同的存储数据分别写入不同的存储区域内,实现对存储数据的分组存储。以映射关系为f(x)=x%K为例,假设存储数据的键值x为100004(如微信号),K=1000,则f(100004)=4,即键值为100004的存储数据对应子空间4,从而将该存储数据顺序写入子空间4内。其中,每一个子空间可以存储一个键值或多个键值的存储数据。
从而,通过对存储空间进行拆分,再将存储数据分组写入拆分的各个子空间内,就实现了对存储数据的分组。由于事先建立了存储数据的键值与子空间的映射关系,后续查找存储数据时,则可以根据该映射关系确定存储数据对应哪一个索引表,从而可以快速查找存储数据。
在其它实施例中,也可以直接对已经写入了存储数据的存储空间进行拆分,拆分为至少两个子空间,每个子空间内的存储数据为一组,也能实现对存储数据的分组。只是这种拆分方式没有建立存储数据的键值与子空间的映射关系,因此后续查找存储数据时无法准确的获知该存储数据对应哪一个索引表,从而影响数据查找速度。
S12、创建至少两个加载线程。
本步骤S12中,首先获取每一组存储数据的存储地址,然后为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址,以使得加载线程后续能够根据存储地址的指引扫描对应的一组存储数据。
例如,假设存储空间被拆分为多个子空间,每一个子空间中存储了一组存储数据。首先获取每一个子空间的地址,然后依次为每一个子空间内的存储数据创建一个加载线程,并指向该子空间的地址,以使得加载线程后续根据地址的指引在该子空间中扫描其中的存储数据。
进一步地,在为每一组存储数据创建加载线程的同时,还为每一组存储数据分配一个加载索引的内存空间,从而使得每一组存储数据对应的索引表对应存储一个内存空间,实现对不同组存储数据的索引表的分组存储,有利于提高后续存储数据的查找效率。
S13、利用各个加载线程并行扫描各组存储数据进行索引加载。
本步骤S13中,利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表,即每一组存储数据对应一个索引表。本发明实施例所述的索引,与传统数据库里的索引概念类似,索引提供存储所在数据值的指针以及相关缩略信息,在缓存系统里的作用是提高数据查找的速度。
如图4所示,各个加载线程并行对子空间1、子空间2、……子空间K内的K组存储数据进行索引加载,每个子空间内包括n条数据,每一个子空间内的存储数据对应一个索引表,分别为索引表1、索引表2、……索引表K。每个子空间内的灰色数据块表示已经建立对应索引,其中:子空间1内的存储数据Data(数据)1-1、Data1-2和Data1-3分别对应索引表1中的Index(索引)1、Index2和Index3,子空间2内的存储数据Data2-1、Data2-2、Data2-3和Data2-4分别对应索引表2中的Index1、Index2、Index3和Index4,子空间K内的存储数据Datak-1、Datak-2和Datak-3分别对应索引表1中的Index1、Index2和Index3。索引表中的下标1~下标M表示索引表中的位置标志,如子空间1内的存储数据Data1-1的索引Index1在索引表1中的下标4的位置。
本发明实施例中的索引表的数据结构为开链哈希表结构,其中,哈希表就是根据键值做一次映射函数运算,映射结果直接对应其内存位置的一个表,这个映射函数称为哈希函数。以下举例说明具体如何建立索引:
假设哈希函数为f(x)=x%10000,其中f(x)代表索引在索引表中的位置(即下标号码),x为存储数据的键值。如图4所示,假设子空间1中的存储数据Data1-1的键值输入为x=100004,则输出为f(100004)=4,则Data1-1的索引在索引表1中对应的位置为下标4。假设子空间1中的存储数据Data1-2的键值为100001,则有f(100001)=1,即Data1-2的索引在索引表1中对应的位置为下标1。假设子空间1中的存储数据Data1-3的键值为120001,则有f(120001)=1,则Data1-3与Data1-2一样,在索引表1中对应的位置都是下标1,这种场景称为哈希冲突。此时,则采用开链方式,即以索引表1中下标1的节点作为一个链表的头,新建一个链表,往链表里新插一个节点,这个就是Data1-3对应的index3节点。这样一整套索引结构,就是开链哈希表。只要控制每个索引下标发生哈希冲突的次数是相对收敛的,比如100次之内,那么索引按键值查找的性能就是高效的。
采用上述方法,各个加载线程依次对子空间中的n条数据建立索引,当所有的K个加载线程均完成各自对应的存储数据的索引加载重建时,则获得K份索引表,该K份索引表则为整个存储数据的索引表。
本实施例以开链哈希表为例进行举例说明,本领域技术人员可以理解,索引表还可以是其它的数据结构,本发明对此不再一一列举赘述。
本实施例中,K个子空间在逻辑上相对独立,因此可以各自并行地被遍历扫描,即K个加载线程并行遍历扫描K个子空间内的存储数据,相对于现有技术来说,相当于以K倍的速率进行索引加载重建,大大提高了索引加载速度。
在具体实施时,可以通过一个主线程来控制索引加载流程,如图5所示,具体包括以下步骤:
S101、主线程获取K个子空间的地址,设置i=0。
S102、判断i是否大于等于K。当i大于等于K时,进入步骤S107;当i小于K时,进入步骤S103。
S103、主线程创建索引表i的内存空间,并创建加载线程i。
S104、主线程对i加1。
当创建了加载线程后,主线程不用等待加载线程加载索引,立即对i+1,并返回步骤S102,进行下一个加载线程的创建。
S105、加载线程i扫描子空间i内的存储数据,对索引表i进行加载重建。
S106、当索引表i加载完成后,加载线程i退出。
加载线程被创建后,立即进行索引加载重建,直至索引加载完成后退出。
整个流程中,主线程依次建立K个加载线程,该K个加载线程并行扫描对应的子空间内的存储数据进行索引加载。
S107、主线程等待加载线程0~K-1退出,当K个加载线程全部退出后,索引并行加载完成。
当完成K个加载线程创建完成后,主线程则在外部等待全部加载线程退出,当全部加载线程退出后,并行加载索引的任务完成,成功获取K份加载重建好的索引表,而加载速率是原来的K倍。
本实施例中,一个加载线程对应一组存储数据。在其它实施例中,一个加载线程也可以对应至少两组存储数据,即每个加载线程依次扫描至少两组存储数据进行索引加载。
本发明实施例的索引加载方法,通过将存储数据拆分成多组,并创建多个加载线程,利用多个加载线程并行扫描多组存储数据,实现了多线程并发加载,使得加载速度成倍提高,从而大大提升了缓存服务重启后的索引加载速度,解决了存储的数据量较大时缓存服务重启时间过久的技术问题。
实施例二
参照图6,提出本发明第二实施例的索引加载装置,所述装置包括拆分模块110、创建模块120和扫描模块130,其中:
拆分模块110:用于将存储数据拆分为至少两组。
具体的,拆分模块110对整个存储数据进行拆分,可以根据需要拆分成两组或者多组,优选每一组存储数据的大小相等。如图2所示,拆分模块110将整个存储数据等分为K(K≥2)组,每一组有n(n≥2)条数据。
本发明实施例中,拆分模块110优选通过以下方式进行存储数据拆分:将整个存储空间拆分为至少两个子空间,建立存储数据的键值与子空间的映射关系,根据映射关系将存储数据分组写入各个子空间内。
从而,通过对存储空间进行拆分,再将存储数据分组写入拆分的各个子空间内,就实现了对存储数据的分组。由于事先建立了存储数据的键值与子空间的映射关系,后续查找存储数据时,则可以根据该映射关系确定存储数据对应哪一个索引表,从而可以快速查找存储数据。
在其它实施例中,拆分模块110也可以直接对已经写入了存储数据的存储空间进行拆分,拆分为至少两个子空间,每个子空间内的存储数据为一组,也能实现对存储数据的分组。只是这种拆分方式没有建立存储数据的键值与子空间的映射关系,因此后续查找存储数据时无法准确的获知该存储数据对应哪一个索引表,从而影响数据查找速度。
创建模块120:用于创建至少两个加载线程。
具体的,创建模块120首先获取每一组存储数据的存储地址,然后为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址,以使得加载线程后续能够根据存储地址的指引扫描对应的一组存储数据。
例如,假设存储空间被拆分为多个子空间,每一个子空间中存储了一组存储数据。创建模块120首先获取每一个子空间的地址,然后依次为每一个子空间内的存储数据创建一个加载线程,并指向该子空间的地址,以使得加载线程后续根据地址的指引在该子空间中扫描其中的存储数据。
进一步地,在为每一组存储数据创建加载线程的同时,创建模块120还为每一组存储数据分配一个加载索引的内存空间,从而使得每一组存储数据对应的索引表对应存储一个内存空间,实现对不同组存储数据的索引表的分组存储,有利于提高后续存储数据的查找效率。
扫描模块130:用于利用各个加载线程并行扫描各组存储数据进行索引加载。
具体的,扫描模块130利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表,即每一组存储数据对应一个索引表。
本实施例中,K个子空间在逻辑上相对独立,因此可以各自并行地被遍历扫描,即扫描模块130利用K个加载线程并行遍历扫描K个子空间内的存储数据,相对于现有技术来说,相当于以K倍的速率进行索引加载重建,大大提高了索引加载速度。
本发明实施例的索引加载装置,通过将存储数据拆分成多组,并创建多个加载线程,利用多个加载线程并行扫描多组存储数据,实现了多线程并发加载,使得加载速度成倍提高,从而大大提升了缓存服务重启后的索引加载速度,解决了存储的数据量较大时缓存服务重启时间过久的技术问题。
需要说明的是:上述实施例提供的索引加载装置与索引加载方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。
本发明实施例的索引加载方法和索引加载装置,主要应用于服务器,特别是服务器的缓存系统。本发明实施例通过逻辑层面拆分存储空间(实际存储空间可以是物理连续的一块),让被拆分的多块存储空间中的存储数据可以被并行扫描,从而引入多线程并行加载机制,为缓存系统索引加载重建进行提速,以解决存储的数据量较大时缓存服务重启时间过久的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种索引加载方法,其特征在于,包括以下步骤:
将存储数据拆分为至少两组;
创建至少两个加载线程;
利用各个加载线程并行扫描各组存储数据进行索引加载。
2.根据权利要求1所述的索引加载方法,其特征在于,所述将存储数据拆分为至少两组包括:
将存储空间拆分为至少两个子空间;
建立存储数据的键值与子空间的映射关系;
根据所述映射关系将存储数据分组写入各个子空间内。
3.根据权利要求1所述的索引加载方法,其特征在于,所述创建至少两个加载线程包括:
获取每一组存储数据的存储地址;
为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址。
4.根据权利要求3所述的索引加载方法,其特征在于,所述为每一组存储数据创建一个加载线程的步骤的同时还包括:
为每一组存储数据分配一个加载索引的内存空间。
5.根据权利要求1-4任一项所述的索引加载方法,其特征在于,所述利用各个加载线程并行扫描各组存储数据进行索引加载包括:
利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表。
6.一种索引加载装置,其特征在于,包括:
拆分模块,用于将存储数据拆分为至少两组;
创建模块,用于创建至少两个加载线程;
扫描模块,用于利用各个加载线程并行扫描各组存储数据进行索引加载。
7.根据权利要求6所述的索引加载装置,其特征在于,所述拆分模块用于:将存储空间拆分为至少两个子空间,建立存储数据的键值与子空间的映射关系,根据所述映射关系将存储数据分组写入各个子空间内。
8.根据权利要求6所述的索引加载装置,其特征在于,所述创建模块用于:获取每一组存储数据的存储地址;为每一组存储数据创建一个加载线程,并指向该组存储数据的存储地址。
9.根据权利要求8所述的索引加载装置,其特征在于,所述创建模块还用于:为每一组存储数据分配一个加载索引的内存空间。
10.根据权利要求6-9任一项所述的索引加载装置,其特征在于,所述扫描模块用于:利用每个加载线程扫描一组存储数据进行索引加载得到一个索引表,最终获得至少两个索引表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710007015.4A CN108279943B (zh) | 2017-01-05 | 2017-01-05 | 索引加载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710007015.4A CN108279943B (zh) | 2017-01-05 | 2017-01-05 | 索引加载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108279943A true CN108279943A (zh) | 2018-07-13 |
CN108279943B CN108279943B (zh) | 2020-09-11 |
Family
ID=62800467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710007015.4A Active CN108279943B (zh) | 2017-01-05 | 2017-01-05 | 索引加载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279943B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN110879744A (zh) * | 2018-09-06 | 2020-03-13 | 第四范式(北京)技术有限公司 | 利用多线程执行计算图的方法和系统 |
CN111338560A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种缓存重建方法和装置 |
CN113282314A (zh) * | 2021-05-12 | 2021-08-20 | 聚融医疗科技(杭州)有限公司 | 一种超声扫描控制参数下发方法及系统 |
CN117519839A (zh) * | 2024-01-05 | 2024-02-06 | 恒生电子股份有限公司 | 数据加载方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157592A1 (en) * | 2007-12-12 | 2009-06-18 | Sun Microsystems, Inc. | Method and system for distributed bulk matching and loading |
CN101989301A (zh) * | 2010-10-22 | 2011-03-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
CN102622414A (zh) * | 2012-02-17 | 2012-08-01 | 清华大学 | 基于对等结构的分布式高维索引并行查询框架 |
CN103034730A (zh) * | 2012-12-21 | 2013-04-10 | 厦门市美亚柏科信息股份有限公司 | 一种基于安卓平台的数据处理方法和系统 |
CN103049533A (zh) * | 2012-12-23 | 2013-04-17 | 北京人大金仓信息技术股份有限公司 | 一种快速向数据库加载数据的方法 |
CN104199919A (zh) * | 2014-09-01 | 2014-12-10 | 江苏惠网信息技术有限公司 | 一种实现超大规模数据实时读取的方法 |
CN104850457A (zh) * | 2015-05-27 | 2015-08-19 | 北京航天理想科技股份有限公司 | 一种关联图中海量图像的快速加载显示方法及系统 |
-
2017
- 2017-01-05 CN CN201710007015.4A patent/CN108279943B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090157592A1 (en) * | 2007-12-12 | 2009-06-18 | Sun Microsystems, Inc. | Method and system for distributed bulk matching and loading |
CN101989301A (zh) * | 2010-10-22 | 2011-03-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
CN102622414A (zh) * | 2012-02-17 | 2012-08-01 | 清华大学 | 基于对等结构的分布式高维索引并行查询框架 |
CN103034730A (zh) * | 2012-12-21 | 2013-04-10 | 厦门市美亚柏科信息股份有限公司 | 一种基于安卓平台的数据处理方法和系统 |
CN103049533A (zh) * | 2012-12-23 | 2013-04-17 | 北京人大金仓信息技术股份有限公司 | 一种快速向数据库加载数据的方法 |
CN104199919A (zh) * | 2014-09-01 | 2014-12-10 | 江苏惠网信息技术有限公司 | 一种实现超大规模数据实时读取的方法 |
CN104850457A (zh) * | 2015-05-27 | 2015-08-19 | 北京航天理想科技股份有限公司 | 一种关联图中海量图像的快速加载显示方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866127A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 建立索引的方法以及相关装置 |
CN110879744A (zh) * | 2018-09-06 | 2020-03-13 | 第四范式(北京)技术有限公司 | 利用多线程执行计算图的方法和系统 |
CN110879744B (zh) * | 2018-09-06 | 2022-08-16 | 第四范式(北京)技术有限公司 | 利用多线程执行计算图的方法和系统 |
CN111338560A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种缓存重建方法和装置 |
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN113282314A (zh) * | 2021-05-12 | 2021-08-20 | 聚融医疗科技(杭州)有限公司 | 一种超声扫描控制参数下发方法及系统 |
CN113282314B (zh) * | 2021-05-12 | 2024-04-12 | 聚融医疗科技(杭州)有限公司 | 一种超声扫描控制参数下发方法及系统 |
CN117519839A (zh) * | 2024-01-05 | 2024-02-06 | 恒生电子股份有限公司 | 数据加载方法及装置 |
CN117519839B (zh) * | 2024-01-05 | 2024-04-16 | 恒生电子股份有限公司 | 数据加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108279943B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279943A (zh) | 索引加载方法和装置 | |
US11514309B2 (en) | Method and apparatus for accelerating distributed training of a deep neural network | |
CN111052149B (zh) | 用于确定网络中的内存需求的方法和装置 | |
CN106095592A (zh) | 一种前景应用程序场景同步方法及装置、系统 | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN108564164B (zh) | 一种基于spark平台的并行化深度学习方法 | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储系统 | |
CN113377520A (zh) | 资源调度方法、装置、设备以及存储介质 | |
US11983564B2 (en) | Scheduling of a plurality of graphic processing units | |
CN101604261B (zh) | 超级计算机的任务调度方法 | |
CN112765513A (zh) | 大规模建筑场景的细粒度化Web3D在线可视化方法 | |
US20150347470A1 (en) | Run-time decision of bulk insert for massive data loading | |
CN111552550A (zh) | 一种基于图形处理器gpu资源的任务调度方法、设备及介质 | |
CN105491150A (zh) | 基于时间序列的负载均衡处理方法及系统 | |
CN103236989A (zh) | 一种内容分发网络中的缓存控制方法、设备及系统 | |
CN108334460A (zh) | 数据缓存方法及装置 | |
CN112948043A (zh) | 大规模建筑场景的细粒度化Web3D在线可视化方法 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN112650449B (zh) | 缓存空间的释放方法、释放系统、电子设备及存储介质 | |
CN113496543A (zh) | 一种点云数据筛选方法、装置、电子设备和存储介质 | |
US9600517B2 (en) | Convert command into a BULK load operation | |
CN107967172A (zh) | 一种面向异构存储的Spark任务动态迁移方法和系统 | |
US11782765B2 (en) | Method, device, and program product for managing computing system | |
CN110879753A (zh) | 基于自动化集群资源管理的gpu加速性能优化方法和系统 | |
CN108021678B (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 |