首页 / 专利库 / 银行与财务事项 / 加密货币地址 / 利用机器学习进行优化的跨区块货币交易

利用机器学习进行优化的跨区货币交易

阅读:913发布:2020-05-08

专利汇可以提供利用机器学习进行优化的跨区货币交易专利检索,专利查询,专利分析的服务。并且本 发明 描述了用于进行跨 区 块 链 货币 交易的方法和装置。 服务器 从客户端设备接收将第一货币金额转换为第二货币金额的 请求 。第一货币金额存储在与客户端设备的用户相关联的 电子 钱包中。服务器确定可执行的一个或多个货币交换序列,其实现从第一货币金额到第二货币金额的转换,一个或多个货币交换序列包括在不同的区块链上操作的 加密货币 之间的转换。服务器识别与最佳值相关联的一个或多个货币交换序列中的一个。服务器执行与–最佳值相关联的所识别的货币交换序列。,下面是利用机器学习进行优化的跨区货币交易专利的具体信息内容。

1.一种用于执行跨货币交易的系统,所述系统包括:
服务器计算设备,包括用于存储程序指令的存储器和用于执行所述程序指令的处理器,以及耦合到所述服务器计算设备的数据库
所述服务器计算设备的所述处理器执行程序指令以:
从第一客户端计算设备接收将在多个加密货币交易中的至少一个上交易列出的第一货币金额转换为在多个加密货币交易中的至少一个上交易列出的第二货币金额的请求,至少一个所述第一货币金额或者至少一个所述第二货币金额被存储在与所述第一客户端计算设备的用户相关联的电子钱包中;
确定能在多个所述加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列,所述货币交换序列实现从所述第一货币金额到所述第二货币金额的转换,一个或多个所述货币交换序列中的至少一个包括在不同区块链上运行的加密货币之间的交换;
基于以下中的一个或多个来识别与最佳值相关联的一个或多个所述货币交换序列中的一个:第一货币的市场价格,第二货币的市场价格,与所述货币交换序列相关联的延迟,或者与所述货币交换序列中的一个或多个货币交换相关联的交易费;
执行与所述最佳值相关联的已识别的货币交换序列,包括:
验证与所述第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素;从所述电子钱包中提取所述第一货币金额,并将提取的所述第一货币金额存储在所述数据库的临时缓存中;使用所识别的货币交换序列向多个加密货币交易中的两个或更多个发出买入和卖出订单,以接收所述第二货币金额并将所述第二货币金额存储在临时高速缓存中;
以及
将所述第二货币金额发送到与所述第一客户端计算设备的用户相关联的电子钱包的地址。
2.根据权利要求1所述的系统,其特征在于,所述第一货币是加密货币并且所述第二货币是加密货币。
3.根据权利要求1所述的系统,其特征在于,所述第一货币是法定货币并且所述第二货币是加密货币。
4.根据权利要求1所述的系统,其特征在于,所述第一货币是加密货币并且所述第二货币是法定货币。
5.根据权利要求1所述的系统,其特征在于,所述第一货币是法定货币并且所述第二货币是法定货币。
6.根据权利要求1所述的系统,其中,确定能在多个所述加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列包括:
选择列出用于交易的所述第一货币的多个加密货币交易的第一加密货币交易;
选择列出用于交易的所述第二货币的多个加密货币交易的第二加密货币交易;
确定所述第一加密货币交易和所述第二加密货币交易之间的一个或多个中间加密货币交易;
确定列在一个或多个中间加密货币交易上交易的所述第一货币和所述第二货币之间的一个或多个中间加密货币;以及
在所述第一加密货币交易和所述第二加密货币交易之间生成一个或多个货币交换序列,所述一个或多个货币交换序列中的至少一个包括涉及至少一个所述中间加密货币交易的货币交换序列和至少一个所述中间加密货币。
7.根据权利要求1所述的系统,其中,识别与所述最佳值相关联的一个或多个货币交换序列中的一个包括以下中的一个或多个:识别具有所述第一货币的最高价格的货币交换序列,识别具有第二货币的最低价格的货币交换序列,识别具有与一个或多个所述货币交易相关联的最低交易费的货币交换序列,或识别在所述延迟内完成的货币交换序列。
8.根据权利要求1所述的系统,其中,验证与所述第一客户端计算设备的用户相关联的所述电子钱包的一个或多个数据元素包括验证所述电子钱包中的所述第一货币金额的可用性。
9.根据权利要求1所述的系统,其中,验证与所述第一客户端计算设备的用户相关联的所述电子钱包的一个或多个数据元素包括验证与所述第一客户端计算设备相关联的标识符。
10.根据权利要求9所述的系统,其中,所述标识符是手机号码。
11.权利要求1所述的系统,其中,从所述电子钱包中提取所述第一货币金额并将提取的所述第一货币金额存储在所述数据库的临时高速缓存中包括将交易条目添加到与所述第一货币相关联的区块链,所述交易包括所述第一货币金额和所述电子钱包的地址。
12.根据权利要求1所述的系统,其中,将所述第二货币金额发送到与所述第一客户端计算设备的用户相关联的所述电子钱包的地址包括将交易条目添加到与所述第二货币相关联的区块链,所述交易包括所述第二种货币金额和所述电子钱包的地址。
13.一种进行跨区块链货币交易的计算机化方法,所述方法包括:
通过服务器计算设备从第一客户端计算设备接收将在多个加密货币交易中的至少一个上交易列出的第一货币金额转换为在多个加密货币交易中的至少一个上交易列出第二货币金额的请求,将所述第一货币金额或者所述第二货币交易金额存储在与所述第一客户端计算设备的用户相关联的电子钱包中;由所述服务器计算设备确定能在多个加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列,所述货币交换序列实现从所述第一货币金额到所述第二货币金额的转换,一个或多个所述货币交换序列中的至少一个包括在不同区块链上运行的加密货币之间的转换;
由所述服务器计算设备基于以下中的一个或多个识别与最佳值相关联的一个或多个货币交换序列中的一个:第一货币的市场价格,第二货币的市场价格,与所述货币交换序列相关联的延迟,或者与所述货币交换序列中的一个或多个所述货币交换相关的交易费;
由所述服务器计算设备执行与所述最佳值相关联的已识别的货币交换序列,包括:
验证与所述第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素;从所述电子钱包中提取所述第一货币金额,并将提取的所述第一货币金额存储在所述数据库的临时缓存中;使用所识别的货币交换序列向多个加密货币交易中的两个或更多个发出买入和卖出订单,以接收所述第二货币金额并将所述第二货币金额存储在临时高速缓存中;
以及
将所述第二货币金额发送到与所述第一客户端计算设备的用户相关联的电子钱包的地址。
14.根据权利要求13所述的方法,其中,所述第一货币是加密货币并且所述第二货币是加密货币。
15.根据权利要求13所述的方法,其中,所述第一货币是法定货币并且所述第二货币是加密货币。
16.根据权利要求13所述的方法,其中,所述第一货币是加密货币并且所述第二货币是法定货币。
17.根据权利要求13所述的方法,其中,所述第一货币是加密货币并且所述第二货币是法定货币。
18.根据权利要求13所述的方法,其中,确定能在多个所述加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列包括:
选择列出用于交易的所述第一货币的多个加密货币交易的第一加密货币交易;
选择列出用于交易的所述第二货币的多个加密货币交易的第二加密货币交易;
确定所述第一加密货币交易和所述第二加密货币交易之间的一个或多个中间加密货币交易;
确定列在一个或多个中间加密货币交易上交易的所述第一货币和所述第二货币之间的一个或多个中间加密货币;以及
在所述第一加密货币交易和所述第二加密货币交易之间生成一个或多个货币交换序列,所述一个或多个货币交换序列中的至少一个包括涉及至少一个所述中间加密货币交易的货币交换序列和至少一个所述中间加密货币。
19.根据权利要求13所述的方法,识别与所述最佳值相关联的一个或多个货币交换序列中的一个包括以下中的一个或多个:识别具有所述第一货币的最高价格的货币交换序列,识别具有第二货币的最低价格的货币交换序列,识别具有与一个或多个所述货币交易相关联的最低交易费的货币交换序列,或识别在所述延迟内完成的货币交换序列。
20.根据权利要求13所述的方法,其中,验证与所述第一客户端计算设备的用户相关联的所述电子钱包的一个或多个数据元素包括验证所述电子钱包中的所述第一货币金额的可用性。
21.根据权利要求13所述的方法,其中,验证与所述第一客户端计算设备的用户相关联的所述电子钱包的一个或多个数据元素包括验证与所述第一客户端计算设备相关联的标识符。
22.根据权利要求21所述的方法,其中,所述标识符是手机号码。
23.根据权利要求13所述的方法,其中,从所述电子钱包中提取所述第一货币金额并将提取的所述第一货币金额存储在所述数据库的临时高速缓存中包括将交易条目添加到与所述第一货币相关联的区块链,所述交易包括所述第一货币金额和所述电子钱包的地址。
24.根据权利要求13所述的方法,其中,将所述第二货币金额发送到与所述第一客户端计算设备的用户相关联的所述电子钱包的地址包括将交易条目添加到与所述第二货币相关联的区块链,所述交易包括所述第二种货币金额和所述电子钱包的地址。

说明书全文

利用机器学习进行优化的跨区货币交易

技术领域

[0001] 本申请一般涉及用于使用机器学习进行优化的跨区块链货币交易的方法和装置,包括计算机程序产品。

背景技术

[0002] 近年来,加密货币在金融交易中的使用和交换变得更加普遍。加密货币通常被定义为数字或虚拟货币,其使用加密来管理新单位的创建,验证资产的转移以及保护交易。示例性加密货币包括但不限于比特币(BTC),以太币(ETH)和瑞波币(XRP)-尽管还有许多其他加密货币。与法定货币形成,不同大多数(如果不是全部)加密货币都是基于分散的框架,独立于中央行或其他机构(例如政府实体)运作。为了实现其分散性,加密货币的控制和管理通常基于区块链技术。
[0003] 区块链是涉及相关加密货币的所有交易的分散式公共分类账。通常,最近的有效交易作为新块添加到区块链中,并使用加密技术(例如,散列)链接到区块链中的前一个块。区块链通常使用不同的独立计算设备(也称为节点)的对等网络来实现,每个网络都存储区块链的副本。当创建新块时,每个节点都会收到该块的副本,并将其添加到本地存储的区块链中,以保持整个网络中区块链的一致性。此外,尽管这里提供的示例涉及加密货币,但应该理解,区块链的使用不限于加密货币;区块链技术在基于交易的系统(例如,合同,房地产,制造和分销)中的其他应用正变得普遍。
[0004] 随着加密货币数量增加,在不同加密货币之间进行交易的愿望也同样增加。由于这种需要,加密货币交易系统如雨后春笋般涌现,旨在实现各种加密货币之间的转换。但是,因为每个加密货币都是建立在由单独的计算设备网络管理的不同区块链上,由于与每种加密货币相关的特定时间,定价,加密和块生成限制,进行跨区块链货币交易在技术上具有挑战性。
[0005] 现有的加密货币交易系统已经尝试了各种不同的方法来解决这个问题。例如,一些系统利用原子跨区域链交易技术。在这个示例中,甲方拥有第一加密货币的硬币,乙方拥有第二加密货币的硬币,并且各方希望交换它们。在原子交易中,每一方的硬币在交换开始时被定预定的一段时间(即,锁定),并且硬币仅在交换完成时被释放。但是,如果甲方决定不进行交易,乙方的硬币将保持锁定状态-并且不能使用-直到锁定期结束。该锁定有效地使任何交换系统变得不切实际,特别是在大批量实时货币交易中。
[0006] 另一个示例涉及创建一个区块链网络(也称为链链),其使用本地标记代币,验证者必须放弃这些标记,以便为各个区块链执行工作,并用合成代币将关于一个区块链状态的消息转发给另一个区块链。示例包括Polkadot和Cosmos。然而,这种“链链”系统的缺点是它们依赖于并且限于现有的关系。建立新的链在计算上是昂贵的,例如,如果有n个加密货币,则需要n*(n-l)/2个链来提供所有可能的硬币到硬币的交换-甚至不会有实质性的交易对手险参与其中。
[0007] 另一个示例涉及使用专用链来进行跨区块链交易(即,将一个加密货币区块链的一部分复制到另一个加密货币区块链中作为第一区块链中的交易已经发生的'证据')。例如,甲方拥有加密货币X中的硬币,乙方拥有加密货币BTC中的硬币,并且各方希望交换它们。每一方都有一个与各个加密货币相关联的钱包地址。甲方承诺在X中支付硬币X到乙方的地址,合同要求在付款后的有限时间内在X中公布“证据”。乙方支付硬币BTC到甲方在BTC的地址。然后,将BTC区块链的一部分复制到X区块链中作为硬币BTC交易发生的“证据”-此时X区块链允许合同,完成硬币X支付。由于这些交换普遍依赖于BTC,因此从计算机处理度和价格角度来看,BTC区块链都是交易的瓶颈(例如,如果BTC的价格非常高,交易可能会令人望而却步)。
[0008] 此外,由于现有的加密货币交易在协议层进行交易,因此它们通常无法在执行交易之前的特定时间确定特定加密货币交易的市场价格。并且,现有的加密货币交易缺乏分析多个不同交易的加密货币定价和市场趋势的功能,以预测某些货币的定价变化,并向客户设备提供关于这些货币交换的可操作信息。发明内容
[0009] 因此,需要一种用于实现优化的跨区块链货币交易的方法和系统,其利用先进的机器学习技术-包括在开始交易之前确定各种提出的货币兑换的优化值,以及基于历史和现在的市场数据的货币价格变化的预测。本文描述的技术提供若干优点。首先,这里描述的系统和方法协调出许多不同的应用程序编程接口(API),其将本发明的系统耦合到多个不同的加密货币交易,以便理解(并利用)存在于各种交换中的定价机会。本文描述的系统和方法还使得能够使用任何数量的不同中间货币和/或交换,在所有不同的交易之间建立虚拟交换计算(例如,从货币A到货币B的建议交易),而无需原始或目标硬币被列在多个地方。这些虚拟交换计算可以计算每种加密货币/货币和/或交易征收的特定交易费,以确定在预定义的时间跨度内执行该交易的最佳交易顺序,从而获得整体交易的最佳价值-不考虑计算难度或跨不同区块链的跃点数。
[0010] 在一个方面,本发明的特征在于一种用于进行跨区块链货币交易的系统。该系统包括服务器计算设备,该服务器计算设备包括用于执行程序指令的存储器和用于执行程序指令的处理器。该系统包括耦合到服务器计算设备的数据库。服务器计算设备的处理器执行程序指令以从第一客户端计算设备接收将在多个加密货币交易中的至少一个上交易列出的第一货币金额的转换为在多个加密货币交易中的至少一个上进行交易列出的第二货币金额的请求。至少一个第一货币金额或者至少一个第二货币金额被存储在与第一客户端计算设备的用户相关联的电子钱包中。处理器执行程序指令以确定能在多个加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列,该货币交换序列实现从第一货币金额到第二货币金额的转换,一个或多个货币交换序列中的至少一个包括在不同区块链上运行的加密货币之间的转换。处理器执行程序指令以基于以下中的一个或多个来识别与最佳值相关联的一个或多个货币交换序列中的一个:第一货币的市场价格,第二货币的市场价格,与所述货币交换序列相关联的延迟,或者与所述货币交换序列中的一个或多个货币交换相关联的交易费。处理器执行程序指令以执行与最佳值相关联的所识别的货币交换序列,包括:验证与第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素;从电子钱包中提取第一种货币金额,并将提取的第一种货币金额存储在数据库的临时缓存中;使用所识别的货币交换序列向多个加密货币交易中的两个或更多个发出买入和卖出订单,以接收第二货币金额并将第二货币金额存储在临时高速缓存中并且将第二货币金额发送到与第一客户端计算设备的用户相关联的电子钱包的地址。
[0011] 在另一方面,本发明的特征在于一种进行跨区块链货币交易的计算机化方法。服务器计算设备,包括用于存储程序指令的存储器和用于执行程序指令的处理器,其耦合到数据库,该服务器计算设备从第一客户端计算设备接收将在多个加密货币交易中的至少一个上交易列出的第一货币金额转换为在多个加密货币交易中的至少一个上交易列出第二货币金额的请求。第一货币金额或者第二货币交易金额存储在与第一客户端计算设备的用户相关联的电子钱包中。服务器计算设备确定能在多个加密货币交易中的两个或更多个之间执行的一个或多个货币交换序列,货币交换序列实现从第一货币金额到所述第二货币金额的转换,一个或多个货币交换序列中的至少一个包括在不同区块链上运行的加密货币之间的转换。服务器计算设备基于以下中的一个或多个识别与最佳值相关联的一个或多个货币交换序列中的一个:第一货币的市场价格,第二货币的市场价格,与货币交换序列相关联的延迟,或者与货币交换序列中的一个或多个货币交换相关的交易费。服务器计算设备执行与最佳值相关联的已识别的货币交换序列,包括:验证与第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素;从电子钱包中提取第一货币金额,并将提取的第一货币金额存储在数据库的临时缓存中;使用所识别的货币交换序列向多个加密货币交易中的两个或更多个发出买入和卖出订单,以接收第二货币金额并将第二货币金额存储在临时高速缓存中;以及将第二货币金额发送到与第一客户端计算设备的用户相关联的电子钱包的地址。
[0012] 任何上述方面可包括一个或多个下列特征。在一些实施例中,第一货币是加密货币而第二货币是加密货币。在一些实施例中,第一货币是法定货币而第二货币是加密货币。在一些实施例中,第一货币是加密货币而第二货币是法定货币。在一些实施例中,第一货币是法定货币而第二货币是法定货币。
[0013] 在一些实施例中,确定在多个加密货币交易中的两个或更多个之间可执行的一个或多个货币交换序列包括:选择列出用于交易的第一货币的多个加密货币交易的第一加密货币交易;选择列出用于交易的第二货币的多个加密货币交易的第二加密货币交易;确定第一加密货币交易和第二加密货币交易之间的一个或多个中间加密货币交易;确定列在一个或多个中间加密货币交易上交易的第一货币和第二货币之间的一个或多个中间加密货币;在第一加密货币交易和第二加密货币交易之间生成一个或多个货币交换序列,一个或多个货币交换序列中的至少一个包括涉及至少一个中间加密货币交易的货币交换序列和至少一个中间加密货币。
[0014] 在一些实施例中,识别与最佳值相关联的一个或多个货币交换序列中的一个包括以下中的一个或多个:识别具有第一货币的最高价格的货币交换序列,识别具有第二货币的最高价格的货币交换序列,识别具有与一个或多个货币交易相关联的最低交易费的货币交换序列,或识别在延迟内完成的货币交换序列。在一些实施例中,验证与第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素包括验证电子钱包中的第一货币金额的可用性。在一些实施例中,验证与第一客户端计算设备的用户相关联的电子钱包的一个或多个数据元素包括验证与第一客户端计算设备相关联的标识符。在一些实施例中,标识符是手机号码。
[0015] 在一些实施例中,从电子钱包中提取第一货币金额并将提取的第一货币金额存储在数据库的临时高速缓存中包括将交易条目添加到与第一货币相关联的区块链,该交易包括第一货币金额和电子钱包的地址。在一些实施例中,将第二货币金额发送到与第一客户端计算设备的用户相关联的电子钱包的地址包括将交易条目添加到与第二货币相关联的区块链,该交易包括第二货币金额和电子钱包的地址。
[0016] 通过以下结合附图的详细描述,本发明的其它方面和优点将变得显而易见,附图仅以示例的方式示出了本发明的原理。

