CN106790549A - 一种数据更新方法及装置 - Google Patents

一种数据更新方法及装置 Download PDF

Info

Publication number
CN106790549A
CN106790549A CN201611208707.7A CN201611208707A CN106790549A CN 106790549 A CN106790549 A CN 106790549A CN 201611208707 A CN201611208707 A CN 201611208707A CN 106790549 A CN106790549 A CN 106790549A
Authority
CN
China
Prior art keywords
data
updating unit
update
notification message
party server
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.)
Granted
Application number
CN201611208707.7A
Other languages
English (en)
Other versions
CN106790549B (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611208707.7A priority Critical patent/CN106790549B/zh
Publication of CN106790549A publication Critical patent/CN106790549A/zh
Application granted granted Critical
Publication of CN106790549B publication Critical patent/CN106790549B/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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Abstract

本发明实施例提供了一种数据更新方法及装置。所述方法包括:划分数据更新集合,按照所述划分的数据更新集合进行数据更新;当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。根据本发明实施例,避免了当无法与某个第三方服务器接口连接或与某个第三方服务器接口的传输速度较慢时而影响全局的数据更新单元无法下载或下载缓慢,导致最终无法及时更新数据的问题,提升了数据更新的速度和及时性。

Description

一种数据更新方法及装置
技术领域
本发明涉及通讯技术领域,特别是涉及一种数据更新方法和一种数据更新装置。
背景技术
目前,越来越多用户通过视频、音频、小说文本等各类数据展示平台接收视频、音频、小说文本等数据。通常,由更新数据处理服务器定期从多个第三方服务器接口下载更新的数据,并上传至数据库中以供数据展示平台调用并向用户展示。
在更新数据的过程中,通常是从某个第三方服务器接口开启数据的下载,当该第三方服务器接口当前更新的全部数据下载完毕,再继续从另外一个第三方服务器接口中进行数据更新。当遍历全部第三方服务器接口,确认全部需要更新的数据均下载至更新数据处理服务器后,则遍历本地存储的数据并逐一上传至数据库,以供数据展示平台读取并向用户展示这些更新数据。
然而,上述的处理过程中,如果与某个第三方服务器接口的连接出现问题,无法从该第三方服务器接口下载数据,或者下载速度缓慢,则会影响到全局数据的更新速度。例如,即使与其他第三方服务器接口的连接正常,但由于需要等待当前的第三方服务器接口的全部数据下载完毕,仍无法启动新的下载并将数据上传至数据库。又例如,即使已经从当前的第三方服务器接口下载了部分数据,由于需要等待全部下载完毕才能存储数据至数据库,因此仍无法将已经下载的部分数据更新至数据库。
因此,当前的数据展示方式存在着数据更新速度慢,数据更新不及时的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据更新方法和相应的数据更新装置。
依据本发明的一个方面,提供了一种数据更新方法,包括:
划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
可选地,所述划分数据更新集合的步骤包括:
按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
可选地,所述按照第三方服务器接口划分数据更新集合的步骤包括:
从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
可选地,所述按照所述划分的数据更新集合进行数据更新的步骤包括:
针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
可选地,所述在更新消息队列中添加更新通知消息的步骤包括:
查找下载的数据更新单元的数据编号以及在本地的存储路径;
将所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
可选地,所述根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库的步骤包括:
根据所述更新通知消息中的存储路径提取所述数据更新单元;
采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
可选地,所述监听所述更新消息队列的步骤包括:
判断所述更新消息队列中是否存在有新增的更新通知消息;
若是,则触发发送所述数据更新单元至所述数据库。
可选地,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
可选地,还包括:
根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
可选地,还包括:
定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至所述数据库的处理。
根据本发明的另一方面,提供了一种数据更新装置,包括:
数据更新集合划分模块,用于划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
更新通知消息添加模块,用于当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
数据更新单元存储模块,用于监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
可选地,所述数据更新集合划分模块包括:
数据更新集合划分子模块,用于按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
可选地,所述数据更新集合划分子模块包括:
第三方服务器接口查找子单元,用于从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
数据更新集合形成子单元,用于由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
可选地,所述数据更新集合划分模块包括:
数据更新单元下载子模块,用于针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
可选地,所述更新通知消息添加模块包括:
查找子模块,用于查找下载的数据更新单元的数据编号以及在本地的存储路径;
添加子模块,用于将所述所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
可选地,所述数据更新单元存储模块包括:
提取子模块,用于根据所述更新通知消息中的存储路径提取所述数据更新单元;
标记子模块,用于采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
可选地,所述数据更新单元存储模块包括:
更新通知消息判断子模块,用于判断所述更新消息队列中是否存在有新增的更新通知消息;
触发发送数据更新单元子模块,用于触发发送所述数据更新单元至所述数据库。
可选地,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
可选地,所述装置还包括:
下载优先等级标记模块,用于根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
可选地,所述装置还包括:
线程创建模块,用于定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至数据库的处理。
根据本发明实施例,通过划分数据更新集合,按照划分的数据更新集合进行数据更新,针对每个下载完成的数据更新单元添加更新通知消息至更新消息队列,并根据新增的更新通知消息将对应的数据更新单元存储至数据库,从而避免了当无法与某个第三方服务器接口连接或与某个第三方服务器接口的传输速度较慢时而影响全局的数据更新单元无法下载或下载缓慢,导致最终无法及时更新数据的问题,提升了数据更新的速度和及时性。
根据本发明实施例,通过将第三方服务器接口分组成多个第三方服务器接口集合,基于每个第三方服务器接口集合进行数据下载,降低了数据更新粒度,无须等待某个第三方服务器接口的全部数据更新单元下载完毕后才能启动其他第三方服务器接口集合的数据更新单元的下载,减少了第三方服务器接口之间的影响,即使无法正常地从某个第三方服务器接口下载数据,所影响的仅限于该组内的其他第三方服务器接口,提升了数据更新的容错性。
同时,通过引入Qbus的生产者-消费者模式,同一时段内可以同时从多个第三方服务器接口中下载数据更新单元,提高了数据处理的并发性,也提升了全局数据的更新速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的一种数据更新方法的步骤流程图;
图2示出了本发明另一个实施例的一种数据更新方法的步骤流程图;
图3示出了本发明一个实施例的一种数据更新装置的结构框图;
图4示出了本发明另一个实施例的一种数据更新装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种数据更新方法的步骤流程图,具体可以包括如下步骤:
步骤101,划分数据更新集合,按照所述划分的数据更新集合进行数据更新。
具体实现中,可以按照第三方服务器接口划分数据更新集合。例如,将多个第三方服务器接口分成多个第三方服务器接口集合,将第三方服务器接口集合中各个第三方服务器接口所提供的数据更新单元集合成数据更新集合,从而形成多个数据更新集合。按照划分的数据更新集合,分别从各个数据更新集合中依次下载数据更新单元以进行数据更新。
需要说明的是,上述的第三方服务器接口可以定期提供数据更新单元,更新数据处理服务器可以定期通过第三方服务器接口抓取数据更新单元。
需要说明的是,上述的数据更新单元可以为视频、音频、图片、文本等数据。更具体的,数据更新单元可以为电视剧中的某一集、某个音乐特辑中的一首歌曲、连载小说中的某章或某节内容等。本领域技术人员可以根据实际需要设定数据更新单元的具体内容。
在进行数据更新的过程中,可以针对数据更新集合中的各个数据更新单元逐一下载。下载顺序可以根据事情情况而定,例如按照数据更新单元对应的第三方服务器接口的接口编号进行下载。
步骤102,当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息。
具体实现中,当某个数据更新单元下载完毕后,可以向更新消息队列发送一个相应的更新通知消息。上述的更新通知消息可以包括下载的数据更新单元的数据编号和下载后的存储路径,以便后续可以根据数据编号和存储路径查找数据更新单元并存储至数据库。
实际应用中,可以开启多个生产者线程进行上述的数据更新和更新通知消息添加的处理。每个生产者线程可以针对每个数据更新集合进行数据更新单元的下载,并针对下载的数据更新单元向更新消息队列中添加更新通知消息。
步骤103,监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
需要说明的是,相应的数据库可以是一个用于存储有数据更新单元的线上数据库,相应的客户端可以从数据库中调用数据更新单元并向用户展示。
更新数据处理服务器可以监听更新消息队列,监听的方式可以是定期开启监听状态或一直保持监听状态。当监听到更新消息队列中存在有新增的更新通知消息,可以查找新增的更新通知消息所指向的数据更新单元,将该数据更新单元发送至数据库,客户端可以在需要的时候从数据库调用数据更新单元并向用户展示数据更新单元。实际应用中,该客户端可以包括数据展示平台,例如提供视频、小说等的网站或终端应用。
实际应用中,可以开启一个消费者线程进行上述的更新消息队列的监听以及数据更新单元的存储处理。消费者线程可以实时从更新消息队列中读取更新通知消息,将对应的数据更新单元发送至数据库进行保存。
根据本发明实施例,通过划分数据更新集合,按照划分的数据更新集合进行数据更新,针对每个下载完成的数据更新单元添加更新通知消息至更新消息队列,并根据新增的更新通知消息将对应的数据更新单元存储至数据库,从而避免了当无法与某个第三方服务器接口连接或与某个第三方服务器接口的传输速度较慢时而影响全局的数据更新单元无法下载或下载缓慢,导致最终无法及时更新数据的问题,提升了数据更新的速度和及时性。
参照图2,示出了根据本发明另一个实施例的一种数据更新方法的步骤流程图,具体可以包括如下步骤:
步骤201,划分数据更新集合,按照所述划分的数据更新集合进行数据更新。
可选地,所述划分数据更新集合的步骤可以包括以下子步骤:
子步骤S11,按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
具体实现中,可以依据第三方服务器接口的分组,进行数据更新集合的划分。其中,每一个数据更新集合可以包括一个或多个第三方服务器接口对应的数据更新单元。
可选地,所述子步骤S11可以包括:
子步骤S11-1,从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合。
具体实现中,可以将当前提供数据更新单元的第三方服务器接口形成一个服务器列表。在启动数据更新处理时,可以从该服务器列表中查找到多个存在有数据更新单元的第三方服务器接口。针对该多个第三方服务器接口,将其分成多个第三方服务器接口集合。
因此,当某个第三方服务器接口出现问题,或与某个第三方服务器接口的网络连接存在问题,即使无法继续从同组的其他第三方服务器接口下载数据,也不会影响其他第三方服务器接口的数据下载。例如,可以由五个第三方服务器接口组成一个第三方服务器接口集合,当某个第三方服务器接口出现问题而导致下载失败,所影响到的仅限于其他四个第三方服务器接口的数据更新单元的下载进度,而不会影响到其他第三方服务器接口集合。
子步骤S11-2,由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
具体实现中,可以将第三方服务器接口集合中各个第三方服务器接口所提供的数据更新单元集合形成对应于该第三方服务器接口集合的数据更新集合。
可选地,所述方法可以还包括:
根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
可选地,所述按照所述划分的数据更新集合进行数据更新的步骤可以包括以下子步骤:
子步骤S21,针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
具体实现中,可以预先根据更新数据处理服务器与各个第三方服务器接口之间的数据传输速度,标记各个第三方服务器接口的下载优先等级。在针对各个数据更新集合依次下载数据更新单元时,可以查找该组中下载优先等级较高的第三方服务器接口,优先从中下载数据更新单元。从而在数据下载的过程中,可以优先从数据传输速度较快的第三方服务器接口中下载数据,以便将下载的数据更新单元及时存储至数据库,避免了数据传输速度相对较慢的第三方服务器接口对全局数据更新的影响。
步骤202,当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息。
可选地,所述步骤202可以包括以下子步骤:
子步骤S31,查找下载的数据更新单元的数据编号以及在本地的存储路径。
子步骤S32,将所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
具体实现中,可以针对下载的数据更新单元,查找对应的数据编号。更新数据处理服务器可以将数据更新单元存储在本地,并产生一个存储路径。因此可以根据下载的数据更新单元查找到存储路径。将查找到的数据编号以及存储路径添加至更新通知消息中,并将添加后的更新通知消息发送至更新消息队列。
实际应用中,还可以将数据下载来源的第三方服务器接口的接口编号和标识添加至更新通知消息中。本领域技术人员可以根据实际需要添加其他信息至更新通知消息中。
步骤203,监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
可选地,所述监听所述更新消息队列的步骤可以包括以下子步骤:
子步骤S41,判断所述更新消息队列中是否存在有新增的更新通知消息。
子步骤S42,若是,则触发发送所述数据更新单元至所述数据库。
具体实现中,可以保持监听更新消息队列,判断更新消息队列中是否存在有新添加的未进行相应处理的更新通知消息,若存在则触发数据更新单元的发送处理。
可选地,所述根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库的步骤可以包括以下子步骤:
子步骤S51,根据所述更新通知消息中的存储路径提取所述数据更新单元。
子步骤S52,采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
具体实现中,可以提取更新通知消息中的存储路径和数据编号。根据该存储路径,可以在更新数据处理服务器中提取到更新通知消息指向的数据更新单元,并采用相应的数据编号标记数据更新单元。将标记数据编号的数据更新单元存储至数据库。
可选地,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
实际应用中,当所述客户端包括有数据展示平台。数据展示平台可以从存储有数据更新单元的数据库中调用数据更新单元,以及将调用的数据更新单元向用户展示。具体实现中,可以将最近一次调用的数据更新单元与历史调用的多个数据更新单元以关联的方式一同展示给用户。
实际应用中,更新数据处理服务器可以生成一个更新数据发送请求,并推送至客户端。客户端接收到该更新数据发送请求后,可以由客户选择是否接收相应的数据更新单元。当更新数据处理服务器接收到客户端返回的更新数据接收确认消息,则可以将相应的数据更新单元发送至客户端。
实际应用中,更新数据处理服务器还可以等待客户端发起数据更新请求,接收到数据更新请求后,查询数据库中的数据更新单元并返回给客户端,由客户端向用户展示。步骤204,定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至所述数据库的处理。
具体实现中,可以定期创建M个生产者线程和N个消费者线程。每个生产者线程可以针对每个第三方服务器接口集合的数据更新集合进行数据更新,并针对下载的数据更新单元向更新消息队列中添加更新通知消息。消费者线程可以实时从更新消息队列中读取更新通知消息,将对应的数据更新单元发送至数据库,数据库将接收的数据更新单元保存至本地。本领域技术人员可以根据第三方服务器接口的数量以及数据更新单元的数量确定生产者线程的数量M和消费者线程数量N。
在实际的数据展示应用场景中,可以引入Qbus(分布消息队列)的生产者-消费者模式以实现本发明实施例。Qbus是一套分布式异步消息系统,具有高性能、高吞吐、持久化、消息订阅等特点,常用于异步解耦、数据传输等场景。具体地,可以定期启动多个生产者线程,每个生产者线程的处理逻辑包括:按序处理少量几个第三方服务器接口所提供的数据更新单元,例如,将五个第三方服务器接口作为一组,每个生产者线程针对该组的五个第三方服务器接口所提供的多个数据更新单元进行更新。在处理每个第三方服务器接口的数据更新单元时,每当下载完一个数据更新单元后,则往更新消息队列中发送一条更新通知消息,该更新通知消息可以包含有第三方服务器接口的接口编号和标识、数据更新单元的数据编号和数据更新单元的存储路径。可以启动一个消费者线程,消费者线程的处理逻辑包括:实时从更新消息队列中读取更新通知消息并解析消息内容,根据消息内容所指示的存储路径查找数据更新单元,并将数据更新单元存储至线上数据库以供客户端调用和展示。通过上述的多个生产者一个消费者的处理模式,生产者一边生产,消费者一边消费,两者通过消息队列通信,提高了数据更新的效率。
根据本发明实施例,通过将第三方服务器接口分组成多个第三方服务器接口集合,基于每个第三方服务器接口集合进行数据下载,降低了数据更新粒度,无须等待某个第三方服务器接口的全部数据更新单元下载完毕后才能启动其他第三方服务器接口集合的数据的下载,减少了第三方服务器接口之间的影响,即使无法正常地从某个第三方服务器接口下载数据,所影响的仅限于该组内的其他第三方服务器接口,提升了数据更新的容错性。
同时,通过引入Qbus的生产者-消费者模式,同一时段内可以同时从多个第三方服务器接口中下载数据更新单元,提高了数据处理的并发性,也提升了全局数据的更新速度。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图3示出了本发明一个实施例的一种数据展示更新的结构框图,具体可以包括以下模块:
数据更新集合划分模块301,用于划分数据更新集合,按照所述划分的数据更新集合进行数据更新。
更新通知消息添加模块302,用于当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息。
数据更新单元存储模块303,用于监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
根据本发明实施例,通过划分数据更新集合,按照划分的数据更新集合进行数据更新,针对每个下载完成的数据更新单元添加更新通知消息至更新消息队列,并根据新增的更新通知消息将对应的数据更新单元存储至数据库,从而避免了当无法与某个第三方服务器接口连接或与某个第三方服务器接口的传输速度较慢时而影响全局的数据更新单元无法下载或下载缓慢,导致最终无法及时更新数据的问题,提升了数据更新的速度和及时性。
图4示出了本发明另一个实施例的一种数据更新装置的结构框图,具体可以包括以下模块:
数据更新集合划分模块401,用于划分数据更新集合,按照所述划分的数据更新集合进行数据更新。
更新通知消息添加模块402,用于当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息。
数据更新单元存储模块403,用于监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
线程创建模块404,用于定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至所述数据库的处理。
可选地,所述数据更新集合划分模块401可以包括以下子模块:
数据更新集合划分子模块,用于按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
可选地,所述数据更新集合划分子模块可以包括以下子单元:
第三方服务器接口查找子单元,用于从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
数据更新集合形成子单元,用于由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
可选地,所述数据更新集合划分模块401可以包括以下子模块:
数据更新单元下载子模块,用于针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
可选地,所述更新通知消息添加模块402可以包括以下子模块:
查找子模块,用于查找下载的数据更新单元的数据编号以及在本地的存储路径。
添加子模块,用于将所述所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
可选地,所述数据更新单元存储模块403可以包括以下子模块:
提取子模块,用于根据所述更新通知消息中的存储路径提取所述数据更新单元。
标记子模块,用于采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
可选地,所述数据更新单元存储模块403可以包括以下子模块:
更新通知消息判断子模块,用于判断所述更新消息队列中是否存在有新增的更新通知消息,若是,则调用触发发送更新数据子模块。
触发发送数据更新单元子模块,用于触发发送所述数据更新单元至所述数据库。
可选地,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
可选地,所述装置可以还包括:
下载优先等级标记模块,用于根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
根据本发明实施例,通过将第三方服务器接口分组成多个第三方服务器接口集合,基于每个第三方服务器接口集合进行数据下载,降低了数据更新粒度,无须等待某个第三方服务器接口的全部数据更新单元下载完毕后才能启动其他第三方服务器接口集合的数据更新单元的下载,减少了第三方服务器接口之间的影响,即使无法正常地从某个第三方服务器接口下载数据,所影响的仅限于该组内的其他第三方服务器接口,提升了数据更新的容错性。
同时,通过引入Qbus的生产者-消费者模式,同一时段内可以同时从多个第三方服务器接口中下载数据更新单元,提高了数据处理的并发性,也提升了全局数据的更新速度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据编辑设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种数据更新方法,包括:
划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
A2、如A1所述的方法,所述划分数据更新集合的步骤包括:
按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
A3、如A2所述的方法,所述按照第三方服务器接口划分数据更新集合的步骤包括:
从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
A4、如A1所述的方法,所述按照所述划分的数据更新集合进行数据更新的步骤包括:
针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
A5、如A1所述的方法,所述在更新消息队列中添加更新通知消息的步骤包括:
查找下载的数据更新单元的数据编号以及在本地的存储路径;
将所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
A6、如A5所述的方法,所述根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库的步骤包括:
根据所述更新通知消息中的存储路径提取所述数据更新单元;
采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
A7、如A1所述的方法,所述监听所述更新消息队列的步骤包括:
判断所述更新消息队列中是否存在有新增的更新通知消息;
若是,则触发发送所述数据更新单元至所述数据库。
A8、如A1所述的方法,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
A9、如A4所述的方法,还包括:
根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
A10、如A1所述的方法,还包括:
定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至所述数据库的处理。
本发明还公开了B11、一种数据更新装置,包括:
数据更新集合划分模块,用于划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
更新通知消息添加模块,用于当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
数据更新单元存储模块,用于监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
B12、如B11所述的装置,所述数据更新集合划分模块包括:
数据更新集合划分子模块,用于按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
B13、如B12所述的装置,所述数据更新集合划分子模块包括:
第三方服务器接口查找子单元,用于从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
数据更新集合形成子单元,用于由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
B14、如B11所述的装置,所述数据更新集合划分模块包括:
数据更新单元下载子模块,用于针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
B15、如B11所述的装置,所述更新通知消息添加模块包括:
查找子模块,用于查找下载的数据更新单元的数据编号以及在本地的存储路径;
添加子模块,用于将所述所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
B16、如B15所述的装置,所述数据更新单元存储模块包括:
提取子模块,用于根据所述更新通知消息中的存储路径提取所述数据更新单元;
标记子模块,用于采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
B17、如B11所述的装置,所述数据更新单元存储模块包括:
更新通知消息判断子模块,用于判断所述更新消息队列中是否存在有新增的更新通知消息;
触发发送数据更新单元子模块,用于触发发送所述数据更新单元至所述数据库。
B18、如B11所述的装置,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
B19、如B14所述的装置,还包括:
下载优先等级标记模块,用于根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
B20、如B11所述的装置,还包括:
线程创建模块,用于定期创建M个生产者线程和N个消费者线程,由所述生产者线程执行数据更新以及添加更新通知消息至所述更新消息队列的处理,以及,由所述消费者线程执行监听所述更新消息队列以及将所述数据更新单元存储至数据库的处理。

Claims (10)

1.一种数据更新方法,包括:
划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
2.根据权利要求1所述的方法,其中,所述划分数据更新集合的步骤包括:
按照第三方服务器接口划分数据更新集合,一数据更新集合包括至少一个第三方服务器接口对应的数据更新单元。
3.根据权利要求2所述的方法,其中,所述按照第三方服务器接口划分数据更新集合的步骤包括:
从服务器列表中查找当前提供数据更新单元的第三方服务器接口,并分组成多个第三方服务器接口集合;
由各个第三方服务器接口集合的数据更新单元形成相应的数据更新集合。
4.根据权利要求1所述的方法,其中,所述按照所述划分的数据更新集合进行数据更新的步骤包括:
针对各个数据更新集合,按照各个数据更新单元所对应的第三方服务器接口的下载优先等级下载所述数据更新单元。
5.根据权利要求1所述的方法,其中,所述在更新消息队列中添加更新通知消息的步骤包括:
查找下载的数据更新单元的数据编号以及在本地的存储路径;
将所述数据编号以及所述存储路径添加至所述更新通知消息,并发送至所述更新消息队列。
6.根据权利要求5所述的方法,其中,所述根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库的步骤包括:
根据所述更新通知消息中的存储路径提取所述数据更新单元;
采用所述更新通知消息中的数据编号标记提取的数据更新单元,将标记后的数据更新单元存储至所述数据库。
7.根据权利要求1所述的方法,其中,所述监听所述更新消息队列的步骤包括:
判断所述更新消息队列中是否存在有新增的更新通知消息;
若是,则触发发送所述数据更新单元至所述数据库。
8.根据权利要求1所述的方法,其中,所述客户端包括数据展示平台,所述操作包括从所述数据库调用数据更新单元和向用户展示数据更新单元,所述数据展示平台将当前调用的数据更新单元与历史调用的数据更新单元向所述用户关联展示。
9.根据权利要求4所述的方法,其中,还包括:
根据与所述第三方服务器接口之间的数据传输速度标记所述下载优先等级。
10.一种数据更新装置,包括:
数据更新集合划分模块,用于划分数据更新集合,按照所述划分的数据更新集合进行数据更新;
更新通知消息添加模块,用于当数据更新集合中的一数据更新单元下载完毕,则在更新消息队列中添加更新通知消息;
数据更新单元存储模块,用于监听所述更新消息队列,并根据新增的所述更新通知消息将所述数据更新单元存储至相应的数据库,供相应的客户端操作。
CN201611208707.7A 2016-12-23 2016-12-23 一种数据更新方法及装置 Active CN106790549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611208707.7A CN106790549B (zh) 2016-12-23 2016-12-23 一种数据更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611208707.7A CN106790549B (zh) 2016-12-23 2016-12-23 一种数据更新方法及装置

Publications (2)

Publication Number Publication Date
CN106790549A true CN106790549A (zh) 2017-05-31
CN106790549B CN106790549B (zh) 2021-01-15

Family

ID=58920231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611208707.7A Active CN106790549B (zh) 2016-12-23 2016-12-23 一种数据更新方法及装置

Country Status (1)

Country Link
CN (1) CN106790549B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341253A (zh) * 2017-07-11 2017-11-10 深圳市信义科技有限公司 一种根据数据等级对主数据进行更新的方法
CN107886424A (zh) * 2017-11-28 2018-04-06 腾讯科技(深圳)有限公司 结算数据处理方法和装置、计算机设备和存储介质
CN109542636A (zh) * 2018-10-18 2019-03-29 新浪网技术(中国)有限公司 一种数据更新的方法及装置
CN110213055A (zh) * 2019-05-07 2019-09-06 北京奇安信科技有限公司 情报更新方法、装置、计算机设备及计算机可读存储介质
CN111327468A (zh) * 2020-02-21 2020-06-23 中国电力科学研究院有限公司 一种用于电力系统的边缘计算平台的运行方法及其系统
CN112040283A (zh) * 2020-11-04 2020-12-04 北京爱奇艺智能科技有限公司 一种拆分视频海量选集列表的方法和系统
CN112579691A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置
CN114500483A (zh) * 2021-09-23 2022-05-13 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172476A1 (en) * 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization
WO2006124790A2 (en) * 2005-05-16 2006-11-23 Camiant, Inc. Sdp web services interface
US20100161565A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Cluster data management system and method for data restoration using shared redo log in cluster data management system
CN103729225A (zh) * 2014-01-22 2014-04-16 中国人民解放军国防科学技术大学 一种基于内容分块的远程文件实时更新方法
CN104917798A (zh) * 2014-03-13 2015-09-16 北京奇虎科技有限公司 一种数据更新的方法和系统
CN104967536A (zh) * 2015-06-29 2015-10-07 北京奇虎科技有限公司 实现多机房数据一致性的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172476A1 (en) * 2003-02-28 2004-09-02 Chapweske Justin F. Parallel data transfer over multiple channels with data order prioritization
WO2006124790A2 (en) * 2005-05-16 2006-11-23 Camiant, Inc. Sdp web services interface
US20100161565A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Cluster data management system and method for data restoration using shared redo log in cluster data management system
CN103729225A (zh) * 2014-01-22 2014-04-16 中国人民解放军国防科学技术大学 一种基于内容分块的远程文件实时更新方法
CN104917798A (zh) * 2014-03-13 2015-09-16 北京奇虎科技有限公司 一种数据更新的方法和系统
CN104967536A (zh) * 2015-06-29 2015-10-07 北京奇虎科技有限公司 实现多机房数据一致性的方法和装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341253B (zh) * 2017-07-11 2020-07-07 深圳市信义科技有限公司 一种根据数据等级对主数据进行更新的方法
CN107341253A (zh) * 2017-07-11 2017-11-10 深圳市信义科技有限公司 一种根据数据等级对主数据进行更新的方法
CN107886424A (zh) * 2017-11-28 2018-04-06 腾讯科技(深圳)有限公司 结算数据处理方法和装置、计算机设备和存储介质
CN109542636A (zh) * 2018-10-18 2019-03-29 新浪网技术(中国)有限公司 一种数据更新的方法及装置
CN109542636B (zh) * 2018-10-18 2020-12-25 新浪网技术(中国)有限公司 一种数据更新的方法及装置
CN110213055B (zh) * 2019-05-07 2021-11-23 奇安信科技集团股份有限公司 情报更新方法、装置、计算机设备及计算机可读存储介质
CN110213055A (zh) * 2019-05-07 2019-09-06 北京奇安信科技有限公司 情报更新方法、装置、计算机设备及计算机可读存储介质
CN111327468A (zh) * 2020-02-21 2020-06-23 中国电力科学研究院有限公司 一种用于电力系统的边缘计算平台的运行方法及其系统
CN112040283A (zh) * 2020-11-04 2020-12-04 北京爱奇艺智能科技有限公司 一种拆分视频海量选集列表的方法和系统
CN112040283B (zh) * 2020-11-04 2021-02-05 北京爱奇艺智能科技有限公司 一种拆分视频海量选集列表的方法和系统
CN112579691A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置
CN112579691B (zh) * 2020-12-24 2022-11-08 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置
CN114500483A (zh) * 2021-09-23 2022-05-13 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质
CN114500483B (zh) * 2021-09-23 2024-02-27 统信软件技术有限公司 一种任务下载方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN106790549B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN106790549A (zh) 一种数据更新方法及装置
CN106202324A (zh) 一种实时计算平台的数据处理方法和装置
WO2014197115A4 (en) Harvesting addresses
CN105515872B (zh) 配置信息的更新方法、装置及系统
CN103034541B (zh) 一种分布式消息系统及其中的设备和方法
CN103034540B (zh) 分布式消息系统及其设备和协调方法
CN107483521A (zh) 一种信息展示方法、装置及系统
CN110096685A (zh) 一种设备标识生成方法及装置
CN106130972B (zh) 资源访问控制方法和装置
WO2016175768A1 (en) Map tables for hardware tables
CN108829469A (zh) 一种应用程序页面展示方法及装置
CN108062243A (zh) 执行计划的生成方法、任务执行方法及装置
CN108664222A (zh) 一种区块链系统及其应用方法
CN104461621B (zh) 一种更新属性信息的方法及装置
CN109800269A (zh) 数据管理方法、装置、计算机设备及存储介质
CN109117172A (zh) 一种目标终端的终端版本号识别的方法及装置
CN108566291A (zh) 一种事件处理的方法、服务器及系统
CN103701653B (zh) 一种接口热插拔配置数据的处理方法及网络配置服务器
CN105791080A (zh) 群发消息处理方法和系统、电子设备
CN108234242A (zh) 一种基于流的压力测试方法和装置
CN107968807A (zh) 自动更新本地缓存资源的方法及装置
CN105786525B (zh) 一种进程模型向线程模型移植代码的方法及装置
CN110347926A (zh) 用于推送信息的方法和装置
CN107133243A (zh) 一种数据处理方法和服务器
CN108763430A (zh) 配置化实现垂直业务定制化检索的方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant