基于H5页面的社交图谱生成方法、电子装置及存储介质与流程

文档序号:14911470发布日期:2018-07-10 23:32阅读:180来源:国知局

本发明涉及网络技术领域,涉及一种基于H5页面的社交图谱生成方法、电子装置及存储介质。



背景技术:

随着移动互联网时代的到来,消费者注意力从传统的PC转移到移动端。以微信为代表的社交媒体发展起来后,绝大多数消费者的注意力被吸引到社交媒体上。“消费者的注意力在哪里,营销就要渠道哪里”。所以在移动互联网时代,企业的营销活动大有从线下向线上转移的趋势,借助互联网和社交圈实现品牌营销、客户服务、获取客户等目标。

线上营销活动比较常见的是通过微信传播,主要依靠推送、客户自发的转发等方式传播,推送或转发的内容通常为H5活动页面。现在,每天都有大量的H5页面流转在微信朋友圈,我们通过H5活动页面可以看到很多需要的信息。但是在H5疯狂传播的过程中,并没有链路监控的一些处理,使得H5活动页面的发布者在活动传播期间,无法及时得知活动的进展状态。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中发布者在H5页面传播期间无法及时得知活动的进展状态,提出了一种基于H5页面的社交图谱生成方法、电子装置及存储介质,通过在H5页面传播过程中增加链路监控,实现自动生成相应社交图谱的功能,使得发布者及时掌握H5页面的传播进展。

本发明是通过下述技术方案来解决上述技术问题:

一种基于H5页面的社交图谱生成方法,包括如下步骤:

S1、接收H5页面传播产生的数据,并按数据的产生时间依次暂存至临时数据表中,所述数据中至少包含活动ID和关系信息;

S2、依次将临时数据表中的数据按其包含的活动ID分类保存至相应的临时列表中,每个所述临时列表中的数据按其产生的时间进行排序;

S3、从临时列表中按数据的排序依次获取数据中包含的关系信息;

S4、判断获取的所述关系信息的有效性,若有效则执行S6,若无效则执行S5;

S5、将包含该关系信息的数据从所述临时列表转移至数据log表中;

S6、将包含该关系信息的数据从所述临时列表转移至相应的有效列表中;

S7、根据有效列表中的数据,生成与每个活动ID相对应的H5页面传播图。

优选地,所述S2包括以下分步骤:

S21、获取临时数据表中的首个数据作为当前数据;

S22、获取当前数据中包含的活动ID;

S23、判断是否存在以当前数据中包含的活动ID命名的临时列表,若是则直接执行S25,若否则执行S24;

S24、创建一个以当前数据中包含的活动ID命名的临时列表;

S25、将所述当前数据保存至以当前数据中包含的活动ID命名的临时列表中;

S26、判断所述当前数据是否为所述临时数据表中的最后一个数据,若否则执行S21。

优选地,所述S3中由多台前端应用同时从临时列表中获取数据,所述获取数据的过程包括以下分步骤:

S31、接收到多台前端应用发送的获取数据的请求进程;

S32、多个所述获取数据的请求进程进入redis缓存列表中尝试设置锁键的值,设置成功的请求进程执行S33,未设置成功的请求进程重复执行S32;

S33、获取临时列表中排在首位的数据;

S34、删除锁键的值以释放锁。

优选地,所述锁键的值设置为锁的超时时间,所述超时时间为设置锁键的值的当前时间加上锁的有效时间。

优选地,所述H5页面上设有转发传阅关系接口,所述转发传阅关系接口用于记录H5页面传播过程中产生的关系信息。

优选地,所述关系信息中包含有H5页面单次传播过程中的传播者和分享者,以及表示从传播者推送给分享者的推送方向的标识信息。

优选地,所述S4包括以下分步骤:

S41、判断有效列表中已有的数据中是否包含有与获取的所述关系信息相同的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S42;

S42、判断有效列表中已有的数据中是否包含有与获取的所述关系信息为直接反推关系的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S43;

S43、判断有效列表中已有的数据中是否包含有与获取的所述关系信息为间接反推关系的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S44;

