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

多项式乘法运算方法、多项式乘法器、设备及介质与流程

2022-11-16 07:45:23 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种多项式乘法运算方法、多项式乘法器、设备及介质。


背景技术:

2.有限域上的多项式乘法是基于格的密码方案硬件实现性能和效率的主要瓶颈,数论变换(ntt,number theoretic transforms)能有效降低这一过程的运算复杂度。ntt的参数多样性给统一和高效的硬件实现带来了很多现实挑战。
3.现有技术主要有以下两方面不足:一方面缺失电路配置的灵活性,不能适应算法参数的动态调整,仅能支持部分参数或者有限的计算模式。另一方面硬件利用效率低下,为了实现对所有算法实现支持,数据通路的计算位宽需要兼容模数q的最大值,从而造成硬件在执行公钥加密算法时的资源利用率过低,数据存储量过大。


技术实现要素:

4.本发明的主要目的在于提供一种多项式乘法运算方法、多项式乘法器、设备及介质,可解决现有多项式乘法运算常数存储量太大的技术问题。
5.为实现上述目的,本发明实施例第一方面提供一种多项式乘法运算方法,包括:将前处理步骤与ntt变换进行合并,得到合并ntt变换,并分别对输入的多项式a(x)和b(x)进行所述合并ntt变换,得到多项式a(x)和b(x),所述多项式a(x)的系数为a,所述多项式b(x)的系数为b;对所述多项式a(x)的系数a和所述多项式b(x)的系数b执行点乘运算,得到点乘运算结果c(x);将后处理步骤与intt变换进行合并,得到合并intt变换,对所述点乘运算结果c(x)进行所述合并intt变换,得到c(x);其中,在对所述点乘运算结果c(x)进行所述合并intt变换的模减运算过程中,交换所述系数a和所述系数b的运算位置。
6.在本发明一实施例中,所述点乘运算采用montgomery算法。
7.在本发明一实施例中,所述点乘运算结果c(x)的模数为q,所述方法还包括:获取所述模数q的位宽;在所述模数q的位宽在预设第一范围值之内的情况下,采用双通道模式执行多项式乘法运算;在所述模数q的位宽在预设第二范围值之内的情况下,采用单通道模式执行多项式乘法运算;其中,所述第一范围值与所述第二范围值不重合。
8.在本发明一实施例中,所述第一范围值为小于等于g比特,所述第二范围值为大于g比特小于2g比特,g为正整数。
9.本发明实施例第二方面提供一种执行如第一方面所述的多项式乘法运算方法的多项式乘法器,包括一模运算单元,所述模运算单元包括多个数据选择器、第一模减单元、模乘单元、第二模减单元和模加单元;所述模运算单元可被配置执行的运算操作类型包括ct-bfu、gs-bfu、模加运算、模减运算和模乘运算;其中, 在所述模运算单元被配置执行的运算操作类型gs-bfu的情况下,所述第一模减单元反序读取输入的多项式a(x)的系数a和多项式b(x)的系数b,执行模减运算。
10.在本发明一实施例中,所述模乘单元采用montgomery算法。
11.在本发明一实施例中,所述模运算单元的数据通路模式包括单通路模式和多通路模式;在模数q的位宽在预设第一范围值之内的情况下,所述模运算单元的数据通路模式被配置为双通道模式;在模数q的位宽在预设第二范围值之内的情况下,所述模运算单元的数据通路模式被配置为单通道模式。
12.在本发明一实施例中,所述模乘单元包括第一乘法器、第二乘法器、第三乘法器、判零单元和模加法器;所述第一乘法器、第二乘法器和第三乘法器级联,所述第一乘法器的输出端连接所述判零单元的输入端以及所述模加法器的第一输入端,所述判零单元的输出端连接所述模加法器的第二输入端,所述第三乘法器的输出端连接所述模加法器的第三输入端。
13.在本发明一实施例中,所述第一乘法器、所述第二乘法器和所述第三乘法器均包括:ka乘法器、第一数据选择器和第二数据选择器;所述ka乘法器的第一输出端连接所述第一数据选择器的第二数据输入端和所述第二数据选择器的一数据输入端,所述ka乘法器的第二输出端连接所述第一数据选择器的第一数据输入端和所述第二数据选择器的二数据输入端。
14.本发明实施例第三方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例第一方面提供的多项式乘法运算方法。
15.本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的多项式乘法运算方法。
16.从上述本发明实施例可知,本发明提供的多项式乘法运算方法、多项式乘法器、设备及介质,将前处理步骤与ntt变换进行合并,得到合并ntt变换,并分别对输入的多项式a(x)和b(x)进行该合并ntt变换,得到多项式a(x)和b(x),该多项式a(x)的系数为a,该多项式b(x)的系数为b,对该多项式a(x)的系数a和该多项式b(x)的系数b执行点乘运算,得到点乘运算结果c(x),将后处理步骤与intt变换进行合并,得到合并intt变换,对该点乘运算结果c(x)进行该合并intt变换,得到c(x),其中,在对该点乘运算结果c(x)进行该合并intt变换的模减运算过程中,交换该系数a和该系数b的运算位置。对比现有技术需存储2m个常数,利用本发明可只存储m个常数,降低常数的存储开销。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1示意性示出了经典多项式乘法运算方法的流程图。
19.图2示意性示出了根据本发明实施例的多项式乘法运算方法的流程图。
20.图3示意性示出了根据本发明实施例的使用多项式乘法运算方法的数据流图。
21.图4示意性示出了根据本发明实施例的改进的gs-bfu的数据流图。
22.图5示意性示出了根据本发明实施例的多项式乘法器的结构示意图。
23.图6示意性示出了根据本发明实施例的模运算单元的结构示意图。
24.图7示意性示出了根据本发明实施例的模乘单元的结构示意图。
25.图8示意性示出了根据本发明实施例的第一乘法器的结构示意图。
26.图9示意性示出了根据本发明实施例的适于实现多项式乘法运算方法的电子设备的方框图。
具体实施方式
27.以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
28.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
29.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
30.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
31.在本发明的技术方案中,对数据的获取、收集、存储、使用、加工、传输、提供、发明和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
32.图1示意性示出了经典多项式乘法运算方法的流程图。
33.如图1所示,经典多项式乘法运算方法的计算流程:输入多项式a(x)和b(x)相乘得到结果多项式c(x)。其中,a(x),b(x),c(x)均为环上的多项式,环内每个元素的表示形式均为n阶多项式,多项式每个系数都在域内。
34.现有的多项式乘法运算方法的具体流程按顺序包括:(1)多项式的预处理,其中是域的2n阶本原单位根;(2)ntt(number theoretic transform)变换;(3)频域的系数对应相乘;(4)intt(inverse number theoretic transform)变换;(5)多项式后处理。该算法流程需要对多项式的系数进行前处理以及后处理,有额外的乘法运算开销和常系数的存储开销。
35.本发明的实施例提供了一种多项式乘法运算方法,可以用于格密码算法的密钥生成、加密、解密过程中,用于完成多项式乘法的运算加速,卸载系统的性能瓶颈,该方法包括:将前处理步骤与ntt变换进行合并,得到合并ntt变换,并分别对输入的多项式a(x)和b(x)进行该合并ntt变换,得到多项式a(x)和b(x),该多项式a(x)的系数为a,该多项式b(x)的系数为b,对该多项式a(x)的系数a和该多项式b(x)的系数b执行点乘运算,得到点乘运算结果c(x),将后处理步骤与intt变换进行合并,得到合并intt变换,对该点乘运算结果c(x)进行该合并intt变换,得到c(x),其中,在对该点乘运算结果c(x)进行该合并intt变换的模减运算过程中,交换该系数a和该系数b的运算位置。对比现有技术需存储2m个常数,利用本发明可只存储m个常数,降低常数的存储开销。
36.图2示意性示出了根据本发明实施例的多项式乘法运算方法的流程图。
37.如图2所示,该实施例的多项式乘法运算方法包括操作s210~操作s230。
38.在操作s210,将前处理步骤与ntt变换进行合并,得到合并ntt变换,并分别对输入的多项式a(x)和b(x)进行该合并ntt变换,得到多项式a(x)和b(x),该多项式a(x)的系数为a,该多项式b(x)的系数为b。
39.在操作s220,对该多项式a(x)的系数a和该多项式b(x)的系数b执行点乘运算,得到点乘运算结果c(x)。
40.在操作s230,将后处理步骤与intt变换进行合并,得到合并intt变换,对该点乘运算结果c(x)进行该合并intt变换,得到c(x)。
41.其中,在对该点乘运算结果c(x)进行该合并intt变换的模减运算过程中,交换该系数a和该系数b的运算位置。
42.ntt在算法实现上,有cooley tukey和gentleman sande两种算法,分别对应着时域的ct-bfu(butterfly unit)和频域的gs-bfu两种结构。
43.请参阅图3,图3以多项式维度等于8(ntt的级数为log28=3)为例,给出了本发明中使用多项式乘法运算方法的数据流图,其中ntt变换采用ct-bfu,intt变换采用gs-bfu。如图3所示,将多项式系数的前处理隐式地合并到了ntt变换中,后处理合并到了intt变换中。对于维度为m的多项式系数而言,减少了2m个模乘运算,同时减少了m个常数的存储。
44.本发明中,改进了现有gs-bfu的数据流图,具体变化如图4所示,其中的一个输出端口值由(a-b)w改为了(b-a)w。这一改动,利用了旋转因子w的折半性质,根据消去引理可以推出:ntt和intt阶段用到的旋转因子对应的集合本质上数同一个集合。
45.ꢀꢀꢀꢀꢀꢀ
式(1)因此,只需要存储其中任意一部分常数,另外一部分常数通过在有限域内取反即可,从而实现只存储m个常数,更多的,通过交换模减运算的输入顺序来实现取反操作,也
即,原有输入顺序为a-b,交换模减运算的输入顺序后为b-a,从而避免引入额外的计算资源。
46.在本发明一实施例中,该点乘运算采用montgomery算法,可降低多项式乘法运算的关键路径的数量。
47.在本发明一实施例中,该点乘运算结果c(x)的模数为q,该方法还包括:获取该模数q的位宽,在该模数q的位宽在预设第一范围值之内的情况下,采用双通路模式执行多项式乘法运算,在该模数q的位宽在预设第二范围值之内的情况下,采用单通路模式执行多项式乘法运算,其中,该第一范围值与该第二范围值不重合。
48.在本发明一实施例中,该第一范围值为小于等于g比特,该第二范围值为大于g比特小于2g比特,g为正整数。
49.在一示例中,g=15,当模数q的位宽在预设第一范围值之内,也即q≤2
15
(即模数q的位宽不超过15bits)时,可以被配置为双通路模式,其内部30 bits的数据通路可以被分为上下两部分,处理一个多项式的多个系数或者并行进行两个多项式的ntt变换,当模数q的位宽在预设第二范围值之内,也即2
15
<q<2
30
(即模数q的位宽超过15bits时)时,加速器内部的数据通路会被配置为单通路模式,用来支持当前的ntt变换参数。
50.图5示意性示出了根据本发明实施例的多项式乘法器的结构示意图。
51.如图5所示,多项式乘法器包括模运算单元、系数存储单元、常数存储单元、读/写重排单元、控制单元和地址生成单元。模运算单元用于根据配置信息的不同实现ct-bfu、gs-bfu、模加、模减和模乘等运算,且支持单通路和双通路两种工作模式。系数存储单元用于存储参与多项式乘法运算的多项式系数及中间结果。常数存储单元用于主要存储对功能进行配置的参数,包括预计算常数等。读/写排序单元用于在本发明提出的双通路工作模式下每条数据总线上对应两个独立系数,在计算中出现4个系数同时参与运算的情况下,读/写重排单元通过专用硬件路由的方式将对应系数送到相应的运算单元输入端口,或者存回到存储单元中,从而降低访问存储器的开销和冲突。控制单元用于输出控制信号,同时负责与外围电路进行信号交互。地址产生单元用于配合系数在存储中的分布情况实现对系数存储单元的无冲突访问,即保证同一时间两个系数不同存储在同一个存储地址上。
52.以多项式a(x)与多项式b(x)相乘为例,对本发明实施例的多项式乘法器的工作流程进行说明:s1,静态配置信息载入配置:在控制单元配合下接受全局配置,将旋转因子预计算常数存入常数存储单元中,并根据ntt参数完成计算通路的静态配置;s2,多项式a(x)的系数a被读入到多项式乘法器内部的系数存储单元中,在控制单元完成对模运算单元的配置后执行ntt计算,在每轮ntt变换过程中,读重排单元和写重排单元将数据组织成当前或下一轮变换时模运算单元所需要的访问模式;s3,重复s1-s2完成对多项式b(x)的ntt变换;s4,在控制单元调度下,完成多项式a(x)和b(x)的频域系数的一一对应的相乘,运算结果c(x)存储到系数存储单元;s5,运算结果c(x)的系数在模运算单元被配置为gs-bfu的情况下完成intt变换,得到c(x);s6,c(x)的系数会存在多项式乘法器的系数存储单元中,为后续的连续运算做准
备,也可以通过输出端口送出。
53.图6示意性示出了根据本发明实施例的模运算单元的结构示意图。
54.如图6所示,该实施例的模运算单元包括多个数据选择器、第一模减单元、模乘单元、第二模减单元和模加单元,该模运算单元可被配置执行的运算操作类型包括ct-bfu、gs-bfu、模加运算、模减运算和模乘运算,其中,在该模运算单元被配置执行的运算操作类型gs-bfu的情况下,该第一模减单元反序读取输入的多项式a(x)的系数a和多项式b(x)的系数b,以交换系数a和系数b的位置,执行模减运算。可减少2m个模乘运算,将存储常数的个数从2m减少到m个。
55.在本发明一实施例中,该模运算单元的数据通路模式包括单通路模式和多通路模式,在该模运算单元被配置执行的运算操作类型为ct-bfu的情况下,该模运算单元的数据通路模式为单通路模式,在该模运算单元被配置执行的运算操作类型为gs-bfu的情况下,该模运算单元的数据通路模式为双通路模式。
56.在本发明中,控制信号包括三个,三个控制信号分别用于控制模运算单元中的数据选择器以实现不同的功能,其中,前两个控制信号配置计算功能,最后一个控制信号配置数据通路模式,具体如表1所示。当计算功能控制信号=00,模运算单元被配置执行的操作类型为ct-bfu;当计算功能控制信号=01,模运算单元被配置执行的运算操作类型为gs-bfu;当计算功能控制信号=10,模运算单元被配置执行的运算操作类型为模乘运算;当计算功能控制信号=01,模运算单元被配置执行的运算操作类型为模加运算和模减运算;当通路模式控制信号=0时,模运算单元被配置执行的数据通路模式为单通路模式;当通路模式控制信号=1时,模运算单元被配置执行的数据通路模式为双通路模式。
57.表1
在本发明一实施例中,该模乘单元采用montgomery算法。
58.图7示意性示出了根据本发明实施例的模乘单元的结构图。
59.如图7所示,该模乘单元包括第一乘法器、第二乘法器、第三乘法器、判零单元和模加法器。该第一乘法器、第二乘法器和第三乘法器级联,该第一乘法器的输出端连接该判零单元的输入端以及该模加法器的第一输入端,该判零单元的输出端连接该模加法器的第二输入端,该第三乘法器的输出端连接该模加法器的第三输入端。该模乘单元可降低关键路径,同时在不同的参数配置下,实现最大化的硬件利用率。
60.其中,判零单元用于在输入的数据不等于0时输出的进位数据为1,在输入的数据等于0时输出的进位数据为0。
61.在一示例中,以输入的操作数x和y的位数均为30bit为例,对于两个30bit的操作数x和y,计算得到在模q下的乘积结果z。由于在第二乘法器中要对中间结果取模,其高位一半的数据会被舍弃,因此时减少了一半的半阶乘法器,而第一乘法器和第二乘法器是全阶乘法器。从图中可以看出,影响最终结果的关键路径来自于三个级联的乘法器。在基于montgomery算法的模乘算法中,最终乘法结果的低一半数据会被通过右移而舍弃。因此,可通过前置运算提前获知运算结果的低比特信息,即先移位截断再参与运算,而非先精确计算再移位截断,有效降低上述关键路径。
62.本发明在第一乘法器后,对其输出的60bit结果中的低30bit数据(即图中的temp_l,temp_h为高30bit)进行判断,也即采用判零单元,当temp_l=0时,在最终模加法器中低30bit数据的进位为零;当temp_l≠0时,进位为1。因此这种设计,最终可使模加法器的尺寸降低一半,整个模乘法器的关键路径可以降低15%。
63.图8示意性示出了根据本发明实施例的第一乘法器的结构图。
64.如图8所示,图7中的该第一乘法器、该第二乘法器和该第三乘法器均包括:ka乘法器(karatsuba乘法器)、第一数据选择器和第二数据选择器,该ka乘法器的第一输出端连接该第一数据选择器的第二数据输入端和该第二数据选择器的一数据输入端,该ka乘法器的第二输出端连接该第一数据选择器的第一数据输入端和该第二数据选择器的二数据输入端。该模乘单元可支持双通路模式。
65.在本发明中,karatsuba乘法器用于高效地获得两个操作数的部分积和全部积,以实现多项式乘法器的双通路配置,其具体电路实现如图8所示。其主要工作原理:以两个30bit的数据m[29:0]和n[29:0]的乘法为例,根据karatsuba乘法原理,二者可分别表示为:
ꢀꢀꢀ
式(2)其中m1为m的高15bit,n1为n的高15bit,m0为m的低15bit,n0则为为n的低15bit。则二者乘积p可写为:
ꢀꢀꢀꢀ
式(3)如果将上式中的m1n1用p1表示,m0n0用p0表示,(m0 m1)(n0 n1)用p
01
表示的话,上式最终可改写为:
ꢀꢀꢀꢀꢀꢀꢀ
式(4)图8中最右侧第二数据选择器根据通路配置信息将正确的结果选通到对应的高位输出和低位输出,实现对双通路模式的支持。
[0066]
根据本发明的实施例,系数存储单元、常数存储单元、读/写重排模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,系数存储单元、常数存储单元、读/写重排模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,系数存
储单元、常数存储单元、读/写重排模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0067]
图9示意性示出了根据本发明实施例的适于实现多项式乘法运算方法的电子设备的方框图。
[0068]
如图9所示,根据本发明实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0069]
在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器 901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程序来执行根据本发明实施例的方法流程的各种操作。需要注意,该程序也可以存储在除rom 902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本发明实施例的方法流程的各种操作。
[0070]
根据本发明的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
[0071]
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
[0072]
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本发明的实施例,计算机可读存储介质可以包括上文描述的rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
[0073]
本发明的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本发明实施例所提供的物品推荐方法。
[0074]
在该计算机程序被处理器901执行时执行本发明实施例的系统/装置中限定的上述功能。根据本发明的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模
块来实现。
[0075]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0076]
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本发明实施例的系统中限定的上述功能。根据本发明的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0077]
根据本发明的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0078]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0079]
本领域技术人员可以理解,本发明的各个实施例中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
[0080]
以上对本发明的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献