数据分发系统的制作方法

文档序号:8476689阅读:421来源:国知局
数据分发系统的制作方法
【技术领域】
[0001]本发明涉及数据分发系统,其具体上用于向客户端装置供应来自多个数据提供者的数据。
【背景技术】
[0002]经常地,客户端装置要求来自多个不同数据源的数据,每一个数据源以各种格式和质量来提供数据,该各种格式和质量可能或可能不匹配客户端的要求。
[0003]在W02012/073175中描述了一种已知的数据分发系统,W02012/073175公开了服务提供者侧、连接到服务提供者侧的主机侧和连接到主机侧的客户侧。在主机侧处的服务器从在服务提供者侧处的各个服务提供者收集数据,并且将该数据提供到在客户侧的客户端。该数据根据与每个客户端相关联的用户配置文件被提供到每一个客户端,该用户配置文件指定用户感兴趣于什么类型的数据。
[0004]需要更复杂的数据分发系统,其可以从多种数据源获取数据,并且将其根据客户端装置要求而呈现给客户端装置。具体地说,数据源可以提供更新版本的它们的数据,客户端装置可以改变它们的数据要求,可以对于要求关于哪些客户端在哪些时间具有哪些数据的检查的先前版本的数据执行审核。
[0005]因为不同的客户端装置使用不同的通信协议,并且可能以不同的方式来枚举数据,所以客户端装置会难以维护列表并且请求从服务器加载特定数据,特别是当客户端装置不知道什么新的数据可能在服务器处存在时。

【发明内容】