S44、判断获取的所述关系信息中包含的分享者是否为空,若是则判断获取的所述关系信息为无效,若否则判断获取的所述关系信息为有效。

优选地,所述S7中的传播图为无循环的树状链路图。

一种电子装置,包括存储器和处理器,所述存储器上存储有可被所述处理器执行的基于H5页面的社交图谱生成系统,所述基于H5页面的社交图谱生成系统包括:

数据接收模块,用于接收H5页面传播产生的数据,并按数据的产生时间依次暂存至临时数据表中,所述数据中至少包含活动ID和关系信息;

分类排序模块,用于依次将临时数据表中的数据按其包含的活动ID分类保存至相应的临时列表中,每个所述临时列表中的数据按其产生的时间进行排序;

截取模块,用于从临时列表中按数据的排序依次获取数据中包含的关系信息;

有效性判断模块,用于判断获取的所述关系信息的有效性;

数据分发模块,用于将包含有无效的关系信息的数据从所述临时列表转移至数据log表中,将包含有有效的关系信息的数据从所述临时列表转移至相应的有效列表中;

传播图生成模块,用于根据有效列表中的数据生成与每个活动ID相对应的H5页面传播图。

一种计算机可读存储介质,所述计算机可读存储介质内存储有基于H5页面的社交图谱生成系统,所述基于H5页面的社交图谱生成系统可被至少一个处理器所执行,以使所述至少一个处理器执行如前述中任一项所述的基于H5页面的社交图谱生成方法的步骤。

本发明的积极进步效果在于:本发明通过记录H5页面传播中产生的数据,然后根据数据中的关系信息筛选出有效数据,最终基于这些有效数据生成无循环的、自上而下的传播图,以帮助H5页面的发布者更好地监控H5页面的传播效果,直观地掌握活动进展情况。

附图说明

图1示出了本发明电子装置一实施例的硬件架构示意图;

图2示出了本发明电子装置中基于H5页面的社交图谱生成系统一实施例的程序模块示意图;

图3示出了本发明基于H5页面的社交图谱生成方法实施例一的流程图;

图4示出了本发明基于H5页面的社交图谱生成方法实施例二的流程图;

图5示出了本发明基于H5页面的社交图谱生成方法实施例三的流程图;

图6示出了本发明基于H5页面的社交图谱生成方法实施例四的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

首先,本发明提出了一种电子装置。

参阅图1所示,是本发明电子装置一实施例的硬件架构示意图。本实施例中,所述电子装置2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述电子装置2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及基于H5页面的社交图谱生成系统20。其中:

所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置2的内部存储单元,例如该电子装置2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置2的外部存储设备,例如该电子装置2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置2的操作系统和各类应用软件,例如所述基于H5页面的社交图谱生成系统20的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置2的总体操作,例如执行与所述电子装置2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的基于H5页面的社交图谱生成系统20等。

所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述电子装置2与外部终端相连,在所述电子装置2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。

需要指出的是,图1仅示出了具有组件21-23的电子装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

在本实施例中,存储于存储器21中的所述基于H5页面的社交图谱生成系统20可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并可由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。

例如,图2示出了所述基于H5页面的社交图谱生成系统20一实施例的程序模块示意图,该实施例中,所述基于H5页面的社交图谱生成系统20可以被分割为数据接收模块201、分类排序模块202、截取模块203、有效性判断模块204、数据分发模块205和传播图生成模块206。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述基于H5页面的社交图谱生成系统20在所述电子装置2中的执行过程。以下描述将具体介绍所述程序模块201-206的具体功能。

所述数据接收模块201用于接收H5页面传播产生的数据,按数据的产生时间依次暂存至临时数据表中,所述数据中至少包含活动ID和关系信息。

所述H5页面每传播一次都会相应地产生一次数据,一旦数据产生就会发送到临时数据表中,临时数据表按接收数据的先后将数据进行暂存,即先收到的数据暂存在前,后收到的数据暂存在后,这里所述临时数据表的工作原理类似于堆栈,而由于数据是一产生就进行发送的,因而临时数据表中的数据实际是按数据的产生时间进行排序的。

