用于多个访问方法的无锁存、日志结构化的存储的制作方法_6

文档序号:9650615阅读:来源:国知局
例特征,并且不旨在被解释为限制到仅为那些详细的描述。
[0211]图12a_12d是示出根据一示例实施例的图11的系统的示例操作的流程图。在图12a的示例中,包括对页数据存储的无锁存访问的对页数据存储的接口访问可被提供给任意选择的面向页的访问方法(1202)。例如,如上所述,数据不透明接口 1108可向任意选择的面向页的访问方法1110提供对页数据存储1112的接口访问,所述接口访问包括对所述页数据存储1112的无锁存访问。
[0212]例如,对页数据存储的接口访问可包括对稳定页数据存储的日志结构化访问(1204)。例如,如上所述,数据不透明接口 1108可向任意选择的面向页的访问方法1110提供对页数据存储1112的接口访问,所述接口访问包括对所述页数据存储1112的日志结构化访问。
[0213]例如,表操作可在与数据不透明接口相关联的间接地址映射表上发起,所述表操作包括在所述间接地址映射表中的各条目上发起原子比较并交换操作,以用与所述页数据存储相关联的页的新状态来替换所述页的先前状态(1206)。例如,如上所述,映射表管理器1140可在与所述数据不透明接口 1108相关联的间接地址映射表1142上发起表操作,所述表操作包括在所述间接地址映射表1142中的各条目上发起原子比较并交换(CAS)操作,以用与所述页数据存储1112相关联的页的新状态来替换所述页的先前状态。
[0214]例如,如图12b所示,间接地址映射表可被共同用于包括高速缓存层存储和辅助存储的数据存储的管理(1208)。例如,如上所述,映射表管理器1140可在与数据不透明接口 1108相关联的间接地址映射表1142上发起表操作,其中间接地址映射表1142被共同用于对包括高速缓存层存储1144和辅助存储1146的数据存储的管理。
[0215]例如,页的逻辑位置可与页的对应物理位置分开,其中页数据存储的用户根据页的物理位置地址值来将页标识符值存储在引用页数据存储的数据结构中的其他位置(1210)。例如,如上所述,间接地址映射表1142将页的逻辑位置与页的对应物理位置分开,其中页数据存储的用户根据页的物理位置地址值来将页标识符值存储在引用页数据存储的数据结构中的其他位置。
[0216]例如,可使用间接地址映射表中的条目上的无锁存比较并交换操作来控制数据更新和管理更新,以实现间接地址映射表上的原子状态改变(1212)。例如,如上所述,更新管理器1148可使用间接地址映射表1142中的条目上的无锁存比较并交换操作来控制数据更新和管理更新,以实现间接地址映射表1142上的原子状态改变。
[0217]例如,与得自页转储清除的日志结构化相关联的页位置变化可使用间接地址映射表中的条目上的无锁存比较并交换操作来控制(1214)。例如,如上所述,日志结构化存储层管理器1150可使用所述间接地址映射表1142中的条目上的无锁存比较并交换操作来控制与得自页转储清除的日志结构化相关联的页位置变化。
[0218]例如,在图12c的示例中,在第一处理器操作访问页信息之前,可发起第一处理器操作加入与第一时期相关联的第一时期登记列表(1216)。
[0219]例如,可基于将转储清除增量记录的指针安置到映射表中经由比较并交换(CAS)操作来将页状态转储清除到辅助存储,所述转储清除增量记录被前缀到经由所述CAS操作在所述映射表中被替换的现有页状态(1218)。
[0220]例如,对日志结构化辅助存储缓冲区的更新可经由无锁存更新操作来被控制(1220)。
[0221]例如,在图12d的示例中,基于以下操作来发起高速缓存层存储中的第一页到辅助存储中的位置的转储清除操作:发起所述第一页的页状态到辅助存储缓冲区的复制,发起转储清除增量记录到所述页状态的前缀,所述转储清除增量记录包括指示所述第一页在辅助存储中的存储位置的辅助存储地址以及与调用者相关联的注释,以及基于将所述转储清除增量记录的地址安置在映射表中经由比较并交换(CAS)操作来发起对所述页状态的更新(1222)。
[0222]例如,可基于发起部分交换增量记录到与第一页相关联的页状态的前缀,来发起高速缓存层存储中的所述第一页的一部分到辅助存储中的位置的交换操作,部分交换增量记录包括指示转储清除增量记录的存储位置的主存储器地址,转储清除增量记录指示所述第一页的丢失部分在辅助存储中的位置(1224)。
[0223]数据处理领域的技术人员将理解,可使用许多不同的技术来用于无锁存、日志结构化存储系统,而不背离本文讨论的精神。
[0224]多年来,在数据处理环境中一直考虑顾客隐私和机密。因此,用于无锁存、日志结构化存储系统的示例技术可使用用户输入和/或用户提供的数据,用户经由一个或多个订阅协议(例如,“服务条款”(T0S)协议)向相关联的应用或与这样的分析相关联的服务提供了许可。例如,用户可提供同意使其输入/数据在设备上传送和存储,尽管明确指出(例如,经由用户接受的协议)每一方可控制传送和/或存储如何进行,以及如果有则可维持什么级别的存储或存储的持续时间。
[0225]在此描述的各种技术的各实现可以实现为数字电子电路,或计算机硬件、固件、软件或它们的组合(例如,被配置成执行指令以执行各种功能的装置)。
[0226]实现可被实现为包含在诸如纯传播信号等纯信号中的计算机程序。此类实现在此可被称为经由“计算机可读传输介质”来实现。
[0227]或者,各实现可被实现为被包含在机器可用或机器可读存储设备(例如诸如通用串行总线(USB)存储设备等磁性或数字介质、磁带、硬盘驱动、紧致盘、数字视频盘(DVD)等等)中或在被传播的信号中)中的计算机程序,用于由数据处理设备(例如,可编程的处理器、计算机或多个计算机)的操作执行或控制数据处理设备的操作。此类实现在此可被称为经由“计算机可读存储介质”或“计算机可读存储设备”实现并由此不同于作为诸如纯传播信号等纯信号的实现。
[0228]诸如以上描述的计算机程序等的计算机程序能以任何形式的编程语言(包括编译、解释或机器语言)撰写,并能以任何形式部署,包括作为独立程序或作为模块、组件、子例程、或其他适于在计算环境中使用的单元。计算机程序可被有形地体现为机器可使用或机器可读存储设备(例如,计算机可读介质)上的可执行代码(例如,可执行指令)。可实现以上讨论的技术的计算机程序可被部署以在一个站点处的一个计算机或多个计算机上执行或跨多个站点分布并通过通信网络相互连接。
[0229]各方法步骤可由一个或多个可编程处理器来执行,该一个或多个可编程处理器执行计算机程序以便通过对输入数据进行操作并生成输出来执行功能。一个或多个可编程处理器可并行地执行指令,和/或可被以分布式配置来安排以进行分布式处理。本文讨论的示例功能还可由一个或多个硬件逻辑组件执行,且装置可至少部分被实现为一个或多个硬件逻辑组件。例如,不作为限制,可使用的硬件逻辑组件的说明性类型可包括:现场可编程门阵列(FPGA)、程序专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上系统(S0C)系统以及复杂可编程逻辑器件(CPLD)等。
[0230]适于执行计算机程序的处理器可包括,作为示例,通用和专用微处理器以及任何类型的数字计算机的任意一个或多个处理器。一般地,处理器接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的元件可包括用于执行指令的至少一个处理器以及用于存储指令和数据的一个或多个存储器设备。一般地,计算机还可包括或可被操作地耦合以接收来自一个或多个大容量存储设备(例如,磁性、磁光盘、或光盘)的数据或将数据发送到大容量存储设备以供存储数据或两者。适于实现计算机程序指令和数据的信息载体包括所有形式的非易失存储器,包括,作为示例,半导体存储设备,例如EPROM、EEPR0M和闪存设备;磁盘,例如内置硬盘或可移动盘;磁光盘;以及⑶ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或被合并到专用逻辑电路中。
[0231]为了提供与用户的交互,各实现可在具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)、液晶显示器(LCD)、或等离子监视器)以及用户能借此向计算机提供输入的键盘和定点设备(例如,鼠标或追踪球)的计算机上实现。其他种类的设备也能被用以提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈。例如,可经由任何形式的感官输出来提供输出,这些感官输出包括(但不限于)视觉输出(例如,视觉手势、视频输出)、音频输出(例如,语音、设备声音)、触觉输出(例如,触摸、设备移动)、温度、气味等。
[0232]此外,来自用户的输入可按照任何形式来接收,包括声音、语音或触觉输入。例如,可经由任何形式的感官输入来从用户接收输入,这些感官输入包括(但不限于)视觉输入(例如,手势、视频输入)、音频输入(例如,语音、设备声音)、触觉输入(例如,触摸、设备移动)、温度、气味等。
[0233]此外,自然用户界面(NUI)可被用于与用户接口。在这一上下文中,“NUI”可指的是使得用户能够以“自然”方式与设备交互而无需受诸如鼠标、键盘、遥控等输入设备强加的人为约束的任何接口技术。
[0234]NUI技术的示例可包括依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的姿势识别、空中姿势、头部和眼睛跟踪、话音和语音、视觉、触摸、姿势、以及机器智能的那些技术。示例NUI技术包括但不限于:触敏显示、话音和语音识别、意图和目的理解、使用深度相机(如立体相机系统、红外相机系统、RGB(红、绿、蓝)相机系统及其组合)的运动姿势检测、使用加速度计/陀螺仪的运动姿势检测、面部识别、3D显示、头部、眼睛和注视跟踪、浸入式增强现实和虚拟现实系统,所有这些都提供更自然的接口,以及用于使用电场传感电极(如脑电图仪(EEG)和相关技术)的传感大脑活动的技术。
[0235]实现可在包括后端组件(例如,作为数据服务器)的计算系统中实现、或可在包括中间软件层组件(例如,应用服务器)的计算系统中实现、或可在包括前端组件(例如,具有用户借此能与实现交互的图形用户界面或web浏览器的客户端计算机)的计算系统中实现、或可在包括这样的后端、中间软件层或前端组件的任意组合的计算系统中实现。各组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
[0236]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。虽然所描述的各实现的特定特征已经被如此处所描述地解说,但是许多改良、替代、改变与等同物现将由本领域技术人员进行。因此,应当理解,所附权利要求旨在覆盖落入各实施例的范围之内的所有这些改良和改变。
【主权项】
1.一种系统,包括: 包括至少一个处理器的设备,所述设备包括数据管理器,所述数据管理器包括被有形地体现在计算机可读存储介质上以供所述至少一个处理器执行的指令,所述数据管理器包括: 配置成向任意选择的面向页的访问方法提供对页数据存储的接口访问的数据不透明接口,所述对页数据存储的接口访问包括对所述页数据存储的无锁存访问。2.如权利要求1所述的系统,其特征在于: 所述数据不透明接口被配置成向所述任意选择的面向页的访问方法提供对页数据存储的接口访问,所述对页数据存储的接口访问包括对所述页数据存储的日志结构化访问。3.如权利要求1所述的系统,其特征在于,进一步包括: 高速缓存层管理器,所述高速缓存层管理器包括: 配置成在与所述数据不透明接口相关联的间接地址映射表上发起表操作的映射表管理器,所述表操作包括在所述间接地址映射表中的各条目上发起原子比较并交换操作,以用与所述页数据存储相关联的页的新状态来替换所述页的先前状态。4.如权利要求3所述的系统,其特征在于: 所述映射表管理器被配置成在与所述数据不透明接口相关联的所述间接地址映射表上发起表操作,其中所述间接地址映射表被共同用于对包括高速缓存层存储和辅助存储的数据存储的管理。5.如权利要求3所述的系统,其特征在于: 所述间接地址映射表将页的逻辑位置与所述页的对应物理位置分开,其中: 所述页数据存储的用户根据所述页的物理位置地址值来将页标识符值存储在引用所述页数据存储的数据结构中的其他位置。6.如权利要求3所述的系统,其特征在于,进一步包括: 日志结构化存储层管理器,被配置成使用针对所述间接地址映射表中的条目的无锁存比较并交换操作来控制与得自页转储清除的日志结构化相关联的页位置变化。7.如权利要求1所述的系统,其特征在于,进一步包括: 配置成基于将转储清除增量记录的指针安置到映射表中经由比较并交换(CAS)操作来将页状态转储清除到辅助存储的页管理器,所述转储清除增量记录被前缀到经由所述CAS操作在所述映射表中被替换的现有页状态。8.如权利要求7所述的系统,其特征在于: 所述页管理器被配置成: 确定所述CAS操作是否成功,并在确定所述CAS操作成功的情况下发起写操作以将所述现有页状态写入辅助存储转储清除缓冲区。9.一种系统,包括: 包括至少一个处理器的设备,所述设备包括数据管理器,所述数据管理器包括被有形地体现在计算机可读存储介质上以供所述至少一个处理器执行的指令,所述数据管理器包括: 配置成基于以下操作来发起高速缓存层存储中的第一页到辅助存储中的位置的转储清除操作的页管理器: 发起所述第一页的页状态到辅助存储缓冲区的复制, 发起转储清除增量记录到所述页状态的前缀,所述转储清除增量记录包括指示所述第一页在辅助存储中的存储位置的辅助存储地址以及与调用者相关联的注释,以及 基于将所述转储清除增量记录的地址安置在映射表中经由比较并交换(CAS)操作来发起对所述页状态的更新。10.一种系统,包括: 包括至少一个处理器的设备,所述设备包括数据管理器,所述数据管理器包括被有形地体现在计算机可读存储介质上以供所述至少一个处理器执行的指令,所述数据管理器包括: 页管理器,所述页管理器被配置成基于发起部分交换增量记录到与第一页相关联的页状态的前缀,来发起高速缓存层存储中的所述第一页的一部分到辅助存储中的位置的交换操作,所述部分交换增量记录包括指示转储清除增量记录的存储位置的主存储器地址,所述转储清除增量记录指示所述第一页的丢失部分在辅助存储中的位置。
【专利摘要】数据管理器可包括配置成向任意选择的面向页的访问方法提供对页数据存储的接口访问的数据不透明接口,该接口访问包括对页数据存储的无锁存访问。在另一方面,可基于发起部分交换增量记录到与第一页相关联的页状态的前缀,来发起高速缓存层存储中的所述第一页的一部分到辅助存储中的位置的交换操作,部分交换增量记录包括指示转储清除增量记录的存储位置的主存储器地址,转储清除增量记录指示所述第一页的丢失部分在辅助存储中的位置。在另一方面,页管理器可基于对转储清除增量记录的原子操作来发起高速缓存层存储中的第一页到辅助存储中的位置的转储清除操作。
【IPC分类】G06F17/30
【公开号】CN105408895
【申请号】CN201480035652
【发明人】D·B·洛美特, J·莱万多斯基, S·森古普塔
【申请人】微软技术许可有限责任公司
【公开日】2016年3月16日
【申请日】2014年6月20日
【公告号】CA2913589A1, EP3011480A1, US20140379991, WO2014205298A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1