一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

可链记录的高效存取的制作方法

2021-11-26 20:49:00 来源:中国专利 TAG:

可链记录的高效存取
1.相关申请案
2.本技术案主张2019年2月15日申请的第16/277,590号美国申请案的优先权,所述申请案的全部公开内容以引用的方式并入本文中。
技术领域
3.本教示涉及用于存取区块链数据的方法、系统及编程。特定来说,本教示涉及一种用于定义用于高效地存取区块链数据的数据字段且减少定位及确认特别感兴趣的一/若干特定链所需的时间的灵活方案。


背景技术:

4.区块链是一种确保数据一经生成便无法在不被检测到的情况下轻易修改的技术。更明确来说,区块链是以密码链接的一系列数据块,其中每一块包含先前(即,前导(predecessor))块的密码哈希。为了识别前导块,计算机系统对区块链中的块执行蛮力搜索。蛮力搜索包含生成区块链中的块的哈希,直到定位匹配所要哈希的块。如果未找到匹配哈希的块,那么将链中断而指示数据已被修改。因此,区块链可抵抗数据修改。由于此性质,区块链可用于安全目的,例如数字货币及审计记录。例如,计算机系统可针对可审计事件生成一(或若干)区块链块。
5.区块链中的全部块以综合图或经改进默克树(merkle tree)结构进行结构化/组织。随着块被添加,链的分类账(例如,呈图或默克树)增长。一些分类账存储在公共云中。其它分类账在本地存储且无法由公众存取。
6.审计区块链可快速增长,其中每秒增加数个新节点。审计区块链也趋于随时间更宽(例如,具有极高分支程度的起源块或根块)而非深的。例如,审计区块链可包含数百万个叶节点。虽然审计区块链提供高度稳定的审计跟踪,但可能很快就变得在计算上禁止在默克树内寻找任何特定数据段(piece of data)。换句话说,识别及确认任何特定链所需的计算时间太长,以至于一般无法实现数据的实时查询。


技术实现要素:

