CN108230041B - 一种基于广告投放的索引热加载方法及装置 - Google Patents
一种基于广告投放的索引热加载方法及装置 Download PDFInfo
- Publication number
- CN108230041B CN108230041B CN201810066470.6A CN201810066470A CN108230041B CN 108230041 B CN108230041 B CN 108230041B CN 201810066470 A CN201810066470 A CN 201810066470A CN 108230041 B CN108230041 B CN 108230041B
- Authority
- CN
- China
- Prior art keywords
- index
- advertisement
- index block
- directory
- bitmap file
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Library & Information Science (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种基于广告投放的索引热加载方法及装置,所述基于广告投放的索引热加载方法包括:对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;使用各备份索引块逐次更新所述目录位图文件中对应的索引块。通过将目录位图文件进行区域切分,获得多个索引块,进而每一次重新构建一个备份索引块,可大大降低内存的使用,并在构建完成后,由备份索引块替换目录位图文件中对应的索引块,而在替换更新的过程中,不影响其他索引块的检索,从而可保证检索的性能。
Description
技术领域
本发明涉及广告索引技术领域,特别是涉及一种基于广告投放的索引热加载方法及装置。
背景技术
现有技术中在实现广告投放***时基本定向条件的检索通常通过目录位图文件bitmap方式构建索引,使用本类型数据结构构建索引在广告领域基本满足投放数据量及投放性能的要求。但是由于bitmap索引在建立之初会预开辟一块内存来存放,如果大批量更新索引时会在多线程环境中出现脏读或者程序崩溃的风险,需要通过加互斥锁的方式来保证数据的一致性,这样在大批量更新索引的时候会检索索引操作会受到影响。所以目前技术的做法是如果大批量更新索引通常会有两种办法,一种是重启检索服务,另一种是同步的再开辟一块内存块,等建好备用的bitmap索引后将备用的bitmap索引指针切换上去替换旧的索引。
如上介绍两种方法批量更新索引的方法,存在以下问题:
在第一种方法中,广告索引服务有多个节点,每次需要依次重启每个节点保证线上检索服务在更新索引时高可用,带来的问题就是需要人工干预,运维成本高,可用性差。
在第二种方法中,通过建立备份bitmap的方式重建索引,如果广告投放计划数据量大的情况下会导致同时存放两个bitmap数据带来巨大的内存开销,内存冗余是一般***的两倍。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:无法保证在更新索引时检索索引不受影响,并且尽可能的控制内存使用量。
发明内容
本发明实施例提供一种基于广告投放的索引热加载方法及装置,可更新索引时降低检索索引受到的影响,且减少内存的使用量。
一方面,本发明实施例提供了一种基于广告投放的索引热加载方法,包括:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
可选的,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
使用当前备份索引块替换查找到的索引块。
可选的,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
可选的,所述对目录位图文件进行区域切分,具体包括:
统计所述目录位图文件中广告计划的全部数量;
根据以下公式计算每个索引块中包含的广告计划的数量:
m=int[n/s];
其中,m表示每个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数;
按照计算的每个索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
另一方面,本发明实施例提供了一种基于广告投放的索引热加载装置,包括:
切分单元,用于对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各所述索引块分别包括不同的广告计划;
重构单元,用于在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
替换单元,用于使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
可选的,各所述索引块与对应的备份索引块均具有成对应表示的身份识别标识;
所述替换单元包括:
第一选取模块,用于依次选取每一个备份索引块;
第一查找模块,用于针对选取的当前备份索引块,根据所述当前备份索引块的身份识别标识,从所述目录位图文件中查找到具有对应表示的身份识别标识的索引块;
第一替换模块,用于使用当前备份索引块替换查找到的索引块。
可选的,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述替换单元包括:
第二选取模块,用于依次选取每一个备份索引块;
第二查找模块,用于针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
第三查找模块,用于根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
第二替换模块,用于使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
可选的,所述切分单元包括:
统计模块,用于统计所述目录位图文件中广告计划的全部数量;
计算模块,用于根据以下公式计算每一索引块中包含的广告计划的数量:
m=int[n/s];
其中,m表示每一个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数;
切分模块,用于按照计算的每一索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
本发明还提供了另一种基于广告投放的索引热加载装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
本发明还提供了计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
上述技术方案具有如下有益效果:本发明通过将目录位图文件进行区域切分,获得多个索引块,且各索引块分别包括不同的广告计划,进而每一次重新构建一个备份索引块,可大大降低内存的使用,并在构建完成后,由备份索引块替换目录位图文件中对应的索引块,而在替换更新的过程中,不影响其他索引块的检索,从而可保证检索的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是bitmap结构图;
图2是bitmap的实施例示意图;
图3是本发明基于广告投放的索引热加载方法的流程图;
图4是bitmap的切分示意图;
图5为本发明基于广告投放的索引热加载装置的模块结构示意图。
符号说明:
切分单元—1,重构单元—2,替换单元—3。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明的技术方案之前,前先介绍一下现有技术的目录位图文件bitmap的构建及其数据结构。其中,所述目录位图文件bitmap为由多个广告物料与多个广告条件形成的广告计划索引表,一般在bitmap(广告计划索引表)中横向表示广告物料,纵向表示广告条件。
将检索的广告物料对应的多个广告条件分解为多个bit位,例如广告物料中投放中一个投放条件性别,那么投放性别有两种情况,分别是男、女,将其对应到如图1所示的bitmap中纵向1、2行中,横向是代表广告物料,纵向对比每个广告计划,假如广告计划1的投放条件是男性群体,那么其纵向的1号bit位值为1,2号bit位值为0。在检索过程的时候通过纵向位运算即可检索出来对应要投放的广告计划。
对于广告计划的广告条件对应的变化都是一一对应的,在检索的时候通过检索的广告条件来构建一个纵向的单个数据的bitmap,然后通过对查询条件的bitmap和广告计划的bitmap位运算取&得到最终的结果。
如图1所示,目录bitmap在计算机内部是都一个int64类型(其中,int64表示符号64位整数数据类型)的二维数组实现。在每次检索前会通过检索条件构建一个单列的bitmap做位运算检索。如图2所示,例如有广告物料1、广告物料2、广告物料3等,分别加入广告条件,例如性别、年龄等,如图2所示已经映射到对应的bitmap。
但是,现有技术是将整个bitmap索引构建在一个二维的int64数组内的,在更新时和多线程的读操作会出现脏读的问题,在更新索引时可能数组会收缩,导致空指针的情况从而导致***崩溃,但是重新构建完整的目标bitmap,会使得存储容量大大增加。
本发明的目的是提供一种基于广告投放的索引热加载方法,通过将目录位图文件进行区域切分,获得多个索引块,且各索引块分别包括不同的广告计划,进而每一次重新构建一个备份索引块,可大大降低内存的使用,并在构建完成后,由备份索引块替换目录位图文件中对应的索引块,而在替换更新的过程中,不影响其他索引块的检索,从而可保证检索的性能。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图3所示,本发明基于广告投放的索引热加载方法,包括:
步骤100:对目录位图文件进行区域切分,获得多个索引块。
其中,所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划。
步骤200:在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块。
步骤300:使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
其中,在步骤100中,所述对目录位图文件进行区域切分,具体包括:
步骤101:统计所述目录位图文件中广告计划的全部数量。
步骤102:根据公式(1)计算每一索引块中包含的广告计划的数量:
m=int[n/s](1);
其中,m表示每一个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数。如果n/s有余数,可将余数对应数量的广告计划单独形成一个索引块,则索引块的数量为(n+1)。
步骤103:按照计算的每一索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
如图4所示,在本实施例中,对所述bitmap进行纵向切分,得到多个索引块,例如每个索引块中包括128个广告计划。
各索引块与对应的备份索引块均具有成对应表示的身份识别标识,例如分别具有统一的ID(identification,身份)号。
则在步骤300中,所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,可包括以下步骤:
步骤301:依次选取每一个备份索引块。
步骤302:针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块。
步骤303:使用当前备份索引块替换查找到的索引块。
此外,不仅各索引块与对应的备份索引块均具有成对应表示的身份识别标识,每个备份索引块包括的待更新广告计划的身份识别标识还与对应索引块中的广告计划的身份识别标识一一对应。例如,切分后,128个广告计划为一个索引块,则所述索引块的ID号对应128个广告计划的ID号。
则,步骤300的另一种具体方法可包括以下步骤:
步骤311:依次选取每一个备份索引块;
步骤312:针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
步骤313:根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
步骤314:使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
但是,无论是索引块还是广告计划的替换过程均为无锁操作,而仅仅在替换索引块或广告计划以切换索引指针时加锁,从而确保数据的一致性。
本发明基于广告投放的索引热加载方法通过将目录位图文件进行区域切分,并逐次替换更新索引块,可降低现有技术实现广告索引在批量更新时维护成本,提升广告索引服务的可用性,并降低广告索引服务的开发难度。
此外,本发明还提供一种基于广告投放的索引热加载装置。如图5所示,本发明基于广告投放的索引热加载装置包括切分单元1、重构单元2及替换单元3。
所述切分单元1用于对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各所述索引块分别包括不同的广告计划。
所述重构单元2用于在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块。
所述替换单元3用于使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
其中,所述切分单元1包括统计模块、计算模块及切分模块。
所述统计模块,用于统计所述目录位图文件中广告计划的全部数量。
所述计算模块,用于根据公式(1)计算每一索引块中包含的广告计划的数量:
m=int[n/s](1);
其中,m表示每一个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数。
所述切分模块用于按照计算的每一索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
进一步地,各所述索引块与对应的备份索引块均具有成对应表示的身份识别标识;
所述替换单元3包括第一选取模块、第一查找模块及第一替换模块。
其中,所述第一选取模块用于依次选取每一个备份索引块;所述第一查找模块用于针对选取的当前备份索引块,根据所述当前备份索引块的身份识别标识,从所述目录位图文件中查找到具有对应表示的身份识别标识的索引块;所述第一替换模块用于使用当前备份索引块替换查找到的索引块。
此外,不仅各索引块与对应的备份索引块均具有成对应表示的身份识别标识,每个备份索引块包括的待更新广告计划的身份识别标识还与对应索引块中的广告计划的身份识别标识一一对应。则本发明提供替换单元3的另一种结构。具体地,所述替换单元3包括第二选取模块、第二查找模块、第三查找模块及第二替换模块。
所述第二选取模块用于依次选取每一个备份索引块;所述第二查找模块用于针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;所述第三查找模块用于根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;所述第二替换模块用于使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
本发明实施例还提出了一种基于广告投放的索引热加载装置。所述基于广告投放的索引热加载装置包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;使用各备份索引块逐次更新所述目录位图文件中对应的索引块。
相对于现有技术,本发明基于广告投放的索引热加载装置、计算机可读存储介质与基于广告投放的索引热加载方法的有益效果相同,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于广告投放的索引热加载方法,其特征在于,包括:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块;
其中,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
2.根据权利要求1所述的基于广告投放的索引热加载方法,其特征在于,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
使用当前备份索引块替换查找到的索引块。
3.根据权利要求1-2中任一项所述的基于广告投放的索引热加载方法,其特征在于,所述对目录位图文件进行区域切分,具体包括:
统计所述目录位图文件中广告计划的全部数量;
根据以下公式计算每个索引块中包含的广告计划的数量:
m=int[n/s];
其中,m表示每个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数;
按照计算的每个索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
4.一种基于广告投放的索引热加载装置,其特征在于,包括:
切分单元,用于对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各所述索引块分别包括不同的广告计划;
重构单元,用于在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
替换单元,用于使用各备份索引块逐次更新所述目录位图文件中对应的索引块;
其中,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述替换单元包括:
第二选取模块,用于依次选取每一个备份索引块;
第二查找模块,用于针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
第三查找模块,用于根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
第二替换模块,用于使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
5.根据权利要求4所述的基于广告投放的索引热加载装置,其特征在于,各所述索引块与对应的备份索引块均具有成对应表示的身份识别标识;
所述替换单元包括:
第一选取模块,用于依次选取每一个备份索引块;
第一查找模块,用于针对选取的当前备份索引块,根据所述当前备份索引块的身份识别标识,从所述目录位图文件中查找到具有对应表示的身份识别标识的索引块;
第一替换模块,用于使用当前备份索引块替换查找到的索引块。
6.根据权利要求4-5中任一项所述的基于广告投放的索引热加载装置,其特征在于,所述切分单元包括:
统计模块,用于统计所述目录位图文件中广告计划的全部数量;
计算模块,用于根据以下公式计算每一索引块中包含的广告计划的数量:
m=int[n/s];
其中,m表示每一个索引块中包含的广告计划的数量,n表示广告计划的全部数量,s表示索引块的数量,int[]表示取整函数;
切分模块,用于按照计算的每一索引块中包含的广告计划的数量,对所述目录位图文件中的各广告计划进行切分。
7.一种基于广告投放的索引热加载装置,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块;
其中,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
对目录位图文件进行区域切分,获得多个索引块;所述目录位图文件为由多个广告物料与多个广告条件形成的广告计划索引表,且各索引块分别包括不同的广告计划;
在对所述目录位图文件进行更新时,逐次重新构建各个索引块对应的备份索引块;
使用各备份索引块逐次更新所述目录位图文件中对应的索引块;
其中,各索引块与对应的备份索引块均具有成对应表示的身份识别标识;且每个备份索引块包括的待更新广告计划的身份识别标识与对应索引块中的广告计划的身份识别标识一一对应;
所述使用各备份索引块逐次更新所述目录位图文件中对应的索引块,具体包括:
依次选取每一个备份索引块;
针对选取的当前备份索引块,根据当前备份索引块的身份识别标识,从所述目录位图文件中查找具有对应表示的身份识别标识的索引块;
根据当前备份索引块包括的各待更新的广告计划的身份识别标识,从查找到的索引块中确定与各待更新的广告计划一一对应的广告计划;
使用当前备份索引块中各待更新的广告计划替换查找到索引块中相对应的广告计划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810066470.6A CN108230041B (zh) | 2018-01-24 | 2018-01-24 | 一种基于广告投放的索引热加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810066470.6A CN108230041B (zh) | 2018-01-24 | 2018-01-24 | 一种基于广告投放的索引热加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108230041A CN108230041A (zh) | 2018-06-29 |
CN108230041B true CN108230041B (zh) | 2022-01-28 |
Family
ID=62668742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810066470.6A Active CN108230041B (zh) | 2018-01-24 | 2018-01-24 | 一种基于广告投放的索引热加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108230041B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067540A (en) * | 1997-02-28 | 2000-05-23 | Oracle Corporation | Bitmap segmentation |
CN1975717A (zh) * | 2005-11-28 | 2007-06-06 | 腾讯科技(深圳)有限公司 | 搜索***索引切换的方法及搜索*** |
CN102004778A (zh) * | 2010-11-19 | 2011-04-06 | 清华大学 | 一种云环境中的文本索引在线更新方法 |
US9489410B1 (en) * | 2016-04-29 | 2016-11-08 | Umbel Corporation | Bitmap index including internal metadata storage |
CN107315825A (zh) * | 2017-07-05 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种索引更新***、方法及装置 |
-
2018
- 2018-01-24 CN CN201810066470.6A patent/CN108230041B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067540A (en) * | 1997-02-28 | 2000-05-23 | Oracle Corporation | Bitmap segmentation |
CN1975717A (zh) * | 2005-11-28 | 2007-06-06 | 腾讯科技(深圳)有限公司 | 搜索***索引切换的方法及搜索*** |
CN102004778A (zh) * | 2010-11-19 | 2011-04-06 | 清华大学 | 一种云环境中的文本索引在线更新方法 |
US9489410B1 (en) * | 2016-04-29 | 2016-11-08 | Umbel Corporation | Bitmap index including internal metadata storage |
CN107315825A (zh) * | 2017-07-05 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种索引更新***、方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108230041A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103257831B (zh) | 存储器的读写控制方法及对应的存储器 | |
CN105009067B (zh) | 管理对存储数据单元的操作 | |
US11150823B2 (en) | Method, device and computer program product for splitting disk set | |
US10037355B2 (en) | Mechanisms for merging index structures in MOLAP while preserving query consistency | |
CN111104244A (zh) | 用于在存储阵列组中重建数据的方法和设备 | |
CN105260136A (zh) | 数据读写方法及分布式存储*** | |
CN110413454B (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN104220991A (zh) | 用于允许数据在nand闪存上的有效存储的架构 | |
CN113196259A (zh) | 使用以选择性数据存储格式进行日志记录的键值存储 | |
CN111125033B (zh) | 一种基于全闪存阵列的空间回收方法及*** | |
CN113312313B (zh) | 数据查询方法、非易失性存储介质及电子设备 | |
CN107015952B (zh) | 一种后缀数组和最长公共前缀的正确性验证方法及*** | |
US20190220377A1 (en) | Method and device of data rebuilding in storage system | |
US20170124130A1 (en) | Method and apparatus for data processing | |
CN112558868A (zh) | 一种配置数据存储的方法和装置及设备 | |
US11150993B2 (en) | Method, apparatus and computer program product for improving inline pattern detection | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN105117489A (zh) | 一种数据库管理方法、装置及电子设备 | |
CN108230041B (zh) | 一种基于广告投放的索引热加载方法及装置 | |
CN112463434B (zh) | 一种基于纠删码的数据重构方法、装置、设备及存储介质 | |
CN117112304B (zh) | 一种磁盘克隆方法与*** | |
CN106569986B (zh) | 字符串替换方法和装置 | |
CN107943415B (zh) | 基于fat文件***的查找空闲簇的方法和*** | |
US20220199202A1 (en) | Method and apparatus for compressing fastq data through character frequency-based sequence reordering | |
CN113553215A (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 |