所述活动ID是H5页面的唯一识别码,也相当于H5页面的名称,被记录在H5页面的代码中;每个H5页面是对应不同的活动而产生的,相应地分配有各不相同的活动ID。每次H5页面被传播一次(推送一次)都会在产生的数据,这个数据由微信端自动记录下来,而作为该H5页面名称的活动ID自然也是数据中的一部分。

所述关系信息是通过转发传阅关系接口获取的,这个接口是在H5页面制作时增加在其代码中的,所述转发传阅关系接口用于记录H5页面每一次传播的传播者和分享者,以及表示从传播者推送给分享者的推送方向的标识信息,这些信息统称为关系信息。

所述分类排序模块202用于依次将临时数据表中的数据按其包含的活动ID分类保存至相应的临时列表中,每个所述临时列表中的数据按其产生的时间进行排序。

由于分类的时候是按数据在临时数据表中的排列顺序从前往后依次取数据的,因此数据被保存至各相应的临时列表时,自然也是按数据的产生时间从前往后自动排列的。

所述截取模块203用于从临时列表中按数据的排序依次获取数据中包含的关系信息。

所述有效性判断模块204,用于判断获取的所述关系信息的有效性。

所述数据分发模块205,用于将包含有无效的关系信息的数据从所述临时列表转移至数据log表中,将包含有有效的关系信息的数据从所述临时列表转移至相应的有效列表中。

所述无效的关系信息具体指以下几方面:

1)出现了互为直接反推关系的关系信息,产生在后的数据中的关系信息为无效。举例来说就是:产生在前的数据记录了H5页面由A推送给B产生的一个关系信息(即A推B的关系信息);产生在后的数据记录了H5页面由B推送给A产生的一个关系信息(即B推A的关系信息);这里称这两个关系信息形成了直接反推关系;由于A推B的关系信息在前,因此该关系信息判断为有效后,产生在后的B推A的关系信息就会判断为无效。

2)出现了间接反推关系的关系信息,最后产生的数据中的关系信息为无效。举例来说就是:按数据的产生时间顺序出现了这样三条数据;第一条数据记录了H5页面由A推送给B产生的一个关系信息(即A推B的关系信息);第二条数据记录了H5页面由B推送给C产生的一个关系信息(即B推C的关系信息);第三条数据记录了H5页面由C推送给A产生的一个关系信息(即C推A的关系信息);这三条数据形成了循环(这里的所指的形成循环的数据可以不止三个,但至少是三个),这里称将第一和第三条数据中的关系信息形成了间接反推关系(即循环中的首尾两个数据中的关系信息形成了间接反推关系);这种情况下,第一条数据中A推B的关系信息判断为有效,第三条数据中C推A的关系信息就判断为无效。

3)出现了重复的关系信息,产生在后的关系信息为无效。即出现了至少两条数据记录了H5页面由A推送给B产生的关系信息,仅产生时间不同,这种情况下,第一条数据中的A推B的关系信息判断为有效,之后的数据中的A推B的关系信息均判断为无效。

4)出现了分享者为空的关系信息,该关系信息判断为无效。这种关系信息中没有记录到分享者的信息,通常是系统出错导致的,一旦出现这种关系信息即判断为无效。

以上四种判断为无效的关系信息仅为示例,不排除还有其他无效的情况;而且,各种无效情况的判断没有特定的前后顺序,可以同时判断,也可以进行先后顺序的排列,但无论采用哪种形式进行判断,结果都是一样的,若干种无效情况只要出现一种,即关系信息只要符合几种无效情况中的任意一种,该关系信息都判断为无效。

所述传播图生成模块206用于根据有效列表中的数据生成与每个活动ID相对应的H5页面传播图。

每个有效列表对应一个活动ID,因而每个有效列表中的数据可以生成一张对应一个活动ID的传播图。

所述传播图可以采用树状链路图进行呈现,但不排除还有其他的呈现形式。通过传播图,H5页面的发布者可以直观地看到活动的进展情况,传播图包含了所有参与该H5页面传播的传播者和分享者,还呈现出了H5页面在各传播者和各分享者之间的传播方向。

本实施例中所述临时数据表、临时列表、有效列表都存在于数据库中,即为数据库的一部分,通过将数据库进行分区获取,各区用于存储不同阶段的数据。

