序列号生成方法和装置与流程

文档序号:24875083发布日期:2021-04-30 12:49阅读:142来源:国知局
序列号生成方法和装置与流程

本公开涉及计算机技术领域,特别是涉及一种序列号生成方法及装置。



背景技术:

为保证服务的并发安全性与响应性能,以及为建立良好的数据治理方案,常需要根据一定编码规则生成针对业务数据的序列号,序列号的唯一性与并发安全性,影响业务服务的正常开展。

在实现本公开技术构思的过程中,发明人发现相关技术中的序列号生成方法在应对高并发分布式的业务场景时,存在生成的序列号长度过长、占用存储空间过大的问题,这导致在建立序列号索引及基于索引进行查询时影响服务响应性能的问题,同时生成序列号的效率还可能存在受限于数据库性能的缺陷。



技术实现要素:

本公开的一个方面提供了一种序列号生成方法,包括:接收序列号生成请求,所述序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间;获取针对所述业务对象的redis键对象;基于所述业务标识,生成针对所述业务对象的第一序列号;基于所述redis键对象,生成针对所述业务对象的第二序列号;进行针对所述系统当前时间的结构化处理,得到第三序列号;进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理,得到针对所述业务对象的标识序列号。

可选地,在获取针对所述业务对象的redis键对象之前,包括:确定所述序列号生成请求是否成功指示所述业务标识和所述系统当前时间,若是,执行获取所述redis键对象的操作;所述获取针对所述业务对象的redis键对象,包括:获取与存储所述业务对象关联的redis键对象,或,获取当前所有redis键对象中最大的redis键对象,作为针对所述业务对象的redis键对象。

可选地,所述基于所述redis键对象,生成针对所述业务对象的第二序列号,包括:获取与所述redis键对象关联的redis值对象;进行基于所述redis值对象的预设第一逻辑运算,生成所述第二序列号。

可选地,所述业务标识包括以下至少之一:业务对象名称、业务对象所属的业务类型、待生成的标识序列号的序列名称、待生成的标识序列号的序列类型。

可选地,在进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理之前,包括:校验所述业务标识及所述系统当前时间是否异常,得到校验结果,以及若所述校验结果指示所述业务标识或所述系统当前时间存在异常,停止进行所述组合处理。

可选地,所述进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理,得到针对所述业务对象的标识序列号,包括:将所述第一序列号、所述第二序列号及所述第三序列号依次拼接,得到所述标识序列号。

可选地,所述进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理,得到针对所述业务对象的标识序列号,包括:抽取所述第二序列号的部分字符作为第一签名变量,抽取所述第三序列号的部分字符作为第二签名变量,进行基于所述第一签名变量和所述第二签名变量的预设第二逻辑运算,得到签名序列;进行基于所述第一序列号、所述第二序列号、所述第三序列号和所述签名序列的拼接处理,得到所述标识序列号。

本公开的另一方面提供了一种序列号生成装置,包括:接收模块,用于接收序列号生成请求,所述序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间;第一处理模块,用于获取针对所述业务对象的redis键对象;第二处理模块,用于基于所述业务标识,生成针对所述业务对象的第一序列号;第三处理模块,用于基于所述redis键对象,生成针对所述业务对象的第二序列号;第四处理模块,用于进行针对所述系统当前时间的结构化处理,得到第三序列号;第五处理模块,用于进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理,得到针对所述业务对象的标识序列号。

可选地,所述第一处理模块还用于在获取针对所述业务对象的redis键对象之前,确定所述序列号生成请求是否成功指示所述业务标识和所述系统当前时间,若是,执行获取所述redis键对象的操作;所述第一处理模块包括:第一处理子模块,用于获取与存储所述业务对象关联的redis键对象,或,第二处理子模块,用于获取当前所有redis键对象中最大的redis键对象,作为针对所述业务对象的redis键对象。

可选地,所述第三处理模块包括:第三处理子模块,用于获取与所述redis键对象关联的redis值对象;第四处理子模块,用于进行基于所述redis值对象的预设第一逻辑运算,生成所述第二序列号。

可选地,所述业务标识包括以下至少之一:业务对象名称、业务对象所属的业务类型、待生成的标识序列号的序列名称、待生成的标识序列号的序列类型。

可选地,所述第五处理模块还用于在进行基于所述第一序列号、所述第二序列号及所述第三序列号的组合处理之前,校验所述业务标识及所述系统当前时间是否异常,得到校验结果,以及若所述校验结果指示所述业务标识或所述系统当前时间存在异常,停止进行所述组合处理。

可选地,所述第五处理模块包括:第五处理子模块,用于将所述第一序列号、所述第二序列号及所述第三序列号依次拼接,得到所述标识序列号。

可选地,所述第五处理模块包括:第六处理子模块,用于抽取所述第二序列号的部分字符作为第一签名变量,抽取所述第三序列号的部分字符作为第二签名变量,进行基于所述第一签名变量和所述第二签名变量的预设第二逻辑运算,得到签名序列;第七处理子模块,用于进行基于所述第一序列号、所述第二序列号、所述第三序列号和所述签名序列的拼接处理,得到所述标识序列号。

本公开的另一方面提供了一种电子设备,包括一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中,

图1示意性示出了根据本公开实施例的序列号生成方法和装置的系统架构;

图2示意性示出了根据本公开实施例的一种序列号生成方法的流程图;

图3示意性示出了根据本公开实施例的获取redis键对象的方法流程图;

图4示意性示出了根据本公开实施例的序列号生成流程的示意图;

图5示意性示出了根据本公开实施例的一种序列号生成装置的框图;以及

图6示意性示出了根据本公开实施例的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性地,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、操作、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、操作、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程序列号生成装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

本公开的实施例提供了一种序列号生成方法以及能够运用该方法的生成装置。该方法例如可以包括如下操作,首先接收序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间,然后获取针对业务对象的redis键对象,以及基于业务标识生成针对业务对象的第一序列号,基于redis键对象生成针对业务对象的第二序列号,和进行针对系统当前时间的结构化处理,得到第三序列号,最后进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号。

图1示意性示出了根据本公开实施例的序列号生成方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,该系统架构100包括业务节点(图中示出了多个,如业务节点101、102、103)和服务器(如服务器104)。服务器与业务节点之间通信连接,业务节点的实际形式可以是物理设备、虚拟机、应用程序、代码工具等,示例性地,业务节点可以是与实际业务关联的集群的资源管理器,也可以是集群中的某个下游服务器,关于业务节点和调度节点的具体形式,本实施例在此不做限定。

服务器104接收来自业务节点(如业务节点101、102、103)的序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间,服务器104获取针对业务对象的redis键对象,和基于业务标识生成针对业务对象的第一序列号,基于redis键对象生成针对业务对象的第二序列号,以及进行针对系统当前时间的结构化处理,得到第三序列号,最后进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号,并将标识序列号返回业务节点(如业务节点101、102、103)。

需要说明的是,本公开实施例的序列号生成方法和装置可用于金融领域,也可用于除金融领域之外的任意领域。以下将结合附图和具体实施例详细阐述本公开。

图2示意性示出了根据本公开实施例的一种序列号生成方法的流程图,该方法应用于调度节点。

如图2所示,该方法200可以包括操作s210~s260。

在操作s210,接收序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间。

在本实施例中,具体地,当需要生成目标业务对象的标识序列号时,业务节点基于业务对象的业务标识和系统当前时间生成序列号生成请求,并将序列号生成请求发送给执行本实施例方法的服务器。其中,业务对象是实际业务活动中的业务单元,具体可以是在售商品、交易订单、交易合同、业务账号等。

业务对象的业务标识可以包括以下至少之一:业务对象名称、业务对象所属的业务类型、待生成的标识序列号的序列名称、待生成的标识序列号的序列类型。示例性地,业务对象名称例如可以是a品牌2021年春季b型号黑色西装175a版,待生成的标识序列号的类型例如可以包括交易订单编号、商品编号、合同编号等。系统当前时间具体可以是秒钟级时间、分钟级时间、小时级时间、日期级时间、月份级时间等。可以根据实际业务需要设置业务标识类型及系统当前时间粒度,本实施例在此不做过多限定。

