首页> 中国专利> 用于生成匿名声学指纹的系统和方法

用于生成匿名声学指纹的系统和方法

摘要

用于生成匿名声学指纹的系统和方法。针对预定时间区间,可以捕获和处理与环境相关联的原始音频数据。基于捕获的原始音频数据,可以生成多个离散数据元素。

著录项

说明书

技术领域

本公开总体上涉及声学指纹。特别地,本公开涉及用于例如在医疗设施或其它类型的环境中生成匿名声学指纹的系统和方法。

背景技术

声学指纹是一种压缩的数字摘要,其可以从音频信号中确定性地生成。声学指纹可用于识别音频样本和/或快速定位数据库中的类似项目。声学指纹的一些常规用途包括识别歌曲、识别广告、音效库管理和视频文件识别。典型的声学指纹算法会考虑音频的感知特性。例如,通常由传统声学指纹识别技术利用的感知特性包括平均过零率、估计节奏、平均频谱、频谱平坦度、跨一组频带的突出音调和带宽。这些特性通常出现在连续频域中。

发明内容

在本公开的至少一个方面,提供了一种为环境生成匿名声学指纹的方法。所述方法包括在预定时间区间期间使用至少一个声学传感器捕获与环境相关联的原始声音数据。所述方法包括接收与预定时间区间相关联的原始声音数据。所述方法包括基于接收到的原始声音数据生成多个离散数据元素。所述方法包括将针对预定时间区间的多个离散数据元素存储在存储器中。

所述多个离散数据元素可以包括以下中的至少一项:强度值、质心值、扩展值、偏度值、峰度值、减少值或梅尔频率倒谱系数。预定时间区间可以大于5秒。原始声音数据可以包括由以下至少一种产生的声音:心脏或动静脉瘘颤动。

所述方法可以包括基于所述多个离散数据元素预测与环境相关联的一个或多个表现结果。所述方法可以包括识别所述多个离散数据元素的模式并且基于所识别的模式确定环境的至少一个特征。

在本公开的至少一个其它方面,提供了一种系统。所述系统包括:至少一个声学传感器,其被配置为捕获与环境相关联的原始声音数据;包含计算机可执行指令的计算机可读介质;和一个或多个处理器,其被配置为执行计算机可执行指令。当所述一个或多个处理器正在执行计算机可执行指令时,所述一个或多个处理器被配置为执行包括以下项目的操作:在预定时间区间期间从所述至少一个声学传感器接收与环境相关联的原始声音数据;基于接收到的原始声音数据生成多个离散数据元素;将针对预定时间区间的多个离散数据元素存储在存储器中。

所述多个离散数据元素可以包括以下中的至少一项:音量元素、质心元素、扩展元素、偏度元素、峰度元素、减少元素或梅尔频率倒谱系数。预定时间区间可以大于5秒。声学传感器可以是麦克风。原始声音数据可以包括由以下中的至少一种产生的声音:心脏或动静脉瘘颤动。

当一个或多个处理器正在执行计算机可执行指令时,所述一个或多个处理器可以被配置为执行操作以基于多个离散数据元素预测与环境相关联的一个或多个表现结果。

这些和其它方面、特征和实现可以表示为方法、设备、系统、组件、程序产品、开展业务的方法、用于执行功能的手段或步骤以及其它方式,并且将从以下描述中变得显而易见。

实施方式可以包括以下优点中的一个或多个。可以在预定时间区间(例如,10秒、1分钟等)期间捕获和处理表示环境(例如,临床环境、餐厅环境、政府环境等)中的声学噪声的声音数据,然后以环境的声学指纹的形式处理和概括。处理声音数据可以包括将声音数据转换成多个离散数据元素,这些离散数据元素使声音数据完全匿名。除其它优点外,这些技术能够将在保护个人隐私可能很重要的环境中收集的声音转换为无法转换回可识别声音的数据。数据收集可用于在不侵犯环境中人员隐私的情况下将声音和表现结果关联起来。因此,当与传统的音频指纹处理技术相比时,在捕获环境的声学指纹时,这里描述的技术尤其可以允许改进的数据安全性和隐私。

这些和其它方面、特征和实现可以表示为方法、设备、系统、组件、程序产品(例如计算机可读存储介质)、用于执行功能的手段或步骤以及其它方式。

这些和其它方面、特征以及实现将从以下描述中变得显而易见。

附图说明

图1示出了包括用于为环境生成匿名声学指纹的系统的环境。

图2示出了描绘用于为环境生成匿名声学指纹的方法的示例的流程图。

图3示出了为透析诊所检测到的声学指纹。

图4是用于提供与本公开中描述的算法、方法、功能、过程、流程和程序相关联的计算功能的示例计算机系统的框图。

具体实施方式

传统的声学指纹技术通常涉及捕获环境的音频样本并识别音频样本中的某些连续元素。然而,在捕获音频样本时,可能被认为是私人和/或敏感的某些信息可能会被记录和存储。因此,传统的声学指纹技术可能不适合隐私保护很重要的环境、例如医疗设施和政府大楼。

本公开提供了用于生成环境的匿名声学指纹的系统和方法。针对预定时间区间在环境中捕获原始声音数据。原始声音数据用于生成针对预定时间区间的多个离散数据元素。通过将原始声音数据转换为离散数据元素,可以生成环境的唯一音频签名,而无需存储任何可辨别的音频信息。

在以下描述中,为了解释的目的,阐述了许多特定细节以提供对本发明的透彻理解。然而,很明显,可以在没有这些特定细节的情况下实践本发明。在其它情况下,众所周知的结构和装置以框图形式示出以避免不必要地混淆本发明。

在附图中,为了便于描述,示出了示意性元素的特定布置或排序,例如表示装置、模块、指令块和数据元素的那些。然而,本领域技术人员应当理解,附图中示意性元素的特定排序或布置并不意味着需要特定的处理排序或顺序,或者处理的分离。此外,在附图中包括示意性元素并不意味着在所有实施例中都需要这样的元素,或者由这样的元素表示的特征可能在一些实施例中不包括在其它元素中或不与其它元素组合。

此外,在附图中,连接元素、例如实线或虚线或箭头用于说明两个或多个其它示意性元素之间或之中的连接、关系或关联,不存在任何此类连接元素并不意味着不存在任何联系、关系或关联。换言之,元素之间的一些连接、关系或关联并未在附图中示出,以免混淆本公开。此外,为了便于说明,使用单个连接元素来表示元素之间的多个连接、关系或关联。例如,在连接元素表示信号、数据或指令的通信的情况下,本领域技术人员应该理解,这种元素表示可能需要的影响通信的一个或多个信号路径(例如,总线)。

现在将详细参考实施例,实施例的示例在附图中示出。在以下详细描述中,阐述了许多特定细节以提供对各种描述的实施例的透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些特定细节的情况下实践所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以免不必要地混淆实施例的方面。

以下描述了几个特征,每个特征都可以彼此独立使用或与其它特征的任何组合一起使用。然而,任何单独的特征可能不提供以上讨论的任何优点或可能仅提供以上讨论的优点之一。尽管提供了标题,但与特定标题相关但未在具有该标题的部分中找到的数据也可以在本说明书的其它地方找到。

图1示出了包括用于为环境101生成匿名声学指纹的系统100的环境101。环境101是医学环境。环境101包括医务人员103和接受来自透析机104的治疗的患者102。系统100包括一个或多个计算机处理器110和一个或多个声学传感器120。计算机处理器110包括计算机可读介质111。计算机可读介质111包括计算机可执行指令112。

所述一个或多个声学传感器120通信地耦合到计算机处理器110。所述一个或多个声学传感器120被配置为测量环境噪声并向计算机处理器110提供音频数据。例如,所述一个或多个声学传感器传感器120可以从医务人员103和患者102之间的交互中捕获音频数据。作为另一个示例,一个或多个声学传感器120可以捕获与透析机104相关联的音频数据,例如可听警报和操作噪声。尽管示出为仅包括一个声学传感器120,但是系统100可以包括更多声学传感器120。例如,系统100可以包括两个声学传感器120、四个声学传感器120、八个声学传感器120等等。一个或多个声学传感器120是将声音转换成电信号的麦克风。每个麦克风分别可以是几种麦克风中的一种。在一些实施方式中,一个或多个声学传感器120包括动圈式(例如,动态)麦克风。在一些实施方式中,一个或多个声学传感器120包括带式麦克风。一个或多个声学传感器120还可以包括碳麦克风、压电麦克风、光纤麦克风、激光麦克风和/或微机电麦克风。在一些实施方式中,一个或多个声学传感器120中的至少一个包括前置放大器,其可以将相对较弱的电信号转换为较强的信号输出,使得输出信号具有抗噪性并且足够强以供进一步处理。一个或多个声学传感器120中的每一个可位于计算机处理器110附近或远离计算机处理器110。例如,声学传感器120可与计算机处理器110位于建筑物的同一房间中。在一些实施方式中,一个或多个声学传感器120中的至少一些位于建筑物的与计算机处理器110不同的房间中。在一些实施方式中,一个或多个声学传感器120中的至少一些位于与计算机处理器110不同的建筑物中。

计算机可读介质111(或计算机可读存储器)可以包括适合本地技术环境的任何数据存储技术类型,包括但不限于基于半导体的存储器装置、磁存储器装置和系统、光存储器装置和系统、固定存储器、可移动存储器、磁盘存储器、闪存、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、电子可擦除可编程只读存储器(EEPROM)等。在一些实施方式中,计算机可读介质111包括具有可执行指令的代码段。

