著录项信息
专利名称 | 网站托管服务调度方法、应用访问处理方法、装置及系统 |
申请号 | CN201080003651.6 | 申请日期 | 2010-12-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-07-11 | 公开/公告号 | CN102577237A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 中国广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 陈普;梁治平 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
一种网站托管服务的智能部署方法、应用访问处理方法、应用智能部署服务器、应用访问处理服务器及系统,所述智能部署方法包括:接收用户通过部署界面上传的应用;根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;根据所述文件元数据对所述应用进行分类,并添加分类标签;按照分类标签建立所述应用与处理该引用的应用服务器之间的索引关系。本发明实施例以解决现有技术中浪费存储资源的问题,并提高应用服务器的利用率。
1.一种应用智能部署方法,其特征在于,包括:
接收用户通过部署界面上传的应用;
根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;
根据所述文件元数据对所述应用进行分类,并添加分类标签;
按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系;
其中,所述根据所述文件元数据对所述应用进行分类,并添加分类标签,包括:对所述文件元数据信息进行分析,建立应用间的相似度,根据所述应用间的相似度对所述应用进行分类,并添加分类标签。
2.根据权利要求1所述的方法,其特征在于,所述建立所述应用的文件元数据,包括:
确定所述应用的文件元数据,所述文件元数据包括:应用标识、文件路径和文件标识码;
建立所述应用标识、文件标识之间的双索引关系,以及文件路径与文件标识码之间的单索引关系。
3.根据权利要求2所述的方法,其特征在于,所述确定应用的文件元数据中的文件标识码,具体包括:
计算所述应用中每个文件内容的MD5码,将所述MD5码作为文件标识码。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果是,则不再重复存储该应用,否则,执行将所述应用存储到网站存储系统中的步骤。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
判断所述应用是否为模版类应用,若是,对所述应用中的各个文件进行优化处理,并在优化处理后,执行所述根据文件元数据对所述应用进行分类,并添加分类标签的步骤;否则,直接执行所述对所述应用进行分类,并执行所述添加分类标签的步骤。
6.根据权利要求5所述的方法,其特征在于,所述对所述应用中的各个文件进行优化处理,包括:
将所述应用通过解析引擎转化为动态链接库。
7.一种应用智能部署装置,其特征在于,包括:
文件管理单元,用于接收用户通过部署界面上传的应用,根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;
应用管理单元,用于根据所述文件元数据建立应用间的相似度,根据所述应用间的相似度对所述应用进行分类,并添加分类标签,按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。
8.根据权利要求7所述的应用智能部署装置,其特征在于,所述文件管理单元包括:
文件元数据分析单元,用于接收用户上传的应用,对所述应用进行分析,并根据所述应用的应用标识,建立所述应用的文件元数据及其索引关系,并将所述应用存储到网站存储系统中;其中,所述元数据包括:应用标识、文件路径和文件标识码;所述索引关系包括:应用标识与文件标识之间的双索引关系,以及文件路径与文件标识码间的单索引关系;
文件元数据存储单元,用于存储所述应用的文件元数据及其索引关系;
文件元数据查询单元,用于对外提供查询功能,以便于所应用管理单元查询所示元数据。
9.根据权利要求8所述的应用智能部署装置,其特征在于,所述文件元数据查询单元,还用于查询所述文件元数据存储单元中是否存储有相应的文件元数据;
所述文件元数据存储单元,还用于在所述文件元数据查询单元没有查询到对应的文件元数据时,存储所述文件元数据及其索引关系。
10.根据权利要求7至9所述的应用智能部署装置,其特征在于,还包括:
第一判断单元,用于根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果是,则不再重复存储该应用,否则,通知所述文件元数据存储单元存储所述应用;
所述文件元数据存储单元,还用于在接收到第一判断单元发送的通知时,将所述应用存储到网站存储系统中。
11.根据权利要求7至9任一项所述的应用智能部署装置,其特征在于,所述应用管理单元包括:
应用分析单元,用于根据所述应用标识获取对应的文件元数据,并根据所述文件元数据建立应用间的相似度,根据所述应用间的相似度对所述应用进行分类,并加上分类标签;
应用存储单元,用于根据应用分析单元添加的分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。
12.根据权利要求11所述的应用智能部署装置,其特征在于,所述应用管理单元,还包括:
应用调度单元,用于在接收到查询请求时,根据所述应用的应用标识查询处理该应用的应用服务器的地址,并反馈查到的所述应用服务器的地址。
13.根据权利要求7至9任一项所述的应用智能部署装置,其特征在于,所述应用智能部署装置还包括:
应用部署单元,用于判断所述应用是否为模版类应用,若是,对所述应用中的各个文件进行优化处理,并将优化处理后的所述应用中的各个文件发送给所述文件管理单元,否则,直接将所述应用发送给所述文件管理单元;以及将所述应用的应用标识发送给所述应用管理单元;
所述文件管理单元,还用于接收所述应用部署单元发送的所述应用,并根据所述应用的应用标识,建立所述应用的文件元数据;
所述应用管理单元,还用于根据接收到的应用标识向所述文件管理单元查询所述应用的文件元数据。
14.根据权利要求13所述的应用智能部署装置,其特征在于,所述应用部署单元包括:
第二判断单元,用于判断所述应用是否为模版类应用;
模板部署单元,用于在所述第二判断单元判断所述应用为模版类应用时,对所述应用中的各个文件进行优化处理,并将优化处理后的所述应用中的各个文件发送给所述文件管理单元,并将所述应用的应用标识发送给所述应用管理单元;
非模板部署单元,用于在所述第二判断单元判断所述应用为非模版类应用时,将所述应用发送给所述文件管理单元,并将所述应用的应用标识发送给应用管理单元。
15.一种应用智能部署调度系统,其特征在于,包括:应用智能部署装置、应用访问处理装置,其中,
所述应用智能部署装置如权利要求7至14任一项所述的应用智能部署装置;
所述应用访问处理装置,包括:
请求转发单元,用于接收用户发送的应用访问请求,并根据所述应用访问请求的应用标识从应用管理单元中查询到处理该应用的请求处理服单元,并将所述应用访问请求转发给请求处理单元;
所述请求处理单元,用于根据所述应用标识从文件管理单元中获取到对应的文件元数据,并根据所述文件元数据从网站存储系统中查找到实际要处理的文件,并反馈所述文件。
网站托管服务调度方法、应用访问处理方法、装置及系统\n技术领域\n[0001] 本发明涉及计算机通信技术领域,特别涉及一种网站托管服务的智能调度方法、应用访问处理方法、装置及系统。\n背景技术\n[0002] WEB HOSTING是一种网站托管服务,它允许个人和组织将他们自己的网站部署到万维网上,以便于其他用户通过互联网(internet)访问到。网站托管公司通常会拥有一个数据中心,将自身数据中心的计算资源(主机)、网络带宽等资源租赁给客户。现有的WEB HOSTING技术一般是基于虚拟主机的。也就是把一台运行在互联网上的主机服务器(WEB server),通过使用特殊的软硬件技术,划分成多个“虚拟”的服务器,即所谓的虚拟主机。因此每一个虚拟主机都具有独立的域名和完整的Internet服务器(WWW,FTP,Email等)功能。WEB HOSTING运营商通过给不同的用户分配不同的虚拟主机来达到用户之间的独立。\n[0003] 通常情况下,WEB HOSTING分为应用部署和应用访问两个流程,所述应用部署是指用户将自己要部署的应用部署到自己的虚拟主机上。应用访问是指internet用户通过指定到URL(域名)来访问HOSTING用户部署的应用。其具体过程为:\n[0004] HOSTING用户通过WEB HOSTING运营商提供的部署界面将应用上传到应用服务器上。该部署界面可以是HTTP网页,FTP客户端等。所述应用服务器通过部署系统部署到相应的WEB server上的文件系统中,具体包括:绑定用户应用的本地地址(WEB server的文件地址)和用户的域名;配置用户访问的相关信息,如超时连接,安全设置等;将用户上传的应用依据上步中的绑定关系放置到相应的位置。并对外提供访问权限。通常情况是每个用户有一个唯一文件路径,不同的用户上传的文件放置到不同的位置。\n[0005] 之后,Internet用户通过浏览器通过HOSTING用户对外公布的URL向web服务器发送WEB请求来访问其应用。其中,所述浏览器就是常用的IE、Firefox等Internet浏览器。WEB服务器中的WEB请求转发单元根据请求地址转发给相应的WEB请求处理单元;WEB请求处理单元接收到WEB请求后根据URL与文件路径的对应关系从所述文件系统中解析相应文件,并将解析的结果返回给用户。\n[0006] 本发明的发明人发现,目前互联网上存在着大量相同的应用。按照现有的部署方式中,由于不同用户放置应用的路径不同,文件系统上会存在大量相同的文件,从而浪费了系统的存储资源。对于相同应用的访问,由于同样文件请求由于URL不同而被分发到不同的服务器处理,降低了应用服务器的处理效率。\n发明内容\n[0007] 有鉴于此,本发明实施例提供一种网站托管服务的智能部署方法、应用访问处理方法、应用智能部署装置、应用访问处理装置及系统,以对存储到网站托管服务的应用进行智能部署,提高应用服务器的处理效率,以及应用访问速度的效率\n[0008] 为解决该技术问题,本发明实施例提供一种应用智能部署方法,包括:\n[0009] 接收用户通过部署界面上传的应用;\n[0010] 根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;\n[0011] 根据所述文件元数据对所述应用进行分类,并添加分类标签;\n[0012] 建立添加分类标签后的所述应用与处理该应用的应用服务器之间的索引关系。\n[0013] 本发明实施例提供一种应用访问的处理方法,包括:\n[0014] 接收用户发送的应用访问请求;\n[0015] 根据所述应用访问请求的应用标识从应用管理单元中查询到处理该应用的请求处理单元,并将所述应用访问请求转发给所述请求处理单元;\n[0016] 所述请求处理单元根据所述应用标识从文件管理单元中获取到对应的文件元数据;\n[0017] 所述请求处理单元根据所述文件元数据从网站存储系统获取实际要处理的文件,并反馈所述文件。\n[0018] 相应的,本发明实施例还提供一种应用智能部署装置,包括:\n[0019] 文件管理单元,用于接收用户通过部署界面上传的应用,根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;\n[0020] 应用管理单元,用于根据所述文件元数据对所述应用进行分类,添加分类标签,按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。\n[0021] 本发明实施例还提供一种应用访问处理装置,其特征在于,包括:\n[0022] 请求转发单元,用于接收用户发送的应用访问请求,并根据所述应用访问请求的应用标识从应用管理单元中查询到处理该应用的请求处理服单元,并将所述应用访问请求转发给请求处理单元;\n[0023] 所述请求处理单元,用于根据所述应用标识从文件管理单元中获取到对应的文件元数据,并根据所述文件元数据从网站存储系统中查找到实际要处理的文件,并反馈所述文件。\n[0024] 本发明实施例还提供一种应用智能部署调度系统,包括:应用智能部署装置、应用访问处理装置,其中所述应用智能部署装置、应用访问处理装置分别详见上述,在此不再赘述。\n[0025] 本发明实施例中,在对应用的部署过程中,对接收到的应用,先根据该应用的应用标识建立该应用的文件元数据,并将所述应用存储到网站存储系统中,根据该文件元数据进行对该应用进行分类,按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。本发明实施例中,在应用的部署过程中能够根据应用的文件元数据进行存储,并对所述应用进行分类,添加分类标签,以及按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系,将同类应用部署到同一节点(或集群)上,实现了智能部署,达到节约服务器计算资源,提高了应用访问速度的效率。进一步,在存储该应用之前,先根据该应用的文件元数据进行判断系统中是否以存储该应用,从而避免重复应用的部署,节约系统的存储空间。\n附图说明\n[0026] 图1为本发明实施例提供的一种网站托管服务的智能部署方法的流程图;\n[0027] 图2为本发明实施例提供的一种应用访问的处理方法的流程图;\n[0028] 图3为本发明实施例提供的一种应用智能部署装置的结构示意图;\n[0029] 图4为本发明实施例提供的另一种应用智能部署装置的结构示意图;\n[0030] 图5为本发明实施例提供的一种应用智能部署装置的具体结构示意图;\n[0031] 图6为本发明实施例提供的一种应用访问装置的结构示意图;\n[0032] 图7为本发明实施例提供的一种应用智能部署调度系统的结构示意图;\n[0033] 图8为本发明实施例提供的一种应用智能部署调度系统的应用实例的结构示意图;\n[0034] 图9为本发明实施例提供的一种应用智能部署方法的应用实例的流程图;\n[0035] 图10为图9中文件索引关系的示意图;\n[0036] 图11为图9中应用与应用服务器之间的索引关系的示意图;\n[0037] 图12为本发明实施例提供的一种应用访问处理方法的应用实例。\n具体实施方式\n[0038] 下面结合附图,对本发明实施例进行详细的说明。\n[0039] 请参阅图1,为本发明实施例提供的一种网站托管服务的智能部署方法的流程图。\n所述方法包括:\n[0040] 步骤101:接收用户通过部署界面上传的应用;\n[0041] 步骤102:根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;\n[0042] 其中,建立所述应用中各个文件元数据具体包括:确定每个文件元数据,所述文件元数据包括:应用标识、文件路径和文件标识码,但并不限于此;之后,建立所述应用标识与文件路径(即文件标识)之间的双索引关系,以及文件标识(即文件路径)与文件标识码之间的单索引关系;\n[0043] 其中,所述确定每个文件的文件标识码,一种确定的方式包括:计算每个文件内容的MD5码,将所述MD5码作为文件标识码。但并不限于此。\n[0044] 步骤103:根据所述文件元数据对所述应用进行分类,并添加分类标签;\n[0045] 其中,一种分类方法为:对所述文件元数据信息进行分析,建立应用间的相似度;\n根据所述应用间的相似度对应用进行分类,并添加分类标签。\n[0046] 步骤104:按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。\n[0047] 具体包括:确定所述应用的文件元数据,所述文件元数据包括:应用标识、文件路径和文件标识码;建立所述应用标识与文件标识之间的双索引关系,以及文件路径与文件标识码的单索引关系。\n[0048] 优选的,所述方法还可以包括:根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果是,则不再重复存储该应用,执行步骤103和104,否则,执行将所述应用存储到网站存储系统中的步骤。\n[0049] 优选的,所述方法还可以进一步包括:\n[0050] 根据所述应用标识判断所述应用是否为模版类应用,其中所述模版类应用为大量相同的典型应用,若是,对所述应用中的各个文件进行优化处理,所述应用的优化是将应用通过解析引擎转化为动态链接库,可执行文件(二进制文件),class文件等。转化的方式类似于java虚拟机将java文件转化为class文件或者php解释器将php文件转化为二进制文件等。并在处理后,执行步骤103,即所述对所述应用进行分类,并添加分类标签;否则,直接执行步骤103,即所述对所述应用进行分类,并添加分类标签。\n[0051] 本发明实施例中,在对应用的部署过程中,根据该应用的文件元数据对该应用进行分类,添加分类标签,并按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。也就是说,本发明实施例中,将相类似的应用通过智能策略调度到了同一服务器上,避免来相同应用的重复部署,节省了系统的存储资源,同时,也提高了用户访问应用服务器的效率。\n[0052] 进一步,本发明实施例中,在对应用的部署过程中,还可以判断该应用是否为模版类应用,并对于模版类应用,提供编译(或解释)优化,从而提高访问速度。\n[0053] 还请参阅图2,为本发明实施例中提供的一种访问应用的处理方法的流程图,所述方法包括:\n[0054] 步骤201:接收用户发送的应用访问请求;\n[0055] 步骤202:根据所述应用访问请求的应用标识从应用管理单元中查询到处理该应用的请求处理单元,并将所述应用访问请求转发给所述请求处理单元;\n[0056] 一种确定的方式包括:向应用智能部署服务器中的应用管理单元发送查询请求,所述查询请求中包括所述应用标识;接收所述应用管理单元反馈处理该应用的请求处理单元。\n[0057] 步骤203:所述请求处理单元根据所述应用标识从文件管理单元中获取对应的文件元数据;\n[0058] 一种获取元数据的方式为:所述请求处理单元向从应用智能部署服务器中文件管理单元发送获取所述分类标签对应的文件元数据;所述请求处理单元接收所述文件管理单元反馈的对应的文件元数据。\n[0059] 步骤204:所述请求处理单元根据所述元数据信息从网站存储系统获取实际要处理的文件,并反馈所述文件。\n[0060] 本发明实施例中,在应用的访问过程中,通过智能访问调度,将同类应用调度到同一应用服务器(或集群)上,从而达到节约服务器计算资源,提高应用访问的速度。\n[0061] 相应的,本发明实施例还提供一种应用智能部署装置,其结构示意图详见图3,所述应用智能部署装置包括:文件管理单元31和应用管理单元32,其中,文件管理单元31,用于接收用户通过部署界面上传的应用,根据所述应用的应用标识,建立所述应用的文件元数据,并将所述应用存储到网站存储系统中;应用管理单元32,用于根据所述文件元数据对所述应用进行分类,并添加分类标签,按照分类标签建立所述应用与处理该应用的应用服务器之间的索引关系。\n[0062] 优选的,所述应用智能部署服务器还可以包括:应用部署单元33,其结构示意图详见图4,应用部署单元33,用于判断所述应用是否为模版类应用,若是,对所述应用中的各个文件进行优化处理,并将优化处理后的所述应用中的各个文件发送给所述文件管理单元,否则,直接将所述应用发送给所述文件管理单元;以及将所述应用的应用标识发送给所述应用管理单元;\n[0063] 所述文件管理单元31,还用于接收所述应用部署单元发送的所述应用,并根据所述应用的应用标识,建立所述应用的文件元数据;\n[0064] 所述应用管理单元32,还用于根据接收到的应用标识向所述文件管理单元查询所述应用的文件元数据。\n[0065] 优选的,所述装置还可以包括:第一判断单元,用于根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果是,则不再重复数据存储,否则,通知所述文件元数据存储单元存储所述应用;\n[0066] 所述文件元数据存储单元,还用于在接收到第一判断单元发送的通知时,将所述应用存储到网站存储系统中。\n[0067] 其中,所述应用部署单元33包括:第二判断单元33 1、模板部署单元332和非模板部署单元333,其结构示意图详见图5,所述第二判断单元33 1,用于判断所述应用是否为模版类应用;所述模板部署单元332,用于在所述第二判断单元判断所述应用为模版类应用时,对所述应用中的各个文件进行优化处理,并将优化处理后的所述应用中的各个文件发送给所述文件管理单元,并将所述应用的应用标识发送给应用管理单元;非模板部署\n333,用于在所述第二判断单元判断所述应用为非模版类应用时,将所述应用发送给所述文件管理单元,并将所述应用的应用标识发送给应用管理单元;\n[0068] 其中,所述文件管理单元31包括:文件元数据分析单元311、文件元数据存储单元312和文件元数据查询单元313,其结构示意图详见图5,其中,所述文件元数据分析单元311,用于接收用户上传的应用,对所述应用进行分析,并根据所述应用的应用标识,建立所述应用的文件元数据及其索引关系,并将所述应用存储到网站存储系统中;其中,所述元数据包括:应用标识、文件路径和文件标识码;所述索引关系包括:应用标识与文件标识之间的双索引关系,以及文件路径与文件标识码间的单索引关系;所述文件元数据存储单元\n312,用于存储所述应用的文件元数据及其索引关系;;所述文件元数据查询单元313,用于对外提供查询功能,以便于所应用管理单元查询所示元数据。\n[0069] 优选的,所述文件元数据查询单元313,还用于根据查询所述文件元数据存储单元中是否存储有相应的文件元数据;所述文件元数据存储单元312,还用于在所述文件元数据查询单元没有查询到对应的文件元数据时,存储所述文件元数据及其索引关系。\n[0070] 其中,所述应用管理单元32包括:应用分析单元321和应用存储单元322,还可以包括:应用调度单元323,其结构示意图详见图5。其中,所述应用分析单元321,用于根据所述应用标识获取对应的文件元数据,并根据所述文件元数据对所述应用进行分类,并添加分类标签;所述应用存储单元322,用于根据应用分析单元321添加的分类标签建立所述应用与对应的应用服务器之间的索引关系;所述应用调度单元323,用于在接收到查询请求时,根据所述应用的应用标识查询处理该应用的应用服务器的地址,并反馈查到的所述应用服务器的地址。\n[0071] 也就是说,在该实施例中,应用部署单元33,用于将用户上传的应用部署到运营商的应用智能部署服务器(比如WEB server等)上。即将上传的应用分为两类,一类是模版类应用,一类是非模版类应用,对于模版类应用,直接将该应用进行优化处理,其具体的优化处理可以是:将应用通过解析引擎转化为动态链接库,可执行文件(二进制文件),class文件等。优化处理的方式类似于java虚拟主机将java文件转化为class文件,或者php解释器将php文件转化为二进制文件等。本发明实施例并不限于此。然后,将优化后该应用中的文件发送给文件管理单元31,并通知应用管理单元32增加该应用。对于非模版应用,应用部署单元33会直接将应用中的文件直接发送给文件管理单元3 1处理,并通知应用管理单元32增加该应用。\n[0072] 所述文件管理单元31,具体用于接收应用部署单元33发送的该应用的文件(或文件标识),先为该应用中的每个文件建立文件元数据,在该实施例中,所述文件元数据是指存贮文件相关属性的文件,在文件系统中,通常存储文件内容在磁盘上的地址,在本发明中,特指文件的应用标识,应用的相对路径(即应用路径),文件标识(即文件标识码)和文件属性。并将其存储起来,同时将该应用存储到网站存储系统(比如WEB存储系统等)中。\n同时,文件管理单元31中的文件元数据查询单元313,还对外提供文件元数据查询接口,并根据所述应用标识查找属于该应用的所有文件标识码。以便于访问应用服务器查询文件元数据的相关信息。\n[0073] 优选的,所述将所述应用方存储到网站存储系统之前,还可以根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果存储,则不再重复存储该应用,否则,则将所述应用存储到网站存储系统。\n[0074] 所述应用管理单元32,具体用于接收应用部署单元33的传输该应用的应用标识,并根据应用标识从文件管理单元31中查询应用的文件元数据信息,之后,根据应用元数据信息对该应用进行分析,从而建立应用间相似度的模型,并对应用进行聚类分析,从而对应用进行分类,给分类后的应用加上分类标签,然后,将应用存储于应用数据库中,同时按照分类标签建立该应用与应用服务器的索引关系。应用调度单元具体用于动态维护该索引关系,同时根据请求的URL返回相应的应用服务器的地址。\n[0075] 本发明实施例,对部署的应用建立了新的原数据系统,利用应用间的相似度,将相同的应用部署到同一个应用服务器上,有效的避免了相同应用的重复存储,同样也避免了同样应用反复解析,不但提高了存储效率,而且也提高了应用服务器的利用率。\n[0076] 进一步,本发明实施例还对大量的相同的应用建立了模版类应用,实现了应用的预编译,增加其访问速度。\n[0077] 还请参阅图6,为本发明实施例提供的一种应用访问处理装置的结构示意图,所述应用访问处理装置包括:请求转发单元61和请求处理单元62,其中,所述请求转发单元61,用于接收用户发送的应用访问请求,并根据所述应用访问请求的应用标识从应用管理单元中查询到该应用的请求处理服单元,并将所述应用访问请求转发给请求处理单元;所述请求处理单元62,所述请求处理单元,用于根据所述应用标识从文件管理单元中获取到对应的文件元数据,并根据所述文件元数据从网站存储系统中查找到实际要处理的文件,并反馈所述文件。\n[0078] 也就是说,在本发明实施例中,请求转发单元61,用于接收到浏览器的请求后,根据请求的统一资源标识符URL与应用管理单元32交互,获取该应用有哪个请求处理单元62来处理,之后,请求转发单元61将该请求转发到该请求处理单元62上。所述请求处理单元\n62,用于接收请求转发单元61转发的该请求,根据该请求的URL从文件管理单元中查找到与该应用相关的文件的元数据,并对该元数据进行解析,并根据解析结果从Web存储系统获取到相应的文件,其中,与应用相关的文件可能是静态文件,也可能是动态脚本。\n[0079] 还请参阅图7,为本发明实施例提供的一种应用智能部署调度系统的结构示意图,所述系统包括:应用智能部署装置71、应用访问处理装置72和网站存储系统73。在该实施例中,所述装置的功能和作用详见上述实现过程,在此不再赘述。\n[0080] 所述网站存储系统73,本实施例中以WEB存储系统为例,用于存储实际应用的文件系统,可以是本地EXT2,EXT3,FAT32,NTFS等文件系统,也可以是分布式文件系统,网络文件系统等。\n[0081] 其中,所述应用智能部署服务器71可以包括:应用分析单元和应用存储单元,还可以包括:应用调度单元,所述应用访问处理服务器72可以包括请求转发单元和请求处理单元,其各个单元的功能和作用详见上述实施例,在此不再赘述。\n[0082] 优选的,所述网站存储系统可以集成在应用智能部署服务器上,也可以独立部署,本发明实施例不做限制。\n[0083] 本发明实施例提供一种实现分布式多WEB应用的智能部署的方法、访问应用的处理方法及应用智能部署服务器和访问应用服务器。在大量应用的部署过程中,能够避免统一应用的重复部署,节约系统的存储空间,降低部署成本。\n[0084] 进一步,对于模版类应用,提供来编译(或解释)优化,提高应用访问速度。\n[0085] 在应用的访问过程中,通过智能访问调度,将同类应用调度到同一节点(或集群)上,提高了资源的利用率,同时也提高应用访问速度的目的。\n[0086] 为了便于本领域技术人员的理解,下面以具体的实施例来说明。\n[0087] 还请参阅图8,为本发明实施例提供的一种应用智能部署调度系统的应用实例的结构示意图,在该实施例中,Web存储系统以独立部署为例。所述系统包括:应用智能部署装置81、应用访问服务装置82和Web存储系统83,其中,\n[0088] 所述应用智能部署装置81包括:部署界面(portal)811、应用部署单元812、文件管理单元813、应用管理单元814;应用部署单元812包括:第二判断单元8121、模板部署单元8122和非模板部署单元8123;所述文件管理单元813包括:文件元数据分析单元8131和文件元数据存储单元8132;应用管理单元814包括:应用分析单元8141、应用存储单元\n8142,还可以包括应用调度单元8143,\n[0089] 所述应用访问服务装置82包括:浏览器(Browser)821、请求转发单元822和请求处理单元823。\n[0090] 如图8所示,本发明实施例中,包括应用部署和应用访问两个过程,其中,应用部署是指HOSTING用户将自己要部署的应用部署到提供商提供的系统上;应用访问指internet用户通过指定到URL(域名)来访问HOSTING用户部署的应用。下面结合图8详细阐述这两个过程:\n[0091] 一、应用部署过程\n[0092] 部署portal811,是WEB HOSTING运营商给用户提供的部署界面,其作用是让用户可以上传自己的应用的WEB服务器。它可以是一个WEB页面,也可以是一个FTP客户端。\n[0093] 应用部署单元812,用于将用户上传上来的应用部署到运营商的WEBserver上。第二判断单元8121判断所述应用是否为模版类应用,即可以将上传的应用分为两类,一类是模版类应用,一类是非模版类应用,对于模版类应用,模板部署单元8122会直接将该应用进行优化处理。然后将优化后的文件转给文件管理单元813,并通知应用管理单元814增加该应用,即将该应用的文件标识发送给应用管理单元814。对于非模版应用,非模板部署\n8123会直接将文件交由文件管理单元813处理,并通知应用管理单元814增加该应用,即将该应用的文件标识发送给应用管理单元814应用管理单元814。\n[0094] 文件管理单元813中的文件元数据分析单元8131,用于接收应用部署单元812传给其的文件(或文件标识),对所述应用进行分析,并根据所述应用的应用标识,建立所述应用中各个文件的元数据及其索引关系,本实施例中,所述文件元数据是指存贮文件相关属性的文件,在文件系统中,通常存储文件内容在磁盘上的地址,在本发明实施例中,特指文件的应用标识,应用的相对路径(即文件路径),文件标识码和文件内容等文件属性。文件元数据存储单元8132存储所述文件元数据及其索引关系,并将分析后的所述应用存储到WEB存储系统83中。同时文件管理单元813,对外提供文件元数据查询接口,以便于应用管理单元814和/或请求转发单元822查询文件元数据的相关信息。\n[0095] 优选的,在将所述应用方存储到网站存储系统之前,还可以根据所述文件元数据中的文件标识码判断网站存储系统是否存储该应用,如果存储,则不再重复存储该应用,否则,则将所述应用存储到网站存储系统。\n[0096] 应用管理单元814中的应用分析单元8141,用于接收应用部署单元812传输的应用标识,并根据应用标识从文件管理单元813中查询应用的文件元数据信息,并根据查询到的应用元数据信息对该应用进行分析,从而建立应用间相似度的模型,并根据应用间的相似度对该应用进行聚类分析,即对应用进行分类,并给该应用加上分类标签,应用存储单元8142,用于根据应用分析单元8141添加的分类标签,将同类标签的应用部署到网站存储系统中的同一应用服务器上,并按照分类标签建立所述应用与对应的应用服务器之间的索引关系。应用管理单元814中的应用调度单元8143动态维护该索引关系,同时根据请求的URL返回相应的应用服务器地址。\n[0097] WEB存储系统83,用于存储实际应用的文件系统,可以是本地EXT2,EXT3,FAT32,NTFS等文件系统,也可以是分布式文件系统,网络文件系统等。\n[0098] 二、应用访问过程:\n[0099] Browser821是指用户Internet浏览器,比如:IE、Firefox等。用户使用浏览器访问互联网,而浏览器使用DNS协议获取访问域名的IP地址,其中,使用DNS访问的过程一般会交由操作系统完成,使用HTTP协议连接应用访问服务器获取访问资源。\n[0100] 请求转发单元822,用于在接收到浏览器(即Browser821)的请求后,根据请求的统一资源标识符URL与应用管理单元814交互,获取该请求由哪个请求处理单元处理,之后,将该请求转发到相应的请求处理单元823上。\n[0101] 请求处理单元823,用于接收请求转发单元822转发的请求,根据该请求的URL从文件管理单元中找到相关的应用文件,并对该应用文件进行解析,之后,将解析后的文件显示给用户。其中,本实施中的相关的应用相关的可以是静态文件,也可以是动态脚本,本实施例不做限制。\n[0102] 三、应用部署和应用访问过程中各个单元之间会涉及下述接口,但并不限于此,也可以是其他功能类似的接口:\n[0103] 如图8所示,接口V1,是浏览器821与请求转发单元822(该请求转发单元为服务器)直接连接的接口,基于HTTP传输协议,一般来说是网络接口。\n[0104] 接口V2,用于请求转发单元822和应用管理单元814之间的交互,请求转发单元发送应用URL到应用管理单元814中的应用调度单元8143,应用调度单元8143根据对应的URL返回相应的应用服务器的地址。该接口主要用于上述两个单元间的信息交互,交互的方式不限于网络协议如HTTP,TCP,所有能满足该交互的方式均可。\n[0105] 接口V3,为请求转发单元822与请求处理单元823的接口,用于转发浏览器821的请求,该接口可以是基于HTTP的接口,也可以是基于CGI的传输接口,本实施例不做限制。\n[0106] 接口V4,为文件管理单元813与请求处理单元823通过该接口进行信息交互。\n[0107] 接口D1,为部署portal811与应用部署单元812之间的文件传输接口,可以使HTTP的也可以是FTP的,一般可以完成文件传输的接口均可。\n[0108] 接口D2,为应用部署单元812与文件管理单元813之间的文件接口,传递的信息方式不限于文件拷贝的方式,也可以是传递文件地址的方式。所有能满足该功能的方式均可。\n[0109] 接口D3,为应用部署单元812和应用管理单元814之间的接口,用于应用部署单元812向应用管理单元814传递应用的相关信息,该接口D3形式不限于消息接口,也可以是文件接口。所有能将应用信息传递的方法均可。\n[0110] 接口D4,为应用管理单元814与文件管理单元813之间的接口,应用管理单元814通过该接口从文件管理单元813中查询该应用的元数据的相关信息。接口D4的形式不限于网络接口(如HTTP,TCP),也可以是文件接口,本实施例不做限制。\n[0111] 接口D5,为文件管理单元813和Web存储系统83之间的接口,该接口D5为普通的文件读写接口,文件管理单元813通过该接口将应用存储在Web存储系统83中;\n[0112] 接口V5,为请求处理单元823和Web存储系统83之间的接口,为普通的文件读写接口,请求处理单元823通过该接口从Web存储系统83中获取实际的应用。\n[0113] 同时,该应用智能部署对外还暴露查询接口,可以根据应用查询到部署的应用服务器。\n[0114] 本发明实施例中,在应用部署过程中,对于大量相同的应用建立了应用模版,实现了应用的预编译,增加其访问速度。对应用文件建立了新的原数据系统,有效的避免了应用文件的重复存储,进一步,本发明还提出了一种计算应用间相似度的方式,将相同的应用部署同一应用服务器上。避免了同样应用反复存储解析,提高了应用服务器的利用率。\n[0115] 在应用访问过程中,通过智能访问调度,将同类应用调度到同一节点(或集群)从而达到节约服务器计算资源,提高应用访问速度的目的。\n[0116] 还请参阅图9,为本发明实施例提供的一种应用智能部署方法的应用实例的流程图,具体包括:\n[0117] 步骤901:部署portal将用户上传的应用地址传给应用部署单元。\n[0118] 步骤902:应用部署单元分析该应用的应用类型;具体包括:根据该应用的应用标识判断其是否为模版类应用,如果是模版类应用,交由模版部署单元处理,首先,模版部署单元将该应用进行优化处理,生成优化后的文件,然后,将优化后的文件直接交由文件管理单元处理。如果为非模版类应用,则交由普通应用单元处理,直接交由文件管理单元处理。\n[0119] 本实施例中对应用的优化处理是将应用通过解析引擎转化为动态链接库,可执行文件(二进制文件),class文件等。转化的方式类似于java虚拟机将java文件转化为class文件,或者php解释器将php文件转化为二进制文件等。其主要目的在于加速服务器的处理,未经优化的文件放到硬盘上,访问的时候由有服务程序加载到内存中处理。而优化后,直接加载到内存处理,从而加速服务器的处理速度。\n[0120] 步骤903:应用部署单元将待分析的文件标识发送给文件管理单元,文件标识包括不限于文件路径。\n[0121] 步骤904:文件管理单元调用元数据分析单元分析该应用的元数据及建立元数据之间的索引关系,并将所述应用存储到网站存储系统中;\n[0122] 其中,所述元数据包括:应用标识、文件路径和文件标识码,以及建立所述应用标识、文件标识之间的双索引关系,以及文件路径与文件标识码之间的单索引关系;\n[0123] 一种优选的方式为:计算每个文件内容的MD5码,使用它的MD5码作为文件标识码,并根据所述元数据对应用建立文件索引关系,即建立所述应用标识与文件标识(即文件路径)之间的双索引关系,以及文件路径与文件标识码之间的单索引关系,具体图10所示。在该图10中,图中的箭头表示索引方向。\n[0124] 同时,文件元数据存储单元将该索引关系进行保存,且文件元数据查询单元对外提供高级的查询功能,如根据应用标识查找所有的属于该应用的文件标识码,并将该文件标识码按照指定的顺序排列,但并不限于此。\n[0125] 步骤905:文件管理单元将分析后的应用交由WEB存储系统存储;\n[0126] 一种优选的方式为,将文件标识作为文件名存储在WEB存储系统上。如文件temp.php的标识为a2344312dswefsf,则存储的方式为将文件temp.php内容拷贝到文件a2344312dswefsf上。若该标识已经存在,则不需要在WEB存储系统上存储该文件。这样就有效的避免了文件重复存储的问题。\n[0127] 步骤906:应用部署单元将应用标识发送给应用管理单元;应用标识可以包括但不限于以应用ID。发送的方法也不限于网络传输。\n[0128] 步骤907:应用管理单元根据应用标识向文件管理单元查询其应用的所有文件路径(比如文件标识)。并将该文件标识作为应用的分类依据。\n[0129] 步骤908:应用管理单元根据文件标识与现有部署的应用相比对,分析出其分类,并将该分类作为应用的属性;\n[0130] 其中,一种对应用进行分类的可选方式为:\n[0131] 1、如果只有一个应用,则该应用自己就是一个分类,在应用上打上分类标识,并将该应用作为该分类的基准应用。\n[0132] 2、当有新应用的时候按照下述的方法计算应用相似度\n[0133] 1)根据应用标识获取新应用的所有文件标识码;\n[0134] 2)随机选取应用中部分文件标识码(比如10%-20%);\n[0135] 3)根据该应用标识在现有应用分类的基准应用中查找是否存在该文件标识;如果有80%的文件标识均存在,则认为该应用是属于该分类。若与现有的应有都不相似,则增加新分类。\n[0136] 步骤909:按照分类标签建立该应用与处理该应用的应用服务器之间的索引关系,其索引关系具体图11所示。\n[0137] 在该图中,多个应用可以对应一个应用类别,对个应用类别可以对应一个应用服务器,也就是说,进行相似度的分析,将同一类的应用部署到同一个应用服务器上,并建立应用、应用类别与应用服务器之间的索引关系。\n[0138] 步骤910:应用管理单元向应用部署单元反馈部署结果;\n[0139] 步骤911:应用部署单元向部署界面反馈部署结果,部署界面将部署结果显示给用户。\n[0140] 同时该应用智能部署服务器对外暴露查询接口,可以根据应用查询到部署的服务器。\n[0141] 还请参阅图12,为本发明实施例提供的一种应用访问处理方法的应用实例,具体包括:\n[0142] 步骤1201:浏览器发送WEB请求给请求转发单元。\n[0143] 步骤1202:请求转发单元将WEB请求的应用标识发送给应用管理单元,请求相应的请求处理单元。\n[0144] 步骤1203:应用管理单元中的应用调度单元根据应用标识计算相应的请求处理单元。\n[0145] 其中,应用调度单元计算相应的请求处理单元可以是根据应用部署流程中第一次生成的索引查询相应的应用服务器,同时也可以根据非模板部署单元的负载情况动态的调整其索引。如:某一类应用在刚刚部署的时候分配了2个请求处理单元。然而,随着时间的增加这类应用数目不断增加,部署的2个请求处理单元不能满足其应用处理要求,应用调度单元监控到该现象后就会增加相应的请求处理单元,同时修改其应用的索引表。这样下次,有关于此类应用的请求的时候就会调度到新增加的请求处理单元上。\n[0146] 步骤1204:应用管理单元向所述请求转发单元反馈处理该WEB请求的请求处理单元;\n[0147] 步骤1205:请求转发单元将所述WEB请求转发到该请求处理单元上。\n[0148] 步骤1206:请求处理单元根据应用标识向文件管理单元请求应用文件的元数据,并根据获取到的元数据返回实际的预处理的文件标识。\n[0149] 步骤1207:请求处理单元根据返回的所述文件标识,向WEB存储系统获取实际要处理的文件。\n[0150] 步骤1208:请求处理单元解析所述实际要处理的文件,并将处理结果返回请求转发单元(或用户浏览器);\n[0151] 本实施例将处理结果反馈的过程:要根据请求转发的规则是如何实现的,如果是URL重定向则将结果直接返回给浏览器,如果是服务端重定向,则将结果返回给请求转发单元。\n[0152] 另外,在本发明实施例的实现过程中,如果对大量应用需要同时部署,可能会造成部署缓慢,系统负载过高的问题,在本发明实施例的基础上,可以采用离线分析的方式进行改进,即用户在按照现有技术进行部署时,在服务器负载低的时候,应用部署单元自动优化按现有技术部署上去的应用。从而解决了在对大量应用需要同时部署时,造成的部署缓慢,系统负载过高的问题。\n[0153] 本发明实施例,对部署的应用建立了新的原数据系统,利用应用间的相似度,将同类的应用部署到同一个节点上,实现了智能部署,达到节约服务器计算资源,提高了应用访问速度的效率。进一步,在存储该应用之前,先根据该应用的文件元数据进行判断系统中是否以存储该应用,从而有效的避免了相同应用的重复存储,同样也避免了同样应用反复解析,不但提高了存储效率,而且也提高了应用服务器的利用率。\n[0154] 进一步,本发明实施例还对大量的相同的应用建立了模版类应用,实现了应用的预编译,即通过模版技术,增加应用访问速度。\n[0155] 显然,本领域的技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路单元,或者将它们中的多个单元或步骤制作成单个集成电路单元来实现。这样,本发明不限制于任何特定的硬件和软件结合。\n[0156] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
法律信息
- 2022-03-08
专利权的转移
登记生效日: 2022.02.24
专利权人由华为技术有限公司变更为华为云计算技术有限公司
地址由518129 广东省深圳市龙岗区坂田华为总部办公楼变更为550025 贵州省贵阳市贵安新区黔中大道交兴功路华为云数据中心
- 2014-04-02
- 2012-09-12
实质审查的生效
IPC(主分类): H04L 12/16
专利申请号: 201080003651.6
申请日: 2010.12.20
- 2012-07-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-04-02
|
2002-08-23
| | |
2
| |
2007-11-14
|
2007-04-28
| | |
3
| |
2005-03-02
|
2004-09-06
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |