一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于跨容器的文件数据采集方法及文件数据采集装置与流程

2022-02-24 14:09:24 来源:中国专利 TAG:


1.本说明书实施例涉及计算机技术领域,具体地,涉及基于跨容器的文件数据采集方法及文件数据采集装置。


背景技术:

2.kubernetes(即k8s)是为容器服务而生的一个可移植容器的编排管理工具,在k8s中,通过容器化技术可以虚拟出一个小规模的环境(即容器)以用于技术人员的开发,容器化技术不同于虚拟机需要虚拟出整个操作操作,从而解决了虚拟机中存在的启动慢、占用空间大以及不易迁移等技术问题。容器化技术的这些优势使得k8s被广泛应用。
3.k8s集群可以由多个作为节点的宿主机构成,每个宿主机上可以运行多个pod,每个pod下运行一个容器。各个容器之间的资源相互隔离,每个容器中启动的进程包括业务进程和采集进程,业务进程用于执行相应的业务操作,采集进程是随着业务一起部署的用于采集业务相关信息的进程。通过这种容器的部署方式,实现了各个业务之间的资源隔离。


技术实现要素:

4.鉴于上述,本说明书实施例提供了基于跨容器的文件数据采集方法及文件数据采集装置。通过本说明书实施例的技术方案,将采集进程独立于各个业务容器部署在宿主机上,且备跨容器访问能力,在实现从各个业务容器采集文件数据的同时,减少了部署在宿主机上的采集进程的数量,实现了业务进程与业务容器之间的资源隔离。
5.根据本说明书实施例的一个方面,提供了一种基于跨容器的文件数据采集方法,包括:在宿主机上部署独立于所述宿主机上的各个业务容器的采集进程,以替换在所述各个业务容器中下线的采集进程;对所部署的采集进程在所述宿主机中的访问权限进行配置,以使所述采集进程具备跨容器访问能力;以及使用所述采集进程通过目标文件数据的访问路径所属的业务容器采集所述目标文件数据。
6.根据本说明书实施例的另一方面,还提供一种基于跨容器的文件数据采集装置,包括:采集进程部署单元,在宿主机上部署独立于所述宿主机上的各个业务容器的采集进程,以替换在所述各个业务容器中下线的采集进程;访问权限配置单元,对所部署的采集进程在所述宿主机中的访问权限进行配置,以使所述采集进程具备跨容器访问能力;以及文件数据采集单元,使用所述采集进程通过目标文件数据的访问路径所属的业务容器采集所述目标文件数据。
7.根据本说明书实施例的另一方面,还提供一种电子设备,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上述任一所述的基于跨容器的文件数据采集方法。
8.根据本说明书实施例的另一方面,还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于跨容器的文件数据采集方
法。
9.根据本说明书实施例的另一方面,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上任一所述的基于跨容器的文件数据采集方法。
附图说明
10.通过参照下面的附图,可以实现对于本说明书实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
11.图1示出了宿主机中部署的业务容器的一个示例的示意图。
12.图2示出了根据本说明书实施例的k8s集群的结构的一个示例的示意图。
13.图3示出了根据本说明书实施例的基于跨容器的文件数据采集方法的一个示例的流程图。
14.图4示出了根据本说明书实施例的将业务容器与采集进程进行分离的一个示例的示意图。
15.图5示出了根据本说明书实施例的对采集进程在宿主机中的访问权限进行配置的一个示例的流程图。
16.图6示出了根据本说明书实施例的采集进程通过业务容器采集目标文件数据的一个示例的流程图。
17.图7示出了根据本说明书实施例的基于跨容器的文件数据采集装置的一个示例的方框图。
18.图8示出了根据本说明书实施例的基于跨容器的文件数据采集装置的另一个示例的方框图。
19.图9示出了根据本说明书实施例的基于跨容器的文件数据采集装置的另一个示例的方框图。
20.图10示出了本说明书实施例的用于实现基于跨容器的文件数据采集方法的电子设备的方框图。
具体实施方式
21.以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
22.如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
23.kubernetes是为容器服务而生的一个可移植容器的编排管理工具,在k8s中,通过
容器化技术可以虚拟出一个小规模的环境(即容器)以用于技术人员的开发,容器化技术不同于虚拟机需要虚拟出整个操作操作,从而解决了虚拟机中存在的启动慢、占用空间大以及不易迁移等技术问题。容器化技术的这些优势使得k8s被广泛应用。
24.k8s集群可以由多个作为节点的宿主机构成,每个宿主机上可以运行多个pod,每个pod下运行一个容器,各个容器之间的资源相互隔离。图1示出了宿主机中部署的业务容器的一个示例的示意图,如图1所示,每个容器中启动的进程包括业务进程和采集进程(agent进程),业务进程用于执行相应的业务操作,采集进程是随着业务一起部署的用于采集业务相关信息的进程。通过这种容器的部署方式,实现了各个业务之间的资源隔离。
25.然而,在上述部署方式中,每个容器中都需要部署一个采集进程,这种部署方式导致了高昂的资源成本开销,尤其是k8s集群承接更多业务导致容器的规模成倍增长时,资源成本开销也随之成倍增长。此外,采集进程与业务部署在同一个容器内,没有将资源和风险隔离,导致业务存在安全性风险。
26.鉴于上述,本说明书实施例提供了基于跨容器的文件数据采集方法及文件数据采集装置,在文件数据采集方法中,在宿主机上部署独立于宿主机上的各个业务容器的采集进程,以替换在各个业务容器中下线的采集进程;对所部署的采集进程在宿主机中的访问权限进行配置,以使采集进程具备跨容器访问能力;以及使用采集进程通过目标文件数据的访问路径所属的业务容器采集目标文件数据。通过本说明书实施例的技术方案,将采集进程独立于各个业务容器部署在宿主机上,且备跨容器访问能力,在实现从各个业务容器采集文件数据的同时,减少了部署在宿主机上的采集进程的数量,实现了业务进程与业务容器之间的资源隔离。
27.下面结合附图对本说明书实施例提供的基于跨容器的文件数据采集方法及文件数据采集装置进行详细说明。
28.本说明书实施例提供的基于跨容器的文件数据采集方法及文件数据采集装置可以应用于k8s集群的应用环境中,从而可以在k8s集群中实现跨容器的文件数据采集。图2示出了根据本说明书实施例的k8s集群的结构的一个示例的示意图。
29.如图2所示,k8s集群可以由master节点和node节点构成,master节点可以与各个node节点通信连接。在k8s集群中,master节点以及各个node节点可以是由宿主机构成,每个宿主机上可以运行多个pod,在每个pod下通过oci(open container initiative,开放容器计划)标准运行一个容器。
30.master节点可以作为集群控制节点,用于管理和控制整个k8s集群,master节点可以向各个node节点发送控制命令。master节点可以包括kubernetes controller manager、kubernetes scheduler以及etcd等组件。kubernetes controller manager可以作为k8s集群中所有资源对象的自动化控制中心,用于维护管理集群的状态,比如故障检测、自动扩展、滚动更新等。kubernetes scheduler可以用于调度资源,按照预定的调度策略将pod调度到相应的机器上。etcd可以用于保存整个k8s集群的状态。
31.node节点可以由master节点分配工作负载,node节点可以包括kubelet、kube-proxy以及docker等组件。kubelet可以用于负责pod对应的容器的创建、启停等任务,还可以与master节点协作,以实现k8s集群管理的基本功能。kube-proxy可以用于实现service的通信与负载均衡。docker可以用于负责本宿主机的容器创建和管理。
32.图3示出了根据本说明书实施例的基于跨容器的文件数据采集方法的一个示例300的流程图。
33.如图3所示,在310,在宿主机上部署独立于宿主机上的各个业务容器的采集进程,以替换在各个业务容器中下线的采集进程。
34.在本说明书实施例中,k8s集群可以配置daemenset,daemenset可以作为pod控制器,用于确保node节点上运行一个pod的副本。
35.在一个示例中,可以通过daemenset的方式将采集进程部署在宿主机上,daemenset可以对所部署的采集进程进行控制。部署在宿主机上的采集进程独立于宿主机上的各个业务容器,与各个业务容器分属于不同的容器。
36.在部署独立于各个业务容器的采集进程后,可以将各个业务容器中的采集进行下线,所部署的采集进程可以替换各个业务容器中下线的采集进程,即,所部署的采集进程可以实现各个业务容器中的采集进程在未下线之前所能执行的功能。
37.在一个示例中,可以在宿主机上启动一个新的且独立于宿主机上的各个业务容器的采集进程。然后,将各个业务容器中的采集进程的流量切换至新的采集进程。接着,可以将各个业务容器中的采集进程下线。在采集进程下线的方式中,可以将各个业务容器中的采集进程从基础镜像中下线,后续新部署的业务容器中也不会再存在有采集线程。
38.在各个业务容器中的采集进程下线后,宿主机中仅部署有独立于各个业务容器的采集进程,该采集进程可以实现从各个业务容器中采集文件数据。
39.图4示出了根据本说明书实施例的将业务容器与采集进程进行分离的一个示例的示意图。如图4所示,在分离采集进程之前,宿主机中的每个业务容器中部署有一个采集进程,每个业务容器中的采集进程只能采集该业务容器中的文件数据。在经过上述310的操作后,宿主机中仅保存有一个独立于其他业务容器的采集进程,各个业务容器中也不再有采集进程。这样,宿主机中仅需运行一个采集进程,减少了宿主机中的资源消耗。
40.在320,对所部署的采集进程在宿主机中的访问权限进行配置,以使采集进程具备跨容器访问能力。
41.在本说明书实施例中,具备跨容器访问能力的采集进程能够访问各个业务容器挂载的文件系统,从而可以从各个业务容器采集文件数据。采集进程能够访问的文件系统可以包括具有物理结构的物理文件系统(比如,存储卷)以及以虚拟结构呈现的虚拟文件系统(比如,overlay文件系统),虚拟文件系统依赖并建立于物理文件系统之上。
42.图5示出了根据本说明书实施例的对采集进程在宿主机中的访问权限进行配置的一个示例500的流程图。
43.如图5所示,在322,可以通过切换采集进程的mnt namespace的方式来配置所部署的采集进程,以使采集进程具备与宿主机相同的文件系统视角。
44.在该示例中,mnt namespace在宿主机中可以用于实现各个容器挂载的文件系统的环境隔离,不同的mnt namespace可以对应不同的文件系统。可以通过切换mnt namespace,指向的不同文件系统。
45.文件系统视角是指可以看到文件系统,具备与宿主机相同的文件系统视角的采集进程可以看到的根目录是宿主机的根目录。在一个示例中,采集进程可以看到宿主机下所有的目录文件,包括被mnt namespace隔离的其他各个业务容器所挂载的文件系统根目录。
46.在一个示例中,当采集进程所在的pod启动时,可以将宿主机的proc文件系统挂载在该pod上。
47.在该示例中,proc文件系统可以是虚拟文件系统,proc文件系统可以用于查看系统硬件以及运行进程的信息。从而,宿主机的proc文件系统可以提供该宿主机启动的进程信息。
48.在本说明书实施例中,宿主机的proc文件系统的存储目录可以是/proc,proc文件系统挂载的方式可以采用容器卷挂载的方式。在一个示例中,可以通过daemenset将宿主机的proc文件系统挂载在采集进程所在的pod上。
49.然后,可以将采集进程的pid(process id)namespace的模式设置为host模式。
50.其中,pid namespace可以用于对进程pid的容器虚拟化,从pid的角度实现容器间的隔离。每个业务容器只能看到自身容器内的pid,而宿主机可以看到所有进程的pid。
51.基于采集进程被配置为host模式,且proc文件系统被挂载在采集进程所在的pod,从而,通过采集进程可以读取proc文件系统中的宿主机的进程。
52.接着,将采集进程的mnt namespace切换至所读取的宿主机的进程,以使采集进程具备与宿主机相同的文件系统视角。
53.在一个示例中,采集进程的mnt namespace可以切换至所读取到的宿主机的任一进程。在另一个示例中,所切换的宿主机进程可以是宿主机的第一个进程,即,可以将采集进程的mnt namespace切换至宿主机上的/proc/1/ns/mnt,其中,/proc/1表示宿主机的第一个进程。通过将mnt namespace切换至第一个进程,可以确保mnt namespace所切换的进程在宿主机中存在。
54.在一个示例中,采集进程可以通过linux setns系统调用,将自身的mnt namespace切换至所读取的宿主机的进程。
55.在经过mnt namespace切换至宿主机的进程后,由于宿主机的进程本身具有宿主机的文件系统视角,即可以看到宿主机中的所有文件系统,从而具有与宿主机相同的文件系统视角的采集进程同样能够看到宿主机中的所有文件系统,以及各个文件系统下的根目录。
56.回到图5,在324,通过采集进程获取各个业务容器的存储元信息。
57.业务容器的存储元信息可以用于确定业务容器上的挂载点,进一步地可以确定各个挂载点在宿主机上的位置,存储元信息所确定的位置是宿主机上的物理位置。
58.在一个示例中,业务容器的每个存储元信息可以用来对应表征该业务容器上的一个挂载点。各个业务容器的存储元信息可以包括业务容器上挂载的物理文件系统以及业务容器中配置的虚拟文件系统,物理文件系统可以包括存储卷(volume)等,虚拟文件系统可以包括overlay、overlay2等,overlay以及overlay2在k8s中可以作为docker镜像graphdriver。针对虚拟文件系统,下面以overlay为例进行说明。
59.此外,业务容器的存储元信息还可以包括该业务容器对应的容器标识、ip地址以及容器标识与ip地址之间的映射关系等用于确定业务容器的元信息。
60.回到图3,在采集进程具备跨容器访问能力后,在330,可以使用采集进程通过目标文件数据的访问路径所属的业务容器采集目标文件数据。
61.图6示出了根据本说明书实施例的采集进程通过业务容器采集目标文件数据的一
个示例600的流程图。
62.如图6所示,在332,采集进程可以基于与宿主机相同的文件系统视角确定目标文件数据的访问路径所属的业务容器挂载的存储目录。
63.在该示例中,目标文件数据可以是待采集的文件数据,访问路径是访问目标文件数据的路径,用于提供给采集进程,以便于采集进程根据访问路径采集目标文件数据。目标文件数据的访问路径的组成中可以包括业务容器中挂载的存储目录,存储目录可以是根目录,还可以是由根目录以及其下的各级目录所构成。例如,目标文件数据的访问路径为:/home/admin/logs/a.log,其中,/home/admin/logs可以是挂载在业务容器上的存储目录。
64.在确定目标文件数据的访问路径后,基于与宿主机相同的文件系统视角,采集进程可以看到各个业务容器中的各个根目录以及各个根目录下的存储目录。可以将访问路径中包括的存储目录与各个业务容器中的存储目录进行比较,以确定目标文件数据的访问路径所属的业务容器,以及所属业务容器挂载的存储目录。例如,在上述例子的基础上,宿主机中的业务容器a挂载的其中一个存储目录是/home/admin/logs,与目标文件数据的访问路径包括的存储目录匹配,从而确定可以确定该目标文件数据的访问路径属于该业务容器a下挂载的存储目录/home/admin/logs。
65.在334,基于访问路径与所确定的存储目录对应的存储元信息来确定目标文件数据在宿主机上的位置。
66.在该示例中,存储目录对应的存储元信息用于表征该存储目录所属的文件系统,该存储目录是对应的存储元信息表征的文件系统中的其中一个目录。例如,挂载在业务容器上的一个存储卷包括存储目录/home/admin/logs,则该存储目录对应的存储元信息是该存储卷。此外,所确定的目标文件数据在宿主机上的位置是物理位置。
67.在一个示例中,可以根据访问路径所属的存储目录对应的存储元信息确定出该存储目录对应在宿主机上的物理位置。
68.在本说明书实施例中,存储元信息可以用于确定挂载点在宿主机上的物理位置,从而可以确定出存储元信息所表征的文件系统对应在宿主机上的物理位置,进一步地,可以确定出文件系统中的各个存储目录对应在宿主机上的物理位置。
69.在该示例中,存储目录与宿主机上的物理位置可以一一对应,从而可以建立存储目录与物理位置的对应关系。例如,以存储元信息是存储卷为例,存储卷挂载在业务容器下包括的一个存储目录是:/home/admin/logs,通过存储卷的存储元信息可以确定出存储卷在宿主机上的物理位置,进一步地,可以确定该存储目录对应的物理位置是:/roofs/poda/logs,表示该存储目录在宿主机上的实际存储位置是/roofs/poda/logs。
70.又例如,以存储元信息是overlay文件系统为例,业务容器中挂载的overlay文件系统中的一个存储目录是根目录“/”,通过overlay文件系统的存储元信息可以确定出在宿主机上的物理位置是:/roofs/poda/graph/mergedir,则可以表示该存储目录在宿主机上的实际存储位置是/roofs/poda/graph/mergedir。
71.在确定出存储目录对应的物理位置后,可以根据所确定的物理位置以及存储目录,将访问路径转换成目标文件数据在宿主机上的位置。
72.所确定出的物理位置与存储目录一一对应,访问路径的组成可以包括存储目录,即,访问路径是存储目录下的其中一条路径。基于此,可以将访问路径的组成中包括的存储
目录替换成所确定出的物理位置,得到包括存储目录对应物理位置的路径,该路径用于表示目标文件数据在宿主机上的物理位置。
73.以存储元信息是存储卷为例,存储卷的一个存储目录是:/home/admin/logs,该存储目录对应的物理位置是:/roofs/poda/logs,目标文件数据的访问路径为:/home/admin/logs/a.log,则该访问路径的组成中包括的存储目录是:/home/admin/logs,则可以将该部分存储目录替换成物理位置的路径,从而得到的目标文件数据在宿主机上的位置为:/roofs/poda/logs/a.log。
74.以存储元信息是overlay文件系统为例,overlay文件系统的存储目录是根目录,即:/,由overlay文件系统在宿主机上的物理位置是:/roofs/poda/graph/mergedir,目标文件数据的访问路径为:/etc/localtime,将该访问路径中的根目录替换成物理位置的路径,得到目标文件数据在宿主机上的位置为:/roofs/poda/graph/mergedir/etc/localtime。
75.在确定目标文件数据的物理位置的一种方式中,存储元信息可以包括存储卷和虚拟文件系统。首先,可以先根据目标文件数据的访问路径判断该访问路径的目录是否属于存储卷的存储目录。
76.当判断出访问路径所属的目录属于存储卷的存储目录时,可以根据存储卷的存储元信息确定出存储目录对应在存储卷中的目录在宿主机上的物理位置,然后基于所确定出的物理位置、存储目录以及访问路径来将访问路径转换成目标文件数据在宿主机上的位置。
77.当判断出访问路径所属的目录不属于存储卷的存储目录时,则可以确定访问路径所属的目录属于虚拟文件系统的存储目录,从而可以根据虚拟文件系统的存储元信息确定出存储目录对应在虚拟文件系统中的目录在宿主机上的物理位置,然后基于所确定出的物理位置、存储目录以及访问路径来将访问路径转换成目标文件数据在宿主机上的位置。
78.回到图6,在336,采集进程从所确定的位置上采集目标文件数据。
79.通过本说明书实施例提供的基于跨容器的文件数据采集方法及文件数据采集装置,将采集进程独立于各个业务容器部署在宿主机上,且备跨容器访问能力,在实现从各个业务容器采集文件数据的同时,减少了部署在宿主机上的采集进程的数量,实现了业务进程与业务容器之间的资源隔离。
80.图7示出了根据本说明书实施例的基于跨容器的文件数据采集装置700的一个示例的方框图。
81.如图7所述,文件数据采集装置700包括采集进程部署单元710、访问权限配置单元720和文件数据采集单元730。
82.采集进程部署单元710,被配置为在宿主机上部署独立于宿主机上的各个业务容器的采集进程,以替换在各个业务容器中下线的采集进程。
83.在一个示例中,采集进程部署单元710还可以被配置为:在宿主机上启动一个新的且独立于宿主机上的各个业务容器的采集进程;将各个业务容器中的采集进程的流量切换至新的采集进程;以及将各个业务容器中的采集进程下线。
84.访问权限配置单元720,被配置为对所部署的采集进程在宿主机中的访问权限进行配置,以使采集进程具备跨容器访问能力。
85.文件数据采集单元730,被配置为使用采集进程通过目标文件数据的访问路径所属的业务容器采集目标文件数据。
86.图8示出了根据本说明书实施例的基于跨容器的文件数据采集装置700的另一个示例的方框图。
87.访问权限配置单元720可以包括:采集进程配置模块722和元信息获取模块724。采集进程配置模块722,被配置为通过切换采集进程的mnt namespace的方式来配置所部署的采集进程,以使采集进程具备与宿主机相同的文件系统视角。
88.在一个示例中,采集进程配置模块722被配置为:在采集进程所在的pod启动时,将宿主机的proc文件系统挂载在pod上;将采集进程的pid namespace的模式设置为host模式;通过采集进程读取所述proc文件系统中的宿主机的进程;以及将采集进程的mnt namespace切换至所读取的宿主机的进程,以使采集进程具备与宿主机相同的文件系统视角。
89.元信息获取模块724,被配置为通过采集进程获取各个业务容器的存储元信息。
90.图9示出了根据本说明书实施例的基于跨容器的文件数据采集装置700的另一个示例的方框图。
91.在一个示例中,文件数据采集单元730还可以包括:业务容器确定模块732、存储位置确定模块734和文件数据采集模块736。
92.业务容器确定模块732,被配置为采集进程基于文件系统视角确定目标文件数据的访问路径所属的业务容器挂载的存储目录。
93.存储位置确定模块734,被配置为基于访问路径与存储目录对应的存储元信息来确定目标文件数据在宿主机上的位置。
94.在一个示例中,存储位置确定模块734被配置为:根据存储目录对应的存储元信息确定出存储目录对应在宿主机上的物理位置;以及根据物理位置以及存储目录,将访问路径转换成目标文件数据在宿主机上的位置。
95.文件数据采集模块736,被配置为采集进程从所确定的位置上采集目标文件数据。
96.以上参照图1到图9,对根据本说明书实施例的基于跨容器的文件数据采集方法及文件数据采集装置的实施例进行了描述。
97.本说明书实施例的基于跨容器的文件数据采集装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本说明书实施例中,基于跨容器的文件数据采集装置例如可以利用电子设备实现。
98.图10示出了本说明书实施例的用于实现基于跨容器的文件数据采集方法的电子设备1000的方框图。
99.如图10所示,电子设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1050连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
100.在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:在宿主机上部署独立于宿主机上的各个业务容器的采集进程,以替换在各个
业务容器中下线的采集进程;对所部署的采集进程在宿主机中的访问权限进行配置,以使采集进程具备跨容器访问能力;以及使用采集进程通过目标文件数据的访问路径所属的业务容器采集目标文件数据。
101.应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。
102.根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。
103.具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
104.在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
105.本说明书各部分操作所需的计算机程序代码可以用任意一种或多种程序语言编写,包括面向对象编程语言,如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb、net以及python等,常规程序化编程语言如c语言、visual basic 2003、perl、cobol2002、php以及abap,动态编程语言如python、ruby和groovy,或者其他编程语言等。该程序编码可以在用户计算机上运行,或者作为独立的软件包在用户计算机上运行,或者部分在用户计算机上运行另一部分在远程计算机运行,或者全部在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或者在云计算环境中,或者作为服务使用,比如软件即服务(saas)。
106.可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
107.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
108.上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
109.在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例
中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
110.以上结合附图详细描述了本说明书的实施例的可选实施方式,但是,本说明书的实施例并不限于上述实施方式中的具体细节,在本说明书的实施例的技术构思范围内,可以对本说明书的实施例的技术方案进行多种简单变型,这些简单变型均属于本说明书的实施例的保护范围。
111.本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献