CN115086394A - 业务信息处理方法、装置及电子设备 - Google Patents

业务信息处理方法、装置及电子设备 Download PDF

Info

Publication number
CN115086394A
CN115086394A CN202210682071.9A CN202210682071A CN115086394A CN 115086394 A CN115086394 A CN 115086394A CN 202210682071 A CN202210682071 A CN 202210682071A CN 115086394 A CN115086394 A CN 115086394A
Authority
CN
China
Prior art keywords
service
micro
intelligent contract
interface
information
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.)
Pending
Application number
CN202210682071.9A
Other languages
English (en)
Inventor
林大兴
孔令鲁
陈海峰
张帅
黄田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asiainfo Technologies China Inc
Original Assignee
Asiainfo Technologies China Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Asiainfo Technologies China Inc filed Critical Asiainfo Technologies China Inc
Priority to CN202210682071.9A priority Critical patent/CN115086394A/zh
Publication of CN115086394A publication Critical patent/CN115086394A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例涉及区块链技术领域,公开了一种业务信息处理方法、装置及电子设备,所述方法包括:接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。本申请实施例解决了现有技术中,区块链系统为业务系统提供服务时,存在的资源无法得到合理利用的问题。

Description

业务信息处理方法、装置及电子设备
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种业务信息处理方法、装置及电子设备。
背景技术
在区块链技术领域,业务系统接入区块链网络,通常采用在业务系统中引入区块链软件开发工具包(Software Development Kit,SDK)的方式,即在业务系统代码中加载区块链网络的客户端开发库,由业务系统完成接入区块链的身份认证、区块链事务提案、发起智能合约调用等区块链的相关操作。而对于区块链系统而言,其对各类业务请求提供服务时,存在网络资源分配、控制问题,例如,在业务请求方增多时的流量分配、控制问题;因此,导致资源无法得到合理利用,影响关键业务的处理效果和性能。
发明内容
本申请实施例提供了一种业务信息处理方法、装置及电子设备,以解决现有技术中,区块链系统为业务系统提供服务时,存在的资源无法得到合理利用的问题。
为了解决上述问题,本申请实施例公开了一种业务信息处理方法,所述方法包括:
接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;
响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;
根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
可选地,所述方法包括:
接收所述区块链系统的注册请求,获取所述注册请求所请求的第二微服务的属性信息;其中,所述第二微服务为所述智能合约中的微服务;
根据所述属性信息,建立与所述第二微服务对应的第二微服务接口;
发布所述第二微服务接口,以及将所述第二微服务接口与所述第二微服务的属性信息记载在所述预设对应关系中。
可选地,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
确定所述第一微服务接口的请求调用量;
在所述请求调用量满足预设要求的情况下,对所述客户端进行鉴权;
在鉴权通过的情况下,调用智能合约执行所述第一微服务接口对应的第一微服务。
可选地,所述确定所述第一微服务接口的请求调用量,包括:
在所述微服务调用请求为所述第一微服务接口的首次调用请求的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,且所述首次调用请求的与所述微服务调用请求之间的时间间隔超过预设时间窗口的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,所述首次调用请求的与所述微服务调用请求之间的时间间隔未超过预设时间窗口,且调用请求次数不超过预设请求阈值的情况下,确定所述请求调用量满足预设要求。
可选地,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
根据与所述智能合约匹配的字段表达式,对所述微服务调用请求中的敏感字段进行脱敏处理和/或加密处理。
可选地,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在调用所述智能合约为同步调用的情况下,调用所述智能合约接口向所述客户端发送所述第一微服务的执行结果;
在调用所述智能合约为异步调用的情况下,监听所述智能合约是否调用成功;若监听超时,执行超时异常处理。
可选地,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在发生调用异常的情况下,执行重试调用操作。
可选地,所述属性信息包括微服务属性信息以及智能合约属性信息;所述微服务属性信息包括微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息、微服务的出参描述信息、微服务超时配置信息、异常重试次数信息、无法恢复异常回调配置信息、区块监听超时配置信息以及正常出块回调配置信息中的至少一种。
和/或
所述智能合约属性信息包括智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息、区块链框架信息、智能合约接口的入参描述信息、智能合约接口的出参描述信息的至少一种
本申请实施例还公开了一种业务信息处理装置,所述装置包括:
请求接收模块,用于接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;
属性确定模块,用于响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;
服务调用模块,用于根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请实施例中一个或多个所述的方法。
本申请实施例还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例中一个或多个所述的方法。
本申请实施例还公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本申请实施例中一个或多个所述的方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。服务器通过智能合约接口调用智能合约执行微服务,满足客户端的使用需求。这样,微服务仍在区块链系统侧执行,当区块链系统为多个业务系统(客户端)提供服务时,可由区块链系统对其所提供的服务进行资源分配、资源控制等操作,根据业务需求合理分配网络资源,提升关键业务的处理效果和性能。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的业务信息处理方法的流程图;
图2为本申请实施例提供的第一示例的流程图;
图3为本申请实施例提供的第二示例的流程图;
图4为本申请实施例提供的第三示例的示意图;
图5为本申请实施例提供的第三示例的流程图;
图6为本申请实施例提供的业务信息处理装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1,本申请实施例提供了一种业务信息处理方法,可选地,所述方法应用于服务器,该方法可以包括以下步骤:
步骤101,接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的。
其中,客户端即业务系统,业务系统通过微服务接口向服务器发送微服务调用请求,在其中指示所调用的微服务(即第一微服务);服务器接收客户端通过微服务接口发送的微服务调用请求,其中,微服务接口为区块链系统通服务器预先发布的,例如,区块链系统将其能力发布为微服务,并通过服务器发布为微服务接口,供作为客户端的业务系统调用;第一微服务接口即客户端当前发送微服务调用请求所使用的微服务器接口。
步骤102,响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息。
其中,服务器可为多个区块链系统或一个区块链系统的多个微服务发布微服务接口,服务器侧设置有预设对应关系,所述预设对应关系中包括与微服务接口对应的微服务的属性信息、该微服务的智能合约的属性信息。因此,服务器在接收到客户端的微服务调用请求时,可根据预设对应关系,查找与第一微服务接口对应的属性信息。
具体地,所述属性信息包括微服务属性信息以及智能合约属性信息;所述微服务属性信息例如微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息等;所述智能合约属性信息例如智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息等。
其中,智能合约(Smart contract)是一种以信息化方式传播、验证或执行合同的计算机协议;通常情况下,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。在区块链技术领域,智能合约是一段程序,其以计算机指令的方式实现了传统合约的自动化处理;例如,本申请实施例中,通过智能合约制定一套规则,发布到服务器,客户端通过微服务接口请求服务器与智能合约进行交互,服务器通过智能合约接口调用区块链系统的智能合约,由智能合约完成业务的部分,这样就规避了由人工执行时可能造成的作弊行为。
步骤103,根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
服务器根据服务属性信息,通过区块链系统的智能合约接口调用智能合约为客户端提供第一微服务;这样,将区块链系统的能力信息通过微服务的形式发布,客户端需要微服务时,服务器通过智能合约接口调用智能合约执行微服务,满足客户端的使用需求。这样,微服务仍在区块链系统侧执行,当区块链系统为多个业务系统(客户端)提供服务时,可由区块链系统对其所提供的服务进行资源分配、资源控制等操作,根据业务需求合理分配网络资源,提升关键业务的处理效果和性能。本申请实施例解决了现有技术中,区块链系统为业务系统提供服务时,存在的资源无法得到合理利用的问题。
可选地,本申请实施例中,所述属性信息包括微服务属性信息以及智能合约属性信息;所述微服务属性信息包括微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息、微服务的出参描述信息、微服务超时配置信息、异常重试次数信息、无法恢复异常回调配置信息、区块监听超时配置信息以及正常出块回调配置信息中的至少一种。
和/或
所述智能合约属性信息包括智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息、区块链框架信息、智能合约接口的入参描述信息、智能合约接口的出参描述信息的至少一种。
具体地,微服务属性信息中,微服务入口端点信息指示通过服务器发布的微服务接入口,具体入口端点表示形式根据具体的微服务框架确定。微服务采用的协议信息指示发布微服务所采用的框架协议,框架协议例如RESTFull,Dubbo等协议。微服务的入参描述信息指示微服务接口的入口参数。微服务的出参描述信息指示微服务接口的出口参数。微服务超时配置信息指示本微服务接口能接受的最大延迟时间,例如超过此超时时间,需要返回超时信息给客户端。异常重试次数信息指示本微服务接口和区块链系统交互时最大的重试次数,重试次数超过此配置,则有可能本次区块链交互遇到了无法恢复的错误。无法恢复异常回调配置信息指示与区块链交互时遇到无法恢复的错误时,服务器应采取补救措施的接口配置信息。区块监听超时配置信息指示区块监听(或监测)超时,在单采用异步方式和区块链系统进行交互时,超过区块监听超时时间为能获取交易的出块确认,则认为和区块链系统交互失败,需要重新重试。正常出块回调配置信息指示正常出块回调的配置信息,例如使用异步方式和区块链系统交互的情况下,如果监听到事务出块信息,则调用次服务接口通知业务系统所述正常出块回调配置信息。
智能合约属性信息中,所述智能合约接口标识信息指示微服务接口要访问的智能合约的标识,标识例如智能合约的名字或其他形式的标识。区块链网络地址信息指示要访问的智能合约所在区块链的网络接入地址;区块链网络身份信息指示要访问区块链网络需要的身份信息,身份信息例身份证明、口令、证书等;区块链框架信息指示要访问的区块链网络所采用的区块链框架,区块链框架如超级账本Fabric,以太网、EOS等。智能合约接口的入参描述信息指示智能合约接口的入口参数,智能合约接口的出参描述信息示智能合约接口的出口参数。
可选地,本申请实施例中,所述方法包括:
接收所述区块链系统的注册请求,获取所述注册请求所请求的第二微服务的属性信息;其中,所述第二微服务为所述智能合约中的微服务;
根据所述第二微服务的属性信息,建立与所述第二微服务对应的第二微服务接口;
发布所述第二微服务接口,以及将所述第二微服务接口与所述第二微服务的属性信息记载在所述预设对应关系中。
其中,区块链系统在服务器注册微服务时,首先向服务器发送注册请求,在注册请求中携带所注册的第二微服务的属性信息,所述属性信息包括前述属性信息的内容,在此不再赘述。
服务器为第二微服务建立与其对应的第二微服务接口,并根据所述属性信息配置所述第二微服务接口,然后发布所述第二微服务接口,以供客户端调用,并将第二微服务接口与所述第二微服务的属性信息记载在所述预设对应关系中;其中,第二微服务为智能合约中的服务,区块链系统通过将智能合约中的能力注册为微服务接口,为客户端系统服务。
可选地,本申请实施例中,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
确定所述第一微服务接口的请求调用量;
在所述请求调用量满足预设要求的情况下,对所述客户端进行鉴权;
在鉴权通过的情况下,调用智能合约执行所述第一微服务接口对应的第一微服务。
其中,在调用智能合约的过程中,服务器对第一微服务接口进行流量控制;首先确定所述第一微服务接口的请求调用量,请求调用量例如在预设的时间周期,服务器所接受到的调用第一微服务接口的请求量;在请求调用量满足预设要求的情况下,对所述客户端进行鉴权,在鉴权通过的情况下,执行调用操作。
可选地,本申请实施例中,所述确定所述第一微服务接口的请求调用量,包括:
在所述微服务调用请求为所述第一微服务接口的首次调用请求的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,且所述首次调用请求的与所述微服务调用请求之间的时间间隔超过预设时间窗口的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,所述首次调用请求的与所述微服务调用请求之间的时间间隔未超过预设时间窗口,且调用请求次数不超过预设请求阈值的情况下,确定所述请求调用量满足预设要求。
具体地,首先判断所述微服务请求是否为预设时间周期内的首次请求;若是,确定所述请求调用量满足预设要求;否则,继续判断所述首次调用请求的与所述微服务调用请求之间的时间间隔超过预设时间窗口,若超过,确定所述请求调用量满足预设要求,并重置访问时间与次数,继续请求访问;若未超过,继续判断判断已经记录的访问次数加上本次的访问是否已超过预设请求阈值:如果未超过预设的流量控制的阈值则,增加次数累计,请求放行,在不超过预设请求阈值的情况下,确定所述请求调用量满足预设要求。
作为第一示例,参见图2,步骤201,服务器在接收到微服务调用请求之后,执行步骤202,判断此微服务请求是否是预设时间周期内的第一次请求(首次访问),如果是第一次请求,执行步骤203,记录第一次请求的时间,并记录访问次数记为1,然后执行步骤208,允许放行,继续后续访问操作。
如果不是第一次请求,则执行步骤204,第二步判断第一次请求时间与当前请求时间相比较是否已经超过了期限,期限即流量控制的时间窗口,如果已经超过了时间窗口,则执行步骤205,重置访问时间与次数,并执行步骤208;如果未超过了时间窗口,则执行步骤206,继续判断判断已经记录的访问次数加上本次的访问是否已超过预设请求阈值超过预设请求阈值(预设请求阈值即流量阈值),如果未超过预设的流量控制的阈值则执行步骤207增加次数累计,以及步骤208请求放行;如果超过预设请求阈值,则返回初始流程,停止业务运行。
可选地,本申请实施例中,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
根据与所述智能合约匹配的字段表达式,对所述微服务调用请求中的关键字段进行脱敏处理和/或加密处理。
其中,关键字段例如敏感字段,根据预配置的字段表达式,服务器提取微服务入参中的字段值;并根据预设脱敏规则和/或加密规则对字段进行脱敏和/或加密后,重新替换报文中的字段值,形成新的区块链智能合约的报文,避免出现数据安全问题。
作为示例,服务器预先在配置服务中,对智能合约中的需要模糊化处理的服务进行模糊化处理规则配置,配置的方式为指定需要加解密的报文的关键字段;可选地,指定关键字段的方式如下:
1,如果报文为JSON格式的报文,采用jsonpath字段的方式指定具体的字段;
2,如果报文的格式为XML格式的报文,采用xmlpath方式指定报文字段;
3,如果微服务框架采用的是对象方式,则使用ongl表达式指定要加密的字段;
根据配置的字段表达式,服务器提取微服务入参中关键字段值,对关键字段进行脱敏和/或加密后,重新替换报文中的字段值,形成新的区块链智能合约的报文。
可选地,本申请实施例中,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在调用所述智能合约为同步调用的情况下,调用所述智能合约接口向所述客户端发送所述第一微服务的执行结果;
在调用所述智能合约为异步调用的情况下,监听所述智能合约是否调用成功;若监听超时,执行超时异常处理;例如,服务器启用区块监听,根据区块号和区块链事务号,判断智能合约是否调用成功。如果监听超时,进入超时异常处理。
可选地,本申请实施例中,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在发生调用异常的情况下,执行重试调用操作;所述调用异常包括超时异常、响应异常等情况;如果上述过程出现异常(含超时异常),服务器根据配置的异常处理策略进行重试调用(重试上链)。作为第二示例,重试过程如图3所示:
步骤301,执行区块链调用操作;
步骤302,判断是否出现结果异常:
调用区块链智能合约接口之后,服务器判断调用上链结果是否出现异常;如果调用没有出现异常,则正常执行返回结果;如果上链结果出现异常,则进行下一步步骤303;
步骤303,判断异常次数是否超过阈值,阈值即最大重试次数;如果已重试次数超过最大重试次数,则执行步骤304,报告此次微服务调用发生了不可恢复异常;如果已重试次数未超过最大重试次数,则进行步骤305,记录异常次数,并触发重试调用操作。
重试调用操作之前,服务器计算根据重试的回避策略计算下一步的重试发起时间,例如,重试的回避策略为第一次重试时间间隔为1秒,第二次重试时间间隔为2秒,以指数幂的方式递增,高于30秒之后,重试时间间隔固定为30秒。重试间隔时间到达之后,重新发起区块链交互重试,重复步骤301。
对于区块链异步上链的数据,进行上链结果异常分析,并进行重试。通过对本次业务的上链结果进行确认,在出现异常业务数据时可以通知业务系统,以保证各业务数据的一致性、完整性。此外,区块链的区块生成需要一定的时间,业务系统需要更加复杂的异步业务处理来减少系统性的阻塞,本申请实施例中,异步回调业务系统的微服务接口的方式有助于设计清晰的业务逻辑。
作为第三示例,本申请实施例提供的业务信息处理方法的应用场景如图4所示;图4提供了一种系统架构,包括区块链系统、服务器以及客户端。
区块链系统包括智能合约映射、权限控制、流量控制、脱敏/加解密、异常处理、同步/异步方式控制六个模块;其中,各个模块的功能如下:
智能合约映射模块:管理区块链智能合约接口和微服务的映射关系,使用标准微服务的治理过程管理维护映射出来的微服务接口。
具体地,智能合约映射模块通过接收区块链系统的微服务注册操作,获取服务注册智能合约对应的微服务接口;在接收客户端的业务请求调用时,智能合约映射模块、权限控制模块、流量控制模块、脱敏/加解密模块、异常处理模块、同步异步请求控制模块,依次以请求链的方式向下调用,最终服务器调用区块链上的智能合约接口执行业务上链动作。
权限控制模块用于控制访问接口的身份认证以及权限控制。
流量控制模块用于记录服务接口的流量、速率,对达到流量、速率阈值的服务请求进行阻断。
脱敏/加解密模块用于按需对业务系统请求报文中特定的字段做脱敏处理和加解密处理。
异常处理模块处理用于服务器和区块链系统交互时发生的异常情况进行控制,采用重试调用的方法,确保业务处理正确。
同步异步请求控制模块用于控制智能合约的执行时,微服务客户端采取同步等待的方式得到执行结果或异步回调得到执行结果。
在调用微服务过程中,客户端发起对服务器发布的微服务接口进行调用,最终调用到区块系统的智能合约进行业务与区块链的交互,参见图5,具体过程如下:
步骤501,映射智能合约和微服务接口。
将智能合约映射为微服务接口,并为此映射定义属性信息。属性信息包括:流量控制阈值、超时处理策略、异常重试策略、异步回调业务的微服务接口。
具体地,映射过程定义微服务属性信息和智能合约的属性信息,所述微服务属性信息包括微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息、微服务的出参描述信息、微服务超时配置信息、异常重试次数信息、无法恢复异常回调配置信息、区块监听超时配置信息以及正常出块回调配置信息中的至少一种;所述智能合约属性信息包括智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息、区块链框架信息、智能合约接口的入参描述信息、智能合约接口的出参描述信息的至少一种。
步骤502,服务器发布微服务接口。
步骤503,客户端发起微服务调用。
业务系统(客户端)通过服务器发布的微服务接口和服务器进行交互。
步骤504,服务器根据预设对应关系(映射关系)查找微服务接口和智能合约的映射。
服务器根据微服务和智能合约的映射关系,获取调用控制阈值、超时处理策略、异常重试策略、异步回调等属性信息。
步骤505,服务器累加请求调用量。
服务器累加当前微服务接口的请求调用量,根据流量控制策略,验证是否需要进行限流。如果验证通过则进行下一步;流量控制流程如图4所述,在此不再赘述。
步骤506,判断是否超出阈值;
判断已经记录的访问次数加上本次的访问是否已超过预设请求阈值。
步骤507,未超出阈值,进行权限验证,包括身份验证和权限校验,如果验证通过则进行步骤509。
如果验证未通过,执行步骤508,限流错误,结束流程。
步骤509,判断是否为同步调用方式,若是,执行步骤520,调用智能合约返回业务系统智能合约的结果。
如果是异步方式,执行步骤510,服务器启用区块监听,根据区块号和区块链事务号,判断智能合约是否调用成功。如果监听超时,进入超时异常处理步骤。
在步骤520之后,服务器继续执行步骤521至步骤523:
步骤521,等到调用结果;
步骤522,判断调用是否发生异常:若是,执行步骤523,异常处理,服务器根据配置的异常处理策略进行重试上链;否则,执行步骤513,返回智能合约执行微服务的处理结果。
在步骤510之后,服务器继续执行步骤511至步骤513:
步骤511,创建区块监听;
步骤512,获取监听结果。
步骤513,返回智能合约执行微服务的处理结果。
本申请实施例可应用于区块链通讯领域及业务信息上链领域,为区块链服务网关提供数据通讯、异步重试、流量控制等微服务,业务通过微服务将数据上链,保证数据一致性。
本申请实施例中,基于微服务架构的业务处理流程,对调用其他的微服务接口具有便捷性;服务器将区块链的智能合约的访问等区块链相关的操作封装为微服务提供给客户端,减少了客户端对接区块链的改造工作量。通过预设对应关系,对各业务接入方(区块链系统)的业务服务目录配置间管理;通过对服务访问方式、访问方法、回调地址、超时设置、流量定义等项目的配置,实现对请求的分类流量控制,保证在高并发请求下,按配置实现流量分配,使网络资源得到合理利用。此外,还对各业务数据进行分类加解密控制,实现各业务数据的安全性。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种业务信息处理装置,如图6所示,该装置包括:
请求接收模块601,用于接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;
属性确定模块602,用于响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;
服务调用模块603,用于根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
在一个可选实施例中,所述装置包括:
接口发布模块,用于接收所述区块链系统的注册请求,获取所述注册请求所请求的第二微服务的属性信息;其中,所述第二微服务为所述智能合约中的微服务;
根据所述属性信息,建立与所述第二微服务对应的第二微服务接口;
发布所述第二微服务接口,以及将所述第二微服务接口与所述第二微服务的属性信息记载在所述预设对应关系中。
在一个可选实施例中,所述服务调用模块603包括:
请求累积子模块,用于确定所述第一微服务接口的请求调用量;
在所述请求调用量满足预设要求的情况下,对所述客户端进行鉴权;
在鉴权通过的情况下,调用智能合约执行所述第一微服务接口对应的第一微服务。
在一个可选实施例中,所述请求累积子模块用于:
在所述微服务调用请求为所述第一微服务接口的首次调用请求的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,且所述首次调用请求的与所述微服务调用请求之间的时间间隔超过预设时间窗口的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,所述首次调用请求的与所述微服务调用请求之间的时间间隔未超过预设时间窗口,且调用请求次数不超过预设请求阈值的情况下,确定所述请求调用量满足预设要求。
在一个可选实施例中,所述服务调用模块603包括:
处理子模块,用于根据与所述智能合约匹配的字段表达式,对所述微服务调用请求中的敏感字段进行脱敏处理和/或加密处理。
在一个可选实施例中,所述服务调用模块603包括:
同步调用子模块,用于在调用所述智能合约为同步调用的情况下,调用所述智能合约接口向所述客户端发送所述第一微服务的执行结果;
异步调用子模块,用于在调用所述智能合约为异步调用的情况下,监听所述智能合约是否调用成功;若监听超时,执行超时异常处理。
在一个可选实施例中,所述服务调用模块603包括:
重试子模块,用于在发生调用异常的情况下,执行重试调用操作。
在一个可选实施例中,所述微服务属性信息包括微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息、微服务的出参描述信息、微服务超时配置信息、异常重试次数信息、无法恢复异常回调配置信息、区块监听超时配置信息以及正常出块回调配置信息中的至少一种;
和/或
所述智能合约属性信息包括智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息、区块链框架信息、智能合约接口的入参描述信息、智能合约接口的出参描述信息的至少一种。
本申请实施例提供的业务信息处理装置能够实现图1至图5的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
本申请提供的业务信息处理装置,请求接收模块601接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;属性确定模块602响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;服务调用模块603根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。服务器通过智能合约接口调用智能合约执行微服务,满足客户端的使用需求。这样,微服务仍在区块链系统侧执行,当区块链系统为多个业务系统(客户端)提供服务时,可由区块链系统对其所提供的服务进行资源分配、资源控制等操作,根据业务需求合理分配网络资源,提升关键业务的处理效果和性能。
本申请实施例的业务信息处理装置可执行本申请实施例所提供的业务信息处理方法,其实现原理相类似,本申请各实施例中的业务信息处理装置中的各模块、单元所执行的动作是与本申请各实施例中的业务信息处理方法中的步骤相对应的,对于业务信息处理装置的各模块的详细功能描述具体可以参见前文中所示的对应的业务信息处理方法中的描述,此处不再赘述。
基于与本申请的实施例中所示的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一可选实施例所示的业务信息处理方法。
在一个可选实施例中,还提供了一种电子设备,如图7所示,图7所示的电子设备7000包括:处理器7001和存储器7003。其中,处理器7001和存储器7003相连,如通过总线7002相连。可选地,电子设备7000还可以包括收发器7004,收发器7004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器7004不限于一个,该电子设备7000的结构并不构成对本申请实施例的限定。
处理器7001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器7001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线7002可包括一通路,在上述模块之间传送信息。总线7002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线7002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器7003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器7003用于存储执行本申请实施例的计算机程序,并由处理器7001来控制执行。处理器7001用于执行存储器7003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (12)