计算机处理器110通信地耦合到一个或多个声学传感器120。在一些实施方式中,计算机处理器110包括通用处理器。在一些实施方式中,计算机处理器110包括中央处理单元(CPU)。在一些实施方式中,计算机处理器110包括至少一个专用集成电路(ASIC)。计算机处理器110还可以包括通用可编程微处理器、专用可编程微处理器、数字信号处理器(DSP)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、专用电子电路等,或其组合。计算机处理器110被配置为执行诸如计算机可执行指令112之类的程序代码措施。

当计算机处理器110执行计算机可执行指令112时,计算机处理器110执行一个或多个操作。在一些实施方式中,当计算机处理器110执行计算机可执行指令112时,计算机处理器110被配置为从一个或多个声学传感器120接收与一个或多个声学传感器120所处的环境相关联的原始声音数据。例如,一个或多个声学传感器120可以捕获声波,将声波转换成原始可用数据(例如,电子能量),用前置放大器放大原始可用数据,并将放大的原始可用数据发送到计算机处理器110。在一些实施方式中,计算机处理器110使一个或多个声学传感器120开始在预定时间区间内捕获原始声音数据,其中计算机处理器110使一个或多个声学传感器在预定时间区间(例如,音频样本/时间序列)结束时停止捕获原始声音数据。在一些实施方式中,预定时间区间大于5秒。在一些实施方式中,预定时间区间大于10秒。预定时间区间可以是用户选择和/或制造设计选择并且基于计算能力、效率和数据存储考虑。

当计算机处理器110执行计算机可执行指令112时,计算机处理器110被配置为基于接收到的原始声音数据生成多个离散数据元素。在一些实施方式中,多个离散数据元素包括多个梅尔频率倒谱系数。梅尔频率倒谱系数(MFCC)共同构成梅尔频率倒谱(MFC)。MFC是声音的短期能量谱的表示,基于非线性梅尔频率上的对数能量谱的线性余弦变换。MFCC源自音频样本的一种倒谱表示。MFC的频段在梅尔尺度上等距分布,与传统倒谱中使用的线性间隔频段相比,它更接近于人类听觉系统的响应。在一些实施方式中,MFCC是通过以下方式导出的:(1)计算信号的分窗帧段的傅立叶变换;(2)使用三角形(或其它形状)重叠窗口,将傅立叶变换产生的频谱能量映射到梅尔标度上;(3)计算每个梅尔频率的能量对数;(4)计算梅尔对数能量列表的离散余弦变换;(5)确定MFCC,它表示为结果频谱的幅度。在一些实施方式中,对于给定的时间区间仅确定前12到20个MFCC。在一些实施方式中,对于给定的时间区间确定13个MFCC。然而,可以根据效率考虑和可用数据确定更多或更少的MFCC。当转换为MFCC时,可能会丢失时序信息(例如,哪些频率出现在另一个之前)。

在一些实施方式中,多个离散值包括转换成声强值的原始音频样本的波长的连续差异。声强值是指单位面积上的声波在垂直于该面积的方向上所携带的能量。在一些实施方式中,多个离散值包括频谱质心值。频谱质心值表示频谱(例如,音频样本)的“质心”的位置。频谱质心值可以计算为给定信号中存在的频率的加权平均值,使用傅立叶变换确定,频率的幅度作为权重。在一些实施方式中,多个离散值包括扩展值。扩展值是指给定时间序列不同频率的分布宽度。

在一些实施方式中,多个离散数据元素包括偏度值。偏度值表示时间序列幅度的概率密度函数的对称性。例如,具有相等数量的大振幅值和小振幅值的音频样本的偏度值可为零。具有许多小幅度值和很少的大幅度值的音频样本可以具有正偏度值。具有许多大振幅值和很少小振幅值的音频样本可能具有负偏度值。在一些实施方式中,多个离散值包括峰度值。峰度值测量音频样本的概率密度函数的“峰值”。例如,接近3的峰度值可以表示类高斯的“峰值”。峰度值大于3可以表示尖峰,而峰度值小于3可以表示相对平坦的峰。在一些实施方式中,多个离散数据元素包括减少值。减少值是指给定时间序列的最高频率和最低频率之间的差异。

在一些实施方式中,多个离散数据元素包括频谱斜率值。例如,可以将线性回归应用于音频数据的傅立叶幅度谱,以产生单个数字,该数字指示通过谱数据的最佳拟合线的斜率。这个数字可以表明自然音频信号在高频下具有较少能量的趋势。在一些实施方式中,多个离散数据元素包括滚降值。滚降是指频率,原始音频数据频谱的幅度分布的大约85%集中在该频率以下。通常,滚降是频谱形状的度量,较高的滚降值往往对应于较高的频率。

