一种云数据库SQL语句监控方法及监控系统与流程

专利2022-05-10  2


一种云数据库sql语句监控方法及监控系统
技术领域
1.本发明属于云数据库技术领域,具体涉及一种基于docker的云数据库sql语句监控方法及监控系统。


背景技术:

2.随着虚拟化技术的发展,出现了docker技术,它是一种构建在lxc(linux container)之上的基于进程容器的轻量级虚拟化解决方案。docker是以docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上。容器完全使用沙箱机制,不依赖于任何语言、框架包括系统,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在数据中心中运行。
3.以docker为代表的基于容器的待监听数据库技术是目前虚拟化技术的热点。容器技术通过隔离资源与进程,实现轻量级虚拟化。docker是开源引擎,提供了一种数据库程序快速自动化部署的解决方案。利用mysql、redis、mongodb等docker软件镜像快速创建并部署。一台宿主机可以部署多套云数据库,每个云数据库之间相互隔离。
4.一般来说,数据库管理员日常对数据进行操作的时候,可能会发生误操作,这种操作给数据带来的危险是比较大的。因此,监控云数据库的sql语句是非常重要的。
5.但是现有技术中所使用的监控技术一般用于传统数据库中,尚未出现可应用于像docker下的云数据库上的监控技术。
6.另外,在一个物理服务器上有可能运行了多个docker,每个docker都有可能存在sql执行的监控问题,对于docker中的sql语句如何进行监控,也是现有技术中尚未解决的技术问题。


技术实现要素:

