具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在区块链系统中,可以通过在同一个出块周期中并行打包多个区块来提升系统处理交易的性能。但区块链系统是一个点对点系统,整个系统各个节点都有统一的状态,其本地交易池也存在大量重复的交易数据。因此在同一个出块周期,当不同矿工同时打包生成多个合法区块,为了保证系统整个状态一致,需要对多个区块中的交易数据进行去重。
现有技术对多个区块中的交易数据进行去重主要有两种方法。
第一种方法是直接简单去重,即在各个矿工出块后,直接通过全局的共识排序逻辑对交易进行去重操作。这种方法未考虑重复交易对系统性能影响,比如降低区块链系统并行处理交易的能力、浪费宝贵的区块空间等。
第二种方法是在矿工将交易数据存入区块前,通过泊松分布和二项分布概率性等数学方法估算其它矿工的区块质量值来估算其他矿工的出块权的大小,从而根据自身出块权大小的估算排序,在一定概率下减少重复交易数据。但由于该方法采用概率性估算方法,导致在实际的系统运作中,每个出块周期的重复交易依然有百分之五十以上。
针对上述现有技术的不足,本申请的提供的一种基于区块链的交易出块方法、系统、设备及存储介质,可减少资源损耗、提高去重效率。为了说明本申请所述的技术方案,下面通过以下实施例来进行说明。
实施例一
本申请实施例提供的基于区块链的交易出块方法,可以应用于台式电脑、服务器、手机、平板电脑等电子设备,所述电子设备可为区块链系统中的区块链系统节点,本申请实施例对电子设备的具体类型不做任何限制。
另外,在本实施例及其他实施例中提及的“区块链系统节点”、“本节点”、“节点”等描述均是指在区块链系统中提供算力、存储等资源的设备或软件模块,可以是,但不限于部分区块链系统中的矿工。
请参阅图3,本申请实施例提供的基于区块链的交易出块方法,包括:
步骤S101,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
在一个实施例中,本机区块质量数据是衡量出块权大小的数据,其决定区块中交易数据被系统处理的顺序。本节点的本机区块质量数据比其他节点的区块质量数据高,则本节点打包生成的区块中的交易数据会被优先处理。本机区块质量数据对于不同共识协议的区块链系统,可以根据不同的策略来定义。例如,在使用pow共识机制的区块链系统中,可以使用区块hash值的大小来定义区块质量数据,而对于使用pos共识机制的区块链系统,可以使用出块矿工权益stake的大小来定义区块质量数据。
在一个实施例中,交易池是指本节点的本地交易池。区块链系统中的每个节点在区块链系统根据共识机制产生出块权的过程中接收到各种交易数据,并存储在本地的交易池中。然后在获得出块权后,就在本地交易池中挑选交易数据,以便将交易数据打包生成区块。
请参阅图4,在一个实施例中,所述根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息,包括:
步骤S1011,获取本出块周期内的其余区块数量值及区块容量值。
在一个实施例中,其余区块数量值是指一个出块周期内,共产生了的出块权的数量。区块容量值是指一个区块可以容纳的交易数据的数量。
步骤S1012,根据所述其余区块数量值及所述区块容量值计算其余区块总容量值;
在应用中,所述其余区块总容量值的计算公式可以为:
Qsum=Qb×Qt
其中,Qsum为所述其余区块总容量值,Qb为所述其余区块数量值,Qt为所述区块容量值。
在一个实施例中,其余区块总容量值反映了一个出块周期内,除了本节点产生的区块外,其他区块最多可以包含的交易数据的数量。比如一个出块周期可以产生5个区块,则除本节点产生的区块外,有4个区块,另假设所有区块均最多可以容纳3个交易数据,则本出块周期内除本节点产生的区块外的其他区块最多可以包含12个交易数据。一般来说,由于不同区块的交易数据可能出现重复,很多时候在对交易数据去重后,其余的区块所包含的交易数据数量会比上述其余区块总容量值小。只有在最理想的情况下,即不存在重复的交易数据的情况下,其余的区块所包含的交易数据数量才为上述的其余区块总容量值。
步骤S1013,根据所述交易池中交易数据的容量值和所述其余区块总容量值,生成所述初选标识信息。
其中,所述初选标识信息对应所有交易数据总容量值大于或等于所述其余区块总容量值,从而在后续处理中对重复交易数据去重的同时,不浪费区块的空间。后续处理将在下文详述,以下只结合例子作简要介绍以说明上述有益效果。
假设一个出块周期可产生2个区块,每个区块的容量值为2个交易数据。根据步骤S1011至步骤S1012可知,其余区块总容量值为2个交易数据。此时在初选选出的初选标识信息对应的交易数据的数量应为2个或以上,以避免在另一个节点的区块质量数据比本节点高,同时挑选的交易数据都跟本节点挑选交易数据重复时,本节点没有可选的交易数据,或可选的交易数据不足以充分利用区块空间的问题。
例如,如果本节点初选选出的第一初选标识信息对应的交易数据的数量为1个,则当另一个获得出块权的节点的区块质量数据高于本节点,而该节点挑选的交易数据与本节点挑选的交易数据相同时,区块质量数据较高的交易数据将被系统采纳。此时,即使本节点获得了另一个节点发送的第二初选标识信息,从而获知另一个节点挑选了一个交易数据与本节点初选的交易数据相同,但无从得知另一个节点会挑选哪一个交易数据作为剩余的交易数据进行打包,此时仍会存在交易数据重复的可能。
反之,如果本节点初选选出的第一初选标识信息对应的交易数据的数量为2个,另一个节点挑选第二初选标识信息对应的交易数据也为两个,即使出现两个交易数据都重复的情况,由于本节点在接收到第二初选标识信息的同时接收到另一个节点的区块质量数据,因而获知另一个节点挑选的的交易数据将会被优先采纳,则可以排除这两个重复的交易数据,而选择其他交易数据打包成区块,避免了交易数据重复。
步骤S102,将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中。
在一个实施例中,广播发送到区块链系统就是将将所述第一初选交易标识信息及本机区块质量数据发送给区块链系统的其他节点,以使其他节点获知本节点打算打包的交易数据及本节点的区块质量数据。
请参阅图5,在一个实施例中,所述将所述初选交易标识信息及本机区块质量数据广播发送到区块链系统中,包括:
步骤S1021,根据所述初选交易标识信息,构造布隆过滤器。
步骤S1022,将所述布隆过滤器与所述本地区块质量数据封装成数据包。
步骤S1023,将所述数据包广播发送到所述区块链系统中。
在一个实施例中,布隆过滤器包含一个二进制向量和一系列随机映射函数,可以用于检索一个元素是否在一个数据集合中,其优点是空间效率和查询时间都比一般的算法要好的多,从而减轻了因广播数据包对区块链系统的处理效率造成的影响。
步骤S103,接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据。
在一个实施例中,区块链系统其他节点发送的第二初选交易标识信息及对应节点区块质量数据的生成原理,与本节点的生成第二初选交易标识信息及对应节点区块质量数据的原理相同。通过获取其他节点发送的所述第二初选交易标识信息及节点区块质量数据,以获知其他节点打算打包的交易数据及其区块质量数据。
在应用中,所述第二初选交易标识信息及节点区块质量数据均可构造性布隆过滤器。也就是说,其他节点有多少个,本节点就会接收到对应数量的布隆过滤器。
在一个实施例中,在接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据后,会对节点区块质量数据进行验证,以确认其获得合法的出块权。
步骤S104,根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理。
步骤S105,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
在一个实施例中,如果筛选处理后的所述第一初选交易标识信息的数量不足以填满区块,则可以从本地交易池中挑选其它交易数据,只要挑选的过程中,注意排除已被区块质量数据比本节点高的其他节点已经挑选的交易数据即可。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例二
本申请实施例提供一种基于区块链的交易出块方法,包括实施例一中的步骤S101至步骤S105,本实施例是对实施例一的进一步说明,与实施例一相同或相似的地方,具体可参见实施例一的相关描述,此处不再赘述。
请参阅图6,实施例二除了实施例一的步骤外,还包括步骤S205至步骤S210。
具体来说,本实施例中的基于区块链的交易出块方法包括:
步骤S201,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
在一个实施例中,在根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息之前,还包括:
步骤S206,获取交易排序标准数据。
请参阅图7,在应用中,所述获取交易排序标准数据,可以包括:
步骤S2061,获取交易手续费用及区块链资源占用费用。
步骤S2062,根据所述交易手续费用及所述区块链资源占用费用计算交易性价比值。
其中,所述交易性价比值的计算公式为:
其中,P为所述交易性价比值,R为所述交易手续费用,F为所述区块链资源占用费用。区块链资源占用费用可理解为区块链系统节点提供算力所需的计算资源,比如以太坊区块链系统中的gas。区块链资源占用费用可以看做区块链系统节点打包交易数据的成本。所述交易手续费用可理解为交易方对区块链系统节点提供算力、存储等资源愿意支付的对价,比如以太坊区块链系统中的gasprice。交易手续费用看作是区块链系统节点打包该交易数据的收益。显然,所述交易手续费用越高占所述区块资源占用费用的比例越高,说明收益占成本的比例越高,交易性价比值就越高。
步骤S2063,将所述交易性价比值作为所述交易排序标准数据。
交易性价比值直接反应了打包对应交易数据的经济效益,在许多类型的区块链系统中,区块链系统节点会根据打包对应交易数据的经济效益确定交易数据的优先次序,交易性价比值是常用的一个排序标准数据。
步骤S207,根据所述交易排序标准数据对本地交易池中的交易数据进行排序,生成交易数据序列。
在应用中,可以按所述交易性价比值从高到低对对本地交易池中的交易数据进行排序,以便从开头开始挑选交易性价比值较高的交易数据进行后续处理。比如,所述根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息,可以包括:
按所述交易数据序列的顺序,在所述本地交易池中选取所述交易标识信息,生成初选交易标识信息。
通过按交易数据序列的顺序进行初选,可以选取出交易性价比值较高的交易数据,即使后续处理中因去重的原因,剔除了其中部分交易数据,但仍可确保对剩余的交易数据进行打包可具有较高的经济效益。
步骤S202,将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中。
步骤S203,接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据。
步骤S204,根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理。
请参阅图8,在一个实施例中,所述根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,包括:
步骤S2041,按所述初选交易标识信息对应的交易数据在所述交易数据序列中的顺序,逐一对所述第一初选交易标识信息进行筛选处理。
在应用中,由于交易数据序列可按交易性价比值由高至低进行排列,则第一初选交易标识信息也可按各自在交易数据序列中的位置进行排序,然后按顺序逐一对第一初选交易标识信息进行筛选处理,最终将剩余的第一初选交易标识信息对应的交易数据中具有最高交易性价比值的交易数据作为打包的交易数据。
步骤S2042,对第一目标初选交易标识信息进行筛选处理过程中,
步骤S2043,当在所述第二初选交易标识信息中存在与所述第一目标初选交易标识信息相同的交易标识信息时,判断对应所述节点区块质量数据是否大于所述本机区块质量数据,判断为是时,将所述第一目标初选交易标识信息剔除。
其中,所述第一目标初选交易标识信息为所有第一初选交易标识信息中任一条标识信息。也就是说,可以把所有第一初选交易标识信息作为一个数据集,第一目标初选交易标识信息是其中的数据元素。第一初选交易标识信息与第一目标初选交易标识信息是相同性质的标识信息,这里为说明方便,把正在进行筛选处理的第一初选交易标识信息与其他第一初选交易标识信息进行区分,并非要进行特别限定。
可以理解的是,步骤S2041至步骤S2043是一个循环进行的过程,直至对所有第一初选交易标识信息均进行筛选处理后才会结束。
步骤S205,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
可以理解的是,上述步骤S201、S202、S203、S204及S205,分别与实施例一中的步骤S101、S102、S103、S104及S105相同,有关说明详见实施例一,在此不再赘述。
下面结合图9对本申请实施例二全过程进行说明。
图9中除本节点外,还有两个获得出块权的节点,分别是节点1及节点2。本节点的区块质量数据为0.4,节点1的区块质量数据为0.5,节点2的区块质量数据为0.1。
本节点首先经过步骤S206-S207,将本地交易池中的交易数据进行排序,并按顺序放入15个分区中,其中每个分区的容量为三个交易数据。交易数据在图9中用圆圈表示,圆圈中的数字为交易数据的交易性价比值,比如图中交易性价比值最高的交易数据为交易数据A,其交易性价比值为105。
然后本节点经过步骤S201,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
然后经过步骤S202将所述第一初选交易标识信息及本机区块质量数据广播发送给节点1和节点2。
随后本节点经过步骤S203接收节点1和节点2广播发送的第二初选交易标识信息及对应节点区块质量数据。
之后本节点经过步骤S204根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,过程中,由于节点1的区块质量数据大于本节点,因此剔除了交易数据A和交易数据B。
最后,本节点经过步骤S205,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,分别是交易数据C、交易数据E及交易数据F,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
需要说明的是,为说明方便,图9中仅示出节点1和节点2,未示出其他区块链系统节点。步骤S202、步骤S203及步骤S205中涉及广播发送时,均是广播发送给区块链系统中除发送端节点外的其他所有节点。另外,图中部分箭头代表的过程包含两个步骤,比如包含步骤S206及S207,或者包含步骤S204及步骤S205。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例三
对应于上文实施例所述的基于区块链的交易出块方法,图10示出了本申请实施例提供的基于区块链的交易出块系统100的结构框图,该系统可以是终端设备中的虚拟装置(virtual appliance),由终端设备的处理器运行,也可以是集成于终端设备本身。所述终端设备可为区块链系统中的区块链系统节点。为了便于说明,仅示出了与本申请实施例相关的部分。
本申请实施例基于区块链的交易出块系统100包括:
初选模块1,用于在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
初选交易广播模块2,用于将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
节点交易接收模块3,用于接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
交易筛选模块4,用于根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
出块模块5,用于将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
请参阅图11,在一个实施例中,所述初选模块1包括:
容量参数获取单元11,用于获取本出块周期内的其余区块数量值及区块容量值;
总容量计算单元12,用于根据所述其余区块数量值及所述区块容量值计算其余区块总容量值;
其中,所述其余区块总容量值的计算公式为:
Qsum=Qb×Qt
其中,Qsum为所述其余区块总容量值,Qb为所述其余区块数量值,Qt为所述区块容量值;
容量初选单元13,用于根据所述交易池中交易数据的容量值和所述其余区块总容量值,生成所述初选标识信息。
其中,所述初选标识信息对应所有交易数据总容量值大于或等于所述其余区块总容量值。
请参阅图12,在一个实施例中,所述初选交易广播模块2包括:
过滤器构造单元21,用于根据所述初选交易标识信息,构造布隆过滤器;
封装单元22,用于将所述布隆过滤器与所述本地区块质量数据封装成数据包;
封装包广播单元23,用于将所述数据包广播发送到所述区块链系统中。
请参阅图13,在一个实施例中,基于区块链的交易出块系统100还包括:
排序标准获取模块6,用于获取交易排序标准数据;
排序模块7,用于序列根据所述交易排序标准数据对本地交易池中的交易数据进行排序,生成交易数据序列。
在应用中,在调用所述初选模块之前,依次调用所述排序标准获取模块6及排序模块7。
请参阅图14,在一个实施例中,所述排序标准获取模块6包括:
排序参数获取单元61,用于获取交易手续费用及区块链资源占用费用;
性价比计算单元62,用于根据所述交易手续费用及所述区块链资源占用费用计算交易性价比值;
其中,所述交易性价比值的计算公式为:
其中,P为所述交易性价比值,R为所述交易手续费用,F为所述区块链资源占用费用;
排序标准设定单元63,用于将所述交易性价比值作为所述交易排序标准数据。
在一个实施例中,所述初选模块包括:
交易顺序选择单元,用于按所述交易数据序列的顺序,在所述本地交易池中选取所述交易标识信息,生成初选交易标识信息。
请参阅图15,在一个实施例中,所述交易筛选模块4包括:
顺序筛选单元41,用于按所述初选交易标识信息对应的交易数据在所述交易数据序列中的顺序,逐一对所述第一初选交易标识信息进行筛选处理;
筛选单元42,用于对第一目标初选交易标识信息进行筛选处理过程中,
剔除单元43,用于当在所述第二初选交易标识信息中存在与所述第一目标初选交易标识信息相同的交易标识信息时,判断对应所述节点区块质量数据是否大于所述本机区块质量数据,判断为是时,将所述第一目标初选交易标识信息剔除;其中,所述第一目标初选交易标识信息为所有第一初选交易标识信息中任一条标识信息。
可以理解的是,顺序筛选单元41在按次序逐一对所述第一初选交易标识信息进行筛选处理时,每次都会调用筛选剔除单元42进行处理。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例四
如图16所示,本申请还提供了一种终端设备200,包括存储器201、处理器202以及存储在所述存储器中并可在所述处理器上运行的计算机程序203,例如基于区块链的交易出块程序。所述处理器202执行所述计算机程序203时实现上述各基于区块链的交易出块方法实施例中的步骤,例如实施例一和/或实施例二中的方法步骤。所述处理器202执行所述计算机程序203时实现上述各装置实施例中各模块的功能,例如实施例三中各模块、单元的功能。
示例性的,所述计算机程序203可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器201中,并由所述处理器202执行,以完成本申请实施例一、实施例二和/或实施例三。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序203在所述终端设备200中的执行过程。例如,所述计算机程序203可以被分割成初选模块、初选交易广播模块、节点交易接收模块、交易筛选模块及出块模块等,各模块具体功能在上述实施例三中已有描述,此处不再赘述。
所述终端设备200可以是接访终端设备。所述终端设备可包括,但不仅限于,存储器201,处理器202。本领域技术人员可以理解,图16仅仅是终端设备200的示例,并不构成对终端设备200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述存储器201可以是所述终端设备200的内部存储单元,例如终端设备200的硬盘或内存。所述存储器201也可以是所述终端设备200的外部存储设备,例如所述终端设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器201还可以既包括所述终端设备200的内部存储单元也包括外部存储设备。所述存储器201用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器201还可以用于暂时地存储已经输出或者将要输出的数据。
所称处理器202可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。