1.一种业务信息处理方法,应用于服务器,其特征在于,包括:
接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;
响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;
根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
2.根据权利要求1所述的业务信息处理方法,其特征在于,所述方法包括:
接收所述区块链系统的注册请求,获取所述注册请求所请求的第二微服务的属性信息;其中,所述第二微服务为所述智能合约中的微服务;
根据所述属性信息,建立与所述第二微服务对应的第二微服务接口;
发布所述第二微服务接口,以及将所述第二微服务接口与所述第二微服务的属性信息记载在所述预设对应关系中。
3.根据权利要求1所述的业务信息处理方法,其特征在于,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
确定所述第一微服务接口的请求调用量;
在所述请求调用量满足预设要求的情况下,对所述客户端进行鉴权;
在鉴权通过的情况下,调用智能合约执行所述第一微服务接口对应的第一微服务。
4.根据权利要求3所述的业务信息处理方法,其特征在于,所述确定所述第一微服务接口的请求调用量,包括:
在所述微服务调用请求为所述第一微服务接口的首次调用请求的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,且所述首次调用请求的与所述微服务调用请求之间的时间间隔超过预设时间窗口的情况下,确定所述请求调用量满足预设要求;
在所述微服务调用请求不为所述第一微服务接口的首次调用请求,所述首次调用请求的与所述微服务调用请求之间的时间间隔未超过预设时间窗口,且调用请求次数不超过预设请求阈值的情况下,确定所述请求调用量满足预设要求。
5.根据权利要求3所述的业务信息处理方法,其特征在于,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
根据与所述智能合约匹配的字段表达式,对所述微服务调用请求中的敏感字段进行脱敏处理和/或加密处理。
6.根据权利要求3所述的业务信息处理方法,其特征在于,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在调用所述智能合约为同步调用的情况下,调用所述智能合约接口向所述客户端发送所述第一微服务的执行结果;
在调用所述智能合约为异步调用的情况下,监听所述智能合约是否调用成功;若监听超时,执行超时异常处理。
7.根据权利要求1所述的业务信息处理方法,其特征在于,所述调用智能合约执行所述第一微服务接口对应的第一微服务,包括:
在发生调用异常的情况下,执行重试调用操作。
8.根据权利要求1所述的业务信息处理方法,其特征在于,所述微服务属性信息包括微服务入口端点信息、微服务采用的协议信息、微服务的入参描述信息、微服务的出参描述信息、微服务超时配置信息、异常重试次数信息、无法恢复异常回调配置信息、区块监听超时配置信息以及正常出块回调配置信息中的至少一种;
和/或
所述智能合约属性信息包括智能合约接口标识信息、区块链网络地址信息、区块链网络身份信息、区块链框架信息、智能合约接口的入参描述信息、智能合约接口的出参描述信息的至少一种。
9.一种业务信息处理装置,其特征在于,包括:
请求接收模块,用于接收客户端通过第一微服务接口发送的微服务调用请求;其中,所述微服务接口为区块链系统通过所述服务器预先发布的;
属性确定模块,用于响应所述微服务调用请求,根据预设对应关系,确定与所述第一微服务接口对应的属性信息;其中,所述属性信息包括微服务属性信息以及智能合约属性信息;
服务调用模块,用于根据所述服务属性信息,通过所述区块链系统的智能合约接口,调用智能合约执行所述第一微服务接口对应的第一微服务。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
CN202210682071.9A 2022-06-15 2022-06-15 业务信息处理方法、装置及电子设备 Pending CN115086394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210682071.9A CN115086394A (zh) 2022-06-15 2022-06-15 业务信息处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210682071.9A CN115086394A (zh) 2022-06-15 2022-06-15 业务信息处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN115086394A true CN115086394A (zh) 2022-09-20

Family

ID=83253586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210682071.9A Pending CN115086394A (zh) 2022-06-15 2022-06-15 业务信息处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115086394A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757043A (zh) * 2022-11-29 2023-03-07 广发银行股份有限公司 一种日志数据记录方法及系统
CN116932233A (zh) * 2023-09-19 2023-10-24 金网络(北京)数字科技有限公司 一种智能合约的微服务架构

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109272324A (zh) * 2018-09-25 2019-01-25 深圳市元征科技股份有限公司 一种业务功能实现方法、系统、设备及计算机存储介质
CN110708371A (zh) * 2019-09-27 2020-01-17 支付宝(杭州)信息技术有限公司 一种基于区块链的数据处理方法、装置、系统及电子设备
CN111429254A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种业务数据处理方法、设备以及可读存储介质
US20200286162A1 (en) * 2018-05-31 2020-09-10 Launch Tech Co., Ltd. Method and server for managing shared vehicles
WO2021000416A1 (zh) * 2019-07-03 2021-01-07 平安科技(深圳)有限公司 基于管理平台的微服务预警方法、装置和计算机设备
CN112631803A (zh) * 2020-12-21 2021-04-09 杭州趣链科技有限公司 区块链的智能合约调用方法、装置、服务器和存储介质
CN114285859A (zh) * 2021-12-22 2022-04-05 建信金融科技有限责任公司 中间层区块链服务的数据处理方法、装置、设备及存储介质
CN114610598A (zh) * 2021-12-24 2022-06-10 亚信科技(中国)有限公司 测试方法、装置、电子设备及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200286162A1 (en) * 2018-05-31 2020-09-10 Launch Tech Co., Ltd. Method and server for managing shared vehicles
CN109272324A (zh) * 2018-09-25 2019-01-25 深圳市元征科技股份有限公司 一种业务功能实现方法、系统、设备及计算机存储介质
WO2021000416A1 (zh) * 2019-07-03 2021-01-07 平安科技(深圳)有限公司 基于管理平台的微服务预警方法、装置和计算机设备
CN110708371A (zh) * 2019-09-27 2020-01-17 支付宝(杭州)信息技术有限公司 一种基于区块链的数据处理方法、装置、系统及电子设备
CN111429254A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种业务数据处理方法、设备以及可读存储介质
CN112631803A (zh) * 2020-12-21 2021-04-09 杭州趣链科技有限公司 区块链的智能合约调用方法、装置、服务器和存储介质
CN114285859A (zh) * 2021-12-22 2022-04-05 建信金融科技有限责任公司 中间层区块链服务的数据处理方法、装置、设备及存储介质
CN114610598A (zh) * 2021-12-24 2022-06-10 亚信科技(中国)有限公司 测试方法、装置、电子设备及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757043A (zh) * 2022-11-29 2023-03-07 广发银行股份有限公司 一种日志数据记录方法及系统
CN115757043B (zh) * 2022-11-29 2023-07-21 广发银行股份有限公司 一种日志数据记录方法及系统
CN116932233A (zh) * 2023-09-19 2023-10-24 金网络(北京)数字科技有限公司 一种智能合约的微服务架构
CN116932233B (zh) * 2023-09-19 2023-12-08 金网络(北京)数字科技有限公司 一种智能合约的微服务架构

