具体实施方式
请参阅图2,提供一种实施方式的用户数据导入方法,包括以下步骤:
S100:监测用户属性文件创建进程,当有用户属性文件生成时,从新生成的用户属性文件中获取用户属性。
其中,单位时间段内生成单个用户属性文件。用户登录成功,并对网页进行浏览时,对应生成有用户的属性,例如,属性包括点击量、购买记录或收藏记录。每个不同属性对应不同的用户属性文件,且单位时间段对应单个用户属性文件,各单位时间段内对应的用户属性文件不同。单个用户属性文件中包括多个用户的用户属性,每当发现一个用户属性文件产生完毕后,就可对用户属性文件中的用户属性进行读取。
S200:当根据用户属性判定用户为活跃用户时,比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性。
一旦有用户属性文件产生完毕,就可对用户属性文件中的活跃用户进行判断。根据用户属性,判断用户属性文件中的用户是否为活跃用户,其中,活跃用户的用户属性为新增用户属性或对应的用户属性有更新。当用户为活跃用户时,判断活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性是否一致。用户属性数据库用来储存用户属性,在一较佳实施例中,该用户属性数据库可以是预设的。
通过步骤S200的比较,确保该活跃用户是新增用户或者是老用户且有用户属性行为,即老用户的用户属性相对于数据库中原先存有的该用户的用户属性是有更新的。若一致的话,说明老用户的用户属性相当于原先存有的用户属性没有更新,对该老用户的用户属性进行排除,不将其写入中间文件,即不将其写入数据库。这样可减少导入数量,从而减小导入时间。
S300:当活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性不一致时,将活跃用户的用户属性写入中间文件。
将活跃用户的用户属性写入到中间文件中,即相对于用户属性数据库中原先存有的该活跃用户的用户属性,且该活跃用户的用户属性相对于用户属性数据库中该活跃用户的用户属性有更新。或者,用户属性数据库中原先没有存有该活跃用户的用户属性,该活跃用户是新用户,也将该活跃用户的用户属性写入中间文件。
S400:当对用户属性文件中所有活跃用户的用户属性比较后,将中间文件导入用户属性数据库,以更新用户属性数据库。
当对某单个用户属性文件中的用户属性读取完毕,并对用户属性文件中所有活跃用户的用户属性比较完毕时,表示单位时间段内生成的单个用户属性文件处理完毕,将中间文件导入到用户属性数据库中,完成中间文件的导入,更新用户属性数据库。
上述用户数据导入方法,每当发现有用户属性文件生成完毕,就对用户属性文件中的用户属性进行读取,并判断用户是否为活跃用户,对活跃用户的用户属性进行处理,而不是像现有全量导入方法中需要等到所有用户属性文件生成后再进行处理,比较比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性,将与数据库中对应的活跃用户的用户属性不一致的活跃用户的用户属性写入中间文件,这样对用户属性文件中的用户属性进行了筛选,从而得到的中间文件中的用户属性的数量比现有全量导入方法中用户属性文件中的用户属性的数量要小,当对用户属性文件中所有活跃用户比较完毕,将中间文件导入数据库。无需等到所有用户属性文件生成后才能进行处理并导入,只要有用户属性文件生成,就进行处理并导入,且中间文件中用户属性数量相比用户属性文件中用户属性数量减小了,这样使得中间文件导入的时间减少,从而减少数据导入时间。
请参阅图3,在其中一个实施例中,监测用户属性文件创建进程,当有用户属性文件生成时,从新生成的用户属性文件中获取用户属性步骤S100包括步骤:
S110:根据单位时间段内产生的用户属,对单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行更新,获取更新的用户属性文件。
其中,单位时间段与预设额定时间对应。在本实施例中,单位时间段以天数为单位设定,预设额定时间以天数为单位设定,优先地,单位时间段为1天,单位时间段的起始时间为凌晨0点,单位时间段的结束时间为下一个单位时间段的起始时间,预设额定时间为2个月。单位时间段对应单个用户属性文件,每个单位时间段对应有起始时间和结束时间,在单位时间段的起始时间之前的预设额定时间范围内已经形成有用户属性,根据单位时间段内产生的用户属性,对形成的用户属性进行更新,生成与该单位时间段对应的用户属性文件。这样可排除单位时间段内以及单位时间段的起始时间之前的预设额定时间范围之外产生的用户属性,即确保用户属性文件中的用户属性生成的时间不超过规定的时间。例如,用户属性文件中的用户属性生成的时间不超过2个月,一旦超过2个月,将不对其进行获取。
S120:对更新的用户属性文件中的用户属性逐一进行读取。
请参阅图4,在其中一个实施例中,用户属性包括用户识别号。根据单位时间段内产生的用户属,对单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行更新,获取更新的用户属性文件的步骤S110包括:
S111:根据用户识别号,对单位时间段内产生的用户属性以及单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行统计,形成更新的用户属性。
获取的单位时间段内用户属性中,可能存在与单位时间段的起始时间之前的预设额定时间范围内形成的用户属性相同的用户识别号相同,对单位时间段内产生的用户属性以及单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行统计,更新形成的用户属性。即在单位时间段内,一个用户产生了用户属性,在这之前的预设额定时间内产生了多个用户属性,对该用户的用户属性进行统计,更新用户的用户属性。例如,用户当天点击了多次,产生了多个用户属性,该用户在之前的15天内点击了2次,总共点击了3次,统计用户属性,将用户属性的点击量更新至3次。
S112:根据更新的用户属性,生成单位时间段内对应的用户属性文件。
在其中一个实施例中,当根据用户属性判定用户为活跃用户时,比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性200之前还包括步骤:
根据用户属性,判断用户是否为单位时间段内生成的用户属性对应的用户;
若是,则用户为活跃用户;
若否,则用户为非活跃用户。
即将单位时间段内生成的用户属性对应的用户作为活跃用户。例如,选择单位时间段为1天,当今天的用户属性文件形成了,对用户属性文件中的用户进行活跃判断时,判断用户是否为与今天生成的用户属性对应的用户即可,若是,则该用户为活跃用户。又例如,当前天的用户属性文件生成延迟,延迟至今天才生成,生成的用户属性文件还是对应前天,读取前天的用户属性文件中的用户属性,判断用户是否为与前天获取的用户属性对应的用户即可,若是,则该用户为活跃用户。
请参阅图5,本发明还提供一种实施方式的用户数据导入系统,包括:
获取模块100,用于监测用户属性文件创建进程,当有用户属性文件生成时,从新生成的用户属性文件中获取用户属性。
其中,单位时间段内生成单个用户属性文件。用户登录成功,并对网页进行浏览时,对应生成有用户的属性,例如,属性包括点击量、购买记录或收藏记录。每个不同属性对应不同的用户属性文件,且单位时间段对应单个用户属性文件,各单位时间段内对应的用户属性文件不同。单个用户属性文件中包括多个用户的用户属性,每当发现一个用户属性文件产生完毕后,就可对用户属性文件中的用户属性进行读取。
比较模块200,用于当根据用户属性判定用户为活跃用户时,比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性,其中,活跃用户的用户属性为新增用户属性或对应的用户属性有更新。
一旦有用户属性文件产生完毕,就可对用户属性文件中的活跃用户进行判断。根据用户属性,判断用户属性文件中的用户是否为活跃用户,其中,活跃用户的用户属性为新增用户属性或对应的用户属性有更新。当用户为活跃用户时,判断活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性是否一致。用户属性数据库用来储存用户属性,在一较佳实施例中,该用户属性数据库可以是预设的。
通过比较模块200的比较,确保该活跃用户是新增用户或者是老用户且有用户属性行为,即老用户的用户属性相对于数据库中原先存有的该用户的用户属性是有更新的。若一致的话,说明老用户的用户属性相当于原先存有的用户属性没有更新,对该老用户的用户属性进行排除,不将其写入中间文件,即不将其写入数据库。这样可减少导入数量,从而减小导入时间。
写入模块300,用于当活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性不一致时,将活跃用户的用户属性写入中间文件。
将活跃用户的用户属性写入到中间文件中,即相对于用户属性数据库中原先存有的该活跃用户的用户属性,且该活跃用户的用户属性相对于用户属性数据库中该活跃用户的用户属性有更新。或者,用户属性数据库中原先没有存有该活跃用户的用户属性,该活跃用户是新用户,也将该活跃用户的用户属性写入中间文件。
导入模块400,用于当对用户属性文件中所有活跃用户的用户属性比较后,将中间文件导入用户属性数据库,以更新用户属性数据库。
当对某单个用户属性文件中的用户属性读取完毕,并对用户属性文件中所有活跃用户的用户属性比较完毕时,表示单位时间段内生成的单个用户属性文件处理完毕,将中间文件导入到用户属性数据库中,完成中间文件的导入,更新用户属性数据库。
上述用户数据导入系统,每当发现有用户属性文件生成完毕,就对用户属性文件中的用户属性进行读取,并判断用户是否为活跃用户,对活跃用户的用户属性进行处理,而不是像现有全量导入方法中需要等到所有用户属性文件生成后再进行处理,比较比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性,将与数据库中对应的活跃用户的用户属性不一致的活跃用户的用户属性写入中间文件,这样对用户属性文件中的用户属性进行了筛选,从而得到的中间文件中的用户属性的数量比现有全量导入方法中用户属性文件中的用户属性的数量要小,当对用户属性文件中所有活跃用户比较完毕,将中间文件导入数据库。无需等到所有用户属性文件生成后才能进行处理并导入,只要有用户属性文件生成,就进行处理并导入,且中间文件中用户属性数量相比用户属性文件中用户属性数量减小了,这样使得中间文件导入的时间减少,从而减少数据导入时间。
请参阅图6,在其中一个实施例中,获取模块100包括:
获取单元110,用于根据单位时间段内产生的用户属性,对单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行更新,获取更新的用户属性文件,其中,单位时间段与预设额定时间对应。
其中,单位时间段与预设额定时间对应。在本实施例中,单位时间段以天数为单位设定,单位时间段为1天,单位时间段的起始时间为凌晨0点,单位时间段的结束时间为下一个单位时间段的起始时间,预设额定时间以天数为单位设定,优先地,预设额定时间为2个月。单位时间段内对应单个用户属性文件,每个单位时间段对应有起始时间和结束时间,在单位时间段的起始时间之前的预设额定时间范围内已经形成有用户属性,根据单位时间段内产生用户属性,对形成的用户属性进行更新,生成与该单位时间段对应的用户属性文件。这样可排除单位时间段内以及单位时间段的起始时间之前的预设额定时间范围之外产生的用户属性,即确保用户属性文件中的用户属性生成的时间不超过规定的时间。例如,用户属性文件中的用户属性生成的时间不超过2个月,一旦超过2个月,将不对其进行获取。
读取单元120,用于对更新的用户属性文件中的用户属性逐一进行读取。
请参阅图7,在其中一个实施例中,用户属性包括用户识别号。生成单元110包括:
更新单元111,用于根据用户识别号,对单位时间段内产生的用户属性以及单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行统计,形成更新的用户属性。
获取的单位时间段内用户属性中,可能存在与单位时间段的起始时间之前的预设额定时间范围内形成的用户属性相同的用户识别号相同,对单位时间段内产生的用户属性以及单位时间段的起始时间之前的预设额定时间范围内形成的用户属性进行统计,更新形成的用户属性。即在单位时间段内,一个用户产生了用户属性,在这之前的预设额定时间内产生了多个用户属性,对该用户的用户属性进行统计,更新用户的用户属性。例如,用户当天点击了多次,产生了多个用户属性,该用户在之前的15天内点击了2次,总共点击了3次,统计用户属性,将用户属性的点击量更新至3次。
生成单元112,用于根据更新的用户属性,生成单位时间段内对应的用户属性文件。
在其中一个实施例中,上述用户数据导入系统还包括:
判断模块,用于根据用户属性,判断用户是否为单位时间段内生成的用户属性对应的用户,若是,则用户为活跃用户,若否,则用户为非活跃用户。
即将单位时间段内生成的用户属性对应的用户作为活跃用户,当通过判断模块判定用户为活跃用户时,再通过比较模块200比较活跃用户的用户属性与用户属性数据库中对应的活跃用户的用户属性。例如,选择单位时间段为1天,当今天的用户属性文件形成了,对用户属性文件中的用户进行活跃判断时,判断用户是否为与今天生成的用户属性对应的用户即可,若是,则该用户为活跃用户。又例如,当前天的用户属性文件生成延迟,延迟至今天才生成,生成的用户属性文件还是对应前天,读取前天的用户属性文件中的用户属性,判断用户是否为与前天获取的用户属性对应的用户即可,若是,则该用户为活跃用户。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。