附图说明

[0017] 通过参考以下结合附图的描述,可以更好地理解上述本发明的优点以及其他优点。附图不一定按比例绘制,而是通常将重点放在说明本发明的原理上。
[0018] 图1是用于进行跨区块链货币交易的系统的框图
[0019] 图2是进行跨区块链货币交易的计算机化方法的流程图
[0020] 图3是客户端计算设备上的用户界面的示例性屏幕截图。
[0021] 图4是客户端计算设备上的用户界面的示例性屏幕截图,该用户界面包括预测通知消息。
[0022] 图5是执行所识别的货币交换序列的计算机化方法的流程图。

具体实施方式

[0023] 图1是用于进行跨区块链货币交易的系统100的框图。系统100包括多个客户端计算设备102a-102n,每个客户端计算设备经由通信网络104耦合到服务器计算设备106。服务器计算设备106包括客户端接口模块106a,加密货币缓存模块106b,匹配模块106c,人工智能(AI)预测模块106d和加密货币交易模块106e。模块106a-106e被配置为使用消息队列108进行通信。服务器计算设备106耦合到存储交易数据110a,交易逻辑110b和货币高速缓存110c的数据库110。
[0024] 示例性客户端计算设备102a-102n包括但不限于平板电脑,智能电话,智能手表物联网(IoT)设备,膝上型电脑,台式机和其他计算设备。应当理解,在不脱离本发明的范围的情况下,可以使用能够连接到系统100的组件的其他类型的客户端计算设备。应了解,系统100可包括任何数目的客户端计算装置。
[0025] 客户端计算设备102a-102n可以执行软件应用程序,例如浏览器应用程序和/或本机应用程序。在一些实施例中,浏览器应用程序包括在客户端计算设备102a-102n的处理器上执行的软件,其使得设备能够通过HTTP或HTTPS与可与URL(例如,服务器计算设备106)寻址的远程服务器通信以接收内容,包括一个或多个网页,用于在浏览器应用程序中呈现并呈现在嵌入或耦合到客户端计算设备102a-102n的显示设备上。示例性移动浏览器应用软件包括但不限于FirefoxTM,ChromeTM,SafariTM和其他类似软件。一个或多个网页可以包括用于向用户显示和与用户交互的视觉和音频内容,其包含与如本文所述的进行跨区块链货币交易的过程有关的数据。
[0026] 在一些实施例中,本机应用程序是一种软件应用程序(也称为“app”),其安装在客户端计算设备102a-102n上,并使用设计用于与客户端计算设备102a-102n本机操作系统交互的编程代码编写。设备102a-102n。此类软件可从例如 App Store或Google Play商店获得。在一些实施例中,本机应用程序包括软件开发工具包(SDK)模块,其由客户端计算设备102a-102n的处理器执行以执行与执行如本文所述的跨区块链货币交易相关联的功能。
[0027] 通信网络104使系统100的其他组件能够彼此通信,以便执行如本文所述的进行跨区块链货币交易的过程。网络104可以是本地网络,例如LAN,或广域网,例如因特网和/或蜂窝网络。在一些实施例中,网络104包括若干离散网络和/或子网络(例如,蜂窝到因特网),其使得系统100的组件能够彼此通信。
[0028] 服务器计算设备106是包括一个或多个专用处理器和一个或多个物理存储器模块的硬件和诸如模块106a-106e和消息队列108的专用软件模块,其在服务器计算设备106的处理器上执行,用于从系统100的其他组件接收数据,将数据发送到系统100的其他组件,以及执行用于进行如本文所述的跨区块链货币交易的功能。
[0029] 在一些实施例中,模块106a-106e是编程到服务器计算设备106中的专用处理器上的专用计算机软件指令集,并且可以包括用于执行专用计算机软件指令的专指定的存储器位置和/或寄存器。下面将提供由模块106a-106e执行的具体处理的进一步说明。
[0030] 消息队列108是管理模块106a-106e的进程间通信和线程间通信的计算进程。在一个实施例中,使用可从Pivotal Software,Inc.获得的Rabbitmq来实现消息队列。消息队列108将指定消息格式的受控内容传递给特定计算模块。例如,消息队列108接受交易请求和订单,发布交易执行消息,并返回交易结果。
[0031] 数据库110包括用于数据存储的瞬态和/或永久存储器,,其与如本文所述的进行跨区块链货币交易的过程结合使用。通常,数据库110被配置为接收,生成和存储与进行跨区块链货币交易相关联的特定数据段。如图1所示,数据库110存储交易数据110a,交易逻辑110b和货币缓存110c。在一些实施例中,数据库110的全部或一部分可以集成在服务器计算设备106内或者位于单独的计算设备上。例如,数据库110可以包括可在redis.io获得的诸如RedisTM的内存数据结构存储。
[0032] 图2是使用图1的系统100进行跨区块链货币交易的计算机化方法200的流程图。服务器计算设备106的客户端接口模块106a建立与客户端计算设备102a-102n中的一个或多个的连接,以发起从第一货币(例如,加密货币A)到第二货币(例如,加密货币B)的转换交易。客户端接口模块106a接收(202)将在多个加密货币交易中的至少一个上交易列出的第一货币金额转换为在多个加密货币交易中的至少一个上交易列出的第二货币金额的请求。例如,客户端设备102a处的用户可以启动安装在设备上的本机应用程序(或“app”),其建立与服务器计算设备106的网络连接(例如,TCP,HTTP,HTTPS)。该app可以在客户端设备102a上呈现用户界面,使用户能够建立用于提交给服务器计算设备106的建议货币兑换交易。
[0033] 图3是客户端计算设备上的用户界面300的示例性屏幕截图。如图3所示,用户界面提供第一下拉框302,其中用户可以选择要从他的电子钱包(在这种情况下,BTC)中提取的货币和第二下拉框304,其中用户可以选择货币将被收入他的电子钱包作为交换(在这种情况下,ETH)。例如,用户可以维护一个电子钱包(或多个电子钱包),其存储与在与用户的加密货币余额相关联的不同区块链上的交易相关联的信息。通常,在该上下文中的电子钱包(或数字钱包)是存储公共和私人密码密钥对的软件程序,其由交换机用于从电子钱包中提取货币或将货币存入电子钱包。钱包可以本地存储(例如,在客户端设备上)或集中存储(例如,在远程服务器,基础设施,钱包提供商等)。还可以备份钱包以确保钱包的安全性,通常通过包含所有私钥的加密文件。
[0034] 在一个示例中,为了从电子钱包中提取资金,执行电子钱包软件的计算设备生成指示某些信息的支付指令,例如:货币类型,货币金额和被发送货币的电子钱包的地址。然后,计算设备使用存储在电子钱包中的私钥对支付指令进行数字签名,该私钥表示电子钱包中货币的所有权。计算设备将签名的支付指令发送到包括网络(例如,在单个区块链中或跨区块链)的任何其他计算设备(即,验证器节点)。另一计算设备在技术上和实质上验证签名的支付指令。例如,每个计算设备分析支付指令的技术属性(例如,格式,消息大小,版本编号等)以确保支付指令符合相应区块链的技术要求。另一个计算设备还分析支付指令的实质属性(例如,目的地地址是否有效?,钱包是否有足够的货币来支付?,货币是否已经花费?)以确保支付指令可以由区块链处理。
[0035] 一旦完成并确认了上述两组测试,另一计算设备就将支付指令转发给区块链中的所有其他计算设备-并且这些设备中的每一个运行与上述相同的验证测试。当该阶段完成时,每个设备将支付交易存储在未经证实的交易池中,等待向区块链添加下一个块以便被确认。
[0036] 应当理解,存在软件和硬件钱包,并且加密货币交易通常将用户的钱包链接到其集中管理的钱包。当在交易上的用户之间交易加密货币时,交易被写入交易的私人分类账(即,脱链交易)。大多数交易通常使用脱链交易;但是,这会使交易面临重大的安全风险(例如,如果交易被黑客攻击或以其他方式受到损害,则可能导致用户资产余额的丢失或被盗)。只有当用户想要将新的加密货币转移到交易中时,或者当用户想要从交换中取出加密货币时,才将交易写入公共区块链(即,链上交易)。在某些情况下,电子钱包的使用存在丢失的风险,因为私钥可以在没有钱包所有者的同意的情况下被复制和使用。这里描述的系统和方法有利地跨区块链进行链上加密货币交易,以避免上面概述的潜在安全风险。
[0037] 继续图3,用户可以输入要提取的第一货币金额(例如,0.5BTC),并且app与加密货币交易模块106e通信以确定要在交换中接收的第二货币的对应量(例如,6.983664ETH))。在一些实施例中,为了执行交换,可能需要转账费(在这种情况下,157.2337SWFTC或SWFTCoin);用户界面向用户显示转账费金额306。
[0038] 为了确定要在交易中接收的第二货币金额,服务器计算设备106执行存储在数据库110中的交易逻辑110b,并使用也存储在数据库110中的交易数据110a来确定(204)一个或多个货币交换序列,其能在两个或更多个加密货币交易之间执行,该货币交换序列实现从第一货币金额到第二货币金额的转换。在一些实施例中,一个或多个货币交换序列可以包括在不同区块链(例如,BTC→ETH)上运行的加密货币之间转换的一个或多个交换。
[0039] 应当理解,这里描述的技术也适用于法定货币兑换(例如,USD→GBP),包括跨境货币交换。例如,如果用户想要使用现有系统将USD转换成GBP,则系统100可以在美国的交易所卖出USD并购买加密货币(例如,BTC),然后出售BTC并基于英国交换购买GBP。这里描述的系统和方法提供的优点是系统自动识别一系列货币交易(包括基于价格,成本,延迟等使用哪些交易所和/或加密货币)以获得交易的最佳值。
[0040] 为了确定实现期望转换的货币交易的序列,加密货币交易模块106e连接到多个不同的加密货币交易所(如图1所示)并使用存储在交易逻辑110b中的指令来检索来自每个加密货币交易所的定价和订单信息。在一些实施例中,加密货币交易模块106e与每个加密货币交易所建立连接,并向交易所发出定期HTTPS请求,以获得关于在交易所交易的各种加密货币的市场信息。因为不同的交换通常具有不同的连接机制,所以加密货币交易模块106e有利地将不同的连接机制封装到可以为任何交换调用的可重用的交换不可知框架中。
[0041] 以下是模块106e用于获取加密货币交易所的订单簿的Python编程代码的示例:
[0042]
[0043] 如上所示,get-orders方法从特定市场的加密货币交易(在市场参数中定义)返回订单簿(在订单簿参数中)。订单簿包括市场中每种货币的请求(或要价)和出价(或出价)列表。加密货币交易模块106e将由上述功能返回的订单簿信息存储在数据库110中。加密货币交易模块106e可以获得任意数量的不同加密货币和交易的订单簿信息,这取决于在交易所列出的用于交易的货币的类型(因为一些交易所可能不会列出特定货币)。在一些实施例中,加密货币交易模块106e从加密货币交易所接收实时订单簿信息。
[0044] 接下来,加密货币交易模块106e确定在从客户端计算设备102a接收的请求中定义的货币的可能的货币交易(或交易路径)序列。例如,如果用户想要交换BTC→ETH,则加密货币交易模块106e可以分析订单簿信息以确定将导致期望交易的两个或更多个加密货币交易内和/或之间的多个交易路径中的任何一个,例如:
[0045] BTCExchangel→ETHExchange1
[0046] BTCExchange2→LTCExchange2→ETHExchange3
[0047] BTCExchange4→LTCExchange5→BCHExchange6→ETHExchange2
[0048] 注意,上述货币交换序列是加密货币交易模块106e可用于实现转换的示例性可用路径。理论上,可能存在大量或甚至无限数量的路径。实际上,每增加一跳就会增加额外的延迟和额外的交易费用。因此,在一个实施例中,加密货币交易模块106e以例如来自先前交易的最经济可行的路线开始,并且继续搜索更好的路径直到预定义的超时。换句话说,加密货币交易模块106e可以寻找通常不存在的实用的“局部最优”,而不是“全局最优”。通常会有一个序列可以被视为基于某些定义的特征例如第一货币的价格,第二货币的价格,交易的延迟和/或金额和所需的交易费用(因为序列中的每笔交易可能需要另外交易费)的“最好”或“最佳”序列。加密货币交易模块106e基于以下中的一个或多个来识别(206)与最佳值相关联的一个或多个货币交换序列之一:第一货币的市场价格,第二货币的市场价格,与货币交换序列中的一个或多个货币交易相关联的交易费,或与货币交换序列相关联的延迟。例如,可能优选的是执行具有较低延迟的一系列货币交易以利用特定定价或时序约束,而不是具有较高延迟的序列,其可能在足够的时间内不能执行以实现特定定价或定时限制。
[0049] 而且,应当理解,在某些情况下,由于节省的交易时间,,场外(OTC)交易可能是最佳的。根据实施情况,区块链交易可能需要几秒到几分钟才能确认。在一些实施例中,加密货币缓存模块106b将频繁交易的货币存储在数据库110中的货币缓存110c中以加速某些交换。例如,当一个用户正在销售而另一个用户正在购买相同的硬币时,匹配模块106c匹配卖方和买方以完成部分场外交易,这节省了时间和交易费用。灵活性使得能够与多个卖家/买家进行即时交易。
[0050] 例如,假设卖方A以x的数量出售BTC,买方B以y的数量购买BTC。匹配模块106c匹配卖方A和B以形成一对。假设x
[0051] 如果卖方C想要以m的数量出售BTC,则可以通过加密货币交易模块106e或在非常短的预定时间跨度内满足购买具有∣y-x∣的金额差异的BTC的后续顺序,其中m>(y-x),卖方B的其余订单也完成了OTC。
[0052] 因此,加密货币缓存模块106b维护例如最频繁交易的硬币的货币缓存110c以促进交易速度。很大一部分交易是场外交易。
[0053] 为了识别具有最佳值的货币交换序列,加密货币交易模块106e-结合AI预测模块106d-可以执行高级机器学习算法数据处理技术,其产生在交易所内和/或跨越连接的交易所的加密货币价格变化的预测。然后,模块106e可以利用与特定货币相关的预测价格变化来确定用户请求的特定转换的最佳交易顺序(例如,预期BTC在接下来的30分钟期间价格会增加,因此模块106e可以选择考虑预期增长的交易序列-例如不使用BTC作为中间硬币的序列-为交换提供更好的价值)。以相关方式,服务器计算设备106可以生成通知消息,该通知消息描述由加密货币交易模块106e和AI预测模块106d生成的预测,以作为用户的可操作信息传输到客户端计算设备102a-102n。下面将描述机器学习价格预测数据的两种用途。
[0054] AI预测模块106d包含机器学习模型,该机器学习模型使用特定机器学习算法对一组采样训练数据进行训练,该采样的训练数据从加密货币交易模块106e捕获的交易数据110a中剔除。一旦经过训练,就使用一组测试数据验证机器学习模型,以确认模型生成的价格预测不是错误的。然后,AI预测模块106d可以使用训练的机器学习模型来生成针对特定货币和/或加密货币的未来价格变化的预测。
[0055] 通常,这里描述的系统100利用机器学习技术来更有效地监控订单簿缓存和交易池,从而可以发现最佳加密货币交易路径和价格预测。具体地,对于某个交易对(例如,BTC→ETH),AI预测模块106d关注于两个任务:
[0056] 1.预测当前时间30分钟的交易量趋势;
[0057] 2.预测距离当前时间30分钟的任何两个加密货币交易之间的价格差距变化。
[0058] 预计大量交易量和价格差距可能导致频繁的交易需求(例如,如果BTC→ETH的两个交易所之间存在相对较大的差距,并且预计差距将持续一段时间,则可预测用户将利用套利的间隙)。如果该情况发生(或将要发生),AI预测模块106d需要增加订单簿缓存的更新频率,向用户和加密货币交易模块106e提供最新数据。
[0059] AI预测模块106d跟踪并记录关键指标作为预测过程的输入。这些关键指标包括(但不限于):
[0060] 在30分钟内(开放,接近,高,低,体积)-1分钟K线(也称为K线图案,通常用于时间序列中,用于预测建模,如Tao等人所述,“K-Line Patterns”使用相似性匹配和聚类方法的预测能分析,“工程中的数学问题,2017年,第3096917号,可在www.hindawi.com/journals/mpe/2017/3096917获得,其通过引用并入本文);
[0061] -在30分钟内5分钟K线;
[0062] -在30分钟内10分钟K线;
[0063] 传统指标:基于相应的K线,在30分钟内的停损点转向(SAR),指数移动平均线(EMA),相对强弱指数(RSI);
[0064] 自定义指标:订单深度,过去30分钟的平均交易量。
[0065] 应当理解,与其他类型的数据趋势和数据抽样分析不同,交易数据是时间敏感的-因此暗示遥远过去的价格变化的事件可能不代表未来的预期价格变化。例如,由于加密货币的使用和交易是如此新,超过六个月的交易数据通常不适用于近期加密货币价格变化的预测。结果,AI预测模块106d只能使用少量的加密货币交易数据来训练和测试其机器学习模型-这需要使用意想不到的技术来确保机器学习模型产生有效的预测。以下段落详细描述该技术。
[0066] K折叠交叉验证
[0067] 在机器学习环境中,有许多可能的方法将交易数据分成训练数据和测试数据。在一些实施例中,AI预测模块106d使用K折叠交叉验证,其中原始交易数据样本被随机划分为k个相等的子样本。在k个子样本中,保留单个子样本作为用于测试模型的验证数据,并且剩余的k-1个子样本用作训练数据。
[0068] 在一些实施例中,被分析的交易数据包括交易事件和加密货币市场快照。交易事件包括交易历史亮点,例如(但不限于)价格的急剧上升和下降,交易量的急剧增加和减少,网络拥塞度量(例如,区块链网络拥塞通过减慢投票来减缓交易确认过程)和分叉计划。
[0069] 市场快照是一个特定时间戳的市场情况,包括交易的大量加密货币,在该时间戳的价格以及趋势描述(例如,在预定义的时间段24小时,7天等+5%或-3%)。在一些实施例中,AI预测模块106d基于蒙特卡罗子采样确定选择哪个加密货币,蒙特卡罗子采样从所有货币中选择一个大的组,但随机地丢弃一些。在神经网络处理中使用类似的机制来防止过度拟合(例如,如N.Srivastava等人,“Dropout:A Simple Way to Prevent Neural Networks from Overfitting”,Journal of Machine Learning Research 15(2014),第1929-1958页,其通过引用并入本文)。
[0070] 在一个实施例中,一系列市场快照被用作训练数据。AI预测模块106d可以每分钟捕获一个市场快照,并且每年累积525,600个快照用于训练。AI预测模块106d保持快照的循环窗口,随着时间的推移用最新的快照替换最旧的快照。因此,不断更新训练数据和测试数据以改进机器学习模型。给定对趋势预测有意义的有限数量的快照,AI预测模块106d使用K折叠交叉验证(如上所述)来优化训练数据的使用。在划分训练数据之后,AI预测模块106d然后重复交叉验证过程k次(即,折叠),其中每个k个子样本恰好使用一次作为验证数据。然后可以对折叠的k结果进行平均以产生单个估计。该方法优于重复蒙特卡罗子采样的优点是所有观察结果都用于训练和验证,并且每个观察结果仅用于验证一次。
[0071] 在一个实施例中,AI预测模块106d使用10次折叠交叉验证,如下:AI预测模块106d将交易数据样本随机地混洗为十组d0,d1,...,d9。所有组都是相同的尺寸。然后,模块106d在组d0到d8上训练机器学习模型并验证,然后在d1到d9上训练机器学习模型并在d0上验证,等等。
[0072] 交叉验证的目标是估计机器学习模型与独立于用于训练模型的数据集之间的预期匹配程度。鉴于价格预测的性质,AI预测模块106d正在处理用于时间序列预测的数据。这样,模块106d基于滚动预测原点修改交叉验证过程以允许使用多步错误。第一次计算实现了一步时间序列交叉验证,其中在每个预测源处重新估计漂移参数。第二次计算为整个数据集估计一次漂移参数,然后根据一步预测计算误差。
[0073] 数据规范化
[0074] 当系统捕获新的交易数据以用于产生价格变化预测时,,AI预测模块106d执行特征标准化步骤以标准化独立变量或数据特征的范围。例如,价格变化预测的最有影响因素(因此,最加权的因子)通常是其他加密货币的价格。然而,应该理解的是,这些价格在规模上有很大差异-例如,目前,在BTC上的10美元下降相当于约0.1%,但相当于ETH下降1%,相当于ETC下降50%。因此,加密货币价格预测背景下的“绝对价值”概念没有意义。AI预测模块106d重新缩放特征范围以缩放[-1,1]中的范围。选择目标范围取决于数据的性质。公式是:
[0075]
[0076] 其中x是原始值,x'是标准化值。除了单独的加密货币价格之外,AI预测模块106d还使用交易数据元素,例如总市值,交易量,新产品的发布和分叉作为影响未来价格变化的因素。AI预测模块106d以类似的方式量化和缩放这些因素。
[0077] 线性组合
[0078] 而且,因为(如上所述)许多因素可能影响未来的价格变化,AI预测模块106d线性地将这些因素组合在一起并且将每个因素的标量调整为权重。例如,假设X是影响因素x1,x2,...,xn和标量a1,a2,...an的矢量空间,那么这些矢量与标量作为系数的线性组合是:
[0079]
[0080] 弹性网回归
[0081] 在一些实施例中,AI预测模块106d的机器学习模型利用弹性网正则化回归方法,该方法线性地组合惩罚以获得更好的准确性。示例性朴素弹性网方法在Hui Zou和Trevor Hastie在《弹性网的正则化和变量选择》一书中描述了一种典型的原始弹性网方法。SOC。系列B,第67卷,第301-320(2005)页,其以引用方式并入本文中。人工智能预测模块106D采用弹性网回归技术,公式(1)-(9)如下:
[0082] 假设交易数据具有p个价格预测器的n个观察值。
[0083] 设y={y1,...,yn}T为响应,X=(x1|...|xp)为模型矩阵,其中xj=(x1j,…,xnj)T,j=1,...,p是预测变量。
[0084] 在归一化之后,AI预测模块106d可以假设响应是居中的并且预测变量是标准化的,如:
[0085]
[0086]
[0087]
[0088] 对于j=1,...,p。
[0089] 因此,对于任何固定的非λ1和λ2,AI预测模块106d将朴素弹性网标准L定义为:
[0090]
[0091] 朴素弹性网估计β是等式(6)的最小化:
[0092]
[0093] 设α=λ2/(λ1+λ2)  (8)
[0094] 此过程可视为惩罚最小二乘法,其功能如下:
[0095] (1-α)|β|1+α|β|2  (9)
[0096] 被称为弹性网罚,这是套索和脊罚的凸组合。
[0097] 弹性网特别擅长处理高维度的相关特征组。定性地说,如果一组高度相关变量的回归系数趋于相等(如果负相关则达到符号变化),则回归方法表现出分组效应。在比例相同的变量事件中,回归方法将相同的系数分配给相同的变量。弹性网络生成具有良好预测精度的稀疏模型,同时鼓励分组效果。当然,应该理解,可以在本文描述的本发明的上下文中使用其他回归技术。
[0098] 评估预测准确性
[0099] 预测“误差”是观测值与其预测之间的差异。在这里,应该理解“误差”并不意味着错误,它意味着观察的不可预测部分。它可以写成:
[0100]
[0101] 其中训练数据由{yl,,yT}给出,并且测试数据由{yT+1,,yT+2}给出。请注意,预测误差与残差有两种不同。首先,在训练集上计算残差,同时在测试集上计算预测误差。其次,残差基于一步预测,而预测误差可能涉及多步预测。
[0102] AI预测模块106d可以通过以不同方式概括预测误差来测量预测准确度。模块106d使用中值绝对偏差(MAD)来概括预测误差。MAD是对单变量定量数据样本的可变性的有力测量。它是在单变量数据集上计算的,用X1,X2,...,Xn表示,其中MAD是数据中位数绝对偏差的中位数:
[0103] MAD=median(|Xi-median(X)|)  (11)
[0104] 使用中值绝对偏差来总结错误的目的是改进机器学习算法以最小化错误。
[0105] 正规化
[0106] AI预测模块106d添加额外的机器学习模型调整层以提高算法准确性。正则化是一种适用于不适定优化问题的目标函数的技术。通常,优选避免大的权重。权重的微小变化会使目标变量产生很大的差异。因此,AI预测模块106d为不重要的因子分配零权重,并且尽量不向任何因子分配太多权重。
[0107] 将正则化项(或正则化因子)添加到损失函数中,该函数描述了产生价格预测的成本。从有限数据集学习时分类器的经验学习总是一个不确定的问题,因为一般来说,它们只是试图推断某个给定例子的函数。应当理解,不使用最小绝对收缩和选择算子(LASSO)方法,因为LASSO通过连续收缩进行偏差-方差折衷。因此,LASSO在一组高度相关的变量中不能很好地工作。在跨区域链交易场景中,某些事件可能是相关的,例如,BTC和ETH价格的上升/下降可能是相关的。但是,LASSO倾向于从组中选择一个变量而忽略其他变量。
[0108] AI预测模块106d使用的弹性网(如上所述)向惩罚添加二次部分,其在Tikhonov正则化中描述(例如,在en.wikipedia.org/wiki/Tikhonov_regularization,其通过引用并入本文)。使用弹性网消除了对所选变量数量的限制,并鼓励分组效果。
[0109] 一旦AI预测模块106d如本文所述分析了交易数据,模块106d就可以生成针对特定货币和/或加密货币的未来价格变化的一个或多个预测。例如,AI预测模块106D可以确定,在过去的24小时,BTC上涨了12%,和在过去的两个月内,当BTC上涨超过10%时,ETH的价格在未来的24小时内以70%的概率上涨。在这种情况下,AI预测模块106d可以生成通知消息,该通知消息被发送回客户端计算设备102a-102n中的一个或多个。然后,客户端计算设备102a-102n上的app(或浏览器)可以将通知消息显示给相应的用户。图4是客户端计算设备上的用户界面400的示例性屏幕截图,其包括预测通知消息402。在一些实施例中,通知消息包括指示用户点击并立即请求市场价格的链接或按钮。一种或多种货币的一种或/或启动目标货币的转换。
[0110] 此外,应当理解,本文描述的预测技术可以利用Etherium Request for Comments(ERC)-20代币标准(例如,如在etherium.wiki/w/index.php/ERC20-Token-Standard中所定义的)以更好地预测各种代币(例如,与初始硬币产品(ICO),山寨币等相关联)将如何在更大的区块链/智能合约系统(例如Etherium)内运行。ERC-20定义了Etherium中代币合同必须实现的特定功能和事件,例如totalSupply(),balanceOf(),allowance(),transfer(),approve(),transferFrom()函数以及Transfer和Approval事件。由于这些代币中的每一个都符合ERC-20标准,因此使用智能合约来转移此类代币是统一且可访问的,因此,许多(如果不是全部)代币的代币价格变动将在一定程度上一致地上升和下降,这使得预测这些价格更加容易和高效。本文所描述的系统,导致计算能力和资源的消耗更少。回到图2和3,一旦加密货币交易模块106e识别出具有最佳值的货币交换序列,加密货币交易模块106e就执行(208)与最佳值相关联的所识别的货币交换序列。例如,图3的用户界面300将反映代表最佳转换的第二货币金额(例如ETH 6.983664),用户可以选择“开始兑换”按钮来执行货币交换序列。
[0111] 以下示例性消息描绘了具有由加密货币交易模块106e识别和编码的最佳值的货币交换序列(以JSON格式):
[0112]
[0113] 图5是使用图1的系统100执行所识别的货币交换序列的计算机化方法500的流程图。服务器计算设备106的加密货币交易模块106e验证(502)与客户端计算设备102a的用户相关联的电子钱包的一个或多个数据元素。例如,加密货币交易模块106e可以验证钱包的特定元素,例如:用户账户信息(例如,姓名,ID号,钱包地址),用户的手机号码,两步确认码等。模块106e还可以验证用户的电子钱包具有要转换的货币中的足够资金。
[0114] 应当理解,在一些实施例中,加密货币交易模块106e可以使用从客户端计算设备接收的位置信息(例如,GPS坐标等)来执行基于位置的交易验证-意味着模块106e可以确定用户的地理位置并应用一组符合当地和/或国家证券法律和法规的交易规则,这些法律和法规管理用户特定位置的交易。因为加密货币/区块链交易本质上是全球性的,并且可以是匿名的(与传统股票交易不同),所以本文描述的系统和方法有利地利用基于位置的验证来向加密货币交易过程添加合规和信任层。在验证完成之后,加密货币交易模块106e从电子钱包中提取(504)第一货币金额,并将提取的金额存储在临时缓存中(例如,在数据库110中)。在一些实施例中,加密货币交易模块106e还从用户的钱包中扣除任何交易费用(例如,图3中的费用306)。然后,加密货币交易模块106e与与货币交换序列相关联的多个加密货币交易所交互,以向多个加密货币交易所中的两个或更多个交易所发出(506)买卖订单,以接收第二货币金额并存储临时缓存中的第二货币金额。一旦执行了交易序列,加密货币交易模块106e就将第二货币金额发送(508)到用户的电子钱包的地址。
[0115] 以下示例性Python编程代码表示由加密货币交易模块106e生成的用于将GNT货币转换为DGD货币的消息:
[0116]
[0117]
[0118] 上述技术可以在数字和/或模拟电子电路中实现,或者在计算机硬件,固件,软件或它们的组合中实现。该实现可以作为计算机程序产品,即有形地体现在机器可读存储设备中的计算机程序,用于由数据处理设备(例如,可编程处理器,计算机和/或多台计算机)执行或控制其操作。计算机程序可以用任何形式的计算机或编程语言编写,包括源代码,编译代码,解释代码和/或机器代码,并且计算机程序可以以任何形式部署,包括作为独立程序或作为独立程序。适合在计算环境中使用的子例程,元素或其他单元。可以部署计算机程序以在一个计算机上或在一个或多个站点的多个计算机上执行。该计算机程序可以部署在云计算环境中(例如, AWS, Azure, )。方法步骤可以由执行计算机程序的一个或多个处理器执行,以通过对输入数据进行操作和/或生成输出数据来执行本发明的功能。方法步骤也可以由专用逻辑电路执行,并且装置可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列),FPAA(现场可编程模拟阵列),CPLD(复杂可编程逻辑器件)。,PSoC(可编程片上系统),ASIP(专用指令集处理器)或ASIC(专用集成电路)等。
子例程可以指存储的计算机程序和/或处理器的部分,和/或实现一个或多个功能的特殊电路。作为示例,适合于执行计算机程序的处理器包括专用编程有可执行以执行本文所述方法的指令的专用微处理器,以及任何类型的数字或模拟计算机的任何一个或多个处理器。
通常,处理器从只读存储器随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和/或数据的一个或多个存储器设备。存储器设备(例如高速缓存)可用于临时存储数据。存储设备也可用于长期数据存储。通常,计算机还包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,或者用于存储数据,例如磁盘,磁光盘或光盘。计算机还可以可操作地耦合到通信网络,以便从网络接收指令和/或数据和/或将指令和/或数据传送到网络。适用于实现计算机程序指令和数据的计算机可读存储介质包括所有形式的易失性和非易失性存储器,包括例如半导体存储器设备,例如DRAM,SRAM,EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和光盘,例如CD,DVD,HD-DVD和蓝光盘。处理器和存储器可以由专用逻辑电路补充和/或并入专用逻辑电路中。
[0119] 为了提供与用户的交互,上述技术可以在与显示设备通信的计算设备上实现,例如CRT(阴极射线管),等离子或LCD(液晶显示器)监视器,移动设备。显示器或屏幕,全息设备和/或投影仪,用于向用户显示信息以及键盘和指示设备,例如鼠标轨迹球触摸板或运动传感器,用户可通过该设备向其提供输入。计算机(例如,与用户界面元素交互)。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学,语音和/或触觉输入。
[0120] 可以在包括后端组件的分布式计算系统中实现上述技术。后端组件例如可以是数据服务器,中间件组件和/或应用服务器。上述技术可以在包括前端组件的分布式计算系统中实现。前端组件例如可以是具有图形用户界面的客户端计算机,用户可以通过其与示例实现交互的Web浏览器,和/或用于发送设备的其他图形用户界面。上述技术可以在分布式计算系统中实现,该分布式计算系统包括这种后端,中间件或前端组件的任何组合。
[0121] 计算系统的组件可以通过传输介质互连,传输介质可以包括数字或模拟数据通信的任何形式或介质(例如,通信网络)。传输介质可以包括任何配置中的一个或多个基于分组的网络和/或一个或多个基于电路的网络。基于分组的网络可以包括例如因特网,运营商网际协议(IP)网络(例如,局域网(LAN),广域网(WAN),校园区域网(CAN),城域网(MAN)。),家庭区域网络(HAN)),专用IP网络,IP专用小交换机(IPBX),无线网络(例如,无线电接入网络(RAN),蓝牙,近场通信(NFC)网络,Wi-Fi,WiMAX,通用分组无线电服务(GPRS)网络,HiperLAN)和/或其他基于分组的网络。基于电路的网络可以包括例如公共交换电话网(PSTN),传统专用小交换机(PBX),无线网络(例如,RAN,码分多址(CDMA)网络,时分多址),(TDMA)网络,全球移动通信系统(GSM)网络)和/或其他基于电路的网络。
[0122] 通过传输介质的信息传输可以基于一个或多个通信协议。通信协议可以包括例如以太网协议,互联网协议(IP),IP语音(VOIP),点对点(P2P)协议,超文本传输协议(HTTP),安全的文本传输协议(HTTPS),会话发起协议(SIP),H.323,媒体网关控制协议(MGCP),信令系统#7(SS7),全球移动通信系统(GSM)协议,即按即说(PTT)协议,PTT over Cellular(POC)协议,通用移动电信系统(UMTS),3GPP长期演进(LTE)和/或其他通信协议。
[0123] 计算系统的设备可以包括例如计算机,具有浏览器设备的计算机,电话,IP电话,移动设备(例如,蜂窝电话,个人数字助理(PDA)设备,智能电话,平板电脑,膝上型电脑)。计算机,电子邮件设备)和/或其他通信设备。浏览器设备包括例如具有万维网浏览器的计算机(例如,台式计算机和/或膝上型计算机)(例如,来自Google公司的ChromeTM,可从Microsoft Corporation获得的 InternetExplorer,和/或Mozilla公司提供的 Firefox)。移动计算设备包括例如来自Research in Motion的Blackberry,来自Apple Corporation的iPhone,和/或基于AndroidTM的设备。IP电话包括例如思科系统公司提供的 UnifiedIP电话7985G和/或 UnifiedWireless Phone 7920。
[0124] 包括,包含和/或复数形式的每个都是开放式的并且包括列出的部分并且可以包括未列出的附加部分。和/或是开放式的,包括一个或多个列出的部分和列出的部分的组合。
[0125] 本领域技术人员将认识到,在不脱离本发明的精神或基本特征的情况下,本主题可以以其他特定形式实施。因此,前述实施例在所有方面都应被视为说明性的而非限制本文所述的主题。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