发明内容
本发明的主要目的在于提供一种用于网络数据投放的排期信息的处理方法及装置,以解决广告排期信息存储存在数据冗余的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种用于网络数据投放的排期信息的处理方法。
根据本发明的用于网络数据投放的排期信息的处理方法包括:获取用于网络数据投放的排期信息;对排期信息进行拆分,得到多个属性信息;从数据库中查找与多个属性信息的类型分别对应的多个表格;分别判断多个属性信息是否存在于对应表格中;以及将不存在于对应表格中的属性信息添加至对应的表格中,存在于对应表格中的属性信息则不添加至对应的表格中。
进一步地,多个表格通过外键关联,通过外键关联的两个表格中外键所处的表格为外键表,通过外键表中的外键关联的表格为主表,外键为主表的主键,分别判断多个属性信息是否存在于对应表格中包括:依次判断多个属性信息是否存在于对应表格中。
进一步地,多个属性信息包括第一属性信息和第二属性信息,第二属性信息关联第一属性信息,第一属性信息的类型对应于主表,第二属性的类型对应于外键表,依次判断多个属性信息是否存在于对应表格中包括:获取第一属性信息;判断第一属性信息是否存在于主表中;获取第二属性信息;以及判断第二属性信息是否存在于外键表中。
进一步地,分别判断多个属性信息是否存在于对应表格中之前,方法包括:分别验证多个属性信息的数据格式是否正确,其中,如果多个属性信息的数据格式分别与预设数据格式相同,则属性信息的数据格式正确,否则,属性信息的数据格式不准确;当多个属性信息的数据格式均正确时,则继续判断多个属性信息是否存在于对应的表格中;以及当多个属性信息的数据格式存在至少一个不正确时,则剔除多个属性信息。
进一步地,分别判断多个属性信息是否存在于对应表格包括:获取属性信息的唯一性标识符;将唯一性标识符与属性信息对应表格中的数据依次比较;以及如果唯一性标识符与属性信息对应表格中的数据相同,则属性信息存在于对应表格中,如果唯一性标识符与属性信息对应表格中的数据均不相同,则属性信息不存在于对应表格中。
进一步地,对排期信息进行拆分,得到多个属性信息包括:获取排期信息中属性信息类型标识;以及根据属性信息类型标识拆分排期信息,得到多个属性信息。
为了实现上述目的,根据本发明的另一方面,提供了一种用于网络数据投放的排期信息处理装置。
根据本发明的用于网络数据投放的排期信息处理装置包括:获取模块,用于获取用于网络数据投放的排期信息;拆分模块,用于对排期信息进行拆分,得到多个属性信息;查找模块,用于从数据库中查找与多个属性信息的类型分别对应的多个表格;第一判断模块,用于分别判断多个属性信息是否存在于对应表格中;以及添加模块,用于将不存在于对应表格中的属性信息添加至对应的表格中,存在于对应表格中的属性信息则不添加至对应的表格中。
进一步地,多个表格通过外键关联,通过外键关联的两个表格中外键所处的表格为外键表,通过外键表中的外键关联的表格为主表,外键为主表的主键,第一判断模块还用于依次判断多个属性信息是否存在于对应表格中。
进一步地,多个属性信息包括第一属性信息和第二属性信息,第二属性信息关联第一属性信息,第一属性信息的类型对应于主表,第二属性的类型对应于外键表,第一判断模块包括:第一获取子模块,用于获取第一属性信息;第一判断子模块,用于判断第一属性信息是否存在于主表中;第二获取子模块,用于获取第二属性信息;以及第二判断子模块,用于判断第二属性信息是否存在于外键表中。
进一步地,分别判断多个属性信息是否存在于对应表格中之前,装置还包括:验证模块,用于分别验证多个属性信息的数据格式是否正确,其中,如果多个属性信息的数据格式分别与预设数据格式相同,则属性信息的数据格式正确,否则,属性信息的数据格式不准确;第二判断模块,当多个属性信息的数据格式均正确时,则继续判断多个属性信息是否存在于对应的表格中;以及剔除模块,用于当多个属性信息的数据格式存在至少一个不正确时,则剔除多个属性信息。
通过本发明,采用将排期信息拆分得到的多个属性信息分别存储至与多个属性信息的类型对应的表格中,解决了广告排期信息存储存在数据冗余的问题,进而达到了减少内存占用的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了多个元器件的系统、产品或设备不必限于清楚地列出的那些元器件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它元器件。
本发明实施例提供了一种用于网络数据投放的排期信息的处理方法。图1是根据本发明实施例的用于网络数据投放的排期信息的处理方法的流程图。
如图1所示,该方法包括如下的步骤S102至步骤S110:
步骤S102:获取用于网络数据投放的排期信息。
用于网络数据投放的排期信息包括广告排期信息,此处以广告排期信息为例。广告排期是指互联网中广告的投放策略,例如,用户访问某社交网站时,网页两侧或顶部或下方会出现一些品牌广告,而该品牌广告就是根据广告投放策略进行筛选得到并展现给用户。广告的排期信息通常包括广告主、项目、创意、媒体、频道、广告位和广告等信息。
步骤S104:对排期信息进行拆分,得到多个属性信息。
获取的排期信息包含不同类型的多项信息,如上述广告的排期信息包括广告主、项目、创意、媒体、频道、广告位和广告等信息。为了避免排期信息的存储出现数据冗余,本发明实施例将不同类型的排期信息存储至数据库的不同的表格中,如图2所示,将排期表中的广告主属性信息存储在广告表中,将项目属性信息存储在项目表中,广告位属性信息存储在在广告位表中。因此需要对排期信息进行拆分,例如,一条排期信息包括广告主、项目、广告位和广告四个不同类型的属性信息,拆分后可以得到广告主、项目、广告位和广告这四个属性信息。
步骤S106:从数据库中查找与多个属性信息的类型分别对应的多个表格。
属性信息的类型与数据库的表格一一对应,例如,一个属性信息的类型为媒体,则数据库中存在一张表格为媒体表,该媒体表用于存储媒体相关的信息。
步骤S108:分别判断多个属性信息是否存在于对应表格中。
步骤S110:将不存在于对应表格中的属性信息添加至对应的表格中,存在于对应表格中的属性信息则不添加至对应的表格中。
当判断出属性信息不存在于对应的表格中,则将该属性信息添加至对应的表格中,负责,当判断出属性信息存在于对应的表格中,则不向对应的表格中添加该属性信息,从而保证表格中的每一条数据都不相同,因此不存在数据冗余的问题。
本发明实施例通过将排期信息拆分得到多个属性信息,并根据属性信息的类型存储到对应的表格中,在将属性信息添加至对应表格中之前先判断该属性信息是否已经存在于对应表格中,只将不存在于对应表格中的属性信息添加至该对应的表格中,从而避免表格中重复存储相同的数据,解决了存储排期信息存在数据冗余的问题。
优选地,为了实现排期信息的不同属性信息的关联查询,多个表格通过外键关联,通过外键关联的两个表格中外键所处的表格为外键表,通过外键表中的外键关联的表格为主表,外键为主表的主键,分别判断多个属性信息是否存在于对应表格中包括:依次判断多个属性信息是否存在于对应表格中。
通过建立表格之间的关联关系能够关联查询表格中的数据。用户要查询一条完整的排期信息时,由于不同类型的属性信息存储在不同的表格中,因此需要建立不同类型属性信息的关联关系。外键,即外关键字的简称,主键,即主关键字的简称,如图2所示,广告主表与项目表相互关联,项目表与创意表相互关联,将广告主标识符设为主键,项目表需要引用广告主表,将广告主标识符设为项目表的外键,此时广告主表和项目表之间通过广告主标识符建立了引用关系,此时广告主表为主表,项目表则为外键表,在查询项目表中存储的项目信息时会引用该项目所属的广告主信息,同样,广告位表和项目表通过上述同样的方法关联。
由于排期信息的属性信息对应的表格之间通过外键建立了表格之间的引用关系,因此,在向表格中添加属性信息时,需要按照先后顺序依次判断属性信息是否存在于对应的表格中。例如,项目信息引用广告主信息,在判断时则需要判断广告主信息是否存在于广告主表中,再判断项目信息是否存在于项目表中。
可选地,多个属性信息包括第一属性信息和第二属性信息,第二属性信息关联第一属性信息,第一属性信息的类型对应于主表,第二属性的类型对应于外键表,依次判断多个属性信息是否存在于对应表格中包括:获取第一属性信息;判断第一属性信息是否存在于主表中;获取第二属性信息;以及判断第二属性信息是否存在于外键表中。
由于第二属性信息引用第一属性信息,因此,需要先判断第一属性信息是否存在于主表中,再判断第二属性信息是否存在于外键表中。
优选地,为了避免向表格中添加属性信息时出现异常,分别判断多个属性信息是否存在于对应表格中之前,方法包括:分别验证多个属性信息的数据格式是否正确,其中,如果多个属性信息的数据格式分别与预设数据格式相同,则属性信息的数据格式正确,否则,属性信息的数据格式不准确;当多个属性信息的数据格式均正确时,则继续判断多个属性信息是否存在于对应的表格中;以及当多个属性信息的数据格式存在至少一个不正确时,则剔除多个属性信息。
验证属性信息的数据格式包括验证属性信息的数据类型是否与预设数据类型一致,例如,属性信息为整型数据,而预设数据类型为字符串型数据,此时如果将属性信息添加至表格中则会出现异常。一条排期信息包含多个属性信息,只有当所有的属性信息的数据格式都正确时,才添加这条属排期信息,否则,则剔除这条排期信息。通过剔除数据格式不正确的属性信息可以避免向表格中添加属性信息时出现异常。
优选地,为了提高判断的效率,分别判断多个属性信息是否存在于对应表格包括:获取属性信息的唯一性标识符;将唯一性标识符与属性信息对应表格中的数据依次比较;以及如果唯一性标识符与属性信息对应表格中的数据相同,则属性信息存在于对应表格中,如果唯一性标识符与属性信息对应表格中的数据均不相同,则属性信息不存在于对应表格中。
属性信息的唯一性标识符可以唯一的确定该属性信息,例如广告主的名称。属性信息可以包括多项信息,例如,项目属性可以包括项目名称、项目开始时间、项目结束时间等信息,每项信息对应于表格的一个字段,通过项目名称可以唯一的识别该项目,因此,在比较时,只需要将项目名称与对应表格中项目名称字段列的数据依次比较,只要在表格中存在相同的项目名称,则该项目信息就是已经存在于对应的项目表中,无需添加至项目表中。
可选地,对排期信息进行拆分,得到多个属性信息包括:获取排期信息中属性信息类型标识;以及根据属性信息类型标识拆分排期信息,得到多个属性信息。
排期信息的每个属性信息都有类型标识,该类型标识可以是该属性信息名称,例如,广告主属性则广告主名称为其类型标识,项目属性则项目名称为其类型标识。数据库通过获取排期信息的每个属性信息的类型标识来分别获取对应的属性信息,实现排期信息的拆分。
将排期信息按照属性信息类型存储在不同表格中,不同表格之间通过外键建立查询的引用关系,在查询一个属性信息时,相比于现有技术中需要检索存储所有排期信息的大表,只需要检索该属性信息对应的表格,检索的数据量减少,提高查询效率,由于本发明实施例中的表格的数据不存在重复,因此在查询时无需进行数据去重操作。在操作数据库的过程中,例如,对数据库中存储的排期信息进行增加、删除或修改的操作,由于操作过程中只针对某个属性信息对应的表中的数据,而不是像现有技术中对整张大表进行操作,这样能够减少比如死锁、数据脏读等问题的出现。最后,在对数据库中的属性信息进行修改或删除时,相比于现有技术中与该属性信息相关联的整行数据都要修改或删除,本发明实施例只需要修改该属性信息对应的表格中的数据,减少了计算机性能开销。
具体地,将排期信息添加至数据库的流程如图3所示:
步骤S304:将排期表导入。
排期表可以是存储多条排期的EXCEL表格,用户可以直接将该排期表直接导入至数据库中。
步骤S306:将排期表数据导入临时大表中。
在该步骤中,数据库根据外部导入的排期表生成一个排期信息临时表,该排期信息临时表存储的信息与排期表存储的信息一致。同时,数据库会根据排期信息的每个属性信息类型生成对应的属性信息临时表,该属性信息临时表仅用于存储对应的属性信息。
步骤S308:校验排期信息是否正确。
在数据库中生成排期信息临时表后,分别验证该排期信息临时表中每一条排期信息的每个属性信息的数据格式是否正确,直至校验完该排期信息临时表中所有排期信息的数据格式。
步骤S310:判断排期信息是否存在于对应表格中。
在校验完排期信息临时表中所有排期信息的数据格式后,可以直接忽略那些包含数据格式不正确的排期信息的排期,例如,删除那些数据格式不正确的排期。对于通过校验的排期信息,判断其是否已经存在于对应的表格中。在判断过程中,如果排期信息临时表中的排期信息过多,可以分批次进行判断,例如,在排期信息临时表中存储了1000条排期,每次判断100条排期。在具体判断过程中,可以按照排期的各个属性信息的类型对应的表格之间的引用关系依次进行属性信息的判断,例如项目表引用广告主表,此时先判断广告主属性信息是否存在于广告主表中,再判断项目属性信息是否存在于项目表中。
步骤S312:引用存在的主关键字。
在判断出属性信息存在于对应表格中,该属性信息则引用已经存在的主关键字作为该属性信息的主关键字。
步骤S314:将排期信息依次插入对应表格中。
如果判断出属性信息不存在于对应表格中,则将该属性信息插入到对应的属性信息临时表中,并生成该属性信息的主关键字。
步骤S316:插入成功后,更新主关键字。
在将属性信息插入至对应的属性信息临时表中后,在该属性信息临时表中更新该属性信息的主关键字。
步骤S318:是否是最后一条排期。
如果判断出当前处理的排期信息不是最后一条排期信息,则跳转至步骤S314继续执行,否则结束。
经过上述流程,可以将每个属性信息临时表传入数据库后端服务程序,该后端服务程序将排期信息的所有属性信息临时表中的数据写入到对应的数据库的实体表中。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本发明实施例通过将排期信息按照属性信息的类型不同存储至对应的表格中,在将属性信息添加至对应表格之前,先验证每个属性信息的数据格式的正确性,以免造成因数据格式不正确导致属性信息添加异常,在属性信息的数据格式都正确时,再判断每个属性信息是否存在于对应的表格中以免造成相同的数据重复存储在表格中,导致数据冗余。由于只将不存在于对应表格的属性信息添加至表格中,解决了排期信息存储存在数据冗余的问题,表格之间通过外键建立引用关系,实现排期数据的关联查询,在查询部分排期信息时效率提高。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例的另一方面,提供了一种用于网络数据投放的排期信息的处理装置,该用于网络数据投放的排期信息的处理装置可以用于执行本发明实施例的用于网络数据投放的排期信息的处理方法,本发明实施例的用于网络数据投放的排期信息的处理方法也可以通过本发明实施例的用于网络数据投放的排期信息的处理装置来执行。
如图4所示,该装置包括:获取模块10、拆分模块20、查找模块30、第一判断模块40和添加模块50。
获取模块10,用于获取用于网络数据投放的排期信息。
用于网络数据投放的排期信息包括广告排期信息,此处以广告排期信息为例。广告排期是指互联网中广告的投放策略,例如,用户访问某社交网站时,网页两侧或顶部或下方会出现一些品牌广告,而该品牌广告就是根据广告投放策略进行筛选得到并展现给用户。广告的排期信息通常包括广告主、项目、创意、媒体、频道、广告位和广告等信息。
拆分模块20,用于对所述排期信息进行拆分,得到多个属性信息。
获取的排期信息包含不同类型的多项信息,如上述广告的排期信息包括广告主、项目、创意、媒体、频道、广告位和广告等信息。为了避免排期信息的存储出现数据冗余,本发明实施例将不同类型的排期信息存储至数据库的不同的表格中,因此需要对排期信息进行拆分,例如,一条排期信息包括广告主、媒体、广告位和广告四个不同类型的属性信息,拆分后可以得到广告主、媒体、广告位和广告这四个属性信息。
查找模块30,用于从所述数据库中查找与所述多个属性信息的类型分别对应的多个表格。
属性信息的类型与数据库的表格一一对应,例如,一个属性信息的类型为媒体,则数据库中存在一张表格为媒体表,该媒体表用于存储媒体相关的信息。
第一判断模块40,用于分别判断所述多个属性信息是否存在于对应表格中。
添加模块50,用于将不存在于对应表格中的属性信息添加至对应的表格中,存在于对应表格中的属性信息则不添加至对应的表格中。
当判断出属性信息不存在于对应的表格中,则将该属性信息添加至对应的表格中,负责,当判断出属性信息存在于对应的表格中,则不向对应的表格中添加该属性信息,从而保证表格中的每一条数据都不相同,因此不存在数据冗余的问题。
本发明实施例通过拆分模块20将排期信息拆分得到多个属性信息,并根据属性信息的类型存储到对应的表格中,在将属性信息添加至对应表格中之前先通过第一判断模块40判断该属性信息是否已经存在于对应表格中,添加模块50只将不存在于对应表格中的属性信息添加至该对应的表格中,从而避免表格中重复存储相同的数据,解决了存储排期信息存在数据冗余的问题。
优选地,多个表格通过外键关联,通过外键关联的两个表格中外键所处的表格为外键表,通过外键表中的外键关联的表格为主表,外键为主表的主键,第一判断模块40还用于依次判断多个属性信息是否存在于对应表格中。
优选地,多个属性信息包括第一属性信息和第二属性信息,第二属性信息关联第一属性信息,第一属性信息的类型对应于主表,第二属性的类型对应于外键表,第一判断模块40包括:第一获取子模块,用于获取第一属性信息;第一判断子模块,用于判断第一属性信息是否存在于主表中;第二获取子模块,用于获取第二属性信息;以及第二判断子模块,用于判断第二属性信息是否存在于外键表中。
优选地,分别判断多个属性信息是否存在于对应表格中之前,该装置还包括:验证模块,用于分别验证多个属性信息的数据格式是否正确,其中,如果多个属性信息的数据格式分别与预设数据格式相同,则属性信息的数据格式正确,否则,属性信息的数据格式不准确;第二判断模块,当多个属性信息的数据格式均正确时,则继续判断多个属性信息是否存在于对应的表格中;以及剔除模块,用于当多个属性信息的数据格式存在至少一个不正确时,则剔除多个属性信息。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。