由计算机处理器110生成的多个离散数据元素可以包括上述离散数据元素中的一个或多个。在一些实施方式中,计算机处理器110为给定的音频样本生成上述离散数据元素中的至少两个(例如,MFCC和质心)。然而,计算机处理器110可以生成更多离散数据元素。生成的离散数据元素的数量可以是用户选择或制造商的设计选择,并基于计算考虑和实际需要。

当计算机处理器110执行计算机可执行指令112时,计算机处理器110被配置为将针对预定时间区间所生成的多个离散数据元素存储在存储器(例如,计算机可读介质111)中。

将捕获的原始音频数据转换为离散数据元素可以创建环境的独特音频签名,而无需收集任何可辨别的声音。虽然如图1所示系统100被部署在医疗环境101中,但是系统100可以被部署在各种环境中。例如,系统100可用于政府设施(例如,机动车辆部门)和餐厅(例如,快餐店、坐式餐厅、夜总会等)以在工作时间捕获这些机构的声学指纹。这些声学指纹可用于将声音与表现结果相关联,而不会侵犯环境中人员的隐私。

在一些实施方式中,计算机处理器110被训练以识别多个离散数据元素的模式并且基于所识别的模式确定环境的至少一个特征。例如,使用一种或多种机器学习技术(例如,贝叶斯学习、深度学习等),计算机处理器110可以基于环境的声学指纹(例如,通过识别由声学指纹的多个离散元素呈现的模式)来预测环境是“好环境”还是“坏环境”。“好环境”可以是员工高效运作、客户/患者受到殷勤对待、经理殷勤对待员工、客户/患者安全问题风险低等的环境。“坏环境”可以是员工没有高效运作、客户/患者没有受到殷勤对待、经理没有殷勤对待员工等的环境。可以训练计算机处理器110将离散数据元素的某些模式(例如某些MFCC和强度值)与“好环境”和/或“坏环境”相关联并相应地对环境进行分类。基于这些分类和声学指纹,计算机处理器110还可以确定“坏环境”需要多少帮助、高级教育和/或培训才能成为“好环境”。此外,在一些实施方式中,计算机处理器110被配置为预测与环境相关联的一个或多个表现结果。例如,“好环境”客观上可以带来更高的客户满意度、更高的利润、更低的员工流失率等。另一方面,与“好环境”相比,“坏环境”客观上会导致更低的客户满意度、更低的利润和更高的员工流失率。因此,基于环境的声学指纹,当计算机处理器110被训练以将结果与上述离散数据元素相关联时,可以预测环境的表现结果,例如员工流失率、客户/患者满意度和/或利润金额。

在一些实施方式中,计算机处理器110能够基于声学指纹预测与环境护理质量相关的一个或多个患者结果。例如,计算机处理器110可以预测患者对诊所服务的总体满意度和/或患者返回诊所进行类似治疗的可能性。在一些实施方式中,计算机处理器110能够基于声学指纹预测环境可能收到的监管通知的数量和/或类型。例如,计算机处理器110可以基于声学指纹预测餐厅将收到食品安全通知或诊所将收到安全通知。

虽然系统100被描述为用于基于多个离散数据元素的所识别的模式来确定环境101的特征和/或患者结果,但是系统100可以用于其它场景。例如,系统100可用于将与各种心音和/或动静脉(AV)瘘产生的颤动/杂音(例如,由血流通过AV瘘引起的隆隆声)相关联的声音数据转换为离散数据元素。此外,基于识别离散数据元素中的某些模式,系统100可以学习确定这些模式是否指示心脏异常。

虽然系统100被描述为用于将连续音频数据转换为离散数据值,但在一些实施方式中,系统100用于转换其它类型的数据。例如,系统100可以包括用于在例如患者的身体评估期间捕获图像数据的图像捕获装置(例如相机)。系统100然后可以将该图像数据转换为离散数据值并基于离散数据值确定某些医疗状况(例如,骨折、关节脱位等)。系统100可以包括压力传感器,其可以例如放置在患者的身体上以捕获压力信息。该压力信息可以被转换为离散数据值以确定患者的某些医疗状况,例如患者是否有外周水肿或在使用动静脉瘘时是否有适当的通路颤动。在一些实施方式中,系统100可用于将几种类型的数据(例如,压力、视觉、音频)转换为离散数据值。因此,系统100可用于将诸如听觉、视觉和压力(触摸)之类的人类感知转换为离散数据值,用于机器学习的应用,以促进向患者提供个性化护理(例如,通过获得透析患者的独特签名)。

