数据库内容的每用户汇总的制作方法_3

文档序号:9204247阅读:来源:国知局
境中,汇总列表130可以包括每个学生班级的元数据内容。有关班级的一个或多个方面(例如,作业、成绩、功课)的元数据能够经由该汇总列表进行访问。例如由文档创建方(例如,教授、管理员等)所创建的数据可以从社区站点102被输入到汇总列表130的至少一个组件之中。为了防止汇总列表130上过载,流传输的数据(streamed data)可以被留在原地。
[0021]个性化用户站点124可以被优化以使得客户端能够指定要在单个分支中执行的确切的数据和操作集合,使得其适用于客户端和服务器之间的连接速度可能很慢的情形。诸如文档标题之类的特定于本地化的数据属性可以通过使用用户的优选语言一如果可用一或者通过使用站点的缺省语言而作为后备被返回。
[0022]在前述在线学术协作环境的背景下,学生可以在学术机构的一门或多门课程中进行登记,并且可以接收到预先配置的站点(例如个性化用户站点124),并且与学生在其中进行登记的每门课程相关的信息可以经由个性化用户站点124进行访问。在这样的实施例中,汇总列表130可以是包含特定课程的所有作业的列表的高速缓存。每门课程可以被表征为内容群组,并且课程信息可以处于相应的内容群组容器132-138中。在其它实施例中,每个容器132-138可以表示课程内的具体内容群组(例如,功课、作业、成绩等)。在以上所描述的在线学术协作环境的示例中,所接收到的查询可以是观看即将来临的接下来5项作业的请求。该请求可以包括通过到期日期对结果进行排序的子请求。因此,针对汇总列表130的查询可以包括诸如“检索前5项作业,其中:userid=x,OrderBy DueDate Asc”的信息,等等。在这样的实施例中,汇总列表130可以针对所请求的信息而查询内容群组容器132-138。
[0023]在一些实施例中,系统100可以使得客户端应用能够按照变化时间查询、按照目录查询、按照事务(创建、删除、清除)查询、按照命名空间查询,以及通过结果进行分页等。汇总列表130可以将查询分布至跨内容平台系统中的所有站点(例如,内容群组容器132-138)的所有范围,并且汇总列表130可以在将该列表返回至客户端应用之前对结果进行排序。根据具体实施例,数据库查询在汇总列表130中实施。
[0024]响应于接收到数据查询202,汇总列表130可以针对所请求的收据而搜索一个或多个内容群组容器132-138。从操作202,例程200继续进行至操作204,其中响应于所接收到的查询,汇总列表130检索到所请求数据的至少一部分并将其返回至个性化用户站点124。例如,与所请求查询相关的第一元数据来自汇总列表130的至少一个组成部分。在这样的实施例中,汇总列表130可以从一个或多个内容群组容器132-138—如果可用一检索到所请求数据的至少一部分。汇总列表130的内容群组容器132-138可以包括从多个来源(例如,一个或多个数据站点106、108)高速缓存的元数据。从汇总列表130所返回的数据可以在验证该数据是否过期之前被返回。返回所请求数据的至少一部分可以提供无缝的终端用户体验,使得个性化用户站点124所进行的数据呈现的延迟最小化。在一些实施例中,系统100可以利用JavaScript Object Notat1n (JSON)对返回至请求客户端的数据进行格式化。针对每个数据查询所显示的元数据可以包括诸如标题、类型、到期日期、状态、站点等的信息。例如,如果查询是针对即将到来的作业的列表,则所返回数据可以包括作业列表,并针对每个作业所提供的信息可以包括作业名称、作业到期日期等。
[0025]从操作204,例程200继续进行至操作206,其中响应于该查询,汇总列表130验证所返回的数据是否过期。该操作一般可以与操作204的返回至少一部分所请求数据同时进行。预见到,包括在汇总列表130中的数据也可能被修改。例如,作业列表可能进行更新以包括新的作业,成绩站点可能在分配以新的成绩时被更新,等等。然而,为了使得数据传输最小化并且因此提高数据检索效率,汇总列表130可能并非不断更新。而且,个性化用户站点124可能并非不断从汇总列表130接收并显示经更新的元数据内容。相反,在这里所描述的实施例中,个性化用户站点的内容可以利用一种或多种异步更新功能114进行更新,后者针对个性化用户站点数据提供异步更新。因此,在本公开的优选实施例中,个性化用户站点124可以被配置为查询汇总列表130,并且该汇总列表可以被配置为在个性化用户站点124请求数据时针对特定于个性化用户站点124的用户的有所变化的数据而查询内容站点(例如,社区站点102)。
[0026]如以上所描述的,该汇总列表可以是以每用户的方式所持续的高速缓存。因此,汇总列表130可以被配置为透明地存储数据而使得未来针对该数据的请求能够更快地获得服务。存储在汇总列表130内的数据可能是之前已经进行过计算的数据或者存储在其它地方的原始数据的副本。如果所请求的数据包含在汇总列表130中(例如,高速缓存命中),则可以通过简单地读取该汇总列表而对数据请求进行服务,这是相对较快的。否则,如果数据并未存储在汇总列表130中(例如,高速缓存未命中),则数据可能必须要重新计算或者从其原始存储位置(例如,数据站点106、108之一)取得,这是相对较慢的。因此,能够从汇总列表130获得服务的请求的数量越大,整体系统性能就变得越快。
[0027]为了提供以每用户的方式所持续的高速缓存,汇总列表130的高速缓存刷新可以是异步的(例如,仅在数据被请求时才被用户所触发)。为此,可以实施拉动模型,其中刷新线程仅针对已经有所变化的实体(例如,内容群组)而找出变化实体(例如,系统可能提供了有效的“脏比特(dirty bit)”查询)。该线程随后可以取得有所变化的元数据并刷新高速缓存。该线程随后还可以对最后刷新时间进行标记(例如,以确定陈旧/过期)。在这里所描述的实施例中,系统读取可能超过系统写入(例如,变化)至少两个或三个数量级。因此,高速缓存可能仅是偶尔需要被刷新,并且任何更新都可以是最小化的。例如,如果针对正在被异步更新的数据有请求到来,则该数据可以简单地被下发至基础设备。如果异步更新是显著的,则近期针对发起更新的相同数据必然进行过请求,并且该数据可能被高速缓存在汇总列表130。
[0028]为了提供数据的异步更新,汇总列表130可以利用按需更新算法以便确定在接收到数据请求时所要执行的操作。例如,该按需算法可以在接收到针对元数据的请求时被触发。使用该按需更新算法,汇总列表130可以将处于列表中的高速缓存数据与陈旧间隔进行比较以确定高速缓存数据是否过期(例如,陈旧)。汇总列表130的高速缓存刷新也可以由之前所建立的可确认的陈旧间隔进行控制,其可以在每实体(例如,内容群组)的基础上完成。例如,可以包括每数据类型的可定制陈旧设置并且可以由汇总列表130来确定。在这样的实施例中,处于一个或多个内容群组容器132-138中的数据可以包括时间戳。该算法还可以包括用于适当更新所请求元数据的知晓关系的更新语义。这样,内容群组之间有关变化速率的语义差异可以进行建模。例如,在以上所描述的在线学术协作环境中,汇总列表130可以识别出某些数据(例如,成绩)比其它数据(例如,作业)更新得更为频繁,或者功课材料的变化不如作业提交的数量频繁。因此,每种数据类型可以被配置为包括定制陈旧间隔,其具有预先配置的与更新频率的关系。在这样的实施例中,在建立陈旧间隔时,可以将所请求的高速缓存数据的时间戳与针对该数据所设置的陈旧间隔进行比较以验证该数据是否过期。
[0029]如果数据并未过期,则该例程可以在操作208结束。
[0030]否则,例程200从操作206继续进行至操作210,其中当确定所返回的数据过期时,针对数据修改而查询变化日志140。在优选实施例中,汇总列表130针对所请求数据中的任何变化而查询变化日志140。变化日志140可以处于社区站点102上,并且可以被配置为与数据站点1-N 106,108以及汇总列表130进行通信。数据站点1-N 106、108可以将数据项中的变化报告给变化日志140。报告可以以所安排的间隔定期进行或者动态进行。变化日志140可以存储变化的数据的信息并且可以在请求时传送变化日志信息。汇总列表130可以在请求之后立即接收有关所请求的元数据的变化日志信息。
[0031]例程200从操作210继续进行至操作212,其中汇总列表130从变化日志140接收验证所请求数据是否已经有所变化的响应。如果数据并未变化,则该例程可以在操作214结束。否则,当确定所请求数据已经有所变化时,在操作216,汇总列表130可以针对满足变化标准的数
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1