CN102945163A - 一种用于嵌入式系统的信号槽结构 - Google Patents
一种用于嵌入式系统的信号槽结构 Download PDFInfo
- Publication number
- CN102945163A CN102945163A CN2012104181878A CN201210418187A CN102945163A CN 102945163 A CN102945163 A CN 102945163A CN 2012104181878 A CN2012104181878 A CN 2012104181878A CN 201210418187 A CN201210418187 A CN 201210418187A CN 102945163 A CN102945163 A CN 102945163A
- Authority
- CN
- China
- Prior art keywords
- signal
- groove
- memory
- function
- embedded system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于嵌入式系统的信号槽结构,分为上下两层,上层为信号槽模块,下层为内存池模块,信号槽模块使用散列表对信号和槽进行管理,内存池模块用于创建内存池,给信号槽模块提供必要的内存用以存储信号和槽的相关数据,并且在信号和槽解除关联的时候回收所占用的内存。内存池模块通过建立一棵平衡二叉树(AVL树)对内存块进行管理,并基于伙伴(buddy)算法对内存进行分配和回收。本发明应用在嵌入式系统中能够有效的组织和管理信号和槽,并且查找对应信号的槽的时间复杂度为很小,无需像传统方法那样遍历整个函数列表查找目标函数,提高了函数的调用效率,能实现系统组件化编程并提高各个组件间的通信效率。
Description
技术领域
本发明涉及嵌入式系统,特别是涉及一种用于嵌入式系统的信号槽结构。
背景技术
信号槽这一概念最初来自奇趣科技公司的Qt库(现在已经被Nokia收购)。这一概念提出后便立刻引起计算机科学界的注意,提出了多种不同的实现方式。“信号”指的是一种标志或通知,“槽”指的是一个或多个的函数,信号与槽之间可以是一对一的关系,也可以是一对多或多对一的关系。信号槽机制是面向组件编程的一种强大的工具,它能够实现组件之间的交互,能够方便的在系统的一部分通知系统的另一部分完成相关操作。Qt库得到广泛的应用,至今信号槽依然是该库的核心之一,其他许多库也提供了类似的实现,甚至出现了一些专门提供这一机制的工具库。信号槽实际是与语言无关的,有很多方法都可以实现信号槽,不同的实现机制会导致信号槽差别很大,但是,用于通用操作系统中的Qt库等的信号槽,结构过于复杂,不能适用于嵌入式系统。
发明内容
为解决上述技术问题,本发明提供了一种能用于嵌入式系统的信号槽结构,与Qt库中的信号槽在原理上类似,但与其不同的是本发明的技术方案较为精简,适用于小型的嵌入式系统。
本发明提供的一种用于嵌入式系统的信号槽结构,包括信号槽模块和内存池模块,信号槽模块用于管理信号和槽,内存池模块用于创建和管理内存池,给信号槽模块提供内存用以存储信号和槽的关联信息。
信号槽模块包括:信号槽初始化单元,用于定义信号槽相关的头文件和相关槽的处理动作;关联信息调用单元,用于接收信号和槽的关联信息,并关联信号和槽;发送信号单元,用于向信号槽模块发送信号;解除关联单元,用于解除信号和槽的关联。
内存池模块包括:内存池初始化单元,用于给内存池模块配置内存,创建内存池;内存池销毁单元,用于释放内存池占用的内存。
关联信息调用单元包括关联信息调用接口,用于信号槽关联函数;发送信号单元包括发送信号接口,用于调用信号发送函数;解除关联单元包括解除关联信息调用接口,用于调用解除关联函数。
信号槽模块通过发送信号接口可以输入不同类型的多个信号,所述多个信号的的处理方法是:向内存池申请一块内存作为被调用函数的栈,并将信号保存于该栈中,被调用槽函数从该栈中获取信号信息。信号槽模块使用散列表存储信号和槽的关联信息,对信号和槽进行管理。
所述散列表的关键字为以一个字符串表示的信号名,表项为空项、或者为槽、或者为一条槽函数链表,若为槽函数链表则链表中的项目为槽函数。
所述散列表的某一表项所在位置根据以下散列函数计算得到:
其中Key为关键字键值,是信号中各个字符串的Ascii码相加的结果,signal(i)为信号中第i个字符串,N为信号中字符个数,L为散列表长度,H(key)为经过散列后信号所在的位置。
内存池模块通过建立一棵平衡二叉树对内存池中的内存管理单元进行管理,并基于伙伴算法根据所构建的伙伴结构对内存进行分配和回收。
本发明的有益效果:
1.本发明应用在嵌入式系统中能够有效的组织和管理信号和槽,并且查找对应信号的槽的时间复杂度为O(1),无需像传统方法那样遍历整个函数列表查找目标函数,信号槽机制的使用大大提高了函数的调用效率。
2.本发明用于嵌入式系统中能实现系统组件化编程并提高各个组件间的通信效率。
附图说明
图1 本发明所提供的信号槽结构的总体示意图
图2 信号、槽和内存池管理示意图
图3 本发明所提供的信号槽结构初始化和使用流程
图4 内存池初始化示意图
图5 伙伴算法初始化示意图
图6 信号槽结构测试例测试结果。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式进行详细描述。
参照图1,本发明所提供的一种用于嵌入式系统的信号槽结构,分为上下两层,上层为信号槽模块,下层为内存池模块。信号槽模块用于管理管理用户定义的信号和需要关联的槽(即槽函数),内存池模块用于创建和管理内存池,给信号槽模块提供必要的内存用以存储信号和槽的关联信息,并且在信号和槽解除关联的时候回收所占用的内存。
其中信号槽模块包括信号槽初始化单元、关联信息调用单元、发送信号单元、解除关联单元,内存池模块包括内存池初始化单元、内存池销毁单元。
信号槽模块对外提供三个重要的接口:关联信息调用单元上的关联信息调用接口connect、发送信号单元上的发送信号接口emit、解除关联单元上的解除关联信息调用接口disconnect。
上述信号槽模块的三个接口的作用如下:
A. 关联信息调用接口connect,用于调用信号槽关联函数connect函数,关联某一个信号和一个槽函数,并产生关联信息。当用户对某一个槽函数感兴趣,希望通过发送某一个信号便能调用该函数的时候,调用该函数即可使成为某信号的槽函数,调用connect函数执行信号槽关联的动作实际上是将保存有信号槽关联信息的一个数据结构插入散列表中,以信号作为关键字,槽函数作为散列值所链接的链表的元素。当应用程序发送已关联了某槽函数的信号时,系统将从散列表中查找该槽函数并执行该函数。
B. 解除关联信息调用接口disconnect,用于调用解除关联函数disconnect函数,该函数用于解除已经关联了的信号槽。该函数的输入参数是需要解除关系的信号名。如果该信号关联了多个槽函数,则所有与该信号相关联的槽函数都将会被解除关联关系。
C. 发送信号调用接口emit,用于调用信号发送函数emit函数,该函数用于向信号槽模块发送信号,该函数可以发送多个信号参数,这些信号都传给槽函数。与该信号相关联的所有槽函数都将得以执行。
如图2所示,在使用发送信号接口向信号槽模块发送信号的时候,可以传递多个不同的信号给槽函数执行,但是信号的个数和信号类型对于槽函数来说是未知的,在执行前是不确定的。需要在发送信号接口函数中对多信号进行处理。处理方法有两种:
A.由于调用者无法利用编译器将被调函数的参数放置在系统栈,故本方法的思路是:调用者先把参数放置到自己的堆内存上,然后实现一个堆栈转移,把上述的堆内存当作系统栈,供被调函数使用。当被调函数返回时,再恢复系统栈。调用过程中,调用者在调用函数前,预先申请一块堆内存(该内存可由内存池提供),用作被调用函数的栈,然后把被调用函数的参数按照编译器的约定放到栈顶,用目标函数指针和上述堆栈,调用跳转函数。跳转函数完成的功能是即是堆栈转移、调用和堆栈恢复。要实现这个跳转函数实际上是无法使用高级语言完成的,所以使用内嵌汇编实现。上述跳转函数的第一个参数为实际被调用的槽函数入口地址,即一个函数指针,第二个参数则为保存参数的堆内存。这种不确定参数的解决方法实际上牺牲了代码的可移植性。不同硬件平台由于指令集不尽相同,因此使用该方法时,对不同的硬件平台需要分别编写相关汇编代码用以处理不确定参数问题。
B.另一种方法是使用一个参数记录参数个数以及参数类型,然后根据不同参数个数和类型调用槽函数。该参数应为字符串类型,该参数中字符个数即为槽函数的输入参数个数。每个字符表示参数的类型,可以用字符“d”表示参数类型为整型;字符“c”表示参数类型为字符型;字符“l”表示参数类型为长整型。该方法虽然可以使用C语言编写代码实现,但需要计算参数个数并判别参数类型,与第一种方法相比,该方法的实现过程较为繁琐。
如图3所示为本发明所提供的一种用于嵌入式系统的信号槽结构的初始化和使用流程图,按照下述方式和步骤初始化并使用信号槽:
A.信号槽初始化单元进行信号槽相关的头文件和相关槽的处理动作的定义,包含信号槽结构相关的头文件,即:内存池头文件、信号的头文件和槽的头文件,其中在槽函数定义文件中定义了相关槽函数的处理动作。
B.内存池初始化单元调用内存池模块中的内存池创建函数进行内存池的创建,为信号槽模块提供内存来源,所创建的内存池容量大小可由用户自定义,优选的,所创建的内存池大小为10KB。若所创建内存池过大,硬件内存不足以分配这样一个内存池则信号槽初始化失败。若成功创建内存池则执行步骤C,若内存池创建不成功则初始化失败退出。
C.关联信息调用单元调用信号槽关联函数,接收信号和槽的关联信息,并关联信号和槽,若信号和槽全部关联成功则执行步骤D,若任何一对信号和槽关联不成功则初始化失败退出。
D.发送信号单元调用信号发送函数向信号槽模块发送信号,并调用执行与所发送的信号相关联的槽函数。
E.当需要再次调用某槽函数时重复步骤D,否则执行步骤F。
F.解除关联单元调用解除关联函数,解除信号槽的关联。
G. 内存池销毁单元,在信号槽不再需要使用的时候调用内存池释放函数,释放内存池占用的内存,销毁内存池。
如图2所示,上述信号槽模块通过发送信号接口可以输入不同类型的多个信号,并将这些信号传递给槽函数,所述发送信号接口对多个信号的处理方法是:向内存池申请一块内存作为被调用函数的栈,并将参数保存于该栈中,被调用函数从该栈中获取信号信息。
信号槽模块使用散列表存储信号和槽的关联信息,对信号与槽进行管理,并实现信号与槽之间一对一或一对多的映射关系。上述散列表的关键字为以一个字符串表示的信号名,表项为空项、或者为槽、或者为一条槽函数链表,若为槽函数链表则链表中的项目为槽函数。据计算表项所在位置的散列函数为:
其中Key为关键字的键值,是信号中各个字符串的Ascii码相加的结果,signal(i)为信号中第i个字符串,N为信号中字符个数,L为散列表长度,H(key)为经过散列后信号所在的位置。
将槽函数链接入散列表的时候需要申请内存块存储信号与槽之间的关联信息,以特定数据结构存储于申请的内存块中,因此信号槽的实现需要一套内存管理方法来实现内存的分配与回收。内存管理方法使用内存池来实现。自行设计内存管理方法是有必要的,一方面是因为系统中会出现反复的申请内存块再释放内存块的现象,如果使用通常的内存分配函数malloc以及内存释放函数free来管理内存,那么频繁调用这两个函数会产生内存碎片,内存碎片过多,再次调用malloc函数的时候会发现没有内存可再分配了;另一方面,在信号槽机制中,由于信号槽的数量是不确定的,散列表中存储信号槽关联信息的数据结构所占用的内存块数也是不确定的,最好是能动态的申请内存块来保存这些信息,在解除关联的时候则释放这些数据结构所占用的内存块。
信号槽在使用前需要先调用connect函数关联某信号和槽,被关联的信号和槽将在散列表中添加相应的关联信息,以便发送信号时在该散列表中找到与该信号相关联的槽并执行该槽。使用散列表这种结构的好处在于根据信号查找对应的槽的时候能够一次命中目标,时间复杂度为O(1),不必像常规查找方法那样遍历列表。在信号和槽数量较多的情况下,这种结构能够使得槽函数的调用效率不被削减。当定义的信号发生重复的时候,散列表的插入会产生冲突现象,即在表中插入位置相同,此时采取的解决冲突的方法是在表中的冲突位置使用链表,信号槽的关联信息作为链表项链入该链。
参照图4,上述内存池模块通过建立一棵平衡二叉树这种数据结构对内存块进行管理。内存池模块初始化后,内存池分为两部分,前半部分为可分配给申请者使用的可分配内存,被划分为多个内存管理单元chunk,后半部分用作存储内存管理单元对应的数据结构struct chunk。在内存池中,每个内存管理单元chunk都对应有一个保存其信息的数据结构struct chunk,内存管理单元chunk被当做叶子结点插入一棵平衡二叉树(AVL树),当用户释放曾经向内存池所申请的内存时,即使用内存池模块提供的内存释放函数释放某内存块时,将从这颗平衡二叉树上查找构成该内存块的第一块内存管理单元,并修改对应的数据结构struct chunk中的信息。使用平衡二叉树(AVL树)管理内存管理单元chunk,可不必每次查找时遍历所有的内存管理单元chunk,在平衡二叉树(AVL树)上查找目标的时间复杂度为O(log n),当内存管理单元chunk数量较多的情况下能有效的提高查找效率,降低查找时间。
参照图5,上述内存池模块基于伙伴(buddy)算法构建伙伴结构对内存进行分配和回收。在系统初始化的时候,预留一片内存,该内存经格式化后便可以作为内存池分配或回收内存块了。为了实现高效的内存分配与回收,使用了伙伴(buddy)算法构建伙伴结构作为内存池分配回收内存块的管理方法,具体为:一个伙伴(buddy)由一个或多个内存管理单元chunk构成的较为大块的内存(伙伴即为用户实际使用的内存),伙伴所占内存大小用阶数n衡量,每个伙伴由2n个内存管理单元chunk构成(由阶数n和内存管理单元chunk的大小则可计算出一个伙伴的大小)。每次向内存池申请(或放回)内存时以伙伴为单位分配(或回收)内存,当某一阶数的伙伴已经分配完后,则将高阶数的伙伴分割为两份,一份提供给申请者使用,一份则作为低阶数伙伴备用;当回收伙伴时,若发现该伙伴是从高阶的伙伴分配而来的,则需要找到其另一半并将它们合并归还高阶伙伴链表。
优选的,初始化后的伙伴结构,设置了从0至9共十个阶数的伙伴链表。用n表示阶数则n=0、1、……或9,n阶伙伴链表上的伙伴由2n个内存管理单元chunk构成。部分阶数的伙伴链表为空链,优先填满最低阶0阶、最高阶9阶的链表,因为这两个阶数的伙伴使用率最高。若申请中间阶数的伙伴则将最高阶的伙伴分割使用。
图6所示,为上述信号槽结构的测试用例在x86体系结构的计算机上使用gcc编译后运行的结果。在pool information中列出了内存池的各项信息,包括内存池占用的总内存大小、划分出的内存管理单元chunk总数、内存池的内存起始地址、内存池可分配内存的容量等等。按照上述的测试用例,关联三对信号槽后依次发送信号,参照图6,可看到槽函数的调用结果。
Claims (12)
1.一种用于嵌入式系统的信号槽结构,其特征在于包括信号槽模块和内存池模块,所述信号槽模块用于管理信号和槽,所述内存池模块用于创建和管理内存池,给信号槽模块提供内存用以存储信号和槽的关联信息。
2.根据权利要求1所述的一种用于嵌入式系统的信号槽结构,其特征在于,
所述信号槽模块包括:
信号槽初始化单元,用于定义信号槽相关的头文件和相关槽的处理动作;
关联信息调用单元,用于接收信号和槽的关联信息,并关联信号和槽;
发送信号单元,用于向信号槽模块发送信号;
解除关联单元,用于解除信号和槽的关联;
所述内存池模块包括:
内存池初始化单元,用于给内存池模块配置内存,创建内存池;
内存池销毁单元,用于释放内存池占用的内存。
3.根据权利要求2所述的一种用于嵌入式系统的信号槽结构,其特征在于所述的关联信息调用单元包括关联信息调用接口,用于调用信号槽关联函数;所述发送信号单元包括发送信号调用接口,用于发送信号函数;所述解除关联单元包括解除关联信息调用接口,用于调用解除关联函数。
4.根据权利要求1所述的一种用于嵌入式系统的信号槽结构,其特征在于所述信号槽模块通过发送信号接口可以输入不同类型的多个信号,所述多个信号的的处理方法是:向内存池申请一块内存作为被调用函数的栈,并将信号保存于该栈中,被调用函数从该栈中获取信号信息。
5.根据权利要求1-4之一所述的一种用于嵌入式系统的信号槽结构,其特征在于信号槽模块使用散列表存储信号和槽的关联信息,对信号和槽进行管理。
6.根据权利要求5所述一种用于嵌入式系统的信号槽结构,其特征在于所述散列表的关键字为以一个字符串表示的信号名,表项为空项、或者为槽、或者为一条槽函数链表,若为槽函数链表则链表中的项目为槽函数。
8.根据权利要求1、2、3、4之一所述的一种用于嵌入式系统的信号槽结构,其特征在于所述内存池模块通过建立一棵平衡二叉树对内存池中的内存管理单元进行管理,并基于伙伴算法根据所构建的伙伴结构对内存进行分配和回收。
9.根据权利要求5所述的一种用于嵌入式系统的信号槽结构,其特征在于所述内存池模块通过建立一棵平衡二叉树对内存池中的内存管理单元进行管理,并基于伙伴算法根据所构建的伙伴结构对内存进行分配和回收。
10.根据权利要求8所述的一种用于嵌入式系统的信号槽结构,其特征在于所述伙伴结构中设置十个阶数的伙伴链表。
11.根据权利要求9所述的一种用于嵌入式系统的信号槽结构,其特征在于所述伙伴结构中设置十个阶数的伙伴链表。
12.根据权利要求1、2所述的一种用于嵌入式系统的信号槽结构,其特征在于所述内存池的大小为10KB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104181878A CN102945163A (zh) | 2012-10-29 | 2012-10-29 | 一种用于嵌入式系统的信号槽结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104181878A CN102945163A (zh) | 2012-10-29 | 2012-10-29 | 一种用于嵌入式系统的信号槽结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102945163A true CN102945163A (zh) | 2013-02-27 |
Family
ID=47728112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104181878A Pending CN102945163A (zh) | 2012-10-29 | 2012-10-29 | 一种用于嵌入式系统的信号槽结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102945163A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933683A (zh) * | 2017-03-07 | 2017-07-07 | 深圳市盛弘电气股份有限公司 | 用于不同对象间信号与槽函数的通信方法及装置 |
CN108108170A (zh) * | 2018-01-04 | 2018-06-01 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及系统 |
CN109976838A (zh) * | 2018-11-29 | 2019-07-05 | 深圳市技达信息技术有限公司 | 解耦合的方法、及计算机可读存储介质 |
CN111522658A (zh) * | 2020-04-14 | 2020-08-11 | 西云图科技(北京)有限公司 | 一种水务系统的内存管理方法 |
CN112084024A (zh) * | 2020-08-31 | 2020-12-15 | 北京字节跳动网络技术有限公司 | 一种内存监控方法、装置、介质和电子设备 |
CN112328389A (zh) * | 2020-10-12 | 2021-02-05 | 长沙新弘软件有限公司 | 一种用于二叉树添加和删除结点的内存分配方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635494A (zh) * | 2003-12-27 | 2005-07-06 | 海信集团有限公司 | 实现类内存数据库存取和检索的方法 |
-
2012
- 2012-10-29 CN CN2012104181878A patent/CN102945163A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635494A (zh) * | 2003-12-27 | 2005-07-06 | 海信集团有限公司 | 实现类内存数据库存取和检索的方法 |
Non-Patent Citations (4)
Title |
---|
YU REN,JUN QIU: ""Embedded GUI Design Using Signal-Slot Communication Mechanism"", 《SOFTWARE ENGINEERING 2009 WCSE 09 WRI WORLD CONGRESS ON》 * |
李亚峰等: "《ARM嵌入式Linux系统开发从入门到精通》", 31 August 2009, article "第11章Qt核心技术" * |
李亚峰等: "《ARM嵌入式Linux系统开发从入门到精通》", 31 August 2009, 清华大学出版社 * |
李善平等: "《LINUX与嵌入式系统(第2版)》", 31 March 2006, 清华大学出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933683A (zh) * | 2017-03-07 | 2017-07-07 | 深圳市盛弘电气股份有限公司 | 用于不同对象间信号与槽函数的通信方法及装置 |
CN108108170A (zh) * | 2018-01-04 | 2018-06-01 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及系统 |
CN108108170B (zh) * | 2018-01-04 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及系统 |
CN109976838A (zh) * | 2018-11-29 | 2019-07-05 | 深圳市技达信息技术有限公司 | 解耦合的方法、及计算机可读存储介质 |
CN111522658A (zh) * | 2020-04-14 | 2020-08-11 | 西云图科技(北京)有限公司 | 一种水务系统的内存管理方法 |
CN112084024A (zh) * | 2020-08-31 | 2020-12-15 | 北京字节跳动网络技术有限公司 | 一种内存监控方法、装置、介质和电子设备 |
CN112084024B (zh) * | 2020-08-31 | 2024-02-02 | 北京字节跳动网络技术有限公司 | 一种内存监控方法、装置、介质和电子设备 |
CN112328389A (zh) * | 2020-10-12 | 2021-02-05 | 长沙新弘软件有限公司 | 一种用于二叉树添加和删除结点的内存分配方法 |
CN112328389B (zh) * | 2020-10-12 | 2024-04-30 | 长沙新弘软件有限公司 | 一种用于二叉树添加和删除结点的内存分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102945163A (zh) | 一种用于嵌入式系统的信号槽结构 | |
EP3321819B1 (en) | Device, method and program for securely reducing an amount of records in a database | |
US8261020B2 (en) | Cache enumeration and indexing | |
CN103793514B (zh) | 数据库同步方法及数据库 | |
CN100454311C (zh) | 基于sql的数据同步方法及装置 | |
US20130191523A1 (en) | Real-time analytics for large data sets | |
CN103905508B (zh) | 云平台应用部署方法及装置 | |
CN108427601A (zh) | 一种私有链节点的集群交易处理方法 | |
CN101763415B (zh) | 一种数据库的b树索引的生成方法及装置 | |
CN101968772B (zh) | 嵌入式系统高效内存池的实现方法 | |
CN104317957B (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN103440285B (zh) | 大型手机游戏系统及其数据库更新方法 | |
CN110473030A (zh) | 基于区块链的电子票据号码申领方法及装置、电子设备 | |
JP6975153B2 (ja) | データ格納サービス処理方法及び装置 | |
US8793257B2 (en) | Method for improving the effectiveness of hash-based data structures | |
CN109241056B (zh) | 一种用于分布式系统的数字id生成系统 | |
CN110930145A (zh) | 冷钱包生成方法、交易信息处理方法、设备及存储介质 | |
CN106133706A (zh) | 用于多级存储器系统中的存储器分配的系统和方法 | |
CN105447166A (zh) | 一种基于关键字查找信息的方法及系统 | |
CN103268270A (zh) | 快照的管理方法和装置 | |
CN106547646A (zh) | 一种数据备份及恢复方法、数据备份及恢复装置 | |
CN108415912A (zh) | 基于MapReduce模型的数据处理方法和设备 | |
CN108958969B (zh) | 数据库灾备方法、装置及灾备系统 | |
CN103414762A (zh) | 云备份方法和装置 | |
CN105373376A (zh) | 用于配置软件应用的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130227 |