图2示出了描绘用于为环境生成匿名声学指纹的方法200的示例的流程图。出于说明的目的,方法200被描述为由系统100执行以生成环境的匿名声学指纹并且先前参考图1进行了描述。方法200包括在预定时间区间期间捕获与环境相关联的原始声音数据(框210)、接收与预定时间区间相关联的原始声音数据(框220)、生成多个离散数据元素(框230),和存储针对预定时间区间的多个离散数据元素(框240)。在一些实施方式中,方法200包括预测一个或多个表现结果(框250)。在一些实施方式中,方法200包括识别多个离散数据元素的模式并确定环境的至少一个特征(框260)。

在框210处,计算机处理器110使一个或多个声学传感器120开始针对预定时间区间捕获原始声音数据。计算机处理器110使一个或多个声学传感器在预定时间区间(例如,音频样本/时间序列)结束时停止捕获原始声音数据。在一些实施方式中,预定时间区间大于5秒。在一些实施方式中,预定时间区间大于10秒。预定时间区间可以是用户选择和/或制造设计选择并且基于计算能力、效率和数据存储考虑。

在框220处,计算机处理器110从一个或多个声学传感器120接收针对预定时间区间与环境相关联的原始声音数据。例如,一个或多个声学传感器120可以捕获声波,将声波转换成原始可用数据(例如,电子能量),用前置放大器放大原始可用数据,并将放大的原始可用数据发送到计算机处理器110。

在框230处,计算机处理器110基于接收到的原始声音数据生成多个离散数据元素。在一些实施方式中,多个离散数据元素包括一个或多个强度值、一个或多个质心值、一个或多个扩展值、一个或多个偏度值、一个或多个峰度值、一个或多个减少值和/或一个或多个梅尔频率倒谱系数。

在框240处,计算机处理器将针对预定时间区间生成的多个离散数据元素存储在存储器中。在一些实施方式中,离散数据元素存储在计算机可读介质111中。

在框250处,计算机处理器110预测与环境相关联的一个或多个表现结果。例如,基于生成的离散数据元素,计算机处理器110可以预测环境的表现结果,例如员工流失率、客户/患者满意度和/或利润金额。

在框260处,计算机处理器110使用一种或多种机器学习技术(例如,贝叶斯学习、深度学习等),基于环境的声学指纹(例如,通过识别由声学指纹的多个离散元素呈现的模式)预测环境是“好环境”还是“坏环境”。可以训练计算机处理器110将离散数据元素的某些模式(例如某些MFCC和强度值)与“好环境”和/或“坏环境”相关联并相应地对环境进行分类。

在前面的描述中,本发明的实施例已经参考许多特定细节进行了描述,这些特定细节可能因实施方式而异。因此,描述和附图被认为是说明性的而不是限制性的。本发明范围的唯一和排他性指示,以及申请人旨在成为本发明范围的内容,是本申请所发布的权利要求集的字面和等效范围,其形式是此类权利要求发布的特定形式,包括任何后续更正。此处对包含在此类权利要求中的术语的任何明确阐述的定义将支配在权利要求中使用的此类术语的含义。此外,当我们在前面的描述或后面的权利要求中使用术语“还包括”时,该短语后面的内容可以是附加步骤或实体,或先前引用的步骤或实体的子步骤/子实体。

实验结果

在一个示例实验中,用于生成匿名声学指纹的系统被放置在透析诊所内。声学传感器24小时安装在诊所。该系统每10分钟收集一次反映诊所声学指纹的数字数据,区间为10秒。系统生成了21个离散数据值,包括音量值、质心值、斜率值、扩展值、偏度值、峰度值、减少值、滚降值和13个梅尔频率倒谱系数。

图3示出了为诊所检测到的声学指纹300的示例。使用诊所的声学指纹300和机器学习算法(例如XGBoost),这是一种数据分析技术,可以预测患者何时会离开他们的透析椅。有几个因素被确定在进行这些预测时很重要,例如频率的质心函数和梅尔频率倒谱系数0、1、4、7和8的变化。因此,这些离散数据值被证明是可用于预测与环境相关的某些结果,例如患者何时会离开透析诊所中他们的透析椅。

示例计算机系统

图4是根据本公开的一些实施方式,用于提供与本公开中描述的所述算法、方法、功能、过程、流程和程序(例如之前参考图2描述的方法200)相关联的计算功能的示例计算机系统500的框图。图示的计算机502旨在包含任何计算装置,例如服务器、台式计算机、膝上型/笔记本计算机、无线数据端口、智能电话、个人数据助理(PDA)、平板计算装置或这些装置中的一个或多个处理器,包括物理实体、虚拟实体或两者。计算机502可以包括可以接受用户信息的输入装置,例如小键盘、键盘和触摸屏。此外,计算机502可以包括可以传达与计算机502的操作相关联的信息的输出装置。信息可以包括数字数据、视觉数据、音频信息或信息的组合。信息可以在图形用户界面(UI)(或GUI)中呈现。

