9 SaaSC架构下合约当事人依据智能法律合约的判定结果提供服务和支付服务费。服务提供方依据合约条 款的规定提供服务,服务消费方则依据合约条款获取服务进而消费服务,并触发智能合约完成转账功能。消 费方可根据实际需求检索服务承诺,通过平台签署智能法律合约以获取所需的软件服务。 4.1服务发现合约条款 @条款2:乙方向丙方提交服务发现请求,丙方有义务向乙方提供服务列表。 term no2 1:Consumer can Request(Discover) term no2 2:Platform must Discover when Consumer did Request(Discover) while grant Service::useRight to Consumer where response::ServiceName is WeatherForecast and response::ServiceLevel is good. where response::code is 204. 图7服务发现条款 Fig.7 Term of service discovery 如图7所示,服务发现条款规定服务消费方(乙方)可调用平台(丙的服务发现接口,丙方有义务 返回匹配的服务列表。其技术原理是服务注册中心提供服务发现接口调用地(图4左侧getlnstances接口), 消费方通过服务发现客户端发送HTTP GET请求,此过程触发合约引警记绿子条款no21中请求(Request) 动作。服务发现(Discover)过程可以指定服务ID进行精准匹配, 或绪根据检索信息进行模糊匹配,包括: 1)服务功能匹配 服务功能匹配的种类包括:定购服务数量、时间长短、 特定服务特征等,即请求中携带用户检索与上述 种类相关的关键字,丙方根据关键字信息返回匹配后的相关列表,若服务提供方拥有多个地区的运营服务器, 服务发现客户端可根据服务器所属地区提供对应服务实例的匹配结果。 2)服务质量匹配 匹配的服务将按照质量由高到低的顺序依次显示。服务质量评价指标根据平台统计数据收集,包括:该 服务以往使用人数、是否产生违约、用户评分等。 合约引擎通过子条款o22监听注册中心的服务发现动作。该子条款由客户端HTTP GET请求触发,伴 随动作将合约中记录的服务使用权授权给销费方。在动作执行结果产生返回值时检查是否返回成功状态码(即 前述code:204),以保证客户端请求结果被成功响应。 服务发现阶段结束并进人下⑦段的标志是消费方为选定的服务预付款。预付款作为消费方履行服务约 定的保证金交由平台暂存。完成预付款的过程需要服务参与方对合约条款声明达成一致,此阶段称为合约订 立阶段。合约订立是服务参与方对服务合约中的意思表示进行“要约承诺”的过程:在技术上,此阶段需采 用密码学手段保障会钧订合规性,如使用身份认证技术验证参与方的身份使其不可伪造:采用数字签名保 证当事人对签订服务谷药行为不可抵赖:借助区块链存证以保证签署确认后的服务合约不可篡改。 4.2服务发现缓存机制 服务发现是指服务消费方通过向平台发送检索请求获取所需服务的过程。平台负责维护已注册服务列表, 该列表的数据结构为键值对映射表。微服务架构的消费方无需事先知晓服务P地址,而是交由服务发现客户 端(图8中Eureka Client).作为代理定期与注册中心同步缓存服务列表,通过检索服务缓存获取服务注册信 息与实际P地址等匹配信息。服务发现客户端缓存的服务列表需要与注册中心的服务列表保持最终一致,客 户端缓存服务列表的获取包括以下两种模式: 1)全量更新服务列表:客户端请求全部应用的服务注册信息。如果注册中心的当前缓存中没有该信息, 则向上一级注册表请求得到服务注册信息,并且在当前一级添加缓存。当同步过程检查出列表中各个状态对9 SaaSC 架构下合约当事人依据智能法律合约的判定结果提供服务和支付服务费。服务提供方依据合约条 款的规定提供服务,服务消费方则依据合约条款获取服务进而消费服务,并触发智能合约完成转账功能。消 费方可根据实际需求检索服务承诺,通过平台签署智能法律合约以获取所需的软件服务。 4.1 服务发现合约条款 图 7 服务发现条款 Fig.7 Term of service discovery 如图 7 所示,服务发现条款规定服务消费方(乙方)可调用平台(丙方)的服务发现接口,丙方有义务 返回匹配的服务列表。其技术原理是服务注册中心提供服务发现接口调用地址(图 4 左侧 getInstances 接口), 消费方通过服务发现客户端发送 HTTP GET 请求,此过程触发合约引擎记录子条款 no2_1 中请求(Request) 动作。服务发现(Discover)过程可以指定服务 ID 进行精准匹配,或者根据检索信息进行模糊匹配,包括: 1)服务功能匹配 服务功能匹配的种类包括:定购服务数量、时间长短、特定服务特征等,即请求中携带用户检索与上述 种类相关的关键字,丙方根据关键字信息返回匹配后的相关列表。若服务提供方拥有多个地区的运营服务器, 服务发现客户端可根据服务器所属地区提供对应服务实例的匹配结果。 2)服务质量匹配 匹配的服务将按照质量由高到低的顺序依次显示。服务质量评价指标根据平台统计数据收集,包括:该 服务以往使用人数、是否产生违约、用户评分等。 合约引擎通过子条款 no2_2 监听注册中心的服务发现动作。该子条款由客户端 HTTP GET 请求触发,伴 随动作将合约中记录的服务使用权授权给消费方。在动作执行结果产生返回值时检查是否返回成功状态码(即 前述 code: 204),以保证客户端请求结果被成功响应。 服务发现阶段结束并进入下一阶段的标志是消费方为选定的服务预付款。预付款作为消费方履行服务约 定的保证金交由平台暂存。完成预付款的过程需要服务参与方对合约条款声明达成一致,此阶段称为合约订 立阶段。合约订立是服务参与方对服务合约中的意思表示进行“要约-承诺”的过程;在技术上,此阶段需采 用密码学手段保障合约订立合规性,如使用身份认证技术验证参与方的身份使其不可伪造;采用数字签名保 证当事人对签订服务合约行为不可抵赖;借助区块链存证以保证签署确认后的服务合约不可篡改。 4.2 服务发现缓存机制 服务发现是指服务消费方通过向平台发送检索请求获取所需服务的过程。平台负责维护已注册服务列表, 该列表的数据结构为键-值对映射表。微服务架构的消费方无需事先知晓服务 IP 地址,而是交由服务发现客户 端(图 8 中 Eureka Client)作为代理定期与注册中心同步缓存服务列表,通过检索服务缓存获取服务注册信 息与实际 IP 地址等匹配信息。服务发现客户端缓存的服务列表需要与注册中心的服务列表保持最终一致,客 户端缓存服务列表的获取包括以下两种模式: 1)全量更新服务列表:客户端请求全部应用的服务注册信息。如果注册中心的当前缓存中没有该信息, 则向上一级注册表请求得到服务注册信息,并且在当前一级添加缓存。当同步过程检查出列表中各个状态对 @@条款 2:乙方向丙方提交服务发现请求,丙方有义务向乙方提供服务列表。 term no2_1: Consumer can Request(Discover) term no2_2: Platform must Discover when Consumer did Request(Discover) while grant Service::useRight to Consumer where response::ServiceName is WeatherForecast and response::ServiceLevel is good. where response::code is 204. 录用稿件,非最终出版稿