一种访问数据实体的方法及装置的制造方法

文档序号:9375586阅读:205来源:国知局
一种访问数据实体的方法及装置的制造方法
【技术领域】
[0001] 本申请涉及计算机应用领域,特别涉及一种访问数据实体的方法及装置。
【背景技术】
[0002] 数据实体,是数据元素的集合,可以通过数据存储进行管理或通过计算获得。例 如,传统关系数据库中的一行数据可以理解为一个数据实体。
[0003] 通常,在复杂度较高的系统中会存在大量对数据实体的访问。而对数据实体的不 同访问之间,可能存在前置依赖关系,即一个访问的运行可能依赖于得到另一个访问所访 问到的数据实体,如果得不到另一个访问所访问到的数据实体将发生运行错误。因此,为了 避免运行错误,目前一般采用完全串行的方式对数据实体进行访问。
[0004] 但是,只采用串行的方式对数据实体进行访问,总体访问时间等于所有访问的时 间的总和,系统的运行效率很低。

【发明内容】

[0005] 有鉴于此,本申请的目的在于提供一种访问数据实体的方法及装置以实现提高系 统运行效率的目的。
[0006] 在本申请实施例的第一个方面,提供了一种访问数据实体的方法,例如,该方法可 以包括:响应于接收到对数据实体的多个访问请求,针对所述访问请求返回模拟数据实体、 以及基于所述多个访问请求,执行对所述模拟数据实体对应的真正数据实体的并行访问, 其中,所述模拟数据实体内置有异步线程,所述异步线程,用于当访问到与所述模拟数据实 体对应的真正数据实体时,获取所述真正数据实体的内容,将所述真正数据实体的内容载 入所述模拟数据实体;当存在针对所述模拟数据实体的调用时,判断所述模拟数据实体是 否已载入真正数据实体的内容;如果否,返回到所述判断模拟数据实体是否已载入真正数 据实体的内容的步骤;如果是,将所述模拟数据实体返回以供调用。
[0007] 在本申请实施例的第二个方面,提供了一种访问数据实体的装置,例如,该装置可 以包括:接收单元,用于响应于接收到对数据实体的多个访问请求,针对所述访问请求返回 模拟数据实体、以及基于所述多个访问请求,执行对所述模拟数据实体对应的真正数据实 体的并行访问,其中,所述模拟数据实体内置有异步线程,所述异步线程,用于当访问到与 所述模拟数据实体对应的真正数据实体时,获取所述真正数据实体的内容,将所述真正数 据实体的内容载入所述模拟数据实体;判断单元,用于当存在针对所述模拟数据实体的调 用时,判断所述模拟数据实体是否已载入真正数据实体的内容;堵塞单元,用于如果所述判 断单元判定为否,重新触发所述判断单元执行;返回单元,用于如果所述判断单元判定为 是,将所述模拟数据实体返回以供调用。
[0008] 可见本申请具有如下有益效果:
[0009] 由于本申请针对所接收的多个访问请求返回了模拟数据实体,以及基于所述多个 访问请求,执行了对真正数据实体的并行访问,因此,对于有前置依赖的访问请求来说,发 出对已返回的模拟数据实体的调用不会发生运行错误,在模拟数据实体还未载入真正数据 实体内容时,可以等待真正数据实体的内容以待调用,对于无前置依赖的多个访问请求来 说,可以执行对与模拟数据实体对应的真正数据实体的并行访问,从而可以减少总体访问 时间,提商系统运彳丁效率。
【附图说明】
[0010] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提 下,还可以根据这些附图获得其他的附图。
[0011] 图1为本申请实施例提供的一种访问数据实体的方法流程示意图;
[0012] 图2为本申请实施例涉及的代理模式示意图;
[0013] 图3为本申请实施例提供的一种访问数据实体的装置结构示意图之一;
[0014] 图4为本申请实施例提供的一种访问数据实体的装置结构示意图之二。
【具体实施方式】
[0015] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施 例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通 技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护 的范围。
[0016] 为了能够通过并行访问数据实体的方式提高系统运行效率,本申请人发现,在接 收到对数据实体的多个访问请求时,可以虚拟出与访问请求对应的模拟数据实体,返回模 拟数据实体,以及基于所述多个访问请求,执行对与模拟数据实体对应的真正数据实体的 并行访问。其中,所述模拟数据实体可以内置有异步线程,异步线程可以用于当访问到与所 述模拟数据实体对应的真正数据实体时,以异步方式获取所述真正数据实体的内容,将真 正数据实体的内容载入所述模拟数据实体。当存在针对所述模拟数据实体的调用时,可以 通过判定模拟数据实体还未载入真正数据实体的内容循环进行判断,堵塞调用,如果已载 入,可以将模拟数据实体返回以供调用。因此,对于有前置依赖的访问请求来说,发出对已 返回的模拟数据实体的调用不会发生运行错误,在模拟数据实体还未载入真正数据实体内 容时,可以通过循环判断等待真正数据实体的内容以待调用,对于无前置依赖的多个访问 请求来说,可以执行对与模拟数据实体对应的真正数据实体的并行访问,从而可以减少总 体访问时间,提1?系统运打效率。
[0017] 基于上述分析,本申请实施例提供了一种访问数据实体的方法。参见图1,为本申 请实施例提供的访问数据实体的方法流程示意图。如图1所示,该实施例可以包括:
[0018] S110、响应于接收到对数据实体的多个访问请求,针对所述访问请求返回模拟数 据实体、以及基于所述多个访问请求,执行对所述模拟数据实体对应的真正数据实体的并 行访问,其中,所述模拟数据实体内置有异步线程;
[0019] 例如,在接收到对数据实体的访问请求时,可以针对该访问请求实时动态生成对 应的模拟数据实体。其中,所述模拟数据实体可以为实例化产生的可执行对象,在该可执行 对象中可以内置有异步线程、设置与真正数据实体相应的属性域(例如,字段、参数等等)、 且还可以在该可执行对象中自动加入用于实现以下步骤S120~S150的代码,以便所有需 要调用该模拟数据实体的程序在实现对该模拟数据实体的调用之前,可以等待真正数据实 体的内容的载入。
[0020] 例如,本申请实施例可以使用代理模式。如,Java中可以使用cgl ib (Code Generation Library,类生成库)实现代理模式。在代理模式中,如图2所示,代理对象210 与委托对象220有同样的接口 230,代理对象主要负责为委托对象预处理消息、过滤消息、 把消息转发给委托对象、以及事后处理消息等。代理对象与委托对象之间存在关联关系,代 理对象本身并不真正实现服务,而是通过调用委托对象的相关方法来提供特定的服务。因 此,在本申请实施例中,可以使用代理模式,从异步运行线程池中,自动产生代理对象,由代 理对象接收对数据实体的多个访问请求。其中,对应一个访问请求,可以产生一个代理对 象。由于代理对象持有对委托对象的引用,因此,当代理对象210接收到对数据实体的访问 请求时,可以实时动态生成代理对象类型实例化产生的可执行对象(即,模拟数据实体),返 回与所述访问请求对应的模拟数据实体、以及调用与所述代理对象关联的委托对象220执 行对所述模拟数据实体对应的真正数据实体的并行访问。例如,下述步骤S120~步骤S150 的代码可以是代理对象自动生成并加入模拟数据实体的。在该实现方式中,内置于模拟数 据实体的异步线程,可以用于定时向所述委托对象220请求真正数据实体,当所述委托对 象220访问到真正数据实体时,从所述委托对象220获取其访问到的真正数据实体的内容。
[0021] S120、当访问到与所述模拟数据实体对应的真正数据实体时,所述异步线程获取 所述真正数据实体的内容,将所述真正数据实体的内容载入所述模拟数据实体;
[0022] 例如,将真正数据实体的内容载入模拟数据实体的具体实现可以为将真正数据实 体的属性域的值复制到模拟数据实体的对应的属性域。
[0023] 可以理解的是,返回模拟数据实体的操作,与对模拟数据实体对应的真正数据实 体访问的操作,可以是并行执行的操作。步骤S120异步线程获取真正数据实体的操作可以 是与下述步骤S130~步骤S150并行的操作。
[0024] S130、当存在针对所述模拟数据实体的调用时,判断所述模拟数据实体是否已载 入真正数据实体的内容;
[0025] 为了便于对模拟数据实体是否已载入真正数据实体的内容进行判断,本申请实施 例还可以设置有标志
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1