具体实施方式
为了更清楚地说明本实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。图1是根据本申请一些实施例所示的预设终端的检测系统的应用场景示意图。
如图1所示,预设终端的检测系统100可以用于任意包括预设终端110(例如,POS机)以及摄像终端130(摄像头)的指定场景,例如,百货商店、餐厅、饮吧等以预设终端110工作为核心的场景。具体的,通过获取预设终端以及用于拍摄预设终端的摄像终端(例如,摄像头)中的序列信息(如图1所示的第一序列120、第二序列140),并基于判断模型进行处理,确定预设终端是否正常工作。由此,通过预设终端产生的序列信息以及摄像终端产生的序列信息,判断预设终端是否正常工作,确保商店、餐厅等场所处于正常收款流程,为商店餐厅等场所营业利润提供的保障。
预设终端的检测系统100的应用场景可以包括预设终端110、摄像终端130、第一计算系统150以及第二计算系统180。
第一计算系统150可以用于获取预设终端110的第一序列120,以及拍摄预设终端的摄像终端130的第二序列140,其中第一序列120、第二序列140可以通过各种常见的方式进入第一计算系统150,并基于两者调用训练好的判断模型(如图1所示的第一模型152),确定预设终端130是否正常工作。例如,第一计算系统150可以获取到预设终端110在预设的N个时间段内的第一码流序列,以及摄像终端130在N个时间段内的第二码流序列和/或视频序列输入第一模型152,并基于从第一模型的输出确定预设终端的工作情况160。
模型152的参数可以通过训练得到。第二计算系统180可以获取多组样本数据170,每组训练样本可以包括第一序列和第二序列以及对应的预设终端的工作情况(例如,正常工作、异常工作),第二计算系统180通过多组训练样本170更新第二模型182的参数,得到训练好的模型。第一模型152的参数来自于训练好的第二模型182。其中,参数可以以任何常见的方式传递。
模型(例如,模型152和/或模型182)可以指基于处理设备而进行的若干方法的几何。这些方法可以包括大量的参数。在执行模型时,所使用的参数可以是被预先设置好的,也可以是动态调整的。一些参数可以通过训练的方法获得,一些参数可以在执行的过程中获得。关于本说明书中涉及模型的具体说明,可参见本说明书的相关部分。
第一计算系统150和第二计算系统180可以相同也可以不同。第一计算系统150和第二计算系统180是指具有与计算能力的系统,可以包括各种计算机,比如服务器、个人计算机,也可以是由多台计算机以各种结构连接组成的计算平台。
第一计算系统150和第二计算系统180可以包括处理设备,处理设备可以执行程序指令。处理设备可以包括各种常见的通用中央处理器(central processing unit,CPU),图形处理器(Graphics Processing Unit,GPU),微处理器,特殊应用集成电路(application-specific integrated circuit,ASIC),或其他类型的集成电路。
第一计算系统150和第二计算系统180中可以包括存储介质,存储介质可以存储指令,也可以存储数据。存储介质可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
第一计算系统150和第二计算系统180还可以包括用于内部连接和与外部连接的网络。也可以包括用于输入或输出的终端。网络可以是有线网络或无线网络中的任意一种或多种。
预设终端110可以是一种具有数据处理功能的终端,可以为POS机。在一些实施例中,预设终端110可包括具有发送数据功能的装置,在预设终端110进行数据处理产生第一序列120时,将第一序列120发送给第一计算系统150。在一些实施例中,预设终端110可以通过网络将数据发送给第一计算系统150。例如,预设终端110可以通过网络将产生的码流序列发送给第一计算系统150。
摄像终端130是用于监控预设终端110,具体的,摄像终端130通过拍摄预设终端110产生的第二序列140对预设终端110进行监控。在一些实施例中,摄像终端可以为摄像头,例如,枪机摄像头、半球型摄像机、一体化摄像机、网络摄像机等。在一些实施例中,摄像终端130可以通过网络将数据发送给第一计算系统150。例如,摄像终端130可以通过网络将对预设终端110拍摄所产生的第二序列140发送给第一计算系统150。
关于第一序列120、第二序列140、第一模型152、训练样本170、第二模型182以及预设终端的工作情况160的详细内容参见图2-图4,此处不再赘述。
图2是根据本申请一些实施例所示的预设终端的检测方法的示例性流程图。在一些实施例中,流程200可以由图1中所示的第一计算系统150执行。例如,流程200可以程序或指令的形式存储在存储设备(如第一计算系统150的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程200。在一些实施例中,流程200可以由处理设备执行。如图2所示,流程200,可以包括下述步骤。
步骤202,获取所述预设终端的第一序列,以及拍摄所述预设终端的摄像终端的第二序列。该步骤可由获取模块510执行。
预设终端可以是能够持续进行数据处理,以达到工作效果的设备。例如,销售点终端(POS,Pointofsales)等。
序列可以是由元素按一定顺序排列得到的集合,其中包括有元素以及每个元素的排列顺序。
预设终端的第一序列可以是预设终端在工作中按照时间先后顺序产生的与工作相关的数据所组成的序列。例如,预设终端的第一序列在执行工作时产生的数据。
在一些实施例中,预设终端的第一序列可以是预设终端在连续工作中产生的与工作相关的数据。例如,预设终端连续工作10分钟,产生关于这10分钟内工作的数据。在一些实施例中,预设终端的第一序列可以是预设终端在工作中,间断产生的数据所组成的序列。例如,预设终端连续工作10分钟,第2分种内、第4-6分钟内、第8-10分钟内所产生的数据组成的序列。
其中,预设终端的第一序列可以包括预设终端在预设的N个时间段内的第一码流序列。
码流可以是在1秒钟内,通信端口在传输数据时高低电平变化的次数。可以理解为单位时间内传送的数据越多,包含的信息量越多,码流相对也越大。例如,预设终端在执行工作时,每秒工作所传输的数据多少可以理解为码流。
第一码流序列可以用于表示预设终端工作中按照时间先后顺序每秒所传输的数据多少所组成的序列。进一步地,码流序列可以反映预设终端的工作情况。例如,在POS机执行工作为商家给用户刷卡支付时,每次用户刷卡成功支付时,则会产生并传输相应的码流,然而会与未有刷卡或刷卡未成功支付时产生并传输的码流不同。进一步地,包括有刷卡成功的码流序列与未包括有刷卡的码流序列不相同,以及包括不同时间点有刷卡成功的码流序列也不相同。
由上述的,N个时间段可以为N个时间区间,其中N为大于零的整数,例如,预设获取3个时间区间为30分钟的码流序列,则表示获取总时长为1小时30分钟内预设终端数据处理所产生的码流序列。
摄像终端可以是用于拍摄预设终端的摄像头,例如,摄像终端通过拍摄预设终端所产生的码流序列和/或视频序列对预设终端起到监测的效果。
摄像终端的第二序列可以为摄像终端获取图像信号时所产生的数据组成的序列,例如,摄像头通过对POS机进行拍摄所产生的数据序列,其中,第二序列与不同时间点包含POS机的图像信息相关。
其中,摄像终端的第二序列可以包括视频终端在N个时间段内的第二码流序列和/或视频序列。第二码流序列可以是摄像终端拍摄预设终端所产生的,其原理与第一码流序列相同,在此不做赘述。视频序列可以是由摄像终端在N个时间段拍摄预设终端产生的视频数据的特征所组成的序列,例如,获取到预设的总时长为2小时30分钟(5个30分钟的时间区间)的包括POS机图像的视频信息。由上述的,再例如,摄像头在拍摄POS机的情况时,当POS机进行工作(用户刷卡支付时),则POS机所处的位置会出现店员用POS机为用户刷卡进行支付的画面,对应的摄像头所产生码流序列以及视频信息对应的数据大小均会比POS机未工作时的数据大。
需要说明的是,预设终端和摄像终端的N个时间段,或各自序列中的元素相对应。例如,第一序列中,第一个元素是A时间段内的码流,第二序列中,第一个元素也应该是A时间段内的码流或者视频数据。换言之,N个时间段必须是相同的时间,序列中的顺序也是相对应的。
在一些实施例中,通过获取预设终端的码流序列,以及拍摄预设终端摄像终端产生的码流序列和/或视频序列,将摄像终端产生的序列作为预设终端正常工作时应产生码流作为参照,可以确定预设终端是否处理正常工作。
在一些实施例中,第一计算系统150可以从预设终端110中获取预设时间段内的码流序列,以及从摄像终端130中获取对预设终端110在预设时间段内进行拍摄所产生的码流序列和视频序列。在一些实施例中,预设终端110可以预先设置N个时间段,并将在这预设的时间段内所产生的码流序列发送给第一计算系统150。摄像终端130同理的,将预设时间段内对预设终端拍摄所产生的码流序列以及视频序列发送给第一计算系统150。
步骤204,将所述第一序列和所述第二序列输入判断模型,确定所述预设终端是否正常工作。该步骤可以由确定模块520执行。
判断模型可以根据上述获取到的第一序列、第二序列,判断预设终端是否处于正常工作状态。例如,将预设终端中产生的第一码流序列、摄像终端中产生的第二码流序列以及视频序列输入判断模型,基于判断模型的输出判断预设终端是否正常工作。
在一些实施例中,基于第一序列、第二序列输入判断模型,其输出可以是预设终端是否处于正常工作,例如,正常工作或异常工作。进一步地,输入判断模型的第二序列可以仅为第二码流序列,或仅为视频序列,或同时包括第二码流序列与视频序列。通过预设终端的第一序列、摄像终端的第二序列输入训练好的判断模型,直接确定预设终端是否处于工作状态,其过程无需人为的操作参与过程,大幅度提高了检测效率。
例如,POS机在30分钟内的10分钟、15分钟和25分钟时分别有用户进行刷卡支付,则对应的摄像头在拍摄POS机的码流序列以及视频序列中,在10分钟、15分钟和25分钟时会出现码流波动,倘若POS机这30分钟内产生的码流序列也在10分钟、15分钟和25分钟处出现码流波动时,则说明POS机处于正常工作状态。倘若POS这30分钟内的码流波动与摄像头码流序列和视频序列的码流波动多出不同,或并未出现码流波,则说明POS机并未完成用户支付,处于异常工作状态。
预设终端是否正常工作可以通过预设终端根据实际工作状态是否可以及时产生相应的码流确定。例如,POS机在当下进行用户刷卡支付成功时,通常情况(指正常工作时)会在当下时刻产生与支付成功相应的码流,但当POS机异常(指异常工作时)时,则会延迟产生或不产生与支付成功相应的码流。在一些实施例中,可以通过一段时间内预设终端的码流序列与应产生的码流序列(如,上述通过摄像头确定)进行比较,确定其是否正常工作。
由上述的判断模型可以包括第一特征提取层、第二特征提取层和结果判断层。判断模型通过第一特征提取层、第二特征提取层和结果判断层分别对第一序列和第二序列进行处理,确定预设终端是否处于正常工作状态。关于判断模型中的第一特征提取层、第二特征提取层和结果判断层的详细描述,请参照图3中的相关描述,在此不做赘述。
在一些实施例中,第一计算系统150基于获取到的第一序列120与第二序列140以及训练好的判断模型(如图1中的第一模型152),确定预设终端的工作情况160。例如,第一计算系统150将第一序列120与第二序列140输入到训练好的判断模型,获取到从判断模型输出的关于第一序列120与第二序列140的匹配度,根据匹配度确定预设终端的工作情况160。
在一些实施例中,确定预设终端异常工作时,可以发出警报信息,所述警报信息可以通过灯光、文字和语音信号中个的至少一种形式发出,在本说明书实施例中不做限定。
在一些实施例中,第一计算系统150确定预设终端处于异常工作状态时,可以控制安装在预设终端附近的报警装置发出报警信息,提醒工作人员该终端无法继续工作、需要进行修复。
图3是根据本申请一些实施例所示基于判断模型的预设终端检测方法的示例性流程图。
如图3所示,基于POS机(预设终端)的第一序列(包括第一码流序列),以及用于拍摄POS机的摄像头(拍摄终端)的第二序列输入至判断模型,可以获得从判断模型输出的第一序列与第二序列的匹配度,可以据此检测预设终端是否正常工作。关于第一序列第二序列的详细描述,请参照步骤202里的相关描述。
其中,第二序列中包括的视频序列可以通过视频特征提取模型获得,例如,将从摄像头工作产生N个时间段内的视频数据输入视频特征提取模型,获得从视频特征提取模型输出的视频序列。视频特征提取模型可以为卷积神经网络。
在一些实施例中,为卷积神经网络的视频特征提取模型可以包括卷积层和池化层,其中,卷积层可以包括不小于8*8的卷积核,池化层可以包括不小于6*6的压缩窗口,据此可以获得高度抽象化的视频数据特征,由此可以减少后续模型的计算量。在一些实施例中,压缩窗口可以为最大值压缩窗口或平均值压缩窗口,在本说明书实施例中不做限定。例如,通过视频特征提取模型卷积层中的不小于8*8的卷积核对视频数据进行卷积,并基于池化层中不小于6*6的压缩窗口对视频数据做进一步的特征提取,获得用于高度抽象化表示视频特征的视频序列。
在一些实施例中,视频特征提取模型中卷积核的参数可以基于对预先训练的人像识别模型中卷积核的参数进行迁移确定,其中预先训练的人像识别模型用于进行人像识别任务。其中,通过迁移确定的卷积核的参数可以包括卷积核的大小以及步长,例如,卷积核的大小为9*9,步长为1。可以理解为,视频特征提取模型中的训练数据可以为公用训练集,例如,基于人像识别模型对视频特征提取模型进行迁移学习,确定其中卷积核的参数。
根据以上描述,在获取关于POS机的视频数据高度抽象化特征的视频序列时,提高了获取其的准确度,且便于后续模型的计算量,例如,高度抽象化的视频序列可以减少后续的判断模型对视频序列的计算量。
如图3所示,判断模型可以包括第一特征提取层、第二特征提取层以及结果判断层。如图2中步骤204中所描述的,判断模型可以包括两个循环神经网络(分别对应第一特征提取层、第二特征提取层)以及一个全连接层(对应结果判断层),其中,至少一个模型的输出作为下一个模型的输入。例如,两个循环神经网络的输出作为全连接层的输入。
判断模型的第一特征提取层用于提取第一序列的序列特征,其中,第一特征提取层的输入可以为第一序列,其输出可以为用于表示第一序列序列特征的第一序列特征。在一些实施例中,第一序列的序列特征可以表示POS机进行工作的时间点。例如,第一码流序列为POS机于30分钟内产生的码流序列,根据码流序列中码流的大小判断POS机是否处于工作状态。通过判断模型的第一特征提取层确定第一码流序列中的序列特征,例如,确定POS机在30分钟内的为用户刷卡的时间点。在一些实施例中,第一特征提取层的输入可以是第一码流序列,输出可以是第一码流序列对应的第一序列。
判断模型第二特征提取层用于提取第二序列的序列特征,进一步地,提取第二码流序列以及视频序列的序列特征。第二特征提取层的输入可以为第二序列,其输出可以为用于表示第二序列序列特征的第二序列特征。其中,第二码流序列和视频序列的序列特征可以表示POS机应该处于工作状态的时间点。例如,第二码流序列和视频序列为POS机于30分钟内所在画面产生的数据。可以理解为,在POS机为用户进行刷卡支付时,第二码流序列和视频序列所产生的刷卡支付时间点因为人物以及POS机的运动,所产生的数据会比静止时产生的数据大,由此通过第二码流序列和视频序列中数据量大的时刻可以理解为POS机应该处于工作状态的时间点。在一些实施例中,第二特征提取层的输入可以是第二码流序列和视频序列,输出可以为用于表示POS机应处于工作状态时间点的第二序列。
由上述的,通过循环神经网络对序列进行处理,由此可以不用针对某个时间点预设终端是否正常工作,而是同事考虑多个时间点或一段时间,这样可以避免某个特定时间点时,因为环境人为等原因造成的误差。
判断模型的结果判断层用于基于第一序列特征与第二序列特征的匹配度,确定预设终端预设是否处于正常工作状态。其中,结果判断层的输入可以是第一序列特征和第二序列特征,其输出可以是两者之间的匹配度。
判断模型中第一特征提取层、第二特征提取层以及结果判断层的参数可以通过训练判断模型进行确定。例如,判断模型中的两个循环神经网络以及全连接层的模型参数可以通过训练判断模型时进行确定。关于训练判断模型方法的详细描述,请参照图4中的相关描述在此不做赘述。
图4是根据本申请一些实施例所示的判断模型训练方法的示意性流程图。在一些实施例中,流程400可以由图1中所示的第二计算系统180执行。例如,流程400可以程序或指令的形式存储在存储设备(如第二计算系统180的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程400。在一些实施例中,流程400可以由第二计算系统180中的处理设备执行。如图4所示,流程400,可以包括下述步骤。
步骤402,获取多个训练样本及其标签,所述训练样本包括样本预设终端的样本第一序列,拍摄所述样本预设终端的样本摄像终端的样本第二序列,所述标签表示所述样本预设终端是否正常工作,所述标签通过随机设置故障预设终端获取。
样本预设终端可以是正常工作或异常工作的预设终端,据此可以获得正常工作或异常工作所传输的数据组成的序列作为训练样本,即上述的样本第一序列,例如,样本预设终端所产生的码流序列。在一些实施例中,如步骤202中阐述的第一序列可以是预设终端在连续工作中产生的数据,或在预设终端工作中间断产生的数据组成。可以根据实际情况,选取相应的序列作为训练样本。
样本第二序列可以为拍摄样本预设终端所传输的数据组成的码流序列和/或视频序列,作为样本第一序列的参照。
标签可以表示样本预设终端是否正常工作(例如,正常工作,异常工作)。标签可以通过随机设置故障预设终端获取。例如,包括有故障预设终端对应的样本第一序列的训练样本标签为异常工作,未包括时则为正常工作。在一些实施例中,标签可以是“正常工作”或“异常工作”,可以分别用1或0表示。
在一些实施例中,一组训练样本可以包括样本第一序列(如,故障预设终端产生的码流序列)、样本第二序列(如,拍摄故障预设终端产生的码流序列或视频序列)以及对应的标签(异常工作)。
在一些实施例中,第二计算系统180可以获取到多个训练样本170及其中对应的标签。在一些实施例中,第二计算系统180可以自带的存储设备或外接的存储设备中获取到处理好的多个训练样本170及其中对应的标签。
步骤404,基于所述多个训练样本训练初始判断模型,得到所述判断模型。
在一些实施例中,可以基于多个带有标签的训练样本训练初始判断模型,得到判断模型。具体的,将带有标签的训练样本输入判断模型,通过训练更新判断模型的参数(如,其中图3中的第一特征提取层、第二特征提取层以及结合判断层中的参数)。
在一些实施例中,初始判断模型可以基于步骤402中的样本及标签通过各种方法进行训练,更新模型参数。例如,可以基于梯度下降法进行训练。
在一些实施例中,判断模型可以通过端到端的学习方式训练得到。例如,判断模型通过输入的训练样本,确定预测的标签,并基于预测的标签与训练样本实际的标签进行比较,确定判断模型的损失函数,并基于损失函数调节判断模型的参数。即基于第一特征提取层(循环神经网络)、第二特征提取层(循环神经网络)和结果判断层(全连接层)的损失函数同时调节第一特征提取层(循环神经网络)、第二特征提取层(循环神经网络)和结果判断层(全连接层)的模型参数。
在一些实施例中,当训练初始判断模型满足预设条件时,训练结束。其中预设条件可以是损失函数结果收敛或小于预设阈值等。在训练结果时得到的初始判断模型中的模型参数可以作为判断模型的模型参数,或者将初始判断模型作为判断模型。
在一些实施例中,第二计算系统180可以根据获取到的多个训练样本170及其中的标签,对第二模型182(对应上述的初始判断模型)进行训练,在训练完成时获得第一模型152(对应上述的判断模型)。
图5是根据本申请一些实施例所示的预设终端的检测系统的模块图。
如图5所示,该预设终端的检测系统可以包括获取模块510和确定模块520。
获取模块510可以用于获取所述预设终端的第一序列,以及拍摄所述预设终端的摄像终端的第二序列。其中,预设终端的第一序列可以是预设终端在工作中按照时间先后顺序产生的与工作相关的数据所组成的序列。在一些实施例中,预设终端的第一序列可以包括预设终端在预设的N个时间段内的第一码流序列。第一码流序列可以用于表示预设终端工作中按照时间先后顺序每秒所传输的数据多少所组成的序列。进一步地,码流序列可以反映预设终端的工作情况。摄像终端的第二序列可以为摄像终端获取图像信号时所产生的数据组成的序列。摄像终端的第二序列可以包括视频终端在N个时间段内的第二码流序列和/或视频序列。第二码流序列可以是摄像终端拍摄预设终端所产生的,其原理与第一码流序列相同,在此不做赘述。视频序列可以是由摄像终端在N个时间段拍摄预设终端产生的视频数据的特征所组成的序列。
确定模块520可以用于将所述第一序列和所述第二序列输入判断模型,确定所述预设终端是否正常工作。其中,判断模型可以根据上述获取到的第一序列、第二序列,判断预设终端是否处于正常工作状态。例如,将预设终端中产生的第一码流序列、摄像终端中产生的第二码流序列以及视频序列输入判断模型,基于判断模型的输出判断预设终端是否正常工作。在一些实施例中,基于第一序列、第二序列输入判断模型,其输出可以是预设终端是否处于正常工作,例如,正常工作或异常工作。
应当理解,图5所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图5中披露的获取模块510和确定模块520可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,获取模块510和确定模块520可以是两个模块,也可以是一个模块同时具有获取功能和数据确定功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。