一种数据同步方法和装置与流程

文档序号:12839140阅读:169来源:国知局
一种数据同步方法和装置与流程
本发明涉及移动通讯领域,尤其涉及一种数据同步方法和装置。
背景技术
:目前手机中很多应用程序都是采用c/s(客户端/服务器)架构设计的,手机中的应用程序以client(客户端)的身份与server(服务器)之间进行数据的同步,一般同步都是以固定的周期在后台进行的。以电子邮件为例,手机中的电子邮件扮演客户端的角色,电子邮件客户端都是主动去服务器上获取邮件到本地来查看,这个过程称为同步。除了用户手动去同步电子邮件外,同步主要是由后台发起,一般会设置为15分钟或半小时进行同步一次,也就是以固定的周期(频率)来进行频率。部分应用程序也向用户提供了设置项,用户也可以根据自己的需要设置不同的同步周期。同步周期为固定值,设置较长则无法及时收到新消息,设置较短则经常会发起“无用”的同步,对终端功耗影响较大,同时对用户数据流量也是一种浪费。每次同步手机都必须唤醒,然后再进行同步,即便是在深夜用户睡觉的时候手机也会自动完成这一系列的唤醒过程。同步周期越短,就意味着用户可能更及时地收到新信息,同时也意味着更多的唤醒次数及更大的功耗。另外,“无用”的同步也会给用户带来打扰。例如目前很多在线视频应用都会进行信息推送,而实际上用户很少关注这些推送信息,特别是在上班期间不停地推送信息,会给用户带来一定程度上的打扰,同时也浪费用户的流量。技术实现要素:为了克服现有技术中,采用固定的同步周期进行数据同步,同步的及时性影响系统功耗,而且同步带来无用信息的技术问题,本发明提供了一种数据同 步方法和装置。为了解决上述技术问题,本发明采用如下技术方案:本发明提供了一种数据同步方法,包括:获取当前循环周期中至少一同步时间段内使用一应用程序的频率因子,所述频率因子用于指示用户在所述同步时间段内使用所述应用程序的频繁程度;根据所述频率因子,设置所述同步时间段内的所述应用程序的同步周期;在下一循环周期相同的同步时间段内,根据所述同步周期对所述应用程序进行数据同步。进一步来说,所述的数据同步方法中,所述根据所述频率因子,设置所述同步时间段内的所述应用程序的同步周期步骤具体为:根据所述频率因子的大小与同步周期的长短成负相关的关系,设置所述同步时间段内的所述应用程序的同步周期。进一步来说,所述的数据同步方法中,所述获取当前循环周期中至少一同步时间段内使用一应用程序的频率因子步骤之前包括:将所述当前循环周期划分成多个时间段;获取每个所述时间段内使用一应用程序的频率因子;将频率因子大于第一阈值的时间段作为同步时间段;否则作为非同步时间段,所述非同步时间段内关闭对所述应用程序进行的数据同步。进一步来说,所述的数据同步方法中,所述获取每个所述时间段内使用一应用程序的频率因子步骤包括:获取预设多个历史循环周期每个时间段内所述应用程序进行不同操作的操作次数,并对各个操作分配权值;获取预设多个历史循环周期每个时间段内所述应用程序的运行时间;根据不同操作的操作次数、权值及所述应用程序的运行时间,计算所述应用程序于所述时间段内的频率因子。进一步来说,所述的数据同步方法中,所述将频率因子大于第一阈值的时间段作为同步时间段;否则作为非同步时间段步骤之后还包括:将多个连续的非同步时间段进行合并,以及将频率因子相差不超过第二阈值的多个连续的同步时间段进行合并;确定合并后的同步时间段的频率因子;其中,该合并后的同步时间段的频率因子,不大于其所包括的同步时间段中频率因子的最大值,且不小于其所包括的同步时间段中频率因子的最小值。本发明还提供了一种数据同步装置,包括:获取模块,用于获取当前循环周期中至少一同步时间段内使用一应用程序的频率因子,所述频率因子用于指示用户在所述同步时间段内使用所述应用程序的频繁程度;设置模块,用于根据所述频率因子,设置所述同步时间段内的所述应用程序的同步周期;同步模块,用于在下一循环周期相同的同步时间段内,根据所述同步周期对所述应用程序进行数据同步。进一步来说,所述的数据同步装置中,所述设置模块具体用于:根据所述频率因子的大小与同步周期的长短成负相关的关系,设置所述同步时间段内的所述应用程序的同步周期。进一步来说,所述的数据同步装置中,还包括:预处理模块,用于:将所述当前循环周期划分成多个时间段;获取每个所述时间段内使用一应用程序的频率因子;将频率因子大于第一阈值的时间段作为同步时间段;否则作为非同步时间段,所述非同步时间段内关闭对所述应用程序进行的数据同步。进一步来说,所述的数据同步装置中,所述预处理模块包括:第一处理子模块,用于获取预设多个历史循环周期每个时间段内所述应用程序进行不同操作的操作次数,并对各个操作分配权值;第二处理子模块,用于获取预设多个历史循环周期每个时间段内所述应用程序的运行时间;第三处理子模块,用于根据不同操作的操作次数、权值及所述应用程序的运行时间,计算所述应用程序于所述时间段内的频率因子。进一步来说,所述的数据同步装置中,还包括合并模块,用于:将多个连续的非同步时间段进行合并,以及将频率因子相差不超过第二阈 值的多个连续的同步时间段进行合并;确定合并后的同步时间段的频率因子;其中,该合并后的同步时间段的频率因子,不大于其所包括的同步时间段中频率因子的最大值,且不小于其所包括的同步时间段中频率因子的最小值。本发明的有益效果是:本发明的数据同步方法,通过对使用应用程序的频率来及时调整数据的同步周期,能够适应不同用户的使用习惯。该数据同步方法确保了在不使用应用程序的时间段关闭同步功能,而在应用程序使用比较频繁的时间段将同步周期设置较短,一定程度上解决了数据同步的及时性与系统功耗之间的矛盾;同时也防止了不使用应用的时间段内不进行数据同步,减少了数据同步带来的意外打扰及流量损失。附图说明图1表示本发明实施例中数据同步方法的流程示意图;图2表示本发明实施例中对当前循环周期进行划分的流程示意图;图3表示本发明实施例中对当前循环周期进行划分后进行合并的流程示意图;图4表示本发明实施例中计算每个划分的时间段的频率因子的流程示意图;图5表示本发明实施例中利用数据同步方法对电子邮件进行同步的流程示意图;图6表示本发明实施例中记录对电子邮件的各个操作的时间及权值的流程示意图;图7表示本发明实施例中利用数据同步方法对视频应用进行推送的流程示意图;图8表示本发明实施例中记录对视屏应用的各个操作的时间及权值的流程示意图;图9表示本发明实施例中数据同步装置的构成示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实 施例对本发明进行详细描述。实施例1参照图1所示,本发明提供了一种数据同步方法,包括:步骤1,获取当前循环周期中至少一同步时间段内使用一应用程序的频率因子,频率因子用于指示用户在同步时间段内使用应用程序的频繁程度。用户使用应用程序时,往往以一天24小时的时间作为循环周期,周而复始。但是本发明中,循环周期不限定为一天,还可以根据实际使用进行调整。在当前的循环周期中,获取至少一同步时间段内使用一应用程序的频率因子,来得到用户在该不同时间段内使用应用程序的频繁程度。因为在同步时间段内,使用应用程序的频繁程度直接关系用户对该应用程序的同步周期的需求。步骤2,根据频率因子,设置同步时间段内的应用程序的同步周期。根据频率因子对同步周期进行设置,充分地满足了用户的使用习惯。该设置同步周期的方法不同于现有技术中设置同步周期为固定值的方法,充分考虑了用于的习惯,针对不同的使用频率的时间段设置不同的同步周期。步骤3,在下一循环周期相同的同步时间段内,根据所述同步周期对所述应用程序进行数据同步。在应用程序运行当前循环周期的下一个循环周期时,运行到相同的同步时间段内,以对该同步时间段设置的同步周期对应用程序进行同步,以达到运行新的同步周期的目的。本发明的数据同步方法,通过对使用应用程序的频率来及时调整数据的同步周期,能够适应不同用户的使用习惯。作为一种优选的实施方式,步骤2,根据所述频率因子,设置所述同步时间段内的所述应用程序的同步周期,具体为:根据所述频率因子的大小与同步周期的长短成负相关的关系,设置同步时间段内的所述应用程序的同步周期。也就是说,若获取的当前循环周期中的同步时间段内某一应用程序的频率因子较大,则调整该应用程序的同步周期较短;若获取的当前循环周期中的同步时间段内某一应用程序的频率因子较小,则调整该应用程序的同步周期较长。该数据同步方法确保了在应用程序使用比较频繁的时间段将同步设置较短,在使用应用程序较少的时间段设置同步周期较长,从而在一定程度上解决了数据 同步的及时性与系统功耗之间的矛盾;同时也防止了不使用应用的时间段内不进行数据同步,减少了数据同步带来的意外打扰及流量损失。但是,根据应用程序特殊的运行和使用情况,存在根据频率因子的大小与同步周期的长短成正相关的关系,设置同步时间段内的所述应用程序的同步周期的情况。参照图2所示,在步骤1之前,包括将当前的循环周期进行划分的步骤,以实现将当前的循环周期进行分段控制。步骤1之前包括:步骤10,将所述当前循环周期划分成多个时间段。例如以一天作为一个循环周期,将一天平均分为4个时间段,即从0时开始,每6个小时作为一个时间段。步骤20,获取每个所述时间段内使用一应用程序的频率因子;获取0点到6点、6点到12点、12点到18点和18点到24点内应用程序的频率因子。步骤30,将频率因子大于第一阈值的时间段作为同步时间段;否则作为非同步时间段,所述非同步时间段内关闭对所述应用程序进行的数据同步。若0点到6点的频率因子小于第一阈值,6点到12点的频率因子大于第一阈值,则0点到6点为非同步时间段,6点到12点为同步时间段。该步骤是为了确定平率因子小于第一阈值的时间段作为非同步时间段,在非同步时间段内不进行同步,防止了不使用应用的时间段内不进行数据同步,减少了数据同步带来的意外打扰及流量损失。具体来说,参照图4所示,步骤20中,获取每个所述时间段的频率因子,包括:步骤201,获取预设多个历史循环周期每个时间段内所述应用程序进行不同操作的操作次数,并对各个操作分配权值。具体来说就是获取当前循环周期前几次的历史循环周期的每个时间段内对应用程序进行各个操作的次数,一般来说,取当日之前一周的每天的每个时间段内对对应用程序进行各个操作的次数进行采集。例如打开应用程序的次数、点击该应用程序第一功能的次数或者点击该应用程序第二功能的次数。因为对应用程序进行各个操作对于确定频率因子的权重不同,所以对各个操作分配权值。步骤202,获取预设多个历史循环周期每个时间段内所述应用程序的运行时 间。举例来说,就是确定当日的前一周的每天的0点到6点使用该应用程序的总时间,6点到12点使用该程序的总时间等。从而可以确定该应用程序在每个时间段内运行时间的长度。步骤203,根据不同操作的操作次数、权值及所述应用程序的运行时间,计算所述应用程序于所述时间段内的频率因子。不同操作的操作次数、权值及应用程序的运行时间,可以确定用户使用该应用程序的频率因子。对某一应用程序的操作次数、权值及所述应用程序等用户习惯数据采集后,保存于用户习惯数据库中。不同时间段内的频率因子是指此时间段内用户习惯数据样本在一循环周期中所有用户习惯数据样本的比率。步骤10、步骤20和步骤30能够将划分的多个时间段区分出哪个时间段内对应用程序的数据进行同步,哪个时间段内对应用数据不进行同步,从而避免了用户操纵频率低的时间段内同步应用程序的数据造成对用户的打扰。参照图3所示,步骤30之后还包括:步骤40,将多个连续的非同步时间段进行合并,以及将频率因子相差不超过第二阈值的多个连续的同步时间段进行合并;确定合并后的同步时间段的频率因子。将频率因子相差不超过第二阈值的多个连续的同步时间段进行合并,或者将多个连续的非同步时间段进行合并。当前的循环周期划分成多个时间段后,每个时间段的频率因子可以通过不同操作的操作次数、权值及应用程序的运行时间确定。若多个连续的同步时间段内的频率因子之差不超过第二阈值,则将多个时间段合并,合并之后的同步时间段采用同一同步周期对应用程序进行同步,从而减少了同步时间段和非同步时间段的数量,降低了占用较多的控制资源。合并后的同步时间段的频率因子不大于多个连续的所述同步时间段中频率因子的最大值,且不小于多个连续的所述同步时间段中频率因子的最小值。例如,若合并后的多个时间段的频率因子是0.02、0.03、0.01、0.04和0.02,则合并后的时间段的频率因子可以取值为0.01至0.04之间。将合并后的时间段的频率因子进行设定,能够降低过多处理频率因子数据,减少了系统的负荷。另外,需要说明的是,步骤3之后还包括,在下一循环周期某一同步时间段内对应用程序进行数据同步后,根据划分的多个时间段的合并情况,确定该 同步时间段之后下一个同步时间段的时间,一般是指下一个同步时间段的起始时间。依次确定各个同步时间段的开始时间,便于系统对一个循环周期进行同步的规划。实施例2以一天作为一个循环周期,对电子邮件进行智能同步的方法为例来详细介绍本发明的数据同步方法。参照图5所示,该电子邮件智能同步的方法包括以下几个步骤:s1,将每一天平均地划分为多个时间段;s2,统计预设多个历史循环周期每个时间段内对电子邮件不同操作的操作次数、权值和应用程序的运行时间等用户习惯数据,并根据用户习惯数据,获取不同时间段用户使用电子邮件的频率因子;s3,根据每个时间段的频率因子,设置每个时间段内电子邮件的同步周期;s4,在下一循环周期的某一时间段内,根据设置的同步周期对电子邮件进行数据同步;s5,确定下一次对电子邮件进行同步的时间。其中步骤s1,在此实施例中将一天24小时划分为12个时间段,每个时间段为两个小时,并定义为t0~t11,t0代表0:00~2:00、t1代表2:00~4:00...t11代表22:00~24:00。参照图6所示,其中步骤s2中,统计预设多个历史循环周期每个时间段内对电子邮件不同操作的操作次数、权值和应用程序的运行时间等用户习惯数据包括以下几个方面。s201:当接收到新邮件时,记录接收新邮件的时间及权值p;s202:当打开邮件应用时,记录打开邮件应用的时间及权值m;s203:当退出邮件应用时,记录退出邮件应用的时间及使用邮件应用的时长;s204:当手动同步邮件时,记录手动同步邮件的时间及权值n。其中步骤s2中,多个历史循环周期每个时间段内对电子邮件不同操作的操作次数、权值和应用程序的运行时间等用户习惯数据保存在用于习惯数据库中,用户习惯数据的对应关系如表1所示。表1为用户习惯数据的对应关系表时间类型权值时间1新邮件p时间2打开邮件应用m时间3退出邮件应用使用时长时间4手动同步邮件n其中步骤s2中,统计预设多个历史循环周期每个时间段内操作电子邮件的用户习惯数据中,取过去一周用户数据作为统计样本,每天零点时间首先清除用户习惯数据库中早于一周的记录,然后根据以下式计算出不同时间段用户使用电子邮件的频率因子。例如,计算出一天每个时间段用户使用电子邮件的频率因子如表2所示。表2为每个时间段用户使用电子邮件的频率因子对应关系表时间段t0t1t2t3t4t5t6t7t8t9t10t11频率因子0000.020.130.260.080.220.180.070.020其中步骤s3中,根据每个时间段的频率因子,设置每个时间段内电子邮件的同步周期,包括以下几种情况:1)当频率因子较小时,设置同步周期较长;例如t4时间段同步因子为0.13,将t4时间段同步周期设置为30分钟;2)当频率因子较大时,设置同步周期较短;例如t5时间段同步因子为0.26,将t5时间段同步周期设置为5分钟;3)当频率因子小于某个固定阈值时(例如0.05),则关闭电子邮件同步;例如t0、t1、t2、t3、t10、t11时间段,关闭电子邮件同步功能;其中步骤s3,根据每个时间段的频率因子,设置每个时间段内电子邮件的同步周期之前还包括,当某几个连续的时间段频率因子相同或相近时将这个几 个时间段合并为一个较长的时间段。其中,当多个连续的时间段频率因子相差不超过特定阈值(例如0.02)时,将这些时间段进行合并。例如将t0~t3、t10~t11合并为同一个时间段。若几个连续的时间段的频率因子均小于一个设定的阈值时,则将这几个连续的时间段作为非同步时间段,在此合并后的时间段内对应用程序不进行同步,以达到减少流量使用、避免对用户产生影响的目的。其中步骤s5中,电子邮件客户端以新的同步周进行邮件同步后,确定下一次调整电子邮件同步周期的时间,一般是指下一个时间段的起始时间。例如,在t0时设置关闭电子邮件同步,则下一次调整电子邮件同步周期的时间为t4的开始时间,依次在t4时将同步周期设置为30分钟。实施例3以一天作为一个循环周期,以对某在线视频应用智能同步(推送)的方法为例来详细介绍本发明的数据同步方法。参照图7所示,包括步骤s10,将每一天平均地划分为多个时间段;s20,统计预设多个历史循环周期每个时间段内对视频应用不同操作的操作次数、权值和应用程序的运行时间等用户习惯数据,并根据用户习惯数据,获取不同时间段用户使用视频应用的频率因子;s30,根据每个时间段的频率因子,设置每个时间段内视频应用的推送周期;s40,在下一循环周期的某一时间段内,根据设置的推送周期对视频应用进行数据推送;s50,确定下一次对视频应用进行推送的时间。在步骤s10中,将每天划分了6个时间段,每个时间段4小时,并定义为t0~t5。参照图8所示,在步骤s20中,统计预设多个历史循环周期每个时间段内对视频应用不同操作的操作次数、权值和应用程序的运行时间等用户习惯数据,包括以下两个方面:s2001,当打开在线视频应用时,记录打开视屏软件的时间及权值m;s2002,当退出在线视频应用时,记录退出在线视频应用的时间及使用在线视频的时长。则用户某一时间段内使用在线视频应用的频率因子为:例如,计算出一天每一时间段内用户在线视频应用的频率因子如表3所示。表3为每个时间段用户使用视频应用的频率因子对应关系表时间段t0t1t2t3t4t5频率因子0000.020.130.85在步骤s30中;1)当频率因子较小时关闭数据推送,例如t0、t1、t2、t3、t4时间段关闭视频应用的数据推送;2)当频率因子较大时则打开数据推送,并将推送周期设置为默认值,例如t5时间段。在步骤s30之前还包括,当某几个连续的时间段频率因子相同或相近时将这个几个时间段合并为一个较长的时间段。其中,当多个连续的时间段频率因子相差不超过特定阈值(例如0.02)时,将t0~t4时间段进行合并。若几个连续的时间段的频率因子均小于一个设定的阈值时,则将这几个连续的时间段作为非同步时间段,在此合并后的时间段内对应用程序不进行同步,以达到减少流量使用、避免对用户产生影响的目的。在步骤s50中,视频应用以新的推送周进行推送后,确定下一次进行视屏应用的推送时间,一般是指下一个进行推送的时间段的起始时间。例如在t0时间段关闭数据推送,确定下一次进行推送的时间段t5的开始时间,并在t5时打开数据推送,并将推送周期设置为默认值。实施例4参照图9所示,本发明还提供了一种数据同步装置,包括:获取模块100,用于获取当前循环周期中至少一同步时间段内使用一应用程序的频率因子,所述频率因子用于指示用户在所述同步时间段内使用所述应用程序的频繁程度;设置模块200,用于根据所述频率因子,设置所述同步时间段内的所述应用程序的同步周期;同步模块300,用于在下一循环周期相同的同步时间段内,根据所述同步周期对所述应用程序进行数据同步。进一步来说,该数据同步装置还包括:预处理模块400,用于:将所述当前循环周期划分成多个时间段;获取每个所述时间段内使用一应用程序的频率因子;将频率因子大于第一阈值的时间段作为同步时间段;否则作为非同步时间段,所述非同步时间段内关闭对所述应用程序进行的数据同步。进一步来说,所述预处理模块400包括:第一处理子模块401,用于获取预设多个历史循环周期每个时间段内所述应用程序进行不同操作的操作次数,并对各个操作分配权值;第二处理子模块402,用于获取预设多个历史循环周期每个时间段内所述应用程序的运行时间;第三处理子模块403,用于根据不同操作的操作次数、权值及所述应用程序的运行时间,计算所述应用程序于所述时间段内的频率因子。进一步来说,所述设置模块200具体用于:根据所述频率因子的大小与同步周期的长短成负相关的关系,设置所述同步时间段内的所述应用程序的同步周期。进一步来说,该数据同步装置,还包括合并模块500,用于:将多个连续的非同步时间段进行合并,以及将频率因子相差不超过第二阈值的多个连续的同步时间段进行合并;确定合并后的同步时间段的频率因子;其中,该合并后的同步时间段的频率因子,不大于其所包括的同步时间段中频率因子的最大值,且不小于其所包括的同步时间段中频率因子的最小值。本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个获取模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,获取模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当 这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。实际上,获取模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。以上所述的是本发明的优选实施方式,应当指出对于本
技术领域
的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1