计算机502可以充当用于执行本公开中描述的主题的计算机系统的客户端、网络组件、服务器、数据库、持久性或组件。所示出的计算机502与网络530可通信地耦合。在一些实施方式中,计算机502的一个或多个组件可以被配置为在不同的环境中操作,包括基于云计算的环境、本地环境、全球环境以及环境的组合。

在高级别上,计算机502是可操作以接收、传输、处理、存储和管理与所描述的主题相关联的数据和信息的电子计算装置。根据一些实施方式,计算机502还可以包括应用服务器、电子邮件服务器、网络服务器、缓存服务器、流数据服务器或服务器的组合,或者与之可通信地耦合。

计算机502可以通过网络530从客户端应用程序(例如,在另一台计算机502上执行)接收请求。计算机502可以通过使用软件应用程序处理接收到的请求来响应接收到的请求。还可以从内部用户(例如,从命令控制台)、外部(或第三方)团体、自动化应用程序、实体、个人、系统和计算机向计算机502发送请求。

计算机502的每个组件可以使用系统总线503进行通信。在一些实施方式中,计算机502的任何或所有组件,包括硬件或软件组件,可以通过系统总线503相互连接或与接口504连接(或两者的组合)。接口可以使用应用程序接口(API)512、服务层513或API 512和服务层513的组合。API 512可以包括例程的规范、数据结构和对象类。API 512可以独立于计算机语言或依赖于计算机语言。API 512可以指完整的接口、单个功能或一组API。

服务层513可以向计算机502和可通信地耦合到计算机502的其它组件(无论是否示出)提供软件服务。使用该服务层的所有服务消费者都可以访问计算机502的功能。软件服务、例如由服务层513提供的那些,可以通过定义的接口提供可重用的、定义的功能。例如,接口可以是用JAVA、C++或以可扩展标记语言(XML)格式提供数据的语言编写的软件。尽管被示为计算机502的集成组件,但在替代实施方式中,API 512或服务层513可以是与计算机502的其它组件和可通信地耦合到计算机502的其它组件相关的独立组件。此外,在不脱离本公开的范围的情况下,API 512或服务层513的任何或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或次模块。

计算机502包括接口504。虽然在图4中被示为单个接口504,但可以根据计算机502和所描述的功能的特定需要、期望或特定实现来使用两个或更多个接口504。计算机502可以使用接口504与分布式环境中连接到网络530的其它系统(无论是否示出)进行通信。通常,接口504可以包括或使用可操作以与网络530通信的软件或硬件(或软件和硬件的组合)中编码的逻辑来实现。更特别地,接口504可以包括支持一种或多种与通信相关联的通信协议的软件。因此,网络530或接口的硬件可操作用于在所示计算机502之内和之外传送物理信号。

计算机502包括处理器505。虽然在图4中被图示为单个处理器505,但可以根据计算机502和所描述的功能的特定需要、期望或特定实现来使用两个或更多个处理器505。通常,处理器505可以执行指令并且可以操纵数据以执行计算机502的操作,包括使用如本公开中描述的算法、方法、功能、过程、流程和程序的操作。

计算机502还包括数据库506,该数据库可以保存用于计算机502和连接到网络530的其它组件(无论是否示出)的数据。例如,数据库506可以是存储器中的、常规的或存储与本公开一致的数据的数据库。在一些实施方式中,根据计算机502和所描述的功能的特定需要、期望或特定实现,数据库506可以是两种或更多种不同数据库类型(例如,混合存储器和常规数据库)的组合。尽管在图4中被示为单个数据库506,但可以根据计算机502和所描述的功能的特定需要、期望或特定实现来使用两个或更多个数据库(相同的、不同的或多种类型组合)。虽然数据库506被示为计算机502的内部组件,但在替代实施方式中,数据库506可以在计算机502的外部。

计算机502还包括存储器507,其可以为计算机502或连接到网络530的组件的组合(无论是否示出)保存数据。存储器507可以存储与本公开一致的任何数据。在一些实施方式中,根据计算机502和所描述的功能的特定需要、期望或特定实现,存储器507可以是两种或更多种不同类型的存储器的组合(例如,半导体和磁存储器的组合)。尽管在图4中被示为单个存储器507,但可以根据计算机502和所描述的功能的特定需要、期望或特定实现来使用两个或更多个存储器507(相同的、不同的或多种类型的组合)。虽然存储器507被示为计算机502的内部组件,但在替代实施方式中,存储器507可以在计算机502的外部。

应用程序508可以是根据计算机502和所描述的功能的特定需要、期望或特定实现提供功能的算法软件引擎。例如,应用程序508可以用作一个或多个组件、模块或应用程序。此外,虽然被示为单个应用程序508,但应用程序508可以在计算机502上实现为多个应用程序508。此外,尽管被示为在计算机502内部,但在替代实施方式中,应用程序508可以在计算机502外部。

