CN104917844B - 一种数据同步方法、装置及系统 - Google Patents

一种数据同步方法、装置及系统 Download PDF

Info

Publication number
CN104917844B
CN104917844B CN201510337641.0A CN201510337641A CN104917844B CN 104917844 B CN104917844 B CN 104917844B CN 201510337641 A CN201510337641 A CN 201510337641A CN 104917844 B CN104917844 B CN 104917844B
Authority
CN
China
Prior art keywords
data
subsystem
recommending data
recommending
chronization
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
Application number
CN201510337641.0A
Other languages
English (en)
Other versions
CN104917844A (zh
Inventor
谢贵明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201510337641.0A priority Critical patent/CN104917844B/zh
Publication of CN104917844A publication Critical patent/CN104917844A/zh
Application granted granted Critical
Publication of CN104917844B publication Critical patent/CN104917844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Abstract

本发明实施例公开了数据同步方法、装置及系统,应用于数据信息处理技术领域。本发明实施例中,数据同步子系统将接收的推荐数据储存到缓存子系统后,按照第二周期读取并同步给推荐引擎,数据同步子系统接收的推荐数据包括应用投放子系统按照第一周期发送的第一类推荐数据,和/或实时发送的第二类推荐数据,第二周期比第一周期小。本实施例的方法可以在不对现有的应用投放子系统改变的同时,采用较小的第二周期同步第一类推荐数据,提高第一类推荐数据的同步频率;或只需要更改现有的应用投放子系统在发送第二类推荐数据时进行实时发送,采用第二周期同步第二类推荐数据,使得以适当的频率同步第二类推荐数据。

Description

一种数据同步方法、装置及系统
技术领域
本发明涉及数据信息处理技术领域,特别涉及一种数据同步方法、装置及系统。
背景技术
在现有的推荐系统(比如广告系统,新闻推荐系统等)中,商家可以通过推荐系统定向地或不定向的将需要推荐的数据发送到各个用户终端,从而达到推广某一产品,或告知某些信息等目的。在具体实现过程中,推荐系统可以包括应用投放子系统和推荐引擎,其中应用投放子系统将推荐数据同步给推荐引擎,由推荐引擎确定哪些推荐数据投放到哪些用户终端,最后应用投放子系统会根据推荐引擎确定的信息,将推荐数据投放到特定的用户终端。
现有技术中,应用投放子系统在同步推荐数据时,直接以一定的周期用推荐数据形成文件,并将形成的文件发送给推荐引擎,一般情况下,应用投放子系统同步推荐数据的周期较长,使得推荐引擎不能尽快地掌握推荐数据的最新情况,但是如果降低该同步周期,则会对应用投放子系统的其它处理功能造成一定影响。
发明内容
本发明实施例提供一种数据同步方法、装置及系统,实现了在不对应用投放子系统改变或对应用投放子系统改变较小的同时,能适当提高推荐数据的同步频率。
本发明实施例提供一种数据同步方法,所述方法应用于数据同步系统,所述数据同步系统包括应用投放子系统、缓存子系统、数据同步子系统及推荐引擎,所述方法包括:
所述应用投放子系统将推荐数据发送给所述数据同步子系统,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的;
所述数据同步子系统将从应用投放子系统接收的所述推荐数据储存到所述缓存子系统中;
所述数据同步子系统读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期;
所述数据同步子系统将读取的所述推荐数据同步给所述推荐引擎。
本发明实施例还提供一种数据同步装置,包括:
数据接收单元,用于接收应用投放子系统发送的推荐数据,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的;
储存单元,用于将所述数据接收单元接收的所述推荐数据储存到所述缓存子系统中;
读取单元,用于读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期;
同步单元,用于将所述读取单元读取的所述推荐数据同步给所述推荐引擎。
本发明实施例还提供一种数据同步系统,包括应用投放子系统、缓存子系统、数据同步子系统及推荐引擎,所述应用投放子系统、推荐引擎和缓存子系统分别与所述数据同步子系统都通信连接;
所述数据同步子系统承载于数据同步装置中,所述数据同步装置包括:
数据接收单元,用于接收应用投放子系统发送的推荐数据,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的;
储存单元,用于将所述数据接收单元接收的所述推荐数据储存到所述缓存子系统中;
读取单元,用于读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期;
同步单元,用于将所述读取单元读取的所述推荐数据同步给所述推荐引擎。
可见,本发明实施例中,在将应用投放子系统发送的推荐数据同步给推荐引擎的过程中,由数据同步子系统对推荐数据的同步周期进行转化,即将应用投放子系统发送第一类推荐数据的一个较大周期即第一周期,或第二类推荐数据的不定时,统一转化为推荐数据同步的一个较小的周期即第二周期。因此,本实施例的方法可以在不对现有的应用投放子系统改变的同时,由数据同步子系统采用比第一类推荐数据的发送周期即第一周期较小的第二周期同步第一类推荐数据到推荐引擎,能提高第一类推荐数据的同步频率;或只需要更改现有的应用投放子系统在发送第二类推荐数据时进行实时发送,由数据同步子系统采用第二周期而不是实时地同步第二类推荐数据到推荐引擎,使得以适当的频率同步第二类推荐数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据同步系统的结构示意图;
图2是本发明实施例提供的一种数据同步方法的流程图;
图3是本发明实施例提供的一种数据同步装置的结构示意图;
图4是本发明实施例提供的另一种数据同步装置的结构示意图;
图5是本发明实施例提供的另一种数据同步装置的结构示意图;
图6是本发明应用实施例中的一种数据同步系统的结构示意图;
图7是本发明应用实施例中的数据同步子系统中实现读取广告数据的结构示意图;
图8是本发明应用实施例中的数据同步子系统同步广告数据的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种数据同步方法,主要是应用于如图1所示的数据同步系统中,在该系统中包括:应用投放子系统1、缓存子系统2、数据同步子系统3及推荐引擎4,其中,应用投放子系统1主要用于将推荐数据发送给用户终端,具体可以根据推荐引擎4的指示,将特定的推荐数据发送给特定的用户终端,应用投放子系统1还用于将推荐数据发送给数据同步子系统3;数据同步子系统3主要用于将应用投放子系统1发送的推荐数据同步给推荐引擎4;推荐引擎4主要用于根据数据同步子系统3同步的推荐数据,确定推荐数据对应的特定用户终端。缓存子系统2用于在推荐数据同步的过程中,缓存需要同步的推荐数据。
在具体应用中,上述的应用投放子系统1可以是广告投放系统,而推荐数据可以是产品的广告数据;应用投放子系统1也可以是新闻投放系统,而推荐数据可以是新闻数据等。
参考图2所示,本发明实施例的数据同步方法包括:
步骤101,应用投放子系统1将推荐数据发送给数据同步子系统3,推荐数据包括第一类推荐数据和/或第二类推荐数据,第一类推荐数据的发送周期为第一周期,而第二类推荐数据是实时发送的。
可以理解,各个商家用户可以通过应用投放子系统1生成各个应用的推荐数据,也可以对推荐数据进行修改,并将生成或修改的推荐数据储存到应用投放子系统1中,然后应用投放子系统1会将推荐数据发送给数据同步子系统3。
应用投放子系统1发送的推荐数据可以包括上述两种类型,其中,第一类推荐数据即全量推荐数据,这种类型的推荐数据主要是应用投放子系统1生成的全新的推荐数据,应用投放子系统1会按照一定的周期即第一周期,周期性地发送该第一类推荐数据,一般情况下,第一周期都比较长,这样在发送周期到来时,应用投放子系统1发送的第一类推荐数据有多条;第二类推荐数据即增量推荐数据,这种类型的推荐数据主要是应用投放子系统1对已有推荐数据的修改数据,应用投放子系统1会在修改得到第二类推荐数据后,实时地发送给数据同步子系统3,而不是等发送周期到来后才发送,这样可以保证已经同步了的推荐数据能得到实时更新。
步骤102,数据同步子系统3将从应用投放子系统1接收的推荐数据储存到缓存子系统2中,具体地,数据同步子系统3可以通过流式的方式将推荐数据储存到缓存子系统2中,即在接收到每条推荐数据都进行储存;数据同步子系统3也可以在接收到多条推荐数据后,将这多条推荐数据一起进行储存。
步骤103,数据同步子系统3读取缓存子系统2中储存的推荐数据,其中,数据同步子系统3读取推荐数据的周期为第二周期,这里第二周期小于上述的第一周期。该数据同步子系统3会按照一定周期即第二周期,主动向缓存子系统2周期性地发起推荐数据的读取,具体地可以向缓存子系统2顺序请求读取每条推荐数据,也可以一次请求读取多条推荐数据。
步骤104,数据同步子系统3将步骤103中数据同步子系统3读取的推荐数据同步给推荐引擎4。具体地,数据同步子系统3可以用读取的推荐数据生成文件,然后将生成的文件发送给推荐引擎4。这样推荐引擎4会根据同步的推荐数据确定哪些推荐数据发送给哪些用户终端,然后推荐引擎4可以主动将确定的信息发送给应用投放子系统1,或由应用投放子系统1主动向推荐引擎4请求获取该推荐引擎4确定的信息。
可见,本发明实施例中,数据同步系统所包括的数据同步子系统3将接收的推荐数据储存到缓存子系统2后,按照第二周期周期性地读取并同步给数据同步系统中的推荐引擎4,其中,数据同步子系统3接收的推荐数据包括应用投放子系统1按照第一周期周期性地发送的第一类推荐数据,和/或应用投放子系统1实时发送的第二类推荐数据,其中第二周期比第一周期小。这样,在将应用投放子系统1发送的推荐数据同步给推荐引擎4的过程中,由数据同步子系统1对推荐数据的同步周期进行转化,即将应用投放子系统1发送第一类推荐数据的一个较大周期即第一周期,或第二类推荐数据的不定时,统一转化为推荐数据同步的一个较小的周期即第二周期。因此,本实施例的方法可以在不对现有的应用投放子系统1改变的同时,由数据同步子系统3采用比第一类推荐数据的发送周期即第一周期较小的第二周期同步第一类推荐数据到推荐引擎4,能提高第一类推荐数据的同步频率;或只需要更改现有的应用投放子系统1在发送第二类推荐数据时进行实时发送,由数据同步子系统3采用第二周期而不是实时地同步第二类推荐数据到推荐引擎4,使得以适当的频率同步第二类推荐数据。
需要说明的是,在一个具体的实施例中,如果推荐数据包括第二类推荐数据,且第二类推荐数据包括至少一个原子信息块,则数据同步子系统3在执行上述步骤102中的储存时,会先比较接收的第二类推荐数据中各个原子信息块的修改时间,与缓存子系统2中已储存的对应原子信息块的修改时间,如果至少一个原子信息块中任一原子信息块的第一修改时间,大于缓存子系统中已储存的对应原子信息块的第二修改时间,说明应用投放子系统1最近修改过第二类推荐数据的该原子信息块,则数据同步子系统3会用第一修改时间对应的原子信息块替换缓存子系统2中第二修改时间对应的原子信息块。
可以理解的是,一般情况下,应用投放子系统1生成的一条新的推荐数据包括唯一标示一条应用的应用标识,及用于描述一条应用的描述信息,在描述信息中可以包括多个原子信息块,比如应用主描述块(主要描述应用数据所属的商家的信息),应用描述块(主要描述应用的信息)和定向条件描述块等,这里定向条件描述块主要用于描述推荐数据所发送的用户终端的类型,或对应用户的类型类等,比如用户年龄,性别或地域等。
例如:将数据同步系统应用于广告推荐的应用中时,推荐数据中可以包括广告标识及广告描述信息,在广告描述信息中可以包括广告主描述块、广告描述块和定向条件描述块等原子信息块。
这里的第二类推荐数据是应用投放子系统1对已有的推荐数据进行修改的修改数据,且本实施例中,应用投放子系统1在修改已有推荐数据的任一原子信息块后,还需要对应地储存修改的原子信息块的修改时间,且还需要设置该修改数据的属性为第二类推荐数据,则应用投放子系统1会实时地将第二类推荐数据发送给数据同步子系统3,在第二类推荐数据中还携带修改的原子信息块的修改时间,及该第二类推荐数据的属性信息等。
在另一个具体的实施例中,如果推荐数据包括第一类推荐数据,且第一类推荐数据中包括应用标识和应用标识对应的描述信息,则数据同步子系统3在执行上述步骤102中的储存时,针对某一条第一类推荐数据,具体地,是将一条第一类推荐数据中的应用标识储存到缓存子系统2的索引中,通过这个索引可以实现对应用标识的查询,继而查询到应用标识对应的描述信息,具体地,索引可以包括应用标识集合与集合标识的对应关系;并将应用标识与描述信息的对应关系储存到缓存子系统2中。
可以理解,在具体实现时,数据同步子系统3可以将所有的推荐数据分为N份,并用1到N之间的一个整数来标识一份推荐数据,为了方便查询推荐数据,数据同步子系统3会将一份推荐数据的应用标识(即应用标识集合)与集合标识(用来唯一标识一个应用标识集合)的对应关系储存到缓存子系统2的索引中。其中,一个应用标识集合中包括至少一个应用标识,且每个应用标识集合的集合标识可以是1到N之间的一个整数。因此,在具体储存每一条推荐数据的应用标识时,数据同步子系统3可以用该条推荐数据中的应用标识的哈希值的绝对值,对N进行取模运算得到取模值,即确定该应用标识所属的应用标识集合的标识即集合标识;然后将应用标识储存到索引中该取模值对应的应用标识集合中。
进一步地,基于本实施例中储存推荐数据的方法,数据同步子系统3在读取推荐数据时,具体地,可以按照一定的周期即第二周期,周期性地生成读取整数,然后向缓存子系统2读取该读取整数对应的应用标识集合中各个应用标识对应的描述信息,从而读取到推荐数据中包括的应用标识及对应的描述信息。
本发明实施例还提供一种数据同步装置,其结构示意图如图3所示,图3中的缓存子系统是为了方便说明本实施例的数据同步装置而画的,数据同步装置具体可以包括:
数据接收单元10,用于接收应用投放子系统发送的推荐数据,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的。
储存单元11,用于将所述数据接收单元10接收的所述推荐数据储存到所述缓存子系统中。
储存单元11,具体用于如果所述数据接收单元10接收的推荐数据包括第二类推荐数据,且所述第二类推荐数据中包括至少一个原子信息块,则如果所述至少一个原子信息块中任一原子信息块的第一修改时间,大于所述缓存子系统中已储存的对应原子信息块的第二修改时间,所述数据同步子系统用所述第一修改时间对应的原子信息块替换所述缓存子系统中所述第二修改时间对应的原子信息块。
读取单元12,用于读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期。该读取单元12可以通过流式的方式将推荐数据储存到缓存子系统中,及在数据接收单元10接收到每条推荐数据都进行储存;读取单元12也可以在数据接收单元10接收到多条推荐数据后,将这多条推荐数据一起进行储存。
同步单元13,用于将所述读取单元12读取的所述推荐数据同步给所述推荐引擎,该同步单元13可以用读取的推荐数据生成文件,然后将生成的文件发送给推荐引擎。
可见,本发明实施例的数据同步装置中储存单元11将接收的推荐数据储存到缓存子系统后,读取单元12和同步单元13按照第二周期,周期性地读取并同步给数据同步系统中的推荐引擎,其中,数据同步装置接收的推荐数据包括应用投放子系统按照第一周期发送的第一类推荐数据,和/或实时发送的第二类推荐数据,其中第二周期比第一周期小。这样,在将应用投放子系统的推荐数据同步给推荐引擎的过程中,由数据同步装置对推荐数据的同步周期进行转化,即将应用投放子系统发送第一类推荐数据的一个较大周期即第一周期,或第二类推荐数据的不定时,统一转化为推荐数据同步的一个较小的周期即第二周期。因此,可以在不对现有的应用投放子系统改变的同时,由数据同步装置采用比第一类推荐数据的发送周期即第一周期较小的第二周期同步第一类推荐数据到推荐引擎,能提高第一类推荐数据的同步频率;或只需要更改现有的应用投放子系统在发送第二类推荐数据时进行实时发送,由数据同步装置采用第二周期而不是实时地同步第二类推荐数据到推荐引擎,使得以适当的频率同步第二类推荐数据。
参考图4所示,在一个具体的实施例中,数据同步装置中的储存单元11具体可以通过标识储存单元110和对应储存单元111来实现,其中:
在本实施例中,数据接收单元10接收的推荐数据包括第一类推荐数据,且第一类推荐数据中包括应用标识及所述应用标识对应的描述信息;
标识储存单元110,用于将所述数据接收单元10接收的推荐数据中应用标识储存到所述缓存子系统的索引中,所述索引包括应用标识集合与集合标识的对应关系,如果该集合标识用1到N之间的一个整数来表示,则该标识储存单元110具体用于用所述应用标识的哈希值的绝对值,对N进行取模运算得到取模值;将所述应用标识储存到所述索引中所述取模值对应的应用标识集合中。
对应储存单元111,用于将所述描述信息与所述应用标识的对应关系储存到所述缓存子系统中。
本实施例中,基于上述标识储存单元110和对应储存单元111实现将推荐数据储存到缓存子系统后,读取单元12具体用于按照所述第二周期,周期性地生成读取整数;向所述缓存子系统读取所述读取整数对应的应用标识集合中各个应用标识对应的描述信息。
本发明实施例还提供另一种数据同步装置,结构示意图如图5所示,该数据同步装置可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据同步装置中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在数据同步装置上执行存储介质22中的一系列指令操作。
数据同步装置还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由数据同步子系统所执行的步骤可以基于该图5所示的数据同步装置的结构。
本发明实施例还提供一种数据同步系统,其结构示意图可以如图1所示,包括应用投放子系统1、缓存子系统2、数据同步子系统3及推荐引擎4,应用投放子系统1、推荐引擎4和缓存子系统2分别与所述数据同步子系统3都通信连接、其中数据同步子系统3可以承载于上述图3到图5中任一数据同步装置中。
以下以一个具体的应用实例来说明本发明实施例的方法,本实施例中的数据同步方法应用于广告数据的同步中,则该应用中部署的数据同步系统如图6所示,包括:广告投放子系统,缓存子系统,数据同步子系统和推荐引擎,具体地,广告投放子系统主要用于将广告数据发送给用户终端,具体可以根据推荐引擎的指示,将特定的广告数据发送给特定的用户终端,广告投放子系统还用于将广告数据发送给数据同步子系统;数据同步子系统主要用于将广告投放子系统发送的广告数据同步给推荐引擎;推荐引擎主要用于根据数据同步子系统同步的广告数据,确定广告数据对应的特定用户终端。缓存子系统用于在广告数据同步的过程中,缓存需要同步的广告数据。
数据同步系统中的缓存子系统在储存广告数据时,以关键字(key)-值(value)的结构储存,在关键字中储存广告标识,在对应的值中储存着广告描述信息,广告描述信息可以包括多个原子信息块,比如广告主描述块,广告描述块,定向条件描述块等,每个原子信息块有一个对应的修改时间。以下以一条第一类广告数据A(广告标识为a),和一条第二类广告数据B(广告标识为b)为例来说明:
1、广告投放子系统在生成一条广告数据A,并以第一周期,周期性地发送给数据同步子系统;广告投放子系统在对一条已有的广告数据中的定向条件描述块进行修改并形成一条新的广告数据B,然后实时地发送给数据同步子系统。其中新的广告数据B可以只包括对已有的一条广告数据的定向条件描述块的修改数据。
可以理解的,在广告投放子系统周期性地发送给数据同步子系统的广告数据可能不仅仅包括广告数据A,还包括其它第一类广告数据。
2、数据同步子系统在接收到广告数据B后,确定广告数据B是第二类广告数据,则进一步确定该广告数据B中定向条件描述块的第一修改时间,大于缓存子系统中储存的广告标识b对应的定向条件描述块的第二修改时间,即第一修改时间距离当前时间较近时,在储存该广告数据B时,数据同步子系统会用该广告数据B中的定向条件描述块替换缓存子系统中储存的广告标识b对应的定向条件描述块。
3、数据同步子系统在收到广告数据A后,确定广告数据A是第一类广告数据,则数据同步子系统会将广告数据A直接储存到缓存子系统中。具体地,数据同步子系统将广告数据A中的广告标识a储存到缓存子系统的索引中,并将广告标识a与广告数据A中广告描述信息的对应关系储存到缓存子系统中。
其中,该索引中包括集合标识和广告标识集合的对应关系,其中集合标识为1到N之间的整数,该对应关系以关键字-值的结构储存,在关键字中储存整数(在1到N之间),在该整数对应的值中储存该整数所标识的广告标识集合,这样就相当于将广告数据分为N份,每份广告数据中所有广告数据对应的广告标识所属的广告标识集合,通过一个整数来标识。具体地,数据同步子系统在储存上述广告标识a时,会用广告标识a的哈希值的绝对值对N取模得到一个取模值,则将该广告标识a储存到缓存子系统储存的取模值对应的广告标识集合中。
4、数据同步子系统按照第二周期,周期行地读取缓存子系统中的广告数据,具体地,数据同步子系统会通过如图7所示的结构来实现对广告数据的读取,该结构主要是按照第二周期固定扫描索引得到广告标识,然后再通过广告标识查询对应的广告描述信息,从而得到整条广告数据。该结构包括:信号生成模块,N个标识获取模块,及多个信息获取模块,其中信号生成模块可以是CrontabSpout组件、标识获取模块可以是AdIdGetBolt组件,信息获取模块可以是AdInfoGetBolt组件,具体地:
信号生成模块,主要是按照第二周期,周期性发出一个信号,比如一分钟发出一个信号,并生成N个整数,以随机的方式将N个整数分别发送给N个标识获取模块。
标识获取模块,通过接收的一个整数扫描缓存子系统中的索引,查询到该整数对应的广告标识集合,然后将广告标识集合中的各个广告标识分别发送给信息获取模块。同一个广告标识会发送给同一个信息获取模块。
信息获取模块,根据接收到的广告标识,查询到缓存子系统中储存的对应的广告描述信息。
这样通过N个标识获取模块,及多个信息获取模块并行地处理,增加了读取广告数据的效率。
5、数据同步子系统中还包括文件处理模块,参考图8所示,数据同步子系统中的各个信息获取模块查询到广告标识对应的广告描述信息后,用广告标识和对应的广告描述信息生成文件,分别上传到文件处理模块。
当每个信息获取模块完成上传文件的任务后,会向信号生成模块回应一个确定消息,这样信号生成模块就可以知道信息获取模块完成了上传文件的任务。当数据同步子系统中的信号生成模块确定一个信号(即上述按照第二周期触发的信号)触发周期到来后,触发的所有的信息获取模块都完成上传文件的任务,会向文件处理模块写一个完成(done)文件,表示多个上传任务都完成;且信号生成模块会向推荐引擎发送通知,通知推荐引擎可以向文件处理模块读取文件。
在本应用例中,可以在不对现有的广告投放子系统改变的同时,由数据同步子系统采用比第一类广告数据的发送周期即第一周期较小的第二周期同步第一类广告数据到推荐引擎,能提高第一类广告数据的同步频率;或只需要更改现有的广告投放子系统在发送第二类广告数据时进行实时发送,由数据同步子系统采用第二周期而不是实时地同步第二类广告数据到推荐引擎,使得以适当的频率同步第二类广告数据。
需要说明的是,如果上述数据同步方法应用于新闻数据的推荐中,则可以实现了在不对新闻投放子系统改变或对新闻投放子系统改变较小的同时,能适当提高新闻数据的同步频率。且上述数据同步方法还可以应用于推荐数据到用户终端的应用中,且能达到同样的效果,在此不进行赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的数据同步方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种数据同步方法,其特征在于,所述方法应用于数据同步系统,所述数据同步系统包括应用投放子系统、缓存子系统、数据同步子系统及推荐引擎,所述方法包括:
所述应用投放子系统将推荐数据发送给所述数据同步子系统,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的;
所述数据同步子系统将从所述应用投放子系统接收的所述推荐数据储存到所述缓存子系统中;
所述数据同步子系统读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期;
所述数据同步子系统将读取的所述推荐数据同步给所述推荐引擎,以便所述推荐引擎根据所述同步的推荐数据确定推荐数据对应的用户终端。
2.如权利要求1所述的方法,其特征在于,如果所述推荐数据包括第二类推荐数据,且所述第二类推荐数据中包括至少一个原子信息块,则所述数据同步子系统将从所述应用投放子系统接收的所述推荐数据储存到所述缓存子系统中具体包括:
如果所述至少一个原子信息块中任一原子信息块的第一修改时间,大于所述缓存子系统中已储存的对应原子信息块的第二修改时间,所述数据同步子系统用所述第一修改时间对应的原子信息块替换所述缓存子系统中所述第二修改时间对应的原子信息块。
3.如权利要求1所述的方法,其特征在于,如果所述推荐数据包括第一类推荐数据,且所述第一类推荐数据包括应用标识及所述应用标识对应的描述信息,则所述数据同步子系统将从所述应用投放子系统接收的所述推荐数据储存到所述缓存子系统中具体包括:
将所述应用标识储存到所述缓存子系统的索引中,所述索引包括应用标识集合与集合标识的对应关系;
将所述描述信息与所述应用标识的对应关系储存到所述缓存子系统中。
4.如权利要求3所述的方法,其特征在于,所述集合标识为1到N之间的整数,则所述将所述应用标识储存到所述缓存子系统的索引中,具体包括:
用所述应用标识的哈希值的绝对值,对N进行取模运算得到取模值;
将所述应用标识储存到所述索引中所述取模值对应的应用标识集合中。
5.如权利要求4所述的方法,其特征在于,所述数据同步子系统读取所述缓存子系统中储存的推荐数据,具体包括:
按照所述第二周期,周期性地生成读取整数;向所述缓存子系统读取所述读取整数对应的应用标识集合中各个应用标识对应的描述信息。
6.一种数据同步装置,其特征在于,包括:
数据接收单元,用于接收应用投放子系统发送的推荐数据,其中,所述推荐数据包括第一类推荐数据和/或第二类推荐数据,所述第一类推荐数据的发送周期为第一周期,所述第二类推荐数据是实时发送的;
储存单元,用于将所述数据接收单元接收的所述推荐数据储存到所述缓存子系统中;
读取单元,用于读取所述缓存子系统中储存的推荐数据,其中,所述数据同步子系统读取推荐数据的周期为第二周期,所述第二周期小于所述第一周期;
同步单元,用于将所述读取单元读取的所述推荐数据同步给所述推荐引擎,以便所述推荐引擎根据所述同步的推荐数据确定推荐数据对应的用户终端。
7.如权利要求6述的装置,其特征在于,
所述储存单元,具体用于如果所述数据接收单元接收的推荐数据包括第二类推荐数据,且所述第二类推荐数据中包括至少一个原子信息块,则如果所述至少一个原子信息块中任一原子信息块的第一修改时间,大于所述缓存子系统中已储存的对应原子信息块的第二修改时间,所述数据同步子系统用所述第一修改时间对应的原子信息块替换所述缓存子系统中所述第二修改时间对应的原子信息块。
8.权利要求6所述的装置,其特征在于,
所述数据接收单元接收的推荐数据包括第一类推荐数据,且所述第一类推荐数据包括应用标识及所述应用标识对应的描述信息;
则所述储存单元,具体包括标识储存单元和对应储存单元,其中:
所述标识储存单元,用于将所述应用标识储存到所述缓存子系统的索引中,所述索引包括应用标识集合与集合标识的对应关系;
所述对应储存单元,用于将所述描述信息与所述应用标识的对应关系储存到所述缓存子系统中。
9.如权利要求8所述的装置,其特征在于,所述集合标识为1到N之间的整数,则所述标识储存单元,具体用于用所述应用标识的哈希值的绝对值,对N进行取模运算得到取模值;将所述应用标识储存到所述索引中所述取模值对应的应用标识集合中。
10.如权利要求9所述的装置,其特征在于,所述读取单元,具体用于按照所述第二周期生成读取整数;向所述缓存子系统读取所述读取整数对应的应用标识集合中各个应用标识对应的描述信息。
11.一种数据同步系统,其特征在于,包括应用投放子系统、缓存子系统、数据同步子系统及推荐引擎,所述应用投放子系统、推荐引擎和缓存子系统分别与所述数据同步子系统都通信连接;
所述数据同步子系统承载于如权利要求6至10任一项所述的装置中。
CN201510337641.0A 2015-06-17 2015-06-17 一种数据同步方法、装置及系统 Active CN104917844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510337641.0A CN104917844B (zh) 2015-06-17 2015-06-17 一种数据同步方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510337641.0A CN104917844B (zh) 2015-06-17 2015-06-17 一种数据同步方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104917844A CN104917844A (zh) 2015-09-16
CN104917844B true CN104917844B (zh) 2016-10-26

Family

ID=54086540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510337641.0A Active CN104917844B (zh) 2015-06-17 2015-06-17 一种数据同步方法、装置及系统

Country Status (1)

Country Link
CN (1) CN104917844B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241693B (zh) * 2016-12-26 2020-10-27 北京国双科技有限公司 同步数据的方法和装置
CN108984564A (zh) * 2017-06-02 2018-12-11 北京京东尚科信息技术有限公司 数据存储系统、方法和装置
CN107241447B (zh) * 2017-07-31 2019-09-13 Oppo广东移动通信有限公司 数据同步管控方法、装置、存储介质及电子设备
CN107885884A (zh) * 2017-12-01 2018-04-06 深圳市天下房仓科技有限公司 一种酒店数据同步方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972277A (zh) * 2006-12-11 2007-05-30 中兴通讯股份有限公司 一种电子业务指南表的发送方法
CN102202072A (zh) * 2010-03-23 2011-09-28 盛霆信息技术(上海)有限公司 互联网站数据的单向同步方法
CN103955491A (zh) * 2014-04-15 2014-07-30 南威软件股份有限公司 一种定时数据增量同步的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972277A (zh) * 2006-12-11 2007-05-30 中兴通讯股份有限公司 一种电子业务指南表的发送方法
CN102202072A (zh) * 2010-03-23 2011-09-28 盛霆信息技术(上海)有限公司 互联网站数据的单向同步方法
CN103955491A (zh) * 2014-04-15 2014-07-30 南威软件股份有限公司 一种定时数据增量同步的方法

Also Published As

Publication number Publication date
CN104917844A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
CN104917844B (zh) 一种数据同步方法、装置及系统
CN103475939B (zh) 一种处理播放记录的方法、装置及服务器
CN103873451B (zh) 一种数据同步的方法、设备和系统
CN104980486A (zh) 使用等同匹配网络名称的集合同步
CN104765749B (zh) 一种数据存储方法及装置
CN104636477B (zh) 一种信息推送前推送列表的去重方法
CN110708237A (zh) 消息交互方法、装置、可读介质及电子设备
CN106612308A (zh) 数据传输方法及装置
CN103647756A (zh) 一种广告播放方法、服务器、客户端及系统
CN108616556B (zh) 数据处理方法、装置和系统
CN109600410A (zh) 数据存储系统以及方法
JP2017535124A (ja) メディアコンテンツに関連付けられた情報を提供する方法および装置
CN104980489A (zh) 使用匹配的网络名称的安全集合同步
CN108900855A (zh) 直播内容录制方法及装置
CN102026228B (zh) 通信网络性能数据的统计方法和设备
CN103747032A (zh) 一种文件传输方法、设备和系统
CN101414918A (zh) 一种随机数据在线生成方法、装置和系统
CN104702703B (zh) 一种数据更新方法及装置
CN103812934A (zh) 基于云存储系统的遥感数据发布方法
CN103248678A (zh) 一种数据资源共享方法、服务端和客户端
CN103905201A (zh) 主应用与多个从属应用的交互方法及装置
CN103647755A (zh) 一种广告播放方法、服务器、客户端及系统
CN109213955B (zh) 数据处理方法及相关设备
CN104079663A (zh) 分布式实时同步网络系统及其通告数据的方法
CN105528346B (zh) 提供媒体内容信息的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant