发明内容
基于此,有必要针对上述技术问题,提供一种能够提升知识图谱中数据的准确性的知识图谱的数据处理方法、装置、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种知识图谱的数据处理方法。所述方法包括:
获取数据库的增量数据,将所述增量数据发送至消息中间件的第一分区;
读取所述第一分区中的增量数据,将所述增量数据写入知识图谱;
在所述增量数据写入失败的情况下,保存所述增量数据对应的写入请求;
读取所述增量数据对应的写入请求,将所述增量数据再次写入所述知识图谱。
在其中一个实施例中,所述读取所述第一分区中的增量数据,将所述增量数据写入知识图谱,包括:
间隔预设的读取时间,读取所述第一分区中的增量数据;
保存所述增量数据至内存;
间隔第一写入时间,获取所述内存中的第一增量数据,将所述第一增量数据写入知识图谱,其中,所述读取时间小于所述第一写入时间;
间隔第二写入时间,获取所述内存中的第二增量数据,将所述第二增量数据写入知识图谱,其中,所述第二写入时间小于所述第一写入时间;所述第一增量数据的数据量大于所述第二增量数据的数据量。
在其中一个实施例中,所述读取所述第一分区中的增量数据,包括:
逐条读取所述第一分区中的增量数据,其中,所述第一分区的日志文件包括每条所述增量数据的偏移量;
在所述增量数据读取失败的情况下,根据所述第一分区的日志文件,确定下一次读取的读取起点为读取失败的所述增量数据对应的偏移量;
根据所述下一次读取的读取起点,继续逐条读取所述第一分区中的增量数据。
在其中一个实施例中,所述读取所述增量数据对应的写入请求,将所述增量数据再次写入所述知识图谱,包括:
响应于保存所述增量数据对应的写入请求至硬盘或所述消息中间件的第二分区,在第三写入时间内,读取所述增量数据对应的写入请求,将所述增量数据再次写入所述知识图谱。
在其中一个实施例中,所述获取数据库的增量数据,包括:
监控所述数据库的数据标识;
在所述数据标识发生变化的情况下,获取所述数据库的增量数据。
在其中一个实施例中,所述将所述增量数据发送至消息中间件的第一分区,包括:
配置所述增量数据的关键字段;
将所述增量数据发送至与所述关键字段对应的所述第一分区。
在其中一个实施例中,在所述获取数据库的增量数据,之前还包括:
每间隔预设的重置时间,重复执行知识图谱的创建步骤,其中,所述重置时间小于所述知识图谱的过期时间;所述知识图谱的创建步骤包括:
构建初始知识图谱;
获取所述数据库的全量数据,根据所述全量数据建立数据表,所述数据表中的数据为对所述全量数据进行数据清洗得到的;
将所述数据表中的数据写入所述初始知识图谱,得到知识图谱。第二方面,本申请还提供了一种知识图谱的数据处理装置。所述装置包括:
数据获取模块,用于获取数据库的增量数据,将所述增量数据发送至消息中间件的第一分区;
第一写入模块,用于读取所述第一分区中的增量数据,将所述增量数据写入知识图谱;
请求保存模块,用于在所述增量数据写入失败的情况下,保存所述增量数据对应的写入请求;
第二写入模块,用于读取所述增量数据对应的写入请求,将所述增量数据再次写入所述知识图谱。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述任一项所述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述知识图谱的数据处理方法、装置、计算机设备和计算机可读存储介质,通过将数据库的增量数据发送至消息中间件的特定分区,再对消息中间件中的增量数据进行读取,降低了增量数据直接写入知识图谱造成的知识图谱的数据错乱机率;另外,在增量数据写入失败的情况下,保存写入失败的增量数据对应的写入请求,然后读取该写入请求,以将增量数据再次写入知识图谱,实现了在增量数据写入失败的情况下,对写入失败的增量数据的校正,保证了知识图谱中的数据的准确性。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的知识图谱的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104可以实时获取数据库的全量数据和增量数据,其中,全量数据和增量数据的存储方式可以为集中式存储或分布式存储。服务器104通过网络与消息中间件进行通信连接,数据可以暂存于消息中间件。服务器104包括知识图谱,服务器104能够转发消息中间件中的数据至知识图谱。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种知识图谱的数据处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤210,获取数据库的增量数据,将增量数据发送至消息中间件的第一分区。
其中,数据库的增量数据为数据同步的过程中,某个时刻或者检查点以后发生变更的数据,同一条数据的变更需要有序发送至同一个分区。
示例性地,可以为消息中间件配置一个或多个分区,其中,每个分区在本地磁盘上对应一个文件夹,同一分区为内部保持顺序的一个队列。服务器104可以在获取数据库的增量数据后,将增量数据发送至消息中间件,并顺序写入第一分区,其中,第一分区被配置为用于存储特定数据库的增量数据。
在一种可实现的方式中,增量数据可以来自Hadoop(Hadoop Distributed FileSystem,HDFS)分布式文件系统,服务器可以通过访问接口获取分布式文件系统的增量数据;消息中间件可以是Kafka,Kafka是一种高吞吐量的分布式发布订阅消息系统,Kafka可以设置有多个主题,每个主题下可以设置有多个分区。
步骤220,读取第一分区中的增量数据,将增量数据写入知识图谱。
示例性地,服务器104可以创建一个实时增量程序来读取第一分区中的增量数据,然后将读取到的增量数据写入知识图谱。
步骤230,在增量数据写入失败的情况下,保存增量数据对应的写入请求。
示例性地,当出现硬盘损坏、断电、心跳检测失败等问题,造成实时增量程序无法将读取到的增量数据写入知识图谱时,服务器104可以响应增量数据的写入失败,保存该增量数据对应的写入请求。
在一种可实现的方式中,服务器104可以将写入失败的增量数据对应的写入请求,保存至硬盘或消息中间件的第二分区。其中,消息中间件的第二分区是消息中间件中不同于上述第一分区的另一个分区,第二分区被配置为用于存储写入失败的增量数据对应的写入请求。
步骤240,读取增量数据对应的写入请求,将增量数据再次写入知识图谱。
示例性地,考虑到短时间内硬盘损坏、断电、心跳检测失败等问题仍然可能存在,服务器104可以间隔预设的缓冲时间后,读取保存于硬盘或第二分区的写入请求,以将该增量数据再一次写入知识图谱。
在一种可实现的方式中,在再次写入增量数据失败的情况下,服务器104可以将再次写入失败的增量数据对应的写入请求,保存至硬盘或消息中间件的第二分区,服务器104可以间隔预设的缓冲时间后,再次读取保存于硬盘或第二分区的写入请求,以将该增量数据又一次写入知识图谱。在另一种可能的实现方式中,当存在增量数据写入失败的情况时,多次重复上述步骤240,其中,重复次数可以通过服务器104预先设定。
上述知识图谱的数据处理方法中,通过将数据库的增量数据发送至消息中间件的特定分区,再对消息中间件中的增量数据进行读取,降低了增量数据直接写入知识图谱造成的知识图谱的数据错乱机率;另外,在增量数据写入失败的情况下,保存写入失败的增量数据对应的写入请求,然后读取该写入请求,以将增量数据再次写入知识图谱,实现了在增量数据写入失败的情况下,对写入失败的增量数据的校正,保证了知识图谱中的数据的准确性。
在一个实施例中,步骤210包括:
步骤211,监控数据库的数据标识。
示例性地,服务器104可以利用Redis(Remote Dictionary Server)或人为触发等方式监控数据库的MD5(Message Digest algorithm 5)值。其中,Redis是一个开源的、高性能的key-value数据库;MD5是一种摘要算法,通过摘要函数对任意长度的数据计算出固定长度的摘要,由于摘要函数是一个单向函数,因此如果监控到MD5值发生了变化,则表示数据库中的数据发生了变化,也即是,有了增量数据的产生。
步骤212,在数据标识发生变化的情况下,获取数据库的增量数据。
示例性地,服务器104能够响应数据库的数据标识发生变化,获取数据库的增量数据,其中,增量数据可以以数据集或字段的形式,被推送至消息中间件。
本实施例中,通过监控数据标识是否发生变化,进而确定是否有增量数据产生,可以更加便捷、高效地获取数据库的增量数据。
在一个实施例中,步骤210还包括:
步骤213,配置增量数据的关键字段。
示例性地,可以配置增量数据的关键字段为任意值(例如:设备标识码或用户标识码),关键字段会被传递给一个散列函数(Hash function),散列函数的计算结果对应相应的分区。在一种可实现的方式中,为增量数据配置相同的关键字段,使得该关键字段传递给散列函数得到的计算结果对应第一分区。
可选地,在增量数据的数据量较大的情况下,也可以为增量数据配置多个关键字段,使得增量数据能够被分发至多个第一分区。
步骤214,将增量数据发送至与关键字段对应的第一分区。
示例性地,获取增量数据的关键字段,传递给散列函数,根据散列函数的计算结果将增量数据发送至与关键字段对应的第一分区。
可选地,也可以不为增量数据配置关键字段。在一种可能的实现方式中,可以采用轮询消息中间件的方式,将增量数据发送至第一分区。在另一种可能的实现方式中,可以为数据库配置分区指定规格,使得该数据库的增量数据被发送至第一分区。
本实施例中,通过为增量数据配置关键字段,能够将增量数据发送至消息中间件特定的分区,使得后续读取增量数据可以多线程地并行操作,提高了数据在消息中间件上的读写效率。
在一个实施例中,步骤220还包括:
步骤221,逐条读取第一分区中的增量数据,其中,第一分区的日志文件包括每条增量数据对应的偏移量。
示例性地,可以将增量数据逐条写入消息中间件的第一分区,为每条增量数据分配唯一的序号,作为增量数据对应的偏移量,并在将每条增量数据写入第一分区时,将该增量数据对应的偏移量保存至第一分区的日志文件中。
步骤222,在增量数据读取失败的情况下,根据第一分区的日志文件,确定下一次读取的读取起点为读取失败的增量数据对应的偏移量。
具体的,服务器104可以通过实时增量程序从第一分区中读取增量数据,由于实时增量程序可能出现程序崩溃、程序异常重启或程序被迫中断等问题,造成增量数据读取失败的情况。因此,服务器104可以在增量数据读取失败时,标记第一分区的日志文件中读取失败的增量数据对应的偏移量,在服务器通过实时增量程序再次从第一分区读取增量数据时,将该偏移量作为下一次读取的读取起点。
步骤223,根据下一次读取的读取起点,继续逐条读取第一分区中的增量数据。
具体的,在服务器通过实时增量程序再次从第一分区读取增量数据时,确定读取起点为上述读取失败的增量数据对应的偏移量,在读取该偏移量对应的增量数据后,继续读取日志文件中下一条偏移量对应的增量数据。
本实施例中,通过被标记的日志文件确定下一次读取的读取起点为读取失败的增量数据的偏移量,能够实现在实时增量程序出现程序崩溃、程序异常重启或程序被迫中断等问题后,实时增量程序再次读取增量数据时,能够继续读取上一次读取失败的增量数据,提升了知识图谱中数据的准确性。
在一个实施例中,如图3所示,步骤220包括:
步骤224,间隔预设的读取时间,读取第一分区中的增量数据。
示例性地,服务器104可以在创建实时增量程序时,为增量程序配置读取时间,每间隔读取时间从第一分区中读取增量数据。
步骤225,保存增量数据至内存。
示例性地,在每个读取时间内,服务器104通过实时增量程序逐条读取消息中间件中的增量数据,并保存至内存中的当前批次。
步骤226,间隔第一写入时间,获取内存中的第一增量数据,将第一增量数据写入知识图谱,其中,读取时间小于第一写入时间。
其中,由于读取时间小于第一写入时间,第一增量数据包括多个第一写入时间内累积的,多个批次的增量数据。
示例性地,服务器104可以在创建实时增量程序时,为增量程序配置第一写入时间,每间隔第一写入时间从内存中获取第一增量数据。
步骤227,间隔第二写入时间,获取内存中的第二增量数据,将第二增量数据写入知识图谱,其中,第二写入时间小于第一写入时间;第一增量数据的数据量大于第二增量数据的数据量。
具体的,由于实时增量程序可能出现程序崩溃、程序异常重启或程序被迫中断等问题,造成无法执行上述步骤226,服务器104可以配置第二写入时间,每间隔第二写入时间从内存中获取第二增量数据,其中,第二写入时间小于第一写入时间。这样,即使实时增量程序可能出现程序崩溃、程序异常重启或程序被迫中断等问题,内存中的第二增量数据仍能被写入知识图谱,减少了数据的丢失。
可选地,第二写入时间也可以被配置为小于读取时间,这样,能够保证即使实时增量程序出现程序崩溃、程序异常重启或程序被迫中断等问题,每个批次的增量数据都能被写入知识图谱。
本实施例中,通过将增量数据在写入知识图谱之间,暂存于内存,并配置第二写入时间,在实时增量程序从内存中获取增量数据值之前,将内存中已有的增量数据写入知识图谱,避免了实时增量程序出现程序崩溃、程序异常重启或程序被迫中断等问题时,数据丢失的情况,提升了知识图谱中数据的准确性。
在一个实施例中,步骤240包括:
步骤241,响应于保存增量数据对应的写入请求至硬盘或消息中间件的第二分区,在第三写入时间内,读取增量数据对应的写入请求,将增量数据再次写入知识图谱。
示例性地,服务器104可以创建一个失败处理程序来响应于保存写入请求,在第三写入时间内,读取保存于硬盘或第二分区的写入请求,以将该增量数据再一次写入知识图谱。
可选地,在再次写入增量数据失败的情况下,服务器104可以重复响应于保存写入请求,执行上述步骤241,直至该增量数据被写入知识图谱。
本实施例中,通过响应于保存写入请求,并配置第三写入时间读取写入失败的增量数据对应的写入请求,能够避免在保存写入请求后,短时间内硬盘损坏、断电、心跳检测失败等问题仍然存在,造成再次写入失败的情况,提高了再次写入的效率,提升了知识图谱中数据的准确性。
在一个实施例中,上述方法还包括:步骤250。
步骤250,每间隔预设的重置时间,重复执行知识图谱的创建步骤,其中,重置时间小于知识图谱的过期时间;知识图谱的创建步骤包括:
其中,知识图谱的过期时间被配置为,在知识图谱中的数据的存在时间到达过期时间时,自动删除对应的数据。
进一步的,可以将步骤250配置为在夜间执行,以减少知识图谱在重置期间无法提供服务造成的影响。
步骤A,构建初始知识图谱。
具体的,可以根据业务的需要构建初始知识图谱的模式,包括:域、域的类型和属性等。
步骤B,获取数据库的全量数据,根据全量数据建立数据表,数据表中的数据为对全量数据进行数据清洗得到的。
具体的,服务器104在获取到数据库的全量数据后,可以借助HQL(hive sql)清洗全量数据的数据格式为知识图谱所需的数据格式,以得到数据表。
步骤C,将数据表中的数据写入初始知识图谱,得到知识图谱。
具体的,服务器104可以通过Spark或Flink等分布式计算引擎将数据表中的数据写入初始知识图谱。
本实施例中,通过在小于过期时间的重置时间内重新创建知识图谱,能够防止知识图谱中的数据全部过期。
示例性地,图4为本申请实施例提供的一种知识图谱的数据处理方法的数据流向图,通过将数据库的增量数据发送至消息中间件的特定分区,再对消息中间件中的增量数据进行读取,降低了增量数据直接写入知识图谱造成的知识图谱的数据错乱机率;另外,在增量数据写入失败的情况下,保存写入失败的增量数据对应的写入请求,然后读取该写入请求,以将增量数据再次写入知识图谱,实现了在增量数据写入失败的情况下,对写入失败的增量数据的校正,保证了知识图谱中的数据的准确性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的知识图谱的数据处理方法的知识图谱的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个知识图谱的数据处理装置实施例中的具体限定可以参见上文中对于知识图谱的数据处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种知识图谱的数据处理装置300,包括:数据获取模块310、第一写入模块320、请求保存模块330和第二写入模块340,其中:
数据获取模块310,用于获取数据库的增量数据,将增量数据发送至消息中间件的第一分区。
第一写入模块320,用于读取第一分区中的增量数据,将增量数据写入知识图谱。
请求保存模块330,用于在增量数据写入失败的情况下,保存增量数据对应的写入请求。
第二写入模块340,用于读取增量数据对应的写入请求,将增量数据再次写入知识图谱。
在一种可能的实现方式中,第一写入模块320包括:第一读取子模块、第一保存子模块、第一写入子模块和第二写入子模块。
第一读取子模块,用于间隔预设的读取时间,读取第一分区中的增量数据。
第一保存子模块,用于保存增量数据至内存。
第一写入子模块,用于间隔第一写入时间,获取内存中的第一增量数据,将第一增量数据写入知识图谱,其中,读取时间小于第一写入时间。
第二写入子模块,用于间隔第二写入时间,获取内存中的第二增量数据,将第二增量数据写入知识图谱,其中,第二写入时间小于第一写入时间;第一增量数据的数据量大于第二增量数据的数据量。
在一种可能的实现方式中,第一写入模块320还包括:第二读取子模块、第一确定子模块和第三读取子模块。
第二读取子模块,用于逐条读取第一分区中的增量数据,其中,第一分区的日志文件包括每条增量数据的偏移量。
第一确定子模块,用于在增量数据读取失败的情况下,根据第一分区的日志文件,确定下一次读取的读取起点为读取失败的增量数据对应的偏移量。
第三读取子模块,用于根据下一次读取的读取起点,继续逐条读取第一分区中的增量数据。
在一种可能的实现方式中,第二写入模块340包括:第四读取子模块。
第四读取子模块,用于响应于保存增量数据对应的写入请求至硬盘或消息中间件的第二分区,在第三写入时间内,读取增量数据对应的写入请求,将增量数据再次写入知识图谱。
在一种可能的实现方式中,数据获取模块310包括:监控子模块和获取子模块。
监控子模块,用于监控数据库的数据标识。
获取子模块,用于在数据标识发生变化的情况下,获取数据库的增量数据。在一种可能的实现方式中,数据获取模块310还包括:配置子模块和发送子模块。
配置子模块,用于配置增量数据的关键字段。
发送子模块,用于将增量数据发送至与关键字段对应的第一分区。
在一种可能的实现方式中,知识图谱的数据处理装置300还包括:
重置模块,用于每间隔预设的重置时间,重复执行知识图谱的创建步骤,其中,重置时间小于知识图谱的过期时间;重置模块包括:
构建初始知识图谱。
获取数据库的全量数据,根据全量数据建立数据表,数据表中的数据为对全量数据进行数据清洗得到的。
将数据表中的数据写入初始知识图谱,得到知识图谱。
上述知识图谱的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图Y所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储知识图谱的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种知识图谱的数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。