[0006]因此,本发明的目的是改进现有技术。
[0007]根据本发明的第一方面,提供了一种数据分发系统,包括连接到服务器的多个服务提供者和连接到所述服务器的多个客户端装置。所述服务器包括:数据存储库,所述数据存储库存储来自所述服务提供者的数据实例;以及客户端存储库,所述客户端存储库对于每一个客户端装置存储相应的状态属性集合,每一个状态属性集合指示相对于相应的客户端装置的所述数据实例的状态。
[0008]使用用于每一个客户端的状态属性集合意味着所述服务器可以跟踪相对于所述客户端的每一个数据实例的状态,而客户端不必做这个工作或当客户端相信它可能是因为新的数据实例时作出请求。
[0009]使用所述服务器来通过使用状态属性跟踪相对于所述数据实例的所述客户端装置的行为的状态意味着所述服务器不必明白所述客户端装置使用哪种控制协议来识别不同的数据实例,而是可以简单地向所述客户端装置发送所述状态属性示出的哪些数据实例还没有被成功地加载到所述客户端装置内。
[0010]而且,可以维护仅用于存储每一个数据实例的一个拷贝的单个数据存储库以覆盖所有的所述客户端装置,而不必对于不同的客户端复制数据实例。每一个客户端经由所述状态属性集合以在所述数据存储库中获取所述数据实例的其本身的单独的视图。对于每一个数据实例,可以对于每一个客户端存储独立的状态属性。
[0011]有益的是,每一个状态属性与特定的数据实例相关联。然后,可以向所述状态属性分配各种值,以指示相对于所述客户端装置的所述数据实例的各种状态。
[0012]在与所述客户端装置的第一个相关联的所述状态属性集合内的每一个状态属性可以采取包括下述值的值:
[0013]-用于指示与所述状态属性相关联的所述数据实例还没有被所述客户端装置的所述第一个加载的值;以及
[0014]-用于指示与所述状态属性相关联的所述数据实例已经被所述客户端装置的所述第一个加载的值。
[0015]与客户端装置相关联的所述状态属性集合因此可以被所述服务器装置使用以向所述客户端装置告知什么数据实例还没有被所述客户端装置加载和/或当所述客户端装置指示它准备好加载新的数据实例时将所述未加载的数据实例推送到所述客户端装置。例如,状态属性可以当所述对应的数据实例还没有被所述客户端加载时具有值“新”,并且当所述对应的数据实例已经被所述客户端加载时具有值“已加载”(已加载)。
[0016]有益的是,所述状态属性的所述值可以被所述服务器和客户端装置两者设置,例如,当所述状态属性被设置为“新”时被服务器设置,并且当所述状态属性被设置为“已加载”时被客户端设置。因此,所述状态属性能够被所述服务器和所述客户端装置两者使用以在所述服务器和所述客户端装置之间执行双向通信。所述状态属性因此提供了很简单的通信协议,所述通信协议可以被所述服务器和客户端装置使用以自动地协调将新的数据实例加载到所述客户端装置,而没有人为干预。
[0017]所述状态属性的值可以限定要由所述客户端装置自动采取的行为的任务清单。例如,如果状态属性具有值“新”,则客户端装置可以自动地进行加载与所述状态属性相关联的数据实例。
[0018]通常所述服务器对于被所述服务器从所述服务提供者接收的数据实例执行验证检查,并且通常客户端装置也对于从所述服务器接收的数据实例执行验证检查。由所述服务器执行的验证检查经常与由所述客户端执行的所述验证检查不同,并且由所述客户端装置执行的所述验证检查的任何一种可以在不通知所述服务器装置的情况下被改变。验证检查可以例如包括:检查数据实例足够最新;或者,检查所述数据实例包含的数据被指定为在比给定容差更紧的容差内是正确的。
[0019]因此,在与所述客户端装置的所述第一个相关联的所述状态属性集合内的每一个状态属性可以采取进一步包括下述值的值:用于指示与所述状态属性相关联的所述数据实例已经被所述客户端装置的所述第一个拒绝的值,例如因为由所述客户端装置的所述第一个在其已经加载了所述数据实例后执行的验证检查失败。
[0020]因此,使用所述状态属性,客户端装置可以自动地向所述服务器装置标记回所述数据实例已经未能通过所述客户端装置的验证检查。因此不必适应于多个不同的通信方法,各个客户端可以通过所述多个不同的通信方法以通知特定数据实例已经未能通过所述客户端的验证检查。相反,相对于每一个客户端的每一个数据实例的状态的中心记录可以通过所述状态属性被保持和维护在所述服务器内,所述状态属性用于识别作为已经未能通过一个或多个客户端的验证检查的结果,在所述数据存储库中的哪些数据实例要求关注。
[0021]如果与所述状态属性对应的数据实例已经通过了客户端装置的验证检查则状态属性的值可以例如被所述客户端装置设置为“已验证”。如果所述数据实例未能通过所述客户端装置的验证检查,则所述客户端可以将所述状态属性的值设置为“拒绝”。
[0022]有益的是,所述服务器可以被配置为在数据供给内从所述服务提供者接收所述数据实例,每一个数据供给提供了数据实例的流。所述数据存储库可以被配置为按照数据供给、按照日期和按照版本号以存储所述数据实例。
[0023]所述服务器可以被配置为在所述数据存储库中存储在所述数据供给内接收到的所述数据实例之前格式化数据实例,使得例如全部以通用格式来保存所述数据实例。有益的是,所述客户端装置可以被配置为处理所述通用格式,而不是被要求处理可以被所述服务提供者使用的多种格式。
[0024]数据供给的每一个后继数据实例可以是所述数据供给的在前的数据实例的更新,并且所述数据存储库可以被配置为存储所述后继数据实例和所述在前的数据实例两者。以这种方式来维护所有的所述数据实例的历史意味着所述客户端装置能够为了审核的目的而通过查看与所述数据实例相关联的所述状态属性而确定在哪些日期可用哪些数据实例,并且这些数据实例的哪些实际上被所述客户端装置加载。
[0025]有益的是,所述客户端存储库可以向每一个客户端装置提供客户端API,所述客户端API包括用于所述客户端装置的状态属性集合。所述客户端API (应用程序接口)也可以包括与所述客户端装置相关的其他信息,诸如,所述客户端装置感兴趣于哪些数据供给,并且因此所述客户端API应当对于在所述数据存储库中的哪些数据实例存储状态属性。
[0026]所述客户端API可以提供“列表供给”功能,所述客户端装置可以启动
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1