其次,本发明提出一种基于H5页面的社交图谱生成方法。

在实施例一中,如图3所示,所述的基于H5页面的社交图谱生成方法包括如下步骤:

S1、接收H5页面传播产生的数据,并按数据的产生时间依次暂存至临时数据表中,所述数据中至少包含活动ID和关系信息。

所述活动ID是H5页面的唯一识别码,也相当于H5页面的名称,被记录在H5页面的代码中;每个H5页面是对应不同的活动而产生的,相应地分配有各不相同的活动ID。每次H5页面被传播一次(推送一次)都会在产生的数据,这个数据由微信端自动记录下来,而作为该H5页面名称的活动ID自然也是数据中的一部分。

所述关系信息是通过转发传阅关系接口获取的,这个接口是在H5页面制作时设置在其代码中的,所述转发传阅关系接口用于记录H5页面每一次传播的传播者和分享者,以及表示从传播者推送给分享者的推送方向的标识信息,这些信息统称为关系信息。

S2、依次将临时数据表中的数据按其包含的活动ID分类保存至相应的临时列表中,每个所述临时列表中的数据按其产生的时间进行排序。

这里数据保存至相应的临时列表中,具体是指将数据保存至以该数据包含的活动ID命名的临时列表中,即每一个活动ID都会对应有一个临时列表。

S3、从临时列表中按数据的排序依次获取数据中包含的关系信息。

首先按数据在临时列表中的排序从前往后依次取数据,获取数据后再进一步截取该数据中包含的关系信息。

S4、判断获取的所述关系信息的有效性,若有效则执行S6,若无效则执行S5。

所述关系信息何为无效,已在前一电子装置的实施例中具体阐明,此处不再赘述。

S5、将包含该关系信息的数据从所述临时列表转移至数据log表中。

所述数据log表(即数据日志表)是系统或者某些软件对已完成的某种处理的记录,以便将来作为参考,这里log表用于记录无效的数据,虽然数据被判为无效,但为保证后续可以追溯、纠错或恢复某些数据,这些无效的数据还需要留档,因此这里将无效的数据转移至数据log表中。

S6、将包含该关系信息的数据从所述临时列表转移至相应的有效列表中。

对应每个活动ID都有一个以该活动ID命名的有效列表,这里所述将数据转移至相应的有效列表中,就是指将数据转移至以该数据中包含的活动ID命名的有效列表中。

S7、根据有效列表中的数据,生成与每个活动ID相对应的H5页面传播图。

这里主要根据数据中的关系信息生成传播图,传播图具体可采用树状链路图进行呈现,但不排除还有其他的呈现形式。

传播图上显示出H5页面每次传播中涉及的传播者和分享者,这里所述传播者和分享者是相对于每一次的传播而言的,这一次中的传播者是上一次中的分享者,两个角色是在不断变化中的;具体而言,当H5页面由A推给B,在本次传播中,A是传播者,B是分享者;之后,该H5页面又由B推给了C,则在本次传播中,B是传播者,C是分享者;这里的B相对于A来说是分享者,而相对于C来说又是传播者。

H5页面是在不断由上而下进行传播的,A推给B,B推给C,B出了两次,但是在传播图上B仅显示一次,在A和B之间采用A向B的箭头连接,在B和C之间再采用B向C的箭头连接,假设C继续向其他人推送该H5页面,则用箭头继续往下连接,由于无效数据被剔除了,因此会形成一张无循环的、自上而下的树状链路传播图。

H5页面的发布者通过该传播图可以直观地看到活动的进展情况,更好地监控H5页面的传播效果。

在实施例二中,基于实施例一的基础上,如图4所示,所述步骤S2具体包括以下分步骤:

S21、获取临时数据表中的首个数据作为当前数据;

S22、获取当前数据中包含的活动ID;

S23、判断是否存在以当前数据中包含的活动ID命名的临时列表,若是则直接执行S25,若否则执行S24;

S24、创建一个以当前数据中包含的活动ID命名的临时列表;

S25、将所述当前数据保存至以当前数据中包含的活动ID命名的临时列表中;

S26、判断所述当前数据是否为所述临时数据表中的最后一个数据,若否则执行S21。

本实施例中,给出了数据根据活动ID分类保存的具体操作步骤。需要特别指出的是,对应每个活动ID的临时列表并不是事先预建在数据库中,而是根据接收到的数据涉及的活动ID进行创建的,如果没有接收到过涉及某一活动ID的数据,则不会创建相应的临时列表;此外,每个活动ID对应的临时列表仅创设一次,只有在获取到一个数据时检测到没有以该数据中包含的活动ID命名的临时列表时才会执行临时列表的创建。

在实施例三中,基于实施例一的基础上,在判断关系信息的有效性时,可以由多台前端应用同时执行,以提高整体的运行速度。此时,为防止数据脏读、误读,增加了锁的功能,即虽然有多台前端应用请求获取数据,但同一时间仅允许一台前端应用获取数据。如图5所示,所述获取数据的过程包括以下分步骤:

S31、接收到多台前端应用发送的获取数据的请求进程。

S32、多个所述获取数据的请求进程进入redis缓存列表中尝试设置锁键的值,设置成功的请求进程执行S33,未设置成功的请求进程重复执行S32。

这里所述锁键的值具体为锁的超时时间,所述超时时间为设置锁键的值的当前时间加上锁的有效时间。

S33、获取临时列表中排在首位的数据。

S34、删除锁键的值以释放锁。

在本实施例中,前端应用发送的获取数据的请求进程不会直接进入到临时列表中获取数据,而是先进入redis缓存列表去设置锁键的值,由于redis缓存列表的特性,在同一时间仅会有一个请求进程设置成功,其他请求进程则继续尝试设置锁键的值。

简单来说,就是当锁键的值已经存在时,任何请求进程是不可能设置锁键的值的,只有锁键被释放或者失效后才能被另一请求进程成功设置该锁键的值,因而在锁键的值已经存在的期间,每个请求进程都会去反复试图设置锁键的值,但都不会成功。

所述锁键被释放是在一个请求完成数据的获取后锁键的值被删除;所述锁键失效是指锁定时间超过了设置的锁键的值时,锁键的值可以被后一个请求进程删除,进而使得后一个请求可以从临时列表中获取数据。

在实施例四中,基于实施例一的基础上,如图6所示,所述S4判断获取的所述关系信息的有效性具体包括以下分步骤:

S41、判断有效列表中已有的数据中是否包含有与获取的所述关系信息相同的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S42;

S42、判断有效列表中已有的数据中是否包含有与获取的所述关系信息为直接反推关系的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S43;

S43、判断有效列表中已有的数据中是否包含有与获取的所述关系信息为间接反推关系的关系信息,若是则判断获取的所述关系信息为无效,若否则执行S44;

S44、判断获取的所述关系信息中包含的分享者是否为空,若是则判断获取的所述关系信息为无效,若否则判断获取的所述关系信息为有效。

本实施例仅是根据前述列举的四种无效情况设计的一种判断步骤,该判断步骤可以根据无效情况的增加或减少做适当修改,本领域技术人员理应知道,各种类似的修改都在本发明的保护范围之内。

本实施例中涉及的判断步骤为先后按顺序判断关系信息的有效性,本领域技术人员理应知道,各个步骤中的判断条件可以随意排列,判断条件的各种前后排列都在本发明的保护范围之内。

本实施例中各判断步骤中涉及的判断条件也可以同时进行判断,具体为,判断有效列表中已有的数据中是否包含有与获取的所述关系信息相同、为直接反推关系或为间接反推关系的关系信息,或者判断获取的所述关系信息中包含的分享者是否为空,若满足其中任意一个判断条件(即只要出现一个是),则判断获取的所述关系信息为无效。本领域技术人员理应知道,这种判断方式也在本发明的保护范围之内。

此外,本发明一种计算机可读存储介质,该计算机可读存储介质内存储有基于H5页面的社交图谱生成系统20,该基于H5页面的社交图谱生成系统20可被一个或多个处理器执行时,实现上述基于H5页面的社交图谱生成方法或电子装置的操作。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1