轻量级C++微服务框架的设计

轻量级C++微服务框架的设计


2024年4月1日发(作者:)

2019

8

计算机工程与设计

COMPUTER

ENGINEERING

AND

DESIGN

Aug.

2019

40

8

Vl

40

No.

8

C++

微服务框

的设计

唐稳

刘艳辉

华北计算技术研究所

应用支撑技术研发部

北京

100083

为满足高实时

低延迟软件系统的上云要求

设计轻量级

C++

微服务框架

。基于插件技术!

设计服务治理插件

堆栈

运行支撑中间件插件集

微服务插件动态组装等技术机制

设计

C++

微服务之间的

RPC

交互接口

支持微服务治

理能力的灵活裁剪和增加

支持运行支撑中间件的动态接入

RPC

吞吐率

响应时间等方面

与业界主流微服务框架进

行性能对比测试与分析

该方法表现出明显的性能优势

关键词

微服务框架

PaaS

云平台

远程过程调用

插件

服务治理

运行支撑中间件

中图法分类号

TP311.1

文献标识号

A

文章编号

1000-7024

2019

08239606

doi

10.

16208/j.

issnl

000-7024.

2019.

08.

049

Design

of

lightweight

C++

microservices

framework

TANG

Wen

,

LIU

Yan-hui

(Research

and

Development

Department

of

Applied

Support

Technology,

North

China

Institute

of

Computing

Technology,

Beijing

100083,

China)

Abstract

To

meet

the

requirements

of

cloud

computing

in

high

real-time

and

low

latency

software

systems,

lightweight

C+

+

nplug-intechnology

&

Cervicemanagementplug-inCtack

&

runningCupportmiddle-

ware

plug-in

set,

microservices

plug-in

dynamic

assembly

and

other

technical

mechanism

were

designed,

and

RPC

interaction

in­

terface

between

C+

+

microservices

was

also

designed.

Flexible

cutting

and

increasing

of

micro

service

governance

capability

was

supported.

Dynamic

accession

of

runtime

support

middleware

was

supported.

The

performance

comparison

test

and

analysis

were

carriedou@wih@hemains@ream

microservicesframeworkof@heindus@ryfrom@heperspecivesofRPC@hroughpu@

response

time

&

and

so

on.

The

results

show

obvious

performance

advantages.

Key

words

microservices

framework

PaaS

cloud

platform

RPC

plug-in

service

management

running

support

middleware

6

引言

作为微服务的支撑平台

微服务框架主要解决微服务

它组件集成的机制和方法

目前对此类框架没有明确定义

,

在本文中我们称之为轻量级微服务框架

上述轻量级微服务框架主要面向互联网应用和企业应

开发与测试

微服务

RPC

交互

微服务治理及微服务运行

支撑等方面的问题

可极大降低微服务应用的开发

设计

测试和运维管理成本

例如

Spring

Cloud

[1

]

就是一个完整的

一般不适合用在仿真训练等领域

在这些领域

业界

大多采用

C+

+

语言进行开发

这是因为作为一种编译型

语言

C+

+

Java

Scala

等解释型语言具有更好的运行

效率

可以提供更高的性能

从而满足高实时

低延迟等

特性

目前业界尚无支持

C+

+

语言的轻量级微服务框架

,

微服务框架

由于微服务架构的复杂性,

很多微服务框架并没有提

供完整的支撑平台

例如阿里的

Dubbo也和华为的

CSE

cloud

service

engine

3

此外

还有一些微服务框架仅提

供了微服务在一个进程内的开发与集成框架

一般只支持

所以

为了支持此类系统的微服务集成

本文提出了一种

基于

C++

语言的轻量级微服务框架设计方案

一种开发语言

,例如

NutzBoot

RedKale

等开源项目支持

Java

语言

Lmkerd

开源项目支持

Scala

语言这类框架

1

研究背景

1.1

微服务架构

旨在降低微服务的开发成本

并提供了与PaaS

云平台的其

收稿日期

20180814

修订日期:

2018-0917

微服务架构是相对于单块

Monolithic"

架构提出的

作者简介

唐稳

974-

,

湖南长沙人

硕士

高级工程师

研究方向为云平台

软件中间件

刘艳辉

1972

-

,

河北秦皇岛

硕士

高级

程师

,研究方向为软件中间件

E-mail

:

wentang9880@

40

卷第

8

唐稳

刘艳辉

轻量级

C++

微月艮务框架的设计

2397

服务

的能力

C++

微服

j

务插件|

新架构模式

其定义请参照

Martin

Fowler

的文献

6

)

服务架构能够解决单体式应用维护升级困难

设计开发成

本高

软件耦合度高等一系列问题

是分解复杂应用的一

C++

微服

务插件

种全新架构

1.

2

平台即服

(

platform-as-a-service

,

PaaS

)

PuS

指的是将软件研发和运行的平台作为一种基础服

轻量级

C++

微服务框架

RPC

API

服务治理插件堆栈

运行支撑中间件

API

接口

插件集成

API

接口

务提交用户

可以看成是组件和中间件层面的服务封装

运行支撑中间件插件集

其优势在文献中有详细介绍

1.3

微服

务框架与

PaaS

云平台

为了支持微服务架构

PuS

云平台通常集成了微服务

框架

例如

CloudwareHub

()

总的来看

PaaS

云平

台中

微服务框架具有如下能力

(

1

)

持续集成和持续交付支撑

实现自动构建

部署

配置

测试和运行微服务

通常需要提供自动化运行的脚

并与终端集成开发环境结合

(2

)

远程过程调用

(

remote

procedure

call

RPC

)

(

0

)

包含同步

异步的

RPC

调用与提供

包括

HTTP

TCP

等多种传输协议的支持

(3

)

服务治理

包含服务注册发现

服务负载均衡

服务弹性伸缩

服务故障切换

服务路由

服务流程编排

服务安全

服务监控

服务调用链跟踪等方面

*

(

1

)

(4)

运行支撑

包含日志中间件

消息中间件

分布

式缓存中间件

关系型数据库

/NoSQL

数据库访问中间件

服务

1.4

轻量级

C++

微服务框架

本文设计的轻量级

C++

微服务框架是一个功能可扩

可裁剪的微服务运行本地进程容器

可被很多

PaS

能力

(1

)

为微服务之间的交互提供适配多种传输协议的

多种请求模式共存的一体化

C++RPC

调用框架

(

2

)

在进行

RPC

交互时

可以按需动态接入

PaaS

平台中服务治理的相关服务

尽量以透明的方式提供给上

C++

服务

3

)

PaaS

C++API

的方

服务调用

(4

)

可以按需在一个进程内集成一个或多个

C++

服务

实现

C++

微服务的动态柔性组装

2

框架设计

如图

】所示

轻量级

C++

微服务框架采用了基于插

件技术的设计方法

4

个部分组成

其中插件框架提供

C++

插件集成基础环境

。服务治理代理堆栈包括一组

代理插件

当微服务之间进行

RPC

交互时

代理堆栈可透

访

PaaS

的服务

服务的能力

行支撑中间件插件集包括一系列代理插件

C++

API

的方

C+

+

服务

访

PaaS

插件框架

服务注册

加解密调用链

消息收发

/

发现

/

访问控制

/

运行状态

/

缓存处理

.SZ.

.................

PaaS

7

苹台爻撞服务

XZ

/

数据访问

治理服务

.......

...

葛亍爰撑中间件服务

1

轻量级

C++

微服务框架设计

2.1

插件框架设计

插件技术的核心在于对程序的框架不进行改变

却能

实现对其功能的增加与删除

使用公开的插件接口规范,

无论是企业还是个人都能实现所需的功能插件进行事务处

理和管理

即能提供真正意义上的开放式和简易式

使用

(

2

)

3

C++

微服务框架完全基于插件技术进行设计

将服务

治理

微服务

RPC

调用

运行支撑中间件等方面的能力,

以及业务微服务

均以

