一种基于远程服务的软件保护系统和方法_4

文档序号:8223804阅读:来源:国知局
立使用的快速调用接口。
[0188](I) ApplyResource 接口
[0189]计算资源申请接口,用于应用软件客户端发起远程调用前进行计算资源申请请求(即远程资源调用),格式如下:
[0190]STDMETHOD(ApplyResource)(
[0191]/*[in]*/const int iGlobalID,
[0192]/*[in]*/const int iThreadNum,
[0193]/* [out]*/int*pErrorCode,
[0194]/*[out]*/char*pErrorInfo
[0195]);
[0196]601:计算资源ID,标志将要申请的计算资源,计算资源ID是应用软件服务端的唯一标识ID,应用软件客户端的每次计算资源申请请求都必须携带对应的计算资源ID,占用4个字节。
[0197]602:线程数,标识将要申请的计算资源线程数,每一个计算资源都配置有供申请调用的线程资源数,只有当计算资源可供申请的线程数大于本次申请的线程数,计算资源申请请求才可成功,线程数占用4个字节。
[0198]603:错误代码,用来存储调用时发生的错误代码,占用4个字节。
[0199]604:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节。
[0200](2) Compute 接口
[0201]计算接口,用于应用软件客户端向应用软件服务端发起计算资源执行请求(即远程计算调用),接口格式如下:
[0202]701:计算资源ID,标志计算调用的计算资源ID,应用软件客户端的每一次调用必须携带需要请求调用的计算资源ID,占用4个字节。
[0203]702:函数ID,标识将要调用的计算资源中的函数ID,每一个计算资源中可包括多个函数ID,函数ID占用4个字节。
[0204]703:输入缓冲区,用于存储调用时需要的传入的输入数据,输入缓冲区最大为64*1024个字节。
[0205]704:输入缓冲区长度,标识输入缓冲区实际的长度,输入缓冲区长度占用4个字
-K-T。
[0206]705:输出缓冲区,用于存储调用返回时传出的输出数据,输出缓冲区最大为64*1024个字节。
[0207]706:输出缓冲区长度,标识输出缓冲区实际的长度,输出缓冲区长度占用4个字
-K-T。
[0208]707:错误代码,用来存储调用时发生的错误代码,占用4个字节。
[0209]708:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节。
[0210](3) ReleaseResource 接口
[0211]计算资源释放接口,用于应用软件客户端释放已经申请的计算资源,接口格式如下:
[0212]801:计算资源ID,标志将要释放的计算资源ID,应用软件客户端的每一次调用都必须携带需要请求调用的计算资源ID,占用4个字节。
[0213]802:错误代码,用来存储调用时发生的错误代码,占用4个字节。
[0214]803:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节。
[0215](4) DirectCompute 接口
[0216]直接计算接口,用于应用软件客户端直接向应用软件服务端的发起远程计算调用,而无需经过计算资源申请请求、计算资源计算请求、计算资源释放请求三个步骤,接口格式如下:
[0217]901:计算资源ID,标志计算调用的计算资源ID,应用软件客户端的每一次调用都必须携带需要请求调用的计算资源ID,占用4个字节。
[0218]902:函数ID,标识将要调用的计算资源中的函数ID,每一个计算资源中可包括多个函数ID,函数ID占用4个字节。
[0219]903:输入缓冲区,用于存储调用时需要的传入的输入数据,输入缓冲区最大为64*1024个字节。
[0220]904:输入缓冲区长度,标识输入缓冲区实际的长度,输入缓冲区长度占用4个字
-K-T。
[0221]905:输出缓冲区,用于存储调用返回时传出的输出数据,输出缓冲区最大为64*1024个字节。
[0222]906:输出缓冲区长度,标识输出缓冲区实际的长度,输出缓冲区长度占用4个字
-K-T。
[0223]907:错误代码,用来存储调用时发生的错误代码,占用4个字节。
[0224]908:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节;
[0225]本发明中,应用软件服务端包含一个或多个功能函数,并提供一个固定名称和参数的函数调用接口,用于计算节点在将应用软件服务端加载后,通过该固定接口发起对应用软件服务端的调用,接口参数如下:
[0226]1001:输入缓冲区,用于存储调用时需要的传入的输入数据,输入缓冲区最大为64*1024个字节。
[0227]1002:输入缓冲区长度,标识输入缓冲区实际的长度,输入缓冲区长度占用4个字
-K-T。
[0228]1003:输出缓冲区,用于存储调用返回时传出的输出数据,输出缓冲区最大为64*1024个字节。
[0229]1004:输出缓冲区长度,标识输出缓冲区实际的长度,输出缓冲区长度占用4个字
-K-T。
[0230]1005:函数ID,用于标示此次调用是针对该应用软件服务端所包含的哪个具体功能函数。
【主权项】
1.一种基于远程服务的软件保护系统,包括客户端和服务端两大部分,其特征在于: 所述客户端包括以下各单元: 应用软件客户端,用于实现用户在本机上对软件进行使用操作,并根据用户在使用操作过程中的软件使用需求,通过应用软件通信模块向客户端大厅发送请求; 应用软件通信模块,加载在应用软件客户端以及客户端大厅上,实现应用软件客户端与客户端大厅之间的通信连接;用于将应用软件客户端的远程调用请求发送到客户端大厅; 通信代理模块,加载在客户端大厅上,用于客户端大厅与客户端代理之间的通信连接,即客户端与服务端之间的通信连接;用于将应用软件通信模块发送的请求发送到服务端的客户端代理,并接收客户端代理发出的请求返回信息,传递客户端与服务端所需数据,屏蔽服务器的异构; 客户端大厅,与应用软件客户端通过应用软件通信模块进行交互,与服务端的客户端代理通过通信代理模块进行交互;用于用户输入或者客户端大厅自动获取用户身份信息以及使用权限信息;用于根据需要下载、安装、启动使用应用软件;用于监听并接收应用软件客户端的请求,并将该请求通过通信代理模块发送至服务端的客户端代理; 所述服务端包括以下各单元: 客户端代理,与计算中心和身份与权限认证模块交互;用于接收客户端大厅发出的请求,并根据接收到的请求类型进行处理操作,并将处理结果通过通信代理模块返回给客户端大厅;所述处理操作包括:将用户身份验证信息和应用软件使用权限信息发送到身份与权限认证模块,并接收身份与权限认证模块返回的验证结果;将计算资源执行请求发送给计算中心,并将计算中心返回的结果发送给客户端; 数据库,用以存储用户的身份信息、使用权限信息、计算节点配置信息、计算资源信息、用户操作日志;其中,计算节点配置信息包括计算节点IP、端口、调用地址;计算资源信息包括计算资源ID、资源名称、最大资源请求数、资源权重; 计算中心,与客户端代理以及计算节点交互,用于接收客户端代理发送的请求,然后根据请求类型进行操作处理:对计算资源进行标记;将计算资源执行请求以及从数据库中提取的计算节点配置信息发送给计算节点,并将计算节点返回的结果返回给客户端代理; 计算节点,与计算中心交互,加载有应用软件服务端;用于接收计算中心发出的计算资源执行请求和计算节点配置信息,并根据计算节点配置信息自动获取应用软件服务端的路径,根据该路径调用应用软件服务端并将其返回给计算中心; 应用软件服务端,是应用软件中的核心功能模块,其加载在计算节点上;其用于实现应用软件的核心分析与计算功能; 身份与权限认证模块,与客户端代理交互,用于接收客户端代理发送的用户身份和软件使用权限信息,并根据数据库中存储的相应信息,对用户身份和软件使用权限进行验证,并将验证结果发送给客户端代理; 用户与服务管理模块,为用户提供用户注册、用户信息维护、应用软件服务购买的功能与界面;为系统管理员提供对用户和软件服务统一管理和配置的功能与界面,包括用户注册、用户信息维护、应用软件服务购买、用户管理、订单管理、支付管理、应用软件服务管理; 服务端的计算中心、身份与权限认证模块、用户与服务管理模块分别与数据库连接,月艮务端和客户端通过通信代理模块进行连接。
2.如权利要求1所述的基于远程服务的软件保护系统的软件保护方法,其特征在于,所述应用软件通信模块有4个供调用的接口,分别是计算资源申请请求接口、计算资源执行请求接口、计算资源释放请求接口、直接计算接口 ; (1)计算资源申请请求接口 用于应用软件客户端发起远程调用前进行计算资源申请请求,格式如下: 601:计算资源ID,标志将要申请的计算资源,计算资源ID是应用软件服务端的唯一标识ID,应用软件客户端的每次计算资源申请请求都必须携带对应的计算资源ID,占用4个子; 602:线程数,标识将要申请的计算资源线程数,每一个计算资源都配置有供申请调用的线程资源数,只有当计算资源可供申请的线程数大于本次申请的线程数,计算资源申请请求才可成功,线程数占用4个字节; 603:错误代码,用来存储调用时发生的错误代码,占用4个字节; 604:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节; (2)计算资源执行请求接口 用于应用软件客户端向应用软件服务端发起计算资源执行请求(即远程计算调用),接口格式如下: 701:计算资源ID,标志计算调用的计算资源ID,应用软件客户端的每一次调用必须携带需要请求调用的计算资源ID,占用4个字节; 702:函数ID,标识将要调用的计算资源中的函数ID,每一个计算资源中可包括多个函数ID,函数ID占用4个字节; 703:输入缓冲区,用于存储调用时需要的传入的输入数据,输入缓冲区最大为64*1024个字节; 704:输入缓冲区长度,标识输入缓冲区实际的长度,输入缓冲区长度占用4个字节; 705:输出缓冲区,用于存储调用返回时传出的输出数据,输出缓冲区最大为64*1024个字节; 706:输出缓冲区长度,标识输出缓冲区实际的长度,输出缓冲区长度占用4个字节; 707:错误代码,用来存储调用时发生的错误代码,占用4个字节; 708:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节; (3)计算资源释放请求接口 用于应用软件客户端释放已经申请的计算资源,接口格式如下: 801:计算资源ID,标志将要释放的计算资源ID,应用软件客户端的每一次调用都必须携带需要请求调用的计算资源ID,占用4个字节; 802:错误代码,用来存储调用时发生的错误代码,占用4个字节; 803:错误信息,用来存储调用时发生错误时,返回的错误信息,占用256个字节; (4)直接计算接口 用于应用软件客户端直接向应用软件服务端的发起远程计算调用,而无
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1