7.实施方案提供一种用于高效地查询近图(near

graph)类型默克树(例如可链块的私用审计跟踪)的灵活方案。实施方案针对每一可审计事件生成事件群组标识符,所述事件群组标识符包含在针对所述事件生成的链的每一块中。实施方案包含建立一组存取策略,所述存取策略识别每一可审计事件中的哪些数据项可用于查询目的。存取策略使系统高度可定制化且灵活。在可审计事件发生时,系统查阅(consult)存取策略,且针对每一匹配策略,将在所述策略中指定的数据项与事件存取表中的群组标识符相关联。系统使用事件存取表来响应于查询定位与数据项相关联的群组标识符。接着,系统使用所述群组标识符以大大地减少链中经受蛮力搜索(例如,内容的哈希)的块数目。在识别链中的包含群组标识符的块之后,系统可确认链未中断且获得未包含在事件存取表中的其它数据元素,以实时
对查询作出响应。
8.在不运用所公开实施方案的情况下,实时查询审计链数据(例如,出于交互查询目的)实务上不可行,这是因为蛮力搜索将需要数百万次哈希计算。实施方案在其中可链块包含前导哈希但不包含到其它块的其它种类的指针(例如,地址指针)的环境中操作。由于缺乏此类指针,寻找当前块的前导块的唯一方式是哈希图中的块的内容,直到定位其哈希匹配存储在当前块中的哈希的块。在一些实施方案中,当可链事件块的图包含数百万个块时,此蛮力搜索将导致不可接受的查询响应时间。识别前导块对于确认链未中断且视情况识别待包含在对查询的响应中的额外数据项是必要的。在对记录在每一块中的数据加密的实施方案中,查询响应时间进一步受负面影响。此将导致需要解密块以响应于查询定位存储数据项的块,以开始寻找前导。所公开实施方案解决这些问题,使得可实现可链事件图的可接受查询响应时间。
9.所公开实施方案通过捕获特定数据项且将所述数据项与事件群组标识符相关联而实现可接受查询响应时间。实施方案在将新块添加到链时捕获此数据。在审计系统中,特定数据事件触发一或多个新块的生成。所述块可全部与被指派群组标识符的单次交易相关。因此,在交易期间生成的每一块被写入相同群组标识符。交易可为可定义的且可包含数个个别事件。例如,银行可将单次交易定义为在顾客将转账卡提供到atm之后发生的一切事物。交易可包含记录在单独块中的数个个别事件,例如键入pin码、从数据库读取记录、接收存款交易的选择、从顾客接收关于存款的输入、执行存入支票的ocr、将信息写入到数据库等。在此实例中,尽管每一事件可生成一或多个单独块,但每一块将被指派相同群组标识符,即,交易的标识符。另外,实施方案使银行能够选择可用于存取块的数据项。例如,银行可选择将顾客的姓氏包含在事件存取数据中。因此,所公开实施方案将具有群组标识符的姓氏记录在事件存取数据表中。后来,如果系统接收到请求姓氏为“布什(bush)”的顾客在十月期间的全部存款记录的查询,那么系统可使用事件存取数据表以缩小链中的用于搜索及识别响应块的块数目。系统可确认包含响应块的链未中断,及/或从链寻找额外数据项以包含在对查询的响应中。
10.所公开实施方案可包含使数据拥有者能够动态地修改用于在事件存取数据中生成记录的事件策略的用户接口。因此,例如,可添加新策略,可修改现有策略,且在要求改变时删除策略。一旦添加新策略,实施方案便可开始将记录添加到事件存取表中且使用所述记录来对查询作出响应。因此,所公开实施方案提供一种在大型可链事件图中存取块的可容易调适的技术解决方案。
附图说明
11.依据实例实施例进一步描述本文中描述的方法、系统及/或编程。参考附图详细描述这些实例实施例。这些实施例是非限制性实例实施例,其中在附图的数个视图处,相同组件符号表示类似结构,且其中:
12.图1描述根据所公开实施例的系统配置的高层级描绘;
13.图2描述根据所公开实施例的实现可链事件块数据的查询的实例方案元件(schema element)的框图;
14.图3说明根据所公开实施例的生成实现可链事件块数据的查询的方案元件的实例
过程的流程图;及
15.图4说明根据所公开实施例的用于使用方案元件查询可链事件块数据的实例过程的流程图。
具体实施方式
16.在以下详细描述中,通过实例阐述许多具体细节以提供对相关教示的透彻理解。然而,所属领域的技术人员应明白,可在没有此类细节的情况下实践本教示。在其它例子中,已在相对较高层级在没有细节的情况下描述众所周知的方法、过程、系统、组件及/或电路,以免不必要地使本教示的方面不清楚。
17.关于作为数据拥有者的健康相关实体及金融机构描述实例实施例。然而,实施例不限于健康护理或金融行业,且发明概念可适用于其中针对交易生成可链事件记录的任何环境,且期望在不运用专用硬件的情况下高效地、方便地存取可链事件的分类账中的块。例如,所公开技术可用于零售行业、教育机构、刑事司法系统、公司等中。
18.为了解决与查询可链事件块数据时的困难相关联的问题(例如对块执行蛮力搜索所需的计算机资源及仅暴露来自交易的特定信息用于查询的期望),实施方案提供一种运用群组标识符加标签于可链事件块以限制经受蛮力搜索的块数目的系统。实施方案还提供用于定义事件存取策略的接口。事件存取策略指定可用于搜索可链事件块数据的字段。实施方案将策略条目应用到新事件,所述新事件触发区块链块生成,使得将在事件存取策略中识别的字段链接到用于加标签于对应块的群组标识符。实施方案包含暴露可存取字段用于查询的接口。并非包含在可链事件块的内容中的全部数据项皆可为可存取的。使数据的拥有者能够设定事件存取策略的接口还可使数据的拥有者能够识别可在查询中使用或作为查询结果的部分传回的交易或事件内的特定数据项。
19.如图1中展示,网络环境100可包含通过网络160或一系列网络160彼此数据通信的若干计算装置。网络160可包含因特网、局域网(lan)、广域网(wan)、蜂巢式网络(例如,5g蜂巢式)、内部网络等或这些的某一组合。例如,客户端170可经由lan、蜂巢式网络、内部网络或因特网与一或多个事件主机110通信。事件主机110a可经由因特网、内部网络、wan、lan、蜂巢式网络、有线连接、无线连接等的任何组合与事件主机110b及/或110n通信。在一些实施方案中,网络160表示超过一个网络,例如,因特网及wan,或因特网及wi

fi或蜂巢式网络。
20.环境100中的计算装置可包含主计算机,例如事件主机110a、110b及110n。计算装置还可包含客户端装置(例如客户端170),所述客户端装置例如经由浏览器通过移动应用程序或某一其它接口提供用户接口以供人类用户存取经由网络160(例如因特网或内部网络)可用的各种应用程序。各种应用程序包含由事件主机110a提供的应用程序112及由其它事件主机(例如事件主机110b及/或事件主机110n)提供的类似应用程序。
21.事件主机110a(例如,110b、110n等)可为用于组织的基于网络的系统,所述组织例如金融组织、教育机构或健康护理相关组织,举例来说,例如医院、诊所、药房或用于健康护理提供者的办公室的电子病历系统(emr)。事件主机110a可要求其用户(例如,员工或客户)在存取事件主机110a的记录及应用程序112之前用登录凭证(通常为用户名称及密码或令牌)登录。事件主机110a可包含计算装置(例如计算机、服务器或若干通信连接的分布式服
务器、主机等),所述计算装置具有经配置以执行存储在存储器104(例如主存储器、ram、快闪存储器、高速缓存或磁盘)中的指令的一或多个处理器102(例如,形成在衬底中的处理器)。指令可存储在运行时间环境、功能模块及/或引擎(例如,应用程序112)中,且可提供支持企业实体的运作及操作的功能性,例如,典型银行应用程序、教育机构的典型注册及申请系统、emr的典型诊断、处方及账单应用程序等。
22.事件主机110a可包含提供对数据114的存取的一或多个应用程序112。事件主机110a还可包含结合一或多个应用程序112工作(为一或多个应用程序112的一部分、由一或多个应用程序112呼叫等)且捕获发生在应用程序112中的某些事件的审计记录的审计应用程序120。例如,法律、法规或最佳实践要求许多保持不仅改变(插入、删除、更新)一些或全部数据114而且存取(读取)一些数据114的记录。一些审计记录还可被称为针对数据114执行的活动的审计跟踪。优选地,审计跟踪本身无法被窜改。因此,实体可操作将审计记录作为链存储在例如可链事件图131中的事件主机系统110a。可链事件图131可具有用于企业实体的起源块,其为链的根。可链事件图中的每一链为起源块的后继。在一些实施方案中,每一链可表示由个别事件组成的交易。交易由控制数据114的企业实体定义。换句话说,数据拥有者定义什么事件包含在每一链中。交易的定义使用已知技术,是实施方案特定的,且因而其细节在本公开的范围之外。然而,针对每一新交易(仍然经定义),审计应用程序120经配置以生成独有群组标识符。群组标识符包含在可链事件图131的每一块中。可使用群组标识符来定位与特定交易相关的块。
23.可链事件图131与常规数据库记录不同。首先,常规数据库记录通常易于改变。可链事件块(例如,可链事件记录)不易于改变,且实际上,分类账中的任什么数据块的改变导致中断链,除非全部后继块也被识别及修改。此不变性使可链事件图可用于审计目的。可链事件图131为经改进默克树,其中不同块仅经由包含前导块的哈希而连结。在此树中搜索块为蛮力努力且在计算上昂贵。如果已知叶节点,那么往回追踪链需要哈希可链事件图131中的块以确定哪一块为前导块。如果块的内容的哈希匹配存储在当前(叶)节点中的哈希,那么所述块为前导块。一旦识别所述块,便重复所述过程以寻找下一前导。因此,追踪链常规地需要大量计算机处理循环及时间。常规地,专用处理器用于确认可链事件图。不存在用于可链事件块的索引,索引为用于在常规数据库中查询数据的方法。此外,在具有大量(数十万个或甚至数百万个)叶节点的默克树中,跟踪叶节点可为不切实际的。此外,链的蛮力搜索在计算上禁止且对于预期在几秒内得到响应的在线查询过程来说完全不可接受。
24.可链事件图131可记录数据存取/变化的重要方面。重要方面可包含是谁在存取数据、存取何时发生、存取什么数据、改变什么数据、如何存取数据、在何处存取数据等。可在交易期间的一或多个事件中捕获全部这些方面。
25.为了解决高效地存取事件链中的块的技术问题,实施方案包含使用事件存取策略123生成的事件存取表135。审计应用程序120基于事件存取策略123在事件存取表135中生成行或记录。事件存取策略123由数据拥有者建立。事件存取策略123识别可存取用于查询且由数据拥有者(或换句话说,控制数据114的企业实体)生成的数据项。因此,审计应用程序120可包含使用户能够添加新存取策略、改变现有存取策略及删除现有存取策略的界面。一旦将存取策略添加到事件存取策略123,策略便在作用中。作用中策略引起在事件存取表135中生成记录。在生成匹配块时在可链事件图131中生成记录。每一事件存取策略识别待
从记录在块中的事件提取的至少一个字段名。在一些实施方案中,事件存取策略还可识别事件。例如,识别姓氏作为待提取的字段的事件存取策略还可识别特定事件类型,例如“客户查找”。事件类型防止将所遇到的每一姓氏记录在事件存取表中;而是仅针对特定事件记录姓氏。在一些实施方案中,事件存取策略还可指定待从事件数据提取的超过一个字段。例如,策略可识别待从事件数据提取的年龄及状态。事件存取策略是灵活的,且可为用于解决企业实体的各种需要/需求的任何字段组合。
26.当审计应用程序120在链中生成新块时,审计应用程序120可比较事件存取策略123与记录在可链事件图131中的事件。如果策略适用,那么审计应用程序120可将记录写入到事件存取表135。写入到事件存取表135中的内容取决于在适用的事件存取策略中识别的数据字段。如果在策略中提供事件类型,那么当事件类型匹配时,事件存取策略123适用于事件。当策略缺乏事件类型但在事件存取策略中识别的字段包含在正写入到块的内容中时,事件存取策略123适用于事件。
27.事件存取表135包含使群组标识符与从在可链事件图131中捕获的事件提取的一或多个字段相关联的记录。针对每一交易生成群组标识符,如通过拥有数据114的企业实体定义。群组标识符独有地识别交易,如通过企业实体定义。每一事件(其为交易的一部分)共享相同群组标识符。审计应用程序120可跟踪未结交易或当前交易的群组标识符。
28.在一些实施方案中,审计应用程序120可包含查询api(应用程序接口)125。在一些实施方案中,查询api 125可为应用程序112中的一者。查询api 125包含使用户能够使用事件存取表135查询可链事件图131中的块的计算机代码。用户可为例如使用客户端170或事件主机110a内部的计算机系统向事件主机110a认证的用户。用户还可为经连接装置或应用程序。例如,在一些实施方案中,在事件主机110b上运行的应用程序可经由查询api 125发送对于事件存取表135的查询。
29.客户端170可为个人计算系统、终端、膝上型计算机、平板计算机、穿戴式计算装置(例如,手表或智能型眼镜)或另一移动装置,例如智能电话、ipad或ipad mini。客户端170可包含经配置以执行存储在存储器174(例如主存储器、ram、快闪存储器、高速缓存或磁盘)中的指令的一或多个处理器172(例如,形成在衬底中的处理器)。客户端170还可包含输入装置179,例如麦克风、键盘(虚拟或实体)、触摸屏、鼠标、相机、语音记录器等。客户端170还包含显示器178或其它输出装置。客户端170还可包含执行各种功能的一或多个应用程序176,例如,浏览器、文字处理程序、电子表格程序、电子邮件客户端、移动应用程序等。客户端170可经由应用程序176使用已知技术与事件主机110a(及/或事件主机110b、110n等)通信。
30.环境100还可包含数个不同事件主机,例如事件主机110b及事件主机110n。尽管未在图1中说明,但事件主机110b及事件主机110n还可包含针对事件主机110a说明的组件。在一些实施方案中,事件主机中的一或多者可由相同企业实体例如操作为分布式系统。在一些实施方案中,查询api 125可经配置以存取存储在另一事件主机110处的事件存取表135及可链事件图131。在一些实施方案中,查询api 125可经配置以与执行在另一事件主机110上的另一查询api协调查询。
31.事件主机110a的配置为一个实例且实施方案包含其它配置。例如,由审计应用程序120执行的能力可包含在应用程序112中的一或多者中。同样地,查询api 125可为独立模
块或可包含在应用程序112中的一或多者中。类似地,数据(例如数据114中的一或多者)、事件存取表135及可链事件图131可跨数个计算装置分布及/或可由事件主机110a存取但物理上远离事件主机110a。此外,环境100表示实例环境。尽管在图1中说明为具有特定组件,但环境100可包含未说明的额外组件,或可不包含所展示的全部元件。另外,一些组件可组合成单个组件。此外,事件主机110a被理解为经配置以遵守任何适用法律、法规或与数据输入及从数据源获得的数据相关的其它条件。
32.图2是根据所公开实施例的实现可链事件块数据的高效存取的实例方案元件的框图。可链事件图131包含起源块200。起源块200为默克树的根。在一些实施方案中,起源块200缺乏群组标识符。在一些实施方案中,起源块200具有独有地识别起源块的群组标识符。全部链起源于起源块200。可链事件图131可具有数百个、数千个或甚至数百万个链。可链事件图131中的每一块包含群组标识符205、内容210及前导块的哈希215。群组标识符被指派给交易且针对链中的全部块相同。在一些实施方案中,块可与多个群组标识符相关联。例如,块可用交易的第一群组标识符识别,且可与交易内的分支的第二群组标识符相关联。在一些实施方案中,每一分支可具有其自身的群组标识符。在一些实施方案中,仅例如由特定事件触发的特定分支可具有其自身的群组标识符。在链较长且有许多分支时,具有多个群组标识符可良好运作。
33.内容210表示记录在块中的数据。内容还可被称为有效载荷。内容210表示一或多个数据项。内容210部分可在其存储在块中之前被加密。内容210部分可将一些数据元素加密且未将其它数据元素加密。内容210部分中的数据可以任何方式(例如,作为列表、名称

值对、单个字符串,或由企业实体实施的任何其它方法)存储。哈希215为前导数据块的哈希。哈希215包含写入在前导块中的全部数据,包含群组标识符205、内容210及哈希215。因此,例如,在块220中说明的hash2为群组标识符grp2、内容{kdoe;verified}及hash1的值的哈希。在可链事件图131中说明的实线箭头仅为了便于说明且并非可链事件图131的部分。换句话说,不存在从块220到块225的存储器指针。如本文中所说明,确定块225为块220的前导的唯一方式为哈希块225的内容且比较其与hash2的值。如果存在匹配,那么建立块220与225之间的关系,即,块225为块220的前导。类似地,为了确定块230为块220的后继,系统将哈希块220且匹配哈希与hash3的值。
34.在图2中将事件存取表135说明为具有三行;群组标识符250、字段名255及字段值260。然而,取决于用户的配置及偏好,实施方案可包含事件存取数据中的其它数据元素。如本文中所使用,取决于内容背景,提及字段指代字段名255、字段值260中的任一者或两者。例如,查询可具有字段作为参数。应理解,字段表示特定类型的数据(例如,字段名)且具有值,因此提及查询参数指代数据的类型及其值。类似地,事件存取策略可被称为识别字段。在此意义上,策略指定字段类型,这是因为策略本身不与任何特定值相关。同样地,链中的块可包含内容210中的一或多个字段;然而,块可仅存储字段的值。在一些实施方案中,可暗指字段名(类型)。在一些实施方案中,可基于内容内的字段的位置(例如,逗点隔开列表中的顺序或字节位置)确定字段名。在一些实施方案中,字段名可与值成对。
35.在图2的实例中,在可链事件图131及事件存取表135中说明的数据为用于金融机构。在此实例中,客户乔
·
史密斯(joe smith)已来到银行来存款100。银行出纳员可作为用户科多(kdoe)登录到(或已登录到)银行系统中。为了完成交易,出纳员首先可确认转账卡
且接着调出(pull up)乔
·
史密斯的帐户信息。出纳员可提供账户余额且接着为乔(joe)办理存款。乔也可同时在窗口处请求保付支票。在此情形中,出纳员代表乔执行的全部动作可被定义为一个交易且具有相同群组标识符。在其它情形中(未展示),每一个别动作可为具有不同群组标识符的单独交易。因此,如上文是说明,交易的定义为实施细节,且所公开的实施例不管细节如何皆起作用。在图2中说明的事件存取表135中的两个记录来自与乔的交易,但应理解,交易可能已生成额外记录,为了便于解释并未进行说明。而是,应理解,事件存取表125具有比所说明的记录远远更多的记录。
36.在图2的实例中,一行包含客户的名称字段且另一行包含动作字段。具有客户名称的行与可链事件图131中的块220对应。在图2中说明虚线箭头以说明事件存取表135中的记录与块之间的连结。实施方案不需要具有来自事件存取表135及块中的记录的实际指针(例如,存储器点)。代替性地,如果具有客户名称的行对查询有响应,那么系统可使用群组标识符grp2来在可链事件图131中寻找具有群组标识符grp2的全部块。在识别每一块时,系统可确定块是否包含匹配字段值260(即,匹配乔
·
史密斯)的内容。在一些实施方案中,系统可需要在确定内容是否匹配事件存取表记录之前解密块的内容210部分。一旦定位块,系统便已找到匹配块且可追踪链。系统可追踪链以从前导块的内容获得额外字段。在一些实施方案中,可传回链中的全部块(起源块除外)作为搜索结果。系统可追踪链以确认链未中断。如果链中断,那么审计记录已被窜改。如果链中断,那么系统可提供链中断(例如,特定块可疑)的指示。在一些实施方案中,系统可从匹配节点追踪链到叶节点。例如,代替寻找具有相同群组号的经哈希便匹配存储在当前块中的哈希的块,系统可哈希当前块的内容且寻找具有相同群组号的具有匹配哈希内容的哈希215的块。可重复此直到定位叶(或如果链分支,那么若干叶)。追踪链到根或到一或多个叶为实施决策;所公开实施例不管如何从匹配事件存取记录的块追踪链都起作用。
37.图3说明根据所公开实施例的生成实现可链事件数据的高效存取的方案元件的实例过程300的流程图。高效存取为在未使用专用硬件(例如,cpu库)的情况下在在线查询过程中发生的存取。方案元件包含事件存取记录及群组标识符,如下文说明。过程300可通过系统(例如图1的事件主机110a)执行为生成系统上发生的事件的审计记录的审计过程的部分。过程300对写入到事件链中的块的事件应用事件存取策略以生成事件存取表中的行。当接收到待插入到事件链中的事件(305)时,过程300可开始。事件可为交易中的第一事件,在所述情况中,系统生成新群组标识符。事件还可为交易中的后续事件,在所述情况中,系统使用先前针对交易生成的群组标识符。系统使用已知技术针对事件生成新事件块(310)。块包含事件的群组标识符。块还包含从事件提取或以其它方式描述事件的内容。写入到块的内容为实施选择。例如,块可仅包含几个字段。作为另一实例,块可包含数个字段。包含在块的内容中的字段数目(即,数据量)为不影响本文中所描述的方案的实施选择。如果事件为交易中的第一事件,那么块可为新链的第一块。
38.系统尝试将事件存取策略应用到事件(315)。应用事件存取策略可包含确定事件是否具有在事件存取策略中识别的类型。如果事件具有在事件存取策略中识别的事件类型,那么事件存取策略适用。应用事件存取策略可包含确定事件是否包含特定字段。在一些实施方案中,当事件类型匹配且事件包含特定字段时,事件存取策略适用。事件存取策略还可指定其它条件。如果事件满足事件存取策略所表示的条件,那么事件存取策略适用(315,
是)且系统生成事件存取记录(320)。事件存取记录包含从事件导出的数据以及事件的群组标识符。在一些实施方案中,事件存取策略可指定何字段包含在事件存取记录中。在一些实施方案中,匹配事件存取策略中的条件的字段包含在事件存取记录中。在一些实施方案中,例如,如果适用事件存取策略指示在事件存取记录中记录两个字段,那么针对事件生成超过一个事件存取记录。如果多个事件存取策略适用,那么系统生成多个事件存取记录。接着,过程300结束,其已生成由交易的群组标识符加标签的事件块,且如果至少一个事件存取策略适用于事件,那么已生成可用于随后以减少的计算资源定位块的事件存取记录。
39.图4说明根据所公开实施例的用于使用方案元件存取可链事件数据中的块的实例过程400的流程图。过程400是通过减少识别可链事件块中的响应数据所需的计算机循环而减少查询延时的查询过程的实例。过程400可通过事件主机(例如图1的系统110a)执行。过程400进行由用户提供的查询且响应于查询而提供事件块。过程400不一定表示整个查询过程。例如,可将响应块传回到从块提取信息的过程以提供为查询结果。因此,完整查询过程可经由用户接口(例如,显示器、打印机或扬声器)传回特定字段而非传回事件块。再者,尽管说明为仅传回链中的响应块,但应理解,一些实施方案可响应于查询而传回未中断链中的全部块。
40.过程400可响应于接收到查询参数(405)而开始。查询参数可指定一或多个字段。字段可通过企业实体经由特定api控制。例如,企业实体可仅使某些字段可供用户使用以提供为参数。在一些实施方案中,字段可限于包含在事件存取表中的字段。在一些实施方案中,字段可包含事件存取表中的字段及其它指定字段。查询参数可呈如已知的常规表达的形式。系统可识别事件存取表中的对查询有响应的记录(410)。例如,如果查询参数为客户名称,那么系统可在事件存取表中搜索匹配参数的客户名称。事件存取表中的对查询有响应的每一记录具有群组标识符。系统使用群组标识符来定位响应事件块。可连续(如所展示)或并行完成定位响应事件块。
41.例如,系统可以第一群组标识符开始(415)且识别可链事件图中匹配群组标识符的块(420)。此大大减少追踪链所需的哈希计算的数目。在其中块的内容也经加密的系统中,其还减少识别对应块所需的加密次数。系统寻找具有匹配来自事件存取记录的字段的内容的块(425)。如果没有任何具有群组标识符的块具有匹配事件存取记录的内容(425,否),那么系统以具有不同群组标识符的下一事件存取记录继续(455)。如果块中的一者具有匹配事件存取记录的内容(425,是),那么将块视为响应块,且系统可使用在步骤420中识别的块来从响应块追踪链到起源块(430)。减小在追踪链到共享响应块的群组标识符的块时检验的块群体大大减小系统需要执行的哈希计算的数目,此又导致更快的查询响应时间。如上文描述,系统可哈希块以寻找其哈希匹配存储在响应块中的哈希的块。一旦找到此块,系统便寻找一经哈希便匹配前导块的哈希的块,等。如果每一后继块能够定位前导块,那么链被视为未中断。在一些实施方案中,如果每一后继块能够定位前导块,且前导块的内容在哈希之后匹配后继的哈希值,那么链被视为未中断。在一些实施方案中,系统自动包含匹配群组标识符的块中的起源块。因此,可始终追踪链回到起源块。在一些实施方案中,系统可维持每一独有群组标识符,此增加系统的稳健性。在一些实施方案中,系统还可或代替性地追踪链到叶节点。为了追踪链到叶节点,系统可生成响应块的哈希且寻找具有相同群组标识符的具有匹配哈希的哈希字段的块。使用此技术,系统可往回追踪链到叶(或如果链
分支,那么若干叶)。
42.在一些实施方案中,系统可容许在事件存取表中未识别的查询参数。换句话说,系统可使用事件存取记录来识别与查询参数中的一者相关联的事件块,但可应用第二查询参数来进一步缩小搜索结果。如果查询包含尚未满足的参数字段,那么系统可尝试在追踪链时匹配额外参数(435)。例如,在定位链中的每一块时,系统可比较块的内容与额外查询参数。如果未满足额外查询参数(435,否),那么系统可丢弃链且不考虑任何块响应,而在步骤455重新开始用另一群组标识符搜索。如果满足额外查询参数或不存在额外查询参数(435,是),那么系统可将块标记为响应的(440)。在一些实施方案中,将链中到根及/或叶的全部块标记为响应的。在一些实施方案中,仅将包含匹配查询参数的内容的块标记为响应的。
43.在一些实施方案中,系统还确定链是否中断(435)。当系统无法达到起源块时,链为中断的。如果系统无法达到叶,那么链也可被视为中断的。如果链中断(445,是),那么系统可将(若干)响应块标记为可疑的(450)。将响应块标记为可疑可包含传回指示审计记录报告链中的问题的旗标。一旦系统已完成检验与第一群组标识符相关联的块,系统便可确定是否存在在响应事件存取记录中识别的尚未检验的另一群组标识符(455)。如果存在(455,是),那么系统选择下一群组标识符且重复步骤420到450。当已处理全部群组标识符时(455,否),系统提供响应块作为查询的搜索结果(460)。如先前说明,可将响应块传回到将响应块格式化为可接受的内容的过程用于呈现给用户。因此,在过程400结束时,在将结果呈现给查询请求者之前,可发生额外处理。
44.现描述健康护理行业中的工作实例。提供此实例以辅助理解本公开,且实施方案不限于所描述的特定情形,这是因为方法及技术可适合于其它类型的环境,如上文描述。因此,实施方案包含针对其它行业对基础科技及技术的调适。
45.健康护理数据为受监管(包含审计要求)的数据的一个实例。实施方案可使用使健康护理实体能够定义可用于随后存取审计数据(即,可链事件块数据)的存取策略(例如,在存取表中跟踪其字段)的审计api。例如,健康护理实体可确定仅可查询患者姓名,使得在事件存取表中捕获患者姓名。因此,用户可通过患者姓名查询可链事件审计记录。在一些实施方案中,可传回与患者有关(即,包含患者姓名)的任何块。在一些实施方案中,可传回在与患者有关的链中的块。在一些实施方案中,一旦识别与患者有关的链,系统便可通过追踪链到起源记录、到叶记录或两者而确认链未中断。另一健康护理实体可确定可查询患者姓名及药物名称。因此,可通过药物名称或患者姓名或两者查询在电子处方系统中生成的可链事件审计记录。在此情形中,实体存取策略可针对包含处方的任何事件指定患者姓名及药物名称。
46.在未使用本文中所公开的技术的情况下,归因于查询的提交与响应的生成之间的计算延迟,在线查询可链事件审计数据将为不切实际的。所公开技术还提供一种实体可定制化而仅暴露实体识别的数据用于查询目的的灵活方案。其它数据将不可搜索。因此,本文中所描述的特征提供计算系统中的经改进搜索功能性。
47.在上文描述的配置中,计算机处理器可指代一或多个设备中的一或多个计算机处理器或一或多个计算机处理器及/或设备的任何组合。实施例的方面涉及引起及/或配置一或多个设备及/或计算机处理器以执行所述操作。所产生的结果可输出到输出装置,例如,在显示器上显示、在扬声器上播放等。设备或装置指代执行操作的物理机器,例如,实施或
执行指令(例如,通过软件(其为通过包含可编程芯片(芯片组、计算机处理器、电子组件)的计算硬件执行的代码)执行指令及/或通过计算硬件(例如,在电路中,集成电路中的电子组件等)(统称为(若干)硬件处理器)实施指令)以实现所述功能或操作的计算机(实体计算硬件或机器)。所述实施例的功能可在可执行指令或代码的任何类型的设备中实施。
48.更特定来说,编程或配置或引起设备或装置(例如,计算机)执行实施例的所述功能生成新机器,其中在计算机的情况中,一旦通用计算机经编程或经配置或引起依照来自程序软件的指令执行实施例的特定功能,其实际上便成为专用计算机。根据实施例的方面,配置设备、装置、计算机处理器指代通过软件编程或控制以执行所述功能的设备、装置或计算机处理器。
49.实施实施例的程序/软件可记录在计算机可读媒体(例如,非暂时性或永久性计算机可读媒体)上。非暂时性计算机可读媒体的实例包含磁性记录设备、光盘、磁光盘及/或易失性及/或非易失性半导体存储器(例如,ram、rom等)。磁性记录设备的实例包含硬盘装置(hdd)、软盘(fd)。光盘的实例包含dvd(数字多功能光盘)、dvd

