CN104798038B - 数据分发系统 - Google Patents
数据分发系统 Download PDFInfo
- Publication number
- CN104798038B CN104798038B CN201380060428.9A CN201380060428A CN104798038B CN 104798038 B CN104798038 B CN 104798038B CN 201380060428 A CN201380060428 A CN 201380060428A CN 104798038 B CN104798038 B CN 104798038B
- Authority
- CN
- China
- Prior art keywords
- data
- terminal device
- client
- client terminal
- status attribute
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了一种数据分发系统(1),包括连接到服务器(120)的多个服务提供者(111‑114)和连接到所述服务器(120)的多个客户端装置(141‑144)。所述服务器(120)包括:数据存储库(121),所述数据存储库存储来自所述服务提供者的数据实例(125);以及客户端存储库(122),所述客户端存储库对于每一个客户端装置存储相应的状态属性(131‑134)集合,每一个状态属性集合指示相对于相应的客户端装置的所述数据实例(125)的状态。
Description
技术领域
本发明涉及数据分发系统,其具体上用于向客户端装置供应来自多个数据提供者的数据。
背景技术
经常地,客户端装置要求来自多个不同数据源的数据,每一个数据源以各种格式和质量来提供数据,该各种格式和质量可能或可能不匹配客户端的要求。
在WO2012/073175中描述了一种已知的数据分发系统,WO2012/073175公开了服务提供者侧、连接到服务提供者侧的主机侧和连接到主机侧的客户侧。在主机侧处的服务器从在服务提供者侧处的各个服务提供者收集数据,并且将该数据提供到在客户侧的客户端。该数据根据与每个客户端相关联的用户配置文件被提供到每一个客户端,该用户配置文件指定用户感兴趣于什么类型的数据。
需要更复杂的数据分发系统,其可以从多种数据源获取数据,并且将其根据客户端装置要求而呈现给客户端装置。具体地说,数据源可以提供更新版本的它们的数据,客户端装置可以改变它们的数据要求,可以对于要求关于哪些客户端在哪些时间具有哪些数据的检查的先前版本的数据执行审核。
因为不同的客户端装置使用不同的通信协议,并且可能以不同的方式来枚举数据,所以客户端装置会难以维护列表并且请求从服务器加载特定数据,特别是当客户端装置不知道什么新的数据可能在服务器处存在时。
发明内容
因此,本发明的目的是改进现有技术。
根据本发明的第一方面,提供了一种数据分发系统,包括连接到服务器的多个服务提供者和连接到所述服务器的多个客户端装置。所述服务器包括:数据存储库,所述数据存储库存储来自所述服务提供者的数据实例;以及客户端存储库,所述客户端存储库对于每一个客户端装置存储相应的状态属性集合,每一个状态属性集合指示相对于相应的客户端装置的所述数据实例的状态。
使用用于每一个客户端的状态属性集合意味着所述服务器可以跟踪相对于所述客户端的每一个数据实例的状态,而客户端不必做这个工作或当客户端相信它可能是因为新的数据实例时作出请求。
使用所述服务器来通过使用状态属性跟踪相对于所述数据实例的所述客户端装置的行为的状态意味着所述服务器不必明白所述客户端装置使用哪种控制协议来识别不同的数据实例,而是可以简单地向所述客户端装置发送所述状态属性示出的哪些数据实例还没有被成功地加载到所述客户端装置内。
而且,可以维护仅用于存储每一个数据实例的一个拷贝的单个数据存储库以覆盖所有的所述客户端装置,而不必对于不同的客户端复制数据实例。每一个客户端经由所述状态属性集合以在所述数据存储库中获取所述数据实例的其本身的单独的视图。对于每一个数据实例,可以对于每一个客户端存储独立的状态属性。
有益的是,每一个状态属性与特定的数据实例相关联。然后,可以向所述状态属性分配各种值,以指示相对于所述客户端装置的所述数据实例的各种状态。
在与所述客户端装置的第一个相关联的所述状态属性集合内的每一个状态属性可以采取包括下述值的值:
-用于指示与所述状态属性相关联的所述数据实例还没有被所述客户端装置的所述第一个加载的值;以及
-用于指示与所述状态属性相关联的所述数据实例已经被所述客户端装置的所述第一个加载的值。
与客户端装置相关联的所述状态属性集合因此可以被所述服务器装置使用以向所述客户端装置告知什么数据实例还没有被所述客户端装置加载和/或当所述客户端装置指示它准备好加载新的数据实例时将所述未加载的数据实例推送到所述客户端装置。例如,状态属性可以当所述对应的数据实例还没有被所述客户端加载时具有值“新”,并且当所述对应的数据实例已经被所述客户端加载时具有值“已加载”(已加载)。
有益的是,所述状态属性的所述值可以被所述服务器和客户端装置两者设置,例如,当所述状态属性被设置为“新”时被服务器设置,并且当所述状态属性被设置为“已加载”时被客户端设置。因此,所述状态属性能够被所述服务器和所述客户端装置两者使用以在所述服务器和所述客户端装置之间执行双向通信。所述状态属性因此提供了很简单的通信协议,所述通信协议可以被所述服务器和客户端装置使用以自动地协调将新的数据实例加载到所述客户端装置,而没有人为干预。
所述状态属性的值可以限定要由所述客户端装置自动采取的行为的任务清单。例如,如果状态属性具有值“新”,则客户端装置可以自动地进行加载与所述状态属性相关联的数据实例。
通常所述服务器对于被所述服务器从所述服务提供者接收的数据实例执行验证检查,并且通常客户端装置也对于从所述服务器接收的数据实例执行验证检查。由所述服务器执行的验证检查经常与由所述客户端执行的所述验证检查不同,并且由所述客户端装置执行的所述验证检查的任何一种可以在不通知所述服务器装置的情况下被改变。验证检查可以例如包括:检查数据实例足够最新;或者,检查所述数据实例包含的数据被指定为在比给定容差更紧的容差内是正确的。
因此,在与所述客户端装置的所述第一个相关联的所述状态属性集合内的每一个状态属性可以采取进一步包括下述值的值:用于指示与所述状态属性相关联的所述数据实例已经被所述客户端装置的所述第一个拒绝的值,例如因为由所述客户端装置的所述第一个在其已经加载了所述数据实例后执行的验证检查失败。
因此,使用所述状态属性,客户端装置可以自动地向所述服务器装置标记回所述数据实例已经未能通过所述客户端装置的验证检查。因此不必适应于多个不同的通信方法,各个客户端可以通过所述多个不同的通信方法以通知特定数据实例已经未能通过所述客户端的验证检查。相反,相对于每一个客户端的每一个数据实例的状态的中心记录可以通过所述状态属性被保持和维护在所述服务器内,所述状态属性用于识别作为已经未能通过一个或多个客户端的验证检查的结果,在所述数据存储库中的哪些数据实例要求关注。
如果与所述状态属性对应的数据实例已经通过了客户端装置的验证检查则状态属性的值可以例如被所述客户端装置设置为“已验证”。如果所述数据实例未能通过所述客户端装置的验证检查,则所述客户端可以将所述状态属性的值设置为“拒绝”。
有益的是,所述服务器可以被配置为在数据供给内从所述服务提供者接收所述数据实例,每一个数据供给提供了数据实例的流。所述数据存储库可以被配置为按照数据供给、按照日期和按照版本号以存储所述数据实例。
所述服务器可以被配置为在所述数据存储库中存储在所述数据供给内接收到的所述数据实例之前格式化数据实例,使得例如全部以通用格式来保存所述数据实例。有益的是,所述客户端装置可以被配置为处理所述通用格式,而不是被要求处理可以被所述服务提供者使用的多种格式。
数据供给的每一个后继数据实例可以是所述数据供给的在前的数据实例的更新,并且所述数据存储库可以被配置为存储所述后继数据实例和所述在前的数据实例两者。以这种方式来维护所有的所述数据实例的历史意味着所述客户端装置能够为了审核的目的而通过查看与所述数据实例相关联的所述状态属性而确定在哪些日期可用哪些数据实例,并且这些数据实例的哪些实际上被所述客户端装置加载。
有益的是,所述客户端存储库可以向每一个客户端装置提供客户端API,所述客户端API包括用于所述客户端装置的状态属性集合。所述客户端API(应用程序接口)也可以包括与所述客户端装置相关的其他信息,诸如,所述客户端装置感兴趣于哪些数据供给,并且因此所述客户端API应当对于在所述数据存储库中的哪些数据实例存储状态属性。
所述客户端API可以提供“列表供给”功能,所述客户端装置可以启动所述“列表供给”功能以接收所述客户端装置可用的数据供给的列表。例如,所述客户端装置可以向所述服务器作出“列表供给”请求,并且所述服务器可以向所述客户端装置返回所述客户端装置可以从其选择的数据供给的列表。
所述客户端API可以提供“列表更新”功能,所述客户端装置可以启动所述“列表更新”功能以接收用于所述客户端装置的已更新的数据实例的列表,所述列表基于用于所述客户端装置的所述状态属性的值。
所述客户端API可以提供“获取数据”功能,述客户端装置可以启动所述“获取数据”功能以接收由所述客户端装置指定的数据供给的最新的数据实例。例如,所述客户端装置可以向所述服务器发送“获取数据”请求,所述请求指定特定的数据供给,并且所述服务器可以向所述客户端装置发送那个数据供给的最近的数据实例。
所述客户端API可以提供“列表历史”、“列表历史”功能,所述客户端装置可以启动所述“列表历史”功能以接收由所述客户端装置指定的日期的数据实例的列表,所述列表基于用于所述客户端装置的所述状态属性的值。
有益的是,所述客户端API可以允许所述客户端装置与“列表更新”、“获取数据”或“列表历史”功能相关地对于模式参数的指定,所述模式参数用于指示所述客户端希望接收具有与所述模式参数对应的(一个或多个)状态属性值的数据实例或数据实例的列表。
例如,所述客户端装置可以向所述服务器作出“列表更新”请求,所述请求包括与“新”状态属性值对应的模式参数,并且,所述服务器可以返回具有状态属性值“新”的所有数据实例的列表,所述状态属性值“新”用于指示所述数据实例还没有被所述客户端装置加载。
所述客户端装置可以向所述服务器作出“获取数据”请求,所述请求包括模式参数,所述模式参数用于指示所述客户端装置希望接收具有与所述模式参数对应的(一个或多个)状态属性值的数据实例。
所述客户端装置可以向所述服务器作出“列表历史”请求,所述请求指定特定日期和模式参数,所述请求用于指示所述客户端装置希望接收具有与所述模式参数对应的(一个或多个)状态属性值的、用于那个日期的数据实例的列表。
所述客户端API可以提供“放置”功能,所述客户端装置可以启动所述“放置”功能以设置用于特定数据实例的状态属性。例如,客户端装置可以一旦数据实例已经通过了客户端装置的验证检查则作出将与所述数据实例相关联的状态属性的值设置为“已验证”的请求。
根据本发明的第二方面,提供了一种数据分发方法,用于向多个客户端分发来自多个服务提供者的数据。所述方法包括:
从所述服务提供者接收数据实例;
在数据存储库中存储所述数据实例;并且
在客户端存储库中存储与所述数据实例相关联的状态属性,
其中,所述客户端存储库对于每一个客户端装置存储相应的状态属性集合,每一个状态属性集合指示相对于相应的客户端装置的所述数据实例的状态。
在所述客户端存储库中的与数据实例相关联的状态属性的存储可以包括:向与所述新的数据实例相关于的客户端装置对应的状态属性集合内添加状态属性。因此,每一个状态属性集合可以不包括用于每一个数据实例的状态属性。状态属性集合可以仅包括用于与所述状态属性集合相关联的客户端装置所感兴趣于的数据实例的状态属性。
替代地,在所述客户端存储库中的每一个状态属性集合可以包括用于在所述数据存储库中的每一个数据实例的状态属性。
附图说明
现在仅通过非限定性示例并且参考附图来描述本发明的实施例,在附图中:
图1示出根据本发明的实施例的数据分发系统的示意框图;
图2示出可以使用图1的数据分发系统来实现的数据分发方法的流程图;
图3示出从不同的客户端装置在不同天接收到的数据实例的说明图;
图4示出状态属性可以采取的各种值的状态图;并且
图5示出适合于被服务器向客户端装置提供的应用程序接口(API)的示意图。
具体实施方式
现在参考图1的示意图来描述本发明的实施例,图1示出数据分发系统,该数据分发系统包括服务提供者侧110、服务器120和客户端侧140。
服务提供者侧110包括多个服务提供者111-114,并且客户端侧140包括多个客户端装置141-144。服务器120包括:数据储存库121,其存储数据实例125;以及,客户端储存库122,其存储多个状态属性131-134集合。
为了说明的目的,数据实例125被示出为包括8个数据实例1251-1258。对于每一个相应的客户端装置有一个状态属性集合,使得状态属性131集合对应于客户端装置141,状态属性132集合对应于客户端装置142,状态属性133集合对应于客户端装置143,并且状态属性134集合对应于客户端装置144。
服务提供者111-114的每一个向服务器120供应相应的数据供给F1-F4,并且服务器120接收该数据供给,并且向数据存储库121内存储在该数据供给内包含的数据实例125。
服务器120被配置为在数据存储库121内存储在数据供给F1-F4内接收到的数据实例之前将该数据实例格式化,使得全部以通用格式来保存数据实例。客户端装置141-144全部被配置为处理该通用格式。
每一个状态属性集合包括用于与相关联的客户端装置相关的数据实例125的每一个的状态属性。例如,如果与客户端装置141相关的数据实例是数据实例1251、1254和1256,则用于客户端装置141的状态属性131集合将存储与三个数据实例1251、1254和1256对应的三个状态属性。每个状态属性指示相对于客户端装置141的对应的数据实例的状态。
参见图2,使用图1的数据分发系统的数据分发方法包括:首先从服务提供者接收200数据实例,其次,在数据存储库内存储210该数据实例,并且第三,向状态属性集合内存储220与该数据实例相关联的状态属性,该状态属性被存储到与新的数据实例所相关于的客户端装置对应的状态属性集合内。
例如,从服务提供者接收200新的数据实例的步骤可以包括从服务提供者111接收在数据供给F1内的数据实例1252,在数据存储库内存储210新的数据实例的步骤可以包括向数据存储库121内存储数据实例1252,并且向状态属性集合内存储220与该数据实例相关联的状态属性的步骤可以包括:在客户端装置141和143感兴趣于数据供给F1并且客户端装置142和144不感兴趣于数据供给F1的情况下,向状态属性131和133集合的每个内存储状态属性。
服务器可以例如基于每一个客户端装置所感兴趣于的数据供给的列表来确定哪些状态属性集合要求对于数据实例1252的状态属性添加。该列表可以与用于每一个客户端装置的状态属性集合一起被存储。
现在将参考图3来描述在图1的数据存储库121中存储数据实例的示例,图3示出被服务器120在三天D1-D3的时间段内从数据供给F1-F4接收的数据实例1251-1258。
具体地说,图3示出在第一天D1从相应的数据供给F1、F2和F4(对应于相应的服务提供者111、112和114)接收到数据实例1251、1253和1258,在第二天D2从相应的数据供给F2和F3(对应于相应的服务提供者112和113)接收到数据实例1254和1257,并且在第三天D3接收到数据实例1252、1255和1256。从数据供给F1接收到数据实例1252,并且,在一天的彼此不同的时间从数据供给F2接收数据实例1255和1256两者。
每个数据实例根据它从哪个数据供给被接收、它在哪个日期被接收和版本号来被存储在数据存储库121内。根据在当天期间已经接收到多少已更新的数据实例来设置该版本号,因此,数据实例1251-1255和1257全部具有版本号1,并且数据实例1256具有版本号2,因为它是要在用于数据供给F2的天D3接收到的第二数据实例。每一个数据实例可以被存储在与特定数据供给/天/实例对应的存储器位置中,并且/或者,每一个数据实例可以与用于指示特定数据供给/天/实例的元数据一起被存储。
数据供给的每一个后继的数据实例是该数据供给的在前的数据实例的更新。因此,数据实例1252接替数据实例1251,因为它是来自数据供给F1的最新的数据,数据实例1256接替数据实例1253、1254和1255,因为它是来自数据供给F2的最新的数据,并且,用于数据供给F3和F4的最新的数据分别是数据实例1257和1258。所有的数据实例1251-1258仍然被维护在数据存储库中(并且,它们的状态属性仍然被维护在状态属性集合中),即使数据实例1251、1253和1255已经全部被接替,使得如果期望则可以执行对于历史数据实例的状态的检查。
现在将参考图4描述状态属性可以采取的不同状态属性值的示例。图4示出作为服务器接收到与状态属性集合相关联的客户端装置所感兴趣于新的数据实例的结果,在状态属性集合中的状态属性的建立之后,状态属性410可以采取的值的状态图400。
可以根据从哪个服务提供者或数据供给接收到数据实例而确定客户端装置是否感兴趣于该数据实例,根据服务提供者或数据供给的列表而已知客户端装置感兴趣于那个服务提供者或数据供给。替代地,可以仅假定客户端装置感兴趣于所有的数据实例。
当首先建立状态属性时,它采取值“新”,用于指示与该状态属性对应的数据实例对于与该状态属性形成其一部分的状态属性集合相关联的客户端装置是新的。
当客户端装置加载该数据实例时,如果该加载成功,则该状态属性值可以被改变为“已加载”,并且如果该加载不成功,则该状态属性值可以被改变为“失败”。
一旦数据实例被成功地加载到客户端装置,则该客户端装置对于该数据实例执行验证检查,并且,如果通过了验证检查,则该状态属性值可以被改变为“已验证”,或者如果未通过验证检查,则该状态属性值可以被改变为“拒绝”。
例如,当在从数据供给F1的服务提供者111接收到数据实例后在数据存储库121中存储数据实例1252时,可以在与客户端装置143对应的状态属性集合133中建立新的状态属性。在建立新的状态属性时,向该新的状态属性分配值“新”,因为该数据实例对于客户端装置143是新的。
随后,客户端装置143通过从服务器120读取状态属性值“新”而变得知道可用新的数据实例1252,并且客户端143从服务器120加载数据实例1252。如果该加载成功,则可以将该状态属性修改为值“已加载”,或如果例如因为在服务器和客户端装置之间的通信链路的故障导致该加载失败,则可以将该状态属性值修改为“失败”。然后可以在以后的时间再次尝试该加载。
一旦加载了数据实例1252,则客户端对于数据实例252执行验证检查,并且如果通过了该验证检查则将状态属性的值改变为“已验证”,或如果例如因为客户端要求具有比数据实例1252的数据容差更近的数据容差的数据导致验证检查失败,则将状态属性的值改变为“拒绝”。例如,如果客户端装置确定该数据实例终究对于其要求是足够的,或者如果该客户端装置提高其数据验证要求并且重新加载具有新的数据验证要求的数据实例,则该值可以在“已验证”和“拒绝”之间移动。
在服务器120和每一个客户端装置141-143之间的通信可以被由服务器120向每一个客户端装置提供的应用程序接口(API)控制。每个客户端的API可以被看作包括与客户端相关的状态属性集合,因为这些是客户端API可以使用其来操作的状态属性。
图5示出由服务器120向客户端装置141-144的每一个提供的客户端API500的示意图。每一个客户端装置使用该客户端API来通过各种命令向服务器120进行通信,该各种命令对与该客户端装置相关联的状态属性集合进行操作。
现在参考图5并且使用客户端装置141作为示例来描述由每一个客户端装置可以启动的各种API功能。
客户端API500提供了“列表供给”功能,客户端装置141可以启动这个功能以接收该客户端装置可用的数据供给F1-F4的列表。客户端装置141通过下述方式以启动“列表供给”功能:连同类型参数一起向服务器120作出“列表供给”请求,该类型参数指定客户端所感兴趣于的数据供给的类型,例如,提供特定类型或类别的数据实例的数据供给F1和F2。
该数据供给F1和F2的列表被返回到客户端装置141,并且被自动地在客户端API中存储为该客户端所感兴趣于的供给的记录。替代地,一旦该客户端装置已经接收到该供给的列表,则客户端装置141可以直接地向客户端API指定该客户端装置感兴趣于哪些数据供给。
每次服务器120从供给F1或F2之一接收到新的数据实例时,向用于客户端装置141的状态属性131集合添加状态属性,因为供给F1和F2在该客户端所感兴趣于的供给的列表上。
客户端API500也提供“列表更新”功能,客户端装置141可以例如启动这个功能以接收用于该客户端装置的已更新的数据实例的列表,该列表基于在用于该客户端装置的状态属性131集合中的状态属性的值。客户端装置141通过下述方式以启动“列表更新”功能:连同可选的模式参数一起向服务器120作出“列表更新”请求。该模式参数指定在该列表中仅应包括某些类型的数据实例,例如,具有状态属性值“新”的数据实例。
该数据实例的列表被返回到客户端装置141,例如参见图3,如果数据供给F1和F2的其他数据实例1251、1253、1254、1255已经被客户端装置141加载并且将它们的状态属性值通过客户端装置141在较早的时间设置为“已加载”,则该列表可以指派数据实例1252和1256。因此,“列表更新”功能允许客户端装置141发现两个新的数据实例1252和1256已经变得可用于下载。
客户端API500也提供“获取数据”功能,该客户端装置可以例如启动这个功能以接收由该客户端装置指定的数据供给的最新的数据实例。客户端装置141可以通过下述方式以启动“获取数据”功能:连同所需的数据实例的指定和可选的模式参数一起向服务器120作出“获取数据”请求。
可以通过数据供给来指定所需的数据实例,例如,如果来自数据供给F1的最新数据实例1252被客户端装置要求,则可以在请求中包括值“F1”。替代地,可以通过数据供给、数据实例的日期和数据实例的版本来完全指定给定的数据实例,因为根据在图2中所示的结构在数据存储库121中的数据的存储。
该可选的模式参数提供了与在“列表更新”功能中大体相同的功能,例如,该模式参数可以指定应当仅下载指定数据供给的(一个或多个)数据实例,所述(一个或多个)数据实例具有(一个或多个)指定的状态属性值。
客户端API500也提供了“列表历史”功能,客户端装置可以例如启动这个功能以接收由客户端装置指定的日期的数据实例的列表,该列表基于用于客户端装置的状态属性的值。客户端装置141通过下述方式以启动“列表历史”功能:连同日期的指定和可选的模式参数一起向服务器120作出“列表历史”请求。
例如,参见图3,客户端装置141可以向服务器120作出“列表历史”请求,该请求指定日期D1和用于指定状态属性值“已验证”的模式参数。然后,服务器120将返回用于指派数据实例1251和1253的列表,因为这些是由客户端装置141在D1天预先加载和验证的数据实例。注意,当在与数据实例1258对应的状态属性131集合中没有状态属性时,数据实例1258未被包括,因为从数据供给F4而不是数据供给F1或F2接收数据实例1258,数据供给F1和F2是客户端装置141所感兴趣于的仅有数据供给。
客户端API500也提供“放置”功能,该客户端装置可以启动这个功能以对于特定的数据实例设置状态属性的值。客户端装置141通过下述方式以启动“放置”功能:连同数据实例的指定和要被设置的状态属性值向服务器120作出“放置”请求。
例如,在成功地加载了数据实例1252后,客户端装置141向服务器120作出“放置”请求,该请求指定数据供给F1、日期D3以及用于指派数据实例1252的版本1和值“已加载”,值“已加载”用于指示与所指派的数据实例1252相关联的状态属性的值应当被改变为“已加载”。
一旦客户端装置已经对于数据实例1252执行了验证检查,则客户端装置141可以再一次作出“放置”请求,以酌情将状态属性值改变为“已验证”或“拒绝”。
上面的API的各种功能可以被客户端装置使用来在数据存储库121中查询数据实例。可以与API请求一起包括另外的参数,以进一步将请求改善。也可以提供对于技术人员显而易见的另外的API功能,以例上载或去除数据实例或上载或去除与数据实例相关联的元数据。
本发明的数据处理系统和方法可以被应用到要从不同的服务提供者获得并且被提供到不同的客户端装置的各种各样的数据类型,虽然其特别适合于随着时间频繁地被更新并且经受客户端装置进行的验证检查的数据类型。
例如,如果特定的客户端要求用于运行其他客户端不要求的查询的能力,则由不同的客户端API提供的通信协议可以彼此不同。
服务提供者可以例如是金融标杆数据提供者,该数据实例可以例如是金融基准数据,并且该客户端装置可以是金融基准数据的消费者。
而且,落在所附的权利要求的范围内的实施例对于技术人员也是容易理解的。
Claims (13)
1.一种数据分发系统,包括连接到服务器(120)的多个服务提供者(111-114)和连接到所述服务器(120)的多个客户端装置(141-144),其中,所述服务器(120)包括:数据存储库(121),所述数据存储库(121)存储数据实例(125);以及,客户端存储库(122),其中:
所述客户端存储库对于每一个客户端装置存储相应的状态属性(131-134)集合,每一个状态属性集合指示相对于相应客户端装置的所述数据实例(125)的状态;
所述服务器(120)被配置为:在数据供给(F1-F4)内从所述服务提供者接收所述数据实例,每一个数据供给提供数据实例(1251-1258)的流;以及
所述客户端存储库对于每一个客户端装置存储所述客户端装置感兴趣的数据供给的列表,
其中,由所述服务器(120)创建状态属性集合内的状态属性,所述服务器(120)被配置为:对于每个新接收的数据实例,在所述状态属性集合内创建新的状态属性,所述新的状态属性采取指示所述新接收的数据实例还没有被所述客户端装置所加载的值,其中,所述服务器基于从哪个数据供给接收到新接收的数据实例,以及所述数据供给是否在各个客户端装置感兴趣的数据供给列表中,来确定所述状态属性集合的哪些需要对于新接收的数据实例增加的新的状态属性。
2.根据权利要求1所述的数据分发系统,其中,在与所述客户端装置中的第一个(141)相关联的所述状态属性(131)集合内的每一个状态属性能够采取:
-用于指示与所述状态属性相关联的所述数据实例已经被所述客户端装置的所述第一个所加载的值。
3.根据权利要求2所述的数据分发系统,其中,在与所述客户端装置的所述第一个(141)相关联的所述状态属性(131)集合内的每一个状态属性能够采取下述值,该值进一步包括:
-用于指示与所述状态属性相关联的所述数据实例已经通过验证检查的值,所述验证检查是由所述客户端装置中的所述第一个(141)对于所述数据实例执行的;以及
-用于指示与所述状态属性相关联的所述数据实例未能通过所述验证检查的值。
4.根据前述权利要求中任一项所述的数据分发系统,其中,所述数据存储库(121)被配置为:按照供给(F1-F4)、按照日期(D1-D3)和按照版本号来存储所述数据实例。
5.根据前述权利要求中任一项所述的数据分发系统,其中,所述服务器(120)被配置为:在所述数据存储库(121)中存储在所述数据供给内接收到的所述数据实例之前,格式化所述数据实例(1251-1258)。
6.根据前述权利要求中任一项所述的数据分发系统,其中,数据供给(F1-F4)的每一个后继数据实例(1252,1256,1257,1258)是所述数据供给的在前数据实例(1251,1253,1254,1255)的更新,并且其中,所述数据存储库(121)被配置为:存储所述后继数据实例和所述在前数据实例两者。
7.根据前述权利要求中任一项所述的数据分发系统,其中,所述客户端存储库(122)向每一个客户端装置(141-144)提供客户端API,所述客户端API包括用于所述客户端装置的所述状态属性(131-134)集合。
8.根据权利要求7所述的数据分发系统,其中,所述客户端API指定所述客户端装置(141)感兴趣的数据供给(F1,F2),并且因此指定了所述客户端API应当针对在所述数据存储库(121)中的哪些数据实例(1251-1256)来存储状态属性。
9.根据权利要求7或8所述的数据分发系统,其中,所述客户端API提供“列表供给”功能,所述客户端装置(141)能够启动所述“列表供给”功能以接收所述客户端装置可用的所述数据供给(F1,F2)的列表。
10.根据权利要求7、8或9所述的数据分发系统,其中,所述客户端API提供下述中的至少一个:
-“列表更新”功能,所述客户端装置(141)能够启动所述“列表更新”功能以接收用于所述客户端装置的已更新数据实例(1252,1256)的列表,所述列表基于用于所述客户端装置的所述状态属性的所述值;
-“获取数据”功能,所述客户端装置(141)能够启动所述“获取数据”功能以接收由所述客户端装置指定的数据供给(F1)的最新数据实例(1252);以及
-“列表历史”功能,所述客户端装置(141)能够启动所述“列表历史”功能以接收由所述客户端装置指定的日期(D1)的数据实例(1251,1253)的列表,所述列表基于用于所述客户端装置(141)的所述状态属性的所述值。
11.根据权利要求10所述的数据分发系统,其中,所述客户端API允许指定与所述“列表更新”、“获取数据”或“列表历史”功能相关的模式参数,所述模式参数用于指示所述客户端(141)希望接收具有与所述模式参数对应的一个或多个状态属性值的数据实例或数据实例的列表。
12.根据权利要求7-11中任何一项所述的数据分发系统,其中,所述客户端API提供“放置”功能,所述客户端装置(141)能够启动所述“放置”功能以设置用于特定数据实例(1252)的所述状态属性的所述值。
13.一种用于向多个客户端装置(141-144)分发来自多个服务提供者(111-114)的数据的数据分发方法,包括:
在服务器(120),在数据供给(F1-F4)内从所述服务提供者接收(210)数据实例(125),每一个数据供给提供数据实例(1251-1258)的流;
在所述服务器的数据存储库(121)中存储(220)所述数据实例;
在所述服务器的客户端存储库(122)中存储(230)与所述数据实例相关联的状态属性;以及
对于每一个客户端装置,在所述客户端存储库中存储所述客户端装置感兴趣的数据供给的列表,
其中,所述客户端存储库对于每一个客户端装置(141-144)存储相应的所述状态属性(131-134)集合,每一个状态属性集合指示相对于相应客户端装置的所述数据实例的状态,其中,由所述服务器创建所述状态属性集合内的所述状态属性;以及
其中所述方法进一步包括:对于每个新接收的数据实例,在所述状态属性集合内创建新的状态属性,所述新的状态属性采取指示所述新接收的数据实例还没有被所述客户端装置所加载的值,其中,所述服务器基于从哪个数据供给接收到新接收的数据实例,以及所述数据供给是否在各个客户端装置感兴趣的数据供给列表中,来确定所述状态属性集合的哪些具有对于新接收的数据实例增加的新的状态属性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12185819.5 | 2012-09-25 | ||
EP12185819.5A EP2711836B1 (en) | 2012-09-25 | 2012-09-25 | Data distribution system |
PCT/GB2013/052302 WO2014049327A1 (en) | 2012-09-25 | 2013-09-03 | Data distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104798038A CN104798038A (zh) | 2015-07-22 |
CN104798038B true CN104798038B (zh) | 2017-07-18 |
Family
ID=47076102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380060428.9A Active CN104798038B (zh) | 2012-09-25 | 2013-09-03 | 数据分发系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20150234866A1 (zh) |
EP (1) | EP2711836B1 (zh) |
CN (1) | CN104798038B (zh) |
AU (1) | AU2013322395B2 (zh) |
HK (1) | HK1194165A1 (zh) |
SG (1) | SG11201502347XA (zh) |
WO (1) | WO2014049327A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2930888B1 (en) * | 2014-04-11 | 2019-05-22 | Alcatel Lucent | Methods and apparatuses to centralize notifications addressed to a user |
CN110888925B (zh) * | 2019-10-11 | 2022-06-17 | 广州大气候农业科技有限公司 | 数据加载分发的方法、装置及存储介质 |
CN111221552A (zh) * | 2019-11-14 | 2020-06-02 | 首约科技(北京)有限公司 | 一种基于分布式资源管理组件drm的实例更新方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570849A (zh) * | 2003-07-14 | 2005-01-26 | 旺宏电子股份有限公司 | 软件升级控制方法及软件升级控制系统 |
CN1953376A (zh) * | 2005-10-18 | 2007-04-25 | 河南省863软件孵化器有限公司 | 无线终端设备远程软件升级的系统和方法 |
US20110296397A1 (en) * | 2010-05-28 | 2011-12-01 | Seth Kelby Vidal | Systems and methods for generating cached representations of host package inventories in remote package repositories |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230983A1 (en) * | 2003-05-13 | 2004-11-18 | Shi Shepherd S.B. | Object oriented technology system for building business websites |
US20060294396A1 (en) * | 2005-06-24 | 2006-12-28 | Robert Witman | Multiplatform synchronized data access from mobile devices of dynamically aggregated content |
US7710912B1 (en) * | 2005-07-11 | 2010-05-04 | Microsoft Corporation | Managing content synchronization between a data service and a data processing device |
ITPN20100067A1 (it) | 2010-11-29 | 2012-05-30 | Infinite S R L | Procedimento per la trasmissione selettiva e personalizzata di dati ad un dispositivo mobile e sistema client/server che attua il procedimento |
-
2012
- 2012-09-25 EP EP12185819.5A patent/EP2711836B1/en active Active
-
2013
- 2013-09-03 CN CN201380060428.9A patent/CN104798038B/zh active Active
- 2013-09-03 US US14/429,095 patent/US20150234866A1/en not_active Abandoned
- 2013-09-03 WO PCT/GB2013/052302 patent/WO2014049327A1/en active Application Filing
- 2013-09-03 SG SG11201502347XA patent/SG11201502347XA/en unknown
- 2013-09-03 AU AU2013322395A patent/AU2013322395B2/en active Active
-
2014
- 2014-07-17 HK HK14107317.5A patent/HK1194165A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570849A (zh) * | 2003-07-14 | 2005-01-26 | 旺宏电子股份有限公司 | 软件升级控制方法及软件升级控制系统 |
CN1953376A (zh) * | 2005-10-18 | 2007-04-25 | 河南省863软件孵化器有限公司 | 无线终端设备远程软件升级的系统和方法 |
US20110296397A1 (en) * | 2010-05-28 | 2011-12-01 | Seth Kelby Vidal | Systems and methods for generating cached representations of host package inventories in remote package repositories |
Also Published As
Publication number | Publication date |
---|---|
SG11201502347XA (en) | 2015-05-28 |
AU2013322395B2 (en) | 2015-11-26 |
US20150234866A1 (en) | 2015-08-20 |
CN104798038A (zh) | 2015-07-22 |
AU2013322395A1 (en) | 2015-03-12 |
WO2014049327A1 (en) | 2014-04-03 |
HK1194165A1 (zh) | 2014-10-10 |
EP2711836A1 (en) | 2014-03-26 |
EP2711836B1 (en) | 2016-02-03 |
WO2014049327A9 (en) | 2015-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210289024A1 (en) | Dynamic execution resource selection for customized workflow tasks | |
JP6463393B2 (ja) | テナント移行にわたるテナント・データのリカバリ | |
US8214409B2 (en) | Adapter architecture for mobile data system | |
US20100023937A1 (en) | System and method of enabling multi-tenancy for software as a service application | |
US20040224674A1 (en) | System and method for context sensitive mobile data and software update | |
CN108055343A (zh) | 用于机房的数据同步方法及装置 | |
CN109284205A (zh) | 快照备份方法、装置、计算机设备及存储介质 | |
JP2013526750A (ja) | オブジェクトの共有および同期 | |
US20120030223A1 (en) | Extensibility of business process and application logic | |
CN104798038B (zh) | 数据分发系统 | |
US20150295984A1 (en) | Multi Web Application Management Framework System and Method | |
CN110007946B (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN115984022B (zh) | 分布式支付系统统一对账方法和装置 | |
US9977726B2 (en) | System and method for smart framework for network backup software debugging | |
CN111782251A (zh) | 一种软件功能模块的更新方法、装置及计算机设备 | |
JP6305758B2 (ja) | 管理システム、管理システムによる管理方法、管理装置、管理装置の制御方法及びプログラム | |
CN105653341A (zh) | 一种网络发票客户端的升级方法、装置及系统 | |
JP4287731B2 (ja) | 有償プログラム配信システム、インストール方法およびインストールプログラム | |
CN113094041A (zh) | 一种应用程序的组件管理方法、装置及计算机设备 | |
US11835937B2 (en) | Non-transitory computer readable medium storing data distribution program, server apparatus, terminal apparatus, and data distribution system | |
JP2015534683A (ja) | データ配信システム | |
CN113656095A (zh) | 配置数据的处理方法及装置 | |
US20160335058A1 (en) | Semantic representations of software extensions | |
TW201324353A (zh) | 依據版本差異傳遞相異檔案之更新系統、伺服器及其方法 | |
CN116185454A (zh) | 应用资源确定方法、装置、服务器和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |