多租户环境中具有去中心化分类账的高级智能合约的制作方法

文档序号:30951909发布日期:2022-07-30 07:59阅读:78来源:国知局
多租户环境中具有去中心化分类账的高级智能合约的制作方法
多租户环境中具有去中心化分类账的高级智能合约
1.分案信息
2.本技术是2019年9月18日递交的申请号为201980076057.0、发明名称为“多租户环境中具有去中心化分类账的高级智能合约”的发明专利申请的分案申请。
3.相关申请的交叉引用
4.本技术要求于2018年12月20日提交的美国专利申请第16/228,528号和于2018年9月19日提交的美国临时申请第62/733,531号的权益,其通过引用并入本文。
技术领域
5.一个或多个实施方案涉及数据管理领域;更具体地,涉及在多租户区块链网络中管理智能合约。


背景技术:

6.区块链是使用加密技术链接和保护的记录/区块的连续扩展列表。具体地,区块链中的每个区块可以包括紧接在前的区块的密码散列、当前区块的时间戳,以及交易数据(例如与区块链网络中的对等方(peer)相关联的信息的添加/修改)。此外,区块链可以经由验证/确认将被添加到链的新区块的系统通过对等(peer-to-peer)网络来共享和管理,使得区块链中的区块在不改变所有后续区块的情况下不能被改变,这需要网络共识。该架构允许通过使用加密技术来保护存储在区块内的信息;通过使用对等网络来共享/分配信息;通过区块添加的共识来信任;以及通过使用加密技术、区块的链式处理/链接和对等分配(例如区块链网络中的每个对等方可以维护网络中的所有已验证/确认的交易的分类账(ledger))来使存储在区块内的信息不可变。
7.一些区块链网络可与智能合约一起操作。智能合约是在没有可信第三方的情况下实施的密码可验证合约。具体地,智能合约包括描述成组的条件和响应于满足成组的条件中的一个或多个条件而选择性地执行的成组的操作的代码。例如智能合约可以规定当第一方完成任务时,来自第二方的数字货币将被转移到第一方的账户中。这些智能合约存储在区块链网络中,并且基于它们包括在区块链网络中是不可变的。
8.与区块链架构相比,多租户云架构依赖于将信息集中在公共数据库或其他数据结构中。虽然与区块链架构相比,基于云的架构提供了许多益处,包括从租户移除许多管理功能并且相反将这些功能集中在集中式系统上的能力,但是这些架构在租户间通信期间不提供相同级别的安全性、信任和信息不变性。
附图说明
9.以下附图使用相同的附图标记来表示相同的元件。尽管以下附图示出了各种示例性实施方案,但是可替代实施方案也在所附权利要求的精神和范围内。在附图中:
10.图1示出了说明根据一个示例性实施方案的包括多租户服务器的计算环境的框图。
11.图2a和图2b示出了根据一个示例性实施方案的多租户服务器在对等区块链网络中管理数据的方法,包括对智能合约的管理。
12.图3a示出了根据一个示例性实施方案的包括每个租户系统的成组的单独的区块链服务的计算环境。
13.图3b示出了根据另一个示例性实施方案的包括成组的共享区块链服务的计算环境。
14.图4示出了根据一个示例性实施方案的对应于成组的租户系统的物理对象。
15.图5示出了根据一个示例性实施方案的包括交换字段与物理对象的字段之间的成组的映射的交换对象。
16.图6示出了根据一个示例性实施方案的对应于租户系统的影子(shadow)对象的示例。
17.图7示出了根据一个示例性实施方案的交易对象的示例。
18.图8示出了根据一个示例性实施方案的包括成组的条目/块的区块链的示例。
19.图9a示出了根据一个示例性实施方案的电子装置。
20.图9b示出了可以根据一个示例性实施方案来实施计算环境和服务器的环境的框图。
具体实施方式
21.图1是示出根据一个示例性实施方案的计算环境100的框图。计算环境100包括租户系统102
1-1023、多租户服务器104和成组的通信网络106。在该示例性计算环境100中,租户系统102
1-1023可以是对等区块链网络108的一部分,并且多租户服务器104提供云环境以经由交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d来管理对等区块链网络108中的租户系统102
1-1023的数据和多种交易。特别地,多租户服务器104通过智能合约管理器112提供智能合约的管理,智能合约管理器112是区块链服务104d的一部分。
22.如本文将描述的,租户系统102
1-1023是由多租户服务器104管理的多租户环境/系统的一部分。例如多租户服务器104可以管理多租户数据库管理系统(dbms),其中与租户系统102
1-1023相关联的用户/租户能够存储和/或获取数据。多租户dbms指的是其中dbms的硬件和软件的各种元件可由一个或多个租户(例如系统102
1-1023)共享的那些系统。例如给定服务器(例如多租户服务器104)可以同时处理对大量(例如由租户系统102
1-1023所代表的)租户的请求,并且给定数据库表可以存储对可能大得多的租户数量的记录。除了管理用于租户系统102
1-1023的多租户环境/系统之外,如上所述,多租户服务器104还可以代表租户系统102
1-1023管理对等区块链网络108。在一些实施例中,对等区块链网络108可以被视为由多租户服务器104利用来自租户系统102
1-1023的输入/请求来控制的分布式网络。
23.尽管以三个租户/对等方(例如租户系统102
1-1023)示出,但是在其他实施方案中,对等区块链网络108可以包括更多或更少的租户/对等方。例如对等区块链网络108可以包括具有对应租户系统102的两个、四个、五个或更多个租户/对等方。因此,使用三个租户/对等方是为了说明的目的。
24.在一些实施方案中,租户系统102的交易生成器110可以生成请求以(1)将新记录添加到与租户系统102相关联的物理对象,或者(2)修改与租户系统102相关联的物理对象
的现有记录。物理对象可以包括用于每个记录的成组的字段,并且被存储在与对应的租户系统102相关联的多租户服务器104的租户级对象104b的一部分/分区中,使得物理对象仅可由租户系统102访问(例如租户系统1022和1023不被允许读或写到租户系统1021的物理对象)。该请求可以导致在与租户系统102相关联的租户级对象104b的部分/分区中的影子对象中添加记录。影子对象表示到物理对象的未委托的数据(即,对等区块链网络108中的对等方之间尚未达成共识的数据)。交易队列104a可以使用影子对象来生成交易对象,该交易对象将被分配到其他租户系统102/使得其他租户系统102可用于接收对于所提出的对租户系统102的物理对象的添加/修改的共识。
25.在一个实施方案中,交易对象的字段的集合是物理对象的字段的子集,并且交易对象的字段的集合由包括在网络级对象104c中的交换对象来定义。在该实施方案中,交换对象可以包括将被包括在交易对象中的成组的交换字段,并且交换对象的每个交换字段被映射到租户系统102
1-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中的租户系统102
1-1023之间,并随后包括在分布式分类账中)。
26.如本文所描述的,多租户服务器104可以代表租户系统102
1-1023执行对等区块链网络108的许多功能。具体地,多租户服务器104可以包括用于每个租户系统102
1-1023的虚拟空间/组织。每个虚拟空间/组织可以包括对应的租户系统102
1-1023的数据和应用/服务,并且在逻辑上与其他租户系统102
1-1023的所有其他虚拟空间/组织分离。例如每个虚拟空间/组织可以包括对应于对应的租户/租户系统102
1-1023和区块链服务104d的单独实例化或访问的租户级对象104b。在该配置/架构中,每个租户系统102
1-1023的虚拟空间/组织可以代表对应的租户系统102
1-1023执行一个或多个区块链功能/操作。例如响应于接收到来自租户系统1021的向租户系统1021的物理对象的现有记录添加/插入新记录或者修改/更新现有记录的请求,多租户服务器104可以在多租户服务器104内的租户系统1021的虚拟空间/组织中生成影子对象记录。作为响应,交易队列104a可以使用对等区块链网络108的交换对象和租户系统1021的成组的密码钥来生成与影子对象中的记录相对应的交易对象,使得该交易对象可以被分配或者以其他方式对其他租户系统1022和1023的虚拟空间/组织可用。其他租户系统1022和1023的虚拟空间/组织此后可以分析交易对象以确定验证/确认是否适当。
27.交易队列104a可以等待来自租户系统1022和1023的虚拟空间/组织的验证/确认,从而实现对租户系统1021的物理对象的所提出的改变的共识。响应于共识,领导租户系统
102的虚拟空间/组织可以(1)在该领导租户系统102的对应物理对象中添加记录或修改记录(适当时),以及(2)将对应的条目/块添加到该领导租户系统102的分布式分类账中。此后,领导租户系统102的虚拟空间/组织可以向其他/剩余租户系统102的虚拟空间/组织发送请求以将改变委托给它们的物理对象(基于在交换对象中定义的映射)和/或将对应的条目/块添加到这些其他/剩余租户系统102的分类账。
28.如将在下面更详细地描述的,租户系统102
1-1023中的每个可以通过经由对应的交易生成器110
1-1103发起区块链网络108中的交易来发起智能合约。智能合约可以包括成组的条件和响应于成组的条件中的一个或多个条件被满足而执行的成组的操作。例如成组的条件可以包括来自患者的授权以在对等区块链网络108中共享/分配患者的医疗记录。在该示例中,当条件为真时(即由患者提供在对等区块链网络108中共享/分配患者的医疗记录的授权)将执行的针对该条件的关联操作将是将患者的医疗记录共享/分配到对等区块链网络108中的租户系统102。在一些实施方案中,智能合约可以跨越对等区块链网络108中的多个对象来操作。例如第一物理对象可以对应于患者(例如与租户系统1021相关联的第一物理对象包括成组的患者记录和成组的字段,成组的字段描述名称、地址、患者标识符和关于患者医疗记录是否被授权共享/分配的指示)而第二物理对象可以对应于患者医疗记录(例如与租户系统1022相关联的第二物理对象包括成组的患者医疗记录和成组的字段,成组的字段描述了与记录相关联的患者标识符、医师标识符以及关于成组的医疗测试的结果的细节)。使用上述示例智能合约,其中成组的条件包括来自患者的授权以共享/分配患者的医疗记录,并且该条件的相关操作是在对等区块链网络108中共享/分配患者的医疗记录,在智能合约管理器112确定第一物理对象中的患者记录包括对共享/分配医疗记录的授权的情况下,智能合约管理器112可以对应于第二物理对象中的患者医疗记录在对等区块链网络108中发起的交易。因此,该示例中的智能合约跨越与分开的租户/对等方相关联的两个分开的对象操作。
29.如上所述并且如下面将更详细描述的,由多租户服务器104提供的云环境/系统(例如由多租户服务器104提供的虚拟空间/组织)可以用于管理租户系统102
1-1023之间的区块链交易。因此,在租户间通信期间,由多租户服务器104实现的云环境/系统提供与区块链网络相同的安全级别、信任和不可变的信息,同时集中对等区块链网络108的功能/操作。此外,包括多租户服务器104的计算环境100实施对等区块链网络108以允许如本文所述地使用智能合约。
30.下面将通过示例更详细地描述图1的计算环境100的每个元件。在一些实施方案中,计算环境100可以包括比图1所示的更多的元件。因此,图1的计算环境100仅仅是为了说明的目的。
31.如图1所示和如上所述,租户系统102
1-1023和多租户服务器104可以通过成组的一个或多个通信网络106连接。该组一个或多个通信网络106可以例如是局域网(lan)、广域网(wan),诸如因特网的全局区域网络(gan),或这些网络的组合。在另一个实施方案中,租户系统102
1-1023和多租户服务器104可以经由有线或无线介质维持彼此的直接连接。
32.每个租户系统102
1-1023可以是可由一个或多个用户操作的计算系统。例如租户系统102
1-1023中的每一者可以是个人计算机(pc)、工作站、膝上型计算机、平板计算机、移动电话、智能电话、个人数字助理(pda等)。如下面将更详细描述的,租户系统102
1-1023可以与
多租户服务器104通信以修改/添加/存储和获取数据。
33.租户系统102
1-1023(有时称为客户端、对等或用户系统)可各自包括用于向用户呈现界面(例如图形用户界面(gui))的屏幕/显示器(例如液晶(lcd)显示器),包括在网页中呈现的界面。如下面将更详细描述的,租户系统102
1-1023中的每一者可以包括对应的交易生成器110,用于从用户(例如经由用户接口)接收输入以更改物理对象(例如在物理对象中添加新记录或修改物理对象中的现有记录)或添加/更新对等区块链网络中的智能合约。
34.租户系统102
1-1023可以各自与由多租户服务器104管理的一个或多个组织/租户相关联。例如租户系统1021的用户可以是第成组的织/租户的客户,并且租户系统1022的用户可以是第二组织/租户的客户。组织/租户可以是已经与多租户服务器104的管理员签订合约以经由租户系统102
1-1023向用户提供对存储在其中的数据的访问的任何公司、企业、机构、协会或社会。
35.在一个实施方案中,多租户服务器104可以是向用户提供经由租户系统102
1-1023和通信网络106对资源的访问的任何计算装置。例如多租户服务器104可以向租户系统102
1-1023的用户提供对一个或多个物理对象和/或描述对物理对象的改变的一个或多个对应的分布式对等分类账中的数据的访问。例如租户系统1021的物理对象可以对应于医学实验室报告。在该示例性实施方案中,物理对象中的记录可以包括实验室报告标识符字段、患者姓名字段、实验室网络标识符字段、实验室测试标识符字段、患者标识符字段、社会保障号码字段和分配字段,分配字段指示患者何时已经授权在对等区块链网络108中共享/分配患者的医疗记录。当期望对租户系统102的物理对象进行更改/改变(例如向物理对象添加新记录或修改物理对象中的现有记录)时,多租户服务器104使用交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d来尝试在对等区块链网络108中做出这些更改(例如在物理对象和与租户系统102
1-1023相关联的分布式分类账中反映的更改)。
36.多租户服务器104可以包括多租户系统的硬件和软件的各种元件。如本文所使用的,术语“多租户系统”指的是其中硬件和软件的各种元件可以由一个或多个租户共享的那些系统。例如多租户服务器104可以同时处理对大量租户的请求,并且给定数据库表可以存储对可能大得多的租户数量的记录。多租户服务器104可以包括应用平台,该应用平台包括允许应用执行的架构(例如服务和元数据),诸如系统的硬件或软件基础设施。在一个实施方案中,多租户服务器104包括用于每个租户系统102
1-1023的数据/对象以及服务的分开的虚拟空间/组织(有时称为部分或分区)。例如每个租户系统102
1-1023可以被分配单独的虚拟空间/组织。每个虚拟空间/组织是多租户服务器104内的逻辑分区,并且除了由多租户服务器104代表对应的租户系统102使用的服务(例如区块链服务104d)之外,还包括仅对该租户系统102可用而对其他租户系统102不可用的单独的租户级对象104b(例如租户系统102不能读取和/或写入另一租户系统102的租户级对象104b)。
37.现在参照图2,将描述根据一些实施方案的用于多租户服务器104管理对等区块链网络108中的数据的方法200。具体地,多租户服务器104提供的多租户云环境可以用于管理区块链网络108中的智能合约。在一些实施方案中,如将在下面更详细地描述的,智能合约可以在对等区块链网络108中跨越/操作多个物理对象,并且可以通过对等区块链网络108中的共识来修改。
38.将结合图1所示的示例性计算环境100,图3a所示的示例性计算环境300a和/或图
3b所示的示例性计算环境300b来描述方法200。然而,在其他实施方案中,方法200可以在其他环境中操作,包括多租户服务器104的不同实施方案。
39.如上所述,将参照其他图的示例性实施方案来描述图2的流程图中的操作。然而,应当理解,可以由不同于参考其他附图所讨论的那些实施方案来执行流程图的操作,并且参考这些其他附图所讨论的实施方案可以执行不同于参考流程图所讨论的那些操作。
40.虽然以特定顺序在图2中描述和显示,但是方法200的操作不限于该顺序。例如可以以不同的顺序或在部分或完全重叠的时间段中执行方法200的一个或多个操作。因此,方法200的描述和描绘是出于说明性目的,而并非旨在限制于特定实施方案。
41.如图2所示,方法200可以在操作202开始,其中区块链服务104d的成员资格服务302a确定和/或向对等区块链网络108添加成组的租户(有时也称作对等方)。在一些实施方案中,在网络对象304a中标识对等区块链网络108,并且在对等对象304b中标识用于对等区块链网络108的租户(例如由租户系统102
1-1023的标识符所代表的租户)。例如成员资格服务302a可以通过在操作202处检查对等对象304b来确定对等区块链网络108中的成组的租户。在一些实施方案中,向对等区块链网络108添加租户/租户系统102
1-1023可能需要通过来自对等区块链网络108中的当前租户/租户系统102
1-1023的验证/确认过程达成共识。在图1的示例性计算环境100、图3a的示例性计算环境300a和图3b的示例性计算环境300b中,下面用于阐述方法200,成员资格服务302a在操作202处确定对等区块链网络108包括租户系统102
1-1023,它们表示租户/对等方。
42.如上所述,每个租户系统102
1-1023可以包括多租户服务器104内的单独的虚拟空间/组织。每个虚拟空间/组织包括单独的租户级对象104b,除了由代表对应的租户系统102
1-1023的多租户服务器104所使用的服务(例如区块链服务104d)之外,该租户级对象104b仅对该租户系统102
1-1023是可用的,而对其他租户系统102
1-1023是不可用的(例如租户系统102
1-1023不能读取和/或写入另一租户系统102
1-1023的租户级对象104b)。例如如图3a所示,每个租户系统102
1-1023可以与具有对应的租户级对象104b
1-104b3(例如物理对象306
1-3063、影子对象308
1-3083、对等分类账310
1-3103,以及映射对象316
1-3163)和包括对应的智能合约管理器112
1-1123的区块链服务104d
1-104d3的单独的虚拟空间/组织314
1-3143相关联。虽然在图3a中示出为针对每个虚拟空间/组织314
1-3143的区块链服务104d
1-104d3的单独实例化,但是每个虚拟空间/组织314
1-3143可以改为具有对如图3b所示的区块链服务104d的单个实例化的单独访问。
43.在操作204,成员资格服务302a可以为对等区块链网络108中的每个租户/租户系统102
1-1023生成成组的公钥(pk)和私钥/密钥(sk)。在一个实施方案中,基于所确定的私钥来生成公钥。例如可以使用单向密码散列函数(例如sha256)来基于对应的私钥生成租户系统102
1-1023的公钥。在一个实施方案中,在操作204处生成之后,公钥和私钥/密钥可由成员资格服务302a存储在钱包对象304c中。如下面将更详细地描述的,交易队列104a可以利用钱包对象304c中存储的私钥/密钥来为租户系统102
1-1023中的每个生成交易对象。具体地,交易队列104a可以使用私钥/密钥来实施对等区块链网络108所使用的交易的密码元件。
44.在操作206,成员资格服务302a可以确定用于对等区块链网络108的交换对象。在一个实施方案中,交换对象由成组的交换字段和映射元数据来定义,映射元数据定义了每个交换字段与租户系统102
1-1023的物理对象中的字段之间的映射。例如图4分别示出了租
户系统102
1-1023的物理对象306
1-3063。在该示例中,对应于租户系统1021的物理对象3061包括记录404
1-404m,该记录404
1-404m由字段406
1-406n组成,并且每个记录404
1-404m包括用于每个字段406
1-406n的值408
1,1-m,n
。类似地,对应于租户系统1022的物理对象3062包括由字段412
1-412h组成的记录410
1-410g,并且每个记录410
1-410g包括用于每个字段412
1-412h的值414
1,1-g,h
。类似地,对应于租户系统1023的物理对象3063包括由字段418
1-418s组成的记录416
1-416q,并且每个记录416
1-416q包括用于每个字段418
1-418s的值420
1,1-q,s
。物理对象306
1-3063中的每一者可以表示任何类型的数据。例如租户系统1021可以在医学实验室中操作或者以其他方式对应于医学实验室。在该示例中,物理对象3061可表示医学实验室报告(例如记录404
1-4042中的每一者可对应于单独的医学实验室报告)。租户系统1022可以在医生的办公室中操作或者以其他方式对应于医生的办公室。在该示例中,物理对象3062可以表示患者文件(例如每个记录410
1-410g可以对应于单独的患者文件)。
45.对于图4所示的示例性物理对象306
1-3063,成员资格(membership)服务302a可确定如图5所示的可存储在数字资产对象304d中的交换对象502。如图5所示,交换对象502由交换字段504
1-504
p
和将交换字段504映射到物理对象306的字段的映射元数据来定义。在此配置中,交换字段5041映射到物理对象3061的字段4062、物理对象3062的字段412h和物理对象3063的字段4182。交换字段5042映射到物理对象3061的字段406n、物理对象3062的字段4121和物理对象3063的字段4181。交换字段504
p
映射到物理对象3061的字段4061、物理对象3062的字段4122和物理对象3063的字段418s。因此,交换对象502的映射元数据将交换字段504映射/链接到物理对象306的字段。在一些实施方案中,交换字段504
1-504
p
的数目(即,p)小于(1)物理对象3061中的字段406
1-406n的数目(即,n)、(2)物理对象3062中的字段412
1-412h的数目(即,h)和/或(3)物理对象3063中的字段418
1-418s的数目(即,s)。因此,将在租户系统102
1-1023之间分布的所生成的交易对象以及包括在分布式对等分类账310中的对应数据/信息可以不包括敏感数据。
46.交换字段504到物理对象306
1-3063的字段406、412和418的映射指示物理对象306
1-3063的字段406、412和418之间的关系。例如使用物理对象3061表示医疗实验室报告并且物理对象3062表示患者文件的上述示例,物理对象3061的字段4062可以对应于针对其生成对应的医疗实验室报告的患者标识符并且物理对象3062的字段412h可以对应于针对其表示对应的患者文件的患者标识符。如图5所示并且如上所述,这些字段4062和412h被映射到相同的交换字段5041,指示这些字段4062和412h表示相似的数据(例如字段4062和412h都表示患者标识符)。
47.在一些实施方案中,每个租户/租户系统102
1-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的映射元数据;以及将交换字段504
p
映射到物理对象3061的字段4061的映射元数据。相反,对应于租户系统1022的映射对象3162包括将交换字段5041映射到物理对象3062的字段412h的映射元数据;将交换字段5042映射到物理对象3062的字段4121的映射元数据;以及将交换字段504
p
映射到物理对象3062的字段4122的映射元数据。最后,对应于租户系统1023的映射对象3163包括将交换字段5041映射到物理对象3063的字段4182的映射元数据;将交换字段5042映射到物理对象3063的字段4181的映射元数据;以及将交换字段504
p
映射到物理对象3063的字段418s的映射元数据。因此,每个映射对象316仅包括与对应租户系统102相关联的映射元数据。
48.在操作208中,智能合约管理器112接收用于在对等区块链网络108中建立智能合约的智能合约请求。在一个实施例中,从租户系统102接收智能合约请求并定义在对等区块链网络108中使用的智能合约。例如,智能合约可以包括成组的条件和响应于成组的条件的一个或多个条件被满足而执行的成组的操作。例如成组的条件可以包括来自患者的授权以在对等区块链网络108中共享/分配患者的医疗记录。在该示例中,当条件为真时(即由患者提供在对等区块链网络108中共享/分配患者的医疗记录的授权)将执行的针对该条件的关联操作将是将患者的医疗记录共享/分配到对等区块链网络108中的租户系统102。在一些实施方案中,智能合约可以跨越对等区块链网络108中的多个对象来操作。例如,物理对象3061可以对应于患者医疗记录(例如物理对象3061包括成组的患者医疗记录404和成组的字段406,成组的字段406描述与记录404相关联的患者标识符、医师标识符和关于成组的医疗测试的结果的细节)而与租户系统1022相关联的物理对象3062可以对应于患者(例如物理对象3062包括成组的患者记录410和成组的字段412,成组的字段412描述了名称、地址、患者标识符以及关于对应的患者医疗记录404是否被授权用于在对等区块链网络108中共享/分配的指示)。使用上述示例智能合约,其中成组的条件包括来自患者的授权以共享/分配患者的医疗记录,并且该条件的相关操作是向对等区块链网络108中的租户系统102共享/分配患者的医疗记录,在合约管理器112确定物理对象3062中的患者记录410包括对共享/分配物理对象3061的医疗记录404的授权的情况下,智能合约管理器112可以对应于物理对象3061中的患者医疗记录404在对等区块链网络108中发起交易。因此,该示例中的智能合约跨越由分开的租户系统102关联/拥有的两个分开的物理对象306来操作。出于解释的目的,将结合上述智能合约来描述方法200。
49.在操作210中,智能合约管理器112可以尝试从对等区块链网络108中的租户系统102获得智能合约的共识。为了尝试获得对智能合约的共识,事件管理服务302c和/或交易队列104a可使智能合约对象对对等区块链网络108中的租户系统102可用。在一些实施方案中,使智能合约对象对其他租户系统102可用包括:交易队列104a使用租户系统1021的私钥(或根据区块链协议的类似技术)来签署智能合约对象,并将具有所应用的签名的智能合约对象放置在对其他租户系统1022和1023可用的多租户服务器104的部分/分区中。例如,如上所述,多租户服务器104可以包括用于每个租户系统102的单独的虚拟空间/组织314。每个虚拟空间/组织314包括仅对该租户系统102可用并且对其他租户系统102不可用的数据和服务。例如,多租户服务器104可以将来自租户系统1021的虚拟空间/组织3141的智能合约对象传递到租户系统1022和1023的虚拟空间/组织3142和3143(从租户系统1021接收到初始智
能合约请求),使得租户系统1022和1023的虚拟空间/组织3142和3143可以处理/分析智能合约对象以用于可能的验证/确认。
50.在操作212,交易管理服务302b可以监测来自租户系统1022和1023的响应,以确定是否已经达成关于智能合约的共识或者是否未能达成共识。在一个实施方案中,共识管理服务302d可以定义交易管理服务302b在确定关于智能合约的租户系统1022和1023何时达成共识时使用的阈值或规则。例如在一些实施方案中,共识管理服务302d可以指示共识要求所有租户系统1022和1023来验证/确认智能合约,而在其他实施方案中,共识管理服务302d可以指示共识要求大部分租户系统1022和1023来验证/确认智能合约。在一些实施方案中,共识管理服务302e指示由租户系统1022和1023使用的规则和/或操作,特别是与租户系统1022和1023关联的虚拟空间/组织3142和3143,以确定智能合约的验证/确认是否适当。例如共识管理服务302e可以指示租户系统1021的公钥与签名和智能合约对象一起用于确定智能合约对象是否源自租户系统1021并由租户系统1021授权。
51.在操作214,交易管理服务302b和交易队列104a可以响应于未能从租户系统1022和1023获得共识而放弃智能合约对象(例如未能获得由共识管理服务302d定义/指示的共识)。在一些实施方案中,放弃智能合约对象可包括向发送/生成初始智能合约请求的租户系统1021指示智能合约已被对等区块链网络108拒绝(即,未实现/获得对等区块链网络108中的共识)。
52.在操作216中,交易管理服务302b可以代表领导租户系统102提交对其达成共识的智能合约对象。在一些实现方式中,交易管理服务302b可以代表领导租户系统102在对应于智能合约对象的对等分类账310中添加条目/块。具体地,领导租户系统102的虚拟空间/组织314的交易管理服务302b可以代表领导租户系统102在对应于智能合约对象的对等分类账310中添加条目/块。添加到对等分类账310的条目/块可以包括多条信息。例如如图8所示,对等分类账3101中的每个条目/块804
1-804
t
可以包括对对等分类账8021中的前一个条目/块804、智能合约对象(以及一个或多个其他对象)以及临时数(即,用于满足对等链区块网络108的要求的任意数)的引用。
53.在操作218中,交易管理服务302b和/或交易队列104a可以代表剩余租户系统102提交对其达成共识的智能合约对象。在一些实施方案中,由剩余租户系统102提交智能合约对象可以包括领导者租户系统102发送请求或者以其他方式触发剩余租户系统102来提交对其达成了共识的智能合约对象。特别地,领导者租户系统102
1-1023的虚拟空间/组织314
1-3143的交易管理服务302b传递请求或以其他方式做出请求或以其他方式触发剩余租户系统102
1-1023的虚拟空间/组织314
1-3143的交易管理服务302b以向对应的对等分类账310
1-3103添加块/条目。对等分类账310
1-3103允许计算环境100、300a和/或300b维护数据的透明度和可审计性。具体地,多租户服务器104通过在对等分类账310
1-3103中记录/反映交易来为每个交易提供不可变性,对等分类账310
1-3103在所有租户系统102
1-1023上被复制。如上所述,租户系统102
1-1023参与共识机制以验证/确认交易/智能合约对象,并且仅在验证/确认交易/智能合约对象之后,才将交易/智能合约对象提交给对等分类账310
1-3103。在一些实施方案中,对等分类账310
1-3103可以存储在merkle有向无环图(dag)结构中。merkle dag可以以oracle和/或hbase存储器表示。
54.尽管操作208-216被描述为是关于向对等区块链网络108添加智能合约来执行的,
但在一些实施方案中,操作208-216可类似地用于改变对等区块链网络108中的智能合约。例如,操作208-216可以用于在对等区块链网络108中提供共识以添加或修改在对等区块链网络108中已经提交/建立的智能合约的条件或操作。
55.在操作220中,智能合约管理器112可以连续地监测和确定是否已经满足智能合约的成组的条件。例如,在上述示例智能合约中,响应于确定物理对象3062中的患者记录410包括对共享/分配物理对象3061的医疗记录404的授权,方法200可以移至操作222。相反,在上述示例智能合约中,响应于确定物理对象3062中的患者记录410不包括对共享/分配物理对象3061的医疗记录404的授权,方法200可保持在操作220中。
56.在操作222中,执行与在操作220中确定要满足的成组的条件相关联的一个或多个操作。在上述示例智能合约中,成组的操作可以包括智能合约管理器112对应于物理对象3062中的患者医疗记录404在对等区块链网络108中发起交易。例如,患者医疗记录404可以通过本文所述的共识过程在对等区块链网络108中共享/分配。例如,图2b示出了可以在操作222中执行的成组的操作。
57.如图2b所示,在操作222a中,智能合约管理器112可以致使虚拟空间/组织3142的交易管理服务302b对应于物理对象3062的记录410在影子对象3082中生成记录。影子对象3082可以对应于租户系统1022并且可以包括物理对象3062的所有字段412
1-412h。影子对象3082表示网络108中的未提交数据。如下面将更详细地描述的,租户系统1022的影子对象3082中的数据除了由其他租户系统102的对等分类账310和物理对象306表示之外,在由租户系统1022的对等分类账3102提交和表示之前,还需要由其他租户系统102通过共识来验证/确认。
58.图6示出了根据一个示例实施方案的对应于租户系统1022和物理对象3062的影子对象3082的示例。如图所示,影子对象3082包括对应于未提交数据的记录6041和6042。例如,记录6041可以向对等区块链网络108提出对应于医学实验室报告的记录410的提交。
59.在操作222b中,事件管理服务302c和/或交易队列104a可基于(1)在操作222a添加到影子对象3082的记录604和(2)对等区块链网络108的交换对象502来生成交易对象。特别地,交易对象可以包括用于每个交换字段504
1-504
p
的值,并且交易对象包括来自对应的交换字段504
1-504
p
中的记录604的数据/字段值。例如,图7示出根据一个示例实施方案的交易对象702的示例。
60.如图7所示,交易对象802基于交换字段504
1-504
p
与物理对象3062的字段412之间的映射将交换对象502的所有交换字段504
1-504
p
和来自影子对象3082中的记录6041的字段值606包括在适当位置中。如下面将描述的,将在下文中用于说明目的的交易对象702可以被传递或以其他方式可用于其他租户系统102以确定在对等区块链网络108中是否有共识来提交所提出的记录410(例如,验证/确认交易对象702)。
61.在操作222c中,事件管理服务302c和交易队列104a可以使交易对象702对其他租户系统1021和1023可用。在一些实施方案中,使交易对象702对其他租户系统1021和1023可用包括交易队列104a使用租户系统1022的私钥(或根据区块链协议的类似技术)对交易对象702进行签名,并将具有所应用的签名的交易对象702放置在租户系统1021和1023可用的多租户服务器104的一部分/分区中。例如,如上所述,多租户服务器104可以包括用于每个租户系统102的单独的虚拟空间/组织314。每个虚拟空间/组织314包括仅对该租户系统102
可用并且对其他租户系统102不可用的数据和服务。在操作223c中,多租户服务器104可以将具有所应用的签名的交易对象702从租户系统1022的虚拟空间/组织3142传递到租户系统1021和1023的虚拟空间/组织3141和3143,使得租户系统1021和1023的虚拟空间/组织3141和3143可以处理/分析交易对象702以用于可能的验证/确认。
62.在操作222d中,交易管理服务302b可以监测来自租户系统1021和1023的响应,以确定关于交易对象702是否达成共识或者是否未能达成共识。在一个实施方案中,共识管理服务302d可以定义交易管理服务302b用于确定租户系统1021和1023关于交易对象702何时达成共识的阈值或规则。例如,在一些实施方案中,共识管理服务302d可以指示共识要求所有租户系统1021和1023验证/确认交易对象702,而在其他实施方案中,共识管理服务302d可以指示共识要求大部分租户系统1021和1023验证/确认交易对象702。在一些实施方案中,同意管理服务302e指示由租户系统1021和1023、特别是与租户系统1021和1023相关联的虚拟空间/组织3141和3143使用的规则和/或操作,以确定交易对象702的验证/确认是否适当。例如,同意管理服务302e可以指示租户系统1022的公钥与签名和交易对象702一起用于确定交易对象702是否源自租户系统1022并由租户系统1022授权。
63.在操作222e中,交易管理服务302b和交易队列104a可以响应于未能从租户系统1021和1023获得共识(例如未能获得由共识管理服务302d定义/指示的共识)而放弃交易对象702。
64.在操作222f中,交易管理服务302b可以代表领导者租户系统102提交对应于已经达成共识的交易对象702的影子对象3082中的交易对象702和/或记录604。在一些实施方案中,领导租户系统102可以由成员资格服务302a从对等区块链网络108中的租户系统102
1-1023中随机选择。提交交易对象702可以包括以下操作中的一个或多个:代表领导租户系统102将记录604添加到物理对象306,以及在对应于交易对象702的对等分类账310中添加条目/块。例如,领导租户系统102的虚拟空间/组织314的交易管理服务302b可以代表领导租户系统102在对应于交易对象702的对等分类账310中添加条目/块。添加到对等分类账310的条目/块可以包括多条信息。例如,如图8所示,对等分类账3101中的每个条目/块804
1-804
t
可以包括对对等分类账3101中的先前条目/块804的引用,交易对象702(以及一个或多个其他对象)以及随机数(用于满足对等区块链网络108的要求的任意数量)。
65.在操作222g中,交易管理服务302b和/或交易队列104a可以代表领导者租户系统102发送请求或以其他方式触发其他租户系统102来将交易对象702提交给对应的物理对象306和/或向对应的对等分类账310添加块/条目。
66.如上所述,方法200允许多租户服务器104代表租户系统102
1-1023管理对等区块链网络108中的数据。具体地,由多租户服务器104提供的云环境可以用于租户系统102
1-1023之间的区块链交易。因此,方法200允许云环境在租户间通信期间提供与区块链网络相同的信息安全级别、信任级别和不可变级别,同时集中对等区块链网络108的功能/操作。此外,包括多租户服务器104的计算环境100实现对等区块链网络108以允许使用如本文所述的智能合约,智能合约包括跨租户对象操作的智能合约和在对等区块链网络108中必须共识地验证(引入和修改)的智能合约。
67.在一些实施方案中,计算环境300a和/或300b可以构建在平台312之上,该平台302包括用于实现多租户服务器104的其他部件的服务和/或元数据。在一些实施方案中,区块
链服务104d可以包括附加服务,诸如用于跟踪与每个租户/对等方相关联的记录和项目的硬币服务302f。
68.如以上所使用的,术语“用户”是指使用系统和/或服务的实体(例如个人)。多租户架构向每个租户提供软件实例的专用共享以及(通常)为用户管理、租户特定功能、配置、定制、非功能属性、相关联的应用等输入租户特定数据的能力。多租户与多实例架构形成对比,在多实例架构中,独立的软件实例代表不同的租户进行操作。租户包括成组的用户,该组用户共享对提供服务的软件实例的具有特定权限的公共访问。租户可以是组织(例如公司、公司内的部门等)。租户可以具有相对于系统和/或服务的一个或多个角色。例如在客户关系管理(crm)系统或服务的上下文中,租户可以是使用crm系统或服务来管理租户关于供应商的一个或多个客户的信息的供应商。作为另一个示例,在数据即服务(daas)的上下文中,成组的租户可以是提供数据的销售商,而另成组的租户可以是不同销售商的客户或所有销售商的数据。作为另一个示例,在平台即服务(paas)的上下文中,成组的租户可以是提供应用/服务的第三方应用开发者,而另成组的租户可以是不同第三方应用开发者或所有第三方应用开发者的客户。用户可以具有相对于系统和/或服务的一个或多个角色。为了提供一些示例,用户可以是租户(例如供应商或客户)的代表(有时被称为“最终用户”)、提供系统和/或服务的公司的代表(例如管理员),和/或正在平台上创建和维护平台即服务(paas)的第三方应用开发者的代表(例如程序员)。
69.上述实施方案的一个或多个部分可以包括软件和/或软件和硬件的组合。电子装置(也称为计算装置、计算机等)包括硬件和软件,诸如耦合到一个或多个机器可读存储介质(例如磁盘、光盘、只读存储器(rom)、闪存、相变存储器、固态驱动器(ssd))的一个或多个处理器的集合,以存储用于在处理器的集合上执行的代码(其由软件指令组成并且其有时称为计算机程序代码或计算机程序)和/或存储数据。例如电子装置可以包括非易失性存储器(具有较慢的读/写时间,例如磁盘、光盘、只读存储器(rom)、闪存、相变存储器、ssd)和易失性存储器(例如、快闪存储器、动态随机存取存储器(dram)、静态随机存取存储器(sram),其中非易失性存储器即使在电子装置存在时也保持代码/数据因为易失性存储器通常具有更快的读/写时间,所以在操作期间,电子装置将要由该电子装置的该组处理器执行的那部分代码从非易失性存储器复制到该电子装置的易失性存储器中。作为另一个示例,电子装置可以包括非易失性存储器(例如相变存储器),当电子装置关闭时,该非易失性存储器保存代码/数据,并且该非易失性存储器具有足够快的读/写时间,使得不是将要执行的代码/数据的部分复制到易失性存储器中,该代码/数据可以被直接提供给该组处理器(例如未被加载到该组处理器的高速缓存中);换言之,该非易失性存储器既用作长期存储又用作主存储器,因此电子装置可以不具有或者仅具有少量的用于主存储器的易失性存储器。除了在机器可读存储介质上存储代码和/或数据之外,典型的电子装置可以在一个或多个机器可读传输介质(也称为载波)(例如电、光、无线电、声或其他形式的传播信号-诸如载波、红外信号)上传输代码和/或数据。例如典型的电子装置还包括成组的一个或多个物理网络接口,以与其他电子装置建立网络连接(以使用传播信号来传输和/或接收代码和/或数据)。因此,电子装置可以存储代码和/或与一个或多个机器可读介质(也称为计算机可读介质)一起传输(内部地和/或通过网络与其他电子装置一起传输)代码和/或数据。
70.电子装置用于各种目的。例如电子装置(有时称为服务器电子装置)可以执行使其
作为用于向另一电子装置(有时称为客户端电子装置、客户端计算装置,或客户端装置),执行客户端软件(有时称为客户端代码或租户系统)以与服务通信。服务器和客户端电子装置可以分别由处于管理员(也称为管理用户)和终端用户角色的用户操作。
71.图9a是示出根据一些示例性实施方案的电子装置900的框图。图9a包括硬件920,其包括成组的一个或多个处理器922、成组的一个或多个网络接口924(无线和/或有线),以及其中存储有软件928(其包括可由成组的一个或多个处理器922执行的指令)的非瞬态机器可读存储介质926。先前描述的租户系统102和交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d中的每一者可以在一个或多个电子装置900中实施。在一个实施方案中:1)每个租户系统102在电子装置900中的单独一个中实施(例如在由用户操作的用户电子装置中,其中软件928表示实施租户系统102以与交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d接口的软件(例如web浏览器、本地客户端、门户、命令行接口和/或基于诸如简单对象访问协议(soap)、表述性状态转移(rest)等协议的应用程序接口(api));2)在电子装置900中的一个或多个的单独集合(例如成组的一个或多个服务器电子装置,其中软件928表示用于实施交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d的软件)中实施交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d;以及3)在操作中,实施租户系统102和交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d的电子装置将通信地耦合(例如通过网络)并且将在它们之间(或通过一个或多个其他层)建立连接,以用于向多租户服务器104委托所提议的新记录或对物理对象中的现有记录的所提议的修改。在其他实施方案(例如租户系统102和多租户服务器104在单个电子装置900上实施的实施方案)中,可以使用电子装置的其他配置。
72.在使用计算虚拟化的电子装置中,一个或多个处理器922的集合通常执行软件以实例化虚拟化层908和软件容器904a-r(例如利用操作系统级虚拟化,虚拟化层908表示操作系统的内核(或在基本操作系统上执行的垫片),其允许创建多个软件容器904a-r(表示单独的用户空间实例并且也被称为虚拟化引擎、虚拟专用服务器或监狱),这些软件容器可以各自被用于执行成组的一个或多个应用;利用完全虚拟化,虚拟化层908表示在主机操作系统之上执行的管理程序(有时被称为虚拟机监测器(vmm))或管理程序,并且软件容器904a-r各自表示被称为虚拟机的软件容器的紧密隔离形式,该虚拟机由管理程序运行并且可以包括访客操作系统;对于准虚拟化,与虚拟机一起运行的操作系统或应用程序可能知道存在用于优化目的的虚拟化。同样,在使用计算虚拟化的电子装置中,在操作期间,软件928的实例(示为实例906a)在虚拟化层908上的软件容器904a内执行。在没有使用计算虚拟化的电子装置中,在“裸金属”电子装置900上执行主机操作系统之上的实例906a。实例906a的实例化,以及虚拟化层908和软件容器904a-r(如果实施的话)被统称为软件实例902。
73.电子装置的可替代实施方案可以具有与上述实施方案不同的多种变化。例如定制的硬件和/或加速器也可以用于电子装置中。
74.网络装置(nd)是可通信地互连网络上的其他电子装置(例如其他网络装置、用户电子装置、服务器电子装置等)的电子装置。一些网络装置是“多业务网络装置”,其为多联网功能(例如路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或用户管理)提供支持,和/或为多应用服务(例如数据、语音和视频)提供支持。
75.图9b是根据一些实施方案的其中可以部署租户系统102
1-1023和多租户服务器104
的环境的框图。系统940包括用于提供服务942的硬件(成组的一个或多个电子装置)和软件,该服务942包括交易队列104a、租户级对象104b、网络级对象104c和区块链服务104d。系统940通过网络982耦合到用户电子装置980a-s。服务942可以是使其对为一个或多个其他组织(有时称为外部用户)工作的用户984a-s中的一个或多个可用的按需服务,以使得这些组织不必关心构建和/或维护系统,而是替代地在需要时(例如按用户984a-s的需求)使用服务942。服务942可以经由一个或多个应用编程接口(api)(例如表述性状态转移(rest)api)彼此通信和/或与用户电子装置980a-s中的一个或多个通信。用户电子装置980a-s由用户984a-s操作。
76.在一个实施方案中,系统940是支持多个服务的多租户云计算架构,诸如客户关系管理(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 order management和commerce cloud store)、与外部商业数据源的通信(例如由salesforce.com公司销售的salesforce connect)、生产力服务(例如由salesforce.com公司销售的quip)、数据即服务(daas)(例如由salesforce.com公司销售的database.com
tm
)、平台即服务(paas)(例如由salesforce.com公司销售的执行运行时和应用程序开发工具,诸如heroku
tm
enterprise、thunder和以及lightning)、分析服务(例如由salesforce.com公司销售的einstein analytics、sales analytics和/或service analytics)、社区服务(例如由salesforce.com公司销售的community cloud和chatter)、物联网(iot)服务(例如由salesforce.com公司销售的salesforce iot和iot cloud)、行业特定服务(例如由salesforce.com公司销售的financial services cloud和health cloud)和/或基础设施即服务(iaas)(例如虚拟机、服务器和/或存储)。例如系统940可以包括使得paas能够创建、管理和执行由应用平台944的提供者开发的一个或多个应用的应用平台944、经由一个或多个用户电子装置980a-s访问系统940的用户,或者经由一个或多个用户电子装置980a-s访问系统940的第三方应用开发者。
77.在一些实施方案中,一个或多个服务942可以利用用于租户数据948的一个或多个多租户数据库946,以及用于系统940可用的系统数据952的系统数据存储950。在某些实施方案中,系统940包括成组的一个或多个服务器,其在服务器电子装置上运行并且被配置为处理针对与任何租户相关联的任何授权用户的请求(用户和/或租户与特定服务器没有服务器亲缘关系)。用户电子装置980a-s与系统940的服务器通信以请求和更新由系统940托管的租户级数据和系统级数据,并且作为响应,系统940(例如系统940中的一个或多个服务器)可以自动生成被设计为从一个或多个多租户数据库946和/或系统数据存储950访问期望信息的一个或多个结构化查询语言(sql)语句(例如一个或多个sql查询)。
78.在一些实施方案中,服务942使用响应于来自用户电子装置980a-s的查询并根据元数据在运行时动态创建的虚拟应用来实施,包括:1)描述多个租户共同的构造(例如表单、报告、工作流、用户访问权限、业务逻辑)的元数据;以及/或2)租户特定的并且描述租户特定构造(例如表、报告、仪表板、接口等)的元数据,并且存储在多租户数据库中。为此,程
序代码960可以是将来自元数据的应用数据具体化的运行时引擎;也就是说,编译后的运行时引擎(也称为系统内核)、租户数据和元数据存在明显的分离,这使得可以独立地更新系统内核和租户特定的应用程序和架构,而实际上没有一个影响其他应用程序和架构的风险。此外,在一个实施方案中,应用程序平台944包括支持应用程序开发者创建和管理应用程序的应用程序设置机制,应用程序开发者可以通过保存例程将其保存为元数据。可使用提供编程语言风格接口的过程语言/结构化对象查询语言(pl/soql)来编码对包括交易队列104a、租户级对象104b、网络级别对象104c和区块链服务104d的这些应用的调用。在由craig weissman于2007年9月21日委托的标题为“method and system for allowing access to developed applications via a multi-tenant on-demand database service”的美国专利第7,730,478号中讨论了一些pl/soql语言实施方案的详细描述。对应用的调用可以由一个或多个系统进程检测,该系统进程管理获取进行调用的租户的应用元数据并且作为软件容器(例如虚拟机)中的应用执行元数据。
79.网络982可以是lan(局域网)、wan(广域网)、电话网络、无线网络、点对点网络、星形网络、令牌环网络、集线器网络或其他适当配置中的任何一者或任何组合。该网络可以遵循一个或多个网络协议,包括电气和电子工程师协会(ieee)协议,第三代合作伙伴计划(3gpp)协议,或类似的有线和/或无线协议,并且可以包括用于在系统940和用户电子装置980a-s之间路由数据的一个或多个中间装置。
80.每个用户电子装置980a-s(诸如台式个人计算机、工作站、膝上型计算机、个人数字助理(pda)、智能电话等)通常包括一个或多个用户接口装置,诸如键盘、鼠标、轨迹球、触摸板、触摸屏、笔等,用于与在显示器(例如监测器屏幕、液晶显示器(lcd)等)上提供的图形用户界面(gui)结合系统940提供的页面、表格、应用和其他信息进行交互。例如用户接口装置可用于访问由系统940主存的数据和应用,并对所存储的数据执行搜索,否则允许用户984与可呈现给用户984的各种gui页面交互。用户电子装置980a-s可以使用tcp/ip(传输控制协议和网际协议)与系统940通信,并且在更高的网络级使用其他联网协议来通信,诸如超文本传输协议(http)、ftp、andrew文件系统(afs)、无线应用协议(wap)、文件传输协议(ftp)、网络文件系统(nfs)、基于诸如简单对象访问协议(soap)、表述性状态传输(rest)等协议的应用程序接口(api)。在使用http的示例中,一个或多个用户电子装置980a-s可以包括http客户端(通常称为“浏览器”),用于向系统940的服务器发送http消息和从其接收http消息,从而允许用户电子装置980a-s的用户984通过网络982访问、处理和查看来自系统940的对其可用的信息、页面和应用。
81.在以上描述中,为了提供更透彻的理解,阐述了许多具体细节,诸如资源分区/共享/复制实施方案,系统部件的类型和相互关系,以及逻辑分区/集成选择。然而,本领域的技术人员应当理解,可以在没有这些具体细节的情况下实施本发明。在其他实例中,没有详细示出控制结构、逻辑实现、操作码、指定操作数的装置,以及完整的软件指令序列,因为本领域的普通技术人员通过所包括的描述将能够实施所描述的内容而无需过多的实验。
82.说明书中对“一个实施方案”、“示例性实施方案”等的引用指示所描述的实施方案可以包括特定特征、结构或特性,但是每种实施方案可以不一定包括该特定特征、结构或特性。此外,这样的短语不一定指同一个实施方案。此外,当结合实施方案描述特定特征、结构或特性时,认为结合其他实施方案影响这样的特征、结构或特性是在本领域技术人员的知
识范围内的,无论是否明确描述。
83.本文中可使用带虚线边框(例如大破折号、小破折号、点破折号和点)的括号文本和块来说明向一些实施方案添加额外特征的任选操作和/或结构。然而,这种表示法不应被认为意味着这些是唯一的选项或可替代操作,和/或具有实心边界的区块在某些实施方案中不是可替代的。
84.在下面的描述和权利要求中,可以使用术语“耦合”及其派生词。“耦合”用于表示两个或多个元件彼此可以直接物理或电接触、彼此协作或交互,也可以不直接物理或电接触。
85.参照其他附图中的示例性实施方案来描述流程图中的操作。然而,可以由不同于参考其他附图所讨论的那些实施方案来执行流程图的操作,并且参考这些其他附图所讨论的实施方案可以执行不同于参考流程图所讨论的那些操作。
86.虽然附图中的流程图示出了由某些实施方案执行的操作的特定顺序,但是应当理解,这样的顺序是示例性的(例如可替代实施方案可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。
87.虽然以上描述包括若干示例性实施方案,但是本领域的技术人员将认识到,本发明不限于所描述的实施方案,并且可以在所附权利要求的精神和范围内通过修改和变更来实现。因此该描述是说明性的而不是限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1