插件

方式进行封

从而支持整个

微服务程序

动态灵

活组

插件框架是微服务框架的核心模块

其设计参照了

OSGi

规范

,对插件的概念模型进行了规定

对插件集成

API

接口

插件生命周期模型

插件描述文件格式以及插

件目录结构进行了规范

插件框架完全基于

C++

语言实

C++API

(

1

)

2

3

层概念模型来描述一个插件对外可见的部分

插件

服务

模 ,

C++

动态连接库或者可执行程序

。服务表示了插件在运行

过程中动态产生的一个

C++

对象

同一个插件可以创建

服务

了其

访

服务

一个

C++

抽象类指针

一个服务可以提供多个接口。

插件框架下,

服务提供者通常基于名称注册自己的服务接

口,

服务消费者发现某个名称的服务接口,

并调用该接口

访

服务

(2

)

插件

API

接口

包括两个部分

插件需要实现的

通用

C++

API

接口

包括了插件初始化和结束化接口

插件框架实现的插件集成

C+

+

API

接口

包括了插件查

找、

插件解析

插件状态获取

服务注册

服务查找

、服

务注销

内存申请

内存释放等接口

(3

)

插件生命周期模型

包括了插件安装

、解析、

2398

计算机工程与设计

(5

)

插件目录

2019

规定

一个插

常包

含了

bin

log

res

config

manifest

子文件夹

分别存放

插件二进制

插件配置

以及插

2.2

务治

理插件堆栈设计

微服务治理能力包括了服务注册发现

服务负载均衡

服务路由

服务安全

服务监控等功能

RPC

交互时

&

这些功能中的

服务

分需要被调用,

2

插件框架设计

的治理行为

为了降低

C++

微服务的开发成本

&

些功能由

自动调用

服务

明。

不同微服务对治

有的微服务可能需要

、激活、运行

关闭

卸载等阶段

插件框架基于该生

期模型对插

理能力的需要可能不同

私有

管理

协议的

&

需要

服务配置

析能力,

(4

)

插件描述文件格式

基于键值对模型

对插件的

有的微服务需要

据加解密能力等

框架需要支持治

名称

厂商

版本

便于插件

见表

I

-

理能力的

灵活裁剪

框架对插

管理

对插

设计了服务治理插件堆栈

由一系列治理插件和

组成

理插件均

方面

理能力

,

服务发

均衡插

服务监

1

插件描述文件示意

Manifest-

V

ersion

:

1.

0

Bundle-Name

xxService

控插件

数据

密插件

调度插

为了以

:

的方式管理

所有治理插件均实现

RPCC

+

+

API

接口,

Bundie-SymbolicName

:

xx. xx.

xxService

Bundle-Version

1.0.0

以在不修改的前

根据配置灵活地增加或

-

理能力

了整

良好的可扩展性

有协

维护性

Bundle-Vendor

xx

Bundle-Copyright

:

版权所有

c

20182019,

xx

Bundle

Activator

:

xx_Bundle_

Activator

library

=xxSo

由一组数据

插件组成

包括

HT

-

TP

TCP

UDP

Bund:e-RunLeve:

5

Bund:e-LazyStart

fa:se

应用可以根据

质量

性能

服务间互操作性等方

面的要求确定需使用的

插件

Require-Bundle

:

yy.

yy.

yyService,

zz.

zz.

zzService

如图

3

所示&以两个微服务之间的

RPC

交互为例

明微服务治理插件堆栈的工作原理。

服务调用者实例

A1

服务提供者实例

Bl

C++

微服务插件

A

RPC

C++

API

服务发现插件

负载均衡插件

C++

微服务插件

B

[PC

6++

API

I

访问肃

y

插件

HE

数据加解密插件

服务监控插件

传输调度插件

HTTP

插件

数据传输插件集

TCP

数据传输插件集

插件

HTTP

插件

TCP

插件

服务发吗

]

状态上报

服务事币

*0

服务注册犬态上报服务事件彳

PaaS

云平台支撑服务

治理服务

3

服务治理插件堆栈工作原理

40

卷第

8

唐稳

刘艳辉

轻量级

C+

+

微服务框架的设计

2.

3

RPC

C+

+

API

口设计

RPCC++API

2399

-

(I

)

在服务调用方

C++

微服务实例

A1

的插件

A

RPC

接口发起一次向微服务

B

的基于

TCP

协议的

RPC

服务

RPC

用,

发出调

请求

R

(D)

A1

的服务发现插件拦截到请求

R,

插件与

PaaS

访问的

API

接口

,为了保证服务治理插件

的动

态组

装,

要求所有的治理插件都需要实现该接口

RPC

C+

+

API

接口在设计时遵循了两个原则

(1

)

支持多种

RPC

请求模式

包括同步

异步

投递

云平台支撑服务

注册发现服务联系

获取

微服务

B

群的所有实例信息以及负载均衡策略信息

将这些信息补

充到请求

R

3

种模式

,分别提供请求的高可靠

实时和高实时

Qos

(传

(3)

A1

的负载均衡插件拦截

请求

R

,

根据微服务集

B

注册的实例信息以及策略

选择了服务实例

B1

作为请

输服务质量

)

其中同

步模式意味着

RPC

请求方在发送完

请求后阻塞

,直到接收到处理结果

异步模式意味着

RPC

的接收处理方

将微服务实例

B1

的连接方式补充到

请求

R

(4

)

A1

的数据加密插件拦截

请求

R

RPC

请求

进行加密

并将加密的密文替换掉

R

中的原始

RPC

请求

明文

(5

)

A1

的服务监控插件拦截到请求

R

R

中添加相

应的服务调用链信息

同时将调用链信息上报

PaaS

云平台

链监控服务

(6

)

A1

的传输调度插件拦截到请求

R

从中获取到

B1

的连接方式,

选择数据传输插件集中的

TCP

插件进行请求

R

发送

(7

)

A1

TCP

插件与

B1

TCP

插件

得联系

请求

R

发送

服务提供者

B1

(8

)

B1

TCP

插件接收到请求

R

并交给传输调度

插件

(9

)

B1

的传输调度插件确认接收到了一个完整的

RPC

请求

