首页 / 专利库 / 资料储存系统 / 工作量证明 / 业务接口调用方法、装置、用户终端和可读存储介质

业务接口调用方法、装置、用户终端和可读存储介质

阅读:120发布:2020-08-17

专利汇可以提供业务接口调用方法、装置、用户终端和可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种业务 接口 调用方法、装置、用户终端和可读存储介质,该方法包括获取输入的业务数据;获取输入的 工作量证明 指令;向 服务器 发送预设工作量难度系数获取 请求 ;接收服务器返回的预设工作量难度系数;根据业务数据和预设工作量难度系数计算当前工作量难度系数;当当前工作量难度系数大于等于预设工作量难度系数时,则调用用户终端的业务接口向服务器发送所述业务数据。上述的业务安全调用方法、装置、用户终端和可读存储介质,只有当前工作量难度系数大于等于从服务器获取的预设工作量难度系数时,才会认为该业务数据是通过人工操作产生的,从而才会调用相应的业务接口,向服务器发送业务数据,防止了业务接口被自动化 软件 滥用。,下面是业务接口调用方法、装置、用户终端和可读存储介质专利的具体信息内容。

1.一种业务接口调用方法,其特征在于,所述方法包括:
获取输入的业务数据;
获取输入的与所述业务数据对应的工作量证明指令;
服务器发送预设工作量难度系数获取请求
接收所述服务器根据所述预设工作量难度系数获取请求返回的与所述工作量证明指令对应的预设工作量难度系数;
根据所述业务数据和所述预设工作量难度系数计算当前工作量难度系数;
当所述当前工作量难度系数大于等于所述预设工作量难度系数时,则调用用户终端的业务接口向所述服务器发送所述业务数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务数据和所述预设工作量难度系数,计算当前工作量难度系数的步骤,包括:
从服务器获取与所述预设工作量难度系数获取请求对应的会话标识;
根据预设的排序组合方式对所述业务数据、预设工作量难度系数以及会话标识进行排序组合,得到组合数据;
对所述组合数据进行消息摘要计算得到散列值;
获取所述散列值中预设字符的位置作为当前工作量难度系数。
3.根据权利要求2所述的方法,其特征在于,所述获取所述散列值中预设字符的位置作为当前工作量难度系数的步骤,包括:
将所述散列值转换为二进制字符;
获取所述二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述当前工作量难度系数小于所述预设工作量难度系数时,则按照预设步长调整所述会话标识,并根据所述业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至所述当前工作量难度系数大于等于所述预设工作量难度系数。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
调用用户终端的业务接口向所述服务器发送所述当前工作量难度系数,以使所述服务器根据所述业务数据和预设工作难度系数计算目标工作量难度系数;
通过所述业务接口接收所述服务器在所述当前工作量难度系数与目标工作量难度系数相一致时通过服务器业务接口返回的与所述业务数据对应的业务数据处理结果。
6.一种业务接口调用装置,其特征在于,所述装置包括:
获取模,用于获取输入的业务数据,以及获取输入的与所述业务数据对应的工作量证明指令;
发送模块,用于向服务器发送预设工作量难度系数获取请求;
接收模块,用于接收所述服务器根据所述预设工作量难度系数获取请求返回的与所述工作量证明指令对应的预设工作量难度系数;
计算模块,用于根据所述业务数据和所述预设工作量难度系数计算当前工作量难度系数;
调用模块,用于当所述当前工作量难度系数大于等于所述预设工作量难度系数时,则调用用户终端的业务接口向所述服务器发送所述业务数据。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
会话标识获取单元,用于从服务器获取与所述预设工作量难度系数获取请求对应的会话标识;
组合单元,用于根据预设的排序组合方式对所述业务数据、预设工作量难度系数以及会话标识进行排序组合得到组合数据;
散列值计算单元,用于对所述组合数据进行消息摘要计算得到散列值;
当前工作量难度系数获取单元,用于获取所述散列值中预设字符的位置作为当前工作量难度系数。
8.根据权利要求7所述的装置,其特征在于,所述当前工作量难度系数获取单元包括:
转换单元,用于将所述散列值转换为二进制字符;
位置获取单元,用于获取所述二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
9.一种用户终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5中任意一项所述方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任一项所述方法中的步骤。