接下来,在操作s220,获取针对业务对象的redis键对象。

在本实施例中,具体地,redis是一个开源的具有单线程多路并发性能的日志型key-value数据库,redis支持存储多种value类型,例如支持string(字符串)、list(链表)、set(集合)和zset(有序集合),不同类型数据支持push/pop、add/remove、取交并差集及更丰富操作,redis支持的各种类型操作具有原子性,原子性即不会被线程调度打断的机制,同一事务中的多个数据操作为不可分割的原子单元,单个数据操作的执行过程不会切换至其他线程,也不会被其他线程打断。

获取针对业务对象的redis键对象,利用redis键对象生成针对业务对象的标识序列号。由于redis为单线程运行,其进行的数据操作具有原子性,因此,redis键对象以及与redis键对象关联的redis值对象具有唯一性,基于redis键对象生成的标识序列号也具有唯一性,这有利于保证业务开展的并发安全性和响应性能。

接下来,在操作s230,基于业务标识,生成针对业务对象的第一序列号。

在本实施例中,具体地,基于序列号生成请求指示的业务标识,利用预设编码规则或映射关系,生成与所述业务标识关联的序列号,作为针对业务对象的第一序列号。第一序列号用于区分不同序列类型,相同序列类型的多个标识序列号具有相同的类型标识,即具有相同的第一序列号。示例性地,第一序列号so指示商品编码,po指示订单编码。

接下来,在操作s240,基于redis键对象,生成针对业务对象的第二序列号。

在本实施例,具体地,在基于redis键对象,生成针对业务对象的第二序列号时,获取与redis键对象关联的redis值对象,进行基于redis值对象的预设第一逻辑运算,生成第二序列号。由于redis为开源的日志型key-value数据库,在确定出与业务对象关联的redis键对象后,即可在key-value数据库中,获取与redis键对象关联的redis值对象。

在redis的key-value数据库中,key与value具有一一对应关系,value需要通过与其对应的key进行查找,因此,redis值对象需要通过与其对应的redis键对象进行查找。当key失效时,无法在key-value数据库中查找与其对应的value,可选地,设置针对redis键对象的预设有效时长,在针对redis键对象的预设有效时长内,获取与redis键对象关联的redis值对象。当超出有效时长时,redis键对象失效,此时无法基于redis键对象获取redis值对象,该种设计有利于实现自动清理存储数据。

进行基于redis值对象的第一逻辑运算,包括根据第一逻辑运算描述的序列号长度、序列号起始值、序列号当前值、序列号单次增幅、序列号跨度值、序列号编号等参数,对redis值对象进行编码或映射处理,生成针对业务对象的第二序列号。第二序列号为自增序列号,其在高并发分布式进程中仍可保持唯一性。在实际业务应用中,可以根据业务需求指定第二序列号长度,当实际生成的第二序列号长度小于指定要求长度时,可以通过对第二序列号进行补零操作,实现输出格式化的第二序列号。基于redis值对象生成的第二序列号具有天然有序性,其对分页或者数据排序具有很好的帮助。

接下来,在操作s250,进行针对系统当前时间的结构化处理,得到第三序列号。

在本实施例中,具体地,对序列号生成请求指示的系统当前时间进行格式化处理,得到符合预设格式要求的正则化表达式,以作为针对业务对象的第三序列号。示例性地,序列号生成请求指示的系统当前时间为2020年12月20日,对系统当前时间进行格式化处理,得到针对业务对象的第三序列号20201220。

接下来,在操作s260,进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号。

在本实施例中,具体地,在进行组合处理之前,校验上述业务标识及系统当前时间是否异常,得到校验结果,以及若校验结果指示业务标识或系统当前时间存在异常,抛出异常数据,停止进行组合处理。在对不同序列号进行格式化封装之前,再次校验业务标识及系统当前时间是否异常,异常则停止格式化封装处理,以此保证最终生成的标识序列号的正确可用性。

