CN113168622B - 区块链网络中的基于字段的对等许可 - Google Patents
区块链网络中的基于字段的对等许可 Download PDFInfo
- Publication number
- CN113168622B CN113168622B CN201980076006.8A CN201980076006A CN113168622B CN 113168622 B CN113168622 B CN 113168622B CN 201980076006 A CN201980076006 A CN 201980076006A CN 113168622 B CN113168622 B CN 113168622B
- Authority
- CN
- China
- Prior art keywords
- peer
- tenant
- exchange
- field
- blockchain network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Finance (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
描述了一种用于多租户服务器管理区块链网络中的数据的方法。方法包括生成用于网络的交换对象,其中交换对象包括成组的交换字段以及交换字段的集合中的每个交换字段和与网络中的每个对等方相关联的对象的字段之间的映射;确定网络中每个交换字段和每个对等方的许可;使用交换对象代表网络中的第一对等方生成交易对象,其中,交易对象包括用于成组的交换字段的成组的字段值,并且基于许可对成组的值中的一个或多个字段值进行加密;以及使交易对象对网络中的第二对等方可用,以尝试获得用于改变第一对等方的对象的共识。
Description
相关申请的交叉引用
本申请要求于2018年12月20日提交的美国专利申请第16/228,555号和于2018年9月19日提交的美国临时申请第62/733,535号的权益,其通过引用并入本文。
技术领域
一个或多个实施方案涉及数据管理领域;更具体地,向存储在对等(peer-to-peer)区块链网络中的数据的字段分配和实施基于对等方(peer)的许可。
背景技术
区块链是使用加密技术链接和保护的记录/区块的连续扩展列表。具体地,区块链中的每个区块可以包括紧接在前的区块的密码散列、当前区块的时间戳,以及交易数据(例如与区块链网络中的对等方相关联的信息的添加/修改)。此外,区块链可以经由验证/确认将被添加到链的新区块的系统通过对等网络来共享和管理,使得区块链中的区块在不改变所有后续区块的情况下不能被改变,这需要网络共识。该架构允许通过使用加密技术来保护存储在区块内的信息;通过使用对等网络来共享/分配信息;通过区块添加的共识来信任;以及通过使用加密技术、区块的链式处理/链接和对等分配(例如区块链网络中的每个对等方可以维护网络中的所有已验证/确认的交易的分类账)来使存储在区块内的信息不可变。
与区块链架构相比,多租户云架构依赖于将信息集中在公共数据库或其他数据结构中。虽然与区块链架构相比,基于云的架构提供了许多益处,包括从租户移除许多管理功能并且相反将这些功能集中在集中式系统上的能力,但是这些架构在租户间通信期间不提供相同级别的安全性、信任和信息不变性。此外,尽管区块链架构提供许多益处,包括上文所描述的益处,但这些架构不允许对等方之间的保密或其他访问许可/权限的实施。即,对等分类账的块中的每条信息对区块链网络中的所有对等方可见,并且每个对等方在区块链网络中具有相同的权限/权限。
附图说明
以下附图使用相同的附图标记来表示相同的元件。尽管以下附图示出了各种示例性实施方案,但是可替代实施方案也在所附权利要求的精神和范围内。在附图中:
图1示出了说明根据一个示例性实施方案的包括多租户服务器的计算环境的框图。
图2示出了根据一个示例性实施方案的多租户服务器在对等区块链网络中管理数据的方法。
图3A示出了根据一个示例性实施方案的包括每个租户系统的成组的单独的区块链服务的计算环境。
图3B示出了根据另一个示例性实施方案的包括成组的共享区块链服务的计算环境。
图4示出了根据一个示例性实施方案的对应于成组的租户系统的物理对象。
图5示出了根据一个示例性实施方案的包括交换字段与物理对象的字段之间的成组的映射的交换对象。
图6示出了根据一个示例性实施方案的租户系统中的每一个的安全对象。
图7示出了根据一个示例性实施方案的对应于租户系统的影子对象的示例。
图8示出了根据一个示例性实施方案的交易对象的示例。
图9示出了根据一个示例性实施方案的包括成组的条目/块的区块链的示例。
图10A示出了根据一个示例性实施方案的电子装置。
图10B示出了可以根据一个示例性实施方案来实施计算环境和服务器的环境的框图。
具体实施方式
图1是示出根据一个示例性实施方案的计算环境100的框图。计算环境100包括租户系统1021-1023、多租户服务器104和成组的通信网络106。在该示例性计算环境100中,租户系统1021-1023可以是对等区块链网络108的一部分,并且多租户服务器104提供云环境以经由交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D来管理对等区块链网络108中的租户系统1021-1023的数据和交易,包括安全服务112。例如,区块链服务104D可以生成将租户系统102的物理对象的字段映射到用于处理对等区块链网络108中的交易的交换字段的映射数据。另外,区块链服务104D可以为区块链网络108中的每个租户系统102生成公钥和私钥,并且使用这些钥来分配/实施与交换字段有关的许可/权限。即,可以使用被允许访问这些字段的租户系统102的私钥和/或公钥对交换字段进行加密,并且可以针对不同的许可/权限级别向对应的租户系统102提供单独的密钥的组。
例如,如下面将更详细描述的,租户系统1021的交易生成器1101可以生成请求以(1)将新记录添加/插入到与租户系统1021相关联的物理对象,或者(2)修改/更新与租户系统1021相关联的物理对象的现有记录。物理对象可以包括用于每个记录的成组的字段,并且被存储在与租户系统1021相关联的多租户服务器104的租户级对象104B的一部分/分区中,使得物理对象仅可由租户系统1021访问(例如租户系统1022和租户系统1023不被允许读或写到租户系统1021的物理对象)。该请求可以导致在与租户系统1021相关联的租户级对象104B的部分/分区中的影子对象中添加记录。影子对象表示到物理对象的未委托的数据(即,对等区块链网络108中的对等方/租户之间尚未达成共识的数据)。交易队列104A可以使用影子对象来生成交易对象,该交易对象将被分配到其他租户系统1021/使得其他租户系统1022和1023可用于接收对于所提出的对租户系统1021的物理对象的添加/修改的共识。
在一个实施方案中,交易对象的字段的集合是物理对象的字段的子集,并且交易对象的字段的集合由包括在网络级对象104C中的交换对象来定义。在该实施方案中,交换对象可以包括将被包括在交易对象中的成组的交换字段,并且交换对象的每个交换字段可以被映射到租户系统1021-1023的物理对象中的字段。例如租户系统1021的物理对象可以包括字段A-D,租户系统1022的物理对象可以包括字段E-H,并且租户系统1023的物理对象可以包括字段I-K。在该示例中,对等区块链网络108的交换对象的第一交换字段可以被映射到租户系统1021的字段B、租户系统1022的字段F和租户系统1023的字段I。类似地,对等区块链网络108的交换对象的第二交换字段可以被映射到租户系统1021的字段C、租户系统1022的字段E和租户系统1023的字段J。因此,当接收到用于添加/修改租户系统1021的物理对象的记录的提议时,对应的交易对象包括具有来自所提议的物理/影子对象的字段B的值的第一交换字段和具有来自所提议的物理/影子对象的字段C的值的第二交换字段。交换对象经由用于对等区块链网络108中的验证/确认目的的映射元数据提供统一交易对象,同时允许租户系统1021仅向对等区块链网络108中的其他租户/对等方揭示信息的特定部分(例如,物理对象中的敏感信息/字段可能不包括在交易对象中,该交易对象分布在对等区块链网络108中的租户系统1021-1023之间,并随后包括在分布式分类账中)。
如本文所描述的,多租户服务器104可以代表租户系统1021-1023执行对等区块链网络108的许多功能。具体地,多租户服务器104可以包括用于每个租户系统1021-1023的虚拟空间/组织。每个虚拟空间/组织可以包括对应的租户系统1021-1023的数据和应用/服务,并且在逻辑上与其他租户系统1021-1023的所有其他虚拟空间/组织分离。例如每个虚拟空间/组织可以包括对应于对应的租户/租户系统1021-1023和区块链服务104D的单独实例化或访问的租户级对象104B。在该配置/架构中,每个租户系统1021-1023的虚拟空间/组织可以代表对应的租户系统1021-1023执行一个或多个区块链功能/操作。例如响应于接收到来自租户系统1021的向租户系统1021的物理对象的现有记录添加/插入新记录或者修改/更新现有记录的请求,多租户服务器104可以在多租户服务器104内的租户系统1021的虚拟空间/组织中生成影子对象记录。作为响应,交易队列104A可以使用对等区块链网络108的交换对象来生成与影子对象中的记录相对应的交易对象,使得交易对象包括具有来自影子对象的数据的交换字段,和使用租户系统1021的成组的密码密钥来生成与影子对象中的记录相对应的交易对象,使得该交易对象可以被分配或者以其他方式对其他租户系统1022和1023的虚拟空间/组织可用。
具体地,区块链服务104D的安全服务112可以基于每个租户系统102的许可/权限级别对交易对象的每个交换字段进行加密。例如,安全服务112可以确定租户系统1021已经读取、更新和插入用于第一和第二交换字段的许可/权限。相反,租户系统1022可以仅具有对第一交换字段的读取许可以及对第二交换字段的读取和更新许可。最后,租户系统1023可以不具有与第一交换字段相关的许可/权限,并且可以具有用于第二交换字段的读取、更新和插入权限。在该示例情形中,安全服务112可以基于租户系统1021-1023的私钥和公钥以及所分配的许可/权限级别来生成用于租户系统1021的第一组密钥、用于租户系统1022的第二组密钥以及用于租户系统1023的第三组密钥。第一组密钥允许租户系统1021读取、更新和插入与第一和第二交换字段相关的数据;第二组密钥允许租户系统1022读取第一交换字段并读取和更新第二交换字段;以及第三组密钥允许租户系统1023读取、更新和插入与第二交换字段相关的数据。因此,如上所述以及如下面将更详细描述的,多租户服务器104的安全服务112提供对区块链网络108中的数据的许可/权限级别控制。
在分配交易对象之后,其他租户系统1022和1023的虚拟空间/组织此后可以分析交易对象以确定验证/确认是否适当。交易队列104A可以等待来自租户系统1022和1023的虚拟空间/组织的验证/确认,从而实现对租户系统1021的物理对象的所提出的改变的共识。响应于共识,领导租户系统1021-1023的虚拟空间/组织可以(1)在对应物理对象中添加记录或修改记录(适当时),以及(2)将对应的条目/块添加到领导租户系统1021-1023的分布式分类账中。此后,领导租户系统1021-1023的虚拟空间/组织可以向其他/剩余租户系统1021-1023的虚拟空间/组织发送请求以将改变委托给它们的物理对象(基于在交换对象中定义的映射)和/或将对应的条目/块添加到这些租户系统1021-1023的分类账。如上所述并且如下面将更详细描述的,由多租户服务器104提供的云环境(例如由多租户服务器104提供的虚拟空间/组织)可以用于管理租户系统1021-1023之间的区块链交易。具体地,安全服务112对交换字段加密,使得可以对每个对等方/租户系统102和每个交换字段实施许可/权限(例如读取、更新和插入许可/权限)。
下面将通过示例更详细地描述图1的计算环境100的每个元件。在一些实施方案中,计算环境100可以包括比图1所示的更多元件。因此,图1的计算环境100仅仅是为了说明的目的。
如图1所示和如上所述,租户系统1021-1023和多租户服务器104可以通过成组的一个或多个通信网络106连接。该组一个或多个通信网络106可以例如是局域网(LAN)、广域网(WAN),诸如因特网的全局区域网络(GAN),或这些网络的组合。在另一个实施方案中,租户系统1021-1023和多租户服务器104可以经由有线或无线介质维持彼此的直接连接。
每个租户系统1021-1023可以是可由一个或多个用户操作的计算系统。例如租户系统1021-1023中的每一者可以是个人计算机(PC)、工作站、膝上型计算机、平板计算机、移动电话、智能电话、个人数字助理(PDA等)。如下面将更详细描述的,租户系统1021-1023可以与多租户服务器104通信以修改/添加/存储和获取数据。
租户系统1021-1023(有时称为客户端、对等或用户系统)可各自包括用于向用户呈现界面(例如图形用户界面(GUI))的屏幕/显示器(例如液晶(LCD)显示器),包括在网页中呈现的界面。如下面将更详细描述的,租户系统1021-1023中的每一者可以包括对应的交易生成器1101-1103,用于从用户接收输入以更与租户系统1021-1023相关联的改物理对象(例如在物理对象中添加新记录或修改物理对象中的现有记录),并且触发从对等区块链网络108中的其他租户系统1021-1023获得共识(例如验证/确认)以进行更改的过程。
租户系统1021-1023可以各自与一个或多个组织/租户相关联。例如租户系统1021的用户可以是第成组的织/租户的客户,并且租户系统1023的用户可以是第二组织/租户的客户。组织/租户可以是已经与多租户服务器104的管理员签订合同以经由租户系统1021-1023向用户提供对存储在其中的数据的访问的任何公司、企业、机构、协会或社会。
在一个实施方案中,多租户服务器104可以是向用户提供经由租户系统1021-1023和通信网络106对资源的访问的任何计算装置。例如多租户服务器104可以向租户系统1021-1023的用户提供对一个或多个物理对象和/或描述对物理对象的改变的一个或多个对应的分布式对等分类账中的数据的访问。例如租户系统1021的物理对象可以对应于医学实验室报告。在该示例性实施方案中,物理对象中的记录可以包括实验室报告标识符字段、患者姓名字段、实验室网络标识符字段、实验室测试标识符字段、患者标识符字段和社会保障号码字段。当期望对租户系统1021-1023的物理对象进行更改/改变(例如向物理对象添加新记录或修改物理对象中的现有记录)时,多租户服务器104使用交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D来尝试在对等区块链网络108中做出这些更改(例如在物理对象和与租户系统1021-1023相关联的分布式分类账中反映的更改)。
多租户服务器104可以包括多租户系统的硬件和软件的各种元件。如本文所使用的,术语“多租户系统”指的是其中硬件和软件的各种元件可以由一个或多个租户共享的那些系统。例如多租户服务器104可以同时处理对大量租户的请求,并且给定数据库表可以存储对可能大得多的租户数量的记录。多租户服务器104可以包括应用平台,该应用平台包括允许应用执行的架构(例如服务和元数据),诸如系统的硬件或软件基础设施。在一个实施方案中,多租户服务器104包括用于每个租户系统1021-1023的数据/对象以及服务的分开的虚拟空间/组织(有时称为部分或分区)。例如每个租户系统1021-1023可以被分配单独的虚拟空间/组织。每个虚拟空间/组织是多租户服务器104内的逻辑分区,并且除了由多租户服务器104代表对应的租户系统1021-1023使用的服务(例如区块链服务104D)之外,还包括仅对该租户系统1021-1023可访问而对其他租户系统1021-1023不可访问的单独的租户级对象104B(例如租户系统1021-1023不能读取和/或写入另一租户系统102的租户级对象104B)。
如图1所示,对等区块链网络108可以包括各自表示租户/对等方的租户系统1021-1023。图1所示的对等区块链网络108是区块链网络108内的对等方/租户的表示。在一些实施例中,对等区块链网络108可以被视为由多租户服务器104利用来自租户系统1021-1023的输入/请求来控制的分布式网络。如上所述并且如下面将更详细描述的,多租户服务器104可以代表租户系统1021-1023执行各种功能/操作。例如,多租户服务器104可以使用区块链服务104D代表租户系统1021-1023执行区块链功能/操作。如上所述,在一些实施方案中,区块链功能/操作可以在与对应租户系统1021-1023相关联的单独的虚拟空间/组织中执行。
尽管以三个租户/对等方(例如租户系统1021-1023)示出,但是在其他实施方式中,对等区块链网络108可以包括更多或更少的租户/对等方。例如,对等区块链网络108可以包括具有对应租户系统102的两个、四个、五个或更多个租户/对等方。因此,使用三个租户/对等方是为了说明的目的。
现在参照图2A和图2B,将描述根据一些实施方案的用于多租户服务器104管理对等区块链网络108中的数据的方法200。具体地,多租户服务器104提供的多租户云环境可以用于管理针对所述对等区块链网络108中的数据的租户系统1021-1023的许可/权限。
将结合图1所示的示例性计算环境100,图3A所示的示例性计算环境300A和/或图3B所示的示例性计算环境300B来描述方法200。然而,在其他实施方案中,方法200可以在其他环境中操作,包括多租户服务器104的不同实施方案。
如上所述,将参照其他图的示例性实施方案来描述图2A和图2B的流程图中的操作。然而,应当理解,可以由不同于参考其他附图所讨论的那些实施方案来执行流程图的操作,并且参考这些其他附图所讨论的实施方案可以执行不同于参考流程图所讨论的那些操作。
虽然以特定顺序在图2A和图2B中描述和显示,但是方法200的操作不限于该顺序。例如可以以不同的顺序或在部分或完全重叠的时间段中执行方法200的一个或多个操作。因此,方法200的描述和描绘是出于说明性目的,而并非旨在限制于特定实施方案。
如图2A所示,方法200可以在操作202开始,其中区块链服务104D的成员资格服务302A确定和/或向对等区块链网络108添加成组的租户(有时也称作对等方)。在一些实施方案中,在网络对象304A中标识对等区块链网络108,并且在对等对象304B中标识用于对等区块链网络108的租户(例如由租户系统1021-1023的标识符所代表的租户)。例如成员资格服务302A可以通过在操作202处检查对等对象304B来确定对等区块链网络108中的成组的租户。在一些实施方案中,向对等区块链网络108添加租户/租户系统1021-1023可能需要通过来自对等区块链网络108中的当前租户/租户系统1021-1023的验证/确认过程达成共识。在图1的示例性计算环境100、图3A的示例性计算环境300A和图3B的示例性计算环境300B中,下面用于阐述方法200,成员资格服务302A在操作202处确定对等区块链网络108包括租户系统1021-1023,它们表示租户/对等方。
如上所述,每个租户系统1021-1023可以包括多租户服务器104内的单独的虚拟空间/组织。每个虚拟空间/组织包括单独的租户级对象104B,除了由代表对应的租户系统1021-1023的多租户服务器104所使用的服务(例如区块链服务104D)之外,该租户级对象104B仅对该租户系统1021-1023是可访问的,而对其他租户系统1021-1023是不可访问的(例如租户系统1021-1023不能读取和/或写入另一租户系统1021-1023的租户级对象104B)。例如如图3A所示,每个租户系统1021-1023可以与具有对应的租户级对象104B1-104B3(例如物理对象3061-3063、影子对象3081-3083、对等分类账3101-3103,以及映射对象3161-3163)和、区块链服务104D1-104D3的单独的虚拟空间/组织3141-3143相关联。虽然在图3A中示出为针对每个虚拟空间/组织3141-3143的区块链服务104D1-104D3的单独实例化,但是每个虚拟空间/组织3141-3143可以改为具有对如图3B所示的区块链服务104D的单个实例化的单独访问。
在操作204,成员资格服务302A可以为对等区块链网络108中的每个租户/租户系统1021-1023生成成组的公钥(PK)和私钥/密钥(SK)。在一个实施方案中,基于所确定的私钥来生成公钥。例如可以使用单向密码散列函数(例如SHA256)来基于对应的私钥生成租户系统1021-1023的公钥。在一个实施方案中,在操作204处生成之后,公钥和私钥/密钥可由成员资格服务302A存储在钱包对象304C中。如下面将更详细地描述的,交易队列104A可以利用钱包对象304C中存储的私钥/密钥来为租户系统1021-1023中的每个生成交易对象和成组的许可匙。具体地,交易队列104A可以使用公钥和私钥/密钥来实施对等区块链网络108所使用的交易的密码元件,安全服务112可以使用许可钥来实施租户系统1021-1023的许可/权限。
在操作206,成员资格服务302A可以确定用于对等区块链网络108的交换对象。在一个实施方案中,交换对象由成组的交换字段和映射元数据来定义,映射元数据定义了每个交换字段与租户系统1021-1023的物理对象中的字段之间的映射。例如图4分别示出了租户系统1021-1023的物理对象3061-3063。在该示例中,对应于租户系统1021的物理对象3061包括记录4041-404M,该记录4041-404M由字段4061-406N组成,并且每个记录4041-404M包括用于每个字段4061-406N的值4081,1-M,N。类似地,对应于租户系统1022的物理对象3062包括由字段4121-412H组成的记录4101-410G,并且每个记录4101-410G包括用于每个字段4121-412H的值4141,1-G,H。类似地,对应于租户系统1023的物理对象3063包括由字段4181-418s组成的记录4161-416Q,并且每个记录4161-416Q包括用于每个字段4181-418s的值4201,1-Q,S。物理对象3061-3063中的每一者可以表示任何类型的数据。例如租户系统1021可以在医学实验室中操作或者以其他方式对应于医学实验室。在该示例中,物理对象3061可表示医学实验室报告(例如记录4041-4042中的每一者可对应于单独的医学实验室报告)。租户系统1022可以在医生的办公室中操作或者以其他方式对应于医生的办公室。在该示例中,物理对象3062可以表示患者文件(例如每个记录4101-410G可以对应于单独的患者文件)。
对于图4所示的示例性物理对象3061-3063,成员资格服务302A可确定如图5所示的可存储在数字资产对象304D中的交换对象502。如图5所示,交换对象502由交换字段5041-5043和将交换字段504映射到物理对象306的字段的映射元数据来定义。在此配置中,交换字段5041映射到物理对象3061的字段4062、物理对象3062的字段412H和物理对象3063的字段4182。交换字段5042映射到物理对象3061的字段406N和物理对象3062的字段4121和物理对象3063的字段4181。交换字段5043映射到物理对象3061的字段4061和物理对象3062的字段4122。因此,交换对象502的映射元数据将交换字段504映射/链接到物理对象306的字段。在一些实施方案中,交换字段5041-5043的数目(即三)小于(1)物理对象3061中的字段4061-406N的数目(即,N)、(2)物理对象3062中的字段4121-412H的数目(即,H)和/或(3)物理对象3063中的字段4181-418S的数目(即,S)。因此,将在租户系统1021-1023之间分布的所生成的交易对象以及包括在分布式对等分类账310中的对应数据/信息可以不包括敏感数据。
交换字段504到物理对象3061-3063的字段406、412和418的映射指示物理对象3061-3063的字段406、412和418之间的关系。例如使用物理对象3061表示医疗实验室报告并且物理对象3062表示患者文件的上述示例,物理对象3061的字段4062可以对应于针对其生成对应的医疗实验室报告的患者标识符并且物理对象3062的字段412H可以对应于针对其表示对应的患者文件的患者标识符。如图5所示并且如上所述,这些字段4062和412H被映射到相同的交换字段5041,指示这些字段4062和412H表示相似的数据(例如字段4062和412H都表示患者标识符)。
在一些实施方案中,每个租户/租户系统1021-1023可以是包括区块链网络108的多个区块链网络的一部分。这些区块链网络中的每一者可包括与区块链网络108的重叠成员资格和/或可包括附加的对等方/租户系统102。在一些实施方案中,网络对象304A可以包括由多租户服务器104管理的每个区块链网络的标识符,对等对象304B可以包括用于由多租户服务器104管理的区块链网络中的每个对等方/租户系统102的标识符,钱包对象304C可以包括用于由多租户服务器104管理的区块链网络中的每个对等方/租户系统102的钥,并且数字资产对象304D可以包括用于由多租户服务器104管理的每个区块链网络的交换对象502。在一些实施方案中,每个租户系统102的租户级对象104B可以包括映射对象316。每个映射对象316包括对应租户系统102的映射元数据。例如,对应于租户系统1021的映射对象3161包括将交换字段5041映射到物理对象3061的字段4062的映射元数据;将交换字段5042映射到物理对象3061的字段406N的映射元数据;以及将交换字段5043映射到物理对象3061的字段4061的映射元数据。相反,对应于租户系统1022的映射对象3162包括将交换字段5041映射到物理对象3062的字段412H的映射元数据;将交换字段5042映射到物理对象3062的字段4121的映射元数据;以及将交换字段5043映射到物理对象3062的字段4122的映射元数据。最后,对应于租户系统1023的映射对象3163包括将交换字段5041映射到物理对象3063的字段4182的映射元数据;以及将交换字段5043映射到物理对象3063的字段4181的映射元数据。因此,每个映射对象316仅包括与对应租户系统102相关联的映射元数据。
在操作208,安全服务112可以确定每个交换字段504和租户系统102的许可/权限(有时称为许可/权限级别)。例如,区块链网络108可提供每个交换字段504的读取、更新和插入权限。在该示例中,安全服务112可以确定租户系统1021已经读取、更新和插入用于交换字段5041-5043的许可。相反,租户系统1022可以仅具有对交换字段5041的读取许可以及对交换字段5042和5043的读取和更新许可。最后,租户系统1023可以不具有与交换字段5041相关的许可/权限,并且可以具有用于交换字段5042和5043的读取、更新和插入权限。在操作208处的权限/许可的确定可以基于来自租户系统102的管理员或订阅级别的指示。
在操作210中,安全服务112可以为每个租户系统102生成成组的许可钥。许可钥的组可以由租户系统102使用或代表租户系统102用于访问一个或多个交换字段504。例如,每组许可钥可以包括用于租户系统102的每个交换字段504和每个许可/权限级别的单独钥。例如,图6示出了分别用于每个租户系统1021-1023的安全对象3181-3183。如图所示,针对与对应租户系统102相关联的每个许可/权限级别606,为每个交换字段504提密钥的组6041-6043。这些密钥的组6041-6043可以基于每个对应租户系统102的公钥和私钥中的一个或多个来生成,并且可以用于经由对应的交易对象和对等分类账310将交换字段504读取、更新和插入到区块链网络108中。
在操作212中,区块链服务104D的交易管理服务302B可接收(1)要添加到物理对象3061-3063的提议的新记录或(2)对物理对象3061-3063的现有记录的修改。例如,如以上示例中所述,物理对象3061可以对应于医学实验室报告,并且虚拟空间/组织3141的交易管理服务302B可以在操作212中从租户系统1021接收添加/插入新的实验室报告记录404的请求。在另一示例中,物理对象3061也可以对应于医学实验室报告,并且在操作212中,虚拟空间/组织3141的交易管理服务302B可以从租户系统1021接收修改现有实验室报告记录404的请求。出于解释的目的,将关于在操作212中从租户系统1021接收向物理对象3061添加/插入记录的请求的虚拟空间/组织3141的交易管理服务302B来描述方法200。然而,对于物理对象306的修改,方法200可以以类似的方式工作。
在操作214中,安全服务112可以确定租户系统1021是否具有足够的许可/权限来执行从操作212接收的请求(即,安全服务112确定租户系统1021是否被授权添加/插入新的实验室报告记录404)。在一个实施方案中,该确定基于安全对象3181,安全对象3181包括用于租户系统1021的每个许可/权限级别606的钥。具体地,响应于未能为被请求插入的每个交换字段504定位许可钥并对应于插入许可/权限606,安全服务112可以在操作214中确定,租户系统1021没有足够的许可/权限来执行从操作212接收的请求,并且方法200可以移至操作216以拒绝来自操作212的请求。
相反,响应于为被请求插入的每个交换字段504定位许可钥并对应于插入许可/权限606,安全服务112可以在操作214中确定租户系统1021具有足够的许可/权限来执行从操作212接收的请求,并且方法200可以移至操作218。
在操作218中,虚拟空间/组织3141的交易管理服务302B在与操作212的接收到的请求(即新记录)相对应的影子对象3081中生成记录。影子对象3081可以对应于租户系统1021并且可以包括物理对象3061的所有字段4061-406N。与物理对象3061相反,物理对象3061存储也在租户系统1021的对应对等分类账3101中表示的已提交数据(例如对租户系统1021的物理对象3061的记录404的添加/修改),影子对象3081表示未提交给物理对象3061的数据。如将在下面更详细地描述的,租户系统1021的影子对象3081中的数据在被提交给物理对象3061并由租户系统1021的对等分类账3101表示之前需要由其他租户系统1022和1023通过共识来验证/证实。该承诺和表示还可以扩展到租户系统1022和1023的物理对象3062和3063以及对等分类账3102和3103,这将在下面更详细地描述。
图7示出了根据一个示例实施方案的对应于租户系统1021和物理对象3061的影子对象3081的示例。如图所示,影子对象3081包括两个记录7041和7042,对应于对物理对象3061的两个单独提出的改变。例如,第一记录7041对应于物理对象3061中的记录404的添加/插入,并且第二记录7042对应于物理对象3061中的新添加/插入的记录404的一个或多个字段值408的修改/更新。例如,第一记录7041可以提出添加/插入对应于医学实验室报告的记录404,而第二记录7042可以提出修改新的医学实验室报告记录404的若干字段值408(例如,修改/更新对应于医学实验室报告的状态的字段值408)。
在操作220中,事件管理服务302C和/或交易队列104A可以基于(1)在操作218中添加到影子对象3081的记录7041和(2)对等区块链网络108的交换对象502来生成交易对象。具体地,交易对象可以包括对应的交易字段5041-5043中的交易字段5041-5043中的每一个的值和在操作218中添加到影子对象3081的来自记录7041的数据/字段值。例如,图8示出根据一个示例性实施方案的交易对象802的示例。
如图8所示,交易对象802基于交换字段5041-5043和物理对象3061的字段406之间的映射将交换对象502的所有交换字段5041-5043和来自影子对象3081中的记录7041的字段值706包括在适当位置中。虽然相对于记录7041示出,但是可以为记录7042生成单独的交易对象802。如下面将描述的,将在下文中用于说明目的的交易对象802可以被传递或以其他方式可用于其他租户系统1022和1023,以确定在区块链网络108中是否存在共识来提交所提出的记录404(例如以验证/证实交易对象802)。
在一个实施方案中,交易对象802的生成可以包括基于(1)来自影子对象3081的记录7041、(2)交易对象802的唯一分配的标识符(例如在生成时被顺序地分配给交易对象802的标识符)以及(3)租户系统1021的私钥(即提出改变的租户系统102的私钥)向交易对象添加签名。例如,记录7041和交易对象802的唯一分配的标识符可以合并或者以其他方式组合在一起以形成单个消息,并且租户系统1021的私钥可以用于(例如使用单向密码散列函数,诸如SH 256)加密消息以形成数字签名。因此,交易对象802包括来自影子对象3081的记录7041以及使用租户系统1021的私钥生成的签名。
在一些实施方案中,安全服务112可以使用(1)租户系统1021的私钥(即,提出改变的租户系统102私钥;(2)具有与交换字段504相关的许可/权限606的每个租户系统102的许可钥(即,已经读取、更新和/或插入与交换字段504相关的权限的租户系统102的许可钥);和/或(3)具有与交换字段504相关的许可/权限的每个租户系统102的公钥来对交易对象802的每个交换字段504单独地加密。在这些实施方案中,使用具有与交换字段504相关的许可/权限的每个租户系统102的许可钥确保仅这些租户系统102具有对对应交换字段504的访问(例如,读取访问)。在一些实施方案中,私钥、公钥和/或许可钥可与密码功能(例如SHA256)一起使用以生成加密数据。
在操作222中,事件管理服务302C和交易队列104A可以使交易对象802对其他租户系统1022和1023可用。在一些实施方案中,使交易对象802对其他租户系统1022和1023可用包括交易队列104A将交易对象802放置在对租户系统1022和1023可用的多租户服务器104的一部分/分区中。例如,如上所述,多租户服务器104可以包括用于每个租户系统1021-1023的单独的虚拟空间/组织314。每个虚拟空间/组织314包括仅对该租户系统1021-1023可访问并且对其他租户系统1021-1023不可访问的数据和服务。在操作222中,多租户服务器104可以将来自租户系统1021的虚拟空间/组织3141的交易对象802传递到租户系统1022和1023的虚拟空间/组织3142和3143,使得租户系统1022和1023的虚拟空间/组织3142和3143可以处理/分析交易对象802以用于可能的验证/确认。如上所述,由于交换字段504可以使用私钥、公钥和/或许可钥来加密,因此仅具有对交换字段504的读取访问的那些租户系统102或许能够确定该交换字段504的内容。
在操作224,交易管理服务302B可以监视来自租户系统1022和1023的响应,以确定是否已经达成关于交易对象802的共识或者是否未能达成共识。在一个实施方案中,共识管理服务302D可以定义交易管理服务302B在确定关于交易对象802的租户系统1022和1023何时达成共识时使用的阈值或规则。例如在一些实施方案中,共识管理服务302D可以指示共识要求所有租户系统1022和1023来验证/确认交易对象802,而在其他实施方案中,共识管理服务302D可以指示共识要求大部分租户系统1022和1023来验证/确认交易对象802。在一些实施方案中,共识管理服务302E指示由租户系统1022和1023使用的规则和/或操作,特别是与租户系统1022和1023关联的虚拟空间/组织3142和3143,以确定交易对象802的验证/确认是否适当。例如共识管理服务302E可以指示租户系统1021的公钥与交易对象802中的签名和消息一起用于确定交易对象802中的信息是否源自租户系统1021并由租户系统1021授权。
在操作226,交易管理服务302B和交易队列104A可以响应于未能从租户系统1022和1023获得共识而放弃交易对象802(例如未能获得由共识管理服务302D定义/指示的共识)。在一些实施方案中,放弃交易对象802可包括向租户系统1021指示交易对象802和物理对象3061的对应改变(即将新记录404添加到物理对象3061或将现有记录404修改到物理对象3061)已被对等区块链网络108拒绝(即未实现/获得对等区块链网络108中的共识)。响应于接收到交易对象802和对物理对象的对应更改已被对等区块链网络108拒绝的通知,虚拟空间/组织3141可删除影子对象3081中对应于交易对象802的记录7041。
在操作228中,交易管理服务302B可以代表领导租户系统1021-1023提交交易对象802和/或与已经对其达成共识的交易对象802相对应的影子对象3081中的记录7041。在一些实施方案中,领导租户系统1021-1023可以由成员资格服务302A从对等区块链网络108中的租户系统1021-1023中随机选择。当领导租户系统1021-1023是租户系统1021(即在操作212中发起或以其他方式与对物理对象3061的改变相关联的租户系统1021-1023)时,租户系统1021的虚拟空间/组织3141中的交易管理服务302B可以提交影子对象3081中的记录7041,在操作220中,代表租户系统1021,影子对象3081对应于达成共识的交易对象802。在这种情况下,承诺可以包括将来自影子对象3081的记录7041添加到物理对象3061。当领导租户系统1021-1023是租户系统1022或租户系统1023时,租户系统1022和1023的对应虚拟空间/组织3142和3143中的交易管理服务302B可以在操作220中代表租户系统1022/1023提交达成共识的交易对象802。在这种情况下,承诺可以包括将记录410/416添加到物理对象3062/3063中的记录410/416,或者修改物理对象3062/3063中的记录410/416,该记录410/416包括来自映射到物理对象3062/3063中的对应字段412/418的影子对象3081的字段值706,如交换对象502或对应映射对象316所指示的。
在操作230中,交易管理服务302B可以代表领导租户系统1021-1023在对应于交易对象802的对等分类账3101-3103中添加条目/块。具体地,领导租户系统1021-1023的虚拟空间/组织3141-3143的交易管理服务302B可以代表领导租户系统1021-1023在对应于交易对象802的对等分类账3101-3103中添加条目/块。添加到对等分类账3101-3103的条目/块可以包括多条信息。例如如图9所示,对等分类账3101中的每个条目/块9041-904T可以包括对对等分类账3101中的前一个条目/块904、交易对象802(以及一个或多个其他交易对象)以及临时数(即,用于满足对等链区块网络108的要求的任意数)的引用。
在操作232中,交易管理服务302B和/或交易队列104A可以代表领导租户系统1021-1023发送请求或者以其他方式触发其他租户系统1021-1023来向对应的物理对象3061-3063提交交易对象802并将块/条目添加到对应对等分类账3101-3103。特别地,领导租户系统1021-1023的虚拟空间/组织3141-3143的交易管理服务302B传递请求或以其他方式做出请求或以其他方式触发其他租户系统1021-1023的虚拟空间/组织3141-3143的交易管理服务302B,以向对应的物理对象3061-3063提交交易对象802和向对应的对等分类账3101-3103添加块/条目。对等分类账3101-3103允许计算环境100、300A和/或300B维护数据的透明度和可审计性。具体地,多租户服务器104通过在对等分类账3101-3103中记录/反映交易来为每个交易提供不可变性,对等分类账3101-3103在所有租户系统1021-1023上被复制。如上所述,租户系统1021-1023参与共识机制以验证/确认交易/交易对象802对象,并且仅在验证/确认交易/交易对象802对象之后,才将交易/交易对象802对象提交给对等分类账3101-3103。在一些实施方案中,对等分类账3101-3103可以存储在Merkle有向无环图(DAG)结构中。Merkle DAG可以以Oracle和/或HBase存储器表示。在数据被提交给对等分类账3101-3103时、在数据被提交给对等分类账3101-3103后,或在数据被提交给对等分类账3101-3103的条件下,相关物理对象3061-3063将与对等分类账3101-3103中的最近数据一起更新。在一些实施方案中,对等分类账3101-3103还可以保存描述租户/租户系统1021-1023的数据,该租户/租户系统1021-1023可以查看数据或以其他方式在对等区块链网络108中操作。
在操作234中,一个或多个租户系统102可以尝试读取对应的对等分类账310中的一个或多个交换字段504。例如,添加到上述示例中的租户系统1021-1023的对等分类账3101-3103的事务对象802包括交换字段5041-5043。如上所述,租户系统1021-1023中的每一个已经分配了在相应的安全对象3181-3183中所指示的许可/权限级别。因此,与交换字段504相关的租户系统1021-1023的许可/权限级别是独立的。例如,在操作234中,租户系统1021的虚拟空间/组织3141可以尝试读取存储在对等分类账3101中的交易对象802的交换字段5041。由于租户系统1021的安全对象3181包括用于读取交换字段5041的许可钥(即KEY_A),因此租户系统1021的虚拟空间/组织3141将能够基于该许可钥(即KEY_A)针对存储在对等分类账3101中的交易对象802成功地解码交换字段5041中的值。类似地,由于租户系统1022的安全对象3182包括用于读取交换字段5041的许可钥(即KEY_J),因此租户系统1022的虚拟空间/组织3142将能够基于许可钥(即KEY_J)针对存储在对等分类器3102中的交易对象802成功地解码交换字段5041中的值。然而,由于租户系统1023的安全对象3183不包括用于读取交换字段5041的许可钥,因此租户系统1023的虚拟空间/组织3143将不能针对存储在对等分类账3103中的交易对象802成功地解码交换字段5041的值。
如上所述,方法200允许多租户服务器104代表租户系统1021-1023管理对等区块链网络108中的数据。具体地,由多租户服务器104提供的云环境可以用于保护存储在对等分类账310中的交易对象802中的数据,使得未经授权的用户/租户/对等方不能查看敏感数据。
在一些实施方案中,计算环境300A和/或300B可以构建在平台312之上,该平台312包括用于实现多租户服务器104的其他部件的服务和/或元数据。在一些实施方案中,区块链服务104D可以包括附加服务,诸如用于跟踪与每个租户/对等方相关联的记录和项目的硬币服务302F。
如以上所使用的,术语“用户”是指使用系统和/或服务的实体(例如个人)。多租户架构向每个租户提供软件实例的专用共享以及(通常)为用户管理、租户特定功能、配置、定制、非功能属性、相关联的应用等输入租户特定数据的能力。多租户与多实例架构形成对比,在多实例架构中,独立的软件实例代表不同的租户进行操作。租户包括成组的用户,该组用户共享对提供服务的软件实例的具有特定权限的公共访问。租户可以是组织(例如公司、公司内的部门等)。租户可以具有相对于系统和/或服务的一个或多个角色。例如在客户关系管理(CRM)系统或服务的上下文中,租户可以是使用CRM系统或服务来管理租户关于供应商的一个或多个客户的信息的供应商。作为另一个示例,在数据即服务(DAAS)的上下文中,成组的租户可以是提供数据的销售商,而另成组的租户可以是不同销售商的客户或所有销售商的数据。作为另一个示例,在平台即服务(PAAS)的上下文中,成组的租户可以是提供应用/服务的第三方应用开发者,而另成组的租户可以是不同第三方应用开发者或所有第三方应用开发者的客户。用户可以具有相对于系统和/或服务的一个或多个角色。为了提供一些示例,用户可以是租户(例如供应商或客户)的代表(有时被称为“最终用户”)、提供系统和/或服务的公司的代表(例如管理员),和/或正在平台上创建和维护平台即服务(PAAS)的第三方应用开发者的代表(例如程序员)。
上述实施方案的一个或多个部分可以包括软件和/或软件和硬件的组合。电子装置(也称为计算装置、计算机等)包括硬件和软件,诸如耦合到一个或多个机器可读存储介质(例如磁盘、光盘、只读存储器(ROM)、闪存、相变存储器、固态驱动器(SSD))的一个或多个处理器的集合,以存储用于在处理器的集合上执行的代码(其由软件指令组成并且其有时称为计算机程序代码或计算机程序)和/或存储数据。例如电子装置可以包括非易失性存储器(具有较慢的读/写时间,例如磁盘、光盘、只读存储器(ROM)、闪存、相变存储器、SSD)和易失性存储器(例如、快闪存储器、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM),其中非易失性存储器即使在电子装置存在时也保持代码/数据因为易失性存储器通常具有更快的读/写时间,所以在操作期间,电子装置将要由该电子装置的该组处理器执行的那部分代码从非易失性存储器复制到该电子装置的易失性存储器中。作为另一个示例,电子装置可以包括非易失性存储器(例如相变存储器),当电子装置关闭时,该非易失性存储器保存代码/数据,并且该非易失性存储器具有足够快的读/写时间,使得不是将要执行的代码/数据的部分复制到易失性存储器中,该代码/数据可以被直接提供给该组处理器(例如未被加载到该组处理器的高速缓存中);换言之,该非易失性存储器既用作长期存储又用作主存储器,因此电子装置可以不具有或者仅具有少量的用于主存储器的易失性存储器。除了在机器可读存储介质上存储代码和/或数据之外,典型的电子装置可以在一个或多个机器可读传输介质(也称为载波)(例如电、光、无线电、声或其他形式的传播信号-诸如载波、红外信号)上传输代码和/或数据。例如典型的电子装置还包括成组的一个或多个物理网络接口,以与其他电子装置建立网络连接(以使用传播信号来传输和/或接收代码和/或数据)。因此,电子装置可以存储代码和/或与一个或多个机器可读介质(也称为计算机可读介质)一起传输(内部地和/或通过网络与其他电子装置一起传输)代码和/或数据。
电子装置用于各种目的。例如电子装置(有时称为服务器电子装置)可以执行使其作为用于向另一电子装置(有时称为客户端电子装置、客户端计算装置,或客户端装置),执行客户端软件(有时称为客户端代码或租户系统)以与服务通信。服务器和客户端电子装置可以分别由处于管理员(也称为管理用户)和终端用户角色的用户操作。
图10A是示出根据一些示例性实施方案的电子装置1000的框图。图10A包括硬件1020,其包括成组的一个或多个处理器1022、成组的一个或多个网络接口1024(无线和/或有线),以及其中存储有软件1028(其包括可由成组的一个或多个处理器1022执行的指令)的非瞬态机器可读存储介质1026。先前描述的租户系统102和交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D中的每一者可以在一个或多个电子装置1000中实施。在一个实施方案中:1)每个租户系统102在电子装置1000中的单独一个中实施(例如在由用户操作的用户电子装置中,其中软件1028表示实施租户系统102以与交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D接口的软件(例如web浏览器、本地客户端、门户、命令行接口和/或基于诸如简单对象访问协议(SOAP)、表述性状态转移(REST)等协议的应用程序接口(API));2)在电子装置1000中的一个或多个的单独集合(例如成组的一个或多个服务器电子装置,其中软件1028表示用于实施交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D的软件)中实施交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D;以及3)在操作中,实施租户系统102和交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D的电子装置将通信地耦合(例如通过网络)并且将在它们之间(或通过一个或多个其他层)建立连接,以用于向多租户服务器104委托所提议的新记录或对物理对象中的现有记录的所提议的修改。在其他实施方案(例如租户系统102和多租户服务器104在单个电子装置1000上实施的实施方案)中,可以使用电子装置的其他配置。
在使用计算虚拟化的电子装置中,一个或多个处理器1022的集合通常执行软件以实例化虚拟化层1008和软件容器1004A-R(例如利用操作系统级虚拟化,虚拟化层1008表示操作系统的内核(或在基本操作系统上执行的垫片),其允许创建多个软件容器1004A-R(表示单独的用户空间实例并且也被称为虚拟化引擎、虚拟专用服务器或监狱),这些软件容器可以各自被用于执行成组的一个或多个应用;利用完全虚拟化,虚拟化层1008表示在主机操作系统之上执行的管理程序(有时被称为虚拟机监视器(VMM))或管理程序,并且软件容器1004A-R各自表示被称为虚拟机的软件容器的紧密隔离形式,该虚拟机由管理程序运行并且可以包括访客操作系统;对于准虚拟化,与虚拟机一起运行的操作系统或应用程序可能知道存在用于优化目的的虚拟化。同样,在使用计算虚拟化的电子装置中,在操作期间,软件1028的实例(示为实例1006A)在虚拟化层1008上的软件容器1004A内执行。在没有使用计算虚拟化的电子装置中,在“裸金属”电子装置1000上执行主机操作系统之上的实例1006A。实例906A的实例化,以及虚拟化层1008和软件容器1004A-R(如果实施的话)被统称为软件实例1002。
电子装置的可替代实施方案可以具有与上述实施方案不同的多种变化。例如定制的硬件和/或加速器也可以用于电子装置中。
网络装置(ND)是可通信地互连网络上的其他电子装置(例如其他网络装置、用户电子装置、服务器电子装置等)的电子装置。一些网络装置是“多业务网络装置”,其为多联网功能(例如路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或用户管理)提供支持,和/或为多应用服务(例如数据、语音和视频)提供支持。
图10B是根据一些实施方案的其中可以部署租户系统1021-1023和多租户服务器104的环境的框图。系统1040包括用于提供服务1042的硬件(成组的一个或多个电子装置)和软件,该服务942包括交易队列104A、租户级对象104B、网络级对象104C和区块链服务104D。系统1040通过网络1082耦合到用户电子装置1080A-S。服务1042可以是使其对为一个或多个其他组织(有时称为外部用户)工作的用户1084A-S中的一个或多个可用的按需服务,以使得这些组织不必关心构建和/或维护系统,而是替代地在需要时(例如按用户1084A-S的需求)使用服务1042。服务1042可以经由一个或多个应用编程接口(API)(例如表述性状态转移(REST)API)彼此通信和/或与用户电子装置1080A-S中的一个或多个通信。用户电子装置1080A-S由用户1084A-S操作。
在一个实施方案中,系统1040是支持多个服务的多租户云计算架构,诸如客户关系管理(CRM)服务(例如由salesforce.com公司销售的Sales Cloud)、合同/建议/报价服务(例如由salesforce.com公司销售的Salesforce CPQ)、客户支持服务(例如由salesforce.com公司销售的Service Cloud和Field Service Lightning)、营销服务(例如由salesforce.com公司销售的Marketing Cloud、Salesforce DMP和Pardot)、商城服务(例如由salesforce.com公司销售的Commerce Cloud Digital、Commerce Cloud OrderManagement和Commerce Cloud Store)、与外部商业数据源的通信(例如由salesforce.com公司销售的Salesforce Connect)、生产力服务(例如由salesforce.com公司销售的Quip)、数据即服务(DAAS)(例如由salesforce.com公司销售的Database.comTM)、平台即服务(PAAS)(例如由salesforce.com公司销售的执行运行时和应用程序开发工具,诸如HerokuTM Enterprise、Thunder和Force.以及Lightning)、分析服务(例如由salesforce.com公司销售的Einstein Analytics、Sales Analytics和/或ServiceAnalytics)、社区服务(例如由salesforce.com公司销售的Community Cloud和Chatter)、物联网(IoT)服务(例如由salesforce.com公司销售的Salesforce IoT和IoT Cloud)、行业特定服务(例如由salesforce.com公司销售的Financial Services Cloud和HealthCloud)和/或基础设施即服务(IAAS)(例如虚拟机、服务器和/或存储)。例如系统1040可以包括使得PAAS能够创建、管理和执行由应用平台1044的提供者开发的一个或多个应用的应用平台1044、经由一个或多个用户电子装置1080A-S访问系统1040的用户,或者经由一个或多个用户电子装置1080A-S访问系统1040的第三方应用开发者。
在一些实施方案中,一个或多个服务1042可以利用用于租户数据1048的一个或多个多租户数据库1046,以及用于系统1040可用的系统数据1052的系统数据存储1050。在某些实施方案中,系统1040包括成组的一个或多个服务器,其在服务器电子装置上运行并且被配置为处理针对与任何租户相关联的任何授权用户的请求(用户和/或租户与特定服务器没有服务器亲缘关系)。用户电子装置1080A-S与系统1040的服务器通信以请求和更新由系统1040托管的租户级数据和系统级数据,并且作为响应,系统1040(例如系统1040中的一个或多个服务器)可以自动生成被设计为从一个或多个多租户数据库1046和/或系统数据存储1050访问期望信息的一个或多个结构化查询语言(SQL)语句(例如一个或多个SQL查询)。
在一些实施方案中,服务1042使用响应于来自用户电子装置1080A-S的查询并根据元数据在运行时动态创建的虚拟应用来实施,包括:1)描述多个租户共同的构造(例如表单、报告、工作流、用户访问权限、业务逻辑)的元数据;以及/或2)租户特定的并且描述租户特定构造(例如表、报告、仪表板、接口等)的元数据,并且存储在多租户数据库中。为此,程序代码1060可以是将来自元数据的应用数据具体化的运行时引擎;也就是说,编译后的运行时引擎(也称为系统内核)、租户数据和元数据存在明显的分离,这使得可以独立地更新系统内核和租户特定的应用程序和架构,而实际上没有一个影响其他应用程序和架构的风险。此外,在一个实施方案中,应用程序平台1044包括支持应用程序开发者创建和管理应用程序的应用程序设置机制,应用程序开发者可以通过保存例程将其保存为元数据。可使用提供编程语言风格接口的过程语言/结构化对象查询语言(PL/SOQL)来编码对包括交易队列104A、租户级对象104B、网络级别对象104C和区块链服务104D的这些应用的调用。在由Craig Weissman于2007年9月21日委托的标题为“METHOD AND SYSTEM FOR ALLOWINGACCESS TO DEVELOPED APPLICATIONS VIA A MULTI-TENANT ON-DEMAND DATABASESERVICE”的美国专利第7,730,478号中讨论了一些PL/SOQL语言实施方案的详细描述。对应用的调用可以由一个或多个系统进程检测,该系统进程管理获取进行调用的租户的应用元数据并且作为软件容器(例如虚拟机)中的应用执行元数据。
网络1082可以是LAN(局域网)、WAN(广域网)、电话网络、无线网络、点对点网络、星形网络、令牌环网络、集线器网络或其他适当配置中的任何一者或任何组合。该网络可以遵循一个或多个网络协议,包括电气和电子工程师协会(IEEE)协议,第三代合作伙伴计划(3GPP)协议,或类似的有线和/或无线协议,并且可以包括用于在系统1040和用户电子装置1080A-S之间路由数据的一个或多个中间装置。
每个用户电子装置1080A-S(诸如台式个人计算机、工作站、膝上型计算机、个人数字助理(PDA)、智能电话等)通常包括一个或多个用户接口装置,诸如键盘、鼠标、轨迹球、触摸板、触摸屏、笔等,用于与在显示器(例如监视器屏幕、液晶显示器(LCD)等)上提供的图形用户界面(GUI)结合系统1040提供的页面、表格、应用和其他信息进行交互。例如用户接口装置可用于访问由系统1040主存的数据和应用,并对所存储的数据执行搜索,否则允许用户1084与可呈现给用户1084的各种GUI页面交互。用户电子装置1080A-S可以使用TCP/IP(传输控制协议和网际协议)与系统1040通信,并且在更高的网络级使用其他联网协议来通信,诸如超文本传输协议(HTTP)、FTP、Andrew文件系统(AFS)、无线应用协议(WAP)、文件传输协议(FTP)、网络文件系统(NFS)、基于诸如简单对象访问协议(SOAP)、表述性状态传输(REST)等协议的应用程序接口(API)。在使用HTTP的示例中,一个或多个用户电子装置1080A-S可以包括HTTP客户端(通常称为“浏览器”),用于向系统1040的服务器发送HTTP消息和从其接收HTTP消息,从而允许用户电子装置1080A-S的用户1084通过网络1082访问、处理和查看来自系统1040的对其可用的信息、页面和应用。
在以上描述中,为了提供更透彻的理解,阐述了许多具体细节,诸如资源分区/共享/复制实施方案,系统部件的类型和相互关系,以及逻辑分区/集成选择。然而,本领域的技术人员应当理解,可以在没有这些具体细节的情况下实施本发明。在其他实例中,没有详细示出控制结构、逻辑实现、操作码、指定操作数的装置,以及完整的软件指令序列,因为本领域的普通技术人员通过所包括的描述将能够实施所描述的内容而无需过多的实验。
说明书中对“一个实施方案”、“示例性实施方案”等的引用指示所描述的实施方案可以包括特定特征、结构或特性,但是每种实施方案可以不一定包括该特定特征、结构或特性。此外,这样的短语不一定指同一实施方案。此外,当结合实施方案描述特定特征、结构或特性时,认为结合其他实施方案影响这样的特征、结构或特性是在本领域技术人员的知识范围内的,无论是否明确描述。
本文中可使用带虚线边框(例如大破折号、小破折号、点破折号和点)的括号文本和块来说明向一些实施方案添加额外特征的任选操作和/或结构。然而,这种表示法不应被认为意味着这些是唯一的选项或可替代操作,和/或具有实心边界的区块在某些实施方案中不是可替代的。
在下面的描述和权利要求中,可以使用术语“耦合”及其派生词。“耦合”用于表示两个或多个元件彼此可以直接物理或电接触、彼此协作或交互,也可以不直接物理或电接触。
参照其他附图中的示例性实施方案来描述流程图中的操作。然而,可以由不同于参考其他附图所讨论的那些的实施方案来执行流程图的操作,并且参考这些其他附图所讨论的实施方案可以执行不同于参考流程图所讨论的那些的操作。
虽然附图中的流程图示出了由某些实施方案执行的操作的特定顺序,但是应当理解,这样的顺序是示例性的(例如可替代实施方案可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。
虽然以上描述包括若干示例性实施方案,但是本领域的技术人员将认识到,本发明不限于所描述的实施方案,并且可以在所附权利要求的精神和范围内通过修改和改变来实现。因此该描述是说明性的而不是限制性的。
Claims (20)
1.一种用于多租户服务器管理对等区块链网络中的数据的方法,所述方法包括:
由所述多租户服务器生成用于所述对等区块链网络的交换对象,其中所述交换对象包括一个或多个交换字段以及所述一个或多个交换字段中的每个交换字段与和所述对等区块链网络中的每个对等方相关联的物理对象的字段之间的映射;
由所述多租户服务器确定针对所述一个或多个交换字段中的交换字段和所述对等区块链网络中的对等方的每个组合的许可;
基于所述交换对象,由所述多租户服务器代表所述对等区块链网络中的第一对等方生成交易对象,其中所述交易对象包括所述一个或多个交换字段的成组的字段值,并且基于确定的许可对所述成组的字段值中的一个或多个字段值进行加密;和
由所述多租户服务器代表所述第一对等方使得所述交易对象对所述对等区块链网络中的第二对等方可用,以尝试获得改变对应于所述第一对等方的物理对象的共识。
2.根据权利要求1所述的方法,还包括:
由所述多租户服务器生成对应于所述第一对等方的第一组许可钥;和
由所述多租户服务器生成对应于所述第二对等方的第二组许可钥。
3.根据权利要求2所述的方法,其中所述第一组许可钥中的每个许可钥对应于所述第一对等方的关于所述一个或多个交换字段中的第一交换字段的许可,并且
其中所述第二组许可钥中的每个许可钥对应于所述第二对等方的关于所述一个或多个交换字段中的第二交换字段的许可。
4.根据权利要求3所述的方法,其中生成所述交易对象包括使用所述第一组许可钥对所述一个或多个字段值进行加密。
5.根据权利要求4所述的方法,其中所述第一组许可钥包括针对所述一个或多个交换字段中对应的交换字段读取、更新和插入访问许可。
6.根据权利要求5所述的方法,还包括:
响应于从所述对等区块链网络中的第二对等方接收共识,由所述多租户服务器将所述交易对象添加到所述第一对等方的第一分类账和所述第二对等方的第二分类账;和
由所述多租户服务器代表所述第二对等方使用所述第二组许可钥读取所述一个或多个字段值。
7.根据权利要求6所述的方法,其中读取所述一个或多个字段值包括:使用所述第二组许可钥中的第一钥对所述一个或多个字段值中的第一值进行解密,并且使用所述第二组许可钥中的第二钥对所述一个或多个字段值中的第二值进行解密。
8.根据权利要求1所述的方法,其中所述多租户服务器包括用于所述对等区块链网络中的第一对等方的虚拟空间,
其中所述虚拟空间包括对所述第一对等方可用而所述对等区块链网络中的第二对等方不可访问的数据和服务。
9.一种非暂态机器可读存储介质,其包含指令,所述指令当由多租户服务器的处理器执行时致使所述处理器:
生成用于对等区块链网络的交换对象,其中所述交换对象包括一个或多个交换字段以及所述一个或多个交换字段中的每个交换字段与和所述对等区块链网络中的每个对等方相关联的物理对象的字段之间的映射;
确定针对所述一个或多个交换字段中的交换字段和所述对等区块链网络中的对等方的每个组合的许可;
基于所述交换对象,代表所述对等区块链网络中的第一对等方生成交易对象,其中所述交易对象包括所述一个或多个交换字段的成组的字段值,并且基于确定的许可对所述成组的字段值中的一个或多个字段值进行加密;和
代表所述第一对等方使得所述交易对象对所述对等区块链网络中的第二对等方可用,以尝试获得改变对应于所述第一对等方的物理对象的共识。
10.根据权利要求9所述的非暂态机器可读存储介质,其中所述指令还致使所述处理器:
生成对应于所述第一对等方的第一组许可钥;和
生成对应于所述第二对等方的第二组许可钥。
11.根据权利要求10所述的非暂态机器可读存储介质,其中所述第一组许可钥中的每个许可钥对应于所述第一对等方的关于所述一个或多个交换字段中的第一交换字段的许可,并且
其中所述第二组许可钥中的每个许可钥对应于所述第二对等方的关于所述一个或多个交换字段中的第二交换字段的许可。
12.根据权利要求11所述的非暂态机器可读存储介质,其中生成所述交易对象包括使用所述第一组许可钥对所述一个或多个字段值进行加密。
13.根据权利要求12所述的非暂态机器可读存储介质,其中所述第一组许可钥包括针对所述一个或多个交换字段中对应的交换字段读取、更新和插入访问许可。
14.根据权利要求13所述的非暂态机器可读存储介质,其中所述指令还致使所述处理器:
响应于从所述对等区块链网络中的第二对等方接收共识,由所述多租户服务器将所述交易对象添加到所述第一对等方的第一分类账和所述第二对等方的第二分类账;和
由所述多租户服务器,代表所述第二对等方使用所述第二组许可钥读取所述一个或多个字段值。
15.根据权利要求14所述的非暂态机器可读存储介质,其中读取所述一个或多个字段值包括:使用所述第二组许可钥中的第一钥对所述一个或多个字段值中的第一值进行解密,并且使用所述第二组许可钥中的第二钥对所述一个或多个字段值中的第二值进行解密。
16.根据权利要求9所述的非暂态机器可读存储介质,其中所述多租户服务器包括用于所述对等区块链网络中的第一对等方的虚拟空间,
其中所述虚拟空间包括对所述第一对等方可用而所述对等区块链网络中的第二对等方不可访问的数据和服务。
17.一种管理对等区块链网络中的数据的多租户服务器,所述多租户服务器包括:
处理器;
存储器,所述存储器存储指令,所述指令当由所述处理器执行时致使所述处理器:
生成用于所述对等区块链网络的交换对象,其中所述交换对象包括一个或多个交换字段以及所述一个或多个交换字段中的每个交换字段与和所述对等区块链网络中的每个对等方相关联的物理对象的字段之间的映射;
确定针对所述一个或多个交换字段中的交换字段和所述对等区块链网络中的对等方的每个组合的许可;
基于所述交换对象,代表所述对等区块链网络中的第一对等方生成交易对象,其中所述交易对象包括所述一个或多个交换字段的成组的字段值,并且基于确定的许可对所述成组的字段值中的一个或多个字段值进行加密;和
代表所述第一对等方使得所述交易对象对所述对等区块链网络中的第二对等方可用,以尝试获得改变对应于所述第一对等方的物理对象的共识。
18.根据权利要求17所述的多租户服务器,其中所述指令还致使所述处理器:
生成对应于所述第一对等方的第一组许可钥;和
生成对应于所述第二对等方的第二组许可钥。
19.根据权利要求18所述的多租户服务器,其中所述第一组许可钥中的每个许可钥对应于所述第一对等方的关于所述一个或多个交换字段中的第一交换字段的许可,并且
其中所述第二组许可钥中的每个许可钥对应于所述第二对等方的关于所述一个或多个交换字段中的第二交换字段的许可。
20.根据权利要求19所述的多租户服务器,其中生成所述交易对象包括使用所述第一组许可钥加密所述一个或多个字段值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862733535P | 2018-09-19 | 2018-09-19 | |
US62/733,535 | 2018-09-19 | ||
US16/228,555 US11080247B2 (en) | 2018-09-19 | 2018-12-20 | Field-based peer permissions in a blockchain network |
US16/228,555 | 2018-12-20 | ||
PCT/US2019/051783 WO2020061226A1 (en) | 2018-09-19 | 2019-09-18 | Field-based peer permissions in a blockchain network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113168622A CN113168622A (zh) | 2021-07-23 |
CN113168622B true CN113168622B (zh) | 2022-03-18 |
Family
ID=69774544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980076006.8A Active CN113168622B (zh) | 2018-09-19 | 2019-09-18 | 区块链网络中的基于字段的对等许可 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11080247B2 (zh) |
EP (1) | EP3853794A1 (zh) |
JP (1) | JP7268140B2 (zh) |
CN (1) | CN113168622B (zh) |
AU (2) | AU2019345041A1 (zh) |
WO (1) | WO2020061226A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868321B2 (en) | 2018-06-12 | 2024-01-09 | Salesforce, Inc. | Cryptographically secure multi-tenant data exchange platform |
US11157484B2 (en) | 2018-09-19 | 2021-10-26 | Salesforce.Com, Inc. | Advanced smart contract with decentralized ledger in a multi-tenant environment |
US11809409B2 (en) | 2018-09-19 | 2023-11-07 | Salesforce, Inc. | Multi-tenant distributed ledger interfaces |
US11611440B2 (en) * | 2018-09-20 | 2023-03-21 | Intralinks, Inc. | Deal room platform using blockchain |
US11349653B2 (en) * | 2018-12-18 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Multiple-site private network secured by IPsec using blockchain network for key exchange |
CN109658236A (zh) * | 2019-01-31 | 2019-04-19 | 北京京东尚科信息技术有限公司 | 基于区块链的信息交互方法、区块链节点和征信系统 |
US11995647B2 (en) | 2019-04-30 | 2024-05-28 | Salesforce, Inc. | System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus |
US11880349B2 (en) | 2019-04-30 | 2024-01-23 | Salesforce, Inc. | System or method to query or search a metadata driven distributed ledger or blockchain |
US11469886B2 (en) | 2019-05-22 | 2022-10-11 | Salesforce.Com, Inc. | System or method to implement record level access on metadata driven blockchain using shared secrets and consensus on read |
US11823120B2 (en) | 2019-12-13 | 2023-11-21 | Salesforce, Inc. | System or method of verifying an asset using blockchain and collected asset and device information |
US11144335B2 (en) | 2020-01-30 | 2021-10-12 | Salesforce.Com, Inc. | System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform |
US11893002B2 (en) | 2020-05-04 | 2024-02-06 | Salesforce, Inc. | System or method to run distributed validation of workflows across a network in a shared distributed ledger in multi-tenant cloud environment |
US11954183B2 (en) | 2020-10-09 | 2024-04-09 | Salesforce, Inc. | System and method using metadata to manage packaged applications components based on tenant licenses |
US11271716B1 (en) * | 2021-01-28 | 2022-03-08 | Emtruth, Inc. | Blockchain-based data management of distributed binary objects |
USD1023041S1 (en) | 2021-01-29 | 2024-04-16 | Salesforce, Inc. | Display screen or portion thereof with graphical user interface |
US11902852B2 (en) | 2021-01-29 | 2024-02-13 | Salesforce, Inc. | On-site appointment assistant |
USD1024089S1 (en) | 2021-01-29 | 2024-04-23 | Salesforce, Inc. | Display screen or portion thereof with graphical user interface |
US11810031B2 (en) | 2021-01-29 | 2023-11-07 | Salesforce, Inc. | On-site appointment assistant |
US20230021962A1 (en) * | 2021-07-15 | 2023-01-26 | Zuora, Inc. | Subscription metric generation from storage-efficient subscription charge segment change logs |
US11954094B2 (en) | 2021-08-06 | 2024-04-09 | Salesforce, Inc. | Database system public trust ledger architecture |
US12002039B2 (en) | 2021-09-13 | 2024-06-04 | Salesforce, Inc. | Database system public trust ledger multi-owner token architecture |
US11989726B2 (en) | 2021-09-13 | 2024-05-21 | Salesforce, Inc. | Database system public trust ledger token creation and exchange |
US11921887B2 (en) | 2022-01-25 | 2024-03-05 | Salesforce, Inc. | Decentralized identity metaverse database system |
US11770445B2 (en) | 2022-01-25 | 2023-09-26 | Salesforce, Inc. | Decentralized information management database system |
US11880372B2 (en) | 2022-05-10 | 2024-01-23 | Salesforce, Inc. | Distributed metadata definition and storage in a database system for public trust ledger smart contracts |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271641B2 (en) * | 2006-10-04 | 2012-09-18 | Salesforce.Com, Inc. | Method and system for governing resource consumption in a multi-tenant system |
US8326876B1 (en) * | 2011-09-23 | 2012-12-04 | Corent Technology, Inc. | Multi-tenant agile database connector |
WO2017003974A1 (en) * | 2015-06-29 | 2017-01-05 | Microsoft Technology Licensing, Llc | User-feedback-based tenant-level message filtering |
CN106537346A (zh) * | 2014-07-16 | 2017-03-22 | 微软技术许可有限责任公司 | 针对实时供应的动态更新流 |
CN107169371A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种基于区块链的数据库操作方法和系统 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7092914B1 (en) * | 1997-11-06 | 2006-08-15 | Intertrust Technologies Corporation | Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information |
GB0011426D0 (en) | 2000-05-11 | 2000-06-28 | Charteris Limited | A method for transforming documents written in different XML-based languages |
US20020194501A1 (en) * | 2001-02-25 | 2002-12-19 | Storymail, Inc. | System and method for conducting a secure interactive communication session |
US9406063B2 (en) * | 2002-10-01 | 2016-08-02 | Dylan T X Zhou | Systems and methods for messaging, calling, digital multimedia capture, payment transactions, global digital ledger, and national currency world digital token |
EP2280524A3 (en) * | 2003-06-05 | 2012-08-08 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US7730478B2 (en) | 2006-10-04 | 2010-06-01 | Salesforce.Com, Inc. | Method and system for allowing access to developed applications via a multi-tenant on-demand database service |
WO2009132444A1 (en) | 2008-04-28 | 2009-11-05 | Sitemasher Corporation | Object-oriented system for creating and managing websites and their content |
US8356274B2 (en) | 2008-07-07 | 2013-01-15 | International Business Machines Corporation | System and methods to create a multi-tenancy software as a service application |
US20110276490A1 (en) * | 2010-05-07 | 2011-11-10 | Microsoft Corporation | Security service level agreements with publicly verifiable proofs of compliance |
US9223892B2 (en) | 2010-09-30 | 2015-12-29 | Salesforce.Com, Inc. | Device abstraction for page generation |
US8935360B2 (en) | 2010-12-03 | 2015-01-13 | Salesforce.Com, Inc. | Techniques for metadata-driven dynamic content serving |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9572614B2 (en) | 2012-04-03 | 2017-02-21 | Salesforce.Com, Inc. | Mechanism for facilitating user-controlled management of webpage elements for dynamic customization of information |
US9075889B2 (en) | 2012-04-09 | 2015-07-07 | Salesforce.Com, Inc. | Mechanism for facilitating user-controlled management of site network mapping and synchronization |
US20130290406A1 (en) | 2012-04-26 | 2013-10-31 | Salesforce.Com, Inc. | Mechanism for providing a cloud platform for facilitating and supporting user-controlled development and management of user products |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US9448773B2 (en) | 2013-04-03 | 2016-09-20 | Salesforce.Com, Inc. | Systems and methods for implementing a uniform application user interface across a multi-tenant environment |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
US20160012465A1 (en) | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
US20150348017A1 (en) * | 2014-06-03 | 2015-12-03 | Jonathan Allmen | Method for integrating cryptocurrency transfer on a social network interface |
US20160098723A1 (en) | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
AU2016242888A1 (en) | 2015-03-31 | 2017-11-16 | Nasdaq, Inc. | Systems and methods of blockchain transaction recordation |
WO2016189488A2 (en) * | 2015-05-27 | 2016-12-01 | Vishal Gupta | Universal original document validation platform |
USD768690S1 (en) | 2015-08-24 | 2016-10-11 | Salesforce.Com, Inc. | Display screen or portion thereof with animated graphical user interface |
US11941588B2 (en) * | 2015-11-06 | 2024-03-26 | Cable Television Laboratories, Inc. | Systems and methods for blockchain virtualization and scalability |
US20170140408A1 (en) | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
US10489786B2 (en) | 2015-11-24 | 2019-11-26 | Vesta Corporation | Optimization of fraud detection model in real time |
US20170178127A1 (en) | 2015-12-18 | 2017-06-22 | International Business Machines Corporation | Proxy system mediated legacy transactions using multi-tenant transaction database |
EP3411824B1 (en) | 2016-02-04 | 2019-10-30 | Nasdaq Technology AB | Systems and methods for storing and sharing transactional data using distributed computer systems |
WO2018006072A1 (en) | 2016-06-30 | 2018-01-04 | Clause, Inc. | Systems and method for forming, storing, managing,and executing contracts |
GB201611948D0 (en) | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
US10755327B2 (en) | 2016-07-18 | 2020-08-25 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
JP6971019B2 (ja) | 2016-09-26 | 2021-11-24 | Gmoインターネット株式会社 | データ管理システム、情報処理装置、プログラム、及び、データ管理方法 |
US10552381B2 (en) | 2016-12-16 | 2020-02-04 | International Business Machines Corporation | Shared document editing in the blockchain |
CA3049684A1 (en) | 2017-01-27 | 2018-08-02 | Walmart Apollo, Llc | Managing smart appliances using blockchain technology |
US9992022B1 (en) * | 2017-02-06 | 2018-06-05 | Northern Trust Corporation | Systems and methods for digital identity management and permission controls within distributed network nodes |
US10356102B2 (en) | 2017-02-24 | 2019-07-16 | Verizon Patent And Licensing Inc. | Permissions using blockchain |
JP6302592B2 (ja) | 2017-06-23 | 2018-03-28 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
US20200185070A1 (en) | 2017-08-08 | 2020-06-11 | Quio Technologies Llc | Self-executing agents for gathering health information between trusted parties |
US20190058709A1 (en) | 2017-08-16 | 2019-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Tenant management method and system in a cloud computing environment |
US11003654B2 (en) | 2017-09-20 | 2021-05-11 | AppExtremes, LLC | Systems and methods for requesting, tracking and reporting modifications to a record |
US11294943B2 (en) | 2017-12-08 | 2022-04-05 | International Business Machines Corporation | Distributed match and association of entity key-value attribute pairs |
US20190236606A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment |
US11257073B2 (en) | 2018-01-31 | 2022-02-22 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
US20190236562A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment |
US20190236559A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment |
US20190238316A1 (en) | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment |
US10701054B2 (en) | 2018-01-31 | 2020-06-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
US10585657B2 (en) | 2018-03-29 | 2020-03-10 | Salesforce.Com, Inc. | Setup, management, and packaging of applications accessing centralized and decentralized data |
US10901974B2 (en) | 2018-03-29 | 2021-01-26 | Salesforce.Com, Inc. | Hybrid cloud chain management of centralized and decentralized data |
US11868321B2 (en) | 2018-06-12 | 2024-01-09 | Salesforce, Inc. | Cryptographically secure multi-tenant data exchange platform |
US11468406B2 (en) | 2018-07-31 | 2022-10-11 | Salesforce, Inc. | Method of converting language-based written contract to smart legal contract using natural language processing |
US11379828B2 (en) | 2018-08-30 | 2022-07-05 | International Business Machines Corporation | Distributed computing and storage network implementing high integrity, high bandwidth, low latency, secure processing |
WO2020049357A1 (en) | 2018-09-06 | 2020-03-12 | Bank Of Montreal | Systems and methods for encryption of data on a blockchain |
-
2018
- 2018-12-20 US US16/228,555 patent/US11080247B2/en active Active
-
2019
- 2019-09-18 AU AU2019345041A patent/AU2019345041A1/en not_active Abandoned
- 2019-09-18 EP EP19782823.9A patent/EP3853794A1/en active Pending
- 2019-09-18 JP JP2021515119A patent/JP7268140B2/ja active Active
- 2019-09-18 WO PCT/US2019/051783 patent/WO2020061226A1/en unknown
- 2019-09-18 CN CN201980076006.8A patent/CN113168622B/zh active Active
-
2023
- 2023-08-16 AU AU2023216803A patent/AU2023216803A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271641B2 (en) * | 2006-10-04 | 2012-09-18 | Salesforce.Com, Inc. | Method and system for governing resource consumption in a multi-tenant system |
US8326876B1 (en) * | 2011-09-23 | 2012-12-04 | Corent Technology, Inc. | Multi-tenant agile database connector |
CN106537346A (zh) * | 2014-07-16 | 2017-03-22 | 微软技术许可有限责任公司 | 针对实时供应的动态更新流 |
WO2017003974A1 (en) * | 2015-06-29 | 2017-01-05 | Microsoft Technology Licensing, Llc | User-feedback-based tenant-level message filtering |
CN107169371A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种基于区块链的数据库操作方法和系统 |
Non-Patent Citations (1)
Title |
---|
MeDShare: Trust-less Medical Data Sharing Among Cloud Service Providers via Blockchain;QI XIA 等;《IEEE ACCESS》;20170814;第5卷;第14757-14767页 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022501712A (ja) | 2022-01-06 |
EP3853794A1 (en) | 2021-07-28 |
US11080247B2 (en) | 2021-08-03 |
AU2019345041A1 (en) | 2021-04-22 |
US20200089663A1 (en) | 2020-03-19 |
JP7268140B2 (ja) | 2023-05-02 |
AU2023216803A1 (en) | 2023-09-07 |
CN113168622A (zh) | 2021-07-23 |
WO2020061226A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113168622B (zh) | 区块链网络中的基于字段的对等许可 | |
CN113056760B (zh) | 多租户环境中具有去中心化分类账的高级智能合约 | |
CN113039568B (zh) | 多租户区块链网络中的轻量级节点 | |
US11868321B2 (en) | Cryptographically secure multi-tenant data exchange platform | |
US11809409B2 (en) | Multi-tenant distributed ledger interfaces | |
US11995647B2 (en) | System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus | |
US11823120B2 (en) | System or method of verifying an asset using blockchain and collected asset and device information | |
US11893002B2 (en) | System or method to run distributed validation of workflows across a network in a shared distributed ledger in multi-tenant cloud environment | |
US12041170B2 (en) | Cloud to cloud test set up for authentication and monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Shuo Power Co. Address before: California, USA Patentee before: SALESFORCE.COM, Inc. |