说明书全文

业务接口调用方法、装置、用户终端和可读存储介质

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种业务接口调用方法、装置、用户终端和可读存储介质。

背景技术

[0002] 随着互联网技术的发展,许多业务均采用自动化的处理过程,从而可以提高业务处理的效率,节约时间。但是仍存在一些业务由于需要保护个人信息等原因,需要经过人工操作才可以进行处理,例如登录网上行的业务等,但是当前存在大量的自动化软件未经过用户授权就通过业务接口来获取银行账单等个人隐私信息,造成业务接口滥用,个人信息泄露。
[0003] 传统中,为了防止业务接口被自动化软件滥用,通过图灵测试的方式来识别人工操作,只有通过图灵测试的人工操作才可以调用相应的业务接口,请求服务器返回相应的业务结果。但是由于人类操作一般是通过语音反馈、键盘鼠标动作等等来表示,图灵测试对于该些操作识别的正确率低,从而不能准确地区分人类操作和自动化软件的操作,导致仍存在自动化软件滥用业务接口的情况。

发明内容

[0004] 基于此,有必要针对传统技术中存在自动化软件滥用业务接口的问题,提供一种业务接口调用方法、装置、用户终端和可读存储介质。
[0005] 一种业务接口调用方法,所述方法包括:
[0006] 获取输入的业务数据;
[0007] 获取输入的与所述业务数据对应的工作量证明指令;
[0008] 向服务器发送预设工作量难度系数获取请求;
[0009] 接收所述服务器根据所述预设工作量难度系数获取请求返回的与所述工作量证明指令对应的预设工作量难度系数;
[0010] 根据所述业务数据和所述预设工作量难度系数计算当前工作量难度系数;
[0011] 当所述当前工作量难度系数大于等于所述预设工作量难度系数时,则调用用户终端的业务接口向所述服务器发送所述业务数据。
[0012] 在其中一个实施例中,所述根据所述业务数据和所述预设工作量难度系数,计算当前工作量难度系数的步骤,包括:
[0013] 从服务器获取与所述预设工作量难度系数获取请求对应的会话标识;
[0014] 根据预设的排序组合方式对所述业务数据、预设工作量难度系数以及会话标识进行排序组合,得到组合数据;
[0015] 对所述组合数据进行消息摘要计算得到散列值;
[0016] 获取所述散列值中预设字符的位置作为当前工作量难度系数。
[0017] 在其中一个实施例中,所述获取所述散列值中预设字符的位置作为当前工作量难度系数的步骤,包括:
[0018] 将所述散列值转换为二进制字符;
[0019] 获取所述二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0020] 在其中一个实施例中,所述方法还包括:
[0021] 当所述当前工作量难度系数小于所述预设工作量难度系数时,则按照预设步长调整所述会话标识,并根据所述业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至所述当前工作量难度系数大于等于所述预设工作量难度系数。
[0022] 在其中一个实施例中,所述方法还包括:
[0023] 调用用户终端的业务接口向所述服务器发送所述当前工作量难度系数,以使所述服务器根据所述业务数据和预设工作难度系数计算目标工作量难度系数;
[0024] 通过所述业务接口接收所述服务器在所述当前工作量难度系数与目标工作量难度系数相一致时通过服务器业务接口返回的与所述业务数据对应的业务数据处理结果。
[0025] 一种业务接口调用装置,所述装置包括:
[0026] 获取模,用于获取输入的业务数据,以及获取输入的与所述业务数据对应的工作量证明指令;
[0027] 发送模块,用于向服务器发送预设工作量难度系数获取请求;
[0028] 接收模块,用于接收所述服务器根据所述预设工作量难度系数获取请求返回的与所述工作量证明指令对应的预设工作量难度系数;
[0029] 计算模块,用于根据所述业务数据和所述预设工作量难度系数计算当前工作量难度系数;
[0030] 调用模块,用于当所述当前工作量难度系数大于等于所述预设工作量难度系数时,则调用用户终端的业务接口向所述服务器发送所述业务数据。
[0031] 在其中一个实施例中,所述计算模块包括:
[0032] 会话标识获取单元,用于从服务器获取与所述预设工作量难度系数获取请求对应的会话标识;
[0033] 组合单元,用于根据预设的排序组合方式对所述业务数据、预设工作量难度系数以及会话标识进行排序组合得到组合数据;
[0034] 散列值计算单元,用于对所述组合数据进行消息摘要计算得到散列值;
[0035] 当前工作量难度系数获取单元,用于获取所述散列值中预设字符的位置作为当前工作量难度系数。
[0036] 在其中一个实施例中,所述当前工作量难度系数获取单元包括:
[0037] 转换单元,用于将所述散列值转换为二进制字符;
[0038] 位置获取单元,用于获取所述二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0039] 一种用户终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
[0040] 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法中的步骤。
[0041] 上述的业务安全调用方法、装置、用户终端和可读存储介质,只有通过业务数据、预设工作量难度系数计算得到的当前工作量难度系数大于等于从服务器获取的预设工作量难度系数时,才会认为该业务数据是通过人工操作产生的,从而才会调用相应的业务接口,向服务器发送业务数据,但是如果采用自动化软件来处理处理时,由于自动化软件在处理是采用的是批量处理的方式,无法批量向终端输入相应的工作量难度证明指令,从而不能通过业务接口向服务器发送业务数据,防止了业务接口被自动化软件滥用。附图说明
[0042] 图1为一实施例中业务接口调用方法的应用场景图;
[0043] 图2为一实施例中业务接口调用方法的流程图
[0044] 图3为一实施例中的业务接口调用方法的时序图;
[0045] 图4为一实施例中的业务接口调用装置的示意图;
[0046] 图5为另一实施例中的业务接口调用装置的示意图;
[0047] 图6为一实施例中的用户终端的结构示意图。

具体实施方式

[0048] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0049] 在详细说明根据本发明的实施例前,应该注意到的是,所述的实施例主要在于与业务接口调用方法、装置、用户终端和可读存储介质相关的步骤和系统组件的组合。因此,所属系统组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节模糊了本发明的公开内容。
[0050] 在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
[0051] 参阅图1,图1为一实施例中业务接口调用方法的应用场景图,其中包括业务终端和服务器,业务终端可以与服务器进行通信。用户通过业务终端进行业务处理,然后业务终端将业务处理所得到的业务数据发送给服务器,以从服务器获取与该业务数据对应的处理结果。其中业务终端可以为用户的电脑、手机、平板电脑等设备。
[0052] 请参阅图2,在其中一个实施例中,提供一种业务接口调用方法,本实施例以该方法应用到上述图1中的业务终端来举例说明。该业务终端上运行有业务接口调用程序,通过该业务接口调用程序来实施业务接口调用方法。该方法具体包括如下步骤:
[0053] S202:获取输入的业务数据。
[0054] 具体地,业务终端可以提供业务表单显示界面,从而用户可以通过业务表单显示界面向业务终端输入相应的业务数据。例如登录页面作为业务表单时,其上显示有用户账号和用户密码的输入框,用户可以通过该输入框输入用户账号和用户密码,此时用户账号和用户密码即为此处的业务数据。此外,当查询页面作为业务表单时,例如浏览器的查询页面,其上显示有搜索框,用户可以通过该搜索框输入所要所搜的内容的关键字,此时该关键字即为此处的业务数据。
[0055] S204:获取输入的与业务数据对应的工作量证明指令。
[0056] 具体地,工作量证明指令即用户向用户终端输入的指令,其是为了向用户终端表示当前使用用户终端的不是自动化软件。其中,可以通过在用户终端的显示界面上设置一按钮,例如“我不是机器人”按钮,或者“I am not a robot”按钮,当用户点击该按钮时,则生成与业务数据对应的工作量证明指令。
[0057] S206:向服务器发送预设工作量难度系数获取请求。
[0058] 具体地,为了计算当前的工作量难度系数,用户终端开启一轻量级的会话,向服务器发送预设工作量难度系数获取请求以获取存储在服务器的预设工作量难度系数。从服务器获取预设工作量难度系数是为了防止用户终端仅根据自身存储的内容计算当前工作量难度系数,如果用户终端仅根据自身存储的内容计算当前工作量难度系数,则用户终端可以随意地更改数据,或者不更改数据,直接向服务器发送上一次的工作量难度系数,由于服务器也是根据用户终端发送的数据来计算当前工作量难度系数,因此服务器无法准确地判断用户终端所计算的当前工作量难度系数是否正确,从而导致用户终端极易被非法使用。
[0059] S208:接收服务器根据预设工作量难度系数获取请求返回的与工作量证明指令对应的预设工作量难度系数。
[0060] 具体地,当服务器接收到预设工作量难度系数获取请求时,则会根据该请求查询与工作量证明指令对应的预设工作量难度系数,例如服务器中可以存储有一表格,该表格中存储有工作量证明指令与预设工作量难度系数的对应关系,服务器可以根据工作量证明指令查询到对应的预设工作量难度系数。
[0061] S210:根据业务数据和预设工作量难度系数计算当前工作量难度系数。
[0062] 具体地,当用户终端接收到服务器返回的预设工作量难度系数时,则根据用户终端中存储的业务数据和服务器返回的预设工作量难度系数来计算当前工作量难度系数,这样根据两端的数据来计算当前工作量难度系数,可以防止用户终端被自动化等软件使用,例如当自动化软件使用用户终端时,其一般会批量来进行业务处理,从而也会批量计算当前工作量难度系数,因此需要批量从服务器获取对应的预设工作量难度系数,这对于批量处理来说是比较难以实现的,其极易造成处理过程的混乱,从而导致业务处理失败。
[0063] S212:当当前工作量难度系数大于等于预设工作量难度系数时,则调用用户终端的业务接口向服务器发送业务数据。
[0064] 具体地,当当前工作量难度系数大于等于预设工作量难度系数时,即表明用户终端在处理当前业务时,需要耗费一定的工作量,因此其不是自动化软件,从而可以调用相应的业务接口向服务器发送业务数据。如果不使用该工作量证明机制来证明用户终端在处理当前业务时,需要耗费一定的工作量,例如当使用自动化软件来处理当前业务时,则业务接口会被自动化软件一直占用,导致真正需要使用业务接口的业务无法正常处理,造成业务接口的滥用。
[0065] 上述的业务安全调用方法,只有通过业务数据、预设工作量难度系数计算得到的当前工作量难度系数大于等于从服务器获取的预设工作量难度系数时,才会认为该业务数据是通过人工操作产生的,从而才会调用相应的业务接口,向服务器发送业务数据,但是如果采用自动化软件来处理处理时,由于自动化软件在处理是采用的是批量处理的方式,无法批量向终端输入相应的工作量难度证明指令,从而不能通过业务接口向服务器发送业务数据,防止了业务接口被自动化软件滥用。
[0066] 在其中一个实施例中,根据业务数据和预设工作量难度系数,计算当前工作量难度系数的步骤可以包括:从服务器获取与预设工作量难度系数获取请求对应的会话标识;根据预设的排序组合方式对业务数据、预设工作量难度系数以及会话标识进行排序组合,得到组合数据;对组合数据进行消息摘要计算得到散列值;获取散列值中预设字符的位置作为当前工作量难度系数。
[0067] 具体地,会话标识是指用户终端与服务器本次获取预设工作量难度系数会话的会话标识,其一般为一随机数,例如0、1、2、3、4等。预设的排序组合方式是服务器和用户终端约定的排序组合方式,例如业务数据排在预设工作量难度系数之前,预设工作量难度系数排在会话标识之前,或者业务数据排在会话标识之前,会话标识排在预设工作量难度系数之前等,在此不限制该排序的具体方式,只要用户终端和服务器关于该排序的方式是一致的即可。消息摘要计算可以是通过MD5算法计算,或者其他的消息摘要计算方式进行计算。
[0068] 在其中一个实施例中,获取散列值中预设字符的位置作为当前工作量难度系数的步骤可以包括:将散列值转换为二进制字符;获取二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0069] 具体地,当前工作量难度系数是根据业务数据、预设工作量难度系数以及会话标识所形成的组合数据所计算的散列值求得的,为了方便将该散列值转化为二进制字符,在其他实施例中,还可以转化为十进制字符,十六进制字符等。当转化为二进制字符时,预设字符可以为1或0,例如当预设字符为1时,则可以将转化后的二进制字符从左往右排列,获取该二进制字符中的第一个非零的一,即第一个1所在的位置作为当前工作量难度系数,例如当二进制字符为“0000000101000101”时,则当前工作量难度系数为8,因为第一个1排列在第8位。
[0070] 在其中一个实施例中,上述的业务接口调用方法还可以包括:当当前工作量难度系数小于预设工作量难度系数时,则按照预设步长调整会话标识,并根据业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至当前工作量难度系数大于等于预设工作量难度系数。
[0071] 具体地,当第一次所计算的当前工作量难度系数小于预设工作量难度系数时,可以调整会话标识,例如当会话标识为一随机数,且为0时,预设步长可以为1、2、3、6等,当预设步长为1时,则调整会话标识为1,再计算会话标识为1时的当前工作量难度系数,直至当前工作量难度系数大于等于预设工作量难度系数时,再调用用户终端的业务接口向服务器发送相应的业务数据。
[0072] 在其中一个实施例中,业务接口调用方法还可以包括:调用用户终端的业务接口向服务器发送当前工作量难度系数,以使服务器根据业务数据和预设工作难度系数计算目标工作量难度系数;通过业务接口接收服务器在当前工作量难度系数与目标工作量难度系数相一致时通过服务器的业务接口返回的与业务数据对应的业务数据处理结果。
[0073] 具体地,用户终端调用用户终端的业务接口向服务器发送当前工作量难度系数和业务数据,服务器首先查询到服务器存储的预设工作量难度系数,再根据已存储的预设工作量难度系数和业务数据按照与用户终端一样的方式计算目标工作量难度系数,只有该目标工作量难度系数与用户终端发送来的当前工作量难度系数相同时,服务器才会调用服务器响应的业务接口向用户终端返回与业务数据对应的处理结果。
[0074] 请参阅图3所示,图3为一实施例中的业务接口调用方法的时序图,其中该实施例中以用户终端b需要通过用户终端b的业务接口a请求服务器s的一个业务接口i的数据,例如查询当前外汇汇率业务。
[0075] 首先,用户终端提供用户表单界面,其包含用户名Username、密码Password和外汇符号forexTag,以及一工作量证明指令按钮“我不是机器人”,用户通过用户表单界面输入用户名、密码和外汇符号后,点击工作量证明指令按钮,从而用户终端会向服务器请求一与当前工作量证明指令,即与当前业务数据对应的预设工作量难度系数,服务器在接收到预设工作量难度系数获取请求后,会向用户终端返回一预设工作量难度系数以及本次会话的会话标识,假设本次预设工作量难度系数为7,会话标识为0。
[0076] 其次,用户终端根据服务器返回的预设工作量难度系数、本次会话的会话标识和业务数据计算当前工作量难度系数。其中业务数据包含用户名Username、密码Password和外汇符号forexTag。例如,用户终端将预设工作量难度系数、本次会话的会话标识和业务数据进行排列组合,如下所示:
[0077] difficulty=7&forextag=usd&nonce=0&password=secret&sid=123123123.123123.123&username=hello
[0078] 其中,difficulty表示预设当前工作难度系数,forextag表示外汇符号,nonce表示随机数,password表示密码,sid表示安全标识符,是标识用户、组和计算机账户的唯一地号码,username表示用户名。
[0079] 第三,将排序组合后的组合数据进行消息摘要计算,例如可以通过SHA256消息摘要计算得到散列值,即hash值:5285ea9f915b1238822ec0529f6aa7600adf23a6438858d62d278a515fe89ca9。
[0080] 第四,将该散列值从左向右排列,然后转换为二进制字符,当第一个非0的1出现在第6个位置,可以定义改当前工作量难度系数为5。如果预设的工作量难度系数为7,那么当前工作量难度系数不满足预设的工作量难度系数。
[0081] 第五,按照预设步长递增会话标识nonce值,得到新的组合数据:
[0082] difficulty=7&forextag=usd&nonce=1&password=secret&sid=123123123.123123.123&username=hello
[0083] 然后重复上述第三步,再次计算散列值,直至满足预设工作量难度系数,上述当会话标识nonce=95的时候,得到散列值为:
[0084] 01db19b5af692ea1831dc2a499ac05cf32c3d30106d292f0dd60a181c8d5f364[0085] 其最左边有7个0,即当前工作量难度系数为7,等于预设工作量难度系数,于是将组合数据以及散列值提交给服务器:
[0086] difficulty=7&forextag=usd&nonce=95&password=secret&sid=1 2 3 1 2 3 1 2 3 .1 2 3 1 2 3 .1 2 3 & u s e r n a m e = h e l l o & h a s h =
01db19b5af692ea1831dc2a499ac05cf32c3d30106d292f0dd60a181c8d5f364
[0087] 第六,服务器在接收到用户终端所发送的上述组合数据和散列值时,对上述组合数据和散列值进行解析,得到散列值和组合数据:
[0088] hash=01db19b5af692ea1831dc2a499ac05cf32c3d30106d292f0dd60a181c8d5f364以及
[0089] difficulty=7&forextag=usd&nonce=95&password=secret&sid=123123123.123123.123&username=hello
[0090] 然后服务器可以根据组合数据(其中包含预设工作量难度系数以及业务数据)计算一次得到目标散列值:
[0091] Hash’=01db19b5af692ea1831dc2a499ac05cf32c3d30106d292f0dd60a181c8d5f364
[0092] 其与用户终端所提交来的散列值是一致的,说明用户终端是经过大量的计算搜索得到的会话标识,进而得到满足预设工作量难度系数的散列值,从而该请求合法,因此服务器可以调用服务器业务接口与给用户终端返回业务数据相应的处理结果,防止服务器业务接口被滥用。
[0093] 其中服务器可以根据组合数据计算一次得到目标散列值时,可以先根据组合数据获取到预设工作量难度系数并与本地存储的预设工作量难度系数进行比较,只要两者相同时才会继续下一步,或者直接获取本地存储的工作量难度系数以及组合数据中的业务数据、会话标识来重新形成组合数据,例如按照与用户终端一样的排序组合方式进行排序组合后获取组合数据,再计算得到目标散列值,根据目标散列值得到目标工作量难度系数,当目标工作量难度系数与用户终端所提交的当前工作量难度系数一致时,则说明用户终端是经过大量的计算搜索得到的会话标识,进而得到满足预设工作量难度系数的散列值,从而该请求合法,因此服务器可以调用服务器业务接口与给用户终端返回业务数据相应的处理结果,防止服务器业务接口被滥用。
[0094] 参阅图4,图4为一实施例中的业务接口调用装置的示意图,该业务接口调用装置包括:
[0095] 获取模块110,用于获取输入的业务数据,以及获取输入的与业务数据对应的工作量证明指令。
[0096] 发送模块120,用于向服务器发送预设工作量难度系数获取请求。
[0097] 接收模块130,用于接收服务器根据预设工作量难度系数获取请求返回的与工作量证明指令对应的预设工作量难度系数。
[0098] 计算模块140,用于根据业务数据和预设工作量难度系数计算当前工作量难度系数。
[0099] 调用模块150,用于当当前工作量难度系数大于等于预设工作量难度系数时,则调用用户终端的业务接口向服务器发送业务数据。
[0100] 在其中一个实施例中,参阅图5,图5为另一实施例中的业务接口调用装置的示意图,其中计算模块140可以包括:
[0101] 会话标识获取单元141,用于从服务器获取与预设工作量难度系数获取请求对应的会话标识。
[0102] 组合单元142,用于根据预设的排序组合方式对业务数据、预设工作量难度系数以及会话标识进行排序组合得到组合数据。
[0103] 散列值计算单元143,用于对组合数据进行消息摘要计算得到散列值。
[0104] 当前工作量难度系数获取单元144,用于获取散列值中预设字符的位置作为当前工作量难度系数。
[0105] 在其中一个实施例中,当前工作量难度系数获取单元144可以包括:
[0106] 转换单元1441,用于将散列值转换为二进制字符。
[0107] 位置获取单元1442,用于获取二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0108] 在其中一个实施例中,调用模块150还可以用于当当前工作量难度系数小于预设工作量难度系数时,则按照预设步长调整会话标识,并根据业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至当前工作量难度系数大于等于预设工作量难度系数。
[0109] 在其中一个实施例中,调用模块150还可以用于调用用户终端的业务接口向服务器发送当前工作量难度系数,以使服务器根据业务数据和预设工作难度系数计算目标工作量难度系数;通过业务接口接收服务器在当前工作量难度系数与目标工作量难度系数相一致时通过服务器的业务接口返回的与业务数据对应的业务数据处理结果。
[0110] 上述关于业务接口调用装置的限定可以参加上文中关于业务接口调用方法的限定,在此不再赘述。
[0111] 请参阅图6,图6为一实施例中的用户终端的结构示意图,该用户终端可以是常规终端或其他任何合适的计算器设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中该存储器可以包括非易失性存储介质以及内存储器,该计算机程序可以存储在该非易失性存储介质中,处理器执行程序时实现以下步骤:获取输入的业务数据;获取输入的与业务数据对应的工作量证明指令;向服务器发送预设工作量难度系数获取请求;接收服务器根据预设工作量难度系数获取请求返回的与工作量证明指令对应的预设工作量难度系数;根据业务数据和预设工作量难度系数计算当前工作量难度系数;当当前工作量难度系数大于等于预设工作量难度系数时,则调用用户终端的业务接口向服务器发送业务数据。
[0112] 在其中一个实施例中,处理器执行程序时还可以实现以下步骤:从服务器获取与预设工作量难度系数获取请求对应的会话标识;根据预设的排序组合方式对业务数据、预设工作量难度系数以及会话标识进行排序组合,得到组合数据;对组合数据进行消息摘要计算得到散列值;获取散列值中预设字符的位置作为当前工作量难度系数。
[0113] 在其中一个实施例中,处理器执行程序时还可以实现以下步骤:将散列值转换为二进制字符;获取二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0114] 在其中一个实施例中,处理器执行程序时还可以实现以下步骤:当当前工作量难度系数小于预设工作量难度系数时,则按照预设步长调整会话标识,并根据业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至当前工作量难度系数大于等于预设工作量难度系数。
[0115] 在其中一个实施例中,处理器执行程序时还可以实现以下步骤:调用用户终端的业务接口向服务器发送当前工作量难度系数,以使服务器根据业务数据和预设工作难度系数计算目标工作量难度系数;通过业务接口接收服务器在当前工作量难度系数与目标工作量难度系数相一致时通过服务器的业务接口返回的与业务数据对应的业务数据处理结果。
[0116] 上述对于用户终端的限定可以参见上文中对于业务接口调用方法的具体限定,在此不再赘述。
[0117] 请继续参阅图6,还提供一种计算机可读存储介质,其上存储有计算机程序,如图6中所示的非易失性存储介质,其中,该程序被处理器执行时实现以下步骤:获取输入的业务数据;获取输入的与业务数据对应的工作量证明指令;向服务器发送预设工作量难度系数获取请求;接收服务器根据预设工作量难度系数获取请求返回的与工作量证明指令对应的预设工作量难度系数;根据业务数据和预设工作量难度系数计算当前工作量难度系数;当当前工作量难度系数大于等于预设工作量难度系数时,则调用用户终端的业务接口向服务器发送业务数据。
[0118] 在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:从服务器获取与预设工作量难度系数获取请求对应的会话标识;根据预设的排序组合方式对业务数据、预设工作量难度系数以及会话标识进行排序组合,得到组合数据;对组合数据进行消息摘要计算得到散列值;获取散列值中预设字符的位置作为当前工作量难度系数。
[0119] 在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:将散列值转换为二进制字符;获取二进制字符中第一个非零的一所在的位置作为当前工作量难度系数。
[0120] 在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:当当前工作量难度系数小于预设工作量难度系数时,则按照预设步长调整会话标识,并根据业务数据、预设工作量难度系数以及调整后的会话标识计算当前工作量难度系数,直至当前工作量难度系数大于等于预设工作量难度系数。
[0121] 在其中一个实施例中,该程序被处理器执行时还可以实现以下步骤:调用用户终端的业务接口向服务器发送当前工作量难度系数,以使服务器根据业务数据和预设工作难度系数计算目标工作量难度系数;通过业务接口接收服务器在当前工作量难度系数与目标工作量难度系数相一致时通过服务器的业务接口返回的与业务数据对应的业务数据处理结果。
[0122] 上述对于计算机可读存储介质的限定可以参见上文中对于业务接口调用方法的具体限定,在此不再赘述。
[0123] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
[0124] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0125] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的调用范围。因此,本发明专利的调用范围应以所附权利要求为准。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