CN111247550A - 用于区块链网络的计算机化交易管理模块 - Google Patents
用于区块链网络的计算机化交易管理模块 Download PDFInfo
- Publication number
- CN111247550A CN111247550A CN201880062805.5A CN201880062805A CN111247550A CN 111247550 A CN111247550 A CN 111247550A CN 201880062805 A CN201880062805 A CN 201880062805A CN 111247550 A CN111247550 A CN 111247550A
- Authority
- CN
- China
- Prior art keywords
- transaction
- parent
- child
- transaction table
- primary
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- 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
- 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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer 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/22—Payment schemes or models
- G06Q20/229—Hierarchy of users of accounts
- G06Q20/2295—Parent-child type, e.g. where parent has control on child rights
-
- 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
-
- 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/386—Payment protocols; Details thereof using messaging services or messaging apps
-
- 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
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Child & Adolescent Psychology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了与管理通过区块链网络传送的交易相关联的系统、方法和其他实施例。在一个实施例中,方法包括维护第一实体的硬编码属性的静态维护表。示例方法还可以包括维护包括以小于阈值频率更新的数据列的父交易表。示例方法还可以包括维护以大于阈值频率更新的数据列的子交易表。示例方法还可以包括:接收交易以通过区块链网络进行传送;以及使用硬编码属性来验证交易。示例方法还可以包括将值填充到父交易表和子交易表中,并且使用这样的表来帮助交易通过区块链网络传送。
Description
背景技术
许多实体利用计算机来通过网络传送数据。第一银行能够将交易传输到第二银行以执行银行交易,诸如向第二银行转移资金。能够用来帮助安全在线交易的一种网络类型是区块链网络。区块链网络是去中心化的分布式数字账本(ledger),用于记录跨多个计算机的交易,使得不更改所有后续区块且不与区块链网络串通就不能追溯更改记录。这使参与者廉价地核实和审核交易。以这种方式,区块链网络提供了高度的数据安全性。
实体能够使用许多区块链网络提供者。每个实体能够具有它自己的如何访问和使用区块链网络的实现方式,诸如使用区块链网络的不同业务用例。因此,必须根据特定的区块链网络提供者如何实现区块链网络来针对该区块链网络提供者编写和调整定制的应用。还必须针对实体将如何实现区块链网络的访问和使用来定制应用。为每个业务用例和区块链提供者创建、存储和维护定制的代码是低效的,并且浪费了大量计算资源。
发明内容
在一个实施例中,描述了一种存储计算机可执行指令的非暂时性计算机可读介质和/或计算机程序,该计算机可执行指令在被计算机的处理器执行时使处理器:
维护包括第一实体的硬编码属性的静态维护表,其中硬编码值包括主机名称、代理、实体标识符或者表述性状态转移(REST)统一资源定位符(URL)中的至少一个;
维护包括以小于阈值频率更新的数据列的父交易表,其中父交易表包括主父键和主子键;
维护包括以大于阈值频率更新的数据列的子交易表,其中子交易表包括主父键、主子键以及父交易表的名称;
接收交易,以通过区块链网络在实体的第一计算设备与第二实体的第二计算设备之间进行传送;
使用静态维护表内的硬编码属性来验证交易;
根据交易的参数(argument)的顺序,将值填充到父交易表和子交易表的列中;以及
利用父交易表和子交易表来帮助交易通过区块链网络传送到第二计算设备。
在一个或多个其他实施例中,非暂时性计算机可读介质可以包括可执行指令,所述可执行指令与上述特征组合,用于执行以下特征的一个或多个组合:
利用父交易表和子交易表来帮助交易通过区块链网络传送到第二计算设备;
利用表对象文件,以使用表对象文件内的表结构信息来创建静态维护表、父交易表和子交易表;
执行将硬编码属性添加到静态维护表中的功能;
执行将硬编码属性更新到静态维护表中的功能;
执行禁用硬编码属性的功能;并且响应于确定使用了硬编码属性来启用硬编码属性;
查询静态维护表以识别用于通过区块链网络与第二实体通信的硬编码属性集合;并且使用硬编码属性集合通过区块链网络传输交易;
基于交易是初始交易,将交易的交易标识符存储为主父键;以及
将当前交易的当前交易标识符存储为主子键。
在另一个实施例中,本文中公开了一种计算机系统,包括:连接到存储器的处理器;以及存储在非暂时性计算机可读介质上并配置有指令的交易管理模块,所述指令在被处理器执行时使处理器:
维护包括第一实体的硬编码属性的静态维护表,其中硬编码值包括主机名称、代理、实体标识符或者表述性状态转移(REST)统一资源定位符(URL)中的至少一个;
维护包括以小于阈值频率更新的数据列的父交易表,其中父交易表包括主父键和主子键;
维护包括以大于阈值频率更新的数据列的子交易表,其中子交易表包括主父键、主子键以及父交易表的名称;
接收交易,以通过区块链网络在实体的第一计算设备与第二实体的第二计算设备之间进行传送;
使用静态维护表内的硬编码属性来验证交易;
根据交易的参数的顺序,将值填充到父交易表和子交易表的列中;以及
利用父交易表和子交易表来帮助交易通过区块链网络传送到第二计算设备。
在一个或多个其他实施例中,计算机系统还包括可执行指令,所述可执行指令与上述特征组合,用于执行以下特征的一个或多个组合:
使用用于存储交易状态的状态列来填充父交易表和子交易表中的至少一个;
使用用于追踪交易目的地的目的地实体列和用于追踪交易来源的来源实体列来填充父交易表和子交易表中的至少一个;
通过以下方式执行更新交易的功能:通过循环访问表对象文件以确定父交易表和子交易表内的列的数量来验证更新的参数的数量;以及响应于验证参数的数量与列的数量对应,通过循环访问父交易表和子交易表以根据参数的顺序插入值来实现更新;
接收对交易的请求;使用子主键来查询子交易表,以访问父主键和交易的数据;以及使用父主键来查询父交易表,以访问交易的数据;
其中子主键包括当前交易标识符;以及
维护失败的交易的数组列表;并且响应于自针对数组列表内的失败的交易的最近的交易传送尝试以来发生的阈值时间量,尝试跨区块链网络传输失败的交易。
附图说明
合并在本说明书中并构成其一部分的附图图示了本公开的各种系统、方法和其他实施例。将认识到的是,图中图示的元素边界(例如框、框的组或者其他形状)表示边界的一个实施例。在一些实施例中,可能将一个元素实现为多个元素,或者可能将多个元素实现为一个元素。在一些实施例中,可能将作为另一个元素的内部组件示出的元素实现为外部组件,并且反之亦然。此外,元素可能不是按比例绘制的。
图1A图示了与管理通过区块链网络传送的交易相关联的系统的实施例。
图1B图示了静态维护表、父交易表和子交易表的实施例。
图2图示了与管理通过区块链网络传送的交易相关联的方法的实施例。
图3A图示了与管理通过区块链网络传送的交易相关联的系统的实施例,其中与交易相关联的消息从应用传输到第二应用。
图3B图示了与管理通过区块链网络传送的交易相关联的系统的实施例,其中应用从第二应用接收与交易相关联的消息。
图4图示了非暂时性计算机可读介质的实施例。
图5图示了配置有所公开的示例系统和/或方法的计算系统的实施例。
图6图示了可以实现本发明的实施例的集成商业系统和企业网络的实施例。
图7图示了多租户分布式计算服务平台的实施例。
具体实施方式
本文中描述了管理通过区块链网络传送的交易的计算机化系统和方法。交易管理模块(诸如具有链代码的超级账本组件)可配置为连接到各种类型的区块链网络和/或区块链网络的未来实现方式并通过这些网络进行通信。由于每个区块链提供者都能够提供它自己的区块链网络的实现方式,该实现方式可以与由其他区块链提供者提供的实现方式不同,因此交易管理模块提供连接到区块链网络的当前和未来实现方式的可扩展的机制。以这种方式,由于不必为每种类型的区块链网络编写、存储和执行定制的编程代码,因此能够节省大量的计算和存储资源。
交易管理模块还可配置为连接到要通过区块链网络进行通信的各种类型的应用并与之通信。因此,交易管理模块能够帮助各种业务用例的实现,而无需为每个用例创建定制的编程代码。以这种方式,交易管理模块能够帮助在由不同计算设备托管的应用之间路由诸如交易的消息。
参考图1A,图示了与管理通过区块链网络115传送的交易相关联的计算机系统100的一个实施例。计算机系统100包括能够被配置为在诸如图5的计算机515的计算机上执行的交易管理模块105。交易管理模块105被配置为帮助通过各种类型的区块链网络在各种类型的应用之间传输各种用例的消息。在一个实施例中,交易管理模块105被配置为通过区块链网络115在第一银行的第一银行应用与第二银行的第二银行应用之间提供通信,使得帮助第一银行与第二银行之间的交易。可以认识到的是,在一些示例中,术语交易和消息能够互换使用,以指代两个实体或计算设备之间通过区块链网络进行的通信。
交易管理模块105能够利用表对象文件来创建静态维护表125、父交易表130、子交易表135和/或用于通过区块链网络115路由交易的其他表。在一个实施例中,表对象文件包括表json文件或者具有某种其他数据格式(诸如XML)的文件。表对象文件包括能够用于在数据库中创建表的数据。表对象文件能够包括将存储交易数据的表的结构格式,诸如定义特定表、列、行、预期数据类型等的结构格式。以这种方式,使用表对象文件内的表结构信息来创建表。
交易管理模块105维护静态维护表125以存储第一实体的硬编码属性。在第一实体是银行的一个实施例中,硬编码属性包括银行代码、代理、银行处理交易的业务逻辑(例如,处理向/从银行转移资金的逻辑)、银行标识符等。交易管理模块105确保正确地硬编码、维护了银行属性、在要求时更新银行属性以及在需要时调用银行属性。在一个实施例中,硬编码属性包括银行的服务器/服务的主机名称、代理、实体标识符(诸如银行的银行代码)和/或金融银行适配器正在运行的表述性状态转移(REST)统一资源定位符(URL)。交易管理模块105被配置为执行功能以添加硬编码属性、更新硬编码属性、禁用硬编码属性和/或启用硬编码属性。
在另一个实施例中,静态维护表125包括银行标识符列、银行代码列、代理列、主机名称列、超级账本列和REST URL列中的一个或多个,如图1B所示。银行名称或其他银行标识符填充在银行标识符列内。在全球范围识别银行的国际银行代码(全球银行间金融电信协会(SWIFT)代码或银行识别代码(BIC))填充在银行代码列内。代理和/或其他系统和功能相关实用程序的属性填充在代理列内。银行服务器/服务的主机名称填充在主机名称列内。由银行使用的超级账本填充在超级账本列内。银行使用超级账本来记录银行的交易。银行的REST URL(诸如银行的REST性质的web服务的URL)存储在REST URL列中。
交易管理模块105维护父交易表130以包括以小于阈值频率更新的数据列,诸如不经常更新的银行数据。父交易表130包括父交易表130的主父键(例如,对应于初始交易的初始交易标识符)和子交易表135的主子键(例如,对应于当前交易的当前交易标识符)。
在一个实施例中,父交易表130包括一列或多列不经常更新的银行和交易数据、状态列、交易目的地列、交易来源列、响应数据列以及通知发送方/接收方列,如图1B所示。父交易表130的每一行能够对应于特定交易。在状态列内填充交易的状态,诸如未处理(例如,当交易首次进入超级账本时)、准备处理和/或其他处理交易的阶段。交易的目的地银行填充在交易目的地列内,并且交易的来源银行填充在交易来源列内。响应数据列用于存储基于处理交易的各个阶段在来源银行和目的地银行之间定期交换的信息。指示是否要将短交易消息发送到来源银行(发送方)和目的地银行(接收方)的布尔值存储在通知发送方/接收方列内。
交易管理模块105维护子交易表135以包括以大于阈值频率更新的数据列,诸如经常更新的银行数据。子交易表135包括主父键、主子键以及父交易表130的名称。在一个实施例中,子交易表135包括一列或多列经常更新的银行和交易数据、状态列、交易目的地列、交易来源列、响应数据列以及通知发送方/接收方列,如图1B所示。子交易表135的每一行能够对应于特定交易。在状态列内填充交易的状态,诸如未处理、准备处理和/或其他处理交易的阶段。交易的目的地银行填充在交易目的地列内,并且交易的来源银行填充在交易来源列内。响应数据列用于存储基于处理交易的各个阶段在来源银行和目的地银行之间定期交换的信息。指示是否要将短交易消息发送到来源银行(发送方)和目的地银行(接收方)的布尔值存储在通知发送方/接收方列内。
交易管理模块105接收交易以通过区块链网络115在第一计算设备和第二计算设备之间进行通信。在一个实施例中,交易是由应用110创建的。应用110将交易发送到消息收发模块140。然后交易从消息收发模块140发送到交易管理模块105,以通过区块链网络115传输到计算设备120。在另一个实施例中,交易由交易管理模块105通过区块链网络115从计算设备120接收。交易从交易管理模块105路由到消息收发模块140以进行处理并传递给应用110。
交易管理模块105使用静态维护表125内的硬编码属性来验证交易。在一个实施例中,硬编码属性用于确定来源银行代码和目的地银行代码是否有效、交易是否具有适当的安全性和认证等。在一个实施例中,交易的银行代码(或银行标识符)通过首先确定银行代码是否属于所维护的来源代码的列表来验证。接下来,确定银行代码是否属于所维护的目的地代码的列表。最后,做出确定以确保来源银行代码和目的地银行代码是不同的。一旦验证了交易,就通过以与交易的参数相同的顺序用值填充表来将交易添加到父交易表130和/或子交易表135中。
交易管理模块105被配置为根据交易的参数的顺序将值填充到父交易表130和/或子交易表135的列中。交易管理模块105可以基于交易是初始交易而将交易的交易标识符存储为主父键。如果交易是当前交易,则交易管理模块105可以将交易标识符存储为主子键。交易管理模块105可以使用用于存储交易的状态的状态列来填充表。状态能够基于处理交易的当前阶段(诸如未处理、准备处理等)而改变。交易管理模块105能够使用用于追踪交易的目的地的目的地实体列(例如目的地银行名称和/或代码)和用于追踪交易的来源的来源实体列(例如来源银行名称和/或代码)来填充表。交易管理模块105能够使用用于存储基于处理交易的各个阶段在来源和目的地之间以大于阈值频率例行交换的信息(诸如被访问、处理、传输等的信息)的响应列来填充表。交易管理模块105能够使用指示是否要将具有来自交易的更新值的短消息发送到来源的通知发送方变量(诸如布尔值)来填充表。
在添加交易的一个实施例中,交易管理模块105通过使用静态维护表125内的硬编码属性验证交易的银行标识符和/或银行代码来将交易添加到表中。在一个实施例中,确定交易的银行代码中的一个银行代码是否在所维护的来源银行代码的列表内、交易的银行代码中的另一个银行代码是否在所维护的目的地银行代码的列表内、和/或者来源和目的地银行代码是否不同。在验证之后,通过将父键列和子键列添加到父交易表130中(诸如通过添加父键列和子键列作为父交易表130内的前两列)来添加交易。通过以与交易的参数相同的顺序将交易的值输入到父交易表130中来循环访问父交易表130。接下来,将子键和父键(诸如主子键和主父键)各自添加到子交易表135中,诸如添加为子交易表135中的前两列。通过以与交易的参数相同的顺序将交易的值输入到子交易表135中来循环访问子交易表135。
在更新交易的一个实施例中,通过循环访问用于创建表的表对象文件以识别要更新的表中的列的数量来核实更新的参数的数量,从而验证更新。通过以与更新的参数相同的顺序输入来自更新的值来循环访问目标表,从而更新交易。在子交易表135和父交易表130中更新诸如主子键的子键。
在查询交易的一个实施例中,交易管理模块105使用主子键和主父键的概念来查询交易。通过使用等于当前交易标识符的主子键从子交易表135中获取列来查询交易。这提供了经常更新的列的数据。作为当前交易标识符的主子键用于找到主父键,该主父键能够用于向父交易表130查询较不经常更新的列内的数据。以这种方式,使用主父键和主子键来完成对交易的查询。查询的结果可以包括诸如具有逗号分隔项的json格式的串。
在错误处理的一个实施例中,维护失败的交易的数组列表。响应于自针对数组列表内的失败的交易执行了最近的交易传送尝试以来发生的阈值时间量,再次尝试跨区块链网络115传输失败的交易的尝试(例如,执行HTTP发布)。如果成功,则从数组列表中移除失败的交易。
在事件监听的一个实施例中,唤起函数的调用可以触发事件监听者。作为父交易标识符的主父键用于获取相应的交易。父交易标识符用于查询实体信息以识别来源实体和目的地实体,诸如交易的来源银行和目的地银行。如果来源实体或目的地实体的标识符与应用110的标识符匹配,则处理该调用,否则由于该调用与可通过区块链网络115访问的不同实体相关而忽略该调用。能够检查通知发送方和通知接收方的布尔变量,以确定如何格式化交易的消息以及要将什么消息发送到来源实体和目的地实体。如果交易是插入交易,则不管通知接收方的值如何,目的地实体都获得完整的消息(例如关于整个交易的消息)。如果通知发送方为真,则向来源实体发送短消息,否则不发送任何消息。如果交易是更新交易,则如果通知接收方为真,那么目的地实体获得短消息(例如关于对交易的更新的消息),否则不发送任何消息。如果通知发送方为真,则目的地实体获得短消息,否则不发送任何消息。
交易管理模块105利用父交易表130和/或子交易表135来帮助交易通过区块链网络115传送到目的地(诸如到计算设备120)。在一个实施例中,查询静态维护表125以识别用于通过区块链网络115与目的地通信的硬编码属性集合。硬编码属性集合用于通过区块链网络115传输交易。硬编码属性集合可以指定要使用的通信机制。在一个实施例中,通信机制包括用于通过数据库传送消息的通知的查询改变通知机制。在另一个实施例中,通信机制包括通过队列传送消息的队列机制。在另一个实施例中,通信机制包括从消息表中提取消息的制表轮询机制。在另一个实施例中,通信机制包括用于从REST性质的服务器接收消息的超文本传输协议(HTTP)表述性状态转移(REST)机制。在另一个实施例中,通信机制包括接收消息的套接字机制。在另一个实施例中,通信机制包括用于通信的简单对象访问协议(SOAP)机制。
在一个实施例中,交易管理模块105接收对交易的请求。交易管理模块105使用子主键查询子交易表135以访问父主键和交易的数据。子主键可以包括交易的当前交易标识符。交易管理模块105使用父主键查询父交易表130以访问交易的数据。
在一个实施例中,交易管理模块105接收更新交易的指令。因此,交易管理模块105执行更新交易的功能。特别地,通过循环访问表对象文件以确定父交易表130和/或子交易表135内的列的数量来验证更新的参数的数量。响应于验证参数的数量与列的数量对应,通过循环访问父交易表130和/或子交易表135以根据参数的顺序插入更新的值来实现更新。
参考图2,图示了与管理通过区块链网络传送的交易相关联的计算机实现的方法200的一个实施例。在一个实施例中,方法200由交易管理模块105利用计算机515的各种计算资源(诸如用于执行与接收、存储、处理和/或传输交易相关联的指令的处理器520)来执行。存储器535和/或盘555用于存储交易数据、静态维护表125、父交易表130、子交易表135等。网络硬件用于通过网络(诸如区块链网络)在计算机515和远程计算机之间传送数据结构和/或其他数据。在接收到存储、处理和/或传输交易的请求时触发方法200。
在205处,交易管理模块105维护用第一实体(诸如第一银行)的硬编码属性填充的静态维护表125,如图3A的示例系统300所示。硬编码属性能够包括与第一银行相关联的计算设备的主机名称、代理、第一银行的标识符、REST/URL和/或第一银行的其他属性。类似地,与第二实体(诸如第二银行)相关联的第二交易管理模块305可以维护第二实体的硬编码属性的第二静态维护表310。
在210处,交易管理模块105维护包括以小于阈值频率更新的数据列的父交易表130。类似地,第二交易管理模块305维护包括以小于阈值频率更新的数据列的第二父交易表315。
在215处,交易管理模块105维护包括以大于阈值频率更新的数据列的子交易表135。类似地,第二交易管理模块305维护包括以大于阈值频率更新的数据列的第二子交易表320。
在一个实施例中,消息收发模块140从应用110接收与交易相关联的消息,该应用110正在通过区块链网络115发送390消息以传递395到第二应用325。在一个实施例中,消息可以与第一银行和第二银行之间的交易相关,因此通过区块链网络115从第一银行的应用110传输到第二银行的第二应用325。根据信道配置(例如由应用110使用的通信功能的选择和实现)通过信道输入(channel-in)接口335接收消息。解析器组件345使用将消息解析为消息对象以进行进一步处理的解析器配置。
处理器组件350使用利用验证和逻辑来处理消息对象(诸如确保交易的来源银行和目的地银行是有效的)的处理器配置。转换组件355使用将消息格式化为具有由目的地(诸如交易管理模块105)使用的格式的格式化消息的转换配置。格式化消息根据信道配置(例如由交易管理模块105使用的通信功能的选择和实现)通过信道输出(channel-out)接口340路由到交易管理模块105。
在220处,交易被交易管理模块105接收。在225处,使用静态维护表125内的硬编码属性来验证交易。在230处,根据如由消息所指定的交易的参数的顺序将值填充到父交易表130和/或子交易表135的列中。在235处,父交易表130、子交易表135和/或静态维护表125用于通过区块链网络115将交易(诸如格式化消息)路由到第二交易管理模块305,该第二交易管理模块305可以使用第二静态维护表310、第二父交易表315和/或第二子交易表320接收、处理交易并将其路由到第二消息收发模块360。以这种方式,第二交易管理模块305接收格式化消息作为路由消息。第二消息收发模块360根据信道配置(例如由第二交易管理模块305使用的通信功能的选择和实现)通过第二信道输入接口365从第二交易管理模块305接收路由消息。
第二消息收发模块360的第二解析器组件375、第二处理器组件380和第二转换组件385处理路由消息以创建格式化消息。格式化消息根据信道配置(例如由第二应用325使用的通信功能的选择和实现)通过第二信道输出接口370路由以传递395到第二应用325。
图3B图示了第二应用325发送397第二消息以传递399到应用110。第二消息收发模块360根据信道配置(例如由第二应用325使用的通信功能的选择和实现)通过信道输入接口365接收第二消息。第二消息收发模块360的第二解析器组件375、第二处理器组件380和第二转换组件385处理第二消息以创建第二格式化消息。第二格式化消息根据通道配置(例如由第二交易管理模块305使用的通信功能的选择和实现)通过通道输出接口370路由到第二交易管理模块305。
第二交易管理模块305利用第二静态维护表310、第二父交易表315和/或第二子交易表320通过区块链网络115接收、处理和/或路由与第二消息相关联的第二交易。第二交易管理模块305通过区块链网络115将第二格式化消息路由到交易管理模块105。以这种方式,交易管理模块105接收第二格式化消息作为第二路由消息。消息收发模块140根据信道配置(例如由交易管理模块105使用的通信功能的选择和实现)通过信道输入接口335从交易管理模块105接收第二路由消息。
消息收发模块140的解析器组件345、处理器组件350和转换组件355处理第二路由消息以创建第二格式化消息。第二格式化消息根据信道配置(例如由应用110使用的通信功能的选择和实现)通过信道输出接口340路由以传递399到应用110。
图4是涉及示例非暂时性计算机可读介质405的场景400的示意图。在一个实施例中,本文中所述的组件中的一个或多个组件被配置为存储在非暂时性计算机可读介质405中的程序模块,诸如交易管理模块105。程序模块配置有存储的指令(诸如处理器可执行指令420),所述指令在被至少一个处理器(诸如处理器440)执行时,使计算设备执行如本文中所述的(一个或多个)对应功能。在一个实施例中,存储在非暂时性计算机可读介质405中的交易管理模块105的功能可以作为处理器可执行指令420由处理器440执行,以执行图2的方法200的实施例425。
非暂时性计算机可读介质405包括处理器可执行指令420,处理器可执行指令420在被处理器440执行时使得执行本文中的至少一些条款(provision)。非暂时性计算机可读介质405包括存储器半导体(例如,利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器的盘片、闪存设备或者磁盘或光盘(诸如紧凑盘(CD)、数字通用盘(DVD)或软盘)。示例非暂时性计算机可读介质405存储计算机可读数据410,计算机可读数据410当被设备430的读取器435(例如硬盘驱动器的读取头或在固态存储设备上唤起的读取操作)读取415时,表达处理器可执行指令420。
在一些实施例中,处理器可执行指令420在被执行时使得执行操作,例如,诸如图2的示例方法200中的至少一些操作。在一些实施例中,处理器可执行指令420被配置为使得实现系统,例如,诸如图1A的示例系统100中的至少一些系统。
图5示出了使用本文中所述的示例系统和方法中的一个或多个和/或等价物配置和/或编程的示例计算设备500。示例计算设备500可以是计算机515,计算机515包括通过总线525可操作地连接的处理器520、存储器535和I/O端口545。在一个实施例中,计算机515可以包括被配置为帮助图1-图2中所示的系统100和/或方法200的交易管理模块105的逻辑。在不同的实施例中,交易管理模块105的逻辑可以用硬件、具有存储的指令的非暂时性计算机可读介质505、固件和/或其组合来实现。虽然交易管理模块105的逻辑被示为附接到总线525的硬件组件,但是要认识到的是,在其他实施例中,交易管理模块105的逻辑可以在处理器520中实现、存储在存储器535中或者存储在盘555中。
在一个实施例中,计算机515或交易管理模块105的逻辑是用于执行所描述的动作的部件(例如,结构:硬件、非暂时性计算机可读介质、固件)。在一些实施例中,计算设备可以是在云计算系统中操作的服务器、以软件即服务(SaaS)架构配置的服务器、智能电话、膝上型计算机、平板计算设备等。
例如,该部件可以被实现为专用集成电路(ASIC),该专用集成电路被编程为实现用于分配的基于规则的源序列。该部件还可以被实现为存储的计算机可执行指令,存储的计算机可执行指令作为暂时存储在存储器535中的数据510呈现给计算机515,然后由处理器520执行。
交易管理模块105的逻辑还可以提供用于执行用于分配的基于规则的源序列的部件(例如硬件、存储可执行指令的非暂时性计算机可读介质505、固件)。
一般性地描述计算机515的示例配置,处理器520可以是包括双微处理器和其他多处理器架构的各种各样的处理器。存储器535可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如只读存储器(ROM)、可编程只读存储器(PROM)等。易失性存储器可以包括例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
盘555可以经由例如I/O接口540(例如卡、设备)和I/O端口545可操作地连接到计算机515。盘555可以是例如磁盘驱动器、固态盘驱动器、软盘驱动器、带驱动器、Zip驱动器、闪存卡、记忆棒等。此外,盘555可以是CD-ROM驱动器、CD-R驱动器、CD-RW驱动器、DVD ROM等。例如,存储器535能够诸如在非暂时性计算机可读介质505内存储处理和/或数据510。盘555和/或存储器535能够存储控制和分配计算机515的资源的操作系统。
计算机515可以经由I/O接口540和I/O端口545与输入/输出(I/O)设备交互。I/O设备可以是例如键盘、麦克风、定点和选择设备、相机、视频卡、显示器、盘555、网络设备550等。I/O端口545可以包括例如串行端口、并行端口和USB端口。I/O控制器530可以将I/O接口540连接到总线525。
计算机515能够在网络环境中操作,因此可以经由I/O接口540和/或I/O端口545连接到网络设备550。计算机515可以通过网络设备550与网络交互。计算机515可以通过网络逻辑地连接到远程计算机(例如,计算机515可以驻留在客户端可以连接到的分布式计算环境内)。计算机515可以与之交互的网络包括但不限于局域网(LAN)、新区域网(WAN)和其他网络。
图6是示出可以实现本发明的实施例的系统600的图。企业网络604可以与商业企业(诸如零售商、商家、服务提供者或其他类型的商业)相关联。可替代地,并且根据应用服务提供者(ASP)托管的集成商业系统(诸如多租户数据处理平台)的优点,商业企业可以包括较少的专用设施或商业网络或者根本不包括专用设施或商业网络,只要其终端用户可以访问互联网浏览器和互联网连接即可。为了解释的简化和清楚,企业网络604由多个个人计算机608连接到的现场局域网606以及示例性远程用户计算机610表示,每个个人计算机608一般专用于特定的终端用户(诸如服务代理或其他雇员)(虽然不要求这种专用性),示例性远程用户计算机610能够是例如可以通过公共Wi-Fi接入点或其他互联网接入方法访问互联网的旅行中的雇员的膝上型计算机或平板计算机。与计算机608和610相关联的终端用户(消费者)可以拥有启用互联网的智能电话或者具有无线互联网访问或其他同步能力的其他电子设备(诸如PDA、平板计算机、膝上型计算机)。企业网络604的用户跨互联网612或另一个合适的通信网络或网络的组合与集成商业系统602接合。
可以由专用的第三方托管的集成商业系统602可以包括如图6所示那样耦接的集成商业服务器614和web接口服务器616。要认识到的是,集成商业服务器614和web接口服务器616中的任一个或这二者可以在一个或多个不同的硬件系统和组件上实现,即使在图6中被表示为单个单元。
在为了多个账户所有者/租户(每个账户所有者/租户正在经营企业)的利益而由第三方操作系统602的典型示例中,集成商业服务器614包括ERP模块618并且还包括CRM模块620。在许多情况下,期望ERP模块618与CRM模块620共享方法、库、数据库、子例程、变量等,并且实际上ERP模块618可以与CRM模块620交织成集成商业数据处理平台(其可以是单租户的,但通常是多租户的)。
ERP模块618可以包括但不限于财务和会计模块、订单处理模块、时间和计费模块、库存管理和配送模块、雇员管理和工资单模块、日历和协作模块、报告和安全模块以及其他与ERP相关的模块。CRM模块620可以包括但不限于销售能力自动化(SFA)模块、营销自动化模块、联系人列表模块(未示出)、呼叫中心支持模块、基于web的客户支持模块、报告和安全模块以及其他与CRM相关的模块。集成商业服务器614(或多租户数据处理平台)还可以提供其他商业功能,包括网络商店/电子商务模块622、合作伙伴和供应商管理模块624以及集成报告模块630。也可以提供SCM(供应链管理)模块626和PLM(产品生命周期管理)模块628。Web接口服务器616被配置为并适合于与集成商业服务器614接合,以向企业网络604的终端用户提供一个或多个基于web的用户接口。
图6中所示的集成商业系统可以托管在包括至少一个但可能是多个“服务器”的分布式计算系统上。服务器是专用于为一个或多个软件应用或服务提供数据存储和执行环境的物理计算机,该一个或多个软件应用或服务意图为例如经由诸如互联网的公共网络或者私有“内联网”网络与服务器进行数据通信的其他计算机的用户的需求服务。服务器及其提供的服务可以被称为“主机”,并且被服务的远程计算机和在远程计算机上运行的软件应用可以被称为“客户端”。根据服务器提供的(一个或多个)计算服务,它可以被称为数据库服务器、数据存储服务器、文件服务器、邮件服务器、打印服务器、web服务器等。web服务器最经常的是硬件和软件的组合,该组合通常通过托管网站来帮助将内容传递到经由互联网访问web服务器的客户端web浏览器。
图7是示出可以实现本发明的实施例的示例操作环境700的元素或组件的图。如图所示,合并和/或被合并到各种计算设备的各种客户端702可以通过一个或多个网络714与分布式计算服务/平台708通信。例如,客户端可以合并和/或被合并到至少部分地由计算设备中的一个或多个计算设备实现的客户端应用(例如软件)。合适的计算设备的示例包括个人计算机、服务器计算机704、台式计算机706、膝上型计算机707、笔记本计算机、平板计算机或个人数字助理(PDA)710、智能电话712、蜂窝电话以及合并一个或多个计算设备组件(诸如一个或多个电子处理器、微处理器、中央处理单元(CPU)或控制器)的消费电子设备。合适的网络714的示例包括利用有线和/或无线通信技术的网络以及根据任何合适的网络和/或通信协议操作的网络(例如互联网)。在涉及客户支持服务的传递的用例中,所提到的计算设备表示客户支持传递处理的端点,即,消费者的设备。
分布式计算服务/平台(也可以被称为多租户商业数据处理平台)708可以包括多个处理层,包括用户界面层716、应用服务器层720和数据存储层724。用户界面层716可以维护多个用户界面718,包括图形用户界面和/或基于web的界面。用户界面可以包括为服务的用户或“租户”提供对应用和数据的访问的针对该服务的缺省用户界面(在图中描绘为“服务UI”),以及已经根据用户具体要求进行了专门化/定制的一个或多个用户界面(例如,在图中由“租户A UI”、……、“租户Z UI”表示,并且可以经由一个或多个API访问)。缺省用户界面可以包括使租户能够管理租户对由服务平台提供的功能和能力(诸如访问数据、使得执行具体的数据处理操作等)的参与的组件。图中所示的每个处理层可以用一组计算机和/或包括计算机服务器和处理器的计算机组件来实现,并且可以执行通过执行软件应用或指令集合所确定的各种功能、方法、处理或操作。数据存储层724可以包括一个或多个数据存储库,包括服务数据存储库725和一个或多个租户数据存储库726。
每个租户数据存储库726可以包含租户特定数据,该数据被用作提供一系列租户特定商业服务或功能的部分,包括但不限于ERP、CRM、电子商务、人力资源管理、工资单等。数据存储库可以用任何合适的数据存储技术实现,包括基于结构化查询语言(SQL)的关系数据库管理系统(RDBMS)。
根据本发明的一个实施例,分布式计算服务/平台708可以是多租户的,并且服务平台708可以由实体操作,以向多个租户提供一组业务相关的应用、数据存储装置和功能。这些应用和功能可以包括企业用于管理其操作的各个方面的应用和功能。例如,应用和功能可以包括提供对商业信息系统的基于web的访问,从而允许具有浏览器和互联网或内联网连接的用户查看、输入、处理或修改某些类型的商业信息。
如上所述,这样的商业信息系统可以包括企业资源计划(ERP)系统,ERP系统将若干历史上独立的商业计算系统的能力集成到共同的系统中,目的是简化商业过程并且在商业范围水平上提高效率。举例来说,ERP系统的能力或模块可以包括(但不要求包括,也不限于仅包括):会计、订单处理、时间和计费、库存管理、零售销售点(POS)系统、电子商务、产品信息管理(PIM)、需求/物料需求计划(MRP)、采购、内容管理系统(CMS)、专业服务自动化(PSA)、雇员管理/工资单、人力资源管理以及雇员日历和协作,以及与这些功能相关的报告和分析能力。这些功能或商业应用通常由软件代码/指令的一个或多个模块实现,软件代码/指令在作为平台的应用服务器层720的部分的一个或多个服务器722上维护并且由该一个或多个服务器722执行。
可以作为集成数据处理和服务平台的部分提供的另一个商业信息系统是集成客户关系管理(CRM)系统,其被设计为协助获得对客户更好的理解、增强对现有客户的服务以及协助获取新的和可获利的客户。举例来说,CRM系统的能力或模块能够包括(但不要求包括,也不限于仅包括):销售能力自动化(SFA)、营销自动化、联系人列表、呼叫中心支持、退货管理授权(RMA)、忠诚度项目支持和基于web的客户支持,以及与这些功能相关的报告和分析能力。除了ERP和CRM功能之外,商业信息系统/平台还可以包括以下系统中的一个或多个:集成合作伙伴和供应商管理系统、电子商务系统(例如虚拟店面应用或平台)、产品生命周期管理(PLM)系统、人力资源管理系统(其可以包括医疗/牙科保险管理、工资单等)或者供应链管理(SCM)系统。这些功能或商业应用通常由软件代码/指令的一个或多个模块实现,软件代码/指令在作为平台的应用服务器层720的部分的一个或多个服务器722上被维护并且由该一个或多个服务器722执行。
注意的是,功能性优势和策略性优势这二者可以通过使用包括ERP、CRM和其他商业能力的集成商业系统来获得,例如,其中集成商业系统与商家的电子商务平台和/或“网络商店”集成。例如,搜索特定产品的客户能够被指引到商家的网站并且在他们的家用计算机或者甚至在他们的移动电话的舒适环境下被呈现各种各样的产品和/或服务。当客户经由基于浏览器的界面发起在线销售交易时,集成商业系统能够处理订单、更新应收账款、更新库存数据库和其他基于ERP的系统,并且还能够自动更新策略性客户信息数据库和其他基于CRM的系统。这些模块及其他应用和功能可以有利地在必要时由访问一个或多个集成数据库的单个代码库集成和执行,从而形成集成商业管理系统或平台。
如关于图6所指出的,图7中所示的集成商业系统可以托管在包括至少一个但通常是多个“服务器”的分布式计算系统上。服务器是专用于为一个或多个软件应用或服务提供数据存储和执行环境的物理计算机,该一个或多个软件应用或服务意图为例如经由诸如互联网的公共网络或者私有“内联网”网络与服务器进行数据通信的其他计算机的用户的需求服务。
企业不是自己构建和维护这样的集成商业系统,而是可以利用由第三方提供的系统。这样的第三方可以在多租户平台的上下文中实现如上所述的集成商业系统/平台,其中单个综合的集成商业系统的各个实例被提供给各个租户。这样的多租户平台的一个优点是每个租户能够为该租户的具体商业需求或操作方法定制他们的集成商业系统的实例。每个租户可以是使用多租户平台向多个用户提供商业数据和功能的企业或实体。这些多个用户中的一些用户可以在商业或实体内具有不同的角色或职责。
在一些情况下,租户可以期望通过向该应用引入扩展来修改或补充现有平台应用的功能,其中要使该扩展可用于租户的雇员和/或客户。在一些情况下,这样的扩展可以应用于处理驻留在平台上的租户的商业相关数据。扩展可以由租户或由第三方开发者开发,然后可用于由租户进行安装。平台可以包括可用扩展的“库”或目录,其能够由租户访问并且可以被搜索以识别感兴趣的扩展。在对提议的扩展进行适当验证后,可以允许软件开发者向库或目录“发布”扩展。
因此,为了允许租户获得他们期望的服务和功能(其可以包括向他们的终端客户提供某些服务,诸如与电子商务平台相关联的功能),多租户服务平台可以允许租户配置(一个或多个)可用服务的某些方面,以更好地满足他们的商业需求。以这种方式,服务平台的方面可以是可定制的,从而使租户能够配置平台的方面,以向其各自的用户或那些用户的组提供不同的服务。例如,使用服务平台的商业企业可以想要向其雇员和/或客户提供附加的功能或能力,或者使得根据为他们的商业需求调整的定义的工作流以具体方式处理其商业数据等。
对平台的租户定制可以包括在较低级别操作系统功能之上构建的定制功能(诸如执行租户或用户特定功能、数据处理或操作的能力)。一些多租户服务平台可以提供在多个不同级别的服务平台定制功能或操作的能力,从对图形用户界面的美学修改到提供由独立第三方供应商开发的组件和/或整个应用的集成。这能够是非常有益的,因为通过允许使用由第三方供应商开发的组件和/或应用,多租户服务能够显著增强对租户可用的功能并增加租户对平台的满意度。
如所指出的,除了用户定制之外,独立软件开发者还可以创建对通过多租户数据处理平台对用户可用的特定应用的扩展。扩展可以向底层应用添加新功能或能力。平台的一个或多个租户/用户可以希望向底层应用添加扩展,以能够利用通过扩展变得可能的对应用的增强。另外,开发者可以希望在他们认识到对合并到扩展中将是有利的修复或附加功能的需求时升级或提供扩展的补丁。在一些情况下,开发人员可以优选使升级(至少最初)仅对一组选定的用户可用,以获得改进扩展的新版本的反馈、测试扩展的稳定性或者协助他们针对其(一个或多个)扩展来划分市场。
在另一个实施例中,所描述的方法和/或它们的等价物可以用计算机可执行指令来实现。因此,在一个实施例中,非暂时性计算机可读/存储介质配置有算法/可执行应用的存储的计算机可执行指令,该计算机可执行指令当被(一个或多个)机器执行时使该(一个或多个)机器(和/或相关联的组件)执行方法。示例机器包括但不限于处理器、计算机、在云计算系统中操作的服务器、以软件即服务(SaaS)架构配置的服务器、智能电话等。在一个实施例中,计算设备用被配置为执行所公开的方法中的任何方法的一个或多个可执行算法来实现。
在一个或多个实施例中,所公开的方法或它们的等价物由以下任一项执行:被配置为执行方法的计算机硬件;或者存储在非暂时性计算机可读介质中的模块中实施的计算机指令,其中指令被配置为可执行的算法,可执行的算法被配置为在被计算设备的至少一个处理器执行时执行方法。
虽然为了简化说明的目的,图中示出的方法被示出和描述为算法的一系列框,但是要认识到的是,方法不受框的顺序的限制。一些框能够以与所示出和描述的不同的顺序发生和/或与其他框同时发生。而且,可以使用比全部示出的框更少的框来实现示例方法。框可以被组合或分成多个动作/组件。此外,附加的和/或可替代的方法能够采用未在框中示出的附加动作。
以下包括本文中所采用的所选择术语的定义。定义包括落在术语的范围内并且可以用于实现的组件的各种示例和/或形式。示例并不意图是限制性的。术语的单数和复数形式这二者都可以在定义之内。
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示如此描述的(一个或多个)实施例或(一个或多个)示例可以包括特定的特征、结构、特性、性质、元素或限制,但并非每个实施例或示例都一定包括该特定的特征、结构、特性、性质、元素或限制。此外,短语“在一个实施例中”的重复使用不一定指代相同的实施例,虽然它可以指代相同的实施例。
如本文中所使用的,“数据结构”是计算系统中的存储在存储器、存储设备中的或者其他计算机化系统中的数据的组织。数据结构可以是例如数据字段、数据文件、数据数组、数据记录、数据库、数据表、图表、树、链表等中的任何一个。数据结构可以由多个其他数据结构形成以及包含多个其他数据结构(例如,数据库包括多个数据记录)。根据其他实施例,数据结构的其他示例也是可能的。
如本文中所使用的,“计算机可读介质”或“计算机存储介质”是指存储被配置为当被执行时执行所公开的功能中的一个或多个功能的指令和/或数据的非暂时性介质。在一些实施例中,数据可以用作指令。计算机可读介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。计算机可读介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁性介质、专用集成电路(ASIC)、可编程逻辑器件、紧凑盘(CD)、其他光学介质、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、记忆棒、固态存储设备(SSD)、闪存驱动器以及计算机、处理器或其他电子设备可以与其一起运行的其他介质。如果每种类型的介质在一个实施例中被选择用于实现,则其可以包括被配置为执行所公开的和/或所要求保护的功能中的一个或多个功能的算法的存储的指令。
如本文中所使用的,“逻辑”表示用计算机或电子硬件、具有可执行应用或程序模块的存储的指令的非暂时性介质和/或这些的组合实现以执行如本文中所公开的任何功能或动作和/或使得如本文中所公开的那样执行来自另一逻辑、方法和/或系统的功能或动作的组件。等效逻辑可以包括固件、用算法编程的微处理器、离散逻辑(例如ASIC)、至少一个电路、模拟电路、数字电路、编程的逻辑器件、包含算法的指令的存储器设备等,其中任何一个可以被配置为执行所公开的功能中的一个或多个功能。在一个实施例中,逻辑可以包括被配置为执行所公开的功能中的一个或多个功能的一个或多个门、门的组合或者其他电路组件。在描述多个逻辑的情况下,有可能将多个逻辑合并到一个逻辑中。类似地,在描述单个逻辑的情况下,有可能在多个逻辑之间分配该单个逻辑。在一个实施例中,这些逻辑中的一个或多个逻辑是与执行所公开的和/或所要求保护的功能相关联的对应结构。选择要实现哪种类型的逻辑可以基于期望的系统条件或规范。例如,如果考虑更高的速度,则将选择硬件来实现功能。如果考虑更低的成本,则将选择存储的指令/可执行应用来实现功能。
“可操作的连接”或实体通过其“可操作地连接”的连接是可以发送和/或接收信号、物理通信和/或逻辑通信的连接。可操作的连接可以包括物理接口、电接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体能够可操作地连接,以直接或者通过一个或多个中间实体(例如处理器、操作系统、逻辑、非暂时性计算机可读介质)彼此传送信号。逻辑和/或物理通信信道能够用于创建可操作的连接。
如本文中所使用的,“用户”包括但不限于一个或多个人、计算机或其他设备或者这些的组合。
虽然已经相当详细地示出和描述了所公开的实施例,但并不意图将所附权利要求的范围限制或以任何方式限定到这样的细节。当然,不可能为了描述主题的各个方面而描述组件或方法的每种预期的组合。因此,本公开不限于所示出和描述的特定细节或说明性示例。
就术语“包含”或“包括”在具体实施方式或权利要求书中被采用而言,它意图以类似于当术语“包括”作为过渡词在权利要求中被采用时所解释的方式是包含性的。
就术语“或”在具体实施方式或权利要求书中被使用而言(例如,A或B),它意图意味“A或B或者A和B这二者”。当申请人意图指示“仅A或B但不是A和B这二者”时,那么将使用短语“仅A或B但不是A和B这二者”。因此,术语“或”在本文中的使用是包含性的而非排除性的使用。
Claims (15)
1.一种存储计算机可执行指令的非暂时性计算机可读介质,所述指令在被计算机的处理器执行时,使所述处理器:
维护包括第一实体的硬编码属性的静态维护表,其中,硬编码值包括主机名称、代理、实体标识符或者表述性状态转移(REST)统一资源定位符(URL)中的至少一个;
维护包括以小于阈值频率更新的数据列的父交易表,其中,所述父交易表包括主父键和主子键;
维护包括以大于所述阈值频率更新的数据列的子交易表,其中,所述子交易表包括所述主父键、所述主子键以及所述父交易表的名称;
接收交易,以通过区块链网络在所述实体的第一计算设备与第二实体的第二计算设备之间进行传送;
使用所述静态维护表内的所述硬编码属性来验证所述交易;
根据所述交易的参数的顺序,将值填充到所述父交易表和所述子交易表的列中;以及
利用所述父交易表和所述子交易表,以帮助所述交易通过所述区块链网络传送到所述第二计算设备。
2.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
利用表对象文件,以使用所述表对象文件内的表结构信息来创建所述静态维护表、所述父交易表和所述子交易表。
3.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
执行将硬编码属性添加到所述静态维护表中的功能。
4.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
执行将硬编码属性更新到所述静态维护表中的功能。
5.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
执行禁用硬编码属性的功能;以及
响应于确定使用了所述硬编码属性,启用所述硬编码属性。
6.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
查询所述静态维护表,以识别用于通过所述区块链网络与所述第二实体通信的硬编码属性集合;以及
使用所述硬编码属性集合,通过所述区块链网络传输所述交易。
7.如权利要求1所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
基于所述交易是初始交易,将所述交易的交易标识符存储为所述主父键。
8.如权利要求7所述的非暂时性计算机可读介质,其中,所述指令包括以下指令:
将当前交易的当前交易标识符存储为所述主子键。
9.一种计算系统,包括:
处理器,连接到存储器;以及
交易管理模块,存储在非暂时性计算机可读介质上并且配置有指令,所述指令在被所述处理器执行时,使所述处理器:
维护包括第一实体的硬编码属性的静态维护表,其中,硬编码值包括主机名称、代理、实体标识符或者表述性状态转移(REST)统一资源定位符(URL)中的至少一个;
维护包括以小于阈值频率更新的数据列的父交易表,其中,所述父交易表包括主父键和主子键;
维护包括以大于所述阈值频率更新的数据列的子交易表,其中,所述子交易表包括所述主父键、所述主子键以及所述父交易表的名称;
接收交易,以通过区块链网络在所述实体的第一计算设备与第二实体的第二计算设备之间进行传送;
使用所述静态维护表内的所述硬编码属性来验证所述交易;
根据所述交易的参数的顺序,将值填充到所述父交易表和所述子交易表的列中;以及
利用所述父交易表和所述子交易表,以帮助所述交易通过所述区块链网络传送到所述第二计算设备。
10.如权利要求9所述的计算系统,其中,所述指令包括使所述处理器执行以下操作的指令:
使用用于存储所述交易的状态的状态列来填充所述父交易表和所述子交易表中的至少一个。
11.如权利要求9所述的计算系统,其中,所述指令包括使所述处理器执行以下操作的指令:
使用用于追踪交易的目的地的目的地实体列和用于追踪交易的来源的来源实体列来填充所述父交易表和所述子交易表中的至少一个。
12.如权利要求9所述的计算系统,其中,所述指令包括使所述处理器执行以下操作的指令:
通过以下方式执行更新所述交易的功能:
通过循环访问表对象文件以确定所述父交易表和所述子交易表内的列的数量来验证所述更新的参数的数量;以及
响应于验证所述参数的数量与所述列的数量对应,通过循环访问所述父交易表和所述子交易表以根据所述参数的顺序插入值来实现所述更新。
13.如权利要求9所述的计算系统,其中,所述指令包括使所述处理器执行以下操作的指令:
接收对所述交易的请求;
使用所述子主键查询所述子交易表,以访问所述父主键和所述交易的数据;以及
使用所述父主键查询所述父交易表,以访问所述交易的数据。
14.如权利要求13所述的计算系统,其中,所述子主键包括当前交易标识符:
15.如权利要求9所述的计算系统,其中,所述指令包括使所述处理器执行以下操作的指令:
维护失败的交易的数组列表;以及
响应于自针对所述数组列表内的失败的交易的最近的交易传送尝试以来发生的阈值时间量,尝试跨所述区块链网络传输所述失败的交易。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201721034642 | 2017-09-29 | ||
IN201721034642 | 2017-09-29 | ||
PCT/IB2018/000368 WO2019064058A1 (en) | 2017-09-29 | 2018-03-20 | COMPUTERIZED TRANSACTION MANAGEMENT MODULE FOR BLOCK CHAIN NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111247550A true CN111247550A (zh) | 2020-06-05 |
CN111247550B CN111247550B (zh) | 2023-08-15 |
Family
ID=62046972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880062805.5A Active CN111247550B (zh) | 2017-09-29 | 2018-03-20 | 用于区块链网络的计算机化交易管理模块 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10592993B2 (zh) |
EP (1) | EP3688708A1 (zh) |
JP (1) | JP6971395B2 (zh) |
CN (1) | CN111247550B (zh) |
WO (1) | WO2019064058A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI778478B (zh) * | 2020-12-25 | 2022-09-21 | 中國信託商業銀行股份有限公司 | 交易資料整合設備與交易資料整合方法 |
CN115943606A (zh) * | 2020-08-31 | 2023-04-07 | 国际商业机器公司 | 可编辑区块链 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046156A (zh) | 2018-12-20 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于区块链的内容管理系统及方法、装置、电子设备 |
US10991045B2 (en) * | 2019-04-29 | 2021-04-27 | Advanced New Technologies Co., Ltd. | Blockchain-based settlement method, apparatus, and electronic device |
US11695559B2 (en) * | 2019-09-30 | 2023-07-04 | Salesforce, Inc. | Nested tenancy that permits a hierarchy having a plurality of levels |
CN111553669B (zh) * | 2020-04-28 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 一种交易路由方法、装置及计算机可读存储介质 |
US11556517B2 (en) | 2020-05-17 | 2023-01-17 | International Business Machines Corporation | Blockchain maintenance |
CN112306648B (zh) * | 2020-10-29 | 2024-07-05 | 平安科技(深圳)有限公司 | 事务调用方法、装置、电子设备及存储介质 |
CN112478518B (zh) * | 2020-12-23 | 2021-11-02 | 浙江星霸环保工程有限公司 | 基于区块链的垃圾分类投放装置 |
US20220029814A1 (en) * | 2021-06-02 | 2022-01-27 | Fujitsu Limited | Non-transitory computer-readable storage medium, information processing method, and information processing apparatus |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2835636A1 (fr) * | 2002-02-07 | 2003-08-08 | Carmel Giacopino | Systeme permettant d'effectuer des echanges d'information et des transactions |
US7711641B1 (en) * | 2006-10-16 | 2010-05-04 | Q2 Software, Inc. | Method and system for an inter-financial institution transactional network |
CN103733194A (zh) * | 2011-01-27 | 2014-04-16 | 康姆普特奈科斯特有限公司 | 动态组织云计算资源以便于发现 |
US20140236811A1 (en) * | 2013-02-15 | 2014-08-21 | Uniloc Luxembourg S.A. | Efficient inter-bank funds transfers |
CN106055597A (zh) * | 2016-05-24 | 2016-10-26 | 布比(北京)网络技术有限公司 | 数字交易系统、及用于其的账户信息查询方法 |
GB201701423D0 (en) * | 2017-01-29 | 2017-03-15 | Cabrera Fernandez Florencio | Blockchain zero checksum trading system |
GB201702233D0 (en) * | 2017-02-09 | 2017-03-29 | Mollah Stephen | Blockchain (ML) Technology |
US20170236104A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-Peer Financial Transactions Using A Private Distributed Ledger |
US20170236084A1 (en) * | 2013-12-12 | 2017-08-17 | NetSuite Inc. | System and methods for implementing custom transactions within a multi-tenant platform |
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
US20170243212A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
CN107194798A (zh) * | 2017-04-28 | 2017-09-22 | 广东网金控股股份有限公司 | 一种基于区块链联盟链的银行清算方法 |
US20200186355A1 (en) * | 2016-07-08 | 2020-06-11 | Kalypton International Limited | Distributed transaction processing and authentication system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005214779A (ja) * | 2004-01-29 | 2005-08-11 | Xanavi Informatics Corp | ナビゲーション装置および地図データ更新方法 |
US10490304B2 (en) | 2012-01-26 | 2019-11-26 | Netspective Communications Llc | Device-driven non-intermediated blockchain system over a social integrity network |
US10855760B2 (en) * | 2013-11-07 | 2020-12-01 | Cole Asher Ratias | Systems and methods for synchronizing content and information on multiple computing devices |
JP6364132B2 (ja) | 2015-03-31 | 2018-07-25 | ナスダック, インコーポレイテッドNasdaq, Inc. | ブロックチェーン取引記録のシステムおよび方法 |
US11488147B2 (en) * | 2015-07-14 | 2022-11-01 | Fmr Llc | Computationally efficient transfer processing and auditing apparatuses, methods and systems |
US11562353B2 (en) * | 2015-11-24 | 2023-01-24 | Mastercard International Incorporated | Method and system for gross settlement by use of an opaque blockchain |
WO2017134281A1 (en) | 2016-02-04 | 2017-08-10 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
CN116957790A (zh) * | 2016-02-23 | 2023-10-27 | 区块链控股有限公司 | 一种实现区块链上交换的通证化方法及系统 |
WO2018006072A1 (en) * | 2016-06-30 | 2018-01-04 | Clause, Inc. | Systems and method for forming, storing, managing,and executing contracts |
CN111083220B (zh) | 2016-08-29 | 2022-08-12 | 中国银联股份有限公司 | 提供金融服务应用的方法 |
CN106504089A (zh) | 2016-10-14 | 2017-03-15 | 平安科技(深圳)有限公司 | 基于区块链的基金申购交易方法及系统 |
EP3552174A4 (en) * | 2016-12-07 | 2020-05-27 | Coogan-Pushner, Diane | MUNICIPAL SOLVENCY INDEX |
US10225078B2 (en) * | 2017-02-09 | 2019-03-05 | International Business Machines Corporation | Managing a database management system using a blockchain database |
US10452998B2 (en) * | 2017-03-19 | 2019-10-22 | International Business Machines Corporation | Cognitive blockchain automation and management |
US20190132350A1 (en) * | 2017-10-30 | 2019-05-02 | Pricewaterhousecoopers Llp | System and method for validation of distributed data storage systems |
-
2018
- 2018-03-19 US US15/924,784 patent/US10592993B2/en active Active
- 2018-03-20 CN CN201880062805.5A patent/CN111247550B/zh active Active
- 2018-03-20 JP JP2020517988A patent/JP6971395B2/ja active Active
- 2018-03-20 WO PCT/IB2018/000368 patent/WO2019064058A1/en unknown
- 2018-03-20 EP EP18719993.0A patent/EP3688708A1/en active Pending
-
2020
- 2020-03-16 US US16/819,392 patent/US11348187B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2835636A1 (fr) * | 2002-02-07 | 2003-08-08 | Carmel Giacopino | Systeme permettant d'effectuer des echanges d'information et des transactions |
US7711641B1 (en) * | 2006-10-16 | 2010-05-04 | Q2 Software, Inc. | Method and system for an inter-financial institution transactional network |
CN103733194A (zh) * | 2011-01-27 | 2014-04-16 | 康姆普特奈科斯特有限公司 | 动态组织云计算资源以便于发现 |
US20140236811A1 (en) * | 2013-02-15 | 2014-08-21 | Uniloc Luxembourg S.A. | Efficient inter-bank funds transfers |
US20170236084A1 (en) * | 2013-12-12 | 2017-08-17 | NetSuite Inc. | System and methods for implementing custom transactions within a multi-tenant platform |
US20170236104A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-Peer Financial Transactions Using A Private Distributed Ledger |
US20170243212A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
CN106055597A (zh) * | 2016-05-24 | 2016-10-26 | 布比(北京)网络技术有限公司 | 数字交易系统、及用于其的账户信息查询方法 |
US20200186355A1 (en) * | 2016-07-08 | 2020-06-11 | Kalypton International Limited | Distributed transaction processing and authentication system |
CN107077674A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 交易验证处理方法、装置及节点设备 |
GB201701423D0 (en) * | 2017-01-29 | 2017-03-15 | Cabrera Fernandez Florencio | Blockchain zero checksum trading system |
GB201702233D0 (en) * | 2017-02-09 | 2017-03-29 | Mollah Stephen | Blockchain (ML) Technology |
CN107194798A (zh) * | 2017-04-28 | 2017-09-22 | 广东网金控股股份有限公司 | 一种基于区块链联盟链的银行清算方法 |
Non-Patent Citations (3)
Title |
---|
严小玲: "计算机网络安全技术在电子商务中的应用", 《通讯世界》 * |
严小玲: "计算机网络安全技术在电子商务中的应用", 《通讯世界》, no. 02, 25 January 2017 (2017-01-25), pages 228 - 229 * |
王旭;: "区块链金融对跨界电子商务支付优化模式", 改革与战略, no. 07, pages 89 - 91 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115943606A (zh) * | 2020-08-31 | 2023-04-07 | 国际商业机器公司 | 可编辑区块链 |
TWI778478B (zh) * | 2020-12-25 | 2022-09-21 | 中國信託商業銀行股份有限公司 | 交易資料整合設備與交易資料整合方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020535550A (ja) | 2020-12-03 |
CN111247550B (zh) | 2023-08-15 |
US20200219203A1 (en) | 2020-07-09 |
US11348187B2 (en) | 2022-05-31 |
EP3688708A1 (en) | 2020-08-05 |
US10592993B2 (en) | 2020-03-17 |
WO2019064058A1 (en) | 2019-04-04 |
JP6971395B2 (ja) | 2021-11-24 |
US20190102842A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111247550B (zh) | 用于区块链网络的计算机化交易管理模块 | |
US10977629B2 (en) | Computerized messaging module for blockchain networks | |
US20210055972A1 (en) | Computerized control of execution pipelines | |
US11625381B2 (en) | Recreating an OLTP table and reapplying database transactions for real-time analytics | |
US9582594B2 (en) | Method and system for centralized issue tracking | |
AU2019236628B2 (en) | Integrated entity view across distributed systems | |
US11366805B2 (en) | Integrated entity view across distributed systems | |
US20230113006A1 (en) | Systems and methods for alert services | |
US20170236188A1 (en) | System and method for automating business processes throughout the life cycle of an order by using a publish-subscriber pattern | |
US11087279B2 (en) | Database code execution | |
CN114303164A (zh) | 使用事件驱动平台的供方发票对账和支付 | |
US11757990B2 (en) | Data synchronization in a cloud computing environment | |
US20140278790A1 (en) | System and method for data acquisition, data warehousing, and providing business intelligence in a retail ecosystem | |
US20210141791A1 (en) | Method and system for generating a hybrid data model | |
US11005838B2 (en) | Computer implemented monitoring process for personalized event detection and notification transmission | |
US10885534B1 (en) | Determining product demand | |
CN117234531A (zh) | 应用程序部署方法、装置、计算机设备和存储介质 |
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 |