CN113039568B - 多租户区块链网络中的轻量级节点 - Google Patents
多租户区块链网络中的轻量级节点 Download PDFInfo
- Publication number
- CN113039568B CN113039568B CN201980073841.6A CN201980073841A CN113039568B CN 113039568 B CN113039568 B CN 113039568B CN 201980073841 A CN201980073841 A CN 201980073841A CN 113039568 B CN113039568 B CN 113039568B
- Authority
- CN
- China
- Prior art keywords
- tenant
- peer
- blockchain network
- systems
- transaction
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- 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/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Filling Or Discharging Of Gas Storage Vessels (AREA)
Abstract
描述了一种用于在分布式网络中由多租户服务器管理数据的方法。多租户服务器为包含该组租户系统和成组的非租户系统的分布式网络中的成组的租户系统和对等方管理多租户环境。该方法包含接收用于修改分布式网络中的对象的租户事务请求,其中,基于来自成组的非租户系统中的非租户系统的非租户事务请求,从成组的租户系统中的租户系统接收租户事务请求;基于交换对象和租户事务请求代表租户系统和非租户系统生成事务对象;代表所述租户系统使所述事务对象对所述租户非租户系统可用以尝试获得对修改所述对象的合意。
Description
相关申请的交叉引用
本申请要求2018年12月20日提交的美国专利申请号16/228,501和2018年9月19日提交的美国临时申请号62/733,523的权益,其在此通过引用并入。
技术领域
一个或多个实施方案涉及数据管理领域;并且更具体地涉及管理多租户区块链网络中的轻量级节点(lightweight node)。
背景技术
区块链是被链接和使用密码学保护的记录/区块的连续扩展列表。具体地,区块链中的每个区块可以包含紧接在前的区块的密码散列(cryptographic hash)、当前区块的时间戳和事务数据(例如,与区块链网络中的对等方(peer)相关联的信息的添加/修改)。此外,区块链可以经由验证/确认将被添加至链的新区块的系统,通过对等网络(peer-to-peer network)被共享和管理,使得区块链中的区块在不改变所有后续区块的情况下不能被改变,改变所有后续区块需要网络合意(network consensus)。这种架构允许通过使用密码学保护存储在区块内的信息;通过使用对等网络共享/分发(distribution)信息;通过使用区块添加的合意而信任;和通过使用密码学、区块的成链(chaining)/链接和对等分发(例如,区块链网络中的每个对等方可以维护网络中的所有已验证/确认的事务的分类账)而使存储在区块内的信息不变(immutability)。
与区块链架构相比,多租户云架构依赖于将信息集中在公共数据库或其他数据结构中。虽然与区块链架构相比,基于云的架构提供了许多益处(包括从租户移除许多管理功能并且反而将这些功能集中在集中式系统上的能力),但是这些架构在数据的租户间通信期间不提供相同级别的安全性、信任和信息不变性。
附图说明
以下附图使用相同的附图标记表示相同的元件。尽管以下附图示出了各种示例性实施方案,但是可替代实施方案也在所附权利要求的精神和范围内。在附图中:
图1示出了根据一个示例性实施方案的说明包含多租户服务器的计算环境的框图。
图2A和2B示出了根据一个示例性实施方案的多租户服务器管理对等区块链网络(其具有租户系统和非租户系统二者)中的数据的方法。
图3A示出了根据一个示例性实施方案的包含每个租户系统的成组的单独的区块链服务的计算环境。
图3B示出了根据另一个示例性实施方案的包含成组的共享的区块链服务的计算环境。
图4示出了根据一个示例性实施方案的对应于成组的租户系统的物理对象。
图5示出了根据一个示例性实施方案的包含交换字段与物理对象的字段之间的成组的映射的交换对象。
图6示出了根据一个示例性实施方案的对应于租户系统的影子对象(shadowobject)的示例。
图7示出了根据一个示例性实施方案的事务对象的示例。
图8示出了根据一个示例性实施方案的包含成组的条目/区块的区块链的示例。
图9示出了根据一个示例性实施方案的非租户系统的物理对象和对等分类账(peer-ledger)的示例。
图10A示出了根据一个示例性实施方案的电子装置。
图10B示出了根据一个示例性实施方案的可以实施计算环境和服务器的环境的框图。
具体实施方式
图1是根据一个示例性实施方案的示出计算环境100的框图。计算环境100包含系统102A和102B、多租户服务器104和成组的通信网络106。在该示例性计算环境100中,系统102A和102B可以是对等区块链网络108的一部分,并且多租户服务器104提供了云环境以经由事务队列104A、租户级对象104B、网络级对象104C和区块链服务104D管理对等区块链网络108中的系统102A和102B的数据和事务。在图1所示的配置中,对等区块链网络108包含租户系统102A(例如,租户系统102A1和102A2)和非租户系统102B(例如,非租户系统102B1和102B2)二者。
如本文将描述的,租户系统102A是由多租户服务器104管理的多租户环境/系统的一部分。例如,多租户服务器104可以管理多租户数据库管理系统(DBMS),其中与租户系统102A相关联的用户/租户能够存储和/或获取数据。多租户DBMS指的是其中DBMS的硬件和软件的各种元件可以被一个或多个租户共享的那些系统。例如,给定服务器(例如,多租户服务器104)可以同时处理针对大量租户的请求,并且给定数据库表可以存储针对可能大得多的租户数量的记录。与租户系统102A相比,非租户系统102B不是由多租户服务器104管理的多租户环境/系统的一部分。具体地,非租户系统102B的用户尚未与多租户服务器104订立合约(contract)或尚未与多租户服务器104签约(sign up)以参与由多租户服务器104管理的多租户环境/系统。因此,多租户服务器104不直接管理非租户系统102B的数据和/或包含专用于非租户系统102B的部分/分区。
尽管示出了四个系统102,包含两个租户系统102A(例如,租户系统102A1和102A2)和两个非租户系统102B(例如,非租户系统102B1和102B2),但是对等区块链网络108可以包含任何数目的系统102。具体地,对等区块链网络108可以包含任何数目的租户系统102A和任何数目的非租户系统102B。
如下面将更详细描述的,租户系统102A的事务生成器110可以生成请求以(1)将新记录添加至与租户系统102A相关联的物理对象/将新记录插入与租户系统102A相关联的物理对象;或(2)修改/更新与租户系统102A相关联的物理对象的现有记录。物理对象可以包含用于每个记录的成组的字段,并且被存储在与对应的租户系统102A相关联的多租户服务器104的租户级对象104B的一部分/分区中,使得物理对象仅可由租户系统102A访问(例如,租户系统102A2不被允许读取或写入至租户系统102A1的物理对象)。请求可以导致在与租户系统102A相关联的租户级对象104B的部分/分区中的影子对象中添加记录。影子对象表示至物理对象的未授权的(uncommitted)数据(即,对等区块链网络108中的对等方之间尚未达成合意的数据)。事务队列104A可以将影子对象用于生成事务对象,该事务对象将被分发至其他租户系统102A和非租户系统102B/使得其他租户系统102A和非租户系统102B可使用,以便接收对租户系统1021的物理对象进行提议的(proposed)添加/修改的合意。
在一个实施方案中,事务对象的字段的集合是物理对象的字段的子集,并且事务对象的字段的集合由包含在网络级对象104C中的交换对象定义。在该实施方案中,交换对象可以包含将被包含在事务对象中的成组的交换字段,并且交换对象的每个交换字段被映射至租户系统102A的物理对象中的字段。例如,租户系统102A1的物理对象可以包含字段A-D,并且租户系统102A2的物理对象可以包含字段E-H。在该示例中,对等区块链网络108的交换对象的第一交换字段可以被映射至租户系统102A1的字段B和租户系统102A2的字段F。类似地,对等区块链网络108的交换对象的第二交换字段可以被映射至租户系统102A1的字段C和租户系统102A2的字段E。因此,当接收到用于添加/修改租户系统102A1的物理对象的记录的提议时,对应的事务对象包含具有来自提议的物理/影子对象的字段B的值的第一交换字段和具有来自提议的物理/影子对象的字段C的值的第二交换字段。交换对象经由用于对等区块链网络108中的验证/确认目的的映射元数据提供统一事务对象,同时允许租户系统102A1仅向对等区块链网络108中的其它租户/对等方揭示信息的特定部分(例如,物理对象中的敏感信息/字段可能不包含在事务对象中,该事务对象分布在对等区块链网络108中的系统102之间,并且随后包含在分布式分类账中)。
如本文所描述的,多租户服务器104可以代表系统102执行对等区块链网络108的许多功能。具体地,多租户服务器104可以包含用于每个租户系统102A的虚拟空间/组织。每个虚拟空间/组织可以包含对应的租户系统102A的数据和应用/服务,并且在逻辑上与其他租户系统102A的所有其他虚拟空间/组织分离。例如,每个虚拟空间/组织可以包含租户级对象104B,其对应于相应的租户/租户系统102A和区块链服务104D的单独实例化或访问。在该配置/架构中,每个租户系统102A的虚拟空间/组织可以代表对应的租户系统102A执行一个或多个区块链功能/操作。例如,响应于接收到来自租户系统102A1的向租户系统102A1的物理对象的现有记录添加/插入新记录或修改/更新现有记录的请求,多租户服务器104可以在多租户服务器104内的租户系统102A1的虚拟空间/组织中生成影子对象记录。作为响应,事务队列104A可以使用对等区块链网络108的交换对象和租户系统102A1的成组的密码密钥生成与影子对象中的记录相对应的事务对象,使得该事务对象可以被分发或以其他方式对其他租户系统102A1的虚拟空间/组织可用。其他租户系统102A2的虚拟空间/组织此后可以分析事务对象以确定验证/确认是否适当。
在一些实施方案中,非租户系统102B可以有助于对等区块链网络108中的合意操作。例如,除了租户系统102A之外,事务队列104A可以将事务对象分发至非租户系统102B。例如,非租户系统102B1和102B2的合意单元1161和1162可以分别分析事务对象以确定验证/确认是否适当,并且向事务队列104A发送适当的响应。
事务队列104A可以等待来自租户系统102A的虚拟空间/组织和/或非租户系统102B的合意单元116的验证/确认,从而实现对租户系统102A的物理对象的提议的改变的合意。响应于该合意,领导租户系统102A的虚拟空间/组织可以(1)在该领导租户系统102A的相应物理对象中添加/插入记录或修改记录(适当时),以及(2)将对应的条目/区块添加/插入/进该领导租户系统102A的分布式分类账。此后,领导租户系统102A的虚拟空间/组织可以向其他/剩余租户系统102A的虚拟空间/组织发送请求以将改变提交给它们的物理对象(基于在交换对象中定义的映射)和/或将相应的条目/区块添加至这些其他/剩余租户系统102A的分类账。在一些实施方案中,对将改变提交到物理对象和/或将对应的条目/区块添加至分类账的请求可以由多租户服务器104提供的云环境直接地或通过相关联的租户系统102A转发至非租户系统102B。例如,每个非租户系统102B可以与租户系统102A配对或以其他方式相关联。在该实施方案中,租户系统102A(直接地或经由多租户服务器104提供的虚拟空间)将请求转发至相关联的非租户系统102B。在一个实施方案中,非租户系统102B仅分布分布式分类账的子集。例如,可以仅向对应的非租户系统102B提供涉及非租户系统102B或者非租户系统102B理解对与非租户系统102B相关联的物理对象的更新所必需的分布式分类账的一部分。
在一个实施方案中,不允许非租户系统102B直接在对等区块链网络108中发起事务。具体地,由于非租户系统102B不是多租户服务器104所管理的多租户环境/系统中的租户,因此多租户服务器104所管理的对等区块链网络108中的事务由租户系统102A发起。因此,如下面将更详细描述的,非租户系统102B可以向租户系统102A之一发送在对等区块链网络108中生成事务的初始请求。例如,非租户系统102B1的非租户请求生成器1141可以向租户系统102A2发送初始/非租户事务请求以在对等区块链网络108中生成事务。在该示例中,非租户系统102B1与租户系统102A2相关联。该关联可以在建立对等区块链网络108或加入对等区块链网络108的非租户系统102B1时建立。响应于租户系统102A2的请求接收器1122接收到非租户事务请求,租户系统102A2的事务生成器1102可以向多租户服务器104发送事务请求,用于在对等区块链网络108中发起事务。与租户系统102A2相关联的多租户服务器104的虚拟空间/组织连同多租户服务器104的其他元件(例如,事务队列104A)此后可以开始生成事务对象并且尝试获得事务的合意的过程。
如上所述并且如下面将更详细描述的,由多租户服务器104提供的云环境(例如,由多租户服务器104提供的虚拟空间/组织)可以用于管理包含租户系统102A和非租户系统102B的系统102之间的区块链事务。因此,在租户间通信期间,由多租户服务器104实现的云环境提供与区块链网络相同的安全级别、信任和不可变的信息,同时集中对等区块链网络108的功能/操作。此外,包含多租户服务器104的计算环境100实施对等区块链网络108以允许租户系统102A和非租户系统102B都参与对等区块链网络108。
下面将通过示例更详细地描述图1的计算环境100的每个元件。在一些实施方案中,计算环境100可以包含比图1显示更多的元件。因此,图1的计算环境100仅仅是为了说明的目的。
如图1所示和如上所述,系统102(例如,租户系统102A和非租户系统102B)和多租户服务器104可以通过成组的一个或多个通信网络106连接。成组的一个或多个通信网络106可以例如是局域网(LAN)、广域网(WAN),比如因特网的全局区域网络(GAN),或这些网络的组合。在另一个实施方案中,系统102和多租户服务器104可以经由有线或无线介质维持彼此的直接连接。
每个系统102可以是可由一个或多个用户操作的计算系统。例如,系统102中的每个可以是个人计算机(PC)、工作站、膝上型计算机、平板计算机、移动电话、智能电话、个人数字助理(PDA等)。如下面将更详细描述的,系统102可以与多租户服务器104通信以修改/添加/存储和获取数据。
系统102(有时称为客户端、对等或用户系统)可各自包含用于向用户呈现界面(例如,图形用户界面(GUI))的屏幕/显示器(例如,液晶(LCD)显示器),包含在网页中呈现的界面。如下面将更详细描述的,租户系统102A中的每个可以包含对应的事务生成器110,用于从用户(例如,经由用户接口)或从非租户系统102B(例如,经由非租户系统102B的非租户请求生成器114和租户系统102A的请求接收器112)接收输入以更改物理对象(例如,在物理对象中添加新记录或修改物理对象中的现有记录)并触发从对等区块链网络108中的其他系统102获得合意(例如,验证/确认)以用于该更改的过程。
租户系统102A可以各自与由多租户服务器104管理的一个或多个组织/租户相关联。例如,租户系统102A1的用户可以是第一组织/租户的客户,并且租户系统102A2的用户可以是第二组织/租户的客户。组织/租户可以是已经与多租户服务器104的管理员签订合同以经由租户系统102A向用户提供对存储在其中的数据的访问的任何公司、企业、机构、协会或社会。
与租户系统102A相比,非租户系统102B与由多租户服务器104管理的组织/租户无关联。如下面将更详细地描述的,由于非租户系统102B与由多租户服务器104管理的组织/租户无关联,因此非租户系统102B可以不被提供有与租户系统102A相同的许可或功能或者与租户系统102A相同的合意或功能相关联。例如,非租户系统102B不能在由多租户服务器104管理的对等区块链网络108中直接发起事务。相反,非租户系统102B各自与租户系统102A相关联,用于在对等区块链网络108中发起事务。因此,非租户系统102B可以包含用于生成非租户事务请求并且将其发送至相关联的租户系统102A的非租户请求生成器114。如下面将更详细描述的,相关联的租户系统102A可以基于从非租户系统102B接收的非租户事务请求而生成租户事务请求。
在一个实施方案中,多租户服务器104可以是向用户提供经由系统102和通信网络106对资源的访问的任何计算装置。例如,多租户服务器104可以向系统102的用户提供对一个或多个物理对象和/或描述对物理对象的改变的一个或多个对应的分布式对等分类账中的数据的访问。例如,租户系统102A1的物理对象可以对应于医学实验室报告。在该示例性实施方案中,物理对象中的记录可以包含实验室报告标识符字段、患者姓名字段、实验室网络标识符字段、实验室测试标识符字段、患者标识符字段和社会保障号码字段。当期望对系统102的物理对象进行更改/改变(例如,向物理对象添加新记录或修改物理对象中的现有记录)时,多租户服务器104使用事务队列104A、租户级对象104B、网络级对象104C和区块链服务104D来尝试在对等区块链网络108中做出这些更改(例如,在物理对象和与系统102相关联的分布式分类账中反映的更改)。
多租户服务器104可以包含多租户系统的硬件和软件的各种元件。如本文所使用的,术语“多租户系统”指的是其中硬件和软件的各种元件可以由一个或多个租户共享的那些系统。例如,多租户服务器104可以同时处理对大量租户的请求,并且给定数据库表可以存储对可能大得多的租户数量的记录。多租户服务器104可以包含应用平台,该应用平台包含允许应用执行的架构(例如,服务和元数据),比如系统的硬件或软件基础设施。在一个实施方案中,多租户服务器104包含用于每个租户系统102A的数据/对象以及服务的分开的虚拟空间/组织(有时称为部分或分区)。例如,每个租户系统102A可以被分配单独的虚拟空间/组织。每个虚拟空间/组织是多租户服务器104内的逻辑分区,并且除了由多租户服务器104代表对应的租户系统102A使用的服务(例如,区块链服务104D)之外,还包含仅对该租户系统102A可访问而对其他租户系统102A不可访问的单独的租户级对象104B(例如,租户系统102A不能读取和/或写入另一租户系统102A的租户级对象104B)。
如图1所示,对等区块链网络108可以包含各自表示租户/对等方的租户系统102A以及非租户系统102B。图1所示的对等区块链网络108是区块链网络108内的对等点的表示。在一些实施例中,对等区块链网络108可以被视为由多租户服务器104利用来自系统102的输入/请求来控制的分布式网络。
现在转向图2A和图2B,将描述根据一些实施方案的用于多租户服务器104管理对等区块链网络108中的数据的方法200。具体地,多租户服务器104提供的多租户云环境可以用于管理租户系统102A和非租户系统102B之间的区块链事务。因此,方法200允许云环境在租户间通信和租户到非租户通信期间提供与区块链网络相同的信息的安全、信任和不可变级别,同时为租户系统102A和非租户系统102B集中对等区块链网络108的功能/操作。在一些实施方案中,如将在下面更详细地描述的,非租户系统102B可以在对等区块链网络108中具有成组的减少的特权或可能的操作,因为非租户系统102B在由多租户服务器104管理的多租户环境/系统中不是租户。
将结合图1所示的示例性计算环境100,图3A所示的示例性计算环境300A和/或图3B所示的示例性计算环境300B来描述方法200。然而,在其他实施方案中,方法200可以在其他环境中操作,包含多租户服务器104的不同实施方案。
如上所述,将参照其他图的示例性实施方案来描述图2A和2B的流程图中的操作。然而,应当理解,可以由不同于参考其它附图所讨论的那些实施方案来执行流程图的操作,并且参考这些其它附图所讨论的实施方案可以执行不同于参考流程图所讨论的那些操作。
虽然以特定顺序在图2A和2B中描述和显示,但是方法200的操作不限于该顺序。例如,可以以不同的顺序或在部分或完全重叠的时间段中执行方法200的一个或多个操作。因此,方法200的描述和描绘是出于说明性目的,而并非旨在限制于特定实施方案。
如图2A和2B所示,方法200可以在操作202开始,其中区块链服务104D的成员资格服务(membership service)302A确定和/或向对等区块链网络108添加成组的对等方。在一些实施方案中,在网络对象304A中标识对等区块链网络108,并且在对等对象304B中标识用于对等区块链网络108的对等方。例如,成员资格服务302A可以通过在操作202处检查对等对象304B来确定对等区块链网络108中的成组的对等方。在一些实施方案中,向对等区块链网络108添加对等方可能需要通过来自对等区块链网络108中的当前对等方的验证/确认过程达成合意。在图1的示例性计算环境100、图3A的示例性计算环境300A和图3B的示例性计算环境300B中,成员资格服务302A在操作202处确定对等区块链网络108包含系统102A1、102A2、102B1和102B2,它们各自分别表示对等区块链网络108中的对等方。
如上所述,每个租户系统102A可以包含多租户服务器104内的单独的虚拟空间/组织。每个虚拟空间/组织包含单独的租户级对象104B,该租户级对象104B仅对该租户系统102A是可访问的,而对其他系统102是不可访问的(例如,除了由多租户服务器104代表对应的租户系统102A所使用的服务(例如,区块链服务104D)之外,系统102还不能读取和/或写入另一系统102的租户级对象104B)。例如,如图3A所示,每个租户系统102A可以与具有对应的租户级对象104B1和104B2(例如,物理对象3061和3062、影子对象3081和3082、对等分类账3101和3102,以及映射对象3161和3162)和区块链服务104D1和104D2的单独的虚拟空间/组织3141和3142相关联。虽然在图3A中示出为针对每个虚拟空间/组织3141和3142的区块链服务104D1和104D2的单独实例化,但是每个虚拟空间/组织3141和3142可以改为具有对如图3B所示的区块链服务104D的单个实例化的单独访问。
在操作204,成员资格服务302A可以为对等区块链网络108中的每个对等方生成成组的公钥(PK,public key)和私钥/密钥(SK,private/secret key)。在一个实施方案中,基于所确定的私钥来生成公钥。例如,可以使用单向密码散列函数(例如,SHA256)来基于对应的私钥生成系统102的公钥。在一些实施方案中,仅为租户系统102A生成公钥和私钥/密钥,因为这些是可以直接在对等区块链网络108中发起事务的唯一系统102。在一个实施方案中,在操作204处生成之后,公钥和私钥/密钥可由成员资格服务302A存储在钱包对象304C中。如下面将更详细地描述的,事务队列104A可以利用钱包对象304C中存储的私钥/密钥来为相应的租户系统102A生成事务对象。具体地,事务队列104A可以使用私有/密钥来实施对等区块链网络108所使用的事务的密码元件。
在操作206,成员资格服务302A可以确定用于对等区块链网络108的交换对象。在一个实施方案中,交换对象由成组的交换字段和映射元数据来定义,映射元数据定义了每个交换字段与租户系统102A的物理对象中的字段之间的映射。例如,图4分别示出了租户系统102A1和102A2的物理对象3061和3062。在该示例中,对应于租户系统102A1的物理对象3061包含记录4041-404M,该记录4041-404M由字段4061-406N组成,并且每个记录4041-404M包含用于每个字段4061-406N的值4081,1-M,N。类似地,对应于租户系统102A2的物理对象3062包含由字段4121-4120H组成的记录4101-4120G,并且每个记录4101-4120G包含用于每个字段4121-4120H的值4141,1-G,H。物理对象3061和3062中的每个可以表示任何类型的数据。例如,租户系统102A1可以在医学实验室中操作或者以其他方式对应于医学实验室。在该示例中,物理对象3061可表示医学实验室报告(例如,记录4041-4042中的每个可对应于单独的医学实验室报告)。租户系统102A2可以在医生的办公室中操作或者以其他方式对应于医生的办公室。在该示例中,物理对象3062可以表示患者文件(例如,每个记录4101-410G可以对应于单独的患者文件)。
对于图4所示的示例性物理对象3061和3062,成员资格服务302A可确定如图5所示的可存储在数字资产对象304D中的交换对象502。如图5所示,交换对象502由交换字段5041-504P和将交换字段504映射到物理对象306的字段的映射元数据来定义。在此配置中,交换字段5041映射到物理对象3061的字段4062和物理对象3062的字段412H。交换字段5042映射到物理对象3061的字段406N和物理对象3062的字段4121。交换字段504P映射到物理对象3061的字段4061和物理对象3062的字段4122。因此,交换对象502的映射元数据将交换字段504映射/链接到物理对象306的字段。在一些实施方案中,交换字段5041-504P的数目(即,P)小于(1)物理对象3061中的字段4061-406N的数目(即,N)和/或(2)物理对象3062中的字段4121-412H的数目(即,H)。因此,将在租户系统102A和/或非租户系统102B之间分布的所生成的事务对象以及包含在分布式对等分类账310中的对应数据/信息可以不包含敏感数据(即,字段406和412中的未映射到交换字段504的数据)。
交换字段504到物理对象3061和3062的字段406和412的映射指示物理对象3061和3062的字段406和412之间的关系。例如,使用物理对象3061表示医疗实验室报告并且物理对象3062表示患者文件的上述示例,物理对象3061的字段4062可以对应于针对其生成对应的医疗实验室报告的患者标识符并且物理对象3062的字段412H可以对应于针对其表示对应的患者文件的患者标识符。如图5所示并且如上所述,这些字段4062和412H被映射到相同的交换字段5041,指示这些字段4062和412H表示相似的数据(例如,字段4062和412H都表示患者标识符)。
在一些实施方案中,每个对等方和/或对应的租户系统102A可以是包含区块链网络108的多个区块链网络的一部分。这些区块链网络中的每个可包含与区块链网络108的重叠成员资格和/或可包含附加的对等方。在一些实施方案中,网络对象304A可以包含由多租户服务器104管理的每个区块链网络的标识符、对等对象304B可以包含由多租户服务器104管理的区块链网络中的每个对等方、钱包的标识符对象304C可以包含由多租户服务器104管理的区块链网络中的每个对等和/或租户系统102的密钥,并且数字资产对象304D可以包含由多租户服务器104管理的每个区块链网络的交换对象502。
在操作208,每个非租户系统102B可以与租户系统102A建立关联/关系。例如,如图3A和图3B所示,非租户系统102B1可以与租户系统102A2建立关联/关系,并且非租户系统102B2可以与租户系统102A2建立关联/关系。如下面将更详细地描述的,非租户系统102B和租户系统102A之间的这种关联/关系允许非租户系统102B间接地在由多租户服务器104管理的对等区块链网络108中发起事务。特别地,尽管非租户系统102B不是由多租户服务器104管理的多租户系统/环境的租户,但是非租户系统102B可以经由对应的租户系统102A间接地在由多租户服务器104管理的对等区块链网络108中发起事务。
在操作210处,非租户系统102B的非租户请求生成器114可以生成非租户事务请求并将其发送至相关联的租户系统102A。例如,在示例性计算环境300A和/或300B中,非租户系统102B2与租户系统102A1相关联。在该示例中,为了解释方法200的目的,在操作210处,非租户系统102B2的非租户请求生成器1142可以生成非租户事务请求并将该非租户事务请求发送到租户系统102A1。非租户系统102B2可以使用非租户事务请求来发起对等区块链网络108中的事务。非租户系统102B2的事务可以尝试在对等区块链网络108中的事务达成合意时修改非租户系统102B2的物理对象。
在操作214处,相关联的租户系统102A1接收非租户事务请求。具体地,租户系统102A1的请求接收器1121在操作212处接收非租户事务请求。
在操作214处,租户系统102A1的事务生成器1101可以生成事务请求(有时称为“租户事务请求”)并将其发送到多租户服务器104,用于在对等区块链网络108中发起事务。
在操作216处,区块链服务104D的事务管理服务302B可以从租户系统102A1接收事务请求。该事务请求包含(1)要添加至物理对象306的所提出的新记录或(2)对物理对象306的现有记录的修改。例如,如以上示例中所述,物理对象3061可以对应于医学实验室报告,并且与租户系统102A1相关联的虚拟空间/组织3141的事务管理服务302B可以在操作216处接收事务请求以添加新的实验室报告记录404。在另一个示例中,物理对象3061再次可以对应于医学实验室报告,并且在操作216处,虚拟空间/组织3141的事务管理服务302B可以接收修改现有实验室报告记录404的请求。在非租户事务请求中发起和描述所提出的对物理对象306的改变。出于解释的目的,将结合在操作216处接收将记录添加至物理对象3061的事务请求的虚拟空间/组织3141的事务管理服务302B来描述方法200。然而,对于物理对象306的修改,方法200可以以类似的方式工作。
在操作218,租户系统102A1的虚拟空间/组织3141的事务管理服务302B在与操作216的新记录对应的影子对象3081中生成记录。影子对象3081可以对应于租户系统102A1并且可以包含物理对象3061的所有字段4061-406N。与物理对象3061相反,物理对象3061存储也在租户系统102A1的相应对等分类账3101中表示的已提交数据(例如,对租户系统102A1的物理对象3061的记录404的添加/修改),影子对象3081表示未提交给物理对象3061的数据。如下面将更详细地描述的,租户系统102A1的影子对象3081中的数据在被提交给物理对象3061并由租户系统102A1的对等分类账3101表示之前需要由其他租户系统102A2和非租户系统102B合意地验证/确认。该提交和表示还可以扩展到物理对象3062、非租户系统102B2的物理对象、对等分类账3102以及非租户系统102B2的对等分类账,如将在下面更详细地描述的。
图6示出了根据一个示例性实施方案的对应于租户系统102A1和物理对象3061的影子对象3081的示例。如图所示,影子对象3081包含两个记录6041和6042,对应于对物理对象3061的两个单独建议的变更。例如,第一记录6041对应于物理对象3061中的记录404的添加/插入,并且第二记录6042对应于物理对象3061中的新添加/插入的记录404的字段值408的修改/更新。例如,第一记录6041可以建议添加/插入对应于医学实验室报告的记录404,而第二记录6042可以建议修改新的医学实验室报告记录404的几个字段值408(例如,修改/更新对应于医学实验室报告的状态的字段值408)。
在操作220处,事件管理服务302C和/或事务队列104A可以基于(1)在操作218添加至影子对象3081的记录6041和(2)对等区块链网络108的交换对象502来生成事务对象。具体地,事务对象可以包含交换字段5041-504P中的每个的值,并且事务对象包含在操作218中在相应的交换字段5041-504P中来自记录6041的添加至影子对象3081的数据/字段值。例如,图7示出了根据一个示例性实施方案的事务对象702的示例。
如图7所示,事务对象702基于交换字段5041-504P和物理对象3061的字段406之间的映射将交换对象502的所有交换字段5041-504P和来自影子对象3081中的记录6041的字段值606包含在适当位置中。虽然相对于记录6041示出,但是可以为记录6042生成单独的事务对象702。如将在下面描述的,将在下文中用于说明的目的的事务对象702可以被传递或以其他方式可用于其他租户系统102A2和非租户系统102B以确定在区块链网络108中是否合意来提交所提出的记录404(例如,验证/确认事务对象702)。
在一个实施方案中,事务对象702的生成可包含基于(1)来自影子对象3081的记录6041、(2)事务对象702的唯一分配的标识符(例如,在生成事务对象702时顺序地分配给它们的标识符),以及(3)租户系统102A1的私钥(即,租户系统102A的提议更改的私钥)来将签名添加至事务对象。例如,记录6041和事务对象702的唯一分配的标识符可被合并或以其他方式组合在一起以形成单个消息,并且租户系统102A1的私钥可用于加密该消息(例如,使用单向密码散列函数,比如SHA256)以形成数字签名。因此,事务对象702包含来自影子对象3081的记录6041以及使用租户系统102A1的私钥生成的签名。
在操作222,事件管理服务302C和事务队列104A可以使事务对象702对其他租户系统102A2和非租户系统102B可用。在一些实施方案中,使事务对象702对另一租户系统102A2可用包含将事务对象702放置在租户系统102A2可访问的多租户服务器104的一部分/分区中的事务队列104A。例如,如上所述,多租户服务器104可以包含用于每个租户系统102A的单独的虚拟空间/组织314。每个虚拟空间/组织314包含仅对该租户系统102A可访问并且对其他租户系统102A不可访问的数据和服务。在操作222,多租户服务器104可以将事务对象702从租户系统102A1的虚拟空间/组织3141传递到租户系统102A2的虚拟空间/组织3142,使得租户系统102A2的虚拟空间/组织3142可以处理/分析事务对象702以用于可能的验证/确认。
如上所述,在操作222,除了其他租户系统102A2之外,事件管理服务302C和事务队列104A还可以使事务对象702对非租户系统102B可用。例如,多租户服务器104可以向非租户系统102B发送事务对象702,使得非租户系统102B的合意单元116可以接收事务对象702。
在操作224,事务管理服务302B可以监视来自租户系统102A2和非租户系统102B的响应,以确定是否已经达成关于事务对象702的合意或者是否未能达成合意。在一个实施方案中,合意管理服务302D可以定义事务管理服务302B在确定关于事务对象702的租户系统102A2和非租户系统102B何时达成合意时使用的阈值或规则。例如,在一些实施方案中,合意管理服务302D可以指示合意要求所有系统102A2、102B1和102B2来验证/确认事务对象702,而在其他实施方案中,合意管理服务302D可以指示合意要求大部分系统102A2、102B1和102B2来验证/确认事务对象702。在一些实施方案中,合意管理服务302E指示由系统102A2、102B1和102B2使用的规则和/或操作,特别是与租户系统102A2相关联的虚拟空间/组织3142以及与非租户系统102B1和102B2相关联的合意单元1161和1162,以确定事务对象702的验证/确认是否适当。例如,合意管理服务302E可以指示租户系统102A1的公钥与事务对象702中的签名和消息一起用于确定事务对象702是否源自租户系统102A1并由租户系统102A1授权。
在操作226,事务管理服务302B和事务队列104A可以响应于未能从系统102A2、102B1和102B2获得合意而丢弃事务对象702(例如,未能获得由合意管理服务302D定义/指示的合意)。在一些实施方案中,丢弃事务对象702可包含向租户系统102A1指示事务对象702以及对物理对象3061的相应更改(即,向物理对象3061添加新记录404或向物理对象3061修改现有记录404)已被对等区块链网络108拒绝(即,未实现/获得对等区块链网络108中的合意)。此后可以将该通知转发到非租户系统102B1,该非租户系统102B1在操作210经由非租户系统事务请求间接地发起事务对象702。响应于接收到事务对象702和对物理对象的相应更改已被对等区块链网络108拒绝的通知,虚拟空间/组织3141可删除影子对象3081中对应于事务对象702的记录6041。
在操作228处,事务管理服务302B可提交与代表租户领导系统102A达成合意的事务对象702相对应的事务对象702和/或影子对象3081中的记录6041。在一些实施方案中,领导租户系统102A可以由成员资格服务302A从对等区块链网络108中的租户系统102A中随机选择。当领导租户系统102A是租户系统102A1(即,发起或以其他方式与对物理对象3061的变更相关联的租户系统102A)时,租户系统102A1的虚拟空间/组织3141中的事务管理服务302B可以提交影子对象3081中的记录6041,其对应于达成合意的事务对象702,在操作228处代表租户系统102A1。在这种情况下,提交可以包含将来自影子对象3081的记录6041添加至物理对象3061。当领导租户系统102A是租户系统102A2时,在租户系统102A2的相应虚拟空间/组织3142中的事务管理服务302B可以在操作228处代表租户系统102A2提交事务对象702实现合意。在这种情况下,提交可以包含将记录410添加至物理对象3062中的记录410,或者修改物理对象3062中的记录410,该记录410包含来自映射到物理对象3062中的对应字段412的影子对象3081的字段值606,如交换对象502或对应映射对象316所指示的。
在操作230处,事务管理服务302B可以代表领导租户系统102A在对应于事务对象702的对等分类账310中添加条目/区块。具体地,领导租户系统102A的虚拟空间/组织314的事务管理服务302B可以代表领导租户系统102A在对应于事务对象702的对等分类账310中添加条目/区块。添加至对等分类账310的条目/区块可以包含多条信息。例如,如图8所示,对等分类账3101中的每个条目/区块8041-804T可以包含对对等分类账8021中的前一个条目/区块804、事务对象702(以及一个或多个其他事务对象)以及临时数(即,用于满足对等链区块网络108的要求的任意数)的引用。
在操作232处,事务管理服务302B和/或事务队列104A可以代表领导租户系统102A发送请求或以其他方式触发其他系统102来将事务对象702提交给对应的物理对象并将区块/条目添加至对应的对等分类账(例如,物理对象306和对等分类账310)。例如,如图9所示,每个非租户系统102B可以包含由相应的非租户系统102B维护的物理对象306(例如,物理对象3063和3064)和对等分类账310(例如,对等分类账3103和3104)。在一些实施方案中,非租户系统102B的对等分类账310仅维护或以其他方式包含对应于与非租户系统102B有关的事务的区块。因此,非租户系统102B的对等分类账310(例如,对等分类账3103和3104)可以包含来自租户系统102B的对等分类账310(例如,对等分类账3101和3103)的信息/区块的子集。对等分类账310允许计算环境100、300A和/或300B维护数据的透明度和审计性。具体地,多租户服务器104通过在对等分类账310中记录/反映事务来为每个事务提供不可变性,该对等分类账310在所有系统102上被复制。在一些实施方案中,对等分类账310可以存储在Merkle有向无环图(DAG)结构中。Merkle DAG可以在Oracle和/或HBase存储中表示。结合,在数据被提交给对等分类账310之后或在数据被提交给对等分类账310之后,将使用对等分类账310中的最近数据来更新相关物理对象306。
如上所述,方法200允许多租户服务器104代表租户系统102A和非租户系统102B管理对等区块链网络108中的数据。具体地,由多租户服务器104提供的云环境可以用于管理由多租户服务器104管理的系统102与不由多租户服务器104管理的系统102之间的区块链事务。因此,方法200允许云环境在租户间和租户内通信期间提供与区块链网络相同的信息安全级别、信任级别和不可变级别,同时集中对等区块链网络108的功能/操作。
在一些实施方案中,计算环境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。实例1006A的实例化,以及虚拟化层1008和软件容器1004A-R(如果实施的话)被统称为软件实例1002。
电子装置的可替代实施方案可以具有与上述实施方案不同的多种变化。例如,定制的硬件和/或加速器也可以用于电子装置中。
网络装置(ND)是可通信地互连网络上的其它电子装置(例如,其它网络装置、用户电子装置、服务器电子装置等)的电子装置。一些网络装置是“多业务网络装置”,其为多联网功能(例如,路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或用户管理)提供支持,和/或为多应用服务(例如,数据、语音和视频)提供支持。
图10B是根据一些实施方案的其中可以部署系统102和多租户服务器104的环境的框图。系统1040包含用于提供服务1042的硬件(成组的一个或多个电子装置)和软件,该服务1042包含事务队列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公司销售的执行运行时和应用程序开发工具,比如HerokuTMEnterprise、Thunder和Force.以及Lightning)、分析服务(例如,由salesforce.com公司销售的Einstein Analytics、Sales Analytics和/或Service Analytics)、社区服务(例如由salesforce.com公司销售的Community Cloud和Chatter)、物联网(IoT)服务(例如,由salesforce.com公司销售的Salesforce IoT和IoTCloud)、行业特定服务(例如,由salesforce.com公司销售的Financial Services Cloud和Health Cloud)和/或基础设施即服务(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.根据权利要求2所述的方法,进一步包括:
响应于确定已经达成合意,提交对所述对等区块链网络中的所述对象的修改;和
响应于确定已经达成合意,基于提交对所述对等区块链网络中的所述对象的所述修改,向所述对等区块链网络中的所述系统的对等分类账添加区块。
6.根据权利要求5所述的方法,其中所述非租户系统的对等分类账包含所述租户系统的所述对等分类账中包含的区块的子集。
7.根据权利要求1所述的方法,其中所述租户系统与所述非租户系统相关联,用于当建立所述对等区块链网络时或当所述非租户系统加入所述对等区块链网络时处理所述非租户事务请求。
8.根据权利要求1所述的方法,进一步包括:
由所述多租户服务器生成用于所述对等区块链网络的交换对象。
9.一种非暂时性机器可读存储介质,包含当由多租户服务器的处理器执行时使得所述处理器执行以下的指令:
接收租户事务请求以修改对等区块链网络中的对象,所述对等区块链网络包括成组的租户系统和成组的非租户系统,其中所述多租户服务器管理用于所述成组的租户系统的多租户环境,其中所述租户事务请求是从所述成组的租户系统中的租户系统接收的,并且基于修改所述对象和从所述成组的非租户系统中的非租户系统接收的非租户事务请求;
基于交换对象和所述租户事务请求,生成事务对象,其中所述交换对象包含成组的交换字段和所述成组的交换字段中的单个交换字段与对象的字段之间的映射,所述对象的字段与所述成组的租户系统中的相应租户系统相关联,其中所述事务对象基于所述租户事务请求包含所述成组的交换字段的成组的字段值;和
使得所述事务对象可用于所述对等区块链网络中的所述成组的租户系统和所述成组的非租户系统,以尝试获得对于修改所述对等区块链网络中的所述对象的合意。
10.根据权利要求9所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述处理器:
基于来自所述对等区块链网络中的所述成组的租户系统和所述成组的非租户系统的确认,确定对于所述事务对象在所述对等区块链网络中已经达成合意,包括修改所述对等区块链网络中的所述对象。
11.根据权利要求10所述的非暂时性机器可读存储介质,其中所述多租户服务器包含区块链服务,用于代表所述成组的租户系统提供对所述事务对象的确认。
12.根据权利要求11所述的非暂时性机器可读存储介质,其中所述成组的非租户系统提供了独立于所述多租户服务器的区块链服务的对所述事务对象的确认。
13.根据权利要求10所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述处理器:
响应于确定已经达成合意,提交对所述对等区块链网络中的所述对象的修改;和
响应于确定已经达成合意,基于提交对所述对等区块链网络中的所述对象的所述修改,向所述对等区块链网络中的所述系统的对等分类账添加区块。
14.根据权利要求13所述的非暂时性机器可读存储介质,其中所述非租户系统的对等分类账包含所述租户系统的对等分类账中包含的区块的子集。
15.根据权利要求9所述的非暂时性机器可读存储介质,其中所述租户系统与所述非租户系统相关联,用于当建立所述对等区块链网络时或当所述非租户系统加入所述对等区块链网络时处理所述非租户事务请求。
16.根据权利要求9所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述处理器:
生成用于所述对等区块链网络的所述交换对象。
17.一种管理对等区块链网络中的数据的多租户服务器,所述对等区块链网络包括成组的租户系统和成组的非租户系统,其中所述多租户服务器管理用于所述成组的租户系统的多租户环境,所述多租户服务器包括:
处理器;
存储器,其存储指令,所述指令当由所述处理器执行时使所述处理器:
接收租户事务请求以修改对等区块链网络中的对象,其中所述多租户服务器管理用于成组的租户系统的对等区块链网络和多租户环境以及所述对等区块链网络中的对等方,所述对等方包括所述成组的租户系统和成组的非租户系统,其中所述租户事务请求是从所述成组的租户系统中的租户系统接收的,并且基于修改所述对等区块链网络中的所述对象和从所述成组的非租户系统中的非租户系统接收的非租户事务请求;
基于交换对象和所述租户事务请求,生成事务对象,其中所述交换对象包含成组的交换字段和所述成组的交换字段中的单个交换字段与对象的字段之间的映射,所述对象的字段与所述成组的租户系统中的相应租户系统相关联,其中所述事务对象基于所述租户事务请求包含所述成组的交换字段的成组的字段值;和
使得所述事务对象可用于所述对等区块链网络中的所述成组的租户系统和所述成组的非租户系统,以尝试获得对于修改所述对等区块链网络中的所述对象的合意。
18.根据权利要求17所述的多租户服务器,其中所述指令进一步使得所述处理器:
基于来自所述对等区块链网络中的所述成组的租户系统和所述成组的非租户系统的确认,确定对所述事务对象在所述对等区块链网络中已经达成合意,包括修改所述对等区块链网络中的所述对象。
19.根据权利要求18所述的多租户服务器,其中所述多租户服务器包括区块链服务,用于代表所述成组的租户系统提供对所述事务对象的确认,并且
其中所述成组的非租户系统提供了独立于所述多租户服务器的区块链服务的对所述事务对象的确认。
20.根据权利要求18所述的多租户服务器,其中所述指令进一步使得所述处理器:
响应于确定已经达成合意,提交对所述对等区块链网络中的所述对象的修改;和
响应于确定已经达成合意,基于提交对所述对等区块链网络中的所述对象的所述修改,向所述对等区块链网络中的所述系统的对等分类账添加区块,
其中所述非租户系统的对等分类账包含所述租户系统的对等分类账中包含的区块的子集。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862733523P | 2018-09-19 | 2018-09-19 | |
US62/733,523 | 2018-09-19 | ||
US16/228,501 US11100091B2 (en) | 2018-09-19 | 2018-12-20 | Lightweight node in a multi-tenant blockchain network |
US16/228,501 | 2018-12-20 | ||
PCT/US2019/051781 WO2020061224A1 (en) | 2018-09-19 | 2019-09-18 | Lightweight node in a multi-tenant blockchain network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113039568A CN113039568A (zh) | 2021-06-25 |
CN113039568B true CN113039568B (zh) | 2022-06-28 |
Family
ID=69772496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980073841.6A Active CN113039568B (zh) | 2018-09-19 | 2019-09-18 | 多租户区块链网络中的轻量级节点 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11100091B2 (zh) |
EP (1) | EP3853793A1 (zh) |
JP (1) | JP7147054B2 (zh) |
CN (1) | CN113039568B (zh) |
AU (2) | AU2019345039A1 (zh) |
WO (1) | WO2020061224A1 (zh) |
Families Citing this family (26)
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 |
US11809409B2 (en) | 2018-09-19 | 2023-11-07 | Salesforce, Inc. | Multi-tenant distributed ledger interfaces |
US11157484B2 (en) | 2018-09-19 | 2021-10-26 | Salesforce.Com, Inc. | Advanced smart contract with decentralized ledger in a multi-tenant environment |
US11605076B2 (en) * | 2019-04-01 | 2023-03-14 | The Toronto-Dominion Bank | Reconciliation of indirectly executed exchanges of data using permissioned distributed ledgers |
US11880349B2 (en) | 2019-04-30 | 2024-01-23 | Salesforce, Inc. | System or method to query or search a metadata driven distributed ledger or blockchain |
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 |
US11764950B2 (en) | 2019-05-22 | 2023-09-19 | Salesforce, Inc. | System or method to implement right to be forgotten 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 |
US11294648B2 (en) | 2020-05-22 | 2022-04-05 | Salesforce.Com, Inc. | Application development architecture for mobile applications |
US11474793B2 (en) | 2020-05-22 | 2022-10-18 | Salesforce.Com, Inc. | Polymorphic application architecture |
US11954183B2 (en) | 2020-10-09 | 2024-04-09 | Salesforce, Inc. | System and method using metadata to manage packaged applications components based on tenant licenses |
US20220237097A1 (en) * | 2021-01-22 | 2022-07-28 | Vmware, Inc. | Providing user experience data to tenants |
US11902852B2 (en) | 2021-01-29 | 2024-02-13 | Salesforce, Inc. | On-site appointment assistant |
USD1023041S1 (en) | 2021-01-29 | 2024-04-16 | Salesforce, Inc. | Display screen or portion thereof with graphical user interface |
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 |
CN113641664A (zh) * | 2021-07-13 | 2021-11-12 | 华中科技大学 | 一种适用于图式区块链的轻量化数据存储装置及方法 |
US11954094B2 (en) | 2021-08-06 | 2024-04-09 | Salesforce, Inc. | Database system public trust ledger architecture |
US11989726B2 (en) | 2021-09-13 | 2024-05-21 | Salesforce, Inc. | Database system public trust ledger token creation and exchange |
US12002039B2 (en) | 2021-09-13 | 2024-06-04 | Salesforce, Inc. | Database system public trust ledger multi-owner token architecture |
CN114493776B (zh) * | 2022-01-20 | 2024-05-31 | 重庆邮电大学 | 基于区块链的多租户分布式租赁卫星网络资源的方法 |
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015513153A (ja) * | 2012-03-08 | 2015-04-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | マルチテナント環境におけるテナント固有のデータ・セットを管理するための、コンピュータで実施される方法、コンピュータ・プログラム製品、およびシステム |
CN107615317A (zh) * | 2015-03-31 | 2018-01-19 | 纳斯达克公司 | 区块链交易记录的系统和方法 |
Family Cites Families (63)
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 |
KR100965437B1 (ko) | 2003-06-05 | 2010-06-24 | 인터트러스트 테크놀로지즈 코포레이션 | P2p 서비스 편성을 위한 상호운용 시스템 및 방법 |
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 |
EP2271984A4 (en) | 2008-04-28 | 2012-01-18 | Salesforce Com Inc | OBJECT-BASED SYSTEM FOR CREATING AND MANAGING WEB SITES 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 |
US9460169B2 (en) * | 2011-01-12 | 2016-10-04 | International Business Machines Corporation | Multi-tenant audit awareness in support of cloud environments |
US20130081109A1 (en) * | 2011-09-23 | 2013-03-28 | Corent Technology, Inc. | Multi-Tenant Agile Database Connector |
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 |
US9420035B2 (en) * | 2014-02-20 | 2016-08-16 | International Business Machines Corporation | Transaction isolation during multi-tenant transaction requests |
US20150348017A1 (en) | 2014-06-03 | 2015-12-03 | Jonathan Allmen | Method for integrating cryptocurrency transfer on a social network interface |
US9438673B2 (en) * | 2014-07-16 | 2016-09-06 | Microsoft Technology Licensing, Llc | Dynamic update streams for real time provisioning |
US20160021196A1 (en) * | 2014-07-17 | 2016-01-21 | Microsoft Corporation | Processing changes in a multi-tenant system |
US20160098723A1 (en) | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
US20160104005A1 (en) * | 2014-10-10 | 2016-04-14 | Salesforce.Com, Inc. | Facilitating tenant-based customization of access and security controls in an on-demand services environment |
WO2016189488A2 (en) | 2015-05-27 | 2016-12-01 | Vishal Gupta | Universal original document validation platform |
US9882851B2 (en) * | 2015-06-29 | 2018-01-30 | Microsoft Technology Licensing, Llc | User-feedback-based tenant-level message filtering |
US10366204B2 (en) * | 2015-08-03 | 2019-07-30 | Change Healthcare Holdings, Llc | System and method for decentralized autonomous healthcare economy platform |
USD768690S1 (en) | 2015-08-24 | 2016-10-11 | Salesforce.Com, Inc. | Display screen or portion thereof with animated graphical user interface |
US10498807B2 (en) * | 2015-10-19 | 2019-12-03 | Citrix Systems, Inc. | Multi-tenant multi-session catalogs with machine-level isolation |
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 |
US20170213210A1 (en) * | 2016-01-22 | 2017-07-27 | International Business Machines Corporation | Asset transfers using a multi-tenant transaction database |
US9794074B2 (en) | 2016-02-04 | 2017-10-17 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computing systems |
US10445698B2 (en) | 2016-06-30 | 2019-10-15 | Clause, Inc. | System 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 |
WO2018014123A1 (en) | 2016-07-18 | 2018-01-25 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
WO2018057719A1 (en) * | 2016-09-21 | 2018-03-29 | R-Stor Inc. | Systems and methods for using a distributed ledger for data handling |
US10552381B2 (en) | 2016-12-16 | 2020-02-04 | International Business Machines Corporation | Shared document editing in the blockchain |
US10476942B2 (en) * | 2016-12-21 | 2019-11-12 | International Business Machines Corporation | DNS resolution of overlapping domains in a multi-tenant computing environment |
WO2018140830A1 (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 |
WO2019032643A1 (en) | 2017-08-08 | 2019-02-14 | Quio Technologies, Llc | AUTOMATIC EXECUTION AGENTS FOR HEALTH INFORMATION COLLABORATION BETWEEN PARTIES OF CONFIDENCE |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US10901974B2 (en) | 2018-03-29 | 2021-01-26 | Salesforce.Com, Inc. | Hybrid cloud chain management of centralized and decentralized data |
US10585657B2 (en) | 2018-03-29 | 2020-03-10 | Salesforce.Com, Inc. | Setup, management, and packaging of applications accessing 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,501 patent/US11100091B2/en active Active
-
2019
- 2019-09-18 JP JP2021515118A patent/JP7147054B2/ja active Active
- 2019-09-18 WO PCT/US2019/051781 patent/WO2020061224A1/en unknown
- 2019-09-18 AU AU2019345039A patent/AU2019345039A1/en not_active Abandoned
- 2019-09-18 EP EP19782822.1A patent/EP3853793A1/en active Pending
- 2019-09-18 CN CN201980073841.6A patent/CN113039568B/zh active Active
-
2023
- 2023-08-11 AU AU2023214371A patent/AU2023214371A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015513153A (ja) * | 2012-03-08 | 2015-04-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | マルチテナント環境におけるテナント固有のデータ・セットを管理するための、コンピュータで実施される方法、コンピュータ・プログラム製品、およびシステム |
CN107615317A (zh) * | 2015-03-31 | 2018-01-19 | 纳斯达克公司 | 区块链交易记录的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020061224A1 (en) | 2020-03-26 |
JP7147054B2 (ja) | 2022-10-04 |
EP3853793A1 (en) | 2021-07-28 |
AU2019345039A1 (en) | 2021-04-15 |
JP2022501711A (ja) | 2022-01-06 |
AU2023214371A1 (en) | 2023-08-31 |
CN113039568A (zh) | 2021-06-25 |
US11100091B2 (en) | 2021-08-24 |
US20200089670A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113039568B (zh) | 多租户区块链网络中的轻量级节点 | |
CN113168622B (zh) | 区块链网络中的基于字段的对等许可 | |
CN113056760B (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 | |
US20240037503A1 (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 | |
US11144335B2 (en) | System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform | |
US11716380B2 (en) | Secure self-contained mechanism for managing interactions between distributed computing components | |
US11764978B2 (en) | Method and system for certificate management |
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 |
Address after: California, USA Patentee after: Shuo Power Co. Address before: California, USA Patentee before: SALESFORCE.COM, Inc. |
|
CP01 | Change in the name or title of a patent holder |