rom、dvd

ram(dvd

随机存取存储器)、bd(蓝光光盘)、cd

rom(光盘

只读存储器)及cd

r(可记录)/rw。可经由传输通信路径(例如,经由硬件实施的有线及/或无线网络)传输实施实施例的程序/软件。可经由其发送程序/软件的通信媒体的实例包含例如载波信号。
50.从详细说明书明白实施例的许多特征及优点,且因此,所附权利要求书旨在涵盖落在实施例的真实精神及范围内的实施例的全部此类特征及优点。此外,由于所属领域的技术人员将容易想到许多修改及改变,所以不期望将发明实施例限于所说明且描述的确切构造及操作,且因此,可采用落在其范围内的全部适合修改及等效物。
51.所属领域的技术人员将认知,本教示易有多种修改及/或增强。例如,尽管上文描述的各种组件的实施方案可在硬件装置中具体实施,但其也可实施为仅软件解决方案,例如,现有服务器上的安装。另外,如本文中所公开的动态关系/事件检测器及其组件可实施为固件、固件/软件组合、固件/硬件组合或硬件/固件/软件组合。
52.虽然前文已描述被视为最佳模式的内容及/或其它实例,但应理解,可在其中进行各种修改且本文中公开的标的物可以各种形式及实例实施,且教示可应用到许多应用中,本文中已描述仅一些应用。所附权利要求书旨在要求落在本教示的真实范围内的任何及全部应用、修改及变动。
53.在一个一般方面中,一种系统包含至少一个处理器及存储事件块的可链事件图,每一事件块包含群组标识符、内容及哈希,且其中每一链中的第一块的哈希为图的起源块的哈希。系统还包含存储事件存取策略的存储器,每一事件存取策略识别事件类型及事件类型的至少一个字段,且存储具有因将事件存取策略应用到交易的事件而生成的存取记录的事件存取表,每一存取记录具有群组标识符及字段。系统还包含存储在通过至少一个处理器执行时引起系统执行操作的指令的存储器。操作可包含:接收查询;识别事件存取表中的响应存取记录,响应存取记录每一者具有匹配查询的参数的字段;识别可链事件图中的可能响应事件块,每一可能响应事件块具有匹配来自响应存取记录的群组标识符的群组标识符;通过从每一可能响应事件块识别匹配来自响应存取记录的字段的内容、从可能响应事件块识别匹配群组标识符的群组标识符,而从可能响应事件块识别响应事件块;及提供至少一些响应事件块作为查询的搜索结果。
54.这些及其它方面可包含以下特征中的一或多者。例如,所述操作可进一步包含针对每一响应事件块:确定响应事件块的链是否中断;及响应于确定链中断而提供响应事件块具有中断链的指示。作为另一实例,所述操作可进一步包含:接收新交易的事件;针对交易生成新群组标识符;及在可链事件图中生成事件的新事件块,所述新事件块包含新群组标识符。作为另一实例,所述操作可进一步包含:接收新事件;在可链事件图中生成新事件的新事件块,所述新事件块包含交易(所述事件为其一部分)的群组标识符;确定事件存取策略适用于新事件;及将记录写入到事件存取表,所述记录包含来自事件块的群组标识符及从新事件提取的字段值。在一些实施方案中,所述操作可进一步包含:确定新事件为交易中的第一事件,并生成交易的群组标识符;及/或确定新事件并非交易中的第一事件,并使用先前针对交易生成的群组标识符。作为另一实例,所述操作可进一步包含:通过从响应事件块追踪链到起源块而从可能响应事件块识别额外响应事件块,其中所述额外响应事件块具备搜索结果。作为另一实例,至少一个额外事件块可包含对查询有响应的未包含在响应存取记录中的内容。
55.根据一个方面,一种方法包含:接收至少一个查询参数;及响应于接收到至少一个查询参数而识别事件存取数据记录,所述事件存取数据记录包含群组标识符及匹配查询参数的字段。所述方法还包含定位可能响应块,所述可能响应块为链中的包含所述群组标识符的事件块,且所述可能响应块中的每一者还包含前导块的内容及哈希。所述方法还包含:识别所述可能响应块的第一块,所述第一块具有包含匹配所述查询参数的所述字段的内容;及提供所述第一块作为对所述查询的响应。
56.这些及其它方面可包含以下特征中的一或多者。例如,所述方法还可包含:确定链从第一块到链的起源块是否中断;及响应于确定链中断,提供第一块可疑的指示作为对查询的响应的部分。作为另一实例,所述方法还可包含:从第一块追踪链到起源块以从链中的可能响应块的内容获得额外数据项;及将额外数据项包含在对查询的响应中。在一些实施方案中,追踪链包含:生成可能响应块的至少第二块的哈希;及比较哈希与第一块中的哈希,其中当哈希匹配时,第二块在链中。在一些实施方案中,额外数据项可通过额外查询参数指定。作为另一实例,事件存取记录可识别群组标识符、字段名及字段值。作为另一实例,所述方法还可包含:响应于查询参数而识别至少第二事件存取数据记录,第二事件存取数据记录包含第二群组标识符;定位第二可能响应块,第二可能响应块为链中的包含第二群组标识符的事件块;识别第二可能响应块的第二块,所述第二块具有包含匹配查询参数的字段的内容;及提供第二块与第一块作为对查询的响应。
57.根据一个一般方面,一种方法包含:针对交易中的事件生成群组标识符;在链中针对事件生成新事件块,新事件块包含群组标识符,事件的内容及链的起源块的哈希;确定事件存取策略是否适用于事件;及响应于确定事件存取策略适用而生成事件存取记录,所述事件存取记录识别群组标识符、在事件存取策略中识别的字段名及从事件导出的字段值。
58.这些及其它方面可包含以下特征中的一或多者。例如,所述方法还可包含响应于指定字段的值的查询而使用事件存取记录来识别块。作为另一实例,所述方法还可包含:接收查询参数;识别事件存取记录作为对查询的响应;使用群组标识符识别块;及提供块作为对查询的响应。作为另一实例,事件存取策略可识别事件类型及至少一个字段,且响应于确定事件的类型匹配事件类型,事件存取策略可适用于事件。作为另一实例,事件块可为第一
块,且所述方法还可包含:针对交易中的第二事件生成第二事件块,第二块包含群组标识符,第二事件的内容及第一块的哈希;确定事件存取策略是否适用于第二事件;及响应于确定事件存取策略适用而生成第二事件存取记录,所述第二事件存取记录识别群组标识符、在事件存取策略中识别的字段名及从第二事件导出的字段值。
59.根据一个一般方面,一种非暂时性计算机可读媒体存储在通过至少一个处理器执行时引起计算装置执行本文中所公开的任何操作或方法的指令。
60.根据一个一般方面,一种系统包括至少一个处理器及存储器,所述存储器存储在通过至少一个处理器执行时引起计算装置执行本文中所公开的任何操作或方法的指令。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献