计算机502还可以包括电源514。电源514可以包括可充电或不可充电的电池,该电池可被配置为用户可更换的或非用户可更换的。在一些实施方式中,电源514可以包括功率转换和管理电路,包括再充电、待机和功率管理功能。在一些实施方式中,电源514可包括电源插头以允许计算机502插入壁式插座或电源以例如为计算机502供电或对可充电电池充电。

可以有任何数量的计算机502与包含计算机502的计算机系统相关联或在其外部,其中每个计算机502通过网络530进行通信。此外,术语“客户端”、“用户”和其它适当的术语在不脱离本公开的范围的情况下,可以适当地互换使用。此外,本公开设想许多用户可以使用一台计算机502并且一个用户可以使用多台计算机502。

本说明书中描述的主题和功能操作的实现可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中、包括本说明书中公开的结构及其结构等效物中或在其中一种或多种的组合中实现。所描述的主题的软件实现可以被实现为一个或多个计算机程序。每个计算机程序可以包括编码在有形、非暂时性、计算机可读计算机存储介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号中/上。例如,该信号可以是机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器设备以供数据处理设备执行。计算机存储介质可以是机器可读存储装置、机器可读存储基板、随机或串行存取存储器装置、或计算机存储介质的组合。

术语“计算机处理器”、“数据处理设备”、“计算机”和“电子计算机装置”(或本领域技术人员所理解的等同物)是指数据处理硬件。例如,数据处理设备可以包括用于处理数据的所有种类的设备、装置和机器,例如包括可编程处理器、计算机、或多个处理器或计算机。该设备还可以包括专用逻辑电路,包括例如中央处理单元(CPU)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。在一些实施方式中,数据处理设备或专用逻辑电路(或数据处理设备或专用逻辑电路的组合)可以是基于硬件或软件的(或基于硬件和软件的组合的)。该设备可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或执行环境的组合的代码。本公开设想使用具有或不具有传统操作系统、例如LINUX、UNIX、WINDOWS、MACOS、ANDROID或IOS的数据处理设备。

计算机程序,也可以被称为或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写。编程语言可以包括例如编译语言、解释语言、声明性语言或过程语言。程序可以以任何形式部署,包括作为在计算环境中使用的独立程序、模块、组件、子例程或单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在包含其它程序或数据的文件的一部分中,例如,一个或多个脚本存储在标记语言文档中、存储在专用于相关程序的单个文件或存储代码的一个或多个模块、子程序或部分的多个协调文件中。可以部署计算机程序以在一台计算机或位于例如一个站点或分布在通过通信网络互连的多个站点的多台计算机上执行。虽然各个图中所示的程序的一部分可以显示为通过各种对象、方法或过程实现各种特征和功能的单独模块,但程序可以替代地包括多个子模块、第三方服务、组件,和库。相反,可以适当地将各种组件的特征和功能组合成单个组件。用于进行计算确定的阈值可以静态地、动态地或静态且动态地确定。

本说明书中描述的方法、过程或逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并产生输出来执行功能。方法、过程或逻辑流程也可以由专用逻辑电路执行,并且设备也可以实现为专用逻辑电路,例如CPU、FPGA或ASIC。

适合执行计算机程序的计算机可以基于一种或多种通用和专用微处理器以及其它种类的CPU。计算机的元件是用于执行或履行指令的CPU和用于存储指令和数据的一个或多个存储器装置。通常,CPU可以从存储器接收指令和数据(并向存储器写入数据)。计算机还可以包括或可操作地耦合到一个或多个用于存储数据的大容量存储装置。在一些实施方式中,计算机可以从包括例如磁、磁光盘或光盘的大容量存储装置接收数据并将数据传输到大容量存储装置。此外,计算机可以嵌入在另一个装置中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或如通用串行总线(USB)闪存驱动器等的便携式存储装置中。

适用于存储计算机程序指令和数据的计算机可读介质(暂时或非暂时性,视情况而定)可以包括所有形式的永久/非永久和易失性/非易失性存储器、介质和存储器装置。计算机可读介质可以包括例如半导体存储器装置,例如随机存取存储器(RAM)、只读存储器(ROM)、相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)和闪存装置。计算机可读介质还可以包括例如磁性装置,如磁带、盒式磁带、卡式磁带和内部/可移动磁盘。计算机可读介质还可以包括磁光盘和光存储器装置及技术,包括例如数字视频盘(DVD)、CD ROM、DVD+/-R、DVD-RAM、DVD-ROM、HD-DVD和BLURAY。存储器可以存储各种对象或数据,包括缓存、类、框架、应用程序、模块、备份数据、作业、网页、网页模板、数据结构、数据库表、存储库和动态信息。存储在存储器中的对象和数据的类型可以包括参数、变量、算法、指令、规则、约束和引用。此外,存储器可以包括日志、策略、安全或访问数据以及报告文件。处理器和存储器可由专用逻辑电路补充或集成到专用逻辑电路中。