(

10

B1

服务

监控插

请求

R

R

应的

服务调

PaaS

台调

链监控服务

(II

)

B1

数据加

解密

件拦截到

请求

R

RPC

求进行解密

并将解密的明文替换掉

R

中的

RPC

请求

密文

(12

)

B1

的访问

控制插

件拦截到

请求

R

基于

发起调

的用户名

服务

A

的名称以及

RPC

调用的信息进行权限判

确认该请求

R

是合法的请求

(13

)

B1

的微服务插件

B

最终接收

请求

R

并进行

处理

(14

)

B1

R

的处理结果以相同的方式通过服务治理

插件

最终

达实例

A1

的微服务插件

A

可见

请求和应答在微服务框架的服务治

插件

堆栈中穿行

成了

服务发现

负载均衡

数据加解密

服务监控

访问控制等一系列治理任务

这些治

任务

微服务框架自动调用相关的插件完成

在整个过程中

服务插件仅调用

RPC

C+

+

API

即可

实现了治理服务对

上层微服务的透明化支持

方在发

送完

求后阻塞

一旦对方确认

到该请求即

解除阻塞

后面处理结果到达时会以

调的方式通知

RPC

请求方

投递模式意味着

RPC

请求方在将请求发送到本地

缓冲区

后继续

执行

面处理结果到

达时

会以

回调

的方式

通知

RPC

请求方

可见

从并发请求支持方面,

投递优于

异步

异步优

于同

从开发难度方面

,同

步比异步简单

,

异步比投递简单

实际开发过程中采用何种模式需要根据

开发人员水平和软件运行技术要求综合考虑

(2

)

采用字典类参数传递个性化信息。

RPC

所有

C++API

接口函数中均设计一个字典类参数

由一组键值

对组成

并且可以嵌套

键值都可以灵活定义

便于框架

向治理插件传递个性化信息

例如框架需要将找到的服务

集群信息传递到负载均衡插件

需要将调用链信息传递到

传输调度插件等

字典类参数可以用相同的数据结构描述

不同类型的信息

特别适合于类型不确定的接口定义

时还具备很强的可扩展性

确保了框架能以一致的接口集

成所有的治理插件

以异

RPC

求为例

其接口定义见表

2

D

异步

RPC

请求接口定义

〃异步

RPC

请求

C

接口

virtual

int

_

cdecl

AsynCall

(

char

'

serviceName

&

//

微服务名称

IMemBufReader

*

req

,

//

请求报文

,含内容和长度

Dictionary'

callCtxt,

//

字典类参数

表示请求上下文

int

timeout

=

1

//

超时

单位为毫秒

NntproLevel=

LEVEL

_

EXCHANGE

_

GENERAL

//

求优先级

)

=0

;

24

运行支撑中间件插件集设计

运行支撑中间件包括了日志记录

状态缓存

消息交

NoSQL

数据库访问等服务

其特点是提供

C+

+

API

接口

微服务按需调用

不同的微服务对运行支撑中间件的需求并不完全相同

,

有的需要

状态

有的需要

志记录

而且同一类中间件可能存在多个实现

例如消息

2400

计算机工程与设计

务实例基于

C++

语言编写

2019

中间件就有

Kafka

.

RocketMQ

ZeroMQ

等项目

API

不一定相同。

如图

4所示

&

C++

微服务框架

不同种类

不同

RPC同步请求的过程是

RPC

同步请求微服务将

的中间件代理程

C++

一个

1KB

字节的字符串传递给

RPC

请求处理微服务

RPC

请求处理微服务

封装

&

为不同的微服务

了一组恰能满足其个性

字符串作为处理

发回给

RPC

同步

需要的

服务调用者实例

请求微服务

RPC同步请求微服务继续

服务均在单线程场景

请求

3

&

经过多轮测试,

统计吞吐率(每秒

RPC

处理次数)和请求处理响应时间

C++

微服务插件

A

HE

运行支撑中间件

API

接口

日志

API

状态缓存

API

……

运行支撑中间件插件集

日志代理插件

状态缓存代理插件

日志信息状态信息在线消息'

NoSQL

数据

PaaS

云平台支撑服务

运行支撑中间件服务

日志服务

状态缓存服务

4

运行支撑插件集设计

为了支持中间件代理的插件化封装与接入,

需要将代

理程序与插件框架进行适配

为了支持代理插件的自动启

需要动态获取中间件代理的初始化运行参数

避免手

工配置这些参数

,提高运维自动化水平

(

)

与插件框架适配

需要基于中间件代理程序已有

API

接口

按插

要求

API

接口的支持

此外

插件的描述

目录

足插件框架的集成要求

(2)

初始

态获取

参数可能包括中间件

代理配置文件以及中间件初始化函数的参数

。在代理插件

微服务系统需要

注册发现服务注册这些参数

-

理插

&

以直接获取到初始化参数了

3

性能实验

为了说明轻量级

C++

微服务框架在性能上优于业界

主流微服务框架&并且满足特定领域的高实时

低延迟交

互与处理需求

本文基于同步模式与业界主流微服务框架

RPC

调用性能进行了对比

本文搭建了性能测试环境

安装了

Dubbo

微服务框架

SpringCloud

微服务框架

轻量级

C+

+

微服务框架及相关

的模

服务

。为了保证测试结果的公平性,

3

个框

架及微服务均部署在同样配置计算机的

Docker

容器中

针对每个框架均设计一组功能相同的模拟测试微服务

&

每组微服务均包含

RPC

同步请求和RPC

请求处理两个微

服务实仮

-

其中

Dubbo

SpringCloud

框架对应的微服务

实例基于

Java

语言编写

&

C++

微服务框架对应的微服

(每次

RPC

处理所消耗的时间)

取平均值

结果见表

3

3

单线程测试

微服务框架

服务

吞吐

请求处理

语言

/tps

响应时间

/ms

Dubbo

Java

1456

0.6%7

SpringCloud

Java

506

1.976

轻量级

C++

微服务

)

