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

数据库更新方法及装置与流程

2022-02-20 19:39:42 来源:中国专利 TAG:
1.本技术属于计算机
技术领域
:,尤其涉及一种数据库更新方法及装置。
背景技术
::2.数据库是互联网应用技术中的核心和基础组成部分,并且随着互联网应用或业务的发展或扩张,需要更新数据库。3.在数据库更新方面,数据的录入速度是一项很重要的指标,尤其是在部署一个新的系统时,需要将海量的历史数据更新到新的系统的数据库中,然而海量数据的录入导致耗时延长,不利于数据库系统的部署和维护。技术实现要素:4.有鉴于此,本技术实施例提供了一种数据库更新方法及装置,以至少解决现有技术中数据库的数据录入速度较低的问题。5.本技术实施例的第一方面提供了一种数据库更新方法,包括:获取待更新至数据库的数据集和与所述数据集中的各个数据分别对应的数据插入语句;为所述数据集中的各个数据顺序分配相应的数据库索引;基于各个所述数据库索引依次调用对应的数据插入语句,以依次将所述数据插入语句对应的数据更新至所述数据库。6.本技术实施例的第二方面提供了一种数据库更新装置,包括:数据获取单元,用于获取待更新至数据库的数据集和与所述数据集中的各个数据分别对应的数据插入语句;索引分配单元,用于为所述数据集中的各个数据顺序分配相应的数据库索引;数据更新单元,用于基于各个所述数据库索引依次调用对应的数据插入语句,以依次将所述数据插入语句对应的数据更新至所述数据库。7.本技术实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。8.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。9.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器实现如上述方法的步骤。10.本技术实施例与现有技术相比存在的有益效果是:11.服务器(或宿主机)获取待更新至数据库的数据集和与数据集中的各个数据分别对应的数据插入语句,为数据集中的各个数据顺序分配数据库索引,并基于各个数据库索引调用数据插入数据以依次将数据集中的相应数据更新至数据库。由此,在数据录入的过程中,服务器利用所录入的数据来分配数据库索引,而不需使用前端系统所生成的数据id,避免了在存在乱序的数据id时的索引搜索时间的消耗,提高了数据库的数据录入速度。附图说明12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。13.图1示出了根据本技术实施例的数据库更新方法的一示例的流程图;14.图2示出了根据本技术实施例的调用数据库插入语句的一示例的流程图;15.图3示出了根据本技术实施例的数据库更新装置的一示例的结构框图;16.图4是本技术实施例的服务器的一示例的示意图。具体实施方式17.在一些情况下,在将新的数据录入到原有数据库中时,需要把待录入数据整理成一定的格式,插入到数据库中,以备后续调用。然而,在录入数据时将前端设备(或移动终端)所生成的数据id作为数据库的索引数据,而所录入的数据id乱序会导致延长索引的搜索时间。18.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。19.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。20.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。21.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。22.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。23.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。[0024]具体实现中,本技术实施例中描述的移动终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。[0025]在接下来的讨论中,描述了包括显示器和触摸敏感表面的移动终端。然而,应当理解的是,移动终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。[0026]可以在移动终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。[0027]另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0028]图1示出了根据本技术实施例的数据库更新方法的一示例的流程图。[0029]如图1所示,在步骤110中,获取待更新至数据库的数据集和与数据集中的各个数据分别对应的数据插入语句。这里,本技术实施例的数据库更新方法的执行主体可以是服务器或配置有数据库的宿主机,以实现将数据集更新至数据库。[0030]在本技术实施例的一些示例中,数据集中的各个数据可以是具有符合数据库插入的数据格式,例如当服务器收到待录入数据时,可以将待录入数据整理为符合数据库插入的数据格式。此外,针对具有符合数据库插入的数据格式的待插入的数据,服务器或其他设备可以分别生成相应的数据插入语句,以便于后续由数据库执行来实现相应的数据插入操作。应理解的是,可以采用各种方式来生成数据所对应的数据插入语句,具体实施细节可以参照目前相关技术中的描述,在此可不加限制。[0031]在步骤120中,为数据集中的各个数据顺序分配相应的数据库索引。这里,由服务器后台来为待插入的各个数据顺序分配数据库索引,而并未采用前端系统(或移动终端)所生成的数据id作为数据库的索引数据。[0032]在步骤130中,基于各个数据库索引依次调用对应的数据插入语句,以依次将数据插入语句对应的数据更新至数据库。例如,服务器可以基于数据库索引顺序地将各个数据插入语句传递至数据库,并由数据库顺序执行各个数据插入语句,以将各个相应的数据录入至数据库。[0033]需说明的是,在一些应用场景中,不同类型的移动终端为所生成的数据配置数据id的规则可能是不一样的,而当数据库需要以数据id作为索引时导致难以同时存储由不同类型的移动终端所产生的数据。此外,不同移动终端生成数据的过程可能是并发进行的,而在不存在数据id约束的情况下,也容易导致数据id出现乱序,使得在服务器将每条数据插入到数据库中时,id的顺序可能不是顺序的,而是由前端(或移动终端)传入的乱序值。[0034]示例性地,在将数据有序地插入至数据库时,插入记录或数据库索引表在主键上是有序排列的,而当将数据id作为主键而进行数据库的数据插入操作时,如果插入的记录在索引中间,则需要b tree(binarytree,二进制树)进行分裂合并等处理,会消耗比较多计算资源,并且插入记录的索引定位效率会下降,数据量较大时会有频繁的磁盘操作。[0035]在本技术实施例的一些实施方式中,可以通过内部id自增加方式来为待录入的不同数据顺序分配相应的数据库索引,保障插入数据库中的每条数据所对应的数据库索引是递增的。也就是说,每次插入记录都在索引的最后面,索引的定位效率很高,并且对索引调整较小。[0036]在本技术实施例中,利用服务器后台为所插入的数据顺序分配数据库索引,并以此来将相应的数据插入至数据库中,使得每次插入记录都在索引的最后面,避免了所录入的数据id乱序所导致的索引搜索时间的消耗,提高了数据库的数据录入速度。此外,还能够对由各种类型的移动终端所产生的数据进行数据存储,优化了数据库的性能。[0037]在本技术实施例的一些优选实施方式中,数据集中的每一数据分别具有相应的由移动终端所配置的数据标识(或数据id),在为所述数据集中的各个数据顺序分配相应的数据库索引之后,服务器还可以关联存储数据标识和目标数据库索引。进而,可以基于各个数据库索引依次查找对应的数据标识,调用数据标识对应的数据插入语句,以依次将数据插入语句对应的数据更新至数据库。由此,在通过后台索引自编序提升数据库的更新效率的同时,还能将前端配置的数据标识与数据库索引进行关联,例如建立具有数据标识与数据库索引之间的映射关系的数据表,可以实现数据溯源。[0038]在一些应用场景下,本技术实施例中的数据库可以是人脸检索系统中的特征数据库。当存在新的数据需要录入至人脸检索系统时,需要把待录入数据整理成一定的结构化格式,插入到人脸检索系统的数据库中,以备后续人脸检索系统的调用。需说明的是,在特征数据库中的结构化数据可以包含特征值信息,特征值信息不同于普通的属性字段,其数据量一般会远大于年龄、性别等属性字段。对于城市级的人像识别系统,要将各种结构化的数据存储到数据库中,而人脸检索系统的数据录入速度是一项很重要的性能指标。尤其是,在部署新的人脸检索系统时,需要把历史数据也一起录入到新的人脸检索系统中的数据库,此时海量数据的录入耗时将会是系统部署的性能瓶颈。[0039]在本技术实施例的一些示例中,数据库可以采用sql(structuredquerylanguage,结构化查询语言)数据库。进而,根据对数据库执行sql指令的原理分析,执行插入sql语句的耗时主要分为几部分:[0040]1)数据库在接收到sql语句时解析语句的耗时;[0041]2)数据库在接受数据录入请求时,需要建立连接,每个连接从连接池中获取,在承载大量并发操作时,连接数的消耗越大会越降低执行性能,在连接数耗尽时将无法执行后续命令;[0042]3)执行sql语句时,携带的需要插入数据库的大量数据信息在网络传输的io耗时;[0043]4)sql语句在数据库执行时是需要记录日志的,日志记录往磁盘中写入的数据量和频率会影响耗时;[0044]5)数据库插入时,需要维护索引数据,如果插入的主键是无序的记录会增大维护索引的成本;[0045]6)进行一个sql语句所对应的插入操作时,数据库内部会建立一个事务,在事务内才进行真正插入处理操作,导致执行sql语句时创建事务的消耗。[0046]在本技术实施例的第一方面的示例中,可以采用数据库索引自增加的方式来有针对性地数据库新录入数据的耗时。示例性地,在每次有新数据需要录入至人脸检索系统时,人脸检索系统可以将id主键设置为自增字段,每次存在一个新增数据记录就将id自增加1,这样就可以保证数据的有序插入。由此,每次在收集到需要插入的数据时,就可以保证作为记录主键的id是顺序的。[0047]参照如下表1,其示出了无序的数据插入和通过数据库索引自增加所实现的顺序数据插入所产生的数据录入耗时的对比实验结果。[0048]执行次数单条执行耗时(无序)单条执行耗时(顺序)1000.52s0.51s10006.53s6.43s1万70.12s70.30s10万800.23s789.55s[0049]表1[0050]如表1所示,通过有序的数据插入方式,可以提升数据库的录入性能,但是效果不太明显,其原因是数据库可以使用宿主机服务器的内存资源作为缓存buffer,这样可以极大地提高插入记录的索引定位效率。然而,当待录入的数据量足够大时,可能会因为数据量超过了buffer大小而导致磁盘读写频率增高,使得索引定位效率大大下降,此时有序的数据插入方式将会获得更加明显的数据录入性能的提升效果。[0051]在本技术实施例的一些示例中,还可以结合更多其他方面的优化方式来将数据插入到数据库中,从而进一步地提升数据插入效率,更多细节将在下文中展开。[0052]图2示出了根据本技术实施例的调用数据库插入语句的一示例的流程图。[0053]应理解的是,在数据库接收到数据插入语句之后,需要对数据插入语句进行解析和执行,故数据插入所导致的数据库更新耗时与数据插入语句的数量之间呈正相关关系。[0054]在步骤210中,判断数据集中的各个数据所分别对应的不同的数据插入语句之间是否满足设定语句格式条件。这里,设定语句格式条件可以表示不同语句能够进行合并所需要满足的格式要求。[0055]如果步骤210中的判断结果指示各个数据插入语句中的第一数据插入语句和第二数据插入语句满足设定语句格式条件时,则跳转至步骤221。如果步骤210中的判断结果指示各个数据插入语句中不存在第一数据插入语句和第二数据插入语句满足设定语句格式条件时,则跳转至步骤223。[0056]在步骤221中,合并第一数据插入语句和第二数据插入语句以生成相应的合并插入语句。[0057]接着,在步骤230中,针对与第一数据插入语句和第二数据插入语句所对应的数据库索引调用合并插入语句,以将与第一数据插入语句和第二数据插入语句所对应的数据更新至数据库。[0058]在步骤223中,分别调用数据集中的各个数据所对应的各个数据插入语句。[0059]在本技术实施例的一些示例中,设定语句格式条件为不同的数据插入语句(例如,第一插入语句和第二插入语句)中存在相同的设定语句成分。示例性地,插入语句中可以包括插入表名称、表属性和表属性值,当不同的数据插入语句中存在相同的插入表名称和表属性时,可以将不同的插入语句进行合并。[0060]例如,数据集中的数据存在对应的如下的数据插入语句:[0061]数据插入语句1:insertinto`face.insert_table1`(`id`,`time`,`age`,`gender`....)values('0','2019-04-1720:25:50','18','female'....),[0062]数据插入语句2:insertinto`face.insert_table1`(`id`,`time`,`age`,`gender`....)values('1','2019-04-1720:25:50','35','male'....)。[0063]基于上述数据插入语句1和数据插入语句2所对应的合并插入语句的示例可以是:[0064]合并插入语句:insertinto`face.insert_table1`(`id`,`time`,`age`,`gender`....)[0065]select'0','2019-04-1720:25:50','18','female'....[0066]unionallselect'1','2019-04-1720:25:50','35','male'....[0067]因此,基于相同的插入表名称face.insert_table1和表属性id,time等,可以将不同的数据插入语句进行合并,缩小了数据插入语句的数量,实现了批处理的数据插入过程,有助于降低数据插入时耗。[0068]在本技术实施例的第二方面的示例中,可以采用sql语句的批处理的方式来有针对性地数据库新录入数据的耗时。示例性地,可以将多条数据插入语句(或sql语句)的执行合并到一条数据插入语句,而不需要针对每条数据分别执行相应的数据插入语句,可以有效降低优化上述在1)、2)、3)和4)部分中所产生的耗时。[0069]因此,采用sql语句合并的形式来向数据库中插入数据,使得合并后语句所产生的日志量也相应减少,降低了日志刷盘的数据量和频率,从而提高效率。此外,合并sql语句同时也能减少sql语句解析的次数,减少网络传输的io,并且一条语句指令只需要使用数据库的一个连接而相应消耗一个连接资源,通过实际测试可以明显地降低耗时。参照如下表2,其示出了未合并语句和通过sql语句合并所产生的数据录入耗时的对比实验结果。[0070]执行次数单条执行耗时合并后执行耗时1000.52s0.05s10006.53s0.35s1万70.12s6.25s10万800.23s30.23s[0071]表2[0072]需说明的是,在数据库执行数据插入操作时或在数据库执行数据插入语句之后,需要数据库内部建立数据插入事务,并在该事务内进行相应的插入处理操作。在一些示例中,当存在数据插入事务时才可以正常执行数据插入语句,也就是说,数据插入事务可以用于使数据库执行数据插入语句对应的数据插入操作。然而,数据库内部建立事务也会导致数据库更新时耗的延长。[0073]鉴于此,在本技术实施例的一些示例中,在基于各个数据库索引执行数据集中的相应数据所对应的数据插入语句之前,可以构建数据插入事务,例如由服务器来构建数据插入事务。由此,在数据库执行数据插入语句之前由服务器事先构建数据插入事务,可以有效减少在执行数据插入操作时因数据库自身创建事务所导致的时间消耗,并且还能够将数据插入的时间提前(即,在数据库更新操作之前),可以有效提升数据库更新效率。[0074]在一些实施方式中,可以是采用以下方式来实现事务构建过程:[0075]{starttransaction;[0076]具体执行的数据插入语句;[0077]commit;}[0078]由此,数据插入语句的执行操作被设置放在starttransaction(外部开启事务)和commit(提交事务)之间,以将事务构建操作从数据库内部中分离出来,并在执行数据插入语句之前执行数据插入事务。[0079]在本技术实施例的第三方面的示例中,可以采用提前构建数据插入事务的方式来有针对性地数据库新录入数据的耗时。[0080]参照如下表3,其示出了目前未提前和提前构建数据插入事务的数据插入所产生的数据录入耗时的对比实验结果,不能得知数据录入性能实现了较大程度的提升。[0081]执行次数单条执行耗时(有序)事务插入(有序)1000.52s0.12s10006.53s1.42s1万70.12s11.30s10万800.23s95.55s[0082]表3[0083]在一些实施方式中,可以同时采用sql语句的批处理、数据库索引自增加和提前构建数据插入事务,可以大幅提升数据库的更新性能。参照如下表4,其示出了通过现有技术中的手段插入数据与sql语句的批处理 数据库索引自增加 提前构建数据插入事务所产生的数据录入耗时的对比实验结果。[0084]执行次数单条执行耗时(随机)数据批量插入 事务 有序1000.52s0.04s10006.53s0.22s1万70.12s3.30s10万800.23s25.55s[0085]表4[0086]通过本技术实施例,可以提升检索系统在采集、录入数据以及新部署系统过程中的数据录入性能。[0087]图3示出了根据本技术实施例的数据库更新装置的一示例的结构框图。[0088]如图3所示,数据库更新装置300包括数据获取单元310、索引分配单元320、数据更新单元330和数据插入事务构建单元340。[0089]数据获取单元310用于获取待更新至数据库的数据集和与所述数据集中的各个数据分别对应的数据插入语句。[0090]索引分配单元320用于为所述数据集中的各个数据顺序分配相应的数据库索引。[0091]数据更新单元330用于基于各个所述数据库索引依次调用对应的数据插入语句,以依次将所述数据插入语句对应的数据更新至所述数据库。[0092]在一些实施方式中,数据更新单元330包括合并语句生成模块(未示出)和合并语句调用模块(未示出)。具体地,合并语句生成模块用于当各个所述数据插入语句中的第一数据插入语句和第二数据插入语句满足设定语句格式条件时,合并所述第一数据插入语句和所述第二数据插入语句以生成相应的合并插入语句;以及合并语句调用模块用于针对与所述第一数据插入语句和所述第二数据插入语句所对应的数据库索引调用所述合并插入语句,以将与所述第一数据插入语句和所述第二数据插入语句所对应的数据更新至所述数据库。[0093]在本技术实施例的一些示例中,数据插入事务构建单元340用于在基于各个所述数据库索引调用所述数据集中的相应数据所对应的数据插入语句之前,构建数据插入事务,所述数据插入事务用于使所述数据库执行所述数据插入语句对应的数据插入操作。[0094]需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。[0095]图4是本技术实施例的服务器的一示例的示意图。如图4所示,该实施例的服务器400包括:处理器410、存储器420以及存储在所述存储器420中并可在所述处理器410上运行的计算机程序430。所述处理器410执行所述计算机程序430时实现上述数据库更新方法实施例中的步骤,例如图1所示的步骤110至130。或者,所述处理器410执行所述计算机程序430时实现上述各装置实施例中各模块/单元的功能,例如图3所示单元310至330的功能。[0096]示例性的,所述计算机程序430可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器420中,并由所述处理器410执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序430在所述服务器400中的执行过程。例如,所述计算机程序430可以被分割成数据获取模块、索引分配模块和数据更新模块,各模块具体功能如下:[0097]数据获取模块,用于获取待更新至数据库的数据集和与所述数据集中的各个数据分别对应的数据插入语句。[0098]索引分配模块,用于为所述数据集中的各个数据顺序分配相应的数据库索引。[0099]数据更新模块,用于基于各个所述数据库索引调用所述数据集中的相应数据所对应的数据插入语句,以依次将所述数据集中的相应数据更新至所述数据库中。[0100]所述服务器400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器410、存储器420。本领域技术人员可以理解,图4仅是服务器400的示例,并不构成对服务器400的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。[0101]所称处理器410可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。[0102]所述存储器420可以是所述服务器400的内部存储单元,例如服务器400的硬盘或内存。所述存储器420也可以是所述服务器400的外部存储设备,例如所述服务器400上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器420还可以既包括所述服务器400的内部存储单元也包括外部存储设备。所述存储器420用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器420还可以用于暂时地存储已经输出或者将要输出的数据。[0103]所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。[0104]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。[0105]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。[0106]在本技术所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。[0107]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0108]另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。[0109]所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。[0110]以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献