对第一序列号、第二序列号及第三序列号的组合处理,包括将第一序列号、第二序列号及第三序列号依次拼接,得到标识序列号。或者,抽取第二序列号的部分字符作为第一签名变量,抽取第三序列号的部分字符作为第二签名变量,进行基于第一签名变量和第二签名变量的预设第二逻辑运算,得到签名序列,然后对第一序列号、第二序列号、第三序列号和签名序列进行拼接处理,得到标识序列号。

从自增式的第二序列号中抽取部分字符作为第一签名变量,从时变式的第三序列号中抽取部分字符作为第二签名变量,通过对第一签名变量和第二签名变量进行第二逻辑运算,实现动态生成签名序列,这有利于进一步保证最终生成的标识序列号的唯一性,有利于更好地适用高并发分布式业务场景。

在本公开实施例中,接收序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间;获取针对业务对象的redis键对象;基于业务标识,生成针对业务对象的第一序列号;基于redis键对象,生成针对业务对象的第二序列号;进行针对系统当前时间的结构化处理,得到第三序列号;进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号。根据与业务对象关联的redis键对象,生成针对业务对象的标识序列号,redis键对象的唯一不重复性能够有效保证生成的标识序列号的唯一性,其不要求生成的标识序列号长度过长,这能够有效解决标识序列号占用存储空间过大、在建立序列号索引及基于索引进行查询时影响服务响应性能的问题,有利于很好地应对高并发分布式业务场景;同时本实施例方法不需要单点访问数据库表,能够有效克服生成序列号效率受限于数据库性能的缺陷。

图3示意性示出了根据本公开实施例的获取redis键对象的方法流程图。

如图3所示,操作s220可以包括操作s310~s320。

在操作s310,确定序列号生成请求是否成功指示业务标识和系统当前时间,若是,执行获取redis键对象的操作。

在本公开实施例中,具体地,在接收到序列号生成请求后,确定能否基于序列号生成请求,传入业务标识参数和系统当前时间参数,当确定能够成功传入上述两个参数后,执行后续获取redis键对象的操作。当确定无法成功传入上述任一参数时,抛出请求异常的提示信息,该操作有利于保证最终生成的标识序列号的准确可用性。

接下来,在操作s320,获取与存储业务对象关联的redis键对象,或获取当前所有redis键对象中最大的redis键对象,作为针对业务对象的redis键对象。

在本公开实施例中,具体地,当业务对象信息存储于redis数据库时,存在唯一确定的redis键对象与各业务对象信息进行关联,因此可以获取与存储业务对象关联的redis键对象。由于redis键对象为自增序列,redis数据库中的最大redis键对象始终保持更新,因此,也可以获取当前所有redis键对象中最大的redis键对象,作为针对业务对象的redis键对象。

图4示意性示出了根据本公开实施例的序列号生成流程的示意图,如图4所示,流程400包括操作s401~s411,各操作具体内容如下。

在操作s401,接收序列号生成请求。

在操作s402,确定序列号生成请求指示的参数是否为空,是则执行操作s403,否则执行操作s404,其中,参数包括业务对象的业务标识和系统当前时间。

在操作s403,提示序列号生成请求异常,结束序列号生成流程。

在操作s404,获取针对业务对象的redis键对象。

在操作s405,生成针对业务对象的第一、二、三序列号。

在操作s406,校验序列号生成请求指示的参数是否异常,是则执行操作s409,否则执行操作s407。

在操作s407,进行针对第一、二、三序列号的格式化封装处理。

在操作s408,输出生成针对业务对象的标识序列号,结束序列号生成流程。

在操作s409,再次生成针对业务对象的第一、二、三序列号。

在操作s410,再次校验序列号生成请求指示的参数是否异常,是则执行操作s411,否则执行操作s407。

在操作s411,提示序列号生成请求异常,结束序列号生成流程。

图5示意性示出了根据本公开实施例的一种序列号生成装置的框图。

