首页> 中国专利> 搜索由分布式数据源维护的数据结构

搜索由分布式数据源维护的数据结构

摘要

一种方法包括:接收识别实体的查询;获得响应于查询的第一实体记录集合,其中第一实体记录集合中的每个记录包括响应于查询的一个或多个视觉对象;获得响应于查询的第二实体记录集合,其中第二实体记录集合中的每个记录包括实体分数,该实体分数描述与生成一个或多个视觉对象的时间段相关联的实体;执行使第一实体记录集合与第二实体记录集合相关的计算机程序代码;执行使用与第一实体记录集合相关的第二实体记录集合以增强第一实体记录集合的计算机程序代码;以及基于所增强的第一实体记录集合生成视觉快照渲染数据。

著录项

  • 公开/公告号CN112997257A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 环球研究方案有限公司;

    申请/专利号CN201980056578.X

  • 申请日2019-06-27

  • 分类号G16H10/60(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人陈慧

  • 地址 美国密苏里州

  • 入库时间 2023-06-19 11:27:38

说明书

相关申请的交叉引用

本申请要求于2018年6月27日提交的序列号为16/020,662的美国申请的优先权。在先申请的公开内容被认为是本申请公开内容的部分,并且其全部内容被并入本申请。

技术领域

本说明书一般涉及搜索数据结构,更具体地,涉及将响应于数据结构的搜索而获得的数据结构进行相关,以产生从所搜索的数据结构导出的相关数据的增强的视觉快照。

背景技术

数据库通常可以存储与实体相关的大量信息。通常,单个数据库提供与实体相关的一个或多个信息记录,并且不能推断出其他信息。

发明内容

根据一个创新方面,本说明书的主题可以体现在一种用于生成视觉快照渲染数据的方法中,该视觉快照渲染数据在由用户设备渲染时提供视觉快照,该视觉快照描述与实体相关联的历史趋势,该实体将来自不同分布式数据源的多个数据记录关联到应用的单个用户接口中。该方法可以包括以下动作:通过应用编程接口,从用户设备接收识别实体的查询;通过应用编程接口,从第一分布式数据源获得表示响应于查询的第一实体记录的第一数据结构集合,其中第一实体记录中的每个包括视觉对象,该视觉对象响应于查询并且与生成该视觉对象的第一时间相关联;通过应用编程接口,从第二分布式数据源获得表示响应于查询的第二实体记录的第二数据结构集合,其中第二实体记录中的每个包括实体分数,该实体分数与生成该实体分数的第二时间相关联;通过应用编程接口执行计算机程序代码,该计算机程序代码基于第一时间和第二时间将由来自第一分布式数据源的第一数据结构集合表示的第一实体记录与由来自第二分布式数据源的第二数据结构集合表示的第二实体记录相关;通过应用编程接口执行计算机程序代码,该计算机程序代码使用相关的数据来增强第一实体记录;以及通过应用编程接口,基于所增强的第一实体记录来生成视觉快照渲染数据。

其它版本包括对应的系统、装置和计算机程序,以执行在计算机存储设备上编码的方法的动作。

这些和其它版本可以可选地包括一个或多个以下特征。例如,在一些实施方式中,针对第二实体记录中的每个的实体分数是基于针对问卷的问题提供的答案。

在一些实施方式中,视觉对象包括实体的一个或多个部分的图像。

在一些实施方式中,通过应用编程接口执行计算机程序代码,该计算机程序代码基于第一时间和第二时间将由来自第一分布式数据源的第一数据结构集合表示的第一实体记录与由来自第二分布式数据源的第二数据结构集合表示的第二实体记录相关包括:针对第一实体记录集合中的每个特定实体记录:基于确定第一时间和第二时间两者都落在预定的时间段内,将特定实体记录与来自第二分布式数据库的第二实体记录中的一个或多个进行相关。

在一些实施方式中,响应于基于所增强的第一实体记录生成视觉快照渲染数据,通过应用编程接口将视觉快照渲染数据发送给用户设备用于显示。

在一些实施方式中,通过应用编程接口,在视觉快照渲染数据的标绘点上接收用户选择,用于请求与特定视觉对象和对应时间对应的元数据;以及通过应用编程接口,将与特定视觉对象和对应时间对应的元数据发送给用户设备用于显示。

在一些实施方式中,视觉快照渲染数据以3D格式建模。

附图说明

图1是用于搜索分布式数据库记录以及将分布式数据库记录进行相关的系统的示例的图。

图2是相关的分布式数据库记录的视觉快照的用户接口的示例。

图3是用于示出相关的分布式数据库记录的视觉快照的示例过程的流程图。

图4示出计算设备和移动计算设备的示例。

在各个附图中,相同的附图标记和名称表示相同的元件。

具体实施方式

图1是用于搜索分布式数据库记录以及将分布式数据库记录进行相关的系统100的示例的图。系统100包括第一源计算机102、第二源计算机104、第一分布式数据库(DB)服务器106、第二分布式DB服务器108、网络110、应用服务器124、网络126和客户端设备140。

第一源计算机102被配置为经由诸如网络110之类的的一个或多个网络与第一分布式DB服务器106通信。网络110可以是有线的或无线的,并且可以包括例如LAN、WAN、蜂窝网络、因特网等中的一个或多个。备选地,第一源计算机102可以被配置为使用一个或多个其他网络与第一分布式DB服务器106通信。

第一源计算机102是可以用于生成诸如视觉对象112、114、116之类的视觉对象的计算机。第一源计算机102可以包括:智能电话、智能手表、平板电脑、膝上型计算机、台式计算机、服务器、照相机、X射线机、磁共振成像(MRI)机、计算机断层摄影(CT)扫描等,或其任何组合。在一些实施方式中,用户可以使用第一源计算机102来捕获描述实体的特征的视觉对象。例如,用户可以使用第一源计算机来获得实体的MRI。由第一源计算机102获得的视觉对象可以被存储在第一分布式DB 106中。第一源计算机102被配置为经由诸如网络110之类的一个或多个网络与第一分布式DB服务器106通信。备选地,第一源计算机102可以被配置为使用一个或多个其他网络与第一分布式DB服务器106通信。

第二源计算机104是可以用于生成诸如分数118、120和122之类的分数的计算机。第二源计算机104可以包括:智能电话、智能手表、平板电脑、膝上型计算机、台式计算机、服务器等,或其任何组合。在一些实施方式中,第二源计算机104可以用于生成实体的分数。该分数可以基于对问卷的一个或多个问题的实体响应。第二源计算机104被配置为经由诸如网络110之类的一个或多个网络与第二分布式DB服务器108通信。备选地,第二分布式计算机104可以被配置为使用一个或多个其他网络与第二分布式DB服务器108通信。

可以使用第一分布式DB服务器106来处理和存储在靠近记录的源计算机的计算系统中的记录。例如,可以使用第一分布式DB服务器106来访问、存储和发送视觉对象,例如源计算机102已经生成的视觉对象112、114、116。第一分布式DB服务器106还可以准备视觉对象用于由应用服务器124处理。准备视觉对象用于由应用服务器124处理可以包括:例如使用时间戳112a、114a、116a来标记每个相应的视觉对象112、114、116,该时间戳112a、114a、116a使得视觉对象112、114、116能够通过应用服务器124与其他数据对象相关。可以从使用第一源计算机102生成相应的视觉对象112、114、116时生成的元数据访问时间戳。

可以使用第二分布式DB服务器108来处理和存储在靠近记录的源计算机的计算系统中的记录。例如,可以使用第二分布式DB服务器108来访问、存储和发送视觉对象,例如源计算机104已经生成的分数118a、120a、122a。在一些实施方式中,第二分布式DB服务器可以是已经为实体生成分数的医疗服务提供商、保险公司等的服务器。在其他实施方式中,第二分布式DB服务器可以是存储与患者结果分数相关的数据的在线患者社区的服务器。在申请号为13/973,568的美国专利申请中更详细地描述了这样的在线患者社区,该申请通过引用整体合并于此。

第二分布式DB服务器108还可以准备分数用于由应用服务器124处理。准备分数用于由应用服务器124处理可以包括:例如使用时间戳118a、120a、122a来标记每个相应的分数118、120、122,使分数118、120、122能够通过应用服务器124与诸如视觉对象112、114、116之类的其他数据对象相关。可以从在使用第二源计算机104生成相应的分数118、120、122时生成的元数据访问相应时间戳。

第一分布式DB服务器106和第二分布式DB服务器108可以包括任何类型的数据库,例如关系数据库、层次数据库、非结构化数据库、SQL数据库、或允许存储和检索数据的任何其他种类的数据库。在一些实施方式中,系统100包括用于与第一分布式DB服务器106和第二分布式DB服务器108通信的应用服务器124。在其他实施方式中,应用服务器124可以存储在第一分布式DB服务器106中或者存储在第二分布式DB服务器106中。在其他实施方式中,应用服务器124可以存储在客户端设备140中。应用服务器124可以包括本地连接的或通过网络连接的一个或多个计算机。应用服务器124可以通过网络110与第一分布式DB服务器106和第二分布式DB服务器108通信。

应用服务器124包括应用编程接口(API)128。API 128包括一个或多个软件子例程,以允许存在于应用服务器124上的应用与客户端设备140、第一分布式DB服务器106、和第二分布式DB服务器108通信。此外,API 128对从这些设备中的每个接收的任何数据进行相关。还可以使用API 128来基于由API 128从多个分布式DB服务器106、108相关的数据来生成渲染数据以提供给客户端设备。

具体地,应用服务器124可以发送对第一分布式DB服务器106处的第一条目记录集合的请求。此外,应用服务器124可以发送对第二分布式DB服务器108处的第二实体记录集合的第二请求。在另一实例中,第一分布式DB服务器106和第二分布式DB服务器108可以周期性地将第一条目记录集合和第二条目记录集合分别发送给应用服务器124,而无需应用服务器124的请求。例如,周期可以是每小时、每天、每周或每月。在一些实施方式中,应用服务器可以响应于来自用户的关于实体的信息的请求,向第一分布式DB 106和第二分布式DB108二者发送对信息的请求。

应用服务器124被配置为通过网络126从客户端设备140接收一个或多个请求或查询。客户端设备140可以是:例如蜂窝电话、膝上型计算机、台式计算机、膝上型计算机、平板计算机、可穿戴计算机、蜂窝电话、智能电话、音乐播放器、电子书阅读器、导航系统,或任何其他适当的计算设备。

在一些实施方式中,源计算机104可以向用户呈现问卷。问卷可以包括与用户的医疗状况、用户的医疗、用户的病史等相关的多个问题。用户可以使用第二源计算机104来提供对问卷中提供的问题的答案。在一些实施方式中,第二源计算机104可以基于用户对问卷中的问题的答案来生成分数。备选地,源计算机104可以向第二分布式DB服务器108提供已完成的问卷,以及第二分布式DB服务器108可以执行操作以基于对问卷中的问题的答案来生成分数。

在又一示例中,源计算机104或者第二分布式DB服务器108可以通过网络从另一计算机接收已完成的问卷。然后,源计算机104或者第二分布式DB服务器108可以基于所接收的问卷中的问题的答案生成分数。

生成针对问卷的分数包括第二源计算机104处理所接收的患者问卷。例如,第二源计算机104可以从所接收的问卷中提取答案,并且基于所提取的答案为提供问卷的问题的答案的用户生成一个或多个分数。例如,问卷可以询问诸如“你的主要问题是什么?”,“这个问题影响你的日常活动(工作、睡眠、进食等)到什么程度?”,以及“自从你第一次注意到症状以来问题得到改善了吗?”。这些问题涉及关于用户的身体部位的功能水平,例如手臂、肩部、颈部、脚踝或肩袖。源计算机104可以分析由患者提供的答案,并且基于所提取的答案来确定特定分数。可以基于分配给特定问答组合的预定权重来确定分数。

作为示例,源计算机104可以基于对与实体的脚踝相关的问卷问题的答案来确定实体分数“53”。根据问卷,这样的分数可以指示实体的脚踝的工作量稍微高于平均水平。通常,实体的特定身体部位的感觉和功能越好,实体的特定分数就越高。作为响应,源计算机104可以将所提取的实体问卷的答案以及所确定的该实体的分数存储在第二分布式DB服务器108中。

因此,所生成的分数是可以用于表示特定实体在特定时间的特性的度量。例如,该分数可以提供在完成问卷的特定时间针对特定状况、治疗等的实体的健康的指示。

在一些实施方式中,第二分布式DB服务器108可以使用表示实体的数据来索引在第二分布式DB服务器108中存储的问卷。表示实体的数据可以包括:实体的名称、实体标识符(例如,P132)、从所接收的问卷中检索的一个或多个关键词、以及引用问卷的特定ID。这样,问卷被存储在第二分布式DB服务器108的存储器位置中,并且诸如应用服务器124之类的其他计算机可以随后使用表示实体的数据类型中的一个或多个来从第二分布式DB服务器108检索问卷和附加数据。如上所述,表示实体的数据可以包括实体的名称。

关于图1的特定示例,应用服务器124可以处理来自客户端设备140的请求,该请求包括表示实体的数据。例如,数据可以是实体的名称的表示,诸如表示名称的首字母缩写词。在另一示例中,表示实体的数据可以包括码字,诸如表示请求中的实体的一个或多个数字。出于带宽效率的目的,客户端设备140可以生成通过网络126发送的请求的编码表示。

应用服务器124可以处理从客户端设备140接收的请求以从请求中识别实体。例如,如图1所示,诸如患者或医生之类的用户可以在客户端设备140的应用中输入请求101,以查看对应于实体“John”的视觉快照数据。客户端设备140将请求101发送给应用服务器124并且处理请求101。应用服务器124分析请求101以检索文本串“John”来识别一个或多个候选条目名称。例如,如果请求包括文本串“John Rock”,则一个或多个候选条目名称包括“John”和“Rock”。此外,应用服务器124分析一个或多个候选条目名称以确定一个或多个候选条目名称的上下文。例如,如果一个或多个候选条目名称包括“John”和“Rock”,则应用服务器124可以确定这两个名称对应于个人的名称,而不是第一候选词“John”是名称,第二候选词“Rock”对应于地质对象。通过分析一个或多个候选条目名称相对于彼此的上下文,应用服务器124可以消除一个或多个候选条目名称的歧义。

在一些实施方式中,应用服务器124可以利用所识别的一个或多个候选条目名称和上下文信息来从第一分布式DB服务器106和第二分布式DB服务器108检索数据。应用服务器124发送指示对第一分布式DB服务器106中的一个或多个条目的请求的数据。指示对一个或多个条目的请求的数据包括来自请求101的一个或多个候选条目名称。如前所述,可以通过实体名称来索引存储在第一分布式DB服务器106中的数据。第一分布式DB服务器106的索引的行中的每个字段可以包括与实体名称相关联的视觉对象。例如,由词“John”索引的行可以包括实体“John”的视觉对象的一个或多个字段。视觉对象可以包括实体“John”在一段时间内的媒体,诸如一个或多个图片、一个或多个视频、或一个或多个扫描。

另外,每个字段可以包括指示何时将实体的视觉对象上传到第一分布式DB服务器106的对应时间戳。例如,一个字段可以示出在第一时间点的实体的视觉对象,例如在2018年1月1日下午1:00。另一字段可以示出在第二时间点的实体的另一视觉对象,例如在2018年2月1日下午1:00。在其他实施方式中,第一分布式DB服务器106的行中的每个字段可以包括关于索引的实体的附加信息。例如,如果索引的实体是职业联赛运动队,则一个或多个字段可以包括运动队的运动员、运动队的体育场的位置、运动队的日程、运动队的制服、运动队的吉祥物以及教练的名字。

在一些实施方式中,第一分布式DB服务器106将从应用服务器124接收的一个或多个候选条目名称与第一分布式DB服务器106的数据库的行中的索引的名称进行比较。特别地,第一分布式DB服务器106在来自应用服务器124的一个或多个候选条目名称与第一分布式DB服务器106的数据库的行中的每个实体名称之间执行文本比较。如果第一分布式DB服务器106响应于文本比较而确定存在一个或多个匹配,则第一分布式DB服务器106向应用服务器124提供匹配的行和对应的字段。在一些实施方式中,应用服务器124可以从第一分布式DB服务器106检索设置的时间段上的数据。例如,应用服务器124可以从第一分布式DB服务器106请求在2018年1月10日下午1:00点到2018年9月20日下午1:00点之间的时间段内的数据。

响应于第一分布式DB服务器106接收到实体名称和设置的时间段,第一分布式DB服务器106可以将满足所请求的准则的数据返回给应用服务器124。例如,如图1所示,第一分布式DB服务器106识别包括请求101“John”实体的三个视觉对象的数据行。特别地,该数据行包括视觉对象112、视觉对象114和视觉对象116。

在一些实施方式中,第一分布式DB 106服务器可以通过将元数据与视觉对象相关联来准备用于递送的视觉对象,该元数据可以由应用服务器124用来将视觉对象与和用户相关联的其他数据记录相关。作为示例,第一分布式DB 106可以将时间戳与视觉对象相关联。例如,视觉对象112包括时间戳T

在该示例中,所检索的视觉对象的行可以描绘实体“John”在一段时间内的X射线图像。John可能肋骨骨折,并且医生可以随时间监控实体的康复过程。例如,视觉对象112示出在2018年4月20日下午1:00的时间112a的John的胸腔,视觉对象114示出在2018年7月20日下午1:00的时间114a的John的胸腔,以及视觉对象116示出在2018年9月20日下午1:00的时间116a的John的胸腔。医生可以使用来自实体的进展的视觉对象数据来观察实体如何进展或偏向。

在一些实施方式中,响应于从第一分布式DB服务器106接收和处理指示对一个或多个条目的请求的数据,第一分布式DB服务器106将视觉对象数据112、114和116发送给应用服务器124。第一分布式DB服务器106通过网络110将指示集体视觉对象数据的数据发送给应用服务器124。例如,指示集体视觉对象数据的数据可以是到视觉对象数据112、114和116的符号链接、单独的视觉对象数据本身、或者包括视觉对象数据112、114和116中的每个的数据结构。此外,第一分布式DB服务器106将元数据发送给与来自所检索的行的索引的实体对应的应用服务器124。例如,元数据可以包括图片上传时由医生指示的有关实体的进展的数据、关于损伤如何发生的上下文信息、正在接受援助以帮助医治创伤的当前程序实体、以及与实体相关的任何类似数据。

应用服务器124发送来自第二分布式DB服务器108的对数据的请求。对数据的请求可以包括:来自请求101的信息、由第一分布式DB服务器106从响应中检索的元数据,或者二者的组合。与第一分布式DB服务器106中的数据相似,第二分布式DB服务器108中的数据包括与在针对实体完成特定问卷调查的特定时间的实体的状态对应的分数,并且该分数可以通过实体名称进行索引。作为示例,对应于实体“John”的字段行可以包括分数118“49”、分数120“58”、分数122“53”。

在一些实施方式中,分数可以是指示实体的健康评级的百分比。例如,分数可以是指示实体的特定身体部位的运动范围的分数、实体的损伤的愈合状态、或者实体的总体健康分数的数字。该行中的每个字段包括指示实体被评分以确定实体的状态的时间的相应时间戳。作为示例,个人可以使用第二分布式计算机104输入针对实体的状态的分数。作为响应,第二分布式计算机104将分数存储在第二分布式DB服务器108中。例如,医生可以在2018年4月20日下午1:00的时间112a将实体的右肩的运动范围的状态评分为“53”。在另一示例中,医生可以在2018年7月20日下午1:00的时间114a将患者的右肩的运动范围的状态评分为“58”。在另一示例中,医生可以在2018年9月20日下午1:00的时间116a将实体的右肩的运动范围的状态评分为“49”。在其他实施方式中,第二分布式计算机104可以基于对一个或多个问卷的问题和答案来生成针对实体(例如,患者)的分数。

在一些实施方式中,响应于从第二分布式DB服务器108接收和处理指示对一个或多个条目的请求的数据并且确定匹配存在,第二分布式DB服务器108将分数118、120和122发送给应用服务器124。第二分布式DB服务器108通过网络110将指示集体分数的数据发送给应用服务器124,该指示集体分数的数据与在请求中指示的数据相匹配。例如,指示集体视觉分数的数据可以是分数118、120和122以及对应的时间戳116a、114a和112a、以及到分数118、120和122以及对应的时间戳116a、114a和112a的链接等。此外,第二分布式DB服务器108还可以发送与来自所检索的分数行的索引的实体对应的元数据。例如,元数据可以包括由医生指示的数据,该数据描述医生如何确定针对实体的分数、关于实体自从上次访问以来如何进展或偏向的上下文信息、以及实体下一次何时访问医生。

在一些实施方式中,响应于应用服务器124从第一分布式DB服务器106接收到视觉对象数据112、114和116以及时间戳112a、114a、116a,并且从第二分布式DB服务器108接收到分数数据118、120和122以及时间戳118a、120a、122a,应用服务器124的API 128执行软件以将来自分布式DB服务器106、108的两个数据集合相关。使来自不同的分布式数据DB服务器106、108的两个数据集合相关可以包括:使用API 128将来自第一分布式DB服务器106的视觉对象数据112、114和116与由不同于第一分布式DB服务器106的第二分布式DB服务器108确定的对应分数数据118、120和122对齐。API 128使用时间戳作为用于对齐的基础来组合来自不同的分布式DB服务器106、108的数据集。例如,在图1的示例中,API 128创建相关的数据130、132和134,其包括来自第一分布式DB服务器106的视觉对象数据和来自第二分布式DB服务器108的分数数据。特别地,API 128将视觉对象数据112与分数122数据对齐,因为两者都对应于时间T

尽管在该示例中使用时间T

例如,API 128可以将预定的时间段设置为2天。因此,如果API 128确定视觉对象112包括在2018年1月2日下午12:00的时间T

API 128使用相关的视觉对象数据和分数数据来增强视觉对象数据。特别地,相关的视觉对象数据和分数数据130、132、134用于生成其他增强的数据集。其他增强的数据集可以包括趋势、随时间的图、生成的预测和其他数据分析结果。例如,API 128可以向经训练的机器学习算法提供相关的数据130、132和134,以提供在未来时间点的未来分数的预测。API 128可以使用视觉对象数据和先前实体在先前的时间点的分数来训练机器学习算法。此外,机器学习算法可以被训练为单独使用视觉对象数据来输出预测的分数。在另一示例中,API 128可以在图上绘制视觉对象数据和分数,以显示数据随时间的趋势。x轴指示应用服务器124生成分数的时间。如图1所示,API 128生成图138,该图138示出实体随时间数据变化的分数的三个相应点,每个相应点对应于上述相应的相关的数据。图138可以用于评估针对实体的趋势。

在一些实施方式中,API 128生成增强的相关的数据的渲染数据127。特别地,渲染数据127提供了视觉对象数据和分数数据在对应的时间的视觉快照,以及增强的视觉对象数据的视觉快照。例如,渲染数据127示出在一个显示页面上的数据的视觉快照以便于查看可访问性。在一些实施方式中,API 128可以在2D或3D模型中生成渲染数据。例如,API 128可以调整视觉图像快照页面上的对象的阴影、纹理映射、碰撞映射、反射和透明度。此外,渲染数据127可以包括屏幕格式化特征以渲染数据的视觉快照从而适合诸如客户端设备140之类的特定设备的屏幕尺寸。否则,特定设备可能无法正确地显示视觉快照数据。

在一些实施方式中,API 128将渲染数据127发送给客户端设备140。渲染数据127通过网络126被发送给客户端设备140。客户端设备140接收渲染数据127,渲染该渲染数据127,并且显示基于渲染数据的渲染为用户生成的图形用户接口136。用户可以使用指示笔或手指与图形用户接口136的各种组件交互。特别地,用户可以在图形用户接口136上将相关的数据130、132和134重新布置为不同的顺序。在一些实施方式中,相关的数据130、132、134基于时间戳从左到右按时间顺序组织。

然而,在一些实施方式中,用户可以将图138的放置移动到图形用户接口上的另一点。用户可以选择针对图形用户接口136的图138上的点,以显示关于该点的附加信息。例如,如果用户在图138上选择标绘点139,则图形用户接口136将随后显示附加框,该附加框进一步显示与相关的数据132的分数和视觉对象对应的元数据。响应于与客户端设备140上的组件交互的选择,客户端设备140将该选择发送给应用服务器124的API 128。API 128处理所接收的选择并将所请求的信息发送回客户端设备140。例如,如果用户在图138上选择标绘点139,则图形用户接口136将通过网络126向API 128发送对标绘点139的选择。API128将接收对标绘点139的选择,并且将对应于所选择的标绘点139的元数据信息发送给客户端设备140用于显示。在其他实施方式中,客户端设备140将包括元数据并且将处理对标绘点的选择而不必向API 128发送请求。

参考图1的示例描述的系统的分布式方式提供了多个优点。例如,系统允许多个分布式源计算机创建、处理和管理靠近其源的记录,直到被诸如应用服务器124之类的集中管理器访问。必要时,应用服务器可以以减少响应用户请求所需的带宽量的方式从每个分布式系统或其一部分获得数据并使其相关。

重要的是,由图1的系统实现的数据创建、数据收集、数据过滤和数据搜索的分布式特性实现了负载分布。每个特定源计算机可以通过仅与和特定源相关联的数据交互来单独地生成、访问和粒度地操纵数据。这有助于更有效地使用可用的网络带宽。例如,替代计算机102和104需要创建、访问和操纵中央数据存储库中的数据,每个相应的计算机可以在分布式网络的其节点处创建、访问和操纵数据,这避免了集中式服务器处的单个网络瓶颈的拥塞。

另一方面,应用服务器进行的数据记录的相关使得系统100能够提供集中式存储位置的所有益处,例如,单个存储库,其可以接收单个查询并且提供用户响应于查询而需要的单个搜索结果集合,而没有大量记录流过单个网络瓶颈的的缺点。另外,与实现要求用户设备使用多个接口、多个应用、并且提交多个查询以产生多个结果的系统相比,实现如下系统(该系统中,来自单个用户接口的查询可以搜索多个不同的数据库,并且导致在客户端设备的单个接口中接收单个搜索结果集合)对于客户端设备而言资源效率更高。因此,由于系统100的性质,使用系统100的用户设备可以使用较少的系统资源。

最后,系统100的分布式方式还为网络设备和数据收集器提供了额外的优点。尽管图1中描述的系统仅包括两个分布式数据源,但是本公开不需要如此限制,相反,应用服务器124可以基于时间戳对来自三个、四个、五个或者更多数据源的数据记录进行相关,如上面参考对来自第一分布式DB服务器106和第二分布式DB服务器108的记录的相关所描述的。在这种情况下,对用户查询的响应可能仅调用特定数据。例如,查询可以具有指定仅应返回分数和视觉对象而不应返回描述实体的疫苗接种历史的实体记录的参数,该参数可以存储在第三分布式数据库中。可以使用例如单选按钮来指定要搜索和包括哪些数据源。在这种情况下,系统100的分布式性质可以帮助有意义地调整查询的执行,以便节省系统资源(例如,CPU使用率、存储器使用率、带宽使用率、功率使用率等),同时还生成包括用户寻求的信息的增强的记录。

图2是相关的分布式数据库记录的视觉快照的用户接口200的示例。

在一些实施方式中,应用服务器124的API 128生成视觉快照的渲染数据以提供给客户端设备140。用户接口200示出包括分层数据类型的覆盖的渲染数据。例如,分层数据类型可以包括视觉对象数据、文本数据、坐标系数据和交互数据。用户接口200示出客户端设备140向用户显示的用户接口的示例。特别地,用户接口200包括显示面板202,该显示面板202包括视觉对象数据210、212和214。当捕捉视觉对象时,每个视觉对象对应于时间数据204、206和208。例如,视觉对象210示出在2017年5月11日的日期204的右肩的X射线图像。视觉对象212示出在2017年7月23日的日期206的相同的右肩的X射线图像。视觉对象214示出2017年10月10日的日期208的相同的右肩的X射线图像。

此外,显示面板202包括坐标系面板216。该坐标系面板216包括在时间点上针对每个特定视觉对象的对应的数据点的图。例如,坐标系面板216示出对应于视觉对象210的在2017年5月11日的各种分数。特别地,各种分数对应于由医生用来评估右肩的健康的不同评级。例如,分数218对应于全球心理健康评级,分数224对应于估计的效用分数(EuroQol)评级,分数230对应于美国肩肘外科医生(ASES)左评级,分数236对应于ASES右评级。

在2017年7月23日的第二日期,使用相同的各种评级重新评估实体的右肩。例如,该图示出在2017年7月23日,对应于全球心理健康评级的分数220自从在2017年5月11日最后的分数评估218以来已经下降。对应于EuroQol评级的分数226自2017年5月11日最后的分数评估224以来已经增加。对应于ASES左评级的分数232自2017年5月11日最后的分数评估230以来已经增加。对应于ASES右评级的分数238自2017年5月11日最后的分数评估236以来已经增加。

在2017年10月10日的第三日期,使用相同的各种评级重新评估实体的右肩。例如,该图示出在2017年年10月10日,对应于全球心理健康评级的分数222自2017年7月23日最后的分数评估220以来已经下降。对应于ASES左评级的分数228自2017年7月23日最后的分数评估232以来已经增加。对应于EuroQol评级的分数234自2017年7月23日最后的分数评估226以来已经增加。对应于ASES右评级的分数240自2017年7月23日最后的分数评估238以来已经增加。通常,分数随时间的增加表明实体的身体部位在健康、功能性或两者方面有所改善。同样地,分数随时间的减小指示实体的身体部位在健康、功能性或两者方面正在恶化。在一些实施方式中,对应的系统面板可以在归一化的分数系统中绘制分数。例如,应用服务器124可以通过将分数除以100来归一化分数以在从0到1的标度上绘制。在其他实施方式中,应用服务器124可以在坐标系面板216上绘制未归一化的分数。

尽管图形用户接口200与X射线图像和实体分数相关,但是本公开不需要被如此限制。例如,可以将不动产属性的图像与分数相关,以突出显示随着时间推移对应于不动产属性的图像的分数趋势。因此,将其他类型的对象或实体与其他类型的分数相关以生成用于显示的增强的数据记录也落入本公开的范围内。

图3是用于示出相关的分布式数据库记录的视觉快照的示例过程300的流程图。通常,过程300包括通过应用编程接口接收识别实体的查询;从第一分布式数据源并且通过应用编程接口获得表示数据记录的第一数据结构集合,数据记录具有包括响应于查询的一个或多个视觉对象的字段;从第二分布式数据源并且通过应用编程接口获得第二数据结构集合,第二数据结构集合包括表示实体的状态的一个或多个记录;通过应用编程接口执行计算机代码,该计算机代码将由第一数据结构集合表示的第一数据记录集合与由第二数据结构集合表示的第二数据记录集合相关;通过应用编程接口执行计算机代码,该计算机代码使用相关的数据来增强第一数据记录集合;以及通过应用编程接口基于增强的第一实体记录集合来生成视觉表示渲染数据。备选地,例如,过程300可以用于与包括增强的第一实体记录集合的视觉表示渲染数据进行交互。过程300将被描述为由包括一个或多个计算机的计算机系统执行,例如,如图1所示的系统100。

在302期间,系统通过应用编程接口接收识别实体的查询101。用户可以与客户端设备140交互以向系统发送查询101,其中该查询识别实体。例如,医生可以将对实体“John”的请求输入到客户端设备140的应用中。客户端设备140将具有实体“John”的查询发送给系统的应用编程接口128用于处理。应用编程接口128接收查询101并且识别查询101中的实体“John”。

在304期间,系统从第一分布式数据源并且通过应用编程接口获得表示数据记录的第一数据结构集合,该数据记录具有包括响应于查询的一个或多个视觉对象的字段。然后,系统利用基于所接收的查询而识别的一个或多个候选条目名称,来访问并检索来自诸如第一分布式DB服务器106之类的第一分布式数据源的数据。第一分布式DB服务器106的索引的行中的每个字段可以包括实体名称的视觉对象。例如,一个字段可以示出在第一时间点(例如2018年1月1日下午1:00)的实体的图形对象。另一字段可以示出在第二时间点(例如2018年2月1日下午1:00)的实体的另一视觉对象。

在一些实施方式中,第一分布式DB服务器106将所接收的候选条目名称与第一分布式DB服务器106的每行中的索引的实体进行比较。特别地,第一分布式DB服务器106在来自应用服务器124的候选条目名称与第一分布式DB服务器106的数据库的行中的每个实体名称之间执行文本比较。如果第一分布式DB服务器106响应于文本比较而确定存在一个或多个匹配,则第一分布式DB服务器106向应用服务器124提供匹配的行和对应的字段。

在306期间,系统从第二分布式数据源并且通过应用编程接口获得表示包括表示实体的状态的一个或多个记录的第二数据结构集合。在一些实施方式中,实体的状态可以使用分数来表示。系统发送对来自诸如第二分布式DB服务器108之类的第二分布式数据源的数据的请求。对数据的请求可以包括来自请求101的信息和由第一分布式DB服务器106从响应中检索的元数据。类似于第一分布式DB服务器106中的数据,可以通过实体名称来索引第二分布式DB服务器108中的数据。存储在第二分布式DB服务器108中的数据包括与实体的状态对应的分数。例如,对应于实体“John”的字段行可以包括分数118“49”、分数120“58”和分数122“53”。在一些实施方式中,分数可以是指示实体的健康评级的百分比。例如,分数可以是指示实体的特定身体部位的运动范围的分数、实体的损伤的愈合状态、或者实体的总体健康分数的数字。

响应于确定在请求中的数据与第二分布式DB服务器108中的一行或多行之间的匹配,第二分布式DB服务器108将分数发送给应用服务器124。此外,第二分布式DB服务器108发送与来自所检索的分数行的索引的实体对应的元数据。例如,元数据可以包括由医生指示的数据,该数据描述医生如何确定针对实体的分数、关于实体自从上次访问以来如何进展或偏向的上下文信息、以及实体下一次何时访问医生。

在308期间,系统通过应用编程接口执行计算机代码,该计算机代码将由第一数据结构集合表示的第一数据记录集合与由第二数据结构集合表示的第二数据记录集合相关。响应于从第一分布式DB服务器106接收到视觉对象数据并且从第二分布式DB服务器108接收到分数数据,API执行软件以关联该数据。特别地,API通过对齐数据集在一段时间内将视觉对象数据和分数数据相关。在一些实施方式中,API可以从第一分布式DB服务器106接收第一数据集合并且从第二分布式DB服务器108接收第二数据集合,并且在应用服务器124上执行搜索结果的相关。API使用时间段作为对齐的基础来组合数据集。例如,API 128创建视觉对象和分数数据的相关的数据130、132和134。特别地,API 128将视觉对象数据112与分数122数据对齐,因为两者都对应于时间T

在310期间,系统通过应用编程接口执行计算机代码,该计算机代码使用相关的数据来增强第一数据记录集合。特别地,API通过生成其他数据集来生成增强的数据供用户查看。例如,其他数据集可以包括:趋势、随时间的图、所生成的预测、和其他数据分析结果。例如,API 128可以向经训练的机器学习算法提供相关的数据130、132和134,以提供在未来时间点的未来分数的预测。此外,机器学习算法可以被训练为单独使用视觉对象数据来输出预测的分数。在另一示例中,API 128可以在图上绘制视觉对象数据和分数,以显示数据随时间的趋势。x轴指示应用服务器124生成分数的时间。如图1所示,API 128生成了示出实体随时间数据的三个分数点的图138。

在312期间,系统通过应用编程接口基于增强的第一实体记录集合来生成视觉表示渲染数据。API生成增强的数据的渲染数据,该渲染数据示出在对应时间的视觉对象数据和分数数据的视觉快照以及增强的视觉对象数据的视觉快照。例如,渲染数据127示出在一个显示页面上的数据的视觉快照,以便于查看客户端设备140上的可访问性。响应于生成视觉表示渲染数据,应用编程接口将视觉表示渲染数据发送给客户端设备140用于显示。

图4示出可以用于实现本文所述的技术的计算设备400和移动计算设备450的示例。

计算设备400旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其他适当的计算机。移动计算设备450旨在表示各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文所示的组件、它们的连接和关系以及它们的功能仅是示例,而不是限制性的。

计算设备400包括:处理器402、存储器404、存储设备406、连接到存储器404和多个高速扩展端口410的高速接口408、以及连接到低速扩展端口414和存储设备406的低速接口412。处理器402、存储器404、存储设备406、高速接口408、高速扩展端口410和低速接口412中的每个使用各种总线互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器402可以处理用于在计算设备400内执行的指令,包括存储在存储器404中或存储设备406上的指令,以在外部输入/输出设备上显示用于GUI的图形信息,该外部输入/输出设备例如耦接到高速接口408的显示器416。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种存储器类型。而且,可以连接多个计算设备,每个设备提供必要操作的部分(例如,作为服务器库、刀片服务器的组或多处理器系统)。

存储器404存储计算设备400内的信息。在一些实施方式中,存储器404是一个或多个易失性存储器单元。在一些实施方式中,存储器404是一个或多个非易失性存储器单元。存储器404还可以是另一形式的计算机可读介质,例如磁盘或光盘。

存储设备406能够为计算设备400提供大容量存储。在一些实施方式中,存储设备406可以是或包括计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。指令可以存储在信息载体中。当由一个或多个处理设备(例如,处理器402)执行时,指令执行一个或多个方法,例如以上描述的那些。指令还可以由诸如计算机或机器可读介质(例如,存储器404,存储设备406或处理器402上的存储器)之类的一个或多个存储设备存储。

高速接口408管理计算设备400的带宽密集型操作,而低速接口412管理较低带宽密集型操作。这种功能的分配仅是示例。在一些实施方式中,高速接口408耦接到存储器404、显示器416(例如,通过图形处理器或加速器),并且耦接到可以接受各种扩展卡(未示出)的高速扩展端口410。在该实施方式中,低速接口412耦接到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口414可以例如通过网络适配器耦接到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪或诸如交换机或路由器之类的联网设备。

如图所示,计算设备400可以以多种不同的形式来实现。例如,它可以被实现为标准服务器420,或者在这样的服务器的组中多次实现。此外,它可以在诸如膝上型计算机422的个人计算机中实现。它也可以被实现为机架服务器系统424的部分。备选地,来自计算设备400的组件可与诸如移动计算设备450之类的移动设备(未示出)中的其它组件组合。这些设备中的每个可以包含计算设备400和移动计算设备450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。

移动计算设备450包括处理器452、存储器464、诸如显示器454之类的输入/输出设备、通信接口466和收发器468,以及其他组件。移动计算设备450还可以具有存储设备,例如微驱动器或其他设备,以提供额外的存储。处理器452、存储器464、显示器454、通信接口466和收发器468中的每个使用各种总线互连,并且若干组件可以安装在公共主板上或以其他适当的方式安装。

处理器452可以执行移动计算设备450内的指令,包括存储在存储器464中的指令。处理器452可以被实现为包括分离的以及多个模拟和数字处理器的芯片的芯片组。例如,处理器452可以提供用于移动计算设备450的其他组件的协调,例如对用户接口的控制,由移动计算设备450运行的应用、以及由移动计算设备450进行的无线通信。

处理器452可以通过控制接口458和耦接到显示器454的显示接口456与用户通信。显示器454可以是例如TFT(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器,或其它适当的显示技术。显示接口456可以包括用于驱动显示器454向用户呈现图形和其它信息的适当电路。控制接口458可以从用户接收命令,并且将它们转换以提交给处理器452。此外,外部接口462可以提供与处理器452的通信,以实现移动计算设备450与其他设备的近区域通信。外部接口462可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且还可以使用多个接口。

存储器464将信息存储在移动计算设备450内。存储器464可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元、或者一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器474,并且通过扩展接口472连接到移动计算设备450,该扩展接口可以包括例如SIMM(单列直插式存储器模块)卡接口。扩展存储器474可以为移动计算设备450提供额外的存储空间,或者还可以存储用于移动计算设备450的应用或其他信息。具体地,扩展存储器474可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供作为用于移动计算设备450的安全模块,并且可以使用允许安全使用移动计算设备450的指令来编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可入侵的方式将识别信息放置在SIMM卡上。

存储器可以包括例如闪存和/或NVRAM存储器(非易失性随机存取存储器),如下所述。在一些实施方式中,指令被存储在信息载体中,使得指令在由一个或多个处理设备(例如,处理器452)执行时执行诸如上文描述的一个或多个方法。指令还可以由一个或多个存储设备存储,例如一个或多个计算机或机器可读介质(例如,存储器464、扩展存储器474或处理器452上的存储器)。在一些实施方式中,可以例如通过收发器468或外部接口462在传播信号中接收指令。

移动计算设备450可以通过通信接口466进行无线通信,该通信接口在必要时可以包括数字信号处理电路。通信接口466可以提供各种模式或协议下的通信,例如GSM语音呼叫(全球移动通信系统)、SMS(短消息服务)、EMS(增强消息服务)或MMS消息(多媒体消息服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字蜂窝)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线服务)等。例如,这种通信可以使用射频通过收发器468发生。此外,可以发生短距离通信,例如使用蓝牙、WiFi或其它此类收发器(未示出)。此外,GPS(全球定位系统)接收器模块470可向移动计算设备450提供额外的导航和与位置相关的无线数据,其可以适当地由在移动计算设备450上运行的应用使用。

移动计算设备450还可以使用音频编解码器460进行听觉通信,该音频编解码器可以从用户接收口述信息并且将其转换为可用的数字信息。音频编解码器460可以类似地例如通过扬声器在移动计算设备450的手机中为用户生成可听见的声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备450上操作的应用生成的声音。

如图所示,移动计算设备450可以以多种不同形式实现。例如,它可以被实现为蜂窝电话480。它也可以被实现为智能电话482、个人数字助理或其他类似移动设备的部分。

本文所述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该可编程处理器可以是专用或通用的,被耦接以从存储系统接收数据和指令以及向存储系统发送数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。

为了提供与用户的交互,本文所述的系统和技术可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监控器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

本文所述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户接口或Web浏览器的客户端计算机,通过该图形用户接口或Web浏览器,用户可以与本文所述的系统和技术的实施方式进行交互),或者这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

尽管以上已经详细描述了一些实施方式,但是其它修改是可能的。例如,虽然客户端应用被描述为访问委托,但是在其他实施方式中,委托可以被由一个或多个处理器实现的其他应用所采用,例如在一个或多个服务器上执行的应用。此外,附图中描绘的逻辑流程不需要所示的特定顺序或连续顺序来实现期望的结果。此外,可以从所描述的流程中提供其他动作,或者可以消除动作,并且可以将其他组件添加到所描述的系统或从所描述的系统移除。因此,其他实施方式在所附权利要求的范围内。

虽然本说明书包含许多具体实现细节,但是这些不应被解释为对任何发明的范围或者可以要求保护的范围的限制,而是作为可以专用于特定发明的特定实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的特定特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实现。另外,尽管特征可以在上面被描述为在特定组合中起作用并且甚至最初被这样要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中被去除,并且所要求保护的组合可以针对子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或以连续顺序执行这样的操作,或者要求执行所有示出的操作以实现期望的结果。在特定情况下,多任务和并行处理可能是有利的。另外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。

已经描述了主题的特定实施例。其它实施例也在所附权利要求的范围内。例如,权利要求中所记载的动作可以按不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在特定实施方式中,多任务和并行处理可以是有利的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号