C++

2%49

(同

0.351

&

基于同

&

C++

服务

求吞吐率和响应时间指标两个方面均优于另外两个框架,

主要原因在于作为编译型语言

C+

+

比基于JVM

虚拟机

的解释型语言

Java

的运行效率更高

请求处理响应

步分析

由于

RPC

请求处理微服务仅仅将请求作为

了返回

求处理

0

&

的请求处理响应

仅仅包括了数据传输和路由分派的时间

训练

控制系统所能

的请求响应时

间在几毫秒到几十毫

&

而导弹模拟

军事预警系统

更短

基于

&

假设

求需要由

6

服务进行处理

服务对请求处理时

间约为

1

ms

预计

Dubbo

的请求处理响应时间约为

6

*

(1

+

0.687

)

=

10.12

ms/

,单个服务吞吐率约为

1000/

10.

12

=

99

/s

预计

SpringCloud

的请求处理响应时间约

为6

*

(1

+

1.976

)

=

17.

86

ms/

次,

单个服务吞吐率约为

1000/17.

86

=

56

/s

预计

C+

+

微服务框架的请求处理

响应时间约为

6

*

(1

+

0.

351

)

=8.

11

ms/

次,

单个服务吞

吐率约

1000/8.11=123

/s

可见

轻量级

C++

微服

另外两

于高

应用

'

4

结束语

本文设计了基于

C++

语言的轻量级微服务框架

&

岀了服务治理插件

微服务

插件动态组装等设计思想

对微服务框架的

C+

+

API

了讨论

&

C++

微服务的开发与集成提供了

完整的插

方案

可以应

服务系统在服务治理

撑等方面的

需求。

对性能的

RPC

处理的吞吐率

响应时间等方面性能良好

明显优于

的微服务

可以为基于

C++

语言的模

'

指挥控制等领域应用的高实时

低延迟等交互与处理

需求提供支撑

具有较好的实用价值与应用前景

后续可

[

7

)

ZHANGJian

,

XIETianjun7Researchofplatformasaservice

architecturebasedontheDocker

[

J

)

7InformationTechnology

以对微服务组播交互支持

C++

微服务云开发与测试环境

等方面进一步展开研究

andInformatization

,

2014

(

10

)

131-132

(

inChinese

)

7

[

谢天钧

.

基于

Docker

的平台即服务架构研究

[J).

信息

,

2014

(

10

)

131-1327

)

参考文献

[1

)

Pivotal

Software

Inc.

Spring

cloud

[EB/OL).

https

/

/

2018.

[

8

)

ZHANG

Jing

,

HUANG

Xiaofeng7

Application

framework

basedonmicroservice

[

J

)

7Computer

Systems

f

Applications

,

2016

,

25

9

)

266-267

(

inChinese

)

7

[张

,

7

[2

)

The Apache

Software

Foundation.

Apache

Dubbo

[EB/OL

)

.

h

t

p

"

//

/

2018

.

基于微服务的应用框架计算机系统应用

2016

,

25

9

)

266-2677

)

[9

)

GUO

Dong

,

WANG

Wei

,

ZENG

Guosun.

A

new

cloudware

[3

)

HUAWEI.

Software

Technology

Co.

Ltd.

Cloud

container

en

­

gine

[

EB

/

OL

)

.

h

t

p

"

//

/

product

/

PaaSplatformbasedonmicroservicesarchitecture

[

J

)

7Netinfo

Security

,

2015

(11

)

15-20

(in

Chinese

)

.

[郭栋

王伟

cce.

html,

2018

(in

Chinese)

.

[华为软件技术有限公司.云

基于

服务

PaaS

[

J

)

容器

[EB/OL

)

.

http

//www.

huaweicloud.

com/pro-

duct

/

2018.

)

网络安全

2015

11

)

15-20..

[

10

)

