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

坐标操作方法、装置、存储介质及电子设备与流程

2023-02-19 06:16:21 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种坐标操作方法、装置、存 储介质及电子设备。


背景技术:

2.在一些应用程序的使用中,会涉及到对其中对象的坐标操作,还会涉及 到对坐标的数据安全的保护,以避免对坐标进行正常操作时,被第三方工具 恶意篡改或读取等。
3.目前,通常会对坐标进行加密处理,以避免对坐标进行正常操作时,被 第三方工具恶意篡改或读取等问题,但在进行坐标操作时,具体的坐标处理 需要明文状态的坐标,因此,在坐标操作中,坐标处理时出现错误或出现跳 转出当前坐标操作的情况,就会导致后续的加密处理得不到执行,致使坐标 信息是明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题。


技术实现要素:

4.鉴于上述问题,本发明提供了一种坐标操作方法及相关设备,主要目的 在于解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息是明 文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题。
5.为解决上述技术问题,第一方面,本发明提供了一种坐标操作方法,该 方法包括:
6.解密第一坐标,以得到第二坐标,其中,第一坐标为加密状态的初始坐 标,第二坐标为明文状态的初始坐标;
7.创建坐标加密对象,其中,坐标加密对象包括坐标加密函数,坐标加密 函数用于对明文状态的坐标进行加密;
8.对第二坐标进行坐标处理,以得到第三坐标,其中,第三坐标为明文状 态的目标坐标;
9.坐标处理结束后销毁坐标加密对象,以通过坐标加密对象的析构函数, 执行坐标加密函数,得到第四坐标,其中,第四坐标为加密状态的初始坐标 或加密状态的目标坐标。
10.优选的,坐标加密对象还包括:第一变量,其中,第一变量为布尔型变 量,第一变量用于设定是否执行坐标加密函数,第一变量为假时,执行坐标 加密函数,否则,不执行坐标加密函数。
11.优选的,坐标加密对象还包括:第二变量,其中,第二变量为布尔型变 量,第二变量用于设定析构函数是否能够抛出异常,第二变量为假时,析构 函数能够抛出异常,否则,析构函数不能抛出异常。
12.优选的,执行坐标加密函数的步骤,还包括:
13.执行坐标加密函数,若第二变量为真,且执行坐标加密函数时产生异常, 则终止当前程序,否则,继续执行当前程序。
14.优选的,坐标加密对象还包括:第三变量,其中,第三变量用于存储创 建坐标加密
对象时的程序异常的数量。
15.优选的,通过坐标加密对象的析构函数,执行坐标加密函数的步骤,还 包括:
16.第二变量为假时,通过坐标加密对象的析构函数,获取第四变量,其中, 第四变量为析构函数执行时的程序异常的数量;
17.若第三变量小于第四变量,则设定第一变量为真,不执行坐标加密函数, 否则,设定第一变量为假,执行坐标加密函数。
18.优选的,通过坐标加密对象的析构函数,执行坐标加密函数的步骤,还 包括:
19.第二变量为真时,通过坐标加密对象的析构函数,获取第五变量,其中, 第五变量为析构函数执行时的程序异常的数量;
20.若第三变量不小于第五变量,则设定第一变量为真,不执行坐标加密函 数,否则,设定第一变量为假,执行坐标加密函数。
21.为了实现上述目的,根据本发明的第二方面,提供了一种坐标操作装置, 包括:
22.解密单元,用于解密第一坐标,以得到第二坐标,其中,第一坐标为加 密状态的初始坐标,第二坐标为明文状态的初始坐标;
23.创建单元,用于创建坐标加密对象,其中,坐标加密对象包括坐标加密 函数,坐标加密函数用于对明文状态的坐标进行加密;
24.处理单元,用于对第二坐标进行坐标处理,以得到第三坐标,其中,第 三坐标为明文状态的目标坐标;
25.析构单元,用于坐标处理结束后销毁坐标加密对象,以通过坐标加密对 象的析构函数,执行坐标加密函数,得到第四坐标,其中,第四坐标为加密 状态的初始坐标或加密状态的目标坐标。
26.为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,该 存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行 上述第一方面中任一项的坐标操作方法的步骤。
27.为了实现上述目的,根据本发明的第四方面,提供了一种电子设备,该 电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器;其中, 处理器用于调用存储器中的程序指令,执行上述第一方面中任一项的坐标 操作方法的步骤。
28.借由上述技术方案,本技术提供了一种坐标操作方法、装置、存储介质 及电子设备,主要目的在于解决目前在进行坐标操作时,加密处理得不到执 行,致使坐标信息是明文状态,从而产生在坐标操作后,坐标以明文状态暴 露在外的问题。本技术通过解密第一坐标,以得到第二坐标;创建坐标加密 对象;对第二坐标进行坐标处理,以得到第三坐标;坐标处理结束后销毁坐 标加密对象,以通过坐标加密对象的析构函数,执行坐标加密函数,得到第 四坐标,实现坐标操作。上述方案能够实现在坐标处理产生了异常或因坐标 处理的一些逻辑导致程序退出了这个坐标操作等情况下,加密处理都会被 执行的技术效果,进而解决了目前在进行坐标操作后,坐标以明文状态暴露 在外的问题。
附图说明
29.通过阅读下文示例性实施方式的详细描述,各种其他的优点和益处对 于本领域普通技术人员将变得清楚明了。附图仅用于示出示例性实施方式 的目的,而并不认为是对
本技术的限制。而且在整个附图中,用相同的参考 符号表示相同的部件。在附图中:
30.图1为本技术实施例一提供的一种坐标操作方法的示意性流程图;
31.图2为本技术实施例二提供的一种坐标操作方法的示意性流程图;
32.图3为本技术实施例三提供的一种坐标操作方法的示意性流程图;
33.图4为本技术实施例四提供的一种坐标操作方法的示意性流程图;
34.图5为本技术实施例五提供的一种坐标操作装置的示意性结构框图;
35.图6为本技术实施例七提供的一种电子设备的示意性结构框图。
具体实施方式
36.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显 示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而 不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻 地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
37.实施例一
38.为了解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息 是明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题,本 申请实施例一提供了一种坐标操作方法,如图1所示,该方法可以包括:
39.步骤101、解密第一坐标,以得到第二坐标;
40.其中,第一坐标为加密状态的初始坐标,第二坐标为明文状态的初始坐 标。
41.具体的,对坐标进行解密处理的具体实现逻辑可以封装在坐标解密函 数中,对坐标进行解密处理的具体实现逻辑会根据不同需求,而使用不同的 解密算法、秘钥等信息,因此可以传入不同的解密算法、秘钥或者坐标解密 函数体到坐标解密函数中,以实现对坐标的解密处理,本技术实施例对坐标 的解密处理的具体实现不做限定。
42.需要说明的是,通过步骤101可以得到明文状态的初始坐标,以便后 续对该初始坐标进行坐标处理。
43.步骤102、创建坐标加密对象;
44.其中,坐标加密对象包括坐标加密函数,坐标加密函数用于对明文状态 的坐标进行加密。
45.具体的,坐标加密函数中封装了对坐标进行加密处理的具体实现逻辑, 对坐标的加密处理的具体实现逻辑会根据不同需求,而使用不同的加密算 法、秘钥等信息,因此可以传入不同的加密算法、秘钥或者坐标加密函数体 到坐标加密函数中,以实现对坐标的加密处理,本技术实施例对坐标加密函 数的具体实现不做限定。
46.需要说明的是,通过步骤102可以在坐标操作的过程中创建一个包括 坐标加密函数的坐标加密对象,以便后续对坐标进行坐标加密。
47.步骤103、对第二坐标进行坐标处理,以得到第三坐标;
48.其中,第三坐标为明文状态的目标坐标。
49.具体的,开发人员会根据不同需求,对坐标处理的具体实现逻辑进行编 写,例如,在某些电子游戏的场景下,根据游戏角色的初始坐标、移动速度 和时间,计算下一个需要更新的角色坐标,计算得到的这个新的角色坐标就 是目标坐标,当然,本技术实施例对坐
标处理的具体实现不做限定。
50.需要说明的是,坐标处理的过程需要对明文状态的坐标进行执行,通过 步骤103可以将明文状态的初始坐标更新为明文状态的目标坐标。
51.步骤104、坐标处理结束后销毁坐标加密对象,以通过坐标加密对象的 析构函数,执行坐标加密函数,得到第四坐标;
52.其中,第四坐标为加密状态的初始坐标或加密状态的目标坐标。
53.具体的,析构函数是在面向对象程序设计(主要的面向对象编程语言包 括c 、common lisp、python、objective-c、delphi、swift、perl、ruby、 javascript和php等)里的一种方法,当对象的生命周期结束时(也即坐标 加密对象被销毁时),析构函数会自动地被调用运行,析构函数执行后会清 空并释放对象先前创建或是占用的存储器资源(如本技术实施例中的坐标 加密函数);无论坐标处理以怎样的形式结束(包括坐标处理正常执行结束、 坐标处理产生了异常、因坐标处理的一些逻辑导致程序退出了这个坐标操 作等情况),坐标加密对象的析构函数都会得到执行,在坐标处理正常执行 结束时,会得到加密状态的目标坐标,在坐标处理产生了异常或因坐标处理 的一些逻辑导致程序退出了这个坐标操作,导致坐标处理没有得到执行时, 会得到加密状态的初始坐标,导致坐标处理只执行一部分时,会得到加密状 态的位于初始坐标与目标坐标之间的某一坐标。
54.需要说明的是,现有技术中,坐标操作通常是按照解密处理、坐标处理、 加密处理的逻辑顺序执行,如果在其中的坐标处理的过程中,产生了异常或 因坐标处理的一些逻辑导致程序退出了这个坐标操作过程的话,会导致后 续的加密处理得不到执行,致使坐标以明文状态暴露在外,而本技术实施例 通过步骤102在坐标处理前创建坐标加密对象、步骤104在坐标处理结束 后执行坐标加密对象的析构函数,确保了在坐标处理产生了异常或因坐标 处理的一些逻辑导致程序退出了这个坐标操作等情况下,加密处理都会被 执行,避免了坐标处理后的坐标得不到加密的情况。
55.借由上述技术方案,本技术实施例一提供了一种坐标操作方法,主要目 的在于解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息是 明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题。本申 请实施例一通过解密第一坐标,以得到第二坐标,其中,第一坐标为加密状 态的初始坐标,第二坐标为明文状态的初始坐标;创建坐标加密对象,其中, 坐标加密对象包括坐标加密函数,坐标加密函数用于对明文状态的坐标进 行加密;对第二坐标进行坐标处理,以得到第三坐标,其中,第三坐标为明 文状态的目标坐标;坐标处理结束后销毁坐标加密对象,以通过坐标加密对 象的析构函数,执行坐标加密函数,得到第四坐标,其中,第四坐标为加密 状态的初始坐标或加密状态的目标坐标,实现坐标操作。上述方案能够实现 在坐标处理产生了异常或因坐标处理的一些逻辑导致程序退出了这个坐标 操作等情况下,加密处理都会被执行的技术效果,进而解决了目前在进行坐 标操作后,坐标以明文状态暴露在外的问题。
56.实施例二
57.为了使本领域技术人员能够更透彻地理解本技术,并且能够将本技术 的范围完整的传达给本领域的技术人员,本技术实施例二在上述实施例一 的基础上,对本技术限定的一种坐标操作方法做出了进一步的说明,如图2 所示,该方法包括:
58.步骤201、解密第一坐标,以得到第二坐标;
59.其中,第一坐标为加密状态的初始坐标,第二坐标为明文状态的初始坐 标。
60.需要说明的是,通过步骤201可以得到明文状态的初始坐标,以便后 续对该初始坐标进行坐标处理。
61.步骤202、创建坐标加密对象;
62.其中,坐标加密对象包括坐标加密函数,坐标加密函数用于对明文状态 的坐标进行加密。
63.需要说明的是,通过步骤202可以在坐标操作的过程中创建一个包括 坐标加密函数的坐标加密对象,以便后续对坐标进行坐标加密。
64.优选的,坐标加密对象还可以包括第一变量;
65.其中,第一变量为布尔型变量,第一变量用于设定是否执行坐标加密函 数,第一变量为假时,执行坐标加密函数,否则,不执行坐标加密函数。
66.具体的,布尔型是计算机科学中的逻辑数据类型,以发明布尔代数的数 学家乔治
·
布尔为名,布尔型是只有两种值的原始类型,布尔型变量的取值 通常为真或假;第一变量的创建和赋值封装到底层,并可以对外暴露统一的 接口进行调用,也可以根据实际需求进行继承和扩展,其中,第一变量所属 类的构造函数可以使用关键字protected作为访问修饰符进行封装,可以使 该类别的派生类可以访问、使用该构造函数,外部程序代码不可以访问、使 用该构造函数,进而使其不能被外部直接使用,而必须通过继承的方式进行 使用,由此将对第一变量的创建赋值与加密处理进行解耦分开,进而保障加 密处理的隐蔽性和安全性、保障坐标操作过程的低耦合。
67.需要说明的是,通过以上对坐标加密对象优选的限定,可以使加密处理 的操作选择性地执行,以满足不同场景下对是否对坐标执行加密处理的需 求。
68.示例性的,可以由以下代码实现对第一变量的创建等相关的部分操作:
[0069][0070]
其中,“class encryptbase”表示一个名为encryptbase的类;“booldisable_;”表示创建一个名为disable_的布尔型的第一变量;“void disable() {disable_=true;}”表示一个名为disable的接口,该接口可以将第一变量赋 值为真;“protected:”表示将后续的构造函数封装为保护状态;
ꢀ“
encryptbase():disable_(false){}”表示一个可以将第一变量赋值为假的无 参构造函数。
[0071]
需要说明的是,当第一变量disable_为true时,表明不执行坐标加密函 数,当第一变量disable_为false时,表明执行坐标加密函数;上述代码示例 性地展示了对第一变量的创建等相关的部分操作的实现,但并不作为本申 请实施例该部分的唯一实现方式。
[0072]
优选的,坐标加密对象还可以包括第二变量;
[0073]
其中,第二变量为布尔型变量,第二变量用于设定析构函数是否能够抛 出异常,第二变量为假时,析构函数能够抛出异常,否则,析构函数不能抛 出异常。
[0074]
具体的,在坐标加密对象的析构函数的noexcept说明符中添加第二变 量。
[0075]
需要说明的是,析构函数的noexcept说明符用于声明析构函数是否会 抛出异常,可以对第二变量进行不同的设定,以满意不同场景下的不同需求, 例如,在进行程序开发或测试等阶段,将第二变量设定为假,使析构函数能 够抛出异常,进而使开发人员可以根据其所抛出的异常进行程序的改进与 完善,在程序投入生产或应用等阶段,将第二变量设定为真,使析构函数不 能够抛出异常,避免抛出异常导致程序崩溃,进而使使用者不被异常所影响, 当然,本领域技术人员可以根据不同的具体场景设定第二变量,本技术实施 例对其不做限定。
[0076]
步骤203、对第二坐标进行坐标处理,以得到第三坐标;
[0077]
其中,第三坐标为明文状态的目标坐标;
[0078]
需要说明的是,坐标处理的过程需要对明文状态的坐标进行执行,通过 步骤203可以将明文状态的初始坐标更新为明文状态的目标坐标。
[0079]
步骤204、坐标处理结束后销毁坐标加密对象,以通过坐标加密对象的 析构函数,执行坐标加密函数,若第二变量为真,且执行坐标加密函数时产 生异常,则终止当前程序,否则,继续执行当前程序,得到第四坐标;
[0080]
其中,第四坐标为加密状态的初始坐标或加密状态的目标坐标。
[0081]
具体的,可以用try、catch语句捕获坐标加密函数时产生的异常。
[0082]
需要说明的是,现有技术中,坐标操作通常是按照解密处理、坐标处理、 加密处理的逻辑顺序执行,如果在其中的坐标处理的过程中,产生了异常或 因坐标处理的一些逻辑导致程序退出了这个坐标操作过程的话,会导致后 续的加密处理得不到执行,致使坐标以明文状态暴露在外,而本技术实施例 通过步骤202在坐标处理前创建坐标加密对象、步骤204在坐标处理结束 后执行坐标加密对象的析构函数,确保了在坐标处理产生了异常或因坐标 处理的一些逻辑导致程序退出了这个坐标操作等情况下,加密处理都会被 执行,避免了坐标处理后的坐标得不到加密的情况;在第二变量为真时,表 明析构函数不能够抛出异常,如果执行坐标加密函数时产生了异常,会造成 程序的崩溃,而通过步骤204,可以用try、catch语句捕获坐标加密函数时 产生的异常,能够正常终止当前程序的继续执行,避免了坐标操作的过程中 发生程序崩溃的情况,保障了坐标操作的稳定性,并在排查问题时可以很容 易地通过堆栈调用找到程序是哪里终止的,方便坐标操作时的问题排查。
[0083]
示例性的,步骤204可以由以下代码部分实现:
[0084]
[0085]
其中,上述代码中第1、4行代码表示判断第二变量是否为真,为真则 执行上述代码中第2、3行代码,否则执行上述代码中第5行代码,其中,
ꢀ“
execute”表示第二变量,“function_();”表示坐标加密函数;第2、3行代 码表示如果坐标加密函数执行时产生异常,则终止当前程序,其中,
ꢀ“
std::terminate();”表示正常终止当前程序的继续执行。
[0086]
需要说明的是,上述代码示例性地展示了步骤204的实现,但并不作 为本技术实施例该部分的唯一实现方式。
[0087]
借由上述技术方案,本技术实施例二提供了一种坐标操作方法,主要目 的在于解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息是 明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题,进一 步的,还解决了执行坐标加密函数时可能出现,产生异常造成程序的崩溃的 问题。本技术实施例二通过解密第一坐标,以得到第二坐标;创建坐标加密 对象;对第二坐标进行坐标处理,以得到第三坐标;坐标处理结束后销毁坐 标加密对象,以通过坐标加密对象的析构函数,执行坐标加密函数,若第二 变量为真,且执行坐标加密函数时产生异常,则终止当前程序,否则,继续 执行当前程序,得到第四坐标,实现坐标操作。上述方案能够实现在坐标处 理产生了异常或因坐标处理的一些逻辑导致程序退出了这个坐标操作等情 况下,加密处理都会被执行的技术效果,进而解决了目前在进行坐标操作后, 坐标以明文状态暴露在外的问题。上述方案能够在本技术实施例一的基础 上,进一步保障坐标操作的稳定性、方便坐标操作时的问题排查。
[0088]
实施例三
[0089]
为了使本领域技术人员能够更透彻地理解本技术,并且能够将本技术 的范围完整的传达给本领域的技术人员,本技术实施例三在前述实施例一 的基础上,对本技术限定的一种坐标操作方法做出了进一步的说明,如图3 所示,该方法包括:
[0090]
步骤301、解密第一坐标,以得到第二坐标;
[0091]
其中,第一坐标为加密状态的初始坐标,第二坐标为明文状态的初始坐 标。
[0092]
需要说明的是,通过步骤301可以得到明文状态的初始坐标,以便后 续对该初始坐标进行坐标处理。
[0093]
步骤302、创建坐标加密对象;
[0094]
其中,坐标加密对象包括坐标加密函数、第一变量、第二变量和第三变 量;坐标加密函数用于对明文状态的坐标进行加密;第一变量为布尔型变量, 第一变量用于设定是否执行坐标加密函数,第一变量为假时,执行坐标加密 函数,否则,不执行坐标加密函数;第二变量为布尔型变量,第二变量用于 设定析构函数是否能够抛出异常,第二变量为假时,析构函数能够抛出异常, 否则,析构函数不能抛出异常;第三变量用于存储创建坐标加密对象时的程 序异常的数量。
[0095]
具体的,第一变量的创建和赋值封装到底层,并可以对外暴露统一的接 口进行调用,也可以根据实际需求进行继承和扩展,其中,第一变量所属类 的构造函数可以使用关键字protected作为访问修饰符进行封装,可以使该 类别的派生类可以访问、使用该构造函数,外部程序代码不可以访问、使用 该构造函数,进而使其不能被外部直接使用,而必须通过继承的方式进行使 用,由此将对第一变量的创建赋值与加密处理进行解耦分开,进而保障加密 处理的隐蔽性和安全性、保障坐标操作过程的低耦合;在坐标加密对象的析 构函数的noexcept说明符中添加第二变量;第三变量可以使用函数 uncaught_exceptions
()进行赋值,函数uncaught_exceptions()用于获得当前程 序的异常的数量。
[0096]
需要说明的是,通过第三变量可以得知当前程序的异常数量,以便后续 在析构函数中,将执行析构函数时的异常数量与第三变量进行比较,就可以 得知在坐标处理的过程中程序有没有出现异常;通过步骤302可以在坐标 操作的过程中创建一个包括坐标加密函数的坐标加密对象,以便后续对坐 标进行坐标加密;可以使加密处理的操作选择性地执行,以满足不同场景下 对是否对坐标执行加密处理的需求;可以对第二变量进行不同的设定,以满 意不同场景下的不同需求;可以得知创建函数加密对象时的当前程序的异 常数量。
[0097]
步骤303、对第二坐标进行坐标处理,以得到第三坐标;
[0098]
其中,第三坐标为明文状态的目标坐标;
[0099]
需要说明的是,坐标处理的过程需要对明文状态的坐标进行执行,通过 步骤303可以将明文状态的初始坐标更新为明文状态的目标坐标。
[0100]
步骤304、坐标处理结束后销毁坐标加密对象,第二变量为假时,通过 坐标加密对象的析构函数,获取第四变量,若第三变量小于第四变量,则设 定第一变量为真,不执行坐标加密函数,否则,设定第一变量为假,执行坐 标加密函数,得到第四坐标;
[0101]
其中,第四变量为析构函数执行时的程序异常的数量,第四坐标为加密 状态的初始坐标或加密状态的目标坐标。
[0102]
具体的,第四变量与第三变量可以用同样的方式进行获取;在析构函数 能够抛出异常且坐标处理产生了异常的情况下,设定第一变量为真,不执行 坐标加密函数,否则,设定第一变量为假,执行坐标加密函数。
[0103]
需要说明的是,通过步骤304,可以保障只在坐标处理未出现异常时, 执行加密处理,得到第四坐标,满足需要只在程序未出现异常的情况下对坐 标进行加密处理的场景,提升坐标操作时的程序性能。
[0104]
示例性的,本技术实施例三的部分实现可以由以下代码完成:
[0105][0106]
其中,“class encryptbase”表示一个名为encryptbase的类;“booldisable_;”表示创建一个名为disable_的布尔型的第一变量;“void disable() {disable_=true;}”表示一个名为disable的接口,该接口可以将第一变量赋 值为真;“protected:”表示将后续的构造函数封装为保护状态;
ꢀ“
encryptbase():disable_(false){}”表示一个可以将第一变量赋值为假的无 参构造函数。
[0107]
具体的,第一变量所属类的构造函数可以使用关键字protected作为访 问修饰符进行封装,可以使该类别的派生类可以访问、使用该构造函数,外 部程序代码不可以访问、
使用该构造函数,进而使其不能被外部直接使用, 而必须通过继承的方式进行使用,由此将对第一变量的创建赋值与加密处 理进行解耦分开,进而保障加密处理的隐蔽性和安全性、保障坐标操作过程 的低耦合;上述代码用于对第一变量的创建等相关的部分操作的实现。
[0108][0109][0110]
其中,第1行代码表示模板的声明,其中添加了两个模板参数“typenamefunc”和“bool execute”,其中,“func”用于传入坐标处理函数,“execute
”ꢀ
用于传入第二变量;第2行代码表示autoencrypt类模板继承前述 encryptbase类;第3行代码表示创建一个名为“function_”的类成员变量; 第4行代码表示创建一个构造函数,其中将坐标处理函数保存到成员变量 中;第5行代码表示创建一个析构函数,第二变量execute的值为false时, 该析构函数能够抛出异常,第二变量execute的值为true时,该析构函数不 能抛出异常;第6行代码表示判断第一变量disable_是否为false,第一变量 disable_是否为false时,继续执行后续代码,第一变量disable_是否为false 时,终止执行后续代码;第7-10行代码表示若第二变量为真,且执行坐标 加密函数时产生异常,则终止当前程序,否则,继续执行当前程序。
[0111]
具体的,用try、catch语句捕获坐标加密函数时产生的异常,能够正常 终止当前程序的继续执行,避免了坐标操作的过程中发生程序崩溃的情况, 保障了坐标操作的稳定性,并在排查问题时可以很容易地通过堆栈调用找 到程序是哪里终止的,方便坐标操作时的问题排查;上述autoencrypt类模 板的代码用于将加密处理函数传入其中,并具体实现加密处理,以便对外提 供加密处理函数的功能。
[0112][0113]
其中,第1行代码表示模板的声明,其中添加了两个模板参数“typenamefunc”和“bool execute”,其中,“func”用于传入坐标处理函数,“execute
”ꢀ
用于传入第二变量;第1、2行代码表示封装一个名为“exceptionencrypt
”ꢀ
的类模板;第3行代码表示定义一个autoencrypt类的成员变量safe_,并 将坐标处理函数和第二变量两个参数传入其中;第4行代码表示创建一个 第三变量exindex_,用于记录当前程序的异常数量;第5行代码表示创建 一个构造函数,其中将坐标处理函数保存到成员变量中;第6行代码表示 创建一个析构函数,第二变量execute的值为false时,该析构函数能够抛 出异常,第二变量execute的值为true时,该析构函数不能抛出异常,其中,
ꢀ“
***”表示略去的部分代码(用于执行:创建第四变量、比较第三变量与 第四变量、在第二变量为假且第三变量小于第四变量或第二变量为真且第 三变量不小于第四变量时,不执行坐标加密函数)。
[0114]
具体的,通过第三变量可以得知当前程序的异常数量,以便后续在析构 函数中,将执行析构函数时的异常数量与第三变量进行比较,就可以得知在 坐标处理的过程中程序有没有出现异常;上述exceptionencrypt类模板的代 码,可以作为用于后续针对不同需求进行特化的基础类。
[0115]
需要说明的是,在需要只在程序异常的情况下对坐标进行加密处理的 场景下,通过代码exceptionencryptsuc《typename func,false》;特化出参数 execute为false的坐标加密对象;通过以下现有技术与本技术实施例三的 坐标操作的执行代码比较,可以更好地理解本技术实施例三的优点和益处:
[0116]
现有技术:
[0117][0118]
本技术实施例三:
[0119]
void processposition(vector3 pos){//传入的参数为加密状态的初始坐标
[0120]
decrypt(pos);//解密处理
[0121]
exceptionencryptsuc obj(encrypt(pos));//创建坐标加密对象
[0122]
***//略去的用于坐标处理的代码
[0123]
}
[0124]
需要说明的是,每行“//”后面的内容用于注释该行代码意义;现有技 术按照解密处理、坐标处理、加密处理的逻辑顺序执行,如果在其中的坐标 处理的过程中,产生了异常或因坐标处理的一些逻辑导致程序退出了这个 坐标操作过程的话,会导致后续的加密处理得不到执行,致使坐标以明文状 态暴露在外,而本技术实施例三通过以上代码,可以保障只在坐标处理未出 现异常时,执行加密处理,得到第四坐标,提升坐标操作时的程序性能。
[0125]
借由上述技术方案,本技术实施例三提供了一种坐标操作方法,主要目 的在于解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息是 明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题,并进 一步保障只在坐标处理未出现异常时,执行加密处理。本技术实施例三通过 解密第一坐标,以得到第二坐标;创建坐标加密对象;对第二坐标进行坐标 处理,以得到第三坐标;坐标处理结束后销毁坐标加密对象,第二变量为假 时,通过坐标加密对象的析构函数,获取第四变量,若第三变量小于第四变 量,则设定第一变量为真,不执行坐标加密函数,否则,设定第一变量为假, 执行坐标加密函数,得到第四坐标,实现坐标操作。上述方案能够在本技术 实施例一的基础上,进一步满足需要只在程序未出现异常的情况下对坐标 进行加密处理的场景,提升坐标操作时的程序性能。
[0126]
实施例4
[0127]
为了使本领域技术人员能够更透彻地理解本技术,并且能够将本技术 的范围完整的传达给本领域的技术人员,本技术实施例四在前述实施例一 的基础上,对本技术限定的一种坐标操作方法做出了进一步的说明,如图4 所示,该方法包括:
[0128]
步骤401、解密第一坐标,以得到第二坐标;
[0129]
其中,第一坐标为加密状态的初始坐标,第二坐标为明文状态的初始坐 标。
[0130]
需要说明的是,通过步骤401可以得到明文状态的初始坐标,以便后 续对该初始坐标进行坐标处理。
[0131]
步骤402、创建坐标加密对象;
[0132]
其中,坐标加密对象包括坐标加密函数、第一变量、第二变量和第三变 量;坐标加密函数用于对明文状态的坐标进行加密;第一变量为布尔型变量, 第一变量用于设定是否执行坐标加密函数,第一变量为假时,执行坐标加密 函数,否则,不执行坐标加密函数;第二变量为布尔型变量,第二变量用于 设定析构函数是否能够抛出异常,第二变量为假时,析构函数能够抛出异常, 否则,析构函数不能抛出异常;第三变量用于存储创建坐标加密对象时的程 序异常的数量。
[0133]
具体的,第一变量的创建和赋值封装到底层,并可以对外暴露统一的接 口进行调用,也可以根据实际需求进行继承和扩展,其中,第一变量所属类 的构造函数可以使用关键字protected作为访问修饰符进行封装,可以使该 类别的派生类可以访问、使用该构造函数,外部程序代码不可以访问、使用 该构造函数,进而使其不能被外部直接使用,而必须通过继承的方式进行使 用,由此将对第一变量的创建赋值与加密处理进行解耦分开,进而保障加密 处理的隐蔽性和安全性、保障坐标操作过程的低耦合;在坐标加密对象的析 构
函数的noexcept说明符中添加第二变量;第三变量可以使用函数 uncaught_exceptions()进行赋值,函数uncaught_exceptions()用于获得当前程 序的异常的数量。
[0134]
需要说明的是,通过第三变量可以得知当前程序的异常数量,以便后续 在析构函数中,将执行析构函数时的异常数量与第三变量进行比较,就可以 得知在坐标处理的过程中程序有没有出现异常;通过步骤402可以在坐标 操作的过程中创建一个包括坐标加密函数的坐标加密对象,以便后续对坐 标进行坐标加密;可以使加密处理的操作选择性地执行,以满足不同场景下 对是否对坐标执行加密处理的需求;可以对第二变量进行不同的设定,以满 意不同场景下的不同需求;可以得知创建函数加密对象时的当前程序的异 常数量。
[0135]
步骤403、对第二坐标进行坐标处理,以得到第三坐标;
[0136]
其中,第三坐标为明文状态的目标坐标;
[0137]
需要说明的是,坐标处理的过程需要对明文状态的坐标进行执行,通过 步骤403可以将明文状态的初始坐标更新为明文状态的目标坐标。
[0138]
步骤404、坐标处理结束后销毁坐标加密对象,第二变量为假时,通过 坐标加密对象的析构函数,获取第五变量,若第三变量不小于第五变量,则 设定第一变量为真,不执行坐标加密函数,否则,设定第一变量为假,执行 坐标加密函数,得到第四坐标;
[0139]
其中,第五变量为析构函数执行时的程序异常的数量,第四坐标为加密 状态的初始坐标或加密状态的目标坐标。
[0140]
具体的,第五变量与第三变量可以用同样的方式进行获取;在析构函数 能够抛出异常且坐标处理产生了异常的情况下,设定第一变量为真,不执行 坐标加密函数,否则,设定第一变量为假,执行坐标加密函数。
[0141]
需要说明的是,通过步骤404,可以保障只在坐标处理出现异常时,执 行加密处理,得到第四坐标,满足需要只在程序异常的情况下对坐标进行加 密处理的场景,保障坐标操作时的坐标安全。
[0142]
示例性的,本技术实施例四的部分实现可以由以下代码完成:
[0143][0144]
其中,“class encryptbase”表示一个名为encryptbase的类;“booldisable_;”表示创建一个名为disable_的布尔型的第一变量;“void disable() {disable_=true;}”表示一个名为disable的接口,该接口可以将第一变量赋 值为真;“protected:”表示将后续的构造函数封装为保护状态;
ꢀ“
encryptbase():disable_(false){}”表示一个可以将第一变量赋值为假的无 参构造函数。
[0145]
具体的,第一变量所属类的构造函数可以使用关键字protected作为访 问修饰符
进行封装,可以使该类别的派生类可以访问、使用该构造函数,外 部程序代码不可以访问、使用该构造函数,进而使其不能被外部直接使用, 而必须通过继承的方式进行使用,由此将对第一变量的创建赋值与加密处 理进行解耦分开,进而保障加密处理的隐蔽性和安全性、保障坐标操作过程 的低耦合;上述代码用于对第一变量的创建等相关的部分操作的实现。
[0146][0147]
其中,第1行代码表示模板的声明,其中添加了两个模板参数“typenamefunc”和“bool execute”,其中,“func”用于传入坐标处理函数,“execute
”ꢀ
用于传入第二变量;第2行代码表示autoencrypt类模板继承前述 encryptbase类;第3行代码表示创建一个名为“function_”的类成员变量; 第4行代码表示创建一个构造函数,其中将坐标处理函数保存到成员变量 中;第5行代码表示创建一个析构函数,第二变量execute的值为false时, 该析构函数能够抛出异常,第二变量execute的值为true时,该析构函数不 能抛出异常;第6行代码表示判断第一变量disable_是否为false,第一变量 disable_是否为false时,继续执行后续代码,第一变量disable_是否为false 时,终止执行后续代码;第7-10行代码表示若第二变量为真,且执行坐标 加密函数时产生异常,则终止当前程序,否则,继续执行当前程序。
[0148]
具体的,用try、catch语句捕获坐标加密函数时产生的异常,能够正常 终止当前程序的继续执行,避免了坐标操作的过程中发生程序崩溃的情况, 保障了坐标操作的稳定性,并在排查问题时可以很容易地通过堆栈调用找 到程序是哪里终止的,方便坐标操作时的问题排查;上述autoencrypt类模 板的代码用于将加密处理函数传入其中,并具体实现加密处理,以便对外提 供加密处理函数的功能。
[0149][0150]
其中,第1行代码表示模板的声明,其中添加了两个模板参数“typenamefunc”和“bool execute”,其中,“func”用于传入坐标处理函数,“execute
”ꢀ
用于传入第二变量;第1、2行代码表示封装一个名为“exceptionencrypt
”ꢀ
的类模板;第3行代码表示定义一个autoencrypt类的成员变量safe_,并 将坐标处理函数和第二变量两个参数传入其中;第4行代码表示创建一个 第三变量exindex_,用于记录当前程序的异常数量;第5行代码表示创建 一个构造函数,其中将坐标处理函数保存到成员变量中;第6行代码表示 创建一个析构函数,第二变量execute的值为false时,该析构函数能够抛 出异常,第二变量execute的值为true时,该析构函数不能抛出异常,其中,
ꢀ“
***”表示略去的部分代码(用于执行:创建第五变量、比较第三变量与 第五变量、在第二变量为假且第三变量小于第五变量或第二变量为真且第 三变量不小于第五变量时,不执行坐标加密函数)。
[0151]
具体的,通过第三变量可以得知当前程序的异常数量,以便后续在析构 函数中,将执行析构函数时的异常数量与第三变量进行比较,就可以得知在 坐标处理的过程中程序有没有出现异常;上述exceptionencrypt类模板的代 码,可以作为用于后续针对不同需求进行特化的基础类。
[0152]
需要说明的是,在需要只在程序异常的情况下对坐标进行加密处理的 场景下,通过代码exceptionencryptfail《typename func,true》;特化出参数 execute为true的坐标加密对象;通过以下现有技术与本技术实施例四的坐 标操作的执行代码比较,可以更好地理解本技术实施例四的优点和益处:
[0153]
现有技术:
[0154][0155][0156]
本技术实施例四:
[0157]
void processposition(vector3 pos){//传入的参数为加密状态的初始坐标
[0158]
decrypt(pos);//解密处理
[0159]
exceptionencryptfail obj(encrypt(pos));//创建坐标加密对象
[0160]
***//略去的用于坐标处理的代码
[0161]
}
[0162]
需要说明的是,每行“//”后面的内容用于注释该行代码意义;现有技 术按照解密处理、坐标处理、加密处理的逻辑顺序执行,如果在其中的坐标 处理的过程中,产生了异常或因坐标处理的一些逻辑导致程序退出了这个 坐标操作过程的话,会导致后续的加密处理得不到执行,致使坐标以明文状 态暴露在外,而本技术实施例四通过以上代码,可以保障只在坐标处理出现 异常时,执行加密处理,得到第四坐标,保障坐标操作时的坐标安全。
[0163]
借由上述技术方案,本技术实施例四提供了一种坐标操作方法,主要目 的在于解决目前在进行坐标操作时,加密处理得不到执行,致使坐标信息是 明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题,并进 一步保障只在坐标处理异常时,执行加密处理。本技术实施例四通过解密第 一坐标,以得到第二坐标;创建坐标加密对象;对第二坐标进行坐标处理, 以得到第三坐标;坐标处理结束后销毁坐标加密对象,第二变量为假时,通 过坐标加密对象的析构函数,获取第五变量,若第三变量不小于第五变量, 则设定第一变量为真,不执行坐标加密函数,否则,设定第一变量为假,执 行坐标加密函数,得到第四坐标,实现坐标操作。上述方案能够在本技术实 施例一的基础上,进一步满足需要只在程序异常的情况下对坐标进行加密 处理的场景,保障坐标操作时的坐标安全。
[0164]
实施例五
[0165]
进一步的,作为对前述方法实施例的实现,本技术实施例五提供了一种 坐标操作装置,用于对前述方法实施例进行实现。该装置实施例与前述方法 实施例对应,为便于阅读,本坐标操作装置实施例不再对前述方法实施例中 的细节内容进行逐一赘述,但应当明确,本技术实施例五中的装置能够对应 实现前述方法实施例中的全部内容。如图5所示,该装置50包括:解密单 元501、创建单元502、处理单元503和西沟单元504,其中,
[0166]
解密单元501,用于解密第一坐标,以得到第二坐标,其中,第一坐标 为加密状态的初始坐标,第二坐标为明文状态的初始坐标;
[0167]
创建单元502,用于创建坐标加密对象,其中,坐标加密对象包括坐标 加密函数,坐标加密函数用于对明文状态的坐标进行加密;
[0168]
处理单元503,用于对第二坐标进行坐标处理,以得到第三坐标,其中, 第三坐标为明文状态的目标坐标;
[0169]
析构单元504,用于坐标处理结束后销毁坐标加密对象,以通过坐标加 密对象的析构函数,执行坐标加密函数,得到第四坐标,其中,第四坐标为 加密状态的初始坐标或加密状态的目标坐标。
[0170]
优选的,坐标加密对象还可以包括:第一变量,其中,第一变量为布尔 型变量,第一变量用于设定是否执行坐标加密函数,第一变量为假时,执行 坐标加密函数,否则,不执行坐标加密函数。
[0171]
优选的,坐标加密对象还可以包括:第二变量,其中,第二变量为布尔 型变量,第二变量用于设定析构函数是否能够抛出异常,第二变量为假时, 析构函数能够抛出异常,否则,析构函数不能抛出异常。
[0172]
优选的,析构单元504还可以包括:用于执行坐标加密函数,若第二变 量为真,且执行坐标加密函数时产生异常,则终止当前程序,否则,继续执 行当前程序。
[0173]
优选的,坐标加密对象还可以包括:第三变量,其中,第三变量用于存 储创建坐标加密对象时的程序异常的数量。
[0174]
优选的,析构单元504还可以包括:用于第二变量为假时,通过坐标加 密对象的析构函数,获取第四变量,其中,第四变量为析构函数执行时的程 序异常的数量;若第三变量小于第四变量,则设定第一变量为真,不执行坐 标加密函数,否则,设定第一变量为假,执行坐标加密函数。
[0175]
优选的,析构单元504还可以包括:第二变量为真时,通过坐标加密对 象的析构函数,获取第五变量,其中,第五变量为析构函数执行时的程序异 常的数量;若第三变量不小于第五变量,则设定第一变量为真,不执行坐标 加密函数,否则,设定第一变量为假,执行坐标加密函数。
[0176]
借由上述技术方案,本技术实施例五还提供了一种坐标操作装置,主要 目的在于解决目前目前在进行坐标操作时,加密处理得不到执行,致使坐标 信息是明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的问题。 本技术实施例五通过解密第一坐标,以得到第二坐标,其中,第一坐标为加 密状态的初始坐标,第二坐标为明文状态的初始坐标;创建坐标加密对象, 其中,坐标加密对象包括坐标加密函数,坐标加密函数用于对明文状态的坐 标进行加密;对第二坐标进行坐标处理,以得到第三坐标,其中,第三坐标 为明文状态的目标坐标;坐标处理结束后销毁坐标加密对象,以通过坐标加 密对象的析构函数,执行坐标加密函数,得到第四坐标,其中,第四坐标为 加密状态的初始坐标或加密状态的目标坐标,实现坐标操作。上述方案能够 实现在坐标处理产生了异常或因坐标处理的一些逻辑导致程序退出了这个 坐标操作等情况下,加密处理都会被执行的技术效果,进而解决了目前在进 行坐标操作后,坐标以明文状态暴露在外的问题。
[0177]
实施例六
[0178]
本技术实施例六还提供了一种存储介质,其上存储有程序,该程序被处 理器执行时实现以下坐标操作方法:
[0179]
解密第一坐标,以得到第二坐标,其中,第一坐标为加密状态的初始坐 标,第二坐标为明文状态的初始坐标;
[0180]
创建坐标加密对象,其中,坐标加密对象可以包括坐标加密函数,坐标 加密函数用于对明文状态的坐标进行加密;
[0181]
对第二坐标进行坐标处理,以得到第三坐标,其中,第三坐标为明文状 态的目标坐标;
[0182]
坐标处理结束后销毁坐标加密对象,以通过坐标加密对象的析构函数, 执行坐标加密函数,得到第四坐标,其中,第四坐标为加密状态的初始坐标 或加密状态的目标坐标。
[0183]
优选的,坐标加密对象还可以包括:第一变量,其中,第一变量为布尔 型变量,第一变量用于设定是否执行坐标加密函数,第一变量为假时,执行 坐标加密函数,否则,不执行坐标加密函数。
[0184]
优选的,坐标加密对象还可以包括:第二变量,其中,第二变量为布尔 型变量,第二变量用于设定析构函数是否能够抛出异常,第二变量为假时, 析构函数能够抛出异常,否则,析构函数不能抛出异常。
[0185]
优选的,执行坐标加密函数的步骤,还可以包括:
[0186]
执行坐标加密函数,若第二变量为真,且执行坐标加密函数时产生异常, 则终止当前程序,否则,继续执行当前程序。
[0187]
优选的,坐标加密对象还可以包括:第三变量,其中,第三变量用于存 储创建坐标加密对象时的程序异常的数量。
[0188]
优选的,通过坐标加密对象的析构函数,执行坐标加密函数的步骤,还 可以包括:
[0189]
第二变量为假时,通过坐标加密对象的析构函数,获取第四变量,其中, 第四变量为析构函数执行时的程序异常的数量;
[0190]
若第三变量小于第四变量,则设定第一变量为真,不执行坐标加密函数, 否则,设定第一变量为假,执行坐标加密函数。
[0191]
优选的,通过坐标加密对象的析构函数,执行坐标加密函数的步骤,还 可以包括:
[0192]
第二变量为真时,通过坐标加密对象的析构函数,获取第五变量,其中, 第五变量为析构函数执行时的程序异常的数量;
[0193]
若第三变量不小于第五变量,则设定第一变量为真,不执行坐标加密函 数,否则,设定第一变量为假,执行坐标加密函数。
[0194]
实施例七
[0195]
本技术实施例七提供了一种电子设备60,如图6所示,设备包括至少 一个处理器601、以及与处理器连接的至少一个存储器602;其中,处理器 601用于调用存储器602中的程序指令,以执行实现上述坐标操作方法。
[0196]
借由上述技术方案,本技术实施例提供了一种坐标操作方法及相关装 置,主要目的在于解决目前在进行坐标操作时,加密处理得不到执行,致使 坐标信息是明文状态,从而产生在坐标操作后,坐标以明文状态暴露在外的 问题。本技术实施例一通过解密第一坐标,以得到第二坐标,其中,第一坐 标为加密状态的初始坐标,第二坐标为明文状态的初始坐标;创建坐标加密 对象,其中,坐标加密对象包括坐标加密函数,坐标加密函数用于对明文状 态的坐标进行加密;对第二坐标进行坐标处理,以得到第三坐标,其中,第 三坐标为明文状态的目标坐标;坐标处理结束后销毁坐标加密对象,以通过 坐标加密对象的析构函数,执行坐标加密函数,得到第四坐标,其中,第四 坐标为加密状态的初始坐标或加密状态的目标坐标,实现坐标操作。上述方 案能够实现在坐标处理产生了异常或因坐标处理的一些逻辑导致程序退出 了这个坐标操作等情况下,加密处理都会被执行的技术效果,进而解决了目 前在进行坐标操作后,坐标以明文状态暴露在外的问题。
[0197]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的;应理解可由计算机程序指令实现流 程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中 的流程和/或方框的结合;可提供这些计算机程序指令到通用计算机、专用 计算机、嵌入式处理机或其他可编程流程管理设备的处理器以产生一个机 器,使得通过计算机或其他可编程流程管理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框 中指定的功能的装置。
[0198]
在一个典型的配置中,电子设备可以包括一个或多个处理器(cpu)、存 储器和总线;电子设备还可以包括输入/输出接口、网络接口等。
[0199]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储 器(ram)
和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片;存储器是存储介质的示例。
[0200]
存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何 方法或技术来实现信息存储;信息可以是计算机可读指令、数据结构、程序 的模块或其他数据;计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、 其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程 只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储 器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁 带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可 以被计算设备访问的信息;按照本文中的界定,存储介质不包括暂存电脑可 读媒体(transitory media),如调制的数据信号和载波。
[0201]
本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第 三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定 的顺序或先后次序;应该理解这样使用的数据在适当情况下可以互换,以便 这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
[0202]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不 仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这 种过程、方法、商品或者设备所固有的要素;在没有更多限制的情况下,由 语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商 品或者设备中还存在另外的相同要素。
[0203]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机 程序产品;因此,本技术可采用完全硬件实施例、完全软件实施例或结合软 件和硬件方面的实施例的形式;而且,本技术可采用在一个或多个其中包含 有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0204]
可以由一种或多种程序设计语言或其组合来编写用于执行本技术实施 例操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言— —诸如common lisp、python、c 、objective-c、smalltalk、delphi、java、 swift、c#、perl、ruby、javascript和php等,还包括常规的过程式程序设 计语言——诸如fortran、algol、cobol、pl/i、basic、pascal和c等, 还包括其他任意一种编程语言——诸如lisp、tcl、prolog、visual basic.net、 sql和r等;程序代码可以完全地在用户计算机上执行、部分地在用户计 算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程 计算机上执行、或者完全在远程计算机或服务器上执行;在涉及远程计算机 的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或 广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例 如利用因特网服务提供商来通过因特网连接)。
[0205]
以上仅为本技术的实施例而已,并不用于限制本技术;对于本领域技术 人员来说,本技术可以有各种更改和变化;凡在本技术的精神和原理之内所 作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献