Similar Documents

Publication Publication Date Title
CN111163129B (zh) 一种基于跨链网络的资源处理方法及装置
CN115086394A (zh) 业务信息处理方法、装置及电子设备
CN111143087B (zh) 一种接口调用方法、装置、存储介质和服务器
CN111614624B (zh) 风险检测方法、装置、系统及存储介质
CN110650216B (zh) 云服务请求方法和装置
US9769175B2 (en) Accessing privileged objects in a server environment
EP2862119B1 (en) Network based management of protected data sets
WO2021057005A1 (zh) 用于发布智能合约的方法和装置
CN114240657A (zh) 数据处理方法、区块链、终端设备及存储介质
CN114221995A (zh) 服务调用方法、装置及电子设备
CN109725887B (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN114040032A (zh) 一种协议转换方法、系统、存储介质及电子设备
WO2019071927A1 (zh) 授权信息获取方法、装置、电子设备及可读存储介质
CN111062057A (zh) 一种中立的数据应用方法、装置以及系统
WO2023092316A1 (zh) 一种第三方服务登录方法、装置、终端设备及存储介质
CN114024692A (zh) 签约方法、装置及系统
TWI505128B (zh) Method and System of Intelligent Component Library Management
CN113987035A (zh) 区块链的外部数据访问方法、装置、系统、设备和介质
CN113873029B (zh) 密码服务监控方法、服务器、密码机、系统和存储介质
CN115883200B (zh) 一种日志的安全管理方法、装置、平台及介质
US20230291558A1 (en) Trusted computing-based local key escrow method, apparatus, device and medium
CN115174665B (zh) 登录状态确定方法、装置、设备及存储介质
CN110995791B (zh) 交互式医疗信息管理方法及系统
US20240104558A1 (en) Blockchain transaction execution method and apparatus, program product, device, and medium
CN109901935B (zh) 一种与USB Key进行通信的方法及设备

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