本公开中描述的主题的实现可以在具有显示装置的计算机上实现,用于提供与用户的交互,包括向用户显示信息(和从用户接收输入)。显示装置的类型可以包括例如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)和等离子监视器。显示装置可以包括键盘和定点装置,包括例如鼠标、轨迹球或触控板。还可以通过使用触摸屏向计算机提供用户输入,例如具有压力敏感度的平板计算机表面或使用电容或电感应的多点触摸屏。其它种类的装置可用于提供与用户的交互,包括接收用户反馈,包括例如感官反馈,包括视觉反馈、听觉反馈或触觉反馈。可以以声音、语音或触觉输入的形式接收来自用户的输入。此外,计算机可以通过向用户使用的装置发送文档和从用户使用的装置接收文档来与用户交互。例如,计算机可以响应从网络浏览器接收到的请求,将网页发送到用户客户端装置上的网络浏览器。

术语“图形用户界面”或“GUI”可以以单数或复数形式使用,以描述一个或多个图形用户界面以及特定图形用户界面的每个显示器。因此,GUI可以代表任何图形用户界面,包括但不限于处理信息并将信息结果高效呈现给用户的网络浏览器、触摸屏或命令行界面(CLI)。通常,GUI可以包括多个用户界面(UI)元素,其中一些或全部与网络浏览器相关联,例如交互字段、下拉列表和按钮。这些和其它UI元素可以与Web浏览器的功能相关或代表Web浏览器的功能。

本说明书中描述的主题的实现可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)的计算系统中实现。此外,计算系统可包括前端组件,例如,具有图形用户界面或Web浏览器中的一者或两者的客户端计算机,用户可通过该前端组件与计算机交互。系统的组件可以通过通信网络中的任何形式或介质的有线或无线数字数据通信(或数据通信的组合)互连。通信网络的示例包括局域网(LAN)、无线电接入网(RAN)、城域网(MAN)、广域网(WAN)、全球微波接入互通(WIMAX)、无线局域网网络(WLAN)(例如,使用802.11a/b/g/n或802.20或多种协议的组合)、互联网的全部或部分、或位于一个或多个位置的任何其它通信系统(或通信网络的组合)。网络可以与例如互联网协议(IP)数据包、帧中继帧、异步传输模式(ATM)信元、语音、视频、数据或网络地址之间的通信类型的组合进行通信。

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

集群文件系统可以是可从多个服务器访问以进行读取和更新的任何文件系统类型。锁定或一致性跟踪可能不是必需的,因为交换文件系统的锁定可以在应用层完成。此外,Unicode数据文件可以不同于非Unicode数据文件。

虽然本说明书包含许多特定的实现细节,但这些细节不应被解释为对可能要求保护的范围的限制,而是对可能特定于特定实现的特征的描述。本说明书中在单独实现的上下文中描述的某些特征也可以在单个实现中组合实现。相反,在单个实现的上下文中描述的各种特征也可以在多个实现中、单独地或以任何合适的子组合实现。此外,尽管先前描述的特征可能被描述为在某些组合中起作用,甚至最初要求保护的也是如此,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除并且要求保护的组合可以指向子组合或子组合的变体。

已经描述了主题的特定实现。对本领域技术人员而言显而易见的是,其它实现、所描述的实现的变更和置换在所附权利要求的范围内。虽然在附图或权利要求中以特定排序描述了操作,但这不应理解为要求以所示的特定排序或按顺序执行这些操作,或者执行所有图示的操作(某些操作可能被认为是可选的),以达到理想的效果。在某些情况下,多任务或并行处理(或多任务和并行处理的组合)可能是有利的,并在被认为适当时执行。

此外,上述实施方式中各种系统模块和组件的分离或集成不应理解为在所有实施方式中都需要这种分离或集成,应当理解的是,所描述的程序组件和系统一般可以集成一起放在一个软件产品中或打包成多个软件产品。

因此,先前描述的示例实施方式不限定或限制本公开。在不脱离本公开的精神和范围的情况下,其它改变、替换和变更也是可能的。

此外,任何要求保护的实现都被认为至少适用于计算机实现的方法;一种存储计算机可读指令以执行计算机实现的方法的非暂时性计算机可读介质;以及一种计算机系统,包括与硬件处理器可互操作地耦合的计算机存储器,所述硬件处理器被配置为执行所述计算机实现的方法或存储在所述非暂时性计算机可读介质上的指令。

已经描述了这些系统和方法的多个实施例。然而,应当理解,在不脱离本公开的精神和范围的情况下可以进行各种修改。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号