基于分布式内存的虚拟现实平台数据查询方法与流程

文档序号:13682882阅读:306来源:国知局
技术领域本发明涉及一种数据查询技术,尤其是涉及一种基于分布式内存的虚拟现实平台数据查询方法。

背景技术:
虚拟现实和大数据环境下,利用传统的数据库,访问海量数据,存在着性能瓶颈,这样会导致信息不能及时被显示在客户端的输出设备上。为保证在规定时间,从海量数据中查询出想要的数据,我们引入的分布式内存。目前的查询方案,是直接从数据库中查询,由于数据库中的数据量很大,再加上多人访问时,数据库的承受压力有限,导致了查询性能很低,数据不能及时显示到客户端上,现有的内存方案是把数据缓存到服务器的内存中,这种方法虽然实现起来比较简单,但是数据同步起来比较费时。

技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于分布式内存的虚拟现实平台数据查询方法。本发明的目的可以通过以下技术方案来实现:一种基于分布式内存的虚拟现实平台数据查询方法,包括步骤:S1:根据电站或线路的电压等级和所属单位分别在第一索引集合和第二索引集合中检索得到第一id集合和第二id集合,并取得两个id集合的交集;S2:判断两个id集合的交集是否为空集,若为是,则执行步骤S3,若为否,则执行步骤S4;S3:根据电压等级和所属单位在数据库中查询得到电站或线路的台账信息和模型数据,并在第一索引集合和第二索引集合中新建对应的索引条目,以及根据台账信息中的id在分布式内存系统中存储得到的模型数据;S4:根据交集中的id在分布式内存系统中查询并读取对应的模型数据。由于客户端要根据电压等级和所属单位查询数据,所以,我们要在分布式内存中,建立一个根据电压等级匹配出相应id的set集合和根据所属单位匹配出相应的id的set集合,然后去求两个集合的交集,得到最后的id,再根据id去查询数据。所述第一索引集合中存储有电压等级和id之间的对照关系,所述第二索引集合中存储有所属单位和id之间的对照关系。所述步骤S3具体包括步骤:S31:根据电站或线路的电压等级和所属单位在数据库中查询得到电站或线路的台账信息和模型数据,其中,所述台账信息包括电站或线路的id、名称、电压等级和所属单位;S32:根据台账信息中的id和电压等级在第一索引集合中新建用于表征电压等级和id之间对照关系的索引条目;S33:根据台账信息中的id和所属单位在第二索引集合中新建用于表征所属单位和id之间对照关系的索引条目;S34:根据台账信息中的id将得到的模型数据存储至分布式内存系统中。所述步骤S4具体包括步骤:S41:根据交集中的id在分布式内存系统中查询对应的模型数据;S42:判断是否存在对应的模型数据,若为是,则执行步骤S43,若为否,则执行步骤S44;S43:读取查询得到的模型数据;S44:根据id在数据库中查询得到电站或线路的台账信息和模型数据,以及根据id在分布式内存系统中存储得到的模型数据。所述电站或线路台账数据中的id由其对应模型数据的查询次数确定。每隔第一设定时间,各电站或线路台账数据中的id更新一次,当id更新时,在第一索引集合和第二索引集合中更新对应的索引条目,并根据更新后id在分布式内存系统中存储模型数据。所述查询次数为自id更新时刻起往前追溯第二设定时间期间内的查询次数。与现有技术相比,本发明具有以下优点:1)利用分布式内存可以提升数据的访问速度,同时,也减少了服务器的访问压力,减少用户等待时间,使数据及时反馈到客户端,提升用户体验感,在一些实时的环境下,利用分布式内存还可以保证数据的实时性。2)在虚拟现实平台下,利用分布式内存,可以更快的查询台帐信息,方便用户快速定位到所查询的电站或者线路,提高虚拟现实平台的响应速度与表现性能。3)将关键词拆分后分别在第一索引集合和第二索引集合中检索得到第一id集合和第二id集合,提高检索效率。4)id由对应模型数据的查询次数确定,可以提高内存的应用效率。附图说明图1为本发明的主要步骤流程示意图。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。一种基于分布式内存的虚拟现实平台数据查询方法,如图1所示,包括步骤:S1:根据电站或线路的电压等级和所属单位分别在第一索引集合和第二索引集合中检索,由于一个电压等级可以对应多个id,一个所述单位也可以对应多个id,因此会检索得到第一id集合和第二id集合,取得两个id集合的交集,其中,第一索引集合中存储有电压等级和id之间的对照关系,第二索引集合中存储有所属单位和id之间的对照关系;S2:判断两个id集合的交集是否为空集,若为是,则执行步骤S3,若为否,则执行步骤S4;S3:根据电压等级和所属单位在数据库中查询得到电站或线路的台账信息和模型数据,并在第一索引集合和第二索引集合中新建对应的索引条目,以及根据台账信息中的id在分布式内存系统中存储得到的模型数据,具体包括步骤:S31:根据电站或线路的电压等级和所属单位在数据库中查询得到电站或线路的台账信息和模型数据,其中,台账信息包括电站或线路的id、名称、电压等级和所属单位;S32:根据台账信息中的id和电压等级在第一索引集合中新建用于表征电压等级和id之间对照关系的索引条目;S33:根据台账信息中的id和所属单位在第二索引集合中新建用于表征所属单位和id之间对照关系的索引条目;S34:根据台账信息中的id将得到的模型数据存储至分布式内存系统中。S4:根据交集中的id在分布式内存系统中查询并读取对应的模型数据,但是由于分布式内存系统的容量是有限的,一部分的模型数据可能会再更新中被覆盖,因此该步骤具体包括步骤:S41:根据交集中的id在分布式内存系统中查询对应的模型数据;S42:判断是否存在对应的模型数据,若为是,则执行步骤S43,若为否,则执行步骤S44;S43:读取查询得到的模型数据;S44:根据id在数据库中查询得到电站或线路的台账信息和模型数据,以及根据id在分布式内存系统中存储得到的模型数据。此外,电站或线路台账数据中的id由其对应模型数据的查询次数确定。每隔第一设定时间(例如为10分钟),各电站或线路台账数据中的id更新一次,当id更新时,在第一索引集合和第二索引集合中更新对应的索引条目,并根据更新后id在分布式内存系统中存储模型数据,其中,查询次数为自id更新时刻起往前追溯第二设定时间期间内的查询次数。第二设定时间可以采用与第一设定时间相同的设定,当为10分钟时,即为最近10分钟内的查询次数,查询次数越多,其在分布式内存系统中存储的数据越不容易被覆盖。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1