LIChunyang

,

LIU

Di

Unifiedapplicationdevelopmentplat-

formbasedon

micro-servicearchitecture

[

J

)

ComputerSys

­

[

4

)

ervicesframeworkopensourcesoftware

library

[

EB

/

OL

)

.

h

t

ps

"//

www.

oschina.

net

/

project

/

tag

/

tems

f

Applications

,

2017

,

26

(

4

)

44-45

(

in

Chinese

)

461/microservice

,

2018

(in

Chinese

).

[开源中国.微服务框

[李春阳

刘迪

.

基于微服务架构的统一应用开发平台

系统应用,

2017

,

26

(

4

)

44-45

)

架开源软件库

[EB/OL).

https

:

//www.

oschina.

net/pro-

ject

/

tag

/

461

/

microservice

2018.

)

[

11

)

TAN

Yimin

Designanddevelopmentofplatformizationser-

viceframeworkbasedon

microservicearchitecture

[

D

)

Bei-

jing

BeijingJiaotongUniversity

,

2017

32-35

(

inChinese

)

[5

)

ZHANG

Jing

,

WANGYanjie

,

HUANG

Xiaofeng.

The

imple-

mentof

application

framework

based

on

microservice

[

J

)

7

ComputerSystems

f

Applications

&

2017

&

26

(

4

)

82-86

(

in

[谭一鸣.基于微服务架构的平台化服务框架的设计与实现

Chimse

)

.

[张晶

王琰洁

黄小锋.一种微服务框架的实现

[D)

.

北京

北京交通大学

2017

3235..

[12)

WANG

Meisu.

Research

and

implementation

of

snmp

fetue

计算机系统应用

2017

,

26

(4

)

82-86..

[6)

WANG

Lei.

Archtecture

and

practise

of

microservice

[M).

Beijing

Publishing

HouseofElectronicsIndustry

,

2016

14

­

plug-in

[

D

)

.Beijing

Beijing

UniversityoMPostsand

Tele-

communications

&

2016

:

25-26

(in

Chinese

)

.

[王美苏.功能

15

(in

Chinese

)

.

[王磊.微服务架构与实践

[M

)

.

北京

插件化的研究与实现

[D)

.

北京

北京邮电大学

2016

25-267

)

子工业出版社

2016

1415.

(上接第

2311

)

[10)

YANG

Jiahui,

LIUFang'ai.

Collaborative

filtering

algorithm

basedonpapcoe

ficientandJaccardcoef

icient

[

J

)

7Computer

跟踪算法上海交通大学学报&

2018

,

52

(7

)

801

-

80T.

)

Application,

2016,

36

(7)

20162010

(in

Chinese).

[杨家

[

12

)

ZHANG

Mingjie

,

clefiltertracking

methodbasedongraphmodel

[

J

)

.ComputerApplicationRe

­

,刘方爱

.

基于巴氏系数和

Jaccard

系数的协同过滤算法

[

J

)

.

应用,

2016

,

36

7

)

2006-2010.

)

[11

)

SUN

Yiqi

,

WU

Aiguo

,

DONG

Na

,

et

al.

Human

hand

tracking

algorithm

based

on

particlefilterandimproved

search

,

2016

,

33

(2

)

591-593

(in

Chinese

)

.

[张明杰&

宝生.一种基于图模型的粒

滤波

跟踪方法计算机应

用研究,

2016

,

33

2

)

591-5937

)

[13)

Weidong

Min,

Yu

Zhang,

Jing

Li.

Recognition

of

pedestrian

GVFSnake

[

J

)

.JournalofShanghaiJiaotong

Universi­

ty

,

2018

,

52

(7

)

801-807

(in

Chinese

)

.

[孙一奇

爱国&

董娜

.

基于粒

滤波与改进

GVF

Snake

的人

activitybasedondropped-objectdetection

[

J

)

7SignalProces-

sing

&

2017

&

9

(

2

)

238-2527


发布者:admin,转转请注明出处:http://www.yc00.com/news/1711948989a1982796.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信