如图5所示,该序列号生成装置500包括接收模块501、第一处理模块502、第二处理模块503、第三处理模块504、第四处理模块505和第五处理模块506。

具体地,接收模块501,用于接收序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间;第一处理模块502,用于获取针对业务对象的redis键对象;第二处理模块503,用于基于业务标识,生成针对业务对象的第一序列号;第三处理模块504,用于基于redis键对象,生成针对业务对象的第二序列号;第四处理模块505,用于进行针对系统当前时间的结构化处理,得到第三序列号;第五处理模块506,用于进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号。

在本公开实施例中,接收序列号生成请求,序列号生成请求指示待生成序列号的业务对象的业务标识,以及指示系统当前时间;获取针对业务对象的redis键对象;基于业务标识,生成针对业务对象的第一序列号;基于redis键对象,生成针对业务对象的第二序列号;进行针对系统当前时间的结构化处理,得到第三序列号;进行基于第一序列号、第二序列号及第三序列号的组合处理,得到针对业务对象的标识序列号。根据与业务对象关联的redis键对象,生成针对业务对象的标识序列号,redis键对象的唯一不重复性能够有效保证生成的标识序列号的唯一性,其不要求生成的标识序列号长度过长,这能够有效解决标识序列号占用存储空间过大、在建立序列号索引及基于索引进行查询时影响服务响应性能的问题,有利于很好地应对高并发分布式业务场景;同时由于不需要单点访问数据库表,能够有效克服生成序列号效率受限于数据库性能的缺陷。

作为一种可行的实施例,第一处理模块还用于在获取针对业务对象的redis键对象之前,确定序列号生成请求是否成功指示业务标识和系统当前时间,若是,执行获取redis键对象的操作;第一处理模块包括:第一处理子模块,用于获取与存储业务对象关联的redis键对象,或,第二处理子模块,用于获取当前所有redis键对象中最大的redis键对象,作为针对业务对象的redis键对象。

作为一种可行的实施例,第三处理模块包括:第三处理子模块,用于获取与redis键对象关联的redis值对象;第四处理子模块,用于进行基于redis值对象的预设第一逻辑运算,生成第二序列号。

作为一种可行的实施例,业务标识包括以下至少之一:业务对象名称、业务对象所属的业务类型、待生成的标识序列号的序列名称、待生成的标识序列号的序列类型。

作为一种可行的实施例,第五处理模块还用于在进行基于第一序列号、第二序列号及第三序列号的组合处理之前,校验业务标识及系统当前时间是否异常,得到校验结果,以及若校验结果指示业务标识或系统当前时间存在异常,停止进行组合处理。

作为一种可行的实施例,第五处理模块包括:第五处理子模块,用于将第一序列号、第二序列号及第三序列号依次拼接,得到标识序列号。

作为一种可行的实施例,第五处理模块包括:第六处理子模块,用于抽取第二序列号的部分字符作为第一签名变量,抽取第三序列号的部分字符作为第二签名变量,进行基于第一签名变量和第二签名变量的预设第二逻辑运算,得到签名序列;第七处理子模块,用于进行基于第一序列号、第二序列号、第三序列号和签名序列的拼接处理,得到标识序列号。

需要说明的是,在本公开实施例中,装置部分的实施方式与方法部分的实施方式相同或类似,在此不再赘述。

根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,接收模块501、第一处理模块502、第二处理模块503、第三处理模块504、第四处理模块505和第五处理模块506中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块501、第一处理模块502、第二处理模块503、第三处理模块504、第四处理模块505和第五处理模块506中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。接收模块501、第一处理模块502、第二处理模块503、第三处理模块504、第四处理模块505和第五处理模块506中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图6示意性示出了根据本公开实施例的电子设备的框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,电子设备600包括处理器610、计算机可读存储介质620。该电子设备600可以执行根据本公开实施例的方法。

具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理模块或者是多个处理模块。

计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。

计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。

计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621a、模块621b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。

根据本公开的实施例,接收模块501、第一处理模块502、第二处理模块503、第三处理模块504、第四处理模块505和第五处理模块506中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1