7.鉴于上述现有技术中尚不存在可应用于云数据库的监控技术的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于docker的云数据库sql语句监控方法及监控系统。
8.依据本发明的一个方面,提供一种基于docker的云数据库sql语句监控方法,所述方法包括:
9.获取docker中待监听数据库的访问数据;所述访问数据包括:所述待监听数据库的端口信息以及ip地址;所述待监听数据库为云数据库;
10.基于所述访问数据获取发送至所述待监听数据库的sql语句;
11.判断所述sql语句是否满足第一预设条件;
12.若是,则执行第一操作。
13.优选的,获取docker中待监听数据库的访问数据前,所述方法包括:
14.获取docker的网卡信息,所述网卡信息表征分配给所述docker的网卡的信息;
15.基于所述网卡信息获取到达所述网卡的数据包;
16.获取所述数据包中的协议信息;
17.判断所述协议信息与第一数据库是否匹配;
18.若是,则确定所述第一数据库为所述待监听数据库。
19.优选的,所述方法还包括:
20.获取docker的运行数据;所述运行数据包括:进程信息和/或线程信息;
21.基于所述运行数据判断所述docker内是否正在运行云数据库;
22.若是,则获取所述docker中正在运行的所述云数据库以作为待监听数据库。
23.优选的,当所述第一预设条件为风险操作时,判断所述sql语句是否满足第一预设条件包括:
24.判断所述sql语句是否出现语法错误;
25.若否,则判断所述sql语句是否位于白名单中;
26.若否,则获取所述sql语句的结构信息,并根据所述sql语句的结构信息判断所述sql语句是否为安全访问语句;
27.若否,则所述sql语句满足第一预设条件。
28.优选的,执行第一操作包括:
29.获取所述待监听数据库的标识信息,所述sql语句的内容信息以及所述待监听数据库执行所述sql语句的执行信息;
30.基于所述标识信息、内容信息以及执行信息生成第一操作指令;
31.根据所述第一操作指令执行所述第一操作。
32.优选的,执行第一操作后,所述方法包括:
33.将所述第一操作指令进行保存和/或发送至预设地址。
34.依据本发明的另一个方面,提供一种基于docker的云数据库sql语句监控系统,所述系统包括:
35.第一获取单元,用于获取docker中待监听数据库的访问数据;所述访问数据包括:所述待监听数据库的端口信息以及ip地址;所述待监听数据库为云数据库;
36.第二获取单元,用于基于所述访问数据获取发送至所述待监听数据库的sql语句;
37.第一判断单元,用于判断所述sql语句是否满足第一预设条件;
38.第一操作单元,用于若是,则执行第一操作。
39.优选的,所述系统还包括:
40.第三获取单元,用于获取docker的网卡信息,所述网卡信息表征分配给所述docker的网卡的信息;
41.第四获取单元,用于基于所述网卡信息获取到达所述网卡的数据包;
42.第五获取单元,用于获取所述数据包中的协议信息;
43.第二判断单元,用于判断所述协议信息与第一数据库是否匹配;
44.第一确认单元,用于若是,则确定所述第一数据库为所述待监听数据库。
45.依据本发明的另一个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项的方法。
46.依据本发明的另一个方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一项的方法。
47.上述基于docker的云数据库sql语句监控方法及监控系统可以应用于docker环境下的云数据库,实现针对docker内部的待监听数据库中运行sql语句的实时监听,同时实现可按照预定规则对docker内部所监听到的sql语句进行风险监控的作用,并在监控到可能存在风险时执行必要的操作。
48.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
49.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1为本文实施例中一种基于docker的云数据库sql语句监控方法流程示意图;
51.图2为本文实施例中一种基于docker的云数据库sql语句监控系统结构示意图;
52.图3为本文实施例中一种计算机设备结构示意图。
53.【附图标记说明】
54.201、第一获取单元;
55.202、第二获取单元;
56.203、第一判断单元;
57.204、第一操作单元;
58.1002、计算机设备;
59.1004、处理器;
60.1006、存储器;
61.1008、驱动机构;
62.1010、输入/输出模块;
63.1012、输入设备;
64.1014、输出设备;
65.1016、呈现设备;
66.1018、图形用户接口;
67.1020、网络接口;
68.1022、通信链路;
69.1024、通信总线。
具体实施方式
70.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
71.本发明实施例中的docker位于物理服务器上以形成docker环境,因此,本发明中的所有sql语句均在docker中运行,其中,sql语句为结构化查询语言(structured query language)。如未做特别说明,本发明下述实施例中的步骤均在该docker环境下进行。本方法下述具体实施例所述的方法均可以通过在docker内安装软件包的方式实现,该软件包安装后常驻在docker中,以实现以下部分或者全部具体实施例中所述的方法或步骤。
72.具体而言,本发明实施例提供一种基于docker的云数据库sql语句监控方法,如图1所示,所述方法包括:
73.步骤101,获取docker中待监听数据库的访问数据;所述访问数据包括:所述待监听数据库的端口信息以及ip地址;所述待监听数据库为云数据库。其中,待监听数据库部署在物理服务器上的docker中,因而为了监听运行在docker中的待监听数据库,需要先获取该待监听数据库的访问数据,即包括所述待监听数据库的端口信息以及ip地址。其中,端口信息表征该待监听数据库的端口,ip地址为该待监听数据库所对应的ip地址,根据端口信息和ip地址可以准确且及时确定该云数库被访问的情况,实现实时监听该云数据库的效果。
74.步骤102,基于所述访问数据获取发送至所述待监听数据库的sql语句。具体的实施例中,由于在步骤101中已确定docker中待监听数据库的端口信息以及ip地址,因此根据端口信息以及ip地址即可直接监听该端口信息以及ip地址所对应的云数据库,并获取访问该端口信息以及ip地址的任意一sql语句。较佳的,获取发送至所述云数据的所有sql语句以实现对所述待监听数据库的实时监控,避免任何风险操作对docker中待监听数据库所带来的危险。
75.步骤103,判断所述sql语句是否满足第一预设条件。其中,所述第一预设条件为执行所述sql语句监控的判断条件,根据不同的监控目标,所述第一预设他条件的具体内容也可以不同。例如,当需要监控待监听数据库的安全时,所述第一预设条件可以为安全预设条件;当需要对待监听数据库的性能进行监控时,则所述第一预设条件可以为性能预设条件。在一具体的实施例中,当截获任意一sql语句后,为了确定该sql语句是否有问题,即是否为误操作或者不安全操作,那么需要根据该步骤判断所述sql语句是否满足第一预设条件。其中,所述第一预设条件为判断所述sql语句是否安全的判断标准,该第一预设条件可以根据不同的需求而设置。例如,当本发明实施例中,只需要监控是否有入侵者侵入待监听数据库时,则该第一预设条件可以仅包括非安全操作的相关判断标准;当只需要监控是否为误操作时,则该第一预设条件可以仅包括误操作的相关判断标准;当需要进行全局监控时,可以既包括非安全操作的相关判断标准,也包括误操作的相关判断标准,并进行同步或分步判断,即任何可能造成所述待监听数据库的安全受到威胁的操作均包含在本实施例的判断过程,实现不同审计标准所对应的审计监控要求。
76.步骤104,若是,则执行第一操作。其中,第一操作为所述sql语句满足第一预设条件后所需执行的干预操作。具体的实施例中,第一操作可以既包括提醒操作,也包括阻断或妨碍所述sql语句执行的操作;或者,只做审计监控操作,而不进行任何阻断或妨碍所述sql语句执行的操作,具体可根据审计需求而确定。
77.本发明实施例中所述的一种基于docker的云数据库sql语句监控方法可以应用于docker环境下的云数据库,实现针对docker内部的待监听数据库中运行的sql语句的实时监听,同时实现可按照预定规则对docker内部所监听到的sql语句进行风险监控的作用,并在监控到可能存在风险时执行必要的操作。
78.本发明较佳的实施例中,在一个物理服务器上可以运行多个docker,且每个docker中均可能存在sql语句在相应的待监听数据库中执行的监控问题。因此,本发明实施例还可以采用类似的方式对一个物理服务器上运行的多个docker中的任意待监听数据库执行sql语句分别进行实时监控。
79.本发明具体实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,获取docker中待监听数据库的访问数据前,所述方法包括:
80.获取docker的网卡信息,所述网卡信息表征分配给所述docker的网卡的信息;
81.基于所述网卡信息获取到达所述网卡的数据包;在具体的实施例中,当无法直接获取待监听数据库的访问数据时,则需要先对分配给docker的网卡进行监控,获取该网卡的网卡信息,并根据所述网卡信息截获所有到达该网卡的数据包。
82.获取所述数据包中的协议信息;具体的,每个数据包中均包含了与待监听数据库有关的协议信息,不同格式的数据包可以被相应的待监听数据库接收,因此根据该协议信息可以确定数据包的格式并找到对应的待监听数据库。因此本步骤中需要对截获的数据包中的协议信息进行协议分析以进行下一步判断。
83.判断所述协议信息与第一数据库是否匹配。具体的实施例中,本步骤的主要目的是根据所获取的协议信息确认该数据包是发往哪个云数据库。因此需要在获取所述协议信息后,将其与已知一种或几种云数据库所对应的数据包的格式进行比较,从而判断该数据包是否为发往该云数据库的数据包。较佳的实施例中,所述数据包中还包括其所对应的云数据的端口信息以及ip地址。
84.若是,则确定所述第一数据库为所述待监听数据库。当确定待监听数据库后,该待监听数据库便作为待监听的待监听数据库,因此可以根据本发明任意一实施中获取待监听数据库的访问数据的方法获取该待监听数据库的访问数据以进行相应的风险监控。
85.在一具体的实施例中,当确认所述第一数据库为所述待监听数据库后,对相应的数据包进行解析以获得待监听数据库的访问数据,从而监听向该待监听数据库输入的sql语句。
86.较佳的实施例中,在同一时间节点或时间段内截获多个数据包并分别进行上述判断过程,在任何一数据包满足上述匹配过程时,确定该数据包相对应的第一数据库为待监听数据库。
87.本发明具体实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,所述方法还包括:
88.获取docker的运行数据;所述运行数据包括:进程信息和/或线程信息;
89.基于所述运行数据判断所述docker内是否正在运行云数据库。具体的,在获取待监听数据库的访问数据前,首先需要确定该待监听数据库正处于运行过程中,才对其进行后续的监控动作。因此判断一个云数据库是否正处于运行过程中是对其进行监控的前置条件。其中,通过docker中的运行数据来判断该docker内是否有云数据库在运行。
90.若是,则获取所述docker中正在运行的所述云数据库以作为待监听数据库。具体的实施例中,当docker中正在运行所述云数据库时,该云数据库就可以作为待监听数据库,并通过上述具体实施例获取其访问数据,从而监听发往该待监听数据库的sql语句。在一较佳的实施例中,当确认docker内正在运行云数据库后,将该云数据库作为待监听数据库,随后可以直接截获发往该待监听数据库的协议信息,以便获取与该待监听数据库相关的访问数据,从而监听直接向该待监听数据库输入的sql语句,也即该docker内运行的sql语句。
91.本发明具体实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,当所述第一预设条件为风险操作时,判断所述sql语句是否满足第一预设条件包括:
92.判断所述sql语句是否出现语法错误;
93.若否,则判断所述sql语句是否位于白名单中;
94.若否,则获取所述sql语句的结构信息,并根据所述sql语句的结构信息判断所述sql语句是否为安全访问语句;
95.若否,则所述sql语句满足第一预设条件。
96.本发明上述实施例是基于所述第一预设条件为风险操作时的情况,该实施例可普适于任何不安全操作或者误操作等对云数据库的非安全操作,具体的判断过程可能会有所区别,但是可以理解,类似的判断过程均在本实施例的发明构思的保护范围之内。
97.具体的实施例中,语法错误作为误操作的一种常见方式,因此通过先对该sql语句进行语法分析,判断其是否出现语法错误而判断是否出现误操作的风险。当该sql语句出现语法错误时,则直接执行第一操作。若对该sql语句进行语法分析后并没有出现语法错误,则判断并无误操作的风险。那么接下来进一步判断该sql语句是否位于白名单中。其中,白名单顾名思义为提前设置的安全sql语句;因此,当获取的sql语句位于白名单内,那么可以直接判断该sql语句为安全操作,因此可以直接结束该sql语句的监控。当sql语句不在白名单内,则进一步获取该sql语句的结构信息以判断该sql语句是否为安全访问语句。具体的,所述sql语句的结构信息中包含该sql语句的执行对象以及执行操作,因此通过分析该sql语句的执行对象以及执行操作可以判断出该sql语句是否为安全访问语句。若sql语句为安全访问语句,则执行该sql语句并结束监控;若sql语句不是安全访问语句,那么该sql语句的满足第一预设条件,因此需要执行第一操作。较佳的实施例中,在执行第一操作的过程中,并不对该sql语句进行阻断或者妨碍,而是继续执行该sql语句,待管理员在后续根据该第一操作做进一步处理。较佳的实施例中,上述判断过程还可以变换判断的顺序,例如先进行白名单判断再进行误操作判断等。
98.较佳的实施例中,获取执行该sql语句的执行时刻,并将该执行时刻以及该sql语句同时发送给管理员,以提供具体的sql语句执行情况,便于管理员进行风险评估或者人工阻断操作。
99.本发明具体实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,执行第一操作包括:
100.获取所述待监听数据库的标识信息,所述sql语句的内容信息以及所述待监听数据库执行所述sql语句的执行信息;
101.基于所述标识信息、内容信息以及执行信息生成第一操作指令;
102.根据所述第一操作指令执行所述第一操作。
103.具体的实施例中,所述待监听数据库的标识信息可以为该待监控数据库的数据库名称或者数据库类型,所述待监听数据库执行所述sql语句的执行信息可以为执行时间、执行过程等有关的安全信息,根据所述标识信息、内容信息以及执行信息生成第一操作指令,例如第一操作指令可以为执行告警指令,并根据该第一操作指令执行所述第一操作即为执行告警信息,其中,所述告警信息中也包括所述标识信息、内容信息以及执行信息。
104.本发明具体实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,当执行第一操作后,所述方法包括:
105.将所述第一操作指令进行保存和/或发送至预设地址。
106.具体的实施例中,第一操作执行完毕后可以对该第一操作进行记录。其中,可以将所述第一操作发送至该docker内运行所述监控方法的软件中,由该软件进行保存,例如,可以保存在docker的内部,也可以保存在docker所在的物理主机,或者也可以进行云存储,还可以根据预先配置的预设地址发送所述第一操作,例如,当第一操作为执行告警信息时,那么将这些告警信息进行保存或者发送至预设地址处。较佳的实施例中,还可以对这些告警信息进行统计,例如统计一天内的告警信息,以便后续对告警信息进行分类处理或者将其具体内容作为后续的风险预防措施。
107.本发明实施例所述的一种基于docker的云数据库sql语句监控方法,较佳的,获取docker的运行数据后,所述方法还包括:
108.根据所述运行数据获取正在运行的云数据库的数据库类型。具体的实施例中,当获取docker的运行数据后,可以根据该运行数据获取正在运行的云数据库的名称或者id信息,并根据名称或者id信息直接判断数据库类型,以便直接对该云数据库进行监控。
109.基于所述数据库类型获取与所述数据库类型对应的第一预设条件,以用于判断发送至所述待监听数据库的sql语句是否满足该第一预设条件。具体的,可以对不同的数据库类型设置不同的第一预设条件,即不同类型的云数据库对应不同的第一预设条件,并在确定该云数据库的数据库类型后直接获取与所述数据库类型对应的第一预设条件以对该云数据库进行差别化监控。
110.本发明具体实施例中,一个docker中可以包含不止一个待监听数据库,也就是说,多个待监听数据库可在一个docker中运行,且互不干扰。当多个待监听数据库在一个docker中运行时,本步骤会获取该docker中运行的每一个待监听数据库的访问数据并通过本发明所述的监控方法分别监控每一个待监听数据库。具体的,当在一个docker中扫描到两个不同的云数据库均在运行,则获取每个云数据库的运行数据,例如进程id,并将每个进程id均配置到该docker内运行的监控程序中,相当于确定每个云数据均为待监听数据库,并对待监听数据库进行监控。
111.本发明具体实施例中,还提供一优选的实施方式,所述监控方法中还包括:
112.记录第一时段内的sql语句。其中,该第一时段可以为一天,或一天内的任意一时段,或者预设的任意时间范围,那么该步骤中就对该第一时段内所有的sql语句进行记录,不管该sql语句是否满足第一预设条件。
113.获取待监控数据库的日志文件;所述日志文件中包括所述待监控数据库记录的监控事件。
114.将所述sql语句与所述日志文件进行比较以确认是否相同;本步骤中就是对比所
截获的sql语句与待监控数据库的日志文件中记载的内容是否相同。
115.若否,则执行第二操作。其中,第二操作可以为发出告警信息等。
116.具体的,在实际监控过程中,可能会有入侵者为了隐藏入侵痕迹而修改待监控数据库的日志文件。因此通过上述比对的方式,可以发现被修改的日志文件并进行告警等方式的提醒。
117.较佳的实施例中,在对所述待监控数据库进行监控过程中,还可以进行如下监控:监控数据库管理员输入包括登录账号、密码,该信息可以通过监控数据库连接指令来获取。监控监听在数据库管理员与云数据库之间,负责监听数据库管理员与云数据库容器间通讯的数据流来获取数据源,区分正常和恶意请求,实现对待监控数据库的任一操作的监控。
118.本发明具体实施例还提供一种基于docker的云数据库sql语句监控系统,如图2所示,所述系统包括:
119.第一获取单元201,用于获取docker中待监听数据库的访问数据;所述访问数据包括:所述待监听数据库的端口信息以及ip地址;
120.第二获取单元202,用于基于所述访问数据获取发送至所述待监听数据库的sql语句;
121.第一判断单元203,用于判断所述sql语句是否满足第一预设条件;
122.第一操作单元204,用于若是,则执行第一操作。
123.本发明具体实施例所述的一种基于docker的云数据库sql语句监控系统,较佳的,所述系统还包括:
124.第三获取单元,用于获取docker的网卡信息,所述网卡信息表征分配给所述docker的网卡的信息;
125.第四获取单元,用于基于所述网卡信息获取到达所述网卡的数据包;
126.第五获取单元,用于获取所述数据包中的协议信息;
127.第二判断单元,用于判断所述协议信息与第一数据库是否匹配;
128.第一确认单元,用于若是,则确定所述第一数据库为所述待监听数据库。
129.本发明上述实施例所述的云数据库sql语句监控系统可以应用于docker环境下的云数据库,实现针对docker内部的待监听数据库中运行sql语句的实时监听,同时实现可按照预定规则对docker内部所监听到的sql语句进行风险监控的作用,并在监控到可能存在风险时执行必要的操作。
130.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述具体实施例中任一项基于docker的云数据库sql语句的监控方法。
131.本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述具体实施例中任一项基于docker的云数据库sql语句的监控方法。
132.本发明一实施例中,如图3所示,还提供一种计算机设备,计算机设备1002可以包括一个或多个处理器1004,诸如一个或多个中央处理单元(cpu),每个处理单元可以实现一个或多个硬件线程。计算机设备1002还可以包括任何存储器1006,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1006可以包括以下任一项或
多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留,存储器1006上存储有可在处理器1004上运行的计算机程序,处理器1004执行计算机程序时实现前述任一实施例所述的电动汽车充放电控制方法。进一步地,任何存储器可以表示计算机设备1002的固定或可移除部件。在一种情况下,当处理器1004执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1002可以执行相关联指令的任一操作。计算机设备1002还包括用于与任何存储器交互的一个或多个驱动机构1008,诸如硬盘驱动机构、光盘驱动机构等。
133.计算机设备1002还可以包括输入/输出模块1010(i/o),其用于接收各种输入(经由输入设备1012)和用于提供各种输出(经由输出设备1014))。一个具体输出机构可以包括呈现设备1016和相关联的图形用户接口(gui)1018。在其他实施例中,还可以不包括输入/输出模块1010(i/o)、输入设备1012以及输出设备1014,仅作为网络中的一台计算机设备。计算机设备1002还可以包括一个或多个网络接口1020,其用于经由一个或多个通信链路1022与其他设备交换数据。一个或多个通信总线1024将上文所描述的部件耦合在一起。
134.通信链路1022可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1022可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
135.应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
136.还应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
137.本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
138.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
139.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
140.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
141.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
142.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
143.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
转载请注明原文地址: https://doc.8miu.com/read-1350098.html

最新回复(0)