文件处理方法及装置、文件处理系统、计算机设备
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种文件处理方法、文件处理装置、文件处理系统、计算机存储介质和计算机设备。
背景技术
大型企业应用系统都面临与合作方的系统进行互相通信的需求,该些通信通常面临着庞大的交互数据,并且以文件的形式传递数据,然而,不同系统支持的文件类型不完全相同,某一系统在接收到其它系统发来的文件后,需要通过解析才可获取文件中的数据。
在实现本公开过程中发明人发现,一种文件解析程序只能解析对应文件类型的文件,若存在新增格式的文件,则需要耗费较长时间重新设计文件解析程序,开发重复性工作多、效率低,导致解析文件的成本高。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种文件处理方法、文件处理装置、计算机存储介质和计算机设备,进而至少在一定程度上避免了相关技术中文件解析程序开发的重复性工作多,开发效率低等问题。为实现以上技术效果,本公开采用如下技术方案。
本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供一种文件处理方法,包括:根据待解析任务对应的模板标识获取文件模板信息,所述文件模板信息为对应于目标文件格式的可配置化模板信息;根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件;根据所述文件模板信息中的第二维度信息对所述目标文件进行解析;根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
在本公开的一种示例性实施例中,根据所述第二维度信息对所述目标文件进行解析,得到所述目标文件对应的文件内容的描述信息和所述目标文件中的业务信息;所述根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发,包括:将所述文件内容的描述信息与所述第二维度信息进行匹配;若所述文件内容的描述信息与所述第二维度信息匹配,则将所述业务信息进行分发。
在本公开的一种示例性实施例中,所述业务信息的数量为多个,所述若所述文件内容的描述信息与所述第二维度信息匹配,则将所述业务信息进行分发,包括:通过异步通知的方式,将多个所述业务信息依次发送至业务系统。
在本公开的一种示例性实施例中,所述第一维度信息包括所述待解析任务对应的文件描述信息;所述根据所述模板信息中的第一维度信息,获取所述待解析任务对应的目标文件,包括:根据所述文件描述信息中的文件存储位置,下载所述目标文件。
在本公开的一种示例性实施例中,当存在增加的文件格式时,所述方法还包括:响应于用户对所述文件模板信息的调整操作;或者响应于用户的模板添加操作,生成与所述增加的文件格式对应的增加的文件模板信息;为所述增加的文件模板信息配置对应的增加的模板标识。
在本公开的一种示例性实施例中,所述方法还包括:根据所述增加的文件模板信息,对具有所述增加的文件格式的文件进行解析处理。
在本公开的一种示例性实施例中,在根据待解析任务对应的模板标识获取文件模板信息之前,所述方法还包括:按照预设时间间隔,周期性地获取所述待解析任务,其中所述待解析任务配置有对应的模板标识。
根据本公开实施例的一个方面,提供一种文件处理装置,所述文件处理装置包括:文件模板信息获取模块,用于根据待解析任务对应的模板标识获取文件模板信息,所述文件模板信息为对应于目标文件格式的可配置化模板信息;文件获取模块,用于根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件;文件解析模块,用于根据所述文件模板信息中的第二维度信息对所述目标文件进行解析;文件处理模块,用于根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
根据本公开实施例的一个方面,提供一种文件处理系统,所述系统包括:模板管理平台,用于管理文件模板信息;文件处理装置,用于根据所述文件模板信息,对待解析文件执行如上所述的任一项的文件处理方法,以获得解析结果;业务系统,用于根据所述文件处理装置对所述待解析文件的解析结果进行业务处理。
根据本公开实施例的一个方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的文件处理方法。
根据本公开实施例的一个方面,提供一种计算机设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的文件处理方法。
本公开实施例中的文件处理方法,基于可配置化的文件模板信息,对待解析任务对应的目标文件进行解析,并根据对解析后的目标文件的校验结果,将解析结果进行分发。通过可配置化的文件模板信息,便可对具有各种格式的目标文件进行解析,提高文件解析效率;同时,后期业务系统无需关心文件格式,避免了业务系统重复性开发文件解析程序,降低开发成本;并且通过校验过程进一步确保解析结果的正确性,提高了信息分发的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了根据本公开示例性实施例的文件处理方法的流程图;
图2示出了根据本公开示例性实施例的文件处理系统的架构图;
图3示出了根据本公开示例性实施例的文件处理装置的框图;
图4示出了根据本公开示例性实施例的计算机系统的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本领域的相关技术中,文件的解析的常规做法是一种文件解析程序只能解析一种文件类型,存在多种文件类型需要解析时,就需要使用多个文件解析程序。因此,对于一个业务系统存在增加的文件类型时,就需要增加配置文件解析程序,即当前文件解析方法的兼容性较差,重复性开发工作多,开发效率低。
基于此,在本公开的示例性实施例中,首先提供了一种文件处理方法,参考图1所示,该文件处理方法包括以下步骤:
步骤S110:根据待解析任务对应的模板标识获取文件模板信息,所述文件模板信息为对应于目标文件格式的可配置化模板;
步骤S120:根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件;
步骤S130:根据所述文件模板信息中的第二维度信息对所述目标文件进行解析;
步骤S140:根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
根据本公开示例性实施例中的文件处理方法,通过可配置化的文件模板信息,便可对具有各种格式的目标文件进行解析,提高文件解析效率;同时,后期业务系统无需关心文件格式,避免了业务系统重复性开发文件解析程序,降低开发成本;并且通过校验过程进一步确保解析结果的正确性,提高了信息分发的准确性。
图2示出了本公开示例性实施例中的文件处理系统的架构图,如图2可知,该系统包括:模板管理平台210、文件处理装置220、业务系统230。
具体的,
模板管理平台210,用于管理文件模板信息;
文件处理装置220,用于根据所述文件模板信息,对待解析文件执行文件处理,以获得解析结果;
业务系统230,用于根据所述文件处理装置对所述待解析文件的解析结果,进行业务处理。
当然,该系统还可以包括提供待处理文件的外系统240,其中外系统240例如为与业务系统有业务往来的金融机构的系统,等等。
参照图2所示,文件处理装置220作为该文件处理系统的核心组元,基于从模板管理平台210获得文件模板信息,对外系统240提供的待解析文件进行解析,并将解析结果发送至业务系统230,使得业务系统230无需关心待解析文件的文件格式;同时,通过模板管理平台210修改、增加文件模板信息,即可实现对外系统240提供的任意格式的文件的解析,并将解析获得的数据发送至业务系统230,无需重复开发新的解析程序,文件处理系统的可扩展性高。
下面结合图1对本公开示例实施例中的文件处理方法进行详细阐述,其执行主体为文件处理系统中的文件处理装置。
在步骤S110中,根据待解析任务对应的模板标识获取文件模板信息。
在本公开的示例性实施例中,可以按照预设时间间隔,周期性地获取待解析任务,并且待解析任务配置有对应的模板标识,基于该模板标识,能获取与待解析任务对应的文件模板信息;或者,还可以通过实时监控策略,实时查询是否存在新的待解析文件加入,若存在,则将所述新的待解析文件作为待解析任务获取。其中,模板标识用于唯一标识文件模板信息,在可选的实施例中,模板标识例如可以为数字、字母或其它字符的组合;在可选的实施例中,还可以将文件扩展名作为模板标识,例如,若待解析任务配置的模板标识为文件扩展名rar(压缩文件),则获取以该文件扩展名rar为模板标识的模板信息作为目标文件模板信息,当然,还可以根据实际业务需求配置其它形式的模板标识,本公开包括但不限于上述的模板标识的形式。
文件模板信息为对应于目标文件格式的可配置化模板信息,本公开中通过在模板管理平台配置并管理各类文件格式对应的文件模板信息。其中,文件也是一种接口形式,需要对文件的写入和读取约定格式,包括文件描述信息和文件内容的描述信息,其中,文件描述信息包括但不限于文件存储地址、文件夹位置、文件名,等等;文件内容的描述信息包括但不限于文件头、文件字段数、分隔符数量,等等,本公开对此不再一一列举。
由于一个外系统可以包括一种或多种业务需求,同一系统中的不同业务需求,对应的文件格式可能也不相同,因此可以根据实际数据交互的需求,为外系统配置一个或多个模板。举例而言,对于外系统为某金融系统,并且该系统包括黄金业务和股票业务,则针对不同的业务配置与其文件格式对应的模板,并存于数据库中,当需要对该系统中的文件进行解析时,可直接调用已有的文件模板信息,无需重复配置工作,解析效率高。
在步骤S120中,根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件。
在本公开的示例性实施例中,文件模板信息中的第一维度信息可以为待解析任务对应的文件描述信息,包括但不限于文件存储地址、文件夹位置、文件名等等,可以基于文件描述信息中的文件存储地址,下载待解析任务对应的目标文件。例如可以通过调用网关下载该目标文件,通过该过程,一定程度上提高了获得的待解析文件的准确性,无需维护系统之间的接口,维护简单,也提高了响应速度。
需要说明的是,还可以根据实际的数据交互需求,为文件处理装置与外系统之间维护接口,并通过该接口调用外系统中的目标文件,本公开包括但不限于上述的获取目标文件的方式。
在步骤S130中,根据所述文件模板信息中的第二维度信息对所述目标文件进行解析。
在本公开的示例性实施例中,根据文件模板信息中的第二维度信息,对目标文件进行解析,以获得目标文件对应的文件内容的描述信息和目标文件中的业务信息;其中,文件模板信息中的第二维度信息为刻画标准化文件模板的相关信息,例如可以为文件内容的描述信息,包括但不限于文件头字段数、文件明细字段数、文件分隔符数量和文件头分隔符,等等;目标文件中的业务信息为后续业务系统进行业务处理所需数据,例如退款金额、借款金额和还款计划数据等,业务信息的获取也正是文件解析的目的所在。
在步骤S140中,根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
在本公开的示例性实施例中,由于基于文件模板信息中的第二维度信息对目标文件进行解析,那么获得的解析结果与第二维度信息包括相同维度的文件内容的描述信息,如包括文件头字段数、文件分隔符数量、文件头分隔符数量,等等,那么将解析后的目标文件对应的文件内容的描述信息,与第二维度信息中各个维度的描述信息的数值进行匹配,并根据匹配结果将目标文件的解析结果进行分发。
举例而言,表1示出了文件模板信息,由表1可知,该文件模板信息的第二维度信息包括文件头字段数5、文件明细字段数20、文件分隔符数量35;表2示出了基于该文件模板信息解析后获得的目标文件的文件内容的描述信息,参照表2所示,解析后获得的文件内容的描述信息包括与表1所示的文件模板信息相同维度的描述信息(文件头字段数、文件明细字段数和分隔符数量)。
表1文件模板信息
表2目标文件的文件内容描述信息
文件头字段数 |
文件明细字段数 |
文件分隔符数量 |
a |
b |
c |
进一步的,将表2中的文件内容的描述信息与表1中文件模板信息中的第二维度信息进行匹配。具体而言,在a=5,b=20,c=35的情况下,则说明目标文件的文件内容描述信息与文件模板信息中的第二维度信息完全匹配,那么则表征获得的目标文件为正确的文件,进而确保对正确文件的解析,避免因外系统中上传错误文件并进行解析后,发送给业务系统错误的业务信息。相应的,若a、b和c中至少存在一个与表1中的第二维度信息不匹配的,则认为目标文件可能存在错误,则可以通过发送信息的方式通知人工接入处理;或者,将文件错误的信息反馈至外系统,以提示外系统重新上传正确文件。
进一步的,在完成对解析目标文件获得文件内容的描述信息的校验后,将获得的业务信息进行分发,发送至业务系统。其中,获得的业务信息可以为多个(例如可以包括多条订单信息),那么可以通过异步通知的方式发送该些业务信息,异步通知为在存在可用数据时,向业务系统发送信息即可,无需通过不停轮询的方式发送,并且文件处理装置在发送一信息后,无需关心该信息是否被处理,方可继续发送下一信息。通过异步通知的方式发送该些业务信息,提高了文件处理装置的吞吐能力,避免了不必要资源的浪费,提高系统整体的性能,进而提高文件处理的时效性。其中,异步通知的方式例如可以为发送MQ(MessageQueue,消息列队)信息的方式,本公开对此不做特殊限定。
基于此,业务系统将获得文件处理装置发送的多个业务数据,根据其具体需求选择相应的业务数据进行处理即可,无需关心待处理文件的具体格式,避免了业务系统针对不同文件格式开发不同的文件解析程序,降低开发成本。
此外,当存在增加的文件格式时,可以响应于用户对已有文件模板信息的调整操作;或者响应于用户的模板添加操作,生成与增加的文件格式对应的增加的文件模板信息,并且为获得的增加的文件模板信息配置对应的增加的模板标识。
举例而言,若外系统提供的文件中存在增加的文件格式CSV,首先,对该格式文件的写入和读取规则进行约定,即基于该CSV格式文件,配置第一维度信息,例如文件的描述信息(包括文件存储地址、文件夹位置等),以及第二维度信息,例如文件内容的描述信息(包括文件头字段数、文件明细字段数、文件分隔符数量和文件头分隔符等);然后,根据配置的第一维度信息和第二维度信息形成对应于文件格式CSV的文件模板信息;进一步的,为该文件模板信息分配模板标识,以唯一标识该文件模板信息,同时,将文件格式CSV对应的模板标识作为任务调度的入参,以根据该模板标识实现对文件格式CSV对应的文件模板信息的调用。类似的,还可以基于已有的文件模板信息,将与该文件模板信息中存在区别的第一维度信息和第二维度信息的部分进行调整,以生成文件格式CSV对应的文件模板信息,本公开对此不再赘述。
最后,在根据增加的模板标识获取文件格式CSV文件的解析任务时,基于该增加的文件模板信息,对具有增加的文件格式CSV的文件进行解析处理,具体解析过程与上述的文件解析过程相同,本公开在此不再赘述。
基于上述的配置过程,无需再重新开发对应于增加的文件格式的文件解析程序,仅需调整现有文件模板信息或增加新的文件模板信息即可,也极大的降低了开发成本,模板的可配置化程度高,可扩展性高,使得业务系统对各种外系统均具有兼容性。
综上可知,基于文件模板信息能对具有目标文件格式的文件进行解析,使得后续业务无需关系待解析文件的格式,避免了业务系统重复开发文件解析程序,降低了开发成本;由于模板的可配置化,通过调整配置模板,无需对模板整体进行重复性开发,进而使得基于不同的文件模板信息实现对具有各类文件格式的文件的解析,极大的提高了开发效率;同时,通过对解析后的目标文件的校验,以进一步确保获得的解析结果是正确的,避免出现将错误的文件解析结果分发至业务系统,提高了文件解析处理的信息安全性。
此外,在本公开的示例性实施例中,还提供了一种文件处理装置。参考图3所示,该文件处理装置300包括文件模板信息获取模块310、文件获取模块320、文件解析模块330和文件处理模块340。具体地,
文件模板信息获取模块310,用于根据待解析任务对应的模板标识获取文件模板信息,所述文件模板信息为对应于目标文件格式的可配置化模板信息;
文件获取模块320,用于根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件;
文件解析模块330,用于根据所述文件模板信息中的第二维度信息对所述目标文件进行解析;
文件处理模块340,用于根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
在本公开的一示例性实施例中,所述文件解析模块对所述目标文件解析后,得到所述目标文件对应的文件内容的描述信息和所述目标文件中的业务信息;所述文件处理模块340还包括:
校验单元,用于将所述文件内容的描述信息与所述第二维度信息进行匹配;
信息发送单元,用于在所述文件内容的描述信息与所述第二维度信息完全匹配时,则将所述业务信息进行分发。
在本公开的一示例性实施例中,所述第一维度信息包括所述待解析任务对应的文件描述信息;所述文件解析单元用于:
根据所述文件描述信息中的文件存储位置,下载所述目标文件。
在本公开的一示例性实施例中,所述装置还包括:
模板管理模块,用于响应于用户对所述文件模板信息的调整操作;或者
响应于用户的模板添加操作,生成与所述增加的文件格式对应的增加的文件模板信息;为所述增加的文件模板信息配置对应的模板标识。
在本公开的一示例性实施例中,所述装置还包括:
任务调度模块,用于按照预设时间间隔,周期性地获取所述待解析任务,其中所述待解析任务配置有对应的模板标识。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图4是根据一示例性实施方式示出的一种计算机系统的结构示意图。需要说明的是,图4示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序,或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、解析模块、发送模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“根据文件模板信息中的第二维度信息对目标文件进行解析的模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序。当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
根据待解析任务对应的模板标识获取文件模板信息,所述文件模板信息为对应于目标文件格式的可配置化模板信息;
根据所述文件模板信息中的第一维度信息,获取所述待解析任务对应的目标文件;
根据所述文件模板信息中的第二维度信息对所述目标文件进行解析;
根据所述第二维度信息对解析后的所述目标文件进行校验,并根据校验结果将所述目标文件的解析结果进行分发。
以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。